diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/tty/serial/mfd.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/tty/serial/mfd.c b/drivers/tty/serial/mfd.c index 53ff6af16273..c111f36f5d21 100644 --- a/drivers/tty/serial/mfd.c +++ b/drivers/tty/serial/mfd.c | |||
@@ -47,6 +47,11 @@ | |||
47 | #define mfd_readl(obj, offset) readl(obj->reg + offset) | 47 | #define mfd_readl(obj, offset) readl(obj->reg + offset) |
48 | #define mfd_writel(obj, offset, val) writel(val, obj->reg + offset) | 48 | #define mfd_writel(obj, offset, val) writel(val, obj->reg + offset) |
49 | 49 | ||
50 | static int hsu_dma_enable; | ||
51 | module_param(hsu_dma_enable, int, 0); | ||
52 | MODULE_PARM_DESC(hsu_dma_enable, "It is a bitmap to set working mode, if \ | ||
53 | bit[x] is 1, then port[x] will work in DMA mode, otherwise in PIO mode."); | ||
54 | |||
50 | struct hsu_dma_buffer { | 55 | struct hsu_dma_buffer { |
51 | u8 *buf; | 56 | u8 *buf; |
52 | dma_addr_t dma_addr; | 57 | dma_addr_t dma_addr; |
@@ -1367,6 +1372,12 @@ static void hsu_global_init(void) | |||
1367 | 1372 | ||
1368 | serial_hsu_ports[i] = uport; | 1373 | serial_hsu_ports[i] = uport; |
1369 | uport->index = i; | 1374 | uport->index = i; |
1375 | |||
1376 | if (hsu_dma_enable & (1<<i)) | ||
1377 | uport->use_dma = 1; | ||
1378 | else | ||
1379 | uport->use_dma = 0; | ||
1380 | |||
1370 | uport++; | 1381 | uport++; |
1371 | } | 1382 | } |
1372 | 1383 | ||