diff options
author | Alan Previn <alan.previn.teres.alexis@intel.com> | 2023-10-11 14:01:57 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2023-10-18 10:01:33 +0200 |
commit | fb99e79ee62aaa07d9e77cb3a15c5f1ae2790e6a (patch) | |
tree | 21c407cdbffb5db5e7a93cf9f424be203951801f /include/drm/i915_pxp_tee_interface.h | |
parent | dab79a2235e5a1d6aadfeb601c84f31b5cb97141 (diff) | |
download | linux-stable-fb99e79ee62aaa07d9e77cb3a15c5f1ae2790e6a.tar.gz linux-stable-fb99e79ee62aaa07d9e77cb3a15c5f1ae2790e6a.tar.bz2 linux-stable-fb99e79ee62aaa07d9e77cb3a15c5f1ae2790e6a.zip |
mei: update mei-pxp's component interface with timeouts
In debugging platform or firmware related MEI-PXP connection
issues, having a timeout when clients (such as i915) calling
into mei-pxp's send/receive functions have proven useful as opposed to
blocking forever until the kernel triggers a watchdog panic (when
platform issues are experienced).
Update the mei-pxp component interface send and receive functions
to take in timeouts.
Signed-off-by: Alan Previn <alan.previn.teres.alexis@intel.com>
Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Link: https://lore.kernel.org/r/20231011110157.247552-5-tomas.winkler@intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/drm/i915_pxp_tee_interface.h')
-rw-r--r-- | include/drm/i915_pxp_tee_interface.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/include/drm/i915_pxp_tee_interface.h b/include/drm/i915_pxp_tee_interface.h index a702b6ec17f7..7d96985f2d05 100644 --- a/include/drm/i915_pxp_tee_interface.h +++ b/include/drm/i915_pxp_tee_interface.h @@ -22,8 +22,10 @@ struct i915_pxp_component_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); + int (*send)(struct device *dev, const void *message, size_t size, + unsigned long timeout_ms); + int (*recv)(struct device *dev, void *buffer, size_t size, + unsigned long timeout_ms); ssize_t (*gsc_command)(struct device *dev, u8 client_id, u32 fence_id, struct scatterlist *sg_in, size_t total_in_len, struct scatterlist *sg_out); |