On Tue, Nov 6, 2018 at 2:50 PM Zhi, Yong <yong.zhi@xxxxxxxxx> wrote: > > Hi, Sakari, > > Thanks for the feedback. > > > -----Original Message----- > > From: Sakari Ailus [mailto:sakari.ailus@xxxxxxxxxxxxxxx] > > Sent: Monday, November 5, 2018 3:55 AM > > To: Zhi, Yong <yong.zhi@xxxxxxxxx> > > Cc: linux-media@xxxxxxxxxxxxxxx; tfiga@xxxxxxxxxxxx; > > mchehab@xxxxxxxxxx; hans.verkuil@xxxxxxxxx; > > laurent.pinchart@xxxxxxxxxxxxxxxx; Mani, Rajmohan > > <rajmohan.mani@xxxxxxxxx>; Zheng, Jian Xu <jian.xu.zheng@xxxxxxxxx>; Hu, > > Jerry W <jerry.w.hu@xxxxxxxxx>; Toivonen, Tuukka > > <tuukka.toivonen@xxxxxxxxx>; Qiu, Tian Shu <tian.shu.qiu@xxxxxxxxx>; Cao, > > Bingbu <bingbu.cao@xxxxxxxxx> > > Subject: Re: [PATCH v7 06/16] intel-ipu3: mmu: Implement driver > > > > Hi Yong, > > > > On Mon, Oct 29, 2018 at 03:23:00PM -0700, Yong Zhi wrote: > > > From: Tomasz Figa <tfiga@xxxxxxxxxxxx> > > > > > > This driver translates IO virtual address to physical address based on > > > two levels page tables. > > > > > > Signed-off-by: Tomasz Figa <tfiga@xxxxxxxxxxxx> > > > Signed-off-by: Yong Zhi <yong.zhi@xxxxxxxxx> > > > --- > > > > ... > > > > > +static void call_if_ipu3_is_powered(struct ipu3_mmu *mmu, > > > + void (*func)(struct ipu3_mmu *mmu)) { > > > + pm_runtime_get_noresume(mmu->dev); > > > + if (pm_runtime_active(mmu->dev)) > > > + func(mmu); > > > + pm_runtime_put(mmu->dev); > > > > How about: > > > > if (!pm_runtime_get_if_in_use(mmu->dev)) > > return; > > > > func(mmu); > > pm_runtime_put(mmu->dev); > > > > Ack, unless Tomasz has different opinion. It's actually the proper way of doing it. Thanks for the suggestion. Best regards, Tomasz