From: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
To: Toshi Kani <toshi.kani@hpe.com>, rjw@rjwysocki.net, bp@alien8.de
Cc: mchehab@kernel.org, tony.luck@intel.com, lenb@kernel.org,
linux-acpi@vger.kernel.org, linux-edac@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 2/5] intel_pstate: convert to use acpi_match_platform_list()
Date: Mon, 21 Aug 2017 10:53:05 -0700 [thread overview]
Message-ID: <1503337985.6726.28.camel@linux.intel.com> (raw)
In-Reply-To: <20170818194644.14538-3-toshi.kani@hpe.com>
On Fri, 2017-08-18 at 13:46 -0600, Toshi Kani wrote:
> Convert to use acpi_match_platform_list() for the platform check.
> There is no change in functionality.
>
> Signed-off-by: Toshi Kani <toshi.kani@hpe.com>
> Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
> Cc: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
> Cc: Len Brown <lenb@kernel.org>
> Cc: Borislav Petkov <bp@alien8.de>
Can't test but the change itself is OK.
Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
> ---
> drivers/cpufreq/intel_pstate.c | 64 ++++++++++++++++------------
> ------------
> 1 file changed, 25 insertions(+), 39 deletions(-)
>
> diff --git a/drivers/cpufreq/intel_pstate.c
> b/drivers/cpufreq/intel_pstate.c
> index 65ee4fc..ad713cd 100644
> --- a/drivers/cpufreq/intel_pstate.c
> +++ b/drivers/cpufreq/intel_pstate.c
> @@ -2466,39 +2466,31 @@ enum {
> PPC,
> };
>
> -struct hw_vendor_info {
> - u16 valid;
> - char oem_id[ACPI_OEM_ID_SIZE];
> - char oem_table_id[ACPI_OEM_TABLE_ID_SIZE];
> - int oem_pwr_table;
> -};
> -
> /* Hardware vendor-specific info that has its own power management
> modes */
> -static struct hw_vendor_info vendor_info[] __initdata = {
> - {1, "HP ", "ProLiant", PSS},
> - {1, "ORACLE", "X4-2 ", PPC},
> - {1, "ORACLE", "X4-2L ", PPC},
> - {1, "ORACLE", "X4-2B ", PPC},
> - {1, "ORACLE", "X3-2 ", PPC},
> - {1, "ORACLE", "X3-2L ", PPC},
> - {1, "ORACLE", "X3-2B ", PPC},
> - {1, "ORACLE", "X4470M2 ", PPC},
> - {1, "ORACLE", "X4270M3 ", PPC},
> - {1, "ORACLE", "X4270M2 ", PPC},
> - {1, "ORACLE", "X4170M2 ", PPC},
> - {1, "ORACLE", "X4170 M3", PPC},
> - {1, "ORACLE", "X4275 M3", PPC},
> - {1, "ORACLE", "X6-2 ", PPC},
> - {1, "ORACLE", "Sudbury ", PPC},
> - {0, "", ""},
> +static struct acpi_platform_list plat_info[] __initdata = {
> + {"HP ", "ProLiant", 0, ACPI_SIG_FADT, all_versions, 0,
> PSS},
> + {"ORACLE", "X4-2 ", 0, ACPI_SIG_FADT, all_versions, 0,
> PPC},
> + {"ORACLE", "X4-2L ", 0, ACPI_SIG_FADT, all_versions, 0,
> PPC},
> + {"ORACLE", "X4-2B ", 0, ACPI_SIG_FADT, all_versions, 0,
> PPC},
> + {"ORACLE", "X3-2 ", 0, ACPI_SIG_FADT, all_versions, 0,
> PPC},
> + {"ORACLE", "X3-2L ", 0, ACPI_SIG_FADT, all_versions, 0,
> PPC},
> + {"ORACLE", "X3-2B ", 0, ACPI_SIG_FADT, all_versions, 0,
> PPC},
> + {"ORACLE", "X4470M2 ", 0, ACPI_SIG_FADT, all_versions, 0,
> PPC},
> + {"ORACLE", "X4270M3 ", 0, ACPI_SIG_FADT, all_versions, 0,
> PPC},
> + {"ORACLE", "X4270M2 ", 0, ACPI_SIG_FADT, all_versions, 0,
> PPC},
> + {"ORACLE", "X4170M2 ", 0, ACPI_SIG_FADT, all_versions, 0,
> PPC},
> + {"ORACLE", "X4170 M3", 0, ACPI_SIG_FADT, all_versions, 0,
> PPC},
> + {"ORACLE", "X4275 M3", 0, ACPI_SIG_FADT, all_versions, 0,
> PPC},
> + {"ORACLE", "X6-2 ", 0, ACPI_SIG_FADT, all_versions, 0,
> PPC},
> + {"ORACLE", "Sudbury ", 0, ACPI_SIG_FADT, all_versions, 0,
> PPC},
> + { } /* End */
> };
>
> static bool __init intel_pstate_platform_pwr_mgmt_exists(void)
> {
> - struct acpi_table_header hdr;
> - struct hw_vendor_info *v_info;
> const struct x86_cpu_id *id;
> u64 misc_pwr;
> + int idx;
>
> id = x86_match_cpu(intel_pstate_cpu_oob_ids);
> if (id) {
> @@ -2507,21 +2499,15 @@ static bool __init
> intel_pstate_platform_pwr_mgmt_exists(void)
> return true;
> }
>
> - if (acpi_disabled ||
> - ACPI_FAILURE(acpi_get_table_header(ACPI_SIG_FADT, 0,
> &hdr)))
> + idx = acpi_match_platform_list(plat_info);
> + if (idx < 0)
> return false;
>
> - for (v_info = vendor_info; v_info->valid; v_info++) {
> - if (!strncmp(hdr.oem_id, v_info->oem_id,
> ACPI_OEM_ID_SIZE) &&
> - !strncmp(hdr.oem_table_id, v_info-
> >oem_table_id,
> - ACPI_OEM_TABLE_ID_SI
> ZE))
> - switch (v_info->oem_pwr_table) {
> - case PSS:
> - return intel_pstate_no_acpi_pss();
> - case PPC:
> - return intel_pstate_has_acpi_ppc()
> &&
> - (!force_load);
> - }
> + switch (plat_info[idx].data) {
> + case PSS:
> + return intel_pstate_no_acpi_pss();
> + case PPC:
> + return intel_pstate_has_acpi_ppc() && !force_load;
> }
>
> return false;
WARNING: multiple messages have this Message-ID (diff)
From: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
To: Toshi Kani <toshi.kani@hpe.com>, rjw@rjwysocki.net, bp@alien8.de
Cc: mchehab@kernel.org, tony.luck@intel.com, lenb@kernel.org,
linux-acpi@vger.kernel.org, linux-edac@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: [v3,2/5] intel_pstate: convert to use acpi_match_platform_list()
Date: Mon, 21 Aug 2017 10:53:05 -0700 [thread overview]
Message-ID: <1503337985.6726.28.camel@linux.intel.com> (raw)
On Fri, 2017-08-18 at 13:46 -0600, Toshi Kani wrote:
> Convert to use acpi_match_platform_list() for the platform check.
> There is no change in functionality.
>
> Signed-off-by: Toshi Kani <toshi.kani@hpe.com>
> Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
> Cc: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
> Cc: Len Brown <lenb@kernel.org>
> Cc: Borislav Petkov <bp@alien8.de>
Can't test but the change itself is OK.
Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
> ---
> drivers/cpufreq/intel_pstate.c | 64 ++++++++++++++++------------
> ------------
> 1 file changed, 25 insertions(+), 39 deletions(-)
>
> diff --git a/drivers/cpufreq/intel_pstate.c
> b/drivers/cpufreq/intel_pstate.c
> index 65ee4fc..ad713cd 100644
> --- a/drivers/cpufreq/intel_pstate.c
> +++ b/drivers/cpufreq/intel_pstate.c
> @@ -2466,39 +2466,31 @@ enum {
> PPC,
> };
>
> -struct hw_vendor_info {
> - u16 valid;
> - char oem_id[ACPI_OEM_ID_SIZE];
> - char oem_table_id[ACPI_OEM_TABLE_ID_SIZE];
> - int oem_pwr_table;
> -};
> -
> /* Hardware vendor-specific info that has its own power management
> modes */
> -static struct hw_vendor_info vendor_info[] __initdata = {
> - {1, "HP ", "ProLiant", PSS},
> - {1, "ORACLE", "X4-2 ", PPC},
> - {1, "ORACLE", "X4-2L ", PPC},
> - {1, "ORACLE", "X4-2B ", PPC},
> - {1, "ORACLE", "X3-2 ", PPC},
> - {1, "ORACLE", "X3-2L ", PPC},
> - {1, "ORACLE", "X3-2B ", PPC},
> - {1, "ORACLE", "X4470M2 ", PPC},
> - {1, "ORACLE", "X4270M3 ", PPC},
> - {1, "ORACLE", "X4270M2 ", PPC},
> - {1, "ORACLE", "X4170M2 ", PPC},
> - {1, "ORACLE", "X4170 M3", PPC},
> - {1, "ORACLE", "X4275 M3", PPC},
> - {1, "ORACLE", "X6-2 ", PPC},
> - {1, "ORACLE", "Sudbury ", PPC},
> - {0, "", ""},
> +static struct acpi_platform_list plat_info[] __initdata = {
> + {"HP ", "ProLiant", 0, ACPI_SIG_FADT, all_versions, 0,
> PSS},
> + {"ORACLE", "X4-2 ", 0, ACPI_SIG_FADT, all_versions, 0,
> PPC},
> + {"ORACLE", "X4-2L ", 0, ACPI_SIG_FADT, all_versions, 0,
> PPC},
> + {"ORACLE", "X4-2B ", 0, ACPI_SIG_FADT, all_versions, 0,
> PPC},
> + {"ORACLE", "X3-2 ", 0, ACPI_SIG_FADT, all_versions, 0,
> PPC},
> + {"ORACLE", "X3-2L ", 0, ACPI_SIG_FADT, all_versions, 0,
> PPC},
> + {"ORACLE", "X3-2B ", 0, ACPI_SIG_FADT, all_versions, 0,
> PPC},
> + {"ORACLE", "X4470M2 ", 0, ACPI_SIG_FADT, all_versions, 0,
> PPC},
> + {"ORACLE", "X4270M3 ", 0, ACPI_SIG_FADT, all_versions, 0,
> PPC},
> + {"ORACLE", "X4270M2 ", 0, ACPI_SIG_FADT, all_versions, 0,
> PPC},
> + {"ORACLE", "X4170M2 ", 0, ACPI_SIG_FADT, all_versions, 0,
> PPC},
> + {"ORACLE", "X4170 M3", 0, ACPI_SIG_FADT, all_versions, 0,
> PPC},
> + {"ORACLE", "X4275 M3", 0, ACPI_SIG_FADT, all_versions, 0,
> PPC},
> + {"ORACLE", "X6-2 ", 0, ACPI_SIG_FADT, all_versions, 0,
> PPC},
> + {"ORACLE", "Sudbury ", 0, ACPI_SIG_FADT, all_versions, 0,
> PPC},
> + { } /* End */
> };
>
> static bool __init intel_pstate_platform_pwr_mgmt_exists(void)
> {
> - struct acpi_table_header hdr;
> - struct hw_vendor_info *v_info;
> const struct x86_cpu_id *id;
> u64 misc_pwr;
> + int idx;
>
> id = x86_match_cpu(intel_pstate_cpu_oob_ids);
> if (id) {
> @@ -2507,21 +2499,15 @@ static bool __init
> intel_pstate_platform_pwr_mgmt_exists(void)
> return true;
> }
>
> - if (acpi_disabled ||
> - ACPI_FAILURE(acpi_get_table_header(ACPI_SIG_FADT, 0,
> &hdr)))
> + idx = acpi_match_platform_list(plat_info);
> + if (idx < 0)
> return false;
>
> - for (v_info = vendor_info; v_info->valid; v_info++) {
> - if (!strncmp(hdr.oem_id, v_info->oem_id,
> ACPI_OEM_ID_SIZE) &&
> - !strncmp(hdr.oem_table_id, v_info-
> >oem_table_id,
> - ACPI_OEM_TABLE_ID_SI
> ZE))
> - switch (v_info->oem_pwr_table) {
> - case PSS:
> - return intel_pstate_no_acpi_pss();
> - case PPC:
> - return intel_pstate_has_acpi_ppc()
> &&
> - (!force_load);
> - }
> + switch (plat_info[idx].data) {
> + case PSS:
> + return intel_pstate_no_acpi_pss();
> + case PPC:
> + return intel_pstate_has_acpi_ppc() && !force_load;
> }
>
> return false;
---
To unsubscribe from this list: send the line "unsubscribe linux-edac" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2017-08-21 17:53 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-18 19:46 [PATCH v3 0/5] enable ghes_edac on selected platforms Toshi Kani
2017-08-18 19:46 ` [PATCH v3 1/5] ACPI / blacklist: add acpi_match_platform_list() Toshi Kani
2017-08-18 19:46 ` [v3,1/5] " Toshi Kani
2017-08-21 11:27 ` [PATCH v3 1/5] " Borislav Petkov
2017-08-21 11:27 ` [v3,1/5] " Borislav Petkov
2017-08-21 12:25 ` [PATCH v3 1/5] " Rafael J. Wysocki
2017-08-21 12:25 ` [v3,1/5] " Rafael J. Wysocki
2017-08-21 13:20 ` [PATCH] ACPICA: Check whether ACPI is disabled before getting a table Borislav Petkov
2017-08-21 13:20 ` Borislav Petkov
2017-08-21 13:30 ` [PATCH] " Rafael J. Wysocki
2017-08-21 13:30 ` Rafael J. Wysocki
2017-08-21 15:34 ` [PATCH] " Borislav Petkov
2017-08-21 15:34 ` Borislav Petkov
2017-09-03 0:43 ` [PATCH] " kbuild test robot
2017-09-03 0:43 ` kbuild test robot
2017-08-21 16:41 ` [PATCH v3 1/5] ACPI / blacklist: add acpi_match_platform_list() Kani, Toshimitsu
2017-08-21 16:41 ` [v3,1/5] " Toshi Kani
2017-08-21 17:04 ` [PATCH v3 1/5] " Borislav Petkov
2017-08-21 17:04 ` [v3,1/5] " Borislav Petkov
2017-08-21 17:23 ` [PATCH v3 1/5] " Kani, Toshimitsu
2017-08-21 17:23 ` [v3,1/5] " Toshi Kani
2017-08-21 17:36 ` [PATCH v3 1/5] " Borislav Petkov
2017-08-21 17:36 ` [v3,1/5] " Borislav Petkov
2017-08-21 20:31 ` [PATCH v3 1/5] " Rafael J. Wysocki
2017-08-21 20:31 ` [v3,1/5] " Rafael J. Wysocki
2017-08-21 21:06 ` [PATCH v3 1/5] " Kani, Toshimitsu
2017-08-21 21:06 ` [v3,1/5] " Toshi Kani
2017-08-21 21:49 ` [PATCH v3 1/5] " Rafael J. Wysocki
2017-08-21 21:49 ` [v3,1/5] " Rafael J. Wysocki
2017-08-21 22:21 ` [PATCH v3 1/5] " Kani, Toshimitsu
2017-08-21 22:21 ` [v3,1/5] " Toshi Kani
2017-08-21 22:26 ` [PATCH v3 1/5] " Rafael J. Wysocki
2017-08-21 22:26 ` [v3,1/5] " Rafael J. Wysocki
2017-08-18 19:46 ` [PATCH v3 2/5] intel_pstate: convert to use acpi_match_platform_list() Toshi Kani
2017-08-18 19:46 ` [v3,2/5] " Toshi Kani
2017-08-21 17:53 ` Srinivas Pandruvada [this message]
2017-08-21 17:53 ` Srinivas Pandruvada
2017-08-23 15:46 ` [PATCH v3 2/5] " Borislav Petkov
2017-08-23 15:46 ` [v3,2/5] " Borislav Petkov
2017-08-23 15:56 ` [PATCH v3 2/5] " Kani, Toshimitsu
2017-08-23 15:56 ` [v3,2/5] " Toshi Kani
2017-08-18 19:46 ` [PATCH v3 3/5] ghes_edac: add platform check to enable ghes_edac Toshi Kani
2017-08-18 19:46 ` [v3,3/5] " Toshi Kani
2017-08-23 16:20 ` [PATCH v3 3/5] " Borislav Petkov
2017-08-23 16:20 ` Borislav Petkov
2017-08-23 16:20 ` [v3,3/5] " Borislav Petkov
2017-08-23 20:46 ` [PATCH v3 3/5] " Rafael J. Wysocki
2017-08-23 20:46 ` [v3,3/5] " Rafael J. Wysocki
2017-08-24 7:54 ` [PATCH v3 3/5] " Borislav Petkov
2017-08-24 7:54 ` [v3,3/5] " Borislav Petkov
2017-08-18 19:46 ` [PATCH v3 4/5] EDAC: add edac_get_owner() to check MC owner Toshi Kani
2017-08-18 19:46 ` [v3,4/5] " Toshi Kani
2017-08-18 19:46 ` [PATCH v3 5/5] edac drivers: add MC owner check in init Toshi Kani
2017-08-18 19:46 ` [v3,5/5] " Toshi Kani
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=1503337985.6726.28.camel@linux.intel.com \
--to=srinivas.pandruvada@linux.intel.com \
--cc=bp@alien8.de \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-edac@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=rjw@rjwysocki.net \
--cc=tony.luck@intel.com \
--cc=toshi.kani@hpe.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.