Received: by 2002:a25:683:0:0:0:0:0 with SMTP id 125csp1120106ybg; Thu, 4 Jun 2020 01:17:23 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy28LEWS9rXcif2Nls74dMVTJpHYYZ+9tTu5myMjz6S3gsW0I+n2r/urZTw2MVvThymlPMq X-Received: by 2002:a17:906:a889:: with SMTP id ha9mr2935352ejb.429.1591258643472; Thu, 04 Jun 2020 01:17:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1591258643; cv=none; d=google.com; s=arc-20160816; b=rnSchWpIDvkupvAr5coogywy1HHQBE26ILxCqPFQ2SXlGt0Jyk9cw5KsDIWaefP1B7 3rhH1h7rhc8YhL3K7yM+L0BQCBiOXrlYttcXHsEIeKYJAD1XUyrRNgVKWwGTe2snJHtX 9JU/w1ffOOuuc7Q7pf4gNvtWTg3ER+V3UpSTZBx8WtszfHtWjSodpn6oYbNCS3WYXfR7 qySgVE8sP0kb1FbGmJAB5hCRPOuyxFbbDdVcQZ727Qm0rfjG8XNoWGfMzsum1ZY96vuJ Nhqzx2pSiNRsS/T4ybpwPRD4U91WYzsbqFR/v+arZWbXt3KWeIoFadBAdpcqSzN6J55a LFKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=+tjBPalwpvfaI2TJsBD2Z0Z3ZUY/HUiWjYFdKsCw83k=; b=tjnWRKDvFNb2JQ2UE03vfoPcTgMNGq+AcWF0UyFetSFsb+sxA0qN+kLQZ+oWo2/S7B etwFb9yAmSzmnhBZE3n6ykGOFaAS9kT0JsErXtIt3bncYIsfdf1NC+FEExGXmRR8BExz 1M7zWrGSD2zz/u0Px8OEkcIBrnaRPK/QYFSNHRzK2XAqGCPtYM2moONqpxqr2KPOGQta KS5g4MGs45f3vIePORcMeIz8yvIt+it4FkP0gViuFzBC/KcMF1Lvr2ebBdb0OV7GPWkH mEYi+Uy2EofkgVaddtHknVe0MszlP5QaWDIL69uJdEzcTtH/XmHgYytjG26vVuasECA/ wqgA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ffwll.ch header.s=google header.b=gE8sqqdh; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id ds2si1442669ejc.114.2020.06.04.01.17.00; Thu, 04 Jun 2020 01:17:23 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@ffwll.ch header.s=google header.b=gE8sqqdh; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727120AbgFDIMq (ORCPT + 99 others); Thu, 4 Jun 2020 04:12:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51470 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727040AbgFDIMm (ORCPT ); Thu, 4 Jun 2020 04:12:42 -0400 Received: from mail-wr1-x441.google.com (mail-wr1-x441.google.com [IPv6:2a00:1450:4864:20::441]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 03E99C08C5C6 for ; Thu, 4 Jun 2020 01:12:41 -0700 (PDT) Received: by mail-wr1-x441.google.com with SMTP id x13so5042564wrv.4 for ; Thu, 04 Jun 2020 01:12:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=+tjBPalwpvfaI2TJsBD2Z0Z3ZUY/HUiWjYFdKsCw83k=; b=gE8sqqdhi+ZYNpSwpwhah5KEVl5ccYRDpPqBoxZhhBcosuxdUUBujJlkR2DqFrVMMb SHhTPvm1cFszlQjqvdRcNdZIe628+AaiwXuD9C5umUghpDpDj2u5g6Zm/nnu8nPXkam7 hk6PoZYcpGdN71cpcxHDgPkUd9FGT9iRwxbMY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=+tjBPalwpvfaI2TJsBD2Z0Z3ZUY/HUiWjYFdKsCw83k=; b=nPf/ggqDNtLjNPYtuP8wKy+ST4PHZkjtO7gCh6SS6aB1qcAxGTOJ9fPFNEGOIGwvy7 i81YNhi3mBQGOqQck8l1vwZTaBeaQlmuiDqiZWtc+2AXKH1/JKDT84P46vHQIOBxbujI 28VlQaTNqUnw5/ip+DVOR9zDrLHmJZEkjOKje8+7k5GdxEitBZLDJCRVIoFEsAAQq+uL 68MVGzl27pVUkeH3Cj0jwhVmNRtCN6PCRpNC0OKEE4tcngi11ARdQFelGO3iPVcg/jtO wxuM1W4OFLzgSMzq0kYZTjd9NO92EBJbfP8QN3VZZi4ANrx7u7oECx1bnA7nUWmKEzeX mmhw== X-Gm-Message-State: AOAM531JMZhEUxXze2U76MNUV7G1909rv4rnwANeh/ah6wwPIoD2iNR9 +ypVQwjkzuUCbDGXj3dazozOXA== X-Received: by 2002:a5d:6144:: with SMTP id y4mr3357789wrt.185.1591258359734; Thu, 04 Jun 2020 01:12:39 -0700 (PDT) Received: from phenom.ffwll.local ([2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa]) by smtp.gmail.com with ESMTPSA id f11sm6873305wrj.2.2020.06.04.01.12.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 04 Jun 2020 01:12:39 -0700 (PDT) From: Daniel Vetter To: DRI Development Cc: Intel Graphics Development , LKML , linux-rdma@vger.kernel.org, amd-gfx@lists.freedesktop.org, Daniel Vetter , linux-media@vger.kernel.org, linaro-mm-sig@lists.linaro.org, Chris Wilson , Maarten Lankhorst , =?UTF-8?q?Christian=20K=C3=B6nig?= , Daniel Vetter Subject: [PATCH 06/18] drm/vblank: Annotate with dma-fence signalling section Date: Thu, 4 Jun 2020 10:12:12 +0200 Message-Id: <20200604081224.863494-7-daniel.vetter@ffwll.ch> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200604081224.863494-1-daniel.vetter@ffwll.ch> References: <20200604081224.863494-1-daniel.vetter@ffwll.ch> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This is rather overkill since currently all drivers call this from hardirq (or at least timers). But maybe in the future we're going to have thread irq handlers and what not, doesn't hurt to be prepared. Plus this is an easy start for sprinkling these fence annotations into shared code. Cc: linux-media@vger.kernel.org Cc: linaro-mm-sig@lists.linaro.org Cc: linux-rdma@vger.kernel.org Cc: amd-gfx@lists.freedesktop.org Cc: intel-gfx@lists.freedesktop.org Cc: Chris Wilson Cc: Maarten Lankhorst Cc: Christian König Signed-off-by: Daniel Vetter --- drivers/gpu/drm/drm_vblank.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c index 85e5f2db1608..93a5bba5f665 100644 --- a/drivers/gpu/drm/drm_vblank.c +++ b/drivers/gpu/drm/drm_vblank.c @@ -24,6 +24,7 @@ * OTHER DEALINGS IN THE SOFTWARE. */ +#include #include #include @@ -1908,7 +1909,7 @@ bool drm_handle_vblank(struct drm_device *dev, unsigned int pipe) { struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; unsigned long irqflags; - bool disable_irq; + bool disable_irq, fence_cookie; if (drm_WARN_ON_ONCE(dev, !drm_dev_has_vblank(dev))) return false; @@ -1916,6 +1917,8 @@ bool drm_handle_vblank(struct drm_device *dev, unsigned int pipe) if (drm_WARN_ON(dev, pipe >= dev->num_crtcs)) return false; + fence_cookie = dma_fence_begin_signalling(); + spin_lock_irqsave(&dev->event_lock, irqflags); /* Need timestamp lock to prevent concurrent execution with @@ -1928,6 +1931,7 @@ bool drm_handle_vblank(struct drm_device *dev, unsigned int pipe) if (!vblank->enabled) { spin_unlock(&dev->vblank_time_lock); spin_unlock_irqrestore(&dev->event_lock, irqflags); + dma_fence_end_signalling(fence_cookie); return false; } @@ -1953,6 +1957,8 @@ bool drm_handle_vblank(struct drm_device *dev, unsigned int pipe) if (disable_irq) vblank_disable_fn(&vblank->disable_timer); + dma_fence_end_signalling(fence_cookie); + return true; } EXPORT_SYMBOL(drm_handle_vblank); -- 2.26.2