[Intel-gfx] [PATCH v3 2/6] drm/i915: Remove the link rate and lane count loop in compute config

Manasi Navare manasi.d.navare at intel.com
Tue Sep 27 22:13:39 UTC 2016


On Tue, Sep 27, 2016 at 04:39:38PM +0300, Jani Nikula wrote:
> On Mon, 26 Sep 2016, Jani Nikula <jani.nikula at linux.intel.com> wrote:
> > On Fri, 16 Sep 2016, Manasi Navare <manasi.d.navare at intel.com> wrote:
> >> While configuring the pipe during modeset, it should use
> >> max clock and max lane count and reduce the bpp until
> >> the requested mode rate is less than or equal to
> >> available link BW.
> >> This is required to pass DP Compliance.
> >
> > As I wrote in reply to patch 1/6, this is not a DP spec requirement. The
> > link policy maker can freely choose the link parameters as long as the
> > sink supports them.
> 
> Also double checked the DP link CTS spec. AFAICT none of the tests
> expect the source to use the max clock or max lane count
> directly. (Automated test request is another matter, and we should look
> at it.)
> 
> I think patches 1-2 are based on an incorrect interpretation of the spec
> and tests.
> 
> BR,
> Jani.
>

I have the patches for handling the automated test request from DPR for
compliance testing as mentioned in the CTS spec. But they have dependencies
on these patches (1-6) so I will submit them after these get merged.

Regards
Manasi
 
> 
> >
> > BR,
> > Jani.
> >
> >
> >>
> >> v3:
> >> * Add Debug print if requested mode cannot be supported
> >> during modeset (Dhinakaran Pandiyan)
> >> v2:
> >> * Removed the loop since we use max values of clock
> >> and lane count (Dhinakaran Pandiyan)
> >>
> >> Signed-off-by: Manasi Navare <manasi.d.navare at intel.com>
> >> ---
> >>  drivers/gpu/drm/i915/intel_dp.c | 22 ++++++++--------------
> >>  1 file changed, 8 insertions(+), 14 deletions(-)
> >>
> >> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> >> index d81c67cb..65b4559 100644
> >> --- a/drivers/gpu/drm/i915/intel_dp.c
> >> +++ b/drivers/gpu/drm/i915/intel_dp.c
> >> @@ -1644,23 +1644,17 @@ intel_dp_compute_config(struct intel_encoder *encoder,
> >>  	for (; bpp >= 6*3; bpp -= 2*3) {
> >>  		mode_rate = intel_dp_link_required(adjusted_mode->crtc_clock,
> >>  						   bpp);
> >> +		clock = max_clock;
> >> +		lane_count = max_lane_count;
> >> +		link_clock = common_rates[clock];
> >> +		link_avail = intel_dp_max_data_rate(link_clock,
> >> +						    lane_count);
> >>  
> >> -		for (clock = min_clock; clock <= max_clock; clock++) {
> >> -			for (lane_count = min_lane_count;
> >> -				lane_count <= max_lane_count;
> >> -				lane_count <<= 1) {
> >> -
> >> -				link_clock = common_rates[clock];
> >> -				link_avail = intel_dp_max_data_rate(link_clock,
> >> -								    lane_count);
> >> -
> >> -				if (mode_rate <= link_avail) {
> >> -					goto found;
> >> -				}
> >> -			}
> >> -		}
> >> +		if (mode_rate <= link_avail)
> >> +			goto found;
> >>  	}
> >>  
> >> +	DRM_DEBUG_KMS("Requested Mode Rate not supported\n");
> >>  	return false;
> >>  
> >>  found:
> 
> -- 
> Jani Nikula, Intel Open Source Technology Center


More information about the Intel-gfx mailing list