[Intel-gfx] ✗ Fi.CI.IGT: failure for drm/i915: add Makefile magic for testing headers are self-contained (rev4)

2019-04-03 Thread Patchwork
== Series Details ==

Series: drm/i915: add Makefile magic for testing headers are self-contained 
(rev4)
URL   : https://patchwork.freedesktop.org/series/58938/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_5863_full -> Patchwork_12674_full


Summary
---

  **FAILURE**

  Serious unknown changes coming with Patchwork_12674_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_12674_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_12674_full:

### IGT changes ###

 Possible regressions 

  * igt@gem_eio@reset-stress:
- shard-skl:  PASS -> DMESG-WARN

  
Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_ppgtt@blt-vs-render-ctxn:
- shard-iclb: PASS -> INCOMPLETE [fdo#109801]

  * igt@gem_userptr_blits@process-exit-gtt:
- shard-glk:  NOTRUN -> SKIP [fdo#109271] +44

  * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-c:
- shard-skl:  NOTRUN -> DMESG-WARN [fdo#110222] +1

  * igt@kms_busy@extended-pageflip-hang-oldfb-render-f:
- shard-glk:  NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +3

  * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-a:
- shard-apl:  PASS -> DMESG-WARN [fdo#110222]

  * igt@kms_chamelium@hdmi-crc-fast:
- shard-skl:  NOTRUN -> SKIP [fdo#109271] +83

  * igt@kms_cursor_crc@cursor-256x256-random:
- shard-glk:  NOTRUN -> FAIL [fdo#103232]

  * igt@kms_cursor_legacy@cursor-vs-flip-atomic:
- shard-iclb: PASS -> FAIL [fdo#103355] +1

  * igt@kms_flip@2x-modeset-vs-vblank-race:
- shard-glk:  PASS -> FAIL [fdo#103060]

  * igt@kms_flip@flip-vs-expired-vblank-interruptible:
- shard-iclb: PASS -> FAIL [fdo#105363]
- shard-skl:  PASS -> FAIL [fdo#105363]

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-blt:
- shard-iclb: PASS -> FAIL [fdo#103167] +4

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-indfb-plflip-blt:
- shard-skl:  PASS -> FAIL [fdo#103167]

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-mmap-cpu:
- shard-iclb: PASS -> FAIL [fdo#109247] +18

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-mmap-gtt:
- shard-apl:  NOTRUN -> SKIP [fdo#109271] +1

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-f:
- shard-skl:  NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +10

  * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes:
- shard-skl:  NOTRUN -> INCOMPLETE [fdo#104108]

  * igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min:
- shard-skl:  PASS -> FAIL [fdo#108145]

  * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc:
- shard-skl:  PASS -> FAIL [fdo#107815]

  * igt@kms_psr@primary_mmap_gtt:
- shard-iclb: PASS -> FAIL [fdo#107383] / [fdo#110215]

  
 Possible fixes 

  * igt@gem_tiled_pread_pwrite:
- shard-iclb: TIMEOUT [fdo#109673] -> PASS

  * igt@i915_pm_rpm@system-suspend-devices:
- shard-skl:  INCOMPLETE [fdo#107807] -> PASS

  * igt@kms_cursor_crc@cursor-128x42-offscreen:
- shard-skl:  FAIL [fdo#103232] -> PASS

  * igt@kms_cursor_edge_walk@pipe-a-128x128-left-edge:
- shard-snb:  SKIP [fdo#109271] / [fdo#109278] -> PASS

  * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic:
- shard-glk:  FAIL [fdo#104873] -> PASS

  * igt@kms_flip@flip-vs-expired-vblank-interruptible:
- shard-glk:  FAIL [fdo#102887] / [fdo#105363] -> PASS

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-move:
- shard-iclb: FAIL [fdo#103167] -> PASS +14

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-mmap-wc:
- shard-iclb: FAIL [fdo#109247] -> PASS +21

  * igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-pwrite:
- shard-iclb: FAIL [fdo#105682] / [fdo#109247] -> PASS +3

  * igt@kms_plane_alpha_blend@pipe-c-constant-alpha-min:
- shard-skl:  FAIL [fdo#108145] -> PASS

  * igt@kms_psr2_su@page_flip:
- shard-iclb: SKIP [fdo#109642] -> PASS

  * igt@kms_psr@cursor_mmap_gtt:
- shard-iclb: FAIL [fdo#107383] / [fdo#110215] -> PASS +4

  * igt@kms_psr@psr2_cursor_render:
- shard-iclb: SKIP [fdo#109441] -> PASS +1

  * igt@kms_setmode@basic:
- shard-kbl:  FAIL [fdo#99912] -> PASS

  
 Warnings 

  * igt@kms_cursor_crc@cursor-256x256-suspend:
- shard-skl:  FAIL [fdo#103191] / [fdo#103232] -> INCOMP

Re: [Intel-gfx] [PATCH] drm/i915/dp: On link train failure on eDP, retry with max params first

2019-04-03 Thread kbuild test robot
Hi Manasi,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR on v5.1-rc3 next-20190403]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:
https://github.com/0day-ci/linux/commits/Manasi-Navare/drm-i915-dp-On-link-train-failure-on-eDP-retry-with-max-params-first/20190404-115622
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
config: i386-randconfig-x006-201913 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
# save the attached .config to linux build tree
make ARCH=i386 

All errors (new ones prefixed by >>):

   drivers/gpu/drm/i915/intel_dp.c: In function 'intel_dp_uses_max_link_params':
   drivers/gpu/drm/i915/intel_dp.c:466:50: error: parameter name omitted
static bool intel_dp_uses_max_link_params(struct intel_dp*,
 ^~~~
   drivers/gpu/drm/i915/intel_dp.c:470:22: error: 'intel_dp' undeclared (first 
use in this function)
 return link_rate == intel_dp->max_link_rate &&
 ^~~~
   drivers/gpu/drm/i915/intel_dp.c:470:22: note: each undeclared identifier is 
reported only once for each function it appears in
   drivers/gpu/drm/i915/intel_dp.c: In function 
'intel_dp_get_link_train_fallback_values':
>> drivers/gpu/drm/i915/intel_dp.c:484:7: error: the address of 
>> 'intel_dp_uses_max_link_params' will always evaluate as 'true' 
>> [-Werror=address]
  if (!intel_dp_uses_max_link_params) {
  ^
   drivers/gpu/drm/i915/intel_dp.c:486:4: error: implicit declaration of 
function 'DRM_DEBUGS_KMS'; did you mean 'DRM_DEBUG_KMS'? 
[-Werror=implicit-function-declaration]
   DRM_DEBUGS_KMS("Retrying Link training for eDP with max link 
parameters\n");
   ^~
   DRM_DEBUG_KMS
   cc1: all warnings being treated as errors

vim +484 drivers/gpu/drm/i915/intel_dp.c

   465  
 > 466  static bool intel_dp_uses_max_link_params(struct intel_dp*,
   467int link_rate,
   468u8 lane_count)
   469  {
   470  return link_rate == intel_dp->max_link_rate &&
   471  lane_count == intel_dp->max_link_lane_count;
   472  }
   473  
   474  int intel_dp_get_link_train_fallback_values(struct intel_dp *intel_dp,
   475  int link_rate, u8 
lane_count)
   476  {
   477  int index;
   478  
   479  index = intel_dp_rate_index(intel_dp->common_rates,
   480  intel_dp->num_common_rates,
   481  link_rate);
   482  
   483  if (intel_dp_is_edp(intel_dp)) {
 > 484  if (!intel_dp_uses_max_link_params) {
   485  intel_dp->retry_with_max_link_params = true;
   486  DRM_DEBUGS_KMS("Retrying Link training for eDP 
with max link parameters\n");
   487  return 0;
   488  } else if 
(!intel_dp_can_link_train_fallback_for_edp(intel_dp,
   489   
intel_dp->common_rates[index - 1],
   490   
lane_count)) {
   491  DRM_DEBUG_KMS("Retrying Link training for eDP 
with same parameters\n");
   492  return 0;
   493  }
   494  }
   495  if (index > 0) {
   496  intel_dp->max_link_rate = intel_dp->common_rates[index 
- 1];
   497  intel_dp->max_link_lane_count = lane_count;
   498  } else if (lane_count > 1) {
   499  intel_dp->max_link_rate = 
intel_dp_max_common_rate(intel_dp);
   500  intel_dp->max_link_lane_count = lane_count >> 1;
   501  } else {
   502  DRM_ERROR("Link Training Unsuccessful\n");
   503  return -1;
   504  }
   505  
   506  return 0;
   507  }
   508  

---
0-DAY kernel test infrastructureOpen Source Technology Center
https://lists.01.org/pipermail/kbuild-all   Intel Corporation


.config.gz
Description: application/gzip
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH] drm/i915/dp: On link train failure on eDP, retry with max params first

2019-04-03 Thread kbuild test robot
Hi Manasi,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR on v5.1-rc3 next-20190403]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:
https://github.com/0day-ci/linux/commits/Manasi-Navare/drm-i915-dp-On-link-train-failure-on-eDP-retry-with-max-params-first/20190404-115622
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
config: x86_64-randconfig-x013-201913 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64 

All error/warnings (new ones prefixed by >>):

   drivers/gpu//drm/i915/intel_dp.c: In function 
'intel_dp_uses_max_link_params':
>> drivers/gpu//drm/i915/intel_dp.c:466:50: error: parameter name omitted
static bool intel_dp_uses_max_link_params(struct intel_dp*,
 ^~~~
>> drivers/gpu//drm/i915/intel_dp.c:470:22: error: 'intel_dp' undeclared (first 
>> use in this function)
 return link_rate == intel_dp->max_link_rate &&
 ^~~~
   drivers/gpu//drm/i915/intel_dp.c:470:22: note: each undeclared identifier is 
reported only once for each function it appears in
   drivers/gpu//drm/i915/intel_dp.c: In function 
'intel_dp_get_link_train_fallback_values':
>> drivers/gpu//drm/i915/intel_dp.c:484:7: warning: the address of 
>> 'intel_dp_uses_max_link_params' will always evaluate as 'true' [-Waddress]
  if (!intel_dp_uses_max_link_params) {
  ^
>> drivers/gpu//drm/i915/intel_dp.c:486:4: error: implicit declaration of 
>> function 'DRM_DEBUGS_KMS'; did you mean 'DRM_DEBUG_KMS'? 
>> [-Werror=implicit-function-declaration]
   DRM_DEBUGS_KMS("Retrying Link training for eDP with max link 
parameters\n");
   ^~
   DRM_DEBUG_KMS
   cc1: some warnings being treated as errors

vim +/intel_dp +470 drivers/gpu//drm/i915/intel_dp.c

   465  
 > 466  static bool intel_dp_uses_max_link_params(struct intel_dp*,
   467int link_rate,
   468u8 lane_count)
   469  {
 > 470  return link_rate == intel_dp->max_link_rate &&
   471  lane_count == intel_dp->max_link_lane_count;
   472  }
   473  
   474  int intel_dp_get_link_train_fallback_values(struct intel_dp *intel_dp,
   475  int link_rate, u8 
lane_count)
   476  {
   477  int index;
   478  
   479  index = intel_dp_rate_index(intel_dp->common_rates,
   480  intel_dp->num_common_rates,
   481  link_rate);
   482  
   483  if (intel_dp_is_edp(intel_dp)) {
 > 484  if (!intel_dp_uses_max_link_params) {
   485  intel_dp->retry_with_max_link_params = true;
 > 486  DRM_DEBUGS_KMS("Retrying Link training for eDP 
 > with max link parameters\n");
   487  return 0;
   488  } else if 
(!intel_dp_can_link_train_fallback_for_edp(intel_dp,
   489   
intel_dp->common_rates[index - 1],
   490   
lane_count)) {
   491  DRM_DEBUG_KMS("Retrying Link training for eDP 
with same parameters\n");
   492  return 0;
   493  }
   494  }
   495  if (index > 0) {
   496  intel_dp->max_link_rate = intel_dp->common_rates[index 
- 1];
   497  intel_dp->max_link_lane_count = lane_count;
   498  } else if (lane_count > 1) {
   499  intel_dp->max_link_rate = 
intel_dp_max_common_rate(intel_dp);
   500  intel_dp->max_link_lane_count = lane_count >> 1;
   501  } else {
   502  DRM_ERROR("Link Training Unsuccessful\n");
   503  return -1;
   504  }
   505  
   506  return 0;
   507  }
   508  

---
0-DAY kernel test infrastructureOpen Source Technology Center
https://lists.01.org/pipermail/kbuild-all   Intel Corporation


.config.gz
Description: application/gzip
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PULL] gvt-fixes

2019-04-03 Thread Rodrigo Vivi
On Thu, Apr 04, 2019 at 08:32:06AM +0800, Zhenyu Wang wrote:
> On 2019.04.03 17:12:37 -0700, Rodrigo Vivi wrote:
> > On Tue, Apr 02, 2019 at 05:40:37PM +0800, Zhenyu Wang wrote:
> > > 
> > > Hi,
> > > 
> > > Here's gvt-fixes for 5.1-rc4 which includes misc fixes for
> > > vGPU display plane size calculation, shadow mm pin count,
> > > error recovery path for workload create and one kerneldoc
> > > fix which I missed to include before.
> > 
> > dim: 000d38970e98 ("drm/i915/gvt: Correct the calculation of plane size"): 
> > Fixes: SHA1 needs at least 12 digits:
> > dim: e546e281d33("drm/i915/gvt: Dmabuf support for GVT-g")
> > dim: ERROR: issues in commits detected, aborting
> > 
> > Is it something you could fix on your side without having
> > to by-pass dim this time?
> > 
> 
> Sorry about that, looks people still doesn't generate Fixes tag
> properly.

dim has a great helper for all developers to generate Fixes tags.

dim fixes 

Besides the right tag it will also add right cc stable and other
cc folks.

We should advertise it more ;)

>  I'll fix that and resend.

I pulled the new one. Thanks for that.

> 
> -- 
> Open Source Technology Center, Intel ltd.
> 
> $gpg --keyserver wwwkeys.pgp.net --recv-keys 4D781827


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

[Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915/dp: On link train failure on eDP, retry with max params first

2019-04-03 Thread Patchwork
== Series Details ==

Series: drm/i915/dp: On link train failure on eDP, retry with max params first
URL   : https://patchwork.freedesktop.org/series/58975/
State : failure

== Summary ==

CALLscripts/checksyscalls.sh
  CALLscripts/atomic/check-atomics.sh
  DESCEND  objtool
  CHK include/generated/compile.h
  CC [M]  drivers/gpu/drm/i915/intel_dp.o
drivers/gpu/drm/i915/intel_dp.c: In function ‘intel_dp_uses_max_link_params’:
drivers/gpu/drm/i915/intel_dp.c:466:50: error: parameter name omitted
 static bool intel_dp_uses_max_link_params(struct intel_dp*,
  ^~~~
drivers/gpu/drm/i915/intel_dp.c:470:22: error: ‘intel_dp’ undeclared (first use 
in this function)
  return link_rate == intel_dp->max_link_rate &&
  ^~~~
drivers/gpu/drm/i915/intel_dp.c:470:22: note: each undeclared identifier is 
reported only once for each function it appears in
drivers/gpu/drm/i915/intel_dp.c: In function 
‘intel_dp_get_link_train_fallback_values’:
drivers/gpu/drm/i915/intel_dp.c:484:7: error: the address of 
‘intel_dp_uses_max_link_params’ will always evaluate as ‘true’ [-Werror=address]
   if (!intel_dp_uses_max_link_params) {
   ^
drivers/gpu/drm/i915/intel_dp.c:486:4: error: implicit declaration of function 
‘DRM_DEBUGS_KMS’; did you mean ‘DRM_DEBUG_KMS’? 
[-Werror=implicit-function-declaration]
DRM_DEBUGS_KMS("Retrying Link training for eDP with max link parameters\n");
^~
DRM_DEBUG_KMS
cc1: all warnings being treated as errors
scripts/Makefile.build:275: recipe for target 'drivers/gpu/drm/i915/intel_dp.o' 
failed
make[4]: *** [drivers/gpu/drm/i915/intel_dp.o] Error 1
scripts/Makefile.build:486: recipe for target 'drivers/gpu/drm/i915' failed
make[3]: *** [drivers/gpu/drm/i915] Error 2
scripts/Makefile.build:486: recipe for target 'drivers/gpu/drm' failed
make[2]: *** [drivers/gpu/drm] Error 2
scripts/Makefile.build:486: recipe for target 'drivers/gpu' failed
make[1]: *** [drivers/gpu] Error 2
Makefile:1051: recipe for target 'drivers' failed
make: *** [drivers] Error 2

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

Re: [Intel-gfx] [PATCH 1/7] drm/i915/psr: Update PSR2 SU corruption workaround comment

2019-04-03 Thread Rodrigo Vivi
On Wed, Apr 03, 2019 at 05:39:40PM -0700, Runyan, Arthur J wrote:
> I update the Bspec as general programming.  SRD_CTL TP2 TP3 Select - "This 
> bit impacts PSR2. Clear it before enabling PSR2 and do not set it while PSR2 
> is enabled."
> I haven't seen the hardware bug report come through yet to establish the wa 
> number.

Thanks


Reviewed-by: Rodrigo Vivi 


> 
> > -Original Message-
> > From: Vivi, Rodrigo
> > Sent: Wednesday, 3 April, 2019 5:22 PM
> > To: Souza, Jose ; Runyan, Arthur J
> > 
> > Cc: intel-gfx@lists.freedesktop.org; Pandiyan, Dhinakaran
> > 
> > Subject: Re: [PATCH 1/7] drm/i915/psr: Update PSR2 SU corruption workaround
> > comment
> > 
> > On Wed, Apr 03, 2019 at 04:35:33PM -0700, José Roberto de Souza wrote:
> > > Turn out it is not a DMC bug it is actually a HW one, so this
> > > workaround will be needed for current gens, lets update the comment
> > > and remove the FIXME.
> > 
> > Do we have a Wa #number for this? p[art of workaround page
> > or just part of programming sequence?
> > 
> > >
> > > BSpec: 7723
> > > Cc: Dhinakaran Pandiyan 
> > > Cc: Rodrigo Vivi 
> > > Signed-off-by: José Roberto de Souza 
> > > ---
> > >  drivers/gpu/drm/i915/intel_psr.c | 6 ++
> > >  1 file changed, 2 insertions(+), 4 deletions(-)
> > >
> > > diff --git a/drivers/gpu/drm/i915/intel_psr.c
> > b/drivers/gpu/drm/i915/intel_psr.c
> > > index ec874d802d48..c80bb3003a7d 100644
> > > --- a/drivers/gpu/drm/i915/intel_psr.c
> > > +++ b/drivers/gpu/drm/i915/intel_psr.c
> > > @@ -531,10 +531,8 @@ static void hsw_activate_psr2(struct intel_dp
> > *intel_dp)
> > >   val |= EDP_PSR2_TP2_TIME_2500us;
> > >
> > >   /*
> > > -  * FIXME: There is probably a issue in DMC
> > firmwares(icl_dmc_ver1_07.bin
> > > -  * and kbl_dmc_ver1_04.bin at least) that causes PSR2 SU to fail after
> > > -  * exiting DC6 if EDP_PSR_TP1_TP3_SEL is kept in PSR_CTL, so for now
> > > -  * lets workaround the issue by cleaning PSR_CTL before enable PSR2.
> > > +  * PSR2 HW is incorrectly using EDP_PSR_TP1_TP3_SEL and BSpec is
> > > +  * recommending keep this bit unset while PSR2 is enabled.
> > >*/
> > >   I915_WRITE(EDP_PSR_CTL, 0);
> > >
> > > --
> > > 2.21.0
> > >
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PULL] gvt-fixes

2019-04-03 Thread Zhenyu Wang
On 2019.04.03 17:12:37 -0700, Rodrigo Vivi wrote:
> On Tue, Apr 02, 2019 at 05:40:37PM +0800, Zhenyu Wang wrote:
> > 
> > Hi,
> > 
> > Here's gvt-fixes for 5.1-rc4 which includes misc fixes for
> > vGPU display plane size calculation, shadow mm pin count,
> > error recovery path for workload create and one kerneldoc
> > fix which I missed to include before.
> 
> dim: 000d38970e98 ("drm/i915/gvt: Correct the calculation of plane size"): 
> Fixes: SHA1 needs at least 12 digits:
> dim: e546e281d33("drm/i915/gvt: Dmabuf support for GVT-g")
> dim: ERROR: issues in commits detected, aborting
> 
> Is it something you could fix on your side without having
> to by-pass dim this time?
> 

Please re-pull this one.

Thanks
--
The following changes since commit 26cdaac4793c49357d2c731f2190632cefb7efb1:

  drm/i915/icl: Fix VEBOX mismatch BUG_ON() (2019-03-28 15:36:40 +0200)

are available in the Git repository at:

  https://github.com/intel/gvt-linux.git tags/gvt-fixes-2019-04-04

for you to fetch changes up to cf9ed66671ec5f6cacc7b6efbad9d7c9e5e31776:

  drm/i915/gvt: Fix kerneldoc typo for intel_vgpu_emulate_hotplug (2019-04-04 
08:45:45 +0800)


gvt-fixes-2019-04-04

- Fix shadow mm pin count (Yan)
- Fix cmd parser error path recover (Yan)
- Fix vGPU display plane size calculation (Xiong)
- Fix kerneldoc (Chris)


Chris Wilson (1):
  drm/i915/gvt: Fix kerneldoc typo for intel_vgpu_emulate_hotplug

Xiong Zhang (1):
  drm/i915/gvt: Correct the calculation of plane size

Yan Zhao (2):
  drm/i915/gvt: do not deliver a workload if its creation fails
  drm/i915/gvt: do not let pin count of shadow mm go negative

 drivers/gpu/drm/i915/gvt/display.c   | 2 +-
 drivers/gpu/drm/i915/gvt/dmabuf.c| 8 ++--
 drivers/gpu/drm/i915/gvt/gtt.c   | 2 +-
 drivers/gpu/drm/i915/gvt/scheduler.c | 5 +++--
 4 files changed, 7 insertions(+), 10 deletions(-)


-- 
Open Source Technology Center, Intel ltd.

$gpg --keyserver wwwkeys.pgp.net --recv-keys 4D781827


signature.asc
Description: PGP signature
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PULL] gvt-fixes

2019-04-03 Thread Zhenyu Wang
On 2019.04.03 17:12:37 -0700, Rodrigo Vivi wrote:
> On Tue, Apr 02, 2019 at 05:40:37PM +0800, Zhenyu Wang wrote:
> > 
> > Hi,
> > 
> > Here's gvt-fixes for 5.1-rc4 which includes misc fixes for
> > vGPU display plane size calculation, shadow mm pin count,
> > error recovery path for workload create and one kerneldoc
> > fix which I missed to include before.
> 
> dim: 000d38970e98 ("drm/i915/gvt: Correct the calculation of plane size"): 
> Fixes: SHA1 needs at least 12 digits:
> dim: e546e281d33("drm/i915/gvt: Dmabuf support for GVT-g")
> dim: ERROR: issues in commits detected, aborting
> 
> Is it something you could fix on your side without having
> to by-pass dim this time?
> 

Sorry about that, looks people still doesn't generate Fixes tag
properly. I'll fix that and resend.

-- 
Open Source Technology Center, Intel ltd.

$gpg --keyserver wwwkeys.pgp.net --recv-keys 4D781827


signature.asc
Description: PGP signature
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH 1/7] drm/i915/psr: Update PSR2 SU corruption workaround comment

2019-04-03 Thread Runyan, Arthur J
I update the Bspec as general programming.  SRD_CTL TP2 TP3 Select - "This bit 
impacts PSR2. Clear it before enabling PSR2 and do not set it while PSR2 is 
enabled."
I haven't seen the hardware bug report come through yet to establish the wa 
number.

> -Original Message-
> From: Vivi, Rodrigo
> Sent: Wednesday, 3 April, 2019 5:22 PM
> To: Souza, Jose ; Runyan, Arthur J
> 
> Cc: intel-gfx@lists.freedesktop.org; Pandiyan, Dhinakaran
> 
> Subject: Re: [PATCH 1/7] drm/i915/psr: Update PSR2 SU corruption workaround
> comment
> 
> On Wed, Apr 03, 2019 at 04:35:33PM -0700, José Roberto de Souza wrote:
> > Turn out it is not a DMC bug it is actually a HW one, so this
> > workaround will be needed for current gens, lets update the comment
> > and remove the FIXME.
> 
> Do we have a Wa #number for this? p[art of workaround page
> or just part of programming sequence?
> 
> >
> > BSpec: 7723
> > Cc: Dhinakaran Pandiyan 
> > Cc: Rodrigo Vivi 
> > Signed-off-by: José Roberto de Souza 
> > ---
> >  drivers/gpu/drm/i915/intel_psr.c | 6 ++
> >  1 file changed, 2 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_psr.c
> b/drivers/gpu/drm/i915/intel_psr.c
> > index ec874d802d48..c80bb3003a7d 100644
> > --- a/drivers/gpu/drm/i915/intel_psr.c
> > +++ b/drivers/gpu/drm/i915/intel_psr.c
> > @@ -531,10 +531,8 @@ static void hsw_activate_psr2(struct intel_dp
> *intel_dp)
> > val |= EDP_PSR2_TP2_TIME_2500us;
> >
> > /*
> > -* FIXME: There is probably a issue in DMC
> firmwares(icl_dmc_ver1_07.bin
> > -* and kbl_dmc_ver1_04.bin at least) that causes PSR2 SU to fail after
> > -* exiting DC6 if EDP_PSR_TP1_TP3_SEL is kept in PSR_CTL, so for now
> > -* lets workaround the issue by cleaning PSR_CTL before enable PSR2.
> > +* PSR2 HW is incorrectly using EDP_PSR_TP1_TP3_SEL and BSpec is
> > +* recommending keep this bit unset while PSR2 is enabled.
> >  */
> > I915_WRITE(EDP_PSR_CTL, 0);
> >
> > --
> > 2.21.0
> >
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

[Intel-gfx] [PATCH] drm/i915/dp: On link train failure on eDP, retry with max params first

2019-04-03 Thread Manasi Navare
Certain eDP panels fail to link train with optimized settings for
link rate and lane count and need the max link parameters to be used
for link training to pass.
So in on link training failure for eDP, retry the link training
with max link parameters first since this tends to fix link
failures on most eDP 1.4 panels

Suggested-by: Ville Syrjälä 
Cc: Ville Syrjälä 
Cc: Albert Astals Cid 
Cc: Emanuele Panigati 
Cc: Ralgor 
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109959
Signed-off-by: Manasi Navare 
---
 drivers/gpu/drm/i915/intel_dp.c  | 36 
 drivers/gpu/drm/i915/intel_drv.h |  3 +++
 2 files changed, 26 insertions(+), 13 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 72c49070ed14..d65d1a9338d6 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -463,6 +463,14 @@ static bool 
intel_dp_can_link_train_fallback_for_edp(struct intel_dp *intel_dp,
return true;
 }
 
+static bool intel_dp_uses_max_link_params(struct intel_dp*,
+ int link_rate,
+ u8 lane_count)
+{
+   return link_rate == intel_dp->max_link_rate &&
+   lane_count == intel_dp->max_link_lane_count;
+}
+
 int intel_dp_get_link_train_fallback_values(struct intel_dp *intel_dp,
int link_rate, u8 lane_count)
 {
@@ -471,24 +479,23 @@ int intel_dp_get_link_train_fallback_values(struct 
intel_dp *intel_dp,
index = intel_dp_rate_index(intel_dp->common_rates,
intel_dp->num_common_rates,
link_rate);
-   if (index > 0) {
-   if (intel_dp_is_edp(intel_dp) &&
-   !intel_dp_can_link_train_fallback_for_edp(intel_dp,
- 
intel_dp->common_rates[index - 1],
- lane_count)) {
+
+   if (intel_dp_is_edp(intel_dp)) {
+   if (!intel_dp_uses_max_link_params) {
+   intel_dp->retry_with_max_link_params = true;
+   DRM_DEBUGS_KMS("Retrying Link training for eDP with max 
link parameters\n");
+   return 0;
+   } else if (!intel_dp_can_link_train_fallback_for_edp(intel_dp,
+
intel_dp->common_rates[index - 1],
+
lane_count)) {
DRM_DEBUG_KMS("Retrying Link training for eDP with same 
parameters\n");
return 0;
}
+   }
+   if (index > 0) {
intel_dp->max_link_rate = intel_dp->common_rates[index - 1];
intel_dp->max_link_lane_count = lane_count;
} else if (lane_count > 1) {
-   if (intel_dp_is_edp(intel_dp) &&
-   !intel_dp_can_link_train_fallback_for_edp(intel_dp,
- 
intel_dp_max_common_rate(intel_dp),
- lane_count >> 1)) 
{
-   DRM_DEBUG_KMS("Retrying Link training for eDP with same 
parameters\n");
-   return 0;
-   }
intel_dp->max_link_rate = intel_dp_max_common_rate(intel_dp);
intel_dp->max_link_lane_count = lane_count >> 1;
} else {
@@ -2028,7 +2035,8 @@ intel_dp_compute_link_config(struct intel_encoder 
*encoder,
limits.min_bpp = 6 * 3;
limits.max_bpp = intel_dp_compute_bpp(intel_dp, pipe_config);
 
-   if (intel_dp_is_edp(intel_dp) && intel_dp->edp_dpcd[0] < DP_EDP_14) {
+   if ((intel_dp_is_edp(intel_dp) && intel_dp->edp_dpcd[0] < DP_EDP_14) ||
+   intel_dp->retry_with_max_link_params) {
/*
 * Use the maximum clock and number of lanes the eDP panel
 * advertizes being capable of. The eDP 1.3 and earlier panels
@@ -5432,6 +5440,8 @@ intel_dp_detect(struct drm_connector *connector,
/* Initial max link rate */
intel_dp->max_link_rate = intel_dp_max_common_rate(intel_dp);
 
+   intel_dp->retry_with_max_link_params = false;
+
intel_dp->reset_link_params = false;
}
 
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index f8c7b291fdc3..c3cf702c1cba 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -1327,6 +1327,9 @@ struct intel_dp {
 
/* Display stream compression testing */
bool force_dsc_en;
+
+   /* Some panels need max link params for link training */
+   bool retry_with_max_link_params;
 };
 
 enum lspcon_vendor {
-- 
2.19.1

___
Inte

Re: [Intel-gfx] [PATCH 6/7] drm/i915/psr: Remove partial PSR support on multiple transcoders

2019-04-03 Thread Rodrigo Vivi
On Wed, Apr 03, 2019 at 04:35:38PM -0700, José Roberto de Souza wrote:
> PSR is only supported in eDP transcoder and there is only one
> instance of it, so lets drop all of this code.

Is this sentence true? I mean, in the way it is written it
seems like HW doesn't actually support it...
Or should we re-phrase for we are not really enabling support
for other transcoders than eDP and we do not have plans to do
it so soon so let's clean the code...
or something like that?

> 
> Cc: Dhinakaran Pandiyan 
> Cc: Rodrigo Vivi 
> Signed-off-by: José Roberto de Souza 
> ---
>  drivers/gpu/drm/i915/i915_reg.h  |  17 +---
>  drivers/gpu/drm/i915/intel_psr.c | 147 ---
>  2 files changed, 42 insertions(+), 122 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index c59cfa83dbaf..18e2991b376d 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -4241,13 +4241,9 @@ enum {
>  /* Bspec claims those aren't shifted but stay at 0x64800 */
>  #define EDP_PSR_IMR  _MMIO(0x64834)
>  #define EDP_PSR_IIR  _MMIO(0x64838)
> -#define   EDP_PSR_ERROR(shift)   (1 << ((shift) + 2))
> -#define   EDP_PSR_POST_EXIT(shift)   (1 << ((shift) + 1))
> -#define   EDP_PSR_PRE_ENTRY(shift)   (1 << (shift))
> -#define   EDP_PSR_TRANSCODER_C_SHIFT 24
> -#define   EDP_PSR_TRANSCODER_B_SHIFT 16
> -#define   EDP_PSR_TRANSCODER_A_SHIFT 8
> -#define   EDP_PSR_TRANSCODER_EDP_SHIFT   0
> +#define   EDP_PSR_ERROR  (1 << 2)
> +#define   EDP_PSR_POST_EXIT  (1 << 1)
> +#define   EDP_PSR_PRE_ENTRY  (1 << 0)
>  
>  #define EDP_PSR_AUX_CTL  
> _MMIO(dev_priv->psr_mmio_base + 0x10)
>  #define   EDP_PSR_AUX_CTL_TIME_OUT_MASK  (3 << 26)
> @@ -4312,12 +4308,7 @@ enum {
>  #define   EDP_PSR2_IDLE_FRAME_MASK   0xf
>  #define   EDP_PSR2_IDLE_FRAME_SHIFT  0
>  
> -#define _PSR_EVENT_TRANS_A   0x60848
> -#define _PSR_EVENT_TRANS_B   0x61848
> -#define _PSR_EVENT_TRANS_C   0x62848
> -#define _PSR_EVENT_TRANS_D   0x63848
> -#define _PSR_EVENT_TRANS_EDP 0x6F848
> -#define PSR_EVENT(trans) _MMIO_TRANS2(trans, 
> _PSR_EVENT_TRANS_A)
> +#define PSR_EVENT_MMIO(0x6F848)
>  #define  PSR_EVENT_PSR2_WD_TIMER_EXPIRE  (1 << 17)
>  #define  PSR_EVENT_PSR2_DISABLED (1 << 16)
>  #define  PSR_EVENT_SU_DIRTY_FIFO_UNDERRUN(1 << 15)
> diff --git a/drivers/gpu/drm/i915/intel_psr.c 
> b/drivers/gpu/drm/i915/intel_psr.c
> index bb97c1657493..b984e005b72e 100644
> --- a/drivers/gpu/drm/i915/intel_psr.c
> +++ b/drivers/gpu/drm/i915/intel_psr.c
> @@ -84,46 +84,12 @@ static bool intel_psr2_enabled(struct drm_i915_private 
> *dev_priv,
>   }
>  }
>  
> -static int edp_psr_shift(enum transcoder cpu_transcoder)
> -{
> - switch (cpu_transcoder) {
> - case TRANSCODER_A:
> - return EDP_PSR_TRANSCODER_A_SHIFT;
> - case TRANSCODER_B:
> - return EDP_PSR_TRANSCODER_B_SHIFT;
> - case TRANSCODER_C:
> - return EDP_PSR_TRANSCODER_C_SHIFT;
> - default:
> - MISSING_CASE(cpu_transcoder);
> - /* fallthrough */
> - case TRANSCODER_EDP:
> - return EDP_PSR_TRANSCODER_EDP_SHIFT;
> - }
> -}
> -
>  void intel_psr_irq_control(struct drm_i915_private *dev_priv, u32 debug)
>  {
> - u32 debug_mask, mask;
> - enum transcoder cpu_transcoder;
> - u32 transcoders = BIT(TRANSCODER_EDP);
> -
> - if (INTEL_GEN(dev_priv) >= 8)
> - transcoders |= BIT(TRANSCODER_A) |
> -BIT(TRANSCODER_B) |
> -BIT(TRANSCODER_C);
> -
> - debug_mask = 0;
> - mask = 0;
> - for_each_cpu_transcoder_masked(dev_priv, cpu_transcoder, transcoders) {
> - int shift = edp_psr_shift(cpu_transcoder);
> -
> - mask |= EDP_PSR_ERROR(shift);
> - debug_mask |= EDP_PSR_POST_EXIT(shift) |
> -   EDP_PSR_PRE_ENTRY(shift);
> - }
> + u32 mask = EDP_PSR_ERROR;
>  
>   if (debug & I915_PSR_DEBUG_IRQ)
> - mask |= debug_mask;
> + mask |= EDP_PSR_POST_EXIT | EDP_PSR_PRE_ENTRY;
>  
>   I915_WRITE(EDP_PSR_IMR, ~mask);
>  }
> @@ -167,62 +133,47 @@ static void psr_event_print(u32 val, bool psr2_enabled)
>  
>  void intel_psr_irq_handler(struct drm_i915_private *dev_priv, u32 psr_iir)
>  {
> - u32 transcoders = BIT(TRANSCODER_EDP);
> - enum transcoder cpu_transcoder;
> - ktime_t time_ns =  ktime_get();
> - u32 mask = 0;
> + ktime_t time_ns = ktime_get();
>  
> - if (INTEL_GEN(dev_priv) >= 8)
> - transcoders |= BIT(TRANSCODER_A) |
> -BIT(TRANSCODER_

Re: [Intel-gfx] [PATCH 4/7] drm/i915/psr: Do not enable PSR in interlaced mode for all GENs

2019-04-03 Thread Rodrigo Vivi
On Wed, Apr 03, 2019 at 04:35:36PM -0700, José Roberto de Souza wrote:
> This interlaced restriction applies to all gens, not only to Haswell.

I believe this came from VLV times and I doubt we would be
impacted by it ever, but better to protect just in case:


Reviewed-by: Rodrigo Vivi 


> 
> Cc: Dhinakaran Pandiyan 
> Cc: Rodrigo Vivi 
> Signed-off-by: José Roberto de Souza 
> ---
>  drivers/gpu/drm/i915/intel_psr.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_psr.c 
> b/drivers/gpu/drm/i915/intel_psr.c
> index a84da931c3be..bb97c1657493 100644
> --- a/drivers/gpu/drm/i915/intel_psr.c
> +++ b/drivers/gpu/drm/i915/intel_psr.c
> @@ -627,8 +627,7 @@ void intel_psr_compute_config(struct intel_dp *intel_dp,
>   return;
>   }
>  
> - if (IS_HASWELL(dev_priv) &&
> - adjusted_mode->flags & DRM_MODE_FLAG_INTERLACE) {
> + if (adjusted_mode->flags & DRM_MODE_FLAG_INTERLACE) {
>   DRM_DEBUG_KMS("PSR condition failed: Interlaced is Enabled\n");
>   return;
>   }
> -- 
> 2.21.0
> 
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH 3/7] drm/i915/psr: Initialize PSR mutex even when sink is not reliable

2019-04-03 Thread Rodrigo Vivi
On Wed, Apr 03, 2019 at 04:35:35PM -0700, José Roberto de Souza wrote:
> Even when driver is reloaded and hits this scenario the PSR mutex
> should be initialized, otherwise reading PSR debugfs status will
> execute mutex_lock() over a mutex that was not initialized.
> 
> Cc: Dhinakaran Pandiyan 
> Cc: Rodrigo Vivi 
> Signed-off-by: José Roberto de Souza 
> ---
>  drivers/gpu/drm/i915/intel_psr.c | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_psr.c 
> b/drivers/gpu/drm/i915/intel_psr.c
> index c80bb3003a7d..a84da931c3be 100644
> --- a/drivers/gpu/drm/i915/intel_psr.c
> +++ b/drivers/gpu/drm/i915/intel_psr.c
> @@ -1227,7 +1227,6 @@ void intel_psr_init(struct drm_i915_private *dev_priv)
>   if (val) {
>   DRM_DEBUG_KMS("PSR interruption error set\n");
>   dev_priv->psr.sink_not_reliable = true;
> - return;

There are other returns above and if debugfs hits this case maybe it
is worth to move the mutex initialization up instead?

>   }
>  
>   /* Set link_standby x link_off defaults */
> -- 
> 2.21.0
> 
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH 2/7] drm/i915: Remove unused VLV/CHV PSR registers

2019-04-03 Thread Rodrigo Vivi
On Wed, Apr 03, 2019 at 04:35:34PM -0700, José Roberto de Souza wrote:
> PSR support for VLV and CHV was dropped in commit ce3508fd2a77
> ("drm/i915/psr: Nuke PSR support for VLV and CHV") so no need to keep
> this registers around.

o.O


Reviewed-by: Rodrigo Vivi 



> 
> Cc: Dhinakaran Pandiyan 
> Cc: Rodrigo Vivi 
> Signed-off-by: José Roberto de Souza 
> ---
>  drivers/gpu/drm/i915/i915_reg.h | 36 -
>  1 file changed, 36 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index 00e03560c4e7..c59cfa83dbaf 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -4209,42 +4209,6 @@ enum {
>  #define PIPESRC(trans)   _MMIO_TRANS2(trans, _PIPEASRC)
>  #define PIPE_MULT(trans) _MMIO_TRANS2(trans, _PIPE_MULT_A)
>  
> -/* VLV eDP PSR registers */
> -#define _PSRCTLA (VLV_DISPLAY_BASE + 0x60090)
> -#define _PSRCTLB (VLV_DISPLAY_BASE + 0x61090)
> -#define  VLV_EDP_PSR_ENABLE  (1 << 0)
> -#define  VLV_EDP_PSR_RESET   (1 << 1)
> -#define  VLV_EDP_PSR_MODE_MASK   (7 << 2)
> -#define  VLV_EDP_PSR_MODE_HW_TIMER   (1 << 3)
> -#define  VLV_EDP_PSR_MODE_SW_TIMER   (1 << 2)
> -#define  VLV_EDP_PSR_SINGLE_FRAME_UPDATE (1 << 7)
> -#define  VLV_EDP_PSR_ACTIVE_ENTRY(1 << 8)
> -#define  VLV_EDP_PSR_SRC_TRANSMITTER_STATE   (1 << 9)
> -#define  VLV_EDP_PSR_DBL_FRAME   (1 << 10)
> -#define  VLV_EDP_PSR_FRAME_COUNT_MASK(0xff << 16)
> -#define  VLV_EDP_PSR_IDLE_FRAME_SHIFT16
> -#define VLV_PSRCTL(pipe) _MMIO_PIPE(pipe, _PSRCTLA, _PSRCTLB)
> -
> -#define _VSCSDPA (VLV_DISPLAY_BASE + 0x600a0)
> -#define _VSCSDPB (VLV_DISPLAY_BASE + 0x610a0)
> -#define  VLV_EDP_PSR_SDP_FREQ_MASK   (3 << 30)
> -#define  VLV_EDP_PSR_SDP_FREQ_ONCE   (1 << 31)
> -#define  VLV_EDP_PSR_SDP_FREQ_EVFRAME(1 << 30)
> -#define VLV_VSCSDP(pipe) _MMIO_PIPE(pipe, _VSCSDPA, _VSCSDPB)
> -
> -#define _PSRSTATA(VLV_DISPLAY_BASE + 0x60094)
> -#define _PSRSTATB(VLV_DISPLAY_BASE + 0x61094)
> -#define  VLV_EDP_PSR_LAST_STATE_MASK (7 << 3)
> -#define  VLV_EDP_PSR_CURR_STATE_MASK 7
> -#define  VLV_EDP_PSR_DISABLED(0 << 0)
> -#define  VLV_EDP_PSR_INACTIVE(1 << 0)
> -#define  VLV_EDP_PSR_IN_TRANS_TO_ACTIVE  (2 << 0)
> -#define  VLV_EDP_PSR_ACTIVE_NORFB_UP (3 << 0)
> -#define  VLV_EDP_PSR_ACTIVE_SF_UPDATE(4 << 0)
> -#define  VLV_EDP_PSR_EXIT(5 << 0)
> -#define  VLV_EDP_PSR_IN_TRANS(1 << 7)
> -#define VLV_PSRSTAT(pipe)_MMIO_PIPE(pipe, _PSRSTATA, _PSRSTATB)
> -
>  /* HSW+ eDP PSR registers */
>  #define HSW_EDP_PSR_BASE 0x64800
>  #define BDW_EDP_PSR_BASE 0x6f800
> -- 
> 2.21.0
> 
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH 1/7] drm/i915/psr: Update PSR2 SU corruption workaround comment

2019-04-03 Thread Rodrigo Vivi
On Wed, Apr 03, 2019 at 04:35:33PM -0700, José Roberto de Souza wrote:
> Turn out it is not a DMC bug it is actually a HW one, so this
> workaround will be needed for current gens, lets update the comment
> and remove the FIXME.

Do we have a Wa #number for this? p[art of workaround page
or just part of programming sequence?

> 
> BSpec: 7723
> Cc: Dhinakaran Pandiyan 
> Cc: Rodrigo Vivi 
> Signed-off-by: José Roberto de Souza 
> ---
>  drivers/gpu/drm/i915/intel_psr.c | 6 ++
>  1 file changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_psr.c 
> b/drivers/gpu/drm/i915/intel_psr.c
> index ec874d802d48..c80bb3003a7d 100644
> --- a/drivers/gpu/drm/i915/intel_psr.c
> +++ b/drivers/gpu/drm/i915/intel_psr.c
> @@ -531,10 +531,8 @@ static void hsw_activate_psr2(struct intel_dp *intel_dp)
>   val |= EDP_PSR2_TP2_TIME_2500us;
>  
>   /*
> -  * FIXME: There is probably a issue in DMC firmwares(icl_dmc_ver1_07.bin
> -  * and kbl_dmc_ver1_04.bin at least) that causes PSR2 SU to fail after
> -  * exiting DC6 if EDP_PSR_TP1_TP3_SEL is kept in PSR_CTL, so for now
> -  * lets workaround the issue by cleaning PSR_CTL before enable PSR2.
> +  * PSR2 HW is incorrectly using EDP_PSR_TP1_TP3_SEL and BSpec is
> +  * recommending keep this bit unset while PSR2 is enabled.
>*/
>   I915_WRITE(EDP_PSR_CTL, 0);
>  
> -- 
> 2.21.0
> 
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PULL] gvt-fixes

2019-04-03 Thread Rodrigo Vivi
On Tue, Apr 02, 2019 at 05:40:37PM +0800, Zhenyu Wang wrote:
> 
> Hi,
> 
> Here's gvt-fixes for 5.1-rc4 which includes misc fixes for
> vGPU display plane size calculation, shadow mm pin count,
> error recovery path for workload create and one kerneldoc
> fix which I missed to include before.

dim: 000d38970e98 ("drm/i915/gvt: Correct the calculation of plane size"): 
Fixes: SHA1 needs at least 12 digits:
dim: e546e281d33("drm/i915/gvt: Dmabuf support for GVT-g")
dim: ERROR: issues in commits detected, aborting

Is it something you could fix on your side without having
to by-pass dim this time?

Thanks,
Rodrigo.

> 
> Thanks.
> --
> The following changes since commit 26cdaac4793c49357d2c731f2190632cefb7efb1:
> 
>   drm/i915/icl: Fix VEBOX mismatch BUG_ON() (2019-03-28 15:36:40 +0200)
> 
> are available in the Git repository at:
> 
>   https://github.com/intel/gvt-linux.git tags/gvt-fixes-2019-04-02
> 
> for you to fetch changes up to a14f068545cc13db9e0ad0ea451ec42e5abc97c0:
> 
>   drm/i915/gvt: Fix kerneldoc typo for intel_vgpu_emulate_hotplug (2019-03-29 
> 10:31:15 +0800)
> 
> 
> gvt-fixes-2019-04-02
> 
> - Fix shadow mm pin count (Yan)
> - Fix cmd parser error path recover (Yan)
> - Fix vGPU display plane size calculation (Xiong)
> - Fix kerneldoc (Chris)
> 
> 
> Chris Wilson (1):
>   drm/i915/gvt: Fix kerneldoc typo for intel_vgpu_emulate_hotplug
> 
> Xiong Zhang (1):
>   drm/i915/gvt: Correct the calculation of plane size
> 
> Yan Zhao (2):
>   drm/i915/gvt: do not deliver a workload if its creation fails
>   drm/i915/gvt: do not let pin count of shadow mm go negative
> 
>  drivers/gpu/drm/i915/gvt/display.c   | 2 +-
>  drivers/gpu/drm/i915/gvt/dmabuf.c| 8 ++--
>  drivers/gpu/drm/i915/gvt/gtt.c   | 2 +-
>  drivers/gpu/drm/i915/gvt/scheduler.c | 5 +++--
>  4 files changed, 7 insertions(+), 10 deletions(-)
> 
> 
> -- 
> Open Source Technology Center, Intel ltd.
> 
> $gpg --keyserver wwwkeys.pgp.net --recv-keys 4D781827


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

[Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [1/7] drm/i915/psr: Update PSR2 SU corruption workaround comment

2019-04-03 Thread Patchwork
== Series Details ==

Series: series starting with [1/7] drm/i915/psr: Update PSR2 SU corruption 
workaround comment
URL   : https://patchwork.freedesktop.org/series/58974/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_5867 -> Patchwork_12677


Summary
---

  **FAILURE**

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

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

Possible new issues
---

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

### IGT changes ###

 Possible regressions 

  * igt@gem_close_race@basic-threads:
- fi-icl-u2:  PASS -> INCOMPLETE

  
Known issues


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

### IGT changes ###

 Issues hit 

  * igt@amdgpu/amd_basic@userptr:
- fi-kbl-8809g:   PASS -> DMESG-WARN [fdo#108965]

  * igt@gem_exec_basic@readonly-bsd2:
- fi-skl-6770hq:  PASS -> DMESG-WARN [fdo#105541]

  * igt@i915_module_load@reload:
- fi-blb-e6850:   PASS -> INCOMPLETE [fdo#107718]

  * igt@i915_selftest@live_evict:
- fi-bsw-kefka:   PASS -> DMESG-WARN [fdo#107709]

  * igt@kms_pipe_crc_basic@hang-read-crc-pipe-a:
- fi-byt-clapper: PASS -> FAIL [fdo#103191] / [fdo#107362]

  * igt@runner@aborted:
- fi-bsw-kefka:   NOTRUN -> FAIL [fdo#107709]

  
 Possible fixes 

  * igt@kms_frontbuffer_tracking@basic:
- {fi-icl-u3}:FAIL [fdo#103167] -> PASS

  
 Warnings 

  * igt@i915_selftest@live_contexts:
- fi-icl-y:   INCOMPLETE [fdo#108569] -> DMESG-FAIL [fdo#108569]

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

  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191
  [fdo#105541]: https://bugs.freedesktop.org/show_bug.cgi?id=105541
  [fdo#107362]: https://bugs.freedesktop.org/show_bug.cgi?id=107362
  [fdo#107709]: https://bugs.freedesktop.org/show_bug.cgi?id=107709
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#108965]: https://bugs.freedesktop.org/show_bug.cgi?id=108965


Participating hosts (50 -> 43)
--

  Missing(7): fi-ilk-m540 fi-hsw-4200u fi-hsw-peppy fi-byt-squawks 
fi-bsw-cyan fi-ctg-p8600 fi-bdw-samus 


Build changes
-

* Linux: CI_DRM_5867 -> Patchwork_12677

  CI_DRM_5867: 4a41303673f5b18b2b176182dd220d455f33d204 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4926: c9a9cf357b6b2a304623790bf8dae797e12888a8 @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_12677: 2ec4ae3c2d94eb1a433c5d6a2739fe6a8e480fb0 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

2ec4ae3c2d94 drm/i915: Make PSR registers relative to transcoders
39c5d9840b98 drm/i915/psr: Remove partial PSR support on multiple transcoders
1a978559512b drm/i915/bdw+: Move misc display IRQ handling to it own function
841cd7fa823e drm/i915/psr: Do not enable PSR in interlaced mode for all GENs
997ec2ab8f6d drm/i915/psr: Initialize PSR mutex even when sink is not reliable
e483edd370ea drm/i915: Remove unused VLV/CHV PSR registers
a823afc06f70 drm/i915/psr: Update PSR2 SU corruption workaround comment

== Logs ==

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

[Intel-gfx] ✗ Fi.CI.SPARSE: warning for series starting with [1/7] drm/i915/psr: Update PSR2 SU corruption workaround comment

2019-04-03 Thread Patchwork
== Series Details ==

Series: series starting with [1/7] drm/i915/psr: Update PSR2 SU corruption 
workaround comment
URL   : https://patchwork.freedesktop.org/series/58974/
State : warning

== Summary ==

$ dim sparse origin/drm-tip
Sparse version: v0.5.2
Commit: drm/i915/psr: Update PSR2 SU corruption workaround comment
Okay!

Commit: drm/i915: Remove unused VLV/CHV PSR registers
Okay!

Commit: drm/i915/psr: Initialize PSR mutex even when sink is not reliable
Okay!

Commit: drm/i915/psr: Do not enable PSR in interlaced mode for all GENs
Okay!

Commit: drm/i915/bdw+: Move misc display IRQ handling to it own function
Okay!

Commit: drm/i915/psr: Remove partial PSR support on multiple transcoders
Okay!

Commit: drm/i915: Make PSR registers relative to transcoders
-drivers/gpu/drm/i915/selftests/../i915_drv.h:3623:16: warning: expression 
using sizeof(void)
+drivers/gpu/drm/i915/selftests/../i915_drv.h:3624:16: warning: expression 
using sizeof(void)

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

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/7] drm/i915/psr: Update PSR2 SU corruption workaround comment

2019-04-03 Thread Patchwork
== Series Details ==

Series: series starting with [1/7] drm/i915/psr: Update PSR2 SU corruption 
workaround comment
URL   : https://patchwork.freedesktop.org/series/58974/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
a823afc06f70 drm/i915/psr: Update PSR2 SU corruption workaround comment
e483edd370ea drm/i915: Remove unused VLV/CHV PSR registers
997ec2ab8f6d drm/i915/psr: Initialize PSR mutex even when sink is not reliable
841cd7fa823e drm/i915/psr: Do not enable PSR in interlaced mode for all GENs
1a978559512b drm/i915/bdw+: Move misc display IRQ handling to it own function
39c5d9840b98 drm/i915/psr: Remove partial PSR support on multiple transcoders
2ec4ae3c2d94 drm/i915: Make PSR registers relative to transcoders
-:93: WARNING:LONG_LINE: line over 100 characters
#93: FILE: drivers/gpu/drm/i915/i915_reg.h:254:
+
INTEL_INFO(dev_priv)->trans_offsets[TRANSCODER_A] + (reg) + \

-:109: WARNING:LONG_LINE: line over 100 characters
#109: FILE: drivers/gpu/drm/i915/i915_reg.h:4217:
+#define _TRANS2_PSR(reg)   (_TRANS2(dev_priv->psr.transcoder, (reg)) - 
dev_priv->psr.mmio_base_adjust)

-:135: WARNING:LONG_LINE_COMMENT: line over 100 characters
#135: FILE: drivers/gpu/drm/i915/i915_reg.h:4266:
+#define EDP_PSR_AUX_DATA(i)
_MMIO(_TRANS2_PSR(_SRD_AUX_DATA_A) + (i) + 4) /* 5 registers */

total: 0 errors, 3 warnings, 0 checks, 166 lines checked

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

[Intel-gfx] [PATCH 4/7] drm/i915/psr: Do not enable PSR in interlaced mode for all GENs

2019-04-03 Thread José Roberto de Souza
This interlaced restriction applies to all gens, not only to Haswell.

Cc: Dhinakaran Pandiyan 
Cc: Rodrigo Vivi 
Signed-off-by: José Roberto de Souza 
---
 drivers/gpu/drm/i915/intel_psr.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_psr.c b/drivers/gpu/drm/i915/intel_psr.c
index a84da931c3be..bb97c1657493 100644
--- a/drivers/gpu/drm/i915/intel_psr.c
+++ b/drivers/gpu/drm/i915/intel_psr.c
@@ -627,8 +627,7 @@ void intel_psr_compute_config(struct intel_dp *intel_dp,
return;
}
 
-   if (IS_HASWELL(dev_priv) &&
-   adjusted_mode->flags & DRM_MODE_FLAG_INTERLACE) {
+   if (adjusted_mode->flags & DRM_MODE_FLAG_INTERLACE) {
DRM_DEBUG_KMS("PSR condition failed: Interlaced is Enabled\n");
return;
}
-- 
2.21.0

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

[Intel-gfx] [PATCH 7/7] drm/i915: Make PSR registers relative to transcoders

2019-04-03 Thread José Roberto de Souza
PSR registers are a mess, some have the full address while others just
have the additional offset from psr_mmio_base.

psr_mmio_base is nothing more than TRANSCODER_EDP_OFFSET + 0x800 and
using it makes more difficult for people with an PSR register address
from BSpec to search the register name in i915 as also the BSpec name
don't match with the name in i915.

The other option would be use the whole hard-coded address but this is
not future proof, so here going in the middle ground by making every
PSR register relative to transcoder(that is EDP transcoder), the only
exception is PSR_IMR/IIR that is not relative to nothing.
For the _TRANS2() macros to work it needs the address of the register
from the TRANSCODER_A, so adding it to every register together with
the register address from the EDP transcoder so it will make easy for
people searching with BSpec address also adding those with the BSpec
name.

For Haswell all the PSR register are relative to 0x64000, so
mmio_base_adjust was added and used to take care of that.

Also removing BDW_EDP_PSR_BASE from GVT because it is not used as
the only PSR register that GVT have is this one(SRD/PSR_CTL).

Cc: Dhinakaran Pandiyan 
Cc: Rodrigo Vivi 
Cc: Jani Nikula 
Cc: Ville Syrjälä 
Signed-off-by: José Roberto de Souza 
---
 drivers/gpu/drm/i915/gvt/handlers.c |  1 -
 drivers/gpu/drm/i915/i915_drv.h |  5 ++-
 drivers/gpu/drm/i915/i915_reg.h | 59 -
 drivers/gpu/drm/i915/intel_psr.c| 11 --
 4 files changed, 52 insertions(+), 24 deletions(-)

diff --git a/drivers/gpu/drm/i915/gvt/handlers.c 
b/drivers/gpu/drm/i915/gvt/handlers.c
index 86761b1def1e..d09b798e93cb 100644
--- a/drivers/gpu/drm/i915/gvt/handlers.c
+++ b/drivers/gpu/drm/i915/gvt/handlers.c
@@ -2739,7 +2739,6 @@ static int init_broadwell_mmio_info(struct intel_gvt *gvt)
MMIO_D(CHICKEN_PIPESL_1(PIPE_C), D_BDW_PLUS);
 
MMIO_D(WM_MISC, D_BDW);
-   MMIO_D(_MMIO(BDW_EDP_PSR_BASE), D_BDW);
 
MMIO_D(_MMIO(0x6671c), D_BDW_PLUS);
MMIO_D(_MMIO(0x66c00), D_BDW_PLUS);
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 8f38d03b1c4e..9ce46a7dabfd 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -501,6 +501,8 @@ struct i915_drrs {
 };
 
 struct i915_psr {
+   /* different than zero only on HSW see _TRANS2_PSR() for more info */
+   u32 mmio_base_adjust;
struct mutex lock;
 
 #define I915_PSR_DEBUG_MODE_MASK   0x0f
@@ -515,6 +517,7 @@ struct i915_psr {
bool enabled;
struct intel_dp *dp;
enum pipe pipe;
+   enum transcoder transcoder;
bool active;
struct work_struct work;
unsigned busy_frontbuffer_bits;
@@ -1541,8 +1544,6 @@ struct drm_i915_private {
/* MMIO base address for MIPI regs */
u32 mipi_mmio_base;
 
-   u32 psr_mmio_base;
-
u32 pps_mmio_base;
 
wait_queue_head_t gmbus_wait_queue;
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 18e2991b376d..4df56c118cd2 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -250,9 +250,10 @@ static inline bool i915_mmio_reg_valid(i915_reg_t reg)
 #define _MMIO_PIPE2(pipe, reg) 
_MMIO(INTEL_INFO(dev_priv)->pipe_offsets[pipe] - \
  
INTEL_INFO(dev_priv)->pipe_offsets[PIPE_A] + (reg) + \
  DISPLAY_MMIO_BASE(dev_priv))
-#define _MMIO_TRANS2(pipe, reg)
_MMIO(INTEL_INFO(dev_priv)->trans_offsets[(pipe)] - \
- 
INTEL_INFO(dev_priv)->trans_offsets[TRANSCODER_A] + (reg) + \
- DISPLAY_MMIO_BASE(dev_priv))
+#define _TRANS2(trans, reg)
(INTEL_INFO(dev_priv)->trans_offsets[(trans)] - \
+
INTEL_INFO(dev_priv)->trans_offsets[TRANSCODER_A] + (reg) + \
+DISPLAY_MMIO_BASE(dev_priv))
+#define _MMIO_TRANS2(trans, reg)   _MMIO(_TRANS2(trans, reg))
 #define _CURSOR2(pipe, reg)
_MMIO(INTEL_INFO(dev_priv)->cursor_offsets[(pipe)] - \
  
INTEL_INFO(dev_priv)->cursor_offsets[PIPE_A] + (reg) + \
  DISPLAY_MMIO_BASE(dev_priv))
@@ -4210,9 +4211,15 @@ enum {
 #define PIPE_MULT(trans)   _MMIO_TRANS2(trans, _PIPE_MULT_A)
 
 /* HSW+ eDP PSR registers */
-#define HSW_EDP_PSR_BASE   0x64800
-#define BDW_EDP_PSR_BASE   0x6f800
-#define EDP_PSR_CTL_MMIO(dev_priv->psr_mmio_base + 
0)
+#define HSW_EDP_PSR_BASE   0x64000
+
+/* PSR registers on HSW is not relative to eDP transcoder */
+#define _TRANS2_PSR(reg)   (_TRANS2(dev_priv->psr.transcoder, (reg)) - 
dev_priv->psr.mmio_base_adjust)
+#define _MMIO_TRANS2_PSR(reg)  _MMIO(_TRANS2_PSR(reg))
+
+#define _SRD_CTL_A

[Intel-gfx] [PATCH 3/7] drm/i915/psr: Initialize PSR mutex even when sink is not reliable

2019-04-03 Thread José Roberto de Souza
Even when driver is reloaded and hits this scenario the PSR mutex
should be initialized, otherwise reading PSR debugfs status will
execute mutex_lock() over a mutex that was not initialized.

Cc: Dhinakaran Pandiyan 
Cc: Rodrigo Vivi 
Signed-off-by: José Roberto de Souza 
---
 drivers/gpu/drm/i915/intel_psr.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/intel_psr.c b/drivers/gpu/drm/i915/intel_psr.c
index c80bb3003a7d..a84da931c3be 100644
--- a/drivers/gpu/drm/i915/intel_psr.c
+++ b/drivers/gpu/drm/i915/intel_psr.c
@@ -1227,7 +1227,6 @@ void intel_psr_init(struct drm_i915_private *dev_priv)
if (val) {
DRM_DEBUG_KMS("PSR interruption error set\n");
dev_priv->psr.sink_not_reliable = true;
-   return;
}
 
/* Set link_standby x link_off defaults */
-- 
2.21.0

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

[Intel-gfx] [PATCH 5/7] drm/i915/bdw+: Move misc display IRQ handling to it own function

2019-04-03 Thread José Roberto de Souza
Just moving it to reduce the tabs and avoid break code lines.
No behavior changes intended here.

Signed-off-by: José Roberto de Souza 
---
 drivers/gpu/drm/i915/i915_irq.c | 63 +++--
 1 file changed, 36 insertions(+), 27 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index aa107a78cb36..527d5cb21baa 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -2702,41 +2702,50 @@ static u32 gen8_de_port_aux_mask(struct 
drm_i915_private *dev_priv)
return mask;
 }
 
-static irqreturn_t
-gen8_de_irq_handler(struct drm_i915_private *dev_priv, u32 master_ctl)
+static enum irqreturn
+gen8_de_misc_irq_handler(struct drm_i915_private *dev_priv)
 {
-   irqreturn_t ret = IRQ_NONE;
-   u32 iir;
-   enum pipe pipe;
+   u32 iir = I915_READ(GEN8_DE_MISC_IIR);
+   enum irqreturn ret = IRQ_NONE;
+   bool found = false;
 
-   if (master_ctl & GEN8_DE_MISC_IRQ) {
-   iir = I915_READ(GEN8_DE_MISC_IIR);
-   if (iir) {
-   bool found = false;
-
-   I915_WRITE(GEN8_DE_MISC_IIR, iir);
-   ret = IRQ_HANDLED;
+   if (!iir) {
+   DRM_ERROR("The master control interrupt lied (DE MISC)!\n");
+   return ret;
+   }
 
-   if (iir & GEN8_DE_MISC_GSE) {
-   intel_opregion_asle_intr(dev_priv);
-   found = true;
-   }
+   I915_WRITE(GEN8_DE_MISC_IIR, iir);
+   ret = IRQ_HANDLED;
 
-   if (iir & GEN8_DE_EDP_PSR) {
-   u32 psr_iir = I915_READ(EDP_PSR_IIR);
+   if (iir & GEN8_DE_MISC_GSE) {
+   intel_opregion_asle_intr(dev_priv);
+   found = true;
+   }
 
-   intel_psr_irq_handler(dev_priv, psr_iir);
-   I915_WRITE(EDP_PSR_IIR, psr_iir);
-   found = true;
-   }
+   if (iir & GEN8_DE_EDP_PSR) {
+   u32 psr_iir = I915_READ(EDP_PSR_IIR);
 
-   if (!found)
-   DRM_ERROR("Unexpected DE Misc interrupt\n");
-   }
-   else
-   DRM_ERROR("The master control interrupt lied (DE 
MISC)!\n");
+   intel_psr_irq_handler(dev_priv, psr_iir);
+   I915_WRITE(EDP_PSR_IIR, psr_iir);
+   found = true;
}
 
+   if (!found)
+   DRM_ERROR("Unexpected DE Misc interrupt\n");
+
+   return ret;
+}
+
+static irqreturn_t
+gen8_de_irq_handler(struct drm_i915_private *dev_priv, u32 master_ctl)
+{
+   irqreturn_t ret = IRQ_NONE;
+   u32 iir;
+   enum pipe pipe;
+
+   if (master_ctl & GEN8_DE_MISC_IRQ)
+   ret = gen8_de_misc_irq_handler(dev_priv);
+
if (INTEL_GEN(dev_priv) >= 11 && (master_ctl & GEN11_DE_HPD_IRQ)) {
iir = I915_READ(GEN11_DE_HPD_IIR);
if (iir) {
-- 
2.21.0

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

[Intel-gfx] [PATCH 2/7] drm/i915: Remove unused VLV/CHV PSR registers

2019-04-03 Thread José Roberto de Souza
PSR support for VLV and CHV was dropped in commit ce3508fd2a77
("drm/i915/psr: Nuke PSR support for VLV and CHV") so no need to keep
this registers around.

Cc: Dhinakaran Pandiyan 
Cc: Rodrigo Vivi 
Signed-off-by: José Roberto de Souza 
---
 drivers/gpu/drm/i915/i915_reg.h | 36 -
 1 file changed, 36 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 00e03560c4e7..c59cfa83dbaf 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -4209,42 +4209,6 @@ enum {
 #define PIPESRC(trans) _MMIO_TRANS2(trans, _PIPEASRC)
 #define PIPE_MULT(trans)   _MMIO_TRANS2(trans, _PIPE_MULT_A)
 
-/* VLV eDP PSR registers */
-#define _PSRCTLA   (VLV_DISPLAY_BASE + 0x60090)
-#define _PSRCTLB   (VLV_DISPLAY_BASE + 0x61090)
-#define  VLV_EDP_PSR_ENABLE(1 << 0)
-#define  VLV_EDP_PSR_RESET (1 << 1)
-#define  VLV_EDP_PSR_MODE_MASK (7 << 2)
-#define  VLV_EDP_PSR_MODE_HW_TIMER (1 << 3)
-#define  VLV_EDP_PSR_MODE_SW_TIMER (1 << 2)
-#define  VLV_EDP_PSR_SINGLE_FRAME_UPDATE   (1 << 7)
-#define  VLV_EDP_PSR_ACTIVE_ENTRY  (1 << 8)
-#define  VLV_EDP_PSR_SRC_TRANSMITTER_STATE (1 << 9)
-#define  VLV_EDP_PSR_DBL_FRAME (1 << 10)
-#define  VLV_EDP_PSR_FRAME_COUNT_MASK  (0xff << 16)
-#define  VLV_EDP_PSR_IDLE_FRAME_SHIFT  16
-#define VLV_PSRCTL(pipe)   _MMIO_PIPE(pipe, _PSRCTLA, _PSRCTLB)
-
-#define _VSCSDPA   (VLV_DISPLAY_BASE + 0x600a0)
-#define _VSCSDPB   (VLV_DISPLAY_BASE + 0x610a0)
-#define  VLV_EDP_PSR_SDP_FREQ_MASK (3 << 30)
-#define  VLV_EDP_PSR_SDP_FREQ_ONCE (1 << 31)
-#define  VLV_EDP_PSR_SDP_FREQ_EVFRAME  (1 << 30)
-#define VLV_VSCSDP(pipe)   _MMIO_PIPE(pipe, _VSCSDPA, _VSCSDPB)
-
-#define _PSRSTATA  (VLV_DISPLAY_BASE + 0x60094)
-#define _PSRSTATB  (VLV_DISPLAY_BASE + 0x61094)
-#define  VLV_EDP_PSR_LAST_STATE_MASK   (7 << 3)
-#define  VLV_EDP_PSR_CURR_STATE_MASK   7
-#define  VLV_EDP_PSR_DISABLED  (0 << 0)
-#define  VLV_EDP_PSR_INACTIVE  (1 << 0)
-#define  VLV_EDP_PSR_IN_TRANS_TO_ACTIVE(2 << 0)
-#define  VLV_EDP_PSR_ACTIVE_NORFB_UP   (3 << 0)
-#define  VLV_EDP_PSR_ACTIVE_SF_UPDATE  (4 << 0)
-#define  VLV_EDP_PSR_EXIT  (5 << 0)
-#define  VLV_EDP_PSR_IN_TRANS  (1 << 7)
-#define VLV_PSRSTAT(pipe)  _MMIO_PIPE(pipe, _PSRSTATA, _PSRSTATB)
-
 /* HSW+ eDP PSR registers */
 #define HSW_EDP_PSR_BASE   0x64800
 #define BDW_EDP_PSR_BASE   0x6f800
-- 
2.21.0

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

[Intel-gfx] [PATCH 1/7] drm/i915/psr: Update PSR2 SU corruption workaround comment

2019-04-03 Thread José Roberto de Souza
Turn out it is not a DMC bug it is actually a HW one, so this
workaround will be needed for current gens, lets update the comment
and remove the FIXME.

BSpec: 7723
Cc: Dhinakaran Pandiyan 
Cc: Rodrigo Vivi 
Signed-off-by: José Roberto de Souza 
---
 drivers/gpu/drm/i915/intel_psr.c | 6 ++
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_psr.c b/drivers/gpu/drm/i915/intel_psr.c
index ec874d802d48..c80bb3003a7d 100644
--- a/drivers/gpu/drm/i915/intel_psr.c
+++ b/drivers/gpu/drm/i915/intel_psr.c
@@ -531,10 +531,8 @@ static void hsw_activate_psr2(struct intel_dp *intel_dp)
val |= EDP_PSR2_TP2_TIME_2500us;
 
/*
-* FIXME: There is probably a issue in DMC firmwares(icl_dmc_ver1_07.bin
-* and kbl_dmc_ver1_04.bin at least) that causes PSR2 SU to fail after
-* exiting DC6 if EDP_PSR_TP1_TP3_SEL is kept in PSR_CTL, so for now
-* lets workaround the issue by cleaning PSR_CTL before enable PSR2.
+* PSR2 HW is incorrectly using EDP_PSR_TP1_TP3_SEL and BSpec is
+* recommending keep this bit unset while PSR2 is enabled.
 */
I915_WRITE(EDP_PSR_CTL, 0);
 
-- 
2.21.0

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

[Intel-gfx] [PATCH 6/7] drm/i915/psr: Remove partial PSR support on multiple transcoders

2019-04-03 Thread José Roberto de Souza
PSR is only supported in eDP transcoder and there is only one
instance of it, so lets drop all of this code.

Cc: Dhinakaran Pandiyan 
Cc: Rodrigo Vivi 
Signed-off-by: José Roberto de Souza 
---
 drivers/gpu/drm/i915/i915_reg.h  |  17 +---
 drivers/gpu/drm/i915/intel_psr.c | 147 ---
 2 files changed, 42 insertions(+), 122 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index c59cfa83dbaf..18e2991b376d 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -4241,13 +4241,9 @@ enum {
 /* Bspec claims those aren't shifted but stay at 0x64800 */
 #define EDP_PSR_IMR_MMIO(0x64834)
 #define EDP_PSR_IIR_MMIO(0x64838)
-#define   EDP_PSR_ERROR(shift) (1 << ((shift) + 2))
-#define   EDP_PSR_POST_EXIT(shift) (1 << ((shift) + 1))
-#define   EDP_PSR_PRE_ENTRY(shift) (1 << (shift))
-#define   EDP_PSR_TRANSCODER_C_SHIFT   24
-#define   EDP_PSR_TRANSCODER_B_SHIFT   16
-#define   EDP_PSR_TRANSCODER_A_SHIFT   8
-#define   EDP_PSR_TRANSCODER_EDP_SHIFT 0
+#define   EDP_PSR_ERROR(1 << 2)
+#define   EDP_PSR_POST_EXIT(1 << 1)
+#define   EDP_PSR_PRE_ENTRY(1 << 0)
 
 #define EDP_PSR_AUX_CTL
_MMIO(dev_priv->psr_mmio_base + 0x10)
 #define   EDP_PSR_AUX_CTL_TIME_OUT_MASK(3 << 26)
@@ -4312,12 +4308,7 @@ enum {
 #define   EDP_PSR2_IDLE_FRAME_MASK 0xf
 #define   EDP_PSR2_IDLE_FRAME_SHIFT0
 
-#define _PSR_EVENT_TRANS_A 0x60848
-#define _PSR_EVENT_TRANS_B 0x61848
-#define _PSR_EVENT_TRANS_C 0x62848
-#define _PSR_EVENT_TRANS_D 0x63848
-#define _PSR_EVENT_TRANS_EDP   0x6F848
-#define PSR_EVENT(trans)   _MMIO_TRANS2(trans, 
_PSR_EVENT_TRANS_A)
+#define PSR_EVENT  _MMIO(0x6F848)
 #define  PSR_EVENT_PSR2_WD_TIMER_EXPIRE(1 << 17)
 #define  PSR_EVENT_PSR2_DISABLED   (1 << 16)
 #define  PSR_EVENT_SU_DIRTY_FIFO_UNDERRUN  (1 << 15)
diff --git a/drivers/gpu/drm/i915/intel_psr.c b/drivers/gpu/drm/i915/intel_psr.c
index bb97c1657493..b984e005b72e 100644
--- a/drivers/gpu/drm/i915/intel_psr.c
+++ b/drivers/gpu/drm/i915/intel_psr.c
@@ -84,46 +84,12 @@ static bool intel_psr2_enabled(struct drm_i915_private 
*dev_priv,
}
 }
 
-static int edp_psr_shift(enum transcoder cpu_transcoder)
-{
-   switch (cpu_transcoder) {
-   case TRANSCODER_A:
-   return EDP_PSR_TRANSCODER_A_SHIFT;
-   case TRANSCODER_B:
-   return EDP_PSR_TRANSCODER_B_SHIFT;
-   case TRANSCODER_C:
-   return EDP_PSR_TRANSCODER_C_SHIFT;
-   default:
-   MISSING_CASE(cpu_transcoder);
-   /* fallthrough */
-   case TRANSCODER_EDP:
-   return EDP_PSR_TRANSCODER_EDP_SHIFT;
-   }
-}
-
 void intel_psr_irq_control(struct drm_i915_private *dev_priv, u32 debug)
 {
-   u32 debug_mask, mask;
-   enum transcoder cpu_transcoder;
-   u32 transcoders = BIT(TRANSCODER_EDP);
-
-   if (INTEL_GEN(dev_priv) >= 8)
-   transcoders |= BIT(TRANSCODER_A) |
-  BIT(TRANSCODER_B) |
-  BIT(TRANSCODER_C);
-
-   debug_mask = 0;
-   mask = 0;
-   for_each_cpu_transcoder_masked(dev_priv, cpu_transcoder, transcoders) {
-   int shift = edp_psr_shift(cpu_transcoder);
-
-   mask |= EDP_PSR_ERROR(shift);
-   debug_mask |= EDP_PSR_POST_EXIT(shift) |
- EDP_PSR_PRE_ENTRY(shift);
-   }
+   u32 mask = EDP_PSR_ERROR;
 
if (debug & I915_PSR_DEBUG_IRQ)
-   mask |= debug_mask;
+   mask |= EDP_PSR_POST_EXIT | EDP_PSR_PRE_ENTRY;
 
I915_WRITE(EDP_PSR_IMR, ~mask);
 }
@@ -167,62 +133,47 @@ static void psr_event_print(u32 val, bool psr2_enabled)
 
 void intel_psr_irq_handler(struct drm_i915_private *dev_priv, u32 psr_iir)
 {
-   u32 transcoders = BIT(TRANSCODER_EDP);
-   enum transcoder cpu_transcoder;
-   ktime_t time_ns =  ktime_get();
-   u32 mask = 0;
+   ktime_t time_ns = ktime_get();
 
-   if (INTEL_GEN(dev_priv) >= 8)
-   transcoders |= BIT(TRANSCODER_A) |
-  BIT(TRANSCODER_B) |
-  BIT(TRANSCODER_C);
-
-   for_each_cpu_transcoder_masked(dev_priv, cpu_transcoder, transcoders) {
-   int shift = edp_psr_shift(cpu_transcoder);
-
-   if (psr_iir & EDP_PSR_ERROR(shift)) {
-   DRM_WARN("[transcoder %s] PSR aux error\n",
-transcoder_name(cpu_transcoder));
-
-   dev_priv->psr.irq_aux_error = true;
-
-   /

[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915: Use lockdep_pin_lock() over the construction of the request

2019-04-03 Thread Patchwork
== Series Details ==

Series: drm/i915: Use lockdep_pin_lock() over the construction of the request
URL   : https://patchwork.freedesktop.org/series/58932/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5860_full -> Patchwork_12672_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_ctx_param@set-priority-not-supported:
- shard-iclb: NOTRUN -> SKIP [fdo#109314]

  * igt@gem_exec_parallel@bsd1:
- shard-skl:  NOTRUN -> SKIP [fdo#109271] +103

  * igt@gem_exec_parallel@bsd2-fds:
- shard-iclb: NOTRUN -> SKIP [fdo#109276] +12

  * igt@gem_exec_schedule@wide-bsd:
- shard-iclb: PASS -> FAIL [fdo#109633]

  * igt@gem_stolen@stolen-clear:
- shard-iclb: NOTRUN -> SKIP [fdo#109277] +3

  * igt@gem_tiled_fence_blits@normal:
- shard-iclb: NOTRUN -> TIMEOUT [fdo#109673]

  * igt@gem_tiled_swapping@non-threaded:
- shard-iclb: PASS -> DMESG-WARN [fdo#108686]

  * igt@gem_userptr_blits@coherency-unsync:
- shard-iclb: NOTRUN -> SKIP [fdo#109290] +1

  * igt@i915_pm_rpm@drm-resources-equal:
- shard-skl:  PASS -> INCOMPLETE [fdo#107807]

  * igt@i915_pm_rpm@gem-execbuf-stress:
- shard-skl:  PASS -> INCOMPLETE [fdo#107803] / [fdo#107807]

  * igt@i915_pm_rpm@gem-execbuf-stress-pc8:
- shard-iclb: NOTRUN -> SKIP [fdo#109506]

  * igt@i915_pm_rpm@modeset-non-lpsp:
- shard-iclb: NOTRUN -> SKIP [fdo#109308]

  * igt@kms_atomic_transition@6x-modeset-transitions-fencing:
- shard-apl:  NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +1

  * igt@kms_atomic_transition@plane-all-modeset-transition-fencing:
- shard-apl:  PASS -> INCOMPLETE [fdo#103927]

  * igt@kms_busy@extended-modeset-hang-newfb-render-b:
- shard-iclb: NOTRUN -> DMESG-WARN [fdo#110222]

  * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-a:
- shard-snb:  NOTRUN -> DMESG-WARN [fdo#110222]

  * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-b:
- shard-skl:  NOTRUN -> DMESG-WARN [fdo#110222]

  * igt@kms_busy@extended-modeset-hang-oldfb-render-d:
- shard-skl:  NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +11

  * igt@kms_busy@extended-pageflip-hang-newfb-render-e:
- shard-iclb: NOTRUN -> SKIP [fdo#109278] +6

  * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-a:
- shard-glk:  NOTRUN -> DMESG-WARN [fdo#110222]

  * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-d:
- shard-snb:  NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +12

  * igt@kms_chamelium@dp-hpd-storm-disable:
- shard-iclb: NOTRUN -> SKIP [fdo#109284] +4

  * igt@kms_color@pipe-b-degamma:
- shard-iclb: NOTRUN -> FAIL [fdo#104782]

  * igt@kms_content_protection@legacy:
- shard-iclb: NOTRUN -> SKIP [fdo#109300]

  * igt@kms_cursor_crc@cursor-128x128-suspend:
- shard-glk:  NOTRUN -> FAIL [fdo#103232]

  * igt@kms_cursor_crc@cursor-512x512-onscreen:
- shard-iclb: NOTRUN -> SKIP [fdo#109279] +1

  * igt@kms_cursor_legacy@2x-long-cursor-vs-flip-legacy:
- shard-iclb: NOTRUN -> SKIP [fdo#109274] +5

  * igt@kms_fbcon_fbt@fbc:
- shard-iclb: PASS -> DMESG-WARN [fdo#109593]

  * igt@kms_flip@2x-plain-flip-ts-check:
- shard-apl:  NOTRUN -> SKIP [fdo#109271] +33

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-move:
- shard-iclb: PASS -> FAIL [fdo#103167] +10

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-cpu:
- shard-snb:  NOTRUN -> SKIP [fdo#109271] +111

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-gtt:
- shard-iclb: PASS -> FAIL [fdo#109247] +12

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-blt:
- shard-iclb: NOTRUN -> FAIL [fdo#103167] +2

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-draw-mmap-cpu:
- shard-iclb: NOTRUN -> SKIP [fdo#109280] +18

  * igt@kms_frontbuffer_tracking@psr-rgb101010-draw-pwrite:
- shard-glk:  NOTRUN -> SKIP [fdo#109271] +21

  * igt@kms_lease@cursor_implicit_plane:
- shard-skl:  NOTRUN -> FAIL [fdo#110278]

  * igt@kms_lease@setcrtc_implicit_plane:
- shard-iclb: NOTRUN -> FAIL [fdo#110281]

  * igt@kms_plane_alpha_blend@pipe-b-alpha-basic:
- shard-skl:  NOTRUN -> FAIL [fdo#107815] / [fdo#108145] +1

  * igt@kms_plane_alpha_blend@pipe-b-alpha-transparant-fb:
- shard-skl:  NOTRUN -> FAIL [fdo#108145] +1

  * igt@kms_plane_alpha_blend@pipe-c-alpha-opaque-fb:
- shard-apl:  NOTRUN -> FAIL [fdo#108145]

  * igt@kms_plane_scaling@pipe-a-scaler-with-pi

[Intel-gfx] [PATCH i-g-t] lib: Rework __kms_addfb() function

2019-04-03 Thread Rodrigo Siqueira
The function __kms_addfb() and drmModeAddFB2WithModifiers() have a
similar code. Due to this similarity, this commit replace part of the
code inside __kms_addfb() by using drmModeAddFB2WithModifiers().

Signed-off-by: Rodrigo Siqueira 
---
 lib/ioctl_wrappers.c | 27 ++-
 1 file changed, 6 insertions(+), 21 deletions(-)

diff --git a/lib/ioctl_wrappers.c b/lib/ioctl_wrappers.c
index 39920f87..4240d138 100644
--- a/lib/ioctl_wrappers.c
+++ b/lib/ioctl_wrappers.c
@@ -46,6 +46,7 @@
 #include 
 #include 
 #include 
+#include 
 
 #include "drmtest.h"
 #include "i915_drm.h"
@@ -1479,29 +1480,13 @@ int __kms_addfb(int fd, uint32_t handle,
uint32_t strides[4], uint32_t offsets[4],
int num_planes, uint32_t flags, uint32_t *buf_id)
 {
-   struct drm_mode_fb_cmd2 f;
-   int ret, i;
+   uint32_t handles[4] = {handle};
+   uint64_t modifiers[4] = {modifier};
 
if (flags & DRM_MODE_FB_MODIFIERS)
igt_require_fb_modifiers(fd);
 
-   memset(&f, 0, sizeof(f));
-
-   f.width  = width;
-   f.height = height;
-   f.pixel_format = pixel_format;
-   f.flags = flags;
-
-   for (i = 0; i < num_planes; i++) {
-   f.handles[i] = handle;
-   f.modifier[i] = modifier;
-   f.pitches[i] = strides[i];
-   f.offsets[i] = offsets[i];
-   }
-
-   ret = igt_ioctl(fd, DRM_IOCTL_MODE_ADDFB2, &f);
-
-   *buf_id = f.fb_id;
-
-   return ret < 0 ? -errno : ret;
+   return drmModeAddFB2WithModifiers(fd, width, height, pixel_format,
+ handles, strides, offsets, modifiers,
+ buf_id, flags);
 }
-- 
2.21.0


signature.asc
Description: PGP signature
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915: Fix uninitialized mask in intel_device_info_subplatform_init

2019-04-03 Thread Patchwork
== Series Details ==

Series: drm/i915: Fix uninitialized mask in intel_device_info_subplatform_init
URL   : https://patchwork.freedesktop.org/series/58921/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5860_full -> Patchwork_12670_full


Summary
---

  **WARNING**

  Minor unknown changes coming with Patchwork_12670_full need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_12670_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_12670_full:

### IGT changes ###

 Warnings 

  * igt@kms_flip@2x-flip-vs-dpms:
- shard-iclb: SKIP [fdo#109274] -> INCOMPLETE

  
Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_ctx_param@set-priority-not-supported:
- shard-iclb: NOTRUN -> SKIP [fdo#109314]

  * igt@gem_exec_parallel@bsd2-fds:
- shard-iclb: NOTRUN -> SKIP [fdo#109276] +15

  * igt@gem_stolen@stolen-clear:
- shard-iclb: NOTRUN -> SKIP [fdo#109277] +3

  * igt@gem_tiled_swapping@non-threaded:
- shard-iclb: PASS -> FAIL [fdo#108686]

  * igt@gem_userptr_blits@coherency-unsync:
- shard-iclb: NOTRUN -> SKIP [fdo#109290] +1

  * igt@i915_pm_backlight@fade_with_suspend:
- shard-skl:  NOTRUN -> FAIL [fdo#107847]

  * igt@i915_pm_rpm@gem-execbuf-stress-pc8:
- shard-iclb: NOTRUN -> SKIP [fdo#109506]

  * igt@i915_pm_rpm@legacy-planes:
- shard-skl:  PASS -> INCOMPLETE [fdo#107807]

  * igt@i915_pm_rpm@modeset-non-lpsp:
- shard-iclb: NOTRUN -> SKIP [fdo#109308]

  * igt@i915_pm_sseu@full-enable:
- shard-iclb: NOTRUN -> SKIP [fdo#109288]

  * igt@kms_busy@extended-modeset-hang-newfb-render-b:
- shard-iclb: NOTRUN -> DMESG-WARN [fdo#110222]

  * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-a:
- shard-snb:  NOTRUN -> DMESG-WARN [fdo#110222]

  * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-b:
- shard-skl:  NOTRUN -> DMESG-WARN [fdo#110222]

  * igt@kms_busy@extended-modeset-hang-oldfb-render-d:
- shard-skl:  NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +14

  * igt@kms_busy@extended-pageflip-hang-newfb-render-e:
- shard-iclb: NOTRUN -> SKIP [fdo#109278] +6

  * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-a:
- shard-glk:  NOTRUN -> DMESG-WARN [fdo#110222]

  * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-d:
- shard-snb:  NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +12

  * igt@kms_chamelium@dp-hpd-storm-disable:
- shard-iclb: NOTRUN -> SKIP [fdo#109284] +4

  * igt@kms_color@pipe-b-degamma:
- shard-iclb: NOTRUN -> FAIL [fdo#104782]

  * igt@kms_content_protection@legacy:
- shard-iclb: NOTRUN -> SKIP [fdo#109300]

  * igt@kms_cursor_crc@cursor-128x128-suspend:
- shard-glk:  NOTRUN -> FAIL [fdo#103232]

  * igt@kms_cursor_crc@cursor-512x512-onscreen:
- shard-iclb: NOTRUN -> SKIP [fdo#109279] +1

  * igt@kms_cursor_legacy@2x-long-cursor-vs-flip-legacy:
- shard-iclb: NOTRUN -> SKIP [fdo#109274] +6

  * igt@kms_cursor_legacy@cursor-vs-flip-atomic:
- shard-iclb: NOTRUN -> FAIL [fdo#103355]

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-blt:
- shard-skl:  NOTRUN -> SKIP [fdo#109271] +122

  * igt@kms_frontbuffer_tracking@fbc-tilingchange:
- shard-iclb: PASS -> FAIL [fdo#103167] +4

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-mmap-wc:
- shard-iclb: PASS -> FAIL [fdo#109247] +11

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-cpu:
- shard-snb:  NOTRUN -> SKIP [fdo#109271] +111

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-blt:
- shard-iclb: NOTRUN -> FAIL [fdo#103167] +1

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-draw-mmap-cpu:
- shard-iclb: NOTRUN -> SKIP [fdo#109280] +20

  * igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-cpu:
- shard-iclb: PASS -> FAIL [fdo#105682] / [fdo#109247]

  * igt@kms_frontbuffer_tracking@psr-rgb101010-draw-pwrite:
- shard-glk:  NOTRUN -> SKIP [fdo#109271] +21

  * igt@kms_lease@cursor_implicit_plane:
- shard-skl:  NOTRUN -> FAIL [fdo#110278]

  * igt@kms_lease@setcrtc_implicit_plane:
- shard-iclb: NOTRUN -> FAIL [fdo#110281]

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c:
- shard-apl:  PASS -> DMESG-WARN [fdo#108566]

  * igt@kms_plane_alpha_blend@pi

[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/icl: Set GCP_COLOR_INDICATION only for 10/12 bit deep color (rev3)

2019-04-03 Thread Patchwork
== Series Details ==

Series: drm/i915/icl: Set GCP_COLOR_INDICATION only for 10/12 bit deep color 
(rev3)
URL   : https://patchwork.freedesktop.org/series/58912/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5860_full -> Patchwork_12669_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_create@create-clear:
- shard-snb:  PASS -> INCOMPLETE [fdo#105411]

  * igt@gem_ctx_param@set-priority-not-supported:
- shard-iclb: NOTRUN -> SKIP [fdo#109314]

  * igt@gem_exec_parallel@bsd2-fds:
- shard-iclb: NOTRUN -> SKIP [fdo#109276] +16

  * igt@gem_stolen@stolen-clear:
- shard-iclb: NOTRUN -> SKIP [fdo#109277] +3

  * igt@gem_userptr_blits@coherency-unsync:
- shard-iclb: NOTRUN -> SKIP [fdo#109290] +1

  * igt@i915_pm_backlight@fade_with_suspend:
- shard-skl:  NOTRUN -> FAIL [fdo#107847]

  * igt@i915_pm_rpm@gem-execbuf-stress-pc8:
- shard-iclb: NOTRUN -> SKIP [fdo#109506]

  * igt@i915_pm_rpm@modeset-non-lpsp:
- shard-iclb: NOTRUN -> SKIP [fdo#109308]

  * igt@i915_pm_rpm@pm-tiling:
- shard-skl:  PASS -> INCOMPLETE [fdo#107807]

  * igt@i915_pm_rpm@reg-read-ioctl:
- shard-skl:  NOTRUN -> INCOMPLETE [fdo#107807] +1

  * igt@i915_pm_sseu@full-enable:
- shard-iclb: NOTRUN -> SKIP [fdo#109288]

  * igt@kms_atomic_transition@6x-modeset-transitions-fencing:
- shard-apl:  NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +1

  * igt@kms_atomic_transition@plane-all-modeset-transition-fencing:
- shard-apl:  PASS -> INCOMPLETE [fdo#103927]

  * igt@kms_busy@extended-modeset-hang-newfb-render-b:
- shard-iclb: NOTRUN -> DMESG-WARN [fdo#110222]

  * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-a:
- shard-snb:  NOTRUN -> DMESG-WARN [fdo#110222]

  * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-b:
- shard-skl:  NOTRUN -> DMESG-WARN [fdo#110222]

  * igt@kms_busy@extended-pageflip-hang-newfb-render-e:
- shard-iclb: NOTRUN -> SKIP [fdo#109278] +7

  * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-a:
- shard-glk:  NOTRUN -> DMESG-WARN [fdo#110222]

  * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-d:
- shard-snb:  NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +12

  * igt@kms_chamelium@dp-hpd-storm-disable:
- shard-iclb: NOTRUN -> SKIP [fdo#109284] +4

  * igt@kms_color@pipe-b-degamma:
- shard-iclb: NOTRUN -> FAIL [fdo#104782]

  * igt@kms_content_protection@legacy:
- shard-iclb: NOTRUN -> SKIP [fdo#109300]

  * igt@kms_cursor_crc@cursor-128x128-suspend:
- shard-glk:  NOTRUN -> FAIL [fdo#103232]

  * igt@kms_cursor_crc@cursor-512x512-onscreen:
- shard-iclb: NOTRUN -> SKIP [fdo#109279] +1

  * igt@kms_cursor_legacy@2x-long-cursor-vs-flip-legacy:
- shard-iclb: NOTRUN -> SKIP [fdo#109274] +6

  * igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions:
- shard-iclb: PASS -> FAIL [fdo#103355]

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size:
- shard-skl:  PASS -> FAIL [fdo#102670]

  * igt@kms_flip@2x-plain-flip-ts-check:
- shard-apl:  NOTRUN -> SKIP [fdo#109271] +24

  * igt@kms_flip@flip-vs-suspend:
- shard-skl:  NOTRUN -> INCOMPLETE [fdo#109507]

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-mmap-gtt:
- shard-iclb: NOTRUN -> FAIL [fdo#103167]

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-blt:
- shard-skl:  NOTRUN -> SKIP [fdo#109271] +101

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-cpu:
- shard-snb:  NOTRUN -> SKIP [fdo#109271] +111

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite:
- shard-iclb: PASS -> FAIL [fdo#103167] +5

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-draw-mmap-cpu:
- shard-iclb: NOTRUN -> SKIP [fdo#109280] +23

  * igt@kms_frontbuffer_tracking@fbcpsr-suspend:
- shard-skl:  PASS -> INCOMPLETE [fdo#104108] / [fdo#106978]

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-indfb-plflip-blt:
- shard-iclb: PASS -> FAIL [fdo#109247] +1

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-blt:
- shard-iclb: NOTRUN -> FAIL [fdo#109247] +1

  * igt@kms_frontbuffer_tracking@psr-rgb101010-draw-pwrite:
- shard-glk:  NOTRUN -> SKIP [fdo#109271] +21

  * igt@kms_lease@cursor_implicit_plane:
- shard-skl:  NOTRUN -> FAIL [fdo#110278]

  * igt@kms_lease@setcrtc_implicit_plane:
- shard-iclb: NOTRUN -> FAIL [fdo#110281]

  * igt@kms_

Re: [Intel-gfx] [PATCH 1/2] drm/edid: Add a EDID edp panel quirk for forcing max lane count

2019-04-03 Thread Manasi Navare
On Wed, Apr 03, 2019 at 10:22:16PM +0300, Ville Syrjälä wrote:
> On Wed, Apr 03, 2019 at 12:07:35PM -0700, Manasi Navare wrote:
> > On Wed, Apr 03, 2019 at 09:55:56PM +0300, Ville Syrjälä wrote:
> > > On Wed, Apr 03, 2019 at 11:37:21AM -0700, Manasi Navare wrote:
> > > > On Wed, Apr 03, 2019 at 03:14:51PM +0300, Ville Syrjälä wrote:
> > > > > On Tue, Apr 02, 2019 at 02:52:34PM -0700, Manasi Navare wrote:
> > > > > > For certain eDP 1.4 panels, we need to use max lane count for the
> > > > > > link training to succeed.
> > > > > > 
> > > > > > This patch adds a EDID quirk for such eDP panels using
> > > > > > their vendor ID and product ID to force using max lane count in the 
> > > > > > driver.
> > > > > 
> > > > > Rather than opening the quirk can of worms I think we should consider
> > > > > changing the retry loop to do something more sensible than what it's
> > > > > doing now. The current behaviour of "start at optimal settings (which
> > > > > can be either min lanes or min rate), and then reduce lanes/rate until
> > > > > stuff works" overlooks several possible combinations. One possible
> > > > > approach could be to start the retry loop with max lanes + max rate
> > > > > after the optimal settings have failed. It probably won't give you
> > > > > the best power consumption, but at least you get a picture on the
> > > > > screen if even a single lane count + rate combo works.
> > > > >
> > > > 
> > > > So you are saying that for eDP only we should modify the retry function 
> > > > to
> > > > retry with max lanes and max rate so what we used to do earlier with < 
> > > > eDP 1.4?
> > > > 
> > > > Hmm I could try doing that, the only concern I have there is that 
> > > > certain eDP
> > > > panels just need a retry at same parameters to work so for such panels
> > > > where the lower values of link rate/lane count work with just an extra 
> > > > retry
> > > > we would still be using max link rate /lane count now with this change.
> > > 
> > > If the panels are borked then I wouln't worry about it as long a picture
> > > appaears on the screen. And if the extra training cycle is because of
> > > some bug in our code then we should figure it out what that bug is.
> > >
> > 
> > But we should do this retrain() in our existing modeset_retry() and 
> > intel_dp_get_fallback_values()
> > and only do it for eDP right?
> > Because DP we have the retrain loops as per the compliance, if we change 
> > that that will
> > affect all the compliance tests.
> 
> I have a rather low opinion on the compliance tests. If they are
> preventing sensible real world things then what good are they?
> Someone should probably figure out what it would take to make
> them more useful...
> 
> But anyways, I guess we can start with eDP. If it looks like
> DP could benefit as well we might have to consider it.
>

I agree, i will add a patch for edp first and have the folks test it with the
edp panels that needed the quirk.
DP we really havent had any similar failures where we absolutely need max vales.

Manasi
 
> -- 
> Ville Syrjälä
> Intel
> ___
> dri-devel mailing list
> dri-de...@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH v2] drm/i915: use unsigned long for platform_mask

2019-04-03 Thread Lucas De Marchi

On Wed, Apr 03, 2019 at 10:25:33AM +0100, Tvrtko Ursulin wrote:


On 03/04/2019 09:15, Lucas De Marchi wrote:

On Tue, Apr 2, 2019 at 11:58 PM Tvrtko Ursulin
 wrote:



On 03/04/2019 02:46, Lucas De Marchi wrote:

No reason to stick to u32 for platform mask if we can just use more bits
on 64 bit platforms.

$ size drivers/gpu/drm/i915/i915.ko*
text data bss dec hex filename
1884779 413345408 1931521  1d7901 drivers/gpu/drm/i915/i915.ko
1886693 413585408 1933459  1d8093 drivers/gpu/drm/i915/i915.ko.old


How did you get such a large difference, and decrease even? Could you
check in the code what is happening? Because I get an increase with this
patch:

textdata bss dec hex filename
1905314   439037424 1956641  1ddb21 i915.ko.orig
1905796   439037424 1957123  1ddd03 i915.ko.patch


the only explanation I really have is that my measurement was bogus.
Some possible explanations...
1) I compared a i386 to a x86-64 build; 2) somehow a config changed
between the builds;
3) when preparing the patch I rebased on upstream between the builds.

Checking (1), no... that's in the ~400k range. So no idea, sorry.


I was worried you'd say you compiler just behaves differently. To 
eliminate this option it would still be good to double check if you 
can find the time.


I tried some options, to reproduce it again, but I couldn't. Interesting
that I remember running pahole on the result .ko and getting the result
I was expecting.

I thought about looking into my .bash_history, but it already rotated.



So I think the only useful thing in this patch is to make the array to
grow automatically. Or maybe not even that?


I really liked that and then started thinking that it can still sneak 
up a mistake if one changes the type of the member and forgets to 
change the type in size calculation BITS_PER_TYPE. So I ended up a 
little less sure. Could the calculation self-reference the struct 
member?


afaik, no. Because the struct is already not defined at this point. So
the usual trick of getting the size without an insntance doesn't work.
I.e. sizeof(((struct bla *)0)->member[0]) works outside of bla, but not
while we are defining it.

Well.. it can also happen of someone changing the type here and
forgetting to change "mask" in other function (see v1). I think since
they are in the same line it's easy to spot the mistake. But no strong
opinion. We already have 64 - 6 bits of platform bits that's probably
sufficient for a long time.

Lucas De Marchi



Regards,

Tvrtko



Lucas De Marchi



Regards,

Tvrtko



Now on 64 bits we have only one long as opposed to 2 u32:

$ pahole -C intel_runtime_info drivers/gpu/drm/i915/i915.ko
struct intel_runtime_info {
  long unsigned int  platform_mask[1]; /* 0 8 */
...
}

On 32 bits we still have the same thing as before:
$ size drivers/gpu/drm/i915/i915.ko*
text data bss dec hex filename
1489839 324852816 1525140  174594 drivers/gpu/drm/i915/i915.ko
1489839 324852816 1525140  174594 drivers/gpu/drm/i915/i915.ko.old

Besides reducing the code on x86-64 now the array size is automatically
calculated and we don't have to worry about extending it anymore.

v2: fix sparse and checkpatch warnings

Signed-off-by: Lucas De Marchi 
---
  drivers/gpu/drm/i915/i915_drv.h  | 6 +-
  drivers/gpu/drm/i915/intel_device_info.h | 7 +++
  2 files changed, 4 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 0ab4826921f7..9fe765ffe878 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -2309,10 +2309,6 @@ __platform_mask_index(const struct intel_runtime_info 
*info,
  const unsigned int pbits =
  BITS_PER_TYPE(info->platform_mask[0]) - INTEL_SUBPLATFORM_BITS;

- /* Expand the platform_mask array if this fails. */
- BUILD_BUG_ON(INTEL_MAX_PLATFORMS >
-  pbits * ARRAY_SIZE(info->platform_mask));
-
  return p / pbits;
  }

@@ -2354,7 +2350,7 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
  const unsigned int pi = __platform_mask_index(info, p);
  const unsigned int pb = __platform_mask_bit(info, p);
  const unsigned int msb = BITS_PER_TYPE(info->platform_mask[0]) - 1;
- const u32 mask = info->platform_mask[pi];
+ const unsigned long mask = info->platform_mask[pi];

  BUILD_BUG_ON(!__builtin_constant_p(p));
  BUILD_BUG_ON(!__builtin_constant_p(s));
diff --git a/drivers/gpu/drm/i915/intel_device_info.h 
b/drivers/gpu/drm/i915/intel_device_info.h
index 0e579f158016..2f5ca2b6f094 100644
--- a/drivers/gpu/drm/i915/intel_device_info.h
+++ b/drivers/gpu/drm/i915/intel_device_info.h
@@ -214,11 +214,10 @@ struct intel_runtime_info {
   * Platform mask is used for optimizing or-ed IS_PLATFORM calls into
   * into single runtime conditionals, and also to provide groundwork

Re: [Intel-gfx] [PATCH v2 0/7] drm/i915: Finish the GAMMA_LUT stuff

2019-04-03 Thread Ville Syrjälä
On Wed, Apr 03, 2019 at 01:57:00PM +, Shankar, Uma wrote:
> 
> 
> >-Original Message-
> >From: Ville Syrjala [mailto:ville.syrj...@linux.intel.com]
> >Sent: Tuesday, April 2, 2019 1:32 AM
> >To: intel-gfx@lists.freedesktop.org
> >Cc: Shankar, Uma ; Roper, Matthew D
> >
> >Subject: [PATCH v2 0/7] drm/i915: Finish the GAMMA_LUT stuff
> >
> >From: Ville Syrjälä 
> >
> >Rebased due to Uma's EXT_GC_MAX fix, and I added Matt's proposed behavioural
> >change (expose 1024 entry LUTs in split gamma mode and just discard half the
> >entries) as an extra patch on top.
> >
> >Everything is reviewed except patches 2 and 7.
> 
> Reviewed the whole series and it looks perfect.
> Reviewed-by: Uma Shankar 

Cool. Thanks for reading through it. Now pushed to dinq.

> 
> >
> >Ville Syrjälä (7):
> >  drm/i915: Extract ilk_lut_10()
> >  drm/i915: Don't use split gamma when we don't have to
> >  drm/i915: Implement split/10bit gamma for ivb/hsw
> >  drm/i915: Add 10bit LUT for ilk/snb
> >  drm/i915: Add "10.6" LUT mode for i965+
> >  drm/i915: Expose the legacy LUT via the GAMMA_LUT/GAMMA_LUT_SIZE props
> >on gen2/3
> >  drm/i915: Expose full 1024 LUT entries on ivb+
> >
> > drivers/gpu/drm/i915/i915_pci.c|  23 +-
> > drivers/gpu/drm/i915/i915_reg.h|  15 ++
> > drivers/gpu/drm/i915/intel_color.c | 375 -
> > 3 files changed, 292 insertions(+), 121 deletions(-)
> >
> >--
> >2.19.2
> 

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

Re: [Intel-gfx] [PATCH 1/2] drm/edid: Add a EDID edp panel quirk for forcing max lane count

2019-04-03 Thread Ville Syrjälä
On Wed, Apr 03, 2019 at 12:07:35PM -0700, Manasi Navare wrote:
> On Wed, Apr 03, 2019 at 09:55:56PM +0300, Ville Syrjälä wrote:
> > On Wed, Apr 03, 2019 at 11:37:21AM -0700, Manasi Navare wrote:
> > > On Wed, Apr 03, 2019 at 03:14:51PM +0300, Ville Syrjälä wrote:
> > > > On Tue, Apr 02, 2019 at 02:52:34PM -0700, Manasi Navare wrote:
> > > > > For certain eDP 1.4 panels, we need to use max lane count for the
> > > > > link training to succeed.
> > > > > 
> > > > > This patch adds a EDID quirk for such eDP panels using
> > > > > their vendor ID and product ID to force using max lane count in the 
> > > > > driver.
> > > > 
> > > > Rather than opening the quirk can of worms I think we should consider
> > > > changing the retry loop to do something more sensible than what it's
> > > > doing now. The current behaviour of "start at optimal settings (which
> > > > can be either min lanes or min rate), and then reduce lanes/rate until
> > > > stuff works" overlooks several possible combinations. One possible
> > > > approach could be to start the retry loop with max lanes + max rate
> > > > after the optimal settings have failed. It probably won't give you
> > > > the best power consumption, but at least you get a picture on the
> > > > screen if even a single lane count + rate combo works.
> > > >
> > > 
> > > So you are saying that for eDP only we should modify the retry function to
> > > retry with max lanes and max rate so what we used to do earlier with < 
> > > eDP 1.4?
> > > 
> > > Hmm I could try doing that, the only concern I have there is that certain 
> > > eDP
> > > panels just need a retry at same parameters to work so for such panels
> > > where the lower values of link rate/lane count work with just an extra 
> > > retry
> > > we would still be using max link rate /lane count now with this change.
> > 
> > If the panels are borked then I wouln't worry about it as long a picture
> > appaears on the screen. And if the extra training cycle is because of
> > some bug in our code then we should figure it out what that bug is.
> >
> 
> But we should do this retrain() in our existing modeset_retry() and 
> intel_dp_get_fallback_values()
> and only do it for eDP right?
> Because DP we have the retrain loops as per the compliance, if we change that 
> that will
> affect all the compliance tests.

I have a rather low opinion on the compliance tests. If they are
preventing sensible real world things then what good are they?
Someone should probably figure out what it would take to make
them more useful...

But anyways, I guess we can start with eDP. If it looks like
DP could benefit as well we might have to consider it.

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

Re: [Intel-gfx] [PATCH 1/2] drm/edid: Add a EDID edp panel quirk for forcing max lane count

2019-04-03 Thread Manasi Navare
On Wed, Apr 03, 2019 at 09:55:56PM +0300, Ville Syrjälä wrote:
> On Wed, Apr 03, 2019 at 11:37:21AM -0700, Manasi Navare wrote:
> > On Wed, Apr 03, 2019 at 03:14:51PM +0300, Ville Syrjälä wrote:
> > > On Tue, Apr 02, 2019 at 02:52:34PM -0700, Manasi Navare wrote:
> > > > For certain eDP 1.4 panels, we need to use max lane count for the
> > > > link training to succeed.
> > > > 
> > > > This patch adds a EDID quirk for such eDP panels using
> > > > their vendor ID and product ID to force using max lane count in the 
> > > > driver.
> > > 
> > > Rather than opening the quirk can of worms I think we should consider
> > > changing the retry loop to do something more sensible than what it's
> > > doing now. The current behaviour of "start at optimal settings (which
> > > can be either min lanes or min rate), and then reduce lanes/rate until
> > > stuff works" overlooks several possible combinations. One possible
> > > approach could be to start the retry loop with max lanes + max rate
> > > after the optimal settings have failed. It probably won't give you
> > > the best power consumption, but at least you get a picture on the
> > > screen if even a single lane count + rate combo works.
> > >
> > 
> > So you are saying that for eDP only we should modify the retry function to
> > retry with max lanes and max rate so what we used to do earlier with < eDP 
> > 1.4?
> > 
> > Hmm I could try doing that, the only concern I have there is that certain 
> > eDP
> > panels just need a retry at same parameters to work so for such panels
> > where the lower values of link rate/lane count work with just an extra retry
> > we would still be using max link rate /lane count now with this change.
> 
> If the panels are borked then I wouln't worry about it as long a picture
> appaears on the screen. And if the extra training cycle is because of
> some bug in our code then we should figure it out what that bug is.
>

But we should do this retrain() in our existing modeset_retry() and 
intel_dp_get_fallback_values()
and only do it for eDP right?
Because DP we have the retrain loops as per the compliance, if we change that 
that will
affect all the compliance tests.

Manasi
 
> > 
> > Or are you suggesting doing the retry with same params for edp < 1.4 and 
> > for all
> > edp 1.4 , we retry with , max link rate lane ocunt?
> 
> retrain_fail()
> {
>   if (!use_max_params) {
>   use_max_params = true;
>   rate = max;
>   lanes = max;
>   } else {
>   reduce rate/lanes as usual
>   }
> }
> 
> compute_config()
> {
>   if (use_max_params) {
>   limits.min = limits.max;
>   }
>   ...
> }
> 
> or something like that.
> 
> -- 
> Ville Syrjälä
> Intel
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

[Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915: add Makefile magic for testing headers are self-contained

2019-04-03 Thread Patchwork
== Series Details ==

Series: series starting with [1/2] drm/i915: add Makefile magic for testing 
headers are self-contained
URL   : https://patchwork.freedesktop.org/series/58963/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5865 -> Patchwork_12676


Summary
---

  **SUCCESS**

  No regressions found.

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

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@amdgpu/amd_basic@cs-compute:
- fi-kbl-8809g:   NOTRUN -> FAIL [fdo#108094]

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
- fi-blb-e6850:   PASS -> INCOMPLETE [fdo#107718]

  
 Possible fixes 

  * igt@amdgpu/amd_basic@userptr:
- fi-kbl-8809g:   DMESG-WARN [fdo#108965] -> PASS

  * igt@i915_selftest@live_uncore:
- fi-skl-gvtdvm:  DMESG-FAIL [fdo#110210] -> PASS
- fi-ivb-3770:DMESG-FAIL [fdo#110210] -> PASS

  
 Warnings 

  * igt@i915_selftest@live_contexts:
- fi-icl-y:   INCOMPLETE [fdo#108569] -> DMESG-FAIL [fdo#108569]

  
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#108094]: https://bugs.freedesktop.org/show_bug.cgi?id=108094
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#108965]: https://bugs.freedesktop.org/show_bug.cgi?id=108965
  [fdo#110210]: https://bugs.freedesktop.org/show_bug.cgi?id=110210


Participating hosts (46 -> 37)
--

  Missing(9): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-byt-j1900 
fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-byt-clapper fi-bdw-samus 


Build changes
-

* Linux: CI_DRM_5865 -> Patchwork_12676

  CI_DRM_5865: 0dafc5b0971e3e7622864fe0987d6676f0d2c7a6 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4925: ca623acb8b2b6f0a4cdb01946dc9002e11d62574 @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_12676: 73cd40065843706e3f54b2acf13bf337042844d2 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

73cd40065843 drm/i915: Move GraphicsTechnology files under gt/
5f24918578ab drm/i915: add Makefile magic for testing headers are self-contained

== Logs ==

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

Re: [Intel-gfx] [PATCH 1/2] drm/edid: Add a EDID edp panel quirk for forcing max lane count

2019-04-03 Thread Ville Syrjälä
On Wed, Apr 03, 2019 at 11:37:21AM -0700, Manasi Navare wrote:
> On Wed, Apr 03, 2019 at 03:14:51PM +0300, Ville Syrjälä wrote:
> > On Tue, Apr 02, 2019 at 02:52:34PM -0700, Manasi Navare wrote:
> > > For certain eDP 1.4 panels, we need to use max lane count for the
> > > link training to succeed.
> > > 
> > > This patch adds a EDID quirk for such eDP panels using
> > > their vendor ID and product ID to force using max lane count in the 
> > > driver.
> > 
> > Rather than opening the quirk can of worms I think we should consider
> > changing the retry loop to do something more sensible than what it's
> > doing now. The current behaviour of "start at optimal settings (which
> > can be either min lanes or min rate), and then reduce lanes/rate until
> > stuff works" overlooks several possible combinations. One possible
> > approach could be to start the retry loop with max lanes + max rate
> > after the optimal settings have failed. It probably won't give you
> > the best power consumption, but at least you get a picture on the
> > screen if even a single lane count + rate combo works.
> >
> 
> So you are saying that for eDP only we should modify the retry function to
> retry with max lanes and max rate so what we used to do earlier with < eDP 
> 1.4?
> 
> Hmm I could try doing that, the only concern I have there is that certain eDP
> panels just need a retry at same parameters to work so for such panels
> where the lower values of link rate/lane count work with just an extra retry
> we would still be using max link rate /lane count now with this change.

If the panels are borked then I wouln't worry about it as long a picture
appaears on the screen. And if the extra training cycle is because of
some bug in our code then we should figure it out what that bug is.

> 
> Or are you suggesting doing the retry with same params for edp < 1.4 and for 
> all
> edp 1.4 , we retry with , max link rate lane ocunt?

retrain_fail()
{
if (!use_max_params) {
use_max_params = true;
rate = max;
lanes = max;
} else {
reduce rate/lanes as usual
}
}

compute_config()
{
if (use_max_params) {
limits.min = limits.max;
}
...
}

or something like that.

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

Re: [Intel-gfx] [PATCH 1/2] drm/edid: Add a EDID edp panel quirk for forcing max lane count

2019-04-03 Thread Manasi Navare
On Wed, Apr 03, 2019 at 03:14:51PM +0300, Ville Syrjälä wrote:
> On Tue, Apr 02, 2019 at 02:52:34PM -0700, Manasi Navare wrote:
> > For certain eDP 1.4 panels, we need to use max lane count for the
> > link training to succeed.
> > 
> > This patch adds a EDID quirk for such eDP panels using
> > their vendor ID and product ID to force using max lane count in the driver.
> 
> Rather than opening the quirk can of worms I think we should consider
> changing the retry loop to do something more sensible than what it's
> doing now. The current behaviour of "start at optimal settings (which
> can be either min lanes or min rate), and then reduce lanes/rate until
> stuff works" overlooks several possible combinations. One possible
> approach could be to start the retry loop with max lanes + max rate
> after the optimal settings have failed. It probably won't give you
> the best power consumption, but at least you get a picture on the
> screen if even a single lane count + rate combo works.
>

So you are saying that for eDP only we should modify the retry function to
retry with max lanes and max rate so what we used to do earlier with < eDP 1.4?

Hmm I could try doing that, the only concern I have there is that certain eDP
panels just need a retry at same parameters to work so for such panels
where the lower values of link rate/lane count work with just an extra retry
we would still be using max link rate /lane count now with this change.

Or are you suggesting doing the retry with same params for edp < 1.4 and for all
edp 1.4 , we retry with , max link rate lane ocunt?

Manasi

> > 
> > Cc: Clint Taylor 
> > Cc: Ville Syrjälä 
> > Tested-by: Albert Astals Cid 
> > Tested-by: Emanuele Panigati 
> > Tested-by: Ralgor 
> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109959
> > Signed-off-by: Manasi Navare 
> > ---
> >  drivers/gpu/drm/drm_edid.c  | 10 ++
> >  include/drm/drm_connector.h |  5 +
> >  2 files changed, 15 insertions(+)
> > 
> > diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> > index 2c22ea446075..fbc661806484 100644
> > --- a/drivers/gpu/drm/drm_edid.c
> > +++ b/drivers/gpu/drm/drm_edid.c
> > @@ -82,6 +82,8 @@
> >  #define EDID_QUIRK_FORCE_10BPC (1 << 11)
> >  /* Non desktop display (i.e. HMD) */
> >  #define EDID_QUIRK_NON_DESKTOP (1 << 12)
> > +/* Force max lane count */
> > +#define EDID_QUIRK_FORCE_MAX_LANE_COUNT(1 << 13)
> >  
> >  struct detailed_mode_closure {
> > struct drm_connector *connector;
> > @@ -189,6 +191,10 @@ static const struct edid_quirk {
> >  
> > /* OSVR HDK and HDK2 VR Headsets */
> > { "SVR", 0x1019, EDID_QUIRK_NON_DESKTOP },
> > +
> > +   /* SHP eDP 1.4 panel only works with max lane count */
> > +   { "SHP", 0x149a, EDID_QUIRK_FORCE_MAX_LANE_COUNT },
> > +   { "SHP", 0x148e, EDID_QUIRK_FORCE_MAX_LANE_COUNT },
> >  };
> >  
> >  /*
> > @@ -4463,6 +4469,7 @@ drm_reset_display_info(struct drm_connector 
> > *connector)
> > memset(&info->hdmi, 0, sizeof(info->hdmi));
> >  
> > info->non_desktop = 0;
> > +   info->force_max_lane_count = 0;
> >  }
> >  
> >  u32 drm_add_display_info(struct drm_connector *connector, const struct 
> > edid *edid)
> > @@ -4744,6 +4751,9 @@ int drm_add_edid_modes(struct drm_connector 
> > *connector, struct edid *edid)
> > if (quirks & EDID_QUIRK_FORCE_12BPC)
> > connector->display_info.bpc = 12;
> >  
> > +   if (quirks & EDID_QUIRK_FORCE_MAX_LANE_COUNT)
> > +   connector->display_info.force_max_lane_count = true;
> > +
> > return num_modes;
> >  }
> >  EXPORT_SYMBOL(drm_add_edid_modes);
> > diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h
> > index 02a131202add..45436d40ffe3 100644
> > --- a/include/drm/drm_connector.h
> > +++ b/include/drm/drm_connector.h
> > @@ -457,6 +457,11 @@ struct drm_display_info {
> >  * @non_desktop: Non desktop display (HMD).
> >  */
> > bool non_desktop;
> > +
> > +   /**
> > +* @force_max_lane_count: Link training requires max lane count to pass
> > +*/
> > +   bool force_max_lane_count;
> >  };
> >  
> >  int drm_display_info_set_bus_formats(struct drm_display_info *info,
> > -- 
> > 2.19.1
> 
> -- 
> Ville Syrjälä
> Intel
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

[Intel-gfx] ✗ Fi.CI.SPARSE: warning for series starting with [1/2] drm/i915: add Makefile magic for testing headers are self-contained

2019-04-03 Thread Patchwork
== Series Details ==

Series: series starting with [1/2] drm/i915: add Makefile magic for testing 
headers are self-contained
URL   : https://patchwork.freedesktop.org/series/58963/
State : warning

== Summary ==

$ dim sparse origin/drm-tip
Sparse version: v0.5.2
Commit: drm/i915: add Makefile magic for testing headers are self-contained
Okay!

Commit: drm/i915: Move GraphicsTechnology files under gt/
+drivers/gpu/drm/i915/gt/intel_context.c:130:22: warning: context imbalance in 
'intel_context_pin_lock' - wrong count at exit
+drivers/gpu/drm/i915/gt/intel_engine.h:125:23: warning: expression using 
sizeof(void)
+drivers/gpu/drm/i915/gt/intel_engine.h:125:23: warning: expression using 
sizeof(void)
+drivers/gpu/drm/i915/gt/intel_lrc.c:2551:25: warning: expression using 
sizeof(void)
-drivers/gpu/drm/i915/gt/intel_context.c:130:22: warning: context imbalance in 
'intel_context_pin_lock' - wrong count at exit
-drivers/gpu/drm/i915/gt/intel_lrc.c:2551:25: warning: expression using 
sizeof(void)
-drivers/gpu/drm/i915/gt/intel_engine.h:125:23: warning: expression using 
sizeof(void)
-drivers/gpu/drm/i915/gt/intel_engine.h:125:23: warning: expression using 
sizeof(void)
-drivers/gpu/drm/i915/selftests/../i915_drv.h:3623:16: warning: expression 
using sizeof(void)
+drivers/gpu/drm/i915/selftests/../i915_drv.h:3610:16: warning: expression 
using sizeof(void)
+drivers/gpu/drm/i915/selftests/i915_syncmap.c:80:54: warning: dubious: x | !y
+./include/linux/slab.h:666:13: error: undefined identifier 
'__builtin_mul_overflow'
+./include/linux/slab.h:666:13: error: undefined identifier 
'__builtin_mul_overflow'
+./include/linux/slab.h:666:13: warning: call with no type!
+./include/uapi/linux/perf_event.h:147:56: warning: cast truncates bits from 
constant value (8000 becomes 0)
+./include/uapi/linux/perf_event.h:147:56: warning: cast truncates bits from 
constant value (8000 becomes 0)
+./include/uapi/linux/perf_event.h:147:56: warning: cast truncates bits from 
constant value (8000 becomes 0)
+./include/uapi/linux/perf_event.h:147:56: warning: cast truncates bits from 
constant value (8000 becomes 0)
+./include/uapi/linux/perf_event.h:147:56: warning: cast truncates bits from 
constant value (8000 becomes 0)

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

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] drm/i915: add Makefile magic for testing headers are self-contained

2019-04-03 Thread Patchwork
== Series Details ==

Series: series starting with [1/2] drm/i915: add Makefile magic for testing 
headers are self-contained
URL   : https://patchwork.freedesktop.org/series/58963/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
5f24918578ab drm/i915: add Makefile magic for testing headers are self-contained
-:10: WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description 
(prefer a maximum 75 chars per line)
#10: 
39e2f501c1b4 ("drm/i915: Split struct intel_context definition to its own 
header")

-:10: ERROR:GIT_COMMIT_ID: Please use git commit description style 'commit <12+ 
chars of sha1> ("")' - ie: 'commit 39e2f501c1b4 ("drm/i915: Split 
struct intel_context definition to its own header")'
#10: 
39e2f501c1b4 ("drm/i915: Split struct intel_context definition to its own 
header")

-:11: ERROR:GIT_COMMIT_ID: Please use git commit description style 'commit <12+ 
chars of sha1> ("")' - ie: 'commit 3a891a626794 ("drm/i915: Move 
intel_engine_mask_t around for use by i915_request_types.h")'
#11: 
3a891a626794 ("drm/i915: Move intel_engine_mask_t around for use by 
i915_request_types.h")

-:12: ERROR:GIT_COMMIT_ID: Please use git commit description style 'commit <12+ 
chars of sha1> ("")' - ie: 'commit 8b74594aa455 ("drm/i915: Split 
out i915_priolist_types into its own header")'
#12: 
8b74594aa455 ("drm/i915: Split out i915_priolist_types into its own header")

-:25: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does 
MAINTAINERS need updating?
#25: 
new file mode 100644

total: 3 errors, 2 warnings, 0 checks, 52 lines checked
73cd40065843 drm/i915: Move GraphicsTechnology files under gt/
-:87: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does 
MAINTAINERS need updating?
#87: 
new file mode 100644

total: 0 errors, 1 warnings, 0 checks, 538 lines checked

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

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: add immutable zpos plane properties (rev2)

2019-04-03 Thread Patchwork
== Series Details ==

Series: drm/i915: add immutable zpos plane properties (rev2)
URL   : https://patchwork.freedesktop.org/series/58761/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5865 -> Patchwork_12675


Summary
---

  **SUCCESS**

  No regressions found.

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

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@amdgpu/amd_basic@cs-compute:
- fi-kbl-8809g:   NOTRUN -> FAIL [fdo#108094]

  * igt@gem_exec_basic@readonly-bsd2:
- fi-pnv-d510:NOTRUN -> SKIP [fdo#109271] +76

  * igt@i915_selftest@live_contexts:
- fi-bdw-gvtdvm:  PASS -> DMESG-FAIL [fdo#110235 ]

  * igt@kms_busy@basic-flip-a:
- fi-bsw-n3050:   NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +1

  * igt@kms_busy@basic-flip-c:
- fi-pnv-d510:NOTRUN -> SKIP [fdo#109271] / [fdo#109278]

  * igt@kms_chamelium@hdmi-crc-fast:
- fi-bsw-n3050:   NOTRUN -> SKIP [fdo#109271] +62

  * igt@kms_pipe_crc_basic@read-crc-pipe-a-frame-sequence:
- fi-byt-clapper: PASS -> FAIL [fdo#103191] / [fdo#107362]

  
 Possible fixes 

  * igt@amdgpu/amd_basic@userptr:
- fi-kbl-8809g:   DMESG-WARN [fdo#108965] -> PASS

  * igt@i915_selftest@live_uncore:
- fi-skl-gvtdvm:  DMESG-FAIL [fdo#110210] -> PASS

  * igt@kms_frontbuffer_tracking@basic:
- fi-byt-clapper: FAIL [fdo#103167] -> PASS

  * igt@kms_pipe_crc_basic@read-crc-pipe-a:
- fi-byt-clapper: FAIL [fdo#107362] -> PASS

  
 Warnings 

  * igt@i915_selftest@live_contexts:
- fi-icl-y:   INCOMPLETE [fdo#108569] -> DMESG-FAIL [fdo#108569]

  
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191
  [fdo#107362]: https://bugs.freedesktop.org/show_bug.cgi?id=107362
  [fdo#108094]: https://bugs.freedesktop.org/show_bug.cgi?id=108094
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#108965]: https://bugs.freedesktop.org/show_bug.cgi?id=108965
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#110210]: https://bugs.freedesktop.org/show_bug.cgi?id=110210
  [fdo#110235 ]: https://bugs.freedesktop.org/show_bug.cgi?id=110235 


Participating hosts (46 -> 39)
--

  Additional (2): fi-bsw-n3050 fi-pnv-d510 
  Missing(9): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-byt-squawks 
fi-bsw-cyan fi-bwr-2160 fi-kbl-7500u fi-ctg-p8600 fi-bdw-samus 


Build changes
-

* Linux: CI_DRM_5865 -> Patchwork_12675

  CI_DRM_5865: 0dafc5b0971e3e7622864fe0987d6676f0d2c7a6 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4925: ca623acb8b2b6f0a4cdb01946dc9002e11d62574 @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_12675: 326627292b936af7ee6895526e8ef42147e122d6 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

326627292b93 drm/i915: add immutable zpos plane properties

== Logs ==

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

[Intel-gfx] [PATCH 1/2] drm/i915: add Makefile magic for testing headers are self-contained

2019-04-03 Thread Chris Wilson
From: Jani Nikula 

The below commits added dummy files to test that certain headers are
self-contained, i.e. compilable as standalone units:

39e2f501c1b4 ("drm/i915: Split struct intel_context definition to its own 
header")
3a891a626794 ("drm/i915: Move intel_engine_mask_t around for use by 
i915_request_types.h")
8b74594aa455 ("drm/i915: Split out i915_priolist_types into its own header")

The idea is fine, but the implementation is a bit tedious and
inflexible, and does not really scale well.

Implement the same in make using autogenerated dummy sources to include
the headers.

Cc: Chris Wilson 
Cc: Tvrtko Ursulin 
Signed-off-by: Jani Nikula 
---
 drivers/gpu/drm/i915/.gitignore   |  1 +
 drivers/gpu/drm/i915/Makefile | 16 -
 drivers/gpu/drm/i915/Makefile.header-test | 23 +++
 .../i915/test_i915_active_types_standalone.c  |  7 --
 .../test_i915_gem_context_types_standalone.c  |  7 --
 .../test_i915_priolist_types_standalone.c |  7 --
 .../test_i915_scheduler_types_standalone.c|  7 --
 .../test_i915_timeline_types_standalone.c |  7 --
 .../test_intel_context_types_standalone.c |  7 --
 .../i915/test_intel_engine_types_standalone.c |  7 --
 .../test_intel_workarounds_types_standalone.c |  7 --
 11 files changed, 29 insertions(+), 67 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/.gitignore
 create mode 100644 drivers/gpu/drm/i915/Makefile.header-test
 delete mode 100644 drivers/gpu/drm/i915/test_i915_active_types_standalone.c
 delete mode 100644 
drivers/gpu/drm/i915/test_i915_gem_context_types_standalone.c
 delete mode 100644 drivers/gpu/drm/i915/test_i915_priolist_types_standalone.c
 delete mode 100644 drivers/gpu/drm/i915/test_i915_scheduler_types_standalone.c
 delete mode 100644 drivers/gpu/drm/i915/test_i915_timeline_types_standalone.c
 delete mode 100644 drivers/gpu/drm/i915/test_intel_context_types_standalone.c
 delete mode 100644 drivers/gpu/drm/i915/test_intel_engine_types_standalone.c
 delete mode 100644 
drivers/gpu/drm/i915/test_intel_workarounds_types_standalone.c

diff --git a/drivers/gpu/drm/i915/.gitignore b/drivers/gpu/drm/i915/.gitignore
new file mode 100644
index ..cff45d81f42f
--- /dev/null
+++ b/drivers/gpu/drm/i915/.gitignore
@@ -0,0 +1 @@
+header_test_*.c
diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
index 30bf3301ea24..91eaccca4f4f 100644
--- a/drivers/gpu/drm/i915/Makefile
+++ b/drivers/gpu/drm/i915/Makefile
@@ -32,6 +32,11 @@ CFLAGS_intel_fbdev.o = $(call cc-disable-warning, 
override-init)
 subdir-ccflags-y += \
$(call as-instr,movntdqa (%eax)$(comma)%xmm0,-DCONFIG_AS_MOVNTDQA)
 
+# Extra header tests
+ifeq ($(CONFIG_DRM_I915_WERROR),y)
+include $(src)/Makefile.header-test
+endif
+
 # Please keep these build lists sorted!
 
 # core driver code
@@ -57,17 +62,6 @@ i915-$(CONFIG_COMPAT)   += i915_ioc32.o
 i915-$(CONFIG_DEBUG_FS) += i915_debugfs.o intel_pipe_crc.o
 i915-$(CONFIG_PERF_EVENTS) += i915_pmu.o
 
-# Test the headers are compilable as standalone units
-i915-$(CONFIG_DRM_I915_WERROR) += \
-   test_i915_active_types_standalone.o \
-   test_i915_gem_context_types_standalone.o \
-   test_i915_priolist_types_standalone.o \
-   test_i915_scheduler_types_standalone.o \
-   test_i915_timeline_types_standalone.o \
-   test_intel_context_types_standalone.o \
-   test_intel_engine_types_standalone.o \
-   test_intel_workarounds_types_standalone.o
-
 # GEM code
 i915-y += \
  i915_active.o \
diff --git a/drivers/gpu/drm/i915/Makefile.header-test 
b/drivers/gpu/drm/i915/Makefile.header-test
new file mode 100644
index ..0d5fa8443a08
--- /dev/null
+++ b/drivers/gpu/drm/i915/Makefile.header-test
@@ -0,0 +1,23 @@
+# SPDX-License-Identifier: MIT
+# Copyright © 2019 Intel Corporation
+
+# Test the headers are compilable as standalone units
+header_test := \
+   i915_active_types.h \
+   i915_gem_context_types.h \
+   i915_priolist_types.h \
+   i915_scheduler_types.h \
+   i915_timeline_types.h \
+   intel_context_types.h \
+   intel_engine_types.h \
+   intel_workarounds_types.h
+
+quiet_cmd_header_test = HDRTEST$@
+  cmd_header_test = echo "\#include \"$( $@
+
+header_test_%.c: %.h
+   $(call cmd,header_test)
+
+extra-y += $(foreach h,$(header_test),$(patsubst %.h,header_test_%.o,$(h)))
+
+clean-files += $(foreach h,$(header_test),$(patsubst %.h,header_test_%.c,$(h)))
diff --git a/drivers/gpu/drm/i915/test_i915_active_types_standalone.c 
b/drivers/gpu/drm/i915/test_i915_active_types_standalone.c
deleted file mode 100644
index 144ebd153e57..
--- a/drivers/gpu/drm/i915/test_i915_active_types_standalone.c
+++ /dev/null
@@ -1,7 +0,0 @@
-/*
- * SPDX-License-Identifier: MIT
- *
- * Copyright © 2019 Intel Corporation
- */
-
-#include "i915_active_types.h"
diff --git a/drivers/gpu/drm/i915/test_i915_gem_context_types_standal

[Intel-gfx] [PATCH 2/2] drm/i915: Move GraphicsTechnology files under gt/

2019-04-03 Thread Chris Wilson
Start partitioning off the code that talks to the hardware (GT) from the
uapi layers and move the device facing code under gt/

One casualty is s/intel_ringbuffer.h/intel_engine.h/ with the plan to
subdivide that header and body further (and split out the submission
code from the ringbuffer and logical context handling). This patch aims
to be simple motion so git can fixup inflight patches with little mess.

Signed-off-by: Chris Wilson 
---
 drivers/gpu/drm/i915/Makefile | 23 ---
 drivers/gpu/drm/i915/Makefile.header-test |  5 +---
 drivers/gpu/drm/i915/gt/Makefile  |  4 
 drivers/gpu/drm/i915/gt/Makefile.header-test  | 15 
 .../gpu/drm/i915/{ => gt}/intel_breadcrumbs.c |  0
 drivers/gpu/drm/i915/{ => gt}/intel_context.c |  5 ++--
 drivers/gpu/drm/i915/{ => gt}/intel_context.h |  0
 .../drm/i915/{ => gt}/intel_context_types.h   |  0
 .../{intel_ringbuffer.h => gt/intel_engine.h} |  3 ++-
 .../gpu/drm/i915/{ => gt}/intel_engine_cs.c   |  7 +++---
 .../drm/i915/{ => gt}/intel_engine_types.h| 14 ++-
 .../drm/i915/{ => gt}/intel_gpu_commands.h|  0
 drivers/gpu/drm/i915/{ => gt}/intel_lrc.c |  2 +-
 drivers/gpu/drm/i915/{ => gt}/intel_lrc.h |  5 ++--
 drivers/gpu/drm/i915/{ => gt}/intel_lrc_reg.h |  0
 drivers/gpu/drm/i915/{ => gt}/intel_mocs.c|  4 +++-
 drivers/gpu/drm/i915/{ => gt}/intel_mocs.h|  4 +++-
 .../gpu/drm/i915/{ => gt}/intel_ringbuffer.c  |  0
 .../gpu/drm/i915/{ => gt}/intel_workarounds.c |  0
 .../gpu/drm/i915/{ => gt}/intel_workarounds.h |  8 +--
 .../i915/{ => gt}/intel_workarounds_types.h   |  2 +-
 .../drm/i915/{selftests => gt}/mock_engine.c  |  2 +-
 .../drm/i915/{selftests => gt}/mock_engine.h  |  2 +-
 .../selftest_engine_cs.c} |  0
 drivers/gpu/drm/i915/i915_cmd_parser.c|  3 ++-
 drivers/gpu/drm/i915/i915_drv.c   |  3 ++-
 drivers/gpu/drm/i915/i915_drv.h   | 21 -
 drivers/gpu/drm/i915/i915_gem.c   |  5 ++--
 drivers/gpu/drm/i915/i915_gem_context.c   |  7 --
 drivers/gpu/drm/i915/i915_gem_context.h   |  3 ++-
 drivers/gpu/drm/i915/i915_gem_context_types.h |  3 ++-
 drivers/gpu/drm/i915/i915_gpu_error.h |  3 ++-
 drivers/gpu/drm/i915/i915_perf.c  |  3 ++-
 drivers/gpu/drm/i915/i915_pmu.c   |  4 +++-
 drivers/gpu/drm/i915/i915_reset.h |  2 +-
 drivers/gpu/drm/i915/i915_scheduler_types.h   |  2 +-
 drivers/gpu/drm/i915/i915_trace.h |  3 ++-
 drivers/gpu/drm/i915/i915_vma.c   |  3 ++-
 drivers/gpu/drm/i915/intel_device_info.h  | 17 +-
 drivers/gpu/drm/i915/intel_guc_submission.c   |  3 ++-
 drivers/gpu/drm/i915/intel_guc_submission.h   |  3 ++-
 .../gpu/drm/i915/selftests/i915_gem_context.c |  4 ++--
 drivers/gpu/drm/i915/selftests/igt_reset.c|  3 ++-
 drivers/gpu/drm/i915/selftests/igt_spinner.h  |  3 ++-
 .../gpu/drm/i915/selftests/mock_gem_device.c  |  3 ++-
 drivers/gpu/drm/i915/selftests/mock_request.c |  3 ++-
 46 files changed, 133 insertions(+), 76 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/gt/Makefile
 create mode 100644 drivers/gpu/drm/i915/gt/Makefile.header-test
 rename drivers/gpu/drm/i915/{ => gt}/intel_breadcrumbs.c (100%)
 rename drivers/gpu/drm/i915/{ => gt}/intel_context.c (98%)
 rename drivers/gpu/drm/i915/{ => gt}/intel_context.h (100%)
 rename drivers/gpu/drm/i915/{ => gt}/intel_context_types.h (100%)
 rename drivers/gpu/drm/i915/{intel_ringbuffer.h => gt/intel_engine.h} (99%)
 rename drivers/gpu/drm/i915/{ => gt}/intel_engine_cs.c (99%)
 rename drivers/gpu/drm/i915/{ => gt}/intel_engine_types.h (98%)
 rename drivers/gpu/drm/i915/{ => gt}/intel_gpu_commands.h (100%)
 rename drivers/gpu/drm/i915/{ => gt}/intel_lrc.c (99%)
 rename drivers/gpu/drm/i915/{ => gt}/intel_lrc.h (98%)
 rename drivers/gpu/drm/i915/{ => gt}/intel_lrc_reg.h (100%)
 rename drivers/gpu/drm/i915/{ => gt}/intel_mocs.c (99%)
 rename drivers/gpu/drm/i915/{ => gt}/intel_mocs.h (97%)
 rename drivers/gpu/drm/i915/{ => gt}/intel_ringbuffer.c (100%)
 rename drivers/gpu/drm/i915/{ => gt}/intel_workarounds.c (100%)
 rename drivers/gpu/drm/i915/{ => gt}/intel_workarounds.h (87%)
 rename drivers/gpu/drm/i915/{ => gt}/intel_workarounds_types.h (94%)
 rename drivers/gpu/drm/i915/{selftests => gt}/mock_engine.c (99%)
 rename drivers/gpu/drm/i915/{selftests => gt}/mock_engine.h (98%)
 rename drivers/gpu/drm/i915/{selftests/intel_engine_cs.c => 
gt/selftest_engine_cs.c} (100%)

diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
index 91eaccca4f4f..f414b211063d 100644
--- a/drivers/gpu/drm/i915/Makefile
+++ b/drivers/gpu/drm/i915/Makefile
@@ -37,6 +37,8 @@ ifeq ($(CONFIG_DRM_I915_WERROR),y)
 include $(src)/Makefile.header-test
 endif
 
+subdir-ccflags-y += -I$(src)
+
 # Please keep these build lists sorted!
 
 # core driver code
@@ -55,13 +57,24 @@ i915-y := i915_drv.o \
  intel_csr.o \
  intel_d

Re: [Intel-gfx] [PATCH] drm/i915: FBC needs vblank before enable / disable.

2019-04-03 Thread Souza, Jose
On Wed, 2019-04-03 at 10:00 +0530, kiran.s.ku...@intel.com wrote:
> From: Kiran Kumar S 
> 
> As per the display workaround #1200, FBC needs wait for vblank before
> enabling and before disabling FBC.
> 
> In some cases, depending on whether FBC was compressing in that
> frame,
> several control signals in the compression engine also will fail to
> properly
> recognize the final segment of the frame as a result of the missing
> last
> pixel indication. As a result of this, we're seeing corrupted cache
> line/compression indicators after FBC re-enables which causes
> underruns or
> corruption when they're used to decompress.
> 
> WA sequence as below:
> 1) Display enables plane 1A
> 2) Wait for 1 vblank
> 3) FBC gets enabled
> 4) Wait for 1 VBLANK
> 5) Turn off FBC
> 
> In GLK Chrome OS, if FBC is enabled by default, few top lines on the
> screen
> got corrupted. With the above WA, issue was resolved.
> 
> Change-Id: I2465610bb0a82df99e5c53b1eb4ed74565996b1e
> Signed-off-by: Kiran Kumar S <
> kiran.s.ku...@intel.corp-partner.google.com>
> ---
>  drivers/gpu/drm/i915/intel_display.c | 7 ++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_display.c
> b/drivers/gpu/drm/i915/intel_display.c
> index 8576a7f799f2..5118a36782eb 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -13207,8 +13207,11 @@ static void intel_update_crtc(struct
> drm_crtc *crtc,
>  
>   if (pipe_config->update_pipe && !pipe_config->enable_fbc)
>   intel_fbc_disable(intel_crtc);
> - else if (new_plane_state)
> + else if (new_plane_state) {
> + /* Display WA #1200: GLK */
> + intel_wait_for_vblank(dev_priv, intel_crtc->pipe);

Wait a vblank of partially changed state? That is not a good idea at
all.
Also it would wait a vblank even if FBC is not enabled.

>   intel_fbc_enable(intel_crtc, pipe_config,
> new_plane_state);
> + }
>  
>   intel_begin_crtc_commit(crtc, old_crtc_state);
>  
> @@ -13419,6 +13422,8 @@ static void intel_atomic_commit_tail(struct
> drm_atomic_state *state)
>  
>   dev_priv-
> >display.crtc_disable(old_intel_crtc_state, state);
>   intel_crtc->active = false;
> + /* Display WA #1200: GLK */
> + intel_wait_for_vblank(dev_priv, intel_crtc-
> >pipe);
>   intel_fbc_disable(intel_crtc);
>   intel_disable_shared_dpll(old_intel_crtc_state)
> ;
>  


signature.asc
Description: This is a digitally signed message part
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915: use unsigned long for platform_mask (rev2)

2019-04-03 Thread Patchwork
== Series Details ==

Series: drm/i915: use unsigned long for platform_mask (rev2)
URL   : https://patchwork.freedesktop.org/series/58895/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5858_full -> Patchwork_12663_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_exec_basic@readonly-bsd1:
- shard-iclb: NOTRUN -> SKIP [fdo#109276] +7

  * igt@gem_exec_params@no-blt:
- shard-iclb: NOTRUN -> SKIP [fdo#109283]

  * igt@gem_exec_params@no-bsd:
- shard-apl:  NOTRUN -> SKIP [fdo#109271] +11

  * igt@gem_exec_parse@basic-allowed:
- shard-iclb: NOTRUN -> SKIP [fdo#109289] +1

  * igt@gem_stolen@stolen-clear:
- shard-glk:  NOTRUN -> SKIP [fdo#109271] +22

  * igt@gem_stolen@stolen-no-mmap:
- shard-iclb: NOTRUN -> SKIP [fdo#109277] +2

  * igt@i915_pm_sseu@full-enable:
- shard-iclb: NOTRUN -> SKIP [fdo#109288]

  * igt@kms_atomic_transition@6x-modeset-transitions:
- shard-iclb: NOTRUN -> SKIP [fdo#109278] +4

  * igt@kms_busy@extended-modeset-hang-newfb-render-d:
- shard-apl:  NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +1

  * igt@kms_busy@extended-pageflip-hang-newfb-render-d:
- shard-glk:  NOTRUN -> SKIP [fdo#109271] / [fdo#109278]

  * igt@kms_chamelium@hdmi-crc-planes-random:
- shard-iclb: NOTRUN -> SKIP [fdo#109284] +1

  * igt@kms_cursor_crc@cursor-64x64-onscreen:
- shard-snb:  PASS -> SKIP [fdo#109271] +3

  * igt@kms_cursor_crc@cursor-64x64-suspend:
- shard-skl:  PASS -> INCOMPLETE [fdo#104108] +1

  * igt@kms_flip@2x-flip-vs-expired-vblank:
- shard-iclb: NOTRUN -> SKIP [fdo#109274] +3

  * igt@kms_flip@2x-flip-vs-wf_vblank-interruptible:
- shard-skl:  NOTRUN -> SKIP [fdo#109271] +95

  * igt@kms_force_connector_basic@force-connector-state:
- shard-iclb: NOTRUN -> SKIP [fdo#109285]

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-move:
- shard-iclb: PASS -> FAIL [fdo#103167] +10

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-blt:
- shard-iclb: NOTRUN -> SKIP [fdo#109280] +12

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-indfb-draw-pwrite:
- shard-iclb: PASS -> FAIL [fdo#109247] +23

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-indfb-draw-render:
- shard-iclb: NOTRUN -> FAIL [fdo#109247]

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-mmap-wc:
- shard-snb:  NOTRUN -> SKIP [fdo#109271] +46

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-d:
- shard-skl:  NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +9

  * igt@kms_plane_alpha_blend@pipe-a-coverage-7efc:
- shard-skl:  NOTRUN -> FAIL [fdo#107815] / [fdo#108145]

  * igt@kms_plane_alpha_blend@pipe-b-alpha-opaque-fb:
- shard-skl:  NOTRUN -> FAIL [fdo#108145]

  * igt@kms_plane_alpha_blend@pipe-b-constant-alpha-max:
- shard-snb:  NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +2

  * igt@kms_plane_scaling@pipe-a-scaler-with-clipping-clamping:
- shard-glk:  PASS -> SKIP [fdo#109271] / [fdo#109278] +1

  * igt@kms_plane_scaling@pipe-a-scaler-with-rotation:
- shard-iclb: NOTRUN -> FAIL [fdo#109052]

  * igt@kms_psr2_su@frontbuffer:
- shard-iclb: PASS -> SKIP [fdo#109642]

  * igt@kms_psr@psr2_primary_mmap_cpu:
- shard-iclb: PASS -> SKIP [fdo#109441]

  * igt@kms_psr@psr2_sprite_plane_onoff:
- shard-iclb: NOTRUN -> SKIP [fdo#109441]

  * igt@kms_psr@sprite_mmap_cpu:
- shard-iclb: PASS -> FAIL [fdo#107383] / [fdo#110215] +2

  * igt@kms_rotation_crc@multiplane-rotation:
- shard-kbl:  PASS -> FAIL [fdo#109016]

  * igt@kms_setmode@basic:
- shard-iclb: NOTRUN -> FAIL [fdo#99912]

  * igt@kms_sysfs_edid_timing:
- shard-skl:  NOTRUN -> FAIL [fdo#100047]

  * igt@kms_vblank@pipe-b-ts-continuation-suspend:
- shard-skl:  PASS -> FAIL [fdo#104894]

  * igt@prime_nv_pcopy@test_semaphore:
- shard-iclb: NOTRUN -> SKIP [fdo#109291]

  * igt@prime_vgem@fence-flip-hang:
- shard-iclb: NOTRUN -> SKIP [fdo#109295]

  * igt@tools_test@sysfs_l3_parity:
- shard-iclb: NOTRUN -> SKIP [fdo#109307]

  
 Possible fixes 

  * igt@gem_exec_suspend@basic-s4-devices:
- shard-iclb: FAIL [fdo#109779] -> PASS

  * igt@gem_ppgtt@blt-vs-render-ctxn:
- shard-iclb: INCOMPLETE [fdo#109801] -> PASS

  * igt@gem_tiled_pread_pwrite:
- shard-iclb: INCOMPLETE [fdo#109100] -> PASS

  * igt@gem_tiled_swapping@non-threaded:
- shard-iclb: FAIL [fdo#108686] -> PASS

  * igt@i915_pm_rpm@cursor-dpms:

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: add Makefile magic for testing headers are self-contained (rev4)

2019-04-03 Thread Patchwork
== Series Details ==

Series: drm/i915: add Makefile magic for testing headers are self-contained 
(rev4)
URL   : https://patchwork.freedesktop.org/series/58938/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5863 -> Patchwork_12674


Summary
---

  **SUCCESS**

  No regressions found.

  External URL: 
https://patchwork.freedesktop.org/api/1.0/series/58938/revisions/4/mbox/

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_exec_store@basic-bsd1:
- fi-kbl-r:   NOTRUN -> SKIP [fdo#109271] +41

  * igt@gem_exec_suspend@basic-s3:
- fi-blb-e6850:   PASS -> INCOMPLETE [fdo#107718]

  * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a-frame-sequence:
- fi-byt-clapper: PASS -> FAIL [fdo#103191] / [fdo#107362] +1

  
 Possible fixes 

  * igt@kms_pipe_crc_basic@hang-read-crc-pipe-b:
- fi-byt-clapper: FAIL [fdo#103191] / [fdo#107362] -> PASS

  * igt@kms_pipe_crc_basic@read-crc-pipe-a:
- fi-byt-clapper: FAIL [fdo#107362] -> PASS

  
  [fdo#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191
  [fdo#107362]: https://bugs.freedesktop.org/show_bug.cgi?id=107362
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271


Participating hosts (47 -> 39)
--

  Additional (1): fi-kbl-r 
  Missing(9): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-byt-j1900 
fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-pnv-d510 fi-bdw-samus 


Build changes
-

* Linux: CI_DRM_5863 -> Patchwork_12674

  CI_DRM_5863: d2c849411d8ae6de9c718b9c0cd1e00da7f0f121 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4924: bcf2f21996b2ee5c6177f5412046690ff8017772 @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_12674: 5f226a4e31cdc3bbb9c26c1d6d58e6a8d582b7e9 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

5f226a4e31cd drm/i915: add Makefile magic for testing headers are self-contained

== Logs ==

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

[Intel-gfx] [PATCH v2] drm/i915: add immutable zpos plane properties

2019-04-03 Thread Simon Ser
From: Ville Syrjälä 

This adds basic immutable support for the zpos property. The zpos increases
from bottom to top: primary, sprites, cursor.

Signed-off-by: Ville Syrjälä 
[cont...@emersion.fr: adapted for latest drm-tip]
Signed-off-by: Simon Ser 
---

Changes in v2: set correct author and S-o-b tags

 drivers/gpu/drm/i915/intel_display.c | 10 --
 drivers/gpu/drm/i915/intel_sprite.c  |  5 -
 2 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_display.c 
b/drivers/gpu/drm/i915/intel_display.c
index 8576a7f799..f0a85a75bd 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -14323,7 +14323,7 @@ intel_primary_plane_create(struct drm_i915_private 
*dev_priv, enum pipe pipe)
const u64 *modifiers;
const u32 *formats;
int num_formats;
-   int ret;
+   int ret, zpos;
 
if (INTEL_GEN(dev_priv) >= 9)
return skl_universal_plane_create(dev_priv, pipe,
@@ -14412,6 +14412,9 @@ intel_primary_plane_create(struct drm_i915_private 
*dev_priv, enum pipe pipe)
   DRM_MODE_ROTATE_0,
   supported_rotations);
 
+   zpos = 0;
+   drm_plane_create_zpos_immutable_property(&plane->base, zpos);
+
drm_plane_helper_add(&plane->base, &intel_plane_helper_funcs);
 
return plane;
@@ -14428,7 +14431,7 @@ intel_cursor_plane_create(struct drm_i915_private 
*dev_priv,
 {
unsigned int possible_crtcs;
struct intel_plane *cursor;
-   int ret;
+   int ret, zpos;
 
cursor = intel_plane_alloc();
if (IS_ERR(cursor))
@@ -14477,6 +14480,9 @@ intel_cursor_plane_create(struct drm_i915_private 
*dev_priv,
   DRM_MODE_ROTATE_0 |
   DRM_MODE_ROTATE_180);
 
+   zpos = RUNTIME_INFO(dev_priv)->num_sprites[pipe] + 1;
+   drm_plane_create_zpos_immutable_property(&cursor->base, zpos);
+
drm_plane_helper_add(&cursor->base, &intel_plane_helper_funcs);
 
return cursor;
diff --git a/drivers/gpu/drm/i915/intel_sprite.c 
b/drivers/gpu/drm/i915/intel_sprite.c
index 65de7387bf..48bd8f9079 100644
--- a/drivers/gpu/drm/i915/intel_sprite.c
+++ b/drivers/gpu/drm/i915/intel_sprite.c
@@ -2354,7 +2354,7 @@ intel_sprite_plane_create(struct drm_i915_private 
*dev_priv,
const u64 *modifiers;
const u32 *formats;
int num_formats;
-   int ret;
+   int ret, zpos;
 
if (INTEL_GEN(dev_priv) >= 9)
return skl_universal_plane_create(dev_priv, pipe,
@@ -2444,6 +2444,9 @@ intel_sprite_plane_create(struct drm_i915_private 
*dev_priv,
  DRM_COLOR_YCBCR_BT709,
  DRM_COLOR_YCBCR_LIMITED_RANGE);
 
+   zpos = sprite + 1;
+   drm_plane_create_zpos_immutable_property(&plane->base, zpos);
+
drm_plane_helper_add(&plane->base, &intel_plane_helper_funcs);
 
return plane;
-- 
2.21.0


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

Re: [Intel-gfx] ✗ Fi.CI.IGT: failure for series starting with [CI,1/4] drm/i915: Force 2*96 MHz cdclk on glk/cnl when audio power is enabled

2019-04-03 Thread Imre Deak
On Thu, Mar 21, 2019 at 05:56:39PM +0200, Imre Deak wrote:
> On Thu, Mar 21, 2019 at 12:32:47AM +, Patchwork wrote:
> > == Series Details ==
> > 
> > Series: series starting with [CI,1/4] drm/i915: Force 2*96 MHz cdclk on 
> > glk/cnl when audio power is enabled
> > URL   : https://patchwork.freedesktop.org/series/58273/
> > State : failure

Thanks for the patches and reviews, pushed to -dinq.

> > 
> > == Summary ==
> > 
> > CI Bug Log - changes from CI_DRM_5781_full -> Patchwork_12531_full
> > 
> > 
> > Summary
> > ---
> > 
> >   **FAILURE**
> > 
> >   Serious unknown changes coming with Patchwork_12531_full absolutely need 
> > to be
> >   verified manually.
> >   
> >   If you think the reported changes have nothing to do with the changes
> >   introduced in Patchwork_12531_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_12531_full:
> > 
> > ### IGT changes ###
> > 
> >  Possible regressions 
> > 
> >   * igt@kms_properties@connector-properties-atomic:
> > - shard-iclb: PASS -> FAIL
> 
> (kms_properties:4576) DEBUG: Testing property "max bpc"
> 
> with the 'max bpc' property set to 6.
> 
> This results in the driver failing the modeset with:
> 
> <7>[ 2131.233688] [drm:intel_dp_compute_config [i915]] Force DSC en = 1
> <7>[ 2131.233716] [drm:intel_dp_compute_config [i915]] No DSC support for 
> less than 8bpc
> <7>[ 2131.233747] [drm:intel_atomic_check [i915]] Encoder config failure: -22
> 
> which is in turn caused by an earlier failure in
> igt@kms_dp_dsc@basic-dsc-enable-eDP:
> 
> (kms_dp_dsc:3075) CRITICAL: Test assertion failure function update_display, 
> file ../tests/kms_dp_dsc.c:182:
> (kms_dp_dsc:3075) CRITICAL: Failed assertion: is_dp_dsc_enabled(data)
> 
> That one in turn is caused by an incorrect assumption by kms_dp_dsc in
> that the DSC compression will only get enabled via a full modeset, while
> the test does only a fastset. The test also fails to restore the
> original value to the i915_dsc_fec_support debugfs file during an assert
> failure, leading to kms_properties seeing the unxepcted
> intel_dp->force_dsc_en=true value.
> 
> Adding Manasi to look at the kms_dp_dsc fail.
> 
> > 
> >   
> > Known issues
> > 
> > 
> >   Here are the changes found in Patchwork_12531_full that come from known 
> > issues:
> > 
> > ### IGT changes ###
> > 
> >  Issues hit 
> > 
> >   * igt@gem_exec_parse@batch-without-end:
> > - shard-iclb: NOTRUN -> SKIP [fdo#109289]
> > 
> >   * igt@gem_exec_suspend@basic-s3:
> > - shard-apl:  PASS -> INCOMPLETE [fdo#103927]
> > 
> >   * igt@gem_pwrite@stolen-normal:
> > - shard-skl:  NOTRUN -> SKIP [fdo#109271] +117
> > 
> >   * igt@i915_pm_rpm@gem-execbuf-stress:
> > - shard-skl:  PASS -> INCOMPLETE [fdo#107803] / [fdo#107807]
> > 
> >   * igt@i915_pm_rpm@i2c:
> > - shard-skl:  PASS -> INCOMPLETE [fdo#107807] +1
> > 
> >   * igt@i915_selftest@live_workarounds:
> > - shard-iclb: PASS -> DMESG-FAIL [fdo#108954]
> > 
> >   * igt@kms_atomic_transition@1x-modeset-transitions-fencing:
> > - shard-snb:  PASS -> SKIP [fdo#109271] +4
> > 
> >   * igt@kms_atomic_transition@1x-modeset-transitions-nonblocking-fencing:
> > - shard-apl:  PASS -> FAIL [fdo#109660]
> > 
> >   * igt@kms_atomic_transition@5x-modeset-transitions-nonblocking:
> > - shard-skl:  NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +13
> > 
> >   * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-b:
> > - shard-kbl:  PASS -> DMESG-WARN [fdo#107956]
> > 
> >   * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-d:
> > - shard-snb:  NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +3
> > 
> >   * igt@kms_busy@extended-modeset-hang-oldfb-render-e:
> > - shard-kbl:  NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +1
> > 
> >   * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-c:
> > - shard-glk:  PASS -> DMESG-WARN [fdo#107956]
> > - shard-skl:  NOTRUN -> DMESG-WARN [fdo#107956]
> > 
> >   * igt@kms_color@pipe-a-gamma:
> > - shard-skl:  PASS -> FAIL [fdo#104782]
> > 
> >   * igt@kms_cursor_crc@cursor-256x256-suspend:
> > - shard-snb:  PASS -> DMESG-WARN [fdo#102365]
> > 
> >   * igt@kms_cursor_legacy@cursor-vs-flip-atomic:
> > - shard-iclb: PASS -> FAIL [fdo#103355]
> > 
> >   * igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset:
> > - shard-iclb: NOTRUN -> SKIP [fdo#109274]
> > 
> >   * igt@kms_flip@flip-vs-expired-vblank-interruptible:
> > - shard-apl:  PASS -> FAIL [fdo#102887] / [fdo#105363]
> > 
> >   * igt@kms_frontbuffer_tracking@fbc-rgb5

[Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm/i915: add Makefile magic for testing headers are self-contained (rev4)

2019-04-03 Thread Patchwork
== Series Details ==

Series: drm/i915: add Makefile magic for testing headers are self-contained 
(rev4)
URL   : https://patchwork.freedesktop.org/series/58938/
State : warning

== Summary ==

$ dim sparse origin/drm-tip
Sparse version: v0.5.2
Commit: drm/i915: add Makefile magic for testing headers are self-contained
-./include/uapi/linux/perf_event.h:147:56: warning: cast truncates bits from 
constant value (8000 becomes 0)
-./include/uapi/linux/perf_event.h:147:56: warning: cast truncates bits from 
constant value (8000 becomes 0)
-./include/uapi/linux/perf_event.h:147:56: warning: cast truncates bits from 
constant value (8000 becomes 0)
+

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

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: add Makefile magic for testing headers are self-contained (rev4)

2019-04-03 Thread Patchwork
== Series Details ==

Series: drm/i915: add Makefile magic for testing headers are self-contained 
(rev4)
URL   : https://patchwork.freedesktop.org/series/58938/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
5f226a4e31cd drm/i915: add Makefile magic for testing headers are self-contained
-:10: WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description 
(prefer a maximum 75 chars per line)
#10: 
39e2f501c1b4 ("drm/i915: Split struct intel_context definition to its own 
header")

-:10: ERROR:GIT_COMMIT_ID: Please use git commit description style 'commit <12+ 
chars of sha1> ("")' - ie: 'commit 39e2f501c1b4 ("drm/i915: Split 
struct intel_context definition to its own header")'
#10: 
39e2f501c1b4 ("drm/i915: Split struct intel_context definition to its own 
header")

-:11: ERROR:GIT_COMMIT_ID: Please use git commit description style 'commit <12+ 
chars of sha1> ("")' - ie: 'commit 3a891a626794 ("drm/i915: Move 
intel_engine_mask_t around for use by i915_request_types.h")'
#11: 
3a891a626794 ("drm/i915: Move intel_engine_mask_t around for use by 
i915_request_types.h")

-:12: ERROR:GIT_COMMIT_ID: Please use git commit description style 'commit <12+ 
chars of sha1> ("")' - ie: 'commit 8b74594aa455 ("drm/i915: Split 
out i915_priolist_types into its own header")'
#12: 
8b74594aa455 ("drm/i915: Split out i915_priolist_types into its own header")

-:38: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does 
MAINTAINERS need updating?
#38: 
new file mode 100644

total: 3 errors, 2 warnings, 0 checks, 55 lines checked

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

Re: [Intel-gfx] [PATCH v4] drm/i915/icl: Set GCP_COLOR_INDICATION only for 10/12 bit deep color

2019-04-03 Thread kbuild test robot
Hi Aditya,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR on next-20190403]
[cannot apply to v5.1-rc3]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:
https://github.com/0day-ci/linux/commits/Aditya-Swarup/drm-i915-icl-Set-GCP_COLOR_INDICATION-only-for-10-12-bit-deep-color/20190403-201049
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
config: x86_64-allyesconfig (attached as .config)
compiler: gcc-7 (Debian 7.4.0-8) 7.4.0
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64 

All errors (new ones prefixed by >>):

   drivers/gpu//drm/i915/intel_hdmi.c: In function 
'intel_hdmi_compute_gcp_infoframe':
>> drivers/gpu//drm/i915/intel_hdmi.c:970:6: error: expected ')' before 
>> 'crtc_state'
 crtc_state->pipe_bpp > 24)
 ^~

vim +970 drivers/gpu//drm/i915/intel_hdmi.c

   952  
   953  static void intel_hdmi_compute_gcp_infoframe(struct intel_encoder 
*encoder,
   954   struct intel_crtc_state 
*crtc_state,
   955   struct drm_connector_state 
*conn_state)
   956  {
   957  struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
   958  
   959  if (IS_G4X(dev_priv) || !crtc_state->has_infoframe)
   960  return;
   961  
   962  crtc_state->infoframes.enable |=
   963  
intel_hdmi_infoframe_enable(HDMI_PACKET_TYPE_GENERAL_CONTROL);
   964  
   965  /* Indicate color depth whenever the sink supports deep color
   966   * Also, 8bpc + color depth indication is no longer supported
   967   * for HSW+ platforms.
   968   * */
   969  if (hdmi_sink_is_deep_color(conn_state)
 > 970  crtc_state->pipe_bpp > 24)
   971  crtc_state->infoframes.gcp |= GCP_COLOR_INDICATION;
   972  
   973  /* Enable default_phase whenever the display mode is suitably 
aligned */
   974  if (gcp_default_phase_possible(crtc_state->pipe_bpp,
   975 &crtc_state->base.adjusted_mode))
   976  crtc_state->infoframes.gcp |= GCP_DEFAULT_PHASE_ENABLE;
   977  }
   978  

---
0-DAY kernel test infrastructureOpen Source Technology Center
https://lists.01.org/pipermail/kbuild-all   Intel Corporation


.config.gz
Description: application/gzip
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH v2 0/7] drm/i915: Finish the GAMMA_LUT stuff

2019-04-03 Thread Shankar, Uma


>-Original Message-
>From: Ville Syrjala [mailto:ville.syrj...@linux.intel.com]
>Sent: Tuesday, April 2, 2019 1:32 AM
>To: intel-gfx@lists.freedesktop.org
>Cc: Shankar, Uma ; Roper, Matthew D
>
>Subject: [PATCH v2 0/7] drm/i915: Finish the GAMMA_LUT stuff
>
>From: Ville Syrjälä 
>
>Rebased due to Uma's EXT_GC_MAX fix, and I added Matt's proposed behavioural
>change (expose 1024 entry LUTs in split gamma mode and just discard half the
>entries) as an extra patch on top.
>
>Everything is reviewed except patches 2 and 7.

Reviewed the whole series and it looks perfect.
Reviewed-by: Uma Shankar 

>
>Ville Syrjälä (7):
>  drm/i915: Extract ilk_lut_10()
>  drm/i915: Don't use split gamma when we don't have to
>  drm/i915: Implement split/10bit gamma for ivb/hsw
>  drm/i915: Add 10bit LUT for ilk/snb
>  drm/i915: Add "10.6" LUT mode for i965+
>  drm/i915: Expose the legacy LUT via the GAMMA_LUT/GAMMA_LUT_SIZE props
>on gen2/3
>  drm/i915: Expose full 1024 LUT entries on ivb+
>
> drivers/gpu/drm/i915/i915_pci.c|  23 +-
> drivers/gpu/drm/i915/i915_reg.h|  15 ++
> drivers/gpu/drm/i915/intel_color.c | 375 -
> 3 files changed, 292 insertions(+), 121 deletions(-)
>
>--
>2.19.2

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

Re: [Intel-gfx] [PATCH v2 7/7] drm/i915: Expose full 1024 LUT entries on ivb+

2019-04-03 Thread Shankar, Uma


>-Original Message-
>From: Ville Syrjala [mailto:ville.syrj...@linux.intel.com]
>Sent: Tuesday, April 2, 2019 1:33 AM
>To: intel-gfx@lists.freedesktop.org
>Cc: Shankar, Uma ; Roper, Matthew D
>
>Subject: [PATCH v2 7/7] drm/i915: Expose full 1024 LUT entries on ivb+
>
>From: Ville Syrjälä 
>
>On ivb+ we can select between the regular 10bit LUT mode with
>1024 entries, and the split mode where the LUT is split into seprate degamma 
>and
>gamma halves (each with 512 entries). Currently we expose the split gamma size 
>of
>512 as the GAMMA/DEGAMMA_LUT_SIZE.
>
>When using only degamma or gamma (not both) we are wasting half of the hardware
>LUT entries. Let's flip that around so that we expose the full 1024 entries 
>and just
>throw away half of the user provided entries when using the split gamma mode.

Changes look good to me.
Reviewed-by: Uma Shankar 

>Cc: Matt Roper 
>Suggested-by: Matt Roper 
>Signed-off-by: Ville Syrjälä 
>---
> drivers/gpu/drm/i915/i915_pci.c|  2 +-
> drivers/gpu/drm/i915/intel_color.c | 75 +-
> 2 files changed, 34 insertions(+), 43 deletions(-)
>
>diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c 
>index
>81d14dc2fa61..6ffb85ddac53 100644
>--- a/drivers/gpu/drm/i915/i915_pci.c
>+++ b/drivers/gpu/drm/i915/i915_pci.c
>@@ -125,7 +125,7 @@
> #define ILK_COLORS \
>   .color = { .gamma_lut_size = 1024 }
> #define IVB_COLORS \
>-  .color = { .degamma_lut_size = 512, .gamma_lut_size = 512 }
>+  .color = { .degamma_lut_size = 1024, .gamma_lut_size = 1024 }
> #define CHV_COLORS \
>   .color = { .degamma_lut_size = 65, .gamma_lut_size = 257, \
>  .degamma_lut_tests = DRM_COLOR_LUT_NON_DECREASING, \
>diff --git a/drivers/gpu/drm/i915/intel_color.c 
>b/drivers/gpu/drm/i915/intel_color.c
>index faebd0705adb..60f21a1fdbbe 100644
>--- a/drivers/gpu/drm/i915/intel_color.c
>+++ b/drivers/gpu/drm/i915/intel_color.c
>@@ -538,6 +538,14 @@ static void ilk_load_luts(const struct intel_crtc_state
>*crtc_state)
>   ilk_load_lut_10(crtc, gamma_lut);
> }
>
>+static int ivb_lut_10_size(u32 prec_index) {
>+  if (prec_index & PAL_PREC_SPLIT_MODE)
>+  return 512;
>+  else
>+  return 1024;
>+}
>+
> /*
>  * IVB/HSW Bspec / PAL_PREC_INDEX:
>  * "Restriction : Index auto increment mode is not @@ -545,31 +553,21 @@ 
> static
>void ilk_load_luts(const struct intel_crtc_state *crtc_state)
>  */
> static void ivb_load_lut_10(struct intel_crtc *crtc,
>   const struct drm_property_blob *blob,
>-  u32 prec_index, bool duplicate)
>+  u32 prec_index)
> {
>   struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
>+  int hw_lut_size = ivb_lut_10_size(prec_index);
>   const struct drm_color_lut *lut = blob->data;
>   int i, lut_size = drm_color_lut_size(blob);
>   enum pipe pipe = crtc->pipe;
>
>-  /*
>-   * We advertize the split gamma sizes. When not using split
>-   * gamma we just duplicate each entry.
>-   *
>-   * TODO: expose the full LUT to userspace
>-   */
>-  if (duplicate) {
>-  for (i = 0; i < lut_size; i++) {
>-  I915_WRITE(PREC_PAL_INDEX(pipe), prec_index++);
>-  I915_WRITE(PREC_PAL_DATA(pipe), ilk_lut_10(&lut[i]));
>-  I915_WRITE(PREC_PAL_INDEX(pipe), prec_index++);
>-  I915_WRITE(PREC_PAL_DATA(pipe), ilk_lut_10(&lut[i]));
>-  }
>-  } else {
>-  for (i = 0; i < lut_size; i++) {
>-  I915_WRITE(PREC_PAL_INDEX(pipe), prec_index++);
>-  I915_WRITE(PREC_PAL_DATA(pipe), ilk_lut_10(&lut[i]));
>-  }
>+  for (i = 0; i < hw_lut_size; i++) {
>+  /* We discard half the user entries in split gamma mode */
>+  const struct drm_color_lut *entry =
>+  &lut[i * (lut_size - 1) / (hw_lut_size - 1)];
>+
>+  I915_WRITE(PREC_PAL_INDEX(pipe), prec_index++);
>+  I915_WRITE(PREC_PAL_DATA(pipe), ilk_lut_10(entry));
>   }
>
>   /*
>@@ -582,9 +580,10 @@ static void ivb_load_lut_10(struct intel_crtc *crtc,
> /* On BDW+ the index auto increment mode actually works */  static void
>bdw_load_lut_10(struct intel_crtc *crtc,
>   const struct drm_property_blob *blob,
>-  u32 prec_index, bool duplicate)
>+  u32 prec_index)
> {
>   struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
>+  int hw_lut_size = ivb_lut_10_size(prec_index);
>   const struct drm_color_lut *lut = blob->data;
>   int i, lut_size = drm_color_lut_size(blob);
>   enum pipe pipe = crtc->pipe;
>@@ -592,20 +591,12 @@ static void bdw_load_lut_10(struct intel_crtc *crtc,
>   I915_WRITE(PREC_PAL_INDEX(pipe), prec_index |
>  PAL_PREC_AUTO_INCREMENT);
>
>-

Re: [Intel-gfx] [PATCH v3] drm/i915: add Makefile magic for testing headers are self-contained

2019-04-03 Thread Jani Nikula
On Wed, 03 Apr 2019, Chris Wilson  wrote:
> Quoting Jani Nikula (2019-04-03 14:32:36)
>> The below commits added dummy files to test that certain headers are
>> self-contained, i.e. compilable as standalone units:
>> 
>> 39e2f501c1b4 ("drm/i915: Split struct intel_context definition to its own 
>> header")
>> 3a891a626794 ("drm/i915: Move intel_engine_mask_t around for use by 
>> i915_request_types.h")
>> 8b74594aa455 ("drm/i915: Split out i915_priolist_types into its own header")
>> 
>> The idea is fine, but the implementation is a bit tedious and
>> inflexible, and does not really scale well.
>> 
>> Implement the same in make using autogenerated dummy sources to include
>> the headers.
>> 
>> v2 by Chris:
>> - Use patsubst
>> - Add .gitignore
>> - Add clean-files for generated dummy sources
>> 
>> v3 by Jani:
>> - Fix make clean
>> - Add the tests to i915-y instead of extra-y
>> 
>> Cc: Chris Wilson 
>> Cc: Tvrtko Ursulin 
>> Signed-off-by: Jani Nikula 
>> ---
>>  drivers/gpu/drm/i915/.gitignore   |  1 +
>>  drivers/gpu/drm/i915/Makefile | 16 -
>>  drivers/gpu/drm/i915/Makefile.header-test | 23 +++
>>  .../i915/test_i915_active_types_standalone.c  |  7 --
>>  .../test_i915_gem_context_types_standalone.c  |  7 --
>>  .../test_i915_priolist_types_standalone.c |  7 --
>>  .../test_i915_scheduler_types_standalone.c|  7 --
>>  .../test_i915_timeline_types_standalone.c |  7 --
>>  .../test_intel_context_types_standalone.c |  7 --
>>  .../i915/test_intel_engine_types_standalone.c |  7 --
>>  .../test_intel_workarounds_types_standalone.c |  7 --
>>  11 files changed, 28 insertions(+), 68 deletions(-)
>>  create mode 100644 drivers/gpu/drm/i915/.gitignore
>>  create mode 100644 drivers/gpu/drm/i915/Makefile.header-test
>>  delete mode 100644 drivers/gpu/drm/i915/test_i915_active_types_standalone.c
>>  delete mode 100644 
>> drivers/gpu/drm/i915/test_i915_gem_context_types_standalone.c
>>  delete mode 100644 
>> drivers/gpu/drm/i915/test_i915_priolist_types_standalone.c
>>  delete mode 100644 
>> drivers/gpu/drm/i915/test_i915_scheduler_types_standalone.c
>>  delete mode 100644 
>> drivers/gpu/drm/i915/test_i915_timeline_types_standalone.c
>>  delete mode 100644 
>> drivers/gpu/drm/i915/test_intel_context_types_standalone.c
>>  delete mode 100644 drivers/gpu/drm/i915/test_intel_engine_types_standalone.c
>>  delete mode 100644 
>> drivers/gpu/drm/i915/test_intel_workarounds_types_standalone.c
>> 
>> diff --git a/drivers/gpu/drm/i915/.gitignore 
>> b/drivers/gpu/drm/i915/.gitignore
>> new file mode 100644
>> index 00..cff45d
>> --- /dev/null
>> +++ b/drivers/gpu/drm/i915/.gitignore
>> @@ -0,0 +1 @@
>> +header_test_*.c
>> diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
>> index 30bf33..fbcb0904 100644
>> --- a/drivers/gpu/drm/i915/Makefile
>> +++ b/drivers/gpu/drm/i915/Makefile
>> @@ -32,10 +32,13 @@ CFLAGS_intel_fbdev.o = $(call cc-disable-warning, 
>> override-init)
>>  subdir-ccflags-y += \
>> $(call as-instr,movntdqa (%eax)$(comma)%xmm0,-DCONFIG_AS_MOVNTDQA)
>>  
>> +# Extra header tests
>> +include $(src)/Makefile.header-test
>> +
>>  # Please keep these build lists sorted!
>>  
>>  # core driver code
>> -i915-y := i915_drv.o \
>> +i915-y += i915_drv.o \
>>   i915_irq.o \
>>   i915_memcpy.o \
>>   i915_mm.o \
>> @@ -57,17 +60,6 @@ i915-$(CONFIG_COMPAT)   += i915_ioc32.o
>>  i915-$(CONFIG_DEBUG_FS) += i915_debugfs.o intel_pipe_crc.o
>>  i915-$(CONFIG_PERF_EVENTS) += i915_pmu.o
>>  
>> -# Test the headers are compilable as standalone units
>> -i915-$(CONFIG_DRM_I915_WERROR) += \
>> -   test_i915_active_types_standalone.o \
>> -   test_i915_gem_context_types_standalone.o \
>> -   test_i915_priolist_types_standalone.o \
>> -   test_i915_scheduler_types_standalone.o \
>> -   test_i915_timeline_types_standalone.o \
>> -   test_intel_context_types_standalone.o \
>> -   test_intel_engine_types_standalone.o \
>> -   test_intel_workarounds_types_standalone.o
>> -
>>  # GEM code
>>  i915-y += \
>>   i915_active.o \
>> diff --git a/drivers/gpu/drm/i915/Makefile.header-test 
>> b/drivers/gpu/drm/i915/Makefile.header-test
>> new file mode 100644
>> index 00..e984cf
>> --- /dev/null
>> +++ b/drivers/gpu/drm/i915/Makefile.header-test
>> @@ -0,0 +1,23 @@
>> +# SPDX-License-Identifier: MIT
>> +# Copyright © 2019 Intel Corporation
>> +
>> +# Test the headers are compilable as standalone units
>> +header_test := \
>> +   i915_active_types.h \
>> +   i915_gem_context_types.h \
>> +   i915_priolist_types.h \
>> +   i915_scheduler_types.h \
>> +   i915_timeline_types.h \
>> +   intel_context_types.h \
>> +   intel_engine_types.h \
>> +   intel_workarounds_types.h
>> +
>> +quiet_cmd_header_test = HDRTEST$@
>
> Did you look at the output alignment? v1 needed a bit of a tweak to look
> g

[Intel-gfx] [PATCH v4] drm/i915: add Makefile magic for testing headers are self-contained

2019-04-03 Thread Jani Nikula
The below commits added dummy files to test that certain headers are
self-contained, i.e. compilable as standalone units:

39e2f501c1b4 ("drm/i915: Split struct intel_context definition to its own 
header")
3a891a626794 ("drm/i915: Move intel_engine_mask_t around for use by 
i915_request_types.h")
8b74594aa455 ("drm/i915: Split out i915_priolist_types into its own header")

The idea is fine, but the implementation is a bit tedious and
inflexible, and does not really scale well.

Implement the same in make using autogenerated dummy sources to include
the headers.

v2 by Chris:
- Use patsubst
- Add .gitignore
- Add clean-files for generated dummy sources

v3 by Jani:
- Fix make clean
- Add the tests to i915-y instead of extra-y

v4 by Jani:
- quiet_cmd whitespace fix

Cc: Chris Wilson 
Cc: Tvrtko Ursulin 
Reviewed-by: Chris Wilson 
Signed-off-by: Jani Nikula 
---
 drivers/gpu/drm/i915/.gitignore   |  1 +
 drivers/gpu/drm/i915/Makefile | 16 -
 drivers/gpu/drm/i915/Makefile.header-test | 23 +++
 .../i915/test_i915_active_types_standalone.c  |  7 --
 .../test_i915_gem_context_types_standalone.c  |  7 --
 .../test_i915_priolist_types_standalone.c |  7 --
 .../test_i915_scheduler_types_standalone.c|  7 --
 .../test_i915_timeline_types_standalone.c |  7 --
 .../test_intel_context_types_standalone.c |  7 --
 .../i915/test_intel_engine_types_standalone.c |  7 --
 .../test_intel_workarounds_types_standalone.c |  7 --
 11 files changed, 28 insertions(+), 68 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/.gitignore
 create mode 100644 drivers/gpu/drm/i915/Makefile.header-test
 delete mode 100644 drivers/gpu/drm/i915/test_i915_active_types_standalone.c
 delete mode 100644 
drivers/gpu/drm/i915/test_i915_gem_context_types_standalone.c
 delete mode 100644 drivers/gpu/drm/i915/test_i915_priolist_types_standalone.c
 delete mode 100644 drivers/gpu/drm/i915/test_i915_scheduler_types_standalone.c
 delete mode 100644 drivers/gpu/drm/i915/test_i915_timeline_types_standalone.c
 delete mode 100644 drivers/gpu/drm/i915/test_intel_context_types_standalone.c
 delete mode 100644 drivers/gpu/drm/i915/test_intel_engine_types_standalone.c
 delete mode 100644 
drivers/gpu/drm/i915/test_intel_workarounds_types_standalone.c

diff --git a/drivers/gpu/drm/i915/.gitignore b/drivers/gpu/drm/i915/.gitignore
new file mode 100644
index 00..cff45d
--- /dev/null
+++ b/drivers/gpu/drm/i915/.gitignore
@@ -0,0 +1 @@
+header_test_*.c
diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
index 30bf33..fbcb0904 100644
--- a/drivers/gpu/drm/i915/Makefile
+++ b/drivers/gpu/drm/i915/Makefile
@@ -32,10 +32,13 @@ CFLAGS_intel_fbdev.o = $(call cc-disable-warning, 
override-init)
 subdir-ccflags-y += \
$(call as-instr,movntdqa (%eax)$(comma)%xmm0,-DCONFIG_AS_MOVNTDQA)
 
+# Extra header tests
+include $(src)/Makefile.header-test
+
 # Please keep these build lists sorted!
 
 # core driver code
-i915-y := i915_drv.o \
+i915-y += i915_drv.o \
  i915_irq.o \
  i915_memcpy.o \
  i915_mm.o \
@@ -57,17 +60,6 @@ i915-$(CONFIG_COMPAT)   += i915_ioc32.o
 i915-$(CONFIG_DEBUG_FS) += i915_debugfs.o intel_pipe_crc.o
 i915-$(CONFIG_PERF_EVENTS) += i915_pmu.o
 
-# Test the headers are compilable as standalone units
-i915-$(CONFIG_DRM_I915_WERROR) += \
-   test_i915_active_types_standalone.o \
-   test_i915_gem_context_types_standalone.o \
-   test_i915_priolist_types_standalone.o \
-   test_i915_scheduler_types_standalone.o \
-   test_i915_timeline_types_standalone.o \
-   test_intel_context_types_standalone.o \
-   test_intel_engine_types_standalone.o \
-   test_intel_workarounds_types_standalone.o
-
 # GEM code
 i915-y += \
  i915_active.o \
diff --git a/drivers/gpu/drm/i915/Makefile.header-test 
b/drivers/gpu/drm/i915/Makefile.header-test
new file mode 100644
index 00..f7809b
--- /dev/null
+++ b/drivers/gpu/drm/i915/Makefile.header-test
@@ -0,0 +1,23 @@
+# SPDX-License-Identifier: MIT
+# Copyright © 2019 Intel Corporation
+
+# Test the headers are compilable as standalone units
+header_test := \
+   i915_active_types.h \
+   i915_gem_context_types.h \
+   i915_priolist_types.h \
+   i915_scheduler_types.h \
+   i915_timeline_types.h \
+   intel_context_types.h \
+   intel_engine_types.h \
+   intel_workarounds_types.h
+
+quiet_cmd_header_test = HDRTEST $@
+  cmd_header_test = echo "\#include \"$( $@
+
+header_test_%.c: %.h
+   $(call cmd,header_test)
+
+i915-$(CONFIG_DRM_I915_WERROR) += $(foreach h,$(header_test),$(patsubst 
%.h,header_test_%.o,$(h)))
+
+clean-files += $(foreach h,$(header_test),$(patsubst %.h,header_test_%.c,$(h)))
diff --git a/drivers/gpu/drm/i915/test_i915_active_types_standalone.c 
b/drivers/gpu/drm/i915/test_i915_active_types_standalone.c
deleted file mode 100644
index 144ebd..00
--- a/drivers/gpu/d

Re: [Intel-gfx] [PATCH v3] drm/i915: add Makefile magic for testing headers are self-contained

2019-04-03 Thread Chris Wilson
Quoting Jani Nikula (2019-04-03 14:32:36)
> The below commits added dummy files to test that certain headers are
> self-contained, i.e. compilable as standalone units:
> 
> 39e2f501c1b4 ("drm/i915: Split struct intel_context definition to its own 
> header")
> 3a891a626794 ("drm/i915: Move intel_engine_mask_t around for use by 
> i915_request_types.h")
> 8b74594aa455 ("drm/i915: Split out i915_priolist_types into its own header")
> 
> The idea is fine, but the implementation is a bit tedious and
> inflexible, and does not really scale well.
> 
> Implement the same in make using autogenerated dummy sources to include
> the headers.
> 
> v2 by Chris:
> - Use patsubst
> - Add .gitignore
> - Add clean-files for generated dummy sources
> 
> v3 by Jani:
> - Fix make clean
> - Add the tests to i915-y instead of extra-y
> 
> Cc: Chris Wilson 
> Cc: Tvrtko Ursulin 
> Signed-off-by: Jani Nikula 
> ---
>  drivers/gpu/drm/i915/.gitignore   |  1 +
>  drivers/gpu/drm/i915/Makefile | 16 -
>  drivers/gpu/drm/i915/Makefile.header-test | 23 +++
>  .../i915/test_i915_active_types_standalone.c  |  7 --
>  .../test_i915_gem_context_types_standalone.c  |  7 --
>  .../test_i915_priolist_types_standalone.c |  7 --
>  .../test_i915_scheduler_types_standalone.c|  7 --
>  .../test_i915_timeline_types_standalone.c |  7 --
>  .../test_intel_context_types_standalone.c |  7 --
>  .../i915/test_intel_engine_types_standalone.c |  7 --
>  .../test_intel_workarounds_types_standalone.c |  7 --
>  11 files changed, 28 insertions(+), 68 deletions(-)
>  create mode 100644 drivers/gpu/drm/i915/.gitignore
>  create mode 100644 drivers/gpu/drm/i915/Makefile.header-test
>  delete mode 100644 drivers/gpu/drm/i915/test_i915_active_types_standalone.c
>  delete mode 100644 
> drivers/gpu/drm/i915/test_i915_gem_context_types_standalone.c
>  delete mode 100644 drivers/gpu/drm/i915/test_i915_priolist_types_standalone.c
>  delete mode 100644 
> drivers/gpu/drm/i915/test_i915_scheduler_types_standalone.c
>  delete mode 100644 drivers/gpu/drm/i915/test_i915_timeline_types_standalone.c
>  delete mode 100644 drivers/gpu/drm/i915/test_intel_context_types_standalone.c
>  delete mode 100644 drivers/gpu/drm/i915/test_intel_engine_types_standalone.c
>  delete mode 100644 
> drivers/gpu/drm/i915/test_intel_workarounds_types_standalone.c
> 
> diff --git a/drivers/gpu/drm/i915/.gitignore b/drivers/gpu/drm/i915/.gitignore
> new file mode 100644
> index 00..cff45d
> --- /dev/null
> +++ b/drivers/gpu/drm/i915/.gitignore
> @@ -0,0 +1 @@
> +header_test_*.c
> diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
> index 30bf33..fbcb0904 100644
> --- a/drivers/gpu/drm/i915/Makefile
> +++ b/drivers/gpu/drm/i915/Makefile
> @@ -32,10 +32,13 @@ CFLAGS_intel_fbdev.o = $(call cc-disable-warning, 
> override-init)
>  subdir-ccflags-y += \
> $(call as-instr,movntdqa (%eax)$(comma)%xmm0,-DCONFIG_AS_MOVNTDQA)
>  
> +# Extra header tests
> +include $(src)/Makefile.header-test
> +
>  # Please keep these build lists sorted!
>  
>  # core driver code
> -i915-y := i915_drv.o \
> +i915-y += i915_drv.o \
>   i915_irq.o \
>   i915_memcpy.o \
>   i915_mm.o \
> @@ -57,17 +60,6 @@ i915-$(CONFIG_COMPAT)   += i915_ioc32.o
>  i915-$(CONFIG_DEBUG_FS) += i915_debugfs.o intel_pipe_crc.o
>  i915-$(CONFIG_PERF_EVENTS) += i915_pmu.o
>  
> -# Test the headers are compilable as standalone units
> -i915-$(CONFIG_DRM_I915_WERROR) += \
> -   test_i915_active_types_standalone.o \
> -   test_i915_gem_context_types_standalone.o \
> -   test_i915_priolist_types_standalone.o \
> -   test_i915_scheduler_types_standalone.o \
> -   test_i915_timeline_types_standalone.o \
> -   test_intel_context_types_standalone.o \
> -   test_intel_engine_types_standalone.o \
> -   test_intel_workarounds_types_standalone.o
> -
>  # GEM code
>  i915-y += \
>   i915_active.o \
> diff --git a/drivers/gpu/drm/i915/Makefile.header-test 
> b/drivers/gpu/drm/i915/Makefile.header-test
> new file mode 100644
> index 00..e984cf
> --- /dev/null
> +++ b/drivers/gpu/drm/i915/Makefile.header-test
> @@ -0,0 +1,23 @@
> +# SPDX-License-Identifier: MIT
> +# Copyright © 2019 Intel Corporation
> +
> +# Test the headers are compilable as standalone units
> +header_test := \
> +   i915_active_types.h \
> +   i915_gem_context_types.h \
> +   i915_priolist_types.h \
> +   i915_scheduler_types.h \
> +   i915_timeline_types.h \
> +   intel_context_types.h \
> +   intel_engine_types.h \
> +   intel_workarounds_types.h
> +
> +quiet_cmd_header_test = HDRTEST$@

Did you look at the output alignment? v1 needed a bit of a tweak to look
good here.

> +  cmd_header_test = echo "\#include \"$( $@
> +
> +header_test_%.c: %.h
> +   $(call cmd,header_test)
> +
> +i915-$(CONFIG_DRM_I915_WERROR) += $(foreach h,$(header_

[Intel-gfx] [PATCH v3] drm/i915: add Makefile magic for testing headers are self-contained

2019-04-03 Thread Jani Nikula
The below commits added dummy files to test that certain headers are
self-contained, i.e. compilable as standalone units:

39e2f501c1b4 ("drm/i915: Split struct intel_context definition to its own 
header")
3a891a626794 ("drm/i915: Move intel_engine_mask_t around for use by 
i915_request_types.h")
8b74594aa455 ("drm/i915: Split out i915_priolist_types into its own header")

The idea is fine, but the implementation is a bit tedious and
inflexible, and does not really scale well.

Implement the same in make using autogenerated dummy sources to include
the headers.

v2 by Chris:
- Use patsubst
- Add .gitignore
- Add clean-files for generated dummy sources

v3 by Jani:
- Fix make clean
- Add the tests to i915-y instead of extra-y

Cc: Chris Wilson 
Cc: Tvrtko Ursulin 
Signed-off-by: Jani Nikula 
---
 drivers/gpu/drm/i915/.gitignore   |  1 +
 drivers/gpu/drm/i915/Makefile | 16 -
 drivers/gpu/drm/i915/Makefile.header-test | 23 +++
 .../i915/test_i915_active_types_standalone.c  |  7 --
 .../test_i915_gem_context_types_standalone.c  |  7 --
 .../test_i915_priolist_types_standalone.c |  7 --
 .../test_i915_scheduler_types_standalone.c|  7 --
 .../test_i915_timeline_types_standalone.c |  7 --
 .../test_intel_context_types_standalone.c |  7 --
 .../i915/test_intel_engine_types_standalone.c |  7 --
 .../test_intel_workarounds_types_standalone.c |  7 --
 11 files changed, 28 insertions(+), 68 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/.gitignore
 create mode 100644 drivers/gpu/drm/i915/Makefile.header-test
 delete mode 100644 drivers/gpu/drm/i915/test_i915_active_types_standalone.c
 delete mode 100644 
drivers/gpu/drm/i915/test_i915_gem_context_types_standalone.c
 delete mode 100644 drivers/gpu/drm/i915/test_i915_priolist_types_standalone.c
 delete mode 100644 drivers/gpu/drm/i915/test_i915_scheduler_types_standalone.c
 delete mode 100644 drivers/gpu/drm/i915/test_i915_timeline_types_standalone.c
 delete mode 100644 drivers/gpu/drm/i915/test_intel_context_types_standalone.c
 delete mode 100644 drivers/gpu/drm/i915/test_intel_engine_types_standalone.c
 delete mode 100644 
drivers/gpu/drm/i915/test_intel_workarounds_types_standalone.c

diff --git a/drivers/gpu/drm/i915/.gitignore b/drivers/gpu/drm/i915/.gitignore
new file mode 100644
index 00..cff45d
--- /dev/null
+++ b/drivers/gpu/drm/i915/.gitignore
@@ -0,0 +1 @@
+header_test_*.c
diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
index 30bf33..fbcb0904 100644
--- a/drivers/gpu/drm/i915/Makefile
+++ b/drivers/gpu/drm/i915/Makefile
@@ -32,10 +32,13 @@ CFLAGS_intel_fbdev.o = $(call cc-disable-warning, 
override-init)
 subdir-ccflags-y += \
$(call as-instr,movntdqa (%eax)$(comma)%xmm0,-DCONFIG_AS_MOVNTDQA)
 
+# Extra header tests
+include $(src)/Makefile.header-test
+
 # Please keep these build lists sorted!
 
 # core driver code
-i915-y := i915_drv.o \
+i915-y += i915_drv.o \
  i915_irq.o \
  i915_memcpy.o \
  i915_mm.o \
@@ -57,17 +60,6 @@ i915-$(CONFIG_COMPAT)   += i915_ioc32.o
 i915-$(CONFIG_DEBUG_FS) += i915_debugfs.o intel_pipe_crc.o
 i915-$(CONFIG_PERF_EVENTS) += i915_pmu.o
 
-# Test the headers are compilable as standalone units
-i915-$(CONFIG_DRM_I915_WERROR) += \
-   test_i915_active_types_standalone.o \
-   test_i915_gem_context_types_standalone.o \
-   test_i915_priolist_types_standalone.o \
-   test_i915_scheduler_types_standalone.o \
-   test_i915_timeline_types_standalone.o \
-   test_intel_context_types_standalone.o \
-   test_intel_engine_types_standalone.o \
-   test_intel_workarounds_types_standalone.o
-
 # GEM code
 i915-y += \
  i915_active.o \
diff --git a/drivers/gpu/drm/i915/Makefile.header-test 
b/drivers/gpu/drm/i915/Makefile.header-test
new file mode 100644
index 00..e984cf
--- /dev/null
+++ b/drivers/gpu/drm/i915/Makefile.header-test
@@ -0,0 +1,23 @@
+# SPDX-License-Identifier: MIT
+# Copyright © 2019 Intel Corporation
+
+# Test the headers are compilable as standalone units
+header_test := \
+   i915_active_types.h \
+   i915_gem_context_types.h \
+   i915_priolist_types.h \
+   i915_scheduler_types.h \
+   i915_timeline_types.h \
+   intel_context_types.h \
+   intel_engine_types.h \
+   intel_workarounds_types.h
+
+quiet_cmd_header_test = HDRTEST$@
+  cmd_header_test = echo "\#include \"$( $@
+
+header_test_%.c: %.h
+   $(call cmd,header_test)
+
+i915-$(CONFIG_DRM_I915_WERROR) += $(foreach h,$(header_test),$(patsubst 
%.h,header_test_%.o,$(h)))
+
+clean-files += $(foreach h,$(header_test),$(patsubst %.h,header_test_%.c,$(h)))
diff --git a/drivers/gpu/drm/i915/test_i915_active_types_standalone.c 
b/drivers/gpu/drm/i915/test_i915_active_types_standalone.c
deleted file mode 100644
index 144ebd..00
--- a/drivers/gpu/drm/i915/test_i915_active_types_standalone.c
+++ /dev/null
@@

Re: [Intel-gfx] [PATCH 1/2] drm/edid: Add a EDID edp panel quirk for forcing max lane count

2019-04-03 Thread Daniel Vetter
On Wed, Apr 03, 2019 at 03:14:51PM +0300, Ville Syrjälä wrote:
> On Tue, Apr 02, 2019 at 02:52:34PM -0700, Manasi Navare wrote:
> > For certain eDP 1.4 panels, we need to use max lane count for the
> > link training to succeed.
> > 
> > This patch adds a EDID quirk for such eDP panels using
> > their vendor ID and product ID to force using max lane count in the driver.
> 
> Rather than opening the quirk can of worms I think we should consider
> changing the retry loop to do something more sensible than what it's
> doing now. The current behaviour of "start at optimal settings (which
> can be either min lanes or min rate), and then reduce lanes/rate until
> stuff works" overlooks several possible combinations. One possible
> approach could be to start the retry loop with max lanes + max rate
> after the optimal settings have failed. It probably won't give you
> the best power consumption, but at least you get a picture on the
> screen if even a single lane count + rate combo works.

Hm yeah I guess this is an approach we haven't tried yet ... I think we've
tried everything else already.
-Daniel

> 
> > 
> > Cc: Clint Taylor 
> > Cc: Ville Syrjälä 
> > Tested-by: Albert Astals Cid 
> > Tested-by: Emanuele Panigati 
> > Tested-by: Ralgor 
> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109959
> > Signed-off-by: Manasi Navare 
> > ---
> >  drivers/gpu/drm/drm_edid.c  | 10 ++
> >  include/drm/drm_connector.h |  5 +
> >  2 files changed, 15 insertions(+)
> > 
> > diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> > index 2c22ea446075..fbc661806484 100644
> > --- a/drivers/gpu/drm/drm_edid.c
> > +++ b/drivers/gpu/drm/drm_edid.c
> > @@ -82,6 +82,8 @@
> >  #define EDID_QUIRK_FORCE_10BPC (1 << 11)
> >  /* Non desktop display (i.e. HMD) */
> >  #define EDID_QUIRK_NON_DESKTOP (1 << 12)
> > +/* Force max lane count */
> > +#define EDID_QUIRK_FORCE_MAX_LANE_COUNT(1 << 13)
> >  
> >  struct detailed_mode_closure {
> > struct drm_connector *connector;
> > @@ -189,6 +191,10 @@ static const struct edid_quirk {
> >  
> > /* OSVR HDK and HDK2 VR Headsets */
> > { "SVR", 0x1019, EDID_QUIRK_NON_DESKTOP },
> > +
> > +   /* SHP eDP 1.4 panel only works with max lane count */
> > +   { "SHP", 0x149a, EDID_QUIRK_FORCE_MAX_LANE_COUNT },
> > +   { "SHP", 0x148e, EDID_QUIRK_FORCE_MAX_LANE_COUNT },
> >  };
> >  
> >  /*
> > @@ -4463,6 +4469,7 @@ drm_reset_display_info(struct drm_connector 
> > *connector)
> > memset(&info->hdmi, 0, sizeof(info->hdmi));
> >  
> > info->non_desktop = 0;
> > +   info->force_max_lane_count = 0;
> >  }
> >  
> >  u32 drm_add_display_info(struct drm_connector *connector, const struct 
> > edid *edid)
> > @@ -4744,6 +4751,9 @@ int drm_add_edid_modes(struct drm_connector 
> > *connector, struct edid *edid)
> > if (quirks & EDID_QUIRK_FORCE_12BPC)
> > connector->display_info.bpc = 12;
> >  
> > +   if (quirks & EDID_QUIRK_FORCE_MAX_LANE_COUNT)
> > +   connector->display_info.force_max_lane_count = true;
> > +
> > return num_modes;
> >  }
> >  EXPORT_SYMBOL(drm_add_edid_modes);
> > diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h
> > index 02a131202add..45436d40ffe3 100644
> > --- a/include/drm/drm_connector.h
> > +++ b/include/drm/drm_connector.h
> > @@ -457,6 +457,11 @@ struct drm_display_info {
> >  * @non_desktop: Non desktop display (HMD).
> >  */
> > bool non_desktop;
> > +
> > +   /**
> > +* @force_max_lane_count: Link training requires max lane count to pass
> > +*/
> > +   bool force_max_lane_count;
> >  };
> >  
> >  int drm_display_info_set_bus_formats(struct drm_display_info *info,
> > -- 
> > 2.19.1
> 
> -- 
> Ville Syrjälä
> Intel
> ___
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH] drm/i915: Move the decision to use the breadcrumb tasklet to the backend

2019-04-03 Thread Tvrtko Ursulin


On 03/04/2019 14:00, Chris Wilson wrote:

Quoting Chris Wilson (2019-03-29 15:49:12)

Use the engine->flags to store whether we want to kick the submission
tasklet on receipt of a breadcrumb interrupt, so that this decision can
be made by the submission backend and not dependent on a limited feature
test within the interrupt handler. This should make it easier to adapt
different submission backends.


This comes with a cherry on top!

add/remove: 0/1 grow/shrink: 2/2 up/down: 20/-86 (-66)
Function old new   delta
guc_submission_park5  18 +13
guc_submission_unpark  5  12  +7
gen8_cs_irq_handler   97  77 -20
gen8_cs_irq_handler.cold  33   - -33
__func__   28208   28175 -33

The function name was as large as the function itself?


Cherry on the top is just GEM_BUG_ON in intel_uc_is_using_guc_submission 
I suspect. Nevertheless, patch makes sense.


Reviewed-by: Tvrtko Ursulin 

Regards,

Tvrtko


Signed-off-by: Chris Wilson 
Cc: Michal Wajdeczko 
Cc: Xiaolin Zhang 
Cc: Tvrtko Ursulin 
---
  drivers/gpu/drm/i915/i915_irq.c | 2 +-
  drivers/gpu/drm/i915/intel_engine_types.h   | 7 +++
  drivers/gpu/drm/i915/intel_guc_submission.c | 2 ++
  3 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index 455b2bf691b5..aa107a78cb36 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -1470,7 +1470,7 @@ gen8_cs_irq_handler(struct intel_engine_cs *engine, u32 
iir)
  
 if (iir & GT_RENDER_USER_INTERRUPT) {

 intel_engine_breadcrumbs_irq(engine);
-   tasklet |= USES_GUC_SUBMISSION(engine->i915);
+   tasklet |= intel_engine_needs_breadcrumb_tasklet(engine);
 }
  
 if (tasklet)

diff --git a/drivers/gpu/drm/i915/intel_engine_types.h 
b/drivers/gpu/drm/i915/intel_engine_types.h
index b3249bf6a65f..5c3f567a7a20 100644
--- a/drivers/gpu/drm/i915/intel_engine_types.h
+++ b/drivers/gpu/drm/i915/intel_engine_types.h
@@ -425,6 +425,7 @@ struct intel_engine_cs {
  #define I915_ENGINE_SUPPORTS_STATS   BIT(1)
  #define I915_ENGINE_HAS_PREEMPTION   BIT(2)
  #define I915_ENGINE_HAS_SEMAPHORES   BIT(3)
+#define I915_ENGINE_NEEDS_BREADCRUMB_TASKLET BIT(4)
 unsigned int flags;
  
 /*

@@ -508,6 +509,12 @@ intel_engine_has_semaphores(const struct intel_engine_cs 
*engine)
 return engine->flags & I915_ENGINE_HAS_SEMAPHORES;
  }
  
+static inline bool

+intel_engine_needs_breadcrumb_tasklet(const struct intel_engine_cs *engine)
+{
+   return engine->flags & I915_ENGINE_NEEDS_BREADCRUMB_TASKLET;
+}
+
  #define instdone_slice_mask(dev_priv__) \
 (IS_GEN(dev_priv__, 7) ? \
  1 : RUNTIME_INFO(dev_priv__)->sseu.slice_mask)
diff --git a/drivers/gpu/drm/i915/intel_guc_submission.c 
b/drivers/gpu/drm/i915/intel_guc_submission.c
index c4ad73980988..c5896d47 100644
--- a/drivers/gpu/drm/i915/intel_guc_submission.c
+++ b/drivers/gpu/drm/i915/intel_guc_submission.c
@@ -1262,10 +1262,12 @@ static void guc_interrupts_release(struct 
drm_i915_private *dev_priv)
  static void guc_submission_park(struct intel_engine_cs *engine)
  {
 intel_engine_unpin_breadcrumbs_irq(engine);
+   engine->flags &= ~I915_ENGINE_NEEDS_BREADCRUMB_TASKLET;
  }
  
  static void guc_submission_unpark(struct intel_engine_cs *engine)

  {
+   engine->flags |= I915_ENGINE_NEEDS_BREADCRUMB_TASKLET;
 intel_engine_pin_breadcrumbs_irq(engine);
  }
  
--

2.20.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

Re: [Intel-gfx] [PATCH v2 2/7] drm/i915: Don't use split gamma when we don't have to

2019-04-03 Thread Shankar, Uma


>-Original Message-
>From: Ville Syrjälä [mailto:ville.syrj...@linux.intel.com]
>Sent: Wednesday, April 3, 2019 6:10 PM
>To: Shankar, Uma 
>Cc: intel-gfx@lists.freedesktop.org; Roper, Matthew D
>
>Subject: Re: [PATCH v2 2/7] drm/i915: Don't use split gamma when we don't have 
>to
>
>On Wed, Apr 03, 2019 at 12:23:06PM +, Shankar, Uma wrote:
>>
>>
>> >-Original Message-
>> >From: Ville Syrjala [mailto:ville.syrj...@linux.intel.com]
>> >Sent: Tuesday, April 2, 2019 1:32 AM
>> >To: intel-gfx@lists.freedesktop.org
>> >Cc: Shankar, Uma ; Roper, Matthew D
>> >
>> >Subject: [PATCH v2 2/7] drm/i915: Don't use split gamma when we don't
>> >have to
>> >
>> >From: Ville Syrjälä 
>> >
>> >Using the split gamma mode when we don't have to has the annoying
>> >requirement of loading a linear LUT to the unused half. Instead let's
>> >make life simpler by switching to the 10bit gamma mode and duplicating each
>entry.
>> >
>> >This also allows us to load the software gamma LUT into the hardware
>> >degamma LUT, thus removing some of the buggy configurations we
>> >currently allow (YCbCr/limited range RGB
>> >+ gamma LUT). We do still have other configurations that are
>> >also buggy, but those will need more complicated fixes or they just
>> >need to be rejected. Sadly GLK doesn't have this flexibility anymore
>> >and the degamma and gamma LUTs are very different so no help there.
>> >
>> >v2: Apply a mask when checking gamma_mode on icl since it
>> >contains more bits than just the gamma mode
>> >v3: Rebase due to EXT_GC_MAX/EXT2_GC_MAX changes
>> >
>> >Signed-off-by: Ville Syrjälä 
>> >---
>> > drivers/gpu/drm/i915/i915_reg.h|   2 +
>> > drivers/gpu/drm/i915/intel_color.c | 185
>> >++---
>> > 2 files changed, 92 insertions(+), 95 deletions(-)
>> >
>> >diff --git a/drivers/gpu/drm/i915/i915_reg.h
>> >b/drivers/gpu/drm/i915/i915_reg.h index
>> >341f03e00536..bed2c52aebd8 100644
>> >--- a/drivers/gpu/drm/i915/i915_reg.h
>> >+++ b/drivers/gpu/drm/i915/i915_reg.h
>> >@@ -7214,6 +7214,7 @@ enum {
>> > #define GAMMA_MODE(pipe) _MMIO_PIPE(pipe, _GAMMA_MODE_A,
>> >_GAMMA_MODE_B)
>> > #define  PRE_CSC_GAMMA_ENABLE  (1 << 31)
>> > #define  POST_CSC_GAMMA_ENABLE (1 << 30)
>> >+#define  GAMMA_MODE_MODE_MASK  (3 << 0)
>> > #define  GAMMA_MODE_MODE_8BIT  (0 << 0)
>> > #define  GAMMA_MODE_MODE_10BIT (1 << 0)
>> > #define  GAMMA_MODE_MODE_12BIT (2 << 0)
>> >@@ -10127,6 +10128,7 @@ enum skl_power_gate {
>> > #define   PAL_PREC_SPLIT_MODE  (1 << 31)
>> > #define   PAL_PREC_AUTO_INCREMENT  (1 << 15)
>> > #define   PAL_PREC_INDEX_VALUE_MASK(0x3ff << 0)
>> >+#define   PAL_PREC_INDEX_VALUE(x)  ((x) << 0)
>> > #define _PAL_PREC_DATA_A   0x4A404
>> > #define _PAL_PREC_DATA_B   0x4AC04
>> > #define _PAL_PREC_DATA_C   0x4B404
>> >diff --git a/drivers/gpu/drm/i915/intel_color.c
>> >b/drivers/gpu/drm/i915/intel_color.c
>> >index d5b3060c2645..5ef93c43afcf 100644
>> >--- a/drivers/gpu/drm/i915/intel_color.c
>> >+++ b/drivers/gpu/drm/i915/intel_color.c
>> >@@ -466,115 +466,83 @@ static void skl_color_commit(const struct
>> >intel_crtc_state
>> >*crtc_state)
>> >ilk_load_csc_matrix(crtc_state);
>> > }
>> >
>> >-static void bdw_load_degamma_lut(const struct intel_crtc_state
>> >*crtc_state)
>> >+static void bdw_load_lut_10(struct intel_crtc *crtc,
>> >+   const struct drm_property_blob *blob,
>> >+   u32 prec_index, bool duplicate)
>> > {
>> >-   struct intel_crtc *crtc = to_intel_crtc(crtc_state->base.crtc);
>> >struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
>> >-   const struct drm_property_blob *degamma_lut = crtc_state-
>> >>base.degamma_lut;
>> >-   u32 i, lut_size = INTEL_INFO(dev_priv)->color.degamma_lut_size;
>> >+   const struct drm_color_lut *lut = blob->data;
>> >+   int i, lut_size = drm_color_lut_size(blob);
>> >enum pipe pipe = crtc->pipe;
>> >
>> >-   I915_WRITE(PREC_PAL_INDEX(pipe),
>> >-  PAL_PREC_SPLIT_MODE | PAL_PREC_AUTO_INCREMENT);
>> >-
>> >-   if (degamma_lut) {
>> >-   const struct drm_color_lut *lut = degamma_lut->data;
>> >+   I915_WRITE(PREC_PAL_INDEX(pipe), prec_index |
>> >+  PAL_PREC_AUTO_INCREMENT);
>> >
>> >-   for (i = 0; i < lut_size; i++)
>> >-   I915_WRITE(PREC_PAL_DATA(pipe), ilk_lut_10(&lut[i]));
>> >-   } else {
>> >+   /*
>> >+* We advertize the split gamma sizes. When not using split
>>
>> Typo in advertise.
>
>Just a different language. Though maybe the 'z' isn't quite right even for US 
>English.
>"Consistency not included" should be on the packaging.

Yeah agree :). Opened this on outlook and got this spell check. 

>>
>> >+* gamma we just duplicate each entry.
>> >+*
>> >+* TODO: expose the full LUT to userspace
>> >+*/
>> >+   if (duplicate) {
>> >for (i = 0; i < lut_size; i++) {
>> >-   u32 v = (i * ((1 << 10) - 1)) / (lut_size - 1);
>> >

Re: [Intel-gfx] [PATCH] drm/i915: Move the decision to use the breadcrumb tasklet to the backend

2019-04-03 Thread Chris Wilson
Quoting Chris Wilson (2019-03-29 15:49:12)
> Use the engine->flags to store whether we want to kick the submission
> tasklet on receipt of a breadcrumb interrupt, so that this decision can
> be made by the submission backend and not dependent on a limited feature
> test within the interrupt handler. This should make it easier to adapt
> different submission backends.

This comes with a cherry on top!

add/remove: 0/1 grow/shrink: 2/2 up/down: 20/-86 (-66)
Function old new   delta
guc_submission_park5  18 +13
guc_submission_unpark  5  12  +7
gen8_cs_irq_handler   97  77 -20
gen8_cs_irq_handler.cold  33   - -33
__func__   28208   28175 -33

The function name was as large as the function itself?

> Signed-off-by: Chris Wilson 
> Cc: Michal Wajdeczko 
> Cc: Xiaolin Zhang 
> Cc: Tvrtko Ursulin 
> ---
>  drivers/gpu/drm/i915/i915_irq.c | 2 +-
>  drivers/gpu/drm/i915/intel_engine_types.h   | 7 +++
>  drivers/gpu/drm/i915/intel_guc_submission.c | 2 ++
>  3 files changed, 10 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
> index 455b2bf691b5..aa107a78cb36 100644
> --- a/drivers/gpu/drm/i915/i915_irq.c
> +++ b/drivers/gpu/drm/i915/i915_irq.c
> @@ -1470,7 +1470,7 @@ gen8_cs_irq_handler(struct intel_engine_cs *engine, u32 
> iir)
>  
> if (iir & GT_RENDER_USER_INTERRUPT) {
> intel_engine_breadcrumbs_irq(engine);
> -   tasklet |= USES_GUC_SUBMISSION(engine->i915);
> +   tasklet |= intel_engine_needs_breadcrumb_tasklet(engine);
> }
>  
> if (tasklet)
> diff --git a/drivers/gpu/drm/i915/intel_engine_types.h 
> b/drivers/gpu/drm/i915/intel_engine_types.h
> index b3249bf6a65f..5c3f567a7a20 100644
> --- a/drivers/gpu/drm/i915/intel_engine_types.h
> +++ b/drivers/gpu/drm/i915/intel_engine_types.h
> @@ -425,6 +425,7 @@ struct intel_engine_cs {
>  #define I915_ENGINE_SUPPORTS_STATS   BIT(1)
>  #define I915_ENGINE_HAS_PREEMPTION   BIT(2)
>  #define I915_ENGINE_HAS_SEMAPHORES   BIT(3)
> +#define I915_ENGINE_NEEDS_BREADCRUMB_TASKLET BIT(4)
> unsigned int flags;
>  
> /*
> @@ -508,6 +509,12 @@ intel_engine_has_semaphores(const struct intel_engine_cs 
> *engine)
> return engine->flags & I915_ENGINE_HAS_SEMAPHORES;
>  }
>  
> +static inline bool
> +intel_engine_needs_breadcrumb_tasklet(const struct intel_engine_cs *engine)
> +{
> +   return engine->flags & I915_ENGINE_NEEDS_BREADCRUMB_TASKLET;
> +}
> +
>  #define instdone_slice_mask(dev_priv__) \
> (IS_GEN(dev_priv__, 7) ? \
>  1 : RUNTIME_INFO(dev_priv__)->sseu.slice_mask)
> diff --git a/drivers/gpu/drm/i915/intel_guc_submission.c 
> b/drivers/gpu/drm/i915/intel_guc_submission.c
> index c4ad73980988..c5896d47 100644
> --- a/drivers/gpu/drm/i915/intel_guc_submission.c
> +++ b/drivers/gpu/drm/i915/intel_guc_submission.c
> @@ -1262,10 +1262,12 @@ static void guc_interrupts_release(struct 
> drm_i915_private *dev_priv)
>  static void guc_submission_park(struct intel_engine_cs *engine)
>  {
> intel_engine_unpin_breadcrumbs_irq(engine);
> +   engine->flags &= ~I915_ENGINE_NEEDS_BREADCRUMB_TASKLET;
>  }
>  
>  static void guc_submission_unpark(struct intel_engine_cs *engine)
>  {
> +   engine->flags |= I915_ENGINE_NEEDS_BREADCRUMB_TASKLET;
> intel_engine_pin_breadcrumbs_irq(engine);
>  }
>  
> -- 
> 2.20.1
> 
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH v2 2/7] drm/i915: Don't use split gamma when we don't have to

2019-04-03 Thread Ville Syrjälä
On Wed, Apr 03, 2019 at 12:23:06PM +, Shankar, Uma wrote:
> 
> 
> >-Original Message-
> >From: Ville Syrjala [mailto:ville.syrj...@linux.intel.com]
> >Sent: Tuesday, April 2, 2019 1:32 AM
> >To: intel-gfx@lists.freedesktop.org
> >Cc: Shankar, Uma ; Roper, Matthew D
> >
> >Subject: [PATCH v2 2/7] drm/i915: Don't use split gamma when we don't have to
> >
> >From: Ville Syrjälä 
> >
> >Using the split gamma mode when we don't have to has the annoying 
> >requirement of
> >loading a linear LUT to the unused half. Instead let's make life simpler by 
> >switching to
> >the 10bit gamma mode and duplicating each entry.
> >
> >This also allows us to load the software gamma LUT into the hardware degamma
> >LUT, thus removing some of the buggy configurations we currently allow
> >(YCbCr/limited range RGB
> >+ gamma LUT). We do still have other configurations that are
> >also buggy, but those will need more complicated fixes or they just need to 
> >be
> >rejected. Sadly GLK doesn't have this flexibility anymore and the degamma and
> >gamma LUTs are very different so no help there.
> >
> >v2: Apply a mask when checking gamma_mode on icl since it
> >contains more bits than just the gamma mode
> >v3: Rebase due to EXT_GC_MAX/EXT2_GC_MAX changes
> >
> >Signed-off-by: Ville Syrjälä 
> >---
> > drivers/gpu/drm/i915/i915_reg.h|   2 +
> > drivers/gpu/drm/i915/intel_color.c | 185 ++---
> > 2 files changed, 92 insertions(+), 95 deletions(-)
> >
> >diff --git a/drivers/gpu/drm/i915/i915_reg.h 
> >b/drivers/gpu/drm/i915/i915_reg.h index
> >341f03e00536..bed2c52aebd8 100644
> >--- a/drivers/gpu/drm/i915/i915_reg.h
> >+++ b/drivers/gpu/drm/i915/i915_reg.h
> >@@ -7214,6 +7214,7 @@ enum {
> > #define GAMMA_MODE(pipe) _MMIO_PIPE(pipe, _GAMMA_MODE_A,
> >_GAMMA_MODE_B)
> > #define  PRE_CSC_GAMMA_ENABLE   (1 << 31)
> > #define  POST_CSC_GAMMA_ENABLE  (1 << 30)
> >+#define  GAMMA_MODE_MODE_MASK   (3 << 0)
> > #define  GAMMA_MODE_MODE_8BIT   (0 << 0)
> > #define  GAMMA_MODE_MODE_10BIT  (1 << 0)
> > #define  GAMMA_MODE_MODE_12BIT  (2 << 0)
> >@@ -10127,6 +10128,7 @@ enum skl_power_gate {
> > #define   PAL_PREC_SPLIT_MODE   (1 << 31)
> > #define   PAL_PREC_AUTO_INCREMENT   (1 << 15)
> > #define   PAL_PREC_INDEX_VALUE_MASK (0x3ff << 0)
> >+#define   PAL_PREC_INDEX_VALUE(x)   ((x) << 0)
> > #define _PAL_PREC_DATA_A0x4A404
> > #define _PAL_PREC_DATA_B0x4AC04
> > #define _PAL_PREC_DATA_C0x4B404
> >diff --git a/drivers/gpu/drm/i915/intel_color.c 
> >b/drivers/gpu/drm/i915/intel_color.c
> >index d5b3060c2645..5ef93c43afcf 100644
> >--- a/drivers/gpu/drm/i915/intel_color.c
> >+++ b/drivers/gpu/drm/i915/intel_color.c
> >@@ -466,115 +466,83 @@ static void skl_color_commit(const struct 
> >intel_crtc_state
> >*crtc_state)
> > ilk_load_csc_matrix(crtc_state);
> > }
> >
> >-static void bdw_load_degamma_lut(const struct intel_crtc_state *crtc_state)
> >+static void bdw_load_lut_10(struct intel_crtc *crtc,
> >+const struct drm_property_blob *blob,
> >+u32 prec_index, bool duplicate)
> > {
> >-struct intel_crtc *crtc = to_intel_crtc(crtc_state->base.crtc);
> > struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
> >-const struct drm_property_blob *degamma_lut = crtc_state-
> >>base.degamma_lut;
> >-u32 i, lut_size = INTEL_INFO(dev_priv)->color.degamma_lut_size;
> >+const struct drm_color_lut *lut = blob->data;
> >+int i, lut_size = drm_color_lut_size(blob);
> > enum pipe pipe = crtc->pipe;
> >
> >-I915_WRITE(PREC_PAL_INDEX(pipe),
> >-   PAL_PREC_SPLIT_MODE | PAL_PREC_AUTO_INCREMENT);
> >-
> >-if (degamma_lut) {
> >-const struct drm_color_lut *lut = degamma_lut->data;
> >+I915_WRITE(PREC_PAL_INDEX(pipe), prec_index |
> >+   PAL_PREC_AUTO_INCREMENT);
> >
> >-for (i = 0; i < lut_size; i++)
> >-I915_WRITE(PREC_PAL_DATA(pipe), ilk_lut_10(&lut[i]));
> >-} else {
> >+/*
> >+ * We advertize the split gamma sizes. When not using split
> 
> Typo in advertise.

Just a different language. Though maybe the 'z' isn't quite right even
for US English. "Consistency not included" should be on the packaging.

> 
> >+ * gamma we just duplicate each entry.
> >+ *
> >+ * TODO: expose the full LUT to userspace
> >+ */
> >+if (duplicate) {
> > for (i = 0; i < lut_size; i++) {
> >-u32 v = (i * ((1 << 10) - 1)) / (lut_size - 1);
> >-
> >-I915_WRITE(PREC_PAL_DATA(pipe),
> >-   (v << 20) | (v << 10) | v);
> >+I915_WRITE(PREC_PAL_DATA(pipe), ilk_lut_10(&lut[i]));
> >+I915_WRITE(PREC_PAL_DATA(pipe), ilk_lut_10(&lut[i]));
> > }
> >+} else {
> >+for (i = 0; i < lut_size; i++)
> >+I915_WRITE(PREC_PAL_DATA(pipe), ilk_lut_10(&lut[

Re: [Intel-gfx] [PATCH v2 2/7] drm/i915: Don't use split gamma when we don't have to

2019-04-03 Thread Shankar, Uma


>-Original Message-
>From: Ville Syrjala [mailto:ville.syrj...@linux.intel.com]
>Sent: Tuesday, April 2, 2019 1:32 AM
>To: intel-gfx@lists.freedesktop.org
>Cc: Shankar, Uma ; Roper, Matthew D
>
>Subject: [PATCH v2 2/7] drm/i915: Don't use split gamma when we don't have to
>
>From: Ville Syrjälä 
>
>Using the split gamma mode when we don't have to has the annoying requirement 
>of
>loading a linear LUT to the unused half. Instead let's make life simpler by 
>switching to
>the 10bit gamma mode and duplicating each entry.
>
>This also allows us to load the software gamma LUT into the hardware degamma
>LUT, thus removing some of the buggy configurations we currently allow
>(YCbCr/limited range RGB
>+ gamma LUT). We do still have other configurations that are
>also buggy, but those will need more complicated fixes or they just need to be
>rejected. Sadly GLK doesn't have this flexibility anymore and the degamma and
>gamma LUTs are very different so no help there.
>
>v2: Apply a mask when checking gamma_mode on icl since it
>contains more bits than just the gamma mode
>v3: Rebase due to EXT_GC_MAX/EXT2_GC_MAX changes
>
>Signed-off-by: Ville Syrjälä 
>---
> drivers/gpu/drm/i915/i915_reg.h|   2 +
> drivers/gpu/drm/i915/intel_color.c | 185 ++---
> 2 files changed, 92 insertions(+), 95 deletions(-)
>
>diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h 
>index
>341f03e00536..bed2c52aebd8 100644
>--- a/drivers/gpu/drm/i915/i915_reg.h
>+++ b/drivers/gpu/drm/i915/i915_reg.h
>@@ -7214,6 +7214,7 @@ enum {
> #define GAMMA_MODE(pipe) _MMIO_PIPE(pipe, _GAMMA_MODE_A,
>_GAMMA_MODE_B)
> #define  PRE_CSC_GAMMA_ENABLE (1 << 31)
> #define  POST_CSC_GAMMA_ENABLE(1 << 30)
>+#define  GAMMA_MODE_MODE_MASK (3 << 0)
> #define  GAMMA_MODE_MODE_8BIT (0 << 0)
> #define  GAMMA_MODE_MODE_10BIT(1 << 0)
> #define  GAMMA_MODE_MODE_12BIT(2 << 0)
>@@ -10127,6 +10128,7 @@ enum skl_power_gate {
> #define   PAL_PREC_SPLIT_MODE (1 << 31)
> #define   PAL_PREC_AUTO_INCREMENT (1 << 15)
> #define   PAL_PREC_INDEX_VALUE_MASK   (0x3ff << 0)
>+#define   PAL_PREC_INDEX_VALUE(x) ((x) << 0)
> #define _PAL_PREC_DATA_A  0x4A404
> #define _PAL_PREC_DATA_B  0x4AC04
> #define _PAL_PREC_DATA_C  0x4B404
>diff --git a/drivers/gpu/drm/i915/intel_color.c 
>b/drivers/gpu/drm/i915/intel_color.c
>index d5b3060c2645..5ef93c43afcf 100644
>--- a/drivers/gpu/drm/i915/intel_color.c
>+++ b/drivers/gpu/drm/i915/intel_color.c
>@@ -466,115 +466,83 @@ static void skl_color_commit(const struct 
>intel_crtc_state
>*crtc_state)
>   ilk_load_csc_matrix(crtc_state);
> }
>
>-static void bdw_load_degamma_lut(const struct intel_crtc_state *crtc_state)
>+static void bdw_load_lut_10(struct intel_crtc *crtc,
>+  const struct drm_property_blob *blob,
>+  u32 prec_index, bool duplicate)
> {
>-  struct intel_crtc *crtc = to_intel_crtc(crtc_state->base.crtc);
>   struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
>-  const struct drm_property_blob *degamma_lut = crtc_state-
>>base.degamma_lut;
>-  u32 i, lut_size = INTEL_INFO(dev_priv)->color.degamma_lut_size;
>+  const struct drm_color_lut *lut = blob->data;
>+  int i, lut_size = drm_color_lut_size(blob);
>   enum pipe pipe = crtc->pipe;
>
>-  I915_WRITE(PREC_PAL_INDEX(pipe),
>- PAL_PREC_SPLIT_MODE | PAL_PREC_AUTO_INCREMENT);
>-
>-  if (degamma_lut) {
>-  const struct drm_color_lut *lut = degamma_lut->data;
>+  I915_WRITE(PREC_PAL_INDEX(pipe), prec_index |
>+ PAL_PREC_AUTO_INCREMENT);
>
>-  for (i = 0; i < lut_size; i++)
>-  I915_WRITE(PREC_PAL_DATA(pipe), ilk_lut_10(&lut[i]));
>-  } else {
>+  /*
>+   * We advertize the split gamma sizes. When not using split

Typo in advertise.

>+   * gamma we just duplicate each entry.
>+   *
>+   * TODO: expose the full LUT to userspace
>+   */
>+  if (duplicate) {
>   for (i = 0; i < lut_size; i++) {
>-  u32 v = (i * ((1 << 10) - 1)) / (lut_size - 1);
>-
>-  I915_WRITE(PREC_PAL_DATA(pipe),
>- (v << 20) | (v << 10) | v);
>+  I915_WRITE(PREC_PAL_DATA(pipe), ilk_lut_10(&lut[i]));
>+  I915_WRITE(PREC_PAL_DATA(pipe), ilk_lut_10(&lut[i]));
>   }
>+  } else {
>+  for (i = 0; i < lut_size; i++)
>+  I915_WRITE(PREC_PAL_DATA(pipe), ilk_lut_10(&lut[i]));
>   }
>+
>+  /*
>+   * Reset the index, otherwise it prevents the legacy palette to be
>+   * written properly.
>+   */
>+  I915_WRITE(PREC_PAL_INDEX(pipe), 0);
> }
>
>-static void bdw_load_gamma_lut(const struct intel_crtc_state *crtc_state, u32
>offset)
>+static void bdw_load_lut_10_max(struct intel_crtc *crtc)
> {
>-  struct intel_crtc

Re: [Intel-gfx] [PATCH 1/2] drm/edid: Add a EDID edp panel quirk for forcing max lane count

2019-04-03 Thread Ville Syrjälä
On Tue, Apr 02, 2019 at 02:52:34PM -0700, Manasi Navare wrote:
> For certain eDP 1.4 panels, we need to use max lane count for the
> link training to succeed.
> 
> This patch adds a EDID quirk for such eDP panels using
> their vendor ID and product ID to force using max lane count in the driver.

Rather than opening the quirk can of worms I think we should consider
changing the retry loop to do something more sensible than what it's
doing now. The current behaviour of "start at optimal settings (which
can be either min lanes or min rate), and then reduce lanes/rate until
stuff works" overlooks several possible combinations. One possible
approach could be to start the retry loop with max lanes + max rate
after the optimal settings have failed. It probably won't give you
the best power consumption, but at least you get a picture on the
screen if even a single lane count + rate combo works.

> 
> Cc: Clint Taylor 
> Cc: Ville Syrjälä 
> Tested-by: Albert Astals Cid 
> Tested-by: Emanuele Panigati 
> Tested-by: Ralgor 
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109959
> Signed-off-by: Manasi Navare 
> ---
>  drivers/gpu/drm/drm_edid.c  | 10 ++
>  include/drm/drm_connector.h |  5 +
>  2 files changed, 15 insertions(+)
> 
> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> index 2c22ea446075..fbc661806484 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -82,6 +82,8 @@
>  #define EDID_QUIRK_FORCE_10BPC   (1 << 11)
>  /* Non desktop display (i.e. HMD) */
>  #define EDID_QUIRK_NON_DESKTOP   (1 << 12)
> +/* Force max lane count */
> +#define EDID_QUIRK_FORCE_MAX_LANE_COUNT  (1 << 13)
>  
>  struct detailed_mode_closure {
>   struct drm_connector *connector;
> @@ -189,6 +191,10 @@ static const struct edid_quirk {
>  
>   /* OSVR HDK and HDK2 VR Headsets */
>   { "SVR", 0x1019, EDID_QUIRK_NON_DESKTOP },
> +
> + /* SHP eDP 1.4 panel only works with max lane count */
> + { "SHP", 0x149a, EDID_QUIRK_FORCE_MAX_LANE_COUNT },
> + { "SHP", 0x148e, EDID_QUIRK_FORCE_MAX_LANE_COUNT },
>  };
>  
>  /*
> @@ -4463,6 +4469,7 @@ drm_reset_display_info(struct drm_connector *connector)
>   memset(&info->hdmi, 0, sizeof(info->hdmi));
>  
>   info->non_desktop = 0;
> + info->force_max_lane_count = 0;
>  }
>  
>  u32 drm_add_display_info(struct drm_connector *connector, const struct edid 
> *edid)
> @@ -4744,6 +4751,9 @@ int drm_add_edid_modes(struct drm_connector *connector, 
> struct edid *edid)
>   if (quirks & EDID_QUIRK_FORCE_12BPC)
>   connector->display_info.bpc = 12;
>  
> + if (quirks & EDID_QUIRK_FORCE_MAX_LANE_COUNT)
> + connector->display_info.force_max_lane_count = true;
> +
>   return num_modes;
>  }
>  EXPORT_SYMBOL(drm_add_edid_modes);
> diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h
> index 02a131202add..45436d40ffe3 100644
> --- a/include/drm/drm_connector.h
> +++ b/include/drm/drm_connector.h
> @@ -457,6 +457,11 @@ struct drm_display_info {
>* @non_desktop: Non desktop display (HMD).
>*/
>   bool non_desktop;
> +
> + /**
> +  * @force_max_lane_count: Link training requires max lane count to pass
> +  */
> + bool force_max_lane_count;
>  };
>  
>  int drm_display_info_set_bus_formats(struct drm_display_info *info,
> -- 
> 2.19.1

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

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: add Makefile magic for testing headers are self-contained (rev2)

2019-04-03 Thread Patchwork
== Series Details ==

Series: drm/i915: add Makefile magic for testing headers are self-contained 
(rev2)
URL   : https://patchwork.freedesktop.org/series/58938/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5862 -> Patchwork_12673


Summary
---

  **SUCCESS**

  No regressions found.

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

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@amdgpu/amd_cs_nop@fork-compute0:
- fi-icl-y:   NOTRUN -> SKIP [fdo#109315] +17

  * igt@amdgpu/amd_cs_nop@sync-fork-compute0:
- fi-icl-u3:  NOTRUN -> SKIP [fdo#109315] +17

  * igt@gem_exec_basic@basic-bsd2:
- fi-icl-y:   NOTRUN -> SKIP [fdo#109276] +7

  * igt@gem_exec_basic@gtt-bsd1:
- fi-icl-u3:  NOTRUN -> SKIP [fdo#109276] +7

  * igt@gem_exec_parse@basic-rejected:
- fi-icl-u3:  NOTRUN -> SKIP [fdo#109289] +1
- fi-icl-y:   NOTRUN -> SKIP [fdo#109289] +1

  * igt@i915_pm_rpm@module-reload:
- fi-skl-6770hq:  PASS -> FAIL [fdo#108511]

  * igt@i915_selftest@live_contexts:
- fi-icl-u3:  NOTRUN -> DMESG-FAIL [fdo#108569]
- fi-bdw-gvtdvm:  PASS -> DMESG-FAIL [fdo#110235 ]
- fi-icl-y:   NOTRUN -> DMESG-FAIL [fdo#108569]

  * igt@kms_chamelium@dp-crc-fast:
- fi-icl-y:   NOTRUN -> SKIP [fdo#109284] +8

  * igt@kms_chamelium@hdmi-edid-read:
- fi-icl-u3:  NOTRUN -> SKIP [fdo#109284] +8

  * igt@kms_force_connector_basic@force-load-detect:
- fi-icl-y:   NOTRUN -> SKIP [fdo#109285] +3

  * igt@kms_force_connector_basic@prune-stale-modes:
- fi-icl-u3:  NOTRUN -> SKIP [fdo#109285] +3

  * igt@kms_frontbuffer_tracking@basic:
- fi-icl-u3:  NOTRUN -> FAIL [fdo#103167]

  * igt@kms_pipe_crc_basic@read-crc-pipe-a:
- fi-byt-clapper: PASS -> FAIL [fdo#107362]

  * igt@kms_pipe_crc_basic@read-crc-pipe-b-frame-sequence:
- fi-byt-clapper: PASS -> FAIL [fdo#103191] / [fdo#107362]

  * igt@kms_psr@primary_mmap_gtt:
- fi-icl-y:   NOTRUN -> SKIP [fdo#110189] +3
- fi-blb-e6850:   NOTRUN -> SKIP [fdo#109271] +27

  * igt@prime_vgem@basic-fence-flip:
- fi-icl-y:   NOTRUN -> SKIP [fdo#109294]

  
 Possible fixes 

  * igt@debugfs_test@read_all_entries:
- fi-icl-y:   INCOMPLETE [fdo#110246] -> PASS

  * igt@gem_basic@bad-close:
- fi-icl-u3:  INCOMPLETE -> PASS

  * igt@kms_frontbuffer_tracking@basic:
- fi-byt-clapper: FAIL [fdo#103167] -> PASS

  * igt@kms_pipe_crc_basic@read-crc-pipe-a-frame-sequence:
- fi-byt-clapper: FAIL [fdo#103191] / [fdo#107362] -> PASS

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
- fi-blb-e6850:   INCOMPLETE [fdo#107718] -> PASS

  
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191
  [fdo#107362]: https://bugs.freedesktop.org/show_bug.cgi?id=107362
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#108511]: https://bugs.freedesktop.org/show_bug.cgi?id=108511
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
  [fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109294]: https://bugs.freedesktop.org/show_bug.cgi?id=109294
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
  [fdo#110235 ]: https://bugs.freedesktop.org/show_bug.cgi?id=110235 
  [fdo#110246]: https://bugs.freedesktop.org/show_bug.cgi?id=110246


Participating hosts (45 -> 39)
--

  Missing(6): fi-kbl-soraka fi-ilk-m540 fi-byt-j1900 fi-byt-squawks 
fi-bsw-cyan fi-bdw-samus 


Build changes
-

* Linux: CI_DRM_5862 -> Patchwork_12673

  CI_DRM_5862: c97de10a1caf7b856efe273c901fceea3fc78367 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4923: 6285eec4f3b8f21833d9d2d852883569d6551822 @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_12673: fc28b7a305b35b247fb27075d9afc2c0e1d9f329 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

fc28b7a305b3 drm/i915: add Makefile magic for testing headers are self-contained

== Logs ==

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

[Intel-gfx] ✗ Fi.CI.IGT: failure for series starting with [1/2] drm/edid: Add a EDID edp panel quirk for forcing max lane count

2019-04-03 Thread Patchwork
== Series Details ==

Series: series starting with [1/2] drm/edid: Add a EDID edp panel quirk for 
forcing max lane count
URL   : https://patchwork.freedesktop.org/series/58893/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_5857_full -> Patchwork_12661_full


Summary
---

  **FAILURE**

  Serious unknown changes coming with Patchwork_12661_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_12661_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_12661_full:

### IGT changes ###

 Possible regressions 

  * igt@gem_tiled_pread_pwrite:
- shard-iclb: PASS -> DMESG-WARN

  * igt@runner@aborted:
- shard-iclb: NOTRUN -> FAIL

  
Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_exec_suspend@basic-s4-devices:
- shard-iclb: PASS -> DMESG-WARN [fdo#109638]

  * igt@gem_mmap_gtt@hang:
- shard-iclb: PASS -> FAIL [fdo#109677]

  * igt@gem_pwrite@big-gtt-fbr:
- shard-iclb: PASS -> TIMEOUT [fdo#109673]

  * igt@i915_pm_rpm@legacy-planes-dpms:
- shard-iclb: PASS -> INCOMPLETE [fdo#108840] / [fdo#109369]

  * igt@i915_pm_rpm@system-suspend-modeset:
- shard-skl:  NOTRUN -> INCOMPLETE [fdo#104108] / [fdo#107807]

  * igt@i915_pm_rps@reset:
- shard-iclb: NOTRUN -> FAIL [fdo#108059]

  * igt@kms_busy@extended-modeset-hang-oldfb-render-f:
- shard-skl:  NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +13

  * igt@kms_busy@extended-pageflip-hang-newfb-render-d:
- shard-iclb: NOTRUN -> SKIP [fdo#109278]

  * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-a:
- shard-skl:  NOTRUN -> DMESG-WARN [fdo#110222]

  * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-c:
- shard-glk:  NOTRUN -> DMESG-WARN [fdo#110222]

  * igt@kms_cursor_crc@cursor-128x42-sliding:
- shard-glk:  NOTRUN -> FAIL [fdo#103232] +1

  * igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy:
- shard-glk:  PASS -> FAIL [fdo#104873]

  * igt@kms_cursor_legacy@2x-long-cursor-vs-flip-legacy:
- shard-iclb: NOTRUN -> SKIP [fdo#109274]

  * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
- shard-glk:  NOTRUN -> FAIL [fdo#105363]

  * igt@kms_flip@modeset-vs-vblank-race-interruptible:
- shard-apl:  PASS -> FAIL [fdo#103060]

  * igt@kms_flip_tiling@flip-y-tiled:
- shard-iclb: PASS -> FAIL [fdo#108303]

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt:
- shard-iclb: PASS -> FAIL [fdo#103167] +9

  * igt@kms_frontbuffer_tracking@fbc-1p-rte:
- shard-iclb: NOTRUN -> FAIL [fdo#103167] / [fdo#105682]

  * igt@kms_frontbuffer_tracking@fbc-rgb101010-draw-render:
- shard-apl:  PASS -> DMESG-WARN [fdo#103558] / [fdo#105602] +7

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-pwrite:
- shard-iclb: NOTRUN -> SKIP [fdo#109280]

  * igt@kms_frontbuffer_tracking@fbcpsr-tilingchange:
- shard-iclb: PASS -> FAIL [fdo#109247] +4

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-render:
- shard-skl:  PASS -> FAIL [fdo#103167]

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-draw-mmap-cpu:
- shard-glk:  NOTRUN -> SKIP [fdo#109271] +57

  * igt@kms_frontbuffer_tracking@psr-farfromfence:
- shard-kbl:  NOTRUN -> SKIP [fdo#109271] +4

  * igt@kms_panel_fitting@legacy:
- shard-skl:  NOTRUN -> FAIL [fdo#105456]

  * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-e:
- shard-glk:  NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +5

  * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes:
- shard-skl:  PASS -> INCOMPLETE [fdo#104108]

  * igt@kms_plane_alpha_blend@pipe-b-alpha-7efc:
- shard-skl:  NOTRUN -> FAIL [fdo#107815] / [fdo#108145] +1

  * igt@kms_plane_alpha_blend@pipe-b-alpha-transparant-fb:
- shard-skl:  NOTRUN -> FAIL [fdo#108145]

  * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc:
- shard-skl:  NOTRUN -> FAIL [fdo#107815]

  * igt@kms_plane_scaling@pipe-b-scaler-with-clipping-clamping:
- shard-glk:  PASS -> SKIP [fdo#109271] / [fdo#109278]

  * igt@kms_psr@cursor_plane_onoff:
- shard-iclb: PASS -> FAIL [fdo#107383] / [fdo#110215]

  * igt@kms_psr@psr2_cursor_render:
- shard-iclb: PASS -> SKIP [fdo#109441] +1

  * igt@kms_psr@psr2_primary_render:
- shard-apl:  NOTRUN -> SKIP [fdo#109271] +2

  * igt@kms_se

Re: [Intel-gfx] [PATCH] drm/i915: add Makefile magic for testing headers are self-contained

2019-04-03 Thread Jani Nikula
On Wed, 03 Apr 2019, Chris Wilson  wrote:
> From: Jani Nikula 
>
> The below commits added dummy files to test that certain headers are
> self-contained, i.e. compilable as standalone units:
>
> 39e2f501c1b4 ("drm/i915: Split struct intel_context definition to its own 
> header")
> 3a891a626794 ("drm/i915: Move intel_engine_mask_t around for use by 
> i915_request_types.h")
> 8b74594aa455 ("drm/i915: Split out i915_priolist_types into its own header")
>
> The idea is fine, but the implementation is a bit tedious and
> inflexible, and does not really scale well.
>
> Implement the same in make using autogenerated dummy sources to include
> the headers.
>
> Cc: Chris Wilson 
> Cc: Tvrtko Ursulin 
> Signed-off-by: Jani Nikula 
> ---
> Use patsubst liberally to reduce the chore of adding more headers.
> make clean doesn't quite work yet, although it seems to be the right
> style.

I don't know what gives, I'm unable to make it work. I've been trying
with O= builds.

> ---
>  drivers/gpu/drm/i915/.gitignore   |  1 +
>  drivers/gpu/drm/i915/Makefile | 16 -
>  drivers/gpu/drm/i915/Makefile.header-test | 24 +++
>  .../i915/test_i915_active_types_standalone.c  |  7 --
>  .../test_i915_gem_context_types_standalone.c  |  7 --
>  .../test_i915_priolist_types_standalone.c |  7 --
>  .../test_i915_scheduler_types_standalone.c|  7 --
>  .../test_i915_timeline_types_standalone.c |  7 --
>  .../test_intel_context_types_standalone.c |  7 --
>  .../i915/test_intel_engine_types_standalone.c |  7 --
>  .../test_intel_workarounds_types_standalone.c |  7 --
>  11 files changed, 30 insertions(+), 67 deletions(-)
>  create mode 100644 drivers/gpu/drm/i915/.gitignore
>  create mode 100644 drivers/gpu/drm/i915/Makefile.header-test
>  delete mode 100644 drivers/gpu/drm/i915/test_i915_active_types_standalone.c
>  delete mode 100644 
> drivers/gpu/drm/i915/test_i915_gem_context_types_standalone.c
>  delete mode 100644 drivers/gpu/drm/i915/test_i915_priolist_types_standalone.c
>  delete mode 100644 
> drivers/gpu/drm/i915/test_i915_scheduler_types_standalone.c
>  delete mode 100644 drivers/gpu/drm/i915/test_i915_timeline_types_standalone.c
>  delete mode 100644 drivers/gpu/drm/i915/test_intel_context_types_standalone.c
>  delete mode 100644 drivers/gpu/drm/i915/test_intel_engine_types_standalone.c
>  delete mode 100644 
> drivers/gpu/drm/i915/test_intel_workarounds_types_standalone.c
>
> diff --git a/drivers/gpu/drm/i915/.gitignore b/drivers/gpu/drm/i915/.gitignore
> new file mode 100644
> index ..cff45d81f42f
> --- /dev/null
> +++ b/drivers/gpu/drm/i915/.gitignore
> @@ -0,0 +1 @@
> +header_test_*.c
> diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
> index 30bf3301ea24..91eaccca4f4f 100644
> --- a/drivers/gpu/drm/i915/Makefile
> +++ b/drivers/gpu/drm/i915/Makefile
> @@ -32,6 +32,11 @@ CFLAGS_intel_fbdev.o = $(call cc-disable-warning, 
> override-init)
>  subdir-ccflags-y += \
>   $(call as-instr,movntdqa (%eax)$(comma)%xmm0,-DCONFIG_AS_MOVNTDQA)
>  
> +# Extra header tests
> +ifeq ($(CONFIG_DRM_I915_WERROR),y)
> +include $(src)/Makefile.header-test
> +endif
> +

Agreed on adding this first, though you'll need to omit -j to actually
make it happen first.

>  # Please keep these build lists sorted!
>  
>  # core driver code
> @@ -57,17 +62,6 @@ i915-$(CONFIG_COMPAT)   += i915_ioc32.o
>  i915-$(CONFIG_DEBUG_FS) += i915_debugfs.o intel_pipe_crc.o
>  i915-$(CONFIG_PERF_EVENTS) += i915_pmu.o
>  
> -# Test the headers are compilable as standalone units
> -i915-$(CONFIG_DRM_I915_WERROR) += \
> - test_i915_active_types_standalone.o \
> - test_i915_gem_context_types_standalone.o \
> - test_i915_priolist_types_standalone.o \
> - test_i915_scheduler_types_standalone.o \
> - test_i915_timeline_types_standalone.o \
> - test_intel_context_types_standalone.o \
> - test_intel_engine_types_standalone.o \
> - test_intel_workarounds_types_standalone.o
> -
>  # GEM code
>  i915-y += \
> i915_active.o \
> diff --git a/drivers/gpu/drm/i915/Makefile.header-test 
> b/drivers/gpu/drm/i915/Makefile.header-test
> new file mode 100644
> index ..5396bd6bae4c
> --- /dev/null
> +++ b/drivers/gpu/drm/i915/Makefile.header-test
> @@ -0,0 +1,24 @@
> +# SPDX-License-Identifier: MIT
> +# Copyright © 2019 Intel Corporation
> +
> +# Test the headers are compilable as standalone units
> +header_test := \
> + i915_active_types.h \
> + i915_gem_context_types.h \
> + i915_priolist_types.h \
> + i915_scheduler_types.h \
> + i915_timeline_types.h \
> + intel_context_types.h \
> + intel_engine_types.h \
> + intel_workarounds_types.h
> +
> +quiet_cmd_header_test = HDRTEST  $@
> +  cmd_header_test = echo "\#include \"$( $@
> +
> +header_test_%.c: %.h
> + $(call cmd,header_test)
> +
> +# To test .h add header_test_.o here

The comment just beca

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: add Makefile magic for testing headers are self-contained (rev2)

2019-04-03 Thread Patchwork
== Series Details ==

Series: drm/i915: add Makefile magic for testing headers are self-contained 
(rev2)
URL   : https://patchwork.freedesktop.org/series/58938/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
fc28b7a305b3 drm/i915: add Makefile magic for testing headers are self-contained
-:10: WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description 
(prefer a maximum 75 chars per line)
#10: 
39e2f501c1b4 ("drm/i915: Split struct intel_context definition to its own 
header")

-:10: ERROR:GIT_COMMIT_ID: Please use git commit description style 'commit <12+ 
chars of sha1> ("")' - ie: 'commit 39e2f501c1b4 ("drm/i915: Split 
struct intel_context definition to its own header")'
#10: 
39e2f501c1b4 ("drm/i915: Split struct intel_context definition to its own 
header")

-:11: ERROR:GIT_COMMIT_ID: Please use git commit description style 'commit <12+ 
chars of sha1> ("")' - ie: 'commit 3a891a626794 ("drm/i915: Move 
intel_engine_mask_t around for use by i915_request_types.h")'
#11: 
3a891a626794 ("drm/i915: Move intel_engine_mask_t around for use by 
i915_request_types.h")

-:12: ERROR:GIT_COMMIT_ID: Please use git commit description style 'commit <12+ 
chars of sha1> ("")' - ie: 'commit 8b74594aa455 ("drm/i915: Split 
out i915_priolist_types into its own header")'
#12: 
8b74594aa455 ("drm/i915: Split out i915_priolist_types into its own header")

-:25: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does 
MAINTAINERS need updating?
#25: 
new file mode 100644

total: 3 errors, 2 warnings, 0 checks, 53 lines checked

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

[Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm/i915: add Makefile magic for testing headers are self-contained (rev2)

2019-04-03 Thread Patchwork
== Series Details ==

Series: drm/i915: add Makefile magic for testing headers are self-contained 
(rev2)
URL   : https://patchwork.freedesktop.org/series/58938/
State : warning

== Summary ==

$ dim sparse origin/drm-tip
Sparse version: v0.5.2
Commit: drm/i915: add Makefile magic for testing headers are self-contained
-./include/uapi/linux/perf_event.h:147:56: warning: cast truncates bits from 
constant value (8000 becomes 0)
-./include/uapi/linux/perf_event.h:147:56: warning: cast truncates bits from 
constant value (8000 becomes 0)
-./include/uapi/linux/perf_event.h:147:56: warning: cast truncates bits from 
constant value (8000 becomes 0)
+

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

Re: [Intel-gfx] [PATCH v3] drm/i915/icl: Set GCP_COLOR_INDICATION only for 10/12 bit deep color

2019-04-03 Thread Ville Syrjälä
On Tue, Apr 02, 2019 at 10:17:25PM -0700, Aditya Swarup wrote:
> From: Clinton Taylor 
> 
> v2: Fix commit msg to reflect why issue occurs(Jani)
> Set GCP_COLOR_INDICATION only when we set 10/12 bit deep color.
> 
> Changing settings from 10/12 bit deep color to 8 bit(& vice versa)
> doesn't work correctly using xrandr max bpc property. When we
> connect a monitor which supports deep color, the highest deep color
> setting is selected; which sets GCP_COLOR_INDICATION. When we change
> the setting to 8 bit color, we still set GCP_COLOR_INDICATION which
> doesn't allow the switch back to 8 bit color.
> 
> v3: Add comments & explain changes in intel_hdmi_compute_config(Ville)
> Since HSW+, GCP_COLOR_INDICATION is not required for 8bpc.
> 
> Also, remove unnecessary calls to hdmi_deep_color_possible() from
> intel_hdmi_compute_config()

Nope. Please drop those hunsk.

> 
> Ideally, hdmi_deep_color_possible() should be called only
> once to determine whether it is possible to set 10 or 12 bit
> deep color mode and adjust the desired bpp based on pipe_bpp
> instead of hard coding the values.
> 
> Signed-off-by: Clinton Taylor 
> Signed-off-by: Aditya Swarup 
> Cc: Ville Syrjälä 
> Cc: Jani Nikula 
> Cc: Manasi Navare 
> ---
>  drivers/gpu/drm/i915/intel_hdmi.c | 36 ---
>  1 file changed, 19 insertions(+), 17 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_hdmi.c 
> b/drivers/gpu/drm/i915/intel_hdmi.c
> index 5ccb305a6e1c..a93736fb1950 100644
> --- a/drivers/gpu/drm/i915/intel_hdmi.c
> +++ b/drivers/gpu/drm/i915/intel_hdmi.c
> @@ -962,8 +962,13 @@ static void intel_hdmi_compute_gcp_infoframe(struct 
> intel_encoder *encoder,
>   crtc_state->infoframes.enable |=
>   intel_hdmi_infoframe_enable(HDMI_PACKET_TYPE_GENERAL_CONTROL);
>  
> - /* Indicate color depth whenever the sink supports deep color */
> - if (hdmi_sink_is_deep_color(conn_state))
> + /* Indicate color depth whenever the sink supports deep color.
> +  * Also, 8bpc + color depth indication is no longer supported
> +  * for HSW+ platforms.
> +  * */
> +
> + if (hdmi_sink_is_deep_color(conn_state) &&
> + crtc_state->pipe_bpp > 24)
>   crtc_state->infoframes.gcp |= GCP_COLOR_INDICATION;
>  
>   /* Enable default_phase whenever the display mode is suitably aligned */
> @@ -2260,6 +2265,7 @@ int intel_hdmi_compute_config(struct intel_encoder 
> *encoder,
>   int clock_8bpc = pipe_config->base.adjusted_mode.crtc_clock;
>   int clock_10bpc = clock_8bpc * 5 / 4;
>   int clock_12bpc = clock_8bpc * 3 / 2;
> + int dc_clock = clock_12bpc;
>   int desired_bpp;
>   bool force_dvi = intel_conn_state->force_audio == HDMI_AUDIO_OFF_DVI;
>  
> @@ -2314,22 +2320,18 @@ int intel_hdmi_compute_config(struct intel_encoder 
> *encoder,
>* Note that g4x/vlv don't support 12bpc hdmi outputs. We also need
>* to check that the higher clock still fits within limits.
>*/
> - if (hdmi_deep_color_possible(pipe_config, 12) &&
> - hdmi_port_clock_valid(intel_hdmi, clock_12bpc,
> + if (pipe_config->pipe_bpp == 30)
> + dc_clock = clock_10bpc;
> +
> + if (hdmi_deep_color_possible(pipe_config, pipe_config->pipe_bpp / 3) &&
> + hdmi_port_clock_valid(intel_hdmi, dc_clock,
> true, force_dvi) == MODE_OK) {
> - DRM_DEBUG_KMS("picking bpc to 12 for HDMI output\n");
> - desired_bpp = 12*3;
> -
> - /* Need to adjust the port link by 1.5x for 12bpc. */
> - pipe_config->port_clock = clock_12bpc;
> - } else if (hdmi_deep_color_possible(pipe_config, 10) &&
> -hdmi_port_clock_valid(intel_hdmi, clock_10bpc,
> -  true, force_dvi) == MODE_OK) {
> - DRM_DEBUG_KMS("picking bpc to 10 for HDMI output\n");
> - desired_bpp = 10 * 3;
> -
> - /* Need to adjust the port link by 1.25x for 10bpc. */
> - pipe_config->port_clock = clock_10bpc;
> + DRM_DEBUG_KMS("picking bpc to %d for HDMI output\n",
> +pipe_config->pipe_bpp / 3);
> + desired_bpp = pipe_config->pipe_bpp;
> +
> + /* Need to adjust the port link dc modes. */
> + pipe_config->port_clock = dc_clock;
>   } else {
>   DRM_DEBUG_KMS("picking bpc to 8 for HDMI output\n");
>   desired_bpp = 8*3;
> -- 
> 2.17.1

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

Re: [Intel-gfx] [PATCH] drm/i915: add Makefile magic for testing headers are self-contained

2019-04-03 Thread Chris Wilson
Quoting Jani Nikula (2019-04-03 11:06:36)
> The below commits added dummy files to test that certain headers are
> self-contained, i.e. compilable as standalone units:
> 
> 39e2f501c1b4 ("drm/i915: Split struct intel_context definition to its own 
> header")
> 3a891a626794 ("drm/i915: Move intel_engine_mask_t around for use by 
> i915_request_types.h")
> 8b74594aa455 ("drm/i915: Split out i915_priolist_types into its own header")
> 
> The idea is fine, but the implementation is a bit tedious and
> inflexible, and does not really scale well.
> 
> Implement the same in make using autogenerated dummy sources to include
> the headers.

The next question is to how to handle subdirs?
-Chris
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

[Intel-gfx] [PATCH] drm/i915: add Makefile magic for testing headers are self-contained

2019-04-03 Thread Chris Wilson
From: Jani Nikula 

The below commits added dummy files to test that certain headers are
self-contained, i.e. compilable as standalone units:

39e2f501c1b4 ("drm/i915: Split struct intel_context definition to its own 
header")
3a891a626794 ("drm/i915: Move intel_engine_mask_t around for use by 
i915_request_types.h")
8b74594aa455 ("drm/i915: Split out i915_priolist_types into its own header")

The idea is fine, but the implementation is a bit tedious and
inflexible, and does not really scale well.

Implement the same in make using autogenerated dummy sources to include
the headers.

Cc: Chris Wilson 
Cc: Tvrtko Ursulin 
Signed-off-by: Jani Nikula 
---
Use patsubst liberally to reduce the chore of adding more headers.
make clean doesn't quite work yet, although it seems to be the right
style.
---
 drivers/gpu/drm/i915/.gitignore   |  1 +
 drivers/gpu/drm/i915/Makefile | 16 -
 drivers/gpu/drm/i915/Makefile.header-test | 24 +++
 .../i915/test_i915_active_types_standalone.c  |  7 --
 .../test_i915_gem_context_types_standalone.c  |  7 --
 .../test_i915_priolist_types_standalone.c |  7 --
 .../test_i915_scheduler_types_standalone.c|  7 --
 .../test_i915_timeline_types_standalone.c |  7 --
 .../test_intel_context_types_standalone.c |  7 --
 .../i915/test_intel_engine_types_standalone.c |  7 --
 .../test_intel_workarounds_types_standalone.c |  7 --
 11 files changed, 30 insertions(+), 67 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/.gitignore
 create mode 100644 drivers/gpu/drm/i915/Makefile.header-test
 delete mode 100644 drivers/gpu/drm/i915/test_i915_active_types_standalone.c
 delete mode 100644 
drivers/gpu/drm/i915/test_i915_gem_context_types_standalone.c
 delete mode 100644 drivers/gpu/drm/i915/test_i915_priolist_types_standalone.c
 delete mode 100644 drivers/gpu/drm/i915/test_i915_scheduler_types_standalone.c
 delete mode 100644 drivers/gpu/drm/i915/test_i915_timeline_types_standalone.c
 delete mode 100644 drivers/gpu/drm/i915/test_intel_context_types_standalone.c
 delete mode 100644 drivers/gpu/drm/i915/test_intel_engine_types_standalone.c
 delete mode 100644 
drivers/gpu/drm/i915/test_intel_workarounds_types_standalone.c

diff --git a/drivers/gpu/drm/i915/.gitignore b/drivers/gpu/drm/i915/.gitignore
new file mode 100644
index ..cff45d81f42f
--- /dev/null
+++ b/drivers/gpu/drm/i915/.gitignore
@@ -0,0 +1 @@
+header_test_*.c
diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
index 30bf3301ea24..91eaccca4f4f 100644
--- a/drivers/gpu/drm/i915/Makefile
+++ b/drivers/gpu/drm/i915/Makefile
@@ -32,6 +32,11 @@ CFLAGS_intel_fbdev.o = $(call cc-disable-warning, 
override-init)
 subdir-ccflags-y += \
$(call as-instr,movntdqa (%eax)$(comma)%xmm0,-DCONFIG_AS_MOVNTDQA)
 
+# Extra header tests
+ifeq ($(CONFIG_DRM_I915_WERROR),y)
+include $(src)/Makefile.header-test
+endif
+
 # Please keep these build lists sorted!
 
 # core driver code
@@ -57,17 +62,6 @@ i915-$(CONFIG_COMPAT)   += i915_ioc32.o
 i915-$(CONFIG_DEBUG_FS) += i915_debugfs.o intel_pipe_crc.o
 i915-$(CONFIG_PERF_EVENTS) += i915_pmu.o
 
-# Test the headers are compilable as standalone units
-i915-$(CONFIG_DRM_I915_WERROR) += \
-   test_i915_active_types_standalone.o \
-   test_i915_gem_context_types_standalone.o \
-   test_i915_priolist_types_standalone.o \
-   test_i915_scheduler_types_standalone.o \
-   test_i915_timeline_types_standalone.o \
-   test_intel_context_types_standalone.o \
-   test_intel_engine_types_standalone.o \
-   test_intel_workarounds_types_standalone.o
-
 # GEM code
 i915-y += \
  i915_active.o \
diff --git a/drivers/gpu/drm/i915/Makefile.header-test 
b/drivers/gpu/drm/i915/Makefile.header-test
new file mode 100644
index ..5396bd6bae4c
--- /dev/null
+++ b/drivers/gpu/drm/i915/Makefile.header-test
@@ -0,0 +1,24 @@
+# SPDX-License-Identifier: MIT
+# Copyright © 2019 Intel Corporation
+
+# Test the headers are compilable as standalone units
+header_test := \
+   i915_active_types.h \
+   i915_gem_context_types.h \
+   i915_priolist_types.h \
+   i915_scheduler_types.h \
+   i915_timeline_types.h \
+   intel_context_types.h \
+   intel_engine_types.h \
+   intel_workarounds_types.h
+
+quiet_cmd_header_test = HDRTEST$@
+  cmd_header_test = echo "\#include \"$( $@
+
+header_test_%.c: %.h
+   $(call cmd,header_test)
+
+# To test .h add header_test_.o here
+extra-y += $(foreach h,$(header_test),$(patsubst %.h,header_test_%.o,$(h)))
+
+clean-files += $(foreach h,$(header_test),$(patsubst %.h,header_test_%.c,$(h)))
diff --git a/drivers/gpu/drm/i915/test_i915_active_types_standalone.c 
b/drivers/gpu/drm/i915/test_i915_active_types_standalone.c
deleted file mode 100644
index 144ebd153e57..
--- a/drivers/gpu/drm/i915/test_i915_active_types_standalone.c
+++ /dev/null
@@ -1,7 +0,0 @@
-/*

Re: [Intel-gfx] [PATCH] drm/i915: add Makefile magic for testing headers are self-contained

2019-04-03 Thread Chris Wilson
Quoting Jani Nikula (2019-04-03 11:06:36)
> The below commits added dummy files to test that certain headers are
> self-contained, i.e. compilable as standalone units:
> 
> 39e2f501c1b4 ("drm/i915: Split struct intel_context definition to its own 
> header")
> 3a891a626794 ("drm/i915: Move intel_engine_mask_t around for use by 
> i915_request_types.h")
> 8b74594aa455 ("drm/i915: Split out i915_priolist_types into its own header")
> 
> The idea is fine, but the implementation is a bit tedious and
> inflexible, and does not really scale well.
> 
> Implement the same in make using autogenerated dummy sources to include
> the headers.

Also wants
i915/.gitignore: header_test_*.c
-Chris
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH] drm/i915: add Makefile magic for testing headers are self-contained

2019-04-03 Thread Chris Wilson
Quoting Chris Wilson (2019-04-03 11:10:31)
> Quoting Jani Nikula (2019-04-03 11:06:36)
> > The below commits added dummy files to test that certain headers are
> > self-contained, i.e. compilable as standalone units:
> > 
> > 39e2f501c1b4 ("drm/i915: Split struct intel_context definition to its own 
> > header")
> > 3a891a626794 ("drm/i915: Move intel_engine_mask_t around for use by 
> > i915_request_types.h")
> > 8b74594aa455 ("drm/i915: Split out i915_priolist_types into its own header")
> > 
> > The idea is fine, but the implementation is a bit tedious and
> > inflexible, and does not really scale well.
> > 
> > Implement the same in make using autogenerated dummy sources to include
> > the headers.
> 
> I knew it would work :-p
> 
> > Cc: Chris Wilson 
> > Cc: Tvrtko Ursulin 
> > Signed-off-by: Jani Nikula 
> > ---
> >  drivers/gpu/drm/i915/Makefile | 16 +-
> >  drivers/gpu/drm/i915/Makefile.header-test | 21 +++
> >  .../i915/test_i915_active_types_standalone.c  |  7 ---
> >  .../test_i915_gem_context_types_standalone.c  |  7 ---
> >  .../test_i915_priolist_types_standalone.c |  7 ---
> >  .../test_i915_scheduler_types_standalone.c|  7 ---
> >  .../test_i915_timeline_types_standalone.c |  7 ---
> >  .../test_intel_context_types_standalone.c |  7 ---
> >  .../i915/test_intel_engine_types_standalone.c |  7 ---
> >  .../test_intel_workarounds_types_standalone.c |  7 ---
> >  10 files changed, 26 insertions(+), 67 deletions(-)
> >  create mode 100644 drivers/gpu/drm/i915/Makefile.header-test
> >  delete mode 100644 drivers/gpu/drm/i915/test_i915_active_types_standalone.c
> >  delete mode 100644 
> > drivers/gpu/drm/i915/test_i915_gem_context_types_standalone.c
> >  delete mode 100644 
> > drivers/gpu/drm/i915/test_i915_priolist_types_standalone.c
> >  delete mode 100644 
> > drivers/gpu/drm/i915/test_i915_scheduler_types_standalone.c
> >  delete mode 100644 
> > drivers/gpu/drm/i915/test_i915_timeline_types_standalone.c
> >  delete mode 100644 
> > drivers/gpu/drm/i915/test_intel_context_types_standalone.c
> >  delete mode 100644 
> > drivers/gpu/drm/i915/test_intel_engine_types_standalone.c
> >  delete mode 100644 
> > drivers/gpu/drm/i915/test_intel_workarounds_types_standalone.c
> > 
> > diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
> > index 30bf33..dba77b 100644
> > --- a/drivers/gpu/drm/i915/Makefile
> > +++ b/drivers/gpu/drm/i915/Makefile
> > @@ -57,17 +57,6 @@ i915-$(CONFIG_COMPAT)   += i915_ioc32.o
> >  i915-$(CONFIG_DEBUG_FS) += i915_debugfs.o intel_pipe_crc.o
> >  i915-$(CONFIG_PERF_EVENTS) += i915_pmu.o
> >  
> > -# Test the headers are compilable as standalone units
> > -i915-$(CONFIG_DRM_I915_WERROR) += \
> > -   test_i915_active_types_standalone.o \
> > -   test_i915_gem_context_types_standalone.o \
> > -   test_i915_priolist_types_standalone.o \
> > -   test_i915_scheduler_types_standalone.o \
> > -   test_i915_timeline_types_standalone.o \
> > -   test_intel_context_types_standalone.o \
> > -   test_intel_engine_types_standalone.o \
> > -   test_intel_workarounds_types_standalone.o
> > -
> >  # GEM code
> >  i915-y += \
> >   i915_active.o \
> > @@ -218,3 +207,8 @@ i915-y += intel_lpe_audio.o
> >  
> >  obj-$(CONFIG_DRM_I915) += i915.o
> >  obj-$(CONFIG_DRM_I915_GVT_KVMGT) += gvt/kvmgt.o
> > +
> > +# Extra header tests
> > +ifeq ($(CONFIG_DRM_I915_WERROR),y)
> > +include $(src)/Makefile.header-test
> > +endif
> 
> Can we get the headers tested first?
> 
> Fixing the standalone tests is a lot easier than traversing the
> dependency chain of includes in a regular compile file.
> 
> > diff --git a/drivers/gpu/drm/i915/Makefile.header-test 
> > b/drivers/gpu/drm/i915/Makefile.header-test
> > new file mode 100644
> > index 00..0cae6e3
> > --- /dev/null
> > +++ b/drivers/gpu/drm/i915/Makefile.header-test
> > @@ -0,0 +1,21 @@
> > +# SPDX-License-Identifier: MIT
> > +# Copyright © 2019 Intel Corporation
> > +
> > +# Test the headers are compilable as standalone units
> > +
> > +quiet_cmd_header_test = HDRTEST$@
> > +  cmd_header_test = echo "\#include \"$( $@
> > +
> > +header_test_%.c: %.h
> > +   $(call cmd,header_test)
> > +
> > +# To test .h add header_test_.o here
> > +extra-y += \
> > +   header_test_i915_active_types.o \
> > +   header_test_i915_gem_context_types.o \
> > +   header_test_i915_priolist_types.o \
> > +   header_test_i915_scheduler_types.o \
> > +   header_test_i915_timeline_types.o \
> > +   header_test_intel_context_types.o \
> > +   header_test_intel_engine_types.o \
> > +   header_test_intel_workarounds_types.o
> 
> Should there be a way to add the autogenerated files to make clean?

clean-files += header_test_*.c

No idea if that works.
-Chris
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.f

Re: [Intel-gfx] [PATCH] drm/i915: add Makefile magic for testing headers are self-contained

2019-04-03 Thread Chris Wilson
Quoting Jani Nikula (2019-04-03 11:06:36)
> The below commits added dummy files to test that certain headers are
> self-contained, i.e. compilable as standalone units:
> 
> 39e2f501c1b4 ("drm/i915: Split struct intel_context definition to its own 
> header")
> 3a891a626794 ("drm/i915: Move intel_engine_mask_t around for use by 
> i915_request_types.h")
> 8b74594aa455 ("drm/i915: Split out i915_priolist_types into its own header")
> 
> The idea is fine, but the implementation is a bit tedious and
> inflexible, and does not really scale well.
> 
> Implement the same in make using autogenerated dummy sources to include
> the headers.

I knew it would work :-p

> Cc: Chris Wilson 
> Cc: Tvrtko Ursulin 
> Signed-off-by: Jani Nikula 
> ---
>  drivers/gpu/drm/i915/Makefile | 16 +-
>  drivers/gpu/drm/i915/Makefile.header-test | 21 +++
>  .../i915/test_i915_active_types_standalone.c  |  7 ---
>  .../test_i915_gem_context_types_standalone.c  |  7 ---
>  .../test_i915_priolist_types_standalone.c |  7 ---
>  .../test_i915_scheduler_types_standalone.c|  7 ---
>  .../test_i915_timeline_types_standalone.c |  7 ---
>  .../test_intel_context_types_standalone.c |  7 ---
>  .../i915/test_intel_engine_types_standalone.c |  7 ---
>  .../test_intel_workarounds_types_standalone.c |  7 ---
>  10 files changed, 26 insertions(+), 67 deletions(-)
>  create mode 100644 drivers/gpu/drm/i915/Makefile.header-test
>  delete mode 100644 drivers/gpu/drm/i915/test_i915_active_types_standalone.c
>  delete mode 100644 
> drivers/gpu/drm/i915/test_i915_gem_context_types_standalone.c
>  delete mode 100644 drivers/gpu/drm/i915/test_i915_priolist_types_standalone.c
>  delete mode 100644 
> drivers/gpu/drm/i915/test_i915_scheduler_types_standalone.c
>  delete mode 100644 drivers/gpu/drm/i915/test_i915_timeline_types_standalone.c
>  delete mode 100644 drivers/gpu/drm/i915/test_intel_context_types_standalone.c
>  delete mode 100644 drivers/gpu/drm/i915/test_intel_engine_types_standalone.c
>  delete mode 100644 
> drivers/gpu/drm/i915/test_intel_workarounds_types_standalone.c
> 
> diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
> index 30bf33..dba77b 100644
> --- a/drivers/gpu/drm/i915/Makefile
> +++ b/drivers/gpu/drm/i915/Makefile
> @@ -57,17 +57,6 @@ i915-$(CONFIG_COMPAT)   += i915_ioc32.o
>  i915-$(CONFIG_DEBUG_FS) += i915_debugfs.o intel_pipe_crc.o
>  i915-$(CONFIG_PERF_EVENTS) += i915_pmu.o
>  
> -# Test the headers are compilable as standalone units
> -i915-$(CONFIG_DRM_I915_WERROR) += \
> -   test_i915_active_types_standalone.o \
> -   test_i915_gem_context_types_standalone.o \
> -   test_i915_priolist_types_standalone.o \
> -   test_i915_scheduler_types_standalone.o \
> -   test_i915_timeline_types_standalone.o \
> -   test_intel_context_types_standalone.o \
> -   test_intel_engine_types_standalone.o \
> -   test_intel_workarounds_types_standalone.o
> -
>  # GEM code
>  i915-y += \
>   i915_active.o \
> @@ -218,3 +207,8 @@ i915-y += intel_lpe_audio.o
>  
>  obj-$(CONFIG_DRM_I915) += i915.o
>  obj-$(CONFIG_DRM_I915_GVT_KVMGT) += gvt/kvmgt.o
> +
> +# Extra header tests
> +ifeq ($(CONFIG_DRM_I915_WERROR),y)
> +include $(src)/Makefile.header-test
> +endif

Can we get the headers tested first?

Fixing the standalone tests is a lot easier than traversing the
dependency chain of includes in a regular compile file.

> diff --git a/drivers/gpu/drm/i915/Makefile.header-test 
> b/drivers/gpu/drm/i915/Makefile.header-test
> new file mode 100644
> index 00..0cae6e3
> --- /dev/null
> +++ b/drivers/gpu/drm/i915/Makefile.header-test
> @@ -0,0 +1,21 @@
> +# SPDX-License-Identifier: MIT
> +# Copyright © 2019 Intel Corporation
> +
> +# Test the headers are compilable as standalone units
> +
> +quiet_cmd_header_test = HDRTEST$@
> +  cmd_header_test = echo "\#include \"$( $@
> +
> +header_test_%.c: %.h
> +   $(call cmd,header_test)
> +
> +# To test .h add header_test_.o here
> +extra-y += \
> +   header_test_i915_active_types.o \
> +   header_test_i915_gem_context_types.o \
> +   header_test_i915_priolist_types.o \
> +   header_test_i915_scheduler_types.o \
> +   header_test_i915_timeline_types.o \
> +   header_test_intel_context_types.o \
> +   header_test_intel_engine_types.o \
> +   header_test_intel_workarounds_types.o

Should there be a way to add the autogenerated files to make clean?
-Chris
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

[Intel-gfx] [PATCH] drm/i915: add Makefile magic for testing headers are self-contained

2019-04-03 Thread Jani Nikula
The below commits added dummy files to test that certain headers are
self-contained, i.e. compilable as standalone units:

39e2f501c1b4 ("drm/i915: Split struct intel_context definition to its own 
header")
3a891a626794 ("drm/i915: Move intel_engine_mask_t around for use by 
i915_request_types.h")
8b74594aa455 ("drm/i915: Split out i915_priolist_types into its own header")

The idea is fine, but the implementation is a bit tedious and
inflexible, and does not really scale well.

Implement the same in make using autogenerated dummy sources to include
the headers.

Cc: Chris Wilson 
Cc: Tvrtko Ursulin 
Signed-off-by: Jani Nikula 
---
 drivers/gpu/drm/i915/Makefile | 16 +-
 drivers/gpu/drm/i915/Makefile.header-test | 21 +++
 .../i915/test_i915_active_types_standalone.c  |  7 ---
 .../test_i915_gem_context_types_standalone.c  |  7 ---
 .../test_i915_priolist_types_standalone.c |  7 ---
 .../test_i915_scheduler_types_standalone.c|  7 ---
 .../test_i915_timeline_types_standalone.c |  7 ---
 .../test_intel_context_types_standalone.c |  7 ---
 .../i915/test_intel_engine_types_standalone.c |  7 ---
 .../test_intel_workarounds_types_standalone.c |  7 ---
 10 files changed, 26 insertions(+), 67 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/Makefile.header-test
 delete mode 100644 drivers/gpu/drm/i915/test_i915_active_types_standalone.c
 delete mode 100644 
drivers/gpu/drm/i915/test_i915_gem_context_types_standalone.c
 delete mode 100644 drivers/gpu/drm/i915/test_i915_priolist_types_standalone.c
 delete mode 100644 drivers/gpu/drm/i915/test_i915_scheduler_types_standalone.c
 delete mode 100644 drivers/gpu/drm/i915/test_i915_timeline_types_standalone.c
 delete mode 100644 drivers/gpu/drm/i915/test_intel_context_types_standalone.c
 delete mode 100644 drivers/gpu/drm/i915/test_intel_engine_types_standalone.c
 delete mode 100644 
drivers/gpu/drm/i915/test_intel_workarounds_types_standalone.c

diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
index 30bf33..dba77b 100644
--- a/drivers/gpu/drm/i915/Makefile
+++ b/drivers/gpu/drm/i915/Makefile
@@ -57,17 +57,6 @@ i915-$(CONFIG_COMPAT)   += i915_ioc32.o
 i915-$(CONFIG_DEBUG_FS) += i915_debugfs.o intel_pipe_crc.o
 i915-$(CONFIG_PERF_EVENTS) += i915_pmu.o
 
-# Test the headers are compilable as standalone units
-i915-$(CONFIG_DRM_I915_WERROR) += \
-   test_i915_active_types_standalone.o \
-   test_i915_gem_context_types_standalone.o \
-   test_i915_priolist_types_standalone.o \
-   test_i915_scheduler_types_standalone.o \
-   test_i915_timeline_types_standalone.o \
-   test_intel_context_types_standalone.o \
-   test_intel_engine_types_standalone.o \
-   test_intel_workarounds_types_standalone.o
-
 # GEM code
 i915-y += \
  i915_active.o \
@@ -218,3 +207,8 @@ i915-y += intel_lpe_audio.o
 
 obj-$(CONFIG_DRM_I915) += i915.o
 obj-$(CONFIG_DRM_I915_GVT_KVMGT) += gvt/kvmgt.o
+
+# Extra header tests
+ifeq ($(CONFIG_DRM_I915_WERROR),y)
+include $(src)/Makefile.header-test
+endif
diff --git a/drivers/gpu/drm/i915/Makefile.header-test 
b/drivers/gpu/drm/i915/Makefile.header-test
new file mode 100644
index 00..0cae6e3
--- /dev/null
+++ b/drivers/gpu/drm/i915/Makefile.header-test
@@ -0,0 +1,21 @@
+# SPDX-License-Identifier: MIT
+# Copyright © 2019 Intel Corporation
+
+# Test the headers are compilable as standalone units
+
+quiet_cmd_header_test = HDRTEST$@
+  cmd_header_test = echo "\#include \"$( $@
+
+header_test_%.c: %.h
+   $(call cmd,header_test)
+
+# To test .h add header_test_.o here
+extra-y += \
+   header_test_i915_active_types.o \
+   header_test_i915_gem_context_types.o \
+   header_test_i915_priolist_types.o \
+   header_test_i915_scheduler_types.o \
+   header_test_i915_timeline_types.o \
+   header_test_intel_context_types.o \
+   header_test_intel_engine_types.o \
+   header_test_intel_workarounds_types.o
diff --git a/drivers/gpu/drm/i915/test_i915_active_types_standalone.c 
b/drivers/gpu/drm/i915/test_i915_active_types_standalone.c
deleted file mode 100644
index 144ebd..00
--- a/drivers/gpu/drm/i915/test_i915_active_types_standalone.c
+++ /dev/null
@@ -1,7 +0,0 @@
-/*
- * SPDX-License-Identifier: MIT
- *
- * Copyright © 2019 Intel Corporation
- */
-
-#include "i915_active_types.h"
diff --git a/drivers/gpu/drm/i915/test_i915_gem_context_types_standalone.c 
b/drivers/gpu/drm/i915/test_i915_gem_context_types_standalone.c
deleted file mode 100644
index 4e4da486..00
--- a/drivers/gpu/drm/i915/test_i915_gem_context_types_standalone.c
+++ /dev/null
@@ -1,7 +0,0 @@
-/*
- * SPDX-License-Identifier: MIT
- *
- * Copyright © 2019 Intel Corporation
- */
-
-#include "i915_gem_context_types.h"
diff --git a/drivers/gpu/drm/i915/test_i915_priolist_types_standalone.c 
b/drivers/gpu/drm/i915/test_i915_priolist_types_standalone.c
deleted file mode 100644
index f465eb.

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Use lockdep_pin_lock() over the construction of the request

2019-04-03 Thread Patchwork
== Series Details ==

Series: drm/i915: Use lockdep_pin_lock() over the construction of the request
URL   : https://patchwork.freedesktop.org/series/58932/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5860 -> Patchwork_12672


Summary
---

  **SUCCESS**

  No regressions found.

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

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@amdgpu/amd_cs_nop@fork-compute0:
- fi-icl-y:   NOTRUN -> SKIP [fdo#109315] +17

  * igt@gem_workarounds@basic-read:
- fi-snb-2600:NOTRUN -> SKIP [fdo#109271] +57

  * igt@i915_selftest@live_contexts:
- fi-icl-y:   NOTRUN -> DMESG-FAIL [fdo#108569]

  * igt@kms_busy@basic-flip-c:
- fi-blb-e6850:   NOTRUN -> SKIP [fdo#109271] / [fdo#109278]
- fi-snb-2600:NOTRUN -> SKIP [fdo#109271] / [fdo#109278]

  * igt@kms_chamelium@vga-edid-read:
- fi-hsw-4770r:   NOTRUN -> SKIP [fdo#109271] +45

  * igt@kms_frontbuffer_tracking@basic:
- fi-icl-u3:  PASS -> FAIL [fdo#103167]

  * igt@kms_pipe_crc_basic@hang-read-crc-pipe-c:
- fi-blb-e6850:   NOTRUN -> SKIP [fdo#109271] +48

  
 Possible fixes 

  * igt@gem_exec_suspend@basic-s4-devices:
- fi-blb-e6850:   INCOMPLETE [fdo#107718] -> PASS

  * igt@i915_module_load@reload:
- fi-icl-y:   INCOMPLETE [fdo#107713] -> PASS

  * igt@i915_selftest@live_execlists:
- fi-apl-guc: INCOMPLETE [fdo#103927] / [fdo#109720] -> PASS

  * igt@i915_selftest@live_hangcheck:
- fi-icl-u3:  INCOMPLETE [fdo#108569] -> PASS

  
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [fdo#109720]: https://bugs.freedesktop.org/show_bug.cgi?id=109720


Participating hosts (46 -> 41)
--

  Additional (2): fi-hsw-4770r fi-snb-2600 
  Missing(7): fi-kbl-soraka fi-ilk-m540 fi-byt-squawks fi-icl-u2 
fi-ctg-p8600 fi-bdw-samus fi-skl-6600u 


Build changes
-

* Linux: CI_DRM_5860 -> Patchwork_12672

  CI_DRM_5860: 837ba3cd997b59e53903ba29f4fe65c81f86f1e9 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4923: 6285eec4f3b8f21833d9d2d852883569d6551822 @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_12672: 5d983be6f468826e12805c63cf1e6c76b09204bc @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

5d983be6f468 drm/i915: Use lockdep_pin_lock() over the construction of the 
request

== Logs ==

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

Re: [Intel-gfx] [PATCH v2] drm/i915: use unsigned long for platform_mask

2019-04-03 Thread Tvrtko Ursulin


On 03/04/2019 09:15, Lucas De Marchi wrote:

On Tue, Apr 2, 2019 at 11:58 PM Tvrtko Ursulin
 wrote:



On 03/04/2019 02:46, Lucas De Marchi wrote:

No reason to stick to u32 for platform mask if we can just use more bits
on 64 bit platforms.

$ size drivers/gpu/drm/i915/i915.ko*
 text data bss dec hex filename
1884779 413345408 1931521  1d7901 drivers/gpu/drm/i915/i915.ko
1886693 413585408 1933459  1d8093 drivers/gpu/drm/i915/i915.ko.old


How did you get such a large difference, and decrease even? Could you
check in the code what is happening? Because I get an increase with this
patch:

 textdata bss dec hex filename
1905314   439037424 1956641  1ddb21 i915.ko.orig
1905796   439037424 1957123  1ddd03 i915.ko.patch


the only explanation I really have is that my measurement was bogus.
Some possible explanations...
1) I compared a i386 to a x86-64 build; 2) somehow a config changed
between the builds;
3) when preparing the patch I rebased on upstream between the builds.

Checking (1), no... that's in the ~400k range. So no idea, sorry.


I was worried you'd say you compiler just behaves differently. To 
eliminate this option it would still be good to double check if you can 
find the time.



So I think the only useful thing in this patch is to make the array to
grow automatically. Or maybe not even that?


I really liked that and then started thinking that it can still sneak up 
a mistake if one changes the type of the member and forgets to change 
the type in size calculation BITS_PER_TYPE. So I ended up a little less 
sure. Could the calculation self-reference the struct member?


Regards,

Tvrtko



Lucas De Marchi



Regards,

Tvrtko



Now on 64 bits we have only one long as opposed to 2 u32:

$ pahole -C intel_runtime_info drivers/gpu/drm/i915/i915.ko
struct intel_runtime_info {
   long unsigned int  platform_mask[1]; /* 0 8 */
...
}

On 32 bits we still have the same thing as before:
$ size drivers/gpu/drm/i915/i915.ko*
 text data bss dec hex filename
1489839 324852816 1525140  174594 drivers/gpu/drm/i915/i915.ko
1489839 324852816 1525140  174594 drivers/gpu/drm/i915/i915.ko.old

Besides reducing the code on x86-64 now the array size is automatically
calculated and we don't have to worry about extending it anymore.

v2: fix sparse and checkpatch warnings

Signed-off-by: Lucas De Marchi 
---
   drivers/gpu/drm/i915/i915_drv.h  | 6 +-
   drivers/gpu/drm/i915/intel_device_info.h | 7 +++
   2 files changed, 4 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 0ab4826921f7..9fe765ffe878 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -2309,10 +2309,6 @@ __platform_mask_index(const struct intel_runtime_info 
*info,
   const unsigned int pbits =
   BITS_PER_TYPE(info->platform_mask[0]) - INTEL_SUBPLATFORM_BITS;

- /* Expand the platform_mask array if this fails. */
- BUILD_BUG_ON(INTEL_MAX_PLATFORMS >
-  pbits * ARRAY_SIZE(info->platform_mask));
-
   return p / pbits;
   }

@@ -2354,7 +2350,7 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
   const unsigned int pi = __platform_mask_index(info, p);
   const unsigned int pb = __platform_mask_bit(info, p);
   const unsigned int msb = BITS_PER_TYPE(info->platform_mask[0]) - 1;
- const u32 mask = info->platform_mask[pi];
+ const unsigned long mask = info->platform_mask[pi];

   BUILD_BUG_ON(!__builtin_constant_p(p));
   BUILD_BUG_ON(!__builtin_constant_p(s));
diff --git a/drivers/gpu/drm/i915/intel_device_info.h 
b/drivers/gpu/drm/i915/intel_device_info.h
index 0e579f158016..2f5ca2b6f094 100644
--- a/drivers/gpu/drm/i915/intel_device_info.h
+++ b/drivers/gpu/drm/i915/intel_device_info.h
@@ -214,11 +214,10 @@ struct intel_runtime_info {
* Platform mask is used for optimizing or-ed IS_PLATFORM calls into
* into single runtime conditionals, and also to provide groundwork
* for future per platform, or per SKU build optimizations.
-  *
-  * Array can be extended when necessary if the corresponding
-  * BUILD_BUG_ON is hit.
*/
- u32 platform_mask[2];
+ unsigned long platform_mask[DIV_ROUND_UP(INTEL_MAX_PLATFORMS,
+  BITS_PER_TYPE(unsigned long)
+  - INTEL_SUBPLATFORM_BITS)];

   u16 device_id;




___
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

Re: [Intel-gfx] [PATCH 01/16] drm/fb-helper: Remove unused gamma_size variable

2019-04-03 Thread Noralf Trønnes


Den 26.03.2019 19.23, skrev Daniel Vetter:
> On Tue, Mar 26, 2019 at 06:55:31PM +0100, Noralf Trønnes wrote:
>> The gamma_size variable has not been used since
>> commit 4abe35204af8 ("drm/kms/fb: use slow work mechanism for normal hotplug 
>> also.")
>>
>> While in the area move a comment back to its code block.
>> They got separated by
>> commit d50ba256b5f1 ("drm/kms: start adding command line interface using 
>> fb.").
>>
>> Signed-off-by: Noralf Trønnes 
> 
> Reviewed-by: Daniel Vetter 

Thanks, patches 1 & 2 applied to drm-misc-next.

Noralf.

> 
>> ---
>>  drivers/gpu/drm/drm_fb_helper.c | 6 +-
>>  1 file changed, 1 insertion(+), 5 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/drm_fb_helper.c 
>> b/drivers/gpu/drm/drm_fb_helper.c
>> index 04d23cb430bf..eea15465da7a 100644
>> --- a/drivers/gpu/drm/drm_fb_helper.c
>> +++ b/drivers/gpu/drm/drm_fb_helper.c
>> @@ -1873,7 +1873,6 @@ static int drm_fb_helper_single_fb_probe(struct 
>> drm_fb_helper *fb_helper,
>>  int crtc_count = 0;
>>  int i;
>>  struct drm_fb_helper_surface_size sizes;
>> -int gamma_size = 0;
>>  int best_depth = 0;
>>  
>>  memset(&sizes, 0, sizeof(struct drm_fb_helper_surface_size));
>> @@ -1889,7 +1888,6 @@ static int drm_fb_helper_single_fb_probe(struct 
>> drm_fb_helper *fb_helper,
>>  if (preferred_bpp != sizes.surface_bpp)
>>  sizes.surface_depth = sizes.surface_bpp = preferred_bpp;
>>  
>> -/* first up get a count of crtcs now in use and new min/maxes 
>> width/heights */
>>  drm_fb_helper_for_each_connector(fb_helper, i) {
>>  struct drm_fb_helper_connector *fb_helper_conn = 
>> fb_helper->connector_info[i];
>>  struct drm_cmdline_mode *cmdline_mode;
>> @@ -1969,6 +1967,7 @@ static int drm_fb_helper_single_fb_probe(struct 
>> drm_fb_helper *fb_helper,
>>  sizes.surface_depth = best_depth;
>>  }
>>  
>> +/* first up get a count of crtcs now in use and new min/maxes 
>> width/heights */
>>  crtc_count = 0;
>>  for (i = 0; i < fb_helper->crtc_count; i++) {
>>  struct drm_display_mode *desired_mode;
>> @@ -1991,9 +1990,6 @@ static int drm_fb_helper_single_fb_probe(struct 
>> drm_fb_helper *fb_helper,
>>  x = fb_helper->crtc_info[i].x;
>>  y = fb_helper->crtc_info[i].y;
>>  
>> -if (gamma_size == 0)
>> -gamma_size = 
>> fb_helper->crtc_info[i].mode_set.crtc->gamma_size;
>> -
>>  sizes.surface_width  = max_t(u32, desired_mode->hdisplay + x, 
>> sizes.surface_width);
>>  sizes.surface_height = max_t(u32, desired_mode->vdisplay + y, 
>> sizes.surface_height);
>>  
>> -- 
>> 2.20.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

Re: [Intel-gfx] [PATCH 16/16] drm/vc4: Call drm_dev_register() after all setup is done

2019-04-03 Thread Noralf Trønnes


Den 27.03.2019 17.36, skrev Eric Anholt:
> Noralf Trønnes  writes:
> 
>> drm_dev_register() initializes internal clients like bootsplash as the
>> last thing it does, so all setup needs to be done at this point.
>>
>> Fix by calling vc4_kms_load() before registering.
>> Also check the error code returned from that function.
>>
>> Cc: Eric Anholt 
>> Signed-off-by: Noralf Trønnes 
> 
> Reviewed-by: Eric Anholt 
> 

Applied to drm-misc-next.

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

Re: [Intel-gfx] ✓ Fi.CI.IGT: success for series starting with [CI,1/2] drm/i915: add intel_uncore_init_early

2019-04-03 Thread Chris Wilson
Quoting Patchwork (2019-04-03 09:49:14)
> == Series Details ==
> 
> Series: series starting with [CI,1/2] drm/i915: add intel_uncore_init_early
> URL   : https://patchwork.freedesktop.org/series/58891/
> State : success
> 
> == Summary ==
> 
> CI Bug Log - changes from CI_DRM_5856_full -> Patchwork_12660_full
> 
> 
> Summary
> ---
> 
>   **WARNING**
> 
>   Minor unknown changes coming with Patchwork_12660_full need to be verified
>   manually.
>   
>   If you think the reported changes have nothing to do with the changes
>   introduced in Patchwork_12660_full, please notify your bug team to allow 
> them
>   to document this new failure mode, which will reduce false positives in CI.

No worries.

Thanks for the patch, pushed.
-Chris
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH] drm/i915: Fix uninitialized mask in intel_device_info_subplatform_init

2019-04-03 Thread Dan Carpenter
On Wed, Apr 03, 2019 at 09:13:59AM +0100, Tvrtko Ursulin wrote:
> P.S. Also the assert about no junk in high bits did not fire in CI which
> would suggest stack slot was either zero or no more than three low bits
> sets. Strange luck.

GCC happens to initialize it to zero.  It's also why GCC didn't trigger
an uninialized variable warning.  The bug was reported to GCC years ago.

regards,
dan carpenter
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

[Intel-gfx] ✓ Fi.CI.IGT: success for series starting with [CI,1/2] drm/i915: add intel_uncore_init_early

2019-04-03 Thread Patchwork
== Series Details ==

Series: series starting with [CI,1/2] drm/i915: add intel_uncore_init_early
URL   : https://patchwork.freedesktop.org/series/58891/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5856_full -> Patchwork_12660_full


Summary
---

  **WARNING**

  Minor unknown changes coming with Patchwork_12660_full need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_12660_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_12660_full:

### IGT changes ###

 Warnings 

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-render:
- shard-iclb: SKIP [fdo#109280] -> INCOMPLETE

  
Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_exec_store@cachelines-bsd2:
- shard-glk:  NOTRUN -> SKIP [fdo#109271] +20

  * igt@gem_mmap_gtt@hang:
- shard-iclb: PASS -> FAIL [fdo#109677]

  * igt@gem_softpin@noreloc-s3:
- shard-skl:  PASS -> INCOMPLETE [fdo#104108] / [fdo#107773]

  * igt@i915_pm_rpm@pm-tiling:
- shard-skl:  PASS -> INCOMPLETE [fdo#107807]

  * igt@i915_selftest@live_workarounds:
- shard-iclb: PASS -> DMESG-FAIL [fdo#108954]

  * igt@kms_atomic_transition@3x-modeset-transitions:
- shard-skl:  NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +8

  * igt@kms_available_modes_crc@available_mode_test_crc:
- shard-snb:  NOTRUN -> FAIL [fdo#106641]

  * igt@kms_busy@basic-modeset-e:
- shard-kbl:  NOTRUN -> SKIP [fdo#109271] / [fdo#109278]

  * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-b:
- shard-skl:  NOTRUN -> DMESG-WARN [fdo#110222]

  * igt@kms_cursor_crc@cursor-256x256-suspend:
- shard-skl:  PASS -> INCOMPLETE [fdo#104108]

  * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy:
- shard-glk:  PASS -> FAIL [fdo#104873]

  * igt@kms_fbcon_fbt@psr-suspend:
- shard-skl:  NOTRUN -> FAIL [fdo#103833]

  * igt@kms_flip@2x-wf_vblank-ts-check:
- shard-snb:  NOTRUN -> SKIP [fdo#109271] +73

  * igt@kms_flip@flip-vs-expired-vblank-interruptible:
- shard-apl:  PASS -> FAIL [fdo#102887] / [fdo#105363]

  * igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-blt:
- shard-iclb: PASS -> FAIL [fdo#103167] +5

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-draw-mmap-wc:
- shard-kbl:  NOTRUN -> SKIP [fdo#109271] +21

  * igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-pwrite:
- shard-iclb: PASS -> FAIL [fdo#105682] / [fdo#109247]

  * igt@kms_frontbuffer_tracking@psr-suspend:
- shard-iclb: PASS -> FAIL [fdo#109247] +7

  * igt@kms_lease@atomic_implicit_crtc:
- shard-kbl:  NOTRUN -> FAIL [fdo#110279]
- shard-skl:  NOTRUN -> FAIL [fdo#110279]

  * igt@kms_plane_alpha_blend@pipe-a-alpha-7efc:
- shard-skl:  NOTRUN -> FAIL [fdo#107815] / [fdo#108145] +2
- shard-kbl:  NOTRUN -> FAIL [fdo#108145] / [fdo#108590]

  * igt@kms_plane_alpha_blend@pipe-a-alpha-transparant-fb:
- shard-skl:  NOTRUN -> FAIL [fdo#108145] +1

  * igt@kms_plane_scaling@pipe-a-scaler-with-clipping-clamping:
- shard-glk:  PASS -> SKIP [fdo#109271] / [fdo#109278] +1

  * igt@kms_plane_scaling@pipe-b-scaler-with-clipping-clamping:
- shard-glk:  NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +2

  * igt@kms_psr2_su@page_flip:
- shard-iclb: PASS -> SKIP [fdo#109642]

  * igt@kms_psr@cursor_render:
- shard-iclb: PASS -> FAIL [fdo#107383] / [fdo#110215]

  * igt@kms_psr@psr2_sprite_mmap_gtt:
- shard-iclb: PASS -> SKIP [fdo#109441]

  * igt@kms_setmode@basic:
- shard-apl:  PASS -> FAIL [fdo#99912]
- shard-kbl:  PASS -> FAIL [fdo#99912]

  * igt@kms_vblank@pipe-a-ts-continuation-dpms-rpm:
- shard-snb:  NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +9

  * igt@kms_vblank@pipe-c-ts-continuation-dpms-rpm:
- shard-apl:  PASS -> FAIL [fdo#104894]

  * igt@perf@blocking:
- shard-iclb: PASS -> FAIL [fdo#108587]

  * igt@perf_pmu@busy-accuracy-98-vcs1:
- shard-skl:  NOTRUN -> SKIP [fdo#109271] +100

  
 Possible fixes 

  * igt@gem_create@create-clear:
- shard-snb:  INCOMPLETE [fdo#105411] -> PASS

  * igt@kms_cursor_legacy@2x-long-nonblocking-modeset-vs-cursor-atomic:
- shard-glk:  FAIL [fdo#106509] / [fdo#107409] -> PASS

  * igt@kms_cursor_legacy@cursor-vs-flip-atomic:
- shard-iclb: FAIL [fdo#103355] -> PASS

  * igt@km

Re: [Intel-gfx] [PATCH] drm/i915: add immutable zpos plane properties

2019-04-03 Thread Joonas Lahtinen
Quoting Simon Ser (2019-04-02 17:36:33)
> On Tuesday, April 2, 2019 3:35 PM, Joonas Lahtinen 
>  wrote:
> > Quoting Simon Ser (2019-03-30 00:19:25)
> >
> > > From: emersion cont...@emersion.fr
> >
> > Please fix your From: field.
> 
> Gah.
> 
> > > This adds basic immutable support for the zpos property. The zpos 
> > > increases
> > > from bottom to top: primary, sprites, cursor.
> > > Signed-off-by: Simon Ser cont...@emersion.fr
> >
> > This is just Ville's patch rebased, so it's incorrect to strip the S-o-b,
> > please read:
> >
> > https://www.kernel.org/doc/html/latest/process/submitting-patches.html#sign-your-work-the-developer-s-certificate-of-origin
> 
> Honestly I wasn't sure what to do, especially considering that I've
> edited most of the lines. I tried to ask on IRC but I got no reply.
> 
> Thanks for clearing that up! So just to be sure I don't mess up v2:
> 
> - This is Ville's patch so he definitely should be the author.
> - Ville's S-o-b should definitely be kept as-is.
> - Now, should I add my own S-o-b? It seems like I should.
> - Co-Authored-By probably doesn't make sense here.
> - I originally wanted to add my Reviewed-by tag, but it probably
>   wouldn't make sense if I have a S-o-b tag.
> 
> Is this correct?

You should git am (maybe with --3way) the original patch, and add a
change log entry explaining what you modified about the patch and
finally add your own S-o-b.

That way the From: will correctly point to the original patch owner and
it is clear what modifications you made.

For review just poke somebody working in that area (git blame is
your friend here).

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

[Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915: FBC needs vblank before enable / disable. (rev6)

2019-04-03 Thread Patchwork
== Series Details ==

Series: drm/i915: FBC needs vblank before enable / disable. (rev6)
URL   : https://patchwork.freedesktop.org/series/58843/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_5860 -> Patchwork_12671


Summary
---

  **FAILURE**

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

  External URL: 
https://patchwork.freedesktop.org/api/1.0/series/58843/revisions/6/mbox/

Possible new issues
---

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

### IGT changes ###

 Possible regressions 

  * igt@i915_module_load@reload-no-display:
- fi-icl-y:   NOTRUN -> INCOMPLETE

  
Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_workarounds@basic-read:
- fi-snb-2600:NOTRUN -> SKIP [fdo#109271] +57

  * igt@i915_selftest@live_hangcheck:
- fi-skl-iommu:   PASS -> INCOMPLETE [fdo#108602] / [fdo#108744]

  * igt@i915_selftest@live_uncore:
- fi-skl-gvtdvm:  PASS -> DMESG-FAIL [fdo#110210]

  * igt@kms_busy@basic-flip-c:
- fi-blb-e6850:   NOTRUN -> SKIP [fdo#109271] / [fdo#109278]
- fi-snb-2600:NOTRUN -> SKIP [fdo#109271] / [fdo#109278]

  * igt@kms_chamelium@vga-edid-read:
- fi-hsw-4770r:   NOTRUN -> SKIP [fdo#109271] +45

  * igt@kms_frontbuffer_tracking@basic:
- fi-icl-u3:  PASS -> FAIL [fdo#103167]

  * igt@kms_pipe_crc_basic@hang-read-crc-pipe-c:
- fi-blb-e6850:   NOTRUN -> SKIP [fdo#109271] +48

  * igt@kms_pipe_crc_basic@read-crc-pipe-a-frame-sequence:
- fi-byt-clapper: PASS -> FAIL [fdo#103191] / [fdo#107362]

  * igt@runner@aborted:
- fi-skl-iommu:   NOTRUN -> FAIL [fdo#104108] / [fdo#108602]

  
 Possible fixes 

  * igt@gem_exec_suspend@basic-s4-devices:
- fi-blb-e6850:   INCOMPLETE [fdo#107718] -> PASS

  * igt@i915_module_load@reload:
- fi-icl-y:   INCOMPLETE [fdo#107713] -> PASS

  * igt@i915_selftest@live_hangcheck:
- fi-icl-u3:  INCOMPLETE [fdo#108569] -> PASS

  * igt@kms_frontbuffer_tracking@basic:
- fi-byt-clapper: FAIL [fdo#103167] -> PASS

  
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191
  [fdo#104108]: https://bugs.freedesktop.org/show_bug.cgi?id=104108
  [fdo#107362]: https://bugs.freedesktop.org/show_bug.cgi?id=107362
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#108602]: https://bugs.freedesktop.org/show_bug.cgi?id=108602
  [fdo#108744]: https://bugs.freedesktop.org/show_bug.cgi?id=108744
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#110210]: https://bugs.freedesktop.org/show_bug.cgi?id=110210


Participating hosts (46 -> 41)
--

  Additional (2): fi-hsw-4770r fi-snb-2600 
  Missing(7): fi-kbl-soraka fi-ilk-m540 fi-byt-squawks fi-icl-u2 
fi-ctg-p8600 fi-pnv-d510 fi-bdw-samus 


Build changes
-

* Linux: CI_DRM_5860 -> Patchwork_12671

  CI_DRM_5860: 837ba3cd997b59e53903ba29f4fe65c81f86f1e9 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4923: 6285eec4f3b8f21833d9d2d852883569d6551822 @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_12671: 7ee6b083d8fad8d032a8c5be119475080f38b4b0 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

7ee6b083d8fa drm/i915: FBC needs vblank before enable / disable.

== Logs ==

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

[Intel-gfx] [PATCH] drm/i915: Use lockdep_pin_lock() over the construction of the request

2019-04-03 Thread Chris Wilson
During request construction, we take the timeline->mutex to ensure
exclusive access to the ringbuffer (for command emission) and the
timeline itself (for command ordering). The timeline->mutex should not
be dropped by callers until we release it in i915_request_add().

lockdep provides a pin/unpin lock facility to detect accidental unlocks
inside critical sections, so put it to use for request construction.

Signed-off-by: Chris Wilson 
Cc: Tvrtko Ursulin 
---
 drivers/gpu/drm/i915/i915_request.c |  5 +
 drivers/gpu/drm/i915/i915_request.h | 10 ++
 2 files changed, 15 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_request.c 
b/drivers/gpu/drm/i915/i915_request.c
index 82094b9f5ba7..7f8a4eba98b8 100644
--- a/drivers/gpu/drm/i915/i915_request.c
+++ b/drivers/gpu/drm/i915/i915_request.c
@@ -751,7 +751,10 @@ i915_request_alloc(struct intel_engine_cs *engine, struct 
i915_gem_context *ctx)
rq->infix = rq->ring->emit; /* end of header; start of user payload */
 
/* Check that we didn't interrupt ourselves with a new request */
+   lockdep_assert_held(&rq->timeline->mutex);
GEM_BUG_ON(rq->timeline->seqno != rq->fence.seqno);
+   rq->cookie = lockdep_pin_lock(&rq->timeline->mutex);
+
return rq;
 
 err_unwind:
@@ -1070,6 +1073,8 @@ void i915_request_add(struct i915_request *request)
  engine->name, request->fence.context, request->fence.seqno);
 
lockdep_assert_held(&request->timeline->mutex);
+   lockdep_unpin_lock(&request->timeline->mutex, request->cookie);
+
trace_i915_request_add(request);
 
/*
diff --git a/drivers/gpu/drm/i915/i915_request.h 
b/drivers/gpu/drm/i915/i915_request.h
index cd6c130964cd..875be6f71412 100644
--- a/drivers/gpu/drm/i915/i915_request.h
+++ b/drivers/gpu/drm/i915/i915_request.h
@@ -26,6 +26,7 @@
 #define I915_REQUEST_H
 
 #include 
+#include 
 
 #include "i915_gem.h"
 #include "i915_scheduler.h"
@@ -120,6 +121,15 @@ struct i915_request {
 */
unsigned long rcustate;
 
+   /*
+* We pin the timeline->mutex while constructing the request to
+* ensure that no caller accidentally drops it during construction.
+* The timeline->mutex must be held to ensure that only this caller
+* can use the ring and manipulate the associated timeline during
+* construction.
+*/
+   struct pin_cookie cookie;
+
/*
 * Fences for the various phases in the request's lifetime.
 *
-- 
2.20.1

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

Re: [Intel-gfx] [PATCH v2] drm/i915: use unsigned long for platform_mask

2019-04-03 Thread Lucas De Marchi
On Tue, Apr 2, 2019 at 11:58 PM Tvrtko Ursulin
 wrote:
>
>
> On 03/04/2019 02:46, Lucas De Marchi wrote:
> > No reason to stick to u32 for platform mask if we can just use more bits
> > on 64 bit platforms.
> >
> > $ size drivers/gpu/drm/i915/i915.ko*
> > text data bss dec hex filename
> > 1884779 413345408 1931521  1d7901 drivers/gpu/drm/i915/i915.ko
> > 1886693 413585408 1933459  1d8093 
> > drivers/gpu/drm/i915/i915.ko.old
>
> How did you get such a large difference, and decrease even? Could you
> check in the code what is happening? Because I get an increase with this
> patch:
>
> textdata bss dec hex filename
> 1905314   439037424 1956641  1ddb21 i915.ko.orig
> 1905796   439037424 1957123  1ddd03 i915.ko.patch

the only explanation I really have is that my measurement was bogus.
Some possible explanations...
1) I compared a i386 to a x86-64 build; 2) somehow a config changed
between the builds;
3) when preparing the patch I rebased on upstream between the builds.

Checking (1), no... that's in the ~400k range. So no idea, sorry.

So I think the only useful thing in this patch is to make the array to
grow automatically. Or maybe not even that?

Lucas De Marchi

>
> Regards,
>
> Tvrtko
>
> >
> > Now on 64 bits we have only one long as opposed to 2 u32:
> >
> > $ pahole -C intel_runtime_info drivers/gpu/drm/i915/i915.ko
> > struct intel_runtime_info {
> >   long unsigned int  platform_mask[1]; /* 0 8 */
> > ...
> > }
> >
> > On 32 bits we still have the same thing as before:
> > $ size drivers/gpu/drm/i915/i915.ko*
> > text data bss dec hex filename
> > 1489839 324852816 1525140  174594 drivers/gpu/drm/i915/i915.ko
> > 1489839 324852816 1525140  174594 
> > drivers/gpu/drm/i915/i915.ko.old
> >
> > Besides reducing the code on x86-64 now the array size is automatically
> > calculated and we don't have to worry about extending it anymore.
> >
> > v2: fix sparse and checkpatch warnings
> >
> > Signed-off-by: Lucas De Marchi 
> > ---
> >   drivers/gpu/drm/i915/i915_drv.h  | 6 +-
> >   drivers/gpu/drm/i915/intel_device_info.h | 7 +++
> >   2 files changed, 4 insertions(+), 9 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/i915_drv.h 
> > b/drivers/gpu/drm/i915/i915_drv.h
> > index 0ab4826921f7..9fe765ffe878 100644
> > --- a/drivers/gpu/drm/i915/i915_drv.h
> > +++ b/drivers/gpu/drm/i915/i915_drv.h
> > @@ -2309,10 +2309,6 @@ __platform_mask_index(const struct 
> > intel_runtime_info *info,
> >   const unsigned int pbits =
> >   BITS_PER_TYPE(info->platform_mask[0]) - 
> > INTEL_SUBPLATFORM_BITS;
> >
> > - /* Expand the platform_mask array if this fails. */
> > - BUILD_BUG_ON(INTEL_MAX_PLATFORMS >
> > -  pbits * ARRAY_SIZE(info->platform_mask));
> > -
> >   return p / pbits;
> >   }
> >
> > @@ -2354,7 +2350,7 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
> >   const unsigned int pi = __platform_mask_index(info, p);
> >   const unsigned int pb = __platform_mask_bit(info, p);
> >   const unsigned int msb = BITS_PER_TYPE(info->platform_mask[0]) - 1;
> > - const u32 mask = info->platform_mask[pi];
> > + const unsigned long mask = info->platform_mask[pi];
> >
> >   BUILD_BUG_ON(!__builtin_constant_p(p));
> >   BUILD_BUG_ON(!__builtin_constant_p(s));
> > diff --git a/drivers/gpu/drm/i915/intel_device_info.h 
> > b/drivers/gpu/drm/i915/intel_device_info.h
> > index 0e579f158016..2f5ca2b6f094 100644
> > --- a/drivers/gpu/drm/i915/intel_device_info.h
> > +++ b/drivers/gpu/drm/i915/intel_device_info.h
> > @@ -214,11 +214,10 @@ struct intel_runtime_info {
> >* Platform mask is used for optimizing or-ed IS_PLATFORM calls into
> >* into single runtime conditionals, and also to provide groundwork
> >* for future per platform, or per SKU build optimizations.
> > -  *
> > -  * Array can be extended when necessary if the corresponding
> > -  * BUILD_BUG_ON is hit.
> >*/
> > - u32 platform_mask[2];
> > + unsigned long platform_mask[DIV_ROUND_UP(INTEL_MAX_PLATFORMS,
> > +  BITS_PER_TYPE(unsigned long)
> > +  - INTEL_SUBPLATFORM_BITS)];
> >
> >   u16 device_id;
> >
> >
>
> ___
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx



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

Re: [Intel-gfx] [PATCH] drm/i915: Fix uninitialized mask in intel_device_info_subplatform_init

2019-04-03 Thread Tvrtko Ursulin


On 03/04/2019 08:13, Chris Wilson wrote:

Quoting Tvrtko Ursulin (2019-04-03 07:44:07)

From: Tvrtko Ursulin 

Mask need to be initialized to zero since device id checks may not match.

Signed-off-by: Tvrtko Ursulin 
Reported-by: Dan Carpenter 
Fixes: 805446c8347c ("drm/i915: Introduce concept of a sub-platform")
Cc: Tvrtko Ursulin 
Cc: Chris Wilson 
Cc: Jani Nikula 
Cc: Lucas De Marchi 
Cc: Jose Souza 
Cc: Ville Syrjälä 
Cc: Paulo Zanoni 
Cc: Jani Nikula 
Cc: Joonas Lahtinen 
Cc: Rodrigo Vivi 
Cc: Dan Carpenter 


Bots are doing a better job than me, but still
Reviewed-by: Chris Wilson 


It's my bad, probably introduced due various refactoring of the patch 
itself. Since I definitely remember changing the mask initialization 
back and forth.


No huge harm done since caught quickly by this very valuable service 
provided by Dan.


Regards,

Tvrtko

P.S. Also the assert about no junk in high bits did not fire in CI which 
would suggest stack slot was either zero or no more than three low bits 
sets. Strange luck.

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

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: FBC needs vblank before enable / disable. (rev6)

2019-04-03 Thread Patchwork
== Series Details ==

Series: drm/i915: FBC needs vblank before enable / disable. (rev6)
URL   : https://patchwork.freedesktop.org/series/58843/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
7ee6b083d8fa drm/i915: FBC needs vblank before enable / disable.
-:53: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#53: FILE: drivers/gpu/drm/i915/intel_display.c:13432:
+   intel_wait_for_vblank(dev_priv,
+   intel_crtc->pipe);

total: 0 errors, 0 warnings, 1 checks, 23 lines checked

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

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Fix uninitialized mask in intel_device_info_subplatform_init

2019-04-03 Thread Patchwork
== Series Details ==

Series: drm/i915: Fix uninitialized mask in intel_device_info_subplatform_init
URL   : https://patchwork.freedesktop.org/series/58921/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5860 -> Patchwork_12670


Summary
---

  **SUCCESS**

  No regressions found.

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

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@amdgpu/amd_cs_nop@fork-compute0:
- fi-icl-y:   NOTRUN -> SKIP [fdo#109315] +17

  * igt@gem_workarounds@basic-read:
- fi-snb-2600:NOTRUN -> SKIP [fdo#109271] +57

  * igt@i915_selftest@live_contexts:
- fi-icl-y:   NOTRUN -> DMESG-FAIL [fdo#108569]

  * igt@kms_busy@basic-flip-c:
- fi-blb-e6850:   NOTRUN -> SKIP [fdo#109271] / [fdo#109278]
- fi-snb-2600:NOTRUN -> SKIP [fdo#109271] / [fdo#109278]

  * igt@kms_chamelium@vga-edid-read:
- fi-hsw-4770r:   NOTRUN -> SKIP [fdo#109271] +45

  * igt@kms_frontbuffer_tracking@basic:
- fi-icl-u3:  PASS -> FAIL [fdo#103167]

  * igt@kms_pipe_crc_basic@hang-read-crc-pipe-c:
- fi-blb-e6850:   NOTRUN -> SKIP [fdo#109271] +48

  
 Possible fixes 

  * igt@gem_exec_suspend@basic-s4-devices:
- fi-blb-e6850:   INCOMPLETE [fdo#107718] -> PASS

  * igt@i915_module_load@reload:
- fi-icl-y:   INCOMPLETE [fdo#107713] -> PASS

  * igt@i915_selftest@live_hangcheck:
- fi-icl-u3:  INCOMPLETE [fdo#108569] -> PASS

  * igt@kms_frontbuffer_tracking@basic:
- fi-byt-clapper: FAIL [fdo#103167] -> PASS

  
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315


Participating hosts (46 -> 41)
--

  Additional (2): fi-hsw-4770r fi-snb-2600 
  Missing(7): fi-kbl-soraka fi-ilk-m540 fi-byt-j1900 fi-byt-squawks 
fi-icl-u2 fi-ctg-p8600 fi-bdw-samus 


Build changes
-

* Linux: CI_DRM_5860 -> Patchwork_12670

  CI_DRM_5860: 837ba3cd997b59e53903ba29f4fe65c81f86f1e9 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4923: 6285eec4f3b8f21833d9d2d852883569d6551822 @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_12670: f7bf7a1e62a83500e47beaab3973ff1cffa60984 @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

f7bf7a1e62a8 drm/i915: Fix uninitialized mask in 
intel_device_info_subplatform_init

== Logs ==

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

Re: [Intel-gfx] [PATCH 06/22] drm/i915: Pass intel_context to i915_request_create()

2019-04-03 Thread Chris Wilson
Quoting Chris Wilson (2019-04-03 08:54:41)
> Quoting Tvrtko Ursulin (2019-04-02 14:17:30)
> > 
> > On 25/03/2019 09:03, Chris Wilson wrote:
> > > @@ -727,17 +695,19 @@ i915_request_alloc(struct intel_engine_cs *engine, 
> > > struct i915_gem_context *ctx)
> > >   if (ret)
> > >   goto err_unwind;
> > >   
> > > - ret = engine->request_alloc(rq);
> > > + ret = rq->engine->request_alloc(rq);
> > >   if (ret)
> > >   goto err_unwind;
> > >   
> > > + rq->infix = rq->ring->emit; /* end of header; start of user payload 
> > > */
> > > +
> > >   /* Keep a second pin for the dual retirement along engine and ring 
> > > */
> > >   __intel_context_pin(ce);
> > > -
> > > - rq->infix = rq->ring->emit; /* end of header; start of user payload 
> > > */
> > > + atomic_inc(&i915->gt.active_requests);
> > 
> > Oh I hate this..
> > 
> > >   
> > >   /* Check that we didn't interrupt ourselves with a new request */
> > >   GEM_BUG_ON(rq->timeline->seqno != rq->fence.seqno);
> > > + lockdep_assert_held(&tl->mutex);
> > >   return rq;
> 
> [snip]
> 
> > > + /*
> > > +  * Pinning the contexts may generate requests in order to acquire
> > > +  * GGTT space, so do this first before we reserve a seqno for
> > > +  * ourselves.
> > > +  */
> > > + ce = intel_context_pin(ctx, engine);
> > > + if (IS_ERR(ce))
> > > + return ERR_CAST(ce);
> > > +
> > > + i915_gem_unpark(i915);
> > > +
> > > + rq = i915_request_create(ce);
> > > +
> > > + i915_gem_park(i915);
> > 
> > ... because it is so anti-self-documenting.
> > 
> > Maybe we could have something like:
> > 
> > __i915_gem_unpark(...)
> > {
> > GEM_BUG_ON(!atomic_read(active_requests));
> > atomic_inc(active_requests);
> > }
> > 
> > Similar to __intel_context_pin, just so it is more obvious what the code 
> > is doing.
> 
> But not here though. Since this is the path that has to wake up the
> device itself, pin the context (eventually run retirement, handle
> allocation fallback) and not presume the caller already has (or will).
> 
> Inside i915_require_create we do have the assert that the device is
> awake, which should be has GT wakeref instead. (Note, not GEM wakeref at
> this point, that's the troubling bit.)
> 
> Post snip: Saw the connected argument.

The problem with that is no, we are not putting a __i915_gem_unpark()
into i915_request_create. At this point, we care about the gt.wakeref.

Maybe I should take another shot at splitting the GEM wakeref from GT.

i915_gem_runtime_pm_get()
  i915_gt_unpark()
  i915_gt_park()
i915_gem_runtime_pm_put()

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

Re: [Intel-gfx] [PATCH 06/22] drm/i915: Pass intel_context to i915_request_create()

2019-04-03 Thread Chris Wilson
Quoting Tvrtko Ursulin (2019-04-02 14:17:30)
> 
> On 25/03/2019 09:03, Chris Wilson wrote:
> > @@ -727,17 +695,19 @@ i915_request_alloc(struct intel_engine_cs *engine, 
> > struct i915_gem_context *ctx)
> >   if (ret)
> >   goto err_unwind;
> >   
> > - ret = engine->request_alloc(rq);
> > + ret = rq->engine->request_alloc(rq);
> >   if (ret)
> >   goto err_unwind;
> >   
> > + rq->infix = rq->ring->emit; /* end of header; start of user payload */
> > +
> >   /* Keep a second pin for the dual retirement along engine and ring */
> >   __intel_context_pin(ce);
> > -
> > - rq->infix = rq->ring->emit; /* end of header; start of user payload */
> > + atomic_inc(&i915->gt.active_requests);
> 
> Oh I hate this..
> 
> >   
> >   /* Check that we didn't interrupt ourselves with a new request */
> >   GEM_BUG_ON(rq->timeline->seqno != rq->fence.seqno);
> > + lockdep_assert_held(&tl->mutex);
> >   return rq;

[snip]

> > + /*
> > +  * Pinning the contexts may generate requests in order to acquire
> > +  * GGTT space, so do this first before we reserve a seqno for
> > +  * ourselves.
> > +  */
> > + ce = intel_context_pin(ctx, engine);
> > + if (IS_ERR(ce))
> > + return ERR_CAST(ce);
> > +
> > + i915_gem_unpark(i915);
> > +
> > + rq = i915_request_create(ce);
> > +
> > + i915_gem_park(i915);
> 
> ... because it is so anti-self-documenting.
> 
> Maybe we could have something like:
> 
> __i915_gem_unpark(...)
> {
> GEM_BUG_ON(!atomic_read(active_requests));
> atomic_inc(active_requests);
> }
> 
> Similar to __intel_context_pin, just so it is more obvious what the code 
> is doing.

But not here though. Since this is the path that has to wake up the
device itself, pin the context (eventually run retirement, handle
allocation fallback) and not presume the caller already has (or will).

Inside i915_require_create we do have the assert that the device is
awake, which should be has GT wakeref instead. (Note, not GEM wakeref at
this point, that's the troubling bit.)

Post snip: Saw the connected argument.
-Chris
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/icl: Set GCP_COLOR_INDICATION only for 10/12 bit deep color (rev3)

2019-04-03 Thread Patchwork
== Series Details ==

Series: drm/i915/icl: Set GCP_COLOR_INDICATION only for 10/12 bit deep color 
(rev3)
URL   : https://patchwork.freedesktop.org/series/58912/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5860 -> Patchwork_12669


Summary
---

  **SUCCESS**

  No regressions found.

  External URL: 
https://patchwork.freedesktop.org/api/1.0/series/58912/revisions/3/mbox/

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@amdgpu/amd_cs_nop@fork-compute0:
- fi-icl-y:   NOTRUN -> SKIP [fdo#109315] +17

  * igt@gem_workarounds@basic-read:
- fi-snb-2600:NOTRUN -> SKIP [fdo#109271] +57

  * igt@i915_selftest@live_contexts:
- fi-icl-y:   NOTRUN -> DMESG-FAIL [fdo#108569]

  * igt@kms_busy@basic-flip-c:
- fi-blb-e6850:   NOTRUN -> SKIP [fdo#109271] / [fdo#109278]
- fi-snb-2600:NOTRUN -> SKIP [fdo#109271] / [fdo#109278]

  * igt@kms_chamelium@vga-edid-read:
- fi-hsw-4770r:   NOTRUN -> SKIP [fdo#109271] +45

  * igt@kms_frontbuffer_tracking@basic:
- fi-icl-u3:  PASS -> FAIL [fdo#103167]

  * igt@kms_pipe_crc_basic@hang-read-crc-pipe-c:
- fi-blb-e6850:   NOTRUN -> SKIP [fdo#109271] +48

  * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-b-frame-sequence:
- fi-byt-clapper: PASS -> FAIL [fdo#103191] / [fdo#107362] +1

  
 Possible fixes 

  * igt@gem_exec_suspend@basic-s4-devices:
- fi-blb-e6850:   INCOMPLETE [fdo#107718] -> PASS

  * igt@i915_module_load@reload:
- fi-icl-y:   INCOMPLETE [fdo#107713] -> PASS

  * igt@i915_selftest@live_hangcheck:
- fi-icl-u3:  INCOMPLETE [fdo#108569] -> PASS

  
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191
  [fdo#107362]: https://bugs.freedesktop.org/show_bug.cgi?id=107362
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315


Participating hosts (46 -> 41)
--

  Additional (2): fi-hsw-4770r fi-snb-2600 
  Missing(7): fi-kbl-soraka fi-ilk-m540 fi-byt-squawks fi-icl-u2 fi-kbl-guc 
fi-ctg-p8600 fi-bdw-samus 


Build changes
-

* Linux: CI_DRM_5860 -> Patchwork_12669

  CI_DRM_5860: 837ba3cd997b59e53903ba29f4fe65c81f86f1e9 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4923: 6285eec4f3b8f21833d9d2d852883569d6551822 @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_12669: 464216adb29404090c53b7f8f39e2c511eb4e3dd @ 
git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

464216adb294 drm/i915/icl: Set GCP_COLOR_INDICATION only for 10/12 bit deep 
color

== Logs ==

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

[Intel-gfx] ✓ Fi.CI.IGT: success for linux-next: build failure after merge of the drm-misc tree (rev2)

2019-04-03 Thread Patchwork
== Series Details ==

Series: linux-next: build failure after merge of the drm-misc tree (rev2)
URL   : https://patchwork.freedesktop.org/series/58857/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5856_full -> Patchwork_12658_full


Summary
---

  **SUCCESS**

  No regressions found.

  

Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_ctx_isolation@vecs0-s3:
- shard-skl:  PASS -> INCOMPLETE [fdo#104108] / [fdo#107773]

  * igt@gem_exec_schedule@preempt-self-bsd1:
- shard-iclb: NOTRUN -> SKIP [fdo#109276]

  * igt@gem_exec_store@cachelines-bsd2:
- shard-glk:  NOTRUN -> SKIP [fdo#109271] +20

  * igt@gem_pwrite@stolen-normal:
- shard-skl:  NOTRUN -> SKIP [fdo#109271] +93

  * igt@gem_stolen@stolen-no-mmap:
- shard-iclb: NOTRUN -> SKIP [fdo#109277]

  * igt@i915_pm_rpm@gem-mmap-cpu:
- shard-skl:  PASS -> INCOMPLETE [fdo#107807]

  * igt@i915_pm_rpm@system-suspend-execbuf:
- shard-iclb: PASS -> DMESG-WARN [fdo#109638]

  * igt@i915_pm_sseu@full-enable:
- shard-iclb: NOTRUN -> SKIP [fdo#109288]

  * igt@i915_selftest@live_workarounds:
- shard-iclb: PASS -> DMESG-FAIL [fdo#108954]

  * igt@kms_available_modes_crc@available_mode_test_crc:
- shard-snb:  NOTRUN -> FAIL [fdo#106641]

  * igt@kms_busy@basic-modeset-e:
- shard-kbl:  NOTRUN -> SKIP [fdo#109271] / [fdo#109278]

  * igt@kms_busy@extended-modeset-hang-newfb-with-reset-render-a:
- shard-skl:  NOTRUN -> DMESG-WARN [fdo#110222]

  * igt@kms_busy@extended-modeset-hang-oldfb-render-e:
- shard-skl:  NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +9

  * igt@kms_concurrent@pipe-f:
- shard-iclb: NOTRUN -> SKIP [fdo#109278] +1

  * igt@kms_fbcon_fbt@psr-suspend:
- shard-skl:  NOTRUN -> FAIL [fdo#103833]

  * igt@kms_flip@2x-wf_vblank-ts-check:
- shard-snb:  NOTRUN -> SKIP [fdo#109271] +73

  * igt@kms_force_connector_basic@force-connector-state:
- shard-iclb: NOTRUN -> SKIP [fdo#109285]

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-render:
- shard-iclb: PASS -> FAIL [fdo#103167] +1

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-draw-mmap-cpu:
- shard-iclb: NOTRUN -> SKIP [fdo#109280] +1

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-draw-mmap-wc:
- shard-kbl:  NOTRUN -> SKIP [fdo#109271] +24

  * igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-pwrite:
- shard-iclb: PASS -> FAIL [fdo#105682] / [fdo#109247]

  * igt@kms_frontbuffer_tracking@fbcpsr-stridechange:
- shard-skl:  NOTRUN -> FAIL [fdo#105683]

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-render:
- shard-skl:  NOTRUN -> FAIL [fdo#103167]

  * igt@kms_frontbuffer_tracking@psr-rgb101010-draw-blt:
- shard-iclb: PASS -> FAIL [fdo#109247] +23

  * igt@kms_lease@atomic_implicit_crtc:
- shard-kbl:  NOTRUN -> FAIL [fdo#110279]
- shard-skl:  NOTRUN -> FAIL [fdo#110279]

  * igt@kms_plane_alpha_blend@pipe-a-alpha-7efc:
- shard-skl:  NOTRUN -> FAIL [fdo#107815] / [fdo#108145] +2
- shard-kbl:  NOTRUN -> FAIL [fdo#108145] / [fdo#108590]

  * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc:
- shard-skl:  PASS -> FAIL [fdo#107815]

  * igt@kms_plane_scaling@pipe-a-scaler-with-clipping-clamping:
- shard-glk:  PASS -> SKIP [fdo#109271] / [fdo#109278] +1

  * igt@kms_plane_scaling@pipe-b-scaler-with-clipping-clamping:
- shard-glk:  NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +2

  * igt@kms_psr2_su@page_flip:
- shard-iclb: PASS -> SKIP [fdo#109642]

  * igt@kms_psr@psr2_primary_mmap_cpu:
- shard-iclb: PASS -> SKIP [fdo#109441] +1

  * igt@kms_psr@suspend:
- shard-iclb: PASS -> FAIL [fdo#107383] / [fdo#110215]

  * igt@kms_rotation_crc@multiplane-rotation:
- shard-kbl:  PASS -> DMESG-FAIL [fdo#105763]

  * igt@kms_setmode@basic:
- shard-apl:  PASS -> FAIL [fdo#99912]
- shard-iclb: NOTRUN -> FAIL [fdo#99912]
- shard-kbl:  PASS -> FAIL [fdo#99912]

  * igt@kms_vblank@pipe-a-ts-continuation-dpms-rpm:
- shard-snb:  NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +9

  * igt@perf@blocking:
- shard-iclb: PASS -> FAIL [fdo#108587] +1

  
 Possible fixes 

  * igt@gem_create@create-clear:
- shard-snb:  INCOMPLETE [fdo#105411] -> PASS

  * igt@gem_ppgtt@blt-vs-render-ctxn:
- shard-iclb: INCOMPLETE [fdo#109801] -> PASS

  * igt@gem_tiled_swapping@non-threaded:
- shard-iclb: DMESG-WARN [fdo#108686] -> PASS

  * igt@kms_cursor_legacy@2x-long-nonblocking-modeset-vs-cursor-

Re: [Intel-gfx] [igt-dev] [PATCH i-g-t] i915/gem_create: Do not build create-clear for MIPS

2019-04-03 Thread Guillaume Tucker
On 02/04/2019 09:35, Petri Latvala wrote:
> On Mon, Apr 01, 2019 at 04:39:24PM +0200, Guillaume Tucker wrote:
>> The MIPS architecture doesn't provide the hardware atomics that are
>> required for the "create-clear" sub-test such as
>> __sync_add_and_fetch().  As a simple and pragmatic solution, disable
>> this sub-test when building for MIPS.  A better approach would be to
>> add a fallback implementation for these operations.
>>
>> Fixes: 6727e17c00b2 ("i915/gem_create: Verify that all new objects are 
>> clear")
>> Signed-off-by: Guillaume Tucker 
>> ---
>>  tests/i915/gem_create.c | 4 
>>  1 file changed, 4 insertions(+)
>>
>> diff --git a/tests/i915/gem_create.c b/tests/i915/gem_create.c
>> index 2a861ca8a7ec..8a48496e6c19 100644
>> --- a/tests/i915/gem_create.c
>> +++ b/tests/i915/gem_create.c
>> @@ -142,6 +142,7 @@ static void invalid_nonaligned_size(int fd)
>>  gem_close(fd, handle);
>>  }
>>  
>> +#if !defined(__mips__) /* MIPS doesn't provide the required hardware 
>> atomics */
>>  static uint64_t get_npages(uint64_t *global, uint64_t npages)
>>  {
>>  uint64_t try, old, max;
>> @@ -208,6 +209,7 @@ static void always_clear(int i915, int timeout)
>>  for (int i = 0; i < ncpus; i++)
>>  pthread_join(thread[i], NULL);
>>  }
>> +#endif /* !defined(__mips__) */
>>  
>>  igt_main
>>  {
>> @@ -231,6 +233,8 @@ igt_main
>>  igt_subtest("create-invalid-nonaligned")
>>  invalid_nonaligned_size(fd);
>>  
>> +#if !defined(__mips__)
>>  igt_subtest("create-clear")
>>  always_clear(fd, 30);
>> +#endif
>>  }
> 
> 
> It's a bit ugly. I wonder how much work a fallback mechanism would be?

Sorry I should have sent this as RFC.

> The test is i915 specific and using those on non-x86 architectures
> sounds silly. We could limit building tests/i915/* only if
> host_machine.cpu_family() is x86 or x86_64. But that requires
> revisiting this issue if ever the day comes when i915 can be used on
> other architectures *cough*.

Right, I thought it might not be worth implementing fallback
functions if there is no MIPS hardware on which this test can be
run.  Still it would be a shame to leave i-g-t failing to build
on MIPS.

> Apropos, compile-testing on MIPS in gitlab-CI?

This issue was actually hit while building the KernelCI root file
system with i-g-t tests.  We're starting to add some MIPS
platforms, so running the generic DRM/KMS tests on them might
start to make sense at some point (cc khilman).

And yes I guess it seems worth considering adding MIPS to
Gitlab-CI as it only appears to be covering x86, armhf and
arm64 (although I did fix an armhf build issue a few weeks ago).

> A compile-tested-only fallback mechanism suggestion, and a bad spot
> for placing the fallback functions:

Thanks, I agree that does look like a sustainable way forward.
We don't quite have a MIPS platform to test that yet in KernelCI,
so hopefully QEMU can be used to test a fallback implementation.

I guess adding placeholder functions as in your example with
igt_assert_f() statements would just add some technical debt with
little added benefit, so I'll work on a v2 with something that
works.  Meanwhile we'll just skip i-g-t KernelCI builds on MIPS.

> diff --git a/meson.build b/meson.build
> index 557400a5..0552e858 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -246,6 +246,9 @@ endif
>  have = cc.has_function('memfd_create', prefix : '''#include ''', 
> args : '-D_GNU_SOURCE')
>  config.set10('HAVE_MEMFD_CREATE', have)
>  
> +have_atomics = cc.compiles('void f() { int x, y; __sync_add_and_fetch(&x, 
> y); }')
> +config.set10('HAVE_BUILTIN_ATOMICS', have_atomics)
> +
>  add_project_arguments('-D_GNU_SOURCE', language : 'c')
>  add_project_arguments('-include', 'config.h', language : 'c')
>  
> diff --git a/tests/i915/gem_create.c b/tests/i915/gem_create.c
> index 2a861ca8..615bb475 100644
> --- a/tests/i915/gem_create.c
> +++ b/tests/i915/gem_create.c
> @@ -62,6 +62,18 @@ IGT_TEST_DESCRIPTION("This is a test for the extended & 
> old gem_create ioctl,"
>" that includes allocation of object from stolen memory"
>" and shmem.");
>  
> +#if !HAVE_BUILTIN_ATOMICS
> +int __sync_add_and_fetch(void *ptr, uint64_t val)
> +{
> +  igt_assert_f(false, "Don't have builtin atomics\n");
> +}
> +
> +int __sync_val_compare_and_swap(void *ptr, uint64_t old, uint64_t new)
> +{
> +  igt_assert_f(false, "Don't have builtin atomics\n");
> +}
> +#endif
> +
>  #define CLEAR(s) memset(&s, 0, sizeof(s))
>  #define PAGE_SIZE 4096

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

[Intel-gfx] [PATCH] drm/i915: FBC needs vblank before enable / disable.

2019-04-03 Thread kiran . s . kumar
From: Kiran Kumar S 

As per the display workaround #1200, FBC needs wait for vblank before
enabling and before disabling FBC.

In some cases, depending on whether FBC was compressing in that frame,
several control signals in the compression engine also will fail to
properly recognize the final segment of the frame as a result of the
missing last pixel indication. As a result of this, we're seeing
corrupted cache line/compression indicators after FBC re-enables
which causes underruns or corruption when they're used to decompress.

WA sequence as below:
1) Display enables plane 1A
2) Wait for 1 vblank
3) FBC gets enabled
4) Wait for 1 VBLANK
5) Turn off FBC

In GLK Chrome OS, if FBC is enabled by default, few top lines on the screen
got corrupted. With the above WA, issue was resolved.

Signed-off-by: Kiran Kumar S 
---
 drivers/gpu/drm/i915/intel_display.c | 10 +-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/intel_display.c 
b/drivers/gpu/drm/i915/intel_display.c
index 8576a7f799f2..97c9af921ae1 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -13207,8 +13207,12 @@ static void intel_update_crtc(struct drm_crtc *crtc,
 
if (pipe_config->update_pipe && !pipe_config->enable_fbc)
intel_fbc_disable(intel_crtc);
-   else if (new_plane_state)
+   else if (new_plane_state) {
+   /* Display WA #1200: GLK */
+   if (IS_GEMINILAKE(dev_priv))
+   intel_wait_for_vblank(dev_priv, intel_crtc->pipe);
intel_fbc_enable(intel_crtc, pipe_config, new_plane_state);
+   }
 
intel_begin_crtc_commit(crtc, old_crtc_state);
 
@@ -13419,6 +13423,10 @@ static void intel_atomic_commit_tail(struct 
drm_atomic_state *state)
 
dev_priv->display.crtc_disable(old_intel_crtc_state, 
state);
intel_crtc->active = false;
+   /* Display WA #1200: GLK */
+   if (IS_GEMINILAKE(dev_priv))
+   intel_wait_for_vblank(dev_priv,
+   intel_crtc->pipe);
intel_fbc_disable(intel_crtc);
intel_disable_shared_dpll(old_intel_crtc_state);
 
-- 
2.7.4

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

Re: [Intel-gfx] [PATCH] drm/i915: Fix uninitialized mask in intel_device_info_subplatform_init

2019-04-03 Thread Chris Wilson
Quoting Tvrtko Ursulin (2019-04-03 07:44:07)
> From: Tvrtko Ursulin 
> 
> Mask need to be initialized to zero since device id checks may not match.
> 
> Signed-off-by: Tvrtko Ursulin 
> Reported-by: Dan Carpenter 
> Fixes: 805446c8347c ("drm/i915: Introduce concept of a sub-platform")
> Cc: Tvrtko Ursulin 
> Cc: Chris Wilson 
> Cc: Jani Nikula 
> Cc: Lucas De Marchi 
> Cc: Jose Souza 
> Cc: Ville Syrjälä 
> Cc: Paulo Zanoni 
> Cc: Jani Nikula 
> Cc: Joonas Lahtinen 
> Cc: Rodrigo Vivi 
> Cc: Dan Carpenter 

Bots are doing a better job than me, but still
Reviewed-by: Chris Wilson 
-Chris
 
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

[Intel-gfx] [PATCH] drm/i915: FBC needs vblank before enable / disable.

2019-04-03 Thread kiran . s . kumar
From: Kiran Kumar S 

As per the display workaround #1200, FBC needs wait for vblank before
enabling and before disabling FBC.

In some cases, depending on whether FBC was compressing in that frame,
several control signals in the compression engine also will fail to
properly recognize the final segment of the frame as a result of the
missing last pixel indication. As a result of this, we're seeing
corrupted cache line/compression indicators after FBC re-enables
which causes underruns or corruption when they're used to decompress.

WA sequence as below:
1) Display enables plane 1A
2) Wait for 1 vblank
3) FBC gets enabled
4) Wait for 1 VBLANK
5) Turn off FBC

In GLK Chrome OS, if FBC is enabled by default, few top lines on the screen
got corrupted. With the above WA, issue was resolved.

Signed-off-by: Kiran Kumar S 
---
 drivers/gpu/drm/i915/intel_display.c | 8 +++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/intel_display.c 
b/drivers/gpu/drm/i915/intel_display.c
index 8576a7f799f2..90360dfc674b 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -13207,8 +13207,12 @@ static void intel_update_crtc(struct drm_crtc *crtc,
 
if (pipe_config->update_pipe && !pipe_config->enable_fbc)
intel_fbc_disable(intel_crtc);
-   else if (new_plane_state)
+   else if (new_plane_state) {
+   /* Display WA #1200: GLK */
+   if (IS_GEMINILAKE(dev_priv))
+   intel_wait_for_vblank(dev_priv, intel_crtc->pipe);
intel_fbc_enable(intel_crtc, pipe_config, new_plane_state);
+   }
 
intel_begin_crtc_commit(crtc, old_crtc_state);
 
@@ -13419,6 +13423,8 @@ static void intel_atomic_commit_tail(struct 
drm_atomic_state *state)
 
dev_priv->display.crtc_disable(old_intel_crtc_state, 
state);
intel_crtc->active = false;
+   /* Display WA #1200: GLK */
+   intel_wait_for_vblank(dev_priv, intel_crtc->pipe);
intel_fbc_disable(intel_crtc);
intel_disable_shared_dpll(old_intel_crtc_state);
 
-- 
2.7.4

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

[Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915: FBC needs vblank before enable / disable. (rev4)

2019-04-03 Thread Patchwork
== Series Details ==

Series: drm/i915: FBC needs vblank before enable / disable. (rev4)
URL   : https://patchwork.freedesktop.org/series/58843/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_5860 -> Patchwork_12668


Summary
---

  **FAILURE**

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

  External URL: 
https://patchwork.freedesktop.org/api/1.0/series/58843/revisions/4/mbox/

Possible new issues
---

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

### IGT changes ###

 Possible regressions 

  * igt@debugfs_test@read_all_entries:
- fi-byt-j1900:   PASS -> DMESG-WARN

  * igt@gem_ctx_create@basic:
- fi-icl-y:   PASS -> INCOMPLETE

  * igt@gem_exec_suspend@basic-s3:
- fi-kbl-r:   PASS -> DMESG-WARN
- fi-skl-lmem:PASS -> DMESG-WARN
- fi-bdw-gvtdvm:  PASS -> DMESG-WARN
- fi-skl-iommu:   PASS -> DMESG-WARN
- fi-icl-u2:  PASS -> DMESG-WARN
- fi-bsw-kefka:   PASS -> DMESG-WARN
- fi-byt-clapper: PASS -> DMESG-WARN
- fi-skl-gvtdvm:  PASS -> DMESG-WARN
- fi-skl-6600u:   PASS -> DMESG-WARN

  * igt@runner@aborted:
- fi-ilk-650: NOTRUN -> FAIL
- fi-pnv-d510:NOTRUN -> FAIL
- fi-bdw-gvtdvm:  NOTRUN -> FAIL
- fi-hsw-peppy:   NOTRUN -> FAIL
- fi-icl-u2:  NOTRUN -> FAIL
- fi-gdg-551: NOTRUN -> FAIL
- fi-snb-2520m:   NOTRUN -> FAIL
- fi-hsw-4770:NOTRUN -> FAIL
- fi-whl-u:   NOTRUN -> FAIL
- fi-icl-u3:  NOTRUN -> FAIL
- fi-ivb-3770:NOTRUN -> FAIL
- fi-byt-j1900:   NOTRUN -> FAIL
- fi-blb-e6850:   NOTRUN -> FAIL
- fi-bsw-kefka:   NOTRUN -> FAIL
- fi-hsw-4770r:   NOTRUN -> FAIL
- fi-byt-clapper: NOTRUN -> FAIL
- fi-bdw-5557u:   NOTRUN -> FAIL
- fi-bwr-2160:NOTRUN -> FAIL
- fi-byt-n2820:   NOTRUN -> FAIL
- fi-elk-e7500:   NOTRUN -> FAIL

  
Known issues


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

### IGT changes ###

 Issues hit 

  * igt@gem_exec_suspend@basic-s3:
- fi-icl-u3:  PASS -> DMESG-WARN [fdo#109638]

  * igt@runner@aborted:
- fi-cfl-8109u:   NOTRUN -> FAIL [k.org#202107] / [k.org#202109]
- fi-bxt-j4205:   NOTRUN -> FAIL [fdo#109516]
- fi-skl-iommu:   NOTRUN -> FAIL [fdo#104108]
- fi-cfl-guc: NOTRUN -> FAIL [k.org#202107] / [k.org#202109]
- fi-kbl-7567u:   NOTRUN -> FAIL [fdo#108903] / [fdo#108904] / 
[fdo#108905]
- fi-skl-guc: NOTRUN -> FAIL [fdo#104108]
- fi-skl-6700k2:  NOTRUN -> FAIL [fdo#104108]
- fi-kbl-x1275:   NOTRUN -> FAIL [fdo#108903] / [fdo#108904] / 
[fdo#108905]
- fi-cfl-8700k:   NOTRUN -> FAIL [k.org#202107] / [k.org#202109]
- fi-skl-6600u:   NOTRUN -> FAIL [fdo#104108]
- fi-skl-lmem:NOTRUN -> FAIL [fdo#104108]
- fi-kbl-r:   NOTRUN -> FAIL [fdo#109383]
- fi-skl-6770hq:  NOTRUN -> FAIL [fdo#104108]
- fi-skl-gvtdvm:  NOTRUN -> FAIL [fdo#104108]
- fi-snb-2600:NOTRUN -> FAIL [fdo#108929]

  
 Warnings 

  * igt@gem_exec_suspend@basic-s3:
- fi-whl-u:   FAIL [fdo#103375] -> DMESG-FAIL [fdo#103375]

  
  [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
  [fdo#104108]: https://bugs.freedesktop.org/show_bug.cgi?id=104108
  [fdo#108903]: https://bugs.freedesktop.org/show_bug.cgi?id=108903
  [fdo#108904]: https://bugs.freedesktop.org/show_bug.cgi?id=108904
  [fdo#108905]: https://bugs.freedesktop.org/show_bug.cgi?id=108905
  [fdo#108929]: https://bugs.freedesktop.org/show_bug.cgi?id=108929
  [fdo#109383]: https://bugs.freedesktop.org/show_bug.cgi?id=109383
  [fdo#109516]: https://bugs.freedesktop.org/show_bug.cgi?id=109516
  [fdo#109638]: https://bugs.freedesktop.org/show_bug.cgi?id=109638
  [k.org#202107]: https://bugzilla.kernel.org/show_bug.cgi?id=202107
  [k.org#202109]: https://bugzilla.kernel.org/show_bug.cgi?id=202109


Participating hosts (46 -> 41)
--

  Additional (2): fi-hsw-4770r fi-snb-2600 
  Missing(7): fi-kbl-soraka fi-ilk-m540 fi-bsw-n3050 fi-byt-squawks 
fi-ctg-p8600 fi-icl-dsi fi-bdw-samus 


Build changes
-

* Linux: CI_DRM_5860 -> Patchwork_12668

  CI_DRM_5860: 837ba3cd997b59e53903ba29f4fe65c81f86f1e9 @ 
git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4923: 6285eec4f3b8f21833d9d2d852883569d6551822 @ 
git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_12668: 02d1d129c0901cf4cc393c4bc26da

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/icl: Set GCP_COLOR_INDICATION only for 10/12 bit deep color (rev3)

2019-04-03 Thread Patchwork
== Series Details ==

Series: drm/i915/icl: Set GCP_COLOR_INDICATION only for 10/12 bit deep color 
(rev3)
URL   : https://patchwork.freedesktop.org/series/58912/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
464216adb294 drm/i915/icl: Set GCP_COLOR_INDICATION only for 10/12 bit deep 
color
-:47: WARNING:BLOCK_COMMENT_STYLE: Block comments use a trailing */ on a 
separate line
#47: FILE: drivers/gpu/drm/i915/intel_hdmi.c:968:
+* */

total: 0 errors, 1 warnings, 0 checks, 14 lines checked

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

  1   2   >