aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZhenyu Wang <zhenyuw@linux.intel.com>2009-11-26 22:44:36 -0500
committerEric Anholt <eric@anholt.net>2009-12-01 12:00:04 -0500
commit103a196f4224dc6872081305cf7f82ebf67aa7bd (patch)
tree7f204130719c2bd25e8de219d078a9e4f2a0b128
parentc35614380d5c956bfda20eab2755b2f5a7d6f1e7 (diff)
drm/i915: PineView only has LVDS and CRT ports
PineView only has 2 ports for LVDS and CRT. Don't enable other ports for it. Cc: Shaohua Li <shaohua.li@intel.com> Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> Signed-off-by: Eric Anholt <eric@anholt.net>
-rw-r--r--drivers/gpu/drm/i915/i915_drv.h4
-rw-r--r--drivers/gpu/drm/i915/intel_display.c6
2 files changed, 7 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index cc91cff8871c..450dcf0d25c8 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -964,6 +964,7 @@ extern int i915_wait_ring(struct drm_device * dev, int n, const char *caller);
964#define IS_845G(dev) ((dev)->pci_device == 0x2562) 964#define IS_845G(dev) ((dev)->pci_device == 0x2562)
965#define IS_I85X(dev) ((dev)->pci_device == 0x3582) 965#define IS_I85X(dev) ((dev)->pci_device == 0x3582)
966#define IS_I865G(dev) ((dev)->pci_device == 0x2572) 966#define IS_I865G(dev) ((dev)->pci_device == 0x2572)
967#define IS_I8XX(dev) (IS_I830(dev) || IS_845G(dev) || IS_I85X(dev) || IS_I865G(dev))
967 968
968#define IS_I915G(dev) ((dev)->pci_device == 0x2582 || (dev)->pci_device == 0x258a) 969#define IS_I915G(dev) ((dev)->pci_device == 0x2582 || (dev)->pci_device == 0x258a)
969#define IS_I915GM(dev) ((dev)->pci_device == 0x2592) 970#define IS_I915GM(dev) ((dev)->pci_device == 0x2592)
@@ -1025,9 +1026,12 @@ extern int i915_wait_ring(struct drm_device * dev, int n, const char *caller);
1025 */ 1026 */
1026#define HAS_128_BYTE_Y_TILING(dev) (IS_I9XX(dev) && !(IS_I915G(dev) || \ 1027#define HAS_128_BYTE_Y_TILING(dev) (IS_I9XX(dev) && !(IS_I915G(dev) || \
1027 IS_I915GM(dev))) 1028 IS_I915GM(dev)))
1029#define SUPPORTS_DIGITAL_OUTPUTS(dev) (IS_I9XX(dev) && !IS_IGD(dev))
1028#define SUPPORTS_INTEGRATED_HDMI(dev) (IS_G4X(dev) || IS_IGDNG(dev)) 1030#define SUPPORTS_INTEGRATED_HDMI(dev) (IS_G4X(dev) || IS_IGDNG(dev))
1029#define SUPPORTS_INTEGRATED_DP(dev) (IS_G4X(dev) || IS_IGDNG(dev)) 1031#define SUPPORTS_INTEGRATED_DP(dev) (IS_G4X(dev) || IS_IGDNG(dev))
1030#define SUPPORTS_EDP(dev) (IS_IGDNG_M(dev)) 1032#define SUPPORTS_EDP(dev) (IS_IGDNG_M(dev))
1033#define SUPPORTS_TV(dev) (IS_I9XX(dev) && IS_MOBILE(dev) && \
1034 !IS_IGDNG(dev) && !IS_IGD(dev))
1031#define I915_HAS_HOTPLUG(dev) (IS_I945G(dev) || IS_I945GM(dev) || IS_G33(dev) || IS_I965G(dev)) 1035#define I915_HAS_HOTPLUG(dev) (IS_I945G(dev) || IS_I945GM(dev) || IS_G33(dev) || IS_I965G(dev))
1032/* dsparb controlled by hw only */ 1036/* dsparb controlled by hw only */
1033#define DSPARB_HWCONTROL(dev) (IS_G4X(dev) || IS_IGDNG(dev)) 1037#define DSPARB_HWCONTROL(dev) (IS_G4X(dev) || IS_IGDNG(dev))
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index d2519f0136ef..002c07daf9b8 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -4219,7 +4219,7 @@ static void intel_setup_outputs(struct drm_device *dev)
4219 if (I915_READ(PCH_DP_D) & DP_DETECTED) 4219 if (I915_READ(PCH_DP_D) & DP_DETECTED)
4220 intel_dp_init(dev, PCH_DP_D); 4220 intel_dp_init(dev, PCH_DP_D);
4221 4221
4222 } else if (IS_I9XX(dev)) { 4222 } else if (SUPPORTS_DIGITAL_OUTPUTS(dev)) {
4223 bool found = false; 4223 bool found = false;
4224 4224
4225 if (I915_READ(SDVOB) & SDVO_DETECTED) { 4225 if (I915_READ(SDVOB) & SDVO_DETECTED) {
@@ -4246,10 +4246,10 @@ static void intel_setup_outputs(struct drm_device *dev)
4246 4246
4247 if (SUPPORTS_INTEGRATED_DP(dev) && (I915_READ(DP_D) & DP_DETECTED)) 4247 if (SUPPORTS_INTEGRATED_DP(dev) && (I915_READ(DP_D) & DP_DETECTED))
4248 intel_dp_init(dev, DP_D); 4248 intel_dp_init(dev, DP_D);
4249 } else 4249 } else if (IS_I8XX(dev))
4250 intel_dvo_init(dev); 4250 intel_dvo_init(dev);
4251 4251
4252 if (IS_I9XX(dev) && IS_MOBILE(dev) && !IS_IGDNG(dev)) 4252 if (SUPPORTS_TV(dev))
4253 intel_tv_init(dev); 4253 intel_tv_init(dev);
4254 4254
4255 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { 4255 list_for_each_entry(connector, &dev->mode_config.connector_list, head) {