Declare which infoframes are supported via the .hdmi_write_infoframe() interface.
Reviewed-by: Liu Ying <[email protected]> Signed-off-by: Dmitry Baryshkov <[email protected]> --- drivers/gpu/drm/bridge/ite-it6263.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/bridge/ite-it6263.c b/drivers/gpu/drm/bridge/ite-it6263.c index cf813672b4ffb8ab5c524c6414ee7b414cebc018..f2d54ad8fb64254747f2e8e301f19accf337128f 100644 --- a/drivers/gpu/drm/bridge/ite-it6263.c +++ b/drivers/gpu/drm/bridge/ite-it6263.c @@ -755,10 +755,12 @@ static int it6263_hdmi_clear_infoframe(struct drm_bridge *bridge, { struct it6263 *it = bridge_to_it6263(bridge); - if (type == HDMI_INFOFRAME_TYPE_AVI) - regmap_write(it->hdmi_regmap, HDMI_REG_AVI_INFOFRM_CTRL, 0); - else + if (type != HDMI_INFOFRAME_TYPE_AVI) { dev_dbg(it->dev, "unsupported HDMI infoframe 0x%x\n", type); + return -EOPNOTSUPP; + } + + regmap_write(it->hdmi_regmap, HDMI_REG_AVI_INFOFRM_CTRL, 0); return 0; } @@ -772,7 +774,7 @@ static int it6263_hdmi_write_infoframe(struct drm_bridge *bridge, if (type != HDMI_INFOFRAME_TYPE_AVI) { dev_dbg(it->dev, "unsupported HDMI infoframe 0x%x\n", type); - return 0; + return -EOPNOTSUPP; } /* write the first AVI infoframe data byte chunk(DB1-DB5) */ @@ -875,6 +877,7 @@ static int it6263_probe(struct i2c_client *client) it->bridge.type = DRM_MODE_CONNECTOR_HDMIA; it->bridge.vendor = "ITE"; it->bridge.product = "IT6263"; + it->bridge.software_infoframes = DRM_CONNECTOR_INFOFRAME_AVI; return devm_drm_bridge_add(dev, &it->bridge); } -- 2.47.2
