Skip to content

Commit

Permalink
serial: mfd: add a module parameter for setting each port's working mode
Browse files Browse the repository at this point in the history
The three identical uart ports can work either in DMA or PIO mode. Adding such
a module parameter "hsu_dma_enable" will enable user to chose working modes for
each port. If the mfd driver is built in kernel, adding a "mfd.hsu_dma_enable=x"
in kernel command line has the same effect.

Signed-off-by: Feng Tang <feng.tang@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  • Loading branch information
Feng Tang authored and Greg Kroah-Hartman committed Feb 22, 2011
1 parent 085a4f7 commit f023eab
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions drivers/tty/serial/mfd.c
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,11 @@
#define mfd_readl(obj, offset) readl(obj->reg + offset)
#define mfd_writel(obj, offset, val) writel(val, obj->reg + offset)

static int hsu_dma_enable;
module_param(hsu_dma_enable, int, 0);
MODULE_PARM_DESC(hsu_dma_enable, "It is a bitmap to set working mode, if \
bit[x] is 1, then port[x] will work in DMA mode, otherwise in PIO mode.");

struct hsu_dma_buffer {
u8 *buf;
dma_addr_t dma_addr;
Expand Down Expand Up @@ -1367,6 +1372,12 @@ static void hsu_global_init(void)

serial_hsu_ports[i] = uport;
uport->index = i;

if (hsu_dma_enable & (1<<i))
uport->use_dma = 1;
else
uport->use_dma = 0;

uport++;
}

Expand Down

0 comments on commit f023eab

Please sign in to comment.