[lkml]   [2021]   [May]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patch in this message
    Subject[PATCH 5.10 240/530] spi: spi-zynqmp-gqspi: fix incorrect operating mode in zynqmp_qspi_read_op
    From: Quanyang Wang <>

    [ Upstream commit 41d310930084502433fcb3c4baf219e7424b7734 ]

    When starting a read operation, we should call zynqmp_qspi_setuprxdma
    first to set xqspi->mode according to xqspi->bytes_to_receive and
    to calculate correct xqspi->dma_rx_bytes. Then in the function
    zynqmp_qspi_fillgenfifo, generate the appropriate command with
    operating mode and bytes to transfer, and fill the GENFIFO with
    the command to perform the read operation.

    Calling zynqmp_qspi_fillgenfifo before zynqmp_qspi_setuprxdma will
    result in incorrect transfer length and operating mode. So change
    the calling order to fix this issue.

    Fixes: 1c26372e5aa9 ("spi: spi-zynqmp-gqspi: Update driver to use spi-mem framework")
    Signed-off-by: Quanyang Wang <>
    Reviewed-by: Amit Kumar Mahapatra <>
    Signed-off-by: Mark Brown <>
    Signed-off-by: Sasha Levin <>
    drivers/spi/spi-zynqmp-gqspi.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/drivers/spi/spi-zynqmp-gqspi.c b/drivers/spi/spi-zynqmp-gqspi.c
    index cf73a069b759..036d8ae41c06 100644
    --- a/drivers/spi/spi-zynqmp-gqspi.c
    +++ b/drivers/spi/spi-zynqmp-gqspi.c
    @@ -827,8 +827,8 @@ static void zynqmp_qspi_write_op(struct zynqmp_qspi *xqspi, u8 tx_nbits,
    static void zynqmp_qspi_read_op(struct zynqmp_qspi *xqspi, u8 rx_nbits,
    u32 genfifoentry)
    - zynqmp_qspi_fillgenfifo(xqspi, rx_nbits, genfifoentry);
    + zynqmp_qspi_fillgenfifo(xqspi, rx_nbits, genfifoentry);


     \ /
      Last update: 2021-05-12 18:31    [W:4.089 / U:0.036 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site