[Intel-gfx] [PATCH v4 16/17] drm/i915/pxp: black pixels on pxp disabled

2021-05-24 Thread Daniele Ceraolo Spurio
. [Ville] v4 (Daniele): update pxp_is_borked check. Cc: Ville Syrjälä Cc: Gaurav Kumar Cc: Shankar Uma Signed-off-by: Anshuman Gupta Signed-off-by: Daniele Ceraolo Spurio --- .../gpu/drm/i915/display/intel_atomic_plane.c | 13 +- .../drm/i915/display/intel_display_types.h| 3 ++ .../drm

Re: [Intel-gfx] [PATCH 1/1] drm/i915: Engine relative MMIO

2021-05-26 Thread Daniele Ceraolo Spurio
: Rodrigo Vivi CC: Tvrtko Ursulin CC: Chris P Wilson CC: Daniele Ceraolo Spurio --- drivers/gpu/drm/i915/gem/i915_gem_context.c | 7 --- drivers/gpu/drm/i915/gt/intel_engine_cs.c| 22 drivers/gpu/drm/i915/gt/intel_engine_types.h | 3 +++ drivers/gpu/drm/i915

Re: [Intel-gfx] [PATCH v4 14/17] drm/i915/pxp: User interface for Protected buffer

2021-05-26 Thread Daniele Ceraolo Spurio
On 5/25/2021 6:32 AM, Daniel Vetter wrote: On Mon, May 24, 2021 at 10:48:00PM -0700, Daniele Ceraolo Spurio wrote: From: Bommu Krishnaiah This api allow user mode to create Protected buffers. Only contexts marked as protected are allowed to operate on protected buffers. We only allow

Re: [Intel-gfx] [PATCH v4 14/17] drm/i915/pxp: User interface for Protected buffer

2021-05-26 Thread Daniele Ceraolo Spurio
On 5/25/2021 11:36 AM, Tang, CQ wrote: -Original Message- From: Intel-gfx On Behalf Of Daniele Ceraolo Spurio Sent: Monday, May 24, 2021 10:48 PM To: intel-gfx@lists.freedesktop.org Cc: Vetter, Daniel ; Huang Sean Z ; dri-de...@lists.freedesktop.org; Chris Wilson ; Kondapally

Re: [Intel-gfx] [PATCH v6 10/15] drm/i915/pxp: interfaces for using protected objects

2021-08-13 Thread Daniele Ceraolo Spurio
On 8/13/2021 7:37 AM, Daniel Vetter wrote: On Wed, Jul 28, 2021 at 07:01:01PM -0700, Daniele Ceraolo Spurio wrote: This api allow user mode to create protected buffers and to mark contexts as making use of such objects. Only when using contexts marked in such a way is the execution

Re: [Intel-gfx] [PATCH v6 10/15] drm/i915/pxp: interfaces for using protected objects

2021-08-13 Thread Daniele Ceraolo Spurio
On 8/13/2021 7:42 AM, Daniel Vetter wrote: On Fri, Aug 13, 2021 at 04:37:53PM +0200, Daniel Vetter wrote: On Wed, Jul 28, 2021 at 07:01:01PM -0700, Daniele Ceraolo Spurio wrote: This api allow user mode to create protected buffers and to mark contexts as making use of such objects. Only

Re: [Intel-gfx] [PATCH i-g-t 1/3] i915/gem_exec_schedule: Make gem_exec_schedule understand static priority mapping

2021-08-13 Thread Daniele Ceraolo Spurio
On 8/3/2021 6:23 PM, Matthew Brost wrote: The i915 currently has 2k visible priority levels which are currently unique. This is changing to statically map these 2k levels into 3 buckets: low: < 0 mid: 0 high: > 0 Update gem_exec_schedule to understand this. This entails updating promotion te

Re: [Intel-gfx] [PATCH i-g-t 3/3] i915/gem_exec_capture: Update to support GuC based resets

2021-08-13 Thread Daniele Ceraolo Spurio
On 8/3/2021 6:23 PM, Matthew Brost wrote: From: "Signed-off-by: John Harrison" When GuC submission is enabled, GuC itself manages hang detection and recovery. Therefore, any test that relies on being able to trigger an engine reset in the driver will fail. Full GT resets can still be trigger

Re: [Intel-gfx] [PATCH v6 10/15] drm/i915/pxp: interfaces for using protected objects

2021-08-16 Thread Daniele Ceraolo Spurio
On 8/16/2021 8:15 AM, Daniel Vetter wrote: On Fri, Aug 13, 2021 at 08:18:02AM -0700, Daniele Ceraolo Spurio wrote: On 8/13/2021 7:37 AM, Daniel Vetter wrote: On Wed, Jul 28, 2021 at 07:01:01PM -0700, Daniele Ceraolo Spurio wrote: This api allow user mode to create protected buffers and to

Re: [Intel-gfx] [PATCH 02/27] drm/i915/guc: Fix outstanding G2H accounting

2021-08-19 Thread Daniele Ceraolo Spurio
On 8/18/2021 11:16 PM, Matthew Brost wrote: A small race that could result in incorrect accounting of the number of outstanding G2H. Basically prior to this patch we did not increment the number of outstanding G2H if we encoutered a GT reset while sending a H2G. This was incorrect as the conte

Re: [Intel-gfx] [PATCH 03/27] drm/i915/guc: Unwind context requests in reverse order

2021-08-19 Thread Daniele Ceraolo Spurio
On 8/18/2021 11:16 PM, Matthew Brost wrote: When unwinding requests on a reset context, if other requests in the context are in the priority list the requests could be resubmitted out of seqno order. Traverse the list of active requests in reverse and append to the head of the priority list to

Re: [Intel-gfx] [PATCH 04/27] drm/i915/guc: Don't drop ce->guc_active.lock when unwinding context

2021-08-19 Thread Daniele Ceraolo Spurio
"drm/i915/guc: Reset implementation for new GuC interface") Signed-off-by: Matthew Brost Cc: Reviewed-by: Daniele Ceraolo Spurio Do we have a trybot of this series with GuC enabled? I've checked the functions called in the previously unlocked chunk and didn't spot

Re: [Intel-gfx] [PATCH 03/27] drm/i915/guc: Unwind context requests in reverse order

2021-08-19 Thread Daniele Ceraolo Spurio
On 8/19/2021 4:53 PM, Matthew Brost wrote: On Thu, Aug 19, 2021 at 04:54:00PM -0700, Daniele Ceraolo Spurio wrote: On 8/18/2021 11:16 PM, Matthew Brost wrote: When unwinding requests on a reset context, if other requests in the context are in the priority list the requests could be

Re: [Intel-gfx] [PATCH 05/27] drm/i915/guc: Process all G2H message at once in work queue

2021-08-19 Thread Daniele Ceraolo Spurio
Ceraolo Spurio Daniele --- drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c index 22b4733b55e2..20c710a74498 100644 --- a/drivers/gpu/drm/i915

Re: [Intel-gfx] [PATCH 09/27] drm/i915/guc: Kick tasklet after queuing a request

2021-08-20 Thread Daniele Ceraolo Spurio
ave the caller own the kick to keep it in one place? Not a blocker. Reviewed-by: Daniele Ceraolo Spurio Daniele } static int guc_bypass_tasklet_submit(struct intel_guc *guc,

Re: [Intel-gfx] [PATCH 10/27] drm/i915/guc: Don't enable scheduling on a banned context, guc_id invalid, not registered

2021-08-20 Thread Daniele Ceraolo Spurio
fine SCHED_STATE_NO_UNBLOCK \     SCHED_STATE_MULTI_BLOCKED_MASK | \     SCHED_STATE_PENDING_DISABLE | \     SCHED_STATE_BANNED Not a blocker. Reviewed-by: Daniele Ceraolo Spurio Daniele

Re: [Intel-gfx] [PATCH 13/27] drm/i915/guc: Take context ref when cancelling request

2021-08-20 Thread Daniele Ceraolo Spurio
On 8/18/2021 11:16 PM, Matthew Brost wrote: A context can get destroyed after cancelling a request so take a reference to context when cancelling a request. What's the exact race? AFAICS __i915_request_skip does not have a context_put(). Daniele Fixes: 62eaf0ae217d ("drm/i915/guc: Supp

Re: [Intel-gfx] [PATCH 15/27] drm/i915/guc: Reset LRC descriptor if register returns -ENODEV

2021-08-20 Thread Daniele Ceraolo Spurio
On 8/18/2021 11:16 PM, Matthew Brost wrote: Reset LRC descriptor if a context register returns -ENODEV as this means we are mid-reset. Fixes: eb5e7da736f3 ("drm/i915/guc: Reset implementation for new GuC interface") Signed-off-by: Matthew Brost Reviewed-by: Daniele Cera

Re: [Intel-gfx] [PATCH 17/27] drm/i915/guc: Flush G2H work queue during reset

2021-08-20 Thread Daniele Ceraolo Spurio
On 8/18/2021 11:16 PM, Matthew Brost wrote: It isn't safe to scrub for missing G2H or continue with the reset until all G2H processing is complete. Flush the G2H work queue during reset to ensure it is done running. Might be worth moving this patch closer to "drm/i915/guc: Process all G2H m

Re: [Intel-gfx] [PATCH 19/27] drm/i915/guc: Move guc_blocked fence to struct guc_state

2021-08-20 Thread Daniele Ceraolo Spurio
itself is blocked. Reviewed-by: Daniele Ceraolo Spurio Daniele Signed-off-by: Matthew Brost --- drivers/gpu/drm/i915/gt/intel_context.c| 5 +++-- drivers/gpu/drm/i915/gt/intel_context_types.h | 5 ++--- .../gpu/drm/i915/gt/uc/intel_guc_submission.c | 18 +- 3 file

[Intel-gfx] [PATCH] drm/i915/guc: drop guc_communication_enabled

2021-08-23 Thread Daniele Ceraolo Spurio
CTBs before sanitizing the GuC") Reported-by: kernel test robot Signed-off-by: Daniele Ceraolo Spurio Cc: Matthew Brost Cc: John Harrison --- drivers/gpu/drm/i915/gt/uc/intel_uc.c | 11 +++ 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/i915/gt/uc/

Re: [Intel-gfx] [PATCH 01/27] drm/i915/guc: Fix blocked context accounting

2021-08-24 Thread Daniele Ceraolo Spurio
On 8/18/2021 11:16 PM, Matthew Brost wrote: Prior to this patch the blocked context counter was cleared on init_sched_state (used during registering a context & resets) which is incorrect. This state needs to be persistent or the counter can read the incorrect value resulting in scheduling nev

Re: [Intel-gfx] [PATCH 06/27] drm/i915/guc: Workaround reset G2H is received after schedule done G2H

2021-08-24 Thread Daniele Ceraolo Spurio
On 8/18/2021 11:16 PM, Matthew Brost wrote: If the context is reset as a result of the request cancelation the context reset G2H is received after schedule disable done G2H which is likely the wrong order. The schedule disable done G2H release the waiting request cancelation code which resubmi

Re: [Intel-gfx] [PATCH 11/27] drm/i915/selftests: Fix memory corruption in live_lrc_isolation

2021-08-24 Thread Daniele Ceraolo Spurio
On 8/18/2021 11:16 PM, Matthew Brost wrote: GuC submission has exposed an existing memory corruption in live_lrc_isolation. We believe that some writes to the watchdog offsets in the LRC (0x178 & 0x17c) can result in trashing of portions of the address space. With GuC submission there are addi

Re: [Intel-gfx] [PATCH 12/27] drm/i915/selftests: Add initial GuC selftest for scrubbing lost G2H

2021-08-24 Thread Daniele Ceraolo Spurio
test reset"); + + ret = intel_gt_wait_for_idle(gt, HZ); I think here we could use a small comment where we explain that the GT won't go idle if the scrubbing was not done correctly. With that: Reviewed-by: Daniele Ceraolo Spurio Daniele + if (ret

Re: [Intel-gfx] [PATCH 14/27] drm/i915/guc: Don't touch guc_state.sched_state without a lock

2021-08-24 Thread Daniele Ceraolo Spurio
On 8/18/2021 11:16 PM, Matthew Brost wrote: Before we did some clever tricks to not use the a lock when touching guc_state.sched_state in certain cases. Don't do that, enforce the use of the lock. Part of this is removing a dead code path from guc_lrc_desc_pin where a context could be deregis

Re: [Intel-gfx] [PATCH 13/27] drm/i915/guc: Take context ref when cancelling request

2021-08-24 Thread Daniele Ceraolo Spurio
On 8/24/2021 8:42 AM, Matthew Brost wrote: On Fri, Aug 20, 2021 at 05:07:27PM -0700, Daniele Ceraolo Spurio wrote: On 8/18/2021 11:16 PM, Matthew Brost wrote: A context can get destroyed after cancelling a request so take a reference to context when cancelling a request. What's the

Re: [Intel-gfx] [PATCH 17/27] drm/i915/guc: Flush G2H work queue during reset

2021-08-24 Thread Daniele Ceraolo Spurio
On 8/24/2021 8:44 AM, Matthew Brost wrote: On Fri, Aug 20, 2021 at 05:25:41PM -0700, Daniele Ceraolo Spurio wrote: On 8/18/2021 11:16 PM, Matthew Brost wrote: It isn't safe to scrub for missing G2H or continue with the reset until all G2H processing is complete. Flush the G2H work

Re: [Intel-gfx] [PATCH 18/27] drm/i915/guc: Release submit fence from an irq_work

2021-08-24 Thread Daniele Ceraolo Spurio
ist (I know we don't now, it's just for future proofing paranoia). with that: Reviewed-by: Daniele Ceraolo Spurio Daniele INIT_LIST_HEAD(&ce->guc_state.fences); } @@ -2145,6 +2157,7 @@ static int guc_request_alloc(struct i915_request *rq)

Re: [Intel-gfx] [PATCH 14/27] drm/i915/guc: Don't touch guc_state.sched_state without a lock

2021-08-24 Thread Daniele Ceraolo Spurio
On 8/24/2021 6:44 PM, Matthew Brost wrote: On Tue, Aug 24, 2021 at 06:20:49PM -0700, Daniele Ceraolo Spurio wrote: On 8/18/2021 11:16 PM, Matthew Brost wrote: Before we did some clever tricks to not use the a lock when touching guc_state.sched_state in certain cases. Don't do that, en

Re: [Intel-gfx] [PATCH 24/27] drm/i915/guc: Move fields protected by guc->contexts_lock into sub structure

2021-08-24 Thread Daniele Ceraolo Spurio
/* +* GuC ID link - in list when unpinned but guc_id still valid in GuC +*/ + struct list_head link; + } guc_id; Maybe add a /* protected via guc->contexts_lock */ somewhere in the struct doc? Reviewed-by: Daniele

Re: [Intel-gfx] [PATCH 20/27] drm/i915/guc: Rework and simplify locking

2021-08-25 Thread Daniele Ceraolo Spurio
spin_lock(&sched_engine->lock); decr_context_blocked(ce); - spin_unlock(&sched_engine->lock); spin_unlock_irqrestore(&ce->guc_state.lock, flags); @@ -1710,7 +1695,9 @@ static void guc_context_sched_disable(struct intel_context *

Re: [Intel-gfx] [PATCH 23/27] drm/i915/guc: Move GuC priority fields in context under guc_active

2021-08-25 Thread Daniele Ceraolo Spurio
On 8/18/2021 11:16 PM, Matthew Brost wrote: Move GuC management fields in context under guc_active struct as this is where the lock that protects theses fields lives. Also only set guc_prio field once during context init. Can you explain what we gain by setting that only on first pin? AFAICS

Re: [Intel-gfx] [PATCH 21/27] drm/i915/guc: Proper xarray usage for contexts_lookup

2021-08-25 Thread Daniele Ceraolo Spurio
On 8/18/2021 11:16 PM, Matthew Brost wrote: Lock the xarray and take ref to the context if needed. v2: (Checkpatch) - Add new line after declaration (Daniel Vetter) - Correct put / get accounting in xa_for_loops Signed-off-by: Matthew Brost --- .../gpu/drm/i915/gt/uc/intel_guc_s

Re: [Intel-gfx] [PATCH 21/27] drm/i915/guc: Proper xarray usage for contexts_lookup

2021-08-25 Thread Daniele Ceraolo Spurio
On 8/25/2021 5:41 PM, Matthew Brost wrote: On Wed, Aug 25, 2021 at 05:44:11PM -0700, Daniele Ceraolo Spurio wrote: On 8/18/2021 11:16 PM, Matthew Brost wrote: Lock the xarray and take ref to the context if needed. v2: (Checkpatch) - Add new line after declaration (Daniel Vetter

Re: [Intel-gfx] [PATCH 22/27] drm/i915/guc: Drop pin count check trick between sched_disable and re-pin

2021-08-25 Thread Daniele Ceraolo Spurio
Ceraolo Spurio Daniele --- drivers/gpu/drm/i915/gt/intel_context_types.h | 2 + .../gpu/drm/i915/gt/uc/intel_guc_submission.c | 49 --- 2 files changed, 34 insertions(+), 17 deletions(-) diff --git a/drivers/gpu/drm/i915/gt/intel_context_types.h b/drivers/gpu/drm/i915/gt

Re: [Intel-gfx] [PATCH 25/27] drm/i915/guc: Drop guc_active move everything into guc_state

2021-08-25 Thread Daniele Ceraolo Spurio
On 8/18/2021 11:16 PM, Matthew Brost wrote: Now that we have locking hierarchy of sched_engine->lock -> ce->guc_state everything from guc_active can be moved into guc_state and protected the guc_state.lock. Signed-off-by: Matthew Brost Reviewed-by: Daniele Ceraolo Spurio

Re: [Intel-gfx] [PATCH 26/27] drm/i915/guc: Add GuC kernel doc

2021-08-25 Thread Daniele Ceraolo Spurio
On 8/18/2021 11:16 PM, Matthew Brost wrote: Add GuC kernel doc for all structures added thus far for GuC submission and update the main GuC submission section with the new interface details. v2: - Drop guc_active.lock DOC Signed-off-by: Matthew Brost --- drivers/gpu/drm/i915/gt/intel_co

Re: [Intel-gfx] [PATCH 02/27] drm/i915/guc: Fix outstanding G2H accounting

2021-08-26 Thread Daniele Ceraolo Spurio
On 8/25/2021 8:23 PM, Matthew Brost wrote: A small race that could result in incorrect accounting of the number of outstanding G2H. Basically prior to this patch we did not increment the number of outstanding G2H if we encoutered a GT reset while sending a H2G. This was incorrect as the contex

Re: [Intel-gfx] [PATCH 06/27] drm/i915/guc: Workaround reset G2H is received after schedule done G2H

2021-08-26 Thread Daniele Ceraolo Spurio
: (Checkpatch) - Fix typos v3: (Daniele) - State that is a bug in the GuC firmware Fixes: 62eaf0ae217d ("drm/i915/guc: Support request cancellation") Signed-off-by: Matthew Brost Cc: Reviewed-by: Daniele Ceraolo Spurio Daniele --- .../gpu/drm/i915/gt/uc/intel_guc_submiss

Re: [Intel-gfx] [PATCH 11/27] drm/i915/guc: Copy whole golden context, set engine state size of subset

2021-08-26 Thread Daniele Ceraolo Spurio
ore not a magic number only available in the GuC code. With the comment fixed: Reviewed-by: Daniele Ceraolo Spurio Daniele + blob->ads.eng_state_size[guc_class] = real_size - skip_size; blob->ads.golden_context_lrca[guc_class] = addr_ggtt;

Re: [Intel-gfx] [PATCH 23/27] drm/i915/guc: Move GuC priority fields in context under guc_active

2021-08-26 Thread Daniele Ceraolo Spurio
Reviewed-by: Daniele Ceraolo Spurio Daniele --- drivers/gpu/drm/i915/gt/intel_context_types.h | 12 ++-- .../gpu/drm/i915/gt/uc/intel_guc_submission.c | 69 +++ drivers/gpu/drm/i915/i915_trace.h | 2 +- 3 files changed, 46 insertions(+), 37 deletions

[Intel-gfx] [PATCH v7 01/17] drm/i915/pxp: Define PXP component interface

2021-08-27 Thread Daniele Ceraolo Spurio
-by: Daniele Ceraolo Spurio Cc: Rodrigo Vivi Reviewed-by: Rodrigo Vivi --- include/drm/i915_component.h | 1 + include/drm/i915_pxp_tee_interface.h | 42 2 files changed, 43 insertions(+) create mode 100644 include/drm/i915_pxp_tee_interface.h diff --git a

[Intel-gfx] [PATCH v7 00/17] drm/i915: Introduce Intel PXP

2021-08-27 Thread Daniele Ceraolo Spurio
erlin Cc: Jason Ekstrand Cc: Daniel Vetter Anshuman Gupta (2): drm/i915/pxp: Add plane decryption support drm/i915/pxp: black pixels on pxp disabled Daniele Ceraolo Spurio (9): drm/i915/pxp: Define PXP component interface drm/i915/pxp: define PXP device flag and kconfig drm/i91

[Intel-gfx] [PATCH v7 03/17] drm/i915/pxp: define PXP device flag and kconfig

2021-08-27 Thread Daniele Ceraolo Spurio
Ahead of the PXP implementation, define the relevant define flag and kconfig option. v2: flip kconfig default to N. Some machines have IFWIs that do not support PXP, so we need it to be an opt-in until we add support to query the caps from the mei device. Signed-off-by: Daniele Ceraolo Spurio

[Intel-gfx] [PATCH v7 02/17] mei: pxp: export pavp client to me client bus

2021-08-27 Thread Daniele Ceraolo Spurio
From: Vitaly Lubart Export PAVP client to work with i915 driver, for binding it uses kernel component framework. v2:drop debug prints, refactor match code to match mei_hdcp (Tomas) Signed-off-by: Vitaly Lubart Signed-off-by: Tomas Winkler Signed-off-by: Daniele Ceraolo Spurio Reviewed-by

[Intel-gfx] [PATCH v7 04/17] drm/i915/pxp: allocate a vcs context for pxp usage

2021-08-27 Thread Daniele Ceraolo Spurio
: split export of pinned_context functions to a separate patch (Rodrigo) Signed-off-by: Daniele Ceraolo Spurio Cc: Chris Wilson Reviewed-by: Rodrigo Vivi --- drivers/gpu/drm/i915/Makefile | 4 ++ drivers/gpu/drm/i915/gt/intel_engine.h | 2 + drivers/gpu/drm/i915/gt/intel_gt.c

[Intel-gfx] [PATCH v7 05/17] drm/i915/pxp: Implement funcs to create the TEE channel

2021-08-27 Thread Daniele Ceraolo Spurio
he wait, as the component might be bound after i915 load completes. We'll instead check when sending a tee message. v5: fix an issue with mei_pxp module removal Signed-off-by: Huang, Sean Z Signed-off-by: Daniele Ceraolo Spurio Cc: Chris Wilson Reviewed-by: Rodrigo Vivi #v4 --- drivers/g

[Intel-gfx] [PATCH v7 06/17] drm/i915/pxp: set KCR reg init

2021-08-27 Thread Daniele Ceraolo Spurio
: Daniele Ceraolo Spurio Reviewed-by: Rodrigo Vivi --- drivers/gpu/drm/i915/pxp/intel_pxp.c | 27 drivers/gpu/drm/i915/pxp/intel_pxp.h | 3 +++ drivers/gpu/drm/i915/pxp/intel_pxp_tee.c | 5 + 3 files changed, 35 insertions(+) diff --git a/drivers/gpu/drm

[Intel-gfx] [PATCH v7 07/17] drm/i915/pxp: Create the arbitrary session after boot

2021-08-27 Thread Daniele Ceraolo Spurio
v3: s/arb_is_in_play/arb_is_valid (Chris), move set-up to the new init_hw function v4: move interface defs to separate header, set arb_is valid to false on fini (Rodrigo) v5: handle async component binding Signed-off-by: Huang, Sean Z Signed-off-by: Daniele Ceraolo Spurio Cc: Chris Wil

[Intel-gfx] [PATCH v7 10/17] drm/i915/pxp: interfaces for using protected objects

2021-08-27 Thread Daniele Ceraolo Spurio
quash patches, rebase on proto_ctx, update kerneldoc v6: rebase on obj create_ext changes v7: Use session counter to check if an object it valid, hold wakeref in context, don't add a new flag to RESET_STATS (Daniel) Signed-off-by: Daniele Ceraolo Spurio Signed-off-by: Bommu Krishnaiah C

[Intel-gfx] [PATCH v7 12/17] drm/i915/pxp: Enable PXP power management

2021-08-27 Thread Daniele Ceraolo Spurio
esson on resume (delayed to first submission). v5: move irq changes back to irq patch (Rodrigo) Signed-off-by: Huang, Sean Z Signed-off-by: Daniele Ceraolo Spurio Cc: Chris Wilson Cc: Rodrigo Vivi --- drivers/gpu/drm/i915/Makefile| 1 + drivers/gpu/drm/i915/gt/intel_gt_p

[Intel-gfx] [PATCH v7 11/17] drm/i915/pxp: start the arb session on demand

2021-08-27 Thread Daniele Ceraolo Spurio
Now that we can handle destruction and re-creation of the arb session, we can postpone the start of the session to the first submission that requires it, to avoid keeping it running with no user. Signed-off-by: Daniele Ceraolo Spurio Reviewed-by: Rodrigo Vivi --- drivers/gpu/drm/i915/gem

[Intel-gfx] [PATCH v7 08/17] drm/i915/pxp: Implement arb session teardown

2021-08-27 Thread Daniele Ceraolo Spurio
me v2: emit in the ring, use high prio request (Chris) v3: better defines, stalling flush, cleaned up and renamed submission funcs (Chris) Signed-off-by: Huang, Sean Z Signed-off-by: Daniele Ceraolo Spurio Cc: Chris Wilson Reviewed-by: Rodrigo Vivi --- drivers/gpu/drm/i915/Makefile

[Intel-gfx] [PATCH v7 09/17] drm/i915/pxp: Implement PXP irq handler

2021-08-27 Thread Daniele Ceraolo Spurio
ned-off-by: Huang, Sean Z Signed-off-by: Daniele Ceraolo Spurio Cc: Chris Wilson Cc: Rodrigo Vivi Reviewed-by: Rodrigo Vivi --- drivers/gpu/drm/i915/Makefile| 1 + drivers/gpu/drm/i915/gt/intel_gt_irq.c | 7 ++ drivers/gpu/drm/i915/i915_reg.h | 1 + drive

[Intel-gfx] [PATCH v7 13/17] drm/i915/pxp: Add plane decryption support

2021-08-27 Thread Daniele Ceraolo Spurio
f the object has not been used in an execbuf beforehand. Cc: Bommu Krishnaiah Cc: Huang Sean Z Cc: Gaurav Kumar Cc: Ville Syrjälä Signed-off-by: Anshuman Gupta Signed-off-by: Daniele Ceraolo Spurio Signed-off-by: Juston Li Reviewed-by: Rodrigo Vivi #v8 Reviewed-by: Uma Shankar #v9 --- dr

[Intel-gfx] [PATCH v7 14/17] drm/i915/pxp: black pixels on pxp disabled

2021-08-27 Thread Daniele Ceraolo Spurio
. [Ville] v4 (Daniele): update pxp_is_borked check. v5: rebase on top of v9 plane decryption moving the decrypt check (Juston) Cc: Ville Syrjälä Cc: Gaurav Kumar Cc: Shankar Uma Signed-off-by: Anshuman Gupta Signed-off-by: Daniele Ceraolo Spurio Signed-off-by: Juston Li Reviewed-by: Rodrigo

[Intel-gfx] [PATCH v7 17/17] drm/i915/pxp: enable PXP for integrated Gen12

2021-08-27 Thread Daniele Ceraolo Spurio
Note that discrete cards can support PXP as well, but we haven't tested on those yet so keeping it disabled for now. Signed-off-by: Daniele Ceraolo Spurio Reviewed-by: Rodrigo Vivi --- drivers/gpu/drm/i915/i915_pci.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm

[Intel-gfx] [PATCH v7 16/17] drm/i915/pxp: add PXP documentation

2021-08-27 Thread Daniele Ceraolo Spurio
Now that all the pieces are in place we can add a description of how the feature works. Also modify the comments in struct intel_pxp into kerneldoc. Signed-off-by: Daniele Ceraolo Spurio Cc: Daniel Vetter Cc: Rodrigo Vivi --- Documentation/gpu/i915.rst | 8 drivers/gpu

[Intel-gfx] [PATCH v7 15/17] drm/i915/pxp: add pxp debugfs

2021-08-27 Thread Daniele Ceraolo Spurio
2 debugfs files, one to query the current status of the pxp session and one to trigger an invalidation for testing. Signed-off-by: Daniele Ceraolo Spurio --- drivers/gpu/drm/i915/Makefile| 1 + drivers/gpu/drm/i915/gt/debugfs_gt.c | 2 + drivers/gpu/drm/i915/pxp

Re: [Intel-gfx] [PATCH v7 02/17] mei: pxp: export pavp client to me client bus

2021-08-30 Thread Daniele Ceraolo Spurio
On 8/27/2021 6:27 PM, Daniele Ceraolo Spurio wrote: From: Vitaly Lubart Export PAVP client to work with i915 driver, for binding it uses kernel component framework. v2:drop debug prints, refactor match code to match mei_hdcp (Tomas) Signed-off-by: Vitaly Lubart Signed-off-by: Tomas

Re: [Intel-gfx] [PATCH v7 05/17] drm/i915/pxp: Implement funcs to create the TEE channel

2021-08-31 Thread Daniele Ceraolo Spurio
On 8/31/2021 2:08 PM, Rodrigo Vivi wrote: On Fri, Aug 27, 2021 at 06:27:26PM -0700, Daniele Ceraolo Spurio wrote: From: "Huang, Sean Z" Implement the funcs to create the TEE channel, so kernel can send the TEE commands directly to TEE for creating the arbitrary (default) session

Re: [Intel-gfx] [PATCH v7 10/17] drm/i915/pxp: interfaces for using protected objects

2021-08-31 Thread Daniele Ceraolo Spurio
+} + +void intel_pxp_invalidate(struct intel_pxp *pxp) +{ + struct drm_i915_private *i915 = pxp_to_gt(pxp)->i915; + struct i915_gem_context *ctx, *cn; + + /* ban all contexts marked as protected */ + spin_lock_irq(&i915->gem.contexts.lock); + list_for_each_entry_sa

[Intel-gfx] [PATCH v5 00/25] Clean up GuC CI failures, simplify locking, and kernel DOC

2021-09-01 Thread Daniele Ceraolo Spurio
(not critical, Matt will update and resend when he's back), address review comments, improve kerneldoc. Also move all code related to busy loop to patch 2 so we have a standalone fix. Signed-off-by: Matthew Brost Signed-off-by: Daniele Ceraolo Spurio #v5 Matthew Brost (25): drm/i915/guc:

[Intel-gfx] [PATCH v5 01/25] drm/i915/guc: Fix blocked context accounting

2021-09-01 Thread Daniele Ceraolo Spurio
From: Matthew Brost Prior to this patch the blocked context counter was cleared on init_sched_state (used during registering a context & resets) which is incorrect. This state needs to be persistent or the counter can read the incorrect value resulting in scheduling never getting enabled again.

[Intel-gfx] [PATCH v5 02/25] drm/i915/guc: Fix outstanding G2H accounting

2021-09-01 Thread Daniele Ceraolo Spurio
has space in buffer") Signed-off-by: Matthew Brost Signed-off-by: Daniele Ceraolo Spurio Cc: --- .../gpu/drm/i915/gt/uc/intel_guc_submission.c | 79 +-- 1 file changed, 37 insertions(+), 42 deletions(-) diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c b/drive

[Intel-gfx] [PATCH v5 03/25] drm/i915/guc: Unwind context requests in reverse order

2021-09-01 Thread Daniele Ceraolo Spurio
: eb5e7da736f3 ("drm/i915/guc: Reset implementation for new GuC interface") Signed-off-by: Matthew Brost Reviewed-by: Daniele Ceraolo Spurio Cc: --- drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/

[Intel-gfx] [PATCH v5 04/25] drm/i915/guc: Don't drop ce->guc_active.lock when unwinding context

2021-09-01 Thread Daniele Ceraolo Spurio
implementation for new GuC interface") Reviewed-by: Daniele Ceraolo Spurio Signed-off-by: Matthew Brost Cc: --- drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 4 1 file changed, 4 deletions(-) diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c b/dri

[Intel-gfx] [PATCH v5 06/25] drm/i915/guc: Workaround reset G2H is received after schedule done G2H

2021-09-01 Thread Daniele Ceraolo Spurio
: (Daniele) - State that is a bug in the GuC firmware Fixes: 62eaf0ae217d ("drm/i915/guc: Support request cancellation") Signed-off-by: Matthew Brost Cc: Reviewed-by: Daniele Ceraolo Spurio --- .../gpu/drm/i915/gt/uc/intel_guc_submission.c | 41 --- 1 file changed, 35

[Intel-gfx] [PATCH v5 05/25] drm/i915/guc: Process all G2H message at once in work queue

2021-09-01 Thread Daniele Ceraolo Spurio
From: Matthew Brost Rather than processing 1 G2H at a time and re-queuing the work queue if more messages exist, process all the G2H in a single pass of the work queue. Signed-off-by: Matthew Brost Reviewed-by: Daniele Ceraolo Spurio Cc: Daniel Vetter Cc: Michal Wajdeczko --- drivers/gpu

[Intel-gfx] [PATCH v5 07/25] Revert "drm/i915/gt: Propagate change in error status to children on unhold"

2021-09-01 Thread Daniele Ceraolo Spurio
From: Matthew Brost Propagating errors to dependent fences is broken and can lead to errors from one client ending up in another. In 3761baae908a (Revert "drm/i915: Propagate errors on awaiting already signaled fences"), we attempted to get rid of fence error propagation but missed the case adde

[Intel-gfx] [PATCH v5 10/25] drm/i915/guc: Copy whole golden context, set engine state size of subset

2021-09-01 Thread Daniele Ceraolo Spurio
5/guc: Add golden context to GuC ADS") Signed-off-by: Matthew Brost Signed-off-by: Daniele Ceraolo Spurio Cc: John Harrison --- drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c | 26 ++ 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/drivers/gpu/drm/i915/gt/uc/

[Intel-gfx] [PATCH v5 08/25] drm/i915/guc: Kick tasklet after queuing a request

2021-09-01 Thread Daniele Ceraolo Spurio
From: Matthew Brost Kick tasklet after queuing a request so it submitted in a timely manner. Fixes: 3a4cdf1982f0 ("drm/i915/guc: Implement GuC context operations for new inteface") Signed-off-by: Matthew Brost Reviewed-by: Daniele Ceraolo Spurio --- drivers/gpu/drm/

[Intel-gfx] [PATCH v5 11/25] drm/i915/selftests: Add initial GuC selftest for scrubbing lost G2H

2021-09-01 Thread Daniele Ceraolo Spurio
ment saying GT won't idle if G2H are lost Reviewed-by: Daniele Ceraolo Spurio Signed-off-by: Matthew Brost --- drivers/gpu/drm/i915/gt/intel_context_types.h | 18 +++ .../gpu/drm/i915/gt/uc/intel_guc_submission.c | 25 drivers/gpu/drm/i915/gt/uc/selftest_guc.c | 127 +++

[Intel-gfx] [PATCH v5 09/25] drm/i915/guc: Don't enable scheduling on a banned context, guc_id invalid, not registered

2021-09-01 Thread Daniele Ceraolo Spurio
y: Daniele Ceraolo Spurio Cc: --- .../gpu/drm/i915/gt/uc/intel_guc_submission.c | 22 --- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c index bd401a5be87c..f5

[Intel-gfx] [PATCH v5 14/25] drm/i915/guc: Reset LRC descriptor if register returns -ENODEV

2021-09-01 Thread Daniele Ceraolo Spurio
From: Matthew Brost Reset LRC descriptor if a context register returns -ENODEV as this means we are mid-reset. Fixes: eb5e7da736f3 ("drm/i915/guc: Reset implementation for new GuC interface") Signed-off-by: Matthew Brost Reviewed-by: Daniele Ceraolo Spurio --- drivers/gpu/drm/

[Intel-gfx] [PATCH v5 13/25] drm/i915/guc: Don't touch guc_state.sched_state without a lock

2021-09-01 Thread Daniele Ceraolo Spurio
moval has been moved to an earlier patch. Signed-off-by: Matthew Brost Reported-by: kernel test robot Reviewed-by: Daniele Ceraolo Spurio --- .../gpu/drm/i915/gt/uc/intel_guc_submission.c | 22 ++- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/i915/

[Intel-gfx] [PATCH v5 15/25] drm/i915: Allocate error capture in nowait context

2021-09-01 Thread Daniele Ceraolo Spurio
From: Matthew Brost Error captures can now be done in a work queue processing G2H messages. These messages need to be completely done being processed in the reset path, to avoid races in the missing G2H cleanup, which create a dependency on memory allocations and dma fences (i915_requests). Reque

[Intel-gfx] [PATCH v5 16/25] drm/i915/guc: Flush G2H work queue during reset

2021-09-01 Thread Daniele Ceraolo Spurio
g G2H. Fixes: eb5e7da736f3 ("drm/i915/guc: Reset implementation for new GuC interface") Signed-off-by: Matthew Brost Reviewed-by: Daniele Ceraolo Spurio --- .../gpu/drm/i915/gt/uc/intel_guc_submission.c | 18 ++ 1 file changed, 2 insertions(+), 16 deletions(-) diff --gi

[Intel-gfx] [PATCH v5 12/25] drm/i915/guc: Take context ref when cancelling request

2021-09-01 Thread Daniele Ceraolo Spurio
From: Matthew Brost A context can get destroyed after cancelling a request, if a context or GT reset occurs, so take a reference to context when cancelling a request. Fixes: 62eaf0ae217d ("drm/i915/guc: Support request cancellation") Signed-off-by: Matthew Brost Reviewed-by: Danie

[Intel-gfx] [PATCH v5 17/25] drm/i915/guc: Release submit fence from an irq_work

2021-09-01 Thread Daniele Ceraolo Spurio
st be release went holding ce->guc_state.lock and the releasing of the can acquire sched_engine->lock. v2: (Daniele) - Delete request from list before calling irq_work_queue Reviewed-by: Daniele Ceraolo Spurio Signed-off-by: Matthew Brost --- .../gpu/drm/i915/gt/uc/int

[Intel-gfx] [PATCH v5 21/25] drm/i915/guc: Drop pin count check trick between sched_disable and re-pin

2021-09-01 Thread Daniele Ceraolo Spurio
From: Matthew Brost Drop pin count check trick between a sched_disable and re-pin, now rely on the lock and counter of the number of committed requests to determine if scheduling should be disabled on the context. Reviewed-by: Daniele Ceraolo Spurio Signed-off-by: Matthew Brost --- drivers

[Intel-gfx] [PATCH v5 19/25] drm/i915/guc: Rework and simplify locking

2021-09-01 Thread Daniele Ceraolo Spurio
to sched_engine.lock -> guc_state.lock. v2: (Daniele) - Don't check fields outside of lock during sched disable, check less fields within lock as some of the outside are no longer needed Reviewed-by: Daniele Ceraolo Spurio Signed-off-by: Matthew Brost --- drivers/gpu/

[Intel-gfx] [PATCH v5 20/25] drm/i915/guc: Proper xarray usage for contexts_lookup

2021-09-01 Thread Daniele Ceraolo Spurio
From: Matthew Brost Lock the xarray and take ref to the context if needed. v2: (Checkpatch) - Add new line after declaration (Daniel Vetter) - Correct put / get accounting in xa_for_loops v3: (Checkpatch) - Extra new line Reviewed-by: Daniele Ceraolo Spurio Signed-off-by: Matthew

[Intel-gfx] [PATCH v5 23/25] drm/i915/guc: Move fields protected by guc->contexts_lock into sub structure

2021-09-01 Thread Daniele Ceraolo Spurio
From: Matthew Brost To make ownership of locking clear move fields (guc_id, guc_id_ref, guc_id_link) to sub structure guc_id in intel_context. Reviewed-by: Daniele Ceraolo Spurio Signed-off-by: Matthew Brost --- drivers/gpu/drm/i915/gt/intel_context.c | 4 +- drivers/gpu/drm/i915/gt

[Intel-gfx] [PATCH v5 22/25] drm/i915/guc: Move GuC priority fields in context under guc_active

2021-09-01 Thread Daniele Ceraolo Spurio
Ceraolo Spurio --- drivers/gpu/drm/i915/gt/intel_context_types.h | 12 ++-- .../gpu/drm/i915/gt/uc/intel_guc_submission.c | 69 +++ drivers/gpu/drm/i915/i915_trace.h | 2 +- 3 files changed, 46 insertions(+), 37 deletions(-) diff --git a/drivers/gpu/drm/i915/gt

[Intel-gfx] [PATCH v5 18/25] drm/i915/guc: Move guc_blocked fence to struct guc_state

2021-09-01 Thread Daniele Ceraolo Spurio
From: Matthew Brost Move guc_blocked fence to struct guc_state as the lock which protects the fence lives there. s/ce->guc_blocked/ce->guc_state.blocked/g v2: (Daniele) - s/blocked_fence/blocked/g Reviewed-by: Daniele Ceraolo Spurio Signed-off-by: Matthew Brost --- drivers/gpu/dr

[Intel-gfx] [PATCH v5 24/25] drm/i915/guc: Drop guc_active move everything into guc_state

2021-09-01 Thread Daniele Ceraolo Spurio
From: Matthew Brost Now that we have locking hierarchy of sched_engine->lock -> ce->guc_state everything from guc_active can be moved into guc_state and protected the guc_state.lock. Signed-off-by: Matthew Brost Reviewed-by: Daniele Ceraolo Spurio --- drivers/gpu/drm/i915/gt/intel_

[Intel-gfx] [PATCH v5 25/25] drm/i915/guc: Add GuC kernel doc

2021-09-01 Thread Daniele Ceraolo Spurio
John - Add kerneldoc for all members of the GuC structure and pull the file in i915.rst Signed-off-by: Matthew Brost Signed-off-by: Daniele Ceraolo Spurio Cc: John Harrison --- Documentation/gpu/i915.rst| 2 + drivers/gpu/drm/i915/gt/intel_context_types.h | 43

Re: [Intel-gfx] [PATCH v5 25/25] drm/i915/guc: Add GuC kernel doc

2021-09-02 Thread Daniele Ceraolo Spurio
On 9/2/2021 10:01 AM, John Harrison wrote: On 9/1/2021 17:50, Daniele Ceraolo Spurio wrote: From: Matthew Brost Add GuC kernel doc for all structures added thus far for GuC submission and update the main GuC submission section with the new interface details. v2:   - Drop guc_active.lock

[Intel-gfx] [PATCH v5 25/25] drm/i915/guc: Add GuC kernel doc

2021-09-03 Thread Daniele Ceraolo Spurio
John - Add kerneldoc for all members of the GuC structure and pull the file in i915.rst v5 (Daniele): - Implement new doc suggestions from John Signed-off-by: Matthew Brost Signed-off-by: Daniele Ceraolo Spurio Cc: John Harrison --- Documentation/gpu/i915.rst| 2

[Intel-gfx] [PATCH v5 07/25] Revert "drm/i915/gt: Propagate change in error status to children on unhold"

2021-09-03 Thread Daniele Ceraolo Spurio
sts complete successfully. v2: (Daniel Vetter) - Use revert v3: (Jason) - Update commit message v4 (Daniele): - fix checkpatch error in commit message. References: '3761baae908a ("Revert "drm/i915: Propagate errors on awaiting already signaled fences"")' Signed-

Re: [Intel-gfx] [PATCH v7 15/17] drm/i915/pxp: add pxp debugfs

2021-09-09 Thread Daniele Ceraolo Spurio
On 9/9/2021 1:17 AM, Teres Alexis, Alan Previn wrote: I dont see any issues except a couple of nits. Reviewed-by : Alan Previn ...alan On Fri, 2021-08-27 at 18:27 -0700, Daniele Ceraolo Spurio wrote: 2 debugfs files, one to query the current status of the pxp session and one to trigger

[Intel-gfx] [PATCH v8 00/17] drm/i915: Introduce Intel PXP

2021-09-09 Thread Daniele Ceraolo Spurio
plane decryption support drm/i915/pxp: black pixels on pxp disabled Daniele Ceraolo Spurio (9): drm/i915/pxp: Define PXP component interface drm/i915/pxp: define PXP device flag and kconfig drm/i915/pxp: allocate a vcs context for pxp usage drm/i915/pxp: set KCR reg init drm/i915/pxp

[Intel-gfx] [PATCH v8 01/17] drm/i915/pxp: Define PXP component interface

2021-09-09 Thread Daniele Ceraolo Spurio
-by: Daniele Ceraolo Spurio Cc: Rodrigo Vivi Reviewed-by: Rodrigo Vivi --- include/drm/i915_component.h | 1 + include/drm/i915_pxp_tee_interface.h | 42 2 files changed, 43 insertions(+) create mode 100644 include/drm/i915_pxp_tee_interface.h diff --git a

[Intel-gfx] [PATCH v8 03/17] drm/i915/pxp: define PXP device flag and kconfig

2021-09-09 Thread Daniele Ceraolo Spurio
Ahead of the PXP implementation, define the relevant define flag and kconfig option. v2: flip kconfig default to N. Some machines have IFWIs that do not support PXP, so we need it to be an opt-in until we add support to query the caps from the mei device. Signed-off-by: Daniele Ceraolo Spurio

[Intel-gfx] [PATCH v8 02/17] mei: pxp: export pavp client to me client bus

2021-09-09 Thread Daniele Ceraolo Spurio
From: Vitaly Lubart Export PAVP client to work with i915 driver, for binding it uses kernel component framework. v2:drop debug prints, refactor match code to match mei_hdcp (Tomas) Signed-off-by: Vitaly Lubart Signed-off-by: Tomas Winkler Signed-off-by: Daniele Ceraolo Spurio Reviewed-by

[Intel-gfx] [PATCH v8 04/17] drm/i915/pxp: allocate a vcs context for pxp usage

2021-09-09 Thread Daniele Ceraolo Spurio
: split export of pinned_context functions to a separate patch (Rodrigo) Signed-off-by: Daniele Ceraolo Spurio Cc: Chris Wilson Reviewed-by: Rodrigo Vivi --- drivers/gpu/drm/i915/Makefile | 4 ++ drivers/gpu/drm/i915/gt/intel_engine.h | 2 + drivers/gpu/drm/i915/gt/intel_gt.c

[Intel-gfx] [PATCH v8 05/17] drm/i915/pxp: Implement funcs to create the TEE channel

2021-09-09 Thread Daniele Ceraolo Spurio
he wait, as the component might be bound after i915 load completes. We'll instead check when sending a tee message. v5: fix an issue with mei_pxp module removal v6: don't use fetch_and_zero in fini (Rodrigo) Signed-off-by: Huang, Sean Z Signed-off-by: Daniele Ceraolo Spurio Cc: Chris Wilson

[Intel-gfx] [PATCH v8 07/17] drm/i915/pxp: Create the arbitrary session after boot

2021-09-09 Thread Daniele Ceraolo Spurio
v3: s/arb_is_in_play/arb_is_valid (Chris), move set-up to the new init_hw function v4: move interface defs to separate header, set arb_is valid to false on fini (Rodrigo) v5: handle async component binding Signed-off-by: Huang, Sean Z Signed-off-by: Daniele Ceraolo Spurio Cc: Chris Wil

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