[pull] radeon drm-next-3.7

alexdeucher at gmail.com alexdeucher at gmail.com
Tue Oct 2 12:24:30 PDT 2012

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

Hi Dave,

This is the drm-next pull request for 3.7.  Most of these patches have been
in my drm-next-3.7-wip branch for a while now, and I've been using it regularly
now for a while.

The big changes for 3.7 include:
- Asynchronous VM page table updates for Cayman/SI
- 2 level VM page table support.  Saves memory compared to 1 level
  page tables.
- Reworked PLL handing in the display code allows lots more
  combinations of monitors to work, including more than two
  DP displays assuming compatible clocks across shared PLLs.
  This also allows us to power down extra PLLs when we can
  share a single one across multiple displays which saves power.
- Native backlight control on ATOMBIOS systems.
- Improved ACPI support for interacting with the GPU.  Fixes
  backlight control on some laptops.
- Document AMD ACPI interfaces
- Lots of code cleanup
- Bug fixes

The branch is against your drm-fixes branch due to conflicts, let me know if you
have trouble pulling it in.

The following changes since commit 16c58081eb95e35f284421176f355eccfc773bbe:

  drm/radeon: Prevent leak of scratch register on resume from suspend (2012-09-20 12:59:16 -0400)

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

Alex Deucher (45):
      drm/radeon/dce4+: don't use radeon_crtc for vblank callback
      drm/radeon: clean up evergreen_get_vblank_counter
      drm/radeon/r1xx-r4xx: don't use radeon_crtc for vblank callback
      drm/radeon/r5xx-r7xx: don't use radeon_crtc for vblank callback (v2)
      drm/radeon: properly handle mc_stop/mc_resume on evergreen+ (v2)
      drm/radeon/dynpm: wait for fences on all rings when reclocking
      drm/radeon: remove gui_idle interrupt infrastructure
      drm/radeon: add new AMD ACPI header and update relevant code (v2)
      drm/radeon: add a license header to radeon_apci.c
      drm/radeon: track whether the GPU controls the backlight (v2)
      drm/radeon: rework legacy backlight control
      drm/radeon: add backlight control for atom devices (v2)
      drm/radeon: re-organize the acpi notifier callback
      drm/radeon: document radeon_acpi.c
      drm/radeon: update ATPX verify interface handling (v2)
      drm/radeon: reorganize ATPX support (v2)
      drm/radeon: document radeon_atpx_handler.c (v2)
      drm/radeon: add initial support for ATCS ACPI methods
      drm/radeon: rework the backlight control to be an asic callback
      drm/radeon/atom: add consolidate bpc code
      drm/radeon: document async VM changes in ni.c
      drm/radeon: implement bounds checking on thermal controller lookup
      drm/radeon: remove dead function def
      drm/radeon: clean up encoder dp checks
      drm/radeon: white space cleanup in transmitter setup
      drm/radeon/atom: fix typo in SetPixelClock handling
      drm/radeon: fix typo in atombios_get_encoder_mode
      drm/radeon: rework pll selection (v4)
      drm/radeon/dce3: use a single PPLL for all DP displays
      drm/radeon: allow PPLL sharing on non-DP displays
      drm/radeon: rework crtc pll setup to better support PPLL sharing
      drm/radeon: store the encoder in the radeon_crtc
      drm/radeon: make non-DP PPLL sharing more robust
      drm/radeon: work around KMS modeset limitations in PLL allocation (v2)
      drm/radeon: validate PPLL in crtc fixup
      drm/radeon: only adjust default clocks on NI GPUs
      drm/radeon: add get_backlight_level callback
      drm/radeon: restore backlight level on resume
      drm/radeon: Add MSI quirk for gateway RS690
      drm/radeon: force MSIs on RS690 asics
      drm/radeon: fix radeon power state debug output
      drm/radeon/pm: fix multi-head profile handling on BTC+ (v2)
      drm/radeon: use WRITE_DATA packets for vm flush on SI
      drm/radeon: rework the vm_flush interface
      drm/radeon: add vm set_page() callback for SI

Christian König (18):
      drm/radeon: cleanup VM id handling a bit
      drm/radeon: move VM funcs into asic structure
      drm/radeon: remove vm_unbind
      drm/radeon: add sync helper function
      drm/radeon: make VM flushs a ring operation
      drm/radeon: rework VMID handling
      drm/radeon: rework VM page table handling
      drm/radeon: Move looping over the PTEs into chip code
      drm/radeon: make page table updates async v2
      drm/radeon: fix VM syncing with multiple rings
      drm/radeon: fix VA range check
      drm/radeon: fix VA overlap check
      drm/radeon: move IB pool to 1MB offset
      drm/radeon: move and rename radeon_bo_va function
      drm/radeon: let bo_reserve take no_intr instead of no_wait param
      drm/radeon: fix gem_close_object handling
      drm/radeon: rework the VM code a bit more (v2)
      drm/radeon: refactor set_page chipset interface v5

Dmitry Cherkasov (1):
      drm/radeon: add 2-level VM pagetables support v9

Jerome Glisse (1):
      drm/radeon: make sure ib bo is properly bound and up to date in vm space

Lauri Kasanen (2):
      drm/radeon: Mark all possible functions / structs as static
      drm/radeon: Remove unused functions

