[Intel-gfx] [PATCH] TGL HAX drm/i915/tgl: Interrupts are overrated

2019-10-04 Thread Chris Wilson
Why sleep when you can busywait for an interrupt? Throw out the old irq handlers, and use irq_poll instead. References: https://bugs.freedesktop.org/show_bug.cgi?id=111880 Signed-off-by: Chris Wilson Cc: Mika Kuoppala --- drivers/gpu/drm/i915/Kconfig | 1 + drivers/gpu/drm/i915

[Intel-gfx] [PATCH] TGL HAX drm/i915/tgl: Interrupts are overrated

2019-10-04 Thread Chris Wilson
Why sleep when you can busywait for an interrupt? Throw out the old irq handlers, and use irq_poll instead. References: https://bugs.freedesktop.org/show_bug.cgi?id=111880 Signed-off-by: Chris Wilson Cc: Mika Kuoppala --- drivers/gpu/drm/i915/Kconfig | 1 + drivers/gpu/drm/i915

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for TGL HAX drm/i915/tgl: Interrupts are overrated (rev4)

2019-10-04 Thread Patchwork
== Series Details == Series: TGL HAX drm/i915/tgl: Interrupts are overrated (rev4) URL : https://patchwork.freedesktop.org/series/67558/ State : warning == Summary == $ dim checkpatch origin/drm-tip 9b1dcf587b4b TGL HAX drm/i915/tgl: Interrupts are overrated -:190: ERROR:COMPLEX_MACRO: Macros

[Intel-gfx] [PATCH] TGL HAX drm/i915/tgl: Interrupts are overrated

2019-10-04 Thread Chris Wilson
Why sleep when you can busywait for an interrupt? Throw out the old irq handlers, and use irq_poll instead. References: https://bugs.freedesktop.org/show_bug.cgi?id=111880 Signed-off-by: Chris Wilson Cc: Mika Kuoppala --- drivers/gpu/drm/i915/Kconfig | 1 + drivers/gpu/drm/i915

[Intel-gfx] ✓ Fi.CI.BAT: success for TGL HAX drm/i915/tgl: Interrupts are overrated (rev4)

2019-10-04 Thread Patchwork
== Series Details == Series: TGL HAX drm/i915/tgl: Interrupts are overrated (rev4) URL : https://patchwork.freedesktop.org/series/67558/ State : success == Summary == CI Bug Log - changes from CI_DRM_7001 -> Patchwork_14661 Summary ---

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for TGL HAX drm/i915/tgl: Interrupts are overrated (rev5)

2019-10-04 Thread Patchwork
== Series Details == Series: TGL HAX drm/i915/tgl: Interrupts are overrated (rev5) URL : https://patchwork.freedesktop.org/series/67558/ State : warning == Summary == $ dim checkpatch origin/drm-tip 25e18100cd25 TGL HAX drm/i915/tgl: Interrupts are overrated -:209: ERROR:COMPLEX_MACRO: Macros

Re: [Intel-gfx] [PATCH i-g-t] i915/gem_ctx_isolation: Bump support for Tigerlake

2019-10-04 Thread Chris Wilson
Quoting Stimson, Dale B (2019-10-04 00:26:24) > > On Wed, Oct 02, 2019 at 12:26:48PM +0100, Chris Wilson wrote: > > > There's very little variation in non-privileged registers for Tigerlake, > > > so we can mostly inherit the set from gen11. There is no whitelist at > > > present, so we do not need

[Intel-gfx] [PATCH] TGL HAX drm/i915/tgl: Interrupts are overrated

2019-10-04 Thread Chris Wilson
Why sleep when you can busywait for an interrupt? Throw out the old irq handlers, and use irq_poll instead. References: https://bugs.freedesktop.org/show_bug.cgi?id=111880 Signed-off-by: Chris Wilson Cc: Mika Kuoppala --- drivers/gpu/drm/i915/Kconfig | 1 + drivers/gpu/drm/i915

Re: [Intel-gfx] [PATCH 2/5] dma-fence: Serialise signal enabling (dma_fence_enable_sw_signaling)

2019-10-04 Thread Tvrtko Ursulin
On 03/10/2019 22:00, Chris Wilson wrote: Make dma_fence_enable_sw_signaling() behave like its dma_fence_add_callback() and dma_fence_default_wait() counterparts and perform the test to enable signaling under the fence->lock, along with the action to do so. This ensure that should an implementati

Re: [Intel-gfx] [PATCH 3/5] drm/mm: Use helpers for drm_mm_node booleans

2019-10-04 Thread Tvrtko Ursulin
On 03/10/2019 22:00, Chris Wilson wrote: In preparation for rearranging the booleans into a flags field, ensure all the current users are using the inline helpers and not directly accessing the members. Signed-off-by: Chris Wilson --- drivers/gpu/drm/drm_mm.c | 19 ++

[Intel-gfx] [PATCH 2/4] drm/i915/color: move check of gamma_enable to specific func/platform

2019-10-04 Thread Swati Sharma
Moved common code to check gamma_enable to specific funcs per platform in bit_precision func. icl doesn't support that and chv has separate enable knob for CGM LUT. Signed-off-by: Swati Sharma --- drivers/gpu/drm/i915/display/intel_color.c | 23 +- 1 file changed, 18 insertio

[Intel-gfx] [PATCH 1/4] [v2] drm/i915/color: fix broken gamma state-checker during boot

2019-10-04 Thread Swati Sharma
Premature gamma lut prepration and loading which was getting reflected in first modeset causing different colors on screen during boot. Issue: In BIOS, gamma is disabled by default. However, legacy read_luts() was setting crtc_state->base.gamma_lut and gamma_lut was programmed with junk values whi

[Intel-gfx] [PATCH 0/4] fix broken state checker and enable state checker for icl+

2019-10-04 Thread Swati Sharma
In this patch series, basically added 3 patches 1. Fixing broken state-checker during boot since legacy platforms i.e. platforms for which state checker was already enabled 2. Moving gamma_enable checks in bit_precision func() to platform specific func() 3. Enabling state checker for ICL

[Intel-gfx] [PATCH 3/4] [v5] drm/i915/color: Extract icl_read_luts()

2019-10-04 Thread Swati Sharma
For icl+, have hw read out to create hw blob of gamma lut values. icl+ platforms supports multi segmented gamma mode by default, add hw lut creation for this mode. This will be used to validate gamma programming using dsb (display state buffer) which is a tgl specific feature. Major change done-r

[Intel-gfx] [PATCH 4/4] FOR_TESTING_ONLY: Print rgb values of hw and sw blobs

2019-10-04 Thread Swati Sharma
Only to print hw and sw lut values/channel. Signed-off-by: Swati Sharma --- drivers/gpu/drm/i915/display/intel_color.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/i915/display/intel_color.c b/drivers/gpu/drm/i915/display/intel_color.c index 168e9daae3de..2b8706dba746 1

Re: [Intel-gfx] [PATCH 4/5] drm/mm: Convert drm_mm_node booleans to bitops

2019-10-04 Thread Tvrtko Ursulin
On 03/10/2019 22:00, Chris Wilson wrote: A straightforward conversion of assignment and checking of the boolean state flags (allocated, scanned) into non-atomic bitops. The caller remains responsible for all locking around the drm_mm and its nodes. Signed-off-by: Chris Wilson --- drivers/gpu

[Intel-gfx] [PATCH] TGL HAX drm/i915/tgl: Interrupts are overrated

2019-10-04 Thread Chris Wilson
Why sleep when you can busywait for an interrupt? Throw out the old irq handlers, and use irq_poll instead. References: https://bugs.freedesktop.org/show_bug.cgi?id=111880 Signed-off-by: Chris Wilson Cc: Mika Kuoppala --- drivers/gpu/drm/i915/Kconfig | 1 + drivers/gpu/drm/i915

Re: [Intel-gfx] [PATCH v3] string-choice: add yesno(), onoff(), enableddisabled(), plural() helpers

2019-10-04 Thread Greg Kroah-Hartman
On Tue, Oct 01, 2019 at 11:07:39AM +0300, Jani Nikula wrote: > The kernel has plenty of ternary operators to choose between constant > strings, such as condition ? "yes" : "no", as well as value == 1 ? "" : > "s": > > $ git grep '? "yes" : "no"' | wc -l > 258 > $ git grep '? "on" : "off"' | wc -l

Re: [Intel-gfx] [PATCH 5/5] drm/mm: Use clear_bit_unlock() for releasing the drm_mm_node()

2019-10-04 Thread Tvrtko Ursulin
On 03/10/2019 22:01, Chris Wilson wrote: A few callers need to serialise the destruction of their drm_mm_node and ensure it is removed from the drm_mm before freeing. However, to be completely sure that any access from another thread is complete before we free the struct, we require the RELEASE

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for fix broken state checker and enable state checker for icl+

2019-10-04 Thread Patchwork
== Series Details == Series: fix broken state checker and enable state checker for icl+ URL : https://patchwork.freedesktop.org/series/67586/ State : warning == Summary == $ dim checkpatch origin/drm-tip a31640d6d4c0 drm/i915/color: fix broken gamma state-checker during boot -:18: ERROR:GIT_CO

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for TGL HAX drm/i915/tgl: Interrupts are overrated (rev7)

2019-10-04 Thread Patchwork
== Series Details == Series: TGL HAX drm/i915/tgl: Interrupts are overrated (rev7) URL : https://patchwork.freedesktop.org/series/67558/ State : warning == Summary == $ dim checkpatch origin/drm-tip cbf4264ef04e TGL HAX drm/i915/tgl: Interrupts are overrated -:244: ERROR:COMPLEX_MACRO: Macros

Re: [Intel-gfx] [PATCH 1/5] drm/i915/execlists: Skip redundant resubmission

2019-10-04 Thread Tvrtko Ursulin
On 03/10/2019 22:00, Chris Wilson wrote: If we unwind the active requests, and on resubmission discover that we intend to preempt the active context with itself, simply skip the ELSP submission. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/gt/intel_lrc.c | 17 - 1 fi

[Intel-gfx] [PATCH] dma-fence: Serialise signal enabling (dma_fence_enable_sw_signaling)

2019-10-04 Thread Chris Wilson
Make dma_fence_enable_sw_signaling() behave like its dma_fence_add_callback() and dma_fence_default_wait() counterparts and perform the test to enable signaling under the fence->lock, along with the action to do so. This ensure that should an implementation be trying to flush the cb_list (by signal

Re: [Intel-gfx] [PATCH] dma-fence: Serialise signal enabling (dma_fence_enable_sw_signaling)

2019-10-04 Thread Tvrtko Ursulin
On 04/10/2019 11:11, Chris Wilson wrote: Make dma_fence_enable_sw_signaling() behave like its dma_fence_add_callback() and dma_fence_default_wait() counterparts and perform the test to enable signaling under the fence->lock, along with the action to do so. This ensure that should an implementati

[Intel-gfx] ✗ Fi.CI.BAT: failure for TGL HAX drm/i915/tgl: Interrupts are overrated (rev5)

2019-10-04 Thread Patchwork
== Series Details == Series: TGL HAX drm/i915/tgl: Interrupts are overrated (rev5) URL : https://patchwork.freedesktop.org/series/67558/ State : failure == Summary == CI Bug Log - changes from CI_DRM_7001 -> Patchwork_14662 Summary ---

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/5] drm/i915/execlists: Skip redundant resubmission (rev2)

2019-10-04 Thread Patchwork
== Series Details == Series: series starting with [1/5] drm/i915/execlists: Skip redundant resubmission (rev2) URL : https://patchwork.freedesktop.org/series/67566/ State : warning == Summary == $ dim checkpatch origin/drm-tip 6adbc5589cd8 drm/i915/execlists: Skip redundant resubmission d1690

Re: [Intel-gfx] [PATCH] drm/i915: Move context management under GEM

2019-10-04 Thread Tvrtko Ursulin
On 03/10/2019 15:20, Chris Wilson wrote: Keep track of the GEM contexts underneath i915->gem.contexts and assign them their own lock for the purposes of list management. v2: Focus on lock tracking; ctx->vm is protected by ctx->mutex Signed-off-by: Chris Wilson Cc: Tvrtko Ursulin --- Another

Re: [Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/tgl: Add the Thunderbolt PLL divider values (rev3)

2019-10-04 Thread Imre Deak
On Thu, Oct 03, 2019 at 09:55:22PM +, Patchwork wrote: > == Series Details == > > Series: drm/i915/tgl: Add the Thunderbolt PLL divider values (rev3) > URL : https://patchwork.freedesktop.org/series/67498/ > State : success Thanks for the review, pushed to -dinq. > > == Summary == > > CI

[Intel-gfx] [PATCH] drm/i915: Restrict L3 remapping sysfs interface to dwords

2019-10-04 Thread Chris Wilson
The L3 cache remapping is stored as u32 elements, and we should ensure that the user only supplies complete slice information(u32). Signed-off-by: Chris Wilson Cc: Tvrtko Ursulin --- drivers/gpu/drm/i915/i915_sysfs.c | 57 --- 1 file changed, 29 insertions(+), 28 del

Re: [Intel-gfx] [PATCH 5/5] drm/mm: Use clear_bit_unlock() for releasing the drm_mm_node()

2019-10-04 Thread Chris Wilson
Quoting Tvrtko Ursulin (2019-10-04 10:15:20) > > On 03/10/2019 22:01, Chris Wilson wrote: > > A few callers need to serialise the destruction of their drm_mm_node and > > ensure it is removed from the drm_mm before freeing. However, to be > > completely sure that any access from another thread is

Re: [Intel-gfx] [PATCH] drm/i915: Restrict L3 remapping sysfs interface to dwords

2019-10-04 Thread Tvrtko Ursulin
On 04/10/2019 11:59, Chris Wilson wrote: The L3 cache remapping is stored as u32 elements, and we should ensure that the user only supplies complete slice information(u32). Signed-off-by: Chris Wilson Cc: Tvrtko Ursulin --- drivers/gpu/drm/i915/i915_sysfs.c | 57

[Intel-gfx] ✓ Fi.CI.BAT: success for fix broken state checker and enable state checker for icl+

2019-10-04 Thread Patchwork
== Series Details == Series: fix broken state checker and enable state checker for icl+ URL : https://patchwork.freedesktop.org/series/67586/ State : success == Summary == CI Bug Log - changes from CI_DRM_7003 -> Patchwork_14663 Summary ---

Re: [Intel-gfx] [PATCH 5/5] drm/mm: Use clear_bit_unlock() for releasing the drm_mm_node()

2019-10-04 Thread Chris Wilson
Quoting Chris Wilson (2019-10-04 12:07:10) > Quoting Tvrtko Ursulin (2019-10-04 10:15:20) > > > > On 03/10/2019 22:01, Chris Wilson wrote: > > > A few callers need to serialise the destruction of their drm_mm_node and > > > ensure it is removed from the drm_mm before freeing. However, to be > > >

[Intel-gfx] ✗ Fi.CI.IGT: failure for drm: Add getfb2 ioctl

2019-10-04 Thread Patchwork
== Series Details == Series: drm: Add getfb2 ioctl URL : https://patchwork.freedesktop.org/series/67553/ State : failure == Summary == CI Bug Log - changes from CI_DRM_7000_full -> Patchwork_14656_full Summary --- **FAILURE** Seri

[Intel-gfx] ✓ Fi.CI.BAT: success for TGL HAX drm/i915/tgl: Interrupts are overrated (rev7)

2019-10-04 Thread Patchwork
== Series Details == Series: TGL HAX drm/i915/tgl: Interrupts are overrated (rev7) URL : https://patchwork.freedesktop.org/series/67558/ State : success == Summary == CI Bug Log - changes from CI_DRM_7003 -> Patchwork_14664 Summary ---

[Intel-gfx] ✗ Fi.CI.IGT: failure for LMEM basics (rev2)

2019-10-04 Thread Patchwork
== Series Details == Series: LMEM basics (rev2) URL : https://patchwork.freedesktop.org/series/67350/ State : failure == Summary == CI Bug Log - changes from CI_DRM_7000_full -> Patchwork_14658_full Summary --- **FAILURE** Serious

[Intel-gfx] [PATCH 15/24] drm/i915: Try to make bigjoiner work in atomic check, v2.

2019-10-04 Thread Maarten Lankhorst
When the clock is higher than the dotclock, try with 2 pipes enabled. If we can enable 2, then we will go into big joiner mode, and steal the adjacent crtc. This only links the crtc's in software, no hardware or plane programming is done yet. Blobs are also copied from the master's crtc_state, so

[Intel-gfx] [PATCH 03/24] drm/i915: Introduce and use intel_atomic_crtc_state_for_each_plane_state.

2019-10-04 Thread Maarten Lankhorst
Instead of looking at drm_plane_state, look at intel_plane_state directly. This will allow us to make the watermarks bigjoiner aware, when we make it work for bigjoiner slave pipes as well. Signed-off-by: Maarten Lankhorst --- drivers/gpu/drm/i915/display/intel_display.h | 8 +++ drivers/gpu/d

[Intel-gfx] [PATCH 04/24] drm/i915: Remove cursor use of properties for coordinates

2019-10-04 Thread Maarten Lankhorst
We have a src and dect rectangle, use it instead of relying on the core drm properties. This removes the special case in the watermark code for cursor w/h. Signed-off-by: Maarten Lankhorst --- drivers/gpu/drm/i915/display/intel_display.c | 57 +++ drivers/gpu/drm/i915/intel_pm.c

[Intel-gfx] [PATCH 02/24] drm/i915: Fix for_each_intel_plane_mask definition

2019-10-04 Thread Maarten Lankhorst
Using for_each_intel_plane_mask() fails because of an extra bracket, remove the bracket so we can use it in the next commit. Signed-off-by: Maarten Lankhorst --- drivers/gpu/drm/i915/display/intel_display.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/

[Intel-gfx] [PATCH 13/24] drm/i915: Stop using drm_atomic_helper_check_planes()

2019-10-04 Thread Maarten Lankhorst
From: Ville Syrjälä We need to insert stuff between the plane and crtc .atomic_check() drm_atomic_helper_check_planes() doesn't allow us to do that so stop using it and hand roll the loops instead. Signed-off-by: Ville Syrjälä Reviewed-by: Stanislav Lisovskiy Signed-off-by: Maarten Lankhorst

[Intel-gfx] [PATCH 14/24] drm/i915/dp: Allow big joiner modes in intel_dp_mode_valid(), v2.

2019-10-04 Thread Maarten Lankhorst
Small changes to intel_dp_mode_valid(), allow listing modes that can only be supported in the bigjoiner configuration, which is not supported yet. eDP does not support bigjoiner, so do not expose bigjoiner only modes on the eDP port. Changes since v1: - Disallow bigjoiner on eDP. Signed-off-by:

[Intel-gfx] [PATCH 00/24] Enable bigjoiner support, second approach.

2019-10-04 Thread Maarten Lankhorst
The first approach centered on ensuring that bigjoiner had a separate master_plane_state and slave_plane_state, this complicated the code too much. The new approach performs the same uapi and hw split as I did for crtc_state, and allows bigjoiner to work with very small modifications in comparison

[Intel-gfx] [PATCH 12/24] drm/i915: Split plane hw and uapi state

2019-10-04 Thread Maarten Lankhorst
Splitting plane state is easier than splitting crtc_state, before plane check we copy the drm properties to hw so we can do the same in bigjoiner later on. We copy the state after we did all the modeset handling, but fortunately i915 seems to be split correctly and nothing during modeset looks at

[Intel-gfx] [PATCH 19/24] drm/i915: Link planes in a bigjoiner configuration, v2.

2019-10-04 Thread Maarten Lankhorst
Make sure that when a plane is set in a bigjoiner mode, we will add their counterpart to the atomic state as well. This will allow us to make sure all state is available when planes are checked. Because of the funny interactions with bigjoiner and planar YUV formats, we may end up adding a lot of

[Intel-gfx] [PATCH 16/24] drm/i915: Enable big joiner support in enable and disable sequences.

2019-10-04 Thread Maarten Lankhorst
Make vdsc work when no output is enabled. The big joiner needs VDSC on the slave, so enable it and set the appropriate bits. Also update timestamping constants, because slave crtc's are not updated in drm_atomic_helper_update_legacy_modeset_state(). This should be enough to bring up CRTC's in a bi

[Intel-gfx] [PATCH 20/24] drm/i915: Add bigjoiner aware plane clipping checks

2019-10-04 Thread Maarten Lankhorst
Signed-off-by: Maarten Lankhorst --- .../gpu/drm/i915/display/intel_atomic_plane.c | 60 +++ .../gpu/drm/i915/display/intel_atomic_plane.h | 4 ++ drivers/gpu/drm/i915/display/intel_display.c | 19 +++--- drivers/gpu/drm/i915/display/intel_sprite.c | 21 +++ 4 files change

[Intel-gfx] [PATCH 07/24] drm/i915: Introduce intel_atomic_get_plane_state_after_check()

2019-10-04 Thread Maarten Lankhorst
Use this in all the places where we try to acquire planes after the planes atomic_check(). In case of intel_modeset_all_pipes() this is not yet done after atomic_check, but seems like it will be in the future. To add some paranoia, add all planes rather than active planes, because of bigjoiner and

[Intel-gfx] [PATCH 11/24] drm/i915: Preparation for plane split

2019-10-04 Thread Maarten Lankhorst
We split plane_state into hw and uapi, this will allow us to make bigjoiner work without rewriting the entire atomic_check and plane programming to be bigjoienr aware. This results in a cleaner bigjoiner implementation than if we use a separate plane_state. The only exception is intel_legacy_curs

[Intel-gfx] [PATCH 21/24] drm/i915: Ensure color blobs are copied to slave before planes are checked

2019-10-04 Thread Maarten Lankhorst
This is required to ensure property blobs are correctly copied on bigjoiner slaves. Only at this point we are sure that the slave crtc is part of the state. Signed-off-by: Maarten Lankhorst --- drivers/gpu/drm/i915/display/intel_display.c | 10 ++ 1 file changed, 10 insertions(+) diff -

[Intel-gfx] [PATCH 22/24] drm/i915: Add intel_update_bigjoiner handling.

2019-10-04 Thread Maarten Lankhorst
Enabling is done in a special sequence and to be fair, so should plane updates be. Ideally the end user never notices the second pipe is used, so use the vblank evasion to cover both pipes. This way ideally everything will be tear free, and updates are really atomic as userspace expects it. The d

[Intel-gfx] [PATCH 24/24] semi-hax: drm/i915: Always verify ddb allocation

2019-10-04 Thread Maarten Lankhorst
And only verify cursor allocation when cursor plane is active. Signed-off-by: Maarten Lankhorst --- drivers/gpu/drm/i915/display/intel_display.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/i

[Intel-gfx] [PATCH 01/24] HAX to make DSC work on the icelake test system

2019-10-04 Thread Maarten Lankhorst
DSC is available on the display emulator, but not set in DPCD. Override the entries to allow bigjoiner testing. Signed-off-by: Maarten Lankhorst --- drivers/gpu/drm/drm_dp_helper.c | 4 ++-- include/drm/drm_dp_helper.h | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/dri

[Intel-gfx] [PATCH 23/24] drm/i915: Add debugfs dumping for bigjoiner, v2.

2019-10-04 Thread Maarten Lankhorst
It's useful to know what the actual clipped state is, rather than the unclipped crtc properties. This is useful when a plane is spread across 2 crtc's, where the slave crtc has no own plane properties but derives its clipped values from the master crtc. Changes since v1: - Report planar slaves as

[Intel-gfx] [PATCH 09/24] drm/i915: Handle a few more cases for crtc hw/uapi split

2019-10-04 Thread Maarten Lankhorst
We are still looking at drm_crtc_state in a few places, convert those to use intel_crtc_state instead. Look at uapi/hw where appropriate. Signed-off-by: Maarten Lankhorst Reviewed-by: Matt Roper --- drivers/gpu/drm/i915/display/intel_display.c | 14 +++--- drivers/gpu/drm/i915/display/i

[Intel-gfx] [PATCH 18/24] drm/i915: Remove special case slave handling during hw programming

2019-10-04 Thread Maarten Lankhorst
Now that we split plane_state which I didn't want to do yet, we can program the slave plane without requiring the master plane. This is useful for programming bigjoiner slave planes as well. We will no longer need the master's plane_state. Signed-off-by: Maarten Lankhorst --- .../gpu/drm/i915/d

[Intel-gfx] [PATCH 05/24] drm/i915: Use intel_plane_state in prepare and cleanup plane_fb

2019-10-04 Thread Maarten Lankhorst
We need to look at the hw fb in the plane split, so replace all the places that use drm_plane_state with intel_plane_state. Signed-off-by: Maarten Lankhorst --- drivers/gpu/drm/i915/display/intel_display.c | 28 +++- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a

[Intel-gfx] [PATCH 17/24] drm/i915: Make hardware readout work on i915.

2019-10-04 Thread Maarten Lankhorst
Unfortunately I have no way to test this, but it should be correct if the bios sets up bigjoiner in a sane way. Skip iterating over bigjoiner slaves, only the master has the state we care about. Add the width of the bigjoiner slave to the reconstructed fb. Hide the bigjoiner slave to userspace,

[Intel-gfx] [PATCH 06/24] drm/i915: Remove begin/finish_crtc_commit, v4.

2019-10-04 Thread Maarten Lankhorst
This can all be done from the intel_update_crtc function. Split out the pipe update into a separate function, just like is done for the planes. Pull in all the changes done during fastset as well. It makes no sense for it to still exist as a separate function. Changes since v1: - Inline intel_upda

[Intel-gfx] [PATCH 10/24] drm/i915: Complete crtc hw/uapi split, v2.

2019-10-04 Thread Maarten Lankhorst
Now that we separated everything into uapi and hw, it's time to make the split definitive. Remove the union and make a copy of the hw state on modeset and fastset. Color blobs are copied in crtc atomic_check(), right before color management is checked. Changes since v1: - Copy all blobs immediate

[Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/5] drm/i915/execlists: Skip redundant resubmission (rev2)

2019-10-04 Thread Patchwork
== Series Details == Series: series starting with [1/5] drm/i915/execlists: Skip redundant resubmission (rev2) URL : https://patchwork.freedesktop.org/series/67566/ State : success == Summary == CI Bug Log - changes from CI_DRM_7003 -> Patchwork_14665 =

[Intel-gfx] ✗ Fi.CI.IGT: failure for series starting with [1/5] drm/i915/execlists: Skip redundant resubmission

2019-10-04 Thread Patchwork
== Series Details == Series: series starting with [1/5] drm/i915/execlists: Skip redundant resubmission URL : https://patchwork.freedesktop.org/series/67566/ State : failure == Summary == CI Bug Log - changes from CI_DRM_7000_full -> Patchwork_14659_full ==

Re: [Intel-gfx] [PATCH 5/5] drm/mm: Use clear_bit_unlock() for releasing the drm_mm_node()

2019-10-04 Thread Tvrtko Ursulin
On 04/10/2019 12:17, Chris Wilson wrote: Quoting Chris Wilson (2019-10-04 12:07:10) Quoting Tvrtko Ursulin (2019-10-04 10:15:20) On 03/10/2019 22:01, Chris Wilson wrote: A few callers need to serialise the destruction of their drm_mm_node and ensure it is removed from the drm_mm before freei

Re: [Intel-gfx] ✗ Fi.CI.IGT: failure for LMEM basics (rev2)

2019-10-04 Thread Kai Vehmanen
Hey, On Fri, 4 Oct 2019, Patchwork wrote: > URL : https://patchwork.freedesktop.org/series/67350/ [...] > **FAILURE** > > Serious unknown changes coming with Patchwork_14658_full absolutely need to > be > verified manually. [...] > * igt@gem_mmap_gtt@hang: > - shard-kbl:

Re: [Intel-gfx] ✗ Fi.CI.IGT: failure for LMEM basics (rev2)

2019-10-04 Thread Chris Wilson
Quoting Kai Vehmanen (2019-10-04 13:06:43) > Hey, > > On Fri, 4 Oct 2019, Patchwork wrote: > > > URL : https://patchwork.freedesktop.org/series/67350/ > [...] > > **FAILURE** > > > > Serious unknown changes coming with Patchwork_14658_full absolutely need > > to be > > verified manually

Re: [Intel-gfx] ✗ Fi.CI.IGT: failure for drm/i915/dp: remove static variable for aux last status (rev3)

2019-10-04 Thread Jani Nikula
On Thu, 03 Oct 2019, Patchwork wrote: > == Series Details == > > Series: drm/i915/dp: remove static variable for aux last status (rev3) > URL : https://patchwork.freedesktop.org/series/67499/ > State : failure > > == Summary == > > CI Bug Log - changes from CI_DRM_6996_full -> Patchwork_14647_fu

[Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915: Restrict L3 remapping sysfs interface to dwords

2019-10-04 Thread Patchwork
== Series Details == Series: drm/i915: Restrict L3 remapping sysfs interface to dwords URL : https://patchwork.freedesktop.org/series/67588/ State : failure == Summary == CI Bug Log - changes from CI_DRM_7005 -> Patchwork_14666 Summary

[Intel-gfx] [CI 2/3] drm/i915: split out i915_switcheroo.[ch] from i915_drv.c

2019-10-04 Thread Jani Nikula
Split out code related to vga switcheroo register/unregister and state handling from i915_drv.c into new i915_switcheroo.[ch] files. It's a bit difficult to draw the line how much to move to the new file from i915_drv.c, but it seemed to me keeping i915_suspend_switcheroo() and i915_resume_switche

[Intel-gfx] [CI 3/3] drm/i915: move gmbus setup down to intel_modeset_init()

2019-10-04 Thread Jani Nikula
Pair the gmbus setup and teardown in the same layer. This also fixes the double gmbus teardown on the i915_driver_modeset_probe() error path. Move the gmbus setup a bit later in the sequence to make the follow-up refactoring easier, and to pinpoint any unexpected consequences of this change right

[Intel-gfx] [CI 1/3] drm/i915/vga: rename intel_vga_msr_write() to intel_vga_reset_io_mem()

2019-10-04 Thread Jani Nikula
Rename the function per Ville's suggestion. No functional changes. Cc: Ville Syrjälä Suggested-by: Ville Syrjälä Reviewed-by: Ville Syrjälä Signed-off-by: Jani Nikula --- drivers/gpu/drm/i915/display/intel_display_power.c | 2 +- drivers/gpu/drm/i915/display/intel_vga.c | 2 +- driv

Re: [Intel-gfx] ✗ Fi.CI.IGT: failure for series starting with [v2,1/2] drm/i915: Fix audio power up sequence for gen10+ display

2019-10-04 Thread Jani Nikula
On Thu, 03 Oct 2019, Patchwork wrote: > == Series Details == > > Series: series starting with [v2,1/2] drm/i915: Fix audio power up sequence > for gen10+ display > URL : https://patchwork.freedesktop.org/series/67528/ > State : failure > > == Summary == > > CI Bug Log - changes from CI_DRM_6996

[Intel-gfx] ✗ Fi.CI.BUILD: failure for Enable bigjoiner support, second approach.

2019-10-04 Thread Patchwork
== Series Details == Series: Enable bigjoiner support, second approach. URL : https://patchwork.freedesktop.org/series/67590/ State : failure == Summary == CALLscripts/checksyscalls.sh CALLscripts/atomic/check-atomics.sh DESCEND objtool CHK include/generated/compile.h AR

Re: [Intel-gfx] [PATCH 02/24] drm/i915: Fix for_each_intel_plane_mask definition

2019-10-04 Thread Ville Syrjälä
On Fri, Oct 04, 2019 at 01:34:52PM +0200, Maarten Lankhorst wrote: > Using for_each_intel_plane_mask() fails because of an extra bracket, > remove the bracket so we can use it in the next commit. > > Signed-off-by: Maarten Lankhorst Reviewed-by: Ville Syrjälä > --- > drivers/gpu/drm/i915/disp

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [CI,1/3] drm/i915/vga: rename intel_vga_msr_write() to intel_vga_reset_io_mem()

2019-10-04 Thread Patchwork
== Series Details == Series: series starting with [CI,1/3] drm/i915/vga: rename intel_vga_msr_write() to intel_vga_reset_io_mem() URL : https://patchwork.freedesktop.org/series/67592/ State : warning == Summary == $ dim checkpatch origin/drm-tip 095e27e1a8ba drm/i915/vga: rename intel_vga_msr

Re: [Intel-gfx] [PATCH 03/24] drm/i915: Introduce and use intel_atomic_crtc_state_for_each_plane_state.

2019-10-04 Thread Ville Syrjälä
On Fri, Oct 04, 2019 at 01:34:53PM +0200, Maarten Lankhorst wrote: > Instead of looking at drm_plane_state, look at intel_plane_state directly. > > This will allow us to make the watermarks bigjoiner aware, when we make it > work for bigjoiner slave pipes as well. > > Signed-off-by: Maarten Lankh

Re: [Intel-gfx] [PATCH 04/24] drm/i915: Remove cursor use of properties for coordinates

2019-10-04 Thread Ville Syrjälä
On Fri, Oct 04, 2019 at 01:34:54PM +0200, Maarten Lankhorst wrote: > We have a src and dect rectangle, use it instead of relying on > the core drm properties. > > This removes the special case in the watermark code for cursor w/h. I like getting rid of special cases. I guess the only concern I on

Re: [Intel-gfx] [PATCH 05/24] drm/i915: Use intel_plane_state in prepare and cleanup plane_fb

2019-10-04 Thread Ville Syrjälä
On Fri, Oct 04, 2019 at 01:34:55PM +0200, Maarten Lankhorst wrote: > We need to look at the hw fb in the plane split, so replace all the places > that use drm_plane_state with intel_plane_state. > > Signed-off-by: Maarten Lankhorst Reviewed-by: Ville Syrjälä > --- > drivers/gpu/drm/i915/displ

Re: [Intel-gfx] [PATCH 09/24] drm/i915: Handle a few more cases for crtc hw/uapi split

2019-10-04 Thread Ville Syrjälä
On Fri, Oct 04, 2019 at 01:34:59PM +0200, Maarten Lankhorst wrote: > We are still looking at drm_crtc_state in a few places, convert those > to use intel_crtc_state instead. Look at uapi/hw where appropriate. > > Signed-off-by: Maarten Lankhorst > Reviewed-by: Matt Roper > --- > drivers/gpu/drm

[Intel-gfx] [PATCH 15/20] drm/i915/overlay: Drop struct_mutex guard

2019-10-04 Thread Chris Wilson
The overlay uses the modeset mutex to control itself and only required the struct_mutex for requests, which is now obsolete. Signed-off-by: Chris Wilson Reviewed-by: Tvrtko Ursulin --- drivers/gpu/drm/i915/display/intel_display.c | 7 +-- drivers/gpu/drm/i915/display/intel_overlay.c | 13 -

[Intel-gfx] [PATCH 04/20] drm/i915: Push the i915_active.retire into a worker

2019-10-04 Thread Chris Wilson
As we need to use a mutex to serialise i915_active activation (because we want to allow the callback to sleep), we need to push the i915_active.retire into a worker callback in case we get need to retire from an atomic context. Signed-off-by: Chris Wilson Reviewed-by: Matthew Auld --- .../gpu/d

[Intel-gfx] [PATCH 09/20] drm/i915: Merge wait_for_timelines with retire_request

2019-10-04 Thread Chris Wilson
wait_for_timelines is essentially the same loop as retiring requests (with an extra timeout), so merge the two into one routine. v2: i915_retire_requests_timeout and keep VT'd w/a as !interruptible Signed-off-by: Chris Wilson Reviewed-by: Tvrtko Ursulin --- drivers/gpu/drm/i915/gem/i915_gem_mm

[Intel-gfx] [PATCH 02/20] drm/i915: Mark up address spaces that may need to allocate

2019-10-04 Thread Chris Wilson
Since we cannot allocate underneath the vm->mutex (it is used in the direct-reclaim paths), we need to shift the allocations off into a mutexless worker with fence recursion prevention. To know when we need this protection, we mark up the address spaces that do allocate before insertion. In the fut

[Intel-gfx] [PATCH 10/20] drm/i915/gem: Retire directly for mmap-offset shrinking

2019-10-04 Thread Chris Wilson
Now that we can retire without taking struct_mutex, we can do so to handle shrinking the mmap-offset space after an allocation failure. Signed-off-by: Chris Wilson Cc: Tvrtko Ursulin Cc: Matthew Auld Reviewed-by: Tvrtko Ursulin --- drivers/gpu/drm/i915/gem/i915_gem_mman.c | 17 +--

[Intel-gfx] struct_mutex, last round?

2019-10-04 Thread Chris Wilson
Just patch 14 needs review and then we're ready to pull the plug. -Chris ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

2019-10-04 Thread Chris Wilson
With the introduction of ctx->engines[] we allow multiple logical contexts to be used on the same engine (e.g. with virtual engines). According to bspec, aach logical context requires a unique tag in order for context-switching to occur correctly between them. [Simple experiments show that it is no

[Intel-gfx] [PATCH 06/20] drm/i915: Move idle barrier cleanup into engine-pm

2019-10-04 Thread Chris Wilson
Now that we now longer need to guarantee that the active callback is under the struct_mutex, we can lift it out of the i915_gem_park() and into the engine parking itself. Signed-off-by: Chris Wilson Reviewed-by: Tvrtko Ursulin --- drivers/gpu/drm/i915/gem/i915_gem_pm.c| 19 -

[Intel-gfx] [PATCH 18/20] drm/i915: Drop struct_mutex from suspend state save/restore

2019-10-04 Thread Chris Wilson
struct_mutex provides no serialisation of the registers and data structures being saved and restored across suspend/resume. It is completely superfluous here. Signed-off-by: Chris Wilson Reviewed-by: Tvrtko Ursulin --- drivers/gpu/drm/i915/i915_suspend.c | 8 1 file changed, 8 deletion

[Intel-gfx] [PATCH 14/20] drm/i915: Move context management under GEM

2019-10-04 Thread Chris Wilson
Keep track of the GEM contexts underneath i915->gem.contexts and assign them their own lock for the purposes of list management. v2: Focus on lock tracking; ctx->vm is protected by ctx->mutex v3: Correct split with removal of logical HW ID Signed-off-by: Chris Wilson Cc: Tvrtko Ursulin --- dri

[Intel-gfx] [PATCH 07/20] drm/i915: Drop struct_mutex from around i915_retire_requests()

2019-10-04 Thread Chris Wilson
We don't need to hold struct_mutex now for retiring requests, so drop it from i915_retire_requests() and i915_gem_wait_for_idle(), finally removing I915_WAIT_LOCKED for good. Signed-off-by: Chris Wilson Reviewed-by: Tvrtko Ursulin --- .../gpu/drm/i915/gem/i915_gem_client_blt.c| 7 +- driv

[Intel-gfx] [PATCH 01/20] drm/i915: Only track bound elements of the GTT

2019-10-04 Thread Chris Wilson
The premise here is to simply avoiding having to acquire the vm->mutex inside vma create/destroy to update the vm->unbound_lists, to avoid some nasty lock recursions later. Signed-off-by: Chris Wilson Reviewed-by: Matthew Auld --- drivers/gpu/drm/i915/gem/i915_gem_stolen.c| 2 +- drivers/g

[Intel-gfx] [PATCH 20/20] drm/i915: Drop struct_mutex from around GEM initialisation

2019-10-04 Thread Chris Wilson
We no longer need to placate lockdep by holding struct_mutex for our initialisation, so don't. Signed-off-by: Chris Wilson Reviewed-by: Tvrtko Ursulin --- drivers/gpu/drm/i915/gem/i915_gem_pm.c | 2 -- drivers/gpu/drm/i915/i915_gem.c | 9 - drivers/gpu/drm/i91

[Intel-gfx] [PATCH 08/20] drm/i915: Remove the GEM idle worker

2019-10-04 Thread Chris Wilson
Nothing inside the idle worker now requires struct_mutex, so we can remove the indirection of using our own worker. Signed-off-by: Chris Wilson Reviewed-by: Tvrtko Ursulin --- drivers/gpu/drm/i915/gem/i915_gem_pm.c| 28 ++- .../drm/i915/gem/selftests/i915_gem_mman.c|

[Intel-gfx] [PATCH 11/20] drm/i915: Move request runtime management onto gt

2019-10-04 Thread Chris Wilson
Requests are run from the gt and are tided into the gt runtime power management, so pull the runtime request management under gt/ Signed-off-by: Chris Wilson Reviewed-by: Tvrtko Ursulin --- drivers/gpu/drm/i915/Makefile | 1 + drivers/gpu/drm/i915/gem/i915_gem_mman.c |

Re: [Intel-gfx] [PATCH 14/20] drm/i915: Move context management under GEM

2019-10-04 Thread Tvrtko Ursulin
On 04/10/2019 14:40, Chris Wilson wrote: Keep track of the GEM contexts underneath i915->gem.contexts and assign them their own lock for the purposes of list management. v2: Focus on lock tracking; ctx->vm is protected by ctx->mutex v3: Correct split with removal of logical HW ID Reviewed-by:

Re: [Intel-gfx] [igt-dev] [PATCH i-g-t] i915/gem_ctx_isolation: Bump support for Tigerlake

2019-10-04 Thread Mika Kuoppala
Chris Wilson writes: > There's very little variation in non-privileged registers for Tigerlake, > so we can mostly inherit the set from gen11. There is no whitelist at > present, so we do not need to add any special registers. > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111599 > Si

[Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [CI,1/3] drm/i915/vga: rename intel_vga_msr_write() to intel_vga_reset_io_mem()

2019-10-04 Thread Patchwork
== Series Details == Series: series starting with [CI,1/3] drm/i915/vga: rename intel_vga_msr_write() to intel_vga_reset_io_mem() URL : https://patchwork.freedesktop.org/series/67592/ State : success == Summary == CI Bug Log - changes from CI_DRM_7007 -> Patchwork_14668 ==

Re: [Intel-gfx] [igt-dev] [PATCH i-g-t] i915/gem_ctx_isolation: Bump support for Tigerlake

2019-10-04 Thread Chris Wilson
Quoting Mika Kuoppala (2019-10-04 14:51:05) > Chris Wilson writes: > > > There's very little variation in non-privileged registers for Tigerlake, > > so we can mostly inherit the set from gen11. There is no whitelist at > > present, so we do not need to add any special registers. > > > > Bugzilla

[Intel-gfx] [PATCH 05/20] drm/i915: Coordinate i915_active with its own mutex

2019-10-04 Thread Chris Wilson
Forgo the struct_mutex serialisation for i915_active, and interpose its own mutex handling for active/retire. This is a multi-layered sleight-of-hand. First, we had to ensure that no active/retire callbacks accidentally inverted the mutex ordering rules, nor assumed that they were themselves seria

[Intel-gfx] [PATCH 19/20] drm/i915/selftests: Drop vestigal struct_mutex guards

2019-10-04 Thread Chris Wilson
We no longer need struct_mutex to serialise request emission, so remove it from the gt selftests. Signed-off-by: Chris Wilson Reviewed-by: Tvrtko Ursulin --- .../gpu/drm/i915/gem/selftests/huge_pages.c | 15 +- .../drm/i915/gem/selftests/i915_gem_context.c | 4 - .../drm/i915/gem/selftests

[Intel-gfx] [PATCH 12/20] drm/i915: Move global activity tracking from GEM to GT

2019-10-04 Thread Chris Wilson
As our global unpark/park keep track of the number of active users, we can simply move the accounting from the GEM layer to the base GT layer. It was placed originally inside GEM to benefit from the 100ms extra delay on idleness, but that has been eliminated and now there is no substantive differen

  1   2   >