|
@@ -3088,7 +3088,8 @@ static bool intel_dp_get_y_cord_status(struct intel_dp *intel_dp)
|
|
|
{
|
|
|
uint8_t psr_caps = 0;
|
|
|
|
|
|
- drm_dp_dpcd_readb(&intel_dp->aux, DP_PSR_CAPS, &psr_caps);
|
|
|
+ if (drm_dp_dpcd_readb(&intel_dp->aux, DP_PSR_CAPS, &psr_caps) != 1)
|
|
|
+ return false;
|
|
|
return psr_caps & DP_PSR2_SU_Y_COORDINATE_REQUIRED;
|
|
|
}
|
|
|
|
|
@@ -3096,9 +3097,9 @@ static bool intel_dp_get_colorimetry_status(struct intel_dp *intel_dp)
|
|
|
{
|
|
|
uint8_t dprx = 0;
|
|
|
|
|
|
- drm_dp_dpcd_readb(&intel_dp->aux,
|
|
|
- DP_DPRX_FEATURE_ENUMERATION_LIST,
|
|
|
- &dprx);
|
|
|
+ if (drm_dp_dpcd_readb(&intel_dp->aux, DP_DPRX_FEATURE_ENUMERATION_LIST,
|
|
|
+ &dprx) != 1)
|
|
|
+ return false;
|
|
|
return dprx & DP_VSC_SDP_EXT_FOR_COLORIMETRY_SUPPORTED;
|
|
|
}
|
|
|
|
|
@@ -3106,7 +3107,9 @@ static bool intel_dp_get_alpm_status(struct intel_dp *intel_dp)
|
|
|
{
|
|
|
uint8_t alpm_caps = 0;
|
|
|
|
|
|
- drm_dp_dpcd_readb(&intel_dp->aux, DP_RECEIVER_ALPM_CAP, &alpm_caps);
|
|
|
+ if (drm_dp_dpcd_readb(&intel_dp->aux, DP_RECEIVER_ALPM_CAP,
|
|
|
+ &alpm_caps) != 1)
|
|
|
+ return false;
|
|
|
return alpm_caps & DP_ALPM_CAP;
|
|
|
}
|
|
|
|
|
@@ -3679,9 +3682,10 @@ intel_edp_init_dpcd(struct intel_dp *intel_dp)
|
|
|
uint8_t frame_sync_cap;
|
|
|
|
|
|
dev_priv->psr.sink_support = true;
|
|
|
- drm_dp_dpcd_readb(&intel_dp->aux,
|
|
|
- DP_SINK_DEVICE_AUX_FRAME_SYNC_CAP,
|
|
|
- &frame_sync_cap);
|
|
|
+ if (drm_dp_dpcd_readb(&intel_dp->aux,
|
|
|
+ DP_SINK_DEVICE_AUX_FRAME_SYNC_CAP,
|
|
|
+ &frame_sync_cap) != 1)
|
|
|
+ frame_sync_cap = 0;
|
|
|
dev_priv->psr.aux_frame_sync = frame_sync_cap ? true : false;
|
|
|
/* PSR2 needs frame sync as well */
|
|
|
dev_priv->psr.psr2_support = dev_priv->psr.aux_frame_sync;
|