aboutsummaryrefslogtreecommitdiff
path: root/drivers/gpu
AgeCommit message (Collapse)AuthorFilesLines
2010-02-26drm/i915: Add initial bits for VGA modesetting bringup on Sandybridge.Eric Anholt11-56/+87
Signed-off-by: Eric Anholt <[email protected]>
2010-02-26Merge remote branch 'korg/drm-radeon-testing' into drm-next-stageDave Airlie61-4730/+11854
* korg/drm-radeon-testing: (62 commits) drm/radeon/kms: update new pll algo drm/radeon/kms: add support for square microtiles on r3xx-r5xx drm/radeon/kms: force pinning buffer into visible VRAM drm/radeon/kms/evergreen: fix typo in cursor code drm/radeon/kms: implement reading active PCIE lanes on R600+ drm/radeon/kms: for downclocking non-mobility check PERFORMANCE state drm/radeon/kms: simplify storing current and requested PM mode drm/radeon: fixes for r6xx/r7xx gfx init drm/radeon/rv740: fix backend setup drm/radeon/kms: fix R3XX/R4XX memory controller initialization [rfc] drm/radeon/kms: pm debugging check for vbl. drm/radeon: Fix memory allocation failures in the preKMS command stream checking. drm: Add generic multipart buffer. drm/radeon/kms: simplify memory controller setup V2 drm/radeon: Add asic hook for dma copy to r200 cards. drm/radeon/kms: Create asic structure for r300 pcie cards. drm/radeon/kms: remove unused r600_gart_clear_page drm/radeon/kms: remove HDP flushes from fence emit (v2) drm/radeon/kms: add LVDS pll quirk for Dell Studio 15 drm/radeon/kms: simplify picking power state ... Conflicts: drivers/gpu/drm/radeon/atom.c drivers/gpu/drm/radeon/atombios.h drivers/gpu/drm/radeon/atombios_dp.c drivers/gpu/drm/radeon/r600.c drivers/gpu/drm/radeon/r600_audio.c drivers/gpu/drm/radeon/r600_cp.c drivers/gpu/drm/radeon/radeon.h drivers/gpu/drm/radeon/radeon_connectors.c drivers/gpu/drm/radeon/radeon_ring.c drivers/gpu/drm/radeon/rv770.c
2010-02-25Merge branch 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6Linus Torvalds1-22/+22
* 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6: (41 commits) of: remove undefined request_OF_resource & release_OF_resource of/sparc: Remove sparc-local declaration of allnodes and devtree_lock of: move definition of of_chosen into common code. of: remove unused extern reference to devtree_lock of: put default string compare and #a/s-cell values into common header of/flattree: Don't assume HAVE_LMB of: protect linux/of.h with CONFIG_OF proc_devtree: fix THIS_MODULE without module.h of: Remove old and misplaced function declarations of/flattree: Make the kernel accept ePAPR style phandle information of/flattree: endian-convert members of boot_param_header of: assume big-endian properties, adding conversions where necessary of: use __be32 for cell value accessors of/flattree: use OF_ROOT_NODE_{SIZE,ADDR}_CELLS DEFAULT for fdt parsing of/flattree: use callback to setup initrd from /chosen proc_devtree: include linux/of.h of: make set_node_proc_entry private to proc_devtree.c of: include linux/proc_fs.h of/flattree: merge early_init_dt_scan_memory() common code of: add 'of_' prefix to machine_is_compatible() ...
2010-02-25drm/nouveau: use ALIGN instead of open coding itMatt Turner3-3/+3
CC: Ben Skeggs <[email protected]> Signed-off-by: Matt Turner <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-02-25drm/nouveau: report unknown connector state if lid closedBen Skeggs1-2/+4
This is in preference to disconnected. If there's no other outputs connected this will cause LVDS to be programmed even with the lid closed rather than having X fail to start because of no available outputs. Signed-off-by: Ben Skeggs <[email protected]>
2010-02-25drm/nouveau: support version 0x20 displayport tablesBen Skeggs1-1/+1
Not entirely identical to 0x21, the per-encoder table header lacks the third init table pointer. However, our current parsing of the table should work just fine. Signed-off-by: Ben Skeggs <[email protected]>
2010-02-25drm/nouveau: Fix noaccel/nofbaccel option descriptions.Marcin Kościelnicki1-2/+2
Signed-off-by: Marcin Kościelnicki <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-02-25drm/nv50: Implement ctxprog/state generation.Marcin Kościelnicki4-33/+2411
This removes dependence on external firmware for NV50 generation cards. If the generated ctxprogs don't work for you for some reason, please report it. Signed-off-by: Marcin Kościelnicki <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-02-25drm/nouveau: use dcb connector types throughout the driverBen Skeggs1-32/+41
Signed-off-by: Ben Skeggs <[email protected]>
2010-02-25drm/nv50: enable hpd on any connector we know the gpio line forBen Skeggs1-3/+1
Signed-off-by: Ben Skeggs <[email protected]>
2010-02-25drm/nouveau: use dcb connector table for creating drm connectorsBen Skeggs4-115/+62
This makes this code common to both the nv04 and nv50 paths. For the moment, we keep the previous behaviour with HDMI/eDP connectors and report them as DVI-D/DP instead. This will be fixed once the rest of the code has been fixed to deal with those types. Signed-off-by: Ben Skeggs <[email protected]>
2010-02-25drm/nouveau: construct a connector table for cards that lack a real oneBen Skeggs1-13/+16
Signed-off-by: Ben Skeggs <[email protected]>
2010-02-25drm/nouveau: check for known dcb connector typesBen Skeggs2-0/+62
Signed-off-by: Ben Skeggs <[email protected]>
2010-02-25drm/nouveau: parse dcb gpio/connector tables after encodersBen Skeggs1-4/+6
Signed-off-by: Ben Skeggs <[email protected]>
2010-02-25drm/nouveau: reorganise bios header, add dcb connector type enumsBen Skeggs3-44/+63
Signed-off-by: Ben Skeggs <[email protected]>
2010-02-25drm/nouveau: merge nvbios and nouveau_bios_infoBen Skeggs15-81/+73
Signed-off-by: Ben Skeggs <[email protected]>
2010-02-25drm/nouveau: merge parsed_dcb and bios_parsed_dcb into dcb_tableBen Skeggs6-95/+85
Signed-off-by: Ben Skeggs <[email protected]>
2010-02-25drm/nouveau: rename parsed_dcb_gpio to dcb_gpio_tableBen Skeggs2-3/+3
Signed-off-by: Ben Skeggs <[email protected]>
2010-02-25drm/nouveau: allow retrieval of vbios image from debugfsBen Skeggs1-0/+13
It's very useful to be able to access this without additional tools for debugging purposes. Signed-off-by: Ben Skeggs <[email protected]>
2010-02-25drm/nouveau: fix missing spin_unlock in failure pathLuca Barbieri1-1/+1
Found by sparse. Signed-off-by: Luca Barbieri <[email protected]> Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-02-25drm/nouveau: fix i2ctable bounds checkingMarcin Slusarz1-3/+4
i2c_entries seems to be the number of i2c entries, so with index equal to this number, we could read invalid data from i2ctable. Fix it. Signed-off-by: Marcin Slusarz <[email protected]> Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-02-25drm/nouveau: fix nouveau_i2c_find bounds checkingMarcin Slusarz1-1/+1
Reported-by: Dan Carpenter <[email protected]> Signed-off-by: Marcin Slusarz <[email protected]> Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-02-25drm/nouveau: fix pramdac_table range checkingMarcin Slusarz1-1/+1
get_tmds_index_reg reads some value from stack when mlv happens to be equal to size of pramdac_table array. Fix it. Reported-by: Dan Carpenter <[email protected]> Signed-off-by: Marcin Slusarz <[email protected]> Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-02-25drm/nouveau: new gem pushbuf interface, bump to 0.0.16Ben Skeggs6-350/+176
This commit breaks the userspace interface, and requires a new libdrm for nouveau to operate again. The multiple GEM_PUSHBUF ioctls that were present in 0.0.15 for compatibility purposes are now gone, and replaced with the new ioctl which allows for multiple push buffers to be submitted (necessary for hw index buffers in the nv50 3d driver) and relocations to be applied on any buffer. A number of other ioctls (CARD_INIT, GEM_PIN, GEM_UNPIN) that were needed for userspace modesetting have also been removed. Signed-off-by: Ben Skeggs <[email protected]> Signed-off-by: Francisco Jerez <[email protected]>
2010-02-25drm/nv50: make pushbuf dma object cover entire vmBen Skeggs2-7/+12
This allows us to submit push buffers from any memtype to the hardware. We'll need this ability for VRAM index buffers at some point. Signed-off-by: Ben Skeggs <[email protected]>
2010-02-25drm/nouveau: remove PUSHBUF_CAL macroBen Skeggs1-6/+4
Signed-off-by: Ben Skeggs <[email protected]>
2010-02-25drm/nv50: switch to indirect push buffer controlsBen Skeggs6-15/+155
PFIFO on G80 and up has a new mode where the main ring buffer is simply a ring of pointers to indirect buffers containing the actual command/data packets. In order to be able to implement index buffers in the 3D driver we need to be able to submit data-only push buffers right after the cmd packet header, which is only possible using the new command submission method. This commit doesn't make it possible to implement index buffers yet, some userspace interface changes will be required, but it does allow for testing/debugging of the hardware-side support in the meantime. Signed-off-by: Ben Skeggs <[email protected]>
2010-02-25drm/nouveau: protect channel create/destroy and irq handler with a spinlockMaarten Maathuis7-1/+36
The nv50 pgraph handler (for example) could reenable pgraph fifo access and that would be bad when pgraph context is being unloaded (we need the guarantee a ctxprog isn't running). Signed-off-by: Maarten Maathuis <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-02-25Merge remote branch 'anholt/drm-intel-next' into drm-next-stageDave Airlie13-307/+1057
* anholt/drm-intel-next: drm/i915: Record batch buffer following GPU error drm/i915: give up on 8xx lid status drm/i915: reduce some of the duplication of tiling checking drm/i915: blow away userspace mappings before fence change drm/i915: move a gtt flush to the correct place agp/intel: official names for Pineview and Ironlake drm/i915: overlay: drop superflous gpu flushes drm/i915: overlay: nuke readback to flush wc caches drm/i915: provide self-refresh status in debugfs drm/i915: provide FBC status in debugfs drm/i915: fix drps disable so unload & re-load works drm/i915: Fix OGLC performance regression on 945 drm/i915: Deobfuscate the render p-state obfuscation drm/i915: add dynamic performance control support for Ironlake drm/i915: enable memory self refresh on 9xx drm/i915: Don't reserve compatibility fence regs in KMS mode. drm/i915: Keep MCHBAR always enabled drm/i915: Replace open-coded eviction in i915_gem_idle()
2010-02-25Merge remote branch 'korg/drm-core-next' into drm-next-stageDave Airlie20-184/+131
* korg/drm-core-next: drm/ttm: handle OOM in ttm_tt_swapout drm/radeon/kms/atom: fix shr/shl ops drm/kms: fix spelling of "CLOCK" drm/kms: fix fb_changed = true else statement drivers/gpu/drm/drm_fb_helper.c: don't use private implementation of atoi() drm: switch all GEM/KMS ioctls to unlocked ioctl status. Use drm_gem_object_[handle_]unreference_unlocked where possible drm: introduce drm_gem_object_[handle_]unreference_unlocked
2010-02-25drm/ttm: handle OOM in ttm_tt_swapoutMaarten Maathuis1-7/+11
- Without this change I get a general protection fault. - Also use PTR_ERR where applicable. Signed-off-by: Maarten Maathuis <[email protected]> Reviewed-by: Dave Airlie <[email protected]> Acked-by: Thomas Hellstrom <[email protected]> Cc: [email protected] Signed-off-by: Dave Airlie <[email protected]>
2010-02-25drm/radeon/kms/atom: fix shr/shl opsAlex Deucher1-4/+0
The whole attribute table is valid for shr/shl ops. Fixes fdo bug 26668 Signed-off-by: Alex Deucher <[email protected]> Cc: [email protected] Signed-off-by: Dave Airlie <[email protected]>
2010-02-25drm/radeon/kms: update new pll algoAlex Deucher6-89/+178
- add support for pre-avivo chips - add support for fixed post/ref dividers - add support for non-fractional fb dividers By default avivo chips use the new algo and pre-avivo chips use the old algo. Use the "new_pll" module option to toggle between them. Signed-off-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-02-25drm/radeon/kms: add support for square microtiles on r3xx-r5xxMarek Olšák2-1/+9
Signed-off-by: Marek Olšák <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-02-25drm/radeon/kms: force pinning buffer into visible VRAMJerome Glisse7-4/+13
This patch properly set visible VRAM and enforce any pinned buffer to be into visible VRAM. We might later add a flag to release this constraint for some newer hw more clever than previous. Signed-off-by: Jerome Glisse <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-02-25drm/radeon/kms/evergreen: fix typo in cursor codeAlex Deucher1-0/+5
cursor x/y are surface relative. fixes fdo bug 26551 Signed-off-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-02-23Merge branch 'drm-linus' of ↵Linus Torvalds5-76/+210
git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/vmwgfx: Fix queries if no dma buffer thrashing is occuring. drm/nv50: fix vram ptes on IGPs to point at stolen system memory drm/nv50: fix instmem binding on IGPs to point at stolen system memory drm/nv50: improve vram page table construction drm/nv50: more efficient clearing of gpu page table entries drm/nv50: make nv50_mem_vm_{bind,unbind} operate only on vram drm/nouveau: Fix up pre-nv17 analog load detection.
2010-02-23drm/vmwgfx: Fix queries if no dma buffer thrashing is occuring.Thomas Hellstrom1-16/+92
Intercept query commands and apply relocations to their guest pointers. Signed-off-by: Thomas Hellstrom <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-02-23Merge remote branch 'nouveau/for-airlied' of ../drm-nouveau-next into drm-linusDave Airlie4-60/+118
* 'nouveau/for-airlied' of ../drm-nouveau-next: drm/nv50: fix vram ptes on IGPs to point at stolen system memory drm/nv50: fix instmem binding on IGPs to point at stolen system memory drm/nv50: improve vram page table construction drm/nv50: more efficient clearing of gpu page table entries drm/nv50: make nv50_mem_vm_{bind,unbind} operate only on vram drm/nouveau: Fix up pre-nv17 analog load detection.
2010-02-23drm/nv50: fix vram ptes on IGPs to point at stolen system memoryBen Skeggs1-1/+7
Signed-off-by: Ben Skeggs <[email protected]>
2010-02-23drm/nv50: fix instmem binding on IGPs to point at stolen system memoryBen Skeggs2-18/+41
This also modifies the unused PRAMIN PT entries to be all zeroes, can't really recall why I used 9/0 initially, just that it didn't work for some reason. It was likely masking a bug elsewhere that's since been fixed. Signed-off-by: Ben Skeggs <[email protected]>
2010-02-23drm/nv50: improve vram page table constructionBen Skeggs1-11/+33
This commit changes nouveau to construct PTEs which look very much like the ones the binary driver creates. I presume that filling multiple PTEs identically with length flags and the physical address of the start of a block of VRAM is a hint to the memory controller that it need not perform additional page table lookups for that range of addresses. Signed-off-by: Ben Skeggs <[email protected]>
2010-02-23drm/nv50: more efficient clearing of gpu page table entriesBen Skeggs1-24/+44
Signed-off-by: Ben Skeggs <[email protected]>
2010-02-23drm/nv50: make nv50_mem_vm_{bind,unbind} operate only on vramBen Skeggs1-30/+13
GART is handled elsewhere, no reason to have the code for it here too. Signed-off-by: Ben Skeggs <[email protected]>
2010-02-23drm/nouveau: Fix up pre-nv17 analog load detection.Francisco Jerez1-1/+5
Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-02-23drm/radeon/kms: implement reading active PCIE lanes on R600+Rafał Miłecki4-3/+10
Signed-off-by: Rafał Miłecki <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-02-23drm/radeon/kms: for downclocking non-mobility check PERFORMANCE stateRafał Miłecki1-6/+16
AtomBIOS tables on non-mobility GPU do not contain POWERSAVE/BATTERY. Signed-off-by: Rafał Miłecki <[email protected]> Reviewed-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-02-23drm/radeon/kms: simplify storing current and requested PM modeRafał Miłecki4-37/+25
We kept pointers to requested and current clock modes in every power state. That was useless, more /global/ pointers in power struct are enough. Signed-off-by: Rafał Miłecki <[email protected]> Reviewed-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-02-23drm/radeon: fixes for r6xx/r7xx gfx initAlex Deucher3-159/+331
- updated swizzle modes for backend map setup - fix programming of a few gfx regs - properly handle pipe/backend setup on LE cards Signed-off-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-02-23drm/radeon/rv740: fix backend setupAlex Deucher2-6/+12
This patch fixes occlusion queries and rendering errors on rv740 boards. Hardcoding the backend map is not an optimal solution, but a better fix is being worked on. Signed-off-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>