[PATCH 12/15] drm/i915/guc: Handle save/restore of MCR registers explicitly

2022-03-30 Thread Matt Roper
give us an alternate interface to do unicast per-instance save/restore operations, so we should be very clear about which registers on the list are MCR registers (and in the future which save/restore behavior we want for them). Signed-off-by: Matt Roper --- drivers/gpu/drm/i915/gt/uc/intel_guc_

[PATCH 01/15] drm/i915/gen8: Create separate reg definitions for new MCR registers

2022-03-30 Thread Matt Roper
cate the register definitions for those registers in preparation for upcoming patches that will handle MCR registers in a special manner. The registers adjusted are: * MISCCPCTL * SAMPLER_INSTDONE * ROW_INSTDONE * ROW_CHICKEN2 * HALF_SLICE_CHICKEN1 * HALF_SLICE_CHICKEN3 Signed-off-by: Ma

[PATCH 05/15] drm/i915/xehp: Check for faults on all mslices

2022-03-30 Thread Matt Roper
The fault registers are multicast registers, replicated per-mslice starting on Xe_HP. When checking for faults, we should check each mslice's instance of the register rather than just one of the instances. Signed-off-by: Matt Roper --- drivers/gpu/drm/i915/gt/intel_gt.c

[PATCH 04/15] drm/i915/gt: Correct prefix on a few registers

2022-03-30 Thread Matt Roper
refix to "XEHP_" to help clarify that we're using the newer multicast form of the register. Signed-off-by: Matt Roper --- drivers/gpu/drm/i915/gt/intel_gt_regs.h | 8 drivers/gpu/drm/i915/gt/intel_workarounds.c | 10 +- 2 files changed, 9 insertions(+), 9 dele

[PATCH 03/15] drm/i915/gt: Drop a few unused register definitions

2022-03-30 Thread Matt Roper
Let's drop a few register definitions that are unused anywhere in the driver today. Since the referenced offsets are part of what is now considered a multicast register region, the current definitions would not be correct for use on any future platform. Signed-off-by: Matt Roper --- dr

[PATCH 00/15] i915: Explicit handling of multicast registers

2022-03-30 Thread Matt Roper
eg_t. We may want to think about better ways to handle heterogeneous lists of MCR and non-MCR registers, or possibly just convert those to lists of u32 offsets since we're not actually using them to perform MMIO accesses. Cc: Daniele Ceraolo Spurio Cc: Lucas De Marchi Cc: Tvrtko Ursuli

Re: [Intel-gfx] [PATCH] drm/i915/uapi: Add DRM_I915_QUERY_GEOMETRY_SUBSLICES

2022-03-28 Thread Matt Roper
hosting 2 8 bit numbers to holding a > > > i915_engine_class_instance struct > > > > > > Cc: Ashutosh Dixit > > > Cc: Matt Roper > > > Cc: Joonas Lahtinen > > > UMD (mesa): > > > https://gitlab.freedesktop.org/mesa/mesa/-/merge_req

[PATCH v2 1/3] drm/i915: Report steering details in debugfs

2022-03-15 Thread Matt Roper
soon, so the information reported here will become increasingly valuable once that happens. v2: - Adding missing 'static' on intel_steering_types[] (Jose, sparse) Cc: Daniele Ceraolo Spurio Signed-off-by: Matt Roper Reviewed-by: José Roberto de Souza --- drivers/gpu/d

[PATCH] drm/i915: Reduce stack usage in debugfs due to SSEU

2022-03-14 Thread Matt Roper
d-off-by: Matt Roper --- drivers/gpu/drm/i915/gt/intel_sseu_debugfs.c | 22 +--- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/i915/gt/intel_sseu_debugfs.c b/drivers/gpu/drm/i915/gt/intel_sseu_debugfs.c index 6b944de48666..2d5d011e01db 100644

[PATCH 2/3] drm/i915/guc: add steering info to GuC register save/restore list

2022-03-14 Thread Matt Roper
ering, we set the steering for all entries in the guc list that do not require a special steering (e.g. mslice) to the default settings; this will cost us a few extra writes during engine reset but allows us to keep the steering logic simple. Cc: John Harrison Cc: Matt Roper Signed-off-by: Da

[PATCH 3/3] drm/i915: Add support for steered register writes

2022-03-14 Thread Matt Roper
2013088509 suggests that we leave the multicast bit enabled when performing read operations, so we follow suit here. Cc: Harish Chegondi Signed-off-by: Matt Roper --- drivers/gpu/drm/i915/gt/intel_gt_regs.h | 1 + drivers/gpu/drm/i915/intel_uncore.c | 75 ++--- drivers/gp

[PATCH 1/3] drm/i915: Report steering details in debugfs

2022-03-14 Thread Matt Roper
soon, so the information reported here will become increasingly valuable once that happens. Cc: Daniele Ceraolo Spurio Signed-off-by: Matt Roper --- drivers/gpu/drm/i915/gt/intel_gt.c | 46 + drivers/gpu/drm/i915/gt/intel_gt.h | 2 + drivers/gpu/drm/i915/gt

[PATCH 0/3] i915: General multicast steering updates

2022-03-14 Thread Matt Roper
save/restore list Matt Roper (2): drm/i915: Report steering details in debugfs drm/i915: Add support for steered register writes drivers/gpu/drm/i915/gt/intel_gt.c | 75 + drivers/gpu/drm/i915/gt/intel_gt.h | 5 ++ drivers/gpu/drm/i915/gt/intel_gt_debu

Re: [Intel-gfx] [PATCH 1/2] drm/i915/sseu: Don't overallocate subslice storage

2022-03-11 Thread Matt Roper
On Fri, Mar 11, 2022 at 11:01:01PM +0200, Ville Syrjälä wrote: > On Fri, Mar 11, 2022 at 12:52:33PM -0800, Lucas De Marchi wrote: > > On Fri, Mar 11, 2022 at 12:43:40PM -0800, Matt Roper wrote: > > >On Fri, Mar 11, 2022 at 12:38:17PM -0800, Matt Roper wrote: > > >>

Re: [Intel-gfx] [PATCH 1/2] drm/i915/sseu: Don't overallocate subslice storage

2022-03-11 Thread Matt Roper
On Fri, Mar 11, 2022 at 12:38:17PM -0800, Matt Roper wrote: > On Fri, Mar 11, 2022 at 11:00:09AM -0800, Lucas De Marchi wrote: > > On Thu, Mar 10, 2022 at 10:15:42PM -0800, Matt Roper wrote: > > > Xe_HP removed "slice" as a first-class unit in the hardware design.

Re: [Intel-gfx] [PATCH 1/2] drm/i915/sseu: Don't overallocate subslice storage

2022-03-11 Thread Matt Roper
On Fri, Mar 11, 2022 at 11:00:09AM -0800, Lucas De Marchi wrote: > On Thu, Mar 10, 2022 at 10:15:42PM -0800, Matt Roper wrote: > > Xe_HP removed "slice" as a first-class unit in the hardware design. > > Instead we now have a single pool of subslices (which are now refer

[PATCH 1/2] drm/i915/sseu: Don't overallocate subslice storage

2022-03-10 Thread Matt Roper
irement for sseu topology. We'll also document some of the constants to make it a little bit more clear what they represent. Signed-off-by: Matt Roper --- drivers/gpu/drm/i915/gt/intel_engine_types.h | 2 +- drivers/gpu/drm/i915/gt/intel_sseu.h | 47 +++- 2 files chan

[PATCH 2/2] drm/i915/xehp: Update topology dumps for Xe_HP

2022-03-10 Thread Matt Roper
whether each DSS is accessible for geometry and/or compute. - Rename "rcs_topology" to "sseu_topology" since the information reported is common to both RCS and CCS engines now. Signed-off-by: Matt Roper --- drivers/gpu/drm/i915/gt/intel_sseu.c | 48 +-

[PATCH v2 2/2] drm/i915/dg2: Add debugfs to control global preemption setting

2022-03-04 Thread Matt Roper
MattR/Tvrtko) Cc: Matt Roper Cc: Prathap Kumar Valsan Cc: John Harrison Cc: Joonas Lahtinen Cc: Jani Nikula Cc: Tvrtko Ursulin Signed-off-by: Akeem G Abodunrin Signed-off-by: Matt Roper --- drivers/gpu/drm/i915/gt/intel_gt.c | 50 ++ drivers/gpu/drm/i915/gt/intel

[PATCH v2 1/2] drm/i915/dg2: Add preemption changes for Wa_14015141709

2022-03-04 Thread Matt Roper
batch-level vs command-level vs object-level). v2 (MattR): - Move debugfs interface to a separate patch. (Jani) Cc: Matt Roper Cc: Prathap Kumar Valsan Cc: John Harrison Cc: Joonas Lahtinen Cc: Jani Nikula Cc: Tvrtko Ursulin Signed-off-by: Akeem G Abodunrin Signed-off-by: Matt Roper

Re: [Intel-gfx] [PATCH] drm/i915/dg2: Add preemption changes for Wa_14015141709

2022-03-04 Thread Matt Roper
On Fri, Mar 04, 2022 at 12:13:12PM +0200, Jani Nikula wrote: > On Thu, 03 Mar 2022, Matt Roper wrote: > > From: Akeem G Abodunrin > > > > Starting with DG2, preemption can no longer be controlled using userspace > > on a per-context basis. Instead, the hardware

Re: [PATCH v3 2/4] drm/i915: Fix compute pre-emption w/a to apply to compute engines

2022-03-03 Thread Matt Roper
ag earlier and use it for the pre-emption w/a > test. > > Fixes: c674c5b9342e ("drm/i915/xehp: CCS should use RCS setup functions") > Cc: Tvrtko Ursulin > Cc: Daniele Ceraolo Spurio > Cc: Aravind Iddamsetty > Cc: Matt Roper > Cc: Tvrtko Ursulin > Cc: Danie

[PATCH] drm/i915/dg2: Add preemption changes for Wa_14015141709

2022-03-03 Thread Matt Roper
batch-level vs command-level vs object-level). As a result of this - for debugging purposes, this patch adds debugfs interface to configure (disable/enable) preemption globally. Jira: VLK-27831 Cc: Matt Roper Cc: Prathap Kumar Valsan Cc: John Harrison Cc: Joonas Lahtinen Signed-off-by: Akeem

[PATCH 2/2] drm/i915: Add RCS mask to GuC ADS params

2022-03-03 Thread Matt Roper
From: Stuart Summers If RCS is not enumerated, GuC will return invalid parameters. Make sure we do not send RCS supported when we have not enumerated it. Cc: Vinay Belgaumkar Signed-off-by: Stuart Summers Signed-off-by: Matt Roper --- drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c | 2 +- 1

[PATCH 1/2] drm/i915/xehp: Support platforms with CCS engines but no RCS

2022-03-03 Thread Matt Roper
ome of the general setup (RCU_MODE programming, initialization of certain workarounds, etc.). Signed-off-by: Matt Roper --- drivers/gpu/drm/i915/gt/intel_engine_cs.c| 5 + drivers/gpu/drm/i915/gt/intel_engine_types.h | 2 ++ drivers/gpu/drm/i915/gt/intel_execlists_submis

Re: [PATCH 15/15] drm/i915/gt: Clear compress metadata for Xe_HP platforms

2022-03-02 Thread Matt Roper
On Sun, Feb 27, 2022 at 10:22:20PM +0530, Ramalingam C wrote: > Matt, > > Thanks for the review. > > On 2022-02-18 at 17:47:22 -0800, Matt Roper wrote: > > On Sat, Feb 19, 2022 at 12:17:52AM +0530, Ramalingam C wrote: > > > From: Ayaz A Siddiqui > > >

[PATCH v5 11/13] drm/i915/xehp: handle fused off CCS engines

2022-03-01 Thread Matt Roper
we've determined that we're running on an Xe_HP platform where the logic makes sense (and won't overflow). Cc: Stuart Summers Cc: Vinay Belgaumkar Cc: Ashutosh Dixit Signed-off-by: Daniele Ceraolo Spurio Signed-off-by: Stuart Summers Signed-off-by: Matt Roper --- dri

Re: [PATCH v3 09/13] drm/i915/xehp/guc: enable compute engine inside GuC

2022-03-01 Thread Matt Roper
On Tue, Mar 01, 2022 at 03:15:45PM -0800, Matt Roper wrote: > From: Daniele Ceraolo Spurio > > Tell GuC that CCS is enabled by setting a bit in its ADS. > > Cc: Vinay Belgaumkar > Original-author: Michel Thierry > Signed-off-by: Daniele Ceraolo Spurio > Signed-off-by:

[PATCH v4 08/13] drm/i915/xehp: Enable ccs/dual-ctx in RCU_MODE

2022-03-01 Thread Matt Roper
ume() vfunc. (Umesh) Bspec: 46034 Original-author: Michel Thierry Cc: Daniele Ceraolo Spurio Cc: Tvrtko Ursulin Cc: Vinay Belgaumkar Cc: Umesh Nerlige Ramappa Signed-off-by: Daniele Ceraolo Spurio Signed-off-by: Aravind Iddamsetty Signed-off-by: Matt Roper Reviewed-by: Umesh Nerlige Rama

Re: [PATCH v3 13/13] drm/i915/xehpsdv: Move render/compute engine reset domains related workarounds

2022-03-01 Thread Matt Roper
On Tue, Mar 01, 2022 at 03:15:49PM -0800, Matt Roper wrote: > From: Srinivasan Shanmugam > > Registers that exist in the shared render/compute reset domain need to > be placed on an engine workaround list to ensure that they are properly > re-applied whenever an RCS or CCS engin

Re: [Intel-gfx] [PATCH v3 08/13] drm/i915/xehp: Enable ccs/dual-ctx in RCU_MODE

2022-03-01 Thread Matt Roper
On Tue, Mar 01, 2022 at 03:51:21PM -0800, Umesh Nerlige Ramappa wrote: > On Tue, Mar 01, 2022 at 03:15:44PM -0800, Matt Roper wrote: > > We have to specify in the Render Control Unit Mode register > > when CCS is enabled. > > > > v2: > > - Move RCU_MODE programmi

Re: [PATCH v3 11/13] drm/i915/xehp: handle fused off CCS engines

2022-03-01 Thread Matt Roper
On Tue, Mar 01, 2022 at 03:15:47PM -0800, Matt Roper wrote: > From: Daniele Ceraolo Spurio > > HW resources are divided across the active CCS engines at the compute > slice level, with each CCS having priority on one of the cslices. > If a compute slice has no enabled DSS, its

[PATCH v3 12/13] drm/i915/xehp: Add compute workarounds

2022-03-01 Thread Matt Roper
w function will internally be added to the first present RCS or CCS engine's workaround list to ensure they get applied (and only get applied once rather than being needlessly re-applied several times). Co-author: Srinivasan Shanmugam Signed-off-by: Matt Roper Reviewed-by: Daniele Ceraolo Spurio

[PATCH v3 09/13] drm/i915/xehp/guc: enable compute engine inside GuC

2022-03-01 Thread Matt Roper
From: Daniele Ceraolo Spurio Tell GuC that CCS is enabled by setting a bit in its ADS. Cc: Vinay Belgaumkar Original-author: Michel Thierry Signed-off-by: Daniele Ceraolo Spurio Signed-off-by: Matt Roper --- drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c | 1 + 1 file changed, 1 insertion

[PATCH v3 13/13] drm/i915/xehpsdv: Move render/compute engine reset domains related workarounds

2022-03-01 Thread Matt Roper
, L3SQCREG1_CCS0, GEN12_MERT_MOD_CTRL, and GEN12_GAMCNTRL_CTRL) that are incorrectly implemented on the 'gt' workaround list and need to be moved accordingly. Cc: Matt Roper Signed-off-by: Srinivasan Shanmugam Signed-off-by: Matt Roper --- drivers/gpu/drm/i915/gt/intel_workarou

[PATCH v3 08/13] drm/i915/xehp: Enable ccs/dual-ctx in RCU_MODE

2022-03-01 Thread Matt Roper
-off-by: Aravind Iddamsetty Signed-off-by: Matt Roper --- drivers/gpu/drm/i915/gt/intel_engine.h | 2 ++ drivers/gpu/drm/i915/gt/intel_engine_cs.c | 17 + .../drm/i915/gt/intel_execlists_submission.c| 16 drivers/gpu/drm/i915/gt/intel_gt_regs.h

[PATCH v3 10/13] drm/i915/xehp: Don't support parallel submission on compute / render

2022-03-01 Thread Matt Roper
From: Matthew Brost A different emit breadcrumbs ring programming is required for compute / render and we don't have UMD user so just reject parallel submission for these engine classes. Signed-off-by: Matthew Brost Signed-off-by: Matt Roper Reviewed-by: Daniele Ceraolo Spurio --- dr

[PATCH v3 11/13] drm/i915/xehp: handle fused off CCS engines

2022-03-01 Thread Matt Roper
Signed-off-by: Stuart Summers Signed-off-by: Matt Roper --- drivers/gpu/drm/i915/gt/intel_engine_cs.c | 25 +++ drivers/gpu/drm/i915/gt/intel_sseu.c | 17 --- drivers/gpu/drm/i915/gt/intel_sseu.h | 4 +++- 3 files changed, 42 insertions(+), 4 deletions

[PATCH v3 07/13] drm/i915/xehp: Define context scheduling attributes in lrc descriptor

2022-03-01 Thread Matt Roper
and relies on the existing context priority to set it to low/normal/high. Bspec: 46145, 46260 Original-author: Michel Thierry Cc: Tvrtko Ursulin Signed-off-by: Aravind Iddamsetty Signed-off-by: Prasad Nallani Signed-off-by: Matt Roper Reviewed-by: Tvrtko Ursulin --- drivers/gpu/d

[PATCH v3 05/13] drm/i915/xehp: CCS should use RCS setup functions

2022-03-01 Thread Matt Roper
damsetty Signed-off-by: Matt Roper Reviewed-by: Tvrtko Ursulin --- drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c | 8 +--- drivers/gpu/drm/i915/gt/intel_engine_cs.c | 6 ++ drivers/gpu/drm/i915/gt/intel_engine_types.h | 1 + drivers/gpu/drm

[PATCH v3 06/13] drm/i915: Move context descriptor fields to intel_lrc.h

2022-03-01 Thread Matt Roper
This is a more appropriate header for these definitions. v2: - Cleanup whitespace. (Lucas) Signed-off-by: Matt Roper Reviewed-by: Lucas De Marchi --- drivers/gpu/drm/i915/gt/intel_engine_cs.c | 1 + drivers/gpu/drm/i915/gt/intel_gt_regs.h | 34 --- drivers/gpu/drm/i915

[PATCH v3 04/13] drm/i915/xehp: compute engine pipe_control

2022-03-01 Thread Matt Roper
bits must not be set v2: - Drop unwanted blank line. (Lucas) Bspec: 47112 Cc: Vinay Belgaumkar Signed-off-by: Daniele Ceraolo Spurio Signed-off-by: Aravind Iddamsetty Signed-off-by: Matt Roper Reviewed-by: Lucas De Marchi --- drivers/gpu/drm/i915/gt/gen8_engine_cs.c | 34

[PATCH v3 03/13] drm/i915/xehp: Add Compute CS IRQ handlers

2022-03-01 Thread Matt Roper
and CCS3 are in a new one. BSpec: 50844, 54029, 54030, 53223, 53224. Original-author: Michel Thierry Cc: Tvrtko Ursulin Cc: Vinay Belgaumkar Signed-off-by: Daniele Ceraolo Spurio Signed-off-by: Aravind Iddamsetty Signed-off-by: Matt Roper Reviewed-by: Tvrtko Ursulin --- drivers/gpu/drm/i915

[PATCH v3 01/13] drm/i915/xehp: Define compute class and engine

2022-03-01 Thread Matt Roper
45544 Original-author: Michel Thierry Cc: Daniele Ceraolo Spurio Cc: Tvrtko Ursulin Cc: Vinay Belgaumkar Signed-off-by: Rodrigo Vivi Signed-off-by: Daniele Ceraolo Spurio Signed-off-by: Aravind Iddamsetty Signed-off-by: Matt Roper Reviewed-by: Tvrtko Ursulin #v1 --- drivers/gpu/drm/i915/gt/inte

[PATCH v3 02/13] drm/i915/xehp: CCS shares the render reset domain

2022-03-01 Thread Matt Roper
-off-by: Matt Roper Reviewed-by: Tvrtko Ursulin --- drivers/gpu/drm/i915/gt/intel_engine_cs.c | 4 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c b/drivers/gpu/drm/i915/gt/intel_engine_cs.c index 3190b7b462a9..3150c0847f65 100644 --- a/drivers/gpu

[PATCH v3 00/13] i915: Prepare for Xe_HP compute engines

2022-03-01 Thread Matt Roper
K) condition on fusing check with a simple IP version test to omit pre-Xe_HP platforms. - Fix a handful of checkpatch warnings. Daniele Ceraolo Spurio (3): drm/i915/xehp: compute engine pipe_control drm/i915/xehp/guc: enable compute engine inside GuC drm/i915/xehp: handle fused off CCS eng

Re: [PATCH v2 11/13] drm/i915/xehp: handle fused off CCS engines

2022-03-01 Thread Matt Roper
On Mon, Feb 28, 2022 at 09:42:43AM -0800, Matt Roper wrote: > From: Daniele Ceraolo Spurio > > HW resources are divided across the active CCS engines at the compute > slice level, with each CCS having priority on one of the cslices. > If a compute slice has no enabled DSS, its

[PATCH] drm/i915/xehp: Drop aux table invalidation on FlatCCS platforms

2022-02-28 Thread Matt Roper
Platforms with FlatCCS do not use auxiliary planes for compression control data and thus do not need traditional aux table invalidation (and the registers no longer even exist). Original-author: CQ Tang Signed-off-by: Matt Roper --- drivers/gpu/drm/i915/gt/gen8_engine_cs.c | 28

[PATCH v2 07/13] drm/i915/xehp: Define context scheduling attributes in lrc descriptor

2022-02-28 Thread Matt Roper
and relies on the existing context priority to set it to low/normal/high. Bspec: 46145, 46260 Original-author: Michel Thierry Cc: Tvrtko Ursulin Signed-off-by: Aravind Iddamsetty Signed-off-by: Prasad Nallani Signed-off-by: Matt Roper Reviewed-by: Tvrtko Ursulin --- drivers/gpu/d

[PATCH v2 06/13] drm/i915: Move context descriptor fields to intel_lrc.h

2022-02-28 Thread Matt Roper
This is a more appropriate header for these definitions. Signed-off-by: Matt Roper --- drivers/gpu/drm/i915/gt/intel_engine_cs.c | 1 + drivers/gpu/drm/i915/gt/intel_gt_regs.h | 34 --- drivers/gpu/drm/i915/gt/intel_lrc.h | 34 +++ 3 files

[PATCH v2 13/13] drm/i915/xehpsdv: Move render/compute engine reset domains related workarounds

2022-02-28 Thread Matt Roper
, L3SQCREG1_CCS0, GEN12_MERT_MOD_CTRL, and GEN12_GAMCNTRL_CTRL) that are incorrectly implemented on the 'gt' workaround list and need to be moved accordingly. Cc: Matt Roper Signed-off-by: Srinivasan Shanmugam Signed-off-by: Matt Roper --- drivers/gpu/drm/i915/gt/intel_workarou

[PATCH v2 10/13] drm/i915/xehp: Don't support parallel submission on compute / render

2022-02-28 Thread Matt Roper
From: Matthew Brost A different emit breadcrumbs ring programming is required for compute / render and we don't have UMD user so just reject parallel submission for these engine classes. Signed-off-by: Matthew Brost Signed-off-by: Matt Roper --- drivers/gpu/drm/i915/gem/i915_gem_cont

[PATCH v2 12/13] drm/i915/xehp: Add compute workarounds

2022-02-28 Thread Matt Roper
w function will internally be added to the first present RCS or CCS engine's workaround list to ensure they get applied (and only get applied once rather than being needlessly re-applied several times). Co-author: Srinivasan Shanmugam Signed-off-by: Matt Roper --- drivers/gpu/drm/i915/gt/inte

[PATCH v2 08/13] drm/i915/xehp/guc: enable compute engine inside GuC

2022-02-28 Thread Matt Roper
From: Daniele Ceraolo Spurio Tell GuC that CCS is enabled by setting a bit in its ADS. Cc: Vinay Belgaumkar Original-author: Michel Thierry Signed-off-by: Daniele Ceraolo Spurio Signed-off-by: Matt Roper --- drivers/gpu/drm/i915/gt/intel_gt_regs.h| 3 +++ drivers/gpu/drm/i915/gt/uc

[PATCH v2 11/13] drm/i915/xehp: handle fused off CCS engines

2022-02-28 Thread Matt Roper
already fully saturate the HW, so consider it fused off. v2(José): - moved it to its own function - fixed definition of ccs_mask Cc: Stuart Summers Cc: Vinay Belgaumkar Cc: Ashutosh Dixit Signed-off-by: Daniele Ceraolo Spurio Signed-off-by: Stuart Summers Signed-off-by: Matt Roper --- drivers

[PATCH v2 01/13] drm/i915/xehp: Define compute class and engine

2022-02-28 Thread Matt Roper
45544 Original-author: Michel Thierry Cc: Daniele Ceraolo Spurio Cc: Tvrtko Ursulin Cc: Vinay Belgaumkar Signed-off-by: Rodrigo Vivi Signed-off-by: Daniele Ceraolo Spurio Signed-off-by: Aravind Iddamsetty Signed-off-by: Matt Roper Reviewed-by: Tvrtko Ursulin #v1 --- drivers/gpu/drm/i915/gt/inte

[PATCH v2 03/13] drm/i915/xehp: Add Compute CS IRQ handlers

2022-02-28 Thread Matt Roper
and CCS3 are in a new one. BSpec: 50844, 54029, 54030, 53223, 53224. Original-author: Michel Thierry Cc: Tvrtko Ursulin Cc: Vinay Belgaumkar Signed-off-by: Daniele Ceraolo Spurio Signed-off-by: Aravind Iddamsetty Signed-off-by: Matt Roper Reviewed-by: Tvrtko Ursulin --- drivers/gpu/drm/i915

[PATCH v2 02/13] drm/i915/xehp: CCS shares the render reset domain

2022-02-28 Thread Matt Roper
-off-by: Matt Roper Reviewed-by: Tvrtko Ursulin --- drivers/gpu/drm/i915/gt/intel_engine_cs.c | 4 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c b/drivers/gpu/drm/i915/gt/intel_engine_cs.c index 3190b7b462a9..3150c0847f65 100644 --- a/drivers/gpu

[PATCH v2 05/13] drm/i915/xehp: CCS should use RCS setup functions

2022-02-28 Thread Matt Roper
damsetty Signed-off-by: Matt Roper Reviewed-by: Tvrtko Ursulin --- drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c | 8 +--- drivers/gpu/drm/i915/gt/intel_engine_cs.c | 6 ++ drivers/gpu/drm/i915/gt/intel_engine_types.h | 1 + drivers/gpu/drm

[PATCH v2 09/13] drm/i915/xehp: Enable ccs/dual-ctx in RCU_MODE

2022-02-28 Thread Matt Roper
: Daniele Ceraolo Spurio Cc: Tvrtko Ursulin Cc: Vinay Belgaumkar Signed-off-by: Daniele Ceraolo Spurio Signed-off-by: Aravind Iddamsetty Signed-off-by: Matt Roper --- drivers/gpu/drm/i915/gt/intel_engine.h | 2 ++ drivers/gpu/drm/i915/gt/intel_engine_cs.c | 17

[PATCH v2 04/13] drm/i915/xehp: compute engine pipe_control

2022-02-28 Thread Matt Roper
bits must not be set Bspec: 47112 Cc: Vinay Belgaumkar Signed-off-by: Daniele Ceraolo Spurio Signed-off-by: Aravind Iddamsetty Signed-off-by: Matt Roper --- drivers/gpu/drm/i915/gt/gen8_engine_cs.c | 35 +++- drivers/gpu/drm/i915/gt/intel_gpu_commands.h | 15 + 2

[PATCH v2 00/13] i915: Prepare for Xe_HP compute engines

2022-02-28 Thread Matt Roper
ed out. Daniele Ceraolo Spurio (3): drm/i915/xehp: compute engine pipe_control drm/i915/xehp/guc: enable compute engine inside GuC drm/i915/xehp: handle fused off CCS engines Matt Roper (8): drm/i915/xehp: Define compute class and engine drm/i915/xehp: CCS shares the render reset domain

Re: [PATCH v10 6/6] drm/i915/gt: replace cache_clflush_range

2022-02-22 Thread Matt Roper
On Thu, Feb 10, 2022 at 10:36:36AM -0800, Michael Cheng wrote: > Replace all occurrence of cache_clflush_range with drm_clflush_virt_range. > This will prevent compile errors on non-x86 platforms. > > Signed-off-by: Michael Cheng Reviewed-by: Matt Roper > --- > drive

Re: [PATCH v10 5/6] drm/i915/: Re-work clflush_write32

2022-02-22 Thread Matt Roper
e ordering of clflush wrt to the system. >*/ > if (flushes & CLFLUSH_AFTER) > - clflushopt(addr); > + drm_clflush_virt_range(addr, sizeof(addr)); Ditto. Aside from those, Reviewed-by: Matt Roper > } else >

Re: [PATCH v10 4/6] drm/i915/gt: Re-work reset_csb

2022-02-22 Thread Matt Roper
64 depending on architecture). Not that it will really change the behavior since it all works out to a single cacheline in the end. Aside from that, Reviewed-by: Matt Roper > > inactive = process_csb(engine, inactive); /* drain preemption events */ > > -- > 2.25.1 > -- Matt Roper Graphics Software Engineer VTT-OSGC Platform Enablement Intel Corporation (916) 356-2795

Re: [PATCH v10 3/6] drm/i915/gt: Drop invalidate_csb_entries

2022-02-22 Thread Matt Roper
ssues a clflush for the first and last entries rather than the range from 0..reset_value, but since there are only a maximum of 12 u64 entries, which fits into two cachelines, the end result should be the same either way. Reviewed-by: Matt Roper > > /* Once more for luck and our trusty paranoia */ > ENGINE_WRITE(engine, RING_CONTEXT_STATUS_PTR, > -- > 2.25.1 > -- Matt Roper Graphics Software Engineer VTT-OSGC Platform Enablement Intel Corporation (916) 356-2795

Re: [PATCH v10 2/6] drm/i915/gt: Re-work intel_write_status_page

2022-02-22 Thread Matt Roper
this function is only used from a selftest, not from real driver codepaths, so the extra flushing shouldn't have any negative impact on end users. Reviewed-by: Matt Roper > Signed-off-by: Michael Cheng > --- > drivers/gpu/drm/i915/gt/intel_engine.h | 13 - > 1 file

Re: [PATCH v10 1/6] drm: Add arch arm64 for drm_clflush_virt_range

2022-02-22 Thread Matt Roper
g., I think a lot of these were based on feedback from Tvrtko? > > Signed-off-by: Michael Cheng Change appears to accurately implement the same type of cache flush as what we have on the x86 backend. Reviewed-by: Matt Roper > --- > drivers/gpu/drm/drm_cache.c | 6 ++ > 1 file changed,

Re: [PATCH 15/15] drm/i915/gt: Clear compress metadata for Xe_HP platforms

2022-02-18 Thread Matt Roper
the only places we're using that value are the programming of BLIT_CCTL (bspec 45807) and RING_CMD_CCTL (bspec 45826), both of which are supposed to be using GO:Memory instead of GO:L3. So maybe we should fix the uc_index value for those platforms and then use "rq->engine->gt->mocs.uc_index << 1" here. Might be worth renaming the field to "uc_index_gomemory" just to make it more explicit what it's representing to prevent mistakes during enablement of future platforms. Matt > + cs = i915_flush_dw(cs, offset, MI_FLUSH_LLC | MI_FLUSH_CCS); > + > + if (ccs_ring_size & 1) > + *cs++ = MI_NOOP; > + } > intel_ring_advance(rq, cs); > return 0; > } > @@ -711,7 +848,7 @@ intel_context_migrate_clear(struct intel_context *ce, > if (err) > goto out_rq; > > - err = emit_clear(rq, offset, len, value); > + err = emit_clear(rq, offset, len, value, is_lmem); > > /* Arbitration is re-enabled between requests. */ > out_rq: > -- > 2.20.1 > -- Matt Roper Graphics Software Engineer VTT-OSGC Platform Enablement Intel Corporation (916) 356-2795

Re: [PATCH 1/3] drm/i915/dg2: Enable 5th display

2022-02-17 Thread Matt Roper
TC1 in the intel_setup_outputs() function. I think I previously had that in a separate patch, but it went missing when we reorganized and refactored some of these patches Matt On Tue, Feb 15, 2022 at 11:21:52AM +0530, Ramalingam C wrote: > From: Matt Roper > > DG2 supports a 5th displ

Re: [PATCH 1/3] drm/i915/dg2: Enable 5th display

2022-02-17 Thread Matt Roper
jälä ; Shankar, Uma > > ; Roper, Matthew D ; > > Dhanavanthri, Swathi ; De Marchi, Lucas > > ; Souza, Jose ; C, > > Ramalingam > > > > Subject: [PATCH 1/3] drm/i915/dg2: Enable 5th display > > > > From: Matt Roper > > > > DG2 supports a 5th

Re: [PATCH] drm/i915/guc/slpc: Use wrapper for reading RP_STATE_CAP

2022-02-16 Thread Matt Roper
On Tue, Feb 15, 2022 at 06:58:17PM -0800, Vinay Belgaumkar wrote: > This will ensure correct values for Gen12+ platforms. > > Cc: Matt Roper > Signed-off-by: Vinay Belgaumkar Reviewed-by: Matt Roper > --- > drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c | 5 +++-- &g

Re: [Intel-gfx] [PATCH v2 03/11] drm/i915: Use str_yes_no()

2022-02-01 Thread Matt Roper
On Wed, Jan 26, 2022 at 01:39:43AM -0800, Lucas De Marchi wrote: > Remove the local yesno() implementation and adopt the str_yes_no() from > linux/string_helpers.h. > > Signed-off-by: Lucas De Marchi > Acked-by: Daniel Vetter > Acked-by: Jani Nikula Reviewed-by: Matt Roper

Re: [Intel-gfx] [PATCH v2 04/11] drm/i915: Use str_enable_disable()

2022-02-01 Thread Matt Roper
re's an open-coded version of this in display/intel_pps.c, intel_pps_backlight_power(). Up to you whether you squash it into this patch or convert it as a follow-up. Either way. Reviewed-by: Matt Roper > --- > drivers/gpu/drm/i915/display/intel_ddi.c | 4 +++- &g

Re: [Intel-gfx] [PATCH v2 05/11] drm/i915: Use str_enabled_disabled()

2022-02-01 Thread Matt Roper
e's two open-coded versions of this in intel_dp_hdcp.c (intel_dp_mst_hdcp_stream_encryption() and intel_dp_mst_hdcp2_stream_encryption()) that you might want to convert as well. Up to you whether you squash them into this patch or convert them as a separate patch. Either way,

Re: [Intel-gfx] [PATCH v2 06/11] drm/i915: Use str_on_off()

2022-02-01 Thread Matt Roper
On Wed, Jan 26, 2022 at 01:39:46AM -0800, Lucas De Marchi wrote: > Remove the local onoff() implementation and adopt the > str_on_off() from linux/string_helpers.h. > > Signed-off-by: Lucas De Marchi > Acked-by: Daniel Vetter > Acked-by: Jani Nikula Reviewed-by: Matt Roper

Re: [PATCH v2 2/2] drm/i915/gt: make a gt sysfs group and move power management files

2022-01-14 Thread Matt Roper
z|it points to gt0/ > ├── gt_RP0_freq_mhz| > └── gt_RP1_freq_mhz| > └── gt_RPn_freq_mhz -+ > > Signed-off-by: Andi Shyti > Signed-off-by: Lucas De Marchi > Cc: Matt Roper > Cc: Sujaritha Sundaresan > Cc: Tvrtko Ursulin Eve

Re: [PATCH v2 1/2] drm/i915: Prepare for multiple GTs

2022-01-14 Thread Matt Roper
is initialized for now; the other > tiles will be detected and plugged in by future patches once the > necessary infrastructure is in place to handle them. > > Signed-off-by: Abdiel Janulgue > Signed-off-by: Daniele Ceraolo Spurio > Signed-off-by: Tvrtko Ursulin > Signed

Re: [PATCH v10 2/6] drm/i915: Use to_gt() helper for GGTT accesses

2022-01-04 Thread Matt Roper
difference is that in i915_perf.c I'm using > > to_gt(perf->i915) > > instead of > > to_gt(perf->i915)->ggtt->vm.gt > Reviewed-by: Matt Roper > Andi > > drivers/gpu/drm/i915/gvt/dmabuf.c| 2 +- > drivers/gpu/drm/i915/i915_debugfs.c | 4 ++-

Re: [PATCH v9 2/6] drm/i915: Use to_gt() helper for GGTT accesses

2022-01-03 Thread Matt Roper
o_gt(perf->i915) > > if two GTs are sharing the same ggtt, what would the ggtt->vm.gt > link be? >From the git history, it doesn't look like this really needs to care about the GGTT at all; I think it was just unintentionally written in a roundabout manner when intel_gt w

Re: [PATCH v9 2/6] drm/i915: Use to_gt() helper for GGTT accesses

2021-12-21 Thread Matt Roper
128315aec517 100644 > --- a/drivers/gpu/drm/i915/i915_perf.c > +++ b/drivers/gpu/drm/i915/i915_perf.c > @@ -1630,7 +1630,7 @@ static int alloc_noa_wait(struct i915_perf_stream > *stream) > struct drm_i915_gem_object *bo; > struct i915_vma *vma; > const u64 delay_ti

Re: [PATCH v9 1/6] drm/i915/gt: Use to_gt() helper for GGTT accesses

2021-12-21 Thread Matt Roper
th the future > refactoring. > > Signed-off-by: Michał Winiarski > Cc: Michal Wajdeczko > Signed-off-by: Andi Shyti > Reviewed-by: Sujaritha Sundaresan > Reviewed-by: Matt Roper > --- > drivers/gpu/drm/i915/gt/intel_ggtt.c | 14 +++--- > drivers/gp

Re: [PATCH v8 16/16] drm/i915: Remove unused i915->ggtt

2021-12-17 Thread Matt Roper
rastructure). Otherwise, Reviewed-by: Matt Roper Matt > > Suggested-by: Matt Roper > Signed-off-by: Andi Shyti > Cc: Michał Winiarski > --- > drivers/gpu/drm/i915/gt/intel_gt.c| 7 +-- > drivers/gpu/drm/i915/gt/intel_gt.h| 2 +- >

Re: [PATCH v8 15/16] drm/i915: Use to_gt() helper for GGTT accesses

2021-12-17 Thread Matt Roper
value = i915->ggtt.num_fences; > + value = to_gt(i915)->ggtt->num_fences; > break; > case I915_PARAM_HAS_OVERLAY: > value = !!i915->overlay; > diff --git a/drivers/gpu/drm/i915/i915_perf.c > b/drivers/gpu/drm/i915/i915_perf.c > index 170bba913c30..128315aec517 100644 > --- a/drivers/gpu/drm/i915/i915_perf.c > +++ b/drivers/gpu/drm/i915/i915_perf.c > @@ -1630,7 +1630,7 @@ static int alloc_noa_wait(struct i915_perf_stream > *stream) > struct drm_i915_gem_object *bo; > struct i915_vma *vma; > const u64 delay_ticks = 0x - > - intel_gt_ns_to_clock_interval(stream->perf->i915->ggtt.vm.gt, > + > intel_gt_ns_to_clock_interval(to_gt(stream->perf->i915)->ggtt->vm.gt, > > atomic64_read(&stream->perf->noa_programming_delay)); > const u32 base = stream->engine->mmio_base; > #define CS_GPR(x) GEN8_RING_CS_GPR(base, x) > @@ -3542,7 +3542,7 @@ i915_perf_open_ioctl_locked(struct i915_perf *perf, > > static u64 oa_exponent_to_ns(struct i915_perf *perf, int exponent) > { > - return intel_gt_clock_interval_to_ns(perf->i915->ggtt.vm.gt, > + return intel_gt_clock_interval_to_ns(to_gt(perf->i915)->ggtt->vm.gt, >2ULL << exponent); > } > > -- > 2.34.1 > -- Matt Roper Graphics Software Engineer VTT-OSGC Platform Enablement Intel Corporation (916) 356-2795

Re: [PATCH v8 14/16] drm/i915/selftests: Use to_gt() helper for GGTT accesses

2021-12-17 Thread Matt Roper
th the future > refactoring. > > Signed-off-by: Michał Winiarski > Cc: Michal Wajdeczko > Signed-off-by: Andi Shyti Reviewed-by: Matt Roper > --- > drivers/gpu/drm/i915/selftests/i915_gem.c| 8 > drivers/gpu/drm/i915/selftests/i915_gem_gtt.c| 6 +++-

Re: [PATCH v8 13/16] drm/i915/gt: Use to_gt() helper for GGTT accesses

2021-12-17 Thread Matt Roper
th the future > refactoring. > > Signed-off-by: Michał Winiarski > Cc: Michal Wajdeczko > Signed-off-by: Andi Shyti Reviewed-by: Matt Roper > --- > drivers/gpu/drm/i915/gt/intel_ggtt.c | 14 +++--- > drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c | 6 ++

Re: [PATCH v8 12/16] drm/i915/display: Use to_gt() helper for GGTT accesses

2021-12-17 Thread Matt Roper
th the future > refactoring. > > Signed-off-by: Michał Winiarski > Cc: Michal Wajdeczko > Signed-off-by: Andi Shyti Reviewed-by: Matt Roper > --- > drivers/gpu/drm/i915/display/intel_fbc.c | 2 +- > drivers/gpu/drm/i915/display/intel_fbdev.c | 2 +- &g

Re: [PATCH v8 11/16] drm/i915/gem: Use to_gt() helper for GGTT accesses

2021-12-17 Thread Matt Roper
th the future > refactoring. > > Signed-off-by: Michał Winiarski > Cc: Michal Wajdeczko > Signed-off-by: Andi Shyti Reviewed-by: Matt Roper > --- > drivers/gpu/drm/i915/gem/i915_gem_context.h | 2 +- > .../gpu/drm/i915/gem/i915_gem_execbuffer.c| 2 +- &g

Re: [PATCH RESEND v7 12/12] drm/i915: Move the GGTT from i915 private data to the GT

2021-12-13 Thread Matt Roper
y: Andi Shyti > Cc: Michal Wajdeczko > Cc: Matt Roper > --- ... > diff --git a/drivers/gpu/drm/i915/gt/intel_gt_types.h > b/drivers/gpu/drm/i915/gt/intel_gt_types.h > index 14216cc471b1..02fc7641b82e 100644 > --- a/drivers/gpu/drm/i915/gt/intel_gt_types.h > +++ b/driver

Re: [PATCH RESEND v7 11/12] drm/i915: Use to_gt() helper for GGTT accesses

2021-12-13 Thread Matt Roper
ise_ggtt(struct drm_i915_private *i915, >u64 hole_start, u64 hole_end, >unsigned long end_time)) > { > - struct i915_ggtt *ggtt = &i915->ggtt; > + struct i915_ggtt *ggtt = to_gt(i915)->ggtt; > u64 hole_start, hole_end, last = 0; > struct drm_mm_node *node; > IGT_TIMEOUT(end_time); > @@ -1182,7 +1182,7 @@ static int igt_ggtt_page(void *arg) > const unsigned int count = PAGE_SIZE/sizeof(u32); > I915_RND_STATE(prng); > struct drm_i915_private *i915 = arg; > - struct i915_ggtt *ggtt = &i915->ggtt; > + struct i915_ggtt *ggtt = to_gt(i915)->ggtt; > struct drm_i915_gem_object *obj; > intel_wakeref_t wakeref; > struct drm_mm_node tmp; > @@ -2110,7 +2110,7 @@ int i915_gem_gtt_live_selftests(struct drm_i915_private > *i915) > SUBTEST(igt_cs_tlb), > }; > > - GEM_BUG_ON(offset_in_page(i915->ggtt.vm.total)); > + GEM_BUG_ON(offset_in_page(to_gt(i915)->ggtt->vm.total)); > > return i915_subtests(tests, i915); > } > diff --git a/drivers/gpu/drm/i915/selftests/i915_request.c > b/drivers/gpu/drm/i915/selftests/i915_request.c > index 92a859b34190..7f66f6d299b2 100644 > --- a/drivers/gpu/drm/i915/selftests/i915_request.c > +++ b/drivers/gpu/drm/i915/selftests/i915_request.c > @@ -843,7 +843,7 @@ static struct i915_vma *empty_batch(struct > drm_i915_private *i915) > > intel_gt_chipset_flush(to_gt(i915)); > > - vma = i915_vma_instance(obj, &i915->ggtt.vm, NULL); > + vma = i915_vma_instance(obj, &to_gt(i915)->ggtt->vm, NULL); > if (IS_ERR(vma)) { > err = PTR_ERR(vma); > goto err; > diff --git a/drivers/gpu/drm/i915/selftests/i915_vma.c > b/drivers/gpu/drm/i915/selftests/i915_vma.c > index 1f10fe36619b..6ac15d3bc5bc 100644 > --- a/drivers/gpu/drm/i915/selftests/i915_vma.c > +++ b/drivers/gpu/drm/i915/selftests/i915_vma.c > @@ -967,7 +967,7 @@ static int igt_vma_remapped_gtt(void *arg) > intel_wakeref_t wakeref; > int err = 0; > > - if (!i915_ggtt_has_aperture(&i915->ggtt)) > + if (!i915_ggtt_has_aperture(to_gt(i915)->ggtt)) > return 0; > > obj = i915_gem_object_create_internal(i915, 10 * 10 * PAGE_SIZE); > diff --git a/drivers/gpu/drm/i915/selftests/mock_gem_device.c > b/drivers/gpu/drm/i915/selftests/mock_gem_device.c > index 8aa7b1d33865..2f12f8748262 100644 > --- a/drivers/gpu/drm/i915/selftests/mock_gem_device.c > +++ b/drivers/gpu/drm/i915/selftests/mock_gem_device.c > @@ -69,7 +69,7 @@ static void mock_device_release(struct drm_device *dev) > i915_gem_drain_workqueue(i915); > i915_gem_drain_freed_objects(i915); > > - mock_fini_ggtt(&i915->ggtt); > + mock_fini_ggtt(to_gt(i915)->ggtt); > destroy_workqueue(i915->wq); > > intel_region_ttm_device_fini(i915); > @@ -195,7 +195,7 @@ struct drm_i915_private *mock_gem_device(void) > mock_init_contexts(i915); > > mock_init_ggtt(i915, &i915->ggtt); > - to_gt(i915)->vm = i915_vm_get(&i915->ggtt.vm); > + to_gt(i915)->vm = i915_vm_get(&to_gt(i915)->ggtt->vm); > > mkwrite_device_info(i915)->platform_engine_mask = BIT(0); > to_gt(i915)->info.engine_mask = BIT(0); > diff --git a/drivers/gpu/drm/i915/selftests/mock_gtt.c > b/drivers/gpu/drm/i915/selftests/mock_gtt.c > index 13bb0c3c3f0d..82867424d203 100644 > --- a/drivers/gpu/drm/i915/selftests/mock_gtt.c > +++ b/drivers/gpu/drm/i915/selftests/mock_gtt.c > @@ -132,7 +132,7 @@ void mock_init_ggtt(struct drm_i915_private *i915, struct > i915_ggtt *ggtt) > ggtt->vm.vma_ops.clear_pages = clear_pages; > > i915_address_space_init(&ggtt->vm, VM_CLASS_GGTT); > - to_gt(i915)->ggtt = ggtt; > + intel_gt_init_hw_early(to_gt(i915), ggtt); > } > > void mock_fini_ggtt(struct i915_ggtt *ggtt) > -- > 2.34.1 > -- Matt Roper Graphics Software Engineer VTT-OSGC Platform Enablement Intel Corporation (916) 356-2795

Re: [PATCH v7 08/11] drm/i915/pxp: Use to_gt() helper

2021-12-10 Thread Matt Roper
On Fri, Dec 10, 2021 at 03:07:56AM +0200, Andi Shyti wrote: > Use to_gt() helper consistently throughout the codebase. > Pure mechanical s/i915->gt/to_gt(i915). No functional changes. > > Signed-off-by: Andi Shyti Reviewed-by: Matt Roper > --- > Hi, > > the inli

Re: [PATCH v6 08/11] drm/i915/pxp: Use to_gt() helper

2021-12-09 Thread Matt Roper
e here intentional? It doesn't seem like there's > > any reason to drop it, and if it was intentional the whitespace isn't > > quite right. > > No, it wasn't intentional and it's strange that checkpatch > didn't catch it. I will resend this on

Re: [PATCH v6 11/11] drm/i915: Rename i915->gt to i915->gt0

2021-12-09 Thread Matt Roper
i > Cc: Rodrigo Vivi > Cc: Tvrtko Ursulin Reviewed-by: Matt Roper If you decide to not drop i915->ggtt completely in the previous patch, we might want to make a simimlar naming change to that field as well. Matt > --- > drivers/gpu/drm/i915/i915_drv.h | 4 ++-- > 1 fil

Re: [PATCH v6 10/11] drm/i915: Use to_gt() helper for GGTT accesses

2021-12-09 Thread Matt Roper
unsigned int count = PAGE_SIZE/sizeof(u32); > I915_RND_STATE(prng); > struct drm_i915_private *i915 = arg; > - struct i915_ggtt *ggtt = &i915->ggtt; > + struct i915_ggtt *ggtt = to_gt(i915)->ggtt; > struct drm_i915_gem_object *obj; > intel_wakeref_t wakeref; > struct drm_mm_node tmp; > @@ -2110,7 +2110,7 @@ int i915_gem_gtt_live_selftests(struct drm_i915_private > *i915) > SUBTEST(igt_cs_tlb), > }; > > - GEM_BUG_ON(offset_in_page(i915->ggtt.vm.total)); > + GEM_BUG_ON(offset_in_page(to_gt(i915)->ggtt->vm.total)); > > return i915_subtests(tests, i915); > } > diff --git a/drivers/gpu/drm/i915/selftests/i915_request.c > b/drivers/gpu/drm/i915/selftests/i915_request.c > index 92a859b34190..7f66f6d299b2 100644 > --- a/drivers/gpu/drm/i915/selftests/i915_request.c > +++ b/drivers/gpu/drm/i915/selftests/i915_request.c > @@ -843,7 +843,7 @@ static struct i915_vma *empty_batch(struct > drm_i915_private *i915) > > intel_gt_chipset_flush(to_gt(i915)); > > - vma = i915_vma_instance(obj, &i915->ggtt.vm, NULL); > + vma = i915_vma_instance(obj, &to_gt(i915)->ggtt->vm, NULL); > if (IS_ERR(vma)) { > err = PTR_ERR(vma); > goto err; > diff --git a/drivers/gpu/drm/i915/selftests/i915_vma.c > b/drivers/gpu/drm/i915/selftests/i915_vma.c > index 1f10fe36619b..6ac15d3bc5bc 100644 > --- a/drivers/gpu/drm/i915/selftests/i915_vma.c > +++ b/drivers/gpu/drm/i915/selftests/i915_vma.c > @@ -967,7 +967,7 @@ static int igt_vma_remapped_gtt(void *arg) > intel_wakeref_t wakeref; > int err = 0; > > - if (!i915_ggtt_has_aperture(&i915->ggtt)) > + if (!i915_ggtt_has_aperture(to_gt(i915)->ggtt)) > return 0; > > obj = i915_gem_object_create_internal(i915, 10 * 10 * PAGE_SIZE); > diff --git a/drivers/gpu/drm/i915/selftests/mock_gem_device.c > b/drivers/gpu/drm/i915/selftests/mock_gem_device.c > index 8aa7b1d33865..2f12f8748262 100644 > --- a/drivers/gpu/drm/i915/selftests/mock_gem_device.c > +++ b/drivers/gpu/drm/i915/selftests/mock_gem_device.c > @@ -69,7 +69,7 @@ static void mock_device_release(struct drm_device *dev) > i915_gem_drain_workqueue(i915); > i915_gem_drain_freed_objects(i915); > > - mock_fini_ggtt(&i915->ggtt); > + mock_fini_ggtt(to_gt(i915)->ggtt); > destroy_workqueue(i915->wq); > > intel_region_ttm_device_fini(i915); > @@ -195,7 +195,7 @@ struct drm_i915_private *mock_gem_device(void) > mock_init_contexts(i915); > > mock_init_ggtt(i915, &i915->ggtt); > - to_gt(i915)->vm = i915_vm_get(&i915->ggtt.vm); > + to_gt(i915)->vm = i915_vm_get(&to_gt(i915)->ggtt->vm); > > mkwrite_device_info(i915)->platform_engine_mask = BIT(0); > to_gt(i915)->info.engine_mask = BIT(0); > diff --git a/drivers/gpu/drm/i915/selftests/mock_gtt.c > b/drivers/gpu/drm/i915/selftests/mock_gtt.c > index f0b87de0aca3..41fae5c9ea34 100644 > --- a/drivers/gpu/drm/i915/selftests/mock_gtt.c > +++ b/drivers/gpu/drm/i915/selftests/mock_gtt.c > @@ -130,7 +130,7 @@ void mock_init_ggtt(struct drm_i915_private *i915, struct > i915_ggtt *ggtt) > ggtt->vm.vma_ops.clear_pages = clear_pages; > > i915_address_space_init(&ggtt->vm, VM_CLASS_GGTT); > - to_gt(i915)->ggtt = ggtt; > + intel_gt_init_hw_early(to_gt(i915), ggtt); > } > > void mock_fini_ggtt(struct i915_ggtt *ggtt) > -- > 2.34.1 > -- Matt Roper Graphics Software Engineer VTT-OSGC Platform Enablement Intel Corporation (916) 356-2795

Re: [PATCH v6 09/11] drm/i915: Use to_gt() helper

2021-12-09 Thread Matt Roper
boost_frequency(rps)); > } > @@ -287,7 +287,7 @@ static ssize_t gt_boost_freq_mhz_store(struct device > *kdev, > const char *buf, size_t count) > { > struct drm_i915_private *dev_priv = kdev_minor_to_i915(kdev); > - struct intel_rps *rps = &dev_priv->gt.rps; > + struct intel_rps *rps = &to_gt(dev_priv)->rps; > ssize_t ret; > u32 val; > > @@ -304,7 +304,7 @@ static ssize_t vlv_rpe_freq_mhz_show(struct device *kdev, >struct device_attribute *attr, char *buf) > { > struct drm_i915_private *dev_priv = kdev_minor_to_i915(kdev); > - struct intel_rps *rps = &dev_priv->gt.rps; > + struct intel_rps *rps = &to_gt(dev_priv)->rps; > > return sysfs_emit(buf, "%d\n", intel_gpu_freq(rps, > rps->efficient_freq)); > } > @@ -312,7 +312,7 @@ static ssize_t vlv_rpe_freq_mhz_show(struct device *kdev, > static ssize_t gt_max_freq_mhz_show(struct device *kdev, struct > device_attribute *attr, char *buf) > { > struct drm_i915_private *dev_priv = kdev_minor_to_i915(kdev); > - struct intel_gt *gt = &dev_priv->gt; > + struct intel_gt *gt = to_gt(dev_priv); > struct intel_rps *rps = >->rps; > > return sysfs_emit(buf, "%d\n", intel_rps_get_max_frequency(rps)); > @@ -323,7 +323,7 @@ static ssize_t gt_max_freq_mhz_store(struct device *kdev, >const char *buf, size_t count) > { > struct drm_i915_private *dev_priv = kdev_minor_to_i915(kdev); > - struct intel_gt *gt = &dev_priv->gt; > + struct intel_gt *gt = to_gt(dev_priv); > struct intel_rps *rps = >->rps; > ssize_t ret; > u32 val; > @@ -340,7 +340,7 @@ static ssize_t gt_max_freq_mhz_store(struct device *kdev, > static ssize_t gt_min_freq_mhz_show(struct device *kdev, struct > device_attribute *attr, char *buf) > { > struct drm_i915_private *i915 = kdev_minor_to_i915(kdev); > - struct intel_gt *gt = &i915->gt; > + struct intel_gt *gt = to_gt(i915); > struct intel_rps *rps = >->rps; > > return sysfs_emit(buf, "%d\n", intel_rps_get_min_frequency(rps)); > @@ -351,7 +351,7 @@ static ssize_t gt_min_freq_mhz_store(struct device *kdev, >const char *buf, size_t count) > { > struct drm_i915_private *i915 = kdev_minor_to_i915(kdev); > - struct intel_rps *rps = &i915->gt.rps; > + struct intel_rps *rps = &to_gt(i915)->rps; > ssize_t ret; > u32 val; > > @@ -381,7 +381,7 @@ static DEVICE_ATTR(gt_RPn_freq_mhz, S_IRUGO, > gt_rp_mhz_show, NULL); > static ssize_t gt_rp_mhz_show(struct device *kdev, struct device_attribute > *attr, char *buf) > { > struct drm_i915_private *dev_priv = kdev_minor_to_i915(kdev); > - struct intel_rps *rps = &dev_priv->gt.rps; > + struct intel_rps *rps = &to_gt(dev_priv)->rps; > u32 val; > > if (attr == &dev_attr_gt_RP0_freq_mhz) > diff --git a/drivers/gpu/drm/i915/intel_gvt.c > b/drivers/gpu/drm/i915/intel_gvt.c > index 4e70c1a9ef2e..cf6e98962d82 100644 > --- a/drivers/gpu/drm/i915/intel_gvt.c > +++ b/drivers/gpu/drm/i915/intel_gvt.c > @@ -109,7 +109,7 @@ int intel_gvt_init(struct drm_i915_private *dev_priv) > return 0; > } > > - if (intel_uc_wants_guc_submission(&dev_priv->gt.uc)) { > + if (intel_uc_wants_guc_submission(&to_gt(dev_priv)->uc)) { > drm_err(&dev_priv->drm, > "i915 GVT-g loading failed due to Graphics > virtualization is not yet supported with GuC submission\n"); > return -EIO; > diff --git a/drivers/gpu/drm/i915/intel_wopcm.c > b/drivers/gpu/drm/i915/intel_wopcm.c > index 5e511bb891f9..f06d21005106 100644 > --- a/drivers/gpu/drm/i915/intel_wopcm.c > +++ b/drivers/gpu/drm/i915/intel_wopcm.c > @@ -220,7 +220,7 @@ static bool __wopcm_regs_locked(struct intel_uncore > *uncore, > void intel_wopcm_init(struct intel_wopcm *wopcm) > { > struct drm_i915_private *i915 = wopcm_to_i915(wopcm); > - struct intel_gt *gt = &i915->gt; > + struct intel_gt *gt = to_gt(i915); > u32 guc_fw_size = intel_uc_fw_get_upload_size(>->uc.guc.fw); > u32 huc_fw_size = intel_uc_fw_get_upload_size(>->uc.huc.fw); > u32 ctx_rsvd = context_reserved_size(i915); > -- > 2.34.1 > -- Matt Roper Graphics Software Engineer VTT-OSGC Platform Enablement Intel Corporation (916) 356-2795

Re: [PATCH v6 08/11] drm/i915/pxp: Use to_gt() helper

2021-12-09 Thread Matt Roper
o_i915(i915_kdev); > + > + return &to_gt(i915)->pxp; > } > > static int intel_pxp_tee_io_message(struct intel_pxp *pxp, > -- > 2.34.1 > -- Matt Roper Graphics Software Engineer VTT-OSGC Platform Enablement Intel Corporation (916) 356-2795

Re: [PATCH v6 07/11] drm/i915/selftests: Use to_gt() helper

2021-12-09 Thread Matt Roper
On Thu, Dec 09, 2021 at 03:25:08PM +0200, Andi Shyti wrote: > Use to_gt() helper consistently throughout the codebase. > Pure mechanical s/i915->gt/to_gt(i915). No functional changes. > > Signed-off-by: Andi Shyti > Cc: Michał Winiarski Reviewed-by: Matt Roper > --- &g

Re: [PATCH v6 06/11] drm/i915/gvt: Use to_gt() helper

2021-12-09 Thread Matt Roper
> - ppgtt = i915_ppgtt_create(&i915->gt, I915_BO_ALLOC_PM_EARLY); > + ppgtt = i915_ppgtt_create(to_gt(i915), I915_BO_ALLOC_PM_EARLY); > if (IS_ERR(ppgtt)) > return PTR_ERR(ppgtt); > > -- > 2.34.1 > -- Matt Roper Graphics Software Engineer VTT-OSGC Platform Enablement Intel Corporation (916) 356-2795

Re: [PATCH v6 05/11] drm/i915/gem: Use to_gt() helper

2021-12-09 Thread Matt Roper
gt_pm_get(to_gt(i915)); > + cancel_delayed_work_sync(&to_gt(i915)->requests.retire_work); > } > > static void restore_retire_worker(struct drm_i915_private *i915) > { > igt_flush_test(i915); > - intel_gt_pm_put(&i915->gt); > + intel_gt_pm_put(to_gt(i915)); >

Re: [PATCH v6 04/11] drm/i915/gt: Use to_gt() helper

2021-12-09 Thread Matt Roper
i915_private *i915) > SUBTEST(live_engine_reset_workarounds), > }; > > - if (intel_gt_is_wedged(&i915->gt)) > + if (intel_gt_is_wedged(to_gt(i915))) > return 0; > > - return intel_gt_live_subtests(tests, &i915->gt); > + return intel_gt_live_subtests(tests, to_gt(i915)); > } > diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c > b/drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c > index 22c1c12369f2..13b27b8ff74e 100644 > --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c > +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c > @@ -623,7 +623,7 @@ int intel_guc_slpc_enable(struct intel_guc_slpc *slpc) > if (unlikely(ret < 0)) > return ret; > > - intel_guc_pm_intrmsk_enable(&i915->gt); > + intel_guc_pm_intrmsk_enable(to_gt(i915)); > > slpc_get_rp_values(slpc); > > diff --git a/drivers/gpu/drm/i915/gt/uc/selftest_guc.c > b/drivers/gpu/drm/i915/gt/uc/selftest_guc.c > index fb0e4a7bd8ca..e8cd030137e5 100644 > --- a/drivers/gpu/drm/i915/gt/uc/selftest_guc.c > +++ b/drivers/gpu/drm/i915/gt/uc/selftest_guc.c > @@ -115,7 +115,7 @@ int intel_guc_live_selftests(struct drm_i915_private > *i915) > static const struct i915_subtest tests[] = { > SUBTEST(intel_guc_scrub_ctbs), > }; > - struct intel_gt *gt = &i915->gt; > + struct intel_gt *gt = to_gt(i915); > > if (intel_gt_is_wedged(gt)) > return 0; > diff --git a/drivers/gpu/drm/i915/gt/uc/selftest_guc_multi_lrc.c > b/drivers/gpu/drm/i915/gt/uc/selftest_guc_multi_lrc.c > index 50953c8e8b53..1297ddbf7f88 100644 > --- a/drivers/gpu/drm/i915/gt/uc/selftest_guc_multi_lrc.c > +++ b/drivers/gpu/drm/i915/gt/uc/selftest_guc_multi_lrc.c > @@ -167,7 +167,7 @@ int intel_guc_multi_lrc_live_selftests(struct > drm_i915_private *i915) > static const struct i915_subtest tests[] = { > SUBTEST(intel_guc_multi_lrc_basic), > }; > - struct intel_gt *gt = &i915->gt; > + struct intel_gt *gt = to_gt(i915); > > if (intel_gt_is_wedged(gt)) > return 0; > -- > 2.34.1 > -- Matt Roper Graphics Software Engineer VTT-OSGC Platform Enablement Intel Corporation (916) 356-2795

<    1   2   3   4   5   6   7   8   9   10   >