hisax_isac.h 930 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #ifndef __HISAX_ISAC_H__
  2. #define __HISAX_ISAC_H__
  3. #include <linux/kernel.h>
  4. #include "fsm.h"
  5. #include "hisax_if.h"
  6. #define TIMER3_VALUE 7000
  7. #define MAX_DFRAME_LEN_L1 300
  8. #define ISAC_IOM1 0
  9. struct isac {
  10. void *priv;
  11. u_long flags;
  12. struct hisax_d_if hisax_d_if;
  13. struct FsmInst l1m;
  14. struct FsmTimer timer;
  15. u_char mocr;
  16. u_char adf2;
  17. int type;
  18. u_char rcvbuf[MAX_DFRAME_LEN_L1];
  19. int rcvidx;
  20. struct sk_buff *tx_skb;
  21. int tx_cnt;
  22. u_char (*read_isac) (struct isac *, u_char);
  23. void (*write_isac) (struct isac *, u_char, u_char);
  24. void (*read_isac_fifo) (struct isac *, u_char *, int);
  25. void (*write_isac_fifo)(struct isac *, u_char *, int);
  26. };
  27. void isac_init(struct isac *isac);
  28. void isac_d_l2l1(struct hisax_if *hisax_d_if, int pr, void *arg);
  29. void isac_setup(struct isac *isac);
  30. void isac_irq(struct isac *isac);
  31. void isacsx_setup(struct isac *isac);
  32. void isacsx_irq(struct isac *isac);
  33. #endif