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:
- In atomic_check() callback verify and disable unsupported InfoFrames.
- In write_infoframe() / clear_infoframe() callbacks return -EOPNOTSUPP
for unsupported InfoFrames.
- In write_device_infoframe() / clear_infoframe() functions warn if the
callback returns -EOPNOTSUPP for the frame which is set (or was set
beforehand).
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@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 (9):
drm/display: hdmi-state-helpers: warn on unsupported InfoFrame types
drm/bridge: adv7511: handle unsupported InfoFrames
drm/bridge: ite-it6263: handle unsupported InfoFrames
drm/bridge: lontium-lt9611: handle unsupported InfoFrames
drm/bridge: synopsys/dw-hdmi-qp: handle unsupported InfoFrames
drm/msm: hdmi: handle unsupported InfoFrames
drm/rockchip: rk3066_hdmi: handle unsupported InfoFrames
drm/rockchip: inno-hdmi: handle unsupported InfoFrames
drm/sun4i: hdmi: handle unsupported InfoFrames
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 20 ++++++++--
drivers/gpu/drm/bridge/ite-it6263.c | 27 ++++++++++++-
drivers/gpu/drm/bridge/lontium-lt9611.c | 22 ++++++++---
drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c | 20 ++++++++--
drivers/gpu/drm/display/drm_hdmi_state_helper.c | 6 +++
drivers/gpu/drm/msm/hdmi/hdmi_bridge.c | 19 +++++++--
drivers/gpu/drm/rockchip/inno_hdmi.c | 47 +++++++++++++++++------
drivers/gpu/drm/rockchip/rk3066_hdmi.c | 39 +++++++++++++++----
drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c | 51 ++++++++++++++++++++++---
9 files changed, 208 insertions(+), 43 deletions(-)
---
base-commit: bf2602a3cb2381fb1a04bf1c39a290518d2538d1
change-id: 20250927-limit-infoframes-2-6b93e599e79a
Best regards,
--
With best wishes
Dmitry