[PATCH v4 08/13] iommu/rockchip: Control clocks needed to access the IOMMU
JeffyChen
jeffy.chen at rock-chips.com
Fri Feb 23 02:36:49 PST 2018
Hi guys,
On 01/25/2018 06:24 PM, JeffyChen wrote:
> On 01/25/2018 05:42 PM, Randy Li wrote:
>>>>
>>>
>>> confirmed with Simon, there might be some iommus don't have a pd, and
>> We use the pd to control the NIU node(not on upstream), without a pd or
>> fake pd, none of the platform would work.
> after talked offline, it's possible to have iommu without pd in upstream
> kernel(and chromeos kernel), but on our internal kernel, the drivers
> would require pd(or fake pd) to reset modules when error happens.
>
> anyway, i think that means we do need clock control here.
found another reason to not depend on pd to control clocks.
currently we are using pd's pm_clk to keep clocks enabled during power
on. but in our pd binding doc, that is not needed:
- clocks (optional): phandles to clocks which need to be enabled while
power domain
switches state.
confirmed with Caesar, the pm_clk only required for some old
chips(rk3288 for example) due to hardware issue.
and i tested my chromebook kevin(rk3399), it works well after remove the
pm_clk:
+++ b/drivers/soc/rockchip/pm_domains.c
@@ -478,7 +478,6 @@ static int rockchip_pm_add_one_domain(struct
rockchip_pmu *pmu,
pd->genpd.power_on = rockchip_pd_power_on;
pd->genpd.attach_dev = rockchip_pd_attach_dev;
pd->genpd.detach_dev = rockchip_pd_detach_dev;
- pd->genpd.flags = GENPD_FLAG_PM_CLK;
will do more tests and send patch tomorrow.
>
>>> the CONFIG_PM could be disabled.I am hard to believe a modern platform
>>> can work without that.
>>>
>>> so it might be better to control clocks in iommu driver itself.
>> I won't
>> insist how the version of the iommu patch on the upstream, I
>> just post an idea here.
>> The version for kernel 4.4 is under internal review, the implementation
>> has been modified many times.
>>
>> I would suggest the managing clocks in pd is a more easy way and don't
>> need to spare those thing in two places.
More information about the linux-arm-kernel
mailing list