[Intel-gfx] linux-next: build failure after merge of the tip tree (from the drm-intel tree)

2016-07-04 Thread Stephen Rothwell
Hi all, After merging the tip tree, today's linux-next build (x86_64 allmodconfig) failed like this: In file included from include/uapi/linux/stddef.h:1:0, from include/linux/stddef.h:4, from include/uapi/linux/posix_types.h:4, from include/uapi/

Re: [Intel-gfx] [PATCH] drm/i915:gen9: implement WaMediaPoolStateCmdInWABB

2016-07-04 Thread Arun Siluvery
On 04/07/2016 14:38, tim.g...@intel.com wrote: From: Tim Gore This patch applies WaMediaPoolStateCmdInWABB which fixes a problem with the restoration of thread counts on resuming from RC6. Signed-off-by: Tim Gore suggest adding hsd ref# to commit msg. --- drivers/gpu/drm/i915/intel_lrc.

Re: [Intel-gfx] ✗ Ro.CI.BAT: failure for drm/i915: Explicitly convert some macros to boolean values

2016-07-04 Thread Tvrtko Ursulin
On 04/07/16 16:26, Patchwork wrote: == Series Details == Series: drm/i915: Explicitly convert some macros to boolean values URL : https://patchwork.freedesktop.org/series/9475/ State : failure == Summary == Series 9475v1 drm/i915: Explicitly convert some macros to boolean values http://patc

[Intel-gfx] ✗ Ro.CI.BAT: failure for drm/i915: Explicitly convert some macros to boolean values

2016-07-04 Thread Patchwork
== Series Details == Series: drm/i915: Explicitly convert some macros to boolean values URL : https://patchwork.freedesktop.org/series/9475/ State : failure == Summary == Series 9475v1 drm/i915: Explicitly convert some macros to boolean values http://patchwork.freedesktop.org/api/1.0/series/94

Re: [Intel-gfx] [PATCH] drm/i915: Explicitly convert some macros to boolean values

2016-07-04 Thread Chris Wilson
On Mon, Jul 04, 2016 at 03:50:23PM +0100, Tvrtko Ursulin wrote: > From: Tvrtko Ursulin > > Some IS_ and HAS_ macros can return any non-zero value for true. > > One potential problem with that is that someone could assign > them to integers and be surprised with the result. Therefore it > is prob

[Intel-gfx] ✗ Ro.CI.BAT: warning for drm/i915/guc: Protect against HAS_GUC_* returning true values other than one

2016-07-04 Thread Patchwork
== Series Details == Series: drm/i915/guc: Protect against HAS_GUC_* returning true values other than one URL : https://patchwork.freedesktop.org/series/9473/ State : warning == Summary == Series 9473v1 drm/i915/guc: Protect against HAS_GUC_* returning true values other than one http://patch

Re: [Intel-gfx] [PATCH] drm/i915/guc: Protect against HAS_GUC_* returning true values other than one

2016-07-04 Thread Chris Wilson
On Mon, Jul 04, 2016 at 03:30:33PM +0100, Tvrtko Ursulin wrote: > From: Tvrtko Ursulin > > At the moment HAS_GUC_UCODE == HAS_GUC == IS_GEN9 == > (INTEL_INFO(dev)->gen_mask & BIT(8)), which is true but not one. And > module parameters are integers and not booleans so compiler will not > normalize

[Intel-gfx] [PATCH] drm/i915: Explicitly convert some macros to boolean values

2016-07-04 Thread Tvrtko Ursulin
From: Tvrtko Ursulin Some IS_ and HAS_ macros can return any non-zero value for true. One potential problem with that is that someone could assign them to integers and be surprised with the result. Therefore it is probably safer to do the conversion to 0/1 in the macros themselves. Luckily this

Re: [Intel-gfx] [PACTH i-g-t v1] lib/igt_gt: Fix unused variable warning for non-x86 targets

2016-07-04 Thread Marius Vlad
Applied. On Mon, Jun 27, 2016 at 06:58:24AM -0400, robert.f...@collabora.com wrote: > From: Robert Foss > > Moved variable declaration inside #if case to avoid unused variable warnings > on non-x86 targets. > > Signed-off-by: Robert Foss > --- > lib/igt_gt.c | 3 ++- > 1 file changed, 2 insert

[Intel-gfx] [PATCH] drm/i915/guc: Protect against HAS_GUC_* returning true values other than one

2016-07-04 Thread Tvrtko Ursulin
From: Tvrtko Ursulin At the moment HAS_GUC_UCODE == HAS_GUC == IS_GEN9 == (INTEL_INFO(dev)->gen_mask & BIT(8)), which is true but not one. And module parameters are integers and not booleans so compiler will not normalize the value for us. Quick and easy fix for the GuC loading code and the whol

Re: [Intel-gfx] [PATCH i-g-t] configure: update bugzilla URL

2016-07-04 Thread Marius Vlad
Applied. On Wed, Jun 22, 2016 at 07:08:03AM -0400, Mike Frysinger wrote: > Signed-off-by: Mike Frysinger > --- > configure.ac | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/configure.ac b/configure.ac > index 2e2c3ab7a7b0..d84508b5f6f5 100644 > --- a/configure.ac > +++

Re: [Intel-gfx] [PATCH v2 i-g-t] demos/intel_sprite_on: Fix connector iteration bug

2016-07-04 Thread Marius Vlad
Applied. On Wed, Jun 15, 2016 at 10:48:32AM -0700, Jim Bride wrote: > Instead of looping until the first disconnected port is found, > now go through all possible connectors, drawing the sprite on > any connected display. > > v2: Print a message if we don't find any valid connectors. > > Signed-o

[Intel-gfx] ✗ Ro.CI.BAT: failure for drm/i915:gen9: implement WaMediaPoolStateCmdInWABB

2016-07-04 Thread Patchwork
== Series Details == Series: drm/i915:gen9: implement WaMediaPoolStateCmdInWABB URL : https://patchwork.freedesktop.org/series/9467/ State : failure == Summary == Series 9467v1 drm/i915:gen9: implement WaMediaPoolStateCmdInWABB http://patchwork.freedesktop.org/api/1.0/series/9467/revisions/1/m

[Intel-gfx] ✗ Ro.CI.BAT: failure for drm/i915: Remove use of dev_priv->dev backpointer in __i915_printk()

2016-07-04 Thread Patchwork
== Series Details == Series: drm/i915: Remove use of dev_priv->dev backpointer in __i915_printk() URL : https://patchwork.freedesktop.org/series/9463/ State : failure == Summary == Series 9463v1 drm/i915: Remove use of dev_priv->dev backpointer in __i915_printk() http://patchwork.freedesktop.

[Intel-gfx] [PATCH] drm/i915:gen9: implement WaMediaPoolStateCmdInWABB

2016-07-04 Thread tim . gore
From: Tim Gore This patch applies WaMediaPoolStateCmdInWABB which fixes a problem with the restoration of thread counts on resuming from RC6. Signed-off-by: Tim Gore --- drivers/gpu/drm/i915/intel_lrc.c | 25 + 1 file changed, 25 insertions(+) diff --git a/drivers/gpu/

[Intel-gfx] [PATCH] drm/i915: Remove use of dev_priv->dev backpointer in __i915_printk()

2016-07-04 Thread Chris Wilson
As we can just directly use drm_dev->drm.dev, we do not need the drm_dev->dev backpointer anymore and can also loose the warning about order of __i915_printk() and our initialisation (which is now always safe). Signed-off-by: Chris Wilson Cc: Imre Deak --- drivers/gpu/drm/i915/i915_drv.c | 3 +-

Re: [Intel-gfx] [PATCH driver/intel] sna/cursor: Make sure hw cursors are disabled before disabling secondary planes

2016-07-04 Thread Egbert Eich
On Tue, Jun 21, 2016 at 09:25:36PM +0100, Chris Wilson wrote: > On Tue, Jun 21, 2016 at 07:34:34PM +0200, Egbert Eich wrote: > > When the hw cursors are not disabled before the cursor planes get disabled > > we may lose the cursor later on. Thus make sure the cursors are disabled > > before the cur

Re: [Intel-gfx] ✗ Ro.CI.BAT: failure for series starting with [CI,1/2] drm/i915: Mass convert dev->dev_private to to_i915(dev)

2016-07-04 Thread Chris Wilson
On Mon, Jul 04, 2016 at 11:45:57AM -, Patchwork wrote: > == Series Details == > > Series: series starting with [CI,1/2] drm/i915: Mass convert dev->dev_private > to to_i915(dev) > URL : https://patchwork.freedesktop.org/series/9459/ > State : failure > > == Summary == > > Series 9459v1 Se

[Intel-gfx] ✗ Ro.CI.BAT: failure for series starting with [CI,1/2] drm/i915: Mass convert dev->dev_private to to_i915(dev)

2016-07-04 Thread Patchwork
== Series Details == Series: series starting with [CI,1/2] drm/i915: Mass convert dev->dev_private to to_i915(dev) URL : https://patchwork.freedesktop.org/series/9459/ State : failure == Summary == Series 9459v1 Series without cover letter http://patchwork.freedesktop.org/api/1.0/series/9459/

[Intel-gfx] ✗ Ro.CI.BAT: failure for series starting with [1/2] drm/i915/guc: Consolidate firmware major-minor to one place

2016-07-04 Thread Patchwork
== Series Details == Series: series starting with [1/2] drm/i915/guc: Consolidate firmware major-minor to one place URL : https://patchwork.freedesktop.org/series/9457/ State : failure == Summary == Series 9457v1 Series without cover letter http://patchwork.freedesktop.org/api/1.0/series/9457

[Intel-gfx] ✗ Ro.CI.BAT: failure for drm/i915: Mass convert dev->dev_private to to_i915(dev) (rev2)

2016-07-04 Thread Patchwork
== Series Details == Series: drm/i915: Mass convert dev->dev_private to to_i915(dev) (rev2) URL : https://patchwork.freedesktop.org/series/9385/ State : failure == Summary == Series 9385v2 drm/i915: Mass convert dev->dev_private to to_i915(dev) http://patchwork.freedesktop.org/api/1.0/series/9

Re: [Intel-gfx] [PATCH] drm/i915: tidy up request alloc

2016-07-04 Thread Dave Gordon
On 04/07/16 05:08, Liu, Hong wrote: On Fri, 2016-07-01 at 19:34 +0100, Chris Wilson wrote: On Fri, Jul 01, 2016 at 05:58:18PM +0100, Dave Gordon wrote: On 30/06/16 13:49, Tvrtko Ursulin wrote: On 30/06/16 11:22, Chris Wilson wrote: On Thu, Jun 30, 2016 at 09:50:20AM +0100, Tvrtko Ursulin wro

Re: [Intel-gfx] [PATCH] drm/i915: convert a few more E->dev_private to to_i915(E)

2016-07-04 Thread Chris Wilson
On Mon, Jul 04, 2016 at 10:59:25AM +0100, Dave Gordon wrote: > Also remove some redundant dev and dev_priv locals > > Signed-off-by: Dave Gordon > Cc: Chris Wilson Reviewed-by: Chris Wilson Picked up as a partner to the mass conversion, and resent to CI. -Chris -- Chris Wilson, Intel Open So

[Intel-gfx] [CI 2/2] drm/i915: convert a few more E->dev_private to to_i915(E)

2016-07-04 Thread Chris Wilson
From: Dave Gordon Also remove some redundant dev and dev_priv locals Signed-off-by: Dave Gordon Cc: Chris Wilson Link: http://patchwork.freedesktop.org/patch/msgid/1467626365-29871-1-git-send-email-david.s.gor...@intel.com Reviewed-by: Chris Wilson Signed-off-by: Chris Wilson --- drivers/g

[Intel-gfx] [PATCH 1/2] drm/i915/guc: Consolidate firmware major-minor to one place

2016-07-04 Thread Tvrtko Ursulin
From: Tvrtko Ursulin Currently to change the firmware one has to update the exported module firmware string and the major-minor versions used for verification after load. Consolidate that to a single place defining correct major and minor versions per platform. v2: Rebased for KBL. Signed-off-b

[Intel-gfx] [PATCH 2/2] drm/i915/guc: Demote some firmware loading messages to debug

2016-07-04 Thread Tvrtko Ursulin
From: Tvrtko Ursulin These messages are not errors unless GuC loading or submission is in the mandatory mode and even then the final status will be logged as error in intel_guc_setup. Therefore demote the messages in guc_fw_fetch to DRM_DEBUG_DRIVER. If more detail about the cause of the fail i

Re: [Intel-gfx] ✗ Ro.CI.BAT: failure for series starting with [1/2] Revert "drm/i915/kbl: drm/i915: Avoid GuC loading for now on Kabylake."

2016-07-04 Thread Tvrtko Ursulin
On 01/07/16 06:20, Patchwork wrote: == Series Details == Series: series starting with [1/2] Revert "drm/i915/kbl: drm/i915: Avoid GuC loading for now on Kabylake." URL : https://patchwork.freedesktop.org/series/9332/ State : failure == Summary == Series 9332v1 Series without cover letter h

[Intel-gfx] [PATCH] drm/i915: convert a few more E->dev_private to to_i915(E)

2016-07-04 Thread Dave Gordon
Also remove some redundant dev and dev_priv locals Signed-off-by: Dave Gordon Cc: Chris Wilson --- drivers/gpu/drm/i915/i915_gem.c | 4 ++-- drivers/gpu/drm/i915/intel_display.c| 4 drivers/gpu/drm/i915/intel_guc_loader.c | 2 +- 3 files changed, 3 insertions(+), 7 deletions(-)

Re: [Intel-gfx] [PATCH] drm/i915: Mass convert dev->dev_private to to_i915(dev)

2016-07-04 Thread Dave Gordon
On 01/07/16 16:26, Chris Wilson wrote: Since we now subclass struct drm_device, we can save pointer dances by noting the equivalence of struct drm_device and struct drm_i915_private, i.e. by using to_i915(). textdata bss dec hex filename 10738244562 416 1078802 10761

Re: [Intel-gfx] [PATCH] drm/i915: Hold irq uncore.lock when initialising fw_domains

2016-07-04 Thread Mika Kuoppala
Chris Wilson writes: > Acquiring the forcewake domain asserts that it is in an atomic section > (as we always expect to under the uncore.lock). This true expect for > initialising the domains on Ivybridge, and so we generate a warning. > Wrap the manual usage of fw_domains inside the spin_lock. >

Re: [Intel-gfx] [PATCH] drm/i915: Limit i915_ring_test_irq debugfs to actual rings

2016-07-04 Thread Chris Wilson
On Mon, Jul 04, 2016 at 11:53:01AM +0300, Mika Kuoppala wrote: > Chris Wilson writes: > > diff --git a/drivers/gpu/drm/i915/i915_debugfs.c > > b/drivers/gpu/drm/i915/i915_debugfs.c > > index 3da36db9c830..1da821479161 100644 > > --- a/drivers/gpu/drm/i915/i915_debugfs.c > > +++ b/drivers/gpu/drm/

Re: [Intel-gfx] [PATCH] drm/i915: Hold irq uncore.lock when initialising fw_domains

2016-07-04 Thread Chris Wilson
On Mon, Jul 04, 2016 at 10:06:14AM +0100, Tvrtko Ursulin wrote: > > On 03/07/16 18:29, Chris Wilson wrote: > >Acquiring the forcewake domain asserts that it is in an atomic section > >(as we always expect to under the uncore.lock). This true expect for > >initialising the domains on Ivybridge, and

Re: [Intel-gfx] [PATCH] drm/i915: Hold irq uncore.lock when initialising fw_domains

2016-07-04 Thread Tvrtko Ursulin
On 03/07/16 18:29, Chris Wilson wrote: Acquiring the forcewake domain asserts that it is in an atomic section (as we always expect to under the uncore.lock). This true expect for initialising the domains on Ivybridge, and so we generate a warning. Wrap the manual usage of fw_domains inside the s

[Intel-gfx] ✗ Ro.CI.BAT: failure for series starting with [01/13] drm/i915: Move GEM request routines to i915_gem_request.c

2016-07-04 Thread Patchwork
== Series Details == Series: series starting with [01/13] drm/i915: Move GEM request routines to i915_gem_request.c URL : https://patchwork.freedesktop.org/series/9450/ State : failure == Summary == Applying: drm/i915: Move GEM request routines to i915_gem_request.c fatal: sha1 information is

[Intel-gfx] ✗ Ro.CI.BAT: failure for series starting with [1/3] drm/i915: Amalgamate gen6_mm_switch() and vgpu_mm_switch()

2016-07-04 Thread Patchwork
== Series Details == Series: series starting with [1/3] drm/i915: Amalgamate gen6_mm_switch() and vgpu_mm_switch() URL : https://patchwork.freedesktop.org/series/9449/ State : failure == Summary == Series 9449v1 Series without cover letter http://patchwork.freedesktop.org/api/1.0/series/9449/

Re: [Intel-gfx] [PATCH] drm/i915: Limit i915_ring_test_irq debugfs to actual rings

2016-07-04 Thread Mika Kuoppala
Chris Wilson writes: > For simplicity in testing, only report known rings in the mask. This > allows userspace to try and trigger a missed irq on every ring and do a > comparison between i915_ring_test_irq and i915_ring_missed_irq to see if > any rings failed. > > Signed-off-by: Chris Wilson > C

[Intel-gfx] ✗ Ro.CI.BAT: failure for series starting with [1/4] drm/i915: Preserve current RPS frequency across init

2016-07-04 Thread Patchwork
== Series Details == Series: series starting with [1/4] drm/i915: Preserve current RPS frequency across init URL : https://patchwork.freedesktop.org/series/9448/ State : failure == Summary == Series 9448v1 Series without cover letter http://patchwork.freedesktop.org/api/1.0/series/9448/revisi

[Intel-gfx] [PATCH 13/13] drm/i915: Rename drm_gem_object_unreference_unlocked in preparation for lockless free

2016-07-04 Thread Chris Wilson
Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/i915_drv.h | 10 ++ drivers/gpu/drm/i915/i915_gem.c | 10 +- drivers/gpu/drm/i915/i915_gem_tiling.c | 2 +- drivers/gpu/drm/i915/i915_gem_userptr.c | 2 +- drivers/gpu/drm/i915/intel_display.c| 6 +++---

[Intel-gfx] [PATCH 10/13] drm/i915: Wrap drm_gem_object_lookup in i915_gem_object_lookup

2016-07-04 Thread Chris Wilson
For symmetry with a forthcoming i915_gem_object_get() and i915_gem_object_pu(). Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/i915_drv.h| 20 +++- drivers/gpu/drm/i915/i915_gem.c| 58 +- drivers/gpu/drm/i915/i915_gem_tiling.c | 8 ++

[Intel-gfx] [PATCH 02/13] drm/i915: Retire oldest completed request before allocating next

2016-07-04 Thread Chris Wilson
In order to keep the memory allocated for requests reasonably tight, try to reuse the oldest request (so long as it is completed and has no external references) for the next allocation. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/i915_gem_request.c | 7 +++ 1 file changed, 7 inserti

[Intel-gfx] [PATCH 12/13] drm/i915: Rename drm_gem_object_unreference in preparation for lockless free

2016-07-04 Thread Chris Wilson
Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/i915_drv.h | 10 ++ drivers/gpu/drm/i915/i915_gem.c | 26 +- drivers/gpu/drm/i915/i915_gem_batch_pool.c | 4 ++-- drivers/gpu/drm/i915/i915_gem_context.c | 4 ++-- drivers/gpu/d

[Intel-gfx] [PATCH 09/13] drm/i915: Rename i915_gem_context_reference/unreference()

2016-07-04 Thread Chris Wilson
As these are wrappers around kref_get/kref_put() it is preferable to follow the naming convention and use the same verb get/put in our wrapper names for manipulating a reference to the context. Signed-off-by: Chris Wilson Cc: Tvrtko Ursulin Cc: Joonas Lahtinen Reviewed-by: Joonas Lahtinen ---

[Intel-gfx] [PATCH 07/13] drm/i915: Mark imported dma-buf objects as being coherent

2016-07-04 Thread Chris Wilson
A foreign dma-buf does not share our cache domain tracking, and we rely on the producer ensuring cache coherency. Marking them as being in the CPU domain is incorrect. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/i915_gem_dmabuf.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dri

[Intel-gfx] [PATCH 03/13] drm/i915: Derive GEM requests from dma-fence

2016-07-04 Thread Chris Wilson
dma-buf provides a generic fence class for interoperation between drivers. Internally we use the request structure as a fence, and so with only a little bit of interfacing we can rebase those requests on top of dma-buf fences. This will allow us, in the future, to pass those fences back to userspac

[Intel-gfx] [PATCH 06/13] drm/i915: Export our request as a dma-buf fence on the reservation object

2016-07-04 Thread Chris Wilson
If the GEM objects being rendered with in this request have been exported via dma-buf to a third party, hook ourselves into the dma-buf reservation object so that the third party can serialise with our rendering via the dma-buf fences. Testcase: igt/prime_busy Signed-off-by: Chris Wilson --- dri

[Intel-gfx] [PATCH 11/13] drm/i915: Wrap drm_gem_object_reference in i915_gem_object_get

2016-07-04 Thread Chris Wilson
Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/i915_drv.h| 11 +++ drivers/gpu/drm/i915/i915_gem.c| 4 ++-- drivers/gpu/drm/i915/i915_gem_dmabuf.c | 3 +-- drivers/gpu/drm/i915/i915_gem_evict.c | 2 +- drivers/gpu/drm/i915/i915_gem_execbuffer.c |

[Intel-gfx] [PATCH 01/13] drm/i915: Move GEM request routines to i915_gem_request.c

2016-07-04 Thread Chris Wilson
Migrate the request operations out of the main body of i915_gem.c and into their own C file for easier expansion. v2: Move __i915_add_request() across as well Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/Makefile | 1 + drivers/gpu/drm/i915/i915_drv.h | 209 +

[Intel-gfx] [PATCH 08/13] drm/i915: Rename request reference/unreference to get/put

2016-07-04 Thread Chris Wilson
Now that we derive requests from struct fence, swap over to its nomenclature for references. It's shorter and more idiomatic across the kernel. s/i915_gem_request_reference/i915_gem_request_get/ s/i915_gem_request_unreference/i915_gem_request_put/ Signed-off-by: Chris Wilson Reviewed-by: Daniel

[Intel-gfx] [PATCH 2/3] drm/i915: Clean up GPU hang message

2016-07-04 Thread Chris Wilson
Remove some redundant kernel messages as we deduce a hung GPU and capture the error state. v2: Fix "hang" vs "no progress" message whilst I was there v3: s/snprintf/scnprintf/ Signed-off-by: Chris Wilson Cc: Mika Kuoppala --- drivers/gpu/drm/i915/i915_irq.c | 41 ++-

[Intel-gfx] [PATCH 04/13] drm/i915: Disable waitboosting for fence_wait()

2016-07-04 Thread Chris Wilson
We want to restrict waitboosting to known process contexts, where we can track which clients are receiving waitboosts and prevent excessive power wasting. For fence_wait() we do not have any client tracking and so that leaves it open to abuse. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915

[Intel-gfx] [PATCH 3/3] drm/i915: Skip capturing an error state if we already have one

2016-07-04 Thread Chris Wilson
As we only ever keep the first error state around, we can avoid some work that can be quite intrusive if we don't record the error the second time around. This does move the race whereby the user could discard one error state as the second is being captured, but that race exists in the current code

[Intel-gfx] [PATCH 05/13] drm/i915: Disable waitboosting for mmioflips/semaphores

2016-07-04 Thread Chris Wilson
Since commit a6f766f39751 ("drm/i915: Limit ring synchronisation (sw sempahores) RPS boosts") and commit bcafc4e38b6a ("drm/i915: Limit mmio flip RPS boosts") we have limited the waitboosting for semaphores and flips. Ideally we do not want to boost in either of these instances as no consumer is wa

[Intel-gfx] [PATCH 1/3] drm/i915: Amalgamate gen6_mm_switch() and vgpu_mm_switch()

2016-07-04 Thread Chris Wilson
These are identical, so let's just use the same vfunc. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/i915_gem_gtt.c | 29 + 1 file changed, 5 insertions(+), 24 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c

[Intel-gfx] [PATCH 3/4] drm/i915: Defer enabling rc6 til after we submit the first batch/context

2016-07-04 Thread Chris Wilson
Some hardware requires a valid render context before it can initiate rc6 power gating of the GPU; the default state of the GPU is not sufficient and may lead to undefined behaviour. The first execution of any batch will load the "golden render state", at which point it is safe to enable rc6. As we

[Intel-gfx] [PATCH 2/4] drm/i915: Remove superfluous powersave work flushing

2016-07-04 Thread Chris Wilson
Instead of flushing the outstanding enabling, remember the requested frequency to apply when the powersave work runs. Signed-off-by: Chris Wilson Cc: Ville Syrjälä --- drivers/gpu/drm/i915/i915_debugfs.c | 30 ++ drivers/gpu/drm/i915/i915_sysfs.c | 42 +++--

[Intel-gfx] [PATCH 4/4] drm/i915: Remove temporary RPM wakeref assert disables

2016-07-04 Thread Chris Wilson
Now that the last couple of hacks have been removed from the runtime powermanagement users, we can fully enable the asserts. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/intel_drv.h | 7 --- 1 file changed, 7 deletions(-) diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/d

[Intel-gfx] [PATCH 1/4] drm/i915: Preserve current RPS frequency across init

