Message ID | 20250416000208.3568635-2-swboyd@chromium.org |
---|---|
State | New |
Headers | show |
Series | platform/chrome: Support for USB DP altmode muxing w/ DT | expand |
On 16/04/2025 03:02, Stephen Boyd wrote: > If we aren't expecting a status update when > cros_typec_displayport_status_update() is called then we're handling an > attention message, like HPD high/low or IRQ. Call > typec_altmode_attention() in this case so that HPD signaling works in > the DP altmode driver. Fixes? > > Cc: Benson Leung <bleung@chromium.org> > Cc: Tzung-Bi Shih <tzungbi@kernel.org> > Cc: <chrome-platform@lists.linux.dev> > Cc: Pin-yen Lin <treapking@chromium.org> > Cc: Abhishek Pandit-Subedi <abhishekpandit@chromium.org> > Cc: Łukasz Bartosik <ukaszb@chromium.org> > Cc: Jameson Thies <jthies@google.com> > Cc: Andrei Kuchynski <akuchynski@chromium.org> > Signed-off-by: Stephen Boyd <swboyd@chromium.org> > --- > drivers/platform/chrome/cros_typec_altmode.c | 7 ++----- > 1 file changed, 2 insertions(+), 5 deletions(-) > > diff --git a/drivers/platform/chrome/cros_typec_altmode.c b/drivers/platform/chrome/cros_typec_altmode.c > index 557340b53af0..c2d9c548b5e8 100644 > --- a/drivers/platform/chrome/cros_typec_altmode.c > +++ b/drivers/platform/chrome/cros_typec_altmode.c > @@ -280,11 +280,8 @@ int cros_typec_displayport_status_update(struct typec_altmode *altmode, > typec_altmode_get_drvdata(altmode); > struct cros_typec_altmode_data *adata = &dp_data->adata; > > - if (!dp_data->pending_status_update) { > - dev_dbg(&altmode->dev, > - "Got DPStatus without a pending request\n"); > - return 0; > - } > + if (!dp_data->pending_status_update) > + return typec_altmode_attention(altmode, data->status); > > if (dp_data->configured && dp_data->data.conf != data->conf) > dev_dbg(&altmode->dev,
Quoting Dmitry Baryshkov (2025-04-22 06:38:17) > On 16/04/2025 03:02, Stephen Boyd wrote: > > If we aren't expecting a status update when > > cros_typec_displayport_status_update() is called then we're handling an > > attention message, like HPD high/low or IRQ. Call > > typec_altmode_attention() in this case so that HPD signaling works in > > the DP altmode driver. > > Fixes? I didn't put a fixes because it only matters to make the displayport altmode driver work with the typec port which isn't used so far on DT platforms. I view it as a new feature, not a fix for an existing feature, because we don't use the altmode driver. It also seems like it was intentional on ACPI systems to only handle mode entry/exit and not HPD signaling per my reading of the mailing list.
On Mon, Apr 28, 2025 at 04:55:27PM -0700, Stephen Boyd wrote: > Quoting Dmitry Baryshkov (2025-04-22 06:38:17) > > On 16/04/2025 03:02, Stephen Boyd wrote: > > > If we aren't expecting a status update when > > > cros_typec_displayport_status_update() is called then we're handling an > > > attention message, like HPD high/low or IRQ. Call > > > typec_altmode_attention() in this case so that HPD signaling works in > > > the DP altmode driver. > > > > Fixes? > > I didn't put a fixes because it only matters to make the displayport > altmode driver work with the typec port which isn't used so far on DT > platforms. I view it as a new feature, not a fix for an existing > feature, because we don't use the altmode driver. > > It also seems like it was intentional on ACPI systems to only handle > mode entry/exit and not HPD signaling per my reading of the mailing > list. Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
diff --git a/drivers/platform/chrome/cros_typec_altmode.c b/drivers/platform/chrome/cros_typec_altmode.c index 557340b53af0..c2d9c548b5e8 100644 --- a/drivers/platform/chrome/cros_typec_altmode.c +++ b/drivers/platform/chrome/cros_typec_altmode.c @@ -280,11 +280,8 @@ int cros_typec_displayport_status_update(struct typec_altmode *altmode, typec_altmode_get_drvdata(altmode); struct cros_typec_altmode_data *adata = &dp_data->adata; - if (!dp_data->pending_status_update) { - dev_dbg(&altmode->dev, - "Got DPStatus without a pending request\n"); - return 0; - } + if (!dp_data->pending_status_update) + return typec_altmode_attention(altmode, data->status); if (dp_data->configured && dp_data->data.conf != data->conf) dev_dbg(&altmode->dev,
If we aren't expecting a status update when cros_typec_displayport_status_update() is called then we're handling an attention message, like HPD high/low or IRQ. Call typec_altmode_attention() in this case so that HPD signaling works in the DP altmode driver. Cc: Benson Leung <bleung@chromium.org> Cc: Tzung-Bi Shih <tzungbi@kernel.org> Cc: <chrome-platform@lists.linux.dev> Cc: Pin-yen Lin <treapking@chromium.org> Cc: Abhishek Pandit-Subedi <abhishekpandit@chromium.org> Cc: Łukasz Bartosik <ukaszb@chromium.org> Cc: Jameson Thies <jthies@google.com> Cc: Andrei Kuchynski <akuchynski@chromium.org> Signed-off-by: Stephen Boyd <swboyd@chromium.org> --- drivers/platform/chrome/cros_typec_altmode.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-)