aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/acpi')
-rw-r--r--drivers/acpi/events/evevent.c8
-rw-r--r--drivers/acpi/events/evmisc.c2
-rw-r--r--drivers/acpi/events/evxfevnt.c12
-rw-r--r--drivers/acpi/hardware/hwacpi.c3
-rw-r--r--drivers/acpi/hardware/hwregs.c18
-rw-r--r--drivers/acpi/hardware/hwsleep.c22
-rw-r--r--drivers/acpi/pci_link.c2
-rw-r--r--drivers/acpi/processor_idle.c21
8 files changed, 32 insertions, 56 deletions
diff --git a/drivers/acpi/events/evevent.c b/drivers/acpi/events/evevent.c
index 6b4bc99b1c2c..f09d1aa82edb 100644
--- a/drivers/acpi/events/evevent.c
+++ b/drivers/acpi/events/evevent.c
@@ -204,8 +204,7 @@ static acpi_status acpi_ev_fixed_event_initialize(void)
204 if (acpi_gbl_fixed_event_info[i].enable_register_id != 0xFF) { 204 if (acpi_gbl_fixed_event_info[i].enable_register_id != 0xFF) {
205 status = 205 status =
206 acpi_set_register(acpi_gbl_fixed_event_info[i]. 206 acpi_set_register(acpi_gbl_fixed_event_info[i].
207 enable_register_id, 0, 207 enable_register_id, 0);
208 ACPI_MTX_LOCK);
209 if (ACPI_FAILURE(status)) { 208 if (ACPI_FAILURE(status)) {
210 return (status); 209 return (status);
211 } 210 }
@@ -291,7 +290,7 @@ static u32 acpi_ev_fixed_event_dispatch(u32 event)
291 /* Clear the status bit */ 290 /* Clear the status bit */
292 291
293 (void)acpi_set_register(acpi_gbl_fixed_event_info[event]. 292 (void)acpi_set_register(acpi_gbl_fixed_event_info[event].
294 status_register_id, 1, ACPI_MTX_DO_NOT_LOCK); 293 status_register_id, 1);
295 294
296 /* 295 /*
297 * Make sure we've got a handler. If not, report an error. 296 * Make sure we've got a handler. If not, report an error.
@@ -299,8 +298,7 @@ static u32 acpi_ev_fixed_event_dispatch(u32 event)
299 */ 298 */
300 if (NULL == acpi_gbl_fixed_event_handlers[event].handler) { 299 if (NULL == acpi_gbl_fixed_event_handlers[event].handler) {
301 (void)acpi_set_register(acpi_gbl_fixed_event_info[event]. 300 (void)acpi_set_register(acpi_gbl_fixed_event_info[event].
302 enable_register_id, 0, 301 enable_register_id, 0);
303 ACPI_MTX_DO_NOT_LOCK);
304 302
305 ACPI_ERROR((AE_INFO, 303 ACPI_ERROR((AE_INFO,
306 "No installed handler for fixed event [%08X]", 304 "No installed handler for fixed event [%08X]",
diff --git a/drivers/acpi/events/evmisc.c b/drivers/acpi/events/evmisc.c
index 21449f36b5f8..3bacede53503 100644
--- a/drivers/acpi/events/evmisc.c
+++ b/drivers/acpi/events/evmisc.c
@@ -493,7 +493,7 @@ acpi_status acpi_ev_release_global_lock(void)
493 if (pending) { 493 if (pending) {
494 status = 494 status =
495 acpi_set_register(ACPI_BITREG_GLOBAL_LOCK_RELEASE, 495 acpi_set_register(ACPI_BITREG_GLOBAL_LOCK_RELEASE,
496 1, ACPI_MTX_LOCK); 496 1);
497 } 497 }
498 498
499 ACPI_DEBUG_PRINT((ACPI_DB_EXEC, 499 ACPI_DEBUG_PRINT((ACPI_DB_EXEC,
diff --git a/drivers/acpi/events/evxfevnt.c b/drivers/acpi/events/evxfevnt.c
index 91e5f5b53a97..a3d148e4d39f 100644
--- a/drivers/acpi/events/evxfevnt.c
+++ b/drivers/acpi/events/evxfevnt.c
@@ -157,7 +157,7 @@ acpi_status acpi_enable_event(u32 event, u32 flags)
157 */ 157 */
158 status = 158 status =
159 acpi_set_register(acpi_gbl_fixed_event_info[event]. 159 acpi_set_register(acpi_gbl_fixed_event_info[event].
160 enable_register_id, 1, ACPI_MTX_LOCK); 160 enable_register_id, 1);
161 if (ACPI_FAILURE(status)) { 161 if (ACPI_FAILURE(status)) {
162 return_ACPI_STATUS(status); 162 return_ACPI_STATUS(status);
163 } 163 }
@@ -166,7 +166,7 @@ acpi_status acpi_enable_event(u32 event, u32 flags)
166 166
167 status = 167 status =
168 acpi_get_register(acpi_gbl_fixed_event_info[event]. 168 acpi_get_register(acpi_gbl_fixed_event_info[event].
169 enable_register_id, &value, ACPI_MTX_LOCK); 169 enable_register_id, &value);
170 if (ACPI_FAILURE(status)) { 170 if (ACPI_FAILURE(status)) {
171 return_ACPI_STATUS(status); 171 return_ACPI_STATUS(status);
172 } 172 }
@@ -356,14 +356,14 @@ acpi_status acpi_disable_event(u32 event, u32 flags)
356 */ 356 */
357 status = 357 status =
358 acpi_set_register(acpi_gbl_fixed_event_info[event]. 358 acpi_set_register(acpi_gbl_fixed_event_info[event].
359 enable_register_id, 0, ACPI_MTX_LOCK); 359 enable_register_id, 0);
360 if (ACPI_FAILURE(status)) { 360 if (ACPI_FAILURE(status)) {
361 return_ACPI_STATUS(status); 361 return_ACPI_STATUS(status);
362 } 362 }
363 363
364 status = 364 status =
365 acpi_get_register(acpi_gbl_fixed_event_info[event]. 365 acpi_get_register(acpi_gbl_fixed_event_info[event].
366 enable_register_id, &value, ACPI_MTX_LOCK); 366 enable_register_id, &value);
367 if (ACPI_FAILURE(status)) { 367 if (ACPI_FAILURE(status)) {
368 return_ACPI_STATUS(status); 368 return_ACPI_STATUS(status);
369 } 369 }
@@ -409,7 +409,7 @@ acpi_status acpi_clear_event(u32 event)
409 */ 409 */
410 status = 410 status =
411 acpi_set_register(acpi_gbl_fixed_event_info[event]. 411 acpi_set_register(acpi_gbl_fixed_event_info[event].
412 status_register_id, 1, ACPI_MTX_LOCK); 412 status_register_id, 1);
413 413
414 return_ACPI_STATUS(status); 414 return_ACPI_STATUS(status);
415} 415}
@@ -498,7 +498,7 @@ acpi_status acpi_get_event_status(u32 event, acpi_event_status * event_status)
498 498
499 status = 499 status =
500 acpi_get_register(acpi_gbl_fixed_event_info[event]. 500 acpi_get_register(acpi_gbl_fixed_event_info[event].
501 status_register_id, event_status, ACPI_MTX_LOCK); 501 status_register_id, event_status);
502 502
503 return_ACPI_STATUS(status); 503 return_ACPI_STATUS(status);
504} 504}
diff --git a/drivers/acpi/hardware/hwacpi.c b/drivers/acpi/hardware/hwacpi.c
index 9c7df711c18d..dbcc4c0d037c 100644
--- a/drivers/acpi/hardware/hwacpi.c
+++ b/drivers/acpi/hardware/hwacpi.c
@@ -171,8 +171,7 @@ u32 acpi_hw_get_mode(void)
171 return_UINT32(ACPI_SYS_MODE_ACPI); 171 return_UINT32(ACPI_SYS_MODE_ACPI);
172 } 172 }
173 173
174 status = 174 status = acpi_get_register(ACPI_BITREG_SCI_ENABLE, &value);
175 acpi_get_register(ACPI_BITREG_SCI_ENABLE, &value, ACPI_MTX_LOCK);
176 if (ACPI_FAILURE(status)) { 175 if (ACPI_FAILURE(status)) {
177 return_UINT32(ACPI_SYS_MODE_LEGACY); 176 return_UINT32(ACPI_SYS_MODE_LEGACY);
178 } 177 }
diff --git a/drivers/acpi/hardware/hwregs.c b/drivers/acpi/hardware/hwregs.c
index 9fe7adf21f8b..716e4aeca1e1 100644
--- a/drivers/acpi/hardware/hwregs.c
+++ b/drivers/acpi/hardware/hwregs.c
@@ -54,17 +54,15 @@ ACPI_MODULE_NAME("hwregs")
54 * 54 *
55 * FUNCTION: acpi_hw_clear_acpi_status 55 * FUNCTION: acpi_hw_clear_acpi_status
56 * 56 *
57 * PARAMETERS: Flags - Lock the hardware or not 57 * PARAMETERS: None
58 * 58 *
59 * RETURN: none 59 * RETURN: None
60 * 60 *
61 * DESCRIPTION: Clears all fixed and general purpose status bits 61 * DESCRIPTION: Clears all fixed and general purpose status bits
62 * THIS FUNCTION MUST BE CALLED WITH INTERRUPTS DISABLED 62 * THIS FUNCTION MUST BE CALLED WITH INTERRUPTS DISABLED
63 * 63 *
64 * NOTE: TBD: Flags parameter is obsolete, to be removed
65 *
66 ******************************************************************************/ 64 ******************************************************************************/
67acpi_status acpi_hw_clear_acpi_status(u32 flags) 65acpi_status acpi_hw_clear_acpi_status(void)
68{ 66{
69 acpi_status status; 67 acpi_status status;
70 acpi_cpu_flags lock_flags = 0; 68 acpi_cpu_flags lock_flags = 0;
@@ -253,18 +251,15 @@ struct acpi_bit_register_info *acpi_hw_get_bit_register_info(u32 register_id)
253 * 251 *
254 * PARAMETERS: register_id - ID of ACPI bit_register to access 252 * PARAMETERS: register_id - ID of ACPI bit_register to access
255 * return_value - Value that was read from the register 253 * return_value - Value that was read from the register
256 * Flags - Lock the hardware or not
257 * 254 *
258 * RETURN: Status and the value read from specified Register. Value 255 * RETURN: Status and the value read from specified Register. Value
259 * returned is normalized to bit0 (is shifted all the way right) 256 * returned is normalized to bit0 (is shifted all the way right)
260 * 257 *
261 * DESCRIPTION: ACPI bit_register read function. 258 * DESCRIPTION: ACPI bit_register read function.
262 * 259 *
263 * NOTE: TBD: Flags parameter is obsolete, to be removed
264 *
265 ******************************************************************************/ 260 ******************************************************************************/
266 261
267acpi_status acpi_get_register(u32 register_id, u32 * return_value, u32 flags) 262acpi_status acpi_get_register(u32 register_id, u32 * return_value)
268{ 263{
269 u32 register_value = 0; 264 u32 register_value = 0;
270 struct acpi_bit_register_info *bit_reg_info; 265 struct acpi_bit_register_info *bit_reg_info;
@@ -312,16 +307,13 @@ ACPI_EXPORT_SYMBOL(acpi_get_register)
312 * PARAMETERS: register_id - ID of ACPI bit_register to access 307 * PARAMETERS: register_id - ID of ACPI bit_register to access
313 * Value - (only used on write) value to write to the 308 * Value - (only used on write) value to write to the
314 * Register, NOT pre-normalized to the bit pos 309 * Register, NOT pre-normalized to the bit pos
315 * Flags - Lock the hardware or not
316 * 310 *
317 * RETURN: Status 311 * RETURN: Status
318 * 312 *
319 * DESCRIPTION: ACPI Bit Register write function. 313 * DESCRIPTION: ACPI Bit Register write function.
320 * 314 *
321 * NOTE: TBD: Flags parameter is obsolete, to be removed
322 *
323 ******************************************************************************/ 315 ******************************************************************************/
324acpi_status acpi_set_register(u32 register_id, u32 value, u32 flags) 316acpi_status acpi_set_register(u32 register_id, u32 value)
325{ 317{
326 u32 register_value = 0; 318 u32 register_value = 0;
327 struct acpi_bit_register_info *bit_reg_info; 319 struct acpi_bit_register_info *bit_reg_info;
diff --git a/drivers/acpi/hardware/hwsleep.c b/drivers/acpi/hardware/hwsleep.c
index 6faa76bdc3d5..7c9645129210 100644
--- a/drivers/acpi/hardware/hwsleep.c
+++ b/drivers/acpi/hardware/hwsleep.c
@@ -277,15 +277,14 @@ acpi_status asmlinkage acpi_enter_sleep_state(u8 sleep_state)
277 277
278 /* Clear wake status */ 278 /* Clear wake status */
279 279
280 status = 280 status = acpi_set_register(ACPI_BITREG_WAKE_STATUS, 1);
281 acpi_set_register(ACPI_BITREG_WAKE_STATUS, 1, ACPI_MTX_DO_NOT_LOCK);
282 if (ACPI_FAILURE(status)) { 281 if (ACPI_FAILURE(status)) {
283 return_ACPI_STATUS(status); 282 return_ACPI_STATUS(status);
284 } 283 }
285 284
286 /* Clear all fixed and general purpose status bits */ 285 /* Clear all fixed and general purpose status bits */
287 286
288 status = acpi_hw_clear_acpi_status(ACPI_MTX_DO_NOT_LOCK); 287 status = acpi_hw_clear_acpi_status();
289 if (ACPI_FAILURE(status)) { 288 if (ACPI_FAILURE(status)) {
290 return_ACPI_STATUS(status); 289 return_ACPI_STATUS(status);
291 } 290 }
@@ -398,8 +397,7 @@ acpi_status asmlinkage acpi_enter_sleep_state(u8 sleep_state)
398 /* Wait until we enter sleep state */ 397 /* Wait until we enter sleep state */
399 398
400 do { 399 do {
401 status = acpi_get_register(ACPI_BITREG_WAKE_STATUS, &in_value, 400 status = acpi_get_register(ACPI_BITREG_WAKE_STATUS, &in_value);
402 ACPI_MTX_DO_NOT_LOCK);
403 if (ACPI_FAILURE(status)) { 401 if (ACPI_FAILURE(status)) {
404 return_ACPI_STATUS(status); 402 return_ACPI_STATUS(status);
405 } 403 }
@@ -432,13 +430,12 @@ acpi_status asmlinkage acpi_enter_sleep_state_s4bios(void)
432 430
433 ACPI_FUNCTION_TRACE(acpi_enter_sleep_state_s4bios); 431 ACPI_FUNCTION_TRACE(acpi_enter_sleep_state_s4bios);
434 432
435 status = 433 status = acpi_set_register(ACPI_BITREG_WAKE_STATUS, 1);
436 acpi_set_register(ACPI_BITREG_WAKE_STATUS, 1, ACPI_MTX_DO_NOT_LOCK);
437 if (ACPI_FAILURE(status)) { 434 if (ACPI_FAILURE(status)) {
438 return_ACPI_STATUS(status); 435 return_ACPI_STATUS(status);
439 } 436 }
440 437
441 status = acpi_hw_clear_acpi_status(ACPI_MTX_DO_NOT_LOCK); 438 status = acpi_hw_clear_acpi_status();
442 if (ACPI_FAILURE(status)) { 439 if (ACPI_FAILURE(status)) {
443 return_ACPI_STATUS(status); 440 return_ACPI_STATUS(status);
444 } 441 }
@@ -465,8 +462,7 @@ acpi_status asmlinkage acpi_enter_sleep_state_s4bios(void)
465 462
466 do { 463 do {
467 acpi_os_stall(1000); 464 acpi_os_stall(1000);
468 status = acpi_get_register(ACPI_BITREG_WAKE_STATUS, &in_value, 465 status = acpi_get_register(ACPI_BITREG_WAKE_STATUS, &in_value);
469 ACPI_MTX_DO_NOT_LOCK);
470 if (ACPI_FAILURE(status)) { 466 if (ACPI_FAILURE(status)) {
471 return_ACPI_STATUS(status); 467 return_ACPI_STATUS(status);
472 } 468 }
@@ -599,13 +595,11 @@ acpi_status acpi_leave_sleep_state(u8 sleep_state)
599 595
600 (void) 596 (void)
601 acpi_set_register(acpi_gbl_fixed_event_info 597 acpi_set_register(acpi_gbl_fixed_event_info
602 [ACPI_EVENT_POWER_BUTTON].enable_register_id, 1, 598 [ACPI_EVENT_POWER_BUTTON].enable_register_id, 1);
603 ACPI_MTX_DO_NOT_LOCK);
604 599
605 (void) 600 (void)
606 acpi_set_register(acpi_gbl_fixed_event_info 601 acpi_set_register(acpi_gbl_fixed_event_info
607 [ACPI_EVENT_POWER_BUTTON].status_register_id, 1, 602 [ACPI_EVENT_POWER_BUTTON].status_register_id, 1);
608 ACPI_MTX_DO_NOT_LOCK);
609 603
610 arg.integer.value = ACPI_SST_WORKING; 604 arg.integer.value = ACPI_SST_WORKING;
611 status = acpi_evaluate_object(NULL, METHOD_NAME__SST, &arg_list, NULL); 605 status = acpi_evaluate_object(NULL, METHOD_NAME__SST, &arg_list, NULL);
diff --git a/drivers/acpi/pci_link.c b/drivers/acpi/pci_link.c
index 481e633bbf41..662e4299743d 100644
--- a/drivers/acpi/pci_link.c
+++ b/drivers/acpi/pci_link.c
@@ -785,7 +785,7 @@ static int irqrouter_resume(struct sys_device *dev)
785 785
786 786
787 /* Make sure SCI is enabled again (Apple firmware bug?) */ 787 /* Make sure SCI is enabled again (Apple firmware bug?) */
788 acpi_set_register(ACPI_BITREG_SCI_ENABLE, 1, ACPI_MTX_DO_NOT_LOCK); 788 acpi_set_register(ACPI_BITREG_SCI_ENABLE, 1);
789 789
790 list_for_each(node, &acpi_link.entries) { 790 list_for_each(node, &acpi_link.entries) {
791 link = list_entry(node, struct acpi_pci_link, node); 791 link = list_entry(node, struct acpi_pci_link, node);
diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c
index 9fa3d3965bb3..db21dda5837d 100644
--- a/drivers/acpi/processor_idle.c
+++ b/drivers/acpi/processor_idle.c
@@ -187,8 +187,7 @@ acpi_processor_power_activate(struct acpi_processor *pr,
187 case ACPI_STATE_C3: 187 case ACPI_STATE_C3:
188 /* Disable bus master reload */ 188 /* Disable bus master reload */
189 if (new->type != ACPI_STATE_C3 && pr->flags.bm_check) 189 if (new->type != ACPI_STATE_C3 && pr->flags.bm_check)
190 acpi_set_register(ACPI_BITREG_BUS_MASTER_RLD, 0, 190 acpi_set_register(ACPI_BITREG_BUS_MASTER_RLD, 0);
191 ACPI_MTX_DO_NOT_LOCK);
192 break; 191 break;
193 } 192 }
194 } 193 }
@@ -198,8 +197,7 @@ acpi_processor_power_activate(struct acpi_processor *pr,
198 case ACPI_STATE_C3: 197 case ACPI_STATE_C3:
199 /* Enable bus master reload */ 198 /* Enable bus master reload */
200 if (old->type != ACPI_STATE_C3 && pr->flags.bm_check) 199 if (old->type != ACPI_STATE_C3 && pr->flags.bm_check)
201 acpi_set_register(ACPI_BITREG_BUS_MASTER_RLD, 1, 200 acpi_set_register(ACPI_BITREG_BUS_MASTER_RLD, 1);
202 ACPI_MTX_DO_NOT_LOCK);
203 break; 201 break;
204 } 202 }
205 203
@@ -291,12 +289,10 @@ static void acpi_processor_idle(void)
291 289
292 pr->power.bm_activity <<= diff; 290 pr->power.bm_activity <<= diff;
293 291
294 acpi_get_register(ACPI_BITREG_BUS_MASTER_STATUS, 292 acpi_get_register(ACPI_BITREG_BUS_MASTER_STATUS, &bm_status);
295 &bm_status, ACPI_MTX_DO_NOT_LOCK);
296 if (bm_status) { 293 if (bm_status) {
297 pr->power.bm_activity |= 0x1; 294 pr->power.bm_activity |= 0x1;
298 acpi_set_register(ACPI_BITREG_BUS_MASTER_STATUS, 295 acpi_set_register(ACPI_BITREG_BUS_MASTER_STATUS, 1);
299 1, ACPI_MTX_DO_NOT_LOCK);
300 } 296 }
301 /* 297 /*
302 * PIIX4 Erratum #18: Note that BM_STS doesn't always reflect 298 * PIIX4 Erratum #18: Note that BM_STS doesn't always reflect
@@ -411,8 +407,7 @@ static void acpi_processor_idle(void)
411 * All CPUs are trying to go to C3 407 * All CPUs are trying to go to C3
412 * Disable bus master arbitration 408 * Disable bus master arbitration
413 */ 409 */
414 acpi_set_register(ACPI_BITREG_ARB_DISABLE, 1, 410 acpi_set_register(ACPI_BITREG_ARB_DISABLE, 1);
415 ACPI_MTX_DO_NOT_LOCK);
416 } 411 }
417 } else { 412 } else {
418 /* SMP with no shared cache... Invalidate cache */ 413 /* SMP with no shared cache... Invalidate cache */
@@ -428,8 +423,7 @@ static void acpi_processor_idle(void)
428 if (pr->flags.bm_check) { 423 if (pr->flags.bm_check) {
429 /* Enable bus master arbitration */ 424 /* Enable bus master arbitration */
430 atomic_dec(&c3_cpu_count); 425 atomic_dec(&c3_cpu_count);
431 acpi_set_register(ACPI_BITREG_ARB_DISABLE, 0, 426 acpi_set_register(ACPI_BITREG_ARB_DISABLE, 0);
432 ACPI_MTX_DO_NOT_LOCK);
433 } 427 }
434 428
435#ifdef CONFIG_GENERIC_TIME 429#ifdef CONFIG_GENERIC_TIME
@@ -890,8 +884,7 @@ static void acpi_processor_power_verify_c3(struct acpi_processor *pr,
890 " for C3 to be enabled on SMP systems\n")); 884 " for C3 to be enabled on SMP systems\n"));
891 return; 885 return;
892 } 886 }
893 acpi_set_register(ACPI_BITREG_BUS_MASTER_RLD, 887 acpi_set_register(ACPI_BITREG_BUS_MASTER_RLD, 0);
894 0, ACPI_MTX_DO_NOT_LOCK);
895 } 888 }
896 889
897 /* 890 /*