Message ID | 20230730180803.22570-1-jiaxin.yu@mediatek.com |
---|---|
Headers | show |
Series | ASoC: mediatek:mt8186: fix both the speaker and hdmi | expand |
Il 30/07/23 20:08, Jiaxin Yu ha scritto: > Add audio support for it6505 > > 1. Bridge to hdmi-codec to support audio feature. At the same time, > the function of automatically detecting audio is removed. > 2. It is observed that some DP-to-HDMI dongles will get into bad > states if sending InfoFrame without audio data. Defer to enable > it6505's audio feature when PCM triggers START or RESUME. > > Signed-off-by: Jiaxin Yu <jiaxin.yu@mediatek.com> Hello Jiaxin, this patch doesn't apply anymore (and it won't build anymore) upstream. > --- > drivers/gpu/drm/bridge/ite-it6505.c | 81 ++++++++++++++++++++++++++--- > 1 file changed, 75 insertions(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/ite-it6505.c b/drivers/gpu/drm/bridge/ite-it6505.c > index 504d51c42f79..1cfcb0731288 100644 > --- a/drivers/gpu/drm/bridge/ite-it6505.c > +++ b/drivers/gpu/drm/bridge/ite-it6505.c > @@ -2162,7 +2162,6 @@ static void it6505_stop_link_train(struct it6505 *it6505) > > static void it6505_link_train_ok(struct it6505 *it6505) > { > - struct device *dev = &it6505->client->dev; This is because this changed to `struct device *dev = it6505->dev;` > > it6505->link_state = LINK_OK; > /* disalbe mute enable avi info frame */ > @@ -2170,11 +2169,6 @@ static void it6505_link_train_ok(struct it6505 *it6505) > it6505_set_bits(it6505, REG_INFOFRAME_CTRL, > EN_VID_CTRL_PKT, EN_VID_CTRL_PKT); > > - if (it6505_audio_input(it6505)) { > - DRM_DEV_DEBUG_DRIVER(dev, "Enable audio!"); > - it6505_enable_audio(it6505); > - } > - > if (it6505->hdcp_desired) > it6505_start_hdcp(it6505); > } > @@ -2846,6 +2840,45 @@ static void __maybe_unused it6505_audio_shutdown(struct device *dev, void *data) > it6505_disable_audio(it6505); > } > > +static int it6505_audio_hw_params(struct device *dev, void *data, > + struct hdmi_codec_daifmt *daifmt, > + struct hdmi_codec_params *params) > +{ > + struct it6505 *it6505 = dev_get_drvdata(dev); > + > + return it6505_audio_setup_hw_params(it6505, params); > +} > + > +static int it6505_audio_setup_trigger(struct it6505 *it6505, int cmd) > +{ > + struct device *dev = &it6505->client->dev; ...and because you'll have to change this one, and other occurrences of that as well. Can you please respin this series? Thanks, Angelo