2023-12-11 22:07:05

by Conor Dooley

[permalink] [raw]
Subject: [PATCH v1] soc: renesas: make ARCH_R9A07G043 depend on !DMA_DIRECT_REMAP

From: Conor Dooley <[email protected]>

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 <[email protected]>
Tested-by: Randy Dunlap <[email protected]> # build-tested
Closes: https://lore.kernel.org/all/[email protected]/
Signed-off-by: Conor Dooley <[email protected]>
---
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 <[email protected]>
CC: Magnus Damm <[email protected]>
CC: Conor Dooley <[email protected]>
CC: Lad Prabhakar <[email protected]>
CC: [email protected]
CC: [email protected]
---
drivers/soc/renesas/Kconfig | 1 +
1 file changed, 1 insertion(+)

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
--
2.39.2


2023-12-12 08:19:53

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [PATCH v1] soc: renesas: make ARCH_R9A07G043 depend on !DMA_DIRECT_REMAP

Hi Conor,

On Mon, Dec 11, 2023 at 11:06 PM Conor Dooley <[email protected]> wrote:
> From: Conor Dooley <[email protected]>
>
> 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 <[email protected]>
> Tested-by: Randy Dunlap <[email protected]> # build-tested
> Closes: https://lore.kernel.org/all/[email protected]/
> Signed-off-by: Conor Dooley <[email protected]>

Reviewed-by: Geert Uytterhoeven <[email protected]>
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

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

2023-12-12 08:44:18

by Conor Dooley

[permalink] [raw]
Subject: Re: [PATCH v1] soc: renesas: make ARCH_R9A07G043 depend on !DMA_DIRECT_REMAP

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 <[email protected]> wrote:
> > From: Conor Dooley <[email protected]>
> >
> > 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 <[email protected]>
> > Tested-by: Randy Dunlap <[email protected]> # build-tested
> > Closes: https://lore.kernel.org/all/[email protected]/
> > Signed-off-by: Conor Dooley <[email protected]>
>
> Reviewed-by: Geert Uytterhoeven <[email protected]>
> 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...


Attachments:
(No filename) (2.15 kB)
signature.asc (235.00 B)
Download all attachments

2023-12-13 16:18:54

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [PATCH v1] soc: renesas: make ARCH_R9A07G043 depend on !DMA_DIRECT_REMAP

On Tue, Dec 12, 2023 at 9:43 AM Conor Dooley <[email protected]> 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 <[email protected]> wrote:
> > > From: Conor Dooley <[email protected]>
> > >
> > > 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 <[email protected]>
> > > Tested-by: Randy Dunlap <[email protected]> # build-tested
> > > Closes: https://lore.kernel.org/all/[email protected]/
> > > Signed-off-by: Conor Dooley <[email protected]>
> >
> > Reviewed-by: Geert Uytterhoeven <[email protected]>
> > 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

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds