summaryrefslogtreecommitdiffstats
path: root/sys/pci/agp.c
Commit message (Collapse)AuthorAgeFilesLines
* - Disable AGP on ALI chipsets if aperture size is 0.anholt2003-11-111-0/+5
| | | | | | | | | - 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
* Prefer new location of pci include files (which have only been in theimp2003-08-221-2/+2
| | | | | tree for two or more years now), except in a few places where there's code to be compatible with older versions of FreeBSD.
* Add vm object locking.alc2003-06-191-0/+6
|
* Use __FBSDID().obrien2003-06-111-2/+3
|
* - 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)
* 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-191-1/+1
| | | | 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 M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0.alfred2003-01-211-1/+1
| | | | Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
* - Hold the page queues lock around vm_page_wakeup().alc2002-12-231-0/+4
|
* Remove a bunch of #include "opt_pci.h".mux2002-11-131-1/+0
|
* Include <sys/lockmgr.h> for old lock interfaces instead of depending onbde2002-08-271-0/+1
| | | | namespace pollution in <sys/lock.h>.
* o Retire vm_page_zero_fill() and vm_page_zero_fill_area(). Ever sincealc2002-08-251-1/+1
| | | | | | pmap_zero_page() and pmap_zero_page_area() were modified to accept a struct vm_page * instead of a physical address, vm_page_zero_fill() and vm_page_zero_fill_area() have served no purpose.
* o Use the VM_ALLOC_WIRED flag instead of calling vm_page_wire().alc2002-08-101-4/+1
|
* o If the page returned by vm_page_grab(VM_ALLOC_ZERO) isn't prezeroed,alc2002-07-211-0/+2
| | | | | | zero it. Reviewed by: dfr, peter
* o Lock page queue accesses by vm_page_wire().alc2002-07-141-0/+2
|
* o Complete the locking of page queue accesses by vm_page_unwire().alc2002-07-131-0/+4
| | | | | | o Assert that the page queues lock is held in vm_page_unwire(). o Make vm_page_lock_queues() and vm_page_unlock_queues() visible to kernel loadable modules.
* Allow retrieval of the virtual address of the AGP aperturemdodd2001-12-191-0/+1
| | | | | | using agp_get_info(). MFC after: 1 week
* Don't automatically unbind/deallocate memory when releasing.ru2001-11-271-10/+6
| | | | | | | This fixes the VT switching problem with the i810 X driver. Explained by: David Dawes <dawes@XFree86.Org> Reviewed by: dfr
* KSE Milestone 2julian2001-09-121-9/+9
| | | | | | | | | | | | | | Note ALL MODULES MUST BE RECOMPILED make the kernel aware that there are smaller units of scheduling than the process. (but only allow one thread per process at this time). This is functionally equivalent to teh previousl -current except that there is a thread associated with each process. Sorry john! (your next MFC will be a doosie!) Reviewed by: peter@freebsd.org, dillon@freebsd.org X-MFC after: ha ha ha ha
* Introduce a global lock for the vm subsystem (vm_mtx).alfred2001-05-191-0/+1
| | | | | | | | | | | | | | | | | | | vm_mtx does not recurse and is required for most low level vm operations. faults can not be taken without holding Giant. Memory subsystems can now call the base page allocators safely. Almost all atomic ops were removed as they are covered under the vm mutex. Alpha and ia64 now need to catch up to i386's trap handlers. FFS and NFS have been tested, other filesystems will need minor changes (grabbing the vm lock when twiddling page properties). Reviewed (partially) by: jake, jhb
* Send the remains (such as I have located) of "block major numbers" tophk2001-03-261-1/+0
| | | | the bit-bucket.
* un-staticize M_AGP so that it can be used in agp*.cassar2000-12-191-1/+1
|
* Add a missing include of <sys/proc.h>.jhb2000-12-121-0/+1
|
* Staticize some malloc M_ instances.phk2000-12-081-1/+1
|
* Remove unneeded #include <sys/proc.h> lines.phk2000-10-291-1/+0
|
* This didn't compile. Fix typo: s/rmang_get_start/rman_get_start/peter2000-10-181-1/+1
|
* Use appropriate resource management accessors instead of directlymdodd2000-10-181-2/+1
| | | | | | referencing structure members. Use rman_get_size() instead of end - start + 1.
* Convert lockmgr locks from using simple locks to using mutexes.jasone2000-10-041-0/+1
| | | | | | Add lockdestroy() and appropriate invocations, which corresponds to lockinit() and must be called to clean up after a lockmgr lock is no longer needed.
* Add support for Intel's i810 chipset with integrated graphics. Andfr2000-07-121-4/+14
| | | | | | | associated patch to XFree86 allows the X server to work with this chipset on FreeBSD. Additional work will include porting the Linux 3D driver. Submitted by: Ruslan Ermilov <ru@FreeBSD.org>
* Fix the AMD 751 AGP minidriver so that it works with my test code.dfr2000-06-101-1/+5
|
* A driver for programming the AGP hardware. This is only very lightlydfr2000-06-091-0/+790
tested on Intel BX chipsets only. The other agp minidrivers are totally untested. The programming api is a subset of the Linux api and is only intended to be enough for the X server to use. There is also an in-kernel api for the use of other kernel modules such as the 3D DRI.
OpenPOWER on IntegriCloud