Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 142552
b: refs/heads/master
c: d24bd1d
h: refs/heads/master
v: v3
  • Loading branch information
Mike Frysinger authored and Linus Torvalds committed Apr 7, 2009
1 parent ccbc490 commit 1e5d178
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 3 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 59bfcc664859029f60269ca2bf05b310d5a5760b
refs/heads/master: d24bd1d0dc850e7aa68c27ec288eb699d41a5916
12 changes: 10 additions & 2 deletions trunk/drivers/spi/spi_bfin5xx.c
Original file line number Diff line number Diff line change
Expand Up @@ -559,9 +559,13 @@ static irqreturn_t dma_irq_handler(int irq, void *dev_id)
struct driver_data *drv_data = dev_id;
struct chip_data *chip = drv_data->cur_chip;
struct spi_message *msg = drv_data->cur_msg;
unsigned short dmastat = get_dma_curr_irqstat(drv_data->dma_channel);
u16 spistat = read_STAT(drv_data);

dev_dbg(&drv_data->pdev->dev, "in dma_irq_handler\n");
dev_dbg(&drv_data->pdev->dev,
"in dma_irq_handler dmastat:0x%x spistat:0x%x\n",
dmastat, spistat);

clear_dma_irqstat(drv_data->dma_channel);

/* Wait for DMA to complete */
Expand Down Expand Up @@ -631,20 +635,23 @@ static void pump_transfers(unsigned long data)

/* Handle for abort */
if (message->state == ERROR_STATE) {
dev_dbg(&drv_data->pdev->dev, "transfer: we've hit an error\n");
message->status = -EIO;
giveback(drv_data);
return;
}

/* Handle end of message */
if (message->state == DONE_STATE) {
dev_dbg(&drv_data->pdev->dev, "transfer: all done!\n");
message->status = 0;
giveback(drv_data);
return;
}

/* Delay if requested at end of transfer */
if (message->state == RUNNING_STATE) {
dev_dbg(&drv_data->pdev->dev, "transfer: still running ...\n");
previous = list_entry(transfer->transfer_list.prev,
struct spi_transfer, transfer_list);
if (previous->delay_usecs)
Expand Down Expand Up @@ -806,7 +813,8 @@ static void pump_transfers(unsigned long data)
dma_config = (RESTART | dma_width | DI_EN);
if (drv_data->rx != NULL) {
/* set transfer mode, and enable SPI */
dev_dbg(&drv_data->pdev->dev, "doing DMA in.\n");
dev_dbg(&drv_data->pdev->dev, "doing DMA in to %p (size %zx)\n",
drv_data->rx, drv_data->len_in_bytes);

/* invalidate caches, if needed */
if (bfin_addr_dcachable((unsigned long) drv_data->rx))
Expand Down

0 comments on commit 1e5d178

Please sign in to comment.