public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] Macro for 3 DSC engines per pipe
@ 2025-04-14  2:42 Ankit Nautiyal
  2025-04-14  2:42 ` [PATCH 1/2] drm/i915/display: Add macro for checking 3 DSC engines Ankit Nautiyal
  2025-04-14  2:42 ` [PATCH 2/2] drm/i915/dp: Check for HAS_DSC_3ENGINES while configuring DSC slices Ankit Nautiyal
  0 siblings, 2 replies; 12+ messages in thread
From: Ankit Nautiyal @ 2025-04-14  2:42 UTC (permalink / raw)
  To: intel-gfx, intel-xe; +Cc: suraj.kandpal, stable, ankit.k.nautiyal

3 DSC engines are supported only for BMG to be used in specific cases
where 12 DSC slices might be required.
Add macro for the same and use that while configuring DSC slices.

Ankit Nautiyal (2):
  drm/i915/display: Add macro for checking 3 DSC engines
  drm/i915/dp: Check for HAS_DSC_3ENGINES while configuring DSC slices

 drivers/gpu/drm/i915/display/intel_display_device.h | 1 +
 drivers/gpu/drm/i915/display/intel_dp.c             | 7 ++++---
 2 files changed, 5 insertions(+), 3 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH 1/2] drm/i915/display: Add macro for checking 3 DSC engines
  2025-04-14  2:42 [PATCH 0/2] Macro for 3 DSC engines per pipe Ankit Nautiyal
@ 2025-04-14  2:42 ` Ankit Nautiyal
  2025-04-14  3:27   ` kernel test robot
                     ` (2 more replies)
  2025-04-14  2:42 ` [PATCH 2/2] drm/i915/dp: Check for HAS_DSC_3ENGINES while configuring DSC slices Ankit Nautiyal
  1 sibling, 3 replies; 12+ messages in thread
From: Ankit Nautiyal @ 2025-04-14  2:42 UTC (permalink / raw)
  To: intel-gfx, intel-xe; +Cc: suraj.kandpal, stable, ankit.k.nautiyal

3 DSC engines per pipe is currently supported only for BMG.
Add a macro to check whether a platform supports 3 DSC engines per pipe.

Bspec: 50175
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
---
 drivers/gpu/drm/i915/display/intel_display_device.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h b/drivers/gpu/drm/i915/display/intel_display_device.h
index 368b0d3417c2..1a215791d0ba 100644
--- a/drivers/gpu/drm/i915/display/intel_display_device.h
+++ b/drivers/gpu/drm/i915/display/intel_display_device.h
@@ -163,6 +163,7 @@ struct intel_display_platforms {
 #define HAS_DP_MST(__display)		(DISPLAY_INFO(__display)->has_dp_mst)
 #define HAS_DSB(__display)		(DISPLAY_INFO(__display)->has_dsb)
 #define HAS_DSC(__display)		(DISPLAY_RUNTIME_INFO(__display)->has_dsc)
+#define HAS_DSC_3ENGINES(__display)	(DISPLAY_VERx100(display) == 1401 && HAS_DSC(__display))
 #define HAS_DSC_MST(__display)		(DISPLAY_VER(__display) >= 12 && HAS_DSC(__display))
 #define HAS_FBC(__display)		(DISPLAY_RUNTIME_INFO(__display)->fbc_mask != 0)
 #define HAS_FBC_DIRTY_RECT(__display)	(DISPLAY_VER(__display) >= 30)
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 2/2] drm/i915/dp: Check for HAS_DSC_3ENGINES while configuring DSC slices
  2025-04-14  2:42 [PATCH 0/2] Macro for 3 DSC engines per pipe Ankit Nautiyal
  2025-04-14  2:42 ` [PATCH 1/2] drm/i915/display: Add macro for checking 3 DSC engines Ankit Nautiyal
@ 2025-04-14  2:42 ` Ankit Nautiyal
  2025-04-14  4:07   ` Kandpal, Suraj
  1 sibling, 1 reply; 12+ messages in thread
From: Ankit Nautiyal @ 2025-04-14  2:42 UTC (permalink / raw)
  To: intel-gfx, intel-xe; +Cc: suraj.kandpal, stable, ankit.k.nautiyal

DSC 12 slices configuration is used for some specific cases with
Ultrajoiner. This can be supported only when each of the 4 joined pipes
have 3 DSC engines each.

Add the missing check for 3 DSC engines support before using 3 DSC
slices per pipe.

Fixes: be7f5fcdf4a0 ("drm/i915/dp: Enable 3 DSC engines for 12 slices")
Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Cc: Suraj Kandpal <suraj.kandpal@intel.com>
Cc: <stable@vger.kernel.org> # v6.14+
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
---
 drivers/gpu/drm/i915/display/intel_dp.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index aeb14a5455fd..d7a30d0992b7 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -1050,10 +1050,11 @@ u8 intel_dp_dsc_get_slice_count(const struct intel_connector *connector,
 		u8 test_slice_count = valid_dsc_slicecount[i] * num_joined_pipes;
 
 		/*
-		 * 3 DSC Slices per pipe need 3 DSC engines,
-		 * which is supported only with Ultrajoiner.
+		 * 3 DSC Slices per pipe need 3 DSC engines, which is supported only
+		 * with Ultrajoiner only for some platforms.
 		 */
-		if (valid_dsc_slicecount[i] == 3 && num_joined_pipes != 4)
+		if (valid_dsc_slicecount[i] == 3 &&
+		    (!HAS_DSC_3ENGINES(display) || num_joined_pipes != 4))
 			continue;
 
 		if (test_slice_count >
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/2] drm/i915/display: Add macro for checking 3 DSC engines
  2025-04-14  2:42 ` [PATCH 1/2] drm/i915/display: Add macro for checking 3 DSC engines Ankit Nautiyal
@ 2025-04-14  3:27   ` kernel test robot
  2025-04-14  3:48   ` Kandpal, Suraj
  2025-04-14  8:57   ` Ankit Nautiyal
  2 siblings, 0 replies; 12+ messages in thread
From: kernel test robot @ 2025-04-14  3:27 UTC (permalink / raw)
  To: Ankit Nautiyal; +Cc: stable, oe-kbuild-all

Hi,

Thanks for your patch.

FYI: kernel test robot notices the stable kernel rule is not satisfied.

The check is based on https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html#option-1

Rule: add the tag "Cc: stable@vger.kernel.org" in the sign-off area to have the patch automatically included in the stable tree.
Subject: [PATCH 1/2] drm/i915/display: Add macro for checking 3 DSC engines
Link: https://lore.kernel.org/stable/20250414024256.2782702-2-ankit.k.nautiyal%40intel.com

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki




^ permalink raw reply	[flat|nested] 12+ messages in thread

* RE: [PATCH 1/2] drm/i915/display: Add macro for checking 3 DSC engines
  2025-04-14  2:42 ` [PATCH 1/2] drm/i915/display: Add macro for checking 3 DSC engines Ankit Nautiyal
  2025-04-14  3:27   ` kernel test robot
@ 2025-04-14  3:48   ` Kandpal, Suraj
  2025-04-14  4:05     ` Nautiyal, Ankit K
  2025-04-14  8:57   ` Ankit Nautiyal
  2 siblings, 1 reply; 12+ messages in thread
From: Kandpal, Suraj @ 2025-04-14  3:48 UTC (permalink / raw)
  To: Nautiyal, Ankit K, intel-gfx@lists.freedesktop.org,
	intel-xe@lists.freedesktop.org
  Cc: stable@vger.kernel.org



> -----Original Message-----
> From: Nautiyal, Ankit K <ankit.k.nautiyal@intel.com>
> Sent: Monday, April 14, 2025 8:13 AM
> To: intel-gfx@lists.freedesktop.org; intel-xe@lists.freedesktop.org
> Cc: Kandpal, Suraj <suraj.kandpal@intel.com>; stable@vger.kernel.org;
> Nautiyal, Ankit K <ankit.k.nautiyal@intel.com>
> Subject: [PATCH 1/2] drm/i915/display: Add macro for checking 3 DSC engines
> 
> 3 DSC engines per pipe is currently supported only for BMG.

Would it be better to have a function here which can be modified later to add more
platforms in future if they decide to add 3 DSC engine elsewhere too?

> Add a macro to check whether a platform supports 3 DSC engines per pipe.
> 
> Bspec: 50175
> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_display_device.h | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h
> b/drivers/gpu/drm/i915/display/intel_display_device.h
> index 368b0d3417c2..1a215791d0ba 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_device.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_device.h
> @@ -163,6 +163,7 @@ struct intel_display_platforms {
>  #define HAS_DP_MST(__display)		(DISPLAY_INFO(__display)-
> >has_dp_mst)
>  #define HAS_DSB(__display)		(DISPLAY_INFO(__display)->has_dsb)
>  #define HAS_DSC(__display)		(DISPLAY_RUNTIME_INFO(__display)-
> >has_dsc)
> +#define HAS_DSC_3ENGINES(__display)	(DISPLAY_VERx100(display) == 1401

Shouldn't this be __display instead of just display

Regards,
Suraj Kandpal

> && HAS_DSC(__display))
>  #define HAS_DSC_MST(__display)		(DISPLAY_VER(__display) >= 12
> && HAS_DSC(__display))
>  #define HAS_FBC(__display)		(DISPLAY_RUNTIME_INFO(__display)-
> >fbc_mask != 0)
>  #define HAS_FBC_DIRTY_RECT(__display)	(DISPLAY_VER(__display) >=
> 30)
> --
> 2.34.1


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/2] drm/i915/display: Add macro for checking 3 DSC engines
  2025-04-14  3:48   ` Kandpal, Suraj
@ 2025-04-14  4:05     ` Nautiyal, Ankit K
  2025-04-14  4:06       ` Kandpal, Suraj
  0 siblings, 1 reply; 12+ messages in thread
From: Nautiyal, Ankit K @ 2025-04-14  4:05 UTC (permalink / raw)
  To: Kandpal, Suraj, intel-gfx@lists.freedesktop.org,
	intel-xe@lists.freedesktop.org
  Cc: stable@vger.kernel.org


On 4/14/2025 9:18 AM, Kandpal, Suraj wrote:
>
>> -----Original Message-----
>> From: Nautiyal, Ankit K <ankit.k.nautiyal@intel.com>
>> Sent: Monday, April 14, 2025 8:13 AM
>> To: intel-gfx@lists.freedesktop.org; intel-xe@lists.freedesktop.org
>> Cc: Kandpal, Suraj <suraj.kandpal@intel.com>; stable@vger.kernel.org;
>> Nautiyal, Ankit K <ankit.k.nautiyal@intel.com>
>> Subject: [PATCH 1/2] drm/i915/display: Add macro for checking 3 DSC engines
>>
>> 3 DSC engines per pipe is currently supported only for BMG.
> Would it be better to have a function here which can be modified later to add more
> platforms in future if they decide to add 3 DSC engine elsewhere too?

I was thinking about it too but it seems this is not going to be 
commonly used and perhaps we can add specific platforms in the macro as 
well.


>
>> Add a macro to check whether a platform supports 3 DSC engines per pipe.
>>
>> Bspec: 50175
>> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
>> ---
>>   drivers/gpu/drm/i915/display/intel_display_device.h | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h
>> b/drivers/gpu/drm/i915/display/intel_display_device.h
>> index 368b0d3417c2..1a215791d0ba 100644
>> --- a/drivers/gpu/drm/i915/display/intel_display_device.h
>> +++ b/drivers/gpu/drm/i915/display/intel_display_device.h
>> @@ -163,6 +163,7 @@ struct intel_display_platforms {
>>   #define HAS_DP_MST(__display)		(DISPLAY_INFO(__display)-
>>> has_dp_mst)
>>   #define HAS_DSB(__display)		(DISPLAY_INFO(__display)->has_dsb)
>>   #define HAS_DSC(__display)		(DISPLAY_RUNTIME_INFO(__display)-
>>> has_dsc)
>> +#define HAS_DSC_3ENGINES(__display)	(DISPLAY_VERx100(display) == 1401
> Shouldn't this be __display instead of just display

You are right, this should have been __display.


Regards,

Ankit

>
> Regards,
> Suraj Kandpal
>
>> && HAS_DSC(__display))
>>   #define HAS_DSC_MST(__display)		(DISPLAY_VER(__display) >= 12
>> && HAS_DSC(__display))
>>   #define HAS_FBC(__display)		(DISPLAY_RUNTIME_INFO(__display)-
>>> fbc_mask != 0)
>>   #define HAS_FBC_DIRTY_RECT(__display)	(DISPLAY_VER(__display) >=
>> 30)
>> --
>> 2.34.1

^ permalink raw reply	[flat|nested] 12+ messages in thread

* RE: [PATCH 1/2] drm/i915/display: Add macro for checking 3 DSC engines
  2025-04-14  4:05     ` Nautiyal, Ankit K
@ 2025-04-14  4:06       ` Kandpal, Suraj
  0 siblings, 0 replies; 12+ messages in thread
From: Kandpal, Suraj @ 2025-04-14  4:06 UTC (permalink / raw)
  To: Nautiyal, Ankit K, intel-gfx@lists.freedesktop.org,
	intel-xe@lists.freedesktop.org
  Cc: stable@vger.kernel.org



> -----Original Message-----
> From: Nautiyal, Ankit K <ankit.k.nautiyal@intel.com>
> Sent: Monday, April 14, 2025 9:36 AM
> To: Kandpal, Suraj <suraj.kandpal@intel.com>; intel-gfx@lists.freedesktop.org;
> intel-xe@lists.freedesktop.org
> Cc: stable@vger.kernel.org
> Subject: Re: [PATCH 1/2] drm/i915/display: Add macro for checking 3 DSC
> engines
> 
> 
> On 4/14/2025 9:18 AM, Kandpal, Suraj wrote:
> >
> >> -----Original Message-----
> >> From: Nautiyal, Ankit K <ankit.k.nautiyal@intel.com>
> >> Sent: Monday, April 14, 2025 8:13 AM
> >> To: intel-gfx@lists.freedesktop.org; intel-xe@lists.freedesktop.org
> >> Cc: Kandpal, Suraj <suraj.kandpal@intel.com>; stable@vger.kernel.org;
> >> Nautiyal, Ankit K <ankit.k.nautiyal@intel.com>
> >> Subject: [PATCH 1/2] drm/i915/display: Add macro for checking 3 DSC
> >> engines
> >>
> >> 3 DSC engines per pipe is currently supported only for BMG.
> > Would it be better to have a function here which can be modified later
> > to add more platforms in future if they decide to add 3 DSC engine elsewhere
> too?
> 
> I was thinking about it too but it seems this is not going to be commonly used
> and perhaps we can add specific platforms in the macro as well.

Ohkay if that’s the case then it seems okay to me

> 
> 
> >
> >> Add a macro to check whether a platform supports 3 DSC engines per pipe.
> >>
> >> Bspec: 50175
> >> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> >> ---
> >>   drivers/gpu/drm/i915/display/intel_display_device.h | 1 +
> >>   1 file changed, 1 insertion(+)
> >>
> >> diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h
> >> b/drivers/gpu/drm/i915/display/intel_display_device.h
> >> index 368b0d3417c2..1a215791d0ba 100644
> >> --- a/drivers/gpu/drm/i915/display/intel_display_device.h
> >> +++ b/drivers/gpu/drm/i915/display/intel_display_device.h
> >> @@ -163,6 +163,7 @@ struct intel_display_platforms {
> >>   #define HAS_DP_MST(__display)		(DISPLAY_INFO(__display)-
> >>> has_dp_mst)
> >>   #define HAS_DSB(__display)		(DISPLAY_INFO(__display)->has_dsb)
> >>   #define HAS_DSC(__display)		(DISPLAY_RUNTIME_INFO(__display)-
> >>> has_dsc)
> >> +#define HAS_DSC_3ENGINES(__display)	(DISPLAY_VERx100(display) ==
> 1401
> > Shouldn't this be __display instead of just display
> 
> You are right, this should have been __display.
> 
> 
> Regards,
> 
> Ankit
> 
> >
> > Regards,
> > Suraj Kandpal
> >
> >> && HAS_DSC(__display))
> >>   #define HAS_DSC_MST(__display)		(DISPLAY_VER(__display) >= 12
> >> && HAS_DSC(__display))
> >>   #define HAS_FBC(__display)		(DISPLAY_RUNTIME_INFO(__display)-
> >>> fbc_mask != 0)
> >>   #define HAS_FBC_DIRTY_RECT(__display)	(DISPLAY_VER(__display) >=
> >> 30)
> >> --
> >> 2.34.1

^ permalink raw reply	[flat|nested] 12+ messages in thread

* RE: [PATCH 2/2] drm/i915/dp: Check for HAS_DSC_3ENGINES while configuring DSC slices
  2025-04-14  2:42 ` [PATCH 2/2] drm/i915/dp: Check for HAS_DSC_3ENGINES while configuring DSC slices Ankit Nautiyal
