* [pm:intel_idle+acpi 4/10] drivers/acpi/acpi_processor.c:831: undefined reference to `acpi_processor_ffh_cstate_probe'
@ 2019-12-16 10:26 kbuild test robot
0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2019-12-16 10:26 UTC (permalink / raw)
To: Rafael J. Wysocki; +Cc: kbuild-all, linux-acpi, devel, linux-pm
[-- Attachment #1: Type: text/plain, Size: 4561 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git intel_idle+acpi
head: dcedc03145600b929a32acb85b212131b079bc46
commit: 0300cf31f061e6287810c894337f29df2e200e2d [4/10] ACPI: processor: Export acpi_processor_evaluate_cst()
config: x86_64-randconfig-s0-20191216 (attached as .config)
compiler: gcc-4.9 (Debian 4.9.2-10+deb8u1) 4.9.2
reproduce:
git checkout 0300cf31f061e6287810c894337f29df2e200e2d
# save the attached .config to linux build tree
make ARCH=x86_64
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
ld: drivers/acpi/acpi_processor.o: in function `acpi_processor_evaluate_cst':
>> drivers/acpi/acpi_processor.c:831: undefined reference to `acpi_processor_ffh_cstate_probe'
vim +831 drivers/acpi/acpi_processor.c
732
733 /**
734 * acpi_processor_evaluate_cst - Evaluate the processor _CST control method.
735 * @handle: ACPI handle of the processor object containing the _CST.
736 * @cpu: The numeric ID of the target CPU.
737 * @info: Object write the C-states information into.
738 *
739 * Extract the C-state information for the given CPU from the output of the _CST
740 * control method under the corresponding ACPI processor object (or processor
741 * device object) and populate @info with it.
742 *
743 * If any ACPI_ADR_SPACE_FIXED_HARDWARE C-states are found, invoke
744 * acpi_processor_ffh_cstate_probe() to verify them and update the
745 * cpu_cstate_entry data for @cpu.
746 */
747 int acpi_processor_evaluate_cst(acpi_handle handle, u32 cpu,
748 struct acpi_processor_power *info)
749 {
750 struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL };
751 union acpi_object *cst;
752 acpi_status status;
753 u64 count;
754 int last_index = 0;
755 int i, ret = 0;
756
757 status = acpi_evaluate_object(handle, "_CST", NULL, &buffer);
758 if (ACPI_FAILURE(status)) {
759 acpi_handle_debug(handle, "No _CST\n");
760 return -ENODEV;
761 }
762
763 cst = buffer.pointer;
764
765 /* There must be at least 2 elements. */
766 if (!cst || cst->type != ACPI_TYPE_PACKAGE || cst->package.count < 2) {
767 acpi_handle_warn(handle, "Invalid _CST output\n");
768 ret = -EFAULT;
769 goto end;
770 }
771
772 count = cst->package.elements[0].integer.value;
773
774 /* Validate the number of C-states. */
775 if (count < 1 || count != cst->package.count - 1) {
776 acpi_handle_warn(handle, "Inconsistent _CST data\n");
777 ret = -EFAULT;
778 goto end;
779 }
780
781 for (i = 1; i <= count; i++) {
782 union acpi_object *element;
783 union acpi_object *obj;
784 struct acpi_power_register *reg;
785 struct acpi_processor_cx cx;
786
787 /*
788 * If there is not enough space for all C-states, skip the
789 * excess ones and log a warning.
790 */
791 if (last_index >= ACPI_PROCESSOR_MAX_POWER - 1) {
792 acpi_handle_warn(handle,
793 "No room for more idle states (limit: %d)\n",
794 ACPI_PROCESSOR_MAX_POWER - 1);
795 break;
796 }
797
798 memset(&cx, 0, sizeof(cx));
799
800 element = &cst->package.elements[i];
801 if (element->type != ACPI_TYPE_PACKAGE)
802 continue;
803
804 if (element->package.count != 4)
805 continue;
806
807 obj = &element->package.elements[0];
808
809 if (obj->type != ACPI_TYPE_BUFFER)
810 continue;
811
812 reg = (struct acpi_power_register *)obj->buffer.pointer;
813
814 obj = &element->package.elements[1];
815 if (obj->type != ACPI_TYPE_INTEGER)
816 continue;
817
818 cx.type = obj->integer.value;
819 /*
820 * There are known cases in which the _CST output does not
821 * contain C1, so if the type of the first state found is not
822 * C1, leave an empty slot for C1 to be filled in later.
823 */
824 if (i == 1 && cx.type != ACPI_STATE_C1)
825 last_index = 1;
826
827 cx.address = reg->address;
828 cx.index = last_index + 1;
829
830 if (reg->space_id == ACPI_ADR_SPACE_FIXED_HARDWARE) {
> 831 if (!acpi_processor_ffh_cstate_probe(cpu, &cx, reg)) {
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 35042 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2019-12-16 10:26 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-16 10:26 [pm:intel_idle+acpi 4/10] drivers/acpi/acpi_processor.c:831: undefined reference to `acpi_processor_ffh_cstate_probe' kbuild test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).