All of lore.kernel.org
 help / color / mirror / Atom feed
* [pull] radeon drm-next-3.11
@ 2013-06-28  0:15 alexdeucher
  0 siblings, 0 replies; 9+ messages in thread
From: alexdeucher @ 2013-06-28  0:15 UTC (permalink / raw)
  To: dri-devel, airlied; +Cc: Alex Deucher

From: Alex Deucher <alexander.deucher@amd.com>

Hi Dave,

This is the pull request for radeon for 3.11.  Highlights include:

- Support for CIK (Sea Islands) asics: 3D, compute, UVD
- DPM (Dynamic Power Management) support for 6xx-SI
- ASPM support for 6xx-SI
- Assorted bug fixes

DPM is disabled by default for now until it gets further testing.  DPM
on 6xx and NI asics are still a bit problematic, but other asic families
are generally working well.  You can enable DPM by setting the dpm module
parameter to 1.

The following changes since commit 9b1be4dc02bb6b9761fbd8927c1750d75ddd2a8c:

  drm/radeon: fix UVD on big endian (2013-06-12 08:17:21 -0400)

are available in the git repository at:
  git://people.freedesktop.org/~agd5f/linux drm-next-3.11

Alex Deucher (166):
      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 (v5)
      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 (v3)
      drm/radeon: implement simple doorbell page allocator
      drm/radeon/cik: Add support for compute queues (v4)
      drm/radeon/cik: switch to type3 nop packet for compute rings (v2)
      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 (v12)
      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 (v4)
      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 (v3)
      drm/radeon/kms: add dpm support for rv7xx (v4)
      drm/radeon/kms: add dpm support for evergreen (v4)
      drm/radeon/kms: add dpm support for btc (v3)
      drm/radeon/kms: add dpm support for sumo asics (v2)
      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 (v5)
      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 (v3)
      drm/radeon/dpm/cayman: use new fixed point functions (v2)
      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 (v7)
      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)
      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
      drm/radeon/NI: fix TDP adjustment in set_power_state
      drm/radeon/SI: fix TDP adjustment in set_power_state

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              | 2740 ++++++++++
 drivers/gpu/drm/radeon/btc_dpm.h              |   57 +
 drivers/gpu/drm/radeon/btcd.h                 |  181 +
 drivers/gpu/drm/radeon/cik.c                  | 6987 +++++++++++++++++++++++++
 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          | 2176 ++++++++
 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               | 4316 +++++++++++++++
 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                |  113 +
 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               |  519 ++-
 drivers/gpu/drm/radeon/radeon_acpi.c          |  145 +
 drivers/gpu/drm/radeon/radeon_asic.c          |  698 +++-
 drivers/gpu/drm/radeon/radeon_asic.h          |  178 +
 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            |  607 ++-
 drivers/gpu/drm/radeon/radeon_reg.h           |    1 +
 drivers/gpu/drm/radeon/radeon_ring.c          |   51 +-
 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            | 2462 +++++++++
 drivers/gpu/drm/radeon/rv770_dpm.h            |  288 +
 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               | 6387 ++++++++++++++++++++++
 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                       |   94 +
 include/drm/drm_pciids.h                      |   24 +
 88 files changed, 52960 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
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [pull] radeon drm-next-3.11
@ 2013-07-08 21:52 alexdeucher
  0 siblings, 0 replies; 9+ messages in thread
From: alexdeucher @ 2013-07-08 21:52 UTC (permalink / raw)
  To: dri-devel, airlied; +Cc: Alex Deucher

From: Alex Deucher <alexander.deucher@amd.com>

Hi Dave,

A few more DPM fixes based on user testing.

The following changes since commit 9b5de59629d2e58eab41e2f0e5cc60b3c395f1c3:

  drm/radeon/dpm: implement force performance level for TN (2013-07-05 18:10:06 -0400)

are available in the git repository at:
  git://people.freedesktop.org/~agd5f/linux drm-next-3.11

Alex Deucher (9):
      drm/radeon/dpm: fix display_gap programming on rv7xx
      drm/radeon: remove stray line in old pm code
      drm/radeon/dpm: add helper to calculate vblank time
      drm/radeon/dpm: add checks against vblank time
      drm/radeon/dpm: implement vblank_too_short callback for 7xx
      drm/radeon/dpm: implement vblank_too_short callback for evergreen
      drm/radeon/dpm: implement vblank_too_short callback for btc
      drm/radeon/dpm: implement vblank_too_short callback for cayman
      drm/radeon/dpm: implement vblank_too_short callback for si

 drivers/gpu/drm/radeon/atombios_crtc.c |    3 +++
 drivers/gpu/drm/radeon/btc_dpm.c       |   16 +++++++++++++++-
 drivers/gpu/drm/radeon/cypress_dpm.c   |   13 +++++++++++++
 drivers/gpu/drm/radeon/ni_dpm.c        |   16 +++++++++++++++-
 drivers/gpu/drm/radeon/ni_dpm.h        |    2 ++
 drivers/gpu/drm/radeon/r600_dpm.c      |   24 ++++++++++++++++++++++++
 drivers/gpu/drm/radeon/r600_dpm.h      |    1 +
 drivers/gpu/drm/radeon/radeon.h        |    2 ++
 drivers/gpu/drm/radeon/radeon_asic.c   |    5 +++++
 drivers/gpu/drm/radeon/radeon_asic.h   |    4 ++++
 drivers/gpu/drm/radeon/radeon_mode.h   |    1 +
 drivers/gpu/drm/radeon/radeon_pm.c     |   15 +++++++++++----
 drivers/gpu/drm/radeon/rv770_dpm.c     |   15 +++++++++++++--
 drivers/gpu/drm/radeon/si_dpm.c        |    3 ++-
 14 files changed, 111 insertions(+), 9 deletions(-)

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [pull] radeon drm-next-3.11
@ 2013-07-05 22:24 alexdeucher
  0 siblings, 0 replies; 9+ messages in thread
From: alexdeucher @ 2013-07-05 22:24 UTC (permalink / raw)
  To: dri-devel, airlied; +Cc: Alex Deucher

From: Alex Deucher <alexander.deucher@amd.com>

Hi Dave,

A few more DPM patches and some bug fixes.  Adds a sysfs interface to force
dpm performance levels.

The following changes since commit 338a95a95508537e23c82d59a2d87be6fde4b6ff:

  drm/radeon/sumo: implement support for disable_gfx_power_gating_in_uvd flag (2013-07-03 17:37:31 -0400)

are available in the git repository at:
  git://people.freedesktop.org/~agd5f/linux drm-next-3.11

Alex Deucher (9):
      drm/radeon: set default clocks for SI when DPM is disabled
      drm/radeon: add support for 3d perf states on older asics
      drm/radeon: fix surface setup on r1xx
      drm/radeon/dpm: add infrastructure to force performance levels
      drm/radeon/dpm: implement force performance levels for 7xx/eg/btc
      drm/radeon/dpm: implement force performance level for cayman
      drm/radeon/dpm: implement force performance level for SI
      drm/radeon/dpm: implement force performance level for ON/LN
      drm/radeon/dpm: implement force performance level for TN

 drivers/gpu/drm/radeon/btc_dpm.c         |    4 +-
 drivers/gpu/drm/radeon/cypress_dpm.c     |    4 +-
 drivers/gpu/drm/radeon/evergreen.c       |    8 ++--
 drivers/gpu/drm/radeon/ni_dpm.c          |   38 ++++++++++++---
 drivers/gpu/drm/radeon/ppsmc.h           |    3 +
 drivers/gpu/drm/radeon/r100.c            |   11 ++---
 drivers/gpu/drm/radeon/radeon.h          |   11 ++++
 drivers/gpu/drm/radeon/radeon_asic.c     |    7 +++
 drivers/gpu/drm/radeon/radeon_asic.h     |   10 ++++
 drivers/gpu/drm/radeon/radeon_atombios.c |    4 ++
 drivers/gpu/drm/radeon/radeon_pm.c       |   77 +++++++++++++++++++++++++++---
 drivers/gpu/drm/radeon/rv770_dpm.c       |   31 +++++++++---
 drivers/gpu/drm/radeon/rv770_dpm.h       |    3 +-
 drivers/gpu/drm/radeon/si_dpm.c          |   42 +++++++++++++----
 drivers/gpu/drm/radeon/sumo_dpm.c        |   44 +++++++++++++++++
 drivers/gpu/drm/radeon/trinity_dpm.c     |   32 ++++++++++++
 drivers/gpu/drm/radeon/trinity_dpm.h     |    1 +
 drivers/gpu/drm/radeon/trinity_smc.c     |    7 +++
 18 files changed, 291 insertions(+), 46 deletions(-)

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [pull] radeon drm-next-3.11
@ 2013-07-03 21:43 alexdeucher
  0 siblings, 0 replies; 9+ messages in thread
