From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755842AbcETOrg (ORCPT ); Fri, 20 May 2016 10:47:36 -0400 Received: from mail-yw0-f193.google.com ([209.85.161.193]:36201 "EHLO mail-yw0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755655AbcETOre convert rfc822-to-8bit (ORCPT ); Fri, 20 May 2016 10:47:34 -0400 Date: Fri, 20 May 2016 11:47:28 -0300 From: Gustavo Padovan To: Christian =?iso-8859-1?Q?K=F6nig?= Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, daniel.vetter@ffwll.ch Subject: Re: [PATCH 2/2] dma-buf/fence: add fence_array fences v4 Message-ID: <20160520144728.GE15150@joana> Mail-Followup-To: Gustavo Padovan , Christian =?iso-8859-1?Q?K=F6nig?= , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, daniel.vetter@ffwll.ch References: <1463752571-28688-1-git-send-email-deathsimple@vodafone.de> <1463752571-28688-2-git-send-email-deathsimple@vodafone.de> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8BIT In-Reply-To: <1463752571-28688-2-git-send-email-deathsimple@vodafone.de> User-Agent: Mutt/1.6.0 (2016-04-01) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 2016-05-20 Christian König : > From: Gustavo Padovan > > struct fence_collection inherits from struct fence and carries a > collection of fences that needs to be waited together. > > It is useful to translate a sync_file to a fence to remove the complexity > of dealing with sync_files on DRM drivers. So even if there are many > fences in the sync_file that needs to waited for a commit to happen, > they all get added to the fence_collection and passed for DRM use as > a standard struct fence. > > That means that no changes needed to any driver besides supporting fences. > > fence_collection's fence doesn't belong to any timeline context, so > fence_is_later() and fence_later() are not meant to be called with > fence_collections fences. > > v2: Comments by Daniel Vetter: > - merge fence_collection_init() and fence_collection_add() > - only add callbacks at ->enable_signalling() > - remove fence_collection_put() > - check for type on to_fence_collection() > - adjust fence_is_later() and fence_later() to WARN_ON() if they > are used with collection fences. > > v3: - Initialize fence_cb.node at fence init. > > Comments by Chris Wilson: > - return "unbound" on fence_collection_get_timeline_name() > - don't stop adding callbacks if one fails > - remove redundant !! on fence_collection_enable_signaling() > - remove redundant () on fence_collection_signaled > - use fence_default_wait() instead > > v4 (chk): Rework, simplification and cleanup: > - Drop FENCE_NO_CONTEXT handling, always allocate a context. > - Rename to fence_array. > - Return fixed driver name. > - Register only one callback at a time. > - Document that create function takes ownership of array. This looks good to me. Dropping NO_CONTEXT was a good idea, also registering only one callback makes it looks better. Gustavo