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

Stefan Herbrechtsmeier stefan.herbrechtsmeier-oss at weidmueller.com
Thu Apr 27 08:56:31 CEST 2023


Hi Michal,

Am 26.04.2023 um 16:37 schrieb Michal Simek:
>
>
> 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
>>
>> ________________________________
>> Kommanditgesellschaft - Sitz: Detmold - Amtsgericht Lemgo HRA 2790 -
>> Komplementärin: Weidmüller Interface Führungsgesellschaft mbH -
>> Sitz: Detmold - Amtsgericht Lemgo HRB 3924;
>> Geschäftsführer: Dr. Timo Berger, Volker Bibelhausen, Dr. Sebastian 
>> Durst, André Sombecki;
>> USt-ID-Nr. DE124599660
>
> Can you please rebase it on the top of the latest version?

I have resend the patch hopefully without reformation.

Regards
   Stefan



More information about the U-Boot mailing list