lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+h21hoqmXfBdhGBg6TLLqLeXJTE3wZKzQpsZJRsOhqWCO9gJQ@mail.gmail.com>
Date:   Mon, 9 Mar 2020 20:51:09 +0200
From:   Vladimir Oltean <olteanv@...il.com>
To:     Michael Walle <michael@...le.cc>
Cc:     Mark Brown <broonie@...nel.org>, linux-spi@...r.kernel.org,
        lkml <linux-kernel@...r.kernel.org>,
        Shawn Guo <shawnguo@...nel.org>,
        Rob Herring <robh+dt@...nel.org>,
        Mark Rutland <mark.rutland@....com>,
        devicetree@...r.kernel.org, Esben Haabendal <eha@...f.com>,
        angelo@...am.it, andrew.smirnov@...il.com,
        "Gustavo A. R. Silva" <gustavo@...eddedor.com>,
        Wei Chen <weic@...dia.com>, Mohamed Hosny <mhosny@...dia.com>,
        peng.ma@....com
Subject: Re: [PATCH 4/6] spi: spi-fsl-dspi: Add support for LS1028A

On Mon, 9 Mar 2020 at 20:38, Michael Walle <michael@...le.cc> wrote:
>
> Am 2020-03-09 15:56, schrieb Vladimir Oltean:
> > From: Vladimir Oltean <vladimir.oltean@....com>
> >
> > This is similar to the DSPI instantiation on LS1028A, except that:
> >  - The A-011218 erratum has been fixed, so DMA works
> >  - The endianness is different, which has implications on XSPI mode
> >
> > Some benchmarking with the following command:
> >
> > spidev_test --device /dev/spidev2.0 --bpw 8 --size 256 --cpha --iter
> > 10000000 --speed 20000000
> >
> > shows that in DMA mode, it can achieve around 2400 kbps, and in XSPI
> > mode, the same command goes up to 4700 kbps. This is somewhat to be
> > expected, since the DMA buffer size is extremely small at 8 bytes, the
> > winner becomes whomever can prepare the buffers for transmission
> > quicker, and DMA mode has higher overhead there. So XSPI FIFO mode has
> > been chosen as the operating mode for this chip.
> >
> > Signed-off-by: Vladimir Oltean <vladimir.oltean@....com>
> > ---
> >  drivers/spi/spi-fsl-dspi.c | 12 ++++++++++++
> >  1 file changed, 12 insertions(+)
> >
> > diff --git a/drivers/spi/spi-fsl-dspi.c b/drivers/spi/spi-fsl-dspi.c
> > index 5624b9ee77db..264d184e7296 100644
> > --- a/drivers/spi/spi-fsl-dspi.c
> > +++ b/drivers/spi/spi-fsl-dspi.c
> > @@ -131,6 +131,7 @@ struct fsl_dspi_devtype_data {
> >  enum {
> >       LS1021A,
> >       LS1012A,
> > +     LS1028A,
> >       LS1043A,
> >       LS1046A,
> >       LS2080A,
> > @@ -163,6 +164,14 @@ static const struct fsl_dspi_devtype_data
> > devtype_data[] = {
> >               .pushr_cmd              = 0,
> >               .pushr_tx               = 2,
> >       },
> > +     [LS1028A] = {
> > +             .trans_mode             = DSPI_DMA_MODE,
>
> shouldn't this be DSPI_XSPI_MODE according to your cover letter?
>
> -michael
>

Yes, sorry, I forgot to change it back after testing it both ways.

> > +             .dma_bufsize            = 8,
> > +             .max_clock_factor       = 8,
> > +             .fifo_size              = 4,
> > +             .pushr_cmd              = 2,
> > +             .pushr_tx               = 0,
> > +     },
> >       [LS1043A] = {
> >               /* Has A-011218 DMA erratum */
> >               .trans_mode             = DSPI_XSPI_MODE,
> > @@ -1113,6 +1122,9 @@ static const struct of_device_id
> > fsl_dspi_dt_ids[] = {
> >       }, {
> >               .compatible = "fsl,ls1012a-dspi",
> >               .data = &devtype_data[LS1012A],
> > +     }, {
> > +             .compatible = "fsl,ls1028a-dspi",
> > +             .data = &devtype_data[LS1028A],
> >       }, {
> >               .compatible = "fsl,ls1043a-dspi",
> >               .data = &devtype_data[LS1043A],

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