[PATCH] Revert "spi: zynq_qspi: Use dummy buswidth in dummy byte calculation"

Michal Simek michal.simek at amd.com
Mon Apr 17 12:17:04 CEST 2023



On 3/31/23 16:44, 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>
> 
> ---
> 
>   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 */
> --
> 2.30.2
> 

Ashok: Can you please comment on this one?

Thanks,
Michal


More information about the U-Boot mailing list