aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/agp/intel-agp.c
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2009-10-22 19:10:52 -0400
committerEric Anholt <eric@anholt.net>2010-02-26 16:23:17 -0500
commit1089e3009572e07a1fe12c3408828f27c96453be (patch)
treee98296d55f53620be2563bd58ab41a4fe44f45bd /drivers/char/agp/intel-agp.c
parenteb6b6d7cdd5548fa03a919d14615195600013be2 (diff)
agp/intel: Add support for Sandybridge.
Signed-off-by: Eric Anholt <eric@anholt.net>
Diffstat (limited to 'drivers/char/agp/intel-agp.c')
-rw-r--r--drivers/char/agp/intel-agp.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/drivers/char/agp/intel-agp.c b/drivers/char/agp/intel-agp.c
index e5ffefee34a0..df85ed9c7531 100644
--- a/drivers/char/agp/intel-agp.c
+++ b/drivers/char/agp/intel-agp.c
@@ -64,6 +64,8 @@
64#define PCI_DEVICE_ID_INTEL_IRONLAKE_MA_HB 0x0062 64#define PCI_DEVICE_ID_INTEL_IRONLAKE_MA_HB 0x0062
65#define PCI_DEVICE_ID_INTEL_IRONLAKE_MC2_HB 0x006a 65#define PCI_DEVICE_ID_INTEL_IRONLAKE_MC2_HB 0x006a
66#define PCI_DEVICE_ID_INTEL_IRONLAKE_M_IG 0x0046 66#define PCI_DEVICE_ID_INTEL_IRONLAKE_M_IG 0x0046
67#define PCI_DEVICE_ID_INTEL_SANDYBRIDGE_HB 0x0100
68#define PCI_DEVICE_ID_INTEL_SANDYBRIDGE_IG 0x0102
67 69
68/* cover 915 and 945 variants */ 70/* cover 915 and 945 variants */
69#define IS_I915 (agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_E7221_HB || \ 71#define IS_I915 (agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_E7221_HB || \
@@ -98,7 +100,8 @@
98 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_IRONLAKE_D_HB || \ 100 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_IRONLAKE_D_HB || \
99 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_IRONLAKE_M_HB || \ 101 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_IRONLAKE_M_HB || \
100 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_IRONLAKE_MA_HB || \ 102 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_IRONLAKE_MA_HB || \
101 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_IRONLAKE_MC2_HB) 103 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_IRONLAKE_MC2_HB || \
104 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_SANDYBRIDGE_HB)
102 105
103extern int agp_memory_reserved; 106extern int agp_memory_reserved;
104 107
@@ -705,6 +708,12 @@ static void intel_i830_init_gtt_entries(void)
705 gtt_entries = 0; 708 gtt_entries = 0;
706 break; 709 break;
707 } 710 }
711 } else if (agp_bridge->dev->device ==
712 PCI_DEVICE_ID_INTEL_SANDYBRIDGE_HB) {
713 /* XXX: This is what my A1 silicon has. What's the right
714 * answer?
715 */
716 gtt_entries = MB(64) - KB(size);
708 } else { 717 } else {
709 switch (gmch_ctrl & I855_GMCH_GMS_MASK) { 718 switch (gmch_ctrl & I855_GMCH_GMS_MASK) {
710 case I855_GMCH_GMS_STOLEN_1M: 719 case I855_GMCH_GMS_STOLEN_1M:
@@ -1364,6 +1373,7 @@ static void intel_i965_get_gtt_range(int *gtt_offset, int *gtt_size)
1364 case PCI_DEVICE_ID_INTEL_IRONLAKE_M_HB: 1373 case PCI_DEVICE_ID_INTEL_IRONLAKE_M_HB:
1365 case PCI_DEVICE_ID_INTEL_IRONLAKE_MA_HB: 1374 case PCI_DEVICE_ID_INTEL_IRONLAKE_MA_HB:
1366 case PCI_DEVICE_ID_INTEL_IRONLAKE_MC2_HB: 1375 case PCI_DEVICE_ID_INTEL_IRONLAKE_MC2_HB:
1376 case PCI_DEVICE_ID_INTEL_SANDYBRIDGE_HB:
1367 *gtt_offset = *gtt_size = MB(2); 1377 *gtt_offset = *gtt_size = MB(2);
1368 break; 1378 break;
1369 default: 1379 default:
@@ -2369,6 +2379,8 @@ static const struct intel_driver_description {
2369 "HD Graphics", NULL, &intel_i965_driver }, 2379 "HD Graphics", NULL, &intel_i965_driver },
2370 { PCI_DEVICE_ID_INTEL_IRONLAKE_MC2_HB, PCI_DEVICE_ID_INTEL_IRONLAKE_M_IG, 0, 2380 { PCI_DEVICE_ID_INTEL_IRONLAKE_MC2_HB, PCI_DEVICE_ID_INTEL_IRONLAKE_M_IG, 0,
2371 "HD Graphics", NULL, &intel_i965_driver }, 2381 "HD Graphics", NULL, &intel_i965_driver },
2382 { PCI_DEVICE_ID_INTEL_SANDYBRIDGE_HB, PCI_DEVICE_ID_INTEL_SANDYBRIDGE_IG, 0,
2383 "Sandybridge", NULL, &intel_i965_driver },
2372 { 0, 0, 0, NULL, NULL, NULL } 2384 { 0, 0, 0, NULL, NULL, NULL }
2373}; 2385};
2374 2386
@@ -2575,6 +2587,7 @@ static struct pci_device_id agp_intel_pci_table[] = {
2575 ID(PCI_DEVICE_ID_INTEL_IRONLAKE_M_HB), 2587 ID(PCI_DEVICE_ID_INTEL_IRONLAKE_M_HB),
2576 ID(PCI_DEVICE_ID_INTEL_IRONLAKE_MA_HB), 2588 ID(PCI_DEVICE_ID_INTEL_IRONLAKE_MA_HB),
2577 ID(PCI_DEVICE_ID_INTEL_IRONLAKE_MC2_HB), 2589 ID(PCI_DEVICE_ID_INTEL_IRONLAKE_MC2_HB),
2590 ID(PCI_DEVICE_ID_INTEL_SANDYBRIDGE_HB),
2578 { } 2591 { }
2579}; 2592};
2580 2593