[Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [1/2] drm/i915/dp: deconflate PPS unlock from divisor register (rev2)

2019-03-06 Thread Patchwork
== Series Details == Series: series starting with [1/2] drm/i915/dp: deconflate PPS unlock from divisor register (rev2) URL : https://patchwork.freedesktop.org/series/57579/ State : failure == Summary == CI Bug Log - changes from CI_DRM_5708 -> Patchwork_12389

[Intel-gfx] [PATCH] drm/i915/selftests: Fix MI_STORE_DWORD_IMM alignment

2019-03-06 Thread Chris Wilson
MI_STORE_DWORD_IMM wants to write into a dword-aligned (4B) address, we mistakenly cleared bit2 and not bits 0 and 1. Signed-off-by: Chris Wilson Cc: Matthew Auld Cc: Mika Kuoppala --- drivers/gpu/drm/i915/selftests/i915_gem_context.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff

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

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

Re: [Intel-gfx] [PATCH v2] drm/i915/guc: Fixing error code for WOPCM initialization

2019-03-06 Thread Michal Wajdeczko
On Wed, 06 Mar 2019 01:30:11 +0100, Sujaritha Sundaresan wrote: Replacing the -E2BIG error code return for WOPCM initialization with -ENODEV. This will prevent the pci from s/pci/CI ? picking this up as a warning during fault injection testing. v2: change the final return code in i915_pc

Re: [Intel-gfx] [PATCH v2] drm/i915/guc: Fixing error code for WOPCM initialization

2019-03-06 Thread Chris Wilson
Quoting Michal Wajdeczko (2019-03-06 08:41:20) > On Wed, 06 Mar 2019 01:30:11 +0100, Sujaritha Sundaresan > wrote: > > > Replacing the -E2BIG error code return for WOPCM > > initialization with -ENODEV. This will prevent the pci from > > s/pci/CI ? > > > picking this up as a warning during fa

[Intel-gfx] [CI] drm/i915: Pass around the intel_context

2019-03-06 Thread Chris Wilson
Instead of passing the gem_context and engine to find the instance of the intel_context to use, pass around the intel_context instead. This is useful for the next few patches, where the intel_context is no longer a direct lookup. Signed-off-by: Chris Wilson Reviewed-by: Tvrtko Ursulin --- drive

Re: [Intel-gfx] [PATCH] drm/i915/icl: Fix CRC mismatch error for DP link layer compliance

2019-03-06 Thread Jani Nikula
On Tue, 05 Mar 2019, Aditya Swarup wrote: > Setting the pixel rounding bit to 1 in PIPE_CHICKEN register allows > to passthrough FB pixels unmodified across pipe. This fixes the failures > for DP link layer compliance tests 4.4.1.1, 4.4.1.2 & 4.4.1.3. > (Lineage #1605353570) > > Cc: Clint Taylor

Re: [Intel-gfx] [PATCH v2] drm/i915/guc: Fixing error code for WOPCM initialization

2019-03-06 Thread Michal Wajdeczko
On Wed, 06 Mar 2019 09:45:17 +0100, Chris Wilson wrote: Quoting Michal Wajdeczko (2019-03-06 08:41:20) On Wed, 06 Mar 2019 01:30:11 +0100, Sujaritha Sundaresan wrote: > Replacing the -E2BIG error code return for WOPCM > initialization with -ENODEV. This will prevent the pci from s/pci/CI

[Intel-gfx] ✓ Fi.CI.IGT: success for series starting with [v2] drm/i915/guc: Fixing error code for WOPCM initialization (rev2)

2019-03-06 Thread Patchwork
== Series Details == Series: series starting with [v2] drm/i915/guc: Fixing error code for WOPCM initialization (rev2) URL : https://patchwork.freedesktop.org/series/57551/ State : success == Summary == CI Bug Log - changes from CI_DRM_5708_full -> Patchwork_12385_full ===

[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/icl: split pll functions

2019-03-06 Thread Patchwork
== Series Details == Series: drm/i915/icl: split pll functions URL : https://patchwork.freedesktop.org/series/57618/ State : success == Summary == CI Bug Log - changes from CI_DRM_5708_full -> Patchwork_12386_full Summary --- **SUCCE

Re: [Intel-gfx] [PATCH] drm/i915: Use i915_global_register()

2019-03-06 Thread Tvrtko Ursulin
On 05/03/2019 21:06, Chris Wilson wrote: Rather than manually add every new global into each hook, use i915_global_register() function and keep a list of registered globals to invoke instead. However, I haven't found a way for random drivers to add an .init table to avoid having to manually add

[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/icl: Fix CRC mismatch error for DP link layer compliance

2019-03-06 Thread Patchwork
== Series Details == Series: drm/i915/icl: Fix CRC mismatch error for DP link layer compliance URL : https://patchwork.freedesktop.org/series/57619/ State : success == Summary == CI Bug Log - changes from CI_DRM_5708_full -> Patchwork_12387_full

Re: [Intel-gfx] [PATCH v2] drm/i915/guc: Fixing error code for WOPCM initialization

2019-03-06 Thread Chris Wilson
Quoting Michal Wajdeczko (2019-03-06 09:01:09) > On Wed, 06 Mar 2019 09:45:17 +0100, Chris Wilson > > Now doing an if (i915_error_injected() && !err) err = -EINVAL; makes > > sense to catch places where we've eaten that error and so breaking the > > test. > > This will not work today, as at leas

Re: [Intel-gfx] [PATCH] drm/i915: Populate pipe_offsets[] & co. accurately

2019-03-06 Thread Chris Wilson
Quoting Ville Syrjala (2019-03-05 19:29:05) > From: Ville Syrjälä > > At some point people have started to assume that > pipe_offsets[] & co. are only populated for pipes and whatnot > that actually exist. That is in fact not currently true, but > we can easily make it so. Any benefits of knock

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/selftests: Fix MI_STORE_DWORD_IMM alignment

2019-03-06 Thread Patchwork
== Series Details == Series: drm/i915/selftests: Fix MI_STORE_DWORD_IMM alignment URL : https://patchwork.freedesktop.org/series/57633/ State : success == Summary == CI Bug Log - changes from CI_DRM_5708 -> Patchwork_12390 Summary ---

Re: [Intel-gfx] [PATCH 32/38] drm/i915: Introduce intel_context.pin_mutex for pin management

2019-03-06 Thread Tvrtko Ursulin
On 01/03/2019 14:03, Chris Wilson wrote: Introduce a mutex to start locking the HW contexts independently of struct_mutex, with a view to reducing the coarse struct_mutex. The intel_context.pin_mutex is used to guard the transition to and from being pinned on the gpu, and so is required before s

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Pass around the intel_context

2019-03-06 Thread Patchwork
== Series Details == Series: drm/i915: Pass around the intel_context URL : https://patchwork.freedesktop.org/series/57635/ State : success == Summary == CI Bug Log - changes from CI_DRM_5708 -> Patchwork_12391 Summary --- **SUCCESS**

Re: [Intel-gfx] [PATCH 32/38] drm/i915: Introduce intel_context.pin_mutex for pin management

2019-03-06 Thread Chris Wilson
Quoting Tvrtko Ursulin (2019-03-06 09:45:27) > > On 01/03/2019 14:03, Chris Wilson wrote: > > Introduce a mutex to start locking the HW contexts independently of > > struct_mutex, with a view to reducing the coarse struct_mutex. The > > intel_context.pin_mutex is used to guard the transition to an

[Intel-gfx] ✗ Fi.CI.IGT: failure for series starting with [v5,1/9] drm/i915/psr: Remove PSR2 FIXME

2019-03-06 Thread Patchwork
== Series Details == Series: series starting with [v5,1/9] drm/i915/psr: Remove PSR2 FIXME URL : https://patchwork.freedesktop.org/series/57628/ State : failure == Summary == CI Bug Log - changes from CI_DRM_5708_full -> Patchwork_12388_full

[Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915/dp: deconflate PPS unlock from divisor register (rev3)

2019-03-06 Thread Patchwork
== Series Details == Series: series starting with [1/2] drm/i915/dp: deconflate PPS unlock from divisor register (rev3) URL : https://patchwork.freedesktop.org/series/57579/ State : success == Summary == CI Bug Log - changes from CI_DRM_5708 -> Patchwork_12392

[Intel-gfx] [PULL] drm-misc-next-fixes

2019-03-06 Thread Maxime Ripard
Hi Dave, Daniel, A few extra patches for the 5.1 merge window. Thanks! Maxime drm-misc-next-fixes-2019-03-06: - Properly mark the ptr_to_compat argument with the __user tag - Merge __drm_atomic_helper_disable_all into drm_atomic_helper_disable_all The following changes since commit 6649a95d35d8

Re: [Intel-gfx] [PATCH] drm/i915/selftests: Fix MI_STORE_DWORD_IMM alignment

2019-03-06 Thread Matthew Auld
On Wed, 6 Mar 2019 at 08:25, Chris Wilson wrote: > > MI_STORE_DWORD_IMM wants to write into a dword-aligned (4B) address, we > mistakenly cleared bit2 and not bits 0 and 1. > > Signed-off-by: Chris Wilson > Cc: Matthew Auld > Cc: Mika Kuoppala Reviewed-by: Matthew Auld

Re: [Intel-gfx] [PATCH 1/2] drm/i915/icl: Default to Thread Group preemption for compute workloads

2019-03-06 Thread Joonas Lahtinen
Quoting Chris Wilson (2019-03-05 21:10:42) > Quoting Rafael Antognolli (2019-03-05 17:30:00) > > On Tue, Mar 05, 2019 at 01:48:26PM +0100, Michał Winiarski wrote: > > > We assumed that the default preemption granularity is fine for ICL. > > > Unfortunately, it turns out that some drivers don't supp

Re: [Intel-gfx] [igt-dev] [PATCH i-g-t 7/7] kms_flip: Standardize return value for fb_is_bound

2019-03-06 Thread Maarten Lankhorst
Op 04-03-2019 om 16:32 schreef Rodrigo Siqueira: > The function fb_is_bound() mix integer value with booleans for handling > the return value. This commit standardizes the return value of > fb_is_bound() for using only booleans. > > Signed-off-by: Rodrigo Siqueira > --- > tests/kms_flip.c | 5 ++-

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

2019-03-06 Thread Tvrtko Ursulin
On 01/03/2019 14:03, Chris Wilson wrote: 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

Re: [Intel-gfx] [PATCH 37/38] drm/i915/selftests: Check preemption support on each engine

2019-03-06 Thread Tvrtko Ursulin
On 01/03/2019 14:04, Chris Wilson wrote: Check that we have setup on preemption for the engine before testing, instead warn if it is not enabled on supported HW. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/selftests/intel_lrc.c | 18 ++ 1 file changed, 18 insertions

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

2019-03-06 Thread Chris Wilson
Quoting Tvrtko Ursulin (2019-03-06 11:27:37) > > On 01/03/2019 14:03, Chris Wilson wrote: > > diff --git a/drivers/gpu/drm/i915/i915_gem_context.c > > b/drivers/gpu/drm/i915/i915_gem_context.c > > index 91926a407548..8c35b6019f0d 100644 > > --- a/drivers/gpu/drm/i915/i915_gem_context.c > > +++ b/

Re: [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/selftests: Upgrade printing test/subtest name to pr_info

2019-03-06 Thread Tvrtko Ursulin
On 05/03/2019 15:16, Patchwork wrote: == Series Details == Series: drm/i915/selftests: Upgrade printing test/subtest name to pr_info URL : https://patchwork.freedesktop.org/series/57582/ State : success == Summary == CI Bug Log - changes from CI_DRM_5703 -> Patchwork_12371 =

Re: [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Relax mmap VMA check

2019-03-06 Thread Tvrtko Ursulin
On 05/03/2019 11:47, Patchwork wrote: == Series Details == Series: drm/i915: Relax mmap VMA check URL : https://patchwork.freedesktop.org/series/57573/ State : success == Summary == CI Bug Log - changes from CI_DRM_5703 -> Patchwork_12366

Re: [Intel-gfx] [igt-dev] [PATCH i-g-t 6/8] i915/gem_exec_parse: Switch to a fixed timeout for basic-allocations

2019-03-06 Thread Tvrtko Ursulin
On 17/02/2019 14:35, Chris Wilson wrote: basic-allocations was written to demonstrate a flaw in our continual reallocation of cmdparser shadow bo, largely fixed by keeping a small cache of bo of different lengths (to speed up the search for the correct sized bo). We only care enough to exercise

[Intel-gfx] [PATCH i-g-t 0/2] Enabling PC8+ residency for all GEN9+ platforms

2019-03-06 Thread Anshuman Gupta
This patch series enable PC8+ residency test, earlier these tests were only enabled for Haswell and Broadwell. Since Gen9 onwards PC8+ residency does't require display to be turned off, this patch series tests PC8 residency with all screens on. Tested on Gen9, unable to test on ICL, because silico

[Intel-gfx] [PATCH i-g-t 1/2] tests/i915/i915_pm_rpm: Enable PC8+ residency test for ICL

2019-03-06 Thread Anshuman Gupta
Enabled has_pc8 global for ICL and Gen9. Added PC8+ residency test for display enabled case as well. Signed-off-by: Anshuman Gupta --- tests/i915/i915_pm_rpm.c | 75 +++- 1 file changed, 68 insertions(+), 7 deletions(-) diff --git a/tests/i915/i915_pm

[Intel-gfx] [PATCH i-g-t 2/2] tests/i915/i915_pm_rpm: modeset-pc8-residency-stress

2019-03-06 Thread Anshuman Gupta
Introduced pc8_needs_screen_off flag in order to differentiate between HASWELL/BROADWEEL and AT_LEAST_GEN9. GEN9 onwards PC8+ residency does't require display to be turned on. Signed-off-by: Anshuman Gupta --- tests/i915/i915_pm_rpm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff -

[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/selftests: Fix MI_STORE_DWORD_IMM alignment

2019-03-06 Thread Patchwork
== Series Details == Series: drm/i915/selftests: Fix MI_STORE_DWORD_IMM alignment URL : https://patchwork.freedesktop.org/series/57633/ State : success == Summary == CI Bug Log - changes from CI_DRM_5708_full -> Patchwork_12390_full Summary

Re: [Intel-gfx] [PATCH 2/2] drm/i915: fix placement of ICP_PP_CONTROL

2019-03-06 Thread Ville Syrjälä
On Tue, Mar 05, 2019 at 01:07:34PM -0800, Lucas De Marchi wrote: > On Tue, Mar 05, 2019 at 03:23:48PM +0200, Jani Nikula wrote: > >On Mon, 04 Mar 2019, Jani Nikula wrote: > >> On Mon, 04 Mar 2019, Ville Syrjälä wrote: > >>> On Fri, Mar 01, 2019 at 05:14:05PM -0800, Lucas De Marchi wrote: > T

[Intel-gfx] [PATCH] drm/i915/selftests: Canonicalise gen8 addresses

2019-03-06 Thread Chris Wilson
For igt_vm_isolation, we write into the whole 48b address space, and not just our usual low 4G of global GTT. For these MI operations, play safe and ensure we use the canonical address form. Signed-off-by: Chris Wilson Cc: Matthew Auld Cc: Mika Kuoppala --- drivers/gpu/drm/i915/i915_gem_execbu

[Intel-gfx] RFC Breaking up GEM struct_mutex for async-pages

2019-03-06 Thread Chris Wilson
Preparation changes to adapt some of the GEM locking in preparation for async-pages. Feedback on the GEM changes appreciated. -Chris ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

2019-03-06 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 31/43] drm/i915: Move object->pages API to i915_gem_object.[ch]

2019-03-06 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 --- drivers/gpu/drm/i915/Makefile | 3 +- .../gpu/drm/i915/{ => gem}/i915_gem_object.c | 3 +- .../gpu/dr

[Intel-gfx] [PATCH 08/43] drm/i915: Introduce the i915_user_extension_method

2019-03-06 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 41/43] drm/i915: Move GEM client throttling to its own file

2019-03-06 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 43/43] drm/i915: Move object close under its own lock

2019-03-06 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 | 15 +++--- .../gpu/drm/i915/gem/i915_gem_context_types.h

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

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

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

2019-03-06 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 40/43] drm/i915: Move GEM object busy checking to its own file

2019-03-06 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 35/43] drm/i915: Move GEM domain management to its own file

2019-03-06 Thread Chris Wilson
Continuing the decluttering of i915_gem.c Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/Makefile | 1 + drivers/gpu/drm/i915/gem/i915_gem_domain.c| 764 ++ drivers/gpu/drm/i915/gem/i915_gem_object.h| 29 + drivers/gpu/drm/i915/gvt/cmd_parser.c

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

2019-03-06 Thread Chris Wilson
Split the plain old shmem object into its own file to start decluttering i915_gem.c Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/Makefile | 1 + drivers/gpu/drm/i915/gem/i915_gem_object.c| 300 ++- drivers/gpu/drm/i915/gem/i915_gem_object.h| 39 + drivers/g

[Intel-gfx] [PATCH 42/43] drm/i915: Drop the deferred active reference

2019-03-06 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 37/43] drm/i915: Pull scatterlist utils out of i915_gem.h

2019-03-06 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 34/43] drm/i915: Move mmap and friends to its own file

2019-03-06 Thread Chris Wilson
Continuing the decluttering of i915_gem.c Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/Makefile | 1 + drivers/gpu/drm/i915/gem/i915_gem_mman.c | 514 drivers/gpu/drm/i915/gem/i915_gem_object.c| 56 ++ drivers/gpu/drm/i915/gem/i915_gem_object.

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

2019-03-06 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] [PATCH 23/43] drm/i915: Load balancing across a virtual engine

