[PATCH 07/10] drm/i915/gvt: introduce a new flag F_CMD_WRITE_PATCH

Yan Zhao yan.y.zhao at intel.com
Tue Dec 1 06:15:02 UTC 2020


On Tue, Dec 01, 2020 at 01:59:51PM +0800, Zhenyu Wang wrote:
> 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..
>
rename the flag to F_CMD_FIX_WRITE ?

> > +}
> > +
> > +/**
> > + * 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




More information about the intel-gvt-dev mailing list