2010/3/30 Dave Airlie <airl...@linux.ie>: > > [re-pull request]
Actually Linus, don't bother, consider this revoked, I'm going to kill the GPU reset code and re-send this tomorrow, its just a mess to get it back out of the tree at this point, but I realised I was falling back to the old ways, of putting things with badness in, even if they helped a few people. Jerome, GPU reset will have to wait until 2.6.35 now. Dave. > > Original pull req below + reverts the fallback placement change which had > a side effect of causing more lockups on some AGP systems (this is a bug in > the AGP drivers that needs to be tracked down), adds some further fixes > from Alex for radeon. Also in case you are wondering why this has a > v2.6.34-rc2 merge in the middle of it, one of the radeon changes needed an > i2c change before I could test it. > > original pull text: > 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 (32): > 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 > drm/radeon/r6xx/r7xx: CS parser fixes > drm/radeon/kms: bump the version for r6xx/r7xx const buffer support > drm/radeon: bump the UMS driver version for r6xx/r7xx const buffer > support > drm/radeon/r6xx/r7xx: further safe reg clean up > drm/radeon/kms: fix macbookpro connector quirk > drm/radeon/kms/atom: minor fixes to transmitter setup > drm/radeon/kms/dp: remove extraneous training complete call > drm/radeon/kms: minor fixes for eDP with LCD* device tags (v2) > > 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 (8): > 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 > Revert "drm/radeon/bo: add some fallback placements for VRAM only > objects." > > 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. > > Michel Dänzer (1): > drm/radeon/kms: Only restrict BO to visible VRAM size when pinning to > VRAM. > > 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 (2): > drm/vmwgfx: depends on FB > drm: fix build error when SYSRQ is disabled > > 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_fb_helper.c | 2 + > 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 | 98 +++- > drivers/gpu/drm/radeon/atombios_dp.c | 3 - > 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_cs.c | 70 +++- > drivers/gpu/drm/radeon/r600_hdmi.c | 191 ++++--- > drivers/gpu/drm/radeon/r600_reg.h | 10 +- > drivers/gpu/drm/radeon/r600d.h | 49 ++ > drivers/gpu/drm/radeon/radeon.h | 175 +++---- > drivers/gpu/drm/radeon/radeon_asic.c | 786 > +++++++++++++++++++++++++++ > drivers/gpu/drm/radeon/radeon_asic.h | 562 ++----------------- > drivers/gpu/drm/radeon/radeon_atombios.c | 461 +++++++++------- > 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 | 7 +- > drivers/gpu/drm/radeon/radeon_drv.h | 3 +- > drivers/gpu/drm/radeon/radeon_encoders.c | 106 ++-- > 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 | 6 +- > drivers/gpu/drm/radeon/radeon_pm.c | 46 ++- > drivers/gpu/drm/radeon/reg_srcs/r600 | 75 --- > 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 - > 80 files changed, 3503 insertions(+), 2109 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 ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev -- _______________________________________________ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel