]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
drm/i915/gvt: expose vGPU context hw id
authorZhenyu Wang <zhenyuw@linux.intel.com>
Tue, 1 Aug 2017 05:09:47 +0000 (13:09 +0800)
committerZhenyu Wang <zhenyuw@linux.intel.com>
Thu, 10 Aug 2017 02:26:11 +0000 (10:26 +0800)
This exposes vGPU context hw id in mdev sysfs which is used to
do vGPU based profiling. Retrieved vGPU context hw id can be set
through i915 perf ioctl to set profiling for target vGPU.

Cc: Jiao Pengyuan <pengyuan.jiao@intel.com>
Cc: Niu Bing <bing.niu@intel.com>
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
drivers/gpu/drm/i915/gvt/kvmgt.c

index fd0c85f9ef3c369390abe200f8511f184c5c257a..83e88c70272a5b0dd3b60134c83b44752dbd1a48 100644 (file)
@@ -1170,10 +1170,27 @@ vgpu_id_show(struct device *dev, struct device_attribute *attr,
        return sprintf(buf, "\n");
 }
 
+static ssize_t
+hw_id_show(struct device *dev, struct device_attribute *attr,
+          char *buf)
+{
+       struct mdev_device *mdev = mdev_from_dev(dev);
+
+       if (mdev) {
+               struct intel_vgpu *vgpu = (struct intel_vgpu *)
+                       mdev_get_drvdata(mdev);
+               return sprintf(buf, "%u\n",
+                              vgpu->shadow_ctx->hw_id);
+       }
+       return sprintf(buf, "\n");
+}
+
 static DEVICE_ATTR_RO(vgpu_id);
+static DEVICE_ATTR_RO(hw_id);
 
 static struct attribute *intel_vgpu_attrs[] = {
        &dev_attr_vgpu_id.attr,
+       &dev_attr_hw_id.attr,
        NULL
 };