On Tue, 2019-09-24 at 15:28 -0700, James Ausmus wrote:
> The memory type values have changed in TGL, so we need to translate
> them
> differently than ICL. While we're moving it, fix up the ICL
> translation
> for LPDDR4.
> 
> BSpec: 53998
> 
> v2: Fix up ICL LPDDR4 entry (Ville); Drop unused values from TGL
> (Ville)
> 
> Cc: Ville Syrjälä <[email protected]>
> Cc: Stanislav Lisovskiy <[email protected]>
> Signed-off-by: James Ausmus <[email protected]>
> Reviewed-by: Ville Syrjälä <[email protected]>
> ---
>  drivers/gpu/drm/i915/display/intel_bw.c | 55 ++++++++++++++++++-----
> --
>  1 file changed, 39 insertions(+), 16 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_bw.c
> b/drivers/gpu/drm/i915/display/intel_bw.c
> index cd58e47ab7b2..22e83f857de8 100644
> --- a/drivers/gpu/drm/i915/display/intel_bw.c
> +++ b/drivers/gpu/drm/i915/display/intel_bw.c
> @@ -35,22 +35,45 @@ static int icl_pcode_read_mem_global_info(struct
> drm_i915_private *dev_priv,
>       if (ret)
>               return ret;
>  
> -     switch (val & 0xf) {
> -     case 0:
> -             qi->dram_type = INTEL_DRAM_DDR4;
> -             break;
> -     case 1:
> -             qi->dram_type = INTEL_DRAM_DDR3;
> -             break;
> -     case 2:
> -             qi->dram_type = INTEL_DRAM_LPDDR3;
> -             break;
> -     case 3:
> -             qi->dram_type = INTEL_DRAM_LPDDR3;
> -             break;
> -     default:
> -             MISSING_CASE(val & 0xf);
> -             break;
> +     if (IS_GEN(dev_priv, 12)) {
> +             switch (val & 0xf) {
> +             case 0:
> +                     qi->dram_type = INTEL_DRAM_DDR4;
> +                     break;
> +             case 3:
> +                     qi->dram_type = INTEL_DRAM_LPDDR4;
> +                     break;
> +             case 4:
> +                     qi->dram_type = INTEL_DRAM_DDR3;
> +                     break;
> +             case 5:
> +                     qi->dram_type = INTEL_DRAM_LPDDR3;
> +                     break;
> +             default:
> +                     MISSING_CASE(val & 0xf);
> +                     break;
> +             }
> +     } else if (IS_GEN(dev_priv, 11)) {
> +             switch (val & 0xf) {
> +             case 0:
> +                     qi->dram_type = INTEL_DRAM_DDR4;
> +                     break;
> +             case 1:
> +                     qi->dram_type = INTEL_DRAM_DDR3;
> +                     break;
> +             case 2:
> +                     qi->dram_type = INTEL_DRAM_LPDDR3;
> +                     break;
> +             case 3:
> +                     qi->dram_type = INTEL_DRAM_LPDDR4;
> +                     break;
> +             default:
> +                     MISSING_CASE(val & 0xf);
> +                     break;

James, is there a reason we can't just combine these two conditions
into one switch statement? At initial glance it looks like the cases
are the same for the common ones and the only real difference is the
supported bits.

Thanks,
Stuart

> +             }
> +     } else {
> +             MISSING_CASE(INTEL_GEN(dev_priv));
> +             qi->dram_type = INTEL_DRAM_LPDDR3; /* Conservative
> default */
>       }
>  
>       qi->num_channels = (val & 0xf0) >> 4;

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to