On 07/03/2013 03:33 AM, Bo Shen wrote: > Hi Lars-Peter, > > On 7/2/2013 23:34, Lars-Peter Clausen wrote: >> On 07/02/2013 11:04 AM, Bo Shen wrote: >> [...] >>> -/*--------------------------------------------------------------------------*\ >>> - * DMAENGINE operations >>> -\*--------------------------------------------------------------------------*/ >>> -static bool filter(struct dma_chan *chan, void *slave) >>> -{ >>> - struct at_dma_slave *sl = slave; >>> - >>> - if (sl->dma_dev == chan->device->dev) { >>> - chan->private = sl; >>> - return true; >>> - } else { >>> - return false; >>> - } >>> -} >> >> I'm wondering why is filtering no longer required? > > Now this is handled by at_dma_filter in at_hdmac driver. More information, you > can reference: <driver/dma/at_hdmac.c> file
Ok, so the DMA channel is now supplied via devicetree. This is really a change that should be listed in the changelog. > >> [...] >>> + slave_config->dst_addr = (dma_addr_t)ssc->phybase + SSC_THR; >> [...] >>> + slave_config->src_addr = (dma_addr_t)ssc->phybase + SSC_RHR; >> >> Change the type of phybase to dma_addr_t > > It should be: > slave_config->dst_addr = (dma_addr_t)(ssc->phybase + SSC_THR); > slave_config->src_addr = (dma_addr_t)(ssc->phybase + SSC_RHR); The type of phybase in the ssc_device struct should be changed from resource_size_t to dma_addr_t. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/