Luca Tettamanti (6):
      drm/radeon: refactor radeon_atif_call
      drm/radeon: implement radeon_atif_verify_interface
      drm/radeon: implement wrapper for GET_SYSTEM_PARAMS
      drm/radeon: implement handler for ACPI event
      ACPI video: allow events handlers to veto the keypress
      drm/radeon: block the keypress on ATIF events

Marek Olšák (2):
      drm/radeon/kms: allow STRMOUT_BASE_UPDATE on RS780 and RS880
      drm/radeon: allow MIP_ADDRESS=0 for MSAA textures on Evergreen

Michel Dänzer (1):
      drm/radeon: Fix scratch register leak in IB test.

Steven Fuerst (3):
      Rename i2f() to int2float(), and make it global so one copy can be removed.
      Replace int2float() with an optimized version.
      Annotate int2float() as being a pure function.

 drivers/acpi/video.c                            |    8 +-
 drivers/gpu/drm/radeon/atombios_crtc.c          |  663 +++++++++++++++--------
 drivers/gpu/drm/radeon/atombios_encoders.c      |  367 ++++++++++---
 drivers/gpu/drm/radeon/evergreen.c              |  282 ++++++----
 drivers/gpu/drm/radeon/evergreen_cs.c           |   61 ++-
 drivers/gpu/drm/radeon/evergreen_reg.h          |    2 +
 drivers/gpu/drm/radeon/evergreend.h             |    7 +
 drivers/gpu/drm/radeon/ni.c                     |  134 +++--
 drivers/gpu/drm/radeon/nid.h                    |    1 +
 drivers/gpu/drm/radeon/r100.c                   |   96 +---
 drivers/gpu/drm/radeon/r300.c                   |    4 +-
 drivers/gpu/drm/radeon/r520.c                   |    4 +-
 drivers/gpu/drm/radeon/r600.c                   |   37 +-
 drivers/gpu/drm/radeon/r600_blit.c              |  115 ++--
 drivers/gpu/drm/radeon/r600_blit_kms.c          |   52 +--
 drivers/gpu/drm/radeon/r600_blit_shaders.h      |    1 +
 drivers/gpu/drm/radeon/r600_cs.c                |    5 +-
 drivers/gpu/drm/radeon/r600_hdmi.c              |    2 +-
 drivers/gpu/drm/radeon/radeon.h                 |  192 +++++--
 drivers/gpu/drm/radeon/radeon_acpi.c            |  607 ++++++++++++++++++++-
 drivers/gpu/drm/radeon/radeon_acpi.h            |  445 +++++++++++++++
 drivers/gpu/drm/radeon/radeon_asic.c            |   93 +++-
 drivers/gpu/drm/radeon/radeon_asic.h            |   28 +-
 drivers/gpu/drm/radeon/radeon_atombios.c        |   15 +-
 drivers/gpu/drm/radeon/radeon_atpx_handler.c    |  411 ++++++++++++---
 drivers/gpu/drm/radeon/radeon_combios.c         |    9 -
 drivers/gpu/drm/radeon/radeon_connectors.c      |   43 +-
 drivers/gpu/drm/radeon/radeon_cs.c              |   83 +--
 drivers/gpu/drm/radeon/radeon_device.c          |   11 +-
 drivers/gpu/drm/radeon/radeon_drv.c             |    4 +-
 drivers/gpu/drm/radeon/radeon_encoders.c        |   19 +-
 drivers/gpu/drm/radeon/radeon_fb.c              |   16 -
 drivers/gpu/drm/radeon/radeon_fence.c           |    2 +-
 drivers/gpu/drm/radeon/radeon_gart.c            |  602 +++++++++++++--------
 drivers/gpu/drm/radeon/radeon_gem.c             |   54 ++-
 drivers/gpu/drm/radeon/radeon_ioc32.c           |    2 +-
 drivers/gpu/drm/radeon/radeon_irq_kms.c         |   43 +--
 drivers/gpu/drm/radeon/radeon_kms.c             |   17 +-
 drivers/gpu/drm/radeon/radeon_legacy_crtc.c     |    7 +-
 drivers/gpu/drm/radeon/radeon_legacy_encoders.c |   65 ++-
 drivers/gpu/drm/radeon/radeon_mode.h            |   49 ++-
 drivers/gpu/drm/radeon/radeon_object.c          |   22 +-
 drivers/gpu/drm/radeon/radeon_object.h          |    4 +-
 drivers/gpu/drm/radeon/radeon_pm.c              |  104 ++--
 drivers/gpu/drm/radeon/radeon_ring.c            |   30 +-
 drivers/gpu/drm/radeon/radeon_sa.c              |   20 +-
 drivers/gpu/drm/radeon/radeon_test.c            |    2 +-
 drivers/gpu/drm/radeon/radeon_ttm.c             |    2 +-
 drivers/gpu/drm/radeon/rs400.c                  |    6 +-
 drivers/gpu/drm/radeon/rs600.c                  |   49 +-
 drivers/gpu/drm/radeon/rs690.c                  |    6 +-
 drivers/gpu/drm/radeon/rv515.c                  |   18 +-
 drivers/gpu/drm/radeon/rv770.c                  |   10 +-
 drivers/gpu/drm/radeon/si.c                     |  113 +++--
 drivers/gpu/drm/radeon/sid.h                    |   15 +
 55 files changed, 3549 insertions(+), 1510 deletions(-)
 create mode 100644 drivers/gpu/drm/radeon/radeon_acpi.h

More information about the dri-devel mailing list