Re: [PATCH v3 07/13] drm: Make drivers depends on DRM_DW_HDMI
On Tue, 23 Apr 2024, Mark Brown wrote: > On Tue, Apr 02, 2024 at 04:43:46PM +0100, Mark Brown wrote: >> On Wed, Mar 27, 2024 at 11:57:02AM +0100, Maxime Ripard wrote: >> >> > DRM_DW_HDMI has a number of dependencies that might not be enabled. >> > However, drivers were used to selecting it while not enforcing the >> > DRM_DW_HDMI dependencies. >> > >> > This could result in Kconfig warnings (and further build breakages) such >> > as: >> > >> > Kconfig warnings: (for reference only) >> > WARNING: unmet direct dependencies detected for DRM_DW_HDMI >> > Depends on [n]: HAS_IOMEM [=y] && DRM [=m] && DRM_BRIDGE [=y] && >> > DRM_DISPLAY_HELPER [=n] >> > Selected by [m]: >> > - DRM_SUN8I_DW_HDMI [=m] && HAS_IOMEM [=y] && DRM_SUN4I [=m] > >> This has landed in -next and appears to be causing breakage for several >> platforms using these devices. For example I'm seeing the HDMI fail to >> probe on sun50i-a64-pin64-plus with arm64 defconfig, the DT kselftest >> result isn't terribly informative but it can be seen here: > > It has now been *three* weeks that this breakage has sat unaddressed in > -next, this has been making my CI for -next unusable. Given that > getting the defconfig bits of this merged appears somwhow unreasonably > difficult can we please drop these changes from the DRM tree until some > strategy for getting everything merged is put into place? This is what's being done [1]. BR, Jani. [1] https://lore.kernel.org/r/cover.1713780345.git.geert+rene...@glider.be -- Jani Nikula, Intel
Re: [PATCH v3 07/13] drm: Make drivers depends on DRM_DW_HDMI
On Tue, Apr 02, 2024 at 04:43:46PM +0100, Mark Brown wrote: > On Wed, Mar 27, 2024 at 11:57:02AM +0100, Maxime Ripard wrote: > > > DRM_DW_HDMI has a number of dependencies that might not be enabled. > > However, drivers were used to selecting it while not enforcing the > > DRM_DW_HDMI dependencies. > > > > This could result in Kconfig warnings (and further build breakages) such > > as: > > > > Kconfig warnings: (for reference only) > > WARNING: unmet direct dependencies detected for DRM_DW_HDMI > > Depends on [n]: HAS_IOMEM [=y] && DRM [=m] && DRM_BRIDGE [=y] && > > DRM_DISPLAY_HELPER [=n] > > Selected by [m]: > > - DRM_SUN8I_DW_HDMI [=m] && HAS_IOMEM [=y] && DRM_SUN4I [=m] > This has landed in -next and appears to be causing breakage for several > platforms using these devices. For example I'm seeing the HDMI fail to > probe on sun50i-a64-pin64-plus with arm64 defconfig, the DT kselftest > result isn't terribly informative but it can be seen here: It has now been *three* weeks that this breakage has sat unaddressed in -next, this has been making my CI for -next unusable. Given that getting the defconfig bits of this merged appears somwhow unreasonably difficult can we please drop these changes from the DRM tree until some strategy for getting everything merged is put into place? signature.asc Description: PGP signature
Re: [PATCH v3 07/13] drm: Make drivers depends on DRM_DW_HDMI
Hi, Am Dienstag, 2. April 2024, 17:43:41 CEST schrieb Mark Brown: > On Wed, Mar 27, 2024 at 11:57:02AM +0100, Maxime Ripard wrote: > > > DRM_DW_HDMI has a number of dependencies that might not be enabled. > > However, drivers were used to selecting it while not enforcing the > > DRM_DW_HDMI dependencies. > > > > This could result in Kconfig warnings (and further build breakages) such > > as: > > > > Kconfig warnings: (for reference only) > > WARNING: unmet direct dependencies detected for DRM_DW_HDMI > > Depends on [n]: HAS_IOMEM [=y] && DRM [=m] && DRM_BRIDGE [=y] && > > DRM_DISPLAY_HELPER [=n] > > Selected by [m]: > > - DRM_SUN8I_DW_HDMI [=m] && HAS_IOMEM [=y] && DRM_SUN4I [=m] > > This has landed in -next and appears to be causing breakage for several > platforms using these devices. For example I'm seeing the HDMI fail to > probe on sun50i-a64-pin64-plus with arm64 defconfig, the DT kselftest > result isn't terribly informative but it can be seen here: > [snip] > > The change introduces a new dependency on DRM_DW_HDMI to the various > drivers but I'm not seeing any defconfig updates which turn that option > anywhere so it's not clear how this is expected to avoid regressing the > defconfig behaviours unless I'm missing something? I noticed the same. From what I can tell, several drivers (e.g. imx8mp and imx6q) now depend on DRM_DW_HDMI without anybody actually selecting it. This results in a dependency which can not be enabled manually. Reverting restores a working driver. Best regards, Alexander -- TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany Amtsgericht München, HRB 105018 Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider http://www.tq-group.com/
Re: [PATCH v3 07/13] drm: Make drivers depends on DRM_DW_HDMI
On Wed, Mar 27, 2024 at 11:57:02AM +0100, Maxime Ripard wrote: > DRM_DW_HDMI has a number of dependencies that might not be enabled. > However, drivers were used to selecting it while not enforcing the > DRM_DW_HDMI dependencies. > > This could result in Kconfig warnings (and further build breakages) such > as: > > Kconfig warnings: (for reference only) > WARNING: unmet direct dependencies detected for DRM_DW_HDMI > Depends on [n]: HAS_IOMEM [=y] && DRM [=m] && DRM_BRIDGE [=y] && > DRM_DISPLAY_HELPER [=n] > Selected by [m]: > - DRM_SUN8I_DW_HDMI [=m] && HAS_IOMEM [=y] && DRM_SUN4I [=m] This has landed in -next and appears to be causing breakage for several platforms using these devices. For example I'm seeing the HDMI fail to probe on sun50i-a64-pin64-plus with arm64 defconfig, the DT kselftest result isn't terribly informative but it can be seen here: https://lava.sirena.org.uk/scheduler/job/78288#L6007 which I bisected to this change: # bad: [c0b832517f627ead3388c6f0c74e8ac10ad5774b] Add linux-next specific files for 20240402 # good: [0fc83069bcaee78f60b8511d9453a9441963a072] Merge branch 'for-linux-next-fixes' of https://gitlab.freedesktop.org/drm/misc/kernel.git # good: [ba5206881843e16b74a07c37970dcc44d22f8f6f] spi: spi.h: add missing kernel-doc for @last_cs_index_mask # good: [64fe73d10323e399b2e8eb5407390bcb302a046c] spi: fsl: remove is_dma_mapped checks # good: [bb77c99ee6d3d704086acf141d3ec92601747809] spi: pxa2xx: Skip SSP initialization if it's done elsewhere # good: [e64d3b6fc9a388d7dc516668651cf4404bffec9b] spi: omap2-mcpsi: Enable MULTI-mode in more situations # good: [57ad033ce09d4d0c866ac558fc3c4cf53cfb2599] ASoC: Intel: sof_cs42l42: add mtl_cs42l42_def for mtl boards # good: [7b5f2072657a9041cbaf4ba139f672be11694ca3] ASoC: dt-bindings: fsl-sai: allow only one dma-names # good: [a5bef84422eb066ee8fa5c13960657a79b3cc1e7] spi: fsl-dspi: drop driver owner assignment # good: [29580cd7b9c6f975e88597ca66a001b16b97bae9] ASoC: sdw-mockup: drop driver owner assignment # good: [ea60ab95723f5738e7737b56dda95e6feefa5b50] ASoC: kirkwood: Fix potential NULL dereference # good: [c0a3873b9938bfaa77bd337cad33266a50a6583f] ASoC: nau8325: new driver # good: [559aebe45a054a479fdbd2a3dfba999ffd73cc9d] ASoC: sun8i-codec: Fix build with CONFIG_SND_JACK_INPUT_DEV disabled # good: [d5449432f794e75cd4f5e46bc33bfe6ce20b657d] spi: pxa2xx: Switch to use dev_err_probe() # good: [7b95ee0db7e0a7f99077f1b926323c7bf0d2e8f8] ASoC: soc-jack: Get rid of legacy GPIO support # good: [ea5fee227ff3dae209062ac9544906debe1e9ac1] ASoC: hdac_hda: improve error logs # good: [4ed0915f5bc4bcc81bca783a5b984f3d81e9764e] ASoC: codecs: Add RK3308 internal audio codec driver # good: [59ffeb15b2f7b44cf934fd778dc0d98a35aa6a84] ASoC: Intel: sof_sdw: Add support for cs42l43 optional speaker output # good: [1e90a846493c716e3e6b4d901fc0844e9eea6430] ASoC: soc-dai: Note valid values of sysclock direction # good: [61cafaeab5bca2d3e6a68ee8fa92b5c10b8610ca] ASoC: Intel: sof_rt5682: board id cleanup for cml boards # good: [9b163e0d330debbf7dcc14b2c3e2dc19a3b50a1d] spi: remove struct spi_message::is_dma_mapped # good: [b340f56a74b62d8ce8617650c8ab4a26c87ba5c5] ASoC: dt-bindings: wm8974: Convert to dtschema # good: [bdeef5dcea6b164f4bd614655821b1ef12ebec9a] spi: rspi: Get rid of unused struct rspi_plat_data # good: [885dd75f41f9fff5b277bc6ab28ad798f98a37b4] ASoC: dt-bindings: fsl-esai: Convert fsl,esai.txt to yaml # good: [10402419f2d60890525f590b54d0eaec3de0d87a] spi: spi-mt65xx: Rename a variable in interrupt handler # good: [9855f05e553637f05494cf47a3154cbf9a5cfc67] ASoC: fsl: imx-es8328: Switch to using gpiod API # good: [5f39231888c63f0a7708abc86b51b847476379d8] ASoC: mediatek: Assign dummy when codec not specified for a DAI link # good: [5edeb7d312628961046eec9b26a7e72f44baf846] regulator: pca9450: add pca9451a support # good: [c14445bdcb98feddf9afaeb05e6193cc1f8eec1a] ASoC: fsl: imx-rpmsg: Update to correct DT node # good: [a39111b1cf0864b1782f30f9a1fa65260d057327] spi: xilinx: Make num_chipselect 8-bit in the struct xspi_platform_data # good: [b5867a5c0d7a6bf36f59f3d472c7aed33ca4d02c] spi: pxa2xx: Use proper SSP header in soc/pxa/ssp.c # good: [60c10c678b582d41532fefa12667d8adca75811b] ASoC: Intel: avs: i2s_test: Remove redundant dapm routes # good: [21fa98f4197bb3365dda1417708b318f403c13c1] ASoC: sun8i-codec: Implement jack and accessory detection # good: [cee28113db17f0de58df0eaea4e2756c404ee01f] ASoC: dmaengine_pcm: Allow passing component name via config # good: [aad6b35290f52639d3601063d33d9621c0948a04] regmap: maple: Remove second semicolon # good: [e6913c6ef83c80aa7569c9e0820454fbf542] ASoC: codecs: ES8326: Delete unused REG_SUPPLY # good: [0c5f77f4eaef8ed9fe752d21f40ac471dd511cfc] dt-bindings: regulator: qcom,usb-vbus-regulator: Add PM7250B compatible # good: [ab470abe58c09b2fbe2c1478e67a904fd803e84f] regulator: rpi-panel-attiny: convert to use maple tree register c
Re: [PATCH v3 07/13] drm: Make drivers depends on DRM_DW_HDMI
On Wed, 27 Mar 2024, Maxime Ripard wrote: > DRM_DW_HDMI has a number of dependencies that might not be enabled. > However, drivers were used to selecting it while not enforcing the > DRM_DW_HDMI dependencies. > > This could result in Kconfig warnings (and further build breakages) such > as: > > Kconfig warnings: (for reference only) > WARNING: unmet direct dependencies detected for DRM_DW_HDMI > Depends on [n]: HAS_IOMEM [=y] && DRM [=m] && DRM_BRIDGE [=y] && > DRM_DISPLAY_HELPER [=n] > Selected by [m]: > - DRM_SUN8I_DW_HDMI [=m] && HAS_IOMEM [=y] && DRM_SUN4I [=m] > > Reported-by: kernel test robot > Closes: > https://lore.kernel.org/oe-kbuild-all/202403262127.kzkttfnz-...@intel.com/ > Signed-off-by: Maxime Ripard Acked-by: Jani Nikula > --- > drivers/gpu/drm/bridge/imx/Kconfig | 4 ++-- > drivers/gpu/drm/imx/ipuv3/Kconfig | 5 +++-- > drivers/gpu/drm/ingenic/Kconfig | 2 +- > drivers/gpu/drm/meson/Kconfig | 2 +- > drivers/gpu/drm/renesas/rcar-du/Kconfig | 2 +- > drivers/gpu/drm/rockchip/Kconfig| 2 +- > drivers/gpu/drm/sun4i/Kconfig | 2 +- > 7 files changed, 10 insertions(+), 9 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/imx/Kconfig > b/drivers/gpu/drm/bridge/imx/Kconfig > index 5965e8027529..7687ed652df5 100644 > --- a/drivers/gpu/drm/bridge/imx/Kconfig > +++ b/drivers/gpu/drm/bridge/imx/Kconfig > @@ -3,13 +3,13 @@ if ARCH_MXC || COMPILE_TEST > config DRM_IMX_LDB_HELPER > tristate > > config DRM_IMX8MP_DW_HDMI_BRIDGE > tristate "Freescale i.MX8MP HDMI-TX bridge support" > - depends on OF > depends on COMMON_CLK > - select DRM_DW_HDMI > + depends on DRM_DW_HDMI > + depends on OF > select DRM_IMX8MP_HDMI_PVI > select PHY_FSL_SAMSUNG_HDMI_PHY > help > Choose this to enable support for the internal HDMI encoder found > on the i.MX8MP SoC. > diff --git a/drivers/gpu/drm/imx/ipuv3/Kconfig > b/drivers/gpu/drm/imx/ipuv3/Kconfig > index bacf0655ebaf..5d810ac02171 100644 > --- a/drivers/gpu/drm/imx/ipuv3/Kconfig > +++ b/drivers/gpu/drm/imx/ipuv3/Kconfig > @@ -33,9 +33,10 @@ config DRM_IMX_LDB > Choose this to enable the internal LVDS Display Bridge (LDB) > found on i.MX53 and i.MX6 processors. > > config DRM_IMX_HDMI > tristate "Freescale i.MX DRM HDMI" > - select DRM_DW_HDMI > - depends on DRM_IMX && OF > + depends on DRM_DW_HDMI > + depends on DRM_IMX > + depends on OF > help > Choose this if you want to use HDMI on i.MX6. > diff --git a/drivers/gpu/drm/ingenic/Kconfig b/drivers/gpu/drm/ingenic/Kconfig > index 3db117c5edd9..23effeb2ac72 100644 > --- a/drivers/gpu/drm/ingenic/Kconfig > +++ b/drivers/gpu/drm/ingenic/Kconfig > @@ -25,12 +25,12 @@ config DRM_INGENIC_IPU > > The Image Processing Unit (IPU) will appear as a second primary plane. > > config DRM_INGENIC_DW_HDMI > tristate "Ingenic specific support for Synopsys DW HDMI" > + depends on DRM_DW_HDMI > depends on MACH_JZ4780 > - select DRM_DW_HDMI > help > Choose this option to enable Synopsys DesignWare HDMI based driver. > If you want to enable HDMI on Ingenic JZ4780 based SoC, you should > select this option. > > diff --git a/drivers/gpu/drm/meson/Kconfig b/drivers/gpu/drm/meson/Kconfig > index 615fdd0ce41b..5520b9e3f010 100644 > --- a/drivers/gpu/drm/meson/Kconfig > +++ b/drivers/gpu/drm/meson/Kconfig > @@ -11,13 +11,13 @@ config DRM_MESON > select MESON_CANVAS > select CEC_CORE if CEC_NOTIFIER > > config DRM_MESON_DW_HDMI > tristate "HDMI Synopsys Controller support for Amlogic Meson Display" > + depends on DRM_DW_HDMI > depends on DRM_MESON > default y if DRM_MESON > - select DRM_DW_HDMI > imply DRM_DW_HDMI_I2S_AUDIO > > config DRM_MESON_DW_MIPI_DSI > tristate "MIPI DSI Synopsys Controller support for Amlogic Meson > Display" > depends on DRM_MESON > diff --git a/drivers/gpu/drm/renesas/rcar-du/Kconfig > b/drivers/gpu/drm/renesas/rcar-du/Kconfig > index 53c356aed5d5..2dc739db2ba3 100644 > --- a/drivers/gpu/drm/renesas/rcar-du/Kconfig > +++ b/drivers/gpu/drm/renesas/rcar-du/Kconfig > @@ -23,12 +23,12 @@ config DRM_RCAR_CMM > depends on DRM_RCAR_USE_CMM > > config DRM_RCAR_DW_HDMI > tristate "R-Car Gen3 and RZ/G2 DU HDMI Encoder Support" > depends on DRM && OF > + depends on DRM_DW_HDMI > depends on DRM_RCAR_DU || COMPILE_TEST > - select DRM_DW_HDMI > help > Enable support for R-Car Gen3 or RZ/G2 internal HDMI encoder. > > config DRM_RCAR_USE_LVDS > bool "R-Car DU LVDS Encoder Support" > diff --git a/drivers/gpu/drm/rockchip/Kconfig > b/drivers/gpu/drm/rockchip/Kconfig > index 1bf3e2829cd0..0d5260e10f27 100644 > --- a/drivers/gpu/drm/rockchip/Kconfig > +++ b/drivers/gpu/drm/rockchip/Kconfig > @@ -5,11 +5,10 @@ config DRM_ROCKCHIP > select DRM_G
[PATCH v3 07/13] drm: Make drivers depends on DRM_DW_HDMI
DRM_DW_HDMI has a number of dependencies that might not be enabled. However, drivers were used to selecting it while not enforcing the DRM_DW_HDMI dependencies. This could result in Kconfig warnings (and further build breakages) such as: Kconfig warnings: (for reference only) WARNING: unmet direct dependencies detected for DRM_DW_HDMI Depends on [n]: HAS_IOMEM [=y] && DRM [=m] && DRM_BRIDGE [=y] && DRM_DISPLAY_HELPER [=n] Selected by [m]: - DRM_SUN8I_DW_HDMI [=m] && HAS_IOMEM [=y] && DRM_SUN4I [=m] Reported-by: kernel test robot Closes: https://lore.kernel.org/oe-kbuild-all/202403262127.kzkttfnz-...@intel.com/ Signed-off-by: Maxime Ripard --- drivers/gpu/drm/bridge/imx/Kconfig | 4 ++-- drivers/gpu/drm/imx/ipuv3/Kconfig | 5 +++-- drivers/gpu/drm/ingenic/Kconfig | 2 +- drivers/gpu/drm/meson/Kconfig | 2 +- drivers/gpu/drm/renesas/rcar-du/Kconfig | 2 +- drivers/gpu/drm/rockchip/Kconfig| 2 +- drivers/gpu/drm/sun4i/Kconfig | 2 +- 7 files changed, 10 insertions(+), 9 deletions(-) diff --git a/drivers/gpu/drm/bridge/imx/Kconfig b/drivers/gpu/drm/bridge/imx/Kconfig index 5965e8027529..7687ed652df5 100644 --- a/drivers/gpu/drm/bridge/imx/Kconfig +++ b/drivers/gpu/drm/bridge/imx/Kconfig @@ -3,13 +3,13 @@ if ARCH_MXC || COMPILE_TEST config DRM_IMX_LDB_HELPER tristate config DRM_IMX8MP_DW_HDMI_BRIDGE tristate "Freescale i.MX8MP HDMI-TX bridge support" - depends on OF depends on COMMON_CLK - select DRM_DW_HDMI + depends on DRM_DW_HDMI + depends on OF select DRM_IMX8MP_HDMI_PVI select PHY_FSL_SAMSUNG_HDMI_PHY help Choose this to enable support for the internal HDMI encoder found on the i.MX8MP SoC. diff --git a/drivers/gpu/drm/imx/ipuv3/Kconfig b/drivers/gpu/drm/imx/ipuv3/Kconfig index bacf0655ebaf..5d810ac02171 100644 --- a/drivers/gpu/drm/imx/ipuv3/Kconfig +++ b/drivers/gpu/drm/imx/ipuv3/Kconfig @@ -33,9 +33,10 @@ config DRM_IMX_LDB Choose this to enable the internal LVDS Display Bridge (LDB) found on i.MX53 and i.MX6 processors. config DRM_IMX_HDMI tristate "Freescale i.MX DRM HDMI" - select DRM_DW_HDMI - depends on DRM_IMX && OF + depends on DRM_DW_HDMI + depends on DRM_IMX + depends on OF help Choose this if you want to use HDMI on i.MX6. diff --git a/drivers/gpu/drm/ingenic/Kconfig b/drivers/gpu/drm/ingenic/Kconfig index 3db117c5edd9..23effeb2ac72 100644 --- a/drivers/gpu/drm/ingenic/Kconfig +++ b/drivers/gpu/drm/ingenic/Kconfig @@ -25,12 +25,12 @@ config DRM_INGENIC_IPU The Image Processing Unit (IPU) will appear as a second primary plane. config DRM_INGENIC_DW_HDMI tristate "Ingenic specific support for Synopsys DW HDMI" + depends on DRM_DW_HDMI depends on MACH_JZ4780 - select DRM_DW_HDMI help Choose this option to enable Synopsys DesignWare HDMI based driver. If you want to enable HDMI on Ingenic JZ4780 based SoC, you should select this option. diff --git a/drivers/gpu/drm/meson/Kconfig b/drivers/gpu/drm/meson/Kconfig index 615fdd0ce41b..5520b9e3f010 100644 --- a/drivers/gpu/drm/meson/Kconfig +++ b/drivers/gpu/drm/meson/Kconfig @@ -11,13 +11,13 @@ config DRM_MESON select MESON_CANVAS select CEC_CORE if CEC_NOTIFIER config DRM_MESON_DW_HDMI tristate "HDMI Synopsys Controller support for Amlogic Meson Display" + depends on DRM_DW_HDMI depends on DRM_MESON default y if DRM_MESON - select DRM_DW_HDMI imply DRM_DW_HDMI_I2S_AUDIO config DRM_MESON_DW_MIPI_DSI tristate "MIPI DSI Synopsys Controller support for Amlogic Meson Display" depends on DRM_MESON diff --git a/drivers/gpu/drm/renesas/rcar-du/Kconfig b/drivers/gpu/drm/renesas/rcar-du/Kconfig index 53c356aed5d5..2dc739db2ba3 100644 --- a/drivers/gpu/drm/renesas/rcar-du/Kconfig +++ b/drivers/gpu/drm/renesas/rcar-du/Kconfig @@ -23,12 +23,12 @@ config DRM_RCAR_CMM depends on DRM_RCAR_USE_CMM config DRM_RCAR_DW_HDMI tristate "R-Car Gen3 and RZ/G2 DU HDMI Encoder Support" depends on DRM && OF + depends on DRM_DW_HDMI depends on DRM_RCAR_DU || COMPILE_TEST - select DRM_DW_HDMI help Enable support for R-Car Gen3 or RZ/G2 internal HDMI encoder. config DRM_RCAR_USE_LVDS bool "R-Car DU LVDS Encoder Support" diff --git a/drivers/gpu/drm/rockchip/Kconfig b/drivers/gpu/drm/rockchip/Kconfig index 1bf3e2829cd0..0d5260e10f27 100644 --- a/drivers/gpu/drm/rockchip/Kconfig +++ b/drivers/gpu/drm/rockchip/Kconfig @@ -5,11 +5,10 @@ config DRM_ROCKCHIP select DRM_GEM_DMA_HELPER select DRM_KMS_HELPER select DRM_PANEL select VIDEOMODE_HELPERS select DRM_ANALOGIX_DP if ROCKCHIP_ANALOGIX_DP - select DRM_DW_HDMI if ROCKCHIP_DW_HDMI select DRM_DW