[pull] radeon drm-next-3.7

Alex Deucher alexdeucher at gmail.com
Tue Oct 2 12:32:29 PDT 2012


On Tue, Oct 2, 2012 at 3:24 PM,  <alexdeucher at gmail.com> wrote:
> 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.

non-DP displays

>   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