Re: [U-Boot] [PATCH] spi: zynq_spi: Fix infinite looping while xfer
Please resend the patch, patchwork mbox download shows different. On 24 July 2016 at 00:49, Lad, Prabhakarwrote: > On Sat, Jul 23, 2016 at 5:19 PM, Jagan Teki wrote: >> >> On 23 June 2016 at 19:28, Lad, Prabhakar wrote: >> > During spi transfer, for example: >> > sspi 1:1.0 8 ff -- Jagan. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] spi: zynq_spi: Fix infinite looping while xfer
On Sat, Jul 23, 2016 at 5:19 PM, Jagan Tekiwrote: > > On 23 June 2016 at 19:28, Lad, Prabhakar wrote: > > During spi transfer, for example: > > sspi 1:1.0 8 ff > > > > the rx_len values will be: > > rx_len = 0 > > rx_len = 4294967295 > > > > This caused a busy looping during xfer, this patch fixes it > > by adding a check while reading the rx fifo > > > > Signed-off-by: Lad, Prabhakar > > Cc: Michal Simek > > Cc: Siva Durga Prasad Paladugu > > Cc: Jagan Teki > > --- > > drivers/spi/zynq_spi.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/spi/zynq_spi.c b/drivers/spi/zynq_spi.c > > index 09ae1be..dd3de27 100644 > > --- a/drivers/spi/zynq_spi.c > > +++ b/drivers/spi/zynq_spi.c > > @@ -230,7 +230,7 @@ static int zynq_spi_xfer(struct udevice *dev, > > unsigned int bitlen, > > > > /* Read the data from RX FIFO */ > > status = readl(>isr); > > -while (status & ZYNQ_SPI_IXR_RXNEMPTY_MASK) { > > +while ((status & ZYNQ_SPI_IXR_RXNEMPTY_MASK) && rx_len) { > > Do post-decrement directly on while. > Its the matter of taste, I usually prefer minimal changes. Anyway above in the function tx_len isnt done in while just keeping it consistent. Cheers, --Prabhakar Lad ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] spi: zynq_spi: Fix infinite looping while xfer
On 23 June 2016 at 19:28, Lad, Prabhakarwrote: > During spi transfer, for example: > sspi 1:1.0 8 ff > > the rx_len values will be: > rx_len = 0 > rx_len = 4294967295 > > This caused a busy looping during xfer, this patch fixes it > by adding a check while reading the rx fifo > > Signed-off-by: Lad, Prabhakar > Cc: Michal Simek > Cc: Siva Durga Prasad Paladugu > Cc: Jagan Teki > --- > drivers/spi/zynq_spi.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/spi/zynq_spi.c b/drivers/spi/zynq_spi.c > index 09ae1be..dd3de27 100644 > --- a/drivers/spi/zynq_spi.c > +++ b/drivers/spi/zynq_spi.c > @@ -230,7 +230,7 @@ static int zynq_spi_xfer(struct udevice *dev, > unsigned int bitlen, > > /* Read the data from RX FIFO */ > status = readl(>isr); > -while (status & ZYNQ_SPI_IXR_RXNEMPTY_MASK) { > +while ((status & ZYNQ_SPI_IXR_RXNEMPTY_MASK) && rx_len) { Do post-decrement directly on while. thanks! -- Jagan. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] spi: zynq_spi: Fix infinite looping while xfer
On 21 July 2016 at 13:54, Lad, Prabhakarwrote: > On Thu, Jul 21, 2016 at 7:58 AM, Jagan Teki wrote: >> On 23 June 2016 at 19:28, Lad, Prabhakar wrote: >>> During spi transfer, for example: >>> sspi 1:1.0 8 ff >>> >>> the rx_len values will be: >>> rx_len = 0 >>> rx_len = 4294967295 >> >> Does these number during 'sspi' or during data transfer? why rx_len is >> 4294967295? >> > As mentioned in the commit, if you run the command 'sspi 1:1.0 8 ff' > It just keeps busy looping. OK, will update commit message as for rx -- Jagan. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] spi: zynq_spi: Fix infinite looping while xfer
On Thu, Jul 21, 2016 at 7:58 AM, Jagan Tekiwrote: > On 23 June 2016 at 19:28, Lad, Prabhakar wrote: >> During spi transfer, for example: >> sspi 1:1.0 8 ff >> >> the rx_len values will be: >> rx_len = 0 >> rx_len = 4294967295 > > Does these number during 'sspi' or during data transfer? why rx_len is > 4294967295? > As mentioned in the commit, if you run the command 'sspi 1:1.0 8 ff' It just keeps busy looping. Cheers, --Prabhakar Lad ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] spi: zynq_spi: Fix infinite looping while xfer
On 23 June 2016 at 19:28, Lad, Prabhakarwrote: > During spi transfer, for example: > sspi 1:1.0 8 ff > > the rx_len values will be: > rx_len = 0 > rx_len = 4294967295 Does these number during 'sspi' or during data transfer? why rx_len is 4294967295? > > This caused a busy looping during xfer, this patch fixes it > by adding a check while reading the rx fifo > > Signed-off-by: Lad, Prabhakar > Cc: Michal Simek > Cc: Siva Durga Prasad Paladugu > Cc: Jagan Teki > --- > drivers/spi/zynq_spi.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/spi/zynq_spi.c b/drivers/spi/zynq_spi.c > index 09ae1be..dd3de27 100644 > --- a/drivers/spi/zynq_spi.c > +++ b/drivers/spi/zynq_spi.c > @@ -230,7 +230,7 @@ static int zynq_spi_xfer(struct udevice *dev, > unsigned int bitlen, > > /* Read the data from RX FIFO */ > status = readl(>isr); > -while (status & ZYNQ_SPI_IXR_RXNEMPTY_MASK) { > +while ((status & ZYNQ_SPI_IXR_RXNEMPTY_MASK) && rx_len) { > buf = readl(>rxdr); > if (rx_buf) > *rx_buf++ = buf; -- Jagan. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] spi: zynq_spi: Fix infinite looping while xfer
On Thu, Jun 23, 2016 at 2:58 PM, Lad, Prabhakarwrote: > During spi transfer, for example: > sspi 1:1.0 8 ff > > the rx_len values will be: > rx_len = 0 > rx_len = 4294967295 > > This caused a busy looping during xfer, this patch fixes it > by adding a check while reading the rx fifo > Gentle ping.. Cheers, --Prabhakar Lad ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] spi: zynq_spi: Fix infinite looping while xfer
During spi transfer, for example: sspi 1:1.0 8 ff the rx_len values will be: rx_len = 0 rx_len = 4294967295 This caused a busy looping during xfer, this patch fixes it by adding a check while reading the rx fifo Signed-off-by: Lad, PrabhakarCc: Michal Simek Cc: Siva Durga Prasad Paladugu Cc: Jagan Teki --- drivers/spi/zynq_spi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/spi/zynq_spi.c b/drivers/spi/zynq_spi.c index 09ae1be..dd3de27 100644 --- a/drivers/spi/zynq_spi.c +++ b/drivers/spi/zynq_spi.c @@ -230,7 +230,7 @@ static int zynq_spi_xfer(struct udevice *dev, unsigned int bitlen, /* Read the data from RX FIFO */ status = readl(>isr); -while (status & ZYNQ_SPI_IXR_RXNEMPTY_MASK) { +while ((status & ZYNQ_SPI_IXR_RXNEMPTY_MASK) && rx_len) { buf = readl(>rxdr); if (rx_buf) *rx_buf++ = buf; -- 2.1.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot