aboutsummaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/vmwgfx
AgeCommit message (Collapse)AuthorFilesLines
2010-06-01drm/vmwgfx: Remove duplicate member from struct vmw_legacy_display_unit.Jakob Bornecrantz1-4/+2
Signed-off-by: Jakob Bornecrantz <[email protected]> Signed-off-by: Thomas Hellstrom <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-06-01drm/vmwgfx: Reserve first part of VRAM for framebuffer.Thomas Hellstrom1-2/+39
The host may be touching this part of VRAM at modesetting, even if we never use it ourselves, since we blit screen updates from 3D surfaces. Make sure no DMA buffers are placed in this part of VRAM. V2: Fix an error check in vmw_surface_dmabuf_pin(). Signed-off-by: Thomas Hellstrom <[email protected]> Signed-off-by: Jakob Bornecrantz <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-06-01drm/vmwgfx: Support older hardware.Jakob Bornecrantz6-107/+148
V2: Fix a couple of typos. Signed-off-by: Jakob Bornecrantz <[email protected]> Signed-off-by: Thomas Hellstrom <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-06-01drm/vmwgfx: Get connector status from detection function.Jakob Bornecrantz1-7/+3
Also make sure the ldu::active member is properly initialized. Part of fix by Michel Daenzer <[email protected]>. Signed-off-by: Jakob Bornecrantz <[email protected]> Signed-off-by: Michel Daenzer <[email protected]> Signed-off-by: Thomas Hellstrom <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-06-01drm/vmwgfx: Add kernel throttling support. Bump minor.Thomas Hellstrom6-6/+227
The throttle_us member in the execbuf argument is now honored. If the member is 0, no waiting for lag will occur, which guarantees backwards compatibility with well-behaved clients. Signed-off-by: Thomas Hellstrom <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-06-01drm/vmwgfx: Make sure to unpin old and pin new framebuffer.Jakob Bornecrantz1-6/+11
Signed-off-by: Jakob Bornecrantz <[email protected]> Signed-off-by: Thomas Hellstrom <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-06-01drm/vmwgfx: Fix single framebuffer detection.Jakob Bornecrantz1-0/+3
V2: Fix a typo. Signed-off-by: Jakob Bornecrantz <[email protected]> Signed-off-by: Thomas Hellstrom <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-06-01drm/vmwgfx: Assume larger framebuffer max size.Jakob Bornecrantz1-2/+3
Signed-off-by: Jakob Bornecrantz <[email protected]> Signed-off-by: Thomas Hellstrom <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-05-18fbdev: allow passing more than one aperture for handoffMarcin Slusarz1-2/+8
It removes a hack from nouveau code which had to detect which region to pass to kick vesafb/efifb. Signed-off-by: Marcin Slusarz <[email protected]> Cc: Eric Anholt <[email protected]> Cc: Ben Skeggs <[email protected]> Cc: Thomas Hellstrom <[email protected]> Cc: Dave Airlie <[email protected]> Cc: Peter Jones <[email protected]> Cc: Benjamin Herrenschmidt <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-04-20Merge branch 'drm-ttm-unmappable' into drm-core-nextDave Airlie4-14/+46
* drm-ttm-unmappable: drm/radeon/kms: enable use of unmappable VRAM V2 drm/ttm: remove io_ field from TTM V6 drm/vmwgfx: add support for new TTM fault callback V5 drm/nouveau/kms: add support for new TTM fault callback V5 drm/radeon/kms: add support for new fault callback V7 drm/ttm: ttm_fault callback to allow driver to handle bo placement V6 drm/ttm: split no_wait argument in 2 GPU or reserve wait Conflicts: drivers/gpu/drm/nouveau/nouveau_bo.c
2010-04-20drm/ttm: remove io_ field from TTM V6Jerome Glisse1-6/+0
All TTM driver have been converted to new io_mem_reserve/free interface which allow driver to choose and return proper io base, offset to core TTM for ioremapping if necessary. This patch remove what is now deadcode. V2 adapt to match with change in first patch of the patchset V3 update after io_mem_reserve/io_mem_free callback balancing V4 adjust to minor cleanup V5 remove the needs ioremap flag V6 keep the ioremapping facility in TTM [airlied- squashed driver removals in here also] Signed-off-by: Jerome Glisse <[email protected]> Reviewed-by: Thomas Hellstrom <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-04-20drm/vmwgfx: add support for new TTM fault callback V5Jerome Glisse1-3/+41
This add the support for the new fault callback, does change anything from driver point of view. Improvement: store the aperture base in a variable so that we don't call a function to get it on each fault. Patch hasn't been tested. V2 don't derefence bo->mem.mm_node as it's not NULL only for VRAM or GTT V3 update after io_mem_reserve/io_mem_free callback balancing V4 callback has to ioremap V5 ioremap is done by TTM Signed-off-by: Jerome Glisse <[email protected]> Reviewed-by: Thomas Hellstrom <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-04-08drm/ttm: split no_wait argument in 2 GPU or reserve waitJerome Glisse3-5/+5
There is case where we want to be able to wait only for the GPU while not waiting for other buffer to be unreserved. This patch split the no_wait argument all the way down in the whole ttm path so that upper level can decide on what to wait on or not. [airlied: squashed these 4 for bisectability reasons.] drm/radeon/kms: update to TTM no_wait splitted argument drm/nouveau: update to TTM no_wait splitted argument drm/vmwgfx: update to TTM no_wait splitted argument [vmwgfx patch: Reviewed-by: Thomas Hellstrom <[email protected]>] Signed-off-by: Jerome Glisse <[email protected]> Acked-by: Thomas Hellstrom <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-04-07drm/fb: fix fbdev object model + cleanup properly.Dave Airlie1-6/+0
The fbdev layer in the kms code should act like a consumer of the kms services and avoid having relying on information being store in the kms core structures in order for it to work. This patch a) removes the info pointer/psuedo palette from the core drm_framebuffer structure and moves it to the fbdev helper layer, it also removes the core drm keeping a list of kernel kms fbdevs. b) migrated all the fb helper functions out of the crtc helper file into the fb helper file. c) pushed the fb probing/hotplug control into the driver d) makes the surface sizes into a structure for ease of passing This changes the intel/radeon/nouveau drivers to use the new helper. 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-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-18drm/vmwgfx: Use fb handover mechanism instead of stealth mode.Thomas Hellstrom2-33/+19
When the vmwgfx module is loaded on top of vesafb, it would operate in stealth mode in parallel with vesafb, evicting VRAM on dropmaster. Change that to use the vesafb handover mechanism, like other drmfb drivers. Signed-off-by: Thomas Hellstrom <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-02-11drm/vmwgfx: Fix a circular locking dependency bug.Thomas Hellstrom3-19/+14
Signed-off-by: Thomas Hellstrom <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-02-11drm/vmwgfx: Drop scanout flag compat and add execbuf ioctl parameter ↵Jakob Bornecrantz2-19/+4
members. Bumps major. Even if this bumps the version to 1 it does not mean the driver is out of staging. From what we know this is the last backwards incompatible change to the driver. Signed-off-by: Jakob Bornecrantz <[email protected]> Signed-off-by: Thomas Hellstrom <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-02-11drm/vmwgfx: Report propper framebuffer_{max|min}_{width|height}Jakob Bornecrantz1-4/+4
Signed-off-by: Jakob Bornecrantz <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-02-11drm/vmwgfx: Update the user-space interface.Thomas Hellstrom3-5/+12
When time-based throttling is implemented, we need to bump minor. When the old way of detecting scanout is removed, we need to bump major. In the meantime, this change should not break existing user-space. Signed-off-by: Thomas Hellstrom <[email protected]> Signed-off-by: Jakob Bornecrantz <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-02-01drm/vmwgfx: Don't send bad flags to the hostJakob Bornecrantz3-1/+27
Signed-off-by: Jakob Bornecrantz <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-02-01drm/vmwgfx: Request SVGA version 2 and bail if not foundPeter Hanzel1-0/+11
This fixes the driver not loading on older versions of VMware. Signed-off-by: Peter Hanzel <[email protected]> Signed-off-by: Jakob Bornecrantz <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-02-01drm/vmwgfx: Correctly detect 3DJakob Bornecrantz4-1/+23
Signed-off-by: Jakob Bornecrantz <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-01-25drm/vmwgfx: Optimize memory footprint for DMA buffers.Thomas Hellstrom4-1/+30
Use VRAM whenever there is free space for DMA buffers, but use system GMR memory if using VRAM would cause an eviction. This significantly reduces the guest system memory usage for VMs with a large amount of VRAM allocated. Signed-off-by: Thomas Hellstrom <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-01-14drm/vmwgfx: Implement basic pm operations.Thomas Hellstrom2-1/+63
Currently we really only support S3, since the device doesn't support saving of the 3D state. On S3/S4, move all buffer objects to swappable memory and take down GMR bindings. We need to do that from a PM notifier since we can't do persistant memory allocations from the standard PM callbacks. Signed-off-by: Thomas Hellstrom <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-01-14drm/vmwgfx: Implement a swap_notify callback.Thomas Hellstrom1-1/+7
Unbind GMR bindings on the buffer about to be swapped out. Signed-off-by: Thomas Hellstrom <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-01-14drm/vmwgfx: Use bo_driver::move_notify to unbind GMRs.Thomas Hellstrom5-29/+22
This was previously done explicitly for overlay- and fb buffers. Now it's done for any buffer leaving the SYSTEM memory region. Signed-off-by: Thomas Hellstrom <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-01-14drm/vmwgfx: Make fence sequences continous across a VT switch.Thomas Hellstrom2-2/+2
A vt switch in stealth mode would take down the FIFO, and re- initialize fence sequence numbers. This patch saves the current state of the fence sequence when the FIFO is disabled. Signed-off-by: Thomas Hellstrom <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-01-14drm/vmwgfx: Fix an error path causing an oops.Thomas Hellstrom1-18/+21
An error happening before the snooper.image member had been set up would cause a kfree of an arbitrary pointer. Set up the snooper.image member early. Signed-off-by: Thomas Hellstrom <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-01-14drm/vmwgfx: Don't promote updates from GMR-backed scanouts to fullscreen.Thomas Hellstrom1-7/+5
That's unnecessary since partial screen updates from GMRs are fast. Also fix cliprect pointer dereferencing Signed-off-by: Thomas Hellstrom <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2009-12-23drm/vmwgfx: Use TTM handles instead of SIDs as user-space surface handles.Thomas Hellstrom4-111/+209
Improve the command verifier to catch all occurences of surface handles, and translate to SIDs. This way DMA buffers and 3D surfaces share a common handle space, which makes it possible for the kms code to differentiate. Signed-off-by: Thomas Hellstrom <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2009-12-23drm/vmwgfx: Return -ERESTARTSYS when interrupted by a signal.Thomas Hellstrom3-10/+6
Fixes for TTM API change. Signed-off-by: Thomas Hellstrom <[email protected]> Signed-off-by: Jakob Bornecrantz <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2009-12-23drm/vmwgfx: Fix unlocked ioctl and add proper access controlThomas Hellstrom1-28/+19
This fixes up vmwgfx for the unlocked ioctl code to avoid doing it in the driver. Also adds ioctl flags. Signed-off-by: Thomas Hellstrom <[email protected]> Signed-off-by: Jakob Bornecrantz <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2009-12-15drm/vmwgfx: Add DRM driver for VMware Virtual GPUJakob Bornecrantz18-0/+7337
This commit adds the vmwgfx driver for the VWware Virtual GPU aka SVGA. The driver is under staging the same as Nouveau and Radeon KMS. Hopefully the 2D ioctls are bug free and don't need changing, so that part of the API should be stable. But there there is a pretty big chance that the 3D API will change in the future. Signed-off-by: Thomas Hellström <[email protected]> Signed-off-by: Jakob Bornecrantz <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2009-12-15drm/vmwgfx: Add svga headers for vmwgfx driverJakob Bornecrantz5-0/+3474
These headers are shared between multiple place where different coding standards apply. They will be fixed up at a later time. Signed-off-by: Thomas Hellström <[email protected]> Signed-off-by: Jakob Bornecrantz <[email protected]> Signed-off-by: Dave Airlie <[email protected]>