All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915: Don't apply the 16Gb DIMM wm latency w/a to BXT/GLK
@ 2018-10-10 17:53 Ville Syrjala
  2018-10-10 18:35 ` ✓ Fi.CI.BAT: success for " Patchwork
                   ` (6 more replies)
  0 siblings, 7 replies; 13+ messages in thread
From: Ville Syrjala @ 2018-10-10 17:53 UTC (permalink / raw)
  To: intel-gfx

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

The 16Gb DIMM w/a is not applicable to BXT or GLK. Limit it to
the appropriate platforms.

This was especially harsh on GLK since we don't even try to read
the DIMM information on that platforms, hence valid_dimm was
always false and thus we always tried to apply the w/a.
Furthermore the w/a pushed the level 0 latency above the
level 1 latency, which doesn't really make sense.

Cc: Mahesh Kumar <mahesh1.kumar@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Fixes: 86b592876cb6 ("drm/i915: Implement 16GB dimm wa for latency level-0")
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/intel_pm.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index 1392aa56a55a..a51cd09bbf75 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -2881,8 +2881,9 @@ static void intel_read_wm_latency(struct drm_i915_private *dev_priv,
 		 * any underrun. If not able to get Dimm info assume 16GB dimm
 		 * to avoid any underrun.
 		 */
-		if (!dev_priv->dram_info.valid_dimm ||
-		    dev_priv->dram_info.is_16gb_dimm)
+		if (!IS_GEN9_LP(dev_priv) &&
+		    (!dev_priv->dram_info.valid_dimm ||
+		     dev_priv->dram_info.is_16gb_dimm))
 			wm[0] += 1;
 
 	} else if (IS_HASWELL(dev_priv) || IS_BROADWELL(dev_priv)) {
-- 
2.18.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* ✓ Fi.CI.BAT: success for drm/i915: Don't apply the 16Gb DIMM wm latency w/a to BXT/GLK
  2018-10-10 17:53 [PATCH] drm/i915: Don't apply the 16Gb DIMM wm latency w/a to BXT/GLK Ville Syrjala
@ 2018-10-10 18:35 ` Patchwork
  2018-10-10 20:49 ` [PATCH] " Mahesh Kumar
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 13+ messages in thread
From: Patchwork @ 2018-10-10 18:35 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: Don't apply the 16Gb DIMM wm latency w/a to BXT/GLK
URL   : https://patchwork.freedesktop.org/series/50815/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_4964 -> Patchwork_10416 =

== Summary - SUCCESS ==

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/50815/revisions/1/mbox/

== Known issues ==

  Here are the changes found in Patchwork_10416 that come from known issues:

  === IGT changes ===

    ==== Possible fixes ====

    igt@gem_exec_suspend@basic-s4-devices:
      fi-kbl-7500u:       DMESG-WARN (fdo#107139, fdo#105128) -> PASS

    
  fdo#105128 https://bugs.freedesktop.org/show_bug.cgi?id=105128
  fdo#107139 https://bugs.freedesktop.org/show_bug.cgi?id=107139


== Participating hosts (46 -> 40) ==

  Additional (1): fi-skl-guc 
  Missing    (7): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-icl-u2 fi-bsw-cyan fi-snb-2520m fi-ctg-p8600 


== Build changes ==

    * Linux: CI_DRM_4964 -> Patchwork_10416

  CI_DRM_4964: 0254d94ff70753445677077960e800e0c4838c7a @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4673: 54cb1aeb4e50dea9f3abae632e317875d147c4ab @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_10416: abbef66371ccac83818900f0565607c01ad0d1af @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

abbef66371cc drm/i915: Don't apply the 16Gb DIMM wm latency w/a to BXT/GLK

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_10416/issues.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH] drm/i915: Don't apply the 16Gb DIMM wm latency w/a to BXT/GLK
  2018-10-10 17:53 [PATCH] drm/i915: Don't apply the 16Gb DIMM wm latency w/a to BXT/GLK Ville Syrjala
  2018-10-10 18:35 ` ✓ Fi.CI.BAT: success for " Patchwork
@ 2018-10-10 20:49 ` Mahesh Kumar
  2018-10-10 21:00   ` Mahesh Kumar
  2018-10-11  2:03 ` ✓ Fi.CI.IGT: success for " Patchwork
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 13+ messages in thread
From: Mahesh Kumar @ 2018-10-10 20:49 UTC (permalink / raw)
  To: ville.syrjala; +Cc: intel-gfx

Hi,

On Wed, Oct 10, 2018 at 11:25 PM Ville Syrjala
<ville.syrjala@linux.intel.com> wrote:
>
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> The 16Gb DIMM w/a is not applicable to BXT or GLK. Limit it to
> the appropriate platforms.
>
> This was especially harsh on GLK since we don't even try to read
> the DIMM information on that platforms, hence valid_dimm was
> always false and thus we always tried to apply the w/a.
> Furthermore the w/a pushed the level 0 latency above the
> level 1 latency, which doesn't really make sense.
>
> Cc: Mahesh Kumar <mahesh1.kumar@intel.com>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Fixes: 86b592876cb6 ("drm/i915: Implement 16GB dimm wa for latency level-0")
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
>  drivers/gpu/drm/i915/intel_pm.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> index 1392aa56a55a..a51cd09bbf75 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -2881,8 +2881,9 @@ static void intel_read_wm_latency(struct drm_i915_private *dev_priv,
>                  * any underrun. If not able to get Dimm info assume 16GB dimm
>                  * to avoid any underrun.
>                  */
> -               if (!dev_priv->dram_info.valid_dimm ||
> -                   dev_priv->dram_info.is_16gb_dimm)
> +               if (!IS_GEN9_LP(dev_priv) &&
> +                   (!dev_priv->dram_info.valid_dimm ||
> +                    dev_priv->dram_info.is_16gb_dimm))
>                         wm[0] += 1;

I would rather prefer to update "intel_get_dram_info"  to fill
valid_dimm and is_16gb_dimm info properly

-       if (INTEL_GEN(dev_priv) < 9 || IS_GEMINILAKE(dev_priv))
+       if (INTEL_GEN(dev_priv) < 9 )
                return;

+       if (IS_GEN9_LP(dev_priv)) {
+               dram_info->valid_dimm = true;
+               dram_info->is_16gb_dimm = false;
+       }
+
+

-Mahesh

>
>         } else if (IS_HASWELL(dev_priv) || IS_BROADWELL(dev_priv)) {
> --
> 2.18.1
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH] drm/i915: Don't apply the 16Gb DIMM wm latency w/a to BXT/GLK
  2018-10-10 20:49 ` [PATCH] " Mahesh Kumar
@ 2018-10-10 21:00   ` Mahesh Kumar
  2018-10-11 16:05     ` Ville Syrjälä
  0 siblings, 1 reply; 13+ messages in thread
From: Mahesh Kumar @ 2018-10-10 21:00 UTC (permalink / raw)
  To: ville.syrjala; +Cc: intel-gfx

On Thu, Oct 11, 2018 at 2:19 AM Mahesh Kumar <mahesh1.sh.kumar@gmail.com> wrote:
>
> Hi,
>
> On Wed, Oct 10, 2018 at 11:25 PM Ville Syrjala
> <ville.syrjala@linux.intel.com> wrote:
> >
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >
> > The 16Gb DIMM w/a is not applicable to BXT or GLK. Limit it to
> > the appropriate platforms.
> >
> > This was especially harsh on GLK since we don't even try to read
> > the DIMM information on that platforms, hence valid_dimm was
> > always false and thus we always tried to apply the w/a.
> > Furthermore the w/a pushed the level 0 latency above the
> > level 1 latency, which doesn't really make sense.
> >
> > Cc: Mahesh Kumar <mahesh1.kumar@intel.com>
> > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> > Fixes: 86b592876cb6 ("drm/i915: Implement 16GB dimm wa for latency level-0")
> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > ---
> >  drivers/gpu/drm/i915/intel_pm.c | 5 +++--
> >  1 file changed, 3 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> > index 1392aa56a55a..a51cd09bbf75 100644
> > --- a/drivers/gpu/drm/i915/intel_pm.c
> > +++ b/drivers/gpu/drm/i915/intel_pm.c
> > @@ -2881,8 +2881,9 @@ static void intel_read_wm_latency(struct drm_i915_private *dev_priv,
> >                  * any underrun. If not able to get Dimm info assume 16GB dimm
> >                  * to avoid any underrun.
> >                  */
> > -               if (!dev_priv->dram_info.valid_dimm ||
> > -                   dev_priv->dram_info.is_16gb_dimm)
> > +               if (!IS_GEN9_LP(dev_priv) &&
> > +                   (!dev_priv->dram_info.valid_dimm ||
> > +                    dev_priv->dram_info.is_16gb_dimm))
> >                         wm[0] += 1;
>
> I would rather prefer to update "intel_get_dram_info"  to fill
> valid_dimm and is_16gb_dimm info properly
>
> -       if (INTEL_GEN(dev_priv) < 9 || IS_GEMINILAKE(dev_priv))
> +       if (INTEL_GEN(dev_priv) < 9 )
>                 return;
>
> +       if (IS_GEN9_LP(dev_priv)) {
> +               dram_info->valid_dimm = true;
> +               dram_info->is_16gb_dimm = false;
> +       }
> +
> +
We don't want to proceed for GLK. So, something like:

+       if (IS_GEN9_LP(dev_priv)) {
+               dram_info->valid_dimm = true;
+               dram_info->is_16gb_dimm = false;
+       }
+
        if (INTEL_GEN(dev_priv) < 9 || IS_GEMINILAKE(dev_priv))
                return;

-Mahesh
>
> -Mahesh
>
> >
> >         } else if (IS_HASWELL(dev_priv) || IS_BROADWELL(dev_priv)) {
> > --
> > 2.18.1
> >
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* ✓ Fi.CI.IGT: success for drm/i915: Don't apply the 16Gb DIMM wm latency w/a to BXT/GLK
  2018-10-10 17:53 [PATCH] drm/i915: Don't apply the 16Gb DIMM wm latency w/a to BXT/GLK Ville Syrjala
  2018-10-10 18:35 ` ✓ Fi.CI.BAT: success for " Patchwork
  2018-10-10 20:49 ` [PATCH] " Mahesh Kumar
@ 2018-10-11  2:03 ` Patchwork
  2018-10-23 18:21 ` [PATCH v2] " Ville Syrjala
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 13+ messages in thread
From: Patchwork @ 2018-10-11  2:03 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: Don't apply the 16Gb DIMM wm latency w/a to BXT/GLK
URL   : https://patchwork.freedesktop.org/series/50815/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_4964_full -> Patchwork_10416_full =

== Summary - SUCCESS ==

  No regressions found.

  

== Known issues ==

  Here are the changes found in Patchwork_10416_full that come from known issues:

  === IGT changes ===

    ==== Issues hit ====

    igt@gem_ctx_isolation@vcs0-s3:
      shard-skl:          PASS -> INCOMPLETE (fdo#104108, fdo#107773)

    igt@gem_mmap@bad-object:
      shard-apl:          PASS -> DMESG-WARN (fdo#103558, fdo#105602)

    igt@gem_ppgtt@blt-vs-render-ctx0:
      shard-skl:          NOTRUN -> TIMEOUT (fdo#108039)

    igt@gem_pwrite@huge-gtt-fbr:
      shard-snb:          NOTRUN -> INCOMPLETE (fdo#105411)

    igt@kms_addfb_basic@bo-too-small-due-to-tiling:
      shard-snb:          NOTRUN -> DMESG-WARN (fdo#107469) +5

    igt@kms_available_modes_crc@available_mode_test_crc:
      shard-apl:          PASS -> FAIL (fdo#106641)

    igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-c:
      shard-skl:          NOTRUN -> DMESG-WARN (fdo#107956)

    igt@kms_cursor_crc@cursor-128x128-random:
      shard-apl:          PASS -> FAIL (fdo#103232) +1

    igt@kms_cursor_legacy@cursorb-vs-flipb-toggle:
      shard-glk:          PASS -> DMESG-WARN (fdo#106538, fdo#105763) +1

    igt@kms_cursor_legacy@pipe-a-single-move:
      shard-glk:          PASS -> INCOMPLETE (fdo#103359, k.org#198133)

    igt@kms_fbcon_fbt@psr:
      shard-skl:          NOTRUN -> FAIL (fdo#107882)

    igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-mmap-gtt:
      shard-apl:          PASS -> FAIL (fdo#103167) +1

    igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-cpu:
      shard-skl:          NOTRUN -> FAIL (fdo#103167)

    igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-pwrite:
      shard-glk:          PASS -> FAIL (fdo#103167) +2

    igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-cpu:
      shard-glk:          PASS -> DMESG-FAIL (fdo#106538)

    igt@kms_frontbuffer_tracking@fbc-stridechange:
      shard-skl:          NOTRUN -> FAIL (fdo#105683)

    igt@kms_plane@pixel-format-pipe-b-planes:
      shard-skl:          NOTRUN -> DMESG-FAIL (fdo#103166, fdo#106885)

    {igt@kms_plane_alpha_blend@pipe-b-alpha-transparant-fb}:
      shard-skl:          NOTRUN -> FAIL (fdo#108145)

    igt@kms_plane_multiple@atomic-pipe-a-tiling-x:
      shard-apl:          PASS -> FAIL (fdo#103166) +1

    igt@kms_plane_multiple@atomic-pipe-b-tiling-x:
      shard-skl:          NOTRUN -> FAIL (fdo#103166)

    igt@kms_plane_multiple@atomic-pipe-b-tiling-y:
      shard-glk:          PASS -> FAIL (fdo#103166)

    igt@kms_setmode@basic:
      shard-apl:          PASS -> FAIL (fdo#99912)

    
    ==== Possible fixes ====

    igt@debugfs_test@read_all_entries_display_off:
      shard-skl:          INCOMPLETE (fdo#104108) -> PASS

    igt@drv_hangman@error-state-capture-render:
      shard-glk:          INCOMPLETE (fdo#103359, k.org#198133) -> PASS

    igt@drv_suspend@shrink:
      shard-glk:          INCOMPLETE (fdo#106886, fdo#103359, k.org#198133) -> PASS

    igt@gem_mmap_gtt@medium-copy-xy:
      shard-apl:          INCOMPLETE (fdo#103927) -> PASS

    igt@gem_workarounds@suspend-resume-fd:
      shard-skl:          INCOMPLETE (fdo#104108, fdo#107773) -> PASS +1

    igt@kms_cursor_crc@cursor-256x256-onscreen:
      shard-apl:          FAIL (fdo#103232) -> PASS

    igt@kms_cursor_legacy@cursora-vs-flipa-atomic-transitions-varying-size:
      shard-kbl:          DMESG-WARN (fdo#105604) -> PASS

    igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-mmap-cpu:
      shard-apl:          FAIL (fdo#103167) -> PASS +1

    igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt:
      shard-glk:          FAIL (fdo#103167) -> PASS +1

    igt@kms_plane@plane-position-covered-pipe-c-planes:
      shard-glk:          FAIL (fdo#103166) -> PASS

    igt@kms_plane_multiple@atomic-pipe-b-tiling-y:
      shard-apl:          FAIL (fdo#103166) -> PASS +2

    igt@kms_setmode@basic:
      shard-kbl:          FAIL (fdo#99912) -> PASS

    igt@perf_pmu@other-init-0:
      shard-snb:          INCOMPLETE (fdo#105411) -> PASS

    igt@perf_pmu@rc6-runtime-pm:
      shard-glk:          FAIL (fdo#105010) -> PASS

    igt@pm_rpm@gem-execbuf-stress-extra-wait:
      shard-skl:          INCOMPLETE (fdo#107807, fdo#107803) -> PASS

    
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  fdo#103166 https://bugs.freedesktop.org/show_bug.cgi?id=103166
  fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
  fdo#103232 https://bugs.freedesktop.org/show_bug.cgi?id=103232
  fdo#103359 https://bugs.freedesktop.org/show_bug.cgi?id=103359
  fdo#103558 https://bugs.freedesktop.org/show_bug.cgi?id=103558
  fdo#103927 https://bugs.freedesktop.org/show_bug.cgi?id=103927
  fdo#104108 https://bugs.freedesktop.org/show_bug.cgi?id=104108
  fdo#105010 https://bugs.freedesktop.org/show_bug.cgi?id=105010
  fdo#105411 https://bugs.freedesktop.org/show_bug.cgi?id=105411
  fdo#105602 https://bugs.freedesktop.org/show_bug.cgi?id=105602
  fdo#105604 https://bugs.freedesktop.org/show_bug.cgi?id=105604
  fdo#105683 https://bugs.freedesktop.org/show_bug.cgi?id=105683
  fdo#105763 https://bugs.freedesktop.org/show_bug.cgi?id=105763
  fdo#106538 https://bugs.freedesktop.org/show_bug.cgi?id=106538
  fdo#106641 https://bugs.freedesktop.org/show_bug.cgi?id=106641
  fdo#106885 https://bugs.freedesktop.org/show_bug.cgi?id=106885
  fdo#106886 https://bugs.freedesktop.org/show_bug.cgi?id=106886
  fdo#107469 https://bugs.freedesktop.org/show_bug.cgi?id=107469
  fdo#107773 https://bugs.freedesktop.org/show_bug.cgi?id=107773
  fdo#107803 https://bugs.freedesktop.org/show_bug.cgi?id=107803
  fdo#107807 https://bugs.freedesktop.org/show_bug.cgi?id=107807
  fdo#107882 https://bugs.freedesktop.org/show_bug.cgi?id=107882
  fdo#107956 https://bugs.freedesktop.org/show_bug.cgi?id=107956
  fdo#108039 https://bugs.freedesktop.org/show_bug.cgi?id=108039
  fdo#108145 https://bugs.freedesktop.org/show_bug.cgi?id=108145
  fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912
  k.org#198133 https://bugzilla.kernel.org/show_bug.cgi?id=198133


== Participating hosts (6 -> 6) ==

  No changes in participating hosts


== Build changes ==

    * Linux: CI_DRM_4964 -> Patchwork_10416

  CI_DRM_4964: 0254d94ff70753445677077960e800e0c4838c7a @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4673: 54cb1aeb4e50dea9f3abae632e317875d147c4ab @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_10416: abbef66371ccac83818900f0565607c01ad0d1af @ git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_10416/shards.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH] drm/i915: Don't apply the 16Gb DIMM wm latency w/a to BXT/GLK
  2018-10-10 21:00   ` Mahesh Kumar
@ 2018-10-11 16:05     ` Ville Syrjälä
  0 siblings, 0 replies; 13+ messages in thread
From: Ville Syrjälä @ 2018-10-11 16:05 UTC (permalink / raw)
  To: Mahesh Kumar; +Cc: intel-gfx

On Thu, Oct 11, 2018 at 02:30:41AM +0530, Mahesh Kumar wrote:
> On Thu, Oct 11, 2018 at 2:19 AM Mahesh Kumar <mahesh1.sh.kumar@gmail.com> wrote:
> >
> > Hi,
> >
> > On Wed, Oct 10, 2018 at 11:25 PM Ville Syrjala
> > <ville.syrjala@linux.intel.com> wrote:
> > >
> > > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > >
> > > The 16Gb DIMM w/a is not applicable to BXT or GLK. Limit it to
> > > the appropriate platforms.
> > >
> > > This was especially harsh on GLK since we don't even try to read
> > > the DIMM information on that platforms, hence valid_dimm was
> > > always false and thus we always tried to apply the w/a.
> > > Furthermore the w/a pushed the level 0 latency above the
> > > level 1 latency, which doesn't really make sense.
> > >
> > > Cc: Mahesh Kumar <mahesh1.kumar@intel.com>
> > > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> > > Fixes: 86b592876cb6 ("drm/i915: Implement 16GB dimm wa for latency level-0")
> > > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > > ---
> > >  drivers/gpu/drm/i915/intel_pm.c | 5 +++--
> > >  1 file changed, 3 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> > > index 1392aa56a55a..a51cd09bbf75 100644
> > > --- a/drivers/gpu/drm/i915/intel_pm.c
> > > +++ b/drivers/gpu/drm/i915/intel_pm.c
> > > @@ -2881,8 +2881,9 @@ static void intel_read_wm_latency(struct drm_i915_private *dev_priv,
> > >                  * any underrun. If not able to get Dimm info assume 16GB dimm
> > >                  * to avoid any underrun.
> > >                  */
> > > -               if (!dev_priv->dram_info.valid_dimm ||
> > > -                   dev_priv->dram_info.is_16gb_dimm)
> > > +               if (!IS_GEN9_LP(dev_priv) &&
> > > +                   (!dev_priv->dram_info.valid_dimm ||
> > > +                    dev_priv->dram_info.is_16gb_dimm))
> > >                         wm[0] += 1;
> >
> > I would rather prefer to update "intel_get_dram_info"  to fill
> > valid_dimm and is_16gb_dimm info properly
> >
> > -       if (INTEL_GEN(dev_priv) < 9 || IS_GEMINILAKE(dev_priv))
> > +       if (INTEL_GEN(dev_priv) < 9 )
> >                 return;
> >
> > +       if (IS_GEN9_LP(dev_priv)) {
> > +               dram_info->valid_dimm = true;
> > +               dram_info->is_16gb_dimm = false;
> > +       }
> > +
> > +
> We don't want to proceed for GLK. So, something like:
> 
> +       if (IS_GEN9_LP(dev_priv)) {
> +               dram_info->valid_dimm = true;
> +               dram_info->is_16gb_dimm = false;
> +       }
> +

I was going to do this initially but then I thought that it
might cause someone else to assume the dram info is actually
valid and rely on other stale data in there.

I guess a compromise is to ignore valid_dimm entirely and make
sure is_16gb_dimm is populated like we want for every platform.
Would probably need a comment to make sure no one extends the
16Gb dimm detection to cover BXT/GLK and accidentally re-enable
the w/a on those platforms (if they can even have 16Gb DIMMs?).

There's a bit of confusion in other parts of the dram detection
code as well. Eg. why does skl_dram_get_channels_info() set
valid_dimm=true before it configures is_16gb_dimm? There's a
return statement in between so we can be left with some kind
of bogus dram information, no?

>         if (INTEL_GEN(dev_priv) < 9 || IS_GEMINILAKE(dev_priv))
>                 return;
> 
> -Mahesh
> >
> > -Mahesh
> >
> > >
> > >         } else if (IS_HASWELL(dev_priv) || IS_BROADWELL(dev_priv)) {
> > > --
> > > 2.18.1
> > >
> > > _______________________________________________
> > > Intel-gfx mailing list
> > > Intel-gfx@lists.freedesktop.org
> > > https://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Ville Syrjälä
Intel
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [PATCH v2] drm/i915: Don't apply the 16Gb DIMM wm latency w/a to BXT/GLK
  2018-10-10 17:53 [PATCH] drm/i915: Don't apply the 16Gb DIMM wm latency w/a to BXT/GLK Ville Syrjala
                   ` (2 preceding siblings ...)
  2018-10-11  2:03 ` ✓ Fi.CI.IGT: success for " Patchwork
@ 2018-10-23 18:21 ` Ville Syrjala
  2018-10-23 18:58   ` Rodrigo Vivi
  2018-10-24  6:35   ` Mahesh Kumar
  2018-10-23 18:44 ` ✗ Fi.CI.SPARSE: warning for drm/i915: Don't apply the 16Gb DIMM wm latency w/a to BXT/GLK (rev2) Patchwork
                   ` (2 subsequent siblings)
  6 siblings, 2 replies; 13+ messages in thread
From: Ville Syrjala @ 2018-10-23 18:21 UTC (permalink / raw)
  To: intel-gfx

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

The 16Gb DIMM w/a is not applicable to BXT or GLK. Limit it to
the appropriate platforms.

This was especially harsh on GLK since we don't even try to read
the DIMM information on that platforms, hence valid_dimm was
always false and thus we always tried to apply the w/a.
Furthermore the w/a pushed the level 0 latency above the
level 1 latency, which doesn't really make sense.

v2: Do the check when populating is_16gb_dimm (Mahesh)

Cc: Mahesh Kumar <mahesh1.kumar@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Fixes: 86b592876cb6 ("drm/i915: Implement 16GB dimm wa for latency level-0")
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/i915_drv.c | 15 ++++++++-------
 drivers/gpu/drm/i915/i915_drv.h |  1 -
 drivers/gpu/drm/i915/intel_pm.c |  3 +--
 3 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index baac35f698f9..6571044c9286 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -1165,8 +1165,6 @@ skl_dram_get_channels_info(struct drm_i915_private *dev_priv)
 		return -EINVAL;
 	}
 
