blob: 42a04b95909d79338bca6c4596927cfa79e7037d [file] [log] [blame]
Stephen Hemmingerf8942e02010-09-08 14:46:36 -07001#ifndef _PROTOTYPES_H_
2#define _PROTOTYPES_H_
3
Stephen Hemmingerf8942e02010-09-08 14:46:36 -07004VOID LinkControlResponseMessage(PMINI_ADAPTER Adapter, PUCHAR pucBuffer);
5
6VOID StatisticsResponse(PMINI_ADAPTER Adapter,PVOID pvBuffer);
7
8VOID IdleModeResponse(PMINI_ADAPTER Adapter,PUINT puiBuffer);
9
Stephen Hemmingerf8942e02010-09-08 14:46:36 -070010int control_packet_handler (PMINI_ADAPTER Adapter);
11
12VOID DeleteAllClassifiersForSF(PMINI_ADAPTER Adapter,UINT uiSearchRuleIndex);
13
14VOID flush_all_queues(PMINI_ADAPTER Adapter);
15
16int register_control_device_interface(PMINI_ADAPTER ps_adapter);
17
18void unregister_control_device_interface(PMINI_ADAPTER Adapter);
19
20INT CopyBufferToControlPacket(PMINI_ADAPTER Adapter,/**<Logical Adapter*/
21 PVOID ioBuffer/**<Control Packet Buffer*/
22 );
23
24VOID SortPackInfo(PMINI_ADAPTER Adapter);
25
26VOID SortClassifiers(PMINI_ADAPTER Adapter);
27
28VOID flush_all_queues(PMINI_ADAPTER Adapter);
29
Stephen Hemmingerf8942e02010-09-08 14:46:36 -070030VOID PruneQueueAllSF(PMINI_ADAPTER Adapter);
31
32INT SearchSfid(PMINI_ADAPTER Adapter,UINT uiSfid);
33
Stephen Hemminger93711052010-10-31 23:55:21 -040034USHORT ClassifyPacket(PMINI_ADAPTER Adapter,struct sk_buff* skb);
Stephen Hemmingerf8942e02010-09-08 14:46:36 -070035
Kevin McKinney92562ae2012-05-26 12:05:03 -040036BOOLEAN MatchSrcPort(struct bcm_classifier_rule *pstClassifierRule,USHORT ushSrcPort);
37BOOLEAN MatchDestPort(struct bcm_classifier_rule *pstClassifierRule,USHORT ushSrcPort);
38BOOLEAN MatchProtocol(struct bcm_classifier_rule *pstClassifierRule,UCHAR ucProtocol);
Stephen Hemminger93711052010-10-31 23:55:21 -040039
Stephen Hemmingerf8942e02010-09-08 14:46:36 -070040
41INT SetupNextSend(PMINI_ADAPTER Adapter, /**<Logical Adapter*/
42 struct sk_buff *Packet, /**<data buffer*/
43 USHORT Vcid) ;
44
45VOID LinkMessage(PMINI_ADAPTER Adapter);
46
47VOID transmit_packets(PMINI_ADAPTER Adapter);
48
49INT SendControlPacket(PMINI_ADAPTER Adapter, /**<Logical Adapter*/
50 char *pControlPacket/**<Control Packet*/
51 );
52
Stephen Hemmingerf8942e02010-09-08 14:46:36 -070053
54int register_networkdev(PMINI_ADAPTER Adapter);
Stephen Hemminger4ea4f7a2010-11-01 14:06:24 -040055void unregister_networkdev(PMINI_ADAPTER Adapter);
Stephen Hemmingerf8942e02010-09-08 14:46:36 -070056
57INT AllocAdapterDsxBuffer(PMINI_ADAPTER Adapter);
58
59VOID AdapterFree(PMINI_ADAPTER Adapter);
60
61INT FreeAdapterDsxBuffer(PMINI_ADAPTER Adapter);
62
Stephen Hemmingerf8942e02010-09-08 14:46:36 -070063int tx_pkt_handler(PMINI_ADAPTER Adapter);
64
65int reset_card_proc(PMINI_ADAPTER Adapter );
66
67int run_card_proc(PMINI_ADAPTER Adapter );
68
69int InitCardAndDownloadFirmware(PMINI_ADAPTER ps_adapter);
70
Stephen Hemmingerf8942e02010-09-08 14:46:36 -070071
72INT ReadMacAddressFromNVM(PMINI_ADAPTER Adapter);
73
74int register_control_device_interface(PMINI_ADAPTER ps_adapter);
75
76void DumpPackInfo(PMINI_ADAPTER Adapter);
77
78int rdm(PMINI_ADAPTER Adapter, UINT uiAddress, PCHAR pucBuff, size_t size);
79
80int wrm(PMINI_ADAPTER Adapter, UINT uiAddress, PCHAR pucBuff, size_t size);
81
82int wrmalt (PMINI_ADAPTER Adapter, UINT uiAddress, PUINT pucBuff, size_t sSize);
83
84int rdmalt (PMINI_ADAPTER Adapter, UINT uiAddress, PUINT pucBuff, size_t sSize);
85
Arnd Bergmann44a17eff2010-09-30 10:24:12 +020086int get_dsx_sf_data_to_application(PMINI_ADAPTER Adapter, UINT uiSFId, void __user * user_buffer);
Stephen Hemmingerf8942e02010-09-08 14:46:36 -070087
Stephen Hemmingerf8942e02010-09-08 14:46:36 -070088void SendIdleModeResponse(PMINI_ADAPTER Adapter);
89
Stephen Hemmingerf8942e02010-09-08 14:46:36 -070090
Stephen Hemmingerada692b2010-11-01 09:26:47 -040091int ProcessGetHostMibs(PMINI_ADAPTER Adapter, S_MIBS_HOST_STATS_MIBS *buf);
Kevin McKinney774bea82012-05-26 12:05:00 -040092void GetDroppedAppCntrlPktMibs(S_MIBS_HOST_STATS_MIBS *ioBuffer, struct bcm_tarang_data *pTarang);
Stephen Hemmingerf8942e02010-09-08 14:46:36 -070093void beceem_parse_target_struct(PMINI_ADAPTER Adapter);
94
Kevin McKinney7a27a2c2012-05-26 12:04:56 -040095int bcm_ioctl_fw_download(PMINI_ADAPTER Adapter, struct bcm_firmware_info *psFwInfo);
Stephen Hemmingerf8942e02010-09-08 14:46:36 -070096
Stephen Hemmingerf8942e02010-09-08 14:46:36 -070097void CopyMIBSExtendedSFParameters(PMINI_ADAPTER Adapter,
98 CServiceFlowParamSI *psfLocalSet, UINT uiSearchRuleIndex);
99
100VOID ResetCounters(PMINI_ADAPTER Adapter);
101
102int InitLedSettings(PMINI_ADAPTER Adapter);
103
Kevin McKinney92562ae2012-05-26 12:05:03 -0400104struct bcm_classifier_rule *GetFragIPClsEntry(PMINI_ADAPTER Adapter,USHORT usIpIdentification,ULONG SrcIP);
Stephen Hemmingerf8942e02010-09-08 14:46:36 -0700105
Kevin McKinney7f224852012-05-26 12:05:02 -0400106void AddFragIPClsEntry(PMINI_ADAPTER Adapter, struct bcm_fragmented_packet_info *psFragPktInfo);
Stephen Hemmingerf8942e02010-09-08 14:46:36 -0700107
108void DelFragIPClsEntry(PMINI_ADAPTER Adapter,USHORT usIpIdentification,ULONG SrcIp);
109
110void update_per_cid_rx (PMINI_ADAPTER Adapter);
111
112void update_per_sf_desc_cnts( PMINI_ADAPTER Adapter);
113
114void ClearTargetDSXBuffer(PMINI_ADAPTER Adapter,B_UINT16 TID,BOOLEAN bFreeAll);
115
Stephen Hemmingerf8942e02010-09-08 14:46:36 -0700116
117void flush_queue(PMINI_ADAPTER Adapter, UINT iQIndex);
118
119
120INT flushAllAppQ(VOID);
121
122
123INT BeceemEEPROMBulkRead(
124 PMINI_ADAPTER Adapter,
125 PUINT pBuffer,
126 UINT uiOffset,
127 UINT uiNumBytes);
128
129
Stephen Hemmingerf8942e02010-09-08 14:46:36 -0700130
131INT WriteBeceemEEPROM(PMINI_ADAPTER Adapter,UINT uiEEPROMOffset, UINT uiData);
132
Stephen Hemmingerf8942e02010-09-08 14:46:36 -0700133INT PropagateCalParamsFromFlashToMemory(PMINI_ADAPTER Adapter);
134
Stephen Hemmingerf8942e02010-09-08 14:46:36 -0700135
136INT BeceemEEPROMBulkWrite(
137 PMINI_ADAPTER Adapter,
138 PUCHAR pBuffer,
139 UINT uiOffset,
140 UINT uiNumBytes,
141 BOOLEAN bVerify);
142
143
Stephen Hemmingerf8942e02010-09-08 14:46:36 -0700144INT ReadBeceemEEPROM(PMINI_ADAPTER Adapter,UINT dwAddress, UINT *pdwData);
145
Stephen Hemmingerf8942e02010-09-08 14:46:36 -0700146
147INT BeceemNVMRead(
148 PMINI_ADAPTER Adapter,
149 PUINT pBuffer,
150 UINT uiOffset,
151 UINT uiNumBytes);
152
153INT BeceemNVMWrite(
154 PMINI_ADAPTER Adapter,
155 PUINT pBuffer,
156 UINT uiOffset,
157 UINT uiNumBytes,
158 BOOLEAN bVerify);
159
Stephen Hemmingerf8942e02010-09-08 14:46:36 -0700160
161INT BcmInitNVM(PMINI_ADAPTER Adapter);
162
Stephen Hemminger9dd47ee2010-11-01 12:24:00 -0400163INT BcmUpdateSectorSize(PMINI_ADAPTER Adapter,UINT uiSectorSize);
164BOOLEAN IsSectionExistInFlash(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL section);
Stephen Hemmingerf8942e02010-09-08 14:46:36 -0700165
Stephen Hemmingerf8942e02010-09-08 14:46:36 -0700166INT BcmGetFlash2xSectionalBitMap(PMINI_ADAPTER Adapter, PFLASH2X_BITMAP psFlash2xBitMap);
167
168INT BcmFlash2xBulkWrite(
169 PMINI_ADAPTER Adapter,
170 PUINT pBuffer,
171 FLASH2X_SECTION_VAL eFlashSectionVal,
172 UINT uiOffset,
173 UINT uiNumBytes,
174 UINT bVerify);
175
176INT BcmFlash2xBulkRead(
177 PMINI_ADAPTER Adapter,
178 PUINT pBuffer,
179 FLASH2X_SECTION_VAL eFlashSectionVal,
180 UINT uiOffsetWithinSectionVal,
181 UINT uiNumBytes);
Stephen Hemmingerf8942e02010-09-08 14:46:36 -0700182
183INT BcmGetSectionValStartOffset(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlashSectionVal);
184
185INT BcmSetActiveSection(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlash2xSectVal);
186INT BcmAllocFlashCSStructure(PMINI_ADAPTER psAdapter);
187INT BcmDeAllocFlashCSStructure(PMINI_ADAPTER psAdapter);
188
189INT BcmCopyISO(PMINI_ADAPTER Adapter, FLASH2X_COPY_SECTION sCopySectStrut);
190INT BcmFlash2xCorruptSig(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlash2xSectionVal);
191INT BcmFlash2xWriteSig(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlashSectionVal);
192INT validateFlash2xReadWrite(PMINI_ADAPTER Adapter, PFLASH2X_READWRITE psFlash2xReadWrite);
193INT IsFlash2x(PMINI_ADAPTER Adapter);
Stephen Hemmingerf8942e02010-09-08 14:46:36 -0700194INT BcmCopySection(PMINI_ADAPTER Adapter,
195 FLASH2X_SECTION_VAL SrcSection,
196 FLASH2X_SECTION_VAL DstSection,
197 UINT offset,
198 UINT numOfBytes);
199
Stephen Hemmingerf8942e02010-09-08 14:46:36 -0700200
Stephen Hemmingerf8942e02010-09-08 14:46:36 -0700201BOOLEAN IsNonCDLessDevice(PMINI_ADAPTER Adapter);
202
203
204VOID OverrideServiceFlowParams(PMINI_ADAPTER Adapter,PUINT puiBuffer);
205
206int wrmaltWithLock (PMINI_ADAPTER Adapter, UINT uiAddress, PUINT pucBuff, size_t sSize);
207int rdmaltWithLock (PMINI_ADAPTER Adapter, UINT uiAddress, PUINT pucBuff, size_t sSize);
208
Stephen Hemmingerf8942e02010-09-08 14:46:36 -0700209int wrmWithLock(PMINI_ADAPTER Adapter, UINT uiAddress, PCHAR pucBuff, size_t size);
210INT buffDnldVerify(PMINI_ADAPTER Adapter, unsigned char *mappedbuffer, unsigned int u32FirmwareLength,
211 unsigned long u32StartingAddress);
212
213
214VOID putUsbSuspend(struct work_struct *work);
215BOOLEAN IsReqGpioIsLedInNVM(PMINI_ADAPTER Adapter, UINT gpios);
216
Stephen Hemmingerf8942e02010-09-08 14:46:36 -0700217
218#endif
219
220
221
222