diff options
author | Eric Anholt <eric@anholt.net> | 2009-10-22 19:10:52 -0400 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2010-02-26 16:23:17 -0500 |
commit | 1089e3009572e07a1fe12c3408828f27c96453be (patch) | |
tree | e98296d55f53620be2563bd58ab41a4fe44f45bd | |
parent | eb6b6d7cdd5548fa03a919d14615195600013be2 (diff) |
agp/intel: Add support for Sandybridge.
Signed-off-by: Eric Anholt <eric@anholt.net>
-rw-r--r-- | drivers/char/agp/intel-agp.c | 15 |
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 | ||
103 | extern int agp_memory_reserved; | 106 | extern 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 | ||