Re: [PATCH 0/5] CAAM JR lifecycle

From: Andrey Smirnov
Date: Sun Nov 17 2019 - 01:15:59 EST


On Wed, Nov 13, 2019 at 11:25 AM Andrey Smirnov
<andrew.smirnov@xxxxxxxxx> wrote:
>
> On Wed, Nov 13, 2019 at 10:57 AM Horia Geanta <horia.geanta@xxxxxxx> wrote:
> >
> > On 11/6/2019 5:19 PM, Andrey Smirnov wrote:
> > > On Tue, Nov 5, 2019 at 11:27 PM Vakul Garg <vakul.garg@xxxxxxx> wrote:
> > >>
> > >>
> > >>
> > >>> -----Original Message-----
> > >>> From: linux-crypto-owner@xxxxxxxxxxxxxxx <linux-crypto-
> > >>> owner@xxxxxxxxxxxxxxx> On Behalf Of Andrey Smirnov
> > >>> Sent: Tuesday, November 5, 2019 8:44 PM
> > >>> To: linux-crypto@xxxxxxxxxxxxxxx
> > >>> Cc: Andrey Smirnov <andrew.smirnov@xxxxxxxxx>; Chris Healy
> > >>> <cphealy@xxxxxxxxx>; Lucas Stach <l.stach@xxxxxxxxxxxxxx>; Horia Geanta
> > >>> <horia.geanta@xxxxxxx>; Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>;
> > >>> Iuliana Prodan <iuliana.prodan@xxxxxxx>; dl-linux-imx <linux-
> > >>> imx@xxxxxxx>; linux-kernel@xxxxxxxxxxxxxxx
> > >>> Subject: [PATCH 0/5] CAAM JR lifecycle
> > >>>
> > >>> Everyone:
> > >>>
> > >>> This series is a different approach to addressing the issues brought up in
> > >>> [discussion]. This time the proposition is to get away from creating per-JR
> > >>> platfrom device, move all of the underlying code into caam.ko and disable
> > >>> manual binding/unbinding of the CAAM device via sysfs. Note that this series
> > >>> is a rough cut intented to gauge if this approach could be acceptable for
> > >>> upstreaming.
> > >>>
> > >>> Thanks,
> > >>> Andrey Smirnov
> > >>>
> > >>> [discussion] lore.kernel.org/lkml/20190904023515.7107-13-
> > >>> andrew.smirnov@xxxxxxxxx
> > >>>
> > >>> Andrey Smirnov (5):
> > >>> crypto: caam - use static initialization
> > >>> crypto: caam - introduce caam_jr_cbk
> > >>> crypto: caam - convert JR API to use struct caam_drv_private_jr
> > >>> crypto: caam - do not create a platform devices for JRs
> > >>> crypto: caam - disable CAAM's bind/unbind attributes
> > >>>
> > >>
> > >> To access caam jobrings from DPDK (user space drivers), we unbind job-ring's platform device from the kernel.
> > >> What would be the alternate way to enable job ring drivers in user space?
> > >>
> > >
> > > Wouldn't either building your kernel with
> > > CONFIG_CRYPTO_DEV_FSL_CAAM_JR=n (this series doesn't handle that right
> > > currently due to being a rough cut) or disabling specific/all JRs via
> > > DT accomplish the same goal?
> > >
> > It's not a 1:1 match, the ability to move a ring to user space / VM etc.
> > *dynamically* goes away.
> >
>
> Wouldn't it be possible to do that dynamically using DT overlays? That
> is "modprobe -r caam; <apply overlay>; modprobe caam"?
>

Or, alternatively, could adding a module parameter, say "jr_mask", to
limit JRs controlled by the driver cover dynamic use case?

Thanks,
Andrey Smirnov