[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAGsJ_4xGJoz7JNQHBtK7pC+sn+pUZsibgiBNPnL=Vdyii-JsDA@mail.gmail.com>
Date: Thu, 1 Sep 2011 20:52:54 +0800
From: Barry Song <21cnbao@...il.com>
To: Sonic Zhang <sonic.adi@...il.com>
Cc: Grant Likely <grant.likely@...retlab.ca>,
spi-devel-general@...ts.sourceforge.net,
LKML <linux-kernel@...r.kernel.org>,
uclinux-dist-devel@...ckfin.uclinux.org
Subject: Re: [uclinux-dist-devel] [PATCH v2] spi:spi_bfin5xx: SPI SSEL
deasserted too early in soft irq mode.
2011/8/12 Sonic Zhang <sonic.adi@...il.com>:
> From: Sonic Zhang <sonic.zhang@...log.com>
>
> Poll the FIFO till it is empty before deassert SSEL in pump_transfers in
> soft irq mode. No polling is necessary in interrupt mode and error handling.
>
> Signed-off-by: Sonic Zhang <sonic.zhang@...log.com>
Acked-by: Barry Song <21cnbao@...il.com>
it is actually making sure the last message is finished.
> ---
> drivers/spi/spi-bfin5xx.c | 5 ++++-
> 1 files changed, 4 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/spi/spi-bfin5xx.c b/drivers/spi/spi-bfin5xx.c
> index b8d25f2..7e03e7d 100644
> --- a/drivers/spi/spi-bfin5xx.c
> +++ b/drivers/spi/spi-bfin5xx.c
> @@ -587,6 +587,7 @@ static void bfin_spi_pump_transfers(unsigned long data)
> if (message->state == DONE_STATE) {
> dev_dbg(&drv_data->pdev->dev, "transfer: all done!\n");
> message->status = 0;
> + bfin_spi_flush(drv_data);
> bfin_spi_giveback(drv_data);
> return;
> }
> @@ -870,8 +871,10 @@ static void bfin_spi_pump_transfers(unsigned long data)
> message->actual_length += drv_data->len_in_bytes;
> /* Move to next transfer of this msg */
> message->state = bfin_spi_next_transfer(drv_data);
> - if (drv_data->cs_change)
> + if (drv_data->cs_change) {
> + bfin_spi_flush(drv_data);
> bfin_spi_cs_deactive(drv_data, chip);
> + }
> }
>
> /* Schedule next transfer tasklet */
> --
> 1.7.0.4
>
>
> _______________________________________________
> Uclinux-dist-devel mailing list
> Uclinux-dist-devel@...ckfin.uclinux.org
> https://blackfin.uclinux.org/mailman/listinfo/uclinux-dist-devel
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists