All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
To: dri-devel@lists.freedesktop.org
Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>,
	Rodrigo Vivi <rodrigo.vivi@intel.com>
Subject: [PATCH v5 03/15] drm/i915/pxp: define PXP device flag and kconfig
Date: Thu, 15 Jul 2021 21:10:22 -0700	[thread overview]
Message-ID: <20210716041034.382-4-daniele.ceraolospurio@intel.com> (raw)
In-Reply-To: <20210716041034.382-1-daniele.ceraolospurio@intel.com>

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 <daniele.ceraolospurio@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com> #v1
---
 drivers/gpu/drm/i915/Kconfig             | 11 +++++++++++
 drivers/gpu/drm/i915/i915_drv.h          |  4 ++++
 drivers/gpu/drm/i915/intel_device_info.h |  1 +
 3 files changed, 16 insertions(+)

diff --git a/drivers/gpu/drm/i915/Kconfig b/drivers/gpu/drm/i915/Kconfig
index f960f5d7664e..5987c3d5d9fb 100644
--- a/drivers/gpu/drm/i915/Kconfig
+++ b/drivers/gpu/drm/i915/Kconfig
@@ -131,6 +131,17 @@ config DRM_I915_GVT_KVMGT
 	  Choose this option if you want to enable KVMGT support for
 	  Intel GVT-g.
 
+config DRM_I915_PXP
+	bool "Enable Intel PXP support for Intel Gen12+ platform"
+	depends on DRM_I915
+	depends on INTEL_MEI && INTEL_MEI_PXP
+	default n
+	help
+	  PXP (Protected Xe Path) is an i915 component, available on GEN12+
+	  GPUs, that helps to establish the hardware protected session and
+	  manage the status of the alive software session, as well as its life
+	  cycle.
+
 menu "drm/i915 Debugging"
 depends on DRM_I915
 depends on EXPERT
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index c4747f4407ef..772f9f0b6ddb 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1752,6 +1752,10 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
 
 #define HAS_VRR(i915)	(GRAPHICS_VER(i915) >= 12)
 
+#define HAS_PXP(dev_priv) (IS_ENABLED(CONFIG_DRM_I915_PXP) && \
+			   INTEL_INFO(dev_priv)->has_pxp) && \
+			   VDBOX_MASK(&dev_priv->gt)
+
 /* Only valid when HAS_DISPLAY() is true */
 #define INTEL_DISPLAY_ENABLED(dev_priv) \
 	(drm_WARN_ON(&(dev_priv)->drm, !HAS_DISPLAY(dev_priv)), !(dev_priv)->params.disable_display)
diff --git a/drivers/gpu/drm/i915/intel_device_info.h b/drivers/gpu/drm/i915/intel_device_info.h
index bd83004c78b6..8e9597008b8a 100644
--- a/drivers/gpu/drm/i915/intel_device_info.h
+++ b/drivers/gpu/drm/i915/intel_device_info.h
@@ -129,6 +129,7 @@ enum intel_ppgtt_type {
 	func(has_logical_ring_elsq); \
 	func(has_master_unit_irq); \
 	func(has_pooled_eu); \
+	func(has_pxp); \
 	func(has_rc6); \
 	func(has_rc6p); \
 	func(has_rps); \
-- 
2.32.0


  parent reply	other threads:[~2021-07-16  4:12 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-16  4:10 [PATCH v5 00/15] drm/i915: Introduce Intel PXP Daniele Ceraolo Spurio
2021-07-16  4:10 ` [PATCH v5 01/15] drm/i915/pxp: Define PXP component interface Daniele Ceraolo Spurio
2021-07-16  4:10 ` [PATCH v5 02/15] mei: pxp: export pavp client to me client bus Daniele Ceraolo Spurio
2021-07-26 15:04   ` Winkler, Tomas
2021-07-26 15:47     ` Daniele Ceraolo Spurio
2021-07-16  4:10 ` Daniele Ceraolo Spurio [this message]
2021-07-21 18:50   ` [PATCH v5 03/15] drm/i915/pxp: define PXP device flag and kconfig Rodrigo Vivi
2021-07-16  4:10 ` [PATCH v5 04/15] drm/i915/pxp: allocate a vcs context for pxp usage Daniele Ceraolo Spurio
2021-07-16  4:10 ` [PATCH v5 05/15] drm/i915/pxp: Implement funcs to create the TEE channel Daniele Ceraolo Spurio
2021-07-21 18:47   ` Rodrigo Vivi
2021-07-16  4:10 ` [PATCH v5 06/15] drm/i915/pxp: set KCR reg init Daniele Ceraolo Spurio
2021-07-16  4:10 ` [PATCH v5 07/15] drm/i915/pxp: Create the arbitrary session after boot Daniele Ceraolo Spurio
2021-07-21 18:49   ` Rodrigo Vivi
2021-07-16  4:10 ` [PATCH v5 08/15] drm/i915/pxp: Implement arb session teardown Daniele Ceraolo Spurio
2021-07-16  4:10 ` [PATCH v5 09/15] drm/i915/pxp: Implement PXP irq handler Daniele Ceraolo Spurio
2021-07-21 18:59   ` Rodrigo Vivi
2021-07-21 21:07     ` Daniele Ceraolo Spurio
2021-07-16  4:10 ` [PATCH v5 10/15] drm/i915/pxp: interfaces for using protected objects Daniele Ceraolo Spurio
2021-07-19 18:51   ` Rodrigo Vivi
2021-07-16  4:10 ` [PATCH v5 11/15] drm/i915/pxp: start the arb session on demand Daniele Ceraolo Spurio
2021-07-16  4:10 ` [PATCH v5 12/15] drm/i915/pxp: Enable PXP power management Daniele Ceraolo Spurio
2021-07-16 11:42   ` Rodrigo Vivi
2021-07-16  4:10 ` [PATCH v5 13/15] drm/i915/pxp: Add plane decryption support Daniele Ceraolo Spurio
2021-07-16  4:10 ` [PATCH v5 14/15] drm/i915/pxp: black pixels on pxp disabled Daniele Ceraolo Spurio
2021-07-16  4:10 ` [PATCH v5 15/15] drm/i915/pxp: enable PXP for integrated Gen12 Daniele Ceraolo Spurio
2021-07-27  9:30 ` [PATCH v5 00/15] drm/i915: Introduce Intel PXP Lionel Landwerlin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210716041034.382-4-daniele.ceraolospurio@intel.com \
    --to=daniele.ceraolospurio@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=rodrigo.vivi@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.