From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2DA2137C92A for ; Wed, 4 Mar 2026 22:21:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772662892; cv=none; b=o6C2G7D6s3ABC6fkVX4ksaqOKk493BXTeTLn0pGRtAag14/8Pn0Ig3kqmqP/YG4bR+Q7arbX46cTEu1Pcm856tG9Ai+UxtT5clR3FwhP0FPmpiTAmkbibgsceKcRuy2EYx1rgXd63d0Rdt1gxYUbFXhhpd1/mM8aeIx82h08izA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772662892; c=relaxed/simple; bh=ZnLFRJR9SgstqYT5jTSnkzolgMIZQT16P4bRyPRE5n4=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=k3NAD8EwJNuBvHMw0nRNb+PlbpSbyXR1RHpQyXYPnOvyu8QQqSUSRWmr1a0aEGu7ckJwCf+Q9coQFBZ9eD6ln9evhlpxEe9CTKRnrt0r+uxeYMpxZ41sKIeSnTHYiiSL73ZuOuaaNAMURlBfY9TH4CFFwpkYBG9E8P90VV8q4sg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=IDx90jzC; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b=Mtt9Oa9W; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="IDx90jzC"; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b="Mtt9Oa9W" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1772662890; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=5IdMjdarsoIwJ3LjCSMsVj14yfAGd7U/YMfplj+8xe4=; b=IDx90jzCuGvYCwrB8R5xPoYorKHrKcue5ZRfkKAQ/qELjj+q3iLNYpg9AF2kO9dG6GGQba 6saQIs32h4kdEGQqw8aA6zszWJIZ7cm2pEmNzsV2uLz8PDtAv+LYMhqEhBmhFQOiTOl/b4 pu+L+Op+xiJJvFV17Q4HRmJkwkViniM= Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-295-YjNZ61LeOkOhj9OA_Bb_HA-1; Wed, 04 Mar 2026 17:21:29 -0500 X-MC-Unique: YjNZ61LeOkOhj9OA_Bb_HA-1 X-Mimecast-MFC-AGG-ID: YjNZ61LeOkOhj9OA_Bb_HA_1772662888 Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-8c70ef98116so5213879985a.1 for ; Wed, 04 Mar 2026 14:21:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1772662888; x=1773267688; darn=vger.kernel.org; h=user-agent:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=5IdMjdarsoIwJ3LjCSMsVj14yfAGd7U/YMfplj+8xe4=; b=Mtt9Oa9WFD9SJyxZHJt5YU28HPP68SCbO9xTv93FX7Srswa1xmIQjLk3+DnG9sw3mI +PhNSjsy3a33Tf9YmFz4quCTUJWLHEI/4+4KCngKKMIUoe+TOZyCpU2ewuF+T2WH0Ak6 OEsyLtiUgFgFEgKFR1S/nnIIujJE81MLcPfIoOFDr5tUg7DLANMF1JAKs+mIV1NH7dKI KfGzWcrtGkifosT7Vb4wZh6fSLdLOu6xDmegUzwbQq+blcYq5U/M/B7un3dCu9IJ96wz yRquo2iqMJCvgL6QkFg0j5sOkrQX5t4dQTUn9oayWe9c5150YQ5owE078LF1UA4T0Avj bWQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772662888; x=1773267688; h=user-agent:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=5IdMjdarsoIwJ3LjCSMsVj14yfAGd7U/YMfplj+8xe4=; b=jbSTMra8I+uKxz6mM5vAc/cn1+p7lQSCwADB2FlRPequZMAlEOymwt3ZeiDFgFPTmF rma9qCw7f7iEkMrEZRpnvdircQhe9IkRFGOlZGHuJk36XuxKKwQ8fWAss3UH6cq+I1pC lXGRNAHwdTaxSQwxg33SoOXo1bq5hMRYLA8SxI07U6jdw1zhPweTqurdtJR0xg2xdlPi 2DjtIDAp++eh57ts+SaTDqv+/xuIKKBQk5++ChJcMMQVTI3TUFbP9Y85IoNz8X3zTWgO H7ycCMMrBbeoq0NX3Fzy1ySbh9HYHxIj4hnVRKaPKs0x9GbXCptk6733jWd/bZ5oBKvw WUdg== X-Forwarded-Encrypted: i=1; AJvYcCVxSB20HFD1zYG+P7WKZXdWSgZrabOTxBQ877oe9ietBkIoVT9cjvQdp5frGiGthFd6LhApDNPA48E=@vger.kernel.org X-Gm-Message-State: AOJu0Yw+6ipTq+OUj7OU6QFQSOjqzUHWCE2lGip7yv9v0kputqWn3T+i 9P6Ua9Vza2GQRgkcrhEc6epwy9NW0xhLYnK7xy0U4V6Chmt2/ytYGeqQwUdIZCtXOnACKF9vp17 l4maXe4efvbuYa3BrfJ7m0iuQtHSzr4xbpP2fHl/1dsNKXHufBmgo8O8tR7sSdA== X-Gm-Gg: ATEYQzzgHBY1FiOfcBtfSTwMbq7PTT+RxAWV2sCKcEKGrMUE2aakVVXZZzf5vx/bklT pNanGHc1nMjaXoeoVGtbD1cmRBNvXABIMTBZ0eIYL1Cu426QtZgc54KYheMMYFDJLMPVn1WkTNL Dowsj6BBWCcj34bM8BrNme3UPDbHgREBqKav4E+fCrn8r5FBtOmQvUq98c3Ok+Iy8u+7miJOzeg 0/xmyRigy25vy8o6AkLpGHWWE459jwWkhyZ24TSDKoL/E/zrpLC5vBKTl3muh83Jmo3FmJqaFpP uYWfsDz562AFtBSskHKc1GdlZIokl9q39euKXdDk+Sy+tWPnRie8VmvJ5I0roUgy7AH5inoteqn ujWyGS+6vXQjWbKAQLFt8 X-Received: by 2002:a05:620a:472a:b0:8cb:4d46:7a4b with SMTP id af79cd13be357-8cd5afcce10mr459515785a.81.1772662888553; Wed, 04 Mar 2026 14:21:28 -0800 (PST) X-Received: by 2002:a05:620a:472a:b0:8cb:4d46:7a4b with SMTP id af79cd13be357-8cd5afcce10mr459511385a.81.1772662887989; Wed, 04 Mar 2026 14:21:27 -0800 (PST) Received: from redhat.com ([2600:382:7705:162f:3db4:e16a:e5d8:352e]) by smtp.gmail.com with ESMTPSA id af79cd13be357-8cbbf66b9d9sm1740582885a.12.2026.03.04.14.21.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2026 14:21:27 -0800 (PST) Date: Wed, 4 Mar 2026 17:21:23 -0500 From: Brian Masney To: Anirudh Srinivasan Cc: Drew Fustini , Joel Stanley , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Michael Turquette , Stephen Boyd , Philipp Zabel , linux-riscv@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org, joel@jms.id.au, fustini@kernel.org, mpe@kernel.org, mpe@oss.tenstorrent.com, npiggin@oss.tenstorrent.com, agross@kernel.org, agross@oss.tenstorrent.com, Krzysztof Kozlowski Subject: Re: [PATCH v7 3/3] clk: tenstorrent: Add Atlantis clock controller driver Message-ID: References: <20260303-atlantis-clocks-v7-0-415c9dda086a@oss.tenstorrent.com> <20260303-atlantis-clocks-v7-3-415c9dda086a@oss.tenstorrent.com> Precedence: bulk X-Mailing-List: linux-clk@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/2.2.14 (2025-02-20) Hi Anirudh, On Wed, Mar 04, 2026 at 11:53:38AM -0600, Anirudh Srinivasan wrote: > Sorry for the follow up, but wanted to run something by you. > > On Wed, Mar 4, 2026 at 10:40 AM Anirudh Srinivasan < > asrinivasan@oss.tenstorrent.com> wrote: > > > > Hello Brian, > > > > On Tue, Mar 3, 2026 at 4:32 PM Brian Masney wrote: > > > > > > Hi Anirudh, > > > > > > Thanks for the patch. A few minor comments below with some minor > > > nitpicks, additional places to use FIELD_GET(), plus some suggestions > > > for additional regmap helpers to use. > > > > > > > > > + > > > > +static int atlantis_clk_pll_is_enabled(struct clk_hw *hw) > > > > +{ > > > > + struct atlantis_clk_pll *pll = hw_to_atlantis_pll(hw); > > > > + u32 val, en_val, cg_val; > > > > + > > > > + regmap_read(pll->common.regmap, pll->config.reg_offset, &val); > > > > + regmap_read(pll->common.regmap, pll->config.en_reg_offset, > &en_val); > > > > + regmap_read(pll->common.regmap, pll->config.cg_reg_offset, > &cg_val); > > > > + > > > > + /* Check if PLL is powered on, locked, not bypassed and Gate > clk is enabled */ > > > > + return !!(en_val & PLL_CFG_EN_BIT) && !!(val & > PLL_CFG_LOCK_BIT) && > > > > + (!pll->config.cg_reg_enable || (cg_val & > pll->config.cg_reg_enable)) && > > > > + !(val & PLL_CFG_BYPASS_BIT); > > > > > > Could regmap_test_bits() make this a bit cleaner? > > > > > > > +} > > > > + > > > > +static int atlantis_clk_pll_enable(struct clk_hw *hw) > > > > +{ > > > > + struct atlantis_clk_pll *pll = hw_to_atlantis_pll(hw); > > > > + u32 val, en_val, cg_val; > > > > + int ret; > > > > + > > > > + regmap_read(pll->common.regmap, pll->config.reg_offset, &val); > > > > + regmap_read(pll->common.regmap, pll->config.en_reg_offset, > &en_val); > > > > + regmap_read(pll->common.regmap, pll->config.cg_reg_offset, > &cg_val); > > > > + > > > > + /* Check if PLL is already enabled, locked, not bypassed and > Gate clk is enabled */ > > > > + if ((en_val & PLL_CFG_EN_BIT) && (val & PLL_CFG_LOCK_BIT) && > > > > + (!pll->config.cg_reg_enable || (cg_val & > pll->config.cg_reg_enable)) && > > > > + !(val & PLL_CFG_BYPASS_BIT)) { > > > > > > Same about regmap_test_bits() here. > > > > These instances have it reading 3 different registers (unlike almost > > all the other examples that just read one) and testing bits across > > them. But I guess it should be possible to use test_bits here too. I > > will update them. > > This ends up becoming like this. > > static int atlantis_clk_pll_is_enabled(struct clk_hw *hw) > > { > > struct atlantis_clk_pll *pll = hw_to_atlantis_pll(hw); > > > > > /* Check if PLL is powered on, locked, not bypassed and Gate clk is > enabled */ > return regmap_test_bits(pll->common.regmap, pll->config.reg_offset, > PLL_CFG_LOCK_BIT) && > > regmap_test_bits(pll->common.regmap, > pll->config.en_reg_offset, PLL_CFG_EN_BIT) && > > regmap_test_bits(pll->common.regmap, > pll->config.cg_reg_offset, pll->config.cg_reg_enable) && > > !regmap_test_bits(pll->common.regmap, > pll->config.reg_offset, PLL_CFG_BYPASS_BIT); > > } > > We can't use a single call of regmap_test_bits to the > pll->config.reg_offset register cause we need to check if PLL_CFG_LOCK_BIT > is set and PLL_CFG_BYPASS_BIT is unset. We end up needing to make 2 reads > to that register. > > Any thoughts on whether I should still be using regmap_test_bits here? If it's not looking good in practice once you implement it, then just fall back to the older behavior. It was just a suggestion. I haven't used this yet, however there are also the regmap_field_xxx() helpers that are also available. drivers/clk/mstar/clk-msc313-mpll.c uses these helpers. I don't know if it would help to simplify your code. Brian 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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 8B117EFCE47 for ; Wed, 4 Mar 2026 22:21:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc: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=Zg5/TlZFrrkUcSMcKKO2gfaJfcZaOh3cIw8uhE6sScs=; b=bhfbpoej1RFZTz c+E91FdKZFHDZc/VtfE+9DHx0UAyGMW9bprAUswBhgJErvTfF4WSLCJBSXn4ofLAYzuk8p7nwPtGF 3YyzM3soShkjvh+scMtV8LpNuCUXxcepuzUUv6r3GGE/m+iiV4PPhBiRgvSmI45FZFHnJEkeo0e4w czA+tLZE1AAsR3co0rsE74ggmEJkApihRJnxilHj0pSTaugrCq8oKk0DrixSsCELHk9hn+tXMJJuH iIhrUDGqG9fB3OQRy7tXNxjjxjRGs2/5Lqxq7lLLDqoucUZAnP4oWAY4+h5FJvsk6mG2T25mtjR4g lOc0TvsI6Gehpe7iyW4w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1vxub1-00000000Zai-1oee; Wed, 04 Mar 2026 22:21:35 +0000 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1vxuay-00000000ZaN-0K8A for linux-riscv@lists.infradead.org; Wed, 04 Mar 2026 22:21:33 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1772662890; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=5IdMjdarsoIwJ3LjCSMsVj14yfAGd7U/YMfplj+8xe4=; b=IDx90jzCuGvYCwrB8R5xPoYorKHrKcue5ZRfkKAQ/qELjj+q3iLNYpg9AF2kO9dG6GGQba 6saQIs32h4kdEGQqw8aA6zszWJIZ7cm2pEmNzsV2uLz8PDtAv+LYMhqEhBmhFQOiTOl/b4 pu+L+Op+xiJJvFV17Q4HRmJkwkViniM= Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-53-qFIcrvB_P5yIQc1lqltpWQ-1; Wed, 04 Mar 2026 17:21:29 -0500 X-MC-Unique: qFIcrvB_P5yIQc1lqltpWQ-1 X-Mimecast-MFC-AGG-ID: qFIcrvB_P5yIQc1lqltpWQ_1772662888 Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-8cb3b6b37d8so4156491985a.3 for ; Wed, 04 Mar 2026 14:21:29 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772662888; x=1773267688; h=user-agent:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=5IdMjdarsoIwJ3LjCSMsVj14yfAGd7U/YMfplj+8xe4=; b=p77vNq6E7iEOO0K190E/vRIsJow3JFc/CkNxDFuInjnpz1H3i3ahMi6DMKic7/UeC3 Its9iZMGibYR8emTjWDVCaIcRR1AHfG2U/MlM2rPNTv+lJMXSn8iav73tNdN3HzwmUVg iq5okibTRYJmmLzp/QfNjQcB0oFIIS1npGE6fSo+KXGSjO6AoYalOOzsbNlXjU3J/6Fy fw8u3TUV3V90bMNgSiPbtVc803LXbhnKKFOn563TOIor9cqOamhtWkkMmfY49Sd2Zkl6 I+4mgO+Jhzcahl2SJQbEPEoOezomIKTjtd3y/FyQR5YexjChXWjEMCXYaprqnl5KVlD1 KwCg== X-Forwarded-Encrypted: i=1; AJvYcCUMNXEqtgDTb4p+HmFriGA4N1Xyw117tjCsCVWNyiuvN9TgPSBQ0eyy3kW3ghvEO5D8lEaBWD7mnA3cYg==@lists.infradead.org X-Gm-Message-State: AOJu0YxhJdwEvSt9gyc49CpSf8VHvXfeZji0nUG0M8qWq/HdPWK7+iPz JeMn7wx6hAIL9Fd2DZhSTk9d9ry/3RVvTqN3CoPxIwNT6FBXvby1QAtJjNr/ZX6OPg7xLkAiyiQ ggFoLeVh8VKQcQ8S+Znnp/qYBN/22q1AgntaQRWX7yQpvi/Apv2y4nzBZ6ctTgVaU/0A33Q== X-Gm-Gg: ATEYQzyX3qoUkLfjraQMbLqUnoEHw7VOXrdXWYq70EcT80i8W5w3gTukdB8RyJJvgl5 hkdlNw5zMnZkK12PASfs6rVFSqkDSI08hI5KCnobInLemwg5Jil8d1xpnpKH1/nZbxCnB4en+92 2oaEQR0/sf8Mg2IczEjKv3JgmR+7vGHu4zhUzjzSoGlJGVtDJyAj2V52nmHn6e2jT+6vWjSAt8W khKYu5K0tYiYX7+UJp2F70bXO+a5fpkOgDFtSfaXEE5t8rLV9r/3UwzfqHp/N6p2KRmeyPRtRWZ xRcnDgF6DTlnFywUv1qo5nN6WS7Vy4UlHmvy7zAyhEiPdXFjCDVk/w9nCY3VAnW+MGduN+rhHnk 0CUj3hVOTPY8PNleU2B33 X-Received: by 2002:a05:620a:472a:b0:8cb:4d46:7a4b with SMTP id af79cd13be357-8cd5afcce10mr459514485a.81.1772662888524; Wed, 04 Mar 2026 14:21:28 -0800 (PST) X-Received: by 2002:a05:620a:472a:b0:8cb:4d46:7a4b with SMTP id af79cd13be357-8cd5afcce10mr459511385a.81.1772662887989; Wed, 04 Mar 2026 14:21:27 -0800 (PST) Received: from redhat.com ([2600:382:7705:162f:3db4:e16a:e5d8:352e]) by smtp.gmail.com with ESMTPSA id af79cd13be357-8cbbf66b9d9sm1740582885a.12.2026.03.04.14.21.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2026 14:21:27 -0800 (PST) Date: Wed, 4 Mar 2026 17:21:23 -0500 From: Brian Masney To: Anirudh Srinivasan Cc: Drew Fustini , Joel Stanley , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Michael Turquette , Stephen Boyd , Philipp Zabel , linux-riscv@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org, joel@jms.id.au, fustini@kernel.org, mpe@kernel.org, mpe@oss.tenstorrent.com, npiggin@oss.tenstorrent.com, agross@kernel.org, agross@oss.tenstorrent.com, Krzysztof Kozlowski Subject: Re: [PATCH v7 3/3] clk: tenstorrent: Add Atlantis clock controller driver Message-ID: References: <20260303-atlantis-clocks-v7-0-415c9dda086a@oss.tenstorrent.com> <20260303-atlantis-clocks-v7-3-415c9dda086a@oss.tenstorrent.com> MIME-Version: 1.0 In-Reply-To: User-Agent: Mutt/2.2.14 (2025-02-20) X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: 13KlcwS0wcT03NCZXdvx6Iovy_Lb4QVf3dSbjVA0Vmk_1772662888 X-Mimecast-Originator: redhat.com Content-Disposition: inline X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260304_142132_211033_EB6FD9C8 X-CRM114-Status: GOOD ( 29.78 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org SGkgQW5pcnVkaCwKCk9uIFdlZCwgTWFyIDA0LCAyMDI2IGF0IDExOjUzOjM4QU0gLTA2MDAsIEFu aXJ1ZGggU3Jpbml2YXNhbiB3cm90ZToKPiBTb3JyeSBmb3IgdGhlIGZvbGxvdyB1cCwgYnV0IHdh bnRlZCB0byBydW4gc29tZXRoaW5nIGJ5IHlvdS4KPiAKPiBPbiBXZWQsIE1hciA0LCAyMDI2IGF0 IDEwOjQw4oCvQU0gQW5pcnVkaCBTcmluaXZhc2FuIDwKPiBhc3Jpbml2YXNhbkBvc3MudGVuc3Rv cnJlbnQuY29tPiB3cm90ZToKPiA+Cj4gPiBIZWxsbyBCcmlhbiwKPiA+Cj4gPiBPbiBUdWUsIE1h ciAzLCAyMDI2IGF0IDQ6MzLigK9QTSBCcmlhbiBNYXNuZXkgPGJtYXNuZXlAcmVkaGF0LmNvbT4g d3JvdGU6Cj4gPiA+Cj4gPiA+IEhpIEFuaXJ1ZGgsCj4gPiA+Cj4gPiA+IFRoYW5rcyBmb3IgdGhl IHBhdGNoLiBBIGZldyBtaW5vciBjb21tZW50cyBiZWxvdyB3aXRoIHNvbWUgbWlub3IKPiA+ID4g bml0cGlja3MsIGFkZGl0aW9uYWwgcGxhY2VzIHRvIHVzZSBGSUVMRF9HRVQoKSwgcGx1cyBzb21l IHN1Z2dlc3Rpb25zCj4gPiA+IGZvciBhZGRpdGlvbmFsIHJlZ21hcCBoZWxwZXJzIHRvIHVzZS4K PiA+ID4KPiAKPiAKPiA+ID4gPiArCj4gPiA+ID4gK3N0YXRpYyBpbnQgYXRsYW50aXNfY2xrX3Bs bF9pc19lbmFibGVkKHN0cnVjdCBjbGtfaHcgKmh3KQo+ID4gPiA+ICt7Cj4gPiA+ID4gKyAgICAg c3RydWN0IGF0bGFudGlzX2Nsa19wbGwgKnBsbCA9IGh3X3RvX2F0bGFudGlzX3BsbChodyk7Cj4g PiA+ID4gKyAgICAgdTMyIHZhbCwgZW5fdmFsLCBjZ192YWw7Cj4gPiA+ID4gKwo+ID4gPiA+ICsg ICAgIHJlZ21hcF9yZWFkKHBsbC0+Y29tbW9uLnJlZ21hcCwgcGxsLT5jb25maWcucmVnX29mZnNl dCwgJnZhbCk7Cj4gPiA+ID4gKyAgICAgcmVnbWFwX3JlYWQocGxsLT5jb21tb24ucmVnbWFwLCBw bGwtPmNvbmZpZy5lbl9yZWdfb2Zmc2V0LAo+ICZlbl92YWwpOwo+ID4gPiA+ICsgICAgIHJlZ21h cF9yZWFkKHBsbC0+Y29tbW9uLnJlZ21hcCwgcGxsLT5jb25maWcuY2dfcmVnX29mZnNldCwKPiAm Y2dfdmFsKTsKPiA+ID4gPiArCj4gPiA+ID4gKyAgICAgLyogQ2hlY2sgaWYgUExMIGlzIHBvd2Vy ZWQgb24sIGxvY2tlZCwgbm90IGJ5cGFzc2VkIGFuZCBHYXRlCj4gY2xrIGlzIGVuYWJsZWQgKi8K PiA+ID4gPiArICAgICByZXR1cm4gISEoZW5fdmFsICYgUExMX0NGR19FTl9CSVQpICYmICEhKHZh bCAmCj4gUExMX0NGR19MT0NLX0JJVCkgJiYKPiA+ID4gPiArICAgICAgICAgICAgKCFwbGwtPmNv bmZpZy5jZ19yZWdfZW5hYmxlIHx8IChjZ192YWwgJgo+IHBsbC0+Y29uZmlnLmNnX3JlZ19lbmFi bGUpKSAmJgo+ID4gPiA+ICsgICAgICAgICAgICAhKHZhbCAmIFBMTF9DRkdfQllQQVNTX0JJVCk7 Cj4gPiA+Cj4gPiA+IENvdWxkIHJlZ21hcF90ZXN0X2JpdHMoKSBtYWtlIHRoaXMgYSBiaXQgY2xl YW5lcj8KPiA+ID4KPiA+ID4gPiArfQo+ID4gPiA+ICsKPiA+ID4gPiArc3RhdGljIGludCBhdGxh bnRpc19jbGtfcGxsX2VuYWJsZShzdHJ1Y3QgY2xrX2h3ICpodykKPiA+ID4gPiArewo+ID4gPiA+ ICsgICAgIHN0cnVjdCBhdGxhbnRpc19jbGtfcGxsICpwbGwgPSBod190b19hdGxhbnRpc19wbGwo aHcpOwo+ID4gPiA+ICsgICAgIHUzMiB2YWwsIGVuX3ZhbCwgY2dfdmFsOwo+ID4gPiA+ICsgICAg IGludCByZXQ7Cj4gPiA+ID4gKwo+ID4gPiA+ICsgICAgIHJlZ21hcF9yZWFkKHBsbC0+Y29tbW9u LnJlZ21hcCwgcGxsLT5jb25maWcucmVnX29mZnNldCwgJnZhbCk7Cj4gPiA+ID4gKyAgICAgcmVn bWFwX3JlYWQocGxsLT5jb21tb24ucmVnbWFwLCBwbGwtPmNvbmZpZy5lbl9yZWdfb2Zmc2V0LAo+ ICZlbl92YWwpOwo+ID4gPiA+ICsgICAgIHJlZ21hcF9yZWFkKHBsbC0+Y29tbW9uLnJlZ21hcCwg cGxsLT5jb25maWcuY2dfcmVnX29mZnNldCwKPiAmY2dfdmFsKTsKPiA+ID4gPiArCj4gPiA+ID4g KyAgICAgLyogQ2hlY2sgaWYgUExMIGlzIGFscmVhZHkgZW5hYmxlZCwgbG9ja2VkLCBub3QgYnlw YXNzZWQgYW5kCj4gR2F0ZSBjbGsgaXMgZW5hYmxlZCAqLwo+ID4gPiA+ICsgICAgIGlmICgoZW5f dmFsICYgUExMX0NGR19FTl9CSVQpICYmICh2YWwgJiBQTExfQ0ZHX0xPQ0tfQklUKSAmJgo+ID4g PiA+ICsgICAgICAgICAoIXBsbC0+Y29uZmlnLmNnX3JlZ19lbmFibGUgfHwgKGNnX3ZhbCAmCj4g cGxsLT5jb25maWcuY2dfcmVnX2VuYWJsZSkpICYmCj4gPiA+ID4gKyAgICAgICAgICEodmFsICYg UExMX0NGR19CWVBBU1NfQklUKSkgewo+ID4gPgo+ID4gPiBTYW1lIGFib3V0IHJlZ21hcF90ZXN0 X2JpdHMoKSBoZXJlLgo+ID4KPiA+IFRoZXNlIGluc3RhbmNlcyBoYXZlIGl0IHJlYWRpbmcgMyBk aWZmZXJlbnQgcmVnaXN0ZXJzICh1bmxpa2UgYWxtb3N0Cj4gPiBhbGwgdGhlIG90aGVyIGV4YW1w bGVzIHRoYXQganVzdCByZWFkIG9uZSkgYW5kIHRlc3RpbmcgYml0cyBhY3Jvc3MKPiA+IHRoZW0u IEJ1dCBJIGd1ZXNzIGl0IHNob3VsZCBiZSBwb3NzaWJsZSB0byB1c2UgdGVzdF9iaXRzIGhlcmUg dG9vLiBJCj4gPiB3aWxsIHVwZGF0ZSB0aGVtLgo+IAo+IFRoaXMgZW5kcyB1cCBiZWNvbWluZyBs aWtlIHRoaXMuCj4gCj4gc3RhdGljIGludCBhdGxhbnRpc19jbGtfcGxsX2lzX2VuYWJsZWQoc3Ry dWN0IGNsa19odyAqaHcpCj4gCj4gewo+IAo+ICAgICAgICAgc3RydWN0IGF0bGFudGlzX2Nsa19w bGwgKnBsbCA9IGh3X3RvX2F0bGFudGlzX3BsbChodyk7Cj4gCj4gCj4gCj4gCj4gICAgICAgICAv KiBDaGVjayBpZiBQTEwgaXMgcG93ZXJlZCBvbiwgbG9ja2VkLCBub3QgYnlwYXNzZWQgYW5kIEdh dGUgY2xrIGlzCj4gZW5hYmxlZCAqLwo+ICAgICAgICAgcmV0dXJuIHJlZ21hcF90ZXN0X2JpdHMo cGxsLT5jb21tb24ucmVnbWFwLCBwbGwtPmNvbmZpZy5yZWdfb2Zmc2V0LAo+IFBMTF9DRkdfTE9D S19CSVQpICYmCj4gCj4gICAgICAgICAgICAgICAgIHJlZ21hcF90ZXN0X2JpdHMocGxsLT5jb21t b24ucmVnbWFwLAo+IHBsbC0+Y29uZmlnLmVuX3JlZ19vZmZzZXQsIFBMTF9DRkdfRU5fQklUKSAm Jgo+IAo+ICAgICAgICAgICAgICAgICByZWdtYXBfdGVzdF9iaXRzKHBsbC0+Y29tbW9uLnJlZ21h cCwKPiBwbGwtPmNvbmZpZy5jZ19yZWdfb2Zmc2V0LCBwbGwtPmNvbmZpZy5jZ19yZWdfZW5hYmxl KSAmJgo+IAo+ICAgICAgICAgICAgICAgICAhcmVnbWFwX3Rlc3RfYml0cyhwbGwtPmNvbW1vbi5y ZWdtYXAsCj4gcGxsLT5jb25maWcucmVnX29mZnNldCwgUExMX0NGR19CWVBBU1NfQklUKTsKPiAK PiB9Cj4gCj4gV2UgY2FuJ3QgdXNlIGEgc2luZ2xlIGNhbGwgb2YgcmVnbWFwX3Rlc3RfYml0cyB0 byB0aGUKPiBwbGwtPmNvbmZpZy5yZWdfb2Zmc2V0IHJlZ2lzdGVyIGNhdXNlIHdlIG5lZWQgdG8g Y2hlY2sgaWYgUExMX0NGR19MT0NLX0JJVAo+IGlzIHNldCBhbmQgUExMX0NGR19CWVBBU1NfQklU IGlzIHVuc2V0LiBXZSBlbmQgdXAgbmVlZGluZyB0byBtYWtlIDIgcmVhZHMKPiB0byB0aGF0IHJl Z2lzdGVyLgo+IAo+IEFueSB0aG91Z2h0cyBvbiB3aGV0aGVyIEkgc2hvdWxkIHN0aWxsIGJlIHVz aW5nIHJlZ21hcF90ZXN0X2JpdHMgaGVyZT8KCklmIGl0J3Mgbm90IGxvb2tpbmcgZ29vZCBpbiBw cmFjdGljZSBvbmNlIHlvdSBpbXBsZW1lbnQgaXQsIHRoZW4ganVzdApmYWxsIGJhY2sgdG8gdGhl IG9sZGVyIGJlaGF2aW9yLiBJdCB3YXMganVzdCBhIHN1Z2dlc3Rpb24uCgpJIGhhdmVuJ3QgdXNl ZCB0aGlzIHlldCwgaG93ZXZlciB0aGVyZSBhcmUgYWxzbyB0aGUgcmVnbWFwX2ZpZWxkX3h4eCgp CmhlbHBlcnMgdGhhdCBhcmUgYWxzbyBhdmFpbGFibGUuIGRyaXZlcnMvY2xrL21zdGFyL2Nsay1t c2MzMTMtbXBsbC5jCnVzZXMgdGhlc2UgaGVscGVycy4gSSBkb24ndCBrbm93IGlmIGl0IHdvdWxk IGhlbHAgdG8gc2ltcGxpZnkgeW91ciBjb2RlLgoKQnJpYW4KCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1yaXNjdiBtYWlsaW5nIGxpc3QKbGlu dXgtcmlzY3ZAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2xpbnV4LXJpc2N2Cg==