Re: [Intel-gfx] [PATCH v5 3/3] PM/runtime:Replace jiffies based accounting with ktime based accounting

2019-01-21 Thread Vincent Guittot
On Mon, 21 Jan 2019 at 23:53, Rafael J. Wysocki wrote: > > On Mon, Jan 21, 2019 at 4:17 PM Vincent Guittot > wrote: > > > > On Fri, 18 Jan 2019 at 13:08, Guenter Roeck wrote: > > > > > > On 1/18/19 3:05 AM, Rafael J. Wysocki wrote: > > > > On Fri, Jan 18, 2019 at 11:53 AM Vincent Guittot > > >

[Intel-gfx] ✓ Fi.CI.IGT: success for Define MOCS table for Icelake (rev2)

2019-01-21 Thread Patchwork
== Series Details == Series: Define MOCS table for Icelake (rev2) URL : https://patchwork.freedesktop.org/series/54070/ State : success == Summary == CI Bug Log - changes from CI_DRM_5459_full -> Patchwork_12002_full Summary ---

Re: [Intel-gfx] [PATCH 5/5] drm/i915: Re-enable fastset by default

2019-01-21 Thread Hans de Goede
On 08-01-19 17:08, Maarten Lankhorst wrote: Now that we've solved the backlight issue, I think it's time to enable this again by default. We've enabled it in the past, but backlight issues prevented us from enabling it by default. Our hardware readout is pretty complete, and with all of the

Re: [Intel-gfx] [PATCH 2/5] drm/i915/backlight: Fix backlight takeover on LPT, v3.

2019-01-21 Thread Hans de Goede
On 08-01-19 17:08, Maarten Lankhorst wrote: On lynxpoint the bios sometimes sets up the backlight using the CPU display, but the driver expects using the PWM PCH override register. Read the value from the CPU register, then convert it to the other units by converting from the old duty cycle,

Re: [Intel-gfx] [PATCH 3/5] drm/i915: Enable fastset for non-boot modesets.

2019-01-21 Thread Hans de Goede
On 08-01-19 17:08, Maarten Lankhorst wrote: Now that our state comparison functions are pretty complete, we should enable fastset by default when a modeset can be avoided. Even if we're not completely certain about the inherited state, we can be certain after the first modeset that our sw

[Intel-gfx] ✓ Fi.CI.BAT: success for Define MOCS table for Icelake (rev2)

2019-01-21 Thread Patchwork
== Series Details == Series: Define MOCS table for Icelake (rev2) URL : https://patchwork.freedesktop.org/series/54070/ State : success == Summary == CI Bug Log - changes from CI_DRM_5459 -> Patchwork_12002 Summary --- **SUCCESS**

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Define MOCS table for Icelake (rev2)

2019-01-21 Thread Patchwork
== Series Details == Series: Define MOCS table for Icelake (rev2) URL : https://patchwork.freedesktop.org/series/54070/ State : warning == Summary == $ dim checkpatch origin/drm-tip 42a8e03cdfa2 drm/i915: initialize unused MOCS entries to PTE 392416ee2864 drm/i915: Simplify MOCS table

[Intel-gfx] [PATCH v8 6/7] drm/i915: cache number of MOCS entries

2019-01-21 Thread Lucas De Marchi
Instead of checking the gen number every time we need to know the max number of entries, just save it into the table struct so we don't need extra branches throughout the code. This will be useful for Ice Lake that has 64 rather than 62 defined entries. Ice Lake changes will be added in a follow

[Intel-gfx] [PATCH v8 4/7] drm/i915: use a macro to define MOCS entries

2019-01-21 Thread Lucas De Marchi
Let's use a macro to make tables smaller and at the same time allow us to add fields that apply to all entries in future. For the sake of readability, I'm calling an exception on 80 chars limit. Lines are aligned for easy comparison of the entry values. Signed-off-by: Lucas De Marchi ---

[Intel-gfx] [PATCH v8 1/7] drm/i915: initialize unused MOCS entries to PTE

2019-01-21 Thread Lucas De Marchi
Instead of initializing them to uncached, let's set them to PTE for kernel tracking. While at it do some minor adjustments to comments and coding style. Signed-off-by: Lucas De Marchi --- drivers/gpu/drm/i915/intel_mocs.c | 56 +-- 1 file changed, 23 insertions(+),

[Intel-gfx] [PATCH v8 3/7] drm/i915/skl: Rework MOCS tables to keep common part in a define

2019-01-21 Thread Lucas De Marchi
From: Tomasz Lis The MOCS tables are going to be very similar across platforms. To reduce the amount of copied code, this patch rips the common part and puts it into a definition valid for all gen9 platforms. v2: Made defines for or-ing flags. Renamed macros from MOCS_TABLE to

[Intel-gfx] [PATCH v8 7/7] drm/i915/icl: Define MOCS table for Icelake

2019-01-21 Thread Lucas De Marchi
From: Tomasz Lis The table has been unified across OSes to minimize virtualization overhead. The MOCS table is now published as part of bspec, and versioned. Entries are supposed to never be modified, but new ones can be added. Adding entries increases table version. The patch includes version

[Intel-gfx] [PATCH v8 5/7] drm/i915: keep track of used entries in MOCS table

2019-01-21 Thread Lucas De Marchi
Instead of considering we have defined entries for any index in the table, let's keep track of the ones we explicitly defined. This will allow Gen 11 to have it's new table defined in which we have holes of undefined entries. Repeated comments about the meaning of undefined entries were removed

[Intel-gfx] [PATCH v8 0/7] Define MOCS table for Icelake

2019-01-21 Thread Lucas De Marchi
This reworks v7 of the series (https://patchwork.freedesktop.org/series/54070/) to handle the comments there and some more of my own. Changes: - Initialize undefined entries to PTE rather than uncached (suggested by Chris) - Add a new macro to define MOCS entries: this allows to make the

[Intel-gfx] [PATCH v8 2/7] drm/i915: Simplify MOCS table definition

2019-01-21 Thread Lucas De Marchi
Make the defines for LE and L3 caching options to contain the shifts and remove the zeros from the tables as shifting zeros always result in zero. Starting from Ice Lake the MOCS table is defined in the spec and contains all entries. So to simplify checking the table with the values set in code,

[Intel-gfx] ✗ Fi.CI.IGT: failure for series starting with [01/34] drm/i915/execlists: Mark up priority boost on preemption

2019-01-21 Thread Patchwork
== Series Details == Series: series starting with [01/34] drm/i915/execlists: Mark up priority boost on preemption URL : https://patchwork.freedesktop.org/series/55528/ State : failure == Summary == CI Bug Log - changes from CI_DRM_5459_full -> Patchwork_12001_full

[Intel-gfx] ✓ Fi.CI.IGT: success for dma-buf: Enhance dma-fence tracing

2019-01-21 Thread Patchwork
== Series Details == Series: dma-buf: Enhance dma-fence tracing URL : https://patchwork.freedesktop.org/series/55531/ State : success == Summary == CI Bug Log - changes from CI_DRM_5459_full -> Patchwork_12000_full Summary ---

[Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [01/34] drm/i915/execlists: Mark up priority boost on preemption

2019-01-21 Thread Patchwork
== Series Details == Series: series starting with [01/34] drm/i915/execlists: Mark up priority boost on preemption URL : https://patchwork.freedesktop.org/series/55528/ State : success == Summary == CI Bug Log - changes from CI_DRM_5459 -> Patchwork_12001

[Intel-gfx] ✗ Fi.CI.SPARSE: warning for series starting with [01/34] drm/i915/execlists: Mark up priority boost on preemption

2019-01-21 Thread Patchwork
== Series Details == Series: series starting with [01/34] drm/i915/execlists: Mark up priority boost on preemption URL : https://patchwork.freedesktop.org/series/55528/ State : warning == Summary == $ dim sparse origin/drm-tip Sparse version: v0.5.2 Commit: drm/i915/execlists: Mark up

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [01/34] drm/i915/execlists: Mark up priority boost on preemption

2019-01-21 Thread Patchwork
== Series Details == Series: series starting with [01/34] drm/i915/execlists: Mark up priority boost on preemption URL : https://patchwork.freedesktop.org/series/55528/ State : warning == Summary == $ dim checkpatch origin/drm-tip 096d4f120d3e drm/i915/execlists: Mark up priority boost on

[Intel-gfx] ✓ Fi.CI.BAT: success for dma-buf: Enhance dma-fence tracing

2019-01-21 Thread Patchwork
== Series Details == Series: dma-buf: Enhance dma-fence tracing URL : https://patchwork.freedesktop.org/series/55531/ State : success == Summary == CI Bug Log - changes from CI_DRM_5459 -> Patchwork_12000 Summary --- **SUCCESS**

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for dma-buf: Enhance dma-fence tracing

2019-01-21 Thread Patchwork
== Series Details == Series: dma-buf: Enhance dma-fence tracing URL : https://patchwork.freedesktop.org/series/55531/ State : warning == Summary == $ dim checkpatch origin/drm-tip e620fc0f05f3 dma-buf: Enhance dma-fence tracing -:461: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'e' - possible

[Intel-gfx] [PATCH 18/34] drm/i915/selftests: Use common mock_engine::advance

2019-01-21 Thread Chris Wilson
Replace the open-coding of advance with a call instead. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/selftests/mock_engine.c | 17 +++-- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/drivers/gpu/drm/i915/selftests/mock_engine.c

[Intel-gfx] [PATCH 12/34] drm/i915: Issue engine resets onto idle engines

2019-01-21 Thread Chris Wilson
Always perform the requested reset, even if we believe the engine is idle. Presumably there was a reason the caller wanted the reset, and in the near future we lose the easy tracking for whether the engine is idle. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/i915_reset.c |

[Intel-gfx] [PATCH 06/34] drm/i915/selftests: Create a clean GGTT for vma/gtt selftesting

2019-01-21 Thread Chris Wilson
Some tests (e.g. igt_vma_pin1) presume that we have a completely clean GGTT so that it can probe boundaries without fear that something is already allocated there. However, the mock device is starting to get complicated and following similar rules to the live device, i.e. we can't guarantee that

[Intel-gfx] [PATCH 19/34] drm/i915: Tidy common test_bit probing of i915_request->fence.flags

2019-01-21 Thread Chris Wilson
A repeated pattern is to test the signaled bit of our request->fence.flags. Make this an inline to shorten a few lines and remove unnecessary line continuations. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/i915_irq.c | 3 +-- drivers/gpu/drm/i915/i915_request.c | 2 +-

[Intel-gfx] [PATCH 20/34] drm/i915: Introduce concept of per-timeline (context) HWSP

2019-01-21 Thread Chris Wilson
Supplement the per-engine HWSP with a per-timeline HWSP. That is a per-request pointer through which we can check a local seqno, abstracting away the presumption of a global seqno. In this first step, we point each request back into the engine's HWSP so everything continues to work with the global

[Intel-gfx] [PATCH 07/34] drm/i915: Refactor out intel_context_init()

2019-01-21 Thread Chris Wilson
Prior to adding a third instance of intel_context_init() and extending the information stored therewithin, refactor out the common assignments. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/i915_gem_context.c | 7 ++- drivers/gpu/drm/i915/i915_gem_context.h | 8

[Intel-gfx] [PATCH] dma-buf: Enhance dma-fence tracing

2019-01-21 Thread Chris Wilson
Rather than every backend and GPU driver reinventing the same wheel for user level debugging of HW execution, the common dma-fence framework should include the tracing infrastructure required for most client API level flow visualisation. With these common dma-fence level tracepoints, the

[Intel-gfx] ✗ Fi.CI.IGT: failure for series starting with [1/3] drm: Add debug prints for the various object lookup errors

2019-01-21 Thread Patchwork
== Series Details == Series: series starting with [1/3] drm: Add debug prints for the various object lookup errors URL : https://patchwork.freedesktop.org/series/55524/ State : failure == Summary == CI Bug Log - changes from CI_DRM_5459_full -> Patchwork_11999_full

Re: [Intel-gfx] [PATCH v5 3/3] PM/runtime:Replace jiffies based accounting with ktime based accounting

2019-01-21 Thread Rafael J. Wysocki
On Mon, Jan 21, 2019 at 4:17 PM Vincent Guittot wrote: > > On Fri, 18 Jan 2019 at 13:08, Guenter Roeck wrote: > > > > On 1/18/19 3:05 AM, Rafael J. Wysocki wrote: > > > On Fri, Jan 18, 2019 at 11:53 AM Vincent Guittot > > > wrote: > > >> > > >> On Fri, 18 Jan 2019 at 11:42, Vincent Guittot > >

Re: [Intel-gfx] [PATCH 30/34] drm/i915: Keep timeline HWSP allocated until the system is idle

2019-01-21 Thread Chris Wilson
Quoting Chris Wilson (2019-01-21 22:37:13) > Quoting Chris Wilson (2019-01-21 22:21:13) > > In preparation for enabling HW semaphores, we need to keep in flight > > timeline HWSP alive until the entire system is idle, as any other > > timeline active on the GPU may still refer back to the already

[Intel-gfx] [PATCH 13/34] drm/i915: Stop tracking MRU activity on VMA

2019-01-21 Thread Chris Wilson
Our goal is to remove struct_mutex and replace it with fine grained locking. One of the thorny issues is our eviction logic for reclaiming space for an execbuffer (or GTT mmaping, among a few other examples). While eviction itself is easy to move under a per-VM mutex, performing the activity

[Intel-gfx] [PATCH 02/34] drm/i915/execlists: Suppress preempting self

2019-01-21 Thread Chris Wilson
In order to avoid preempting ourselves, we currently refuse to schedule the tasklet if we reschedule an inflight context. However, this glosses over a few issues such as what happens after a CS completion event and we then preempt the newly executing context with itself, or if something else

Re: [Intel-gfx] [PATCH 30/34] drm/i915: Keep timeline HWSP allocated until the system is idle

2019-01-21 Thread Chris Wilson
Quoting Chris Wilson (2019-01-21 22:21:13) > In preparation for enabling HW semaphores, we need to keep in flight > timeline HWSP alive until the entire system is idle, as any other > timeline active on the GPU may still refer back to the already retired > timeline. We both have to delay recycling

[Intel-gfx] [PATCH 31/34] drm/i915/execlists: Refactor out can_merge_rq()

2019-01-21 Thread Chris Wilson
In the next patch, we add another user that wants to check whether requests can be merge into a single HW execution, and in the future we want to add more conditions under which requests from the same context cannot be merge. In preparation, extract out can_merge_rq(). Signed-off-by: Chris Wilson

[Intel-gfx] [PATCH 23/34] drm/i915: Share per-timeline HWSP using a slab suballocator

2019-01-21 Thread Chris Wilson
If we restrict ourselves to only using a cacheline for each timeline's HWSP (we could go smaller, but want to avoid needless polluting cachelines on different engines between different contexts), then we can suballocate a single 4k page into 64 different timeline HWSP. By treating each fresh

[Intel-gfx] [PATCH 17/34] drm/i915: Move list of timelines under its own lock

2019-01-21 Thread Chris Wilson
Currently, the list of timelines is serialised by the struct_mutex, but to alleviate difficulties with using that mutex in future, move the list management under its own dedicated mutex. Signed-off-by: Chris Wilson Reviewed-by: Tvrtko Ursulin --- drivers/gpu/drm/i915/i915_drv.h |

[Intel-gfx] [PATCH 05/34] drm/i915/selftests: Track evict objects explicitly

2019-01-21 Thread Chris Wilson
During review of commit 71fc448c1aaf ("drm/i915/selftests: Make evict tolerant of foreign objects"), Matthew mentioned it would be better if we explicitly tracked the objects we created. We have an obj->st_link hook for this purpose, so add the corresponding list of objects and reduce our loops to

[Intel-gfx] [PATCH 25/34] drm/i915: Track active timelines

2019-01-21 Thread Chris Wilson
Now that we pin timelines around use, we have a clearly defined lifetime and convenient points at which we can track only the active timelines. This allows us to reduce the list iteration to only consider those active timelines and not all. Signed-off-by: Chris Wilson ---

[Intel-gfx] [PATCH 26/34] drm/i915: Identify active requests

2019-01-21 Thread Chris Wilson
To allow requests to forgo a common execution timeline, one question we need to be able to answer is "is this request running?". To track whether a request has started on HW, we can emit a breadcrumb at the beginning of the request and check its timeline's HWSP to see if the breadcrumb has

[Intel-gfx] [PATCH 11/34] drm/i915/selftests: Trim struct_mutex duration for set-wedged selftest

2019-01-21 Thread Chris Wilson
Trim the struct_mutex hold and exclude the call to i915_gem_set_wedged() as a reminder that it must be callable without struct_mutex held. Signed-off-by: Chris Wilson Cc: Michal Wajdeczko Cc: Mika Kuoppala Reviewed-by: Mika Kuoppala --- drivers/gpu/drm/i915/selftests/intel_hangcheck.c | 7

[Intel-gfx] [PATCH 14/34] drm/i915: Pull VM lists under the VM mutex.

2019-01-21 Thread Chris Wilson
A starting point to counter the pervasive struct_mutex. For the goal of avoiding (or at least blocking under them!) global locks during user request submission, a simple but important step is being able to manage each clients GTT separately. For which, we want to replace using the struct_mutex as

[Intel-gfx] [PATCH 15/34] drm/i915: Move vma lookup to its own lock

2019-01-21 Thread Chris Wilson
Remove the struct_mutex requirement for looking up the vma for an object. v2: Highlight how the race for duplicate vma creation is resolved on reacquiring the lock with a short comment. Signed-off-by: Chris Wilson Reviewed-by: Tvrtko Ursulin --- drivers/gpu/drm/i915/i915_debugfs.c | 6

[Intel-gfx] [PATCH 34/34] drm/i915: Replace global_seqno with a hangcheck heartbeat seqno

2019-01-21 Thread Chris Wilson
To determine whether an engine has 'struck', we simply check whether or not is still on the same seqno for several seconds. To keep this simple mechanism intact over the loss of a global seqno, we can simply add a new global heartbeat seqno instead. As we cannot know the sequence in which requests

[Intel-gfx] [PATCH 28/34] drm/i915: Replace global breadcrumbs with per-context interrupt tracking

2019-01-21 Thread Chris Wilson
A few years ago, see commit 688e6c725816 ("drm/i915: Slaughter the thundering i915_wait_request herd"), the issue of handling multiple clients waiting in parallel was brought to our attention. The requirement was that every client should be woken immediately upon its request being signaled,

[Intel-gfx] [PATCH 27/34] drm/i915: Remove the intel_engine_notify tracepoint

2019-01-21 Thread Chris Wilson
The global seqno is defunct and so we have no meaningful indicator of forward progress for an engine. You need to listen to the request signaling tracepoints instead. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/i915_irq.c | 2 -- drivers/gpu/drm/i915/i915_trace.h | 25

[Intel-gfx] [PATCH 01/34] drm/i915/execlists: Mark up priority boost on preemption

2019-01-21 Thread Chris Wilson
Record the priority boost we giving to the preempted client or else we may end up in a situation where the priority queue no longer matches the request priority order and so we can end up in an infinite loop of preempting the same pair of requests. Fixes: e9eaf82d97a2 ("drm/i915: Priority boost

[Intel-gfx] [PATCH 24/34] drm/i915: Track the context's seqno in its own timeline HWSP

2019-01-21 Thread Chris Wilson
Now that we have allocated ourselves a cacheline to store a breadcrumb, we can emit a write from the GPU into the timeline's HWSP of the per-context seqno as we complete each request. This drops the mirroring of the per-engine HWSP and allows each context to operate independently. We do not need

[Intel-gfx] [PATCH 30/34] drm/i915: Keep timeline HWSP allocated until the system is idle

2019-01-21 Thread Chris Wilson
In preparation for enabling HW semaphores, we need to keep in flight timeline HWSP alive until the entire system is idle, as any other timeline active on the GPU may still refer back to the already retired timeline. We both have to delay recycling available cachelines and unpinning old HWSP until

[Intel-gfx] [PATCH 33/34] drm/i915: Prioritise non-busywait semaphore workloads

2019-01-21 Thread Chris Wilson
We don't want to busywait on the GPU if we have other work to do. If we give non-busywaiting workloads higher (initial) priority than workloads that require a busywait, we will prioritise work that is ready to run immediately. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/i915_request.c

[Intel-gfx] [PATCH 32/34] drm/i915: Use HW semaphores for inter-engine synchronisation on gen8+

2019-01-21 Thread Chris Wilson
Having introduced per-context seqno, we know have a means to identity progress across the system without feel of rollback as befell the global_seqno. That is we can program a MI_SEMAPHORE_WAIT operation in advance of submission safe in the knowledge that our target seqno and address is stable.

[Intel-gfx] [PATCH 10/34] drm/i915: Remove GPU reset dependence on struct_mutex

2019-01-21 Thread Chris Wilson
Now that the submission backends are controlled via their own spinlocks, with a wave of a magic wand we can lift the struct_mutex requirement around GPU reset. That is we allow the submission frontend (userspace) to keep on submitting while we process the GPU reset as we can suspend the backend

[Intel-gfx] [PATCH 22/34] drm/i915: Allocate a status page for each timeline

2019-01-21 Thread Chris Wilson
Allocate a page for use as a status page by a group of timelines, as we only need a dword of storage for each (rounded up to the cacheline for safety) we can pack multiple timelines into the same page. Each timeline will then be able to track its own HW seqno. v2: Reuse the common per-engine HWSP

[Intel-gfx] [PATCH 29/34] drm/i915: Drop fake breadcrumb irq

2019-01-21 Thread Chris Wilson
Missed breadcrumb detection is defunct due to the tight coupling with dma_fence signaling and the myriad ways we may signal fences from everywhere but from an interrupt, i.e. we frequently signal a fence before we even see its interrupt. This means that even if we miss an interrupt for a fence, it

[Intel-gfx] [PATCH 09/34] drm/i915/guc: Disable global reset

2019-01-21 Thread Chris Wilson
The guc (and huc) currently inexcruitably depend on struct_mutex for device reinitialisation from inside the reset, and indeed taking any mutex here is verboten (as we must be able to reset from underneath any of our mutexes). That makes recovering the guc unviable without, for example, reserving

[Intel-gfx] [PATCH 04/34] drm/i915/selftests: Refactor common live_test framework

2019-01-21 Thread Chris Wilson
Before adding yet another copy of struct live_test and its handler, refactor the existing code into a common framework for live selftests. For many live selftests, we want to know if the GPU hung or otherwise misbehaved during the execution of the test (beyond any infraction in the behaviour under

[Intel-gfx] [PATCH 08/34] drm/i915: Make all GPU resets atomic

2019-01-21 Thread Chris Wilson
In preparation for the next few commits, make resetting the GPU atomic. Currently, we have prepared gen6+ for atomic resetting of individual engines, but now there is a requirement to perform the whole device level reset (just the register poking) from inside an atomic context. Signed-off-by:

[Intel-gfx] HWSP for HW semaphores

2019-01-21 Thread Chris Wilson
I extended the HWSP implementation to consider the impact of using it for HW semaphores, one of the end goals of per-context seqno. That opens up an interesting problem in that we need to keep the HWSP around until all external GPU references to it are retired. For simplicity, this is until the

[Intel-gfx] [PATCH 16/34] drm/i915: Always allocate an object/vma for the HWSP

2019-01-21 Thread Chris Wilson
Currently we only allocate an object and vma if we are using a GGTT virtual HWSP, and a plain struct page for a physical HWSP. For convenience later on with global timelines, it will be useful to always have the status page being tracked by a struct i915_vma. Make it so. Signed-off-by: Chris

[Intel-gfx] [PATCH 03/34] drm/i915: Show all active engines on hangcheck

2019-01-21 Thread Chris Wilson
This turns out to be quite useful if one happens to be debugging semaphore deadlocks. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/intel_hangcheck.c | 15 +++ 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/i915/intel_hangcheck.c

[Intel-gfx] [PATCH 21/34] drm/i915: Enlarge vma->pin_count

2019-01-21 Thread Chris Wilson
Previously we only accommodated having a vma pinned by a small number of users, with the maximum being pinned for use by the display engine. As such, we used a small bitfield only large enough to allow the vma to be pinned twice (for back/front buffers) in each scanout plane. Keeping the maximum

Re: [Intel-gfx] [PATCH] drm: Split out drm_probe_helper.h

2019-01-21 Thread Sam Ravnborg
Hi Daniel et al. > > > > Yeah the drm_crtc_helper.h header is a bit the miniature drmP.h for legacy > > kms drivers. Just removing it from all the atomic drivers caused lots of > > fallout, I expect even more if you entirely remove the includes it has. > > Maybe a todo, care to pls create that

[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915: Don't use the second dbuf slice on icl

2019-01-21 Thread Patchwork
== Series Details == Series: drm/i915: Don't use the second dbuf slice on icl URL : https://patchwork.freedesktop.org/series/55517/ State : success == Summary == CI Bug Log - changes from CI_DRM_5459_full -> Patchwork_11998_full Summary

Re: [Intel-gfx] [PATCH 5/6] drm/i915: Expose RPCS (SSEU) configuration to userspace (Gen11 only)

2019-01-21 Thread Takashi Iwai
On Tue, 15 Jan 2019 15:47:32 +0100, Joonas Lahtinen wrote: > > From: Tvrtko Ursulin > > We want to allow userspace to reconfigure the subslice configuration on a > per context basis. > > This is required for the functional requirement of shutting down non-VME > enabled sub-slices on Gen11

[Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/3] drm: Add debug prints for the various object lookup errors

2019-01-21 Thread Patchwork
== Series Details == Series: series starting with [1/3] drm: Add debug prints for the various object lookup errors URL : https://patchwork.freedesktop.org/series/55524/ State : success == Summary == CI Bug Log - changes from CI_DRM_5459 -> Patchwork_11999

[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915: Refactor out intel_context_init()

2019-01-21 Thread Patchwork
== Series Details == Series: drm/i915: Refactor out intel_context_init() URL : https://patchwork.freedesktop.org/series/55516/ State : success == Summary == CI Bug Log - changes from CI_DRM_5459_full -> Patchwork_11997_full Summary ---

[Intel-gfx] [PATCH 3/3] drm: Add a debug print for drm_modeset_backoff()

2019-01-21 Thread Ville Syrjala
From: Ville Syrjälä Logs can get confusing when some operations are done multiple times due to the ww mutex backoff. Add a debug print into drm_modeset_backoff() so that at least the reason for the odd looking logs will be obvious. Signed-off-by: Ville Syrjälä ---

[Intel-gfx] [PATCH 1/3] drm: Add debug prints for the various object lookup errors

2019-01-21 Thread Ville Syrjala
From: Ville Syrjälä Only some of the drm mode object lookups have a corresponding debug print for the lookup failure. That makes logs a bit hard to parse when you can't see where the bad object ID is being used. Add a bunch more debug prints, and unify their appearance. Signed-off-by: Ville

[Intel-gfx] [PATCH 2/3] drm: Sync errno values for property lookup errors

2019-01-21 Thread Ville Syrjala
From: Ville Syrjälä Use ENOENT consistently for the case where the requested property isn't found, and EINVAL for the case where the object has no properties whatsoever. Currenrly these are handled differently in the atomic and legacy codepaths. Signed-off-by: Ville Syrjälä ---

Re: [Intel-gfx] [PATCH 5/5] drm/i915: rename has_edp_a() to intel_pch_has_edp_a()

2019-01-21 Thread Ville Syrjälä
On Mon, Jan 21, 2019 at 04:21:34PM +0200, Jani Nikula wrote: > Clarify that the name is specific to PCH platforms. > > Signed-off-by: Jani Nikula > --- > drivers/gpu/drm/i915/intel_display.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git

Re: [Intel-gfx] [PATCH 4/5] drm/i915/tv: only call intel_tv_init() on platforms that might have TV

2019-01-21 Thread Ville Syrjälä
On Mon, Jan 21, 2019 at 04:21:33PM +0200, Jani Nikula wrote: > With most platforms not having TV support, only call intel_tv_init() on > platforms that might actually have TV, specifically gens 3 and 4. > > This puts intel_tv_init() more in line with the rest of the outputs, and > makes it

Re: [Intel-gfx] [PATCH 3/5] drm/i915/lvds: nuke intel_lvds_supported()

2019-01-21 Thread Ville Syrjälä
On Mon, Jan 21, 2019 at 04:21:32PM +0200, Jani Nikula wrote: > Now that intel_lvds_init() is only called for platforms that might have > LVDS, move the remaining checks to intel_setup_outputs(), again similar > to other outputs, and remove the overlapping checks. > > Signed-off-by: Jani Nikula >

Re: [Intel-gfx] [PATCH 2/5] drm/i915/lvds: only call intel_lvds_init() on platforms that might have LVDS

2019-01-21 Thread Ville Syrjälä
On Mon, Jan 21, 2019 at 04:21:31PM +0200, Jani Nikula wrote: > With new platforms not having LVDS support, only call intel_lvds_init() > on platforms that might actually have LVDS. Move the comment about eDP > init to the PCH block where it's relevant. > > This puts intel_lvds_init() more in line

Re: [Intel-gfx] [PATCH 1/5] drm/i915/crt: split out intel_crt_present() to platform specific setup

2019-01-21 Thread Ville Syrjälä
On Mon, Jan 21, 2019 at 04:21:30PM +0200, Jani Nikula wrote: > With new platforms not having CRT support and most conditions in > intel_crt_present() being specific to DDI, split out the CRT > initialization to platform specific blocks in the if ladder. Add new > Pineview block for this. > > This

[Intel-gfx] ✓ Fi.CI.IGT: success for series starting with [1/5] drm/i915/crt: split out intel_crt_present() to platform specific setup

2019-01-21 Thread Patchwork
== Series Details == Series: series starting with [1/5] drm/i915/crt: split out intel_crt_present() to platform specific setup URL : https://patchwork.freedesktop.org/series/55513/ State : success == Summary == CI Bug Log - changes from CI_DRM_5458_full -> Patchwork_11996_full

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Don't use the second dbuf slice on icl

2019-01-21 Thread Patchwork
== Series Details == Series: drm/i915: Don't use the second dbuf slice on icl URL : https://patchwork.freedesktop.org/series/55517/ State : success == Summary == CI Bug Log - changes from CI_DRM_5459 -> Patchwork_11998 Summary ---

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Refactor out intel_context_init()

2019-01-21 Thread Patchwork
== Series Details == Series: drm/i915: Refactor out intel_context_init() URL : https://patchwork.freedesktop.org/series/55516/ State : success == Summary == CI Bug Log - changes from CI_DRM_5459 -> Patchwork_11997 Summary ---

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Don't use the second dbuf slice on icl

2019-01-21 Thread Patchwork
== Series Details == Series: drm/i915: Don't use the second dbuf slice on icl URL : https://patchwork.freedesktop.org/series/55517/ State : warning == Summary == $ dim checkpatch origin/drm-tip 143de466f689 drm/i915: Don't use the second dbuf slice on icl -:40: CHECK:CAMELCASE: Avoid

[Intel-gfx] ✓ Fi.CI.IGT: success for drm/dp: use DRM_DEBUG_DP() instead of drm_dbg for logging

2019-01-21 Thread Patchwork
== Series Details == Series: drm/dp: use DRM_DEBUG_DP() instead of drm_dbg for logging URL : https://patchwork.freedesktop.org/series/55509/ State : success == Summary == CI Bug Log - changes from CI_DRM_5458_full -> Patchwork_11995_full

[Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/5] drm/i915/crt: split out intel_crt_present() to platform specific setup

2019-01-21 Thread Patchwork
== Series Details == Series: series starting with [1/5] drm/i915/crt: split out intel_crt_present() to platform specific setup URL : https://patchwork.freedesktop.org/series/55513/ State : success == Summary == CI Bug Log - changes from CI_DRM_5458 -> Patchwork_11996

[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915: Fix dinq debug build

2019-01-21 Thread Patchwork
== Series Details == Series: drm/i915: Fix dinq debug build URL : https://patchwork.freedesktop.org/series/55506/ State : success == Summary == CI Bug Log - changes from CI_DRM_5458_full -> Patchwork_11994_full Summary ---

[Intel-gfx] [PATCH] drm/i915: Don't use the second dbuf slice on icl

2019-01-21 Thread Ville Syrjala
From: Ville Syrjälä The code managing the dbuf slices is borked and needs some real work to fix. In the meantime let's just stop using the second slice. Signed-off-by: Ville Syrjälä --- drivers/gpu/drm/i915/intel_pm.c | 10 -- 1 file changed, 8 insertions(+), 2 deletions(-) diff

Re: [Intel-gfx] [PATCH 3/4] drm/i915/dsi: Adjust crtc_clock for burst_mode_ratio

2019-01-21 Thread Hans de Goede
Hi, On 21-01-19 15:26, Hans de Goede wrote: Hi, On 15-01-19 16:00, Ville Syrjälä wrote: On Sat, Dec 01, 2018 at 12:31:47PM +0100, Hans de Goede wrote: On devices with a burst_mode_ratio which is not 100 (1:1), the pclk will have a different value then drm_display_mode.clock . On a Prowise

[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/gvt: switch to kernel types

2019-01-21 Thread Patchwork
== Series Details == Series: drm/i915/gvt: switch to kernel types URL : https://patchwork.freedesktop.org/series/55503/ State : success == Summary == CI Bug Log - changes from CI_DRM_5458_full -> Patchwork_11993_full Summary ---

[Intel-gfx] [PATCH] drm/i915: Refactor out intel_context_init()

2019-01-21 Thread Chris Wilson
Prior to adding a third instance of intel_context_init() and extending the information stored therewithin, refactor out the common assignments. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/i915_gem_context.c | 7 ++- drivers/gpu/drm/i915/i915_gem_context.h | 8

[Intel-gfx] ✓ Fi.CI.IGT: success for series starting with [1/6] drm/i915/execlists: Mark up priority boost on preemption

2019-01-21 Thread Patchwork
== Series Details == Series: series starting with [1/6] drm/i915/execlists: Mark up priority boost on preemption URL : https://patchwork.freedesktop.org/series/55501/ State : success == Summary == CI Bug Log - changes from CI_DRM_5458_full -> Patchwork_11992_full

Re: [Intel-gfx] [PATCH v5 3/3] PM/runtime:Replace jiffies based accounting with ktime based accounting

2019-01-21 Thread Guenter Roeck
On 1/21/19 7:17 AM, Vincent Guittot wrote: On Fri, 18 Jan 2019 at 13:08, Guenter Roeck wrote: On 1/18/19 3:05 AM, Rafael J. Wysocki wrote: On Fri, Jan 18, 2019 at 11:53 AM Vincent Guittot wrote: On Fri, 18 Jan 2019 at 11:42, Vincent Guittot wrote: Hi Guenter, Le Thursday 17 Jan 2019 à

Re: [Intel-gfx] [PATCH v5 3/3] PM/runtime:Replace jiffies based accounting with ktime based accounting

2019-01-21 Thread Vincent Guittot
On Fri, 18 Jan 2019 at 13:08, Guenter Roeck wrote: > > On 1/18/19 3:05 AM, Rafael J. Wysocki wrote: > > On Fri, Jan 18, 2019 at 11:53 AM Vincent Guittot > > wrote: > >> > >> On Fri, 18 Jan 2019 at 11:42, Vincent Guittot > >> wrote: > >>> > >>> Hi Guenter, > >>> > >>> Le Thursday 17 Jan 2019 à

Re: [Intel-gfx] [PATCH] drm/dp: use DRM_DEBUG_DP() instead of drm_dbg for logging

2019-01-21 Thread Ville Syrjälä
On Mon, Jan 21, 2019 at 01:27:58PM +0200, Jani Nikula wrote: > We have a wrapper for a reason. > > Signed-off-by: Jani Nikula Reviewed-by: Ville Syrjälä > --- > drivers/gpu/drm/drm_dp_helper.c | 8 > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git

Re: [Intel-gfx] [PATCH xf86-video-intel] sna/uxa: Fix colormap handling at screen depth 30. (v2)

2019-01-21 Thread Ville Syrjälä
On Sun, Jan 20, 2019 at 08:45:18PM +0100, Mario Kleiner wrote: > On Mon, Oct 15, 2018 at 6:21 PM Ville Syrjälä > wrote: > > > On Tue, Jun 12, 2018 at 06:20:35PM +0200, Mario Kleiner wrote: > > > The various clut handling functions like a setup > > > consistent with the x-screen color depth.

Re: [Intel-gfx] [PATCH 1/5] drm/i915/backlight: Restore backlight on resume, v3.

2019-01-21 Thread Hans de Goede
Hi, On 08-01-19 17:08, Maarten Lankhorst wrote: Restore our saved values for backlight. This way even with fastset on S4 resume we will correctly restore the backlight to the active values. Changes since v1: - Call enable_backlight() when backlight.level is set. On suspend backlight.enabled

Re: [Intel-gfx] [PATCH 3/4] drm/i915/dsi: Adjust crtc_clock for burst_mode_ratio

2019-01-21 Thread Hans de Goede
Hi, On 15-01-19 16:00, Ville Syrjälä wrote: On Sat, Dec 01, 2018 at 12:31:47PM +0100, Hans de Goede wrote: On devices with a burst_mode_ratio which is not 100 (1:1), the pclk will have a different value then drm_display_mode.clock . On a Prowise PT301 tablet where vbt.lfp_lvds_vbt_mode.clock

[Intel-gfx] [PATCH 3/5] drm/i915/lvds: nuke intel_lvds_supported()

2019-01-21 Thread Jani Nikula
Now that intel_lvds_init() is only called for platforms that might have LVDS, move the remaining checks to intel_setup_outputs(), again similar to other outputs, and remove the overlapping checks. Signed-off-by: Jani Nikula --- drivers/gpu/drm/i915/intel_display.c | 6 --

[Intel-gfx] [PATCH 2/5] drm/i915/lvds: only call intel_lvds_init() on platforms that might have LVDS

2019-01-21 Thread Jani Nikula
With new platforms not having LVDS support, only call intel_lvds_init() on platforms that might actually have LVDS. Move the comment about eDP init to the PCH block where it's relevant. This puts intel_lvds_init() more in line with the rest of the outputs, and makes it slightly easier for the

[Intel-gfx] [PATCH 5/5] drm/i915: rename has_edp_a() to intel_pch_has_edp_a()

2019-01-21 Thread Jani Nikula
Clarify that the name is specific to PCH platforms. Signed-off-by: Jani Nikula --- drivers/gpu/drm/i915/intel_display.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index

[Intel-gfx] [PATCH 4/5] drm/i915/tv: only call intel_tv_init() on platforms that might have TV

2019-01-21 Thread Jani Nikula
With most platforms not having TV support, only call intel_tv_init() on platforms that might actually have TV, specifically gens 3 and 4. This puts intel_tv_init() more in line with the rest of the outputs, and makes it slightly easier for the uninitiated to figure out which platforms actually

[Intel-gfx] [PATCH 1/5] drm/i915/crt: split out intel_crt_present() to platform specific setup

2019-01-21 Thread Jani Nikula
With new platforms not having CRT support and most conditions in intel_crt_present() being specific to DDI, split out the CRT initialization to platform specific blocks in the if ladder. Add new Pineview block for this. This puts intel_crt_init() more in line with the rest of the outputs, and

[Intel-gfx] [drm-intel:drm-intel-next-queued 2/2] drivers/gpu//drm/i915/i915_reset.c:689:13: error: format '%lld' expects argument of type 'long long int', but argument 5 has type 'unsigned int'

2019-01-21 Thread kbuild test robot
tree: git://anongit.freedesktop.org/drm-intel drm-intel-next-queued head: 9f58892ea9962002399132fd3f40c6a273f8d9e1 commit: 9f58892ea9962002399132fd3f40c6a273f8d9e1 [2/2] drm/i915: Pull all the reset functionality together into i915_reset.c config: i386-randconfig-x007-201903 (attached as

Re: [Intel-gfx] [PATCH 5/6] drm/i915: Expose RPCS (SSEU) configuration to userspace (Gen11 only)

2019-01-21 Thread Timo Aaltonen
On 15.1.2019 16.47, Joonas Lahtinen wrote: > From: Tvrtko Ursulin > > We want to allow userspace to reconfigure the subslice configuration on a > per context basis. > > This is required for the functional requirement of shutting down non-VME > enabled sub-slices on Gen11 parts. > > To do so,

  1   2   >