* Russell King - ARM Linux <linux@xxxxxxxxxxxxxxxx> [120420 08:41]: > --- a/drivers/dma/omap-dma.c > +++ b/drivers/dma/omap-dma.c > @@ -83,11 +84,11 @@ static void omap_dma_start_sg(struct omap_chan *c, struct omap_desc *d, > struct omap_sg *sg = d->sg + idx; > > if (d->dir == DMA_DEV_TO_MEM) > - omap_set_dma_dest_params(c->dma_ch, 0, OMAP_DMA_AMODE_POST_INC, > - sg->addr, 0, 0); > + omap_set_dma_dest_params(c->dma_ch, d->periph_port, > + OMAP_DMA_AMODE_POST_INC, sg->addr, 0, 0); > else > - omap_set_dma_src_params(c->dma_ch, 0, OMAP_DMA_AMODE_POST_INC, > - sg->addr, 0, 0); > + omap_set_dma_src_params(c->dma_ch, d->periph_port, > + OMAP_DMA_AMODE_POST_INC, sg->addr, 0, 0); > > omap_set_dma_transfer_params(c->dma_ch, d->es, sg->en, sg->fn, > d->sync_mode, c->dma_sig, d->sync_type); These are now wrong way around, should use OMAP_DMA_PORT_EMIFF here.. > @@ -111,11 +112,11 @@ static void omap_dma_start_desc(struct omap_chan *c) > c->sgidx = 0; > > if (d->dir == DMA_DEV_TO_MEM) > - omap_set_dma_src_params(c->dma_ch, 0, OMAP_DMA_AMODE_CONSTANT, > - d->dev_addr, 0, 0); > + omap_set_dma_src_params(c->dma_ch, OMAP_DMA_PORT_EMIFF, > + OMAP_DMA_AMODE_CONSTANT, d->dev_addr, 0, 0); > else > - omap_set_dma_dest_params(c->dma_ch, 0, OMAP_DMA_AMODE_CONSTANT, > - d->dev_addr, 0, 0); > + omap_set_dma_dest_params(c->dma_ch, OMAP_DMA_PORT_EMIFF, > + OMAP_DMA_AMODE_CONSTANT, d->dev_addr, 0, 0); > > omap_dma_start_sg(c, d, 0); > } ..and then use d->periph_port here. So the following is also needed on top of this: --- a/drivers/dma/omap-dma.c +++ b/drivers/dma/omap-dma.c @@ -84,10 +84,10 @@ static void omap_dma_start_sg(struct omap_chan *c, struct omap_desc *d, struct omap_sg *sg = d->sg + idx; if (d->dir == DMA_DEV_TO_MEM) - omap_set_dma_dest_params(c->dma_ch, d->periph_port, + omap_set_dma_dest_params(c->dma_ch, OMAP_DMA_PORT_EMIFF, OMAP_DMA_AMODE_POST_INC, sg->addr, 0, 0); else - omap_set_dma_src_params(c->dma_ch, d->periph_port, + omap_set_dma_src_params(c->dma_ch, OMAP_DMA_PORT_EMIFF, OMAP_DMA_AMODE_POST_INC, sg->addr, 0, 0); omap_set_dma_transfer_params(c->dma_ch, d->es, sg->en, sg->fn, @@ -112,10 +112,10 @@ static void omap_dma_start_desc(struct omap_chan *c) c->sgidx = 0; if (d->dir == DMA_DEV_TO_MEM) - omap_set_dma_src_params(c->dma_ch, OMAP_DMA_PORT_EMIFF, + omap_set_dma_src_params(c->dma_ch, d->periph_port, OMAP_DMA_AMODE_CONSTANT, d->dev_addr, 0, 0); else - omap_set_dma_dest_params(c->dma_ch, OMAP_DMA_PORT_EMIFF, + omap_set_dma_dest_params(c->dma_ch, d->periph_port, OMAP_DMA_AMODE_CONSTANT, d->dev_addr, 0, 0); omap_dma_start_sg(c, d, 0); -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html