summaryrefslogtreecommitdiff
path: root/linux-core
AgeCommit message (Collapse)Author
2008-07-19Update vblank code to new APIJesse Barnes
In my last push I forgot to convert users of drm_update_vblank_count over to drm_vblank_get/put, since that's where any interrupt off->on update accounting is done now. Since the modeset ioctl did something similar (an open coded update of the counter) convert it over to using get/put too, which saves us from having to deal with every combination of interrupt off & on between calls.
2008-07-17Avoid incorrect vblank wakeupsJesse Barnes
The current code uses the hw vblank counter exclusively, which can lead to wakeups during the active period rather than during the vblank period if the hw counter counts displayed frames rather than vblank periods. This change coverts the code over to using the counter while interrupts are enabled, fixing that issue. It also includes a couple of related changes: one to not enable the new enable/disable behavior until the modeset ioctl is called (to preserve old client behavior) and another to account for lost events due to mode setting with the new counter scheme. BSD will require similar changes to its drm_irq.c code, but they should be straightforward.
2008-07-15This is a modified version of Hong's patch from last month, with a fewHong Liu
modifications to make it work correctly on my test hardware (altered the backlight write function, made it enable the legacy backlight controller interrupts on mobile hardware, sorted the interrupt function so we don't get an excessive number of vblank interrupts). This lets the backlight keys on my T61 work properly, though there's a 750msec or so delay between the request and the brightness actually changing - this sounds awfully like the hardware spinning waiting for a status flag to become ready, but as far as I can tell they're all set correctly. If anyone can figure out what's wrong here, it'd be nice to know. Some of the functions are still stubs and just tell the hardware that the request was successful. These can be filled in as kernel modesetting gets integrated. I think it's worth getting this in anyway, since it's required for backlight control to work properly on some new platforms. Signed-off-by: Matthew Garrett <mjg@redhat.com>
2008-07-15drm: fix missing symbol exportDave Airlie
2008-07-15drm: add fix for PAT on radeon with 2.6.26Dave Airlie
2008-07-15drm/pcigart: fix warningDave Airlie
2008-07-08xgi: use true/false instead of TRUE/FALSEmartin capitanio
2008-07-01Revert "i915: only use tiled blits on 965+"Jesse Barnes
This reverts commit 727d4f1d1667e43b3558bd5f6ed6dc2cd9c29401, somehow git deleted the symlink and replaced it with the file.
2008-07-01i915: only use tiled blits on 965+Jesse Barnes
When scheduled swaps occur, we need to blit between front & back buffers. If the buffers are tiled, we need to set the appropriate XY_SRC_COPY tile bit, but only on 965 chips, since it will cause corruption on pre-965 (e.g. 945). Bug reported by and fix tested by Tomas Janousek <tomi@nomi.cz>. Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2008-07-01i915: enable bus mastering on i915 at resume timeJie Luo
On 9xx chips, bus mastering needs to be enabled at resume time for much of the chip to function. With this patch, vblank interrupts will work as expected on resume, along with other chip functions. Fixes kernel bugzilla #10844. Signed-off-by: Jie Luo <clotho67@gmail.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2008-06-24i915: remove unused variableJesse Barnes
Leftover dev_priv from the move of the suspend/resume code into shared-core.
2008-06-24i915: register definition & header file cleanupJesse Barnes
It would be nice if one day the DRM driver was the canonical source for register definitions and core macros. To that end, this patch cleans things up quite a bit, removing redundant definitions (some with different names referring to the same register) and generally tidying up the header file.
2008-06-22agp: use true/false instead of TRUE/FALSEDave Airlie
2008-06-20drm: only use kernel ioctl cmd when doing a core ioctl.Dave Airlie
Need to overhaul the mess that is driver ioctls
2008-06-20drm: fix the ioctl to not believe userspace.Dave Airlie
believing userspace causes oopses
2008-06-12xgi: Bump kernel versionIan Romanick
This should have been bumped when the fence interface was changed the other day. Better late than never, I suppose.
2008-06-10xgixp: Remove dependency on TTM fencesIan Romanick
2008-06-10xgi: Fix 64-bit kernel / 32-bit user issue.Ian Romanick
2008-06-10ati_pcigart: split out the page insert functionDave Airlie
2008-06-08I915 suspend/resume for FreeBSDRobert Noland
2008-06-03vblank: Don't wait or update the counter while the CRTC is supposedly disabled.Michel Dänzer
Without kernel modesetting, this requires cooperation of the userspace modesetting driver. We may have to leave the vblank interrupt enabled otherwise to avoid problems.
2008-06-03vblank: Clean up compensation for spurious wraparounds of driver counter.Michel Dänzer
Only compensate when the driver counter actually appears to have moved backwards. The compensation deltas need to be incremental instead of absolute; drop the vblank_offset field and just use atomic_sub().
2008-06-03vblank: Special-case driver vblank counter going back by 1.Michel Dänzer
Turns out the radeon driver is affected by the same problem that prompted i915 to revert to less useful counter flipping at the end of the vblank interval. In the long term, we can hopefully implement more reliable methods to achieve counter flipping at the beginning of vblank, but otherwise this should be an acceptable workaround.
2008-06-03vblank: Don't return current sequence number and time if interrupted by signal.Michel Dänzer
2008-06-03Revert "don't copy back if an error was returned."Michel Dänzer
This reverts commit 6671ad1917698b6174a1af314b63b3800d75248c. The vblank ioctl needs to update the userspace parameters when interrupted by a signal, which was prevented by this. Let's see if this breaks other ioctls...
2008-06-03drm/ati_pcigart: use proper page mapping functionDave Airlie
This should be pci_map_page not pci_map_single
2008-05-28radeon: split microcode out into a separate header file.Dave Airlie
2008-05-14ati_pcigart: oops wrong way around not that it actually matteredDave Airlie
2008-05-14ati_pcigart: stop working in the evenings you mess up too oftenDave Airlie
2008-05-14Revert "ati_pcigart: fixup properly this version might even work"Dave Airlie
This reverts commit bc0836e12a9790f1cc83f8bc29bc05043c4bc840. tree has some kref hacks in it - oops
2008-05-14ati_pcigart: fixup properly this version might even workDave Airlie
2008-05-14ati_pcigart: fill out 40-bit gart table support properlyDave Airlie
Thanks to Alex for supplying this info.
2008-05-07drm: nopage compat fixup for drm_vmDave Airlie
The kernel has removed nopage so move the old nopage codepaths into a compat vm file and switch to using the fault paths. nopfn is on its way out in the future also, so we should switch to using fault for that path as well soon
2008-04-29i915: fix off by one in VGA save/restore of AR & CR regsJesse Barnes
Turns out it's important to save/restore AR14 in particular.
2008-04-27Use fixed sized types in new ioctlsJesse Barnes
Make both crtc and the command argument 32 bits to avoid any 32-on-64 compat issues.
2008-04-23Don't disable IRQs, just tasklets, when taking the drm lock spinlock.Thomas Hellstrom
2008-04-23Fixed unlock check on EAGAINJakob Bornecrantz
2008-04-22linux-core Makefile: add GIT_REVISIONPekka Paalanen
This tries to automatically fetch a git revision string and if succeeds, it #defines GIT_REVISION string macro. Packagers can override it by 'make GIT_REVISION=foo'. Update Nouveau to use GIT_REVISION, if defined, instead of DRIVER_DATE in struct drm_driver. Signed-off-by: Pekka Paalanen <pq@iki.fi>
2008-04-14Fix buffer object map wait error.Thomas Hellstrom
Add some branch prediction hints.
2008-04-14Fix buffer object creation validation.Thomas Hellstrom
BO lock fixes.
2008-04-14Unlock the BO mutex while waiting for idle, unmapped, unfenced.Thomas Hellstrom
Move unfenced checking into idle checking. Never time out while waiting for software events like unmapped or unfenced.
2008-04-14Fix up buffer manager locking.Thomas Hellstrom
2008-04-11Save and restore dsparb and d_state regsKeith Packard
2008-04-07Missing KERNEL_VERSION macroPatrice Mandin
2008-04-07nouveau: enable accelerated move to sysmemBen Skeggs
2008-04-07nouveau: enable m2mf for tt<->vram moves, fix fence_pollBen Skeggs
2008-04-06Place highmem pages last in the ttm page array.Thomas Hellstrom
2008-04-06Use clflush() when available for cache flushing.Thomas Hellstrom
2008-04-06[I915] Fix VRAM eviction.Thomas Hellstrom
2008-04-06Fix emergency allocation accounting.Thomas Hellstrom