Received: by 2002:a05:6358:c692:b0:131:369:b2a3 with SMTP id fe18csp1009341rwb; Fri, 28 Jul 2023 03:25:02 -0700 (PDT) X-Google-Smtp-Source: APBJJlE06masfNyNXtM3cxCLdrmztNmAWVT/1TCkUbA5AyrRHbHS05IpY+hqW91YA77pOyUNm1YV X-Received: by 2002:a17:902:c412:b0:1b6:8a99:4979 with SMTP id k18-20020a170902c41200b001b68a994979mr1210042plk.22.1690539902647; Fri, 28 Jul 2023 03:25:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690539902; cv=none; d=google.com; s=arc-20160816; b=On4Sak1Wvk/weZlKEwxm1o+wLNNudBI+oZDo/71rX9p/qbTcbjMPvi31JrwmXsXiDs E6stkMI2bh5nkzeoOJDFgNNvpa4bqpFGvTYTJ9IGhACdkg8L+j0PjSkZ30Iqyutb/uSx kvq4dnO30We9gv6Fup9KoFzh8dl585e4qnuJCxlqtZpfNP1qDdtIW1WxP3McTpZyaDsv 4kwLVjjXQmuHSNmgcgWJHQsxBj5oZUZFWcMlvnwZClbtaiLxlV0D1lZh49QgdqhQ1hD1 PeFNNK7aprhQTOmKaQAoN8CxRXJFabQCnJmTdf3qLCQVfph+k/z/Z1qAnc+8mEQUt+xC D4qg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:user-agent :content-transfer-encoding:references:in-reply-to:date:cc:to:from :subject:message-id:dkim-signature; bh=ESZY1sGhR3Y+dvnLoW0+tPGYGkgt+oQmDxblpO85+qU=; fh=WRrilWWqqagN5FtlS4JhQnVxJ5CphPh9hYbYDUuyLSo=; b=BkxTAS0IleC/G8nQwTz8SbICi4mvpw//6Jz6NxaCO/9wLvXLYnJSru0+Qmg0lUH1sX 6G7BK3BOuFVLLR5cTwHMGHKBL9VcnKhKNb4scKeRbpKP/QPD/ennCHGux0RxlvawhFTv c/oQsATky4MrGjN+uKRLW+xw8EPHI5Jyg6YUrviFkWhApZW30vL9lTXwtBSQoC9P1xL8 juOq8OrhpwW4Ca9B6rS/YREDOU/A3f8nVXC8WooRpW600GpAtUI4J5IoHV1jhTVo7t33 hCwV58FO18fmFE9Rd48ufZePqY0KPvApThZw1auqvf21N6b7qrcgWJmHheVgJu4VqM1B BZmw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@maquefel.me header.s=mail header.b=BFcJyDOE; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id f3-20020a170902ce8300b001b81c36f2fesi2978341plg.640.2023.07.28.03.24.50; Fri, 28 Jul 2023 03:25:02 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@maquefel.me header.s=mail header.b=BFcJyDOE; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235608AbjG1KCR (ORCPT + 99 others); Fri, 28 Jul 2023 06:02:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36824 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235462AbjG1KBh (ORCPT ); Fri, 28 Jul 2023 06:01:37 -0400 Received: from forward502c.mail.yandex.net (forward502c.mail.yandex.net [178.154.239.210]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 90ACF3AB3 for ; Fri, 28 Jul 2023 03:01:15 -0700 (PDT) Received: from mail-nwsmtp-smtp-production-main-39.sas.yp-c.yandex.net (mail-nwsmtp-smtp-production-main-39.sas.yp-c.yandex.net [IPv6:2a02:6b8:c08:2087:0:640:7bf5:0]) by forward502c.mail.yandex.net (Yandex) with ESMTP id 283B75EE4B; Fri, 28 Jul 2023 13:01:13 +0300 (MSK) Received: by mail-nwsmtp-smtp-production-main-39.sas.yp-c.yandex.net (smtp/Yandex) with ESMTPSA id B1KbDDADTiE0-I1EYIKQu; Fri, 28 Jul 2023 13:01:12 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=maquefel.me; s=mail; t=1690538472; bh=ESZY1sGhR3Y+dvnLoW0+tPGYGkgt+oQmDxblpO85+qU=; h=References:Date:In-Reply-To:Cc:To:From:Subject:Message-ID; b=BFcJyDOE6LowbyQxaLJEg/JbE3I+Z3KY1eTcSk/GId2dfLBRQmUa9ueSoWGewLEr4 jkDoRfTFD+blSe2X2nsFWrUxvMQkFhoGU1+LW1HW1n9JN66TIbnG/I/yo81wCEfuqa YH9gZfQd5p3pxd+uRA5gqYaQLuKNrAGk+eO0siTc= Authentication-Results: mail-nwsmtp-smtp-production-main-39.sas.yp-c.yandex.net; dkim=pass header.i=@maquefel.me Message-ID: Subject: Re: [PATCH v3 07/42] soc: Add SoC driver for Cirrus ep93xx From: Nikita Shubin To: Andy Shevchenko Cc: Andy Shevchenko , Alexander Sverdlin , Linus Walleij , linux-kernel@vger.kernel.org Date: Fri, 28 Jul 2023 13:01:11 +0300 In-Reply-To: References: <20230605-ep93xx-v3-0-3d63a5f1103e@maquefel.me> <20230605-ep93xx-v3-7-3d63a5f1103e@maquefel.me> <79619e92b70fdb4b324758ddb34f84b3b8963256.camel@maquefel.me> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.46.3 MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 2023-07-28 at 12:46 +0300, Andy Shevchenko wrote: > On Fri, Jul 28, 2023 at 12:28=E2=80=AFPM Nikita Shubin > wrote: > >=20 > > Hello Andy! > >=20 > > On Fri, 2023-07-21 at 17:13 +0300, Andy Shevchenko wrote: > > > On Thu, Jul 20, 2023 at 02:29:07PM +0300, Nikita Shubin via B4 > > > Relay > > > wrote: > > > > From: Nikita Shubin > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 spin_lock_irqsave(&ep93xx_swl= ock, flags); > > > > + > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 regmap_read(map, EP93XX_SYSCO= N_DEVCFG, &val); > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 val &=3D ~clear_bits; > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 val |=3D set_bits; > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 regmap_write(map, EP93XX_SYSC= ON_SWLOCK, > > > > EP93XX_SWLOCK_MAGICK); > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 regmap_write(map, EP93XX_SYSC= ON_DEVCFG, val); > > >=20 > > > Is this sequence a must? > > > I.o.w. can you first supply magic and then update devcfg? > > >=20 > >=20 > > Unfortunately it is a must to write EP93XX_SYSCON_SWLOCK and only > > then > > the next write to swlocked registers will succeed. >=20 > This doesn't answer my question. Can you first write a magic and then > _update_ the other register (update means RMW op)? >=20 I see your point now - citing docs: "Logic safeguards are included to condition the control signals for power connection to the matrix to prevent part damage. In addition, a software lock register is included that must be written with 0xAA before each register write to change the values of the four switch matrix control registers." So reading SHOULDN'T affect the lock. But as we checked reading also breaks the lock, that's why this looks so odd, it was done for purpose - i'll check it once again anyway.