fix spi driver's bug while dma recieving
authorlw@rock-chips.com <lw@rock-chips.com>
Tue, 26 Jun 2012 12:18:36 +0000 (20:18 +0800)
committerlw <lw@rock-chips.com>
Tue, 26 Jun 2012 12:19:02 +0000 (20:19 +0800)
drivers/spi/rk29_spim.c
drivers/spi/spi_test.c

index 8fca6a8042976e6d7ff3f62ec67df05012401ee4..d12fbdd6032ecaf53abba201c815b72da39f554b 100755 (executable)
@@ -133,8 +133,9 @@ void rk29_lcd_spim_spin_unlock(void)
 static void printk_transfer_data(unsigned char *buf, int len)\r
 {\r
        int i = 0;\r
+       unsigned char *buff = buf;\r
        for(i=0; i<len; i++)\r
-               printk("0x%x,",*buf++);\r
+               printk("0x%x,",*buff++);\r
 \r
        printk("\n");\r
 \r
@@ -1131,7 +1132,7 @@ static void dma_transfer(struct rk29xx_spi *dws)
                }\r
                if (transfer->rx_buf != NULL) {\r
                        dmacr |= SPI_DMACR_RX_ENABLE;\r
-                       rk29xx_writew(dws, SPIM_DMARDLR, 0);\r
+                       rk29xx_writew(dws, SPIM_DMARDLR, dws->dma_width-1);\r
                        rk29xx_writew(dws, SPIM_CTRLR1, transfer->len-1);       \r
                }\r
                rk29xx_writew(dws, SPIM_DMACR, dmacr);\r
index 9c7bc8fbb93eecf1073b18b6354e6337be0d9d25..cfba557f7dd2042b72ec7d6e80a8273d60eba8b9 100755 (executable)
@@ -141,7 +141,7 @@ static int __devinit spi_test_probe(struct spi_device *spi)
 \r
        g_spi_test_data = spi_test_data;\r
 \r
-       printk("%s:bus_num=%d,ok\n",__func__,spi->bus_num);\r
+       printk("%s:bus_num=%d,ok\n",__func__,spi->master->bus_num);\r
 \r
        return ret;\r
 \r