1 // SPDX-License-Identifier: GPL-2.0
2 #include <linux/types.h>
3 #include <linux/netdevice.h>
4 #include <linux/interrupt.h>
5
6 #include "lmc_debug.h"
7
8 /*
9 * Prints out len, max to 80 octets using printk, 20 per line
10 */
11 #ifdef DEBUG
12 #ifdef LMC_PACKET_LOG
lmcConsoleLog(char * type,unsigned char * ucData,int iLen)13 void lmcConsoleLog(char *type, unsigned char *ucData, int iLen)
14 {
15 int iNewLine = 1;
16 char str[80], *pstr;
17
18 sprintf(str, KERN_DEBUG "lmc: %s: ", type);
19 pstr = str+strlen(str);
20
21 if(iLen > 240){
22 printk(KERN_DEBUG "lmc: Printing 240 chars... out of: %d\n", iLen);
23 iLen = 240;
24 }
25 else{
26 printk(KERN_DEBUG "lmc: Printing %d chars\n", iLen);
27 }
28
29 while(iLen > 0)
30 {
31 sprintf(pstr, "%02x ", *ucData);
32 pstr+=3;
33 ucData++;
34 if( !(iNewLine % 20))
35 {
36 sprintf(pstr, "\n");
37 printk(str);
38 sprintf(str, KERN_DEBUG "lmc: %s: ", type);
39 pstr=str+strlen(str);
40 }
41 iNewLine++;
42 iLen--;
43 }
44 sprintf(pstr, "\n");
45 printk(str);
46 }
47 #endif
48 #endif
49
50 #ifdef DEBUG
51 u32 lmcEventLogIndex;
52 u32 lmcEventLogBuf[LMC_EVENTLOGSIZE * LMC_EVENTLOGARGS];
53
lmcEventLog(u32 EventNum,u32 arg2,u32 arg3)54 void lmcEventLog(u32 EventNum, u32 arg2, u32 arg3)
55 {
56 lmcEventLogBuf[lmcEventLogIndex++] = EventNum;
57 lmcEventLogBuf[lmcEventLogIndex++] = arg2;
58 lmcEventLogBuf[lmcEventLogIndex++] = arg3;
59 lmcEventLogBuf[lmcEventLogIndex++] = jiffies;
60
61 lmcEventLogIndex &= (LMC_EVENTLOGSIZE * LMC_EVENTLOGARGS) - 1;
62 }
63 #endif /* DEBUG */
64
65 /* --------------------------- end if_lmc_linux.c ------------------------ */
66