|
@@ -3009,18 +3009,34 @@ g4x_dp_detect(struct intel_dp *intel_dp)
|
|
|
return status;
|
|
|
}
|
|
|
|
|
|
- switch (intel_dig_port->port) {
|
|
|
- case PORT_B:
|
|
|
- bit = PORTB_HOTPLUG_LIVE_STATUS;
|
|
|
- break;
|
|
|
- case PORT_C:
|
|
|
- bit = PORTC_HOTPLUG_LIVE_STATUS;
|
|
|
- break;
|
|
|
- case PORT_D:
|
|
|
- bit = PORTD_HOTPLUG_LIVE_STATUS;
|
|
|
- break;
|
|
|
- default:
|
|
|
- return connector_status_unknown;
|
|
|
+ if (IS_VALLEYVIEW(dev)) {
|
|
|
+ switch (intel_dig_port->port) {
|
|
|
+ case PORT_B:
|
|
|
+ bit = PORTB_HOTPLUG_LIVE_STATUS_VLV;
|
|
|
+ break;
|
|
|
+ case PORT_C:
|
|
|
+ bit = PORTC_HOTPLUG_LIVE_STATUS_VLV;
|
|
|
+ break;
|
|
|
+ case PORT_D:
|
|
|
+ bit = PORTD_HOTPLUG_LIVE_STATUS_VLV;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ return connector_status_unknown;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ switch (intel_dig_port->port) {
|
|
|
+ case PORT_B:
|
|
|
+ bit = PORTB_HOTPLUG_LIVE_STATUS_G4X;
|
|
|
+ break;
|
|
|
+ case PORT_C:
|
|
|
+ bit = PORTC_HOTPLUG_LIVE_STATUS_G4X;
|
|
|
+ break;
|
|
|
+ case PORT_D:
|
|
|
+ bit = PORTD_HOTPLUG_LIVE_STATUS_G4X;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ return connector_status_unknown;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
if ((I915_READ(PORT_HOTPLUG_STAT) & bit) == 0)
|