-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
s390/cpum_cf: move counter set controls to a new header file
Move counter set specific controls and functions to the asm/cpu_mcf.h header file containg all counter facility support definitions. Also adapt few variable names and header file includes. No functional changes. Signed-off-by: Hendrik Brueckner <brueckner@linux.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
- Loading branch information
1 parent
f177762
commit 30e145f
Showing
4 changed files
with
56 additions
and
43 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
/* SPDX-License-Identifier: GPL-2.0 */ | ||
/* | ||
* Counter facility support definitions for the Linux perf | ||
* | ||
* Copyright IBM Corp. 2019 | ||
* Author(s): Hendrik Brueckner <brueckner@linux.ibm.com> | ||
*/ | ||
#ifndef _ASM_S390_CPU_MCF_H | ||
#define _ASM_S390_CPU_MCF_H | ||
|
||
#include <linux/perf_event.h> | ||
#include <asm/cpu_mf.h> | ||
|
||
enum cpumf_ctr_set { | ||
CPUMF_CTR_SET_BASIC = 0, /* Basic Counter Set */ | ||
CPUMF_CTR_SET_USER = 1, /* Problem-State Counter Set */ | ||
CPUMF_CTR_SET_CRYPTO = 2, /* Crypto-Activity Counter Set */ | ||
CPUMF_CTR_SET_EXT = 3, /* Extended Counter Set */ | ||
CPUMF_CTR_SET_MT_DIAG = 4, /* MT-diagnostic Counter Set */ | ||
|
||
/* Maximum number of counter sets */ | ||
CPUMF_CTR_SET_MAX, | ||
}; | ||
|
||
#define CPUMF_LCCTL_ENABLE_SHIFT 16 | ||
#define CPUMF_LCCTL_ACTCTL_SHIFT 0 | ||
static const u64 cpumf_ctr_ctl[CPUMF_CTR_SET_MAX] = { | ||
[CPUMF_CTR_SET_BASIC] = 0x02, | ||
[CPUMF_CTR_SET_USER] = 0x04, | ||
[CPUMF_CTR_SET_CRYPTO] = 0x08, | ||
[CPUMF_CTR_SET_EXT] = 0x01, | ||
[CPUMF_CTR_SET_MT_DIAG] = 0x20, | ||
}; | ||
|
||
static inline void ctr_set_enable(u64 *state, int ctr_set) | ||
{ | ||
*state |= cpumf_ctr_ctl[ctr_set] << CPUMF_LCCTL_ENABLE_SHIFT; | ||
} | ||
static inline void ctr_set_disable(u64 *state, int ctr_set) | ||
{ | ||
*state &= ~(cpumf_ctr_ctl[ctr_set] << CPUMF_LCCTL_ENABLE_SHIFT); | ||
} | ||
static inline void ctr_set_start(u64 *state, int ctr_set) | ||
{ | ||
*state |= cpumf_ctr_ctl[ctr_set] << CPUMF_LCCTL_ACTCTL_SHIFT; | ||
} | ||
static inline void ctr_set_stop(u64 *state, int ctr_set) | ||
{ | ||
*state &= ~(cpumf_ctr_ctl[ctr_set] << CPUMF_LCCTL_ACTCTL_SHIFT); | ||
} | ||
|
||
#endif /* _ASM_S390_CPU_MCF_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters