config AGP
	tristate "/dev/agpgart (AGP Support)" if !GART_IOMMU
	depends on ALPHA || IA64 || PPC || X86
	default y if GART_IOMMU
	---help---
	  AGP (Accelerated Graphics Port) is a bus system mainly used to
	  connect graphics cards to the rest of the system.

	  If you have an AGP system and you say Y here, it will be possible to
	  use the AGP features of your 3D rendering video card. This code acts
	  as a sort of "AGP driver" for the motherboard's chipset.

	  If you need more texture memory than you can get with the AGP GART
	  (theoretically up to 256 MB, but in practice usually 64 or 128 MB
	  due to kernel allocation issues), you could use PCI accesses
	  and have up to a couple gigs of texture space.

	  Note that this is the only means to have XFree4/GLX use
	  write-combining with MTRR support on the AGP bus. Without it, OpenGL
	  direct rendering will be a lot slower but still faster than PIO.

	  You should say Y here if you use XFree86 3.3.6 or 4.x and want to
	  use GLX or DRI.  If unsure, say N.

	  To compile this driver as a module, choose M here: the
	  module will be called agpgart.

config AGP_ALI
	tristate "ALI chipset support"
	depends on AGP && X86_32
	---help---
	  This option gives you AGP support for the GLX component of
	  XFree86 4.x on the following ALi chipsets.  The supported chipsets
	  include M1541, M1621, M1631, M1632, M1641,M1647,and M1651.
	  For the ALi-chipset question, ALi suggests you refer to
	  <http://www.ali.com.tw/eng/support/index.shtml>.

	  The M1541 chipset can do AGP 1x and 2x, but note that there is an
	  acknowledged incompatibility with Matrox G200 cards. Due to
	  timing issues, this chipset cannot do AGP 2x with the G200.
	  This is a hardware limitation. AGP 1x seems to be fine, though.

	  You should say Y here if you use XFree86 3.3.6 or 4.x and want to
	  use GLX or DRI.  If unsure, say N.

config AGP_ATI
	tristate "ATI chipset support"
	depends on AGP && X86_32
	---help---
      This option gives you AGP support for the GLX component of
      XFree86 4.x on the ATI RadeonIGP family of chipsets.

      You should say Y here if you use XFree86 3.3.6 or 4.x and want to
      use GLX or DRI.  If unsure, say N.

config AGP_AMD
	tristate "AMD Irongate, 761, and 762 chipset support"
	depends on AGP && X86_32
	help
	  This option gives you AGP support for the GLX component of
	  XFree86 4.x on AMD Irongate, 761, and 762 chipsets.

	  You should say Y here if you use XFree86 3.3.6 or 4.x and want to
	  use GLX or DRI.  If unsure, say N.

config AGP_AMD64
	tristate "AMD Opteron/Athlon64 on-CPU GART support" if !GART_IOMMU
	depends on AGP && X86
	default y if GART_IOMMU
	help
	  This option gives you AGP support for the GLX component of
	  XFree86 4.x using the on-CPU northbridge of the AMD Athlon64/Opteron CPUs.
	  You still need an external AGP bridge like the AMD 8151, VIA
          K8T400M, SiS755. It may also support other AGP bridges when loaded
	  with agp_try_unsupported=1.
	  You should say Y here if you use XFree86 3.3.6 or 4.x and want to
	  use GLX or DRI.  If unsure, say Y

config AGP_INTEL
	tristate "Intel 440LX/BX/GX, I8xx and E7x05 chipset support"
	depends on AGP && X86
	help
	  This option gives you AGP support for the GLX component of XFree86 4.x
	  on Intel 440LX/BX/GX, 815, 820, 830, 840, 845, 850, 860, 875,
	  E7205 and E7505 chipsets and full support for the 810, 815, 830M, 845G,
	  852GM, 855GM, 865G and I915 integrated graphics chipsets.

	  You should say Y here if you use XFree86 3.3.6 or 4.x and want to
	  use GLX or DRI, or if you have any Intel integrated graphics
	  chipsets.  If unsure, say Y.

config AGP_NVIDIA
	tristate "NVIDIA nForce/nForce2 chipset support"
	depends on AGP && X86_32
	help
	  This option gives you AGP support for the GLX component of
	  XFree86 4.x on the following NVIDIA chipsets.  The supported chipsets
	  include nForce and nForce2

config AGP_SIS
	tristate "SiS chipset support"
	depends on AGP && X86_32
	help
	  This option gives you AGP support for the GLX component of
	  XFree86 4.x on Silicon Integrated Systems [SiS] chipsets.

	  Note that 5591/5592 AGP chipsets are NOT supported.

	  You should say Y here if you use XFree86 3.3.6 or 4.x and want to
	  use GLX or DRI.  If unsure, say N.

config AGP_SWORKS
	tristate "Serverworks LE/HE chipset support"
	depends on AGP && X86_32
	help
	  Say Y here to support the Serverworks AGP card.  See 
	  <http://www.serverworks.com/> for product descriptions and images.

config AGP_VIA
	tristate "VIA chipset support"
	depends on AGP && X86_32
	help
	  This option gives you AGP support for the GLX component of
	  XFree86 4.x on VIA MVP3/Apollo Pro chipsets.

	  You should say Y here if you use XFree86 3.3.6 or 4.x and want to
	  use GLX or DRI.  If unsure, say N.

config AGP_I460
	tristate "Intel 460GX chipset support"
	depends on AGP && (IA64_DIG || IA64_GENERIC)
	help
	  This option gives you AGP GART support for the Intel 460GX chipset
	  for IA64 processors.

config AGP_HP_ZX1
	tristate "HP ZX1 chipset AGP support"
	depends on AGP && (IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB || IA64_GENERIC)
	help
	  This option gives you AGP GART support for the HP ZX1 chipset
	  for IA64 processors.

config AGP_ALPHA_CORE
	tristate "Alpha AGP support"
	depends on AGP && (ALPHA_GENERIC || ALPHA_TITAN || ALPHA_MARVEL)
	default AGP

config AGP_UNINORTH
	tristate "Apple UniNorth & U3 AGP support"
	depends on AGP && PPC_PMAC
	help
	  This option gives you AGP support for Apple machines with a
	  UniNorth or U3 (Apple G5) bridge.

config AGP_EFFICEON
	tristate "Transmeta Efficeon support"
	depends on AGP && X86_32
	help
	  This option gives you AGP support for the Transmeta Efficeon
	  series processors with integrated northbridges.

	  You should say Y here if you use XFree86 3.3.6 or 4.x and want to
	  use GLX or DRI.  If unsure, say Y.

config AGP_SGI_TIOCA
        tristate "SGI TIO chipset AGP support"
        depends on AGP && (IA64_SGI_SN2 || IA64_GENERIC)
        help
          This option gives you AGP GART support for the SGI TIO chipset
          for IA64 processors.

