mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-11 15:56:42 +07:00
92985ef1db
Since mis-order issues have been solved, we can cleanup redundant definitions that already have defaults in <acpi/platform/acenv.h>. This patch removes redudant environments for __KERNEL__ surrounded code. Signed-off-by: Lv Zheng <lv.zheng@intel.com> Cc: Tony Luck <tony.luck@intel.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Ingo Molnar <mingo@redhat.com> Cc: "H. Peter Anvin" <hpa@zytor.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
57 lines
1.3 KiB
C
57 lines
1.3 KiB
C
/*
|
|
* IA64 specific ACPICA environments and implementation
|
|
*
|
|
* Copyright (C) 2014, Intel Corporation
|
|
* Author: Lv Zheng <lv.zheng@intel.com>
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*/
|
|
|
|
#ifndef _ASM_IA64_ACENV_H
|
|
#define _ASM_IA64_ACENV_H
|
|
|
|
#include <asm/intrinsics.h>
|
|
|
|
#define COMPILER_DEPENDENT_INT64 long
|
|
#define COMPILER_DEPENDENT_UINT64 unsigned long
|
|
|
|
/* Asm macros */
|
|
|
|
#ifdef CONFIG_ACPI
|
|
|
|
static inline int
|
|
ia64_acpi_acquire_global_lock(unsigned int *lock)
|
|
{
|
|
unsigned int old, new, val;
|
|
do {
|
|
old = *lock;
|
|
new = (((old & ~0x3) + 2) + ((old >> 1) & 0x1));
|
|
val = ia64_cmpxchg4_acq(lock, new, old);
|
|
} while (unlikely (val != old));
|
|
return (new < 3) ? -1 : 0;
|
|
}
|
|
|
|
static inline int
|
|
ia64_acpi_release_global_lock(unsigned int *lock)
|
|
{
|
|
unsigned int old, new, val;
|
|
do {
|
|
old = *lock;
|
|
new = old & ~0x3;
|
|
val = ia64_cmpxchg4_acq(lock, new, old);
|
|
} while (unlikely (val != old));
|
|
return old & 0x1;
|
|
}
|
|
|
|
#define ACPI_ACQUIRE_GLOBAL_LOCK(facs, Acq) \
|
|
((Acq) = ia64_acpi_acquire_global_lock(&facs->global_lock))
|
|
|
|
#define ACPI_RELEASE_GLOBAL_LOCK(facs, Acq) \
|
|
((Acq) = ia64_acpi_release_global_lock(&facs->global_lock))
|
|
|
|
#endif
|
|
|
|
#endif /* _ASM_IA64_ACENV_H */
|