Hi Linus,
Please pull the 'drm-next' branch from
ssh://master.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git drm-next
This contains two patches outside the DRM tree to export functionality for
GEM. These can go away when Nick Piggins vmap and mem allocator
functionality get moving.
This update mainly contains:
1. vblank rework, which allows turning off irqs on laptops a lot smarter.
2. opregion support from mjg59 - to allow hotkeys on Intel hw.
3. radeon updates for new chipsets + PCI bus mastering fix
Dave.
arch/x86/mm/highmem_32.c | 1 +
drivers/gpu/drm/Kconfig | 3 +-
drivers/gpu/drm/Makefile | 5 +-
drivers/gpu/drm/drm_agpsupport.c | 52 +-
drivers/gpu/drm/drm_cache.c | 69 +
drivers/gpu/drm/drm_drv.c | 6 +
drivers/gpu/drm/drm_fops.c | 8 +-
drivers/gpu/drm/drm_gem.c | 421 ++++++
drivers/gpu/drm/drm_irq.c | 464 +++++-
drivers/gpu/drm/drm_memory.c | 2 +
drivers/gpu/drm/drm_mm.c | 5 +-
drivers/gpu/drm/drm_proc.c | 135 ++-
drivers/gpu/drm/drm_stub.c | 11 +-
drivers/gpu/drm/drm_sysfs.c | 2 +-
drivers/gpu/drm/i915/Makefile | 7 +-
drivers/gpu/drm/i915/i915_dma.c | 330 +++--
drivers/gpu/drm/i915/i915_drv.c | 476 +------
drivers/gpu/drm/i915/i915_drv.h | 1180 +++++-----------
drivers/gpu/drm/i915/i915_gem.c | 2558 ++++++++++++++++++++++++++++++++
drivers/gpu/drm/i915/i915_gem_debug.c | 201 +++
drivers/gpu/drm/i915/i915_gem_proc.c | 292 ++++
drivers/gpu/drm/i915/i915_gem_tiling.c | 257 ++++
drivers/gpu/drm/i915/i915_irq.c | 514 +++++--
drivers/gpu/drm/i915/i915_opregion.c | 371 +++++
drivers/gpu/drm/i915/i915_reg.h | 1417 ++++++++++++++++++
drivers/gpu/drm/i915/i915_suspend.c | 509 +++++++
drivers/gpu/drm/mga/mga_drv.c | 29 +-
drivers/gpu/drm/mga/mga_drv.h | 6 +-
drivers/gpu/drm/mga/mga_irq.c | 74 +-
drivers/gpu/drm/mga/mga_state.c | 2 +-
drivers/gpu/drm/r128/r128_drv.c | 29 +-
drivers/gpu/drm/r128/r128_drv.h | 11 +-
drivers/gpu/drm/r128/r128_irq.c | 55 +-
drivers/gpu/drm/r128/r128_state.c | 2 +-
drivers/gpu/drm/radeon/radeon_cp.c | 53 +-
drivers/gpu/drm/radeon/radeon_drv.c | 32 +-
drivers/gpu/drm/radeon/radeon_drv.h | 57 +-
drivers/gpu/drm/radeon/radeon_irq.c | 268 +++--
drivers/gpu/drm/radeon/radeon_state.c | 2 +-
drivers/gpu/drm/sis/sis_mm.c | 10 +-
drivers/gpu/drm/via/via_drv.c | 26 +-
drivers/gpu/drm/via/via_drv.h | 16 +-
drivers/gpu/drm/via/via_irq.c | 105 +-
drivers/gpu/drm/via/via_mm.c | 3 +-
include/drm/drm.h | 63 +-
include/drm/drmP.h | 249 +++-
include/drm/drm_pciids.h | 54 +-
include/drm/i915_drm.h | 333 +++++
mm/shmem.c | 1 +
49 files changed, 8813 insertions(+), 1963 deletions(-)
create mode 100644 drivers/gpu/drm/drm_cache.c
create mode 100644 drivers/gpu/drm/drm_gem.c
create mode 100644 drivers/gpu/drm/i915/i915_gem.c
create mode 100644 drivers/gpu/drm/i915/i915_gem_debug.c
create mode 100644 drivers/gpu/drm/i915/i915_gem_proc.c
create mode 100644 drivers/gpu/drm/i915/i915_gem_tiling.c
create mode 100644 drivers/gpu/drm/i915/i915_opregion.c
create mode 100644 drivers/gpu/drm/i915/i915_reg.h
create mode 100644 drivers/gpu/drm/i915/i915_suspend.c
commit 9d512dc0c924f3c75e8d8446c32b4ef77fe15913
Author: Dave Airlie <airlied@redhat.com>
Date: Fri Oct 17 09:29:14 2008 +1000
drm: make CONFIG_DRM depend on CONFIG_SHMEM.
This can be removed later when DRM doesn't depend on shmem.
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit e0a92262bdaa9b248a676723cad403285fe35783
Author: Alex Deucher <alexdeucher@gmail.com>
Date: Fri Oct 17 09:21:45 2008 +1000
radeon: fix PCI bus mastering support enables.
Someone noticed these registers moved around for later chips,
so we redo the codepaths per-chip. PCIE chips don't appear to
require explicit enables.
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit fb2fadbfea214c1d7395beef136761bd22c2d5fb
Author: Alex Deucher <alexdeucher@gmail.com>
Date: Fri Oct 17 09:19:33 2008 +1000
radeon: add RS400 family support.
This adds support for the RS400 family of IGPs for Intel CPUs.
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 7ade062d9cb62fdaee02fbb88c8a0911659f6e52
Author: Alex Deucher <alexdeucher@gmail.com>
Date: Thu Oct 16 17:12:02 2008 +1000
drm/radeon: add support for RS740 IGP chipsets.
This adds support for the HS2100 IGP chipset.
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit b379ef538c692692a6dd2c60d27e738b06a162b3
Author: Eric Anholt <eric@anholt.net>
Date: Wed Oct 15 00:05:58 2008 -0700
i915: GM45 has GM965-style MCH setup.
Fixes tiling swizzling mode failures that manifest in glReadPixels().
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit e998d8c1d1773ef074149aff27791139709724c7
Author: Keith Packard <keithp@keithp.com>
Date: Tue Oct 14 21:41:13 2008 -0700
i915: Don't run retire work handler while suspended
At leavevt and lastclose time, cancel any pending retire work handler
invocation, and keep the retire work handler from requeuing itself if it is
currently running.
This patch restructures i915_gem_idle to perform all of these tasks instead
of having both leavevt and lastclose call a sequence of functions.
Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit b23f10462fad09bb8c9aa27e0f6ef58df295623b
Author: Keith Packard <keithp@keithp.com>
Date: Tue Oct 14 19:55:10 2008 -0700
i915: Map status page cached for chips with GTT-based HWS location.
This should improve performance by avoiding uncached reads by the CPU (the
point of having a status page), and may improve stability. This patch only
affects G33, GM45 and G45 chips as those are the only ones using GTT-based
HWS mappings.
Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 56c994020d1aa2fbcd3457c1f369b18fe14167af
Author: Keith Packard <keithp@keithp.com>
Date: Tue Oct 14 17:20:35 2008 -0700
i915: Fix up ring initialization to cover G45 oddities
G45 appears quite sensitive to ring initialization register writes,
sometimes leaving the HEAD register with the START register contents. Check
to make sure HEAD is reset correctly when START is written, and fix it up,
screaming loudly.
Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit fc57b4cf6a0f46f2f99065b627a574e788f844c7
Author: Keith Packard <keithp@keithp.com>
Date: Tue Oct 14 17:19:38 2008 -0700
i915: Use non-reserved status page index for breadcrumb
Dwords 0 through 0x1f are reserved for use by the hardware. Move the GEM
breadcrumb from 0x10 to 0x20 to keep out of this area.
Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit cded96bf710f0df960adb64e34f347b955b0b373
Author: Eric Anholt <eric@anholt.net>
Date: Mon Oct 6 15:14:12 2008 -0700
drm: Increment dev_priv->irq_received so i915_gem_interrupts count works.
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 5fed53a040bb697c952f765884f2afb3d89122b7
Author: Jesse Barnes <jbarnes@virtuousgeek.org>
Date: Mon Sep 15 15:00:33 2008 -0700
drm: kill drm_device->irq
Like the last patch but adds a macro to get at the irq value instead of
dereferencing pdev directly. Should make things easier for the BSD guys and
if we ever support non-PCI devices.
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit dd6737d474e09d735619cf2cb67bf7d19b04289e
Author: Dave Airlie <airlied@redhat.com>
Date: Tue Oct 7 13:41:49 2008 +1000
drm: wbinvd is cache coherent.
doing an ipi for the wbinvd case isn't necessary.
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 651fd6ce9892b7f3b7e1b95c2e97a67cc4ee88ef
Author: Dave Airlie <airlied@redhat.com>
Date: Tue Oct 7 13:40:36 2008 +1000
i915: add missing return in error path.
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 6815a878e90d501f1c31f2344610fbbc62a89ce3
Author: Dave Airlie <airlied@redhat.com>
Date: Tue Oct 7 13:40:10 2008 +1000
i915: fixup permissions on gem ioctls.
init/entervt/leavevt should be root-only master ioctls.
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 647431866fdb5e3193d1a4a03f62eebe92ef8dbf
Author: Eric Anholt <eric@anholt.net>
Date: Thu Oct 2 12:24:47 2008 -0700
drm: Clean up many sparse warnings in i915.
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 94cd4fa9481dce08b3f2162c2909e9b6122562d4
Author: Eric Anholt <eric@anholt.net>
Date: Tue Sep 23 14:50:57 2008 -0700
drm: Use ioremap_wc in i915_driver instead of ioremap, since we always want WC.
Fixes failure to map the ringbuffer when PAT tells us we don't get to do
uncached on something that's already mapped WC, or something along those lines.
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 84bcd4fc29560148b437a7b8e21a43ee159441e8
Author: Eric Anholt <eric@anholt.net>
Date: Mon Sep 15 13:13:34 2008 -0700
drm: G33-class hardware has a newer 965-style MCH (no DCC register).
Fixes bad software fallback rendering in Mesa in dual-channel configurations.
d9a2470012588dc5313a5ac8bb2f03575af00e99
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 1d02a783be8198b708aa9d51615b06910e597496
Author: Eric Anholt <eric@anholt.net>
Date: Wed Sep 10 14:22:49 2008 -0700
drm: Avoid oops in GEM execbuffers with bad arguments.
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 668f8c23eac44fdcdd4fa6b2f2b21dd895de376b
Author: Eric Anholt <eric@anholt.net>
Date: Tue Sep 9 11:40:34 2008 -0700
DRM: Return -EBADF on bad object in flink, and return curent name if it exists.
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 3eb83c9391a4af9a788d33d31c0b4c69514d23cd
Author: Kristian H