Re: [RFC 7/7] drm/i915: Allow vdsc functions to be called without encoder.

Maarten Lankhorst
2019-07-30T09:08:15Z

Op 11-07-2019 om 00:35 schreef Manasi Navare:
> On Tue, Jul 02, 2019 at 09:42:05PM +0200, Maarten Lankhorst wrote:
>> This can be useful when calling the vdsc enable functions
>> directly without encoder.
> Would this be the case on the slave pipe where we need to enable DSC but there
> is no transcoder enabled for that pipe?

Yes. :)

Although I was currently missing intel_configure_pps_for_dsc_encoder(), will be fixed in next version.

It erroneously used the encoder to check for eDP. instead of crtc_state->cpu_transcoder

~Maarten

>> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
>> ---
>> drivers/gpu/drm/i915/display/intel_vdsc.c | 8 +++++---
>> 1 file changed, 5 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/display/intel_vdsc.c b/drivers/gpu/drm/i915/display/intel_vdsc.c
>> index 419a77723894..f009524ab735 100644
>> --- a/drivers/gpu/drm/i915/display/intel_vdsc.c
>> +++ b/drivers/gpu/drm/i915/display/intel_vdsc.c
>> @@ -897,7 +897,7 @@ void intel_dsc_enable(struct intel_encoder *encoder,
>> const struct intel_crtc_state *crtc_state)
>> {
>> struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
>> - struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>> + struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
>> enum pipe pipe = crtc->pipe;
>> i915_reg_t dss_ctl1_reg, dss_ctl2_reg;
>> u32 dss_ctl1_val = 0;
>> @@ -910,9 +910,11 @@ void intel_dsc_enable(struct intel_encoder *encoder,
>> intel_display_power_get(dev_priv,
>> intel_dsc_power_domain(crtc_state));
>>
>> - intel_configure_pps_for_dsc_encoder(encoder, crtc_state);
>> + if (encoder) {
>> + intel_configure_pps_for_dsc_encoder(encoder, crtc_state);
>>
>> - intel_dp_write_dsc_pps_sdp(encoder, crtc_state);
>> + intel_dp_write_dsc_pps_sdp(encoder, crtc_state);
>> + }
>>
>> if (crtc_state->cpu_transcoder == TRANSCODER_EDP) {
>> dss_ctl1_reg = DSS_CTL1;
>> --
>> 2.20.1
>>
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/intel-gfx