aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/staging/bcm/CmHost.c5
-rw-r--r--drivers/staging/bcm/CmHost.h3
-rw-r--r--drivers/staging/bcm/HandleControlPacket.c3
-rw-r--r--drivers/staging/bcm/IPv6Protocol.c10
-rw-r--r--drivers/staging/bcm/IPv6ProtocolHdr.h3
-rw-r--r--drivers/staging/bcm/InterfaceIdleMode.c12
-rw-r--r--drivers/staging/bcm/InterfaceIdleMode.h2
-rw-r--r--drivers/staging/bcm/InterfaceInit.c8
-rw-r--r--drivers/staging/bcm/InterfaceInit.h4
-rw-r--r--drivers/staging/bcm/InterfaceIsr.c36
-rw-r--r--drivers/staging/bcm/Misc.c52
-rw-r--r--drivers/staging/bcm/PHSModule.c72
-rw-r--r--drivers/staging/bcm/PHSModule.h45
-rw-r--r--drivers/staging/bcm/Prototypes.h86
-rw-r--r--drivers/staging/bcm/Qos.c30
-rw-r--r--drivers/staging/bcm/nvm.c173
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
18static 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
111VOID deleteSFBySfid(PMINI_ADAPTER Adapter, UINT uiSearchRuleIndex) 112static 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
1926ULONG GetNextTargetBufferLocation(PMINI_ADAPTER Adapter,B_UINT16 tid) 1927static 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
151ULONG StoreCmControlResponseMessage(PMINI_ADAPTER Adapter,PVOID pvBuffer,UINT *puBufferLength); 151ULONG StoreCmControlResponseMessage(PMINI_ADAPTER Adapter,PVOID pvBuffer,UINT *puBufferLength);
152 152
153ULONG GetNextTargetBufferLocation(PMINI_ADAPTER Adapter,B_UINT16 tid);
154
155INT AllocAdapterDsxBuffer(PMINI_ADAPTER Adapter); 153INT AllocAdapterDsxBuffer(PMINI_ADAPTER Adapter);
156 154
157INT FreeAdapterDsxBuffer(PMINI_ADAPTER Adapter); 155INT FreeAdapterDsxBuffer(PMINI_ADAPTER Adapter);
@@ -159,7 +157,6 @@ ULONG SetUpTargetDsxBuffers(PMINI_ADAPTER Adapter);
159 157
160BOOLEAN CmControlResponseMessage(PMINI_ADAPTER Adapter,PVOID pvBuffer); 158BOOLEAN CmControlResponseMessage(PMINI_ADAPTER Adapter,PVOID pvBuffer);
161 159
162VOID 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
11Enqueue the control packet for Application. 11Enqueue the control packet for Application.
12@return None 12@return None
13*/ 13*/
14VOID handle_rx_control_packet(PMINI_ADAPTER Adapter, /**<Pointer to the Adapter structure*/ 14static 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
3static BOOLEAN MatchSrcIpv6Address(S_CLASSIFIER_RULE *pstClassifierRule,IPV6Header *pstIpv6Header);
4static BOOLEAN MatchDestIpv6Address(S_CLASSIFIER_RULE *pstClassifierRule,IPV6Header *pstIpv6Header);
5static VOID DumpIpv6Header(IPV6Header *pstIpv6Header);
6
3static UCHAR * GetNextIPV6ChainedHeader(UCHAR **ppucPayload,UCHAR *pucNextHeader,BOOLEAN *bParseDone,USHORT *pusPayloadLength) 7static 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
260BOOLEAN MatchSrcIpv6Address(S_CLASSIFIER_RULE *pstClassifierRule,IPV6Header *pstIpv6Header) 264static 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
313BOOLEAN MatchDestIpv6Address(S_CLASSIFIER_RULE *pstClassifierRule,IPV6Header *pstIpv6Header) 317static 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
379VOID DumpIpv6Header(IPV6Header *pstIpv6Header) 383static 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
104BOOLEAN MatchSrcIpv6Address(S_CLASSIFIER_RULE *pstClassifierRule,IPV6Header *pstIpv6Header);
105BOOLEAN MatchDestIpv6Address(S_CLASSIFIER_RULE *pstClassifierRule,IPV6Header *pstIpv6Header);
106 104
107USHORT IpVersion6(PMINI_ADAPTER Adapter, /**< Pointer to the driver control structure */ 105USHORT 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
111VOID DumpIpv6Address(ULONG *puIpv6Address); 109VOID DumpIpv6Address(ULONG *puIpv6Address);
112VOID DumpIpv6Header(IPV6Header *pstIpv6Header);
113 110
114extern BOOLEAN MatchSrcPort(S_CLASSIFIER_RULE *pstClassifierRule,USHORT ushSrcPort); 111extern BOOLEAN MatchSrcPort(S_CLASSIFIER_RULE *pstClassifierRule,USHORT ushSrcPort);
115extern BOOLEAN MatchDestPort(S_CLASSIFIER_RULE *pstClassifierRule,USHORT ushSrcPort); 112extern 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 149static int InterfaceAbortIdlemode(PMINI_ADAPTER Adapter, unsigned int Pattern)
150VOID 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
159int 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
8VOID InterfaceWriteIdleModeWakePattern(PMINI_ADAPTER Adapter); 8VOID InterfaceWriteIdleModeWakePattern(PMINI_ADAPTER Adapter);
9 9
10INT InterfaceAbortIdlemode(PMINI_ADAPTER Adapter, unsigned int Pattern);
11
12INT InterfaceWakeUp(PMINI_ADAPTER Adapter); 10INT InterfaceWakeUp(PMINI_ADAPTER Adapter);
13 11
14VOID InterfaceHandleShutdownModeWakeup(PMINI_ADAPTER Adapter); 12VOID 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};
12MODULE_DEVICE_TABLE(usb, InterfaceUsbtable); 12MODULE_DEVICE_TABLE(usb, InterfaceUsbtable);
13 13
14VOID InterfaceAdapterFree(PS_INTERFACE_ADAPTER psIntfAdapter) 14static INT InterfaceAdapterInit(PS_INTERFACE_ADAPTER Adapter);
15
16static 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
61VOID ConfigureEndPointTypesThroughEEPROM(PMINI_ADAPTER Adapter) 63static 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
444INT InterfaceAdapterInit(PS_INTERFACE_ADAPTER psIntfAdapter) 446static 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
20INT InterfaceExit(void); 20INT InterfaceExit(void);
21 21
22INT InterfaceAdapterInit(PS_INTERFACE_ADAPTER Adapter);
23
24INT usbbcm_worker_thread(PS_INTERFACE_ADAPTER psIntfAdapter); 22INT usbbcm_worker_thread(PS_INTERFACE_ADAPTER psIntfAdapter);
25 23
26VOID 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/*
171Function: InterfaceEnableInterrupt
172
173Description: This is the hardware specific Function for configuring
174 and enabling the interrupts on the device.
175
176Input parameters: IN PMINI_ADAPTER Adapter - Miniport Adapter Context
177
178
179Return: BCM_STATUS_SUCCESS - If configuring the interrupts was successful.
180 Other - If an error occured.
181*/
182
183void InterfaceEnableInterrupt(PMINI_ADAPTER Adapter)
184{
185
186}
187
188/*
189Function: InterfaceDisableInterrupt
190
191Description: This is the hardware specific Function for disabling the interrupts on the device.
192
193Input parameters: IN PMINI_ADAPTER Adapter - Miniport Adapter Context
194
195
196Return: BCM_STATUS_SUCCESS - If disabling the interrupts was successful.
197 Other - If an error occured.
198*/
199
200void 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
3static int BcmFileDownload(PMINI_ADAPTER Adapter, const char *path,
4 unsigned int loc);
5static VOID doPowerAutoCorrection(PMINI_ADAPTER psAdapter);
6static void HandleShutDownModeRequest(PMINI_ADAPTER Adapter,PUCHAR pucBuffer);
7static int bcm_parse_target_params(PMINI_ADAPTER Adapter);
8static void beceem_protocol_reset (PMINI_ADAPTER Adapter);
9
3static VOID default_wimax_protocol_initialize(PMINI_ADAPTER Adapter) 10static 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
178static struct file *open_firmware_file(PMINI_ADAPTER Adapter, char *path) 185static 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
200int BcmFileDownload(PMINI_ADAPTER Adapter,/**< Logical Adapter */ 207static 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
481void 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
1232int bcm_parse_target_params(PMINI_ADAPTER Adapter) 1227static 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
1360VOID doPowerAutoCorrection(PMINI_ADAPTER psAdapter) 1355static 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
1499int 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
1515exit:
1516 up(&Adapter->rdmwrmsync);
1517 return status ;
1518}
1519int wrmWithLock(PMINI_ADAPTER Adapter, UINT uiAddress, PCHAR pucBuff, size_t sSize) 1495int 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
1710void HandleShutDownModeRequest(PMINI_ADAPTER Adapter,PUCHAR pucBuffer) 1686static 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
1894void beceem_protocol_reset (PMINI_ADAPTER Adapter) 1870static 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
3static UINT CreateSFToClassifierRuleMapping(B_UINT16 uiVcid,B_UINT16 uiClsId,S_SERVICEFLOW_TABLE *psServiceFlowTable,S_PHS_RULE *psPhsRule,B_UINT8 u8AssociatedPHSI);
4
5static UINT CreateClassiferToPHSRuleMapping(B_UINT16 uiVcid,B_UINT16 uiClsId,S_SERVICEFLOW_ENTRY *pstServiceFlowEntry,S_PHS_RULE *psPhsRule,B_UINT8 u8AssociatedPHSI);
6
7static UINT CreateClassifierPHSRule(B_UINT16 uiClsId,S_CLASSIFIER_TABLE *psaClassifiertable ,S_PHS_RULE *psPhsRule,E_CLASSIFIER_ENTRY_CONTEXT eClsContext,B_UINT8 u8AssociatedPHSI);
8
9static UINT UpdateClassifierPHSRule(B_UINT16 uiClsId,S_CLASSIFIER_ENTRY *pstClassifierEntry,S_CLASSIFIER_TABLE *psaClassifiertable ,S_PHS_RULE *psPhsRule,B_UINT8 u8AssociatedPHSI);
10
11static BOOLEAN ValidatePHSRuleComplete(S_PHS_RULE *psPhsRule);
12
13static BOOLEAN DerefPhsRule(B_UINT16 uiClsId,S_CLASSIFIER_TABLE *psaClassifiertable,S_PHS_RULE *pstPhsRule);
14
15static UINT GetClassifierEntry(S_CLASSIFIER_TABLE *pstClassifierTable,B_UINT32 uiClsid,E_CLASSIFIER_ENTRY_CONTEXT eClsContext, S_CLASSIFIER_ENTRY **ppstClassifierEntry);
16
17static UINT GetPhsRuleEntry(S_CLASSIFIER_TABLE *pstClassifierTable,B_UINT32 uiPHSI,E_CLASSIFIER_ENTRY_CONTEXT eClsContext,S_PHS_RULE **ppstPhsRule);
18
19static void free_phs_serviceflow_rules(S_SERVICEFLOW_TABLE *psServiceFlowRulesTable);
20
21static 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
25static 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
28static int phs_decompress(unsigned char *in_buf,unsigned char *out_buf,\
29 S_PHS_RULE *phs_rules,UINT *header_size);
30
31
32static 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
40static 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
801void free_phs_serviceflow_rules(S_SERVICEFLOW_TABLE *psServiceFlowRulesTable) 847static 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
855BOOLEAN ValidatePHSRuleComplete(IN S_PHS_RULE *psPhsRule) 901static 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
938UINT GetPhsRuleEntry(IN S_CLASSIFIER_TABLE *pstClassifierTable, 984static 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
1097UINT CreateClassifierPHSRule(IN B_UINT16 uiClsId, 1143static 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
1208UINT UpdateClassifierPHSRule(IN B_UINT16 uiClsId, 1254static 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
1269BOOLEAN DerefPhsRule(IN B_UINT16 uiClsId,S_CLASSIFIER_TABLE *psaClassifiertable,S_PHS_RULE *pstPhsRule) 1315static 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//-----------------------------------------------------------------------------
1447int phs_compress(S_PHS_RULE *phs_rule,unsigned char *in_buf 1493static 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, 1554static 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
28int phs_init(PPHS_DEVICE_EXTENSION pPhsdeviceExtension,PMINI_ADAPTER Adapter); 28int phs_init(PPHS_DEVICE_EXTENSION pPhsdeviceExtension,PMINI_ADAPTER Adapter);
29 29
30void free_phs_serviceflow_rules(S_SERVICEFLOW_TABLE *psServiceFlowRulesTable);
31
32int 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
36int 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
39int phs_decompress(unsigned char *in_buf,unsigned char *out_buf,\
40 S_PHS_RULE *phs_rules,UINT *header_size);
41
42
43int PhsCleanup(PPHS_DEVICE_EXTENSION pPHSDeviceExt); 30int 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
52ULONG PhsDeleteSFRules(void* pvContext,B_UINT16 uiVcid) ; 39ULONG PhsDeleteSFRules(void* pvContext,B_UINT16 uiVcid) ;
53 40
54 41
55ULONG PhsCompress(void* pvContext,
56 B_UINT16 uiVcid,
57 B_UINT16 uiClsId,
58 void *pvInputBuffer,
59 void *pvOutputBuffer,
60 UINT *pOldHeaderSize,
61 UINT *pNewHeaderSize );
62
63ULONG PhsDeCompress(void* pvContext,
64 B_UINT16 uiVcid,
65 void *pvInputBuffer,
66 void *pvOutputBuffer,
67 UINT *pInHeaderSize,
68 UINT *pOutHeaderSize);
69
70
71BOOLEAN ValidatePHSRule(S_PHS_RULE *psPhsRule); 42BOOLEAN ValidatePHSRule(S_PHS_RULE *psPhsRule);
72 43
73BOOLEAN ValidatePHSRuleComplete(S_PHS_RULE *psPhsRule);
74
75UINT GetServiceFlowEntry(S_SERVICEFLOW_TABLE *psServiceFlowTable,B_UINT16 uiVcid,S_SERVICEFLOW_ENTRY **ppstServiceFlowEntry); 44UINT GetServiceFlowEntry(S_SERVICEFLOW_TABLE *psServiceFlowTable,B_UINT16 uiVcid,S_SERVICEFLOW_ENTRY **ppstServiceFlowEntry);
76 45
77UINT GetClassifierEntry(S_CLASSIFIER_TABLE *pstClassifierTable,B_UINT32 uiClsid,E_CLASSIFIER_ENTRY_CONTEXT eClsContext, S_CLASSIFIER_ENTRY **ppstClassifierEntry);
78
79UINT GetPhsRuleEntry(S_CLASSIFIER_TABLE *pstClassifierTable,B_UINT32 uiPHSI,E_CLASSIFIER_ENTRY_CONTEXT eClsContext,S_PHS_RULE **ppstPhsRule);
80
81
82UINT CreateSFToClassifierRuleMapping(B_UINT16 uiVcid,B_UINT16 uiClsId,S_SERVICEFLOW_TABLE *psServiceFlowTable,S_PHS_RULE *psPhsRule,B_UINT8 u8AssociatedPHSI);
83
84UINT CreateClassiferToPHSRuleMapping(B_UINT16 uiVcid,B_UINT16 uiClsId,S_SERVICEFLOW_ENTRY *pstServiceFlowEntry,S_PHS_RULE *psPhsRule,B_UINT8 u8AssociatedPHSI);
85
86UINT CreateClassifierPHSRule(B_UINT16 uiClsId,S_CLASSIFIER_TABLE *psaClassifiertable ,S_PHS_RULE *psPhsRule,E_CLASSIFIER_ENTRY_CONTEXT eClsContext,B_UINT8 u8AssociatedPHSI);
87
88UINT UpdateClassifierPHSRule(B_UINT16 uiClsId,S_CLASSIFIER_ENTRY *pstClassifierEntry,S_CLASSIFIER_TABLE *psaClassifiertable ,S_PHS_RULE *psPhsRule,B_UINT8 u8AssociatedPHSI);
89
90BOOLEAN DerefPhsRule(B_UINT16 uiClsId,S_CLASSIFIER_TABLE *psaClassifiertable,S_PHS_RULE *pstPhsRule);
91 46
92void DumpPhsRules(PPHS_DEVICE_EXTENSION pDeviceExtension); 47void 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
4int BcmFileDownload(PMINI_ADAPTER Adapter,/**< Logical Adapter */
5 char *path, /**< path to image file */
6 unsigned int loc /**< Download Address on the chip*/
7 );
8VOID LinkControlResponseMessage(PMINI_ADAPTER Adapter, PUCHAR pucBuffer); 4VOID LinkControlResponseMessage(PMINI_ADAPTER Adapter, PUCHAR pucBuffer);
9 5
10VOID StatisticsResponse(PMINI_ADAPTER Adapter,PVOID pvBuffer); 6VOID StatisticsResponse(PMINI_ADAPTER Adapter,PVOID pvBuffer);
11 7
12VOID IdleModeResponse(PMINI_ADAPTER Adapter,PUINT puiBuffer); 8VOID IdleModeResponse(PMINI_ADAPTER Adapter,PUINT puiBuffer);
13 9
14VOID handle_rx_control_packet(PMINI_ADAPTER Adapter, /**<Pointer to the Adapter structure*/
15 struct sk_buff *skb); /**<Pointer to the socket buffer*/
16
17int control_packet_handler (PMINI_ADAPTER Adapter); 10int control_packet_handler (PMINI_ADAPTER Adapter);
18 11
19VOID DeleteAllClassifiersForSF(PMINI_ADAPTER Adapter,UINT uiSearchRuleIndex); 12VOID DeleteAllClassifiersForSF(PMINI_ADAPTER Adapter,UINT uiSearchRuleIndex);
@@ -34,14 +27,6 @@ VOID SortClassifiers(PMINI_ADAPTER Adapter);
34 27
35VOID flush_all_queues(PMINI_ADAPTER Adapter); 28VOID flush_all_queues(PMINI_ADAPTER Adapter);
36 29
37USHORT 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
41VOID PruneQueue(PMINI_ADAPTER Adapter,/**<Pointer to the driver control structure*/
42 INT iIndex/**<Queue Index*/
43 );
44
45VOID PruneQueueAllSF(PMINI_ADAPTER Adapter); 30VOID PruneQueueAllSF(PMINI_ADAPTER Adapter);
46 31
47INT SearchSfid(PMINI_ADAPTER Adapter,UINT uiSfid); 32INT SearchSfid(PMINI_ADAPTER Adapter,UINT uiSfid);
@@ -82,7 +67,6 @@ int run_card_proc(PMINI_ADAPTER Adapter );
82 67
83int InitCardAndDownloadFirmware(PMINI_ADAPTER ps_adapter); 68int InitCardAndDownloadFirmware(PMINI_ADAPTER ps_adapter);
84 69
85int bcm_parse_target_params(PMINI_ADAPTER Adapter);
86 70
87INT ReadMacAddressFromNVM(PMINI_ADAPTER Adapter); 71INT ReadMacAddressFromNVM(PMINI_ADAPTER Adapter);
88 72
@@ -100,18 +84,13 @@ int rdmalt (PMINI_ADAPTER Adapter, UINT uiAddress, PUINT pucBuff, size_t sSize);
100 84
101int get_dsx_sf_data_to_application(PMINI_ADAPTER Adapter, UINT uiSFId, void __user * user_buffer); 85int get_dsx_sf_data_to_application(PMINI_ADAPTER Adapter, UINT uiSFId, void __user * user_buffer);
102 86
103void SendLinkDown(PMINI_ADAPTER Adapter);
104
105void SendIdleModeResponse(PMINI_ADAPTER Adapter); 87void SendIdleModeResponse(PMINI_ADAPTER Adapter);
106 88
107void HandleShutDownModeRequest(PMINI_ADAPTER Adapter,PUCHAR pucBuffer);
108 89
109int ProcessGetHostMibs(PMINI_ADAPTER Adapter, S_MIBS_HOST_STATS_MIBS *buf); 90int ProcessGetHostMibs(PMINI_ADAPTER Adapter, S_MIBS_HOST_STATS_MIBS *buf);
110void GetDroppedAppCntrlPktMibs(S_MIBS_HOST_STATS_MIBS *ioBuffer, PPER_TARANG_DATA pTarang); 91void GetDroppedAppCntrlPktMibs(S_MIBS_HOST_STATS_MIBS *ioBuffer, PPER_TARANG_DATA pTarang);
111void beceem_parse_target_struct(PMINI_ADAPTER Adapter); 92void beceem_parse_target_struct(PMINI_ADAPTER Adapter);
112 93
113void doPowerAutoCorrection(PMINI_ADAPTER psAdapter);
114
115int bcm_ioctl_fw_download(PMINI_ADAPTER Adapter, FIRMWARE_INFO *psFwInfo); 94int bcm_ioctl_fw_download(PMINI_ADAPTER Adapter, FIRMWARE_INFO *psFwInfo);
116 95
117int SearchVcid(PMINI_ADAPTER Adapter,unsigned short usVcid); 96int SearchVcid(PMINI_ADAPTER Adapter,unsigned short usVcid);
@@ -135,7 +114,6 @@ void update_per_sf_desc_cnts( PMINI_ADAPTER Adapter);
135 114
136void ClearTargetDSXBuffer(PMINI_ADAPTER Adapter,B_UINT16 TID,BOOLEAN bFreeAll); 115void ClearTargetDSXBuffer(PMINI_ADAPTER Adapter,B_UINT16 TID,BOOLEAN bFreeAll);
137 116
138void beceem_protocol_reset (PMINI_ADAPTER Adapter);
139 117
140void flush_queue(PMINI_ADAPTER Adapter, UINT iQIndex); 118void 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
153INT BeceemFlashBulkRead(
154 PMINI_ADAPTER Adapter,
155 PUINT pBuffer,
156 UINT uiOffset,
157 UINT uiNumBytes);
158
159UINT BcmGetEEPROMSize(PMINI_ADAPTER Adapter);
160 131
161INT WriteBeceemEEPROM(PMINI_ADAPTER Adapter,UINT uiEEPROMOffset, UINT uiData); 132INT WriteBeceemEEPROM(PMINI_ADAPTER Adapter,UINT uiEEPROMOffset, UINT uiData);
162 133
163UINT BcmGetFlashSize(PMINI_ADAPTER Adapter);
164
165UINT BcmGetFlashSectorSize(PMINI_ADAPTER Adapter, UINT FlashSectorSizeSig, UINT FlashSectorSize);
166
167INT BeceemFlashBulkWrite(
168 PMINI_ADAPTER Adapter,
169 PUINT pBuffer,
170 UINT uiOffset,
171 UINT uiNumBytes,
172 BOOLEAN bVerify);
173
174INT PropagateCalParamsFromFlashToMemory(PMINI_ADAPTER Adapter); 134INT PropagateCalParamsFromFlashToMemory(PMINI_ADAPTER Adapter);
175 135
176INT PropagateCalParamsFromEEPROMToMemory(PMINI_ADAPTER Adapter);
177
178 136
179INT BeceemEEPROMBulkWrite( 137INT 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
187INT ReadBeceemEEPROMBulk(PMINI_ADAPTER Adapter,UINT dwAddress, UINT *pdwData, UINT dwNumData);
188
189INT ReadBeceemEEPROM(PMINI_ADAPTER Adapter,UINT dwAddress, UINT *pdwData); 145INT ReadBeceemEEPROM(PMINI_ADAPTER Adapter,UINT dwAddress, UINT *pdwData);
190 146
191NVM_TYPE BcmGetNvmType(PMINI_ADAPTER Adapter);
192 147
193INT BeceemNVMRead( 148INT 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
206INT BcmUpdateSectorSize(PMINI_ADAPTER Adapter,UINT uiSectorSize);
207 161
208INT BcmInitNVM(PMINI_ADAPTER Adapter); 162INT BcmInitNVM(PMINI_ADAPTER Adapter);
209 163
210INT BcmGetNvmSize(PMINI_ADAPTER Adapter); 164INT BcmUpdateSectorSize(PMINI_ADAPTER Adapter,UINT uiSectorSize);
211 165BOOLEAN IsSectionExistInFlash(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL section);
212INT IsSectionExistInVendorInfo(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL section);
213
214VOID BcmValidateNvmType(PMINI_ADAPTER Adapter);
215
216VOID ConfigureEndPointTypesThroughEEPROM(PMINI_ADAPTER Adapter);
217 166
218INT BcmGetFlashCSInfo(PMINI_ADAPTER Adapter);
219INT ReadDSDHeader(PMINI_ADAPTER Adapter, PDSD_HEADER psDSDHeader, FLASH2X_SECTION_VAL dsd);
220INT BcmGetActiveDSD(PMINI_ADAPTER Adapter);
221INT ReadISOHeader(PMINI_ADAPTER Adapter, PISO_HEADER psISOHeader, FLASH2X_SECTION_VAL IsoImage);
222INT BcmGetActiveISO(PMINI_ADAPTER Adapter);
223B_UINT8 IsOffsetWritable(PMINI_ADAPTER Adapter, UINT uiOffset);
224INT BcmGetFlash2xSectionalBitMap(PMINI_ADAPTER Adapter, PFLASH2X_BITMAP psFlash2xBitMap); 167INT BcmGetFlash2xSectionalBitMap(PMINI_ADAPTER Adapter, PFLASH2X_BITMAP psFlash2xBitMap);
225 168
226INT BcmFlash2xBulkWrite( 169INT 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);
240INT BcmGetSectionValEndOffset(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlashSectionVal);
241 183
242INT BcmGetSectionValStartOffset(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlashSectionVal); 184INT BcmGetSectionValStartOffset(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlashSectionVal);
243 185
@@ -250,34 +192,13 @@ INT BcmFlash2xCorruptSig(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlash2xSect
250INT BcmFlash2xWriteSig(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlashSectionVal); 192INT BcmFlash2xWriteSig(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlashSectionVal);
251INT validateFlash2xReadWrite(PMINI_ADAPTER Adapter, PFLASH2X_READWRITE psFlash2xReadWrite); 193INT validateFlash2xReadWrite(PMINI_ADAPTER Adapter, PFLASH2X_READWRITE psFlash2xReadWrite);
252INT IsFlash2x(PMINI_ADAPTER Adapter); 194INT IsFlash2x(PMINI_ADAPTER Adapter);
253INT GetFlashBaseAddr(PMINI_ADAPTER Adapter);
254INT SaveHeaderIfPresent(PMINI_ADAPTER Adapter, PUCHAR pBuff, UINT uiSectAlignAddr);
255INT BcmCopySection(PMINI_ADAPTER Adapter, 195INT 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
261INT BcmDoChipSelect(PMINI_ADAPTER Adapter, UINT offset); 201
262INT BcmMakeFlashCSActive(PMINI_ADAPTER Adapter, UINT offset);
263INT ReadDSDSignature(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL dsd);
264INT ReadDSDPriority(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL dsd);
265FLASH2X_SECTION_VAL getHighestPriDSD(PMINI_ADAPTER Adapter);
266INT ReadISOSignature(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL iso);
267INT ReadISOPriority(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL iso);
268FLASH2X_SECTION_VAL getHighestPriISO(PMINI_ADAPTER Adapter);
269INT 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);
277BOOLEAN IsSectionExistInFlash(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL section);
278INT IsSectionWritable(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL Section);
279INT CorruptDSDSig(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlash2xSectionVal);
280INT CorruptISOSig(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlash2xSectionVal);
281BOOLEAN IsNonCDLessDevice(PMINI_ADAPTER Adapter); 202BOOLEAN IsNonCDLessDevice(PMINI_ADAPTER Adapter);
282 203
283 204
@@ -286,7 +207,6 @@ VOID OverrideServiceFlowParams(PMINI_ADAPTER Adapter,PUINT puiBuffer);
286int wrmaltWithLock (PMINI_ADAPTER Adapter, UINT uiAddress, PUINT pucBuff, size_t sSize); 207int wrmaltWithLock (PMINI_ADAPTER Adapter, UINT uiAddress, PUINT pucBuff, size_t sSize);
287int rdmaltWithLock (PMINI_ADAPTER Adapter, UINT uiAddress, PUINT pucBuff, size_t sSize); 208int rdmaltWithLock (PMINI_ADAPTER Adapter, UINT uiAddress, PUINT pucBuff, size_t sSize);
288 209
289int rdmWithLock(PMINI_ADAPTER Adapter, UINT uiAddress, PCHAR pucBuff, size_t size);
290int wrmWithLock(PMINI_ADAPTER Adapter, UINT uiAddress, PCHAR pucBuff, size_t size); 210int wrmWithLock(PMINI_ADAPTER Adapter, UINT uiAddress, PCHAR pucBuff, size_t size);
291INT buffDnldVerify(PMINI_ADAPTER Adapter, unsigned char *mappedbuffer, unsigned int u32FirmwareLength, 211INT 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
7void EThCSGetPktInfo(PMINI_ADAPTER Adapter,PVOID pvEthPayload,PS_ETHCS_PKT_INFO pstEthCsPktInfo); 7static void EThCSGetPktInfo(PMINI_ADAPTER Adapter,PVOID pvEthPayload,PS_ETHCS_PKT_INFO pstEthCsPktInfo);
8BOOLEAN EThCSClassifyPkt(PMINI_ADAPTER Adapter,struct sk_buff* skb,PS_ETHCS_PKT_INFO pstEthCsPktInfo,S_CLASSIFIER_RULE *pstClassifierRule, B_UINT8 EthCSCupport); 8static BOOLEAN EThCSClassifyPkt(PMINI_ADAPTER Adapter,struct sk_buff* skb,PS_ETHCS_PKT_INFO pstEthCsPktInfo,S_CLASSIFIER_RULE *pstClassifierRule, B_UINT8 EthCSCupport);
9
10static USHORT IpVersion4(PMINI_ADAPTER Adapter, struct iphdr *iphd,
11 S_CLASSIFIER_RULE *pstClassifierRule );
12
13static 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)
198Compares IPV4 Ip address and port number 204Compares IPV4 Ip address and port number
199@return Queue Index. 205@return Queue Index.
200*/ 206*/
201USHORT IpVersion4(PMINI_ADAPTER Adapter, /**< Pointer to the driver control structure */ 207static 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 -
318drops packets from the Head till the number of bytes is 323drops packets from the Head till the number of bytes is
319less than or equal to max queue size for the queue. 324less than or equal to max queue size for the queue.
320*/ 325*/
321VOID PruneQueue(PMINI_ADAPTER Adapter,/**<Pointer to the driver control structure*/ 326static 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
775BOOLEAN EThCSClassifyPkt(PMINI_ADAPTER Adapter,struct sk_buff* skb,PS_ETHCS_PKT_INFO pstEthCsPktInfo,S_CLASSIFIER_RULE *pstClassifierRule, B_UINT8 EthCSCupport) 778static 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
805void EThCSGetPktInfo(PMINI_ADAPTER Adapter,PVOID pvEthPayload,PS_ETHCS_PKT_INFO pstEthCsPktInfo) 811static 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
5static INT BcmDoChipSelect(PMINI_ADAPTER Adapter, UINT offset);
6static INT BcmGetActiveDSD(PMINI_ADAPTER Adapter);
7static INT BcmGetActiveISO(PMINI_ADAPTER Adapter);
8static UINT BcmGetEEPROMSize(PMINI_ADAPTER Adapter);
9static INT BcmGetFlashCSInfo(PMINI_ADAPTER Adapter);
10static UINT BcmGetFlashSectorSize(PMINI_ADAPTER Adapter, UINT FlashSectorSizeSig, UINT FlashSectorSize);
11
12static VOID BcmValidateNvmType(PMINI_ADAPTER Adapter);
13static INT BcmGetNvmSize(PMINI_ADAPTER Adapter);
14static UINT BcmGetFlashSize(PMINI_ADAPTER Adapter);
15static NVM_TYPE BcmGetNvmType(PMINI_ADAPTER Adapter);
16
17static INT BcmGetSectionValEndOffset(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlash2xSectionVal);
18
19static B_UINT8 IsOffsetWritable(PMINI_ADAPTER Adapter, UINT uiOffset);
20static INT IsSectionWritable(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL Section);
21static INT IsSectionExistInVendorInfo(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL section);
22
23static INT ReadDSDPriority(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL dsd);
24static INT ReadDSDSignature(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL dsd);
25static INT ReadISOPriority(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL iso);
26static INT ReadISOSignature(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL iso);
27
28static INT CorruptDSDSig(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlash2xSectionVal);
29static INT CorruptISOSig(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlash2xSectionVal);
30static INT SaveHeaderIfPresent(PMINI_ADAPTER Adapter, PUCHAR pBuff, UINT uiSectAlignAddr);
31static INT WriteToFlashWithoutSectorErase(PMINI_ADAPTER Adapter, PUINT pBuff,
32 FLASH2X_SECTION_VAL eFlash2xSectionVal,
33 UINT uiOffset, UINT uiNumBytes);
34static FLASH2X_SECTION_VAL getHighestPriDSD(PMINI_ADAPTER Adapter);
35static FLASH2X_SECTION_VAL getHighestPriISO(PMINI_ADAPTER Adapter);
36
37static INT BeceemFlashBulkRead(
38 PMINI_ADAPTER Adapter,
39 PUINT pBuffer,
40 UINT uiOffset,
41 UINT uiNumBytes);
42
43static INT BeceemFlashBulkWrite(
44 PMINI_ADAPTER Adapter,
45 PUINT pBuffer,
46 UINT uiOffset,
47 UINT uiNumBytes,
48 BOOLEAN bVerify);
49
50static INT GetFlashBaseAddr(PMINI_ADAPTER Adapter);
51
52static 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
412INT BeceemFlashBulkRead( 462static 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
494UINT BcmGetFlashSize(PMINI_ADAPTER Adapter) 544static 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
517UINT BcmGetEEPROMSize(PMINI_ADAPTER Adapter) 567static 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
1111INT BeceemFlashBulkWrite( 1161static 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
2277UINT BcmGetFlashSectorSize(PMINI_ADAPTER Adapter, UINT FlashSectorSizeSig, UINT FlashSectorSize) 2324static 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
2414INT BcmGetNvmSize(PMINI_ADAPTER Adapter) 2461static 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//-----------------------------------------------------------------------------
2438VOID BcmValidateNvmType(PMINI_ADAPTER Adapter) 2485static 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
2684INT IsSectionExistInVendorInfo(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL section) 2731static 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
2782INT BcmGetFlashCSInfo(PMINI_ADAPTER Adapter) 2829static 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
2929NVM_TYPE BcmGetNvmType(PMINI_ADAPTER Adapter) 2976static 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**/
3292INT 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**/
3324INT BcmGetActiveDSD(PMINI_ADAPTER Adapter) 3338static 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
3372INT 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
3406INT BcmGetActiveISO(PMINI_ADAPTER Adapter) 3387static 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
4504INT GetFlashBaseAddr(PMINI_ADAPTER Adapter) 4485static 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}
4737INT 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/**
4761BcmDoChipSelect : This will selcet the appropriate chip for writing. 4720BcmDoChipSelect : 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.
4764OutPut:- 4723OutPut:-
4765 Select the Appropriate chip and retrn status Sucess 4724 Select the Appropriate chip and retrn status Sucess
4766**/ 4725**/
4767INT BcmDoChipSelect(PMINI_ADAPTER Adapter, UINT offset) 4726static 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
5139INT CorruptDSDSig(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlash2xSectionVal) 5098static 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
5212INT CorruptISOSig(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlash2xSectionVal) 5171static INT CorruptISOSig(PMINI_ADAPTER Adapter, FLASH2X_SECTION_VAL eFlash2xSectionVal)
5213{ 5172{
5214 5173
5215 PUCHAR pBuff = NULL; 5174 PUCHAR pBuff = NULL;