All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Teres Alexis, Alan Previn" <alan.previn.teres.alexis@intel.com>
To: "Ceraolo Spurio, Daniele" <daniele.ceraolospurio@intel.com>,
	"intel-gfx@lists.freedesktop.org"
	<intel-gfx@lists.freedesktop.org>
Cc: "dri-devel@lists.freedesktop.org" <dri-devel@lists.freedesktop.org>
Subject: Re: [Intel-gfx] [PATCH v7 15/17] drm/i915/pxp: add pxp debugfs
Date: Thu, 9 Sep 2021 08:17:51 +0000	[thread overview]
Message-ID: <feeca8386eb62d8fceef417f63d023277d047b5b.camel@intel.com> (raw)
In-Reply-To: <20210828012738.317661-16-daniele.ceraolospurio@intel.com>

I dont see any issues except a couple of nits. 

Reviewed-by : Alan Previn <alan.previn.teres.alexis@intel.com>

...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 an invalidation for testing.
> 
> Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
> ---
>  drivers/gpu/drm/i915/Makefile                |  1 +
>  drivers/gpu/drm/i915/gt/debugfs_gt.c         |  2 +
>  drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.c | 78 ++++++++++++++++++++
>  drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.h | 21 ++++++
>  4 files changed, 102 insertions(+)
>  create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.c
>  create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.h
> 
> diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
> index 6f6cbbe98b96..9a44d6f01e3b 100644
> --- a/drivers/gpu/drm/i915/Makefile
> +++ b/drivers/gpu/drm/i915/Makefile
> @@ -284,6 +284,7 @@ i915-y += i915_perf.o
>  i915-$(CONFIG_DRM_I915_PXP) += \
>  	pxp/intel_pxp.o \
>  	pxp/intel_pxp_cmd.o \
> +	pxp/intel_pxp_debugfs.o \
>  	pxp/intel_pxp_irq.o \
>  	pxp/intel_pxp_pm.o \
>  	pxp/intel_pxp_session.o \
> diff --git a/drivers/gpu/drm/i915/gt/debugfs_gt.c b/drivers/gpu/drm/i915/gt/debugfs_gt.c
> index 591eb60785db..c27847ddb796 100644
> --- a/drivers/gpu/drm/i915/gt/debugfs_gt.c
> +++ b/drivers/gpu/drm/i915/gt/debugfs_gt.c
> @@ -9,6 +9,7 @@
>  #include "debugfs_gt.h"
>  #include "debugfs_gt_pm.h"
>  #include "intel_sseu_debugfs.h"
> +#include "pxp/intel_pxp_debugfs.h"
>  #include "uc/intel_uc_debugfs.h"
>  #include "i915_drv.h"
>  
> @@ -28,6 +29,7 @@ void debugfs_gt_register(struct intel_gt *gt)
>  	intel_sseu_debugfs_register(gt, root);
>  
>  	intel_uc_debugfs_register(&gt->uc, root);
> +	intel_pxp_debugfs_register(&gt->pxp, root);
>  }
>  
>  void intel_gt_debugfs_register_files(struct dentry *root,
> diff --git a/drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.c b/drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.c
> new file mode 100644
> index 000000000000..a26e4396ba6c
> --- /dev/null
> +++ b/drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.c
> @@ -0,0 +1,78 @@
> +// SPDX-License-Identifier: MIT
> +/*
> + * Copyright © 2021 Intel Corporation
> + */
> +
> +#include <linux/debugfs.h>
> +#include <drm/drm_print.h>
> +
> +#include "gt/debugfs_gt.h"
> +#include "pxp/intel_pxp.h"
> +#include "pxp/intel_pxp_irq.h"
> +#include "i915_drv.h"
> +
> +static int pxp_info_show(struct seq_file *m, void *data)
> +{
> +	struct intel_pxp *pxp = m->private;
> +	struct drm_printer p = drm_seq_file_printer(m);
> +	bool enabled = intel_pxp_is_enabled(pxp);
> +
> +	if (!enabled) {
> +		drm_printf(&p, "pxp disabled\n");
> +		return 0;
> +	}
> +
> +	drm_printf(&p, "active: %s\n", yesno(intel_pxp_is_active(pxp)));
> +	drm_printf(&p, "instance counter: %u\n", pxp->key_instance);
> +
> +	return 0;
> +}
> +DEFINE_GT_DEBUGFS_ATTRIBUTE(pxp_info);
> +
> +static int pxp_inval_get(void *data, u64 *val)
> +{
> +	/* nothing to read */
> +	return -EPERM;
> +}
> +
> +static int pxp_inval_set(void *data, u64 val)
> +{
> +	struct intel_pxp *pxp = data;
> +	struct intel_gt *gt = pxp_to_gt(pxp);
> +
> +	if (!intel_pxp_is_active(pxp))
> +		return -ENODEV;
> +
> +	/* simulate an invalidation interrupt */
> +	spin_lock_irq(&gt->irq_lock);
> +	intel_pxp_irq_handler(pxp, GEN12_DISPLAY_PXP_STATE_TERMINATED_INTERRUPT);
> +	spin_unlock_irq(&gt->irq_lock);
> +
> +	if (!wait_for_completion_timeout(&pxp->termination,
> +					 msecs_to_jiffies(100)))
> +		return -ETIMEDOUT;
> +
> +	return 0;
> +}
> +
> +DEFINE_SIMPLE_ATTRIBUTE(pxp_inval_fops, pxp_inval_get, pxp_inval_set, "%llx\n");
> +void intel_pxp_debugfs_register(struct intel_pxp *pxp, struct dentry *gt_root)
> +{
> +	static const struct debugfs_gt_file files[] = {
> +		{ "info", &pxp_info_fops, NULL },
> +		{ "invalidate", &pxp_inval_fops, NULL },
NIT only: consider naming to "invalidate_display" or "display_inval" since we are using this to trigger
display pxp teardown specific irq code path.
> +	};
> +	struct dentry *root;
> +
> +	if (!gt_root)
> +		return;
> +
> +	if (!HAS_PXP((pxp_to_gt(pxp)->i915)))
> +		return;
> +
> +	root = debugfs_create_dir("pxp", gt_root);
> +	if (IS_ERR(root))
> +		return;
> +
> +	intel_gt_debugfs_register_files(root, files, ARRAY_SIZE(files), pxp);
> +}
> diff --git a/drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.h b/drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.h
> new file mode 100644
> index 000000000000..3b7454d838e9
> --- /dev/null
> +++ b/drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.h
> @@ -0,0 +1,21 @@
> +/* SPDX-License-Identifier: MIT */
> +/*
> + * Copyright © 2020 Intel Corporation
NIT - 2021
> + */
> +
> +#ifndef __INTEL_PXP_DEBUGFS_H__
> +#define __INTEL_PXP_DEBUGFS_H__
> +
> +struct intel_pxp;
> +struct dentry;
> +
> +#ifdef CONFIG_DRM_I915_PXP
> +void intel_pxp_debugfs_register(struct intel_pxp *pxp, struct dentry *root);
> +#else
> +static inline void
> +intel_pxp_debugfs_register(struct intel_pxp *pxp, struct dentry *root)
> +{
> +}
> +#endif
> +
> +#endif /* __INTEL_PXP_DEBUGFS_H__ */
> -- 
> 2.25.1
> 


  reply	other threads:[~2021-09-09  8:18 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-28  1:27 [PATCH v7 00/17] drm/i915: Introduce Intel PXP Daniele Ceraolo Spurio
2021-08-28  1:27 ` [Intel-gfx] " Daniele Ceraolo Spurio
2021-08-28  1:27 ` [PATCH v7 01/17] drm/i915/pxp: Define PXP component interface Daniele Ceraolo Spurio
2021-08-28  1:27   ` [Intel-gfx] " Daniele Ceraolo Spurio
2021-08-28  1:27 ` [PATCH v7 02/17] mei: pxp: export pavp client to me client bus Daniele Ceraolo Spurio
2021-08-28  1:27   ` [Intel-gfx] " Daniele Ceraolo Spurio
2021-08-30 20:58   ` Daniele Ceraolo Spurio
2021-08-30 20:58     ` [Intel-gfx] " Daniele Ceraolo Spurio
2021-08-28  1:27 ` [PATCH v7 03/17] drm/i915/pxp: define PXP device flag and kconfig Daniele Ceraolo Spurio
2021-08-28  1:27   ` [Intel-gfx] " Daniele Ceraolo Spurio
2021-08-28  1:27 ` [PATCH v7 04/17] drm/i915/pxp: allocate a vcs context for pxp usage Daniele Ceraolo Spurio
2021-08-28  1:27   ` [Intel-gfx] " Daniele Ceraolo Spurio
2021-08-28  1:27 ` [PATCH v7 05/17] drm/i915/pxp: Implement funcs to create the TEE channel Daniele Ceraolo Spurio
2021-08-28  1:27   ` [Intel-gfx] " Daniele Ceraolo Spurio
2021-08-31 21:08   ` Rodrigo Vivi
2021-08-31 21:17     ` Daniele Ceraolo Spurio
2021-08-28  1:27 ` [PATCH v7 06/17] drm/i915/pxp: set KCR reg init Daniele Ceraolo Spurio
2021-08-28  1:27   ` [Intel-gfx] " Daniele Ceraolo Spurio
2021-08-28  1:27 ` [PATCH v7 07/17] drm/i915/pxp: Create the arbitrary session after boot Daniele Ceraolo Spurio
2021-08-28  1:27   ` [Intel-gfx] " Daniele Ceraolo Spurio
2021-08-28  1:27 ` [PATCH v7 08/17] drm/i915/pxp: Implement arb session teardown Daniele Ceraolo Spurio
2021-08-28  1:27   ` [Intel-gfx] " Daniele Ceraolo Spurio
2021-08-28  1:27 ` [PATCH v7 09/17] drm/i915/pxp: Implement PXP irq handler Daniele Ceraolo Spurio
2021-08-28  1:27   ` [Intel-gfx] " Daniele Ceraolo Spurio
2021-08-28  1:27 ` [PATCH v7 10/17] drm/i915/pxp: interfaces for using protected objects Daniele Ceraolo Spurio
2021-08-28  1:27   ` [Intel-gfx] " Daniele Ceraolo Spurio
2021-08-31 21:30   ` Rodrigo Vivi
2021-08-31 21:30     ` [Intel-gfx] " Rodrigo Vivi
2021-08-31 22:01     ` Daniele Ceraolo Spurio
2021-08-31 22:01       ` [Intel-gfx] " Daniele Ceraolo Spurio
2021-09-01 15:47       ` Rodrigo Vivi
2021-08-28  1:27 ` [PATCH v7 11/17] drm/i915/pxp: start the arb session on demand Daniele Ceraolo Spurio
2021-08-28  1:27   ` [Intel-gfx] " Daniele Ceraolo Spurio
2021-08-28  1:27 ` [PATCH v7 12/17] drm/i915/pxp: Enable PXP power management Daniele Ceraolo Spurio
2021-08-28  1:27   ` [Intel-gfx] " Daniele Ceraolo Spurio
2021-08-28  1:27 ` [PATCH v7 13/17] drm/i915/pxp: Add plane decryption support Daniele Ceraolo Spurio
2021-08-28  1:27   ` [Intel-gfx] " Daniele Ceraolo Spurio
2021-09-01 16:06   ` Rodrigo Vivi
2021-09-01 16:06     ` [Intel-gfx] " Rodrigo Vivi
2021-08-28  1:27 ` [PATCH v7 14/17] drm/i915/pxp: black pixels on pxp disabled Daniele Ceraolo Spurio
2021-08-28  1:27   ` [Intel-gfx] " Daniele Ceraolo Spurio
2021-09-01 16:05   ` Rodrigo Vivi
2021-08-28  1:27 ` [PATCH v7 15/17] drm/i915/pxp: add pxp debugfs Daniele Ceraolo Spurio
2021-08-28  1:27   ` [Intel-gfx] " Daniele Ceraolo Spurio
2021-09-09  8:17   ` Teres Alexis, Alan Previn [this message]
2021-09-09 10:38     ` Daniele Ceraolo Spurio
2021-08-28  1:27 ` [PATCH v7 16/17] drm/i915/pxp: add PXP documentation Daniele Ceraolo Spurio
2021-08-28  1:27   ` [Intel-gfx] " Daniele Ceraolo Spurio
2021-08-28  1:27 ` [PATCH v7 17/17] drm/i915/pxp: enable PXP for integrated Gen12 Daniele Ceraolo Spurio
2021-08-28  1:27   ` [Intel-gfx] " Daniele Ceraolo Spurio
2021-08-28  1:54 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Introduce Intel PXP (rev5) Patchwork
2021-08-28  1:56 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2021-08-28  1:59 ` [Intel-gfx] ✗ Fi.CI.DOCS: " Patchwork
2021-08-28  2:24 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2021-08-28  3:48 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork

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=feeca8386eb62d8fceef417f63d023277d047b5b.camel@intel.com \
    --to=alan.previn.teres.alexis@intel.com \
    --cc=daniele.ceraolospurio@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    /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.