Commit 4c787963 authored by Thomas Richter's avatar Thomas Richter Committed by Vasily Gorbik

s390/pai: move enum definition to header file

Move enum definition to header file. This is done in preparation
for a follow on patch where this enum will be used in another source
file.
Also change the enum name from paiext_mode to paievt_mode
to indicate this enum is now used for several events.
Make naming consistent and rename PAI_MODE_COUNTER to PAI_MODE_COUNTING.
Signed-off-by: default avatarThomas Richter <tmricht@linux.ibm.com>
Acked-by: default avatarSumanth Korikkar <sumanthk@linux.ibm.com>
Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
parent 55af33fd
...@@ -75,4 +75,10 @@ static __always_inline void pai_kernel_exit(struct pt_regs *regs) ...@@ -75,4 +75,10 @@ static __always_inline void pai_kernel_exit(struct pt_regs *regs)
WRITE_ONCE(S390_lowcore.ccd, S390_lowcore.ccd & ~PAI_CRYPTO_KERNEL_OFFSET); WRITE_ONCE(S390_lowcore.ccd, S390_lowcore.ccd & ~PAI_CRYPTO_KERNEL_OFFSET);
} }
enum paievt_mode {
PAI_MODE_NONE,
PAI_MODE_SAMPLING,
PAI_MODE_COUNTING,
};
#endif #endif
...@@ -28,12 +28,6 @@ ...@@ -28,12 +28,6 @@
static debug_info_t *paiext_dbg; static debug_info_t *paiext_dbg;
static unsigned int paiext_cnt; /* Extracted with QPACI instruction */ static unsigned int paiext_cnt; /* Extracted with QPACI instruction */
enum paiext_mode {
PAI_MODE_NONE,
PAI_MODE_SAMPLING,
PAI_MODE_COUNTER,
};
struct pai_userdata { struct pai_userdata {
u16 num; u16 num;
u64 value; u64 value;
...@@ -54,7 +48,7 @@ struct paiext_cb { /* PAI extension 1 control block */ ...@@ -54,7 +48,7 @@ struct paiext_cb { /* PAI extension 1 control block */
struct paiext_map { struct paiext_map {
unsigned long *area; /* Area for CPU to store counters */ unsigned long *area; /* Area for CPU to store counters */
struct pai_userdata *save; /* Area to store non-zero counters */ struct pai_userdata *save; /* Area to store non-zero counters */
enum paiext_mode mode; /* Type of event */ enum paievt_mode mode; /* Type of event */
unsigned int active_events; /* # of PAI Extension users */ unsigned int active_events; /* # of PAI Extension users */
unsigned int refcnt; unsigned int refcnt;
struct perf_event *event; /* Perf event for sampling */ struct perf_event *event; /* Perf event for sampling */
...@@ -192,14 +186,14 @@ static int paiext_alloc(struct perf_event_attr *a, struct perf_event *event) ...@@ -192,14 +186,14 @@ static int paiext_alloc(struct perf_event_attr *a, struct perf_event *event)
goto unlock; goto unlock;
} }
cpump->mode = a->sample_period ? PAI_MODE_SAMPLING cpump->mode = a->sample_period ? PAI_MODE_SAMPLING
: PAI_MODE_COUNTER; : PAI_MODE_COUNTING;
} else { } else {
/* Multiple invocation, check whats active. /* Multiple invocation, check whats active.
* Supported are multiple counter events or only one sampling * Supported are multiple counter events or only one sampling
* event concurrently at any one time. * event concurrently at any one time.
*/ */
if (cpump->mode == PAI_MODE_SAMPLING || if (cpump->mode == PAI_MODE_SAMPLING ||
(cpump->mode == PAI_MODE_COUNTER && a->sample_period)) { (cpump->mode == PAI_MODE_COUNTING && a->sample_period)) {
rc = -EBUSY; rc = -EBUSY;
goto unlock; goto unlock;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment