diff mbox series

[v1] soc: renesas: make ARCH_R9A07G043 depend on !DMA_DIRECT_REMAP

Message ID 20231211-primate-arbitrate-fbcd307a0b00@spud (mailing list archive)
State Mainlined
Commit 31b2daea07643d8b83d62c670c76d95acca84f06
Delegated to: Geert Uytterhoeven
Headers show
Series [v1] soc: renesas: make ARCH_R9A07G043 depend on !DMA_DIRECT_REMAP | expand

Commit Message

Conor Dooley Dec. 11, 2023, 10:06 p.m. UTC
From: Conor Dooley <conor.dooley@microchip.com>

Randy reported yet another build issue with randconfigs on rv32:
WARNING: unmet direct dependencies detected for DMA_GLOBAL_POOL
  Depends on [n]: !ARCH_HAS_DMA_SET_UNCACHED [=n] && !DMA_DIRECT_REMAP [=y]
  Selected by [y]:
  - ARCH_R9A07G043 [=y] && SOC_RENESAS [=y] && RISCV [=y] && NONPORTABLE [=y] && RISCV_ALTERNATIVE [=y] && !RISCV_ISA_ZICBOM [=n] && RISCV_SBI [=y]

This happens when DMA_DIRECT_REMAP is selected by the T-Head CMO erratum
option and DMA_GLOBAL_POOL is selected by the Andes CMO erratum. Block
selecting the RZ/Five config option, and by extension DMA_GLOBAL_POOL,
if DMA_DIRECT_REMAP has already been enabled.

Fixes: 484861e09f3e ("soc: renesas: Kconfig: Select the required configs for RZ/Five SoC")
Reported-by: Randy Dunlap <rdunlap@infradead.org>
Tested-by: Randy Dunlap <rdunlap@infradead.org> # build-tested
Closes: https://lore.kernel.org/all/24942b4d-d16a-463f-b39a-f9dfcb89d742@infradead.org/
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
---
I don't know what the exact fixes tag here is as I did not bisect with
the randconfig, so I blamed the one that added DMA_GLOBAL_POOL.

CC: Geert Uytterhoeven <geert+renesas@glider.be>
CC: Magnus Damm <magnus.damm@gmail.com>
CC: Conor Dooley <conor.dooley@microchip.com>
CC: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
CC: linux-renesas-soc@vger.kernel.org
CC: linux-kernel@vger.kernel.org
---
 drivers/soc/renesas/Kconfig | 1 +
 1 file changed, 1 insertion(+)

Comments

Geert Uytterhoeven Dec. 12, 2023, 8:19 a.m. UTC | #1
Hi Conor,

On Mon, Dec 11, 2023 at 11:06 PM Conor Dooley <conor@kernel.org> wrote:
> From: Conor Dooley <conor.dooley@microchip.com>
>
> Randy reported yet another build issue with randconfigs on rv32:
> WARNING: unmet direct dependencies detected for DMA_GLOBAL_POOL
>   Depends on [n]: !ARCH_HAS_DMA_SET_UNCACHED [=n] && !DMA_DIRECT_REMAP [=y]
>   Selected by [y]:
>   - ARCH_R9A07G043 [=y] && SOC_RENESAS [=y] && RISCV [=y] && NONPORTABLE [=y] && RISCV_ALTERNATIVE [=y] && !RISCV_ISA_ZICBOM [=n] && RISCV_SBI [=y]
>
> This happens when DMA_DIRECT_REMAP is selected by the T-Head CMO erratum

or by the Zicbom extension support?

> option and DMA_GLOBAL_POOL is selected by the Andes CMO erratum. Block
> selecting the RZ/Five config option, and by extension DMA_GLOBAL_POOL,
> if DMA_DIRECT_REMAP has already been enabled.
>
> Fixes: 484861e09f3e ("soc: renesas: Kconfig: Select the required configs for RZ/Five SoC")
> Reported-by: Randy Dunlap <rdunlap@infradead.org>
> Tested-by: Randy Dunlap <rdunlap@infradead.org> # build-tested
> Closes: https://lore.kernel.org/all/24942b4d-d16a-463f-b39a-f9dfcb89d742@infradead.org/
> Signed-off-by: Conor Dooley <conor.dooley@microchip.com>

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
i.e. will queue in renesas-devel for v6.8.

Or should this be queued as a fix for v6.7 instead?

> ---
> I don't know what the exact fixes tag here is as I did not bisect with
> the randconfig, so I blamed the one that added DMA_GLOBAL_POOL.

Bisection leads to commit da323d4640704001 ("dma-direct: add
dependencies to CONFIG_DMA_GLOBAL_POOL") in v6.7-rc1, but that is
merely making visible the symptoms, so I think your Fixes tag is fine.

Esmil: I think you need a similar fix for ERRATA_STARFIVE_JH7100 in
your tree.

Gr{oetje,eeting}s,

                        Geert
Conor Dooley Dec. 12, 2023, 8:43 a.m. UTC | #2
On Tue, Dec 12, 2023 at 09:19:32AM +0100, Geert Uytterhoeven wrote:
> Hi Conor,
> 
> On Mon, Dec 11, 2023 at 11:06 PM Conor Dooley <conor@kernel.org> wrote:
> > From: Conor Dooley <conor.dooley@microchip.com>
> >
> > Randy reported yet another build issue with randconfigs on rv32:
> > WARNING: unmet direct dependencies detected for DMA_GLOBAL_POOL
> >   Depends on [n]: !ARCH_HAS_DMA_SET_UNCACHED [=n] && !DMA_DIRECT_REMAP [=y]
> >   Selected by [y]:
> >   - ARCH_R9A07G043 [=y] && SOC_RENESAS [=y] && RISCV [=y] && NONPORTABLE [=y] && RISCV_ALTERNATIVE [=y] && !RISCV_ISA_ZICBOM [=n] && RISCV_SBI [=y]
> >
> > This happens when DMA_DIRECT_REMAP is selected by the T-Head CMO erratum
> 
> or by the Zicbom extension support?

Probably, yeah. That was just the conditions for this particular
randconfig IIRC.

> > option and DMA_GLOBAL_POOL is selected by the Andes CMO erratum. Block
> > selecting the RZ/Five config option, and by extension DMA_GLOBAL_POOL,
> > if DMA_DIRECT_REMAP has already been enabled.
> >
> > Fixes: 484861e09f3e ("soc: renesas: Kconfig: Select the required configs for RZ/Five SoC")
> > Reported-by: Randy Dunlap <rdunlap@infradead.org>
> > Tested-by: Randy Dunlap <rdunlap@infradead.org> # build-tested
> > Closes: https://lore.kernel.org/all/24942b4d-d16a-463f-b39a-f9dfcb89d742@infradead.org/
> > Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
> 
> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
> i.e. will queue in renesas-devel for v6.8.
> 
> Or should this be queued as a fix for v6.7 instead?

Depends on your opinion on how critical such a fix is I suppose.

> > ---
> > I don't know what the exact fixes tag here is as I did not bisect with
> > the randconfig, so I blamed the one that added DMA_GLOBAL_POOL.
> 
> Bisection leads to commit da323d4640704001 ("dma-direct: add
> dependencies to CONFIG_DMA_GLOBAL_POOL") in v6.7-rc1, but that is
> merely making visible the symptoms, so I think your Fixes tag is fine.
> 
> Esmil: I think you need a similar fix for ERRATA_STARFIVE_JH7100 in
> your tree.

I probably need a similar fix in my tree for that, since I applied
Emil's patches...
Geert Uytterhoeven Dec. 13, 2023, 4:18 p.m. UTC | #3
On Tue, Dec 12, 2023 at 9:43 AM Conor Dooley <conor.dooley@microchip.com> wrote:
> On Tue, Dec 12, 2023 at 09:19:32AM +0100, Geert Uytterhoeven wrote:
> > On Mon, Dec 11, 2023 at 11:06 PM Conor Dooley <conor@kernel.org> wrote:
> > > From: Conor Dooley <conor.dooley@microchip.com>
> > >
> > > Randy reported yet another build issue with randconfigs on rv32:
> > > WARNING: unmet direct dependencies detected for DMA_GLOBAL_POOL
> > >   Depends on [n]: !ARCH_HAS_DMA_SET_UNCACHED [=n] && !DMA_DIRECT_REMAP [=y]
> > >   Selected by [y]:
> > >   - ARCH_R9A07G043 [=y] && SOC_RENESAS [=y] && RISCV [=y] && NONPORTABLE [=y] && RISCV_ALTERNATIVE [=y] && !RISCV_ISA_ZICBOM [=n] && RISCV_SBI [=y]
> > >
> > > This happens when DMA_DIRECT_REMAP is selected by the T-Head CMO erratum
> >
> > or by the Zicbom extension support?
>
> Probably, yeah. That was just the conditions for this particular
> randconfig IIRC.
>
> > > option and DMA_GLOBAL_POOL is selected by the Andes CMO erratum. Block
> > > selecting the RZ/Five config option, and by extension DMA_GLOBAL_POOL,
> > > if DMA_DIRECT_REMAP has already been enabled.
> > >
> > > Fixes: 484861e09f3e ("soc: renesas: Kconfig: Select the required configs for RZ/Five SoC")
> > > Reported-by: Randy Dunlap <rdunlap@infradead.org>
> > > Tested-by: Randy Dunlap <rdunlap@infradead.org> # build-tested
> > > Closes: https://lore.kernel.org/all/24942b4d-d16a-463f-b39a-f9dfcb89d742@infradead.org/
> > > Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
> >
> > Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
> > i.e. will queue in renesas-devel for v6.8.
> >
> > Or should this be queued as a fix for v6.7 instead?
>
> Depends on your opinion on how critical such a fix is I suppose.
>
> > > ---
> > > I don't know what the exact fixes tag here is as I did not bisect with
> > > the randconfig, so I blamed the one that added DMA_GLOBAL_POOL.
> >
> > Bisection leads to commit da323d4640704001 ("dma-direct: add
> > dependencies to CONFIG_DMA_GLOBAL_POOL") in v6.7-rc1, but that is
> > merely making visible the symptoms, so I think your Fixes tag is fine.

Actually this change cannot be applied (by hand) to the commit in
the Fixes tag, as at that time RISCV_DMA_NONCOHERENT still selected
DMA_DIRECT_REMAP, thus causing a recursive dependency :-(
So I'm gonna drop the Fixes tag, and just queue it for v6.8.  After all
it's "just a randconfig failure", and I don't want anyone to encourage
backporting any of this NONPORTABLE mess to older stable kernels...

Gr{oetje,eeting}s,

                        Geert
diff mbox series

Patch

diff --git a/drivers/soc/renesas/Kconfig b/drivers/soc/renesas/Kconfig
index 0071864c2111..0986672f6375 100644
--- a/drivers/soc/renesas/Kconfig
+++ b/drivers/soc/renesas/Kconfig
@@ -340,6 +340,7 @@  if RISCV
 config ARCH_R9A07G043
 	bool "RISC-V Platform support for RZ/Five"
 	depends on NONPORTABLE
+	depends on !DMA_DIRECT_REMAP
 	depends on RISCV_ALTERNATIVE
 	depends on !RISCV_ISA_ZICBOM
 	depends on RISCV_SBI