[git pull] drm for rc1

Dave Airlie airlied at linux.ie
Mon Jan 10 14:59:52 PST 2011

Hi Linus,

non-drm changes:
one kref change we needed that went on list with no comments

New hardware:
radeon: add support for Fusion APUs and Radeon HD6xxx chipsets
nouveau: Fermi acceleration support (requires external fw for now)

core/drivers: add support for high precision vblank timestamps
radeon: pageflipping support, Gen2 PCIE support
nouveau: reworked VRAM and VM support
intel: better ILK/SNB powersaving support, Full GTT support

There are also some switcheroo patches to further improve it, though I 
have a later patch blocking on an x86 platform driver for the nvidia/intel 


The following changes since commit 989d873fc5b6a96695b97738dea8d9f02a60f8ab:

  Merge master.kernel.org:/home/rmk/linux-2.6-arm (2011-01-03 16:37:01 -0800)

are available in the git repository at:

  ssh://master.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git drm-core-next

Alex Deucher (63):
      drm/radeon/kms: add pageflip ioctl support (v3)
      drm/radeon/kms: setup mc chremap properly on r7xx/evergreen
      drm/radeon/kms: upstream ObjectID.h updates
      drm/radeon/kms: upstream atombios.h updates
      drm/radeon/kms: upstream power table updates
      drm/radeon/kms: add new family id for AMD Ontario APUs
      drm/radeon/kms: atom changes for DCE4.1 devices
      drm/radeon/kms: Add support for external encoders on fusion APUs
      drm/radeon/kms: add support for ss overrides on Fusion APUs
      drm/radeon/kms: move r7xx/evergreen to its own vram_gtt setup function
      drm/radeon/kms: MC setup changes for fusion APUs
      drm/radeon/kms: evergreen.c updates for fusion
      drm/radeon/kms: add radeon_asic struct for AMD Ontario fusion APUs
      drm/radeon/kms: fill in GPU init for AMD Ontario Fusion APUs
      drm/radeon/kms: add thermal sensor support for fusion APUs
      drm/radeon/kms: add bo blit support for Ontario fusion APUs
      drm/radeon/kms: refactor atombios power state fetching
      drm/radeon/kms: add power table parsing support for Ontario fusion APUs
      drm/radeon/kms: enable MSIs on fusion APUs
      drm/radeon/kms: add Ontario Fusion APU pci ids
      drm/radeon/kms: add Ontario APU ucode loading support
      drm/radeon/kms: improve pflip precision on r1xx-r4xx
      drm/radeon/kms: fix vram start calculation on ontario (v2)
      drm/radeon/kms: properly print ontario chip id
      drm/radeon/kms: fix DCE4.1 dig routing (v2)
      drm/radeon/kms/atom: clean up op_mask handler
      drm/radeon/kms: use LCD physical size from vbios tables if available
      drm/radeon/kms: parse the extended LCD info block
      drm/radeon/kms: disable bo moves using the blitter
      drm/radeon/kms: implement gpu lockup check for evergreen
      drm/radeon/kms: adjust quirk for acer laptop
      drm/radeon/kms: add quirk for Mac Radeon HD 2600 card
      drm/radeon/kms: add pcie get/set lane support for r6xx/r7xx/evergreen
      drm/radeon/kms: add support for gen2 pcie link speeds
      drm/radeon/kms: set the MSB of the HDP slice size
      drm/radeon/kms: fix some typos in evergreen pm4 defines
      drm/radeon/kms: clean up ASIC_IS_DCE41() macro
      drm/radeon/kms: add NI chip families
      drm/radeon/kms: update display watermark calculations for DCE5
      drm/radeon/kms: DCE5 supports 16k display surfaces
      drm/radeon/kms: DCE5 atom SetPixelClock updates
      drm/radeon/kms: DCE5 atom spread spectrum updates
      drm/radeon/kms: DCE5 atom transmitter control updates
      drm/radeon/kms: DCE5 atom dig encoder updates
      drm/radeon/kms: dac dpms updates for DCE5
      drm/radeon/kms: dvo dpms updates for DCE5
      drm/radeon/kms: parse DCE5 encoder caps when setting up encoders
      drm/radeon/kms: handle NI thermal controller
      drm/radeon/kms: add disabled vbios accessor for NI asics
      drm/radeon/kms: fill gpu init for NI asics
      drm/radeon/kms: add backend map workaround for barts
      drm/radeon/kms: adjust default clock/vddc tracking for pm on DCE5
      drm/radeon/kms: always use writeback/events for fences on NI
      drm/radeon/kms: add bo blit support for NI
      drm/radeon/kms: add ni_reg.h
      drm/radeon/kms: add support for DCE5 display LUTs
      drm/radeon/kms: add ucode loader for NI
      drm/radeon/kms/ni: load default sclk/mclk/vddc at pm init
      drm/radeon/kms: add radeon_asic struct for NI asics
      drm/radeon/kms: don't enable pcie gen2 on NI yet
      drm/radeon/kms: add NI pci ids
      drm/radeon/kms: only enable hdmi features if the monitor supports audio
      drm/radeon/kms: disable underscan by default

Ben Hutchings (1):
      drm/nouveau: Only select ACPI_VIDEO if its dependencies are met

Ben Skeggs (91):
      drm/nouveau: tidy fifo swmthd handler a little
      drm/nouveau: disallow fbcon accel if running in interrupt context
      drm/nouveau: add per-channel mutex, use to lock access to drm's channel
      drm/nouveau: add more fine-grained locking to channel list + structures
      drm/nouveau: switch to unlocked ioctls
      drm/nouveau: remove cpu_writers lock
      drm/nouveau: fix thinko in channel locking in semaphore path
      drm/nouveau: use interruptible waits during pushbuf validation
      drm/nouveau: return error from nouveau_ramht_remove() if not found
      drm/nouveau: hook up acpi power supply change tracking
      drm/nouveau: fallback to sw fbcon if we can't get mutex immediately
      drm/nv50: remove some unnecessary PDISPLAY init
      drm/nouveau: pass gpuobj alignment request down into backing allocator
      drm/nouveau: store engine type in gpuobj class structs
      drm/nouveau: use object class structs more extensively
      drm/nouveau: only expose the object classes that are supported by the chipset
      drm/nv84: add support for the PCRYPT engine
      drm/nv50: remove excessive alignment of graph/crypt contexts
      drm/nv50: create graph and crypt contexts on demand
      drm/nv50: clearer separation of the stages of evo init
      drm/nv50: move evo handling to nv50_evo.c
      drm/nv50: initial work to allow multiple evo channels
      drm/nv50: rework evo init to match nvidia more closely
      drm/nv50: improve evo error handler when more than just channel 0 active
      drm/nv50: fix evo instmem alignment
      drm/nv10: fix thinko and let nv17 do 3d again :)
      drm/nouveau: add support for MSI
      drm/nv50: regression fix, point NVAA/NVAC at correct PM functions
      drm/nv50: fix compute object class
      drm/nv50: 0x50c0 apparently works on NVA3+ too, so lets allow it
      drm/nouveau: allow irq handlers to be installed by engine-specific code
      drm/nv84: move PCRYPT ISR out of nouveau_irq.c
      drm/nv50: move GPIO ISR to nv50_gpio.c
      drm/nv50: use register/unregister functionality for PDISPLAY ISR
      drm/nouveau: move bitfield/enum helpers to nouveau_util.c
      drm/nv04-nv40: register vblank isr
      drm/nouveau: move PFIFO ISR into nv04_fifo.c
      drm/nouveau: tidy+move PGRAPH ISRs to their respective *_graph.c files
      drm/nv04-nv40: unregister irq handler on destroy
      drm/nv50: rework PGPIO IRQ handling and hotplug detection
      drm/nouveau: simplify gpuobj suspend/resume
      drm/nouveau: rework gpu-specific instmem interfaces
      drm/nv50: allocate page for unknown PFB object in nv50_fb.c
      drm/nv50: fix 0x100c90 init for NVAF
      drm/nouveau: remove dummy page use from PCI(E)GART, use PTE present instead
      drm/nv84: fix minor issues in PCRYPT implementation
      drm/nouveau: remove some useless GETPARAMs
      drm/nouveau: tidy up and extend dma object creation interfaces
      drm/nouveau: make fifo.create_context() responsible for mapping control regs
      drm/nouveau: implicitly insert non-DMA objects into RAMHT
      drm/nouveau: introduce a util function to wait on reg != val
      drm/nouveau: no need to zero dma objects, we fill them completely anyway
      drm/nouveau: wrap calls to ttm_bo_validate()
      drm/nouveau: fix use of drm_mm_node in semaphore object
      drm/nv50: implement custom vram mm
      drm/nv50: import new vm code
      drm/nv50: implement BAR1/BAR3 management on top of new VM code
      drm/nv50: implement global channel address space on new VM code
      drm/nv50: enable 4KiB pages for small vram allocations
      drm/nv50: enable non-contig vram allocations where requested
      drm/nv50: tidy up PCIEGART implementation
      drm/nouveau: allow gpuobj vinst to be a virtual address when necessary
      drm/nouveau: kick vram functions out into an "engine"
      drm/ttm: delay freeing of old node during move_memcpy until after iounmap
      drm/nv50: fix smatch warning in nv50_vram.c
      drm/nv50: add missing license header to nv50_fbcon.c
      drm/nouveau: modify vm to accomodate dual page tables for nvc0
      drm/nvc0: import initial vm backend
      drm/nvc0: initial vm implementation, use for bar1/bar3 management
      drm/nvc0: create shared channel vm
      drm/nvc0: reject the notifier_alloc ioctl
      drm/nvc0: gpuobj_new need only check validity and init the relevant engine
      drm/nvc0: implement channel structure initialisation
      drm/nvc0: skip dma object creation for drm channel
      drm/nvc0: fix channel dma init paths
      drm/nvc0: implement fencing
      drm/nvc0: implement pfifo engine hooks
      drm/nvc0: implement pgraph engine hooks
      drm/nvc0: implement fbcon acceleration
      drm/nvc0: initial support for tiled buffer objects
      drm/nvc0: accelerate ttm buffer moves
      drm/nvc0: kill off a couple more magics
      drm/nvc0: nuke left-over debug messages
      drm/nvc0: parse a couple more PGRAPH_INTR
      drm/nv50: sync up gr data error names with rnn, use for nvc0 also
      drm/nvc0: reserve only subc 0 for kernel use
      drm/nvc0/pfifo: support for chipsets with only one PSUBFIFO (0xc1)
      drm/nvc0/pgraph: more unit names
      drm/nvc0/pgraph: fix 0x406028/0x405870 init
      drm/nvc0: fix init without firmware present
      drm/nouveau: create grctx on the fly on all chipsets

