[git pull] drm fixes

From: Dave Airlie
Date: Sun Jan 31 2010 - 21:20:41 EST



Hi Linus,

Please pull the 'drm-linus' branch from
ssh://master.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git drm-linus

Major change is to move the radeon KMS enable out of staging and into
normal Kconfig land, its not perfect but its as good as userspace was for
most people.

others:
drm core: just a bogus comment removal
ttm: a few changes one fixes an error printf in reserve_ram_pages_type,
radeon: Displayport fixes, tested on all the displayport machines I own
(i.e. 2) but they both now work, r600 blit mutex, AGP warning fix.

vmwgfx: 3 patches for older version of vmware workstation, I think vmware
have one more patch but since this driver is staging it can wait until
merge window anyways.

Dave.

drivers/gpu/drm/Kconfig | 2 +
drivers/gpu/drm/radeon/atombios_dp.c | 27 ++---
drivers/gpu/drm/radeon/r600.c | 54 +++++-----
drivers/gpu/drm/radeon/r600_blit_kms.c | 7 +-
drivers/gpu/drm/radeon/radeon.h | 1 +
drivers/gpu/drm/radeon/radeon_agp.c | 18 ++--
drivers/gpu/drm/radeon/radeon_encoders.c | 165 ++++++++++++++++-------------
drivers/gpu/drm/radeon/radeon_mode.h | 2 +-
drivers/gpu/drm/radeon/rv770.c | 31 +++---
drivers/gpu/drm/ttm/ttm_bo_util.c | 9 +--
drivers/gpu/drm/ttm/ttm_object.c | 2 +-
drivers/gpu/drm/ttm/ttm_tt.c | 23 +++--
drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 13 +++
drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 3 +
drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c | 19 ++++
drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c | 2 +-
drivers/gpu/drm/vmwgfx/vmwgfx_kms.c | 10 ++
drivers/gpu/drm/vmwgfx/vmwgfx_resource.c | 16 +++-
drivers/staging/Kconfig | 2 -
include/drm/drm_mode.h | 2 +-
20 files changed, 244 insertions(+), 164 deletions(-)

commit f71d0187987e691516cd10c2702f002c0e2f0edc
Author: Dave Airlie <airlied@xxxxxxxxxx>
Date: Mon Feb 1 11:35:47 2010 +1000

drm/radeon/kms: move radeon KMS on/off switch out of staging.

We are happy enough that the KMS driver is stable enough for enough people
for the kms enable/disable to leave staging. Distros can now contemplate
turning this on.

Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx>

commit ff82f052d2a187dd0fa0e431ba70eb457c71a40e
Author: Jerome Glisse <jglisse@xxxxxxxxxx>
Date: Fri Jan 22 15:19:00 2010 +0100

drm/radeon/kms: Bailout of blit if error happen & protect with mutex V3

If an error happen in r600_blit_prepare_copy report it rather
than WARNING and keeping execution. For instance if ib allocation
failed we did just warn about but then latter tried to access
NULL ib ptr causing oops. This patch also protect r600_copy_blit
with a mutex as otherwise one process might overwrite blit temporary
data with new one possibly leading to GPU lockup.

Should partialy or totaly fix:
https://bugzilla.redhat.com/show_bug.cgi?id=553279

V2 failing blit initialization is not fatal, fallback to memcpy when
this happen
V3 init blit before startup as we pin in startup, remove duplicate
code (this one was actualy tested unlike V2)

Signed-off-by: Jerome Glisse <jglisse@xxxxxxxxxx>
Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx>

commit 5ffdb658f605cbc420944e7c7eeec9fbb8a73772
Author: Jakob Bornecrantz <jakob@xxxxxxxxxx>
Date: Sat Jan 30 03:38:08 2010 +0000

drm/vmwgfx: Don't send bad flags to the host

Signed-off-by: Jakob Bornecrantz <jakob@xxxxxxxxxx>
Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx>

commit c188660f6dbb0df9febe1b841a16c66c28353c15
Author: Peter Hanzel <hanzelpeter@xxxxxxxxx>
Date: Sat Jan 30 03:38:07 2010 +0000

drm/vmwgfx: Request SVGA version 2 and bail if not found

This fixes the driver not loading on older versions of VMware.

Signed-off-by: Peter Hanzel <hanzelpeter@xxxxxxxxx>
Signed-off-by: Jakob Bornecrantz <jakob@xxxxxxxxxx>
Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx>

commit 8e19a951774a16cf2626292ae06fd2b62630e67e
Author: Jakob Bornecrantz <jakob@xxxxxxxxxx>
Date: Sat Jan 30 03:38:06 2010 +0000

drm/vmwgfx: Correctly detect 3D

Signed-off-by: Jakob Bornecrantz <jakob@xxxxxxxxxx>
Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx>

commit 110b20c3ddcfa98cc932aef3af2d59b4e0841f08
Author: Austin Yuan <shengquan.yuan@xxxxxxxxx>
Date: Thu Jan 21 13:45:40 2010 +0800

drm/ttm: remove unnecessary save_flags and ttm_flag_masked in ttm_bo_util.c

Signed-off-by: Austin Yuan <shengquan.yuan@xxxxxxxxx>
Acked-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx>
Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx>

commit fa5829b36539067f3c675f5d437531dedcfc4ad8
Author: Marcin KoÅcielnicki <koriakin@xxxxxxxx>
Date: Sat Jan 23 10:25:28 2010 +1000

drm/kms: Remove incorrect comment in struct drm_mode_modeinfo

Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx>

commit dd5fde6041d7ea30fcfedcc159a4cec8b01f73b2
Author: Richard Kennedy <richard@xxxxxxxxxxxxxxx>
Date: Tue Jan 26 17:10:48 2010 +0000

drm/ttm: remove padding from ttm_ref_object on 64bit builds

Re-order structure ttm_ref_object to remove 8 bytes of alignment padding
on 64 bit builds, so shrinking its size from 72 to 64 bytes allowing it
to fit into a smaller slab.

Signed-off-by: Richard Kennedy <richard@xxxxxxxxxxxxxxx>
Acked-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx>
Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx>

commit 4b866288be6ffaefaad9cec212cb09e3258a68ee
Author: Dave Airlie <airlied@xxxxxxxxxx>
Date: Mon Feb 1 11:22:10 2010 +1000

drm/radeon/kms: release agp on error.

if we get an error, release the AGP if we've acquired it already.

Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx>

commit 2dea2e29b9fad48c759aa406b5ea426bff4339af
Author: John Kacur <jkacur@xxxxxxxxxx>
Date: Sun Jan 31 20:38:03 2010 +0100

drm/kms/radeon/agp: Move the check of the aper_size after drm_acp_acquire and drm_agp_info

First call drm_agp_acquire to check if agp has been acquired.
Second call drm_agp_info to fill in the info data struct, including aper_size.
Finally do the check to see if the aper_size makes sense.

Signed-off-by: John Kacur <jkacur@xxxxxxxxxx>
Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx>

commit cdb6e375c3c84558ed2c13c5461b22e8f7b7980e
Author: John Kacur <jkacur@xxxxxxxxxx>
Date: Sun Jan 31 20:38:02 2010 +0100

drm/kms/radeon/agp: Fix warning, format â%dâ expects type âintâ, but argument 4 has type âsize_tâ

- Fix warning by using %zu instead of %d for size_t
- Fix spelling mistake, "to" should be "too".

Signed-off-by: John Kacur <jkacur@xxxxxxxxxx>
Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx>

commit db78e27de7e29a6db6be7caf607cf803d84094aa
Author: Francisco Jerez <currojerez@xxxxxxxxxx>
Date: Tue Jan 12 18:49:43 2010 +0100

drm/ttm: Avoid conflicting reserve_memtype during ttm_tt_set_page_caching.

Fixes errors like:
> reserve_ram_pages_type failed 0x15b7a000-0x15b7b000, track 0x8, req 0x10
when a BO is moved between WC and UC areas.

Reported-by: Xavier Chantry <shiningxc@xxxxxxxxx>
Signed-off-by: Francisco Jerez <currojerez@xxxxxxxxxx>
Acked-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx>
Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx>

commit f28cf33945cc112f8ee835512b7440905dc29ad2
Author: Dave Airlie <airlied@xxxxxxxxxx>
Date: Thu Jan 28 17:15:25 2010 +1000

drm/kms/radeon: pick digitial encoders smarter. (v3)

booting a Lenovo W500 with LVDS + DP outputs showed up a TODO we had
on our list, to pick a correct digital encoder block. The LVTMA
encoder requires the second digital encoder, all others can use any
encoder at all.

This fixes the digital encoder selection logic to enable LVDS/DP combos
to work okay.

V2: fix silly addition of connector dig_block and cleanup the other
places in the code that pick the encoder.

V3: rename to dig_encoder and clean up further - also fix
the picking algorithm.

tested on Lenovo W500 + desktop 3650 cards.

Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx>

commit 43c33ed87d0f1b900a6a3014db556ecc7f4a989b
Author: Dave Airlie <airlied@xxxxxxxx>
Date: Fri Jan 29 15:55:30 2010 +1000

drm/radeon/kms: use active device to pick connector for encoder

On the W500 we have UNIPHY routed to both DVI and DP, this seems
to always pick the DVI connector which means link training fails.

Switch to using active device to pick the connector, this seems
like it should be safe from a code review, and it fixes things
a bit more here.

Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx>

commit 97b94ccb9aa1b82ed7a9a045d0ae5b32c99b84a0
Author: Dave Airlie <airlied@xxxxxxxxxx>
Date: Fri Jan 29 15:31:47 2010 +1000

drm/radeon/kms: fix incorrect logic in DP vs eDP connector checking.

This makes displayport work again here.

Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx>