diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_dp.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_dp.c | 40 |
1 files changed, 28 insertions, 12 deletions
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index 689b832f7551..5ede4e8e290d 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c | |||
@@ -3009,18 +3009,34 @@ g4x_dp_detect(struct intel_dp *intel_dp) | |||
3009 | return status; | 3009 | return status; |
3010 | } | 3010 | } |
3011 | 3011 | ||
3012 | switch (intel_dig_port->port) { | 3012 | if (IS_VALLEYVIEW(dev)) { |
3013 | case PORT_B: | 3013 | switch (intel_dig_port->port) { |
3014 | bit = PORTB_HOTPLUG_LIVE_STATUS; | 3014 | case PORT_B: |
3015 | break; | 3015 | bit = PORTB_HOTPLUG_LIVE_STATUS_VLV; |
3016 | case PORT_C: | 3016 | break; |
3017 | bit = PORTC_HOTPLUG_LIVE_STATUS; | 3017 | case PORT_C: |
3018 | break; | 3018 | bit = PORTC_HOTPLUG_LIVE_STATUS_VLV; |
3019 | case PORT_D: | 3019 | break; |
3020 | bit = PORTD_HOTPLUG_LIVE_STATUS; | 3020 | case PORT_D: |
3021 | break; | 3021 | bit = PORTD_HOTPLUG_LIVE_STATUS_VLV; |
3022 | default: | 3022 | break; |
3023 | return connector_status_unknown; | 3023 | default: |
3024 | return connector_status_unknown; | ||
3025 | } | ||
3026 | } else { | ||
3027 | switch (intel_dig_port->port) { | ||
3028 | case PORT_B: | ||
3029 | bit = PORTB_HOTPLUG_LIVE_STATUS_G4X; | ||
3030 | break; | ||
3031 | case PORT_C: | ||
3032 | bit = PORTC_HOTPLUG_LIVE_STATUS_G4X; | ||
3033 | break; | ||
3034 | case PORT_D: | ||
3035 | bit = PORTD_HOTPLUG_LIVE_STATUS_G4X; | ||
3036 | break; | ||
3037 | default: | ||
3038 | return connector_status_unknown; | ||
3039 | } | ||
3024 | } | 3040 | } |
3025 | 3041 | ||
3026 | if ((I915_READ(PORT_HOTPLUG_STAT) & bit) == 0) | 3042 | if ((I915_READ(PORT_HOTPLUG_STAT) & bit) == 0) |