@ 2025-04-14  4:07   ` Kandpal, Suraj
  0 siblings, 0 replies; 12+ messages in thread
From: Kandpal, Suraj @ 2025-04-14  4:07 UTC (permalink / raw)
  To: Nautiyal, Ankit K, intel-gfx@lists.freedesktop.org,
	intel-xe@lists.freedesktop.org
  Cc: stable@vger.kernel.org



> -----Original Message-----
> From: Nautiyal, Ankit K <ankit.k.nautiyal@intel.com>
> Sent: Monday, April 14, 2025 8:13 AM
> To: intel-gfx@lists.freedesktop.org; intel-xe@lists.freedesktop.org
> Cc: Kandpal, Suraj <suraj.kandpal@intel.com>; stable@vger.kernel.org;
> Nautiyal, Ankit K <ankit.k.nautiyal@intel.com>
> Subject: [PATCH 2/2] drm/i915/dp: Check for HAS_DSC_3ENGINES while
> configuring DSC slices
> 
> DSC 12 slices configuration is used for some specific cases with Ultrajoiner. This
> can be supported only when each of the 4 joined pipes have 3 DSC engines
> each.
> 
> Add the missing check for 3 DSC engines support before using 3 DSC slices per
> pipe.
> 
> Fixes: be7f5fcdf4a0 ("drm/i915/dp: Enable 3 DSC engines for 12 slices")
> Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> Cc: Suraj Kandpal <suraj.kandpal@intel.com>
> Cc: <stable@vger.kernel.org> # v6.14+
> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>

LGTM,
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>

> ---
>  drivers/gpu/drm/i915/display/intel_dp.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c
> b/drivers/gpu/drm/i915/display/intel_dp.c
> index aeb14a5455fd..d7a30d0992b7 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -1050,10 +1050,11 @@ u8 intel_dp_dsc_get_slice_count(const struct
> intel_connector *connector,
>  		u8 test_slice_count = valid_dsc_slicecount[i] *
> num_joined_pipes;
> 
>  		/*
> -		 * 3 DSC Slices per pipe need 3 DSC engines,
> -		 * which is supported only with Ultrajoiner.
> +		 * 3 DSC Slices per pipe need 3 DSC engines, which is supported
> only
> +		 * with Ultrajoiner only for some platforms.
>  		 */
> -		if (valid_dsc_slicecount[i] == 3 && num_joined_pipes != 4)
> +		if (valid_dsc_slicecount[i] == 3 &&
> +		    (!HAS_DSC_3ENGINES(display) || num_joined_pipes != 4))
>  			continue;
> 
>  		if (test_slice_count >
> --
> 2.34.1


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH 1/2] drm/i915/display: Add macro for checking 3 DSC engines
  2025-04-14  2:42 ` [PATCH 1/2] drm/i915/display: Add macro for checking 3 DSC engines Ankit Nautiyal
  2025-04-14  3:27   ` kernel test robot
  2025-04-14  3:48   ` Kandpal, Suraj
