Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 00/10] drm/connector: hdmi: limit infoframes per driver capabilities
@ 2025-09-09 14:51 Dmitry Baryshkov
  2025-09-09 14:51 ` [PATCH v4 01/10] drm/connector: let drivers declare infoframes as unsupported Dmitry Baryshkov
                   ` (9 more replies)
  0 siblings, 10 replies; 24+ messages in thread
From: Dmitry Baryshkov @ 2025-09-09 14:51 UTC (permalink / raw)
  To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
	Jonas Karlman, Jernej Skrabec, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Sandy Huang,
	Heiko Stübner, Andy Yan, Chen-Yu Tsai, Samuel Holland,
	Dave Stevenson, Maíra Canal, Raspberry Pi Kernel Maintenance,
	Liu Ying, Rob Clark, Dmitry Baryshkov, Abhinav Kumar,
	Jessica Zhang, Sean Paul, Marijn Suijten
  Cc: dri-devel, linux-kernel, linux-arm-kernel, linux-rockchip,
	linux-sunxi, linux-arm-msm, freedreno, Daniel Stone

It's not uncommon for the particular device to support only a subset of
HDMI InfoFrames. Currently it's mostly ignored by the framework: it
calls write_infoframe() / clear_infoframe() callbacks for all frames and
expects them to return success even if the InfoFrame is not supported.
Likewise debugfs lists all InfoFrames with some contents even if it the
particular type is not being supported by the hardware.

Sort that out, making sure that all interfaces are consistent:
- Add a way for the driver to define which InfoFrames it supports
- Don't call callbacks for unsupported InfoFrames
- Don't register debugfs files for unsupported InfoFrame types

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
Changes in v4:
- Dropped software / autogenerated distinction, revert back to
  software_infoframes
- Dropped LT9611UXC patch, it doesn't fit anymore
- Don't warn in HDMI Audio helpers if the device doesn't support
  InfoFrames at all (this is useful for DP controllers).
- Rebased on a fresh drm-misc-next, picking up ADV7511 and IT6263
  InfoFrames changes.
- Link to v3: https://lore.kernel.org/r/20250830-drm-limit-infoframes-v3-0-32fcbec4634e@oss.qualcomm.com

Changes in v3:
- Fixed supported infoframes initialization (Liu Ying)
- Implemented separate flags for DRM-generated InfoFrames and
  hardware-generated ones
- Warn if required InfoFrames are not supported by the driver (Maxime)
- Changed drivers to error out if the DRM framework requires the
  unsupported InfoFrame (Maxime)
- Implemented DRM_BRIDGE_OP_HDMI and DRM_BRIDGE_OP_HDMI_AUDIO for
  Lontium lt9611uxc bridge.
- Link to v2: https://lore.kernel.org/r/20250819-drm-limit-infoframes-v2-0-7595dda24fbd@oss.qualcomm.com

Changes in v2:
- Corrected whitespace / newline issues & other small syntax fixes (Liu
  Ying)
- Added audio to the list of InfoFrames supported by the VC4 driver (Liu
  Ying)
- Changed drm_dbg_kms() to drm_warn_once() in the Audio InfoFrame update
  code (Liu Ying)
- Corrected subject for ITE IT6263 patch (Liu Ying)
- Added patch, dropping default list of InfoFrames in
  drm_bridge_connector.
- Link to v1: https://lore.kernel.org/r/20250816-drm-limit-infoframes-v1-0-6dc17d5f07e9@oss.qualcomm.com

---
Dmitry Baryshkov (10):
      drm/connector: let drivers declare infoframes as unsupported
      drm/bridge: adv7511: declare supported infoframes
      drm/bridge: ite-it6263: declare supported infoframes
      drm/bridge: lontium-lt9611: declare supported infoframes
      drm/bridge: synopsys/dw-hdmi-qp: declare supported infoframes
      drm/msm: hdmi: declare supported infoframes
      drm/rockchip: rk3066: declare supported infoframes
      drm/display: bridge_connector: drop default list for HDMI Infoframes
      drm/connector: verify that HDMI connectors support necessary InfoFrames
      drm/display: hdmi-audio: warn if HDMI connector doesn't support Audio IF

 drivers/gpu/drm/bridge/adv7511/adv7511_drv.c       |  9 ++++-
 drivers/gpu/drm/bridge/ite-it6263.c                |  5 +++
 drivers/gpu/drm/bridge/lontium-lt9611.c            | 11 ++++--
 drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c       |  7 +++-
 drivers/gpu/drm/display/drm_bridge_connector.c     |  1 +
 drivers/gpu/drm/display/drm_hdmi_audio_helper.c    | 12 ++++++
 drivers/gpu/drm/display/drm_hdmi_state_helper.c    | 43 +++++++++++++++++++---
 drivers/gpu/drm/drm_connector.c                    | 11 ++++++
 drivers/gpu/drm/drm_debugfs.c                      | 16 +++++---
 drivers/gpu/drm/msm/hdmi/hdmi_bridge.c             |  8 +++-
 drivers/gpu/drm/rockchip/inno_hdmi.c               |  5 ++-
 drivers/gpu/drm/rockchip/rk3066_hdmi.c             |  6 ++-
 drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c             |  3 +-
 drivers/gpu/drm/tests/drm_connector_test.c         | 28 ++++++++++++++
 drivers/gpu/drm/tests/drm_hdmi_state_helper_test.c |  8 ++++
 drivers/gpu/drm/vc4/vc4_hdmi.c                     |  5 +++
 include/drm/drm_bridge.h                           | 12 +++++-
 include/drm/drm_connector.h                        | 30 ++++++++++++++-
 18 files changed, 193 insertions(+), 27 deletions(-)
---
base-commit: f50b969bafafb2810a07f376387350c4c0d72a21
change-id: 20250815-drm-limit-infoframes-e782fa7f3360

Best regards,
-- 
With best wishes
Dmitry



^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2025-11-21 16:08 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-09 14:51 [PATCH v4 00/10] drm/connector: hdmi: limit infoframes per driver capabilities Dmitry Baryshkov
2025-09-09 14:51 ` [PATCH v4 01/10] drm/connector: let drivers declare infoframes as unsupported Dmitry Baryshkov
2025-09-10 11:03   ` Maxime Ripard
2025-09-10 15:16     ` Dmitry Baryshkov
2025-09-25 12:36       ` Maxime Ripard
2025-09-25 14:55         ` Dmitry Baryshkov
2025-10-03 14:23           ` Maxime Ripard
2025-10-03 15:41             ` Dmitry Baryshkov
2025-10-14 12:43               ` Maxime Ripard
2025-10-14 16:02                 ` Dmitry Baryshkov
2025-11-21 15:48                   ` Maxime Ripard
2025-11-21 16:08                     ` Dmitry Baryshkov
2025-09-09 14:52 ` [PATCH v4 02/10] drm/bridge: adv7511: declare supported infoframes Dmitry Baryshkov
2025-09-09 14:52 ` [PATCH v4 03/10] drm/bridge: ite-it6263: " Dmitry Baryshkov
2025-09-09 14:52 ` [PATCH v4 04/10] drm/bridge: lontium-lt9611: " Dmitry Baryshkov
2025-09-09 14:52 ` [PATCH v4 05/10] drm/bridge: synopsys/dw-hdmi-qp: " Dmitry Baryshkov
2025-09-09 14:52 ` [PATCH v4 06/10] drm/msm: hdmi: " Dmitry Baryshkov
2025-09-09 14:52 ` [PATCH v4 07/10] drm/rockchip: rk3066: " Dmitry Baryshkov
2025-09-09 14:52 ` [PATCH v4 08/10] drm/display: bridge_connector: drop default list for HDMI Infoframes Dmitry Baryshkov
2025-09-09 14:52 ` [PATCH v4 09/10] drm/connector: verify that HDMI connectors support necessary InfoFrames Dmitry Baryshkov
2025-09-10 11:08   ` Maxime Ripard
2025-09-09 14:52 ` [PATCH v4 10/10] drm/display: hdmi-audio: warn if HDMI connector doesn't support Audio IF Dmitry Baryshkov
2025-09-10 11:05   ` Maxime Ripard
2025-09-10 13:43     ` Dmitry Baryshkov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox