Commit d7679c17 authored by Dave Jones's avatar Dave Jones

split up the device list into two.

parent 23e77b64
This diff is collapsed.
...@@ -381,4 +381,26 @@ struct agp_bridge_data { ...@@ -381,4 +381,26 @@ struct agp_bridge_data {
#define HP_ZX1_PDIR_BASE 0x320 #define HP_ZX1_PDIR_BASE 0x320
#define HP_ZX1_CACHE_FLUSH 0x428 #define HP_ZX1_CACHE_FLUSH 0x428
struct agp_device_ids {
unsigned short device_id; /* first, to make table easier to read */
enum chipset_type chipset;
const char *chipset_name;
int (*chipset_setup) (struct pci_dev *pdev); /* used to override generic */
};
struct agp_bridge_info {
unsigned short vendor_id;
const char *vendor_name;
int (*chipset_setup) (struct pci_dev *pdev);
struct agp_device_ids *ids;
};
extern struct agp_bridge_info ali_agp_bridge_info;
extern struct agp_bridge_info amd_k8_agp_bridge_info;
extern struct agp_bridge_info amd_agp_bridge_info;
extern struct agp_bridge_info intel_agp_bridge_info;
extern struct agp_bridge_info sis_agp_bridge_info;
extern struct agp_bridge_info via_agp_bridge_info;
extern struct agp_bridge_info hp_agp_bridge_info;
#endif /* _AGP_BACKEND_PRIV_H */ #endif /* _AGP_BACKEND_PRIV_H */
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
#include <linux/init.h> #include <linux/init.h>
#include <linux/agp_backend.h> #include <linux/agp_backend.h>
#include "agp.h" #include "agp.h"
#include "ali.h"
static int ali_fetch_size(void) static int ali_fetch_size(void)
{ {
......
struct agp_device_ids ali_agp_device_ids[] __initdata =
{
{
.device_id = PCI_DEVICE_ID_AL_M1541,
.chipset = ALI_M1541,
.chipset_name = "M1541",
},
{
.device_id = PCI_DEVICE_ID_AL_M1621,
.chipset = ALI_M1621,
.chipset_name = "M1621",
},
{
.device_id = PCI_DEVICE_ID_AL_M1631,
.chipset = ALI_M1631,
.chipset_name = "M1631",
},
{
.device_id = PCI_DEVICE_ID_AL_M1632,
.chipset = ALI_M1632,
.chipset_name = "M1632",
},
{
.device_id = PCI_DEVICE_ID_AL_M1641,
.chipset = ALI_M1641,
.chipset_name = "M1641",
},
{
.device_id = PCI_DEVICE_ID_AL_M1644,
.chipset = ALI_M1644,
.chipset_name = "M1644",
},
{
.device_id = PCI_DEVICE_ID_AL_M1647,
.chipset = ALI_M1647,
.chipset_name = "M1647",
},
{
.device_id = PCI_DEVICE_ID_AL_M1651,
.chipset = ALI_M1651,
.chipset_name = "M1651",
},
{
.device_id = PCI_DEVICE_ID_AL_M1671,
.chipset = ALI_M1671,
.chipset_name = "M1671",
},
{
.device_id = 0,
.chipset = ALI_GENERIC,
.chipset_name = "Generic",
},
{ }, /* dummy final entry, always present */
};
struct agp_bridge_info ali_agp_bridge_info __initdata =
{
.vendor_id = PCI_VENDOR_ID_AL,
.vendor_name = "Ali",
.chipset_setup = ali_generic_setup,
.ids = ali_agp_device_ids,
};
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
#include <linux/init.h> #include <linux/init.h>
#include <linux/agp_backend.h> #include <linux/agp_backend.h>
#include "agp.h" #include "agp.h"
#include "amd.h"
struct amd_page_map { struct amd_page_map {
unsigned long *real; unsigned long *real;
......
struct agp_device_ids amd_agp_device_ids[] __initdata =
{
{
.device_id = PCI_DEVICE_ID_AMD_FE_GATE_7006,
.chipset = AMD_IRONGATE,
.chipset_name = "Irongate",
},
{
.device_id = PCI_DEVICE_ID_AMD_FE_GATE_700E,
.chipset = AMD_761,
.chipset_name = "761",
},
{
.device_id = PCI_DEVICE_ID_AMD_FE_GATE_700C,
.chipset = AMD_762,
.chipset_name = "760MP",
},
{
.device_id = 0,
.chipset = AMD_GENERIC,
.chipset_name = "Generic",
},
{ }, /* dummy final entry, always present */
};
struct agp_bridge_info amd_agp_bridge_info __initdata =
{
.vendor_id = PCI_VENDOR_ID_AMD,
.vendor_name = "AMD",
.chipset_setup = amd_irongate_setup,
.ids = amd_agp_device_ids,
};
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
#include <linux/init.h> #include <linux/init.h>
#include <linux/agp_backend.h> #include <linux/agp_backend.h>
#include "agp.h" #include "agp.h"
#include "hp.h"
#ifndef log2 #ifndef log2
#define log2(x) ffz(~(x)) #define log2(x) ffz(~(x))
......
struct agp_device_ids hp_agp_device_ids[] __initdata =
{
{
.device_id = PCI_DEVICE_ID_HP_ZX1_LBA,
.chipset = HP_ZX1,
.chipset_name = "ZX1",
},
{ }, /* dummy final entry, always present */
};
struct agp_bridge_info hp_agp_bridge_info __initdata =
{
.vendor_id = PCI_VENDOR_ID_HP,
.vendor_name = "HP",
.chipset_setup = hp_zx1_setup,
.ids = hp_agp_device_ids,
};
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
#include <linux/init.h> #include <linux/init.h>
#include <linux/agp_backend.h> #include <linux/agp_backend.h>
#include "agp.h" #include "agp.h"
#include "i8x0.h"
static int intel_fetch_size(void) static int intel_fetch_size(void)
{ {
......
struct agp_device_ids intel_agp_device_ids[] __initdata =
{
{
.device_id = PCI_DEVICE_ID_INTEL_82443LX_0,
.chipset = INTEL_LX,
.chipset_name = "440LX",
},
{
.device_id = PCI_DEVICE_ID_INTEL_82443BX_0,
.chipset = INTEL_BX,
.chipset_name = "440BX",
},
{
.device_id = PCI_DEVICE_ID_INTEL_82443GX_0,
.chipset = INTEL_GX,
.chipset_name = "440GX",
},
{
.device_id = PCI_DEVICE_ID_INTEL_82815_MC,
.chipset = INTEL_I815,
.chipset_name = "i815",
.chipset_setup = intel_815_setup
},
{
.device_id = PCI_DEVICE_ID_INTEL_82820_HB,
.chipset = INTEL_I820,
.chipset_name = "i820",
.chipset_setup = intel_820_setup
},
{
.device_id = PCI_DEVICE_ID_INTEL_82820_UP_HB,
.chipset = INTEL_I820,
.chipset_name = "i820",
.chipset_setup = intel_820_setup
},
{
.device_id = PCI_DEVICE_ID_INTEL_82830_HB,
.chipset = INTEL_I830_M,
.chipset_name = "i830M",
.chipset_setup = intel_830mp_setup
},
{
.device_id = PCI_DEVICE_ID_INTEL_82845G_HB,
.chipset = INTEL_I845_G,
.chipset_name = "i845G",
.chipset_setup = intel_830mp_setup
},
{
.device_id = PCI_DEVICE_ID_INTEL_82840_HB,
.chipset = INTEL_I840,
.chipset_name = "i840",
.chipset_setup = intel_840_setup
},
{
.device_id = PCI_DEVICE_ID_INTEL_82845_HB,
.chipset = INTEL_I845,
.chipset_name = "i845",
.chipset_setup = intel_845_setup
},
{
.device_id = PCI_DEVICE_ID_INTEL_82850_HB,
.chipset = INTEL_I850,
.chipset_name = "i850",
.chipset_setup = intel_850_setup
},
{
.device_id = PCI_DEVICE_ID_INTEL_82860_HB,
.chipset = INTEL_I860,
.chipset_name = "i860",
.chipset_setup = intel_860_setup
},
{
.device_id = 0,
.chipset = INTEL_GENERIC,
.chipset_name = "Generic",
},
{ }, /* dummy final entry, always present */
};
struct agp_bridge_info intel_agp_bridge_info __initdata =
{
.vendor_id = PCI_VENDOR_ID_INTEL,
.vendor_name = "Intel",
.chipset_setup = intel_generic_setup,
.ids = intel_agp_device_ids,
};
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
#include <linux/init.h> #include <linux/init.h>
#include <linux/agp_backend.h> #include <linux/agp_backend.h>
#include "agp.h" #include "agp.h"
#include "k8-agp.h"
extern int agp_memory_reserved; extern int agp_memory_reserved;
extern __u32 *agp_gatt_table; extern __u32 *agp_gatt_table;
......
struct agp_device_ids amd_k8_device_ids[] __initdata =
{
{
.device_id = PCI_DEVICE_ID_AMD_8151_0,
.chipset = AMD_8151,
.chipset_name = "8151",
},
{ }, /* dummy final entry, always present */
};
struct agp_bridge_info amd_k8_agp_bridge_info[] __initdata =
{
.vendor_id = PCI_VENDOR_ID_AMD,
.vendor_name = "AMD",
.chipset_setup = amd_8151_setup,
.ids = amd_k8_device_ids,
};
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
#include <linux/init.h> #include <linux/init.h>
#include <linux/agp_backend.h> #include <linux/agp_backend.h>
#include "agp.h" #include "agp.h"
#include "sis.h"
static int sis_fetch_size(void) static int sis_fetch_size(void)
{ {
......
struct agp_device_ids sis_agp_device_ids[] __initdata =
{
{
.device_id = PCI_DEVICE_ID_SI_740,
.chipset = SIS_GENERIC,
.chipset_name = "740",
},
{
.device_id = PCI_DEVICE_ID_SI_650,
.chipset = SIS_GENERIC,
.chipset_name = "650",
},
{
.device_id = PCI_DEVICE_ID_SI_645,
.chipset = SIS_GENERIC,
.chipset_name = "645",
},
{
.device_id = PCI_DEVICE_ID_SI_735,
.chipset = SIS_GENERIC,
.chipset_name = "735",
},
{
.device_id = PCI_DEVICE_ID_SI_745,
.chipset = SIS_GENERIC,
.chipset_name = "745",
},
{
.device_id = PCI_DEVICE_ID_SI_730,
.chipset = SIS_GENERIC,
.chipset_name = "730",
},
{
.device_id = PCI_DEVICE_ID_SI_630,
.chipset = SIS_GENERIC,
.chipset_name = "630",
},
{
.device_id = PCI_DEVICE_ID_SI_540,
.chipset = SIS_GENERIC,
.chipset_name = "540",
},
{
.device_id = PCI_DEVICE_ID_SI_620,
.chipset = SIS_GENERIC,
.chipset_name = "620",
},
{
.device_id = PCI_DEVICE_ID_SI_530,
.chipset = SIS_GENERIC,
.chipset_name = "530",
},
{
.device_id = PCI_DEVICE_ID_SI_550,
.chipset = SIS_GENERIC,
.chipset_name = "550",
},
{
.device_id = 0,
.chipset = SIS_GENERIC,
.chipset_name = "Generic",
},
{ }, /* dummy final entry, always present */
};
struct agp_bridge_info sis_agp_bridge_info __initdata =
{
.vendor_id = PCI_VENDOR_ID_SI,
.vendor_name = "SiS",
.chipset_setup = sis_generic_setup,
.ids = sis_agp_device_ids,
};
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
#include <linux/init.h> #include <linux/init.h>
#include <linux/agp_backend.h> #include <linux/agp_backend.h>
#include "agp.h" #include "agp.h"
#include "via.h"
static int via_fetch_size(void) static int via_fetch_size(void)
......
struct agp_device_ids via_agp_device_ids[] __initdata =
{
{
.device_id = PCI_DEVICE_ID_VIA_8501_0,
.chipset = VIA_MVP4,
.chipset_name = "MVP4",
},
{
.device_id = PCI_DEVICE_ID_VIA_82C597_0,
.chipset = VIA_VP3,
.chipset_name = "VP3",
},
{
.device_id = PCI_DEVICE_ID_VIA_82C598_0,
.chipset = VIA_MVP3,
.chipset_name = "MVP3",
},
{
.device_id = PCI_DEVICE_ID_VIA_82C691,
.chipset = VIA_APOLLO_PRO,
.chipset_name = "Apollo Pro",
},
{
.device_id = PCI_DEVICE_ID_VIA_8371_0,
.chipset = VIA_APOLLO_KX133,
.chipset_name = "Apollo Pro KX133",
},
{
.device_id = PCI_DEVICE_ID_VIA_8363_0,
.chipset = VIA_APOLLO_KT133,
.chipset_name = "Apollo Pro KT133",
},
{
.device_id = PCI_DEVICE_ID_VIA_8367_0,
.chipset = VIA_APOLLO_KT133,
.chipset_name = "Apollo Pro KT266",
},
{
.device_id = PCI_DEVICE_ID_VIA_8377_0,
.chipset = VIA_APOLLO_KT400,
.chipset_name = "Apollo Pro KT400",
},
{
.device_id = PCI_DEVICE_ID_VIA_8653_0,
.chipset = VIA_APOLLO_PRO,
.chipset_name = "Apollo Pro266T",
},
{
.device_id = 0,
.chipset = VIA_GENERIC,
.chipset_name = "Generic",
},
{ }, /* dummy final entry, always present */
};
struct agp_bridge_info via_agp_bridge_info __initdata =
{
.vendor_id = PCI_VENDOR_ID_VIA,
.vendor_name = "Via",
.chipset_setup = via_generic_setup,
.ids = via_agp_device_ids,
};
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment