From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E5816C43331 for ; Fri, 6 Sep 2019 09:12:20 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id BD035208C3 for ; Fri, 6 Sep 2019 09:12:20 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2390934AbfIFJMU (ORCPT ); Fri, 6 Sep 2019 05:12:20 -0400 Received: from relay3-d.mail.gandi.net ([217.70.183.195]:57273 "EHLO relay3-d.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730704AbfIFJMU (ORCPT ); Fri, 6 Sep 2019 05:12:20 -0400 X-Originating-IP: 86.207.98.53 Received: from localhost (aclermont-ferrand-651-1-259-53.w86-207.abo.wanadoo.fr [86.207.98.53]) (Authenticated sender: alexandre.belloni@bootlin.com) by relay3-d.mail.gandi.net (Postfix) with ESMTPSA id 768CD6000B; Fri, 6 Sep 2019 09:12:17 +0000 (UTC) Date: Fri, 6 Sep 2019 11:12:12 +0200 From: Alexandre Belloni To: David Laight Cc: Linus Walleij , Ludovic Desroches , Nicolas Ferre , "Claudiu.Beznea@microchip.com" , "linux-gpio@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH v2] pinctrl: at91-pio4: implement .get_multiple and .set_multiple Message-ID: <20190906091212.GF21254@piout.net> References: <20190905144849.24882-1-alexandre.belloni@bootlin.com> <2261eadf98584d13a490f2abd8777d4a@AcuMS.aculab.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <2261eadf98584d13a490f2abd8777d4a@AcuMS.aculab.com> User-Agent: Mutt/1.12.1 (2019-06-15) Sender: linux-gpio-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org On 06/09/2019 09:05:36+0000, David Laight wrote: > From: Alexandre Belloni > > Implement .get_multiple and .set_multiple to allow reading or setting > > multiple pins simultaneously. Pins in the same bank will all be switched at > > the same time, improving synchronization and performances. > > Actually it won't 'improve synchronisation', instead it will lead to > random synchronisation errors and potential metastability if one > pin is used as a clock and another as data, or if the code is reading > a free-flowing counter. > It does improve gpio switching synchronisation when they are in the same bank as it will remove the 250ns delay. Of course, if you need this delay between clk and data, then the consumer driver should ensure the delay is present. > It will improve performance though. > > David > > - > Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK > Registration No: 1397386 (Wales) > -- Alexandre Belloni, Bootlin Embedded Linux and Kernel engineering https://bootlin.com From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.2 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0493AC43140 for ; Fri, 6 Sep 2019 09:13:05 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id CEBA420854 for ; Fri, 6 Sep 2019 09:13:04 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="VJi8oVIb"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b="xzlpG57X" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CEBA420854 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=bootlin.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=OMe/zMFEnHSP9F2w3oomd6khf0gBJdkae4Pp8cIE4ks=; b=VJi8oVIb+CzvcT YRiKskgrUxqtPEhFFR0AWQMu3Si+rxVuIqwD7yPk1JKYlfnat+ltMLisFHa+O3sS+mQHKwGwJLtXw 1bw4ySnZ0QUh+FueOja9Z6B4d+goa1x2DZbesW6Xt15h21PbEOiZTkRpl1aHjDJgtPW5VbA2XmPMX l0VvinZOQQVEHBrZWUA01Jnw2c/ZBjQRm2y2pLgDd43ijcebfU+p93ILwkualcwYQxpgMe8xwYNTq K/vDJzcnItS1FNW5dh2ODZYYBakOOzKCn4HGhbdLTL14baU7WXnrItaOoDbW7nEsmBk9S+KwqvPMJ UPDGhblkJdskKkqVsD9Q==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92 #3 (Red Hat Linux)) id 1i6AIc-0007Xo-Ab; Fri, 06 Sep 2019 09:12:58 +0000 Received: from merlin.infradead.org ([2001:8b0:10b:1231::1]) by bombadil.infradead.org with esmtps (Exim 4.92 #3 (Red Hat Linux)) id 1i6AIZ-0007WQ-Mu for linux-arm-kernel@bombadil.infradead.org; Fri, 06 Sep 2019 09:12:55 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=merlin.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=5r3EoEHrDZYccZzI15G7Xl9Rdy3Rap5VBXbSb8ZX0VQ=; b=xzlpG57XKVaGvasuu2PttgEiE s8LWmzYAmvBtG3XnHTHFSLXOI1AhH4rqTmjKvcp5Vp8dxjXcufu4OJHRp+qz31fIjFhhUHjLuKeVK YWYfRojLlwgFys1Ucpf1eVrqEOdGG9TmZi2HJG2XematyvLBnrJXK284zb00SX9XtJATmGorZBaml T1CnOAwF/65KawrMVlAeED3obR5F75fW7F2J0o9Gwl4vvZ+yDU2jyjTZgfD3bpulajTE1S9/3+EYA ZgcRh47VdS6k7x00rPvOPf4BH2waUheTGRPvQKh3Ps+7Jerd7OSvxv0L5yjMK9caycizC8TzkCqd8 y/rUWz1lg==; Received: from relay3-d.mail.gandi.net ([217.70.183.195]) by merlin.infradead.org with esmtps (Exim 4.92 #3 (Red Hat Linux)) id 1i6AIV-0004Mz-6L for linux-arm-kernel@lists.infradead.org; Fri, 06 Sep 2019 09:12:52 +0000 X-Originating-IP: 86.207.98.53 Received: from localhost (aclermont-ferrand-651-1-259-53.w86-207.abo.wanadoo.fr [86.207.98.53]) (Authenticated sender: alexandre.belloni@bootlin.com) by relay3-d.mail.gandi.net (Postfix) with ESMTPSA id 768CD6000B; Fri, 6 Sep 2019 09:12:17 +0000 (UTC) Date: Fri, 6 Sep 2019 11:12:12 +0200 From: Alexandre Belloni To: David Laight Subject: Re: [PATCH v2] pinctrl: at91-pio4: implement .get_multiple and .set_multiple Message-ID: <20190906091212.GF21254@piout.net> References: <20190905144849.24882-1-alexandre.belloni@bootlin.com> <2261eadf98584d13a490f2abd8777d4a@AcuMS.aculab.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <2261eadf98584d13a490f2abd8777d4a@AcuMS.aculab.com> User-Agent: Mutt/1.12.1 (2019-06-15) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Linus Walleij , "linux-kernel@vger.kernel.org" , "linux-gpio@vger.kernel.org" , Ludovic Desroches , "Claudiu.Beznea@microchip.com" , "linux-arm-kernel@lists.infradead.org" Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org On 06/09/2019 09:05:36+0000, David Laight wrote: > From: Alexandre Belloni > > Implement .get_multiple and .set_multiple to allow reading or setting > > multiple pins simultaneously. Pins in the same bank will all be switched at > > the same time, improving synchronization and performances. > > Actually it won't 'improve synchronisation', instead it will lead to > random synchronisation errors and potential metastability if one > pin is used as a clock and another as data, or if the code is reading > a free-flowing counter. > It does improve gpio switching synchronisation when they are in the same bank as it will remove the 250ns delay. Of course, if you need this delay between clk and data, then the consumer driver should ensure the delay is present. > It will improve performance though. > > David > > - > Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK > Registration No: 1397386 (Wales) > -- Alexandre Belloni, Bootlin Embedded Linux and Kernel engineering https://bootlin.com _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel