[Intel-gfx] ✗ Fi.CI.IGT: failure for series starting with [v2] drm/i915/guc: Allow preempt-client to be NULL (rev4)

2018-02-03 Thread Patchwork
== Series Details ==

Series: series starting with [v2] drm/i915/guc: Allow preempt-client to be NULL 
(rev4)
URL   : https://patchwork.freedesktop.org/series/37395/
State : failure

== Summary ==

Test gem_eio:
Subgroup in-flight-contexts:
dmesg-warn -> PASS   (shard-snb) fdo#104058
Test perf:
Subgroup oa-exponents:
pass   -> FAIL   (shard-apl) fdo#102254
Test kms_flip:
Subgroup 2x-plain-flip-ts-check:
fail   -> PASS   (shard-hsw)
Subgroup 2x-flip-vs-expired-vblank-interruptible:
fail   -> PASS   (shard-hsw) fdo#102887
Test perf_pmu:
Subgroup busy-double-start-vcs0:
pass   -> INCOMPLETE (shard-apl)
Test kms_pipe_crc_basic:
Subgroup nonblocking-crc-pipe-a-frame-sequence:
pass   -> FAIL   (shard-apl) fdo#103481
Test kms_cursor_legacy:
Subgroup 2x-long-flip-vs-cursor-legacy:
pass   -> FAIL   (shard-hsw) fdo#104873
Subgroup flip-vs-cursor-toggle:
fail   -> PASS   (shard-hsw) fdo#102670 +1
Test kms_setmode:
Subgroup basic:
fail   -> PASS   (shard-hsw) fdo#99912

fdo#104058 https://bugs.freedesktop.org/show_bug.cgi?id=104058
fdo#102254 https://bugs.freedesktop.org/show_bug.cgi?id=102254
fdo#102887 https://bugs.freedesktop.org/show_bug.cgi?id=102887
fdo#103481 https://bugs.freedesktop.org/show_bug.cgi?id=103481
fdo#104873 https://bugs.freedesktop.org/show_bug.cgi?id=104873
fdo#102670 https://bugs.freedesktop.org/show_bug.cgi?id=102670
fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912

shard-apltotal:2795 pass:1723 dwarn:1   dfail:0   fail:21  skip:1049 
time:12048s
shard-hswtotal:2836 pass:1733 dwarn:1   dfail:0   fail:11  skip:1090 
time:11710s
shard-snbtotal:2836 pass:1328 dwarn:1   dfail:0   fail:10  skip:1497 
time:6382s
Blacklisted hosts:
shard-kbltotal:2836 pass:1872 dwarn:1   dfail:0   fail:21  skip:942 
time:9340s

== Logs ==

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


[Intel-gfx] ✗ Fi.CI.IGT: warning for tests: Add a random load generator

2018-02-03 Thread Patchwork
== Series Details ==

Series: tests: Add a random load generator
URL   : https://patchwork.freedesktop.org/series/37601/
State : warning

== Summary ==

Test kms_setmode:
Subgroup basic:
fail   -> PASS   (shard-hsw) fdo#99912
Test gem_linear_blits:
Subgroup normal:
pass   -> SKIP   (shard-apl)
Test kms_flip:
Subgroup 2x-plain-flip-ts-check:
fail   -> PASS   (shard-hsw)
Subgroup 2x-flip-vs-expired-vblank-interruptible:
fail   -> PASS   (shard-hsw) fdo#102887
Subgroup blocking-wf_vblank:
pass   -> DMESG-FAIL (shard-hsw) fdo#103928
Subgroup 2x-plain-flip-fb-recreate:
pass   -> FAIL   (shard-hsw) fdo#100368
Test perf:
Subgroup oa-exponents:
pass   -> FAIL   (shard-apl) fdo#102254
Subgroup polling:
pass   -> FAIL   (shard-hsw) fdo#102252
Test gem_eio:
Subgroup in-flight-contexts:
dmesg-warn -> PASS   (shard-snb) fdo#104058 +1
Subgroup in-flight-suspend:
fail   -> PASS   (shard-hsw) fdo#104676
Test kms_cursor_legacy:
Subgroup flip-vs-cursor-atomic:
fail   -> PASS   (shard-hsw) fdo#102670

fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912
fdo#102887 https://bugs.freedesktop.org/show_bug.cgi?id=102887
fdo#103928 https://bugs.freedesktop.org/show_bug.cgi?id=103928
fdo#100368 https://bugs.freedesktop.org/show_bug.cgi?id=100368
fdo#102254 https://bugs.freedesktop.org/show_bug.cgi?id=102254
fdo#102252 https://bugs.freedesktop.org/show_bug.cgi?id=102252
fdo#104058 https://bugs.freedesktop.org/show_bug.cgi?id=104058
fdo#104676 https://bugs.freedesktop.org/show_bug.cgi?id=104676
fdo#102670 https://bugs.freedesktop.org/show_bug.cgi?id=102670

shard-apltotal:2750 pass:1682 dwarn:1   dfail:0   fail:21  skip:1044 
time:11875s
shard-hswtotal:2750 pass:1667 dwarn:1   dfail:1   fail:11  skip:1067 
time:11629s
shard-snbtotal:2750 pass:1273 dwarn:1   dfail:1   fail:10  skip:1463 
time:6461s
Blacklisted hosts:
shard-kbltotal:2720 pass:1778 dwarn:1   dfail:1   fail:21  skip:916 
time:9355s

== Logs ==

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


Re: [Intel-gfx] [PATCH v10] drm/i915/icl: Gen11 forcewake support

