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 14struct 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 37void isac_init(struct isac *isac); 38void isac_d_l2l1(struct hisax_if *hisax_d_if, int pr, void *arg); 39 40void isac_setup(struct isac *isac); 41void isac_irq(struct isac *isac); 42 43void isacsx_setup(struct isac *isac); 44void isacsx_irq(struct isac *isac); 45 46#endif 47