[Intel-gfx] [Regression report] Weekly regression report WW31

2016-07-31 Thread Jairo Miramontes


Last week regressions
+---+---+++
| BugId | Summary   | Created on | 
Bisect |

+---+---+++
| 97139 | i915: Intermittent short system stutter / lag | 2016-07-29 | 
Yes|

+---+---+++


Previous Regressions
+---+---+++
| BugId | Summary   | Created on | 
Bisect |

+---+---+++
| 90112 | [BSW bisected] OglGSCloth/Lightsmark/CS/ Port | 2015-04-20 | 
Yes|
| 94590 | [KBL/BXT] igt/kms_fbcon_fbt/psr-suspend regre | 2016-03-17 | 
No |
| 93263 | 945GM regression since 4.3| 2015-12-05 | 
No |
| 72782 | [945GM bisected] screen blank on S3 resume on | 2013-12-17 | 
Yes|
| 92414 | [Intel-gfx] As of kernel 4.3-rc1 system will  | 2015-10-10 | 
Yes|
| 92050 | [regression]/bug introduced by commit [0e572f | 2015-09-19 | 
No |
| 93802 | [IVB bisected] switching to tty1 causes fifo  | 2016-01-20 | 
Yes|
| 95197 | [i915] regression in 4.6-rc5: GPU HANG: ecode | 2016-04-28 | 
No |
| 94587 | [KBL] igt/kms_plane/plane-panning-bottom-righ | 2016-03-17 | 
No |
| 96800 | [regression] The drm-intel-nightly branch no  | 2016-07-04 | 
No |
| 95736 | [IVB bisected] *ERROR* uncleared fifo underru | 2016-05-24 | 
Yes|
| 89728 | [HSW/BDW/BYT bisected] igt / pm_rps / reset f | 2015-03-23 | 
Yes|
| 89629 | [i965 regression]igt/kms_rotation_crc/sprite- | 2015-03-18 | 
No |
| 92502 | [SKL] [Regression] igt/kms_flip/2x-flip-vs-ex | 2015-10-16 | 
No |
| 84855 | [ILK regression]igt kms_rotation_crc/sprite-r | 2014-10-10 | 
No |
| 96938 | [HSW modeset regression] i915/drm locks up wh | 2016-07-15 | 
No |
| 87131 | [PNV regression] igt/gem_exec_lut_handle take | 2014-12-09 | 
No |
| 87726 | [BDW Bisected] OglDrvCtx performance reduced  | 2014-12-26 | 
Yes|
| 91974 | [bisected] unrecoverable black screen after k | 2015-09-11 | 
Yes|
| 96645 | [regression 4.7] [BISECT]Low package c-states | 2016-06-22 | 
Yes|
| 94430 | [HSW+nvidia] regression: display becomes "dis | 2016-03-07 | 
No |
| 93971 | video framerate performance regression with U | 2016-02-02 | 
No |
| 89872 | [ HSW Bisected ] VGA was white screen when re | 2015-04-02 | 
Yes|
| 96428 | [IVB bisected] [drm:intel_dp_aux_ch] *ERROR*  | 2016-06-07 | 
Yes|
| 91959 | [865g Linux regression] GPU hang and disabled | 2015-09-10 | 
No |
| 95097 | [hdmi regression ilk] no signal to TV | 2016-04-24 | 
No |
| 89334 | [945 regression] 4.0-rc1 kernel GPU hang:  ec | 2015-02-26 | 
No |
| 94748 | Black screen on Skylake (mouse position relat | 2016-03-29 | 
No |
| 92972 | Black screen on Intel NUC hardware (i915) pos | 2015-11-16 | 
No |
| 87725 | [BDW Bisected] OglBatch7 performance reduced  | 2014-12-26 | 
Yes|
| 94676 | Possible kernel regression for gen3 and earli | 2016-03-23 | 
No |
| 94337 | Linux 4.5 regression: FIFO underruns on Skyla | 2016-02-29 | 
No |
| 97017 | [SKL GT3e guc bisected] ~10% performance drop | 2016-07-21 | 
Yes|
| 96916 | Regression: screen flashes with PSR enabled   | 2016-07-13 | 
No |
| 90368 | [SNB BSW SKL BXT KBL] bisected igt/kms_3d has | 2015-05-08 | 
Yes|
| 94588 | [KBL/BSW/BXT] igt/gem_reloc_overflow regressi | 2016-03-17 | 
No |
| 96736 | kernel 4.6 regression: PSR causes screen to f | 2016-06-29 | 
No |
| 90732 | [BDW/BSW Bisected]igt/gem_reloc_vs_gpu/forked | 2015-05-29 | 
Yes|
| 90134 | [BSW Bisected]GFXBench3_gl_driver/GFXBench3_g | 2015-04-22 | 
Yes|
| 96704 | kernel 4.6 regression: PSR on Haswell causes  | 2016-06-28 | 
No |
| 93782 | [i9xx TV][BISECT] vblank wait timeout on crtc | 2016-01-19 | 
Yes|
| 89632 | [i965 regression]igt/kms_universal_plane/univ | 2015-03-18 | 
No |
| 88439 | [BDW Bisected]igt/gem_reloc_vs_gpu/forked-fau | 2015-01-15 | 
Yes|
| 92237 | [SNB]Horrible noise (audio) via DisplayPort [ | 2015-10-02 | 
No |
| 93393 | Regression for Skylake modesetting in kernel  | 2015-12-16 | 
No |

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


Re: [Intel-gfx] [PATCH] drm/i915: set proper N/M in modeset

2016-07-31 Thread Yang, Libin
Hi Ville,

> -Original Message-
> From: Ville Syrjälä [mailto:ville.syrj...@linux.intel.com]
> Sent: Friday, July 29, 2016 5:47 PM
> To: Yang, Libin 
> Cc: libin.y...@linux.intel.com; intel-gfx@lists.freedesktop.org;
> jani.nik...@linux.intel.com; Vetter, Daniel ;
> ti...@suse.de
> Subject: Re: [PATCH] drm/i915: set proper N/M in modeset
> 
> On Fri, Jul 29, 2016 at 05:54:23AM +, Yang, Libin wrote:
> > Hi Ville,
> >
> > > -Original Message-
> > > From: Ville Syrjälä [mailto:ville.syrj...@linux.intel.com]
> > > Sent: Thursday, July 28, 2016 3:42 PM
> > > To: libin.y...@linux.intel.com
> > > Cc: intel-gfx@lists.freedesktop.org; jani.nik...@linux.intel.com;
> > > Vetter, Daniel ; ti...@suse.de; Yang, Libin
> > > 
> > > Subject: Re: [PATCH] drm/i915: set proper N/M in modeset
> > >
> > > On Thu, Jul 14, 2016 at 03:06:21PM +0800, libin.y...@linux.intel.com
> wrote:
> > > > From: Libin Yang 
> > > >
> > > > When modeset occurs and the LS_CLK is set to some special values
> > > > in DP mode, the N/M need to be set manually if audio is playing.
> > > >
> > > > Also, the patch applies
> > > > commit 7e8275c2f2bb ("drm/i915: set proper N/CTS in modeset") to
> > > > APL platform.
> > > >
> > > > Signed-off-by: Libin Yang 
> > > > ---
> > > >  drivers/gpu/drm/i915/i915_reg.h|   6 ++
> > > >  drivers/gpu/drm/i915/intel_audio.c | 116
> > > > -
> > > >  2 files changed, 108 insertions(+), 14 deletions(-)
> > > >
> > > > diff --git a/drivers/gpu/drm/i915/i915_reg.h
> > > > b/drivers/gpu/drm/i915/i915_reg.h index 8bfde75..2f9d00e 100644
> > > > --- a/drivers/gpu/drm/i915/i915_reg.h
> > > > +++ b/drivers/gpu/drm/i915/i915_reg.h
> > > > @@ -7351,6 +7351,12 @@ enum {
> > > >  #define _HSW_AUD_CONFIG_B  0x65100
> > > >  #define HSW_AUD_CFG(pipe)  _MMIO_PIPE(pipe,
> > > _HSW_AUD_CONFIG_A, _HSW_AUD_CONFIG_B)
> > > >
> > > > +#define _HSW_AUD_M_CTS_ENABLE_A0x65028
> > > > +#define _HSW_AUD_M_CTS_ENABLE_B0x65128
> > > > +#define HSW_AUD_M_CTS_ENABLE(pipe)
>   _MMIO_PIPE(pipe,
> > > _HSW_AUD_M_CTS_ENABLE_A, _HSW_AUD_M_CTS_ENABLE_B)
> > > > +#define   AUD_M_CTS_M_VALUE_INDEX  (1 << 21)
> > > > +#define   AUD_M_CTS_M_PROG_ENABLE  (1 << 20)
> > > > +
> > > >  #define _HSW_AUD_MISC_CTRL_A   0x65010
> > > >  #define _HSW_AUD_MISC_CTRL_B   0x65110
> > > >  #define HSW_AUD_MISC_CTRL(pipe)_MMIO_PIPE(pipe,
> > > _HSW_AUD_MISC_CTRL_A, _HSW_AUD_MISC_CTRL_B)
> > > > diff --git a/drivers/gpu/drm/i915/intel_audio.c
> > > > b/drivers/gpu/drm/i915/intel_audio.c
> > > > index 6700a7b..e2e4d4b 100644
> > > > --- a/drivers/gpu/drm/i915/intel_audio.c
> > > > +++ b/drivers/gpu/drm/i915/intel_audio.c
> > > > @@ -98,6 +98,22 @@ static const struct {
> > > > { 192000, TMDS_297M, 20480, 247500 },  };
> > > >
> > > > +#define LC_533M 533250
> > > > +#define LC_148M 148500
> > > > +static const struct {
> > > > +   int sample_rate;
> > > > +   int clock;
> > > > +   int n;
> > > > +   int m;
> > > > +} aud_nm[] = {
> > > > +   {48000, LC_533M, 88875, 4096},
> > > > +   {44100, LC_533M, 148125, 6272},
> > > > +   {32000, LC_533M, 266625, 8192},
> > > > +   {48000, LC_148M, 12375, 2048},
> > > > +   {44100, LC_148M, 20625, 3136},
> > > > +   {32000, LC_148M, 37125, 4096},
> > > > +};
> > > > +
> > > >  /* get AUD_CONFIG_PIXEL_CLOCK_HDMI_* value for mode */  static
> > > > u32 audio_config_hdmi_pixel_clock(const struct drm_display_mode
> > > > *adjusted_mode)  { @@ -121,20 +137,50 @@ static u32
> > > > audio_config_hdmi_pixel_clock(const struct drm_display_mode
> *adjusted
> > > > return hdmi_audio_clock[i].config;  }
> > > >
> > > > -static int audio_config_get_n(const struct drm_display_mode
> > > > *mode, int rate)
> > > > +static int audio_config_get_n(struct intel_crtc *crtc,
> > > > + const struct drm_display_mode *mode, int 
> > > > rate) {
> > > > +   int i;
> > > > +
> > > > +   if (intel_crtc_has_type(crtc->config, INTEL_OUTPUT_HDMI)) {
> > > > +   for (i = 0; i < ARRAY_SIZE(aud_ncts); i++) {
> > > > +   if ((rate == aud_ncts[i].sample_rate) &&
> > > > +   (mode->clock == aud_ncts[i].clock)) {
> > > > +   return aud_ncts[i].n;
> > > > +   }
> > > > +   }
> > > > +   }
> > > > +
> > > > +   if (intel_crtc_has_type(crtc->config, INTEL_OUTPUT_DP)) {
> > > > +   for (i = 0; i < ARRAY_SIZE(aud_nm); i++) {
> > > > +   if ((rate == aud_nm[i].sample_rate) &&
> > > > +   (mode->clock == aud_nm[i].clock)) {
> > >
> > > So the spec says we should have "Maud / Naud = 512 * fs / f_LS_Clk",
> > > where fs is the audio sample rate, and f_LS_CLK is the link symbol clock.
> > > With that in mind this should not be looking at mode->clock