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, 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);
115 void doPowerAutoCorrection(PMINI_ADAPTER psAdapter);
117 int bcm_ioctl_fw_download(PMINI_ADAPTER Adapter, FIRMWARE_INFO *psFwInfo);
119 int SearchVcid(PMINI_ADAPTER Adapter,unsigned short usVcid);
121 void CopyMIBSExtendedSFParameters(PMINI_ADAPTER Adapter,
122 CServiceFlowParamSI *psfLocalSet, UINT uiSearchRuleIndex);
124 VOID ResetCounters(PMINI_ADAPTER Adapter);
126 int InitLedSettings(PMINI_ADAPTER Adapter);
128 S_CLASSIFIER_RULE *GetFragIPClsEntry(PMINI_ADAPTER Adapter,USHORT usIpIdentification,ULONG SrcIP);
130 void AddFragIPClsEntry(PMINI_ADAPTER Adapter,PS_FRAGMENTED_PACKET_INFO psFragPktInfo);
132 void DelFragIPClsEntry(PMINI_ADAPTER Adapter,USHORT usIpIdentification,ULONG SrcIp);
134 void update_per_cid_rx (PMINI_ADAPTER Adapter);
136 void update_per_sf_desc_cnts( PMINI_ADAPTER Adapter);
138 void ClearTargetDSXBuffer(PMINI_ADAPTER Adapter,B_UINT16 TID,BOOLEAN bFreeAll);
140 void beceem_protocol_reset (PMINI_ADAPTER Adapter);
142 void flush_queue(PMINI_ADAPTER Adapter, UINT iQIndex);
145 INT flushAllAppQ(VOID);
148 INT BeceemEEPROMBulkRead(
149 PMINI_ADAPTER Adapter,
155 INT BeceemFlashBulkRead(
156 PMINI_ADAPTER Adapter,
161 UINT BcmGetEEPROMSize(PMINI_ADAPTER Adapter);
163 INT WriteBeceemEEPROM(PMINI_ADAPTER Adapter,UINT uiEEPROMOffset, UINT uiData);
165 UINT BcmGetFlashSize(PMINI_ADAPTER Adapter);
167 UINT BcmGetFlashSectorSize(PMINI_ADAPTER Adapter, UINT FlashSectorSizeSig, UINT FlashSectorSize);
169 INT BeceemFlashBulkWrite(
170 PMINI_ADAPTER Adapter,
176 INT PropagateCalParamsFromFlashToMemory(PMINI_ADAPTER Adapter);
178 INT PropagateCalParamsFromEEPROMToMemory(PMINI_ADAPTER Adapter);
181 INT BeceemEEPROMBulkWrite(
182 PMINI_ADAPTER Adapter,
189 INT ReadBeceemEEPROMBulk(PMINI_ADAPTER Adapter,UINT dwAddress, UINT *pdwData, UINT dwNumData);
191 INT ReadBeceemEEPROM(PMINI_ADAPTER Adapter,UINT dwAddress, UINT *pdwData);
193 NVM_TYPE BcmGetNvmType(PMINI_ADAPTER Adapter);
196 PMINI_ADAPTER Adapter,
202 PMINI_ADAPTER Adapter,
208 INT BcmUpdateSectorSize(PMINI_ADAPTER Adapter,UINT uiSectorSize);
210 INT BcmInitNVM(PMINI_ADAPTER Adapter);
212 INT BcmGetNvmSize(PMINI_ADAPTER Adapter);
214 INT IsSectionExistInVendorInfo(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL section);
216 VOID BcmValidateNvmType(PMINI_ADAPTER Adapter);
218 VOID ConfigureEndPointTypesThroughEEPROM(PMINI_ADAPTER Adapter);
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);
228 INT BcmFlash2xBulkWrite(
229 PMINI_ADAPTER Adapter,
231 FLASH2X_SECTION_VAL eFlashSectionVal,
236 INT BcmFlash2xBulkRead(
237 PMINI_ADAPTER Adapter,
239 FLASH2X_SECTION_VAL eFlashSectionVal,
240 UINT uiOffsetWithinSectionVal,
242 INT BcmGetSectionValEndOffset(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlashSectionVal);
244 INT BcmGetSectionValStartOffset(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlashSectionVal);
246 INT BcmSetActiveSection(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlash2xSectVal);
247 INT BcmAllocFlashCSStructure(PMINI_ADAPTER psAdapter);
248 INT BcmDeAllocFlashCSStructure(PMINI_ADAPTER psAdapter);
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,
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,
273 FLASH2X_SECTION_VAL eFlash2xSectionVal,
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);
286 VOID OverrideServiceFlowParams(PMINI_ADAPTER Adapter,PUINT puiBuffer);
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);
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);
297 VOID putUsbSuspend(struct work_struct *work);
298 BOOLEAN IsReqGpioIsLedInNVM(PMINI_ADAPTER Adapter, UINT gpios);