From: alexdeucher @ 2013-07-03 21:43 UTC (permalink / raw)
  To: dri-devel, airlied; +Cc: Alex Deucher

From: Alex Deucher <alexander.deucher@amd.com>

Hi Dave,

A few more DPM fixes.

The following changes since commit 7982128c3d447df27db963af67bc6b8dc7efb1de:

  drm/radeon/dpm: add debugfs support for SI (2013-07-01 16:09:06 -0400)

are available in the git repository at:
  git://people.freedesktop.org/~agd5f/linux drm-next-3.11

Alex Deucher (6):
      drm/radeon/dpm: clarify debugfs warning
      drm/radeon: fix endian bug in radeon_atom_get_mclk_range_table()
      drm/radeon/aruba: disable additional rlc features
      drm/radeon/sumo: disable PG when changing UVD clocks
      drm/radeon/tn: disable PG when changing UVD clocks
      drm/radeon/sumo: implement support for disable_gfx_power_gating_in_uvd flag

Mike Lothian (1):
      drm/radeon/dpm: fix compilation with certain versions of gcc

 drivers/gpu/drm/radeon/evergreen.c       |    2 --
 drivers/gpu/drm/radeon/ni_dpm.c          |    1 +
 drivers/gpu/drm/radeon/radeon_atombios.c |    2 +-
 drivers/gpu/drm/radeon/radeon_pm.c       |    2 +-
 drivers/gpu/drm/radeon/rv6xx_dpm.c       |    1 +
 drivers/gpu/drm/radeon/rv770_dpm.c       |    1 +
 drivers/gpu/drm/radeon/si_dpm.c          |    1 +
 drivers/gpu/drm/radeon/sumo_dpm.c        |   24 ++++++++++++++++++++++--
 drivers/gpu/drm/radeon/trinity_dpm.c     |    9 +++++++++
 9 files changed, 37 insertions(+), 6 deletions(-)

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [pull] radeon drm-next-3.11
  2013-07-03  6:39 ` Ruslan N. Marchenko
@ 2013-07-03 13:23   ` Alex Deucher
  0 siblings, 0 replies; 9+ messages in thread
From: Alex Deucher @ 2013-07-03 13:23 UTC (permalink / raw)
  To: Ruslan N. Marchenko; +Cc: Alex Deucher, dri-devel

On Wed, Jul 3, 2013 at 2:39 AM, Ruslan N. Marchenko <rufferson@gmail.com> wrote:
> Am 01.07.2013 23:01, schrieb alexdeucher@gmail.com:
>>
>> From: Alex Deucher<alexander.deucher@amd.com>
>>
>> Hi Dave,
>>
>> A few more patches for 3.11:
>> - add debugfs interface to check current DPM state
>> - Fix a bug that caused problems with DPM on BTC+ asics.
>>
>> The following changes since commit
>> f7d452f4fd5d86f764807a1234a407deb5b105ef:
>>
>>    Merge branch 'drm-nouveau-next' of
>> git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next
>> (2013-07-01 14:10:20 +1000)
>>
>> are available in the git repository at:
>>
>>    git://people.freedesktop.org/~agd5f/linux drm-next-3.11
>>
>> Alex Deucher (12):
>>        drm/radeon: remove sumo dpm/uvd bringup leftovers
>>        drm/radeon/atom: fix endian bug in radeon_atom_init_mc_reg_table()
>>        drm/radeon: fix typo in radeon_atom_init_mc_reg_table()
>>        drm/radeon/dpm: re-enable state transitions for BTC
>>        drm/radeon/dpm: re-enable state transitions for Cayman
>>        drm/radeon/dpm: add infrastructure to support debugfs info
>>        drm/radeon/dpm: add debugfs support for rv6xx
>>        drm/radeon/dpm: add debugfs support for 7xx/evergreen/btc
>>        drm/radeon/dpm: add debugfs support for ON/LN
>>        drm/radeon/dpm: add debugfs support for TN
>>        drm/radeon/dpm: add debugfs support for cayman
>>        drm/radeon/dpm: add debugfs support for SI
>>
>>   drivers/gpu/drm/radeon/btc_dpm.c         |    3 --
>>   drivers/gpu/drm/radeon/ni_dpm.c          |   25 +++++++++++++---
>>   drivers/gpu/drm/radeon/nid.h             |    4 ++
>>   drivers/gpu/drm/radeon/radeon.h          |    2 +
>>   drivers/gpu/drm/radeon/radeon_asic.c     |    8 +++++
>>   drivers/gpu/drm/radeon/radeon_asic.h     |   12 ++++++++
>>   drivers/gpu/drm/radeon/radeon_atombios.c |    3 +-
>>   drivers/gpu/drm/radeon/radeon_pm.c       |   40
>> ++++++++++++++++++--------
>>   drivers/gpu/drm/radeon/rv6xx_dpm.c       |   25 ++++++++++++++++
>>   drivers/gpu/drm/radeon/rv770_dpm.c       |   30 ++++++++++++++++++++
>>   drivers/gpu/drm/radeon/rv770d.h          |    4 ++
>>   drivers/gpu/drm/radeon/si_dpm.c          |   19 ++++++++++++
>>   drivers/gpu/drm/radeon/sid.h             |    4 ++
>>   drivers/gpu/drm/radeon/sumo_dpm.c        |   45
>> ++++++++++++++++++-----------
>>   drivers/gpu/drm/radeon/trinity_dpm.c     |   21 ++++++++++++++
>>   15 files changed, 206 insertions(+), 39 deletions(-)
>> _______________________________________________
>> dri-devel mailing list
>> dri-devel@lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>>
> This is really excellent and very wanted addition to the radeon, a huge
> thanks Alex for giving a second life to my old TimelineX with hybrid
> AMD/Intel graphics. Intel ironlake became a bit outdated already but with
> ATi HD 5650 I was able to drink tee all day long since it never came lower
> than 90 degrees Celsius.   Now it comfortably sits at 55-60 so I can use it
> back again.
>
> As I noticed it supports now either dynpm or profile method of clocking,
> however profiles themselves also have several (3) power states. Also during
> init phase it writes that it switching from boot to performance profile - so
> what exactly is the difference between dpm and profile method? Will dynpm
> react to ACPI events like lid closed or AC offline or I better to add calls
> to acpid event handlers to tweak the profiles/methods?

With with the old profile/dynpm methods, the driver was responsible
for changing the power states.  With dpm, there is dedicated hardware
on the GPU that automatically changes the power levels based on GPU
load.  E.g., when you have an idle desktop, the hw will put the gpu
into the lowest power level, when you start to use the 3D engine,
etc., it will automatically switch the GPU into higher power levels.
With dpm you can also manually switch between performance and battery
states.  Both states will automatically switch between power levels,
but the battery state generally has a narrower range of power levels.
The driver could automatically transition based on acpi events (there
was an option do to that with the old profile method), but that's not
currently hooked up and that's more of a policy choice, so it seems
like something that would be better handled in userspace (e.g., you
may want to use the performance state even when ac is offline or you
may want to use the battery state when AC is connected, etc.).

