* Andy Shevchenko <andy.shevchenko@xxxxxxxxx> [191024 11:23]: > On Thu, Oct 24, 2019 at 11:51 AM Peter Ujfalusi <peter.ujfalusi@xxxxxx> wrote: > > On 23/10/2019 23.18, Tony Lindgren wrote: > > > And the USB cable connect/disconnect is handled in interrupt -> you need > > to call pm_runtime_get_sync(dmadev) from interrupt context and need to > > mark the dmadev to pm_runtime_irq_safe() > > Side note: and please don't spread the pm_runtime_irq_safe() hack more... > I think Tony is quite aware of this. I agree, let's not add any more pm_runtime_irq_safe() at all. And let's get rid of all the existing users of it. Using pm_runtime_irq_safe() causes a problem for implementing genpd because of the permanent use count on the parent device. And then there is the serial driver issue with console use. In the musb case, we should be able to enable/disable cppi41 dma from musb_pm_runtime_check_session() without a need for pm_runtime_irq_safe(). We probably still want to keep the $subject patch for the state check and return NULL if cppi41 is not active. But should be able to remove the PM runtime calls in the $subject patch. Regards, Tony