public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 00/10] drm/connector: hdmi: limit infoframes per driver capabilities, second approach
@ 2026-01-07 18:14 Dmitry Baryshkov
  2026-01-07 18:14 ` [PATCH v4 01/10] drm/tests: hdmi: check the infoframes behaviour Dmitry Baryshkov
                   ` (10 more replies)
  0 siblings, 11 replies; 24+ messages in thread
From: Dmitry Baryshkov @ 2026-01-07 18:14 UTC (permalink / raw)
  To: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
	Simona Vetter, Dave Stevenson, Maíra Canal,
	Raspberry Pi Kernel Maintenance, Chen-Yu Tsai, Jernej Skrabec,
	Samuel Holland, Andrzej Hajda, Neil Armstrong, Robert Foss,
	Laurent Pinchart, Jonas Karlman, Liu Ying, Chun-Kuang Hu,
	Philipp Zabel, Matthias Brugger, AngeloGioacchino Del Regno,
	Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
	Sean Paul, Marijn Suijten, Sandy Huang, Heiko Stübner,
	Andy Yan
  Cc: dri-devel, linux-kernel, linux-arm-kernel, linux-sunxi,
	linux-mediatek, linux-arm-msm, freedreno, linux-rockchip

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.

Sort that out, making sure that all interfaces are consistent:
- split function interfaces, having a pair of callbacks per each
  InfoFrame type.
- write_infoframe() / clear_infoframe() functions return -EOPNOTSUPP
  for unsupported InfoFrames.
- don't create and enable unsupported InfoFrames.
- limit debugfs to provide supported InfoFrames only.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
Changes in v4:
- Rebased on top of drm-misc-next, moving inno-hdmi to the bridge patch
- Expanded "normal" test description (Maxime)
- Added EDEADLK handling to the tests (Maxime)
- Moved hdmi_update_failures to drm_atomic_helper_connector_hdmi_priv
  (Maxime)
- Link to v3: https://lore.kernel.org/r/20251224-limit-infoframes-2-v3-0-7fd3cacfefed@oss.qualcomm.com

Changes in v3:
- Added DRM KUnit tests verifying InfoFrames behaviour (Maxime)
- Reworked the patchset, having per-infoframe callbacks rather than
  extra flags (Maxime)
- Link to v2: https://lore.kernel.org/r/20250928-limit-infoframes-2-v2-0-6f8f5fd04214@oss.qualcomm.com

Changes in v2:
- Fixed build issue in common code
- Fixed comments regarding HDR / audio frames (Diedrik)
- In adv7511 actually check for the HDR frame (the comment was correct)
  rather than the audio infoframe (c&p error).
- Link to v1: https://lore.kernel.org/r/20250927-limit-infoframes-2-v1-0-697511bd050b@oss.qualcomm.com

---
Dmitry Baryshkov (10):
      drm/tests: hdmi: check the infoframes behaviour
      drm/vc4: hdmi: implement clear_infoframe
      drm/sun4i: hdmi_enc: implement clear_infoframe stub
      drm/connector: make clear_infoframe callback mandatory for HDMI connectors
      drm/bridge: refactor HDMI InfoFrame callbacks
      drm/display: hdmi_state_helper: split InfoFrame functions per type
      drm/display: hdmi_state_helper: reject Audio IF updates if it's not supported
      drm/display: hdmi_state_helper: don't generate unsupported InfoFrames
      drm/display: bridge_connector: dynamically generate HDMI callbacks
      drm/debug: don't register files for unsupported HDMI InfoFrames

 drivers/gpu/drm/bridge/adv7511/adv7511_drv.c       | 180 +++---
 drivers/gpu/drm/bridge/inno-hdmi.c                 |  41 +-
 drivers/gpu/drm/bridge/ite-it6263.c                |  95 +--
 drivers/gpu/drm/bridge/lontium-lt9611.c            | 143 +++--
 drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c       | 110 ++--
 drivers/gpu/drm/display/drm_bridge_connector.c     | 190 +++++-
 drivers/gpu/drm/display/drm_hdmi_state_helper.c    |  94 +--
 drivers/gpu/drm/drm_connector.c                    |   6 +
 drivers/gpu/drm/drm_debugfs.c                      |   7 +
 drivers/gpu/drm/mediatek/mtk_hdmi_common.c         |   8 +-
 drivers/gpu/drm/mediatek/mtk_hdmi_v2.c             | 110 ++--
 drivers/gpu/drm/msm/hdmi/hdmi_bridge.c             | 195 +++---
 drivers/gpu/drm/rockchip/rk3066_hdmi.c             |  47 +-
 drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c             |  42 +-
 drivers/gpu/drm/tests/drm_client_modeset_test.c    |   3 +
 drivers/gpu/drm/tests/drm_connector_test.c         |  19 +
 drivers/gpu/drm/tests/drm_hdmi_state_helper_test.c | 667 +++++++++++++++++++++
 drivers/gpu/drm/tests/drm_kunit_edid.h             | 119 ++++
 drivers/gpu/drm/vc4/vc4_hdmi.c                     | 105 +++-
 include/drm/drm_bridge.h                           | 127 +++-
 include/drm/drm_connector.h                        | 105 +++-
 21 files changed, 1900 insertions(+), 513 deletions(-)
---
base-commit: 349d4efadc1f831ebc0b872ba1e3a2b7dd58b72b
change-id: 20250927-limit-infoframes-2-6b93e599e79a

Best regards,
-- 
With best wishes
Dmitry


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

end of thread, other threads:[~2026-01-27 20:27 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-07 18:14 [PATCH v4 00/10] drm/connector: hdmi: limit infoframes per driver capabilities, second approach Dmitry Baryshkov
2026-01-07 18:14 ` [PATCH v4 01/10] drm/tests: hdmi: check the infoframes behaviour Dmitry Baryshkov
2026-01-19 10:13   ` Maxime Ripard
2026-01-19 11:23     ` Dmitry Baryshkov
2026-01-19 13:10       ` Jani Nikula
2026-01-19 20:09         ` Dmitry Baryshkov
2026-01-07 18:14 ` [PATCH v4 02/10] drm/vc4: hdmi: implement clear_infoframe Dmitry Baryshkov
2026-01-26 17:42   ` Marek Szyprowski
2026-01-26 17:44     ` Marek Szyprowski
2026-01-26 19:00       ` Dmitry Baryshkov
2026-01-27  9:11         ` Marek Szyprowski
2026-01-07 18:15 ` [PATCH v4 03/10] drm/sun4i: hdmi_enc: implement clear_infoframe stub Dmitry Baryshkov
2026-01-13 15:49   ` Maxime Ripard
2026-01-07 18:15 ` [PATCH v4 04/10] drm/connector: make clear_infoframe callback mandatory for HDMI connectors Dmitry Baryshkov
2026-01-07 18:15 ` [PATCH v4 05/10] drm/bridge: refactor HDMI InfoFrame callbacks Dmitry Baryshkov
2026-01-27 19:50   ` Mark Brown
2026-01-27 20:26     ` Dmitry Baryshkov
2026-01-07 18:15 ` [PATCH v4 06/10] drm/display: hdmi_state_helper: split InfoFrame functions per type Dmitry Baryshkov
2026-01-07 18:15 ` [PATCH v4 07/10] drm/display: hdmi_state_helper: reject Audio IF updates if it's not supported Dmitry Baryshkov
2026-01-19 10:13   ` Maxime Ripard
2026-01-07 18:15 ` [PATCH v4 08/10] drm/display: hdmi_state_helper: don't generate unsupported InfoFrames Dmitry Baryshkov
2026-01-07 18:15 ` [PATCH v4 09/10] drm/display: bridge_connector: dynamically generate HDMI callbacks Dmitry Baryshkov
2026-01-07 18:15 ` [PATCH v4 10/10] drm/debug: don't register files for unsupported HDMI InfoFrames Dmitry Baryshkov
2026-01-19 11:24 ` [PATCH v4 00/10] drm/connector: hdmi: limit infoframes per driver capabilities, second approach Dmitry Baryshkov

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