1138,6 → 1138,10 |
if (!radeon_connector->dac_load_detect) |
return ret; |
|
r = pm_runtime_get_sync(connector->dev->dev); |
if (r < 0) |
return connector_status_disconnected; |
|
encoder = radeon_best_single_encoder(connector); |
if (!encoder) |
ret = connector_status_disconnected; |
1148,6 → 1152,8 |
if (ret == connector_status_connected) |
ret = radeon_connector_analog_encoder_conflict_solve(connector, encoder, ret, false); |
radeon_connector_update_scratch_regs(connector, ret); |
pm_runtime_mark_last_busy(connector->dev->dev); |
pm_runtime_put_autosuspend(connector->dev->dev); |
return ret; |
} |
|
1209,7 → 1215,15 |
enum drm_connector_status ret = connector_status_disconnected; |
bool dret = false, broken_edid = false; |
|
r = pm_runtime_get_sync(connector->dev->dev); |
if (r < 0) |
return connector_status_disconnected; |
|
if (radeon_connector->detected_hpd_without_ddc) { |
force = true; |
radeon_connector->detected_hpd_without_ddc = false; |
} |
|
if (!force && radeon_check_hpd_status_unchanged(connector)) { |
ret = connector->status; |
goto exit; |
1373,6 → 1387,9 |
} |
|
exit: |
pm_runtime_mark_last_busy(connector->dev->dev); |
pm_runtime_put_autosuspend(connector->dev->dev); |
|
return ret; |
} |
|
1621,6 → 1638,10 |
if (radeon_dig_connector->is_mst) |
return connector_status_disconnected; |
|
r = pm_runtime_get_sync(connector->dev->dev); |
if (r < 0) |
return connector_status_disconnected; |
|
if (!force && radeon_check_hpd_status_unchanged(connector)) { |
ret = connector->status; |
goto out; |
1706,6 → 1727,9 |
} |
|
out: |
pm_runtime_mark_last_busy(connector->dev->dev); |
pm_runtime_put_autosuspend(connector->dev->dev); |
|
return ret; |
} |
|