1
Commit Graph

48 Commits

Author SHA1 Message Date
Mithlesh Thukral
cda3b517a4 Staging: sxg: Add support to download the firmware using request_firmware()
Add support for downloading the firmware using kernel-builtin mechanism.
This will remove the need for the firmware files in the driver source code.

Signed-off-by: Christopher Harrer <charrer@alacritech.com>
Signed-off-by: Mithlesh Thukral <mithlesh@linsyssoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03 14:53:14 -07:00
Mithlesh Thukral
e5ea8da06b Staging: sxg: Add watchdog timer for managing Link states for SXG driver
Add a watchdog timer to take care of link change notifications.
Link changes would now be handled asynchronously as they involve large delays.

Signed-off-by: LinSysSoft Sahara Team <saharaproj@linsyssoft.com>
Signed-off-by: Mithlesh Thukral <mithlesh@linsyssoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03 14:53:13 -07:00
Mithlesh Thukral
524ca9c196 Staging: sxg: Fix a warning dump emitted by rtnl_watchdog during LTP tests
Fix a softlock warning message thrown up by the rtnl_timer.
This was observed during the LTP tests (interface up/down test)

Signed-off-by: LinSysSoft Sahara Team <saharaproj@linsyssoft.com>
Signed-off-by: Mithlesh Thukral <mithlesh@linsyssoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03 14:53:13 -07:00
Mithlesh Thukral
b9346e0fc5 Staging: sxg: Read the correct MAC address from the card for Rev B cards
Read the correct MAC address from EEPROM/Flash.
Without this fix, all the interfaces were using the same MAC address.
This works on Rev B firmware.

Signed-off-by: Christopher Harrer <charrer@alacritech.com>
Signed-off-by: Mithlesh Thukral <mithlesh@linsyssoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03 14:53:13 -07:00
Mithlesh Thukral
544ed364f4 Staging: sxg: Fix interface bug not working after open is called second time.
Fix the problem of the interface not working after a sequence of up-down-up
events. The problem was observed only on systems where the card was using MSI-X
interrupts. On the second time open, the driver did not request MSI-X vector
but was trying to use normal interrupts.

Signed-off-by: LinSysSoft Sahara Team <saharaproj@linsyssoft.com>
Signed-off-by: Mithlesh Thukral <mithlesh@linsyssoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03 14:53:13 -07:00
Mithlesh Thukral
aa1256eafb Staging: sxg: Fix the module in Kconfig file for Sahara SXG driver
* Update the module name in Kconfig help section.
  This is a classic case of documentation keeping out of pace with
  development
  And this was overlooked by me ages ago when we had fixed the Makefile for
  sxg_ethtool to compile.

Signed-off-by: Mithlesh Thukral <mithlesh@linsyssoft.com>
Cc: Christopher Harrer <charrer@alacritech.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03 14:53:13 -07:00
Mithlesh Thukral
9fd6966c62 Staging: sxg: Fix memory leak caused by double allocation of rings
* The receive rings were getting allocated twice. Once at probe time
  and once at open time. This leaked huge amounts of memory.
  Fix this leak and now allocation is done only once.

Signed-off-by: LinSysSoft Sahara Team <saharaproj@linsyssoft.com>
Signed-off-by: Mithlesh Thukral <mithlesh@linsyssoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03 14:53:13 -07:00
Mithlesh Thukral
bbb18b97f6 Staging: sxg: Add checksum control option through ethtool interface
* This patch adds support for controling checksum feature using the ethtool
  interface.

Signed-off-by: LinSysSoft Sahara Team <saharaproj@linsyssoft.com>
Signed-off-by: Mithlesh Thukral <mithlesh@linsyssoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03 14:53:13 -07:00
Mithlesh Thukral
7876ce07c8 Staging: sxg: Remove unused Rev A microcode files
Remove the deprecated microcode which was for Rev A.
Now on the driver will use Rev B microcode only.

Signed-off-by: Michael Miles <mmiles@alacritech.com>
Signed-off-by: Mithlesh Thukral <mithlesh@linsyssoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03 14:53:12 -07:00
Mithlesh Thukral
a536efcc76 Staging: sxg: Add Rev B support in the Sahara SXG driver
This patch makes the Sahara SXG driver use Rev B firmware instead of Rev A.
The firmware version is 1.71

Signed-off-by: Michael Miles <mmiles@alacritech.com>
Signed-off-by: Mithlesh Thukral <mithlesh@linsyssoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03 14:53:12 -07:00
Mithlesh Thukral
497ef3c5f1 Staging: sxg: Add firmware files for Rev B card
This patch adds the new firmware files required by Rev B cards.

Signed-off-by: Michael Miles <mmiles@alacritech.com>
Signed-off-by: Mithlesh Thukral <mithlesh@linsyssoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03 14:53:12 -07:00
Mithlesh Thukral
b9d1081a83 Staging: sxg: Fix memory leak in case of allocation failure
* Fix a memory leak if allocation of skb fails in sxg_fill_descriptor_block.
  In sxg_fill_descriptor_block(), if allocation of skb failed in loop,
  we just came out shouting. This rollbacks all the successful operation
  before skb allocation fails and then returns.

Signed-off-by: LinSysSoft Sahara Team <saharaproj@linsyssoft.com>
Signed-off-by: Mithlesh Thukral <mithlesh@linsyssoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03 14:53:12 -07:00
Mithlesh Thukral
9914f0536f Staging: sxg: Add Checksum Offload support for Sahara SXG driver
* This patch adds support for offloading checksum to hardware.
  IP checksum have been tested for IPv4 and IPv6.

Signed-off-by: LinSysSoft Sahara Team <saharaproj@linsyssoft.com>
Signed-off-by: Mithlesh Thukral <mithlesh@linsyssoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03 14:53:12 -07:00
Randy Dunlap
c1f46a001f Staging: sxg: fix napi interface build
Fix staging/sxg napi interface calls:

drivers/staging/sxg/sxg.c:1271: error: implicit declaration of function 'netif_rx_schedule_prep'
linux-next-20090209/drivers/staging/sxg/sxg.c:1272: error: implicit declaration of function '__netif_rx_schedule'
drivers/staging/sxg/sxg.c:1325: error: implicit declaration of function 'netif_rx_complete'

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Cc: Mithlesh Thukral <mithlesh@linsyssoft.com>
Cc: LinSysSoft Sahara Team <saharaproj@linsyssoft.com>
Cc: Christopher Harrer <charrer@alacritech.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03 14:53:12 -07:00
Mithlesh Thukral
1782199f96 Staging: sxg: Make SXG driver use MSI-X interrupts if possible
Make Sahara SXG driver use MSI-X interrupts instead of line based interrupts
if possible. In case of problems in getting MSI-X vectors or MSI-X not being
supported, driver will fall back to use previous line based interrupts.

Signed-off-by: LinSysSoft Sahara Team <saharaproj@linsyssoft.com>
Signed-off-by: Mithlesh Thukral <mithlesh@linsyssoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03 14:53:12 -07:00
Mithlesh Thukral
c5e5cf5a18 Staging: sxg: Removed unnecessary checks while taking Transmit Locks
Fix the locking issue of locks in transmit code path.
There was an unnecessary check for interrupt context in transmit code path.
Removed that.

Signed-off-by: LinSysSoft Sahara Team <saharaproj@linsyssoft.com>
Signed-off-by: Mithlesh Thukral <mithlesh@linsyssoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03 14:53:12 -07:00
Mithlesh Thukral
7c66b14b6b Staging: sxg: Add Jumbo frames support to Sahara SXG Driver
This patch adds Jumbo frame support to Sahara's SXG Driver.

Signed-off-by: LinSysSoft Sahara Team <saharaproj@linsyssoft.com>
Signed-off-by: Mithlesh Thukral <mithlesh@linsyssoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03 14:53:12 -07:00
Mithlesh Thukral
559990c688 Staging: sxg: Cleanup the SXG driver of unused space and functions
Miscellaneous cleanups.
* Removed unwanted spaces/lines.
* Removed unused functions.

Signed-off-by: LinSysSoft Sahara Team <saharaproj@linsyssoft.com>
Signed-off-by: Mithlesh Thukral <mithlesh@linsyssoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03 14:53:11 -07:00
Mithlesh Thukral
b62a294f97 Staging: sxg: Add NAPI feature to Sahara SXG Driver
* Add NAPI support for SXG driver for Alacritech's 10Gbe products.
  The driver will now work in NAPI mode by default.

Signed-off-by: LinSysSoft Sahara Team <saharaproj@linsyssoft.com>
Signed-off-by: Mithlesh Thukral <mithlesh@linsyssoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03 14:53:11 -07:00
Mithlesh Thukral
b040b07bb0 Staging: sxg: Add multicast support for Sahara SXG driver
* Add multicast support for SXG driver for Alacritech's 10Gbe products.

Signed-off-by: LinSysSoft Sahara Team <saharaproj@linsyssoft.com>
Signed-off-by: Mithlesh Thukral <mithlesh@linsyssoft.com>
Cc: Michael Miles <mmiles@alacritech.com>
Cc: Christopher Harrer <charrer@alacritech.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03 14:53:11 -07:00
Greg Kroah-Hartman
96e7088c9a Staging: sxg: fix build warnings in sxg.c
This compiles out some functions that are not being used to keep the
build clean so that we can see the "real" warnings and errors.

Cc: Mithlesh Thukral <mithlesh@linsyssoft.com>
Cc: LinSysSoft Sahara Team <saharaproj@linsyssoft.com>
Cc: Christopher Harrer <charrer@alacritech.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03 14:53:11 -07:00
Greg Kroah-Hartman
5774538441 Staging: sxg: fix build warnings in downloadB firmware files
These variables are never used, so #ifdef them away.

This should probably be fixed up properly from someone who knows why we
are even including these files in the first place, when they do not seem
to be needed at all.

Cc: Mithlesh Thukral <mithlesh@linsyssoft.com>
Cc: LinSysSoft Sahara Team <saharaproj@linsyssoft.com>
Cc: Christopher Harrer <charrer@alacritech.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03 14:53:11 -07:00
Greg Kroah-Hartman
aac6d7bed1 Staging: sxg: remove firmware files from sgx_ethtool.c
They are not needed here and only cause build warnings and bloat the
object file.

Cc: Mithlesh Thukral <mithlesh@linsyssoft.com>
Cc: LinSysSoft Sahara Team <saharaproj@linsyssoft.com>
Cc: Christopher Harrer <charrer@alacritech.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03 14:53:11 -07:00
Greg Kroah-Hartman
a7c0ea6e95 Staging: sxg: fix build warnings in sxg_ethtool
This fixes some build problems with the ethtool support recently added
for the sxg driver.

This is a very good example of why you need to check the build for
warnings and then fix them...

Cc: Mithlesh Thukral <mithlesh@linsyssoft.com>
Cc: LinSysSoft Sahara Team <saharaproj@linsyssoft.com>
Cc: Christopher Harrer <charrer@alacritech.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03 14:53:11 -07:00
Mithlesh Thukral
0d41472746 Staging: sxg: Fix to load card on low memory machines
* Fix problem of crash on 50MB machine.
* Fixed dma_addr_t bug, which resolves issues on x86_32 bit machines.

Signed-off-by: LinSysSoft Sahara Team <saharaproj@linsyssoft.com>
Signed-off-by: Christopher Harrer <charrer@alacritech.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03 14:53:11 -07:00
Mithlesh Thukral
a3915dd88d Staging: sxg: Firmware updates
* Add new firmware and remove all firmware file.
* Add a switch to load either debug or free firmware.

Signed-off-by: Christopher Harrer <charrer@alacritech.com>
Signed-off-by: LinSysSoft Sahara Team <saharaproj@linsyssoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03 14:53:11 -07:00
Mithlesh Thukral
54aed11326 Staging: sxg: Add Ethtool functionality enhancement and misc cleanups
Misc. cleanups in the driver.
* Remove debugging code and variables.
* Fix compile time warnings.
* Remove debugging comments.
* Start cleanup of sxg_stats structure. This structure will eventually become
  very small

Signed-off-by: LinSysSoft Sahara Team <saharaproj@linsyssoft.com>
Signed-off-by: Christopher Harrer <charrer@alacritech.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03 14:53:10 -07:00
Mithlesh Thukral
6a2946baa9 Staging: sxg: Locking related changes. Fix locking levels
* Fix locking related issues like taking locks at right level.
* Convert some variables to atomic, to prevent taking them while
  incrementing or decrementing them.

Signed-off-by: LinSysSoft Sahara Team <saharaproj@linsyssoft.com>
Signed-off-by: Christopher Harrer <charrer@alacritech.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03 14:53:10 -07:00
Mithlesh Thukral
d9d578bff7 Staging: sxg: SXG SGL related cleanup in data structures and code
* Cleanup in allocation of SXG_SGLs.
* Locking issues related to SglQLock.
* XmtCmd and XmtZeroLock consistency fixes.

Signed-off-by: LinSysSoft Sahara Team <saharaproj@linsyssoft.com>
Signed-off-by: Christopher Harrer <charrer@alacritech.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03 14:53:10 -07:00
Mithlesh Thukral
371d7a9e6f Staging: sxg: Ethtool framework and Receive code path changes
* Add Ethtool framework to driver
* Makefile changes to fix build redundancy.
* Fix ups to error code paths in receieve buffer allocation as well as receive code path.
* Read MAC address from FLASH/EEPROM

Signed-off-by: LinSysSoft Sahara Team <saharaproj@linsyssoft.com>
Signed-off-by: Christopher Harrer <charrer@alacritech.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03 14:53:10 -07:00
Mithlesh Thukral
d0128aa9dc Staging: sxg: Receive code and data structure cleanups
* Cleanup in recevive buffer structure
* Drop receive data buffer as its not needed with use of skbs
* Fix error code paths in receive skb failures

Signed-off-by: LinSysSoft Sahara Team <saharaproj@linsyssoft.com>
Signed-off-by: Christopher Harrer <charrer@alacritech.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03 14:53:10 -07:00
Mithlesh Thukral
cb636fe382 Staging: sxg: Indentation fixes - mostly 80 char lines
Fix up the indentation to Linux style. There was some indentation which was
not as per Linux style specially related to 80 char lines.

Signed-off-by: LinSysSoft Sahara Team <saharaproj@linsyssoft.com>
Signed-off-by: Christopher Harrer <charrer@alacritech.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03 14:53:10 -07:00
Mithlesh Thukral
ddd6f0a8c9 Staging: sxg: Commenting style fixes - Pending work
This patch cleans up the comment. Converts the comments to C89 style.
Fixes comment related TODO item.

Signed-off-by: LinSysSoft Sahara Team <saharaproj@linsyssoft.com>
Signed-off-by: Christopher Harrer <charrer@alacritech.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03 14:53:10 -07:00
Mithlesh Thukral
942798b462 Staging: sxg: Typedef removal - pending work
This patch removes all typedefs in the code. These were the typedefs
which are still present in driver in staging tree after the cleanup patches.

Signed-off-by: LinSysSoft Sahara Team <saharaproj@linsyssoft.com>
Signed-off-by: Christopher Harrer <charrer@alacritech.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03 14:53:10 -07:00
Mithlesh Thukral
1323e5f14a Staging: sxg: New SXG_SGL design and MAC Header changes
* This patch introduces the new SXG_SGL design.
	* Related changes to sxg_scatter_gather structure.
	* Introduced PSXG_X64_SGL changes which are x64 friendly
* Setting the MAC HEADER pointer properly in skb before giving to higher
  layers.

Signed-off-by: Michael Miles <mmiles@alacritech.com>
Signed-off-by: LinSysSoft Sahara Team <saharaproj@linsyssoft.com> 
Signed-off-by: Christopher Harrer <charrer@alacritech.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03 14:53:08 -07:00
J.R. Mauro
9f37952aa0 Staging: sxg: update README
Update readme in drivers/staging/sxg

Signed-off by: J.R. Mauro <jrm8005@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-01-06 13:52:05 -08:00
J.R. Mauro
62545d814f Staging: sxg: break the build in a cleaner way when !x86
Remove ugly 'Stop Comilation;' statement in sxghif, replace with an
error macro.

This should never be hit as we are only building for x86 boxes at the
moment.

Signed-off by: J.R. Mauro <jrm8005@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-01-06 13:52:05 -08:00
J.R. Mauro
73b07065a3 Staging: sxg: remove typedefs
Remove typedefs in the sxg driver

Signed-off by: J.R. Mauro <jrm8005@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-01-06 13:52:04 -08:00
Greg Kroah-Hartman
d78404cc24 Staging: sxg: fix compiler warnings.
sizeof() isn't an unsigned long :(

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-10-22 09:56:38 -07:00
Greg Kroah-Hartman
c6c25ed0bc Staging: sxg: fix up unused function warnings
These functions aren't used yet, so put them behind the
proper #define so the compiler doesn't complain about them.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-10-22 09:56:38 -07:00
J.R. Mauro
b243c4aaf8 Staging: sxg: clean up C99 comments
Change  C99 comments to C89 comments

Some nested comments seem to have been missed and some blocks are redundantly
commented, but at least most of the //'s are gone

Signed-off by: J.R. Mauro <jrm8005@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-10-22 09:56:37 -07:00
J.R. Mauro
bc36e6559c Staging: Clean up sxg driver
Lindent the rest of the files in drivers/staging/sxg

Signed off by: J.R. Mauro <jrm8005@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-10-22 09:56:36 -07:00
Harvey Harrison
e88bd231e4 Staging: sxg: replace __FUNCTION__ with __func__
__FUNCTION__ is gcc-specific, use __func__

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-10-22 09:56:32 -07:00
Stephen Rothwell
83454a2857 linux-next: build failure
sxghif.h has code that explicitly will not build fo other architecures.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-10-22 09:56:28 -07:00
Stephen Rothwell
a1cf64944f staging: sxg depends on X86
sxghif.h has code that explicitly will not build fo other architecures.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-10-20 09:08:23 -07:00
J.R. Mauro
5c7514e061 Staging: Lindent sxg.c
Lindent drivers/staging/sxg/sxg.c

Signed-off by: J.R. Mauro <jrm8005@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-10-10 15:31:14 -07:00
J.R. Mauro
d63d692a44 Staging: Fix gcc warnings in sxg
Fix for compiler warning about format specifier in prints in
drivers/staging/sxg/sxg.c
Prints were using %x to print unsigned long data.


Signed-off-by: J.R. Mauro <jrm8005@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-10-10 15:31:11 -07:00
Greg Kroah-Hartman
5db6b777f6 Staging: add sxg network driver
This is the first rough cut at a driver for the Alacritech SLIC
Technology Non-Accelerated 10Gbe network driver

TODO:
  - lindent the code
  - remove typedefs
  - remove wrappers
  - checkpatch.pl cleanups
  - new functionality that the card needs

Cc: Christopher Harrer <charrer@alacritech.com>
Cc: Michael Miles <mmiles@alacritech.com>
Cc: Christopher Harrer <charrer@alacritech.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-10-10 15:31:07 -07:00