Re: [PATCH v2 12/13] iommu/rockchip: Add runtime PM support

From: JeffyChen
Date: Wed Jan 17 2018 - 03:49:08 EST


Hi Tomasz,

On 01/17/2018 03:52 PM, JeffyChen wrote:
Hi Tomasz,

On 01/17/2018 03:38 PM, Tomasz Figa wrote:
>>Don't we need to check here (and in _shutdown() too) if we have a
>>domain attached?
>
>hmmm, right, the startup might been called by resume, so should check
>iommu->domain here.
>
>but the shutdown would be called at the end of detach or suspend, it
could
>be not attached or attached.
If startup might be called by resume, without domain attached, what
prevents shutdown from being called by suspend after that resume,
still without domain attached? Is it guaranteed that if resume is
called, someone will attach a domain before suspend is called?

no, the shutdown would be called by:
1/ end of detach_dev
so it would be not attached at that time

2/ suspend
so it could be attached, and also could be not attached


anyway, i think the shutdown would work without domain attached(just
disable paging and clear the iommu bases) ;)

hmmm, i see the problem.

so we need to:
1/ move shutdown a little earlier in detach_dev, so it could still see the iommu->domain

2/ check iommu->domain in shutdown, to prevent unnecessary shutdown


or maybe just add iommu->domain check in suspend and resume.
Best regards,
Tomasz