[PATCH 0/5] drm: dw-hdmi: update CEC phys addr, EDID and ELD on HPD event

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This series change dw-hdmi to update CEC phys addr, EDID and ELD on HPD event,
this fixes lost CEC phys addr and stale EDID/ELD when HDMI cable is
unplugged/replugged or AVR is powered on/off.

Patch 1 and 2 extracts code into a dw_hdmi_connector_update_edid() helper
and moves dw_hdmi_connector_detect() to be able to call this helper.

Patch 3 moves CEC phys addr invalidation from dw_hdmi_irq() to
dw_hdmi_connector_detect() and ensure connector EDID property gets updated.
I opted to not use cec_notifier_mutex after the move, please advise.

Patch 4 and 5 ensures ELD gets updated allowing userspace to query the latest
capabilities when a AVR is powered on and EDID gets updated.
This reverts a previous change to make drm_edid_to_eld() static, please advise.

Next step after this would be to add support for signaling
SNDRV_CTL_EVENT_MASK_VALUE to userspace when ELD changes.

Regards,
Jonas

Jonas Karlman (5):
  drm: dw-hdmi: extract dw_hdmi_connector_update_edid()
  drm: dw-hdmi: move dw_hdmi_connector_detect()
  drm: dw-hdmi: update CEC phys addr and EDID on HPD event
  Revert "drm/edid: make drm_edid_to_eld() static"
  drm: dw-hdmi: update ELD on HPD event

 drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 57 ++++++++++++++---------
 drivers/gpu/drm/drm_edid.c                |  5 +-
 include/drm/drm_edid.h                    |  1 +
 3 files changed, 38 insertions(+), 25 deletions(-)

-- 
2.17.1

_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux