Received: by 2002:a05:6358:489b:b0:bb:da1:e618 with SMTP id x27csp1126499rwn; Thu, 8 Sep 2022 14:00:28 -0700 (PDT) X-Google-Smtp-Source: AA6agR5CAR1g5haS3clgppAQMS6QDFA12E+zcTMhqbfca+6Bk/KGEctZke22pBEPjR7vymYMuYnq X-Received: by 2002:a05:6512:3088:b0:494:84d8:2b6 with SMTP id z8-20020a056512308800b0049484d802b6mr3364320lfd.575.1662670828519; Thu, 08 Sep 2022 14:00:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1662670828; cv=none; d=google.com; s=arc-20160816; b=THs6lsp1qPYJgCNiF4bgWKZ7aXQ4PlV4cOrPvV+e7/Kx2nGMlTS6r9Jc4fTzaFExwX 4WgWu9vcUiNCQ5xsSBZBHnJNDQMAWLB5MZp2wWc0z9G/SIa0KfpuK09XYUttitdMPE1d 0KAusqwmJTsKOL04Z+sPQzKarXItJN8uEz63iXiu9X1VRI+NTI3FSKhQPSSJRYHdF8RP rHK5f2PayieWNhwKFbm+mGlFG3D5YSubZj1x0iJ/km8KxG6OeObrZPWNvBIY5DZHu3u6 0dsnpAbfYErk6QnvK9RbXYaeO6xqTXdQd8lDLIdifV2Cgneil5QkTk7dLh5g1LILlbGl 5R0w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id:dkim-signature; bh=7gH8/Oau4AKor96MTa/wv3H5Rc6/vaIf4190dD5fV50=; b=C1+gvkn8j/HxVCALBgxDOdhraon9eDIlroLYvlNquC+ZBqg9VwEdDwY+tl9yc+II+s sXpYM9D4dXq4srBJLNzMzmW9Fb5GUHAgRprI49XvKphUoHexsSTgBEXk7d4gdUvqbf/R 1PuYOLDmMIly2e6T+HTwP5NNcQQoTdOsRJGHi11eYI6YHbSgNgSvRU8ZCZWoH44AdK54 Lg+hZKtr6PXh2RUiRwAzwhAdAhoSnycQybjmUvoc9g7HE2Gn6rIYUD9GyyiLgRfM3pDW VRR6Bjb/AHSz9bIdG68LlZuhWhzPc/ii8bNZdj20gPDLksxkHcSDRoAhs8jvO66wicfK YvJg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=MdTbxlS1; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id i21-20020a056512225500b00496736d5da8si5300683lfu.96.2022.09.08.13.59.59; Thu, 08 Sep 2022 14:00:28 -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=@intel.com header.s=Intel header.b=MdTbxlS1; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229621AbiIHUPo (ORCPT + 99 others); Thu, 8 Sep 2022 16:15:44 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49072 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229486AbiIHUPm (ORCPT ); Thu, 8 Sep 2022 16:15:42 -0400 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 37D199C217; Thu, 8 Sep 2022 13:15:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1662668141; x=1694204141; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=dpmORDUkNjEtj5z4chtARUuiPmx8rWgwHKP5hgPuCLo=; b=MdTbxlS1sYXo8s65YlMTtkS3aTstflvhWOpQpWp0DVb2HV+ZK9QtiIBs PtlccpP6JJbievZ+QZpOvHYsT0OQeJTYcQASpFbhfzKcQxUYYJL0ZVLDn vArmuRYXGQNFOyE+J+5erV0K5w63IEpoLfUnrVMmxCduFR+cK9LdExvTK f4F68+ZVe0KZustjsh/GRShByi7t22yTHs3a2YlAUSJ5/qH4bEs4nH9Z3 satE18niFYbZZV6XZEr9hkgMsmMt9P4TM7mXnRB+pY6/qGXAJfzEJWEre m0wJsrpFlMGg5F9IjPDVdfIQpd1MgdhQ6hpmKXKmuz4rHNSB0ziHGAjAT g==; X-IronPort-AV: E=McAfee;i="6500,9779,10464"; a="284334414" X-IronPort-AV: E=Sophos;i="5.93,300,1654585200"; d="scan'208";a="284334414" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Sep 2022 13:15:15 -0700 X-IronPort-AV: E=Sophos;i="5.93,300,1654585200"; d="scan'208";a="740807787" Received: from duttamou-mobl1.amr.corp.intel.com (HELO [10.209.109.184]) ([10.209.109.184]) by orsmga004-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Sep 2022 13:15:13 -0700 Message-ID: Date: Thu, 8 Sep 2022 13:15:12 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0 Thunderbird/91.11.0 Subject: Re: [PATCH v3 09/10] PCI/PTM: Reorder functions in logical order Content-Language: en-US To: Bjorn Helgaas , Kai-Heng Feng , Rajvi Jingar , "Rafael J . Wysocki" Cc: Koba Ko , Mika Westerberg , "David E . Box" , linux-pci@vger.kernel.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, Bjorn Helgaas References: <20220906222351.64760-1-helgaas@kernel.org> <20220906222351.64760-10-helgaas@kernel.org> From: Sathyanarayanan Kuppuswamy In-Reply-To: <20220906222351.64760-10-helgaas@kernel.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-7.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,NICE_REPLY_A,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE 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 9/6/22 3:23 PM, Bjorn Helgaas wrote: > From: Bjorn Helgaas > > pci_enable_ptm() and pci_disable_ptm() were separated. > pci_save_ptm_state() and pci_restore_ptm_state() dangled at the top. Move > them to logical places. > Maybe add "No functional changes"? It will give clear meaning. > Signed-off-by: Bjorn Helgaas > --- > drivers/pci/pcie/ptm.c | 108 ++++++++++++++++++++--------------------- > 1 file changed, 54 insertions(+), 54 deletions(-) > > diff --git a/drivers/pci/pcie/ptm.c b/drivers/pci/pcie/ptm.c > index d65f5af9700d..6c09e00a7b51 100644 > --- a/drivers/pci/pcie/ptm.c > +++ b/drivers/pci/pcie/ptm.c > @@ -9,60 +9,6 @@ > #include > #include "../pci.h" > > -static void __pci_disable_ptm(struct pci_dev *dev) > -{ > - int ptm = dev->ptm_cap; > - u16 ctrl; > - > - if (!ptm) > - return; > - > - pci_read_config_word(dev, ptm + PCI_PTM_CTRL, &ctrl); > - ctrl &= ~PCI_PTM_CTRL_ENABLE; > - pci_write_config_word(dev, ptm + PCI_PTM_CTRL, ctrl); > -} > - > -void pci_disable_ptm(struct pci_dev *dev) > -{ > - __pci_disable_ptm(dev); > - dev->ptm_enabled = 0; > -} > -EXPORT_SYMBOL(pci_disable_ptm); > - > -void pci_save_ptm_state(struct pci_dev *dev) > -{ > - int ptm = dev->ptm_cap; > - struct pci_cap_saved_state *save_state; > - u16 *cap; > - > - if (!ptm) > - return; > - > - save_state = pci_find_saved_ext_cap(dev, PCI_EXT_CAP_ID_PTM); > - if (!save_state) > - return; > - > - cap = (u16 *)&save_state->cap.data[0]; > - pci_read_config_word(dev, ptm + PCI_PTM_CTRL, cap); > -} > - > -void pci_restore_ptm_state(struct pci_dev *dev) > -{ > - int ptm = dev->ptm_cap; > - struct pci_cap_saved_state *save_state; > - u16 *cap; > - > - if (!ptm) > - return; > - > - save_state = pci_find_saved_ext_cap(dev, PCI_EXT_CAP_ID_PTM); > - if (!save_state) > - return; > - > - cap = (u16 *)&save_state->cap.data[0]; > - pci_write_config_word(dev, ptm + PCI_PTM_CTRL, *cap); > -} > - > /* > * If the next upstream device supports PTM, return it; otherwise return > * NULL. PTM Messages are local, so both link partners must support it. > @@ -132,6 +78,40 @@ void pci_ptm_init(struct pci_dev *dev) > pci_enable_ptm(dev, NULL); > } > > +void pci_save_ptm_state(struct pci_dev *dev) > +{ > + int ptm = dev->ptm_cap; > + struct pci_cap_saved_state *save_state; > + u16 *cap; > + > + if (!ptm) > + return; > + > + save_state = pci_find_saved_ext_cap(dev, PCI_EXT_CAP_ID_PTM); > + if (!save_state) > + return; > + > + cap = (u16 *)&save_state->cap.data[0]; > + pci_read_config_word(dev, ptm + PCI_PTM_CTRL, cap); > +} > + > +void pci_restore_ptm_state(struct pci_dev *dev) > +{ > + int ptm = dev->ptm_cap; > + struct pci_cap_saved_state *save_state; > + u16 *cap; > + > + if (!ptm) > + return; > + > + save_state = pci_find_saved_ext_cap(dev, PCI_EXT_CAP_ID_PTM); > + if (!save_state) > + return; > + > + cap = (u16 *)&save_state->cap.data[0]; > + pci_write_config_word(dev, ptm + PCI_PTM_CTRL, *cap); > +} > + > static int __pci_enable_ptm(struct pci_dev *dev) > { > int ptm = dev->ptm_cap; > @@ -193,6 +173,26 @@ int pci_enable_ptm(struct pci_dev *dev, u8 *granularity) > } > EXPORT_SYMBOL(pci_enable_ptm); > > +static void __pci_disable_ptm(struct pci_dev *dev) > +{ > + int ptm = dev->ptm_cap; > + u16 ctrl; > + > + if (!ptm) > + return; > + > + pci_read_config_word(dev, ptm + PCI_PTM_CTRL, &ctrl); > + ctrl &= ~PCI_PTM_CTRL_ENABLE; > + pci_write_config_word(dev, ptm + PCI_PTM_CTRL, ctrl); > +} > + > +void pci_disable_ptm(struct pci_dev *dev) > +{ > + __pci_disable_ptm(dev); > + dev->ptm_enabled = 0; > +} > +EXPORT_SYMBOL(pci_disable_ptm); > + > /* > * Disable PTM, but leave dev->ptm_enabled so we silently re-enable it on > * resume. -- Sathyanarayanan Kuppuswamy Linux Kernel Developer