Commit Graph

10 Commits

Author SHA1 Message Date
David Arcari 2b475d7af2 platform/x86/intel/pmc: Remove unnecessary declarations in header
JIRA: https://issues.redhat.com/browse/RHEL-20138

commit 9eeeb2a7c77313530a223b58ac53f0eba1c6292c
Author: Xi Pardee <xi.pardee@linux.intel.com>
Date:   Fri Feb 14 13:44:10 2025 -0800

    platform/x86/intel/pmc: Remove unnecessary declarations in header

    Remove unnecessary declarations in header file. Variable that are
    used by only one .c file are removed from header file and changed
    to be static in their corresponding .c file.

    Signed-off-by: Xi Pardee <xi.pardee@linux.intel.com>
    Link: https://lore.kernel.org/r/20250214214416.10150-3-xi.pardee@linux.intel.com
    Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
    Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>

Signed-off-by: David Arcari <darcari@redhat.com>
2025-04-03 11:24:48 -04:00
David Arcari 1c061f4203 platform/x86/intel/pmc: Remove simple init functions
JIRA: https://issues.redhat.com/browse/RHEL-20138

commit 45fa1a0d4d8759787bf62b49019952e2d56a66f9
Author: Xi Pardee <xi.pardee@linux.intel.com>
Date:   Fri Feb 7 14:56:10 2025 -0800

    platform/x86/intel/pmc: Remove simple init functions

    Remove simple init functions to avoid duplicate code. Store
    init function performing architecture specific action in the
    corresponding pmc_dev_info structure. Replace init function
    with pmc_dev_info structure in X86_MATCH_VFM() of core.c.

    Signed-off-by: Xi Pardee <xi.pardee@linux.intel.com>
    Link: https://lore.kernel.org/r/20250207225615.401235-5-xi.pardee@linux.intel.com
    Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
    Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>

Signed-off-by: David Arcari <darcari@redhat.com>
2025-04-03 11:24:48 -04:00
David Arcari 9d348937b3 platform/x86:intel/pmc: Create generic_core_init() for all platforms
JIRA: https://issues.redhat.com/browse/RHEL-20138

commit ac6bef0d54014cc010831ec86ac425f482a981ae
Author: Xi Pardee <xi.pardee@linux.intel.com>
Date:   Fri Feb 7 14:56:09 2025 -0800

    platform/x86:intel/pmc: Create generic_core_init() for all platforms

    Create a generic_core_init() function for all architectures to reduce
    duplicate code in each architecture file. Create an info structure
    to catch the variations between each architecture and pass it to the
    generic init function.

    Convert all architectures to call the generic core init function.

    Signed-off-by: Xi Pardee <xi.pardee@linux.intel.com>
    Link: https://lore.kernel.org/r/20250207225615.401235-4-xi.pardee@linux.intel.com
    Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
    Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>

Signed-off-by: David Arcari <darcari@redhat.com>
2025-04-03 11:24:48 -04:00
David Arcari 93e953df54 platform/x86/intel/pmc: Disable C1 auto-demotion during suspend
JIRA: https://issues.redhat.com/browse/RHEL-66571

commit 7a797cc9f80915cc5f1a5aee46d14880eb444644
Author: David E. Box <david.e.box@linux.intel.com>
Date:   Thu Oct 17 14:04:38 2024 -0700

    platform/x86/intel/pmc: Disable C1 auto-demotion during suspend

    On some platforms, aggressive C1 auto-demotion may lead to failure to enter
    the deepest C-state during suspend-to-idle, causing high power consumption.
    To prevent this, disable C1 auto-demotion during suspend and re-enable on
    resume.

    Signed-off-by: David E. Box <david.e.box@linux.intel.com>
    Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Link: https://lore.kernel.org/r/20241017210439.3449324-2-david.e.box@linux.intel.com
    Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
    Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>

Signed-off-by: David Arcari <darcari@redhat.com>
2025-01-03 09:53:09 -05:00
David Arcari 2e73e3dbd4 platform/x86/intel/pmc: Move GBE LTR ignore to suspend callback
JIRA: https://issues.redhat.com/browse/RHEL-15539
Conflicts: Out of order upstream commits (merge 2ad815797ef0)

commit 70681aa0746ae61d7668b9f651221fad5e30c71e
Author: David E. Box <david.e.box@linux.intel.com>
Date:   Fri Dec 22 19:25:45 2023 -0800

    platform/x86/intel/pmc: Move GBE LTR ignore to suspend callback

    Commit 804951203aa5 ("platform/x86:intel/pmc: Combine core_init() and
    core_configure()") caused a network performance regression due to the GBE
    LTR ignore that it added at probe. This was needed in order to allow the
    SoC to enter the deepest Package C state. To fix the regression and at
    least support PC10 during suspend, move the LTR ignore from probe to the
    suspend callback, and enable it again on resume. This solution will allow
    PC10 during suspend but restrict Package C entry at runtime to no deeper
    than PC8/9 while a network cable it attach to the PCH LAN.

    Fixes: 804951203aa5 ("platform/x86:intel/pmc: Combine core_init() and core_configure()")
    Signed-off-by: "David E. Box" <david.e.box@linux.intel.com>
    Link: https://lore.kernel.org/r/20231223032548.1680738-6-david.e.box@linux.intel.com
    Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
    Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>

Signed-off-by: David Arcari <darcari@redhat.com>
2024-01-10 10:01:48 -05:00
David Arcari d5f1a114dd platform/x86/intel/pmc: Allow reenabling LTRs
JIRA: https://issues.redhat.com/browse/RHEL-15539

commit 6f9cc5c1f94daa98846b2073733d03ced709704b
Author: David E. Box <david.e.box@linux.intel.com>
Date:   Fri Dec 22 19:25:44 2023 -0800

    platform/x86/intel/pmc: Allow reenabling LTRs

    Commit 804951203aa5 ("platform/x86:intel/pmc: Combine core_init() and
    core_configure()") caused a network performance regression due to the GBE
    LTR ignore that it added during probe. The fix will move the ignore to
    occur at suspend-time (so as to not affect suspend power). This will
    require the ability to enable the LTR again on resume. Modify
    pmc_core_send_ltr_ignore() to allow enabling an LTR.

    Fixes: 804951203aa5 ("platform/x86:intel/pmc: Combine core_init() and core_configure()")
    Signed-off-by: "David E. Box" <david.e.box@linux.intel.com>
    Link: https://lore.kernel.org/r/20231223032548.1680738-5-david.e.box@linux.intel.com
    Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
    Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>

Signed-off-by: David Arcari <darcari@redhat.com>
2024-01-10 09:40:05 -05:00
David Arcari 0ede2e8028 platform/x86:intel/pmc: Call pmc_get_low_power_modes from platform init
JIRA: https://issues.redhat.com/browse/RHEL-15539

commit 2e35e3aa9f10ea430468207c3dd9dc33ba1afc33
Author: Xi Pardee <xi.pardee@intel.com>
Date:   Wed Nov 29 14:21:23 2023 -0800

    platform/x86:intel/pmc: Call pmc_get_low_power_modes from platform init

    In order to setup a table of low power mode requirements for Meteor Lake,
    pmc_core_get_low_power_modes() will need to be run from platform init code
    so that the enabled modes are known, allowing the use of the
    pmc_for_each_mode helper. Make the function global and call it from the
    platform init code.

    Signed-off-by: Xi Pardee <xi.pardee@intel.com>
    Signed-off-by: David E. Box <david.e.box@linux.intel.com>
    Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
    Link: https://lore.kernel.org/r/20231129222132.2331261-12-david.e.box@linux.intel.com
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>

Signed-off-by: David Arcari <darcari@redhat.com>
2024-01-10 09:35:49 -05:00
David Arcari 25df4c4455 platform/x86:intel/pmc: Add support to handle multiple PMCs
Bugzilla: https://bugzilla.redhat.com/2177038

commit 1c709ae12dad6f7e2dd5becfbac0f5141c2e15fd
Author: Xi Pardee <xi.pardee@intel.com>
Date:   Tue Jun 13 15:53:42 2023 -0700

    platform/x86:intel/pmc: Add support to handle multiple PMCs

    To support platforms with multiple PMCs, add a PMC device structure to
    support each PMC instance.

    Signed-off-by: Xi Pardee <xi.pardee@intel.com>
    Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
    Link: https://lore.kernel.org/r/20230613225347.2720665-4-rajvi.jingar@linux.intel.com
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>

Signed-off-by: David Arcari <darcari@redhat.com>
2023-09-15 14:08:33 -04:00
David Arcari ff186d321b platform/x86:intel/pmc: Combine core_init() and core_configure()
Bugzilla: https://bugzilla.redhat.com/2177038

commit 804951203aa541ad6720c9726c173d18aeb3ab6b
Author: Xi Pardee <xi.pardee@intel.com>
Date:   Tue Jun 13 15:53:41 2023 -0700

    platform/x86:intel/pmc: Combine core_init() and core_configure()

    Combine core_init() and core_configure() functions to have a
    cleaner setup for platforms.

    Signed-off-by: Xi Pardee <xi.pardee@intel.com>
    Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
    Link: https://lore.kernel.org/r/20230613225347.2720665-3-rajvi.jingar@linux.intel.com
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>

Signed-off-by: David Arcari <darcari@redhat.com>
2023-09-15 14:08:33 -04:00
David Arcari 40229dd3f1 platform/x86: intel/pmc: Relocate Cannon Lake Point PCH support
Bugzilla: https://bugzilla.redhat.com/2153969

commit d6cd0cc8d16dadf2a3c0ddc93e21cd1d13b02fbb
Author: Xi Pardee <xi.pardee@intel.com>
Date:   Mon Nov 14 10:32:53 2022 -0800

    platform/x86: intel/pmc: Relocate Cannon Lake Point PCH support

    Create cnp.c for Cannon Lake Point PCH specific structures and init().
    This file supports Cannon Lake and Comet Lake platforms.
    There are no functional changes involved.

    Cc: David E Box <david.e.box@linux.intel.com>
    Reviewed-by: "David E. Box" <david.e.box@linux.intel.com>
    Signed-off-by: Xi Pardee <xi.pardee@intel.com>
    Signed-off-by: "David E. Box" <david.e.box@linux.intel.com>
    Link: https://lore.kernel.org/r/20221114183257.2067662-5-gayatri.kammela@linux.intel.com
    Reviewed-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>

Signed-off-by: David Arcari <darcari@redhat.com>
2023-03-13 11:45:42 -04:00