Message ID | 1625585434-9562-1-git-send-email-khsieh@codeaurora.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v3] drm/dp_mst: Fix return code on sideband message failure | expand |
On Tue, 06 Jul 2021, Kuogee Hsieh <khsieh@codeaurora.org> wrote: > From: Rajkumar Subbiah <rsubbia@codeaurora.org> > > Commit 2f015ec6eab6 ("drm/dp_mst: Add sideband down request tracing + > selftests") added some debug code for sideband message tracing. But > it seems to have unintentionally changed the behavior on sideband message > failure. It catches and returns failure only if DRM_UT_DP is enabled. > Otherwise it ignores the error code and returns success. So on an MST > unplug, the caller is unaware that the clear payload message failed and > ends up waiting for 4 seconds for the response. Fixes the issue by > returning the proper error code. > > Changes in V2: > -- Revise commit text as review comment > -- add Fixes text > > Changes in V3: > -- remove "unlikely" optimization > > Fixes: 2f015ec6eab6 ("drm/dp_mst: Add sideband down request tracing + selftests") > > Signed-off-by: Rajkumar Subbiah <rsubbia@codeaurora.org> > Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org> > > Reviewed-by: Stephen Boyd <swboyd@chromium.org> Reviewed-by: Jani Nikula <jani.nikula@intel.com> > --- > drivers/gpu/drm/drm_dp_mst_topology.c | 10 ++++++---- > 1 file changed, 6 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c > index 1590144..df91110 100644 > --- a/drivers/gpu/drm/drm_dp_mst_topology.c > +++ b/drivers/gpu/drm/drm_dp_mst_topology.c > @@ -2887,11 +2887,13 @@ static int process_single_tx_qlock(struct drm_dp_mst_topology_mgr *mgr, > idx += tosend + 1; > > ret = drm_dp_send_sideband_msg(mgr, up, chunk, idx); > - if (unlikely(ret) && drm_debug_enabled(DRM_UT_DP)) { > - struct drm_printer p = drm_debug_printer(DBG_PREFIX); > + if (ret) { > + if (drm_debug_enabled(DRM_UT_DP)) { > + struct drm_printer p = drm_debug_printer(DBG_PREFIX); > > - drm_printf(&p, "sideband msg failed to send\n"); > - drm_dp_mst_dump_sideband_msg_tx(&p, txmsg); > + drm_printf(&p, "sideband msg failed to send\n"); > + drm_dp_mst_dump_sideband_msg_tx(&p, txmsg); > + } > return ret; > }
On 2021-07-07 01:37, Jani Nikula wrote: > On Tue, 06 Jul 2021, Kuogee Hsieh <khsieh@codeaurora.org> wrote: >> From: Rajkumar Subbiah <rsubbia@codeaurora.org> >> >> Commit 2f015ec6eab6 ("drm/dp_mst: Add sideband down request tracing + >> selftests") added some debug code for sideband message tracing. But >> it seems to have unintentionally changed the behavior on sideband >> message >> failure. It catches and returns failure only if DRM_UT_DP is enabled. >> Otherwise it ignores the error code and returns success. So on an MST >> unplug, the caller is unaware that the clear payload message failed >> and >> ends up waiting for 4 seconds for the response. Fixes the issue by >> returning the proper error code. >> >> Changes in V2: >> -- Revise commit text as review comment >> -- add Fixes text >> >> Changes in V3: >> -- remove "unlikely" optimization >> >> Fixes: 2f015ec6eab6 ("drm/dp_mst: Add sideband down request tracing + >> selftests") >> >> Signed-off-by: Rajkumar Subbiah <rsubbia@codeaurora.org> >> Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org> >> >> Reviewed-by: Stephen Boyd <swboyd@chromium.org> > > Reviewed-by: Jani Nikula <jani.nikula@intel.com> > > >> --- Lyude, Any comments from you? Thanks, >> drivers/gpu/drm/drm_dp_mst_topology.c | 10 ++++++---- >> 1 file changed, 6 insertions(+), 4 deletions(-) >> >> diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c >> b/drivers/gpu/drm/drm_dp_mst_topology.c >> index 1590144..df91110 100644 >> --- a/drivers/gpu/drm/drm_dp_mst_topology.c >> +++ b/drivers/gpu/drm/drm_dp_mst_topology.c >> @@ -2887,11 +2887,13 @@ static int process_single_tx_qlock(struct >> drm_dp_mst_topology_mgr *mgr, >> idx += tosend + 1; >> >> ret = drm_dp_send_sideband_msg(mgr, up, chunk, idx); >> - if (unlikely(ret) && drm_debug_enabled(DRM_UT_DP)) { >> - struct drm_printer p = drm_debug_printer(DBG_PREFIX); >> + if (ret) { >> + if (drm_debug_enabled(DRM_UT_DP)) { >> + struct drm_printer p = drm_debug_printer(DBG_PREFIX); >> >> - drm_printf(&p, "sideband msg failed to send\n"); >> - drm_dp_mst_dump_sideband_msg_tx(&p, txmsg); >> + drm_printf(&p, "sideband msg failed to send\n"); >> + drm_dp_mst_dump_sideband_msg_tx(&p, txmsg); >> + } >> return ret; >> }
On Tue, 2021-07-13 at 15:24 -0700, khsieh@codeaurora.org wrote: > On 2021-07-07 01:37, Jani Nikula wrote: > > On Tue, 06 Jul 2021, Kuogee Hsieh <khsieh@codeaurora.org> wrote: > > > From: Rajkumar Subbiah <rsubbia@codeaurora.org> > > > > > > Commit 2f015ec6eab6 ("drm/dp_mst: Add sideband down request tracing + > > > selftests") added some debug code for sideband message tracing. But > > > it seems to have unintentionally changed the behavior on sideband > > > message > > > failure. It catches and returns failure only if DRM_UT_DP is enabled. > > > Otherwise it ignores the error code and returns success. So on an MST > > > unplug, the caller is unaware that the clear payload message failed > > > and > > > ends up waiting for 4 seconds for the response. Fixes the issue by > > > returning the proper error code. > > > > > > Changes in V2: > > > -- Revise commit text as review comment > > > -- add Fixes text > > > > > > Changes in V3: > > > -- remove "unlikely" optimization > > > > > > Fixes: 2f015ec6eab6 ("drm/dp_mst: Add sideband down request tracing + > > > selftests") > > > > > > Signed-off-by: Rajkumar Subbiah <rsubbia@codeaurora.org> > > > Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org> > > > > > > Reviewed-by: Stephen Boyd <swboyd@chromium.org> > > > > Reviewed-by: Jani Nikula <jani.nikula@intel.com> > > > > > > > --- > Lyude, > Any comments from you? > Thanks, Hey! Sorry did I forget to respond to this? Reviewed-by: Lyude Paul <lyude@redhat.com> > > > > drivers/gpu/drm/drm_dp_mst_topology.c | 10 ++++++---- > > > 1 file changed, 6 insertions(+), 4 deletions(-) > > > > > > diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c > > > b/drivers/gpu/drm/drm_dp_mst_topology.c > > > index 1590144..df91110 100644 > > > --- a/drivers/gpu/drm/drm_dp_mst_topology.c > > > +++ b/drivers/gpu/drm/drm_dp_mst_topology.c > > > @@ -2887,11 +2887,13 @@ static int process_single_tx_qlock(struct > > > drm_dp_mst_topology_mgr *mgr, > > > idx += tosend + 1; > > > > > > ret = drm_dp_send_sideband_msg(mgr, up, chunk, idx); > > > - if (unlikely(ret) && drm_debug_enabled(DRM_UT_DP)) { > > > - struct drm_printer p = drm_debug_printer(DBG_PREFIX); > > > + if (ret) { > > > + if (drm_debug_enabled(DRM_UT_DP)) { > > > + struct drm_printer p = > > > drm_debug_printer(DBG_PREFIX); > > > > > > - drm_printf(&p, "sideband msg failed to send\n"); > > > - drm_dp_mst_dump_sideband_msg_tx(&p, txmsg); > > > + drm_printf(&p, "sideband msg failed to send\n"); > > > + drm_dp_mst_dump_sideband_msg_tx(&p, txmsg); > > > + } > > > return ret; > > > } >
On 2021-07-22 10:53, Lyude Paul wrote: > On Tue, 2021-07-13 at 15:24 -0700, khsieh@codeaurora.org wrote: >> On 2021-07-07 01:37, Jani Nikula wrote: >> > On Tue, 06 Jul 2021, Kuogee Hsieh <khsieh@codeaurora.org> wrote: >> > > From: Rajkumar Subbiah <rsubbia@codeaurora.org> >> > > >> > > Commit 2f015ec6eab6 ("drm/dp_mst: Add sideband down request tracing + >> > > selftests") added some debug code for sideband message tracing. But >> > > it seems to have unintentionally changed the behavior on sideband >> > > message >> > > failure. It catches and returns failure only if DRM_UT_DP is enabled. >> > > Otherwise it ignores the error code and returns success. So on an MST >> > > unplug, the caller is unaware that the clear payload message failed >> > > and >> > > ends up waiting for 4 seconds for the response. Fixes the issue by >> > > returning the proper error code. >> > > >> > > Changes in V2: >> > > -- Revise commit text as review comment >> > > -- add Fixes text >> > > >> > > Changes in V3: >> > > -- remove "unlikely" optimization >> > > >> > > Fixes: 2f015ec6eab6 ("drm/dp_mst: Add sideband down request tracing + >> > > selftests") >> > > >> > > Signed-off-by: Rajkumar Subbiah <rsubbia@codeaurora.org> >> > > Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org> >> > > >> > > Reviewed-by: Stephen Boyd <swboyd@chromium.org> >> > >> > Reviewed-by: Jani Nikula <jani.nikula@intel.com> >> > >> > >> > > --- >> Lyude, >> Any comments from you? >> Thanks, > > Hey! Sorry did I forget to respond to this? > > Reviewed-by: Lyude Paul <lyude@redhat.com> > It looks like this patch is good to go (mainlined). Anything needed from me to do? Thanks, >> >> > > drivers/gpu/drm/drm_dp_mst_topology.c | 10 ++++++---- >> > > 1 file changed, 6 insertions(+), 4 deletions(-) >> > > >> > > diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c >> > > b/drivers/gpu/drm/drm_dp_mst_topology.c >> > > index 1590144..df91110 100644 >> > > --- a/drivers/gpu/drm/drm_dp_mst_topology.c >> > > +++ b/drivers/gpu/drm/drm_dp_mst_topology.c >> > > @@ -2887,11 +2887,13 @@ static int process_single_tx_qlock(struct >> > > drm_dp_mst_topology_mgr *mgr, >> > > idx += tosend + 1; >> > > >> > > ret = drm_dp_send_sideband_msg(mgr, up, chunk, idx); >> > > - if (unlikely(ret) && drm_debug_enabled(DRM_UT_DP)) { >> > > - struct drm_printer p = drm_debug_printer(DBG_PREFIX); >> > > + if (ret) { >> > > + if (drm_debug_enabled(DRM_UT_DP)) { >> > > + struct drm_printer p = >> > > drm_debug_printer(DBG_PREFIX); >> > > >> > > - drm_printf(&p, "sideband msg failed to send\n"); >> > > - drm_dp_mst_dump_sideband_msg_tx(&p, txmsg); >> > > + drm_printf(&p, "sideband msg failed to send\n"); >> > > + drm_dp_mst_dump_sideband_msg_tx(&p, txmsg); >> > > + } >> > > return ret; >> > > } >>
On Thu, 2021-07-22 at 15:28 -0700, khsieh@codeaurora.org wrote: > > It looks like this patch is good to go (mainlined). > Anything needed from me to do? > Thanks, Do you have access for pushing this patch? If not let me know and I can go ahead and push it to drm-misc-next for you.
On 2021-07-27 12:21, Lyude Paul wrote: > On Thu, 2021-07-22 at 15:28 -0700, khsieh@codeaurora.org wrote: >> >> It looks like this patch is good to go (mainlined). >> Anything needed from me to do? >> Thanks, > > Do you have access for pushing this patch? If not let me know and I can > go > ahead and push it to drm-misc-next for you. no, I do not have access to drm-misc-next. Please push it for me. Thanks a lots.
Nice timing, you literally got me as I was 2 minutes away from leaving work for the day :P. I will go ahead and push it now. BTW - in the future I recommend using dim to add Fixes: tags as it'll add Cc: to stable as appropriate (this patch in particular should be Cc: stable@vger.kernel.org # v5.3+). will add these tags when I push it On Tue, 2021-07-27 at 15:41 -0700, khsieh@codeaurora.org wrote: > On 2021-07-27 12:21, Lyude Paul wrote: > > On Thu, 2021-07-22 at 15:28 -0700, khsieh@codeaurora.org wrote: > > > > > > It looks like this patch is good to go (mainlined). > > > Anything needed from me to do? > > > Thanks, > > > > Do you have access for pushing this patch? If not let me know and I can > > go > > ahead and push it to drm-misc-next for you. > no, I do not have access to drm-misc-next. > Please push it for me. > Thanks a lots. >
On 2021-07-27 15:44, Lyude Paul wrote: > Nice timing, you literally got me as I was 2 minutes away from leaving > work > for the day :P. I will go ahead and push it now. > Hi Lyude, Had you pushed this patch yet? We still did not see this patch at msm-nex and v5.10 branch. Thanks, > BTW - in the future I recommend using dim to add Fixes: tags as it'll > add Cc: > to stable as appropriate (this patch in particular should be Cc: > stable@vger.kernel.org # v5.3+). will add these tags when I push it > > On Tue, 2021-07-27 at 15:41 -0700, khsieh@codeaurora.org wrote: >> On 2021-07-27 12:21, Lyude Paul wrote: >> > On Thu, 2021-07-22 at 15:28 -0700, khsieh@codeaurora.org wrote: >> > > >> > > It looks like this patch is good to go (mainlined). >> > > Anything needed from me to do? >> > > Thanks, >> > >> > Do you have access for pushing this patch? If not let me know and I can >> > go >> > ahead and push it to drm-misc-next for you. >> no, I do not have access to drm-misc-next. >> Please push it for me. >> Thanks a lots. >>
The patch was pushed yes (was part of drm-misc-next-2021-07-29), seems like it just hasn't trickled down to linus's branch quite yet. On Wed, 2021-08-25 at 09:06 -0700, khsieh@codeaurora.org wrote: > On 2021-07-27 15:44, Lyude Paul wrote: > > Nice timing, you literally got me as I was 2 minutes away from leaving > > work > > for the day :P. I will go ahead and push it now. > > > Hi Lyude, > > Had you pushed this patch yet? > We still did not see this patch at msm-nex and v5.10 branch. > Thanks, > > > > BTW - in the future I recommend using dim to add Fixes: tags as it'll > > add Cc: > > to stable as appropriate (this patch in particular should be Cc: > > stable@vger.kernel.org # v5.3+). will add these tags when I push it > > > > On Tue, 2021-07-27 at 15:41 -0700, khsieh@codeaurora.org wrote: > > > On 2021-07-27 12:21, Lyude Paul wrote: > > > > On Thu, 2021-07-22 at 15:28 -0700, khsieh@codeaurora.org wrote: > > > > > > > > > > It looks like this patch is good to go (mainlined). > > > > > Anything needed from me to do? > > > > > Thanks, > > > > > > > > Do you have access for pushing this patch? If not let me know and I > > > > can > > > > go > > > > ahead and push it to drm-misc-next for you. > > > no, I do not have access to drm-misc-next. > > > Please push it for me. > > > Thanks a lots. > > > >
On 2021-08-25 09:26, Lyude Paul wrote: > The patch was pushed yes (was part of drm-misc-next-2021-07-29), seems > like it > just hasn't trickled down to linus's branch quite yet. Hi Stephen B, Would you mind back porting this patch to V5.10 branch? It will have lots of helps for us to support display port MST case. Thanks, > > On Wed, 2021-08-25 at 09:06 -0700, khsieh@codeaurora.org wrote: >> On 2021-07-27 15:44, Lyude Paul wrote: >> > Nice timing, you literally got me as I was 2 minutes away from leaving >> > work >> > for the day :P. I will go ahead and push it now. >> > >> Hi Lyude, >> >> Had you pushed this patch yet? >> We still did not see this patch at msm-nex and v5.10 branch. >> Thanks, >> >> >> > BTW - in the future I recommend using dim to add Fixes: tags as it'll >> > add Cc: >> > to stable as appropriate (this patch in particular should be Cc: >> > stable@vger.kernel.org # v5.3+). will add these tags when I push it >> > >> > On Tue, 2021-07-27 at 15:41 -0700, khsieh@codeaurora.org wrote: >> > > On 2021-07-27 12:21, Lyude Paul wrote: >> > > > On Thu, 2021-07-22 at 15:28 -0700, khsieh@codeaurora.org wrote: >> > > > > >> > > > > It looks like this patch is good to go (mainlined). >> > > > > Anything needed from me to do? >> > > > > Thanks, >> > > > >> > > > Do you have access for pushing this patch? If not let me know and I >> > > > can >> > > > go >> > > > ahead and push it to drm-misc-next for you. >> > > no, I do not have access to drm-misc-next. >> > > Please push it for me. >> > > Thanks a lots. >> > > >>
On Mon, 2021-08-30 at 08:56 -0700, khsieh@codeaurora.org wrote: > On 2021-08-25 09:26, Lyude Paul wrote: > > The patch was pushed yes (was part of drm-misc-next-2021-07-29), seems > > like it > > just hasn't trickled down to linus's branch quite yet. > > Hi Stephen B, > > Would you mind back porting this patch to V5.10 branch? > It will have lots of helps for us to support display port MST case. > Thanks, I'm assuming you're talking to someone else? A little confused because I don't see a Stephen B in this thread > > > > > > > On Wed, 2021-08-25 at 09:06 -0700, khsieh@codeaurora.org wrote: > > > On 2021-07-27 15:44, Lyude Paul wrote: > > > > Nice timing, you literally got me as I was 2 minutes away from leaving > > > > work > > > > for the day :P. I will go ahead and push it now. > > > > > > > Hi Lyude, > > > > > > Had you pushed this patch yet? > > > We still did not see this patch at msm-nex and v5.10 branch. > > > Thanks, > > > > > > > > > > BTW - in the future I recommend using dim to add Fixes: tags as it'll > > > > add Cc: > > > > to stable as appropriate (this patch in particular should be Cc: > > > > stable@vger.kernel.org # v5.3+). will add these tags when I push it > > > > > > > > On Tue, 2021-07-27 at 15:41 -0700, khsieh@codeaurora.org wrote: > > > > > On 2021-07-27 12:21, Lyude Paul wrote: > > > > > > On Thu, 2021-07-22 at 15:28 -0700, khsieh@codeaurora.org wrote: > > > > > > > > > > > > > > It looks like this patch is good to go (mainlined). > > > > > > > Anything needed from me to do? > > > > > > > Thanks, > > > > > > > > > > > > Do you have access for pushing this patch? If not let me know and > > > > > > I > > > > > > can > > > > > > go > > > > > > ahead and push it to drm-misc-next for you. > > > > > no, I do not have access to drm-misc-next. > > > > > Please push it for me. > > > > > Thanks a lots. > > > > > > > > >
Quoting Lyude Paul (2021-08-30 09:58:01) > On Mon, 2021-08-30 at 08:56 -0700, khsieh@codeaurora.org wrote: > > On 2021-08-25 09:26, Lyude Paul wrote: > > > The patch was pushed yes (was part of drm-misc-next-2021-07-29), seems > > > like it > > > just hasn't trickled down to linus's branch quite yet. > > > > Hi Stephen B, > > > > Would you mind back porting this patch to V5.10 branch? > > It will have lots of helps for us to support display port MST case. > > Thanks, If the patch is tagged for stable then it will automatically be backported to the 5.10 stable release, or at least attempted. If you don't see it in the stable tree but it's in Linus' tree then you can submit the patch directly to stable. See Documentation/process/stable-kernel-rules.rst for more info. > > I'm assuming you're talking to someone else? A little confused because I don't > see a Stephen B in this thread I assume it is me.
On 2021-08-30 09:58, Lyude Paul wrote: > On Mon, 2021-08-30 at 08:56 -0700, khsieh@codeaurora.org wrote: >> On 2021-08-25 09:26, Lyude Paul wrote: >> > The patch was pushed yes (was part of drm-misc-next-2021-07-29), seems >> > like it >> > just hasn't trickled down to linus's branch quite yet. >> >> Hi Stephen B, >> >> Would you mind back porting this patch to V5.10 branch? >> It will have lots of helps for us to support display port MST case. >> Thanks, > > I'm assuming you're talking to someone else? A little confused because > I don't > see a Stephen B in this thread Yes, I am asking Stephen B (swbody@chromium.org) helps to back port this patch to v5.10. > >> >> >> >> > >> > On Wed, 2021-08-25 at 09:06 -0700, khsieh@codeaurora.org wrote: >> > > On 2021-07-27 15:44, Lyude Paul wrote: >> > > > Nice timing, you literally got me as I was 2 minutes away from leaving >> > > > work >> > > > for the day :P. I will go ahead and push it now. >> > > > >> > > Hi Lyude, >> > > >> > > Had you pushed this patch yet? >> > > We still did not see this patch at msm-nex and v5.10 branch. >> > > Thanks, >> > > >> > > >> > > > BTW - in the future I recommend using dim to add Fixes: tags as it'll >> > > > add Cc: >> > > > to stable as appropriate (this patch in particular should be Cc: >> > > > stable@vger.kernel.org # v5.3+). will add these tags when I push it >> > > > >> > > > On Tue, 2021-07-27 at 15:41 -0700, khsieh@codeaurora.org wrote: >> > > > > On 2021-07-27 12:21, Lyude Paul wrote: >> > > > > > On Thu, 2021-07-22 at 15:28 -0700, khsieh@codeaurora.org wrote: >> > > > > > > >> > > > > > > It looks like this patch is good to go (mainlined). >> > > > > > > Anything needed from me to do? >> > > > > > > Thanks, >> > > > > > >> > > > > > Do you have access for pushing this patch? If not let me know and >> > > > > > I >> > > > > > can >> > > > > > go >> > > > > > ahead and push it to drm-misc-next for you. >> > > > > no, I do not have access to drm-misc-next. >> > > > > Please push it for me. >> > > > > Thanks a lots. >> > > > > >> > > >>
diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c index 1590144..df91110 100644 --- a/drivers/gpu/drm/drm_dp_mst_topology.c +++ b/drivers/gpu/drm/drm_dp_mst_topology.c @@ -2887,11 +2887,13 @@ static int process_single_tx_qlock(struct drm_dp_mst_topology_mgr *mgr, idx += tosend + 1; ret = drm_dp_send_sideband_msg(mgr, up, chunk, idx); - if (unlikely(ret) && drm_debug_enabled(DRM_UT_DP)) { - struct drm_printer p = drm_debug_printer(DBG_PREFIX); + if (ret) { + if (drm_debug_enabled(DRM_UT_DP)) { + struct drm_printer p = drm_debug_printer(DBG_PREFIX); - drm_printf(&p, "sideband msg failed to send\n"); - drm_dp_mst_dump_sideband_msg_tx(&p, txmsg); + drm_printf(&p, "sideband msg failed to send\n"); + drm_dp_mst_dump_sideband_msg_tx(&p, txmsg); + } return ret; }