[PATCH 2/2] SPI: SAMSUNG: Bug fix for SPI with different FIFO level

Jassi Brar jassisinghbrar at gmail.com
Thu Jun 30 03:08:18 EDT 2011


On Thu, Jun 30, 2011 at 6:08 PM, Padmavathi Venna <padma.v at samsung.com> wrote:
> Fixed the bug in transmission status check for 64 bytes FIFO
> level.
>
> Signed-off-by: Padmavathi Venna <padma.v at samsung.com>
> ---
>  drivers/spi/spi_s3c64xx.c |    4 +---
>  1 files changed, 1 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/spi/spi_s3c64xx.c b/drivers/spi/spi_s3c64xx.c
> index 795828b..8945e20 100644
> --- a/drivers/spi/spi_s3c64xx.c
> +++ b/drivers/spi/spi_s3c64xx.c
> @@ -116,9 +116,7 @@
>                                        (((i)->fifo_lvl_mask + 1))) \
>                                        ? 1 : 0)
>
> -#define S3C64XX_SPI_ST_TX_DONE(v, i) ((((v) >> (i)->rx_lvl_offset) & \
> -                                       (((i)->fifo_lvl_mask + 1) << 1)) \
> -                                       ? 1 : 0)
> +#define S3C64XX_SPI_ST_TX_DONE(v, i) (((v) & (1 << (i)->tx_st_done)) ? 1 : 0)

IIRC the macro is already designed to deduct tx-done levels from other fields.
Could you please _explain_ with one example where it fails ? It is
difficult to see without
numbers.

Thanks,
-Jassi



More information about the linux-arm-kernel mailing list