2019-03-06 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 22/43] drm/i915: Introduce intel_context.pin_mutex for pin management

2019-03-06 Thread Chris Wilson
Introduce a mutex to start locking the HW contexts independently of struct_mutex, with a view to reducing the coarse struct_mutex. The intel_context.pin_mutex is used to guard the transition to and from being pinned on the gpu, and so is required before starting to build any request. The intel_cont

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

2019-03-06 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 19/43] drm/i915: Move over to intel_context_lookup()

2019-03-06 Thread Chris Wilson
In preparation for an ever growing number of engines and so ever increasing static array of HW contexts within the GEM context, move the array over to an rbtree, allocated upon first use. Unfortunately, this imposes an rbtree lookup at a few frequent callsites, but we should be able to mitigate th

[Intel-gfx] [PATCH 21/43] drm/i915: Track the pinned kernel contexts on each engine

2019-03-06 Thread Chris Wilson
Each engine acquires a pin on the kernel contexts (normal and preempt) so that the logical state is always available on demand. Keep track of each engines pin by storing the returned pointer on the engine for quick access. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/intel_engine_cs.c

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

2019-03-06 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 14/43] drm/i915: Allow userspace to clone contexts on creation

2019-03-06 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 29/43] drm/i915: Split GEM object type definition to its own header

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

[Intel-gfx] [PATCH 20/43] drm/i915: Make context pinning part of intel_context_ops

2019-03-06 Thread Chris Wilson
Push the intel_context pin callback down from intel_engine_cs onto the context itself by virtue of having a central caller for intel_context_pin() being able to lookup the intel_context itself. Signed-off-by: Chris Wilson Reviewed-by: Tvrtko Ursulin --- drivers/gpu/drm/i915/intel_context.c

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

2019-03-06 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 01/43] drm/i915/selftests: Canonicalise gen8 addresses

2019-03-06 Thread Chris Wilson
For igt_vm_isolation, we write into the whole 48b address space, and not just our usual low 4G of global GTT. For these MI operations, play safe and ensure we use the canonical address form. Signed-off-by: Chris Wilson Cc: Matthew Auld Cc: Mika Kuoppala --- drivers/gpu/drm/i915/i915_gem_execbu

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

2019-03-06 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 11/43] drm/i915: Create/destroy VM (ppGTT) for use with contexts

2019-03-06 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/43] drm/i915: Reduce presumption of request ordering for barriers

2019-03-06 Thread Chris Wilson
Currently we assume that we know the order in which requests run and so can determine if we need to reissue a switch-to-kernel-context prior to idling. That assumption does not hold for the future, so instead of tracking which barriers have been used, simply determine if we have ever switched away

[Intel-gfx] [PATCH 04/43] drm/i915: Do a synchronous switch-to-kernel-context on idling

2019-03-06 Thread Chris Wilson
When the system idles, we switch to the kernel context as a defensive measure (no users are harmed if the kernel context is lost). Currently, we issue a switch to kernel context and then come back later to see if the kernel context is still current and the system is idle. However, if we are no long

[Intel-gfx] [PATCH 05/43] drm/i915: Refactor common code to load initial power context

2019-03-06 Thread Chris Wilson
We load a context (the kernel context) on both module load and resume in order to initialise some logical state onto the GPU. We can use the same routine for both operations, which will become more useful as we refactor rc6/rps enabling. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/i915_

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

2019-03-06 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] [PATCH 28/43] drm/i915/execlists: Skip direct submission if only lite-restore

2019-03-06 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 33/43] drm/i915: Move phys objects to its own file

2019-03-06 Thread Chris Wilson
Continuing the decluttering of i915_gem.c Signed-off-by: Chris Wilson --- 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 | 2 + drivers/gpu/drm/i915/gem/i915_gem_pages.c | 482 +

[Intel-gfx] [PATCH 03/43] drm/i915/selftests: Improve switch-to-kernel-context checking

2019-03-06 Thread Chris Wilson
We can reduce the switch-to-kernel-context selftest to operate as a loop and so trivially test another state transition (that of idle->busy). Signed-off-by: Chris Wilson --- .../gpu/drm/i915/selftests/i915_gem_context.c | 80 --- 1 file changed, 35 insertions(+), 45 deletions(-)

[Intel-gfx] [PATCH 10/43] drm/i915: Introduce a context barrier callback

2019-03-06 Thread Chris Wilson
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 and on retiring that request cleanup the old state

[Intel-gfx] [PATCH 27/43] drm/i915/selftests: Check preemption support on each engine

2019-03-06 Thread Chris Wilson
Check that we have setup on preemption for the engine before testing, instead warn if it is not enabled on supported HW. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/selftests/intel_lrc.c | 18 ++ 1 file changed, 18 insertions(+) diff --git a/drivers/gpu/drm/i915/selftes

[Intel-gfx] [PATCH 17/43] drm/i915: Split struct intel_context definition to its own header

2019-03-06 Thread Chris Wilson
This complex struct pulling in half the driver deserves its own isolation in preparation for intel_context becoming an outright complicated class of its own. In order to split this beast into its own header also requests splitting several of its dependent types and their dependencies into their ow

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

2019-03-06 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 09/43] drm/i915: Track active engines within a context

2019-03-06 Thread Chris Wilson
For use in the next patch, if we track which engines have been used by the HW, we can reduce the work required to flush our state off the HW to those engines. Signed-off-by: Chris Wilson Reviewed-by: Tvrtko Ursulin --- drivers/gpu/drm/i915/i915_debugfs.c | 18 +-- drivers/

[Intel-gfx] [PATCH 02/43] drm/i915: Force GPU idle on suspend

2019-03-06 Thread Chris Wilson
To facilitate the next patch to allow preemptible kernels not to incur the wrath of hangcheck, we need to ensure that we can still suspend and shutdown. That is we will not be able to rely on hangcheck to terminate a blocking kernel and instead must manually do so ourselves. The advantage is that w

[Intel-gfx] [PATCH 18/43] drm/i915: Store the intel_context_ops in the intel_engine_cs

2019-03-06 Thread Chris Wilson
If we place a pointer to the engine specific intel_context_ops in the engine itself, we can assign the ops pointer on initialising the context, and then rely on it being set. This simplifies the code in later patches. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/i915_gem_context.c |

[Intel-gfx] [PATCH 07/43] drm/i915: Remove has-kernel-context

2019-03-06 Thread Chris Wilson
We can no longer assume execution ordering, and in particular we cannot assume which context will execute last. One side-effect of this is that we cannot determine if the kernel-context is resident on the GPU, so remove the routines that claimed to do so. Signed-off-by: Chris Wilson --- drivers/

Re: [Intel-gfx] [PATCH 3/3] drm/i915: Move find_active_request() to the engine

2019-03-06 Thread Mika Kuoppala
Chris Wilson writes: > Quoting Tvrtko Ursulin (2019-03-05 18:13:34) >> >> intel_engine.h in 3...2...1.. ;) > > As soon as we have a good name for the legacy submission method. At the > moment, my favorites are: > gen2_submission.c / legacy_submission.c (actually that's winning again) > gen8_subm

Re: [Intel-gfx] [PATCH 18/43] drm/i915: Store the intel_context_ops in the intel_engine_cs

2019-03-06 Thread Tvrtko Ursulin
On 06/03/2019 14:24, Chris Wilson wrote: If we place a pointer to the engine specific intel_context_ops in the engine itself, we can assign the ops pointer on initialising the context, and then rely on it being set. This simplifies the code in later patches. Signed-off-by: Chris Wilson --- d

Re: [Intel-gfx] [PATCH 19/43] drm/i915: Move over to intel_context_lookup()

2019-03-06 Thread Tvrtko Ursulin
On 06/03/2019 14:24, Chris Wilson wrote: In preparation for an ever growing number of engines and so ever increasing static array of HW contexts within the GEM context, move the array over to an rbtree, allocated upon first use. Unfortunately, this imposes an rbtree lookup at a few frequent cal

Re: [Intel-gfx] [PATCH] drm/i915/selftests: Canonicalise gen8 addresses

2019-03-06 Thread Mika Kuoppala
Chris Wilson writes: > For igt_vm_isolation, we write into the whole 48b address space, and not > just our usual low 4G of global GTT. For these MI operations, play safe > and ensure we use the canonical address form. > > Signed-off-by: Chris Wilson > Cc: Matthew Auld > Cc: Mika Kuoppala > ---

Re: [Intel-gfx] [PATCH 22/43] drm/i915: Introduce intel_context.pin_mutex for pin management

2019-03-06 Thread Tvrtko Ursulin
On 06/03/2019 14:24, Chris Wilson wrote: Introduce a mutex to start locking the HW contexts independently of struct_mutex, with a view to reducing the coarse struct_mutex. The intel_context.pin_mutex is used to guard the transition to and from being pinned on the gpu, and so is required before s

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

2019-03-06 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

Re: [Intel-gfx] [PATCH 22/43] drm/i915: Introduce intel_context.pin_mutex for pin management

2019-03-06 Thread Chris Wilson
Quoting Tvrtko Ursulin (2019-03-06 14:43:13) > > On 06/03/2019 14:24, Chris Wilson wrote: > > Introduce a mutex to start locking the HW contexts independently of > > struct_mutex, with a view to reducing the coarse struct_mutex. The > > intel_context.pin_mutex is used to guard the transition to an

Re: [Intel-gfx] [PATCH] drm/i915: Populate pipe_offsets[] & co. accurately

2019-03-06 Thread Ville Syrjälä
On Wed, Mar 06, 2019 at 09:31:48AM +, Chris Wilson wrote: > Quoting Ville Syrjala (2019-03-05 19:29:05) > > From: Ville Syrjälä > > > > At some point people have started to assume that > > pipe_offsets[] & co. are only populated for pipes and whatnot > > that actually exist. That is in fact n

Re: [Intel-gfx] [PATCH] drm/i915: Populate pipe_offsets[] & co. accurately

2019-03-06 Thread Chris Wilson
Quoting Ville Syrjälä (2019-03-06 14:52:11) > On Wed, Mar 06, 2019 at 09:31:48AM +, Chris Wilson wrote: > > Quoting Ville Syrjala (2019-03-05 19:29:05) > > > From: Ville Syrjälä > > > > > > At some point people have started to assume that > > > pipe_offsets[] & co. are only populated for pipe

[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915: Pass around the intel_context

2019-03-06 Thread Patchwork
== Series Details == Series: drm/i915: Pass around the intel_context URL : https://patchwork.freedesktop.org/series/57635/ State : success == Summary == CI Bug Log - changes from CI_DRM_5708_full -> Patchwork_12391_full Summary --- *

[Intel-gfx] ✓ Fi.CI.IGT: success for series starting with [1/2] drm/i915/dp: deconflate PPS unlock from divisor register (rev3)

2019-03-06 Thread Patchwork
== Series Details == Series: series starting with [1/2] drm/i915/dp: deconflate PPS unlock from divisor register (rev3) URL : https://patchwork.freedesktop.org/series/57579/ State : success == Summary == CI Bug Log - changes from CI_DRM_5708_full -> Patchwork_12392_full ==

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [01/43] drm/i915/selftests: Canonicalise gen8 addresses

2019-03-06 Thread Patchwork
== Series Details == Series: series starting with [01/43] drm/i915/selftests: Canonicalise gen8 addresses URL : https://patchwork.freedesktop.org/series/57646/ State : warning == Summary == $ dim checkpatch origin/drm-tip 38853354b213 drm/i915/selftests: Canonicalise gen8 addresses 9afdcdabf8

Re: [Intel-gfx] [PATCH] drm/i915: Populate pipe_offsets[] & co. accurately

2019-03-06 Thread Ville Syrjälä
On Wed, Mar 06, 2019 at 02:55:58PM +, Chris Wilson wrote: > Quoting Ville Syrjälä (2019-03-06 14:52:11) > > On Wed, Mar 06, 2019 at 09:31:48AM +, Chris Wilson wrote: > > > Quoting Ville Syrjala (2019-03-05 19:29:05) > > > > From: Ville Syrjälä > > > > > > > > At some point people have sta

[Intel-gfx] ✗ Fi.CI.SPARSE: warning for series starting with [01/43] drm/i915/selftests: Canonicalise gen8 addresses

2019-03-06 Thread Patchwork
== Series Details == Series: series starting with [01/43] drm/i915/selftests: Canonicalise gen8 addresses URL : https://patchwork.freedesktop.org/series/57646/ State : warning == Summary == $ dim sparse origin/drm-tip Sparse version: v0.5.2 Commit: drm/i915/selftests: Canonicalise gen8 addres

Re: [Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [v2,1/2] drm/i915: Do not temporarily disable the DPLL on i830

2019-03-06 Thread Ville Syrjälä
On Tue, Mar 05, 2019 at 09:13:39PM -, Patchwork wrote: > == Series Details == > > Series: series starting with [v2,1/2] drm/i915: Do not temporarily disable > the DPLL on i830 > URL : https://patchwork.freedesktop.org/series/57598/ > State : failure > > == Summary == > > CI Bug Log - chan

[Intel-gfx] [PATCH 1/3] drm/i915/bios: iterate over child devices to initialize ddi_port_info

2019-03-06 Thread Jani Nikula
Iterate over child devices instead of ports in parse_ddi_ports() to initialize dri_port_info. We'll eventually need to decide some stuff based on the child device order, which may be different from the port order. As a bonus, this allows better abstractions for e.g. dvo port mapping. There's a su

[Intel-gfx] [PATCH 0/3] drm/i915/bios: ddi port parsing changes

2019-03-06 Thread Jani Nikula
Some prep work for future changes which will be easier with ddi port info being initialized in child device order instead of port order. BR, Jani. Jani Nikula (3): drm/i915/bios: iterate over child devices to initialize ddi_port_info drm/i915/bios: parse dsi devices in parse_ddi_ports() dr

[Intel-gfx] [PATCH 3/3] drm/i915/bios: parse ddi ports also on VLV

2019-03-06 Thread Jani Nikula
The main benefit is improved debug logging of the ports also on VLV. Signed-off-by: Jani Nikula --- drivers/gpu/drm/i915/intel_bios.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c index 9beff569b010..0

[Intel-gfx] [PATCH 2/3] drm/i915/bios: parse dsi devices in parse_ddi_ports()

2019-03-06 Thread Jani Nikula
For the time being this is only for completeness and better debug logging of DSI ports. Signed-off-by: Jani Nikula --- drivers/gpu/drm/i915/i915_drv.h | 1 + drivers/gpu/drm/i915/intel_bios.c | 14 -- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/i

[Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915/selftests: Canonicalise gen8 addresses

2019-03-06 Thread Patchwork
== Series Details == Series: drm/i915/selftests: Canonicalise gen8 addresses URL : https://patchwork.freedesktop.org/series/57645/ State : failure == Summary == CI Bug Log - changes from CI_DRM_5711 -> Patchwork_12393 Summary --- **F

Re: [Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915/selftests: Canonicalise gen8 addresses

2019-03-06 Thread Chris Wilson
Quoting Patchwork (2019-03-06 15:42:32) > == Series Details == > > Series: drm/i915/selftests: Canonicalise gen8 addresses > URL : https://patchwork.freedesktop.org/series/57645/ > State : failure > > == Summary == > > CI Bug Log - changes from CI_DRM_5711 -> Patchwork_12393 >

  1   2   >