hisax_isac.h 969 B

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