<html><body><p>
<pre>
On Mon, 2025-04-14 at 10:52 +0200, AngeloGioacchino Del Regno wrote:
> External email : Please do not click links or open attachments until you have verified the sender or the content.
>
>
> Il 11/04/25 10:18, CK Hu (胡俊光) ha scritto:
> > On Wed, 2025-04-09 at 15:13 +0200, 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 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 | 542 +--------------------
> > > drivers/gpu/drm/mediatek/mtk_hdmi_common.c | 426 ++++++++++++++++
> > > drivers/gpu/drm/mediatek/mtk_hdmi_common.h | 188 +++++++
> > > 5 files changed, 633 insertions(+), 535 deletions(-)
> > > create mode 100644 drivers/gpu/drm/mediatek/mtk_hdmi_common.c
> > > create mode 100644 drivers/gpu/drm/mediatek/mtk_hdmi_common.h
> > >
> > > diff --git a/drivers/gpu/drm/mediatek/Kconfig b/drivers/gpu/drm/mediatek/Kconfig
> > > index e47debd60619..994b48b82d44 100644
> > > --- a/drivers/gpu/drm/mediatek/Kconfig
> > > +++ b/drivers/gpu/drm/mediatek/Kconfig
> > > @@ -30,9 +30,18 @@ config DRM_MEDIATEK_DP
> > > help
> > > DRM/KMS Display Port driver for MediaTek SoCs.
> > >
> > > +config DRM_MEDIATEK_HDMI_COMMON
> > > + tristate
> > > + depends on DRM_MEDIATEK
> > > + select DRM_DISPLAY_HDMI_HELPER
> > > + select DRM_DISPLAY_HELPER
> > > + select SND_SOC_HDMI_CODEC if SND_SOC
> > > + help
> > > + MediaTek SoC HDMI common library
> > > +
> > > config DRM_MEDIATEK_HDMI
> > > tristate "DRM HDMI Support for Mediatek SoCs"
> > > depends on DRM_MEDIATEK
> > > - select SND_SOC_HDMI_CODEC if SND_SOC
> > > + select DRM_MEDIATEK_HDMI_COMMON
> > > help
> > > DRM/KMS HDMI driver for Mediatek SoCs
> > > diff --git a/drivers/gpu/drm/mediatek/Makefile b/drivers/gpu/drm/mediatek/Makefile
> > > index 43afd0a26d14..78cf2d4fc85f 100644
> > > --- a/drivers/gpu/drm/mediatek/Makefile
> > > +++ b/drivers/gpu/drm/mediatek/Makefile
> > > @@ -21,6 +21,7 @@ mediatek-drm-y := mtk_crtc.o \
> > >
> > > obj-$(CONFIG_DRM_MEDIATEK) += mediatek-drm.o
> > >
> > > +obj-$(CONFIG_DRM_MEDIATEK_HDMI_COMMON) += mtk_hdmi_common.o
> >
> > The whole patch looks good to me.
> > But make common part to a module looks a little bit more modularized.
> > Let things to be simple, I would like the whole MediaTek hdmi driver be a single module.
> > For MediaTek drm driver, it is already broken to mediatek-drm, hdmi, dp modules.
> > Maybe someday dsi or dpi would be broken to modules.
> > So I would like hdmi to be a single module which include v1, v2 and common part.
> > If someday we need to optimize code size, then send patch to break hdmi module.
> >
>
> Hello CK,
>
> The HDMIv1 and HDMIv2 drivers are handling two *very* different IPs that can never
> be *both* present at the same time on one SoC: having one Kconfig for both would
> not only add unnecessary bloat (especially on older SoCs!!), but would actually be
> wrong.
>
> Also, please be aware that old LK bootloaders (smartphones/tablets) have a very
> limited RAM carveout for kernel + ramdisk that should be around 8MB if I recall
> correctly.
>
> Remember as well that these devices *cannot* run different bootloaders as those
> are only able to run *OEM signed* binaries in the early bootchain, so replacing
> the bootloader is not a viable solution.
>
> It's true, people can (and most probably want to and will) build this as a module
> but, in my opinion, freedom should be given to have the HDMI driver built-in even
> in these cases - and that's another good reason to keep them split.
>
> This is done to avoid being hostile to old platforms, in full upstream spirit.

OK, it seems there is some case need to shrink code size, so

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

>
> Regards,
> Angelo
>
> > Regards,
> > CK
> >
> > > obj-$(CONFIG_DRM_MEDIATEK_HDMI) += mtk_cec.o
> > > obj-$(CONFIG_DRM_MEDIATEK_HDMI) += mtk_hdmi.o
> > > obj-$(CONFIG_DRM_MEDIATEK_HDMI) += mtk_hdmi_ddc.o
> > > diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi.c b/drivers/gpu/drm/mediatek/mtk_hdmi.c
> >
>


</pre>
</p></body></html><!--type:text--><!--{--><pre>************* MEDIATEK Confidentiality Notice ********************
The information contained in this e-mail message (including any 
attachments) may be confidential, proprietary, privileged, or otherwise
exempt from disclosure under applicable laws. It is intended to be 
conveyed only to the designated recipient(s). Any use, dissemination, 
distribution, printing, retaining or copying of this e-mail (including its 
attachments) by unintended recipient(s) is strictly prohibited and may 
be unlawful. If you are not an intended recipient of this e-mail, or believe 
that you have received this e-mail in error, please notify the sender 
immediately (by replying to this e-mail), delete any and all copies of 
this e-mail (including any attachments) from your system, and do not
disclose the content of this e-mail to any other person. Thank you!
</pre><!--}-->