From patchwork Tue Dec 6 12:22:11 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Vetter X-Patchwork-Id: 9462423 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id DF06260236 for ; Tue, 6 Dec 2016 12:22:18 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D0912281A7 for ; Tue, 6 Dec 2016 12:22:18 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C563C28375; Tue, 6 Dec 2016 12:22:18 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.1 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_MED,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id B6F8C28391 for ; Tue, 6 Dec 2016 12:22:16 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 966636E35D; Tue, 6 Dec 2016 12:22:14 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mail-io0-x241.google.com (mail-io0-x241.google.com [IPv6:2607:f8b0:4001:c06::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id F02B0898D9 for ; Tue, 6 Dec 2016 12:22:12 +0000 (UTC) Received: by mail-io0-x241.google.com with SMTP id s82so6298804ioi.3 for ; Tue, 06 Dec 2016 04:22:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=o7BbLKyz2ovCuMwNM2VutJWSzoVkpawgXDSDbmMjH14=; b=SwMWT6KML5KMbrR9YLTzgqGsWSiwdrsT4a3dCLXufdw8J2NsguhPy/MvQJax8uapPx 0k38UHSf4v04CNj2nEhRk+QR8igvwp8oskXpl5sDSx5Ojav0rhzUkQAc1j7Go+WV8QO0 QBfRN9NErk5+mzdtcx4USCbPW1OxVR9OwYn9E= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=o7BbLKyz2ovCuMwNM2VutJWSzoVkpawgXDSDbmMjH14=; b=IKfdf1qiYtaQIgw3P1EYXDwbKfQDFqSpdQLiKG+OJwhLmyuweuSbCZpgwTvuABPsBk wiJu5suumQkshMrlncWeGztNx5WdOhlnm/pX4rUXtdsvCEvpJ3w21nBQ9uNZHS3eg9o7 5FNH6+09eUywsEI0dL9JfpTy9oHmY30Pd38wb2zBBSN2MDGx1ZOyaQVArkGFHLm92WZw jjhky9o0dhWmFz/+j0fLgnNz0V3VvRQ5F3cyFM2ptjq2N9MU90ldge5hGRP9WP8duxek vcT8jHpWEpeII3e8iAjiO1jsKZZC8AMx3PIpq9js0Ekt3Soq8BF5v6tLEWR8dQOz/JV8 oRpA== X-Gm-Message-State: AKaTC00+IA0OsGng5UUBz5mtV9Y1QY3YIp4DzlKQL4l9F/TkgQlwsCuxi3957hV1R3QDxP5udhzRxDtw4789cA== X-Received: by 10.36.85.151 with SMTP id e145mr2020300itb.15.1481026931927; Tue, 06 Dec 2016 04:22:11 -0800 (PST) MIME-Version: 1.0 Received: by 10.79.120.89 with HTTP; Tue, 6 Dec 2016 04:22:11 -0800 (PST) X-Originating-IP: [2a02:168:56b5:0:ac27:b86c:7764:9429] In-Reply-To: References: <20161117000846.GF1041@n2100.armlinux.org.uk> From: Daniel Vetter Date: Tue, 6 Dec 2016 13:22:11 +0100 X-Google-Sender-Auth: --O7JcE6fG-okxka6PiMg1DoD08 Message-ID: Subject: Re: [PATCH RFC 1/7] drm/armada: add tracing support To: Russell King Cc: dri-devel X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Virus-Scanned: ClamAV using ClamSMTP Hi Russell I need the below fixup to make this build for me: Otherwise it fails with CC [M] drivers/gpu/drm/armada/armada_trace.o In file included from drivers/gpu/drm/armada/armada_trace.h:66:0, from drivers/gpu/drm/armada/armada_trace.c:3: ./include/trace/define_trace.h:88:43: fatal error: ./armada_trace.h: No such file or directory #include TRACE_INCLUDE(TRACE_INCLUDE_FILE) ^ I've disabeld armada for now in the drm-misc defconfigs we use to build-test drm-misc patches (since I can't push stuff right now). Cheers, Daniel On Thu, Nov 17, 2016 at 1:09 AM, Russell King wrote: > Add tracing support to the Armada video overlay and interrupt code. > > Signed-off-by: Russell King > --- > drivers/gpu/drm/armada/Makefile | 2 +- > drivers/gpu/drm/armada/armada_crtc.c | 3 ++ > drivers/gpu/drm/armada/armada_overlay.c | 7 ++++ > drivers/gpu/drm/armada/armada_trace.c | 4 ++ > drivers/gpu/drm/armada/armada_trace.h | 66 +++++++++++++++++++++++++++++++++ > 5 files changed, 81 insertions(+), 1 deletion(-) > create mode 100644 drivers/gpu/drm/armada/armada_trace.c > create mode 100644 drivers/gpu/drm/armada/armada_trace.h > > diff --git a/drivers/gpu/drm/armada/Makefile b/drivers/gpu/drm/armada/Makefile > index ffd673615772..a18f156c8b66 100644 > --- a/drivers/gpu/drm/armada/Makefile > +++ b/drivers/gpu/drm/armada/Makefile > @@ -1,5 +1,5 @@ > armada-y := armada_crtc.o armada_drv.o armada_fb.o armada_fbdev.o \ > - armada_gem.o armada_overlay.o > + armada_gem.o armada_overlay.o armada_trace.o > armada-y += armada_510.o > armada-$(CONFIG_DEBUG_FS) += armada_debugfs.o > > diff --git a/drivers/gpu/drm/armada/armada_crtc.c b/drivers/gpu/drm/armada/armada_crtc.c > index 2f58e9e2a59c..135ad844fbb8 100644 > --- a/drivers/gpu/drm/armada/armada_crtc.c > +++ b/drivers/gpu/drm/armada/armada_crtc.c > @@ -18,6 +18,7 @@ > #include "armada_fb.h" > #include "armada_gem.h" > #include "armada_hw.h" > +#include "armada_trace.h" > > struct armada_frame_work { > struct armada_plane_work work; > @@ -464,6 +465,8 @@ static irqreturn_t armada_drm_irq(int irq, void *arg) > */ > writel_relaxed(0, dcrtc->base + LCD_SPU_IRQ_ISR); > > + trace_armada_drm_irq(&dcrtc->crtc, stat); > + > /* Mask out those interrupts we haven't enabled */ > v = stat & dcrtc->irq_ena; > > diff --git a/drivers/gpu/drm/armada/armada_overlay.c b/drivers/gpu/drm/armada/armada_overlay.c > index 1ee707ef6b8d..94af7c93276e 100644 > --- a/drivers/gpu/drm/armada/armada_overlay.c > +++ b/drivers/gpu/drm/armada/armada_overlay.c > @@ -15,6 +15,7 @@ > #include "armada_hw.h" > #include > #include "armada_ioctlP.h" > +#include "armada_trace.h" > > struct armada_ovl_plane_properties { > uint32_t colorkey_yr; > @@ -87,6 +88,8 @@ static void armada_ovl_plane_work(struct armada_crtc *dcrtc, > { > struct armada_ovl_plane *dplane = container_of(plane, struct armada_ovl_plane, base); > > + trace_armada_ovl_plane_work(&dcrtc->crtc, &plane->base); > + > armada_drm_crtc_update_regs(dcrtc, dplane->vbl.regs); > armada_ovl_retire_fb(dplane, NULL); > } > @@ -120,6 +123,10 @@ armada_ovl_plane_update(struct drm_plane *plane, struct drm_crtc *crtc, > bool visible; > int ret; > > + trace_armada_ovl_plane_update(plane, crtc, fb, > + crtc_x, crtc_y, crtc_w, crtc_h, > + src_x, src_y, src_w, src_h); > + > ret = drm_plane_helper_check_update(plane, crtc, fb, &src, &dest, &clip, > BIT(DRM_ROTATE_0), > 0, INT_MAX, true, false, &visible); > diff --git a/drivers/gpu/drm/armada/armada_trace.c b/drivers/gpu/drm/armada/armada_trace.c > new file mode 100644 > index 000000000000..068b336ba75f > --- /dev/null > +++ b/drivers/gpu/drm/armada/armada_trace.c > @@ -0,0 +1,4 @@ > +#ifndef __CHECKER__ > +#define CREATE_TRACE_POINTS > +#include "armada_trace.h" > +#endif > diff --git a/drivers/gpu/drm/armada/armada_trace.h b/drivers/gpu/drm/armada/armada_trace.h > new file mode 100644 > index 000000000000..dc0cba70fd1a > --- /dev/null > +++ b/drivers/gpu/drm/armada/armada_trace.h > @@ -0,0 +1,66 @@ > +#if !defined(ARMADA_TRACE_H) || defined(TRACE_HEADER_MULTI_READ) > +#define ARMADA_TRACE_H > + > +#include > +#include > + > +#undef TRACE_SYSTEM > +#define TRACE_SYSTEM armada > +#define TRACE_INCLUDE_FILE armada_trace > + > +TRACE_EVENT(armada_drm_irq, > + TP_PROTO(struct drm_crtc *crtc, u32 stat), > + TP_ARGS(crtc, stat), > + TP_STRUCT__entry( > + __field(struct drm_crtc *, crtc) > + __field(u32, stat) > + ), > + TP_fast_assign( > + __entry->crtc = crtc; > + __entry->stat = stat; > + ), > + TP_printk("crtc %p stat 0x%08x", > + __entry->crtc, __entry->stat) > +); > + > +TRACE_EVENT(armada_ovl_plane_update, > + TP_PROTO(struct drm_plane *plane, struct drm_crtc *crtc, > + struct drm_framebuffer *fb, > + int crtc_x, int crtc_y, unsigned crtc_w, unsigned crtc_h, > + uint32_t src_x, uint32_t src_y, uint32_t src_w, uint32_t src_h), > + TP_ARGS(plane, crtc, fb, crtc_x, crtc_y, crtc_w, crtc_h, src_x, src_y, src_w, src_h), > + TP_STRUCT__entry( > + __field(struct drm_plane *, plane) > + __field(struct drm_crtc *, crtc) > + __field(struct drm_framebuffer *, fb) > + ), > + TP_fast_assign( > + __entry->plane = plane; > + __entry->crtc = crtc; > + __entry->fb = fb; > + ), > + TP_printk("plane %p crtc %p fb %p", > + __entry->plane, __entry->crtc, __entry->fb) > +); > + > +TRACE_EVENT(armada_ovl_plane_work, > + TP_PROTO(struct drm_crtc *crtc, struct drm_plane *plane), > + TP_ARGS(crtc, plane), > + TP_STRUCT__entry( > + __field(struct drm_plane *, plane) > + __field(struct drm_crtc *, crtc) > + ), > + TP_fast_assign( > + __entry->plane = plane; > + __entry->crtc = crtc; > + ), > + TP_printk("plane %p crtc %p", > + __entry->plane, __entry->crtc) > +); > + > +#endif > + > +/* This part must be outside protection */ > +#undef TRACE_INCLUDE_PATH > +#define TRACE_INCLUDE_PATH . > +#include > -- > 2.7.4 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel diff --git a/drivers/gpu/drm/armada/Makefile b/drivers/gpu/drm/armada/Makefile index a18f156c8b66..64c0b4546fb2 100644 --- a/drivers/gpu/drm/armada/Makefile +++ b/drivers/gpu/drm/armada/Makefile @@ -4,3 +4,5 @@ armada-y += armada_510.o armada-$(CONFIG_DEBUG_FS) += armada_debugfs.o obj-$(CONFIG_DRM_ARMADA) := armada.o + +CFLAGS_armada_trace.o := -I$(src)