aboutsummaryrefslogtreecommitdiff
path: root/drivers/gpu
AgeCommit message (Collapse)AuthorFilesLines
2010-03-18drm/intel: fix up set_tiling for untiled->tiled transitionDaniel Vetter1-2/+5
Bug introduced in commit 10ae9bd25acf394c8fa2f9d795dfa9cec4d19ed6 Author: Daniel Vetter <[email protected]> Date: Mon Feb 1 13:59:17 2010 +0100 drm/i915: blow away userspace mappings before fence change The problem is that when there's no fence reg assigned and the object is mapped at a fenceable offset in the gtt, the userspace mappings won't be torn down. Which happens on untiled->tiled transition quite often on 4th gen and later because there fencing does not have any special alignment constraints (as opposed to 2nd and 3rd gen on which I've tested the original commit). Bugzilla: http://bugs.freedesktop.org/show_bug.cgi?id=26993 Signed-off-by: Daniel Vetter <[email protected]> Tested-by: Eric Anholt <[email protected]> (fixes OpenArena) Signed-off-by: Eric Anholt <[email protected]>
2010-03-18drm/i915: Set up the documented clock gating on Sandybridge and Ironlake.Eric Anholt2-0/+22
Signed-off-by: Eric Anholt <[email protected]>
2010-03-17drm/i915: fix small leak on overlay error pathDan Carpenter1-4/+9
We should free "params" before returning. Signed-off-by: Dan Carpenter <[email protected]> Reviewed-by: Daniel Vetter <[email protected]> Cc: [email protected] (for .33) Signed-off-by: Eric Anholt <[email protected]>
2010-03-17drm/i915: Avoid NULL deref in get_pages() unwind after error.Chris Wilson1-9/+12
Fixes: http://bugzilla.kernel.org/show_bug.cgi?id=15527 NULL pointer dereference in i915_gem_object_save_bit_17_swizzle BUG: unable to handle kernel NULL pointer dereference at (null) IP: [<f82b5d2b>] i915_gem_object_save_bit_17_swizzle+0x5b/0xc0 [i915] Call Trace: [<f82aea55>] ? i915_gem_object_put_pages+0x125/0x150 [i915] [<f82aeb71>] ? i915_gem_object_get_pages+0xf1/0x110 [i915] [<f82b0de8>] ? i915_gem_object_bind_to_gtt+0xb8/0x2a0 [i915] [<c02db74d>] ? drm_mm_get_block_generic+0x4d/0x180 [<f82b11cd>] ? i915_gem_mmap_gtt_ioctl+0x16d/0x240 [i915] [<f82ae786>] ? i915_gem_madvise_ioctl+0x86/0x120 [i915] Signed-off-by: Chris Wilson <[email protected]> Reported-by: [email protected] Cc: [email protected] Reviewed-by: Eric Anholt <[email protected]> Signed-off-by: Eric Anholt <[email protected]>
2010-03-17drm/i915: Fix check with IS_GEN6Zhenyu Wang2-4/+4
IS_GEN6 missed to include SandyBridge mobile chip, which failed in i915_probe_agp() for memory config detection. Fix it with a device info flag. Signed-off-by: Zhenyu Wang <[email protected]> Signed-off-by: Eric Anholt <[email protected]>
2010-03-17drivers/gpu/drm/i915/intel_bios.c: fix continuation line formatsJoe Perches1-2/+3
String constants that are continued on subsequent lines with \ will cause spurious whitespace in the resulting output. Signed-off-by: Joe Perches <[email protected]> Cc: Dave Airlie <[email protected]> Cc: Eric Anholt <[email protected]> Cc: Jesse Barnes <[email protected]> Signed-off-by: Andrew Morton <[email protected]> [anholt: whacked it to wrap to 80 columns instead] Signed-off-by: Eric Anholt <[email protected]>
2010-03-17drm/i915: Enable VS timer dispatch.Eric Anholt2-0/+9
This could resolve HW deadlocks where a unit downstream of the VS is waiting for more input, the VS has one vertex queued up but not dispatched because it hopes to get one more vertex for 2x4 dispatch, and software isn't handing more vertices down because it's waiting for rendering to complete. The B-Spec says you should always have this bit set. Signed-off-by: Eric Anholt <[email protected]>
2010-03-17drm/i915: Rename FBC_C3_IDLE to FBC_CTL_C3_IDLE to match other registersPriit Laes2-2/+2
Signed-off-by: Priit Laes <[email protected]> Signed-off-by: Eric Anholt <[email protected]>
2010-03-17drm/i915: remove an unnecessary wait_request()Owain G. Ainsworth1-5/+0
The continue just after this call with loop around and wait for the request just added just fine. This leads to slightly more compact code. Signed-Off-by: Owain G. Ainsworth <[email protected]> Signed-off-by: Eric Anholt <[email protected]>
2010-03-17drm/i915: Don't bother with the BKL for GEM ioctls.Eric Anholt1-23/+23
We probably don't need it for most of the other driver ioctls as well, but we explicitly did locking when doing the GEM pieces. On CPU-bound graphics tasks, the BKL was showing up as 1-2% of CPU time. Signed-off-by: Eric Anholt <[email protected]>
2010-03-16backlight: Allow properties to be passed at registrationMatthew Garrett1-4/+8
Values such as max_brightness should be set before backlights are registered, but the current API doesn't allow that. Add a parameter to backlight_device_register and update drivers to ensure that they set this correctly. Signed-off-by: Matthew Garrett <[email protected]> Signed-off-by: Richard Purdie <[email protected]>
2010-03-16Fix typos in commentsThomas Weber1-1/+1
[Ss]ytem => [Ss]ystem udpate => update paramters => parameters orginal => original Signed-off-by: Thomas Weber <[email protected]> Acked-by: Randy Dunlap <[email protected]> Signed-off-by: Jiri Kosina <[email protected]>
2010-03-15drm/radeon: collect r100 asic related declarations in radeon_asic.hDaniel Vetter2-51/+48
This just an example to show what radeon_asic.h might be good for. Before Jerome kills it ;) Signed-off-by: Daniel Vetter <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-03-15drm/radeon: include radeon_asic.h in the asic specific filesDaniel Vetter12-0/+12
In essence this creates a home for all asic specific declarations in radeon_asic.h Signed-off-by: Daniel Vetter <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-03-15drm/radeon: unconfuse return value of radeon_asic->clear_surface_regDaniel Vetter2-3/+3
No one cares about it, so set it to void. Signed-off-by: Daniel Vetter <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-03-15drm/radeon: move asic structs to radeon_asic.cDaniel Vetter2-489/+487
With these static structs gone, radeon_asic.h is a real header file and can be used as such. Signed-off-by: Daniel Vetter <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-03-15drm/radeon: create radeon_asic.cDaniel Vetter4-200/+243
And move asic init plus a few related functions from radeon_device.c to it. This file will hold all the asic structures in the future, but atm they're still stuck in radeon_asic.h. Signed-off-by: Daniel Vetter <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-03-15Merge branch 'radeon-for-airlied' of ../linux-2.6 into drm-linusDave Airlie21-185/+444
* 'radeon-for-airlied' of ../linux-2.6: drm/radeon/kms: prepare for more reclocking operations drm/radeon/kms: switch to condition waiting for reclocking drm/radeon/r600: add missing license and comments to r600_blit_shaders.c drm/radeon/kms: improve coding style a little drm/radeon/kms: remove dead audio/HDMI code drm/radeon/kms: enable audio engine on DCE32 drm/radeon/kms: add HDMI code for pre-DCE3 R6xx GPUs drm/radeon/kms: clean assigning HDMI blocks to encoders drm/radeon/kms: clean HDMI definitions drm/radeon/kms/rs4xx: make sure crtcs are enabled when setting timing drm/radeon/kms/r1xx: enable hw i2c drm/radeon/kms: fix i2c prescale calc on older radeons drm/radeon/kms: fix for hw i2c drm/radeon/kms: fix pal tv-out support on legacy IGP chips drm/radeon/kms: further spread spectrum fixes drm/radeon/kms: use lcd pll limits when available drm/radeon/kms/atom: spread spectrum fix drm/radeon/kms: catch atombios infinite loop and break out of it drm/radeon: add new RS880 pci id
2010-03-15Merge remote branch 'nouveau/for-airlied' into drm-linusDave Airlie17-75/+683
* nouveau/for-airlied: drm/nouveau: add module option to disable TV detection drm/nouveau: Never evict VRAM buffers to system. drm/nv50: fix connector table parsing for some cards drm/nv50: add a memory barrier to pushbuf submission drm/nouveau: print a message very early during suspend drm/nv04-nv40: Fix up the programmed horizontal sync pulse delay. drm/nouveau: Gigabyte NX85T connector table lies, it has DVI-I not HDMI drm/nouveau: add option to allow override of dcb connector table types drm/nv50: Improve PGRAPH interrupt handling. drm/nv50: Make ctxprog wait until interrupt handler is done. drm/nouveau: Fix fbcon corruption with font width not divisible by 8 drm/nv50: Remove redundant/incorrect ctxvals initialisation.
2010-03-15drm/edid: allow certain bogus edids to hit a fixup path rather than failBen Skeggs1-9/+0
Signed-off-by: Ben Skeggs <[email protected]> Cc: [email protected] Signed-off-by: Dave Airlie <[email protected]>
2010-03-15drm: remove the EDID blob stored in the EDID property when it is disconnectedZhao Yakui1-0/+1
Now the EDID property will be updated when the corresponding EDID can be obtained from the external display device. But after the external device is plugged-out, the EDID property is not updated. In such case we still get the corresponding EDID property although it is already detected as disconnected. https://bugs.freedesktop.org/show_bug.cgi?id=26743 Signed-off-by: Zhao Yakui <[email protected]> Signed-off-by: Zhenyu Wang <[email protected]> Cc: [email protected] Signed-off-by: Dave Airlie <[email protected]>
2010-03-15drm/vmwgfx: depends on FBRandy Dunlap1-1/+1
vmwfgx uses framebuffer interfaces, so it should depend on FB. Otherwise it has these build errors (e.g., when CONFIG_FB=m): drivers/built-in.o: In function `vmw_fb_close': (.text+0x97713): undefined reference to `unregister_framebuffer' drivers/built-in.o: In function `vmw_fb_close': (.text+0x97754): undefined reference to `framebuffer_release' drivers/built-in.o: In function `vmw_fb_init': (.text+0x97e1c): undefined reference to `framebuffer_alloc' drivers/built-in.o: In function `vmw_fb_init': (.text+0x9838d): undefined reference to `register_framebuffer' drivers/built-in.o: In function `vmw_fb_init': (.text+0x9842a): undefined reference to `framebuffer_release' Signed-off-by: Randy Dunlap <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Acked-by: Jakob Bornecrantz <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-03-15drm: "kobject_init/kobject_add" -> "kobject_init_and_add".Robert P. J. Day2-12/+10
Replace sequential calls to kobject_init() and kobject_add() with the combo wrapper kobject_init_and_add(), which provides the same semantics. Signed-off-by: Robert P. J. Day <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-03-15drm/ttm: use drm calloc large and free largeDave Airlie1-20/+3
Now that the drm core can do this, lets just use it, split the code out so TTM doesn't have to drag all of drmP.h in. Signed-off-by: Dave Airlie <[email protected]>
2010-03-15drm/radeon/kms: prepare for more reclocking operationsRafał Miłecki1-10/+29
Signed-off-by: Rafał Miłecki <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-03-15drm/radeon/kms: switch to condition waiting for reclockingRafał Miłecki5-3/+12
We tried to implement interruptible waiting with timeout (it was broken anyway) which was not a good idea as explained by Andrew. It's possible to avoid using additional variable but actually it inroduces using more complex in-kernel tools. So simply add one variable for condition. Signed-off-by: Rafał Miłecki <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-03-15drm/radeon/r600: add missing license and comments to r600_blit_shaders.cAlex Deucher1-0/+35
R6xx+ cards need to use the 3D engine to blit data which requires quite a bit of hw state setup. Rather than pull the whole 3D driver (which normally generates the 3D state) into the DRM, we opt to use statically generated state tables. The regsiter state and shaders were hand generated to support blitting functionality. See the 3D driver or documentation for descriptions of the registers and shader instructions. Signed-off-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-03-15drm/radeon/kms: improve coding style a littleRafał Miłecki2-15/+13
We still have many magic numbers in HDMI/audio to define Signed-off-by: Rafał Miłecki <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-03-15drm/radeon/kms: remove dead audio/HDMI codeRafał Miłecki1-35/+0
Signed-off-by: Rafał Miłecki <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-03-15drm/radeon/kms: enable audio engine on DCE32Rafał Miłecki1-0/+15
Signed-off-by: Rafał Miłecki <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-03-15drm/radeon/kms: add HDMI code for pre-DCE3 R6xx GPUsRafał Miłecki1-2/+69
Older GPUs are little different, HDMI blocks are not hard-wired, but routable. We should just find some free HDMI block and route it to choosen encoder. In case of RS6x0 there is only one HDMI block, we don't enable HDMI on RS6x00 yet however. Signed-off-by: Rafał Miłecki <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-03-15drm/radeon/kms: clean assigning HDMI blocks to encodersRafał Miłecki4-72/+62
We almost always used first HDMI block for first encoder and second for sencod. Exception was KLDSCP_LVTMA. Analyzing code picking DIG encoder shows the same behaviour. It shows HDMI block are related to DIGs, which relation we now use. Signed-off-by: Rafał Miłecki <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-03-15drm/radeon/kms: clean HDMI definitionsRafał Miłecki3-8/+13
We already know same offsets are used for different encoders/transmitters, so just numeric them instead naming incorrectly. Additionaly we found additional registers needed for RV770+ Signed-off-by: Rafał Miłecki <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-03-15drm/radeon/kms/rs4xx: make sure crtcs are enabled when setting timingAlex Deucher1-0/+8
based on ddx patch from Matthias Hopf. Signed-off-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-03-15drm/radeon/kms/r1xx: enable hw i2cAlex Deucher1-4/+1
fixing the i2c prescale in the last patch gets it working on r1xx. Signed-off-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-03-15drm/radeon/kms: fix i2c prescale calc on older radeonsAlex Deucher1-9/+8
Should fix fdo bug 26430 Signed-off-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-03-15drm/radeon/kms: fix for hw i2cAlex Deucher1-0/+1
use the i2c pads to drive SDA Possible fix for fdo bug 26430 Signed-off-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-03-15drm/radeon/kms: fix pal tv-out support on legacy IGP chipsAlex Deucher1-5/+24
Based on ddx patch by Andrzej Hajda. Signed-off-by: Alex Deucher <[email protected]> Cc: [email protected] Signed-off-by: Dave Airlie <[email protected]>
2010-03-15drm/radeon/kms: further spread spectrum fixesAlex Deucher2-13/+20
Adjust modeset ordering to fix spread spectrum. The spread spectrum command table relies on the crtc routing to already be set in order to work properly on some asics. Should fix fdo bug 25741. Signed-off-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-03-15drm/radeon/kms: use lcd pll limits when availableAlex Deucher5-5/+52
The bios has alternate pll output limits for LCD panels. If available, use these for pll divider calculations. Signed-off-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-03-15drm/radeon/kms/atom: spread spectrum fixAlex Deucher1-7/+50
The atom spread spectrum table does not always disable ss. Explicitly disable it and then use the atom table to enable later if needed (currently only used for LVDS). Fixes display issues on some systems. Signed-off-by: Alex Deucher <[email protected]> Cc: [email protected] Signed-off-by: Dave Airlie <[email protected]>
2010-03-15drm/nouveau: add module option to disable TV detectionBen Skeggs3-1/+6
Intended to be used as a workaround in cases where we falsely detect that a TV is connected when it's not. Signed-off-by: Ben Skeggs <[email protected]>
2010-03-15drm/nouveau: Never evict VRAM buffers to system.Francisco Jerez1-2/+1
VRAM->system is a synchronous operation: it involves scheduling a VRAM->TT DMA transfer and stalling the CPU until it's finished so that we can unbind the new memory from the translation tables. VRAM->TT can always be performed asynchronously, even if TT is already full and we have to move something out of it. Additionally, allowing VRAM->system behaves badly under heavy memory pressure because once we run out of TT, stuff starts to be moved back and forth between VRAM and system, and the TT contents are hardly renewed. Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-03-15drm/radeon/kms: catch atombios infinite loop and break out of itJerome Glisse2-13/+48
In somecase the atombios code might lead to infinite loop because the GPU is in broken state, this patch track the jump history and will abort atombios execution if we are stuck executing the same jump for more than 1sec. Note that otherwise in some case we might enter an infinite loop in the kernel context which is bad. Signed-off-by: Jerome Glisse <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-03-12Merge branch 'for-linus' of ↵Linus Torvalds4-5/+5
git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (56 commits) doc: fix typo in comment explaining rb_tree usage Remove fs/ntfs/ChangeLog doc: fix console doc typo doc: cpuset: Update the cpuset flag file Fix of spelling in arch/sparc/kernel/leon_kernel.c no longer needed Remove drivers/parport/ChangeLog Remove drivers/char/ChangeLog doc: typo - Table 1-2 should refer to "status", not "statm" tree-wide: fix typos "ass?o[sc]iac?te" -> "associate" in comments No need to patch AMD-provided drivers/gpu/drm/radeon/atombios.h devres/irq: Fix devm_irq_match comment Remove reference to kthread_create_on_cpu tree-wide: Assorted spelling fixes tree-wide: fix 'lenght' typo in comments and code drm/kms: fix spelling in error message doc: capitalization and other minor fixes in pnp doc devres: typo fix s/dev/devm/ Remove redundant trailing semicolons from macros fix typo "definetly" -> "definitely" in comment tree-wide: s/widht/width/g typo in comments ... Fix trivial conflict in Documentation/laptops/00-INDEX
2010-03-10drm/nv50: fix connector table parsing for some cardsBen Skeggs3-4/+6
The connector table index in the DCB entry for each output type is an index into the connector table, and does *not* necessarily match up with what was previously called "index" in the connector table entries themselves. Not real sure what that index is exactly, renamed to "index2" as we still use it to prevent creating multiple TV connectors. Signed-off-by: Ben Skeggs <[email protected]>
2010-03-10drm/nv50: add a memory barrier to pushbuf submissionMaarten Maathuis1-0/+5
- This is useful for vram pushbuffers that are write combined. - pre-nv50 has one too (in WRITE_PUT). Signed-off-by: Maarten Maathuis <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-03-10drm/nouveau: print a message very early during suspendMaarten Maathuis1-0/+2
- In case of suspend lockups it's nice to know it happened in nouveau. Signed-off-by: Maarten Maathuis <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-03-10drm/nv04-nv40: Fix up the programmed horizontal sync pulse delay.Francisco Jerez1-3/+3
The calculated values were a little bit off (~16 clocks), the only effect it could have had is a slightly offset image with respect to the blob on analog outputs (bug 26790). Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-03-10drm/nouveau: Gigabyte NX85T connector table lies, it has DVI-I not HDMIBen Skeggs1-0/+17
Signed-off-by: Ben Skeggs <[email protected]>