diff options
-rw-r--r-- | drivers/staging/bcm/CmHost.c | 5 | ||||
-rw-r--r-- | drivers/staging/bcm/CmHost.h | 3 | ||||
-rw-r--r-- | drivers/staging/bcm/HandleControlPacket.c | 3 | ||||
-rw-r--r-- | drivers/staging/bcm/IPv6Protocol.c | 10 | ||||
-rw-r--r-- | drivers/staging/bcm/IPv6ProtocolHdr.h | 3 | ||||
-rw-r--r-- | drivers/staging/bcm/InterfaceIdleMode.c | 12 | ||||
-rw-r--r-- | drivers/staging/bcm/InterfaceIdleMode.h | 2 | ||||
-rw-r--r-- | drivers/staging/bcm/InterfaceInit.c | 8 | ||||
-rw-r--r-- | drivers/staging/bcm/InterfaceInit.h | 4 | ||||
-rw-r--r-- | drivers/staging/bcm/InterfaceIsr.c | 36 | ||||
-rw-r--r-- | drivers/staging/bcm/Misc.c | 52 | ||||
-rw-r--r-- | drivers/staging/bcm/PHSModule.c | 72 | ||||
-rw-r--r-- | drivers/staging/bcm/PHSModule.h | 45 | ||||
-rw-r--r-- | drivers/staging/bcm/Prototypes.h | 86 | ||||
-rw-r--r-- | drivers/staging/bcm/Qos.c | 30 | ||||
-rw-r--r-- | drivers/staging/bcm/nvm.c | 173 |
16 files changed, 178 insertions, 366 deletions
diff --git a/drivers/staging/bcm/CmHost.c b/drivers/staging/bcm/CmHost.c index 1aa962fedb9..553da135c82 100644 --- a/drivers/staging/bcm/CmHost.c +++ b/drivers/staging/bcm/CmHost.c | |||
@@ -15,6 +15,7 @@ typedef enum _E_CLASSIFIER_ACTION | |||
15 | eDeleteClassifier | 15 | eDeleteClassifier |
16 | }E_CLASSIFIER_ACTION; | 16 | }E_CLASSIFIER_ACTION; |
17 | 17 | ||
18 | static ULONG GetNextTargetBufferLocation(PMINI_ADAPTER Adapter,B_UINT16 tid); | ||
18 | 19 | ||
19 | /************************************************************ | 20 | /************************************************************ |
20 | * Function - SearchSfid | 21 | * Function - SearchSfid |
@@ -108,7 +109,7 @@ static int SearchFreeClsid(PMINI_ADAPTER Adapter /**Adapter Context*/ | |||
108 | return MAX_CLASSIFIERS+1; | 109 | return MAX_CLASSIFIERS+1; |
109 | } | 110 | } |
110 | 111 | ||
111 | VOID deleteSFBySfid(PMINI_ADAPTER Adapter, UINT uiSearchRuleIndex) | 112 | static VOID deleteSFBySfid(PMINI_ADAPTER Adapter, UINT uiSearchRuleIndex) |
112 | { | 113 | { |
113 | //deleting all the packet held in the SF | 114 | //deleting all the packet held in the SF |
114 | flush_queue(Adapter,uiSearchRuleIndex); | 115 | flush_queue(Adapter,uiSearchRuleIndex); |
@@ -1923,7 +1924,7 @@ ULONG SetUpTargetDsxBuffers(PMINI_ADAPTER Adapter) | |||
1923 | return 1; | 1924 | return 1; |
1924 | } | 1925 | } |
1925 | 1926 | ||
1926 | ULONG GetNextTargetBufferLocation(PMINI_ADAPTER Adapter,B_UINT16 tid) | 1927 | static ULONG GetNextTargetBufferLocation(PMINI_ADAPTER Adapter,B_UINT16 tid) |
1927 | { | 1928 | { |
1928 | ULONG ulTargetDSXBufferAddress; | 1929 | ULONG ulTargetDSXBufferAddress; |
1929 | ULONG ulTargetDsxBufferIndexToUse,ulMaxTry; | 1930 | ULONG ulTargetDsxBufferIndexToUse,ulMaxTry; |
diff --git a/drivers/staging/bcm/CmHost.h b/drivers/staging/bcm/CmHost.h index 847782c3765..8f689769b4b 100644 --- a/drivers/staging/bcm/CmHost.h +++ b/drivers/staging/bcm/CmHost.h | |||
@@ -150,8 +150,6 @@ typedef struct stLocalSFChangeIndicationAlt{ | |||
150 | 150 | ||
151 | ULONG StoreCmControlResponseMessage(PMINI_ADAPTER Adapter,PVOID pvBuffer,UINT *puBufferLength); | 151 | ULONG StoreCmControlResponseMessage(PMINI_ADAPTER Adapter,PVOID pvBuffer,UINT *puBufferLength); |
152 | 152 | ||
153 | ULONG GetNextTargetBufferLocation(PMINI_ADAPTER Adapter,B_UINT16 tid); | ||
154 | |||
155 | INT AllocAdapterDsxBuffer(PMINI_ADAPTER Adapter); | 153 | INT AllocAdapterDsxBuffer(PMINI_ADAPTER Adapter); |
156 | 154 | ||
157 | INT FreeAdapterDsxBuffer(PMINI_ADAPTER Adapter); | 155 | INT FreeAdapterDsxBuffer(PMINI_ADAPTER Adapter); |
@@ -159,7 +157,6 @@ ULONG SetUpTargetDsxBuffers(PMINI_ADAPTER Adapter); | |||
159 | 157 | ||
160 | BOOLEAN CmControlResponseMessage(PMINI_ADAPTER Adapter,PVOID pvBuffer); | 158 | BOOLEAN CmControlResponseMessage(PMINI_ADAPTER Adapter,PVOID pvBuffer); |
161 | 159 | ||
162 | VOID deleteSFBySfid(PMINI_ADAPTER Adapter, UINT uiSearchRuleIndex); | ||
163 | 160 | ||
164 | #pragma pack (pop) | 161 | #pragma pack (pop) |
165 | 162 | ||
diff --git a/drivers/staging/bcm/HandleControlPacket.c b/drivers/staging/bcm/HandleControlPacket.c index 2d4dbcc215e..e7afa56c0dc 100644 --- a/drivers/staging/bcm/HandleControlPacket.c +++ b/drivers/staging/bcm/HandleControlPacket.c | |||
@@ -11,8 +11,7 @@ When a control packet is received, analyze the | |||
11 | Enqueue the control packet for Application. | 11 | Enqueue the control packet for Application. |
12 | @return None | 12 | @return None |
13 | */ | 13 | */ |
14 | VOID handle_rx_control_packet(PMINI_ADAPTER Adapter, /**<Pointer to the Adapter structure*/ | 14 | static VOID handle_rx_control_packet(PMINI_ADAPTER Adapter, struct sk_buff *skb) |
15 | struct sk_buff *skb) /**<Pointer to the socket buffer*/ | ||
16 | { | 15 | { |
17 | PPER_TARANG_DATA pTarang = NULL; | 16 | PPER_TARANG_DATA pTarang = NULL; |
18 | BOOLEAN HighPriorityMessage = FALSE; | 17 | BOOLEAN HighPriorityMessage = FALSE; |
diff --git a/drivers/staging/bcm/IPv6Protocol.c b/drivers/staging/bcm/IPv6Protocol.c index 5ec3b896c6a..91b6fbe33c9 100644 --- a/drivers/staging/bcm/IPv6Protocol.c +++ b/drivers/staging/bcm/IPv6Protocol.c | |||
@@ -1,5 +1,9 @@ | |||
1 | #include "headers.h" | 1 | #include "headers.h" |
2 | 2 | ||
3 | static BOOLEAN MatchSrcIpv6Address(S_CLASSIFIER_RULE *pstClassifierRule,IPV6Header *pstIpv6Header); | ||
4 | static BOOLEAN MatchDestIpv6Address(S_CLASSIFIER_RULE *pstClassifierRule,IPV6Header *pstIpv6Header); | ||
5 | static VOID DumpIpv6Header(IPV6Header *pstIpv6Header); | ||
6 | |||
3 | static UCHAR * GetNextIPV6ChainedHeader(UCHAR **ppucPayload,UCHAR *pucNextHeader,BOOLEAN *bParseDone,USHORT *pusPayloadLength) | 7 | static UCHAR * GetNextIPV6ChainedHeader(UCHAR **ppucPayload,UCHAR *pucNextHeader,BOOLEAN *bParseDone,USHORT *pusPayloadLength) |
4 | { | 8 | { |
5 | UCHAR *pucRetHeaderPtr = NULL; | 9 | UCHAR *pucRetHeaderPtr = NULL; |
@@ -257,7 +261,7 @@ USHORT IpVersion6(PMINI_ADAPTER Adapter, /**< Pointer to the driver control stru | |||
257 | } | 261 | } |
258 | 262 | ||
259 | 263 | ||
260 | BOOLEAN MatchSrcIpv6Address(S_CLASSIFIER_RULE *pstClassifierRule,IPV6Header *pstIpv6Header) | 264 | static BOOLEAN MatchSrcIpv6Address(S_CLASSIFIER_RULE *pstClassifierRule,IPV6Header *pstIpv6Header) |
261 | { | 265 | { |
262 | UINT uiLoopIndex=0; | 266 | UINT uiLoopIndex=0; |
263 | UINT uiIpv6AddIndex=0; | 267 | UINT uiIpv6AddIndex=0; |
@@ -310,7 +314,7 @@ BOOLEAN MatchSrcIpv6Address(S_CLASSIFIER_RULE *pstClassifierRule,IPV6Header *pst | |||
310 | return FALSE; | 314 | return FALSE; |
311 | } | 315 | } |
312 | 316 | ||
313 | BOOLEAN MatchDestIpv6Address(S_CLASSIFIER_RULE *pstClassifierRule,IPV6Header *pstIpv6Header) | 317 | static BOOLEAN MatchDestIpv6Address(S_CLASSIFIER_RULE *pstClassifierRule,IPV6Header *pstIpv6Header) |
314 | { | 318 | { |
315 | UINT uiLoopIndex=0; | 319 | UINT uiLoopIndex=0; |
316 | UINT uiIpv6AddIndex=0; | 320 | UINT uiIpv6AddIndex=0; |
@@ -376,7 +380,7 @@ VOID DumpIpv6Address(ULONG *puIpv6Address) | |||
376 | 380 | ||
377 | } | 381 | } |
378 | 382 | ||
379 | VOID DumpIpv6Header(IPV6Header *pstIpv6Header) | 383 | static VOID DumpIpv6Header(IPV6Header *pstIpv6Header) |
380 | { | 384 | { |
381 | UCHAR ucVersion; | 385 | UCHAR ucVersion; |
382 | UCHAR ucPrio ; | 386 | UCHAR ucPrio ; |
diff --git a/drivers/staging/bcm/IPv6ProtocolHdr.h b/drivers/staging/bcm/IPv6ProtocolHdr.h index b93f7902e28..a0db5a1de76 100644 --- a/drivers/staging/bcm/IPv6ProtocolHdr.h +++ b/drivers/staging/bcm/IPv6ProtocolHdr.h | |||
@@ -101,15 +101,12 @@ typedef enum _E_IPADDR_CONTEXT | |||
101 | 101 | ||
102 | 102 | ||
103 | //Function Prototypes | 103 | //Function Prototypes |
104 | BOOLEAN MatchSrcIpv6Address(S_CLASSIFIER_RULE *pstClassifierRule,IPV6Header *pstIpv6Header); | ||
105 | BOOLEAN MatchDestIpv6Address(S_CLASSIFIER_RULE *pstClassifierRule,IPV6Header *pstIpv6Header); | ||
106 | 104 | ||
107 | USHORT IpVersion6(PMINI_ADAPTER Adapter, /**< Pointer to the driver control structure */ | 105 | USHORT IpVersion6(PMINI_ADAPTER Adapter, /**< Pointer to the driver control structure */ |
108 | PVOID pcIpHeader, /**<Pointer to the IP Hdr of the packet*/ | 106 | PVOID pcIpHeader, /**<Pointer to the IP Hdr of the packet*/ |
109 | S_CLASSIFIER_RULE *pstClassifierRule ); | 107 | S_CLASSIFIER_RULE *pstClassifierRule ); |
110 | 108 | ||
111 | VOID DumpIpv6Address(ULONG *puIpv6Address); | 109 | VOID DumpIpv6Address(ULONG *puIpv6Address); |
112 | VOID DumpIpv6Header(IPV6Header *pstIpv6Header); | ||
113 | 110 | ||
114 | extern BOOLEAN MatchSrcPort(S_CLASSIFIER_RULE *pstClassifierRule,USHORT ushSrcPort); | 111 | extern BOOLEAN MatchSrcPort(S_CLASSIFIER_RULE *pstClassifierRule,USHORT ushSrcPort); |
115 | extern BOOLEAN MatchDestPort(S_CLASSIFIER_RULE *pstClassifierRule,USHORT ushSrcPort); | 112 | extern BOOLEAN MatchDestPort(S_CLASSIFIER_RULE *pstClassifierRule,USHORT ushSrcPort); |
diff --git a/drivers/staging/bcm/InterfaceIdleMode.c b/drivers/staging/bcm/InterfaceIdleMode.c index 3a7780be7fe..bf5c0ad8661 100644 --- a/drivers/staging/bcm/InterfaceIdleMode.c +++ b/drivers/staging/bcm/InterfaceIdleMode.c | |||
@@ -146,17 +146,7 @@ int InterfaceIdleModeRespond(PMINI_ADAPTER Adapter, unsigned int* puiBuffer) | |||
146 | return status; | 146 | return status; |
147 | } | 147 | } |
148 | 148 | ||
149 | 149 | static int InterfaceAbortIdlemode(PMINI_ADAPTER Adapter, unsigned int Pattern) | |
150 | VOID InterfaceWriteIdleModeWakePattern(PMINI_ADAPTER Adapter) | ||
151 | { | ||
152 | /* BeceemWriteMemoryUshort(Adapter, Host2CPU_Mailbox_Low, 0x1d1e); | ||
153 | BeceemWriteMemoryUshort(Adapter, Host2CPU_Mailbox_Low, 0x1d1e); | ||
154 | BeceemWriteMemoryUshort(Adapter, Host2CPU_Mailbox_Upp, 0xd0ea); | ||
155 | BeceemWriteMemoryUshort(Adapter, Host2CPU_Mailbox_Upp, 0xd0ea);*/ | ||
156 | return; | ||
157 | } | ||
158 | |||
159 | int InterfaceAbortIdlemode(PMINI_ADAPTER Adapter, unsigned int Pattern) | ||
160 | { | 150 | { |
161 | int status = STATUS_SUCCESS; | 151 | int status = STATUS_SUCCESS; |
162 | unsigned int value; | 152 | unsigned int value; |
diff --git a/drivers/staging/bcm/InterfaceIdleMode.h b/drivers/staging/bcm/InterfaceIdleMode.h index 1bc723d2d72..859a2ffba6b 100644 --- a/drivers/staging/bcm/InterfaceIdleMode.h +++ b/drivers/staging/bcm/InterfaceIdleMode.h | |||
@@ -7,8 +7,6 @@ INT InterfaceIdleModeRespond(PMINI_ADAPTER Adapter, unsigned int *puiBuffer); | |||
7 | 7 | ||
8 | VOID InterfaceWriteIdleModeWakePattern(PMINI_ADAPTER Adapter); | 8 | VOID InterfaceWriteIdleModeWakePattern(PMINI_ADAPTER Adapter); |
9 | 9 | ||
10 | INT InterfaceAbortIdlemode(PMINI_ADAPTER Adapter, unsigned int Pattern); | ||
11 | |||
12 | INT InterfaceWakeUp(PMINI_ADAPTER Adapter); | 10 | INT InterfaceWakeUp(PMINI_ADAPTER Adapter); |
13 | 11 | ||
14 | VOID InterfaceHandleShutdownModeWakeup(PMINI_ADAPTER Adapter); | 12 | VOID InterfaceHandleShutdownModeWakeup(PMINI_ADAPTER Adapter); |
diff --git a/drivers/staging/bcm/InterfaceInit.c b/drivers/staging/bcm/InterfaceInit.c index 43e5c9cea71..a64092e940c 100644 --- a/drivers/staging/bcm/InterfaceInit.c +++ b/drivers/staging/bcm/InterfaceInit.c | |||
@@ -11,7 +11,9 @@ static struct usb_device_id InterfaceUsbtable[] = { | |||
11 | }; | 11 | }; |
12 | MODULE_DEVICE_TABLE(usb, InterfaceUsbtable); | 12 | MODULE_DEVICE_TABLE(usb, InterfaceUsbtable); |
13 | 13 | ||
14 | VOID InterfaceAdapterFree(PS_INTERFACE_ADAPTER psIntfAdapter) | 14 | static INT InterfaceAdapterInit(PS_INTERFACE_ADAPTER Adapter); |
15 | |||
16 | static VOID InterfaceAdapterFree(PS_INTERFACE_ADAPTER psIntfAdapter) | ||
15 | { | 17 | { |
16 | INT i = 0; | 18 | INT i = 0; |
17 | // Wake up the wait_queue... | 19 | // Wake up the wait_queue... |
@@ -58,7 +60,7 @@ VOID InterfaceAdapterFree(PS_INTERFACE_ADAPTER psIntfAdapter) | |||
58 | AdapterFree(psIntfAdapter->psAdapter); | 60 | AdapterFree(psIntfAdapter->psAdapter); |
59 | } | 61 | } |
60 | 62 | ||
61 | VOID ConfigureEndPointTypesThroughEEPROM(PMINI_ADAPTER Adapter) | 63 | static VOID ConfigureEndPointTypesThroughEEPROM(PMINI_ADAPTER Adapter) |
62 | { | 64 | { |
63 | ULONG ulReg = 0; | 65 | ULONG ulReg = 0; |
64 | 66 | ||
@@ -441,7 +443,7 @@ static inline int bcm_usb_endpoint_is_isoc_out(const struct usb_endpoint_descrip | |||
441 | return (bcm_usb_endpoint_xfer_isoc(epd) && bcm_usb_endpoint_dir_out(epd)); | 443 | return (bcm_usb_endpoint_xfer_isoc(epd) && bcm_usb_endpoint_dir_out(epd)); |
442 | } | 444 | } |
443 | 445 | ||
444 | INT InterfaceAdapterInit(PS_INTERFACE_ADAPTER psIntfAdapter) | 446 | static INT InterfaceAdapterInit(PS_INTERFACE_ADAPTER psIntfAdapter) |
445 | { | 447 | { |
446 | struct usb_host_interface *iface_desc; | 448 | struct usb_host_interface *iface_desc; |
447 | struct usb_endpoint_descriptor *endpoint; | 449 | struct usb_endpoint_descriptor *endpoint; |
diff --git a/drivers/staging/bcm/InterfaceInit.h b/drivers/staging/bcm/InterfaceInit.h index 71e629d29c7..3b8e17b619b 100644 --- a/drivers/staging/bcm/InterfaceInit.h +++ b/drivers/staging/bcm/InterfaceInit.h | |||
@@ -19,11 +19,7 @@ INT InterfaceInitialize(void); | |||
19 | 19 | ||
20 | INT InterfaceExit(void); | 20 | INT InterfaceExit(void); |
21 | 21 | ||
22 | INT InterfaceAdapterInit(PS_INTERFACE_ADAPTER Adapter); | ||
23 | |||
24 | INT usbbcm_worker_thread(PS_INTERFACE_ADAPTER psIntfAdapter); | 22 | INT usbbcm_worker_thread(PS_INTERFACE_ADAPTER psIntfAdapter); |
25 | 23 | ||
26 | VOID InterfaceAdapterFree(PS_INTERFACE_ADAPTER psIntfAdapter); | ||
27 | |||
28 | #endif | 24 | #endif |
29 | 25 | ||
diff --git a/drivers/staging/bcm/InterfaceIsr.c b/drivers/staging/bcm/InterfaceIsr.c index 2d26e2ed38d..423464765e5 100644 --- a/drivers/staging/bcm/InterfaceIsr.c +++ b/drivers/staging/bcm/InterfaceIsr.c | |||
@@ -167,39 +167,3 @@ INT StartInterruptUrb(PS_INTERFACE_ADAPTER psIntfAdapter) | |||
167 | return status; | 167 | return status; |
168 | } | 168 | } |
169 | 169 | ||
170 | /* | ||
171 | Function: InterfaceEnableInterrupt | ||
172 | |||
173 | Description: This is the hardware specific Function for configuring | ||
174 | and enabling the interrupts on the device. | ||
175 | |||
176 | Input parameters: IN PMINI_ADAPTER Adapter - Miniport Adapter Context | ||
177 | |||
178 | |||
179 | Return: BCM_STATUS_SUCCESS - If configuring the interrupts was successful. | ||
180 | Other - If an error occured. | ||
181 | */ | ||
182 | |||
183 | void InterfaceEnableInterrupt(PMINI_ADAPTER Adapter) | ||
184 | { | ||
185 | |||
186 | } | ||
187 | |||
188 | /* | ||
189 | Function: InterfaceDisableInterrupt | ||
190 | |||
191 | Description: This is the hardware specific Function for disabling the interrupts on the device. | ||
192 | |||
193 | Input parameters: IN PMINI_ADAPTER Adapter - Miniport Adapter Context | ||
194 | |||
195 | |||
196 | Return: BCM_STATUS_SUCCESS - If disabling the interrupts was successful. | ||
197 | Other - If an error occured. | ||
198 | */ | ||
199 | |||
200 | void InterfaceDisableInterrupt(PMINI_ADAPTER Adapter) | ||
201 | { | ||
202 | |||
203 | } | ||
204 | |||
205 | |||
diff --git a/drivers/staging/bcm/Misc.c b/drivers/staging/bcm/Misc.c index 8212af3ecf9..2f849b2a127 100644 --- a/drivers/staging/bcm/Misc.c +++ b/drivers/staging/bcm/Misc.c | |||
@@ -1,5 +1,12 @@ | |||
1 | #include "headers.h" | 1 | #include "headers.h" |
2 | 2 | ||
3 | static int BcmFileDownload(PMINI_ADAPTER Adapter, const char *path, | ||
4 | unsigned int loc); | ||
5 | static VOID doPowerAutoCorrection(PMINI_ADAPTER psAdapter); | ||
6 | static void HandleShutDownModeRequest(PMINI_ADAPTER Adapter,PUCHAR pucBuffer); | ||
7 | static int bcm_parse_target_params(PMINI_ADAPTER Adapter); | ||
8 | static void beceem_protocol_reset (PMINI_ADAPTER Adapter); | ||
9 | |||
3 | static VOID default_wimax_protocol_initialize(PMINI_ADAPTER Adapter) | 10 | static VOID default_wimax_protocol_initialize(PMINI_ADAPTER Adapter) |
4 | { | 11 | { |
5 | 12 | ||
@@ -175,7 +182,7 @@ static int create_worker_threads(PMINI_ADAPTER psAdapter) | |||
175 | return 0; | 182 | return 0; |
176 | } | 183 | } |
177 | 184 | ||
178 | static struct file *open_firmware_file(PMINI_ADAPTER Adapter, char *path) | 185 | static struct file *open_firmware_file(PMINI_ADAPTER Adapter, const char *path) |
179 | { | 186 | { |
180 | struct file *flp=NULL; | 187 | struct file *flp=NULL; |
181 | mm_segment_t oldfs; | 188 | mm_segment_t oldfs; |
@@ -197,8 +204,8 @@ static struct file *open_firmware_file(PMINI_ADAPTER Adapter, char *path) | |||
197 | } | 204 | } |
198 | 205 | ||
199 | 206 | ||
200 | int BcmFileDownload(PMINI_ADAPTER Adapter,/**< Logical Adapter */ | 207 | static int BcmFileDownload(PMINI_ADAPTER Adapter,/**< Logical Adapter */ |
201 | char *path, /**< path to image file */ | 208 | const char *path, /**< path to image file */ |
202 | unsigned int loc /**< Download Address on the chip*/ | 209 | unsigned int loc /**< Download Address on the chip*/ |
203 | ) | 210 | ) |
204 | { | 211 | { |
@@ -478,18 +485,6 @@ static VOID SendStatisticsPointerRequest(PMINI_ADAPTER Adapter, | |||
478 | #endif | 485 | #endif |
479 | 486 | ||
480 | 487 | ||
481 | void SendLinkDown(PMINI_ADAPTER Adapter) | ||
482 | { | ||
483 | LINK_REQUEST stLinkDownRequest; | ||
484 | memset(&stLinkDownRequest, 0, sizeof(LINK_REQUEST)); | ||
485 | stLinkDownRequest.Leader.Status=LINK_UP_CONTROL_REQ; | ||
486 | stLinkDownRequest.Leader.PLength=sizeof(ULONG);//minimum 4 bytes | ||
487 | stLinkDownRequest.szData[0]=LINK_DOWN_REQ_PAYLOAD; | ||
488 | Adapter->bLinkDownRequested = TRUE; | ||
489 | |||
490 | CopyBufferToControlPacket(Adapter,&stLinkDownRequest); | ||
491 | } | ||
492 | |||
493 | /****************************************************************** | 488 | /****************************************************************** |
494 | * Function - LinkMessage() | 489 | * Function - LinkMessage() |
495 | * | 490 | * |
@@ -1229,7 +1224,7 @@ OUT: | |||
1229 | } | 1224 | } |
1230 | 1225 | ||
1231 | 1226 | ||
1232 | int bcm_parse_target_params(PMINI_ADAPTER Adapter) | 1227 | static int bcm_parse_target_params(PMINI_ADAPTER Adapter) |
1233 | { | 1228 | { |
1234 | struct file *flp=NULL; | 1229 | struct file *flp=NULL; |
1235 | mm_segment_t oldfs={0}; | 1230 | mm_segment_t oldfs={0}; |
@@ -1357,7 +1352,7 @@ void beceem_parse_target_struct(PMINI_ADAPTER Adapter) | |||
1357 | 1352 | ||
1358 | } | 1353 | } |
1359 | 1354 | ||
1360 | VOID doPowerAutoCorrection(PMINI_ADAPTER psAdapter) | 1355 | static VOID doPowerAutoCorrection(PMINI_ADAPTER psAdapter) |
1361 | { | 1356 | { |
1362 | UINT reporting_mode; | 1357 | UINT reporting_mode; |
1363 | 1358 | ||
@@ -1496,26 +1491,7 @@ int rdmalt (PMINI_ADAPTER Adapter, UINT uiAddress, PUINT pucBuff, size_t size) | |||
1496 | return uiRetVal; | 1491 | return uiRetVal; |
1497 | } | 1492 | } |
1498 | 1493 | ||
1499 | int rdmWithLock(PMINI_ADAPTER Adapter, UINT uiAddress, PCHAR pucBuff, size_t sSize) | ||
1500 | { | ||
1501 | 1494 | ||
1502 | INT status = STATUS_SUCCESS ; | ||
1503 | down(&Adapter->rdmwrmsync); | ||
1504 | |||
1505 | if((Adapter->IdleMode == TRUE) || | ||
1506 | (Adapter->bShutStatus ==TRUE) || | ||
1507 | (Adapter->bPreparingForLowPowerMode ==TRUE)) | ||
1508 | { | ||
1509 | status = -EACCES; | ||
1510 | goto exit; | ||
1511 | } | ||
1512 | |||
1513 | status = rdm(Adapter, uiAddress, pucBuff, sSize); | ||
1514 | |||
1515 | exit: | ||
1516 | up(&Adapter->rdmwrmsync); | ||
1517 | return status ; | ||
1518 | } | ||
1519 | int wrmWithLock(PMINI_ADAPTER Adapter, UINT uiAddress, PCHAR pucBuff, size_t sSize) | 1495 | int wrmWithLock(PMINI_ADAPTER Adapter, UINT uiAddress, PCHAR pucBuff, size_t sSize) |
1520 | { | 1496 | { |
1521 | INT status = STATUS_SUCCESS ; | 1497 | INT status = STATUS_SUCCESS ; |
@@ -1707,7 +1683,7 @@ static VOID SendShutModeResponse(PMINI_ADAPTER Adapter) | |||
1707 | } | 1683 | } |
1708 | 1684 | ||
1709 | 1685 | ||
1710 | void HandleShutDownModeRequest(PMINI_ADAPTER Adapter,PUCHAR pucBuffer) | 1686 | static void HandleShutDownModeRequest(PMINI_ADAPTER Adapter,PUCHAR pucBuffer) |
1711 | { | 1687 | { |
1712 | B_UINT32 uiResetValue = 0; | 1688 | B_UINT32 uiResetValue = 0; |
1713 | 1689 | ||
@@ -1891,7 +1867,7 @@ void flush_queue(PMINI_ADAPTER Adapter, UINT iQIndex) | |||
1891 | 1867 | ||
1892 | } | 1868 | } |
1893 | 1869 | ||
1894 | void beceem_protocol_reset (PMINI_ADAPTER Adapter) | 1870 | static void beceem_protocol_reset (PMINI_ADAPTER Adapter) |
1895 | { | 1871 | { |
1896 | int i; | 1872 | int i; |
1897 | 1873 | ||
diff --git a/drivers/staging/bcm/PHSModule.c b/drivers/staging/bcm/PHSModule.c index 44ddb59c2ec..d1ca1912a74 100644 --- a/drivers/staging/bcm/PHSModule.c +++ b/drivers/staging/bcm/PHSModule.c | |||
@@ -1,5 +1,51 @@ | |||
1 | #include "headers.h" | 1 | #include "headers.h" |
2 | 2 | ||
3 | static UINT CreateSFToClassifierRuleMapping(B_UINT16 uiVcid,B_UINT16 uiClsId,S_SERVICEFLOW_TABLE *psServiceFlowTable,S_PHS_RULE *psPhsRule,B_UINT8 u8AssociatedPHSI); | ||
4 | |||
5 | static UINT CreateClassiferToPHSRuleMapping(B_UINT16 uiVcid,B_UINT16 uiClsId,S_SERVICEFLOW_ENTRY *pstServiceFlowEntry,S_PHS_RULE *psPhsRule,B_UINT8 u8AssociatedPHSI); | ||
6 | |||
7 | static UINT CreateClassifierPHSRule(B_UINT16 uiClsId,S_CLASSIFIER_TABLE *psaClassifiertable ,S_PHS_RULE *psPhsRule,E_CLASSIFIER_ENTRY_CONTEXT eClsContext,B_UINT8 u8AssociatedPHSI); | ||
8 | |||
9 | static UINT UpdateClassifierPHSRule(B_UINT16 uiClsId,S_CLASSIFIER_ENTRY *pstClassifierEntry,S_CLASSIFIER_TABLE *psaClassifiertable ,S_PHS_RULE *psPhsRule,B_UINT8 u8AssociatedPHSI); | ||
10 | |||
11 | static BOOLEAN ValidatePHSRuleComplete(S_PHS_RULE *psPhsRule); | ||
12 | |||
13 | static BOOLEAN DerefPhsRule(B_UINT16 uiClsId,S_CLASSIFIER_TABLE *psaClassifiertable,S_PHS_RULE *pstPhsRule); | ||
14 | |||
15 | static UINT GetClassifierEntry(S_CLASSIFIER_TABLE *pstClassifierTable,B_UINT32 uiClsid,E_CLASSIFIER_ENTRY_CONTEXT eClsContext, S_CLASSIFIER_ENTRY **ppstClassifierEntry); | ||
16 | |||
17 | static UINT GetPhsRuleEntry(S_CLASSIFIER_TABLE *pstClassifierTable,B_UINT32 uiPHSI,E_CLASSIFIER_ENTRY_CONTEXT eClsContext,S_PHS_RULE **ppstPhsRule); | ||
18 | |||
19 | static void free_phs_serviceflow_rules(S_SERVICEFLOW_TABLE *psServiceFlowRulesTable); | ||
20 | |||
21 | static int phs_compress(S_PHS_RULE *phs_members,unsigned char *in_buf, | ||
22 | unsigned char *out_buf,unsigned int *header_size,UINT *new_header_size ); | ||
23 | |||
24 | |||
25 | static int verify_suppress_phsf(unsigned char *in_buffer,unsigned char *out_buffer, | ||
26 | unsigned char *phsf,unsigned char *phsm,unsigned int phss,unsigned int phsv,UINT *new_header_size ); | ||
27 | |||
28 | static int phs_decompress(unsigned char *in_buf,unsigned char *out_buf,\ | ||
29 | S_PHS_RULE *phs_rules,UINT *header_size); | ||
30 | |||
31 | |||
32 | static ULONG PhsCompress(void* pvContext, | ||
33 | B_UINT16 uiVcid, | ||
34 | B_UINT16 uiClsId, | ||
35 | void *pvInputBuffer, | ||
36 | void *pvOutputBuffer, | ||
37 | UINT *pOldHeaderSize, | ||
38 | UINT *pNewHeaderSize ); | ||
39 | |||
40 | static ULONG PhsDeCompress(void* pvContext, | ||
41 | B_UINT16 uiVcid, | ||
42 | void *pvInputBuffer, | ||
43 | void *pvOutputBuffer, | ||
44 | UINT *pInHeaderSize, | ||
45 | UINT *pOutHeaderSize); | ||
46 | |||
47 | |||
48 | |||
3 | #define IN | 49 | #define IN |
4 | #define OUT | 50 | #define OUT |
5 | 51 | ||
@@ -798,7 +844,7 @@ ULONG PhsDeCompress(IN void* pvContext, | |||
798 | // Does not return any value. | 844 | // Does not return any value. |
799 | //----------------------------------------------------------------------------- | 845 | //----------------------------------------------------------------------------- |
800 | 846 | ||
801 | void free_phs_serviceflow_rules(S_SERVICEFLOW_TABLE *psServiceFlowRulesTable) | 847 | static void free_phs_serviceflow_rules(S_SERVICEFLOW_TABLE *psServiceFlowRulesTable) |
802 | { | 848 | { |
803 | int i,j; | 849 | int i,j; |
804 | PMINI_ADAPTER Adapter = GET_BCM_ADAPTER(gblpnetdev); | 850 | PMINI_ADAPTER Adapter = GET_BCM_ADAPTER(gblpnetdev); |
@@ -852,7 +898,7 @@ void free_phs_serviceflow_rules(S_SERVICEFLOW_TABLE *psServiceFlowRulesTable) | |||
852 | 898 | ||
853 | 899 | ||
854 | 900 | ||
855 | BOOLEAN ValidatePHSRuleComplete(IN S_PHS_RULE *psPhsRule) | 901 | static BOOLEAN ValidatePHSRuleComplete(IN S_PHS_RULE *psPhsRule) |
856 | { | 902 | { |
857 | if(psPhsRule) | 903 | if(psPhsRule) |
858 | { | 904 | { |
@@ -935,9 +981,9 @@ UINT GetClassifierEntry(IN S_CLASSIFIER_TABLE *pstClassifierTable, | |||
935 | return PHS_INVALID_TABLE_INDEX; | 981 | return PHS_INVALID_TABLE_INDEX; |
936 | } | 982 | } |
937 | 983 | ||
938 | UINT GetPhsRuleEntry(IN S_CLASSIFIER_TABLE *pstClassifierTable, | 984 | static UINT GetPhsRuleEntry(IN S_CLASSIFIER_TABLE *pstClassifierTable, |
939 | IN B_UINT32 uiPHSI,E_CLASSIFIER_ENTRY_CONTEXT eClsContext, | 985 | IN B_UINT32 uiPHSI,E_CLASSIFIER_ENTRY_CONTEXT eClsContext, |
940 | OUT S_PHS_RULE **ppstPhsRule) | 986 | OUT S_PHS_RULE **ppstPhsRule) |
941 | { | 987 | { |
942 | int i; | 988 | int i; |
943 | S_CLASSIFIER_ENTRY *pstClassifierRule = NULL; | 989 | S_CLASSIFIER_ENTRY *pstClassifierRule = NULL; |
@@ -1094,7 +1140,7 @@ UINT CreateClassiferToPHSRuleMapping(IN B_UINT16 uiVcid, | |||
1094 | return uiStatus; | 1140 | return uiStatus; |
1095 | } | 1141 | } |
1096 | 1142 | ||
1097 | UINT CreateClassifierPHSRule(IN B_UINT16 uiClsId, | 1143 | static UINT CreateClassifierPHSRule(IN B_UINT16 uiClsId, |
1098 | S_CLASSIFIER_TABLE *psaClassifiertable ,S_PHS_RULE *psPhsRule, | 1144 | S_CLASSIFIER_TABLE *psaClassifiertable ,S_PHS_RULE *psPhsRule, |
1099 | E_CLASSIFIER_ENTRY_CONTEXT eClsContext,B_UINT8 u8AssociatedPHSI) | 1145 | E_CLASSIFIER_ENTRY_CONTEXT eClsContext,B_UINT8 u8AssociatedPHSI) |
1100 | { | 1146 | { |
@@ -1205,7 +1251,7 @@ UINT CreateClassifierPHSRule(IN B_UINT16 uiClsId, | |||
1205 | } | 1251 | } |
1206 | 1252 | ||
1207 | 1253 | ||
1208 | UINT UpdateClassifierPHSRule(IN B_UINT16 uiClsId, | 1254 | static UINT UpdateClassifierPHSRule(IN B_UINT16 uiClsId, |
1209 | IN S_CLASSIFIER_ENTRY *pstClassifierEntry, | 1255 | IN S_CLASSIFIER_ENTRY *pstClassifierEntry, |
1210 | S_CLASSIFIER_TABLE *psaClassifiertable ,S_PHS_RULE *psPhsRule, | 1256 | S_CLASSIFIER_TABLE *psaClassifiertable ,S_PHS_RULE *psPhsRule, |
1211 | B_UINT8 u8AssociatedPHSI) | 1257 | B_UINT8 u8AssociatedPHSI) |
@@ -1266,7 +1312,7 @@ UINT UpdateClassifierPHSRule(IN B_UINT16 uiClsId, | |||
1266 | 1312 | ||
1267 | } | 1313 | } |
1268 | 1314 | ||
1269 | BOOLEAN DerefPhsRule(IN B_UINT16 uiClsId,S_CLASSIFIER_TABLE *psaClassifiertable,S_PHS_RULE *pstPhsRule) | 1315 | static BOOLEAN DerefPhsRule(IN B_UINT16 uiClsId,S_CLASSIFIER_TABLE *psaClassifiertable,S_PHS_RULE *pstPhsRule) |
1270 | { | 1316 | { |
1271 | if(pstPhsRule==NULL) | 1317 | if(pstPhsRule==NULL) |
1272 | return FALSE; | 1318 | return FALSE; |
@@ -1444,8 +1490,8 @@ int phs_decompress(unsigned char *in_buf,unsigned char *out_buf, | |||
1444 | // size-The number of bytes copied into the output buffer i.e dynamic fields | 1490 | // size-The number of bytes copied into the output buffer i.e dynamic fields |
1445 | // 0 -If PHS rule is NULL.If PHSV field is not set.If the verification fails. | 1491 | // 0 -If PHS rule is NULL.If PHSV field is not set.If the verification fails. |
1446 | //----------------------------------------------------------------------------- | 1492 | //----------------------------------------------------------------------------- |
1447 | int phs_compress(S_PHS_RULE *phs_rule,unsigned char *in_buf | 1493 | static int phs_compress(S_PHS_RULE *phs_rule,unsigned char *in_buf |
1448 | ,unsigned char *out_buf,UINT *header_size,UINT *new_header_size) | 1494 | ,unsigned char *out_buf,UINT *header_size,UINT *new_header_size) |
1449 | { | 1495 | { |
1450 | unsigned char *old_addr = out_buf; | 1496 | unsigned char *old_addr = out_buf; |
1451 | int supress = 0; | 1497 | int supress = 0; |
@@ -1505,9 +1551,9 @@ int phs_compress(S_PHS_RULE *phs_rule,unsigned char *in_buf | |||
1505 | // 0 -Packet has failed the verification. | 1551 | // 0 -Packet has failed the verification. |
1506 | //----------------------------------------------------------------------------- | 1552 | //----------------------------------------------------------------------------- |
1507 | 1553 | ||
1508 | int verify_suppress_phsf(unsigned char *in_buffer,unsigned char *out_buffer, | 1554 | static int verify_suppress_phsf(unsigned char *in_buffer,unsigned char *out_buffer, |
1509 | unsigned char *phsf,unsigned char *phsm,unsigned int phss, | 1555 | unsigned char *phsf,unsigned char *phsm,unsigned int phss, |
1510 | unsigned int phsv,UINT* new_header_size) | 1556 | unsigned int phsv,UINT* new_header_size) |
1511 | { | 1557 | { |
1512 | unsigned int size=0; | 1558 | unsigned int size=0; |
1513 | int bit,i=0; | 1559 | int bit,i=0; |
diff --git a/drivers/staging/bcm/PHSModule.h b/drivers/staging/bcm/PHSModule.h index bf2b5763252..0dd05a7c55d 100644 --- a/drivers/staging/bcm/PHSModule.h +++ b/drivers/staging/bcm/PHSModule.h | |||
@@ -27,19 +27,6 @@ void DumpPhsRules(PPHS_DEVICE_EXTENSION pDeviceExtension); | |||
27 | 27 | ||
28 | int phs_init(PPHS_DEVICE_EXTENSION pPhsdeviceExtension,PMINI_ADAPTER Adapter); | 28 | int phs_init(PPHS_DEVICE_EXTENSION pPhsdeviceExtension,PMINI_ADAPTER Adapter); |
29 | 29 | ||
30 | void free_phs_serviceflow_rules(S_SERVICEFLOW_TABLE *psServiceFlowRulesTable); | ||
31 | |||
32 | int phs_compress(S_PHS_RULE *phs_members,unsigned char *in_buf, | ||
33 | unsigned char *out_buf,unsigned int *header_size,UINT *new_header_size ); | ||
34 | |||
35 | |||
36 | int verify_suppress_phsf(unsigned char *in_buffer,unsigned char *out_buffer, | ||
37 | unsigned char *phsf,unsigned char *phsm,unsigned int phss,unsigned int phsv,UINT *new_header_size ); | ||
38 | |||
39 | int phs_decompress(unsigned char *in_buf,unsigned char *out_buf,\ | ||
40 | S_PHS_RULE *phs_rules,UINT *header_size); | ||
41 | |||
42 | |||
43 | int PhsCleanup(PPHS_DEVICE_EXTENSION pPHSDeviceExt); | 30 | int PhsCleanup(PPHS_DEVICE_EXTENSION pPHSDeviceExt); |
44 | 31 | ||
45 | //Utility Functions | 32 | //Utility Functions |
@@ -52,42 +39,10 @@ ULONG PhsDeleteClassifierRule(void* pvContext, B_UINT16 uiVcid ,B_UINT16 uiClsI | |||
52 | ULONG PhsDeleteSFRules(void* pvContext,B_UINT16 uiVcid) ; | 39 | ULONG PhsDeleteSFRules(void* pvContext,B_UINT16 uiVcid) ; |
53 | 40 | ||
54 | 41 | ||
55 | ULONG PhsCompress(void* pvContext, | ||
56 | B_UINT16 uiVcid, | ||
57 | B_UINT16 uiClsId, | ||
58 | void *pvInputBuffer, | ||
59 | void *pvOutputBuffer, | ||
60 | UINT *pOldHeaderSize, | ||
61 | UINT *pNewHeaderSize ); | ||
62 | |||
63 | ULONG PhsDeCompress(void* pvContext, | ||
64 | B_UINT16 uiVcid, | ||
65 | void *pvInputBuffer, | ||
66 | void *pvOutputBuffer, | ||
67 | UINT *pInHeaderSize, | ||
68 | UINT *pOutHeaderSize); | ||
69 | |||
70 | |||
71 | BOOLEAN ValidatePHSRule(S_PHS_RULE *psPhsRule); | 42 | BOOLEAN ValidatePHSRule(S_PHS_RULE *psPhsRule); |
72 | 43 | ||
73 | BOOLEAN ValidatePHSRuleComplete(S_PHS_RULE *psPhsRule); | ||
74 | |||
75 | UINT GetServiceFlowEntry(S_SERVICEFLOW_TABLE *psServiceFlowTable,B_UINT16 uiVcid,S_SERVICEFLOW_ENTRY **ppstServiceFlowEntry); | 44 | UINT GetServiceFlowEntry(S_SERVICEFLOW_TABLE *psServiceFlowTable,B_UINT16 uiVcid,S_SERVICEFLOW_ENTRY **ppstServiceFlowEntry); |
76 | 45 | ||
77 | UINT GetClassifierEntry(S_CLASSIFIER_TABLE *pstClassifierTable,B_UINT32 uiClsid,E_CLASSIFIER_ENTRY_CONTEXT eClsContext, S_CLASSIFIER_ENTRY **ppstClassifierEntry); | ||
78 | |||
79 | UINT GetPhsRuleEntry(S_CLASSIFIER_TABLE *pstClassifierTable,B_UINT32 uiPHSI,E_CLASSIFIER_ENTRY_CONTEXT eClsContext,S_PHS_RULE **ppstPhsRule); | ||
80 | |||
81 | |||
82 | UINT CreateSFToClassifierRuleMapping(B_UINT16 uiVcid,B_UINT16 uiClsId,S_SERVICEFLOW_TABLE *psServiceFlowTable,S_PHS_RULE *psPhsRule,B_UINT8 u8AssociatedPHSI); | ||
83 | |||
84 | UINT CreateClassiferToPHSRuleMapping(B_UINT16 uiVcid,B_UINT16 uiClsId,S_SERVICEFLOW_ENTRY *pstServiceFlowEntry,S_PHS_RULE *psPhsRule,B_UINT8 u8AssociatedPHSI); | ||
85 | |||
86 | UINT CreateClassifierPHSRule(B_UINT16 uiClsId,S_CLASSIFIER_TABLE *psaClassifiertable ,S_PHS_RULE *psPhsRule,E_CLASSIFIER_ENTRY_CONTEXT eClsContext,B_UINT8 u8AssociatedPHSI); | ||
87 | |||
88 | UINT UpdateClassifierPHSRule(B_UINT16 uiClsId,S_CLASSIFIER_ENTRY *pstClassifierEntry,S_CLASSIFIER_TABLE *psaClassifiertable ,S_PHS_RULE *psPhsRule,B_UINT8 u8AssociatedPHSI); | ||
89 | |||
90 | BOOLEAN DerefPhsRule(B_UINT16 uiClsId,S_CLASSIFIER_TABLE *psaClassifiertable,S_PHS_RULE *pstPhsRule); | ||
91 | 46 | ||
92 | void DumpPhsRules(PPHS_DEVICE_EXTENSION pDeviceExtension); | 47 | void DumpPhsRules(PPHS_DEVICE_EXTENSION pDeviceExtension); |
93 | 48 | ||
diff --git a/drivers/staging/bcm/Prototypes.h b/drivers/staging/bcm/Prototypes.h index 920e9882ccd..c27fce875be 100644 --- a/drivers/staging/bcm/Prototypes.h +++ b/drivers/staging/bcm/Prototypes.h | |||
@@ -1,19 +1,12 @@ | |||
1 | #ifndef _PROTOTYPES_H_ | 1 | #ifndef _PROTOTYPES_H_ |
2 | #define _PROTOTYPES_H_ | 2 | #define _PROTOTYPES_H_ |
3 | 3 | ||
4 | int BcmFileDownload(PMINI_ADAPTER Adapter,/**< Logical Adapter */ | ||
5 | char *path, /**< path to image file */ | ||
6 | unsigned int loc /**< Download Address on the chip*/ | ||
7 | ); | ||
8 | VOID LinkControlResponseMessage(PMINI_ADAPTER Adapter, PUCHAR pucBuffer); | 4 | VOID LinkControlResponseMessage(PMINI_ADAPTER Adapter, PUCHAR pucBuffer); |
9 | 5 | ||
10 | VOID StatisticsResponse(PMINI_ADAPTER Adapter,PVOID pvBuffer); | 6 | VOID StatisticsResponse(PMINI_ADAPTER Adapter,PVOID pvBuffer); |
11 | 7 | ||
12 | VOID IdleModeResponse(PMINI_ADAPTER Adapter,PUINT puiBuffer); | 8 | VOID IdleModeResponse(PMINI_ADAPTER Adapter,PUINT puiBuffer); |
13 | 9 | ||
14 | VOID handle_rx_control_packet(PMINI_ADAPTER Adapter, /**<Pointer to the Adapter structure*/ | ||
15 | struct sk_buff *skb); /**<Pointer to the socket buffer*/ | ||
16 | |||
17 | int control_packet_handler (PMINI_ADAPTER Adapter); | 10 | int control_packet_handler (PMINI_ADAPTER Adapter); |
18 | 11 | ||
19 | VOID DeleteAllClassifiersForSF(PMINI_ADAPTER Adapter,UINT uiSearchRuleIndex); | 12 | VOID DeleteAllClassifiersForSF(PMINI_ADAPTER Adapter,UINT uiSearchRuleIndex); |
@@ -34,14 +27,6 @@ VOID SortClassifiers(PMINI_ADAPTER Adapter); | |||
34 | 27 | ||
35 | VOID flush_all_queues(PMINI_ADAPTER Adapter); | 28 | VOID flush_all_queues(PMINI_ADAPTER Adapter); |
36 | 29 | ||
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 ); | ||
40 | |||
41 | VOID PruneQueue(PMINI_ADAPTER Adapter,/**<Pointer to the driver control structure*/ | ||
42 | INT iIndex/**<Queue Index*/ | ||
43 | ); | ||
44 | |||
45 | VOID PruneQueueAllSF(PMINI_ADAPTER Adapter); | 30 | VOID PruneQueueAllSF(PMINI_ADAPTER Adapter); |
46 | 31 | ||
47 | INT SearchSfid(PMINI_ADAPTER Adapter,UINT uiSfid); | 32 | INT SearchSfid(PMINI_ADAPTER Adapter,UINT uiSfid); |
@@ -82,7 +67,6 @@ int run_card_proc(PMINI_ADAPTER Adapter ); | |||
82 | 67 | ||
83 | int InitCardAndDownloadFirmware(PMINI_ADAPTER ps_adapter); | 68 | int InitCardAndDownloadFirmware(PMINI_ADAPTER ps_adapter); |
84 | 69 | ||
85 | int bcm_parse_target_params(PMINI_ADAPTER Adapter); | ||
86 | 70 | ||
87 | INT ReadMacAddressFromNVM(PMINI_ADAPTER Adapter); | 71 | INT ReadMacAddressFromNVM(PMINI_ADAPTER Adapter); |
88 | 72 | ||
@@ -100,18 +84,13 @@ int rdmalt (PMINI_ADAPTER Adapter, UINT uiAddress, PUINT pucBuff, size_t sSize); | |||
100 | 84 | ||
101 | int get_dsx_sf_data_to_application(PMINI_ADAPTER Adapter, UINT uiSFId, void __user * user_buffer); | 85 | int get_dsx_sf_data_to_application(PMINI_ADAPTER Adapter, UINT uiSFId, void __user * user_buffer); |
102 | 86 | ||
103 | void SendLinkDown(PMINI_ADAPTER Adapter); | ||
104 | |||
105 | void SendIdleModeResponse(PMINI_ADAPTER Adapter); | 87 | void SendIdleModeResponse(PMINI_ADAPTER Adapter); |
106 | 88 | ||
107 | void HandleShutDownModeRequest(PMINI_ADAPTER Adapter,PUCHAR pucBuffer); | ||
108 | 89 | ||
109 | int ProcessGetHostMibs(PMINI_ADAPTER Adapter, S_MIBS_HOST_STATS_MIBS *buf); | 90 | int ProcessGetHostMibs(PMINI_ADAPTER Adapter, S_MIBS_HOST_STATS_MIBS *buf); |
110 | void GetDroppedAppCntrlPktMibs(S_MIBS_HOST_STATS_MIBS *ioBuffer, PPER_TARANG_DATA pTarang); | 91 | void GetDroppedAppCntrlPktMibs(S_MIBS_HOST_STATS_MIBS *ioBuffer, PPER_TARANG_DATA pTarang); |
111 | void beceem_parse_target_struct(PMINI_ADAPTER Adapter); | 92 | void beceem_parse_target_struct(PMINI_ADAPTER Adapter); |
112 | 93 | ||
113 | void doPowerAutoCorrection(PMINI_ADAPTER psAdapter); | ||
114 | |||
115 | int bcm_ioctl_fw_download(PMINI_ADAPTER Adapter, FIRMWARE_INFO *psFwInfo); | 94 | int bcm_ioctl_fw_download(PMINI_ADAPTER Adapter, FIRMWARE_INFO *psFwInfo); |
116 | 95 | ||
117 | int SearchVcid(PMINI_ADAPTER Adapter,unsigned short usVcid); | 96 | int SearchVcid(PMINI_ADAPTER Adapter,unsigned short usVcid); |
@@ -135,7 +114,6 @@ void update_per_sf_desc_cnts( PMINI_ADAPTER Adapter); | |||
135 | 114 | ||
136 | void ClearTargetDSXBuffer(PMINI_ADAPTER Adapter,B_UINT16 TID,BOOLEAN bFreeAll); | 115 | void ClearTargetDSXBuffer(PMINI_ADAPTER Adapter,B_UINT16 TID,BOOLEAN bFreeAll); |
137 | 116 | ||
138 | void beceem_protocol_reset (PMINI_ADAPTER Adapter); | ||
139 | 117 | ||
140 | void flush_queue(PMINI_ADAPTER Adapter, UINT iQIndex); | 118 | void flush_queue(PMINI_ADAPTER Adapter, UINT iQIndex); |
141 | 119 | ||
@@ -150,31 +128,11 @@ INT BeceemEEPROMBulkRead( | |||
150 | UINT uiNumBytes); | 128 | UINT uiNumBytes); |
151 | 129 | ||
152 | 130 | ||
153 | INT BeceemFlashBulkRead( | ||
154 | PMINI_ADAPTER Adapter, | ||
155 | PUINT pBuffer, | ||
156 | UINT uiOffset, | ||
157 | UINT uiNumBytes); | ||
158 | |||
159 | UINT BcmGetEEPROMSize(PMINI_ADAPTER Adapter); | ||
160 | 131 | ||
161 | INT WriteBeceemEEPROM(PMINI_ADAPTER Adapter,UINT uiEEPROMOffset, UINT uiData); | 132 | INT WriteBeceemEEPROM(PMINI_ADAPTER Adapter,UINT uiEEPROMOffset, UINT uiData); |
162 | 133 | ||
163 | UINT BcmGetFlashSize(PMINI_ADAPTER Adapter); | ||
164 | |||
165 | UINT BcmGetFlashSectorSize(PMINI_ADAPTER Adapter, UINT FlashSectorSizeSig, UINT FlashSectorSize); | ||
166 | |||
167 | INT BeceemFlashBulkWrite( | ||
168 | PMINI_ADAPTER Adapter, | ||
169 | PUINT pBuffer, | ||
170 | UINT uiOffset, | ||
171 | UINT uiNumBytes, | ||
172 | BOOLEAN bVerify); | ||
173 | |||
174 | INT PropagateCalParamsFromFlashToMemory(PMINI_ADAPTER Adapter); | 134 | INT PropagateCalParamsFromFlashToMemory(PMINI_ADAPTER Adapter); |
175 | 135 | ||
176 | INT PropagateCalParamsFromEEPROMToMemory(PMINI_ADAPTER Adapter); | ||
177 | |||
178 | 136 | ||
179 | INT BeceemEEPROMBulkWrite( | 137 | INT BeceemEEPROMBulkWrite( |
180 | PMINI_ADAPTER Adapter, | 138 | PMINI_ADAPTER Adapter, |
@@ -184,11 +142,8 @@ INT BeceemEEPROMBulkWrite( | |||
184 | BOOLEAN bVerify); | 142 | BOOLEAN bVerify); |
185 | 143 | ||
186 | 144 | ||
187 | INT ReadBeceemEEPROMBulk(PMINI_ADAPTER Adapter,UINT dwAddress, UINT *pdwData, UINT dwNumData); | ||
188 | |||
189 | INT ReadBeceemEEPROM(PMINI_ADAPTER Adapter,UINT dwAddress, UINT *pdwData); | 145 | INT ReadBeceemEEPROM(PMINI_ADAPTER Adapter,UINT dwAddress, UINT *pdwData); |
190 | 146 | ||
191 | NVM_TYPE BcmGetNvmType(PMINI_ADAPTER Adapter); | ||
192 | 147 | ||
193 | INT BeceemNVMRead( | 148 | INT BeceemNVMRead( |
194 | PMINI_ADAPTER Adapter, | 149 | PMINI_ADAPTER Adapter, |
@@ -203,24 +158,12 @@ INT BeceemNVMWrite( | |||
203 | UINT uiNumBytes, | 158 | UINT uiNumBytes, |
204 | BOOLEAN bVerify); | 159 | BOOLEAN bVerify); |
205 | 160 | ||
206 | INT BcmUpdateSectorSize(PMINI_ADAPTER Adapter,UINT uiSectorSize); | ||
207 | 161 | ||
208 | INT BcmInitNVM(PMINI_ADAPTER Adapter); | 162 | INT BcmInitNVM(PMINI_ADAPTER Adapter); |
209 | 163 | ||
210 | INT BcmGetNvmSize(PMINI_ADAPTER Adapter); | 164 | INT BcmUpdateSectorSize(PMINI_ADAPTER Adapter,UINT uiSectorSize); |
211 | 165 | BOOLEAN IsSectionExistInFlash(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL section); | |
212 | INT IsSectionExistInVendorInfo(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL section); | ||
213 | |||
214 | VOID BcmValidateNvmType(PMINI_ADAPTER Adapter); | ||
215 | |||
216 | VOID ConfigureEndPointTypesThroughEEPROM(PMINI_ADAPTER Adapter); | ||
217 | 166 | ||
218 | INT BcmGetFlashCSInfo(PMINI_ADAPTER Adapter); | ||
219 | INT ReadDSDHeader(PMINI_ADAPTER Adapter, PDSD_HEADER psDSDHeader, FLASH2X_SECTION_VAL dsd); | ||
220 | INT BcmGetActiveDSD(PMINI_ADAPTER Adapter); | ||
221 | INT ReadISOHeader(PMINI_ADAPTER Adapter, PISO_HEADER psISOHeader, FLASH2X_SECTION_VAL IsoImage); | ||
222 | INT BcmGetActiveISO(PMINI_ADAPTER Adapter); | ||
223 | B_UINT8 IsOffsetWritable(PMINI_ADAPTER Adapter, UINT uiOffset); | ||
224 | INT BcmGetFlash2xSectionalBitMap(PMINI_ADAPTER Adapter, PFLASH2X_BITMAP psFlash2xBitMap); | 167 | INT BcmGetFlash2xSectionalBitMap(PMINI_ADAPTER Adapter, PFLASH2X_BITMAP psFlash2xBitMap); |
225 | 168 | ||
226 | INT BcmFlash2xBulkWrite( | 169 | INT BcmFlash2xBulkWrite( |
@@ -237,7 +180,6 @@ INT BcmFlash2xBulkRead( | |||
237 | FLASH2X_SECTION_VAL eFlashSectionVal, | 180 | FLASH2X_SECTION_VAL eFlashSectionVal, |
238 | UINT uiOffsetWithinSectionVal, | 181 | UINT uiOffsetWithinSectionVal, |
239 | UINT uiNumBytes); | 182 | UINT uiNumBytes); |
240 | INT BcmGetSectionValEndOffset(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlashSectionVal); | ||
241 | 183 | ||
242 | INT BcmGetSectionValStartOffset(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlashSectionVal); | 184 | INT BcmGetSectionValStartOffset(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlashSectionVal); |
243 | 185 | ||
@@ -250,34 +192,13 @@ INT BcmFlash2xCorruptSig(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlash2xSect | |||
250 | INT BcmFlash2xWriteSig(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlashSectionVal); | 192 | INT BcmFlash2xWriteSig(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlashSectionVal); |
251 | INT validateFlash2xReadWrite(PMINI_ADAPTER Adapter, PFLASH2X_READWRITE psFlash2xReadWrite); | 193 | INT validateFlash2xReadWrite(PMINI_ADAPTER Adapter, PFLASH2X_READWRITE psFlash2xReadWrite); |
252 | INT IsFlash2x(PMINI_ADAPTER Adapter); | 194 | INT IsFlash2x(PMINI_ADAPTER Adapter); |
253 | INT GetFlashBaseAddr(PMINI_ADAPTER Adapter); | ||
254 | INT SaveHeaderIfPresent(PMINI_ADAPTER Adapter, PUCHAR pBuff, UINT uiSectAlignAddr); | ||
255 | INT BcmCopySection(PMINI_ADAPTER Adapter, | 195 | INT BcmCopySection(PMINI_ADAPTER Adapter, |
256 | FLASH2X_SECTION_VAL SrcSection, | 196 | FLASH2X_SECTION_VAL SrcSection, |
257 | FLASH2X_SECTION_VAL DstSection, | 197 | FLASH2X_SECTION_VAL DstSection, |
258 | UINT offset, | 198 | UINT offset, |
259 | UINT numOfBytes); | 199 | UINT numOfBytes); |
260 | 200 | ||
261 | INT BcmDoChipSelect(PMINI_ADAPTER Adapter, UINT offset); | 201 | |
262 | INT BcmMakeFlashCSActive(PMINI_ADAPTER Adapter, UINT offset); | ||
263 | INT ReadDSDSignature(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL dsd); | ||
264 | INT ReadDSDPriority(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL dsd); | ||
265 | FLASH2X_SECTION_VAL getHighestPriDSD(PMINI_ADAPTER Adapter); | ||
266 | INT ReadISOSignature(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL iso); | ||
267 | INT ReadISOPriority(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL iso); | ||
268 | FLASH2X_SECTION_VAL getHighestPriISO(PMINI_ADAPTER Adapter); | ||
269 | INT WriteToFlashWithoutSectorErase(PMINI_ADAPTER Adapter, | ||
270 | PUINT pBuff, | ||
271 | FLASH2X_SECTION_VAL eFlash2xSectionVal, | ||
272 | UINT uiOffset, | ||
273 | UINT uiNumBytes | ||
274 | ); | ||
275 | |||
276 | //UINT getNumOfSubSectionWithWRPermisson(PMINI_ADAPTER Adapter, SECTION_TYPE secType); | ||
277 | BOOLEAN IsSectionExistInFlash(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL section); | ||
278 | INT IsSectionWritable(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL Section); | ||
279 | INT CorruptDSDSig(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlash2xSectionVal); | ||
280 | INT CorruptISOSig(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlash2xSectionVal); | ||
281 | BOOLEAN IsNonCDLessDevice(PMINI_ADAPTER Adapter); | 202 | BOOLEAN IsNonCDLessDevice(PMINI_ADAPTER Adapter); |
282 | 203 | ||
283 | 204 | ||
@@ -286,7 +207,6 @@ VOID OverrideServiceFlowParams(PMINI_ADAPTER Adapter,PUINT puiBuffer); | |||
286 | int wrmaltWithLock (PMINI_ADAPTER Adapter, UINT uiAddress, PUINT pucBuff, size_t sSize); | 207 | int wrmaltWithLock (PMINI_ADAPTER Adapter, UINT uiAddress, PUINT pucBuff, size_t sSize); |
287 | int rdmaltWithLock (PMINI_ADAPTER Adapter, UINT uiAddress, PUINT pucBuff, size_t sSize); | 208 | int rdmaltWithLock (PMINI_ADAPTER Adapter, UINT uiAddress, PUINT pucBuff, size_t sSize); |
288 | 209 | ||
289 | int rdmWithLock(PMINI_ADAPTER Adapter, UINT uiAddress, PCHAR pucBuff, size_t size); | ||
290 | int wrmWithLock(PMINI_ADAPTER Adapter, UINT uiAddress, PCHAR pucBuff, size_t size); | 210 | int wrmWithLock(PMINI_ADAPTER Adapter, UINT uiAddress, PCHAR pucBuff, size_t size); |
291 | INT buffDnldVerify(PMINI_ADAPTER Adapter, unsigned char *mappedbuffer, unsigned int u32FirmwareLength, | 211 | INT buffDnldVerify(PMINI_ADAPTER Adapter, unsigned char *mappedbuffer, unsigned int u32FirmwareLength, |
292 | unsigned long u32StartingAddress); | 212 | unsigned long u32StartingAddress); |
diff --git a/drivers/staging/bcm/Qos.c b/drivers/staging/bcm/Qos.c index 21b611c68d3..54e9a490e6f 100644 --- a/drivers/staging/bcm/Qos.c +++ b/drivers/staging/bcm/Qos.c | |||
@@ -4,8 +4,14 @@ This file contains the routines related to Quality of Service. | |||
4 | */ | 4 | */ |
5 | #include "headers.h" | 5 | #include "headers.h" |
6 | 6 | ||
7 | void EThCSGetPktInfo(PMINI_ADAPTER Adapter,PVOID pvEthPayload,PS_ETHCS_PKT_INFO pstEthCsPktInfo); | 7 | static void EThCSGetPktInfo(PMINI_ADAPTER Adapter,PVOID pvEthPayload,PS_ETHCS_PKT_INFO pstEthCsPktInfo); |
8 | BOOLEAN EThCSClassifyPkt(PMINI_ADAPTER Adapter,struct sk_buff* skb,PS_ETHCS_PKT_INFO pstEthCsPktInfo,S_CLASSIFIER_RULE *pstClassifierRule, B_UINT8 EthCSCupport); | 8 | static BOOLEAN EThCSClassifyPkt(PMINI_ADAPTER Adapter,struct sk_buff* skb,PS_ETHCS_PKT_INFO pstEthCsPktInfo,S_CLASSIFIER_RULE *pstClassifierRule, B_UINT8 EthCSCupport); |
9 | |||
10 | static USHORT IpVersion4(PMINI_ADAPTER Adapter, struct iphdr *iphd, | ||
11 | S_CLASSIFIER_RULE *pstClassifierRule ); | ||
12 | |||
13 | static VOID PruneQueue(PMINI_ADAPTER Adapter, INT iIndex); | ||
14 | |||
9 | 15 | ||
10 | /******************************************************************* | 16 | /******************************************************************* |
11 | * Function - MatchSrcIpAddress() | 17 | * Function - MatchSrcIpAddress() |
@@ -198,11 +204,10 @@ BOOLEAN MatchDestPort(S_CLASSIFIER_RULE *pstClassifierRule,USHORT ushDestPort) | |||
198 | Compares IPV4 Ip address and port number | 204 | Compares IPV4 Ip address and port number |
199 | @return Queue Index. | 205 | @return Queue Index. |
200 | */ | 206 | */ |
201 | USHORT IpVersion4(PMINI_ADAPTER Adapter, /**< Pointer to the driver control structure */ | 207 | static USHORT IpVersion4(PMINI_ADAPTER Adapter, |
202 | struct iphdr *iphd, /**<Pointer to the IP Hdr of the packet*/ | 208 | struct iphdr *iphd, |
203 | S_CLASSIFIER_RULE *pstClassifierRule ) | 209 | S_CLASSIFIER_RULE *pstClassifierRule ) |
204 | { | 210 | { |
205 | //IPHeaderFormat *pIpHeader=NULL; | ||
206 | xporthdr *xprt_hdr=NULL; | 211 | xporthdr *xprt_hdr=NULL; |
207 | BOOLEAN bClassificationSucceed=FALSE; | 212 | BOOLEAN bClassificationSucceed=FALSE; |
208 | 213 | ||
@@ -318,9 +323,7 @@ is less than number of bytes in the queue. If so - | |||
318 | drops packets from the Head till the number of bytes is | 323 | drops packets from the Head till the number of bytes is |
319 | less than or equal to max queue size for the queue. | 324 | less than or equal to max queue size for the queue. |
320 | */ | 325 | */ |
321 | VOID PruneQueue(PMINI_ADAPTER Adapter,/**<Pointer to the driver control structure*/ | 326 | static VOID PruneQueue(PMINI_ADAPTER Adapter, INT iIndex) |
322 | INT iIndex/**<Queue Index*/ | ||
323 | ) | ||
324 | { | 327 | { |
325 | struct sk_buff* PacketToDrop=NULL; | 328 | struct sk_buff* PacketToDrop=NULL; |
326 | struct net_device_stats *netstats; | 329 | struct net_device_stats *netstats; |
@@ -772,7 +775,10 @@ static BOOLEAN EthCSMatchVLANRules(S_CLASSIFIER_RULE *pstClassifierRule,struct s | |||
772 | } | 775 | } |
773 | 776 | ||
774 | 777 | ||
775 | BOOLEAN EThCSClassifyPkt(PMINI_ADAPTER Adapter,struct sk_buff* skb,PS_ETHCS_PKT_INFO pstEthCsPktInfo,S_CLASSIFIER_RULE *pstClassifierRule, B_UINT8 EthCSCupport) | 778 | static BOOLEAN EThCSClassifyPkt(PMINI_ADAPTER Adapter,struct sk_buff* skb, |
779 | PS_ETHCS_PKT_INFO pstEthCsPktInfo, | ||
780 | S_CLASSIFIER_RULE *pstClassifierRule, | ||
781 | B_UINT8 EthCSCupport) | ||
776 | { | 782 | { |
777 | BOOLEAN bClassificationSucceed = FALSE; | 783 | BOOLEAN bClassificationSucceed = FALSE; |
778 | bClassificationSucceed = EthCSMatchSrcMACAddress(pstClassifierRule,((ETH_HEADER_STRUC *)(skb->data))->au8SourceAddress); | 784 | bClassificationSucceed = EthCSMatchSrcMACAddress(pstClassifierRule,((ETH_HEADER_STRUC *)(skb->data))->au8SourceAddress); |
@@ -802,9 +808,11 @@ BOOLEAN EThCSClassifyPkt(PMINI_ADAPTER Adapter,struct sk_buff* skb,PS_ETHCS_PKT_ | |||
802 | return bClassificationSucceed; | 808 | return bClassificationSucceed; |
803 | } | 809 | } |
804 | 810 | ||
805 | void EThCSGetPktInfo(PMINI_ADAPTER Adapter,PVOID pvEthPayload,PS_ETHCS_PKT_INFO pstEthCsPktInfo) | 811 | static void EThCSGetPktInfo(PMINI_ADAPTER Adapter,PVOID pvEthPayload, |
812 | PS_ETHCS_PKT_INFO pstEthCsPktInfo) | ||
806 | { | 813 | { |
807 | USHORT u16Etype = ntohs(((ETH_HEADER_STRUC*)pvEthPayload)->u16Etype); | 814 | USHORT u16Etype = ntohs(((ETH_HEADER_STRUC*)pvEthPayload)->u16Etype); |
815 | |||
808 | BCM_DEBUG_PRINT(Adapter, DBG_TYPE_TX, IPV4_DBG, DBG_LVL_ALL, "EthCSGetPktInfo : Eth Hdr Type : %X\n",u16Etype); | 816 | BCM_DEBUG_PRINT(Adapter, DBG_TYPE_TX, IPV4_DBG, DBG_LVL_ALL, "EthCSGetPktInfo : Eth Hdr Type : %X\n",u16Etype); |
809 | if(u16Etype > 0x5dc) | 817 | if(u16Etype > 0x5dc) |
810 | { | 818 | { |
diff --git a/drivers/staging/bcm/nvm.c b/drivers/staging/bcm/nvm.c index 4f1b35a68b7..5c10769abb5 100644 --- a/drivers/staging/bcm/nvm.c +++ b/drivers/staging/bcm/nvm.c | |||
@@ -1,6 +1,56 @@ | |||
1 | #include "headers.h" | 1 | #include "headers.h" |
2 | 2 | ||
3 | #define DWORD unsigned int | 3 | #define DWORD unsigned int |
4 | |||
5 | static INT BcmDoChipSelect(PMINI_ADAPTER Adapter, UINT offset); | ||
6 | static INT BcmGetActiveDSD(PMINI_ADAPTER Adapter); | ||
7 | static INT BcmGetActiveISO(PMINI_ADAPTER Adapter); | ||
8 | static UINT BcmGetEEPROMSize(PMINI_ADAPTER Adapter); | ||
9 | static INT BcmGetFlashCSInfo(PMINI_ADAPTER Adapter); | ||
10 | static UINT BcmGetFlashSectorSize(PMINI_ADAPTER Adapter, UINT FlashSectorSizeSig, UINT FlashSectorSize); | ||
11 | |||
12 | static VOID BcmValidateNvmType(PMINI_ADAPTER Adapter); | ||
13 | static INT BcmGetNvmSize(PMINI_ADAPTER Adapter); | ||
14 | static UINT BcmGetFlashSize(PMINI_ADAPTER Adapter); | ||
15 | static NVM_TYPE BcmGetNvmType(PMINI_ADAPTER Adapter); | ||
16 | |||
17 | static INT BcmGetSectionValEndOffset(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlash2xSectionVal); | ||
18 | |||
19 | static B_UINT8 IsOffsetWritable(PMINI_ADAPTER Adapter, UINT uiOffset); | ||
20 | static INT IsSectionWritable(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL Section); | ||
21 | static INT IsSectionExistInVendorInfo(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL section); | ||
22 | |||
23 | static INT ReadDSDPriority(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL dsd); | ||
24 | static INT ReadDSDSignature(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL dsd); | ||
25 | static INT ReadISOPriority(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL iso); | ||
26 | static INT ReadISOSignature(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL iso); | ||
27 | |||
28 | static INT CorruptDSDSig(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlash2xSectionVal); | ||
29 | static INT CorruptISOSig(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlash2xSectionVal); | ||
30 | static INT SaveHeaderIfPresent(PMINI_ADAPTER Adapter, PUCHAR pBuff, UINT uiSectAlignAddr); | ||
31 | static INT WriteToFlashWithoutSectorErase(PMINI_ADAPTER Adapter, PUINT pBuff, | ||
32 | FLASH2X_SECTION_VAL eFlash2xSectionVal, | ||
33 | UINT uiOffset, UINT uiNumBytes); | ||
34 | static FLASH2X_SECTION_VAL getHighestPriDSD(PMINI_ADAPTER Adapter); | ||
35 | static FLASH2X_SECTION_VAL getHighestPriISO(PMINI_ADAPTER Adapter); | ||
36 | |||
37 | static INT BeceemFlashBulkRead( | ||
38 | PMINI_ADAPTER Adapter, | ||
39 | PUINT pBuffer, | ||
40 | UINT uiOffset, | ||
41 | UINT uiNumBytes); | ||
42 | |||
43 | static INT BeceemFlashBulkWrite( | ||
44 | PMINI_ADAPTER Adapter, | ||
45 | PUINT pBuffer, | ||
46 | UINT uiOffset, | ||
47 | UINT uiNumBytes, | ||
48 | BOOLEAN bVerify); | ||
49 | |||
50 | static INT GetFlashBaseAddr(PMINI_ADAPTER Adapter); | ||
51 | |||
52 | static INT ReadBeceemEEPROMBulk(PMINI_ADAPTER Adapter,UINT dwAddress, UINT *pdwData, UINT dwNumData); | ||
53 | |||
4 | // Procedure: ReadEEPROMStatusRegister | 54 | // Procedure: ReadEEPROMStatusRegister |
5 | // | 55 | // |
6 | // Description: Reads the standard EEPROM Status Register. | 56 | // Description: Reads the standard EEPROM Status Register. |
@@ -409,7 +459,7 @@ INT BeceemEEPROMBulkRead( | |||
409 | // <FAILURE> - if failed. | 459 | // <FAILURE> - if failed. |
410 | //----------------------------------------------------------------------------- | 460 | //----------------------------------------------------------------------------- |
411 | 461 | ||
412 | INT BeceemFlashBulkRead( | 462 | static INT BeceemFlashBulkRead( |
413 | PMINI_ADAPTER Adapter, | 463 | PMINI_ADAPTER Adapter, |
414 | PUINT pBuffer, | 464 | PUINT pBuffer, |
415 | UINT uiOffset, | 465 | UINT uiOffset, |
@@ -491,7 +541,7 @@ INT BeceemFlashBulkRead( | |||
491 | // | 541 | // |
492 | //----------------------------------------------------------------------------- | 542 | //----------------------------------------------------------------------------- |
493 | 543 | ||
494 | UINT BcmGetFlashSize(PMINI_ADAPTER Adapter) | 544 | static UINT BcmGetFlashSize(PMINI_ADAPTER Adapter) |
495 | { | 545 | { |
496 | if(IsFlash2x(Adapter)) | 546 | if(IsFlash2x(Adapter)) |
497 | return (Adapter->psFlash2xCSInfo->OffsetFromDSDStartForDSDHeader + sizeof(DSD_HEADER)); | 547 | return (Adapter->psFlash2xCSInfo->OffsetFromDSDStartForDSDHeader + sizeof(DSD_HEADER)); |
@@ -514,7 +564,7 @@ UINT BcmGetFlashSize(PMINI_ADAPTER Adapter) | |||
514 | // | 564 | // |
515 | //----------------------------------------------------------------------------- | 565 | //----------------------------------------------------------------------------- |
516 | 566 | ||
517 | UINT BcmGetEEPROMSize(PMINI_ADAPTER Adapter) | 567 | static UINT BcmGetEEPROMSize(PMINI_ADAPTER Adapter) |
518 | { | 568 | { |
519 | UINT uiData = 0; | 569 | UINT uiData = 0; |
520 | UINT uiIndex = 0; | 570 | UINT uiIndex = 0; |
@@ -1108,7 +1158,7 @@ static ULONG BcmFlashUnProtectBlock(PMINI_ADAPTER Adapter,UINT uiOffset, UINT ui | |||
1108 | // | 1158 | // |
1109 | //----------------------------------------------------------------------------- | 1159 | //----------------------------------------------------------------------------- |
1110 | 1160 | ||
1111 | INT BeceemFlashBulkWrite( | 1161 | static INT BeceemFlashBulkWrite( |
1112 | PMINI_ADAPTER Adapter, | 1162 | PMINI_ADAPTER Adapter, |
1113 | PUINT pBuffer, | 1163 | PUINT pBuffer, |
1114 | UINT uiOffset, | 1164 | UINT uiOffset, |
@@ -1613,11 +1663,8 @@ INT PropagateCalParamsFromFlashToMemory(PMINI_ADAPTER Adapter) | |||
1613 | } | 1663 | } |
1614 | 1664 | ||
1615 | pBuff = kmalloc(uiEepromSize, GFP_KERNEL); | 1665 | pBuff = kmalloc(uiEepromSize, GFP_KERNEL); |
1616 | |||
1617 | if ( pBuff == NULL ) | 1666 | if ( pBuff == NULL ) |
1618 | { | ||
1619 | return -1; | 1667 | return -1; |
1620 | } | ||
1621 | 1668 | ||
1622 | if(0 != BeceemNVMRead(Adapter,(PUINT)pBuff,uiCalStartAddr, uiEepromSize)) | 1669 | if(0 != BeceemNVMRead(Adapter,(PUINT)pBuff,uiCalStartAddr, uiEepromSize)) |
1623 | { | 1670 | { |
@@ -2274,7 +2321,7 @@ INT BcmUpdateSectorSize(PMINI_ADAPTER Adapter,UINT uiSectorSize) | |||
2274 | // | 2321 | // |
2275 | //----------------------------------------------------------------------------- | 2322 | //----------------------------------------------------------------------------- |
2276 | 2323 | ||
2277 | UINT BcmGetFlashSectorSize(PMINI_ADAPTER Adapter, UINT FlashSectorSizeSig, UINT FlashSectorSize) | 2324 | static UINT BcmGetFlashSectorSize(PMINI_ADAPTER Adapter, UINT FlashSectorSizeSig, UINT FlashSectorSize) |
2278 | { | 2325 | { |
2279 | UINT uiSectorSize = 0; | 2326 | UINT uiSectorSize = 0; |
2280 | UINT uiSectorSig = 0; | 2327 | UINT uiSectorSig = 0; |
@@ -2411,7 +2458,7 @@ INT BcmInitNVM(PMINI_ADAPTER ps_adapter) | |||
2411 | */ | 2458 | */ |
2412 | /***************************************************************************/ | 2459 | /***************************************************************************/ |
2413 | 2460 | ||
2414 | INT BcmGetNvmSize(PMINI_ADAPTER Adapter) | 2461 | static INT BcmGetNvmSize(PMINI_ADAPTER Adapter) |
2415 | { | 2462 | { |
2416 | if(Adapter->eNVMType == NVM_EEPROM) | 2463 | if(Adapter->eNVMType == NVM_EEPROM) |
2417 | { | 2464 | { |
@@ -2435,7 +2482,7 @@ INT BcmGetNvmSize(PMINI_ADAPTER Adapter) | |||
2435 | // Returns: | 2482 | // Returns: |
2436 | // <VOID> | 2483 | // <VOID> |
2437 | //----------------------------------------------------------------------------- | 2484 | //----------------------------------------------------------------------------- |
2438 | VOID BcmValidateNvmType(PMINI_ADAPTER Adapter) | 2485 | static VOID BcmValidateNvmType(PMINI_ADAPTER Adapter) |
2439 | { | 2486 | { |
2440 | 2487 | ||
2441 | // | 2488 | // |
@@ -2681,7 +2728,7 @@ static INT ConvertEndianOfCSStructure(PFLASH_CS_INFO psFlashCSInfo) | |||
2681 | return STATUS_SUCCESS; | 2728 | return STATUS_SUCCESS; |
2682 | } | 2729 | } |
2683 | 2730 | ||
2684 | INT IsSectionExistInVendorInfo(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL section) | 2731 | static INT IsSectionExistInVendorInfo(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL section) |
2685 | { | 2732 | { |
2686 | return ( Adapter->uiVendorExtnFlag && | 2733 | return ( Adapter->uiVendorExtnFlag && |
2687 | (Adapter->psFlash2xVendorInfo->VendorSection[section].AccessFlags & FLASH2X_SECTION_PRESENT) && | 2734 | (Adapter->psFlash2xVendorInfo->VendorSection[section].AccessFlags & FLASH2X_SECTION_PRESENT) && |
@@ -2779,7 +2826,7 @@ static VOID UpdateVendorInfo(PMINI_ADAPTER Adapter) | |||
2779 | // <VOID> | 2826 | // <VOID> |
2780 | //----------------------------------------------------------------------------- | 2827 | //----------------------------------------------------------------------------- |
2781 | 2828 | ||
2782 | INT BcmGetFlashCSInfo(PMINI_ADAPTER Adapter) | 2829 | static INT BcmGetFlashCSInfo(PMINI_ADAPTER Adapter) |
2783 | { | 2830 | { |
2784 | //FLASH_CS_INFO sFlashCsInfo = {0}; | 2831 | //FLASH_CS_INFO sFlashCsInfo = {0}; |
2785 | 2832 | ||
@@ -2926,7 +2973,7 @@ INT BcmGetFlashCSInfo(PMINI_ADAPTER Adapter) | |||
2926 | // | 2973 | // |
2927 | //----------------------------------------------------------------------------- | 2974 | //----------------------------------------------------------------------------- |
2928 | 2975 | ||
2929 | NVM_TYPE BcmGetNvmType(PMINI_ADAPTER Adapter) | 2976 | static NVM_TYPE BcmGetNvmType(PMINI_ADAPTER Adapter) |
2930 | { | 2977 | { |
2931 | UINT uiData = 0; | 2978 | UINT uiData = 0; |
2932 | 2979 | ||
@@ -3281,39 +3328,6 @@ INT BcmFlash2xBulkWrite( | |||
3281 | } | 3328 | } |
3282 | 3329 | ||
3283 | /** | 3330 | /** |
3284 | * ReadDSDHeader : Read the DSD map for the DSD Section val provided in Argument. | ||
3285 | * @Adapter : Beceem Private Data Structure | ||
3286 | * @psDSDHeader :Pointer of the buffer where header has to be read | ||
3287 | * @dsd :value of the Dyanmic DSD like DSD0 of DSD1 or DSD2 | ||
3288 | * | ||
3289 | * Return Value:- | ||
3290 | * if suceeds return STATUS_SUCCESS or negative error code. | ||
3291 | **/ | ||
3292 | INT ReadDSDHeader(PMINI_ADAPTER Adapter, PDSD_HEADER psDSDHeader, FLASH2X_SECTION_VAL dsd) | ||
3293 | { | ||
3294 | INT Status = STATUS_SUCCESS; | ||
3295 | |||
3296 | Status =BcmFlash2xBulkRead(Adapter, | ||
3297 | (PUINT)psDSDHeader, | ||
3298 | dsd, | ||
3299 | Adapter->psFlash2xCSInfo->OffsetFromDSDStartForDSDHeader, | ||
3300 | sizeof(DSD_HEADER)); | ||
3301 | if(Status == STATUS_SUCCESS) | ||
3302 | { | ||
3303 | BCM_DEBUG_PRINT(Adapter,DBG_TYPE_OTHERS, NVM_RW, DBG_LVL_ALL, "DSDImageMagicNumber :0X%x", ntohl(psDSDHeader->DSDImageMagicNumber)); | ||
3304 | BCM_DEBUG_PRINT(Adapter,DBG_TYPE_OTHERS, NVM_RW, DBG_LVL_ALL, "DSDImageSize :0X%x ",ntohl(psDSDHeader->DSDImageSize)); | ||
3305 | BCM_DEBUG_PRINT(Adapter,DBG_TYPE_OTHERS, NVM_RW, DBG_LVL_ALL, "DSDImageCRC :0X%x",ntohl(psDSDHeader->DSDImageCRC)); | ||
3306 | BCM_DEBUG_PRINT(Adapter,DBG_TYPE_OTHERS, NVM_RW, DBG_LVL_ALL, "DSDImagePriority :0X%x",ntohl(psDSDHeader->DSDImagePriority)); | ||
3307 | } | ||
3308 | else | ||
3309 | { | ||
3310 | BCM_DEBUG_PRINT(Adapter,DBG_TYPE_PRINTK, 0, 0,"DSD Header read is failed with status :%d", Status); | ||
3311 | } | ||
3312 | |||
3313 | return Status; | ||
3314 | } | ||
3315 | |||
3316 | /** | ||
3317 | * BcmGetActiveDSD : Set the Active DSD in Adapter Structure which has to be dumped in DDR | 3331 | * BcmGetActiveDSD : Set the Active DSD in Adapter Structure which has to be dumped in DDR |
3318 | * @Adapter :-Drivers private Data Structure | 3332 | * @Adapter :-Drivers private Data Structure |
3319 | * | 3333 | * |
@@ -3321,7 +3335,7 @@ INT ReadDSDHeader(PMINI_ADAPTER Adapter, PDSD_HEADER psDSDHeader, FLASH2X_SECTIO | |||
3321 | * Return STATUS_SUCESS if get sucess in setting the right DSD else negaive error code | 3335 | * Return STATUS_SUCESS if get sucess in setting the right DSD else negaive error code |
3322 | * | 3336 | * |
3323 | **/ | 3337 | **/ |
3324 | INT BcmGetActiveDSD(PMINI_ADAPTER Adapter) | 3338 | static INT BcmGetActiveDSD(PMINI_ADAPTER Adapter) |
3325 | { | 3339 | { |
3326 | FLASH2X_SECTION_VAL uiHighestPriDSD = 0 ; | 3340 | FLASH2X_SECTION_VAL uiHighestPriDSD = 0 ; |
3327 | 3341 | ||
@@ -3359,39 +3373,6 @@ INT BcmGetActiveDSD(PMINI_ADAPTER Adapter) | |||
3359 | return STATUS_SUCCESS; | 3373 | return STATUS_SUCCESS; |
3360 | } | 3374 | } |
3361 | 3375 | ||
3362 | /** | ||
3363 | * ReadISOUnReservedBytes : Read the ISO map for the ISO Section val provided in Argument. | ||
3364 | * @Adapter : Driver Private Data Structure | ||
3365 | * @psISOHeader :Pointer of the location where header has to be read | ||
3366 | * @IsoImage :value of the Dyanmic ISO like ISO_IMAGE1 of ISO_IMAGE2 | ||
3367 | * | ||
3368 | * Return Value:- | ||
3369 | * if suceeds return STATUS_SUCCESS or negative error code. | ||
3370 | **/ | ||
3371 | |||
3372 | INT ReadISOHeader(PMINI_ADAPTER Adapter, PISO_HEADER psISOHeader, FLASH2X_SECTION_VAL IsoImage) | ||
3373 | { | ||
3374 | INT Status = STATUS_SUCCESS; | ||
3375 | |||
3376 | Status = BcmFlash2xBulkRead(Adapter, | ||
3377 | (PUINT)psISOHeader, | ||
3378 | IsoImage, | ||
3379 | 0, | ||
3380 | sizeof(ISO_HEADER)); | ||
3381 | |||
3382 | if(Status == STATUS_SUCCESS) | ||
3383 | { | ||
3384 | BCM_DEBUG_PRINT(Adapter,DBG_TYPE_OTHERS, NVM_RW, DBG_LVL_ALL, "ISOImageMagicNumber :0X%x", ntohl(psISOHeader->ISOImageMagicNumber)); | ||
3385 | BCM_DEBUG_PRINT(Adapter,DBG_TYPE_OTHERS, NVM_RW, DBG_LVL_ALL, "ISOImageSize :0X%x ",ntohl(psISOHeader->ISOImageSize)); | ||
3386 | BCM_DEBUG_PRINT(Adapter,DBG_TYPE_OTHERS, NVM_RW, DBG_LVL_ALL, "ISOImageCRC :0X%x",ntohl(psISOHeader->ISOImageCRC)); | ||
3387 | BCM_DEBUG_PRINT(Adapter,DBG_TYPE_OTHERS, NVM_RW, DBG_LVL_ALL, "ISOImagePriority :0X%x",ntohl(psISOHeader->ISOImagePriority)); | ||
3388 | } | ||
3389 | else | ||
3390 | { | ||
3391 | BCM_DEBUG_PRINT(Adapter,DBG_TYPE_PRINTK, 0, 0, "ISO Header Read failed"); | ||
3392 | } | ||
3393 | return Status; | ||
3394 | } | ||
3395 | 3376 | ||
3396 | /** | 3377 | /** |
3397 | * BcmGetActiveISO :- Set the Active ISO in Adapter Data Structue | 3378 | * BcmGetActiveISO :- Set the Active ISO in Adapter Data Structue |
@@ -3403,7 +3384,7 @@ INT ReadISOHeader(PMINI_ADAPTER Adapter, PISO_HEADER psISOHeader, FLASH2X_SECTIO | |||
3403 | * | 3384 | * |
3404 | **/ | 3385 | **/ |
3405 | 3386 | ||
3406 | INT BcmGetActiveISO(PMINI_ADAPTER Adapter) | 3387 | static INT BcmGetActiveISO(PMINI_ADAPTER Adapter) |
3407 | { | 3388 | { |
3408 | 3389 | ||
3409 | INT HighestPriISO = 0 ; | 3390 | INT HighestPriISO = 0 ; |
@@ -4501,7 +4482,7 @@ Return Value:- | |||
4501 | Success :- Base Address of the Flash | 4482 | Success :- Base Address of the Flash |
4502 | **/ | 4483 | **/ |
4503 | 4484 | ||
4504 | INT GetFlashBaseAddr(PMINI_ADAPTER Adapter) | 4485 | static INT GetFlashBaseAddr(PMINI_ADAPTER Adapter) |
4505 | { | 4486 | { |
4506 | 4487 | ||
4507 | UINT uiBaseAddr = 0; | 4488 | UINT uiBaseAddr = 0; |
@@ -4734,29 +4715,7 @@ INT SaveHeaderIfPresent(PMINI_ADAPTER Adapter, PUCHAR pBuff, UINT uiOffset) | |||
4734 | 4715 | ||
4735 | return STATUS_SUCCESS ; | 4716 | return STATUS_SUCCESS ; |
4736 | } | 4717 | } |
4737 | INT BcmMakeFlashCSActive(PMINI_ADAPTER Adapter, UINT offset) | ||
4738 | { | ||
4739 | UINT GPIOConfig = 0 ; | ||
4740 | |||
4741 | |||
4742 | if(Adapter->bFlashRawRead == FALSE) | ||
4743 | { | ||
4744 | //Applicable for Flash2.x | ||
4745 | if(IsFlash2x(Adapter) == FALSE) | ||
4746 | return STATUS_SUCCESS; | ||
4747 | } | ||
4748 | 4718 | ||
4749 | if(offset/FLASH_PART_SIZE) | ||
4750 | { | ||
4751 | //bit[14..12] -> will select make Active CS1, CS2 or CS3 | ||
4752 | // Select CS1, CS2 and CS3 (CS0 is dedicated pin) | ||
4753 | rdmalt(Adapter,FLASH_GPIO_CONFIG_REG, &GPIOConfig, 4); | ||
4754 | GPIOConfig |= (7 << 12); | ||
4755 | wrmalt(Adapter,FLASH_GPIO_CONFIG_REG, &GPIOConfig, 4); | ||
4756 | } | ||
4757 | |||
4758 | return STATUS_SUCCESS ; | ||
4759 | } | ||
4760 | /** | 4719 | /** |
4761 | BcmDoChipSelect : This will selcet the appropriate chip for writing. | 4720 | BcmDoChipSelect : This will selcet the appropriate chip for writing. |
4762 | @Adapater :- Bcm Driver Private Data Structure | 4721 | @Adapater :- Bcm Driver Private Data Structure |
@@ -4764,7 +4723,7 @@ BcmDoChipSelect : This will selcet the appropriate chip for writing. | |||
4764 | OutPut:- | 4723 | OutPut:- |
4765 | Select the Appropriate chip and retrn status Sucess | 4724 | Select the Appropriate chip and retrn status Sucess |
4766 | **/ | 4725 | **/ |
4767 | INT BcmDoChipSelect(PMINI_ADAPTER Adapter, UINT offset) | 4726 | static INT BcmDoChipSelect(PMINI_ADAPTER Adapter, UINT offset) |
4768 | { | 4727 | { |
4769 | UINT FlashConfig = 0; | 4728 | UINT FlashConfig = 0; |
4770 | INT ChipNum = 0; | 4729 | INT ChipNum = 0; |
@@ -5136,7 +5095,7 @@ INT IsSectionWritable(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL Section) | |||
5136 | return Status ; | 5095 | return Status ; |
5137 | } | 5096 | } |
5138 | 5097 | ||
5139 | INT CorruptDSDSig(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlash2xSectionVal) | 5098 | static INT CorruptDSDSig(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlash2xSectionVal) |
5140 | { | 5099 | { |
5141 | 5100 | ||
5142 | PUCHAR pBuff = NULL; | 5101 | PUCHAR pBuff = NULL; |
@@ -5209,7 +5168,7 @@ INT CorruptDSDSig(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlash2xSectionVal) | |||
5209 | return STATUS_SUCCESS ; | 5168 | return STATUS_SUCCESS ; |
5210 | } | 5169 | } |
5211 | 5170 | ||
5212 | INT CorruptISOSig(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlash2xSectionVal) | 5171 | static INT CorruptISOSig(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlash2xSectionVal) |
5213 | { | 5172 | { |
5214 | 5173 | ||
5215 | PUCHAR pBuff = NULL; | 5174 | PUCHAR pBuff = NULL; |