lkml.org 
[lkml]   [2020]   [Feb]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.19 066/191] PCI: Add generic quirk for increasing D3hot delay
    Date
    From: Daniel Drake <drake@endlessm.com>

    [ Upstream commit 62fe23df067715a21c4aef44068efe7ceaa8f627 ]

    Separate the D3 delay increase functionality out of quirk_radeon_pm() into
    its own function so that it can be shared with other quirks, including the
    AMD Ryzen XHCI quirk that will be introduced in a followup commit.

    Tweak the function name and message to indicate more clearly that the delay
    relates to a D3hot-to-D0 transition.

    Link: https://lore.kernel.org/r/20191127053836.31624-1-drake@endlessm.com
    Signed-off-by: Daniel Drake <drake@endlessm.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/pci/quirks.c | 19 ++++++++++++-------
    1 file changed, 12 insertions(+), 7 deletions(-)

    diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
    index 84f10cda539ea..798d46a266037 100644
    --- a/drivers/pci/quirks.c
    +++ b/drivers/pci/quirks.c
    @@ -1848,16 +1848,21 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x2609, quirk_intel_pcie_pm);
    DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x260a, quirk_intel_pcie_pm);
    DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x260b, quirk_intel_pcie_pm);

    +static void quirk_d3hot_delay(struct pci_dev *dev, unsigned int delay)
    +{
    + if (dev->d3_delay >= delay)
    + return;
    +
    + dev->d3_delay = delay;
    + pci_info(dev, "extending delay after power-on from D3hot to %d msec\n",
    + dev->d3_delay);
    +}
    +
    static void quirk_radeon_pm(struct pci_dev *dev)
    {
    if (dev->subsystem_vendor == PCI_VENDOR_ID_APPLE &&
    - dev->subsystem_device == 0x00e2) {
    - if (dev->d3_delay < 20) {
    - dev->d3_delay = 20;
    - pci_info(dev, "extending delay after power-on from D3 to %d msec\n",
    - dev->d3_delay);
    - }
    - }
    + dev->subsystem_device == 0x00e2)
    + quirk_d3hot_delay(dev, 20);
    }
    DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x6741, quirk_radeon_pm);

    --
    2.20.1


    \
     
     \ /
      Last update: 2020-02-21 09:20    [W:4.496 / U:0.028 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site