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 ClassifyPacket(PMINI_ADAPTER Adapter,struct sk_buff* skb);
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);
56 INT SetupNextSend(PMINI_ADAPTER Adapter, /**<Logical Adapter*/
57 struct sk_buff *Packet, /**<data buffer*/
60 VOID LinkMessage(PMINI_ADAPTER Adapter);
62 VOID transmit_packets(PMINI_ADAPTER Adapter);
64 INT SendControlPacket(PMINI_ADAPTER Adapter, /**<Logical Adapter*/
65 char *pControlPacket/**<Control Packet*/
69 int register_networkdev(PMINI_ADAPTER Adapter);
71 INT AllocAdapterDsxBuffer(PMINI_ADAPTER Adapter);
73 VOID AdapterFree(PMINI_ADAPTER Adapter);
75 INT FreeAdapterDsxBuffer(PMINI_ADAPTER Adapter);
77 int create_worker_threads(PMINI_ADAPTER psAdapter);
79 int tx_pkt_handler(PMINI_ADAPTER Adapter);
81 int reset_card_proc(PMINI_ADAPTER Adapter );
83 int run_card_proc(PMINI_ADAPTER Adapter );
85 int InitCardAndDownloadFirmware(PMINI_ADAPTER ps_adapter);
87 int bcm_parse_target_params(PMINI_ADAPTER Adapter);
89 INT ReadMacAddressFromNVM(PMINI_ADAPTER Adapter);
91 int register_control_device_interface(PMINI_ADAPTER ps_adapter);
93 void DumpPackInfo(PMINI_ADAPTER Adapter);
95 int rdm(PMINI_ADAPTER Adapter, UINT uiAddress, PCHAR pucBuff, size_t size);
97 int wrm(PMINI_ADAPTER Adapter, UINT uiAddress, PCHAR pucBuff, size_t size);
99 int wrmalt (PMINI_ADAPTER Adapter, UINT uiAddress, PUINT pucBuff, size_t sSize);
101 int rdmalt (PMINI_ADAPTER Adapter, UINT uiAddress, PUINT pucBuff, size_t sSize);
103 int get_dsx_sf_data_to_application(PMINI_ADAPTER Adapter, UINT uiSFId, void __user * user_buffer);
105 void SendLinkDown(PMINI_ADAPTER Adapter);
107 void SendIdleModeResponse(PMINI_ADAPTER Adapter);
109 void HandleShutDownModeRequest(PMINI_ADAPTER Adapter,PUCHAR pucBuffer);
111 int ProcessGetHostMibs(PMINI_ADAPTER Adapter, PVOID ioBuffer,
112 ULONG inputBufferLength);
114 int GetDroppedAppCntrlPktMibs(PVOID ioBuffer, PPER_TARANG_DATA pTarang);
115 void beceem_parse_target_struct(PMINI_ADAPTER Adapter);
117 void doPowerAutoCorrection(PMINI_ADAPTER psAdapter);
119 int bcm_ioctl_fw_download(PMINI_ADAPTER Adapter, FIRMWARE_INFO *psFwInfo);
121 int SearchVcid(PMINI_ADAPTER Adapter,unsigned short usVcid);
123 void CopyMIBSExtendedSFParameters(PMINI_ADAPTER Adapter,
124 CServiceFlowParamSI *psfLocalSet, UINT uiSearchRuleIndex);
126 VOID ResetCounters(PMINI_ADAPTER Adapter);
128 int InitLedSettings(PMINI_ADAPTER Adapter);
130 S_CLASSIFIER_RULE *GetFragIPClsEntry(PMINI_ADAPTER Adapter,USHORT usIpIdentification,ULONG SrcIP);
132 void AddFragIPClsEntry(PMINI_ADAPTER Adapter,PS_FRAGMENTED_PACKET_INFO psFragPktInfo);
134 void DelFragIPClsEntry(PMINI_ADAPTER Adapter,USHORT usIpIdentification,ULONG SrcIp);
136 void update_per_cid_rx (PMINI_ADAPTER Adapter);
138 void update_per_sf_desc_cnts( PMINI_ADAPTER Adapter);
140 void ClearTargetDSXBuffer(PMINI_ADAPTER Adapter,B_UINT16 TID,BOOLEAN bFreeAll);
142 void beceem_protocol_reset (PMINI_ADAPTER Adapter);
144 void flush_queue(PMINI_ADAPTER Adapter, UINT iQIndex);
147 INT flushAllAppQ(VOID);
150 INT BeceemEEPROMBulkRead(
151 PMINI_ADAPTER Adapter,
157 INT BeceemFlashBulkRead(
158 PMINI_ADAPTER Adapter,
163 UINT BcmGetEEPROMSize(PMINI_ADAPTER Adapter);
165 INT WriteBeceemEEPROM(PMINI_ADAPTER Adapter,UINT uiEEPROMOffset, UINT uiData);
167 UINT BcmGetFlashSize(PMINI_ADAPTER Adapter);
169 UINT BcmGetFlashSectorSize(PMINI_ADAPTER Adapter, UINT FlashSectorSizeSig, UINT FlashSectorSize);
171 INT BeceemFlashBulkWrite(
172 PMINI_ADAPTER Adapter,
178 INT PropagateCalParamsFromFlashToMemory(PMINI_ADAPTER Adapter);
180 INT PropagateCalParamsFromEEPROMToMemory(PMINI_ADAPTER Adapter);
183 INT BeceemEEPROMBulkWrite(
184 PMINI_ADAPTER Adapter,
191 INT ReadBeceemEEPROMBulk(PMINI_ADAPTER Adapter,UINT dwAddress, UINT *pdwData, UINT dwNumData);
193 INT ReadBeceemEEPROM(PMINI_ADAPTER Adapter,UINT dwAddress, UINT *pdwData);
195 NVM_TYPE BcmGetNvmType(PMINI_ADAPTER Adapter);
198 PMINI_ADAPTER Adapter,
204 PMINI_ADAPTER Adapter,
210 INT BcmUpdateSectorSize(PMINI_ADAPTER Adapter,UINT uiSectorSize);
212 INT BcmInitNVM(PMINI_ADAPTER Adapter);
214 INT BcmGetNvmSize(PMINI_ADAPTER Adapter);
216 INT IsSectionExistInVendorInfo(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL section);
218 VOID BcmValidateNvmType(PMINI_ADAPTER Adapter);
220 VOID ConfigureEndPointTypesThroughEEPROM(PMINI_ADAPTER Adapter);
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);
230 INT BcmFlash2xBulkWrite(
231 PMINI_ADAPTER Adapter,
233 FLASH2X_SECTION_VAL eFlashSectionVal,
238 INT BcmFlash2xBulkRead(
239 PMINI_ADAPTER Adapter,
241 FLASH2X_SECTION_VAL eFlashSectionVal,
242 UINT uiOffsetWithinSectionVal,
244 INT BcmGetSectionValEndOffset(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlashSectionVal);
246 INT BcmGetSectionValStartOffset(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlashSectionVal);
248 INT BcmSetActiveSection(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlash2xSectVal);
249 INT BcmAllocFlashCSStructure(PMINI_ADAPTER psAdapter);
250 INT BcmDeAllocFlashCSStructure(PMINI_ADAPTER psAdapter);
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,
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,
275 FLASH2X_SECTION_VAL eFlash2xSectionVal,
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);
288 VOID OverrideServiceFlowParams(PMINI_ADAPTER Adapter,PUINT puiBuffer);
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);
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);
299 VOID putUsbSuspend(struct work_struct *work);
300 BOOLEAN IsReqGpioIsLedInNVM(PMINI_ADAPTER Adapter, UINT gpios);