]> git.karo-electronics.de Git - mv-sheeva.git/blob - drivers/staging/bcm/Prototypes.h
beceem: support multiple queues
[mv-sheeva.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, PVOID ioBuffer,
112         ULONG inputBufferLength);
113
114 int GetDroppedAppCntrlPktMibs(PVOID ioBuffer, PPER_TARANG_DATA pTarang);
115 void beceem_parse_target_struct(PMINI_ADAPTER Adapter);
116
117 void doPowerAutoCorrection(PMINI_ADAPTER psAdapter);
118
119 int bcm_ioctl_fw_download(PMINI_ADAPTER Adapter, FIRMWARE_INFO *psFwInfo);
120
121 int SearchVcid(PMINI_ADAPTER Adapter,unsigned short usVcid);
122
123 void CopyMIBSExtendedSFParameters(PMINI_ADAPTER Adapter,
124                 CServiceFlowParamSI *psfLocalSet, UINT uiSearchRuleIndex);
125
126 VOID ResetCounters(PMINI_ADAPTER Adapter);
127
128 int InitLedSettings(PMINI_ADAPTER Adapter);
129
130 S_CLASSIFIER_RULE *GetFragIPClsEntry(PMINI_ADAPTER Adapter,USHORT usIpIdentification,ULONG SrcIP);
131
132 void AddFragIPClsEntry(PMINI_ADAPTER Adapter,PS_FRAGMENTED_PACKET_INFO psFragPktInfo);
133
134 void DelFragIPClsEntry(PMINI_ADAPTER Adapter,USHORT usIpIdentification,ULONG SrcIp);
135
136 void update_per_cid_rx (PMINI_ADAPTER Adapter);
137
138 void update_per_sf_desc_cnts( PMINI_ADAPTER Adapter);
139
140 void ClearTargetDSXBuffer(PMINI_ADAPTER Adapter,B_UINT16 TID,BOOLEAN bFreeAll);
141
142 void beceem_protocol_reset (PMINI_ADAPTER Adapter);
143
144 void flush_queue(PMINI_ADAPTER Adapter, UINT iQIndex);
145
146
147 INT flushAllAppQ(VOID);
148
149
150 INT BeceemEEPROMBulkRead(
151         PMINI_ADAPTER Adapter,
152         PUINT pBuffer,
153         UINT uiOffset,
154         UINT uiNumBytes);
155
156
157 INT BeceemFlashBulkRead(
158         PMINI_ADAPTER Adapter,
159         PUINT pBuffer,
160         UINT uiOffset,
161         UINT uiNumBytes);
162
163 UINT BcmGetEEPROMSize(PMINI_ADAPTER Adapter);
164
165 INT WriteBeceemEEPROM(PMINI_ADAPTER Adapter,UINT uiEEPROMOffset, UINT uiData);
166
167 UINT BcmGetFlashSize(PMINI_ADAPTER Adapter);
168
169 UINT BcmGetFlashSectorSize(PMINI_ADAPTER Adapter, UINT FlashSectorSizeSig, UINT FlashSectorSize);
170
171 INT BeceemFlashBulkWrite(
172         PMINI_ADAPTER Adapter,
173         PUINT pBuffer,
174         UINT uiOffset,
175         UINT uiNumBytes,
176         BOOLEAN bVerify);
177
178 INT PropagateCalParamsFromFlashToMemory(PMINI_ADAPTER Adapter);
179
180 INT PropagateCalParamsFromEEPROMToMemory(PMINI_ADAPTER Adapter);
181
182
183 INT BeceemEEPROMBulkWrite(
184         PMINI_ADAPTER Adapter,
185         PUCHAR pBuffer,
186         UINT uiOffset,
187         UINT uiNumBytes,
188         BOOLEAN bVerify);
189
190
191 INT ReadBeceemEEPROMBulk(PMINI_ADAPTER Adapter,UINT dwAddress, UINT *pdwData, UINT dwNumData);
192
193 INT ReadBeceemEEPROM(PMINI_ADAPTER Adapter,UINT dwAddress, UINT *pdwData);
194
195 NVM_TYPE BcmGetNvmType(PMINI_ADAPTER Adapter);
196
197 INT BeceemNVMRead(
198         PMINI_ADAPTER Adapter,
199         PUINT pBuffer,
200         UINT uiOffset,
201         UINT uiNumBytes);
202
203 INT BeceemNVMWrite(
204         PMINI_ADAPTER Adapter,
205         PUINT pBuffer,
206         UINT uiOffset,
207         UINT uiNumBytes,
208         BOOLEAN bVerify);
209
210 INT BcmUpdateSectorSize(PMINI_ADAPTER Adapter,UINT uiSectorSize);
211
212 INT BcmInitNVM(PMINI_ADAPTER Adapter);
213
214 INT BcmGetNvmSize(PMINI_ADAPTER Adapter);
215
216 INT IsSectionExistInVendorInfo(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL section);
217
218 VOID BcmValidateNvmType(PMINI_ADAPTER Adapter);
219
220 VOID ConfigureEndPointTypesThroughEEPROM(PMINI_ADAPTER Adapter);
221
222 INT BcmGetFlashCSInfo(PMINI_ADAPTER Adapter);
223 INT ReadDSDHeader(PMINI_ADAPTER Adapter, PDSD_HEADER psDSDHeader, FLASH2X_SECTION_VAL dsd);
224 INT BcmGetActiveDSD(PMINI_ADAPTER Adapter);
225 INT ReadISOHeader(PMINI_ADAPTER Adapter, PISO_HEADER psISOHeader, FLASH2X_SECTION_VAL IsoImage);
226 INT BcmGetActiveISO(PMINI_ADAPTER Adapter);
227 B_UINT8 IsOffsetWritable(PMINI_ADAPTER Adapter, UINT uiOffset);
228 INT BcmGetFlash2xSectionalBitMap(PMINI_ADAPTER Adapter, PFLASH2X_BITMAP psFlash2xBitMap);
229
230 INT BcmFlash2xBulkWrite(
231         PMINI_ADAPTER Adapter,
232         PUINT pBuffer,
233         FLASH2X_SECTION_VAL eFlashSectionVal,
234         UINT uiOffset,
235         UINT uiNumBytes,
236         UINT bVerify);
237
238 INT BcmFlash2xBulkRead(
239         PMINI_ADAPTER Adapter,
240         PUINT pBuffer,
241         FLASH2X_SECTION_VAL eFlashSectionVal,
242         UINT uiOffsetWithinSectionVal,
243         UINT uiNumBytes);
244 INT BcmGetSectionValEndOffset(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlashSectionVal);
245
246 INT BcmGetSectionValStartOffset(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlashSectionVal);
247
248 INT BcmSetActiveSection(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlash2xSectVal);
249 INT BcmAllocFlashCSStructure(PMINI_ADAPTER psAdapter);
250 INT BcmDeAllocFlashCSStructure(PMINI_ADAPTER psAdapter);
251
252 INT BcmCopyISO(PMINI_ADAPTER Adapter, FLASH2X_COPY_SECTION sCopySectStrut);
253 INT BcmFlash2xCorruptSig(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlash2xSectionVal);
254 INT BcmFlash2xWriteSig(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlashSectionVal);
255 INT     validateFlash2xReadWrite(PMINI_ADAPTER Adapter, PFLASH2X_READWRITE psFlash2xReadWrite);
256 INT IsFlash2x(PMINI_ADAPTER Adapter);
257 INT GetFlashBaseAddr(PMINI_ADAPTER Adapter);
258 INT SaveHeaderIfPresent(PMINI_ADAPTER Adapter, PUCHAR pBuff, UINT uiSectAlignAddr);
259 INT     BcmCopySection(PMINI_ADAPTER Adapter,
260                                                 FLASH2X_SECTION_VAL SrcSection,
261                                                 FLASH2X_SECTION_VAL DstSection,
262                                                 UINT offset,
263                                                 UINT numOfBytes);
264
265 INT BcmDoChipSelect(PMINI_ADAPTER Adapter, UINT offset);
266 INT BcmMakeFlashCSActive(PMINI_ADAPTER Adapter, UINT offset);
267 INT ReadDSDSignature(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL dsd);
268 INT ReadDSDPriority(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL dsd);
269 FLASH2X_SECTION_VAL getHighestPriDSD(PMINI_ADAPTER Adapter);
270 INT ReadISOSignature(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL iso);
271 INT ReadISOPriority(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL iso);
272 FLASH2X_SECTION_VAL getHighestPriISO(PMINI_ADAPTER Adapter);
273 INT WriteToFlashWithoutSectorErase(PMINI_ADAPTER Adapter,
274                                                                                 PUINT pBuff,
275                                                                                 FLASH2X_SECTION_VAL eFlash2xSectionVal,
276                                                                                 UINT uiOffset,
277                                                                                 UINT uiNumBytes
278                                                                                 );
279
280 //UINT getNumOfSubSectionWithWRPermisson(PMINI_ADAPTER Adapter, SECTION_TYPE secType);
281 BOOLEAN IsSectionExistInFlash(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL section);
282 INT IsSectionWritable(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL Section);
283 INT CorruptDSDSig(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlash2xSectionVal);
284 INT CorruptISOSig(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlash2xSectionVal);
285 BOOLEAN IsNonCDLessDevice(PMINI_ADAPTER Adapter);
286
287
288 VOID OverrideServiceFlowParams(PMINI_ADAPTER Adapter,PUINT puiBuffer);
289
290 int wrmaltWithLock (PMINI_ADAPTER Adapter, UINT uiAddress, PUINT pucBuff, size_t sSize);
291 int rdmaltWithLock (PMINI_ADAPTER Adapter, UINT uiAddress, PUINT pucBuff, size_t sSize);
292
293 int rdmWithLock(PMINI_ADAPTER Adapter, UINT uiAddress, PCHAR pucBuff, size_t size);
294 int wrmWithLock(PMINI_ADAPTER Adapter, UINT uiAddress, PCHAR pucBuff, size_t size);
295 INT buffDnldVerify(PMINI_ADAPTER Adapter, unsigned char *mappedbuffer, unsigned int u32FirmwareLength,
296                 unsigned long u32StartingAddress);
297
298
299 VOID putUsbSuspend(struct work_struct *work);
300 BOOLEAN IsReqGpioIsLedInNVM(PMINI_ADAPTER Adapter, UINT gpios);
301
302
303 #endif
304
305
306
307