stp.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * Copyright IBM Corp. 2006
  4. * Author(s): Martin Schwidefsky (schwidefsky@de.ibm.com)
  5. */
  6. #ifndef __S390_STP_H
  7. #define __S390_STP_H
  8. /* notifier for syncs */
  9. extern struct atomic_notifier_head s390_epoch_delta_notifier;
  10. /* STP interruption parameter */
  11. struct stp_irq_parm {
  12. unsigned int _pad0 : 14;
  13. unsigned int tsc : 1; /* Timing status change */
  14. unsigned int lac : 1; /* Link availability change */
  15. unsigned int tcpc : 1; /* Time control parameter change */
  16. unsigned int _pad2 : 15;
  17. } __attribute__ ((packed));
  18. #define STP_OP_SYNC 1
  19. #define STP_OP_CTRL 3
  20. struct stp_sstpi {
  21. unsigned int rsvd0;
  22. unsigned int rsvd1 : 8;
  23. unsigned int stratum : 8;
  24. unsigned int vbits : 16;
  25. unsigned int leaps : 16;
  26. unsigned int tmd : 4;
  27. unsigned int ctn : 4;
  28. unsigned int rsvd2 : 3;
  29. unsigned int c : 1;
  30. unsigned int tst : 4;
  31. unsigned int tzo : 16;
  32. unsigned int dsto : 16;
  33. unsigned int ctrl : 16;
  34. unsigned int rsvd3 : 16;
  35. unsigned int tto;
  36. unsigned int rsvd4;
  37. unsigned int ctnid[3];
  38. unsigned int rsvd5;
  39. unsigned int todoff[4];
  40. unsigned int rsvd6[48];
  41. } __attribute__ ((packed));
  42. /* Functions needed by the machine check handler */
  43. int stp_sync_check(void);
  44. int stp_island_check(void);
  45. void stp_queue_work(void);
  46. #endif /* __S390_STP_H */