diff options
Diffstat (limited to 'drivers/gpu')
| -rw-r--r-- | drivers/gpu/drm/i915/i915_debugfs.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/i915_dma.c | 16 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/i915_drv.h | 26 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/i915_gem.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/i915_gem_tiling.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/i915_irq.c | 18 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/intel_bios.c | 3 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/intel_crt.c | 14 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 56 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/intel_lvds.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/intel_overlay.c | 2 |
11 files changed, 87 insertions, 56 deletions
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c index 5eed46312442..1376dfe44c95 100644 --- a/drivers/gpu/drm/i915/i915_debugfs.c +++ b/drivers/gpu/drm/i915/i915_debugfs.c | |||
| @@ -162,7 +162,7 @@ static int i915_interrupt_info(struct seq_file *m, void *data) | |||
| 162 | struct drm_device *dev = node->minor->dev; | 162 | struct drm_device *dev = node->minor->dev; |
| 163 | drm_i915_private_t *dev_priv = dev->dev_private; | 163 | drm_i915_private_t *dev_priv = dev->dev_private; |
| 164 | 164 | ||
| 165 | if (!IS_IRONLAKE(dev)) { | 165 | if (!HAS_PCH_SPLIT(dev)) { |
| 166 | seq_printf(m, "Interrupt enable: %08x\n", | 166 | seq_printf(m, "Interrupt enable: %08x\n", |
| 167 | I915_READ(IER)); | 167 | I915_READ(IER)); |
| 168 | seq_printf(m, "Interrupt identity: %08x\n", | 168 | seq_printf(m, "Interrupt identity: %08x\n", |
diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c index dbfe07c90cbc..7bfded5e90bb 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c | |||
| @@ -1094,15 +1094,21 @@ static int i915_probe_agp(struct drm_device *dev, uint32_t *aperture_size, | |||
| 1094 | * Some of the preallocated space is taken by the GTT | 1094 | * Some of the preallocated space is taken by the GTT |
| 1095 | * and popup. GTT is 1K per MB of aperture size, and popup is 4K. | 1095 | * and popup. GTT is 1K per MB of aperture size, and popup is 4K. |
| 1096 | */ | 1096 | */ |
| 1097 | if (IS_G4X(dev) || IS_PINEVIEW(dev) || IS_IRONLAKE(dev)) | 1097 | if (IS_G4X(dev) || IS_PINEVIEW(dev) || IS_IRONLAKE(dev) || IS_GEN6(dev)) |
| 1098 | overhead = 4096; | 1098 | overhead = 4096; |
| 1099 | else | 1099 | else |
| 1100 | overhead = (*aperture_size / 1024) + 4096; | 1100 | overhead = (*aperture_size / 1024) + 4096; |
| 1101 | 1101 | ||
| 1102 | switch (tmp & INTEL_GMCH_GMS_MASK) { | 1102 | switch (tmp & INTEL_GMCH_GMS_MASK) { |
| 1103 | case INTEL_855_GMCH_GMS_DISABLED: | 1103 | case INTEL_855_GMCH_GMS_DISABLED: |
| 1104 | DRM_ERROR("video memory is disabled\n"); | 1104 | /* XXX: This is what my A1 silicon has. */ |
| 1105 | return -1; | 1105 | if (IS_GEN6(dev)) { |
| 1106 | stolen = 64 * 1024 * 1024; | ||
| 1107 | } else { | ||
| 1108 | DRM_ERROR("video memory is disabled\n"); | ||
| 1109 | return -1; | ||
| 1110 | } | ||
| 1111 | break; | ||
| 1106 | case INTEL_855_GMCH_GMS_STOLEN_1M: | 1112 | case INTEL_855_GMCH_GMS_STOLEN_1M: |
| 1107 | stolen = 1 * 1024 * 1024; | 1113 | stolen = 1 * 1024 * 1024; |
| 1108 | break; | 1114 | break; |
| @@ -1180,7 +1186,7 @@ static unsigned long i915_gtt_to_phys(struct drm_device *dev, | |||
| 1180 | int gtt_offset, gtt_size; | 1186 | int gtt_offset, gtt_size; |
| 1181 | 1187 | ||
| 1182 | if (IS_I965G(dev)) { | 1188 | if (IS_I965G(dev)) { |
| 1183 | if (IS_G4X(dev) || IS_IRONLAKE(dev)) { | 1189 | if (IS_G4X(dev) || IS_IRONLAKE(dev) || IS_GEN6(dev)) { |
| 1184 | gtt_offset = 2*1024*1024; | 1190 | gtt_offset = 2*1024*1024; |
| 1185 | gtt_size = 2*1024*1024; | 1191 | gtt_size = 2*1024*1024; |
| 1186 | } else { | 1192 | } else { |
| @@ -1563,7 +1569,7 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) | |||
| 1563 | 1569 | ||
| 1564 | dev->driver->get_vblank_counter = i915_get_vblank_counter; | 1570 | dev->driver->get_vblank_counter = i915_get_vblank_counter; |
| 1565 | dev->max_vblank_count = 0xffffff; /* only 24 bits of frame count */ | 1571 | dev->max_vblank_count = 0xffffff; /* only 24 bits of frame count */ |
| 1566 | if (IS_G4X(dev) || IS_IRONLAKE(dev)) { | 1572 | if (IS_G4X(dev) || IS_IRONLAKE(dev) || IS_GEN6(dev)) { |
| 1567 | dev->max_vblank_count = 0xffffffff; /* full 32 bit counter */ | 1573 | dev->max_vblank_count = 0xffffffff; /* full 32 bit counter */ |
| 1568 | dev->driver->get_vblank_counter = gm45_get_vblank_counter; | 1574 | dev->driver->get_vblank_counter = gm45_get_vblank_counter; |
| 1569 | } | 1575 | } |
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index ec06d4865a5f..f97592609da4 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h | |||
| @@ -1065,7 +1065,7 @@ extern int i915_wait_ring(struct drm_device * dev, int n, const char *caller); | |||
| 1065 | #define IS_845G(dev) ((dev)->pci_device == 0x2562) | 1065 | #define IS_845G(dev) ((dev)->pci_device == 0x2562) |
| 1066 | #define IS_I85X(dev) ((dev)->pci_device == 0x3582) | 1066 | #define IS_I85X(dev) ((dev)->pci_device == 0x3582) |
| 1067 | #define IS_I865G(dev) ((dev)->pci_device == 0x2572) | 1067 | #define IS_I865G(dev) ((dev)->pci_device == 0x2572) |
| 1068 | #define IS_I8XX(dev) (INTEL_INFO(dev)->is_i8xx) | 1068 | #define IS_GEN2(dev) (INTEL_INFO(dev)->is_i8xx) |
| 1069 | #define IS_I915G(dev) (INTEL_INFO(dev)->is_i915g) | 1069 | #define IS_I915G(dev) (INTEL_INFO(dev)->is_i915g) |
| 1070 | #define IS_I915GM(dev) ((dev)->pci_device == 0x2592) | 1070 | #define IS_I915GM(dev) ((dev)->pci_device == 0x2592) |
| 1071 | #define IS_I945G(dev) ((dev)->pci_device == 0x2772) | 1071 | #define IS_I945G(dev) ((dev)->pci_device == 0x2772) |
| @@ -1084,8 +1084,29 @@ extern int i915_wait_ring(struct drm_device * dev, int n, const char *caller); | |||
| 1084 | #define IS_I9XX(dev) (INTEL_INFO(dev)->is_i9xx) | 1084 | #define IS_I9XX(dev) (INTEL_INFO(dev)->is_i9xx) |
| 1085 | #define IS_MOBILE(dev) (INTEL_INFO(dev)->is_mobile) | 1085 | #define IS_MOBILE(dev) (INTEL_INFO(dev)->is_mobile) |
| 1086 | 1086 | ||
| 1087 | #define IS_GEN3(dev) (IS_I915G(dev) || \ | ||
| 1088 | IS_I915GM(dev) || \ | ||
| 1089 | IS_I945G(dev) || \ | ||
| 1090 | IS_I945GM(dev) || \ | ||
| 1091 | IS_G33(dev) || \ | ||
| 1092 | IS_PINEVIEW(dev)) | ||
| 1093 | #define IS_GEN4(dev) ((dev)->pci_device == 0x2972 || \ | ||
| 1094 | (dev)->pci_device == 0x2982 || \ | ||
| 1095 | (dev)->pci_device == 0x2992 || \ | ||
| 1096 | (dev)->pci_device == 0x29A2 || \ | ||
| 1097 | (dev)->pci_device == 0x2A02 || \ | ||
| 1098 | (dev)->pci_device == 0x2A12 || \ | ||
| 1099 | (dev)->pci_device == 0x2E02 || \ | ||
| 1100 | (dev)->pci_device == 0x2E12 || \ | ||
| 1101 | (dev)->pci_device == 0x2E22 || \ | ||
| 1102 | (dev)->pci_device == 0x2E32 || \ | ||
| 1103 | (dev)->pci_device == 0x2A42 || \ | ||
| 1104 | (dev)->pci_device == 0x2E42) | ||
| 1105 | |||
| 1087 | #define I915_NEED_GFX_HWS(dev) (INTEL_INFO(dev)->need_gfx_hws) | 1106 | #define I915_NEED_GFX_HWS(dev) (INTEL_INFO(dev)->need_gfx_hws) |
| 1088 | 1107 | ||
| 1108 | #define IS_GEN6(dev) ((dev)->pci_device == 0x0102) | ||
| 1109 | |||
| 1089 | /* With the 945 and later, Y tiling got adjusted so that it was 32 128-byte | 1110 | /* With the 945 and later, Y tiling got adjusted so that it was 32 128-byte |
| 1090 | * rows, which changed the alignment requirements and fence programming. | 1111 | * rows, which changed the alignment requirements and fence programming. |
| 1091 | */ | 1112 | */ |
| @@ -1106,6 +1127,9 @@ extern int i915_wait_ring(struct drm_device * dev, int n, const char *caller); | |||
| 1106 | #define I915_HAS_FBC(dev) (INTEL_INFO(dev)->has_fbc) | 1127 | #define I915_HAS_FBC(dev) (INTEL_INFO(dev)->has_fbc) |
| 1107 | #define I915_HAS_RC6(dev) (INTEL_INFO(dev)->has_rc6) | 1128 | #define I915_HAS_RC6(dev) (INTEL_INFO(dev)->has_rc6) |
| 1108 | 1129 | ||
| 1130 | #define HAS_PCH_SPLIT(dev) (IS_IRONLAKE(dev) || \ | ||
| 1131 | IS_GEN6(dev)) | ||
| 1132 | |||
| 1109 | #define PRIMARY_RINGBUFFER_SIZE (128*1024) | 1133 | #define PRIMARY_RINGBUFFER_SIZE (128*1024) |
| 1110 | 1134 | ||
| 1111 | #endif | 1135 | #endif |
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index b5df30ca0fa2..a35dc8c0882b 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c | |||
| @@ -1818,7 +1818,7 @@ i915_do_wait_request(struct drm_device *dev, uint32_t seqno, int interruptible) | |||
| 1818 | return -EIO; | 1818 | return -EIO; |
| 1819 | 1819 | ||
| 1820 | if (!i915_seqno_passed(i915_get_gem_seqno(dev), seqno)) { | 1820 | if (!i915_seqno_passed(i915_get_gem_seqno(dev), seqno)) { |
| 1821 | if (IS_IRONLAKE(dev)) | 1821 | if (HAS_PCH_SPLIT(dev)) |
| 1822 | ier = I915_READ(DEIER) | I915_READ(GTIER); | 1822 | ier = I915_READ(DEIER) | I915_READ(GTIER); |
| 1823 | else | 1823 | else |
| 1824 | ier = I915_READ(IER); | 1824 | ier = I915_READ(IER); |
diff --git a/drivers/gpu/drm/i915/i915_gem_tiling.c b/drivers/gpu/drm/i915/i915_gem_tiling.c index 20653776965a..b5c55d88ff76 100644 --- a/drivers/gpu/drm/i915/i915_gem_tiling.c +++ b/drivers/gpu/drm/i915/i915_gem_tiling.c | |||
| @@ -92,7 +92,7 @@ i915_gem_detect_bit_6_swizzle(struct drm_device *dev) | |||
| 92 | uint32_t swizzle_x = I915_BIT_6_SWIZZLE_UNKNOWN; | 92 | uint32_t swizzle_x = I915_BIT_6_SWIZZLE_UNKNOWN; |
| 93 | uint32_t swizzle_y = I915_BIT_6_SWIZZLE_UNKNOWN; | 93 | uint32_t swizzle_y = I915_BIT_6_SWIZZLE_UNKNOWN; |
| 94 | 94 | ||
| 95 | if (IS_IRONLAKE(dev)) { | 95 | if (IS_IRONLAKE(dev) || IS_GEN6(dev)) { |
| 96 | /* On Ironlake whatever DRAM config, GPU always do | 96 | /* On Ironlake whatever DRAM config, GPU always do |
| 97 | * same swizzling setup. | 97 | * same swizzling setup. |
| 98 | */ | 98 | */ |
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c index ba1d8314c1ce..ef79d9423f0a 100644 --- a/drivers/gpu/drm/i915/i915_irq.c +++ b/drivers/gpu/drm/i915/i915_irq.c | |||
| @@ -842,7 +842,7 @@ irqreturn_t i915_driver_irq_handler(DRM_IRQ_ARGS) | |||
| 842 | 842 | ||
| 843 | atomic_inc(&dev_priv->irq_received); | 843 | atomic_inc(&dev_priv->irq_received); |
| 844 | 844 | ||
| 845 | if (IS_IRONLAKE(dev)) | 845 | if (HAS_PCH_SPLIT(dev)) |
| 846 | return ironlake_irq_handler(dev); | 846 | return ironlake_irq_handler(dev); |
| 847 | 847 | ||
| 848 | iir = I915_READ(IIR); | 848 | iir = I915_READ(IIR); |
| @@ -1003,7 +1003,7 @@ void i915_user_irq_get(struct drm_device *dev) | |||
| 1003 | 1003 | ||
| 1004 | spin_lock_irqsave(&dev_priv->user_irq_lock, irqflags); | 1004 | spin_lock_irqsave(&dev_priv->user_irq_lock, irqflags); |
| 1005 | if (dev->irq_enabled && (++dev_priv->user_irq_refcount == 1)) { | 1005 | if (dev->irq_enabled && (++dev_priv->user_irq_refcount == 1)) { |
| 1006 | if (IS_IRONLAKE(dev)) | 1006 | if (HAS_PCH_SPLIT(dev)) |
| 1007 | ironlake_enable_graphics_irq(dev_priv, GT_USER_INTERRUPT); | 1007 | ironlake_enable_graphics_irq(dev_priv, GT_USER_INTERRUPT); |
| 1008 | else | 1008 | else |
| 1009 | i915_enable_irq(dev_priv, I915_USER_INTERRUPT); | 1009 | i915_enable_irq(dev_priv, I915_USER_INTERRUPT); |
| @@ -1019,7 +1019,7 @@ void i915_user_irq_put(struct drm_device *dev) | |||
| 1019 | spin_lock_irqsave(&dev_priv->user_irq_lock, irqflags); | 1019 | spin_lock_irqsave(&dev_priv->user_irq_lock, irqflags); |
| 1020 | BUG_ON(dev->irq_enabled && dev_priv->user_irq_refcount <= 0); | 1020 | BUG_ON(dev->irq_enabled && dev_priv->user_irq_refcount <= 0); |
| 1021 | if (dev->irq_enabled && (--dev_priv->user_irq_refcount == 0)) { | 1021 | if (dev->irq_enabled && (--dev_priv->user_irq_refcount == 0)) { |
| 1022 | if (IS_IRONLAKE(dev)) | 1022 | if (HAS_PCH_SPLIT(dev)) |
| 1023 | ironlake_disable_graphics_irq(dev_priv, GT_USER_INTERRUPT); | 1023 | ironlake_disable_graphics_irq(dev_priv, GT_USER_INTERRUPT); |
| 1024 | else | 1024 | else |
| 1025 | i915_disable_irq(dev_priv, I915_USER_INTERRUPT); | 1025 | i915_disable_irq(dev_priv, I915_USER_INTERRUPT); |
| @@ -1127,7 +1127,7 @@ int i915_enable_vblank(struct drm_device *dev, int pipe) | |||
| 1127 | return -EINVAL; | 1127 | return -EINVAL; |
| 1128 | 1128 | ||
| 1129 | spin_lock_irqsave(&dev_priv->user_irq_lock, irqflags); | 1129 | spin_lock_irqsave(&dev_priv->user_irq_lock, irqflags); |
| 1130 | if (IS_IRONLAKE(dev)) | 1130 | if (HAS_PCH_SPLIT(dev)) |
| 1131 | ironlake_enable_display_irq(dev_priv, (pipe == 0) ? | 1131 | ironlake_enable_display_irq(dev_priv, (pipe == 0) ? |
| 1132 | DE_PIPEA_VBLANK: DE_PIPEB_VBLANK); | 1132 | DE_PIPEA_VBLANK: DE_PIPEB_VBLANK); |
| 1133 | else if (IS_I965G(dev)) | 1133 | else if (IS_I965G(dev)) |
| @@ -1149,7 +1149,7 @@ void i915_disable_vblank(struct drm_device *dev, int pipe) | |||
| 1149 | unsigned long irqflags; | 1149 | unsigned long irqflags; |
| 1150 | 1150 | ||
| 1151 | spin_lock_irqsave(&dev_priv->user_irq_lock, irqflags); | 1151 | spin_lock_irqsave(&dev_priv->user_irq_lock, irqflags); |
| 1152 | if (IS_IRONLAKE(dev)) | 1152 | if (HAS_PCH_SPLIT(dev)) |
| 1153 | ironlake_disable_display_irq(dev_priv, (pipe == 0) ? | 1153 | ironlake_disable_display_irq(dev_priv, (pipe == 0) ? |
| 1154 | DE_PIPEA_VBLANK: DE_PIPEB_VBLANK); | 1154 | DE_PIPEA_VBLANK: DE_PIPEB_VBLANK); |
| 1155 | else | 1155 | else |
| @@ -1163,7 +1163,7 @@ void i915_enable_interrupt (struct drm_device *dev) | |||
| 1163 | { | 1163 | { |
| 1164 | struct drm_i915_private *dev_priv = dev->dev_private; | 1164 | struct drm_i915_private *dev_priv = dev->dev_private; |
| 1165 | 1165 | ||
| 1166 | if (!IS_IRONLAKE(dev)) | 1166 | if (!HAS_PCH_SPLIT(dev)) |
| 1167 | opregion_enable_asle(dev); | 1167 | opregion_enable_asle(dev); |
| 1168 | dev_priv->irq_enabled = 1; | 1168 | dev_priv->irq_enabled = 1; |
| 1169 | } | 1169 | } |
| @@ -1349,7 +1349,7 @@ void i915_driver_irq_preinstall(struct drm_device * dev) | |||
| 1349 | INIT_WORK(&dev_priv->hotplug_work, i915_hotplug_work_func); | 1349 | INIT_WORK(&dev_priv->hotplug_work, i915_hotplug_work_func); |
| 1350 | INIT_WORK(&dev_priv->error_work, i915_error_work_func); | 1350 | INIT_WORK(&dev_priv->error_work, i915_error_work_func); |
| 1351 | 1351 | ||
| 1352 | if (IS_IRONLAKE(dev)) { | 1352 | if (HAS_PCH_SPLIT(dev)) { |
| 1353 | ironlake_irq_preinstall(dev); | 1353 | ironlake_irq_preinstall(dev); |
| 1354 | return; | 1354 | return; |
| 1355 | } | 1355 | } |
| @@ -1381,7 +1381,7 @@ int i915_driver_irq_postinstall(struct drm_device *dev) | |||
| 1381 | 1381 | ||
| 1382 | dev_priv->vblank_pipe = DRM_I915_VBLANK_PIPE_A | DRM_I915_VBLANK_PIPE_B; | 1382 | dev_priv->vblank_pipe = DRM_I915_VBLANK_PIPE_A | DRM_I915_VBLANK_PIPE_B; |
| 1383 | 1383 | ||
| 1384 | if (IS_IRONLAKE(dev)) | 1384 | if (HAS_PCH_SPLIT(dev)) |
| 1385 | return ironlake_irq_postinstall(dev); | 1385 | return ironlake_irq_postinstall(dev); |
| 1386 | 1386 | ||
| 1387 | /* Unmask the interrupts that we always want on. */ | 1387 | /* Unmask the interrupts that we always want on. */ |
| @@ -1469,7 +1469,7 @@ void i915_driver_irq_uninstall(struct drm_device * dev) | |||
| 1469 | 1469 | ||
| 1470 | dev_priv->vblank_pipe = 0; | 1470 | dev_priv->vblank_pipe = 0; |
| 1471 | 1471 | ||
| 1472 | if (IS_IRONLAKE(dev)) { | 1472 | if (HAS_PCH_SPLIT(dev)) { |
| 1473 | ironlake_irq_uninstall(dev); | 1473 | ironlake_irq_uninstall(dev); |
| 1474 | return; | 1474 | return; |
| 1475 | } | 1475 | } |
diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c index 15fbc1b5a83e..70c9d4ba7042 100644 --- a/drivers/gpu/drm/i915/intel_bios.c +++ b/drivers/gpu/drm/i915/intel_bios.c | |||
| @@ -247,6 +247,7 @@ static void | |||
| 247 | parse_general_features(struct drm_i915_private *dev_priv, | 247 | parse_general_features(struct drm_i915_private *dev_priv, |
| 248 | struct bdb_header *bdb) | 248 | struct bdb_header *bdb) |
| 249 | { | 249 | { |
| 250 | struct drm_device *dev = dev_priv->dev; | ||
| 250 | struct bdb_general_features *general; | 251 | struct bdb_general_features *general; |
| 251 | 252 | ||
| 252 | /* Set sensible defaults in case we can't find the general block */ | 253 | /* Set sensible defaults in case we can't find the general block */ |
| @@ -263,7 +264,7 @@ parse_general_features(struct drm_i915_private *dev_priv, | |||
| 263 | if (IS_I85X(dev_priv->dev)) | 264 | if (IS_I85X(dev_priv->dev)) |
| 264 | dev_priv->lvds_ssc_freq = | 265 | dev_priv->lvds_ssc_freq = |
| 265 | general->ssc_freq ? 66 : 48; | 266 | general->ssc_freq ? 66 : 48; |
| 266 | else if (IS_IRONLAKE(dev_priv->dev)) | 267 | else if (IS_IRONLAKE(dev_priv->dev) || IS_GEN6(dev)) |
| 267 | dev_priv->lvds_ssc_freq = | 268 | dev_priv->lvds_ssc_freq = |
| 268 | general->ssc_freq ? 100 : 120; | 269 | general->ssc_freq ? 100 : 120; |
| 269 | else | 270 | else |
diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c index 79dd4026586f..fccf07470c8f 100644 --- a/drivers/gpu/drm/i915/intel_crt.c +++ b/drivers/gpu/drm/i915/intel_crt.c | |||
| @@ -39,7 +39,7 @@ static void intel_crt_dpms(struct drm_encoder *encoder, int mode) | |||
| 39 | struct drm_i915_private *dev_priv = dev->dev_private; | 39 | struct drm_i915_private *dev_priv = dev->dev_private; |
| 40 | u32 temp, reg; | 40 | u32 temp, reg; |
| 41 | 41 | ||
| 42 | if (IS_IRONLAKE(dev)) | 42 | if (HAS_PCH_SPLIT(dev)) |
| 43 | reg = PCH_ADPA; | 43 | reg = PCH_ADPA; |
| 44 | else | 44 | else |
| 45 | reg = ADPA; | 45 | reg = ADPA; |
| @@ -113,7 +113,7 @@ static void intel_crt_mode_set(struct drm_encoder *encoder, | |||
| 113 | else | 113 | else |
| 114 | dpll_md_reg = DPLL_B_MD; | 114 | dpll_md_reg = DPLL_B_MD; |
| 115 | 115 | ||
| 116 | if (IS_IRONLAKE(dev)) | 116 | if (HAS_PCH_SPLIT(dev)) |
| 117 | adpa_reg = PCH_ADPA; | 117 | adpa_reg = PCH_ADPA; |
| 118 | else | 118 | else |
| 119 | adpa_reg = ADPA; | 119 | adpa_reg = ADPA; |
| @@ -122,7 +122,7 @@ static void intel_crt_mode_set(struct drm_encoder *encoder, | |||
| 122 | * Disable separate mode multiplier used when cloning SDVO to CRT | 122 | * Disable separate mode multiplier used when cloning SDVO to CRT |
| 123 | * XXX this needs to be adjusted when we really are cloning | 123 | * XXX this needs to be adjusted when we really are cloning |
| 124 | */ | 124 | */ |
| 125 | if (IS_I965G(dev) && !IS_IRONLAKE(dev)) { | 125 | if (IS_I965G(dev) && !HAS_PCH_SPLIT(dev)) { |
| 126 | dpll_md = I915_READ(dpll_md_reg); | 126 | dpll_md = I915_READ(dpll_md_reg); |
| 127 | I915_WRITE(dpll_md_reg, | 127 | I915_WRITE(dpll_md_reg, |
| 128 | dpll_md & ~DPLL_MD_UDI_MULTIPLIER_MASK); | 128 | dpll_md & ~DPLL_MD_UDI_MULTIPLIER_MASK); |
| @@ -136,11 +136,11 @@ static void intel_crt_mode_set(struct drm_encoder *encoder, | |||
| 136 | 136 | ||
| 137 | if (intel_crtc->pipe == 0) { | 137 | if (intel_crtc->pipe == 0) { |
| 138 | adpa |= ADPA_PIPE_A_SELECT; | 138 | adpa |= ADPA_PIPE_A_SELECT; |
| 139 | if (!IS_IRONLAKE(dev)) | 139 | if (!HAS_PCH_SPLIT(dev)) |
| 140 | I915_WRITE(BCLRPAT_A, 0); | 140 | I915_WRITE(BCLRPAT_A, 0); |
| 141 | } else { | 141 | } else { |
| 142 | adpa |= ADPA_PIPE_B_SELECT; | 142 | adpa |= ADPA_PIPE_B_SELECT; |
| 143 | if (!IS_IRONLAKE(dev)) | 143 | if (!HAS_PCH_SPLIT(dev)) |
| 144 | I915_WRITE(BCLRPAT_B, 0); | 144 | I915_WRITE(BCLRPAT_B, 0); |
| 145 | } | 145 | } |
| 146 | 146 | ||
| @@ -202,7 +202,7 @@ static bool intel_crt_detect_hotplug(struct drm_connector *connector) | |||
| 202 | u32 hotplug_en; | 202 | u32 hotplug_en; |
| 203 | int i, tries = 0; | 203 | int i, tries = 0; |
| 204 | 204 | ||
| 205 | if (IS_IRONLAKE(dev)) | 205 | if (HAS_PCH_SPLIT(dev)) |
| 206 | return intel_ironlake_crt_detect_hotplug(connector); | 206 | return intel_ironlake_crt_detect_hotplug(connector); |
| 207 | 207 | ||
| 208 | /* | 208 | /* |
| @@ -524,7 +524,7 @@ void intel_crt_init(struct drm_device *dev) | |||
| 524 | &intel_output->enc); | 524 | &intel_output->enc); |
| 525 | 525 | ||
| 526 | /* Set up the DDC bus. */ | 526 | /* Set up the DDC bus. */ |
| 527 | if (IS_IRONLAKE(dev)) | 527 | if (HAS_PCH_SPLIT(dev)) |
| 528 | i2c_reg = PCH_GPIOA; | 528 | i2c_reg = PCH_GPIOA; |
| 529 | else { | 529 | else { |
| 530 | i2c_reg = GPIOA; | 530 | i2c_reg = GPIOA; |
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 1b5cd833bc70..ce28f18e0852 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c | |||
| @@ -232,7 +232,7 @@ struct intel_limit { | |||
| 232 | #define G4X_P2_DISPLAY_PORT_FAST 10 | 232 | #define G4X_P2_DISPLAY_PORT_FAST 10 |
| 233 | #define G4X_P2_DISPLAY_PORT_LIMIT 0 | 233 | #define G4X_P2_DISPLAY_PORT_LIMIT 0 |
| 234 | 234 | ||
| 235 | /* Ironlake */ | 235 | /* Ironlake / Sandybridge */ |
| 236 | /* as we calculate clock using (register_value + 2) for | 236 | /* as we calculate clock using (register_value + 2) for |
| 237 | N/M1/M2, so here the range value for them is (actual_value-2). | 237 | N/M1/M2, so here the range value for them is (actual_value-2). |
| 238 | */ | 238 | */ |
| @@ -690,7 +690,7 @@ static const intel_limit_t *intel_limit(struct drm_crtc *crtc) | |||
| 690 | struct drm_device *dev = crtc->dev; | 690 | struct drm_device *dev = crtc->dev; |
| 691 | const intel_limit_t *limit; | 691 | const intel_limit_t *limit; |
| 692 | 692 | ||
| 693 | if (IS_IRONLAKE(dev)) | 693 | if (HAS_PCH_SPLIT(dev)) |
| 694 | limit = intel_ironlake_limit(crtc); | 694 | limit = intel_ironlake_limit(crtc); |
| 695 | else if (IS_G4X(dev)) { | 695 | else if (IS_G4X(dev)) { |
| 696 | limit = intel_g4x_limit(crtc); | 696 | limit = intel_g4x_limit(crtc); |
| @@ -1371,7 +1371,7 @@ intel_pipe_set_base(struct drm_crtc *crtc, int x, int y, | |||
| 1371 | dspcntr &= ~DISPPLANE_TILED; | 1371 | dspcntr &= ~DISPPLANE_TILED; |
| 1372 | } | 1372 | } |
| 1373 | 1373 | ||
| 1374 | if (IS_IRONLAKE(dev)) | 1374 | if (HAS_PCH_SPLIT(dev)) |
| 1375 | /* must disable */ | 1375 | /* must disable */ |
| 1376 | dspcntr |= DISPPLANE_TRICKLE_FEED_DISABLE; | 1376 | dspcntr |= DISPPLANE_TRICKLE_FEED_DISABLE; |
| 1377 | 1377 | ||
| @@ -1432,7 +1432,7 @@ static void i915_disable_vga (struct drm_device *dev) | |||
| 1432 | u8 sr1; | 1432 | u8 sr1; |
| 1433 | u32 vga_reg; | 1433 | u32 vga_reg; |
| 1434 | 1434 | ||
| 1435 | if (IS_IRONLAKE(dev)) | 1435 | if (HAS_PCH_SPLIT(dev)) |
| 1436 | vga_reg = CPU_VGACNTRL; | 1436 | vga_reg = CPU_VGACNTRL; |
| 1437 | else | 1437 | else |
| 1438 | vga_reg = VGACNTRL; | 1438 | vga_reg = VGACNTRL; |
| @@ -2116,7 +2116,7 @@ static bool intel_crtc_mode_fixup(struct drm_crtc *crtc, | |||
| 2116 | struct drm_display_mode *adjusted_mode) | 2116 | struct drm_display_mode *adjusted_mode) |
| 2117 | { | 2117 | { |
| 2118 | struct drm_device *dev = crtc->dev; | 2118 | struct drm_device *dev = crtc->dev; |
| 2119 | if (IS_IRONLAKE(dev)) { | 2119 | if (HAS_PCH_SPLIT(dev)) { |
| 2120 | /* FDI link clock is fixed at 2.7G */ | 2120 | /* FDI link clock is fixed at 2.7G */ |
| 2121 | if (mode->clock * 3 > 27000 * 4) | 2121 | if (mode->clock * 3 > 27000 * 4) |
| 2122 | return MODE_CLOCK_HIGH; | 2122 | return MODE_CLOCK_HIGH; |
| @@ -2983,7 +2983,7 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc, | |||
| 2983 | refclk / 1000); | 2983 | refclk / 1000); |
| 2984 | } else if (IS_I9XX(dev)) { | 2984 | } else if (IS_I9XX(dev)) { |
| 2985 | refclk = 96000; | 2985 | refclk = 96000; |
| 2986 | if (IS_IRONLAKE(dev)) | 2986 | if (HAS_PCH_SPLIT(dev)) |
| 2987 | refclk = 120000; /* 120Mhz refclk */ | 2987 | refclk = 120000; /* 120Mhz refclk */ |
| 2988 | } else { | 2988 | } else { |
| 2989 | refclk = 48000; | 2989 | refclk = 48000; |
| @@ -3041,7 +3041,7 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc, | |||
| 3041 | } | 3041 | } |
| 3042 | 3042 | ||
| 3043 | /* FDI link */ | 3043 | /* FDI link */ |
| 3044 | if (IS_IRONLAKE(dev)) { | 3044 | if (HAS_PCH_SPLIT(dev)) { |
| 3045 | int lane, link_bw, bpp; | 3045 | int lane, link_bw, bpp; |
| 3046 | /* eDP doesn't require FDI link, so just set DP M/N | 3046 | /* eDP doesn't require FDI link, so just set DP M/N |
| 3047 | according to current link config */ | 3047 | according to current link config */ |
| @@ -3118,7 +3118,7 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc, | |||
| 3118 | * PCH B stepping, previous chipset stepping should be | 3118 | * PCH B stepping, previous chipset stepping should be |
| 3119 | * ignoring this setting. | 3119 | * ignoring this setting. |
| 3120 | */ | 3120 | */ |
| 3121 | if (IS_IRONLAKE(dev)) { | 3121 | if (HAS_PCH_SPLIT(dev)) { |
| 3122 | temp = I915_READ(PCH_DREF_CONTROL); | 3122 | temp = I915_READ(PCH_DREF_CONTROL); |
| 3123 | /* Always enable nonspread source */ | 3123 | /* Always enable nonspread source */ |
| 3124 | temp &= ~DREF_NONSPREAD_SOURCE_MASK; | 3124 | temp &= ~DREF_NONSPREAD_SOURCE_MASK; |
| @@ -3165,7 +3165,7 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc, | |||
| 3165 | reduced_clock.m2; | 3165 | reduced_clock.m2; |
| 3166 | } | 3166 | } |
| 3167 | 3167 | ||
| 3168 | if (!IS_IRONLAKE(dev)) | 3168 | if (!HAS_PCH_SPLIT(dev)) |
| 3169 | dpll = DPLL_VGA_MODE_DIS; | 3169 | dpll = DPLL_VGA_MODE_DIS; |
| 3170 | 3170 | ||
| 3171 | if (IS_I9XX(dev)) { | 3171 | if (IS_I9XX(dev)) { |
| @@ -3178,7 +3178,7 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc, | |||
| 3178 | sdvo_pixel_multiply = adjusted_mode->clock / mode->clock; | 3178 | sdvo_pixel_multiply = adjusted_mode->clock / mode->clock; |
| 3179 | if (IS_I945G(dev) || IS_I945GM(dev) || IS_G33(dev)) | 3179 | if (IS_I945G(dev) || IS_I945GM(dev) || IS_G33(dev)) |
| 3180 | dpll |= (sdvo_pixel_multiply - 1) << SDVO_MULTIPLIER_SHIFT_HIRES; | 3180 | dpll |= (sdvo_pixel_multiply - 1) << SDVO_MULTIPLIER_SHIFT_HIRES; |
| 3181 | else if (IS_IRONLAKE(dev)) | 3181 | else if (HAS_PCH_SPLIT(dev)) |
| 3182 | dpll |= (sdvo_pixel_multiply - 1) << PLL_REF_SDVO_HDMI_MULTIPLIER_SHIFT; | 3182 | dpll |= (sdvo_pixel_multiply - 1) << PLL_REF_SDVO_HDMI_MULTIPLIER_SHIFT; |
| 3183 | } | 3183 | } |
| 3184 | if (is_dp) | 3184 | if (is_dp) |
| @@ -3190,7 +3190,7 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc, | |||
| 3190 | else { | 3190 | else { |
| 3191 | dpll |= (1 << (clock.p1 - 1)) << DPLL_FPA01_P1_POST_DIV_SHIFT; | 3191 | dpll |= (1 << (clock.p1 - 1)) << DPLL_FPA01_P1_POST_DIV_SHIFT; |
| 3192 | /* also FPA1 */ | 3192 | /* also FPA1 */ |
| 3193 | if (IS_IRONLAKE(dev)) | 3193 | if (HAS_PCH_SPLIT(dev)) |
| 3194 | dpll |= (1 << (clock.p1 - 1)) << DPLL_FPA1_P1_POST_DIV_SHIFT; | 3194 | dpll |= (1 << (clock.p1 - 1)) << DPLL_FPA1_P1_POST_DIV_SHIFT; |
| 3195 | if (IS_G4X(dev) && has_reduced_clock) | 3195 | if (IS_G4X(dev) && has_reduced_clock) |
| 3196 | dpll |= (1 << (reduced_clock.p1 - 1)) << DPLL_FPA1_P1_POST_DIV_SHIFT; | 3196 | dpll |= (1 << (reduced_clock.p1 - 1)) << DPLL_FPA1_P1_POST_DIV_SHIFT; |
| @@ -3209,7 +3209,7 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc, | |||
| 3209 | dpll |= DPLLB_LVDS_P2_CLOCK_DIV_14; | 3209 | dpll |= DPLLB_LVDS_P2_CLOCK_DIV_14; |
| 3210 | break; | 3210 | break; |
| 3211 | } | 3211 | } |
| 3212 | if (IS_I965G(dev) && !IS_IRONLAKE(dev)) | 3212 | if (IS_I965G(dev) && !HAS_PCH_SPLIT(dev)) |
| 3213 | dpll |= (6 << PLL_LOAD_PULSE_PHASE_SHIFT); | 3213 | dpll |= (6 << PLL_LOAD_PULSE_PHASE_SHIFT); |
| 3214 | } else { | 3214 | } else { |
| 3215 | if (is_lvds) { | 3215 | if (is_lvds) { |
| @@ -3243,7 +3243,7 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc, | |||
| 3243 | 3243 | ||
| 3244 | /* Ironlake's plane is forced to pipe, bit 24 is to | 3244 | /* Ironlake's plane is forced to pipe, bit 24 is to |
| 3245 | enable color space conversion */ | 3245 | enable color space conversion */ |
| 3246 | if (!IS_IRONLAKE(dev)) { | 3246 | if (!HAS_PCH_SPLIT(dev)) { |
| 3247 | if (pipe == 0) | 3247 | if (pipe == 0) |
| 3248 | dspcntr &= ~DISPPLANE_SEL_PIPE_MASK; | 3248 | dspcntr &= ~DISPPLANE_SEL_PIPE_MASK; |
| 3249 | else | 3249 | else |
| @@ -3270,14 +3270,14 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc, | |||
| 3270 | 3270 | ||
| 3271 | 3271 | ||
| 3272 | /* Disable the panel fitter if it was on our pipe */ | 3272 | /* Disable the panel fitter if it was on our pipe */ |
| 3273 | if (!IS_IRONLAKE(dev) && intel_panel_fitter_pipe(dev) == pipe) | 3273 | if (!HAS_PCH_SPLIT(dev) && intel_panel_fitter_pipe(dev) == pipe) |
| 3274 | I915_WRITE(PFIT_CONTROL, 0); | 3274 | I915_WRITE(PFIT_CONTROL, 0); |
| 3275 | 3275 | ||
| 3276 | DRM_DEBUG_KMS("Mode for pipe %c:\n", pipe == 0 ? 'A' : 'B'); | 3276 | DRM_DEBUG_KMS("Mode for pipe %c:\n", pipe == 0 ? 'A' : 'B'); |
| 3277 | drm_mode_debug_printmodeline(mode); | 3277 | drm_mode_debug_printmodeline(mode); |
| 3278 | 3278 | ||
| 3279 | /* assign to Ironlake registers */ | 3279 | /* assign to Ironlake registers */ |
| 3280 | if (IS_IRONLAKE(dev)) { | 3280 | if (HAS_PCH_SPLIT(dev)) { |
| 3281 | fp_reg = pch_fp_reg; | 3281 | fp_reg = pch_fp_reg; |
| 3282 | dpll_reg = pch_dpll_reg; | 3282 | dpll_reg = pch_dpll_reg; |
| 3283 | } | 3283 | } |
| @@ -3298,7 +3298,7 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc, | |||
| 3298 | if (is_lvds) { | 3298 | if (is_lvds) { |
| 3299 | u32 lvds; | 3299 | u32 lvds; |
| 3300 | 3300 | ||
| 3301 | if (IS_IRONLAKE(dev)) | 3301 | if (HAS_PCH_SPLIT(dev)) |
| 3302 | lvds_reg = PCH_LVDS; | 3302 | lvds_reg = PCH_LVDS; |
| 3303 | 3303 | ||
| 3304 | lvds = I915_READ(lvds_reg); | 3304 | lvds = I915_READ(lvds_reg); |
| @@ -3344,7 +3344,7 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc, | |||
| 3344 | /* Wait for the clocks to stabilize. */ | 3344 | /* Wait for the clocks to stabilize. */ |
| 3345 | udelay(150); | 3345 | udelay(150); |
| 3346 | 3346 | ||
| 3347 | if (IS_I965G(dev) && !IS_IRONLAKE(dev)) { | 3347 | if (IS_I965G(dev) && !HAS_PCH_SPLIT(dev)) { |
| 3348 | if (is_sdvo) { | 3348 | if (is_sdvo) { |
| 3349 | sdvo_pixel_multiply = adjusted_mode->clock / mode->clock; | 3349 | sdvo_pixel_multiply = adjusted_mode->clock / mode->clock; |
| 3350 | I915_WRITE(dpll_md_reg, (0 << DPLL_MD_UDI_DIVIDER_SHIFT) | | 3350 | I915_WRITE(dpll_md_reg, (0 << DPLL_MD_UDI_DIVIDER_SHIFT) | |
| @@ -3391,14 +3391,14 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc, | |||
| 3391 | /* pipesrc and dspsize control the size that is scaled from, which should | 3391 | /* pipesrc and dspsize control the size that is scaled from, which should |
| 3392 | * always be the user's requested size. | 3392 | * always be the user's requested size. |
| 3393 | */ | 3393 | */ |
| 3394 | if (!IS_IRONLAKE(dev)) { | 3394 | if (!HAS_PCH_SPLIT(dev)) { |
| 3395 | I915_WRITE(dspsize_reg, ((mode->vdisplay - 1) << 16) | | 3395 | I915_WRITE(dspsize_reg, ((mode->vdisplay - 1) << 16) | |
| 3396 | (mode->hdisplay - 1)); | 3396 | (mode->hdisplay - 1)); |
| 3397 | I915_WRITE(dsppos_reg, 0); | 3397 | I915_WRITE(dsppos_reg, 0); |
| 3398 | } | 3398 | } |
| 3399 | I915_WRITE(pipesrc_reg, ((mode->hdisplay - 1) << 16) | (mode->vdisplay - 1)); | 3399 | I915_WRITE(pipesrc_reg, ((mode->hdisplay - 1) << 16) | (mode->vdisplay - 1)); |
| 3400 | 3400 | ||
| 3401 | if (IS_IRONLAKE(dev)) { | 3401 | if (HAS_PCH_SPLIT(dev)) { |
| 3402 | I915_WRITE(data_m1_reg, TU_SIZE(m_n.tu) | m_n.gmch_m); | 3402 | I915_WRITE(data_m1_reg, TU_SIZE(m_n.tu) | m_n.gmch_m); |
| 3403 | I915_WRITE(data_n1_reg, TU_SIZE(m_n.tu) | m_n.gmch_n); | 3403 | I915_WRITE(data_n1_reg, TU_SIZE(m_n.tu) | m_n.gmch_n); |
| 3404 | I915_WRITE(link_m1_reg, m_n.link_m); | 3404 | I915_WRITE(link_m1_reg, m_n.link_m); |
| @@ -3419,7 +3419,7 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc, | |||
| 3419 | 3419 | ||
| 3420 | intel_wait_for_vblank(dev); | 3420 | intel_wait_for_vblank(dev); |
| 3421 | 3421 | ||
| 3422 | if (IS_IRONLAKE(dev)) { | 3422 | if (HAS_PCH_SPLIT(dev)) { |
| 3423 | /* enable address swizzle for tiling buffer */ | 3423 | /* enable address swizzle for tiling buffer */ |
| 3424 | temp = I915_READ(DISP_ARB_CTL); | 3424 | temp = I915_READ(DISP_ARB_CTL); |
| 3425 | I915_WRITE(DISP_ARB_CTL, temp | DISP_TILE_SURFACE_SWIZZLING); | 3425 | I915_WRITE(DISP_ARB_CTL, temp | DISP_TILE_SURFACE_SWIZZLING); |
| @@ -3454,7 +3454,7 @@ void intel_crtc_load_lut(struct drm_crtc *crtc) | |||
| 3454 | return; | 3454 | return; |
| 3455 | 3455 | ||
| 3456 | /* use legacy palette for Ironlake */ | 3456 | /* use legacy palette for Ironlake */ |
| 3457 | if (IS_IRONLAKE(dev)) | 3457 | if (HAS_PCH_SPLIT(dev)) |
| 3458 | palreg = (intel_crtc->pipe == 0) ? LGC_PALETTE_A : | 3458 | palreg = (intel_crtc->pipe == 0) ? LGC_PALETTE_A : |
| 3459 | LGC_PALETTE_B; | 3459 | LGC_PALETTE_B; |
| 3460 | 3460 | ||
| @@ -3937,7 +3937,7 @@ static void intel_increase_pllclock(struct drm_crtc *crtc, bool schedule) | |||
| 3937 | int dpll_reg = (pipe == 0) ? DPLL_A : DPLL_B; | 3937 | int dpll_reg = (pipe == 0) ? DPLL_A : DPLL_B; |
| 3938 | int dpll = I915_READ(dpll_reg); | 3938 | int dpll = I915_READ(dpll_reg); |
| 3939 | 3939 | ||
| 3940 | if (IS_IRONLAKE(dev)) | 3940 | if (HAS_PCH_SPLIT(dev)) |
| 3941 | return; | 3941 | return; |
| 3942 | 3942 | ||
| 3943 | if (!dev_priv->lvds_downclock_avail) | 3943 | if (!dev_priv->lvds_downclock_avail) |
| @@ -3976,7 +3976,7 @@ static void intel_decrease_pllclock(struct drm_crtc *crtc) | |||
| 3976 | int dpll_reg = (pipe == 0) ? DPLL_A : DPLL_B; | 3976 | int dpll_reg = (pipe == 0) ? DPLL_A : DPLL_B; |
| 3977 | int dpll = I915_READ(dpll_reg); | 3977 | int dpll = I915_READ(dpll_reg); |
| 3978 | 3978 | ||
| 3979 | if (IS_IRONLAKE(dev)) | 3979 | if (HAS_PCH_SPLIT(dev)) |
| 3980 | return; | 3980 | return; |
| 3981 | 3981 | ||
| 3982 | if (!dev_priv->lvds_downclock_avail) | 3982 | if (!dev_priv->lvds_downclock_avail) |
| @@ -4418,7 +4418,7 @@ static void intel_setup_outputs(struct drm_device *dev) | |||
| 4418 | if (IS_MOBILE(dev) && !IS_I830(dev)) | 4418 | if (IS_MOBILE(dev) && !IS_I830(dev)) |
| 4419 | intel_lvds_init(dev); | 4419 | intel_lvds_init(dev); |
| 4420 | 4420 | ||
| 4421 | if (IS_IRONLAKE(dev)) { | 4421 | if (HAS_PCH_SPLIT(dev)) { |
| 4422 | int found; | 4422 | int found; |
| 4423 | 4423 | ||
| 4424 | if (IS_MOBILE(dev) && (I915_READ(DP_A) & DP_DETECTED)) | 4424 | if (IS_MOBILE(dev) && (I915_READ(DP_A) & DP_DETECTED)) |
| @@ -4487,7 +4487,7 @@ static void intel_setup_outputs(struct drm_device *dev) | |||
| 4487 | DRM_DEBUG_KMS("probing DP_D\n"); | 4487 | DRM_DEBUG_KMS("probing DP_D\n"); |
| 4488 | intel_dp_init(dev, DP_D); | 4488 | intel_dp_init(dev, DP_D); |
| 4489 | } | 4489 | } |
| 4490 | } else if (IS_I8XX(dev)) | 4490 | } else if (IS_GEN2(dev)) |
| 4491 | intel_dvo_init(dev); | 4491 | intel_dvo_init(dev); |
| 4492 | 4492 | ||
| 4493 | if (SUPPORTS_TV(dev)) | 4493 | if (SUPPORTS_TV(dev)) |
| @@ -4716,7 +4716,7 @@ void intel_init_clock_gating(struct drm_device *dev) | |||
| 4716 | * Disable clock gating reported to work incorrectly according to the | 4716 | * Disable clock gating reported to work incorrectly according to the |
| 4717 | * specs, but enable as much else as we can. | 4717 | * specs, but enable as much else as we can. |
| 4718 | */ | 4718 | */ |
| 4719 | if (IS_IRONLAKE(dev)) { | 4719 | if (HAS_PCH_SPLIT(dev)) { |
| 4720 | return; | 4720 | return; |
| 4721 | } else if (IS_G4X(dev)) { | 4721 | } else if (IS_G4X(dev)) { |
| 4722 | uint32_t dspclk_gate; | 4722 | uint32_t dspclk_gate; |
| @@ -4789,7 +4789,7 @@ static void intel_init_display(struct drm_device *dev) | |||
| 4789 | struct drm_i915_private *dev_priv = dev->dev_private; | 4789 | struct drm_i915_private *dev_priv = dev->dev_private; |
| 4790 | 4790 | ||
| 4791 | /* We always want a DPMS function */ | 4791 | /* We always want a DPMS function */ |
| 4792 | if (IS_IRONLAKE(dev)) | 4792 | if (HAS_PCH_SPLIT(dev)) |
| 4793 | dev_priv->display.dpms = ironlake_crtc_dpms; | 4793 | dev_priv->display.dpms = ironlake_crtc_dpms; |
| 4794 | else | 4794 | else |
| 4795 | dev_priv->display.dpms = i9xx_crtc_dpms; | 4795 | dev_priv->display.dpms = i9xx_crtc_dpms; |
| @@ -4832,7 +4832,7 @@ static void intel_init_display(struct drm_device *dev) | |||
| 4832 | i830_get_display_clock_speed; | 4832 | i830_get_display_clock_speed; |
| 4833 | 4833 | ||
| 4834 | /* For FIFO watermark updates */ | 4834 | /* For FIFO watermark updates */ |
| 4835 | if (IS_IRONLAKE(dev)) | 4835 | if (HAS_PCH_SPLIT(dev)) |
| 4836 | dev_priv->display.update_wm = NULL; | 4836 | dev_priv->display.update_wm = NULL; |
| 4837 | else if (IS_G4X(dev)) | 4837 | else if (IS_G4X(dev)) |
| 4838 | dev_priv->display.update_wm = g4x_update_wm; | 4838 | dev_priv->display.update_wm = g4x_update_wm; |
diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c index 93031a75d112..e91e81de5c71 100644 --- a/drivers/gpu/drm/i915/intel_lvds.c +++ b/drivers/gpu/drm/i915/intel_lvds.c | |||
| @@ -661,7 +661,7 @@ static enum drm_connector_status intel_lvds_detect(struct drm_connector *connect | |||
| 661 | /* ACPI lid methods were generally unreliable in this generation, so | 661 | /* ACPI lid methods were generally unreliable in this generation, so |
| 662 | * don't even bother. | 662 | * don't even bother. |
| 663 | */ | 663 | */ |
| 664 | if (IS_I8XX(dev)) | 664 | if (IS_GEN2(dev)) |
| 665 | return connector_status_connected; | 665 | return connector_status_connected; |
| 666 | 666 | ||
| 667 | if (!dmi_check_system(bad_lid_status) && !acpi_lid_open()) | 667 | if (!dmi_check_system(bad_lid_status) && !acpi_lid_open()) |
diff --git a/drivers/gpu/drm/i915/intel_overlay.c b/drivers/gpu/drm/i915/intel_overlay.c index c3fa406912b3..d355d1d527e7 100644 --- a/drivers/gpu/drm/i915/intel_overlay.c +++ b/drivers/gpu/drm/i915/intel_overlay.c | |||
| @@ -172,7 +172,7 @@ struct overlay_registers { | |||
| 172 | #define OFC_UPDATE 0x1 | 172 | #define OFC_UPDATE 0x1 |
| 173 | 173 | ||
| 174 | #define OVERLAY_NONPHYSICAL(dev) (IS_G33(dev) || IS_I965G(dev)) | 174 | #define OVERLAY_NONPHYSICAL(dev) (IS_G33(dev) || IS_I965G(dev)) |
| 175 | #define OVERLAY_EXISTS(dev) (!IS_G4X(dev) && !IS_IRONLAKE(dev)) | 175 | #define OVERLAY_EXISTS(dev) (!IS_G4X(dev) && !IS_IRONLAKE(dev) && !IS_GEN6(dev)) |
| 176 | 176 | ||
| 177 | 177 | ||
| 178 | static struct overlay_registers *intel_overlay_map_regs_atomic(struct intel_overlay *overlay) | 178 | static struct overlay_registers *intel_overlay_map_regs_atomic(struct intel_overlay *overlay) |
