• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6.36/include/Common/
1/*
2* Prototypes.h
3*
4*Copyright (C) 2010 Beceem Communications, Inc.
5*
6*This program is free software: you can redistribute it and/or modify
7*it under the terms of the GNU General Public License version 2 as
8*published by the Free Software Foundation.
9*
10*This program is distributed in the hope that it will be useful,but
11*WITHOUT ANY WARRANTY; without even the implied warranty of
12*MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13*See the GNU General Public License for more details.
14*
15*You should have received a copy of the GNU General Public License
16*along with this program. If not, write to the Free Software Foundation, Inc.,
17*51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
18*
19*/
20
21
22#ifndef _PROTOTYPES_H_
23#define _PROTOTYPES_H_
24
25int BcmFileDownload(PMINI_ADAPTER Adapter,/**< Logical Adapter */
26                        char *path,     /**< path to image file */
27                        unsigned int loc    /**< Download Address on the chip*/
28                        );
29VOID LinkControlResponseMessage(PMINI_ADAPTER Adapter, PUCHAR pucBuffer);
30
31VOID StatisticsResponse(PMINI_ADAPTER Adapter,PVOID pvBuffer);
32
33VOID IdleModeResponse(PMINI_ADAPTER Adapter,PUINT puiBuffer);
34
35void bcm_kfree_skb(struct sk_buff *skb);
36VOID bcm_kfree(VOID *ptr);
37
38
39VOID handle_rx_control_packet(PMINI_ADAPTER Adapter, 	/**<Pointer to the Adapter structure*/
40								struct sk_buff *skb);				/**<Pointer to the socket buffer*/
41
42int control_packet_handler	(PMINI_ADAPTER Adapter);
43
44int InterruptOut(PMINI_ADAPTER Adapter, PUCHAR pData);
45
46void shiftDetect(PMINI_ADAPTER Adapter);
47
48VOID DeleteAllClassifiersForSF(PMINI_ADAPTER Adapter,UINT uiSearchRuleIndex);
49
50VOID flush_all_queues(PMINI_ADAPTER Adapter);
51
52int register_control_device_interface(PMINI_ADAPTER ps_adapter);
53
54void unregister_control_device_interface(PMINI_ADAPTER Adapter);
55
56INT CopyBufferToControlPacket(PMINI_ADAPTER Adapter,/**<Logical Adapter*/
57									  PVOID ioBuffer/**<Control Packet Buffer*/
58									  );
59
60VOID SortPackInfo(PMINI_ADAPTER Adapter);
61
62VOID SortClassifiers(PMINI_ADAPTER Adapter);
63
64VOID flush_all_queues(PMINI_ADAPTER Adapter);
65
66USHORT	IpVersion4(PMINI_ADAPTER Adapter, /**< Pointer to the driver control structure */
67					struct iphdr *iphd, /**<Pointer to the IP Hdr of the packet*/
68					S_CLASSIFIER_RULE *pstClassifierRule );
69
70VOID PruneQueue(PMINI_ADAPTER Adapter,/**<Pointer to the driver control structure*/
71					INT iIndex/**<Queue Index*/
72					);
73
74VOID PruneQueueAllSF(PMINI_ADAPTER Adapter);
75
76INT SearchSfid(PMINI_ADAPTER Adapter,UINT uiSfid);
77
78USHORT GetPacketQueueIndex(PMINI_ADAPTER Adapter, /**<Pointer to the driver control structure */
79								struct sk_buff* Packet /**< Pointer to the Packet to be sent*/
80								);
81
82VOID
83reply_to_arp_request(struct sk_buff *skb  /**<sk_buff of ARP request*/
84						);
85
86INT SetupNextSend(PMINI_ADAPTER Adapter, /**<Logical Adapter*/
87					struct sk_buff *Packet, /**<data buffer*/
88					USHORT Vcid)	;
89
90VOID LinkMessage(PMINI_ADAPTER Adapter);
91
92VOID transmit_packets(PMINI_ADAPTER Adapter);
93
94INT SendControlPacket(PMINI_ADAPTER Adapter, /**<Logical Adapter*/
95							char *pControlPacket/**<Control Packet*/
96							);
97
98INT bcm_transmit(struct sk_buff *skb, 		/**< skb */
99					struct net_device *dev 	/**< net device pointer */
100					);
101
102int register_networkdev(PMINI_ADAPTER Adapter);
103
104INT AllocAdapterDsxBuffer(PMINI_ADAPTER Adapter);
105
106VOID AdapterFree(PMINI_ADAPTER Adapter);
107
108INT FreeAdapterDsxBuffer(PMINI_ADAPTER Adapter);
109
110int create_worker_threads(PMINI_ADAPTER psAdapter);
111
112int tx_pkt_handler(PMINI_ADAPTER Adapter);
113
114int  reset_card_proc(PMINI_ADAPTER Adapter );
115
116int run_card_proc(PMINI_ADAPTER Adapter );
117
118int InitCardAndDownloadFirmware(PMINI_ADAPTER ps_adapter);
119
120int bcm_parse_target_params(PMINI_ADAPTER Adapter);
121
122INT ReadMacAddressFromNVM(PMINI_ADAPTER Adapter);
123
124int register_control_device_interface(PMINI_ADAPTER ps_adapter);
125
126void DumpPackInfo(PMINI_ADAPTER Adapter);
127
128int rdm(PMINI_ADAPTER Adapter, UINT uiAddress, PCHAR pucBuff, size_t size);
129
130int wrm(PMINI_ADAPTER Adapter, UINT uiAddress, PCHAR pucBuff, size_t size);
131
132int wrmalt (PMINI_ADAPTER Adapter, UINT uiAddress, PUINT pucBuff, size_t sSize);
133
134int rdmalt (PMINI_ADAPTER Adapter, UINT uiAddress, PUINT pucBuff, size_t sSize);
135
136int get_dsx_sf_data_to_application(PMINI_ADAPTER Adapter, UINT uiSFId,
137	PUCHAR user_buffer);
138
139void SendLinkDown(PMINI_ADAPTER Adapter);
140
141void SendIdleModeResponse(PMINI_ADAPTER Adapter);
142
143void HandleShutDownModeRequest(PMINI_ADAPTER Adapter,PUCHAR pucBuffer);
144
145int  ProcessGetHostMibs(PMINI_ADAPTER Adapter, PVOID ioBuffer,
146	ULONG inputBufferLength);
147
148int GetDroppedAppCntrlPktMibs(PVOID ioBuffer, PPER_TARANG_DATA pTarang);
149void beceem_parse_target_struct(PMINI_ADAPTER Adapter);
150
151void doPowerAutoCorrection(PMINI_ADAPTER psAdapter);
152
153int bcm_ioctl_fw_download(PMINI_ADAPTER Adapter, FIRMWARE_INFO *psFwInfo);
154
155void bcm_unregister_networkdev(PMINI_ADAPTER Adapter);
156
157int SearchVcid(PMINI_ADAPTER Adapter,unsigned short usVcid);
158
159void CopyMIBSExtendedSFParameters(PMINI_ADAPTER Adapter,
160		CServiceFlowParamSI *psfLocalSet, UINT uiSearchRuleIndex);
161
162VOID CheckAndIndicateConnect(PMINI_ADAPTER Adapter, stLocalSFAddIndicationAlt *pstAddIndication);
163
164
165VOID ResetCounters(PMINI_ADAPTER Adapter);
166
167int InitLedSettings(PMINI_ADAPTER Adapter);
168
169S_CLASSIFIER_RULE *GetFragIPClsEntry(PMINI_ADAPTER Adapter,USHORT usIpIdentification,ULONG SrcIP);
170
171void AddFragIPClsEntry(PMINI_ADAPTER Adapter,PS_FRAGMENTED_PACKET_INFO psFragPktInfo);
172
173void DelFragIPClsEntry(PMINI_ADAPTER Adapter,USHORT usIpIdentification,ULONG SrcIp);
174
175void update_per_cid_rx (PMINI_ADAPTER Adapter);
176
177void update_per_sf_desc_cnts( PMINI_ADAPTER Adapter);
178
179void ClearTargetDSXBuffer(PMINI_ADAPTER Adapter,B_UINT16 TID,BOOLEAN bFreeAll);
180
181void beceem_protocol_reset (PMINI_ADAPTER Adapter);
182
183void flush_queue(PMINI_ADAPTER Adapter, UINT iQIndex);
184
185
186INT flushAllAppQ(VOID);
187
188
189INT BeceemEEPROMBulkRead(
190	PMINI_ADAPTER Adapter,
191	PUINT pBuffer,
192	UINT uiOffset,
193	UINT uiNumBytes);
194
195
196INT BeceemFlashBulkRead(
197	PMINI_ADAPTER Adapter,
198	PUINT pBuffer,
199	UINT uiOffset,
200	UINT uiNumBytes);
201
202UINT BcmGetEEPROMSize(PMINI_ADAPTER Adapter);
203
204INT WriteBeceemEEPROM(PMINI_ADAPTER Adapter,UINT uiEEPROMOffset, UINT uiData);
205
206UINT BcmGetFlashSize(PMINI_ADAPTER Adapter);
207
208UINT BcmGetFlashSectorSize(PMINI_ADAPTER Adapter, UINT FlashSectorSizeSig, UINT FlashSectorSize);
209
210INT BeceemFlashBulkWrite(
211	PMINI_ADAPTER Adapter,
212	PUINT pBuffer,
213	UINT uiOffset,
214	UINT uiNumBytes,
215	BOOLEAN bVerify);
216
217INT PropagateCalParamsFromFlashToMemory(PMINI_ADAPTER Adapter);
218
219INT PropagateCalParamsFromEEPROMToMemory(PMINI_ADAPTER Adapter);
220
221
222INT BeceemEEPROMBulkWrite(
223	PMINI_ADAPTER Adapter,
224	PUCHAR pBuffer,
225	UINT uiOffset,
226	UINT uiNumBytes,
227	BOOLEAN bVerify);
228
229
230INT ReadBeceemEEPROMBulk(PMINI_ADAPTER Adapter,UINT dwAddress, UINT *pdwData, UINT dwNumData);
231
232INT ReadBeceemEEPROM(PMINI_ADAPTER Adapter,UINT dwAddress, UINT *pdwData);
233
234
235NVM_TYPE BcmGetNvmType(PMINI_ADAPTER Adapter);
236
237INT BeceemNVMRead(
238	PMINI_ADAPTER Adapter,
239	PUINT pBuffer,
240	UINT uiOffset,
241	UINT uiNumBytes);
242
243INT BeceemNVMWrite(
244	PMINI_ADAPTER Adapter,
245	PUINT pBuffer,
246	UINT uiOffset,
247	UINT uiNumBytes,
248	BOOLEAN bVerify);
249
250INT BcmUpdateSectorSize(PMINI_ADAPTER Adapter,UINT uiSectorSize);
251
252INT BcmInitNVM(PMINI_ADAPTER Adapter);
253
254INT BcmGetNvmSize(PMINI_ADAPTER Adapter);
255
256INT IsSectionExistInVendorInfo(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL section);
257
258VOID BcmValidateNvmType(PMINI_ADAPTER Adapter);
259
260VOID ConfigureEndPointTypesThroughEEPROM(PMINI_ADAPTER Adapter);
261
262INT BcmGetFlashCSInfo(PMINI_ADAPTER Adapter);
263INT ReadDSDHeader(PMINI_ADAPTER Adapter, PDSD_HEADER psDSDHeader, FLASH2X_SECTION_VAL dsd);
264INT BcmGetActiveDSD(PMINI_ADAPTER Adapter);
265INT ReadISOHeader(PMINI_ADAPTER Adapter, PISO_HEADER psISOHeader, FLASH2X_SECTION_VAL IsoImage);
266INT BcmGetActiveISO(PMINI_ADAPTER Adapter);
267B_UINT8 IsOffsetWritable(PMINI_ADAPTER Adapter, UINT uiOffset);
268INT BcmGetFlash2xSectionalBitMap(PMINI_ADAPTER Adapter, PFLASH2X_BITMAP psFlash2xBitMap);
269
270INT BcmFlash2xBulkWrite(
271	PMINI_ADAPTER Adapter,
272	PUINT pBuffer,
273	FLASH2X_SECTION_VAL eFlashSectionVal,
274	UINT uiOffset,
275	UINT uiNumBytes,
276	UINT bVerify);
277
278INT BcmFlash2xBulkRead(
279	PMINI_ADAPTER Adapter,
280	PUINT pBuffer,
281	FLASH2X_SECTION_VAL eFlashSectionVal,
282	UINT uiOffsetWithinSectionVal,
283	UINT uiNumBytes);
284INT BcmGetSectionValEndOffset(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlashSectionVal);
285
286INT BcmGetSectionValStartOffset(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlashSectionVal);
287
288INT BcmSetActiveSection(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlash2xSectVal);
289INT BcmAllocFlashCSStructure(PMINI_ADAPTER psAdapter);
290INT BcmDeAllocFlashCSStructure(PMINI_ADAPTER psAdapter);
291
292INT BcmCopyISO(PMINI_ADAPTER Adapter, FLASH2X_COPY_SECTION sCopySectStrut);
293INT BcmFlash2xCorruptSig(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlash2xSectionVal);
294INT BcmFlash2xWriteSig(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlashSectionVal);
295INT	validateFlash2xReadWrite(PMINI_ADAPTER Adapter, PFLASH2X_READWRITE psFlash2xReadWrite);
296INT IsFlash2x(PMINI_ADAPTER Adapter);
297INT GetFlashBaseAddr(PMINI_ADAPTER Adapter);
298INT SaveHeaderIfPresent(PMINI_ADAPTER Adapter, PUCHAR pBuff, UINT uiSectAlignAddr);
299INT	BcmCopySection(PMINI_ADAPTER Adapter,
300						FLASH2X_SECTION_VAL SrcSection,
301						FLASH2X_SECTION_VAL DstSection,
302						UINT offset,
303						UINT numOfBytes);
304
305INT BcmDoChipSelect(PMINI_ADAPTER Adapter, UINT offset);
306INT BcmMakeFlashCSActive(PMINI_ADAPTER Adapter, UINT offset);
307INT ReadDSDSignature(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL dsd);
308INT ReadDSDPriority(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL dsd);
309FLASH2X_SECTION_VAL getHighestPriDSD(PMINI_ADAPTER Adapter);
310INT ReadISOSignature(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL iso);
311INT ReadISOPriority(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL iso);
312FLASH2X_SECTION_VAL getHighestPriISO(PMINI_ADAPTER Adapter);
313INT WriteToFlashWithoutSectorErase(PMINI_ADAPTER Adapter,
314										PUINT pBuff,
315										FLASH2X_SECTION_VAL eFlash2xSectionVal,
316										UINT uiOffset,
317										UINT uiNumBytes
318										);
319
320//UINT getNumOfSubSectionWithWRPermisson(PMINI_ADAPTER Adapter, SECTION_TYPE secType);
321BOOLEAN IsSectionExistInFlash(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL section);
322INT IsSectionWritable(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL Section);
323INT CorruptDSDSig(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlash2xSectionVal);
324INT CorruptISOSig(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlash2xSectionVal);
325BOOLEAN IsNonCDLessDevice(PMINI_ADAPTER Adapter);
326
327
328VOID OverrideServiceFlowParams(PMINI_ADAPTER Adapter,PUINT puiBuffer);
329
330int wrmaltWithLock (PMINI_ADAPTER Adapter, UINT uiAddress, PUINT pucBuff, size_t sSize);
331
332int rdmaltWithLock (PMINI_ADAPTER Adapter, UINT uiAddress, PUINT pucBuff, size_t sSize);
333
334int rdmWithLock(PMINI_ADAPTER Adapter, UINT uiAddress, PCHAR pucBuff, size_t size);
335int wrmWithLock(PMINI_ADAPTER Adapter, UINT uiAddress, PCHAR pucBuff, size_t size);
336INT buffDnldVerify(PMINI_ADAPTER Adapter, unsigned char *mappedbuffer, unsigned int u32FirmwareLength,
337		unsigned long u32StartingAddress);
338
339
340VOID putUsbSuspend(struct work_struct *work);
341BOOLEAN IsReqGpioIsLedInNVM(PMINI_ADAPTER Adapter, UINT gpios);
342
343#ifdef BCM_SHM_INTERFACE
344INT beceem_virtual_device_init(void);
345VOID virtual_mail_box_interrupt(void);
346INT beceem_virtual_device_exit(void);
347#endif
348
349int capture_and_merge_acp(PMINI_ADAPTER Adapter, unsigned char *ptr, int size);
350
351#endif
352
353
354
355
356