ACPI: processor: only evaluate _PDC once per processor
If we evaluate _PDC in the early path, we do not want to evaluate it again when the processor driver is loaded. Cc: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> Signed-off-by: Alex Chiang <achiang@hp.com> Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
		
					parent
					
						
							
								0406ad336c
							
						
					
				
			
			
				commit
				
					
						a4932299d0
					
				
			
		
					 1 changed files with 7 additions and 0 deletions
				
			
		| 
						 | 
					@ -125,6 +125,8 @@ acpi_processor_eval_pdc(acpi_handle handle, struct acpi_object_list *pdc_in)
 | 
				
			||||||
	return status;
 | 
						return status;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static int early_pdc_done;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void acpi_processor_set_pdc(acpi_handle handle)
 | 
					void acpi_processor_set_pdc(acpi_handle handle)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct acpi_object_list *obj_list;
 | 
						struct acpi_object_list *obj_list;
 | 
				
			||||||
| 
						 | 
					@ -132,6 +134,9 @@ void acpi_processor_set_pdc(acpi_handle handle)
 | 
				
			||||||
	if (arch_has_acpi_pdc() == false)
 | 
						if (arch_has_acpi_pdc() == false)
 | 
				
			||||||
		return;
 | 
							return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (early_pdc_done)
 | 
				
			||||||
 | 
							return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	obj_list = acpi_processor_alloc_pdc();
 | 
						obj_list = acpi_processor_alloc_pdc();
 | 
				
			||||||
	if (!obj_list)
 | 
						if (!obj_list)
 | 
				
			||||||
		return;
 | 
							return;
 | 
				
			||||||
| 
						 | 
					@ -199,4 +204,6 @@ void __init acpi_early_processor_set_pdc(void)
 | 
				
			||||||
	acpi_walk_namespace(ACPI_TYPE_PROCESSOR, ACPI_ROOT_OBJECT,
 | 
						acpi_walk_namespace(ACPI_TYPE_PROCESSOR, ACPI_ROOT_OBJECT,
 | 
				
			||||||
			    ACPI_UINT32_MAX,
 | 
								    ACPI_UINT32_MAX,
 | 
				
			||||||
			    early_init_pdc, NULL, NULL, NULL);
 | 
								    early_init_pdc, NULL, NULL, NULL);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						early_pdc_done = 1;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue