[PATCH 07/10] drm/i915/gvt: introduce a new flag F_CMD_WRITE_PATCH
Zhenyu Wang
zhenyuw at linux.intel.com
Tue Dec 1 05:59:51 UTC 2020
On 2020.11.25 08:41:00 +0800, Yan Zhao wrote:
> F_CMD_WRITE_PATCH means command write to this register needs to be patched
>
> Cc: Kevin Tian <kevin.tian at intel.com>
> Signed-off-by: Yan Zhao <yan.y.zhao at intel.com>
> ---
> drivers/gpu/drm/i915/gvt/gvt.h | 32 +++++++++++++++++++++++++++++++-
> 1 file changed, 31 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/gvt/gvt.h b/drivers/gpu/drm/i915/gvt/gvt.h
> index c470e185bc00..27878a18e6b4 100644
> --- a/drivers/gpu/drm/i915/gvt/gvt.h
> +++ b/drivers/gpu/drm/i915/gvt/gvt.h
> @@ -255,6 +255,8 @@ struct intel_gvt_mmio {
> #define F_CMD_ACCESS (1 << 3)
> /* This reg has been accessed by a VM */
> #define F_ACCESSED (1 << 4)
> +/* Value of command write of this reg needs to be patched */
> +#define F_CMD_WRITE_PATCH (1 << 5)
> /* This reg could be accessed by unaligned address */
> #define F_UNALIGN (1 << 6)
> /* This reg is in GVT's mmio save-restor list and in hardware
> @@ -685,11 +687,39 @@ static inline void intel_gvt_mmio_set_sr_in_ctx(
> }
>
> void intel_gvt_debugfs_add_vgpu(struct intel_vgpu *vgpu);
> +/**
> + * intel_gvt_mmio_set_cmd_fix_write -
> + * mark an MMIO if its cmd write needs to be
> + * patched
> + * @gvt: a GVT device
> + * @offset: register offset
> + *
> + */
> +static inline void intel_gvt_mmio_set_cmd_fix_write(
> + struct intel_gvt *gvt, unsigned int offset)
> +{
> + gvt->mmio.mmio_attribute[offset >> 2] |= F_CMD_WRITE_PATCH;
It's a bit mismatch for flag and function name, better to align..
> +}
> +
> +/**
> + * intel_gvt_mmio_is_cmd_fix_write - check if an mmio's cmd access needs to
> + * be patched
> + * @gvt: a GVT device
> + * @offset: register offset
> + *
> + * Returns:
> + * True if GPU commmand write to an MMIO should be patched
> + */
> +static inline bool intel_gvt_mmio_is_cmd_fix_write(
> + struct intel_gvt *gvt, unsigned int offset)
> +{
> + return gvt->mmio.mmio_attribute[offset >> 2] & F_CMD_WRITE_PATCH;
> +}
> +
> void intel_gvt_debugfs_remove_vgpu(struct intel_vgpu *vgpu);
> void intel_gvt_debugfs_init(struct intel_gvt *gvt);
> void intel_gvt_debugfs_clean(struct intel_gvt *gvt);
>
> -
> #include "trace.h"
> #include "mpt.h"
>
> --
> 2.17.1
>
> _______________________________________________
> intel-gvt-dev mailing list
> intel-gvt-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gvt-dev
--
$gpg --keyserver wwwkeys.pgp.net --recv-keys 4D781827
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/intel-gvt-dev/attachments/20201201/6928d0c7/attachment.sig>
More information about the intel-gvt-dev
mailing list