hwxfsleep.c (238381) | hwxfsleep.c (239340) |
---|---|
1/****************************************************************************** 2 * 3 * Name: hwxfsleep.c - ACPI Hardware Sleep/Wake External Interfaces 4 * 5 *****************************************************************************/ 6 7/* 8 * Copyright (C) 2000 - 2012, Intel Corp. --- 38 unchanged lines hidden (view full) --- 47#define _COMPONENT ACPI_HARDWARE 48 ACPI_MODULE_NAME ("hwxfsleep") 49 50/* Local prototypes */ 51 52static ACPI_STATUS 53AcpiHwSleepDispatch ( 54 UINT8 SleepState, | 1/****************************************************************************** 2 * 3 * Name: hwxfsleep.c - ACPI Hardware Sleep/Wake External Interfaces 4 * 5 *****************************************************************************/ 6 7/* 8 * Copyright (C) 2000 - 2012, Intel Corp. --- 38 unchanged lines hidden (view full) --- 47#define _COMPONENT ACPI_HARDWARE 48 ACPI_MODULE_NAME ("hwxfsleep") 49 50/* Local prototypes */ 51 52static ACPI_STATUS 53AcpiHwSleepDispatch ( 54 UINT8 SleepState, |
55 UINT8 Flags, | |
56 UINT32 FunctionId); 57 58/* 59 * Dispatch table used to efficiently branch to the various sleep 60 * functions. 61 */ 62#define ACPI_SLEEP_FUNCTION_ID 0 63#define ACPI_WAKE_PREP_FUNCTION_ID 1 --- 192 unchanged lines hidden (view full) --- 256 * DESCRIPTION: Dispatch a sleep/wake request to the appropriate handling 257 * function. 258 * 259 ******************************************************************************/ 260 261static ACPI_STATUS 262AcpiHwSleepDispatch ( 263 UINT8 SleepState, | 55 UINT32 FunctionId); 56 57/* 58 * Dispatch table used to efficiently branch to the various sleep 59 * functions. 60 */ 61#define ACPI_SLEEP_FUNCTION_ID 0 62#define ACPI_WAKE_PREP_FUNCTION_ID 1 --- 192 unchanged lines hidden (view full) --- 255 * DESCRIPTION: Dispatch a sleep/wake request to the appropriate handling 256 * function. 257 * 258 ******************************************************************************/ 259 260static ACPI_STATUS 261AcpiHwSleepDispatch ( 262 UINT8 SleepState, |
264 UINT8 Flags, | |
265 UINT32 FunctionId) 266{ 267 ACPI_STATUS Status; 268 ACPI_SLEEP_FUNCTIONS *SleepFunctions = &AcpiSleepDispatch[FunctionId]; 269 270 271#if (!ACPI_REDUCED_HARDWARE) 272 273 /* 274 * If the Hardware Reduced flag is set (from the FADT), we must 275 * use the extended sleep registers 276 */ 277 if (AcpiGbl_ReducedHardware || 278 AcpiGbl_FADT.SleepControl.Address) 279 { | 263 UINT32 FunctionId) 264{ 265 ACPI_STATUS Status; 266 ACPI_SLEEP_FUNCTIONS *SleepFunctions = &AcpiSleepDispatch[FunctionId]; 267 268 269#if (!ACPI_REDUCED_HARDWARE) 270 271 /* 272 * If the Hardware Reduced flag is set (from the FADT), we must 273 * use the extended sleep registers 274 */ 275 if (AcpiGbl_ReducedHardware || 276 AcpiGbl_FADT.SleepControl.Address) 277 { |
280 Status = SleepFunctions->ExtendedFunction (SleepState, Flags); | 278 Status = SleepFunctions->ExtendedFunction (SleepState); |
281 } 282 else 283 { 284 /* Legacy sleep */ 285 | 279 } 280 else 281 { 282 /* Legacy sleep */ 283 |
286 Status = SleepFunctions->LegacyFunction (SleepState, Flags); | 284 Status = SleepFunctions->LegacyFunction (SleepState); |
287 } 288 289 return (Status); 290 291#else 292 /* 293 * For the case where reduced-hardware-only code is being generated, 294 * we know that only the extended sleep registers are available 295 */ | 285 } 286 287 return (Status); 288 289#else 290 /* 291 * For the case where reduced-hardware-only code is being generated, 292 * we know that only the extended sleep registers are available 293 */ |
296 Status = SleepFunctions->ExtendedFunction (SleepState, Flags); | 294 Status = SleepFunctions->ExtendedFunction (SleepState); |
297 return (Status); 298 299#endif /* !ACPI_REDUCED_HARDWARE */ 300} 301 302 303/******************************************************************************* 304 * --- 77 unchanged lines hidden (view full) --- 382ACPI_EXPORT_SYMBOL (AcpiEnterSleepStatePrep) 383 384 385/******************************************************************************* 386 * 387 * FUNCTION: AcpiEnterSleepState 388 * 389 * PARAMETERS: SleepState - Which sleep state to enter | 295 return (Status); 296 297#endif /* !ACPI_REDUCED_HARDWARE */ 298} 299 300 301/******************************************************************************* 302 * --- 77 unchanged lines hidden (view full) --- 380ACPI_EXPORT_SYMBOL (AcpiEnterSleepStatePrep) 381 382 383/******************************************************************************* 384 * 385 * FUNCTION: AcpiEnterSleepState 386 * 387 * PARAMETERS: SleepState - Which sleep state to enter |
390 * Flags - ACPI_EXECUTE_GTS to run optional method | |
391 * 392 * RETURN: Status 393 * 394 * DESCRIPTION: Enter a system sleep state 395 * THIS FUNCTION MUST BE CALLED WITH INTERRUPTS DISABLED 396 * 397 ******************************************************************************/ 398 399ACPI_STATUS 400AcpiEnterSleepState ( | 388 * 389 * RETURN: Status 390 * 391 * DESCRIPTION: Enter a system sleep state 392 * THIS FUNCTION MUST BE CALLED WITH INTERRUPTS DISABLED 393 * 394 ******************************************************************************/ 395 396ACPI_STATUS 397AcpiEnterSleepState ( |
401 UINT8 SleepState, 402 UINT8 Flags) | 398 UINT8 SleepState) |
403{ 404 ACPI_STATUS Status; 405 406 407 ACPI_FUNCTION_TRACE (AcpiEnterSleepState); 408 409 410 if ((AcpiGbl_SleepTypeA > ACPI_SLEEP_TYPE_MAX) || 411 (AcpiGbl_SleepTypeB > ACPI_SLEEP_TYPE_MAX)) 412 { 413 ACPI_ERROR ((AE_INFO, "Sleep values out of range: A=0x%X B=0x%X", 414 AcpiGbl_SleepTypeA, AcpiGbl_SleepTypeB)); 415 return_ACPI_STATUS (AE_AML_OPERAND_VALUE); 416 } 417 | 399{ 400 ACPI_STATUS Status; 401 402 403 ACPI_FUNCTION_TRACE (AcpiEnterSleepState); 404 405 406 if ((AcpiGbl_SleepTypeA > ACPI_SLEEP_TYPE_MAX) || 407 (AcpiGbl_SleepTypeB > ACPI_SLEEP_TYPE_MAX)) 408 { 409 ACPI_ERROR ((AE_INFO, "Sleep values out of range: A=0x%X B=0x%X", 410 AcpiGbl_SleepTypeA, AcpiGbl_SleepTypeB)); 411 return_ACPI_STATUS (AE_AML_OPERAND_VALUE); 412 } 413 |
418 Status = AcpiHwSleepDispatch (SleepState, Flags, ACPI_SLEEP_FUNCTION_ID); | 414 Status = AcpiHwSleepDispatch (SleepState, ACPI_SLEEP_FUNCTION_ID); |
419 return_ACPI_STATUS (Status); 420} 421 422ACPI_EXPORT_SYMBOL (AcpiEnterSleepState) 423 424 425/******************************************************************************* 426 * 427 * FUNCTION: AcpiLeaveSleepStatePrep 428 * 429 * PARAMETERS: SleepState - Which sleep state we are exiting | 415 return_ACPI_STATUS (Status); 416} 417 418ACPI_EXPORT_SYMBOL (AcpiEnterSleepState) 419 420 421/******************************************************************************* 422 * 423 * FUNCTION: AcpiLeaveSleepStatePrep 424 * 425 * PARAMETERS: SleepState - Which sleep state we are exiting |
430 * Flags - ACPI_EXECUTE_BFS to run optional method | |
431 * 432 * RETURN: Status 433 * 434 * DESCRIPTION: Perform the first state of OS-independent ACPI cleanup after a 435 * sleep. Called with interrupts DISABLED. 436 * We break wake/resume into 2 stages so that OSPM can handle 437 * various OS-specific tasks between the two steps. 438 * 439 ******************************************************************************/ 440 441ACPI_STATUS 442AcpiLeaveSleepStatePrep ( | 426 * 427 * RETURN: Status 428 * 429 * DESCRIPTION: Perform the first state of OS-independent ACPI cleanup after a 430 * sleep. Called with interrupts DISABLED. 431 * We break wake/resume into 2 stages so that OSPM can handle 432 * various OS-specific tasks between the two steps. 433 * 434 ******************************************************************************/ 435 436ACPI_STATUS 437AcpiLeaveSleepStatePrep ( |
443 UINT8 SleepState, 444 UINT8 Flags) | 438 UINT8 SleepState) |
445{ 446 ACPI_STATUS Status; 447 448 449 ACPI_FUNCTION_TRACE (AcpiLeaveSleepStatePrep); 450 451 | 439{ 440 ACPI_STATUS Status; 441 442 443 ACPI_FUNCTION_TRACE (AcpiLeaveSleepStatePrep); 444 445 |
452 Status = AcpiHwSleepDispatch (SleepState, Flags, ACPI_WAKE_PREP_FUNCTION_ID); | 446 Status = AcpiHwSleepDispatch (SleepState, ACPI_WAKE_PREP_FUNCTION_ID); |
453 return_ACPI_STATUS (Status); 454} 455 456ACPI_EXPORT_SYMBOL (AcpiLeaveSleepStatePrep) 457 458 459/******************************************************************************* 460 * --- 13 unchanged lines hidden (view full) --- 474 UINT8 SleepState) 475{ 476 ACPI_STATUS Status; 477 478 479 ACPI_FUNCTION_TRACE (AcpiLeaveSleepState); 480 481 | 447 return_ACPI_STATUS (Status); 448} 449 450ACPI_EXPORT_SYMBOL (AcpiLeaveSleepStatePrep) 451 452 453/******************************************************************************* 454 * --- 13 unchanged lines hidden (view full) --- 468 UINT8 SleepState) 469{ 470 ACPI_STATUS Status; 471 472 473 ACPI_FUNCTION_TRACE (AcpiLeaveSleepState); 474 475 |
482 Status = AcpiHwSleepDispatch (SleepState, 0, ACPI_WAKE_FUNCTION_ID); | 476 Status = AcpiHwSleepDispatch (SleepState, ACPI_WAKE_FUNCTION_ID); |
483 return_ACPI_STATUS (Status); 484} 485 486ACPI_EXPORT_SYMBOL (AcpiLeaveSleepState) | 477 return_ACPI_STATUS (Status); 478} 479 480ACPI_EXPORT_SYMBOL (AcpiLeaveSleepState) |