summaryrefslogtreecommitdiffstats
path: root/sys/pci/agp_i810.c
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Fix breakage of CHIP_I855 in the last revision.anholt2006-06-271-3/+4
| | | | Submitted by: Ted Faber <faber@ISI.EDU>
* Replace the three copies of the list of pci ids with a single centralized list.anholt2006-06-251-143/+122
| | | | | Add the i945 PCI IDs commented out -- I think it should just work, but it hasn't been tested yet.
* 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.
* 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.
* - 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.
* Add support for i915 GMCH AGP. This diff is a combination of work by myselfanholt2005-12-021-31/+143
| | | | | | | | | | | 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
* Return BUS_PROBE_DEFAULT instead of 0.imp2005-02-241-1/+1
|
* Use VM_ALLOC_NOBUSY to eliminate an unneeded vm_page_wakeup() call and thealc2004-10-241-4/+1
| | | | synchronization that one entails.
* Add missing <sys/module.h> includesphk2004-05-301-0/+1
|
* Get rid of a lockmgr consumer by making agp(4) use a standard mutex,mux2004-05-221-1/+0
| | | | | since it's always acquiring the lock exclusively. This was tested with X on an SMP box, with and without WITNESS.
* Push down the responsibility for zeroing a physical page from thealc2004-04-241-2/+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 the ability to disable agp devices at the loader prompt. Usage isnjl2004-04-031-0/+2
| | | | | | hint.agp.0.disabled="1" Submitted by: jhb
* Convert callers to the new bus_alloc_resource_any(9) API.njl2004-03-171-2/+2
| | | | | Submitted by: Mark Santcroos <marks@ripe.net> Reviewed by: imp, dfr, bde
* 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>
* 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-131-1/+8
|
* Use __FBSDID().obrien2003-06-111-2/+3
|
* - Express hard dependencies on bus (pci, isa, pccard) andmdodd2003-04-151-0/+2
| | | | | | | | 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.)
* Back out M_* changes, per decision of the TRB.imp2003-02-191-1/+1
| | | | Approved by: trb
* Remove an extra agp_flush_cache(). The i810 case that needs it already has it.anholt2003-02-141-5/+0
|
* 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-211-1/+1
| | | | Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
* Remove a bunch of #include "opt_pci.h".mux2002-11-131-1/+0
|
* Correct an indentation.anholt2002-10-031-1/+1
| | | | Noticed by: phk
* Fix i810 after i830 commit.anholt2002-09-151-0/+2
| | | | Submitted by: David Dawes <dawes@XFree86.Org>
* Fix an i830/i845 test that shouldn't get hit in normal use and remove a printf.anholt2002-09-131-6/+4
| | | | Submitted by: David Dawes <dawes@XFree86.Org>
* Add AGP support for Intel i830M and i845 thanks to patches from moto kawasakianholt2002-09-121-49/+201
| | | | <kawasaki@mbg.sphere.ne.jp> and David Dawes <dawes@XFree86.org>.
* 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-2/+2
|
* 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/+2
| | | | | | 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.
* Make these compile again by adding proc.h include for GIANT_REQUIREDjhb2001-07-051-0/+1
| | | | that is in included vm headers.
* 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
* Added support for i815.ru2000-10-161-2/+16
|
* Add support for Intel's i810 chipset with integrated graphics. Andfr2000-07-121-0/+462
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>
OpenPOWER on IntegriCloud