2016-07-04 Thread Chris Wilson
Select idle frequency during initialisation, then reset the last known frequency when re-enabling. This allows us to preserve the user selected frequency across resets. v2: Stop CHV from overriding the user's choice in cherryview_enable_rps() Signed-off-by: Chris Wilson Cc: Ville Syrjälä Cc: Mi

[Intel-gfx] ✗ Ro.CI.BAT: warning for series starting with [CI,1/9] drm/i915: Only start retire worker when idle

2016-07-04 Thread Patchwork
== Series Details == Series: series starting with [CI,1/9] drm/i915: Only start retire worker when idle URL : https://patchwork.freedesktop.org/series/9446/ State : warning == Summary == Series 9446v1 Series without cover letter http://patchwork.freedesktop.org/api/1.0/series/9446/revisions/1

[Intel-gfx] [CI 9/9] drm/i915: Allow userspace to request no-error-capture upon GPU hangs

2016-07-04 Thread Chris Wilson
igt likes to inject GPU hangs into its command streams. However, as we expect these hangs, we don't actually want them recorded in the dmesg output or stored in the i915_error_state (usually). To accommodate this allow userspace to set a flag on the context that any hang emanating from that context

[Intel-gfx] [CI 8/9] drm/i915: Record the ringbuffer associated with the request

2016-07-04 Thread Chris Wilson
The request tells us where to read the ringbuf from, so use that information to simplify the error capture. If no request was active at the time of the hang, the ring is idle and there is no information inside the ring pertaining to the hang. Note carefully that this will reduce the amount of info

[Intel-gfx] [CI 6/9] drm/i915: Flush the RPS bottom-half when the GPU idles

2016-07-04 Thread Chris Wilson
Make sure that the RPS bottom-half is flushed before we set the idle frequency when we decide the GPU is idle. This should prevent any races with the bottom-half and setting the idle frequency, and ensures that the bottom-half is bounded by the GPU's rpm reference taken for when it is active (i.e.

[Intel-gfx] [CI 5/9] drm/i915: Add background commentary to "waitboosting"

2016-07-04 Thread Chris Wilson
Describe the intent of boosting the GPU frequency to maximum before waiting on the GPU. RPS waitboosting was introduced with commit b29c19b64528 ("drm/i915: Boost RPS frequency for CPU stalls") but lacked a concise comment in the code to explain itself. Signed-off-by: Chris Wilson Reviewed-by: D

[Intel-gfx] [CI 2/9] drm/i915: Do not keep postponing the idle-work

2016-07-04 Thread Chris Wilson
Rather than persistently postponing the idle-work everytime somebody calls i915_gem_retire_requests() (potentially ensuring that we never reach the idle state), queue the work the first time we detect all requests are complete. Then if in 100ms, more requests have been queued, we will abort the idl

[Intel-gfx] [CI 4/9] drm/i915: Restore waitboost credit to the synchronous waiter

2016-07-04 Thread Chris Wilson
Ideally, we want to automagically have the GPU respond to the instantaneous load by reclocking itself. However, reclocking occurs relatively slowly, and to the client waiting for a result from the GPU, too late. To compensate and reduce the client latency, we allow the first wait from a client to b

[Intel-gfx] [CI 7/9] drm/i915: Remove stop-rings debugfs interface

2016-07-04 Thread Chris Wilson
Now that we have (near) universal GPU recovery code, we can inject a real hang from userspace and not need any fakery. Not only does this mean that the testing is far more realistic, but we can simplify the kernel in the process. Signed-off-by: Chris Wilson Reviewed-by: Arun Siluvery --- driver

[Intel-gfx] [CI 3/9] drm/i915: Remove redundant queue_delayed_work() from throttle ioctl

2016-07-04 Thread Chris Wilson
We know, by design, that whilst the GPU is active (and thus we are throttling) the retire_worker is queued. Therefore attempting to requeue it with queue_delayed_work() is a no-op and we can safely remove it. Signed-off-by: Chris Wilson Reviewed-by: Joonas Lahtinen --- drivers/gpu/drm/i915/i915

[Intel-gfx] [CI 1/9] drm/i915: Only start retire worker when idle

2016-07-04 Thread Chris Wilson
The retire worker is a low frequency task that makes sure we retire outstanding requests if userspace is being lax. We only need to start it once as it remains active until the GPU is idle, so do a cheap test before the more expensive queue_work(). A consequence of this is that we need correct lock