From mboxrd@z Thu Jan 1 00:00:00 1970 From: Srinivas Pandruvada Subject: Re: [PATCH v3 2/5] intel_pstate: convert to use acpi_match_platform_list() Date: Mon, 21 Aug 2017 10:53:05 -0700 Message-ID: <1503337985.6726.28.camel@linux.intel.com> References: <20170818194644.14538-1-toshi.kani@hpe.com> <20170818194644.14538-3-toshi.kani@hpe.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit Return-path: Received: from mga01.intel.com ([192.55.52.88]:55149 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753959AbdHURxg (ORCPT ); Mon, 21 Aug 2017 13:53:36 -0400 In-Reply-To: <20170818194644.14538-3-toshi.kani@hpe.com> Sender: linux-acpi-owner@vger.kernel.org List-Id: linux-acpi@vger.kernel.org To: Toshi Kani , 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 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 > Cc: "Rafael J. Wysocki" > Cc: Srinivas Pandruvada > Cc: Len Brown > Cc: Borislav Petkov Can't test but the change itself is OK. Acked-by: Srinivas Pandruvada > --- >  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; From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [v3,2/5] intel_pstate: convert to use acpi_match_platform_list() From: Srinivas Pandruvada Message-Id: <1503337985.6726.28.camel@linux.intel.com> Date: Mon, 21 Aug 2017 10:53:05 -0700 To: Toshi Kani , 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 List-ID: T24gRnJpLCAyMDE3LTA4LTE4IGF0IDEzOjQ2IC0wNjAwLCBUb3NoaSBLYW5pIHdyb3RlOgo+IENv bnZlcnQgdG8gdXNlIGFjcGlfbWF0Y2hfcGxhdGZvcm1fbGlzdCgpIGZvciB0aGUgcGxhdGZvcm0g Y2hlY2suCj4gVGhlcmUgaXMgbm8gY2hhbmdlIGluIGZ1bmN0aW9uYWxpdHkuCj4gCj4gU2lnbmVk LW9mZi1ieTogVG9zaGkgS2FuaSA8dG9zaGkua2FuaUBocGUuY29tPgo+IENjOiAiUmFmYWVsIEou IFd5c29ja2kiIDxyandAcmp3eXNvY2tpLm5ldD4KPiBDYzogU3Jpbml2YXMgUGFuZHJ1dmFkYSA8 c3Jpbml2YXMucGFuZHJ1dmFkYUBsaW51eC5pbnRlbC5jb20+Cj4gQ2M6IExlbiBCcm93biA8bGVu YkBrZXJuZWwub3JnPgo+IENjOiBCb3Jpc2xhdiBQZXRrb3YgPGJwQGFsaWVuOC5kZT4KQ2FuJ3Qg dGVzdCBidXQgdGhlIGNoYW5nZSBpdHNlbGYgaXMgT0suCgpBY2tlZC1ieTogU3Jpbml2YXMgUGFu ZHJ1dmFkYSA8c3Jpbml2YXMucGFuZHJ1dmFkYUBsaW51eC5pbnRlbC5jb20+Cgo+IC0tLQo+IMKg ZHJpdmVycy9jcHVmcmVxL2ludGVsX3BzdGF0ZS5jIHzCoMKgwqA2NCArKysrKysrKysrKysrKysr LS0tLS0tLS0tLS0tCj4gLS0tLS0tLS0tLS0tCj4gwqAxIGZpbGUgY2hhbmdlZCwgMjUgaW5zZXJ0 aW9ucygrKSwgMzkgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvY3B1ZnJl cS9pbnRlbF9wc3RhdGUuYwo+IGIvZHJpdmVycy9jcHVmcmVxL2ludGVsX3BzdGF0ZS5jCj4gaW5k ZXggNjVlZTRmYy4uYWQ3MTNjZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2NwdWZyZXEvaW50ZWxf cHN0YXRlLmMKPiArKysgYi9kcml2ZXJzL2NwdWZyZXEvaW50ZWxfcHN0YXRlLmMKPiBAQCAtMjQ2 NiwzOSArMjQ2NiwzMSBAQCBlbnVtIHsKPiDCoAlQUEMsCj4gwqB9Owo+IMKgCj4gLXN0cnVjdCBo d192ZW5kb3JfaW5mbyB7Cj4gLQl1MTbCoMKgdmFsaWQ7Cj4gLQljaGFyIG9lbV9pZFtBQ1BJX09F TV9JRF9TSVpFXTsKPiAtCWNoYXIgb2VtX3RhYmxlX2lkW0FDUElfT0VNX1RBQkxFX0lEX1NJWkVd Owo+IC0JaW50wqDCoG9lbV9wd3JfdGFibGU7Cj4gLX07Cj4gLQo+IMKgLyogSGFyZHdhcmUgdmVu ZG9yLXNwZWNpZmljIGluZm8gdGhhdCBoYXMgaXRzIG93biBwb3dlciBtYW5hZ2VtZW50Cj4gbW9k ZXMgKi8KPiAtc3RhdGljIHN0cnVjdCBod192ZW5kb3JfaW5mbyB2ZW5kb3JfaW5mb1tdIF9faW5p dGRhdGEgPSB7Cj4gLQl7MSwgIkhQwqDCoMKgwqAiLCAiUHJvTGlhbnQiLCBQU1N9LAo+IC0JezEs ICJPUkFDTEUiLCAiWDQtMsKgwqDCoMKgIiwgUFBDfSwKPiAtCXsxLCAiT1JBQ0xFIiwgIlg0LTJM wqDCoMKgIiwgUFBDfSwKPiAtCXsxLCAiT1JBQ0xFIiwgIlg0LTJCwqDCoMKgIiwgUFBDfSwKPiAt CXsxLCAiT1JBQ0xFIiwgIlgzLTLCoMKgwqDCoCIsIFBQQ30sCj4gLQl7MSwgIk9SQUNMRSIsICJY My0yTMKgwqDCoCIsIFBQQ30sCj4gLQl7MSwgIk9SQUNMRSIsICJYMy0yQsKgwqDCoCIsIFBQQ30s Cj4gLQl7MSwgIk9SQUNMRSIsICJYNDQ3ME0yICIsIFBQQ30sCj4gLQl7MSwgIk9SQUNMRSIsICJY NDI3ME0zICIsIFBQQ30sCj4gLQl7MSwgIk9SQUNMRSIsICJYNDI3ME0yICIsIFBQQ30sCj4gLQl7 MSwgIk9SQUNMRSIsICJYNDE3ME0yICIsIFBQQ30sCj4gLQl7MSwgIk9SQUNMRSIsICJYNDE3MCBN MyIsIFBQQ30sCj4gLQl7MSwgIk9SQUNMRSIsICJYNDI3NSBNMyIsIFBQQ30sCj4gLQl7MSwgIk9S QUNMRSIsICJYNi0ywqDCoMKgwqAiLCBQUEN9LAo+IC0JezEsICJPUkFDTEUiLCAiU3VkYnVyeSAi LCBQUEN9LAo+IC0JezAsICIiLCAiIn0sCj4gK3N0YXRpYyBzdHJ1Y3QgYWNwaV9wbGF0Zm9ybV9s aXN0IHBsYXRfaW5mb1tdIF9faW5pdGRhdGEgPSB7Cj4gKwl7IkhQwqDCoMKgwqAiLCAiUHJvTGlh bnQiLCAwLCBBQ1BJX1NJR19GQURULCBhbGxfdmVyc2lvbnMsIDAsCj4gUFNTfSwKPiArCXsiT1JB Q0xFIiwgIlg0LTLCoMKgwqDCoCIsIDAsIEFDUElfU0lHX0ZBRFQsIGFsbF92ZXJzaW9ucywgMCwK PiBQUEN9LAo+ICsJeyJPUkFDTEUiLCAiWDQtMkzCoMKgwqAiLCAwLCBBQ1BJX1NJR19GQURULCBh bGxfdmVyc2lvbnMsIDAsCj4gUFBDfSwKPiArCXsiT1JBQ0xFIiwgIlg0LTJCwqDCoMKgIiwgMCwg QUNQSV9TSUdfRkFEVCwgYWxsX3ZlcnNpb25zLCAwLAo+IFBQQ30sCj4gKwl7Ik9SQUNMRSIsICJY My0ywqDCoMKgwqAiLCAwLCBBQ1BJX1NJR19GQURULCBhbGxfdmVyc2lvbnMsIDAsCj4gUFBDfSwK PiArCXsiT1JBQ0xFIiwgIlgzLTJMwqDCoMKgIiwgMCwgQUNQSV9TSUdfRkFEVCwgYWxsX3ZlcnNp b25zLCAwLAo+IFBQQ30sCj4gKwl7Ik9SQUNMRSIsICJYMy0yQsKgwqDCoCIsIDAsIEFDUElfU0lH X0ZBRFQsIGFsbF92ZXJzaW9ucywgMCwKPiBQUEN9LAo+ICsJeyJPUkFDTEUiLCAiWDQ0NzBNMiAi LCAwLCBBQ1BJX1NJR19GQURULCBhbGxfdmVyc2lvbnMsIDAsCj4gUFBDfSwKPiArCXsiT1JBQ0xF IiwgIlg0MjcwTTMgIiwgMCwgQUNQSV9TSUdfRkFEVCwgYWxsX3ZlcnNpb25zLCAwLAo+IFBQQ30s Cj4gKwl7Ik9SQUNMRSIsICJYNDI3ME0yICIsIDAsIEFDUElfU0lHX0ZBRFQsIGFsbF92ZXJzaW9u cywgMCwKPiBQUEN9LAo+ICsJeyJPUkFDTEUiLCAiWDQxNzBNMiAiLCAwLCBBQ1BJX1NJR19GQURU LCBhbGxfdmVyc2lvbnMsIDAsCj4gUFBDfSwKPiArCXsiT1JBQ0xFIiwgIlg0MTcwIE0zIiwgMCwg QUNQSV9TSUdfRkFEVCwgYWxsX3ZlcnNpb25zLCAwLAo+IFBQQ30sCj4gKwl7Ik9SQUNMRSIsICJY NDI3NSBNMyIsIDAsIEFDUElfU0lHX0ZBRFQsIGFsbF92ZXJzaW9ucywgMCwKPiBQUEN9LAo+ICsJ eyJPUkFDTEUiLCAiWDYtMsKgwqDCoMKgIiwgMCwgQUNQSV9TSUdfRkFEVCwgYWxsX3ZlcnNpb25z LCAwLAo+IFBQQ30sCj4gKwl7Ik9SQUNMRSIsICJTdWRidXJ5ICIsIDAsIEFDUElfU0lHX0ZBRFQs IGFsbF92ZXJzaW9ucywgMCwKPiBQUEN9LAo+ICsJeyB9IC8qIEVuZCAqLwo+IMKgfTsKPiDCoAo+ IMKgc3RhdGljIGJvb2wgX19pbml0IGludGVsX3BzdGF0ZV9wbGF0Zm9ybV9wd3JfbWdtdF9leGlz dHModm9pZCkKPiDCoHsKPiAtCXN0cnVjdCBhY3BpX3RhYmxlX2hlYWRlciBoZHI7Cj4gLQlzdHJ1 Y3QgaHdfdmVuZG9yX2luZm8gKnZfaW5mbzsKPiDCoAljb25zdCBzdHJ1Y3QgeDg2X2NwdV9pZCAq aWQ7Cj4gwqAJdTY0IG1pc2NfcHdyOwo+ICsJaW50IGlkeDsKPiDCoAo+IMKgCWlkID0geDg2X21h dGNoX2NwdShpbnRlbF9wc3RhdGVfY3B1X29vYl9pZHMpOwo+IMKgCWlmIChpZCkgewo+IEBAIC0y NTA3LDIxICsyNDk5LDE1IEBAIHN0YXRpYyBib29sIF9faW5pdAo+IGludGVsX3BzdGF0ZV9wbGF0 Zm9ybV9wd3JfbWdtdF9leGlzdHModm9pZCkKPiDCoAkJCXJldHVybiB0cnVlOwo+IMKgCX0KPiDC oAo+IC0JaWYgKGFjcGlfZGlzYWJsZWQgfHwKPiAtCcKgwqDCoMKgQUNQSV9GQUlMVVJFKGFjcGlf Z2V0X3RhYmxlX2hlYWRlcihBQ1BJX1NJR19GQURULCAwLAo+ICZoZHIpKSkKPiArCWlkeCA9IGFj cGlfbWF0Y2hfcGxhdGZvcm1fbGlzdChwbGF0X2luZm8pOwo+ICsJaWYgKGlkeCA8IDApCj4gwqAJ CXJldHVybiBmYWxzZTsKPiDCoAo+IC0JZm9yICh2X2luZm8gPSB2ZW5kb3JfaW5mbzsgdl9pbmZv LT52YWxpZDsgdl9pbmZvKyspIHsKPiAtCQlpZiAoIXN0cm5jbXAoaGRyLm9lbV9pZCwgdl9pbmZv LT5vZW1faWQsCj4gQUNQSV9PRU1fSURfU0laRSkgJiYKPiAtCQkJIXN0cm5jbXAoaGRyLm9lbV90 YWJsZV9pZCwgdl9pbmZvLQo+ID5vZW1fdGFibGVfaWQsCj4gLQkJCQkJCUFDUElfT0VNX1RBQkxF X0lEX1NJCj4gWkUpKQo+IC0JCQlzd2l0Y2ggKHZfaW5mby0+b2VtX3B3cl90YWJsZSkgewo+IC0J CQljYXNlIFBTUzoKPiAtCQkJCXJldHVybiBpbnRlbF9wc3RhdGVfbm9fYWNwaV9wc3MoKTsKPiAt CQkJY2FzZSBQUEM6Cj4gLQkJCQlyZXR1cm4gaW50ZWxfcHN0YXRlX2hhc19hY3BpX3BwYygpCj4g JiYKPiAtCQkJCQkoIWZvcmNlX2xvYWQpOwo+IC0JCQl9Cj4gKwlzd2l0Y2ggKHBsYXRfaW5mb1tp ZHhdLmRhdGEpIHsKPiArCWNhc2UgUFNTOgo+ICsJCXJldHVybiBpbnRlbF9wc3RhdGVfbm9fYWNw aV9wc3MoKTsKPiArCWNhc2UgUFBDOgo+ICsJCXJldHVybiBpbnRlbF9wc3RhdGVfaGFzX2FjcGlf cHBjKCkgJiYgIWZvcmNlX2xvYWQ7Cj4gwqAJfQo+IMKgCj4gwqAJcmV0dXJuIGZhbHNlOwotLS0K VG8gdW5zdWJzY3JpYmUgZnJvbSB0aGlzIGxpc3Q6IHNlbmQgdGhlIGxpbmUgInVuc3Vic2NyaWJl IGxpbnV4LWVkYWMiIGluCnRoZSBib2R5IG9mIGEgbWVzc2FnZSB0byBtYWpvcmRvbW9Admdlci5r ZXJuZWwub3JnCk1vcmUgbWFqb3Jkb21vIGluZm8gYXQgIGh0dHA6Ly92Z2VyLmtlcm5lbC5vcmcv bWFqb3Jkb21vLWluZm8uaHRtbAo=