mirror of
https://github.com/acpica/acpica/
synced 2025-02-15 04:54:20 +03:00
New: AcpiRead and AcpiWrite public interfaces.
Changed the HwLowLevelRead and HwLowLevelWrite functions to the public AcpiRead and AcpiWrite to allow direct access to ACPI registers. Removed the "width" parameter since the width can be obtained from the input GAS structure. Updated the FADT initialization to setup the GAS structures with the proper widths. Some widths are still hardcoded because many FADTs have incorrect register lengths.
This commit is contained in:
parent
73b9a81c06
commit
8ce404a262
@ -542,8 +542,7 @@ AcpiEvGpeDetect (
|
||||
|
||||
/* Read the Status Register */
|
||||
|
||||
Status = AcpiHwLowLevelRead (ACPI_GPE_REGISTER_WIDTH, &StatusReg,
|
||||
&GpeRegisterInfo->StatusAddress);
|
||||
Status = AcpiRead (&StatusReg, &GpeRegisterInfo->StatusAddress);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
goto UnlockAndExit;
|
||||
@ -551,8 +550,7 @@ AcpiEvGpeDetect (
|
||||
|
||||
/* Read the Enable Register */
|
||||
|
||||
Status = AcpiHwLowLevelRead (ACPI_GPE_REGISTER_WIDTH, &EnableReg,
|
||||
&GpeRegisterInfo->EnableAddress);
|
||||
Status = AcpiRead (&EnableReg, &GpeRegisterInfo->EnableAddress);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
goto UnlockAndExit;
|
||||
|
@ -972,8 +972,8 @@ AcpiEvCreateGpeInfoBlocks (
|
||||
ThisRegister->EnableAddress.SpaceId = GpeBlock->BlockAddress.SpaceId;
|
||||
ThisRegister->StatusAddress.BitWidth = ACPI_GPE_REGISTER_WIDTH;
|
||||
ThisRegister->EnableAddress.BitWidth = ACPI_GPE_REGISTER_WIDTH;
|
||||
ThisRegister->StatusAddress.BitOffset = ACPI_GPE_REGISTER_WIDTH;
|
||||
ThisRegister->EnableAddress.BitOffset = ACPI_GPE_REGISTER_WIDTH;
|
||||
ThisRegister->StatusAddress.BitOffset = 0;
|
||||
ThisRegister->EnableAddress.BitOffset = 0;
|
||||
|
||||
/* Init the EventInfo for each GPE within this register */
|
||||
|
||||
@ -986,8 +986,7 @@ AcpiEvCreateGpeInfoBlocks (
|
||||
|
||||
/* Disable all GPEs within this register */
|
||||
|
||||
Status = AcpiHwLowLevelWrite (ACPI_GPE_REGISTER_WIDTH, 0x00,
|
||||
&ThisRegister->EnableAddress);
|
||||
Status = AcpiWrite (0x00, &ThisRegister->EnableAddress);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
goto ErrorExit;
|
||||
@ -995,8 +994,7 @@ AcpiEvCreateGpeInfoBlocks (
|
||||
|
||||
/* Clear any pending GPE events within this register */
|
||||
|
||||
Status = AcpiHwLowLevelWrite (ACPI_GPE_REGISTER_WIDTH, 0xFF,
|
||||
&ThisRegister->StatusAddress);
|
||||
Status = AcpiWrite (0xFF, &ThisRegister->StatusAddress);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
goto ErrorExit;
|
||||
|
@ -161,8 +161,7 @@ AcpiHwLowDisableGpe (
|
||||
|
||||
/* Get current value of the enable register that contains this GPE */
|
||||
|
||||
Status = AcpiHwLowLevelRead (ACPI_GPE_REGISTER_WIDTH, &EnableMask,
|
||||
&GpeRegisterInfo->EnableAddress);
|
||||
Status = AcpiRead (&EnableMask, &GpeRegisterInfo->EnableAddress);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
return (Status);
|
||||
@ -176,9 +175,7 @@ AcpiHwLowDisableGpe (
|
||||
|
||||
/* Write the updated enable mask */
|
||||
|
||||
Status = AcpiHwLowLevelWrite (ACPI_GPE_REGISTER_WIDTH, EnableMask,
|
||||
&GpeRegisterInfo->EnableAddress);
|
||||
|
||||
Status = AcpiWrite (EnableMask, &GpeRegisterInfo->EnableAddress);
|
||||
return (Status);
|
||||
}
|
||||
|
||||
@ -218,7 +215,7 @@ AcpiHwWriteGpeEnableReg (
|
||||
|
||||
/* Write the entire GPE (runtime) enable register */
|
||||
|
||||
Status = AcpiHwLowLevelWrite (8, GpeRegisterInfo->EnableForRun,
|
||||
Status = AcpiWrite (GpeRegisterInfo->EnableForRun,
|
||||
&GpeRegisterInfo->EnableAddress);
|
||||
|
||||
return (Status);
|
||||
@ -255,7 +252,7 @@ AcpiHwClearGpe (
|
||||
* Write a one to the appropriate bit in the status register to
|
||||
* clear this GPE.
|
||||
*/
|
||||
Status = AcpiHwLowLevelWrite (8, RegisterBit,
|
||||
Status = AcpiWrite (RegisterBit,
|
||||
&GpeEventInfo->RegisterInfo->StatusAddress);
|
||||
|
||||
return (Status);
|
||||
@ -320,7 +317,7 @@ AcpiHwGetGpeStatus (
|
||||
|
||||
/* GPE currently active (status bit == 1)? */
|
||||
|
||||
Status = AcpiHwLowLevelRead (8, &InByte, &GpeRegisterInfo->StatusAddress);
|
||||
Status = AcpiRead (&InByte, &GpeRegisterInfo->StatusAddress);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
goto UnlockAndExit;
|
||||
@ -370,8 +367,7 @@ AcpiHwDisableGpeBlock (
|
||||
{
|
||||
/* Disable all GPEs in this register */
|
||||
|
||||
Status = AcpiHwLowLevelWrite (8, 0x00,
|
||||
&GpeBlock->RegisterInfo[i].EnableAddress);
|
||||
Status = AcpiWrite (0x00, &GpeBlock->RegisterInfo[i].EnableAddress);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
return (Status);
|
||||
@ -411,8 +407,7 @@ AcpiHwClearGpeBlock (
|
||||
{
|
||||
/* Clear status on all GPEs in this register */
|
||||
|
||||
Status = AcpiHwLowLevelWrite (8, 0xFF,
|
||||
&GpeBlock->RegisterInfo[i].StatusAddress);
|
||||
Status = AcpiWrite (0xFF, &GpeBlock->RegisterInfo[i].StatusAddress);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
return (Status);
|
||||
@ -460,7 +455,7 @@ AcpiHwEnableRuntimeGpeBlock (
|
||||
|
||||
/* Enable all "runtime" GPEs in this register */
|
||||
|
||||
Status = AcpiHwLowLevelWrite (8, GpeBlock->RegisterInfo[i].EnableForRun,
|
||||
Status = AcpiWrite (GpeBlock->RegisterInfo[i].EnableForRun,
|
||||
&GpeBlock->RegisterInfo[i].EnableAddress);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
@ -507,8 +502,7 @@ AcpiHwEnableWakeupGpeBlock (
|
||||
|
||||
/* Enable all "wake" GPEs in this register */
|
||||
|
||||
Status = AcpiHwLowLevelWrite (8,
|
||||
GpeBlock->RegisterInfo[i].EnableForWake,
|
||||
Status = AcpiWrite (GpeBlock->RegisterInfo[i].EnableForWake,
|
||||
&GpeBlock->RegisterInfo[i].EnableAddress);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
|
@ -167,7 +167,7 @@ AcpiHwClearAcpiStatus (
|
||||
|
||||
if (AcpiGbl_FADT.XPm1bEventBlock.Address)
|
||||
{
|
||||
Status = AcpiHwLowLevelWrite (16, ACPI_BITMASK_ALL_FIXED_STATUS,
|
||||
Status = AcpiWrite (ACPI_BITMASK_ALL_FIXED_STATUS,
|
||||
&AcpiGbl_FADT.XPm1bEventBlock);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
@ -400,6 +400,8 @@ AcpiGetRegisterUnlocked (
|
||||
return_ACPI_STATUS (Status);
|
||||
}
|
||||
|
||||
ACPI_EXPORT_SYMBOL (AcpiGetRegisterUnlocked)
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
*
|
||||
@ -616,7 +618,7 @@ AcpiHwRegisterRead (
|
||||
{
|
||||
case ACPI_REGISTER_PM1_STATUS: /* 16-bit access */
|
||||
|
||||
Status = AcpiHwLowLevelRead (16, &Value1, &AcpiGbl_FADT.XPm1aEventBlock);
|
||||
Status = AcpiRead (&Value1, &AcpiGbl_FADT.XPm1aEventBlock);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
goto Exit;
|
||||
@ -624,14 +626,14 @@ AcpiHwRegisterRead (
|
||||
|
||||
/* PM1B is optional */
|
||||
|
||||
Status = AcpiHwLowLevelRead (16, &Value2, &AcpiGbl_FADT.XPm1bEventBlock);
|
||||
Status = AcpiRead (&Value2, &AcpiGbl_FADT.XPm1bEventBlock);
|
||||
Value1 |= Value2;
|
||||
break;
|
||||
|
||||
|
||||
case ACPI_REGISTER_PM1_ENABLE: /* 16-bit access */
|
||||
|
||||
Status = AcpiHwLowLevelRead (16, &Value1, &AcpiGbl_XPm1aEnable);
|
||||
Status = AcpiRead (&Value1, &AcpiGbl_XPm1aEnable);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
goto Exit;
|
||||
@ -639,33 +641,33 @@ AcpiHwRegisterRead (
|
||||
|
||||
/* PM1B is optional */
|
||||
|
||||
Status = AcpiHwLowLevelRead (16, &Value2, &AcpiGbl_XPm1bEnable);
|
||||
Status = AcpiRead (&Value2, &AcpiGbl_XPm1bEnable);
|
||||
Value1 |= Value2;
|
||||
break;
|
||||
|
||||
|
||||
case ACPI_REGISTER_PM1_CONTROL: /* 16-bit access */
|
||||
|
||||
Status = AcpiHwLowLevelRead (16, &Value1, &AcpiGbl_FADT.XPm1aControlBlock);
|
||||
Status = AcpiRead (&Value1, &AcpiGbl_FADT.XPm1aControlBlock);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
goto Exit;
|
||||
}
|
||||
|
||||
Status = AcpiHwLowLevelRead (16, &Value2, &AcpiGbl_FADT.XPm1bControlBlock);
|
||||
Status = AcpiRead (&Value2, &AcpiGbl_FADT.XPm1bControlBlock);
|
||||
Value1 |= Value2;
|
||||
break;
|
||||
|
||||
|
||||
case ACPI_REGISTER_PM2_CONTROL: /* 8-bit access */
|
||||
|
||||
Status = AcpiHwLowLevelRead (8, &Value1, &AcpiGbl_FADT.XPm2ControlBlock);
|
||||
Status = AcpiRead (&Value1, &AcpiGbl_FADT.XPm2ControlBlock);
|
||||
break;
|
||||
|
||||
|
||||
case ACPI_REGISTER_PM_TIMER: /* 32-bit access */
|
||||
|
||||
Status = AcpiHwLowLevelRead (32, &Value1, &AcpiGbl_FADT.XPmTimerBlock);
|
||||
Status = AcpiRead (&Value1, &AcpiGbl_FADT.XPmTimerBlock);
|
||||
break;
|
||||
|
||||
case ACPI_REGISTER_SMI_COMMAND_BLOCK: /* 8-bit access */
|
||||
@ -747,7 +749,7 @@ AcpiHwRegisterWrite (
|
||||
|
||||
/* Now we can write the data */
|
||||
|
||||
Status = AcpiHwLowLevelWrite (16, Value, &AcpiGbl_FADT.XPm1aEventBlock);
|
||||
Status = AcpiWrite (Value, &AcpiGbl_FADT.XPm1aEventBlock);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
goto Exit;
|
||||
@ -755,13 +757,13 @@ AcpiHwRegisterWrite (
|
||||
|
||||
/* PM1B is optional */
|
||||
|
||||
Status = AcpiHwLowLevelWrite (16, Value, &AcpiGbl_FADT.XPm1bEventBlock);
|
||||
Status = AcpiWrite (Value, &AcpiGbl_FADT.XPm1bEventBlock);
|
||||
break;
|
||||
|
||||
|
||||
case ACPI_REGISTER_PM1_ENABLE: /* 16-bit access */
|
||||
|
||||
Status = AcpiHwLowLevelWrite (16, Value, &AcpiGbl_XPm1aEnable);
|
||||
Status = AcpiWrite (Value, &AcpiGbl_XPm1aEnable);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
goto Exit;
|
||||
@ -769,7 +771,7 @@ AcpiHwRegisterWrite (
|
||||
|
||||
/* PM1B is optional */
|
||||
|
||||
Status = AcpiHwLowLevelWrite (16, Value, &AcpiGbl_XPm1bEnable);
|
||||
Status = AcpiWrite (Value, &AcpiGbl_XPm1bEnable);
|
||||
break;
|
||||
|
||||
|
||||
@ -793,37 +795,37 @@ AcpiHwRegisterWrite (
|
||||
|
||||
/* Now we can write the data */
|
||||
|
||||
Status = AcpiHwLowLevelWrite (16, Value, &AcpiGbl_FADT.XPm1aControlBlock);
|
||||
Status = AcpiWrite (Value, &AcpiGbl_FADT.XPm1aControlBlock);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
goto Exit;
|
||||
}
|
||||
|
||||
Status = AcpiHwLowLevelWrite (16, Value, &AcpiGbl_FADT.XPm1bControlBlock);
|
||||
Status = AcpiWrite (Value, &AcpiGbl_FADT.XPm1bControlBlock);
|
||||
break;
|
||||
|
||||
|
||||
case ACPI_REGISTER_PM1A_CONTROL: /* 16-bit access */
|
||||
|
||||
Status = AcpiHwLowLevelWrite (16, Value, &AcpiGbl_FADT.XPm1aControlBlock);
|
||||
Status = AcpiWrite (Value, &AcpiGbl_FADT.XPm1aControlBlock);
|
||||
break;
|
||||
|
||||
|
||||
case ACPI_REGISTER_PM1B_CONTROL: /* 16-bit access */
|
||||
|
||||
Status = AcpiHwLowLevelWrite (16, Value, &AcpiGbl_FADT.XPm1bControlBlock);
|
||||
Status = AcpiWrite (Value, &AcpiGbl_FADT.XPm1bControlBlock);
|
||||
break;
|
||||
|
||||
|
||||
case ACPI_REGISTER_PM2_CONTROL: /* 8-bit access */
|
||||
|
||||
Status = AcpiHwLowLevelWrite (8, Value, &AcpiGbl_FADT.XPm2ControlBlock);
|
||||
Status = AcpiWrite (Value, &AcpiGbl_FADT.XPm2ControlBlock);
|
||||
break;
|
||||
|
||||
|
||||
case ACPI_REGISTER_PM_TIMER: /* 32-bit access */
|
||||
|
||||
Status = AcpiHwLowLevelWrite (32, Value, &AcpiGbl_FADT.XPmTimerBlock);
|
||||
Status = AcpiWrite (Value, &AcpiGbl_FADT.XPmTimerBlock);
|
||||
break;
|
||||
|
||||
|
||||
@ -847,10 +849,9 @@ Exit:
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* FUNCTION: AcpiHwLowLevelRead
|
||||
* FUNCTION: AcpiRead
|
||||
*
|
||||
* PARAMETERS: Width - 8, 16, or 32
|
||||
* Value - Where the value is returned
|
||||
* PARAMETERS: Value - Where the value is returned
|
||||
* Reg - GAS register structure
|
||||
*
|
||||
* RETURN: Status
|
||||
@ -860,16 +861,16 @@ Exit:
|
||||
******************************************************************************/
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiHwLowLevelRead (
|
||||
UINT32 Width,
|
||||
AcpiRead (
|
||||
UINT32 *Value,
|
||||
ACPI_GENERIC_ADDRESS *Reg)
|
||||
{
|
||||
UINT32 Width;
|
||||
UINT64 Address;
|
||||
ACPI_STATUS Status;
|
||||
|
||||
|
||||
ACPI_FUNCTION_NAME (HwLowLevelRead);
|
||||
ACPI_FUNCTION_NAME (AcpiRead);
|
||||
|
||||
|
||||
/*
|
||||
@ -889,6 +890,17 @@ AcpiHwLowLevelRead (
|
||||
{
|
||||
return (AE_OK);
|
||||
}
|
||||
|
||||
/* Supported widths are 8/16/32 */
|
||||
|
||||
Width = Reg->BitWidth;
|
||||
if ((Width != 8) && (Width != 16) && (Width != 32))
|
||||
{
|
||||
return (AE_SUPPORT);
|
||||
}
|
||||
|
||||
/* Initialize entire 32-bit return value to zero */
|
||||
|
||||
*Value = 0;
|
||||
|
||||
/*
|
||||
@ -924,13 +936,14 @@ AcpiHwLowLevelRead (
|
||||
return (Status);
|
||||
}
|
||||
|
||||
ACPI_EXPORT_SYMBOL (AcpiRead)
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* FUNCTION: AcpiHwLowLevelWrite
|
||||
* FUNCTION: AcpiWrite
|
||||
*
|
||||
* PARAMETERS: Width - 8, 16, or 32
|
||||
* Value - To be written
|
||||
* PARAMETERS: Value - To be written
|
||||
* Reg - GAS register structure
|
||||
*
|
||||
* RETURN: Status
|
||||
@ -940,16 +953,16 @@ AcpiHwLowLevelRead (
|
||||
******************************************************************************/
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiHwLowLevelWrite (
|
||||
UINT32 Width,
|
||||
AcpiWrite (
|
||||
UINT32 Value,
|
||||
ACPI_GENERIC_ADDRESS *Reg)
|
||||
{
|
||||
UINT32 Width;
|
||||
UINT64 Address;
|
||||
ACPI_STATUS Status;
|
||||
|
||||
|
||||
ACPI_FUNCTION_NAME (HwLowLevelWrite);
|
||||
ACPI_FUNCTION_NAME (AcpiWrite);
|
||||
|
||||
|
||||
/*
|
||||
@ -970,6 +983,14 @@ AcpiHwLowLevelWrite (
|
||||
return (AE_OK);
|
||||
}
|
||||
|
||||
/* Supported widths are 8/16/32 */
|
||||
|
||||
Width = Reg->BitWidth;
|
||||
if ((Width != 8) && (Width != 16) && (Width != 32))
|
||||
{
|
||||
return (AE_SUPPORT);
|
||||
}
|
||||
|
||||
/*
|
||||
* Two address spaces supported: Memory or IO.
|
||||
* PCI_Config is not supported here because the GAS struct is insufficient
|
||||
@ -1003,3 +1024,5 @@ AcpiHwLowLevelWrite (
|
||||
|
||||
return (Status);
|
||||
}
|
||||
|
||||
ACPI_EXPORT_SYMBOL (AcpiWrite)
|
||||
|
@ -187,7 +187,7 @@ AcpiGetTimer (
|
||||
return_ACPI_STATUS (AE_BAD_PARAMETER);
|
||||
}
|
||||
|
||||
Status = AcpiHwLowLevelRead (32, Ticks, &AcpiGbl_FADT.XPmTimerBlock);
|
||||
Status = AcpiRead (Ticks, &AcpiGbl_FADT.XPmTimerBlock);
|
||||
|
||||
return_ACPI_STATUS (Status);
|
||||
}
|
||||
|
@ -127,7 +127,7 @@
|
||||
static inline void
|
||||
AcpiTbInitGenericAddress (
|
||||
ACPI_GENERIC_ADDRESS *GenericAddress,
|
||||
UINT8 BitWidth,
|
||||
UINT8 ByteWidth,
|
||||
UINT64 Address);
|
||||
|
||||
static void
|
||||
@ -197,7 +197,7 @@ static ACPI_FADT_INFO FadtInfoTable[] =
|
||||
* FUNCTION: AcpiTbInitGenericAddress
|
||||
*
|
||||
* PARAMETERS: GenericAddress - GAS struct to be initialized
|
||||
* BitWidth - Width of this register
|
||||
* ByteWidth - Width of this register, in bytes
|
||||
* Address - Address of the register
|
||||
*
|
||||
* RETURN: None
|
||||
@ -211,7 +211,7 @@ static ACPI_FADT_INFO FadtInfoTable[] =
|
||||
static inline void
|
||||
AcpiTbInitGenericAddress (
|
||||
ACPI_GENERIC_ADDRESS *GenericAddress,
|
||||
UINT8 BitWidth,
|
||||
UINT8 ByteWidth,
|
||||
UINT64 Address)
|
||||
{
|
||||
|
||||
@ -224,7 +224,7 @@ AcpiTbInitGenericAddress (
|
||||
/* All other fields are byte-wide */
|
||||
|
||||
GenericAddress->SpaceId = ACPI_ADR_SPACE_SYSTEM_IO;
|
||||
GenericAddress->BitWidth = BitWidth;
|
||||
GenericAddress->BitWidth = (UINT8) (ByteWidth * 8);
|
||||
GenericAddress->BitOffset = 0;
|
||||
GenericAddress->AccessWidth = 0;
|
||||
}
|
||||
@ -474,6 +474,20 @@ AcpiTbConvertFadt (
|
||||
AcpiTbInitGenericAddress (&AcpiGbl_XPm1bEnable, Pm1RegisterLength,
|
||||
(AcpiGbl_FADT.XPm1bEventBlock.Address + Pm1RegisterLength));
|
||||
}
|
||||
|
||||
/*
|
||||
* Adjust register lengths so they are useful. Sizes of the PM event
|
||||
* and control registers are hardcoded here since many FADTs are incorrect
|
||||
* (especially the ControlBlock length.)
|
||||
*
|
||||
* Note: XPm1aEventBlock and XPm1bEventBlock are used to access the PM1
|
||||
* status registers. The PM1 enable registers are created above.
|
||||
*/
|
||||
AcpiGbl_FADT.XPm1aEventBlock.BitWidth = ACPI_PM1_REGISTER_WIDTH;
|
||||
AcpiGbl_FADT.XPm1bEventBlock.BitWidth = ACPI_PM1_REGISTER_WIDTH;
|
||||
AcpiGbl_FADT.XPm1aControlBlock.BitWidth = ACPI_PM1_REGISTER_WIDTH;
|
||||
AcpiGbl_FADT.XPm1bControlBlock.BitWidth = ACPI_PM1_REGISTER_WIDTH;
|
||||
AcpiGbl_FADT.XPm2ControlBlock.BitWidth = ACPI_PM2_REGISTER_WIDTH;
|
||||
}
|
||||
|
||||
|
||||
|
@ -155,18 +155,6 @@ AcpiHwRegisterWrite (
|
||||
UINT32 RegisterId,
|
||||
UINT32 Value);
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiHwLowLevelRead (
|
||||
UINT32 Width,
|
||||
UINT32 *Value,
|
||||
ACPI_GENERIC_ADDRESS *Reg);
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiHwLowLevelWrite (
|
||||
UINT32 Width,
|
||||
UINT32 Value,
|
||||
ACPI_GENERIC_ADDRESS *Reg);
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiHwClearAcpiStatus (
|
||||
void);
|
||||
|
@ -196,11 +196,6 @@ ACPI_STATUS
|
||||
AcpiPurgeCachedObjects (
|
||||
void);
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiInstallInitializationHandler (
|
||||
ACPI_INIT_HANDLER Handler,
|
||||
UINT32 Function);
|
||||
|
||||
|
||||
/*
|
||||
* ACPI Memory managment
|
||||
@ -358,9 +353,14 @@ AcpiGetParent (
|
||||
|
||||
|
||||
/*
|
||||
* Event handler interfaces
|
||||
* Handler interfaces
|
||||
*/
|
||||
ACPI_STATUS
|
||||
AcpiInstallInitializationHandler (
|
||||
ACPI_INIT_HANDLER Handler,
|
||||
UINT32 Function);
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiInstallFixedEventHandler (
|
||||
UINT32 AcpiEvent,
|
||||
ACPI_EVENT_HANDLER Handler,
|
||||
@ -574,6 +574,16 @@ AcpiSetRegister (
|
||||
UINT32 RegisterId,
|
||||
UINT32 Value);
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiRead (
|
||||
UINT32 *Value,
|
||||
ACPI_GENERIC_ADDRESS *Register);
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiWrite (
|
||||
UINT32 Value,
|
||||
ACPI_GENERIC_ADDRESS *Register);
|
||||
|
||||
ACPI_STATUS
|
||||
AcpiSetFirmwareWakingVector (
|
||||
UINT32 PhysicalAddress);
|
||||
|
@ -390,6 +390,8 @@ typedef UINT32 ACPI_PHYSICAL_ADDRESS;
|
||||
|
||||
#define ACPI_MAX_GPE_BLOCKS 2
|
||||
#define ACPI_GPE_REGISTER_WIDTH 8
|
||||
#define ACPI_PM1_REGISTER_WIDTH 16
|
||||
#define ACPI_PM2_REGISTER_WIDTH 8
|
||||
|
||||
/* Names within the namespace are 4 bytes long */
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user