| /* SPDX-License-Identifier: GPL-2.0 */ |
| /* |
| * Copyright IBM Corp. 2006 |
| * Author(s): Martin Schwidefsky (schwidefsky@de.ibm.com) |
| */ |
| #ifndef __S390_STP_H |
| #define __S390_STP_H |
| |
| /* notifier for syncs */ |
| extern struct atomic_notifier_head s390_epoch_delta_notifier; |
| |
| /* STP interruption parameter */ |
| struct stp_irq_parm { |
| unsigned int _pad0 : 14; |
| unsigned int tsc : 1; /* Timing status change */ |
| unsigned int lac : 1; /* Link availability change */ |
| unsigned int tcpc : 1; /* Time control parameter change */ |
| unsigned int _pad2 : 15; |
| } __attribute__ ((packed)); |
| |
| #define STP_OP_SYNC 1 |
| #define STP_OP_CTRL 3 |
| |
| struct stp_sstpi { |
| unsigned int rsvd0; |
| unsigned int rsvd1 : 8; |
| unsigned int stratum : 8; |
| unsigned int vbits : 16; |
| unsigned int leaps : 16; |
| unsigned int tmd : 4; |
| unsigned int ctn : 4; |
| unsigned int rsvd2 : 3; |
| unsigned int c : 1; |
| unsigned int tst : 4; |
| unsigned int tzo : 16; |
| unsigned int dsto : 16; |
| unsigned int ctrl : 16; |
| unsigned int rsvd3 : 16; |
| unsigned int tto; |
| unsigned int rsvd4; |
| unsigned int ctnid[3]; |
| unsigned int rsvd5; |
| unsigned int todoff[4]; |
| unsigned int rsvd6[48]; |
| } __attribute__ ((packed)); |
| |
| /* Functions needed by the machine check handler */ |
| int stp_sync_check(void); |
| int stp_island_check(void); |
| void stp_queue_work(void); |
| |
| #endif /* __S390_STP_H */ |