On 21/07/2020 17:45, Jakub Kicinski wrote:
> On Tue, 21 Jul 2020 15:48:00 +0100 Edward Cree wrote:
>> Argh; does anyone have any bright ideas?
> No bright ideas. Why do you want the driver to be modular in the first
> place?
Well, 'sfc' already is, and I'm not s
On 16/07/2020 18:39, kernel test robot wrote:
> [auto build test ERROR on net-next/master]
...
> config: mips-allyesconfig (attached as .config)
...
>mips-linux-ld: drivers/net/ethernet/sfc/ef100_nic.o: in function
> `efx_mcdi_sensor_event':
>>> ef100_nic.c:(.text.efx_mcdi_sensor_event+0x0): m
On 20/07/2020 18:21, Jakub Kicinski wrote:
> On Mon, 20 Jul 2020 12:45:54 +0100 Edward Cree wrote:
>> I think I'd prefer to keep the switch() that explicitlychecks
>> for UDP_TUNNEL_TYPE_GENEVE; even though the infrastructure
>> makes sure it won't ever not be,
Subject line prefix should probably be sfc:, that's what we
usually use for this driver.
On 18/07/2020 00:53, Jakub Kicinski wrote:
> Check MC_CMD_DRV_ATTACH_EXT_OUT_FLAG_TRUSTED, before setting
> the info, which will hopefully protect us from -EPERM errors
Sorry, I forgot to pass on the answer I
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef100_netdev.c | 2 ++
drivers/net/ethernet/sfc/ef100_nic.c| 21 +
2 files changed, 23 insertions(+)
diff --git a/drivers/net/ethernet/sfc/ef100_netdev.c
b/drivers/net/ethernet/sfc/ef100_netdev.c
index
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef100_nic.c | 40 +++-
drivers/net/ethernet/sfc/ef100_nic.h | 1 +
2 files changed, 40 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/sfc/ef100_nic.c
b/drivers/net/ethernet/sfc/ef100_nic.c
index
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef100_nic.c | 42 +++-
1 file changed, 41 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/sfc/ef100_nic.c
b/drivers/net/ethernet/sfc/ef100_nic.c
index f449960e5b02..aced682a7b08 100644
--- a/drivers
In ef100_reset(), make the MCDI call to do the reset.
Also, do a reset at start-of-day during probe, to put the function in
a clean state.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef100_nic.c | 9 +
1 file changed, 9 insertions(+)
diff --git a/drivers/net/ethernet/sfc
MC_CMD_GET_CAPABILITIES now has a third word of flags; extend the
efx_has_cap() machinery to cover it.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef100_nic.c | 9 -
drivers/net/ethernet/sfc/ef100_nic.h | 1 +
drivers/net/ethernet/sfc/mcdi.h | 4 ++--
3 files changed
Channels are probed, but actual event handling is still stubbed out.
Stub implementation of check_caps is needed because ptp.c will call into
it from efx_ptp_use_mac_tx_timestamps() to decide if it wants TXQs.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef100_netdev.c | 143
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef100_nic.c | 58 +++-
drivers/net/ethernet/sfc/ef100_nic.h | 2 +
2 files changed, 58 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/sfc/ef100_nic.c
b/drivers/net/ethernet/sfc/ef100_nic.c
index
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef100_nic.c | 106 +++
drivers/net/ethernet/sfc/ef100_nic.h | 1 +
2 files changed, 107 insertions(+)
diff --git a/drivers/net/ethernet/sfc/ef100_nic.c
b/drivers/net/ethernet/sfc/ef100_nic.c
index 27e00b003039
Currently RX and TX-completion events are unhandled, as neither the RX
nor the TX path has been implemented yet.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef100_nic.c | 57 +++-
1 file changed, 56 insertions(+), 1 deletion(-)
diff --git a/drivers/net
We can't actually do the MCDI to probe it fully until we have working
MCDI, which comes later, but we need efx->phy_data to be allocated so
that when we get MCDI events the link-state change handler doesn't
NULL-dereference.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sf
We handle everything ourselves in ef100_reset(), rather than relying on
the generic down/up routines.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/efx_common.c | 11 ---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/sfc/efx_common.c
b
No TX or RX path, no MCDI, not even an ifup/down handler.
Besides stubs, the bulk of the patch deals with reading the Xilinx
extended PCIe capability, which tells us where to find our BAR.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/Kconfig | 10 +
drivers/net/ethernet/sfc
We don't actually do the efx_mcdi_reset() because we don't have MCDI yet.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef100_nic.c | 50
1 file changed, 50 insertions(+)
diff --git a/drivers/net/ethernet/sfc/ef100_nic.c
b/drivers/net/et
EF100 adds a few new valid addresses for efx_writed_page(), as well as
a Function Control Window in the BAR whose location is variable.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/io.h | 16 +---
drivers/net/ethernet/sfc/net_driver.h | 2 ++
2 files changed, 15
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef100_regs.h | 693 ++
1 file changed, 693 insertions(+)
create mode 100644 drivers/net/ethernet/sfc/ef100_regs.h
diff --git a/drivers/net/ethernet/sfc/ef100_regs.h
b/drivers/net/ethernet/sfc/ef100_regs.h
new file
.)
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ethtool.c| 1 -
drivers/net/ethernet/sfc/ethtool_common.c | 8
drivers/net/ethernet/sfc/ethtool_common.h | 1 -
3 files changed, 10 deletions(-)
diff --git a/drivers/net/ethernet/sfc/ethtool.c
b/drivers/net/ethernet/sfc
s driver.
* fix undeclared symbols in patch #4 by shuffling around prototypes
and #includes and adding 'static' where appropriate.
* fix uninitialised variable 'rc2' in patch #7.
Edward Cree (16):
sfc: remove efx_ethtool_nway_reset()
sfc_ef100: add EF100 register definitio
Once again, the opinions below are my own and definitely do not
represent anything my employer would be seen dead in the same
room as.
On 13/07/2020 23:41, Stephen Hemminger wrote:
> As far as userspace, maybe keep the old API's but provide deprecation nags.
Why would you need to deprecate the o
On 14/07/2020 00:02, Jakub Kicinski wrote:
> On Mon, 13 Jul 2020 12:32:16 +0100 Edward Cree wrote:
>> +MODULE_VERSION(EFX_DRIVER_VERSION);
> We got rid of driver versions upstream, no?
The sfc driver still has a MODULE_VERSION(), I just made this do
the same. Should I instead remove
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef100_netdev.c | 2 ++
drivers/net/ethernet/sfc/ef100_nic.c| 21 +
2 files changed, 23 insertions(+)
diff --git a/drivers/net/ethernet/sfc/ef100_netdev.c
b/drivers/net/ethernet/sfc/ef100_netdev.c
index
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef100_nic.c | 40 +++-
drivers/net/ethernet/sfc/ef100_nic.h | 1 +
2 files changed, 40 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/sfc/ef100_nic.c
b/drivers/net/ethernet/sfc/ef100_nic.c
index
In ef100_reset(), make the MCDI call to do the reset.
Also, do a reset at start-of-day during probe, to put the function in
a clean state.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef100_nic.c | 9 +
1 file changed, 9 insertions(+)
diff --git a/drivers/net/ethernet/sfc
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef100_nic.c | 42 +++-
1 file changed, 41 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/sfc/ef100_nic.c
b/drivers/net/ethernet/sfc/ef100_nic.c
index f449960e5b02..aced682a7b08 100644
--- a/drivers
MC_CMD_GET_CAPABILITIES now has a third word of flags; extend the
efx_has_cap() machinery to cover it.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef100_nic.c | 9 -
drivers/net/ethernet/sfc/ef100_nic.h | 1 +
drivers/net/ethernet/sfc/mcdi.h | 4 ++--
3 files changed
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef100_nic.c | 58 +++-
drivers/net/ethernet/sfc/ef100_nic.h | 2 +
2 files changed, 58 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/sfc/ef100_nic.c
b/drivers/net/ethernet/sfc/ef100_nic.c
index
Currently RX and TX-completion events are unhandled, as neither the RX
nor the TX path has been implemented yet.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef100_nic.c | 57 +++-
1 file changed, 56 insertions(+), 1 deletion(-)
diff --git a/drivers/net
Channels are probed, but actual event handling is still stubbed out.
Stub implementation of check_caps is needed because ptp.c will call into
it from efx_ptp_use_mac_tx_timestamps() to decide if it wants TXQs.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef100_netdev.c | 143
We handle everything ourselves in ef100_reset(), rather than relying on
the generic down/up routines.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/efx_common.c | 11 ---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/sfc/efx_common.c
b
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef100_nic.c | 106 +++
drivers/net/ethernet/sfc/ef100_nic.h | 1 +
2 files changed, 107 insertions(+)
diff --git a/drivers/net/ethernet/sfc/ef100_nic.c
b/drivers/net/ethernet/sfc/ef100_nic.c
index 27e00b003039
We can't actually do the MCDI to probe it fully until we have working
MCDI, which comes later, but we need efx->phy_data to be allocated so
that when we get MCDI events the link-state change handler doesn't
NULL-dereference.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sf
No TX or RX path, no MCDI, not even an ifup/down handler.
Besides stubs, the bulk of the patch deals with reading the Xilinx
extended PCIe capability, which tells us where to find our BAR.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/Kconfig | 10 +
drivers/net/ethernet/sfc
We don't actually do the efx_mcdi_reset() because we don't have MCDI yet.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef100_nic.c | 50
1 file changed, 50 insertions(+)
diff --git a/drivers/net/ethernet/sfc/ef100_nic.c
b/drivers/net/et
EF100 adds a few new valid addresses for efx_writed_page(), as well as
a Function Control Window in the BAR whose location is variable.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/io.h | 16 +---
drivers/net/ethernet/sfc/net_driver.h | 2 ++
2 files changed, 15
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef100_regs.h | 693 ++
1 file changed, 693 insertions(+)
create mode 100644 drivers/net/ethernet/sfc/ef100_regs.h
diff --git a/drivers/net/ethernet/sfc/ef100_regs.h
b/drivers/net/ethernet/sfc/ef100_regs.h
new file
.)
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ethtool.c| 1 -
drivers/net/ethernet/sfc/ethtool_common.c | 8
drivers/net/ethernet/sfc/ethtool_common.h | 1 -
3 files changed, 10 deletions(-)
diff --git a/drivers/net/ethernet/sfc/ethtool.c
b/drivers/net/ethernet/sfc
ut Falcon, so new patch #1
removes it from this driver.
* fix undeclared symbols in patch #4 by shuffling around prototypes
and #includes and adding 'static' where appropriate.
* fix uninitialised variable 'rc2' in patch #7.
Edward Cree (16):
sfc: remove efx_ethtoo
On 03/07/2020 18:46, kernel test robot wrote:
>In file included from include/linux/skbuff.h:31,
> from include/linux/if_ether.h:19,
> from include/uapi/linux/ethtool.h:19,
> from include/linux/ethtool.h:18,
> from i
On 04/07/2020 05:16, kernel test robot wrote:
>>> drivers/net/ethernet/sfc/ptp.c:1442:1-4: alloc with no test, possible model
>>> on line 1457
This one's a false positive, see below:
> vim +1442 drivers/net/ethernet/sfc/ptp.c
>
> 5d0dab01175bff0 Ben Hutchings 2013-10-16 1434
> ac36baf817c39fc
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef100_netdev.c | 2 ++
drivers/net/ethernet/sfc/ef100_nic.c| 21 +
2 files changed, 23 insertions(+)
diff --git a/drivers/net/ethernet/sfc/ef100_netdev.c
b/drivers/net/ethernet/sfc/ef100_netdev.c
index
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef100_nic.c | 40 +++-
drivers/net/ethernet/sfc/ef100_nic.h | 1 +
2 files changed, 40 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/sfc/ef100_nic.c
b/drivers/net/ethernet/sfc/ef100_nic.c
index
In ef100_reset(), make the MCDI call to do the reset.
Also, do a reset at start-of-day during probe, to put the function in
a clean state.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef100_nic.c | 9 +
1 file changed, 9 insertions(+)
diff --git a/drivers/net/ethernet/sfc
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef100_nic.c | 42 +++-
1 file changed, 41 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/sfc/ef100_nic.c
b/drivers/net/ethernet/sfc/ef100_nic.c
index f449960e5b02..aced682a7b08 100644
--- a/drivers
MC_CMD_GET_CAPABILITIES now has a third word of flags; extend the
efx_has_cap() machinery to cover it.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef100_nic.c | 9 -
drivers/net/ethernet/sfc/ef100_nic.h | 1 +
drivers/net/ethernet/sfc/mcdi.h | 4 ++--
3 files changed
Currently RX and TX-completion events are unhandled, as neither the RX
nor the TX path has been implemented yet.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef100_nic.c | 57 +++-
1 file changed, 56 insertions(+), 1 deletion(-)
diff --git a/drivers/net
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef100_nic.c | 58 +++-
drivers/net/ethernet/sfc/ef100_nic.h | 2 +
2 files changed, 58 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/sfc/ef100_nic.c
b/drivers/net/ethernet/sfc/ef100_nic.c
index
Channels are probed, but actual event handling is still stubbed out.
Stub implementation of check_caps is needed because ptp.c will call into
it from efx_ptp_use_mac_tx_timestamps() to decide if it wants TXQs.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef100_netdev.c | 143
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef100_nic.c | 106 +++
drivers/net/ethernet/sfc/ef100_nic.h | 1 +
2 files changed, 107 insertions(+)
diff --git a/drivers/net/ethernet/sfc/ef100_nic.c
b/drivers/net/ethernet/sfc/ef100_nic.c
index 27e00b003039
We handle everything ourselves in ef100_reset(), rather than relying on
the generic down/up routines.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/efx_common.c | 9 +++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/sfc/efx_common.c
b
We can't actually do the MCDI to probe it fully until we have working
MCDI, which comes later, but we need efx->phy_data to be allocated so
that when we get MCDI events the link-state change handler doesn't
NULL-dereference.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sf
We don't actually do the efx_mcdi_reset() because we don't have MCDI yet.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef100_nic.c | 50
1 file changed, 50 insertions(+)
diff --git a/drivers/net/ethernet/sfc/ef100_nic.c
b/drivers/net/et
No TX or RX path, no MCDI, not even an ifup/down handler.
Besides stubs, the bulk of the patch deals with reading the Xilinx
extended PCIe capability, which tells us where to find our BAR.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/Kconfig | 10 +
drivers/net/ethernet/sfc
EF100 adds a few new valid addresses for efx_writed_page(), as well as
a Function Control Window in the BAR whose location is variable.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/io.h | 16 +---
drivers/net/ethernet/sfc/net_driver.h | 2 ++
2 files changed, 15
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef100_regs.h | 693 ++
1 file changed, 693 insertions(+)
create mode 100644 drivers/net/ethernet/sfc/ef100_regs.h
diff --git a/drivers/net/ethernet/sfc/ef100_regs.h
b/drivers/net/ethernet/sfc/ef100_regs.h
new file
ew other things like ethtool).
(Would folks prefer the whole thing submitted in one series? It's 27
patches in total.)
Edward Cree (15):
sfc_ef100: add EF100 register definitions
sfc_ef100: register accesses on EF100
sfc_ef100: skeleton EF100 PF driver
sfc_ef100: reset-handling stub
We have yet another new scheme for NVRAM, and a corresponding new MCDI.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/mcdi.c | 62 +
drivers/net/ethernet/sfc/mcdi.h | 1 +
2 files changed, 63 insertions(+)
diff --git a/drivers/net/ethernet/sfc/mcdi.c
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/mcdi_filters.c | 21 +
drivers/net/ethernet/sfc/mcdi_filters.h | 2 ++
2 files changed, 23 insertions(+)
diff --git a/drivers/net/ethernet/sfc/mcdi_filters.c
b/drivers/net/ethernet/sfc/mcdi_filters.c
index
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/nic_common.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/ethernet/sfc/nic_common.h
b/drivers/net/ethernet/sfc/nic_common.h
index 813f288ab3fe..e04b6817cde3 100644
--- a/drivers/net/ethernet/sfc/nic_common.h
+++ b
The QDMA subsystem on EF100 needs this information.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/mcdi_functions.c | 15 ---
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/drivers/net/ethernet/sfc/mcdi_functions.c
b/drivers/net/ethernet/sfc/mcdi_functions.c
Since ethtool_common.o will be built into both sfc and sfc_ef100 drivers,
it can't use KBUILD_MODNAME directly. Instead, make it reference a
string provided by the individual driver code.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ethtool.c| 2 ++
drivers/net/eth
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef10.c | 42 ++-
drivers/net/ethernet/sfc/mcdi_functions.c | 38
drivers/net/ethernet/sfc/mcdi_functions.h | 1 +
3 files changed, 41 insertions(+), 40 deletions(-)
diff --git a/drivers
Previously this was only happening in ef10-specific code.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef10.c | 2 --
drivers/net/ethernet/sfc/efx_common.c | 1 +
2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/sfc/ef10.c b/drivers/net
y things, rather than changing tx_queues_per_channel after
setting up TXQs, make Siena always probe its HIGHPRI queues at start
of day, rather than deferring it until tc mqprio enables them.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef10.c | 2 +-
drivers/net/ethe
EF100 doesn't need to split up large DMAs.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/tx_common.c | 6 +-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/sfc/tx_common.c
b/drivers/net/ethernet/sfc/tx_common.c
index 2a058b76d1f0..11b64c6
_down() merely removes all our filters and VLANs, it doesn't free
efx->filter_state itself.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/mcdi_filters.c | 37 -
drivers/net/ethernet/sfc/mcdi_filters.h | 1 +
2 files changed, 25 insertions(+), 13 d
Instead of exposing this old module parameter on the new driver (thus
having to keep it forever after for compatibility), let's confine it
to the old one; if we find later that we need the feature, we ought
to support it properly, with ethtool set-channels.
Signed-off-by: Edward
has in one place.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef10.c | 13 +-
drivers/net/ethernet/sfc/efx_channels.c | 4 +--
drivers/net/ethernet/sfc/efx_common.c | 1 +
drivers/net/ethernet/sfc/net_driver.h | 34 ++---
drivers/net/ethernet
While we're at it, also check them for failure.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/efx.c | 3 ---
drivers/net/ethernet/sfc/efx_channels.c | 7 ++-
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/sfc/efx.c b/driver
overrode it).
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef10.c | 2 --
drivers/net/ethernet/sfc/efx_channels.c | 6 --
drivers/net/ethernet/sfc/net_driver.h | 3 ---
drivers/net/ethernet/sfc/siena.c| 1 -
4 files changed, 12 deletions(-)
diff --git a/d
EF100 only supports MSI-X, so there's no need for the new driver to
expose this old module parameter.
Since it's now visible to the linker, we have to rename it internally
to efx_interrupt_mode to avoid symbol collisions in non-modular
builds.
Signed-off-by: Edward Cree
---
d
ther
than efx_mcdi_set_mac().
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef10.c | 15 ++-
drivers/net/ethernet/sfc/efx.c| 4
drivers/net/ethernet/sfc/efx_common.c | 12 ++--
drivers/net/ethernet/sfc/efx_common.h | 2 +-
drivers/net/et
.net/T/
Edward Cree (16):
sfc: support setting MTU even if not privileged to configure MAC fully
sfc: remove max_interrupt_mode
sfc: move modparam 'interrupt_mode' out of common channel code
sfc: move modparam 'rss_cpus' out of common channel code
sfc: make tx_queues
On 02/07/2020 00:16, Jakub Kicinski wrote:
> I see. I'm actually asking because of efx_ef10_set_udp_tnl_ports().
> I'd like to rewrite the UDP tunnel code so that
> NETIF_F_RX_UDP_TUNNEL_PORT only appears on the interface if it
> _really_ can do the offload. ef10 is the only driver I've seen wher
On 01/07/2020 20:44, David Miller wrote:
> Or is this code used as a library by two "drivers"?
Yes, it is; there will be a second module 'sfc_ef100.ko'which this
file will be linked into and which will set efx->type to one with
an EF100 revision.
Although tbh I have been wondering about another
On 01/07/2020 20:05, Jakub Kicinski wrote:
> On Wed, 1 Jul 2020 15:53:15 +0100 Edward Cree wrote:
>> +netif_set_real_num_tx_queues(efx->net_dev, efx->n_tx_channels);
>> +netif_set_real_num_rx_queues(efx->net_dev, efx->n_rx_channels);
> For a third time i
On 01/07/2020 20:03, Jakub Kicinski wrote:
> On Wed, 1 Jul 2020 15:51:25 +0100 Edward Cree wrote:
>> Unprivileged functions (such as VFs) may set their MTU by use of the
>> 'control' field of MC_CMD_SET_MAC_EXT, as used in efx_mcdi_set_mtu().
>> If calling
On 01/07/2020 19:43, Jakub Kicinski wrote:
> There's a number of drivers which try to match the UDP ports. That
> seems fragile to me. Is it actually required for HW to operate
> correctly?
For EF10 hardware, yes, because the hardware parses the packet headers
to find for itself the offsets at wh
We have yet another new scheme for NVRAM, and a corresponding new MCDI.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/mcdi.c | 62 +
drivers/net/ethernet/sfc/mcdi.h | 1 +
2 files changed, 63 insertions(+)
diff --git a/drivers/net/ethernet/sfc/mcdi.c
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/mcdi_filters.c | 21 +
drivers/net/ethernet/sfc/mcdi_filters.h | 2 ++
2 files changed, 23 insertions(+)
diff --git a/drivers/net/ethernet/sfc/mcdi_filters.c
b/drivers/net/ethernet/sfc/mcdi_filters.c
index
Previously this was only happening in ef10-specific code.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef10.c | 2 --
drivers/net/ethernet/sfc/efx_common.c | 1 +
2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/sfc/ef10.c b/drivers/net
The QDMA subsystem on EF100 needs this information.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/mcdi_functions.c | 15 ---
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/drivers/net/ethernet/sfc/mcdi_functions.c
b/drivers/net/ethernet/sfc/mcdi_functions.c
Also, condition on revision in ethtool drvinfo: if rev is EF100, then
we must be the sfc_ef100 driver. (We can't rely on KBUILD_MODNAME
any more, because ethtool_common.o gets linked into both drivers.)
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ethtool_common.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef10.c | 42 ++-
drivers/net/ethernet/sfc/mcdi_functions.c | 38
drivers/net/ethernet/sfc/mcdi_functions.h | 1 +
3 files changed, 41 insertions(+), 40 deletions(-)
diff --git a/drivers
_down() merely removes all our filters and VLANs, it doesn't free
efx->filter_state itself.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/mcdi_filters.c | 37 -
drivers/net/ethernet/sfc/mcdi_filters.h | 1 +
2 files changed, 25 insertions(+), 13 d
EF100 doesn't need to split up large DMAs.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/tx_common.c | 6 +-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/sfc/tx_common.c
b/drivers/net/ethernet/sfc/tx_common.c
index 2a058b76d1f0..11b64c6
y things, rather than changing tx_queues_per_channel after
setting up TXQs, make Siena always probe its HIGHPRI queues at start
of day, rather than deferring it until tc mqprio enables them.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef10.c | 2 +-
drivers/net/ethe
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/efx.c | 3 ---
drivers/net/ethernet/sfc/efx_channels.c | 4
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/sfc/efx.c b/drivers/net/ethernet/sfc/efx.c
index f4173f855438..9f659cc34252 100644
has in one place.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef10.c | 13 +-
drivers/net/ethernet/sfc/efx_channels.c | 4 +--
drivers/net/ethernet/sfc/efx_common.c | 1 +
drivers/net/ethernet/sfc/net_driver.h | 34 ++---
drivers/net/ethernet
Instead of exposing this old module parameter on the new driver (thus
having to keep it forever after for compatibility), let's confine it
to the old one; if we find later that we need the feature, we ought
to support it properly, with ethtool set-channels.
Signed-off-by: Edward
overrode it).
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef10.c | 2 --
drivers/net/ethernet/sfc/efx_channels.c | 6 --
drivers/net/ethernet/sfc/net_driver.h | 3 ---
drivers/net/ethernet/sfc/siena.c| 1 -
4 files changed, 12 deletions(-)
diff --git a/d
EF100 only supports MSI-X, so there's no need for the new driver to
expose this old module parameter.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/efx.c | 4
drivers/net/ethernet/sfc/efx_channels.c | 5 +
drivers/net/ethernet/sfc/efx_channels.h | 2 ++
3
ac() fails EPERM, then fall back to efx_mcdi_set_mtu().
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef10.c | 16
drivers/net/ethernet/sfc/efx.c| 4
drivers/net/ethernet/sfc/efx_common.c | 12 ++--
drivers/net/ethernet/sfc/ef
e of the existing sfc driver) been.
[1]:
https://lore.kernel.org/netdev/20200629.173812.1532344417590172093.da...@davemloft.net/T/
[2]:
https://lore.kernel.org/netdev/20200630.130923.402514193016248355.da...@davemloft.net/T/
Edward Cree (15):
sfc: support setting MTU even if not privilege
ethod would be called from our ndo_features_check().
I'll try to get to upstreaming that support after ef100 is in, hopefully
within this cycle, but if you don't want this dead code lying around in
the meantime then have an
Acked-by: Edward Cree
and I can revert it when I add the code t
EF100 won't have an efx->type->tx_remove method, because there's
nothing for it to do. So make the call conditional.
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/nic_common.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/ef10.c | 2 --
drivers/net/ethernet/sfc/efx_common.c | 1 +
2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/sfc/ef10.c b/drivers/net/ethernet/sfc/ef10.c
index a3bf9d8023d7..5faf2f0e4d62 100644
--- a
Signed-off-by: Edward Cree
---
drivers/net/ethernet/sfc/efx.c| 1 -
drivers/net/ethernet/sfc/efx_common.c | 3 +++
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/sfc/efx.c b/drivers/net/ethernet/sfc/efx.c
index 41a2c972323e..028d826ab147 100644
--- a
201 - 300 of 1233 matches
Mail list logo