radeon_hd: auxPin zero is valid, check also on eDP type
EDID is correctly read. It can then be passed to the app_server. At least the app_server tries to set the native resolution. It doesn't really help to get further, because the ATOMBios code can't handle newer table versions (for instance 3.2). Change-Id: If68828bcfda447ecf7d4432ae2872bbdbc0704d5 Reviewed-on: https://review.haiku-os.org/c/haiku/+/5508 Tested-by: Commit checker robot <[email protected]> Reviewed-by: Alex von Gluck IV <[email protected]>
This commit is contained in:
committed by
waddlesplash
parent
fe2bcea730
commit
c34b7168f4
@@ -264,8 +264,10 @@ detect_displays()
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gConnector[id]->type == VIDEO_CONNECTOR_DP) {
|
if (gConnector[id]->type == VIDEO_CONNECTOR_DP
|
||||||
TRACE("%s: connector(%" B_PRIu32 "): Checking DP.\n", __func__, id);
|
|| gConnector[id]->type == VIDEO_CONNECTOR_EDP) {
|
||||||
|
TRACE("%s: connector(%" B_PRIu32 "): Checking %sDP.\n", __func__, id,
|
||||||
|
gConnector[id]->type == VIDEO_CONNECTOR_EDP ? "e" : "");
|
||||||
|
|
||||||
if (gConnector[id]->encoderExternal.valid == true) {
|
if (gConnector[id]->encoderExternal.valid == true) {
|
||||||
// If this has a valid external encoder (dp bridge)
|
// If this has a valid external encoder (dp bridge)
|
||||||
@@ -284,6 +286,8 @@ detect_displays()
|
|||||||
if (gDisplay[displayIndex]->attached) {
|
if (gDisplay[displayIndex]->attached) {
|
||||||
TRACE("%s: connector(%" B_PRIu32 "): Found DisplayPort EDID!\n",
|
TRACE("%s: connector(%" B_PRIu32 "): Found DisplayPort EDID!\n",
|
||||||
__func__, id);
|
__func__, id);
|
||||||
|
gInfo->shared_info->has_edid = true;
|
||||||
|
edid_dump(edid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -37,8 +37,8 @@ dp_aux_speak(uint32 connectorIndex, uint8* send, int sendBytes,
|
|||||||
uint8* recv, int recvBytes, uint8 delay, uint8* ack)
|
uint8* recv, int recvBytes, uint8 delay, uint8* ack)
|
||||||
{
|
{
|
||||||
dp_info* dpInfo = &gConnector[connectorIndex]->dpInfo;
|
dp_info* dpInfo = &gConnector[connectorIndex]->dpInfo;
|
||||||
if (dpInfo->auxPin == 0) {
|
if (!dpInfo->valid) {
|
||||||
ERROR("%s: cannot speak on invalid GPIO pin!\n", __func__);
|
ERROR("%s: cannot speak on invalid dpInfo!\n", __func__);
|
||||||
return B_IO_ERROR;
|
return B_IO_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user