Re: [PATCH v5 0/5] Improve GPU reset sequence for Adreno GPU

From: Bjorn Andersson
Date: Tue Jan 10 2023 - 12:18:19 EST


On Mon, Jan 02, 2023 at 04:18:26PM +0530, Akhil P Oommen wrote:
>
> This is a rework of [1] using genpd instead of 'reset' framework.
>
> As per the recommended reset sequence of Adreno gpu, we should ensure that
> gpucc-cx-gdsc has collapsed at hardware to reset gpu's internal hardware states.
> Because this gdsc is implemented as 'votable', gdsc driver doesn't poll and
> wait until its hw status says OFF.
>
> So use the newly introduced genpd api (dev_pm_genpd_synced_poweroff()) to
> provide a hint to the gdsc driver to poll for the hw status and use genpd
> notifier to wait from adreno gpu driver until gdsc is turned OFF.
>
> This series is rebased on top of linux-next (20221215) since the changes span
> multiple drivers.
>
> [1] https://patchwork.freedesktop.org/series/107507/
>

@Rob, please find the PM and gdsc implementation changes picked up here:

https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux.git tags/1672656511-1931-1-git-send-email-quic_akhilpo@xxxxxxxxxxx

Regards,
Bjorn

> Changes in v5:
> - Capture all Reviewed-by tags
>
> Changes in v4:
> - Update genpd function documentation (Ulf)
>
> Changes in v3:
> - Rename the var 'force_sync' to 'wait (Stephen)
>
> Changes in v2:
> - Minor formatting fix
> - Select PM_GENERIC_DOMAINS from Kconfig
>
> Akhil P Oommen (4):
> clk: qcom: gdsc: Support 'synced_poweroff' genpd flag
> drm/msm/a6xx: Vote for cx gdsc from gpu driver
> drm/msm/a6xx: Remove cx gdsc polling using 'reset'
> drm/msm/a6xx: Use genpd notifier to ensure cx-gdsc collapse
>
> Ulf Hansson (1):
> PM: domains: Allow a genpd consumer to require a synced power off
>
> drivers/base/power/domain.c | 26 ++++++++++++++++++++
> drivers/clk/qcom/gdsc.c | 11 +++++----
> drivers/gpu/drm/msm/Kconfig | 1 +
> drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 46 ++++++++++++++++++++++++++++++++---
> drivers/gpu/drm/msm/adreno/a6xx_gmu.h | 7 ++++++
> drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 13 +++++++---
> drivers/gpu/drm/msm/msm_gpu.c | 4 ---
> drivers/gpu/drm/msm/msm_gpu.h | 4 ---
> include/linux/pm_domain.h | 5 ++++
> 9 files changed, 97 insertions(+), 20 deletions(-)
>
> --
> 2.7.4
>