Messages in this thread Patch in this message | | | Subject | [RFC][PATCH v1 05/15] perf: export tracepoint events via sysfs: i915 | From | Lin Ming <> | Date | Thu, 22 Jul 2010 19:13:18 +0800 |
| |
i915 tracepoint events are exported like below,
/sys/devices/pci0000:00/0000:00:02.0/drm/card0/events |-- i915_gem_object_bind | |-- config | |-- type |-- i915_gem_object_change_domain | |-- config | |-- type .... .... --- drivers/gpu/drm/i915/i915_drv.c | 13 ++++++++++++- 1 files changed, 12 insertions(+), 1 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c index 423dc90..185b502 100644 --- a/drivers/gpu/drm/i915/i915_drv.c +++ b/drivers/gpu/drm/i915/i915_drv.c @@ -28,6 +28,7 @@ */ #include <linux/device.h> +#include <linux/perf_event.h> #include "drmP.h" #include "drm.h" #include "i915_drm.h" @@ -413,7 +414,17 @@ int i965_reset(struct drm_device *dev, u8 flags) static int __devinit i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { - return drm_get_dev(pdev, ent, &driver); + struct drm_device *drm_dev; + int ret; + + ret = drm_get_dev(pdev, ent, &driver); + + if (!ret) { + drm_dev = pci_get_drvdata(pdev); + perf_sys_add_tp(&drm_dev->primary->kdev.kobj, "i915"); + } + + return ret; } static void
| |