summaryrefslogtreecommitdiffstats
path: root/sys/dev/agp
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2014-11-18 13:05:24 +0000
committerkib <kib@FreeBSD.org>2014-11-18 13:05:24 +0000
commitdf514ceb8dddd315e9012ed06b1dd2dae77764af (patch)
tree3eee5022e269b6268140b87e9e841df8aefe0a61 /sys/dev/agp
parent1367a6b528231e54bf414382fbf4b1fdf554ec3c (diff)
downloadFreeBSD-src-df514ceb8dddd315e9012ed06b1dd2dae77764af.zip
FreeBSD-src-df514ceb8dddd315e9012ed06b1dd2dae77764af.tar.gz
MFC r274379:
Initial attachment of the agp(4) to Haswell IGP.
Diffstat (limited to 'sys/dev/agp')
-rw-r--r--sys/dev/agp/agp_i810.c58
1 files changed, 58 insertions, 0 deletions
diff --git a/sys/dev/agp/agp_i810.c b/sys/dev/agp/agp_i810.c
index 8fc628e..1e2959d 100644
--- a/sys/dev/agp/agp_i810.c
+++ b/sys/dev/agp/agp_i810.c
@@ -501,6 +501,29 @@ static const struct agp_i810_driver agp_i810_sb_driver = {
.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,
+};
+
/* 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
@@ -737,6 +760,41 @@ static const struct agp_i810_match {
.driver = &agp_i810_sb_driver
},
{
+ .devid = 0x04028086,
+ .name = "Haswell desktop GT1",
+ .driver = &agp_i810_hsw_driver
+ },
+ {
+ .devid = 0x04128086,
+ .name = "Haswell desktop GT2",
+ .driver = &agp_i810_hsw_driver
+ },
+ {
+ .devid = 0x040a8086,
+ .name = "Haswell server GT1",
+ .driver = &agp_i810_hsw_driver
+ },
+ {
+ .devid = 0x041a8086,
+ .name = "Haswell server GT2",
+ .driver = &agp_i810_hsw_driver
+ },
+ {
+ .devid = 0x04068086,
+ .name = "Haswell mobile GT1",
+ .driver = &agp_i810_hsw_driver
+ },
+ {
+ .devid = 0x04168086,
+ .name = "Haswell mobile GT2",
+ .driver = &agp_i810_hsw_driver
+ },
+ {
+ .devid = 0x0c168086,
+ .name = "Haswell SDV",
+ .driver = &agp_i810_hsw_driver
+ },
+ {
.devid = 0,
}
};
OpenPOWER on IntegriCloud