Chris Wilson (135):
      drm/i915/ringbuffer: Drop the redundant dev from the vfunc interface
      drm/i915: Propagate errors from writing to ringbuffer
      drm/i915: Move object to GPU domains after dispatching execbuffer
      drm/i915: Fix hangcheck to handle multiple rings
      drm/i915/debugfs: Include info for the other rings
      drm/i915: Remove the confusing global waiting/irq seqno
      drm/i915: Propagate error from failing to queue a request
      drm/i915: Bail early if we try to mmap an object too large to be mapped.
      drm/i915: Use the agp_size determined from the GTT
      drm/i915: Capture ERROR register on Sandybridge hangs
      drm/i915: Use pci_iomap for remapping the MMIO registers.
      drm/i915/ringbuffer: Check that we setup the ringbuffer
      drm/i915: Make the inactive object shrinker per-device
      drm/i915: Remove mmap_offset
      drm/i915: Eliminate nested get/put pages
      drm/i915: Kill GTT mappings when moving from GTT domain
      drm/i915: Do not return -1 from shrinker when nr_to_scan == 0
      drm/i915: Convert BUG_ON(pin_count) from an impossible condition
      drm/i915: Only enforce fence limits inside the GTT.
      drm/i915: Remove the duplicate domain-change tracepoint for GPU flush
      drm/i915/ringbuffer: Disable the ringbuffer on cleanup.
      drm/i915: Record BLT engine error state
      drm/i915/ringbuffer: Remove duplicate initialisation of ring control
      agp/intel: Sandybridge doesn't require GMCH enabling
      drm/i915/debugfs: Display the contents of the BLT and BSD status pages
      drm/i915: Switch to using pci_iounmap in conjunction with pci_iomap
      drm/i915: Check if the GPU hung whilst waiting for the ring to clear
      drm/i915/ringbuffer: Use the HEAD auto-reporting mechanism
      drm/i915: Record BSD engine error state
      drm/i915: Fix typo from e5281ccd in i915_gem_attach_phys_object()
      drm/i915: Evict just the purgeable GTT entries on the first pass
      agp/intel: the GMCH is always enabled for integrated processor graphics
      drm/i915/debugfs: Report ring in error state
      drm/i915: Apply big hammer to serialise buffer access between rings
      drm/i915: Move the invalidate|flush information out of the device struct
      Merge branch 'drm-intel-fixes' into drm-intel-next
      Revert "drm/i915: add MMIO debug output"
      Merge branch 'drm-intel-fixes' into drm-intel-next
      drm/i915: Drop the iomem accessors when writing to the kmapped blt batch
      drm/i915: Ensure that if we ever try to pin+fence it is mappable.
      Merge branch 'drm-intel-fixes' into drm-intel-next
      drm/i915: Handle GPU hangs during fault gracefully.
      drm/i915/ringbuffer: Be consistent in use of ring->size when initialising
      drm/i915/ringbuffer: Ignore failure to setup the ring on Sandybridge
      drm/i915: POSTING_READs are simply flushes and so irrelevant to tracing
      drm/i915: Fix unload after failed initialisation
      drm/i915: Unconditionally get the fence reg when pinning scanout
      drm/i915: Only add the lazy request if we end up waiting for it.
      drm/i915: Remove the global irq wait queue
      Revert "drm/i915/ringbuffer: Ignore failure to setup the ring on Sandybridge"
      drm/i915: Remove the definitions for Primary Ring Buffer
      drm/i915: Fix current tiling check for relaxed fencing
      Merge branch 'drm-intel-fixes' into drm-intel-next
      drm/i915: Convert (void)I915_READ to POSTING_READ
      drm/i915/crt: Introduce struct intel_crt
      drm/i915: Capture pinned buffers on error
      drm/i915: Capture interesting display registers on error
      Merge branch 'drm-intel-fixes' into drm-intel-next
      Merge branch 'drm-intel-next' of arrandale:git/linux-2.6 into drm-intel-next
      drm/i915: Avoid oops when capturing NULL ring for inactive pinned buffers
      drm/i915/panel: Restore saved value of BLC_PWM_CTL
      drm/i915: Compute physical addresses from base of stolen memory
      agp/intel: Remove the artificial cap on stolen size
      agp/intel: Remove confusion of stolen entries not stolen memory
      drm/i915: Contract the magic IPS constants into a direct LUT
      Merge branch 'drm-intel-fixes' into drm-intel-next
      drm/i915: Use drm_i915_gem_object as the preferred type
      drm/i915: Not all mappable regions require GTT fence regions
      agp/intel: Remove duplicate const
      drm/i915: Record fence registers on error.
      drm/i915: Move the implementation details of PIPE_CONTROL to the ringbuffer
      drm/i915: Remove a defunct BUG_ON
      drm/i915: Extend hangcheck timeout
      drm/i915: Thread the pipelining ring through the callers.
      drm/i915: Rework execbuffer pinning
      drm/i915: More accurately track last fence usage by the GPU
      drm/i915: Only save and restore fences for UMS
      drm/i915: Tweak on-error bbaddr parsing for clarity
      drm/i915: Mark a few functions as __must_check
      drm/i915: Defer accounting until read from debugfs
      drm/i915: Split i915_gem_execbuffer into its own file.
      drm/i915: Avoid allocation for execbuffer object list
      drm/i915/execbuffer: On error, starting unwinding from the previous object
      Merge branch 'drm-intel-fixes' into drm-intel-next
      drm/i915: Release fenced GTT mapping on suspend
      drm/i915: Move instruction state invalidation from execbuffer to flush
      drm/i915/ringbuffer: Handle cliprects in the caller
      drm/i915/lvds: Disable panel-fitter on gen4 for 1:1 scale factors
      drm/i915: Prevent stalling for a GTT read back from a read-only GPU target
      drm/i915: Pipelined fencing [infrastructure]
      drm/i915: Remove inactive LRU tracking from set_domain_ioctl
      drm/i915: Kill the get_fence tracepoint
      Merge branch 'drm-intel-fixes' into drm-intel-next
      drm/i915/lvds: Connect the PWM to the LVDS pipe
      drm/i915: Explain why we need to write DPLL twice
      drm/i915: Enable CB tuning of the Display PLL
      drm/i915: Re-enable RC6 for power-savings.
      drm/i915: Allow LVDS to be on pipe A for Ironlake+
      drm/i915: Be paranoid and bail on resetting if we can't take the lock.
      drm/i915: Implement GPU semaphores for inter-ring synchronisation on SNB
      drm/i915: Enable self-refresh for Ironlake
      Merge branch 'drm-intel-fixes' into drm-intel-next
      Merge branch 'drm-intel-fixes' into drm-intel-next
      drm/i915/dp: Trivial code tidy
      drm/i915: Avoid using PIPE_CONTROL on Ironlake
      drm/i915: Power Context register is only available for gen4 mobiles
      drm/i915: caps.has_rc6 is no longer used, remove it.
      drm/i915: Ignore fenced commands for gpu access on gen4
      drm/i915: Uncouple render/power ctx before suspending
      drm/i915: Completely disable fence pipelining.
      drm/i915: Only emit a flush if there is an outstanding gpu write
      drm/i915: Wait for the bo if a display flip is pipelined on the other ring
      Merge branch 'drm-intel-fixes' into drm-intel-next
      drm/i915: Disable renderctx powersaving support for Ironlake
      drm/i915: Re-arm the idle timers if the device is still busy
      drm/i915: Eliminate drm_gem_object_lookup during relocation
      drm/i915: Mark the user reloc error paths as unlikely
      drm/i915: driver.suspend and .resume are always set
      drm/i915: Restore GTT mapping first upon resume
      drm/i915/gtt: Clear the cachelines upon resume
      drm/i915: Terminate the FORCE WAKE after we have finished reading
      drm/i915: Enable RC6 autodownclocking on Sandybridge
      Merge branch 'drm-intel-fixes' into drm-intel-next
      drm/i915/ringbuffer: Make IRQ refcnting atomic
      Merge branch 'drm-intel-fixes' into drm-intel-next
      drm/i915: Poll for seqno completion if IRQ is disabled
      drm/i915: Pass clock limits down to PLL matcher
      Revert "drm/i915: Avoid using PIPE_CONTROL on Ironlake"
      drm/i915: Wait for vblank before unpinning old fb
      Merge remote branch 'airlied/drm-core-next' into drm-intel-next
      drm/i915/sdvo: Border and stall select became test bits in gen5
      drm/i915: Enable EI mode for RCx decision making on Sandybridge
      drm/i915: Allow the application to choose the constant addressing mode
      drm/i915: Undo "Uncouple render/power ctx before suspending"
      drm: Restore the old_fb upon modeset failure

