From: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
To: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Cc: chunkuang.hu@kernel.org, p.zabel@pengutronix.de,
airlied@gmail.com, simona@ffwll.ch,
maarten.lankhorst@linux.intel.com, mripard@kernel.org,
tzimmermann@suse.de, robh@kernel.org, krzk+dt@kernel.org,
conor+dt@kernel.org, matthias.bgg@gmail.com, ck.hu@mediatek.com,
jitao.shi@mediatek.com, jie.qiu@mediatek.com,
junzhi.zhao@mediatek.com, dri-devel@lists.freedesktop.org,
linux-mediatek@lists.infradead.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, kernel@collabora.com
Subject: Re: [PATCH v2 12/15] drm/mediatek: mtk_hdmi: Split driver and add common probe function
Date: Thu, 5 Dec 2024 13:36:18 +0100 [thread overview]
Message-ID: <f2862790-f613-4583-bec5-302e06c77d8d@collabora.com> (raw)
In-Reply-To: <olxtqto5mbgofxg4iqjvsmpxxzz6zoj7pbwmoeklhfjiavqfvv@dyveek7hgtki>
Il 05/12/24 13:29, Dmitry Baryshkov ha scritto:
> On Thu, Dec 05, 2024 at 12:45:14PM +0100, AngeloGioacchino Del Regno wrote:
>> In preparation for adding a new driver for the HDMI TX v2 IP,
>> split out the functions that will be common between the already
>> present mtk_hdmi (v1) driver and the new one.
>>
>> Since the probe flow for both drivers is 90% similar, add a common
>> probe function that will be called from each driver's .probe()
>> callback, avoiding lots of code duplication.
>>
>> Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
>> ---
>> drivers/gpu/drm/mediatek/Kconfig | 11 +-
>> drivers/gpu/drm/mediatek/Makefile | 1 +
>> drivers/gpu/drm/mediatek/mtk_hdmi.c | 724 +++------------------
>> drivers/gpu/drm/mediatek/mtk_hdmi_common.c | 425 ++++++++++++
>> drivers/gpu/drm/mediatek/mtk_hdmi_common.h | 203 ++++++
>> 5 files changed, 729 insertions(+), 635 deletions(-)
>> create mode 100644 drivers/gpu/drm/mediatek/mtk_hdmi_common.c
>> create mode 100644 drivers/gpu/drm/mediatek/mtk_hdmi_common.h
>>
>> @@ -1026,19 +812,12 @@ static int mtk_hdmi_setup_vendor_specific_infoframe(struct mtk_hdmi *hdmi,
>> return 0;
>> }
>>
>> -static int mtk_hdmi_output_init(struct mtk_hdmi *hdmi)
>> +static void mtk_hdmi_send_infoframe(struct mtk_hdmi *hdmi, u8 *buffer_spd, size_t bufsz_spd,
>> + u8 *buffer_avi, size_t bufsz_avi,
>> + struct drm_display_mode *mode)
>> {
>> - struct hdmi_audio_param *aud_param = &hdmi->aud_param;
>> -
>> - hdmi->csp = HDMI_COLORSPACE_RGB;
>> - 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;
>> + mtk_hdmi_setup_avi_infoframe(hdmi, buffer_avi, bufsz_avi, mode);
>> + mtk_hdmi_setup_spd_infoframe(hdmi, buffer_spd, bufsz_spd, "mediatek", "On-chip HDMI");
>
> Please use the HDMI Connector framework instead of handling everything
> on your own.
>
Dmitry, my plan is to get the MediaTek HDMIv2 driver upstreamed *with* using
the HDMI helpers - this commit is only splitting the old HDMI v1 driver in
common parts and v1 handling.
This "handling everything on my own" is something that was already present
into the old v1 driver, I am *not adding* this code, but *moving it around*.
I cannot migrate the v1 driver to the HDMI helpers right now because in this
moment I have no way to test that and I don't want to break any functionality.
If you check patch 15, you'll see that I am indeed using all of the helper
goodies - but for now only on the new driver, and not on the old one.
I do plan to migrate the v1 driver to the new helpers as well, but I would
(please) really prefer to do that only after the v2 driver is upstreamed.
Is that okay for you?
Cheers,
Angelo
>> }
>>
>> static void mtk_hdmi_audio_enable(struct mtk_hdmi *hdmi)
>
next prev parent reply other threads:[~2024-12-05 12:36 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-05 11:45 [PATCH v2 00/15] Add support for MT8195/88 DPI, HDMIv2 and DDCv2 AngeloGioacchino Del Regno
2024-12-05 11:45 ` [PATCH v2 01/15] dt-bindings: display: mediatek: dpi: Add MT8195 and MT8188 compat AngeloGioacchino Del Regno
2024-12-05 11:45 ` [PATCH v2 02/15] drm/mediatek: mtk_dpi: Add support for Pattern Generator in debugfs AngeloGioacchino Del Regno
2024-12-05 11:45 ` [PATCH v2 03/15] drm/mediatek: mtk_dpi: Use an array for pixclk factor calculation AngeloGioacchino Del Regno
2024-12-05 11:45 ` [PATCH v2 04/15] drm/mediatek: mtk_dpi: Move pixel clock setting flow to function AngeloGioacchino Del Regno
2024-12-05 11:45 ` [PATCH v2 05/15] drm/mediatek: mtk_dpi: Add checks for reg_h_fre_con existence AngeloGioacchino Del Regno
2024-12-05 11:45 ` [PATCH v2 06/15] drm/mediatek: Add support for MT8195 Digital Parallel Interface AngeloGioacchino Del Regno
2024-12-09 2:32 ` CK Hu (胡俊光)
2024-12-05 11:45 ` [PATCH v2 07/15] dt-bindings: display: mediatek: Add binding for MT8195 HDMI-TX v2 AngeloGioacchino Del Regno
2024-12-05 13:33 ` Rob Herring (Arm)
2024-12-09 3:26 ` CK Hu (胡俊光)
2024-12-05 11:45 ` [PATCH v2 08/15] drm/mediatek: mtk_cec: Switch to register as module_platform_driver AngeloGioacchino Del Regno
2024-12-05 11:45 ` [PATCH v2 09/15] drm/mediatek: mtk_hdmi_ddc: " AngeloGioacchino Del Regno
2024-12-05 11:45 ` [PATCH v2 10/15] drm/mediatek: hdmi: Use regmap instead of iomem for main registers AngeloGioacchino Del Regno
2024-12-05 11:45 ` [PATCH v2 11/15] drm/mediatek: mtk_hdmi: Fix typo for aud_sampe_size member AngeloGioacchino Del Regno
2024-12-09 6:00 ` CK Hu (胡俊光)
2024-12-05 11:45 ` [PATCH v2 12/15] drm/mediatek: mtk_hdmi: Split driver and add common probe function AngeloGioacchino Del Regno
2024-12-05 12:29 ` Dmitry Baryshkov
2024-12-05 12:36 ` AngeloGioacchino Del Regno [this message]
2024-12-05 12:56 ` Dmitry Baryshkov
2024-12-09 7:05 ` CK Hu (胡俊光)
2024-12-09 7:19 ` CK Hu (胡俊光)
2024-12-09 7:51 ` CK Hu (胡俊光)
2024-12-11 2:46 ` CK Hu (胡俊光)
2024-12-13 8:43 ` CK Hu (胡俊光)
2024-12-16 6:05 ` CK Hu (胡俊光)
2024-12-16 7:38 ` CK Hu (胡俊光)
2024-12-17 1:55 ` CK Hu (胡俊光)
2024-12-05 11:45 ` [PATCH v2 13/15] drm/mediatek: mtk_hdmi_common: Assign DDC adapter pointer to bridge AngeloGioacchino Del Regno
2024-12-09 8:17 ` CK Hu (胡俊光)
2024-12-09 9:49 ` AngeloGioacchino Del Regno
2024-12-05 11:45 ` [PATCH v2 14/15] drm/mediatek: mtk_hdmi_common: Add OP_HDMI, vendor and product strings AngeloGioacchino Del Regno
2024-12-09 9:09 ` CK Hu (胡俊光)
2024-12-09 9:56 ` AngeloGioacchino Del Regno
2024-12-10 1:22 ` CK Hu (胡俊光)
2024-12-05 11:45 ` [PATCH v2 15/15] drm/mediatek: Introduce HDMI/DDC v2 for MT8195/MT8188 AngeloGioacchino Del Regno
2024-12-05 12:56 ` Dmitry Baryshkov
2024-12-05 13:30 ` AngeloGioacchino Del Regno
2024-12-05 19:35 ` Dmitry Baryshkov
2024-12-09 11:33 ` AngeloGioacchino Del Regno
2024-12-09 13:08 ` Dmitry Baryshkov
2024-12-05 22:48 ` kernel test robot
2024-12-10 3:28 ` CK Hu (胡俊光)
2024-12-10 8:33 ` AngeloGioacchino Del Regno
2024-12-10 8:09 ` CK Hu (胡俊光)
2024-12-16 8:57 ` CK Hu (胡俊光)
2024-12-16 11:04 ` AngeloGioacchino Del Regno
2024-12-17 6:40 ` CK Hu (胡俊光)
2024-12-17 12:34 ` Dmitry Baryshkov
2024-12-17 6:47 ` CK Hu (胡俊光)
2024-12-17 9:21 ` CK Hu (胡俊光)
2024-12-17 14:49 ` AngeloGioacchino Del Regno
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=f2862790-f613-4583-bec5-302e06c77d8d@collabora.com \
--to=angelogioacchino.delregno@collabora.com \
--cc=airlied@gmail.com \
--cc=chunkuang.hu@kernel.org \
--cc=ck.hu@mediatek.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dmitry.baryshkov@linaro.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=jie.qiu@mediatek.com \
--cc=jitao.shi@mediatek.com \
--cc=junzhi.zhao@mediatek.com \
--cc=kernel@collabora.com \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=matthias.bgg@gmail.com \
--cc=mripard@kernel.org \
--cc=p.zabel@pengutronix.de \
--cc=robh@kernel.org \
--cc=simona@ffwll.ch \
--cc=tzimmermann@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox