summaryrefslogtreecommitdiffstats
path: root/sys/dev/agp
Commit message (Collapse)AuthorAgeFilesLines
* Add a driver for the Apple Uninorth AGP host bridge found in all PowerPCnwhitehorn2010-10-312-11/+325
| | | | Macintoshes with an AGP bus.
* Do not mention VM_ALLOC_RETRY in comment, and normalize the terminologykib2010-07-081-2/+2
| | | | | | | (blocking -> sleeping). Reviewed by: alc MFC after: 3 days
* Add a missing linefeedbrian2010-06-191-1/+1
| | | | | | PR: 147337 Submitted by: cyberleo at cyberleo dot net MFC after: 1 week
* Push down the acquisition of the page queues lock into vm_page_unwire().alc2010-05-052-6/+0
| | | | | | | Update the comment describing which lock should be held on entry to vm_page_wire(). Reviewed by: kib
* Acquire the page lock around vm_page_unwire(). For consistency, extend thealc2010-05-032-1/+7
| | | | | | | | 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
* Add support of Intel Pineview chips, aka IGD.rnoland2010-03-121-4/+20
| | | | MFC after: 3 days
* Add pci ids for Intel Ironlake chipsets.rnoland2010-03-121-0/+4
| | | | | | | | These behave just like g45 for agp. Tested by: Torfinn Ingolfsen MFC after: 3 days
* Remove extraneous semicolons, no functional changes.mbr2010-01-071-1/+1
| | | | | Submitted by: Marc Balmer <marc@msys.ch> MFC after: 1 week
* Update d_mmap() to accept vm_ooffset_t and vm_memattr_t.rnoland2009-12-291-1/+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...
* Fix a handful of issues with via agp support.rnoland2009-12-211-32/+24
| | | | | | | | | | | | | * Read the pci capability register to identify AGP 3 support * Add missing smaller aperture sizes for AGP3 chips. * Fix the aperture size calculation on AGP2 chips. All sizes between 32M and 256M reported as 256M. * Add \n to error string. This all seems to get the CLE266 EPIA-M board agp working properly, now back to work on drm. MFC after: 2 weeks
* Add pci id's for Intel G41 chipsetrnoland2009-10-111-0/+2
| | | | | Submitted by: Artyom Mirgorodsky <man@email.com.ua> MFC after: 3 days
* John Baldwin suggested that 'stolen memory' only happens in the case ofn_hibma2009-09-141-8/+6
| | | | | | | i810 and therefore is useful info there. Aperture size and stolen memory are now printed on one line. Submitted by: jhb
* Move the printing of aperture size and stolen memory behind bootverbose.n_hibma2009-09-101-9/+9
| | | | | | None of the other AGP drivers actually displays this information at all, MFC after: 1 week
* strict kobj signatures: fixes in agp driveravg2009-06-115-26/+24
| | | | | | | offset parameter has vm_offset_t type in calling code and in kobj method Reviewed by: imp, rnoland, lulf, current@ Approved by: jhb (mentor)
* Use si_drv1 instead of dev2unit() inside agp(4).ed2009-04-141-10/+6
| | | | Reviewed by: rnoland
* vm_offset_t is unsigned and therefore can not be negative.rnoland2009-03-205-10/+10
| | | | | | | | | Avoid unnessecary compares. Found with: Coverity Prevent(tm) CID: 2362,4215,4214,4209,4208,2363,4211,4210,4213,4212 MFC after: 3 days
* Fix prototypes to be consistent.imp2009-03-096-11/+11
|
* Fix AGP debugging code:wkoszek2009-02-061-3/+4
| | | | | | | | | | | | - correct format strings - fill opt_agp.h if AGP_DEBUG is defined - bring AGP_DEBUG to LINT by mentioning it in NOTES This should hopefully fix a warning that was... Found by: Coverity Prevent(tm) CID: 3676 Tested on: amd64, i386
* - Add few VIA bridges to agp_via.c and connect it to amd64 buildjkim2009-01-231-0/+9
| | | | | as they support Intel Core/Core 2 and VIA Nano processors. - Align "optional agp" in conf/files.* for consistency while I am here.
* Add support for AMD64 Family 10h processors.jkim2009-01-121-3/+5
| | | | | PR: kern/128331 MFC after: 3 days
* Fix up handling of Intel G4X chips some more.rnoland2008-12-231-5/+12
| | | | | | | | | | | Note that you need at least xf86-video-intel 2.4.3 for this to work. The G4X doesn't put the GATT into the same area of stolen memory as all the other chips and older versions of the driver didn't handle that properly. Tested by: ganbold Approved by: kib MFC after: 2 weeks
* Clear busy state on the pages which are after the one that failed the bindkib2008-12-231-3/+5
| | | | | | | | attempt. Reported and tested by: ganbold Reviewed by: rnoland MFC after: 2 weeks
* Deal with 0 length args...rnoland2008-12-211-1/+1
| | | | Approved by: kib
* Fix AGP_DEBUG macro to use c99 __VA_ARGS__ and build if enabled.rnoland2008-12-211-6/+3
| | | | Approved by: kib
* Correctly handle Intel g33 chips and add support for g45 chipsrnoland2008-10-022-19/+135
| | | | | | | | g33 based chips use a different method of identifying the gtt size. g45 based chips gtt is located in a different area of stolen memory. Approved by: jhb (mentor) MFC after: 2 weeks
* Replace all calls to minor() with dev2unit().ed2008-09-271-1/+1
| | | | | | | | | | | | | | | After I removed all the unit2minor()/minor2unit() calls from the kernel yesterday, I realised calling minor() everywhere is quite confusing. Character devices now only have the ability to store a unit number, not a minor number. Remove the confusion by using dev2unit() everywhere. This commit could also be considered as a bug fix. A lot of drivers call minor(), while they should actually be calling dev2unit(). In -CURRENT this isn't a problem, but it turns out we never had any problem reports related to that issue in the past. I suspect not many people connect more than 256 pieces of the same hardware. Reviewed by: kib
* When device_get_children returns an error, ignore that bus' children.imp2008-08-231-1/+2
|
* Enable the support for G33/Q35/Q33 now that both the G33 and Q35 have beenjhb2008-08-011-2/+0
| | | | | | | tested: PR: amd64/126090 MFC after: 1 week
* Fix PCI id for 945GME Express Integrated Graphics Controller:gonzo2008-06-201-1/+1
| | | | | | | set to 8086:27AE PR: kern/124782 Event: Bugathon#5
* Add resume support to the agp_i810 family.remko2008-03-121-0/+17
| | | | | | | Submitted by: "Robert Noland" <rnoland at 2hip dot net> Reviewed by: anholt Approved by: anholt, imp (mentor) MFC after: 1 week
* Calculate the number of pages the GATT spans when reading from each pagejhb2008-03-071-3/+4
| | | | | | | | | | | | to flush the TLB instead of hardcoding a size of 33 pages. Apertures of 32MB and 64MB only use a 16 page GATT and an aperture of 128MB only uses a 32 page GATT, so without this the code could walk off the end of the pointer and cause a page fault if the next page was unmapped. Also, for aperture sizes > 128MB, not all of the pages would be read. The Linux driver has the same bug. MFC after: 1 week Tested by: Frédéric PRACA frederic.praca of freebsd-fr.org
* Add the 845M GMCH controller.remko2007-11-261-0/+2
| | | | | | | PR: 114802 Approved by: imp (mentor), anholt (private mail) Submitted by: Alex Goncharov <algo1 at comcast dot net> MFC After: 3 days
* Move the agp(4) driver from sys/pci to sys/dev/agp. __FreeBSD_version wasjhb2007-11-1213-25/+25
| | | | | | | | | bumped to 800004 to note the change though userland apps should not be affected since they use <sys/agpio.h> rather than the headers in sys/dev/agp. Discussed with: anholt Repocopy by: simon
* Split agp_generic_detach() up into two routines: agp_free_cdev() destroysjhb2007-10-3011-38/+39
| | | | | | | | | /dev/agpgart and agp_free_res() frees resources like the BAR for the aperture. Splitting this up lets chipset-specific detach routines manipulate the aperture during their detach routines without panicing. MFC after: 1 week Reviewed by: anholt
* - Add the device ID for the VIA VT3324 (CX700) chipset.kevlo2007-09-211-21/+83
| | | | | | - Set and Get aperture size correctly for VIA's AGP3 chipsets. Approved by: re (kensmith)
* Add the PCI id for the Intel 7221's integrated graphics controller. It isalc2007-09-151-0/+2
| | | | | | | | similar to a 915G. Approved by: re (kensmith) Reviewed by: anholt MFC after: 3 weeks
* Add support for G965/Q965/GM965/GME965/GME945 AGP.anholt2007-07-134-230/+387
| | | | | | | | | | | | | | | | | | | | | | | | | | This adds a function to agp.c to set the aperture resource ID if it's not the usual AGP_APBASE. Previously, agp.c had been assuming AGP_APBASE, which resulted in incorrect agp_info, and contortions by agp_i810.c to work around it. This also adds functions to agp.c for default AGP_GET_APERTURE() and AGP_SET_APERTURE(), which return the aperture resource size and disallow aperture size changes. Moving to these for our AGP drivers will likely result in stability improvements. This should fix 855-class aperture size detection. Additionally, refuse to attach agp_i810 when some RAM is above 4GB and the GART can't reference memory that high. This should be very rare. The correct solution would be bus_dma conversion for agp, which is beyond the scope of this change. Other AGP drivers could likely use this change as well. G33/Q35/Q33 AGP support is also included, but disconnected by default due to lack of testing. PR: kern/109724 (855 aperture issue) Submitted by: FUJIMOTO Kou<fujimoto@j.dendai.ac.jp> Approved by: re (hrs)
* Restore agp aperture size after resume, in case it is modified after boot.takawata2007-01-061-1/+8
|
* - Clean up Aperture Access Global Enable (APEN) bit access.jkim2007-01-052-50/+41
| | | | | | | | | | | - Rename confusing AGP_INTEL_I845_MCHCFG to AGP_INTEL_I845_AGPM. - Move E7205 and E7505 from i8x5 to i8x0 family. It probably worked because the actual offset is the same. In fact, all three families have the bit at the exact same place. Only differences are name and width of the registers, i.e., NBXCFG (0x50, dword), RDCR (0x51, byte), AGPM (0x51, byte), MCHCFG (0x50, word) depending on the family of the chipsets.
* Fix style(9).jkim2007-01-051-61/+52
|
* Make agp_intel capable to work after resume from S3 state.takawata2007-01-051-33/+50
|
* The page queues lock is no longer required by vm_page_busy() oralc2006-10-221-4/+0
| | | | vm_page_wakeup(). Reduce or eliminate its use accordingly.
* Fix the wraparound of memsize >=2GB.tanimura2006-10-151-2/+3
|
* Fix style(9) nits.jkim2006-10-091-38/+37
|
* Fix 32-bit PTE in the GART table.jkim2006-10-091-1/+3
| | | | Noticed by: jmg
* Add support for 945G/GM AGP chipsets.anholt2006-09-271-13/+29
| | | | | | | | | | | | | | | | | The key problem was that the aperture size detection using the MSAC bit doesn't work -- the bit appears to be set even when it shouldn't be. Linux takes a different approach, testing for a bit of the GMADR (PCIR_BAR(2)) being set. However, as I don't think that's a safe way to test aperture size, we just allocate the resource and check its size. This also pointed out that agp_generic_attach hadn't been allocating our aperture resource, which may have caused problems in some cases. Also corrected is a minor copy-and-pasteo in an error case. PR: kern/103079 Submitted by: mnag Tested on: i945GM, i915GM MFC after: 2 weeks
* Add support for another ATI IGP 340M (RS200M) AGP bridge.anholt2006-09-011-1/+4
| | | | | | PR: kern/100958 Submitted by: Kazuo Dohzono <dohzono@axion-software.com> MFC after: 1 week
* Use aperture base address from north bridge. Some BIOS does not encodejkim2006-08-211-10/+5
| | | | | | | misc. control registers correctly and it is inconsistent with north bridge. In fact, there are too many broken BIOS implementations out there and we cannot fix every possible combination but at least it is consistent with what we advertise with ioctl(2).
* Explicitly set v3 mode only when it is requested. Don't bother otherwise.jkim2006-08-111-1/+6
|
* Fix breakage of CHIP_I855 in the last revision.anholt2006-06-271-3/+4
| | | | Submitted by: Ted Faber <faber@ISI.EDU>
OpenPOWER on IntegriCloud