102 lines
2 KiB
C
102 lines
2 KiB
C
/*
|
|
* ACPIGPIO.C -- ACPI OS Independent functions for low-level General-Purpose Event register I/O.
|
|
*
|
|
* Notes:
|
|
*
|
|
* This file provides OS independent functions that are called to read/write the GPE registers,
|
|
* perform index <--> register translation, and to validate index values.
|
|
*
|
|
* This is the only place where the GPE0 and GPE1 blocks are differentiated.
|
|
*
|
|
*/
|
|
|
|
#include "pch.h"
|
|
|
|
|
|
UCHAR
|
|
ACPIReadGpeStatusRegister (
|
|
ULONG Register
|
|
)
|
|
/*++
|
|
|
|
Routine Description:
|
|
|
|
Read a GPE status register. Differentiation between GP0 and GP1 is
|
|
handled here.
|
|
|
|
Arguments:
|
|
|
|
Register - The GPE status register to read. Registers are numbered sequentially,
|
|
GP0 block first, then GP1 block appended.
|
|
Return Value:
|
|
|
|
The value of the status register
|
|
|
|
--*/
|
|
{
|
|
return (UCHAR) READ_ACPI_REGISTER(GP_STATUS, Register);
|
|
}
|
|
|
|
|
|
VOID
|
|
ACPIWriteGpeStatusRegister (
|
|
ULONG Register,
|
|
UCHAR Value
|
|
)
|
|
/*++
|
|
|
|
Routine Description:
|
|
|
|
Write a GPE status register. Differentiation between GP0 and GP1 is
|
|
handled here.
|
|
|
|
Arguments:
|
|
|
|
Register - The GPE status register to write. Registers are numbered sequentially,
|
|
GP0 block first, then GP1 block appended.
|
|
Value - The value to be written
|
|
|
|
Return Value:
|
|
|
|
None
|
|
|
|
--*/
|
|
{
|
|
WRITE_ACPI_REGISTER(GP_STATUS, Register, (USHORT) Value);
|
|
}
|
|
|
|
|
|
VOID
|
|
ACPIWriteGpeEnableRegister (
|
|
ULONG Register,
|
|
UCHAR Value
|
|
)
|
|
/*++
|
|
|
|
Routine Description:
|
|
|
|
Write a GPE Enable register. Differentiation between GP0 and GP1 is
|
|
handled here.
|
|
|
|
Arguments:
|
|
|
|
Register - The GPE enable register to write. Registers are numbered sequentially,
|
|
GP0 block first, then GP1 block appended.
|
|
Value - The value to be written
|
|
|
|
Return Value:
|
|
|
|
None
|
|
|
|
--*/
|
|
{
|
|
ACPIPrint( (
|
|
ACPI_PRINT_DPC,
|
|
"ACPIWriteGpeEnableRegister: Writing GPE Enable register %x = %x\n",
|
|
Register, Value
|
|
) );
|
|
|
|
WRITE_ACPI_REGISTER(GP_ENABLE, Register, (USHORT) Value);
|
|
}
|
|
|