summaryrefslogtreecommitdiffstats
path: root/sys/dev/agp
Commit message (Collapse)AuthorAgeFilesLines
* Add support for allocating one larger than page-sized contiguous block of memoryanholt2006-05-161-26/+110
| | | | | with a physical address. This is used for hardware ARGB cursor support on newer chipsets.
* Remove various bits of conditional Alpha code and fixup a few comments.jhb2006-05-121-10/+0
|
* Add support for the Intel E7205 chipset.anholt2006-02-171-0/+6
| | | | | PR: kern/91315 Submitted by: Joerg Pulz <Joerg.Pulz@frm2.tum.de>
* Don't add an agp child in vgapci's attach routine if the PCIY_AGPjhb2006-02-011-0/+10
| | | | | | | capability is present as not all devices supported by the agp_i810 driver (such as i915) have the AGP capability. Instead, add an identify routine to the agp_i810 driver that uses the PCI ID to determine if it should create an agp child device.
* Fix a memory leak I introduced with the hostb/vgapci stuff.jhb2006-01-171-4/+8
| | | | Reported by: Coverity (via dfr's clue-bat)
* - Use PCIR_BAR() macro for the BAR for the aperture.jhb2005-12-201-7/+1
| | | | | - Axe macros used for walking PCI capabilities list. We now ask the PCI bus to find caps for us rather than doing it in the drm and agp drivers.
* - Bump FreeBSD version for the hostb(4) and vgapci(4) drivers as well asjhb2005-12-201-36/+4
| | | | | | | | | the addition of pci_find_extcap(). - Change the drm drivers to attach to vgapci. This is #ifdef'd so the code can be shared across branches. - Use pci_find_extcap() to look for AGP and PCIE capabilities in drm. - GC all the drmsub stuff for i810/i830/i915. The agp and drm devices are now both children of vgapci.
* Change the various AGP drivers that attach to the Host-PCI bridge device tojhb2005-12-208-16/+8
| | | | | | | | | attach to the hostb driver instead. This means that agp can now be loaded at runtime (in theory at least). Also, the drivers no longer have to explicity call device_verbose() to cancel out any earlier calls to device_quiet() by the hostb(4) driver (this shows a limitation in new-bus, drivers really shouldn't be doing device_quiet() until they know they are going to drive that device, i.e. in attach).
* Change the agp_find_device() to return the first agp device that has beenjhb2005-12-201-2/+11
| | | | attached to a driver rather than always returning agp0.
* Don't map the AGP aperture into contiguous KVA. The various graphicsjhb2005-12-202-4/+1
| | | | | | | | drivers already map sections into KVA as needed anyway. Note that this will probably break the nvidia driver, but I will coordinate to get that fixed. MFC after: 2 weeks
* Destroy the /dev device before destroying the mutex or releasing resourcesjhb2005-12-201-1/+2
| | | | | | rather than afterwards. MFC after: 1 week
* Use pci_find_extcap() to search for AGP capabilities (PCIY_AGP).jhb2005-12-201-25/+4
|
* Add support for i915 GMCH AGP. This diff is a combination of work by myselfanholt2005-12-022-31/+160
| | | | | | | | | | | and some fixes from Motomichi Matsuzaki. Testing involved many people, but the final, successful testing was from rwatson who endured several rounds of "it crashes at XYZ stage" "oh, please correct this typo and try again." The Linux driver, and to a small extent the limited specs, were both used as a reference for how to program the chipset. PR: kern/80396 Submitted by: Martin Mersberger
* Add support for the i855GM, tested by an r300 user.anholt2005-11-291-1/+6
|
* 0xb1881106 seems to be an AGP bridge and some BIOSes incorrectly handlejkim2005-11-141-16/+72
| | | | | the bridge. Therefore, we give the same treatment as we did for nForce3-250 and ULi chipsets. VIA AGPv3 code was copied from agp_via.c.
* - Add a work-around for nForce3-250. Aperture base address encoded in misc.jkim2005-09-272-8/+175
| | | | | | | | | | | | | | | | | control register and AGP bridge seems to be inconsistent with some BIOS. Instead of relying on BIOS settings, we just take the initial aperture size and encode them for both miscellaneous control register and AGP bridge. Some idea was borrowed from agp_nvidia.c. - Add preliminary ULi M1689 chipset support. The idea was taken from Linux because hardware and documentation are unavailable. Not tested. - Add more VIA chipset PCI IDs taken from Linux driver. Approved by: anholt (mentor) Tested by: Adam Gregoire <ebola at psychoholics dot org> Ganael Laplanche <ganael.laplanche at martymac dot com> K Wieland <kwieland at wustl dot edu>
* Add a new AGP driver for ATI IGP chipsets. The driver is based on reading ofanholt2005-09-172-0/+398
| | | | | | | | | the Linux driver, since specs are unavailable. Many thanks to Adam Kirchhoff for multiple useful testing cycles, and Ralf Wostrack for the final fix to get it working. PR: i386/75251 Submitted by: anholt
* Fix agp_nvidia.c to behave more like the linux driver, fixing DRI on Radeonanholt2005-09-161-11/+20
| | | | | | | | | | | | 9200 according to one responder. The primary issue was not setting some bits to say that the entries were active, but also fix one place where some memory wasn't being used as volatile as it should. While here, change some use of ffs to a relatively short case statement, to make it more obvious what's going on. PR: kern/71638, kern/72372, kern/71547? Submitted by: Andrew J. Caines <A.J.Caines@halplant.com>, Robin Schoonover <end@endif.cjb.net>, Jason Henson <jason@ec.rr.com>
* Make the initialization in the AGPv3 case match that of Linux. Fixes hangs onanholt2005-06-261-8/+28
| | | | | | | X startup with DRI enabled, with a v3-capable card. Tested by: Tom McLaughlin <tmclaugh@sdf.lonestar.org> Approved by: re (scottl)
* Add nForce3-250.obrien2005-04-081-0/+2
|
* nVidia AGP chipsets beyond nForce2 are AMD64-specific.obrien2005-04-022-1/+3
| | | | | | So move the AGP support to there. Submitted by: Jung-uk Kim <jkim@niksun.com>
* Add device id for the Ali M1671 host to AGP bridge.cognet2005-02-271-0/+2
|
* Fix style(9) issues with __P removal.imp2005-02-241-10/+10
| | | | Noticed by: bde
* Return BUS_PROBE_DEFAULT instead of 0.imp2005-02-248-8/+8
|
* Correct the SiS 755 PCI ID. Confirmed against Linux code.anholt2005-02-141-1/+1
| | | | | | PR: kern/76411 Submitted by: Jonathan Fosburgh, jonathan at fosburgh dot org Obtained from: Jung-uk Kim, jkim at niksun.com
* No use for this AMD64 special-case "return NULL;" in probe now that we don'tanholt2005-02-141-2/+0
| | | | do fake "generic" support.
* /* -> /*- for license, minor formatting changesimp2005-01-071-1/+1
|
* [1] Remove the generic bridge support from those drivers that had it. Theanholt2004-12-304-15/+55
| | | | | | | | | | | generic bridge support was biting us more than it helped, whenever a new chipset came out from a vendor and misprogramming it caused strange hangs or corruption. [2] Add a large number of PCI IDs based on what the linux drivers support. Note that the new PCI IDs haven't been tested, they're just *likely* to work. In particular the VIA AGP 8x chipsets are concerning, due to lack of testing, possible issues (kern/69953), and not having a nice "does this bridge say it would do 8x" function. However, this shouldn't make the situation worse, since these chips would have probed in the past anyway.
* Use VM_ALLOC_NOBUSY to eliminate an unneeded vm_page_wakeup() call and thealc2004-10-241-4/+1
| | | | synchronization that one entails.
* Avoid repeated acquisition and release of the vm object lock inside ofalc2004-10-241-5/+6
| | | | | | two loops in agp_generic_bind_memory(). As an intended side-effect, all of the calls to vm_page_wakeup() are now performed with the containing vm object lock held.
* Add PCI ID for VIA K8T800Pro chipset. Tested with agptest and X with DRIanholt2004-10-051-0/+2
| | | | enabled, but not 3D.
* Add support for Intel E7205 AGP.anholt2004-08-221-0/+6
| | | | | PR: kern/69858 Submitted by: Jacobo Arvelo <unix4all at gulic dot org>
* Fix aperture size detection on some ALi chipsets by only using the lowest 4 bitsanholt2004-08-211-4/+4
| | | | | | | | | to check aperture size, avoiding hangs. Maintain the rest of the bits when setting/unsetting ATTBASE. This essentially matches Linux's AGP driver as well. PR: kern/70037 Submitted by: Mark Tinguely <tinguely at casselton dot net> Obtained from: NetBSD
* Apply some stylistic changes based off of kern/70037 (content changes toanholt2004-08-211-10/+10
| | | | follow).
* Unconditionally support the AMD64 GART HW.obrien2004-08-193-15/+1
|
* AMD64 on-CPU GART support.obrien2004-08-165-1/+341
| | | | | | | This also applies to AMD64 HW running 'i386' OS. Submitted by: Jung-uk Kim <jkim@niksun.com> Integration by: obrien
* style.9.obrien2004-08-161-12/+8
|
* Minimal fix to prevent crashes when an AGP v2 card is used with the new v3 VIAanholt2004-08-092-1/+12
| | | | | | | | | | | | | chipsets, based on Linux's via-agp.c. On boot, the system selects which AGP version to use based on the inserted card. If v2 was chosen, the chipset needs to be programmed with the v2 registers still. Also included in kern/69953 are changes to make the programming of the v3 registers match linux, but that will be left out until the need to do so is confirmed (want specs or a tester). PR: kern/69953 Submitted by: Oleg Sharoiko <os@rsu.ru> Tested by: Oleg Sharoiko <os@rsu.ru>, Geoff Speicher <geoff@speicher.org> (full version from PR)
* Add support for the VIA Apollo KT400/400A/600 AGP host bridges which usejhb2004-07-021-0/+3
| | | | | | | the VIA v3 register offsets. PR: 68545 Submitted by: Ariff Abdullah <skywizard@mybsd.org.my>
* Do the dreaded s/dev_t/struct cdev */phk2004-06-162-5/+5
| | | | Bump __FreeBSD_version accordingly.
* Add missing <sys/module.h> includesphk2004-05-308-0/+8
|
* Use __FBSDID.mux2004-05-231-2/+3
|
* In agp_generic_bind_memory(), grab the needed pages before acquiringmux2004-05-231-30/+42
| | | | | | | the agp mutex. We do this because vm_page_grab() called with the VM_ALLOC_RETRY flag can sleep. Pointed out by: alc
* Get rid of a lockmgr consumer by making agp(4) use a standard mutex,mux2004-05-229-20/+11
| | | | | since it's always acquiring the lock exclusively. This was tested with X on an SMP box, with and without WITNESS.
* Plug three lock leaks.mux2004-05-221-0/+3
|
* Add explicit list of SiS AGP chipsets based on Linux kernel's list.anholt2004-05-191-0/+36
| | | | Prompted by: i386/59503
* Different VIA host bridges use different offsets to their AGP configjhb2004-05-132-9/+41
| | | | | | | | | | | registers, so add a register offset array to the softc. We key off the device ID to determine which set of register offsets. Currently the 8385 host bridge used on amd64 is the only bridge to use the AGP3_VIA_* register offsets and all other bridges use the AGP_VIA_* offsets. It is currently unclear if the AGP3_VIA_* offsets are for VIA bridges that implement AGP 3.0 bridges or just for amd64 bridges. Submitted by: Kenneth Culver culverk at sweetdreamsracing dot biz
* Push down the responsibility for zeroing a physical page from thealc2004-04-242-4/+0
| | | | | | | | | | | | | caller to vm_page_grab(). Although this gives VM_ALLOC_ZERO a different meaning for vm_page_grab() than for vm_page_alloc(), I feel such change is necessary to accomplish other goals. Specifically, I want to make the PG_ZERO flag immutable between the time it is allocated by vm_page_alloc() and freed by vm_page_free() or vm_page_free_zero() to avoid locking overheads. Once we gave up on the ability to automatically recognize a zeroed page upon entry to vm_page_free(), the ability to mutate the PG_ZERO flag became useless. Instead, I would like to say that "Once a page becomes valid, its PG_ZERO flag must be ignored."
* Add register definitions for the status and command registers for AGP.imp2004-04-051-0/+22
| | | | | PR: 64846 Submitted by: Samy Al Bahra
* Add the ability to disable agp devices at the loader prompt. Usage isnjl2004-04-037-0/+14
| | | | | | hint.agp.0.disabled="1" Submitted by: jhb
OpenPOWER on IntegriCloud