[git pull] drm fixes

Dave Airlie
2010-03-25T03:36:09Z

[-- Attachment #1: Type: TEXT/PLAIN, Size: 9516 bytes --]

Some nouveau updates + misc drm core fixes,

radeon kms: mostly fixes, however a cleanup to the ugly asic tables to
avoid drift between C prototypes moves some stuff around, and I've merged
Jerome's GPU recovery code, as I'd much rather users had some of hope of
recovering from their GPU locking up than a dead box. It seems to work
for quite a lot of people that have tested it, and it won't make a GPU
lockup problem worse. This also finally fixes HDMI audio on rv7xx cards.

The following changes since commit 220bf991b0366cc50a94feede3d7341fa5710ee4:
Linus Torvalds (1):
Linux 2.6.34-rc2

are available in the git repository at:

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

Alex Deucher (24):
drm/radeon: add new RS880 pci id
drm/radeon/kms/atom: spread spectrum fix
drm/radeon/kms: use lcd pll limits when available
drm/radeon/kms: further spread spectrum fixes
drm/radeon/kms: fix pal tv-out support on legacy IGP chips
drm/radeon/kms: fix for hw i2c
drm/radeon/kms: fix i2c prescale calc on older radeons
drm/radeon/kms/r1xx: enable hw i2c
drm/radeon/kms/rs4xx: make sure crtcs are enabled when setting timing
drm/radeon/r600: add missing license and comments to r600_blit_shaders.c
drm/radeon/kms: expose thermal/fan i2c buses
drm/radeon/kms/pm: fix segfault in clock code
drm/radeon/kms: gfx init fixes for r6xx/r7xx
drm/radeon/kms/pm: fix typo in power table parsing
drm/radeon/kms: init rdev->num_crtc at asic init
drm/radeon/kms: display watermark fixes
drm/radeon/kms: never treat rs4xx as AGP
drm/radeon/kms: fix display bandwidth setup on rs4xx
drm/radeon/kms: remove lvds quirks
drm/radeon/kms/atom: make sure tables are valid (v2)
drm/radeon/kms: use new pre/post_xfer i2c bit algo hooks
drm/radeon/kms: add hw_i2c module option
drm/radeon/r600: remove some regs are not safe regs for command buffers
drm/radeon/kms: fix some typos in r6xx/r7xx hpd setup

Ben Skeggs (5):
drm/nouveau: add option to allow override of dcb connector table types
drm/nouveau: Gigabyte NX85T connector table lies, it has DVI-I not HDMI
drm/nv50: fix connector table parsing for some cards
drm/nouveau: add module option to disable TV detection
drm/edid: allow certain bogus edids to hit a fixup path rather than fail

Chris Wilson (1):
drm: Return ENODEV if the inode mapping changes

Daniel Vetter (5):
drm/radeon: create radeon_asic.c
drm/radeon: move asic structs to radeon_asic.c
drm/radeon: unconfuse return value of radeon_asic->clear_surface_reg
drm/radeon: include radeon_asic.h in the asic specific files
drm/radeon: collect r100 asic related declarations in radeon_asic.h

Dave Airlie (7):
drm/ttm: use drm calloc large and free large
Merge remote branch 'nouveau/for-airlied' into drm-linus
Merge branch 'radeon-for-airlied' of ../linux-2.6 into drm-linus
drm/radeon/bo: add some fallback placements for VRAM only objects.
drm/radeon/kms: don't print error on -ERESTARTSYS.
Merge branch 'v2.6.34-rc2' into HEAD
Merge branch 'drm-radeon-fixes' into HEAD

Francisco Jerez (2):
drm/nv04-nv40: Fix up the programmed horizontal sync pulse delay.
drm/nouveau: Never evict VRAM buffers to system.

Jerome Glisse (6):
drm/radeon/kms: catch atombios infinite loop and break out of it
drm/radeon/kms: fence cleanup + more reliable GPU lockup detection V4
drm/radeon/kms: rename gpu_reset to asic_reset
drm/radeon/kms: simplify & improve GPU reset V2
drm/radeon/kms: fix typo in r520 asic functions
drm/radeon/kms: avoid possible oops (call gart_fini before gart_disable)

Maarten Maathuis (2):
drm/nouveau: print a message very early during suspend
drm/nv50: add a memory barrier to pushbuf submission

Marcin Kościelnicki (4):
drm/nv50: Remove redundant/incorrect ctxvals initialisation.
drm/nouveau: Fix fbcon corruption with font width not divisible by 8
drm/nv50: Make ctxprog wait until interrupt handler is done.
drm/nv50: Improve PGRAPH interrupt handling.

Pauli Nieminen (1):
drm/radeon/kms: Fix NULL pointer dereference if memory allocation failed.

Rafał Miłecki (8):
drm/radeon/kms: clean HDMI definitions
drm/radeon/kms: clean assigning HDMI blocks to encoders
drm/radeon/kms: add HDMI code for pre-DCE3 R6xx GPUs
drm/radeon/kms: enable audio engine on DCE32
drm/radeon/kms: remove dead audio/HDMI code
drm/radeon/kms: improve coding style a little
drm/radeon/kms: switch to condition waiting for reclocking
drm/radeon/kms: prepare for more reclocking operations

Randy Dunlap (1):
drm/vmwgfx: depends on FB

Robert P. J. Day (1):
drm: "kobject_init/kobject_add" -> "kobject_init_and_add".

Zhao Yakui (1):
drm: remove the EDID blob stored in the EDID property when it is disconnected

drivers/gpu/drm/drm_crtc_helper.c | 1 +
drivers/gpu/drm/drm_edid.c | 9 -
drivers/gpu/drm/drm_fops.c | 16 +-
drivers/gpu/drm/nouveau/Makefile | 2 +-
drivers/gpu/drm/nouveau/nouveau_bios.c | 28 +-
drivers/gpu/drm/nouveau/nouveau_bios.h | 3 +-
drivers/gpu/drm/nouveau/nouveau_bo.c | 3 +-
drivers/gpu/drm/nouveau/nouveau_connector.c | 2 +-
drivers/gpu/drm/nouveau/nouveau_dma.c | 5 +
drivers/gpu/drm/nouveau/nouveau_drv.c | 10 +
drivers/gpu/drm/nouveau/nouveau_drv.h | 6 +
drivers/gpu/drm/nouveau/nouveau_irq.c | 609 +++++++++++++++++++--
drivers/gpu/drm/nouveau/nouveau_state.c | 5 +-
drivers/gpu/drm/nouveau/nv04_crtc.c | 6 +-
drivers/gpu/drm/nouveau/nv04_fbcon.c | 6 +-
drivers/gpu/drm/nouveau/nv50_display.c | 4 +-
drivers/gpu/drm/nouveau/nv50_fb.c | 32 ++
drivers/gpu/drm/nouveau/nv50_fbcon.c | 2 +-
drivers/gpu/drm/nouveau/nv50_graph.c | 22 +-
drivers/gpu/drm/nouveau/nv50_grctx.c | 13 +-
drivers/gpu/drm/radeon/Makefile | 2 +-
drivers/gpu/drm/radeon/atom.c | 91 +++-
drivers/gpu/drm/radeon/atom.h | 8 +-
drivers/gpu/drm/radeon/atombios_crtc.c | 85 +++-
drivers/gpu/drm/radeon/evergreen.c | 19 +-
drivers/gpu/drm/radeon/r100.c | 262 +++++----
drivers/gpu/drm/radeon/r100d.h | 128 +++++
drivers/gpu/drm/radeon/r200.c | 1 +
drivers/gpu/drm/radeon/r300.c | 161 +++---
drivers/gpu/drm/radeon/r300d.h | 47 ++-
drivers/gpu/drm/radeon/r420.c | 6 +-
drivers/gpu/drm/radeon/r520.c | 14 +-
drivers/gpu/drm/radeon/r600.c | 113 ++---
drivers/gpu/drm/radeon/r600_audio.c | 52 +--
drivers/gpu/drm/radeon/r600_blit_kms.c | 3 +
drivers/gpu/drm/radeon/r600_blit_shaders.c | 35 ++
drivers/gpu/drm/radeon/r600_cp.c | 3 +
drivers/gpu/drm/radeon/r600_hdmi.c | 191 ++++---
drivers/gpu/drm/radeon/r600_reg.h | 10 +-
drivers/gpu/drm/radeon/radeon.h | 177 +++----
drivers/gpu/drm/radeon/radeon_asic.c | 786 +++++++++++++++++++++++++++
drivers/gpu/drm/radeon/radeon_asic.h | 562 ++-----------------
drivers/gpu/drm/radeon/radeon_atombios.c | 459 +++++++++-------
drivers/gpu/drm/radeon/radeon_combios.c | 7 +-
drivers/gpu/drm/radeon/radeon_connectors.c | 2 +-
drivers/gpu/drm/radeon/radeon_cs.c | 15 +-
drivers/gpu/drm/radeon/radeon_device.c | 261 ++-------
drivers/gpu/drm/radeon/radeon_display.c | 51 ++-
drivers/gpu/drm/radeon/radeon_drv.c | 4 +
drivers/gpu/drm/radeon/radeon_encoders.c | 50 +-
drivers/gpu/drm/radeon/radeon_fence.c | 107 ++--
drivers/gpu/drm/radeon/radeon_gart.c | 2 +-
drivers/gpu/drm/radeon/radeon_i2c.c | 153 +++---
drivers/gpu/drm/radeon/radeon_irq_kms.c | 14 +-
drivers/gpu/drm/radeon/radeon_legacy_crtc.c | 8 +
drivers/gpu/drm/radeon/radeon_legacy_tv.c | 29 +-
drivers/gpu/drm/radeon/radeon_mode.h | 12 +-
drivers/gpu/drm/radeon/radeon_object.c | 10 +-
drivers/gpu/drm/radeon/radeon_pm.c | 46 ++-
drivers/gpu/drm/radeon/reg_srcs/r600 | 3 -
drivers/gpu/drm/radeon/rs400.c | 11 +-
drivers/gpu/drm/radeon/rs600.c | 85 +++-
drivers/gpu/drm/radeon/rs600d.h | 46 ++
drivers/gpu/drm/radeon/rs690.c | 93 ++--
drivers/gpu/drm/radeon/rv515.c | 106 +----
drivers/gpu/drm/radeon/rv515d.h | 46 ++
drivers/gpu/drm/radeon/rv770.c | 37 +-
drivers/gpu/drm/ttm/ttm_bo.c | 4 +-
drivers/gpu/drm/ttm/ttm_memory.c | 18 +-
drivers/gpu/drm/ttm/ttm_tt.c | 23 +-
drivers/gpu/drm/vmwgfx/Kconfig | 2 +-
include/drm/drmP.h | 34 +--
include/drm/drm_mem_util.h | 65 +++
include/drm/drm_pciids.h | 1 +
include/drm/ttm/ttm_bo_driver.h | 1 -
75 files changed, 3357 insertions(+), 1988 deletions(-)
create mode 100644 drivers/gpu/drm/nouveau/nv50_fb.c
create mode 100644 drivers/gpu/drm/radeon/radeon_asic.c
create mode 100644 include/drm/drm_mem_util.h