On 28/07/2021 10:34, Jackie Liu wrote: > Hi Kieran. > > Thanks for replying to the email so quickly. > > 在 2021/7/28 下午4:58, Kieran Bingham 写道: >> Hi Jackie, >> >> On 28/07/2021 09:42, Jackie Liu wrote: >>> From: Jackie Liu <liuyun01@xxxxxxxxxx> >>> >>> After the patch 78b6bb1d24db ("drm: rcar-du: crtc: Control CMM >>> operations"), >>> the cmm module must be included in the crtc. We cannot remove this >>> configuration option separately. Therefore, simply linking them together >>> is the best solution, otherwise some errors will be reported. >>> >> >> Yikes, I'm sure we've had plenty of problems with the config options on >> this module. The churn alone makes me wonder if it should just be part >> of the overall module to simplify things... but... >> >>> rcar_du_crtc.c:(.text+0x194): undefined reference to `rcar_cmm_setup' >>> rcar_du_crtc.c:(.text+0x11bc): undefined reference to >>> `rcar_cmm_enable' >>> rcar_du_crtc.c:(.text+0x1604): undefined reference to >>> `rcar_cmm_disable' >>> rcar_du_kms.c:(.text+0x768): undefined reference to `rcar_cmm_init' >> >> Those are guarded by #if IS_ENABLED in the header. >> >> So from that - perhaps we can assume that the config attempted here was >> a built-in DU - but a module CMM which wouldn't be supported? > > I know you want to keep CMM as a module, I might think it’s too simple. > will rewrite the patch. There are DU's which do not have a CMM, so I think that is why it is an optional feature/module. >>> Fixes: 78b6bb1d24db ("rm: rcar-du: crtc: Control CMM operations") >> >> That fixes tag is missing a 'd', but that's trivial. > > 12 characters of sha is enough. I meant the 'd' of 'drm' (it's 'rm' in your text) > --- > BR, Thanks. > Jackie Liu > >> >> >>> Reported-by: kernel-bot <k2ci@xxxxxxxxxx> >>> Signed-off-by: Jackie Liu <liuyun01@xxxxxxxxxx> >>> --- >>> drivers/gpu/drm/rcar-du/Kconfig | 8 -------- >>> drivers/gpu/drm/rcar-du/Makefile | 2 +- >>> 2 files changed, 1 insertion(+), 9 deletions(-) >>> >>> diff --git a/drivers/gpu/drm/rcar-du/Kconfig >>> b/drivers/gpu/drm/rcar-du/Kconfig >>> index b47e74421e34..bc71ad2a472f 100644 >>> --- a/drivers/gpu/drm/rcar-du/Kconfig >>> +++ b/drivers/gpu/drm/rcar-du/Kconfig >>> @@ -4,7 +4,6 @@ config DRM_RCAR_DU >>> depends on DRM && OF >>> depends on ARM || ARM64 >>> depends on ARCH_RENESAS || COMPILE_TEST >>> - imply DRM_RCAR_CMM >>> imply DRM_RCAR_LVDS >>> select DRM_KMS_HELPER >>> select DRM_KMS_CMA_HELPER >>> @@ -14,13 +13,6 @@ config DRM_RCAR_DU >>> Choose this option if you have an R-Car chipset. >>> If M is selected the module will be called rcar-du-drm. >>> -config DRM_RCAR_CMM >>> - tristate "R-Car DU Color Management Module (CMM) Support" >>> - depends on DRM && OF >>> - depends on DRM_RCAR_DU >>> - help >>> - Enable support for R-Car Color Management Module (CMM). >>> - >> >> I suspect the issue lies somewhere in this config that the CMM is not >> being enforced to be a built in when the DU is built in ? Checked locally, and indeed KConfig lets us enable the DU as a built in - but the CMM as a module - that can't be allowed. :-( -- Kieran >> >> >>> config DRM_RCAR_DW_HDMI >>> tristate "R-Car Gen3 and RZ/G2 DU HDMI Encoder Support" >>> depends on DRM && OF >>> diff --git a/drivers/gpu/drm/rcar-du/Makefile >>> b/drivers/gpu/drm/rcar-du/Makefile >>> index 4d1187ccc3e5..76ff2e15bc2d 100644 >>> --- a/drivers/gpu/drm/rcar-du/Makefile >>> +++ b/drivers/gpu/drm/rcar-du/Makefile >>> @@ -5,6 +5,7 @@ rcar-du-drm-y := rcar_du_crtc.o \ >>> rcar_du_group.o \ >>> rcar_du_kms.o \ >>> rcar_du_plane.o \ >>> + rcar_cmm.o >>> rcar-du-drm-$(CONFIG_DRM_RCAR_LVDS) += rcar_du_of.o \ >>> rcar_du_of_lvds_r8a7790.dtb.o \ >>> @@ -15,7 +16,6 @@ rcar-du-drm-$(CONFIG_DRM_RCAR_LVDS) += >>> rcar_du_of.o \ >>> rcar-du-drm-$(CONFIG_DRM_RCAR_VSP) += rcar_du_vsp.o >>> rcar-du-drm-$(CONFIG_DRM_RCAR_WRITEBACK) += rcar_du_writeback.o >>> -obj-$(CONFIG_DRM_RCAR_CMM) += rcar_cmm.o >>> obj-$(CONFIG_DRM_RCAR_DU) += rcar-du-drm.o >>> obj-$(CONFIG_DRM_RCAR_DW_HDMI) += rcar_dw_hdmi.o >>> obj-$(CONFIG_DRM_RCAR_LVDS) += rcar_lvds.o >>>