1#ifndef _PROTOTYPES_H_ 2#define _PROTOTYPES_H_ 3 4VOID LinkControlResponseMessage(struct bcm_mini_adapter *Adapter, PUCHAR pucBuffer); 5 6VOID StatisticsResponse(struct bcm_mini_adapter *Adapter, PVOID pvBuffer); 7 8VOID IdleModeResponse(struct bcm_mini_adapter *Adapter, PUINT puiBuffer); 9 10int control_packet_handler(struct bcm_mini_adapter *Adapter); 11 12VOID DeleteAllClassifiersForSF(struct bcm_mini_adapter *Adapter, UINT uiSearchRuleIndex); 13 14VOID flush_all_queues(struct bcm_mini_adapter *Adapter); 15 16int register_control_device_interface(struct bcm_mini_adapter *ps_adapter); 17 18void unregister_control_device_interface(struct bcm_mini_adapter *Adapter); 19 20INT CopyBufferToControlPacket(struct bcm_mini_adapter *Adapter,/**<Logical Adapter*/ 21 PVOID ioBuffer/**<Control Packet Buffer*/ 22 ); 23 24VOID SortPackInfo(struct bcm_mini_adapter *Adapter); 25 26VOID SortClassifiers(struct bcm_mini_adapter *Adapter); 27 28VOID flush_all_queues(struct bcm_mini_adapter *Adapter); 29 30VOID PruneQueueAllSF(struct bcm_mini_adapter *Adapter); 31 32INT SearchSfid(struct bcm_mini_adapter *Adapter, UINT uiSfid); 33 34USHORT ClassifyPacket(struct bcm_mini_adapter *Adapter, struct sk_buff *skb); 35 36bool MatchSrcPort(struct bcm_classifier_rule *pstClassifierRule, USHORT ushSrcPort); 37 38bool MatchDestPort(struct bcm_classifier_rule *pstClassifierRule, USHORT ushSrcPort); 39 40bool MatchProtocol(struct bcm_classifier_rule *pstClassifierRule, UCHAR ucProtocol); 41 42INT SetupNextSend(struct bcm_mini_adapter *Adapter, /**<Logical Adapter*/ 43 struct sk_buff *Packet, /**<data buffer*/ 44 USHORT Vcid); 45 46VOID LinkMessage(struct bcm_mini_adapter *Adapter); 47 48VOID transmit_packets(struct bcm_mini_adapter *Adapter); 49 50INT SendControlPacket(struct bcm_mini_adapter *Adapter, /**<Logical Adapter*/ 51 char *pControlPacket/**<Control Packet*/ 52 ); 53 54int register_networkdev(struct bcm_mini_adapter *Adapter); 55 56void unregister_networkdev(struct bcm_mini_adapter *Adapter); 57 58INT AllocAdapterDsxBuffer(struct bcm_mini_adapter *Adapter); 59 60VOID AdapterFree(struct bcm_mini_adapter *Adapter); 61 62INT FreeAdapterDsxBuffer(struct bcm_mini_adapter *Adapter); 63 64int tx_pkt_handler(struct bcm_mini_adapter *Adapter); 65 66int reset_card_proc(struct bcm_mini_adapter *Adapter); 67 68int run_card_proc(struct bcm_mini_adapter *Adapter); 69 70int InitCardAndDownloadFirmware(struct bcm_mini_adapter *ps_adapter); 71 72INT ReadMacAddressFromNVM(struct bcm_mini_adapter *Adapter); 73 74int register_control_device_interface(struct bcm_mini_adapter *ps_adapter); 75 76void DumpPackInfo(struct bcm_mini_adapter *Adapter); 77 78int rdm(struct bcm_mini_adapter *Adapter, UINT uiAddress, PCHAR pucBuff, size_t size); 79 80int wrm(struct bcm_mini_adapter *Adapter, UINT uiAddress, PCHAR pucBuff, size_t size); 81 82int wrmalt(struct bcm_mini_adapter *Adapter, UINT uiAddress, unsigned int *pucBuff, size_t sSize); 83 84int rdmalt(struct bcm_mini_adapter *Adapter, UINT uiAddress, unsigned int *pucBuff, size_t sSize); 85 86int get_dsx_sf_data_to_application(struct bcm_mini_adapter *Adapter, UINT uiSFId, void __user *user_buffer); 87 88void SendIdleModeResponse(struct bcm_mini_adapter *Adapter); 89 90int ProcessGetHostMibs(struct bcm_mini_adapter *Adapter, struct bcm_host_stats_mibs *buf); 91 92void GetDroppedAppCntrlPktMibs(struct bcm_host_stats_mibs *ioBuffer, struct bcm_tarang_data *pTarang); 93 94void beceem_parse_target_struct(struct bcm_mini_adapter *Adapter); 95 96int bcm_ioctl_fw_download(struct bcm_mini_adapter *Adapter, struct bcm_firmware_info *psFwInfo); 97 98void CopyMIBSExtendedSFParameters(struct bcm_mini_adapter *Adapter, 99 struct bcm_connect_mgr_params *psfLocalSet, UINT uiSearchRuleIndex); 100 101VOID ResetCounters(struct bcm_mini_adapter *Adapter); 102 103int InitLedSettings(struct bcm_mini_adapter *Adapter); 104 105struct bcm_classifier_rule *GetFragIPClsEntry(struct bcm_mini_adapter *Adapter, USHORT usIpIdentification, ULONG SrcIP); 106 107void AddFragIPClsEntry(struct bcm_mini_adapter *Adapter, struct bcm_fragmented_packet_info *psFragPktInfo); 108 109void DelFragIPClsEntry(struct bcm_mini_adapter *Adapter, USHORT usIpIdentification, ULONG SrcIp); 110 111void update_per_cid_rx(struct bcm_mini_adapter *Adapter); 112 113void update_per_sf_desc_cnts(struct bcm_mini_adapter *Adapter); 114 115void ClearTargetDSXBuffer(struct bcm_mini_adapter *Adapter, B_UINT16 TID, bool bFreeAll); 116 117void flush_queue(struct bcm_mini_adapter *Adapter, UINT iQIndex); 118 119INT flushAllAppQ(VOID); 120 121INT BeceemEEPROMBulkRead( 122 struct bcm_mini_adapter *Adapter, 123 PUINT pBuffer, 124 UINT uiOffset, 125 UINT uiNumBytes); 126 127INT WriteBeceemEEPROM(struct bcm_mini_adapter *Adapter, UINT uiEEPROMOffset, UINT uiData); 128 129INT PropagateCalParamsFromFlashToMemory(struct bcm_mini_adapter *Adapter); 130 131INT BeceemEEPROMBulkWrite( 132 struct bcm_mini_adapter *Adapter, 133 PUCHAR pBuffer, 134 UINT uiOffset, 135 UINT uiNumBytes, 136 bool bVerify); 137 138INT ReadBeceemEEPROM(struct bcm_mini_adapter *Adapter, UINT dwAddress, UINT *pdwData); 139 140INT BeceemNVMRead( 141 struct bcm_mini_adapter *Adapter, 142 PUINT pBuffer, 143 UINT uiOffset, 144 UINT uiNumBytes); 145 146INT BeceemNVMWrite( 147 struct bcm_mini_adapter *Adapter, 148 PUINT pBuffer, 149 UINT uiOffset, 150 UINT uiNumBytes, 151 bool bVerify); 152 153INT BcmInitNVM(struct bcm_mini_adapter *Adapter); 154 155INT BcmUpdateSectorSize(struct bcm_mini_adapter *Adapter, UINT uiSectorSize); 156 157bool IsSectionExistInFlash(struct bcm_mini_adapter *Adapter, enum bcm_flash2x_section_val section); 158 159INT BcmGetFlash2xSectionalBitMap(struct bcm_mini_adapter *Adapter, struct bcm_flash2x_bitmap *psFlash2xBitMap); 160 161INT BcmFlash2xBulkWrite( 162 struct bcm_mini_adapter *Adapter, 163 PUINT pBuffer, 164 enum bcm_flash2x_section_val eFlashSectionVal, 165 UINT uiOffset, 166 UINT uiNumBytes, 167 UINT bVerify); 168 169INT BcmFlash2xBulkRead( 170 struct bcm_mini_adapter *Adapter, 171 PUINT pBuffer, 172 enum bcm_flash2x_section_val eFlashSectionVal, 173 UINT uiOffsetWithinSectionVal, 174 UINT uiNumBytes); 175 176INT BcmGetSectionValStartOffset(struct bcm_mini_adapter *Adapter, enum bcm_flash2x_section_val eFlashSectionVal); 177 178INT BcmSetActiveSection(struct bcm_mini_adapter *Adapter, enum bcm_flash2x_section_val eFlash2xSectVal); 179 180INT BcmAllocFlashCSStructure(struct bcm_mini_adapter *psAdapter); 181 182INT BcmDeAllocFlashCSStructure(struct bcm_mini_adapter *psAdapter); 183 184INT BcmCopyISO(struct bcm_mini_adapter *Adapter, struct bcm_flash2x_copy_section sCopySectStrut); 185 186INT BcmFlash2xCorruptSig(struct bcm_mini_adapter *Adapter, enum bcm_flash2x_section_val eFlash2xSectionVal); 187 188INT BcmFlash2xWriteSig(struct bcm_mini_adapter *Adapter, enum bcm_flash2x_section_val eFlashSectionVal); 189 190INT validateFlash2xReadWrite(struct bcm_mini_adapter *Adapter, struct bcm_flash2x_readwrite *psFlash2xReadWrite); 191 192INT IsFlash2x(struct bcm_mini_adapter *Adapter); 193 194INT BcmCopySection(struct bcm_mini_adapter *Adapter, 195 enum bcm_flash2x_section_val SrcSection, 196 enum bcm_flash2x_section_val DstSection, 197 UINT offset, 198 UINT numOfBytes); 199 200bool IsNonCDLessDevice(struct bcm_mini_adapter *Adapter); 201 202VOID OverrideServiceFlowParams(struct bcm_mini_adapter *Adapter, PUINT puiBuffer); 203 204int wrmaltWithLock(struct bcm_mini_adapter *Adapter, UINT uiAddress, unsigned int *pucBuff, size_t sSize); 205 206int rdmaltWithLock(struct bcm_mini_adapter *Adapter, UINT uiAddress, unsigned int *pucBuff, size_t sSize); 207 208int wrmWithLock(struct bcm_mini_adapter *Adapter, UINT uiAddress, PCHAR pucBuff, size_t size); 209 210INT buffDnldVerify(struct bcm_mini_adapter *Adapter, unsigned char *mappedbuffer, unsigned int u32FirmwareLength, 211 unsigned long u32StartingAddress); 212 213VOID putUsbSuspend(struct work_struct *work); 214 215bool IsReqGpioIsLedInNVM(struct bcm_mini_adapter *Adapter, UINT gpios); 216 217#endif 218