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

Reply via email to