The size, length, addr_mask fields actually are not necessary. Every
tracked mmio has DWORD size, and addr_mask is a legacy field.
Signed-off-by: Changbin Du <changbin.du@intel.com>
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
p = firmware + h->mmio_offset;
- hash_for_each(gvt->mmio.mmio_info_table, i, e, node) {
- int j;
-
- for (j = 0; j < e->length; j += 4)
- *(u32 *)(p + e->offset + j) =
- I915_READ_NOTRACE(_MMIO(e->offset + j));
- }
+ hash_for_each(gvt->mmio.mmio_info_table, i, e, node)
+ *(u32 *)(p + e->offset) = I915_READ_NOTRACE(_MMIO(e->offset));
memcpy(gvt->firmware.mmio, p, info->mmio_size);
if (p)
gvt_err("dup mmio definition offset %x\n",
info->offset);
- info->size = size;
- info->length = (i + 4) < end ? 4 : (end - i);
- info->addr_mask = addr_mask;
+
info->ro_mask = ro_mask;
info->device = device;
info->read = read ? read : intel_vgpu_default_mmio_read;
goto default_rw;
}
- if (WARN_ON(bytes > mmio_info->size))
- return -EINVAL;
-
if (is_read)
return mmio_info->read(vgpu, offset, pdata, bytes);
else {
struct intel_gvt_mmio_info {
u32 offset;
- u32 size;
- u32 length;
- u32 addr_mask;
u64 ro_mask;
u32 device;
gvt_mmio_func read;