summaryrefslogtreecommitdiffstats
path: root/sys/dev/agp
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Before MFC'ing the previous commit, I noticed I'd left out a case.peadar2004-04-031-0/+1
| | | | | | | Add in missing case for i845G in the attach routine. I'll MFC this with the rest of the change after the 4.10 codefreeze lifts. Reviewed By: Doug Rabson
* Convert callers to the new bus_alloc_resource_any(9) API.njl2004-03-173-6/+6
| | | | | Submitted by: Mark Santcroos <marks@ripe.net> Reviewed by: imp, dfr, bde
* Recognise the 82845G AGP bridge, and poke it appropriately atpeadar2004-03-131-0/+5
| | | | | | | | | | | | attach/detach time. Assigning the default behaviour to this particular device is incorrect, corrupting the video BIOS aperture, and breaking VESA support in the kernel and XFree86. Reviewed By: dfr MFC after: 1 week PR: kern/62906
* Device megapatch 4/6:phk2004-02-211-0/+2
| | | | | | | | Introduce d_version field in struct cdevsw, this must always be initialized to D_VERSION. Flip sense of D_NOGIANT flag to D_NEEDGIANT, this involves removing four D_NOGIANT flags and adding 145 D_NEEDGIANT flags.
* Device megapatch 1/6:phk2004-02-211-2/+0
| | | | | | | Free approx 86 major numbers with a mostly automatically generated patch. A number of strategic drivers have been left behind by caution, and a few because they still (ab)use their major number.
* This is not a D_TTY driver.phk2004-02-151-1/+0
|
* - Disable AGP on ALI chipsets if aperture size is 0.anholt2003-11-112-0/+9
| | | | | | | | | - Fail in agp_alloc_gatt if the aperture size is 0 instead of panicing in contigmalloc. Reported by: Bjoern Fischer <bfischer@Techfak.Uni-Bielefeld.DE> Reviewed by: jhb MFC after: 1 week
* Add simple support for AGP 3.0 including enabling 8x mode. The simplejhb2003-10-231-13/+108
| | | | | | | | part of the support is that it still assumes one master and one target where as AGP 3.0 actually supports multiple devices on the bus. Submitted by: Keith Whitwell <keith@tungstengraphics.com> Sponsored by: The Weather Channel
* Use a switch statement on the devid instead of if-else for determing whichjhb2003-10-231-6/+18
| | | | | | code to use to see if the onboard video has been disabled or not. Submitted by: Keith Whitwell <keith@tungstengraphics.com>
* Make the i810 AGP device create a "drmsub" child device. This will be attachedanholt2003-10-021-2/+31
| | | | | | to by the DRM for i8xx devices. Submitted by: Keith Whitwell <keith@tungstengraphics.com>
* Fix a typo in r1.8: The GTLB enable/flush bit is 1<<7, not 1<<8.anholt2003-09-171-1/+1
| | | | | PR: kern/56297 Submitted by: Dan Angelescu <mrhsaacdoh@yahoo.com>
* PCI header files live in dev/pci.mdodd2003-08-231-2/+2
|
* AGP GART driver for NVIDIA nForce/nForce2 chipsets.mdodd2003-08-232-0/+466
|
* Prefer new location of pci include files (which have only been in theimp2003-08-227-14/+14
| | | | | tree for two or more years now), except in a few places where there's code to be compatible with older versions of FreeBSD.
* Sort the list of PCI ID's in numerical order and fix a whitespace bogon.jhb2003-06-271-4/+4
|
* Add a PCI ID for the Apollo Pro 133A.mdodd2003-06-231-0/+2
| | | | | PR: kern/46983 Submitted by: David Holm <david@realityrift.com>
* Add PCI IDs for the i82855 and i82875P AGP bridges.mdodd2003-06-231-0/+12
| | | | | PR: i386/53136, i386/51802 Submitted by: Kyunghwan Kim <redjade@atropos.snu.ac.kr>, Norikatsu Shigemura <nork@FreeBSD.org>
* Add vm object locking.alc2003-06-191-0/+6
|
* Add vm object locking.alc2003-06-131-1/+8
|
* Use __FBSDID().obrien2003-06-117-14/+21
|
* Fix support for 256 MB aperture sizes on chipsets such as the 845 andjhb2003-05-271-5/+16
| | | | | | | | | | | | | 865. The APSIZE register has a variable-sized field of enabled bits. To figure out how many bits a specific host bridge supports, write the maximum width and see how many bits are set in the hardware. We then use this mask for setting and getting the aperture size. Prior to this, the agp(4) driver would treat an aperture size of 256 MB as 128 MB and would not allocate enough physical memory for the GART as a result. MFC after: 3 days Sponsored by: The Weather Channel Approved by: re (rwatson)
* Grr, fix compile. The bane of trying to split out patches into twojhb2003-05-271-0/+1
| | | | | | | | commits. Reported by: Lukas Ertl <l.ertl@univie.ac.at> With hat: re Pointy hat to: jhb
* Add support for the Intel 865 chipset.jhb2003-05-272-3/+10
| | | | | | MFC after: 3 days Sponsored by: The Weather Channel Approved by: re (murray)
* - Express hard dependencies on bus (pci, isa, pccard) andmdodd2003-04-156-0/+12
| | | | | | | | network layer (ether). - Don't abuse module names to facilitate ifconfig module loading; such abuse isn't really needed. (And if we do need type information associated with a module then we should make it explicit and not use hacks.)
* Fix typo.murray2003-04-071-1/+1
| | | | | | PR: kern/50504 Submitted by: Alex Semenyaka <alexs@snark.ratmir.ru> MFC after: 3 days
* - Add vm_paddr_t, a physical address type. This is required for systemsjake2003-03-251-1/+1
| | | | | | | | | | | | | | | where physical addresses larger than virtual addresses, such as i386s with PAE. - Use this to represent physical addresses in the MI vm system and in the i386 pmap code. This also changes the paddr parameter to d_mmap_t. - Fix printf formats to handle physical addresses >4G in the i386 memory detection code, and due to kvtop returning vm_paddr_t instead of u_long. Note that this is a name change only; vm_paddr_t is still the same as vm_offset_t on all currently supported platforms. Sponsored by: DARPA, Network Associates Laboratories Discussed with: re, phk (cdevsw change)
* Add pci id# for the sis648sos2003-03-131-0/+2
|
* Gigacommit to improve device-driver source compatibility betweenphk2003-03-031-13/+7
| | | | | | | | | | | | | branches: Initialize struct cdevsw using C99 sparse initializtion and remove all initializations to default values. This patch is automatically generated and has been tested by compiling LINT with all the fields in struct cdevsw in reverse order on alpha, sparc64 and i386. Approved by: re(scottl)
* Cleanup of the d_mmap_t interface.mux2003-02-251-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | - Get rid of the useless atop() / pmap_phys_address() detour. The device mmap handlers must now give back the physical address without atop()'ing it. - Don't borrow the physical address of the mapping in the returned int. Now we properly pass a vm_offset_t * and expect it to be filled by the mmap handler when the mapping was successful. The mmap handler must now return 0 when successful, any other value is considered as an error. Previously, returning -1 was the only way to fail. This change thus accidentally fixes some devices which were bogusly returning errno constants which would have been considered as addresses by the device pager. - Garbage collect the poorly named pmap_phys_address() now that it's no longer used. - Convert all the d_mmap_t consumers to the new API. I'm still not sure wheter we need a __FreeBSD_version bump for this, since and we didn't guarantee API/ABI stability until 5.1-RELEASE. Discussed with: alc, phk, jake Reviewed by: peter Compile-tested on: LINT (i386), GENERIC (alpha and sparc64) Runtime-tested on: i386
* Back out M_* changes, per decision of the TRB.imp2003-02-192-2/+2
| | | | Approved by: trb
* Split the arch-specific AGP files into the appropriate files.* and do the sameanholt2003-02-141-0/+6
| | | | | | for the agp module, and add agp to the list of modules to compile for alpha. Add an alpha_mb() to agp_flush_cache for alpha -- it's not correct but may improve the situation, and it's what linux and NetBSD do.
* Remove an extra agp_flush_cache(). The i810 case that needs it already has it.anholt2003-02-141-5/+0
|
* Add agpreg.h missed in commit to agp_i810 (adding i85x/i86x AGP support).anholt2003-02-131-0/+26
|
* Add Intel 85x/86x AGP support.anholt2003-02-131-16/+88
| | | | Submitted by: David Dawes <dawes@xfree86.org>
* Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0.alfred2003-01-212-2/+2
| | | | Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
OpenPOWER on IntegriCloud