linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Patel, Mayurkumar" <mayurkumar.patel@intel.com>
To: "'Sinan Kaya'" <okaya@codeaurora.org>,
	"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
	"timur@codeaurora.org" <timur@codeaurora.org>,
	"cov@codeaurora.org" <cov@codeaurora.org>,
	Bjorn Helgaas <bhelgaas@google.com>
Cc: "linux-arm-msm@vger.kernel.org" <linux-arm-msm@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	open list <linux-kernel@vger.kernel.org>
Subject: RE: [PATCH V2] PCI/ASPM: reconfigure ASPM following hotplug for POLICY_DEFAULT
Date: Thu, 2 Mar 2017 16:05:17 +0000	[thread overview]
Message-ID: <92EBB4272BF81E4089A7126EC1E7B28466669BFF@IRSMSX101.ger.corp.intel.com> (raw)
In-Reply-To: <f8f67b32-21eb-232b-2b7c-28b603865b9d@codeaurora.org>

>
>Hi Bjorn,
>
>On 2/28/2017 1:57 PM, Patel, Mayurkumar wrote:
>>> I was trying to figure out when to use saved values vs. the values in
>>> registers by looking at the enable_cnt.
>>> enable_cnt is 0 during boot on my system.
>> enable_cnt for the root port on my system is set to 1 for "root port" already without saving
>> any ASPM related settings.
>>
>>
>
>What would be the best way to figure out when to save power-on values from
>the registers?
>

So in my case, pci_enable_device() for root port is called from pcie_port_device_register() at the boot time which
Is called from pcie_portdrv_probe() function which does not call pcie_aspm_init_link_state() but
Increment's enable_cnt field. When the Endpoint get plugged in, pcie_aspm_init_link_state() is called
from hotplug routine on "Root port" but due to enable_cnt is already incremented we do not set
right policy and aspm gets disabled by aspm driver.

Shall we introduce new atomic variable along with aspm_default in struct pci_dev and increment it in when called
first time pcie_aspm_init_link_state()  to save power-on values ( I have tested it locally, if you think could be good approach
I can upload the diffs) because enable_cnt in pci_enable_device() can be triggered
from multiple places at boot time so it might not be safe to use it? 
or adding pcie_aspm_init_link_state() in pcie_port_device_register() for ports before calling pci_enable_device()
although I am not sure whether it's the right approach and that would work for all the devices!

@Kaya/Bjorn: Do you have any other suggestions or Could you also please help by comment what would make sense?


>--
>Sinan Kaya
>Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc.
>Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.
Intel Deutschland GmbH
Registered Address: Am Campeon 10-12, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de
Managing Directors: Christin Eisenschmid, Christian Lamprechter
Chairperson of the Supervisory Board: Nicole Lau
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928

  reply	other threads:[~2017-03-02 16:10 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-31 19:45 [PATCH V2] PCI/ASPM: reconfigure ASPM following hotplug for POLICY_DEFAULT Sinan Kaya
2017-02-28 11:03 ` Patel, Mayurkumar
2017-02-28 15:04   ` Sinan Kaya
2017-02-28 18:57     ` Patel, Mayurkumar
2017-03-01 17:58       ` Sinan Kaya
2017-03-02 16:05         ` Patel, Mayurkumar [this message]
2017-03-02 18:10           ` Sinan Kaya
2017-03-03  9:43             ` Patel, Mayurkumar
2017-03-03 10:33               ` okaya

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=92EBB4272BF81E4089A7126EC1E7B28466669BFF@IRSMSX101.ger.corp.intel.com \
    --to=mayurkumar.patel@intel.com \
    --cc=bhelgaas@google.com \
    --cc=cov@codeaurora.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=okaya@codeaurora.org \
    --cc=timur@codeaurora.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).