[Intel-gfx] [PATCH] drm/i915/dsc: Source supports DSC from DISPLAY_VER >= 11
Jani Nikula
jani.nikula at linux.intel.com
Wed Nov 2 09:32:54 UTC 2022
On Wed, 02 Nov 2022, Swati Sharma <swati2.sharma at intel.com> wrote:
> Hi Matt,
>
> Yes. Though h/w supports DSC from gen10, DSC is enabled from gen11+ from
> driver.
> We can see "has_dsc" flag enabled in gen11+.
> #define GEN11_FEATURES \
> >-------.__runtime.has_dsc = 1, \
>
> Also, in the driver intel_dsc_source_support(), it is
> if (DISPLAY_VER(i915) >= 11 && cpu_transcoder != TRANSCODER_A)
> return true;
> So, we should align DISPLAY_VER check according to DSC enablement
> from driver.
The real fix would be to use intel_dsc_source_support() as the single
point of truth instead of sprinkled all over the place. Especially since
that also takes fusing into account.
BR,
Jani.
>
> On 02-Nov-22 2:50 AM, Matt Roper wrote:
>> On Tue, Nov 01, 2022 at 01:29:27PM +0530, Swati Sharma wrote:
>>> i915 driver supports DSC from DISPLAY_VER >= 11. Fix it.
>>
>> Bspec 19713 indicates that GLK (i.e., our only display version 10
>> platform) does support DSC. Are you saying that there's other GLK
>> enablement missing in the driver right now that prevents DSC from
>> working?
>>
>>
>> Matt
>>
>>>
>>> Signed-off-by: Swati Sharma <swati2.sharma at intel.com>
>>> ---
>>> drivers/gpu/drm/i915/display/intel_dp.c | 4 ++--
>>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
>>> index 7400d6b4c587..02e64f0284d8 100644
>>> --- a/drivers/gpu/drm/i915/display/intel_dp.c
>>> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
>>> @@ -1012,7 +1012,7 @@ intel_dp_mode_valid(struct drm_connector *_connector,
>>> * Output bpp is stored in 6.4 format so right shift by 4 to get the
>>> * integer value since we support only integer values of bpp.
>>> */
>>> - if (DISPLAY_VER(dev_priv) >= 10 &&
>>> + if (DISPLAY_VER(dev_priv) >= 11 &&
>>> drm_dp_sink_supports_dsc(intel_dp->dsc_dpcd)) {
>>> /*
>>> * TBD pass the connector BPC,
>>> @@ -2906,7 +2906,7 @@ intel_edp_init_dpcd(struct intel_dp *intel_dp)
>>> intel_dp_set_max_sink_lane_count(intel_dp);
>>>
>>> /* Read the eDP DSC DPCD registers */
>>> - if (DISPLAY_VER(dev_priv) >= 10)
>>> + if (DISPLAY_VER(dev_priv) >= 11)
>>> intel_dp_get_dsc_sink_cap(intel_dp);
>>>
>>> /*
>>> --
>>> 2.25.1
>>>
>>
--
Jani Nikula, Intel Open Source Graphics Center
More information about the Intel-gfx
mailing list