[RESEND PATCH] Revert "spi: zynq_qspi: Use dummy buswidth in dummy byte calculation"
Michal Simek
michal.simek at amd.com
Thu Apr 27 09:09:45 CEST 2023
On 4/27/23 08:53, Stefan Herbrechtsmeier wrote:
> From: Stefan Herbrechtsmeier <stefan.herbrechtsmeier at weidmueller.com>
>
> This reverts commit e09784728689de7949d4cdd559a9590e0bfcc702. The
> commit wrongly divides the dummy bytes by dummy bus width to calculate
> the dummy bytes. The framework already converts the dummy cycles to the
> number of bytes and the controller use the SPI flash command to
> determine the dummy cycles via the address width.
>
> Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier at weidmueller.com>
> Acked-by: Ashok Reddy Soma <ashok.reddy.soma at amd.com>
>
> ---
>
> drivers/spi/zynq_qspi.c | 10 ++--------
> 1 file changed, 2 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/spi/zynq_qspi.c b/drivers/spi/zynq_qspi.c
> index 00e3ffcd1d..d1d4048966 100644
> --- a/drivers/spi/zynq_qspi.c
> +++ b/drivers/spi/zynq_qspi.c
> @@ -676,7 +676,6 @@ static int zynq_qspi_exec_op(struct spi_slave *slave,
> const struct spi_mem_op *op)
> {
> int op_len, pos = 0, ret, i;
> - u32 dummy_bytes = 0;
> unsigned int flag = 0;
> const u8 *tx_buf = NULL;
> u8 *rx_buf = NULL;
> @@ -689,11 +688,6 @@ static int zynq_qspi_exec_op(struct spi_slave *slave,
> }
>
> op_len = op->cmd.nbytes + op->addr.nbytes + op->dummy.nbytes;
> - if (op->dummy.nbytes) {
> - op_len = op->cmd.nbytes + op->addr.nbytes +
> - op->dummy.nbytes / op->dummy.buswidth;
> - dummy_bytes = op->dummy.nbytes / op->dummy.buswidth;
> - }
>
> u8 op_buf[op_len];
>
> @@ -707,8 +701,8 @@ static int zynq_qspi_exec_op(struct spi_slave *slave,
> pos += op->addr.nbytes;
> }
>
> - if (dummy_bytes)
> - memset(op_buf + pos, 0xff, dummy_bytes);
> + if (op->dummy.nbytes)
> + memset(op_buf + pos, 0xff, op->dummy.nbytes);
>
> /* 1st transfer: opcode + address + dummy cycles */
> /* Make sure to set END bit if no tx or rx data messages follow */
Applied.
M
More information about the U-Boot
mailing list