Re: [PATCH 4/4] drm/i915/dp: read DPCD PSR capability only on eDP

Todd Previte
2013-09-20T20:50:14Z

On 09/20/2013 06:42 AM, Jani Nikula wrote:
> Reduce AUX transactions for non-eDP.
>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
> drivers/gpu/drm/i915/intel_dp.c | 13 ++++++++-----
> 1 file changed, 8 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index dd780bf..f2e16a1 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -2691,11 +2691,14 @@ intel_dp_get_dpcd(struct intel_dp *intel_dp)
>
> /* Check if the panel supports PSR */
> memset(intel_dp->psr_dpcd, 0, sizeof(intel_dp->psr_dpcd));
> - intel_dp_aux_native_read_retry(intel_dp, DP_PSR_SUPPORT,
> - intel_dp->psr_dpcd,
> - sizeof(intel_dp->psr_dpcd));
> - if (is_edp_psr(intel_dp))
> - DRM_DEBUG_KMS("Detected EDP PSR Panel.\n");
> + if (is_edp(intel_dp)) {
> + intel_dp_aux_native_read_retry(intel_dp, DP_PSR_SUPPORT,
> + intel_dp->psr_dpcd,
> + sizeof(intel_dp->psr_dpcd));
> + if (is_edp_psr(intel_dp))
> + DRM_DEBUG_KMS("Detected EDP PSR Panel.\n");
> + }
> +
> if (!(intel_dp->dpcd[DP_DOWNSTREAMPORT_PRESENT] &
> DP_DWN_STRM_PORT_PRESENT))
> return true; /* native DP sink */

Couldn't you just use is_edp_psr() at the top and not need the second
is_edp() inside the if() statement? As in:

+ if (is_edp_psr(intel_dp)) {
+ intel_dp_aux_native_read_retry(intel_dp, DP_PSR_SUPPORT,
+ intel_dp->psr_dpcd,
+ sizeof(intel_dp->psr_dpcd));
+ DRM_DEBUG_KMS("Detected EDP PSR Panel.\n");
+ }

-T