FreeBSD/sys/x86/acpica/madt.c
/*
 * Determine properties of an interrupt source.  Note that for ACPI these
 * functions are only used for ISA interrupts, so we assume ISA bus values
 * (Active Hi, Edge Triggered) for conforming values except for the ACPI
 * SCI for which we use Active Lo, Level Triggered.
 */
Determine properties of an interrupt source.  Note that for ACPI these
functions are only used for ISA interrupts, so we assume ISA bus values
(Active Hi, Edge Triggered) for conforming values except for the ACPI
SCI for which we use Active Lo, Level Triggered.
Determine properties of an interrupt source . Note that for ACPI these functions are only used for ISA interrupts so we assume ISA bus values ( Active Hi Edge Triggered ) for conforming values except for the ACPI SCI for which we use Active Lo Level Triggered .
static enum intr_polarity
interrupt_polarity(UINT16 IntiFlags, UINT8 Source)
{
	switch (IntiFlags & ACPI_MADT_POLARITY_MASK) {
	default:
		printf("WARNING: Bogus Interrupt Polarity. Assume CONFORMS\n");
	case ACPI_MADT_POLARITY_CONFORMS:
		if (Source == AcpiGbl_FADT.SciInterrupt)
			return (INTR_POLARITY_LOW);
		else
			return (INTR_POLARITY_HIGH);
	case ACPI_MADT_POLARITY_ACTIVE_HIGH:
		return (INTR_POLARITY_HIGH);
	case ACPI_MADT_POLARITY_ACTIVE_LOW:
		return (INTR_POLARITY_LOW);
	}
}
static enum intr_polarity interrupt_polarity ( UINT16 IntiFlags , UINT8 Source ) { switch ( IntiFlags & ACPI_MADT_POLARITY_MASK ) { default : printf ( " \n " ) ; case ACPI_MADT_POLARITY_CONFORMS : if ( Source == AcpiGbl_FADT . SciInterrupt ) return ( INTR_POLARITY_LOW ) ; else return ( INTR_POLARITY_HIGH ) ; case ACPI_MADT_POLARITY_ACTIVE_HIGH : return ( INTR_POLARITY_HIGH ) ; case ACPI_MADT_POLARITY_ACTIVE_LOW : return ( INTR_POLARITY_LOW ) ; } }
Determine properties of an interrupt source.
Determine properties of an interrupt source .
/* FALLTHROUGH*/