Dan Carpenter (2):
      drm/nouveau: sizeof() vs ARRAY_SIZE()
      vga_switcheroo: comparing too few characters in strncmp()

Daniel Vetter (29):
      drm_mm: add support for range-restricted fair-lru scans
      drm/i915: range-restricted eviction support
      drm/i915: range-restricted bind_to_gtt
      drm/i915: unbind unmappable objects on fault/pin
      drm/i915: use the complete gtt
      intel-gtt: save PGETBL_CTL later in the setup process
      intel-gtt: maximize ggtt size on platforms that support this
      drm/i915: add mappable to gem_object_bind tracepoint
      drm/i915: add accounting for mappable objects in gtt v2
      drm/i915: revert pageflip/mappable related abi breakage
      drm/i915: kill mappable/fenceable disdinction
      drm/i915: fix relaxed tiling for gen <= 3 && !g33
      intel-gtt: drop dcache support for i830 and later
      intel-gtt: kill unneeded sandybridge memory types
      intel-gtt: switch i81x to the write_entry helpers
      intel-gtt: switch i81x to the common initialization helpers
      intel-gtt: fold i81x-only dcache support into the generic driver
      drm/i915|intel-gtt: consolidate intel-gtt.h headers
      drm/i915/gtt: call chipset flush directly
      drm: kill drm_agp_chipset_flush
      agp: kill agp_flush_chipset and corresponding ioctl
      drm/i915: track objects in the gtt
      drm/i915: restore gtt on resume in the drm instead of in intel-gtt.ko
      agp: kill agp_rebind_memory
      drm/i915: move gtt handling to i915_gem_gtt.c
      intel-gtt: export api for drm/i915
      drm/i915: no more agp for gem
      drm/i915: Add a mechanism for pipelining fence register updates
      radeon: consolidate asic-specific function decls for pre-r600

Dave Airlie (20):
      drm/ttm: Add a bo list reserve fastpath (v2)
      Merge branch 'drm-ttm-next' into drm-core-next
      Merge branch 'drm-radeon-next' of ../drm-radeon-next into drm-core-next
      Merge branch 'drm-radeon-fusion' of ../drm-radeon-next into drm-core-next
      drm/radeon: add initial tracepoint support.
      Merge remote branch 'nouveau/drm-nouveau-next' of ../drm-nouveau-next into drm-core-next
      Merge remote branch 'nouveau/drm-nouveau-next' of /ssd/git/drm-nouveau-next into drm-core-next
      Merge remote branch 'intel/drm-intel-next' of /ssd/git/drm-next into drm-core-next
      Merge branch 'master' of /home/airlied/kernel/linux-2.6 into drm-core-next
      vga_switcheroo: print the IGD/DIS flag in the debugfs output.
      vga_switcheroo: make power switch handler optional
      vga_switcheroo: add debugging mux switch option.
      drm/nouveau: add delayed switch complete callback.
      nouveau/acpi: improve detection of what is IGD and what is DIS.
      vga_switcheroo: add reprobe hook for fbcon to recheck connected outputs.
      drm/switcheroo: track state of switch in drivers.
      vga_switcheroo: split switching into two stages.
      vga_switcheroo: fix build with non switcheroo enabled path.
      Merge remote branch 'nouveau/drm-nouveau-next' of ../drm-nouveau-next into drm-core-next
      Merge branch 'drm-radeon-ni' of ../drm-radeon-next into drm-core-next

