Message ID | 20210129054856.GA20020@gondor.apana.org.au |
---|---|
State | Accepted |
Commit | b4ea2220b86afe6ea962c3bd51f61eaf56cd8212 |
Headers | show |
Series | crypto: octeontx2 - Add dependency on NET_VENDOR_MARVELL | expand |
On 1/28/21 9:48 PM, Herbert Xu wrote: > On Mon, Jan 25, 2021 at 09:41:12AM -0800, Randy Dunlap wrote: >> on x86_64: >> >> ld: drivers/crypto/marvell/octeontx2/otx2_cptpf_main.o: in function `cptpf_flr_wq_handler': >> otx2_cptpf_main.c:(.text+0x2b): undefined reference to `otx2_mbox_alloc_msg_rsp' > > Thanks for the report. The issue is that the crypto driver depends > on code that sits under net so if that option is off then you'll end > up with these errors. > > ---8<--- > The crypto octeontx2 driver depends on the mbox code in the network > tree. It tries to select the MBOX Kconfig option but that option > itself depends on many other options which are not selected, e.g., > CONFIG_NET_VENDOR_MARVELL. It would be inappropriate to select them > all as randomly prompting the user for network options which would > oterhwise be disabled just because a crypto driver has been enabled > makes no sense. > > This patch fixes this by adding a dependency on NET_VENDOR_MARVELL. > This makes the crypto driver invisible if the network option is off. > > If the crypto driver must be visible even without the network stack > then the shared mbox code should be moved out of drivers/net. > > Reported-by: Randy Dunlap <rdunlap@infradead.org> > Reported-by: kernel test robot <lkp@intel.com> > Fixes: 5e8ce8334734 ("crypto: marvell - add Marvell OcteonTX2 CPT...") > Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Thanks, Herbert. Acked-by: Randy Dunlap <rdunlap@infradead.org> # build-tested > diff --git a/drivers/crypto/marvell/Kconfig b/drivers/crypto/marvell/Kconfig > index 2efbd79180ce..a188ad1fadd3 100644 > --- a/drivers/crypto/marvell/Kconfig > +++ b/drivers/crypto/marvell/Kconfig > @@ -41,6 +41,7 @@ config CRYPTO_DEV_OCTEONTX2_CPT > depends on ARM64 || COMPILE_TEST > depends on PCI_MSI && 64BIT > depends on CRYPTO_LIB_AES > + depends on NET_VENDOR_MARVELL > select OCTEONTX2_MBOX > select CRYPTO_DEV_MARVELL > select CRYPTO_SKCIPHER >
> Hi Srujana, > > On Fri, Jan 29, 2021 at 6:53 AM Herbert Xu <herbert@gondor.apana.org.au> > wrote: > > On Mon, Jan 25, 2021 at 09:41:12AM -0800, Randy Dunlap wrote: > > > on x86_64: > > > > > > ld: drivers/crypto/marvell/octeontx2/otx2_cptpf_main.o: in function > `cptpf_flr_wq_handler': > > > otx2_cptpf_main.c:(.text+0x2b): undefined reference to > `otx2_mbox_alloc_msg_rsp' > > > > Thanks for the report. The issue is that the crypto driver depends on > > code that sits under net so if that option is off then you'll end up > > with these errors. > > > > ---8<--- > > The crypto octeontx2 driver depends on the mbox code in the network > > tree. It tries to select the MBOX Kconfig option but that option > > itself depends on many other options which are not selected, e.g., > > CONFIG_NET_VENDOR_MARVELL. It would be inappropriate to select them > > all as randomly prompting the user for network options which would > > oterhwise be disabled just because a crypto driver has been enabled > > makes no sense. > > > > This patch fixes this by adding a dependency on NET_VENDOR_MARVELL. > > This makes the crypto driver invisible if the network option is off. > > > > If the crypto driver must be visible even without the network stack > > then the shared mbox code should be moved out of drivers/net. > > > > Reported-by: Randy Dunlap <rdunlap@infradead.org> > > Reported-by: kernel test robot <lkp@intel.com> > > Fixes: 5e8ce8334734 ("crypto: marvell - add Marvell OcteonTX2 CPT...") > > Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> > > > > diff --git a/drivers/crypto/marvell/Kconfig > > b/drivers/crypto/marvell/Kconfig index 2efbd79180ce..a188ad1fadd3 > > 100644 > > --- a/drivers/crypto/marvell/Kconfig > > +++ b/drivers/crypto/marvell/Kconfig > > @@ -41,6 +41,7 @@ config CRYPTO_DEV_OCTEONTX2_CPT > > depends on ARM64 || COMPILE_TEST > > Why the dependency on ARM64? Perhaps this should be a dependency on > ARCH_THUNDER instead? This driver depends on ARM64 because the silicon is ARM64 based and for operations like lmtst ([PATCH v10,net-next,1/3] octeontx2-pf: move lmt flush to include/linux/soc) we use arm64 assembly instructions. > I see this driver is a PCI driver. Can the PCI device be present on a generic > PCI(e) expansion card, or is it always embedded in an Octeon SoC? > > Thanks! > This PCI device is present only on OcteonTx2 SoC and not as a independent PCIe endpoint. > > depends on PCI_MSI && 64BIT > > depends on CRYPTO_LIB_AES > > + depends on NET_VENDOR_MARVELL > > select OCTEONTX2_MBOX > > select CRYPTO_DEV_MARVELL > > select CRYPTO_SKCIPHER > > -- > > Email: Herbert Xu <herbert@gondor.apana.org.au> Home Page: > > https://urldefense.proofpoint.com/v2/url?u=http-3A__gondor.apana.org.a > > u_- > 7Eherbert_&d=DwIBaQ&c=nKjWec2b6R0mOyPaz7xtfQ&r=Fj4OoD5hcKFpANh > TWdwQ > > zjT1Jpf7veC5263T47JVpnc&m=dRYGbkafMlmqjN6rLZeFXL0zOADTNp6sYkm- > lHW4_cA& > > s=sbjI8As-bTTHmNW8JKq01AP2qaDCAWuVmHAOVz7tEGI&e= > > PGP Key: > > https://urldefense.proofpoint.com/v2/url?u=http-3A__gondor.apana.org.a > > u_- > 7Eherbert_pubkey.txt&d=DwIBaQ&c=nKjWec2b6R0mOyPaz7xtfQ&r=Fj4OoD > 5hcK > > > FpANhTWdwQzjT1Jpf7veC5263T47JVpnc&m=dRYGbkafMlmqjN6rLZeFXL0zOA > DTNp6sYk > > m-lHW4_cA&s=Qv1MXxxyejkh_qp7LaT0xDiOL1kNRvo4BP4Lz1gQMJI&e= > > Gr{oetje,eeting}s, > > Geert > > -- > Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux- > m68k.org > > 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
diff --git a/drivers/crypto/marvell/Kconfig b/drivers/crypto/marvell/Kconfig index 2efbd79180ce..a188ad1fadd3 100644 --- a/drivers/crypto/marvell/Kconfig +++ b/drivers/crypto/marvell/Kconfig @@ -41,6 +41,7 @@ config CRYPTO_DEV_OCTEONTX2_CPT depends on ARM64 || COMPILE_TEST depends on PCI_MSI && 64BIT depends on CRYPTO_LIB_AES + depends on NET_VENDOR_MARVELL select OCTEONTX2_MBOX select CRYPTO_DEV_MARVELL select CRYPTO_SKCIPHER