Alex

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [pull] radeon drm-next-3.11
  2013-07-01 21:01 alexdeucher
  2013-07-01 21:57 ` Markus Trippelsdorf
@ 2013-07-03  6:39 ` Ruslan N. Marchenko
  2013-07-03 13:23   ` Alex Deucher
  1 sibling, 1 reply; 9+ messages in thread
From: Ruslan N. Marchenko @ 2013-07-03  6:39 UTC (permalink / raw)
  To: alexdeucher; +Cc: Alex Deucher, dri-devel

Am 01.07.2013 23:01, schrieb alexdeucher@gmail.com:
> From: Alex Deucher<alexander.deucher@amd.com>
>
> Hi Dave,
>
> A few more patches for 3.11:
> - add debugfs interface to check current DPM state
> - Fix a bug that caused problems with DPM on BTC+ asics.
>
> The following changes since commit f7d452f4fd5d86f764807a1234a407deb5b105ef:
>
>    Merge branch 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next (2013-07-01 14:10:20 +1000)
>
> are available in the git repository at:
>
>    git://people.freedesktop.org/~agd5f/linux drm-next-3.11
>
> Alex Deucher (12):
>        drm/radeon: remove sumo dpm/uvd bringup leftovers
>        drm/radeon/atom: fix endian bug in radeon_atom_init_mc_reg_table()
>        drm/radeon: fix typo in radeon_atom_init_mc_reg_table()
>        drm/radeon/dpm: re-enable state transitions for BTC
>        drm/radeon/dpm: re-enable state transitions for Cayman
>        drm/radeon/dpm: add infrastructure to support debugfs info
>        drm/radeon/dpm: add debugfs support for rv6xx
>        drm/radeon/dpm: add debugfs support for 7xx/evergreen/btc
>        drm/radeon/dpm: add debugfs support for ON/LN
>        drm/radeon/dpm: add debugfs support for TN
>        drm/radeon/dpm: add debugfs support for cayman
>        drm/radeon/dpm: add debugfs support for SI
>
>   drivers/gpu/drm/radeon/btc_dpm.c         |    3 --
>   drivers/gpu/drm/radeon/ni_dpm.c          |   25 +++++++++++++---
>   drivers/gpu/drm/radeon/nid.h             |    4 ++
>   drivers/gpu/drm/radeon/radeon.h          |    2 +
>   drivers/gpu/drm/radeon/radeon_asic.c     |    8 +++++
>   drivers/gpu/drm/radeon/radeon_asic.h     |   12 ++++++++
>   drivers/gpu/drm/radeon/radeon_atombios.c |    3 +-
>   drivers/gpu/drm/radeon/radeon_pm.c       |   40 ++++++++++++++++++--------
>   drivers/gpu/drm/radeon/rv6xx_dpm.c       |   25 ++++++++++++++++
>   drivers/gpu/drm/radeon/rv770_dpm.c       |   30 ++++++++++++++++++++
>   drivers/gpu/drm/radeon/rv770d.h          |    4 ++
>   drivers/gpu/drm/radeon/si_dpm.c          |   19 ++++++++++++
>   drivers/gpu/drm/radeon/sid.h             |    4 ++
>   drivers/gpu/drm/radeon/sumo_dpm.c        |   45 ++++++++++++++++++-----------
>   drivers/gpu/drm/radeon/trinity_dpm.c     |   21 ++++++++++++++
>   15 files changed, 206 insertions(+), 39 deletions(-)
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>
This is really excellent and very wanted addition to the radeon, a huge 
thanks Alex for giving a second life to my old TimelineX with hybrid 
AMD/Intel graphics. Intel ironlake became a bit outdated already but 
with ATi HD 5650 I was able to drink tee all day long since it never 
came lower than 90 degrees Celsius.   Now it comfortably sits at 55-60 
so I can use it back again.

As I noticed it supports now either dynpm or profile method of clocking, 
however profiles themselves also have several (3) power states. Also 
during init phase it writes that it switching from boot to performance 
profile - so what exactly is the difference between dpm and profile 
method? Will dynpm react to ACPI events like lid closed or AC offline or 
I better to add calls to acpid event handlers to tweak the profiles/methods?

In any case it's just a new breath to my relict brick, especially now 
when its successor is at service repair :)

-- 
Looking forward to reading yours...
      Ruslan N. Marchenko

^ permalink raw reply	[flat|nested] 9+ messages in thread

* RE: [pull] radeon drm-next-3.11
  2013-07-01 21:57 ` Markus Trippelsdorf
