lkml.org 
[lkml]   [2021]   [May]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.11 271/601] spi: spi-zynqmp-gqspi: fix incorrect operating mode in zynqmp_qspi_read_op
    Date
    From: Quanyang Wang <quanyang.wang@windriver.com>

    [ 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 <quanyang.wang@windriver.com>
    Reviewed-by: Amit Kumar Mahapatra <amit.kumar-mahapatra@xilinx.com>
    Link: https://lore.kernel.org/r/20210408040223.23134-5-quanyang.wang@windriver.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    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_setuprxdma(xqspi);
    + zynqmp_qspi_fillgenfifo(xqspi, rx_nbits, genfifoentry);
    }

    /**
    --
    2.30.2


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