[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