[Intel-gfx] ✓ Fi.CI.IGT: success for Introduce Intel PXP component (rev4)

2020-12-01 Thread Patchwork
== Series Details == Series: Introduce Intel PXP component (rev4) URL : https://patchwork.freedesktop.org/series/84136/ State : success == Summary == CI Bug Log - changes from CI_DRM_9418_full -> Patchwork_19034_full Summary --- **SU

[Intel-gfx] ✓ Fi.CI.BAT: success for i915/perf: Drop the check for report reason in OA

2020-12-01 Thread Patchwork
== Series Details == Series: i915/perf: Drop the check for report reason in OA URL : https://patchwork.freedesktop.org/series/84478/ State : success == Summary == CI Bug Log - changes from CI_DRM_9418 -> Patchwork_19035 Summary --- *

[Intel-gfx] ✓ Fi.CI.BAT: success for Introduce Intel PXP component (rev4)

2020-12-01 Thread Patchwork
== Series Details == Series: Introduce Intel PXP component (rev4) URL : https://patchwork.freedesktop.org/series/84136/ State : success == Summary == CI Bug Log - changes from CI_DRM_9418 -> Patchwork_19034 Summary --- **SUCCESS**

Re: [Intel-gfx] [v12 15/15] drm/i915/display: [NOT FOR MERGE] Reduce blanking to support 4k60@10bpp for LSPCON

2020-12-01 Thread Shashank Sharma
On 02/12/20 2:17 am, Shankar, Uma wrote: > >> -Original Message- >> From: Intel-gfx On Behalf Of >> Shashank >> Sharma >> Sent: Monday, November 30, 2020 4:43 PM >> To: intel-gfx@lists.freedesktop.org >> Subject: Re: [Intel-gfx] [v12 15/15] drm/i915/display: [NOT FOR MERGE] Reduce >> bla

[Intel-gfx] ✓ Fi.CI.IGT: success for series starting with [1/2] drm/i915/gem: Limit lmem scatterlist elements to UINT_MAX

2020-12-01 Thread Patchwork
== Series Details == Series: series starting with [1/2] drm/i915/gem: Limit lmem scatterlist elements to UINT_MAX URL : https://patchwork.freedesktop.org/series/84474/ State : success == Summary == CI Bug Log - changes from CI_DRM_9417_full -> Patchwork_19033_full

[Intel-gfx] [PATCH] i915/perf: Drop the check for report reason in OA

2020-12-01 Thread Umesh Nerlige Ramappa
After fixing the OA_TAIL_PTR corruption, there are no more reports with reason field of zero. Drop the check for report reason. Signed-off-by: Umesh Nerlige Ramappa --- drivers/gpu/drm/i915/i915_perf.c | 5 - 1 file changed, 5 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_perf.c b/dri

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Introduce Intel PXP component (rev4)

2020-12-01 Thread Patchwork
== Series Details == Series: Introduce Intel PXP component (rev4) URL : https://patchwork.freedesktop.org/series/84136/ State : warning == Summary == $ dim checkpatch origin/drm-tip 3ce53f7dc704 drm/i915/pxp: Introduce Intel PXP component -:108: WARNING:FILE_PATH_CHANGES: added, moved or delet

[Intel-gfx] [RFC-v4 19/26] drm/i915/pxp: Create the arbitrary session after boot

2020-12-01 Thread Huang, Sean Z
Create the arbitrary session, with the fixed session id 0xf, after system boot, for the case that application allocates the protected buffer without establishing any protection session. Because the hardware requires at least one alive session for protected buffer creation. This arbitrary session n

[Intel-gfx] [RFC-v4 16/26] drm/i915/pxp: Enable PXP power management

2020-12-01 Thread Huang, Sean Z
During the power event S3+ sleep/resume, hardware will lose all the encryption keys for every hardware session, even though the software session state was marked as alive after resume. So to handle such case, PXP should terminate all the hardware sessions and cleanup all the software states after t

[Intel-gfx] [RFC-v4 17/26] drm/i915/pxp: Implement funcs to create the TEE channel

2020-12-01 Thread Huang, Sean Z
Currently ring3 driver sends the TEE commands directly to TEE, but later, as our design, we would like to make ring3 sending the TEE commands via the ring0 PXP ioctl action instead of TEE ioctl, so we can centralize those protection operations at ring0 PXP. Signed-off-by: Huang, Sean Z --- drive

[Intel-gfx] [RFC-v4 13/26] drm/i915/pxp: Enable ioctl action to query PXP tag

2020-12-01 Thread Huang, Sean Z
Enable the PXP ioctl action to allow user space driver to query the PXP tag, which is a 32-bit bitwise value indicating the current session info, including protection type, session id, and whether the session is enabled. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/pxp/intel_pxp.c|

[Intel-gfx] [RFC-v4 07/26] drm/i915/pxp: Read register to check hardware session state

2020-12-01 Thread Huang, Sean Z
Implement the functions to check the hardware protected session state via reading the hardware register session in play. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/pxp/intel_pxp.h| 3 + drivers/gpu/drm/i915/pxp/intel_pxp_sm.c | 177 drivers/gpu/drm/i915/

[Intel-gfx] [RFC-v4 24/26] drm/i915/pxp: User interface for Protected buffer

