[PATCH 000/165] radeon drm-next patches
alexdeucher at gmail.com
alexdeucher at gmail.com
Wed Jun 26 06:21:20 PDT 2013
From: Alex Deucher <alexander.deucher at amd.com>
These are the radeon patches for 3.11. Some of these patches
are huge so, it might be easier to review things here:
http://cgit.freedesktop.org/~agd5f/linux/log/?h=drm-next-3.11-wip
I'll send a formal pull in request in the next day or two.
Highlights of this series:
- DPM support (Dynamic Power Management) for r6xx-SI
- Support for CIK (Sea Islands): modesetting, 3D, compute, UVD
- ASPM support for R6xx-SI
Since this is the initial public DPM code, it's still disabled by default
until we get more community testing. Pass dpm=1 to the radeon module to
enable it.
Alex Deucher (164):
drm/radeon: fix AVI infoframe generation
drm/radeon: add backlight quirk for hybrid mac
drm/radeon: add a reset work handler
drm/radeon: add CIK chip families
drm/radeon: add DCE8 macro for CIK
drm/radeon: adapt to PCI BAR changes on CIK
drm/radeon: add gpu init support for CIK (v9)
drm/radeon: Add support for CIK GPU reset (v2)
drm/radeon: add support for MC/VM setup on CIK (v6)
drm/radeon/cik: stop page faults from hanging the system (v2)
drm/radeon: add initial ucode loading for CIK (v5)
drm/radeon: add support mc ucode loading on CIK (v2)
drm/radeon: Add CP init for CIK (v7)
drm/radeon: add IB and fence dispatch functions for CIK gfx (v7)
drm/radeon: add ring and IB tests for CIK (v3)
drm/radeon: implement async vm_flush for the CP (v7)
drm/radeon: Add support for RLC init on CIK (v4)
drm/radeon: add support for interrupts on CIK (v5)
drm/radeon/cik: log and handle VM page fault interrupts
drm/radeon/cik: add support for sDMA dma engines (v8)
drm/radeon: implement async vm_flush for the sDMA (v6)
drm/radeon/cik: add support for doing async VM pt updates (v5)
drm/radeon/cik: fill in startup/shutdown callbacks (v4)
drm/radeon: upstream ObjectID.h updates (v2)
drm/radeon: upstream atombios.h updates (v2)
drm/radeon: atombios power table updates (v2)
drm/radeon: handle the integrated thermal controller on CI
drm/radeon: update power state parsing for CI
drm/radeon/dce8: add support for display watermark setup
drm/radeon/cik: add hw cursor support (v2)
drm/radeon/dce8: properly handle interlaced timing
drm/radeon/dce8: crtc_set_base updates
drm/radeon/atom: add DCE8 encoder support
drm/radeon/atom: add support for new DVO tables
drm/radeon: update DISPCLK programming for DCE8
drm/radeon: add support pll selection for DCE8 (v4)
drm/radeon: Handle PPLL0 powerdown on DCE8
drm/radeon: use frac fb div on DCE8
drm/radeon: add SS override support for KB/KV
drm/radeon: Update radeon_info_ioctl for CIK (v2)
drm/radeon: add get_gpu_clock_counter() callback for cik
drm/radeon: update CIK soft reset
drm/radeon: add indirect register accessors for SMC registers
drm/radeon: add get_xclk() callback for CIK
drm/radeon/cik: add pcie_port indirect register accessors
drm/radeon: update radeon_atom_get_clock_dividers() for SI
drm/radeon: update radeon_atom_get_clock_dividers for CIK
drm/radeon/cik: add srbm_select function
drm/radeon: use callbacks for ring pointer handling
drm/radeon: implement simple doorbell page allocator
drm/radeon/cik: Add support for compute queues (v2)
drm/radeon/cik: switch to type3 nop packet for compute rings
drm/radeon: fix up ring functions for compute rings
drm/radeon/cik: add support for compute interrupts
drm/radeon/cik: add support for golden register init
drm/radeon: add radeon_asic struct for CIK (v11)
drm/radeon: add cik tile mode array query
drm/radeon: add current Bonaire PCI ids
drm/radeon: add current KB pci ids
drm/radeon/kms: add accessors for RCU indirect space
drm/radeon/evergreen: add indirect register accessors for CG
registers
drm/radeon: make get_temperature functions a callback
drm/radeon: add support for thermal sensor on tn
drm/radeon/kms: move ucode defines to a separate header
drm/radeon: properly set up the RLC on ON/LN/TN (v3)
drm/radeon/kms: add atom helper functions for dpm (v3)
drm/radeon/kms: add new asic struct for rv6xx (v3)
drm/radeon/kms: add common dpm infrastructure
drm/radeon/kms: fix up rs780/rs880 display watermark calc for dpm
drm/radeon/kms: fix up 6xx/7xx display watermark calc for dpm
drm/radeon/kms: fix up dce4/5 display watermark calc for dpm
drm/radeon/kms: fix up dce6 display watermark calc for dpm
drm/radeon/kms: add common r600 dpm functions
drm/radeon/kms: add dpm support for rs780/rs880
drm/radeon/kms: add dpm support for rv6xx
drm/radeon/kms: add dpm support for rv7xx (v2)
drm/radeon/kms: add dpm support for evergreen (v2)
drm/radeon/kms: add dpm support for btc (v2)
drm/radeon/kms: add dpm support for sumo asics
drm/radeon/kms: add dpm support for trinity asics
drm/radeon/dpm: let atom control display phy powergating
drm/radeon: add dpm UVD handling for r7xx asics
drm/radeon: add dpm UVD handling for evergreen/btc asics
drm/radeon: add dpm UVD handling for sumo asics
drm/radeon: add dpm UVD handling for TN asics (v2)
drm/radeon/kms: enable UVD as needed (v9)
drm/radeon/dpm: add helpers for extended power tables (v2)
drm/radeon/dpm: track whether we are on AC or battery
drm/radeon/dpm: fixup dynamic state adjust for sumo
drm/radeon/dpm: fixup dynamic state adjust for TN
drm/radeon/dpm: fixup dynamic state adjust for btc (v2)
drm/radeon/kms: add dpm support for cayman
drm/radeon/cayman: update tdp limits in set_power_state
drm/radeon/dpm/rs780: restructure code
drm/radeon/dpm/rv6xx: restructure code
drm/radeon/dpm/rv7xx: restructure code
drm/radeon/dpm/evergreen: restructure code
drm/radeon/dpm/btc: restructure code
drm/radeon/dpm/cayman: restructure code
drm/radeon/dpm/sumo: restructure code
drm/radeon/dpm/tn: restructure code
drm/radeon/dpm: add new pre/post_set_power_state callbacks
drm/radeon/dpm: add pre/post_set_power_state callbacks (6xx-eg)
drm/radeon/dpm: add pre/post_set_power_state callback (sumo)
drm/radeon/dpm: add pre/post_set_power_state callback (TN)
drm/radeon/dpm: add pre/post_set_power_state callback (BTC)
drm/radeon/dpm: add pre/post_set_power_state callback (cayman)
drm/radeon/dpm: remove broken dyn state remnants
drm/radeon: add missing UVD clock set in cayman dpm code
drm/radeon/dpm: remove local sumo_get_xclk()
drm/radeon: implement apci perf request
drm/radeon/atom: add helper to calcuate mpll params
drm/radeon: update radeon_atom_is_voltage_gpio() for SI
drm/radeon: update radeon_atom_get_voltage_table() for SI
drm/radeon: implement pcie gen2/3 support for SI
drm/radeon: add accessors of pif_phy indirect register space
drm/radeon: add support for ASPM on evergreen asics
drm/radeon: add support for ASPM on SI asics (v2)
drm/radeon: enable additional power gating features on trinity
drm/radeon: update rlc programming sequence on SI
drm/radeon: add atom get leakage vddc function
drm/radeon: add indirect accessors for UVD CTX registers
drm/radeon: initialize save/restore buffer for pg on verde
drm/radeon: add clearstate init for verde power gating
drm/radeon: implement clock and power gating for SI
drm/radeon/dpm: add an enum for pcie gen selection
drm/radeon/dpm: pull in phase shedding limits from atom
drm/radeon/dpm: endian fixes for extended power tables
drm/radeon/dpm: pull in ppm info from atom
drm/radeon/dpm: save some display parameters for DPM
drm/radeon: minor sid.h cleanup
drm: add some additional fixed point helpers (v2)
drm/radeon/dpm/cayman: use new fixed point functions
drm/radeon: fix some memory leaks in extended table parsing
drm/radeon/dpm: validate voltages against dispclk requirements
drm/radeon: update radeon_atombios_get_default_voltages for mvdd
drm/radeon/dpm: add pcie gen helper function
drm/radeon: fix typo in atom voltage table handling (6xx-ni)
drm/radeon: fix typo in atom voltage table handling (si+)
drm/radeon/atom: fix voltage table parsing
drm/radeon/dpm/ni: properly catch errors in dpm setup
drm/radeon/dpm/btc: properly catch errors in dpm setup
drm/radeon/dpm/evergreen: properly catch errors in dpm setup
drm/radeon/dpm/sumo: properly catch errors in dpm setup
drm/radeon/dpm/trinity: properly catch errors in dpm setup
drm/radeon/dpm/r7xx: properly catch errors in dpm setup
drm/radeon/dpm/r6xx: properly catch errors in dpm setup
drm/radeon/dpm/rs780: properly catch errors in dpm setup
drm/radeon: add SI to r600_is_internal_thermal_sensor()
drm/radeon: switch SI to use radeon_ucode.h
drm/radeon/kms: add dpm support for SI (v3)
drm/radeon/dpm: add dpm_enable failure output (7xx-ni)
drm/radeon/dpm: add dpm_enable failure output (si)
drm/radeon/dpm: add dpm_set_power_state failure output (7xx-ni)
drm/radeon/dpm: add dpm_set_power_state failure output (si)
drm/radeon/dpm: fix typo in setting uvd clock
drm/radeon/si: fix typo in function name
drm/radeon: fix typo in cik_select_se_sh()
drm/radeon: fix typo in ni_print_power_state
drm/radeon/dpm: add support for setting UVD clock on rs780
drm/radeon/dpm: add support for setting UVD clock on rv6xx
drm/radeon/dpm: fix UVD clock setting on cayman
drm/radeon/dpm: fix UVD clock setting on SI
drm/radeon: fix endian issues in atombios dpm code
Christian König (1):
drm/radeon: add UVD support for CIK (v3)
drivers/gpu/drm/radeon/Makefile | 5 +-
drivers/gpu/drm/radeon/ObjectID.h | 40 +
drivers/gpu/drm/radeon/atombios.h | 547 ++-
drivers/gpu/drm/radeon/atombios_crtc.c | 88 +-
drivers/gpu/drm/radeon/atombios_encoders.c | 51 +-
drivers/gpu/drm/radeon/btc_dpm.c | 2731 ++++++++++
drivers/gpu/drm/radeon/btc_dpm.h | 57 +
drivers/gpu/drm/radeon/btcd.h | 181 +
drivers/gpu/drm/radeon/cik.c | 6995 +++++++++++++++++++++++++
drivers/gpu/drm/radeon/cik_blit_shaders.c | 246 +
drivers/gpu/drm/radeon/cik_blit_shaders.h | 32 +
drivers/gpu/drm/radeon/cik_reg.h | 147 +
drivers/gpu/drm/radeon/cikd.h | 1297 +++++
drivers/gpu/drm/radeon/clearstate_cayman.h | 1081 ++++
drivers/gpu/drm/radeon/clearstate_defs.h | 44 +
drivers/gpu/drm/radeon/clearstate_evergreen.h | 1080 ++++
drivers/gpu/drm/radeon/clearstate_si.h | 941 ++++
drivers/gpu/drm/radeon/cypress_dpm.c | 2170 ++++++++
drivers/gpu/drm/radeon/cypress_dpm.h | 160 +
drivers/gpu/drm/radeon/evergreen.c | 644 +++-
drivers/gpu/drm/radeon/evergreen_hdmi.c | 11 +-
drivers/gpu/drm/radeon/evergreen_reg.h | 12 +
drivers/gpu/drm/radeon/evergreen_smc.h | 67 +
drivers/gpu/drm/radeon/evergreend.h | 389 ++-
drivers/gpu/drm/radeon/ni.c | 198 +-
drivers/gpu/drm/radeon/ni_dpm.c | 4288 +++++++++++++++
drivers/gpu/drm/radeon/ni_dpm.h | 248 +
drivers/gpu/drm/radeon/nid.h | 561 ++
drivers/gpu/drm/radeon/nislands_smc.h | 329 ++
drivers/gpu/drm/radeon/ppsmc.h | 110 +
drivers/gpu/drm/radeon/r600.c | 147 +-
drivers/gpu/drm/radeon/r600_dpm.c | 1024 ++++
drivers/gpu/drm/radeon/r600_dpm.h | 226 +
drivers/gpu/drm/radeon/r600_hdmi.c | 11 +-
drivers/gpu/drm/radeon/r600_reg.h | 6 +
drivers/gpu/drm/radeon/r600d.h | 232 +-
drivers/gpu/drm/radeon/radeon.h | 517 ++-
drivers/gpu/drm/radeon/radeon_acpi.c | 145 +
drivers/gpu/drm/radeon/radeon_asic.c | 524 ++-
drivers/gpu/drm/radeon/radeon_asic.h | 166 +
drivers/gpu/drm/radeon/radeon_atombios.c | 880 +++-
drivers/gpu/drm/radeon/radeon_cs.c | 1 +
drivers/gpu/drm/radeon/radeon_cursor.c | 10 +-
drivers/gpu/drm/radeon/radeon_device.c | 106 +-
drivers/gpu/drm/radeon/radeon_display.c | 21 +-
drivers/gpu/drm/radeon/radeon_drv.c | 7 +-
drivers/gpu/drm/radeon/radeon_family.h | 3 +
drivers/gpu/drm/radeon/radeon_irq_kms.c | 20 +
drivers/gpu/drm/radeon/radeon_kms.c | 41 +-
drivers/gpu/drm/radeon/radeon_mode.h | 93 +
drivers/gpu/drm/radeon/radeon_pm.c | 610 ++-
drivers/gpu/drm/radeon/radeon_reg.h | 1 +
drivers/gpu/drm/radeon/radeon_ring.c | 55 +-
drivers/gpu/drm/radeon/radeon_ucode.h | 129 +
drivers/gpu/drm/radeon/radeon_uvd.c | 32 +-
drivers/gpu/drm/radeon/rs690.c | 291 +-
drivers/gpu/drm/radeon/rs780_dpm.c | 963 ++++
drivers/gpu/drm/radeon/rs780_dpm.h | 109 +
drivers/gpu/drm/radeon/rs780d.h | 168 +
drivers/gpu/drm/radeon/rv515.c | 224 +-
drivers/gpu/drm/radeon/rv6xx_dpm.c | 2059 ++++++++
drivers/gpu/drm/radeon/rv6xx_dpm.h | 95 +
drivers/gpu/drm/radeon/rv6xxd.h | 246 +
drivers/gpu/drm/radeon/rv730_dpm.c | 508 ++
drivers/gpu/drm/radeon/rv730d.h | 165 +
drivers/gpu/drm/radeon/rv740_dpm.c | 416 ++
drivers/gpu/drm/radeon/rv740d.h | 117 +
drivers/gpu/drm/radeon/rv770_dpm.c | 2446 +++++++++
drivers/gpu/drm/radeon/rv770_dpm.h | 287 +
drivers/gpu/drm/radeon/rv770_smc.c | 621 +++
drivers/gpu/drm/radeon/rv770_smc.h | 209 +
drivers/gpu/drm/radeon/rv770d.h | 279 +-
drivers/gpu/drm/radeon/si.c | 1337 +++++-
drivers/gpu/drm/radeon/si_dpm.c | 6369 ++++++++++++++++++++++
drivers/gpu/drm/radeon/si_dpm.h | 227 +
drivers/gpu/drm/radeon/si_smc.c | 284 +
drivers/gpu/drm/radeon/sid.h | 599 ++-
drivers/gpu/drm/radeon/sislands_smc.h | 397 ++
drivers/gpu/drm/radeon/sumo_dpm.c | 1801 +++++++
drivers/gpu/drm/radeon/sumo_dpm.h | 220 +
drivers/gpu/drm/radeon/sumo_smc.c | 222 +
drivers/gpu/drm/radeon/sumod.h | 372 ++
drivers/gpu/drm/radeon/trinity_dpm.c | 1887 +++++++
drivers/gpu/drm/radeon/trinity_dpm.h | 131 +
drivers/gpu/drm/radeon/trinity_smc.c | 115 +
drivers/gpu/drm/radeon/trinityd.h | 228 +
include/drm/drm_fixed.h | 96 +
include/drm/drm_pciids.h | 24 +
88 files changed, 52708 insertions(+), 561 deletions(-)
create mode 100644 drivers/gpu/drm/radeon/btc_dpm.c
create mode 100644 drivers/gpu/drm/radeon/btc_dpm.h
create mode 100644 drivers/gpu/drm/radeon/btcd.h
create mode 100644 drivers/gpu/drm/radeon/cik.c
create mode 100644 drivers/gpu/drm/radeon/cik_blit_shaders.c
create mode 100644 drivers/gpu/drm/radeon/cik_blit_shaders.h
create mode 100644 drivers/gpu/drm/radeon/cik_reg.h
create mode 100644 drivers/gpu/drm/radeon/cikd.h
create mode 100644 drivers/gpu/drm/radeon/clearstate_cayman.h
create mode 100644 drivers/gpu/drm/radeon/clearstate_defs.h
create mode 100644 drivers/gpu/drm/radeon/clearstate_evergreen.h
create mode 100644 drivers/gpu/drm/radeon/clearstate_si.h
create mode 100644 drivers/gpu/drm/radeon/cypress_dpm.c
create mode 100644 drivers/gpu/drm/radeon/cypress_dpm.h
create mode 100644 drivers/gpu/drm/radeon/evergreen_smc.h
create mode 100644 drivers/gpu/drm/radeon/ni_dpm.c
create mode 100644 drivers/gpu/drm/radeon/ni_dpm.h
create mode 100644 drivers/gpu/drm/radeon/nislands_smc.h
create mode 100644 drivers/gpu/drm/radeon/ppsmc.h
create mode 100644 drivers/gpu/drm/radeon/r600_dpm.c
create mode 100644 drivers/gpu/drm/radeon/r600_dpm.h
create mode 100644 drivers/gpu/drm/radeon/radeon_ucode.h
create mode 100644 drivers/gpu/drm/radeon/rs780_dpm.c
create mode 100644 drivers/gpu/drm/radeon/rs780_dpm.h
create mode 100644 drivers/gpu/drm/radeon/rs780d.h
create mode 100644 drivers/gpu/drm/radeon/rv6xx_dpm.c
create mode 100644 drivers/gpu/drm/radeon/rv6xx_dpm.h
create mode 100644 drivers/gpu/drm/radeon/rv6xxd.h
create mode 100644 drivers/gpu/drm/radeon/rv730_dpm.c
create mode 100644 drivers/gpu/drm/radeon/rv730d.h
create mode 100644 drivers/gpu/drm/radeon/rv740_dpm.c
create mode 100644 drivers/gpu/drm/radeon/rv740d.h
create mode 100644 drivers/gpu/drm/radeon/rv770_dpm.c
create mode 100644 drivers/gpu/drm/radeon/rv770_dpm.h
create mode 100644 drivers/gpu/drm/radeon/rv770_smc.c
create mode 100644 drivers/gpu/drm/radeon/rv770_smc.h
create mode 100644 drivers/gpu/drm/radeon/si_dpm.c
create mode 100644 drivers/gpu/drm/radeon/si_dpm.h
create mode 100644 drivers/gpu/drm/radeon/si_smc.c
create mode 100644 drivers/gpu/drm/radeon/sislands_smc.h
create mode 100644 drivers/gpu/drm/radeon/sumo_dpm.c
create mode 100644 drivers/gpu/drm/radeon/sumo_dpm.h
create mode 100644 drivers/gpu/drm/radeon/sumo_smc.c
create mode 100644 drivers/gpu/drm/radeon/sumod.h
create mode 100644 drivers/gpu/drm/radeon/trinity_dpm.c
create mode 100644 drivers/gpu/drm/radeon/trinity_dpm.h
create mode 100644 drivers/gpu/drm/radeon/trinity_smc.c
create mode 100644 drivers/gpu/drm/radeon/trinityd.h
--
1.7.7.5
More information about the dri-devel
mailing list