-	dram_info->valid_dimm = true;
-
 	/*
 	 * If any of the channel is single rank channel, worst case output
 	 * will be same as if single rank memory, so consider single rank
@@ -1183,8 +1181,7 @@ skl_dram_get_channels_info(struct drm_i915_private *dev_priv)
 		return -EINVAL;
 	}
 
-	if (ch0.is_16gb_dimm || ch1.is_16gb_dimm)
-		dram_info->is_16gb_dimm = true;
+	dram_info->is_16gb_dimm = ch0.is_16gb_dimm || ch1.is_16gb_dimm;
 
 	dev_priv->dram_info.symmetric_memory = intel_is_dram_symmetric(val_ch0,
 								       val_ch1,
@@ -1304,7 +1301,6 @@ bxt_get_dram_info(struct drm_i915_private *dev_priv)
 		return -EINVAL;
 	}
 
-	dram_info->valid_dimm = true;
 	dram_info->valid = true;
 	return 0;
 }
@@ -1317,12 +1313,17 @@ intel_get_dram_info(struct drm_i915_private *dev_priv)
 	int ret;
 
 	dram_info->valid = false;
-	dram_info->valid_dimm = false;
-	dram_info->is_16gb_dimm = false;
 	dram_info->rank = I915_DRAM_RANK_INVALID;
 	dram_info->bandwidth_kbps = 0;
 	dram_info->num_channels = 0;
 
+	/*
+	 * Assume 16Gb DIMMs are present until proven otherwise.
+	 * This is only used for the level 0 watermark latency
+	 * w/a which does not apply to bxt/glk.
+	 */
+	dram_info->is_16gb_dimm = !IS_GEN9_LP(dev_priv);
+
 	if (INTEL_GEN(dev_priv) < 9 || IS_GEMINILAKE(dev_priv))
 		return;
 
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 22cf3c75558c..2d7761b8ac07 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1933,7 +1933,6 @@ struct drm_i915_private {
 
 	struct dram_info {
 		bool valid;
-		bool valid_dimm;
 		bool is_16gb_dimm;
 		u8 num_channels;
 		enum dram_rank {
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index 67a4d0735291..faef7f528269 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -2881,8 +2881,7 @@ static void intel_read_wm_latency(struct drm_i915_private *dev_priv,
 		 * any underrun. If not able to get Dimm info assume 16GB dimm
 		 * to avoid any underrun.
 		 */
-		if (!dev_priv->dram_info.valid_dimm ||
-		    dev_priv->dram_info.is_16gb_dimm)
+		if (dev_priv->dram_info.is_16gb_dimm)
 			wm[0] += 1;
 
 	} else if (IS_HASWELL(dev_priv) || IS_BROADWELL(dev_priv)) {
-- 
2.18.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* ✗ Fi.CI.SPARSE: warning for drm/i915: Don't apply the 16Gb DIMM wm latency w/a to BXT/GLK (rev2)
  2018-10-10 17:53 [PATCH] drm/i915: Don't apply the 16Gb DIMM wm latency w/a to BXT/GLK Ville Syrjala
                   ` (3 preceding siblings ...)
  2018-10-23 18:21 ` [PATCH v2] " Ville Syrjala
@ 2018-10-23 18:44 ` Patchwork
  2018-10-23 19:03 ` ✓ Fi.CI.BAT: success " Patchwork
  2018-10-23 21:27 ` ✓ Fi.CI.IGT: " Patchwork
  6 siblings, 0 replies; 13+ messages in thread
From: Patchwork @ 2018-10-23 18:44 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: Don't apply the 16Gb DIMM wm latency w/a to BXT/GLK (rev2)
URL   : https://patchwork.freedesktop.org/series/50815/
State : warning

== Summary ==

$ dim sparse origin/drm-tip
Sparse version: v0.5.2
Commit: drm/i915: Don't apply the 16Gb DIMM wm latency w/a to BXT/GLK
-drivers/gpu/drm/i915/selftests/../i915_drv.h:3708:16: warning: expression using sizeof(void)
+drivers/gpu/drm/i915/selftests/../i915_drv.h:3707:16: warning: expression using sizeof(void)

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH v2] drm/i915: Don't apply the 16Gb DIMM wm latency w/a to BXT/GLK
  2018-10-23 18:21 ` [PATCH v2] " Ville Syrjala
@ 2018-10-23 18:58   ` Rodrigo Vivi
  2018-10-24  6:35   ` Mahesh Kumar
  1 sibling, 0 replies; 13+ messages in thread
From: Rodrigo Vivi @ 2018-10-23 18:58 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: intel-gfx

On Tue, Oct 23, 2018 at 09:21:02PM +0300, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> The 16Gb DIMM w/a is not applicable to BXT or GLK. Limit it to
> the appropriate platforms.
> 
> This was especially harsh on GLK since we don't even try to read
> the DIMM information on that platforms, hence valid_dimm was
> always false and thus we always tried to apply the w/a.
> Furthermore the w/a pushed the level 0 latency above the
> level 1 latency, which doesn't really make sense.
> 
> v2: Do the check when populating is_16gb_dimm (Mahesh)
> 
> Cc: Mahesh Kumar <mahesh1.kumar@intel.com>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Fixes: 86b592876cb6 ("drm/i915: Implement 16GB dimm wa for latency level-0")
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

> ---
>  drivers/gpu/drm/i915/i915_drv.c | 15 ++++++++-------
>  drivers/gpu/drm/i915/i915_drv.h |  1 -
>  drivers/gpu/drm/i915/intel_pm.c |  3 +--
>  3 files changed, 9 insertions(+), 10 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
> index baac35f698f9..6571044c9286 100644
> --- a/drivers/gpu/drm/i915/i915_drv.c
> +++ b/drivers/gpu/drm/i915/i915_drv.c
> @@ -1165,8 +1165,6 @@ skl_dram_get_channels_info(struct drm_i915_private *dev_priv)
>  		return -EINVAL;
>  	}
>  
> -	dram_info->valid_dimm = true;
> -
>  	/*
>  	 * If any of the channel is single rank channel, worst case output
>  	 * will be same as if single rank memory, so consider single rank
> @@ -1183,8 +1181,7 @@ skl_dram_get_channels_info(struct drm_i915_private *dev_priv)
>  		return -EINVAL;
>  	}
>  
> -	if (ch0.is_16gb_dimm || ch1.is_16gb_dimm)
> -		dram_info->is_16gb_dimm = true;
> +	dram_info->is_16gb_dimm = ch0.is_16gb_dimm || ch1.is_16gb_dimm;
>  
>  	dev_priv->dram_info.symmetric_memory = intel_is_dram_symmetric(val_ch0,
>  								       val_ch1,
> @@ -1304,7 +1301,6 @@ bxt_get_dram_info(struct drm_i915_private *dev_priv)
>  		return -EINVAL;
>  	}
>  
> -	dram_info->valid_dimm = true;
>  	dram_info->valid = true;
>  	return 0;
>  }
> @@ -1317,12 +1313,17 @@ intel_get_dram_info(struct drm_i915_private *dev_priv)
>  	int ret;
>  
>  	dram_info->valid = false;
> -	dram_info->valid_dimm = false;
> -	dram_info->is_16gb_dimm = false;
>  	dram_info->rank = I915_DRAM_RANK_INVALID;
>  	dram_info->bandwidth_kbps = 0;
>  	dram_info->num_channels = 0;
>  
> +	/*
> +	 * Assume 16Gb DIMMs are present until proven otherwise.
> +	 * This is only used for the level 0 watermark latency
> +	 * w/a which does not apply to bxt/glk.
> +	 */
> +	dram_info->is_16gb_dimm = !IS_GEN9_LP(dev_priv);
> +
>  	if (INTEL_GEN(dev_priv) < 9 || IS_GEMINILAKE(dev_priv))
>  		return;
>  
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 22cf3c75558c..2d7761b8ac07 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -1933,7 +1933,6 @@ struct drm_i915_private {
>  
>  	struct dram_info {
>  		bool valid;
> -		bool valid_dimm;
>  		bool is_16gb_dimm;
>  		u8 num_channels;
>  		enum dram_rank {
> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> index 67a4d0735291..faef7f528269 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -2881,8 +2881,7 @@ static void intel_read_wm_latency(struct drm_i915_private *dev_priv,
>  		 * any underrun. If not able to get Dimm info assume 16GB dimm
>  		 * to avoid any underrun.
>  		 */
> -		if (!dev_priv->dram_info.valid_dimm ||
> -		    dev_priv->dram_info.is_16gb_dimm)
> +		if (dev_priv->dram_info.is_16gb_dimm)
>  			wm[0] += 1;
>  
>  	} else if (IS_HASWELL(dev_priv) || IS_BROADWELL(dev_priv)) {
> -- 
> 2.18.1
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* ✓ Fi.CI.BAT: success for drm/i915: Don't apply the 16Gb DIMM wm latency w/a to BXT/GLK (rev2)
  2018-10-10 17:53 [PATCH] drm/i915: Don't apply the 16Gb DIMM wm latency w/a to BXT/GLK Ville Syrjala
                   ` (4 preceding siblings ...)
  2018-10-23 18:44 ` ✗ Fi.CI.SPARSE: warning for drm/i915: Don't apply the 16Gb DIMM wm latency w/a to BXT/GLK (rev2) Patchwork
@ 2018-10-23 19:03 ` Patchwork
  2018-10-23 21:27 ` ✓ Fi.CI.IGT: " Patchwork
  6 siblings, 0 replies; 13+ messages in thread
From: Patchwork @ 2018-10-23 19:03 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: Don't apply the 16Gb DIMM wm latency w/a to BXT/GLK (rev2)
URL   : https://patchwork.freedesktop.org/series/50815/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_5023 -> Patchwork_10549 =

== Summary - SUCCESS ==

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/50815/revisions/2/mbox/

== Known issues ==

  Here are the changes found in Patchwork_10549 that come from known issues:

  === IGT changes ===

    ==== Issues hit ====

    igt@amdgpu/amd_basic@cs-compute:
      fi-kbl-8809g:       NOTRUN -> FAIL (fdo#108094)

    igt@amdgpu/amd_prime@amd-to-i915:
      fi-kbl-8809g:       NOTRUN -> FAIL (fdo#107341)

    igt@drv_module_reload@basic-reload:
      fi-blb-e6850:       NOTRUN -> INCOMPLETE (fdo#107718)

    igt@kms_frontbuffer_tracking@basic:
      fi-hsw-peppy:       PASS -> DMESG-WARN (fdo#102614)

    igt@kms_pipe_crc_basic@nonblocking-crc-pipe-b-frame-sequence:
      fi-byt-clapper:     PASS -> FAIL (fdo#103191, fdo#107362)

    igt@kms_pipe_crc_basic@read-crc-pipe-b:
      fi-byt-clapper:     PASS -> FAIL (fdo#107362)

    
    ==== Possible fixes ====

    igt@drv_selftest@live_execlists:
      fi-apl-guc:         INCOMPLETE (fdo#106693) -> PASS

    igt@gem_ctx_switch@basic-default:
      fi-icl-u:           DMESG-FAIL -> PASS

    igt@gem_exec_suspend@basic-s3:
      fi-blb-e6850:       INCOMPLETE (fdo#107718) -> PASS

    igt@kms_pipe_crc_basic@read-crc-pipe-a:
      fi-byt-clapper:     FAIL (fdo#107362) -> PASS

    
  fdo#102614 https://bugs.freedesktop.org/show_bug.cgi?id=102614
  fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191
  fdo#106693 https://bugs.freedesktop.org/show_bug.cgi?id=106693
  fdo#107341 https://bugs.freedesktop.org/show_bug.cgi?id=107341
  fdo#107362 https://bugs.freedesktop.org/show_bug.cgi?id=107362
  fdo#107718 https://bugs.freedesktop.org/show_bug.cgi?id=107718
  fdo#108094 https://bugs.freedesktop.org/show_bug.cgi?id=108094


== Participating hosts (49 -> 45) ==

  Additional (1): fi-kbl-7560u 
  Missing    (5): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 


== Build changes ==

    * Linux: CI_DRM_5023 -> Patchwork_10549

  CI_DRM_5023: 166bc98d7b77005943ab670506f164783cdc3f56 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4688: fa6dbf8c048961356fd642df047cb58ab49309b2 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_10549: bb9114751889c3f7d4ef63206232be4e331e8fab @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

bb9114751889 drm/i915: Don't apply the 16Gb DIMM wm latency w/a to BXT/GLK

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_10549/issues.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* ✓ Fi.CI.IGT: success for drm/i915: Don't apply the 16Gb DIMM wm latency w/a to BXT/GLK (rev2)
  2018-10-10 17:53 [PATCH] drm/i915: Don't apply the 16Gb DIMM wm latency w/a to BXT/GLK Ville Syrjala
                   ` (5 preceding siblings ...)
  2018-10-23 19:03 ` ✓ Fi.CI.BAT: success " Patchwork
@ 2018-10-23 21:27 ` Patchwork
  6 siblings, 0 replies; 13+ messages in thread
From: Patchwork @ 2018-10-23 21:27 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: Don't apply the 16Gb DIMM wm latency w/a to BXT/GLK (rev2)
URL   : https://patchwork.freedesktop.org/series/50815/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_5023_full -> Patchwork_10549_full =

== Summary - WARNING ==

  Minor unknown changes coming with Patchwork_10549_full need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_10549_full, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  

== Possible new issues ==

  Here are the unknown changes that may have been introduced in Patchwork_10549_full:

  === IGT changes ===

    ==== Warnings ====

    igt@pm_rc6_residency@rc6-accuracy:
      shard-kbl:          PASS -> SKIP
      shard-snb:          PASS -> SKIP

    
== Known issues ==

  Here are the changes found in Patchwork_10549_full that come from known issues:

  === IGT changes ===

    ==== Issues hit ====

    igt@gem_eio@in-flight-10ms:
      shard-glk:          PASS -> FAIL (fdo#107799)

    igt@gem_exec_await@wide-contexts:
      shard-glk:          PASS -> FAIL (fdo#106680)

    igt@gem_pwrite@big-gtt-fbr:
      shard-apl:          PASS -> INCOMPLETE (fdo#103927)

    igt@kms_available_modes_crc@available_mode_test_crc:
      shard-apl:          PASS -> FAIL (fdo#106641)

    igt@kms_busy@extended-pageflip-hang-newfb-render-b:
      shard-apl:          NOTRUN -> DMESG-WARN (fdo#107956)

    igt@kms_color@pipe-a-legacy-gamma:
      shard-apl:          PASS -> FAIL (fdo#104782, fdo#108145)

    igt@kms_cursor_crc@cursor-256x256-onscreen:
      shard-apl:          PASS -> FAIL (fdo#103232)

    igt@kms_cursor_crc@cursor-256x85-onscreen:
      shard-apl:          NOTRUN -> FAIL (fdo#103232)

    igt@kms_cursor_crc@cursor-64x64-suspend:
      shard-apl:          NOTRUN -> FAIL (fdo#103232, fdo#103191)

    igt@kms_cursor_crc@cursor-size-change:
      shard-glk:          PASS -> FAIL (fdo#103232)

    igt@kms_flip@flip-vs-expired-vblank:
      shard-skl:          PASS -> FAIL (fdo#105363)

    igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-pwrite:
      shard-apl:          PASS -> FAIL (fdo#103167) +1

    igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-move:
      shard-glk:          PASS -> FAIL (fdo#103167) +1

    igt@kms_plane@plane-position-covered-pipe-c-planes:
      shard-apl:          PASS -> FAIL (fdo#103166)
      shard-glk:          PASS -> FAIL (fdo#103166)

    igt@kms_plane_alpha_blend@pipe-c-alpha-7efc:
      shard-skl:          NOTRUN -> FAIL (fdo#108146)

    igt@kms_plane_alpha_blend@pipe-c-constant-alpha-max:
      shard-apl:          PASS -> FAIL (fdo#108145)

    igt@kms_setmode@basic:
      shard-apl:          PASS -> FAIL (fdo#99912)

    igt@pm_rpm@modeset-stress-extra-wait:
      shard-skl:          PASS -> INCOMPLETE (fdo#107807)

    
    ==== Possible fixes ====

    igt@kms_ccs@pipe-a-crc-sprite-planes-basic:
      shard-glk:          FAIL (fdo#108145) -> PASS

    igt@kms_cursor_crc@cursor-256x256-onscreen:
      shard-glk:          FAIL (fdo#103232) -> PASS

    igt@kms_cursor_crc@cursor-size-change:
      shard-apl:          FAIL (fdo#103232) -> PASS

    igt@kms_cursor_legacy@cursora-vs-flipa-toggle:
      shard-glk:          DMESG-WARN (fdo#105763, fdo#106538) -> PASS +1

    igt@kms_flip@busy-flip-interruptible:
      shard-skl:          FAIL (fdo#103257) -> PASS

    igt@kms_flip@flip-vs-expired-vblank-interruptible:
      shard-skl:          FAIL (fdo#105363) -> PASS

    igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-pwrite:
      shard-glk:          FAIL (fdo#103167) -> PASS

    igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-fullscreen:
      shard-apl:          FAIL (fdo#103167) -> PASS +2

    igt@kms_plane_multiple@atomic-pipe-a-tiling-y:
      shard-apl:          FAIL (fdo#103166) -> PASS

    igt@kms_plane_multiple@atomic-pipe-b-tiling-y:
      shard-glk:          FAIL (fdo#103166) -> PASS +1

    igt@kms_rotation_crc@sprite-rotation-180:
      shard-apl:          INCOMPLETE (fdo#103927) -> PASS

    igt@kms_vblank@pipe-a-ts-continuation-suspend:
      shard-kbl:          INCOMPLETE (fdo#103665) -> PASS

    igt@perf@short-reads:
      shard-skl:          FAIL (fdo#103183) -> PASS

    igt@pm_rpm@legacy-planes-dpms:
      shard-skl:          INCOMPLETE (fdo#105959, fdo#107807) -> PASS

    
  fdo#103166 https://bugs.freedesktop.org/show_bug.cgi?id=103166
  fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
  fdo#103183 https://bugs.freedesktop.org/show_bug.cgi?id=103183
  fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191
  fdo#103232 https://bugs.freedesktop.org/show_bug.cgi?id=103232
  fdo#103257 https://bugs.freedesktop.org/show_bug.cgi?id=103257
  fdo#103665 https://bugs.freedesktop.org/show_bug.cgi?id=103665
  fdo#103927 https://bugs.freedesktop.org/show_bug.cgi?id=103927
  fdo#104782 https://bugs.freedesktop.org/show_bug.cgi?id=104782
  fdo#105363 https://bugs.freedesktop.org/show_bug.cgi?id=105363
  fdo#105763 https://bugs.freedesktop.org/show_bug.cgi?id=105763
  fdo#105959 https://bugs.freedesktop.org/show_bug.cgi?id=105959
  fdo#106538 https://bugs.freedesktop.org/show_bug.cgi?id=106538
  fdo#106641 https://bugs.freedesktop.org/show_bug.cgi?id=106641
  fdo#106680 https://bugs.freedesktop.org/show_bug.cgi?id=106680
  fdo#107799 https://bugs.freedesktop.org/show_bug.cgi?id=107799
  fdo#107807 https://bugs.freedesktop.org/show_bug.cgi?id=107807
  fdo#107956 https://bugs.freedesktop.org/show_bug.cgi?id=107956
  fdo#108145 https://bugs.freedesktop.org/show_bug.cgi?id=108145
  fdo#108146 https://bugs.freedesktop.org/show_bug.cgi?id=108146
  fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912


== Participating hosts (6 -> 6) ==

  No changes in participating hosts


== Build changes ==

    * Linux: CI_DRM_5023 -> Patchwork_10549

  CI_DRM_5023: 166bc98d7b77005943ab670506f164783cdc3f56 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4688: fa6dbf8c048961356fd642df047cb58ab49309b2 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_10549: bb9114751889c3f7d4ef63206232be4e331e8fab @ git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_10549/shards.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH v2] drm/i915: Don't apply the 16Gb DIMM wm latency w/a to BXT/GLK
  2018-10-23 18:21 ` [PATCH v2] " Ville Syrjala
  2018-10-23 18:58   ` Rodrigo Vivi
@ 2018-10-24  6:35   ` Mahesh Kumar
  2018-10-24 12:26     ` Ville Syrjälä
  1 sibling, 1 reply; 13+ messages in thread
From: Mahesh Kumar @ 2018-10-24  6:35 UTC (permalink / raw)
  To: ville.syrjala; +Cc: intel-gfx

LGTM..
Reviewed-by: Mahesh Kumar <mahesh1.sh.kumar@gmail.com>

-Mahesh
On Tue, Oct 23, 2018 at 11:52 PM Ville Syrjala
<ville.syrjala@linux.intel.com> wrote:
>
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> The 16Gb DIMM w/a is not applicable to BXT or GLK. Limit it to
> the appropriate platforms.
>
> This was especially harsh on GLK since we don't even try to read
> the DIMM information on that platforms, hence valid_dimm was
> always false and thus we always tried to apply the w/a.
> Furthermore the w/a pushed the level 0 latency above the
> level 1 latency, which doesn't really make sense.
>
> v2: Do the check when populating is_16gb_dimm (Mahesh)
>
> Cc: Mahesh Kumar <mahesh1.kumar@intel.com>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Fixes: 86b592876cb6 ("drm/i915: Implement 16GB dimm wa for latency level-0")
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
>  drivers/gpu/drm/i915/i915_drv.c | 15 ++++++++-------
>  drivers/gpu/drm/i915/i915_drv.h |  1 -
>  drivers/gpu/drm/i915/intel_pm.c |  3 +--
>  3 files changed, 9 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
> index baac35f698f9..6571044c9286 100644
> --- a/drivers/gpu/drm/i915/i915_drv.c
> +++ b/drivers/gpu/drm/i915/i915_drv.c
> @@ -1165,8 +1165,6 @@ skl_dram_get_channels_info(struct drm_i915_private *dev_priv)
>                 return -EINVAL;
>         }
>
> -       dram_info->valid_dimm = true;
> -
>         /*
>          * If any of the channel is single rank channel, worst case output
>          * will be same as if single rank memory, so consider single rank
> @@ -1183,8 +1181,7 @@ skl_dram_get_channels_info(struct drm_i915_private *dev_priv)
>                 return -EINVAL;
>         }
>
> -       if (ch0.is_16gb_dimm || ch1.is_16gb_dimm)
> -               dram_info->is_16gb_dimm = true;
> +       dram_info->is_16gb_dimm = ch0.is_16gb_dimm || ch1.is_16gb_dimm;
>
>         dev_priv->dram_info.symmetric_memory = intel_is_dram_symmetric(val_ch0,
>                                                                        val_ch1,
> @@ -1304,7 +1301,6 @@ bxt_get_dram_info(struct drm_i915_private *dev_priv)
>                 return -EINVAL;
>         }
>
> -       dram_info->valid_dimm = true;
>         dram_info->valid = true;
>         return 0;
>  }
> @@ -1317,12 +1313,17 @@ intel_get_dram_info(struct drm_i915_private *dev_priv)
>         int ret;
>
>         dram_info->valid = false;
> -       dram_info->valid_dimm = false;
> -       dram_info->is_16gb_dimm = false;
>         dram_info->rank = I915_DRAM_RANK_INVALID;
>         dram_info->bandwidth_kbps = 0;
>         dram_info->num_channels = 0;
>
> +       /*
> +        * Assume 16Gb DIMMs are present until proven otherwise.
> +        * This is only used for the level 0 watermark latency
> +        * w/a which does not apply to bxt/glk.
> +        */
> +       dram_info->is_16gb_dimm = !IS_GEN9_LP(dev_priv);
> +
>         if (INTEL_GEN(dev_priv) < 9 || IS_GEMINILAKE(dev_priv))
>                 return;
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 22cf3c75558c..2d7761b8ac07 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -1933,7 +1933,6 @@ struct drm_i915_private {
>
>         struct dram_info {
>                 bool valid;
> -               bool valid_dimm;
>                 bool is_16gb_dimm;
>                 u8 num_channels;
>                 enum dram_rank {
> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> index 67a4d0735291..faef7f528269 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -2881,8 +2881,7 @@ static void intel_read_wm_latency(struct drm_i915_private *dev_priv,
>                  * any underrun. If not able to get Dimm info assume 16GB dimm
>                  * to avoid any underrun.
>                  */
> -               if (!dev_priv->dram_info.valid_dimm ||
> -                   dev_priv->dram_info.is_16gb_dimm)
> +               if (dev_priv->dram_info.is_16gb_dimm)
>                         wm[0] += 1;
>
>         } else if (IS_HASWELL(dev_priv) || IS_BROADWELL(dev_priv)) {
> --
> 2.18.1
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH v2] drm/i915: Don't apply the 16Gb DIMM wm latency w/a to BXT/GLK
  2018-10-24  6:35   ` Mahesh Kumar
@ 2018-10-24 12:26     ` Ville Syrjälä
  0 siblings, 0 replies; 13+ messages in thread
From: Ville Syrjälä @ 2018-10-24 12:26 UTC (permalink / raw)
  To: Mahesh Kumar; +Cc: intel-gfx

On Wed, Oct 24, 2018 at 12:05:40PM +0530, Mahesh Kumar wrote:
> LGTM..
> Reviewed-by: Mahesh Kumar <mahesh1.sh.kumar@gmail.com>

Thanks for the reviews. Pushed to dinq.

> 
> -Mahesh
> On Tue, Oct 23, 2018 at 11:52 PM Ville Syrjala
> <ville.syrjala@linux.intel.com> wrote:
> >
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >
> > The 16Gb DIMM w/a is not applicable to BXT or GLK. Limit it to
> > the appropriate platforms.
> >
> > This was especially harsh on GLK since we don't even try to read
> > the DIMM information on that platforms, hence valid_dimm was
> > always false and thus we always tried to apply the w/a.
> > Furthermore the w/a pushed the level 0 latency above the
> > level 1 latency, which doesn't really make sense.
> >
> > v2: Do the check when populating is_16gb_dimm (Mahesh)
> >
> > Cc: Mahesh Kumar <mahesh1.kumar@intel.com>
> > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> > Fixes: 86b592876cb6 ("drm/i915: Implement 16GB dimm wa for latency level-0")
> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > ---
> >  drivers/gpu/drm/i915/i915_drv.c | 15 ++++++++-------
> >  drivers/gpu/drm/i915/i915_drv.h |  1 -
> >  drivers/gpu/drm/i915/intel_pm.c |  3 +--
> >  3 files changed, 9 insertions(+), 10 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
> > index baac35f698f9..6571044c9286 100644
> > --- a/drivers/gpu/drm/i915/i915_drv.c
> > +++ b/drivers/gpu/drm/i915/i915_drv.c
> > @@ -1165,8 +1165,6 @@ skl_dram_get_channels_info(struct drm_i915_private *dev_priv)
> >                 return -EINVAL;
> >         }
> >
> > -       dram_info->valid_dimm = true;
> > -
> >         /*
> >          * If any of the channel is single rank channel, worst case output
> >          * will be same as if single rank memory, so consider single rank
> > @@ -1183,8 +1181,7 @@ skl_dram_get_channels_info(struct drm_i915_private *dev_priv)
> >                 return -EINVAL;
> >         }
> >
> > -       if (ch0.is_16gb_dimm || ch1.is_16gb_dimm)
> > -               dram_info->is_16gb_dimm = true;
> > +       dram_info->is_16gb_dimm = ch0.is_16gb_dimm || ch1.is_16gb_dimm;
> >
> >         dev_priv->dram_info.symmetric_memory = intel_is_dram_symmetric(val_ch0,
> >                                                                        val_ch1,
> > @@ -1304,7 +1301,6 @@ bxt_get_dram_info(struct drm_i915_private *dev_priv)
> >                 return -EINVAL;
> >         }
> >
> > -       dram_info->valid_dimm = true;
> >         dram_info->valid = true;
> >         return 0;
> >  }
> > @@ -1317,12 +1313,17 @@ intel_get_dram_info(struct drm_i915_private *dev_priv)
> >         int ret;
> >
> >         dram_info->valid = false;
> > -       dram_info->valid_dimm = false;
> > -       dram_info->is_16gb_dimm = false;
> >         dram_info->rank = I915_DRAM_RANK_INVALID;
> >         dram_info->bandwidth_kbps = 0;
> >         dram_info->num_channels = 0;
> >
> > +       /*
> > +        * Assume 16Gb DIMMs are present until proven otherwise.
> > +        * This is only used for the level 0 watermark latency
> > +        * w/a which does not apply to bxt/glk.
> > +        */
> > +       dram_info->is_16gb_dimm = !IS_GEN9_LP(dev_priv);
> > +
> >         if (INTEL_GEN(dev_priv) < 9 || IS_GEMINILAKE(dev_priv))
> >                 return;
> >
> > diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> > index 22cf3c75558c..2d7761b8ac07 100644
> > --- a/drivers/gpu/drm/i915/i915_drv.h
> > +++ b/drivers/gpu/drm/i915/i915_drv.h
> > @@ -1933,7 +1933,6 @@ struct drm_i915_private {
> >
> >         struct dram_info {
> >                 bool valid;
> > -               bool valid_dimm;
> >                 bool is_16gb_dimm;
> >                 u8 num_channels;
> >                 enum dram_rank {
> > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> > index 67a4d0735291..faef7f528269 100644
> > --- a/drivers/gpu/drm/i915/intel_pm.c
> > +++ b/drivers/gpu/drm/i915/intel_pm.c
> > @@ -2881,8 +2881,7 @@ static void intel_read_wm_latency(struct drm_i915_private *dev_priv,
> >                  * any underrun. If not able to get Dimm info assume 16GB dimm
> >                  * to avoid any underrun.
> >                  */
> > -               if (!dev_priv->dram_info.valid_dimm ||
> > -                   dev_priv->dram_info.is_16gb_dimm)
> > +               if (dev_priv->dram_info.is_16gb_dimm)
> >                         wm[0] += 1;
> >
> >         } else if (IS_HASWELL(dev_priv) || IS_BROADWELL(dev_priv)) {
> > --
> > 2.18.1
> >
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Ville Syrjälä
Intel
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

end of thread, other threads:[~2018-10-24 12:26 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-10 17:53 [PATCH] drm/i915: Don't apply the 16Gb DIMM wm latency w/a to BXT/GLK Ville Syrjala
2018-10-10 18:35 ` ✓ Fi.CI.BAT: success for " Patchwork
2018-10-10 20:49 ` [PATCH] " Mahesh Kumar
2018-10-10 21:00   ` Mahesh Kumar
2018-10-11 16:05     ` Ville Syrjälä
2018-10-11  2:03 ` ✓ Fi.CI.IGT: success for " Patchwork
2018-10-23 18:21 ` [PATCH v2] " Ville Syrjala
2018-10-23 18:58   ` Rodrigo Vivi
2018-10-24  6:35   ` Mahesh Kumar
2018-10-24 12:26     ` Ville Syrjälä
2018-10-23 18:44 ` ✗ Fi.CI.SPARSE: warning for drm/i915: Don't apply the 16Gb DIMM wm latency w/a to BXT/GLK (rev2) Patchwork
2018-10-23 19:03 ` ✓ Fi.CI.BAT: success " Patchwork
2018-10-23 21:27 ` ✓ Fi.CI.IGT: " Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.