@ 2025-04-14  8:57   ` Ankit Nautiyal
  2025-04-14  9:12     ` Kandpal, Suraj
  2025-04-15  7:17     ` Jani Nikula
  2 siblings, 2 replies; 12+ messages in thread
From: Ankit Nautiyal @ 2025-04-14  8:57 UTC (permalink / raw)
  To: intel-gfx, intel-xe; +Cc: suraj.kandpal, stable, ankit.k.nautiyal

3 DSC engines per pipe is currently supported only for BMG.
Add a macro to check whether a platform supports 3 DSC engines per pipe.

v2:Fix Typo in macro argument. (Suraj).
Added fixes tag.

Bspec: 50175
Fixes: be7f5fcdf4a0 ("drm/i915/dp: Enable 3 DSC engines for 12 slices")
Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Cc: Suraj Kandpal <suraj.kandpal@intel.com>
Cc: <stable@vger.kernel.org> # v6.14+
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
---
 drivers/gpu/drm/i915/display/intel_display_device.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h b/drivers/gpu/drm/i915/display/intel_display_device.h
index 368b0d3417c2..87c666792c0d 100644
--- a/drivers/gpu/drm/i915/display/intel_display_device.h
+++ b/drivers/gpu/drm/i915/display/intel_display_device.h
@@ -163,6 +163,7 @@ struct intel_display_platforms {
 #define HAS_DP_MST(__display)		(DISPLAY_INFO(__display)->has_dp_mst)
 #define HAS_DSB(__display)		(DISPLAY_INFO(__display)->has_dsb)
 #define HAS_DSC(__display)		(DISPLAY_RUNTIME_INFO(__display)->has_dsc)
+#define HAS_DSC_3ENGINES(__display)	(DISPLAY_VERx100(__display) == 1401 && HAS_DSC(__display))
 #define HAS_DSC_MST(__display)		(DISPLAY_VER(__display) >= 12 && HAS_DSC(__display))
 #define HAS_FBC(__display)		(DISPLAY_RUNTIME_INFO(__display)->fbc_mask != 0)
 #define HAS_FBC_DIRTY_RECT(__display)	(DISPLAY_VER(__display) >= 30)
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* RE: [PATCH 1/2] drm/i915/display: Add macro for checking 3 DSC engines
  2025-04-14  8:57   ` Ankit Nautiyal
@ 2025-04-14  9:12     ` Kandpal, Suraj
  2025-04-15  7:17     ` Jani Nikula
  1 sibling, 0 replies; 12+ messages in thread
From: Kandpal, Suraj @ 2025-04-14  9:12 UTC (permalink / raw)
  To: Nautiyal, Ankit K, intel-gfx@lists.freedesktop.org,
	intel-xe@lists.freedesktop.org
  Cc: stable@vger.kernel.org



> -----Original Message-----
> From: Nautiyal, Ankit K <ankit.k.nautiyal@intel.com>
> Sent: Monday, April 14, 2025 2:27 PM
> To: intel-gfx@lists.freedesktop.org; intel-xe@lists.freedesktop.org
> Cc: Kandpal, Suraj <suraj.kandpal@intel.com>; stable@vger.kernel.org;
> Nautiyal, Ankit K <ankit.k.nautiyal@intel.com>
> Subject: [PATCH 1/2] drm/i915/display: Add macro for checking 3 DSC engines
> 
> 3 DSC engines per pipe is currently supported only for BMG.
> Add a macro to check whether a platform supports 3 DSC engines per pipe.
> 
> v2:Fix Typo in macro argument. (Suraj).
> Added fixes tag.
> 
> Bspec: 50175
> Fixes: be7f5fcdf4a0 ("drm/i915/dp: Enable 3 DSC engines for 12 slices")
> Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> Cc: Suraj Kandpal <suraj.kandpal@intel.com>
> Cc: <stable@vger.kernel.org> # v6.14+
> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>

LGTM,
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>

