Message ID | 20211109024237.3354741-2-xji@analogixsemi.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/2] drm/bridge: anx7625: add HDCP support | expand |
On Tue, 9 Nov 2021 at 03:43, Xin Ji <xji@analogixsemi.com> wrote: > > Provide .get_eld interface in hdmi_codec_ops for hdmi-codec driver. > > Signed-off-by: Xin Ji <xji@analogixsemi.com> > --- > drivers/gpu/drm/bridge/analogix/anx7625.c | 18 ++++++++++++++++++ > 1 file changed, 18 insertions(+) > > diff --git a/drivers/gpu/drm/bridge/analogix/anx7625.c b/drivers/gpu/drm/bridge/analogix/anx7625.c > index 6d93026c2999..67a87d21b0ba 100644 > --- a/drivers/gpu/drm/bridge/analogix/anx7625.c > +++ b/drivers/gpu/drm/bridge/analogix/anx7625.c > @@ -1821,9 +1821,27 @@ static int anx7625_audio_hook_plugged_cb(struct device *dev, void *data, > return 0; > } > > +static int anx7625_audio_get_eld(struct device *dev, void *data, > + u8 *buf, size_t len) > +{ > + struct anx7625_data *ctx = dev_get_drvdata(dev); > + > + if (!ctx->connector) { > + DRM_DEV_DEBUG_DRIVER(dev, "connector not initial\n"); > + return -EINVAL; > + } > + > + DRM_DEV_DEBUG_DRIVER(dev, "audio copy eld\n"); > + memcpy(buf, ctx->connector->eld, > + min(sizeof(ctx->connector->eld), len)); > + > + return 0; > +} > + > static const struct hdmi_codec_ops anx7625_codec_ops = { > .hw_params = anx7625_audio_hw_params, > .audio_shutdown = anx7625_audio_shutdown, > + .get_eld = anx7625_audio_get_eld, > .get_dai_id = anx7625_hdmi_i2s_get_dai_id, > .hook_plugged_cb = anx7625_audio_hook_plugged_cb, > }; > -- > 2.25.1 > Reviewed-by: Robert Foss <robert.foss@linaro.org>
diff --git a/drivers/gpu/drm/bridge/analogix/anx7625.c b/drivers/gpu/drm/bridge/analogix/anx7625.c index 6d93026c2999..67a87d21b0ba 100644 --- a/drivers/gpu/drm/bridge/analogix/anx7625.c +++ b/drivers/gpu/drm/bridge/analogix/anx7625.c @@ -1821,9 +1821,27 @@ static int anx7625_audio_hook_plugged_cb(struct device *dev, void *data, return 0; } +static int anx7625_audio_get_eld(struct device *dev, void *data, + u8 *buf, size_t len) +{ + struct anx7625_data *ctx = dev_get_drvdata(dev); + + if (!ctx->connector) { + DRM_DEV_DEBUG_DRIVER(dev, "connector not initial\n"); + return -EINVAL; + } + + DRM_DEV_DEBUG_DRIVER(dev, "audio copy eld\n"); + memcpy(buf, ctx->connector->eld, + min(sizeof(ctx->connector->eld), len)); + + return 0; +} + static const struct hdmi_codec_ops anx7625_codec_ops = { .hw_params = anx7625_audio_hw_params, .audio_shutdown = anx7625_audio_shutdown, + .get_eld = anx7625_audio_get_eld, .get_dai_id = anx7625_hdmi_i2s_get_dai_id, .hook_plugged_cb = anx7625_audio_hook_plugged_cb, };
Provide .get_eld interface in hdmi_codec_ops for hdmi-codec driver. Signed-off-by: Xin Ji <xji@analogixsemi.com> --- drivers/gpu/drm/bridge/analogix/anx7625.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+)