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

From: Arnd Bergmann
Date: Thu Jan 13 2022 - 06:10:38 EST


On Thu, Jan 13, 2022 at 10:42 AM Sunil Kovvuri Goutham
<sgoutham@xxxxxxxxxxx> wrote:
> >From: Arnd Bergmann <arnd@xxxxxxxx>

> >
> >Ok, and those are the same family as the earlier cnMIPS based OCTEON
> >CN3xxx/CN5xxx/CN6xxx/CN7xxx/CNF7xxx and the later ARMv8.2
> >Fusion CNF9xxx, right?
>
> Yes, except the CNF9x.

Ok, what is CNF9x then?

> >> Octeon 10 and OcteonTx2 (9x series) are different families and not related to
> >> Armada as well.
>
> >I assume with '9x' you mean only the CN92xx/CN96xx/CN98xx/CN10x/DPU400
> >family here, not the OcteonTx2 CN91xx that is clearly part of the Marvell
> >Sheeva/Kirkwood/MVEBU/Armada family, and the CN99xx in the
> >Netlogic/Broadcom family.
>
> By 9x I mean CN96xx, CN98xx, CNF9xx, base architecture is same across all.

> >Is there anything that you can say about this product line? It looked like it
> >was derived from the cnMIPS/OcteonTX line, and it seems to share its
> >mystery (presumably ThunderX1-derived rather than Cortex or Vulcan)
> >ARMv8.2 core with the CNF9xxx.
>
> 9x core is Marvell (or Cavium) developed core and is next-gen of 8x.
> 10x and DPU400 have ARM cores.

I don't care about the CPU core, only about the SoC design for the family,
the old octeon family includes both cnMIPS and ThunderX cores already
and those are not even the same ISA, so going from custom ARMv8.2
cores to Neoverse ARMv9 is not relevant at all.

> CN91xx is Armada.

Ok

> >> But I am fine if ARCH_THUNDER is renamed to ARCH_OCTEON to include all.
>
> >I'd really prefer to have sensible names, so if there are six unrelated Marvell
> >SoC families (pxa/mmp, armada/mvebu/cn91xx, xlp/vulcan/thunderx2,
> >berlin/synaptics, cavium/octeon/thunderx/fusion, and whatever turned into
> >non-cavium cn92xx/cn96xx/cn98xx/cn10x/dpu400) instead of five, we should
> >probably have six ARCH_* names for those. (Note: for some other
> >manufacturers such as Broadcom or Mediatek, we do use just the company
> >name as the CONFIG_ARCH_* symbol, but I feel that for Marvell or NXP,
> >that ship has sailed long ago, based on the number of acquisitions and
> >spinoffs).
> >
> >Any suggestions for the name? Were these acquired from some other company?
>
> For OcteonTx2, CN10K and future silicons, ARCH_MARVELL_OCTEON / ARCH_MRVL_OCTEON ?
> Different ARCH_* config for each family is not needed IMHO.

It does sound like these are all the same family then. Ideally we'd use the same
name as the MIPS based parts, but those currently use
CONFIG_CAVIUM_OCTEON_SOC, which doesn't fit the same naming scheme,
and we seem to have a duplicate set of drivers.

We usually pick shorter names, so I'd just leave it with CONFIG_ARCH_OCTEON
as I have in my current patch. That also means it's less likely to
require a rename
after the next acquisition or spinoff ;-)

Arnd