Commit e76c3af8 authored by Kuninori Morimoto's avatar Kuninori Morimoto Committed by Paul Mundt

dmaengine: shdma: add dmaor_is_32bit flag

Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent 67c6269e
...@@ -70,12 +70,22 @@ static u32 sh_dmae_readl(struct sh_dmae_chan *sh_dc, u32 reg) ...@@ -70,12 +70,22 @@ static u32 sh_dmae_readl(struct sh_dmae_chan *sh_dc, u32 reg)
static u16 dmaor_read(struct sh_dmae_device *shdev) static u16 dmaor_read(struct sh_dmae_device *shdev)
{ {
return __raw_readw(shdev->chan_reg + DMAOR / sizeof(u32)); u32 __iomem *addr = shdev->chan_reg + DMAOR / sizeof(u32);
if (shdev->pdata->dmaor_is_32bit)
return __raw_readl(addr);
else
return __raw_readw(addr);
} }
static void dmaor_write(struct sh_dmae_device *shdev, u16 data) static void dmaor_write(struct sh_dmae_device *shdev, u16 data)
{ {
__raw_writew(data, shdev->chan_reg + DMAOR / sizeof(u32)); u32 __iomem *addr = shdev->chan_reg + DMAOR / sizeof(u32);
if (shdev->pdata->dmaor_is_32bit)
__raw_writel(data, addr);
else
__raw_writew(data, addr);
} }
static void chcr_write(struct sh_dmae_chan *sh_dc, u32 data) static void chcr_write(struct sh_dmae_chan *sh_dc, u32 data)
......
...@@ -64,6 +64,8 @@ struct sh_dmae_pdata { ...@@ -64,6 +64,8 @@ struct sh_dmae_pdata {
u16 dmaor_init; u16 dmaor_init;
unsigned int chcr_offset; unsigned int chcr_offset;
u32 chcr_ie_bit; u32 chcr_ie_bit;
unsigned int dmaor_is_32bit:1;
}; };
/* DMA register */ /* DMA register */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment