Russell King - ARM Linux wrote: > On Wed, Jul 27, 2011 at 03:14:27PM +0900, Chanwoo Choi wrote: >> +#ifdef CONFIG_PM_RUNTIME >> + struct dma_pl330_chan *pch; >> + struct dma_pl330_dmac *pdmac; >> +#endif >> >> dma_cap_zero(mask); >> dma_cap_set(info->cap, mask); >> >> chan = dma_request_channel(mask, pl330_filter, (void *)dma_ch); >> >> +#ifdef CONFIG_PM_RUNTIME >> + pch = container_of(chan, struct dma_pl330_chan, chan); >> + pdmac = pch->dmac; >> + >> + pm_runtime_get_sync(pdmac->pif.dev); >> +#endif > > This is not the right way to do this. The pm runtime stuff should be > internal to the PL330 driver. Take a moment to think about this: > > You need to wake it up just before a transfer starts. You need to > put it back to sleep just after the last transfer has finished. > That gives you a hint where the calls need to be. > > That can only be done from within the PL330 driver. > Thanks for your comment&hint. I will repost the patch which support runtime pm of PL330 in internal to the PL330 driver. Regards, Chanwoo Choi -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html