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]> --- 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 | 4 ++ drivers/gpu/drm/msm/hdmi/hdmi_bridge.c | 19 ++++++++-- drivers/gpu/drm/rockchip/inno_hdmi.c | 46 +++++++++++++++++------ drivers/gpu/drm/rockchip/rk3066_hdmi.c | 38 +++++++++++++++---- drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c | 49 ++++++++++++++++++++++--- 9 files changed, 202 insertions(+), 43 deletions(-) --- base-commit: bf2602a3cb2381fb1a04bf1c39a290518d2538d1 change-id: 20250927-limit-infoframes-2-6b93e599e79a Best regards, -- With best wishes Dmitry
