diff options
author | Jonas Aaberg <jonas.aberg@stericsson.com> | 2010-06-20 21:26:59 +0000 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2010-06-22 18:01:57 -0700 |
commit | 6b7acd84426235c63a3c0f0b230a95064f97b0d4 (patch) | |
tree | e3b6e605493c387b3d522f05eb7cac0e6f5fda9d /drivers/dma/ste_dma40.c | |
parent | 595167253a20167efae704ff2a8f6e2ee66cf25f (diff) |
DMAENGINE: ste_dma40: support disabling physical channels
This makes it possible to disable physical channels.
Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com>
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/dma/ste_dma40.c')
-rw-r--r-- | drivers/dma/ste_dma40.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/dma/ste_dma40.c b/drivers/dma/ste_dma40.c index e14c3952625..1d21fbd419d 100644 --- a/drivers/dma/ste_dma40.c +++ b/drivers/dma/ste_dma40.c @@ -2230,6 +2230,14 @@ static int __init d40_phy_res_init(struct d40_base *base) } spin_lock_init(&base->phy_res[i].lock); } + + /* Mark disabled channels as occupied */ + for (i = 0; base->plat_data->disabled_channels[i] != -1; i++) { + base->phy_res[i].allocated_src = D40_ALLOC_PHY; + base->phy_res[i].allocated_dst = D40_ALLOC_PHY; + num_phy_chans_avail--; + } + dev_info(base->dev, "%d of %d physical DMA channels available\n", num_phy_chans_avail, base->num_phy_chans); |