stp.h 1.2 KB

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