[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Remove unecessary check for unsupported modifiers for NV12

2018-06-28 Thread Patchwork
== Series Details == Series: drm/i915: Remove unecessary check for unsupported modifiers for NV12 URL : https://patchwork.freedesktop.org/series/45548/ State : warning == Summary == $ dim checkpatch origin/drm-tip ba24b4784bad drm/i915: Remove unecessary check for unsupported modifiers for NV

[Intel-gfx] [PATCH 1/2] drm/i915: Remove support for legacy debugfs crc interface

2018-06-28 Thread Maarten Lankhorst
This interface is deprecated, and has been replaced by the upstream drm crc interface. Signed-off-by: Maarten Lankhorst Cc: Tomi Sarvela Cc: Petri Latvala Cc: Jani Nikula Cc: Ville Syrjälä Acked-by: Ville Syrjälä --- drivers/gpu/drm/i915/i915_debugfs.c | 7 +- drivers/gpu/drm/i915/i915_

[Intel-gfx] [PATCH 2/2] drm/i915: Replace use of pipe_crc->lock with an atomic

2018-06-28 Thread Maarten Lankhorst
pipe_crc->lock only protects pipe_crc->skipped. Replace the lock with atomic operations instead, it should work just as well, without the spinlock. In the case we don't skip CRC in the irq, the fastpath is only a single atomic_read(). Signed-off-by: Maarten Lankhorst Cc: Ville Syrjälä --- drive

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Remove unecessary check for unsupported modifiers for NV12

2018-06-28 Thread Patchwork
== Series Details == Series: drm/i915: Remove unecessary check for unsupported modifiers for NV12 URL : https://patchwork.freedesktop.org/series/45548/ State : success == Summary == = CI Bug Log - changes from CI_DRM_4395 -> Patchwork_9458 = == Summary - SUCCESS == No regressions found.

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] drm/i915: Remove support for legacy debugfs crc interface

2018-06-28 Thread Patchwork
== Series Details == Series: series starting with [1/2] drm/i915: Remove support for legacy debugfs crc interface URL : https://patchwork.freedesktop.org/series/45553/ State : warning == Summary == $ dim checkpatch origin/drm-tip 6428445ab929 drm/i915: Remove support for legacy debugfs crc in

[Intel-gfx] ✗ Fi.CI.SPARSE: warning for series starting with [1/2] drm/i915: Remove support for legacy debugfs crc interface

2018-06-28 Thread Patchwork
== Series Details == Series: series starting with [1/2] drm/i915: Remove support for legacy debugfs crc interface URL : https://patchwork.freedesktop.org/series/45553/ State : warning == Summary == $ dim sparse origin/drm-tip Commit: drm/i915: Remove support for legacy debugfs crc interface -

[Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915: Remove support for legacy debugfs crc interface

2018-06-28 Thread Patchwork
== Series Details == Series: series starting with [1/2] drm/i915: Remove support for legacy debugfs crc interface URL : https://patchwork.freedesktop.org/series/45553/ State : success == Summary == = CI Bug Log - changes from CI_DRM_4396 -> Patchwork_9459 = == Summary - SUCCESS == No regr

Re: [Intel-gfx] [PATCH 1/4] drm/i915: Reduce spinlock hold time during notify_ring() interrupt

2018-06-28 Thread Mika Kuoppala
Chris Wilson writes: > By taking advantage of the RCU protection of the task struct, we can find > the appropriate signaler under the spinlock and then release the spinlock > before waking the task and signaling the fence. > > Signed-off-by: Chris Wilson > Cc: Mika Kuoppala Reviewed-by: Mika K

Re: [Intel-gfx] [PATCH 2/4] drm/i915: Only trigger missed-seqno checking next to boundary

2018-06-28 Thread Mika Kuoppala
Chris Wilson writes: > If we have more interrupts pending (because we know there are more > breadcrumb signals before the completion), then we do not need to > trigger an irq_seqno_barrier or even wakeup the task on this interrupt > as there will be another. To allow some margin of error (we are

[Intel-gfx] [PATCH] drm/i915: Show vma allocator stack when in doubt

2018-06-28 Thread Chris Wilson
At the moment, gem_exec_gttfill fails with a sporadic EBUSY due to us wanting to unbind a pinned batch. Let's dump who first bound that vma to see if that helps us identify who still unexpectedly has it pinned. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/i915_vma.c | 45

Re: [Intel-gfx] [PATCH] drm/i915: Remove unecessary check for unsupported modifiers for NV12

2018-06-28 Thread Maarten Lankhorst
Op 28-06-18 om 08:18 schreef Dhinakaran Pandiyan: > There is already a check to allow only RGB formats with CCS > modifiers. > > Signed-off-by: Dhinakaran Pandiyan > --- > drivers/gpu/drm/i915/intel_display.c | 5 - > 1 file changed, 5 deletions(-) > > diff --git a/drivers/gpu/drm/i915/in

Re: [Intel-gfx] [PATCH 1/2] drm/i915: Remove support for legacy debugfs crc interface

2018-06-28 Thread Jani Nikula
On Thu, 28 Jun 2018, Maarten Lankhorst wrote: > This interface is deprecated, and has been replaced by the upstream > drm crc interface. > > Signed-off-by: Maarten Lankhorst > Cc: Tomi Sarvela > Cc: Petri Latvala > Cc: Jani Nikula > Cc: Ville Syrjälä > Acked-by: Ville Syrjälä Acked-by: Jan

[Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915: Show vma allocator stack when in doubt

2018-06-28 Thread Patchwork
== Series Details == Series: drm/i915: Show vma allocator stack when in doubt URL : https://patchwork.freedesktop.org/series/45562/ State : failure == Summary == = CI Bug Log - changes from CI_DRM_4396 -> Patchwork_9460 = == Summary - FAILURE == Serious unknown changes coming with Patchwor

Re: [Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915: Show vma allocator stack when in doubt

2018-06-28 Thread Chris Wilson
Quoting Patchwork (2018-06-28 09:55:21) > == Series Details == > > Series: drm/i915: Show vma allocator stack when in doubt > URL : https://patchwork.freedesktop.org/series/45562/ > State : failure > > == Summary == > > = CI Bug Log - changes from CI_DRM_4396 -> Patchwork_9460 = > > == Summar

[Intel-gfx] [PATCH v2] drm/i915: Show vma allocator stack when in doubt

2018-06-28 Thread Chris Wilson
At the moment, gem_exec_gttfill fails with a sporadic EBUSY due to us wanting to unbind a pinned batch. Let's dump who first bound that vma to see if that helps us identify who still unexpectedly has it pinned. v2: We cannot allocate inside the printer (as it may be on an fs-reclaim path), so hope

[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915: Remove unecessary check for unsupported modifiers for NV12

2018-06-28 Thread Patchwork
== Series Details == Series: drm/i915: Remove unecessary check for unsupported modifiers for NV12 URL : https://patchwork.freedesktop.org/series/45548/ State : success == Summary == = CI Bug Log - changes from CI_DRM_4395_full -> Patchwork_9458_full = == Summary - WARNING == Minor unknown

Re: [Intel-gfx] [PATCH] drm/i915/crt: make intel_crt_reset() static again

2018-06-28 Thread Jani Nikula
On Thu, 28 Jun 2018, Daniel Vetter wrote: > On Wed, Jun 27, 2018 at 02:49:40PM +0300, Jani Nikula wrote: >> On Thu, 21 Jun 2018, Ville Syrjälä wrote: >> > On Thu, Jun 21, 2018 at 04:03:30PM +0300, Jani Nikula wrote: >> >> Commit 9504a8924759 ("drm/i915/vlv: Reset the ADPA in >> >> vlv_display_pow

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Show vma allocator stack when in doubt (rev2)

2018-06-28 Thread Patchwork
== Series Details == Series: drm/i915: Show vma allocator stack when in doubt (rev2) URL : https://patchwork.freedesktop.org/series/45562/ State : success == Summary == = CI Bug Log - changes from CI_DRM_4396 -> Patchwork_9461 = == Summary - SUCCESS == No regressions found. External URL

[Intel-gfx] [PATCH v3] drm/i915: Show vma allocator stack when in doubt

2018-06-28 Thread Chris Wilson
At the moment, gem_exec_gttfill fails with a sporadic EBUSY due to us wanting to unbind a pinned batch. Let's dump who first bound that vma to see if that helps us identify who still unexpectedly has it pinned. v2: We cannot allocate inside the printer (as it may be on an fs-reclaim path), so hope

Re: [Intel-gfx] [PATCH 1/4] dma-buf: add dma_buf_(un)map_attachment_locked variants v2

2018-06-28 Thread Zhang, Jerry (Junwei)
On 06/22/2018 10:11 PM, Christian König wrote: Add function variants which can be called with the reservation lock already held. v2: reordered, add lockdep asserts, fix kerneldoc Signed-off-by: Christian König --- drivers/dma-buf/dma-buf.c | 57 +++

[Intel-gfx] [PULL] drm-misc-fixes

2018-06-28 Thread Maarten Lankhorst
drm-misc-fixes-2018-06-28: drm-misc-fixes for v4.18-rc3: - A single fix in meson for an unhandled error path in meson_drv_bind_master(). The following changes since commit 7daf201d7fe8334e2d2364d4e8ed3394ec9af819: Linux 4.18-rc2 (2018-06-24 20:54:29 +0800) are available in the Git repository at

Re: [Intel-gfx] [PATCH 1/4] dma-buf: add dma_buf_(un)map_attachment_locked variants v2

2018-06-28 Thread Zhang, Jerry (Junwei)
On 06/22/2018 10:11 PM, Christian König wrote: Add function variants which can be called with the reservation lock already held. v2: reordered, add lockdep asserts, fix kerneldoc Signed-off-by: Christian König --- drivers/dma-buf/dma-buf.c | 57 +++

Re: [Intel-gfx] [PATCH 2/4] dma-buf: lock the reservation object during (un)map_dma_buf v2

2018-06-28 Thread Zhang, Jerry (Junwei)
On 06/22/2018 10:11 PM, Christian König wrote: First step towards unpinned DMA buf operation. I've checked the DRM drivers to potential locking of the reservation object, but essentially we need to audit all implementations of the dma_buf _ops for this to work. v2: reordered Signed-off-by: Chr

Re: [Intel-gfx] [PATCH 3/4] drm/amdgpu: add independent DMA-buf export v3

2018-06-28 Thread Zhang, Jerry (Junwei)
On 06/22/2018 10:11 PM, Christian König wrote: The caching of SGT's done by the DRM code is actually quite harmful and should probably removed altogether in the long term. Start by providing a separate DMA-buf export implementation in amdgpu. This is also a prerequisite of unpinned DMA-buf handl

Re: [Intel-gfx] [PATCH 5/9] drm/i915/execlists: Unify CSB access pointers

2018-06-28 Thread Tvrtko Ursulin
On 27/06/2018 22:07, Chris Wilson wrote: Following the removal of the last workarounds, the only CSB mmio access is for the old vGPU interface. The mmio registers presented by vGPU do not require forcewake and can be treated as ordinary volatile memory, i.e. they behave just like the HWSP access

Re: [Intel-gfx] [PATCH V2] drm/i915/glk: Add Quirk for GLK NUC HDMI port issues.

2018-06-28 Thread Imre Deak
On Wed, Jun 27, 2018 at 03:26:54PM -0700, Clint Taylor wrote: > > > On 06/25/2018 03:33 AM, Imre Deak wrote: > > On Wed, Jun 13, 2018 at 02:48:49PM -0700, clinton.a.tay...@intel.com wrote: > > > From: Clint Taylor > > > > > > On GLK NUC platforms the HDMI retiming buffer needs additional disabl

Re: [Intel-gfx] [PATCH 6/9] drm/i915/execlists: Reset CSB write pointer after reset

2018-06-28 Thread Tvrtko Ursulin
On 27/06/2018 22:07, Chris Wilson wrote: On HW reset, the HW clears the write pointer (to 0). But since it also writes its first CSB entry to slot 0, we need to reset the write pointer back to the element before (so the first entry we read is 0). This is required for the next patch, where we tr

Re: [Intel-gfx] [PATCH 7/9] drm/i915/execlists: Stop storing the CSB read pointer in the mmio register

2018-06-28 Thread Tvrtko Ursulin
On 27/06/2018 22:07, Chris Wilson wrote: As we now never read back our current head position from the CSB pointers register, and the HW itself doesn't use it to prevent overwriting unread CSB entries, we do not need to keep updating the register. As it turns out this register is not listed as be

Re: [Intel-gfx] [PATCH 5/9] drm/i915/execlists: Unify CSB access pointers

2018-06-28 Thread Chris Wilson
Quoting Tvrtko Ursulin (2018-06-28 11:02:17) > > On 27/06/2018 22:07, Chris Wilson wrote: > > Following the removal of the last workarounds, the only CSB mmio access > > is for the old vGPU interface. The mmio registers presented by vGPU do > > not require forcewake and can be treated as ordinary

[Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915: Show vma allocator stack when in doubt (rev3)

2018-06-28 Thread Patchwork
== Series Details == Series: drm/i915: Show vma allocator stack when in doubt (rev3) URL : https://patchwork.freedesktop.org/series/45562/ State : failure == Summary == = CI Bug Log - changes from CI_DRM_4396 -> Patchwork_9462 = == Summary - FAILURE == Serious unknown changes coming with P

Re: [Intel-gfx] [PATCH 6/9] drm/i915/execlists: Reset CSB write pointer after reset

2018-06-28 Thread Chris Wilson
Quoting Tvrtko Ursulin (2018-06-28 11:06:25) > > On 27/06/2018 22:07, Chris Wilson wrote: > > On HW reset, the HW clears the write pointer (to 0). But since it also > > writes its first CSB entry to slot 0, we need to reset the write pointer > > back to the element before (so the first entry we re

[Intel-gfx] [PATCH v2] drm/i915/execlists: Reset CSB write pointer after reset

2018-06-28 Thread Chris Wilson
On HW reset, the HW clears the write pointer (to 0). But since it also writes its first CSB entry to slot 0, we need to reset the write pointer back to the element before (so the first entry we read is 0). This is required for the next patch, where we trust the CSB completely! v2: Use _MASKED_FIE

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/9] drm/i915: Drop posting reads to flush master interrupts (rev2)

2018-06-28 Thread Patchwork
== Series Details == Series: series starting with [1/9] drm/i915: Drop posting reads to flush master interrupts (rev2) URL : https://patchwork.freedesktop.org/series/45531/ State : warning == Summary == $ dim checkpatch origin/drm-tip 6d78246fb880 drm/i915: Drop posting reads to flush master

[Intel-gfx] ✗ Fi.CI.IGT: failure for series starting with [1/2] drm/i915: Remove support for legacy debugfs crc interface

2018-06-28 Thread Patchwork
== Series Details == Series: series starting with [1/2] drm/i915: Remove support for legacy debugfs crc interface URL : https://patchwork.freedesktop.org/series/45553/ State : failure == Summary == = CI Bug Log - changes from CI_DRM_4396_full -> Patchwork_9459_full = == Summary - FAILURE ==

[Intel-gfx] [PATCH i-g-t] igt/kms_universal_plane: Flush pending cleanups

2018-06-28 Thread Chris Wilson
drm_atomic_helper allows for up to one outstanding cleanup task to be in flight before a new modeset (see stall_commit in stall_checks()), In lieu of hooking up a debugfs to force flushing of the outstanding work, submit enough blocking modesets to ensure that the pending work is completed before c

Re: [Intel-gfx] [PATCH 5/9] drm/i915/execlists: Unify CSB access pointers

2018-06-28 Thread Tvrtko Ursulin
On 28/06/2018 11:10, Chris Wilson wrote: Quoting Tvrtko Ursulin (2018-06-28 11:02:17) On 27/06/2018 22:07, Chris Wilson wrote: Following the removal of the last workarounds, the only CSB mmio access is for the old vGPU interface. The mmio registers presented by vGPU do not require forcewake a

[Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/9] drm/i915: Drop posting reads to flush master interrupts (rev2)

2018-06-28 Thread Patchwork
== Series Details == Series: series starting with [1/9] drm/i915: Drop posting reads to flush master interrupts (rev2) URL : https://patchwork.freedesktop.org/series/45531/ State : success == Summary == = CI Bug Log - changes from CI_DRM_4396 -> Patchwork_9463 = == Summary - SUCCESS == No

Re: [Intel-gfx] [PATCH 6/9] drm/i915/execlists: Reset CSB write pointer after reset

2018-06-28 Thread Tvrtko Ursulin
On 28/06/2018 11:17, Chris Wilson wrote: Quoting Tvrtko Ursulin (2018-06-28 11:06:25) On 27/06/2018 22:07, Chris Wilson wrote: On HW reset, the HW clears the write pointer (to 0). But since it also writes its first CSB entry to slot 0, we need to reset the write pointer back to the element be

Re: [Intel-gfx] [PATCH 5/9] drm/i915/execlists: Unify CSB access pointers

2018-06-28 Thread Chris Wilson
Quoting Tvrtko Ursulin (2018-06-28 11:58:26) > On 28/06/2018 11:10, Chris Wilson wrote: > > Quoting Tvrtko Ursulin (2018-06-28 11:02:17) > >> > >> On 27/06/2018 22:07, Chris Wilson wrote: > >>> + GEM_TRACE("%s cs-irq head=%d, tail=%d\n", engine->name, head, tail); > >>> + if (unlikely(head

Re: [Intel-gfx] [PATCH i-g-t] igt/kms_universal_plane: Flush pending cleanups

2018-06-28 Thread Maarten Lankhorst
Op 28-06-18 om 12:51 schreef Chris Wilson: > drm_atomic_helper allows for up to one outstanding cleanup task to be in > flight before a new modeset (see stall_commit in stall_checks()), In > lieu of hooking up a debugfs to force flushing of the outstanding work, > submit enough blocking modesets to

Re: [Intel-gfx] ✗ Fi.CI.IGT: failure for series starting with [1/2] drm/i915: Remove support for legacy debugfs crc interface

2018-06-28 Thread Maarten Lankhorst
Op 28-06-18 om 12:41 schreef Patchwork: > == Series Details == > > Series: series starting with [1/2] drm/i915: Remove support for legacy > debugfs crc interface > URL : https://patchwork.freedesktop.org/series/45553/ > State : failure > > == Summary == > > = CI Bug Log - changes from CI_DRM_439

[Intel-gfx] [PATCH v2] drm/i915/execlists: Unify CSB access pointers

2018-06-28 Thread Chris Wilson
Following the removal of the last workarounds, the only CSB mmio access is for the old vGPU interface. The mmio registers presented by vGPU do not require forcewake and can be treated as ordinary volatile memory, i.e. they behave just like the HWSP access just at a different location. We can reduce

Re: [Intel-gfx] [PATCH i-g-t] igt/kms_universal_plane: Flush pending cleanups

2018-06-28 Thread Chris Wilson
Quoting Maarten Lankhorst (2018-06-28 12:06:35) > Op 28-06-18 om 12:51 schreef Chris Wilson: > > drm_atomic_helper allows for up to one outstanding cleanup task to be in > > flight before a new modeset (see stall_commit in stall_checks()), In > > lieu of hooking up a debugfs to force flushing of th

[Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [1/9] drm/i915: Drop posting reads to flush master interrupts (rev3)

2018-06-28 Thread Patchwork
== Series Details == Series: series starting with [1/9] drm/i915: Drop posting reads to flush master interrupts (rev3) URL : https://patchwork.freedesktop.org/series/45531/ State : failure == Summary == Applying: drm/i915: Drop posting reads to flush master interrupts Applying: drm/i915/execl

Re: [Intel-gfx] [PATCH v2] drm/i915/execlists: Unify CSB access pointers

2018-06-28 Thread Tvrtko Ursulin
On 28/06/2018 12:13, Chris Wilson wrote: Following the removal of the last workarounds, the only CSB mmio access is for the old vGPU interface. The mmio registers presented by vGPU do not require forcewake and can be treated as ordinary volatile memory, i.e. they behave just like the HWSP access

Re: [Intel-gfx] [PATCH i-g-t] igt/kms_universal_plane: Flush pending cleanups

2018-06-28 Thread Maarten Lankhorst
Op 28-06-18 om 13:16 schreef Chris Wilson: > Quoting Maarten Lankhorst (2018-06-28 12:06:35) >> Op 28-06-18 om 12:51 schreef Chris Wilson: >>> drm_atomic_helper allows for up to one outstanding cleanup task to be in >>> flight before a new modeset (see stall_commit in stall_checks()), In >>> lieu o

Re: [Intel-gfx] [PATCH 8/9] drm/i915/execlists: Trust the CSB

2018-06-28 Thread Tvrtko Ursulin
On 27/06/2018 22:07, Chris Wilson wrote: Now that we use the CSB stored in the CPU friendly HWSP, we do not need to track interrupts for when the mmio CSB registers are valid and can just check where we read up to last from the cached HWSP. This means we can forgo the atomic bit tracking from in

Re: [Intel-gfx] [PATCH 6/9] drm/i915/execlists: Reset CSB write pointer after reset

2018-06-28 Thread Chris Wilson
Quoting Tvrtko Ursulin (2018-06-28 12:02:30) > > On 28/06/2018 11:17, Chris Wilson wrote: > > Quoting Tvrtko Ursulin (2018-06-28 11:06:25) > >> > >> On 27/06/2018 22:07, Chris Wilson wrote: > >>> On HW reset, the HW clears the write pointer (to 0). But since it also > >>> writes its first CSB entr

Re: [Intel-gfx] [PATCH i-g-t] igt/kms_universal_plane: Flush pending cleanups

2018-06-28 Thread Chris Wilson
Quoting Maarten Lankhorst (2018-06-28 12:25:18) > Op 28-06-18 om 13:16 schreef Chris Wilson: > > Quoting Maarten Lankhorst (2018-06-28 12:06:35) > >> Op 28-06-18 om 12:51 schreef Chris Wilson: > >>> drm_atomic_helper allows for up to one outstanding cleanup task to be in > >>> flight before a new m

Re: [Intel-gfx] [PATCH 6/9] drm/i915/execlists: Reset CSB write pointer after reset

2018-06-28 Thread Tvrtko Ursulin
On 28/06/2018 12:30, Chris Wilson wrote: Quoting Tvrtko Ursulin (2018-06-28 12:02:30) On 28/06/2018 11:17, Chris Wilson wrote: Quoting Tvrtko Ursulin (2018-06-28 11:06:25) On 27/06/2018 22:07, Chris Wilson wrote: On HW reset, the HW clears the write pointer (to 0). But since it also writes

Re: [Intel-gfx] [PATCH i-g-t] igt/kms_universal_plane: Flush pending cleanups

2018-06-28 Thread Maarten Lankhorst
Op 28-06-18 om 13:34 schreef Chris Wilson: > Quoting Maarten Lankhorst (2018-06-28 12:25:18) >> Op 28-06-18 om 13:16 schreef Chris Wilson: >>> Quoting Maarten Lankhorst (2018-06-28 12:06:35) Op 28-06-18 om 12:51 schreef Chris Wilson: > drm_atomic_helper allows for up to one outstanding cle

Re: [Intel-gfx] [PATCH v5 08/40] drm/i915: Initialize HDCP2.2 and its MEI interface

2018-06-28 Thread Dan Carpenter
[ The bot has a bug where it doesn't copy the error messages so I just guess what the issue is. - dan ] Hi Ramalingam, Thank you for the patch! Perhaps something to improve: url: https://github.com/0day-ci/linux/commits/Ramalingam-C/drm-i915-Implement-HDCP2-2/20180627-174219 base: git:/

Re: [Intel-gfx] [PATCH 07/31] drm/i915/execlists: Direct submission of new requests (avoid tasklet/ksoftirqd)

2018-06-28 Thread Tvrtko Ursulin
On 27/06/2018 16:28, Chris Wilson wrote: Quoting Tvrtko Ursulin (2018-06-27 16:21:24) On 27/06/2018 14:29, Chris Wilson wrote: Quoting Tvrtko Ursulin (2018-06-27 14:15:22) On 27/06/2018 11:58, Chris Wilson wrote: That tasklets get kicked randomly, I think was the culprit. What do you mea

[Intel-gfx] [PATCH v3] drm/i915/execlists: Reset CSB write pointer after reset

2018-06-28 Thread Chris Wilson
On HW reset, the HW clears the write pointer (to 0). But since it also writes its first CSB entry to slot 0, we need to reset the write pointer back to the element before (so the first entry we read is 0). This is required for the next patch, where we trust the CSB completely! v2: Use _MASKED_FIE

Re: [Intel-gfx] [PATCH 8/9] drm/i915/execlists: Trust the CSB

2018-06-28 Thread Chris Wilson
Quoting Tvrtko Ursulin (2018-06-28 12:29:41) > > On 27/06/2018 22:07, Chris Wilson wrote: > > @@ -1881,6 +1861,7 @@ execlists_reset_prepare(struct intel_engine_cs > > *engine) > > { > > struct intel_engine_execlists * const execlists = &engine->execlists; > > struct i915_request *re

Re: [Intel-gfx] [PATCH] drm/i915: encourage BIT() macro usage in register definitions

2018-06-28 Thread Jani Nikula
On Wed, 27 Jun 2018, Chris Wilson wrote: > Quoting Michal Wajdeczko (2018-06-27 16:51:42) >> On Wed, 27 Jun 2018 16:41:13 +0200, Jani Nikula >> wrote: >> >> > There's already some BIT() usage here and there, embrace it. >> > >> > Cc: Paulo Zanoni >> > Signed-off-by: Jani Nikula >> > --- >> >

Re: [Intel-gfx] [PATCH 07/31] drm/i915/execlists: Direct submission of new requests (avoid tasklet/ksoftirqd)

2018-06-28 Thread Chris Wilson
Quoting Tvrtko Ursulin (2018-06-28 12:56:56) > > On 27/06/2018 16:28, Chris Wilson wrote: > > Quoting Tvrtko Ursulin (2018-06-27 16:21:24) > >> > >> On 27/06/2018 14:29, Chris Wilson wrote: > >>> Quoting Tvrtko Ursulin (2018-06-27 14:15:22) > > On 27/06/2018 11:58, Chris Wilson wrote: >

[Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [1/9] drm/i915: Drop posting reads to flush master interrupts (rev4)

2018-06-28 Thread Patchwork
== Series Details == Series: series starting with [1/9] drm/i915: Drop posting reads to flush master interrupts (rev4) URL : https://patchwork.freedesktop.org/series/45531/ State : failure == Summary == Applying: drm/i915: Drop posting reads to flush master interrupts Applying: drm/i915/execl

Re: [Intel-gfx] [PATCH 07/31] drm/i915/execlists: Direct submission of new requests (avoid tasklet/ksoftirqd)

2018-06-28 Thread Chris Wilson
Quoting Chris Wilson (2018-06-28 13:07:51) > Quoting Tvrtko Ursulin (2018-06-28 12:56:56) > > And tasklet kick from intel_enable_engine_stats, hm yep. But wouldn't > > taking the timeline lock around active state reconstruction solve that > > simpler? > > Can you? We probably can. (That one was

Re: [Intel-gfx] [PATCH v3] drm/i915/execlists: Reset CSB write pointer after reset

2018-06-28 Thread Tvrtko Ursulin
On 28/06/2018 12:59, Chris Wilson wrote: On HW reset, the HW clears the write pointer (to 0). But since it also writes its first CSB entry to slot 0, we need to reset the write pointer back to the element before (so the first entry we read is 0). This is required for the next patch, where we tr

Re: [Intel-gfx] [PATCH v3] drm/i915/execlists: Reset CSB write pointer after reset

2018-06-28 Thread Chris Wilson
Quoting Tvrtko Ursulin (2018-06-28 13:15:07) > > On 28/06/2018 12:59, Chris Wilson wrote: > > On HW reset, the HW clears the write pointer (to 0). But since it also > > writes its first CSB entry to slot 0, we need to reset the write pointer > > back to the element before (so the first entry we re

Re: [Intel-gfx] [PATCH 07/31] drm/i915/execlists: Direct submission of new requests (avoid tasklet/ksoftirqd)

2018-06-28 Thread Tvrtko Ursulin
On 28/06/2018 13:11, Chris Wilson wrote: Quoting Chris Wilson (2018-06-28 13:07:51) Quoting Tvrtko Ursulin (2018-06-28 12:56:56) And tasklet kick from intel_enable_engine_stats, hm yep. But wouldn't taking the timeline lock around active state reconstruction solve that simpler? Can you? We p

[Intel-gfx] [PATCH 4/9] drm/i915/execlists: Process one CSB update at a time

2018-06-28 Thread Chris Wilson
In the next patch, we will process the CSB events directly from the submission path, rather than only after a CS interrupt. Hence, we will no longer have the need for a loop until the has-interrupt bit is clear, and in the meantime can remove that small optimisation. v2: Tvrtko pointed out it was

[Intel-gfx] [PATCH 1/9] drm/i915: Drop posting reads to flush master interrupts

2018-06-28 Thread Chris Wilson
We do not need to do a posting read of our uncached mmio write to re-enable the master interrupt lines after handling an interrupt, so don't. This saves us a slow UC read before we can process the interrupt, most noticeable in execlists where any stalls imposes extra latency on GPU command executio

[Intel-gfx] [PATCH 2/9] drm/i915/execlists: Pull submit after dequeue under timeline lock

2018-06-28 Thread Chris Wilson
In the next patch, we will begin processing the CSB from inside the submission path (underneath an irqsoff section, and even from inside interrupt handlers). This means that updating the execlists->port[] will no longer be serialised by the tasklet but needs to be locked by the engine->timeline.loc

[Intel-gfx] [PATCH 8/9] drm/i915/execlists: Trust the CSB

2018-06-28 Thread Chris Wilson
Now that we use the CSB stored in the CPU friendly HWSP, we do not need to track interrupts for when the mmio CSB registers are valid and can just check where we read up to last from the cached HWSP. This means we can forgo the atomic bit tracking from interrupt, and in the next patch it means we c

[Intel-gfx] [PATCH 3/9] drm/i915/execlists: Pull CSB reset under the timeline.lock

2018-06-28 Thread Chris Wilson
In the following patch, we will process the CSB events under the timeline.lock and not serialised by the tasklet. This also means that we will need to protect access to common variables such as execlists->csb_head with the timeline.lock during reset. v2: Move sync_irq to avoid deadlocks between ta

[Intel-gfx] [PATCH 5/9] drm/i915/execlists: Unify CSB access pointers

2018-06-28 Thread Chris Wilson
Following the removal of the last workarounds, the only CSB mmio access is for the old vGPU interface. The mmio registers presented by vGPU do not require forcewake and can be treated as ordinary volatile memory, i.e. they behave just like the HWSP access just at a different location. We can reduce

[Intel-gfx] [PATCH 6/9] drm/i915/execlists: Reset CSB write pointer after reset

2018-06-28 Thread Chris Wilson
On HW reset, the HW clears the write pointer (to 0). But since it also writes its first CSB entry to slot 0, we need to reset the write pointer back to the element before (so the first entry we read is 0). This is required for the next patch, where we trust the CSB completely! v2: Use _MASKED_FIE

[Intel-gfx] [PATCH 9/9] drm/i915/execlists: Direct submission of new requests (avoid tasklet/ksoftirqd)

2018-06-28 Thread Chris Wilson
Back in commit 27af5eea54d1 ("drm/i915: Move execlists irq handler to a bottom half"), we came to the conclusion that running our CSB processing and ELSP submission from inside the irq handler was a bad idea. A really bad idea as we could impose nearly 1s latency on other users of the system, on av

[Intel-gfx] [PATCH 7/9] drm/i915/execlists: Stop storing the CSB read pointer in the mmio register

2018-06-28 Thread Chris Wilson
As we now never read back our current head position from the CSB pointers register, and the HW itself doesn't use it to prevent overwriting unread CSB entries, we do not need to keep updating the register. As it turns out this register is not listed as being shadowed, and so requires forcewake -- b

Re: [Intel-gfx] [PATCH 07/31] drm/i915/execlists: Direct submission of new requests (avoid tasklet/ksoftirqd)

2018-06-28 Thread Chris Wilson
Quoting Tvrtko Ursulin (2018-06-28 13:29:32) > > On 28/06/2018 13:11, Chris Wilson wrote: > > Quoting Chris Wilson (2018-06-28 13:07:51) > >> Quoting Tvrtko Ursulin (2018-06-28 12:56:56) > >>> And tasklet kick from intel_enable_engine_stats, hm yep. But wouldn't > >>> taking the timeline lock arou

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/9] drm/i915: Drop posting reads to flush master interrupts

2018-06-28 Thread Patchwork
== Series Details == Series: series starting with [1/9] drm/i915: Drop posting reads to flush master interrupts URL : https://patchwork.freedesktop.org/series/45574/ State : warning == Summary == $ dim checkpatch origin/drm-tip c25ca2aa7052 drm/i915: Drop posting reads to flush master interru

[Intel-gfx] [PATCH v6 2/2] drm/i915/gmbus: Enable burst read

2018-06-28 Thread Ramalingam C
Support for Burst read in HW is added for HDCP2.2 compliance requirement. This patch enables the burst read for all the gmbus read of more than 511Bytes, on capable platforms. v2: Extra line is removed. v3: Macro is added for detecting the BURST_READ Support [Jani] Runtime detection of the

[Intel-gfx] [PATCH v5 1/2] drm/i915/gmbus: Increase the Bytes per Rd/Wr Op

2018-06-28 Thread Ramalingam C
GMBUS HW supports 511Bytes as Max Bytes per single RD/WR op. Instead of enabling the 511Bytes per RD/WR cycle on legacy platforms for no absolute ROIs, this change allows the max bytes per op upto 511Bytes from Gen9 onwards. v2: No Change. v3: Inline function for max_xfer_size and renaming of

Re: [Intel-gfx] [PATCH 07/31] drm/i915/execlists: Direct submission of new requests (avoid tasklet/ksoftirqd)

2018-06-28 Thread Tvrtko Ursulin
On 28/06/2018 13:35, Chris Wilson wrote: Quoting Tvrtko Ursulin (2018-06-28 13:29:32) On 28/06/2018 13:11, Chris Wilson wrote: Quoting Chris Wilson (2018-06-28 13:07:51) Quoting Tvrtko Ursulin (2018-06-28 12:56:56) And tasklet kick from intel_enable_engine_stats, hm yep. But wouldn't taking

Re: [Intel-gfx] [PATCH 8/9] drm/i915/execlists: Trust the CSB

2018-06-28 Thread Tvrtko Ursulin
On 28/06/2018 13:33, Chris Wilson wrote: Now that we use the CSB stored in the CPU friendly HWSP, we do not need to track interrupts for when the mmio CSB registers are valid and can just check where we read up to last from the cached HWSP. This means we can forgo the atomic bit tracking from in

[Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/9] drm/i915: Drop posting reads to flush master interrupts

2018-06-28 Thread Patchwork
== Series Details == Series: series starting with [1/9] drm/i915: Drop posting reads to flush master interrupts URL : https://patchwork.freedesktop.org/series/45574/ State : success == Summary == = CI Bug Log - changes from CI_DRM_4397 -> Patchwork_9466 = == Summary - SUCCESS == No regres

Re: [Intel-gfx] [PATCH 1/9] drm/i915: Drop posting reads to flush master interrupts

2018-06-28 Thread Ville Syrjälä
On Thu, Jun 28, 2018 at 01:33:43PM +0100, Chris Wilson wrote: > We do not need to do a posting read of our uncached mmio write to > re-enable the master interrupt lines after handling an interrupt, so > don't. This saves us a slow UC read before we can process the interrupt, > most noticeable in ex

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [v5,1/2] drm/i915/gmbus: Increase the Bytes per Rd/Wr Op

2018-06-28 Thread Patchwork
== Series Details == Series: series starting with [v5,1/2] drm/i915/gmbus: Increase the Bytes per Rd/Wr Op URL : https://patchwork.freedesktop.org/series/45576/ State : warning == Summary == $ dim checkpatch origin/drm-tip 3065ccd37dd8 drm/i915/gmbus: Increase the Bytes per Rd/Wr Op 968b33b77

[Intel-gfx] ✗ Fi.CI.SPARSE: warning for series starting with [v5,1/2] drm/i915/gmbus: Increase the Bytes per Rd/Wr Op

2018-06-28 Thread Patchwork
== Series Details == Series: series starting with [v5,1/2] drm/i915/gmbus: Increase the Bytes per Rd/Wr Op URL : https://patchwork.freedesktop.org/series/45576/ State : warning == Summary == $ dim sparse origin/drm-tip Commit: drm/i915/gmbus: Increase the Bytes per Rd/Wr Op -O:drivers/gpu/drm

Re: [Intel-gfx] [PATCH 1/9] drm/i915: Drop posting reads to flush master interrupts

2018-06-28 Thread Chris Wilson
Quoting Ville Syrjälä (2018-06-28 14:06:40) > On Thu, Jun 28, 2018 at 01:33:43PM +0100, Chris Wilson wrote: > > We do not need to do a posting read of our uncached mmio write to > > re-enable the master interrupt lines after handling an interrupt, so > > don't. This saves us a slow UC read before w

[Intel-gfx] [PATCH v7] drm/i915/execlists: Direct submission of new requests (avoid tasklet/ksoftirqd)

2018-06-28 Thread Chris Wilson
Back in commit 27af5eea54d1 ("drm/i915: Move execlists irq handler to a bottom half"), we came to the conclusion that running our CSB processing and ELSP submission from inside the irq handler was a bad idea. A really bad idea as we could impose nearly 1s latency on other users of the system, on av

[Intel-gfx] [i-g-t] tests/kms_plane_multiple: DDB corner testcase

2018-06-28 Thread Karthik B S
This is to exercise DDB algorithm corner case where DDB allocation was not happening properly for varying size plane. Current DDB algorithm uses datarate based DDB division among planes, but planes with same width require same DDB allocation irrespective of their height. To address this a Multipl

[Intel-gfx] [PATCH v2 2/9] drm/i915: Nuke intel_mst_best_encoder()

2018-06-28 Thread Ville Syrjala
From: Ville Syrjälä With the fb-helper no longer relying on the non-atomic .best_encoder() we can eliminate the hook from the MST encoder. Cc: Daniel Vetter Cc: Dhinakaran Pandiyan Reviewed-by: Daniel Vetter Reviewed-by: Alex Deucher Signed-off-by: Ville Syrjälä --- drivers/gpu/drm/i915/in

[Intel-gfx] [PATCH v2 1/9] drm/fb-helper: Eliminate the .best_encoder() usage

2018-06-28 Thread Ville Syrjala
From: Ville Syrjälä Instead of using the .best_encoder() hook to figure out whether a given connector+crtc combo will work, let's instead do what userspace does and just iterate over all the encoders for the connector, and then check each crtc against each encoder's possible_crtcs bitmask. v2: A

[Intel-gfx] [PATCH v2 4/9] drm/amdgpu: Use drm_connector_for_each_possible_encoder()

2018-06-28 Thread Ville Syrjala
From: Ville Syrjälä Use drm_connector_for_each_possible_encoder() for iterating connector->encoder_ids[]. A bit more convenient not having to deal with the implementation details. v2: Replace drm_for_each_connector_encoder_ids() with drm_connector_for_each_possible_encoder() (Daniel) Cc: Da

[Intel-gfx] [PATCH v2 0/9] drm: Third attempt at fixing the fb-helper .best_encoder() mess

2018-06-28 Thread Ville Syrjala
From: Ville Syrjälä Changes from the previous version mainly involve Danoie's suggestion of hiding the drm_encoder_find() in the iterator macro. I also polished the msm and tilcdc cases a bit more with another small helper. Cc: Alex Deucher Cc: amd-...@lists.freedesktop.org Cc: Ben Skeggs Cc:

[Intel-gfx] [PATCH v2 5/9] drm/nouveau: Use drm_connector_for_each_possible_encoder()

2018-06-28 Thread Ville Syrjala
From: Ville Syrjälä Use drm_connector_for_each_possible_encoder() for iterating connector->encoder_ids[]. A bit more convenient not having to deal with the implementation details. v2: Replace drm_for_each_connector_encoder_ids() with drm_connector_for_each_possible_encoder() (Daniel) Cc: Da

[Intel-gfx] [PATCH v2 6/9] drm/radeon: Use drm_connector_for_each_possible_encoder()

2018-06-28 Thread Ville Syrjala
From: Ville Syrjälä Use drm_connector_for_each_possible_encoder() for iterating connector->encoder_ids[]. A bit more convenient not having to deal with the implementation details. v2: Replace drm_for_each_connector_encoder_ids() with drm_connector_for_each_possible_encoder() (Daniel) Cc: Da

[Intel-gfx] [PATCH v2 7/9] drm: Add drm_connector_has_possible_encoder()

2018-06-28 Thread Ville Syrjala
From: Ville Syrjälä Add a small helper for checking whether a connector and encoder are associated with each other. Signed-off-by: Ville Syrjälä --- drivers/gpu/drm/drm_connector.c | 23 +++ include/drm/drm_connector.h | 3 +++ 2 files changed, 26 insertions(+) diff -

[Intel-gfx] [PATCH v2 3/9] drm: Add drm_connector_for_each_possible_encoder()

2018-06-28 Thread Ville Syrjala
From: Ville Syrjälä Add a convenience macro for iterating connector->encoder_ids[]. Isolates the users from the implementation details. Note that we don't seem to pass the file_priv down to drm_encoder_find() because encoders apparently don't get leased. No idea why drm_encoder_finc() even takes

[Intel-gfx] [PATCH v2 8/9] drm/msm: Use drm_connector_has_possible_encoder()

2018-06-28 Thread Ville Syrjala
From: Ville Syrjälä Use drm_connector_has_possible_encoder() for checking whether the encoder has an associated connector. v2: Replace the drm_for_each_connector_encoder_ids() loop with a simple drm_connector_has_possible_encoder() call Cc: Rob Clark Cc: linux-arm-...@vger.kernel.org Cc: f

[Intel-gfx] [PATCH v2 9/9] drm/tilcdc: Use drm_connector_has_possible_encoder()

2018-06-28 Thread Ville Syrjala
From: Ville Syrjälä Use drm_connector_has_possible_encoder() for checking whether the encoder has an associated connector. v2: Replace the drm_for_each_connector_encoder_ids() loop with a simple drm_connector_has_possible_encoder() call Cc: Jyri Sarha Cc: Tomi Valkeinen Signed-off-by: Vil

Re: [Intel-gfx] [PATCH v7] drm/i915/execlists: Direct submission of new requests (avoid tasklet/ksoftirqd)

2018-06-28 Thread Tvrtko Ursulin
On 28/06/2018 14:11, Chris Wilson wrote: Back in commit 27af5eea54d1 ("drm/i915: Move execlists irq handler to a bottom half"), we came to the conclusion that running our CSB processing and ELSP submission from inside the irq handler was a bad idea. A really bad idea as we could impose nearly 1s

[Intel-gfx] [PATCH v4] drm/i915: Show vma allocator stack when in doubt

2018-06-28 Thread Chris Wilson
At the moment, gem_exec_gttfill fails with a sporadic EBUSY due to us wanting to unbind a pinned batch. Let's dump who first bound that vma to see if that helps us identify who still unexpectedly has it pinned. v2: We cannot allocate inside the printer (as it may be on an fs-reclaim path), so hope

Re: [Intel-gfx] [i-g-t] tests/kms_plane_multiple: DDB corner testcase

2018-06-28 Thread Maarten Lankhorst
Op 28-06-18 om 15:03 schreef Karthik B S: > This is to exercise DDB algorithm corner case where > DDB allocation was not happening properly for varying size plane. > > Current DDB algorithm uses datarate based DDB division among > planes, but planes with same width require same DDB allocation > irr

[Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [v5,1/2] drm/i915/gmbus: Increase the Bytes per Rd/Wr Op

2018-06-28 Thread Patchwork
== Series Details == Series: series starting with [v5,1/2] drm/i915/gmbus: Increase the Bytes per Rd/Wr Op URL : https://patchwork.freedesktop.org/series/45576/ State : success == Summary == = CI Bug Log - changes from CI_DRM_4397 -> Patchwork_9467 = == Summary - SUCCESS == No regressions

[Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [1/9] drm/i915: Drop posting reads to flush master interrupts (rev2)

2018-06-28 Thread Patchwork
== Series Details == Series: series starting with [1/9] drm/i915: Drop posting reads to flush master interrupts (rev2) URL : https://patchwork.freedesktop.org/series/45574/ State : failure == Summary == CALLscripts/checksyscalls.sh DESCEND objtool CHK include/generated/compile.h

Re: [Intel-gfx] [PATCH v7] drm/i915/execlists: Direct submission of new requests (avoid tasklet/ksoftirqd)

2018-06-28 Thread Chris Wilson
Quoting Tvrtko Ursulin (2018-06-28 14:21:06) > > On 28/06/2018 14:11, Chris Wilson wrote: > > +/* > > + * Check the unread Context Status Buffers and manage the submission of new > > + * contexts to the ELSP accordingly. > > + */ > > +static void execlists_submission_tasklet(unsigned long data) >

  1   2   >