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 <[email protected]> --- 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/[email protected] --- 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
