[U-Boot] [PATCH] SPI: Fix 32 bit transfers in mxc_spi.c

Magnus Lilja lilja.magnus at gmail.com
Mon Jan 4 20:38:42 CET 2010


Hi

Magnus Lilja skrev:
> 2009/12/3 Guennadi Liakhovetski <lg at denx.de>:
>> On Wed, 2 Dec 2009, Wolfgang Denk wrote:
>>
>>> Dear Guennadi,
>>>
>>> In message <1257965907-5622-1-git-send-email-lilja.magnus at gmail.com> Magnus Lilja wrote:
>>>> diff --git a/drivers/spi/mxc_spi.c b/drivers/spi/mxc_spi.c
>>>> index fad9840..8b5d4be 100644
>>>> --- a/drivers/spi/mxc_spi.c
>>>> +++ b/drivers/spi/mxc_spi.c
>>>> @@ -142,6 +142,8 @@ int spi_xfer(struct spi_slave *slave, unsigned int bitlen, const void *dout,
>>>>                             *(u8 *)din = data;
>>>>                     else if (bitlen < 17)
>>>>                             *(u16 *)din = data;
>>>> +                   else
>>>> +                           *in_l = data;
>>>>             }
>>>>     }
>>> Could you please comment ?
>> Hm, I'm afraid, I broke more than just that. Now that I look at this loop,
>> looks like I broke not only 32-bit transfers, but also all transfers with
>> bitlen > 16, and this fix is then incomplete - it doesn't fix cases with
>> bitlen > 32. Magnus, looks like you also only use single-block (bitlen=32)
>> transfers? Do you have a chance to test > 32-bit transfers too?
> 
> No, I don't have anything suitable on the SPI bus that would allow me
> to test > 32-bit transfer.


So, what was the verdict? I can only test SPI with the ATLAS (32 bit xfers).

Can the patch be accepted even though it doesn't fix all problems or does it have to a "fix-everything"-patch?

Regards, Magnus


More information about the U-Boot mailing list