> ---
>  drivers/gpu/drm/i915/display/intel_display_device.h | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h
> b/drivers/gpu/drm/i915/display/intel_display_device.h
> index 368b0d3417c2..87c666792c0d 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_device.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_device.h
> @@ -163,6 +163,7 @@ struct intel_display_platforms {
>  #define HAS_DP_MST(__display)		(DISPLAY_INFO(__display)-
> >has_dp_mst)
>  #define HAS_DSB(__display)		(DISPLAY_INFO(__display)->has_dsb)
>  #define HAS_DSC(__display)		(DISPLAY_RUNTIME_INFO(__display)-
> >has_dsc)
> +#define HAS_DSC_3ENGINES(__display)	(DISPLAY_VERx100(__display)
> == 1401 && HAS_DSC(__display))
>  #define HAS_DSC_MST(__display)		(DISPLAY_VER(__display) >=
> 12 && HAS_DSC(__display))
>  #define HAS_FBC(__display)		(DISPLAY_RUNTIME_INFO(__display)-
> >fbc_mask != 0)
>  #define HAS_FBC_DIRTY_RECT(__display)	(DISPLAY_VER(__display) >=
> 30)
> --
> 2.34.1


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/2] drm/i915/display: Add macro for checking 3 DSC engines
  2025-04-14  8:57   ` Ankit Nautiyal
  2025-04-14  9:12     ` Kandpal, Suraj
@ 2025-04-15  7:17     ` Jani Nikula
  2025-04-15  7:43       ` Nautiyal, Ankit K
  1 sibling, 1 reply; 12+ messages in thread
From: Jani Nikula @ 2025-04-15  7:17 UTC (permalink / raw)
  To: Ankit Nautiyal, intel-gfx, intel-xe
  Cc: suraj.kandpal, stable, ankit.k.nautiyal

On Mon, 14 Apr 2025, Ankit Nautiyal <ankit.k.nautiyal@intel.com> wrote:
> 3 DSC engines per pipe is currently supported only for BMG.
> Add a macro to check whether a platform supports 3 DSC engines per pipe.

Nitpick, feels like a macro returning the number of DSC engines per pipe
would be more generic. Like, would you also add HAS_DSC_2ENGINES() and
HAS_DSC_4ENGINES() if you needed to know that? But I guess we can go
with what you have for the immediate fix.

However, adding the tiniest macro and its only user in separate patches,
for something that needs to be backported to stable, seems like erring
on the side of splitting up patches too much.

BR,
Jani.


>
> v2:Fix Typo in macro argument. (Suraj).
> Added fixes tag.
>
> Bspec: 50175
> Fixes: be7f5fcdf4a0 ("drm/i915/dp: Enable 3 DSC engines for 12 slices")
> Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> Cc: Suraj Kandpal <suraj.kandpal@intel.com>
> Cc: <stable@vger.kernel.org> # v6.14+
> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_display_device.h | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h b/drivers/gpu/drm/i915/display/intel_display_device.h
> index 368b0d3417c2..87c666792c0d 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_device.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_device.h
> @@ -163,6 +163,7 @@ struct intel_display_platforms {
>  #define HAS_DP_MST(__display)		(DISPLAY_INFO(__display)->has_dp_mst)
>  #define HAS_DSB(__display)		(DISPLAY_INFO(__display)->has_dsb)
>  #define HAS_DSC(__display)		(DISPLAY_RUNTIME_INFO(__display)->has_dsc)
> +#define HAS_DSC_3ENGINES(__display)	(DISPLAY_VERx100(__display) == 1401 && HAS_DSC(__display))
>  #define HAS_DSC_MST(__display)		(DISPLAY_VER(__display) >= 12 && HAS_DSC(__display))
>  #define HAS_FBC(__display)		(DISPLAY_RUNTIME_INFO(__display)->fbc_mask != 0)
>  #define HAS_FBC_DIRTY_RECT(__display)	(DISPLAY_VER(__display) >= 30)

-- 
Jani Nikula, Intel

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/2] drm/i915/display: Add macro for checking 3 DSC engines
  2025-04-15  7:17     ` Jani Nikula
@ 2025-04-15  7:43       ` Nautiyal, Ankit K
  0 siblings, 0 replies; 12+ messages in thread
From: Nautiyal, Ankit K @ 2025-04-15  7:43 UTC (permalink / raw)
  To: Jani Nikula, intel-gfx, intel-xe; +Cc: suraj.kandpal, stable


