[PATCHv2] drm/i915/display: BMG supports UHBR13.5

Govindapillai, Vinod vinod.govindapillai at intel.com
Wed Aug 28 10:02:49 UTC 2024


Hi,

Do we need this? There is this patch already https://patchwork.freedesktop.org/patch/592161/

Looks like we are supposed to iterate source_rates using "intel_dp->num_source_rates"

If you are keeping this, then may be we need a separate max_rate call for bmg for better clarity?
Now there is a separate source_rates for bmg but a max_rate using mtl_max_rate()!

BR
Vinod


On Tue, 2024-08-27 at 13:42 +0530, Arun R Murthy wrote:
> UHBR20 is not supported by battlemage and the maximum link rate
> supported is UHBR13.5
> 
> v2: Replace IS_DGFX with IS_BATTLEMAGE (Jani)
> 
> HSD: 16023263677
> Signed-off-by: Arun R Murthy <arun.r.murthy at intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_dp.c | 13 +++++++++++--
>  1 file changed, 11 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> index 789c2f78826d..99a365a945ae 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -528,6 +528,10 @@ static void
>  intel_dp_set_source_rates(struct intel_dp *intel_dp)
>  {
>         /* The values must be in increasing order */
> +       static const int bmg_rates[] = {
> +               162000, 216000, 243000, 270000, 324000, 432000, 540000, 675000,
> +               810000, 1000000, 1350000,
> +       };
>         static const int mtl_rates[] = {
>                 162000, 216000, 243000, 270000, 324000, 432000, 540000, 675000,
>                 810000, 1000000, 2000000,
> @@ -558,8 +562,13 @@ intel_dp_set_source_rates(struct intel_dp *intel_dp)
>                     intel_dp->source_rates || intel_dp->num_source_rates);
>  
>         if (DISPLAY_VER(dev_priv) >= 14) {
> -               source_rates = mtl_rates;
> -               size = ARRAY_SIZE(mtl_rates);
> +               if (IS_BATTLEMAGE(dev_priv)) {
> +                       source_rates = bmg_rates;
> +                       size = ARRAY_SIZE(bmg_rates);
> +               } else {
> +                       source_rates = mtl_rates;
> +                       size = ARRAY_SIZE(mtl_rates);
> +               }
>                 max_rate = mtl_max_source_rate(intel_dp);
>         } else if (DISPLAY_VER(dev_priv) >= 11) {
>                 source_rates = icl_rates;



More information about the Intel-xe mailing list