intel-gfx.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* ✗ failure: Fi.CI.BAT
  2015-12-18  1:16 [PATCH] drm/i915: HWSTAM is not a thing on SKL+ Ben Widawsky
@ 2015-12-18  8:30 ` Patchwork
  0 siblings, 0 replies; 120+ messages in thread
From: Patchwork @ 2015-12-18  8:30 UTC (permalink / raw)
  To: Ben Widawsky; +Cc: intel-gfx

== Summary ==

HEAD is now at ac2305b drm-intel-nightly: 2015y-12m-17d-16h-19m-23s UTC integration manifest
Applying: drm/i915: HWSTAM is not a thing on SKL+
Repository lacks necessary blobs to fall back on 3-way merge.
Cannot fall back to three-way merge.
Patch failed at 0001 drm/i915: HWSTAM is not a thing on SKL+

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

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

* ✗ failure: Fi.CI.BAT
  2015-12-18  6:27 [PATCH] drm/i915: edp resume/On time optimization abhay.kumar
@ 2015-12-18  9:01 ` Patchwork
  0 siblings, 0 replies; 120+ messages in thread
From: Patchwork @ 2015-12-18  9:01 UTC (permalink / raw)
  To: abhay.kumar; +Cc: intel-gfx

== Summary ==

HEAD is now at ac2305b drm-intel-nightly: 2015y-12m-17d-16h-19m-23s UTC integration manifest
Applying: drm/i915: edp resume/On time optimization.
Repository lacks necessary blobs to fall back on 3-way merge.
Cannot fall back to three-way merge.
Patch failed at 0001 drm/i915: edp resume/On time optimization.

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

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

* ✗ failure: Fi.CI.BAT
  2015-12-18 10:14 [PATCH] drm/i915/vlv: Modifying RC6 Promotion timer for Media workloads Namrta Salonie
@ 2015-12-18 10:30 ` Patchwork
  0 siblings, 0 replies; 120+ messages in thread
From: Patchwork @ 2015-12-18 10:30 UTC (permalink / raw)
  To: Namrta Salonie; +Cc: intel-gfx

== Summary ==

HEAD is now at 3c71db8 drm-intel-nightly: 2015y-12m-18d-09h-42m-49s UTC integration manifest
Applying: drm/i915/vlv: Modifying RC6 Promotion timer for Media workloads.
Repository lacks necessary blobs to fall back on 3-way merge.
Cannot fall back to three-way merge.
Patch failed at 0001 drm/i915/vlv: Modifying RC6 Promotion timer for Media workloads.

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

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

* ✗ failure: Fi.CI.BAT
  2015-12-18 10:53 [PATCH] drm/i915/bdw+: Replace list_del+list_add_tail with list_move_tail Tvrtko Ursulin
@ 2015-12-18 11:49 ` Patchwork
  0 siblings, 0 replies; 120+ messages in thread
From: Patchwork @ 2015-12-18 11:49 UTC (permalink / raw)
  To: Tvrtko Ursulin; +Cc: intel-gfx

== Summary ==

Built on 3c71db89fc37b6061ce6b070ce73f89155da5f20 drm-intel-nightly: 2015y-12m-18d-09h-42m-49s UTC integration manifest

Test igt@kms_flip@basic-flip-vs-wf_vblank on ivb-t430s pass -> dmesg-warn
Test igt@kms_flip@basic-flip-vs-wf_vblank on byt-nuc dmesg-warn -> pass
Test igt@kms_pipe_crc_basic@read-crc-pipe-c-frame-sequence on bsw-nuc-2 pass -> dmesg-warn
Test igt@kms_pipe_crc_basic@hang-read-crc-pipe-a on ivb-t430s dmesg-warn -> pass
Test igt@gem_mmap@basic on byt-nuc dmesg-warn -> pass
Test igt@pm_rpm@basic-rte on byt-nuc dmesg-warn -> pass (UNSTABLE)
Test igt@gem_mmap_gtt@basic-write on bsw-nuc-2 dmesg-warn -> pass
Test igt@kms_pipe_crc_basic@read-crc-pipe-a on byt-nuc dmesg-warn -> pass
Test igt@kms_pipe_crc_basic@read-crc-pipe-c on skl-i5k-2 dmesg-warn -> pass
Test igt@kms_flip@basic-flip-vs-modeset on hsw-brixbox dmesg-warn -> pass
Test igt@kms_flip@basic-flip-vs-modeset on skl-i5k-2 pass -> dmesg-warn
Test igt@kms_pipe_crc_basic@read-crc-pipe-a-frame-sequence on snb-x220t pass -> fail

bsw-nuc-2        total:135  pass:114  dwarn:1   dfail:0   fail:0   skip:20 
byt-nuc          total:135  pass:122  dwarn:0   dfail:0   fail:0   skip:13 
hsw-brixbox      total:135  pass:127  dwarn:1   dfail:0   fail:0   skip:7  
hsw-gt2          total:135  pass:130  dwarn:1   dfail:0   fail:0   skip:4  
ilk-hp8440p      total:135  pass:100  dwarn:0   dfail:0   fail:2   skip:33 
ivb-t430s        total:135  pass:128  dwarn:1   dfail:1   fail:1   skip:4  
skl-i5k-2        total:135  pass:122  dwarn:5   dfail:0   fail:0   skip:8  
skl-i7k-2        total:135  pass:123  dwarn:4   dfail:0   fail:0   skip:8  
snb-dellxps      total:135  pass:121  dwarn:2   dfail:0   fail:0   skip:12 
snb-x220t        total:135  pass:120  dwarn:2   dfail:0   fail:2   skip:11 

Results at /archive/results/CI_IGT_test/Patchwork_714/

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

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

* ✗ failure: Fi.CI.BAT
  2015-12-18 11:59 [RFC] drm/i915/bdw+: Do not emit user interrupts when not needed Tvrtko Ursulin
@ 2015-12-18 12:30 ` Patchwork
  0 siblings, 0 replies; 120+ messages in thread
From: Patchwork @ 2015-12-18 12:30 UTC (permalink / raw)
  To: Tvrtko Ursulin; +Cc: intel-gfx

== Summary ==

HEAD is now at 3c71db8 drm-intel-nightly: 2015y-12m-18d-09h-42m-49s UTC integration manifest
Applying: drm/i915/bdw+: Do not emit user interrupts when not needed
Using index info to reconstruct a base tree...
M	drivers/gpu/drm/i915/intel_lrc.c
Falling back to patching base and 3-way merge...
Auto-merging drivers/gpu/drm/i915/intel_lrc.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/intel_lrc.c
Patch failed at 0001 drm/i915/bdw+: Do not emit user interrupts when not needed

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

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

* ✗ failure: Fi.CI.BAT
  2015-12-18 14:41 [PATCH v9] drm/i915: Extend LRC pinning to cover GPU context writeback Nick Hoath
@ 2015-12-18 15:01 ` Patchwork
  2015-12-21 13:44   ` Daniel Vetter
  0 siblings, 1 reply; 120+ messages in thread
From: Patchwork @ 2015-12-18 15:01 UTC (permalink / raw)
  To: Nick Hoath; +Cc: intel-gfx

== Summary ==

HEAD is now at da33ddb drm-intel-nightly: 2015y-12m-18d-13h-53m-06s UTC integration manifest
Applying: drm/i915: Extend LRC pinning to cover GPU context writeback
Repository lacks necessary blobs to fall back on 3-way merge.
Cannot fall back to three-way merge.
Patch failed at 0001 drm/i915: Extend LRC pinning to cover GPU context writeback

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

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

* ✗ failure: Fi.CI.BAT
  2015-12-18 15:17 [PATCH] Allow userspace to set NULL blob on properties Lionel Landwerlin
@ 2015-12-18 15:30 ` Patchwork
  0 siblings, 0 replies; 120+ messages in thread
From: Patchwork @ 2015-12-18 15:30 UTC (permalink / raw)
  To: Lionel Landwerlin; +Cc: intel-gfx

== Summary ==

HEAD is now at da33ddb drm-intel-nightly: 2015y-12m-18d-13h-53m-06s UTC integration manifest
Applying: drm/atomic: allow setting a blob to NULL using id = 0
Repository lacks necessary blobs to fall back on 3-way merge.
Cannot fall back to three-way merge.
Patch failed at 0001 drm/atomic: allow setting a blob to NULL using id = 0

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

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

* ✗ failure: Fi.CI.BAT
  2015-12-18 17:24 [PATCH] drm/i915: Workaround CHV pipe C cursor fail ville.syrjala
@ 2015-12-18 17:49 ` Patchwork
  0 siblings, 0 replies; 120+ messages in thread
From: Patchwork @ 2015-12-18 17:49 UTC (permalink / raw)
  To: ville.syrjala; +Cc: intel-gfx

== Summary ==

Built on deb496ede4fc5e7affe15640a113ea9b5f1189e0 drm-intel-nightly: 2015y-12m-18d-16h-12m-24s UTC integration manifest

Test gem_storedw_loop:
        Subgroup basic-render:
                dmesg-warn -> PASS       (skl-i5k-2)
Test kms_flip:
        Subgroup basic-flip-vs-modeset:
                pass       -> DMESG-WARN (ilk-hp8440p)
                pass       -> DMESG-WARN (byt-nuc)
Test kms_pipe_crc_basic:
        Subgroup read-crc-pipe-a:
                pass       -> DMESG-WARN (snb-x220t)
        Subgroup read-crc-pipe-a-frame-sequence:
                pass       -> FAIL       (snb-x220t)
        Subgroup read-crc-pipe-c:
                dmesg-warn -> PASS       (bdw-ultra)
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup suspend-read-crc-pipe-a:
                dmesg-warn -> PASS       (snb-x220t)
Test kms_setmode:
        Subgroup basic-clone-single-crtc:
                dmesg-warn -> PASS       (snb-dellxps)
Test pm_rpm:
        Subgroup basic-pci-d3-state:
                pass       -> DMESG-WARN (bdw-ultra)

bdw-ultra        total:132  pass:124  dwarn:2   dfail:0   fail:0   skip:6  
bsw-nuc-2        total:135  pass:115  dwarn:0   dfail:0   fail:0   skip:20 
byt-nuc          total:135  pass:120  dwarn:2   dfail:0   fail:0   skip:13 
hsw-brixbox      total:135  pass:126  dwarn:2   dfail:0   fail:0   skip:7  
hsw-gt2          total:135  pass:130  dwarn:1   dfail:0   fail:0   skip:4  
ilk-hp8440p      total:135  pass:99   dwarn:1   dfail:0   fail:0   skip:35 
ivb-t430s        total:135  pass:127  dwarn:2   dfail:0   fail:0   skip:6  
skl-i5k-2        total:135  pass:122  dwarn:5   dfail:0   fail:0   skip:8  
skl-i7k-2        total:135  pass:121  dwarn:6   dfail:0   fail:0   skip:8  
snb-dellxps      total:135  pass:122  dwarn:1   dfail:0   fail:0   skip:12 
snb-x220t        total:135  pass:120  dwarn:2   dfail:0   fail:2   skip:11 

Results at /archive/results/CI_IGT_test/Patchwork_723/

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

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

* ✗ failure: Fi.CI.BAT
  2015-12-18 19:55 [PATCH] drm/i915: edp resume/On time optimization abhay.kumar
@ 2015-12-19  7:30 ` Patchwork
  0 siblings, 0 replies; 120+ messages in thread
From: Patchwork @ 2015-12-19  7:30 UTC (permalink / raw)
  To: abhay.kumar; +Cc: intel-gfx

== Summary ==

HEAD is now at 7cdc548 drm-intel-nightly: 2015y-12m-18d-19h-26m-21s UTC integration manifest
Applying: drm/i915: edp resume/On time optimization.
Repository lacks necessary blobs to fall back on 3-way merge.
Cannot fall back to three-way merge.
Patch failed at 0001 drm/i915: edp resume/On time optimization.

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

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

* Re: ✗ failure:  Fi.CI.BAT
  2015-12-18 15:01 ` ✗ failure: Fi.CI.BAT Patchwork
@ 2015-12-21 13:44   ` Daniel Vetter
  0 siblings, 0 replies; 120+ messages in thread
From: Daniel Vetter @ 2015-12-21 13:44 UTC (permalink / raw)
  To: Patchwork; +Cc: intel-gfx

On Fri, Dec 18, 2015 at 03:01:16PM -0000, Patchwork wrote:
> == Summary ==
> 
> HEAD is now at da33ddb drm-intel-nightly: 2015y-12m-18d-13h-53m-06s UTC integration manifest
> Applying: drm/i915: Extend LRC pinning to cover GPU context writeback
> Repository lacks necessary blobs to fall back on 3-way merge.
> Cannot fall back to three-way merge.
> Patch failed at 0001 drm/i915: Extend LRC pinning to cover GPU context writeback

Dependent patches should be submitted as an entire series.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* ✗ failure: Fi.CI.BAT
  2015-12-21 15:33 [RFC v2] drm/i915/bdw+: Do not emit user interrupts when not needed Tvrtko Ursulin
@ 2015-12-21 17:30 ` Patchwork
  0 siblings, 0 replies; 120+ messages in thread
From: Patchwork @ 2015-12-21 17:30 UTC (permalink / raw)
  To: Tvrtko Ursulin; +Cc: intel-gfx

== Summary ==

HEAD is now at 78deeec drm-intel-nightly: 2015y-12m-21d-16h-03m-57s UTC integration manifest
Applying: drm/i915/bdw+: Do not emit user interrupts when not needed
Using index info to reconstruct a base tree...
M	drivers/gpu/drm/i915/i915_drv.h
M	drivers/gpu/drm/i915/intel_lrc.c
Falling back to patching base and 3-way merge...
Auto-merging drivers/gpu/drm/i915/intel_lrc.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/intel_lrc.c
Auto-merging drivers/gpu/drm/i915/i915_drv.h
Patch failed at 0001 drm/i915/bdw+: Do not emit user interrupts when not needed

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

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

* ✗ failure: Fi.CI.BAT
  2015-12-21 16:04 improve handling of the driver's internal default context Dave Gordon
@ 2015-12-22  7:20 ` Patchwork
  0 siblings, 0 replies; 120+ messages in thread
From: Patchwork @ 2015-12-22  7:20 UTC (permalink / raw)
  To: Dave Gordon; +Cc: intel-gfx

== Summary ==

Built on 78deeec98b10627fe2050ce8ebfa2ea2d5b9e6c7 drm-intel-nightly: 2015y-12m-21d-16h-03m-57s UTC integration manifest

Test gem_mmap_gtt:
        Subgroup basic-small-bo:
                dmesg-warn -> PASS       (bdw-nuci7)
Test gem_storedw_loop:
        Subgroup basic-render:
                pass       -> DMESG-WARN (skl-i5k-2)
                pass       -> DMESG-WARN (bdw-nuci7)
Test kms_flip:
        Subgroup basic-flip-vs-modeset:
                pass       -> DMESG-WARN (skl-i5k-2)
                pass       -> DMESG-WARN (hsw-xps12)
                dmesg-warn -> PASS       (hsw-brixbox)
                skip       -> DMESG-WARN (bdw-nuci7)
        Subgroup basic-plain-flip:
                skip       -> PASS       (bdw-nuci7)
Test kms_pipe_crc_basic:
        Subgroup read-crc-pipe-a:
                pass       -> DMESG-WARN (snb-x220t)
                skip       -> PASS       (bdw-nuci7)
                dmesg-warn -> PASS       (byt-nuc)
        Subgroup read-crc-pipe-a-frame-sequence:
                pass       -> FAIL       (snb-x220t)
                skip       -> PASS       (bdw-nuci7)
                pass       -> DMESG-WARN (ilk-hp8440p)
        Subgroup read-crc-pipe-b:
                dmesg-warn -> PASS       (skl-i5k-2)
                dmesg-warn -> PASS       (hsw-xps12)
                pass       -> DMESG-WARN (snb-dellxps)
                skip       -> PASS       (bdw-nuci7)
        Subgroup read-crc-pipe-b-frame-sequence:
                skip       -> PASS       (bdw-nuci7)
        Subgroup read-crc-pipe-c:
                skip       -> PASS       (bdw-nuci7)
Test kms_setmode:
        Subgroup basic-clone-single-crtc:
                dmesg-warn -> PASS       (snb-dellxps)
Test pm_rpm:
        Subgroup basic-pci-d3-state:
                skip       -> PASS       (bdw-nuci7)
                pass       -> DMESG-WARN (bdw-ultra)
        Subgroup basic-rte:
                skip       -> PASS       (bdw-nuci7)
                dmesg-warn -> PASS       (bdw-ultra)

bdw-nuci7        total:132  pass:120  dwarn:3   dfail:0   fail:0   skip:9  
bdw-ultra        total:132  pass:124  dwarn:2   dfail:0   fail:0   skip:6  
bsw-nuc-2        total:135  pass:114  dwarn:1   dfail:0   fail:0   skip:20 
byt-nuc          total:135  pass:120  dwarn:2   dfail:0   fail:0   skip:13 
hsw-brixbox      total:135  pass:127  dwarn:1   dfail:0   fail:0   skip:7  
hsw-xps12        total:132  pass:125  dwarn:3   dfail:0   fail:0   skip:4  
ilk-hp8440p      total:135  pass:99   dwarn:1   dfail:0   fail:0   skip:35 
ivb-t430s        total:135  pass:127  dwarn:2   dfail:0   fail:0   skip:6  
skl-i5k-2        total:135  pass:121  dwarn:6   dfail:0   fail:0   skip:8  
skl-i7k-2        total:135  pass:122  dwarn:5   dfail:0   fail:0   skip:8  
snb-dellxps      total:135  pass:121  dwarn:2   dfail:0   fail:0   skip:12 
snb-x220t        total:135  pass:120  dwarn:2   dfail:0   fail:2   skip:11 

HANGED hsw-gt2 in igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b

Results at /archive/results/CI_IGT_test/Patchwork_783/

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

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

* ✗ failure: Fi.CI.BAT
  2015-12-21 18:53 [PATCH] drm, i915: Fix pointer size cast Borislav Petkov
@ 2015-12-22  7:30 ` Patchwork
  0 siblings, 0 replies; 120+ messages in thread
From: Patchwork @ 2015-12-22  7:30 UTC (permalink / raw)
  To: Borislav Petkov; +Cc: intel-gfx

== Summary ==

HEAD is now at 78deeec drm-intel-nightly: 2015y-12m-21d-16h-03m-57s UTC integration manifest
Applying: drm, i915: Fix pointer size cast
Using index info to reconstruct a base tree...
M	drivers/gpu/drm/i915/intel_display.c
Falling back to patching base and 3-way merge...
Auto-merging drivers/gpu/drm/i915/intel_display.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/intel_display.c
Patch failed at 0001 drm, i915: Fix pointer size cast

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

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

* ✗ failure: Fi.CI.BAT
  2015-12-23  8:11 [PATCH] drm/i915: increase the tries for HDMI hotplug live status checking Gary Wang
@ 2015-12-23  8:49 ` Patchwork
  0 siblings, 0 replies; 120+ messages in thread
From: Patchwork @ 2015-12-23  8:49 UTC (permalink / raw)
  To: Gary Wang; +Cc: intel-gfx

== Summary ==

Built on 7e671e69deffb88d60687dacffe6e34a5d046500 drm-intel-nightly: 2015y-12m-22d-13h-28m-34s UTC integration manifest

Test gem_storedw_loop:
        Subgroup basic-render:
                pass       -> DMESG-WARN (skl-i5k-2)
Test kms_flip:
        Subgroup basic-flip-vs-dpms:
                dmesg-warn -> PASS       (ilk-hp8440p)
        Subgroup basic-flip-vs-modeset:
                dmesg-warn -> PASS       (bsw-nuc-2)
                dmesg-warn -> PASS       (hsw-xps12)
                pass       -> DMESG-WARN (hsw-brixbox)
                dmesg-warn -> PASS       (ilk-hp8440p)
                dmesg-warn -> PASS       (byt-nuc)
        Subgroup basic-flip-vs-wf_vblank:
                dmesg-warn -> PASS       (snb-x220t)
        Subgroup basic-plain-flip:
                pass       -> DMESG-WARN (hsw-xps12)
                pass       -> DMESG-WARN (bdw-nuci7)
Test kms_pipe_crc_basic:
        Subgroup hang-read-crc-pipe-a:
                pass       -> DMESG-WARN (snb-x220t)
        Subgroup read-crc-pipe-a:
                pass       -> DMESG-WARN (snb-x220t)
        Subgroup read-crc-pipe-a-frame-sequence:
                dmesg-warn -> PASS       (byt-nuc)
        Subgroup read-crc-pipe-b:
                dmesg-warn -> PASS       (skl-i5k-2)
        Subgroup read-crc-pipe-c:
                pass       -> DMESG-WARN (skl-i5k-2)
Test kms_psr_sink_crc:
        Subgroup psr_basic:
                dmesg-warn -> PASS       (bdw-ultra)
Test pm_rpm:
        Subgroup basic-pci-d3-state:
                pass       -> DMESG-WARN (bdw-ultra)

bdw-nuci7        total:132  pass:121  dwarn:2   dfail:0   fail:0   skip:9  
bdw-ultra        total:132  pass:124  dwarn:2   dfail:0   fail:0   skip:6  
bsw-nuc-2        total:135  pass:114  dwarn:1   dfail:0   fail:0   skip:20 
byt-nuc          total:135  pass:120  dwarn:2   dfail:0   fail:0   skip:13 
hsw-brixbox      total:135  pass:126  dwarn:2   dfail:0   fail:0   skip:7  
hsw-xps12        total:132  pass:125  dwarn:3   dfail:0   fail:0   skip:4  
ilk-hp8440p      total:135  pass:100  dwarn:0   dfail:0   fail:0   skip:35 
ivb-t430s        total:135  pass:127  dwarn:2   dfail:0   fail:0   skip:6  
skl-i5k-2        total:135  pass:123  dwarn:4   dfail:0   fail:0   skip:8  
skl-i7k-2        total:135  pass:124  dwarn:3   dfail:0   fail:0   skip:8  
snb-dellxps      total:135  pass:121  dwarn:2   dfail:0   fail:0   skip:12 
snb-x220t        total:135  pass:121  dwarn:2   dfail:0   fail:1   skip:11 

HANGED hsw-gt2 in igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c

Results at /archive/results/CI_IGT_test/Patchwork_801/

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

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

* ✗ failure: Fi.CI.BAT
  2015-12-04 11:33 [PATCH] drm/i915: Avoid writing relocs with addresses in non-canonical form Michał Winiarski
@ 2015-12-29 16:20 ` Patchwork
  0 siblings, 0 replies; 120+ messages in thread
From: Patchwork @ 2015-12-29 16:20 UTC (permalink / raw)
  To: Michał Winiarski; +Cc: intel-gfx

== Summary ==

Built on ec0382c73cb1adc972bebdd94afad3f0ea117114 drm-intel-nightly: 2015y-12m-23d-22h-28m-25s UTC integration manifest

Test gem_ctx_param_basic:
        Subgroup root-set:
                skip       -> PASS       (ilk-hp8440p)
Test gem_storedw_loop:
        Subgroup basic-render:
                dmesg-warn -> PASS       (skl-i5k-2)
                dmesg-warn -> PASS       (bdw-nuci7)
Test kms_flip:
        Subgroup basic-flip-vs-dpms:
                dmesg-warn -> PASS       (ilk-hp8440p)
        Subgroup basic-flip-vs-modeset:
                dmesg-warn -> PASS       (skl-i5k-2)
                pass       -> DMESG-WARN (hsw-xps12)
                pass       -> DMESG-WARN (hsw-brixbox)
                pass       -> DMESG-WARN (bdw-nuci7)
        Subgroup basic-plain-flip:
                pass       -> DMESG-WARN (snb-x220t)
                pass       -> DMESG-WARN (snb-dellxps)
Test kms_pipe_crc_basic:
        Subgroup read-crc-pipe-a:
                dmesg-warn -> PASS       (snb-x220t)
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup read-crc-pipe-b:
                pass       -> DMESG-WARN (skl-i5k-2)
        Subgroup read-crc-pipe-b-frame-sequence:
                pass       -> DMESG-WARN (byt-nuc)
Test kms_setmode:
        Subgroup basic-clone-single-crtc:
                dmesg-warn -> PASS       (snb-dellxps)
Test pm_rpm:
        Subgroup basic-rte:
                dmesg-warn -> PASS       (hsw-xps12)
                pass       -> DMESG-WARN (byt-nuc)

bdw-nuci7        total:132  pass:121  dwarn:2   dfail:0   fail:0   skip:9  
bdw-ultra        total:132  pass:124  dwarn:2   dfail:0   fail:0   skip:6  
bsw-nuc-2        total:135  pass:113  dwarn:2   dfail:0   fail:0   skip:20 
byt-nuc          total:135  pass:119  dwarn:3   dfail:0   fail:0   skip:13 
hsw-brixbox      total:135  pass:126  dwarn:2   dfail:0   fail:0   skip:7  
hsw-xps12        total:132  pass:125  dwarn:3   dfail:0   fail:0   skip:4  
ilk-hp8440p      total:135  pass:101  dwarn:0   dfail:0   fail:0   skip:34 
ivb-t430s        total:135  pass:127  dwarn:2   dfail:0   fail:0   skip:6  
skl-i5k-2        total:135  pass:124  dwarn:3   dfail:0   fail:0   skip:8  
skl-i7k-2        total:135  pass:123  dwarn:4   dfail:0   fail:0   skip:8  
snb-dellxps      total:135  pass:121  dwarn:2   dfail:0   fail:0   skip:12 
snb-x220t        total:135  pass:121  dwarn:2   dfail:0   fail:1   skip:11 

HANGED hsw-gt2 in igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c

Results at /archive/results/CI_IGT_test/Patchwork_945/

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

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

* ✗ failure: Fi.CI.BAT
  2015-12-30 22:56 [PATCH] drm/i915/bxt: Fix eDP panel power save/restore Matt Roper
@ 2015-12-31  7:43 ` Patchwork
  0 siblings, 0 replies; 120+ messages in thread
From: Patchwork @ 2015-12-31  7:43 UTC (permalink / raw)
  To: Matt Roper; +Cc: intel-gfx

== Summary ==

Built on 79686f613b3955a4ed09cee936e7f70ec4e61b67 drm-intel-nightly: 2015y-12m-30d-11h-59m-54s UTC integration manifest

Test gem_ctx_param_basic:
        Subgroup basic:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup invalid-param-set:
                pass       -> DMESG-WARN (skl-i7k-2)
Test gem_mmap_gtt:
        Subgroup basic-write:
                pass       -> DMESG-WARN (skl-i7k-2)
Test gem_storedw_loop:
        Subgroup basic-render:
                dmesg-warn -> PASS       (skl-i5k-2)
Test kms_addfb_basic:
        Subgroup too-wide:
                pass       -> DMESG-WARN (skl-i7k-2)
Test kms_flip:
        Subgroup basic-flip-vs-dpms:
                dmesg-warn -> PASS       (ilk-hp8440p)
        Subgroup basic-flip-vs-modeset:
                dmesg-warn -> PASS       (bsw-nuc-2)
                dmesg-warn -> PASS       (hsw-xps12)
                dmesg-warn -> PASS       (hsw-brixbox)
                dmesg-warn -> PASS       (bdw-nuci7)
                dmesg-warn -> PASS       (ilk-hp8440p)
Test kms_pipe_crc_basic:
        Subgroup read-crc-pipe-a:
                dmesg-warn -> PASS       (snb-x220t)
                dmesg-warn -> PASS       (byt-nuc)
        Subgroup read-crc-pipe-b:
                pass       -> DMESG-WARN (snb-dellxps)
        Subgroup read-crc-pipe-b-frame-sequence:
                pass       -> DMESG-FAIL (skl-i7k-2)
Test kms_setmode:
        Subgroup basic-clone-single-crtc:
                dmesg-warn -> PASS       (snb-dellxps)
Test pm_rpm:
        Subgroup basic-rte:
                dmesg-warn -> PASS       (byt-nuc)

bdw-nuci7        total:132  pass:122  dwarn:1   dfail:0   fail:0   skip:9  
bdw-ultra        total:132  pass:124  dwarn:2   dfail:0   fail:0   skip:6  
bsw-nuc-2        total:135  pass:114  dwarn:1   dfail:0   fail:0   skip:20 
byt-nuc          total:135  pass:121  dwarn:1   dfail:0   fail:0   skip:13 
hsw-brixbox      total:135  pass:127  dwarn:1   dfail:0   fail:0   skip:7  
hsw-gt2          total:135  pass:130  dwarn:1   dfail:0   fail:0   skip:4  
hsw-xps12        total:132  pass:126  dwarn:2   dfail:0   fail:0   skip:4  
ilk-hp8440p      total:135  pass:100  dwarn:0   dfail:0   fail:0   skip:35 
ivb-t430s        total:135  pass:127  dwarn:2   dfail:0   fail:0   skip:6  
skl-i5k-2        total:135  pass:124  dwarn:3   dfail:0   fail:0   skip:8  
skl-i7k-2        total:135  pass:119  dwarn:7   dfail:1   fail:0   skip:8  
snb-dellxps      total:135  pass:121  dwarn:2   dfail:0   fail:0   skip:12 
snb-x220t        total:135  pass:122  dwarn:1   dfail:0   fail:1   skip:11 

Results at /archive/results/CI_IGT_test/Patchwork_970/

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

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

* ✗ failure: Fi.CI.BAT
  2015-12-31 12:45 [PATCH] drm/i915: Add RPM references in the *_get_hw_state functions Gabriel Feceoru
@ 2015-12-31 13:20 ` Patchwork
  0 siblings, 0 replies; 120+ messages in thread
From: Patchwork @ 2015-12-31 13:20 UTC (permalink / raw)
  To: Feceoru, Gabriel; +Cc: intel-gfx

== Summary ==

Built on 79686f613b3955a4ed09cee936e7f70ec4e61b67 drm-intel-nightly: 2015y-12m-30d-11h-59m-54s UTC integration manifest

Test gem_basic:
        Subgroup create-close:
                pass       -> DMESG-WARN (skl-i7k-2)
Test gem_cpu_reloc:
        Subgroup basic:
                pass       -> DMESG-FAIL (skl-i7k-2)
Test gem_ctx_param_basic:
        Subgroup basic:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup invalid-param-set:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup non-root-set-no-zeromap:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup root-set-no-zeromap-disabled:
                pass       -> DMESG-WARN (skl-i7k-2)
Test gem_mmap:
        Subgroup basic:
                pass       -> DMESG-WARN (skl-i7k-2)
Test gem_mmap_gtt:
        Subgroup basic-read:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup basic-write:
                pass       -> DMESG-WARN (skl-i7k-2)
Test gem_storedw_loop:
        Subgroup basic-render:
                dmesg-warn -> PASS       (skl-i5k-2)
                dmesg-warn -> PASS       (skl-i7k-2)
Test kms_addfb_basic:
        Subgroup addfb25-modifier-no-flag:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup addfb25-x-tiled-mismatch:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup bad-pitch-1024:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup bad-pitch-63:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup bad-pitch-999:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup clobberred-modifier:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup too-high:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup too-wide:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup unused-offsets:
                pass       -> DMESG-WARN (skl-i7k-2)
Test kms_flip:
        Subgroup basic-flip-vs-dpms:
                pass       -> DMESG-WARN (skl-i5k-2)
                pass       -> DMESG-WARN (skl-i7k-2)
                dmesg-warn -> PASS       (ilk-hp8440p)
        Subgroup basic-flip-vs-modeset:
                dmesg-warn -> PASS       (bsw-nuc-2)
                dmesg-warn -> PASS       (hsw-brixbox)
                dmesg-warn -> PASS       (bdw-nuci7)
                dmesg-warn -> PASS       (ilk-hp8440p)
        Subgroup basic-plain-flip:
                pass       -> DMESG-WARN (skl-i5k-2)
                pass       -> DMESG-WARN (snb-x220t)
                pass       -> DMESG-WARN (bdw-ultra)
                pass       -> DMESG-FAIL (skl-i7k-2)
Test kms_force_connector_basic:
        Subgroup force-connector-state:
                pass       -> SKIP       (snb-x220t)
Test kms_pipe_crc_basic:
        Subgroup hang-read-crc-pipe-a:
                pass       -> DMESG-WARN (skl-i5k-2)
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup hang-read-crc-pipe-b:
                pass       -> DMESG-WARN (skl-i5k-2)
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup hang-read-crc-pipe-c:
                pass       -> DMESG-WARN (skl-i5k-2)
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup read-crc-pipe-a:
                pass       -> DMESG-WARN (skl-i5k-2)
                dmesg-warn -> PASS       (snb-x220t)
                pass       -> DMESG-WARN (skl-i7k-2)
                dmesg-warn -> PASS       (byt-nuc)
        Subgroup read-crc-pipe-a-frame-sequence:
                pass       -> DMESG-WARN (skl-i5k-2)
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup read-crc-pipe-b:
                pass       -> DMESG-WARN (skl-i5k-2)
                pass       -> DMESG-WARN (snb-dellxps)
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup read-crc-pipe-b-frame-sequence:
                pass       -> DMESG-WARN (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup read-crc-pipe-c:
                pass       -> DMESG-WARN (skl-i5k-2)
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup read-crc-pipe-c-frame-sequence:
                pass       -> DMESG-WARN (skl-i5k-2)
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup suspend-read-crc-pipe-a:
                pass       -> DMESG-WARN (skl-i5k-2)
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup suspend-read-crc-pipe-c:
                pass       -> DMESG-WARN (skl-i5k-2)
                pass       -> DMESG-WARN (skl-i7k-2)
Test kms_psr_sink_crc:
        Subgroup psr_basic:
                dmesg-warn -> PASS       (bdw-ultra)
Test kms_setmode:
        Subgroup basic-clone-single-crtc:
                dmesg-warn -> PASS       (snb-dellxps)
Test pm_rpm:
        Subgroup basic-pci-d3-state:
                pass       -> DMESG-WARN (skl-i5k-2)
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup basic-rte:
                pass       -> DMESG-WARN (skl-i5k-2)
                pass       -> DMESG-WARN (skl-i7k-2)
Test prime_self_import:
        Subgroup basic-with_two_bos:
                pass       -> DMESG-WARN (skl-i7k-2)

bdw-nuci7        total:132  pass:122  dwarn:1   dfail:0   fail:0   skip:9  
bdw-ultra        total:132  pass:124  dwarn:2   dfail:0   fail:0   skip:6  
bsw-nuc-2        total:135  pass:114  dwarn:1   dfail:0   fail:0   skip:20 
byt-nuc          total:135  pass:120  dwarn:2   dfail:0   fail:0   skip:13 
hsw-brixbox      total:135  pass:127  dwarn:1   dfail:0   fail:0   skip:7  
hsw-gt2          total:135  pass:130  dwarn:1   dfail:0   fail:0   skip:4  
hsw-xps12        total:132  pass:125  dwarn:3   dfail:0   fail:0   skip:4  
ilk-hp8440p      total:135  pass:100  dwarn:0   dfail:0   fail:0   skip:35 
ivb-t430s        total:135  pass:127  dwarn:2   dfail:0   fail:0   skip:6  
skl-i5k-2        total:135  pass:108  dwarn:19  dfail:0   fail:0   skip:8  
skl-i7k-2        total:135  pass:89   dwarn:34  dfail:3   fail:0   skip:8  
snb-dellxps      total:135  pass:121  dwarn:2   dfail:0   fail:0   skip:12 
snb-x220t        total:135  pass:120  dwarn:2   dfail:0   fail:1   skip:12 

Results at /archive/results/CI_IGT_test/Patchwork_981/

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

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

* ✗ failure: Fi.CI.BAT
  2016-01-04 10:10 [PATCH 1/3] drm: Balance error path for GEM handle allocation Chris Wilson
@ 2016-01-04 10:49 ` Patchwork
  0 siblings, 0 replies; 120+ messages in thread
From: Patchwork @ 2016-01-04 10:49 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Summary ==

Built on c1e9dc2dcb577438a6350c7f1cb36ba8ad0e1dfd drm-intel-nightly: 2016y-01m-04d-09h-35m-16s UTC integration manifest

Test gem_basic:
        Subgroup create-close:
                pass       -> DMESG-WARN (skl-i7k-2)
Test gem_cpu_reloc:
        Subgroup basic:
                pass       -> DMESG-FAIL (skl-i7k-2)
Test gem_ctx_param_basic:
        Subgroup basic:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup invalid-param-set:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup non-root-set-no-zeromap:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup root-set-no-zeromap-disabled:
                pass       -> DMESG-WARN (skl-i7k-2)
Test gem_mmap:
        Subgroup basic:
                pass       -> DMESG-WARN (skl-i7k-2)
Test gem_mmap_gtt:
        Subgroup basic-read:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup basic-write:
                pass       -> DMESG-WARN (skl-i7k-2)
Test kms_addfb_basic:
        Subgroup addfb25-modifier-no-flag:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup addfb25-x-tiled-mismatch:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup bad-pitch-1024:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup bad-pitch-63:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup bad-pitch-999:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup clobberred-modifier:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup too-high:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup too-wide:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup unused-offsets:
                pass       -> DMESG-WARN (skl-i7k-2)
Test kms_flip:
        Subgroup basic-plain-flip:
                pass       -> DMESG-FAIL (skl-i7k-2)
Test kms_pipe_crc_basic:
        Subgroup read-crc-pipe-a-frame-sequence:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup read-crc-pipe-b:
                dmesg-warn -> PASS       (snb-dellxps)
        Subgroup read-crc-pipe-b-frame-sequence:
                pass       -> DMESG-FAIL (skl-i7k-2)
Test kms_setmode:
        Subgroup basic-clone-single-crtc:
                pass       -> DMESG-WARN (snb-dellxps)
Test prime_self_import:
        Subgroup basic-with_two_bos:
                pass       -> DMESG-WARN (skl-i7k-2)

bdw-nuci7        total:132  pass:122  dwarn:1   dfail:0   fail:0   skip:9  
bdw-ultra        total:132  pass:124  dwarn:2   dfail:0   fail:0   skip:6  
bsw-nuc-2        total:135  pass:114  dwarn:1   dfail:0   fail:0   skip:20 
byt-nuc          total:135  pass:120  dwarn:2   dfail:0   fail:0   skip:13 
hsw-brixbox      total:135  pass:126  dwarn:2   dfail:0   fail:0   skip:7  
hsw-gt2          total:135  pass:130  dwarn:1   dfail:0   fail:0   skip:4  
hsw-xps12        total:132  pass:125  dwarn:3   dfail:0   fail:0   skip:4  
ilk-hp8440p      total:135  pass:99   dwarn:1   dfail:0   fail:0   skip:35 
ivb-t430s        total:135  pass:127  dwarn:2   dfail:0   fail:0   skip:6  
skl-i5k-2        total:135  pass:124  dwarn:3   dfail:0   fail:0   skip:8  
skl-i7k-2        total:135  pass:101  dwarn:22  dfail:3   fail:0   skip:8  
snb-dellxps      total:135  pass:121  dwarn:2   dfail:0   fail:0   skip:12 
snb-x220t        total:135  pass:121  dwarn:2   dfail:0   fail:1   skip:11 

Results at /archive/results/CI_IGT_test/Patchwork_1063/

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

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

* ✗ failure: Fi.CI.BAT
  2016-01-04 10:13 [PATCH] drm/i915: Force clean compilation with -Werror Chris Wilson
@ 2016-01-04 11:01 ` Patchwork
  0 siblings, 0 replies; 120+ messages in thread
From: Patchwork @ 2016-01-04 11:01 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Summary ==

HEAD is now at c1e9dc2 drm-intel-nightly: 2016y-01m-04d-09h-35m-16s UTC integration manifest
Applying: drm/i915: Force clean compilation with -Werror
Repository lacks necessary blobs to fall back on 3-way merge.
Cannot fall back to three-way merge.
Patch failed at 0001 drm/i915: Force clean compilation with -Werror

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

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

* ✗ failure: Fi.CI.BAT
  2015-12-18 20:00 [PATCH v2 0/5] Add GuC ADS (Addition Data Structure) yu.dai
@ 2016-01-05 12:30 ` Patchwork
  2016-01-06  9:01 ` Patchwork
  1 sibling, 0 replies; 120+ messages in thread
From: Patchwork @ 2016-01-05 12:30 UTC (permalink / raw)
  To: Dave Gordon; +Cc: intel-gfx

== Summary ==

HEAD is now at c837c0f drm-intel-nightly: 2016y-01m-05d-10h-35m-52s UTC integration manifest
Applying: drm/i915: add kerneldoc for intel_lr_context_size()
Applying: drm/i915/guc: Add GuC ADS (Addition Data Structure) - allocation
Repository lacks necessary blobs to fall back on 3-way merge.
Cannot fall back to three-way merge.
Patch failed at 0002 drm/i915/guc: Add GuC ADS (Addition Data Structure) - allocation

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

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

* ✗ failure: Fi.CI.BAT
  2015-12-21 13:10 [PATCH 00/15] drm/i915/bios: mipi sequence block v3, etc Jani Nikula
@ 2016-01-05 16:01 ` Patchwork
  2016-01-11 13:30 ` Patchwork
  2016-01-11 14:01 ` Patchwork
  2 siblings, 0 replies; 120+ messages in thread
From: Patchwork @ 2016-01-05 16:01 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

== Summary ==

HEAD is now at 865e245 drm-intel-nightly: 2016y-01m-05d-15h-23m-53s UTC integration manifest
Applying: drm/i915/bios: add proper documentation for the Video BIOS Table (VBT)
Using index info to reconstruct a base tree...
M	Documentation/DocBook/gpu.tmpl
M	drivers/gpu/drm/i915/intel_bios.c
M	drivers/gpu/drm/i915/intel_bios.h
Falling back to patching base and 3-way merge...
Auto-merging drivers/gpu/drm/i915/intel_bios.h
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/intel_bios.h
Auto-merging drivers/gpu/drm/i915/intel_bios.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/intel_bios.c
Patch failed at 0001 drm/i915/bios: add proper documentation for the Video BIOS Table (VBT)

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

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

* ✗ failure: Fi.CI.BAT
  2016-01-05 16:54 [PATCH] drm/i915: Tune down rpm wakelock debug checks Daniel Vetter
@ 2016-01-06  7:49 ` Patchwork
  0 siblings, 0 replies; 120+ messages in thread
From: Patchwork @ 2016-01-06  7:49 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: intel-gfx

== Summary ==

Built on bc303261a81a96298b2f9e02734aeaa0a25421a6 drm-intel-nightly: 2016y-01m-05d-16h-47m-54s UTC integration manifest

Test gem_ctx_param_basic:
        Subgroup basic:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup invalid-param-set:
                pass       -> DMESG-WARN (skl-i7k-2)
Test gem_mmap_gtt:
        Subgroup basic-write:
                pass       -> DMESG-WARN (skl-i7k-2)
Test gem_storedw_loop:
        Subgroup basic-render:
                pass       -> DMESG-WARN (skl-i5k-2) UNSTABLE
Test kms_addfb_basic:
        Subgroup too-wide:
                pass       -> DMESG-WARN (skl-i7k-2)
Test kms_flip:
        Subgroup basic-flip-vs-modeset:
                dmesg-warn -> PASS       (hsw-brixbox) UNSTABLE
        Subgroup basic-flip-vs-wf_vblank:
                dmesg-warn -> PASS       (skl-i5k-2) UNSTABLE
                dmesg-warn -> PASS       (hsw-gt2) UNSTABLE
                dmesg-warn -> PASS       (bdw-ultra) UNSTABLE
                dmesg-warn -> PASS       (skl-i7k-2) UNSTABLE
                dmesg-warn -> PASS       (ivb-t430s) UNSTABLE
                dmesg-warn -> PASS       (byt-nuc) UNSTABLE
                dmesg-warn -> PASS       (snb-x220t) UNSTABLE
                dmesg-warn -> PASS       (snb-dellxps) UNSTABLE
                dmesg-warn -> PASS       (hsw-brixbox) UNSTABLE
        Subgroup basic-plain-flip:
                dmesg-warn -> PASS       (ivb-t430s)
Test kms_pipe_crc_basic:
        Subgroup read-crc-pipe-a:
                dmesg-warn -> PASS       (snb-x220t) UNSTABLE
        Subgroup read-crc-pipe-b:
                dmesg-warn -> PASS       (skl-i5k-2) UNSTABLE
                dmesg-warn -> PASS       (snb-dellxps) UNSTABLE
        Subgroup read-crc-pipe-b-frame-sequence:
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup read-crc-pipe-c-frame-sequence:
                dmesg-warn -> PASS       (bsw-nuc-2) UNSTABLE
Test kms_psr_sink_crc:
        Subgroup psr_basic:
                dmesg-warn -> PASS       (bdw-ultra)
Test pm_rpm:
        Subgroup basic-rte:
                pass       -> DMESG-WARN (byt-nuc) UNSTABLE

bdw-ultra        total:132  pass:126  dwarn:0   dfail:0   fail:0   skip:6  
bsw-nuc-2        total:135  pass:115  dwarn:0   dfail:0   fail:0   skip:20 
byt-nuc          total:135  pass:121  dwarn:1   dfail:0   fail:0   skip:13 
hsw-brixbox      total:135  pass:128  dwarn:0   dfail:0   fail:0   skip:7  
hsw-gt2          total:135  pass:131  dwarn:0   dfail:0   fail:0   skip:4  
ilk-hp8440p      total:135  pass:100  dwarn:0   dfail:0   fail:0   skip:35 
ivb-t430s        total:135  pass:129  dwarn:0   dfail:0   fail:0   skip:6  
skl-i5k-2        total:135  pass:125  dwarn:2   dfail:0   fail:0   skip:8  
skl-i7k-2        total:135  pass:120  dwarn:6   dfail:1   fail:0   skip:8  
snb-dellxps      total:135  pass:123  dwarn:0   dfail:0   fail:0   skip:12 
snb-x220t        total:135  pass:123  dwarn:0   dfail:0   fail:1   skip:11 

Results at /archive/results/CI_IGT_test/Patchwork_1090/

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

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

* ✗ failure: Fi.CI.BAT
  2015-12-18 20:00 [PATCH v2 0/5] Add GuC ADS (Addition Data Structure) yu.dai
  2016-01-05 12:30 ` ✗ failure: Fi.CI.BAT Patchwork
@ 2016-01-06  9:01 ` Patchwork
  1 sibling, 0 replies; 120+ messages in thread
From: Patchwork @ 2016-01-06  9:01 UTC (permalink / raw)
  To: yu.dai; +Cc: intel-gfx

== Summary ==

HEAD is now at 24b053a drm-intel-nightly: 2016y-01m-06d-08h-16m-11s UTC integration manifest
Applying: drm/i915/guc: Expose (intel)_lr_context_size()
Using index info to reconstruct a base tree...
M	drivers/gpu/drm/i915/intel_lrc.c
M	drivers/gpu/drm/i915/intel_lrc.h
Falling back to patching base and 3-way merge...
Auto-merging drivers/gpu/drm/i915/intel_lrc.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/intel_lrc.c
Patch failed at 0001 drm/i915/guc: Expose (intel)_lr_context_size()

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

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

* ✗ failure: Fi.CI.BAT
  2016-01-05 19:10 [PATCH] drm/i915/guc: Enable GuC submission, where supported yu.dai
@ 2016-01-06 10:20 ` Patchwork
  2016-01-07 10:27   ` Dave Gordon
  0 siblings, 1 reply; 120+ messages in thread
From: Patchwork @ 2016-01-06 10:20 UTC (permalink / raw)
  To: yu.dai; +Cc: intel-gfx

== Summary ==

Built on 24b053acb16b4b3b021575e4ee30ffedd3ab2920 drm-intel-nightly: 2016y-01m-06d-08h-16m-11s UTC integration manifest

Test drv_getparams_basic:
        Subgroup basic-eu-total:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup basic-subslice-total:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
Test drv_hangman:
        Subgroup error-state-basic:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
Test gem_basic:
        Subgroup bad-close:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup create-close:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup create-fd-close:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
Test gem_cpu_reloc:
        Subgroup basic:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
Test gem_ctx_create:
        Subgroup basic:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
Test gem_ctx_exec:
        Subgroup basic:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
Test gem_ctx_param_basic:
        Subgroup basic:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup basic-default:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup invalid-ctx-get:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup invalid-ctx-set:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup invalid-param-get:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup invalid-param-set:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup invalid-size-get:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup invalid-size-set:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup non-root-set:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup non-root-set-no-zeromap:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup root-set:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup root-set-no-zeromap-disabled:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup root-set-no-zeromap-enabled:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
Test gem_exec_parse:
        Subgroup basic-allowed:
                skip       -> DMESG-FAIL (skl-i5k-2)
                skip       -> DMESG-FAIL (skl-i7k-2)
        Subgroup basic-rejected:
                skip       -> DMESG-FAIL (skl-i5k-2)
                skip       -> DMESG-FAIL (skl-i7k-2)
Test gem_flink_basic:
        Subgroup bad-flink:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup bad-open:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup basic:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup double-flink:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup flink-lifetime:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
Test gem_linear_blits:
        Subgroup basic:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
Test gem_mmap:
        Subgroup basic:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup basic-small-bo:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
Test gem_mmap_gtt:
        Subgroup basic:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup basic-copy:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup basic-read:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup basic-read-no-prefault:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup basic-read-write:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup basic-read-write-distinct:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup basic-short:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup basic-small-bo:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup basic-small-bo-tiledx:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup basic-small-bo-tiledy:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup basic-small-copy:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup basic-small-copy-xy:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup basic-write:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup basic-write-cpu-read-gtt:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup basic-write-gtt:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup basic-write-gtt-no-prefault:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup basic-write-no-prefault:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup basic-write-read:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup basic-write-read-distinct:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
Test gem_pread:
        Subgroup basic:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
Test gem_pwrite:
        Subgroup basic:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
Test gem_render_linear_blits:
        Subgroup basic:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
Test gem_render_tiled_blits:
        Subgroup basic:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
Test gem_storedw_loop:
        Subgroup basic-blt:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup basic-bsd:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup basic-render:
                dmesg-warn -> DMESG-FAIL (skl-i5k-2) UNSTABLE
                pass       -> DMESG-WARN (bdw-nuci7) UNSTABLE
                pass       -> DMESG-FAIL (skl-i7k-2) UNSTABLE
                dmesg-warn -> PASS       (bdw-ultra) UNSTABLE
        Subgroup basic-vebox:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
Test gem_tiled_blits:
        Subgroup basic:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
Test gem_tiled_fence_blits:
        Subgroup basic:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
Test kms_addfb_basic:
        Subgroup addfb25-bad-modifier:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup addfb25-framebuffer-vs-set-tiling:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup addfb25-modifier-no-flag:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup addfb25-x-tiled:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup addfb25-x-tiled-mismatch:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup addfb25-y-tiled:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup addfb25-y-tiled-small:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup addfb25-yf-tiled:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup bad-pitch-0:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup bad-pitch-1024:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup bad-pitch-128:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup bad-pitch-256:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup bad-pitch-32:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup bad-pitch-63:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup bad-pitch-65536:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup bad-pitch-999:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup basic:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup basic-x-tiled:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup basic-y-tiled:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup bo-too-small:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup bo-too-small-due-to-tiling:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup clobberred-modifier:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup framebuffer-vs-set-tiling:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup no-handle:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup size-max:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup small-bo:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup tile-pitch-mismatch:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup too-high:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup too-wide:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup unused-handle:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup unused-modifier:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup unused-offsets:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup unused-pitches:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
Test kms_flip:
        Subgroup basic-flip-vs-dpms:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup basic-flip-vs-modeset:
                pass       -> DMESG-FAIL (skl-i5k-2) UNSTABLE
                pass       -> DMESG-FAIL (skl-i7k-2) UNSTABLE
        Subgroup basic-flip-vs-wf_vblank:
                pass       -> DMESG-FAIL (skl-i5k-2) UNSTABLE
                pass       -> DMESG-FAIL (skl-i7k-2) UNSTABLE
        Subgroup basic-plain-flip:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
Test kms_force_connector_basic:
        Subgroup force-connector-state:
                skip       -> DMESG-FAIL (skl-i5k-2)
                skip       -> DMESG-FAIL (skl-i7k-2)
        Subgroup force-edid:
                skip       -> DMESG-FAIL (skl-i5k-2)
                skip       -> DMESG-FAIL (skl-i7k-2)
        Subgroup prune-stale-modes:
                skip       -> DMESG-FAIL (skl-i5k-2)
                skip       -> DMESG-FAIL (skl-i7k-2)
Test kms_pipe_crc_basic:
        Subgroup bad-nb-words-1:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup bad-nb-words-3:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup bad-pipe:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup bad-source:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup hang-read-crc-pipe-a:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup hang-read-crc-pipe-b:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup hang-read-crc-pipe-c:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup read-crc-pipe-a:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2) UNSTABLE
        Subgroup read-crc-pipe-a-frame-sequence:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup read-crc-pipe-b:
                pass       -> DMESG-FAIL (skl-i5k-2) UNSTABLE
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup read-crc-pipe-b-frame-sequence:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup read-crc-pipe-c:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup read-crc-pipe-c-frame-sequence:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup suspend-read-crc-pipe-a:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup suspend-read-crc-pipe-b:
                dmesg-warn -> DMESG-FAIL (skl-i5k-2)
                dmesg-warn -> DMESG-FAIL (skl-i7k-2)
        Subgroup suspend-read-crc-pipe-c:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
Test kms_psr_sink_crc:
        Subgroup psr_basic:
                skip       -> DMESG-FAIL (skl-i5k-2)
                skip       -> DMESG-FAIL (skl-i7k-2)
Test kms_setmode:
        Subgroup basic-clone-single-crtc:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
Test pm_rpm:
        Subgroup basic-pci-d3-state:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup basic-rte:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
Test pm_rps:
        Subgroup basic-api:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
Test prime_self_import:
        Subgroup basic-llseek-bad:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup basic-llseek-size:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup basic-with_fd_dup:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup basic-with_one_bo:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup basic-with_one_bo_two_files:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup basic-with_two_bos:
                pass       -> DMESG-FAIL (skl-i5k-2)
                pass       -> DMESG-FAIL (skl-i7k-2)

bdw-nuci7        total:132  pass:122  dwarn:1   dfail:0   fail:0   skip:9  
bdw-ultra        total:132  pass:126  dwarn:0   dfail:0   fail:0   skip:6  
bsw-nuc-2        total:135  pass:115  dwarn:0   dfail:0   fail:0   skip:20 
byt-nuc          total:135  pass:121  dwarn:1   dfail:0   fail:0   skip:13 
hsw-brixbox      total:135  pass:128  dwarn:0   dfail:0   fail:0   skip:7  
hsw-gt2          total:135  pass:131  dwarn:0   dfail:0   fail:0   skip:4  
ilk-hp8440p      total:135  pass:100  dwarn:0   dfail:0   fail:0   skip:35 
ivb-t430s        total:135  pass:129  dwarn:0   dfail:0   fail:0   skip:6  
skl-i5k-2        total:135  pass:2    dwarn:0   dfail:132 fail:0   skip:1  
skl-i7k-2        total:135  pass:2    dwarn:0   dfail:132 fail:0   skip:1  
snb-dellxps      total:135  pass:123  dwarn:0   dfail:0   fail:0   skip:12 
snb-x220t        total:135  pass:123  dwarn:0   dfail:0   fail:1   skip:11 

Results at /archive/results/CI_IGT_test/Patchwork_1094/

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

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

* ✗ failure: Fi.CI.BAT
  2016-01-05 19:18 [PATCH] drm/i915: Cleaning up DDI translation tables Rodrigo Vivi
@ 2016-01-06 11:30 ` Patchwork
  0 siblings, 0 replies; 120+ messages in thread
From: Patchwork @ 2016-01-06 11:30 UTC (permalink / raw)
  To: Rodrigo Vivi; +Cc: intel-gfx

== Summary ==

HEAD is now at 89d0d1b drm-intel-nightly: 2016y-01m-06d-10h-37m-17s UTC integration manifest
Applying: drm/i915: Cleaning up DDI translation tables
Repository lacks necessary blobs to fall back on 3-way merge.
Cannot fall back to three-way merge.
Patch failed at 0001 drm/i915: Cleaning up DDI translation tables

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

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

* ✗ failure: Fi.CI.BAT
  2016-01-06  2:26 [PATCH 1/2] drm/i915: fix get digital port issue in intel_audio libin.yang
@ 2016-01-06 12:49 ` Patchwork
  0 siblings, 0 replies; 120+ messages in thread
From: Patchwork @ 2016-01-06 12:49 UTC (permalink / raw)
  To: libin.yang; +Cc: intel-gfx

== Summary ==

Built on 89d0d1b6f0e9c3a6b90476bd115cfe1881646fd6 drm-intel-nightly: 2016y-01m-06d-10h-37m-17s UTC integration manifest

Test kms_addfb_basic:
        Subgroup small-bo:
                skip       -> PASS       (bdw-nuci7)
Test pm_rpm:
        Subgroup basic-rte:
                pass       -> DMESG-WARN (byt-nuc) UNSTABLE

bdw-nuci7        total:132  pass:1    dwarn:0   dfail:0   fail:0   skip:131
bsw-nuc-2        total:135  pass:115  dwarn:0   dfail:0   fail:0   skip:20 
byt-nuc          total:135  pass:121  dwarn:1   dfail:0   fail:0   skip:13 
skl-i5k-2        total:135  pass:125  dwarn:2   dfail:0   fail:0   skip:8  
skl-i7k-2        total:135  pass:125  dwarn:2   dfail:0   fail:0   skip:8  

HANGED snb-dellxps in igt@drv_module_reload_basic

Results at /archive/results/CI_IGT_test/Patchwork_1097/

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

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

* ✗ failure: Fi.CI.BAT
  2016-01-06 11:09 [PATCH 1/3] drm: Defer disabling the vblank IRQ until the next interrupt (for instant-off) Chris Wilson
@ 2016-01-06 13:20 ` Patchwork
  0 siblings, 0 replies; 120+ messages in thread
From: Patchwork @ 2016-01-06 13:20 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Summary ==

Built on 89d0d1b6f0e9c3a6b90476bd115cfe1881646fd6 drm-intel-nightly: 2016y-01m-06d-10h-37m-17s UTC integration manifest

Test gem_basic:
        Subgroup create-close:
                pass       -> DMESG-WARN (skl-i7k-2)
Test gem_cpu_reloc:
        Subgroup basic:
                pass       -> DMESG-FAIL (skl-i7k-2)
Test gem_ctx_param_basic:
        Subgroup basic:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup invalid-param-set:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup non-root-set-no-zeromap:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup root-set-no-zeromap-disabled:
                pass       -> DMESG-WARN (skl-i7k-2)
Test gem_mmap:
        Subgroup basic:
                pass       -> DMESG-WARN (skl-i7k-2)
Test gem_mmap_gtt:
        Subgroup basic-read:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup basic-write:
                pass       -> DMESG-WARN (skl-i7k-2)
Test gem_storedw_loop:
        Subgroup basic-render:
                dmesg-warn -> PASS       (skl-i5k-2) UNSTABLE
Test kms_addfb_basic:
        Subgroup addfb25-modifier-no-flag:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup addfb25-x-tiled-mismatch:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup bad-pitch-1024:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup bad-pitch-63:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup bad-pitch-999:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup clobberred-modifier:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup too-high:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup too-wide:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup unused-offsets:
                pass       -> DMESG-WARN (skl-i7k-2)
Test kms_flip:
        Subgroup basic-plain-flip:
                pass       -> DMESG-FAIL (skl-i7k-2)
Test kms_pipe_crc_basic:
        Subgroup read-crc-pipe-b-frame-sequence:
                pass       -> DMESG-FAIL (skl-i7k-2)
Test pm_rpm:
        Subgroup basic-rte:
                pass       -> DMESG-WARN (byt-nuc) UNSTABLE
Test prime_self_import:
        Subgroup basic-with_two_bos:
                pass       -> DMESG-WARN (skl-i7k-2)

bdw-nuci7        total:132  pass:1    dwarn:0   dfail:0   fail:0   skip:131
bsw-nuc-2        total:135  pass:115  dwarn:0   dfail:0   fail:0   skip:20 
byt-nuc          total:135  pass:121  dwarn:1   dfail:0   fail:0   skip:13 
skl-i5k-2        total:135  pass:126  dwarn:1   dfail:0   fail:0   skip:8  
skl-i7k-2        total:135  pass:103  dwarn:20  dfail:3   fail:0   skip:8  
snb-dellxps      total:135  pass:123  dwarn:0   dfail:0   fail:0   skip:12 

Results at /archive/results/CI_IGT_test/Patchwork_1098/

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

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

* Re: ✗ failure: Fi.CI.BAT
  2016-01-06 10:20 ` ✗ failure: Fi.CI.BAT Patchwork
@ 2016-01-07 10:27   ` Dave Gordon
  2016-01-07 13:06     ` Jani Nikula
  0 siblings, 1 reply; 120+ messages in thread
From: Dave Gordon @ 2016-01-07 10:27 UTC (permalink / raw)
  To: Patchwork, yu.dai; +Cc: intel-gfx

On 06/01/16 10:20, Patchwork wrote:
> == Summary ==
>
> Built on 24b053acb16b4b3b021575e4ee30ffedd3ab2920 drm-intel-nightly: 2016y-01m-06d-08h-16m-11s UTC integration manifest
>
> Test drv_getparams_basic:
>          Subgroup basic-eu-total:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup basic-subslice-total:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
> Test drv_hangman:
>          Subgroup error-state-basic:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
> Test gem_basic:
>          Subgroup bad-close:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup create-close:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup create-fd-close:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
> Test gem_cpu_reloc:
>          Subgroup basic:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
> Test gem_ctx_create:
>          Subgroup basic:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
> Test gem_ctx_exec:
>          Subgroup basic:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
> Test gem_ctx_param_basic:
>          Subgroup basic:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup basic-default:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup invalid-ctx-get:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup invalid-ctx-set:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup invalid-param-get:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup invalid-param-set:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup invalid-size-get:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup invalid-size-set:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup non-root-set:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup non-root-set-no-zeromap:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup root-set:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup root-set-no-zeromap-disabled:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup root-set-no-zeromap-enabled:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
> Test gem_exec_parse:
>          Subgroup basic-allowed:
>                  skip       -> DMESG-FAIL (skl-i5k-2)
>                  skip       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup basic-rejected:
>                  skip       -> DMESG-FAIL (skl-i5k-2)
>                  skip       -> DMESG-FAIL (skl-i7k-2)
> Test gem_flink_basic:
>          Subgroup bad-flink:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup bad-open:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup basic:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup double-flink:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup flink-lifetime:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
> Test gem_linear_blits:
>          Subgroup basic:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
> Test gem_mmap:
>          Subgroup basic:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup basic-small-bo:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
> Test gem_mmap_gtt:
>          Subgroup basic:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup basic-copy:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup basic-read:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup basic-read-no-prefault:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup basic-read-write:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup basic-read-write-distinct:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup basic-short:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup basic-small-bo:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup basic-small-bo-tiledx:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup basic-small-bo-tiledy:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup basic-small-copy:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup basic-small-copy-xy:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup basic-write:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup basic-write-cpu-read-gtt:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup basic-write-gtt:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup basic-write-gtt-no-prefault:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup basic-write-no-prefault:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup basic-write-read:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup basic-write-read-distinct:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
> Test gem_pread:
>          Subgroup basic:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
> Test gem_pwrite:
>          Subgroup basic:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
> Test gem_render_linear_blits:
>          Subgroup basic:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
> Test gem_render_tiled_blits:
>          Subgroup basic:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
> Test gem_storedw_loop:
>          Subgroup basic-blt:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup basic-bsd:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup basic-render:
>                  dmesg-warn -> DMESG-FAIL (skl-i5k-2) UNSTABLE
>                  pass       -> DMESG-WARN (bdw-nuci7) UNSTABLE
>                  pass       -> DMESG-FAIL (skl-i7k-2) UNSTABLE
>                  dmesg-warn -> PASS       (bdw-ultra) UNSTABLE
>          Subgroup basic-vebox:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
> Test gem_tiled_blits:
>          Subgroup basic:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
> Test gem_tiled_fence_blits:
>          Subgroup basic:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
> Test kms_addfb_basic:
>          Subgroup addfb25-bad-modifier:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup addfb25-framebuffer-vs-set-tiling:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup addfb25-modifier-no-flag:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup addfb25-x-tiled:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup addfb25-x-tiled-mismatch:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup addfb25-y-tiled:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup addfb25-y-tiled-small:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup addfb25-yf-tiled:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup bad-pitch-0:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup bad-pitch-1024:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup bad-pitch-128:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup bad-pitch-256:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup bad-pitch-32:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup bad-pitch-63:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup bad-pitch-65536:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup bad-pitch-999:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup basic:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup basic-x-tiled:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup basic-y-tiled:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup bo-too-small:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup bo-too-small-due-to-tiling:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup clobberred-modifier:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup framebuffer-vs-set-tiling:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup no-handle:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup size-max:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup small-bo:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup tile-pitch-mismatch:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup too-high:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup too-wide:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup unused-handle:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup unused-modifier:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup unused-offsets:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup unused-pitches:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
> Test kms_flip:
>          Subgroup basic-flip-vs-dpms:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup basic-flip-vs-modeset:
>                  pass       -> DMESG-FAIL (skl-i5k-2) UNSTABLE
>                  pass       -> DMESG-FAIL (skl-i7k-2) UNSTABLE
>          Subgroup basic-flip-vs-wf_vblank:
>                  pass       -> DMESG-FAIL (skl-i5k-2) UNSTABLE
>                  pass       -> DMESG-FAIL (skl-i7k-2) UNSTABLE
>          Subgroup basic-plain-flip:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
> Test kms_force_connector_basic:
>          Subgroup force-connector-state:
>                  skip       -> DMESG-FAIL (skl-i5k-2)
>                  skip       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup force-edid:
>                  skip       -> DMESG-FAIL (skl-i5k-2)
>                  skip       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup prune-stale-modes:
>                  skip       -> DMESG-FAIL (skl-i5k-2)
>                  skip       -> DMESG-FAIL (skl-i7k-2)
> Test kms_pipe_crc_basic:
>          Subgroup bad-nb-words-1:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup bad-nb-words-3:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup bad-pipe:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup bad-source:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup hang-read-crc-pipe-a:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup hang-read-crc-pipe-b:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup hang-read-crc-pipe-c:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup read-crc-pipe-a:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2) UNSTABLE
>          Subgroup read-crc-pipe-a-frame-sequence:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup read-crc-pipe-b:
>                  pass       -> DMESG-FAIL (skl-i5k-2) UNSTABLE
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup read-crc-pipe-b-frame-sequence:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup read-crc-pipe-c:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup read-crc-pipe-c-frame-sequence:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup suspend-read-crc-pipe-a:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup suspend-read-crc-pipe-b:
>                  dmesg-warn -> DMESG-FAIL (skl-i5k-2)
>                  dmesg-warn -> DMESG-FAIL (skl-i7k-2)
>          Subgroup suspend-read-crc-pipe-c:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
> Test kms_psr_sink_crc:
>          Subgroup psr_basic:
>                  skip       -> DMESG-FAIL (skl-i5k-2)
>                  skip       -> DMESG-FAIL (skl-i7k-2)
> Test kms_setmode:
>          Subgroup basic-clone-single-crtc:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
> Test pm_rpm:
>          Subgroup basic-pci-d3-state:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup basic-rte:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
> Test pm_rps:
>          Subgroup basic-api:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
> Test prime_self_import:
>          Subgroup basic-llseek-bad:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup basic-llseek-size:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup basic-with_fd_dup:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup basic-with_one_bo:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup basic-with_one_bo_two_files:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>          Subgroup basic-with_two_bos:
>                  pass       -> DMESG-FAIL (skl-i5k-2)
>                  pass       -> DMESG-FAIL (skl-i7k-2)
>
> bdw-nuci7        total:132  pass:122  dwarn:1   dfail:0   fail:0   skip:9
> bdw-ultra        total:132  pass:126  dwarn:0   dfail:0   fail:0   skip:6
> bsw-nuc-2        total:135  pass:115  dwarn:0   dfail:0   fail:0   skip:20
> byt-nuc          total:135  pass:121  dwarn:1   dfail:0   fail:0   skip:13
> hsw-brixbox      total:135  pass:128  dwarn:0   dfail:0   fail:0   skip:7
> hsw-gt2          total:135  pass:131  dwarn:0   dfail:0   fail:0   skip:4
> ilk-hp8440p      total:135  pass:100  dwarn:0   dfail:0   fail:0   skip:35
> ivb-t430s        total:135  pass:129  dwarn:0   dfail:0   fail:0   skip:6
> skl-i5k-2        total:135  pass:2    dwarn:0   dfail:132 fail:0   skip:1
> skl-i7k-2        total:135  pass:2    dwarn:0   dfail:132 fail:0   skip:1
> snb-dellxps      total:135  pass:123  dwarn:0   dfail:0   fail:0   skip:12
> snb-x220t        total:135  pass:123  dwarn:0   dfail:0   fail:1   skip:11
>
> Results at /archive/results/CI_IGT_test/Patchwork_1094/
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Looks like the CI SKL doesn't have the GuC firmware installed?

.Dave.

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

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

* Re: ✗ failure: Fi.CI.BAT
  2016-01-07 10:27   ` Dave Gordon
@ 2016-01-07 13:06     ` Jani Nikula
  2016-01-07 14:36       ` Daniel Vetter
  0 siblings, 1 reply; 120+ messages in thread
From: Jani Nikula @ 2016-01-07 13:06 UTC (permalink / raw)
  To: Dave Gordon, Patchwork, yu.dai; +Cc: intel-gfx

On Thu, 07 Jan 2016, Dave Gordon <david.s.gordon@intel.com> wrote:
> On 06/01/16 10:20, Patchwork wrote:
>> == Summary ==
>>
>> Built on 24b053acb16b4b3b021575e4ee30ffedd3ab2920 drm-intel-nightly: 2016y-01m-06d-08h-16m-11s UTC integration manifest
>>
>> Test drv_getparams_basic:
>>          Subgroup basic-eu-total:
>>                  pass       -> DMESG-FAIL (skl-i5k-2)
>>                  pass       -> DMESG-FAIL (skl-i7k-2)

[snip]

>>
>> bdw-nuci7        total:132  pass:122  dwarn:1   dfail:0   fail:0   skip:9
>> bdw-ultra        total:132  pass:126  dwarn:0   dfail:0   fail:0   skip:6
>> bsw-nuc-2        total:135  pass:115  dwarn:0   dfail:0   fail:0   skip:20
>> byt-nuc          total:135  pass:121  dwarn:1   dfail:0   fail:0   skip:13
>> hsw-brixbox      total:135  pass:128  dwarn:0   dfail:0   fail:0   skip:7
>> hsw-gt2          total:135  pass:131  dwarn:0   dfail:0   fail:0   skip:4
>> ilk-hp8440p      total:135  pass:100  dwarn:0   dfail:0   fail:0   skip:35
>> ivb-t430s        total:135  pass:129  dwarn:0   dfail:0   fail:0   skip:6
>> skl-i5k-2        total:135  pass:2    dwarn:0   dfail:132 fail:0   skip:1
>> skl-i7k-2        total:135  pass:2    dwarn:0   dfail:132 fail:0   skip:1
>> snb-dellxps      total:135  pass:123  dwarn:0   dfail:0   fail:0   skip:12
>> snb-x220t        total:135  pass:123  dwarn:0   dfail:0   fail:1   skip:11
>>
>> Results at /archive/results/CI_IGT_test/Patchwork_1094/
>>
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx@lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
> Looks like the CI SKL doesn't have the GuC firmware installed?

It's tons of:

[   38.169461] [drm:intel_lr_context_deferred_alloc [i915]] *ERROR* ring create req: -5

If that gets fixed by installing the GuC firmware, the answer is *not*
to install the GuC firmware on the CI machines. The answer is to make
the driver handle missing firmware gracefully.

BR,
Jani.


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

-- 
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: ✗ failure:  Fi.CI.BAT
  2016-01-07 13:06     ` Jani Nikula
@ 2016-01-07 14:36       ` Daniel Vetter
  2016-01-07 14:51         ` Jani Nikula
  2016-01-07 15:37         ` Dave Gordon
  0 siblings, 2 replies; 120+ messages in thread
From: Daniel Vetter @ 2016-01-07 14:36 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

On Thu, Jan 07, 2016 at 03:06:13PM +0200, Jani Nikula wrote:
> On Thu, 07 Jan 2016, Dave Gordon <david.s.gordon@intel.com> wrote:
> > On 06/01/16 10:20, Patchwork wrote:
> >> == Summary ==
> >>
> >> Built on 24b053acb16b4b3b021575e4ee30ffedd3ab2920 drm-intel-nightly: 2016y-01m-06d-08h-16m-11s UTC integration manifest
> >>
> >> Test drv_getparams_basic:
> >>          Subgroup basic-eu-total:
> >>                  pass       -> DMESG-FAIL (skl-i5k-2)
> >>                  pass       -> DMESG-FAIL (skl-i7k-2)
> 
> [snip]
> 
> >>
> >> bdw-nuci7        total:132  pass:122  dwarn:1   dfail:0   fail:0   skip:9
> >> bdw-ultra        total:132  pass:126  dwarn:0   dfail:0   fail:0   skip:6
> >> bsw-nuc-2        total:135  pass:115  dwarn:0   dfail:0   fail:0   skip:20
> >> byt-nuc          total:135  pass:121  dwarn:1   dfail:0   fail:0   skip:13
> >> hsw-brixbox      total:135  pass:128  dwarn:0   dfail:0   fail:0   skip:7
> >> hsw-gt2          total:135  pass:131  dwarn:0   dfail:0   fail:0   skip:4
> >> ilk-hp8440p      total:135  pass:100  dwarn:0   dfail:0   fail:0   skip:35
> >> ivb-t430s        total:135  pass:129  dwarn:0   dfail:0   fail:0   skip:6
> >> skl-i5k-2        total:135  pass:2    dwarn:0   dfail:132 fail:0   skip:1
> >> skl-i7k-2        total:135  pass:2    dwarn:0   dfail:132 fail:0   skip:1
> >> snb-dellxps      total:135  pass:123  dwarn:0   dfail:0   fail:0   skip:12
> >> snb-x220t        total:135  pass:123  dwarn:0   dfail:0   fail:1   skip:11
> >>
> >> Results at /archive/results/CI_IGT_test/Patchwork_1094/
> >>
> >> _______________________________________________
> >> Intel-gfx mailing list
> >> Intel-gfx@lists.freedesktop.org
> >> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> >
> > Looks like the CI SKL doesn't have the GuC firmware installed?
> 
> It's tons of:
> 
> [   38.169461] [drm:intel_lr_context_deferred_alloc [i915]] *ERROR* ring create req: -5
> 
> If that gets fixed by installing the GuC firmware, the answer is *not*
> to install the GuC firmware on the CI machines. The answer is to make
> the driver handle missing firmware gracefully.

I kinda don't want to support 2 different ways to run things on any given
platform, because we can't even support one way properly.

But since it took forever to get guc enabled people will indeed scream if
guc isn't there, so either we enable this only for bxt and later or we
indeed need to support both cases on skl :(

Either way we do need to install guc firmware first on CI boxes, since
otherwise coverage isn't there.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: ✗ failure: Fi.CI.BAT
  2016-01-07 14:36       ` Daniel Vetter
@ 2016-01-07 14:51         ` Jani Nikula
  2016-01-07 15:37         ` Dave Gordon
  1 sibling, 0 replies; 120+ messages in thread
From: Jani Nikula @ 2016-01-07 14:51 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: intel-gfx

On Thu, 07 Jan 2016, Daniel Vetter <daniel@ffwll.ch> wrote:
> On Thu, Jan 07, 2016 at 03:06:13PM +0200, Jani Nikula wrote:
>> On Thu, 07 Jan 2016, Dave Gordon <david.s.gordon@intel.com> wrote:
>> > On 06/01/16 10:20, Patchwork wrote:
>> >> == Summary ==
>> >>
>> >> Built on 24b053acb16b4b3b021575e4ee30ffedd3ab2920 drm-intel-nightly: 2016y-01m-06d-08h-16m-11s UTC integration manifest
>> >>
>> >> Test drv_getparams_basic:
>> >>          Subgroup basic-eu-total:
>> >>                  pass       -> DMESG-FAIL (skl-i5k-2)
>> >>                  pass       -> DMESG-FAIL (skl-i7k-2)
>> 
>> [snip]
>> 
>> >>
>> >> bdw-nuci7        total:132  pass:122  dwarn:1   dfail:0   fail:0   skip:9
>> >> bdw-ultra        total:132  pass:126  dwarn:0   dfail:0   fail:0   skip:6
>> >> bsw-nuc-2        total:135  pass:115  dwarn:0   dfail:0   fail:0   skip:20
>> >> byt-nuc          total:135  pass:121  dwarn:1   dfail:0   fail:0   skip:13
>> >> hsw-brixbox      total:135  pass:128  dwarn:0   dfail:0   fail:0   skip:7
>> >> hsw-gt2          total:135  pass:131  dwarn:0   dfail:0   fail:0   skip:4
>> >> ilk-hp8440p      total:135  pass:100  dwarn:0   dfail:0   fail:0   skip:35
>> >> ivb-t430s        total:135  pass:129  dwarn:0   dfail:0   fail:0   skip:6
>> >> skl-i5k-2        total:135  pass:2    dwarn:0   dfail:132 fail:0   skip:1
>> >> skl-i7k-2        total:135  pass:2    dwarn:0   dfail:132 fail:0   skip:1
>> >> snb-dellxps      total:135  pass:123  dwarn:0   dfail:0   fail:0   skip:12
>> >> snb-x220t        total:135  pass:123  dwarn:0   dfail:0   fail:1   skip:11
>> >>
>> >> Results at /archive/results/CI_IGT_test/Patchwork_1094/
>> >>
>> >> _______________________________________________
>> >> Intel-gfx mailing list
>> >> Intel-gfx@lists.freedesktop.org
>> >> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>> >
>> > Looks like the CI SKL doesn't have the GuC firmware installed?
>> 
>> It's tons of:
>> 
>> [   38.169461] [drm:intel_lr_context_deferred_alloc [i915]] *ERROR* ring create req: -5
>> 
>> If that gets fixed by installing the GuC firmware, the answer is *not*
>> to install the GuC firmware on the CI machines. The answer is to make
>> the driver handle missing firmware gracefully.
>
> I kinda don't want to support 2 different ways to run things on any given
> platform, because we can't even support one way properly.
>
> But since it took forever to get guc enabled people will indeed scream if
> guc isn't there, so either we enable this only for bxt and later or we
> indeed need to support both cases on skl :(

It's probably considered a regression to add a hard requirement on guc
firmware now that skl has been running fine without. Yet we probably
want all the coverage we can get for the guc case, so I don't think we
should rely on bxt alone with that.

> Either way we do need to install guc firmware first on CI boxes, since
> otherwise coverage isn't there.

How about having guc firmware on half the CI boxes, at least for
starters. It's going to blow up anyway...

BR,
Jani.


-- 
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: ✗ failure: Fi.CI.BAT
  2016-01-07 14:36       ` Daniel Vetter
  2016-01-07 14:51         ` Jani Nikula
@ 2016-01-07 15:37         ` Dave Gordon
  1 sibling, 0 replies; 120+ messages in thread
From: Dave Gordon @ 2016-01-07 15:37 UTC (permalink / raw)
  To: Daniel Vetter, Jani Nikula; +Cc: intel-gfx

On 07/01/16 14:36, Daniel Vetter wrote:
> On Thu, Jan 07, 2016 at 03:06:13PM +0200, Jani Nikula wrote:
>> On Thu, 07 Jan 2016, Dave Gordon <david.s.gordon@intel.com> wrote:
>>> On 06/01/16 10:20, Patchwork wrote:
>>>> == Summary ==
>>>>
>>>> Built on 24b053acb16b4b3b021575e4ee30ffedd3ab2920 drm-intel-nightly: 2016y-01m-06d-08h-16m-11s UTC integration manifest
>>>>
>>>> Test drv_getparams_basic:
>>>>           Subgroup basic-eu-total:
>>>>                   pass       -> DMESG-FAIL (skl-i5k-2)
>>>>                   pass       -> DMESG-FAIL (skl-i7k-2)
>>
>> [snip]
>>
>>>>
>>>> bdw-nuci7        total:132  pass:122  dwarn:1   dfail:0   fail:0   skip:9
>>>> bdw-ultra        total:132  pass:126  dwarn:0   dfail:0   fail:0   skip:6
>>>> bsw-nuc-2        total:135  pass:115  dwarn:0   dfail:0   fail:0   skip:20
>>>> byt-nuc          total:135  pass:121  dwarn:1   dfail:0   fail:0   skip:13
>>>> hsw-brixbox      total:135  pass:128  dwarn:0   dfail:0   fail:0   skip:7
>>>> hsw-gt2          total:135  pass:131  dwarn:0   dfail:0   fail:0   skip:4
>>>> ilk-hp8440p      total:135  pass:100  dwarn:0   dfail:0   fail:0   skip:35
>>>> ivb-t430s        total:135  pass:129  dwarn:0   dfail:0   fail:0   skip:6
>>>> skl-i5k-2        total:135  pass:2    dwarn:0   dfail:132 fail:0   skip:1
>>>> skl-i7k-2        total:135  pass:2    dwarn:0   dfail:132 fail:0   skip:1
>>>> snb-dellxps      total:135  pass:123  dwarn:0   dfail:0   fail:0   skip:12
>>>> snb-x220t        total:135  pass:123  dwarn:0   dfail:0   fail:1   skip:11
>>>>
>>>> Results at /archive/results/CI_IGT_test/Patchwork_1094/
>>>>
>>>> _______________________________________________
>>>> Intel-gfx mailing list
>>>> Intel-gfx@lists.freedesktop.org
>>>> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>>>
>>> Looks like the CI SKL doesn't have the GuC firmware installed?
>>
>> It's tons of:
>>
>> [   38.169461] [drm:intel_lr_context_deferred_alloc [i915]] *ERROR* ring create req: -5
>>
>> If that gets fixed by installing the GuC firmware, the answer is *not*
>> to install the GuC firmware on the CI machines. The answer is to make
>> the driver handle missing firmware gracefully.
>
> I kinda don't want to support 2 different ways to run things on any given
> platform, because we can't even support one way properly.
>
> But since it took forever to get guc enabled people will indeed scream if
> guc isn't there, so either we enable this only for bxt and later or we
> indeed need to support both cases on skl :(

Yeah, we used to have that ability, until it was vetoed :(
See <20150706142822.GJ2156@phenom.ffwll.local> or
http://www.mail-archive.com/intel-gfx%40lists.freedesktop.org/msg63553.html

> Either way we do need to install guc firmware first on CI boxes, since
> otherwise coverage isn't there.
> -Daniel


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

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

* ✗ failure: Fi.CI.BAT
  2016-01-07 10:54 [PATCH 0/7] Explicitly pass crtc_state and plane_state to plane update functions Maarten Lankhorst
@ 2016-01-11  8:53 ` Patchwork
  0 siblings, 0 replies; 120+ messages in thread
From: Patchwork @ 2016-01-11  8:53 UTC (permalink / raw)
  To: Maarten Lankhorst; +Cc: intel-gfx

== Summary ==

HEAD is now at ff88655 drm-intel-nightly: 2016y-01m-11d-07h-30m-16s UTC integration manifest
Applying: drm/i915: Use passed plane state for sprite planes, v4.
Using index info to reconstruct a base tree...
M	drivers/gpu/drm/i915/intel_drv.h
M	drivers/gpu/drm/i915/intel_sprite.c
Falling back to patching base and 3-way merge...
Auto-merging drivers/gpu/drm/i915/intel_sprite.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/intel_sprite.c
Patch failed at 0001 drm/i915: Use passed plane state for sprite planes, v4.

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

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

* ✗ failure: Fi.CI.BAT
  2016-01-07  9:10 [PATCH] drm/i915: Init power domains early in driver load Daniel Vetter
@ 2016-01-11  9:12 ` Patchwork
  0 siblings, 0 replies; 120+ messages in thread
From: Patchwork @ 2016-01-11  9:12 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: intel-gfx

== Summary ==

Built on ff88655b3a5467bbc3be8c67d3e05ebf182557d3 drm-intel-nightly: 2016y-01m-11d-07h-30m-16s UTC integration manifest

Test gem_storedw_loop:
        Subgroup basic-render:
                pass       -> DMESG-WARN (skl-i5k-2) UNSTABLE
                dmesg-warn -> PASS       (bdw-ultra)
Test kms_flip:
        Subgroup basic-flip-vs-dpms:
                dmesg-warn -> PASS       (ilk-hp8440p)
Test kms_pipe_crc_basic:
        Subgroup read-crc-pipe-b:
                pass       -> DMESG-WARN (ilk-hp8440p)
                dmesg-warn -> PASS       (byt-nuc)

bdw-ultra        total:138  pass:132  dwarn:0   dfail:0   fail:0   skip:6  
bsw-nuc-2        total:141  pass:114  dwarn:3   dfail:0   fail:0   skip:24 
byt-nuc          total:141  pass:119  dwarn:7   dfail:0   fail:0   skip:15 
hsw-brixbox      total:141  pass:134  dwarn:0   dfail:0   fail:0   skip:7  
hsw-gt2          total:141  pass:137  dwarn:0   dfail:0   fail:0   skip:4  
hsw-xps12        total:138  pass:133  dwarn:1   dfail:0   fail:0   skip:4  
ilk-hp8440p      total:141  pass:100  dwarn:4   dfail:0   fail:0   skip:37 
skl-i5k-2        total:141  pass:131  dwarn:2   dfail:0   fail:0   skip:8  
skl-i7k-2        total:141  pass:131  dwarn:2   dfail:0   fail:0   skip:8  
snb-dellxps      total:141  pass:122  dwarn:5   dfail:0   fail:0   skip:14 
snb-x220t        total:141  pass:122  dwarn:5   dfail:0   fail:1   skip:13 

HANGED ivb-t430s in igt@kms_pipe_crc_basic@nonblocking-crc-pipe-b

Results at /archive/results/CI_IGT_test/Patchwork_1112/

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

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

* ✗ failure: Fi.CI.BAT
  2016-01-08 11:29 [PATCH v2 00/13] Misc cleanups and locking fixes Tvrtko Ursulin
@ 2016-01-11  9:44 ` Patchwork
  0 siblings, 0 replies; 120+ messages in thread
From: Patchwork @ 2016-01-11  9:44 UTC (permalink / raw)
  To: Tvrtko Ursulin; +Cc: intel-gfx

== Summary ==

Built on ff88655b3a5467bbc3be8c67d3e05ebf182557d3 drm-intel-nightly: 2016y-01m-11d-07h-30m-16s UTC integration manifest

Test gem_basic:
        Subgroup create-close:
                pass       -> DMESG-WARN (skl-i7k-2)
Test gem_cpu_reloc:
        Subgroup basic:
                pass       -> DMESG-FAIL (skl-i7k-2)
Test gem_ctx_param_basic:
        Subgroup basic:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup invalid-param-set:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup non-root-set-no-zeromap:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup root-set-no-zeromap-disabled:
                pass       -> DMESG-WARN (skl-i7k-2)
Test gem_mmap:
        Subgroup basic:
                pass       -> DMESG-WARN (skl-i7k-2)
Test gem_mmap_gtt:
        Subgroup basic-read:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup basic-write:
                pass       -> DMESG-WARN (skl-i7k-2)
Test gem_storedw_loop:
        Subgroup basic-render:
                dmesg-warn -> PASS       (skl-i7k-2) UNSTABLE
Test kms_addfb_basic:
        Subgroup addfb25-modifier-no-flag:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup addfb25-x-tiled-mismatch:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup addfb25-yf-tiled:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup bad-pitch-1024:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup bad-pitch-63:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup bad-pitch-999:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup clobberred-modifier:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup too-high:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup too-wide:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup unused-offsets:
                pass       -> DMESG-WARN (skl-i7k-2)
Test kms_flip:
        Subgroup basic-flip-vs-dpms:
                dmesg-warn -> PASS       (ilk-hp8440p)
        Subgroup basic-plain-flip:
                pass       -> DMESG-FAIL (skl-i7k-2)
Test kms_pipe_crc_basic:
        Subgroup hang-read-crc-pipe-a:
                pass       -> DMESG-WARN (skl-i5k-2)
                pass       -> DMESG-WARN (bdw-ultra)
                pass       -> DMESG-WARN (skl-i7k-2)
                pass       -> DMESG-WARN (byt-nuc)
                pass       -> DMESG-WARN (snb-x220t)
                pass       -> DMESG-WARN (snb-dellxps)
                pass       -> DMESG-WARN (hsw-brixbox)
                pass       -> DMESG-WARN (ilk-hp8440p)
        Subgroup nonblocking-crc-pipe-a-frame-sequence:
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup read-crc-pipe-b:
                dmesg-warn -> PASS       (byt-nuc)
        Subgroup read-crc-pipe-b-frame-sequence:
                pass       -> DMESG-FAIL (skl-i7k-2)
Test prime_self_import:
        Subgroup basic-with_two_bos:
                pass       -> DMESG-WARN (skl-i7k-2)

bdw-ultra        total:138  pass:129  dwarn:3   dfail:0   fail:0   skip:6  
bsw-nuc-2        total:141  pass:113  dwarn:4   dfail:0   fail:0   skip:24 
byt-nuc          total:141  pass:117  dwarn:9   dfail:0   fail:0   skip:15 
hsw-brixbox      total:141  pass:132  dwarn:2   dfail:0   fail:0   skip:7  
ilk-hp8440p      total:141  pass:100  dwarn:4   dfail:0   fail:0   skip:37 
skl-i5k-2        total:141  pass:130  dwarn:3   dfail:0   fail:0   skip:8  
skl-i7k-2        total:141  pass:106  dwarn:22  dfail:4   fail:0   skip:8  
snb-dellxps      total:141  pass:121  dwarn:6   dfail:0   fail:0   skip:14 
snb-x220t        total:141  pass:121  dwarn:6   dfail:0   fail:1   skip:13 

HANGED hsw-gt2 in igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c

Results at /archive/results/CI_IGT_test/Patchwork_1115/

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

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

* ✗ failure: Fi.CI.BAT
  2016-01-08 13:51 [PATCH 1/2] drm/i915: Enable mmio_debug for vlv/chv Mika Kuoppala
@ 2016-01-11  9:59 ` Patchwork
  2016-01-11 12:50   ` Mika Kuoppala
  0 siblings, 1 reply; 120+ messages in thread
From: Patchwork @ 2016-01-11  9:59 UTC (permalink / raw)
  To: Mika Kuoppala; +Cc: intel-gfx

== Summary ==

Built on ff88655b3a5467bbc3be8c67d3e05ebf182557d3 drm-intel-nightly: 2016y-01m-11d-07h-30m-16s UTC integration manifest

Test gem_storedw_loop:
        Subgroup basic-render:
                pass       -> DMESG-WARN (skl-i5k-2) UNSTABLE
                dmesg-warn -> PASS       (bdw-ultra)
Test kms_flip:
        Subgroup basic-flip-vs-dpms:
                dmesg-warn -> PASS       (ilk-hp8440p)
        Subgroup basic-flip-vs-modeset:
                pass       -> DMESG-WARN (skl-i5k-2)
                dmesg-warn -> PASS       (bsw-nuc-2)
                pass       -> DMESG-WARN (ilk-hp8440p)
                dmesg-warn -> PASS       (byt-nuc)
        Subgroup basic-flip-vs-wf_vblank:
                pass       -> DMESG-WARN (byt-nuc)
        Subgroup basic-plain-flip:
                dmesg-warn -> PASS       (bsw-nuc-2)
                dmesg-warn -> PASS       (byt-nuc)
Test kms_pipe_crc_basic:
        Subgroup nonblocking-crc-pipe-b:
                pass       -> DMESG-WARN (byt-nuc)
        Subgroup nonblocking-crc-pipe-c:
                pass       -> DMESG-WARN (bsw-nuc-2)
        Subgroup read-crc-pipe-a:
                dmesg-warn -> PASS       (byt-nuc)
        Subgroup read-crc-pipe-b:
                dmesg-warn -> PASS       (byt-nuc)
        Subgroup read-crc-pipe-b-frame-sequence:
                pass       -> DMESG-WARN (bdw-ultra)
                dmesg-warn -> PASS       (byt-nuc)
        Subgroup read-crc-pipe-c:
                dmesg-warn -> PASS       (bsw-nuc-2)
        Subgroup read-crc-pipe-c-frame-sequence:
                pass       -> DMESG-WARN (bsw-nuc-2)
Test pm_rpm:
        Subgroup basic-pci-d3-state:
                dmesg-warn -> PASS       (byt-nuc)

bdw-ultra        total:138  pass:130  dwarn:1   dfail:0   fail:1   skip:6  
bsw-nuc-2        total:141  pass:115  dwarn:2   dfail:0   fail:0   skip:24 
byt-nuc          total:141  pass:122  dwarn:4   dfail:0   fail:0   skip:15 
hsw-brixbox      total:141  pass:134  dwarn:0   dfail:0   fail:0   skip:7  
hsw-gt2          total:141  pass:137  dwarn:0   dfail:0   fail:0   skip:4  
ilk-hp8440p      total:141  pass:100  dwarn:4   dfail:0   fail:0   skip:37 
skl-i5k-2        total:141  pass:130  dwarn:3   dfail:0   fail:0   skip:8  
skl-i7k-2        total:141  pass:131  dwarn:2   dfail:0   fail:0   skip:8  
snb-dellxps      total:141  pass:122  dwarn:5   dfail:0   fail:0   skip:14 
snb-x220t        total:141  pass:122  dwarn:5   dfail:0   fail:1   skip:13 

HANGED ivb-t430s in igt@kms_pipe_crc_basic@nonblocking-crc-pipe-b

Results at /archive/results/CI_IGT_test/Patchwork_1116/

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

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

* ✗ failure: Fi.CI.BAT
  2016-01-08 16:58 [PATCH 1/2] drm/i915: Store edram capabilities instead of fixed size Mika Kuoppala
@ 2016-01-11 10:27 ` Patchwork
  0 siblings, 0 replies; 120+ messages in thread
From: Patchwork @ 2016-01-11 10:27 UTC (permalink / raw)
  To: Mika Kuoppala; +Cc: intel-gfx

== Summary ==

Built on ff88655b3a5467bbc3be8c67d3e05ebf182557d3 drm-intel-nightly: 2016y-01m-11d-07h-30m-16s UTC integration manifest

Test gem_storedw_loop:
        Subgroup basic-render:
                dmesg-warn -> PASS       (bdw-ultra)
Test kms_flip:
        Subgroup basic-flip-vs-dpms:
                dmesg-warn -> PASS       (ilk-hp8440p)
Test kms_pipe_crc_basic:
        Subgroup read-crc-pipe-b:
                pass       -> DMESG-WARN (bdw-ultra)
                dmesg-warn -> PASS       (byt-nuc)

bdw-nuci7        total:138  pass:129  dwarn:0   dfail:0   fail:0   skip:9  
bdw-ultra        total:138  pass:131  dwarn:1   dfail:0   fail:0   skip:6  
bsw-nuc-2        total:141  pass:114  dwarn:3   dfail:0   fail:0   skip:24 
byt-nuc          total:141  pass:119  dwarn:7   dfail:0   fail:0   skip:15 
hsw-brixbox      total:141  pass:134  dwarn:0   dfail:0   fail:0   skip:7  
hsw-gt2          total:141  pass:137  dwarn:0   dfail:0   fail:0   skip:4  
ilk-hp8440p      total:141  pass:101  dwarn:3   dfail:0   fail:0   skip:37 
skl-i5k-2        total:141  pass:132  dwarn:1   dfail:0   fail:0   skip:8  
skl-i7k-2        total:141  pass:131  dwarn:2   dfail:0   fail:0   skip:8  
snb-dellxps      total:141  pass:122  dwarn:5   dfail:0   fail:0   skip:14 
snb-x220t        total:141  pass:122  dwarn:5   dfail:0   fail:1   skip:13 

HANGED ivb-t430s in igt@kms_pipe_crc_basic@nonblocking-crc-pipe-b

Results at /archive/results/CI_IGT_test/Patchwork_1118/

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

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

* ✗ failure: Fi.CI.BAT
  2016-01-08 21:40 [PATCH] drm/i915: Reject invalid-pad for context-destroy ioctl Chris Wilson
@ 2016-01-11 11:07 ` Patchwork
  0 siblings, 0 replies; 120+ messages in thread
From: Patchwork @ 2016-01-11 11:07 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Summary ==

Built on ff88655b3a5467bbc3be8c67d3e05ebf182557d3 drm-intel-nightly: 2016y-01m-11d-07h-30m-16s UTC integration manifest

Test gem_storedw_loop:
        Subgroup basic-render:
                pass       -> DMESG-WARN (bdw-nuci7)
                dmesg-warn -> PASS       (bdw-ultra)
Test kms_flip:
        Subgroup basic-flip-vs-dpms:
                dmesg-warn -> PASS       (ilk-hp8440p)
Test kms_pipe_crc_basic:
        Subgroup nonblocking-crc-pipe-b-frame-sequence:
                pass       -> DMESG-WARN (bdw-ultra)
        Subgroup read-crc-pipe-a-frame-sequence:
                pass       -> FAIL       (snb-x220t)
        Subgroup read-crc-pipe-b:
                dmesg-warn -> PASS       (byt-nuc)
        Subgroup read-crc-pipe-c:
                dmesg-warn -> PASS       (bsw-nuc-2)

bdw-nuci7        total:138  pass:128  dwarn:1   dfail:0   fail:0   skip:9  
bdw-ultra        total:138  pass:131  dwarn:1   dfail:0   fail:0   skip:6  
bsw-nuc-2        total:141  pass:115  dwarn:2   dfail:0   fail:0   skip:24 
byt-nuc          total:141  pass:119  dwarn:7   dfail:0   fail:0   skip:15 
hsw-brixbox      total:141  pass:134  dwarn:0   dfail:0   fail:0   skip:7  
hsw-gt2          total:141  pass:137  dwarn:0   dfail:0   fail:0   skip:4  
ilk-hp8440p      total:141  pass:101  dwarn:3   dfail:0   fail:0   skip:37 
ivb-t430s        total:135  pass:122  dwarn:3   dfail:4   fail:0   skip:6  
skl-i5k-2        total:141  pass:132  dwarn:1   dfail:0   fail:0   skip:8  
skl-i7k-2        total:141  pass:131  dwarn:2   dfail:0   fail:0   skip:8  
snb-dellxps      total:141  pass:122  dwarn:5   dfail:0   fail:0   skip:14 
snb-x220t        total:141  pass:121  dwarn:5   dfail:0   fail:2   skip:13 

Results at /archive/results/CI_IGT_test/Patchwork_1120/

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

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

* ✗ failure: Fi.CI.BAT
  2016-01-08 20:36 [PATCH 00/21] drm_event cleanup Daniel Vetter
@ 2016-01-11 11:20 ` Patchwork
  2016-01-12 16:24   ` Daniel Vetter
  0 siblings, 1 reply; 120+ messages in thread
From: Patchwork @ 2016-01-11 11:20 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: intel-gfx

== Summary ==

HEAD is now at ff88655 drm-intel-nightly: 2016y-01m-11d-07h-30m-16s UTC integration manifest
Applying: drm: kerneldoc for drm_fops.c
Repository lacks necessary blobs to fall back on 3-way merge.
Cannot fall back to three-way merge.
Patch failed at 0001 drm: kerneldoc for drm_fops.c

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

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

* ✗ failure: Fi.CI.BAT
  2016-01-11 12:27 [PATCH v2 0/9] Kill off intel_crtc->atomic! Maarten Lankhorst
@ 2016-01-11 12:49 ` Patchwork
  2016-01-11 14:30 ` Patchwork
  1 sibling, 0 replies; 120+ messages in thread
From: Patchwork @ 2016-01-11 12:49 UTC (permalink / raw)
  To: Maarten Lankhorst; +Cc: intel-gfx

== Summary ==

Built on ff88655b3a5467bbc3be8c67d3e05ebf182557d3 drm-intel-nightly: 2016y-01m-11d-07h-30m-16s UTC integration manifest

Test core_auth:
        Subgroup basic-auth:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
Test core_prop_blob:
        Subgroup basic:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
Test drv_getparams_basic:
        Subgroup basic-eu-total:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup basic-subslice-total:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
Test gem_basic:
        Subgroup bad-close:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup create-close:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
Test gem_cpu_reloc:
        Subgroup basic:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
Test gem_ctx_create:
        Subgroup basic:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
Test gem_ctx_param_basic:
        Subgroup basic:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup basic-default:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup invalid-ctx-get:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup invalid-ctx-set:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup invalid-param-set:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup non-root-set:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup non-root-set-no-zeromap:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup root-set-no-zeromap-disabled:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup root-set-no-zeromap-enabled:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
Test gem_flink_basic:
        Subgroup bad-open:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup basic:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
Test gem_linear_blits:
        Subgroup basic:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
Test gem_mmap:
        Subgroup basic:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
Test gem_mmap_gtt:
        Subgroup basic-copy:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup basic-read:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup basic-read-write-distinct:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup basic-small-bo:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup basic-small-bo-tiledx:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup basic-small-bo-tiledy:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup basic-small-copy:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup basic-small-copy-xy:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup basic-write:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup basic-write-gtt:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup basic-write-no-prefault:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup basic-write-read-distinct:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
Test gem_pwrite:
        Subgroup basic:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
Test gem_render_linear_blits:
        Subgroup basic:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
Test gem_render_tiled_blits:
        Subgroup basic:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
Test gem_storedw_loop:
        Subgroup basic-blt:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup basic-bsd:
                pass       -> SKIP       (bdw-ultra)
        Subgroup basic-render:
                dmesg-warn -> PASS       (bdw-ultra)
        Subgroup basic-vebox:
                pass       -> SKIP       (bdw-ultra)
Test kms_addfb_basic:
        Subgroup addfb25-modifier-no-flag:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup addfb25-x-tiled:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup addfb25-x-tiled-mismatch:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup addfb25-y-tiled:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup addfb25-yf-tiled:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup bad-pitch-0:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup bad-pitch-1024:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup bad-pitch-128:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup bad-pitch-256:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup bad-pitch-32:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup bad-pitch-63:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup bad-pitch-65536:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup bad-pitch-999:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup basic:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup basic-y-tiled:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup bo-too-small-due-to-tiling:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup clobberred-modifier:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup framebuffer-vs-set-tiling:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup no-handle:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup size-max:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup small-bo:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup tile-pitch-mismatch:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup too-high:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup too-wide:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup unused-handle:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup unused-modifier:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup unused-offsets:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup unused-pitches:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
Test kms_flip:
        Subgroup basic-flip-vs-dpms:
                pass       -> DMESG-FAIL (bsw-nuc-2)
                pass       -> FAIL       (snb-dellxps)
                pass       -> FAIL       (bdw-ultra)
                dmesg-warn -> PASS       (ilk-hp8440p)
                pass       -> DMESG-FAIL (byt-nuc)
        Subgroup basic-flip-vs-modeset:
                dmesg-warn -> DMESG-FAIL (bsw-nuc-2)
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
                pass       -> DMESG-WARN (ilk-hp8440p)
                dmesg-warn -> DMESG-FAIL (byt-nuc)
        Subgroup basic-flip-vs-wf_vblank:
                pass       -> DMESG-FAIL (bsw-nuc-2)
                dmesg-warn -> PASS       (ivb-t430s)
                pass       -> FAIL       (bdw-ultra)
                pass       -> DMESG-FAIL (byt-nuc)
                dmesg-warn -> PASS       (snb-x220t)
                dmesg-warn -> FAIL       (snb-dellxps)
                dmesg-warn -> PASS       (ilk-hp8440p)
        Subgroup basic-plain-flip:
                dmesg-warn -> DMESG-FAIL (byt-nuc)
                dmesg-warn -> DMESG-FAIL (bsw-nuc-2)
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
                dmesg-warn -> PASS       (ivb-t430s)
Test kms_force_connector_basic:
        Subgroup force-edid:
                pass       -> SKIP       (snb-dellxps)
        Subgroup prune-stale-modes:
                pass       -> SKIP       (snb-dellxps)
Test kms_pipe_crc_basic:
        Subgroup bad-nb-words-1:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup bad-nb-words-3:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup bad-pipe:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup hang-read-crc-pipe-a:
                pass       -> FAIL       (snb-dellxps)
                pass       -> FAIL       (bdw-ultra)
                pass       -> DMESG-FAIL (byt-nuc)
        Subgroup hang-read-crc-pipe-b:
                pass       -> FAIL       (snb-dellxps)
                pass       -> FAIL       (bdw-ultra)
                pass       -> DMESG-FAIL (byt-nuc)
        Subgroup hang-read-crc-pipe-c:
                pass       -> FAIL       (bsw-nuc-2)
                pass       -> FAIL       (bdw-ultra)
        Subgroup nonblocking-crc-pipe-a:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
                pass       -> FAIL       (byt-nuc)
        Subgroup nonblocking-crc-pipe-a-frame-sequence:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
                pass       -> FAIL       (byt-nuc)
        Subgroup nonblocking-crc-pipe-b:
                dmesg-warn -> PASS       (snb-x220t)
                dmesg-warn -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
                pass       -> DMESG-FAIL (byt-nuc)
        Subgroup nonblocking-crc-pipe-b-frame-sequence:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
                pass       -> DMESG-FAIL (byt-nuc)
        Subgroup nonblocking-crc-pipe-c:
                pass       -> FAIL       (bsw-nuc-2)
                pass       -> SKIP       (bdw-ultra)
        Subgroup nonblocking-crc-pipe-c-frame-sequence:
                pass       -> FAIL       (bsw-nuc-2)
                pass       -> FAIL       (bdw-ultra)
        Subgroup read-crc-pipe-a:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
                dmesg-warn -> FAIL       (byt-nuc)
        Subgroup read-crc-pipe-a-frame-sequence:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
                dmesg-warn -> FAIL       (byt-nuc)
        Subgroup read-crc-pipe-b:
                dmesg-warn -> DMESG-FAIL (byt-nuc)
                dmesg-warn -> PASS       (snb-x220t)
                dmesg-warn -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
                dmesg-fail -> PASS       (ivb-t430s)
        Subgroup read-crc-pipe-b-frame-sequence:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
                dmesg-warn -> DMESG-FAIL (byt-nuc)
        Subgroup read-crc-pipe-c:
                dmesg-warn -> FAIL       (bsw-nuc-2)
                pass       -> SKIP       (bdw-ultra)
                dmesg-fail -> PASS       (ivb-t430s)
        Subgroup read-crc-pipe-c-frame-sequence:
                pass       -> FAIL       (bsw-nuc-2)
                pass       -> FAIL       (bdw-ultra)
        Subgroup suspend-read-crc-pipe-a:
                pass       -> SKIP       (snb-dellxps)
                pass       -> DMESG-FAIL (byt-nuc)
        Subgroup suspend-read-crc-pipe-b:
                pass       -> DMESG-FAIL (byt-nuc)
                dmesg-warn -> PASS       (snb-x220t)
                dmesg-warn -> SKIP       (snb-dellxps)
                dmesg-warn -> PASS       (ilk-hp8440p)
                dmesg-fail -> PASS       (ivb-t430s)
        Subgroup suspend-read-crc-pipe-c:
                pass       -> DMESG-FAIL (bsw-nuc-2)
                dmesg-fail -> PASS       (ivb-t430s)
Test kms_psr_sink_crc:
        Subgroup psr_basic:
                pass       -> SKIP       (bdw-ultra)
Test kms_setmode:
        Subgroup basic-clone-single-crtc:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
Test pm_rpm:
        Subgroup basic-pci-d3-state:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup basic-rte:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
Test pm_rps:
        Subgroup basic-api:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
Test prime_self_import:
        Subgroup basic-llseek-bad:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup basic-with_fd_dup:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup basic-with_one_bo_two_files:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)
        Subgroup basic-with_two_bos:
                pass       -> SKIP       (snb-dellxps)
                pass       -> SKIP       (bdw-ultra)

bdw-nuci7        total:138  pass:129  dwarn:0   dfail:0   fail:0   skip:9  
bdw-ultra        total:138  pass:31   dwarn:0   dfail:1   fail:7   skip:99 
bsw-nuc-2        total:141  pass:106  dwarn:1   dfail:5   fail:5   skip:24 
byt-nuc          total:141  pass:107  dwarn:3   dfail:12  fail:4   skip:15 
hsw-brixbox      total:141  pass:134  dwarn:0   dfail:0   fail:0   skip:7  
hsw-gt2          total:141  pass:137  dwarn:0   dfail:0   fail:0   skip:4  
ilk-hp8440p      total:141  pass:103  dwarn:1   dfail:0   fail:0   skip:37 
ivb-t430s        total:135  pass:129  dwarn:0   dfail:0   fail:0   skip:6  
snb-dellxps      total:141  pass:31   dwarn:0   dfail:1   fail:4   skip:105
snb-x220t        total:141  pass:127  dwarn:0   dfail:0   fail:1   skip:13 

HANGED hsw-xps12 in igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a
HANGED skl-i5k-2 in igt@kms_pipe_crc_basic@hang-read-crc-pipe-a
HANGED skl-i7k-2 in igt@kms_pipe_crc_basic@hang-read-crc-pipe-a

Results at /archive/results/CI_IGT_test/Patchwork_1127/

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

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

* Re: ✗ failure: Fi.CI.BAT
  2016-01-11  9:59 ` ✗ failure: Fi.CI.BAT Patchwork
@ 2016-01-11 12:50   ` Mika Kuoppala
  2016-01-12 16:22     ` Daniel Vetter
  0 siblings, 1 reply; 120+ messages in thread
From: Mika Kuoppala @ 2016-01-11 12:50 UTC (permalink / raw)
  To: Patchwork; +Cc: intel-gfx

Patchwork <patchwork@annarchy.freedesktop.org> writes:

> == Summary ==
>
> Built on ff88655b3a5467bbc3be8c67d3e05ebf182557d3 drm-intel-nightly: 2016y-01m-11d-07h-30m-16s UTC integration manifest
>
> Test gem_storedw_loop:
>         Subgroup basic-render:
>                 pass       -> DMESG-WARN (skl-i5k-2) UNSTABLE
>                 dmesg-warn -> PASS       (bdw-ultra)
> Test kms_flip:
>         Subgroup basic-flip-vs-dpms:
>                 dmesg-warn -> PASS       (ilk-hp8440p)
>         Subgroup basic-flip-vs-modeset:
>                 pass       -> DMESG-WARN (skl-i5k-2)
>                 dmesg-warn -> PASS       (bsw-nuc-2)
>                 pass       -> DMESG-WARN (ilk-hp8440p)
>                 dmesg-warn -> PASS       (byt-nuc)
>         Subgroup basic-flip-vs-wf_vblank:
>                 pass       -> DMESG-WARN (byt-nuc)
>         Subgroup basic-plain-flip:
>                 dmesg-warn -> PASS       (bsw-nuc-2)
>                 dmesg-warn -> PASS       (byt-nuc)
> Test kms_pipe_crc_basic:
>         Subgroup nonblocking-crc-pipe-b:
>                 pass       -> DMESG-WARN (byt-nuc)
>         Subgroup nonblocking-crc-pipe-c:
>                 pass       -> DMESG-WARN (bsw-nuc-2)
>         Subgroup read-crc-pipe-a:
>                 dmesg-warn -> PASS       (byt-nuc)
>         Subgroup read-crc-pipe-b:
>                 dmesg-warn -> PASS       (byt-nuc)
>         Subgroup read-crc-pipe-b-frame-sequence:
>                 pass       -> DMESG-WARN (bdw-ultra)
>                 dmesg-warn -> PASS       (byt-nuc)
>         Subgroup read-crc-pipe-c:
>                 dmesg-warn -> PASS       (bsw-nuc-2)
>         Subgroup read-crc-pipe-c-frame-sequence:
>                 pass       -> DMESG-WARN (bsw-nuc-2)
> Test pm_rpm:
>         Subgroup basic-pci-d3-state:
>                 dmesg-warn -> PASS       (byt-nuc)
>
> bdw-ultra        total:138  pass:130  dwarn:1   dfail:0   fail:1
> skip:6

Tomi suspected this as a fluke fail. There was no igt stdout nor stderr
for this case. We did a rerun and bdw-ultra passed.

-Mika

> bsw-nuc-2        total:141  pass:115  dwarn:2   dfail:0   fail:0   skip:24 
> byt-nuc          total:141  pass:122  dwarn:4   dfail:0   fail:0   skip:15 
> hsw-brixbox      total:141  pass:134  dwarn:0   dfail:0   fail:0   skip:7  
> hsw-gt2          total:141  pass:137  dwarn:0   dfail:0   fail:0   skip:4  
> ilk-hp8440p      total:141  pass:100  dwarn:4   dfail:0   fail:0   skip:37 
> skl-i5k-2        total:141  pass:130  dwarn:3   dfail:0   fail:0   skip:8  
> skl-i7k-2        total:141  pass:131  dwarn:2   dfail:0   fail:0   skip:8  
> snb-dellxps      total:141  pass:122  dwarn:5   dfail:0   fail:0   skip:14 
> snb-x220t        total:141  pass:122  dwarn:5   dfail:0   fail:1   skip:13 
>
> HANGED ivb-t430s in igt@kms_pipe_crc_basic@nonblocking-crc-pipe-b
>
> Results at /archive/results/CI_IGT_test/Patchwork_1116/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* ✗ failure: Fi.CI.BAT
  2015-12-21 13:10 [PATCH 00/15] drm/i915/bios: mipi sequence block v3, etc Jani Nikula
  2016-01-05 16:01 ` ✗ failure: Fi.CI.BAT Patchwork
@ 2016-01-11 13:30 ` Patchwork
  2016-01-11 14:01 ` Patchwork
  2 siblings, 0 replies; 120+ messages in thread
From: Patchwork @ 2016-01-11 13:30 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

== Summary ==

HEAD is now at ff88655 drm-intel-nightly: 2016y-01m-11d-07h-30m-16s UTC integration manifest
Applying: drm/i915/bios: add proper documentation for the Video BIOS Table (VBT)
Using index info to reconstruct a base tree...
M	Documentation/DocBook/gpu.tmpl
M	drivers/gpu/drm/i915/intel_bios.c
M	drivers/gpu/drm/i915/intel_bios.h
Falling back to patching base and 3-way merge...
Auto-merging drivers/gpu/drm/i915/intel_bios.h
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/intel_bios.h
Auto-merging drivers/gpu/drm/i915/intel_bios.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/intel_bios.c
Patch failed at 0001 drm/i915/bios: add proper documentation for the Video BIOS Table (VBT)

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

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

* ✗ failure: Fi.CI.BAT
  2015-12-21 13:10 [PATCH 00/15] drm/i915/bios: mipi sequence block v3, etc Jani Nikula
  2016-01-05 16:01 ` ✗ failure: Fi.CI.BAT Patchwork
  2016-01-11 13:30 ` Patchwork
@ 2016-01-11 14:01 ` Patchwork
  2 siblings, 0 replies; 120+ messages in thread
From: Patchwork @ 2016-01-11 14:01 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

== Summary ==

HEAD is now at ff88655 drm-intel-nightly: 2016y-01m-11d-07h-30m-16s UTC integration manifest
Applying: drm/i915/bios: add proper documentation for the Video BIOS Table (VBT)
Using index info to reconstruct a base tree...
M	Documentation/DocBook/gpu.tmpl
M	drivers/gpu/drm/i915/intel_bios.c
M	drivers/gpu/drm/i915/intel_bios.h
Falling back to patching base and 3-way merge...
Auto-merging drivers/gpu/drm/i915/intel_bios.h
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/intel_bios.h
Auto-merging drivers/gpu/drm/i915/intel_bios.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/intel_bios.c
Patch failed at 0001 drm/i915/bios: add proper documentation for the Video BIOS Table (VBT)

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

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

* ✗ failure: Fi.CI.BAT
  2016-01-11 12:27 [PATCH v2 0/9] Kill off intel_crtc->atomic! Maarten Lankhorst
  2016-01-11 12:49 ` ✗ failure: Fi.CI.BAT Patchwork
@ 2016-01-11 14:30 ` Patchwork
  1 sibling, 0 replies; 120+ messages in thread
From: Patchwork @ 2016-01-11 14:30 UTC (permalink / raw)
  To: Maarten Lankhorst; +Cc: intel-gfx

== Summary ==

HEAD is now at ff88655 drm-intel-nightly: 2016y-01m-11d-07h-30m-16s UTC integration manifest
Applying: drm/i915: Kill off intel_crtc->atomic.wait_vblank, v3.
Repository lacks necessary blobs to fall back on 3-way merge.
Cannot fall back to three-way merge.
Patch failed at 0001 drm/i915: Kill off intel_crtc->atomic.wait_vblank, v3.

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

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

* [PATCH 00/22] drm_event cleanup, round 2
@ 2016-01-11 21:40 Daniel Vetter
  2016-01-11 21:40 ` [PATCH 01/22] drm: kerneldoc for drm_fops.c Daniel Vetter
                   ` (24 more replies)
  0 siblings, 25 replies; 120+ messages in thread
From: Daniel Vetter @ 2016-01-11 21:40 UTC (permalink / raw)
  To: DRI Development; +Cc: Daniel Vetter, Intel Graphics Development

Hi all,

Mostly just small changes from review feedback (plus a few misplaced hunks,
silly me). Plus an attempt at better kerneldoc to explain how this works. Since
that caused questions both from Thomas and Laurent let me explain things also
here:

Currently anyone using drm_events (vblank code, atomic/legacy flips, drivers
like exynos) need to handle event setup, sending to the drm file and handling
when the drm file disappears themselves. This patch series provides functions to
encapsulate all these steps. Furthermore the file closing is handled
differently: Events are no longer completely destroyed in preclose hooks like
all current users do, but instead they're just unlinked from the file. The new
drm_send_event can still be called, but instead of transmitting the event to the
file it'll destroy it right away.

This means that when the drm file disappears it's entirely transparent to
drivers, and we can remove all the special tracking and cleanup code around
preclose functions.

The other consequence is that it's opt-in - drivers are still free to remove
events explicitly when the file disappears, it's just needless code. Which means
the patch series can be split up really nicely into core parts + driver patches.
The only patch I didn't split up in this fashion is the one that creates
drm_send_event - it's imo easier to review this way, and the driver changes are
really simple.

Cheers, Daniel

Daniel Vetter (22):
  drm: kerneldoc for drm_fops.c
  drm: Add functions to setup/tear down drm_events.
  drm/exynos: Use the new event init/free functions
  drm/vmwgfx: Use the new event init/free functions
  drm: Create drm_send_event helpers
  drm/fsl: Remove preclose hook
  drm/armada: Remove NULL open/pre/postclose hooks
  drm/gma500: Remove empty preclose hook
  drm: Clean up pending events in the core
  drm: Nuke vblank event file cleanup code
  drm/i915: Nuke intel_modeset_preclose
  drm/atmel: Nuke preclose
  drm/exynos: Remove event cancelling from postclose
  drm/imx: Unconfuse preclose logic
  drm/msm: Nuke preclose hooks
  drm/omap: Nuke close hooks
  drm/rcar: Nuke preclose hook
  drm/shmob: Nuke preclose hook
  drm/tegra: Stop cancelling page flip events
  drm/tilcdc: Nuke preclose hook
  drm/vc4: Nuke preclose hook
  drm/vmwgfx: Nuke preclose hook

 Documentation/DocBook/gpu.tmpl                 |  48 +----
 drivers/gpu/drm/armada/armada_drv.c            |   3 -
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c |  18 --
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c   |  10 -
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h   |   3 -
 drivers/gpu/drm/drm_atomic.c                   |  44 +---
 drivers/gpu/drm/drm_crtc.c                     |  36 +---
 drivers/gpu/drm/drm_fops.c                     | 271 ++++++++++++++++++++++---
 drivers/gpu/drm/drm_irq.c                      |   7 +-
 drivers/gpu/drm/exynos/exynos_drm_drv.c        |  14 --
 drivers/gpu/drm/exynos/exynos_drm_g2d.c        |  36 +---
 drivers/gpu/drm/exynos/exynos_drm_ipp.c        |  28 +--
 drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c      |   5 -
 drivers/gpu/drm/gma500/psb_drv.c               |   9 -
 drivers/gpu/drm/i915/i915_dma.c                |   2 -
 drivers/gpu/drm/i915/intel_display.c           |  21 --
 drivers/gpu/drm/i915/intel_drv.h               |   1 -
 drivers/gpu/drm/imx/imx-drm-core.c             |  13 --
 drivers/gpu/drm/imx/ipuv3-crtc.c               |   4 -
 drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c       |   7 -
 drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.c        |  11 -
 drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.h        |   1 -
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c       |   6 -
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c        |  11 -
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.h        |   1 -
 drivers/gpu/drm/omapdrm/omap_crtc.c            |  13 +-
 drivers/gpu/drm/omapdrm/omap_drv.c             |  41 ----
 drivers/gpu/drm/omapdrm/omap_drv.h             |   1 -
 drivers/gpu/drm/rcar-du/rcar_du_crtc.c         |  20 --
 drivers/gpu/drm/rcar-du/rcar_du_crtc.h         |   2 -
 drivers/gpu/drm/rcar-du/rcar_du_drv.c          |  10 -
 drivers/gpu/drm/shmobile/shmob_drm_crtc.c      |  20 --
 drivers/gpu/drm/shmobile/shmob_drm_crtc.h      |   2 -
 drivers/gpu/drm/shmobile/shmob_drm_drv.c       |   8 -
 drivers/gpu/drm/tegra/dc.c                     |  17 --
 drivers/gpu/drm/tegra/drm.c                    |   3 -
 drivers/gpu/drm/tegra/drm.h                    |   1 -
 drivers/gpu/drm/tilcdc/tilcdc_crtc.c           |  20 --
 drivers/gpu/drm/tilcdc/tilcdc_drv.c            |   8 -
 drivers/gpu/drm/tilcdc/tilcdc_drv.h            |   1 -
 drivers/gpu/drm/vc4/vc4_crtc.c                 |  20 --
 drivers/gpu/drm/vc4/vc4_drv.c                  |  10 -
 drivers/gpu/drm/vc4/vc4_drv.h                  |   1 -
 drivers/gpu/drm/vmwgfx/vmwgfx_drv.c            |  11 -
 drivers/gpu/drm/vmwgfx/vmwgfx_drv.h            |   1 -
 drivers/gpu/drm/vmwgfx/vmwgfx_fence.c          |  87 +-------
 drivers/gpu/drm/vmwgfx/vmwgfx_fence.h          |   2 -
 include/drm/drmP.h                             |  26 ++-
 48 files changed, 312 insertions(+), 623 deletions(-)

-- 
2.6.4

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

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

* [PATCH 01/22] drm: kerneldoc for drm_fops.c
  2016-01-11 21:40 [PATCH 00/22] drm_event cleanup, round 2 Daniel Vetter
@ 2016-01-11 21:40 ` Daniel Vetter
  2016-01-11 21:40 ` [PATCH 02/22] drm: Add functions to setup/tear down drm_events Daniel Vetter
                   ` (23 subsequent siblings)
  24 siblings, 0 replies; 120+ messages in thread
From: Daniel Vetter @ 2016-01-11 21:40 UTC (permalink / raw)
  To: DRI Development; +Cc: Daniel Vetter, Intel Graphics Development, Daniel Vetter

Just prep work before I throw more drm_event refactorings on top.

Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 Documentation/DocBook/gpu.tmpl |  48 +--------------
 drivers/gpu/drm/drm_fops.c     | 129 ++++++++++++++++++++++++++++++++++-------
 include/drm/drmP.h             |  17 +++---
 3 files changed, 117 insertions(+), 77 deletions(-)

diff --git a/Documentation/DocBook/gpu.tmpl b/Documentation/DocBook/gpu.tmpl
index ea0112387f85..01467efff3f5 100644
--- a/Documentation/DocBook/gpu.tmpl
+++ b/Documentation/DocBook/gpu.tmpl
@@ -2886,52 +2886,8 @@ void (*postclose) (struct drm_device *, struct drm_file *);</synopsis>
     </sect2>
     <sect2>
       <title>File Operations</title>
-      <synopsis>const struct file_operations *fops</synopsis>
-      <abstract>File operations for the DRM device node.</abstract>
-      <para>
-        Drivers must define the file operations structure that forms the DRM
-	userspace API entry point, even though most of those operations are
-	implemented in the DRM core. The <methodname>open</methodname>,
-	<methodname>release</methodname> and <methodname>ioctl</methodname>
-	operations are handled by
-	<programlisting>
-	.owner = THIS_MODULE,
-	.open = drm_open,
-	.release = drm_release,
-	.unlocked_ioctl = drm_ioctl,
-  #ifdef CONFIG_COMPAT
-	.compat_ioctl = drm_compat_ioctl,
-  #endif
-        </programlisting>
-      </para>
-      <para>
-        Drivers that implement private ioctls that requires 32/64bit
-	compatibility support must provide their own
-	<methodname>compat_ioctl</methodname> handler that processes private
-	ioctls and calls <function>drm_compat_ioctl</function> for core ioctls.
-      </para>
-      <para>
-        The <methodname>read</methodname> and <methodname>poll</methodname>
-	operations provide support for reading DRM events and polling them. They
-	are implemented by
-	<programlisting>
-	.poll = drm_poll,
-	.read = drm_read,
-	.llseek = no_llseek,
-	</programlisting>
-      </para>
-      <para>
-        The memory mapping implementation varies depending on how the driver
-	manages memory. Pre-GEM drivers will use <function>drm_mmap</function>,
-	while GEM-aware drivers will use <function>drm_gem_mmap</function>. See
-	<xref linkend="drm-gem"/>.
-	<programlisting>
-	.mmap = drm_gem_mmap,
-	</programlisting>
-      </para>
-      <para>
-        No other file operation is supported by the DRM API.
-      </para>
+!Pdrivers/gpu/drm/drm_fops.c file operations
+!Edrivers/gpu/drm/drm_fops.c
     </sect2>
     <sect2>
       <title>IOCTLs</title>
diff --git a/drivers/gpu/drm/drm_fops.c b/drivers/gpu/drm/drm_fops.c
index 359ec13cdf9d..73075a1fa380 100644
--- a/drivers/gpu/drm/drm_fops.c
+++ b/drivers/gpu/drm/drm_fops.c
@@ -1,4 +1,4 @@
-/**
+/*
  * \file drm_fops.c
  * File operations for DRM
  *
@@ -44,6 +44,46 @@
 /* from BKL pushdown */
 DEFINE_MUTEX(drm_global_mutex);
 
+/**
+ * DOC: file operations
+ *
+ * Drivers must define the file operations structure that forms the DRM
+ * userspace API entry point, even though most of those operations are
+ * implemented in the DRM core. The mandatory functions are drm_open(),
+ * drm_read(), drm_ioctl() and drm_compat_ioctl if CONFIG_COMPAT is enabled.
+ * Drivers which implement private ioctls that require 32/64 bit compatibility
+ * support must provided their onw .compat_ioctl() handler that processes
+ * private ioctls and calls drm_compat_ioctl() for core ioctls.
+ *
+ * In addition drm_read() and drm_poll() provide support for DRM events. DRM
+ * events are a generic and extensible means to send asynchronous events to
+ * userspace through the file descriptor. They are used to send vblank event and
+ * page flip completions by the KMS API. But drivers can also use it for their
+ * own needs, e.g. to signal completion of rendering.
+ *
+ * The memory mapping implementation will vary depending on how the driver
+ * manages memory. Legacy drivers will use the deprecated drm_legacy_mmap()
+ * function, modern drivers should use one of the provided memory-manager
+ * specific implementations. For GEM-based drivers this is drm_gem_mmap().
+ *
+ * No other file operations are supported by the DRM userspace API. Overall the
+ * following is an example #file_operations structure:
+ *
+ *     static const example_drm_fops = {
+ *             .owner = THIS_MODULE,
+ *             .open = drm_open,
+ *             .release = drm_release,
+ *             .unlocked_ioctl = drm_ioctl,
+ *     #ifdef CONFIG_COMPAT
+ *             .compat_ioctl = drm_compat_ioctl,
+ *     #endif
+ *             .poll = drm_poll,
+ *             .read = drm_read,
+ *             .llseek = no_llseek,
+ *             .mmap = drm_gem_mmap,
+ *     };
+ */
+
 static int drm_open_helper(struct file *filp, struct drm_minor *minor);
 
 static int drm_setup(struct drm_device * dev)
@@ -67,15 +107,17 @@ static int drm_setup(struct drm_device * dev)
 }
 
 /**
- * Open file.
+ * drm_open - open method for DRM file
+ * @inode: device inode
+ * @filp: file pointer.
  *
- * \param inode device inode
- * \param filp file pointer.
- * \return zero on success or a negative number on failure.
+ * This function must be used by drivers as their .open() #file_operations
+ * method. It looks up the correct DRM device and instantiates all the per-file
+ * resources for it.
+ *
+ * RETURNS:
  *
- * Searches the DRM device with the same minor number, calls open_helper(), and
- * increments the device open count. If the open count was previous at zero,
- * i.e., it's the first that the device is open, then calls setup().
+ * 0 on success or negative errno value on falure.
  */
 int drm_open(struct inode *inode, struct file *filp)
 {
@@ -112,7 +154,7 @@ err_undo:
 }
 EXPORT_SYMBOL(drm_open);
 
-/**
+/*
  * Check whether DRI will run on this CPU.
  *
  * \return non-zero if the DRI will run on this CPU, or zero otherwise.
@@ -125,7 +167,7 @@ static int drm_cpu_valid(void)
 	return 1;
 }
 
-/**
+/*
  * drm_new_set_master - Allocate a new master object and become master for the
  * associated master realm.
  *
@@ -179,7 +221,7 @@ out_err:
 	return ret;
 }
 
-/**
+/*
  * Called whenever a process opens /dev/drm.
  *
  * \param filp file pointer.
@@ -333,7 +375,7 @@ static void drm_events_release(struct drm_file *file_priv)
 	spin_unlock_irqrestore(&dev->event_lock, flags);
 }
 
-/**
+/*
  * drm_legacy_dev_reinit
  *
  * Reinitializes a legacy/ums drm device in it's lastclose function.
@@ -362,7 +404,7 @@ static void drm_legacy_dev_reinit(struct drm_device *dev)
 	DRM_DEBUG("lastclose completed\n");
 }
 
-/**
+/*
  * Take down the DRM device.
  *
  * \param dev DRM device structure.
@@ -384,16 +426,17 @@ void drm_lastclose(struct drm_device * dev)
 }
 
 /**
- * Release file.
+ * drm_release - release method for DRM file
+ * @inode: device inode
+ * @filp: file pointer.
  *
- * \param inode device inode
- * \param file_priv DRM file private.
- * \return zero on success or a negative number on failure.
+ * This function must be used by drivers as their .release() #file_operations
+ * method. It frees any resources associated with the open file, and if this is
+ * the last open file for the DRM device also proceeds to call drm_lastclose().
  *
- * If the hardware lock is held then free it, and take it again for the kernel
- * context since it's necessary to reclaim buffers. Unlink the file private
- * data from its list and free it. Decreases the open count and if it reaches
- * zero calls drm_lastclose().
+ * RETURNS:
+ *
+ * Always succeeds and returns 0.
  */
 int drm_release(struct inode *inode, struct file *filp)
 {
@@ -447,7 +490,7 @@ int drm_release(struct inode *inode, struct file *filp)
 	if (file_priv->is_master) {
 		struct drm_master *master = file_priv->master;
 
-		/**
+		/*
 		 * Since the master is disappearing, so is the
 		 * possibility to lock.
 		 */
@@ -504,6 +547,32 @@ int drm_release(struct inode *inode, struct file *filp)
 }
 EXPORT_SYMBOL(drm_release);
 
+/**
+ * drm_read - read method for DRM file
+ * @filp: file pointer
+ * @buffer: userspace destination pointer for the read
+ * @count: count in bytes to read
+ * @offset: offset to read
+ *
+ * This function must be used by drivers as their .read() #file_operations
+ * method iff they use DRM events for asynchronous signalling to userspace.
+ * Since events are used by the KMS API for vblank and page flip completion this
+ * means all modern display drivers must use it.
+ *
+ * @offset is ignore, DRM events are read like a pipe. Therefore drivers also
+ * must set the .llseek() #file_operation to no_llseek(). Polling support is
+ * provided by drm_poll().
+ *
+ * This function will only ever read a full event. Therefore userspace must
+ * supply a big enough buffer to fit any event to ensure forward progress. Since
+ * the maximum event space is currently 4K it's recommended to just use that for
+ * safety.
+ *
+ * RETURNS:
+ *
+ * Number of bytes read (always aligned to full events, and can be 0) or a
+ * negative error code on failure.
+ */
 ssize_t drm_read(struct file *filp, char __user *buffer,
 		 size_t count, loff_t *offset)
 {
@@ -574,6 +643,22 @@ put_back_event:
 }
 EXPORT_SYMBOL(drm_read);
 
+/**
+ * drm_poll - poll method for DRM file
+ * @filp: file pointer
+ * @wait: poll waiter table
+ *
+ * This function must be used by drivers as their .read() #file_operations
+ * method iff they use DRM events for asynchronous signalling to userspace.
+ * Since events are used by the KMS API for vblank and page flip completion this
+ * means all modern display drivers must use it.
+ *
+ * See also drm_read().
+ *
+ * RETURNS:
+ *
+ * Mask of POLL flags indicating the current status of the file.
+ */
 unsigned int drm_poll(struct file *filp, struct poll_table_struct *wait)
 {
 	struct drm_file *file_priv = filp->private_data;
diff --git a/include/drm/drmP.h b/include/drm/drmP.h
index c2d253e9b6f7..fc9b9ad5b089 100644
--- a/include/drm/drmP.h
+++ b/include/drm/drmP.h
@@ -919,15 +919,14 @@ extern long drm_compat_ioctl(struct file *filp,
 			     unsigned int cmd, unsigned long arg);
 extern bool drm_ioctl_flags(unsigned int nr, unsigned int *flags);
 
-				/* Device support (drm_fops.h) */
-extern int drm_open(struct inode *inode, struct file *filp);
-extern ssize_t drm_read(struct file *filp, char __user *buffer,
-			size_t count, loff_t *offset);
-extern int drm_release(struct inode *inode, struct file *filp);
-extern int drm_new_set_master(struct drm_device *dev, struct drm_file *fpriv);
-
-				/* Mapping support (drm_vm.h) */
-extern unsigned int drm_poll(struct file *filp, struct poll_table_struct *wait);
+/* File Operations (drm_fops.c) */
+int drm_open(struct inode *inode, struct file *filp);
+ssize_t drm_read(struct file *filp, char __user *buffer,
+		 size_t count, loff_t *offset);
+int drm_release(struct inode *inode, struct file *filp);
+int drm_new_set_master(struct drm_device *dev, struct drm_file *fpriv);
+
+unsigned int drm_poll(struct file *filp, struct poll_table_struct *wait);
 
 /* Misc. IOCTL support (drm_ioctl.c) */
 int drm_noop(struct drm_device *dev, void *data,
-- 
2.6.4

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* [PATCH 02/22] drm: Add functions to setup/tear down drm_events.
  2016-01-11 21:40 [PATCH 00/22] drm_event cleanup, round 2 Daniel Vetter
  2016-01-11 21:40 ` [PATCH 01/22] drm: kerneldoc for drm_fops.c Daniel Vetter
@ 2016-01-11 21:40 ` Daniel Vetter
  2016-01-14 18:46   ` Laurent Pinchart
  2016-01-11 21:40 ` [PATCH 03/22] drm/exynos: Use the new event init/free functions Daniel Vetter
                   ` (22 subsequent siblings)
  24 siblings, 1 reply; 120+ messages in thread
From: Daniel Vetter @ 2016-01-11 21:40 UTC (permalink / raw)
  To: DRI Development; +Cc: Daniel Vetter, Intel Graphics Development, Daniel Vetter

An attempt at not spreading out the file_priv->event_space stuff out
quite so far and wide.  And I think fixes something in ipp_get_event()
that is broken (or if they are doing something more weird/subtle, then
breaks it in a fun way).

Based upon a patch from Rob Clark, rebased and polished.

v2: Spelling fixes (Alex).

Cc: Alex Deucher <alexdeucher@gmail.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Cc: Rob Clark <robdclark@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/drm_atomic.c | 44 ++++++++---------------------
 drivers/gpu/drm/drm_crtc.c   | 36 +++++++-----------------
 drivers/gpu/drm/drm_fops.c   | 67 ++++++++++++++++++++++++++++++++++++++++++++
 include/drm/drmP.h           |  7 ++++-
 4 files changed, 94 insertions(+), 60 deletions(-)

diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c
index 3f74193885f1..8fb469c4e4b8 100644
--- a/drivers/gpu/drm/drm_atomic.c
+++ b/drivers/gpu/drm/drm_atomic.c
@@ -1347,44 +1347,23 @@ static struct drm_pending_vblank_event *create_vblank_event(
 		struct drm_device *dev, struct drm_file *file_priv, uint64_t user_data)
 {
 	struct drm_pending_vblank_event *e = NULL;
-	unsigned long flags;
-
-	spin_lock_irqsave(&dev->event_lock, flags);
-	if (file_priv->event_space < sizeof e->event) {
-		spin_unlock_irqrestore(&dev->event_lock, flags);
-		goto out;
-	}
-	file_priv->event_space -= sizeof e->event;
-	spin_unlock_irqrestore(&dev->event_lock, flags);
+	int ret;
 
 	e = kzalloc(sizeof *e, GFP_KERNEL);
-	if (e == NULL) {
-		spin_lock_irqsave(&dev->event_lock, flags);
-		file_priv->event_space += sizeof e->event;
-		spin_unlock_irqrestore(&dev->event_lock, flags);
-		goto out;
-	}
+	if (!e)
+		return NULL;
 
 	e->event.base.type = DRM_EVENT_FLIP_COMPLETE;
-	e->event.base.length = sizeof e->event;
+	e->event.base.length = sizeof(e->event);
 	e->event.user_data = user_data;
-	e->base.event = &e->event.base;
-	e->base.file_priv = file_priv;
-	e->base.destroy = (void (*) (struct drm_pending_event *)) kfree;
-
-out:
-	return e;
-}
 
-static void destroy_vblank_event(struct drm_device *dev,
-		struct drm_file *file_priv, struct drm_pending_vblank_event *e)
-{
-	unsigned long flags;
+	ret = drm_event_reserve_init(dev, file_priv, &e->base, &e->event.base);
+	if (ret) {
+		kfree(e);
+		return NULL;
+	}
 
-	spin_lock_irqsave(&dev->event_lock, flags);
-	file_priv->event_space += sizeof e->event;
-	spin_unlock_irqrestore(&dev->event_lock, flags);
-	kfree(e);
+	return e;
 }
 
 static int atomic_set_prop(struct drm_atomic_state *state,
@@ -1646,8 +1625,7 @@ out:
 			if (!crtc_state->event)
 				continue;
 
-			destroy_vblank_event(dev, file_priv,
-					     crtc_state->event);
+			drm_event_cancel_free(dev, &crtc_state->event->base);
 		}
 	}
 
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index 1e75a145834a..60a4184d41b7 100644
--- a/drivers/gpu/drm/drm_crtc.c
+++ b/drivers/gpu/drm/drm_crtc.c
@@ -5264,7 +5264,6 @@ int drm_mode_page_flip_ioctl(struct drm_device *dev,
 	struct drm_crtc *crtc;
 	struct drm_framebuffer *fb = NULL;
 	struct drm_pending_vblank_event *e = NULL;
-	unsigned long flags;
 	int ret = -EINVAL;
 
 	if (page_flip->flags & ~DRM_MODE_PAGE_FLIP_FLAGS ||
@@ -5315,41 +5314,26 @@ int drm_mode_page_flip_ioctl(struct drm_device *dev,
 	}
 
 	if (page_flip->flags & DRM_MODE_PAGE_FLIP_EVENT) {
-		ret = -ENOMEM;
-		spin_lock_irqsave(&dev->event_lock, flags);
-		if (file_priv->event_space < sizeof(e->event)) {
-			spin_unlock_irqrestore(&dev->event_lock, flags);
-			goto out;
-		}
-		file_priv->event_space -= sizeof(e->event);
-		spin_unlock_irqrestore(&dev->event_lock, flags);
-
-		e = kzalloc(sizeof(*e), GFP_KERNEL);
-		if (e == NULL) {
-			spin_lock_irqsave(&dev->event_lock, flags);
-			file_priv->event_space += sizeof(e->event);
-			spin_unlock_irqrestore(&dev->event_lock, flags);
+		e = kzalloc(sizeof *e, GFP_KERNEL);
+		if (!e) {
+			ret = -ENOMEM;
 			goto out;
 		}
-
 		e->event.base.type = DRM_EVENT_FLIP_COMPLETE;
 		e->event.base.length = sizeof(e->event);
 		e->event.user_data = page_flip->user_data;
-		e->base.event = &e->event.base;
-		e->base.file_priv = file_priv;
-		e->base.destroy =
-			(void (*) (struct drm_pending_event *)) kfree;
+		ret = drm_event_reserve_init(dev, file_priv, &e->base, &e->event.base);
+		if (ret) {
+			kfree(e);
+			goto out;
+		}
 	}
 
 	crtc->primary->old_fb = crtc->primary->fb;
 	ret = crtc->funcs->page_flip(crtc, fb, e, page_flip->flags);
 	if (ret) {
-		if (page_flip->flags & DRM_MODE_PAGE_FLIP_EVENT) {
-			spin_lock_irqsave(&dev->event_lock, flags);
-			file_priv->event_space += sizeof(e->event);
-			spin_unlock_irqrestore(&dev->event_lock, flags);
-			kfree(e);
-		}
+		if (page_flip->flags & DRM_MODE_PAGE_FLIP_EVENT)
+			drm_event_cancel_free(dev, &e->base);
 		/* Keep the old fb, don't unref it. */
 		crtc->primary->old_fb = NULL;
 	} else {
diff --git a/drivers/gpu/drm/drm_fops.c b/drivers/gpu/drm/drm_fops.c
index 73075a1fa380..476408b638e3 100644
--- a/drivers/gpu/drm/drm_fops.c
+++ b/drivers/gpu/drm/drm_fops.c
@@ -672,3 +672,70 @@ unsigned int drm_poll(struct file *filp, struct poll_table_struct *wait)
 	return mask;
 }
 EXPORT_SYMBOL(drm_poll);
+
+/**
+ * drm_event_reserve_init - init a DRM event and reserve space for it
+ * @dev: DRM device
+ * @file_priv: DRM file private data
+ * @p: tracking structure for the pending event
+ * @e: actual event data to deliver to userspace
+ *
+ * This function prepares the passed in event for eventual delivery. If the event
+ * doesn't get delivered (because the IOCTL fails later on, before queuing up
+ * anything) then the even must be cancelled and freed using
+ * drm_event_cancel_free().
+ *
+ * If callers embedded @p into a larger structure it must be allocated with
+ * kmalloc and @p must be the first member element.
+ *
+ * RETURNS:
+ *
+ * 0 on success or a negative error code on failure.
+ */
+int drm_event_reserve_init(struct drm_device *dev,
+			   struct drm_file *file_priv,
+			   struct drm_pending_event *p,
+			   struct drm_event *e)
+{
+	unsigned long flags;
+	int ret = 0;
+
+	spin_lock_irqsave(&dev->event_lock, flags);
+
+	if (file_priv->event_space < e->length) {
+		ret = -ENOMEM;
+		goto out;
+	}
+
+	file_priv->event_space -= e->length;
+
+	p->event = e;
+	p->file_priv = file_priv;
+
+	/* we *could* pass this in as arg, but everyone uses kfree: */
+	p->destroy = (void (*) (struct drm_pending_event *)) kfree;
+
+out:
+	spin_unlock_irqrestore(&dev->event_lock, flags);
+	return ret;
+}
+EXPORT_SYMBOL(drm_event_reserve_init);
+
+/**
+ * drm_event_cancel_free - free a DRM event and release it's space
+ * @dev: DRM device
+ * @p: tracking structure for the pending event
+ *
+ * This function frees the event @p initialized with drm_event_reserve_init()
+ * and releases any allocated space.
+ */
+void drm_event_cancel_free(struct drm_device *dev,
+			   struct drm_pending_event *p)
+{
+	unsigned long flags;
+	spin_lock_irqsave(&dev->event_lock, flags);
+	p->file_priv->event_space += p->event->length;
+	spin_unlock_irqrestore(&dev->event_lock, flags);
+	p->destroy(p);
+}
+EXPORT_SYMBOL(drm_event_cancel_free);
diff --git a/include/drm/drmP.h b/include/drm/drmP.h
index fc9b9ad5b089..ad4d0a31294d 100644
--- a/include/drm/drmP.h
+++ b/include/drm/drmP.h
@@ -925,8 +925,13 @@ ssize_t drm_read(struct file *filp, char __user *buffer,
 		 size_t count, loff_t *offset);
 int drm_release(struct inode *inode, struct file *filp);
 int drm_new_set_master(struct drm_device *dev, struct drm_file *fpriv);
-
 unsigned int drm_poll(struct file *filp, struct poll_table_struct *wait);
+int drm_event_reserve_init(struct drm_device *dev,
+			   struct drm_file *file_priv,
+			   struct drm_pending_event *p,
+			   struct drm_event *e);
+void drm_event_cancel_free(struct drm_device *dev,
+			   struct drm_pending_event *p);
 
 /* Misc. IOCTL support (drm_ioctl.c) */
 int drm_noop(struct drm_device *dev, void *data,
-- 
2.6.4

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* [PATCH 03/22] drm/exynos: Use the new event init/free functions
  2016-01-11 21:40 [PATCH 00/22] drm_event cleanup, round 2 Daniel Vetter
  2016-01-11 21:40 ` [PATCH 01/22] drm: kerneldoc for drm_fops.c Daniel Vetter
  2016-01-11 21:40 ` [PATCH 02/22] drm: Add functions to setup/tear down drm_events Daniel Vetter
@ 2016-01-11 21:40 ` Daniel Vetter
  2016-01-11 21:40 ` [PATCH 04/22] drm/vmwgfx: " Daniel Vetter
                   ` (21 subsequent siblings)
  24 siblings, 0 replies; 120+ messages in thread
From: Daniel Vetter @ 2016-01-11 21:40 UTC (permalink / raw)
  To: DRI Development; +Cc: Inki Dae, Daniel Vetter, Intel Graphics Development

Also fixes a bug in IPP with not correctly checking/allocating for
space in the event space. Not a too serious bug since it's not a
real ringbuffer, just a limit to avoid too much kernel allocations.

Cc: Rob Clark <robdclark@gmail.com>
Cc: Inki Dae <inki.dae@samsung.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/exynos/exynos_drm_g2d.c | 31 ++++++++-----------------------
 drivers/gpu/drm/exynos/exynos_drm_ipp.c | 23 +++++++++--------------
 2 files changed, 17 insertions(+), 37 deletions(-)

diff --git a/drivers/gpu/drm/exynos/exynos_drm_g2d.c b/drivers/gpu/drm/exynos/exynos_drm_g2d.c
index c17efdb238a6..82e7f95dfed9 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_g2d.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_g2d.c
@@ -1072,7 +1072,6 @@ int exynos_g2d_set_cmdlist_ioctl(struct drm_device *drm_dev, void *data,
 	struct drm_exynos_pending_g2d_event *e;
 	struct g2d_cmdlist_node *node;
 	struct g2d_cmdlist *cmdlist;
-	unsigned long flags;
 	int size;
 	int ret;
 
@@ -1094,21 +1093,8 @@ int exynos_g2d_set_cmdlist_ioctl(struct drm_device *drm_dev, void *data,
 	node->event = NULL;
 
 	if (req->event_type != G2D_EVENT_NOT) {
-		spin_lock_irqsave(&drm_dev->event_lock, flags);
-		if (file->event_space < sizeof(e->event)) {
-			spin_unlock_irqrestore(&drm_dev->event_lock, flags);
-			ret = -ENOMEM;
-			goto err;
-		}
-		file->event_space -= sizeof(e->event);
-		spin_unlock_irqrestore(&drm_dev->event_lock, flags);
-
 		e = kzalloc(sizeof(*node->event), GFP_KERNEL);
 		if (!e) {
-			spin_lock_irqsave(&drm_dev->event_lock, flags);
-			file->event_space += sizeof(e->event);
-			spin_unlock_irqrestore(&drm_dev->event_lock, flags);
-
 			ret = -ENOMEM;
 			goto err;
 		}
@@ -1116,9 +1102,12 @@ int exynos_g2d_set_cmdlist_ioctl(struct drm_device *drm_dev, void *data,
 		e->event.base.type = DRM_EXYNOS_G2D_EVENT;
 		e->event.base.length = sizeof(e->event);
 		e->event.user_data = req->user_data;
-		e->base.event = &e->event.base;
-		e->base.file_priv = file;
-		e->base.destroy = (void (*) (struct drm_pending_event *)) kfree;
+
+		ret = drm_event_reserve_init(drm_dev, file, &e->base, &e->event.base);
+		if (ret) {
+			kfree(e);
+			goto err;
+		}
 
 		node->event = e;
 	}
@@ -1219,12 +1208,8 @@ int exynos_g2d_set_cmdlist_ioctl(struct drm_device *drm_dev, void *data,
 err_unmap:
 	g2d_unmap_cmdlist_gem(g2d, node, file);
 err_free_event:
-	if (node->event) {
-		spin_lock_irqsave(&drm_dev->event_lock, flags);
-		file->event_space += sizeof(e->event);
-		spin_unlock_irqrestore(&drm_dev->event_lock, flags);
-		kfree(node->event);
-	}
+	if (node->event)
+		drm_event_cancel_free(drm_dev, &node->event->base);
 err:
 	g2d_put_cmdlist(g2d, node);
 	return ret;
diff --git a/drivers/gpu/drm/exynos/exynos_drm_ipp.c b/drivers/gpu/drm/exynos/exynos_drm_ipp.c
index 67d24236e745..c8819c05e2dd 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_ipp.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_ipp.c
@@ -618,27 +618,18 @@ static void ipp_clean_mem_nodes(struct drm_device *drm_dev,
 	mutex_unlock(&c_node->mem_lock);
 }
 
-static void ipp_free_event(struct drm_pending_event *event)
-{
-	kfree(event);
-}
-
 static int ipp_get_event(struct drm_device *drm_dev,
 		struct drm_exynos_ipp_cmd_node *c_node,
 		struct drm_exynos_ipp_queue_buf *qbuf)
 {
 	struct drm_exynos_ipp_send_event *e;
-	unsigned long flags;
+	int ret;
 
 	DRM_DEBUG_KMS("ops_id[%d]buf_id[%d]\n", qbuf->ops_id, qbuf->buf_id);
 
 	e = kzalloc(sizeof(*e), GFP_KERNEL);
-	if (!e) {
-		spin_lock_irqsave(&drm_dev->event_lock, flags);
-		c_node->filp->event_space += sizeof(e->event);
-		spin_unlock_irqrestore(&drm_dev->event_lock, flags);
+	if (!e)
 		return -ENOMEM;
-	}
 
 	/* make event */
 	e->event.base.type = DRM_EXYNOS_IPP_EVENT;
@@ -646,9 +637,13 @@ static int ipp_get_event(struct drm_device *drm_dev,
 	e->event.user_data = qbuf->user_data;
 	e->event.prop_id = qbuf->prop_id;
 	e->event.buf_id[EXYNOS_DRM_OPS_DST] = qbuf->buf_id;
-	e->base.event = &e->event.base;
-	e->base.file_priv = c_node->filp;
-	e->base.destroy = ipp_free_event;
+
+	ret = drm_event_reserve_init(drm_dev, c_node->filp, &e->base, &e->event.base);
+	if (ret) {
+		kfree(e);
+		return ret;
+	}
+
 	mutex_lock(&c_node->event_lock);
 	list_add_tail(&e->base.link, &c_node->event_list);
 	mutex_unlock(&c_node->event_lock);
-- 
2.6.4

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

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

* [PATCH 04/22] drm/vmwgfx: Use the new event init/free functions
  2016-01-11 21:40 [PATCH 00/22] drm_event cleanup, round 2 Daniel Vetter
                   ` (2 preceding siblings ...)
  2016-01-11 21:40 ` [PATCH 03/22] drm/exynos: Use the new event init/free functions Daniel Vetter
@ 2016-01-11 21:40 ` Daniel Vetter
  2016-01-11 21:40 ` [PATCH 05/22] drm: Create drm_send_event helpers Daniel Vetter
                   ` (20 subsequent siblings)
  24 siblings, 0 replies; 120+ messages in thread
From: Daniel Vetter @ 2016-01-11 21:40 UTC (permalink / raw)
  To: DRI Development
  Cc: Daniel Vetter, Intel Graphics Development, Thomas Hellstrom

Cc: Rob Clark <robdclark@gmail.com
Cc: Thomas Hellstrom <thellstrom@vmware.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/vmwgfx/vmwgfx_fence.c | 32 ++++++++------------------------
 1 file changed, 8 insertions(+), 24 deletions(-)

diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c b/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c
index 8e689b439890..eda93bf52a6e 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c
@@ -1025,38 +1025,26 @@ static int vmw_event_fence_action_create(struct drm_file *file_priv,
 	struct vmw_event_fence_pending *event;
 	struct vmw_fence_manager *fman = fman_from_fence(fence);
 	struct drm_device *dev = fman->dev_priv->dev;
-	unsigned long irq_flags;
 	int ret;
 
-	spin_lock_irqsave(&dev->event_lock, irq_flags);
-
-	ret = (file_priv->event_space < sizeof(event->event)) ? -EBUSY : 0;
-	if (likely(ret == 0))
-		file_priv->event_space -= sizeof(event->event);
-
-	spin_unlock_irqrestore(&dev->event_lock, irq_flags);
-
-	if (unlikely(ret != 0)) {
-		DRM_ERROR("Failed to allocate event space for this file.\n");
-		goto out_no_space;
-	}
-
-
 	event = kzalloc(sizeof(*event), GFP_KERNEL);
 	if (unlikely(event == NULL)) {
 		DRM_ERROR("Failed to allocate an event.\n");
 		ret = -ENOMEM;
-		goto out_no_event;
+		goto out_no_space;
 	}
 
 	event->event.base.type = DRM_VMW_EVENT_FENCE_SIGNALED;
 	event->event.base.length = sizeof(*event);
 	event->event.user_data = user_data;
 
-	event->base.event = &event->event.base;
-	event->base.file_priv = file_priv;
-	event->base.destroy = (void (*) (struct drm_pending_event *)) kfree;
+	ret = drm_event_reserve_init(dev, file_priv, &event->base, &event->event.base);
 
+	if (unlikely(ret != 0)) {
+		DRM_ERROR("Failed to allocate event space for this file.\n");
+		kfree(event);
+		goto out_no_space;
+	}
 
 	if (flags & DRM_VMW_FE_FLAG_REQ_TIME)
 		ret = vmw_event_fence_action_queue(file_priv, fence,
@@ -1076,11 +1064,7 @@ static int vmw_event_fence_action_create(struct drm_file *file_priv,
 	return 0;
 
 out_no_queue:
-	event->base.destroy(&event->base);
-out_no_event:
-	spin_lock_irqsave(&dev->event_lock, irq_flags);
-	file_priv->event_space += sizeof(*event);
-	spin_unlock_irqrestore(&dev->event_lock, irq_flags);
+	drm_event_cancel_free(dev, &event->base);
 out_no_space:
 	return ret;
 }
-- 
2.6.4

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* [PATCH 05/22] drm: Create drm_send_event helpers
  2016-01-11 21:40 [PATCH 00/22] drm_event cleanup, round 2 Daniel Vetter
                   ` (3 preceding siblings ...)
  2016-01-11 21:40 ` [PATCH 04/22] drm/vmwgfx: " Daniel Vetter
@ 2016-01-11 21:40 ` Daniel Vetter
  2016-01-14 18:46   ` Laurent Pinchart
  2016-01-11 21:41 ` [PATCH 06/22] drm/fsl: Remove preclose hook Daniel Vetter
                   ` (19 subsequent siblings)
  24 siblings, 1 reply; 120+ messages in thread
From: Daniel Vetter @ 2016-01-11 21:40 UTC (permalink / raw)
  To: DRI Development
  Cc: Alex Deucher, Daniel Vetter, Intel Graphics Development,
	Thomas Hellstrom

Use them in the core vblank code and exynos/vmwgfx drivers.

Note that the difference between wake_up_all and _interruptible in
vmwgfx doesn't matter since the only waiter is the core code in
drm_fops.c. And that is interruptible.

v2: Adjust existing kerneldoc too.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com> (v1)
Acked-by: Daniel Stone <daniels@collabora.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: Thomas Hellstrom <thellstrom@vmware.com>
Cc: Inki Dae <inki.dae@samsung.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/drm_fops.c              | 42 ++++++++++++++++++++++++++++++++-
 drivers/gpu/drm/drm_irq.c               |  7 ++----
 drivers/gpu/drm/exynos/exynos_drm_g2d.c |  5 +---
 drivers/gpu/drm/exynos/exynos_drm_ipp.c |  5 +---
 drivers/gpu/drm/vmwgfx/vmwgfx_fence.c   |  3 +--
 include/drm/drmP.h                      |  2 ++
 6 files changed, 48 insertions(+), 16 deletions(-)

diff --git a/drivers/gpu/drm/drm_fops.c b/drivers/gpu/drm/drm_fops.c
index 476408b638e3..d85af1b2a238 100644
--- a/drivers/gpu/drm/drm_fops.c
+++ b/drivers/gpu/drm/drm_fops.c
@@ -683,7 +683,9 @@ EXPORT_SYMBOL(drm_poll);
  * This function prepares the passed in event for eventual delivery. If the event
  * doesn't get delivered (because the IOCTL fails later on, before queuing up
  * anything) then the even must be cancelled and freed using
- * drm_event_cancel_free().
+ * drm_event_cancel_free(). Successfully initialized events should be sent out
+ * using drm_send_event() or drm_send_event_locked() to signal completion of the
+ * asynchronous event to userspace.
  *
  * If callers embedded @p into a larger structure it must be allocated with
  * kmalloc and @p must be the first member element.
@@ -739,3 +741,41 @@ void drm_event_cancel_free(struct drm_device *dev,
 	p->destroy(p);
 }
 EXPORT_SYMBOL(drm_event_cancel_free);
+
+/**
+ * drm_send_event_locked - send DRM event to file descriptor
+ * @dev: DRM device
+ * @e: DRM event to deliver
+ *
+ * This function sends the event @e, initialized with drm_event_reserve_init(),
+ * to its associated userspace DRM file. Callers must already hold
+ * dev->event_lock, see drm_send_event() for the unlocked version.
+ */
+void drm_send_event_locked(struct drm_device *dev, struct drm_pending_event *e)
+{
+	assert_spin_locked(&dev->event_lock);
+
+	list_add_tail(&e->link,
+		      &e->file_priv->event_list);
+	wake_up_interruptible(&e->file_priv->event_wait);
+}
+EXPORT_SYMBOL(drm_send_event_locked);
+
+/**
+ * drm_send_event - send DRM event to file descriptor
+ * @dev: DRM device
+ * @e: DRM event to deliver
+ *
+ * This function sends the event @e, initialized with drm_event_reserve_init(),
+ * to its associated userspace DRM file. This function acquires dev->event_lock,
+ * see drm_send_event_locked() for callers which already hold this lock.
+ */
+void drm_send_event(struct drm_device *dev, struct drm_pending_event *e)
+{
+	unsigned long irqflags;
+
+	spin_lock_irqsave(&dev->event_lock, irqflags);
+	drm_send_event_locked(dev, e);
+	spin_unlock_irqrestore(&dev->event_lock, irqflags);
+}
+EXPORT_SYMBOL(drm_send_event);
diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
index a70b29909974..3fe8dbff6058 100644
--- a/drivers/gpu/drm/drm_irq.c
+++ b/drivers/gpu/drm/drm_irq.c
@@ -983,15 +983,12 @@ static void send_vblank_event(struct drm_device *dev,
 		struct drm_pending_vblank_event *e,
 		unsigned long seq, struct timeval *now)
 {
-	assert_spin_locked(&dev->event_lock);
-
 	e->event.sequence = seq;
 	e->event.tv_sec = now->tv_sec;
 	e->event.tv_usec = now->tv_usec;
 
-	list_add_tail(&e->base.link,
-		      &e->base.file_priv->event_list);
-	wake_up_interruptible(&e->base.file_priv->event_wait);
+	drm_send_event_locked(dev, &e->base);
+
 	trace_drm_vblank_event_delivered(e->base.pid, e->pipe,
 					 e->event.sequence);
 }
diff --git a/drivers/gpu/drm/exynos/exynos_drm_g2d.c b/drivers/gpu/drm/exynos/exynos_drm_g2d.c
index 82e7f95dfed9..db56c8259f18 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_g2d.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_g2d.c
@@ -893,10 +893,7 @@ static void g2d_finish_event(struct g2d_data *g2d, u32 cmdlist_no)
 	e->event.tv_usec = now.tv_usec;
 	e->event.cmdlist_no = cmdlist_no;
 
-	spin_lock_irqsave(&drm_dev->event_lock, flags);
-	list_move_tail(&e->base.link, &e->base.file_priv->event_list);
-	wake_up_interruptible(&e->base.file_priv->event_wait);
-	spin_unlock_irqrestore(&drm_dev->event_lock, flags);
+	drm_send_event(dev, &e->base);
 }
 
 static irqreturn_t g2d_irq_handler(int irq, void *dev_id)
diff --git a/drivers/gpu/drm/exynos/exynos_drm_ipp.c b/drivers/gpu/drm/exynos/exynos_drm_ipp.c
index c8819c05e2dd..1f6a6c1881d6 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_ipp.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_ipp.c
@@ -1520,10 +1520,7 @@ static int ipp_send_event(struct exynos_drm_ippdrv *ippdrv,
 	for_each_ipp_ops(i)
 		e->event.buf_id[i] = tbuf_id[i];
 
-	spin_lock_irqsave(&drm_dev->event_lock, flags);
-	list_move_tail(&e->base.link, &e->base.file_priv->event_list);
-	wake_up_interruptible(&e->base.file_priv->event_wait);
-	spin_unlock_irqrestore(&drm_dev->event_lock, flags);
+	drm_send_event(dev, &e->base);
 	mutex_unlock(&c_node->event_lock);
 
 	DRM_DEBUG_KMS("done cmd[%d]prop_id[%d]buf_id[%d]\n",
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c b/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c
index eda93bf52a6e..e0edf149d9d5 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c
@@ -880,9 +880,8 @@ static void vmw_event_fence_action_seq_passed(struct vmw_fence_action *action)
 	}
 
 	list_del_init(&eaction->fpriv_head);
-	list_add_tail(&eaction->event->link, &file_priv->event_list);
 	eaction->event = NULL;
-	wake_up_all(&file_priv->event_wait);
+	drm_send_event_locked(dev, eaction->event);
 	spin_unlock_irqrestore(&dev->event_lock, irq_flags);
 }
 
diff --git a/include/drm/drmP.h b/include/drm/drmP.h
index ad4d0a31294d..ae73abf5c2cf 100644
--- a/include/drm/drmP.h
+++ b/include/drm/drmP.h
@@ -932,6 +932,8 @@ int drm_event_reserve_init(struct drm_device *dev,
 			   struct drm_event *e);
 void drm_event_cancel_free(struct drm_device *dev,
 			   struct drm_pending_event *p);
+void drm_send_event_locked(struct drm_device *dev, struct drm_pending_event *e);
+void drm_send_event(struct drm_device *dev, struct drm_pending_event *e);
 
 /* Misc. IOCTL support (drm_ioctl.c) */
 int drm_noop(struct drm_device *dev, void *data,
-- 
2.6.4

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* [PATCH 06/22] drm/fsl: Remove preclose hook
  2016-01-11 21:40 [PATCH 00/22] drm_event cleanup, round 2 Daniel Vetter
                   ` (4 preceding siblings ...)
  2016-01-11 21:40 ` [PATCH 05/22] drm: Create drm_send_event helpers Daniel Vetter
@ 2016-01-11 21:41 ` Daniel Vetter
  2016-01-11 21:41 ` [PATCH 07/22] drm/armada: Remove NULL open/pre/postclose hooks Daniel Vetter
                   ` (18 subsequent siblings)
  24 siblings, 0 replies; 120+ messages in thread
From: Daniel Vetter @ 2016-01-11 21:41 UTC (permalink / raw)
  To: DRI Development
  Cc: Jianwei Wang, Daniel Vetter, Intel Graphics Development,
	Daniel Vetter

Doesn't do anything, but annoys when auditing them all.

Cc: Jianwei Wang <jianwei.wang.chn@gmail.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c
index fca97d3fc846..9648b7f9a31c 100644
--- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c
+++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c
@@ -112,10 +112,6 @@ static int fsl_dcu_unload(struct drm_device *dev)
 	return 0;
 }
 
-static void fsl_dcu_drm_preclose(struct drm_device *dev, struct drm_file *file)
-{
-}
-
 static irqreturn_t fsl_dcu_drm_irq(int irq, void *arg)
 {
 	struct drm_device *dev = arg;
@@ -191,7 +187,6 @@ static struct drm_driver fsl_dcu_drm_driver = {
 				| DRIVER_PRIME | DRIVER_ATOMIC,
 	.load			= fsl_dcu_load,
 	.unload			= fsl_dcu_unload,
-	.preclose		= fsl_dcu_drm_preclose,
 	.irq_handler		= fsl_dcu_drm_irq,
 	.get_vblank_counter	= drm_vblank_no_hw_counter,
 	.enable_vblank		= fsl_dcu_drm_enable_vblank,
-- 
2.6.4

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

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

* [PATCH 07/22] drm/armada: Remove NULL open/pre/postclose hooks
  2016-01-11 21:40 [PATCH 00/22] drm_event cleanup, round 2 Daniel Vetter
                   ` (5 preceding siblings ...)
  2016-01-11 21:41 ` [PATCH 06/22] drm/fsl: Remove preclose hook Daniel Vetter
@ 2016-01-11 21:41 ` Daniel Vetter
  2016-01-12 11:51   ` Russell King - ARM Linux
  2016-01-11 21:41 ` [PATCH 08/22] drm/gma500: Remove empty preclose hook Daniel Vetter
                   ` (17 subsequent siblings)
  24 siblings, 1 reply; 120+ messages in thread
From: Daniel Vetter @ 2016-01-11 21:41 UTC (permalink / raw)
  To: DRI Development
  Cc: Daniel Vetter, Daniel Vetter, Intel Graphics Development,
	Russell King

The compiler will do this, but the void hits when grepping all the
hooks for a subsystem wide audit are slightly annoying. So remove them
for next time around.

Cc: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/armada/armada_drv.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/gpu/drm/armada/armada_drv.c b/drivers/gpu/drm/armada/armada_drv.c
index 3bd7e1cde99e..82043c204b76 100644
--- a/drivers/gpu/drm/armada/armada_drv.c
+++ b/drivers/gpu/drm/armada/armada_drv.c
@@ -188,9 +188,6 @@ static const struct file_operations armada_drm_fops = {
 
 static struct drm_driver armada_drm_driver = {
 	.load			= armada_drm_load,
-	.open			= NULL,
-	.preclose		= NULL,
-	.postclose		= NULL,
 	.lastclose		= armada_drm_lastclose,
 	.unload			= armada_drm_unload,
 	.set_busid		= drm_platform_set_busid,
-- 
2.6.4

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

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

* [PATCH 08/22] drm/gma500: Remove empty preclose hook
  2016-01-11 21:40 [PATCH 00/22] drm_event cleanup, round 2 Daniel Vetter
                   ` (6 preceding siblings ...)
  2016-01-11 21:41 ` [PATCH 07/22] drm/armada: Remove NULL open/pre/postclose hooks Daniel Vetter
@ 2016-01-11 21:41 ` Daniel Vetter
  2016-01-12 10:11   ` Patrik Jakobsson
  2016-01-11 21:41 ` [PATCH 09/22] drm: Clean up pending events in the core Daniel Vetter
                   ` (16 subsequent siblings)
  24 siblings, 1 reply; 120+ messages in thread
From: Daniel Vetter @ 2016-01-11 21:41 UTC (permalink / raw)
  To: DRI Development; +Cc: Daniel Vetter, Intel Graphics Development, Daniel Vetter

I'm auditing them all, empty ones just confuse ...

Cc: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/gma500/psb_drv.c | 9 ---------
 1 file changed, 9 deletions(-)

diff --git a/drivers/gpu/drm/gma500/psb_drv.c b/drivers/gpu/drm/gma500/psb_drv.c
index 92e7e5795398..4e1c6850520e 100644
--- a/drivers/gpu/drm/gma500/psb_drv.c
+++ b/drivers/gpu/drm/gma500/psb_drv.c
@@ -442,14 +442,6 @@ static long psb_unlocked_ioctl(struct file *filp, unsigned int cmd,
 	/* FIXME: do we need to wrap the other side of this */
 }
 
-/*
- * When a client dies:
- *    - Check for and clean up flipped page state
- */
-static void psb_driver_preclose(struct drm_device *dev, struct drm_file *priv)
-{
-}
-
 static int psb_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 {
 	return drm_get_pci_dev(pdev, ent, &driver);
@@ -495,7 +487,6 @@ static struct drm_driver driver = {
 	.load = psb_driver_load,
 	.unload = psb_driver_unload,
 	.lastclose = psb_driver_lastclose,
-	.preclose = psb_driver_preclose,
 	.set_busid = drm_pci_set_busid,
 
 	.num_ioctls = ARRAY_SIZE(psb_ioctls),
-- 
2.6.4

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* [PATCH 09/22] drm: Clean up pending events in the core
  2016-01-11 21:40 [PATCH 00/22] drm_event cleanup, round 2 Daniel Vetter
                   ` (7 preceding siblings ...)
  2016-01-11 21:41 ` [PATCH 08/22] drm/gma500: Remove empty preclose hook Daniel Vetter
@ 2016-01-11 21:41 ` Daniel Vetter
  2016-01-14 18:45   ` Laurent Pinchart
  2016-01-25 14:45   ` [REGRESSION] " Maarten Lankhorst
  2016-01-11 21:41 ` [PATCH 10/22] drm: Nuke vblank event file cleanup code Daniel Vetter
                   ` (15 subsequent siblings)
  24 siblings, 2 replies; 120+ messages in thread
From: Daniel Vetter @ 2016-01-11 21:41 UTC (permalink / raw)
  To: DRI Development
  Cc: Alex Deucher, Daniel Vetter, Intel Graphics Development,
	Laurent Pinchart

There's really no reason to not do so, instead of replicating this
for every use-case and every driver. Now we can't just nuke the events,
since that would still mean that all drm_event users would need to know
when that has happened, since calling e.g. drm_send_event isn't allowed
any more. Instead just unlink them from the file, and detect this case
and handle it appropriately in all functions.

v2: Adjust existing kerneldoc too.

v3: Improve wording of the kerneldoc and split out vblank cleanup (Laurent).

Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com> (v1)
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/drm_fops.c | 30 +++++++++++++++++++++++++++++-
 include/drm/drmP.h         |  2 ++
 2 files changed, 31 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/drm_fops.c b/drivers/gpu/drm/drm_fops.c
index d85af1b2a238..109903f5b68a 100644
--- a/drivers/gpu/drm/drm_fops.c
+++ b/drivers/gpu/drm/drm_fops.c
@@ -264,6 +264,7 @@ static int drm_open_helper(struct file *filp, struct drm_minor *minor)
 	INIT_LIST_HEAD(&priv->fbs);
 	mutex_init(&priv->fbs_lock);
 	INIT_LIST_HEAD(&priv->blobs);
+	INIT_LIST_HEAD(&priv->pending_event_list);
 	INIT_LIST_HEAD(&priv->event_list);
 	init_waitqueue_head(&priv->event_wait);
 	priv->event_space = 4096; /* set aside 4k for event buffer */
@@ -366,6 +367,13 @@ static void drm_events_release(struct drm_file *file_priv)
 			v->base.destroy(&v->base);
 		}
 
+	/* Unlink pending events */
+	list_for_each_entry_safe(e, et, &file_priv->pending_event_list,
+				 pending_link) {
+		list_del(&e->pending_link);
+		e->file_priv = NULL;
+	}
+
 	/* Remove unconsumed events */
 	list_for_each_entry_safe(e, et, &file_priv->event_list, link) {
 		list_del(&e->link);
@@ -712,6 +720,7 @@ int drm_event_reserve_init(struct drm_device *dev,
 	file_priv->event_space -= e->length;
 
 	p->event = e;
+	list_add(&p->pending_link, &file_priv->pending_event_list);
 	p->file_priv = file_priv;
 
 	/* we *could* pass this in as arg, but everyone uses kfree: */
@@ -736,7 +745,10 @@ void drm_event_cancel_free(struct drm_device *dev,
 {
 	unsigned long flags;
 	spin_lock_irqsave(&dev->event_lock, flags);
-	p->file_priv->event_space += p->event->length;
+	if (p->file_priv) {
+		p->file_priv->event_space += p->event->length;
+		list_del(&p->pending_link);
+	}
 	spin_unlock_irqrestore(&dev->event_lock, flags);
 	p->destroy(p);
 }
@@ -750,11 +762,22 @@ EXPORT_SYMBOL(drm_event_cancel_free);
  * This function sends the event @e, initialized with drm_event_reserve_init(),
  * to its associated userspace DRM file. Callers must already hold
  * dev->event_lock, see drm_send_event() for the unlocked version.
+ *
+ * Note that the core will take care of unlinking and disarming events when the
+ * corresponding DRM file is closed. Drivers need not worry about whether the
+ * DRM file for this event still exists and can call this function upon
+ * completion of the asynchronous work unconditionally.
  */
 void drm_send_event_locked(struct drm_device *dev, struct drm_pending_event *e)
 {
 	assert_spin_locked(&dev->event_lock);
 
+	if (!e->file_priv) {
+		e->destroy(e);
+		return;
+	}
+
+	list_del(&e->pending_link);
 	list_add_tail(&e->link,
 		      &e->file_priv->event_list);
 	wake_up_interruptible(&e->file_priv->event_wait);
@@ -769,6 +792,11 @@ EXPORT_SYMBOL(drm_send_event_locked);
  * This function sends the event @e, initialized with drm_event_reserve_init(),
  * to its associated userspace DRM file. This function acquires dev->event_lock,
  * see drm_send_event_locked() for callers which already hold this lock.
+ *
+ * Note that the core will take care of unlinking and disarming events when the
+ * corresponding DRM file is closed. Drivers need not worry about whether the
+ * DRM file for this event still exists and can call this function upon
+ * completion of the asynchronous work unconditionally.
  */
 void drm_send_event(struct drm_device *dev, struct drm_pending_event *e)
 {
diff --git a/include/drm/drmP.h b/include/drm/drmP.h
index ae73abf5c2cf..3d78a7406d54 100644
--- a/include/drm/drmP.h
+++ b/include/drm/drmP.h
@@ -283,6 +283,7 @@ struct drm_ioctl_desc {
 struct drm_pending_event {
 	struct drm_event *event;
 	struct list_head link;
+	struct list_head pending_link;
 	struct drm_file *file_priv;
 	pid_t pid; /* pid of requester, no guarantee it's valid by the time
 		      we deliver the event, for tracing only */
@@ -346,6 +347,7 @@ struct drm_file {
 	struct list_head blobs;
 
 	wait_queue_head_t event_wait;
+	struct list_head pending_event_list;
 	struct list_head event_list;
 	int event_space;
 
-- 
2.6.4

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* [PATCH 10/22] drm: Nuke vblank event file cleanup code
  2016-01-11 21:40 [PATCH 00/22] drm_event cleanup, round 2 Daniel Vetter
                   ` (8 preceding siblings ...)
  2016-01-11 21:41 ` [PATCH 09/22] drm: Clean up pending events in the core Daniel Vetter
@ 2016-01-11 21:41 ` Daniel Vetter
  2016-01-25  0:26   ` Laurent Pinchart
  2016-01-11 21:41 ` [PATCH 11/22] drm/i915: Nuke intel_modeset_preclose Daniel Vetter
                   ` (14 subsequent siblings)
  24 siblings, 1 reply; 120+ messages in thread
From: Daniel Vetter @ 2016-01-11 21:41 UTC (permalink / raw)
  To: DRI Development
  Cc: Daniel Vetter, Intel Graphics Development, Laurent Pinchart,
	Daniel Vetter

The core code now takes care of unlinking drm_events from the file in
a generic way, so this code isn't needed any more.

For those wondering where the drm_vblank_put went to: With the new
logic events only get unlinked, but still exist. Hence any resources
(like vblank counters) don't need to be released since the event user
will still process the event normally. In this case this is the
callsites of send_vblank_event, which of course already have a
drm_vblank_put.

Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/drm_fops.c | 9 ---------
 1 file changed, 9 deletions(-)

diff --git a/drivers/gpu/drm/drm_fops.c b/drivers/gpu/drm/drm_fops.c
index 109903f5b68a..faae642390a6 100644
--- a/drivers/gpu/drm/drm_fops.c
+++ b/drivers/gpu/drm/drm_fops.c
@@ -354,19 +354,10 @@ static void drm_events_release(struct drm_file *file_priv)
 {
 	struct drm_device *dev = file_priv->minor->dev;
 	struct drm_pending_event *e, *et;
-	struct drm_pending_vblank_event *v, *vt;
 	unsigned long flags;
 
 	spin_lock_irqsave(&dev->event_lock, flags);
 
-	/* Remove pending flips */
-	list_for_each_entry_safe(v, vt, &dev->vblank_event_list, base.link)
-		if (v->base.file_priv == file_priv) {
-			list_del(&v->base.link);
-			drm_vblank_put(dev, v->pipe);
-			v->base.destroy(&v->base);
-		}
-
 	/* Unlink pending events */
 	list_for_each_entry_safe(e, et, &file_priv->pending_event_list,
 				 pending_link) {
-- 
2.6.4

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* [PATCH 11/22] drm/i915: Nuke intel_modeset_preclose
  2016-01-11 21:40 [PATCH 00/22] drm_event cleanup, round 2 Daniel Vetter
                   ` (9 preceding siblings ...)
  2016-01-11 21:41 ` [PATCH 10/22] drm: Nuke vblank event file cleanup code Daniel Vetter
@ 2016-01-11 21:41 ` Daniel Vetter
  2016-01-11 21:41 ` [PATCH 12/22] drm/atmel: Nuke preclose Daniel Vetter
                   ` (13 subsequent siblings)
  24 siblings, 0 replies; 120+ messages in thread
From: Daniel Vetter @ 2016-01-11 21:41 UTC (permalink / raw)
  To: DRI Development; +Cc: Daniel Vetter, Intel Graphics Development, Daniel Vetter

Now that the drm core unlinks/disarms events there's no need to do so
ourselves anymore. Nuke the code.

Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/i915/i915_dma.c      |  2 --
 drivers/gpu/drm/i915/intel_display.c | 21 ---------------------
 drivers/gpu/drm/i915/intel_drv.h     |  1 -
 3 files changed, 24 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
index a0f5659032fc..4bfa72e5a217 100644
--- a/drivers/gpu/drm/i915/i915_dma.c
+++ b/drivers/gpu/drm/i915/i915_dma.c
@@ -1262,8 +1262,6 @@ void i915_driver_preclose(struct drm_device *dev, struct drm_file *file)
 	i915_gem_context_close(dev, file);
 	i915_gem_release(dev, file);
 	mutex_unlock(&dev->struct_mutex);
-
-	intel_modeset_preclose(dev, file);
 }
 
 void i915_driver_postclose(struct drm_device *dev, struct drm_file *file)
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 86fce41281fb..ec75e260f1eb 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -16357,24 +16357,3 @@ intel_display_print_error_state(struct drm_i915_error_state_buf *m,
 		err_printf(m, "  VSYNC: %08x\n", error->transcoder[i].vsync);
 	}
 }
-
-void intel_modeset_preclose(struct drm_device *dev, struct drm_file *file)
-{
-	struct intel_crtc *crtc;
-
-	for_each_intel_crtc(dev, crtc) {
-		struct intel_unpin_work *work;
-
-		spin_lock_irq(&dev->event_lock);
-
-		work = crtc->unpin_work;
-
-		if (work && work->event &&
-		    work->event->base.file_priv == file) {
-			kfree(work->event);
-			work->event = NULL;
-		}
-
-		spin_unlock_irq(&dev->event_lock);
-	}
-}
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index e88050aee0c1..5e7422085162 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -1235,7 +1235,6 @@ enum intel_display_power_domain
 intel_display_port_aux_power_domain(struct intel_encoder *intel_encoder);
 void intel_mode_from_pipe_config(struct drm_display_mode *mode,
 				 struct intel_crtc_state *pipe_config);
-void intel_modeset_preclose(struct drm_device *dev, struct drm_file *file);
 
 int skl_update_scaler_crtc(struct intel_crtc_state *crtc_state);
 int skl_max_scale(struct intel_crtc *crtc, struct intel_crtc_state *crtc_state);
-- 
2.6.4

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* [PATCH 12/22] drm/atmel: Nuke preclose
  2016-01-11 21:40 [PATCH 00/22] drm_event cleanup, round 2 Daniel Vetter
                   ` (10 preceding siblings ...)
  2016-01-11 21:41 ` [PATCH 11/22] drm/i915: Nuke intel_modeset_preclose Daniel Vetter
@ 2016-01-11 21:41 ` Daniel Vetter
  2016-01-13 14:56   ` Boris Brezillon
  2016-01-11 21:41 ` [PATCH 13/22] drm/exynos: Remove event cancelling from postclose Daniel Vetter
                   ` (12 subsequent siblings)
  24 siblings, 1 reply; 120+ messages in thread
From: Daniel Vetter @ 2016-01-11 21:41 UTC (permalink / raw)
  To: DRI Development
  Cc: Daniel Vetter, Daniel Vetter, Intel Graphics Development,
	Boris Brezillon

The only thing this did was cancle pending flip events, and the core
takes care of that now.

Cc: Boris Brezillon <boris.brezillon@free-electrons.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c | 18 ------------------
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c   | 10 ----------
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h   |  3 ---
 3 files changed, 31 deletions(-)

diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c
index 468a14f266a7..9863291a9a54 100644
--- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c
+++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c
@@ -280,24 +280,6 @@ static void atmel_hlcdc_crtc_destroy(struct drm_crtc *c)
 	kfree(crtc);
 }
 
-void atmel_hlcdc_crtc_cancel_page_flip(struct drm_crtc *c,
-				       struct drm_file *file)
-{
-	struct atmel_hlcdc_crtc *crtc = drm_crtc_to_atmel_hlcdc_crtc(c);
-	struct drm_pending_vblank_event *event;
-	struct drm_device *dev = c->dev;
-	unsigned long flags;
-
-	spin_lock_irqsave(&dev->event_lock, flags);
-	event = crtc->event;
-	if (event && event->base.file_priv == file) {
-		event->base.destroy(&event->base);
-		drm_vblank_put(dev, crtc->id);
-		crtc->event = NULL;
-	}
-	spin_unlock_irqrestore(&dev->event_lock, flags);
-}
-
 static void atmel_hlcdc_crtc_finish_page_flip(struct atmel_hlcdc_crtc *crtc)
 {
 	struct drm_device *dev = crtc->base.dev;
diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c
index a45b32ba029e..3d8d16402d07 100644
--- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c
+++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c
@@ -619,15 +619,6 @@ static void atmel_hlcdc_dc_connector_unplug_all(struct drm_device *dev)
 	mutex_unlock(&dev->mode_config.mutex);
 }
 
-static void atmel_hlcdc_dc_preclose(struct drm_device *dev,
-				    struct drm_file *file)
-{
-	struct drm_crtc *crtc;
-
-	list_for_each_entry(crtc, &dev->mode_config.crtc_list, head)
-		atmel_hlcdc_crtc_cancel_page_flip(crtc, file);
-}
-
 static void atmel_hlcdc_dc_lastclose(struct drm_device *dev)
 {
 	struct atmel_hlcdc_dc *dc = dev->dev_private;
@@ -698,7 +689,6 @@ static struct drm_driver atmel_hlcdc_dc_driver = {
 	.driver_features = DRIVER_HAVE_IRQ | DRIVER_GEM |
 			   DRIVER_MODESET | DRIVER_PRIME |
 			   DRIVER_ATOMIC,
-	.preclose = atmel_hlcdc_dc_preclose,
 	.lastclose = atmel_hlcdc_dc_lastclose,
 	.irq_handler = atmel_hlcdc_dc_irq_handler,
 	.irq_preinstall = atmel_hlcdc_dc_irq_uninstall,
diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h
index cf6b375bc38d..fed517f297da 100644
--- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h
+++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h
@@ -152,9 +152,6 @@ int atmel_hlcdc_plane_prepare_disc_area(struct drm_crtc_state *c_state);
 
 void atmel_hlcdc_crtc_irq(struct drm_crtc *c);
 
-void atmel_hlcdc_crtc_cancel_page_flip(struct drm_crtc *crtc,
-				       struct drm_file *file);
-
 void atmel_hlcdc_crtc_suspend(struct drm_crtc *crtc);
 void atmel_hlcdc_crtc_resume(struct drm_crtc *crtc);
 
-- 
2.6.4

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

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

* [PATCH 13/22] drm/exynos: Remove event cancelling from postclose
  2016-01-11 21:40 [PATCH 00/22] drm_event cleanup, round 2 Daniel Vetter
                   ` (11 preceding siblings ...)
  2016-01-11 21:41 ` [PATCH 12/22] drm/atmel: Nuke preclose Daniel Vetter
@ 2016-01-11 21:41 ` Daniel Vetter
  2016-01-12  6:13   ` Inki Dae
  2016-01-11 21:41 ` [PATCH 14/22] drm/imx: Unconfuse preclose logic Daniel Vetter
                   ` (11 subsequent siblings)
  24 siblings, 1 reply; 120+ messages in thread
From: Daniel Vetter @ 2016-01-11 21:41 UTC (permalink / raw)
  To: DRI Development
  Cc: Inki Dae, Daniel Vetter, Intel Graphics Development,
	Daniel Vetter

The core takes care of this now. And since kfree(NULL) is ok we can
simplify the function even further now.

Cc: Inki Dae <inki.dae@samsung.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/exynos/exynos_drm_drv.c | 14 --------------
 1 file changed, 14 deletions(-)

diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c
index 9756797a15a5..868ab9f54f17 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_drv.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c
@@ -335,20 +335,6 @@ static void exynos_drm_preclose(struct drm_device *dev,
 
 static void exynos_drm_postclose(struct drm_device *dev, struct drm_file *file)
 {
-	struct drm_pending_event *e, *et;
-	unsigned long flags;
-
-	if (!file->driver_priv)
-		return;
-
-	spin_lock_irqsave(&dev->event_lock, flags);
-	/* Release all events handled by page flip handler but not freed. */
-	list_for_each_entry_safe(e, et, &file->event_list, link) {
-		list_del(&e->link);
-		e->destroy(e);
-	}
-	spin_unlock_irqrestore(&dev->event_lock, flags);
-
 	kfree(file->driver_priv);
 	file->driver_priv = NULL;
 }
-- 
2.6.4

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

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

* [PATCH 14/22] drm/imx: Unconfuse preclose logic
  2016-01-11 21:40 [PATCH 00/22] drm_event cleanup, round 2 Daniel Vetter
                   ` (12 preceding siblings ...)
  2016-01-11 21:41 ` [PATCH 13/22] drm/exynos: Remove event cancelling from postclose Daniel Vetter
@ 2016-01-11 21:41 ` Daniel Vetter
  2016-01-12  8:57   ` Philipp Zabel
  2016-01-11 21:41 ` [PATCH 15/22] drm/msm: Nuke preclose hooks Daniel Vetter
                   ` (10 subsequent siblings)
  24 siblings, 1 reply; 120+ messages in thread
From: Daniel Vetter @ 2016-01-11 21:41 UTC (permalink / raw)
  To: DRI Development; +Cc: Daniel Vetter, Intel Graphics Development, Daniel Vetter

So this one is special, since it tries to prevent races when userspace
crashes simply by disabling the vblank machinery. Well except that imx
always has vblanks enabled, and the disable_vblank hook actually just
tries to cancel a pending pageflip. Without any locking whatsoever. Of
course this is wrong, since it'll result in the hw not actually
displaying what drm thinks is the current frontbuffer.

Well since the core takes care of the disappearing DRM fd now. So we
can nuke all this confused code without ill side-effects.

Someone else needs to audit the locking for ->newfb and
->page_flip_event and fix it up. Common approach is to reuse
dev->event_lock for this.

Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/imx/imx-drm-core.c | 13 -------------
 drivers/gpu/drm/imx/ipuv3-crtc.c   |  4 ----
 2 files changed, 17 deletions(-)

diff --git a/drivers/gpu/drm/imx/imx-drm-core.c b/drivers/gpu/drm/imx/imx-drm-core.c
index 7be7ac808304..ff94ca4a2c1e 100644
--- a/drivers/gpu/drm/imx/imx-drm-core.c
+++ b/drivers/gpu/drm/imx/imx-drm-core.c
@@ -171,18 +171,6 @@ static void imx_drm_disable_vblank(struct drm_device *drm, unsigned int pipe)
 	imx_drm_crtc->imx_drm_helper_funcs.disable_vblank(imx_drm_crtc->crtc);
 }
 
-static void imx_drm_driver_preclose(struct drm_device *drm,
-		struct drm_file *file)
-{
-	int i;
-
-	if (!file->is_master)
-		return;
-
-	for (i = 0; i < MAX_CRTC; i++)
-		imx_drm_disable_vblank(drm, i);
-}
-
 static const struct file_operations imx_drm_driver_fops = {
 	.owner = THIS_MODULE,
 	.open = drm_open,
@@ -462,7 +450,6 @@ static struct drm_driver imx_drm_driver = {
 	.load			= imx_drm_driver_load,
 	.unload			= imx_drm_driver_unload,
 	.lastclose		= imx_drm_driver_lastclose,
-	.preclose		= imx_drm_driver_preclose,
 	.set_busid		= drm_platform_set_busid,
 	.gem_free_object	= drm_gem_cma_free_object,
 	.gem_vm_ops		= &drm_gem_cma_vm_ops,
diff --git a/drivers/gpu/drm/imx/ipuv3-crtc.c b/drivers/gpu/drm/imx/ipuv3-crtc.c
index 30a57185bdb4..846b5f558897 100644
--- a/drivers/gpu/drm/imx/ipuv3-crtc.c
+++ b/drivers/gpu/drm/imx/ipuv3-crtc.c
@@ -285,10 +285,6 @@ static int ipu_enable_vblank(struct drm_crtc *crtc)
 
 static void ipu_disable_vblank(struct drm_crtc *crtc)
 {
-	struct ipu_crtc *ipu_crtc = to_ipu_crtc(crtc);
-
-	ipu_crtc->page_flip_event = NULL;
-	ipu_crtc->newfb = NULL;
 }
 
 static int ipu_set_interface_pix_fmt(struct drm_crtc *crtc,
-- 
2.6.4

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* [PATCH 15/22] drm/msm: Nuke preclose hooks
  2016-01-11 21:40 [PATCH 00/22] drm_event cleanup, round 2 Daniel Vetter
                   ` (13 preceding siblings ...)
  2016-01-11 21:41 ` [PATCH 14/22] drm/imx: Unconfuse preclose logic Daniel Vetter
@ 2016-01-11 21:41 ` Daniel Vetter
  2016-01-11 21:41 ` [PATCH 16/22] drm/omap: Nuke close hooks Daniel Vetter
                   ` (9 subsequent siblings)
  24 siblings, 0 replies; 120+ messages in thread
From: Daniel Vetter @ 2016-01-11 21:41 UTC (permalink / raw)
  To: DRI Development; +Cc: Daniel Vetter, Intel Graphics Development, Daniel Vetter

They only complete the page flip events to avoid oops when the drm
file closes. The core takes care of that now and we can remove this
code.

Cc: Rob Clark <robdclark@gmail.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c |  7 -------
 drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.c  | 11 -----------
 drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.h  |  1 -
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c |  6 ------
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c  | 11 -----------
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.h  |  1 -
 6 files changed, 37 deletions(-)

diff --git a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c
index 28df397c3b04..909d74250de7 100644
--- a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c
+++ b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c
@@ -575,13 +575,6 @@ uint32_t mdp4_crtc_vblank(struct drm_crtc *crtc)
 	return mdp4_crtc->vblank.irqmask;
 }
 
-void mdp4_crtc_cancel_pending_flip(struct drm_crtc *crtc, struct drm_file *file)
-{
-	struct mdp4_crtc *mdp4_crtc = to_mdp4_crtc(crtc);
-	DBG("%s: cancel: %p", mdp4_crtc->name, file);
-	complete_flip(crtc, file);
-}
-
 /* set dma config, ie. the format the encoder wants. */
 void mdp4_crtc_set_config(struct drm_crtc *crtc, uint32_t config)
 {
diff --git a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.c b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.c
index 5a8e3d6bcbff..1c8e330f8d98 100644
--- a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.c
+++ b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.c
@@ -179,16 +179,6 @@ static long mdp4_round_pixclk(struct msm_kms *kms, unsigned long rate,
 	}
 }
 
-static void mdp4_preclose(struct msm_kms *kms, struct drm_file *file)
-{
-	struct mdp4_kms *mdp4_kms = to_mdp4_kms(to_mdp_kms(kms));
-	struct msm_drm_private *priv = mdp4_kms->dev->dev_private;
-	unsigned i;
-
-	for (i = 0; i < priv->num_crtcs; i++)
-		mdp4_crtc_cancel_pending_flip(priv->crtcs[i], file);
-}
-
 static void mdp4_destroy(struct msm_kms *kms)
 {
 	struct mdp4_kms *mdp4_kms = to_mdp4_kms(to_mdp_kms(kms));
@@ -213,7 +203,6 @@ static const struct mdp_kms_funcs kms_funcs = {
 		.wait_for_crtc_commit_done = mdp4_wait_for_crtc_commit_done,
 		.get_format      = mdp_get_format,
 		.round_pixclk    = mdp4_round_pixclk,
-		.preclose        = mdp4_preclose,
 		.destroy         = mdp4_destroy,
 	},
 	.set_irqmask         = mdp4_set_irqmask,
diff --git a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.h b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.h
index d2c96ef431f4..9ec53b464662 100644
--- a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.h
+++ b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.h
@@ -199,7 +199,6 @@ struct drm_plane *mdp4_plane_init(struct drm_device *dev,
 		enum mdp4_pipe pipe_id, bool private_plane);
 
 uint32_t mdp4_crtc_vblank(struct drm_crtc *crtc);
-void mdp4_crtc_cancel_pending_flip(struct drm_crtc *crtc, struct drm_file *file);
 void mdp4_crtc_set_config(struct drm_crtc *crtc, uint32_t config);
 void mdp4_crtc_set_intf(struct drm_crtc *crtc, enum mdp4_intf intf, int mixer);
 void mdp4_crtc_wait_for_commit_done(struct drm_crtc *crtc);
diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c
index 20cee5ce4071..46682aa8870c 100644
--- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c
+++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c
@@ -721,12 +721,6 @@ uint32_t mdp5_crtc_vblank(struct drm_crtc *crtc)
 	return mdp5_crtc->vblank.irqmask;
 }
 
-void mdp5_crtc_cancel_pending_flip(struct drm_crtc *crtc, struct drm_file *file)
-{
-	DBG("cancel: %p", file);
-	complete_flip(crtc, file);
-}
-
 void mdp5_crtc_set_pipeline(struct drm_crtc *crtc,
 		struct mdp5_interface *intf, struct mdp5_ctl *ctl)
 {
diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c
index e115318402bd..5e4d16b399c7 100644
--- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c
+++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c
@@ -117,16 +117,6 @@ static int mdp5_set_split_display(struct msm_kms *kms,
 		return mdp5_encoder_set_split_display(encoder, slave_encoder);
 }
 
-static void mdp5_preclose(struct msm_kms *kms, struct drm_file *file)
-{
-	struct mdp5_kms *mdp5_kms = to_mdp5_kms(to_mdp_kms(kms));
-	struct msm_drm_private *priv = mdp5_kms->dev->dev_private;
-	unsigned i;
-
-	for (i = 0; i < priv->num_crtcs; i++)
-		mdp5_crtc_cancel_pending_flip(priv->crtcs[i], file);
-}
-
 static void mdp5_destroy(struct msm_kms *kms)
 {
 	struct mdp5_kms *mdp5_kms = to_mdp5_kms(to_mdp_kms(kms));
@@ -164,7 +154,6 @@ static const struct mdp_kms_funcs kms_funcs = {
 		.get_format      = mdp_get_format,
 		.round_pixclk    = mdp5_round_pixclk,
 		.set_split_display = mdp5_set_split_display,
-		.preclose        = mdp5_preclose,
 		.destroy         = mdp5_destroy,
 	},
 	.set_irqmask         = mdp5_set_irqmask,
diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.h b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.h
index 00730ba08a60..9a25898239d3 100644
--- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.h
+++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.h
@@ -211,7 +211,6 @@ struct drm_plane *mdp5_plane_init(struct drm_device *dev,
 uint32_t mdp5_crtc_vblank(struct drm_crtc *crtc);
 
 int mdp5_crtc_get_lm(struct drm_crtc *crtc);
-void mdp5_crtc_cancel_pending_flip(struct drm_crtc *crtc, struct drm_file *file);
 void mdp5_crtc_set_pipeline(struct drm_crtc *crtc,
 		struct mdp5_interface *intf, struct mdp5_ctl *ctl);
 void mdp5_crtc_wait_for_commit_done(struct drm_crtc *crtc);
-- 
2.6.4

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

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

* [PATCH 16/22] drm/omap: Nuke close hooks
  2016-01-11 21:40 [PATCH 00/22] drm_event cleanup, round 2 Daniel Vetter
                   ` (14 preceding siblings ...)
  2016-01-11 21:41 ` [PATCH 15/22] drm/msm: Nuke preclose hooks Daniel Vetter
@ 2016-01-11 21:41 ` Daniel Vetter
  2016-01-12 14:09   ` Tomi Valkeinen
                     ` (2 more replies)
  2016-01-11 21:41 ` [PATCH 17/22] drm/rcar: Nuke preclose hook Daniel Vetter
                   ` (8 subsequent siblings)
  24 siblings, 3 replies; 120+ messages in thread
From: Daniel Vetter @ 2016-01-11 21:41 UTC (permalink / raw)
  To: DRI Development
  Cc: Daniel Vetter, Intel Graphics Development, Tomi Valkeinen,
	Laurent Pinchart, Daniel Vetter

Again since the core takes care of this we can remove them. While at
it also remove the postclose hook, it's empty.

v2: Laurent pointed me at even more code to delete.

Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/omapdrm/omap_crtc.c | 13 +-----------
 drivers/gpu/drm/omapdrm/omap_drv.c  | 41 -------------------------------------
 drivers/gpu/drm/omapdrm/omap_drv.h  |  1 -
 3 files changed, 1 insertion(+), 54 deletions(-)

diff --git a/drivers/gpu/drm/omapdrm/omap_crtc.c b/drivers/gpu/drm/omapdrm/omap_crtc.c
index 2ed0754ed19e..d38fcbcc43a8 100644
--- a/drivers/gpu/drm/omapdrm/omap_crtc.c
+++ b/drivers/gpu/drm/omapdrm/omap_crtc.c
@@ -269,18 +269,7 @@ static void omap_crtc_complete_page_flip(struct drm_crtc *crtc)
 		return;
 
 	spin_lock_irqsave(&dev->event_lock, flags);
-
-	list_del(&event->base.link);
-
-	/*
-	 * Queue the event for delivery if it's still linked to a file
-	 * handle, otherwise just destroy it.
-	 */
-	if (event->base.file_priv)
-		drm_crtc_send_vblank_event(crtc, event);
-	else
-		event->base.destroy(&event->base);
-
+	drm_crtc_send_vblank_event(crtc, event);
 	spin_unlock_irqrestore(&dev->event_lock, flags);
 }
 
diff --git a/drivers/gpu/drm/omapdrm/omap_drv.c b/drivers/gpu/drm/omapdrm/omap_drv.c
index dfafdb602ad2..603a65498b40 100644
--- a/drivers/gpu/drm/omapdrm/omap_drv.c
+++ b/drivers/gpu/drm/omapdrm/omap_drv.c
@@ -175,17 +175,6 @@ static int omap_atomic_commit(struct drm_device *dev,
 	priv->commit.pending |= commit->crtcs;
 	spin_unlock(&priv->commit.lock);
 
-	/* Keep track of all CRTC events to unlink them in preclose(). */
-	spin_lock_irqsave(&dev->event_lock, flags);
-	for (i = 0; i < dev->mode_config.num_crtc; ++i) {
-		struct drm_crtc_state *cstate = state->crtc_states[i];
-
-		if (cstate && cstate->event)
-			list_add_tail(&cstate->event->base.link,
-				      &priv->commit.events);
-	}
-	spin_unlock_irqrestore(&dev->event_lock, flags);
-
 	/* Swap the state, this is the point of no return. */
 	drm_atomic_helper_swap_state(dev, state);
 
@@ -673,7 +662,6 @@ static int dev_load(struct drm_device *dev, unsigned long flags)
 	priv->wq = alloc_ordered_workqueue("omapdrm", 0);
 	init_waitqueue_head(&priv->commit.wait);
 	spin_lock_init(&priv->commit.lock);
-	INIT_LIST_HEAD(&priv->commit.events);
 
 	spin_lock_init(&priv->list_lock);
 	INIT_LIST_HEAD(&priv->obj_list);
@@ -787,33 +775,6 @@ static void dev_lastclose(struct drm_device *dev)
 	}
 }
 
-static void dev_preclose(struct drm_device *dev, struct drm_file *file)
-{
-	struct omap_drm_private *priv = dev->dev_private;
-	struct drm_pending_event *event;
-	unsigned long flags;
-
-	DBG("preclose: dev=%p", dev);
-
-	/*
-	 * Unlink all pending CRTC events to make sure they won't be queued up
-	 * by a pending asynchronous commit.
-	 */
-	spin_lock_irqsave(&dev->event_lock, flags);
-	list_for_each_entry(event, &priv->commit.events, link) {
-		if (event->file_priv == file) {
-			file->event_space += event->event->length;
-			event->file_priv = NULL;
-		}
-	}
-	spin_unlock_irqrestore(&dev->event_lock, flags);
-}
-
-static void dev_postclose(struct drm_device *dev, struct drm_file *file)
-{
-	DBG("postclose: dev=%p, file=%p", dev, file);
-}
-
 static const struct vm_operations_struct omap_gem_vm_ops = {
 	.fault = omap_gem_fault,
 	.open = drm_gem_vm_open,
@@ -838,8 +799,6 @@ static struct drm_driver omap_drm_driver = {
 	.unload = dev_unload,
 	.open = dev_open,
 	.lastclose = dev_lastclose,
-	.preclose = dev_preclose,
-	.postclose = dev_postclose,
 	.set_busid = drm_platform_set_busid,
 	.get_vblank_counter = drm_vblank_no_hw_counter,
 	.enable_vblank = omap_irq_enable_vblank,
diff --git a/drivers/gpu/drm/omapdrm/omap_drv.h b/drivers/gpu/drm/omapdrm/omap_drv.h
index 9e0030731c37..c23cbe6fe9e4 100644
--- a/drivers/gpu/drm/omapdrm/omap_drv.h
+++ b/drivers/gpu/drm/omapdrm/omap_drv.h
@@ -106,7 +106,6 @@ struct omap_drm_private {
 
 	/* atomic commit */
 	struct {
-		struct list_head events;
 		wait_queue_head_t wait;
 		u32 pending;
 		spinlock_t lock;	/* Protects commit.pending */
-- 
2.6.4

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

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

* [PATCH 17/22] drm/rcar: Nuke preclose hook
  2016-01-11 21:40 [PATCH 00/22] drm_event cleanup, round 2 Daniel Vetter
                   ` (15 preceding siblings ...)
  2016-01-11 21:41 ` [PATCH 16/22] drm/omap: Nuke close hooks Daniel Vetter
@ 2016-01-11 21:41 ` Daniel Vetter
  2016-01-11 21:41 ` [PATCH 18/22] drm/shmob: " Daniel Vetter
                   ` (7 subsequent siblings)
  24 siblings, 0 replies; 120+ messages in thread
From: Daniel Vetter @ 2016-01-11 21:41 UTC (permalink / raw)
  To: DRI Development
  Cc: Daniel Vetter, Intel Graphics Development, Laurent Pinchart,
	Daniel Vetter

Again since the drm core takes care of event unlinking/disarming this
is now just needless code.

Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/rcar-du/rcar_du_crtc.c | 20 --------------------
 drivers/gpu/drm/rcar-du/rcar_du_crtc.h |  2 --
 drivers/gpu/drm/rcar-du/rcar_du_drv.c  | 10 ----------
 3 files changed, 32 deletions(-)

diff --git a/drivers/gpu/drm/rcar-du/rcar_du_crtc.c b/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
index 88a4b706be16..4ec80ae1fa99 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
@@ -282,26 +282,6 @@ static void rcar_du_crtc_update_planes(struct rcar_du_crtc *rcrtc)
  * Page Flip
  */
 
-void rcar_du_crtc_cancel_page_flip(struct rcar_du_crtc *rcrtc,
-				   struct drm_file *file)
-{
-	struct drm_pending_vblank_event *event;
-	struct drm_device *dev = rcrtc->crtc.dev;
-	unsigned long flags;
-
-	/* Destroy the pending vertical blanking event associated with the
-	 * pending page flip, if any, and disable vertical blanking interrupts.
-	 */
-	spin_lock_irqsave(&dev->event_lock, flags);
-	event = rcrtc->event;
-	if (event && event->base.file_priv == file) {
-		rcrtc->event = NULL;
-		event->base.destroy(&event->base);
-		drm_crtc_vblank_put(&rcrtc->crtc);
-	}
-	spin_unlock_irqrestore(&dev->event_lock, flags);
-}
-
 static void rcar_du_crtc_finish_page_flip(struct rcar_du_crtc *rcrtc)
 {
 	struct drm_pending_vblank_event *event;
diff --git a/drivers/gpu/drm/rcar-du/rcar_du_crtc.h b/drivers/gpu/drm/rcar-du/rcar_du_crtc.h
index 4b95d9d08c49..2bbe3f5aab65 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_crtc.h
+++ b/drivers/gpu/drm/rcar-du/rcar_du_crtc.h
@@ -67,8 +67,6 @@ enum rcar_du_output {
 
 int rcar_du_crtc_create(struct rcar_du_group *rgrp, unsigned int index);
 void rcar_du_crtc_enable_vblank(struct rcar_du_crtc *rcrtc, bool enable);
-void rcar_du_crtc_cancel_page_flip(struct rcar_du_crtc *rcrtc,
-				   struct drm_file *file);
 void rcar_du_crtc_suspend(struct rcar_du_crtc *rcrtc);
 void rcar_du_crtc_resume(struct rcar_du_crtc *rcrtc);
 
diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
index 40422f6b645e..0bb2b31555bf 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
@@ -220,15 +220,6 @@ done:
 	return ret;
 }
 
-static void rcar_du_preclose(struct drm_device *dev, struct drm_file *file)
-{
-	struct rcar_du_device *rcdu = dev->dev_private;
-	unsigned int i;
-
-	for (i = 0; i < rcdu->num_crtcs; ++i)
-		rcar_du_crtc_cancel_page_flip(&rcdu->crtcs[i], file);
-}
-
 static void rcar_du_lastclose(struct drm_device *dev)
 {
 	struct rcar_du_device *rcdu = dev->dev_private;
@@ -271,7 +262,6 @@ static struct drm_driver rcar_du_driver = {
 				| DRIVER_ATOMIC,
 	.load			= rcar_du_load,
 	.unload			= rcar_du_unload,
-	.preclose		= rcar_du_preclose,
 	.lastclose		= rcar_du_lastclose,
 	.set_busid		= drm_platform_set_busid,
 	.get_vblank_counter	= drm_vblank_no_hw_counter,
-- 
2.6.4

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* [PATCH 18/22] drm/shmob: Nuke preclose hook
  2016-01-11 21:40 [PATCH 00/22] drm_event cleanup, round 2 Daniel Vetter
                   ` (16 preceding siblings ...)
  2016-01-11 21:41 ` [PATCH 17/22] drm/rcar: Nuke preclose hook Daniel Vetter
@ 2016-01-11 21:41 ` Daniel Vetter
  2016-01-11 21:41 ` [PATCH 19/22] drm/tegra: Stop cancelling page flip events Daniel Vetter
                   ` (6 subsequent siblings)
  24 siblings, 0 replies; 120+ messages in thread
From: Daniel Vetter @ 2016-01-11 21:41 UTC (permalink / raw)
  To: DRI Development
  Cc: Daniel Vetter, Intel Graphics Development, Laurent Pinchart,
	Daniel Vetter

Again since the drm core takes care of event unlinking/disarming this
is now just needless code.

v2: Fixup misplaced hunk.

Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com> (v1)
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/shmobile/shmob_drm_crtc.c | 20 --------------------
 drivers/gpu/drm/shmobile/shmob_drm_crtc.h |  2 --
 drivers/gpu/drm/shmobile/shmob_drm_drv.c  |  8 --------
 3 files changed, 30 deletions(-)

diff --git a/drivers/gpu/drm/shmobile/shmob_drm_crtc.c b/drivers/gpu/drm/shmobile/shmob_drm_crtc.c
index b80802f55143..de7959a60774 100644
--- a/drivers/gpu/drm/shmobile/shmob_drm_crtc.c
+++ b/drivers/gpu/drm/shmobile/shmob_drm_crtc.c
@@ -438,26 +438,6 @@ static const struct drm_crtc_helper_funcs crtc_helper_funcs = {
 	.mode_set_base = shmob_drm_crtc_mode_set_base,
 };
 
-void shmob_drm_crtc_cancel_page_flip(struct shmob_drm_crtc *scrtc,
-				     struct drm_file *file)
-{
-	struct drm_pending_vblank_event *event;
-	struct drm_device *dev = scrtc->crtc.dev;
-	unsigned long flags;
-
-	/* Destroy the pending vertical blanking event associated with the
-	 * pending page flip, if any, and disable vertical blanking interrupts.
-	 */
-	spin_lock_irqsave(&dev->event_lock, flags);
-	event = scrtc->event;
-	if (event && event->base.file_priv == file) {
-		scrtc->event = NULL;
-		event->base.destroy(&event->base);
-		drm_vblank_put(dev, 0);
-	}
-	spin_unlock_irqrestore(&dev->event_lock, flags);
-}
-
 void shmob_drm_crtc_finish_page_flip(struct shmob_drm_crtc *scrtc)
 {
 	struct drm_pending_vblank_event *event;
diff --git a/drivers/gpu/drm/shmobile/shmob_drm_crtc.h b/drivers/gpu/drm/shmobile/shmob_drm_crtc.h
index eddad6dcc88a..38ed4ff8aaf2 100644
--- a/drivers/gpu/drm/shmobile/shmob_drm_crtc.h
+++ b/drivers/gpu/drm/shmobile/shmob_drm_crtc.h
@@ -47,8 +47,6 @@ struct shmob_drm_connector {
 
 int shmob_drm_crtc_create(struct shmob_drm_device *sdev);
 void shmob_drm_crtc_enable_vblank(struct shmob_drm_device *sdev, bool enable);
-void shmob_drm_crtc_cancel_page_flip(struct shmob_drm_crtc *scrtc,
-				     struct drm_file *file);
 void shmob_drm_crtc_finish_page_flip(struct shmob_drm_crtc *scrtc);
 void shmob_drm_crtc_suspend(struct shmob_drm_crtc *scrtc);
 void shmob_drm_crtc_resume(struct shmob_drm_crtc *scrtc);
diff --git a/drivers/gpu/drm/shmobile/shmob_drm_drv.c b/drivers/gpu/drm/shmobile/shmob_drm_drv.c
index 04e66e3751b4..7700ff172079 100644
--- a/drivers/gpu/drm/shmobile/shmob_drm_drv.c
+++ b/drivers/gpu/drm/shmobile/shmob_drm_drv.c
@@ -200,13 +200,6 @@ done:
 	return ret;
 }
 
-static void shmob_drm_preclose(struct drm_device *dev, struct drm_file *file)
-{
-	struct shmob_drm_device *sdev = dev->dev_private;
-
-	shmob_drm_crtc_cancel_page_flip(&sdev->crtc, file);
-}
-
 static irqreturn_t shmob_drm_irq(int irq, void *arg)
 {
 	struct drm_device *dev = arg;
@@ -266,7 +259,6 @@ static struct drm_driver shmob_drm_driver = {
 				| DRIVER_PRIME,
 	.load			= shmob_drm_load,
 	.unload			= shmob_drm_unload,
-	.preclose		= shmob_drm_preclose,
 	.set_busid		= drm_platform_set_busid,
 	.irq_handler		= shmob_drm_irq,
 	.get_vblank_counter	= drm_vblank_no_hw_counter,
-- 
2.6.4

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

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

* [PATCH 19/22] drm/tegra: Stop cancelling page flip events
  2016-01-11 21:40 [PATCH 00/22] drm_event cleanup, round 2 Daniel Vetter
                   ` (17 preceding siblings ...)
  2016-01-11 21:41 ` [PATCH 18/22] drm/shmob: " Daniel Vetter
@ 2016-01-11 21:41 ` Daniel Vetter
  2016-01-13 14:03   ` Thierry Reding
  2016-01-11 21:41 ` [PATCH 20/22] drm/tilcdc: Nuke preclose hook Daniel Vetter
                   ` (5 subsequent siblings)
  24 siblings, 1 reply; 120+ messages in thread
From: Daniel Vetter @ 2016-01-11 21:41 UTC (permalink / raw)
  To: DRI Development
  Cc: Daniel Vetter, Intel Graphics Development, Thierry Reding,
	Terje Bergström, Daniel Vetter

The core takes care of that now.

v2: Fixup misplaced hunk.

Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: Terje Bergström <tbergstrom@nvidia.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/tegra/dc.c  | 17 -----------------
 drivers/gpu/drm/tegra/drm.c |  3 ---
 drivers/gpu/drm/tegra/drm.h |  1 -
 3 files changed, 21 deletions(-)

diff --git a/drivers/gpu/drm/tegra/dc.c b/drivers/gpu/drm/tegra/dc.c
index dde6f208c347..fb2b4b0271a2 100644
--- a/drivers/gpu/drm/tegra/dc.c
+++ b/drivers/gpu/drm/tegra/dc.c
@@ -988,23 +988,6 @@ static void tegra_dc_finish_page_flip(struct tegra_dc *dc)
 	spin_unlock_irqrestore(&drm->event_lock, flags);
 }
 
-void tegra_dc_cancel_page_flip(struct drm_crtc *crtc, struct drm_file *file)
-{
-	struct tegra_dc *dc = to_tegra_dc(crtc);
-	struct drm_device *drm = crtc->dev;
-	unsigned long flags;
-
-	spin_lock_irqsave(&drm->event_lock, flags);
-
-	if (dc->event && dc->event->base.file_priv == file) {
-		dc->event->base.destroy(&dc->event->base);
-		drm_crtc_vblank_put(crtc);
-		dc->event = NULL;
-	}
-
-	spin_unlock_irqrestore(&drm->event_lock, flags);
-}
-
 static void tegra_dc_destroy(struct drm_crtc *crtc)
 {
 	drm_crtc_cleanup(crtc);
diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c
index c5c856a0879d..021d0e1398fb 100644
--- a/drivers/gpu/drm/tegra/drm.c
+++ b/drivers/gpu/drm/tegra/drm.c
@@ -860,9 +860,6 @@ static void tegra_drm_preclose(struct drm_device *drm, struct drm_file *file)
 	struct tegra_drm_context *context, *tmp;
 	struct drm_crtc *crtc;
 
-	list_for_each_entry(crtc, &drm->mode_config.crtc_list, head)
-		tegra_dc_cancel_page_flip(crtc, file);
-
 	list_for_each_entry_safe(context, tmp, &fpriv->contexts, list)
 		tegra_drm_context_free(context);
 
diff --git a/drivers/gpu/drm/tegra/drm.h b/drivers/gpu/drm/tegra/drm.h
index c088f2f67eda..8a10f5b7d9dc 100644
--- a/drivers/gpu/drm/tegra/drm.h
+++ b/drivers/gpu/drm/tegra/drm.h
@@ -195,7 +195,6 @@ struct tegra_dc_window {
 u32 tegra_dc_get_vblank_counter(struct tegra_dc *dc);
 void tegra_dc_enable_vblank(struct tegra_dc *dc);
 void tegra_dc_disable_vblank(struct tegra_dc *dc);
-void tegra_dc_cancel_page_flip(struct drm_crtc *crtc, struct drm_file *file);
 void tegra_dc_commit(struct tegra_dc *dc);
 int tegra_dc_state_setup_clock(struct tegra_dc *dc,
 			       struct drm_crtc_state *crtc_state,
-- 
2.6.4

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

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

* [PATCH 20/22] drm/tilcdc: Nuke preclose hook
  2016-01-11 21:40 [PATCH 00/22] drm_event cleanup, round 2 Daniel Vetter
                   ` (18 preceding siblings ...)
  2016-01-11 21:41 ` [PATCH 19/22] drm/tegra: Stop cancelling page flip events Daniel Vetter
@ 2016-01-11 21:41 ` Daniel Vetter
  2016-01-12 14:19   ` Tomi Valkeinen
  2016-01-11 21:41 ` [PATCH 21/22] drm/vc4: " Daniel Vetter
                   ` (4 subsequent siblings)
  24 siblings, 1 reply; 120+ messages in thread
From: Daniel Vetter @ 2016-01-11 21:41 UTC (permalink / raw)
  To: DRI Development; +Cc: Daniel Vetter, Intel Graphics Development, Daniel Vetter

Again since the drm core takes care of event unlinking/disarming this
is now just needless code.

v2: Fixup misplaced hunks.

Cc: Rob Clark <robdclark@gmail.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com> (v1)
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 20 --------------------
 drivers/gpu/drm/tilcdc/tilcdc_drv.c  |  8 --------
 drivers/gpu/drm/tilcdc/tilcdc_drv.h  |  1 -
 3 files changed, 29 deletions(-)

diff --git a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
index 7d07733bdc86..4802da8e6d6f 100644
--- a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
+++ b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
@@ -662,26 +662,6 @@ irqreturn_t tilcdc_crtc_irq(struct drm_crtc *crtc)
 	return IRQ_HANDLED;
 }
 
-void tilcdc_crtc_cancel_page_flip(struct drm_crtc *crtc, struct drm_file *file)
-{
-	struct tilcdc_crtc *tilcdc_crtc = to_tilcdc_crtc(crtc);
-	struct drm_pending_vblank_event *event;
-	struct drm_device *dev = crtc->dev;
-	unsigned long flags;
-
-	/* Destroy the pending vertical blanking event associated with the
-	 * pending page flip, if any, and disable vertical blanking interrupts.
-	 */
-	spin_lock_irqsave(&dev->event_lock, flags);
-	event = tilcdc_crtc->event;
-	if (event && event->base.file_priv == file) {
-		tilcdc_crtc->event = NULL;
-		event->base.destroy(&event->base);
-		drm_vblank_put(dev, 0);
-	}
-	spin_unlock_irqrestore(&dev->event_lock, flags);
-}
-
 struct drm_crtc *tilcdc_crtc_create(struct drm_device *dev)
 {
 	struct tilcdc_crtc *tilcdc_crtc;
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_drv.c b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
index 4ddb21e7f52f..b39ba213e303 100644
--- a/drivers/gpu/drm/tilcdc/tilcdc_drv.c
+++ b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
@@ -349,13 +349,6 @@ fail_free_priv:
 	return ret;
 }
 
-static void tilcdc_preclose(struct drm_device *dev, struct drm_file *file)
-{
-	struct tilcdc_drm_private *priv = dev->dev_private;
-
-	tilcdc_crtc_cancel_page_flip(priv->crtc, file);
-}
-
 static void tilcdc_lastclose(struct drm_device *dev)
 {
 	struct tilcdc_drm_private *priv = dev->dev_private;
@@ -556,7 +549,6 @@ static struct drm_driver tilcdc_driver = {
 	.driver_features    = DRIVER_HAVE_IRQ | DRIVER_GEM | DRIVER_MODESET,
 	.load               = tilcdc_load,
 	.unload             = tilcdc_unload,
-	.preclose           = tilcdc_preclose,
 	.lastclose          = tilcdc_lastclose,
 	.set_busid          = drm_platform_set_busid,
 	.irq_handler        = tilcdc_irq,
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_drv.h b/drivers/gpu/drm/tilcdc/tilcdc_drv.h
index e863ad0d26fe..66105d8dc620 100644
--- a/drivers/gpu/drm/tilcdc/tilcdc_drv.h
+++ b/drivers/gpu/drm/tilcdc/tilcdc_drv.h
@@ -163,7 +163,6 @@ struct tilcdc_panel_info {
 #define DBG(fmt, ...) DRM_DEBUG(fmt"\n", ##__VA_ARGS__)
 
 struct drm_crtc *tilcdc_crtc_create(struct drm_device *dev);
-void tilcdc_crtc_cancel_page_flip(struct drm_crtc *crtc, struct drm_file *file);
 irqreturn_t tilcdc_crtc_irq(struct drm_crtc *crtc);
 void tilcdc_crtc_update_clk(struct drm_crtc *crtc);
 void tilcdc_crtc_set_panel_info(struct drm_crtc *crtc,
-- 
2.6.4

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* [PATCH 21/22] drm/vc4: Nuke preclose hook
  2016-01-11 21:40 [PATCH 00/22] drm_event cleanup, round 2 Daniel Vetter
                   ` (19 preceding siblings ...)
  2016-01-11 21:41 ` [PATCH 20/22] drm/tilcdc: Nuke preclose hook Daniel Vetter
@ 2016-01-11 21:41 ` Daniel Vetter
  2016-01-18 17:19   ` Eric Anholt
  2016-01-11 21:41 ` [PATCH 22/22] drm/vmwgfx: " Daniel Vetter
                   ` (3 subsequent siblings)
  24 siblings, 1 reply; 120+ messages in thread
From: Daniel Vetter @ 2016-01-11 21:41 UTC (permalink / raw)
  To: DRI Development; +Cc: Daniel Vetter, Daniel Vetter, Intel Graphics Development

Again since the drm core takes care of event unlinking/disarming this
is now just needless code.

v2: Fixup misplaced hunk.

Cc: Eric Anholt <eric@anholt.net>
Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com> (v1)
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/vc4/vc4_crtc.c | 20 --------------------
 drivers/gpu/drm/vc4/vc4_drv.c  | 10 ----------
 drivers/gpu/drm/vc4/vc4_drv.h  |  1 -
 3 files changed, 31 deletions(-)

diff --git a/drivers/gpu/drm/vc4/vc4_crtc.c b/drivers/gpu/drm/vc4/vc4_crtc.c
index 018145e0b87d..937409792b97 100644
--- a/drivers/gpu/drm/vc4/vc4_crtc.c
+++ b/drivers/gpu/drm/vc4/vc4_crtc.c
@@ -593,26 +593,6 @@ static const struct drm_crtc_helper_funcs vc4_crtc_helper_funcs = {
 	.atomic_flush = vc4_crtc_atomic_flush,
 };
 
-/* Frees the page flip event when the DRM device is closed with the
- * event still outstanding.
- */
-void vc4_cancel_page_flip(struct drm_crtc *crtc, struct drm_file *file)
-{
-	struct vc4_crtc *vc4_crtc = to_vc4_crtc(crtc);
-	struct drm_device *dev = crtc->dev;
-	unsigned long flags;
-
-	spin_lock_irqsave(&dev->event_lock, flags);
-
-	if (vc4_crtc->event && vc4_crtc->event->base.file_priv == file) {
-		vc4_crtc->event->base.destroy(&vc4_crtc->event->base);
-		drm_crtc_vblank_put(crtc);
-		vc4_crtc->event = NULL;
-	}
-
-	spin_unlock_irqrestore(&dev->event_lock, flags);
-}
-
 static const struct vc4_crtc_data pv0_data = {
 	.hvs_channel = 0,
 	.encoder0_type = VC4_ENCODER_TYPE_DSI0,
diff --git a/drivers/gpu/drm/vc4/vc4_drv.c b/drivers/gpu/drm/vc4/vc4_drv.c
index f1655fff8425..b7d2ff0e6e1f 100644
--- a/drivers/gpu/drm/vc4/vc4_drv.c
+++ b/drivers/gpu/drm/vc4/vc4_drv.c
@@ -43,14 +43,6 @@ void __iomem *vc4_ioremap_regs(struct platform_device *dev, int index)
 	return map;
 }
 
-static void vc4_drm_preclose(struct drm_device *dev, struct drm_file *file)
-{
-	struct drm_crtc *crtc;
-
-	list_for_each_entry(crtc, &dev->mode_config.crtc_list, head)
-		vc4_cancel_page_flip(crtc, file);
-}
-
 static void vc4_lastclose(struct drm_device *dev)
 {
 	struct vc4_dev *vc4 = to_vc4_dev(dev);
@@ -91,8 +83,6 @@ static struct drm_driver vc4_drm_driver = {
 			    DRIVER_HAVE_IRQ |
 			    DRIVER_PRIME),
 	.lastclose = vc4_lastclose,
-	.preclose = vc4_drm_preclose,
-
 	.irq_handler = vc4_irq,
 	.irq_preinstall = vc4_irq_preinstall,
 	.irq_postinstall = vc4_irq_postinstall,
diff --git a/drivers/gpu/drm/vc4/vc4_drv.h b/drivers/gpu/drm/vc4/vc4_drv.h
index 080865ec2bae..4c734d087d7f 100644
--- a/drivers/gpu/drm/vc4/vc4_drv.h
+++ b/drivers/gpu/drm/vc4/vc4_drv.h
@@ -376,7 +376,6 @@ int vc4_bo_stats_debugfs(struct seq_file *m, void *arg);
 extern struct platform_driver vc4_crtc_driver;
 int vc4_enable_vblank(struct drm_device *dev, unsigned int crtc_id);
 void vc4_disable_vblank(struct drm_device *dev, unsigned int crtc_id);
-void vc4_cancel_page_flip(struct drm_crtc *crtc, struct drm_file *file);
 int vc4_crtc_debugfs_regs(struct seq_file *m, void *arg);
 
 /* vc4_debugfs.c */
-- 
2.6.4

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* [PATCH 22/22] drm/vmwgfx: Nuke preclose hook
  2016-01-11 21:40 [PATCH 00/22] drm_event cleanup, round 2 Daniel Vetter
                   ` (20 preceding siblings ...)
  2016-01-11 21:41 ` [PATCH 21/22] drm/vc4: " Daniel Vetter
@ 2016-01-11 21:41 ` Daniel Vetter
  2016-01-11 21:41 ` [PATCH] " Daniel Vetter
                   ` (2 subsequent siblings)
  24 siblings, 0 replies; 120+ messages in thread
From: Daniel Vetter @ 2016-01-11 21:41 UTC (permalink / raw)
  To: DRI Development
  Cc: Daniel Vetter, Intel Graphics Development, Thomas Hellström,
	Daniel Vetter

Again since the drm core takes care of event unlinking/disarming this
is now just needless code.

v2: I've completely missed eaction->fpriv_head and all the related
code. We need to nuke that too to avoid accidentally deferencing the
freed-up vmwgfx-private fpriv.

v3: Also remove vmw_fpriv->fence_events and unused variables I missed.

Cc: Thomas Hellström <thellstrom@vmware.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/vmwgfx/vmwgfx_drv.c   | 11 --------
 drivers/gpu/drm/vmwgfx/vmwgfx_drv.h   |  1 -
 drivers/gpu/drm/vmwgfx/vmwgfx_fence.c | 52 -----------------------------------
 drivers/gpu/drm/vmwgfx/vmwgfx_fence.h |  2 --
 4 files changed, 66 deletions(-)

diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
index c49812b80dd0..c96a2d2d5107 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
@@ -971,15 +971,6 @@ static int vmw_driver_unload(struct drm_device *dev)
 	return 0;
 }
 
-static void vmw_preclose(struct drm_device *dev,
-			 struct drm_file *file_priv)
-{
-	struct vmw_fpriv *vmw_fp = vmw_fpriv(file_priv);
-	struct vmw_private *dev_priv = vmw_priv(dev);
-
-	vmw_event_fence_fpriv_gone(dev_priv->fman, &vmw_fp->fence_events);
-}
-
 static void vmw_postclose(struct drm_device *dev,
 			 struct drm_file *file_priv)
 {
@@ -1010,7 +1001,6 @@ static int vmw_driver_open(struct drm_device *dev, struct drm_file *file_priv)
 	if (unlikely(vmw_fp == NULL))
 		return ret;
 
-	INIT_LIST_HEAD(&vmw_fp->fence_events);
 	vmw_fp->tfile = ttm_object_file_init(dev_priv->tdev, 10);
 	if (unlikely(vmw_fp->tfile == NULL))
 		goto out_no_tfile;
@@ -1500,7 +1490,6 @@ static struct drm_driver driver = {
 	.master_set = vmw_master_set,
 	.master_drop = vmw_master_drop,
 	.open = vmw_driver_open,
-	.preclose = vmw_preclose,
 	.postclose = vmw_postclose,
 	.set_busid = drm_pci_set_busid,
 
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
index 469cdd520615..5cb1b1687cd4 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
@@ -80,7 +80,6 @@
 struct vmw_fpriv {
 	struct drm_master *locked_master;
 	struct ttm_object_file *tfile;
-	struct list_head fence_events;
 	bool gb_aware;
 };
 
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c b/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c
index e0edf149d9d5..ac477863fc07 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c
@@ -71,7 +71,6 @@ struct vmw_user_fence {
  */
 struct vmw_event_fence_action {
 	struct vmw_fence_action action;
-	struct list_head fpriv_head;
 
 	struct drm_pending_event *event;
 	struct vmw_fence_obj *fence;
@@ -808,44 +807,6 @@ int vmw_fence_obj_unref_ioctl(struct drm_device *dev, void *data,
 }
 
 /**
- * vmw_event_fence_fpriv_gone - Remove references to struct drm_file objects
- *
- * @fman: Pointer to a struct vmw_fence_manager
- * @event_list: Pointer to linked list of struct vmw_event_fence_action objects
- * with pointers to a struct drm_file object about to be closed.
- *
- * This function removes all pending fence events with references to a
- * specific struct drm_file object about to be closed. The caller is required
- * to pass a list of all struct vmw_event_fence_action objects with such
- * events attached. This function is typically called before the
- * struct drm_file object's event management is taken down.
- */
-void vmw_event_fence_fpriv_gone(struct vmw_fence_manager *fman,
-				struct list_head *event_list)
-{
-	struct vmw_event_fence_action *eaction;
-	struct drm_pending_event *event;
-	unsigned long irq_flags;
-
-	while (1) {
-		spin_lock_irqsave(&fman->lock, irq_flags);
-		if (list_empty(event_list))
-			goto out_unlock;
-		eaction = list_first_entry(event_list,
-					   struct vmw_event_fence_action,
-					   fpriv_head);
-		list_del_init(&eaction->fpriv_head);
-		event = eaction->event;
-		eaction->event = NULL;
-		spin_unlock_irqrestore(&fman->lock, irq_flags);
-		event->destroy(event);
-	}
-out_unlock:
-	spin_unlock_irqrestore(&fman->lock, irq_flags);
-}
-
-
-/**
  * vmw_event_fence_action_seq_passed
  *
  * @action: The struct vmw_fence_action embedded in a struct
@@ -879,7 +840,6 @@ static void vmw_event_fence_action_seq_passed(struct vmw_fence_action *action)
 		*eaction->tv_usec = tv.tv_usec;
 	}
 
-	list_del_init(&eaction->fpriv_head);
 	eaction->event = NULL;
 	drm_send_event_locked(dev, eaction->event);
 	spin_unlock_irqrestore(&dev->event_lock, irq_flags);
@@ -898,12 +858,6 @@ static void vmw_event_fence_action_cleanup(struct vmw_fence_action *action)
 {
 	struct vmw_event_fence_action *eaction =
 		container_of(action, struct vmw_event_fence_action, action);
-	struct vmw_fence_manager *fman = fman_from_fence(eaction->fence);
-	unsigned long irq_flags;
-
-	spin_lock_irqsave(&fman->lock, irq_flags);
-	list_del(&eaction->fpriv_head);
-	spin_unlock_irqrestore(&fman->lock, irq_flags);
 
 	vmw_fence_obj_unreference(&eaction->fence);
 	kfree(eaction);
@@ -983,8 +937,6 @@ int vmw_event_fence_action_queue(struct drm_file *file_priv,
 {
 	struct vmw_event_fence_action *eaction;
 	struct vmw_fence_manager *fman = fman_from_fence(fence);
-	struct vmw_fpriv *vmw_fp = vmw_fpriv(file_priv);
-	unsigned long irq_flags;
 
 	eaction = kzalloc(sizeof(*eaction), GFP_KERNEL);
 	if (unlikely(eaction == NULL))
@@ -1001,10 +953,6 @@ int vmw_event_fence_action_queue(struct drm_file *file_priv,
 	eaction->tv_sec = tv_sec;
 	eaction->tv_usec = tv_usec;
 
-	spin_lock_irqsave(&fman->lock, irq_flags);
-	list_add_tail(&eaction->fpriv_head, &vmw_fp->fence_events);
-	spin_unlock_irqrestore(&fman->lock, irq_flags);
-
 	vmw_fence_obj_add_action(fence, &eaction->action);
 
 	return 0;
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_fence.h b/drivers/gpu/drm/vmwgfx/vmwgfx_fence.h
index 8be6c29f5eb5..83ae301ee141 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_fence.h
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_fence.h
@@ -116,8 +116,6 @@ extern int vmw_fence_obj_unref_ioctl(struct drm_device *dev, void *data,
 				     struct drm_file *file_priv);
 extern int vmw_fence_event_ioctl(struct drm_device *dev, void *data,
 				 struct drm_file *file_priv);
-extern void vmw_event_fence_fpriv_gone(struct vmw_fence_manager *fman,
-				       struct list_head *event_list);
 extern int vmw_event_fence_action_queue(struct drm_file *filee_priv,
 					struct vmw_fence_obj *fence,
 					struct drm_pending_event *event,
-- 
2.6.4

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* [PATCH] drm/vmwgfx: Nuke preclose hook
  2016-01-11 21:40 [PATCH 00/22] drm_event cleanup, round 2 Daniel Vetter
                   ` (21 preceding siblings ...)
  2016-01-11 21:41 ` [PATCH 22/22] drm/vmwgfx: " Daniel Vetter
@ 2016-01-11 21:41 ` Daniel Vetter
  2016-01-12  8:30 ` ✗ failure: Fi.CI.BAT Patchwork
  2016-01-25  7:50 ` [PATCH 00/22] drm_event cleanup, round 2 Daniel Vetter
  24 siblings, 0 replies; 120+ messages in thread
From: Daniel Vetter @ 2016-01-11 21:41 UTC (permalink / raw)
  To: DRI Development
  Cc: Daniel Vetter, Intel Graphics Development, Thomas Hellström,
	Daniel Vetter

Again since the drm core takes care of event unlinking/disarming this
is now just needless code.

v2: I've completely missed eaction->fpriv_head and all the related
code. We need to nuke that too to avoid accidentally deferencing the
freed-up vmwgfx-private fpriv.

v3: Also remove vmw_fpriv->fence_events and unused variables I missed.

Cc: Thomas Hellström <thellstrom@vmware.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/vmwgfx/vmwgfx_drv.c   | 11 --------
 drivers/gpu/drm/vmwgfx/vmwgfx_drv.h   |  1 -
 drivers/gpu/drm/vmwgfx/vmwgfx_fence.c | 52 -----------------------------------
 drivers/gpu/drm/vmwgfx/vmwgfx_fence.h |  2 --
 4 files changed, 66 deletions(-)

diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
index c49812b80dd0..c96a2d2d5107 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
@@ -971,15 +971,6 @@ static int vmw_driver_unload(struct drm_device *dev)
 	return 0;
 }
 
-static void vmw_preclose(struct drm_device *dev,
-			 struct drm_file *file_priv)
-{
-	struct vmw_fpriv *vmw_fp = vmw_fpriv(file_priv);
-	struct vmw_private *dev_priv = vmw_priv(dev);
-
-	vmw_event_fence_fpriv_gone(dev_priv->fman, &vmw_fp->fence_events);
-}
-
 static void vmw_postclose(struct drm_device *dev,
 			 struct drm_file *file_priv)
 {
@@ -1010,7 +1001,6 @@ static int vmw_driver_open(struct drm_device *dev, struct drm_file *file_priv)
 	if (unlikely(vmw_fp == NULL))
 		return ret;
 
-	INIT_LIST_HEAD(&vmw_fp->fence_events);
 	vmw_fp->tfile = ttm_object_file_init(dev_priv->tdev, 10);
 	if (unlikely(vmw_fp->tfile == NULL))
 		goto out_no_tfile;
@@ -1500,7 +1490,6 @@ static struct drm_driver driver = {
 	.master_set = vmw_master_set,
 	.master_drop = vmw_master_drop,
 	.open = vmw_driver_open,
-	.preclose = vmw_preclose,
 	.postclose = vmw_postclose,
 	.set_busid = drm_pci_set_busid,
 
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
index 469cdd520615..5cb1b1687cd4 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
@@ -80,7 +80,6 @@
 struct vmw_fpriv {
 	struct drm_master *locked_master;
 	struct ttm_object_file *tfile;
-	struct list_head fence_events;
 	bool gb_aware;
 };
 
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c b/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c
index e0edf149d9d5..ac477863fc07 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c
@@ -71,7 +71,6 @@ struct vmw_user_fence {
  */
 struct vmw_event_fence_action {
 	struct vmw_fence_action action;
-	struct list_head fpriv_head;
 
 	struct drm_pending_event *event;
 	struct vmw_fence_obj *fence;
@@ -808,44 +807,6 @@ int vmw_fence_obj_unref_ioctl(struct drm_device *dev, void *data,
 }
 
 /**
- * vmw_event_fence_fpriv_gone - Remove references to struct drm_file objects
- *
- * @fman: Pointer to a struct vmw_fence_manager
- * @event_list: Pointer to linked list of struct vmw_event_fence_action objects
- * with pointers to a struct drm_file object about to be closed.
- *
- * This function removes all pending fence events with references to a
- * specific struct drm_file object about to be closed. The caller is required
- * to pass a list of all struct vmw_event_fence_action objects with such
- * events attached. This function is typically called before the
- * struct drm_file object's event management is taken down.
- */
-void vmw_event_fence_fpriv_gone(struct vmw_fence_manager *fman,
-				struct list_head *event_list)
-{
-	struct vmw_event_fence_action *eaction;
-	struct drm_pending_event *event;
-	unsigned long irq_flags;
-
-	while (1) {
-		spin_lock_irqsave(&fman->lock, irq_flags);
-		if (list_empty(event_list))
-			goto out_unlock;
-		eaction = list_first_entry(event_list,
-					   struct vmw_event_fence_action,
-					   fpriv_head);
-		list_del_init(&eaction->fpriv_head);
-		event = eaction->event;
-		eaction->event = NULL;
-		spin_unlock_irqrestore(&fman->lock, irq_flags);
-		event->destroy(event);
-	}
-out_unlock:
-	spin_unlock_irqrestore(&fman->lock, irq_flags);
-}
-
-
-/**
  * vmw_event_fence_action_seq_passed
  *
  * @action: The struct vmw_fence_action embedded in a struct
@@ -879,7 +840,6 @@ static void vmw_event_fence_action_seq_passed(struct vmw_fence_action *action)
 		*eaction->tv_usec = tv.tv_usec;
 	}
 
-	list_del_init(&eaction->fpriv_head);
 	eaction->event = NULL;
 	drm_send_event_locked(dev, eaction->event);
 	spin_unlock_irqrestore(&dev->event_lock, irq_flags);
@@ -898,12 +858,6 @@ static void vmw_event_fence_action_cleanup(struct vmw_fence_action *action)
 {
 	struct vmw_event_fence_action *eaction =
 		container_of(action, struct vmw_event_fence_action, action);
-	struct vmw_fence_manager *fman = fman_from_fence(eaction->fence);
-	unsigned long irq_flags;
-
-	spin_lock_irqsave(&fman->lock, irq_flags);
-	list_del(&eaction->fpriv_head);
-	spin_unlock_irqrestore(&fman->lock, irq_flags);
 
 	vmw_fence_obj_unreference(&eaction->fence);
 	kfree(eaction);
@@ -983,8 +937,6 @@ int vmw_event_fence_action_queue(struct drm_file *file_priv,
 {
 	struct vmw_event_fence_action *eaction;
 	struct vmw_fence_manager *fman = fman_from_fence(fence);
-	struct vmw_fpriv *vmw_fp = vmw_fpriv(file_priv);
-	unsigned long irq_flags;
 
 	eaction = kzalloc(sizeof(*eaction), GFP_KERNEL);
 	if (unlikely(eaction == NULL))
@@ -1001,10 +953,6 @@ int vmw_event_fence_action_queue(struct drm_file *file_priv,
 	eaction->tv_sec = tv_sec;
 	eaction->tv_usec = tv_usec;
 
-	spin_lock_irqsave(&fman->lock, irq_flags);
-	list_add_tail(&eaction->fpriv_head, &vmw_fp->fence_events);
-	spin_unlock_irqrestore(&fman->lock, irq_flags);
-
 	vmw_fence_obj_add_action(fence, &eaction->action);
 
 	return 0;
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_fence.h b/drivers/gpu/drm/vmwgfx/vmwgfx_fence.h
index 8be6c29f5eb5..83ae301ee141 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_fence.h
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_fence.h
@@ -116,8 +116,6 @@ extern int vmw_fence_obj_unref_ioctl(struct drm_device *dev, void *data,
 				     struct drm_file *file_priv);
 extern int vmw_fence_event_ioctl(struct drm_device *dev, void *data,
 				 struct drm_file *file_priv);
-extern void vmw_event_fence_fpriv_gone(struct vmw_fence_manager *fman,
-				       struct list_head *event_list);
 extern int vmw_event_fence_action_queue(struct drm_file *filee_priv,
 					struct vmw_fence_obj *fence,
 					struct drm_pending_event *event,
-- 
2.6.4

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

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

* Re: [PATCH 13/22] drm/exynos: Remove event cancelling from postclose
  2016-01-11 21:41 ` [PATCH 13/22] drm/exynos: Remove event cancelling from postclose Daniel Vetter
@ 2016-01-12  6:13   ` Inki Dae
  0 siblings, 0 replies; 120+ messages in thread
From: Inki Dae @ 2016-01-12  6:13 UTC (permalink / raw)
  To: Daniel Vetter, DRI Development; +Cc: Daniel Vetter, Intel Graphics Development

Hi Daniel,

It seems your patch is exactly same as below my one I posted before,
http://www.spinics.net/lists/dri-devel/msg97922.html

Anyway, it's ok if this patch can go to mainline.

Acked-by: Inki Dae <inki.dae@samsung.com>

2016년 01월 12일 06:41에 Daniel Vetter 이(가) 쓴 글:
> The core takes care of this now. And since kfree(NULL) is ok we can
> simplify the function even further now.
> 
> Cc: Inki Dae <inki.dae@samsung.com>
> Acked-by: Daniel Stone <daniels@collabora.com>
> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> ---
>  drivers/gpu/drm/exynos/exynos_drm_drv.c | 14 --------------
>  1 file changed, 14 deletions(-)
> 
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c
> index 9756797a15a5..868ab9f54f17 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_drv.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c
> @@ -335,20 +335,6 @@ static void exynos_drm_preclose(struct drm_device *dev,
>  
>  static void exynos_drm_postclose(struct drm_device *dev, struct drm_file *file)
>  {
> -	struct drm_pending_event *e, *et;
> -	unsigned long flags;
> -
> -	if (!file->driver_priv)
> -		return;
> -
> -	spin_lock_irqsave(&dev->event_lock, flags);
> -	/* Release all events handled by page flip handler but not freed. */
> -	list_for_each_entry_safe(e, et, &file->event_list, link) {
> -		list_del(&e->link);
> -		e->destroy(e);
> -	}
> -	spin_unlock_irqrestore(&dev->event_lock, flags);
> -
>  	kfree(file->driver_priv);
>  	file->driver_priv = NULL;
>  }
> 
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* ✗ failure: Fi.CI.BAT
  2015-12-14 16:23 [PATCH 00/10] drm/i915: Fixes from my attempt at running igt on gen2 ville.syrjala
@ 2016-01-12  7:49 ` Patchwork
  0 siblings, 0 replies; 120+ messages in thread
From: Patchwork @ 2016-01-12  7:49 UTC (permalink / raw)
  To: ville.syrjala; +Cc: intel-gfx

== Summary ==

Built on a90796840c30dac6d9907439bf98d1d08046c49d drm-intel-nightly: 2016y-01m-11d-17h-22m-54s UTC integration manifest

Test gem_storedw_loop:
        Subgroup basic-render:
                pass       -> DMESG-WARN (skl-i5k-2) UNSTABLE
Test kms_pipe_crc_basic:
        Subgroup hang-read-crc-pipe-a:
                pass       -> FAIL       (hsw-gt2)
                pass       -> FAIL       (ivb-t430s)
                pass       -> FAIL       (bdw-ultra)
                pass       -> FAIL       (byt-nuc)
                pass       -> FAIL       (snb-x220t)
                pass       -> FAIL       (snb-dellxps)
                pass       -> FAIL       (hsw-brixbox)
                pass       -> FAIL       (ilk-hp8440p)
        Subgroup hang-read-crc-pipe-b:
                pass       -> FAIL       (hsw-gt2)
                pass       -> FAIL       (ivb-t430s)
                pass       -> FAIL       (byt-nuc)
                pass       -> FAIL       (snb-x220t)
                pass       -> FAIL       (snb-dellxps)
                pass       -> FAIL       (ilk-hp8440p)
        Subgroup hang-read-crc-pipe-c:
                pass       -> DMESG-WARN (bsw-nuc-2)
                pass       -> FAIL       (skl-i5k-2)
                pass       -> FAIL       (hsw-gt2)
                pass       -> FAIL       (skl-i7k-2)
                pass       -> FAIL       (ivb-t430s)
                pass       -> FAIL       (hsw-brixbox)
                pass       -> FAIL       (bdw-nuci7)
        Subgroup nonblocking-crc-pipe-a:
                pass       -> FAIL       (skl-i5k-2)
                pass       -> FAIL       (hsw-gt2)
                pass       -> FAIL       (bdw-ultra)
                pass       -> FAIL       (skl-i7k-2)
                pass       -> FAIL       (byt-nuc)
                pass       -> FAIL       (snb-x220t)
                pass       -> FAIL       (snb-dellxps)
                pass       -> FAIL       (hsw-brixbox)
                pass       -> FAIL       (bdw-nuci7)
                pass       -> FAIL       (ilk-hp8440p)
        Subgroup nonblocking-crc-pipe-a-frame-sequence:
                pass       -> FAIL       (hsw-gt2)
                pass       -> FAIL       (bdw-ultra)
                pass       -> FAIL       (byt-nuc)
                pass       -> FAIL       (snb-x220t)
                pass       -> FAIL       (snb-dellxps)
                pass       -> FAIL       (hsw-brixbox)
                pass       -> FAIL       (bdw-nuci7)
                pass       -> FAIL       (ilk-hp8440p)
        Subgroup nonblocking-crc-pipe-b:
                dmesg-warn -> DMESG-FAIL (snb-x220t)
                dmesg-warn -> DMESG-FAIL (snb-dellxps)
                pass       -> FAIL       (hsw-gt2)
                pass       -> FAIL       (ilk-hp8440p)
        Subgroup nonblocking-crc-pipe-b-frame-sequence:
                pass       -> FAIL       (snb-x220t)
                pass       -> FAIL       (snb-dellxps)
                pass       -> FAIL       (hsw-gt2)
                pass       -> FAIL       (ilk-hp8440p)
        Subgroup nonblocking-crc-pipe-c:
                pass       -> FAIL       (hsw-gt2)
        Subgroup nonblocking-crc-pipe-c-frame-sequence:
                pass       -> FAIL       (bsw-nuc-2)
                pass       -> FAIL       (skl-i5k-2)
                pass       -> FAIL       (hsw-gt2)
                pass       -> FAIL       (skl-i7k-2)
                pass       -> FAIL       (hsw-brixbox)
                pass       -> FAIL       (bdw-nuci7)
        Subgroup read-crc-pipe-a:
                pass       -> FAIL       (hsw-gt2)
                pass       -> FAIL       (ivb-t430s)
                pass       -> FAIL       (bdw-ultra)
                pass       -> FAIL       (skl-i7k-2)
                pass       -> FAIL       (byt-nuc)
                pass       -> FAIL       (snb-x220t)
                pass       -> FAIL       (snb-dellxps)
                pass       -> FAIL       (hsw-brixbox)
                pass       -> FAIL       (bdw-nuci7)
                pass       -> FAIL       (ilk-hp8440p)
        Subgroup read-crc-pipe-a-frame-sequence:
                pass       -> FAIL       (hsw-gt2)
                pass       -> FAIL       (ivb-t430s)
                pass       -> FAIL       (bdw-ultra)
                pass       -> FAIL       (byt-nuc)
                pass       -> FAIL       (snb-x220t)
                pass       -> FAIL       (snb-dellxps)
                pass       -> FAIL       (hsw-brixbox)
                pass       -> FAIL       (bdw-nuci7)
                pass       -> FAIL       (ilk-hp8440p)
        Subgroup read-crc-pipe-b:
                dmesg-warn -> DMESG-FAIL (snb-x220t)
                dmesg-warn -> DMESG-FAIL (snb-dellxps)
                pass       -> FAIL       (hsw-gt2)
                pass       -> FAIL       (ilk-hp8440p)
        Subgroup read-crc-pipe-b-frame-sequence:
                pass       -> FAIL       (snb-x220t)
                pass       -> FAIL       (snb-dellxps)
                pass       -> FAIL       (hsw-gt2)
                pass       -> FAIL       (ilk-hp8440p)
                pass       -> FAIL       (ivb-t430s)
        Subgroup read-crc-pipe-c:
                pass       -> FAIL       (hsw-gt2)
        Subgroup read-crc-pipe-c-frame-sequence:
                dmesg-warn -> FAIL       (bsw-nuc-2)
                pass       -> FAIL       (skl-i5k-2)
                pass       -> FAIL       (hsw-gt2)
                pass       -> FAIL       (skl-i7k-2)
                pass       -> FAIL       (ivb-t430s)
                pass       -> FAIL       (hsw-brixbox)
                pass       -> FAIL       (bdw-nuci7)
        Subgroup suspend-read-crc-pipe-a:
                pass       -> FAIL       (skl-i5k-2)
                pass       -> FAIL       (hsw-gt2)
                pass       -> FAIL       (snb-x220t)
                pass       -> FAIL       (snb-dellxps)
                pass       -> FAIL       (hsw-brixbox)
                pass       -> FAIL       (ilk-hp8440p)
        Subgroup suspend-read-crc-pipe-b:
                dmesg-warn -> DMESG-FAIL (snb-x220t)
                dmesg-warn -> DMESG-FAIL (snb-dellxps)
                dmesg-warn -> DMESG-FAIL (ilk-hp8440p)

bdw-nuci7        total:138  pass:122  dwarn:0   dfail:0   fail:7   skip:9  
bdw-ultra        total:138  pass:126  dwarn:0   dfail:0   fail:6   skip:6  
bsw-nuc-2        total:141  pass:113  dwarn:2   dfail:0   fail:2   skip:24 
byt-nuc          total:141  pass:117  dwarn:3   dfail:0   fail:6   skip:15 
hsw-brixbox      total:141  pass:125  dwarn:0   dfail:0   fail:9   skip:7  
hsw-gt2          total:141  pass:121  dwarn:0   dfail:0   fail:16  skip:4  
ilk-hp8440p      total:141  pass:90   dwarn:2   dfail:1   fail:11  skip:37 
ivb-t430s        total:135  pass:115  dwarn:3   dfail:4   fail:7   skip:6  
skl-i5k-2        total:141  pass:126  dwarn:2   dfail:0   fail:5   skip:8  
skl-i7k-2        total:141  pass:127  dwarn:1   dfail:0   fail:5   skip:8  
snb-dellxps      total:141  pass:113  dwarn:2   dfail:3   fail:9   skip:14 
snb-x220t        total:141  pass:113  dwarn:2   dfail:3   fail:10  skip:13 

Results at /archive/results/CI_IGT_test/Patchwork_1137/

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

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

* ✗ failure: Fi.CI.BAT
  2016-01-11 21:40 [PATCH 00/22] drm_event cleanup, round 2 Daniel Vetter
                   ` (22 preceding siblings ...)
  2016-01-11 21:41 ` [PATCH] " Daniel Vetter
@ 2016-01-12  8:30 ` Patchwork
  2016-01-25  7:50 ` [PATCH 00/22] drm_event cleanup, round 2 Daniel Vetter
  24 siblings, 0 replies; 120+ messages in thread
From: Patchwork @ 2016-01-12  8:30 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: intel-gfx

== Summary ==

HEAD is now at a907968 drm-intel-nightly: 2016y-01m-11d-17h-22m-54s UTC integration manifest
Applying: drm: kerneldoc for drm_fops.c
Repository lacks necessary blobs to fall back on 3-way merge.
Cannot fall back to three-way merge.
Patch failed at 0001 drm: kerneldoc for drm_fops.c

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

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

* Re: [PATCH 14/22] drm/imx: Unconfuse preclose logic
  2016-01-11 21:41 ` [PATCH 14/22] drm/imx: Unconfuse preclose logic Daniel Vetter
@ 2016-01-12  8:57   ` Philipp Zabel
  0 siblings, 0 replies; 120+ messages in thread
From: Philipp Zabel @ 2016-01-12  8:57 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: Daniel Vetter, Intel Graphics Development, DRI Development

Am Montag, den 11.01.2016, 22:41 +0100 schrieb Daniel Vetter:
> So this one is special, since it tries to prevent races when userspace
> crashes simply by disabling the vblank machinery. Well except that imx
> always has vblanks enabled, and the disable_vblank hook actually just
> tries to cancel a pending pageflip. Without any locking whatsoever. Of
> course this is wrong, since it'll result in the hw not actually
> displaying what drm thinks is the current frontbuffer.
> 
> Well since the core takes care of the disappearing DRM fd now. So we
> can nuke all this confused code without ill side-effects.
> 
> Someone else needs to audit the locking for ->newfb and
> ->page_flip_event and fix it up. Common approach is to reuse
> dev->event_lock for this.
> 
> Cc: Sascha Hauer <s.hauer@pengutronix.de>
> Cc: Philipp Zabel <p.zabel@pengutronix.de>
> Acked-by: Daniel Stone <daniels@collabora.com>
> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>

regards
Philipp

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* Re: [PATCH 08/22] drm/gma500: Remove empty preclose hook
  2016-01-11 21:41 ` [PATCH 08/22] drm/gma500: Remove empty preclose hook Daniel Vetter
@ 2016-01-12 10:11   ` Patrik Jakobsson
  0 siblings, 0 replies; 120+ messages in thread
From: Patrik Jakobsson @ 2016-01-12 10:11 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: Daniel Vetter, Intel Graphics Development, DRI Development

On Mon, Jan 11, 2016 at 10:41 PM, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> I'm auditing them all, empty ones just confuse ...
>
> Cc: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
> Acked-by: Daniel Stone <daniels@collabora.com>
> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>

Acked-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>

> ---
>  drivers/gpu/drm/gma500/psb_drv.c | 9 ---------
>  1 file changed, 9 deletions(-)
>
> diff --git a/drivers/gpu/drm/gma500/psb_drv.c b/drivers/gpu/drm/gma500/psb_drv.c
> index 92e7e5795398..4e1c6850520e 100644
> --- a/drivers/gpu/drm/gma500/psb_drv.c
> +++ b/drivers/gpu/drm/gma500/psb_drv.c
> @@ -442,14 +442,6 @@ static long psb_unlocked_ioctl(struct file *filp, unsigned int cmd,
>         /* FIXME: do we need to wrap the other side of this */
>  }
>
> -/*
> - * When a client dies:
> - *    - Check for and clean up flipped page state
> - */
> -static void psb_driver_preclose(struct drm_device *dev, struct drm_file *priv)
> -{
> -}
> -
>  static int psb_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
>  {
>         return drm_get_pci_dev(pdev, ent, &driver);
> @@ -495,7 +487,6 @@ static struct drm_driver driver = {
>         .load = psb_driver_load,
>         .unload = psb_driver_unload,
>         .lastclose = psb_driver_lastclose,
> -       .preclose = psb_driver_preclose,
>         .set_busid = drm_pci_set_busid,
>
>         .num_ioctls = ARRAY_SIZE(psb_ioctls),
> --
> 2.6.4
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH 07/22] drm/armada: Remove NULL open/pre/postclose hooks
  2016-01-11 21:41 ` [PATCH 07/22] drm/armada: Remove NULL open/pre/postclose hooks Daniel Vetter
@ 2016-01-12 11:51   ` Russell King - ARM Linux
  2016-01-12 12:33     ` Daniel Vetter
  0 siblings, 1 reply; 120+ messages in thread
From: Russell King - ARM Linux @ 2016-01-12 11:51 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: Daniel Vetter, Intel Graphics Development, DRI Development

On Mon, Jan 11, 2016 at 10:41:01PM +0100, Daniel Vetter wrote:
> The compiler will do this, but the void hits when grepping all the
> hooks for a subsystem wide audit are slightly annoying. So remove them
> for next time around.

I'll try to remember to queue this after -rc1, though a reminder
after -rc1 would be useful.

Thanks.

-- 
RMK's Patch system: http://www.arm.linux.org.uk/developer/patches/
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH 07/22] drm/armada: Remove NULL open/pre/postclose hooks
  2016-01-12 11:51   ` Russell King - ARM Linux
@ 2016-01-12 12:33     ` Daniel Vetter
  0 siblings, 0 replies; 120+ messages in thread
From: Daniel Vetter @ 2016-01-12 12:33 UTC (permalink / raw)
  To: Russell King - ARM Linux
  Cc: Daniel Vetter, Intel Graphics Development, DRI Development,
	Daniel Vetter

On Tue, Jan 12, 2016 at 11:51:58AM +0000, Russell King - ARM Linux wrote:
> On Mon, Jan 11, 2016 at 10:41:01PM +0100, Daniel Vetter wrote:
> > The compiler will do this, but the void hits when grepping all the
> > hooks for a subsystem wide audit are slightly annoying. So remove them
> > for next time around.
> 
> I'll try to remember to queue this after -rc1, though a reminder
> after -rc1 would be useful.

I've planed to take the entire series in through drm-misc after -rc1,
since at least conceptually it's all the same topic. Would that be ok with
you too?

Thanks, Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* Re: [PATCH 16/22] drm/omap: Nuke close hooks
  2016-01-11 21:41 ` [PATCH 16/22] drm/omap: Nuke close hooks Daniel Vetter
@ 2016-01-12 14:09   ` Tomi Valkeinen
  2016-01-13 11:00   ` Tomi Valkeinen
  2016-01-13 11:05   ` [PATCH] " Daniel Vetter
  2 siblings, 0 replies; 120+ messages in thread
From: Tomi Valkeinen @ 2016-01-12 14:09 UTC (permalink / raw)
  To: Daniel Vetter, DRI Development
  Cc: Daniel Vetter, Intel Graphics Development, Laurent Pinchart


[-- Attachment #1.1: Type: text/plain, Size: 808 bytes --]

On 11/01/16 23:41, Daniel Vetter wrote:
> Again since the core takes care of this we can remove them. While at
> it also remove the postclose hook, it's empty.
> 
> v2: Laurent pointed me at even more code to delete.
> 
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
> Acked-by: Daniel Stone <daniels@collabora.com>
> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> ---
>  drivers/gpu/drm/omapdrm/omap_crtc.c | 13 +-----------
>  drivers/gpu/drm/omapdrm/omap_drv.c  | 41 -------------------------------------
>  drivers/gpu/drm/omapdrm/omap_drv.h  |  1 -
>  3 files changed, 1 insertion(+), 54 deletions(-)

Acked-by: Tomi Valkeinen <tomi.valkeinen@ti.com>

 Tomi


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

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

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

* Re: [PATCH 20/22] drm/tilcdc: Nuke preclose hook
  2016-01-11 21:41 ` [PATCH 20/22] drm/tilcdc: Nuke preclose hook Daniel Vetter
@ 2016-01-12 14:19   ` Tomi Valkeinen
  2016-01-12 15:12     ` Daniel Vetter
  0 siblings, 1 reply; 120+ messages in thread
From: Tomi Valkeinen @ 2016-01-12 14:19 UTC (permalink / raw)
  To: Daniel Vetter, DRI Development
  Cc: Daniel Vetter, Intel Graphics Development, Sarha, Jyri


[-- Attachment #1.1: Type: text/plain, Size: 2045 bytes --]


On 11/01/16 23:41, Daniel Vetter wrote:
> Again since the drm core takes care of event unlinking/disarming this
> is now just needless code.
> 
> v2: Fixup misplaced hunks.
> 
> Cc: Rob Clark <robdclark@gmail.com>
> Acked-by: Daniel Stone <daniels@collabora.com>
> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> (v1)
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> ---
>  drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 20 --------------------
>  drivers/gpu/drm/tilcdc/tilcdc_drv.c  |  8 --------
>  drivers/gpu/drm/tilcdc/tilcdc_drv.h  |  1 -
>  3 files changed, 29 deletions(-)
> 
> diff --git a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
> index 7d07733bdc86..4802da8e6d6f 100644
> --- a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
> +++ b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
> @@ -662,26 +662,6 @@ irqreturn_t tilcdc_crtc_irq(struct drm_crtc *crtc)
>  	return IRQ_HANDLED;
>  }
>  
> -void tilcdc_crtc_cancel_page_flip(struct drm_crtc *crtc, struct drm_file *file)
> -{
> -	struct tilcdc_crtc *tilcdc_crtc = to_tilcdc_crtc(crtc);
> -	struct drm_pending_vblank_event *event;
> -	struct drm_device *dev = crtc->dev;
> -	unsigned long flags;
> -
> -	/* Destroy the pending vertical blanking event associated with the
> -	 * pending page flip, if any, and disable vertical blanking interrupts.
> -	 */
> -	spin_lock_irqsave(&dev->event_lock, flags);
> -	event = tilcdc_crtc->event;
> -	if (event && event->base.file_priv == file) {
> -		tilcdc_crtc->event = NULL;
> -		event->base.destroy(&event->base);
> -		drm_vblank_put(dev, 0);
> -	}
> -	spin_unlock_irqrestore(&dev->event_lock, flags);
> -}
> -

Hmm, looks fine, but when I was comparing the omapdrm change and this
one, I see tilcdc doing drm_vblank_put() in the removed code but omapdrm
doesn't.

The other patches that nuke preclose hooks also contain vblank_put. Will
there be a vblank_put call missing here, or will there be an extra
vblank_put call happening somewhere on omapdrm?

 Tomi


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* Re: [PATCH 20/22] drm/tilcdc: Nuke preclose hook
  2016-01-12 14:19   ` Tomi Valkeinen
@ 2016-01-12 15:12     ` Daniel Vetter
  2016-01-13 11:25       ` Tomi Valkeinen
  0 siblings, 1 reply; 120+ messages in thread
From: Daniel Vetter @ 2016-01-12 15:12 UTC (permalink / raw)
  To: Tomi Valkeinen
  Cc: Daniel Vetter, Intel Graphics Development, Sarha, Jyri,
	DRI Development, Daniel Vetter

On Tue, Jan 12, 2016 at 04:19:39PM +0200, Tomi Valkeinen wrote:
> 
> On 11/01/16 23:41, Daniel Vetter wrote:
> > Again since the drm core takes care of event unlinking/disarming this
> > is now just needless code.
> > 
> > v2: Fixup misplaced hunks.
> > 
> > Cc: Rob Clark <robdclark@gmail.com>
> > Acked-by: Daniel Stone <daniels@collabora.com>
> > Reviewed-by: Alex Deucher <alexander.deucher@amd.com> (v1)
> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> > ---
> >  drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 20 --------------------
> >  drivers/gpu/drm/tilcdc/tilcdc_drv.c  |  8 --------
> >  drivers/gpu/drm/tilcdc/tilcdc_drv.h  |  1 -
> >  3 files changed, 29 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
> > index 7d07733bdc86..4802da8e6d6f 100644
> > --- a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
> > +++ b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
> > @@ -662,26 +662,6 @@ irqreturn_t tilcdc_crtc_irq(struct drm_crtc *crtc)
> >  	return IRQ_HANDLED;
> >  }
> >  
> > -void tilcdc_crtc_cancel_page_flip(struct drm_crtc *crtc, struct drm_file *file)
> > -{
> > -	struct tilcdc_crtc *tilcdc_crtc = to_tilcdc_crtc(crtc);
> > -	struct drm_pending_vblank_event *event;
> > -	struct drm_device *dev = crtc->dev;
> > -	unsigned long flags;
> > -
> > -	/* Destroy the pending vertical blanking event associated with the
> > -	 * pending page flip, if any, and disable vertical blanking interrupts.
> > -	 */
> > -	spin_lock_irqsave(&dev->event_lock, flags);
> > -	event = tilcdc_crtc->event;
> > -	if (event && event->base.file_priv == file) {
> > -		tilcdc_crtc->event = NULL;
> > -		event->base.destroy(&event->base);
> > -		drm_vblank_put(dev, 0);
> > -	}
> > -	spin_unlock_irqrestore(&dev->event_lock, flags);
> > -}
> > -
> 
> Hmm, looks fine, but when I was comparing the omapdrm change and this
> one, I see tilcdc doing drm_vblank_put() in the removed code but omapdrm
> doesn't.
> 
> The other patches that nuke preclose hooks also contain vblank_put. Will
> there be a vblank_put call missing here, or will there be an extra
> vblank_put call happening somewhere on omapdrm?

Different approaches to the same problem:

- omap just unlinks the event from fpriv and still process it normally.
  But then before sending it out it checks whether the fpriv is still
  there or not and either sends it, or deletes the event directly. This
  way the vblank_put is always called from the worker/irq handler as part
  of the event processing.

  This is the same approach I implemented in core with this series.

- tilcdc (and most other drivers) entirely destroy the event in the
  preclose hook, which means they must also release any other resources
  acquired as part of that event. Therefore they have the vblank_put here.
  But the vblank_put is obviously also in the normal event processing
  paths, so with the new approach of only unlinking it we can handle this
  without any special cases in the driver.

I hope this explains what's going on. Since you're about driver maintainer
no. 3 with the same question: Can you pls review the kerneldoc and make
sure it explains this well? I tried to improve it already a bit after
Laurent's/Thomas' questions.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* ✗ failure: Fi.CI.BAT
  2016-01-12 15:28 [PATCH 1/1] drm/i915: Reorder shadow registers on gen8 for faster lookup Mika Kuoppala
@ 2016-01-12 16:20 ` Patchwork
  0 siblings, 0 replies; 120+ messages in thread
From: Patchwork @ 2016-01-12 16:20 UTC (permalink / raw)
  To: Mika Kuoppala; +Cc: intel-gfx

== Summary ==

Built on 37f6c2ae666fbba9eff4355115252b8b0fd43050 drm-intel-nightly: 2016y-01m-12d-14h-25m-44s UTC integration manifest

Test gem_storedw_loop:
        Subgroup basic-render:
                pass       -> DMESG-WARN (skl-i5k-2) UNSTABLE
                dmesg-warn -> PASS       (bdw-nuci7)
                pass       -> DMESG-WARN (bdw-ultra)
Test kms_pipe_crc_basic:
        Subgroup read-crc-pipe-a-frame-sequence:
                dmesg-warn -> PASS       (byt-nuc)
        Subgroup read-crc-pipe-c:
                dmesg-warn -> PASS       (bdw-ultra)

bdw-nuci7        total:138  pass:129  dwarn:0   dfail:0   fail:0   skip:9  
bdw-ultra        total:138  pass:131  dwarn:1   dfail:0   fail:0   skip:6  
bsw-nuc-2        total:141  pass:115  dwarn:2   dfail:0   fail:0   skip:24 
byt-nuc          total:141  pass:123  dwarn:3   dfail:0   fail:0   skip:15 
hsw-brixbox      total:141  pass:134  dwarn:0   dfail:0   fail:0   skip:7  
hsw-xps12        total:138  pass:133  dwarn:1   dfail:0   fail:0   skip:4  
ilk-hp8440p      total:141  pass:101  dwarn:3   dfail:0   fail:0   skip:37 
ivb-t430s        total:135  pass:122  dwarn:3   dfail:4   fail:0   skip:6  
skl-i5k-2        total:141  pass:107  dwarn:26  dfail:0   fail:0   skip:8  
skl-i7k-2        total:141  pass:107  dwarn:26  dfail:0   fail:0   skip:8  
snb-dellxps      total:141  pass:122  dwarn:5   dfail:0   fail:0   skip:14 
snb-x220t        total:141  pass:122  dwarn:5   dfail:0   fail:1   skip:13 

HANGED hsw-gt2 in igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a

Results at /archive/results/CI_IGT_test/Patchwork_1152/

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

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

* Re: ✗ failure:  Fi.CI.BAT
  2016-01-11 12:50   ` Mika Kuoppala
@ 2016-01-12 16:22     ` Daniel Vetter
  2016-01-13  9:16       ` Mika Kuoppala
  2016-01-13  9:20       ` Mika Kuoppala
  0 siblings, 2 replies; 120+ messages in thread
From: Daniel Vetter @ 2016-01-12 16:22 UTC (permalink / raw)
  To: Mika Kuoppala; +Cc: intel-gfx

On Mon, Jan 11, 2016 at 02:50:28PM +0200, Mika Kuoppala wrote:
> Patchwork <patchwork@annarchy.freedesktop.org> writes:
> 
> > == Summary ==
> >
> > Built on ff88655b3a5467bbc3be8c67d3e05ebf182557d3 drm-intel-nightly: 2016y-01m-11d-07h-30m-16s UTC integration manifest
> >
> > Test gem_storedw_loop:
> >         Subgroup basic-render:
> >                 pass       -> DMESG-WARN (skl-i5k-2) UNSTABLE
> >                 dmesg-warn -> PASS       (bdw-ultra)
> > Test kms_flip:
> >         Subgroup basic-flip-vs-dpms:
> >                 dmesg-warn -> PASS       (ilk-hp8440p)
> >         Subgroup basic-flip-vs-modeset:
> >                 pass       -> DMESG-WARN (skl-i5k-2)
> >                 dmesg-warn -> PASS       (bsw-nuc-2)
> >                 pass       -> DMESG-WARN (ilk-hp8440p)
> >                 dmesg-warn -> PASS       (byt-nuc)
> >         Subgroup basic-flip-vs-wf_vblank:
> >                 pass       -> DMESG-WARN (byt-nuc)
> >         Subgroup basic-plain-flip:
> >                 dmesg-warn -> PASS       (bsw-nuc-2)
> >                 dmesg-warn -> PASS       (byt-nuc)
> > Test kms_pipe_crc_basic:
> >         Subgroup nonblocking-crc-pipe-b:
> >                 pass       -> DMESG-WARN (byt-nuc)
> >         Subgroup nonblocking-crc-pipe-c:
> >                 pass       -> DMESG-WARN (bsw-nuc-2)
> >         Subgroup read-crc-pipe-a:
> >                 dmesg-warn -> PASS       (byt-nuc)
> >         Subgroup read-crc-pipe-b:
> >                 dmesg-warn -> PASS       (byt-nuc)
> >         Subgroup read-crc-pipe-b-frame-sequence:
> >                 pass       -> DMESG-WARN (bdw-ultra)
> >                 dmesg-warn -> PASS       (byt-nuc)
> >         Subgroup read-crc-pipe-c:
> >                 dmesg-warn -> PASS       (bsw-nuc-2)
> >         Subgroup read-crc-pipe-c-frame-sequence:
> >                 pass       -> DMESG-WARN (bsw-nuc-2)

But what with all the pass->dmesg-warn changes above? That's considered
BAT failure too, we can't afford to sprinkle warnings all over ... And
it's a bunch of different machines.

> > Test pm_rpm:
> >         Subgroup basic-pci-d3-state:
> >                 dmesg-warn -> PASS       (byt-nuc)
> >
> > bdw-ultra        total:138  pass:130  dwarn:1   dfail:0   fail:1
> > skip:6
> 
> Tomi suspected this as a fluke fail. There was no igt stdout nor stderr
> for this case. We did a rerun and bdw-ultra passed.
> 
> -Mika
> 
> > bsw-nuc-2        total:141  pass:115  dwarn:2   dfail:0   fail:0   skip:24 
> > byt-nuc          total:141  pass:122  dwarn:4   dfail:0   fail:0   skip:15 
> > hsw-brixbox      total:141  pass:134  dwarn:0   dfail:0   fail:0   skip:7  
> > hsw-gt2          total:141  pass:137  dwarn:0   dfail:0   fail:0   skip:4  
> > ilk-hp8440p      total:141  pass:100  dwarn:4   dfail:0   fail:0   skip:37 
> > skl-i5k-2        total:141  pass:130  dwarn:3   dfail:0   fail:0   skip:8  
> > skl-i7k-2        total:141  pass:131  dwarn:2   dfail:0   fail:0   skip:8  
> > snb-dellxps      total:141  pass:122  dwarn:5   dfail:0   fail:0   skip:14 
> > snb-x220t        total:141  pass:122  dwarn:5   dfail:0   fail:1   skip:13 
> >
> > HANGED ivb-t430s in igt@kms_pipe_crc_basic@nonblocking-crc-pipe-b

So is killing a machine ... pretty sure this is new-ish.
-Daniel


> >
> > Results at /archive/results/CI_IGT_test/Patchwork_1116/
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://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
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: ✗ failure: Fi.CI.BAT
  2016-01-11 11:20 ` ✗ failure: Fi.CI.BAT Patchwork
@ 2016-01-12 16:24   ` Daniel Vetter
  0 siblings, 0 replies; 120+ messages in thread
From: Daniel Vetter @ 2016-01-12 16:24 UTC (permalink / raw)
  To: Patchwork; +Cc: Daniel Vetter, intel-gfx

On Mon, Jan 11, 2016 at 11:20:21AM -0000, Patchwork wrote:
> == Summary ==
> 
> HEAD is now at ff88655 drm-intel-nightly: 2016y-01m-11d-07h-30m-16s UTC integration manifest
> Applying: drm: kerneldoc for drm_fops.c
> Repository lacks necessary blobs to fall back on 3-way merge.
> Cannot fall back to three-way merge.
> Patch failed at 0001 drm: kerneldoc for drm_fops.c

Can we please patchwork CI about patch -p1 or maybe even wiggle?
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* ✗ failure: Fi.CI.BAT
  2016-01-06 20:53 [PATCH] drm/i915/guc: Fix a memory leak where guc->execbuf_client is not freed yu.dai
@ 2016-01-13  8:49 ` Patchwork
  0 siblings, 0 replies; 120+ messages in thread
From: Patchwork @ 2016-01-13  8:49 UTC (permalink / raw)
  To: yu.dai; +Cc: intel-gfx

== Summary ==

Built on 06d0112e293dfdea7f796d4085f755898850947b drm-intel-nightly: 2016y-01m-12d-21h-16m-40s UTC integration manifest

Test gem_basic:
        Subgroup create-close:
                pass       -> DMESG-WARN (skl-i5k-2)
Test gem_cpu_reloc:
        Subgroup basic:
                pass       -> DMESG-FAIL (skl-i5k-2)
Test gem_ctx_param_basic:
        Subgroup basic:
                pass       -> DMESG-WARN (skl-i5k-2)
        Subgroup invalid-param-set:
                pass       -> DMESG-WARN (skl-i5k-2)
        Subgroup non-root-set-no-zeromap:
                pass       -> DMESG-WARN (skl-i5k-2)
        Subgroup root-set-no-zeromap-disabled:
                pass       -> DMESG-WARN (skl-i5k-2)
Test gem_mmap:
        Subgroup basic:
                pass       -> DMESG-WARN (skl-i5k-2)
Test gem_mmap_gtt:
        Subgroup basic-read:
                pass       -> DMESG-WARN (skl-i5k-2)
        Subgroup basic-write:
                pass       -> DMESG-WARN (skl-i5k-2)
Test gem_storedw_loop:
        Subgroup basic-render:
                dmesg-warn -> PASS       (bdw-ultra)
Test kms_addfb_basic:
        Subgroup addfb25-modifier-no-flag:
                pass       -> DMESG-WARN (skl-i5k-2)
        Subgroup addfb25-x-tiled-mismatch:
                pass       -> DMESG-WARN (skl-i5k-2)
        Subgroup addfb25-yf-tiled:
                pass       -> DMESG-WARN (skl-i5k-2)
        Subgroup bad-pitch-1024:
                pass       -> DMESG-WARN (skl-i5k-2)
        Subgroup bad-pitch-63:
                pass       -> DMESG-WARN (skl-i5k-2)
        Subgroup bad-pitch-999:
                pass       -> DMESG-WARN (skl-i5k-2)
        Subgroup clobberred-modifier:
                pass       -> DMESG-WARN (skl-i5k-2)
        Subgroup too-high:
                pass       -> DMESG-WARN (skl-i5k-2)
        Subgroup too-wide:
                pass       -> DMESG-WARN (skl-i5k-2)
        Subgroup unused-offsets:
                pass       -> DMESG-WARN (skl-i5k-2)
Test kms_flip:
        Subgroup basic-flip-vs-dpms:
                dmesg-warn -> PASS       (skl-i7k-2)
                dmesg-warn -> PASS       (ilk-hp8440p)
        Subgroup basic-flip-vs-modeset:
                pass       -> DMESG-WARN (ilk-hp8440p)
        Subgroup basic-plain-flip:
                pass       -> DMESG-FAIL (skl-i5k-2)
Test kms_pipe_crc_basic:
        Subgroup nonblocking-crc-pipe-a-frame-sequence:
                pass       -> DMESG-FAIL (skl-i5k-2)
        Subgroup read-crc-pipe-a-frame-sequence:
                fail       -> PASS       (snb-x220t)
        Subgroup read-crc-pipe-b-frame-sequence:
                pass       -> DMESG-FAIL (skl-i5k-2)
Test prime_self_import:
        Subgroup basic-with_two_bos:
                pass       -> DMESG-WARN (skl-i5k-2)

bdw-nuci7        total:138  pass:129  dwarn:0   dfail:0   fail:0   skip:9  
bdw-ultra        total:138  pass:132  dwarn:0   dfail:0   fail:0   skip:6  
bsw-nuc-2        total:141  pass:115  dwarn:2   dfail:0   fail:0   skip:24 
byt-nuc          total:141  pass:123  dwarn:3   dfail:0   fail:0   skip:15 
hsw-brixbox      total:141  pass:134  dwarn:0   dfail:0   fail:0   skip:7  
hsw-gt2          total:141  pass:137  dwarn:0   dfail:0   fail:0   skip:4  
ilk-hp8440p      total:141  pass:100  dwarn:4   dfail:0   fail:0   skip:37 
skl-i5k-2        total:141  pass:108  dwarn:20  dfail:4   fail:0   skip:8  
skl-i7k-2        total:141  pass:131  dwarn:2   dfail:0   fail:0   skip:8  
snb-dellxps      total:141  pass:122  dwarn:5   dfail:0   fail:0   skip:14 
snb-x220t        total:141  pass:122  dwarn:5   dfail:0   fail:1   skip:13 

Results at /archive/results/CI_IGT_test/Patchwork_1158/

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

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

* Re: ✗ failure: Fi.CI.BAT
  2016-01-12 16:22     ` Daniel Vetter
@ 2016-01-13  9:16       ` Mika Kuoppala
  2016-01-13  9:20       ` Mika Kuoppala
  1 sibling, 0 replies; 120+ messages in thread
From: Mika Kuoppala @ 2016-01-13  9:16 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: intel-gfx

Daniel Vetter <daniel@ffwll.ch> writes:

> On Mon, Jan 11, 2016 at 02:50:28PM +0200, Mika Kuoppala wrote:
>> Patchwork <patchwork@annarchy.freedesktop.org> writes:
>> 
>> > == Summary ==
>> >
>> > Built on ff88655b3a5467bbc3be8c67d3e05ebf182557d3 drm-intel-nightly: 2016y-01m-11d-07h-30m-16s UTC integration manifest
>> >
>> > Test gem_storedw_loop:
>> >         Subgroup basic-render:
>> >                 pass       -> DMESG-WARN (skl-i5k-2) UNSTABLE
>> >                 dmesg-warn -> PASS       (bdw-ultra)
>> > Test kms_flip:
>> >         Subgroup basic-flip-vs-dpms:
>> >                 dmesg-warn -> PASS       (ilk-hp8440p)
>> >         Subgroup basic-flip-vs-modeset:
>> >                 pass       -> DMESG-WARN (skl-i5k-2)
>> >                 dmesg-warn -> PASS       (bsw-nuc-2)
>> >                 pass       -> DMESG-WARN (ilk-hp8440p)
>> >                 dmesg-warn -> PASS       (byt-nuc)
>> >         Subgroup basic-flip-vs-wf_vblank:
>> >                 pass       -> DMESG-WARN (byt-nuc)
>> >         Subgroup basic-plain-flip:
>> >                 dmesg-warn -> PASS       (bsw-nuc-2)
>> >                 dmesg-warn -> PASS       (byt-nuc)
>> > Test kms_pipe_crc_basic:
>> >         Subgroup nonblocking-crc-pipe-b:
>> >                 pass       -> DMESG-WARN (byt-nuc)
>> >         Subgroup nonblocking-crc-pipe-c:
>> >                 pass       -> DMESG-WARN (bsw-nuc-2)
>> >         Subgroup read-crc-pipe-a:
>> >                 dmesg-warn -> PASS       (byt-nuc)
>> >         Subgroup read-crc-pipe-b:
>> >                 dmesg-warn -> PASS       (byt-nuc)
>> >         Subgroup read-crc-pipe-b-frame-sequence:
>> >                 pass       -> DMESG-WARN (bdw-ultra)
>> >                 dmesg-warn -> PASS       (byt-nuc)
>> >         Subgroup read-crc-pipe-c:
>> >                 dmesg-warn -> PASS       (bsw-nuc-2)
>> >         Subgroup read-crc-pipe-c-frame-sequence:
>> >                 pass       -> DMESG-WARN (bsw-nuc-2)
>
> But what with all the pass->dmesg-warn changes above? That's considered
> BAT failure too, we can't afford to sprinkle warnings all over ... And
> it's a bunch of different machines.
>
>> > Test pm_rpm:
>> >         Subgroup basic-pci-d3-state:
>> >                 dmesg-warn -> PASS       (byt-nuc)
>> >
>> > bdw-ultra        total:138  pass:130  dwarn:1   dfail:0   fail:1
>> > skip:6
>> 
>> Tomi suspected this as a fluke fail. There was no igt stdout nor stderr
>> for this case. We did a rerun and bdw-ultra passed.
>> 
>> -Mika
>> 
>> > bsw-nuc-2        total:141  pass:115  dwarn:2   dfail:0   fail:0   skip:24 
>> > byt-nuc          total:141  pass:122  dwarn:4   dfail:0   fail:0   skip:15 
>> > hsw-brixbox      total:141  pass:134  dwarn:0   dfail:0   fail:0   skip:7  
>> > hsw-gt2          total:141  pass:137  dwarn:0   dfail:0   fail:0   skip:4  
>> > ilk-hp8440p      total:141  pass:100  dwarn:4   dfail:0   fail:0   skip:37 
>> > skl-i5k-2        total:141  pass:130  dwarn:3   dfail:0   fail:0   skip:8  
>> > skl-i7k-2        total:141  pass:131  dwarn:2   dfail:0   fail:0   skip:8  
>> > snb-dellxps      total:141  pass:122  dwarn:5   dfail:0   fail:0   skip:14 
>> > snb-x220t        total:141  pass:122  dwarn:5   dfail:0   fail:1   skip:13 
>> >
>> > HANGED ivb-t430s in igt@kms_pipe_crc_basic@nonblocking-crc-pipe-b
>
> So is killing a machine ... pretty sure this is new-ish.
> -Daniel
>

I did cover my back with this one. This happened on other sets
on the same day and I went and asked Tomi. He said that don't
worry about it. So I didn't.

-Mika

>
>> >
>> > Results at /archive/results/CI_IGT_test/Patchwork_1116/
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx@lists.freedesktop.org
>> http://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
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: ✗ failure: Fi.CI.BAT
  2016-01-12 16:22     ` Daniel Vetter
  2016-01-13  9:16       ` Mika Kuoppala
@ 2016-01-13  9:20       ` Mika Kuoppala
  2016-01-13  9:39         ` Daniel Vetter
  1 sibling, 1 reply; 120+ messages in thread
From: Mika Kuoppala @ 2016-01-13  9:20 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: intel-gfx

Daniel Vetter <daniel@ffwll.ch> writes:

> On Mon, Jan 11, 2016 at 02:50:28PM +0200, Mika Kuoppala wrote:
>> Patchwork <patchwork@annarchy.freedesktop.org> writes:
>> 
>> > == Summary ==
>> >
>> > Built on ff88655b3a5467bbc3be8c67d3e05ebf182557d3 drm-intel-nightly: 2016y-01m-11d-07h-30m-16s UTC integration manifest
>> >
>> > Test gem_storedw_loop:
>> >         Subgroup basic-render:
>> >                 pass       -> DMESG-WARN (skl-i5k-2) UNSTABLE
>> >                 dmesg-warn -> PASS       (bdw-ultra)
>> > Test kms_flip:
>> >         Subgroup basic-flip-vs-dpms:
>> >                 dmesg-warn -> PASS       (ilk-hp8440p)
>> >         Subgroup basic-flip-vs-modeset:
>> >                 pass       -> DMESG-WARN (skl-i5k-2)
>> >                 dmesg-warn -> PASS       (bsw-nuc-2)
>> >                 pass       -> DMESG-WARN (ilk-hp8440p)
>> >                 dmesg-warn -> PASS       (byt-nuc)
>> >         Subgroup basic-flip-vs-wf_vblank:
>> >                 pass       -> DMESG-WARN (byt-nuc)
>> >         Subgroup basic-plain-flip:
>> >                 dmesg-warn -> PASS       (bsw-nuc-2)
>> >                 dmesg-warn -> PASS       (byt-nuc)
>> > Test kms_pipe_crc_basic:
>> >         Subgroup nonblocking-crc-pipe-b:
>> >                 pass       -> DMESG-WARN (byt-nuc)
>> >         Subgroup nonblocking-crc-pipe-c:
>> >                 pass       -> DMESG-WARN (bsw-nuc-2)
>> >         Subgroup read-crc-pipe-a:
>> >                 dmesg-warn -> PASS       (byt-nuc)
>> >         Subgroup read-crc-pipe-b:
>> >                 dmesg-warn -> PASS       (byt-nuc)
>> >         Subgroup read-crc-pipe-b-frame-sequence:
>> >                 pass       -> DMESG-WARN (bdw-ultra)
>> >                 dmesg-warn -> PASS       (byt-nuc)
>> >         Subgroup read-crc-pipe-c:
>> >                 dmesg-warn -> PASS       (bsw-nuc-2)
>> >         Subgroup read-crc-pipe-c-frame-sequence:
>> >                 pass       -> DMESG-WARN (bsw-nuc-2)
>
> But what with all the pass->dmesg-warn changes above? That's considered
> BAT failure too, we can't afford to sprinkle warnings all over ... And
> it's a bunch of different machines.
>

Forgot to address this one in previous mail. This patchset
added more debug infra and enabled it for bsw/byt. So assumpion
is that it did uncover a real problem thus the warns.

Is the policy that if your debug infra reveals problems,
you need to fix those problems?

If so, there is a chicken and egg problem as you don't
always have access to hardware that your debug infra
will cover.

Thanks,
-Mika


>> > Test pm_rpm:
>> >         Subgroup basic-pci-d3-state:
>> >                 dmesg-warn -> PASS       (byt-nuc)
>> >
>> > bdw-ultra        total:138  pass:130  dwarn:1   dfail:0   fail:1
>> > skip:6
>> 
>> Tomi suspected this as a fluke fail. There was no igt stdout nor stderr
>> for this case. We did a rerun and bdw-ultra passed.
>> 
>> -Mika
>> 
>> > bsw-nuc-2        total:141  pass:115  dwarn:2   dfail:0   fail:0   skip:24 
>> > byt-nuc          total:141  pass:122  dwarn:4   dfail:0   fail:0   skip:15 
>> > hsw-brixbox      total:141  pass:134  dwarn:0   dfail:0   fail:0   skip:7  
>> > hsw-gt2          total:141  pass:137  dwarn:0   dfail:0   fail:0   skip:4  
>> > ilk-hp8440p      total:141  pass:100  dwarn:4   dfail:0   fail:0   skip:37 
>> > skl-i5k-2        total:141  pass:130  dwarn:3   dfail:0   fail:0   skip:8  
>> > skl-i7k-2        total:141  pass:131  dwarn:2   dfail:0   fail:0   skip:8  
>> > snb-dellxps      total:141  pass:122  dwarn:5   dfail:0   fail:0   skip:14 
>> > snb-x220t        total:141  pass:122  dwarn:5   dfail:0   fail:1   skip:13 
>> >
>> > HANGED ivb-t430s in igt@kms_pipe_crc_basic@nonblocking-crc-pipe-b
>
> So is killing a machine ... pretty sure this is new-ish.
> -Daniel
>
>
>> >
>> > Results at /archive/results/CI_IGT_test/Patchwork_1116/
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx@lists.freedesktop.org
>> http://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
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: ✗ failure: Fi.CI.BAT
  2016-01-13  9:20       ` Mika Kuoppala
@ 2016-01-13  9:39         ` Daniel Vetter
  2016-01-13  9:39           ` Daniel Vetter
  0 siblings, 1 reply; 120+ messages in thread
From: Daniel Vetter @ 2016-01-13  9:39 UTC (permalink / raw)
  To: Mika Kuoppala; +Cc: intel-gfx

On Wed, Jan 13, 2016 at 10:20 AM, Mika Kuoppala
<mika.kuoppala@linux.intel.com> wrote:
>> But what with all the pass->dmesg-warn changes above? That's considered
>> BAT failure too, we can't afford to sprinkle warnings all over ... And
>> it's a bunch of different machines.
>>
>
> Forgot to address this one in previous mail. This patchset
> added more debug infra and enabled it for bsw/byt. So assumpion
> is that it did uncover a real problem thus the warns.
>
> Is the policy that if your debug infra reveals problems,
> you need to fix those problems?

We should discuss this in the next meeting (adding Annie/Jesse for
that), but personally I think adding new WARN/ERROR noise should never
result in BAT regressions. If your patch uncovers existing failures
even in BAT then imo the right approach is to first fix up things,
then apply the WARN patch to make sure we don't break things. The
problem is that once you have dmesg noise in a test, then no one will
notice additional noise and regressions. And that's how we got into
our mess last summer.

Also dmesg noise is not really acceptable anyway and needs to be fixed
(Linus/Dave will get grumpy).

If that takes too long because there's lots of warn, then maybe we
need to first add the new sanity check at debug level, just to help
with tracking down issues. We might need to improve CI reporting so
that debug level dmesg is still capture completely for BAT runs.

> If so, there is a chicken and egg problem as you don't
> always have access to hardware that your debug infra
> will cover.

Yeah, we need to enable manual submission to CI-machines. Abusing CI
as a test facility simply means that you're ok with blocking everyone
else with your CI result spam.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: ✗ failure: Fi.CI.BAT
  2016-01-13  9:39         ` Daniel Vetter
@ 2016-01-13  9:39           ` Daniel Vetter
  0 siblings, 0 replies; 120+ messages in thread
From: Daniel Vetter @ 2016-01-13  9:39 UTC (permalink / raw)
  To: Mika Kuoppala, annie.j.matheson, Barnes, Jesse; +Cc: intel-gfx

Argh, actually add Annie/Jesse!
-Daniel

On Wed, Jan 13, 2016 at 10:39 AM, Daniel Vetter <daniel@ffwll.ch> wrote:
> On Wed, Jan 13, 2016 at 10:20 AM, Mika Kuoppala
> <mika.kuoppala@linux.intel.com> wrote:
>>> But what with all the pass->dmesg-warn changes above? That's considered
>>> BAT failure too, we can't afford to sprinkle warnings all over ... And
>>> it's a bunch of different machines.
>>>
>>
>> Forgot to address this one in previous mail. This patchset
>> added more debug infra and enabled it for bsw/byt. So assumpion
>> is that it did uncover a real problem thus the warns.
>>
>> Is the policy that if your debug infra reveals problems,
>> you need to fix those problems?
>
> We should discuss this in the next meeting (adding Annie/Jesse for
> that), but personally I think adding new WARN/ERROR noise should never
> result in BAT regressions. If your patch uncovers existing failures
> even in BAT then imo the right approach is to first fix up things,
> then apply the WARN patch to make sure we don't break things. The
> problem is that once you have dmesg noise in a test, then no one will
> notice additional noise and regressions. And that's how we got into
> our mess last summer.
>
> Also dmesg noise is not really acceptable anyway and needs to be fixed
> (Linus/Dave will get grumpy).
>
> If that takes too long because there's lots of warn, then maybe we
> need to first add the new sanity check at debug level, just to help
> with tracking down issues. We might need to improve CI reporting so
> that debug level dmesg is still capture completely for BAT runs.
>
>> If so, there is a chicken and egg problem as you don't
>> always have access to hardware that your debug infra
>> will cover.
>
> Yeah, we need to enable manual submission to CI-machines. Abusing CI
> as a test facility simply means that you're ok with blocking everyone
> else with your CI result spam.
> -Daniel
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> +41 (0) 79 365 57 48 - http://blog.ffwll.ch



-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH 16/22] drm/omap: Nuke close hooks
  2016-01-11 21:41 ` [PATCH 16/22] drm/omap: Nuke close hooks Daniel Vetter
  2016-01-12 14:09   ` Tomi Valkeinen
@ 2016-01-13 11:00   ` Tomi Valkeinen
  2016-01-13 11:05   ` [PATCH] " Daniel Vetter
  2 siblings, 0 replies; 120+ messages in thread
From: Tomi Valkeinen @ 2016-01-13 11:00 UTC (permalink / raw)
  To: Daniel Vetter, DRI Development
  Cc: Daniel Vetter, Intel Graphics Development, Laurent Pinchart


[-- Attachment #1.1: Type: text/plain, Size: 1135 bytes --]

Hi Daniel,

On 11/01/16 23:41, Daniel Vetter wrote:

> diff --git a/drivers/gpu/drm/omapdrm/omap_drv.c b/drivers/gpu/drm/omapdrm/omap_drv.c
> index dfafdb602ad2..603a65498b40 100644
> --- a/drivers/gpu/drm/omapdrm/omap_drv.c
> +++ b/drivers/gpu/drm/omapdrm/omap_drv.c
> @@ -175,17 +175,6 @@ static int omap_atomic_commit(struct drm_device *dev,
>  	priv->commit.pending |= commit->crtcs;
>  	spin_unlock(&priv->commit.lock);
>  
> -	/* Keep track of all CRTC events to unlink them in preclose(). */
> -	spin_lock_irqsave(&dev->event_lock, flags);
> -	for (i = 0; i < dev->mode_config.num_crtc; ++i) {
> -		struct drm_crtc_state *cstate = state->crtc_states[i];
> -
> -		if (cstate && cstate->event)
> -			list_add_tail(&cstate->event->base.link,
> -				      &priv->commit.events);
> -	}
> -	spin_unlock_irqrestore(&dev->event_lock, flags);
> -
>  	/* Swap the state, this is the point of no return. */
>  	drm_atomic_helper_swap_state(dev, state);

'flags' local needs to be removed from omap_atomic_commit, otherwise:

drivers/gpu/drm/omapdrm/omap_drv.c:145:16: error: unused variable 'flags'

 Tomi


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

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

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

* [PATCH] drm/omap: Nuke close hooks
  2016-01-11 21:41 ` [PATCH 16/22] drm/omap: Nuke close hooks Daniel Vetter
  2016-01-12 14:09   ` Tomi Valkeinen
  2016-01-13 11:00   ` Tomi Valkeinen
@ 2016-01-13 11:05   ` Daniel Vetter
  2016-01-13 23:07     ` Laurent Pinchart
  2 siblings, 1 reply; 120+ messages in thread
From: Daniel Vetter @ 2016-01-13 11:05 UTC (permalink / raw)
  To: Intel Graphics Development, DRI Development
  Cc: Daniel Vetter, Tomi Valkeinen, Laurent Pinchart, Daniel Vetter

Again since the core takes care of this we can remove them. While at
it also remove the postclose hook, it's empty.

v2: Laurent pointed me at even more code to delete.

v3: Remove unused flags (Tomi).

Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/omapdrm/omap_crtc.c | 13 +-----------
 drivers/gpu/drm/omapdrm/omap_drv.c  | 42 -------------------------------------
 drivers/gpu/drm/omapdrm/omap_drv.h  |  1 -
 3 files changed, 1 insertion(+), 55 deletions(-)

diff --git a/drivers/gpu/drm/omapdrm/omap_crtc.c b/drivers/gpu/drm/omapdrm/omap_crtc.c
index 2ed0754ed19e..d38fcbcc43a8 100644
--- a/drivers/gpu/drm/omapdrm/omap_crtc.c
+++ b/drivers/gpu/drm/omapdrm/omap_crtc.c
@@ -269,18 +269,7 @@ static void omap_crtc_complete_page_flip(struct drm_crtc *crtc)
 		return;
 
 	spin_lock_irqsave(&dev->event_lock, flags);
-
-	list_del(&event->base.link);
-
-	/*
-	 * Queue the event for delivery if it's still linked to a file
-	 * handle, otherwise just destroy it.
-	 */
-	if (event->base.file_priv)
-		drm_crtc_send_vblank_event(crtc, event);
-	else
-		event->base.destroy(&event->base);
-
+	drm_crtc_send_vblank_event(crtc, event);
 	spin_unlock_irqrestore(&dev->event_lock, flags);
 }
 
diff --git a/drivers/gpu/drm/omapdrm/omap_drv.c b/drivers/gpu/drm/omapdrm/omap_drv.c
index dfafdb602ad2..33370f42e4d7 100644
--- a/drivers/gpu/drm/omapdrm/omap_drv.c
+++ b/drivers/gpu/drm/omapdrm/omap_drv.c
@@ -142,7 +142,6 @@ static int omap_atomic_commit(struct drm_device *dev,
 {
 	struct omap_drm_private *priv = dev->dev_private;
 	struct omap_atomic_state_commit *commit;
-	unsigned long flags;
 	unsigned int i;
 	int ret;
 
@@ -175,17 +174,6 @@ static int omap_atomic_commit(struct drm_device *dev,
 	priv->commit.pending |= commit->crtcs;
 	spin_unlock(&priv->commit.lock);
 
-	/* Keep track of all CRTC events to unlink them in preclose(). */
-	spin_lock_irqsave(&dev->event_lock, flags);
-	for (i = 0; i < dev->mode_config.num_crtc; ++i) {
-		struct drm_crtc_state *cstate = state->crtc_states[i];
-
-		if (cstate && cstate->event)
-			list_add_tail(&cstate->event->base.link,
-				      &priv->commit.events);
-	}
-	spin_unlock_irqrestore(&dev->event_lock, flags);
-
 	/* Swap the state, this is the point of no return. */
 	drm_atomic_helper_swap_state(dev, state);
 
@@ -673,7 +661,6 @@ static int dev_load(struct drm_device *dev, unsigned long flags)
 	priv->wq = alloc_ordered_workqueue("omapdrm", 0);
 	init_waitqueue_head(&priv->commit.wait);
 	spin_lock_init(&priv->commit.lock);
-	INIT_LIST_HEAD(&priv->commit.events);
 
 	spin_lock_init(&priv->list_lock);
 	INIT_LIST_HEAD(&priv->obj_list);
@@ -787,33 +774,6 @@ static void dev_lastclose(struct drm_device *dev)
 	}
 }
 
-static void dev_preclose(struct drm_device *dev, struct drm_file *file)
-{
-	struct omap_drm_private *priv = dev->dev_private;
-	struct drm_pending_event *event;
-	unsigned long flags;
-
-	DBG("preclose: dev=%p", dev);
-
-	/*
-	 * Unlink all pending CRTC events to make sure they won't be queued up
-	 * by a pending asynchronous commit.
-	 */
-	spin_lock_irqsave(&dev->event_lock, flags);
-	list_for_each_entry(event, &priv->commit.events, link) {
-		if (event->file_priv == file) {
-			file->event_space += event->event->length;
-			event->file_priv = NULL;
-		}
-	}
-	spin_unlock_irqrestore(&dev->event_lock, flags);
-}
-
-static void dev_postclose(struct drm_device *dev, struct drm_file *file)
-{
-	DBG("postclose: dev=%p, file=%p", dev, file);
-}
-
 static const struct vm_operations_struct omap_gem_vm_ops = {
 	.fault = omap_gem_fault,
 	.open = drm_gem_vm_open,
@@ -838,8 +798,6 @@ static struct drm_driver omap_drm_driver = {
 	.unload = dev_unload,
 	.open = dev_open,
 	.lastclose = dev_lastclose,
-	.preclose = dev_preclose,
-	.postclose = dev_postclose,
 	.set_busid = drm_platform_set_busid,
 	.get_vblank_counter = drm_vblank_no_hw_counter,
 	.enable_vblank = omap_irq_enable_vblank,
diff --git a/drivers/gpu/drm/omapdrm/omap_drv.h b/drivers/gpu/drm/omapdrm/omap_drv.h
index 9e0030731c37..c23cbe6fe9e4 100644
--- a/drivers/gpu/drm/omapdrm/omap_drv.h
+++ b/drivers/gpu/drm/omapdrm/omap_drv.h
@@ -106,7 +106,6 @@ struct omap_drm_private {
 
 	/* atomic commit */
 	struct {
-		struct list_head events;
 		wait_queue_head_t wait;
 		u32 pending;
 		spinlock_t lock;	/* Protects commit.pending */
-- 
2.7.0.rc3

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* Re: [PATCH 20/22] drm/tilcdc: Nuke preclose hook
  2016-01-12 15:12     ` Daniel Vetter
@ 2016-01-13 11:25       ` Tomi Valkeinen
  0 siblings, 0 replies; 120+ messages in thread
From: Tomi Valkeinen @ 2016-01-13 11:25 UTC (permalink / raw)
  To: Daniel Vetter
  Cc: Daniel Vetter, Intel Graphics Development, Sarha, Jyri,
	DRI Development, Daniel Vetter


[-- Attachment #1.1: Type: text/plain, Size: 1358 bytes --]


On 12/01/16 17:12, Daniel Vetter wrote:

> Different approaches to the same problem:
> 
> - omap just unlinks the event from fpriv and still process it normally.
>   But then before sending it out it checks whether the fpriv is still
>   there or not and either sends it, or deletes the event directly. This
>   way the vblank_put is always called from the worker/irq handler as part
>   of the event processing.
> 
>   This is the same approach I implemented in core with this series.
> 
> - tilcdc (and most other drivers) entirely destroy the event in the
>   preclose hook, which means they must also release any other resources
>   acquired as part of that event. Therefore they have the vblank_put here.
>   But the vblank_put is obviously also in the normal event processing
>   paths, so with the new approach of only unlinking it we can handle this
>   without any special cases in the driver.
> 
> I hope this explains what's going on. Since you're about driver maintainer
> no. 3 with the same question: Can you pls review the kerneldoc and make
> sure it explains this well? I tried to improve it already a bit after
> Laurent's/Thomas' questions.

Ok, makes sense. I think the kernel doc is fine.

I wasn't able to test tilcdc, as it seems to crash on drm-next at the
moment... Need to debug that first.

 Tomi


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* ✗ failure: Fi.CI.BAT
  2016-01-13 12:52 [PATCH] drm/i915: Fix for reserved space WARN_ON when ring begin fails John.C.Harrison
@ 2016-01-13 13:49 ` Patchwork
  0 siblings, 0 replies; 120+ messages in thread
From: Patchwork @ 2016-01-13 13:49 UTC (permalink / raw)
  To: John.C.Harrison; +Cc: intel-gfx

== Summary ==

Built on 4d09810b01441f9124c072a866f608b748f92f6c drm-intel-nightly: 2016y-01m-13d-12h-32m-08s UTC integration manifest

Test gem_basic:
        Subgroup create-close:
                pass       -> DMESG-WARN (skl-i5k-2)
Test gem_cpu_reloc:
        Subgroup basic:
                pass       -> DMESG-FAIL (skl-i5k-2)
Test gem_ctx_param_basic:
        Subgroup basic:
                pass       -> DMESG-WARN (skl-i5k-2)
        Subgroup invalid-param-set:
                pass       -> DMESG-WARN (skl-i5k-2)
        Subgroup non-root-set-no-zeromap:
                pass       -> DMESG-WARN (skl-i5k-2)
        Subgroup root-set-no-zeromap-disabled:
                pass       -> DMESG-WARN (skl-i5k-2)
Test gem_mmap:
        Subgroup basic:
                pass       -> DMESG-WARN (skl-i5k-2)
Test gem_mmap_gtt:
        Subgroup basic-read:
                pass       -> DMESG-WARN (skl-i5k-2)
        Subgroup basic-write:
                pass       -> DMESG-WARN (skl-i5k-2)
Test gem_storedw_loop:
        Subgroup basic-render:
                pass       -> DMESG-WARN (skl-i5k-2) UNSTABLE
                pass       -> DMESG-WARN (bdw-nuci7)
                pass       -> DMESG-WARN (bdw-ultra)
Test kms_addfb_basic:
        Subgroup addfb25-modifier-no-flag:
                pass       -> DMESG-WARN (skl-i5k-2)
        Subgroup addfb25-x-tiled-mismatch:
                pass       -> DMESG-WARN (skl-i5k-2)
        Subgroup addfb25-yf-tiled:
                pass       -> DMESG-WARN (skl-i5k-2)
        Subgroup bad-pitch-1024:
                pass       -> DMESG-WARN (skl-i5k-2)
        Subgroup bad-pitch-63:
                pass       -> DMESG-WARN (skl-i5k-2)
        Subgroup bad-pitch-999:
                pass       -> DMESG-WARN (skl-i5k-2)
        Subgroup clobberred-modifier:
                pass       -> DMESG-WARN (skl-i5k-2)
        Subgroup too-high:
                pass       -> DMESG-WARN (skl-i5k-2)
        Subgroup too-wide:
                pass       -> DMESG-WARN (skl-i5k-2)
        Subgroup unused-offsets:
                pass       -> DMESG-WARN (skl-i5k-2)
Test kms_flip:
        Subgroup basic-plain-flip:
                pass       -> DMESG-FAIL (skl-i5k-2)
Test kms_pipe_crc_basic:
        Subgroup nonblocking-crc-pipe-a-frame-sequence:
                pass       -> DMESG-FAIL (skl-i5k-2)
        Subgroup read-crc-pipe-b:
                pass       -> DMESG-WARN (ilk-hp8440p)
        Subgroup read-crc-pipe-b-frame-sequence:
                pass       -> DMESG-FAIL (skl-i5k-2)
Test prime_self_import:
        Subgroup basic-with_two_bos:
                pass       -> DMESG-WARN (skl-i5k-2)

bdw-nuci7        total:138  pass:128  dwarn:1   dfail:0   fail:0   skip:9  
bdw-ultra        total:138  pass:131  dwarn:1   dfail:0   fail:0   skip:6  
bsw-nuc-2        total:141  pass:115  dwarn:2   dfail:0   fail:0   skip:24 
hsw-brixbox      total:141  pass:134  dwarn:0   dfail:0   fail:0   skip:7  
hsw-gt2          total:141  pass:137  dwarn:0   dfail:0   fail:0   skip:4  
ilk-hp8440p      total:141  pass:99   dwarn:5   dfail:0   fail:0   skip:37 
ivb-t430s        total:135  pass:122  dwarn:3   dfail:4   fail:0   skip:6  
skl-i5k-2        total:141  pass:107  dwarn:21  dfail:4   fail:0   skip:8  
skl-i7k-2        total:141  pass:131  dwarn:2   dfail:0   fail:0   skip:8  
snb-dellxps      total:141  pass:122  dwarn:5   dfail:0   fail:0   skip:14 
snb-x220t        total:141  pass:122  dwarn:5   dfail:0   fail:1   skip:13 

Results at /archive/results/CI_IGT_test/Patchwork_1165/

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

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

* Re: [PATCH 19/22] drm/tegra: Stop cancelling page flip events
  2016-01-11 21:41 ` [PATCH 19/22] drm/tegra: Stop cancelling page flip events Daniel Vetter
@ 2016-01-13 14:03   ` Thierry Reding
  0 siblings, 0 replies; 120+ messages in thread
From: Thierry Reding @ 2016-01-13 14:03 UTC (permalink / raw)
  To: Daniel Vetter
  Cc: Daniel Vetter, Intel Graphics Development, Terje Bergström,
	DRI Development


[-- Attachment #1.1: Type: text/plain, Size: 627 bytes --]

On Mon, Jan 11, 2016 at 10:41:13PM +0100, Daniel Vetter wrote:
> The core takes care of that now.
> 
> v2: Fixup misplaced hunk.
> 
> Cc: Thierry Reding <thierry.reding@gmail.com>
> Cc: Terje Bergström <tbergstrom@nvidia.com>
> Acked-by: Daniel Stone <daniels@collabora.com>
> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> ---
>  drivers/gpu/drm/tegra/dc.c  | 17 -----------------
>  drivers/gpu/drm/tegra/drm.c |  3 ---
>  drivers/gpu/drm/tegra/drm.h |  1 -
>  3 files changed, 21 deletions(-)

Acked-by: Thierry Reding <treding@nvidia.com>

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* Re: [PATCH 12/22] drm/atmel: Nuke preclose
  2016-01-11 21:41 ` [PATCH 12/22] drm/atmel: Nuke preclose Daniel Vetter
@ 2016-01-13 14:56   ` Boris Brezillon
  0 siblings, 0 replies; 120+ messages in thread
From: Boris Brezillon @ 2016-01-13 14:56 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: Daniel Vetter, Intel Graphics Development, DRI Development

On Mon, 11 Jan 2016 22:41:06 +0100
Daniel Vetter <daniel.vetter@ffwll.ch> wrote:

> The only thing this did was cancle pending flip events, and the core
> takes care of that now.
> 
> Cc: Boris Brezillon <boris.brezillon@free-electrons.com>
> Acked-by: Daniel Stone <daniels@collabora.com>
> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>

Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com>

> ---
>  drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c | 18 ------------------
>  drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c   | 10 ----------
>  drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h   |  3 ---
>  3 files changed, 31 deletions(-)
> 
> diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c
> index 468a14f266a7..9863291a9a54 100644
> --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c
> +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c
> @@ -280,24 +280,6 @@ static void atmel_hlcdc_crtc_destroy(struct drm_crtc *c)
>  	kfree(crtc);
>  }
>  
> -void atmel_hlcdc_crtc_cancel_page_flip(struct drm_crtc *c,
> -				       struct drm_file *file)
> -{
> -	struct atmel_hlcdc_crtc *crtc = drm_crtc_to_atmel_hlcdc_crtc(c);
> -	struct drm_pending_vblank_event *event;
> -	struct drm_device *dev = c->dev;
> -	unsigned long flags;
> -
> -	spin_lock_irqsave(&dev->event_lock, flags);
> -	event = crtc->event;
> -	if (event && event->base.file_priv == file) {
> -		event->base.destroy(&event->base);
> -		drm_vblank_put(dev, crtc->id);
> -		crtc->event = NULL;
> -	}
> -	spin_unlock_irqrestore(&dev->event_lock, flags);
> -}
> -
>  static void atmel_hlcdc_crtc_finish_page_flip(struct atmel_hlcdc_crtc *crtc)
>  {
>  	struct drm_device *dev = crtc->base.dev;
> diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c
> index a45b32ba029e..3d8d16402d07 100644
> --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c
> +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c
> @@ -619,15 +619,6 @@ static void atmel_hlcdc_dc_connector_unplug_all(struct drm_device *dev)
>  	mutex_unlock(&dev->mode_config.mutex);
>  }
>  
> -static void atmel_hlcdc_dc_preclose(struct drm_device *dev,
> -				    struct drm_file *file)
> -{
> -	struct drm_crtc *crtc;
> -
> -	list_for_each_entry(crtc, &dev->mode_config.crtc_list, head)
> -		atmel_hlcdc_crtc_cancel_page_flip(crtc, file);
> -}
> -
>  static void atmel_hlcdc_dc_lastclose(struct drm_device *dev)
>  {
>  	struct atmel_hlcdc_dc *dc = dev->dev_private;
> @@ -698,7 +689,6 @@ static struct drm_driver atmel_hlcdc_dc_driver = {
>  	.driver_features = DRIVER_HAVE_IRQ | DRIVER_GEM |
>  			   DRIVER_MODESET | DRIVER_PRIME |
>  			   DRIVER_ATOMIC,
> -	.preclose = atmel_hlcdc_dc_preclose,
>  	.lastclose = atmel_hlcdc_dc_lastclose,
>  	.irq_handler = atmel_hlcdc_dc_irq_handler,
>  	.irq_preinstall = atmel_hlcdc_dc_irq_uninstall,
> diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h
> index cf6b375bc38d..fed517f297da 100644
> --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h
> +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h
> @@ -152,9 +152,6 @@ int atmel_hlcdc_plane_prepare_disc_area(struct drm_crtc_state *c_state);
>  
>  void atmel_hlcdc_crtc_irq(struct drm_crtc *c);
>  
> -void atmel_hlcdc_crtc_cancel_page_flip(struct drm_crtc *crtc,
> -				       struct drm_file *file);
> -
>  void atmel_hlcdc_crtc_suspend(struct drm_crtc *crtc);
>  void atmel_hlcdc_crtc_resume(struct drm_crtc *crtc);
>  



-- 
Boris Brezillon, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* ✗ failure: Fi.CI.BAT
  2016-01-13 14:35 [PATCH] drm/i915/dp: fall back to 18 bpp when sink capability is unknown Jani Nikula
@ 2016-01-13 15:13 ` Patchwork
  2016-01-13 16:17   ` Daniel Vetter
  0 siblings, 1 reply; 120+ messages in thread
From: Patchwork @ 2016-01-13 15:13 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

== Summary ==

Built on 4d09810b01441f9124c072a866f608b748f92f6c drm-intel-nightly: 2016y-01m-13d-12h-32m-08s UTC integration manifest

Test gem_ctx_basic:
                pass       -> FAIL       (hsw-gt2)
Test gem_storedw_loop:
        Subgroup basic-render:
                dmesg-warn -> PASS       (skl-i7k-2) UNSTABLE
Test kms_pipe_crc_basic:
        Subgroup read-crc-pipe-c:
                pass       -> DMESG-WARN (bdw-ultra)

bdw-nuci7        total:138  pass:129  dwarn:0   dfail:0   fail:0   skip:9  
bdw-ultra        total:138  pass:131  dwarn:1   dfail:0   fail:0   skip:6  
bsw-nuc-2        total:141  pass:115  dwarn:2   dfail:0   fail:0   skip:24 
hsw-brixbox      total:141  pass:134  dwarn:0   dfail:0   fail:0   skip:7  
hsw-gt2          total:141  pass:136  dwarn:0   dfail:0   fail:1   skip:4  
hsw-xps12        total:138  pass:133  dwarn:1   dfail:0   fail:0   skip:4  
ilk-hp8440p      total:141  pass:100  dwarn:4   dfail:0   fail:0   skip:37 
ivb-t430s        total:135  pass:122  dwarn:3   dfail:4   fail:0   skip:6  
skl-i5k-2        total:141  pass:132  dwarn:1   dfail:0   fail:0   skip:8  
skl-i7k-2        total:141  pass:132  dwarn:1   dfail:0   fail:0   skip:8  
snb-dellxps      total:141  pass:122  dwarn:5   dfail:0   fail:0   skip:14 
snb-x220t        total:141  pass:122  dwarn:5   dfail:0   fail:1   skip:13 

Results at /archive/results/CI_IGT_test/Patchwork_1170/

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

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

* Re: ✗ failure:  Fi.CI.BAT
  2016-01-13 15:13 ` ✗ failure: Fi.CI.BAT Patchwork
@ 2016-01-13 16:17   ` Daniel Vetter
  2016-01-13 18:03     ` Chris Wilson
  0 siblings, 1 reply; 120+ messages in thread
From: Daniel Vetter @ 2016-01-13 16:17 UTC (permalink / raw)
  To: Patchwork; +Cc: Jani Nikula, intel-gfx

On Wed, Jan 13, 2016 at 03:13:40PM -0000, Patchwork wrote:
> == Summary ==
> 
> Built on 4d09810b01441f9124c072a866f608b748f92f6c drm-intel-nightly: 2016y-01m-13d-12h-32m-08s UTC integration manifest
> 
> Test gem_ctx_basic:
>                 pass       -> FAIL       (hsw-gt2)

This seems to be a complete fluke. I looked at detailed results and
there's simply no output. Long-term history doesn't show a failure either.

I think we can shrug this one off (for now at least).

> Test gem_storedw_loop:
>         Subgroup basic-render:
>                 dmesg-warn -> PASS       (skl-i7k-2) UNSTABLE
> Test kms_pipe_crc_basic:
>         Subgroup read-crc-pipe-c:
>                 pass       -> DMESG-WARN (bdw-ultra)

https://bugs.freedesktop.org/show_bug.cgi?id=93699

So looks good, I'll apply the patch.
-Daniel

> 
> bdw-nuci7        total:138  pass:129  dwarn:0   dfail:0   fail:0   skip:9  
> bdw-ultra        total:138  pass:131  dwarn:1   dfail:0   fail:0   skip:6  
> bsw-nuc-2        total:141  pass:115  dwarn:2   dfail:0   fail:0   skip:24 
> hsw-brixbox      total:141  pass:134  dwarn:0   dfail:0   fail:0   skip:7  
> hsw-gt2          total:141  pass:136  dwarn:0   dfail:0   fail:1   skip:4  
> hsw-xps12        total:138  pass:133  dwarn:1   dfail:0   fail:0   skip:4  
> ilk-hp8440p      total:141  pass:100  dwarn:4   dfail:0   fail:0   skip:37 
> ivb-t430s        total:135  pass:122  dwarn:3   dfail:4   fail:0   skip:6  
> skl-i5k-2        total:141  pass:132  dwarn:1   dfail:0   fail:0   skip:8  
> skl-i7k-2        total:141  pass:132  dwarn:1   dfail:0   fail:0   skip:8  
> snb-dellxps      total:141  pass:122  dwarn:5   dfail:0   fail:0   skip:14 
> snb-x220t        total:141  pass:122  dwarn:5   dfail:0   fail:1   skip:13 
> 
> Results at /archive/results/CI_IGT_test/Patchwork_1170/
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://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
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: ✗ failure:   Fi.CI.BAT
  2016-01-13 16:17   ` Daniel Vetter
@ 2016-01-13 18:03     ` Chris Wilson
  0 siblings, 0 replies; 120+ messages in thread
From: Chris Wilson @ 2016-01-13 18:03 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: Jani Nikula, intel-gfx

On Wed, Jan 13, 2016 at 05:17:03PM +0100, Daniel Vetter wrote:
> On Wed, Jan 13, 2016 at 03:13:40PM -0000, Patchwork wrote:
> > == Summary ==
> > 
> > Built on 4d09810b01441f9124c072a866f608b748f92f6c drm-intel-nightly: 2016y-01m-13d-12h-32m-08s UTC integration manifest
> > 
> > Test gem_ctx_basic:
> >                 pass       -> FAIL       (hsw-gt2)
> 
> This seems to be a complete fluke. I looked at detailed results and
> there's simply no output. Long-term history doesn't show a failure either.
> 
> I think we can shrug this one off (for now at least).
> 
> > Test gem_storedw_loop:
> >         Subgroup basic-render:
> >                 dmesg-warn -> PASS       (skl-i7k-2) UNSTABLE
> > Test kms_pipe_crc_basic:
> >         Subgroup read-crc-pipe-c:
> >                 pass       -> DMESG-WARN (bdw-ultra)
> 
> https://bugs.freedesktop.org/show_bug.cgi?id=93699
> 
> So looks good, I'll apply the patch.

It still does a blocking context-close when all it need do is keep the
last-context pinned until replaced.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH] drm/omap: Nuke close hooks
  2016-01-13 11:05   ` [PATCH] " Daniel Vetter
@ 2016-01-13 23:07     ` Laurent Pinchart
  0 siblings, 0 replies; 120+ messages in thread
From: Laurent Pinchart @ 2016-01-13 23:07 UTC (permalink / raw)
  To: Daniel Vetter
  Cc: Daniel Vetter, Intel Graphics Development, Tomi Valkeinen,
	DRI Development

Hi Daniel,

Thank you for the patch.

On Wednesday 13 January 2016 12:05:14 Daniel Vetter wrote:
> Again since the core takes care of this we can remove them. While at
> it also remove the postclose hook, it's empty.
> 
> v2: Laurent pointed me at even more code to delete.
> 
> v3: Remove unused flags (Tomi).
> 
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
> Acked-by: Daniel Stone <daniels@collabora.com>
> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  drivers/gpu/drm/omapdrm/omap_crtc.c | 13 +-----------
>  drivers/gpu/drm/omapdrm/omap_drv.c  | 42 ----------------------------------
>  drivers/gpu/drm/omapdrm/omap_drv.h  |  1 -
>  3 files changed, 1 insertion(+), 55 deletions(-)
> 
> diff --git a/drivers/gpu/drm/omapdrm/omap_crtc.c
> b/drivers/gpu/drm/omapdrm/omap_crtc.c index 2ed0754ed19e..d38fcbcc43a8
> 100644
> --- a/drivers/gpu/drm/omapdrm/omap_crtc.c
> +++ b/drivers/gpu/drm/omapdrm/omap_crtc.c
> @@ -269,18 +269,7 @@ static void omap_crtc_complete_page_flip(struct
> drm_crtc *crtc) return;
> 
>  	spin_lock_irqsave(&dev->event_lock, flags);
> -
> -	list_del(&event->base.link);
> -
> -	/*
> -	 * Queue the event for delivery if it's still linked to a file
> -	 * handle, otherwise just destroy it.
> -	 */
> -	if (event->base.file_priv)
> -		drm_crtc_send_vblank_event(crtc, event);
> -	else
> -		event->base.destroy(&event->base);
> -
> +	drm_crtc_send_vblank_event(crtc, event);
>  	spin_unlock_irqrestore(&dev->event_lock, flags);
>  }
> 
> diff --git a/drivers/gpu/drm/omapdrm/omap_drv.c
> b/drivers/gpu/drm/omapdrm/omap_drv.c index dfafdb602ad2..33370f42e4d7
> 100644
> --- a/drivers/gpu/drm/omapdrm/omap_drv.c
> +++ b/drivers/gpu/drm/omapdrm/omap_drv.c
> @@ -142,7 +142,6 @@ static int omap_atomic_commit(struct drm_device *dev,
>  {
>  	struct omap_drm_private *priv = dev->dev_private;
>  	struct omap_atomic_state_commit *commit;
> -	unsigned long flags;
>  	unsigned int i;
>  	int ret;
> 
> @@ -175,17 +174,6 @@ static int omap_atomic_commit(struct drm_device *dev,
>  	priv->commit.pending |= commit->crtcs;
>  	spin_unlock(&priv->commit.lock);
> 
> -	/* Keep track of all CRTC events to unlink them in preclose(). */
> -	spin_lock_irqsave(&dev->event_lock, flags);
> -	for (i = 0; i < dev->mode_config.num_crtc; ++i) {
> -		struct drm_crtc_state *cstate = state->crtc_states[i];
> -
> -		if (cstate && cstate->event)
> -			list_add_tail(&cstate->event->base.link,
> -				      &priv->commit.events);
> -	}
> -	spin_unlock_irqrestore(&dev->event_lock, flags);
> -
>  	/* Swap the state, this is the point of no return. */
>  	drm_atomic_helper_swap_state(dev, state);
> 
> @@ -673,7 +661,6 @@ static int dev_load(struct drm_device *dev, unsigned
> long flags) priv->wq = alloc_ordered_workqueue("omapdrm", 0);
>  	init_waitqueue_head(&priv->commit.wait);
>  	spin_lock_init(&priv->commit.lock);
> -	INIT_LIST_HEAD(&priv->commit.events);
> 
>  	spin_lock_init(&priv->list_lock);
>  	INIT_LIST_HEAD(&priv->obj_list);
> @@ -787,33 +774,6 @@ static void dev_lastclose(struct drm_device *dev)
>  	}
>  }
> 
> -static void dev_preclose(struct drm_device *dev, struct drm_file *file)
> -{
> -	struct omap_drm_private *priv = dev->dev_private;
> -	struct drm_pending_event *event;
> -	unsigned long flags;
> -
> -	DBG("preclose: dev=%p", dev);
> -
> -	/*
> -	 * Unlink all pending CRTC events to make sure they won't be queued up
> -	 * by a pending asynchronous commit.
> -	 */
> -	spin_lock_irqsave(&dev->event_lock, flags);
> -	list_for_each_entry(event, &priv->commit.events, link) {
> -		if (event->file_priv == file) {
> -			file->event_space += event->event->length;
> -			event->file_priv = NULL;
> -		}
> -	}
> -	spin_unlock_irqrestore(&dev->event_lock, flags);
> -}
> -
> -static void dev_postclose(struct drm_device *dev, struct drm_file *file)
> -{
> -	DBG("postclose: dev=%p, file=%p", dev, file);
> -}
> -
>  static const struct vm_operations_struct omap_gem_vm_ops = {
>  	.fault = omap_gem_fault,
>  	.open = drm_gem_vm_open,
> @@ -838,8 +798,6 @@ static struct drm_driver omap_drm_driver = {
>  	.unload = dev_unload,
>  	.open = dev_open,
>  	.lastclose = dev_lastclose,
> -	.preclose = dev_preclose,
> -	.postclose = dev_postclose,
>  	.set_busid = drm_platform_set_busid,
>  	.get_vblank_counter = drm_vblank_no_hw_counter,
>  	.enable_vblank = omap_irq_enable_vblank,
> diff --git a/drivers/gpu/drm/omapdrm/omap_drv.h
> b/drivers/gpu/drm/omapdrm/omap_drv.h index 9e0030731c37..c23cbe6fe9e4
> 100644
> --- a/drivers/gpu/drm/omapdrm/omap_drv.h
> +++ b/drivers/gpu/drm/omapdrm/omap_drv.h
> @@ -106,7 +106,6 @@ struct omap_drm_private {
> 
>  	/* atomic commit */
>  	struct {
> -		struct list_head events;
>  		wait_queue_head_t wait;
>  		u32 pending;
>  		spinlock_t lock;	/* Protects commit.pending */

-- 
Regards,

Laurent Pinchart

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* ✗ failure: Fi.CI.BAT
  2016-01-13 16:19 [PATCH v10] drm/i915: Extend LRC pinning to cover GPU context writeback Nick Hoath
@ 2016-01-14  7:20 ` Patchwork
  2016-01-14 11:31   ` Nick Hoath
  0 siblings, 1 reply; 120+ messages in thread
From: Patchwork @ 2016-01-14  7:20 UTC (permalink / raw)
  To: Nick Hoath; +Cc: intel-gfx

== Summary ==

Built on 058740f8fced6851aeda34f366f5330322cd585f drm-intel-nightly: 2016y-01m-13d-17h-07m-44s UTC integration manifest

Test gem_ctx_basic:
                pass       -> FAIL       (bdw-ultra)
Test gem_ctx_param_basic:
        Subgroup non-root-set:
                pass       -> DMESG-WARN (bsw-nuc-2)
Test kms_flip:
        Subgroup basic-flip-vs-dpms:
                pass       -> SKIP       (bsw-nuc-2)
                dmesg-warn -> PASS       (ilk-hp8440p)

bdw-nuci7        total:138  pass:128  dwarn:1   dfail:0   fail:0   skip:9  
bdw-ultra        total:138  pass:131  dwarn:0   dfail:0   fail:1   skip:6  
bsw-nuc-2        total:141  pass:113  dwarn:3   dfail:0   fail:0   skip:25 
hsw-brixbox      total:141  pass:134  dwarn:0   dfail:0   fail:0   skip:7  
hsw-gt2          total:141  pass:137  dwarn:0   dfail:0   fail:0   skip:4  
ilk-hp8440p      total:141  pass:101  dwarn:3   dfail:0   fail:0   skip:37 
ivb-t430s        total:135  pass:122  dwarn:3   dfail:4   fail:0   skip:6  
skl-i5k-2        total:141  pass:131  dwarn:2   dfail:0   fail:0   skip:8  
skl-i7k-2        total:141  pass:131  dwarn:2   dfail:0   fail:0   skip:8  
snb-dellxps      total:141  pass:122  dwarn:5   dfail:0   fail:0   skip:14 
snb-x220t        total:141  pass:122  dwarn:5   dfail:0   fail:1   skip:13 

Results at /archive/results/CI_IGT_test/Patchwork_1174/

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

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

* ✗ failure: Fi.CI.BAT
  2016-01-13 17:28 [PATCH 00/20] TDR/watchdog support for gen8 Arun Siluvery
@ 2016-01-14  8:30 ` Patchwork
  0 siblings, 0 replies; 120+ messages in thread
From: Patchwork @ 2016-01-14  8:30 UTC (permalink / raw)
  To: Tomas Elf; +Cc: intel-gfx

== Summary ==

HEAD is now at 058740f drm-intel-nightly: 2016y-01m-13d-17h-07m-44s UTC integration manifest
Applying: drm/i915: Make i915_gem_reset_ring_status() public
Applying: drm/i915: Generalise common GPU engine reset request/unrequest code
Applying: drm/i915: TDR / per-engine hang recovery support for gen8.
Using index info to reconstruct a base tree...
M	drivers/gpu/drm/i915/i915_dma.c
M	drivers/gpu/drm/i915/i915_irq.c
M	drivers/gpu/drm/i915/intel_lrc.c
Falling back to patching base and 3-way merge...
Auto-merging drivers/gpu/drm/i915/intel_lrc.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/intel_lrc.c
Auto-merging drivers/gpu/drm/i915/i915_irq.c
Auto-merging drivers/gpu/drm/i915/i915_dma.c
Patch failed at 0003 drm/i915: TDR / per-engine hang recovery support for gen8.

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

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

* ✗ failure: Fi.CI.BAT
  2016-01-14  6:16 [PATCH v14 0/11] Support for creating/using Stolen memory backed objects ankitprasad.r.sharma
@ 2016-01-14 11:20 ` Patchwork
  0 siblings, 0 replies; 120+ messages in thread
From: Patchwork @ 2016-01-14 11:20 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Summary ==

Built on 058740f8fced6851aeda34f366f5330322cd585f drm-intel-nightly: 2016y-01m-13d-17h-07m-44s UTC integration manifest

Test gem_pread:
        Subgroup basic:
                pass       -> FAIL       (snb-dellxps)
Test gem_pwrite:
        Subgroup basic:
                pass       -> FAIL       (snb-dellxps)
Test kms_flip:
        Subgroup basic-flip-vs-dpms:
                dmesg-warn -> PASS       (ilk-hp8440p)

bdw-ultra        total:138  pass:132  dwarn:0   dfail:0   fail:0   skip:6  
bsw-nuc-2        total:141  pass:115  dwarn:2   dfail:0   fail:0   skip:24 
hsw-brixbox      total:141  pass:134  dwarn:0   dfail:0   fail:0   skip:7  
ilk-hp8440p      total:141  pass:101  dwarn:3   dfail:0   fail:0   skip:37 
ivb-t430s        total:135  pass:122  dwarn:3   dfail:4   fail:0   skip:6  
skl-i5k-2        total:141  pass:131  dwarn:2   dfail:0   fail:0   skip:8  
skl-i7k-2        total:141  pass:131  dwarn:2   dfail:0   fail:0   skip:8  
snb-dellxps      total:141  pass:120  dwarn:5   dfail:0   fail:2   skip:14 
snb-x220t        total:141  pass:122  dwarn:5   dfail:0   fail:1   skip:13 

Results at /archive/results/CI_IGT_test/Patchwork_1182/

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

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

* Re: ✗ failure: Fi.CI.BAT
  2016-01-14  7:20 ` ✗ failure: Fi.CI.BAT Patchwork
@ 2016-01-14 11:31   ` Nick Hoath
  2016-01-19  9:08     ` Daniel Vetter
  0 siblings, 1 reply; 120+ messages in thread
From: Nick Hoath @ 2016-01-14 11:31 UTC (permalink / raw)
  To: Patchwork; +Cc: intel-gfx@lists.freedesktop.org

On 14/01/2016 07:20, Patchwork wrote:
> == Summary ==
>
> Built on 058740f8fced6851aeda34f366f5330322cd585f drm-intel-nightly: 2016y-01m-13d-17h-07m-44s UTC integration manifest
>
> Test gem_ctx_basic:
>                  pass       -> FAIL       (bdw-ultra)

Test failed to load - not patch related

> Test gem_ctx_param_basic:
>          Subgroup non-root-set:
>                  pass       -> DMESG-WARN (bsw-nuc-2)

gem driver allocated a poisoned slab - not patch related

> Test kms_flip:
>          Subgroup basic-flip-vs-dpms:
>                  pass       -> SKIP       (bsw-nuc-2)

test reqs not met - not patch related

>                  dmesg-warn -> PASS       (ilk-hp8440p)

warn to PASS

>
> bdw-nuci7        total:138  pass:128  dwarn:1   dfail:0   fail:0   skip:9
> bdw-ultra        total:138  pass:131  dwarn:0   dfail:0   fail:1   skip:6
> bsw-nuc-2        total:141  pass:113  dwarn:3   dfail:0   fail:0   skip:25
> hsw-brixbox      total:141  pass:134  dwarn:0   dfail:0   fail:0   skip:7
> hsw-gt2          total:141  pass:137  dwarn:0   dfail:0   fail:0   skip:4
> ilk-hp8440p      total:141  pass:101  dwarn:3   dfail:0   fail:0   skip:37
> ivb-t430s        total:135  pass:122  dwarn:3   dfail:4   fail:0   skip:6
> skl-i5k-2        total:141  pass:131  dwarn:2   dfail:0   fail:0   skip:8
> skl-i7k-2        total:141  pass:131  dwarn:2   dfail:0   fail:0   skip:8
> snb-dellxps      total:141  pass:122  dwarn:5   dfail:0   fail:0   skip:14
> snb-x220t        total:141  pass:122  dwarn:5   dfail:0   fail:1   skip:13
>
> Results at /archive/results/CI_IGT_test/Patchwork_1174/
>

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

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

* ✗ failure: Fi.CI.BAT
  2016-01-14 10:49 [PATCH] drm/i915: Clear pending reset requests during suspend Arun Siluvery
@ 2016-01-14 12:20 ` Patchwork
  0 siblings, 0 replies; 120+ messages in thread
From: Patchwork @ 2016-01-14 12:20 UTC (permalink / raw)
  To: arun.siluvery; +Cc: intel-gfx

== Summary ==

Built on 058740f8fced6851aeda34f366f5330322cd585f drm-intel-nightly: 2016y-01m-13d-17h-07m-44s UTC integration manifest

Test gem_ctx_basic:
                pass       -> FAIL       (bdw-ultra)

bdw-nuci7        total:138  pass:128  dwarn:1   dfail:0   fail:0   skip:9  
bdw-ultra        total:138  pass:131  dwarn:0   dfail:0   fail:1   skip:6  
bsw-nuc-2        total:141  pass:115  dwarn:2   dfail:0   fail:0   skip:24 
hsw-brixbox      total:141  pass:134  dwarn:0   dfail:0   fail:0   skip:7  
hsw-gt2          total:141  pass:137  dwarn:0   dfail:0   fail:0   skip:4  
ilk-hp8440p      total:141  pass:100  dwarn:4   dfail:0   fail:0   skip:37 
ivb-t430s        total:135  pass:122  dwarn:3   dfail:4   fail:0   skip:6  
skl-i7k-2        total:141  pass:131  dwarn:2   dfail:0   fail:0   skip:8  
snb-dellxps      total:141  pass:122  dwarn:5   dfail:0   fail:0   skip:14 
snb-x220t        total:141  pass:122  dwarn:5   dfail:0   fail:1   skip:13 

Results at /archive/results/CI_IGT_test/Patchwork_1184/

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

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

* ✗ failure: Fi.CI.BAT
  2016-01-14 12:53 [PATCH 1/2] drm/i915: Start WM computation from scratch on ILK-BDW ville.syrjala
@ 2016-01-14 14:20 ` Patchwork
  2016-01-14 14:29   ` Ville Syrjälä
  0 siblings, 1 reply; 120+ messages in thread
From: Patchwork @ 2016-01-14 14:20 UTC (permalink / raw)
  To: ville.syrjala; +Cc: intel-gfx

== Summary ==

Built on 8fb2feecca499d11e104264071ac55e273e23af5 drm-intel-nightly: 2016y-01m-14d-13h-06m-44s UTC integration manifest

Test gem_basic:
        Subgroup create-close:
                pass       -> DMESG-WARN (skl-i7k-2)
Test gem_cpu_reloc:
        Subgroup basic:
                pass       -> DMESG-FAIL (skl-i7k-2)
Test gem_ctx_param_basic:
        Subgroup basic:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup invalid-param-set:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup non-root-set-no-zeromap:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup root-set-no-zeromap-disabled:
                pass       -> DMESG-WARN (skl-i7k-2)
Test gem_mmap:
        Subgroup basic:
                pass       -> DMESG-WARN (skl-i7k-2)
Test gem_mmap_gtt:
        Subgroup basic-read:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup basic-write:
                pass       -> DMESG-WARN (skl-i7k-2)
Test gem_storedw_loop:
        Subgroup basic-render:
                dmesg-warn -> PASS       (skl-i5k-2) UNSTABLE
                dmesg-warn -> PASS       (bdw-nuci7)
                dmesg-warn -> PASS       (skl-i7k-2) UNSTABLE
Test kms_addfb_basic:
        Subgroup addfb25-modifier-no-flag:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup addfb25-x-tiled-mismatch:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup addfb25-yf-tiled:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup bad-pitch-1024:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup bad-pitch-63:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup bad-pitch-999:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup clobberred-modifier:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup too-high:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup too-wide:
                pass       -> DMESG-WARN (skl-i7k-2)
        Subgroup unused-offsets:
                pass       -> DMESG-WARN (skl-i7k-2)
Test kms_flip:
        Subgroup basic-plain-flip:
                pass       -> DMESG-FAIL (skl-i7k-2)
Test kms_pipe_crc_basic:
        Subgroup nonblocking-crc-pipe-a-frame-sequence:
                pass       -> DMESG-FAIL (skl-i7k-2)
        Subgroup read-crc-pipe-b-frame-sequence:
                pass       -> DMESG-FAIL (skl-i7k-2)
Test prime_self_import:
        Subgroup basic-with_two_bos:
                pass       -> DMESG-WARN (skl-i7k-2)

bdw-nuci7        total:138  pass:129  dwarn:0   dfail:0   fail:0   skip:9  
bdw-ultra        total:138  pass:131  dwarn:1   dfail:0   fail:0   skip:6  
bsw-nuc-2        total:141  pass:115  dwarn:2   dfail:0   fail:0   skip:24 
hsw-brixbox      total:141  pass:134  dwarn:0   dfail:0   fail:0   skip:7  
hsw-gt2          total:141  pass:137  dwarn:0   dfail:0   fail:0   skip:4  
ilk-hp8440p      total:141  pass:101  dwarn:3   dfail:0   fail:0   skip:37 
ivb-t430s        total:135  pass:122  dwarn:3   dfail:4   fail:0   skip:6  
skl-i5k-2        total:141  pass:132  dwarn:1   dfail:0   fail:0   skip:8  
skl-i7k-2        total:141  pass:108  dwarn:20  dfail:4   fail:0   skip:8  
snb-dellxps      total:141  pass:122  dwarn:5   dfail:0   fail:0   skip:14 
snb-x220t        total:141  pass:122  dwarn:5   dfail:0   fail:1   skip:13 

Results at /archive/results/CI_IGT_test/Patchwork_1187/

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

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

* Re: ✗ failure: Fi.CI.BAT
  2016-01-14 14:20 ` ✗ failure: Fi.CI.BAT Patchwork
@ 2016-01-14 14:29   ` Ville Syrjälä
  2016-01-19 13:58     ` Daniel Vetter
  0 siblings, 1 reply; 120+ messages in thread
From: Ville Syrjälä @ 2016-01-14 14:29 UTC (permalink / raw)
  To: Patchwork; +Cc: intel-gfx

On Thu, Jan 14, 2016 at 02:20:40PM -0000, Patchwork wrote:
> == Summary ==
> 
> Built on 8fb2feecca499d11e104264071ac55e273e23af5 drm-intel-nightly: 2016y-01m-14d-13h-06m-44s UTC integration manifest
> 
> Test gem_basic:
>         Subgroup create-close:
>                 pass       -> DMESG-WARN (skl-i7k-2)
> Test gem_cpu_reloc:
>         Subgroup basic:
>                 pass       -> DMESG-FAIL (skl-i7k-2)
> Test gem_ctx_param_basic:
>         Subgroup basic:
>                 pass       -> DMESG-WARN (skl-i7k-2)
>         Subgroup invalid-param-set:
>                 pass       -> DMESG-WARN (skl-i7k-2)
>         Subgroup non-root-set-no-zeromap:
>                 pass       -> DMESG-WARN (skl-i7k-2)
>         Subgroup root-set-no-zeromap-disabled:
>                 pass       -> DMESG-WARN (skl-i7k-2)
> Test gem_mmap:
>         Subgroup basic:
>                 pass       -> DMESG-WARN (skl-i7k-2)
> Test gem_mmap_gtt:
>         Subgroup basic-read:
>                 pass       -> DMESG-WARN (skl-i7k-2)
>         Subgroup basic-write:
>                 pass       -> DMESG-WARN (skl-i7k-2)
> Test gem_storedw_loop:
>         Subgroup basic-render:
>                 dmesg-warn -> PASS       (skl-i5k-2) UNSTABLE
>                 dmesg-warn -> PASS       (bdw-nuci7)
>                 dmesg-warn -> PASS       (skl-i7k-2) UNSTABLE
> Test kms_addfb_basic:
>         Subgroup addfb25-modifier-no-flag:
>                 pass       -> DMESG-WARN (skl-i7k-2)
>         Subgroup addfb25-x-tiled-mismatch:
>                 pass       -> DMESG-WARN (skl-i7k-2)
>         Subgroup addfb25-yf-tiled:
>                 pass       -> DMESG-WARN (skl-i7k-2)
>         Subgroup bad-pitch-1024:
>                 pass       -> DMESG-WARN (skl-i7k-2)
>         Subgroup bad-pitch-63:
>                 pass       -> DMESG-WARN (skl-i7k-2)
>         Subgroup bad-pitch-999:
>                 pass       -> DMESG-WARN (skl-i7k-2)
>         Subgroup clobberred-modifier:
>                 pass       -> DMESG-WARN (skl-i7k-2)
>         Subgroup too-high:
>                 pass       -> DMESG-WARN (skl-i7k-2)
>         Subgroup too-wide:
>                 pass       -> DMESG-WARN (skl-i7k-2)
>         Subgroup unused-offsets:
>                 pass       -> DMESG-WARN (skl-i7k-2)
> Test kms_flip:
>         Subgroup basic-plain-flip:
>                 pass       -> DMESG-FAIL (skl-i7k-2)
> Test kms_pipe_crc_basic:
>         Subgroup nonblocking-crc-pipe-a-frame-sequence:
>                 pass       -> DMESG-FAIL (skl-i7k-2)
>         Subgroup read-crc-pipe-b-frame-sequence:
>                 pass       -> DMESG-FAIL (skl-i7k-2)
> Test prime_self_import:
>         Subgroup basic-with_two_bos:
>                 pass       -> DMESG-WARN (skl-i7k-2)

Looks like the GPU died or something on that skl. Can't imagine it being related
to watermark patches.

Unfortunately these didn't cure the recent underrun regressions from
the ilk-ivb machines. So seems like there's something more busted
somewhere.

> 
> bdw-nuci7        total:138  pass:129  dwarn:0   dfail:0   fail:0   skip:9  
> bdw-ultra        total:138  pass:131  dwarn:1   dfail:0   fail:0   skip:6  
> bsw-nuc-2        total:141  pass:115  dwarn:2   dfail:0   fail:0   skip:24 
> hsw-brixbox      total:141  pass:134  dwarn:0   dfail:0   fail:0   skip:7  
> hsw-gt2          total:141  pass:137  dwarn:0   dfail:0   fail:0   skip:4  
> ilk-hp8440p      total:141  pass:101  dwarn:3   dfail:0   fail:0   skip:37 
> ivb-t430s        total:135  pass:122  dwarn:3   dfail:4   fail:0   skip:6  
> skl-i5k-2        total:141  pass:132  dwarn:1   dfail:0   fail:0   skip:8  
> skl-i7k-2        total:141  pass:108  dwarn:20  dfail:4   fail:0   skip:8  
> snb-dellxps      total:141  pass:122  dwarn:5   dfail:0   fail:0   skip:14 
> snb-x220t        total:141  pass:122  dwarn:5   dfail:0   fail:1   skip:13 
> 
> Results at /archive/results/CI_IGT_test/Patchwork_1187/

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

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

* ✗ failure: Fi.CI.BAT
  2016-01-14 13:22 [PATCH 0/8] drm/i915: Some more fb offsets[] prep stuff ville.syrjala
@ 2016-01-14 14:49 ` Patchwork
  2016-01-14 15:00   ` Ville Syrjälä
  0 siblings, 1 reply; 120+ messages in thread
From: Patchwork @ 2016-01-14 14:49 UTC (permalink / raw)
  To: ville.syrjala; +Cc: intel-gfx

== Summary ==

Built on 8fb2feecca499d11e104264071ac55e273e23af5 drm-intel-nightly: 2016y-01m-14d-13h-06m-44s UTC integration manifest

Test gem_ctx_basic:
                pass       -> FAIL       (bdw-ultra)
Test gem_storedw_loop:
        Subgroup basic-render:
                dmesg-warn -> PASS       (bdw-nuci7)
                dmesg-warn -> PASS       (bdw-ultra)

bdw-nuci7        total:138  pass:129  dwarn:0   dfail:0   fail:0   skip:9  
bdw-ultra        total:138  pass:131  dwarn:0   dfail:0   fail:1   skip:6  
bsw-nuc-2        total:141  pass:115  dwarn:2   dfail:0   fail:0   skip:24 
hsw-brixbox      total:141  pass:134  dwarn:0   dfail:0   fail:0   skip:7  
hsw-gt2          total:141  pass:137  dwarn:0   dfail:0   fail:0   skip:4  
ilk-hp8440p      total:141  pass:101  dwarn:3   dfail:0   fail:0   skip:37 
ivb-t430s        total:135  pass:122  dwarn:3   dfail:4   fail:0   skip:6  
skl-i5k-2        total:141  pass:131  dwarn:2   dfail:0   fail:0   skip:8  
snb-dellxps      total:141  pass:122  dwarn:5   dfail:0   fail:0   skip:14 
snb-x220t        total:141  pass:122  dwarn:5   dfail:0   fail:1   skip:13 

Results at /archive/results/CI_IGT_test/Patchwork_1188/

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

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

* Re: ✗ failure: Fi.CI.BAT
  2016-01-14 14:49 ` ✗ failure: Fi.CI.BAT Patchwork
@ 2016-01-14 15:00   ` Ville Syrjälä
  2016-01-15 12:03     ` Chris Wilson
  0 siblings, 1 reply; 120+ messages in thread
From: Ville Syrjälä @ 2016-01-14 15:00 UTC (permalink / raw)
  To: Patchwork; +Cc: intel-gfx

On Thu, Jan 14, 2016 at 02:49:45PM -0000, Patchwork wrote:
> == Summary ==
> 
> Built on 8fb2feecca499d11e104264071ac55e273e23af5 drm-intel-nightly: 2016y-01m-14d-13h-06m-44s UTC integration manifest
> 
> Test gem_ctx_basic:
>                 pass       -> FAIL       (bdw-ultra)

"Returncode -15" and nothing more. Weird.

> Test gem_storedw_loop:
>         Subgroup basic-render:
>                 dmesg-warn -> PASS       (bdw-nuci7)
>                 dmesg-warn -> PASS       (bdw-ultra)
> 
> bdw-nuci7        total:138  pass:129  dwarn:0   dfail:0   fail:0   skip:9  
> bdw-ultra        total:138  pass:131  dwarn:0   dfail:0   fail:1   skip:6  
> bsw-nuc-2        total:141  pass:115  dwarn:2   dfail:0   fail:0   skip:24 
> hsw-brixbox      total:141  pass:134  dwarn:0   dfail:0   fail:0   skip:7  
> hsw-gt2          total:141  pass:137  dwarn:0   dfail:0   fail:0   skip:4  
> ilk-hp8440p      total:141  pass:101  dwarn:3   dfail:0   fail:0   skip:37 
> ivb-t430s        total:135  pass:122  dwarn:3   dfail:4   fail:0   skip:6  
> skl-i5k-2        total:141  pass:131  dwarn:2   dfail:0   fail:0   skip:8  
> snb-dellxps      total:141  pass:122  dwarn:5   dfail:0   fail:0   skip:14 
> snb-x220t        total:141  pass:122  dwarn:5   dfail:0   fail:1   skip:13 
> 
> Results at /archive/results/CI_IGT_test/Patchwork_1188/

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

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

* ✗ failure: Fi.CI.BAT
  2016-01-14 15:02 [PATCH] drm/i915: Decouple execbuf uAPI from internal implementation Tvrtko Ursulin
@ 2016-01-14 15:49 ` Patchwork
  0 siblings, 0 replies; 120+ messages in thread
From: Patchwork @ 2016-01-14 15:49 UTC (permalink / raw)
  To: Tvrtko Ursulin; +Cc: intel-gfx

== Summary ==

Built on 8fb2feecca499d11e104264071ac55e273e23af5 drm-intel-nightly: 2016y-01m-14d-13h-06m-44s UTC integration manifest

Test gem_ctx_basic:
                pass       -> FAIL       (bdw-ultra)
Test gem_storedw_loop:
        Subgroup basic-render:
                dmesg-warn -> PASS       (skl-i5k-2) UNSTABLE
                dmesg-warn -> PASS       (bdw-nuci7)
                dmesg-warn -> PASS       (bdw-ultra)
Test kms_flip:
        Subgroup basic-flip-vs-dpms:
                pass       -> DMESG-WARN (ilk-hp8440p)

bdw-nuci7        total:138  pass:129  dwarn:0   dfail:0   fail:0   skip:9  
bdw-ultra        total:138  pass:131  dwarn:0   dfail:0   fail:1   skip:6  
bsw-nuc-2        total:141  pass:115  dwarn:2   dfail:0   fail:0   skip:24 
hsw-brixbox      total:141  pass:134  dwarn:0   dfail:0   fail:0   skip:7  
hsw-gt2          total:141  pass:137  dwarn:0   dfail:0   fail:0   skip:4  
ilk-hp8440p      total:141  pass:100  dwarn:4   dfail:0   fail:0   skip:37 
ivb-t430s        total:135  pass:122  dwarn:3   dfail:4   fail:0   skip:6  
skl-i5k-2        total:141  pass:132  dwarn:1   dfail:0   fail:0   skip:8  
skl-i7k-2        total:141  pass:131  dwarn:2   dfail:0   fail:0   skip:8  
snb-dellxps      total:141  pass:122  dwarn:5   dfail:0   fail:0   skip:14 
snb-x220t        total:141  pass:122  dwarn:5   dfail:0   fail:1   skip:13 

Results at /archive/results/CI_IGT_test/Patchwork_1189/

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

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

* ✗ failure: Fi.CI.BAT
  2016-01-14 15:12 [PATCH] drm/i915/bios: Fix the sequence size calculations for MIPI seq v3 Jani Nikula
@ 2016-01-14 16:20 ` Patchwork
  0 siblings, 0 replies; 120+ messages in thread
From: Patchwork @ 2016-01-14 16:20 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

== Summary ==

Built on 8fb2feecca499d11e104264071ac55e273e23af5 drm-intel-nightly: 2016y-01m-14d-13h-06m-44s UTC integration manifest

Test gem_storedw_loop:
        Subgroup basic-render:
                dmesg-warn -> PASS       (skl-i5k-2) UNSTABLE
                dmesg-warn -> PASS       (bdw-nuci7)
                dmesg-warn -> PASS       (bdw-ultra)
Test kms_flip:
        Subgroup basic-flip-vs-dpms:
                pass       -> DMESG-WARN (ilk-hp8440p)
Test kms_pipe_crc_basic:
        Subgroup read-crc-pipe-b:
                pass       -> DMESG-WARN (bdw-ultra)

bdw-nuci7        total:138  pass:129  dwarn:0   dfail:0   fail:0   skip:9  
bdw-ultra        total:138  pass:131  dwarn:1   dfail:0   fail:0   skip:6  
bsw-nuc-2        total:141  pass:115  dwarn:2   dfail:0   fail:0   skip:24 
hsw-brixbox      total:141  pass:134  dwarn:0   dfail:0   fail:0   skip:7  
hsw-gt2          total:141  pass:137  dwarn:0   dfail:0   fail:0   skip:4  
ilk-hp8440p      total:141  pass:100  dwarn:4   dfail:0   fail:0   skip:37 
ivb-t430s        total:135  pass:122  dwarn:3   dfail:4   fail:0   skip:6  
skl-i5k-2        total:141  pass:132  dwarn:1   dfail:0   fail:0   skip:8  
snb-dellxps      total:141  pass:122  dwarn:5   dfail:0   fail:0   skip:14 
snb-x220t        total:141  pass:122  dwarn:5   dfail:0   fail:1   skip:13 

HANGED skl-i7k-2 in Patchwork_1190/skl-i7k-2/tests/115.json:igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b Patchwork_1190/skl-i7k-2/tests/116.json:igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c Patchwork_1190/skl-i7k-2/tests/117.json:igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a Patchwork_1190/skl-i7k-2/tests/118.json:igt@gem_ctx_create@basic Patchwork_1190/skl-i7k-2/tests/119.json:igt@gem_ctx_param_basic@invalid-ctx-get Patchwork_1190/skl-i7k-2/tests/120.json:igt@kms_addfb_basic@size-max Patchwork_1190/skl-i7k-2/tests/121.json:igt@kms_addfb_basic@no-handle Patchwork_1190/skl-i7k-2/tests/122.json:igt@kms_pipe_crc_basic@read-crc-pipe-a Patchwork_1190/skl-i7k-2/tests/123.json:igt@kms_pipe_crc_basic@read-crc-pipe-c Patchwork_1190/skl-i7k-2/tests/124.json:igt@kms_pipe_crc_basic@read-crc-pipe-b Patchwork_1190/skl-i7k-2/tests/125.json:igt@kms_addfb_basic@bad-pitch-256 Patchwork_1190/skl-i7k-2/tests/126.json:igt@gem_mmap_gtt@basic-write-gtt Patchwork_1190/skl-i7k-2/tests/127.json:igt@kms_s
 etmode@basic-clone-single-crtc Patchwork_1190/skl-i7k-2/tests/128.json:igt@kms_addfb_basic@addfb25-x-tiled Patchwork_1190/skl-i7k-2/tests/129.json:igt@gem_basic@bad-close Patchwork_1190/skl-i7k-2/tests/130.json:igt@gem_render_linear_blits@basic Patchwork_1190/skl-i7k-2/tests/131.json:igt@gem_mmap_gtt@basic-copy Patchwork_1190/skl-i7k-2/tests/132.json:igt@kms_addfb_basic@small-bo Patchwork_1190/skl-i7k-2/tests/133.json:igt@kms_addfb_basic@basic Patchwork_1190/skl-i7k-2/tests/134.json:igt@kms_flip@basic-flip-vs-modeset Patchwork_1190/skl-i7k-2/tests/135.json:igt@kms_addfb_basic@unused-pitches Patchwork_1190/skl-i7k-2/tests/136.json:igt@kms_addfb_basic@bo-too-small-due-to-tiling Patchwork_1190/skl-i7k-2/tests/137.json:igt@gem_storedw_loop@basic-blt Patchwork_1190/skl-i7k-2/tests/138.json:igt@drv_getparams_basic@basic-eu-total Patchwork_1190/skl-i7k-2/tests/139.json:igt@gem_ctx_param_basic@invalid-ctx-set Patchwork_1190/skl-i7k-2/tests/140.json:igt@kms_pipe_crc_basic@read-crc-pipe-a-fra
 me-sequence

Results at /archive/results/CI_IGT_test/Patchwork_1190/

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

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

* ✗ failure: Fi.CI.BAT
  2016-01-14 15:56 [PATCH v5 1/1] drm/i915/bxt: Check BIOS RC6 setup before enabling RC6 Sagar Arun Kamble
@ 2016-01-14 16:30 ` Patchwork
  0 siblings, 0 replies; 120+ messages in thread
From: Patchwork @ 2016-01-14 16:30 UTC (permalink / raw)
  To: sagar.a.kamble; +Cc: intel-gfx

== Summary ==

HEAD is now at 8fb2fee drm-intel-nightly: 2016y-01m-14d-13h-06m-44s UTC integration manifest
Applying: drm/i915/bxt: Check BIOS RC6 setup before enabling RC6
Using index info to reconstruct a base tree...
M	drivers/gpu/drm/i915/i915_drv.h
M	drivers/gpu/drm/i915/i915_gem_stolen.c
M	drivers/gpu/drm/i915/i915_reg.h
M	drivers/gpu/drm/i915/intel_drv.h
M	drivers/gpu/drm/i915/intel_pm.c
M	drivers/gpu/drm/i915/intel_uncore.c
Falling back to patching base and 3-way merge...
Auto-merging drivers/gpu/drm/i915/intel_uncore.c
Auto-merging drivers/gpu/drm/i915/intel_pm.c
Auto-merging drivers/gpu/drm/i915/intel_drv.h
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/intel_drv.h
Auto-merging drivers/gpu/drm/i915/i915_reg.h
Auto-merging drivers/gpu/drm/i915/i915_gem_stolen.c
Auto-merging drivers/gpu/drm/i915/i915_drv.h
Patch failed at 0001 drm/i915/bxt: Check BIOS RC6 setup before enabling RC6

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

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

* Re: [PATCH 09/22] drm: Clean up pending events in the core
  2016-01-11 21:41 ` [PATCH 09/22] drm: Clean up pending events in the core Daniel Vetter
@ 2016-01-14 18:45   ` Laurent Pinchart
  2016-01-25 14:45   ` [REGRESSION] " Maarten Lankhorst
  1 sibling, 0 replies; 120+ messages in thread
From: Laurent Pinchart @ 2016-01-14 18:45 UTC (permalink / raw)
  To: dri-devel; +Cc: Alex Deucher, Daniel Vetter, Intel Graphics Development

Hi Daniel,

Thank you for the patch.

On Monday 11 January 2016 22:41:03 Daniel Vetter wrote:
> There's really no reason to not do so, instead of replicating this
> for every use-case and every driver. Now we can't just nuke the events,
> since that would still mean that all drm_event users would need to know
> when that has happened, since calling e.g. drm_send_event isn't allowed
> any more. Instead just unlink them from the file, and detect this case
> and handle it appropriately in all functions.
> 
> v2: Adjust existing kerneldoc too.
> 
> v3: Improve wording of the kerneldoc and split out vblank cleanup (Laurent).
> 
> Cc: Alex Deucher <alexander.deucher@amd.com>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> Acked-by: Daniel Stone <daniels@collabora.com>
> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> (v1)
> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
>  drivers/gpu/drm/drm_fops.c | 30 +++++++++++++++++++++++++++++-
>  include/drm/drmP.h         |  2 ++
>  2 files changed, 31 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/drm_fops.c b/drivers/gpu/drm/drm_fops.c
> index d85af1b2a238..109903f5b68a 100644
> --- a/drivers/gpu/drm/drm_fops.c
> +++ b/drivers/gpu/drm/drm_fops.c
> @@ -264,6 +264,7 @@ static int drm_open_helper(struct file *filp, struct
> drm_minor *minor) INIT_LIST_HEAD(&priv->fbs);
>  	mutex_init(&priv->fbs_lock);
>  	INIT_LIST_HEAD(&priv->blobs);
> +	INIT_LIST_HEAD(&priv->pending_event_list);
>  	INIT_LIST_HEAD(&priv->event_list);
>  	init_waitqueue_head(&priv->event_wait);
>  	priv->event_space = 4096; /* set aside 4k for event buffer */
> @@ -366,6 +367,13 @@ static void drm_events_release(struct drm_file
> *file_priv) v->base.destroy(&v->base);
>  		}
> 
> +	/* Unlink pending events */
> +	list_for_each_entry_safe(e, et, &file_priv->pending_event_list,
> +				 pending_link) {
> +		list_del(&e->pending_link);
> +		e->file_priv = NULL;
> +	}
> +
>  	/* Remove unconsumed events */
>  	list_for_each_entry_safe(e, et, &file_priv->event_list, link) {
>  		list_del(&e->link);
> @@ -712,6 +720,7 @@ int drm_event_reserve_init(struct drm_device *dev,
>  	file_priv->event_space -= e->length;
> 
>  	p->event = e;
> +	list_add(&p->pending_link, &file_priv->pending_event_list);
>  	p->file_priv = file_priv;
> 
>  	/* we *could* pass this in as arg, but everyone uses kfree: */
> @@ -736,7 +745,10 @@ void drm_event_cancel_free(struct drm_device *dev,
>  {
>  	unsigned long flags;
>  	spin_lock_irqsave(&dev->event_lock, flags);
> -	p->file_priv->event_space += p->event->length;
> +	if (p->file_priv) {
> +		p->file_priv->event_space += p->event->length;
> +		list_del(&p->pending_link);
> +	}
>  	spin_unlock_irqrestore(&dev->event_lock, flags);
>  	p->destroy(p);
>  }
> @@ -750,11 +762,22 @@ EXPORT_SYMBOL(drm_event_cancel_free);
>   * This function sends the event @e, initialized with
> drm_event_reserve_init(), * to its associated userspace DRM file. Callers
> must already hold * dev->event_lock, see drm_send_event() for the unlocked
> version. + *
> + * Note that the core will take care of unlinking and disarming events when
> the + * corresponding DRM file is closed. Drivers need not worry about
> whether the + * DRM file for this event still exists and can call this
> function upon + * completion of the asynchronous work unconditionally.
>   */
>  void drm_send_event_locked(struct drm_device *dev, struct drm_pending_event
> *e) {
>  	assert_spin_locked(&dev->event_lock);
> 
> +	if (!e->file_priv) {
> +		e->destroy(e);
> +		return;
> +	}
> +
> +	list_del(&e->pending_link);
>  	list_add_tail(&e->link,
>  		      &e->file_priv->event_list);
>  	wake_up_interruptible(&e->file_priv->event_wait);
> @@ -769,6 +792,11 @@ EXPORT_SYMBOL(drm_send_event_locked);
>   * This function sends the event @e, initialized with
> drm_event_reserve_init(), * to its associated userspace DRM file. This
> function acquires dev->event_lock, * see drm_send_event_locked() for
> callers which already hold this lock. + *
> + * Note that the core will take care of unlinking and disarming events when
> the + * corresponding DRM file is closed. Drivers need not worry about
> whether the + * DRM file for this event still exists and can call this
> function upon + * completion of the asynchronous work unconditionally.
>   */
>  void drm_send_event(struct drm_device *dev, struct drm_pending_event *e)
>  {
> diff --git a/include/drm/drmP.h b/include/drm/drmP.h
> index ae73abf5c2cf..3d78a7406d54 100644
> --- a/include/drm/drmP.h
> +++ b/include/drm/drmP.h
> @@ -283,6 +283,7 @@ struct drm_ioctl_desc {
>  struct drm_pending_event {
>  	struct drm_event *event;
>  	struct list_head link;
> +	struct list_head pending_link;
>  	struct drm_file *file_priv;
>  	pid_t pid; /* pid of requester, no guarantee it's valid by the time
>  		      we deliver the event, for tracing only */
> @@ -346,6 +347,7 @@ struct drm_file {
>  	struct list_head blobs;
> 
>  	wait_queue_head_t event_wait;
> +	struct list_head pending_event_list;
>  	struct list_head event_list;
>  	int event_space;

-- 
Regards,

Laurent Pinchart

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

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

* Re: [PATCH 02/22] drm: Add functions to setup/tear down drm_events.
  2016-01-11 21:40 ` [PATCH 02/22] drm: Add functions to setup/tear down drm_events Daniel Vetter
@ 2016-01-14 18:46   ` Laurent Pinchart
  0 siblings, 0 replies; 120+ messages in thread
From: Laurent Pinchart @ 2016-01-14 18:46 UTC (permalink / raw)
  To: dri-devel; +Cc: Daniel Vetter, Intel Graphics Development, Daniel Vetter

Hi Daniel,

Thank you for the patch.

On Monday 11 January 2016 22:40:56 Daniel Vetter wrote:
> An attempt at not spreading out the file_priv->event_space stuff out
> quite so far and wide.  And I think fixes something in ipp_get_event()
> that is broken (or if they are doing something more weird/subtle, then
> breaks it in a fun way).
> 
> Based upon a patch from Rob Clark, rebased and polished.
> 
> v2: Spelling fixes (Alex).
> 
> Cc: Alex Deucher <alexdeucher@gmail.com>
> Acked-by: Daniel Stone <daniels@collabora.com>
> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
> Cc: Rob Clark <robdclark@gmail.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  drivers/gpu/drm/drm_atomic.c | 44 ++++++++---------------------
>  drivers/gpu/drm/drm_crtc.c   | 36 +++++++-----------------
>  drivers/gpu/drm/drm_fops.c   | 67 +++++++++++++++++++++++++++++++++++++++++
>  include/drm/drmP.h           |  7 ++++-
>  4 files changed, 94 insertions(+), 60 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c
> index 3f74193885f1..8fb469c4e4b8 100644
> --- a/drivers/gpu/drm/drm_atomic.c
> +++ b/drivers/gpu/drm/drm_atomic.c
> @@ -1347,44 +1347,23 @@ static struct drm_pending_vblank_event
> *create_vblank_event( struct drm_device *dev, struct drm_file *file_priv,
> uint64_t user_data) {
>  	struct drm_pending_vblank_event *e = NULL;
> -	unsigned long flags;
> -
> -	spin_lock_irqsave(&dev->event_lock, flags);
> -	if (file_priv->event_space < sizeof e->event) {
> -		spin_unlock_irqrestore(&dev->event_lock, flags);
> -		goto out;
> -	}
> -	file_priv->event_space -= sizeof e->event;
> -	spin_unlock_irqrestore(&dev->event_lock, flags);
> +	int ret;
> 
>  	e = kzalloc(sizeof *e, GFP_KERNEL);
> -	if (e == NULL) {
> -		spin_lock_irqsave(&dev->event_lock, flags);
> -		file_priv->event_space += sizeof e->event;
> -		spin_unlock_irqrestore(&dev->event_lock, flags);
> -		goto out;
> -	}
> +	if (!e)
> +		return NULL;
> 
>  	e->event.base.type = DRM_EVENT_FLIP_COMPLETE;
> -	e->event.base.length = sizeof e->event;
> +	e->event.base.length = sizeof(e->event);
>  	e->event.user_data = user_data;
> -	e->base.event = &e->event.base;
> -	e->base.file_priv = file_priv;
> -	e->base.destroy = (void (*) (struct drm_pending_event *)) kfree;
> -
> -out:
> -	return e;
> -}
> 
> -static void destroy_vblank_event(struct drm_device *dev,
> -		struct drm_file *file_priv, struct drm_pending_vblank_event *e)
> -{
> -	unsigned long flags;
> +	ret = drm_event_reserve_init(dev, file_priv, &e->base, &e->event.base);
> +	if (ret) {
> +		kfree(e);
> +		return NULL;
> +	}
> 
> -	spin_lock_irqsave(&dev->event_lock, flags);
> -	file_priv->event_space += sizeof e->event;
> -	spin_unlock_irqrestore(&dev->event_lock, flags);
> -	kfree(e);
> +	return e;
>  }
> 
>  static int atomic_set_prop(struct drm_atomic_state *state,
> @@ -1646,8 +1625,7 @@ out:
>  			if (!crtc_state->event)
>  				continue;
> 
> -			destroy_vblank_event(dev, file_priv,
> -					     crtc_state->event);
> +			drm_event_cancel_free(dev, &crtc_state->event->base);
>  		}
>  	}
> 
> diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
> index 1e75a145834a..60a4184d41b7 100644
> --- a/drivers/gpu/drm/drm_crtc.c
> +++ b/drivers/gpu/drm/drm_crtc.c
> @@ -5264,7 +5264,6 @@ int drm_mode_page_flip_ioctl(struct drm_device *dev,
>  	struct drm_crtc *crtc;
>  	struct drm_framebuffer *fb = NULL;
>  	struct drm_pending_vblank_event *e = NULL;
> -	unsigned long flags;
>  	int ret = -EINVAL;
> 
>  	if (page_flip->flags & ~DRM_MODE_PAGE_FLIP_FLAGS ||
> @@ -5315,41 +5314,26 @@ int drm_mode_page_flip_ioctl(struct drm_device *dev,
> }
> 
>  	if (page_flip->flags & DRM_MODE_PAGE_FLIP_EVENT) {
> -		ret = -ENOMEM;
> -		spin_lock_irqsave(&dev->event_lock, flags);
> -		if (file_priv->event_space < sizeof(e->event)) {
> -			spin_unlock_irqrestore(&dev->event_lock, flags);
> -			goto out;
> -		}
> -		file_priv->event_space -= sizeof(e->event);
> -		spin_unlock_irqrestore(&dev->event_lock, flags);
> -
> -		e = kzalloc(sizeof(*e), GFP_KERNEL);
> -		if (e == NULL) {
> -			spin_lock_irqsave(&dev->event_lock, flags);
> -			file_priv->event_space += sizeof(e->event);
> -			spin_unlock_irqrestore(&dev->event_lock, flags);
> +		e = kzalloc(sizeof *e, GFP_KERNEL);
> +		if (!e) {
> +			ret = -ENOMEM;
>  			goto out;
>  		}
> -
>  		e->event.base.type = DRM_EVENT_FLIP_COMPLETE;
>  		e->event.base.length = sizeof(e->event);
>  		e->event.user_data = page_flip->user_data;
> -		e->base.event = &e->event.base;
> -		e->base.file_priv = file_priv;
> -		e->base.destroy =
> -			(void (*) (struct drm_pending_event *)) kfree;
> +		ret = drm_event_reserve_init(dev, file_priv, &e->base, &e-
>event.base);
> +		if (ret) {
> +			kfree(e);
> +			goto out;
> +		}
>  	}
> 
>  	crtc->primary->old_fb = crtc->primary->fb;
>  	ret = crtc->funcs->page_flip(crtc, fb, e, page_flip->flags);
>  	if (ret) {
> -		if (page_flip->flags & DRM_MODE_PAGE_FLIP_EVENT) {
> -			spin_lock_irqsave(&dev->event_lock, flags);
> -			file_priv->event_space += sizeof(e->event);
> -			spin_unlock_irqrestore(&dev->event_lock, flags);
> -			kfree(e);
> -		}
> +		if (page_flip->flags & DRM_MODE_PAGE_FLIP_EVENT)
> +			drm_event_cancel_free(dev, &e->base);
>  		/* Keep the old fb, don't unref it. */
>  		crtc->primary->old_fb = NULL;
>  	} else {
> diff --git a/drivers/gpu/drm/drm_fops.c b/drivers/gpu/drm/drm_fops.c
> index 73075a1fa380..476408b638e3 100644
> --- a/drivers/gpu/drm/drm_fops.c
> +++ b/drivers/gpu/drm/drm_fops.c
> @@ -672,3 +672,70 @@ unsigned int drm_poll(struct file *filp, struct
> poll_table_struct *wait) return mask;
>  }
>  EXPORT_SYMBOL(drm_poll);
> +
> +/**
> + * drm_event_reserve_init - init a DRM event and reserve space for it
> + * @dev: DRM device
> + * @file_priv: DRM file private data
> + * @p: tracking structure for the pending event
> + * @e: actual event data to deliver to userspace
> + *
> + * This function prepares the passed in event for eventual delivery. If the
> event + * doesn't get delivered (because the IOCTL fails later on, before
> queuing up + * anything) then the even must be cancelled and freed using
> + * drm_event_cancel_free().
> + *
> + * If callers embedded @p into a larger structure it must be allocated with
> + * kmalloc and @p must be the first member element.
> + *
> + * RETURNS:
> + *
> + * 0 on success or a negative error code on failure.
> + */
> +int drm_event_reserve_init(struct drm_device *dev,
> +			   struct drm_file *file_priv,
> +			   struct drm_pending_event *p,
> +			   struct drm_event *e)
> +{
> +	unsigned long flags;
> +	int ret = 0;
> +
> +	spin_lock_irqsave(&dev->event_lock, flags);
> +
> +	if (file_priv->event_space < e->length) {
> +		ret = -ENOMEM;
> +		goto out;
> +	}
> +
> +	file_priv->event_space -= e->length;
> +
> +	p->event = e;
> +	p->file_priv = file_priv;
> +
> +	/* we *could* pass this in as arg, but everyone uses kfree: */
> +	p->destroy = (void (*) (struct drm_pending_event *)) kfree;
> +
> +out:
> +	spin_unlock_irqrestore(&dev->event_lock, flags);
> +	return ret;
> +}
> +EXPORT_SYMBOL(drm_event_reserve_init);
> +
> +/**
> + * drm_event_cancel_free - free a DRM event and release it's space
> + * @dev: DRM device
> + * @p: tracking structure for the pending event
> + *
> + * This function frees the event @p initialized with
> drm_event_reserve_init() + * and releases any allocated space.
> + */
> +void drm_event_cancel_free(struct drm_device *dev,
> +			   struct drm_pending_event *p)
> +{
> +	unsigned long flags;
> +	spin_lock_irqsave(&dev->event_lock, flags);
> +	p->file_priv->event_space += p->event->length;
> +	spin_unlock_irqrestore(&dev->event_lock, flags);
> +	p->destroy(p);
> +}
> +EXPORT_SYMBOL(drm_event_cancel_free);
> diff --git a/include/drm/drmP.h b/include/drm/drmP.h
> index fc9b9ad5b089..ad4d0a31294d 100644
> --- a/include/drm/drmP.h
> +++ b/include/drm/drmP.h
> @@ -925,8 +925,13 @@ ssize_t drm_read(struct file *filp, char __user
> *buffer, size_t count, loff_t *offset);
>  int drm_release(struct inode *inode, struct file *filp);
>  int drm_new_set_master(struct drm_device *dev, struct drm_file *fpriv);
> -
>  unsigned int drm_poll(struct file *filp, struct poll_table_struct *wait);
> +int drm_event_reserve_init(struct drm_device *dev,
> +			   struct drm_file *file_priv,
> +			   struct drm_pending_event *p,
> +			   struct drm_event *e);
> +void drm_event_cancel_free(struct drm_device *dev,
> +			   struct drm_pending_event *p);
> 
>  /* Misc. IOCTL support (drm_ioctl.c) */
>  int drm_noop(struct drm_device *dev, void *data,

-- 
Regards,

Laurent Pinchart

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* Re: [PATCH 05/22] drm: Create drm_send_event helpers
  2016-01-11 21:40 ` [PATCH 05/22] drm: Create drm_send_event helpers Daniel Vetter
@ 2016-01-14 18:46   ` Laurent Pinchart
  0 siblings, 0 replies; 120+ messages in thread
From: Laurent Pinchart @ 2016-01-14 18:46 UTC (permalink / raw)
  To: dri-devel
  Cc: Alex Deucher, Daniel Vetter, Intel Graphics Development,
	Thomas Hellstrom

Hi Daniel,

Thank you for the patch.

On Monday 11 January 2016 22:40:59 Daniel Vetter wrote:
> Use them in the core vblank code and exynos/vmwgfx drivers.
> 
> Note that the difference between wake_up_all and _interruptible in
> vmwgfx doesn't matter since the only waiter is the core code in
> drm_fops.c. And that is interruptible.
> 
> v2: Adjust existing kerneldoc too.
> 
> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> (v1)
> Acked-by: Daniel Stone <daniels@collabora.com>
> Cc: Alex Deucher <alexander.deucher@amd.com>
> Cc: Thomas Hellstrom <thellstrom@vmware.com>
> Cc: Inki Dae <inki.dae@samsung.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  drivers/gpu/drm/drm_fops.c              | 42 +++++++++++++++++++++++++++++-
>  drivers/gpu/drm/drm_irq.c               |  7 ++----
>  drivers/gpu/drm/exynos/exynos_drm_g2d.c |  5 +---
>  drivers/gpu/drm/exynos/exynos_drm_ipp.c |  5 +---
>  drivers/gpu/drm/vmwgfx/vmwgfx_fence.c   |  3 +--
>  include/drm/drmP.h                      |  2 ++
>  6 files changed, 48 insertions(+), 16 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_fops.c b/drivers/gpu/drm/drm_fops.c
> index 476408b638e3..d85af1b2a238 100644
> --- a/drivers/gpu/drm/drm_fops.c
> +++ b/drivers/gpu/drm/drm_fops.c
> @@ -683,7 +683,9 @@ EXPORT_SYMBOL(drm_poll);
>   * This function prepares the passed in event for eventual delivery. If the
> event * doesn't get delivered (because the IOCTL fails later on, before
> queuing up * anything) then the even must be cancelled and freed using
> - * drm_event_cancel_free().
> + * drm_event_cancel_free(). Successfully initialized events should be sent
> out + * using drm_send_event() or drm_send_event_locked() to signal
> completion of the + * asynchronous event to userspace.
>   *
>   * If callers embedded @p into a larger structure it must be allocated with
> * kmalloc and @p must be the first member element.
> @@ -739,3 +741,41 @@ void drm_event_cancel_free(struct drm_device *dev,
>  	p->destroy(p);
>  }
>  EXPORT_SYMBOL(drm_event_cancel_free);
> +
> +/**
> + * drm_send_event_locked - send DRM event to file descriptor
> + * @dev: DRM device
> + * @e: DRM event to deliver
> + *
> + * This function sends the event @e, initialized with
> drm_event_reserve_init(), + * to its associated userspace DRM file. Callers
> must already hold + * dev->event_lock, see drm_send_event() for the
> unlocked version. + */
> +void drm_send_event_locked(struct drm_device *dev, struct drm_pending_event
> *e) +{
> +	assert_spin_locked(&dev->event_lock);
> +
> +	list_add_tail(&e->link,
> +		      &e->file_priv->event_list);
> +	wake_up_interruptible(&e->file_priv->event_wait);
> +}
> +EXPORT_SYMBOL(drm_send_event_locked);
> +
> +/**
> + * drm_send_event - send DRM event to file descriptor
> + * @dev: DRM device
> + * @e: DRM event to deliver
> + *
> + * This function sends the event @e, initialized with
> drm_event_reserve_init(), + * to its associated userspace DRM file. This
> function acquires dev->event_lock, + * see drm_send_event_locked() for
> callers which already hold this lock. + */
> +void drm_send_event(struct drm_device *dev, struct drm_pending_event *e)
> +{
> +	unsigned long irqflags;
> +
> +	spin_lock_irqsave(&dev->event_lock, irqflags);
> +	drm_send_event_locked(dev, e);
> +	spin_unlock_irqrestore(&dev->event_lock, irqflags);
> +}
> +EXPORT_SYMBOL(drm_send_event);
> diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
> index a70b29909974..3fe8dbff6058 100644
> --- a/drivers/gpu/drm/drm_irq.c
> +++ b/drivers/gpu/drm/drm_irq.c
> @@ -983,15 +983,12 @@ static void send_vblank_event(struct drm_device *dev,
>  		struct drm_pending_vblank_event *e,
>  		unsigned long seq, struct timeval *now)
>  {
> -	assert_spin_locked(&dev->event_lock);
> -
>  	e->event.sequence = seq;
>  	e->event.tv_sec = now->tv_sec;
>  	e->event.tv_usec = now->tv_usec;
> 
> -	list_add_tail(&e->base.link,
> -		      &e->base.file_priv->event_list);
> -	wake_up_interruptible(&e->base.file_priv->event_wait);
> +	drm_send_event_locked(dev, &e->base);
> +
>  	trace_drm_vblank_event_delivered(e->base.pid, e->pipe,
>  					 e->event.sequence);
>  }
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_g2d.c
> b/drivers/gpu/drm/exynos/exynos_drm_g2d.c index 82e7f95dfed9..db56c8259f18
> 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_g2d.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_g2d.c
> @@ -893,10 +893,7 @@ static void g2d_finish_event(struct g2d_data *g2d, u32
> cmdlist_no) e->event.tv_usec = now.tv_usec;
>  	e->event.cmdlist_no = cmdlist_no;
> 
> -	spin_lock_irqsave(&drm_dev->event_lock, flags);
> -	list_move_tail(&e->base.link, &e->base.file_priv->event_list);
> -	wake_up_interruptible(&e->base.file_priv->event_wait);
> -	spin_unlock_irqrestore(&drm_dev->event_lock, flags);
> +	drm_send_event(dev, &e->base);
>  }
> 
>  static irqreturn_t g2d_irq_handler(int irq, void *dev_id)
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_ipp.c
> b/drivers/gpu/drm/exynos/exynos_drm_ipp.c index c8819c05e2dd..1f6a6c1881d6
> 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_ipp.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_ipp.c
> @@ -1520,10 +1520,7 @@ static int ipp_send_event(struct exynos_drm_ippdrv
> *ippdrv, for_each_ipp_ops(i)
>  		e->event.buf_id[i] = tbuf_id[i];
> 
> -	spin_lock_irqsave(&drm_dev->event_lock, flags);
> -	list_move_tail(&e->base.link, &e->base.file_priv->event_list);
> -	wake_up_interruptible(&e->base.file_priv->event_wait);
> -	spin_unlock_irqrestore(&drm_dev->event_lock, flags);
> +	drm_send_event(dev, &e->base);
>  	mutex_unlock(&c_node->event_lock);
> 
>  	DRM_DEBUG_KMS("done cmd[%d]prop_id[%d]buf_id[%d]\n",
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c
> b/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c index eda93bf52a6e..e0edf149d9d5
> 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c
> @@ -880,9 +880,8 @@ static void vmw_event_fence_action_seq_passed(struct
> vmw_fence_action *action) }
> 
>  	list_del_init(&eaction->fpriv_head);
> -	list_add_tail(&eaction->event->link, &file_priv->event_list);
>  	eaction->event = NULL;
> -	wake_up_all(&file_priv->event_wait);
> +	drm_send_event_locked(dev, eaction->event);
>  	spin_unlock_irqrestore(&dev->event_lock, irq_flags);
>  }
> 
> diff --git a/include/drm/drmP.h b/include/drm/drmP.h
> index ad4d0a31294d..ae73abf5c2cf 100644
> --- a/include/drm/drmP.h
> +++ b/include/drm/drmP.h
> @@ -932,6 +932,8 @@ int drm_event_reserve_init(struct drm_device *dev,
>  			   struct drm_event *e);
>  void drm_event_cancel_free(struct drm_device *dev,
>  			   struct drm_pending_event *p);
> +void drm_send_event_locked(struct drm_device *dev, struct drm_pending_event
> *e); +void drm_send_event(struct drm_device *dev, struct drm_pending_event
> *e);
> 
>  /* Misc. IOCTL support (drm_ioctl.c) */
>  int drm_noop(struct drm_device *dev, void *data,

-- 
Regards,

Laurent Pinchart

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

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

* Re: ✗ failure:  Fi.CI.BAT
  2016-01-14 15:00   ` Ville Syrjälä
@ 2016-01-15 12:03     ` Chris Wilson
  0 siblings, 0 replies; 120+ messages in thread
From: Chris Wilson @ 2016-01-15 12:03 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: intel-gfx

On Thu, Jan 14, 2016 at 05:00:02PM +0200, Ville Syrjälä wrote:
> On Thu, Jan 14, 2016 at 02:49:45PM -0000, Patchwork wrote:
> > == Summary ==
> > 
> > Built on 8fb2feecca499d11e104264071ac55e273e23af5 drm-intel-nightly: 2016y-01m-14d-13h-06m-44s UTC integration manifest
> > 
> > Test gem_ctx_basic:
> >                 pass       -> FAIL       (bdw-ultra)
> 
> "Returncode -15" and nothing more. Weird.

Strikes me as a bug in the testrunner. That's not one of ours.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH 21/22] drm/vc4: Nuke preclose hook
  2016-01-11 21:41 ` [PATCH 21/22] drm/vc4: " Daniel Vetter
@ 2016-01-18 17:19   ` Eric Anholt
  0 siblings, 0 replies; 120+ messages in thread
From: Eric Anholt @ 2016-01-18 17:19 UTC (permalink / raw)
  To: DRI Development; +Cc: Daniel Vetter, Intel Graphics Development, Daniel Vetter


[-- Attachment #1.1: Type: text/plain, Size: 463 bytes --]

Daniel Vetter <daniel.vetter@ffwll.ch> writes:

> Again since the drm core takes care of event unlinking/disarming this
> is now just needless code.
>
> v2: Fixup misplaced hunk.
>
> Cc: Eric Anholt <eric@anholt.net>
> Acked-by: Daniel Stone <daniels@collabora.com>
> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> (v1)
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>

I love the cleanup from this series.

Acked-by: Eric Anholt <eric@anholt.net>

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 818 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* Re: ✗ failure:  Fi.CI.BAT
  2016-01-14 11:31   ` Nick Hoath
@ 2016-01-19  9:08     ` Daniel Vetter
  0 siblings, 0 replies; 120+ messages in thread
From: Daniel Vetter @ 2016-01-19  9:08 UTC (permalink / raw)
  To: Nick Hoath; +Cc: intel-gfx@lists.freedesktop.org

On Thu, Jan 14, 2016 at 11:31:07AM +0000, Nick Hoath wrote:
> On 14/01/2016 07:20, Patchwork wrote:
> >== Summary ==

Our BKM is to link to bugzilla entries to make sure these are all real
failures which are tracked already. Otherwise stuff falls through the
cracks.

> >
> >Built on 058740f8fced6851aeda34f366f5330322cd585f drm-intel-nightly: 2016y-01m-13d-17h-07m-44s UTC integration manifest
> >
> >Test gem_ctx_basic:
> >                 pass       -> FAIL       (bdw-ultra)
> 
> Test failed to load - not patch related
> 
> >Test gem_ctx_param_basic:
> >         Subgroup non-root-set:
> >                 pass       -> DMESG-WARN (bsw-nuc-2)
> 
> gem driver allocated a poisoned slab - not patch related
> 
> >Test kms_flip:
> >         Subgroup basic-flip-vs-dpms:
> >                 pass       -> SKIP       (bsw-nuc-2)
> 
> test reqs not met - not patch related

basic-flip-vs-dpms MUST always work. Well except if you have a chip with
GT only where the display is fused off. I expect more serious analysis
instead of casually shrugging issues away as "not my problem".

Same sloppy analysis with the others imo.
-Daniel


> 
> >                 dmesg-warn -> PASS       (ilk-hp8440p)
> 
> warn to PASS
> 
> >
> >bdw-nuci7        total:138  pass:128  dwarn:1   dfail:0   fail:0   skip:9
> >bdw-ultra        total:138  pass:131  dwarn:0   dfail:0   fail:1   skip:6
> >bsw-nuc-2        total:141  pass:113  dwarn:3   dfail:0   fail:0   skip:25
> >hsw-brixbox      total:141  pass:134  dwarn:0   dfail:0   fail:0   skip:7
> >hsw-gt2          total:141  pass:137  dwarn:0   dfail:0   fail:0   skip:4
> >ilk-hp8440p      total:141  pass:101  dwarn:3   dfail:0   fail:0   skip:37
> >ivb-t430s        total:135  pass:122  dwarn:3   dfail:4   fail:0   skip:6
> >skl-i5k-2        total:141  pass:131  dwarn:2   dfail:0   fail:0   skip:8
> >skl-i7k-2        total:141  pass:131  dwarn:2   dfail:0   fail:0   skip:8
> >snb-dellxps      total:141  pass:122  dwarn:5   dfail:0   fail:0   skip:14
> >snb-x220t        total:141  pass:122  dwarn:5   dfail:0   fail:1   skip:13
> >
> >Results at /archive/results/CI_IGT_test/Patchwork_1174/
> >
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://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
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: ✗ failure:  Fi.CI.BAT
  2016-01-14 14:29   ` Ville Syrjälä
@ 2016-01-19 13:58     ` Daniel Vetter
  2016-01-19 14:09       ` Ville Syrjälä
  0 siblings, 1 reply; 120+ messages in thread
From: Daniel Vetter @ 2016-01-19 13:58 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: intel-gfx

On Thu, Jan 14, 2016 at 04:29:14PM +0200, Ville Syrjälä wrote:
> On Thu, Jan 14, 2016 at 02:20:40PM -0000, Patchwork wrote:
> > == Summary ==
> > 
> > Built on 8fb2feecca499d11e104264071ac55e273e23af5 drm-intel-nightly: 2016y-01m-14d-13h-06m-44s UTC integration manifest
> > 
> > Test gem_basic:
> >         Subgroup create-close:
> >                 pass       -> DMESG-WARN (skl-i7k-2)
> > Test gem_cpu_reloc:
> >         Subgroup basic:
> >                 pass       -> DMESG-FAIL (skl-i7k-2)
> > Test gem_ctx_param_basic:
> >         Subgroup basic:
> >                 pass       -> DMESG-WARN (skl-i7k-2)
> >         Subgroup invalid-param-set:
> >                 pass       -> DMESG-WARN (skl-i7k-2)
> >         Subgroup non-root-set-no-zeromap:
> >                 pass       -> DMESG-WARN (skl-i7k-2)
> >         Subgroup root-set-no-zeromap-disabled:
> >                 pass       -> DMESG-WARN (skl-i7k-2)
> > Test gem_mmap:
> >         Subgroup basic:
> >                 pass       -> DMESG-WARN (skl-i7k-2)
> > Test gem_mmap_gtt:
> >         Subgroup basic-read:
> >                 pass       -> DMESG-WARN (skl-i7k-2)
> >         Subgroup basic-write:
> >                 pass       -> DMESG-WARN (skl-i7k-2)
> > Test gem_storedw_loop:
> >         Subgroup basic-render:
> >                 dmesg-warn -> PASS       (skl-i5k-2) UNSTABLE
> >                 dmesg-warn -> PASS       (bdw-nuci7)
> >                 dmesg-warn -> PASS       (skl-i7k-2) UNSTABLE
> > Test kms_addfb_basic:
> >         Subgroup addfb25-modifier-no-flag:
> >                 pass       -> DMESG-WARN (skl-i7k-2)
> >         Subgroup addfb25-x-tiled-mismatch:
> >                 pass       -> DMESG-WARN (skl-i7k-2)
> >         Subgroup addfb25-yf-tiled:
> >                 pass       -> DMESG-WARN (skl-i7k-2)
> >         Subgroup bad-pitch-1024:
> >                 pass       -> DMESG-WARN (skl-i7k-2)
> >         Subgroup bad-pitch-63:
> >                 pass       -> DMESG-WARN (skl-i7k-2)
> >         Subgroup bad-pitch-999:
> >                 pass       -> DMESG-WARN (skl-i7k-2)
> >         Subgroup clobberred-modifier:
> >                 pass       -> DMESG-WARN (skl-i7k-2)
> >         Subgroup too-high:
> >                 pass       -> DMESG-WARN (skl-i7k-2)
> >         Subgroup too-wide:
> >                 pass       -> DMESG-WARN (skl-i7k-2)
> >         Subgroup unused-offsets:
> >                 pass       -> DMESG-WARN (skl-i7k-2)
> > Test kms_flip:
> >         Subgroup basic-plain-flip:
> >                 pass       -> DMESG-FAIL (skl-i7k-2)
> > Test kms_pipe_crc_basic:
> >         Subgroup nonblocking-crc-pipe-a-frame-sequence:
> >                 pass       -> DMESG-FAIL (skl-i7k-2)
> >         Subgroup read-crc-pipe-b-frame-sequence:
> >                 pass       -> DMESG-FAIL (skl-i7k-2)
> > Test prime_self_import:
> >         Subgroup basic-with_two_bos:
> >                 pass       -> DMESG-WARN (skl-i7k-2)
> 
> Looks like the GPU died or something on that skl. Can't imagine it being related
> to watermark patches.

Mika created a bugzilla for this since this isn't the first time this
happened. We have 2 instances of a failure with matching syptoms in normal
-nightly CI runs already:

https://bugs.freedesktop.org/show_bug.cgi?id=93768

In the future if you have a case where an entire machine dies it's useful
to look at the machine history. That shows you the results for the last 50
runs on only that machine for any testcase where results changed. That
helps in figuring out whether there's something wrong with that machine,
or whether there might indeed be trouble with your patch set.

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

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

* Re: ✗ failure:  Fi.CI.BAT
  2016-01-19 13:58     ` Daniel Vetter
@ 2016-01-19 14:09       ` Ville Syrjälä
  2016-01-19 16:43         ` Daniel Vetter
  0 siblings, 1 reply; 120+ messages in thread
From: Ville Syrjälä @ 2016-01-19 14:09 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: Sarvela, Tomi P, intel-gfx

On Tue, Jan 19, 2016 at 02:58:14PM +0100, Daniel Vetter wrote:
> On Thu, Jan 14, 2016 at 04:29:14PM +0200, Ville Syrjälä wrote:
> > On Thu, Jan 14, 2016 at 02:20:40PM -0000, Patchwork wrote:
> > > == Summary ==
> > > 
> > > Built on 8fb2feecca499d11e104264071ac55e273e23af5 drm-intel-nightly: 2016y-01m-14d-13h-06m-44s UTC integration manifest
> > > 
> > > Test gem_basic:
> > >         Subgroup create-close:
> > >                 pass       -> DMESG-WARN (skl-i7k-2)
> > > Test gem_cpu_reloc:
> > >         Subgroup basic:
> > >                 pass       -> DMESG-FAIL (skl-i7k-2)
> > > Test gem_ctx_param_basic:
> > >         Subgroup basic:
> > >                 pass       -> DMESG-WARN (skl-i7k-2)
> > >         Subgroup invalid-param-set:
> > >                 pass       -> DMESG-WARN (skl-i7k-2)
> > >         Subgroup non-root-set-no-zeromap:
> > >                 pass       -> DMESG-WARN (skl-i7k-2)
> > >         Subgroup root-set-no-zeromap-disabled:
> > >                 pass       -> DMESG-WARN (skl-i7k-2)
> > > Test gem_mmap:
> > >         Subgroup basic:
> > >                 pass       -> DMESG-WARN (skl-i7k-2)
> > > Test gem_mmap_gtt:
> > >         Subgroup basic-read:
> > >                 pass       -> DMESG-WARN (skl-i7k-2)
> > >         Subgroup basic-write:
> > >                 pass       -> DMESG-WARN (skl-i7k-2)
> > > Test gem_storedw_loop:
> > >         Subgroup basic-render:
> > >                 dmesg-warn -> PASS       (skl-i5k-2) UNSTABLE
> > >                 dmesg-warn -> PASS       (bdw-nuci7)
> > >                 dmesg-warn -> PASS       (skl-i7k-2) UNSTABLE
> > > Test kms_addfb_basic:
> > >         Subgroup addfb25-modifier-no-flag:
> > >                 pass       -> DMESG-WARN (skl-i7k-2)
> > >         Subgroup addfb25-x-tiled-mismatch:
> > >                 pass       -> DMESG-WARN (skl-i7k-2)
> > >         Subgroup addfb25-yf-tiled:
> > >                 pass       -> DMESG-WARN (skl-i7k-2)
> > >         Subgroup bad-pitch-1024:
> > >                 pass       -> DMESG-WARN (skl-i7k-2)
> > >         Subgroup bad-pitch-63:
> > >                 pass       -> DMESG-WARN (skl-i7k-2)
> > >         Subgroup bad-pitch-999:
> > >                 pass       -> DMESG-WARN (skl-i7k-2)
> > >         Subgroup clobberred-modifier:
> > >                 pass       -> DMESG-WARN (skl-i7k-2)
> > >         Subgroup too-high:
> > >                 pass       -> DMESG-WARN (skl-i7k-2)
> > >         Subgroup too-wide:
> > >                 pass       -> DMESG-WARN (skl-i7k-2)
> > >         Subgroup unused-offsets:
> > >                 pass       -> DMESG-WARN (skl-i7k-2)
> > > Test kms_flip:
> > >         Subgroup basic-plain-flip:
> > >                 pass       -> DMESG-FAIL (skl-i7k-2)
> > > Test kms_pipe_crc_basic:
> > >         Subgroup nonblocking-crc-pipe-a-frame-sequence:
> > >                 pass       -> DMESG-FAIL (skl-i7k-2)
> > >         Subgroup read-crc-pipe-b-frame-sequence:
> > >                 pass       -> DMESG-FAIL (skl-i7k-2)
> > > Test prime_self_import:
> > >         Subgroup basic-with_two_bos:
> > >                 pass       -> DMESG-WARN (skl-i7k-2)
> > 
> > Looks like the GPU died or something on that skl. Can't imagine it being related
> > to watermark patches.
> 
> Mika created a bugzilla for this since this isn't the first time this
> happened. We have 2 instances of a failure with matching syptoms in normal
> -nightly CI runs already:
> 
> https://bugs.freedesktop.org/show_bug.cgi?id=93768
> 
> In the future if you have a case where an entire machine dies it's useful
> to look at the machine history. That shows you the results for the last 50
> runs on only that machine for any testcase where results changed. That
> helps in figuring out whether there's something wrong with that machine,
> or whether there might indeed be trouble with your patch set.

Sadly the link to the machine history is busted for patchwork CI results,
so doing that is somewhat more tedious than it should be. Might be a
good idea to fix all the links once and for all. Cc:ing Tomi...

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

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

* Re: ✗ failure:  Fi.CI.BAT
  2016-01-19 14:09       ` Ville Syrjälä
@ 2016-01-19 16:43         ` Daniel Vetter
  0 siblings, 0 replies; 120+ messages in thread
From: Daniel Vetter @ 2016-01-19 16:43 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: Sarvela, Tomi P, intel-gfx

On Tue, Jan 19, 2016 at 04:09:48PM +0200, Ville Syrjälä wrote:
> On Tue, Jan 19, 2016 at 02:58:14PM +0100, Daniel Vetter wrote:
> > On Thu, Jan 14, 2016 at 04:29:14PM +0200, Ville Syrjälä wrote:
> > > On Thu, Jan 14, 2016 at 02:20:40PM -0000, Patchwork wrote:
> > > > == Summary ==
> > > > 
> > > > Built on 8fb2feecca499d11e104264071ac55e273e23af5 drm-intel-nightly: 2016y-01m-14d-13h-06m-44s UTC integration manifest
> > > > 
> > > > Test gem_basic:
> > > >         Subgroup create-close:
> > > >                 pass       -> DMESG-WARN (skl-i7k-2)
> > > > Test gem_cpu_reloc:
> > > >         Subgroup basic:
> > > >                 pass       -> DMESG-FAIL (skl-i7k-2)
> > > > Test gem_ctx_param_basic:
> > > >         Subgroup basic:
> > > >                 pass       -> DMESG-WARN (skl-i7k-2)
> > > >         Subgroup invalid-param-set:
> > > >                 pass       -> DMESG-WARN (skl-i7k-2)
> > > >         Subgroup non-root-set-no-zeromap:
> > > >                 pass       -> DMESG-WARN (skl-i7k-2)
> > > >         Subgroup root-set-no-zeromap-disabled:
> > > >                 pass       -> DMESG-WARN (skl-i7k-2)
> > > > Test gem_mmap:
> > > >         Subgroup basic:
> > > >                 pass       -> DMESG-WARN (skl-i7k-2)
> > > > Test gem_mmap_gtt:
> > > >         Subgroup basic-read:
> > > >                 pass       -> DMESG-WARN (skl-i7k-2)
> > > >         Subgroup basic-write:
> > > >                 pass       -> DMESG-WARN (skl-i7k-2)
> > > > Test gem_storedw_loop:
> > > >         Subgroup basic-render:
> > > >                 dmesg-warn -> PASS       (skl-i5k-2) UNSTABLE
> > > >                 dmesg-warn -> PASS       (bdw-nuci7)
> > > >                 dmesg-warn -> PASS       (skl-i7k-2) UNSTABLE
> > > > Test kms_addfb_basic:
> > > >         Subgroup addfb25-modifier-no-flag:
> > > >                 pass       -> DMESG-WARN (skl-i7k-2)
> > > >         Subgroup addfb25-x-tiled-mismatch:
> > > >                 pass       -> DMESG-WARN (skl-i7k-2)
> > > >         Subgroup addfb25-yf-tiled:
> > > >                 pass       -> DMESG-WARN (skl-i7k-2)
> > > >         Subgroup bad-pitch-1024:
> > > >                 pass       -> DMESG-WARN (skl-i7k-2)
> > > >         Subgroup bad-pitch-63:
> > > >                 pass       -> DMESG-WARN (skl-i7k-2)
> > > >         Subgroup bad-pitch-999:
> > > >                 pass       -> DMESG-WARN (skl-i7k-2)
> > > >         Subgroup clobberred-modifier:
> > > >                 pass       -> DMESG-WARN (skl-i7k-2)
> > > >         Subgroup too-high:
> > > >                 pass       -> DMESG-WARN (skl-i7k-2)
> > > >         Subgroup too-wide:
> > > >                 pass       -> DMESG-WARN (skl-i7k-2)
> > > >         Subgroup unused-offsets:
> > > >                 pass       -> DMESG-WARN (skl-i7k-2)
> > > > Test kms_flip:
> > > >         Subgroup basic-plain-flip:
> > > >                 pass       -> DMESG-FAIL (skl-i7k-2)
> > > > Test kms_pipe_crc_basic:
> > > >         Subgroup nonblocking-crc-pipe-a-frame-sequence:
> > > >                 pass       -> DMESG-FAIL (skl-i7k-2)
> > > >         Subgroup read-crc-pipe-b-frame-sequence:
> > > >                 pass       -> DMESG-FAIL (skl-i7k-2)
> > > > Test prime_self_import:
> > > >         Subgroup basic-with_two_bos:
> > > >                 pass       -> DMESG-WARN (skl-i7k-2)
> > > 
> > > Looks like the GPU died or something on that skl. Can't imagine it being related
> > > to watermark patches.
> > 
> > Mika created a bugzilla for this since this isn't the first time this
> > happened. We have 2 instances of a failure with matching syptoms in normal
> > -nightly CI runs already:
> > 
> > https://bugs.freedesktop.org/show_bug.cgi?id=93768
> > 
> > In the future if you have a case where an entire machine dies it's useful
> > to look at the machine history. That shows you the results for the last 50
> > runs on only that machine for any testcase where results changed. That
> > helps in figuring out whether there's something wrong with that machine,
> > or whether there might indeed be trouble with your patch set.
> 
> Sadly the link to the machine history is busted for patchwork CI results,
> so doing that is somewhat more tedious than it should be. Might be a
> good idea to fix all the links once and for all. Cc:ing Tomi...

Yeah it only works in the master CI overview, both for the long-term view
for machines and for testcases.

I'll paste you the link to the overall howto on the internal wiki page in
private.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH 10/22] drm: Nuke vblank event file cleanup code
  2016-01-11 21:41 ` [PATCH 10/22] drm: Nuke vblank event file cleanup code Daniel Vetter
@ 2016-01-25  0:26   ` Laurent Pinchart
  0 siblings, 0 replies; 120+ messages in thread
From: Laurent Pinchart @ 2016-01-25  0:26 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: Daniel Vetter, Intel Graphics Development, DRI Development

Hi Daniel,

Thank you for the patch.

On Monday 11 January 2016 22:41:04 Daniel Vetter wrote:
> The core code now takes care of unlinking drm_events from the file in
> a generic way, so this code isn't needed any more.
> 
> For those wondering where the drm_vblank_put went to: With the new
> logic events only get unlinked, but still exist. Hence any resources
> (like vblank counters) don't need to be released since the event user
> will still process the event normally. In this case this is the
> callsites of send_vblank_event, which of course already have a
> drm_vblank_put.
> 
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Acked-by: Daniel Stone <daniels@collabora.com>
> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  drivers/gpu/drm/drm_fops.c | 9 ---------
>  1 file changed, 9 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_fops.c b/drivers/gpu/drm/drm_fops.c
> index 109903f5b68a..faae642390a6 100644
> --- a/drivers/gpu/drm/drm_fops.c
> +++ b/drivers/gpu/drm/drm_fops.c
> @@ -354,19 +354,10 @@ static void drm_events_release(struct drm_file
> *file_priv) {
>  	struct drm_device *dev = file_priv->minor->dev;
>  	struct drm_pending_event *e, *et;
> -	struct drm_pending_vblank_event *v, *vt;
>  	unsigned long flags;
> 
>  	spin_lock_irqsave(&dev->event_lock, flags);
> 
> -	/* Remove pending flips */
> -	list_for_each_entry_safe(v, vt, &dev->vblank_event_list, base.link)
> -		if (v->base.file_priv == file_priv) {
> -			list_del(&v->base.link);
> -			drm_vblank_put(dev, v->pipe);
> -			v->base.destroy(&v->base);
> -		}
> -
>  	/* Unlink pending events */
>  	list_for_each_entry_safe(e, et, &file_priv->pending_event_list,
>  				 pending_link) {

-- 
Regards,

Laurent Pinchart

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

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

* Re: [PATCH 00/22] drm_event cleanup, round 2
  2016-01-11 21:40 [PATCH 00/22] drm_event cleanup, round 2 Daniel Vetter
                   ` (23 preceding siblings ...)
  2016-01-12  8:30 ` ✗ failure: Fi.CI.BAT Patchwork
@ 2016-01-25  7:50 ` Daniel Vetter
  24 siblings, 0 replies; 120+ messages in thread
From: Daniel Vetter @ 2016-01-25  7:50 UTC (permalink / raw)
  To: DRI Development; +Cc: Daniel Vetter, Intel Graphics Development

On Mon, Jan 11, 2016 at 10:40:54PM +0100, Daniel Vetter wrote:
> Hi all,
> 
> Mostly just small changes from review feedback (plus a few misplaced hunks,
> silly me). Plus an attempt at better kerneldoc to explain how this works. Since
> that caused questions both from Thomas and Laurent let me explain things also
> here:
> 
> Currently anyone using drm_events (vblank code, atomic/legacy flips, drivers
> like exynos) need to handle event setup, sending to the drm file and handling
> when the drm file disappears themselves. This patch series provides functions to
> encapsulate all these steps. Furthermore the file closing is handled
> differently: Events are no longer completely destroyed in preclose hooks like
> all current users do, but instead they're just unlinked from the file. The new
> drm_send_event can still be called, but instead of transmitting the event to the
> file it'll destroy it right away.
> 
> This means that when the drm file disappears it's entirely transparent to
> drivers, and we can remove all the special tracking and cleanup code around
> preclose functions.
> 
> The other consequence is that it's opt-in - drivers are still free to remove
> events explicitly when the file disappears, it's just needless code. Which means
> the patch series can be split up really nicely into core parts + driver patches.
> The only patch I didn't split up in this fashion is the one that creates
> drm_send_event - it's imo easier to review this way, and the driver changes are
> really simple.

-rc1 is out, so I pulled this all into drm-misc. Thanks a lot for all the
reviews&comments.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [REGRESSION] [PATCH 09/22] drm: Clean up pending events in the core
  2016-01-11 21:41 ` [PATCH 09/22] drm: Clean up pending events in the core Daniel Vetter
  2016-01-14 18:45   ` Laurent Pinchart
@ 2016-01-25 14:45   ` Maarten Lankhorst
  1 sibling, 0 replies; 120+ messages in thread
From: Maarten Lankhorst @ 2016-01-25 14:45 UTC (permalink / raw)
  To: Daniel Vetter, DRI Development
  Cc: Alex Deucher, Intel Graphics Development, Laurent Pinchart

Hey,

Op 11-01-16 om 22:41 schreef Daniel Vetter:
> There's really no reason to not do so, instead of replicating this
> for every use-case and every driver. Now we can't just nuke the events,
> since that would still mean that all drm_event users would need to know
> when that has happened, since calling e.g. drm_send_event isn't allowed
> any more. Instead just unlink them from the file, and detect this case
> and handle it appropriately in all functions.
>
> v2: Adjust existing kerneldoc too.
>
> v3: Improve wording of the kerneldoc and split out vblank cleanup (Laurent).
>
> Cc: Alex Deucher <alexander.deucher@amd.com>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Acked-by: Daniel Stone <daniels@collabora.com>
> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> (v1)
> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This patch breaks kms_flip.basic-flip-vs-wf_vblank and probably other tests as well.
>  drivers/gpu/drm/drm_fops.c | 30 +++++++++++++++++++++++++++++-
>  include/drm/drmP.h         |  2 ++
>  2 files changed, 31 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/drm_fops.c b/drivers/gpu/drm/drm_fops.c
> index d85af1b2a238..109903f5b68a 100644
> --- a/drivers/gpu/drm/drm_fops.c
> +++ b/drivers/gpu/drm/drm_fops.c
> @@ -264,6 +264,7 @@ static int drm_open_helper(struct file *filp, struct drm_minor *minor)
>  	INIT_LIST_HEAD(&priv->fbs);
>  	mutex_init(&priv->fbs_lock);
>  	INIT_LIST_HEAD(&priv->blobs);
> +	INIT_LIST_HEAD(&priv->pending_event_list);
>  	INIT_LIST_HEAD(&priv->event_list);
>  	init_waitqueue_head(&priv->event_wait);
>  	priv->event_space = 4096; /* set aside 4k for event buffer */
> @@ -366,6 +367,13 @@ static void drm_events_release(struct drm_file *file_priv)
>  			v->base.destroy(&v->base);
>  		}
>  
> +	/* Unlink pending events */
> +	list_for_each_entry_safe(e, et, &file_priv->pending_event_list,
> +				 pending_link) {
> +		list_del(&e->pending_link);
> +		e->file_priv = NULL;
> +	}
> +
>  	/* Remove unconsumed events */
>  	list_for_each_entry_safe(e, et, &file_priv->event_list, link) {
>  		list_del(&e->link);
> @@ -712,6 +720,7 @@ int drm_event_reserve_init(struct drm_device *dev,
>  	file_priv->event_space -= e->length;
>  
>  	p->event = e;
> +	list_add(&p->pending_link, &file_priv->pending_event_list);
>  	p->file_priv = file_priv;
>  
>  	/* we *could* pass this in as arg, but everyone uses kfree: */
> @@ -736,7 +745,10 @@ void drm_event_cancel_free(struct drm_device *dev,
>  {
>  	unsigned long flags;
>  	spin_lock_irqsave(&dev->event_lock, flags);
> -	p->file_priv->event_space += p->event->length;
> +	if (p->file_priv) {
> +		p->file_priv->event_space += p->event->length;
> +		list_del(&p->pending_link);
> +	}
>  	spin_unlock_irqrestore(&dev->event_lock, flags);
>  	p->destroy(p);
>  }
> @@ -750,11 +762,22 @@ EXPORT_SYMBOL(drm_event_cancel_free);
>   * This function sends the event @e, initialized with drm_event_reserve_init(),
>   * to its associated userspace DRM file. Callers must already hold
>   * dev->event_lock, see drm_send_event() for the unlocked version.
> + *
> + * Note that the core will take care of unlinking and disarming events when the
> + * corresponding DRM file is closed. Drivers need not worry about whether the
> + * DRM file for this event still exists and can call this function upon
> + * completion of the asynchronous work unconditionally.
>   */
>  void drm_send_event_locked(struct drm_device *dev, struct drm_pending_event *e)
>  {
>  	assert_spin_locked(&dev->event_lock);
>  
> +	if (!e->file_priv) {
> +		e->destroy(e);
> +		return;
> +	}
> +
> +	list_del(&e->pending_link);
>  	list_add_tail(&e->link,
>  		      &e->file_priv->event_list);
>  	wake_up_interruptible(&e->file_priv->event_wait);
> @@ -769,6 +792,11 @@ EXPORT_SYMBOL(drm_send_event_locked);
>   * This function sends the event @e, initialized with drm_event_reserve_init(),
>   * to its associated userspace DRM file. This function acquires dev->event_lock,
>   * see drm_send_event_locked() for callers which already hold this lock.
> + *
> + * Note that the core will take care of unlinking and disarming events when the
> + * corresponding DRM file is closed. Drivers need not worry about whether the
> + * DRM file for this event still exists and can call this function upon
> + * completion of the asynchronous work unconditionally.
>   */
>  void drm_send_event(struct drm_device *dev, struct drm_pending_event *e)
>  {
> diff --git a/include/drm/drmP.h b/include/drm/drmP.h
> index ae73abf5c2cf..3d78a7406d54 100644
> --- a/include/drm/drmP.h
> +++ b/include/drm/drmP.h
> @@ -283,6 +283,7 @@ struct drm_ioctl_desc {
>  struct drm_pending_event {
>  	struct drm_event *event;
>  	struct list_head link;
> +	struct list_head pending_link;
>  	struct drm_file *file_priv;
>  	pid_t pid; /* pid of requester, no guarantee it's valid by the time
>  		      we deliver the event, for tracing only */
> @@ -346,6 +347,7 @@ struct drm_file {
>  	struct list_head blobs;
>  
>  	wait_queue_head_t event_wait;
> +	struct list_head pending_event_list;
>  	struct list_head event_list;
>  	int event_space;
>  

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

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

end of thread, other threads:[~2016-01-25 14:45 UTC | newest]

Thread overview: 120+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-11 21:40 [PATCH 00/22] drm_event cleanup, round 2 Daniel Vetter
2016-01-11 21:40 ` [PATCH 01/22] drm: kerneldoc for drm_fops.c Daniel Vetter
2016-01-11 21:40 ` [PATCH 02/22] drm: Add functions to setup/tear down drm_events Daniel Vetter
2016-01-14 18:46   ` Laurent Pinchart
2016-01-11 21:40 ` [PATCH 03/22] drm/exynos: Use the new event init/free functions Daniel Vetter
2016-01-11 21:40 ` [PATCH 04/22] drm/vmwgfx: " Daniel Vetter
2016-01-11 21:40 ` [PATCH 05/22] drm: Create drm_send_event helpers Daniel Vetter
2016-01-14 18:46   ` Laurent Pinchart
2016-01-11 21:41 ` [PATCH 06/22] drm/fsl: Remove preclose hook Daniel Vetter
2016-01-11 21:41 ` [PATCH 07/22] drm/armada: Remove NULL open/pre/postclose hooks Daniel Vetter
2016-01-12 11:51   ` Russell King - ARM Linux
2016-01-12 12:33     ` Daniel Vetter
2016-01-11 21:41 ` [PATCH 08/22] drm/gma500: Remove empty preclose hook Daniel Vetter
2016-01-12 10:11   ` Patrik Jakobsson
2016-01-11 21:41 ` [PATCH 09/22] drm: Clean up pending events in the core Daniel Vetter
2016-01-14 18:45   ` Laurent Pinchart
2016-01-25 14:45   ` [REGRESSION] " Maarten Lankhorst
2016-01-11 21:41 ` [PATCH 10/22] drm: Nuke vblank event file cleanup code Daniel Vetter
2016-01-25  0:26   ` Laurent Pinchart
2016-01-11 21:41 ` [PATCH 11/22] drm/i915: Nuke intel_modeset_preclose Daniel Vetter
2016-01-11 21:41 ` [PATCH 12/22] drm/atmel: Nuke preclose Daniel Vetter
2016-01-13 14:56   ` Boris Brezillon
2016-01-11 21:41 ` [PATCH 13/22] drm/exynos: Remove event cancelling from postclose Daniel Vetter
2016-01-12  6:13   ` Inki Dae
2016-01-11 21:41 ` [PATCH 14/22] drm/imx: Unconfuse preclose logic Daniel Vetter
2016-01-12  8:57   ` Philipp Zabel
2016-01-11 21:41 ` [PATCH 15/22] drm/msm: Nuke preclose hooks Daniel Vetter
2016-01-11 21:41 ` [PATCH 16/22] drm/omap: Nuke close hooks Daniel Vetter
2016-01-12 14:09   ` Tomi Valkeinen
2016-01-13 11:00   ` Tomi Valkeinen
2016-01-13 11:05   ` [PATCH] " Daniel Vetter
2016-01-13 23:07     ` Laurent Pinchart
2016-01-11 21:41 ` [PATCH 17/22] drm/rcar: Nuke preclose hook Daniel Vetter
2016-01-11 21:41 ` [PATCH 18/22] drm/shmob: " Daniel Vetter
2016-01-11 21:41 ` [PATCH 19/22] drm/tegra: Stop cancelling page flip events Daniel Vetter
2016-01-13 14:03   ` Thierry Reding
2016-01-11 21:41 ` [PATCH 20/22] drm/tilcdc: Nuke preclose hook Daniel Vetter
2016-01-12 14:19   ` Tomi Valkeinen
2016-01-12 15:12     ` Daniel Vetter
2016-01-13 11:25       ` Tomi Valkeinen
2016-01-11 21:41 ` [PATCH 21/22] drm/vc4: " Daniel Vetter
2016-01-18 17:19   ` Eric Anholt
2016-01-11 21:41 ` [PATCH 22/22] drm/vmwgfx: " Daniel Vetter
2016-01-11 21:41 ` [PATCH] " Daniel Vetter
2016-01-12  8:30 ` ✗ failure: Fi.CI.BAT Patchwork
2016-01-25  7:50 ` [PATCH 00/22] drm_event cleanup, round 2 Daniel Vetter
  -- strict thread matches above, loose matches on Subject: below --
2016-01-14 15:56 [PATCH v5 1/1] drm/i915/bxt: Check BIOS RC6 setup before enabling RC6 Sagar Arun Kamble
2016-01-14 16:30 ` ✗ failure: Fi.CI.BAT Patchwork
2016-01-14 15:12 [PATCH] drm/i915/bios: Fix the sequence size calculations for MIPI seq v3 Jani Nikula
2016-01-14 16:20 ` ✗ failure: Fi.CI.BAT Patchwork
2016-01-14 15:02 [PATCH] drm/i915: Decouple execbuf uAPI from internal implementation Tvrtko Ursulin
2016-01-14 15:49 ` ✗ failure: Fi.CI.BAT Patchwork
2016-01-14 13:22 [PATCH 0/8] drm/i915: Some more fb offsets[] prep stuff ville.syrjala
2016-01-14 14:49 ` ✗ failure: Fi.CI.BAT Patchwork
2016-01-14 15:00   ` Ville Syrjälä
2016-01-15 12:03     ` Chris Wilson
2016-01-14 12:53 [PATCH 1/2] drm/i915: Start WM computation from scratch on ILK-BDW ville.syrjala
2016-01-14 14:20 ` ✗ failure: Fi.CI.BAT Patchwork
2016-01-14 14:29   ` Ville Syrjälä
2016-01-19 13:58     ` Daniel Vetter
2016-01-19 14:09       ` Ville Syrjälä
2016-01-19 16:43         ` Daniel Vetter
2016-01-14 10:49 [PATCH] drm/i915: Clear pending reset requests during suspend Arun Siluvery
2016-01-14 12:20 ` ✗ failure: Fi.CI.BAT Patchwork
2016-01-14  6:16 [PATCH v14 0/11] Support for creating/using Stolen memory backed objects ankitprasad.r.sharma
2016-01-14 11:20 ` ✗ failure: Fi.CI.BAT Patchwork
2016-01-13 17:28 [PATCH 00/20] TDR/watchdog support for gen8 Arun Siluvery
2016-01-14  8:30 ` ✗ failure: Fi.CI.BAT Patchwork
2016-01-13 16:19 [PATCH v10] drm/i915: Extend LRC pinning to cover GPU context writeback Nick Hoath
2016-01-14  7:20 ` ✗ failure: Fi.CI.BAT Patchwork
2016-01-14 11:31   ` Nick Hoath
2016-01-19  9:08     ` Daniel Vetter
2016-01-13 14:35 [PATCH] drm/i915/dp: fall back to 18 bpp when sink capability is unknown Jani Nikula
2016-01-13 15:13 ` ✗ failure: Fi.CI.BAT Patchwork
2016-01-13 16:17   ` Daniel Vetter
2016-01-13 18:03     ` Chris Wilson
2016-01-13 12:52 [PATCH] drm/i915: Fix for reserved space WARN_ON when ring begin fails John.C.Harrison
2016-01-13 13:49 ` ✗ failure: Fi.CI.BAT Patchwork
2016-01-12 15:28 [PATCH 1/1] drm/i915: Reorder shadow registers on gen8 for faster lookup Mika Kuoppala
2016-01-12 16:20 ` ✗ failure: Fi.CI.BAT Patchwork
2016-01-11 12:27 [PATCH v2 0/9] Kill off intel_crtc->atomic! Maarten Lankhorst
2016-01-11 12:49 ` ✗ failure: Fi.CI.BAT Patchwork
2016-01-11 14:30 ` Patchwork
2016-01-08 21:40 [PATCH] drm/i915: Reject invalid-pad for context-destroy ioctl Chris Wilson
2016-01-11 11:07 ` ✗ failure: Fi.CI.BAT Patchwork
2016-01-08 20:36 [PATCH 00/21] drm_event cleanup Daniel Vetter
2016-01-11 11:20 ` ✗ failure: Fi.CI.BAT Patchwork
2016-01-12 16:24   ` Daniel Vetter
2016-01-08 16:58 [PATCH 1/2] drm/i915: Store edram capabilities instead of fixed size Mika Kuoppala
2016-01-11 10:27 ` ✗ failure: Fi.CI.BAT Patchwork
2016-01-08 13:51 [PATCH 1/2] drm/i915: Enable mmio_debug for vlv/chv Mika Kuoppala
2016-01-11  9:59 ` ✗ failure: Fi.CI.BAT Patchwork
2016-01-11 12:50   ` Mika Kuoppala
2016-01-12 16:22     ` Daniel Vetter
2016-01-13  9:16       ` Mika Kuoppala
2016-01-13  9:20       ` Mika Kuoppala
2016-01-13  9:39         ` Daniel Vetter
2016-01-13  9:39           ` Daniel Vetter
2016-01-08 11:29 [PATCH v2 00/13] Misc cleanups and locking fixes Tvrtko Ursulin
2016-01-11  9:44 ` ✗ failure: Fi.CI.BAT Patchwork
2016-01-07 10:54 [PATCH 0/7] Explicitly pass crtc_state and plane_state to plane update functions Maarten Lankhorst
2016-01-11  8:53 ` ✗ failure: Fi.CI.BAT Patchwork
2016-01-07  9:10 [PATCH] drm/i915: Init power domains early in driver load Daniel Vetter
2016-01-11  9:12 ` ✗ failure: Fi.CI.BAT Patchwork
2016-01-06 20:53 [PATCH] drm/i915/guc: Fix a memory leak where guc->execbuf_client is not freed yu.dai
2016-01-13  8:49 ` ✗ failure: Fi.CI.BAT Patchwork
2016-01-06 11:09 [PATCH 1/3] drm: Defer disabling the vblank IRQ until the next interrupt (for instant-off) Chris Wilson
2016-01-06 13:20 ` ✗ failure: Fi.CI.BAT Patchwork
2016-01-06  2:26 [PATCH 1/2] drm/i915: fix get digital port issue in intel_audio libin.yang
2016-01-06 12:49 ` ✗ failure: Fi.CI.BAT Patchwork
2016-01-05 19:18 [PATCH] drm/i915: Cleaning up DDI translation tables Rodrigo Vivi
2016-01-06 11:30 ` ✗ failure: Fi.CI.BAT Patchwork
2016-01-05 19:10 [PATCH] drm/i915/guc: Enable GuC submission, where supported yu.dai
2016-01-06 10:20 ` ✗ failure: Fi.CI.BAT Patchwork
2016-01-07 10:27   ` Dave Gordon
2016-01-07 13:06     ` Jani Nikula
2016-01-07 14:36       ` Daniel Vetter
2016-01-07 14:51         ` Jani Nikula
2016-01-07 15:37         ` Dave Gordon
2016-01-05 16:54 [PATCH] drm/i915: Tune down rpm wakelock debug checks Daniel Vetter
2016-01-06  7:49 ` ✗ failure: Fi.CI.BAT Patchwork
2016-01-04 10:13 [PATCH] drm/i915: Force clean compilation with -Werror Chris Wilson
2016-01-04 11:01 ` ✗ failure: Fi.CI.BAT Patchwork
2016-01-04 10:10 [PATCH 1/3] drm: Balance error path for GEM handle allocation Chris Wilson
2016-01-04 10:49 ` ✗ failure: Fi.CI.BAT Patchwork
2015-12-31 12:45 [PATCH] drm/i915: Add RPM references in the *_get_hw_state functions Gabriel Feceoru
2015-12-31 13:20 ` ✗ failure: Fi.CI.BAT Patchwork
2015-12-30 22:56 [PATCH] drm/i915/bxt: Fix eDP panel power save/restore Matt Roper
2015-12-31  7:43 ` ✗ failure: Fi.CI.BAT Patchwork
2015-12-23  8:11 [PATCH] drm/i915: increase the tries for HDMI hotplug live status checking Gary Wang
2015-12-23  8:49 ` ✗ failure: Fi.CI.BAT Patchwork
2015-12-21 18:53 [PATCH] drm, i915: Fix pointer size cast Borislav Petkov
2015-12-22  7:30 ` ✗ failure: Fi.CI.BAT Patchwork
2015-12-21 16:04 improve handling of the driver's internal default context Dave Gordon
2015-12-22  7:20 ` ✗ failure: Fi.CI.BAT Patchwork
2015-12-21 15:33 [RFC v2] drm/i915/bdw+: Do not emit user interrupts when not needed Tvrtko Ursulin
2015-12-21 17:30 ` ✗ failure: Fi.CI.BAT Patchwork
2015-12-21 13:10 [PATCH 00/15] drm/i915/bios: mipi sequence block v3, etc Jani Nikula
2016-01-05 16:01 ` ✗ failure: Fi.CI.BAT Patchwork
2016-01-11 13:30 ` Patchwork
2016-01-11 14:01 ` Patchwork
2015-12-18 20:00 [PATCH v2 0/5] Add GuC ADS (Addition Data Structure) yu.dai
2016-01-05 12:30 ` ✗ failure: Fi.CI.BAT Patchwork
2016-01-06  9:01 ` Patchwork
2015-12-18 19:55 [PATCH] drm/i915: edp resume/On time optimization abhay.kumar
2015-12-19  7:30 ` ✗ failure: Fi.CI.BAT Patchwork
2015-12-18 17:24 [PATCH] drm/i915: Workaround CHV pipe C cursor fail ville.syrjala
2015-12-18 17:49 ` ✗ failure: Fi.CI.BAT Patchwork
2015-12-18 15:17 [PATCH] Allow userspace to set NULL blob on properties Lionel Landwerlin
2015-12-18 15:30 ` ✗ failure: Fi.CI.BAT Patchwork
2015-12-18 14:41 [PATCH v9] drm/i915: Extend LRC pinning to cover GPU context writeback Nick Hoath
2015-12-18 15:01 ` ✗ failure: Fi.CI.BAT Patchwork
2015-12-21 13:44   ` Daniel Vetter
2015-12-18 11:59 [RFC] drm/i915/bdw+: Do not emit user interrupts when not needed Tvrtko Ursulin
2015-12-18 12:30 ` ✗ failure: Fi.CI.BAT Patchwork
2015-12-18 10:53 [PATCH] drm/i915/bdw+: Replace list_del+list_add_tail with list_move_tail Tvrtko Ursulin
2015-12-18 11:49 ` ✗ failure: Fi.CI.BAT Patchwork
2015-12-18 10:14 [PATCH] drm/i915/vlv: Modifying RC6 Promotion timer for Media workloads Namrta Salonie
2015-12-18 10:30 ` ✗ failure: Fi.CI.BAT Patchwork
2015-12-18  6:27 [PATCH] drm/i915: edp resume/On time optimization abhay.kumar
2015-12-18  9:01 ` ✗ failure: Fi.CI.BAT Patchwork
2015-12-18  1:16 [PATCH] drm/i915: HWSTAM is not a thing on SKL+ Ben Widawsky
2015-12-18  8:30 ` ✗ failure: Fi.CI.BAT Patchwork
2015-12-14 16:23 [PATCH 00/10] drm/i915: Fixes from my attempt at running igt on gen2 ville.syrjala
2016-01-12  7:49 ` ✗ failure: Fi.CI.BAT Patchwork
2015-12-04 11:33 [PATCH] drm/i915: Avoid writing relocs with addresses in non-canonical form Michał Winiarski
2015-12-29 16:20 ` ✗ failure: Fi.CI.BAT Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).