All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [rui:amd-pstate-dev-v6 6/14] drivers/acpi/cppc_acpi.c:835: undefined reference to `init_freq_invariance_cppc'
Date: Tue, 21 Dec 2021 15:30:09 +0800	[thread overview]
Message-ID: <202112211548.IPdIhNzu-lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 19913 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/rui/linux.git amd-pstate-dev-v6
head:   866b93666b8eda290cd2ba77dc62032d12cbe658
commit: 3b66518485fd57f60b2f9fce4e291529558547c5 [6/14] cpufreq: amd-pstate: introduce a new AMD P-State driver to support future processors
config: x86_64-randconfig-p001-20211220 (https://download.01.org/0day-ci/archive/20211221/202112211548.IPdIhNzu-lkp(a)intel.com/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
        # https://git.kernel.org/pub/scm/linux/kernel/git/rui/linux.git/commit/?id=3b66518485fd57f60b2f9fce4e291529558547c5
        git remote add rui https://git.kernel.org/pub/scm/linux/kernel/git/rui/linux.git
        git fetch --no-tags rui amd-pstate-dev-v6
        git checkout 3b66518485fd57f60b2f9fce4e291529558547c5
        # save the config file to linux build tree
        mkdir build_dir
        make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   vmlinux.o: warning: objtool: kvm_spurious_fault()+0x19: call to ftrace_likely_update() leaves .noinstr.text section
   vmlinux.o: warning: objtool: __wrgsbase_inactive()+0x29: call to ftrace_likely_update() leaves .noinstr.text section
   vmlinux.o: warning: objtool: __rdgsbase_inactive()+0x26: call to ftrace_likely_update() leaves .noinstr.text section
   vmlinux.o: warning: objtool: fixup_bad_iret()+0x84: call to ftrace_likely_update() leaves .noinstr.text section
   vmlinux.o: warning: objtool: noist_exc_debug()+0x4c: call to ftrace_likely_update() leaves .noinstr.text section
   vmlinux.o: warning: objtool: exc_nmi()+0xaa: call to ftrace_likely_update() leaves .noinstr.text section
   vmlinux.o: warning: objtool: poke_int3_handler()+0x3e: call to ftrace_likely_update() leaves .noinstr.text section
   vmlinux.o: warning: objtool: irqentry_nmi_enter()+0x45: call to ftrace_likely_update() leaves .noinstr.text section
   vmlinux.o: warning: objtool: irqentry_nmi_exit()+0x3c: call to ftrace_likely_update() leaves .noinstr.text section
   vmlinux.o: warning: objtool: enter_from_user_mode()+0x38: call to ftrace_likely_update() leaves .noinstr.text section
   vmlinux.o: warning: objtool: syscall_enter_from_user_mode()+0x3d: call to ftrace_likely_update() leaves .noinstr.text section
   vmlinux.o: warning: objtool: syscall_enter_from_user_mode_prepare()+0x38: call to ftrace_likely_update() leaves .noinstr.text section
   vmlinux.o: warning: objtool: irqentry_enter_from_user_mode()+0x38: call to ftrace_likely_update() leaves .noinstr.text section
   vmlinux.o: warning: objtool: irqentry_exit()+0x2b: call to ftrace_likely_update() leaves .noinstr.text section
   ld: drivers/acpi/cppc_acpi.o: in function `acpi_cppc_processor_probe':
>> drivers/acpi/cppc_acpi.c:835: undefined reference to `init_freq_invariance_cppc'


vim +835 drivers/acpi/cppc_acpi.c

41ea667227bad5c Nathan Fontenot     2020-11-12  655  
337aadff8e4567e Ashwin Chaugule     2015-10-02  656  /**
337aadff8e4567e Ashwin Chaugule     2015-10-02  657   * acpi_cppc_processor_probe - Search for per CPU _CPC objects.
603fadf33604a2e Bjorn Helgaas       2019-03-25  658   * @pr: Ptr to acpi_processor containing this CPU's logical ID.
337aadff8e4567e Ashwin Chaugule     2015-10-02  659   *
337aadff8e4567e Ashwin Chaugule     2015-10-02  660   *	Return: 0 for success or negative value for err.
337aadff8e4567e Ashwin Chaugule     2015-10-02  661   */
337aadff8e4567e Ashwin Chaugule     2015-10-02  662  int acpi_cppc_processor_probe(struct acpi_processor *pr)
337aadff8e4567e Ashwin Chaugule     2015-10-02  663  {
337aadff8e4567e Ashwin Chaugule     2015-10-02  664  	struct acpi_buffer output = {ACPI_ALLOCATE_BUFFER, NULL};
337aadff8e4567e Ashwin Chaugule     2015-10-02  665  	union acpi_object *out_obj, *cpc_obj;
337aadff8e4567e Ashwin Chaugule     2015-10-02  666  	struct cpc_desc *cpc_ptr;
337aadff8e4567e Ashwin Chaugule     2015-10-02  667  	struct cpc_reg *gas_t;
158c998ea44ba30 Ashwin Chaugule     2016-08-16  668  	struct device *cpu_dev;
337aadff8e4567e Ashwin Chaugule     2015-10-02  669  	acpi_handle handle = pr->handle;
337aadff8e4567e Ashwin Chaugule     2015-10-02  670  	unsigned int num_ent, i, cpc_rev;
85b1407bf6d2f4a George Cherian      2017-10-11  671  	int pcc_subspace_id = -1;
337aadff8e4567e Ashwin Chaugule     2015-10-02  672  	acpi_status status;
337aadff8e4567e Ashwin Chaugule     2015-10-02  673  	int ret = -EFAULT;
337aadff8e4567e Ashwin Chaugule     2015-10-02  674  
603fadf33604a2e Bjorn Helgaas       2019-03-25  675  	/* Parse the ACPI _CPC table for this CPU. */
337aadff8e4567e Ashwin Chaugule     2015-10-02  676  	status = acpi_evaluate_object_typed(handle, "_CPC", NULL, &output,
337aadff8e4567e Ashwin Chaugule     2015-10-02  677  			ACPI_TYPE_PACKAGE);
337aadff8e4567e Ashwin Chaugule     2015-10-02  678  	if (ACPI_FAILURE(status)) {
337aadff8e4567e Ashwin Chaugule     2015-10-02  679  		ret = -ENODEV;
337aadff8e4567e Ashwin Chaugule     2015-10-02  680  		goto out_buf_free;
337aadff8e4567e Ashwin Chaugule     2015-10-02  681  	}
337aadff8e4567e Ashwin Chaugule     2015-10-02  682  
337aadff8e4567e Ashwin Chaugule     2015-10-02  683  	out_obj = (union acpi_object *) output.pointer;
337aadff8e4567e Ashwin Chaugule     2015-10-02  684  
337aadff8e4567e Ashwin Chaugule     2015-10-02  685  	cpc_ptr = kzalloc(sizeof(struct cpc_desc), GFP_KERNEL);
337aadff8e4567e Ashwin Chaugule     2015-10-02  686  	if (!cpc_ptr) {
337aadff8e4567e Ashwin Chaugule     2015-10-02  687  		ret = -ENOMEM;
337aadff8e4567e Ashwin Chaugule     2015-10-02  688  		goto out_buf_free;
337aadff8e4567e Ashwin Chaugule     2015-10-02  689  	}
337aadff8e4567e Ashwin Chaugule     2015-10-02  690  
337aadff8e4567e Ashwin Chaugule     2015-10-02  691  	/* First entry is NumEntries. */
337aadff8e4567e Ashwin Chaugule     2015-10-02  692  	cpc_obj = &out_obj->package.elements[0];
337aadff8e4567e Ashwin Chaugule     2015-10-02  693  	if (cpc_obj->type == ACPI_TYPE_INTEGER)	{
337aadff8e4567e Ashwin Chaugule     2015-10-02  694  		num_ent = cpc_obj->integer.value;
337aadff8e4567e Ashwin Chaugule     2015-10-02  695  	} else {
337aadff8e4567e Ashwin Chaugule     2015-10-02  696  		pr_debug("Unexpected entry type(%d) for NumEntries\n",
337aadff8e4567e Ashwin Chaugule     2015-10-02  697  				cpc_obj->type);
337aadff8e4567e Ashwin Chaugule     2015-10-02  698  		goto out_free;
337aadff8e4567e Ashwin Chaugule     2015-10-02  699  	}
5bbb86aa4b8d843 Ashwin Chaugule     2016-08-16  700  	cpc_ptr->num_entries = num_ent;
5bbb86aa4b8d843 Ashwin Chaugule     2016-08-16  701  
337aadff8e4567e Ashwin Chaugule     2015-10-02  702  	/* Second entry should be revision. */
337aadff8e4567e Ashwin Chaugule     2015-10-02  703  	cpc_obj = &out_obj->package.elements[1];
337aadff8e4567e Ashwin Chaugule     2015-10-02  704  	if (cpc_obj->type == ACPI_TYPE_INTEGER)	{
337aadff8e4567e Ashwin Chaugule     2015-10-02  705  		cpc_rev = cpc_obj->integer.value;
337aadff8e4567e Ashwin Chaugule     2015-10-02  706  	} else {
337aadff8e4567e Ashwin Chaugule     2015-10-02  707  		pr_debug("Unexpected entry type(%d) for Revision\n",
337aadff8e4567e Ashwin Chaugule     2015-10-02  708  				cpc_obj->type);
337aadff8e4567e Ashwin Chaugule     2015-10-02  709  		goto out_free;
337aadff8e4567e Ashwin Chaugule     2015-10-02  710  	}
4773e77cdc9b3af Prashanth Prakash   2018-04-04  711  	cpc_ptr->version = cpc_rev;
337aadff8e4567e Ashwin Chaugule     2015-10-02  712  
4773e77cdc9b3af Prashanth Prakash   2018-04-04  713  	if (!is_cppc_supported(cpc_rev, num_ent))
337aadff8e4567e Ashwin Chaugule     2015-10-02  714  		goto out_free;
337aadff8e4567e Ashwin Chaugule     2015-10-02  715  
337aadff8e4567e Ashwin Chaugule     2015-10-02  716  	/* Iterate through remaining entries in _CPC */
337aadff8e4567e Ashwin Chaugule     2015-10-02  717  	for (i = 2; i < num_ent; i++) {
337aadff8e4567e Ashwin Chaugule     2015-10-02  718  		cpc_obj = &out_obj->package.elements[i];
337aadff8e4567e Ashwin Chaugule     2015-10-02  719  
337aadff8e4567e Ashwin Chaugule     2015-10-02  720  		if (cpc_obj->type == ACPI_TYPE_INTEGER)	{
337aadff8e4567e Ashwin Chaugule     2015-10-02  721  			cpc_ptr->cpc_regs[i-2].type = ACPI_TYPE_INTEGER;
337aadff8e4567e Ashwin Chaugule     2015-10-02  722  			cpc_ptr->cpc_regs[i-2].cpc_entry.int_value = cpc_obj->integer.value;
337aadff8e4567e Ashwin Chaugule     2015-10-02  723  		} else if (cpc_obj->type == ACPI_TYPE_BUFFER) {
337aadff8e4567e Ashwin Chaugule     2015-10-02  724  			gas_t = (struct cpc_reg *)
337aadff8e4567e Ashwin Chaugule     2015-10-02  725  				cpc_obj->buffer.pointer;
337aadff8e4567e Ashwin Chaugule     2015-10-02  726  
337aadff8e4567e Ashwin Chaugule     2015-10-02  727  			/*
337aadff8e4567e Ashwin Chaugule     2015-10-02  728  			 * The PCC Subspace index is encoded inside
337aadff8e4567e Ashwin Chaugule     2015-10-02  729  			 * the CPC table entries. The same PCC index
337aadff8e4567e Ashwin Chaugule     2015-10-02  730  			 * will be used for all the PCC entries,
337aadff8e4567e Ashwin Chaugule     2015-10-02  731  			 * so extract it only once.
337aadff8e4567e Ashwin Chaugule     2015-10-02  732  			 */
337aadff8e4567e Ashwin Chaugule     2015-10-02  733  			if (gas_t->space_id == ACPI_ADR_SPACE_PLATFORM_COMM) {
85b1407bf6d2f4a George Cherian      2017-10-11  734  				if (pcc_subspace_id < 0) {
85b1407bf6d2f4a George Cherian      2017-10-11  735  					pcc_subspace_id = gas_t->access_width;
85b1407bf6d2f4a George Cherian      2017-10-11  736  					if (pcc_data_alloc(pcc_subspace_id))
85b1407bf6d2f4a George Cherian      2017-10-11  737  						goto out_free;
85b1407bf6d2f4a George Cherian      2017-10-11  738  				} else if (pcc_subspace_id != gas_t->access_width) {
337aadff8e4567e Ashwin Chaugule     2015-10-02  739  					pr_debug("Mismatched PCC ids.\n");
337aadff8e4567e Ashwin Chaugule     2015-10-02  740  					goto out_free;
337aadff8e4567e Ashwin Chaugule     2015-10-02  741  				}
5bbb86aa4b8d843 Ashwin Chaugule     2016-08-16  742  			} else if (gas_t->space_id == ACPI_ADR_SPACE_SYSTEM_MEMORY) {
5bbb86aa4b8d843 Ashwin Chaugule     2016-08-16  743  				if (gas_t->address) {
5bbb86aa4b8d843 Ashwin Chaugule     2016-08-16  744  					void __iomem *addr;
5bbb86aa4b8d843 Ashwin Chaugule     2016-08-16  745  
5bbb86aa4b8d843 Ashwin Chaugule     2016-08-16  746  					addr = ioremap(gas_t->address, gas_t->bit_width/8);
5bbb86aa4b8d843 Ashwin Chaugule     2016-08-16  747  					if (!addr)
5bbb86aa4b8d843 Ashwin Chaugule     2016-08-16  748  						goto out_free;
5bbb86aa4b8d843 Ashwin Chaugule     2016-08-16  749  					cpc_ptr->cpc_regs[i-2].sys_mem_vaddr = addr;
5bbb86aa4b8d843 Ashwin Chaugule     2016-08-16  750  				}
5b7602759293620 Steven Noonan       2021-10-27  751  			} else if (gas_t->space_id == ACPI_ADR_SPACE_SYSTEM_IO) {
5b7602759293620 Steven Noonan       2021-10-27  752  				if (gas_t->access_width < 1 || gas_t->access_width > 3) {
5b7602759293620 Steven Noonan       2021-10-27  753  					/*
5b7602759293620 Steven Noonan       2021-10-27  754  					 * 1 = 8-bit, 2 = 16-bit, and 3 = 32-bit.
5b7602759293620 Steven Noonan       2021-10-27  755  					 * SystemIO doesn't implement 64-bit
5b7602759293620 Steven Noonan       2021-10-27  756  					 * registers.
5b7602759293620 Steven Noonan       2021-10-27  757  					 */
5b7602759293620 Steven Noonan       2021-10-27  758  					pr_debug("Invalid access width %d for SystemIO register\n",
5b7602759293620 Steven Noonan       2021-10-27  759  						gas_t->access_width);
5b7602759293620 Steven Noonan       2021-10-27  760  					goto out_free;
5b7602759293620 Steven Noonan       2021-10-27  761  				}
5b7602759293620 Steven Noonan       2021-10-27  762  				if (gas_t->address & OVER_16BTS_MASK) {
5b7602759293620 Steven Noonan       2021-10-27  763  					/* SystemIO registers use 16-bit integer addresses */
5b7602759293620 Steven Noonan       2021-10-27  764  					pr_debug("Invalid IO port %llu for SystemIO register\n",
5b7602759293620 Steven Noonan       2021-10-27  765  						gas_t->address);
5b7602759293620 Steven Noonan       2021-10-27  766  					goto out_free;
5b7602759293620 Steven Noonan       2021-10-27  767  				}
5bbb86aa4b8d843 Ashwin Chaugule     2016-08-16  768  			} else {
a6cbcdd5ab5f242 Srinivas Pandruvada 2016-09-01  769  				if (gas_t->space_id != ACPI_ADR_SPACE_FIXED_HARDWARE || !cpc_ffh_supported()) {
5b7602759293620 Steven Noonan       2021-10-27  770  					/* Support only PCC, SystemMemory, SystemIO, and FFH type regs. */
337aadff8e4567e Ashwin Chaugule     2015-10-02  771  					pr_debug("Unsupported register type: %d\n", gas_t->space_id);
337aadff8e4567e Ashwin Chaugule     2015-10-02  772  					goto out_free;
337aadff8e4567e Ashwin Chaugule     2015-10-02  773  				}
a6cbcdd5ab5f242 Srinivas Pandruvada 2016-09-01  774  			}
337aadff8e4567e Ashwin Chaugule     2015-10-02  775  
337aadff8e4567e Ashwin Chaugule     2015-10-02  776  			cpc_ptr->cpc_regs[i-2].type = ACPI_TYPE_BUFFER;
337aadff8e4567e Ashwin Chaugule     2015-10-02  777  			memcpy(&cpc_ptr->cpc_regs[i-2].cpc_entry.reg, gas_t, sizeof(*gas_t));
337aadff8e4567e Ashwin Chaugule     2015-10-02  778  		} else {
337aadff8e4567e Ashwin Chaugule     2015-10-02  779  			pr_debug("Err in entry:%d in CPC table of CPU:%d\n", i, pr->id);
337aadff8e4567e Ashwin Chaugule     2015-10-02  780  			goto out_free;
337aadff8e4567e Ashwin Chaugule     2015-10-02  781  		}
337aadff8e4567e Ashwin Chaugule     2015-10-02  782  	}
85b1407bf6d2f4a George Cherian      2017-10-11  783  	per_cpu(cpu_pcc_subspace_idx, pr->id) = pcc_subspace_id;
4773e77cdc9b3af Prashanth Prakash   2018-04-04  784  
4773e77cdc9b3af Prashanth Prakash   2018-04-04  785  	/*
4773e77cdc9b3af Prashanth Prakash   2018-04-04  786  	 * Initialize the remaining cpc_regs as unsupported.
4773e77cdc9b3af Prashanth Prakash   2018-04-04  787  	 * Example: In case FW exposes CPPC v2, the below loop will initialize
4773e77cdc9b3af Prashanth Prakash   2018-04-04  788  	 * LOWEST_FREQ and NOMINAL_FREQ regs as unsupported
4773e77cdc9b3af Prashanth Prakash   2018-04-04  789  	 */
4773e77cdc9b3af Prashanth Prakash   2018-04-04  790  	for (i = num_ent - 2; i < MAX_CPC_REG_ENT; i++) {
4773e77cdc9b3af Prashanth Prakash   2018-04-04  791  		cpc_ptr->cpc_regs[i].type = ACPI_TYPE_INTEGER;
4773e77cdc9b3af Prashanth Prakash   2018-04-04  792  		cpc_ptr->cpc_regs[i].cpc_entry.int_value = 0;
4773e77cdc9b3af Prashanth Prakash   2018-04-04  793  	}
4773e77cdc9b3af Prashanth Prakash   2018-04-04  794  
4773e77cdc9b3af Prashanth Prakash   2018-04-04  795  
337aadff8e4567e Ashwin Chaugule     2015-10-02  796  	/* Store CPU Logical ID */
337aadff8e4567e Ashwin Chaugule     2015-10-02  797  	cpc_ptr->cpu_id = pr->id;
337aadff8e4567e Ashwin Chaugule     2015-10-02  798  
337aadff8e4567e Ashwin Chaugule     2015-10-02  799  	/* Parse PSD data for this CPU */
337aadff8e4567e Ashwin Chaugule     2015-10-02  800  	ret = acpi_get_psd(cpc_ptr, handle);
337aadff8e4567e Ashwin Chaugule     2015-10-02  801  	if (ret)
337aadff8e4567e Ashwin Chaugule     2015-10-02  802  		goto out_free;
337aadff8e4567e Ashwin Chaugule     2015-10-02  803  
603fadf33604a2e Bjorn Helgaas       2019-03-25  804  	/* Register PCC channel once for all PCC subspace ID. */
85b1407bf6d2f4a George Cherian      2017-10-11  805  	if (pcc_subspace_id >= 0 && !pcc_data[pcc_subspace_id]->pcc_channel_acquired) {
85b1407bf6d2f4a George Cherian      2017-10-11  806  		ret = register_pcc_channel(pcc_subspace_id);
337aadff8e4567e Ashwin Chaugule     2015-10-02  807  		if (ret)
337aadff8e4567e Ashwin Chaugule     2015-10-02  808  			goto out_free;
8482ef8c6e684a1 Prakash, Prashanth  2016-08-16  809  
85b1407bf6d2f4a George Cherian      2017-10-11  810  		init_rwsem(&pcc_data[pcc_subspace_id]->pcc_lock);
85b1407bf6d2f4a George Cherian      2017-10-11  811  		init_waitqueue_head(&pcc_data[pcc_subspace_id]->pcc_write_wait_q);
337aadff8e4567e Ashwin Chaugule     2015-10-02  812  	}
337aadff8e4567e Ashwin Chaugule     2015-10-02  813  
337aadff8e4567e Ashwin Chaugule     2015-10-02  814  	/* Everything looks okay */
337aadff8e4567e Ashwin Chaugule     2015-10-02  815  	pr_debug("Parsed CPC struct for CPU: %d\n", pr->id);
337aadff8e4567e Ashwin Chaugule     2015-10-02  816  
158c998ea44ba30 Ashwin Chaugule     2016-08-16  817  	/* Add per logical CPU nodes for reading its feedback counters. */
158c998ea44ba30 Ashwin Chaugule     2016-08-16  818  	cpu_dev = get_cpu_device(pr->id);
501634759d55a5b Dan Carpenter       2016-11-30  819  	if (!cpu_dev) {
501634759d55a5b Dan Carpenter       2016-11-30  820  		ret = -EINVAL;
158c998ea44ba30 Ashwin Chaugule     2016-08-16  821  		goto out_free;
501634759d55a5b Dan Carpenter       2016-11-30  822  	}
158c998ea44ba30 Ashwin Chaugule     2016-08-16  823  
603fadf33604a2e Bjorn Helgaas       2019-03-25  824  	/* Plug PSD data into this CPU's CPC descriptor. */
28076483afac9dd Rafael J. Wysocki   2016-12-10  825  	per_cpu(cpc_desc_ptr, pr->id) = cpc_ptr;
28076483afac9dd Rafael J. Wysocki   2016-12-10  826  
158c998ea44ba30 Ashwin Chaugule     2016-08-16  827  	ret = kobject_init_and_add(&cpc_ptr->kobj, &cppc_ktype, &cpu_dev->kobj,
158c998ea44ba30 Ashwin Chaugule     2016-08-16  828  			"acpi_cppc");
28076483afac9dd Rafael J. Wysocki   2016-12-10  829  	if (ret) {
28076483afac9dd Rafael J. Wysocki   2016-12-10  830  		per_cpu(cpc_desc_ptr, pr->id) = NULL;
4d8be4bc94f74bb Qiushi Wu           2020-05-27  831  		kobject_put(&cpc_ptr->kobj);
158c998ea44ba30 Ashwin Chaugule     2016-08-16  832  		goto out_free;
28076483afac9dd Rafael J. Wysocki   2016-12-10  833  	}
158c998ea44ba30 Ashwin Chaugule     2016-08-16  834  
41ea667227bad5c Nathan Fontenot     2020-11-12 @835  	init_freq_invariance_cppc();
41ea667227bad5c Nathan Fontenot     2020-11-12  836  
337aadff8e4567e Ashwin Chaugule     2015-10-02  837  	kfree(output.pointer);
337aadff8e4567e Ashwin Chaugule     2015-10-02  838  	return 0;
337aadff8e4567e Ashwin Chaugule     2015-10-02  839  
337aadff8e4567e Ashwin Chaugule     2015-10-02  840  out_free:
5bbb86aa4b8d843 Ashwin Chaugule     2016-08-16  841  	/* Free all the mapped sys mem areas for this CPU */
5bbb86aa4b8d843 Ashwin Chaugule     2016-08-16  842  	for (i = 2; i < cpc_ptr->num_entries; i++) {
5bbb86aa4b8d843 Ashwin Chaugule     2016-08-16  843  		void __iomem *addr = cpc_ptr->cpc_regs[i-2].sys_mem_vaddr;
5bbb86aa4b8d843 Ashwin Chaugule     2016-08-16  844  
5bbb86aa4b8d843 Ashwin Chaugule     2016-08-16  845  		if (addr)
5bbb86aa4b8d843 Ashwin Chaugule     2016-08-16  846  			iounmap(addr);
5bbb86aa4b8d843 Ashwin Chaugule     2016-08-16  847  	}
337aadff8e4567e Ashwin Chaugule     2015-10-02  848  	kfree(cpc_ptr);
337aadff8e4567e Ashwin Chaugule     2015-10-02  849  
337aadff8e4567e Ashwin Chaugule     2015-10-02  850  out_buf_free:
337aadff8e4567e Ashwin Chaugule     2015-10-02  851  	kfree(output.pointer);
337aadff8e4567e Ashwin Chaugule     2015-10-02  852  	return ret;
337aadff8e4567e Ashwin Chaugule     2015-10-02  853  }
337aadff8e4567e Ashwin Chaugule     2015-10-02  854  EXPORT_SYMBOL_GPL(acpi_cppc_processor_probe);
337aadff8e4567e Ashwin Chaugule     2015-10-02  855  

:::::: The code at line 835 was first introduced by commit
:::::: 41ea667227bad5c247d76e6605054e96e4d95f51 x86, sched: Calculate frequency invariance for AMD systems

:::::: TO: Nathan Fontenot <nathan.fontenot@amd.com>
:::::: CC: Ingo Molnar <mingo@kernel.org>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: Huang Rui <ray.huang@amd.com>
Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org
Subject: [rui:amd-pstate-dev-v6 6/14] drivers/acpi/cppc_acpi.c:835: undefined reference to `init_freq_invariance_cppc'
Date: Tue, 21 Dec 2021 15:30:09 +0800	[thread overview]
Message-ID: <202112211548.IPdIhNzu-lkp@intel.com> (raw)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/rui/linux.git amd-pstate-dev-v6
head:   866b93666b8eda290cd2ba77dc62032d12cbe658
commit: 3b66518485fd57f60b2f9fce4e291529558547c5 [6/14] cpufreq: amd-pstate: introduce a new AMD P-State driver to support future processors
config: x86_64-randconfig-p001-20211220 (https://download.01.org/0day-ci/archive/20211221/202112211548.IPdIhNzu-lkp@intel.com/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
        # https://git.kernel.org/pub/scm/linux/kernel/git/rui/linux.git/commit/?id=3b66518485fd57f60b2f9fce4e291529558547c5
        git remote add rui https://git.kernel.org/pub/scm/linux/kernel/git/rui/linux.git
        git fetch --no-tags rui amd-pstate-dev-v6
        git checkout 3b66518485fd57f60b2f9fce4e291529558547c5
        # save the config file to linux build tree
        mkdir build_dir
        make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   vmlinux.o: warning: objtool: kvm_spurious_fault()+0x19: call to ftrace_likely_update() leaves .noinstr.text section
   vmlinux.o: warning: objtool: __wrgsbase_inactive()+0x29: call to ftrace_likely_update() leaves .noinstr.text section
   vmlinux.o: warning: objtool: __rdgsbase_inactive()+0x26: call to ftrace_likely_update() leaves .noinstr.text section
   vmlinux.o: warning: objtool: fixup_bad_iret()+0x84: call to ftrace_likely_update() leaves .noinstr.text section
   vmlinux.o: warning: objtool: noist_exc_debug()+0x4c: call to ftrace_likely_update() leaves .noinstr.text section
   vmlinux.o: warning: objtool: exc_nmi()+0xaa: call to ftrace_likely_update() leaves .noinstr.text section
   vmlinux.o: warning: objtool: poke_int3_handler()+0x3e: call to ftrace_likely_update() leaves .noinstr.text section
   vmlinux.o: warning: objtool: irqentry_nmi_enter()+0x45: call to ftrace_likely_update() leaves .noinstr.text section
   vmlinux.o: warning: objtool: irqentry_nmi_exit()+0x3c: call to ftrace_likely_update() leaves .noinstr.text section
   vmlinux.o: warning: objtool: enter_from_user_mode()+0x38: call to ftrace_likely_update() leaves .noinstr.text section
   vmlinux.o: warning: objtool: syscall_enter_from_user_mode()+0x3d: call to ftrace_likely_update() leaves .noinstr.text section
   vmlinux.o: warning: objtool: syscall_enter_from_user_mode_prepare()+0x38: call to ftrace_likely_update() leaves .noinstr.text section
   vmlinux.o: warning: objtool: irqentry_enter_from_user_mode()+0x38: call to ftrace_likely_update() leaves .noinstr.text section
   vmlinux.o: warning: objtool: irqentry_exit()+0x2b: call to ftrace_likely_update() leaves .noinstr.text section
   ld: drivers/acpi/cppc_acpi.o: in function `acpi_cppc_processor_probe':
>> drivers/acpi/cppc_acpi.c:835: undefined reference to `init_freq_invariance_cppc'


vim +835 drivers/acpi/cppc_acpi.c

41ea667227bad5c Nathan Fontenot     2020-11-12  655  
337aadff8e4567e Ashwin Chaugule     2015-10-02  656  /**
337aadff8e4567e Ashwin Chaugule     2015-10-02  657   * acpi_cppc_processor_probe - Search for per CPU _CPC objects.
603fadf33604a2e Bjorn Helgaas       2019-03-25  658   * @pr: Ptr to acpi_processor containing this CPU's logical ID.
337aadff8e4567e Ashwin Chaugule     2015-10-02  659   *
337aadff8e4567e Ashwin Chaugule     2015-10-02  660   *	Return: 0 for success or negative value for err.
337aadff8e4567e Ashwin Chaugule     2015-10-02  661   */
337aadff8e4567e Ashwin Chaugule     2015-10-02  662  int acpi_cppc_processor_probe(struct acpi_processor *pr)
337aadff8e4567e Ashwin Chaugule     2015-10-02  663  {
337aadff8e4567e Ashwin Chaugule     2015-10-02  664  	struct acpi_buffer output = {ACPI_ALLOCATE_BUFFER, NULL};
337aadff8e4567e Ashwin Chaugule     2015-10-02  665  	union acpi_object *out_obj, *cpc_obj;
337aadff8e4567e Ashwin Chaugule     2015-10-02  666  	struct cpc_desc *cpc_ptr;
337aadff8e4567e Ashwin Chaugule     2015-10-02  667  	struct cpc_reg *gas_t;
158c998ea44ba30 Ashwin Chaugule     2016-08-16  668  	struct device *cpu_dev;
337aadff8e4567e Ashwin Chaugule     2015-10-02  669  	acpi_handle handle = pr->handle;
337aadff8e4567e Ashwin Chaugule     2015-10-02  670  	unsigned int num_ent, i, cpc_rev;
85b1407bf6d2f4a George Cherian      2017-10-11  671  	int pcc_subspace_id = -1;
337aadff8e4567e Ashwin Chaugule     2015-10-02  672  	acpi_status status;
337aadff8e4567e Ashwin Chaugule     2015-10-02  673  	int ret = -EFAULT;
337aadff8e4567e Ashwin Chaugule     2015-10-02  674  
603fadf33604a2e Bjorn Helgaas       2019-03-25  675  	/* Parse the ACPI _CPC table for this CPU. */
337aadff8e4567e Ashwin Chaugule     2015-10-02  676  	status = acpi_evaluate_object_typed(handle, "_CPC", NULL, &output,
337aadff8e4567e Ashwin Chaugule     2015-10-02  677  			ACPI_TYPE_PACKAGE);
337aadff8e4567e Ashwin Chaugule     2015-10-02  678  	if (ACPI_FAILURE(status)) {
337aadff8e4567e Ashwin Chaugule     2015-10-02  679  		ret = -ENODEV;
337aadff8e4567e Ashwin Chaugule     2015-10-02  680  		goto out_buf_free;
337aadff8e4567e Ashwin Chaugule     2015-10-02  681  	}
337aadff8e4567e Ashwin Chaugule     2015-10-02  682  
337aadff8e4567e Ashwin Chaugule     2015-10-02  683  	out_obj = (union acpi_object *) output.pointer;
337aadff8e4567e Ashwin Chaugule     2015-10-02  684  
337aadff8e4567e Ashwin Chaugule     2015-10-02  685  	cpc_ptr = kzalloc(sizeof(struct cpc_desc), GFP_KERNEL);
337aadff8e4567e Ashwin Chaugule     2015-10-02  686  	if (!cpc_ptr) {
337aadff8e4567e Ashwin Chaugule     2015-10-02  687  		ret = -ENOMEM;
337aadff8e4567e Ashwin Chaugule     2015-10-02  688  		goto out_buf_free;
337aadff8e4567e Ashwin Chaugule     2015-10-02  689  	}
337aadff8e4567e Ashwin Chaugule     2015-10-02  690  
337aadff8e4567e Ashwin Chaugule     2015-10-02  691  	/* First entry is NumEntries. */
337aadff8e4567e Ashwin Chaugule     2015-10-02  692  	cpc_obj = &out_obj->package.elements[0];
337aadff8e4567e Ashwin Chaugule     2015-10-02  693  	if (cpc_obj->type == ACPI_TYPE_INTEGER)	{
337aadff8e4567e Ashwin Chaugule     2015-10-02  694  		num_ent = cpc_obj->integer.value;
337aadff8e4567e Ashwin Chaugule     2015-10-02  695  	} else {
337aadff8e4567e Ashwin Chaugule     2015-10-02  696  		pr_debug("Unexpected entry type(%d) for NumEntries\n",
337aadff8e4567e Ashwin Chaugule     2015-10-02  697  				cpc_obj->type);
337aadff8e4567e Ashwin Chaugule     2015-10-02  698  		goto out_free;
337aadff8e4567e Ashwin Chaugule     2015-10-02  699  	}
5bbb86aa4b8d843 Ashwin Chaugule     2016-08-16  700  	cpc_ptr->num_entries = num_ent;
5bbb86aa4b8d843 Ashwin Chaugule     2016-08-16  701  
337aadff8e4567e Ashwin Chaugule     2015-10-02  702  	/* Second entry should be revision. */
337aadff8e4567e Ashwin Chaugule     2015-10-02  703  	cpc_obj = &out_obj->package.elements[1];
337aadff8e4567e Ashwin Chaugule     2015-10-02  704  	if (cpc_obj->type == ACPI_TYPE_INTEGER)	{
337aadff8e4567e Ashwin Chaugule     2015-10-02  705  		cpc_rev = cpc_obj->integer.value;
337aadff8e4567e Ashwin Chaugule     2015-10-02  706  	} else {
337aadff8e4567e Ashwin Chaugule     2015-10-02  707  		pr_debug("Unexpected entry type(%d) for Revision\n",
337aadff8e4567e Ashwin Chaugule     2015-10-02  708  				cpc_obj->type);
337aadff8e4567e Ashwin Chaugule     2015-10-02  709  		goto out_free;
337aadff8e4567e Ashwin Chaugule     2015-10-02  710  	}
4773e77cdc9b3af Prashanth Prakash   2018-04-04  711  	cpc_ptr->version = cpc_rev;
337aadff8e4567e Ashwin Chaugule     2015-10-02  712  
4773e77cdc9b3af Prashanth Prakash   2018-04-04  713  	if (!is_cppc_supported(cpc_rev, num_ent))
337aadff8e4567e Ashwin Chaugule     2015-10-02  714  		goto out_free;
337aadff8e4567e Ashwin Chaugule     2015-10-02  715  
337aadff8e4567e Ashwin Chaugule     2015-10-02  716  	/* Iterate through remaining entries in _CPC */
337aadff8e4567e Ashwin Chaugule     2015-10-02  717  	for (i = 2; i < num_ent; i++) {
337aadff8e4567e Ashwin Chaugule     2015-10-02  718  		cpc_obj = &out_obj->package.elements[i];
337aadff8e4567e Ashwin Chaugule     2015-10-02  719  
337aadff8e4567e Ashwin Chaugule     2015-10-02  720  		if (cpc_obj->type == ACPI_TYPE_INTEGER)	{
337aadff8e4567e Ashwin Chaugule     2015-10-02  721  			cpc_ptr->cpc_regs[i-2].type = ACPI_TYPE_INTEGER;
337aadff8e4567e Ashwin Chaugule     2015-10-02  722  			cpc_ptr->cpc_regs[i-2].cpc_entry.int_value = cpc_obj->integer.value;
337aadff8e4567e Ashwin Chaugule     2015-10-02  723  		} else if (cpc_obj->type == ACPI_TYPE_BUFFER) {
337aadff8e4567e Ashwin Chaugule     2015-10-02  724  			gas_t = (struct cpc_reg *)
337aadff8e4567e Ashwin Chaugule     2015-10-02  725  				cpc_obj->buffer.pointer;
337aadff8e4567e Ashwin Chaugule     2015-10-02  726  
337aadff8e4567e Ashwin Chaugule     2015-10-02  727  			/*
337aadff8e4567e Ashwin Chaugule     2015-10-02  728  			 * The PCC Subspace index is encoded inside
337aadff8e4567e Ashwin Chaugule     2015-10-02  729  			 * the CPC table entries. The same PCC index
337aadff8e4567e Ashwin Chaugule     2015-10-02  730  			 * will be used for all the PCC entries,
337aadff8e4567e Ashwin Chaugule     2015-10-02  731  			 * so extract it only once.
337aadff8e4567e Ashwin Chaugule     2015-10-02  732  			 */
337aadff8e4567e Ashwin Chaugule     2015-10-02  733  			if (gas_t->space_id == ACPI_ADR_SPACE_PLATFORM_COMM) {
85b1407bf6d2f4a George Cherian      2017-10-11  734  				if (pcc_subspace_id < 0) {
85b1407bf6d2f4a George Cherian      2017-10-11  735  					pcc_subspace_id = gas_t->access_width;
85b1407bf6d2f4a George Cherian      2017-10-11  736  					if (pcc_data_alloc(pcc_subspace_id))
85b1407bf6d2f4a George Cherian      2017-10-11  737  						goto out_free;
85b1407bf6d2f4a George Cherian      2017-10-11  738  				} else if (pcc_subspace_id != gas_t->access_width) {
337aadff8e4567e Ashwin Chaugule     2015-10-02  739  					pr_debug("Mismatched PCC ids.\n");
337aadff8e4567e Ashwin Chaugule     2015-10-02  740  					goto out_free;
337aadff8e4567e Ashwin Chaugule     2015-10-02  741  				}
5bbb86aa4b8d843 Ashwin Chaugule     2016-08-16  742  			} else if (gas_t->space_id == ACPI_ADR_SPACE_SYSTEM_MEMORY) {
5bbb86aa4b8d843 Ashwin Chaugule     2016-08-16  743  				if (gas_t->address) {
5bbb86aa4b8d843 Ashwin Chaugule     2016-08-16  744  					void __iomem *addr;
5bbb86aa4b8d843 Ashwin Chaugule     2016-08-16  745  
5bbb86aa4b8d843 Ashwin Chaugule     2016-08-16  746  					addr = ioremap(gas_t->address, gas_t->bit_width/8);
5bbb86aa4b8d843 Ashwin Chaugule     2016-08-16  747  					if (!addr)
5bbb86aa4b8d843 Ashwin Chaugule     2016-08-16  748  						goto out_free;
5bbb86aa4b8d843 Ashwin Chaugule     2016-08-16  749  					cpc_ptr->cpc_regs[i-2].sys_mem_vaddr = addr;
5bbb86aa4b8d843 Ashwin Chaugule     2016-08-16  750  				}
5b7602759293620 Steven Noonan       2021-10-27  751  			} else if (gas_t->space_id == ACPI_ADR_SPACE_SYSTEM_IO) {
5b7602759293620 Steven Noonan       2021-10-27  752  				if (gas_t->access_width < 1 || gas_t->access_width > 3) {
5b7602759293620 Steven Noonan       2021-10-27  753  					/*
5b7602759293620 Steven Noonan       2021-10-27  754  					 * 1 = 8-bit, 2 = 16-bit, and 3 = 32-bit.
5b7602759293620 Steven Noonan       2021-10-27  755  					 * SystemIO doesn't implement 64-bit
5b7602759293620 Steven Noonan       2021-10-27  756  					 * registers.
5b7602759293620 Steven Noonan       2021-10-27  757  					 */
5b7602759293620 Steven Noonan       2021-10-27  758  					pr_debug("Invalid access width %d for SystemIO register\n",
5b7602759293620 Steven Noonan       2021-10-27  759  						gas_t->access_width);
5b7602759293620 Steven Noonan       2021-10-27  760  					goto out_free;
5b7602759293620 Steven Noonan       2021-10-27  761  				}
5b7602759293620 Steven Noonan       2021-10-27  762  				if (gas_t->address & OVER_16BTS_MASK) {
5b7602759293620 Steven Noonan       2021-10-27  763  					/* SystemIO registers use 16-bit integer addresses */
5b7602759293620 Steven Noonan       2021-10-27  764  					pr_debug("Invalid IO port %llu for SystemIO register\n",
5b7602759293620 Steven Noonan       2021-10-27  765  						gas_t->address);
5b7602759293620 Steven Noonan       2021-10-27  766  					goto out_free;
5b7602759293620 Steven Noonan       2021-10-27  767  				}
5bbb86aa4b8d843 Ashwin Chaugule     2016-08-16  768  			} else {
a6cbcdd5ab5f242 Srinivas Pandruvada 2016-09-01  769  				if (gas_t->space_id != ACPI_ADR_SPACE_FIXED_HARDWARE || !cpc_ffh_supported()) {
5b7602759293620 Steven Noonan       2021-10-27  770  					/* Support only PCC, SystemMemory, SystemIO, and FFH type regs. */
337aadff8e4567e Ashwin Chaugule     2015-10-02  771  					pr_debug("Unsupported register type: %d\n", gas_t->space_id);
337aadff8e4567e Ashwin Chaugule     2015-10-02  772  					goto out_free;
337aadff8e4567e Ashwin Chaugule     2015-10-02  773  				}
a6cbcdd5ab5f242 Srinivas Pandruvada 2016-09-01  774  			}
337aadff8e4567e Ashwin Chaugule     2015-10-02  775  
337aadff8e4567e Ashwin Chaugule     2015-10-02  776  			cpc_ptr->cpc_regs[i-2].type = ACPI_TYPE_BUFFER;
337aadff8e4567e Ashwin Chaugule     2015-10-02  777  			memcpy(&cpc_ptr->cpc_regs[i-2].cpc_entry.reg, gas_t, sizeof(*gas_t));
337aadff8e4567e Ashwin Chaugule     2015-10-02  778  		} else {
337aadff8e4567e Ashwin Chaugule     2015-10-02  779  			pr_debug("Err in entry:%d in CPC table of CPU:%d\n", i, pr->id);
337aadff8e4567e Ashwin Chaugule     2015-10-02  780  			goto out_free;
337aadff8e4567e Ashwin Chaugule     2015-10-02  781  		}
337aadff8e4567e Ashwin Chaugule     2015-10-02  782  	}
85b1407bf6d2f4a George Cherian      2017-10-11  783  	per_cpu(cpu_pcc_subspace_idx, pr->id) = pcc_subspace_id;
4773e77cdc9b3af Prashanth Prakash   2018-04-04  784  
4773e77cdc9b3af Prashanth Prakash   2018-04-04  785  	/*
4773e77cdc9b3af Prashanth Prakash   2018-04-04  786  	 * Initialize the remaining cpc_regs as unsupported.
4773e77cdc9b3af Prashanth Prakash   2018-04-04  787  	 * Example: In case FW exposes CPPC v2, the below loop will initialize
4773e77cdc9b3af Prashanth Prakash   2018-04-04  788  	 * LOWEST_FREQ and NOMINAL_FREQ regs as unsupported
4773e77cdc9b3af Prashanth Prakash   2018-04-04  789  	 */
4773e77cdc9b3af Prashanth Prakash   2018-04-04  790  	for (i = num_ent - 2; i < MAX_CPC_REG_ENT; i++) {
4773e77cdc9b3af Prashanth Prakash   2018-04-04  791  		cpc_ptr->cpc_regs[i].type = ACPI_TYPE_INTEGER;
4773e77cdc9b3af Prashanth Prakash   2018-04-04  792  		cpc_ptr->cpc_regs[i].cpc_entry.int_value = 0;
4773e77cdc9b3af Prashanth Prakash   2018-04-04  793  	}
4773e77cdc9b3af Prashanth Prakash   2018-04-04  794  
4773e77cdc9b3af Prashanth Prakash   2018-04-04  795  
337aadff8e4567e Ashwin Chaugule     2015-10-02  796  	/* Store CPU Logical ID */
337aadff8e4567e Ashwin Chaugule     2015-10-02  797  	cpc_ptr->cpu_id = pr->id;
337aadff8e4567e Ashwin Chaugule     2015-10-02  798  
337aadff8e4567e Ashwin Chaugule     2015-10-02  799  	/* Parse PSD data for this CPU */
337aadff8e4567e Ashwin Chaugule     2015-10-02  800  	ret = acpi_get_psd(cpc_ptr, handle);
337aadff8e4567e Ashwin Chaugule     2015-10-02  801  	if (ret)
337aadff8e4567e Ashwin Chaugule     2015-10-02  802  		goto out_free;
337aadff8e4567e Ashwin Chaugule     2015-10-02  803  
603fadf33604a2e Bjorn Helgaas       2019-03-25  804  	/* Register PCC channel once for all PCC subspace ID. */
85b1407bf6d2f4a George Cherian      2017-10-11  805  	if (pcc_subspace_id >= 0 && !pcc_data[pcc_subspace_id]->pcc_channel_acquired) {
85b1407bf6d2f4a George Cherian      2017-10-11  806  		ret = register_pcc_channel(pcc_subspace_id);
337aadff8e4567e Ashwin Chaugule     2015-10-02  807  		if (ret)
337aadff8e4567e Ashwin Chaugule     2015-10-02  808  			goto out_free;
8482ef8c6e684a1 Prakash, Prashanth  2016-08-16  809  
85b1407bf6d2f4a George Cherian      2017-10-11  810  		init_rwsem(&pcc_data[pcc_subspace_id]->pcc_lock);
85b1407bf6d2f4a George Cherian      2017-10-11  811  		init_waitqueue_head(&pcc_data[pcc_subspace_id]->pcc_write_wait_q);
337aadff8e4567e Ashwin Chaugule     2015-10-02  812  	}
337aadff8e4567e Ashwin Chaugule     2015-10-02  813  
337aadff8e4567e Ashwin Chaugule     2015-10-02  814  	/* Everything looks okay */
337aadff8e4567e Ashwin Chaugule     2015-10-02  815  	pr_debug("Parsed CPC struct for CPU: %d\n", pr->id);
337aadff8e4567e Ashwin Chaugule     2015-10-02  816  
158c998ea44ba30 Ashwin Chaugule     2016-08-16  817  	/* Add per logical CPU nodes for reading its feedback counters. */
158c998ea44ba30 Ashwin Chaugule     2016-08-16  818  	cpu_dev = get_cpu_device(pr->id);
501634759d55a5b Dan Carpenter       2016-11-30  819  	if (!cpu_dev) {
501634759d55a5b Dan Carpenter       2016-11-30  820  		ret = -EINVAL;
158c998ea44ba30 Ashwin Chaugule     2016-08-16  821  		goto out_free;
501634759d55a5b Dan Carpenter       2016-11-30  822  	}
158c998ea44ba30 Ashwin Chaugule     2016-08-16  823  
603fadf33604a2e Bjorn Helgaas       2019-03-25  824  	/* Plug PSD data into this CPU's CPC descriptor. */
28076483afac9dd Rafael J. Wysocki   2016-12-10  825  	per_cpu(cpc_desc_ptr, pr->id) = cpc_ptr;
28076483afac9dd Rafael J. Wysocki   2016-12-10  826  
158c998ea44ba30 Ashwin Chaugule     2016-08-16  827  	ret = kobject_init_and_add(&cpc_ptr->kobj, &cppc_ktype, &cpu_dev->kobj,
158c998ea44ba30 Ashwin Chaugule     2016-08-16  828  			"acpi_cppc");
28076483afac9dd Rafael J. Wysocki   2016-12-10  829  	if (ret) {
28076483afac9dd Rafael J. Wysocki   2016-12-10  830  		per_cpu(cpc_desc_ptr, pr->id) = NULL;
4d8be4bc94f74bb Qiushi Wu           2020-05-27  831  		kobject_put(&cpc_ptr->kobj);
158c998ea44ba30 Ashwin Chaugule     2016-08-16  832  		goto out_free;
28076483afac9dd Rafael J. Wysocki   2016-12-10  833  	}
158c998ea44ba30 Ashwin Chaugule     2016-08-16  834  
41ea667227bad5c Nathan Fontenot     2020-11-12 @835  	init_freq_invariance_cppc();
41ea667227bad5c Nathan Fontenot     2020-11-12  836  
337aadff8e4567e Ashwin Chaugule     2015-10-02  837  	kfree(output.pointer);
337aadff8e4567e Ashwin Chaugule     2015-10-02  838  	return 0;
337aadff8e4567e Ashwin Chaugule     2015-10-02  839  
337aadff8e4567e Ashwin Chaugule     2015-10-02  840  out_free:
5bbb86aa4b8d843 Ashwin Chaugule     2016-08-16  841  	/* Free all the mapped sys mem areas for this CPU */
5bbb86aa4b8d843 Ashwin Chaugule     2016-08-16  842  	for (i = 2; i < cpc_ptr->num_entries; i++) {
5bbb86aa4b8d843 Ashwin Chaugule     2016-08-16  843  		void __iomem *addr = cpc_ptr->cpc_regs[i-2].sys_mem_vaddr;
5bbb86aa4b8d843 Ashwin Chaugule     2016-08-16  844  
5bbb86aa4b8d843 Ashwin Chaugule     2016-08-16  845  		if (addr)
5bbb86aa4b8d843 Ashwin Chaugule     2016-08-16  846  			iounmap(addr);
5bbb86aa4b8d843 Ashwin Chaugule     2016-08-16  847  	}
337aadff8e4567e Ashwin Chaugule     2015-10-02  848  	kfree(cpc_ptr);
337aadff8e4567e Ashwin Chaugule     2015-10-02  849  
337aadff8e4567e Ashwin Chaugule     2015-10-02  850  out_buf_free:
337aadff8e4567e Ashwin Chaugule     2015-10-02  851  	kfree(output.pointer);
337aadff8e4567e Ashwin Chaugule     2015-10-02  852  	return ret;
337aadff8e4567e Ashwin Chaugule     2015-10-02  853  }
337aadff8e4567e Ashwin Chaugule     2015-10-02  854  EXPORT_SYMBOL_GPL(acpi_cppc_processor_probe);
337aadff8e4567e Ashwin Chaugule     2015-10-02  855  

:::::: The code at line 835 was first introduced by commit
:::::: 41ea667227bad5c247d76e6605054e96e4d95f51 x86, sched: Calculate frequency invariance for AMD systems

:::::: TO: Nathan Fontenot <nathan.fontenot@amd.com>
:::::: CC: Ingo Molnar <mingo@kernel.org>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

             reply	other threads:[~2021-12-21  7:30 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-21  7:30 kernel test robot [this message]
2021-12-21  7:30 ` [rui:amd-pstate-dev-v6 6/14] drivers/acpi/cppc_acpi.c:835: undefined reference to `init_freq_invariance_cppc' kernel test robot

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=202112211548.IPdIhNzu-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.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.