[Intel-gfx] [PATCH v2 2/2] drm/i915: enable to read CSB and CSB write pointer from HWSP in GVT-g VM
Joonas Lahtinen
joonas.lahtinen at linux.intel.com
Mon Oct 2 10:03:30 UTC 2017
On Sat, 2017-09-30 at 13:57 +0800, Weinan Li wrote:
> Let GVT-g VM read the CSB and CSB write pointer from virtual HWSP, not all
> the host support this feature, need to check the BIT(3) of caps in PVINFO.
>
> Signed-off-by: Weinan Li <weinan.z.li at intel.com>
> Cc: Chris Wilson <chris at chris-wilson.co.uk>
<SNIP>
> @@ -396,6 +393,12 @@ static bool csb_force_mmio(struct drm_i915_private *i915)
> if (intel_vtd_active())
> return true;
>
> + /* GVT emulation depends upon host kernel implementation, check
> + * support capbility by reading PV INFO before access HWSP.
> + */
The comment can be dropped completely, the code is self-descriptive.
> +++ b/drivers/gpu/drm/i915/intel_lrc.c
> @@ -722,7 +722,12 @@ static void intel_lrc_irq_handler(unsigned long data)
> &engine->status_page.page_addr[I915_HWS_CSB_BUF0_INDEX];
> unsigned int head, tail;
>
> - /* However GVT emulation depends upon intercepting CSB mmio */
> + /* However GVT-g emulation depends upon host kernel
> + * implementation, need to check support capbility by reading PV
> + * INFO before access HWSP. Beside from this, another special
> + * configuration may also need to force use mmio, like IOMMU
> + * enabled.
> + */
s/capbility/capability/ and please rephrase this to be a kerneldoc for
csb_use_mmio at the declaration.
> if (unlikely(execlists->csb_use_mmio)) {
> buf = (u32 * __force)
> (dev_priv->regs + i915_mmio_reg_offset(RING_CONTEXT_STATUS_BUF_LO(engine, 0)));
Regards, Joonas
--
Joonas Lahtinen
Open Source Technology Center
Intel Corporation
More information about the intel-gvt-dev
mailing list