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=-5.3 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, NICE_REPLY_A,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 704CDC4741F for ; Tue, 10 Nov 2020 10:04:11 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (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 EED1E20780 for ; Tue, 10 Nov 2020 10:04:10 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="OMw8qRHr"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=xilinx.onmicrosoft.com header.i=@xilinx.onmicrosoft.com header.b="iUqn9Y5/" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org EED1E20780 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=xilinx.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+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=merlin.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:Date:Message-ID:From: References:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=BRrSb0UrImy61t+DKblbT+N+T6Ip2B6ItC0EqKEDTk8=; b=OMw8qRHrJf6w/cyZu2UAgauO0 hZQGsg4gbuOkZ4ppGYLkLY4VvPV3m6LmvqL8bCxxnGNlgqel/6ghUs7WumNtTz+cl/rf961SXRlU5 hnKAnfu/Qr+dkwVg1SUVVO/Z2YBnou56ZysvIonyLDTTl7o0GChd26cQToxJXsgDTNeOZWa0VTSYE Bja1lXFrhRgozcYmaYzevYMWwG8ZltGoEe05ouVYicXkO6mdaAgsUASaKPu20zBVb34g48sfGHLgy tBs516Im6r3s4VmNiP4YM5lPfOPkqFzwvfgMDLZv2yf4T9dAzBRrUYZ7J36zUjkfvQcagsv/7vjSQ 5cQqb1SUA==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kcQUJ-00081O-6p; Tue, 10 Nov 2020 10:02:55 +0000 Received: from mail-co1nam11on2084.outbound.protection.outlook.com ([40.107.220.84] helo=NAM11-CO1-obe.outbound.protection.outlook.com) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kcQUF-0007zW-Q8 for linux-arm-kernel@lists.infradead.org; Tue, 10 Nov 2020 10:02:52 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=edBnPMDc4KBZnR+Yf/IAZuab5sA+AVQA6wabznBZ2bL5fQehVqz8ZsFigRzx5RWTPXO9NKl+uvTN6zCwDGbnGlZSr8HgqWHvKbXEa+T+pE6WNQo7xy14+Q0ssMvZy8U33mxhtEw3OpvuGiTbAqIrkI/IsjfqZVII2VvtgVIL88pUzv6h2Yj0LfEN4Qut0KJg9L17ik5vpRxNe5Jr6mnTERyOIhTgvVcI2IGqdCpBps1vYo8lqr5jdV57MnOApjd3qe36qK4Rca2XTYTssyxOHsB8AuceiWS5DhQwvZumgiZyTU3BVhiicI/QimJSmd35qrBGkSQZ4g3wVxyR/Xl9KA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qT0GiqS5zxq7DthfXVsqQqgOnlUR0z7bNN1Qp+zYmgM=; b=KOt0TdK61+42wvK3XfAaSaBi2peWn3G/9HDjlfio3HQ7QQC/nITi3+PsRFrKMpq24WEz8gPzxeKWRdZLk/5rf83zgzFTppXvvCP4dwQ/lE8uUx0VGJjaUy0kgw7qGElJjQb7bHJG8sChrZh3tShPpj4H7nKiArGqaQl64m8jLydv4Fxx0hEGgi4mCcjMom8kaoRtV8gtd3s376A/FyFSSkn/xiFEYUW3K2+Q0DQS1Jeyl1+X1G0clQ8WDx+CMwc8tN0HhhgUxLDNgNzQI4v+LtHSh3O0Y2C9wcimHw8e4UtIYoKJIY8Hwh2MWo0dNOQAWs/tL3JWwN+2t2P/8zXqdg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 149.199.62.198) smtp.rcpttodomain=lists.infradead.org smtp.mailfrom=xilinx.com; dmarc=bestguesspass action=none header.from=xilinx.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector2-xilinx-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qT0GiqS5zxq7DthfXVsqQqgOnlUR0z7bNN1Qp+zYmgM=; b=iUqn9Y5/hJFO8Mo1KP7PJo3vy38u9rRSU8sO3VHle9nysX3ig3sqdBe8qIMC5p1W/skQ0mmw7watpUonIt7dTO8ba3ZJFR+usmgF6oyxwiS7PRFA2ws2DXmAOkn8xcm2YLf4DP1j2md8bmKVSFIebtlg6h7MsPivuZ+UMAbx1vc= Received: from MN2PR05CA0066.namprd05.prod.outlook.com (2603:10b6:208:236::35) by SJ0PR02MB7263.namprd02.prod.outlook.com (2603:10b6:a03:2a0::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3541.21; Tue, 10 Nov 2020 10:02:49 +0000 Received: from BL2NAM02FT008.eop-nam02.prod.protection.outlook.com (2603:10b6:208:236:cafe::47) by MN2PR05CA0066.outlook.office365.com (2603:10b6:208:236::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3564.21 via Frontend Transport; Tue, 10 Nov 2020 10:02:49 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 149.199.62.198) smtp.mailfrom=xilinx.com; lists.infradead.org; dkim=none (message not signed) header.d=none;lists.infradead.org; dmarc=bestguesspass action=none header.from=xilinx.com; Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.62.198 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.62.198; helo=xsj-pvapexch02.xlnx.xilinx.com; Received: from xsj-pvapexch02.xlnx.xilinx.com (149.199.62.198) by BL2NAM02FT008.mail.protection.outlook.com (10.152.76.162) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.3541.17 via Frontend Transport; Tue, 10 Nov 2020 10:02:49 +0000 Received: from xsj-pvapexch01.xlnx.xilinx.com (172.19.86.40) by xsj-pvapexch02.xlnx.xilinx.com (172.19.86.41) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1913.5; Tue, 10 Nov 2020 02:02:47 -0800 Received: from smtp.xilinx.com (172.19.127.96) by xsj-pvapexch01.xlnx.xilinx.com (172.19.86.40) with Microsoft SMTP Server id 15.1.1913.5 via Frontend Transport; Tue, 10 Nov 2020 02:02:47 -0800 Received: from [172.30.17.110] (port=56692) by smtp.xilinx.com with esmtp (Exim 4.90) (envelope-from ) id 1kcQUA-0007ev-R1; Tue, 10 Nov 2020 02:02:47 -0800 Subject: Re: [PATCH v12 4/4] gpio: xilinx: Utilize generic bitmap_get_value and _set_value To: William Breathitt Gray , Andy Shevchenko References: <15a044d3ba23f00c31fd09437bdd3e5924bb91cd.1603055402.git.syednwaris@gmail.com> <20201101150033.GA68138@shinobu> <20201109123411.GA19869@syed> <20201109134128.GA5596@shinobu> <20201109164529.GA28710@syed.domain.name> <20201109171140.GA14045@shinobu> <20201109172220.GI4077@smile.fi.intel.com> <20201109173107.GA14643@shinobu> From: Michal Simek Message-ID: Date: Tue, 10 Nov 2020 11:02:43 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.4.1 MIME-Version: 1.0 In-Reply-To: <20201109173107.GA14643@shinobu> Content-Language: en-US X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 6e8f29a8-e2dd-432f-5d74-08d8855fc7bc X-MS-TrafficTypeDiagnostic: SJ0PR02MB7263: X-Microsoft-Antispam-PRVS: X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-MS-Oob-TLC-OOBClassifiers: OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: JRP1JTTQcgfKgKBH2gknttrj5XxxIUfXWAMu/UHp5w2vNV14ars7MdUEcy/rT3aklfoqOL246S319qJRRSnBiVirogFex7dwnMnqTmIB1e8h9k+9O19/xsASIFqeqZ8YjZ+zWDPMElXrnL6HuqhsxX0oEnEAvlthHfXvVsdwQTJGZnaPF32JHTxaeWTDw+bWvq8HAwAn0Kc//BDIpKEDQqdoUiK0+AyICOM6f7SdqCZ0WeCy1dpRpXZPuXF3VllxK0yKBIMbXJMa98F154QiIKUn9+Netmrii8mDyWxs8b7wVPYRt4nrckoLZoDr1DosFe2tukzD0E0bgLooK0kEZkpHpBIA2DNEO34T3+54cY1zfBXkl+yCKkEkJelXfNn4axOnU2cIV8bdDJZGs+BQCDKn+kQGmaa69j+QStCYZp4vh4VFCB+mB57MaXMJVhp5GesmbDegX0IaL5HlwFGVj7v7/C0rZJ65shTSwevooCI= X-Forefront-Antispam-Report: CIP:149.199.62.198; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:xsj-pvapexch02.xlnx.xilinx.com; PTR:unknown-62-198.xilinx.com; CAT:NONE; SFS:(4636009)(136003)(376002)(39860400002)(396003)(346002)(46966005)(82740400003)(82310400003)(70206006)(356005)(31686004)(36756003)(9786002)(8676002)(5660300002)(70586007)(478600001)(44832011)(36906005)(316002)(54906003)(110136005)(7416002)(47076004)(6666004)(7636003)(31696002)(186003)(336012)(2616005)(426003)(26005)(2906002)(4326008)(8936002)(50156003)(41533002)(43740500002); DIR:OUT; SFP:1101; X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Nov 2020 10:02:49.0913 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6e8f29a8-e2dd-432f-5d74-08d8855fc7bc X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c; Ip=[149.199.62.198]; Helo=[xsj-pvapexch02.xlnx.xilinx.com] X-MS-Exchange-CrossTenant-AuthSource: BL2NAM02FT008.eop-nam02.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR02MB7263 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201110_050251_896723_54FA5F70 X-CRM114-Status: GOOD ( 21.27 ) 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: Arnd Bergmann , Bartosz Golaszewski , Linus Walleij , "linux-kernel@vger.kernel.org" , Michal Simek , "open list:GPIO SUBSYSTEM" , Andrew Morton , Syed Nayyar Waris , Linux ARM Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On 09. 11. 20 18:31, William Breathitt Gray wrote: > On Mon, Nov 09, 2020 at 07:22:20PM +0200, Andy Shevchenko wrote: >> On Mon, Nov 09, 2020 at 12:11:40PM -0500, William Breathitt Gray wrote: >>> On Mon, Nov 09, 2020 at 10:15:29PM +0530, Syed Nayyar Waris wrote: >>>> On Mon, Nov 09, 2020 at 03:41:53PM +0100, Arnd Bergmann wrote: >> >> ... >> >>>> static inline void bitmap_set_value(unsigned long *map, >>>> - unsigned long value, >>>> + unsigned long value, const size_t length, >>>> unsigned long start, unsigned long nbits) >>>> { >>>> const size_t index = BIT_WORD(start); >>>> @@ -15,6 +15,10 @@ static inline void bitmap_set_value(unsigned long *map, >>>> } else { >>>> map[index + 0] &= ~BITMAP_FIRST_WORD_MASK(start); >>>> map[index + 0] |= value << offset; >>>> + >>>> + if (index + 1 >= length) >>>> + __builtin_unreachable(); >>>> + >>>> map[index + 1] &= ~BITMAP_LAST_WORD_MASK(start + nbits); >>>> map[index + 1] |= value >> space; >>>> } >>> >>> Hi Syed, >>> >>> Let's rename 'length' to 'nbits' as Arnd suggested, and rename 'nbits' >>> to value_width. >> >> length here is in longs. I guess this is the point of entire patch. > > Ah yes, this should become 'const unsigned long nbits' and represent the > length of the bitmap in bits and not longs. > >> But to me sounds like it would be better to have simply bitmap_set_value64() / >> bitmap_set_value32() with proper optimization done and forget about variadic >> ones for now. > > The gpio-xilinx driver can have arbitrary sizes for width[0] and > width[1], so unfortunately that means we don't know the start position > nor the width of the value beforehand. Start position should be all the time zero. You can't configure this IP to start from bit 2. Width can vary but start is IMHO all the time from 0 bit. Thanks, Michal _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel