diff options
-rw-r--r-- | drivers/gpu/drm/i915/i915_dma.c | 5 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/i915_drv.c | 8 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/i915_drv.h | 3 |
3 files changed, 4 insertions, 12 deletions
diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c index 4dc76976c0d0..f64ef4b723fd 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c | |||
@@ -1547,6 +1547,9 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) | |||
1547 | goto out_mtrrfree; | 1547 | goto out_mtrrfree; |
1548 | } | 1548 | } |
1549 | 1549 | ||
1550 | /* This must be called before any calls to HAS_PCH_* */ | ||
1551 | intel_detect_pch(dev); | ||
1552 | |||
1550 | intel_irq_init(dev); | 1553 | intel_irq_init(dev); |
1551 | intel_gt_init(dev); | 1554 | intel_gt_init(dev); |
1552 | 1555 | ||
@@ -1599,8 +1602,6 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) | |||
1599 | /* Start out suspended */ | 1602 | /* Start out suspended */ |
1600 | dev_priv->mm.suspended = 1; | 1603 | dev_priv->mm.suspended = 1; |
1601 | 1604 | ||
1602 | intel_detect_pch(dev); | ||
1603 | |||
1604 | if (drm_core_check_feature(dev, DRIVER_MODESET)) { | 1605 | if (drm_core_check_feature(dev, DRIVER_MODESET)) { |
1605 | ret = i915_load_modeset_init(dev); | 1606 | ret = i915_load_modeset_init(dev); |
1606 | if (ret < 0) { | 1607 | if (ret < 0) { |
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c index c7e76e03a684..f2c0100e0630 100644 --- a/drivers/gpu/drm/i915/i915_drv.c +++ b/drivers/gpu/drm/i915/i915_drv.c | |||
@@ -216,7 +216,6 @@ static const struct intel_device_info intel_ironlake_d_info = { | |||
216 | .gen = 5, | 216 | .gen = 5, |
217 | .need_gfx_hws = 1, .has_hotplug = 1, | 217 | .need_gfx_hws = 1, .has_hotplug = 1, |
218 | .has_bsd_ring = 1, | 218 | .has_bsd_ring = 1, |
219 | .has_pch_split = 1, | ||
220 | }; | 219 | }; |
221 | 220 | ||
222 | static const struct intel_device_info intel_ironlake_m_info = { | 221 | static const struct intel_device_info intel_ironlake_m_info = { |
@@ -224,7 +223,6 @@ static const struct intel_device_info intel_ironlake_m_info = { | |||
224 | .need_gfx_hws = 1, .has_hotplug = 1, | 223 | .need_gfx_hws = 1, .has_hotplug = 1, |
225 | .has_fbc = 1, | 224 | .has_fbc = 1, |
226 | .has_bsd_ring = 1, | 225 | .has_bsd_ring = 1, |
227 | .has_pch_split = 1, | ||
228 | }; | 226 | }; |
229 | 227 | ||
230 | static const struct intel_device_info intel_sandybridge_d_info = { | 228 | static const struct intel_device_info intel_sandybridge_d_info = { |
@@ -233,7 +231,6 @@ static const struct intel_device_info intel_sandybridge_d_info = { | |||
233 | .has_bsd_ring = 1, | 231 | .has_bsd_ring = 1, |
234 | .has_blt_ring = 1, | 232 | .has_blt_ring = 1, |
235 | .has_llc = 1, | 233 | .has_llc = 1, |
236 | .has_pch_split = 1, | ||
237 | .has_force_wake = 1, | 234 | .has_force_wake = 1, |
238 | }; | 235 | }; |
239 | 236 | ||
@@ -244,7 +241,6 @@ static const struct intel_device_info intel_sandybridge_m_info = { | |||
244 | .has_bsd_ring = 1, | 241 | .has_bsd_ring = 1, |
245 | .has_blt_ring = 1, | 242 | .has_blt_ring = 1, |
246 | .has_llc = 1, | 243 | .has_llc = 1, |
247 | .has_pch_split = 1, | ||
248 | .has_force_wake = 1, | 244 | .has_force_wake = 1, |
249 | }; | 245 | }; |
250 | 246 | ||
@@ -254,7 +250,6 @@ static const struct intel_device_info intel_ivybridge_d_info = { | |||
254 | .has_bsd_ring = 1, | 250 | .has_bsd_ring = 1, |
255 | .has_blt_ring = 1, | 251 | .has_blt_ring = 1, |
256 | .has_llc = 1, | 252 | .has_llc = 1, |
257 | .has_pch_split = 1, | ||
258 | .has_force_wake = 1, | 253 | .has_force_wake = 1, |
259 | }; | 254 | }; |
260 | 255 | ||
@@ -265,7 +260,6 @@ static const struct intel_device_info intel_ivybridge_m_info = { | |||
265 | .has_bsd_ring = 1, | 260 | .has_bsd_ring = 1, |
266 | .has_blt_ring = 1, | 261 | .has_blt_ring = 1, |
267 | .has_llc = 1, | 262 | .has_llc = 1, |
268 | .has_pch_split = 1, | ||
269 | .has_force_wake = 1, | 263 | .has_force_wake = 1, |
270 | }; | 264 | }; |
271 | 265 | ||
@@ -293,7 +287,6 @@ static const struct intel_device_info intel_haswell_d_info = { | |||
293 | .has_bsd_ring = 1, | 287 | .has_bsd_ring = 1, |
294 | .has_blt_ring = 1, | 288 | .has_blt_ring = 1, |
295 | .has_llc = 1, | 289 | .has_llc = 1, |
296 | .has_pch_split = 1, | ||
297 | .has_force_wake = 1, | 290 | .has_force_wake = 1, |
298 | }; | 291 | }; |
299 | 292 | ||
@@ -303,7 +296,6 @@ static const struct intel_device_info intel_haswell_m_info = { | |||
303 | .has_bsd_ring = 1, | 296 | .has_bsd_ring = 1, |
304 | .has_blt_ring = 1, | 297 | .has_blt_ring = 1, |
305 | .has_llc = 1, | 298 | .has_llc = 1, |
306 | .has_pch_split = 1, | ||
307 | .has_force_wake = 1, | 299 | .has_force_wake = 1, |
308 | }; | 300 | }; |
309 | 301 | ||
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index 57d05c798c4b..d839e4c24d69 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h | |||
@@ -288,7 +288,6 @@ struct intel_device_info { | |||
288 | u8 is_crestline:1; | 288 | u8 is_crestline:1; |
289 | u8 is_ivybridge:1; | 289 | u8 is_ivybridge:1; |
290 | u8 is_valleyview:1; | 290 | u8 is_valleyview:1; |
291 | u8 has_pch_split:1; | ||
292 | u8 has_force_wake:1; | 291 | u8 has_force_wake:1; |
293 | u8 is_haswell:1; | 292 | u8 is_haswell:1; |
294 | u8 has_fbc:1; | 293 | u8 has_fbc:1; |
@@ -1121,13 +1120,13 @@ struct drm_i915_file_private { | |||
1121 | #define HAS_PIPE_CXSR(dev) (INTEL_INFO(dev)->has_pipe_cxsr) | 1120 | #define HAS_PIPE_CXSR(dev) (INTEL_INFO(dev)->has_pipe_cxsr) |
1122 | #define I915_HAS_FBC(dev) (INTEL_INFO(dev)->has_fbc) | 1121 | #define I915_HAS_FBC(dev) (INTEL_INFO(dev)->has_fbc) |
1123 | 1122 | ||
1124 | #define HAS_PCH_SPLIT(dev) (INTEL_INFO(dev)->has_pch_split) | ||
1125 | #define HAS_PIPE_CONTROL(dev) (INTEL_INFO(dev)->gen >= 5) | 1123 | #define HAS_PIPE_CONTROL(dev) (INTEL_INFO(dev)->gen >= 5) |
1126 | 1124 | ||
1127 | #define INTEL_PCH_TYPE(dev) (((struct drm_i915_private *)(dev)->dev_private)->pch_type) | 1125 | #define INTEL_PCH_TYPE(dev) (((struct drm_i915_private *)(dev)->dev_private)->pch_type) |
1128 | #define HAS_PCH_LPT(dev) (INTEL_PCH_TYPE(dev) == PCH_LPT) | 1126 | #define HAS_PCH_LPT(dev) (INTEL_PCH_TYPE(dev) == PCH_LPT) |
1129 | #define HAS_PCH_CPT(dev) (INTEL_PCH_TYPE(dev) == PCH_CPT) | 1127 | #define HAS_PCH_CPT(dev) (INTEL_PCH_TYPE(dev) == PCH_CPT) |
1130 | #define HAS_PCH_IBX(dev) (INTEL_PCH_TYPE(dev) == PCH_IBX) | 1128 | #define HAS_PCH_IBX(dev) (INTEL_PCH_TYPE(dev) == PCH_IBX) |
1129 | #define HAS_PCH_SPLIT(dev) (INTEL_PCH_TYPE(dev) != PCH_NONE) | ||
1131 | 1130 | ||
1132 | #define HAS_FORCE_WAKE(dev) (INTEL_INFO(dev)->has_force_wake) | 1131 | #define HAS_FORCE_WAKE(dev) (INTEL_INFO(dev)->has_force_wake) |
1133 | 1132 | ||