RE: [PATCH 1/2] spi: fsi: Reduce max transfer size to 8 bytes
From: David Laight
Date: Tue Jul 20 2021 - 09:07:36 EST
From: Eddie James <eajames@xxxxxxxxxxxxx>
> Sent: 19 July 2021 16:47
> To: Mark Brown <broonie@xxxxxxxxxx>
> Cc: devicetree@xxxxxxxxxxxxxxx; openbmc@xxxxxxxxxxxxxxxx; robh+dt@xxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; linux-spi@xxxxxxxxxxxxxxx
> Subject: Re: [PATCH 1/2] spi: fsi: Reduce max transfer size to 8 bytes
>
> On Mon, 2021-07-19 at 16:20 +0100, Mark Brown wrote:
> > On Fri, Jul 16, 2021 at 01:34:38PM -0500, Eddie James wrote:
> >
> > > Security changes in the SPI controller - in the device microcode. I
> > > can
> > > reword the commit if you like.
> >
> > How will people end up running this device microcode? Is this a bug
> > fix, or is this going to needlessly reduce performance for people
> > with
> > existing hardware?
>
> The hardware is still in development. As part of the development, the
> device microcode was changed to restrict transfers. The reason for this
> restriction was "security concerns". This restriction disallows the
> loop (or branch-if-not-equal-and-increment) sequencer command. It also
> does not allow the read (or shift in if you prefer) command to specify
> the number of bytes in the command itself. Rather, the number of bits
> to shift in must be specified in a separate control register. This
> effectively means that the controller cannot transfer more than 8 bytes
> at a time.
> Therefore I suppose this is effectively a bug fix. There will be no
> hardware available without these restrictions, so it is not a needless
> reduction in performance. Every system that can run this driver will
> run the more restrictive device microcode.
So just say that release versions of the hardware won't support
more than 8 byte transfers.
Having said that, you might want a loop in the driver so that
application requests for longer transfers are implemented
with multiple hardware requests.
I do also wonder why there is support in the main kernel sources
for hardware that doesn't actually exist.
David
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)