Re: [Intel-gfx] [PATCH v6 3/3] drm/i915/icl: Implement half float formats

2019-03-13 Thread Maarten Lankhorst
Op 13-03-2019 om 01:38 schreef Kevin Strasser: > 64 bpp half float formats are supported on hdr planes only and are subject > to the following restrictions: > * 90/270 rotation not supported > * Yf Tiling not supported > * Frame Buffer Compression not supported > * Color Keying not supporte

Re: [Intel-gfx] [PATCH v2 1/3] drm: Add support for panic message output

2019-03-13 Thread Christian König
Am 12.03.19 um 19:02 schrieb Ville Syrjälä: On Tue, Mar 12, 2019 at 06:37:57PM +0100, Noralf Trønnes wrote: Den 12.03.2019 18.25, skrev Ville Syrjälä: On Tue, Mar 12, 2019 at 06:15:24PM +0100, Noralf Trønnes wrote: Den 12.03.2019 17.17, skrev Ville Syrjälä: On Tue, Mar 12, 2019 at 11:47:04A

Re: [Intel-gfx] [PATCH v2 1/3] drm: Add support for panic message output

2019-03-13 Thread Daniel Vetter
On Tue, Mar 12, 2019 at 11:13:03PM +0100, Ahmed S. Darwish wrote: > Hi, > > [[ CCing John for the trylock parts ]] > > On Mon, Mar 11, 2019 at 11:33:15PM +0100, Noralf Trønnes wrote: > > > > > > Den 11.03.2019 20.23, skrev Daniel Vetter: > > > On Mon, Mar 11, 2019 at 06:42:16PM +0100, Noralf Trøn

Re: [Intel-gfx] [PATCH v2 1/3] drm: Add support for panic message output

2019-03-13 Thread Daniel Vetter
On Wed, Mar 13, 2019 at 08:49:17AM +0100, John Ogness wrote: > On 2019-03-12, Ahmed S. Darwish wrote: > + > +static void drm_panic_kmsg_dump(struct kmsg_dumper *dumper, > +enum kmsg_dump_reason reason) > +{ > +class_for_each_device(d

Re: [Intel-gfx] [PATCH v2 1/3] drm: Add support for panic message output

2019-03-13 Thread Daniel Vetter
On Tue, Mar 12, 2019 at 08:02:56PM +0200, Ville Syrjälä wrote: > On Tue, Mar 12, 2019 at 06:37:57PM +0100, Noralf Trønnes wrote: > > > > > > Den 12.03.2019 18.25, skrev Ville Syrjälä: > > > On Tue, Mar 12, 2019 at 06:15:24PM +0100, Noralf Trønnes wrote: > > >> > > >> > > >> Den 12.03.2019 17.17,

Re: [Intel-gfx] [PATCH v2 1/3] drm: Add support for panic message output

2019-03-13 Thread Michel Dänzer
On 2019-03-12 6:15 p.m., Noralf Trønnes wrote: > > > Den 12.03.2019 17.17, skrev Ville Syrjälä: >> On Tue, Mar 12, 2019 at 11:47:04AM +0100, Michel Dänzer wrote: >>> On 2019-03-11 6:42 p.m., Noralf Trønnes wrote: This adds support for outputting kernel messages on panic(). A kernel mess

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Stop needlessly acquiring wakeref for debugfs/drop_caches_set

2019-03-13 Thread Patchwork
== Series Details == Series: drm/i915: Stop needlessly acquiring wakeref for debugfs/drop_caches_set URL : https://patchwork.freedesktop.org/series/57882/ State : success == Summary == CI Bug Log - changes from CI_DRM_5736 -> Patchwork_12441

Re: [Intel-gfx] [PATCH v2 1/3] drm: Add support for panic message output

2019-03-13 Thread Noralf Trønnes
Den 12.03.2019 23.13, skrev Ahmed S. Darwish: > Hi, > > [[ CCing John for the trylock parts ]] > > On Mon, Mar 11, 2019 at 11:33:15PM +0100, Noralf Trønnes wrote: >> >> >> Den 11.03.2019 20.23, skrev Daniel Vetter: >>> On Mon, Mar 11, 2019 at 06:42:16PM +0100, Noralf Trønnes wrote: This ad

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/selftests: Provide stub reset functions

2019-03-13 Thread Patchwork
== Series Details == Series: drm/i915/selftests: Provide stub reset functions URL : https://patchwork.freedesktop.org/series/57884/ State : success == Summary == CI Bug Log - changes from CI_DRM_5736 -> Patchwork_12442 Summary --- **

Re: [Intel-gfx] [PATCH 02/13] drm/i915: Introduce the i915_user_extension_method

2019-03-13 Thread Chris Wilson
Quoting Tvrtko Ursulin (2019-03-08 14:33:02) > > On 08/03/2019 14:12, Chris Wilson wrote: > > +int i915_user_extensions(struct i915_user_extension __user *ext, > > + const i915_user_extension_fn *tbl, > > + unsigned long count, > > + v

Re: [Intel-gfx] [PATCH 02/13] drm/i915: Introduce the i915_user_extension_method

2019-03-13 Thread Tvrtko Ursulin
On 13/03/2019 10:50, Chris Wilson wrote: Quoting Tvrtko Ursulin (2019-03-08 14:33:02) On 08/03/2019 14:12, Chris Wilson wrote: +int i915_user_extensions(struct i915_user_extension __user *ext, + const i915_user_extension_fn *tbl, + unsigned long count

Re: [Intel-gfx] [PATCH v6 3/3] drm/i915/icl: Implement half float formats

2019-03-13 Thread Maarten Lankhorst
Op 13-03-2019 om 08:25 schreef Maarten Lankhorst: > Op 13-03-2019 om 01:38 schreef Kevin Strasser: >> 64 bpp half float formats are supported on hdr planes only and are subject >> to the following restrictions: >> * 90/270 rotation not supported >> * Yf Tiling not supported >> * Frame Buffer

Re: [Intel-gfx] [PATCH 02/13] drm/i915: Introduce the i915_user_extension_method

2019-03-13 Thread Chris Wilson
Quoting Tvrtko Ursulin (2019-03-13 11:13:10) > > On 13/03/2019 10:50, Chris Wilson wrote: > > Quoting Tvrtko Ursulin (2019-03-08 14:33:02) > >> > >> On 08/03/2019 14:12, Chris Wilson wrote: > >>> +int i915_user_extensions(struct i915_user_extension __user *ext, > >>> + const i

[Intel-gfx] [PULL] topic/hdr-formats

2019-03-13 Thread Maarten Lankhorst
Hey Sean and Joonas, One more pull request for the hdr-formats topic branch. FP16 support is now also implemented. Can this be pulled to drm-misc-next and dinq? ~Maarten topic/hdr-formats-2019-03-13: Add support for floating point half-width formats. The following changes since commit 296e9b19e

Re: [Intel-gfx] [PATCH 02/13] drm/i915: Introduce the i915_user_extension_method

2019-03-13 Thread Tvrtko Ursulin
On 13/03/2019 11:21, Chris Wilson wrote: Quoting Tvrtko Ursulin (2019-03-13 11:13:10) On 13/03/2019 10:50, Chris Wilson wrote: Quoting Tvrtko Ursulin (2019-03-08 14:33:02) On 08/03/2019 14:12, Chris Wilson wrote: +int i915_user_extensions(struct i915_user_extension __user *ext, +

Re: [Intel-gfx] [PATCH 02/13] drm/i915: Introduce the i915_user_extension_method

2019-03-13 Thread Chris Wilson
Quoting Tvrtko Ursulin (2019-03-13 11:35:55) [snip] > Shall we only reserve some space with a flags and some rsvd fields just > in case it will need to change/grow? The only thing that occurs to me is to exchange the next pointer with a table of next[] (C++ here we come). But I ask myself, could

[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915: Stop needlessly acquiring wakeref for debugfs/drop_caches_set

2019-03-13 Thread Patchwork
== Series Details == Series: drm/i915: Stop needlessly acquiring wakeref for debugfs/drop_caches_set URL : https://patchwork.freedesktop.org/series/57882/ State : success == Summary == CI Bug Log - changes from CI_DRM_5736_full -> Patchwork_12441_full ==

Re: [Intel-gfx] [PATCH 02/13] drm/i915: Introduce the i915_user_extension_method

2019-03-13 Thread Tvrtko Ursulin
On 13/03/2019 11:46, Chris Wilson wrote: Quoting Tvrtko Ursulin (2019-03-13 11:35:55) [snip] Shall we only reserve some space with a flags and some rsvd fields just in case it will need to change/grow? The only thing that occurs to me is to exchange the next pointer with a table of next[] (C+

Re: [Intel-gfx] [PATCH 02/13] drm/i915: Introduce the i915_user_extension_method

2019-03-13 Thread Chris Wilson
Quoting Tvrtko Ursulin (2019-03-13 13:11:09) > > On 13/03/2019 11:46, Chris Wilson wrote: > > Quoting Tvrtko Ursulin (2019-03-13 11:35:55) > > [snip] > >> Shall we only reserve some space with a flags and some rsvd fields just > >> in case it will need to change/grow? > > > > The only thing that

Re: [Intel-gfx] [CI] drm/i915: Introduce a context barrier callback

2019-03-13 Thread Jani Nikula
On Sat, 09 Mar 2019, Chris Wilson wrote: > In the next patch, we will want to update live state within a context. > As this state may be in use by the GPU and we haven't been explicitly > tracking its activity, we instead attach it to a request we send down > the context setup with its new state a

Re: [Intel-gfx] [PATCH v2 1/3] drm: Add support for panic message output

2019-03-13 Thread Ville Syrjälä
On Wed, Mar 13, 2019 at 10:35:08AM +0100, Michel Dänzer wrote: > On 2019-03-12 6:15 p.m., Noralf Trønnes wrote: > > > > > > Den 12.03.2019 17.17, skrev Ville Syrjälä: > >> On Tue, Mar 12, 2019 at 11:47:04AM +0100, Michel Dänzer wrote: > >>> On 2019-03-11 6:42 p.m., Noralf Trønnes wrote: > Th

Re: [Intel-gfx] [PATCH v2 1/3] drm: Add support for panic message output

2019-03-13 Thread Christian König
Am 13.03.19 um 14:31 schrieb Ville Syrjälä: On Wed, Mar 13, 2019 at 10:35:08AM +0100, Michel Dänzer wrote: On 2019-03-12 6:15 p.m., Noralf Trønnes wrote: Den 12.03.2019 17.17, skrev Ville Syrjälä: On Tue, Mar 12, 2019 at 11:47:04AM +0100, Michel Dänzer wrote: On 2019-03-11 6:42 p.m., Noralf

[Intel-gfx] [PATCH 05/17] drm/i915/selftests: Provide stub reset functions

2019-03-13 Thread Chris Wilson
If a test fails, we quite often mark the device as wedged. Provide the stub functions so that we can wedge the mock device, and avoid exploding on test failures. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109981 Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/selftests/mock_engi

[Intel-gfx] [PATCH 15/17] drm/i915: Extend execution fence to support a callback

2019-03-13 Thread Chris Wilson
In the next patch, we will want to configure the slave request depending on which physical engine the master request is executed on. For this, we introduce a callback from the execute fence to convey this information. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/i915_request.c | 84 +

[Intel-gfx] [PATCH 09/17] drm/i915: Extend CONTEXT_CREATE to set parameters upon construction

2019-03-13 Thread Chris Wilson
It can be useful to have a single ioctl to create a context with all the initial parameters instead of a series of create + setparam + setparam ioctls. This extension to create context allows any of the parameters to be passed in as a linked list to be applied to the newly constructed context. v2:

[Intel-gfx] [PATCH 17/17] drm/i915: Allow specification of parallel execbuf

2019-03-13 Thread Chris Wilson
There is a desire to split a task onto two engines and have them run at the same time, e.g. scanline interleaving to spread the workload evenly. Through the use of the out-fence from the first execbuf, we can coordinate secondary execbuf to only become ready simultaneously with the first, so that w

[Intel-gfx] [PATCH 12/17] drm/i915: Allow a context to define its set of engines

2019-03-13 Thread Chris Wilson
Over the last few years, we have debated how to extend the user API to support an increase in the number of engines, that may be sparse and even be heterogeneous within a class (not all video decoders created equal). We settled on using (class, instance) tuples to identify a specific engine, with a

[Intel-gfx] [PATCH 07/17] drm/i915: Introduce the i915_user_extension_method

2019-03-13 Thread Chris Wilson
An idea for extending uABI inspired by Vulkan's extension chains. Instead of expanding the data struct for each ioctl every time we need to add a new feature, define an extension chain instead. As we add optional interfaces to control the ioctl, we define a new extension struct that can be linked i

[Intel-gfx] [PATCH 08/17] drm/i915: Create/destroy VM (ppGTT) for use with contexts

2019-03-13 Thread Chris Wilson
In preparation to making the ppGTT binding for a context explicit (to facilitate reusing the same ppGTT between different contexts), allow the user to create and destroy named ppGTT. v2: Replace global barrier for swapping over the ppgtt and tlbs with a local context barrier (Tvrtko) v3: serialise

[Intel-gfx] [PATCH 06/17] drm/i915: Switch to use HWS indices rather than addresses

2019-03-13 Thread Chris Wilson
If we use the STORE_DATA_INDEX function we can use a fixed offset and avoid having to lookup up the engine HWS address. A step closer to being able to emit the final breadcrumb during request_add rather than later in the submission interrupt handler. Signed-off-by: Chris Wilson --- drivers/gpu/d

[Intel-gfx] [PATCH 14/17] drm/i915: Load balancing across a virtual engine

2019-03-13 Thread Chris Wilson
Having allowed the user to define a set of engines that they will want to only use, we go one step further and allow them to bind those engines into a single virtual instance. Submitting a batch to the virtual engine will then forward it to any one of the set in a manner as best to distribute load.

[Intel-gfx] [PATCH 01/17] drm/i915: Hold a ref to the ring while retiring

2019-03-13 Thread Chris Wilson
As the final request on a ring may hold the reference to this ring (via retiring the last pinned context), we may find ourselves chasing a dangling pointer on completion of the list. A quick solution is to hold a reference to the ring itself as we retire along it so that we only free it after we s

[Intel-gfx] [PATCH 16/17] drm/i915/execlists: Virtual engine bonding

2019-03-13 Thread Chris Wilson
Some users require that when a master batch is executed on one particular engine, a companion batch is run simultaneously on a specific slave engine. For this purpose, we introduce virtual engine bonding, allowing maps of master:slaves to be constructed to constrain which physical engines a virtual

[Intel-gfx] [PATCH 04/17] drm/i915: Stop needlessly acquiring wakeref for debugfs/drop_caches_set

2019-03-13 Thread Chris Wilson
We only need to acquire a wakeref for ourselves for a few operations, as most either already acquire their own wakeref or imply a wakeref. In particular, it is i915_gem_set_wedged() that needed us to present it with a wakeref, which is incongruous with its "use anywhere" ability. Suggested-by: Yok

[Intel-gfx] [PATCH 02/17] drm/i915: Lock the gem_context->active_list while dropping the link

2019-03-13 Thread Chris Wilson
On unpinning the intel_context, we remove it from the active list inside the GEM context. This list is supposed to be guarded by the GEM context mutex, so remember to take it! Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/intel_context.c | 15 +++ drivers/gpu/drm/i915/

[Intel-gfx] [PATCH 11/17] drm/i915: Allow userspace to clone contexts on creation

2019-03-13 Thread Chris Wilson
A usecase arose out of handling context recovery in mesa, whereby they wish to recreate a context with fresh logical state but preserving all other details of the original. Currently, they create a new context and iterate over which bits they want to copy across, but it would much more convenient i

[Intel-gfx] [PATCH 03/17] drm/i915: Hold a reference to the active HW context

2019-03-13 Thread Chris Wilson
For virtual engines, we need to keep the HW context alive while it remains in use. For regular HW contexts, they are created and kept alive until the end of the GEM context. For simplicity, generalise the requirements and keep an active reference to each HW context. Signed-off-by: Chris Wilson --

[Intel-gfx] [PATCH 10/17] drm/i915: Allow contexts to share a single timeline across all engines

2019-03-13 Thread Chris Wilson
Previously, our view has been always to run the engines independently within a context. (Multiple engines happened before we had contexts and timelines, so they always operated independently and that behaviour persisted into contexts.) However, at the user level the context often represents a singl

[Intel-gfx] [PATCH 13/17] drm/i915: Extend I915_CONTEXT_PARAM_SSEU to support local ctx->engine[]

2019-03-13 Thread Chris Wilson
Allow the user to specify a local engine index (as opposed to class:index) that they can use to refer to a preset engine inside the ctx->engine[] array defined by an earlier I915_CONTEXT_PARAM_ENGINES. This will be useful for setting SSEU parameters on virtual engines that are local to the context

[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/selftests: Provide stub reset functions

2019-03-13 Thread Patchwork
== Series Details == Series: drm/i915/selftests: Provide stub reset functions URL : https://patchwork.freedesktop.org/series/57884/ State : success == Summary == CI Bug Log - changes from CI_DRM_5736_full -> Patchwork_12442_full Summary ---

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [v4,1/3] drm/i915/vbt: Parse and use the new field with PSR2 TP2/3 wakeup time

2019-03-13 Thread Patchwork
== Series Details == Series: series starting with [v4,1/3] drm/i915/vbt: Parse and use the new field with PSR2 TP2/3 wakeup time URL : https://patchwork.freedesktop.org/series/57896/ State : warning == Summary == $ dim checkpatch origin/drm-tip 337a8cd36aa7 drm/i915/vbt: Parse and use the new

[Intel-gfx] ✗ Fi.CI.SPARSE: warning for series starting with [v4,1/3] drm/i915/vbt: Parse and use the new field with PSR2 TP2/3 wakeup time

2019-03-13 Thread Patchwork
== Series Details == Series: series starting with [v4,1/3] drm/i915/vbt: Parse and use the new field with PSR2 TP2/3 wakeup time URL : https://patchwork.freedesktop.org/series/57896/ State : warning == Summary == $ dim sparse origin/drm-tip Sparse version: v0.5.2 Commit: drm/i915/vbt: Parse a

Re: [Intel-gfx] [PATCH 16/17] drm/i915/execlists: Virtual engine bonding

2019-03-13 Thread Chris Wilson
Quoting Chris Wilson (2019-03-13 13:39:33) > + if (flags & BOND_SCHEDULE) { > + onstack_fence_init(&fence); > + err = i915_sw_fence_await_sw_fence_gfp(&rq[0]->submit, > + &fence, >

[Intel-gfx] [PATCH] drm/i915/execlists: Virtual engine bonding

2019-03-13 Thread Chris Wilson
Some users require that when a master batch is executed on one particular engine, a companion batch is run simultaneously on a specific slave engine. For this purpose, we introduce virtual engine bonding, allowing maps of master:slaves to be constructed to constrain which physical engines a virtual

[Intel-gfx] [PATCH 18/39] drm/i915/execlists: Skip direct submission if only lite-restore

2019-03-13 Thread Chris Wilson
If resubmitting the active context, simply skip the submission as performing the submission from the interrupt handler has higher throughput than continually provoking lite-restores. If however, we find ourselves with a new client, we check whether or not we can dequeue into the second port or to r

[Intel-gfx] [PATCH 32/39] drm/i915: Drop the deferred active reference

2019-03-13 Thread Chris Wilson
An old optimisation to reduce the number of atomics per batch sadly relies on struct_mutex for coordination. In order to remove struct_mutex from serialising object/context closing, always taking and releasing an active reference on first use / last use greatly simplifies the locking. Signed-off-b

[Intel-gfx] [PATCH 11/39] drm/i915: Allow userspace to clone contexts on creation

2019-03-13 Thread Chris Wilson
A usecase arose out of handling context recovery in mesa, whereby they wish to recreate a context with fresh logical state but preserving all other details of the original. Currently, they create a new context and iterate over which bits they want to copy across, but it would much more convenient i

[Intel-gfx] [PATCH 27/39] drm/i915: Pull scatterlist utils out of i915_gem.h

2019-03-13 Thread Chris Wilson
Out scatterlist utility routines can be pulled out of i915_gem.h for a bit more decluttering. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/Makefile | 1 + drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c| 1 + drivers/gpu/drm/i915/gem/i915_gem_internal.c | 1 + drive

[Intel-gfx] [PATCH 33/39] drm/i915: Move object close under its own lock

2019-03-13 Thread Chris Wilson
Use i915_gem_object_lock() to guard the LUT and active reference to allow us to break free of struct_mutex for handling GEM_CLOSE. Testcase: igt/gem_close_race Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/gem/i915_gem_context.c | 16 +++--- .../gpu/drm/i915/gem/i915_gem_context_types.h

[Intel-gfx] [PATCH 02/39] drm/i915: Lock the gem_context->active_list while dropping the link

2019-03-13 Thread Chris Wilson
On unpinning the intel_context, we remove it from the active list inside the GEM context. This list is supposed to be guarded by the GEM context mutex, so remember to take it! Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/intel_context.c | 15 +++ drivers/gpu/drm/i915/

[Intel-gfx] [PATCH 29/39] drm/i915: Move GEM object waiting to its own file

2019-03-13 Thread Chris Wilson
Continuing the decluttering of i915_gem.c by moving the object wait decomposition into its own file. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/Makefile | 1 + drivers/gpu/drm/i915/gem/i915_gem_object.h | 8 + drivers/gpu/drm/i915/gem/i915_gem_wait.c | 276 ++

[Intel-gfx] [PATCH 01/39] drm/i915: Hold a ref to the ring while retiring

2019-03-13 Thread Chris Wilson
As the final request on a ring may hold the reference to this ring (via retiring the last pinned context), we may find ourselves chasing a dangling pointer on completion of the list. A quick solution is to hold a reference to the ring itself as we retire along it so that we only free it after we s

[Intel-gfx] [PATCH 20/39] drm/i915: Pull GEM ioctls interface to its own file

2019-03-13 Thread Chris Wilson
Declutter i915_drv/gem.h by moving the ioctl API into its own header. Signed-off-by: Chris Wilson Reviewed-by: Matthew Auld --- drivers/gpu/drm/i915/Makefile | 1 + drivers/gpu/drm/i915/gem/i915_gem_ioctls.h| 52 +++ .../gem/test_i915_gem_ioctls_standalone.c

[Intel-gfx] [PATCH 15/39] drm/i915: Extend execution fence to support a callback

2019-03-13 Thread Chris Wilson
In the next patch, we will want to configure the slave request depending on which physical engine the master request is executed on. For this, we introduce a callback from the execute fence to convey this information. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/i915_request.c | 84 +

[Intel-gfx] [PATCH 38/39] drm/i915/execlists: Preempt-to-busy

2019-03-13 Thread Chris Wilson
When using a global seqno, we required a precise stop-the-workd event to handle preemption and unwind the global seqno counter. To accomplish this, we would preempt to a special out-of-band context and wait for the machine to report that it was idle. Given an idle machine, we could very precisely s

[Intel-gfx] [PATCH 24/39] drm/i915: Move mmap and friends to its own file

2019-03-13 Thread Chris Wilson
Continuing the decluttering of i915_gem.c, now the turn of do_mmap and the faulthandlers Signed-off-by: Chris Wilson Reviewed-by: Matthew Auld --- drivers/gpu/drm/i915/Makefile | 1 + drivers/gpu/drm/i915/gem/i915_gem_mman.c | 514 drivers/gpu/drm/i915/ge

[Intel-gfx] [PATCH 05/39] drm/i915/selftests: Provide stub reset functions

2019-03-13 Thread Chris Wilson
If a test fails, we quite often mark the device as wedged. Provide the stub functions so that we can wedge the mock device, and avoid exploding on test failures. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109981 Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/selftests/mock_engi

[Intel-gfx] [PATCH 30/39] drm/i915: Move GEM object busy checking to its own file

2019-03-13 Thread Chris Wilson
Continuing the decluttering of i915_gem.c by moving the object busy checking into its own file. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/Makefile| 1 + drivers/gpu/drm/i915/gem/i915_gem_busy.c | 137 +++ drivers/gpu/drm/i915/i915_gem.c | 127

[Intel-gfx] [PATCH 16/39] drm/i915/execlists: Virtual engine bonding

2019-03-13 Thread Chris Wilson
Some users require that when a master batch is executed on one particular engine, a companion batch is run simultaneously on a specific slave engine. For this purpose, we introduce virtual engine bonding, allowing maps of master:slaves to be constructed to constrain which physical engines a virtual

[Intel-gfx] [PATCH 35/39] drm/i915: Keep contexts pinned until after the next kernel context switch

2019-03-13 Thread Chris Wilson
We need to keep the context image pinned in memory until after the GPU has finished writing into it. Since it continues to write as we signal the final breadcrumb, we need to keep it pinned until the request after it is complete. Currently we know the order in which requests execute on each engine,

[Intel-gfx] [PATCH 22/39] drm/i915: Move shmem object setup to its own file

2019-03-13 Thread Chris Wilson
Split the plain old shmem object into its own file to start decluttering i915_gem.c v2: Lose the confusing, hysterical raisins, suffix of _gtt. Signed-off-by: Chris Wilson Reviewed-by: Matthew Auld --- drivers/gpu/drm/i915/Makefile | 1 + drivers/gpu/drm/i915/gem/i915_gem_obj

[Intel-gfx] [PATCH 28/39] drm/i915: Move GEM object domain management from struct_mutex to local

2019-03-13 Thread Chris Wilson
Use the per-object local lock to control the cache domain of the individual GEM objects, not struct_mutex. This is a huge leap forward for us in terms of object-level synchronisation; execbuffers are coordinated using the ww_mutex and pread/pwrite is finally fully serialised again. Signed-off-by:

[Intel-gfx] [PATCH 21/39] drm/i915: Move object->pages API to i915_gem_object.[ch]

2019-03-13 Thread Chris Wilson
Currently the code for manipulating the pages on an object is still residing in i915_gem.c, move it to i915_gem_object.c Signed-off-by: Chris Wilson Cc: Joonas Lahtinen Reviewed-by: Matthew Auld --- drivers/gpu/drm/i915/Makefile | 3 +- .../gpu/drm/i915/{ => gem}/i915_gem_obj

[Intel-gfx] [PATCH 31/39] drm/i915: Move GEM client throttling to its own file

2019-03-13 Thread Chris Wilson
Continuing the decluttering of i915_gem.c by moving the client self throttling into its own file. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/Makefile| 1 + drivers/gpu/drm/i915/gem/i915_gem_throttle.c | 74 drivers/gpu/drm/i915/i915_drv.h

[Intel-gfx] [PATCH 39/39] drm/i915: Remove logical HW ID

2019-03-13 Thread Chris Wilson
We only need to keep a unique tag for the active lifetime of the context, and for as long as we need to identify that context. The HW uses the tag to determine if it should use a lite-restore (why not the LRCA?) and passes the tag back for various status identifies. The only status we need to track

[Intel-gfx] [PATCH 34/39] drm/i915: Rename intel_context.active to .inflight

2019-03-13 Thread Chris Wilson
Rename the engine this HW context is currently active upon (that we are flying upon) to disambiguate between the mixture of different active terms (and prevent conflict in future patches). Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/intel_context_types.h | 2 +- drivers/gpu/drm/i915/in

[Intel-gfx] [PATCH 12/39] drm/i915: Allow a context to define its set of engines

2019-03-13 Thread Chris Wilson
Over the last few years, we have debated how to extend the user API to support an increase in the number of engines, that may be sparse and even be heterogeneous within a class (not all video decoders created equal). We settled on using (class, instance) tuples to identify a specific engine, with a

[Intel-gfx] [PATCH 36/39] drm/i915: Stop retiring along engine

2019-03-13 Thread Chris Wilson
We no longer track the execution order along the engine and so no longer need to enforce ordering of retire along the engine. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/i915_request.c | 116 ++-- 1 file changed, 39 insertions(+), 77 deletions(-) diff --git a/dr

[Intel-gfx] [PATCH 09/39] drm/i915: Extend CONTEXT_CREATE to set parameters upon construction

2019-03-13 Thread Chris Wilson
It can be useful to have a single ioctl to create a context with all the initial parameters instead of a series of create + setparam + setparam ioctls. This extension to create context allows any of the parameters to be passed in as a linked list to be applied to the newly constructed context. v2:

[Intel-gfx] [PATCH 08/39] drm/i915: Create/destroy VM (ppGTT) for use with contexts

2019-03-13 Thread Chris Wilson
In preparation to making the ppGTT binding for a context explicit (to facilitate reusing the same ppGTT between different contexts), allow the user to create and destroy named ppGTT. v2: Replace global barrier for swapping over the ppgtt and tlbs with a local context barrier (Tvrtko) v3: serialise

[Intel-gfx] [PATCH 14/39] drm/i915: Load balancing across a virtual engine

2019-03-13 Thread Chris Wilson
Having allowed the user to define a set of engines that they will want to only use, we go one step further and allow them to bind those engines into a single virtual instance. Submitting a batch to the virtual engine will then forward it to any one of the set in a manner as best to distribute load.

[Intel-gfx] [PATCH 06/39] drm/i915: Switch to use HWS indices rather than addresses

2019-03-13 Thread Chris Wilson
If we use the STORE_DATA_INDEX function we can use a fixed offset and avoid having to lookup up the engine HWS address. A step closer to being able to emit the final breadcrumb during request_add rather than later in the submission interrupt handler. Signed-off-by: Chris Wilson --- drivers/gpu/d

[Intel-gfx] [PATCH 04/39] drm/i915: Stop needlessly acquiring wakeref for debugfs/drop_caches_set

2019-03-13 Thread Chris Wilson
We only need to acquire a wakeref for ourselves for a few operations, as most either already acquire their own wakeref or imply a wakeref. In particular, it is i915_gem_set_wedged() that needed us to present it with a wakeref, which is incongruous with its "use anywhere" ability. Suggested-by: Yok

[Intel-gfx] [PATCH 19/39] drm/i915: Split GEM object type definition to its own header

2019-03-13 Thread Chris Wilson
For convenience in avoiding inline spaghetti, keep the type definition as a separate header. Signed-off-by: Chris Wilson Reviewed-by: Matthew Auld --- drivers/gpu/drm/i915/Makefile | 3 +- .../gpu/drm/i915/gem/i915_gem_object_types.h | 285 + .../test_i915_gem

[Intel-gfx] [PATCH 03/39] drm/i915: Hold a reference to the active HW context

2019-03-13 Thread Chris Wilson
For virtual engines, we need to keep the HW context alive while it remains in use. For regular HW contexts, they are created and kept alive until the end of the GEM context. For simplicity, generalise the requirements and keep an active reference to each HW context. Signed-off-by: Chris Wilson --

[Intel-gfx] [PATCH 23/39] drm/i915: Move phys objects to its own file

2019-03-13 Thread Chris Wilson
Continuing the decluttering of i915_gem.c, this time the legacy physical object. Signed-off-by: Chris Wilson Reviewed-by: Matthew Auld --- drivers/gpu/drm/i915/Makefile | 2 + drivers/gpu/drm/i915/gem/i915_gem_object.h| 8 + .../gpu/drm/i915/gem/i915_gem_object_types.h

[Intel-gfx] [PATCH 25/39] drm/i915: Move GEM domain management to its own file

2019-03-13 Thread Chris Wilson
Continuing the decluttering of i915_gem.c, that of the read/write domains, perhaps the biggest of GEM's follies? Signed-off-by: Chris Wilson Reviewed-by: Matthew Auld --- drivers/gpu/drm/i915/Makefile | 1 + drivers/gpu/drm/i915/gem/i915_gem_domain.c| 764 +

[Intel-gfx] [PATCH 10/39] drm/i915: Allow contexts to share a single timeline across all engines

2019-03-13 Thread Chris Wilson
Previously, our view has been always to run the engines independently within a context. (Multiple engines happened before we had contexts and timelines, so they always operated independently and that behaviour persisted into contexts.) However, at the user level the context often represents a singl

[Intel-gfx] [PATCH 17/39] drm/i915: Allow specification of parallel execbuf

2019-03-13 Thread Chris Wilson
There is a desire to split a task onto two engines and have them run at the same time, e.g. scanline interleaving to spread the workload evenly. Through the use of the out-fence from the first execbuf, we can coordinate secondary execbuf to only become ready simultaneously with the first, so that w

[Intel-gfx] [PATCH 07/39] drm/i915: Introduce the i915_user_extension_method

2019-03-13 Thread Chris Wilson
An idea for extending uABI inspired by Vulkan's extension chains. Instead of expanding the data struct for each ioctl every time we need to add a new feature, define an extension chain instead. As we add optional interfaces to control the ioctl, we define a new extension struct that can be linked i

[Intel-gfx] [PATCH 13/39] drm/i915: Extend I915_CONTEXT_PARAM_SSEU to support local ctx->engine[]

2019-03-13 Thread Chris Wilson
Allow the user to specify a local engine index (as opposed to class:index) that they can use to refer to a preset engine inside the ctx->engine[] array defined by an earlier I915_CONTEXT_PARAM_ENGINES. This will be useful for setting SSEU parameters on virtual engines that are local to the context

Re: [Intel-gfx] [PATCH 35/39] drm/i915: Keep contexts pinned until after the next kernel context switch

2019-03-13 Thread Chris Wilson
Quoting Chris Wilson (2019-03-13 14:43:57) > We need to keep the context image pinned in memory until after the GPU > has finished writing into it. Since it continues to write as we signal > the final breadcrumb, we need to keep it pinned until the request after > it is complete. Currently we know

[Intel-gfx] [PATCH 37/39] drm/i915: Replace engine->timeline with a plain list

2019-03-13 Thread Chris Wilson
To continue the onslaught of removing the assumption of a global execution ordering, another casualty is the engine->timeline. Without an actual timeline to track, it is overkill and we can replace it with a much less grand plain list. We still need a list of requests inflight, for the simple purpo

[Intel-gfx] [PATCH 26/39] drm/i915: Move more GEM objects under gem/

2019-03-13 Thread Chris Wilson
Continuing the theme of separating out the GEM clutter. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/Makefile | 25 ++- .../gpu/drm/i915/{ => gem}/i915_gem_clflush.c | 27 +++ drivers/gpu/drm/i915/gem/i915_gem_clflush.h | 20 + .../gpu/drm/i915/{

[Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [v4,1/3] drm/i915/vbt: Parse and use the new field with PSR2 TP2/3 wakeup time

2019-03-13 Thread Patchwork
== Series Details == Series: series starting with [v4,1/3] drm/i915/vbt: Parse and use the new field with PSR2 TP2/3 wakeup time URL : https://patchwork.freedesktop.org/series/57896/ State : success == Summary == CI Bug Log - changes from CI_DRM_5737 -> Patchwork_12443 ===

Re: [Intel-gfx] [PATCH 1/7] drm/i915: Readout and check csc_mode

2019-03-13 Thread Shankar, Uma
>-Original Message- >From: Ville Syrjala [mailto:ville.syrj...@linux.intel.com] >Sent: Tuesday, February 19, 2019 1:02 AM >To: intel-gfx@lists.freedesktop.org >Cc: Shankar, Uma ; Roper, Matthew D > >Subject: [PATCH 1/7] drm/i915: Readout and check csc_mode > >From: Ville Syrjälä > >Add t

[Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm/i915: Fix PSR2 selective update corruption after PSR1 setup

2019-03-13 Thread Patchwork
== Series Details == Series: drm/i915: Fix PSR2 selective update corruption after PSR1 setup URL : https://patchwork.freedesktop.org/series/57900/ State : warning == Summary == $ dim sparse origin/drm-tip Sparse version: v0.5.2 Commit: drm/i915: Fix PSR2 selective update corruption after PSR1

Re: [Intel-gfx] [PATCH 2/7] drm/i915: Preocmpute/readout/check CHV CGM mode

2019-03-13 Thread Shankar, Uma
>-Original Message- >From: Ville Syrjala [mailto:ville.syrj...@linux.intel.com] >Sent: Tuesday, February 19, 2019 1:02 AM >To: intel-gfx@lists.freedesktop.org >Cc: Shankar, Uma ; Roper, Matthew D > >Subject: [PATCH 2/7] drm/i915: Preocmpute/readout/check CHV CGM mode Typo in precompute

Re: [Intel-gfx] [PATCH 3/7] drm/i915: Extract ilk_csc_limited_range()

2019-03-13 Thread Shankar, Uma
>-Original Message- >From: Ville Syrjala [mailto:ville.syrj...@linux.intel.com] >Sent: Tuesday, February 19, 2019 1:02 AM >To: intel-gfx@lists.freedesktop.org >Cc: Shankar, Uma ; Roper, Matthew D > >Subject: [PATCH 3/7] drm/i915: Extract ilk_csc_limited_range() > >From: Ville Syrjälä > >

[Intel-gfx] ✗ Fi.CI.SPARSE: warning for skl+ cursor DDB allocation fixes

2019-03-13 Thread Patchwork
== Series Details == Series: skl+ cursor DDB allocation fixes URL : https://patchwork.freedesktop.org/series/57901/ State : warning == Summary == $ dim sparse origin/drm-tip Sparse version: v0.5.2 Commit: drm/i915: Accept alloc_size == blocks Okay! Commit: drm/i915: Don't pass plane state to

Re: [Intel-gfx] [PATCH v2 1/3] drm: Add support for panic message output

2019-03-13 Thread Michel Dänzer
On 2019-03-13 2:37 p.m., Christian König wrote: > Am 13.03.19 um 14:31 schrieb Ville Syrjälä: >> On Wed, Mar 13, 2019 at 10:35:08AM +0100, Michel Dänzer wrote: >>> On 2019-03-12 6:15 p.m., Noralf Trønnes wrote: Den 12.03.2019 17.17, skrev Ville Syrjälä: > On Tue, Mar 12, 2019 at 11:47

Re: [Intel-gfx] [PATCH v2 1/3] drm: Add support for panic message output

2019-03-13 Thread Christian König
Am 13.03.19 um 16:38 schrieb Michel Dänzer: On 2019-03-13 2:37 p.m., Christian König wrote: Am 13.03.19 um 14:31 schrieb Ville Syrjälä: On Wed, Mar 13, 2019 at 10:35:08AM +0100, Michel Dänzer wrote: On 2019-03-12 6:15 p.m., Noralf Trønnes wrote: Den 12.03.2019 17.17, skrev Ville Syrjälä: On

Re: [Intel-gfx] [PATCH v2 1/3] drm: Add support for panic message output

2019-03-13 Thread John Ogness
On 2019-03-12, Ahmed S. Darwish wrote: + +static void drm_panic_kmsg_dump(struct kmsg_dumper *dumper, + enum kmsg_dump_reason reason) +{ + class_for_each_device(drm_class, NULL, dumper, drm_panic_dev_iter); >>> >>> class_for_each_device uses klist

Re: [Intel-gfx] [PATCH v2 1/3] drm: Add support for panic message output

2019-03-13 Thread Ahmed S. Darwish
Hi, [[ CCing John for the trylock parts ]] On Mon, Mar 11, 2019 at 11:33:15PM +0100, Noralf Trønnes wrote: > > > Den 11.03.2019 20.23, skrev Daniel Vetter: > > On Mon, Mar 11, 2019 at 06:42:16PM +0100, Noralf Trønnes wrote: > >> This adds support for outputting kernel messages on panic(). > >> A

[Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915: Fix PSR2 selective update corruption after PSR1 setup

2019-03-13 Thread Patchwork
== Series Details == Series: drm/i915: Fix PSR2 selective update corruption after PSR1 setup URL : https://patchwork.freedesktop.org/series/57900/ State : failure == Summary == CI Bug Log - changes from CI_DRM_5737 -> Patchwork_12444 Summar

Re: [Intel-gfx] [PATCH] drm/i915/ddi: Fix default eDP detection on port A

2019-03-13 Thread Jani Nikula
On Thu, 07 Mar 2019, Jani Nikula wrote: > On Thu, 07 Mar 2019, Thomas Preston wrote: >> Would you like me to resubmit with the suggested changes? > > Nah, we can tweak the commit message while applying. Pushed to dinq, thanks for the patch. BR, Jani. -- Jani Nikula, Intel Open Source Graphics

[Intel-gfx] ✓ Fi.CI.BAT: success for skl+ cursor DDB allocation fixes

2019-03-13 Thread Patchwork
== Series Details == Series: skl+ cursor DDB allocation fixes URL : https://patchwork.freedesktop.org/series/57901/ State : success == Summary == CI Bug Log - changes from CI_DRM_5737 -> Patchwork_12445 Summary --- **SUCCESS** No

Re: [Intel-gfx] [PATCH v2 1/3] drm: Add support for panic message output

2019-03-13 Thread Kazlauskas, Nicholas
On 3/13/19 11:54 AM, Christian König wrote: > Am 13.03.19 um 16:38 schrieb Michel Dänzer: >> On 2019-03-13 2:37 p.m., Christian König wrote: >>> Am 13.03.19 um 14:31 schrieb Ville Syrjälä: On Wed, Mar 13, 2019 at 10:35:08AM +0100, Michel Dänzer wrote: > On 2019-03-12 6:15 p.m., Noralf Trøn

[Intel-gfx] [PATCH] drm/i915: Always kick the execlists tasklet after reset

2019-03-13 Thread Chris Wilson
With direct submission being disabled while the reset in progress, we have a small window where we may forgo the submission of a new request and not notice its addition during execlists_reset_finish. To close this window, always schedule the submission tasklet on coming out of reset to catch any re

Re: [Intel-gfx] [PATCH 3/7] drm/i915: Extract ilk_csc_limited_range()

2019-03-13 Thread Ville Syrjälä
On Wed, Mar 13, 2019 at 03:30:43PM +, Shankar, Uma wrote: > > > >-Original Message- > >From: Ville Syrjala [mailto:ville.syrj...@linux.intel.com] > >Sent: Tuesday, February 19, 2019 1:02 AM > >To: intel-gfx@lists.freedesktop.org > >Cc: Shankar, Uma ; Roper, Matthew D > > > >Subject: [

  1   2   >