David Fries (1):
      drm/kms: load fbcon from drm_kms_helper

Eric Anholt (5):
      drm/i915: Apply B-spec mandated workaround for read flushes on Ironlake.
      drm/i915: Apply display workaround required according to the B-Spec.
      drm/i915: Correct a comment about the use of the workqueue.
      drm/i915: Also reinit the BSD and BLT rings after a GPU reset.
      drm/i915: Add support for GPU reset on gen6.

Francisco Jerez (29):
      drm/nouveau: Leave BO eviction synchronization for later.
      drm/nouveau: Use lazy fence waits when doing software interchannel sync.
      drm/nouveau: Refactor context destruction to avoid a lock ordering issue.
      drm/nouveau: Fix race condition in channel refcount handling.
      drm/nouveau: Add unlocked variants of nouveau_channel_get/put.
      drm/nouveau: Fix lock unbalance on card take down.
      drm/nouveau: Implement weak channel references.
      drm/nouveau: Make fences take a weak channel reference.
      drm/nouveau: Avoid race in the interchannel sync code.
      drm/nouveau: Take fence spinlock in nouveau_fence_channel_fini().
      drm/nv40: Ignore sync-to-vblank active when waiting for idle.
      drm/nv04: Make CRTC base changes effective in the next hsync.
      drm/nouveau: Implement the vblank DRM hooks.
      drm/nouveau: Implement the pageflip ioctl.
      drm/nouveau: Call drm_vblank_pre/post_modeset() around mode setting.
      drm/nv50: Keep track of the head a channel is vsync'ing to.
      drm/nouveau: Add a separate class for the kernel channel mutex.
      drm/nouveau: Rework tile region handling.
      drm/nv20: Add Z compression support.
      drm/nouveau: Fix sleep while atomic in nouveau_bo_fence().
      drm/nouveau: fabricate DCB encoder table for iMac G4
      drm/nv04-nv40: Give "gpuobj->cinst" the same meaning as on nv50.
      drm/nv04-nv10: Don't re-enable FIFO access multiple times after IRQ dispatch.
      drm/nouveau: Synchronize with the user channel before GPU object destruction.
      drm/nouveau: Use WC memory on the AGP GART.
      drm/nouveau: Spin for a bit in nouveau_fence_wait() before yielding the CPU.
      drm/nouveau: Avoid potential race between nouveau_fence_update() and context takedown.
      drm/nv04-nv40: Fix up PCI(E) GART DMA object bus address calculation.
      drm/nv50: fix a couple of vm init issues

James Simmons (2):
      drm/fb: Don't expose mmio for fbdev emulation layer
      drm: Update fbdev fb_fix_screeninfo

Jesse Barnes (1):
      drm/i915: dynamic render p-state support for Sandy Bridge

Keith Packard (2):
      drm/i915: Take advantage of auto-polling CRT hotplug detection on PCH hardware
      drm/i915: Fix restore of 965 fence regs since the register tracing change.

Lucas Stach (1):
      drm/nouveau: fix hwmon device binding

Marcin Slusarz (1):
      drm/nouveau: fix annoying nouveau_fence type issue

Marek Olšák (3):
      drm/radeon/kms: allow r500 US_FORMAT regs in the CS checker
      drm/radeon/kms: add ARGB2101010 colorbuffer support for r500
      drm/radeon/kms: manage r300 CMASK RAM access and allow CMASK clear

Mario Kleiner (7):
      drm/vblank: Add support for precise vblank timestamping.
      drm/kms/radeon: Add support for precise vblank timestamping.
      drm/kms/radeon: Reorder vblank and pageflip interrupt handling.
      drm/kms/radeon: Use high precision timestamps for pageflip completion events.
      drm/i915: Add support for precise vblank timestamping (v2)
      drm/i915: Add Guess-o-matic for pageflip timestamping.
      drm-vblank: Always return true vblank count of scheduled vblank event.

Michel Hermier (1):
      drm/nouveau: Validate channel indices passed from userspace.

Tejun Heo (1):
      drm/radeon: use system_wq instead of dev_priv->wq

Thomas Hellstrom (9):
      kref: Add a kref_sub function
      drm/ttm: Use kref_sub instead of repeatedly calling kref_put
      drm/ttm: Optimize ttm_eu_backoff_reservation
      drm/ttm: Don't deadlock on recursive multi-bo reservations
      drm/ttm/radeon/nouveau: Kill the bo lock in favour of a bo device fence_lock
      drm/ttm: Improved fencing of buffer object lists
      drm/ttm/vmwgfx: Have TTM manage the validation sequence.
      drm/ttm: Fix up io_mem_reserve / io_mem_free calling
      drm/radeon: Use the ttm execbuf utilities

Tijl Coosemans (1):
      drm/radeon: Definition of R_0003C2_GENMO_WT seems wrong

Yuanhan Liu (5):
      drm/i915: trace down all the register write and read
      drm/i915: Add untraced register read/write interface
      drm/i915: filter out the read/write of GPIO registers from debug tracing
      drm/i915: Add self-refresh support on Sandybridge
      drm/i915: Add frame buffer compression on Sandybridge

