mbox series

[RFC,v2,0/5] drm/msm/dp: implement HPD notifications handling

Message ID 20220429195731.3716446-1-dmitry.baryshkov@linaro.org
Headers show
Series drm/msm/dp: implement HPD notifications handling | expand

Message

Dmitry Baryshkov April 29, 2022, 7:57 p.m. UTC
USB altmodes code would send OOB notifications to the drm_connector
specified in the device tree. However as the MSM DP driver uses
drm_bridge_connector, there is no way to receive these event directly.
Implement a bridge between oob_hotplug_event and drm_bridge's hpd_notify
and use it to deliver altmode messages to the MSM DP driver.

Note, I left the original 'bool connected' field to be used by the
notifiers. However I think that it should be replaced in favour of using
the dp->hpd_state properly.

Changes since RFC v1:
 - Incorporated old patch dropping old usbpd code. Most of it remained
   unused.

Bjorn Andersson (2):
  drm: Add HPD state to drm_connector_oob_hotplug_event()
  drm/msm/dp: Implement hpd_notify()

Dmitry Baryshkov (3):
  drm/bridge_connector: stop filtering events in
    drm_bridge_connector_hpd_cb()
  drm/bridge_connector: implement oob_hotplug_event
  drm/msm/dp: remove most of usbpd-related remains

 drivers/gpu/drm/drm_bridge_connector.c   | 17 ++++--
 drivers/gpu/drm/drm_connector.c          |  6 +-
 drivers/gpu/drm/i915/display/intel_dp.c  | 17 +++++-
 drivers/gpu/drm/i915/i915_drv.h          |  3 +
 drivers/gpu/drm/msm/Makefile             |  1 -
 drivers/gpu/drm/msm/dp/dp_ctrl.h         |  1 -
 drivers/gpu/drm/msm/dp/dp_debug.c        |  6 +-
 drivers/gpu/drm/msm/dp/dp_debug.h        |  4 +-
 drivers/gpu/drm/msm/dp/dp_display.c      | 65 +++++++++-----------
 drivers/gpu/drm/msm/dp/dp_display.h      |  1 +
 drivers/gpu/drm/msm/dp/dp_drm.c          |  3 +
 drivers/gpu/drm/msm/dp/dp_drm.h          |  2 +
 drivers/gpu/drm/msm/dp/dp_hpd.c          | 67 --------------------
 drivers/gpu/drm/msm/dp/dp_hpd.h          | 78 ------------------------
 drivers/gpu/drm/msm/dp/dp_panel.h        |  1 -
 drivers/gpu/drm/msm/dp/dp_power.c        |  2 +-
 drivers/gpu/drm/msm/dp/dp_power.h        |  3 +-
 drivers/usb/typec/altmodes/displayport.c | 10 +--
 include/drm/drm_connector.h              |  6 +-
 19 files changed, 82 insertions(+), 211 deletions(-)
 delete mode 100644 drivers/gpu/drm/msm/dp/dp_hpd.c
 delete mode 100644 drivers/gpu/drm/msm/dp/dp_hpd.h

Comments

Abhinav Kumar April 29, 2022, 9:02 p.m. UTC | #1
Adding kuogee to keep him in the loop to review/test these.

Thanks

Abhinav

On 4/29/2022 12:57 PM, Dmitry Baryshkov wrote:
> USB altmodes code would send OOB notifications to the drm_connector
> specified in the device tree. However as the MSM DP driver uses
> drm_bridge_connector, there is no way to receive these event directly.
> Implement a bridge between oob_hotplug_event and drm_bridge's hpd_notify
> and use it to deliver altmode messages to the MSM DP driver.
> 
> Note, I left the original 'bool connected' field to be used by the
> notifiers. However I think that it should be replaced in favour of using
> the dp->hpd_state properly.
> 
> Changes since RFC v1:
>   - Incorporated old patch dropping old usbpd code. Most of it remained
>     unused.
> 
> Bjorn Andersson (2):
>    drm: Add HPD state to drm_connector_oob_hotplug_event()
>    drm/msm/dp: Implement hpd_notify()
> 
> Dmitry Baryshkov (3):
>    drm/bridge_connector: stop filtering events in
>      drm_bridge_connector_hpd_cb()
>    drm/bridge_connector: implement oob_hotplug_event
>    drm/msm/dp: remove most of usbpd-related remains
> 
>   drivers/gpu/drm/drm_bridge_connector.c   | 17 ++++--
>   drivers/gpu/drm/drm_connector.c          |  6 +-
>   drivers/gpu/drm/i915/display/intel_dp.c  | 17 +++++-
>   drivers/gpu/drm/i915/i915_drv.h          |  3 +
>   drivers/gpu/drm/msm/Makefile             |  1 -
>   drivers/gpu/drm/msm/dp/dp_ctrl.h         |  1 -
>   drivers/gpu/drm/msm/dp/dp_debug.c        |  6 +-
>   drivers/gpu/drm/msm/dp/dp_debug.h        |  4 +-
>   drivers/gpu/drm/msm/dp/dp_display.c      | 65 +++++++++-----------
>   drivers/gpu/drm/msm/dp/dp_display.h      |  1 +
>   drivers/gpu/drm/msm/dp/dp_drm.c          |  3 +
>   drivers/gpu/drm/msm/dp/dp_drm.h          |  2 +
>   drivers/gpu/drm/msm/dp/dp_hpd.c          | 67 --------------------
>   drivers/gpu/drm/msm/dp/dp_hpd.h          | 78 ------------------------
>   drivers/gpu/drm/msm/dp/dp_panel.h        |  1 -
>   drivers/gpu/drm/msm/dp/dp_power.c        |  2 +-
>   drivers/gpu/drm/msm/dp/dp_power.h        |  3 +-
>   drivers/usb/typec/altmodes/displayport.c | 10 +--
>   include/drm/drm_connector.h              |  6 +-
>   19 files changed, 82 insertions(+), 211 deletions(-)
>   delete mode 100644 drivers/gpu/drm/msm/dp/dp_hpd.c
>   delete mode 100644 drivers/gpu/drm/msm/dp/dp_hpd.h
>