Re: [Intel-gfx] Reviving the LPSS PWM patches

2016-04-09 Thread Lluís Batlle i Rossell
On Sat, Apr 09, 2016 at 11:14:38AM +0200, Lluís Batlle i Rossell wrote: > On Thu, Apr 07, 2016 at 11:54:39AM +0200, Lluís Batlle i Rossell wrote: > > On Thu, Apr 07, 2016 at 03:19:04PM +0530, Kumar, Shobhit wrote: > > > On Wednesday 06 April 2016 04:26 PM, Lluís Batlle i Rossell wrote: > > > >I don

Re: [Intel-gfx] [PATCH] fix bug in function gen8_ppgtt_clear_range, passed wrong ptr to kunmap_px.

2016-04-09 Thread enpeng xu
I found this issue when i run glbenchmark25, anyway, good to know, thanks. Regards Enpeng On Saturday, April 9, 2016, Matthew Auld wrote: > There's already a patch in the works for this: > https://patchwork.freedesktop.org/patch/80078/ > > Regards, > Matt > ___

Re: [Intel-gfx] [PATCH] fix bug in function gen8_ppgtt_clear_range, passed wrong ptr to kunmap_px.

2016-04-09 Thread Matthew Auld
There's already a patch in the works for this: https://patchwork.freedesktop.org/patch/80078/ Regards, Matt ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx

[Intel-gfx] ✗ Fi.CI.BAT: failure for fix bug in function gen8_ppgtt_clear_range, passed wrong ptr to kunmap_px.

2016-04-09 Thread Patchwork
== Series Details == Series: fix bug in function gen8_ppgtt_clear_range, passed wrong ptr to kunmap_px. URL : https://patchwork.freedesktop.org/series/5490/ State : failure == Summary == Series 5490v1 fix bug in function gen8_ppgtt_clear_range, passed wrong ptr to kunmap_px. http://patchwork

[Intel-gfx] [PATCH] fix bug in function gen8_ppgtt_clear_range, passed wrong ptr to kunmap_px.

2016-04-09 Thread enpengxu
From: Enpeng Xu Signed-off-by: Enpeng Xu --- drivers/gpu/drm/i915/i915_gem_gtt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c index 49e4f26..527eca7 100644 --- a/drivers/gpu/drm/i915/i915_gem_gtt.c

Re: [Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [01/10] drm/i915: Force clean compilation with -Werror

2016-04-09 Thread Chris Wilson
On Sat, Apr 09, 2016 at 12:27:35PM -, Patchwork wrote: > == Series Details == > > Series: series starting with [01/10] drm/i915: Force clean compilation with > -Werror > URL : https://patchwork.freedesktop.org/series/5487/ > State : failure > > == Summary == > > Series 5487v1 Series witho

[Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [01/10] drm/i915: Force clean compilation with -Werror

2016-04-09 Thread Patchwork
== Series Details == Series: series starting with [01/10] drm/i915: Force clean compilation with -Werror URL : https://patchwork.freedesktop.org/series/5487/ State : failure == Summary == Series 5487v1 Series without cover letter http://patchwork.freedesktop.org/api/1.0/series/5487/revisions/

[Intel-gfx] [PATCH 08/10] drm/i915: Simplify reset_counter handling during atomic modesetting

2016-04-09 Thread Chris Wilson
Now that the reset_counter is stored on the request, we can rearrange the code to handle reading the counter versus waiting during the atomic modesetting for readibility (by deleting the hairiest of codes). Signed-off-by: Chris Wilson Cc: Daniel Vetter Reviewed-by: Daniel Vetter --- drivers/gp

[Intel-gfx] EIO cleanup

2016-04-09 Thread Chris Wilson
Mostly reviewed series, just 2/10 needs attention (and 1/10 will be good to run through 0day to make sure it is invisible to the automated builders). -Chris ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/

[Intel-gfx] [PATCH 07/10] drm/i915: Store the reset counter when constructing a request

2016-04-09 Thread Chris Wilson
As the request is only valid during the same global reset epoch, we can record the current reset_counter when constructing the request and reuse it when waiting upon that request in future. This removes a very hairy atomic check serialised by the struct_mutex at the time of waiting and allows us to

[Intel-gfx] [PATCH 01/10] drm/i915: Force clean compilation with -Werror

2016-04-09 Thread Chris Wilson
Our driver compiles clean (nowadays thanks to 0day) but for me, at least, it would be beneficial if the compiler threw an error rather than a warning when it found a piece of suspect code. (I use this to compile-check patch series and want to break on the first compiler error in order to fix the pa

[Intel-gfx] [PATCH 09/10] drm/i915: Prevent leaking of -EIO from i915_wait_request()

2016-04-09 Thread Chris Wilson
Reporting -EIO from i915_wait_request() has proven very troublematic over the years, with numerous hard-to-reproduce bugs cropping up in the corner case of where a reset occurs and the code wasn't expecting such an error. If the we reset the GPU or have detected a hang and wish to reset the GPU, t

[Intel-gfx] [PATCH 05/10] drm/i915: Simplify checking of GPU reset_counter in display pageflips

2016-04-09 Thread Chris Wilson
If we, when we store the reset_counter for the operation, we ensure that it is not in a wedged or in the middle of a reset, we can then assert that if any reset occurs the reset_counter must change. Later we can just compare the operation's reset epoch against the current counter to see if we need

[Intel-gfx] [PATCH 03/10] drm/i915: Add GEM debugging Kconfig option

2016-04-09 Thread Chris Wilson
Currently there is a #define to enable extra BUG_ON for debugging requests and associated activities. I want to expand its use to cover all of GEM internals (so that we can saturate the code with asserts). We can add a Kconfig option to make it easier to enable - with the usual caveats of not enabl

[Intel-gfx] [PATCH 10/10] drm/i915: Suppress error message when GPU resets are disabled

2016-04-09 Thread Chris Wilson
If we do not have lowlevel support for reseting the GPU, or if the user has explicitly disabled reseting the device, the failure is expected. Since it is an expected failure, we should be using a lower priority message than *ERROR*, perhaps NOTICE. In the absence of DRM_NOTICE, just emit the expect

[Intel-gfx] [PATCH 02/10] drm/i915: Disentangle i915_drv.h includes

2016-04-09 Thread Chris Wilson
Separate out the layers of includes (linux, drm, intel, i915) so that it is a little easier to order our definitions between our multiple reentrant headers. A couple of headers needed fixes to make them more standalone (forgotten includes, forward declarations etc). Signed-off-by: Chris Wilson --

[Intel-gfx] [PATCH 06/10] drm/i915: Tighten reset_counter for reset status

2016-04-09 Thread Chris Wilson
In the reset_counter, we use two bits to track a GPU hang and reset. The low bit is a "reset-in-progress" flag that we set to signal when we need to break waiters in order for the recovery task to grab the mutex. As soon as the recovery task has the mutex, we can clear that flag (which we do by inc

[Intel-gfx] [PATCH 04/10] drm/i915: Hide the atomic_read(reset_counter) behind a helper

2016-04-09 Thread Chris Wilson
This is principally a little bit of syntatic sugar to hide the atomic_read()s throughout the code to retrieve the current reset_counter. It also provides the other utility functions to check the reset state on the already read reset_counter, so that (in later patches) we can read it once and do mul

[Intel-gfx] ✗ Fi.CI.BAT: warning for series starting with [1/4] drm/i915: Fix gen8 semaphores id for legacy mode

2016-04-09 Thread Patchwork
== Series Details == Series: series starting with [1/4] drm/i915: Fix gen8 semaphores id for legacy mode URL : https://patchwork.freedesktop.org/series/5486/ State : warning == Summary == Series 5486v1 Series without cover letter http://patchwork.freedesktop.org/api/1.0/series/5486/revisions/

[Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [CI-ping,1/5] drm/i915: Remove forcewake dance from seqno/irq barrier on legacy gen6+

2016-04-09 Thread Patchwork
== Series Details == Series: series starting with [CI-ping,1/5] drm/i915: Remove forcewake dance from seqno/irq barrier on legacy gen6+ URL : https://patchwork.freedesktop.org/series/5485/ State : failure == Summary == Series 5485v1 Series without cover letter http://patchwork.freedesktop.org

Re: [Intel-gfx] ✗ Fi.CI.BAT: warning for series starting with [1/4] drm/i915: Prevent machine death on Ivybridge context switching

2016-04-09 Thread Chris Wilson
On Sat, Apr 09, 2016 at 09:56:11AM -, Patchwork wrote: > == Series Details == > > Series: series starting with [1/4] drm/i915: Prevent machine death on > Ivybridge context switching > URL : https://patchwork.freedesktop.org/series/5484/ > State : warning > > == Summary == > > Series 5484v

[Intel-gfx] [PATCH 1/4] drm/i915: Fix gen8 semaphores id for legacy mode

2016-04-09 Thread Chris Wilson
With the introduction of a distinct engine->id vs the hardware id, we need to fix up the value we use for selecting the target engine when signaling a semaphore. Note that these values can be merged with engine->guc_id. Fixes: de1add360522c876c25ef2ab1c94bdb509ab Signed-off-by: Chris Wilson C

[Intel-gfx] [PATCH 3/4] drm/i915: Reload PD tables after semaphore wait on gen8

2016-04-09 Thread Chris Wilson
When the engine idles waiting upon a semaphore, it loses its pagetables and we must reload them before executing the batch. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/intel_ringbuffer.c | 10 ++ 1 file changed, 10 insertions(+) diff --git a/drivers/gpu/drm/i915/intel_ringbuffe

[Intel-gfx] [PATCH 4/4] drm/i915: Enable semaphores for legacy submission on gen8

2016-04-09 Thread Chris Wilson
We have sufficient evidence from igt to support that semaphores are in a working state. Enabling semaphores now for legacy provides a better comparison of execlists against legacy ring submission. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/i915_drv.c | 4 1 file changed, 4 deletio

[Intel-gfx] Finish gen8 legacy semaphores

2016-04-09 Thread Chris Wilson
Semaphores for gen8 were almost finished and only required a couple of tweaks to pass the most stressful igt I could write, as well as the existing inter-engine stress tests. But what's the point you might ask when legacy ringbuffer submission is already turned off by default? gen8 still serves as

[Intel-gfx] [PATCH 2/4] drm/i915: Fix serialisation of pipecontrol write vs semaphore signal

2016-04-09 Thread Chris Wilson
In order for the MI_SEMAPHORE_SIGNAL command to wait until after the pipecontrol writing the signal value is complete, we have to pause the CS inside the PIPE_CONTROL with the CS_STALL bit. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/intel_ringbuffer.c | 3 +-- 1 file changed, 1 inserti

[Intel-gfx] [CI-ping 3/5] drm/i915: Harden detection of missed interrupts

2016-04-09 Thread Chris Wilson
Only declare a missed interrupt if we find that the GPU is idle with waiters and a hangcheck interval has passed in which no new user interrupts have been raised. v2: Clear the stuck interrupt marker between successful batches Signed-off-by: Chris Wilson Cc: Mika Kuoppala Reviewed-by: Mika Kuop

[Intel-gfx] [CI-ping 5/5] drm/i915: Replace manual barrier() with READ_ONCE() in HWS accessor

2016-04-09 Thread Chris Wilson
When reading from the HWS page, we use barrier() to prevent the compiler optimising away the read from the volatile (may be updated by the GPU) memory address. This is more suited to READ_ONCE(); make it so. Signed-off-by: Chris Wilson Cc: Daniel Vetter Cc: Mika Kuoppala Reviewed-by: Mika Kuopp

[Intel-gfx] [CI-ping 2/5] drm/i915: Separate out the seqno-barrier from engine->get_seqno

2016-04-09 Thread Chris Wilson
In order to simplify future patches, extract the lazy_coherency optimisation our of the engine->get_seqno() vfunc into its own callback. v2: Rename the barrier to engine->irq_seqno_barrier to try and better reflect that the barrier is only required after the user interrupt before reading the seqno

[Intel-gfx] [CI-ping 4/5] drm/i915: Use simplest form for flushing the single cacheline in the HWS

2016-04-09 Thread Chris Wilson
Rather than call a function to compute the matching cachelines and clflush them, just call the clflush *instruction* directly. We also know that we can use the unpatched plain clflush rather than the clflushopt alternative. Signed-off-by: Chris Wilson Cc: Mika Kuoppala Cc: Imre Deak Reviewed-by

[Intel-gfx] [CI-ping 1/5] drm/i915: Remove forcewake dance from seqno/irq barrier on legacy gen6+

2016-04-09 Thread Chris Wilson
In order to ensure seqno/irq coherency, we currently read a ring register. The mmio transaction following the interrupt delays the inspection of the seqno long enough for the MI_STORE_DWORD_IMM to update the CPU cache. However, it is only the memory timing that is important for the purposes of the

[Intel-gfx] ✗ Fi.CI.BAT: warning for series starting with [1/4] drm/i915: Prevent machine death on Ivybridge context switching

2016-04-09 Thread Patchwork
== Series Details == Series: series starting with [1/4] drm/i915: Prevent machine death on Ivybridge context switching URL : https://patchwork.freedesktop.org/series/5484/ State : warning == Summary == Series 5484v1 Series without cover letter http://patchwork.freedesktop.org/api/1.0/series/5

Re: [Intel-gfx] [PATCH 2/4] drm/i915: Force ringbuffers to not be at offset 0

2016-04-09 Thread Chris Wilson
On Sat, Apr 09, 2016 at 10:27:37AM +0100, Chris Wilson wrote: > For reasons unknown Sandybridge GT1 (at least) will eventually hang when > it encounters a ring wraparound at offset 0. The test case that > reproduces the bug reliably forces a large number of interrupted context > switches, thereby c

[Intel-gfx] [PATCH 4/4] drm/i915: Late request cancellations are harmful

2016-04-09 Thread Chris Wilson
Conceptually, each request is a record of a hardware transaction - we build up a list of pending commands and then either commit them to hardware, or cancel them. However, whilst building up the list of pending commands, we may modify state outside of the request and make references to the pending

[Intel-gfx] GPU and machine hang fixes, take 2

2016-04-09 Thread Chris Wilson
Please review or even just ack! Tvrtko, please have another look at 4/4 as it impacts upon requests and both the state we track in a request and activity tracked by requests. -Chris ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://list

[Intel-gfx] [PATCH 1/4] drm/i915: Prevent machine death on Ivybridge context switching

2016-04-09 Thread Chris Wilson
Two concurrent writes into the same register cacheline has the chance of killing the machine on Ivybridge and other gen7. This includes LRI emitted from the command parser. The MI_SET_CONTEXT itself serves as serialising barrier and prevents the pair of register writes in the first packet from tri

[Intel-gfx] [PATCH 3/4] drm/i915: Move the mb() following release-mmap into release-mmap

2016-04-09 Thread Chris Wilson
As paranoia, we want to ensure that the CPU's PTEs have been revoked for the object before we return from i915_gem_release_mmap(). This allows us to rely on there being no outstanding memory accesses and guarantees serialisation of the code against concurrent access just by calling i915_gem_release

[Intel-gfx] [PATCH 2/4] drm/i915: Force ringbuffers to not be at offset 0

2016-04-09 Thread Chris Wilson
For reasons unknown Sandybridge GT1 (at least) will eventually hang when it encounters a ring wraparound at offset 0. The test case that reproduces the bug reliably forces a large number of interrupted context switches, thereby causing very frequent ring wraparounds, but there are similar bug repor

Re: [Intel-gfx] Reviving the LPSS PWM patches

2016-04-09 Thread Lluís Batlle i Rossell
On Thu, Apr 07, 2016 at 11:54:39AM +0200, Lluís Batlle i Rossell wrote: > On Thu, Apr 07, 2016 at 03:19:04PM +0530, Kumar, Shobhit wrote: > > On Wednesday 06 April 2016 04:26 PM, Lluís Batlle i Rossell wrote: > > >I don't see any trace of pwm/lpss in dmesg, so it's normal that i915 fails > > >to fi

Re: [Intel-gfx] [RFC 0/4] Eliminating the execlist retired request queue

2016-04-09 Thread Chris Wilson
On Fri, Apr 08, 2016 at 02:54:54PM +0100, Tvrtko Ursulin wrote: > From: Tvrtko Ursulin > > Retired request queue coupled with retired work handler is a scalability > concern on some workloads of which one dramatic example is gem_close_race. > > This series depend on i915_gem_object_pin_map serie