Zhenyu Wang (2):
      agp/intel: fix cache control for sandybridge
      agp/intel: restore cache behavior on sandybridge

Zou Nan hai (2):
      drm/i915: SNB BLT workaround
      drm/i915/ringbuffer: set FORCE_WAKE bit before reading ring register

 drivers/char/agp/agp.h                       |    1 -
 drivers/char/agp/compat_ioctl.c              |    1 -
 drivers/char/agp/compat_ioctl.h              |    1 -
 drivers/char/agp/frontend.c                  |    8 -
 drivers/char/agp/generic.c                   |   27 -
 drivers/char/agp/intel-agp.c                 |    5 -
 drivers/char/agp/intel-agp.h                 |   14 +-
 drivers/char/agp/intel-gtt.c                 |  778 +++---
 drivers/gpu/drm/drm_agpsupport.c             |    6 -
 drivers/gpu/drm/drm_crtc_helper.c            |   18 +-
 drivers/gpu/drm/drm_fb_helper.c              |   61 +-
 drivers/gpu/drm/drm_fops.c                   |    2 +
 drivers/gpu/drm/drm_irq.c                    |  566 ++++-
 drivers/gpu/drm/drm_mm.c                     |   40 +-
 drivers/gpu/drm/drm_stub.c                   |   10 +
 drivers/gpu/drm/i915/Makefile                |    2 +
 drivers/gpu/drm/i915/i915_debugfs.c          |  471 +++-
 drivers/gpu/drm/i915/i915_dma.c              |  794 +++---
 drivers/gpu/drm/i915/i915_drv.c              |   80 +-
 drivers/gpu/drm/i915/i915_drv.h              |  605 +++--
 drivers/gpu/drm/i915/i915_gem.c              | 3764 +++++++++-----------------
 drivers/gpu/drm/i915/i915_gem_debug.c        |   23 +-
 drivers/gpu/drm/i915/i915_gem_evict.c        |  125 +-
 drivers/gpu/drm/i915/i915_gem_execbuffer.c   | 1343 +++++++++
 drivers/gpu/drm/i915/i915_gem_gtt.c          |   99 +
 drivers/gpu/drm/i915/i915_gem_tiling.c       |  139 +-
 drivers/gpu/drm/i915/i915_irq.c              |  724 ++++--
 drivers/gpu/drm/i915/i915_reg.h              |  193 ++-
 drivers/gpu/drm/i915/i915_suspend.c          |  104 +-
 drivers/gpu/drm/i915/i915_trace.h            |   91 +-
 drivers/gpu/drm/i915/intel_display.c         |  999 ++++++--
 drivers/gpu/drm/i915/intel_dp.c              |    3 +-
 drivers/gpu/drm/i915/intel_drv.h             |   22 +-
 drivers/gpu/drm/i915/intel_fb.c              |   32 +-
 drivers/gpu/drm/i915/intel_i2c.c             |   21 +-
 drivers/gpu/drm/i915/intel_lvds.c            |   43 +-
 drivers/gpu/drm/i915/intel_opregion.c        |    8 +-
 drivers/gpu/drm/i915/intel_overlay.c         |  116 +-
 drivers/gpu/drm/i915/intel_panel.c           |   52 +-
 drivers/gpu/drm/i915/intel_ringbuffer.c      | 1007 ++++---
 drivers/gpu/drm/i915/intel_ringbuffer.h      |  136 +-
 drivers/gpu/drm/i915/intel_sdvo.c            |    7 +-
 drivers/gpu/drm/i915/intel_tv.c              |   14 +-
 drivers/gpu/drm/nouveau/Kconfig              |    2 +-
 drivers/gpu/drm/nouveau/Makefile             |   17 +-
 drivers/gpu/drm/nouveau/nouveau_acpi.c       |   11 +-
 drivers/gpu/drm/nouveau/nouveau_bios.c       |  102 +-
 drivers/gpu/drm/nouveau/nouveau_bo.c         |  319 ++-
 drivers/gpu/drm/nouveau/nouveau_channel.c    |  383 ++--
 drivers/gpu/drm/nouveau/nouveau_connector.c  |   54 +-
 drivers/gpu/drm/nouveau/nouveau_display.c    |  207 ++
 drivers/gpu/drm/nouveau/nouveau_dma.c        |   32 +-
 drivers/gpu/drm/nouveau/nouveau_dma.h        |    9 +-
 drivers/gpu/drm/nouveau/nouveau_dp.c         |    6 +-
 drivers/gpu/drm/nouveau/nouveau_drv.c        |   58 +-
 drivers/gpu/drm/nouveau/nouveau_drv.h        |  425 ++-
 drivers/gpu/drm/nouveau/nouveau_fbcon.c      |  189 +-
 drivers/gpu/drm/nouveau/nouveau_fbcon.h      |   18 +-
 drivers/gpu/drm/nouveau/nouveau_fence.c      |  117 +-
 drivers/gpu/drm/nouveau/nouveau_gem.c        |  171 +-
 drivers/gpu/drm/nouveau/nouveau_hw.c         |   11 +-
 drivers/gpu/drm/nouveau/nouveau_irq.c        | 1210 +--------
 drivers/gpu/drm/nouveau/nouveau_mem.c        |  426 ++--
 drivers/gpu/drm/nouveau/nouveau_mm.c         |  271 ++
 drivers/gpu/drm/nouveau/nouveau_mm.h         |   67 +
 drivers/gpu/drm/nouveau/nouveau_notifier.c   |   44 +-
 drivers/gpu/drm/nouveau/nouveau_object.c     |  754 +++---
 drivers/gpu/drm/nouveau/nouveau_pm.c         |   33 +-
 drivers/gpu/drm/nouveau/nouveau_ramht.c      |   11 +-
 drivers/gpu/drm/nouveau/nouveau_ramht.h      |    2 +-
 drivers/gpu/drm/nouveau/nouveau_reg.h        |   75 +-
 drivers/gpu/drm/nouveau/nouveau_sgdma.c      |  212 +-
 drivers/gpu/drm/nouveau/nouveau_state.c      |  300 ++-
 drivers/gpu/drm/nouveau/nouveau_util.c       |   69 +
 drivers/gpu/drm/nouveau/nouveau_util.h       |   45 +
 drivers/gpu/drm/nouveau/nouveau_vm.c         |  439 +++
 drivers/gpu/drm/nouveau/nouveau_vm.h         |  113 +
 drivers/gpu/drm/nouveau/nv04_crtc.c          |    8 +-
 drivers/gpu/drm/nouveau/nv04_dac.c           |   12 +-
 drivers/gpu/drm/nouveau/nv04_display.c       |   21 +
 drivers/gpu/drm/nouveau/nv04_fbcon.c         |  102 +-
 drivers/gpu/drm/nouveau/nv04_fifo.c          |  240 ++-
 drivers/gpu/drm/nouveau/nv04_graph.c         |  645 +++--
 drivers/gpu/drm/nouveau/nv04_instmem.c       |   50 +-
 drivers/gpu/drm/nouveau/nv10_fb.c            |  124 +-
 drivers/gpu/drm/nouveau/nv10_fifo.c          |   19 +-
 drivers/gpu/drm/nouveau/nv10_graph.c         |  203 +-
 drivers/gpu/drm/nouveau/nv20_graph.c         |  244 ++-
 drivers/gpu/drm/nouveau/nv30_fb.c            |   23 +-
 drivers/gpu/drm/nouveau/nv40_fb.c            |   22 +-
 drivers/gpu/drm/nouveau/nv40_fifo.c          |   20 +-
 drivers/gpu/drm/nouveau/nv40_graph.c         |  205 ++-
 drivers/gpu/drm/nouveau/nv50_crtc.c          |   27 +-
 drivers/gpu/drm/nouveau/nv50_display.c       |  422 +---
 drivers/gpu/drm/nouveau/nv50_display.h       |    2 -
 drivers/gpu/drm/nouveau/nv50_evo.c           |  345 +++
 drivers/gpu/drm/nouveau/nv50_evo.h           |   10 +
 drivers/gpu/drm/nouveau/nv50_fb.c            |   71 +-
 drivers/gpu/drm/nouveau/nv50_fbcon.c         |  114 +-
 drivers/gpu/drm/nouveau/nv50_fifo.c          |   42 +-
 drivers/gpu/drm/nouveau/nv50_gpio.c          |  198 ++-
 drivers/gpu/drm/nouveau/nv50_graph.c         |  677 +++++-
 drivers/gpu/drm/nouveau/nv50_instmem.c       |  375 ++--
 drivers/gpu/drm/nouveau/nv50_vm.c            |  180 ++
 drivers/gpu/drm/nouveau/nv50_vram.c          |  190 ++
 drivers/gpu/drm/nouveau/nv84_crypt.c         |  140 +
 drivers/gpu/drm/nouveau/nvc0_fbcon.c         |  269 ++
 drivers/gpu/drm/nouveau/nvc0_fifo.c          |  365 +++
 drivers/gpu/drm/nouveau/nvc0_graph.c         |  705 +++++-
 drivers/gpu/drm/nouveau/nvc0_graph.h         |   64 +
 drivers/gpu/drm/nouveau/nvc0_grctx.c         | 2874 ++++++++++++++++++++
 drivers/gpu/drm/nouveau/nvc0_instmem.c       |  317 ++--
 drivers/gpu/drm/nouveau/nvc0_vm.c            |  123 +
 drivers/gpu/drm/nouveau/nvc0_vram.c          |   99 +
 drivers/gpu/drm/nouveau/nvreg.h              |    3 +-
 drivers/gpu/drm/radeon/Makefile              |    5 +-
 drivers/gpu/drm/radeon/ObjectID.h            |   48 +
 drivers/gpu/drm/radeon/atom.c                |   14 +-
 drivers/gpu/drm/radeon/atombios.h            |  997 +++++++-
 drivers/gpu/drm/radeon/atombios_crtc.c       |   57 +-
 drivers/gpu/drm/radeon/evergreen.c           |  806 +++++--
 drivers/gpu/drm/radeon/evergreen_blit_kms.c  |   92 +-
 drivers/gpu/drm/radeon/evergreen_reg.h       |    6 +
 drivers/gpu/drm/radeon/evergreend.h          |   53 +-
 drivers/gpu/drm/radeon/ni.c                  |  316 +++
 drivers/gpu/drm/radeon/ni_reg.h              |   86 +
 drivers/gpu/drm/radeon/nid.h                 |   41 +
 drivers/gpu/drm/radeon/r100.c                |   78 +-
 drivers/gpu/drm/radeon/r100d.h               |    2 +-
 drivers/gpu/drm/radeon/r300.c                |   21 +-
 drivers/gpu/drm/radeon/r300d.h               |    1 +
 drivers/gpu/drm/radeon/r500_reg.h            |    4 +
 drivers/gpu/drm/radeon/r600.c                |  357 ++-
 drivers/gpu/drm/radeon/r600d.h               |   48 +
 drivers/gpu/drm/radeon/radeon.h              |  151 +-
 drivers/gpu/drm/radeon/radeon_asic.c         |  153 +-
 drivers/gpu/drm/radeon/radeon_asic.h         |   65 +-
 drivers/gpu/drm/radeon/radeon_atombios.c     | 1246 ++++++----
 drivers/gpu/drm/radeon/radeon_bios.c         |   41 +
 drivers/gpu/drm/radeon/radeon_combios.c      |    3 +-
 drivers/gpu/drm/radeon/radeon_connectors.c   |    9 +-
 drivers/gpu/drm/radeon/radeon_cs.c           |   17 +-
 drivers/gpu/drm/radeon/radeon_device.c       |   35 +-
 drivers/gpu/drm/radeon/radeon_display.c      |  391 +++-
 drivers/gpu/drm/radeon/radeon_drv.c          |   11 +-
 drivers/gpu/drm/radeon/radeon_encoders.c     |  205 ++-
 drivers/gpu/drm/radeon/radeon_family.h       |    4 +
 drivers/gpu/drm/radeon/radeon_fb.c           |    4 -
 drivers/gpu/drm/radeon/radeon_fence.c        |    4 +
 drivers/gpu/drm/radeon/radeon_irq_kms.c      |   46 +-
 drivers/gpu/drm/radeon/radeon_kms.c          |   64 +-
 drivers/gpu/drm/radeon/radeon_mode.h         |   16 +-
 drivers/gpu/drm/radeon/radeon_object.c       |   57 +-
 drivers/gpu/drm/radeon/radeon_object.h       |    7 +-
 drivers/gpu/drm/radeon/radeon_pm.c           |   94 +-
 drivers/gpu/drm/radeon/radeon_reg.h          |   13 +
 drivers/gpu/drm/radeon/radeon_trace.h        |   82 +
 drivers/gpu/drm/radeon/radeon_trace_points.c |    9 +
 drivers/gpu/drm/radeon/reg_srcs/rv515        |   16 +
 drivers/gpu/drm/radeon/rs600.c               |  118 +-
 drivers/gpu/drm/radeon/rv770.c               |  196 ++-
 drivers/gpu/drm/radeon/rv770d.h              |   47 +
 drivers/gpu/drm/ttm/ttm_bo.c                 |  156 +-
 drivers/gpu/drm/ttm/ttm_bo_util.c            |  138 +-
 drivers/gpu/drm/ttm/ttm_bo_vm.c              |   29 +-
 drivers/gpu/drm/ttm/ttm_execbuf_util.c       |  169 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_drv.h          |    1 -
 drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c      |    3 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_fb.c           |    3 -
 drivers/gpu/vga/vga_switcheroo.c             |   78 +-
 include/drm/drmP.h                           |  102 +-
 include/drm/drm_crtc.h                       |    9 +
 include/drm/drm_fb_helper.h                  |    3 -
 include/drm/drm_mm.h                         |    7 +
 include/drm/drm_pciids.h                     |   40 +
 include/drm/i915_drm.h                       |   12 +
 include/drm/intel-gtt.h                      |   35 +-
 include/drm/nouveau_drm.h                    |    5 +-
 include/drm/radeon_drm.h                     |    1 +
 include/drm/ttm/ttm_bo_api.h                 |   50 +-
 include/drm/ttm/ttm_bo_driver.h              |  152 +-
 include/drm/ttm/ttm_execbuf_util.h           |   11 +-
 include/linux/agp_backend.h                  |    2 -
 include/linux/intel-gtt.h                    |   20 -
 include/linux/kref.h                         |    2 +
 include/linux/vga_switcheroo.h               |    2 +
 lib/kref.c                                   |   30 +
 187 files changed, 24781 insertions(+), 10722 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/i915_gem_execbuffer.c
 create mode 100644 drivers/gpu/drm/i915/i915_gem_gtt.c
 create mode 100644 drivers/gpu/drm/nouveau/nouveau_mm.c
 create mode 100644 drivers/gpu/drm/nouveau/nouveau_mm.h
 create mode 100644 drivers/gpu/drm/nouveau/nouveau_util.c
 create mode 100644 drivers/gpu/drm/nouveau/nouveau_util.h
 create mode 100644 drivers/gpu/drm/nouveau/nouveau_vm.c
 create mode 100644 drivers/gpu/drm/nouveau/nouveau_vm.h
 create mode 100644 drivers/gpu/drm/nouveau/nv50_evo.c
 create mode 100644 drivers/gpu/drm/nouveau/nv50_vm.c
 create mode 100644 drivers/gpu/drm/nouveau/nv50_vram.c
 create mode 100644 drivers/gpu/drm/nouveau/nv84_crypt.c
 create mode 100644 drivers/gpu/drm/nouveau/nvc0_fbcon.c
 create mode 100644 drivers/gpu/drm/nouveau/nvc0_graph.h
 create mode 100644 drivers/gpu/drm/nouveau/nvc0_grctx.c
 create mode 100644 drivers/gpu/drm/nouveau/nvc0_vm.c
 create mode 100644 drivers/gpu/drm/nouveau/nvc0_vram.c
 create mode 100644 drivers/gpu/drm/radeon/ni.c
 create mode 100644 drivers/gpu/drm/radeon/ni_reg.h
 create mode 100644 drivers/gpu/drm/radeon/nid.h
 create mode 100644 drivers/gpu/drm/radeon/radeon_trace.h
 create mode 100644 drivers/gpu/drm/radeon/radeon_trace_points.c
 delete mode 100644 include/linux/intel-gtt.h

More information about the dri-devel mailing list