Sourabh Jain <[email protected]> writes: > The H_WATCHDOG input and output definitions are currently local to the > pseries watchdog driver. The next patch in this series also needs these > definitions to issue H_WATCHDOG hypercalls outside the watchdog driver. > > Move the H_WATCHDOG definitions to a new common header, > asm/papr-watchdog.h, so they can be shared without duplicating the > PAPR watchdog definitions. > > No functional changes. > > Suggested-by: Ritesh Harjani (IBM) <[email protected]> > Signed-off-by: Sourabh Jain <[email protected]> > --- > arch/powerpc/include/asm/papr-watchdog.h | 58 ++++++++++++++++++++++++ > drivers/watchdog/pseries-wdt.c | 53 +--------------------- > 2 files changed, 59 insertions(+), 52 deletions(-) > create mode 100644 arch/powerpc/include/asm/papr-watchdog.h > > diff --git a/arch/powerpc/include/asm/papr-watchdog.h > b/arch/powerpc/include/asm/papr-watchdog.h > new file mode 100644 > index 000000000000..fb3a511aa861 > --- /dev/null > +++ b/arch/powerpc/include/asm/papr-watchdog.h > @@ -0,0 +1,58 @@ > +/* SPDX-License-Identifier: GPL-2.0-only */ > + > +#ifndef _ASM_POWERPC_CRASHDUMP_PPC64_H > +#define _ASM_POWERPC_CRASHDUMP_PPC64_H
should be _ASM_POWERPC_PAPR_WATCHDOG_H > + > +/* > + * H_WATCHDOG Input > + * > + * R4: "flags": > + * > + * Bits 48-55: "operation" > + */ > +#define PSERIES_WDTF_OP_START 0x100UL /* start timer */ > +#define PSERIES_WDTF_OP_STOP 0x200UL /* stop timer */ > +#define PSERIES_WDTF_OP_QUERY 0x300UL /* query timer > capabilities */ > + > +/* > + * Bits 56-63: "timeoutAction" (for "Start Watchdog" only) > + */ > +#define PSERIES_WDTF_ACTION_HARD_POWEROFF 0x1UL /* poweroff */ > +#define PSERIES_WDTF_ACTION_HARD_RESTART 0x2UL /* restart */ > +#define PSERIES_WDTF_ACTION_DUMP_RESTART 0x3UL /* dump + restart */ > + > +/* > + * H_WATCHDOG Output > + * > + * R3: Return code > + * > + * H_SUCCESS The operation completed. > + * > + * H_BUSY The hypervisor is too busy; retry the operation. > + * > + * H_PARAMETER The given "flags" are somehow invalid. Either the > + * "operation" or "timeoutAction" is invalid, or a > + * reserved bit is set. > + * > + * H_P2 The given "watchdogNumber" is zero or exceeds the > + * supported maximum value. > + * > + * H_P3 The given "timeoutInMs" is below the supported > + * minimum value. > + * > + * H_NOOP The given "watchdogNumber" is already stopped. > + * > + * H_HARDWARE The operation failed for ineffable reasons. > + * > + * H_FUNCTION The H_WATCHDOG hypercall is not supported by this > + * hypervisor. > + * > + * R4: > + * > + * - For the "Query Watchdog Capabilities" operation, a 64-bit > + * structure: > + */ > +#define PSERIES_WDTQ_MIN_TIMEOUT(cap) (((cap) >> 48) & 0xffff) > +#define PSERIES_WDTQ_MAX_NUMBER(cap) (((cap) >> 32) & 0xffff) > + > +#endif /* _ASM_POWERPC_CRASHDUMP_PPC64_H */ ditto -ritesh
