Re: [PATCH v6 27/42] drm/mediatek: mtk_hdmi: Move output init to mtk_hdmi_register_audio_driver()

CK Hu (胡俊光)
2025-02-14T03:20:57Z

On Tue, 2025-02-11 at 12:33 +0100, AngeloGioacchino Del Regno wrote:
> External email : Please do not click links or open attachments until you have verified the sender or the content.
>
>
> In preparation for moving the common bits of this driver, merge the
> contents of mtk_hdmi_output_init in mtk_hdmi_register_audio_driver
> function to aggregate all of the initial audio setup together in
> the same function and to make it clear that all of the setup that
> is performed in mtk_hdmi_output_init is specifically related only
> to audio and not video.
>
> While at it, also remove the "%s driver bound to HDMI" debugging
> print disguised as informative.

Previous reply only to Angelo, so re-replay to all agian.

This patch does not include print modification,
After remove this message,

Reviewed-by: CK Hu <ck.hu@mediatek.com>

>
> Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
> ---
> drivers/gpu/drm/mediatek/mtk_hdmi.c | 27 ++++++++-------------------
> 1 file changed, 8 insertions(+), 19 deletions(-)
>
> diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi.c b/drivers/gpu/drm/mediatek/mtk_hdmi.c
> index e43dbcc0d068..98e8c186dff4 100644
> --- a/drivers/gpu/drm/mediatek/mtk_hdmi.c
> +++ b/drivers/gpu/drm/mediatek/mtk_hdmi.c
> @@ -1025,20 +1025,6 @@ static int mtk_hdmi_setup_vendor_specific_infoframe(struct mtk_hdmi *hdmi,
> return 0;
> }
>
> -static int mtk_hdmi_output_init(struct mtk_hdmi *hdmi)
> -{
> - struct hdmi_audio_param *aud_param = &hdmi->aud_param;
> -
> - aud_param->aud_codec = HDMI_AUDIO_CODING_TYPE_PCM;
> - aud_param->aud_sample_size = HDMI_AUDIO_SAMPLE_SIZE_16;
> - aud_param->aud_input_type = HDMI_AUD_INPUT_I2S;
> - aud_param->aud_i2s_fmt = HDMI_I2S_MODE_I2S_24BIT;
> - aud_param->aud_mclk = HDMI_AUD_MCLK_128FS;
> - aud_param->aud_input_chan_type = HDMI_AUD_CHAN_TYPE_2_0;
> -
> - return 0;
> -}
> -
> static void mtk_hdmi_audio_enable(struct mtk_hdmi *hdmi)
> {
> mtk_hdmi_hw_send_aud_packet(hdmi, true);
> @@ -1617,6 +1603,7 @@ static void mtk_hdmi_unregister_audio_driver(void *data)
> static int mtk_hdmi_register_audio_driver(struct device *dev)
> {
> struct mtk_hdmi *hdmi = dev_get_drvdata(dev);
> + struct hdmi_audio_param *aud_param = &hdmi->aud_param;
> struct hdmi_codec_pdata codec_data = {
> .ops = &mtk_hdmi_audio_codec_ops,
> .max_i2s_channels = 2,
> @@ -1626,6 +1613,13 @@ static int mtk_hdmi_register_audio_driver(struct device *dev)
> };
> int ret;
>
> + aud_param->aud_codec = HDMI_AUDIO_CODING_TYPE_PCM;
> + aud_param->aud_sample_size = HDMI_AUDIO_SAMPLE_SIZE_16;
> + aud_param->aud_input_type = HDMI_AUD_INPUT_I2S;
> + aud_param->aud_i2s_fmt = HDMI_I2S_MODE_I2S_24BIT;
> + aud_param->aud_mclk = HDMI_AUD_MCLK_128FS;
> + aud_param->aud_input_chan_type = HDMI_AUD_CHAN_TYPE_2_0;
> +
> hdmi->audio_pdev = platform_device_register_data(dev,
> HDMI_CODEC_DRV_NAME,
> PLATFORM_DEVID_AUTO,
> @@ -1668,11 +1662,6 @@ static int mtk_hdmi_probe(struct platform_device *pdev)
> mutex_init(&hdmi->update_plugged_status_lock);
> platform_set_drvdata(pdev, hdmi);
>
> - ret = mtk_hdmi_output_init(hdmi);
> - if (ret)
> - return dev_err_probe(dev, ret,
> - "Failed to initialize hdmi output\n");
> -
> ret = mtk_hdmi_register_audio_driver(dev);
> if (ret)
> return dev_err_probe(dev, ret,
> --
> 2.48.1
>