@ 2013-07-01 22:04   ` Deucher, Alexander
  0 siblings, 0 replies; 9+ messages in thread
From: Deucher, Alexander @ 2013-07-01 22:04 UTC (permalink / raw)
  To: Markus Trippelsdorf, alexdeucher; +Cc: dri-devel

> -----Original Message-----
> From: Markus Trippelsdorf [mailto:markus@trippelsdorf.de]
> Sent: Monday, July 01, 2013 5:58 PM
> To: alexdeucher@gmail.com
> Cc: dri-devel@lists.freedesktop.org; airlied@gmail.com; Deucher, Alexander
> Subject: Re: [pull] radeon drm-next-3.11
> 
> On 2013.07.01 at 17:01 -0400, alexdeucher@gmail.com wrote:
> > From: Alex Deucher <alexander.deucher@amd.com>
> >
> > Hi Dave,
> >
> > A few more patches for 3.11:
> > - add debugfs interface to check current DPM state
> > - Fix a bug that caused problems with DPM on BTC+ asics.
> >
> > The following changes since commit
> f7d452f4fd5d86f764807a1234a407deb5b105ef:
> >
> >   Merge branch 'drm-nouveau-next' of
> git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next (2013-07-
> 01 14:10:20 +1000)
> >
> > are available in the git repository at:
> >
> >   git://people.freedesktop.org/~agd5f/linux drm-next-3.11
> >
> > Alex Deucher (12):
> >       drm/radeon: remove sumo dpm/uvd bringup leftovers
> >       drm/radeon/atom: fix endian bug in radeon_atom_init_mc_reg_table()
> >       drm/radeon: fix typo in radeon_atom_init_mc_reg_table()
> >       drm/radeon/dpm: re-enable state transitions for BTC
> >       drm/radeon/dpm: re-enable state transitions for Cayman
> >       drm/radeon/dpm: add infrastructure to support debugfs info
> >       drm/radeon/dpm: add debugfs support for rv6xx
> >       drm/radeon/dpm: add debugfs support for 7xx/evergreen/btc
> 
> Looks like you forgot to add debugfs support for rs780:
> 
> diff --git a/drivers/gpu/drm/radeon/radeon_asic.c
> b/drivers/gpu/drm/radeon/radeon_asic.c
> index a5b244d..ca4f928 100644
> --- a/drivers/gpu/drm/radeon/radeon_asic.c
> +++ b/drivers/gpu/drm/radeon/radeon_asic.c
> @@ -1270,6 +1270,7 @@ static struct radeon_asic rs780_asic = {
>  		.get_sclk = &rs780_dpm_get_sclk,
>  		.get_mclk = &rs780_dpm_get_mclk,
>  		.print_power_state = &rs780_dpm_print_power_state,
> +		.debugfs_print_current_performance_level =
> &rv770_dpm_debugfs_print_current_performance_level,
>  	},
>  	.pflip = {
>  		.pre_page_flip = &rs600_pre_page_flip,
> 

Rs780 doesn't have a convenient way to look up the current power state so it's not implemented yet.  The method used on the other asics does not work for rs780.

Alex

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [pull] radeon drm-next-3.11
  2013-07-01 21:01 alexdeucher
@ 2013-07-01 21:57 ` Markus Trippelsdorf
  2013-07-01 22:04   ` Deucher, Alexander
  2013-07-03  6:39 ` Ruslan N. Marchenko
  1 sibling, 1 reply; 9+ messages in thread
From: Markus Trippelsdorf @ 2013-07-01 21:57 UTC (permalink / raw)
  To: alexdeucher; +Cc: Alex Deucher, dri-devel

On 2013.07.01 at 17:01 -0400, alexdeucher@gmail.com wrote:
> From: Alex Deucher <alexander.deucher@amd.com>
> 
> Hi Dave,
> 
> A few more patches for 3.11:
> - add debugfs interface to check current DPM state
> - Fix a bug that caused problems with DPM on BTC+ asics.
> 
> The following changes since commit f7d452f4fd5d86f764807a1234a407deb5b105ef:
> 
>   Merge branch 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next (2013-07-01 14:10:20 +1000)
> 
> are available in the git repository at:
> 
>   git://people.freedesktop.org/~agd5f/linux drm-next-3.11
> 
> Alex Deucher (12):
>       drm/radeon: remove sumo dpm/uvd bringup leftovers
>       drm/radeon/atom: fix endian bug in radeon_atom_init_mc_reg_table()
>       drm/radeon: fix typo in radeon_atom_init_mc_reg_table()
>       drm/radeon/dpm: re-enable state transitions for BTC
>       drm/radeon/dpm: re-enable state transitions for Cayman
>       drm/radeon/dpm: add infrastructure to support debugfs info
>       drm/radeon/dpm: add debugfs support for rv6xx
>       drm/radeon/dpm: add debugfs support for 7xx/evergreen/btc

Looks like you forgot to add debugfs support for rs780:

diff --git a/drivers/gpu/drm/radeon/radeon_asic.c b/drivers/gpu/drm/radeon/radeon_asic.c
index a5b244d..ca4f928 100644
--- a/drivers/gpu/drm/radeon/radeon_asic.c
+++ b/drivers/gpu/drm/radeon/radeon_asic.c
@@ -1270,6 +1270,7 @@ static struct radeon_asic rs780_asic = {
 		.get_sclk = &rs780_dpm_get_sclk,
 		.get_mclk = &rs780_dpm_get_mclk,
 		.print_power_state = &rs780_dpm_print_power_state,
+		.debugfs_print_current_performance_level = &rv770_dpm_debugfs_print_current_performance_level,
 	},
 	.pflip = {
 		.pre_page_flip = &rs600_pre_page_flip,

-- 
Markus

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [pull] radeon drm-next-3.11
@ 2013-07-01 21:01 alexdeucher
  2013-07-01 21:57 ` Markus Trippelsdorf
  2013-07-03  6:39 ` Ruslan N. Marchenko
  0 siblings, 2 replies; 9+ messages in thread
From: alexdeucher @ 2013-07-01 21:01 UTC (permalink / raw)
  To: dri-devel, airlied; +Cc: Alex Deucher

From: Alex Deucher <alexander.deucher@amd.com>

Hi Dave,

A few more patches for 3.11:
- add debugfs interface to check current DPM state
- Fix a bug that caused problems with DPM on BTC+ asics.

The following changes since commit f7d452f4fd5d86f764807a1234a407deb5b105ef:

  Merge branch 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next (2013-07-01 14:10:20 +1000)

are available in the git repository at:

  git://people.freedesktop.org/~agd5f/linux drm-next-3.11

Alex Deucher (12):
      drm/radeon: remove sumo dpm/uvd bringup leftovers
      drm/radeon/atom: fix endian bug in radeon_atom_init_mc_reg_table()
      drm/radeon: fix typo in radeon_atom_init_mc_reg_table()
      drm/radeon/dpm: re-enable state transitions for BTC
      drm/radeon/dpm: re-enable state transitions for Cayman
      drm/radeon/dpm: add infrastructure to support debugfs info
      drm/radeon/dpm: add debugfs support for rv6xx
      drm/radeon/dpm: add debugfs support for 7xx/evergreen/btc
      drm/radeon/dpm: add debugfs support for ON/LN
      drm/radeon/dpm: add debugfs support for TN
      drm/radeon/dpm: add debugfs support for cayman
      drm/radeon/dpm: add debugfs support for SI

 drivers/gpu/drm/radeon/btc_dpm.c         |    3 --
 drivers/gpu/drm/radeon/ni_dpm.c          |   25 +++++++++++++---
 drivers/gpu/drm/radeon/nid.h             |    4 ++
 drivers/gpu/drm/radeon/radeon.h          |    2 +
 drivers/gpu/drm/radeon/radeon_asic.c     |    8 +++++
 drivers/gpu/drm/radeon/radeon_asic.h     |   12 ++++++++
 drivers/gpu/drm/radeon/radeon_atombios.c |    3 +-
 drivers/gpu/drm/radeon/radeon_pm.c       |   40 ++++++++++++++++++--------
 drivers/gpu/drm/radeon/rv6xx_dpm.c       |   25 ++++++++++++++++
 drivers/gpu/drm/radeon/rv770_dpm.c       |   30 ++++++++++++++++++++
 drivers/gpu/drm/radeon/rv770d.h          |    4 ++
 drivers/gpu/drm/radeon/si_dpm.c          |   19 ++++++++++++
 drivers/gpu/drm/radeon/sid.h             |    4 ++
 drivers/gpu/drm/radeon/sumo_dpm.c        |   45 ++++++++++++++++++-----------
 drivers/gpu/drm/radeon/trinity_dpm.c     |   21 ++++++++++++++
 15 files changed, 206 insertions(+), 39 deletions(-)

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2013-07-08 21:52 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-06-28  0:15 [pull] radeon drm-next-3.11 alexdeucher
2013-07-01 21:01 alexdeucher
2013-07-01 21:57 ` Markus Trippelsdorf
2013-07-01 22:04   ` Deucher, Alexander
2013-07-03  6:39 ` Ruslan N. Marchenko
2013-07-03 13:23   ` Alex Deucher
2013-07-03 21:43 alexdeucher
2013-07-05 22:24 alexdeucher
2013-07-08 21:52 alexdeucher

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.