On 4/15/2025 12:47 PM, Jani Nikula wrote:
> On Mon, 14 Apr 2025, Ankit Nautiyal <ankit.k.nautiyal@intel.com> wrote:
>> 3 DSC engines per pipe is currently supported only for BMG.
>> Add a macro to check whether a platform supports 3 DSC engines per pipe.
> Nitpick, feels like a macro returning the number of DSC engines per pipe
> would be more generic. Like, would you also add HAS_DSC_2ENGINES() and
> HAS_DSC_4ENGINES() if you needed to know that? But I guess we can go
> with what you have for the immediate fix.

Yeah NUM_DSC_ENGINES seem better. I was under an impression that newer 
platforms would have 3 DSC engines, which was incorrect, so specific 
case for 3 engines made sense at that time.

If there is any further change, I guess returning number of DSC engines 
as you have suggested is the way to go.

>
> However, adding the tiniest macro and its only user in separate patches,
> for something that needs to be backported to stable, seems like erring
> on the side of splitting up patches too much.

Noted. I agree it could have been just one fix with the macro and the 
usage in same patch.

I have already pushed to drm-intel-next :(. But will keep that in mind.

Thanks Jani for the guidance, thanks Suraj for reviews.


Regards,

Ankit

>
> BR,
> Jani.
>
>
>> v2:Fix Typo in macro argument. (Suraj).
>> Added fixes tag.
>>
>> Bspec: 50175
>> Fixes: be7f5fcdf4a0 ("drm/i915/dp: Enable 3 DSC engines for 12 slices")
>> Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
>> Cc: Suraj Kandpal <suraj.kandpal@intel.com>
>> Cc: <stable@vger.kernel.org> # v6.14+
>> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
>> ---
>>   drivers/gpu/drm/i915/display/intel_display_device.h | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h b/drivers/gpu/drm/i915/display/intel_display_device.h
>> index 368b0d3417c2..87c666792c0d 100644
>> --- a/drivers/gpu/drm/i915/display/intel_display_device.h
>> +++ b/drivers/gpu/drm/i915/display/intel_display_device.h
>> @@ -163,6 +163,7 @@ struct intel_display_platforms {
>>   #define HAS_DP_MST(__display)		(DISPLAY_INFO(__display)->has_dp_mst)
>>   #define HAS_DSB(__display)		(DISPLAY_INFO(__display)->has_dsb)
>>   #define HAS_DSC(__display)		(DISPLAY_RUNTIME_INFO(__display)->has_dsc)
>> +#define HAS_DSC_3ENGINES(__display)	(DISPLAY_VERx100(__display) == 1401 && HAS_DSC(__display))
>>   #define HAS_DSC_MST(__display)		(DISPLAY_VER(__display) >= 12 && HAS_DSC(__display))
>>   #define HAS_FBC(__display)		(DISPLAY_RUNTIME_INFO(__display)->fbc_mask != 0)
>>   #define HAS_FBC_DIRTY_RECT(__display)	(DISPLAY_VER(__display) >= 30)

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2025-04-15  7:45 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-14  2:42 [PATCH 0/2] Macro for 3 DSC engines per pipe Ankit Nautiyal
2025-04-14  2:42 ` [PATCH 1/2] drm/i915/display: Add macro for checking 3 DSC engines Ankit Nautiyal
2025-04-14  3:27   ` kernel test robot
2025-04-14  3:48   ` Kandpal, Suraj
2025-04-14  4:05     ` Nautiyal, Ankit K
2025-04-14  4:06       ` Kandpal, Suraj
2025-04-14  8:57   ` Ankit Nautiyal
2025-04-14  9:12     ` Kandpal, Suraj
2025-04-15  7:17     ` Jani Nikula
2025-04-15  7:43       ` Nautiyal, Ankit K
2025-04-14  2:42 ` [PATCH 2/2] drm/i915/dp: Check for HAS_DSC_3ENGINES while configuring DSC slices Ankit Nautiyal
2025-04-14  4:07   ` Kandpal, Suraj

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox