Re: [Intel-gfx] [PATCH] drm/i915: add Wa_14010594013: icl,ehl

2020-01-10 Thread Anshuamn Gupta
On 2020-01-10 at 03:51:49 -0500, Matt Atwood wrote: > The bspec tells us we need to set this bit to avoid potential underruns. > > Bspec: 33450 > Bspec: 33451 > Bspec: 33452 It would be nice to add index 7386 which is having the bit for PMRSP. > > Signed-off-by: Matt Atwood > --- > drivers/gpu/

[Intel-gfx] [PATCH 00/23] drm: Clean up VBLANK callbacks in struct drm_driver

2020-01-10 Thread Thomas Zimmermann
VBLANK handlers in struct drm_driver are deprecated. Only legacy, non-KMS drivers are supposed to used them. DRM drivers with kernel modesetting are supposed to use VBLANK callbacks of the CRTC infrastructure. This patchset converts all DRM drivers to CRTC VBLANK callbacks and cleans up struct drm

[Intel-gfx] [PATCH 01/23] drm: Add get_scanout_position() to struct drm_crtc_helper_funcs

2020-01-10 Thread Thomas Zimmermann
The new callback get_scanout_position() reads the current location of the scanout process. The operation is currentyl located in struct drm_driver, but really belongs to the CRTC. Drivers will be converted in separate patches. Signed-off-by: Thomas Zimmermann --- drivers/gpu/drm/drm_vblank.c

[Intel-gfx] [PATCH 08/23] drm/stm: Convert to struct drm_crtc_helper_funcs.get_scanout_position()

2020-01-10 Thread Thomas Zimmermann
The callback struct drm_driver.get_scanout_position() is deprecated in favor of struct drm_crtc_helper_funcs.get_scanout_position(). Convert stm over. Signed-off-by: Thomas Zimmermann --- drivers/gpu/drm/stm/drv.c | 1 - drivers/gpu/drm/stm/ltdc.c | 65 -- d

[Intel-gfx] [PATCH 11/23] drm: Add get_vblank_timestamp() to struct drm_crtc_funcs

2020-01-10 Thread Thomas Zimmermann
The callback get_vblank_timestamp() is currently located in struct drm_driver, but really belongs into struct drm_crtc_funcs. Add an equivalent there. Driver will be converted in separate patches. The default implementation is drm_calc_vbltimestamp_from_scanoutpos(). The patch adds drm_crtc_calc_v

[Intel-gfx] [PATCH 06/23] drm/msm: Convert to struct drm_crtc_helper_funcs.get_scanout_position()

2020-01-10 Thread Thomas Zimmermann
The callback struct drm_driver.get_scanout_position() is deprecated in favor of struct drm_crtc_helper_funcs.get_scanout_position(). Convert mem over. Signed-off-by: Thomas Zimmermann --- drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c | 67 +++ drivers/gpu/drm/msm/disp/mdp5/mdp5_k

[Intel-gfx] [PATCH 03/23] drm/i915: Don't use struct drm_driver.get_scanout_position()

2020-01-10 Thread Thomas Zimmermann
The callback struct drm_driver.get_scanout_position() is deprecated in favor of struct drm_crtc_helper_funcs.get_scanout_position(). i915 doesn't use CRTC helpers. The patch duplicates the caller drm_calc_vbltimestamp_from_scanoutpos() for i915, such that the callback function is not needed. Sign

[Intel-gfx] [PATCH 10/23] drm: Evaluate struct drm_device.vblank_disable_immediate on each use

2020-01-10 Thread Thomas Zimmermann
VBLANK interrupts can be disabled immediately or with a delay, where the latter is the default. The former option can be selected by setting get_vblank_timestamp, and enabling vblank_disable_immediate in struct drm_device. The setup is only evaluated once when DRM initializes VBLANKs. Evaluating t

[Intel-gfx] [PATCH 04/23] drm/nouveau: Convert to struct drm_crtc_helper_funcs.get_scanout_position()

2020-01-10 Thread Thomas Zimmermann
The callback struct drm_driver.get_scanout_position() is deprecated in favor of struct drm_crtc_helper_funcs.get_scanout_position(). Convert nouveau over. Signed-off-by: Thomas Zimmermann --- drivers/gpu/drm/nouveau/dispnv04/crtc.c | 1 + drivers/gpu/drm/nouveau/dispnv50/head.c | 1 + driv

[Intel-gfx] [PATCH 21/23] drm/vkms: Convert to CRTC VBLANK callbacks

2020-01-10 Thread Thomas Zimmermann
VBLANK callbacks in struct drm_driver are deprecated in favor of their equivalents in struct drm_crtc_funcs. Convert vkms over. Signed-off-by: Thomas Zimmermann --- drivers/gpu/drm/vkms/vkms_crtc.c | 9 ++--- drivers/gpu/drm/vkms/vkms_drv.c | 1 - drivers/gpu/drm/vkms/vkms_drv.h | 4

[Intel-gfx] [PATCH 09/23] drm: Remove struct drm_driver.get_scanout_position()

2020-01-10 Thread Thomas Zimmermann
All users of struct drm_driver.get_scanout_position() have been covnerted to the respective CRTC helper function. Remove the callback from struct drm_driver. Signed-off-by: Thomas Zimmermann --- drivers/gpu/drm/drm_vblank.c | 13 ++--- include/drm/drm_drv.h| 52 --

[Intel-gfx] [PATCH 12/23] drm/amdgpu: Convert to CRTC VBLANK callbacks

2020-01-10 Thread Thomas Zimmermann
VBLANK callbacks in struct drm_driver are deprecated in favor of their equivalents in struct drm_crtc_funcs. Convert amdgpu over. Signed-off-by: Thomas Zimmermann --- drivers/gpu/drm/amd/amdgpu/amdgpu.h | 3 +++ drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 4 drivers/gpu/drm/

[Intel-gfx] [PATCH 14/23] drm/i915: Convert to CRTC VBLANK callbacks

2020-01-10 Thread Thomas Zimmermann
VBLANK callbacks in struct drm_driver are deprecated in favor of their equivalents in struct drm_crtc_funcs. Convert i915 over. Signed-off-by: Thomas Zimmermann --- drivers/gpu/drm/i915/display/intel_display.c | 7 +++ drivers/gpu/drm/i915/i915_drv.c | 2 -- drivers/gpu/drm/i9

[Intel-gfx] [PATCH 23/23] drm: Cleanup VBLANK callbacks in struct drm_driver

2020-01-10 Thread Thomas Zimmermann
All non-legacy users of VBLANK functions in struct drm_driver have been converted to use the respective interfaces in struct drm_crtc_funcs. The remaining users of VBLANK callbacks in struct drm_driver are legacy drivers with userspace modesetting. There are no users left of get_vblank_timestamp()

[Intel-gfx] [PATCH 13/23] drm/gma500: Convert to CRTC VBLANK callbacks

2020-01-10 Thread Thomas Zimmermann
VBLANK callbacks in struct drm_driver are deprecated in favor of their equivalents in struct drm_crtc_funcs. Convert gma500 over. Signed-off-by: Thomas Zimmermann --- drivers/gpu/drm/gma500/cdv_intel_display.c | 3 +++ drivers/gpu/drm/gma500/psb_drv.c | 4 drivers/gpu/drm/gma500

[Intel-gfx] [PATCH 16/23] drm/nouveau: Convert to CRTC VBLANK callbacks

2020-01-10 Thread Thomas Zimmermann
VBLANK callbacks in struct drm_driver are deprecated in favor of their equivalents in struct drm_crtc_funcs. Convert nouvean over. Signed-off-by: Thomas Zimmermann --- drivers/gpu/drm/nouveau/dispnv04/crtc.c | 3 +++ drivers/gpu/drm/nouveau/dispnv50/head.c | 4 drivers/gpu/drm/nouveau

[Intel-gfx] [PATCH 19/23] drm/stm: Convert to CRTC VBLANK callbacks

2020-01-10 Thread Thomas Zimmermann
VBLANK callbacks in struct drm_driver are deprecated in favor of their equivalents in struct drm_crtc_funcs. Convert stm over. Signed-off-by: Thomas Zimmermann --- drivers/gpu/drm/stm/drv.c | 1 - drivers/gpu/drm/stm/ltdc.c | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/dri

[Intel-gfx] [PATCH 07/23] drm/vc4: Convert to struct drm_crtc_helper_funcs.get_scanout_position()

2020-01-10 Thread Thomas Zimmermann
The callback struct drm_driver.get_scanout_position() is deprecated in favor of struct drm_crtc_helper_funcs.get_scanout_position(). Convert vc4 over. Signed-off-by: Thomas Zimmermann --- drivers/gpu/drm/vc4/vc4_crtc.c | 12 +++- drivers/gpu/drm/vc4/vc4_drv.c | 1 - drivers/gpu/drm/vc4

[Intel-gfx] [PATCH 17/23] drm/radeon: Convert to CRTC VBLANK callbacks

2020-01-10 Thread Thomas Zimmermann
VBLANK callbacks in struct drm_driver are deprecated in favor of their equivalents in struct drm_crtc_funcs. Convert radeon over. Signed-off-by: Thomas Zimmermann --- drivers/gpu/drm/radeon/radeon_display.c | 12 -- drivers/gpu/drm/radeon/radeon_drv.c | 7 -- drivers/gpu/drm/rad

[Intel-gfx] [PATCH 05/23] drm/radeon: Convert to struct drm_crtc_helper_funcs.get_scanout_position()

2020-01-10 Thread Thomas Zimmermann
The callback struct drm_driver.get_scanout_position() is deprecated in favor of struct drm_crtc_helper_funcs.get_scanout_position(). Convert radeon over. Signed-off-by: Thomas Zimmermann --- drivers/gpu/drm/radeon/atombios_crtc.c | 1 + drivers/gpu/drm/radeon/radeon_display.c | 13

[Intel-gfx] [PATCH 02/23] drm/amdgpu: Convert to struct drm_crtc_helper_funcs.get_scanout_position()

2020-01-10 Thread Thomas Zimmermann
The callback struct drm_driver.get_scanout_position() is deprecated in favor of struct drm_crtc_helper_funcs.get_scanout_position(). Convert amdgpu over. Signed-off-by: Thomas Zimmermann --- drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 12 drivers/gpu/drm/amd/amdgpu/amdgpu_dr

[Intel-gfx] [PATCH 15/23] drm/msm: Convert to CRTC VBLANK callbacks

2020-01-10 Thread Thomas Zimmermann
VBLANK callbacks in struct drm_driver are deprecated in favor of their equivalents in struct drm_crtc_funcs. Convert msm over. Signed-off-by: Thomas Zimmermann --- drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 2 ++ drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c | 2 ++ drivers/gpu/drm/msm/disp/mdp5/

[Intel-gfx] [PATCH 18/23] drm/sti: Convert to CRTC VBLANK callbacks

2020-01-10 Thread Thomas Zimmermann
VBLANK callbacks in struct drm_driver are deprecated in favor of their equivalents in struct drm_crtc_funcs. Convert sti over. Signed-off-by: Thomas Zimmermann --- drivers/gpu/drm/sti/sti_crtc.c | 11 --- drivers/gpu/drm/sti/sti_crtc.h | 2 -- drivers/gpu/drm/sti/sti_drv.c | 3 --- 3

[Intel-gfx] [PATCH 20/23] drm/vc4: Convert to CRTC VBLANK callbacks

2020-01-10 Thread Thomas Zimmermann
VBLANK callbacks in struct drm_driver are deprecated in favor of their equivalents in struct drm_crtc_funcs. Convert vc4 over. Signed-off-by: Thomas Zimmermann --- drivers/gpu/drm/vc4/vc4_crtc.c | 1 + drivers/gpu/drm/vc4/vc4_drv.c | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) diff -

[Intel-gfx] [PATCH 22/23] drm/vmwgfx: Convert to CRTC VBLANK callbacks

2020-01-10 Thread Thomas Zimmermann
VBLANK callbacks in struct drm_driver are deprecated in favor of their equivalents in struct drm_crtc_funcs. Convert vmwgfx over. Signed-off-by: Thomas Zimmermann --- drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 5 + drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 6 +++--- drivers/gpu/drm/vmwgfx/vmwgfx_km

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm: Clean up VBLANK callbacks in struct drm_driver

2020-01-10 Thread Patchwork
== Series Details == Series: drm: Clean up VBLANK callbacks in struct drm_driver URL : https://patchwork.freedesktop.org/series/71873/ State : warning == Summary == $ dim checkpatch origin/drm-tip 30f2cd6c8fad drm: Add get_scanout_position() to struct drm_crtc_helper_funcs -:58: CHECK:OPEN_END

[Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm: Clean up VBLANK callbacks in struct drm_driver

2020-01-10 Thread Patchwork
== Series Details == Series: drm: Clean up VBLANK callbacks in struct drm_driver URL : https://patchwork.freedesktop.org/series/71873/ State : warning == Summary == $ dim sparse origin/drm-tip Sparse version: v0.6.0 Commit: drm: Add get_scanout_position() to struct drm_crtc_helper_funcs Okay!

[Intel-gfx] ✓ Fi.CI.BAT: success for drm: Clean up VBLANK callbacks in struct drm_driver

2020-01-10 Thread Patchwork
== Series Details == Series: drm: Clean up VBLANK callbacks in struct drm_driver URL : https://patchwork.freedesktop.org/series/71873/ State : success == Summary == CI Bug Log - changes from CI_DRM_7715 -> Patchwork_16048 Summary ---

Re: [Intel-gfx] [PATCH 01/23] drm: Add get_scanout_position() to struct drm_crtc_helper_funcs

2020-01-10 Thread Jani Nikula
On Fri, 10 Jan 2020, Thomas Zimmermann wrote: > The new callback get_scanout_position() reads the current location of > the scanout process. The operation is currentyl located in struct > drm_driver, but really belongs to the CRTC. Drivers will be converted > in separate patches. > > Signed-off-by

Re: [Intel-gfx] [PATCH 11/14] drm/i915: Drop the shadow ring state from the error capture

2020-01-10 Thread Mika Kuoppala
Chris Wilson writes: > Quoting Mika Kuoppala (2020-01-09 09:04:31) >> Chris Wilson writes: >> >> > The shadow ring regs (ring->head, ring->tail) are meaningless in the >> > post-mortem dump as they do not related to anything on HW. Remove them >> > from the coredump. >> >> We have been dumping

Re: [Intel-gfx] [PATCH 12/14] drm/i915: Drop the shadow w/a batch buffer

2020-01-10 Thread Andi Shyti
Hi Chris, On Thu, Jan 09, 2020 at 08:58:37AM +, Chris Wilson wrote: > While this is technically the batch as executed by the HW (in part at > least), it is confusing, and only used for a minority of gen. > > Signed-off-by: Chris Wilson Acked-by: Andi Shyti Andi ___

[Intel-gfx] [PATCH 3/3] drm/i915/gt: Mark ring->vma as active while pinned

2020-01-10 Thread Chris Wilson
As we use the active state to keep the vma alive while we are reading its contents during GPU error capture, we need to mark the ring->vma as active during execution if we want to include the rinbuffer in the error state. Reported-by: Lionel Landwerlin Fixes: b1e3177bd1d8 ("drm/i915: Coordinate i

[Intel-gfx] [PATCH 2/3] drm/i915/gt: Mark context->state vma as active while pinned

2020-01-10 Thread Chris Wilson
As we use the active state to keep the vma alive while we are reading its contents during GPU error capture, we need to mark the context->state vma as active during execution if we want to include it in the error state. Reported-by: Lionel Landwerlin Fixes: b1e3177bd1d8 ("drm/i915: Coordinate i91

Re: [Intel-gfx] [PATCH 13/14] drm/i915: Drop request list from error state

2020-01-10 Thread Andi Shyti
Hi Chris, On Thu, Jan 09, 2020 at 08:58:38AM +, Chris Wilson wrote: > The list of requests from after the hang tells little about the hang > itself, only how busy userspace was after the fact. As it pertains > nothing to the HW state, drop it from the error state. > > Signed-off-by: Chris Wil

[Intel-gfx] [PATCH 1/3] drm/i915/gt: Skip trying to unbind in restore_ggtt_mappings

2020-01-10 Thread Chris Wilson
Currently we first to try to unbind the VMA (and lazily rebind on next use) as an optimisation during restore_ggtt_mappings. Ideally, the only objects in the GGTT upon resume are the pinned kernel objects which can't be unbound and need to be restored. As the unbind interferes with the plan to mark

[Intel-gfx] [PATCH] drm/i915/pmu: Do not use colon characters in PMU names

2020-01-10 Thread Tvrtko Ursulin
From: Tvrtko Ursulin We use PCI device path in the registered PMU name in order to distinguish between multiple GPUs. But since tools/perf reserves a special meaning to the colon character we need to transliterate them to something else. We choose a dash. Signed-off-by: Tvrtko Ursulin Reported-

Re: [Intel-gfx] [PATCH] drm/i915/pmu: Do not use colon characters in PMU names

2020-01-10 Thread Chris Wilson
Quoting Tvrtko Ursulin (2020-01-10 11:11:26) > From: Tvrtko Ursulin > > We use PCI device path in the registered PMU name in order to distinguish > between multiple GPUs. But since tools/perf reserves a special meaning to > the colon character we need to transliterate them to something else. We >

Re: [Intel-gfx] [PATCH] drm/i915/pmu: Do not use colon characters in PMU names

2020-01-10 Thread Tvrtko Ursulin
On 10/01/2020 11:21, Chris Wilson wrote: Quoting Tvrtko Ursulin (2020-01-10 11:11:26) From: Tvrtko Ursulin We use PCI device path in the registered PMU name in order to distinguish between multiple GPUs. But since tools/perf reserves a special meaning to the colon character we need to transl

Re: [Intel-gfx] [PATCH] drm/i915/pmu: Do not use colon characters in PMU names

2020-01-10 Thread Chris Wilson
Quoting Tvrtko Ursulin (2020-01-10 11:27:55) > > On 10/01/2020 11:21, Chris Wilson wrote: > > Quoting Tvrtko Ursulin (2020-01-10 11:11:26) > >> From: Tvrtko Ursulin > >> > >> We use PCI device path in the registered PMU name in order to distinguish > >> between multiple GPUs. But since tools/perf

[Intel-gfx] [PATCH v2] drm/i915/pmu: Do not use colons or dashes in PMU names

2020-01-10 Thread Tvrtko Ursulin
From: Tvrtko Ursulin We use PCI device path in the registered PMU name in order to distinguish between multiple GPUs. But since tools/perf reserves a special meaning to dash and colon characters we need to transliterate them to something else. We choose an underscore. v2: * Use strreplace. (Chr

Re: [Intel-gfx] [PATCH] drm/i915/pmu: Do not use colon characters in PMU names

2020-01-10 Thread Tvrtko Ursulin
On 10/01/2020 11:32, Chris Wilson wrote: Quoting Tvrtko Ursulin (2020-01-10 11:27:55) On 10/01/2020 11:21, Chris Wilson wrote: Quoting Tvrtko Ursulin (2020-01-10 11:11:26) From: Tvrtko Ursulin We use PCI device path in the registered PMU name in order to distinguish between multiple GPUs.

Re: [Intel-gfx] [PATCH 2/2] drm/i915: Reduce warning for i915_vma_pin_iomap() without runtime-pm

2020-01-10 Thread Mika Kuoppala
Chris Wilson writes: > Access through the GGTT (iomap) into the vma does require the device to > be awake. However, we often take the i915_vma_pin_iomap() as an early > preparatory step that is long before we use the iomap. Asserting that > the device is awake at pin time does not protect us, and

Re: [Intel-gfx] [PATCH v2 1/2] drm/connector: Split out orientation quirk detection (v2)

2020-01-10 Thread Jani Nikula
On Sun, 05 Jan 2020, Hans de Goede wrote: > From: Derek Basehore > > Not every platform needs quirk detection for panel orientation, so > split the drm_connector_init_panel_orientation_property into two > functions. One for platforms without the need for quirks, and the > other for platforms that

Re: [Intel-gfx] [PATCH v2] drm/i915/pmu: Do not use colons or dashes in PMU names

2020-01-10 Thread Chris Wilson
Quoting Tvrtko Ursulin (2020-01-10 11:32:53) > From: Tvrtko Ursulin > > We use PCI device path in the registered PMU name in order to distinguish > between multiple GPUs. But since tools/perf reserves a special meaning to > dash and colon characters we need to transliterate them to something else

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

2020-01-10 Thread Maarten Lankhorst
drm-misc-next-2020-01-10: drm-misc-next for v5.6: UAPI Changes: Cross-subsystem Changes: - Convert simple panel bindings to a template. Core Changes: - Revert drm-bridge-state changes, it causes a dependency error between drm and drm_kms_helper. - Fix when disabling crc's. - Assorted Kconfig f

[Intel-gfx] [PATCH i-g-t v3] i915/perf: Find the associated perf-type for a particular device

2020-01-10 Thread Chris Wilson
Since with multiple devices, we may have multiple different perf_pmu each with their own type, we want to find the right one for the job. The tests are run with a specific fd, from which we can extract the appropriate bus-id and find the associated perf-type. The performance monitoring tools are a

Re: [Intel-gfx] [PATCH 03/23] drm/i915: Don't use struct drm_driver.get_scanout_position()

2020-01-10 Thread Jani Nikula
On Fri, 10 Jan 2020, Thomas Zimmermann wrote: > The callback struct drm_driver.get_scanout_position() is deprecated in > favor of struct drm_crtc_helper_funcs.get_scanout_position(). > > i915 doesn't use CRTC helpers. The patch duplicates the caller > drm_calc_vbltimestamp_from_scanoutpos() for i9

Re: [Intel-gfx] [PATCH 03/23] drm/i915: Don't use struct drm_driver.get_scanout_position()

2020-01-10 Thread Thomas Zimmermann
Hi Am 10.01.20 um 12:59 schrieb Jani Nikula: > On Fri, 10 Jan 2020, Thomas Zimmermann wrote: >> The callback struct drm_driver.get_scanout_position() is deprecated in >> favor of struct drm_crtc_helper_funcs.get_scanout_position(). >> >> i915 doesn't use CRTC helpers. The patch duplicates the cal

[Intel-gfx] [CI 4/4] drm/i915: Drop request list from error state

2020-01-10 Thread Chris Wilson
The list of requests from after the hang tells little about the hang itself, only how busy userspace was after the fact. As it pertains nothing to the HW state, drop it from the error state. Signed-off-by: Chris Wilson Acked-by: Andi Shyti --- drivers/gpu/drm/i915/i915_gpu_error.c | 75 +++-

[Intel-gfx] [CI 1/4] drm/i915: Start chopping up the GPU error capture

2020-01-10 Thread Chris Wilson
In the near future, we will want to start a GPU error capture from a new context, from inside the softirq region of a forced preemption. To do so requires us to break up the monolithic error capture to provide new entry points with finer control; in particular focusing on one engine/gt, and being a

[Intel-gfx] [CI 2/4] drm/i915: Drop the shadow w/a batch buffer

2020-01-10 Thread Chris Wilson
While this is technically the batch as executed by the HW (in part at least), it is confusing, and only used for a minority of gen. Signed-off-by: Chris Wilson Reviewed-by: Mika Kuoppala Acked-by: Andi Shyti --- drivers/gpu/drm/i915/i915_gpu_error.c | 2 -- 1 file changed, 2 deletions(-) diff

[Intel-gfx] [CI 3/4] drm/i915: Drop the shadow ring state from the error capture

2020-01-10 Thread Chris Wilson
The shadow ring regs (ring->head, ring->tail) are meaningless in the post-mortem dump as they do not related to anything on HW. Remove them from the coredump. Signed-off-by: Chris Wilson Reviewed-by: Mika Kuoppala --- drivers/gpu/drm/i915/i915_gpu_error.c | 5 - drivers/gpu/drm/i915/i915_gp

[Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/3] drm/i915/gt: Skip trying to unbind in restore_ggtt_mappings

2020-01-10 Thread Patchwork
== Series Details == Series: series starting with [1/3] drm/i915/gt: Skip trying to unbind in restore_ggtt_mappings URL : https://patchwork.freedesktop.org/series/71876/ State : success == Summary == CI Bug Log - changes from CI_DRM_7716 -> Patchwork_16049

[Intel-gfx] ✓ Fi.CI.IGT: success for Add support for mipi dsi cmd mode (rev5)

2020-01-10 Thread Patchwork
== Series Details == Series: Add support for mipi dsi cmd mode (rev5) URL : https://patchwork.freedesktop.org/series/69290/ State : success == Summary == CI Bug Log - changes from CI_DRM_7712_full -> Patchwork_16037_full Summary ---

[Intel-gfx] [RFC 1/8] drm/i915: Expose list of clients in sysfs

2020-01-10 Thread Tvrtko Ursulin
From: Tvrtko Ursulin Expose a list of clients with open file handles in sysfs. This will be a basis for a top-like utility showing per-client and per- engine GPU load. Currently we only expose each client's pid and name under opaque numbered directories in /sys/class/drm/card0/clients/. For in

[Intel-gfx] [RFC 8/8] drm/i915: Fallback to hw context runtime when sw tracking is not available

2020-01-10 Thread Tvrtko Ursulin
From: Tvrtko Ursulin In GuC mode we are not receiving the context switch interrupts to be able to accurately track context runtimes. We can fallback to using PPHWSP counter updated by the GPU on context save. QQQ Downsides are: 1) we do not see currently executing batch and 2) with a 12MHz comm

[Intel-gfx] [RFC 0/8] Per client engine busyness

2020-01-10 Thread Tvrtko Ursulin
From: Tvrtko Ursulin Another re-spin of the per-client engine busyness series. Highlights from this version: * Two patches added on top of the series to provide the data in GuC mode. (For warnings and limitations please read the respective commit messages.) * Refactor to introduce a notion

[Intel-gfx] [RFC 5/8] drm/i915: Contexts can use struct pid stored in the client

2020-01-10 Thread Tvrtko Ursulin
From: Tvrtko Ursulin Now that contexts keep their parent client reference counted, we can remove separate struct pid reference owned by contexts in favour of the one already held by the client. Signed-off-by: Tvrtko Ursulin --- drivers/gpu/drm/i915/gem/i915_gem_context.c | 13 ---

[Intel-gfx] [RFC 7/8] drm/i915: Track hw reported context runtime

2020-01-10 Thread Tvrtko Ursulin
From: Tvrtko Ursulin GPU saves accumulated context runtime (in CS timestamp units) in PPHWSP which will be useful for us in cases when we are not able to track context busyness ourselves (like with GuC). Keep a copy of this in struct intel_context from where it can be easily read even if the cont

[Intel-gfx] [RFC 4/8] drm/i915: Track all user contexts per client

2020-01-10 Thread Tvrtko Ursulin
From: Tvrtko Ursulin We soon want to start answering questions like how much GPU time is the context belonging to a client which exited still using. To enable this we start tracking all context belonging to a client on a separate list, plus we make contexts take a reference on their clients file

[Intel-gfx] [RFC 2/8] drm/i915: Update client name on context create

2020-01-10 Thread Tvrtko Ursulin
From: Tvrtko Ursulin Some clients have the DRM fd passed to them over a socket by the X server. Grab the real client and pid when they create their first context and update the exposed data for more useful enumeration. v2: * Do not leak the pid reference and borrow context idr_lock. (Chris) v

[Intel-gfx] [RFC 6/8] drm/i915: Expose per-engine client busyness

2020-01-10 Thread Tvrtko Ursulin
From: Tvrtko Ursulin Expose per-client and per-engine busyness under the previously added sysfs client root. The new files are one per-engine instance and located under the 'busy' directory. Each contains a monotonically increasing nano-second resolution times each client's jobs were executing o

[Intel-gfx] [RFC 3/8] drm/i915: Track per-context engine busyness

2020-01-10 Thread Tvrtko Ursulin
From: Tvrtko Ursulin Some customers want to know how much of the GPU time are their clients using in order to make dynamic load balancing decisions. With the hooks already in place which track the overall engine busyness, we can extend that slightly to split that time between contexts. v2: Fix

Re: [Intel-gfx] [PATCH] drm/i915/dp: Add current maximum eDP link rate to sink_rate array.

2020-01-10 Thread Ville Syrjälä
On Thu, Jan 09, 2020 at 09:19:07PM +0100, Mario Kleiner wrote: > On Thu, Jan 9, 2020 at 7:24 PM Ville Syrjälä > wrote: > > > On Thu, Jan 09, 2020 at 06:57:14PM +0100, Mario Kleiner wrote: > > > On Thu, Jan 9, 2020 at 5:47 PM Ville Syrjälä < > > ville.syrj...@linux.intel.com> > > > wrote: > > > >

Re: [Intel-gfx] [RFC 1/8] drm/i915: Expose list of clients in sysfs

2020-01-10 Thread Chris Wilson
Quoting Tvrtko Ursulin (2020-01-10 13:30:42) > +static ssize_t > +show_client_name(struct device *kdev, struct device_attribute *attr, char > *buf) > +{ > + struct i915_drm_client *client = > + container_of(attr, typeof(*client), attr.name); > + > + return snprintf(buf, P

Re: [Intel-gfx] [PATCH 18/23] drm/sti: Convert to CRTC VBLANK callbacks

2020-01-10 Thread Benjamin Gaignard
Le ven. 10 janv. 2020 à 10:21, Thomas Zimmermann a écrit : > > VBLANK callbacks in struct drm_driver are deprecated in favor of > their equivalents in struct drm_crtc_funcs. Convert sti over. > Hi Thomas, Since you remove the last calls to sti_crtc functions from sti_drv.c I think that the inclu

Re: [Intel-gfx] [RFC 2/8] drm/i915: Update client name on context create

2020-01-10 Thread Chris Wilson
Quoting Tvrtko Ursulin (2020-01-10 13:30:43) > From: Tvrtko Ursulin > > Some clients have the DRM fd passed to them over a socket by the X server. > > Grab the real client and pid when they create their first context and > update the exposed data for more useful enumeration. > > v2: > * Do not

Re: [Intel-gfx] [RFC 5/8] drm/i915: Contexts can use struct pid stored in the client

2020-01-10 Thread Chris Wilson
Quoting Tvrtko Ursulin (2020-01-10 13:30:46) > From: Tvrtko Ursulin > > Now that contexts keep their parent client reference counted, we can > remove separate struct pid reference owned by contexts in favour of the > one already held by the client. > > Signed-off-by: Tvrtko Ursulin > --- > dri

Re: [Intel-gfx] [PATCH v4 2/7] drm: always determine branch device with drm_dp_is_branch()

2020-01-10 Thread Jani Nikula
On Thu, 29 Aug 2019, Oleg Vasilev wrote: > The helper should always be used. > > Reviewed-by: Emil Velikov > Signed-off-by: Oleg Vasilev > Cc: Ville Syrjälä > Cc: intel-gfx@lists.freedesktop.org Pushed patches 1-2 to drm-misc-next, thanks for the patches and review. BR, Jani. > --- > drive

Re: [Intel-gfx] [RFC 3/8] drm/i915: Track per-context engine busyness

2020-01-10 Thread Chris Wilson
Quoting Tvrtko Ursulin (2020-01-10 13:30:44) > #endif /* __INTEL_CONTEXT_TYPES__ */ > diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c > b/drivers/gpu/drm/i915/gt/intel_engine_cs.c > index 825c94e7ca0b..9a346c060469 100644 > --- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c > +++ b/drivers/gp

Re: [Intel-gfx] [PATCH 03/23] drm/i915: Don't use struct drm_driver.get_scanout_position()

2020-01-10 Thread Jani Nikula
On Fri, 10 Jan 2020, Thomas Zimmermann wrote: > Hi > > Am 10.01.20 um 12:59 schrieb Jani Nikula: >> On Fri, 10 Jan 2020, Thomas Zimmermann wrote: >>> The callback struct drm_driver.get_scanout_position() is deprecated in >>> favor of struct drm_crtc_helper_funcs.get_scanout_position(). >>> >>> i9

[Intel-gfx] [PATCH v3] drm/i915/hdcp: update HDCP CP property as per port authentication state

2020-01-10 Thread Anshuman Gupta
When port is disabled due to modeset crtc disable sequence or DPMS off, it eventually disables the HDCP encryption keeping its content protection property to CP_ENABLED. Since content protection property left at CP_ENABLED by mistake, HDCP authentication is not attempted at next DDI enable sequence

Re: [Intel-gfx] [RFC 6/8] drm/i915: Expose per-engine client busyness

2020-01-10 Thread Chris Wilson
Quoting Tvrtko Ursulin (2020-01-10 13:30:47) > +static ssize_t > +show_client_busy(struct device *kdev, struct device_attribute *attr, char > *buf) > +{ > + struct i915_engine_busy_attribute *i915_attr = > + container_of(attr, typeof(*i915_attr), attr); > + struct list_he

Re: [Intel-gfx] [RFC 7/8] drm/i915: Track hw reported context runtime

2020-01-10 Thread Chris Wilson
Quoting Tvrtko Ursulin (2020-01-10 13:30:48) > From: Tvrtko Ursulin > > GPU saves accumulated context runtime (in CS timestamp units) in PPHWSP > which will be useful for us in cases when we are not able to track context > busyness ourselves (like with GuC). Keep a copy of this in struct > intel_

Re: [Intel-gfx] [RFC 6/8] drm/i915: Expose per-engine client busyness

2020-01-10 Thread Tvrtko Ursulin
On 10/01/2020 13:58, Chris Wilson wrote: Quoting Tvrtko Ursulin (2020-01-10 13:30:47) +static ssize_t +show_client_busy(struct device *kdev, struct device_attribute *attr, char *buf) +{ + struct i915_engine_busy_attribute *i915_attr = + container_of(attr, typeof(*i915_attr)

Re: [Intel-gfx] [RFC 6/8] drm/i915: Expose per-engine client busyness

2020-01-10 Thread Chris Wilson
Quoting Tvrtko Ursulin (2020-01-10 14:09:09) > > On 10/01/2020 13:58, Chris Wilson wrote: > > Quoting Tvrtko Ursulin (2020-01-10 13:30:47) > >> +static ssize_t > >> +show_client_busy(struct device *kdev, struct device_attribute *attr, char > >> *buf) > >> +{ > >> + struct i915_engine_busy_a

Re: [Intel-gfx] [PATCH 0/5] drm/i915: conversion to new drm logging macros.

2020-01-10 Thread Jani Nikula
On Tue, 07 Jan 2020, Wambui Karuga wrote: > This series begins the conversion to using the new struct drm_device > based logging macros in drm/i915. > > Wambui Karuga (5): > drm/i915: convert to using the drm_dbg_kms() macro. > drm/i915: use new struct drm_device logging macros. > drm/i915:

Re: [Intel-gfx] [PATCH 03/14] drm/i915/gt: runtime-pm is no longer required for ce->ops->pin()

2020-01-10 Thread Mika Kuoppala
Chris Wilson writes: > Now that we have moved the runtime-pm management out of > intel_context_acctive_acquire, and that itself out of ce->ops->pin(), > no s/acctive/active > explicit runtime pm wakeref is required in intel_context_pin(). > > Signed-off-by: Chris Wilson Reviewed-by: Mika Kuop

[Intel-gfx] [PATCH] drm/i915/gt: Hold rpm wakeref before taking ggtt->vm.mutex

2020-01-10 Thread Chris Wilson
We need to hold the runtime-pm wakeref to update the global PTEs (as they exist behind a PCI BAR). However, some systems invoke ACPI during runtime resume and so require allocations, which is verboten inside the vm->mutex. Ergo, we must not use intel_runtime_pm_get() inside the mutex, but lift the

Re: [Intel-gfx] [PATCH 1/3] drm/i915/gt: Skip trying to unbind in restore_ggtt_mappings

2020-01-10 Thread Matthew Auld
On Fri, 10 Jan 2020 at 11:04, Chris Wilson wrote: > > Currently we first to try to unbind the VMA (and lazily rebind on next > use) as an optimisation during restore_ggtt_mappings. Ideally, the only > objects in the GGTT upon resume are the pinned kernel objects which > can't be unbound and need t

Re: [Intel-gfx] [PATCH v4 2/9] perf/core: open access for CAP_SYS_PERFMON privileged process

2020-01-10 Thread Peter Zijlstra
On Thu, Jan 09, 2020 at 02:36:50PM +0300, Alexey Budankov wrote: > On 08.01.2020 19:07, Peter Zijlstra wrote: > > On Wed, Dec 18, 2019 at 12:25:35PM +0300, Alexey Budankov wrote: > >> diff --git a/kernel/events/core.c b/kernel/events/core.c > >> index 059ee7116008..d9db414f2197 100644 > >> --- a/k

[Intel-gfx] [PATCH] i915: ggtt: include asm/smp.h

2020-01-10 Thread Arnd Bergmann
Splitting up the i915_gem_gtt caused a build failure in some configurations: drivers/gpu/drm/i915/gt/intel_ggtt.c: In function 'ggtt_restore_mappings': drivers/gpu/drm/i915/gt/intel_ggtt.c:1239:3: error: implicit declaration of function 'wbinvd_on_all_cpus'; did you mean 'wrmsr_on_cpus'? [-Werro

Re: [Intel-gfx] [PATCH] i915: ggtt: include asm/smp.h

2020-01-10 Thread Chris Wilson
Quoting Arnd Bergmann (2020-01-10 15:17:54) > Splitting up the i915_gem_gtt caused a build failure in some configurations: > > drivers/gpu/drm/i915/gt/intel_ggtt.c: In function 'ggtt_restore_mappings': > drivers/gpu/drm/i915/gt/intel_ggtt.c:1239:3: error: implicit declaration of > function 'wbinv

Re: [Intel-gfx] [PATCH 03/23] drm/i915: Don't use struct drm_driver.get_scanout_position()

2020-01-10 Thread Ville Syrjälä
On Fri, Jan 10, 2020 at 03:56:06PM +0200, Jani Nikula wrote: > On Fri, 10 Jan 2020, Thomas Zimmermann wrote: > > Hi > > > > Am 10.01.20 um 12:59 schrieb Jani Nikula: > >> On Fri, 10 Jan 2020, Thomas Zimmermann wrote: > >>> The callback struct drm_driver.get_scanout_position() is deprecated in > >

[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/pmu: Do not use colon characters in PMU names (rev2)

2020-01-10 Thread Patchwork
== Series Details == Series: drm/i915/pmu: Do not use colon characters in PMU names (rev2) URL : https://patchwork.freedesktop.org/series/71878/ State : success == Summary == CI Bug Log - changes from CI_DRM_7718 -> Patchwork_16050 Summary

Re: [Intel-gfx] [PATCH] drm/i915/dp: Add current maximum eDP link rate to sink_rate array.

2020-01-10 Thread Mario Kleiner
On Fri, Jan 10, 2020 at 2:32 PM Ville Syrjälä wrote: > On Thu, Jan 09, 2020 at 09:19:07PM +0100, Mario Kleiner wrote: > > On Thu, Jan 9, 2020 at 7:24 PM Ville Syrjälä < > ville.syrj...@linux.intel.com> > > wrote: > > > > > On Thu, Jan 09, 2020 at 06:57:14PM +0100, Mario Kleiner wrote: > > > > On

Re: [Intel-gfx] [PATCH v4 2/9] perf/core: open access for CAP_SYS_PERFMON privileged process

2020-01-10 Thread Masami Hiramatsu
On Fri, 10 Jan 2020 15:02:34 +0100 Peter Zijlstra wrote: > On Thu, Jan 09, 2020 at 02:36:50PM +0300, Alexey Budankov wrote: > > On 08.01.2020 19:07, Peter Zijlstra wrote: > > > On Wed, Dec 18, 2019 at 12:25:35PM +0300, Alexey Budankov wrote: > > > >> diff --git a/kernel/events/core.c b/kernel/ev

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [CI,1/4] drm/i915: Start chopping up the GPU error capture

2020-01-10 Thread Patchwork
== Series Details == Series: series starting with [CI,1/4] drm/i915: Start chopping up the GPU error capture URL : https://patchwork.freedesktop.org/series/71885/ State : warning == Summary == $ dim checkpatch origin/drm-tip d117616075ef drm/i915: Start chopping up the GPU error capture -:90:

[Intel-gfx] [PATCH v2] drm/i915/gt: Validate rotated vma bounds are within the object

2020-01-10 Thread Chris Wilson
Quite understandably, we bug out when asked to find a page that doesn't belong to the object. However, we should report the error back to the user long before we attempt the out-of-bound access! In this case, it is insufficient validation on the rotated vma, with the simplest/cheapest point for us

Re: [Intel-gfx] [PATCH v2] drm/i915/gt: Validate rotated vma bounds are within the object

2020-01-10 Thread Chris Wilson
Quoting Chris Wilson (2020-01-10 15:53:34) > Quite understandably, we bug out when asked to find a page that doesn't > belong to the object. However, we should report the error back to the > user long before we attempt the out-of-bound access! In this case, it is > insufficient validation on the ro

Re: [Intel-gfx] [PATCH] drm/i915/dp: Add current maximum eDP link rate to sink_rate array.

2020-01-10 Thread Mario Kleiner
On Thu, Jan 9, 2020 at 10:26 PM Harry Wentland wrote: > > > On 2020-01-09 4:04 p.m., Mario Kleiner wrote: > > On Thu, Jan 9, 2020 at 8:49 PM Alex Deucher wrote: > >> On Thu, Jan 9, 2020 at 11:47 AM Mario Kleiner >> wrote: >> > >> > On Thu, Jan 9, 2020 at 4:40 PM Alex Deucher >> wrote: >> >> >>

Re: [Intel-gfx] [PATCH i-g-t] test/i915_pm_rc6_residency: Check we enter RC6 when mostly idle

2020-01-10 Thread Imre Deak
On Thu, Jan 09, 2020 at 10:23:00PM +, Chris Wilson wrote: > Long ago, we would only approach runtime-suspend if the GPU had been > idle (no userspace submissions) for a second or two. However, since > disabling automatic HW RC6 such a relaxed approach to runtime-suspend > caused us to never ent

[Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [CI,1/4] drm/i915: Start chopping up the GPU error capture

2020-01-10 Thread Patchwork
== Series Details == Series: series starting with [CI,1/4] drm/i915: Start chopping up the GPU error capture URL : https://patchwork.freedesktop.org/series/71885/ State : success == Summary == CI Bug Log - changes from CI_DRM_7718 -> Patchwork_16051 ===

Re: [Intel-gfx] [PATCH i-g-t] test/i915_pm_rc6_residency: Check we enter RC6 when mostly idle

2020-01-10 Thread Chris Wilson
Quoting Imre Deak (2020-01-10 16:16:27) > On Thu, Jan 09, 2020 at 10:23:00PM +, Chris Wilson wrote: > > Long ago, we would only approach runtime-suspend if the GPU had been > > idle (no userspace submissions) for a second or two. However, since > > disabling automatic HW RC6 such a relaxed appr

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Per client engine busyness (rev3)

2020-01-10 Thread Patchwork
== Series Details == Series: Per client engine busyness (rev3) URL : https://patchwork.freedesktop.org/series/70977/ State : warning == Summary == $ dim checkpatch origin/drm-tip f2a2ab0fb90e drm/i915: Expose list of clients in sysfs -:61: WARNING:FILE_PATH_CHANGES: added, moved or deleted fil

[Intel-gfx] [PATCH v2 4/4] drm/i915/uc: Add sanitize to to intel_uc_ops

2020-01-10 Thread Michal Wajdeczko
uC sanitization is only meaningful if we are running with uC present or enabled. Make this function part of the uc_ops. Signed-off-by: Michal Wajdeczko Cc: Joonas Lahtinen Cc: Chris Wilson Cc: Daniele Ceraolo Spurio --- drivers/gpu/drm/i915/gt/uc/intel_uc.c | 10 ++ drivers/gpu/drm/i9

[Intel-gfx] [PATCH v2 3/4] drm/i915/uc: Add init/fini to to intel_uc_ops

2020-01-10 Thread Michal Wajdeczko
uC preparation and cleanup steps are only meaningful if we are running with uC enabled. Make these functions part of the uc_ops. Signed-off-by: Michal Wajdeczko Cc: Joonas Lahtinen Cc: Chris Wilson Cc: Daniele Ceraolo Spurio --- drivers/gpu/drm/i915/gt/uc/intel_uc.c | 12 +++- drivers

[Intel-gfx] [PATCH v2 1/4] drm/i915/uc: Add ops to intel_uc

2020-01-10 Thread Michal Wajdeczko
Instead of spreading multiple conditionals across the uC code to find out current mode of uC operation, start using predefined set of function pointers that reflect that mode. Begin with pair of init_hw/fini_hw functions that are responsible for uC hardware initialization and cleanup. v2: drop op

[Intel-gfx] [PATCH v2 2/4] drm/i915/uc: Add init_fw/fini_fw to to intel_uc_ops

2020-01-10 Thread Michal Wajdeczko
Firmware fetching and cleanup steps are only meaningful if we are running with uC enabled. Make these functions part of the uc_ops. Signed-off-by: Michal Wajdeczko Cc: Joonas Lahtinen Cc: Chris Wilson Cc: Daniele Ceraolo Spurio --- drivers/gpu/drm/i915/gt/uc/intel_uc.c | 12 driv

[Intel-gfx] [PATCH v2 0/4] Add ops to intel_uc

2020-01-10 Thread Michal Wajdeczko
Instead of spreading multiple conditionals across the uC code to find out current mode of uC operation, start using predefined set of function pointers that reflect that mode. v2: rebased, using macro to generate ops helpers Michal Wajdeczko (4): drm/i915/uc: Add ops to intel_uc drm/i915/uc:

  1   2   >