Re: [PATCH v5] drm/i915: limit eDP MSO pipe only for display version 20 and below

2024-04-18 Thread Jani Nikula
On Thu, 04 Apr 2024, Luca Coelho  wrote:
> The pipes that can be used for eDP MSO are limited to pipe A (and
> sometimes also pipe B) only for display version 20 and below.
>
> Modify the function that returns the pipe mask for eDP MSO so that
> these limitations only apply to version 20 and below, enabling all
> pipes otherwise.

Thanks for the patch, pushed to din.

BR,
Jani.

>
> Bspec: 68923
> Cc: Jani Nikula 
> Cc: James Ausmus 
> Cc: Ville Syrjälä 
> Signed-off-by: Luca Coelho 
> ---
>
> In v5:
>* fixed Ville's name's wrong charset, which prevented patchwork
>  from picking this up.
>
> In v4:
>* actually go back to unrestricting only for > 20.  I sent the
>  wrong patch version in v3.
>
> In v3:
>* go back to unrestricing only for > 20, since the change for
>  versions 14 to 20 should be tested separately;
>* simplify the if blocks [Ville].
>
> In v2:
>* allow pipes A and B from ver 14 to 20 [Gustavo]
>
>  drivers/gpu/drm/i915/display/intel_ddi.c | 9 +++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c 
> b/drivers/gpu/drm/i915/display/intel_ddi.c
> index a3d3d4942eb1..5d2863c43296 100644
> --- a/drivers/gpu/drm/i915/display/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
> @@ -2336,10 +2336,15 @@ static void intel_ddi_power_up_lanes(struct 
> intel_encoder *encoder,
>   }
>  }
>  
> -/* Splitter enable for eDP MSO is limited to certain pipes. */
> +/*
> + * Splitter enable for eDP MSO is limited to certain pipes, on certain
> + * platforms.
> + */
>  static u8 intel_ddi_splitter_pipe_mask(struct drm_i915_private *i915)
>  {
> - if (IS_ALDERLAKE_P(i915))
> + if (DISPLAY_VER(i915) > 20)
> + return ~0;
> + else if (IS_ALDERLAKE_P(i915))
>   return BIT(PIPE_A) | BIT(PIPE_B);
>   else
>   return BIT(PIPE_A);

-- 
Jani Nikula, Intel


[PATCH v5] drm/i915: limit eDP MSO pipe only for display version 20 and below

2024-04-04 Thread Luca Coelho
The pipes that can be used for eDP MSO are limited to pipe A (and
sometimes also pipe B) only for display version 20 and below.

Modify the function that returns the pipe mask for eDP MSO so that
these limitations only apply to version 20 and below, enabling all
pipes otherwise.

Bspec: 68923
Cc: Jani Nikula 
Cc: James Ausmus 
Cc: Ville Syrjälä 
Signed-off-by: Luca Coelho 
---

In v5:
   * fixed Ville's name's wrong charset, which prevented patchwork
 from picking this up.

In v4:
   * actually go back to unrestricting only for > 20.  I sent the
 wrong patch version in v3.

In v3:
   * go back to unrestricing only for > 20, since the change for
 versions 14 to 20 should be tested separately;
   * simplify the if blocks [Ville].

In v2:
   * allow pipes A and B from ver 14 to 20 [Gustavo]

 drivers/gpu/drm/i915/display/intel_ddi.c | 9 +++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c 
b/drivers/gpu/drm/i915/display/intel_ddi.c
index a3d3d4942eb1..5d2863c43296 100644
--- a/drivers/gpu/drm/i915/display/intel_ddi.c
+++ b/drivers/gpu/drm/i915/display/intel_ddi.c
@@ -2336,10 +2336,15 @@ static void intel_ddi_power_up_lanes(struct 
intel_encoder *encoder,
}
 }
 
-/* Splitter enable for eDP MSO is limited to certain pipes. */
+/*
+ * Splitter enable for eDP MSO is limited to certain pipes, on certain
+ * platforms.
+ */
 static u8 intel_ddi_splitter_pipe_mask(struct drm_i915_private *i915)
 {
-   if (IS_ALDERLAKE_P(i915))
+   if (DISPLAY_VER(i915) > 20)
+   return ~0;
+   else if (IS_ALDERLAKE_P(i915))
return BIT(PIPE_A) | BIT(PIPE_B);
else
return BIT(PIPE_A);
-- 
2.39.2