aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEugeni Dodonov <eugeni.dodonov@intel.com>2012-03-29 11:32:18 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2012-04-09 12:03:58 -0400
commit4cae9ae052fe630e63f28be6b0b115fbf52e63fb (patch)
tree53ae8eee476b5e115bc15a324acd55d8cc84facf
parent7e508a275b9425d612b845cac534e6b35a3f95e3 (diff)
drm/i915: add Haswell devices and their PCI IDs
This adds product definitions for desktop, mobile and server boards. v2: split into a separate patch, add .has_pch_split feature. Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r--drivers/char/agp/intel-agp.h11
-rw-r--r--drivers/char/agp/intel-gtt.c14
-rw-r--r--drivers/gpu/drm/i915/i915_drv.c18
-rw-r--r--drivers/gpu/drm/i915/i915_drv.h2
4 files changed, 45 insertions, 0 deletions
diff --git a/drivers/char/agp/intel-agp.h b/drivers/char/agp/intel-agp.h
index 41d9ee15d465..0b0710143699 100644
--- a/drivers/char/agp/intel-agp.h
+++ b/drivers/char/agp/intel-agp.h
@@ -237,6 +237,17 @@
237#define PCI_DEVICE_ID_INTEL_IVYBRIDGE_S_GT1_IG 0x015A 237#define PCI_DEVICE_ID_INTEL_IVYBRIDGE_S_GT1_IG 0x015A
238#define PCI_DEVICE_ID_INTEL_VALLEYVIEW_HB 0x0F00 /* VLV1 */ 238#define PCI_DEVICE_ID_INTEL_VALLEYVIEW_HB 0x0F00 /* VLV1 */
239#define PCI_DEVICE_ID_INTEL_VALLEYVIEW_IG 0x0F30 239#define PCI_DEVICE_ID_INTEL_VALLEYVIEW_IG 0x0F30
240#define PCI_DEVICE_ID_INTEL_HASWELL_HB 0x0400 /* Desktop */
241#define PCI_DEVICE_ID_INTEL_HASWELL_D_GT1_IG 0x0402
242#define PCI_DEVICE_ID_INTEL_HASWELL_D_GT2_IG 0x0412
243#define PCI_DEVICE_ID_INTEL_HASWELL_M_HB 0x0404 /* Mobile */
244#define PCI_DEVICE_ID_INTEL_HASWELL_M_GT1_IG 0x0406
245#define PCI_DEVICE_ID_INTEL_HASWELL_M_GT2_IG 0x0416
246#define PCI_DEVICE_ID_INTEL_HASWELL_S_HB 0x0408 /* Server */
247#define PCI_DEVICE_ID_INTEL_HASWELL_S_GT1_IG 0x040a
248#define PCI_DEVICE_ID_INTEL_HASWELL_S_GT2_IG 0x041a
249#define PCI_DEVICE_ID_INTEL_HASWELL_SDV 0x0c16 /* SDV */
250#define PCI_DEVICE_ID_INTEL_HASWELL_E_HB 0x0c04
240 251
241int intel_gmch_probe(struct pci_dev *pdev, 252int intel_gmch_probe(struct pci_dev *pdev,
242 struct agp_bridge_data *bridge); 253 struct agp_bridge_data *bridge);
diff --git a/drivers/char/agp/intel-gtt.c b/drivers/char/agp/intel-gtt.c
index 08336ba18cac..7e223a27e112 100644
--- a/drivers/char/agp/intel-gtt.c
+++ b/drivers/char/agp/intel-gtt.c
@@ -1488,6 +1488,20 @@ static const struct intel_gtt_driver_description {
1488 "Ivybridge", &sandybridge_gtt_driver }, 1488 "Ivybridge", &sandybridge_gtt_driver },
1489 { PCI_DEVICE_ID_INTEL_VALLEYVIEW_IG, 1489 { PCI_DEVICE_ID_INTEL_VALLEYVIEW_IG,
1490 "ValleyView", &valleyview_gtt_driver }, 1490 "ValleyView", &valleyview_gtt_driver },
1491 { PCI_DEVICE_ID_INTEL_HASWELL_D_GT1_IG,
1492 "Haswell", &sandybridge_gtt_driver },
1493 { PCI_DEVICE_ID_INTEL_HASWELL_D_GT2_IG,
1494 "Haswell", &sandybridge_gtt_driver },
1495 { PCI_DEVICE_ID_INTEL_HASWELL_M_GT1_IG,
1496 "Haswell", &sandybridge_gtt_driver },
1497 { PCI_DEVICE_ID_INTEL_HASWELL_M_GT2_IG,
1498 "Haswell", &sandybridge_gtt_driver },
1499 { PCI_DEVICE_ID_INTEL_HASWELL_S_GT1_IG,
1500 "Haswell", &sandybridge_gtt_driver },
1501 { PCI_DEVICE_ID_INTEL_HASWELL_S_GT2_IG,
1502 "Haswell", &sandybridge_gtt_driver },
1503 { PCI_DEVICE_ID_INTEL_HASWELL_SDV,
1504 "Haswell", &sandybridge_gtt_driver },
1491 { 0, NULL, NULL } 1505 { 0, NULL, NULL }
1492}; 1506};
1493 1507
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index 2fd6694fa21e..6d7548d1f94b 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -278,6 +278,24 @@ static const struct intel_device_info intel_valleyview_d_info = {
278 .is_valleyview = 1, 278 .is_valleyview = 1,
279}; 279};
280 280
281static const struct intel_device_info intel_haswell_d_info = {
282 .is_haswell = 1, .gen = 7,
283 .need_gfx_hws = 1, .has_hotplug = 1,
284 .has_bsd_ring = 1,
285 .has_blt_ring = 1,
286 .has_llc = 1,
287 .has_pch_split = 1,
288};
289
290static const struct intel_device_info intel_haswell_m_info = {
291 .is_haswell = 1, .gen = 7, .is_mobile = 1,
292 .need_gfx_hws = 1, .has_hotplug = 1,
293 .has_bsd_ring = 1,
294 .has_blt_ring = 1,
295 .has_llc = 1,
296 .has_pch_split = 1,
297};
298
281static const struct pci_device_id pciidlist[] = { /* aka */ 299static const struct pci_device_id pciidlist[] = { /* aka */
282 INTEL_VGA_DEVICE(0x3577, &intel_i830_info), /* I830_M */ 300 INTEL_VGA_DEVICE(0x3577, &intel_i830_info), /* I830_M */
283 INTEL_VGA_DEVICE(0x2562, &intel_845g_info), /* 845_G */ 301 INTEL_VGA_DEVICE(0x2562, &intel_845g_info), /* 845_G */
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index d3a3202dd476..ffd5d26b6783 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -257,6 +257,7 @@ struct intel_device_info {
257 u8 is_ivybridge:1; 257 u8 is_ivybridge:1;
258 u8 is_valleyview:1; 258 u8 is_valleyview:1;
259 u8 has_pch_split:1; 259 u8 has_pch_split:1;
260 u8 is_haswell:1;
260 u8 has_fbc:1; 261 u8 has_fbc:1;
261 u8 has_pipe_cxsr:1; 262 u8 has_pipe_cxsr:1;
262 u8 has_hotplug:1; 263 u8 has_hotplug:1;
@@ -1009,6 +1010,7 @@ struct drm_i915_file_private {
1009#define IS_IRONLAKE_M(dev) ((dev)->pci_device == 0x0046) 1010#define IS_IRONLAKE_M(dev) ((dev)->pci_device == 0x0046)
1010#define IS_IVYBRIDGE(dev) (INTEL_INFO(dev)->is_ivybridge) 1011#define IS_IVYBRIDGE(dev) (INTEL_INFO(dev)->is_ivybridge)
1011#define IS_VALLEYVIEW(dev) (INTEL_INFO(dev)->is_valleyview) 1012#define IS_VALLEYVIEW(dev) (INTEL_INFO(dev)->is_valleyview)
1013#define IS_HASWELL(dev) (INTEL_INFO(dev)->is_haswell)
1012#define IS_MOBILE(dev) (INTEL_INFO(dev)->is_mobile) 1014#define IS_MOBILE(dev) (INTEL_INFO(dev)->is_mobile)
1013 1015
1014/* 1016/*