2020-12-01 Thread Huang, Sean Z
From: Bommu Krishnaiah This api allow user mode to create Protected buffer and context creation. Signed-off-by: Bommu Krishnaiah Cc: Telukuntla Sreedhar Cc: Kondapally Kalyan Cc: Gupta Anshuman Cc: Huang Sean Z --- drivers/gpu/drm/i915/gem/i915_gem_context.c | 15 ++-- drivers/gp

[Intel-gfx] [RFC-v4 15/26] drm/i915/pxp: Termiante the session upon app crash

2020-12-01 Thread Huang, Sean Z
PXP should terminate the hardware session and cleanup the software state gracefully when the application has established the protection session, but doesn't close the session correctly due to some cases like application crash. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/i915_drv.c

[Intel-gfx] [RFC-v4 23/26] drm/i915/uapi: introduce drm_i915_gem_create_ext

2020-12-01 Thread Huang, Sean Z
From: Bommu Krishnaiah Same old gem_create but with now with extensions support. This is needed to support various upcoming usecases. For now we use the extensions mechanism to support PAVP. Signed-off-by: Bommu Krishnaiah Signed-off-by: Matthew Auld Cc: Joonas Lahtinen joonas.lahti...@linux.i

[Intel-gfx] [RFC-v4 05/26] drm/i915/pxp: Implement ioctl action to set the user space context

2020-12-01 Thread Huang, Sean Z
Implement one ioctl action to allow user space driver to set its user space context, so PXP can track the context id through this user space context list. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/pxp/intel_pxp.c | 57 drivers/gpu/drm/i915/pxp/intel_pxp.h

[Intel-gfx] [RFC-v4 22/26] mei: pxp: export pavp client to me client bus

2020-12-01 Thread Huang, Sean Z
From: Vitaly Lubart Export PAVP client to work with i915_cp driver, for binding it uses kernel component framework. Signed-off-by: Vitaly Lubart Signed-off-by: Tomas Winkler --- drivers/misc/mei/Kconfig | 2 + drivers/misc/mei/Makefile | 1 + drivers/misc/mei/pxp/Kconfig | 1

[Intel-gfx] [RFC-v4 18/26] drm/i915/pxp: Implement ioctl action to send TEE commands

2020-12-01 Thread Huang, Sean Z
Implement the ioctl action to allow user space driver sends TEE commands via PXP ioctl, instead of TEE iotcl. So we can centralize those protection operations at PXP. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/pxp/intel_pxp.c | 14 ++ drivers/gpu/drm/i915/pxp/intel_pxp.h |

[Intel-gfx] [RFC-v4 21/26] drm/i915/pxp: Expose session state for display protection flip

2020-12-01 Thread Huang, Sean Z
Implement the intel_pxp_gem_object_status() to allow i915 display querying the current PXP session state. In the design, display should not perform protection flip on the protected buffers if there is no PXP session alive. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/pxp/intel_pxp.c | 8

[Intel-gfx] [RFC-v4 09/26] drm/i915/pxp: Implement ioctl action to reserve session slot

2020-12-01 Thread Huang, Sean Z
With this ioctl action, user space driver can reserve a specific session slot/id assigned by PXP, as the first step of PXP session establishment flow. The session info is stored in the session list structure. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/pxp/intel_pxp.c| 20 dr

[Intel-gfx] [RFC-v4 14/26] drm/i915/pxp: Destroy all type0 sessions upon teardown

2020-12-01 Thread Huang, Sean Z
Teardown is triggered when the display topology changes and no long meets the secure playback requirement, and hardware trashes all the encryption keys for display. So as a result, PXP should handle such case and terminate all the type0 sessions. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/

[Intel-gfx] [RFC-v4 06/26] drm/i915/pxp: Add PXP-related registers into allowlist

2020-12-01 Thread Huang, Sean Z
Add several PXP-related reg into allowlist to allow user space driver to read the those register values. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/i915_reg.h | 6 drivers/gpu/drm/i915/intel_uncore.c | 50 - 2 files changed, 41 insertions(+), 15 d

[Intel-gfx] [RFC-v4 26/26] drm/i915/pxp: Enable the PXP ioctl for protected session

2020-12-01 Thread Huang, Sean Z
In the previous commits, we have implemented the PXP ioctl functions. Now we enable those handlers and expose them as PXP ioctl, so allow the user space driver can establish, set, or destory the protected session via this ioctl. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/i915_drv.c

[Intel-gfx] [RFC-v4 00/26] Introduce Intel PXP component

2020-12-01 Thread Huang, Sean Z
PXP is an i915 componment, that helps user space to establish the hardware protected session and manage the status of each alive software session, as well as the life cycle of each session. This ioctl is to allow user space driver to create, set, and destroy each session. It also provides the comm

[Intel-gfx] [RFC-v4 25/26] drm/i915/pxp: Add plane decryption support

2020-12-01 Thread Huang, Sean Z
From: Anshuman Gupta Add support to enable/disable PLANE_SURF Decryption Request bit. It requires only to enable plane decryption support when following condition met. 1. PAVP session is enabled. 2. Buffer object is protected. v2: - Rebased to libva_cp-drm-tip_tgl_cp tree. - Used gen fb obj user

[Intel-gfx] [RFC-v4 03/26] drm/i915/pxp: Add PXP context for logical hardware states.

2020-12-01 Thread Huang, Sean Z
Add PXP context which represents combined view of driver and logical HW states. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/Makefile| 3 +- drivers/gpu/drm/i915/pxp/intel_pxp.c | 29 - drivers/gpu/drm/i915/pxp/intel_pxp.h | 3 ++ drivers/gp

[Intel-gfx] [RFC-v4 08/26] drm/i915/pxp: Implement funcs to get/set PXP tag

2020-12-01 Thread Huang, Sean Z
Implement the functions to get/set the PXP tag, which is 32-bit bitwise value containing the hardware session info, such as its session id, protection mode or whether it's enabled. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/pxp/intel_pxp_sm.c | 95 + drivers/gp

[Intel-gfx] [RFC-v4 20/26] drm/i915/pxp: Add i915 trace logs for PXP operations

2020-12-01 Thread Huang, Sean Z
Add several i915 trace logs for PXP calls for debugging or performance measurement, including: (1) PXP ioctl (2) PXP teardown callbacks To trun on this feature, we need to set "CONFIG_DRM_I915_LOW_LEVEL_TRACEPOINTS=y" in .config for compiling the Linux kernel. Signed-off-by: Huang, Sean Z --- d

[Intel-gfx] [RFC-v4 04/26] drm/i915/pxp: set KCR reg init during the boot time

2020-12-01 Thread Huang, Sean Z
Set the KCR init during the boot time, which is required by hardware, to allow us doing further protection operation such as sending commands to GPU or TEE Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/Makefile | 3 +- drivers/gpu/drm/i915/pxp/intel_pxp.c| 11 ++- driv

[Intel-gfx] [RFC-v4 12/26] drm/i915/pxp: Implement ioctl action to terminate the session

2020-12-01 Thread Huang, Sean Z
Implement the PXP ioctl action to allow user space driver to terminate the hardware session and cleanup its software session state. PXP sends the session termination command to GPU once receves this ioctl action. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/pxp/intel_pxp.c| 7 + d

[Intel-gfx] [RFC-v4 11/26] drm/i915/pxp: Func to send hardware session termination

2020-12-01 Thread Huang, Sean Z
Implement the functions to allow PXP to send a GPU command, in order to terminate the hardware session, so hardware can recycle this session slot for the next usage. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/pxp/intel_pxp_sm.c | 288 drivers/gpu/drm/i915/pxp/

[Intel-gfx] [RFC-v4 02/26] drm/i915/pxp: Enable PXP irq worker and callback stub

2020-12-01 Thread Huang, Sean Z
Create the irq worker that serves as callback handler, those callback stubs should be called while the hardware key teardown occurs. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/gt/intel_gt_irq.c | 4 ++ drivers/gpu/drm/i915/i915_reg.h| 1 + drivers/gpu/drm/i915/pxp/intel_pxp.

[Intel-gfx] [RFC-v4 10/26] drm/i915/pxp: Implement ioctl action to set session in play

2020-12-01 Thread Huang, Sean Z
With this ioctl action, user space driver can set the session in state "session in play", after dirver reserved the session slot/id from driver, and sent the TEE commands to activate the corresponding hardware session. Session state "session in play" means this session is ready for secure playback.

[Intel-gfx] [RFC-v4 01/26] drm/i915/pxp: Introduce Intel PXP component

2020-12-01 Thread Huang, Sean Z
PXP (Protected Xe Path) is an i915 componment, available on GEN12+, that helps user space to establish the hardware protected session and manage the status of each alive software session, as well as the life cycle of each session. By design PXP will expose ioctl so allow user space to create, set,

[Intel-gfx] ✓ Fi.CI.IGT: success for Introduce Intel PXP component (rev3)

2020-12-01 Thread Patchwork
== Series Details == Series: Introduce Intel PXP component (rev3) URL : https://patchwork.freedesktop.org/series/84136/ State : success == Summary == CI Bug Log - changes from CI_DRM_9417_full -> Patchwork_19032_full Summary --- **SU

[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/gem: Report error for vmap() failure

2020-12-01 Thread Patchwork
== Series Details == Series: drm/i915/gem: Report error for vmap() failure URL : https://patchwork.freedesktop.org/series/84467/ State : success == Summary == CI Bug Log - changes from CI_DRM_9417_full -> Patchwork_19030_full Summary --

Re: [Intel-gfx] [PATCH v3 09/10] drm/i915/gvt: replace I915_WRITE with intel_uncore_write

2020-12-01 Thread Zhenyu Wang
On 2020.12.01 18:16:35 +0200, Jani Nikula wrote: > On Mon, 30 Nov 2020, Jani Nikula wrote: > > Let's avoid adding new I915_WRITE uses while we try to get rid of them. > > > > Fixes: 5f60b12edcd0 ("drm/i915/gvt: Save/restore HW status to support GVT > > suspend/resume") > > Cc: Zhenyu Wang > > Cc

[Intel-gfx] ✓ Fi.CI.IGT: success for Re-enable FBC on TGL (rev6)

2020-12-01 Thread Patchwork
== Series Details == Series: Re-enable FBC on TGL (rev6) URL : https://patchwork.freedesktop.org/series/83510/ State : success == Summary == CI Bug Log - changes from CI_DRM_9417_full -> Patchwork_19029_full Summary --- **SUCCESS**

[Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915/gem: Limit lmem scatterlist elements to UINT_MAX

2020-12-01 Thread Patchwork
== Series Details == Series: series starting with [1/2] drm/i915/gem: Limit lmem scatterlist elements to UINT_MAX URL : https://patchwork.freedesktop.org/series/84474/ State : success == Summary == CI Bug Log - changes from CI_DRM_9417 -> Patchwork_19033 ==

Re: [Intel-gfx] [PATCH 000/141] Fix fall-through warnings for Clang

2020-12-01 Thread Martin K. Petersen
Gustavo, > This series aims to fix almost all remaining fall-through warnings in > order to enable -Wimplicit-fallthrough for Clang. Applied 20-22,54,120-124 to 5.11/scsi-staging, thanks. -- Martin K. Petersen Oracle Linux Engineering ___ Intel

Re: [Intel-gfx] [PATCH v2 08/20] drm/hibmc: Remove references to struct drm_device.pdev

2020-12-01 Thread tiantao (H)
在 2020/12/1 18:35, Thomas Zimmermann 写道: Using struct drm_device.pdev is deprecated. Convert hibmc to struct drm_device.dev. No functional changes. Signed-off-by: Thomas Zimmermann Acked-by: Sam Ravnborg Cc: Xinliang Liu Cc: Tian Tao Cc: John Stultz Cc: Xinwei Kong Cc: Chen Feng ---

Re: [Intel-gfx] [PATCH 000/141] Fix fall-through warnings for Clang

2020-12-01 Thread Gustavo A. R. Silva
On Tue, Dec 01, 2020 at 12:52:27AM -0500, Martin K. Petersen wrote: > > Gustavo, > > > This series aims to fix almost all remaining fall-through warnings in > > order to enable -Wimplicit-fallthrough for Clang. > > Applied 20-22,54,120-124 to 5.11/scsi-staging, thanks. Awesome! :) Thanks, Mart

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] drm/i915/gem: Limit lmem scatterlist elements to UINT_MAX

2020-12-01 Thread Patchwork
== Series Details == Series: series starting with [1/2] drm/i915/gem: Limit lmem scatterlist elements to UINT_MAX URL : https://patchwork.freedesktop.org/series/84474/ State : warning == Summary == $ dim checkpatch origin/drm-tip 836d2c9e77d7 drm/i915/gem: Limit lmem scatterlist elements to U

[Intel-gfx] ✓ Fi.CI.BAT: success for Introduce Intel PXP component (rev3)

2020-12-01 Thread Patchwork
== Series Details == Series: Introduce Intel PXP component (rev3) URL : https://patchwork.freedesktop.org/series/84136/ State : success == Summary == CI Bug Log - changes from CI_DRM_9417 -> Patchwork_19032 Summary --- **SUCCESS**

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Introduce Intel PXP component (rev3)

2020-12-01 Thread Patchwork
== Series Details == Series: Introduce Intel PXP component (rev3) URL : https://patchwork.freedesktop.org/series/84136/ State : warning == Summary == $ dim checkpatch origin/drm-tip 9a5d8af908af drm/i915/pxp: Introduce Intel PXP component -:108: WARNING:FILE_PATH_CHANGES: added, moved or delet

[Intel-gfx] [PATCH 1/2] drm/i915/gem: Limit lmem scatterlist elements to UINT_MAX

2020-12-01 Thread Chris Wilson
Adhere to the i915_sg_max_segment() limit on the lengths of individual scatterlist elements, and in doing so split up very large chunks of lmem into managable pieces for the dma-mapping backend. Reported-by: Venkata Sandeep Dhanalakota Suggested-by: Matthew Auld Signed-off-by: Chris Wilson Cc:

[Intel-gfx] [PATCH 2/2] Revert "drm/i915/lmem: Limit block size to 4G"

2020-12-01 Thread Chris Wilson
Although we want to keep elements of the test case, and a proper explanation why the patch failed to dtrt should go here. --- drivers/gpu/drm/i915/gem/i915_gem_region.c| 2 +- drivers/gpu/drm/i915/intel_memory_region.c| 18 +-- drivers/gpu/drm/i915/intel_memory_region.h| 5 +- ..

[Intel-gfx] [RFC-v3 13/26] drm/i915/pxp: Enable ioctl action to query PXP tag

2020-12-01 Thread Huang, Sean Z
Enable the PXP ioctl action to allow user space driver to query the PXP tag, which is a 32-bit bitwise value indicating the current session info, including protection type, session id, and whether the session is enabled. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/pxp/intel_pxp.c|

[Intel-gfx] [RFC-v3 14/26] drm/i915/pxp: Destroy all type0 sessions upon teardown

2020-12-01 Thread Huang, Sean Z
Teardown is triggered when the display topology changes and no long meets the secure playback requirement, and hardware trashes all the encryption keys for display. So as a result, PXP should handle such case and terminate all the type0 sessions. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/

[Intel-gfx] [RFC-v3 23/26] drm/i915/uapi: introduce drm_i915_gem_create_ext

2020-12-01 Thread Huang, Sean Z
From: Bommu Krishnaiah Same old gem_create but with now with extensions support. This is needed to support various upcoming usecases. For now we use the extensions mechanism to support PAVP. Signed-off-by: Bommu Krishnaiah Signed-off-by: Matthew Auld Cc: Joonas Lahtinen joonas.lahti...@linux.i

[Intel-gfx] [RFC-v3 24/26] drm/i915/pxp: User interface for Protected buffer

2020-12-01 Thread Huang, Sean Z
From: Bommu Krishnaiah This api allow user mode to create Protected buffer and context creation. Signed-off-by: Bommu Krishnaiah Cc: Telukuntla Sreedhar Cc: Kondapally Kalyan Cc: Gupta Anshuman Cc: Huang Sean Z --- drivers/gpu/drm/i915/gem/i915_gem_context.c | 15 ++-- drivers/gp

[Intel-gfx] [RFC-v3 10/26] drm/i915/pxp: Implement ioctl action to set session in play

2020-12-01 Thread Huang, Sean Z
With this ioctl action, user space driver can set the session in state "session in play", after dirver reserved the session slot/id from driver, and sent the TEE commands to activate the corresponding hardware session. Session state "session in play" means this session is ready for secure playback.

[Intel-gfx] [RFC-v3 19/26] drm/i915/pxp: Create the arbitrary session after boot

2020-12-01 Thread Huang, Sean Z
Create the arbitrary session, with the fixed session id 0xf, after system boot, for the case that application allocates the protected buffer without establishing any protection session. Because the hardware requires at least one alive session for protected buffer creation. This arbitrary session n

[Intel-gfx] [RFC-v3 12/26] drm/i915/pxp: Implement ioctl action to terminate the session

2020-12-01 Thread Huang, Sean Z
Implement the PXP ioctl action to allow user space driver to terminate the hardware session and cleanup its software session state. PXP sends the session termination command to GPU once receves this ioctl action. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/pxp/intel_pxp.c| 7 + d

[Intel-gfx] [RFC-v3 21/26] drm/i915/pxp: Expose session state for display protection flip

2020-12-01 Thread Huang, Sean Z
Implement the intel_pxp_gem_object_status() to allow i915 display querying the current PXP session state. In the design, display should not perform protection flip on the protected buffers if there is no PXP session alive. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/pxp/intel_pxp.c | 8

[Intel-gfx] [RFC-v3 06/26] drm/i915/pxp: Add PXP-related registers into allowlist

2020-12-01 Thread Huang, Sean Z
Add several PXP-related reg into allowlist to allow user space driver to read the those register values. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/i915_reg.h | 6 drivers/gpu/drm/i915/intel_uncore.c | 50 - 2 files changed, 41 insertions(+), 15 d

[Intel-gfx] [RFC-v3 15/26] drm/i915/pxp: Termiante the session upon app crash

2020-12-01 Thread Huang, Sean Z
PXP should terminate the hardware session and cleanup the software state gracefully when the application has established the protection session, but doesn't close the session correctly due to some cases like application crash. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/i915_drv.c

[Intel-gfx] [RFC-v3 00/26] Introduce Intel PXP component

2020-12-01 Thread Huang, Sean Z
PXP is an i915 componment, that helps user space to establish the hardware protected session and manage the status of each alive software session, as well as the life cycle of each session. This ioctl is to allow user space driver to create, set, and destroy each session. It also provides the comm

[Intel-gfx] [RFC-v3 05/26] drm/i915/pxp: Implement ioctl action to set the user space context

2020-12-01 Thread Huang, Sean Z
Implement one ioctl action to allow user space driver to set its user space context, so PXP can track the context id through this user space context list. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/pxp/intel_pxp.c | 57 drivers/gpu/drm/i915/pxp/intel_pxp.h

[Intel-gfx] [RFC-v3 16/26] drm/i915/pxp: Enable PXP power management

2020-12-01 Thread Huang, Sean Z
During the power event S3+ sleep/resume, hardware will lose all the encryption keys for every hardware session, even though the software session state was marked as alive after resume. So to handle such case, PXP should terminate all the hardware sessions and cleanup all the software states after t

[Intel-gfx] [RFC-v3 07/26] drm/i915/pxp: Read register to check hardware session state

2020-12-01 Thread Huang, Sean Z
Implement the functions to check the hardware protected session state via reading the hardware register session in play. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/pxp/intel_pxp.h| 3 + drivers/gpu/drm/i915/pxp/intel_pxp_sm.c | 177 drivers/gpu/drm/i915/

[Intel-gfx] [RFC-v3 22/26] mei: pxp: export pavp client to me client bus

2020-12-01 Thread Huang, Sean Z
From: Vitaly Lubart Export PAVP client to work with i915_cp driver, for binding it uses kernel component framework. Signed-off-by: Vitaly Lubart Signed-off-by: Tomas Winkler --- drivers/misc/mei/Kconfig | 2 + drivers/misc/mei/Makefile | 1 + drivers/misc/mei/pxp/Kconfig | 1

[Intel-gfx] [RFC-v3 20/26] drm/i915/pxp: Add i915 trace logs for PXP operations

2020-12-01 Thread Huang, Sean Z
Add several i915 trace logs for PXP calls for debugging or performance measurement, including: (1) PXP ioctl (2) PXP teardown callbacks To trun on this feature, we need to set "CONFIG_DRM_I915_LOW_LEVEL_TRACEPOINTS=y" in .config for compiling the Linux kernel. Signed-off-by: Huang, Sean Z --- d

[Intel-gfx] [RFC-v3 25/26] drm/i915/pxp: Add plane decryption support

2020-12-01 Thread Huang, Sean Z
From: Anshuman Gupta Add support to enable/disable PLANE_SURF Decryption Request bit. It requires only to enable plane decryption support when following condition met. 1. PAVP session is enabled. 2. Buffer object is protected. v2: - Rebased to libva_cp-drm-tip_tgl_cp tree. - Used gen fb obj user

[Intel-gfx] [RFC-v3 26/26] drm/i915/pxp: Enable the PXP ioctl for protected session

2020-12-01 Thread Huang, Sean Z
In the previous commits, we have implemented the PXP ioctl functions. Now we enable those handlers and expose them as PXP ioctl, so allow the user space driver can establish, set, or destory the protected session via this ioctl. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/i915_drv.c

[Intel-gfx] [RFC-v3 17/26] drm/i915/pxp: Implement funcs to create the TEE channel

2020-12-01 Thread Huang, Sean Z
Currently ring3 driver sends the TEE commands directly to TEE, but later, as our design, we would like to make ring3 sending the TEE commands via the ring0 PXP ioctl action instead of TEE ioctl, so we can centralize those protection operations at ring0 PXP. Signed-off-by: Huang, Sean Z --- drive

[Intel-gfx] [RFC-v3 18/26] drm/i915/pxp: Implement ioctl action to send TEE commands

2020-12-01 Thread Huang, Sean Z
Implement the ioctl action to allow user space driver sends TEE commands via PXP ioctl, instead of TEE iotcl. So we can centralize those protection operations at PXP. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/pxp/intel_pxp.c | 14 ++ drivers/gpu/drm/i915/pxp/intel_pxp.h |

[Intel-gfx] [RFC-v3 02/26] drm/i915/pxp: Enable PXP irq worker and callback stub

2020-12-01 Thread Huang, Sean Z
Create the irq worker that serves as callback handler, those callback stubs should be called while the hardware key teardown occurs. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/gt/intel_gt_irq.c | 4 ++ drivers/gpu/drm/i915/i915_reg.h| 1 + drivers/gpu/drm/i915/pxp/intel_pxp.

[Intel-gfx] [RFC-v3 09/26] drm/i915/pxp: Implement ioctl action to reserve session slot

2020-12-01 Thread Huang, Sean Z
With this ioctl action, user space driver can reserve a specific session slot/id assigned by PXP, as the first step of PXP session establishment flow. The session info is stored in the session list structure. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/pxp/intel_pxp.c| 20 dr

[Intel-gfx] [RFC-v3 01/26] drm/i915/pxp: Introduce Intel PXP component

2020-12-01 Thread Huang, Sean Z
PXP (Protected Xe Path) is an i915 componment, available on GEN12+, that helps user space to establish the hardware protected session and manage the status of each alive software session, as well as the life cycle of each session. By design PXP will expose ioctl so allow user space to create, set,

[Intel-gfx] [RFC-v3 11/26] drm/i915/pxp: Func to send hardware session termination

2020-12-01 Thread Huang, Sean Z
Implement the functions to allow PXP to send a GPU command, in order to terminate the hardware session, so hardware can recycle this session slot for the next usage. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/pxp/intel_pxp_sm.c | 288 drivers/gpu/drm/i915/pxp/

[Intel-gfx] [RFC-v3 04/26] drm/i915/pxp: set KCR reg init during the boot time

2020-12-01 Thread Huang, Sean Z
Set the KCR init during the boot time, which is required by hardware, to allow us doing further protection operation such as sending commands to GPU or TEE Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/Makefile | 3 +- drivers/gpu/drm/i915/pxp/intel_pxp.c| 11 ++- driv

[Intel-gfx] [RFC-v3 03/26] drm/i915/pxp: Add PXP context for logical hardware states.

2020-12-01 Thread Huang, Sean Z
Add PXP context which represents combined view of driver and logical HW states. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/Makefile| 3 +- drivers/gpu/drm/i915/pxp/intel_pxp.c | 29 - drivers/gpu/drm/i915/pxp/intel_pxp.h | 3 ++ drivers/gp

[Intel-gfx] [RFC-v3 08/26] drm/i915/pxp: Implement funcs to get/set PXP tag

2020-12-01 Thread Huang, Sean Z
Implement the functions to get/set the PXP tag, which is 32-bit bitwise value containing the hardware session info, such as its session id, protection mode or whether it's enabled. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/pxp/intel_pxp_sm.c | 95 + drivers/gp

[Intel-gfx] ✗ Fi.CI.BUILD: failure for Introduce Intel PXP component (rev2)

2020-12-01 Thread Patchwork
== Series Details == Series: Introduce Intel PXP component (rev2) URL : https://patchwork.freedesktop.org/series/84136/ State : failure == Summary == Applying: drm/i915/pxp: Introduce Intel PXP component Applying: drm/i915/pxp: Enable PXP irq worker and callback stub Applying: drm/i915/pxp: Ad

[Intel-gfx] [RFC-v3 21/26] drm/i915/pxp: Expose session state for display protection flip

2020-12-01 Thread Huang, Sean Z
Implement the intel_pxp_gem_object_status() to allow i915 display querying the current PXP session state. In the design, display should not perform protection flip on the protected buffers if there is no PXP session alive. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/pxp/intel_pxp.c | 8

[Intel-gfx] [RFC-v3 17/26] drm/i915/pxp: Implement funcs to create the TEE channel

2020-12-01 Thread Huang, Sean Z
Currently ring3 driver sends the TEE commands directly to TEE, but later, as our design, we would like to make ring3 sending the TEE commands via the ring0 PXP ioctl action instead of TEE ioctl, so we can centralize those protection operations at ring0 PXP. Signed-off-by: Huang, Sean Z --- drive

[Intel-gfx] [RFC-v3 26/26] drm/i915/pxp: Enable the PXP ioctl for protected session

2020-12-01 Thread Huang, Sean Z
In the previous commits, we have implemented the PXP ioctl functions. Now we enable those handlers and expose them as PXP ioctl, so allow the user space driver can establish, set, or destory the protected session via this ioctl. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/i915_drv.c

[Intel-gfx] [RFC-v3 23/26] drm/i915/uapi: introduce drm_i915_gem_create_ext

2020-12-01 Thread Huang, Sean Z
From: Bommu Krishnaiah Same old gem_create but with now with extensions support. This is needed to support various upcoming usecases. For now we use the extensions mechanism to support PAVP. Signed-off-by: Bommu Krishnaiah Signed-off-by: Matthew Auld Cc: Joonas Lahtinen joonas.lahti...@linux.i

[Intel-gfx] [RFC-v3 18/26] drm/i915/pxp: Implement ioctl action to send TEE commands

2020-12-01 Thread Huang, Sean Z
Implement the ioctl action to allow user space driver sends TEE commands via PXP ioctl, instead of TEE iotcl. So we can centralize those protection operations at PXP. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/pxp/intel_pxp.c | 14 ++ drivers/gpu/drm/i915/pxp/intel_pxp.h |

[Intel-gfx] [RFC-v3 13/26] drm/i915/pxp: Enable ioctl action to query PXP tag

2020-12-01 Thread Huang, Sean Z
Enable the PXP ioctl action to allow user space driver to query the PXP tag, which is a 32-bit bitwise value indicating the current session info, including protection type, session id, and whether the session is enabled. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/pxp/intel_pxp.c|

[Intel-gfx] [RFC-v3 22/26] mei: pxp: export pavp client to me client bus

2020-12-01 Thread Huang, Sean Z
From: Vitaly Lubart Export PAVP client to work with i915_cp driver, for binding it uses kernel component framework. Signed-off-by: Vitaly Lubart Signed-off-by: Tomas Winkler --- drivers/misc/mei/Kconfig | 2 + drivers/misc/mei/Makefile | 1 + drivers/misc/mei/pxp/Kconfig | 1

[Intel-gfx] [RFC-v3 20/26] drm/i915/pxp: Add i915 trace logs for PXP operations

2020-12-01 Thread Huang, Sean Z
Add several i915 trace logs for PXP calls for debugging or performance measurement, including: (1) PXP ioctl (2) PXP teardown callbacks To trun on this feature, we need to set "CONFIG_DRM_I915_LOW_LEVEL_TRACEPOINTS=y" in .config for compiling the Linux kernel. Signed-off-by: Huang, Sean Z --- d

[Intel-gfx] [RFC-v3 16/26] drm/i915/pxp: Enable PXP power management

2020-12-01 Thread Huang, Sean Z
During the power event S3+ sleep/resume, hardware will lose all the encryption keys for every hardware session, even though the software session state was marked as alive after resume. So to handle such case, PXP should terminate all the hardware sessions and cleanup all the software states after t

[Intel-gfx] [RFC-v3 25/26] drm/i915/pxp: Add plane decryption support

2020-12-01 Thread Huang, Sean Z
From: Anshuman Gupta Add support to enable/disable PLANE_SURF Decryption Request bit. It requires only to enable plane decryption support when following condition met. 1. PAVP session is enabled. 2. Buffer object is protected. v2: - Rebased to libva_cp-drm-tip_tgl_cp tree. - Used gen fb obj user

[Intel-gfx] [RFC-v3 24/26] drm/i915/pxp: User interface for Protected buffer

2020-12-01 Thread Huang, Sean Z
From: Bommu Krishnaiah This api allow user mode to create Protected buffer and context creation. Signed-off-by: Bommu Krishnaiah Cc: Telukuntla Sreedhar Cc: Kondapally Kalyan Cc: Gupta Anshuman Cc: Huang Sean Z --- drivers/gpu/drm/i915/gem/i915_gem_context.c | 15 ++-- drivers/gp

[Intel-gfx] [RFC-v3 09/26] drm/i915/pxp: Implement ioctl action to reserve session slot

2020-12-01 Thread Huang, Sean Z
With this ioctl action, user space driver can reserve a specific session slot/id assigned by PXP, as the first step of PXP session establishment flow. The session info is stored in the session list structure. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/pxp/intel_pxp.c| 20 dr

[Intel-gfx] [RFC-v3 12/26] drm/i915/pxp: Implement ioctl action to terminate the session

2020-12-01 Thread Huang, Sean Z
Implement the PXP ioctl action to allow user space driver to terminate the hardware session and cleanup its software session state. PXP sends the session termination command to GPU once receves this ioctl action. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/pxp/intel_pxp.c| 7 + d

[Intel-gfx] [RFC-v3 14/26] drm/i915/pxp: Destroy all type0 sessions upon teardown

2020-12-01 Thread Huang, Sean Z
Teardown is triggered when the display topology changes and no long meets the secure playback requirement, and hardware trashes all the encryption keys for display. So as a result, PXP should handle such case and terminate all the type0 sessions. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/

[Intel-gfx] [RFC-v3 07/26] drm/i915/pxp: Read register to check hardware session state

2020-12-01 Thread Huang, Sean Z
Implement the functions to check the hardware protected session state via reading the hardware register session in play. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/pxp/intel_pxp.h| 3 + drivers/gpu/drm/i915/pxp/intel_pxp_sm.c | 177 drivers/gpu/drm/i915/

[Intel-gfx] [RFC-v3 06/26] drm/i915/pxp: Add PXP-related registers into allowlist

2020-12-01 Thread Huang, Sean Z
Add several PXP-related reg into allowlist to allow user space driver to read the those register values. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/i915_reg.h | 6 drivers/gpu/drm/i915/intel_uncore.c | 50 - 2 files changed, 41 insertions(+), 15 d

[Intel-gfx] [RFC-v3 08/26] drm/i915/pxp: Implement funcs to get/set PXP tag

2020-12-01 Thread Huang, Sean Z
Implement the functions to get/set the PXP tag, which is 32-bit bitwise value containing the hardware session info, such as its session id, protection mode or whether it's enabled. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/pxp/intel_pxp_sm.c | 95 + drivers/gp

[Intel-gfx] [RFC-v3 02/26] drm/i915/pxp: Enable PXP irq worker and callback stub

2020-12-01 Thread Huang, Sean Z
Create the irq worker that serves as callback handler, those callback stubs should be called while the hardware key teardown occurs. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/gt/intel_gt_irq.c | 4 ++ drivers/gpu/drm/i915/i915_reg.h| 1 + drivers/gpu/drm/i915/pxp/intel_pxp.

[Intel-gfx] [RFC-v3 11/26] drm/i915/pxp: Func to send hardware session termination

2020-12-01 Thread Huang, Sean Z
Implement the functions to allow PXP to send a GPU command, in order to terminate the hardware session, so hardware can recycle this session slot for the next usage. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/pxp/intel_pxp_sm.c | 288 drivers/gpu/drm/i915/pxp/

[Intel-gfx] [RFC-v3 15/26] drm/i915/pxp: Termiante the session upon app crash

2020-12-01 Thread Huang, Sean Z
PXP should terminate the hardware session and cleanup the software state gracefully when the application has established the protection session, but doesn't close the session correctly due to some cases like application crash. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/i915_drv.c

[Intel-gfx] [RFC-v3 19/26] drm/i915/pxp: Create the arbitrary session after boot

2020-12-01 Thread Huang, Sean Z
Create the arbitrary session, with the fixed session id 0xf, after system boot, for the case that application allocates the protected buffer without establishing any protection session. Because the hardware requires at least one alive session for protected buffer creation. This arbitrary session n

[Intel-gfx] [RFC-v3 04/26] drm/i915/pxp: set KCR reg init during the boot time

2020-12-01 Thread Huang, Sean Z
Set the KCR init during the boot time, which is required by hardware, to allow us doing further protection operation such as sending commands to GPU or TEE Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/Makefile | 3 +- drivers/gpu/drm/i915/pxp/intel_pxp.c| 11 ++- driv

[Intel-gfx] [RFC-v3 00/26] Introduce Intel PXP component

2020-12-01 Thread Huang, Sean Z
PXP is an i915 componment, that helps user space to establish the hardware protected session and manage the status of each alive software session, as well as the life cycle of each session. This ioctl is to allow user space driver to create, set, and destroy each session. It also provides the comm

[Intel-gfx] [RFC-v3 01/26] drm/i915/pxp: Introduce Intel PXP component

2020-12-01 Thread Huang, Sean Z
PXP (Protected Xe Path) is an i915 componment, available on GEN12+, that helps user space to establish the hardware protected session and manage the status of each alive software session, as well as the life cycle of each session. By design PXP will expose ioctl so allow user space to create, set,

[Intel-gfx] [RFC-v3 03/26] drm/i915/pxp: Add PXP context for logical hardware states.

2020-12-01 Thread Huang, Sean Z
Add PXP context which represents combined view of driver and logical HW states. Signed-off-by: Huang, Sean Z --- drivers/gpu/drm/i915/Makefile| 3 +- drivers/gpu/drm/i915/pxp/intel_pxp.c | 29 - drivers/gpu/drm/i915/pxp/intel_pxp.h | 3 ++ drivers/gp

  1   2   3   >