Begin to utilize encoder link enumeration
* Check link enumeration for linkb during encoder dig picking * Show encoder link enumeration in connector debug output
This commit is contained in:
@@ -1009,6 +1009,8 @@ debug_connectors()
|
|||||||
ERROR(" - id: %" B_PRIu16 "\n", encoderID);
|
ERROR(" - id: %" B_PRIu16 "\n", encoderID);
|
||||||
ERROR(" - type: %s\n",
|
ERROR(" - type: %s\n",
|
||||||
encoder_name_lookup(encoderID));
|
encoder_name_lookup(encoderID));
|
||||||
|
ERROR(" - enumeration: %" B_PRIu32 "\n",
|
||||||
|
gConnector[id]->encoder.linkEnumeration);
|
||||||
|
|
||||||
bool attribute = false;
|
bool attribute = false;
|
||||||
ERROR(" - attributes:\n");
|
ERROR(" - attributes:\n");
|
||||||
|
|||||||
@@ -185,13 +185,13 @@ encoder_pick_dig(uint8 crtcID)
|
|||||||
uint32 connectorIndex = gDisplay[crtcID]->connectorIndex;
|
uint32 connectorIndex = gDisplay[crtcID]->connectorIndex;
|
||||||
uint32 encoderID = gConnector[connectorIndex]->encoder.objectID;
|
uint32 encoderID = gConnector[connectorIndex]->encoder.objectID;
|
||||||
|
|
||||||
// TODO: we assume link a for now
|
bool linkB = gConnector[connectorIndex]->encoder.linkEnumeration
|
||||||
uint8 linkID = 0;
|
== GRAPH_OBJECT_ENUM_ID2 ? true : false;
|
||||||
|
|
||||||
if (info.dceMajor >= 4) {
|
if (info.dceMajor >= 4) {
|
||||||
switch (info.chipsetID) {
|
switch (info.chipsetID) {
|
||||||
case RADEON_PALM:
|
case RADEON_PALM:
|
||||||
return linkID;
|
return linkB ? 1 : 0;
|
||||||
case RADEON_SUMO:
|
case RADEON_SUMO:
|
||||||
case RADEON_SUMO2:
|
case RADEON_SUMO2:
|
||||||
// llano follows dce 3.2
|
// llano follows dce 3.2
|
||||||
@@ -200,11 +200,11 @@ encoder_pick_dig(uint8 crtcID)
|
|||||||
|
|
||||||
switch (encoderID) {
|
switch (encoderID) {
|
||||||
case ENCODER_OBJECT_ID_INTERNAL_UNIPHY:
|
case ENCODER_OBJECT_ID_INTERNAL_UNIPHY:
|
||||||
return linkID ? 1 : 0;
|
return linkB ? 1 : 0;
|
||||||
case ENCODER_OBJECT_ID_INTERNAL_UNIPHY1:
|
case ENCODER_OBJECT_ID_INTERNAL_UNIPHY1:
|
||||||
return linkID ? 3 : 2;
|
return linkB ? 3 : 2;
|
||||||
case ENCODER_OBJECT_ID_INTERNAL_UNIPHY2:
|
case ENCODER_OBJECT_ID_INTERNAL_UNIPHY2:
|
||||||
return linkID ? 5 : 4;
|
return linkB ? 5 : 4;
|
||||||
}
|
}
|
||||||
ERROR("%s: picking DIG encoder on non-DIG dce 4+ encoder!\n", __func__);
|
ERROR("%s: picking DIG encoder on non-DIG dce 4+ encoder!\n", __func__);
|
||||||
} else if ((info.dceMajor >= 3) && (info.dceMinor >= 2)) {
|
} else if ((info.dceMajor >= 3) && (info.dceMinor >= 2)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user