4 int BcmFileDownload(PMINI_ADAPTER Adapter,/**< Logical Adapter */
5 char *path, /**< path to image file */
6 unsigned int loc /**< Download Address on the chip*/
8 VOID LinkControlResponseMessage(PMINI_ADAPTER Adapter, PUCHAR pucBuffer);
10 VOID StatisticsResponse(PMINI_ADAPTER Adapter,PVOID pvBuffer);
12 VOID IdleModeResponse(PMINI_ADAPTER Adapter,PUINT puiBuffer);
14 VOID handle_rx_control_packet(PMINI_ADAPTER Adapter, /**<Pointer to the Adapter structure*/
15 struct sk_buff *skb); /**<Pointer to the socket buffer*/
17 int control_packet_handler (PMINI_ADAPTER Adapter);
19 VOID DeleteAllClassifiersForSF(PMINI_ADAPTER Adapter,UINT uiSearchRuleIndex);
21 VOID flush_all_queues(PMINI_ADAPTER Adapter);
23 int register_control_device_interface(PMINI_ADAPTER ps_adapter);
25 void unregister_control_device_interface(PMINI_ADAPTER Adapter);
27 INT CopyBufferToControlPacket(PMINI_ADAPTER Adapter,/**<Logical Adapter*/
28 PVOID ioBuffer/**<Control Packet Buffer*/
31 VOID SortPackInfo(PMINI_ADAPTER Adapter);
33 VOID SortClassifiers(PMINI_ADAPTER Adapter);
35 VOID flush_all_queues(PMINI_ADAPTER Adapter);
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 );
41 VOID PruneQueue(PMINI_ADAPTER Adapter,/**<Pointer to the driver control structure*/
42 INT iIndex/**<Queue Index*/
45 VOID PruneQueueAllSF(PMINI_ADAPTER Adapter);
47 INT SearchSfid(PMINI_ADAPTER Adapter,UINT uiSfid);
49 USHORT GetPacketQueueIndex(PMINI_ADAPTER Adapter, /**<Pointer to the driver control structure */
50 struct sk_buff* Packet /**< Pointer to the Packet to be sent*/
54 reply_to_arp_request(struct sk_buff *skb /**<sk_buff of ARP request*/
57 INT SetupNextSend(PMINI_ADAPTER Adapter, /**<Logical Adapter*/
58 struct sk_buff *Packet, /**<data buffer*/
61 VOID LinkMessage(PMINI_ADAPTER Adapter);
63 VOID transmit_packets(PMINI_ADAPTER Adapter);
65 INT SendControlPacket(PMINI_ADAPTER Adapter, /**<Logical Adapter*/
66 char *pControlPacket/**<Control Packet*/
69 INT bcm_transmit(struct sk_buff *skb, /**< skb */
70 struct net_device *dev /**< net device pointer */
73 int register_networkdev(PMINI_ADAPTER Adapter);
75 INT AllocAdapterDsxBuffer(PMINI_ADAPTER Adapter);
77 VOID AdapterFree(PMINI_ADAPTER Adapter);
79 INT FreeAdapterDsxBuffer(PMINI_ADAPTER Adapter);
81 int create_worker_threads(PMINI_ADAPTER psAdapter);
83 int tx_pkt_handler(PMINI_ADAPTER Adapter);
85 int reset_card_proc(PMINI_ADAPTER Adapter );
87 int run_card_proc(PMINI_ADAPTER Adapter );
89 int InitCardAndDownloadFirmware(PMINI_ADAPTER ps_adapter);
91 int bcm_parse_target_params(PMINI_ADAPTER Adapter);
93 INT ReadMacAddressFromNVM(PMINI_ADAPTER Adapter);
95 int register_control_device_interface(PMINI_ADAPTER ps_adapter);
97 void DumpPackInfo(PMINI_ADAPTER Adapter);
99 int rdm(PMINI_ADAPTER Adapter, UINT uiAddress, PCHAR pucBuff, size_t size);
101 int wrm(PMINI_ADAPTER Adapter, UINT uiAddress, PCHAR pucBuff, size_t size);
103 int wrmalt (PMINI_ADAPTER Adapter, UINT uiAddress, PUINT pucBuff, size_t sSize);
105 int rdmalt (PMINI_ADAPTER Adapter, UINT uiAddress, PUINT pucBuff, size_t sSize);
107 int get_dsx_sf_data_to_application(PMINI_ADAPTER Adapter, UINT uiSFId, void __user * user_buffer);
109 void SendLinkDown(PMINI_ADAPTER Adapter);
111 void SendIdleModeResponse(PMINI_ADAPTER Adapter);
113 void HandleShutDownModeRequest(PMINI_ADAPTER Adapter,PUCHAR pucBuffer);
115 int ProcessGetHostMibs(PMINI_ADAPTER Adapter, PVOID ioBuffer,
116 ULONG inputBufferLength);
118 int GetDroppedAppCntrlPktMibs(PVOID ioBuffer, PPER_TARANG_DATA pTarang);
119 void beceem_parse_target_struct(PMINI_ADAPTER Adapter);
121 void doPowerAutoCorrection(PMINI_ADAPTER psAdapter);
123 int bcm_ioctl_fw_download(PMINI_ADAPTER Adapter, FIRMWARE_INFO *psFwInfo);
125 int SearchVcid(PMINI_ADAPTER Adapter,unsigned short usVcid);
127 void CopyMIBSExtendedSFParameters(PMINI_ADAPTER Adapter,
128 CServiceFlowParamSI *psfLocalSet, UINT uiSearchRuleIndex);
130 VOID ResetCounters(PMINI_ADAPTER Adapter);
132 int InitLedSettings(PMINI_ADAPTER Adapter);
134 S_CLASSIFIER_RULE *GetFragIPClsEntry(PMINI_ADAPTER Adapter,USHORT usIpIdentification,ULONG SrcIP);
136 void AddFragIPClsEntry(PMINI_ADAPTER Adapter,PS_FRAGMENTED_PACKET_INFO psFragPktInfo);
138 void DelFragIPClsEntry(PMINI_ADAPTER Adapter,USHORT usIpIdentification,ULONG SrcIp);
140 void update_per_cid_rx (PMINI_ADAPTER Adapter);
142 void update_per_sf_desc_cnts( PMINI_ADAPTER Adapter);
144 void ClearTargetDSXBuffer(PMINI_ADAPTER Adapter,B_UINT16 TID,BOOLEAN bFreeAll);
146 void beceem_protocol_reset (PMINI_ADAPTER Adapter);
148 void flush_queue(PMINI_ADAPTER Adapter, UINT iQIndex);
151 INT flushAllAppQ(VOID);
154 INT BeceemEEPROMBulkRead(
155 PMINI_ADAPTER Adapter,
161 INT BeceemFlashBulkRead(
162 PMINI_ADAPTER Adapter,
167 UINT BcmGetEEPROMSize(PMINI_ADAPTER Adapter);
169 INT WriteBeceemEEPROM(PMINI_ADAPTER Adapter,UINT uiEEPROMOffset, UINT uiData);
171 UINT BcmGetFlashSize(PMINI_ADAPTER Adapter);
173 UINT BcmGetFlashSectorSize(PMINI_ADAPTER Adapter, UINT FlashSectorSizeSig, UINT FlashSectorSize);
175 INT BeceemFlashBulkWrite(
176 PMINI_ADAPTER Adapter,
182 INT PropagateCalParamsFromFlashToMemory(PMINI_ADAPTER Adapter);
184 INT PropagateCalParamsFromEEPROMToMemory(PMINI_ADAPTER Adapter);
187 INT BeceemEEPROMBulkWrite(
188 PMINI_ADAPTER Adapter,
195 INT ReadBeceemEEPROMBulk(PMINI_ADAPTER Adapter,UINT dwAddress, UINT *pdwData, UINT dwNumData);
197 INT ReadBeceemEEPROM(PMINI_ADAPTER Adapter,UINT dwAddress, UINT *pdwData);
199 NVM_TYPE BcmGetNvmType(PMINI_ADAPTER Adapter);
202 PMINI_ADAPTER Adapter,
208 PMINI_ADAPTER Adapter,
214 INT BcmUpdateSectorSize(PMINI_ADAPTER Adapter,UINT uiSectorSize);
216 INT BcmInitNVM(PMINI_ADAPTER Adapter);
218 INT BcmGetNvmSize(PMINI_ADAPTER Adapter);
220 INT IsSectionExistInVendorInfo(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL section);
222 VOID BcmValidateNvmType(PMINI_ADAPTER Adapter);
224 VOID ConfigureEndPointTypesThroughEEPROM(PMINI_ADAPTER Adapter);
226 INT BcmGetFlashCSInfo(PMINI_ADAPTER Adapter);
227 INT ReadDSDHeader(PMINI_ADAPTER Adapter, PDSD_HEADER psDSDHeader, FLASH2X_SECTION_VAL dsd);
228 INT BcmGetActiveDSD(PMINI_ADAPTER Adapter);
229 INT ReadISOHeader(PMINI_ADAPTER Adapter, PISO_HEADER psISOHeader, FLASH2X_SECTION_VAL IsoImage);
230 INT BcmGetActiveISO(PMINI_ADAPTER Adapter);
231 B_UINT8 IsOffsetWritable(PMINI_ADAPTER Adapter, UINT uiOffset);
232 INT BcmGetFlash2xSectionalBitMap(PMINI_ADAPTER Adapter, PFLASH2X_BITMAP psFlash2xBitMap);
234 INT BcmFlash2xBulkWrite(
235 PMINI_ADAPTER Adapter,
237 FLASH2X_SECTION_VAL eFlashSectionVal,
242 INT BcmFlash2xBulkRead(
243 PMINI_ADAPTER Adapter,
245 FLASH2X_SECTION_VAL eFlashSectionVal,
246 UINT uiOffsetWithinSectionVal,
248 INT BcmGetSectionValEndOffset(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlashSectionVal);
250 INT BcmGetSectionValStartOffset(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlashSectionVal);
252 INT BcmSetActiveSection(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlash2xSectVal);
253 INT BcmAllocFlashCSStructure(PMINI_ADAPTER psAdapter);
254 INT BcmDeAllocFlashCSStructure(PMINI_ADAPTER psAdapter);
256 INT BcmCopyISO(PMINI_ADAPTER Adapter, FLASH2X_COPY_SECTION sCopySectStrut);
257 INT BcmFlash2xCorruptSig(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlash2xSectionVal);
258 INT BcmFlash2xWriteSig(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlashSectionVal);
259 INT validateFlash2xReadWrite(PMINI_ADAPTER Adapter, PFLASH2X_READWRITE psFlash2xReadWrite);
260 INT IsFlash2x(PMINI_ADAPTER Adapter);
261 INT GetFlashBaseAddr(PMINI_ADAPTER Adapter);
262 INT SaveHeaderIfPresent(PMINI_ADAPTER Adapter, PUCHAR pBuff, UINT uiSectAlignAddr);
263 INT BcmCopySection(PMINI_ADAPTER Adapter,
264 FLASH2X_SECTION_VAL SrcSection,
265 FLASH2X_SECTION_VAL DstSection,
269 INT BcmDoChipSelect(PMINI_ADAPTER Adapter, UINT offset);
270 INT BcmMakeFlashCSActive(PMINI_ADAPTER Adapter, UINT offset);
271 INT ReadDSDSignature(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL dsd);
272 INT ReadDSDPriority(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL dsd);
273 FLASH2X_SECTION_VAL getHighestPriDSD(PMINI_ADAPTER Adapter);
274 INT ReadISOSignature(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL iso);
275 INT ReadISOPriority(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL iso);
276 FLASH2X_SECTION_VAL getHighestPriISO(PMINI_ADAPTER Adapter);
277 INT WriteToFlashWithoutSectorErase(PMINI_ADAPTER Adapter,
279 FLASH2X_SECTION_VAL eFlash2xSectionVal,
284 //UINT getNumOfSubSectionWithWRPermisson(PMINI_ADAPTER Adapter, SECTION_TYPE secType);
285 BOOLEAN IsSectionExistInFlash(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL section);
286 INT IsSectionWritable(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL Section);
287 INT CorruptDSDSig(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlash2xSectionVal);
288 INT CorruptISOSig(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlash2xSectionVal);
289 BOOLEAN IsNonCDLessDevice(PMINI_ADAPTER Adapter);
292 VOID OverrideServiceFlowParams(PMINI_ADAPTER Adapter,PUINT puiBuffer);
294 int wrmaltWithLock (PMINI_ADAPTER Adapter, UINT uiAddress, PUINT pucBuff, size_t sSize);
295 int rdmaltWithLock (PMINI_ADAPTER Adapter, UINT uiAddress, PUINT pucBuff, size_t sSize);
297 int rdmWithLock(PMINI_ADAPTER Adapter, UINT uiAddress, PCHAR pucBuff, size_t size);
298 int wrmWithLock(PMINI_ADAPTER Adapter, UINT uiAddress, PCHAR pucBuff, size_t size);
299 INT buffDnldVerify(PMINI_ADAPTER Adapter, unsigned char *mappedbuffer, unsigned int u32FirmwareLength,
300 unsigned long u32StartingAddress);
303 VOID putUsbSuspend(struct work_struct *work);
304 BOOLEAN IsReqGpioIsLedInNVM(PMINI_ADAPTER Adapter, UINT gpios);