radeon_hd: Reduce complexity in connector setup
* Map connector under consideration to pointer in connector probing.
This commit is contained in:
@@ -567,6 +567,8 @@ connector_probe()
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
connector_info* connector = gConnector[connectorIndex];
|
||||||
|
|
||||||
int32 j;
|
int32 j;
|
||||||
for (j = 0; j < ((B_LENDIAN_TO_HOST_INT16(path->usSize) - 8) / 2);
|
for (j = 0; j < ((B_LENDIAN_TO_HOST_INT16(path->usSize) - 8) / 2);
|
||||||
j++) {
|
j++) {
|
||||||
@@ -628,24 +630,19 @@ connector_probe()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Set up found connector
|
// Set up found connector
|
||||||
gConnector[connectorIndex]->encoder.valid
|
connector->encoder.valid = true;
|
||||||
= true;
|
connector->encoder.flags = connectorFlags;
|
||||||
gConnector[connectorIndex]->encoder.flags
|
connector->encoder.objectID = encoderID;
|
||||||
= connectorFlags;
|
connector->encoder.type = encoderType;
|
||||||
gConnector[connectorIndex]->encoder.objectID
|
connector->encoder.linkEnumeration
|
||||||
= encoderID;
|
|
||||||
gConnector[connectorIndex]->encoder.type
|
|
||||||
= encoderType;
|
|
||||||
gConnector[connectorIndex]->encoder.linkEnumeration
|
|
||||||
= (encoderObjectRaw & ENUM_ID_MASK)
|
= (encoderObjectRaw & ENUM_ID_MASK)
|
||||||
>> ENUM_ID_SHIFT;
|
>> ENUM_ID_SHIFT;
|
||||||
gConnector[connectorIndex]->encoder.isExternal
|
connector->encoder.isExternal
|
||||||
= encoder_is_external(encoderID);
|
= encoder_is_external(encoderID);
|
||||||
gConnector[connectorIndex]->encoder.isDPBridge
|
connector->encoder.isDPBridge
|
||||||
= encoder_is_dp_bridge(encoderID);
|
= encoder_is_dp_bridge(encoderID);
|
||||||
|
|
||||||
pll_limit_probe(
|
pll_limit_probe(&connector->encoder.pll);
|
||||||
&gConnector[connectorIndex]->encoder.pll);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// END if object is encoder
|
// END if object is encoder
|
||||||
@@ -699,23 +696,23 @@ connector_probe()
|
|||||||
|
|
||||||
// TODO: aux chan transactions
|
// TODO: aux chan transactions
|
||||||
|
|
||||||
gConnector[connectorIndex]->valid = true;
|
connector->valid = true;
|
||||||
gConnector[connectorIndex]->flags = connectorFlags;
|
connector->flags = connectorFlags;
|
||||||
gConnector[connectorIndex]->type = connectorType;
|
connector->type = connectorType;
|
||||||
gConnector[connectorIndex]->objectID = connectorObjectID;
|
connector->objectID = connectorObjectID;
|
||||||
|
|
||||||
gConnector[connectorIndex]->encoder.isTV = false;
|
connector->encoder.isTV = false;
|
||||||
gConnector[connectorIndex]->encoder.isHDMI = false;
|
connector->encoder.isHDMI = false;
|
||||||
|
|
||||||
switch (connectorType) {
|
switch (connectorType) {
|
||||||
case VIDEO_CONNECTOR_COMPOSITE:
|
case VIDEO_CONNECTOR_COMPOSITE:
|
||||||
case VIDEO_CONNECTOR_SVIDEO:
|
case VIDEO_CONNECTOR_SVIDEO:
|
||||||
case VIDEO_CONNECTOR_9DIN:
|
case VIDEO_CONNECTOR_9DIN:
|
||||||
gConnector[connectorIndex]->encoder.isTV = true;
|
connector->encoder.isTV = true;
|
||||||
break;
|
break;
|
||||||
case VIDEO_CONNECTOR_HDMIA:
|
case VIDEO_CONNECTOR_HDMIA:
|
||||||
case VIDEO_CONNECTOR_HDMIB:
|
case VIDEO_CONNECTOR_HDMIB:
|
||||||
gConnector[connectorIndex]->encoder.isHDMI = true;
|
connector->encoder.isHDMI = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user