2022-01-12 23:28:14

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [EXT] [PATCH] hwrng: cn10k - HW_RANDOM_CN10K should depend on ARCH_THUNDER

On Wed, Jan 12, 2022 at 4:55 PM Sunil Kovvuri Goutham
<[email protected]> wrote:
> >From: Geert Uytterhoeven <[email protected]>
> >Sent: Wednesday, January 12, 2022 7:33 PM
> >To: Herbert Xu <[email protected]>; Sunil Kovvuri Goutham <[email protected]>; Bharat Bhushan <[email protected]>; Joseph Longever <[email protected]>
> >Cc: Arnd Bergmann <[email protected]>; [email protected] <[email protected]>; [email protected] <[email protected]>; Geert Uytterhoeven <[email protected]>
> >Subject: [EXT] [PATCH] hwrng: cn10k - HW_RANDOM_CN10K should depend on ARCH_THUNDER
> >The Marvell CN10K True Random Number generator is only present on
> >Marvell CN10K SoCs, and not available as an independent PCIe endpoint.
> >Hence add a dependency on ARCH_THUNDER, to prevent asking the user about
> >this driver when configuring a kernel without Cavium Thunder (incl.
> >Marvell CN10K) SoC support.
> >
> >Fixes: 38e9791a02090414 ("hwrng: cn10k - Add random number generator support")
> >Signed-off-by: Geert Uytterhoeven <[email protected]>
> >---
> >drivers/char/hw_random/Kconfig | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> >diff --git a/drivers/char/hw_random/Kconfig b/drivers/char/hw_random/Kconfig
> >index c91cb48a1db168dd..b33c01e9935336f7 100644
> >--- a/drivers/char/hw_random/Kconfig
> >+++ b/drivers/char/hw_random/Kconfig
> >@@ -540,7 +540,7 @@ config HW_RANDOM_ARM_SMCCC_TRNG
> >
> > config HW_RANDOM_CN10K
> > tristate "Marvell CN10K Random Number Generator support"
> >- depends on HW_RANDOM && PCI && ARM64
> >+ depends on HW_RANDOM && PCI && ARCH_THUNDER
> > default HW_RANDOM
> > help
> > This driver provides support for the True Random Number
> Nack.
> ARCH_THUNDER/THUNDER2 are old Cavium server class silicon series
> which are not related to Marvell CN10K silicon.

Can you tell me where you would draw the line? Based on a discussion we had on
IRC, I was going to send a patch to rename ARCH_THUNDER to ARCH_OCTEON
and clarify how it relates to the other families. Here is what I
understood it should be:

bool "Marvell OCTEON and ThunderX data processing units"
This enables support for Marvell (formerly Cavium) OCTEON
Family of DPUs and SoCs, including OCTEON 10, Octeon TX2
CN92xx/CN96xx/CN98xx, OcteonTX CN8xxx, ThunderX CN88xx, and
Octeon Fusion products.

Note: these are unrelated to the similarly named ThunderX2
CN99xx server processors, the Octeon TX2 91xx SoCs and the
Armada processors.

bool "Marvell/Cavium ThunderX2 Server Processors"
select GPIOLIB
This enables support for Marvell's discontinued ThunderX2
CN99XX family of server processors, originally sold by Cavium.

Note: these do not include the unrelated ThunderX CN88xx or
OCTEON TX2 processors, despite the similarities in naming.

bool "Marvell EBU SoC Family"
This enables support for Marvell EBU familly, including:
- Armada 3700 SoC Family
- Armada 7K SoC Family
- Armada 8K SoC Family
- Octeon TX2 CN91xx Family

If that's not the correct interpretation, does that mean that OCTEON 10
and Octeon TX2 CN92xx/CN96xx/CN98xx are a different family from
Octeon/TX CN8xxx and ThunderX CN88xx and should have a fourth
symbol, or are they part of the Armada family?