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