The queue only ever contains at most one item and has no special flags.
It is just a very simple wrapper around the system-wq - a complication
with no benefits.
v2: Use the system_long_wq as we may wish to capture the error state
after detecting the hang - which may take a bit of time.
Signed-off
By using the same address for storing the HWS on every platform, we can
remove the platform specific vfuncs and reduce the get-seqno routine to
a single read of a cached memory location.
v2: Fix semaphore_passed() to look at the signaling engine (not the
waiter's)
Signed-off-by: Chris Wilson
Rev
When waiting for an interrupt (waiting for the engine to complete some
work), we know we are the only waiter to be woken on this engine. We also
know when the GPU has nearly completed our request (or at least started
processing it), so after being woken and we detect that the GPU is
active and work
After the elimination of using the scratch page for Ironlake's
breadcrumb, we no longer need to kmap the object. We therefore can move
it into the high unmappable space and do not need to force the object to
be coherent (i.e. snooped on !llc platforms).
Signed-off-by: Chris Wilson
Reviewed-by: Tv
Under the assumption that enabling signaling will be a frequent
operation, lets preallocate our attachments for signaling inside the
(rather large) request struct (and so benefiting from the slab cache).
v2: Convert from void * to more meaningful names and types.
Signed-off-by: Chris Wilson
Revi
If we convert the tracing over from direct use of ring->irq_get() and
over to the breadcrumb infrastructure, we only have a single user of the
ring->irq_get and so we will be able to simplify the driver routines
(eliminating the redundant validation and irq refcounting).
Process context is preferr
We have testcases to ensure that seqno wraparound works fine, so we can
forgo forcing everyone to encounter seqno wraparound during early
uptime. seqno wraparound incurs a full GPU stall so not forcing it
will eliminate one jitter from the early system. Using the testcases, we
have very determinist
If we flag the seqno as potentially stale upon receiving an interrupt,
we can use that information to reduce the frequency that we apply the
heavyweight coherent seqno read (i.e. if we wake up a chain of waiters).
v2: Use cmpxchg to replace READ_ONCE/WRITE_ONCE for more explicit
control of the ord
Borrow the idea from intel_lrc.c to precompute the mask of interrupts we
wish to always enable to avoid having lots of conditionals inside the
interrupt enabling.
Signed-off-by: Chris Wilson
Reviewed-by: Tvrtko Ursulin
---
drivers/gpu/drm/i915/intel_ringbuffer.c | 34 +++
Since the tests can and do explicitly check debugfs/i915_ring_missed_irqs
for the handling of a "missed interrupt", adding it to the dmesg at INFO
is just noise. When it happens for real, we still class it as an ERROR.
Note that I have chose to remove it entirely because when we detect the
"missed
If we have multiple waiters, we may find that many complete on the same
wake up. If we first inspect the seqno from the CPU cache, we may reduce
the number of heavyweight coherent seqno reads we require.
Signed-off-by: Chris Wilson
Reviewed-by: Tvrtko Ursulin
---
drivers/gpu/drm/i915/i915_drv.h
With only a single callsite for intel_engine_cs->irq_get and ->irq_put,
we can reduce the code size by moving the common preamble into the
caller, and we can also eliminate the reference counting.
For completeness, as we are no longer doing reference counting on irq,
rename the get/put vfunctions
On Tue, Jun 28, 2016 at 05:02:32PM -0700, Rodrigo Vivi wrote:
> This is unusual. Usually IDs listed on early stages of platform
> definition are kept there as reserved for later use.
>
> However these IDs here are not listed anymore in any of steppings
> and devices IDs tables for Kabylake on conf
From: Dave Gordon
intel_lrc.c has a table of "logical rings" (meaning engines), while
intel_ringbuffer.c has separately open-coded initialisation for each
engine. We can deduplicate this somewhat by using the same first-stage
engine-setup function for both modes.
So here we expose the function t
From: Tvrtko Ursulin
Move the execlist engine setup to vfuncs so that the engine
init loop is clearly split into the mode agnostic and
specific steps.
Signed-off-by: Tvrtko Ursulin
---
drivers/gpu/drm/i915/intel_lrc.c | 103 ---
1 file changed, 54 insertions
From: Tvrtko Ursulin
Use it for legacy engine initialization by adding a
intel_ring_default_irqs helper used by individual engines.
Signed-off-by: Tvrtko Ursulin
---
drivers/gpu/drm/i915/intel_ringbuffer.c | 36 +++--
1 file changed, 16 insertions(+), 20 deletions(-
From: Tvrtko Ursulin
With the unified common engine setup done, and the execlist engine
initialization loop clearly split into two phases, we can eliminate
the separate legacy engine initialization code.
Signed-off-by: Tvrtko Ursulin
---
drivers/gpu/drm/i915/i915_drv.h | 2 --
drivers
From: Tvrtko Ursulin
Engine contains dev_priv so need to pass it in.
Signed-off-by: Tvrtko Ursulin
---
drivers/gpu/drm/i915/intel_ringbuffer.c | 18 --
1 file changed, 8 insertions(+), 10 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c
b/drivers/gpu/drm/i915
== Series Details ==
Series: series starting with [CI,01/20] drm/i915/shrinker: Flush active on
objects before counting
URL : https://patchwork.freedesktop.org/series/9390/
State : failure
== Summary ==
Series 9390v1 Series without cover letter
http://patchwork.freedesktop.org/api/1.0/series/
> +static struct sg_table *vgem_prime_get_sg_table(struct drm_gem_object *obj)
> +{
> + long n_pages = obj->size >> PAGE_SHIFT;
> + struct sg_table *st;
> + struct page **pages;
> + int ret;
> +
> + st = kmalloc(sizeof(struct sg_table), GFP_KERNEL);
> + if (st ==
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 wrote:
On 30/06/16 02:35, Hong Liu wrote:
Return the allocated request pointer directly to remove
the double pointer parameter.
Signed-off-by: Hong Liu
-
== Series Details ==
Series: series starting with [1/5] drm/i915: unify first-stage engine struct
setup
URL : https://patchwork.freedesktop.org/series/9391/
State : warning
== Summary ==
Series 9391v1 Series without cover letter
http://patchwork.freedesktop.org/api/1.0/series/9391/revisions/1
On 30/06/16 13:46, Tvrtko Ursulin wrote:
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 pl
On Fri, 2016-07-01 at 15:32 +, Patchwork wrote:
> == Series Details ==
>
> Series: drm/i915/bxt: Remove the preliminary_hw_support flag
> URL : https://patchwork.freedesktop.org/series/9381/
> State : warning
>
> == Summary ==
Thanks for the review, I pushed the patch to -dinq.
> Series 9
Is this something that Dave or Jani could help us with?
This is a critical fix that blocking some projects around.
Thanks,
Rodrigo.
On Sat, Jun 25, 2016 at 3:39 AM, Chris Wilson wrote:
> On Thu, Jun 23, 2016 at 03:35:32PM +0100, Chris Wilson wrote:
>> The vGEM mmap code has bitrotted slightly a
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 wrote:
> >>>
> >>>On 30/06/16 02:35, Hong Liu wrote:
> Return the allocated request
On Fri, Jul 01, 2016 at 05:56:25PM +0100, Matthew Auld wrote:
> > +static struct sg_table *vgem_prime_get_sg_table(struct drm_gem_object *obj)
> > +{
> > + long n_pages = obj->size >> PAGE_SHIFT;
> > + struct sg_table *st;
> > + struct page **pages;
> > + int ret;
> > +
> >
like the cleanup. Perhaps someday we will add more entries and have
the user space consume them :)
Jim
On Fri, 2016-07-01 at 16:40 +0300, Imre Deak wrote:
> Use named struct initializers for clarity. Also fix the target cache
> definition to reflect its role in GEN9 onwards. On GEN8 a TC value o
Hi Imre,
Imre Deak writes:
> Use named struct initializers for clarity. Also fix the target cache
> definition to reflect its role in GEN9 onwards. On GEN8 a TC value of 0
> meant ELLC but on GEN9+ it means the TC and LRU controls are taken from
> the PTE.
>
I vaguely recall bringing up this app
Intel_dp_check_link_status() function reads the Link status registers
and returns a boolean to indicate link is good or bad.
If the link is bad, it is retrained outside the function based
on the return value.
Signed-off-by: Manasi Navare
---
drivers/gpu/drm/i915/intel_dp.c | 41 +
Hi,
Please consider pulling i915 updates to linux-firmware.git
The following changes since commit
040c24514b94fcdbd6308d986d1bde59a704a21a:
linux-firmware: intel: Update Broxton audio firmware (2016-06-29
14:20:20 +0530)
are available in the git repository at:
git://people.freedesktop.org
Some Kabylake SKUs are going to use Kabypoint PCH.
It is mainly for Halo and DT ones.
From our specs it doesn't seem that KBP brings
any change on the display south engine. So let's consider
this as a continuation of SunrisePoint, i.e., SPT+.
Since it is easy to get confused by a letter change:
K
On Thu, Jun 30, 2016 at 11:22 PM, Sharma, Shashank
wrote:
> Regards
> Shashank
>
>
> On 7/1/2016 4:00 AM, Rodrigo Vivi wrote:
>>
>> On Tue, Jun 21, 2016 at 8:00 AM, Shashank Sharma
>> wrote:
>>>
>>> This patch adds a new file, to accommodate lspcon support
>>> for I915 driver. These functions pro
On Thu, Jun 30, 2016 at 11:27 PM, Sharma, Shashank
wrote:
> Regards
> Shashank
>
>
> On 7/1/2016 4:23 AM, Rodrigo Vivi wrote:
>>
>> On Tue, Jun 21, 2016 at 8:00 AM, Shashank Sharma
>> wrote:
>>>
>>> This patch adds initialization code for lspcon.
>>> What we are doing here is:
>>> - Chec
On Fri, Jul 1, 2016 at 3:47 PM, Manasi Navare wrote:
> Intel_dp_check_link_status() function reads the Link status registers
> and returns a boolean to indicate link is good or bad.
> If the link is bad, it is retrained outside the function based
> on the return value.
>
> Signed-off-by: Manasi Na
== Series Details ==
Series: drm/i915: intel_dp_check_link_status should only return status of link
URL : https://patchwork.freedesktop.org/series/9400/
State : failure
== Summary ==
Series 9400v1 drm/i915: intel_dp_check_link_status should only return status of
link
http://patchwork.freedesk
== Series Details ==
Series: drm/i915: Introduce Kabypoint PCH for Kabylake H/DT.
URL : https://patchwork.freedesktop.org/series/9404/
State : failure
== Summary ==
Series 9404v1 drm/i915: Introduce Kabypoint PCH for Kabylake H/DT.
http://patchwork.freedesktop.org/api/1.0/series/9404/revisions
On 23.06.2016 13:25, James Bottomley wrote:
> On Tue, 2016-06-21 at 17:00 -0400, James Bottomley wrote:
>> On Tue, 2016-06-21 at 18:44 +0300, Ville Syrjälä wrote:
>>> On Tue, Jun 21, 2016 at 09:53:15AM -0400, James Bottomley wrote:
On Mon, 2016-06-20 at 11:03 +0300, Jani Nikula wrote:
> Cc
Hi,
[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR on v4.7-rc5 next-20160701]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system]
url:
https://github.com/0day-ci/linux/commits/Manasi-Navare/drm-i915
101 - 139 of 139 matches
Mail list logo