[PATCH v4 00/11] cmd scanning optimization

Yan Zhao yan.y.zhao at intel.com
Wed Dec 23 02:03:24 UTC 2020


hi
This is a series that optimizes current command scanning logic.

Patch 1 scans a init context to parse hardware context and set
mmio cmd accessible flag accordingly.

Patch 2 scans workload context pages.

Patches 3-5 add extra commands scan policy for "srm", "lrm", "lrr".
            "pipe-ctrl" is a TODO to be completed in future.

patch 6 exports a find_mmio_info interface to be used in patch 10 and
        patch 11

patch 7 extends mmio_attribute from 8 bits to 16 bits as we have been
        running out of bits for mmio flags.

Patches 8-10 introduce a new mmio flag F_CMD_WRITE_PATCH and init this
            flag in static handlers array and dynamically during parsing
            init ctx.

Patch 11 unifies lri command handler with MMIO handler


changelogs:
v4:
- fixed the error path handling in patch 1 that may leak context unpin
(zhenyu)

v3:
- updated patch 7 to extend mmio_attribute to 16 bits instead of 32 bits.

v2:
- combined serial smaller loops into one big loop in
  intel_gvt_update_reg_whitelist() in patch 1 (zhenyu)
- updated comment style for "pipe_ctrl" and add description for TODO
  item. (zhenyu)
- changed intel_gvt_mmio_set_cmd_fix_write() and
  intel_gvt_mmio_is_cmd_fix_write() to intel_gvt_mmio_set_cmd_write_patch()
  and intel_gvt_mmio_is_cmd_write_patch() in order to align with mmio flag
  name. (zhenyu)
- added patch 7 to exend mmio_attribute in order to hold more mmio
  flags. (zhenyu)

Yan Zhao (11):
  drm/i915/gvt: parse init context to update cmd accessible reg
    whitelist
  drm/i915/gvt: scan VM ctx pages
  drm/i915/gvt: filter cmds "srm" and "lrm" in cmd_handler
  drm/i915/gvt: filter cmds "lrr-src" and "lrr-dst" in cmd_handler
  drm/i915/gvt: filter cmd "pipe-ctrl" in cmd_handler
  drm/i915/gvt: export find_mmio_info
  drm/i915/gvt: make width of mmio_attribute bigger
  drm/i915/gvt: introduce a new flag F_CMD_WRITE_PATCH
  drm/i915/gvt: statically set F_CMD_WRITE_PATCH flag
  drm/i915/gvt: update F_CMD_WRITE_PATCH flag when parsing init ctx
  drm/i915/gvt: unify lri cmd handler and mmio handlers

 drivers/gpu/drm/i915/gvt/cmd_parser.c | 334 ++++++++++++++++++++------
 drivers/gpu/drm/i915/gvt/cmd_parser.h |   4 +
 drivers/gpu/drm/i915/gvt/gvt.h        |  37 ++-
 drivers/gpu/drm/i915/gvt/handlers.c   |  15 +-
 drivers/gpu/drm/i915/gvt/mmio.h       |   3 +
 drivers/gpu/drm/i915/gvt/reg.h        |   2 +
 drivers/gpu/drm/i915/gvt/scheduler.c  |  22 +-
 drivers/gpu/drm/i915/gvt/vgpu.c       |   4 +-
 8 files changed, 338 insertions(+), 83 deletions(-)

-- 
2.17.1



More information about the intel-gvt-dev mailing list