c9e1d61efe5f83cfacec6b2fdabaa2f0d6562163
[firefly-linux-kernel-4.4.55.git] / drivers / staging / bcm / Prototypes.h
1 #ifndef _PROTOTYPES_H_
2 #define _PROTOTYPES_H_
3
4 int BcmFileDownload(PMINI_ADAPTER Adapter,/**< Logical Adapter */
5                         char *path,     /**< path to image file */
6                         unsigned int loc    /**< Download Address on the chip*/
7                         );
8 VOID LinkControlResponseMessage(PMINI_ADAPTER Adapter, PUCHAR pucBuffer);
9
10 VOID StatisticsResponse(PMINI_ADAPTER Adapter,PVOID pvBuffer);
11
12 VOID IdleModeResponse(PMINI_ADAPTER Adapter,PUINT puiBuffer);
13
14 VOID handle_rx_control_packet(PMINI_ADAPTER Adapter,    /**<Pointer to the Adapter structure*/
15                                                                 struct sk_buff *skb);                           /**<Pointer to the socket buffer*/
16
17 int control_packet_handler      (PMINI_ADAPTER Adapter);
18
19 VOID DeleteAllClassifiersForSF(PMINI_ADAPTER Adapter,UINT uiSearchRuleIndex);
20
21 VOID flush_all_queues(PMINI_ADAPTER Adapter);
22
23 int register_control_device_interface(PMINI_ADAPTER ps_adapter);
24
25 void unregister_control_device_interface(PMINI_ADAPTER Adapter);
26
27 INT CopyBufferToControlPacket(PMINI_ADAPTER Adapter,/**<Logical Adapter*/
28                                                                           PVOID ioBuffer/**<Control Packet Buffer*/
29                                                                           );
30
31 VOID SortPackInfo(PMINI_ADAPTER Adapter);
32
33 VOID SortClassifiers(PMINI_ADAPTER Adapter);
34
35 VOID flush_all_queues(PMINI_ADAPTER Adapter);
36
37 USHORT  IpVersion4(PMINI_ADAPTER Adapter, /**< Pointer to the driver control structure */
38                                         struct iphdr *iphd, /**<Pointer to the IP Hdr of the packet*/
39                                         S_CLASSIFIER_RULE *pstClassifierRule );
40
41 VOID PruneQueue(PMINI_ADAPTER Adapter,/**<Pointer to the driver control structure*/
42                                         INT iIndex/**<Queue Index*/
43                                         );
44
45 VOID PruneQueueAllSF(PMINI_ADAPTER Adapter);
46
47 INT SearchSfid(PMINI_ADAPTER Adapter,UINT uiSfid);
48
49 USHORT ClassifyPacket(PMINI_ADAPTER Adapter,struct sk_buff* skb);
50
51 BOOLEAN MatchSrcPort(S_CLASSIFIER_RULE *pstClassifierRule,USHORT ushSrcPort);
52 BOOLEAN MatchDestPort(S_CLASSIFIER_RULE *pstClassifierRule,USHORT ushSrcPort);
53 BOOLEAN MatchProtocol(S_CLASSIFIER_RULE *pstClassifierRule,UCHAR ucProtocol);
54
55
56 INT SetupNextSend(PMINI_ADAPTER Adapter, /**<Logical Adapter*/
57                                         struct sk_buff *Packet, /**<data buffer*/
58                                         USHORT Vcid)    ;
59
60 VOID LinkMessage(PMINI_ADAPTER Adapter);
61
62 VOID transmit_packets(PMINI_ADAPTER Adapter);
63
64 INT SendControlPacket(PMINI_ADAPTER Adapter, /**<Logical Adapter*/
65                                                         char *pControlPacket/**<Control Packet*/
66                                                         );
67
68
69 int register_networkdev(PMINI_ADAPTER Adapter);
70
71 INT AllocAdapterDsxBuffer(PMINI_ADAPTER Adapter);
72
73 VOID AdapterFree(PMINI_ADAPTER Adapter);
74
75 INT FreeAdapterDsxBuffer(PMINI_ADAPTER Adapter);
76
77 int create_worker_threads(PMINI_ADAPTER psAdapter);
78
79 int tx_pkt_handler(PMINI_ADAPTER Adapter);
80
81 int  reset_card_proc(PMINI_ADAPTER Adapter );
82
83 int run_card_proc(PMINI_ADAPTER Adapter );
84
85 int InitCardAndDownloadFirmware(PMINI_ADAPTER ps_adapter);
86
87 int bcm_parse_target_params(PMINI_ADAPTER Adapter);
88
89 INT ReadMacAddressFromNVM(PMINI_ADAPTER Adapter);
90
91 int register_control_device_interface(PMINI_ADAPTER ps_adapter);
92
93 void DumpPackInfo(PMINI_ADAPTER Adapter);
94
95 int rdm(PMINI_ADAPTER Adapter, UINT uiAddress, PCHAR pucBuff, size_t size);
96
97 int wrm(PMINI_ADAPTER Adapter, UINT uiAddress, PCHAR pucBuff, size_t size);
98
99 int wrmalt (PMINI_ADAPTER Adapter, UINT uiAddress, PUINT pucBuff, size_t sSize);
100
101 int rdmalt (PMINI_ADAPTER Adapter, UINT uiAddress, PUINT pucBuff, size_t sSize);
102
103 int get_dsx_sf_data_to_application(PMINI_ADAPTER Adapter, UINT uiSFId, void __user * user_buffer);
104
105 void SendLinkDown(PMINI_ADAPTER Adapter);
106
107 void SendIdleModeResponse(PMINI_ADAPTER Adapter);
108
109 void HandleShutDownModeRequest(PMINI_ADAPTER Adapter,PUCHAR pucBuffer);
110
111 int  ProcessGetHostMibs(PMINI_ADAPTER Adapter, S_MIBS_HOST_STATS_MIBS *buf);
112 void GetDroppedAppCntrlPktMibs(S_MIBS_HOST_STATS_MIBS *ioBuffer, PPER_TARANG_DATA pTarang);
113 void beceem_parse_target_struct(PMINI_ADAPTER Adapter);
114
115 void doPowerAutoCorrection(PMINI_ADAPTER psAdapter);
116
117 int bcm_ioctl_fw_download(PMINI_ADAPTER Adapter, FIRMWARE_INFO *psFwInfo);
118
119 int SearchVcid(PMINI_ADAPTER Adapter,unsigned short usVcid);
120
121 void CopyMIBSExtendedSFParameters(PMINI_ADAPTER Adapter,
122                 CServiceFlowParamSI *psfLocalSet, UINT uiSearchRuleIndex);
123
124 VOID ResetCounters(PMINI_ADAPTER Adapter);
125
126 int InitLedSettings(PMINI_ADAPTER Adapter);
127
128 S_CLASSIFIER_RULE *GetFragIPClsEntry(PMINI_ADAPTER Adapter,USHORT usIpIdentification,ULONG SrcIP);
129
130 void AddFragIPClsEntry(PMINI_ADAPTER Adapter,PS_FRAGMENTED_PACKET_INFO psFragPktInfo);
131
132 void DelFragIPClsEntry(PMINI_ADAPTER Adapter,USHORT usIpIdentification,ULONG SrcIp);
133
134 void update_per_cid_rx (PMINI_ADAPTER Adapter);
135
136 void update_per_sf_desc_cnts( PMINI_ADAPTER Adapter);
137
138 void ClearTargetDSXBuffer(PMINI_ADAPTER Adapter,B_UINT16 TID,BOOLEAN bFreeAll);
139
140 void beceem_protocol_reset (PMINI_ADAPTER Adapter);
141
142 void flush_queue(PMINI_ADAPTER Adapter, UINT iQIndex);
143
144
145 INT flushAllAppQ(VOID);
146
147
148 INT BeceemEEPROMBulkRead(
149         PMINI_ADAPTER Adapter,
150         PUINT pBuffer,
151         UINT uiOffset,
152         UINT uiNumBytes);
153
154
155 INT BeceemFlashBulkRead(
156         PMINI_ADAPTER Adapter,
157         PUINT pBuffer,
158         UINT uiOffset,
159         UINT uiNumBytes);
160
161 UINT BcmGetEEPROMSize(PMINI_ADAPTER Adapter);
162
163 INT WriteBeceemEEPROM(PMINI_ADAPTER Adapter,UINT uiEEPROMOffset, UINT uiData);
164
165 UINT BcmGetFlashSize(PMINI_ADAPTER Adapter);
166
167 UINT BcmGetFlashSectorSize(PMINI_ADAPTER Adapter, UINT FlashSectorSizeSig, UINT FlashSectorSize);
168
169 INT BeceemFlashBulkWrite(
170         PMINI_ADAPTER Adapter,
171         PUINT pBuffer,
172         UINT uiOffset,
173         UINT uiNumBytes,
174         BOOLEAN bVerify);
175
176 INT PropagateCalParamsFromFlashToMemory(PMINI_ADAPTER Adapter);
177
178 INT PropagateCalParamsFromEEPROMToMemory(PMINI_ADAPTER Adapter);
179
180
181 INT BeceemEEPROMBulkWrite(
182         PMINI_ADAPTER Adapter,
183         PUCHAR pBuffer,
184         UINT uiOffset,
185         UINT uiNumBytes,
186         BOOLEAN bVerify);
187
188
189 INT ReadBeceemEEPROMBulk(PMINI_ADAPTER Adapter,UINT dwAddress, UINT *pdwData, UINT dwNumData);
190
191 INT ReadBeceemEEPROM(PMINI_ADAPTER Adapter,UINT dwAddress, UINT *pdwData);
192
193 NVM_TYPE BcmGetNvmType(PMINI_ADAPTER Adapter);
194
195 INT BeceemNVMRead(
196         PMINI_ADAPTER Adapter,
197         PUINT pBuffer,
198         UINT uiOffset,
199         UINT uiNumBytes);
200
201 INT BeceemNVMWrite(
202         PMINI_ADAPTER Adapter,
203         PUINT pBuffer,
204         UINT uiOffset,
205         UINT uiNumBytes,
206         BOOLEAN bVerify);
207
208 INT BcmUpdateSectorSize(PMINI_ADAPTER Adapter,UINT uiSectorSize);
209
210 INT BcmInitNVM(PMINI_ADAPTER Adapter);
211
212 INT BcmGetNvmSize(PMINI_ADAPTER Adapter);
213
214 INT IsSectionExistInVendorInfo(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL section);
215
216 VOID BcmValidateNvmType(PMINI_ADAPTER Adapter);
217
218 VOID ConfigureEndPointTypesThroughEEPROM(PMINI_ADAPTER Adapter);
219
220 INT BcmGetFlashCSInfo(PMINI_ADAPTER Adapter);
221 INT ReadDSDHeader(PMINI_ADAPTER Adapter, PDSD_HEADER psDSDHeader, FLASH2X_SECTION_VAL dsd);
222 INT BcmGetActiveDSD(PMINI_ADAPTER Adapter);
223 INT ReadISOHeader(PMINI_ADAPTER Adapter, PISO_HEADER psISOHeader, FLASH2X_SECTION_VAL IsoImage);
224 INT BcmGetActiveISO(PMINI_ADAPTER Adapter);
225 B_UINT8 IsOffsetWritable(PMINI_ADAPTER Adapter, UINT uiOffset);
226 INT BcmGetFlash2xSectionalBitMap(PMINI_ADAPTER Adapter, PFLASH2X_BITMAP psFlash2xBitMap);
227
228 INT BcmFlash2xBulkWrite(
229         PMINI_ADAPTER Adapter,
230         PUINT pBuffer,
231         FLASH2X_SECTION_VAL eFlashSectionVal,
232         UINT uiOffset,
233         UINT uiNumBytes,
234         UINT bVerify);
235
236 INT BcmFlash2xBulkRead(
237         PMINI_ADAPTER Adapter,
238         PUINT pBuffer,
239         FLASH2X_SECTION_VAL eFlashSectionVal,
240         UINT uiOffsetWithinSectionVal,
241         UINT uiNumBytes);
242 INT BcmGetSectionValEndOffset(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlashSectionVal);
243
244 INT BcmGetSectionValStartOffset(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlashSectionVal);
245
246 INT BcmSetActiveSection(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlash2xSectVal);
247 INT BcmAllocFlashCSStructure(PMINI_ADAPTER psAdapter);
248 INT BcmDeAllocFlashCSStructure(PMINI_ADAPTER psAdapter);
249
250 INT BcmCopyISO(PMINI_ADAPTER Adapter, FLASH2X_COPY_SECTION sCopySectStrut);
251 INT BcmFlash2xCorruptSig(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlash2xSectionVal);
252 INT BcmFlash2xWriteSig(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlashSectionVal);
253 INT     validateFlash2xReadWrite(PMINI_ADAPTER Adapter, PFLASH2X_READWRITE psFlash2xReadWrite);
254 INT IsFlash2x(PMINI_ADAPTER Adapter);
255 INT GetFlashBaseAddr(PMINI_ADAPTER Adapter);
256 INT SaveHeaderIfPresent(PMINI_ADAPTER Adapter, PUCHAR pBuff, UINT uiSectAlignAddr);
257 INT     BcmCopySection(PMINI_ADAPTER Adapter,
258                                                 FLASH2X_SECTION_VAL SrcSection,
259                                                 FLASH2X_SECTION_VAL DstSection,
260                                                 UINT offset,
261                                                 UINT numOfBytes);
262
263 INT BcmDoChipSelect(PMINI_ADAPTER Adapter, UINT offset);
264 INT BcmMakeFlashCSActive(PMINI_ADAPTER Adapter, UINT offset);
265 INT ReadDSDSignature(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL dsd);
266 INT ReadDSDPriority(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL dsd);
267 FLASH2X_SECTION_VAL getHighestPriDSD(PMINI_ADAPTER Adapter);
268 INT ReadISOSignature(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL iso);
269 INT ReadISOPriority(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL iso);
270 FLASH2X_SECTION_VAL getHighestPriISO(PMINI_ADAPTER Adapter);
271 INT WriteToFlashWithoutSectorErase(PMINI_ADAPTER Adapter,
272                                                                                 PUINT pBuff,
273                                                                                 FLASH2X_SECTION_VAL eFlash2xSectionVal,
274                                                                                 UINT uiOffset,
275                                                                                 UINT uiNumBytes
276                                                                                 );
277
278 //UINT getNumOfSubSectionWithWRPermisson(PMINI_ADAPTER Adapter, SECTION_TYPE secType);
279 BOOLEAN IsSectionExistInFlash(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL section);
280 INT IsSectionWritable(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL Section);
281 INT CorruptDSDSig(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlash2xSectionVal);
282 INT CorruptISOSig(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlash2xSectionVal);
283 BOOLEAN IsNonCDLessDevice(PMINI_ADAPTER Adapter);
284
285
286 VOID OverrideServiceFlowParams(PMINI_ADAPTER Adapter,PUINT puiBuffer);
287
288 int wrmaltWithLock (PMINI_ADAPTER Adapter, UINT uiAddress, PUINT pucBuff, size_t sSize);
289 int rdmaltWithLock (PMINI_ADAPTER Adapter, UINT uiAddress, PUINT pucBuff, size_t sSize);
290
291 int rdmWithLock(PMINI_ADAPTER Adapter, UINT uiAddress, PCHAR pucBuff, size_t size);
292 int wrmWithLock(PMINI_ADAPTER Adapter, UINT uiAddress, PCHAR pucBuff, size_t size);
293 INT buffDnldVerify(PMINI_ADAPTER Adapter, unsigned char *mappedbuffer, unsigned int u32FirmwareLength,
294                 unsigned long u32StartingAddress);
295
296
297 VOID putUsbSuspend(struct work_struct *work);
298 BOOLEAN IsReqGpioIsLedInNVM(PMINI_ADAPTER Adapter, UINT gpios);
299
300
301 #endif
302
303
304
305