2018-02-03 Thread kbuild test robot
Hi Daniele,

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-20180202]
[cannot apply to v4.15]
[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/Michel-Thierry/drm-i915-icl-Gen11-forcewake-support/20180204-034751
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
config: x86_64-randconfig-u0-02040445 (attached as .config)
compiler: gcc-5 (Debian 5.5.0-3) 5.4.1 20171010
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64 

All errors (new ones prefixed by >>):

   In file included from drivers/gpu//drm/i915/i915_drv.h:56:0,
from drivers/gpu//drm/i915/intel_uncore.c:24:
   drivers/gpu//drm/i915/intel_uncore.c:903:12: error: 'GEN11_BSD_RING_BASE' 
undeclared here (not in a function)
 RING_TAIL(GEN11_BSD_RING_BASE),  /* 0x1C (base) */
   ^
   drivers/gpu//drm/i915/i915_reg.h:123:47: note: in definition of macro '_MMIO'
#define _MMIO(r) ((const i915_reg_t){ .reg = (r) })
  ^
   drivers/gpu//drm/i915/intel_uncore.c:903:2: note: in expansion of macro 
'RING_TAIL'
 RING_TAIL(GEN11_BSD_RING_BASE),  /* 0x1C (base) */
 ^
>> drivers/gpu//drm/i915/intel_uncore.c:904:12: error: 'GEN11_BSD2_RING_BASE' 
>> undeclared here (not in a function)
 RING_TAIL(GEN11_BSD2_RING_BASE), /* 0x1C4000 (base) */
   ^
   drivers/gpu//drm/i915/i915_reg.h:123:47: note: in definition of macro '_MMIO'
#define _MMIO(r) ((const i915_reg_t){ .reg = (r) })
  ^
   drivers/gpu//drm/i915/intel_uncore.c:904:2: note: in expansion of macro 
'RING_TAIL'
 RING_TAIL(GEN11_BSD2_RING_BASE), /* 0x1C4000 (base) */
 ^
>> drivers/gpu//drm/i915/intel_uncore.c:905:12: error: 'GEN11_VEBOX_RING_BASE' 
>> undeclared here (not in a function)
 RING_TAIL(GEN11_VEBOX_RING_BASE), /* 0x1C8000 (base) */
   ^
   drivers/gpu//drm/i915/i915_reg.h:123:47: note: in definition of macro '_MMIO'
#define _MMIO(r) ((const i915_reg_t){ .reg = (r) })
  ^
   drivers/gpu//drm/i915/intel_uncore.c:905:2: note: in expansion of macro 
'RING_TAIL'
 RING_TAIL(GEN11_VEBOX_RING_BASE), /* 0x1C8000 (base) */
 ^
>> drivers/gpu//drm/i915/intel_uncore.c:906:12: error: 'GEN11_BSD3_RING_BASE' 
>> undeclared here (not in a function)
 RING_TAIL(GEN11_BSD3_RING_BASE), /* 0x1D (base) */
   ^
   drivers/gpu//drm/i915/i915_reg.h:123:47: note: in definition of macro '_MMIO'
#define _MMIO(r) ((const i915_reg_t){ .reg = (r) })
  ^
   drivers/gpu//drm/i915/intel_uncore.c:906:2: note: in expansion of macro 
'RING_TAIL'
 RING_TAIL(GEN11_BSD3_RING_BASE), /* 0x1D (base) */
 ^
>> drivers/gpu//drm/i915/intel_uncore.c:907:12: error: 'GEN11_BSD4_RING_BASE' 
>> undeclared here (not in a function)
 RING_TAIL(GEN11_BSD4_RING_BASE), /* 0x1D4000 (base) */
   ^
   drivers/gpu//drm/i915/i915_reg.h:123:47: note: in definition of macro '_MMIO'
#define _MMIO(r) ((const i915_reg_t){ .reg = (r) })
  ^
   drivers/gpu//drm/i915/intel_uncore.c:907:2: note: in expansion of macro 
'RING_TAIL'
 RING_TAIL(GEN11_BSD4_RING_BASE), /* 0x1D4000 (base) */
 ^
>> drivers/gpu//drm/i915/intel_uncore.c:908:12: error: 'GEN11_VEBOX2_RING_BASE' 
>> undeclared here (not in a function)
 RING_TAIL(GEN11_VEBOX2_RING_BASE), /* 0x1D8000 (base) */
   ^
   drivers/gpu//drm/i915/i915_reg.h:123:47: note: in definition of macro '_MMIO'
#define _MMIO(r) ((const i915_reg_t){ .reg = (r) })
  ^
   drivers/gpu//drm/i915/intel_uncore.c:908:2: note: in expansion of macro 
'RING_TAIL'
 RING_TAIL(GEN11_VEBOX2_RING_BASE), /* 0x1D8000 (base) */
 ^
   drivers/gpu//drm/i915/intel_uncore.c: In function 
'intel_uncore_fw_domains_init':
>> drivers/gpu//drm/i915/intel_uncore.c:1382:19: error: 'I915_MAX_VCS' 
>> undeclared (first use in this function)
  for (i = 0; i < I915_MAX_VCS; i++) {
  ^
   drivers/gpu//drm/i915/intel_uncore.c:1382:19: note: each undeclared 
identifier is reported only once for each function it appears in
   drivers/gpu//drm/i915/intel_uncore.c:1382:17: warning: comparison between 
pointer and integer
  for (i = 0; i < I915_MAX_VCS; i++) {
^
>> drivers/gpu//drm/i915/intel_uncore.c:1390:19: error: 'I915_MAX_VECS' 
>> undeclared (first use in this function)
  for (i = 0; i < I915_MAX_VECS; i++) {
  ^
   drivers/gpu//drm/i915/intel_uncore.c:1390:17: warning: comparison between 
pointer and integer
  for (i = 0; i < I915_MAX_VECS; i++) {
^
   In 

Re: [Intel-gfx] [PATCH v10] drm/i915/icl: Gen11 forcewake support

2018-02-03 Thread kbuild test robot
Hi Daniele,

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-20180202]
[cannot apply to v4.15]
[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/Michel-Thierry/drm-i915-icl-Gen11-forcewake-support/20180204-034751
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
config: i386-randconfig-x019-201805 (attached as .config)
compiler: gcc-7 (Debian 7.2.0-12) 7.2.1 20171025
reproduce:
# save the attached .config to linux build tree
make ARCH=i386 

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

   In file included from drivers/gpu/drm/i915/i915_drv.h:56:0,
from drivers/gpu/drm/i915/intel_uncore.c:24:
>> drivers/gpu/drm/i915/intel_uncore.c:903:12: error: 'GEN11_BSD_RING_BASE' 
>> undeclared here (not in a function); did you mean 'GEN6_BSD_RING_BASE'?
 RING_TAIL(GEN11_BSD_RING_BASE),  /* 0x1C (base) */
   ^
   drivers/gpu/drm/i915/i915_reg.h:123:47: note: in definition of macro '_MMIO'
#define _MMIO(r) ((const i915_reg_t){ .reg = (r) })
  ^
>> drivers/gpu/drm/i915/intel_uncore.c:903:2: note: in expansion of macro 
>> 'RING_TAIL'
 RING_TAIL(GEN11_BSD_RING_BASE),  /* 0x1C (base) */
 ^
>> drivers/gpu/drm/i915/intel_uncore.c:904:12: error: 'GEN11_BSD2_RING_BASE' 
>> undeclared here (not in a function); did you mean 'GEN11_BSD_RING_BASE'?
 RING_TAIL(GEN11_BSD2_RING_BASE), /* 0x1C4000 (base) */
   ^
   drivers/gpu/drm/i915/i915_reg.h:123:47: note: in definition of macro '_MMIO'
#define _MMIO(r) ((const i915_reg_t){ .reg = (r) })
  ^
   drivers/gpu/drm/i915/intel_uncore.c:904:2: note: in expansion of macro 
'RING_TAIL'
 RING_TAIL(GEN11_BSD2_RING_BASE), /* 0x1C4000 (base) */
 ^
>> drivers/gpu/drm/i915/intel_uncore.c:905:12: error: 'GEN11_VEBOX_RING_BASE' 
>> undeclared here (not in a function); did you mean 'GEN11_BSD_RING_BASE'?
 RING_TAIL(GEN11_VEBOX_RING_BASE), /* 0x1C8000 (base) */
   ^
   drivers/gpu/drm/i915/i915_reg.h:123:47: note: in definition of macro '_MMIO'
#define _MMIO(r) ((const i915_reg_t){ .reg = (r) })
  ^
   drivers/gpu/drm/i915/intel_uncore.c:905:2: note: in expansion of macro 
'RING_TAIL'
 RING_TAIL(GEN11_VEBOX_RING_BASE), /* 0x1C8000 (base) */
 ^
>> drivers/gpu/drm/i915/intel_uncore.c:906:12: error: 'GEN11_BSD3_RING_BASE' 
>> undeclared here (not in a function); did you mean 'GEN11_BSD2_RING_BASE'?
 RING_TAIL(GEN11_BSD3_RING_BASE), /* 0x1D (base) */
   ^
   drivers/gpu/drm/i915/i915_reg.h:123:47: note: in definition of macro '_MMIO'
#define _MMIO(r) ((const i915_reg_t){ .reg = (r) })
  ^
   drivers/gpu/drm/i915/intel_uncore.c:906:2: note: in expansion of macro 
'RING_TAIL'
 RING_TAIL(GEN11_BSD3_RING_BASE), /* 0x1D (base) */
 ^
>> drivers/gpu/drm/i915/intel_uncore.c:907:12: error: 'GEN11_BSD4_RING_BASE' 
>> undeclared here (not in a function); did you mean 'GEN11_BSD3_RING_BASE'?
 RING_TAIL(GEN11_BSD4_RING_BASE), /* 0x1D4000 (base) */
   ^
   drivers/gpu/drm/i915/i915_reg.h:123:47: note: in definition of macro '_MMIO'
#define _MMIO(r) ((const i915_reg_t){ .reg = (r) })
  ^
   drivers/gpu/drm/i915/intel_uncore.c:907:2: note: in expansion of macro 
'RING_TAIL'
 RING_TAIL(GEN11_BSD4_RING_BASE), /* 0x1D4000 (base) */
 ^
>> drivers/gpu/drm/i915/intel_uncore.c:908:12: error: 'GEN11_VEBOX2_RING_BASE' 
>> undeclared here (not in a function); did you mean 'GEN11_VEBOX_RING_BASE'?
 RING_TAIL(GEN11_VEBOX2_RING_BASE), /* 0x1D8000 (base) */
   ^
   drivers/gpu/drm/i915/i915_reg.h:123:47: note: in definition of macro '_MMIO'
#define _MMIO(r) ((const i915_reg_t){ .reg = (r) })
  ^
   drivers/gpu/drm/i915/intel_uncore.c:908:2: note: in expansion of macro 
'RING_TAIL'
 RING_TAIL(GEN11_VEBOX2_RING_BASE), /* 0x1D8000 (base) */
 ^
   drivers/gpu/drm/i915/intel_uncore.c: In function 
'intel_uncore_fw_domains_init':
>> drivers/gpu/drm/i915/intel_uncore.c:1382:19: error: 'I915_MAX_VCS' 
>> undeclared (first use in this function); did you mean 'I915_MAP_WC'?
  for (i = 0; i < I915_MAX_VCS; i++) {
  ^~~~
  I915_MAP_WC
   drivers/gpu/drm/i915/intel_uncore.c:1382:19: note: each undeclared 
identifier is reported only once for each function it appears in
>> drivers/gpu/drm/i915/intel_uncore.c:1382:17: warning: comparison between 
>> pointer and integer
  for (i = 0; i < I915_MAX_VCS; i++) {
^
>> 

Re: [Intel-gfx] i915 PSR test results and cursor lag

2018-02-03 Thread Andy Lutomirski
On Fri, Feb 2, 2018 at 7:18 PM, Andy Lutomirski  wrote:
> On Fri, Feb 2, 2018 at 1:24 AM, Andy Lutomirski  wrote:
>> On Thu, Feb 1, 2018 at 9:20 PM, Chris Wilson  
>> wrote:
>>> Quoting Andy Lutomirski (2018-02-01 21:04:30)
 I got this after a recent suspend/resume:

 Feb 01 09:44:34 laptop systemd-logind[2412]: Lid closed.
 Feb 01 09:44:34 laptop systemd-logind[2412]: device-enumerator: scan all 
 dirs
 Feb 01 09:44:34 laptop systemd-logind[2412]:   device-enumerator:
 scanning /sys/bus
 Feb 01 09:44:34 laptop systemd-logind[2412]:   device-enumerator:
 scanning /sys/class
 Feb 01 09:44:34 laptop systemd-logind[2412]: Failed to open
 configuration file '/etc/systemd/sleep.conf': No such file or
 directory
 Feb 01 09:44:34 laptop systemd-logind[2412]: Suspending...
 Feb 01 09:44:34 laptop systemd-logind[2412]: Sent message type=signal
 sender=n/a destination=n/a object=/org/freedesktop/login1
 interface=org.freedesktop.login1.Manager member=PrepareForSleep
 cookie=570 reply
 Feb 01 09:44:34 laptop systemd-logind[2412]: Got message
 type=method_call sender=:1.46 destination=:1.1
 object=/org/freedesktop/login1/session/_32
 interface=org.freedesktop.login1.Session member=ReleaseDevice
 Feb 01 09:44:34 laptop systemd-logind[2412]: Sent message type=signal
 sender=n/a destination=:1.46
 object=/org/freedesktop/login1/session/_32
 interface=org.freedesktop.login1.Session member=PauseDevice cookie
 Feb 01 09:44:34 laptop gnome-shell[2630]: Failed to apply DRM plane
 transform 0: Permission denied
 Feb 01 09:44:34 laptop gnome-shell[2630]: drmModeSetCursor2 failed
 with (Permission denied), drawing cursor with OpenGL from now on

 But I don't see the word "cursor" in my system logs before the first
 suspend.  What am I looking for?  This is Fedora 27 running a Gnome
 Wayland session, but it hasn't been reinstalled in some time, so it's
 possible that there are some weird settings sitting around.  But I did
 check and I have no weird i915 parameters.
>>>
>>> You are using gnome-shell as the display server. From that it appears to
>>> have started off with a HW cursor and switched to a SW cursor after
>>> suspend. Did you notice a change in behaviour? After rebooting or just
>>> restarting gnome-shell?
>>
>> I think it's less consistently bad after a reboot before suspending.
>>
>>>
 Also, are these things potentially related:

 [ 3067.702527] [drm:intel_pipe_update_start [i915]] *ERROR* Potential
 atomic update failure on pipe A
>>>
>>> They are just "missed the immediate vblank for the screen update"
>>> messages. Should not be related to PSR, but may cause jitter by delaying
>>> the odd screen update.
>>
>> I just got this one, and the timestamp is at least reasonably close to
>> a giant latency spike:
>>
>> [  288.799654] [drm:intel_pipe_update_end [i915]] *ERROR* Atomic
>> update failure on pipe A (start=31 end=32) time 15 us, min 1073, max
>> 1079, scanline start 1087, end 1088
>>
>>>
 As I'm typing this, I've seen a couple instances of what seems like a
 full *second* of cursor latency, but I've only gotten the potential
 atomic update failure once.

 And is there any straightforward tracing to do to distinguish between
 PSR exit latency and other potential sources of latency?
>>>
>>> It looks plausible that we could at least report how long it takes the
>>> registers to reflect the change in state (but we don't). The best source
>>> of information atm is /sys/kernel/debug/dri/0/i915_edp_psr_status.
>>
>> Hmm.
>>
>> I went and looked at the code, and I noticed what could be bugs or
>> could (more likely) be my confusion since I don't know this code at
>> all:
>>
>> intel_single_frame_update() does something inscrutable to me, but I
>> imagine it does something that causes the next page flip to get
>> noticed by the panel even with PSR on.  But how does the code that
>> calls it know that anything happened?  (Looking at the commit history,
>> maybe this is something special that's only needed on some platforms
>> but doesn't replace the normal PSR exit sequence.)
>>
>> Perhaps more interestingly, intel_psr_flush() does this:
>>
>> /* By definition flush = invalidate + flush */
>> if (frontbuffer_bits)
>> intel_psr_exit(dev_priv);
>>
>> if (!dev_priv->psr.active && !dev_priv->psr.busy_frontbuffer_bits)
>> if (!work_busy(_priv->psr.work.work))
>> schedule_delayed_work(_priv->psr.work,
>>   msecs_to_jiffies(100));
>>
>> I'm guessing that the idea is that we're turning off PSR because we
>> want the panel to update and we expect that, in 100ms, the update will
>> have hit the panel and we'll have been idle long enough for it to make
>> sense to re-enter PSR.  IOW, the code wants PSR to be off for at least
>> 100ms 

Re: [Intel-gfx] i915 PSR test results and cursor lag

2018-02-03 Thread Andy Lutomirski
On Sat, Feb 3, 2018 at 5:20 AM, Pandiyan, Dhinakaran
 wrote:
>
> On Fri, 2018-02-02 at 19:18 +, Andy Lutomirski wrote:
>> I updated to 4.15, and the situation is much worse.  With
>> enable_psr=1, the system survives for several seconds and then the
>> screen stops updating entirely.  If I boot with i915.enable_psr=1, I
>> get to the Fedora login screen and then the system dies.  If I set
>> enable_psr=1 using sysfs, it does a bit after the next resume.  It
>> seems like it also sometimes hangs even worse a bit after the screen
>> stops updating, but it's hard to tell.
>
> The login screen freeze sounds like what I have. Does this system have
> DMC firmware? If yes, can you try this series
> https://patchwork.freedesktop.org/series/37598/. You'll only need
> patches 1,8,9 and 10.

That fixes the hang.  Feel free to add:

Tested-by: Andy Lutomirski 

to the i915 parts.  Also, any chance of getting it into the 4.15 stable kernels?

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


[Intel-gfx] ✗ Fi.CI.IGT: failure for drm/i915/breadcrumbs: Drop request reference for the signaler thread (rev2)

2018-02-03 Thread Patchwork
== Series Details ==

Series: drm/i915/breadcrumbs: Drop request reference for the signaler thread 
(rev2)
URL   : https://patchwork.freedesktop.org/series/36908/
State : failure

== Summary ==

Test perf_pmu:
Subgroup busy-double-start-vcs0:
pass   -> INCOMPLETE (shard-apl)
Test kms_cursor_legacy:
Subgroup flip-vs-cursor-atomic:
fail   -> PASS   (shard-hsw) fdo#102670 +1
Test kms_flip:
Subgroup flip-vs-absolute-wf_vblank-interruptible:
pass   -> FAIL   (shard-hsw) fdo#100368
Subgroup 2x-flip-vs-expired-vblank-interruptible:
fail   -> PASS   (shard-hsw) fdo#102887
Subgroup 2x-plain-flip-ts-check:
fail   -> PASS   (shard-hsw)
Test kms_rotation_crc:
Subgroup bad-tiling:
pass   -> FAIL   (shard-apl) fdo#103925
Test gem_eio:
Subgroup in-flight-contexts:
dmesg-warn -> PASS   (shard-snb) fdo#104058
Test kms_draw_crc:
Subgroup fill-fb:
pass   -> SKIP   (shard-snb)

fdo#102670 https://bugs.freedesktop.org/show_bug.cgi?id=102670
fdo#100368 https://bugs.freedesktop.org/show_bug.cgi?id=100368
fdo#102887 https://bugs.freedesktop.org/show_bug.cgi?id=102887
fdo#103925 https://bugs.freedesktop.org/show_bug.cgi?id=103925
fdo#104058 https://bugs.freedesktop.org/show_bug.cgi?id=104058

shard-apltotal:2795 pass:1724 dwarn:1   dfail:0   fail:20  skip:1049 
time:12065s
shard-hswtotal:2836 pass:1732 dwarn:1   dfail:0   fail:12  skip:1090 
time:11572s
shard-snbtotal:2836 pass:1327 dwarn:1   dfail:0   fail:10  skip:1498 
time:6385s
Blacklisted hosts:
shard-kbltotal:2836 pass:1870 dwarn:3   dfail:0   fail:22  skip:941 
time:9372s

== Logs ==

For more details see: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7878/shards.html
___
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 [v2] drm/i915/guc: Allow preempt-client to be NULL (rev4)

2018-02-03 Thread Patchwork
== Series Details ==

Series: series starting with [v2] drm/i915/guc: Allow preempt-client to be NULL 
(rev4)
URL   : https://patchwork.freedesktop.org/series/37395/
State : success

== Summary ==

Series 37395v4 series starting with [v2] drm/i915/guc: Allow preempt-client to 
be NULL
https://patchwork.freedesktop.org/api/1.0/series/37395/revisions/4/mbox/

Test debugfs_test:
Subgroup read_all_entries:
pass   -> INCOMPLETE (fi-snb-2520m) fdo#103713
Test gem_mmap_gtt:
Subgroup basic-small-bo-tiledx:
pass   -> FAIL   (fi-gdg-551) fdo#102575

fdo#103713 https://bugs.freedesktop.org/show_bug.cgi?id=103713
fdo#102575 https://bugs.freedesktop.org/show_bug.cgi?id=102575

fi-bdw-5557u total:288  pass:267  dwarn:0   dfail:0   fail:0   skip:21  
time:420s
fi-bdw-gvtdvmtotal:288  pass:264  dwarn:0   dfail:0   fail:0   skip:24  
time:423s
fi-blb-e6850 total:288  pass:223  dwarn:1   dfail:0   fail:0   skip:64  
time:372s
fi-bsw-n3050 total:288  pass:242  dwarn:0   dfail:0   fail:0   skip:46  
time:485s
fi-bwr-2160  total:288  pass:183  dwarn:0   dfail:0   fail:0   skip:105 
time:283s
fi-bxt-dsi   total:288  pass:258  dwarn:0   dfail:0   fail:0   skip:30  
time:480s
fi-bxt-j4205 total:288  pass:259  dwarn:0   dfail:0   fail:0   skip:29  
time:483s
fi-byt-j1900 total:288  pass:253  dwarn:0   dfail:0   fail:0   skip:35  
time:469s
fi-byt-n2820 total:288  pass:249  dwarn:0   dfail:0   fail:0   skip:39  
time:454s
fi-cfl-s2total:288  pass:262  dwarn:0   dfail:0   fail:0   skip:26  
time:562s
fi-elk-e7500 total:288  pass:229  dwarn:0   dfail:0   fail:0   skip:59  
time:412s
fi-gdg-551   total:288  pass:179  dwarn:0   dfail:0   fail:1   skip:108 
time:278s
fi-glk-1 total:288  pass:260  dwarn:0   dfail:0   fail:0   skip:28  
time:511s
fi-hsw-4770  total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  
time:392s
fi-hsw-4770r total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  
time:401s
fi-ilk-650   total:288  pass:228  dwarn:0   dfail:0   fail:0   skip:60  
time:414s
fi-ivb-3520m total:288  pass:259  dwarn:0   dfail:0   fail:0   skip:29  
time:451s
fi-ivb-3770  total:288  pass:255  dwarn:0   dfail:0   fail:0   skip:33  
time:412s
fi-kbl-7500u total:288  pass:263  dwarn:1   dfail:0   fail:0   skip:24  
time:456s
fi-kbl-7560u total:288  pass:269  dwarn:0   dfail:0   fail:0   skip:19  
time:496s
fi-kbl-7567u total:288  pass:268  dwarn:0   dfail:0   fail:0   skip:20  
time:454s
fi-kbl-r total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  
time:502s
fi-pnv-d510  total:288  pass:222  dwarn:1   dfail:0   fail:0   skip:65  
time:581s
fi-skl-6260u total:288  pass:268  dwarn:0   dfail:0   fail:0   skip:20  
time:431s
fi-skl-6600u total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  
time:508s
fi-skl-6700hqtotal:288  pass:262  dwarn:0   dfail:0   fail:0   skip:26  
time:530s
fi-skl-6700k2total:288  pass:264  dwarn:0   dfail:0   fail:0   skip:24  
time:488s
fi-skl-6770hqtotal:288  pass:268  dwarn:0   dfail:0   fail:0   skip:20  
time:483s
fi-skl-guc   total:288  pass:260  dwarn:0   dfail:0   fail:0   skip:28  
time:414s
fi-skl-gvtdvmtotal:288  pass:265  dwarn:0   dfail:0   fail:0   skip:23  
time:431s
fi-snb-2520m total:3pass:2dwarn:0   dfail:0   fail:0   skip:0  
fi-snb-2600  total:288  pass:248  dwarn:0   dfail:0   fail:0   skip:40  
time:400s
Blacklisted hosts:
fi-glk-dsi   total:288  pass:152  dwarn:1   dfail:4   fail:0   skip:131 
time:263s

2e76a2952923eba64c4f9baf461613bc42ee997a drm-tip: 2018y-02m-02d-20h-33m-12s UTC 
integration manifest
d28ada97885a drm/i915: Only allocate preempt context when required
6166a85814ef drm/i915: Move the scheduler feature bits into the purview of the 
engines
3c85087dcfae drm/i915/guc: Allow preempt-client to be NULL

== Logs ==

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


[Intel-gfx] ✓ Fi.CI.BAT: success for tests: Add a random load generator

2018-02-03 Thread Patchwork
== Series Details ==

Series: tests: Add a random load generator
URL   : https://patchwork.freedesktop.org/series/37601/
State : success

== Summary ==

IGT patchset tested on top of latest successful build
c219cc5307474cb53612ca759354f9473955e110 tools: Clear unused fields in register 
spec

with latest DRM-Tip kernel build CI_DRM_3720
2e76a2952923 drm-tip: 2018y-02m-02d-20h-33m-12s UTC integration manifest

Testlist changes:
+igt@gem_exec_load@all
+igt@gem_exec_load@blt
+igt@gem_exec_load@bsd
+igt@gem_exec_load@bsd1
+igt@gem_exec_load@bsd2
+igt@gem_exec_load@pulse
+igt@gem_exec_load@render
+igt@gem_exec_load@vebox

Test gem_mmap_gtt:
Subgroup basic-small-bo-tiledx:
pass   -> FAIL   (fi-gdg-551) fdo#102575
Test kms_pipe_crc_basic:
Subgroup suspend-read-crc-pipe-b:
pass   -> INCOMPLETE (fi-snb-2520m) fdo#103713

fdo#102575 https://bugs.freedesktop.org/show_bug.cgi?id=102575
fdo#103713 https://bugs.freedesktop.org/show_bug.cgi?id=103713

fi-bdw-5557u total:288  pass:267  dwarn:0   dfail:0   fail:0   skip:21  
time:420s
fi-bdw-gvtdvmtotal:288  pass:264  dwarn:0   dfail:0   fail:0   skip:24  
time:424s
fi-blb-e6850 total:288  pass:223  dwarn:1   dfail:0   fail:0   skip:64  
time:374s
fi-bsw-n3050 total:288  pass:242  dwarn:0   dfail:0   fail:0   skip:46  
time:487s
fi-bwr-2160  total:288  pass:183  dwarn:0   dfail:0   fail:0   skip:105 
time:282s
fi-bxt-dsi   total:288  pass:258  dwarn:0   dfail:0   fail:0   skip:30  
time:481s
fi-bxt-j4205 total:288  pass:259  dwarn:0   dfail:0   fail:0   skip:29  
time:487s
fi-byt-j1900 total:288  pass:253  dwarn:0   dfail:0   fail:0   skip:35  
time:470s
fi-byt-n2820 total:288  pass:249  dwarn:0   dfail:0   fail:0   skip:39  
time:461s
fi-cfl-s2total:288  pass:262  dwarn:0   dfail:0   fail:0   skip:26  
time:566s
fi-elk-e7500 total:288  pass:229  dwarn:0   dfail:0   fail:0   skip:59  
time:416s
fi-gdg-551   total:288  pass:179  dwarn:0   dfail:0   fail:1   skip:108 
time:281s
fi-glk-1 total:288  pass:260  dwarn:0   dfail:0   fail:0   skip:28  
time:517s
fi-hsw-4770  total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  
time:392s
fi-hsw-4770r total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  
time:399s
fi-ilk-650   total:288  pass:228  dwarn:0   dfail:0   fail:0   skip:60  
time:413s
fi-ivb-3520m total:288  pass:259  dwarn:0   dfail:0   fail:0   skip:29  
time:450s
fi-ivb-3770  total:288  pass:255  dwarn:0   dfail:0   fail:0   skip:33  
time:417s
fi-kbl-7500u total:288  pass:263  dwarn:1   dfail:0   fail:0   skip:24  
time:457s
fi-kbl-7560u total:288  pass:269  dwarn:0   dfail:0   fail:0   skip:19  
time:494s
fi-kbl-7567u total:288  pass:268  dwarn:0   dfail:0   fail:0   skip:20  
time:454s
fi-kbl-r total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  
time:501s
fi-pnv-d510  total:288  pass:222  dwarn:1   dfail:0   fail:0   skip:65  
time:574s
fi-skl-6260u total:288  pass:268  dwarn:0   dfail:0   fail:0   skip:20  
time:432s
fi-skl-6600u total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  
time:508s
fi-skl-6700hqtotal:288  pass:262  dwarn:0   dfail:0   fail:0   skip:26  
time:527s
fi-skl-6700k2total:288  pass:264  dwarn:0   dfail:0   fail:0   skip:24  
time:493s
fi-skl-6770hqtotal:288  pass:268  dwarn:0   dfail:0   fail:0   skip:20  
time:488s
fi-skl-guc   total:288  pass:260  dwarn:0   dfail:0   fail:0   skip:28  
time:417s
fi-skl-gvtdvmtotal:288  pass:265  dwarn:0   dfail:0   fail:0   skip:23  
time:430s
fi-snb-2520m total:245  pass:211  dwarn:0   dfail:0   fail:0   skip:33 
fi-snb-2600  total:288  pass:248  dwarn:0   dfail:0   fail:0   skip:40  
time:406s
Blacklisted hosts:
fi-glk-dsi   total:288  pass:258  dwarn:0   dfail:0   fail:0   skip:30  
time:470s

== Logs ==

For more details see: 
https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_860/issues.html
___
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/breadcrumbs: Drop request reference for the signaler thread (rev2)

2018-02-03 Thread Patchwork
== Series Details ==

Series: drm/i915/breadcrumbs: Drop request reference for the signaler thread 
(rev2)
URL   : https://patchwork.freedesktop.org/series/36908/
State : success

== Summary ==

Series 36908v2 drm/i915/breadcrumbs: Drop request reference for the signaler 
thread
https://patchwork.freedesktop.org/api/1.0/series/36908/revisions/2/mbox/

Test gem_mmap_gtt:
Subgroup basic-small-bo-tiledx:
pass   -> FAIL   (fi-gdg-551) fdo#102575
Test kms_pipe_crc_basic:
Subgroup suspend-read-crc-pipe-b:
pass   -> INCOMPLETE (fi-snb-2520m) fdo#103713

fdo#102575 https://bugs.freedesktop.org/show_bug.cgi?id=102575
fdo#103713 https://bugs.freedesktop.org/show_bug.cgi?id=103713

fi-bdw-5557u total:288  pass:267  dwarn:0   dfail:0   fail:0   skip:21  
time:421s
fi-bdw-gvtdvmtotal:288  pass:264  dwarn:0   dfail:0   fail:0   skip:24  
time:425s
fi-blb-e6850 total:288  pass:223  dwarn:1   dfail:0   fail:0   skip:64  
time:370s
fi-bsw-n3050 total:288  pass:242  dwarn:0   dfail:0   fail:0   skip:46  
time:481s
fi-bwr-2160  total:288  pass:183  dwarn:0   dfail:0   fail:0   skip:105 
time:280s
fi-bxt-dsi   total:288  pass:258  dwarn:0   dfail:0   fail:0   skip:30  
time:476s
fi-bxt-j4205 total:288  pass:259  dwarn:0   dfail:0   fail:0   skip:29  
time:487s
fi-byt-j1900 total:288  pass:253  dwarn:0   dfail:0   fail:0   skip:35  
time:465s
fi-byt-n2820 total:288  pass:249  dwarn:0   dfail:0   fail:0   skip:39  
time:463s
fi-cfl-s2total:288  pass:262  dwarn:0   dfail:0   fail:0   skip:26  
time:568s
fi-elk-e7500 total:288  pass:229  dwarn:0   dfail:0   fail:0   skip:59  
time:410s
fi-gdg-551   total:288  pass:179  dwarn:0   dfail:0   fail:1   skip:108 
time:277s
fi-glk-1 total:288  pass:260  dwarn:0   dfail:0   fail:0   skip:28  
time:513s
fi-hsw-4770  total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  
time:386s
fi-hsw-4770r total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  
time:395s
fi-ilk-650   total:288  pass:228  dwarn:0   dfail:0   fail:0   skip:60  
time:408s
fi-ivb-3520m total:288  pass:259  dwarn:0   dfail:0   fail:0   skip:29  
time:468s
fi-ivb-3770  total:288  pass:255  dwarn:0   dfail:0   fail:0   skip:33  
time:410s
fi-kbl-7500u total:288  pass:263  dwarn:1   dfail:0   fail:0   skip:24  
time:460s
fi-kbl-7560u total:288  pass:269  dwarn:0   dfail:0   fail:0   skip:19  
time:495s
fi-kbl-7567u total:288  pass:268  dwarn:0   dfail:0   fail:0   skip:20  
time:452s
fi-kbl-r total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  
time:497s
fi-pnv-d510  total:288  pass:222  dwarn:1   dfail:0   fail:0   skip:65  
time:572s
fi-skl-6260u total:288  pass:268  dwarn:0   dfail:0   fail:0   skip:20  
time:428s
fi-skl-6600u total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  
time:506s
fi-skl-6700hqtotal:288  pass:262  dwarn:0   dfail:0   fail:0   skip:26  
time:527s
fi-skl-6700k2total:288  pass:264  dwarn:0   dfail:0   fail:0   skip:24  
time:483s
fi-skl-6770hqtotal:288  pass:268  dwarn:0   dfail:0   fail:0   skip:20  
time:473s
fi-skl-guc   total:288  pass:260  dwarn:0   dfail:0   fail:0   skip:28  
time:414s
fi-skl-gvtdvmtotal:288  pass:265  dwarn:0   dfail:0   fail:0   skip:23  
time:429s
fi-snb-2520m total:245  pass:211  dwarn:0   dfail:0   fail:0   skip:33 
fi-snb-2600  total:288  pass:248  dwarn:0   dfail:0   fail:0   skip:40  
time:392s
Blacklisted hosts:
fi-glk-dsi   total:288  pass:258  dwarn:0   dfail:0   fail:0   skip:30  
time:470s

2e76a2952923eba64c4f9baf461613bc42ee997a drm-tip: 2018y-02m-02d-20h-33m-12s UTC 
integration manifest
60b9a2f8d1e9 drm/i915/breadcrumbs: Drop request reference for the signaler 
thread

== Logs ==

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


[Intel-gfx] [PATCH v2] drm/i915: Only allocate preempt context when required

2018-02-03 Thread Chris Wilson
If we remove some hardcoded assumptions about the preempt context having
a fixed id, reserved from use by normal user contexts, we may only
allocate the i915_gem_context when required. Then the subsequent
decisions on using preemption reduce to having the preempt context
available.

v2: Include an assert that we don't allocate the preempt context twice.

Signed-off-by: Chris Wilson 
Cc: Michal Winiarski 
Cc: Tvrtko Ursulin 
Cc: Arkadiusz Hiler 
Cc: Mika Kuoppala 
Cc: Daniele Ceraolo Spurio 
Acked-by: Daniele Ceraolo Spurio 
---
 drivers/gpu/drm/i915/i915_gem_context.c  | 31 
 drivers/gpu/drm/i915/intel_engine_cs.c   |  6 ++---
 drivers/gpu/drm/i915/intel_guc_submission.c  | 24 +-
 drivers/gpu/drm/i915/intel_lrc.c | 17 -
 drivers/gpu/drm/i915/intel_ringbuffer.h  |  5 
 drivers/gpu/drm/i915/selftests/mock_gem_device.c |  6 -
 6 files changed, 48 insertions(+), 41 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_gem_context.c 
b/drivers/gpu/drm/i915/i915_gem_context.c
index 8337d15bb0e5..dd9efb9d0e0b 100644
--- a/drivers/gpu/drm/i915/i915_gem_context.c
+++ b/drivers/gpu/drm/i915/i915_gem_context.c
@@ -449,12 +449,18 @@ destroy_kernel_context(struct i915_gem_context **ctxp)
i915_gem_context_free(ctx);
 }
 
+static bool needs_preempt_context(struct drm_i915_private *i915)
+{
+   return HAS_LOGICAL_RING_PREEMPTION(i915);
+}
+
 int i915_gem_contexts_init(struct drm_i915_private *dev_priv)
 {
struct i915_gem_context *ctx;
-   int err;
 
+   /* Reassure ourselves we are only called once */
GEM_BUG_ON(dev_priv->kernel_context);
+   GEM_BUG_ON(dev_priv->preempt_context);
 
INIT_LIST_HEAD(_priv->contexts.list);
INIT_WORK(_priv->contexts.free_work, contexts_free_worker);
@@ -468,8 +474,7 @@ int i915_gem_contexts_init(struct drm_i915_private 
*dev_priv)
ctx = i915_gem_context_create_kernel(dev_priv, I915_PRIORITY_MIN);
if (IS_ERR(ctx)) {
DRM_ERROR("Failed to create default global context\n");
-   err = PTR_ERR(ctx);
-   goto err;
+   return PTR_ERR(ctx);
}
/*
 * For easy recognisablity, we want the kernel context to be 0 and then
@@ -479,23 +484,18 @@ int i915_gem_contexts_init(struct drm_i915_private 
*dev_priv)
dev_priv->kernel_context = ctx;
 
/* highest priority; preempting task */
-   ctx = i915_gem_context_create_kernel(dev_priv, INT_MAX);
-   if (IS_ERR(ctx)) {
-   DRM_ERROR("Failed to create default preempt context\n");
-   err = PTR_ERR(ctx);
-   goto err_kernel_context;
+   if (needs_preempt_context(dev_priv)) {
+   ctx = i915_gem_context_create_kernel(dev_priv, INT_MAX);
+   if (!IS_ERR(ctx))
+   dev_priv->preempt_context = ctx;
+   else
+   DRM_ERROR("Failed to create preempt context; disabling 
preemption\n");
}
-   dev_priv->preempt_context = ctx;
 
DRM_DEBUG_DRIVER("%s context support initialized\n",
 dev_priv->engine[RCS]->context_size ? "logical" :
 "fake");
return 0;
-
-err_kernel_context:
-   destroy_kernel_context(_priv->kernel_context);
-err:
-   return err;
 }
 
 void i915_gem_contexts_lost(struct drm_i915_private *dev_priv)
@@ -521,7 +521,8 @@ void i915_gem_contexts_fini(struct drm_i915_private *i915)
 {
lockdep_assert_held(>drm.struct_mutex);
 
-   destroy_kernel_context(>preempt_context);
+   if (i915->preempt_context)
+   destroy_kernel_context(>preempt_context);
destroy_kernel_context(>kernel_context);
 
/* Must free all deferred contexts (via flush_workqueue) first */
diff --git a/drivers/gpu/drm/i915/intel_engine_cs.c 
b/drivers/gpu/drm/i915/intel_engine_cs.c
index 7eebfbb95e89..bf634432c9c6 100644
--- a/drivers/gpu/drm/i915/intel_engine_cs.c
+++ b/drivers/gpu/drm/i915/intel_engine_cs.c
@@ -631,7 +631,7 @@ int intel_engine_init_common(struct intel_engine_cs *engine)
 * Similarly the preempt context must always be available so that
 * we can interrupt the engine at any time.
 */
-   if (HAS_LOGICAL_RING_PREEMPTION(engine->i915)) {
+   if (engine->i915->preempt_context) {
ring = engine->context_pin(engine,
   engine->i915->preempt_context);
if (IS_ERR(ring)) {
@@ -656,7 +656,7 @@ int intel_engine_init_common(struct intel_engine_cs *engine)
 err_breadcrumbs:
intel_engine_fini_breadcrumbs(engine);
 err_unpin_preempt:
-   if (HAS_LOGICAL_RING_PREEMPTION(engine->i915))
+ 

[Intel-gfx] ✗ Fi.CI.IGT: failure for drm/i915/selftests: Flush old resets between engines (rev2)

2018-02-03 Thread Patchwork
== Series Details ==

Series: drm/i915/selftests: Flush old resets between engines (rev2)
URL   : https://patchwork.freedesktop.org/series/37591/
State : failure

== Summary ==

Test kms_flip:
Subgroup 2x-flip-vs-expired-vblank-interruptible:
fail   -> PASS   (shard-hsw) fdo#102887
Subgroup 2x-plain-flip-ts-check:
fail   -> PASS   (shard-hsw)
Test perf_pmu:
Subgroup busy-double-start-vcs0:
pass   -> INCOMPLETE (shard-apl)
Test kms_cursor_crc:
Subgroup cursor-64x64-random:
pass   -> SKIP   (shard-snb)
Test kms_plane:
Subgroup plane-position-hole-dpms-pipe-a-planes:
pass   -> SKIP   (shard-snb)
Test kms_cursor_legacy:
Subgroup flip-vs-cursor-toggle:
fail   -> PASS   (shard-hsw) fdo#102670 +1
Subgroup 2x-long-flip-vs-cursor-legacy:
pass   -> FAIL   (shard-hsw) fdo#104873
Test gem_eio:
Subgroup in-flight-contexts:
dmesg-warn -> PASS   (shard-snb) fdo#104058
Test perf:
Subgroup enable-disable:
pass   -> FAIL   (shard-apl) fdo#103715
Subgroup polling:
pass   -> FAIL   (shard-hsw) fdo#102252

fdo#102887 https://bugs.freedesktop.org/show_bug.cgi?id=102887
fdo#102670 https://bugs.freedesktop.org/show_bug.cgi?id=102670
fdo#104873 https://bugs.freedesktop.org/show_bug.cgi?id=104873
fdo#104058 https://bugs.freedesktop.org/show_bug.cgi?id=104058
fdo#103715 https://bugs.freedesktop.org/show_bug.cgi?id=103715
fdo#102252 https://bugs.freedesktop.org/show_bug.cgi?id=102252

shard-apltotal:2795 pass:1724 dwarn:1   dfail:0   fail:20  skip:1049 
time:11953s
shard-hswtotal:2836 pass:1731 dwarn:1   dfail:0   fail:13  skip:1090 
time:11525s
shard-snbtotal:2836 pass:1326 dwarn:1   dfail:0   fail:10  skip:1499 
time:6366s
Blacklisted hosts:
shard-kbltotal:2836 pass:1872 dwarn:1   dfail:0   fail:22  skip:941 
time:9376s

== Logs ==

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


[Intel-gfx] [PATCH igt v2] tests: Add a random load generator

2018-02-03 Thread Chris Wilson
Apply a random load to one or all engines in order to apply stress to
RPS as it tries to constantly adjust the GPU frequency to meet the
changing workload.

This can be used to reproduce the byt (j1900) system hang.

v2: igt_until_timeout

Signed-off-by: Chris Wilson 
---
 tests/Makefile.sources |   1 +
 tests/gem_exec_load.c  | 176 +
 2 files changed, 177 insertions(+)
 create mode 100644 tests/gem_exec_load.c

diff --git a/tests/Makefile.sources b/tests/Makefile.sources
index 870c90935..8b5a18680 100644
--- a/tests/Makefile.sources
+++ b/tests/Makefile.sources
@@ -79,6 +79,7 @@ TESTS_progs = \
gem_exec_gttfill \
gem_exec_latency \
gem_exec_lut_handle \
+   gem_exec_load \
gem_exec_nop \
gem_exec_parallel \
gem_exec_params \
diff --git a/tests/gem_exec_load.c b/tests/gem_exec_load.c
new file mode 100644
index 0..ba88466a9
--- /dev/null
+++ b/tests/gem_exec_load.c
@@ -0,0 +1,176 @@
+/*
+ * Copyright © 2018 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ */
+
+#include "igt.h"
+#include "igt_rand.h"
+#include "igt_sysfs.h"
+
+IGT_TEST_DESCRIPTION("Apply a random load to each engine");
+
+static inline uint32_t randmax(uint32_t *state, uint32_t ep_ro)
+{
+   return (uint64_t)hars_petruska_f54_1_random(state) * ep_ro >> 32;
+}
+
+static void one(int fd, unsigned int engine, int scale, unsigned int timeout)
+{
+   uint32_t prng = engine;
+   igt_spin_t *spin[2] = {};
+   unsigned int max;
+   int sysfs;
+
+   sysfs = igt_sysfs_open(fd, NULL);
+
+   max = sysfs < 0 ? 1 : igt_sysfs_get_u32(sysfs, "gt_max_freq_mhz");
+
+   igt_until_timeout(timeout) {
+   /*
+* For every second, we randomly assign a desire % busyness
+* and the frequency with which to submit a batch, defining
+* a pulse-width modulation (pwm).
+*/
+   unsigned int pwm = randmax(, 1000);
+   unsigned int load = randmax(, pwm / scale);
+   const unsigned int interval = 1e6 / pwm;
+   unsigned int cur =
+   max > 1 ? igt_sysfs_get_u32(sysfs, "gt_cur_freq_mhz") : 
1;
+
+   while (pwm--) {
+   if (randmax(, pwm * cur) <= load * max) {
+   spin[1] = __igt_spin_batch_new(fd, 0, engine, 
0);
+   load--;
+   }
+   igt_spin_batch_free(fd, spin[0]);
+   spin[0] = spin[1];
+   spin[1] = NULL;
+
+   usleep(interval);
+   }
+   }
+   igt_spin_batch_free(fd, spin[0]);
+
+   close(sysfs);
+}
+
+static void all(int fd, unsigned int timeout)
+{
+   unsigned int engines[16];
+   unsigned int nengine;
+   unsigned int engine;
+
+   nengine = 0;
+   for_each_engine(fd, engine)
+   engines[nengine++] = engine;
+   igt_require(nengine > 1);
+
+   for (unsigned int n = 0; n < nengine; n++)
+   igt_fork(child, 1)
+   one(fd, engines[n], nengine/2, timeout);
+   igt_waitchildren();
+}
+
+static void pulse(int fd, unsigned int timeout)
+{
+   const uint32_t bbe = MI_BATCH_BUFFER_END;
+   struct drm_i915_gem_exec_object2 obj[2] = {
+   { .flags = EXEC_OBJECT_WRITE },
+   };
+   unsigned int engines[16];
+   unsigned int nengine;
+   unsigned int engine;
+
+   nengine = 0;
+   for_each_engine(fd, engine) {
+   if (engine == 0)
+   continue;
+
+   engines[nengine++] = engine;
+   }
+   igt_require(nengine);
+
+   obj[1].handle = gem_create(fd, 4096);
+   gem_write(fd, obj[1].handle, 0, , sizeof(bbe));
+
+   

[Intel-gfx] [PATCH v2] drm/i915/breadcrumbs: Drop request reference for the signaler thread

2018-02-03 Thread Chris Wilson
If we remember to cancel the signaler on a request when retiring it
(after we know that the request has been signaled), we do not need to
carry an additional request in the signaler itself. This prevents an
issue whereby the signaler threads may be delayed and hold on to
thousands of request references, causing severe memory fragmentation and
premature oom (most noticeable on 32b snb due to the limited GFP_KERNEL
and frequent use of inter-engine fences).

v2: Rename first_signal(), document reads outside of locks.

Signed-off-by: Chris Wilson 
Cc: Tvrtko Ursulin 
---
 drivers/gpu/drm/i915/i915_gem_request.c  |   6 +-
 drivers/gpu/drm/i915/intel_breadcrumbs.c | 150 +--
 2 files changed, 86 insertions(+), 70 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_gem_request.c 
b/drivers/gpu/drm/i915/i915_gem_request.c
index 5ff57211ee06..dc7cc2c55bc7 100644
--- a/drivers/gpu/drm/i915/i915_gem_request.c
+++ b/drivers/gpu/drm/i915/i915_gem_request.c
@@ -555,7 +555,10 @@ static void i915_gem_request_retire(struct 
drm_i915_gem_request *request)
spin_lock_irq(>lock);
if (request->waitboost)
atomic_dec(>i915->gt_pm.rps.num_waiters);
-   dma_fence_signal_locked(>fence);
+   if (!test_bit(DMA_FENCE_FLAG_SIGNALED_BIT, >fence.flags))
+   dma_fence_signal_locked(>fence);
+   if (test_bit(DMA_FENCE_FLAG_ENABLE_SIGNAL_BIT, >fence.flags))
+   intel_engine_cancel_signaling(request);
spin_unlock_irq(>lock);
 
i915_priotree_fini(request->i915, >priotree);
@@ -864,6 +867,7 @@ i915_gem_request_alloc(struct intel_engine_cs *engine,
 
/* No zalloc, must clear what we need by hand */
req->global_seqno = 0;
+   req->signaling.wait.seqno = 0;
req->file_priv = NULL;
req->batch = NULL;
req->capture_list = NULL;
diff --git a/drivers/gpu/drm/i915/intel_breadcrumbs.c 
b/drivers/gpu/drm/i915/intel_breadcrumbs.c
index 62b2a20bc24e..efbc627a2a25 100644
--- a/drivers/gpu/drm/i915/intel_breadcrumbs.c
+++ b/drivers/gpu/drm/i915/intel_breadcrumbs.c
@@ -224,7 +224,7 @@ void intel_engine_disarm_breadcrumbs(struct intel_engine_cs 
*engine)
struct intel_wait *wait, *n;
 
if (!b->irq_armed)
-   goto wakeup_signaler;
+   return;
 
/*
 * We only disarm the irq when we are idle (all requests completed),
@@ -249,14 +249,6 @@ void intel_engine_disarm_breadcrumbs(struct 
intel_engine_cs *engine)
b->waiters = RB_ROOT;
 
spin_unlock_irq(>rb_lock);
-
-   /*
-* The signaling thread may be asleep holding a reference to a request,
-* that had its signaling cancelled prior to being preempted. We need
-* to kick the signaler, just in case, to release any such reference.
-*/
-wakeup_signaler:
-   wake_up_process(b->signaler);
 }
 
 static bool use_fake_irq(const struct intel_breadcrumbs *b)
@@ -633,6 +625,63 @@ static void signaler_set_rtpriority(void)
 sched_setscheduler_nocheck(current, SCHED_FIFO, );
 }
 
+static void __intel_engine_remove_signal(struct intel_engine_cs *engine,
+struct drm_i915_gem_request *request)
+{
+   struct intel_breadcrumbs *b = >breadcrumbs;
+
+   lockdep_assert_held(>rb_lock);
+
+   /*
+* Wake up all other completed waiters and select the
+* next bottom-half for the next user interrupt.
+*/
+   __intel_engine_remove_wait(engine, >signaling.wait);
+
+   /*
+* Find the next oldest signal. Note that as we have
+* not been holding the lock, another client may
+* have installed an even older signal than the one
+* we just completed - so double check we are still
+* the oldest before picking the next one.
+*/
+   if (request->signaling.wait.seqno) {
+   if (request == rcu_access_pointer(b->first_signal)) {
+   struct rb_node *rb = rb_next(>signaling.node);
+   rcu_assign_pointer(b->first_signal,
+  rb ? to_signaler(rb) : NULL);
+   }
+
+   rb_erase(>signaling.node, >signals);
+   request->signaling.wait.seqno = 0;
+   }
+}
+
+static struct drm_i915_gem_request *
+get_first_signal_rcu(struct intel_breadcrumbs *b)
+{
+   /*
+* See the big warnings for i915_gem_active_get_rcu() and similarly
+* for dma_fence_get_rcu_safe() that explain the intricacies involved
+* here with defeating CPU/compiler speculation and enforcing
+* the required memory barriers.
+*/
+   do {
+   struct drm_i915_gem_request *request;
+
+   request = rcu_dereference(b->first_signal);
+   if (request)
+   request = i915_gem_request_get_rcu(request);
+
+   barrier();
+
+ 

Re: [Intel-gfx] [PATCH 6/6] drm/i915: Skip post-reset request emission if the engine is not idle

2018-02-03 Thread Chris Wilson
Quoting Chris Wilson (2018-02-01 10:36:20)
> Since commit 7b6da818d86f ("drm/i915: Restore the kernel context after a
> GPU reset on an idle engine") we submit a request following the engine
> reset. The intent is that we don't submit a request if the engine is
> busy (as it will restart active by itself) but we only checked to see if
> there were remaining requests in flight on the hardware and skipped
> checking to see if there were any ready requests that would be
> immediately submitted on restart (the same time as our new request would
> be). Having convinced the engine to appear idle in the previous patch,
> we can use intel_engine_is_idle() as a better test to only submit a new
> request if there are no pending requests.
> 
> As it happens, this is tripping up igt/drv_selftest/live_hangcheck in CI
> as we overfill the kernel_context ringbuffer trigger an infinite
> recursion from within the reset.
> 
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104786
> References: 7b6da818d86f ("drm/i915: Restore the kernel context after a GPU 
> reset on an idle engine")
> Signed-off-by: Chris Wilson 
> Cc: Mika Kuoppala 
> Cc: Joonas Lahtinen 
> Cc: Michel Thierry 

This would be nice to have fixed in CI.

> ---
>  drivers/gpu/drm/i915/i915_gem.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
> index 088579324c14..c049496e8757 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -3133,7 +3133,7 @@ void i915_gem_reset(struct drm_i915_private *dev_priv)
>  * an incoherent read by the CS (presumably stale TLB). An
>  * empty request appears sufficient to paper over the glitch.
>  */
> -   if (list_empty(>timeline->requests)) {
> +   if (intel_engine_is_idle(engine)) {
> struct drm_i915_gem_request *rq;
>  
> rq = i915_gem_request_alloc(engine,
> -- 
> 2.15.1
> 
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH] drm/i915: Always update the no_fbc_reason when disabling

2018-02-03 Thread Chris Wilson
Quoting Chris Wilson (2018-01-25 22:41:22)
> Provide the reason why we call intel_fbc_deactivate() so that debugging
> issues with FBC being delayed is clearer.
> 
> Signed-off-by: Chris Wilson 

Any takers?

> ---
>  drivers/gpu/drm/i915/intel_fbc.c | 17 ++---
>  1 file changed, 10 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_fbc.c 
> b/drivers/gpu/drm/i915/intel_fbc.c
> index a8a8a80497a8..80682a418a70 100644
> --- a/drivers/gpu/drm/i915/intel_fbc.c
> +++ b/drivers/gpu/drm/i915/intel_fbc.c
> @@ -492,7 +492,8 @@ static void intel_fbc_schedule_activation(struct 
> intel_crtc *crtc)
> schedule_work(>work);
>  }
>  
> -static void intel_fbc_deactivate(struct drm_i915_private *dev_priv)
> +static void intel_fbc_deactivate(struct drm_i915_private *dev_priv,
> +const char *reason)
>  {
> struct intel_fbc *fbc = _priv->fbc;
>  
> @@ -505,6 +506,8 @@ static void intel_fbc_deactivate(struct drm_i915_private 
> *dev_priv)
>  
> if (fbc->active)
> intel_fbc_hw_deactivate(dev_priv);
> +
> +   fbc->no_fbc_reason = reason;
>  }
>  
>  static bool multiple_pipes_ok(struct intel_crtc *crtc,
> @@ -923,6 +926,7 @@ void intel_fbc_pre_update(struct intel_crtc *crtc,
>  {
> struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
> struct intel_fbc *fbc = _priv->fbc;
> +   const char *reason = "update pending";
>  
> if (!fbc_supported(dev_priv))
> return;
> @@ -930,7 +934,7 @@ void intel_fbc_pre_update(struct intel_crtc *crtc,
> mutex_lock(>lock);
>  
> if (!multiple_pipes_ok(crtc, plane_state)) {
> -   fbc->no_fbc_reason = "more than one pipe active";
> +   reason = "more than one pipe active";
> goto deactivate;
> }
>  
> @@ -940,7 +944,7 @@ void intel_fbc_pre_update(struct intel_crtc *crtc,
> intel_fbc_update_state_cache(crtc, crtc_state, plane_state);
>  
>  deactivate:
> -   intel_fbc_deactivate(dev_priv);
> +   intel_fbc_deactivate(dev_priv, reason);
>  unlock:
> mutex_unlock(>lock);
>  }
> @@ -973,9 +977,8 @@ static void __intel_fbc_post_update(struct intel_crtc 
> *crtc)
> intel_fbc_reg_params_equal(_params, >params))
> return;
>  
> -   intel_fbc_deactivate(dev_priv);
> +   intel_fbc_deactivate(dev_priv, "FBC enabled (active or scheduled)");
> intel_fbc_schedule_activation(crtc);
> -   fbc->no_fbc_reason = "FBC enabled (active or scheduled)";
>  }
>  
>  void intel_fbc_post_update(struct intel_crtc *crtc)
> @@ -1016,7 +1019,7 @@ void intel_fbc_invalidate(struct drm_i915_private 
> *dev_priv,
> fbc->busy_bits |= intel_fbc_get_frontbuffer_bit(fbc) & 
> frontbuffer_bits;
>  
> if (fbc->enabled && fbc->busy_bits)
> -   intel_fbc_deactivate(dev_priv);
> +   intel_fbc_deactivate(dev_priv, "frontbuffer write");
>  
> mutex_unlock(>lock);
>  }
> @@ -1246,7 +1249,7 @@ static void intel_fbc_underrun_work_fn(struct 
> work_struct *work)
> DRM_DEBUG_KMS("Disabling FBC due to FIFO underrun.\n");
> fbc->underrun_detected = true;
>  
> -   intel_fbc_deactivate(dev_priv);
> +   intel_fbc_deactivate(dev_priv, "FIFO underrun");
>  out:
> mutex_unlock(>lock);
>  }
> -- 
> 2.15.1
> 
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH igt 2/2] igt/kms_frontbuffer_tracking: Bump the wait time for FBC

2018-02-03 Thread Chris Wilson
Quoting Chris Wilson (2018-01-26 21:39:28)
> Quoting Chris Wilson (2018-01-25 21:28:49)
> > It is taking longer than a couple of seconds for the FBC worker to be
> > executed after scheduling; and then will take a minimum of a vblank
> > interval for it activate. So wait longer to reduce the flip flops.
> > 
> > Signed-off-by: Chris Wilson 
> 
> Any acks?

Still looking for a response here. CI says that 2s isn't enough for FBC
to kick in (it spends most of that time waiting for an invalidate, and
then at the every end about 5ms waiting for the next vblank).

In terms of human response, we don't care so much how long it takes to
enable FBC, but how long it takes to disable; similarly for PSR. The
downside to it taking longer than expected to enable FBC is power
consumption. Is the display block hooked up to rapl?
-Chris
___
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 [01/10] drm/vblank: Data type fixes for 64-bit vblank sequences.

2018-02-03 Thread Patchwork
== Series Details ==

Series: series starting with [01/10] drm/vblank: Data type fixes for 64-bit 
vblank sequences.
URL   : https://patchwork.freedesktop.org/series/37598/
State : failure

== Summary ==

Test perf:
Subgroup blocking:
pass   -> FAIL   (shard-hsw) fdo#102252
Subgroup oa-exponents:
pass   -> FAIL   (shard-apl) fdo#102254
Test kms_flip_tiling:
Subgroup flip-changes-tiling-yf:
pass   -> FAIL   (shard-apl) fdo#103822
Test kms_flip:
Subgroup 2x-plain-flip-ts-check:
fail   -> PASS   (shard-hsw)
Subgroup 2x-flip-vs-expired-vblank-interruptible:
fail   -> PASS   (shard-hsw) fdo#102887
Test kms_cursor_legacy:
Subgroup flip-vs-cursor-toggle:
fail   -> PASS   (shard-hsw) fdo#102670 +1
Test kms_plane_lowres:
Subgroup pipe-b-tiling-none:
pass   -> FAIL   (shard-apl) fdo#103166
Test kms_cursor_crc:
Subgroup cursor-128x128-suspend:
pass   -> INCOMPLETE (shard-hsw) fdo#103540
Test perf_pmu:
Subgroup busy-double-start-vcs0:
pass   -> INCOMPLETE (shard-apl)
Test gem_exec_suspend:
Subgroup basic-s4-devices:
pass   -> INCOMPLETE (shard-hsw) fdo#104874

fdo#102252 https://bugs.freedesktop.org/show_bug.cgi?id=102252
fdo#102254 https://bugs.freedesktop.org/show_bug.cgi?id=102254
fdo#103822 https://bugs.freedesktop.org/show_bug.cgi?id=103822
fdo#102887 https://bugs.freedesktop.org/show_bug.cgi?id=102887
fdo#102670 https://bugs.freedesktop.org/show_bug.cgi?id=102670
fdo#103166 https://bugs.freedesktop.org/show_bug.cgi?id=103166
fdo#103540 https://bugs.freedesktop.org/show_bug.cgi?id=103540
fdo#104874 https://bugs.freedesktop.org/show_bug.cgi?id=104874

shard-apltotal:2795 pass:1722 dwarn:1   dfail:0   fail:22  skip:1049 
time:12044s
shard-hswtotal:2765 pass:1690 dwarn:1   dfail:0   fail:12  skip:1059 
time:10623s
shard-snbtotal:2836 pass:1327 dwarn:2   dfail:0   fail:10  skip:1497 
time:6423s
Blacklisted hosts:
shard-kbltotal:2836 pass:1868 dwarn:5   dfail:0   fail:22  skip:941 
time:9351s

== Logs ==

For more details see: 
https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7875/shards.html
___
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/selftests: Flush old resets between engines (rev2)

2018-02-03 Thread Patchwork
== Series Details ==

Series: drm/i915/selftests: Flush old resets between engines (rev2)
URL   : https://patchwork.freedesktop.org/series/37591/
State : success

== Summary ==

Series 37591v2 drm/i915/selftests: Flush old resets between engines
https://patchwork.freedesktop.org/api/1.0/series/37591/revisions/2/mbox/

Test kms_flip:
Subgroup basic-flip-vs-dpms:
pass   -> DMESG-WARN (fi-skl-6700hq) fdo#101144

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

fi-bdw-5557u total:288  pass:267  dwarn:0   dfail:0   fail:0   skip:21  
time:420s
fi-bdw-gvtdvmtotal:288  pass:264  dwarn:0   dfail:0   fail:0   skip:24  
time:428s
fi-blb-e6850 total:288  pass:223  dwarn:1   dfail:0   fail:0   skip:64  
time:370s
fi-bsw-n3050 total:288  pass:242  dwarn:0   dfail:0   fail:0   skip:46  
time:487s
fi-bwr-2160  total:288  pass:183  dwarn:0   dfail:0   fail:0   skip:105 
time:281s
fi-bxt-dsi   total:288  pass:258  dwarn:0   dfail:0   fail:0   skip:30  
time:480s
fi-bxt-j4205 total:288  pass:259  dwarn:0   dfail:0   fail:0   skip:29  
time:481s
fi-byt-j1900 total:288  pass:253  dwarn:0   dfail:0   fail:0   skip:35  
time:463s
fi-byt-n2820 total:288  pass:249  dwarn:0   dfail:0   fail:0   skip:39  
time:460s
fi-cfl-s2total:288  pass:262  dwarn:0   dfail:0   fail:0   skip:26  
time:564s
fi-elk-e7500 total:288  pass:229  dwarn:0   dfail:0   fail:0   skip:59  
time:408s
fi-gdg-551   total:288  pass:180  dwarn:0   dfail:0   fail:0   skip:108 
time:276s
fi-glk-1 total:288  pass:260  dwarn:0   dfail:0   fail:0   skip:28  
time:507s
fi-hsw-4770  total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  
time:386s
fi-hsw-4770r total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  
time:396s
fi-ilk-650   total:288  pass:228  dwarn:0   dfail:0   fail:0   skip:60  
time:409s
fi-ivb-3520m total:288  pass:259  dwarn:0   dfail:0   fail:0   skip:29  
time:457s
fi-ivb-3770  total:288  pass:255  dwarn:0   dfail:0   fail:0   skip:33  
time:415s
fi-kbl-7500u total:288  pass:263  dwarn:1   dfail:0   fail:0   skip:24  
time:463s
fi-kbl-7560u total:288  pass:269  dwarn:0   dfail:0   fail:0   skip:19  
time:499s
fi-kbl-7567u total:288  pass:268  dwarn:0   dfail:0   fail:0   skip:20  
time:455s
fi-kbl-r total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  
time:498s
fi-pnv-d510  total:288  pass:222  dwarn:1   dfail:0   fail:0   skip:65  
time:575s
fi-skl-6260u total:288  pass:268  dwarn:0   dfail:0   fail:0   skip:20  
time:426s
fi-skl-6600u total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  
time:503s
fi-skl-6700hqtotal:288  pass:261  dwarn:1   dfail:0   fail:0   skip:26  
time:532s
fi-skl-6700k2total:288  pass:264  dwarn:0   dfail:0   fail:0   skip:24  
time:489s
fi-skl-6770hqtotal:288  pass:268  dwarn:0   dfail:0   fail:0   skip:20  
time:475s
fi-skl-guc   total:288  pass:260  dwarn:0   dfail:0   fail:0   skip:28  
time:414s
fi-skl-gvtdvmtotal:288  pass:265  dwarn:0   dfail:0   fail:0   skip:23  
time:429s
fi-snb-2520m total:288  pass:248  dwarn:0   dfail:0   fail:0   skip:40  
time:530s
fi-snb-2600  total:288  pass:248  dwarn:0   dfail:0   fail:0   skip:40  
time:395s
Blacklisted hosts:
fi-glk-dsi   total:288  pass:257  dwarn:0   dfail:0   fail:1   skip:30  
time:460s

2e76a2952923eba64c4f9baf461613bc42ee997a drm-tip: 2018y-02m-02d-20h-33m-12s UTC 
integration manifest
13f2824cb7bb drm/i915/selftests: Flush old resets between engines

== Logs ==

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


[Intel-gfx] ✗ Fi.CI.IGT: failure for drm/i915/selftests: Flush old resets between engines

2018-02-03 Thread Patchwork
== Series Details ==

Series: drm/i915/selftests: Flush old resets between engines
URL   : https://patchwork.freedesktop.org/series/37591/
State : failure

== Summary ==

Test kms_flip:
Subgroup 2x-flip-vs-expired-vblank-interruptible:
fail   -> PASS   (shard-hsw) fdo#102887
Subgroup 2x-plain-flip-ts-check:
fail   -> PASS   (shard-hsw)
Subgroup 2x-plain-flip-fb-recreate-interruptible:
pass   -> FAIL   (shard-hsw)
Test gem_eio:
Subgroup in-flight-contexts:
dmesg-warn -> PASS   (shard-snb) fdo#104058
Test perf:
Subgroup blocking:
pass   -> FAIL   (shard-hsw) fdo#102252
Subgroup oa-exponents:
pass   -> FAIL   (shard-apl) fdo#102254
Subgroup buffer-fill:
pass   -> FAIL   (shard-apl) fdo#103755
Test kms_cursor_legacy:
Subgroup flip-vs-cursor-atomic:
fail   -> PASS   (shard-hsw) fdo#102670 +1
Test perf_pmu:
Subgroup busy-double-start-vcs0:
pass   -> INCOMPLETE (shard-apl)
Test kms_frontbuffer_tracking:
Subgroup fbc-1p-indfb-fliptrack:
pass   -> FAIL   (shard-apl) fdo#103167

fdo#102887 https://bugs.freedesktop.org/show_bug.cgi?id=102887
fdo#104058 https://bugs.freedesktop.org/show_bug.cgi?id=104058
fdo#102252 https://bugs.freedesktop.org/show_bug.cgi?id=102252
fdo#102254 https://bugs.freedesktop.org/show_bug.cgi?id=102254
fdo#103755 https://bugs.freedesktop.org/show_bug.cgi?id=103755
fdo#102670 https://bugs.freedesktop.org/show_bug.cgi?id=102670
fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167

shard-apltotal:2795 pass:1722 dwarn:1   dfail:0   fail:22  skip:1049 
time:11992s
shard-hswtotal:2836 pass:1731 dwarn:1   dfail:0   fail:13  skip:1090 
time:11594s
shard-snbtotal:2836 pass:1328 dwarn:1   dfail:0   fail:10  skip:1497 
time:6386s

== Logs ==

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


[Intel-gfx] ✗ Fi.CI.BAT: warning for drm/i915: Show the GPU state when declaring wedged

2018-02-03 Thread Patchwork
== Series Details ==

Series: drm/i915: Show the GPU state when declaring wedged
URL   : https://patchwork.freedesktop.org/series/37599/
State : warning

== Summary ==

Series 37599v1 drm/i915: Show the GPU state when declaring wedged
https://patchwork.freedesktop.org/api/1.0/series/37599/revisions/1/mbox/

Test gem_mmap_gtt:
Subgroup basic-small-bo-tiledx:
pass   -> FAIL   (fi-gdg-551) fdo#102575
Test gem_sync:
Subgroup basic-all:
pass   -> SKIP   (fi-pnv-d510)
Subgroup basic-each:
pass   -> SKIP   (fi-pnv-d510)
Subgroup basic-many-each:
pass   -> SKIP   (fi-pnv-d510)
Subgroup basic-store-all:
pass   -> SKIP   (fi-pnv-d510)
Subgroup basic-store-each:
pass   -> SKIP   (fi-pnv-d510)
Test gem_tiled_blits:
Subgroup basic:
pass   -> SKIP   (fi-pnv-d510)
Test gem_tiled_fence_blits:
Subgroup basic:
pass   -> SKIP   (fi-pnv-d510)
Test gem_wait:
Subgroup basic-busy-all:
pass   -> SKIP   (fi-pnv-d510)
Subgroup basic-wait-all:
pass   -> SKIP   (fi-pnv-d510)
Subgroup basic-await-all:
pass   -> SKIP   (fi-pnv-d510)
Test kms_busy:
Subgroup basic-flip-a:
pass   -> SKIP   (fi-pnv-d510)
Subgroup basic-flip-b:
pass   -> SKIP   (fi-pnv-d510)
Test kms_cursor_legacy:
Subgroup basic-busy-flip-before-cursor-legacy:
pass   -> SKIP   (fi-pnv-d510)
Test kms_flip:
Subgroup basic-flip-vs-dpms:
pass   -> DMESG-WARN (fi-skl-6700hq) fdo#101144
Test kms_pipe_crc_basic:
Subgroup suspend-read-crc-pipe-b:
pass   -> INCOMPLETE (fi-snb-2520m) fdo#103713

fdo#102575 https://bugs.freedesktop.org/show_bug.cgi?id=102575
fdo#101144 https://bugs.freedesktop.org/show_bug.cgi?id=101144
fdo#103713 https://bugs.freedesktop.org/show_bug.cgi?id=103713

fi-bdw-5557u total:288  pass:267  dwarn:0   dfail:0   fail:0   skip:21  
time:417s
fi-bdw-gvtdvmtotal:288  pass:264  dwarn:0   dfail:0   fail:0   skip:24  
time:424s
fi-blb-e6850 total:288  pass:223  dwarn:1   dfail:0   fail:0   skip:64  
time:371s
fi-bsw-n3050 total:288  pass:242  dwarn:0   dfail:0   fail:0   skip:46  
time:481s
fi-bwr-2160  total:288  pass:183  dwarn:0   dfail:0   fail:0   skip:105 
time:281s
fi-bxt-dsi   total:288  pass:258  dwarn:0   dfail:0   fail:0   skip:30  
time:482s
fi-bxt-j4205 total:288  pass:259  dwarn:0   dfail:0   fail:0   skip:29  
time:480s
fi-byt-j1900 total:288  pass:253  dwarn:0   dfail:0   fail:0   skip:35  
time:461s
fi-byt-n2820 total:288  pass:249  dwarn:0   dfail:0   fail:0   skip:39  
time:453s
fi-cfl-s2total:288  pass:262  dwarn:0   dfail:0   fail:0   skip:26  
time:567s
fi-elk-e7500 total:288  pass:229  dwarn:0   dfail:0   fail:0   skip:59  
time:413s
fi-gdg-551   total:288  pass:179  dwarn:0   dfail:0   fail:1   skip:108 
time:281s
fi-glk-1 total:288  pass:260  dwarn:0   dfail:0   fail:0   skip:28  
time:512s
fi-hsw-4770  total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  
time:385s
fi-hsw-4770r total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  
time:398s
fi-ilk-650   total:288  pass:228  dwarn:0   dfail:0   fail:0   skip:60  
time:410s
fi-ivb-3520m total:288  pass:259  dwarn:0   dfail:0   fail:0   skip:29  
time:456s
fi-ivb-3770  total:288  pass:255  dwarn:0   dfail:0   fail:0   skip:33  
time:410s
fi-kbl-7500u total:288  pass:263  dwarn:1   dfail:0   fail:0   skip:24  
time:460s
fi-kbl-7560u total:288  pass:269  dwarn:0   dfail:0   fail:0   skip:19  
time:494s
fi-kbl-7567u total:288  pass:268  dwarn:0   dfail:0   fail:0   skip:20  
time:451s
fi-kbl-r total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  
time:499s
fi-pnv-d510  total:288  pass:209  dwarn:1   dfail:0   fail:0   skip:78  
time:545s
fi-skl-6260u total:288  pass:268  dwarn:0   dfail:0   fail:0   skip:20  
time:426s
fi-skl-6600u total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  
time:502s
fi-skl-6700hqtotal:288  pass:261  dwarn:1   dfail:0   fail:0   skip:26  
time:529s
fi-skl-6700k2total:288  pass:264  dwarn:0   dfail:0   fail:0   skip:24  
time:484s
fi-skl-6770hqtotal:288  pass:268  dwarn:0   dfail:0   fail:0   skip:20  
time:474s
fi-skl-guc   total:288  pass:260  dwarn:0   dfail:0   fail:0   skip:28  
time:413s
fi-skl-gvtdvmtotal:288  pass:265  dwarn:0   dfail:0   fail:0   skip:23  
time:428s
fi-snb-2520m total:245  pass:211  dwarn:0   dfail:0   fail:0   skip:33 
fi-snb-2600  total:288  pass:248  dwarn:0   dfail:0   fail:0   skip:40  
time:395s
Blacklisted hosts:
fi-glk-dsi   total:288  pass:258  dwarn:0   dfail:0   fail:0   

[Intel-gfx] [PATCH v2] drm/i915/selftests: Flush old resets between engines

2018-02-03 Thread Chris Wilson
When injecting rapid resets, we must be careful to at least wait for the
previous reset to have taken effect and the engine restarted. If we
perform a second reset before that has happened, we will notice that the
engine hasn't recovered and declare it lost, wedging the device and
failing. In practice, since we wait for each hanging batch to start
before injecting the reset, this too-fast-reset condition can only be
triggered when moving onto the next engine in the test, so we need only
wait for the existing reset to complete before switching engines.

v2: Wrap up the wait inside a safety net to bail out in case of angry hw.

Signed-off-by: Chris Wilson 
Cc: Mika Kuoppala 
Cc: Michel Thierry 
---
 drivers/gpu/drm/i915/selftests/intel_hangcheck.c | 65 ++--
 1 file changed, 62 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/selftests/intel_hangcheck.c 
b/drivers/gpu/drm/i915/selftests/intel_hangcheck.c
index d1f91a533afa..a4f4ff22389b 100644
--- a/drivers/gpu/drm/i915/selftests/intel_hangcheck.c
+++ b/drivers/gpu/drm/i915/selftests/intel_hangcheck.c
@@ -244,6 +244,57 @@ static u32 hws_seqno(const struct hang *h,
return READ_ONCE(h->seqno[rq->fence.context % (PAGE_SIZE/sizeof(u32))]);
 }
 
+struct wedge_me {
+   struct delayed_work work;
+   struct drm_i915_private *i915;
+   const void *symbol;
+};
+
+static void wedge_me(struct work_struct *work)
+{
+   struct wedge_me *w = container_of(work, typeof(*w), work.work);
+
+   pr_err("%pS timed out, cancelling all further testing.\n",
+  w->symbol);
+   i915_gem_set_wedged(w->i915);
+}
+
+static void __init_wedge(struct wedge_me *w,
+struct drm_i915_private *i915,
+long timeout,
+const void *symbol)
+{
+   w->i915 = i915;
+   w->symbol = symbol;
+
+   INIT_DELAYED_WORK_ONSTACK(>work, wedge_me);
+   schedule_delayed_work(>work, timeout);
+}
+
+static void __fini_wedge(struct wedge_me *w)
+{
+   cancel_delayed_work_sync(>work);
+   destroy_delayed_work_on_stack(>work);
+   w->i915 = NULL;
+}
+
+#define wedge_on_timeout(W, DEV, TIMEOUT)  \
+   for (__init_wedge((W), (DEV), (TIMEOUT), __builtin_return_address(0)); \
+(W)->i915; \
+__fini_wedge((W)))
+
+static int flush_test(struct drm_i915_private *i915, unsigned int flags)
+{
+   struct wedge_me w;
+
+   cond_resched();
+
+   wedge_on_timeout(, i915, HZ)
+   i915_gem_wait_for_idle(i915, flags);
+
+   return i915_terminally_wedged(>gpu_error) ? -EIO : 0;
+}
+
 static void hang_fini(struct hang *h)
 {
*h->batch = MI_BATCH_BUFFER_END;
@@ -255,7 +306,7 @@ static void hang_fini(struct hang *h)
i915_gem_object_unpin_map(h->hws);
i915_gem_object_put(h->hws);
 
-   i915_gem_wait_for_idle(h->i915, I915_WAIT_LOCKED);
+   flush_test(h->i915, I915_WAIT_LOCKED);
 }
 
 static bool wait_for_hang(struct hang *h, struct drm_i915_gem_request *rq)
@@ -487,7 +538,9 @@ static int __igt_reset_engine(struct drm_i915_private 
*i915, bool active)
if (err)
break;
 
-   cond_resched();
+   err = flush_test(i915, 0);
+   if (err)
+   break;
}
 
if (i915_terminally_wedged(>gpu_error))
@@ -726,7 +779,9 @@ static int __igt_reset_engine_others(struct 
drm_i915_private *i915,
if (err)
break;
 
-   cond_resched();
+   err = flush_test(i915, 0);
+   if (err)
+   break;
}
 
if (i915_terminally_wedged(>gpu_error))
@@ -952,6 +1007,10 @@ static int igt_reset_queue(void *arg)
i915_gem_chipset_flush(i915);
 
i915_gem_request_put(prev);
+
+   err = flush_test(i915, I915_WAIT_LOCKED);
+   if (err)
+   break;
}
 
 fini:
-- 
2.15.1

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


[Intel-gfx] [PATCH] drm/i915: Show the GPU state when declaring wedged

2018-02-03 Thread Chris Wilson
Dump each engine state when i915_gem_set_wedged() is called to give us
some more clues as to why we had to terminate the GPU.

Signed-off-by: Chris Wilson 
Cc: Joonas Lahtinen 
---
 drivers/gpu/drm/i915/i915_gem.c | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 63308ec016a3..cc1d89966737 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -3199,6 +3199,13 @@ void i915_gem_set_wedged(struct drm_i915_private *i915)
struct intel_engine_cs *engine;
enum intel_engine_id id;
 
+   if (drm_debug & DRM_UT_DRIVER) {
+   struct drm_printer p = drm_debug_printer(__func__);
+
+   for_each_engine(engine, i915, id)
+   intel_engine_dump(engine, , "%s\n", engine->name);
+   }
+
/*
 * First, stop submission to hw, but do not yet complete requests by
 * rolling the global seqno forward (since this would complete requests
-- 
2.15.1

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


[Intel-gfx] ✗ Fi.CI.IGT: failure for Adhering to HDCP1.4 Compliance Test Spec (rev3)

2018-02-03 Thread Patchwork
== Series Details ==

Series: Adhering to HDCP1.4 Compliance Test Spec (rev3)
URL   : https://patchwork.freedesktop.org/series/37539/
State : failure

== Summary ==

Test kms_cursor_legacy:
Subgroup flip-vs-cursor-toggle:
fail   -> PASS   (shard-hsw) fdo#102670 +1
Test perf_pmu:
Subgroup busy-double-start-vcs0:
pass   -> INCOMPLETE (shard-apl)
Test kms_flip:
Subgroup 2x-flip-vs-expired-vblank-interruptible:
fail   -> PASS   (shard-hsw) fdo#102887
Test gem_eio:
Subgroup in-flight-contexts:
dmesg-warn -> PASS   (shard-snb) fdo#104058

fdo#102670 https://bugs.freedesktop.org/show_bug.cgi?id=102670
fdo#102887 https://bugs.freedesktop.org/show_bug.cgi?id=102887
fdo#104058 https://bugs.freedesktop.org/show_bug.cgi?id=104058

shard-apltotal:2795 pass:1725 dwarn:1   dfail:0   fail:19  skip:1049 
time:12072s
shard-hswtotal:2836 pass:1732 dwarn:1   dfail:0   fail:12  skip:1090 
time:11548s
shard-snbtotal:2836 pass:1328 dwarn:1   dfail:0   fail:10  skip:1497 
time:6414s
Blacklisted hosts:
shard-kbltotal:2836 pass:1873 dwarn:1   dfail:0   fail:21  skip:941 
time:9349s

== Logs ==

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


Re: [Intel-gfx] [PATCH 01/10] drm/vblank: Data type fixes for 64-bit vblank sequences.

2018-02-03 Thread Keith Packard
Dhinakaran Pandiyan  writes:

> From: "Pandiyan, Dhinakaran" 
>
> drm_vblank_count() has an u32 type returning what is a 64-bit vblank count.
> The effect of this is when drm_wait_vblank_ioctl() tries to widen the user
> space requested vblank sequence using this clipped 32-bit count(when the
> value is >= 2^32) as reference, the requested sequence remains a 32-bit
> value and gets queued like that. However, the code that checks if the
> requested sequence has passed compares this against the 64-bit vblank
> count.

For patches 1-7:

Reviewed-by: Keith Packard 

-- 
-keith


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