aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/drm
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix typos - remove duplicate "the".Rebecca Cran2011-02-212-2/+2
| | | | | | | | | PR: bin/154928 Submitted by: Eitan Adler <lists at eitanadler.com> MFC after: 3 days Notes: svn path=/head/; revision=218909
* Introduce and use a new VM interface for temporarily pinning pages. ThisAlan Cox2010-12-251-25/+14
| | | | | | | | | | new interface replaces the combined use of vm_fault_quick() and pmap_extract_and_hold() throughout the kernel. In collaboration with: kib@ Notes: svn path=/head/; revision=216699
* fix atomic_set_xxx misuse in drmAndriy Gapon2010-12-111-1/+1
| | | | | | | | | | It seems that atomic_set_xxx and atomic_store_xxx were confused. Reviewed by: jhb MFC after: 3 weeks Notes: svn path=/head/; revision=216374
* Make drm(4) build, if not work reliably, on PowerPC.Nathan Whitehorn2010-11-166-11/+13
| | | | Notes: svn path=/head/; revision=215367
* Fix typos.Rebecca Cran2010-11-091-6/+6
| | | | | | | | PR: bin/148894 Submitted by: olgeni Notes: svn path=/head/; revision=215034
* Add support for ATI Radeon HD 4250.Oliver Fromme2010-08-031-0/+1
| | | | | | | | | | | PR: kern/149041 Submitted by: olli Reviewed by: rnoland Approved by: des (mentor) MFC after: 1 week Notes: svn path=/head/; revision=210819
* Push down the acquisition of the page queues lock into vm_page_unwire().Alan Cox2010-05-051-2/+0
| | | | Notes: svn path=/head/; revision=207648
* Add page locking to the vm_page_cow* functions.Alan Cox2010-05-041-2/+0
| | | | | | | | | | Push down the acquisition and release of the page queues lock into vm_page_wire(). Reviewed by: kib Notes: svn path=/head/; revision=207617
* Acquire the page lock around vm_page_unwire(). For consistency, extend theAlan Cox2010-05-031-0/+2
| | | | | | | | | | | scope of the object lock in agp_i810.c. (In this specific case, the scope of the object lock shouldn't matter, but I don't want to create a bad example that might be copied to a case where it did matter.) Reviewed by: kib Notes: svn path=/head/; revision=207574
* On Alan's advice, rather than do a wholesale conversion on a singleKip Macy2010-04-301-0/+2
| | | | | | | | | | | | | | | architecture from page queue lock to a hashed array of page locks (based on a patch by Jeff Roberson), I've implemented page lock support in the MI code and have only moved vm_page's hold_count out from under page queue mutex to page lock. This changes pmap_extract_and_hold on all pmaps. Supported by: Bitgravity Inc. Discussed with: alc, jeffr, and kib Notes: svn path=/head/; revision=207410
* fx->lock is used as an index, correct test case.Robert Noland2010-04-281-1/+1
| | | | | | | MFC after: 1 week Notes: svn path=/head/; revision=207318
* remove vm obect tracker that slipped in from prior work.Robert Noland2010-04-241-1/+0
| | | | | | | MFC after: 2 weeks Notes: svn path=/head/; revision=207156
* Address some WITNESS panics that occur when using the via driver.Robert Noland2010-04-234-8/+10
| | | | | | | | | | | Some of these cases should be safe in a non-atomic fashion, however since all of the driver ioctls are locked, a lot of work is required to fix it correctly. Just don't sleep now. MFC after: 2 weeks Notes: svn path=/head/; revision=207118
* Now that we properly set write-combining on the pages that back the GART,Robert Noland2010-04-222-5/+8
| | | | | | | | | disable snooping on radeons. MFC after: 2 weeks Notes: svn path=/head/; revision=207069
* re-write scatter gather memory allocation yet again...Robert Noland2010-04-226-112/+61
| | | | | | | | | | | | | This time, abandon the use of busdma and start interacting with the VM system directly. Make use of the new kmem_alloc_attr() which allows us to easily allocate non-contiguous pages to back the GART table. This should help a lot when starting or restarting X after the system has been running for a while and memory has become fragmented. MFC after: 2 weeks Notes: svn path=/head/; revision=207067
* Rework how drm maps are handled.Robert Noland2010-04-2223-168/+201
| | | | | | | | | | | | | | | * On 32 bit platforms we steal the upper 4 bits of the map handle to store a unique map id. * On 64 bit platforms we steal the upper 24 bits. Resolves issues where the offsets that are handed to mmap may overlap the VRAM on some cards. Tested on: radeon, intel, mga, and via. This will break nouveau. I will spin new patches shortly. Notes: svn path=/head/; revision=207066
* Fix build after typo.Robert Noland2010-03-131-1/+1
| | | | | | | | Reported by: Sergey V. Dyatko <sergey.dyatko@gmail.com> MFC after: 3 days Notes: svn path=/head/; revision=205126
* Add support for Intel Pineview chips, aka IGDRobert Noland2010-03-133-3/+15
| | | | | | | | | | | Slightly modified version of the submitted patch. PR: 143427 Submitted by: Mamoru Sumida <msumida@mvc.biglobe.ne.jp> MFC after: 3 days Notes: svn path=/head/; revision=205120
* Welcome drm support for VIA unichrome chips.Robert Noland2010-01-3114-0/+5908
| | | | | | | MFC after: 2 weeks Notes: svn path=/head/; revision=203288
* Import simple drm memory manager.Robert Noland2010-01-3111-5/+1296
| | | | | | | | | | This is required for the VIA driver and at least some parts are needed for GEM. MFC after: 2 weeks Notes: svn path=/head/; revision=203287
* Update d_mmap() to accept vm_ooffset_t and vm_memattr_t.Robert Noland2009-12-291-2/+2
| | | | | | | | | | | | | | | | This replaces d_mmap() with the d_mmap2() implementation and also changes the type of offset to vm_ooffset_t. Purge d_mmap2(). All driver modules will need to be rebuilt since D_VERSION is also bumped. Reviewed by: jhb@ MFC after: Not in this lifetime... Notes: svn path=/head/; revision=201223
* Fix botched git -> svn merge.Robert Noland2009-10-301-1/+1
| | | | | | | MFC after: 2 weeks Notes: svn path=/head/; revision=198697
* Cleanup in r600_blitRobert Noland2009-10-301-29/+39
| | | | | | | | | | | | - Don't bother to assign vb until we know we have enough space - Add variables for sx2, sy2, dx2, dy2 so that these aren't calculated over and over, also reduce chance of errors. - Use switch to assign color/format MFC after: 3 days Notes: svn path=/head/; revision=198696
* A bit of cleanup work on radeon_freelist_get()Robert Noland2009-10-301-41/+4
| | | | | | | | | | * Fix the main loop to search all buffers before sleeping. * Remove dead code MFC after: 3 days Notes: svn path=/head/; revision=198695
* Some general cleanup of scatter/gather memory allocationRobert Noland2009-10-301-44/+25
| | | | | | | | | | | | - We don't need to check malloc return values with M_WAITOK - remove variables that we don't really need - cleanup the error paths by just calling drm_sg_cleanup() - fix drm_sg_cleanup() to be safe to call at any time MFC after: 2 weeks Notes: svn path=/head/; revision=198694
* Use system specified memory barriers rather than rolling our own.Robert Noland2009-10-301-17/+3
| | | | Notes: svn path=/head/; revision=198692
* Fix blitter support for RS880 chipsRobert Noland2009-10-301-3/+3
| | | | | | | MFC after: 3 days Notes: svn path=/head/; revision=198691
* Check pointer for NULL before dereferencing it, not after.Christian Brueffer2009-10-211-1/+2
| | | | | | | | | | PR: 138383 Submitted by: Patroklos Argyroudis <argp@census-labs.com> Reviewed by: rnoland MFC after: 1 week Notes: svn path=/head/; revision=198332
* Add support for Intel G41 chipsetRobert Noland2009-10-112-1/+4
| | | | | | | | Submitted by: Artyom Mirgorodsky <man@email.com.ua> MFC after: 3 days Notes: svn path=/head/; revision=197951
* Fix offset handlingRobert Noland2009-09-281-7/+7
| | | | | | | MFC after: 1 week Notes: svn path=/head/; revision=197606
* radeon_family is an enum, so ordering can be important.Robert Noland2009-09-281-2/+2
| | | | | | | | | sync up with what amd is shipping. MFC after: 1 week Notes: svn path=/head/; revision=197605
* Fix blit pitch for 4 byte transfers on r600.Robert Noland2009-09-281-1/+1
| | | | | | | MFC after: 1 week Notes: svn path=/head/; revision=197604
* R600 doesn't support IRQs yet, so don't try to use them.Robert Noland2009-09-282-1/+19
| | | | | | | MFC after: 1 week Notes: svn path=/head/; revision=197603
* Add a couple of small fixes from the AMD folks.Robert Noland2009-09-131-4/+8
| | | | | | | | | | - max tex height is 8192 - increment src/dst by the full transfer amount MFC after: 3 days Notes: svn path=/head/; revision=197155
* Add missing pci id for Radeon 4850 X2Robert Noland2009-09-131-0/+1
| | | | | | | MFC after: 3 days Notes: svn path=/head/; revision=197154
* Add GET_PARAM support for Z pipes.Robert Noland2009-08-234-1/+19
| | | | | | | | | This is needed for occulsion queries on rv530 chips. MFC after: 2 weeks Notes: svn path=/head/; revision=196471
* Add kernel support for Radeon R6/7xx 3D.Robert Noland2009-08-237-19/+3125
| | | | | | | | | | You will still need Mesa from git and possibly an updated DDX driver, but this is working fairly well now. MFC after: 2 weeks Notes: svn path=/head/; revision=196470
* Add a read only sysctl tracking the hw.drm.msi tunable.Robert Noland2009-08-232-0/+5
| | | | | | | MFC after: 2 weeks Notes: svn path=/head/; revision=196466
* Clean up the handling of device minorsRobert Noland2009-08-234-12/+8
| | | | | | | | Submitted by: Ed MFC after: 2 weeks Notes: svn path=/head/; revision=196465
* Clean up the locking in drm_alloc_resource()Robert Noland2009-08-231-7/+15
| | | | | | | MFC after: 2 weeks Notes: svn path=/head/; revision=196464
* Temporarily revert the new-bus locking for 8.0 release. It will beJohn Baldwin2009-08-201-8/+0
| | | | | | | | | reintroduced after HEAD is reopened for commits by re@. Approved by: re (kib), attilio Notes: svn path=/head/; revision=196403
* Add support for radeon RS880 IGP chips to drm.Robert Noland2009-08-123-5/+19
| | | | | | | | Approved by: re (kib) MFC after: 0 days Notes: svn path=/head/; revision=196142
* Add some additional radeon pci ids to drm.Robert Noland2009-08-121-0/+5
| | | | | | | | Approved by: re (kib) MFC after: 0 days Notes: svn path=/head/; revision=196141
* Make the newbus subsystem Giant free by adding the new newbus sxlock.Attilio Rao2009-08-021-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The newbus lock is responsible for protecting newbus internIal structures, device states and devclass flags. It is necessary to hold it when all such datas are accessed. For the other operations, softc locking should ensure enough protection to avoid races. Newbus lock is automatically held when virtual operations on the device and bus are invoked when loading the driver or when the suspend/resume take place. For other 'spourious' operations trying to access/modify the newbus topology, newbus lock needs to be automatically acquired and dropped. For the moment Giant is also acquired in some key point (modules subsystem) in order to avoid problems before the 8.0 release as module handlers could make assumptions about it. This Giant locking should go just after the release happens. Please keep in mind that the public interface can be expanded in order to provide more support, if there are really necessities at some point and also some bugs could arise as long as the patch needs a bit of further testing. Bump __FreeBSD_version in order to reflect the newbus lock introduction. Reviewed by: ed, hps, jhb, imp, mav, scottl No answer by: ariff, thompsa, yongari Tested by: pho, G. Trematerra <giovanni dot trematerra at gmail dot com>, Brandon Gooch <jamesbrandongooch at gmail dot com> Sponsored by: Yahoo! Incorporated Approved by: re (ksmith) Notes: svn path=/head/; revision=196037
* Add support for Radeon HD 4770 (RV740) chips.Robert Noland2009-07-093-1/+40
| | | | | | | | Approved by: re@ (kib) MFC after: 3 days Notes: svn path=/head/; revision=195501
* We shouldn't need to drop and reaquire the lock here.Robert Noland2009-06-251-7/+5
| | | | | | | MFC after: 3 days Notes: svn path=/head/; revision=194996
* Some more cleanups for vblank code on Intel.Robert Noland2009-06-252-27/+18
| | | | | | | | | | | | The Intel 2d driver calls modeset before reinstalling the handler on a vt switch. This means that vblank status ends up getting cleared after it has been setup. Restore saved values for the pipestat registers rather than just wiping them out. MFC after: 3 days Notes: svn path=/head/; revision=194986
* Initialize max_vblank_count earlier.Robert Noland2009-06-252-8/+12
| | | | | | | | | Small cleanup of the error paths while I'm here. MFC after: 3 days Notes: svn path=/head/; revision=194969
* Keep track of the hardware counter more aggressively while interruptsRobert Noland2009-06-251-0/+4
| | | | | | | | | | are enabled. This should help to reduce cases where the hardware counter reference jumps by large amounts. MFC after: 3 days Notes: svn path=/head/; revision=194966
* Fix one use of atomic for refcount missed in last commit.Robert Noland2009-06-251-1/+1
| | | | | | | MFC after: 3 days Notes: svn path=/head/; revision=194965