View | Details | Raw Unified | Return to bug 217069
Collapse All | Expand All

(-)a/drivers/acpi/acpica/evevent.c (-12 / +25 lines)
Lines 139-153 static acpi_status acpi_ev_fixed_event_initialize(void) Link Here
139
		/* Disable the fixed event */
139
		/* Disable the fixed event */
140
140
141
		if (acpi_gbl_fixed_event_info[i].enable_register_id != 0xFF) {
141
		if (acpi_gbl_fixed_event_info[i].enable_register_id != 0xFF) {
142
			status =
142
			if (i == ACPI_EVENT_PCIE_WAKE) {
143
			    acpi_write_bit_register(acpi_gbl_fixed_event_info
143
				if ((acpi_gbl_FADT.flags & ACPI_FADT_PCI_EXPRESS_WAKE)) {
144
						    [i].enable_register_id,
144
					status = acpi_write_bit_register(
145
						    (i ==
145
						acpi_gbl_fixed_event_info[i].enable_register_id,
146
						     ACPI_EVENT_PCIE_WAKE) ?
146
						ACPI_ENABLE_EVENT);
147
						    ACPI_ENABLE_EVENT :
147
148
						    ACPI_DISABLE_EVENT);
148
					if (ACPI_FAILURE(status)) {
149
			if (ACPI_FAILURE(status)) {
149
						return (status);
150
				return (status);
150
					}
151
				}
152
			} else {
153
				status = acpi_write_bit_register(
154
						acpi_gbl_fixed_event_info[i].enable_register_id,
155
						ACPI_DISABLE_EVENT);
156
157
				if (ACPI_FAILURE(status)) {
158
					return (status);
159
				}
151
			}
160
			}
152
		}
161
		}
153
	}
162
	}
Lines 188-197 u32 acpi_ev_fixed_event_detect(void) Link Here
188
		return (int_status);
197
		return (int_status);
189
	}
198
	}
190
199
191
	if (fixed_enable & ACPI_BITMASK_PCIEXP_WAKE_DISABLE)
200
201
	if (acpi_gbl_FADT.flags & ACPI_FADT_PCI_EXPRESS_WAKE) {
202
		if (fixed_enable & ACPI_BITMASK_PCIEXP_WAKE_DISABLE)
203
			fixed_enable &= ~ACPI_BITMASK_PCIEXP_WAKE_DISABLE;
204
		else
205
			fixed_enable |= ACPI_BITMASK_PCIEXP_WAKE_DISABLE;
206
	} else
192
		fixed_enable &= ~ACPI_BITMASK_PCIEXP_WAKE_DISABLE;
207
		fixed_enable &= ~ACPI_BITMASK_PCIEXP_WAKE_DISABLE;
193
	else
194
		fixed_enable |= ACPI_BITMASK_PCIEXP_WAKE_DISABLE;
195
208
196
	ACPI_DEBUG_PRINT((ACPI_DB_INTERRUPTS,
209
	ACPI_DEBUG_PRINT((ACPI_DB_INTERRUPTS,
197
			  "Fixed Event Block: Enable %08X Status %08X\n",
210
			  "Fixed Event Block: Enable %08X Status %08X\n",
(-)a/drivers/acpi/acpica/hwsleep.c (-3 / +11 lines)
Lines 68-73 acpi_status acpi_hw_legacy_sleep(u8 sleep_state) Link Here
68
		return_ACPI_STATUS(status);
68
		return_ACPI_STATUS(status);
69
	}
69
	}
70
70
71
	/* Enable pcie wake event if support */
72
	if ((acpi_gbl_FADT.flags & ACPI_FADT_PCI_EXPRESS_WAKE)) {
73
		(void)
74
		    acpi_write_bit_register(acpi_gbl_fixed_event_info
75
					    [ACPI_EVENT_PCIE_WAKE].
76
					    enable_register_id,
77
					    ACPI_DISABLE_EVENT);
78
	}
79
71
	/* Get current value of PM1A control */
80
	/* Get current value of PM1A control */
72
81
73
	status = acpi_hw_register_read(ACPI_REGISTER_PM1_CONTROL,
82
	status = acpi_hw_register_read(ACPI_REGISTER_PM1_CONTROL,
Lines 311-323 acpi_status acpi_hw_legacy_wake(u8 sleep_state) Link Here
311
				    [ACPI_EVENT_SLEEP_BUTTON].
320
				    [ACPI_EVENT_SLEEP_BUTTON].
312
				    status_register_id, ACPI_CLEAR_STATUS);
321
				    status_register_id, ACPI_CLEAR_STATUS);
313
322
314
	/* Enable pcie wake event if support */
323
	/* Clear and disable pcie wake event if support */
315
	if ((acpi_gbl_FADT.flags & ACPI_FADT_PCI_EXPRESS_WAKE)) {
324
	if ((acpi_gbl_FADT.flags & ACPI_FADT_PCI_EXPRESS_WAKE)) {
316
		(void)
325
		(void)
317
		    acpi_write_bit_register(acpi_gbl_fixed_event_info
326
		    acpi_write_bit_register(acpi_gbl_fixed_event_info
318
					    [ACPI_EVENT_PCIE_WAKE].
327
					    [ACPI_EVENT_PCIE_WAKE].
319
					    enable_register_id,
328
					    enable_register_id,
320
					    ACPI_DISABLE_EVENT);
329
					    ACPI_ENABLE_EVENT);
321
		(void)
330
		(void)
322
		    acpi_write_bit_register(acpi_gbl_fixed_event_info
331
		    acpi_write_bit_register(acpi_gbl_fixed_event_info
323
					    [ACPI_EVENT_PCIE_WAKE].
332
					    [ACPI_EVENT_PCIE_WAKE].
324
- 

Return to bug 217069