Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F153812497
D5586.id14267.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
20 KB
Referenced Files
None
Subscribers
None
D5586.id14267.diff
View Options
Index: head/sys/dev/agp/agp_i810.c
===================================================================
--- head/sys/dev/agp/agp_i810.c
+++ head/sys/dev/agp/agp_i810.c
@@ -86,7 +86,6 @@
static int agp_i810_check_active(device_t bridge_dev);
static int agp_i830_check_active(device_t bridge_dev);
static int agp_i915_check_active(device_t bridge_dev);
-static int agp_sb_check_active(device_t bridge_dev);
static void agp_82852_set_desc(device_t dev,
const struct agp_i810_match *match);
@@ -97,12 +96,10 @@
static void agp_i855_dump_regs(device_t dev);
static void agp_i915_dump_regs(device_t dev);
static void agp_i965_dump_regs(device_t dev);
-static void agp_sb_dump_regs(device_t dev);
static int agp_i810_get_stolen_size(device_t dev);
static int agp_i830_get_stolen_size(device_t dev);
static int agp_i915_get_stolen_size(device_t dev);
-static int agp_sb_get_stolen_size(device_t dev);
static int agp_i810_get_gtt_mappable_entries(device_t dev);
static int agp_i830_get_gtt_mappable_entries(device_t dev);
@@ -111,7 +108,6 @@
static int agp_i810_get_gtt_total_entries(device_t dev);
static int agp_i965_get_gtt_total_entries(device_t dev);
static int agp_gen5_get_gtt_total_entries(device_t dev);
-static int agp_sb_get_gtt_total_entries(device_t dev);
static int agp_i810_install_gatt(device_t dev);
static int agp_i830_install_gatt(device_t dev);
@@ -131,14 +127,11 @@
vm_offset_t physical, int flags);
static void agp_g4x_install_gtt_pte(device_t dev, u_int index,
vm_offset_t physical, int flags);
-static void agp_sb_install_gtt_pte(device_t dev, u_int index,
- vm_offset_t physical, int flags);
static void agp_i810_write_gtt(device_t dev, u_int index, uint32_t pte);
static void agp_i915_write_gtt(device_t dev, u_int index, uint32_t pte);
static void agp_i965_write_gtt(device_t dev, u_int index, uint32_t pte);
static void agp_g4x_write_gtt(device_t dev, u_int index, uint32_t pte);
-static void agp_sb_write_gtt(device_t dev, u_int index, uint32_t pte);
static u_int32_t agp_i810_read_gtt_pte(device_t dev, u_int index);
static u_int32_t agp_i915_read_gtt_pte(device_t dev, u_int index);
@@ -147,7 +140,6 @@
static vm_paddr_t agp_i810_read_gtt_pte_paddr(device_t dev, u_int index);
static vm_paddr_t agp_i915_read_gtt_pte_paddr(device_t dev, u_int index);
-static vm_paddr_t agp_sb_read_gtt_pte_paddr(device_t dev, u_int index);
static int agp_i810_set_aperture(device_t dev, u_int32_t aperture);
static int agp_i830_set_aperture(device_t dev, u_int32_t aperture);
@@ -174,7 +166,6 @@
CHIP_G33, /* G33/Q33/Q35 */
CHIP_IGD, /* Pineview */
CHIP_G4X, /* G45/Q45 */
- CHIP_SB, /* SandyBridge */
};
/* The i810 through i855 have the registers at BAR 1, and the GATT gets
@@ -196,12 +187,7 @@
static struct resource_spec agp_i965_res_spec[] = {
{ SYS_RES_MEMORY, AGP_I965_GTTMMADR, RF_ACTIVE | RF_SHAREABLE },
- { -1, 0 }
-};
-
-static struct resource_spec agp_g4x_res_spec[] = {
- { SYS_RES_MEMORY, AGP_G4X_MMADR, RF_ACTIVE | RF_SHAREABLE },
- { SYS_RES_MEMORY, AGP_G4X_GTTADR, RF_ACTIVE | RF_SHAREABLE },
+ { SYS_RES_MEMORY, AGP_I965_APBASE, RF_ACTIVE | RF_SHAREABLE },
{ -1, 0 }
};
@@ -392,22 +378,22 @@
.chipset_flush = agp_i915_chipset_flush,
};
-static const struct agp_i810_driver agp_i810_g965_driver = {
- .chiptype = CHIP_I965,
- .gen = 4,
+static const struct agp_i810_driver agp_i810_g33_driver = {
+ .chiptype = CHIP_G33,
+ .gen = 3,
.busdma_addr_mask_sz = 36,
- .res_spec = agp_i965_res_spec,
+ .res_spec = agp_i915_res_spec,
.check_active = agp_i915_check_active,
.set_desc = agp_i810_set_desc,
.dump_regs = agp_i965_dump_regs,
.get_stolen_size = agp_i915_get_stolen_size,
.get_gtt_mappable_entries = agp_i915_get_gtt_mappable_entries,
.get_gtt_total_entries = agp_i965_get_gtt_total_entries,
- .install_gatt = agp_i965_install_gatt,
+ .install_gatt = agp_i830_install_gatt,
.deinstall_gatt = agp_i830_deinstall_gatt,
- .write_gtt = agp_i965_write_gtt,
- .install_gtt_pte = agp_i965_install_gtt_pte,
- .read_gtt_pte = agp_i965_read_gtt_pte,
+ .write_gtt = agp_i915_write_gtt,
+ .install_gtt_pte = agp_i915_install_gtt_pte,
+ .read_gtt_pte = agp_i915_read_gtt_pte,
.read_gtt_pte_paddr = agp_i915_read_gtt_pte_paddr,
.set_aperture = agp_i915_set_aperture,
.chipset_flush_setup = agp_i965_chipset_flush_setup,
@@ -415,14 +401,14 @@
.chipset_flush = agp_i915_chipset_flush,
};
-static const struct agp_i810_driver agp_i810_g33_driver = {
- .chiptype = CHIP_G33,
+static const struct agp_i810_driver agp_i810_igd_driver = {
+ .chiptype = CHIP_IGD,
.gen = 3,
.busdma_addr_mask_sz = 36,
.res_spec = agp_i915_res_spec,
.check_active = agp_i915_check_active,
.set_desc = agp_i810_set_desc,
- .dump_regs = agp_i965_dump_regs,
+ .dump_regs = agp_i915_dump_regs,
.get_stolen_size = agp_i915_get_stolen_size,
.get_gtt_mappable_entries = agp_i915_get_gtt_mappable_entries,
.get_gtt_total_entries = agp_i965_get_gtt_total_entries,
@@ -438,22 +424,22 @@
.chipset_flush = agp_i915_chipset_flush,
};
-static const struct agp_i810_driver agp_i810_igd_driver = {
- .chiptype = CHIP_IGD,
- .gen = 3,
+static const struct agp_i810_driver agp_i810_g965_driver = {
+ .chiptype = CHIP_I965,
+ .gen = 4,
.busdma_addr_mask_sz = 36,
- .res_spec = agp_i915_res_spec,
+ .res_spec = agp_i965_res_spec,
.check_active = agp_i915_check_active,
.set_desc = agp_i810_set_desc,
- .dump_regs = agp_i915_dump_regs,
+ .dump_regs = agp_i965_dump_regs,
.get_stolen_size = agp_i915_get_stolen_size,
.get_gtt_mappable_entries = agp_i915_get_gtt_mappable_entries,
.get_gtt_total_entries = agp_i965_get_gtt_total_entries,
- .install_gatt = agp_i830_install_gatt,
+ .install_gatt = agp_i965_install_gatt,
.deinstall_gatt = agp_i830_deinstall_gatt,
- .write_gtt = agp_i915_write_gtt,
- .install_gtt_pte = agp_i915_install_gtt_pte,
- .read_gtt_pte = agp_i915_read_gtt_pte,
+ .write_gtt = agp_i965_write_gtt,
+ .install_gtt_pte = agp_i965_install_gtt_pte,
+ .read_gtt_pte = agp_i965_read_gtt_pte,
.read_gtt_pte_paddr = agp_i915_read_gtt_pte_paddr,
.set_aperture = agp_i915_set_aperture,
.chipset_flush_setup = agp_i965_chipset_flush_setup,
@@ -484,75 +470,6 @@
.chipset_flush = agp_i915_chipset_flush,
};
-static const struct agp_i810_driver agp_i810_sb_driver = {
- .chiptype = CHIP_SB,
- .gen = 6,
- .busdma_addr_mask_sz = 40,
- .res_spec = agp_g4x_res_spec,
- .check_active = agp_sb_check_active,
- .set_desc = agp_i810_set_desc,
- .dump_regs = agp_sb_dump_regs,
- .get_stolen_size = agp_sb_get_stolen_size,
- .get_gtt_mappable_entries = agp_i915_get_gtt_mappable_entries,
- .get_gtt_total_entries = agp_sb_get_gtt_total_entries,
- .install_gatt = agp_g4x_install_gatt,
- .deinstall_gatt = agp_i830_deinstall_gatt,
- .write_gtt = agp_sb_write_gtt,
- .install_gtt_pte = agp_sb_install_gtt_pte,
- .read_gtt_pte = agp_g4x_read_gtt_pte,
- .read_gtt_pte_paddr = agp_sb_read_gtt_pte_paddr,
- .set_aperture = agp_i915_set_aperture,
- .chipset_flush_setup = agp_i810_chipset_flush_setup,
- .chipset_flush_teardown = agp_i810_chipset_flush_teardown,
- .chipset_flush = agp_i810_chipset_flush,
-};
-
-static const struct agp_i810_driver agp_i810_hsw_driver = {
- .chiptype = CHIP_SB,
- .gen = 7,
- .busdma_addr_mask_sz = 40,
- .res_spec = agp_g4x_res_spec,
- .check_active = agp_sb_check_active,
- .set_desc = agp_i810_set_desc,
- .dump_regs = agp_sb_dump_regs,
- .get_stolen_size = agp_sb_get_stolen_size,
- .get_gtt_mappable_entries = agp_i915_get_gtt_mappable_entries,
- .get_gtt_total_entries = agp_sb_get_gtt_total_entries,
- .install_gatt = agp_g4x_install_gatt,
- .deinstall_gatt = agp_i830_deinstall_gatt,
- .write_gtt = agp_sb_write_gtt,
- .install_gtt_pte = agp_sb_install_gtt_pte,
- .read_gtt_pte = agp_g4x_read_gtt_pte,
- .read_gtt_pte_paddr = agp_sb_read_gtt_pte_paddr,
- .set_aperture = agp_i915_set_aperture,
- .chipset_flush_setup = agp_i810_chipset_flush_setup,
- .chipset_flush_teardown = agp_i810_chipset_flush_teardown,
- .chipset_flush = agp_i810_chipset_flush,
-};
-
-static const struct agp_i810_driver agp_i810_valleyview_driver = {
- .chiptype = CHIP_SB,
- .gen = 7,
- .busdma_addr_mask_sz = 40,
- .res_spec = agp_g4x_res_spec,
- .check_active = agp_sb_check_active,
- .set_desc = agp_i810_set_desc,
- .dump_regs = agp_sb_dump_regs,
- .get_stolen_size = agp_sb_get_stolen_size,
- .get_gtt_mappable_entries = agp_i915_get_gtt_mappable_entries,
- .get_gtt_total_entries = agp_sb_get_gtt_total_entries,
- .install_gatt = agp_g4x_install_gatt,
- .deinstall_gatt = agp_i830_deinstall_gatt,
- .write_gtt = agp_sb_write_gtt,
- .install_gtt_pte = agp_sb_install_gtt_pte,
- .read_gtt_pte = agp_g4x_read_gtt_pte,
- .read_gtt_pte_paddr = agp_sb_read_gtt_pte_paddr,
- .set_aperture = agp_i915_set_aperture,
- .chipset_flush_setup = agp_i810_chipset_flush_setup,
- .chipset_flush_teardown = agp_i810_chipset_flush_teardown,
- .chipset_flush = agp_i810_chipset_flush,
-};
-
/* For adding new devices, devid is the id of the graphics controller
* (pci:0:2:0, for example). The placeholder (usually at pci:0:2:1) for the
* second head should never be added. The bridge_offset is the offset to
@@ -724,266 +641,6 @@
.driver = &agp_i810_g4x_driver
},
{
- .devid = 0x01028086,
- .name = "SandyBridge desktop GT1 IG",
- .driver = &agp_i810_sb_driver
- },
- {
- .devid = 0x01128086,
- .name = "SandyBridge desktop GT2 IG",
- .driver = &agp_i810_sb_driver
- },
- {
- .devid = 0x01228086,
- .name = "SandyBridge desktop GT2+ IG",
- .driver = &agp_i810_sb_driver
- },
- {
- .devid = 0x01068086,
- .name = "SandyBridge mobile GT1 IG",
- .driver = &agp_i810_sb_driver
- },
- {
- .devid = 0x01168086,
- .name = "SandyBridge mobile GT2 IG",
- .driver = &agp_i810_sb_driver
- },
- {
- .devid = 0x01268086,
- .name = "SandyBridge mobile GT2+ IG",
- .driver = &agp_i810_sb_driver
- },
- {
- .devid = 0x010a8086,
- .name = "SandyBridge server IG",
- .driver = &agp_i810_sb_driver
- },
- {
- .devid = 0x01528086,
- .name = "IvyBridge desktop GT1 IG",
- .driver = &agp_i810_sb_driver
- },
- {
- .devid = 0x01628086,
- .name = "IvyBridge desktop GT2 IG",
- .driver = &agp_i810_sb_driver
- },
- {
- .devid = 0x01568086,
- .name = "IvyBridge mobile GT1 IG",
- .driver = &agp_i810_sb_driver
- },
- {
- .devid = 0x01668086,
- .name = "IvyBridge mobile GT2 IG",
- .driver = &agp_i810_sb_driver
- },
- {
- .devid = 0x015a8086,
- .name = "IvyBridge server GT1 IG",
- .driver = &agp_i810_sb_driver
- },
- {
- .devid = 0x016a8086,
- .name = "IvyBridge server GT2 IG",
- .driver = &agp_i810_sb_driver
- },
- {
- .devid = 0x04028086,
- .name = "Haswell GT1 desktop",
- .driver = &agp_i810_hsw_driver
- },
- {
- .devid = 0x04068086,
- .name = "Haswell GT1 mobile",
- .driver = &agp_i810_hsw_driver
- },
- {
- .devid = 0x040A8086,
- .name = "Haswell GT1 server",
- .driver = &agp_i810_hsw_driver
- },
- {
- .devid = 0x04128086,
- .name = "Haswell GT2 desktop",
- .driver = &agp_i810_hsw_driver
- },
- {
- .devid = 0x04168086,
- .name = "Haswell GT2 mobile",
- .driver = &agp_i810_hsw_driver
- },
- {
- .devid = 0x041A8086,
- .name = "Haswell GT2 server",
- .driver = &agp_i810_hsw_driver
- },
- {
- .devid = 0x04228086,
- .name = "Haswell GT2 desktop",
- .driver = &agp_i810_hsw_driver
- },
- {
- .devid = 0x04268086,
- .name = "Haswell GT2 mobile",
- .driver = &agp_i810_hsw_driver
- },
- {
- .devid = 0x042A8086,
- .name = "Haswell GT2 server",
- .driver = &agp_i810_hsw_driver
- },
- {
- .devid = 0x0A028086,
- .name = "Haswell ULT GT1 desktop",
- .driver = &agp_i810_hsw_driver
- },
- {
- .devid = 0x0A068086,
- .name = "Haswell ULT GT1 mobile",
- .driver = &agp_i810_hsw_driver
- },
- {
- .devid = 0x0A0A8086,
- .name = "Haswell ULT GT1 server",
- .driver = &agp_i810_hsw_driver
- },
- {
- .devid = 0x0A128086,
- .name = "Haswell ULT GT2 desktop",
- .driver = &agp_i810_hsw_driver
- },
- {
- .devid = 0x0A168086,
- .name = "Haswell ULT GT2 mobile",
- .driver = &agp_i810_hsw_driver
- },
- {
- .devid = 0x0A1A8086,
- .name = "Haswell ULT GT2 server",
- .driver = &agp_i810_hsw_driver
- },
- {
- .devid = 0x0A228086,
- .name = "Haswell ULT GT2 desktop",
- .driver = &agp_i810_hsw_driver
- },
- {
- .devid = 0x0A268086,
- .name = "Haswell ULT GT2 mobile",
- .driver = &agp_i810_hsw_driver
- },
- {
- .devid = 0x0A2A8086,
- .name = "Haswell ULT GT2 server",
- .driver = &agp_i810_hsw_driver
- },
- {
- .devid = 0x0C028086,
- .name = "Haswell SDV GT1 desktop",
- .driver = &agp_i810_hsw_driver
- },
- {
- .devid = 0x0C068086,
- .name = "Haswell SDV GT1 mobile",
- .driver = &agp_i810_hsw_driver
- },
- {
- .devid = 0x0C0A8086,
- .name = "Haswell SDV GT1 server",
- .driver = &agp_i810_hsw_driver
- },
- {
- .devid = 0x0C128086,
- .name = "Haswell SDV GT2 desktop",
- .driver = &agp_i810_hsw_driver
- },
- {
- .devid = 0x0C168086,
- .name = "Haswell SDV GT2 mobile",
- .driver = &agp_i810_hsw_driver
- },
- {
- .devid = 0x0C1A8086,
- .name = "Haswell SDV GT2 server",
- .driver = &agp_i810_hsw_driver
- },
- {
- .devid = 0x0C228086,
- .name = "Haswell SDV GT2 desktop",
- .driver = &agp_i810_hsw_driver
- },
- {
- .devid = 0x0C268086,
- .name = "Haswell SDV GT2 mobile",
- .driver = &agp_i810_hsw_driver
- },
- {
- .devid = 0x0C2A8086,
- .name = "Haswell SDV GT2 server",
- .driver = &agp_i810_hsw_driver
- },
- {
- .devid = 0x0D028086,
- .name = "Haswell CRW GT1 desktop",
- .driver = &agp_i810_hsw_driver
- },
- {
- .devid = 0x0D068086,
- .name = "Haswell CRW GT1 mobile",
- .driver = &agp_i810_hsw_driver
- },
- {
- .devid = 0x0D0A8086,
- .name = "Haswell CRW GT1 server",
- .driver = &agp_i810_hsw_driver
- },
- {
- .devid = 0x0D128086,
- .name = "Haswell CRW GT2 desktop",
- .driver = &agp_i810_hsw_driver
- },
- {
- .devid = 0x0D168086,
- .name = "Haswell CRW GT2 mobile",
- .driver = &agp_i810_hsw_driver
- },
- {
- .devid = 0x0D1A8086,
- .name = "Haswell CRW GT2 server",
- .driver = &agp_i810_hsw_driver
- },
- {
- .devid = 0x0D228086,
- .name = "Haswell CRW GT2 desktop",
- .driver = &agp_i810_hsw_driver
- },
- {
- .devid = 0x0D268086,
- .name = "Haswell CRW GT2 mobile",
- .driver = &agp_i810_hsw_driver
- },
- {
- .devid = 0x0D2A8086,
- .name = "Haswell CRW GT2 server",
- .driver = &agp_i810_hsw_driver
- },
- {
- .devid = 0x01558086,
- .name = "Valleyview (desktop)",
- .driver = &agp_i810_valleyview_driver
- },
- {
- .devid = 0x01578086,
- .name = "Valleyview (mobile)",
- .driver = &agp_i810_valleyview_driver
- },
- {
- .devid = 0x0F308086,
- .name = "Valleyview (mobile)",
- .driver = &agp_i810_valleyview_driver
- },
- {
.devid = 0,
}
};
@@ -1061,17 +718,6 @@
return (0);
}
-static int
-agp_sb_check_active(device_t bridge_dev)
-{
- int deven;
-
- deven = pci_read_config(bridge_dev, AGP_I915_DEVEN, 4);
- if ((deven & AGP_SB_DEVEN_D2EN) == AGP_SB_DEVEN_D2EN_DISABLED)
- return (ENXIO);
- return (0);
-}
-
static void
agp_82852_set_desc(device_t dev, const struct agp_i810_match *match)
{
@@ -1200,17 +846,6 @@
pci_read_config(sc->bdev, AGP_I965_MSAC, 1));
}
-static void
-agp_sb_dump_regs(device_t dev)
-{
- struct agp_i810_softc *sc = device_get_softc(dev);
-
- device_printf(dev, "AGP_SNB_GFX_MODE: %08x\n",
- bus_read_4(sc->sc_res[0], AGP_SNB_GFX_MODE));
- device_printf(dev, "AGP_SNB_GCC1: 0x%04x\n",
- pci_read_config(sc->bdev, AGP_SNB_GCC1, 2));
-}
-
static int
agp_i810_get_stolen_size(device_t dev)
{
@@ -1236,11 +871,11 @@
sc->stolen = (512 - 132) * 1024 / 4096;
sc->stolen_size = 512 * 1024;
break;
- case AGP_I830_GCC1_GMS_STOLEN_1024:
+ case AGP_I830_GCC1_GMS_STOLEN_1024:
sc->stolen = (1024 - 132) * 1024 / 4096;
sc->stolen_size = 1024 * 1024;
break;
- case AGP_I830_GCC1_GMS_STOLEN_8192:
+ case AGP_I830_GCC1_GMS_STOLEN_8192:
sc->stolen = (8192 - 132) * 1024 / 4096;
sc->stolen_size = 8192 * 1024;
break;
@@ -1396,68 +1031,6 @@
}
static int
-agp_sb_get_stolen_size(device_t dev)
-{
- struct agp_i810_softc *sc;
- uint16_t gmch_ctl;
-
- sc = device_get_softc(dev);
- gmch_ctl = pci_read_config(sc->bdev, AGP_SNB_GCC1, 2);
- switch (gmch_ctl & AGP_SNB_GMCH_GMS_STOLEN_MASK) {
- case AGP_SNB_GMCH_GMS_STOLEN_32M:
- sc->stolen_size = 32 * 1024 * 1024;
- break;
- case AGP_SNB_GMCH_GMS_STOLEN_64M:
- sc->stolen_size = 64 * 1024 * 1024;
- break;
- case AGP_SNB_GMCH_GMS_STOLEN_96M:
- sc->stolen_size = 96 * 1024 * 1024;
- break;
- case AGP_SNB_GMCH_GMS_STOLEN_128M:
- sc->stolen_size = 128 * 1024 * 1024;
- break;
- case AGP_SNB_GMCH_GMS_STOLEN_160M:
- sc->stolen_size = 160 * 1024 * 1024;
- break;
- case AGP_SNB_GMCH_GMS_STOLEN_192M:
- sc->stolen_size = 192 * 1024 * 1024;
- break;
- case AGP_SNB_GMCH_GMS_STOLEN_224M:
- sc->stolen_size = 224 * 1024 * 1024;
- break;
- case AGP_SNB_GMCH_GMS_STOLEN_256M:
- sc->stolen_size = 256 * 1024 * 1024;
- break;
- case AGP_SNB_GMCH_GMS_STOLEN_288M:
- sc->stolen_size = 288 * 1024 * 1024;
- break;
- case AGP_SNB_GMCH_GMS_STOLEN_320M:
- sc->stolen_size = 320 * 1024 * 1024;
- break;
- case AGP_SNB_GMCH_GMS_STOLEN_352M:
- sc->stolen_size = 352 * 1024 * 1024;
- break;
- case AGP_SNB_GMCH_GMS_STOLEN_384M:
- sc->stolen_size = 384 * 1024 * 1024;
- break;
- case AGP_SNB_GMCH_GMS_STOLEN_416M:
- sc->stolen_size = 416 * 1024 * 1024;
- break;
- case AGP_SNB_GMCH_GMS_STOLEN_448M:
- sc->stolen_size = 448 * 1024 * 1024;
- break;
- case AGP_SNB_GMCH_GMS_STOLEN_480M:
- sc->stolen_size = 480 * 1024 * 1024;
- break;
- case AGP_SNB_GMCH_GMS_STOLEN_512M:
- sc->stolen_size = 512 * 1024 * 1024;
- break;
- }
- sc->stolen = (sc->stolen_size - 4) / 4096;
- return (0);
-}
-
-static int
agp_i810_get_gtt_mappable_entries(device_t dev)
{
struct agp_i810_softc *sc;
@@ -1600,30 +1173,6 @@
}
static int
-agp_sb_get_gtt_total_entries(device_t dev)
-{
- struct agp_i810_softc *sc;
- uint16_t gcc1;
-
- sc = device_get_softc(dev);
-
- gcc1 = pci_read_config(sc->bdev, AGP_SNB_GCC1, 2);
- switch (gcc1 & AGP_SNB_GTT_SIZE_MASK) {
- default:
- case AGP_SNB_GTT_SIZE_0M:
- printf("Bad GTT size mask: 0x%04x\n", gcc1);
- return (ENXIO);
- case AGP_SNB_GTT_SIZE_1M:
- sc->gtt_total_entries = 1024 * 1024 / 4;
- break;
- case AGP_SNB_GTT_SIZE_2M:
- sc->gtt_total_entries = 2 * 1024 * 1024 / 4;
- break;
- }
- return (0);
-}
-
-static int
agp_i810_install_gatt(device_t dev)
{
struct agp_i810_softc *sc;
@@ -2024,38 +1573,6 @@
CTR2(KTR_AGP_I810, "g4x_pte %x %x", index, pte);
}
-static void
-agp_sb_install_gtt_pte(device_t dev, u_int index, vm_offset_t physical,
- int flags)
-{
- int type_mask, gfdt;
- uint32_t pte;
-
- pte = (u_int32_t)physical | I810_PTE_VALID;
- type_mask = flags & ~AGP_USER_CACHED_MEMORY_GFDT;
- gfdt = (flags & AGP_USER_CACHED_MEMORY_GFDT) != 0 ? GEN6_PTE_GFDT : 0;
-
- if (type_mask == AGP_USER_MEMORY)
- pte |= GEN6_PTE_UNCACHED;
- else if (type_mask == AGP_USER_CACHED_MEMORY_LLC_MLC)
- pte |= GEN6_PTE_LLC_MLC | gfdt;
- else
- pte |= GEN6_PTE_LLC | gfdt;
-
- pte |= (physical & 0x000000ff00000000ull) >> 28;
- agp_sb_write_gtt(dev, index, pte);
-}
-
-static void
-agp_sb_write_gtt(device_t dev, u_int index, uint32_t pte)
-{
- struct agp_i810_softc *sc;
-
- sc = device_get_softc(dev);
- bus_write_4(sc->sc_res[0], index * 4 + (2 * 1024 * 1024), pte);
- CTR2(KTR_AGP_I810, "sb_pte %x %x", index, pte);
-}
-
static int
agp_i810_bind_page(device_t dev, vm_offset_t offset, vm_offset_t physical)
{
@@ -2165,19 +1682,6 @@
return (res);
}
-static vm_paddr_t
-agp_sb_read_gtt_pte_paddr(device_t dev, u_int index)
-{
- struct agp_i810_softc *sc;
- u_int32_t pte;
- vm_paddr_t res;
-
- sc = device_get_softc(dev);
- pte = sc->match->driver->read_gtt_pte(dev, index);
- res = (pte & ~PAGE_MASK) | ((pte & 0xff0) << 28);
- return (res);
-}
-
/*
* Writing via memory mapped registers already flushes all TLBs.
*/
Index: head/sys/dev/agp/agpreg.h
===================================================================
--- head/sys/dev/agp/agpreg.h
+++ head/sys/dev/agp/agpreg.h
@@ -296,9 +296,19 @@
#define AGP_I915_IFPADDR 0x60
/*
+ * G33 registers
+ */
+#define AGP_G33_MGGC_GGMS_MASK (3 << 8)
+#define AGP_G33_MGGC_GGMS_SIZE_1M (1 << 8)
+#define AGP_G33_MGGC_GGMS_SIZE_2M (2 << 8)
+#define AGP_G33_GCC1_GMS_STOLEN_128M 0x80
+#define AGP_G33_GCC1_GMS_STOLEN_256M 0x90
+
+/*
* G965 registers
*/
#define AGP_I965_GTTMMADR 0x10
+#define AGP_I965_APBASE 0x18
#define AGP_I965_MSAC 0x62
#define AGP_I965_MSAC_GMASIZE_128 0x00
#define AGP_I965_MSAC_GMASIZE_256 0x02
@@ -310,20 +320,8 @@
#define AGP_I965_IFPADDR 0x70
/*
- * G33 registers
- */
-#define AGP_G33_MGGC_GGMS_MASK (3 << 8)
-#define AGP_G33_MGGC_GGMS_SIZE_1M (1 << 8)
-#define AGP_G33_MGGC_GGMS_SIZE_2M (2 << 8)
-#define AGP_G33_GCC1_GMS_STOLEN_128M 0x80
-#define AGP_G33_GCC1_GMS_STOLEN_256M 0x90
-
-/*
* G4X registers
*/
-#define AGP_G4X_GMADR 0x20
-#define AGP_G4X_MMADR 0x10
-#define AGP_G4X_GTTADR 0x18
#define AGP_G4X_GCC1_GMS_STOLEN_96M 0xa0
#define AGP_G4X_GCC1_GMS_STOLEN_160M 0xb0
#define AGP_G4X_GCC1_GMS_STOLEN_224M 0xc0
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Fri, Apr 24, 11:11 PM (13 h, 45 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
32096254
Default Alt Text
D5586.id14267.diff (20 KB)
Attached To
Mode
D5586: agp: Do not attach to Intel GEN6+
Attached
Detach File
Event Timeline
Log In to Comment