Re: [Intel-gfx] [PATCH] drm/i915/breadcrumbs: Drop assertion that we've already enabled irqs

2019-01-17 Thread Tvrtko Ursulin
On 17/01/2019 23:31, Chris Wilson wrote: The motivation for introducing the check that we only enable breadcrumb irqs if the device's irq was installed was once upon a time we waited during suspend after disabling interrupts (which was quite slow until the bug was discovered). Since then we

[Intel-gfx] ✓ Fi.CI.IGT: success for drm: Split out drm_probe_helper.h (rev4)

2019-01-17 Thread Patchwork
== Series Details == Series: drm: Split out drm_probe_helper.h (rev4) URL : https://patchwork.freedesktop.org/series/55232/ State : success == Summary == CI Bug Log - changes from CI_DRM_5441_full -> Patchwork_11974_full Summary ---

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/icl: Adding few more device IDs for Ice Lake

2019-01-17 Thread Patchwork
== Series Details == Series: drm/i915/icl: Adding few more device IDs for Ice Lake URL : https://patchwork.freedesktop.org/series/55393/ State : success == Summary == CI Bug Log - changes from CI_DRM_5444 -> Patchwork_11978 Summary ---

[Intel-gfx] ✓ Fi.CI.IGT: success for icl: Misc PLL patches

2019-01-17 Thread Patchwork
== Series Details == Series: icl: Misc PLL patches URL : https://patchwork.freedesktop.org/series/55378/ State : success == Summary == CI Bug Log - changes from CI_DRM_5440_full -> Patchwork_11972_full Summary --- **SUCCESS** No

[Intel-gfx] [PATCH] drm/i915/icl: Adding few more device IDs for Ice Lake

2019-01-17 Thread Rodrigo Vivi
We just got aware that there was more IDs available at spec, so let's add them already. Cc: James Ausmus Cc: José Roberto de Souza Signed-off-by: Rodrigo Vivi --- include/drm/i915_pciids.h | 4 1 file changed, 4 insertions(+) diff --git a/include/drm/i915_pciids.h

[Intel-gfx] ✗ Fi.CI.IGT: failure for drm/i915: Fix wakeref cookie handling in debugfs/i915_forcewake_user

2019-01-17 Thread Patchwork
== Series Details == Series: drm/i915: Fix wakeref cookie handling in debugfs/i915_forcewake_user URL : https://patchwork.freedesktop.org/series/55366/ State : failure == Summary == CI Bug Log - changes from CI_DRM_5440_full -> Patchwork_11971_full

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/breadcrumbs: Drop assertion that we've already enabled irqs

2019-01-17 Thread Patchwork
== Series Details == Series: drm/i915/breadcrumbs: Drop assertion that we've already enabled irqs URL : https://patchwork.freedesktop.org/series/55388/ State : success == Summary == CI Bug Log - changes from CI_DRM_5443 -> Patchwork_11977

[Intel-gfx] [PATCH i-g-t] i915/gem_mmap_gtt: Reset faster and longer to catch fencing errors

2019-01-17 Thread Chris Wilson
Performing a GPU reset clobbers the fence registers, affecting which addresses the tiled GTT mmap access. If the driver does not take precautions across a GPU reset, a client may read the wrong values (but only within their own buffer as the fence will only be degraded to I915_TILING_NONE,

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/selftests: Query the vm under test for hugepage support (rev2)

2019-01-17 Thread Patchwork
== Series Details == Series: drm/i915/selftests: Query the vm under test for hugepage support (rev2) URL : https://patchwork.freedesktop.org/series/55386/ State : success == Summary == CI Bug Log - changes from CI_DRM_5442 -> Patchwork_11976

Re: [Intel-gfx] ✗ Fi.CI.IGT: failure for series starting with [01/23] drm/i915: Make all GPU resets atomic

2019-01-17 Thread Chris Wilson
Quoting Patchwork (2019-01-17 23:36:23) > Possible regressions > > * igt@gem_mmap_gtt@hang: > - shard-snb: PASS -> FAIL The only thing unexpected here is that they all didn't fail. (Dropping this protection of disabling memory access while the fence registers are being

[Intel-gfx] ✗ Fi.CI.IGT: failure for series starting with [01/23] drm/i915: Make all GPU resets atomic

2019-01-17 Thread Patchwork
== Series Details == Series: series starting with [01/23] drm/i915: Make all GPU resets atomic URL : https://patchwork.freedesktop.org/series/55365/ State : failure == Summary == CI Bug Log - changes from CI_DRM_5440_full -> Patchwork_11970_full

[Intel-gfx] [PATCH] drm/i915/breadcrumbs: Drop assertion that we've already enabled irqs

2019-01-17 Thread Chris Wilson
The motivation for introducing the check that we only enable breadcrumb irqs if the device's irq was installed was once upon a time we waited during suspend after disabling interrupts (which was quite slow until the bug was discovered). Since then we have the notion of pinning the breadcrumb irq,

Re: [Intel-gfx] [PATCH 32/46] drm/i915: Pull VM lists under the VM mutex.

2019-01-17 Thread Chris Wilson
Quoting Tvrtko Ursulin (2019-01-17 16:23:48) > > On 16/01/2019 17:01, Chris Wilson wrote: > > Quoting Tvrtko Ursulin (2019-01-16 16:47:43) > >> > >> On 07/01/2019 11:54, Chris Wilson wrote: > >>> @@ -1530,20 +1531,21 @@ i915_gem_pwrite_ioctl(struct drm_device *dev, > >>> void *data, > >>> >

[Intel-gfx] [PATCH v2] drm/i915/selftests: Query the vm under test for hugepage support

2019-01-17 Thread Chris Wilson
Since we have the ppgtt we want to test, we can ask it directly if it is suitable for the hugepage test we intend to undertake. v2: Not everyone has full-ppgtt Signed-off-by: Chris Wilson Cc: Matthew Auld --- drivers/gpu/drm/i915/selftests/huge_pages.c | 2 +- 1 file changed, 1 insertion(+),

[Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915/selftests: Query the vm under test for hugepage support

2019-01-17 Thread Patchwork
== Series Details == Series: drm/i915/selftests: Query the vm under test for hugepage support URL : https://patchwork.freedesktop.org/series/55386/ State : failure == Summary == CI Bug Log - changes from CI_DRM_5441 -> Patchwork_11975

[Intel-gfx] [PATCH] drm/i915/selftests: Query the vm under test for hugepage support

2019-01-17 Thread Chris Wilson
Since we have the ppgtt we want to test, we can ask it directly if it is suitable for the hugepage test we intend to undertake. Signed-off-by: Chris Wilson Cc: Matthew Auld --- drivers/gpu/drm/i915/selftests/huge_pages.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git

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

2019-01-17 Thread Guenter Roeck
struct clocksource *clock; unsigned long flags; + pr_info("## timekeeping_init() \n"); + Guenter --- # bad: [a37d50ca3b837c19a297f349365d11a20c1087d0] Add linux-next specific files for 20190117 # good: [1c7fc5cbc33980acd13d

[Intel-gfx] ✓ Fi.CI.BAT: success for drm: Split out drm_probe_helper.h (rev4)

2019-01-17 Thread Patchwork
== Series Details == Series: drm: Split out drm_probe_helper.h (rev4) URL : https://patchwork.freedesktop.org/series/55232/ State : success == Summary == CI Bug Log - changes from CI_DRM_5441 -> Patchwork_11974 Summary ---

Re: [Intel-gfx] [PATCH 5/5] drm/i915: allow shared plls to be non-consecutive

2019-01-17 Thread Lucas De Marchi
On Thu, Jan 17, 2019 at 12:21 PM Lucas De Marchi wrote: > > Right now when searching for shared plls we mandate that they have > consecutive IDs since we just pass the min and max id and loop over the > range. However the IDs can't be arbitrarily defined since they are used > as index to the MMIO

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm: Split out drm_probe_helper.h (rev4)

2019-01-17 Thread Patchwork
== Series Details == Series: drm: Split out drm_probe_helper.h (rev4) URL : https://patchwork.freedesktop.org/series/55232/ State : warning == Summary == $ dim checkpatch origin/drm-tip 6b67170fc382 drm: Split out drm_probe_helper.h -:686: WARNING:OBSOLETE: drivers/gpu/drm/cirrus/cirrus_drv.c

[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915: introduce macros to define register contents (rev2)

2019-01-17 Thread Patchwork
== Series Details == Series: drm/i915: introduce macros to define register contents (rev2) URL : https://patchwork.freedesktop.org/series/50513/ State : success == Summary == CI Bug Log - changes from CI_DRM_5440_full -> Patchwork_11969_full

[Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [v4,1/4] drm/i915/psr: Allow PSR2 to be enabled when debugfs asks

2019-01-17 Thread Patchwork
== Series Details == Series: series starting with [v4,1/4] drm/i915/psr: Allow PSR2 to be enabled when debugfs asks URL : https://patchwork.freedesktop.org/series/55379/ State : failure == Summary == CI Bug Log - changes from CI_DRM_5440 -> Patchwork_11973

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [v4,1/4] drm/i915/psr: Allow PSR2 to be enabled when debugfs asks

2019-01-17 Thread Patchwork
== Series Details == Series: series starting with [v4,1/4] drm/i915/psr: Allow PSR2 to be enabled when debugfs asks URL : https://patchwork.freedesktop.org/series/55379/ State : warning == Summary == $ dim checkpatch origin/drm-tip 5e4082ef6525 drm/i915/psr: Allow PSR2 to be enabled when

[Intel-gfx] ✓ Fi.CI.BAT: success for icl: Misc PLL patches

2019-01-17 Thread Patchwork
== Series Details == Series: icl: Misc PLL patches URL : https://patchwork.freedesktop.org/series/55378/ State : success == Summary == CI Bug Log - changes from CI_DRM_5440 -> Patchwork_11972 Summary --- **SUCCESS** No

[Intel-gfx] [PATCH v4 4/4] drm/i915/debugfs: Print PSR selective update status register values

2019-01-17 Thread José Roberto de Souza
The value of this registers will be used to test if PSR2 is doing selective update and if the number of blocks match with the expected. v2: - Using new macros - Changed the string output v3: - reading PSR2_SU_STATUS registers together(Dhinakaran) - printing SU blocks of frames with 0

[Intel-gfx] [PATCH v4 2/4] drm/i915: Refactor PSR status debugfs

2019-01-17 Thread José Roberto de Souza
The old debugfs fields was not following a naming partern and it was a bit confusing. So it went from: ~$ sudo more /sys/kernel/debug/dri/0/i915_edp_psr_status Sink_Support: yes PSR mode: PSR1 Enabled: yes Busy frontbuffer bits: 0x000 Main link in standby mode: no HW Enabled & Active bit: yes

[Intel-gfx] [PATCH v4 3/4] drm/i915: Add PSR2 selective update status registers and bits definitions

2019-01-17 Thread José Roberto de Souza
This register contains how many blocks was sent in the past selective updates. Those registers are not kept set all the times but polling it after flip can show the values corresponding to the last 8 frames. v2: Improved macros(Dhinakaran) Cc: Rodrigo Vivi Cc: Dhinakaran Pandiyan Reviewed-by:

[Intel-gfx] [PATCH v4 1/4] drm/i915/psr: Allow PSR2 to be enabled when debugfs asks

2019-01-17 Thread José Roberto de Souza
For now PSR2 is still disabled by default for all platforms but is our intention to let debugfs to enable it for debug and tests proporses, so intel_psr2_enabled() that is also used by debugfs to decide if PSR2 is going to be enabled needs to take in consideration the debug field. v2: Using the

Re: [Intel-gfx] [PATCH v3 4/4] drm/i915/debugfs: Print PSR selective update status register values

2019-01-17 Thread Souza, Jose
On Wed, 2019-01-16 at 14:37 -0800, Dhinakaran Pandiyan wrote: > On Fri, 2019-01-11 at 12:44 -0800, José Roberto de Souza wrote: > > The value of this registers will be used to test if PSR2 is doing > > selective update and if the number of blocks match with the > > expected. > > > > v2: > > -

Re: [Intel-gfx] [alsa-devel] Timing issues between ALSA and i915 drivers

2019-01-17 Thread Pierre-Louis Bossart
I tried to narrow down the issue further and my current understanding is that the Skylake driver performs link reset operations without the display power turned on - which does not look like a very smart thing to do in hindsight. In other words, it's not really when snd_hdac_i915_init() is

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for icl: Misc PLL patches

2019-01-17 Thread Patchwork
== Series Details == Series: icl: Misc PLL patches URL : https://patchwork.freedesktop.org/series/55378/ State : warning == Summary == $ dim checkpatch origin/drm-tip bc90321eb832 drm/i915/icl: use tc_port in MG_PLL macros -:183: WARNING:LINE_SPACING: Missing a blank line after declarations

Re: [Intel-gfx] [alsa-devel] Timing issues between ALSA and i915 drivers

2019-01-17 Thread Takashi Iwai
On Thu, 17 Jan 2019 20:53:06 +0100, Pierre-Louis Bossart wrote: > > > > I could use some feedback on HDMI audio issues exposed during the > > 4.21 merge window. By accident (misleading documentation) we ended > > up enabling the Skylake driver instead of the HDaudio legacy, and > > broke audio

[Intel-gfx] [PATCH 5/5] drm/i915: allow shared plls to be non-consecutive

2019-01-17 Thread Lucas De Marchi
Right now when searching for shared plls we mandate that they have consecutive IDs since we just pass the min and max id and loop over the range. However the IDs can't be arbitrarily defined since they are used as index to the MMIO address, hence dependent on what the hardware implements. This

[Intel-gfx] [PATCH 3/5] drm/i915/icl: remove dpll from clk_sel

2019-01-17 Thread Lucas De Marchi
We should not pass DPLL_ID_ICL_DPLL0 or DPLL_ID_ICL_DPLL1 to this function because the path is only taken for non-combophy ports. Let the warning trigger if improper value is given. While at it, rename the function to match the register name we are trying to program. Signed-off-by: Lucas De

[Intel-gfx] [PATCH 0/5] icl: Misc PLL patches

2019-01-17 Thread Lucas De Marchi
Some PLL reworks on ICL. Patches are more or less independent of each other, but touch the same part of the code. Lucas De Marchi (5): drm/i915/icl: use tc_port in MG_PLL macros drm/i915: always return something drm/i915/icl: remove dpll from clk_sel drm/i915/icl: keep track of unused pll

[Intel-gfx] [PATCH 4/5] drm/i915/icl: keep track of unused pll while looping

2019-01-17 Thread Lucas De Marchi
Instead of looping again on the range of plls, just keep track of one unused one and use it later. Signed-off-by: Lucas De Marchi --- drivers/gpu/drm/i915/intel_dpll_mgr.c | 19 +-- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git

[Intel-gfx] [PATCH 2/5] drm/i915: always return something

2019-01-17 Thread Lucas De Marchi
Even if we don't have the correct clock and get a warning, we should not skip the return. Fixes: 1fa11ee2d9d0 ("drm/i915/icl: start adding the TBT pll") Cc: Paulo Zanoni Cc: # v4.19+ Signed-off-by: Lucas De Marchi --- drivers/gpu/drm/i915/intel_ddi.c | 2 +- 1 file changed, 1 insertion(+), 1

[Intel-gfx] [PATCH 1/5] drm/i915/icl: use tc_port in MG_PLL macros

2019-01-17 Thread Lucas De Marchi
Fix the TODO leftover in the code by changing the argument in MG_PLL macros. The MG_PLL ids used to access the register values can be converted from tc_port rather than port. The helper functions were also renamed to use "tc" as prefix to make them more generic. Signed-off-by: Lucas De Marchi

Re: [Intel-gfx] [alsa-devel] Timing issues between ALSA and i915 drivers

2019-01-17 Thread Pierre-Louis Bossart
I could use some feedback on HDMI audio issues exposed during the 4.21 merge window. By accident (misleading documentation) we ended up enabling the Skylake driver instead of the HDaudio legacy, and broke audio on a number of Skylake and ApolloLake devices where the HDMI/iDISP codec was not

Re: [Intel-gfx] [PATCH 13/13] drm/i915: Disable pipe gamma when C8 pixel format is used

2019-01-17 Thread Ville Syrjälä
On Thu, Jan 17, 2019 at 11:13:58AM -0800, Matt Roper wrote: > On Fri, Jan 11, 2019 at 07:08:23PM +0200, Ville Syrjala wrote: > > From: Ville Syrjälä > > > > Planes scanning out C8 will want to use the legacy lut as > > their palette. That means the LUT content are unikely to > > be useful for

Re: [Intel-gfx] [PATCH 13/13] drm/i915: Disable pipe gamma when C8 pixel format is used

2019-01-17 Thread Matt Roper
On Fri, Jan 11, 2019 at 07:08:23PM +0200, Ville Syrjala wrote: > From: Ville Syrjälä > > Planes scanning out C8 will want to use the legacy lut as > their palette. That means the LUT content are unikely to > be useful for gamma correction on other planes. Thus we > should disable pipe gamma for

Re: [Intel-gfx] [PATCH 12/13] drm/i915: Turn off pipe CSC when it's not needed

2019-01-17 Thread Matt Roper
On Fri, Jan 11, 2019 at 07:08:22PM +0200, Ville Syrjala wrote: > From: Ville Syrjälä > > As with pipe gamma we can avoid the potential precision loss from > the pipe csc unit when there is no need to use it. And again > we need the same logic for updating the planes. > > Signed-off-by: Ville

Re: [Intel-gfx] [PATCH 11/13] drm/i915: Turn off pipe gamma when it's not needed.

2019-01-17 Thread Ville Syrjälä
On Thu, Jan 17, 2019 at 10:40:23AM -0800, Matt Roper wrote: > On Fri, Jan 11, 2019 at 07:08:21PM +0200, Ville Syrjala wrote: > > From: Ville Syrjälä > > > > The pipe internal precision is higher than what we currently program to > > the degamma/gamma LUTs. We can get a higher quality image by

Re: [Intel-gfx] [PATCH 11/13] drm/i915: Turn off pipe gamma when it's not needed.

2019-01-17 Thread Matt Roper
On Fri, Jan 11, 2019 at 07:08:21PM +0200, Ville Syrjala wrote: > From: Ville Syrjälä > > The pipe internal precision is higher than what we currently program to > the degamma/gamma LUTs. We can get a higher quality image by bypassing > the LUTs when they're not needed. Let's do that. > > Each

Re: [Intel-gfx] [PATCH 5/8] drm/i915/guc: Disable global reset

2019-01-17 Thread Daniele Ceraolo Spurio
On 01/17/2019 06:24 AM, Mika Kuoppala wrote: Chris Wilson writes: 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

Re: [Intel-gfx] [PATCH 4/4] drm/i915/psr: Add HBR3 support

2019-01-17 Thread Manasi Navare
On Wed, Jan 16, 2019 at 03:43:20PM -0800, José Roberto de Souza wrote: > If the sink and source supports HBR3, TP4 should be used as link > training pattern. > For PSR2 there is no register to set and enable TP4 but according to > eDP spec TP3 is still a training pattern acceptable for HBR3

Re: [Intel-gfx] [PATCH 09/23] drm/i915: Use b->irq_enable() as predicate for mock engine

2019-01-17 Thread Tvrtko Ursulin
On 17/01/2019 16:52, Chris Wilson wrote: Quoting Tvrtko Ursulin (2019-01-17 16:44:54) On 17/01/2019 14:34, Chris Wilson wrote: Since commit d4ccceb05591 ("drm/i915/icl: Ringbuffer interrupt handling") we have required a mechanism to avoid touching the interrupt hardware for breadcrumbs,

Re: [Intel-gfx] [PATCH 13/23] drm/i915: Move list of timelines under its own lock

2019-01-17 Thread Tvrtko Ursulin
On 17/01/2019 14:34, Chris Wilson wrote: 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 --- drivers/gpu/drm/i915/i915_drv.h

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

2019-01-17 Thread Sam Ravnborg
On Thu, Jan 17, 2019 at 05:45:41PM +0100, Daniel Vetter wrote: > On Wed, Jan 16, 2019 at 07:10:18PM +0100, Sam Ravnborg wrote: > > Hi Daniel. > > > > > v5: Actually try to sort them, and while at it, sort all the ones I > > > touch. > > > > Applied this variant on top of drm-misc and did a build

Re: [Intel-gfx] [PATCH 11/23] drm/i915/selftests: Make evict tolerant of foreign objects

2019-01-17 Thread Tvrtko Ursulin
On 17/01/2019 14:34, Chris Wilson wrote: The evict selftests presumed that all objects in use had been allocated by itself. This is a dubious claim and so instead of asserting complete control over the object lists, take (temporary) ownership of them instead. Signed-off-by: Chris Wilson ---

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Fix wakeref cookie handling in debugfs/i915_forcewake_user

2019-01-17 Thread Patchwork
== Series Details == Series: drm/i915: Fix wakeref cookie handling in debugfs/i915_forcewake_user URL : https://patchwork.freedesktop.org/series/55366/ State : success == Summary == CI Bug Log - changes from CI_DRM_5440 -> Patchwork_11971

Re: [Intel-gfx] [PATCH 09/23] drm/i915: Use b->irq_enable() as predicate for mock engine

2019-01-17 Thread Chris Wilson
Quoting Tvrtko Ursulin (2019-01-17 16:44:54) > > On 17/01/2019 14:34, Chris Wilson wrote: > > Since commit d4ccceb05591 ("drm/i915/icl: Ringbuffer interrupt handling") > > we have required a mechanism to avoid touching the interrupt hardware > > for breadcrumbs, superseding our mock interface

Re: [Intel-gfx] [PATCH 08/23] drm/i915: Move vma lookup to its own lock

2019-01-17 Thread Tvrtko Ursulin
On 17/01/2019 16:36, Chris Wilson wrote: Quoting Chris Wilson (2019-01-17 16:31:27) Quoting Tvrtko Ursulin (2019-01-17 16:27:04) On 17/01/2019 14:34, Chris Wilson wrote: Remove the struct_mutex requirement for looking up the vma for an object. Another patch with missing change log.

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

2019-01-17 Thread Daniel Vetter
On Wed, Jan 16, 2019 at 07:10:18PM +0100, Sam Ravnborg wrote: > Hi Daniel. > > > v5: Actually try to sort them, and while at it, sort all the ones I > > touch. > > Applied this variant on top of drm-misc and did a build test. > Looked good for ia64, x86 and alpha. > > Took a closer look at the

Re: [Intel-gfx] [PATCH 08/23] drm/i915: Move vma lookup to its own lock

2019-01-17 Thread Chris Wilson
Quoting Tvrtko Ursulin (2019-01-17 16:27:04) > > On 17/01/2019 14:34, Chris Wilson wrote: > > Remove the struct_mutex requirement for looking up the vma for an > > object. > > Another patch with missing change log. > > I see that you at least fixed the tree typo since the round I last >

Re: [Intel-gfx] [PATCH 09/23] drm/i915: Use b->irq_enable() as predicate for mock engine

2019-01-17 Thread Tvrtko Ursulin
On 17/01/2019 14:34, Chris Wilson wrote: Since commit d4ccceb05591 ("drm/i915/icl: Ringbuffer interrupt handling") we have required a mechanism to avoid touching the interrupt hardware for breadcrumbs, superseding our mock interface for selftests. References: d4ccceb05591 ("drm/i915/icl:

Re: [Intel-gfx] [PATCH 08/23] drm/i915: Move vma lookup to its own lock

2019-01-17 Thread Chris Wilson
Quoting Chris Wilson (2019-01-17 16:31:27) > Quoting Tvrtko Ursulin (2019-01-17 16:27:04) > > > > On 17/01/2019 14:34, Chris Wilson wrote: > > > Remove the struct_mutex requirement for looking up the vma for an > > > object. > > > > Another patch with missing change log. > > There was no

Re: [Intel-gfx] [PATCH 02/13] drm/i915: Split the gamma/csc enable bits from the plane_ctl() function

2019-01-17 Thread Ville Syrjälä
On Wed, Jan 16, 2019 at 05:11:26PM +, Shankar, Uma wrote: > > > >-Original Message- > >From: Intel-gfx [mailto:intel-gfx-boun...@lists.freedesktop.org] On Behalf Of > >Ville Syrjälä > >Sent: Tuesday, January 15, 2019 12:42 AM > >To: Roper, Matthew D > >Cc:

Re: [Intel-gfx] [PATCH 08/23] drm/i915: Move vma lookup to its own lock

2019-01-17 Thread Chris Wilson
Quoting Tvrtko Ursulin (2019-01-17 16:27:04) > > On 17/01/2019 14:34, Chris Wilson wrote: > > Remove the struct_mutex requirement for looking up the vma for an > > object. > > Another patch with missing change log. There was no functional change. > I see that you at least fixed the tree typo

Re: [Intel-gfx] [PATCH v2] drm/i915: Try to sanitize bogus DPLL state left over by broken SNB BIOSen

2019-01-17 Thread Sasha Levin
Hi, [This is an automated email] This commit has been processed because it contains a "Fixes:" tag, fixing commit: 516a49cc1946 drm/i915: Fix assert_plane() warning on bootup with external display. The bot has tested the following trees: v4.20.2. v4.20.2: Failed to apply! Possible

Re: [Intel-gfx] [PATCH] drm/i915: Try to sanitize bogus DPLL state left over by broken SNB BIOSen

2019-01-17 Thread Sasha Levin
Hi, [This is an automated email] This commit has been processed because it contains a "Fixes:" tag, fixing commit: 516a49cc1946 drm/i915: Fix assert_plane() warning on bootup with external display. The bot has tested the following trees: v4.20.2. v4.20.2: Failed to apply! Possible

Re: [Intel-gfx] [PATCH 08/23] drm/i915: Move vma lookup to its own lock

2019-01-17 Thread Tvrtko Ursulin
On 17/01/2019 14:34, Chris Wilson wrote: Remove the struct_mutex requirement for looking up the vma for an object. Another patch with missing change log. I see that you at least fixed the tree typo since the round I last reviewed. But I also had some other questions which I did not see you

Re: [Intel-gfx] [PATCH 32/46] drm/i915: Pull VM lists under the VM mutex.

2019-01-17 Thread Tvrtko Ursulin
On 16/01/2019 17:01, Chris Wilson wrote: Quoting Tvrtko Ursulin (2019-01-16 16:47:43) On 07/01/2019 11:54, Chris Wilson wrote: @@ -1530,20 +1531,21 @@ i915_gem_pwrite_ioctl(struct drm_device *dev, void *data, static void i915_gem_object_bump_inactive_ggtt(struct drm_i915_gem_object

[Intel-gfx] ✗ Fi.CI.IGT: failure for series starting with [1/4] drm/i915/vbt: Add 'tp4' to varibles holding TP2/3/4 PSR wakeup time

2019-01-17 Thread Patchwork
== Series Details == Series: series starting with [1/4] drm/i915/vbt: Add 'tp4' to varibles holding TP2/3/4 PSR wakeup time URL : https://patchwork.freedesktop.org/series/55340/ State : failure == Summary == CI Bug Log - changes from CI_DRM_5439_full -> Patchwork_11968_full

Re: [Intel-gfx] [PATCH v2 3/3] drm/i915/icl: Work around broken VBTs for port F detection

2019-01-17 Thread Imre Deak
Hi, On Wed, Jan 16, 2019 at 05:33:19PM -0800, Dhinakaran Pandiyan wrote: > On Thu, 2018-12-20 at 17:52 +0200, Imre Deak wrote: > > VBT may include incorrect information about the presence of port F. > > Work > > around this on SKUs where we know the port is not present. > > If we cannot trust

[Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [01/23] drm/i915: Make all GPU resets atomic

2019-01-17 Thread Patchwork
== Series Details == Series: series starting with [01/23] drm/i915: Make all GPU resets atomic URL : https://patchwork.freedesktop.org/series/55365/ State : success == Summary == CI Bug Log - changes from CI_DRM_5440 -> Patchwork_11970

Re: [Intel-gfx] [PATCH] drm/i915: Limit the for_each_set_bit() to the valid range

2019-01-17 Thread Chris Wilson
Quoting Ville Syrjälä (2019-01-17 15:07:53) > On Wed, Jan 16, 2019 at 03:54:21PM +, Chris Wilson wrote: > > Let static analyzers (smatch) know that we are not going to wander off > > the end of the array by providing a tight upper bound: > > > > drivers/gpu/drm/i915/intel_display.c:9532

Re: [Intel-gfx] [PATCH] drm/i915: Limit the for_each_set_bit() to the valid range

2019-01-17 Thread Ville Syrjälä
On Wed, Jan 16, 2019 at 03:54:21PM +, Chris Wilson wrote: > Let static analyzers (smatch) know that we are not going to wander off > the end of the array by providing a tight upper bound: > > drivers/gpu/drm/i915/intel_display.c:9532 hsw_get_transcoder_state() error: > buffer overflow

[Intel-gfx] ✗ Fi.CI.SPARSE: warning for series starting with [01/23] drm/i915: Make all GPU resets atomic

2019-01-17 Thread Patchwork
== Series Details == Series: series starting with [01/23] drm/i915: Make all GPU resets atomic URL : https://patchwork.freedesktop.org/series/55365/ State : warning == Summary == $ dim sparse origin/drm-tip Sparse version: v0.5.2 Commit: drm/i915: Make all GPU resets atomic Okay! Commit:

Re: [Intel-gfx] [PATCH 07/13] drm/i915: Move LUT programming to happen after vblank waits

2019-01-17 Thread Ville Syrjälä
On Wed, Jan 16, 2019 at 09:38:59AM -0800, Matt Roper wrote: > On Fri, Jan 11, 2019 at 07:08:17PM +0200, Ville Syrjala wrote: > > From: Ville Syrjälä > > > > The LUTs are single buffered so we should program them after > > the double buffered pipe updates have been latched by the > > hardware. >

Re: [Intel-gfx] [PATCH 09/13] drm/i915: Track pipe gamma enable/disable in crtc state

2019-01-17 Thread Ville Syrjälä
On Thu, Jan 17, 2019 at 05:14:06AM +, Shankar, Uma wrote: > > > >-Original Message- > >From: Roper, Matthew D > >Sent: Thursday, January 17, 2019 1:07 AM > >To: Ville Syrjala > >Cc: intel-gfx@lists.freedesktop.org; Shankar, Uma > >Subject: Re: [PATCH 09/13] drm/i915: Track pipe

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [01/23] drm/i915: Make all GPU resets atomic

2019-01-17 Thread Patchwork
== Series Details == Series: series starting with [01/23] drm/i915: Make all GPU resets atomic URL : https://patchwork.freedesktop.org/series/55365/ State : warning == Summary == $ dim checkpatch origin/drm-tip cc34d0c113bf drm/i915: Make all GPU resets atomic -:23: CHECK:USLEEP_RANGE:

Re: [Intel-gfx] [PATCH] drm/i915: Fix wakeref cookie handling in debugfs/i915_forcewake_user

2019-01-17 Thread Chris Wilson
Quoting Tvrtko Ursulin (2019-01-17 14:48:31) > From: Tvrtko Ursulin > > To avoid a false positive of a leaked wakeref, we can store the cookie > in file->private_data and use it in intel_runtime_pm_put. > > Signed-off-by: Tvrtko Ursulin > Cc: Chris Wilson > --- >

[Intel-gfx] [PATCH] drm/i915: Fix wakeref cookie handling in debugfs/i915_forcewake_user

2019-01-17 Thread Tvrtko Ursulin
From: Tvrtko Ursulin To avoid a false positive of a leaked wakeref, we can store the cookie in file->private_data and use it in intel_runtime_pm_put. Signed-off-by: Tvrtko Ursulin Cc: Chris Wilson --- drivers/gpu/drm/i915/i915_debugfs.c | 5 +++-- 1 file changed, 3 insertions(+), 2

Re: [Intel-gfx] Swapping a single global interrupt handler for a herd

2019-01-17 Thread Chris Wilson
I wrote something here like... Just the early part of the series with the HWSP allocation changes suggested by John. Tvrtko I haven't applied your mutex feedback yet. -Chris ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org

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

2019-01-17 Thread Chris Wilson
Remove the struct_mutex requirement for looking up the vma for an object. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/i915_debugfs.c | 6 +-- drivers/gpu/drm/i915/i915_gem.c | 33 +++-- drivers/gpu/drm/i915/i915_gem_object.h| 45 ++---

[Intel-gfx] [PATCH 01/23] drm/i915: Make all GPU resets atomic

2019-01-17 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] [PATCH 16/23] drm/i915: Allocate a status page for each timeline

2019-01-17 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 13/23] drm/i915: Move list of timelines under its own lock

2019-01-17 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 --- drivers/gpu/drm/i915/i915_drv.h | 5 +-

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

2019-01-17 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 02/23] drm/i915/guc: Disable global reset

2019-01-17 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 11/23] drm/i915/selftests: Make evict tolerant of foreign objects

2019-01-17 Thread Chris Wilson
The evict selftests presumed that all objects in use had been allocated by itself. This is a dubious claim and so instead of asserting complete control over the object lists, take (temporary) ownership of them instead. Signed-off-by: Chris Wilson --- .../gpu/drm/i915/selftests/i915_gem_evict.c

[Intel-gfx] [PATCH 15/23] drm/i915: Enlarge vma->pin_count

2019-01-17 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

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

2019-01-17 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 05/23] drm/i915: Issue engine resets onto idle engines

2019-01-17 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 09/23] drm/i915: Use b->irq_enable() as predicate for mock engine

2019-01-17 Thread Chris Wilson
Since commit d4ccceb05591 ("drm/i915/icl: Ringbuffer interrupt handling") we have required a mechanism to avoid touching the interrupt hardware for breadcrumbs, superseding our mock interface for selftests. References: d4ccceb05591 ("drm/i915/icl: Ringbuffer interrupt handling") Signed-off-by:

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

2019-01-17 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 04/23] drm/i915/selftests: Trim struct_mutex duration for set-wedged selftest

2019-01-17 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 --- drivers/gpu/drm/i915/selftests/intel_hangcheck.c | 6 +++--- 1 file changed, 3

[Intel-gfx] [PATCH 10/23] drm/i915/selftests: Allocate mock ring/timeline per context

2019-01-17 Thread Chris Wilson
To correctly simulate preemption between contexts, we need independent timelines along each context. Make it so. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/selftests/mock_engine.c | 90 ++-- 1 file changed, 47 insertions(+), 43 deletions(-) diff --git

[Intel-gfx] [PATCH 18/23] drm/i915: Keep all partially allocated HWSP on a freelist

2019-01-17 Thread Chris Wilson
Keep track of partially allocated pages for use in allocating future timeline HWSP. This is still without migration, so it is possible for the system to end up with each timeline in its own page, but we ensure that no new allocation would needless allocate a fresh page! Signed-off-by: Chris

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

2019-01-17 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 22/23] drm/i915: Replace global breadcrumbs with per-context interrupt tracking

2019-01-17 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 23/23] drm/i915: Drop fake breadcrumb irq

2019-01-17 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 20/23] drm/i915: Identify active requests

2019-01-17 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 21/23] drm/i915: Remove the intel_engine_notify tracepoint

2019-01-17 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 14/23] drm/i915: Introduce concept of per-timeline (context) HWSP

2019-01-17 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 17/23] drm/i915: Share per-timeline HWSP using a slab suballocator

2019-01-17 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] Swapping a single global interrupt handler for a herd

2019-01-17 Thread Chris Wilson
___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

2019-01-17 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

Re: [Intel-gfx] [PATCH 5/8] drm/i915/guc: Disable global reset

2019-01-17 Thread Mika Kuoppala
Chris Wilson writes: > 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

  1   2   >