New cxgb4vf network driver for Chelsio T4 Virtual Function NIC
Subsystems (2)
cover New cxgb4vf network driver for Chelsio T4 Virtual Function NIC
This patch series introduces a new network driver for the Chelsio T4 PCI-E SR-IOV Virtual Function NIC. The patches are against net-next as of commit 39c9cf07077146b14ab077a0e27c869c6f0e6199.
This driver "depends" on the cxgb4 NIC driver only in-so-far as the cxgb4 driver needs to "provision" chip resources for each of the Virtual Functions and the cxgb4 driver must enable the PCI-E SR-IOV functionality. After that the new "cxgb4vf" driver operates completely independently. (It will often be the case that the cxgb4vf driver will be operating withing a Virtual Machine via "PCI Pass Through."
This is my first submission to Linux so I apologize in advance for any mistakes. I looked at many submissions to see how to do this but I anticipate that I've almost certainly missed something critical. Please correct me on anything I've done wrong and I will happily fix them. Thanks in advance for you patience and understanding.
There is one part of this submission where I needed to make a big guess regarding driver policies and procedures so I'll draw your attention to that. There are several header files which both the cxgb4 and cxgb4vf drivers need to operate (T4 hardware register definitions, message structures, etc.) This patch series leaves those files in place within the cxgb4 driver directory (with a few tiny modifications to add new definitions) and the cxgb4vf driver includes them via "../cxgb4/xxx.h" I found a couple of similar usages but I couldn't determine what the official policy was.
Again, thank you for your time and consideration.
Casey Leedom
drivers/net/Kconfig | 23 + drivers/net/Makefile | 1 + drivers/net/cxgb4/cxgb4_main.c | 106 ++ drivers/net/cxgb4/t4_hw.c | 2 +- drivers/net/cxgb4/t4_hw.h | 39 + drivers/net/cxgb4/t4_regs.h | 3 + drivers/net/cxgb4/t4fw_api.h | 27 +- drivers/net/cxgb4vf/Makefile | 7 + drivers/net/cxgb4vf/adapter.h | 540 +++++++ drivers/net/cxgb4vf/cxgb4vf_main.c | 2906 ++++++++++++++++++++++++++++++++++++ drivers/net/cxgb4vf/sge.c | 2460 ++++++++++++++++++++++++++++++ drivers/net/cxgb4vf/t4vf_common.h | 273 ++++ drivers/net/cxgb4vf/t4vf_defs.h | 121 ++ drivers/net/cxgb4vf/t4vf_hw.c | 1333 +++++++++++++++++ 14 files changed, 7834 insertions(+), 7 deletions(-)
Applied, but this submission was a mess.
First, your email client broke up long lines in the patch with newlines, thus corrupting the patch.
Secondly, patch #3 ("cxgb4vf: Add new macros and definitions for hardware constants") did not apply cleanly to net-next-2.6, there were line differences.
I fixed these up, but next time I will just toss the patch set back at you to fix up.
| From: David Miller <[email protected]> | Date: Tuesday, June 29, 2010 12:01 am | | Applied, but this submission was a mess. | | First, your email client broke up long lines in the patch | with newlines, thus corrupting the patch. | | Secondly, patch #3 ("cxgb4vf: Add new macros and definitions for | hardware constants") did not apply cleanly to net-next-2.6, | there were line differences. | | I fixed these up, but next time I will just toss the patch | set back at you to fix up.
Thank you and I'm sorry for the mess. (sigh) I'm using the Kubuntu supplied
email client and I mistakenly assumed that its "Insert File" action would do the right job. I'll just use Thunderbird from now on.
Odd that patch #3 didn't apply cleanly. I'll do a "pull" and verify correct
operation.
Casey
| From: Casey Leedom <[email protected]> | Date: Tuesday, June 29, 2010 09:04 am | | Thank you and I'm sorry for the mess. (sigh) I'm using the Kubuntu | supplied email client and I mistakenly assumed that its "Insert File" | action would do the right job. I'll just use Thunderbird from now on.
Hopefully my latest effort at getting patches submitted will be better.
There's evidently a way to get git to mail them directly with which I'm fighting, so in the mean time I disabled word wrap on my current mailer. I will get someone here to help me out with the git (and stgit) patch support.
| Odd that patch #3 didn't apply cleanly. I'll do a "pull" and verify
| correct operation.
I did a complete new pull, compared the submitted and the pulled source and
found no differences. I then did a thorough test run and discovered that I'd accidentally translated one of our internal symbolic names into the wrong kernel.org symbolic names. By "luck" it worked for some packet sizes so I didn't catch it. (sigh) I've submitted patches for that bug and the deletion of an obsolete comment which I forgot to get rid of earlier.
I hope these new patches apply cleanly. If not, just drop them and I'll got
to remedial git school here and get someone to help me do it right.
Casey