Loading arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c +2 −2 Original line number Diff line number Diff line Loading @@ -693,8 +693,8 @@ static int acpi_cpufreq_cpu_init(struct cpufreq_policy *policy) if (perf->control_register.space_id == ACPI_ADR_SPACE_FIXED_HARDWARE && policy->cpuinfo.transition_latency > 20 * 1000) { policy->cpuinfo.transition_latency = 20 * 1000; printk_once(KERN_INFO "Capping off P-state tranision" " latency at 20 uS\n"); printk_once(KERN_INFO "P-state transition latency capped at 20 uS\n"); } /* table init */ Loading drivers/acpi/pci_bind.c +6 −18 Original line number Diff line number Diff line Loading @@ -116,9 +116,6 @@ int acpi_pci_bind(struct acpi_device *device) struct acpi_pci_data *pdata; struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL }; acpi_handle handle; struct pci_dev *dev; struct pci_bus *bus; if (!device || !device->parent) return -EINVAL; Loading Loading @@ -176,20 +173,9 @@ int acpi_pci_bind(struct acpi_device *device) * Locate matching device in PCI namespace. If it doesn't exist * this typically means that the device isn't currently inserted * (e.g. docking station, port replicator, etc.). * We cannot simply search the global pci device list, since * PCI devices are added to the global pci list when the root * bridge start ops are run, which may not have happened yet. */ bus = pci_find_bus(data->id.segment, data->id.bus); if (bus) { list_for_each_entry(dev, &bus->devices, bus_list) { if (dev->devfn == PCI_DEVFN(data->id.device, data->id.function)) { data->dev = dev; break; } } } data->dev = pci_get_slot(pdata->bus, PCI_DEVFN(data->id.device, data->id.function)); if (!data->dev) { ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Device %04x:%02x:%02x.%d not present in PCI namespace\n", Loading Loading @@ -259,9 +245,10 @@ int acpi_pci_bind(struct acpi_device *device) end: kfree(buffer.pointer); if (result) if (result) { pci_dev_put(data->dev); kfree(data); } return result; } Loading Loading @@ -303,6 +290,7 @@ static int acpi_pci_unbind(struct acpi_device *device) if (data->dev->subordinate) { acpi_pci_irq_del_prt(data->id.segment, data->bus->number); } pci_dev_put(data->dev); kfree(data); end: Loading drivers/acpi/processor_idle.c +7 −1 Original line number Diff line number Diff line Loading @@ -148,6 +148,9 @@ static void acpi_timer_check_state(int state, struct acpi_processor *pr, if (cpu_has(&cpu_data(pr->id), X86_FEATURE_ARAT)) return; if (boot_cpu_has(X86_FEATURE_AMDC1E)) type = ACPI_STATE_C1; /* * Check, if one of the previous states already marked the lapic * unstable Loading Loading @@ -611,6 +614,7 @@ static int acpi_processor_power_verify(struct acpi_processor *pr) switch (cx->type) { case ACPI_STATE_C1: cx->valid = 1; acpi_timer_check_state(i, pr, cx); break; case ACPI_STATE_C2: Loading Loading @@ -830,11 +834,12 @@ static int acpi_idle_enter_c1(struct cpuidle_device *dev, /* Do not access any ACPI IO ports in suspend path */ if (acpi_idle_suspend) { acpi_safe_halt(); local_irq_enable(); cpu_relax(); return 0; } acpi_state_timer_broadcast(pr, cx, 1); kt1 = ktime_get_real(); acpi_idle_do_entry(cx); kt2 = ktime_get_real(); Loading @@ -842,6 +847,7 @@ static int acpi_idle_enter_c1(struct cpuidle_device *dev, local_irq_enable(); cx->usage++; acpi_state_timer_broadcast(pr, cx, 0); return idle_time; } Loading drivers/acpi/processor_perflib.c +9 −3 Original line number Diff line number Diff line Loading @@ -309,9 +309,15 @@ static int acpi_processor_get_performance_states(struct acpi_processor *pr) (u32) px->bus_master_latency, (u32) px->control, (u32) px->status)); if (!px->core_frequency) { printk(KERN_ERR PREFIX "Invalid _PSS data: freq is zero\n"); /* * Check that ACPI's u64 MHz will be valid as u32 KHz in cpufreq */ if (!px->core_frequency || ((u32)(px->core_frequency * 1000) != (px->core_frequency * 1000))) { printk(KERN_ERR FW_BUG PREFIX "Invalid BIOS _PSS frequency: 0x%llx MHz\n", px->core_frequency); result = -EFAULT; kfree(pr->performance->states); goto end; Loading drivers/acpi/processor_throttling.c +1 −1 Original line number Diff line number Diff line Loading @@ -840,7 +840,7 @@ static int acpi_processor_get_throttling_ptc(struct acpi_processor *pr) state = acpi_get_throttling_state(pr, value); if (state == -1) { ACPI_WARNING((AE_INFO, "Invalid throttling state, reset\n")); "Invalid throttling state, reset")); state = 0; ret = acpi_processor_set_throttling(pr, state); if (ret) Loading Loading
arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c +2 −2 Original line number Diff line number Diff line Loading @@ -693,8 +693,8 @@ static int acpi_cpufreq_cpu_init(struct cpufreq_policy *policy) if (perf->control_register.space_id == ACPI_ADR_SPACE_FIXED_HARDWARE && policy->cpuinfo.transition_latency > 20 * 1000) { policy->cpuinfo.transition_latency = 20 * 1000; printk_once(KERN_INFO "Capping off P-state tranision" " latency at 20 uS\n"); printk_once(KERN_INFO "P-state transition latency capped at 20 uS\n"); } /* table init */ Loading
drivers/acpi/pci_bind.c +6 −18 Original line number Diff line number Diff line Loading @@ -116,9 +116,6 @@ int acpi_pci_bind(struct acpi_device *device) struct acpi_pci_data *pdata; struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL }; acpi_handle handle; struct pci_dev *dev; struct pci_bus *bus; if (!device || !device->parent) return -EINVAL; Loading Loading @@ -176,20 +173,9 @@ int acpi_pci_bind(struct acpi_device *device) * Locate matching device in PCI namespace. If it doesn't exist * this typically means that the device isn't currently inserted * (e.g. docking station, port replicator, etc.). * We cannot simply search the global pci device list, since * PCI devices are added to the global pci list when the root * bridge start ops are run, which may not have happened yet. */ bus = pci_find_bus(data->id.segment, data->id.bus); if (bus) { list_for_each_entry(dev, &bus->devices, bus_list) { if (dev->devfn == PCI_DEVFN(data->id.device, data->id.function)) { data->dev = dev; break; } } } data->dev = pci_get_slot(pdata->bus, PCI_DEVFN(data->id.device, data->id.function)); if (!data->dev) { ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Device %04x:%02x:%02x.%d not present in PCI namespace\n", Loading Loading @@ -259,9 +245,10 @@ int acpi_pci_bind(struct acpi_device *device) end: kfree(buffer.pointer); if (result) if (result) { pci_dev_put(data->dev); kfree(data); } return result; } Loading Loading @@ -303,6 +290,7 @@ static int acpi_pci_unbind(struct acpi_device *device) if (data->dev->subordinate) { acpi_pci_irq_del_prt(data->id.segment, data->bus->number); } pci_dev_put(data->dev); kfree(data); end: Loading
drivers/acpi/processor_idle.c +7 −1 Original line number Diff line number Diff line Loading @@ -148,6 +148,9 @@ static void acpi_timer_check_state(int state, struct acpi_processor *pr, if (cpu_has(&cpu_data(pr->id), X86_FEATURE_ARAT)) return; if (boot_cpu_has(X86_FEATURE_AMDC1E)) type = ACPI_STATE_C1; /* * Check, if one of the previous states already marked the lapic * unstable Loading Loading @@ -611,6 +614,7 @@ static int acpi_processor_power_verify(struct acpi_processor *pr) switch (cx->type) { case ACPI_STATE_C1: cx->valid = 1; acpi_timer_check_state(i, pr, cx); break; case ACPI_STATE_C2: Loading Loading @@ -830,11 +834,12 @@ static int acpi_idle_enter_c1(struct cpuidle_device *dev, /* Do not access any ACPI IO ports in suspend path */ if (acpi_idle_suspend) { acpi_safe_halt(); local_irq_enable(); cpu_relax(); return 0; } acpi_state_timer_broadcast(pr, cx, 1); kt1 = ktime_get_real(); acpi_idle_do_entry(cx); kt2 = ktime_get_real(); Loading @@ -842,6 +847,7 @@ static int acpi_idle_enter_c1(struct cpuidle_device *dev, local_irq_enable(); cx->usage++; acpi_state_timer_broadcast(pr, cx, 0); return idle_time; } Loading
drivers/acpi/processor_perflib.c +9 −3 Original line number Diff line number Diff line Loading @@ -309,9 +309,15 @@ static int acpi_processor_get_performance_states(struct acpi_processor *pr) (u32) px->bus_master_latency, (u32) px->control, (u32) px->status)); if (!px->core_frequency) { printk(KERN_ERR PREFIX "Invalid _PSS data: freq is zero\n"); /* * Check that ACPI's u64 MHz will be valid as u32 KHz in cpufreq */ if (!px->core_frequency || ((u32)(px->core_frequency * 1000) != (px->core_frequency * 1000))) { printk(KERN_ERR FW_BUG PREFIX "Invalid BIOS _PSS frequency: 0x%llx MHz\n", px->core_frequency); result = -EFAULT; kfree(pr->performance->states); goto end; Loading
drivers/acpi/processor_throttling.c +1 −1 Original line number Diff line number Diff line Loading @@ -840,7 +840,7 @@ static int acpi_processor_get_throttling_ptc(struct acpi_processor *pr) state = acpi_get_throttling_state(pr, value); if (state == -1) { ACPI_WARNING((AE_INFO, "Invalid throttling state, reset\n")); "Invalid throttling state, reset")); state = 0; ret = acpi_processor_set_throttling(pr, state); if (ret) Loading