[PATCH 00/18] Rework PM init order
Alex Deucher
alexdeucher at gmail.com
Thu Dec 19 16:51:04 PST 2013
Newer asics require that the dpm be initialized prior to
the other engines in order for clockgating to work properly.
The tricky part is that other aspects of dpm are required
at later stages (e.g., after displays are enumerated).
This patch set reworks the power management init flow
to accomodate the requirements of newer hardware. Most
of the pm init/fini/suspend/resume flow has now moved into
the asic specific functions. As a result, dpm now initializes
reliably on CIK parts and clockgating on these parts now works
and is enabled by default. Powergating support for CIK parts
is also improved, but is not yet ready to be enabled by default.
I think it's now safe to enable dpm by default on CIK parts.
Alex Deucher (18):
drm/radeon/dpm: remove unnecessary checks in dpm_init
drm/radeon/si: drop cg_update from dpm code
drm/radeon/cik: drop cg_update from dpm code
drm/radeon: re-order firmware loading in preparation for dpm rework
drm/radeon/dpm: add a late enable callback
drm/radeon/dpm: add late_enable for rs780/rs880/rv6xx
drm/radeon/dpm: add late_enable for rv7xx-NI
drm/radeon/dpm: add late_enable for sumo
drm/radeon/dpm: add late_enable for trinity
drm/radeon/dpm: add late_enable for SI
drm/radeon/dpm: add late_enable for CI
drm/radeon/dpm: add late_enable for KB/KV
drm/radeon/dpm: switch on new late_enable callback
drm/radeon/pm: move pm handling into the asic specific code
drm/radeon: enable gfx cgcg on CIK dGPUs
drm/radeon: enable gfx cgcg on CIK APUs
drm/radeon: enable dpm by default on CI dGPUs
drm/radeon: enable dpm by default on CI APUs
drivers/gpu/drm/radeon/btc_dpm.c | 20 ++---
drivers/gpu/drm/radeon/ci_dpm.c | 58 ++++---------
drivers/gpu/drm/radeon/cik.c | 51 +++++++-----
drivers/gpu/drm/radeon/cypress_dpm.c | 15 ----
drivers/gpu/drm/radeon/evergreen.c | 42 ++++++----
drivers/gpu/drm/radeon/kv_dpm.c | 48 ++++-------
drivers/gpu/drm/radeon/ni.c | 43 ++++++----
drivers/gpu/drm/radeon/ni_dpm.c | 21 ++---
drivers/gpu/drm/radeon/r100.c | 7 ++
drivers/gpu/drm/radeon/r300.c | 7 ++
drivers/gpu/drm/radeon/r420.c | 7 ++
drivers/gpu/drm/radeon/r520.c | 5 ++
drivers/gpu/drm/radeon/r600.c | 23 ++++--
drivers/gpu/drm/radeon/r600_dpm.c | 20 ++++-
drivers/gpu/drm/radeon/r600_dpm.h | 2 -
drivers/gpu/drm/radeon/radeon.h | 3 +
drivers/gpu/drm/radeon/radeon_asic.c | 19 ++++-
drivers/gpu/drm/radeon/radeon_asic.h | 7 ++
drivers/gpu/drm/radeon/radeon_device.c | 14 +++-
drivers/gpu/drm/radeon/radeon_display.c | 17 +++-
drivers/gpu/drm/radeon/radeon_pm.c | 140 ++++++++++++++++++--------------
drivers/gpu/drm/radeon/rs400.c | 7 ++
drivers/gpu/drm/radeon/rs600.c | 7 ++
drivers/gpu/drm/radeon/rs690.c | 7 ++
drivers/gpu/drm/radeon/rs780_dpm.c | 8 --
drivers/gpu/drm/radeon/rv515.c | 7 ++
drivers/gpu/drm/radeon/rv6xx_dpm.c | 10 ---
drivers/gpu/drm/radeon/rv770.c | 23 ++++--
drivers/gpu/drm/radeon/rv770_dpm.c | 15 +++-
drivers/gpu/drm/radeon/rv770_dpm.h | 4 -
drivers/gpu/drm/radeon/si.c | 35 +++++---
drivers/gpu/drm/radeon/si_dpm.c | 60 ++++----------
drivers/gpu/drm/radeon/sumo_dpm.c | 19 +++--
drivers/gpu/drm/radeon/trinity_dpm.c | 17 +++-
34 files changed, 432 insertions(+), 356 deletions(-)
--
1.8.3.1
More information about the dri-devel
mailing list