All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Aaron Rainbolt <arainbolt@kfocus.org>,
	linux-acpi@vger.kernel.org, rafael@kernel.org
Cc: oe-kbuild-all@lists.linux.dev, mario.limonciello@amd.com,
	lenb@kernel.org, linux-kernel@vger.kernel.org,
	mmikowski@kfocus.org
Subject: Re: [PATCH] acpi: Allow ignoring _OSC CPPC v2 bit via kernel parameter
Date: Wed, 19 Jun 2024 02:31:56 +0800	[thread overview]
Message-ID: <202406190206.Z56zEzTy-lkp@intel.com> (raw)
In-Reply-To: <ZnD22b3Br1ng7alf@kf-XE>

Hi Aaron,

kernel test robot noticed the following build warnings:

[auto build test WARNING on rafael-pm/linux-next]
[also build test WARNING on rafael-pm/bleeding-edge linus/master v6.10-rc4 next-20240618]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Aaron-Rainbolt/acpi-Allow-ignoring-_OSC-CPPC-v2-bit-via-kernel-parameter/20240618-105454
base:   https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next
patch link:    https://lore.kernel.org/r/ZnD22b3Br1ng7alf%40kf-XE
patch subject: [PATCH] acpi: Allow ignoring _OSC CPPC v2 bit via kernel parameter
config: x86_64-defconfig (https://download.01.org/0day-ci/archive/20240619/202406190206.Z56zEzTy-lkp@intel.com/config)
compiler: gcc-13 (Ubuntu 13.2.0-4ubuntu3) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240619/202406190206.Z56zEzTy-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202406190206.Z56zEzTy-lkp@intel.com/

All warnings (new ones prefixed by >>):

>> drivers/acpi/cppc_acpi.c:677: warning: Function parameter or struct member 'ignore_osc_cppc_bit' not described in 'acpi_cppc_processor_probe'


vim +677 drivers/acpi/cppc_acpi.c

41ea667227bad5 Nathan Fontenot     2020-11-12  669  
337aadff8e4567 Ashwin Chaugule     2015-10-02  670  /**
337aadff8e4567 Ashwin Chaugule     2015-10-02  671   * acpi_cppc_processor_probe - Search for per CPU _CPC objects.
603fadf33604a2 Bjorn Helgaas       2019-03-25  672   * @pr: Ptr to acpi_processor containing this CPU's logical ID.
337aadff8e4567 Ashwin Chaugule     2015-10-02  673   *
337aadff8e4567 Ashwin Chaugule     2015-10-02  674   *	Return: 0 for success or negative value for err.
337aadff8e4567 Ashwin Chaugule     2015-10-02  675   */
e7e2a9d4606e2e Aaron Rainbolt      2024-06-17  676  int acpi_cppc_processor_probe(struct acpi_processor *pr, bool ignore_osc_cppc_bit)
337aadff8e4567 Ashwin Chaugule     2015-10-02 @677  {
337aadff8e4567 Ashwin Chaugule     2015-10-02  678  	struct acpi_buffer output = {ACPI_ALLOCATE_BUFFER, NULL};
337aadff8e4567 Ashwin Chaugule     2015-10-02  679  	union acpi_object *out_obj, *cpc_obj;
337aadff8e4567 Ashwin Chaugule     2015-10-02  680  	struct cpc_desc *cpc_ptr;
337aadff8e4567 Ashwin Chaugule     2015-10-02  681  	struct cpc_reg *gas_t;
158c998ea44ba3 Ashwin Chaugule     2016-08-16  682  	struct device *cpu_dev;
337aadff8e4567 Ashwin Chaugule     2015-10-02  683  	acpi_handle handle = pr->handle;
337aadff8e4567 Ashwin Chaugule     2015-10-02  684  	unsigned int num_ent, i, cpc_rev;
85b1407bf6d2f4 George Cherian      2017-10-11  685  	int pcc_subspace_id = -1;
337aadff8e4567 Ashwin Chaugule     2015-10-02  686  	acpi_status status;
f21a3509842294 Rafael J. Wysocki   2022-03-22  687  	int ret = -ENODATA;
337aadff8e4567 Ashwin Chaugule     2015-10-02  688  
7feec7430edddb Mario Limonciello   2022-07-05  689  	if (!osc_sb_cppc2_support_acked) {
7feec7430edddb Mario Limonciello   2022-07-05  690  		pr_debug("CPPC v2 _OSC not acked\n");
e7e2a9d4606e2e Aaron Rainbolt      2024-06-17  691  		if (!ignore_osc_cppc_bit && !cpc_supported_by_cpu()) {
5f8f9bc4d7bc8d Perry Yuan          2024-04-25  692  			pr_debug("CPPC is not supported by the CPU\n");
c42fa24b44751c Rafael J. Wysocki   2022-03-16  693  			return -ENODEV;
7feec7430edddb Mario Limonciello   2022-07-05  694  		}
5f8f9bc4d7bc8d Perry Yuan          2024-04-25  695  	}
c42fa24b44751c Rafael J. Wysocki   2022-03-16  696  
603fadf33604a2 Bjorn Helgaas       2019-03-25  697  	/* Parse the ACPI _CPC table for this CPU. */
337aadff8e4567 Ashwin Chaugule     2015-10-02  698  	status = acpi_evaluate_object_typed(handle, "_CPC", NULL, &output,
337aadff8e4567 Ashwin Chaugule     2015-10-02  699  			ACPI_TYPE_PACKAGE);
337aadff8e4567 Ashwin Chaugule     2015-10-02  700  	if (ACPI_FAILURE(status)) {
337aadff8e4567 Ashwin Chaugule     2015-10-02  701  		ret = -ENODEV;
337aadff8e4567 Ashwin Chaugule     2015-10-02  702  		goto out_buf_free;
337aadff8e4567 Ashwin Chaugule     2015-10-02  703  	}
337aadff8e4567 Ashwin Chaugule     2015-10-02  704  
337aadff8e4567 Ashwin Chaugule     2015-10-02  705  	out_obj = (union acpi_object *) output.pointer;
337aadff8e4567 Ashwin Chaugule     2015-10-02  706  
337aadff8e4567 Ashwin Chaugule     2015-10-02  707  	cpc_ptr = kzalloc(sizeof(struct cpc_desc), GFP_KERNEL);
337aadff8e4567 Ashwin Chaugule     2015-10-02  708  	if (!cpc_ptr) {
337aadff8e4567 Ashwin Chaugule     2015-10-02  709  		ret = -ENOMEM;
337aadff8e4567 Ashwin Chaugule     2015-10-02  710  		goto out_buf_free;
337aadff8e4567 Ashwin Chaugule     2015-10-02  711  	}
337aadff8e4567 Ashwin Chaugule     2015-10-02  712  
337aadff8e4567 Ashwin Chaugule     2015-10-02  713  	/* First entry is NumEntries. */
337aadff8e4567 Ashwin Chaugule     2015-10-02  714  	cpc_obj = &out_obj->package.elements[0];
337aadff8e4567 Ashwin Chaugule     2015-10-02  715  	if (cpc_obj->type == ACPI_TYPE_INTEGER)	{
337aadff8e4567 Ashwin Chaugule     2015-10-02  716  		num_ent = cpc_obj->integer.value;
40d8abf364bcab Rafael J. Wysocki   2022-03-22  717  		if (num_ent <= 1) {
40d8abf364bcab Rafael J. Wysocki   2022-03-22  718  			pr_debug("Unexpected _CPC NumEntries value (%d) for CPU:%d\n",
40d8abf364bcab Rafael J. Wysocki   2022-03-22  719  				 num_ent, pr->id);
40d8abf364bcab Rafael J. Wysocki   2022-03-22  720  			goto out_free;
40d8abf364bcab Rafael J. Wysocki   2022-03-22  721  		}
337aadff8e4567 Ashwin Chaugule     2015-10-02  722  	} else {
f21a3509842294 Rafael J. Wysocki   2022-03-22  723  		pr_debug("Unexpected _CPC NumEntries entry type (%d) for CPU:%d\n",
f21a3509842294 Rafael J. Wysocki   2022-03-22  724  			 cpc_obj->type, pr->id);
337aadff8e4567 Ashwin Chaugule     2015-10-02  725  		goto out_free;
337aadff8e4567 Ashwin Chaugule     2015-10-02  726  	}
5bbb86aa4b8d84 Ashwin Chaugule     2016-08-16  727  
337aadff8e4567 Ashwin Chaugule     2015-10-02  728  	/* Second entry should be revision. */
337aadff8e4567 Ashwin Chaugule     2015-10-02  729  	cpc_obj = &out_obj->package.elements[1];
337aadff8e4567 Ashwin Chaugule     2015-10-02  730  	if (cpc_obj->type == ACPI_TYPE_INTEGER)	{
337aadff8e4567 Ashwin Chaugule     2015-10-02  731  		cpc_rev = cpc_obj->integer.value;
337aadff8e4567 Ashwin Chaugule     2015-10-02  732  	} else {
f21a3509842294 Rafael J. Wysocki   2022-03-22  733  		pr_debug("Unexpected _CPC Revision entry type (%d) for CPU:%d\n",
f21a3509842294 Rafael J. Wysocki   2022-03-22  734  			 cpc_obj->type, pr->id);
337aadff8e4567 Ashwin Chaugule     2015-10-02  735  		goto out_free;
337aadff8e4567 Ashwin Chaugule     2015-10-02  736  	}
337aadff8e4567 Ashwin Chaugule     2015-10-02  737  
4f4179fcf42087 Rafael J. Wysocki   2022-07-21  738  	if (cpc_rev < CPPC_V2_REV) {
4f4179fcf42087 Rafael J. Wysocki   2022-07-21  739  		pr_debug("Unsupported _CPC Revision (%d) for CPU:%d\n", cpc_rev,
4f4179fcf42087 Rafael J. Wysocki   2022-07-21  740  			 pr->id);
337aadff8e4567 Ashwin Chaugule     2015-10-02  741  		goto out_free;
4f4179fcf42087 Rafael J. Wysocki   2022-07-21  742  	}
4f4179fcf42087 Rafael J. Wysocki   2022-07-21  743  
4f4179fcf42087 Rafael J. Wysocki   2022-07-21  744  	/*
4f4179fcf42087 Rafael J. Wysocki   2022-07-21  745  	 * Disregard _CPC if the number of entries in the return pachage is not
4f4179fcf42087 Rafael J. Wysocki   2022-07-21  746  	 * as expected, but support future revisions being proper supersets of
4f4179fcf42087 Rafael J. Wysocki   2022-07-21  747  	 * the v3 and only causing more entries to be returned by _CPC.
4f4179fcf42087 Rafael J. Wysocki   2022-07-21  748  	 */
4f4179fcf42087 Rafael J. Wysocki   2022-07-21  749  	if ((cpc_rev == CPPC_V2_REV && num_ent != CPPC_V2_NUM_ENT) ||
4f4179fcf42087 Rafael J. Wysocki   2022-07-21  750  	    (cpc_rev == CPPC_V3_REV && num_ent != CPPC_V3_NUM_ENT) ||
4f4179fcf42087 Rafael J. Wysocki   2022-07-21  751  	    (cpc_rev > CPPC_V3_REV && num_ent <= CPPC_V3_NUM_ENT)) {
4f4179fcf42087 Rafael J. Wysocki   2022-07-21  752  		pr_debug("Unexpected number of _CPC return package entries (%d) for CPU:%d\n",
4f4179fcf42087 Rafael J. Wysocki   2022-07-21  753  			 num_ent, pr->id);
4f4179fcf42087 Rafael J. Wysocki   2022-07-21  754  		goto out_free;
4f4179fcf42087 Rafael J. Wysocki   2022-07-21  755  	}
4f4179fcf42087 Rafael J. Wysocki   2022-07-21  756  	if (cpc_rev > CPPC_V3_REV) {
4f4179fcf42087 Rafael J. Wysocki   2022-07-21  757  		num_ent = CPPC_V3_NUM_ENT;
4f4179fcf42087 Rafael J. Wysocki   2022-07-21  758  		cpc_rev = CPPC_V3_REV;
4f4179fcf42087 Rafael J. Wysocki   2022-07-21  759  	}
4f4179fcf42087 Rafael J. Wysocki   2022-07-21  760  
4f4179fcf42087 Rafael J. Wysocki   2022-07-21  761  	cpc_ptr->num_entries = num_ent;
4f4179fcf42087 Rafael J. Wysocki   2022-07-21  762  	cpc_ptr->version = cpc_rev;
337aadff8e4567 Ashwin Chaugule     2015-10-02  763  
337aadff8e4567 Ashwin Chaugule     2015-10-02  764  	/* Iterate through remaining entries in _CPC */
337aadff8e4567 Ashwin Chaugule     2015-10-02  765  	for (i = 2; i < num_ent; i++) {
337aadff8e4567 Ashwin Chaugule     2015-10-02  766  		cpc_obj = &out_obj->package.elements[i];
337aadff8e4567 Ashwin Chaugule     2015-10-02  767  
337aadff8e4567 Ashwin Chaugule     2015-10-02  768  		if (cpc_obj->type == ACPI_TYPE_INTEGER)	{
337aadff8e4567 Ashwin Chaugule     2015-10-02  769  			cpc_ptr->cpc_regs[i-2].type = ACPI_TYPE_INTEGER;
337aadff8e4567 Ashwin Chaugule     2015-10-02  770  			cpc_ptr->cpc_regs[i-2].cpc_entry.int_value = cpc_obj->integer.value;
337aadff8e4567 Ashwin Chaugule     2015-10-02  771  		} else if (cpc_obj->type == ACPI_TYPE_BUFFER) {
337aadff8e4567 Ashwin Chaugule     2015-10-02  772  			gas_t = (struct cpc_reg *)
337aadff8e4567 Ashwin Chaugule     2015-10-02  773  				cpc_obj->buffer.pointer;
337aadff8e4567 Ashwin Chaugule     2015-10-02  774  
337aadff8e4567 Ashwin Chaugule     2015-10-02  775  			/*
337aadff8e4567 Ashwin Chaugule     2015-10-02  776  			 * The PCC Subspace index is encoded inside
337aadff8e4567 Ashwin Chaugule     2015-10-02  777  			 * the CPC table entries. The same PCC index
337aadff8e4567 Ashwin Chaugule     2015-10-02  778  			 * will be used for all the PCC entries,
337aadff8e4567 Ashwin Chaugule     2015-10-02  779  			 * so extract it only once.
337aadff8e4567 Ashwin Chaugule     2015-10-02  780  			 */
337aadff8e4567 Ashwin Chaugule     2015-10-02  781  			if (gas_t->space_id == ACPI_ADR_SPACE_PLATFORM_COMM) {
85b1407bf6d2f4 George Cherian      2017-10-11  782  				if (pcc_subspace_id < 0) {
85b1407bf6d2f4 George Cherian      2017-10-11  783  					pcc_subspace_id = gas_t->access_width;
85b1407bf6d2f4 George Cherian      2017-10-11  784  					if (pcc_data_alloc(pcc_subspace_id))
85b1407bf6d2f4 George Cherian      2017-10-11  785  						goto out_free;
85b1407bf6d2f4 George Cherian      2017-10-11  786  				} else if (pcc_subspace_id != gas_t->access_width) {
f21a3509842294 Rafael J. Wysocki   2022-03-22  787  					pr_debug("Mismatched PCC ids in _CPC for CPU:%d\n",
f21a3509842294 Rafael J. Wysocki   2022-03-22  788  						 pr->id);
337aadff8e4567 Ashwin Chaugule     2015-10-02  789  					goto out_free;
337aadff8e4567 Ashwin Chaugule     2015-10-02  790  				}
5bbb86aa4b8d84 Ashwin Chaugule     2016-08-16  791  			} else if (gas_t->space_id == ACPI_ADR_SPACE_SYSTEM_MEMORY) {
5bbb86aa4b8d84 Ashwin Chaugule     2016-08-16  792  				if (gas_t->address) {
5bbb86aa4b8d84 Ashwin Chaugule     2016-08-16  793  					void __iomem *addr;
2f4a4d63a193be Jarred White        2024-03-01  794  					size_t access_width;
5bbb86aa4b8d84 Ashwin Chaugule     2016-08-16  795  
0651ab90e4ade1 Pierre Gondois      2022-05-18  796  					if (!osc_cpc_flexible_adr_space_confirmed) {
0651ab90e4ade1 Pierre Gondois      2022-05-18  797  						pr_debug("Flexible address space capability not supported\n");
09073396ea62d0 Mario Limonciello   2022-07-15  798  						if (!cpc_supported_by_cpu())
0651ab90e4ade1 Pierre Gondois      2022-05-18  799  							goto out_free;
0651ab90e4ade1 Pierre Gondois      2022-05-18  800  					}
0651ab90e4ade1 Pierre Gondois      2022-05-18  801  
2f4a4d63a193be Jarred White        2024-03-01  802  					access_width = GET_BIT_WIDTH(gas_t) / 8;
2f4a4d63a193be Jarred White        2024-03-01  803  					addr = ioremap(gas_t->address, access_width);
5bbb86aa4b8d84 Ashwin Chaugule     2016-08-16  804  					if (!addr)
5bbb86aa4b8d84 Ashwin Chaugule     2016-08-16  805  						goto out_free;
5bbb86aa4b8d84 Ashwin Chaugule     2016-08-16  806  					cpc_ptr->cpc_regs[i-2].sys_mem_vaddr = addr;
5bbb86aa4b8d84 Ashwin Chaugule     2016-08-16  807  				}
a2c8f92bea5f8f Steven Noonan       2021-12-24  808  			} else if (gas_t->space_id == ACPI_ADR_SPACE_SYSTEM_IO) {
a2c8f92bea5f8f Steven Noonan       2021-12-24  809  				if (gas_t->access_width < 1 || gas_t->access_width > 3) {
a2c8f92bea5f8f Steven Noonan       2021-12-24  810  					/*
a2c8f92bea5f8f Steven Noonan       2021-12-24  811  					 * 1 = 8-bit, 2 = 16-bit, and 3 = 32-bit.
a2c8f92bea5f8f Steven Noonan       2021-12-24  812  					 * SystemIO doesn't implement 64-bit
a2c8f92bea5f8f Steven Noonan       2021-12-24  813  					 * registers.
a2c8f92bea5f8f Steven Noonan       2021-12-24  814  					 */
f21a3509842294 Rafael J. Wysocki   2022-03-22  815  					pr_debug("Invalid access width %d for SystemIO register in _CPC\n",
a2c8f92bea5f8f Steven Noonan       2021-12-24  816  						 gas_t->access_width);
a2c8f92bea5f8f Steven Noonan       2021-12-24  817  					goto out_free;
a2c8f92bea5f8f Steven Noonan       2021-12-24  818  				}
a2c8f92bea5f8f Steven Noonan       2021-12-24  819  				if (gas_t->address & OVER_16BTS_MASK) {
a2c8f92bea5f8f Steven Noonan       2021-12-24  820  					/* SystemIO registers use 16-bit integer addresses */
f21a3509842294 Rafael J. Wysocki   2022-03-22  821  					pr_debug("Invalid IO port %llu for SystemIO register in _CPC\n",
a2c8f92bea5f8f Steven Noonan       2021-12-24  822  						 gas_t->address);
a2c8f92bea5f8f Steven Noonan       2021-12-24  823  					goto out_free;
a2c8f92bea5f8f Steven Noonan       2021-12-24  824  				}
0651ab90e4ade1 Pierre Gondois      2022-05-18  825  				if (!osc_cpc_flexible_adr_space_confirmed) {
0651ab90e4ade1 Pierre Gondois      2022-05-18  826  					pr_debug("Flexible address space capability not supported\n");
09073396ea62d0 Mario Limonciello   2022-07-15  827  					if (!cpc_supported_by_cpu())
0651ab90e4ade1 Pierre Gondois      2022-05-18  828  						goto out_free;
0651ab90e4ade1 Pierre Gondois      2022-05-18  829  				}
5bbb86aa4b8d84 Ashwin Chaugule     2016-08-16  830  			} else {
a6cbcdd5ab5f24 Srinivas Pandruvada 2016-09-01  831  				if (gas_t->space_id != ACPI_ADR_SPACE_FIXED_HARDWARE || !cpc_ffh_supported()) {
a2c8f92bea5f8f Steven Noonan       2021-12-24  832  					/* Support only PCC, SystemMemory, SystemIO, and FFH type regs. */
f21a3509842294 Rafael J. Wysocki   2022-03-22  833  					pr_debug("Unsupported register type (%d) in _CPC\n",
f21a3509842294 Rafael J. Wysocki   2022-03-22  834  						 gas_t->space_id);
337aadff8e4567 Ashwin Chaugule     2015-10-02  835  					goto out_free;
337aadff8e4567 Ashwin Chaugule     2015-10-02  836  				}
a6cbcdd5ab5f24 Srinivas Pandruvada 2016-09-01  837  			}
337aadff8e4567 Ashwin Chaugule     2015-10-02  838  
337aadff8e4567 Ashwin Chaugule     2015-10-02  839  			cpc_ptr->cpc_regs[i-2].type = ACPI_TYPE_BUFFER;
337aadff8e4567 Ashwin Chaugule     2015-10-02  840  			memcpy(&cpc_ptr->cpc_regs[i-2].cpc_entry.reg, gas_t, sizeof(*gas_t));
337aadff8e4567 Ashwin Chaugule     2015-10-02  841  		} else {
f21a3509842294 Rafael J. Wysocki   2022-03-22  842  			pr_debug("Invalid entry type (%d) in _CPC for CPU:%d\n",
f21a3509842294 Rafael J. Wysocki   2022-03-22  843  				 i, pr->id);
337aadff8e4567 Ashwin Chaugule     2015-10-02  844  			goto out_free;
337aadff8e4567 Ashwin Chaugule     2015-10-02  845  		}
337aadff8e4567 Ashwin Chaugule     2015-10-02  846  	}
85b1407bf6d2f4 George Cherian      2017-10-11  847  	per_cpu(cpu_pcc_subspace_idx, pr->id) = pcc_subspace_id;
4773e77cdc9b3a Prashanth Prakash   2018-04-04  848  
4773e77cdc9b3a Prashanth Prakash   2018-04-04  849  	/*
4773e77cdc9b3a Prashanth Prakash   2018-04-04  850  	 * Initialize the remaining cpc_regs as unsupported.
4773e77cdc9b3a Prashanth Prakash   2018-04-04  851  	 * Example: In case FW exposes CPPC v2, the below loop will initialize
4773e77cdc9b3a Prashanth Prakash   2018-04-04  852  	 * LOWEST_FREQ and NOMINAL_FREQ regs as unsupported
4773e77cdc9b3a Prashanth Prakash   2018-04-04  853  	 */
4773e77cdc9b3a Prashanth Prakash   2018-04-04  854  	for (i = num_ent - 2; i < MAX_CPC_REG_ENT; i++) {
4773e77cdc9b3a Prashanth Prakash   2018-04-04  855  		cpc_ptr->cpc_regs[i].type = ACPI_TYPE_INTEGER;
4773e77cdc9b3a Prashanth Prakash   2018-04-04  856  		cpc_ptr->cpc_regs[i].cpc_entry.int_value = 0;
4773e77cdc9b3a Prashanth Prakash   2018-04-04  857  	}
4773e77cdc9b3a Prashanth Prakash   2018-04-04  858  
4773e77cdc9b3a Prashanth Prakash   2018-04-04  859  
337aadff8e4567 Ashwin Chaugule     2015-10-02  860  	/* Store CPU Logical ID */
337aadff8e4567 Ashwin Chaugule     2015-10-02  861  	cpc_ptr->cpu_id = pr->id;
337aadff8e4567 Ashwin Chaugule     2015-10-02  862  
337aadff8e4567 Ashwin Chaugule     2015-10-02  863  	/* Parse PSD data for this CPU */
337aadff8e4567 Ashwin Chaugule     2015-10-02  864  	ret = acpi_get_psd(cpc_ptr, handle);
337aadff8e4567 Ashwin Chaugule     2015-10-02  865  	if (ret)
337aadff8e4567 Ashwin Chaugule     2015-10-02  866  		goto out_free;
337aadff8e4567 Ashwin Chaugule     2015-10-02  867  
603fadf33604a2 Bjorn Helgaas       2019-03-25  868  	/* Register PCC channel once for all PCC subspace ID. */
85b1407bf6d2f4 George Cherian      2017-10-11  869  	if (pcc_subspace_id >= 0 && !pcc_data[pcc_subspace_id]->pcc_channel_acquired) {
85b1407bf6d2f4 George Cherian      2017-10-11  870  		ret = register_pcc_channel(pcc_subspace_id);
337aadff8e4567 Ashwin Chaugule     2015-10-02  871  		if (ret)
337aadff8e4567 Ashwin Chaugule     2015-10-02  872  			goto out_free;
8482ef8c6e684a Prakash, Prashanth  2016-08-16  873  
85b1407bf6d2f4 George Cherian      2017-10-11  874  		init_rwsem(&pcc_data[pcc_subspace_id]->pcc_lock);
85b1407bf6d2f4 George Cherian      2017-10-11  875  		init_waitqueue_head(&pcc_data[pcc_subspace_id]->pcc_write_wait_q);
337aadff8e4567 Ashwin Chaugule     2015-10-02  876  	}
337aadff8e4567 Ashwin Chaugule     2015-10-02  877  
337aadff8e4567 Ashwin Chaugule     2015-10-02  878  	/* Everything looks okay */
337aadff8e4567 Ashwin Chaugule     2015-10-02  879  	pr_debug("Parsed CPC struct for CPU: %d\n", pr->id);
337aadff8e4567 Ashwin Chaugule     2015-10-02  880  
158c998ea44ba3 Ashwin Chaugule     2016-08-16  881  	/* Add per logical CPU nodes for reading its feedback counters. */
158c998ea44ba3 Ashwin Chaugule     2016-08-16  882  	cpu_dev = get_cpu_device(pr->id);
501634759d55a5 Dan Carpenter       2016-11-30  883  	if (!cpu_dev) {
501634759d55a5 Dan Carpenter       2016-11-30  884  		ret = -EINVAL;
158c998ea44ba3 Ashwin Chaugule     2016-08-16  885  		goto out_free;
501634759d55a5 Dan Carpenter       2016-11-30  886  	}
158c998ea44ba3 Ashwin Chaugule     2016-08-16  887  
603fadf33604a2 Bjorn Helgaas       2019-03-25  888  	/* Plug PSD data into this CPU's CPC descriptor. */
28076483afac9d Rafael J. Wysocki   2016-12-10  889  	per_cpu(cpc_desc_ptr, pr->id) = cpc_ptr;
28076483afac9d Rafael J. Wysocki   2016-12-10  890  
158c998ea44ba3 Ashwin Chaugule     2016-08-16  891  	ret = kobject_init_and_add(&cpc_ptr->kobj, &cppc_ktype, &cpu_dev->kobj,
158c998ea44ba3 Ashwin Chaugule     2016-08-16  892  			"acpi_cppc");
28076483afac9d Rafael J. Wysocki   2016-12-10  893  	if (ret) {
28076483afac9d Rafael J. Wysocki   2016-12-10  894  		per_cpu(cpc_desc_ptr, pr->id) = NULL;
4d8be4bc94f74b Qiushi Wu           2020-05-27  895  		kobject_put(&cpc_ptr->kobj);
158c998ea44ba3 Ashwin Chaugule     2016-08-16  896  		goto out_free;
28076483afac9d Rafael J. Wysocki   2016-12-10  897  	}
158c998ea44ba3 Ashwin Chaugule     2016-08-16  898  
1132e6de11cfc3 Ionela Voinescu     2022-03-10  899  	arch_init_invariance_cppc();
41ea667227bad5 Nathan Fontenot     2020-11-12  900  
337aadff8e4567 Ashwin Chaugule     2015-10-02  901  	kfree(output.pointer);
337aadff8e4567 Ashwin Chaugule     2015-10-02  902  	return 0;
337aadff8e4567 Ashwin Chaugule     2015-10-02  903  
337aadff8e4567 Ashwin Chaugule     2015-10-02  904  out_free:
5bbb86aa4b8d84 Ashwin Chaugule     2016-08-16  905  	/* Free all the mapped sys mem areas for this CPU */
5bbb86aa4b8d84 Ashwin Chaugule     2016-08-16  906  	for (i = 2; i < cpc_ptr->num_entries; i++) {
5bbb86aa4b8d84 Ashwin Chaugule     2016-08-16  907  		void __iomem *addr = cpc_ptr->cpc_regs[i-2].sys_mem_vaddr;
5bbb86aa4b8d84 Ashwin Chaugule     2016-08-16  908  
5bbb86aa4b8d84 Ashwin Chaugule     2016-08-16  909  		if (addr)
5bbb86aa4b8d84 Ashwin Chaugule     2016-08-16  910  			iounmap(addr);
5bbb86aa4b8d84 Ashwin Chaugule     2016-08-16  911  	}
337aadff8e4567 Ashwin Chaugule     2015-10-02  912  	kfree(cpc_ptr);
337aadff8e4567 Ashwin Chaugule     2015-10-02  913  
337aadff8e4567 Ashwin Chaugule     2015-10-02  914  out_buf_free:
337aadff8e4567 Ashwin Chaugule     2015-10-02  915  	kfree(output.pointer);
337aadff8e4567 Ashwin Chaugule     2015-10-02  916  	return ret;
337aadff8e4567 Ashwin Chaugule     2015-10-02  917  }
337aadff8e4567 Ashwin Chaugule     2015-10-02  918  EXPORT_SYMBOL_GPL(acpi_cppc_processor_probe);
337aadff8e4567 Ashwin Chaugule     2015-10-02  919  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

      parent reply	other threads:[~2024-06-18 18:32 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-18  2:54 [PATCH] acpi: Allow ignoring _OSC CPPC v2 bit via kernel parameter Aaron Rainbolt
2024-06-18 17:09 ` Mario Limonciello
2024-06-18 18:30   ` Aaron Rainbolt
2024-06-18 18:35     ` Mario Limonciello
2024-06-18 18:52       ` Aaron Rainbolt
2024-06-18 18:58         ` Mario Limonciello
2024-06-18 19:25           ` Aaron Rainbolt
2024-06-18 19:27             ` Mario Limonciello
2024-06-18 20:25               ` [PATCH V2 RFC] " Aaron Rainbolt
2024-06-18 20:58                 ` Aaron Rainbolt
2024-06-18 21:24                 ` Mario Limonciello
2024-06-18 21:47                   ` Aaron Rainbolt
2024-06-19  4:33                     ` [PATCH V3] " Aaron Rainbolt
2024-06-19  5:08                       ` Mario Limonciello
2024-06-19 17:09                       ` Rafael J. Wysocki
2024-06-19 17:30                         ` Rafael J. Wysocki
2024-06-19 17:44                           ` Aaron Rainbolt
2024-06-19 17:56                           ` Aaron Rainbolt
2024-06-19 21:39                           ` Aaron Rainbolt
2024-06-19 22:19                             ` Aaron Rainbolt
2024-06-20  1:05                               ` Aaron Rainbolt
2024-06-20 15:40                                 ` Rafael J. Wysocki
2024-06-19 17:34                         ` Aaron Rainbolt
2024-06-19 17:37                           ` Rafael J. Wysocki
2024-06-18 18:31 ` kernel test robot [this message]

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=202406190206.Z56zEzTy-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=arainbolt@kfocus.org \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mario.limonciello@amd.com \
    --cc=mmikowski@kfocus.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=rafael@kernel.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 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.