Declare which infoframes are supported via the .hdmi_write_infoframe()
interface. Return -EOPNOTSUPP if the driver is asked to write or clear
the unsupported InfoFrame.

Acked-by: Daniel Stone <[email protected]>
Signed-off-by: Dmitry Baryshkov <[email protected]>
---
 drivers/gpu/drm/bridge/lontium-lt9611.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/bridge/lontium-lt9611.c 
b/drivers/gpu/drm/bridge/lontium-lt9611.c
index 
a2d032ee4744715b88eb66883edf69bab4c274b0..019114eb343764dbc3da36ab02d53ece11f46adc
 100644
--- a/drivers/gpu/drm/bridge/lontium-lt9611.c
+++ b/drivers/gpu/drm/bridge/lontium-lt9611.c
@@ -870,8 +870,7 @@ static int lt9611_hdmi_clear_infoframe(struct drm_bridge 
*bridge,
 
        default:
                drm_dbg_driver(lt9611->bridge.dev, "Unsupported HDMI InfoFrame 
%x\n", type);
-               mask = 0;
-               break;
+               return -EOPNOTSUPP;
        }
 
        if (mask)
@@ -911,8 +910,7 @@ static int lt9611_hdmi_write_infoframe(struct drm_bridge 
*bridge,
 
        default:
                drm_dbg_driver(lt9611->bridge.dev, "Unsupported HDMI InfoFrame 
%x\n", type);
-               mask = 0;
-               break;
+               return -EOPNOTSUPP;
        }
 
        if (mask) {
@@ -1136,6 +1134,11 @@ static int lt9611_probe(struct i2c_client *client)
        lt9611->bridge.type = DRM_MODE_CONNECTOR_HDMIA;
        lt9611->bridge.vendor = "Lontium";
        lt9611->bridge.product = "LT9611";
+       lt9611->bridge.supported_infoframes =
+               DRM_CONNECTOR_INFOFRAME_AUDIO |
+               DRM_CONNECTOR_INFOFRAME_AVI |
+               DRM_CONNECTOR_INFOFRAME_SPD |
+               DRM_CONNECTOR_INFOFRAME_VENDOR;
        lt9611->bridge.hdmi_audio_dev = dev;
        lt9611->bridge.hdmi_audio_max_i2s_playback_channels = 8;
        lt9611->bridge.hdmi_audio_dai_port = 2;

-- 
2.47.3

Reply via email to