From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759228Ab0GVLNK (ORCPT ); Thu, 22 Jul 2010 07:13:10 -0400 Received: from mga02.intel.com ([134.134.136.20]:21557 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1759288Ab0GVLND (ORCPT ); Thu, 22 Jul 2010 07:13:03 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.55,242,1278313200"; d="scan'208";a="537789536" Subject: [RFC][PATCH v1 05/15] perf: export tracepoint events via sysfs: i915 From: Lin Ming To: Ingo Molnar , Dave Airlie Cc: Robert Richter , Corey Ashford , Johannes Berg , Peter Zijlstra , Greg KH , Frederic Weisbecker , Paul Mundt , "eranian@gmail.com" , "Gary.Mohr@Bull.com" , "arjan@linux.intel.com" , "Zhang, Yanmin" , Paul Mackerras , "David S. Miller" , Russell King , Arnaldo Carvalho de Melo , Will Deacon , Maynard Johnson , Carl Love , Kay Sievers , lkml , Thomas Gleixner , Steven Rostedt Content-Type: text/plain; charset="UTF-8" Date: Thu, 22 Jul 2010 19:13:18 +0800 Message-ID: <1279797198.20942.86.camel@minggr.sh.intel.com> Mime-Version: 1.0 X-Mailer: Evolution 2.30.2 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 +#include #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