RE: [PATCH 1/4] spi: add support for octal I/O data transfer

From: Yogesh Narayan Gaur
Date: Thu Oct 04 2018 - 05:26:05 EST


Hi Boris,

> -----Original Message-----
> From: Boris Brezillon [mailto:boris.brezillon@xxxxxxxxxxx]
> Sent: Thursday, October 4, 2018 2:50 PM
> To: Yogesh Narayan Gaur <yogeshnarayan.gaur@xxxxxxx>
> Cc: linux-mtd@xxxxxxxxxxxxxxxxxxx; marek.vasut@xxxxxxxxx; vigneshr@xxxxxx;
> linux-spi@xxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx; robh@xxxxxxxxxx;
> mark.rutland@xxxxxxx; shawnguo@xxxxxxxxxx; linux-arm-
> kernel@xxxxxxxxxxxxxxxxxxx; computersforpeace@xxxxxxxxx;
> frieder.schrempf@xxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> Subject: Re: [PATCH 1/4] spi: add support for octal I/O data transfer
>
> On Thu, 4 Oct 2018 09:14:36 +0000
> Yogesh Narayan Gaur <yogeshnarayan.gaur@xxxxxxx> wrote:
>
> > Hi Boris,
> >
> > > -----Original Message-----
> > > From: Boris Brezillon [mailto:boris.brezillon@xxxxxxxxxxx]
> > > Sent: Thursday, October 4, 2018 2:35 PM
> > > To: Yogesh Narayan Gaur <yogeshnarayan.gaur@xxxxxxx>
> > > Cc: linux-mtd@xxxxxxxxxxxxxxxxxxx; marek.vasut@xxxxxxxxx;
> > > vigneshr@xxxxxx; linux-spi@xxxxxxxxxxxxxxx;
> > > devicetree@xxxxxxxxxxxxxxx; robh@xxxxxxxxxx; mark.rutland@xxxxxxx;
> > > shawnguo@xxxxxxxxxx; linux-arm- kernel@xxxxxxxxxxxxxxxxxxx;
> > > computersforpeace@xxxxxxxxx; frieder.schrempf@xxxxxxxxx;
> > > linux-kernel@xxxxxxxxxxxxxxx Subject: Re: [PATCH 1/4] spi: add
> > > support for octal I/O data transfer
> > >
> > > Hi Yogesh,
> > >
> > > On Thu, 4 Oct 2018 14:18:37 +0530
> > > Yogesh Gaur <yogeshnarayan.gaur@xxxxxxx> wrote:
> > >
> > > > Add flags for Octal I/O data transfer Required for the SPI
> > > > controller which can do the data transfer
> > > > (TX/RX) on 8 data lines e.g. NXP FlexSPI controller.
> > > > SPI_TX_OCTAL: transmit with 8 wires
> > > > SPI_RX_OCTAL: receive with 8 wires
> > > >
> > > > Signed-off-by: Yogesh Gaur <yogeshnarayan.gaur@xxxxxxx>
> > > > ---
> > > > drivers/spi/spi.c | 6 ++++++
> > > > include/linux/spi/spi.h | 2 ++
> > > > 2 files changed, 8 insertions(+)
> > > >
> > > > diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c index
> > > > ec395a6..80f672f 100644
> > > > --- a/drivers/spi/spi.c
> > > > +++ b/drivers/spi/spi.c
> > > > @@ -1573,6 +1573,9 @@ static int of_spi_parse_dt(struct
> > > > spi_controller *ctlr,
> > > struct spi_device *spi,
> > > > case 4:
> > > > spi->mode |= SPI_TX_QUAD;
> > > > break;
> > > > + case 8:
> > > > + spi->mode |= SPI_TX_OCTAL;
> > > > + break;
> > > > default:
> > > > dev_warn(&ctlr->dev,
> > > > "spi-tx-bus-width %d not
> > > > supported\n", @@ -
> > > 1591,6 +1594,9 @@
> > > > static int of_spi_parse_dt(struct spi_controller *ctlr, struct
> > > > spi_device *spi, case 4:
> > > > spi->mode |= SPI_RX_QUAD;
> > > > break;
> > > > + case 8:
> > > > + spi->mode |= SPI_RX_OCTAL;
> > > > + break;
> > > > default:
> > > > dev_warn(&ctlr->dev,
> > > > "spi-rx-bus-width %d not
> > > > supported\n", diff --
> > > git
> > > > a/include/linux/spi/spi.h b/include/linux/spi/spi.h index
> > > > a64235e..2d21307 100644
> > > > --- a/include/linux/spi/spi.h
> > > > +++ b/include/linux/spi/spi.h
> > > > @@ -163,6 +163,8 @@ struct spi_device {
> > > > #define SPI_TX_QUAD
> > > > 0x200 /* transmit with 4
> > > wires */
> > > > #define SPI_RX_DUAL
> > > > 0x400 /* receive with 2 wires
> > > */
> > > > #define SPI_RX_QUAD
> > > > 0x800 /* receive with 4 wires
> > > */
> > > > +#define SPI_TX_OCTAL
> > > > 0x1000 /* transmit with 8
> > > wires */
> > > > +#define SPI_RX_OCTAL
> > > > 0x2000 /* receive with 8 wires
> > > */
> > > > int irq;
> > > > void *controller_state;
> > > > void *controller_data;
> > >
> > > You're still not updating spi-mem.c to check those flags and
> > > SPI_MEM_MAX_BUSWIDTH is not updated to match the new limit (8
> > > instead of 4).
> > >
> > Yes and its strange that my octal mode communication is working fine
> > without adding support in spi-mem.c and that's why this has been
> > missed from me.
>
> Are you based on top of spi-next?

Ok, that might be the reason. I have rebased few days back.
Would rebase with current tip and add support in spi-mem interface too.