On Wed, 28 Jul 2021, Daniele Ceraolo Spurio daniele.ceraolospurio@intel.com wrote:
This will be used for communication between the i915 driver and the mei one. Defining it in a stand-alone patch to avoid circualr dependedencies between the patches modifying the 2 drivers.
Split out from an original patch from Huang, Sean Z
v2: rename the component struct (Rodrigo)
Signed-off-by: Daniele Ceraolo Spurio daniele.ceraolospurio@intel.com Cc: Rodrigo Vivi rodrigo.vivi@intel.com Reviewed-by: Rodrigo Vivi rodrigo.vivi@intel.com
include/drm/i915_component.h | 1 + include/drm/i915_pxp_tee_interface.h | 45 ++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 include/drm/i915_pxp_tee_interface.h
diff --git a/include/drm/i915_component.h b/include/drm/i915_component.h index 55c3b123581b..c1e2a43d2d1e 100644 --- a/include/drm/i915_component.h +++ b/include/drm/i915_component.h @@ -29,6 +29,7 @@ enum i915_component_type { I915_COMPONENT_AUDIO = 1, I915_COMPONENT_HDCP,
- I915_COMPONENT_PXP
};
/* MAX_PORT is the number of port diff --git a/include/drm/i915_pxp_tee_interface.h b/include/drm/i915_pxp_tee_interface.h new file mode 100644 index 000000000000..09b8389152af --- /dev/null +++ b/include/drm/i915_pxp_tee_interface.h @@ -0,0 +1,45 @@ +/* SPDX-License-Identifier: MIT */ +/*
- Copyright © 2020 Intel Corporation
- Authors:
- Vitaly Lubart vitaly.lubart@intel.com
IMO we should avoid adding new authors lists in code comments. Git log provides accurate and up-to-date information, and I don't want patches where people add their names to authors lists.
BR, Jani.
- */
+#ifndef _I915_PXP_TEE_INTERFACE_H_ +#define _I915_PXP_TEE_INTERFACE_H_
+#include <linux/mutex.h> +#include <linux/device.h>
+/**
- struct i915_pxp_component_ops - ops for PXP services.
- @owner: Module providing the ops
- @send: sends data to PXP
- @receive: receives data from PXP
- */
+struct i915_pxp_component_ops {
- /**
* @owner: owner of the module provding the ops
*/
- struct module *owner;
- int (*send)(struct device *dev, const void *message, size_t size);
- int (*recv)(struct device *dev, void *buffer, size_t size);
+};
+/**
- struct i915_pxp_component - Used for communication between i915 and TEE
- drivers for the PXP services
- @tee_dev: device that provide the PXP service from TEE Bus.
- @pxp_ops: Ops implemented by TEE driver, used by i915 driver.
- */
+struct i915_pxp_component {
- struct device *tee_dev;
- const struct i915_pxp_component_ops *ops;
- /* To protect the above members. */
- struct mutex mutex;
+};
+#endif /* _I915_TEE_PXP_INTERFACE_H_ */