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/
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.
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
== 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
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
== 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
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
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
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
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
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
> +++
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
== 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
== 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.
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/
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 +-
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
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
== 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/
== 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
== 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
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
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
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
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
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
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
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(-)
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
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.
>
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/
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
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
== 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
== 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/
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
== 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
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 +++---
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 ++
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
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
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
---
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
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
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
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 |
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 +
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
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 ++-
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
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
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
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
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
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 +++--
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
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
== 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
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
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
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.
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
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
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
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
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
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
67 matches
Mail list logo