Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 69874165 authored by Alexey Starikovskiy's avatar Alexey Starikovskiy Committed by Len Brown
Browse files

ACPICA: Store GPE number instead of bitmask



Update internal GPE data structure to simplify
debug, use gpe_number instead of register bitmask.

Signed-off-by: default avatarBob Moore <bob.moore@intel.com>
Signed-off-by: default avatarLen Brown <len.brown@intel.com>
parent 3d81b236
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -121,7 +121,9 @@ acpi_ev_update_gpe_enable_masks(struct acpi_gpe_event_info *gpe_event_info,
	if (!gpe_register_info) {
		return_ACPI_STATUS(AE_NOT_EXIST);
	}
	register_bit = gpe_event_info->register_bit;
	register_bit = (u8)
	    (1 <<
	     (gpe_event_info->gpe_number - gpe_register_info->base_gpe_number));

	/* 1) Disable case.  Simply clear all enable bits */

@@ -458,8 +460,7 @@ u32 acpi_ev_gpe_detect(struct acpi_gpe_xrupt_info * gpe_xrupt_list)

				/* Examine one GPE bit */

				if (enabled_status_byte &
				    acpi_gbl_decode_to8bit[j]) {
				if (enabled_status_byte & (1 << j)) {
					/*
					 * Found an active GPE. Dispatch the event to a handler
					 * or method.
+2 −1
Original line number Diff line number Diff line
@@ -819,7 +819,8 @@ acpi_ev_create_gpe_info_blocks(struct acpi_gpe_block_info *gpe_block)
		/* Init the event_info for each GPE within this register */

		for (j = 0; j < ACPI_GPE_REGISTER_WIDTH; j++) {
			this_event->register_bit = acpi_gbl_decode_to8bit[j];
			this_event->gpe_number =
			    (u8) (this_register->base_gpe_number + j);
			this_event->register_info = this_register;
			this_event++;
		}
+11 −2
Original line number Diff line number Diff line
@@ -105,14 +105,20 @@ acpi_hw_write_gpe_enable_reg(struct acpi_gpe_event_info *gpe_event_info)
acpi_status acpi_hw_clear_gpe(struct acpi_gpe_event_info * gpe_event_info)
{
	acpi_status status;
	u8 register_bit;

	ACPI_FUNCTION_ENTRY();

	register_bit = (u8)
	    (1 <<
	     (gpe_event_info->gpe_number -
	      gpe_event_info->register_info->base_gpe_number));

	/*
	 * Write a one to the appropriate bit in the status register to
	 * clear this GPE.
	 */
	status = acpi_hw_low_level_write(8, gpe_event_info->register_bit,
	status = acpi_hw_low_level_write(8, register_bit,
					 &gpe_event_info->register_info->
					 status_address);

@@ -155,7 +161,10 @@ acpi_hw_get_gpe_status(struct acpi_gpe_event_info * gpe_event_info,

	/* Get the register bitmask for this GPE */

	register_bit = gpe_event_info->register_bit;
	register_bit = (u8)
	    (1 <<
	     (gpe_event_info->gpe_number -
	      gpe_event_info->register_info->base_gpe_number));

	/* GPE currently enabled? (enabled for runtime?) */

+0 −2
Original line number Diff line number Diff line
@@ -164,8 +164,6 @@ u32 acpi_gbl_startup_flags = 0;

u8 acpi_gbl_shutdown = TRUE;

const u8 acpi_gbl_decode_to8bit[8] = { 1, 2, 4, 8, 16, 32, 64, 128 };

const char *acpi_gbl_sleep_state_names[ACPI_S_STATE_COUNT] = {
	"\\_S0_",
	"\\_S1_",
+0 −1
Original line number Diff line number Diff line
@@ -240,7 +240,6 @@ ACPI_EXTERN u8 acpi_gbl_system_awake_and_running;

extern u8 acpi_gbl_shutdown;
extern u32 acpi_gbl_startup_flags;
extern const u8 acpi_gbl_decode_to8bit[8];
extern const char *acpi_gbl_sleep_state_names[ACPI_S_STATE_COUNT];
extern const char *acpi_gbl_highest_dstate_names[4];
extern const struct acpi_opcode_info acpi_gbl_aml_op_info[AML_NUM_OPCODES];
Loading