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 <[email protected]>
Signed-off-by: Mithlesh Thukral <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
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 <[email protected]>
Signed-off-by: Mithlesh Thukral <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
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 <[email protected]>
Signed-off-by: Mithlesh Thukral <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
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 <[email protected]>
Signed-off-by: Mithlesh Thukral <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
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 <[email protected]>
Signed-off-by: Mithlesh Thukral <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
* 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 <[email protected]>
Cc: Christopher Harrer <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
* 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 <[email protected]>
Signed-off-by: Mithlesh Thukral <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
* This patch adds support for controling checksum feature using the ethtool
interface.
Signed-off-by: LinSysSoft Sahara Team <[email protected]>
Signed-off-by: Mithlesh Thukral <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Remove the deprecated microcode which was for Rev A.
Now on the driver will use Rev B microcode only.
Signed-off-by: Michael Miles <[email protected]>
Signed-off-by: Mithlesh Thukral <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
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 <[email protected]>
Signed-off-by: Mithlesh Thukral <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
This patch adds the new firmware files required by Rev B cards.
Signed-off-by: Michael Miles <[email protected]>
Signed-off-by: Mithlesh Thukral <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
* 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 <[email protected]>
Signed-off-by: Mithlesh Thukral <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
* This patch adds support for offloading checksum to hardware.
IP checksum have been tested for IPv4 and IPv6.
Signed-off-by: LinSysSoft Sahara Team <[email protected]>
Signed-off-by: Mithlesh Thukral <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
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 <[email protected]>
Signed-off-by: Mithlesh Thukral <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
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 <[email protected]>
Signed-off-by: Mithlesh Thukral <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
* 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 <[email protected]>
Signed-off-by: Mithlesh Thukral <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
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 <[email protected]>
Cc: LinSysSoft Sahara Team <[email protected]>
Cc: Christopher Harrer <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
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 <[email protected]>
Cc: LinSysSoft Sahara Team <[email protected]>
Cc: Christopher Harrer <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
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 <[email protected]>
Cc: LinSysSoft Sahara Team <[email protected]>
Cc: Christopher Harrer <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
* 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 <[email protected]>
Signed-off-by: Christopher Harrer <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
* Add new firmware and remove all firmware file.
* Add a switch to load either debug or free firmware.
Signed-off-by: Christopher Harrer <[email protected]>
Signed-off-by: LinSysSoft Sahara Team <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
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 <[email protected]>
Signed-off-by: Christopher Harrer <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
* 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 <[email protected]>
Signed-off-by: Christopher Harrer <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
* Cleanup in allocation of SXG_SGLs.
* Locking issues related to SglQLock.
* XmtCmd and XmtZeroLock consistency fixes.
Signed-off-by: LinSysSoft Sahara Team <[email protected]>
Signed-off-by: Christopher Harrer <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
* 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 <[email protected]>
Signed-off-by: Christopher Harrer <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
* 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 <[email protected]>
Signed-off-by: Christopher Harrer <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
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 <[email protected]>
Signed-off-by: Christopher Harrer <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
This patch cleans up the comment. Converts the comments to C89 style.
Fixes comment related TODO item.
Signed-off-by: LinSysSoft Sahara Team <[email protected]>
Signed-off-by: Christopher Harrer <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
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 <[email protected]>
Signed-off-by: Christopher Harrer <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
* 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 <[email protected]>
Signed-off-by: LinSysSoft Sahara Team <[email protected]>
Signed-off-by: Christopher Harrer <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Lots of spaces->tabs cleanups for slichw.h
It's much more sane and "Linux-like" now.
Cc: Lior Dotan <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Move the ASSERT macro into slicoss.c as that's all that is currently
being used.
Cc: Lior Dotan <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Use the dev_err() call instead, it is the standard and provides much
more information.
Cc: Lior Dotan <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
It was always enabled, so just always use it.
Cleaned up the ioctl code a bit as well to make it more readable.
Cc: Lior Dotan <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
It's not being used for anything, so delete it and all instances of it.
Cc: Lior Dotan <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
It's quite wierd, and doesn't even do anything on x86_64, so just delete
it.
Cc: Lior Dotan <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
It was always enabled, so just enable it and take out the one place it
was being used.
Cc: Lior Dotan <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
It was always disabled, so just remove it and the 2 lines of
code it was protecting.
Also remove SLIC_POWER_MANAGEMENT which was also disabled, yet
was never used.
Cc: Lior Dotan <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
It was always enabled, so just turn on the code that was being always
enabled, and remove the #define.
Cc: Lior Dotan <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Putting static function prototypes in a .h file doesn't make much sense.
Move the ones that we need into the .c file and delete the rest.
Cc: Lior Dotan <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
SLIC_GET_STATS_TIMER_ENABLED was never defined, so remove the code that
was bound by it.
Cc: Lior Dotan <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>