Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934392AbcJZVoJ (ORCPT ); Wed, 26 Oct 2016 17:44:09 -0400 Received: from mail-ua0-f193.google.com ([209.85.217.193]:34848 "EHLO mail-ua0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753075AbcJZVoE (ORCPT ); Wed, 26 Oct 2016 17:44:04 -0400 Date: Wed, 26 Oct 2016 19:43:57 -0200 From: Gustavo Padovan To: Brian Starkey Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org Subject: Re: [RFC PATCH v2 9/9] drm: mali-dp: Add writeback out-fence support Message-ID: <20161026214357.GH12629@joana> Mail-Followup-To: Gustavo Padovan , Brian Starkey , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org References: <1477472108-27222-1-git-send-email-brian.starkey@arm.com> <1477472108-27222-10-git-send-email-brian.starkey@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1477472108-27222-10-git-send-email-brian.starkey@arm.com> User-Agent: Mutt/1.7.0 (2016-08-17) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1179 Lines: 31 2016-10-26 Brian Starkey : > If userspace has asked for an out-fence for the writeback, we add a > fence to malidp_mw_job, to be signaled when the writeback job has > completed. > > Signed-off-by: Brian Starkey > --- > drivers/gpu/drm/arm/malidp_hw.c | 5 ++++- > drivers/gpu/drm/arm/malidp_mw.c | 18 +++++++++++++++++- > drivers/gpu/drm/arm/malidp_mw.h | 3 +++ > 3 files changed, 24 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/arm/malidp_hw.c b/drivers/gpu/drm/arm/malidp_hw.c > index 1689547..3032226 100644 > --- a/drivers/gpu/drm/arm/malidp_hw.c > +++ b/drivers/gpu/drm/arm/malidp_hw.c > @@ -707,8 +707,11 @@ static irqreturn_t malidp_se_irq(int irq, void *arg) > unsigned long irqflags; > /* > * We can't unreference the framebuffer here, so we queue it > - * up on our threaded handler. > + * up on our threaded handler. However, signal the fence > + * as soon as possible > */ > + malidp_mw_job_signal(drm, malidp->current_mw, 0); Drivers should not deal with fences directly. We need some sort of drm_writeback_finished() that will do the signalling for you. Gustavo