diff options
author | Eugeni Dodonov <eugeni.dodonov@intel.com> | 2012-03-29 11:32:18 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2012-04-09 12:03:58 -0400 |
commit | 4cae9ae052fe630e63f28be6b0b115fbf52e63fb (patch) | |
tree | 53ae8eee476b5e115bc15a324acd55d8cc84facf | |
parent | 7e508a275b9425d612b845cac534e6b35a3f95e3 (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.h | 11 | ||||
-rw-r--r-- | drivers/char/agp/intel-gtt.c | 14 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/i915_drv.c | 18 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/i915_drv.h | 2 |
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 | ||
241 | int intel_gmch_probe(struct pci_dev *pdev, | 252 | int 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 | ||
281 | static 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 | |||
290 | static 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 | |||
281 | static const struct pci_device_id pciidlist[] = { /* aka */ | 299 | static 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 | /* |