On 10/24/25 11:11 AM, Neil Armstrong wrote: > On 10/24/25 10:55, Konrad Dybcio wrote: >> On 10/23/25 10:27 AM, Neil Armstrong wrote: >>> On 10/22/25 19:09, Konrad Dybcio wrote: >>>> On 10/22/25 2:44 PM, Neil Armstrong wrote: >>>>> Due to the sync_state is enabled by default in pmdomain & CCF since v6.17, >>>>> the GCC and GPUCC sync_state would stay pending, leaving the resources in >>>>> full performance: >>>>> gcc-x1e80100 100000.clock-controller: sync_state() pending due to >>>>> 3d6a000.gmu >>>>> gpucc-x1e80100 3d90000.clock-controller: sync_state() pending due to >>>>> 3d6a000.gmu >>>> >>>> Does this *actually* cause any harm, by the way? >>> >>> ? >>> >>>> >>>> For example on x1e, GMU refers to 2 GPU_CC GDSCs, GPU_CC refers >>>> to a pair of GCC clocks and GCC refers to VDD_CX >>>> >>>> and I see these prints, yet: >>>> >>>> /sys/kernel/debug/pm_genpd/gpu_cx_gdsc/current_state:off-0 >>>> /sys/kernel/debug/pm_genpd/gpu_gx_gdsc/current_state:off-0 >>>> >>>> /sys/kernel/debug/pm_genpd/cx/current_state:on >>>> /sys/kernel/debug/pm_genpd/cx/perf_state:256 # because of USB3 votes >>>> >>>> I'm not super sure where that sync_state comes from either (maybe >>>> dev_set_drv_sync_state in pmdomain/core?) >>> >>> The way we handle the GMU so far is wrong, it abuses the driver model. >>> >>> And this is a symptom, whatever the impact it has, it needs to be fixed >>> in a proper way. >>> >>> The sync_state is retained because the gmu device is never probed but >>> has some clocks and power domains attached to it, which is clearly wrong. >> >> Yes I agree, however I'm only debating the commit message claims of >> 'leaving the resources in full performance', which doesn't seem to be >> true > > OK so the wording may be a little bit extreme, perhaps something like: > the GCC and GPUCC sync_state would stay pending, leaving the unused > power domains enabled for the lifetime of the system.
The debugfs reads above suggest this is actually not happening Konrad
