* [PATCH net-next 0/5] ionic bits and bytes
@ 2020-03-16 2:14 Shannon Nelson
2020-03-16 2:14 ` [PATCH net-next 1/5] ionic: don't register mgmt device as devlink port Shannon Nelson
` (4 more replies)
0 siblings, 5 replies; 9+ messages in thread
From: Shannon Nelson @ 2020-03-16 2:14 UTC (permalink / raw)
To: netdev, davem; +Cc: Shannon Nelson
These are a few little updates to the ionic driver while we
are in between other feature work.
Shannon Nelson (5):
ionic: stop devlink warn on mgmt device
ionic: deinit rss only if selected
ionic: remove adminq napi instance
ionic: return error for unknown xcvr type
ionic: add decode for IONIC_RC_ENOSUPP
.../net/ethernet/pensando/ionic/ionic_devlink.c | 9 +++++++--
.../net/ethernet/pensando/ionic/ionic_ethtool.c | 14 +++++++++++++-
drivers/net/ethernet/pensando/ionic/ionic_lif.c | 4 +++-
drivers/net/ethernet/pensando/ionic/ionic_main.c | 3 +++
4 files changed, 26 insertions(+), 4 deletions(-)
--
2.17.1
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH net-next 1/5] ionic: don't register mgmt device as devlink port
2020-03-16 2:14 [PATCH net-next 0/5] ionic bits and bytes Shannon Nelson
@ 2020-03-16 2:14 ` Shannon Nelson
2020-03-16 2:14 ` [PATCH net-next 2/5] ionic: deinit rss only if selected Shannon Nelson
` (3 subsequent siblings)
4 siblings, 0 replies; 9+ messages in thread
From: Shannon Nelson @ 2020-03-16 2:14 UTC (permalink / raw)
To: netdev, davem; +Cc: Shannon Nelson
If we don't set a port type, the devlink code will eventually
print a WARN in the kernel log. Because the mgmt device is
not really a useful port, don't register it as a devlink port.
Signed-off-by: Shannon Nelson <snelson@pensando.io>
---
drivers/net/ethernet/pensando/ionic/ionic_devlink.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/pensando/ionic/ionic_devlink.c b/drivers/net/ethernet/pensando/ionic/ionic_devlink.c
index ed14164468a1..273c889faaad 100644
--- a/drivers/net/ethernet/pensando/ionic/ionic_devlink.c
+++ b/drivers/net/ethernet/pensando/ionic/ionic_devlink.c
@@ -77,12 +77,16 @@ int ionic_devlink_register(struct ionic *ionic)
return err;
}
+ /* don't register the mgmt_nic as a port */
+ if (ionic->is_mgmt_nic)
+ return 0;
+
devlink_port_attrs_set(&ionic->dl_port, DEVLINK_PORT_FLAVOUR_PHYSICAL,
0, false, 0, NULL, 0);
err = devlink_port_register(dl, &ionic->dl_port, 0);
if (err)
dev_err(ionic->dev, "devlink_port_register failed: %d\n", err);
- else if (!ionic->is_mgmt_nic)
+ else
devlink_port_type_eth_set(&ionic->dl_port,
ionic->master_lif->netdev);
@@ -93,6 +97,7 @@ void ionic_devlink_unregister(struct ionic *ionic)
{
struct devlink *dl = priv_to_devlink(ionic);
- devlink_port_unregister(&ionic->dl_port);
+ if (ionic->dl_port.registered)
+ devlink_port_unregister(&ionic->dl_port);
devlink_unregister(dl);
}
--
2.17.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH net-next 2/5] ionic: deinit rss only if selected
2020-03-16 2:14 [PATCH net-next 0/5] ionic bits and bytes Shannon Nelson
2020-03-16 2:14 ` [PATCH net-next 1/5] ionic: don't register mgmt device as devlink port Shannon Nelson
@ 2020-03-16 2:14 ` Shannon Nelson
2020-03-16 2:14 ` [PATCH net-next 3/5] ionic: remove adminq napi instance Shannon Nelson
` (2 subsequent siblings)
4 siblings, 0 replies; 9+ messages in thread
From: Shannon Nelson @ 2020-03-16 2:14 UTC (permalink / raw)
To: netdev, davem; +Cc: Shannon Nelson
Don't bother de-initing RSS if it wasn't selected.
Signed-off-by: Shannon Nelson <snelson@pensando.io>
---
drivers/net/ethernet/pensando/ionic/ionic_lif.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/pensando/ionic/ionic_lif.c b/drivers/net/ethernet/pensando/ionic/ionic_lif.c
index b903016193df..19fd7cc36f28 100644
--- a/drivers/net/ethernet/pensando/ionic/ionic_lif.c
+++ b/drivers/net/ethernet/pensando/ionic/ionic_lif.c
@@ -2066,7 +2066,8 @@ static void ionic_lif_deinit(struct ionic_lif *lif)
clear_bit(IONIC_LIF_F_INITED, lif->state);
ionic_rx_filters_deinit(lif);
- ionic_lif_rss_deinit(lif);
+ if (lif->netdev->features & NETIF_F_RXHASH)
+ ionic_lif_rss_deinit(lif);
napi_disable(&lif->adminqcq->napi);
ionic_lif_qcq_deinit(lif, lif->notifyqcq);
--
2.17.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH net-next 3/5] ionic: remove adminq napi instance
2020-03-16 2:14 [PATCH net-next 0/5] ionic bits and bytes Shannon Nelson
2020-03-16 2:14 ` [PATCH net-next 1/5] ionic: don't register mgmt device as devlink port Shannon Nelson
2020-03-16 2:14 ` [PATCH net-next 2/5] ionic: deinit rss only if selected Shannon Nelson
@ 2020-03-16 2:14 ` Shannon Nelson
2020-03-16 6:52 ` Leon Romanovsky
2020-03-16 2:14 ` [PATCH net-next 4/5] ionic: return error for unknown xcvr type Shannon Nelson
2020-03-16 2:14 ` [PATCH net-next 5/5] ionic: add decode for IONIC_RC_ENOSUPP Shannon Nelson
4 siblings, 1 reply; 9+ messages in thread
From: Shannon Nelson @ 2020-03-16 2:14 UTC (permalink / raw)
To: netdev, davem; +Cc: Shannon Nelson
Remove the adminq's napi struct when tearing down
the adminq.
Signed-off-by: Shannon Nelson <snelson@pensando.io>
---
drivers/net/ethernet/pensando/ionic/ionic_lif.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/ethernet/pensando/ionic/ionic_lif.c b/drivers/net/ethernet/pensando/ionic/ionic_lif.c
index 19fd7cc36f28..12e3823b0bc1 100644
--- a/drivers/net/ethernet/pensando/ionic/ionic_lif.c
+++ b/drivers/net/ethernet/pensando/ionic/ionic_lif.c
@@ -2070,6 +2070,7 @@ static void ionic_lif_deinit(struct ionic_lif *lif)
ionic_lif_rss_deinit(lif);
napi_disable(&lif->adminqcq->napi);
+ netif_napi_del(&lif->adminqcq->napi);
ionic_lif_qcq_deinit(lif, lif->notifyqcq);
ionic_lif_qcq_deinit(lif, lif->adminqcq);
--
2.17.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH net-next 4/5] ionic: return error for unknown xcvr type
2020-03-16 2:14 [PATCH net-next 0/5] ionic bits and bytes Shannon Nelson
` (2 preceding siblings ...)
2020-03-16 2:14 ` [PATCH net-next 3/5] ionic: remove adminq napi instance Shannon Nelson
@ 2020-03-16 2:14 ` Shannon Nelson
2020-03-16 2:14 ` [PATCH net-next 5/5] ionic: add decode for IONIC_RC_ENOSUPP Shannon Nelson
4 siblings, 0 replies; 9+ messages in thread
From: Shannon Nelson @ 2020-03-16 2:14 UTC (permalink / raw)
To: netdev, davem; +Cc: Shannon Nelson
If we don't recognize the transceiver type, return an error
so that ethtool doesn't try dumping bogus eeprom contents.
Signed-off-by: Shannon Nelson <snelson@pensando.io>
---
.../net/ethernet/pensando/ionic/ionic_ethtool.c | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/pensando/ionic/ionic_ethtool.c b/drivers/net/ethernet/pensando/ionic/ionic_ethtool.c
index a233716eac29..3f92f301a020 100644
--- a/drivers/net/ethernet/pensando/ionic/ionic_ethtool.c
+++ b/drivers/net/ethernet/pensando/ionic/ionic_ethtool.c
@@ -694,7 +694,7 @@ static int ionic_get_module_info(struct net_device *netdev,
default:
netdev_info(netdev, "unknown xcvr type 0x%02x\n",
xcvr->sprom[0]);
- break;
+ return -EINVAL;
}
return 0;
@@ -714,7 +714,19 @@ static int ionic_get_module_eeprom(struct net_device *netdev,
/* The NIC keeps the module prom up-to-date in the DMA space
* so we can simply copy the module bytes into the data buffer.
*/
+
xcvr = &idev->port_info->status.xcvr;
+ switch (xcvr->sprom[0]) {
+ case 0x03: /* SFP */
+ case 0x0D: /* QSFP */
+ case 0x11: /* QSFP28 */
+ break;
+ default:
+ netdev_info(netdev, "unknown xcvr type 0x%02x\n",
+ xcvr->sprom[0]);
+ return -EINVAL;
+ }
+
len = min_t(u32, sizeof(xcvr->sprom), ee->len);
do {
--
2.17.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH net-next 5/5] ionic: add decode for IONIC_RC_ENOSUPP
2020-03-16 2:14 [PATCH net-next 0/5] ionic bits and bytes Shannon Nelson
` (3 preceding siblings ...)
2020-03-16 2:14 ` [PATCH net-next 4/5] ionic: return error for unknown xcvr type Shannon Nelson
@ 2020-03-16 2:14 ` Shannon Nelson
2020-03-16 6:49 ` Leon Romanovsky
4 siblings, 1 reply; 9+ messages in thread
From: Shannon Nelson @ 2020-03-16 2:14 UTC (permalink / raw)
To: netdev, davem; +Cc: Shannon Nelson
Signed-off-by: Shannon Nelson <snelson@pensando.io>
---
drivers/net/ethernet/pensando/ionic/ionic_main.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/net/ethernet/pensando/ionic/ionic_main.c b/drivers/net/ethernet/pensando/ionic/ionic_main.c
index e4a76e66f542..c5e3d7639f7e 100644
--- a/drivers/net/ethernet/pensando/ionic/ionic_main.c
+++ b/drivers/net/ethernet/pensando/ionic/ionic_main.c
@@ -58,6 +58,8 @@ static const char *ionic_error_to_str(enum ionic_status_code code)
return "IONIC_RC_BAD_ADDR";
case IONIC_RC_DEV_CMD:
return "IONIC_RC_DEV_CMD";
+ case IONIC_RC_ENOSUPP:
+ return "IONIC_RC_ENOSUPP";
case IONIC_RC_ERROR:
return "IONIC_RC_ERROR";
case IONIC_RC_ERDMA:
@@ -76,6 +78,7 @@ static int ionic_error_to_errno(enum ionic_status_code code)
case IONIC_RC_EQTYPE:
case IONIC_RC_EQID:
case IONIC_RC_EINVAL:
+ case IONIC_RC_ENOSUPP:
return -EINVAL;
case IONIC_RC_EPERM:
return -EPERM;
--
2.17.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH net-next 5/5] ionic: add decode for IONIC_RC_ENOSUPP
2020-03-16 2:14 ` [PATCH net-next 5/5] ionic: add decode for IONIC_RC_ENOSUPP Shannon Nelson
@ 2020-03-16 6:49 ` Leon Romanovsky
0 siblings, 0 replies; 9+ messages in thread
From: Leon Romanovsky @ 2020-03-16 6:49 UTC (permalink / raw)
To: Shannon Nelson; +Cc: netdev, davem
On Sun, Mar 15, 2020 at 07:14:28PM -0700, Shannon Nelson wrote:
> Signed-off-by: Shannon Nelson <snelson@pensando.io>
> ---
> drivers/net/ethernet/pensando/ionic/ionic_main.c | 3 +++
> 1 file changed, 3 insertions(+)
>
Please try to refrain from patches with empty commit messages.
See submitting-patches guide, section about canonical patch format.
https://elixir.bootlin.com/linux/latest/source/Documentation/process/submitting-patches.rst#L665
Thanks
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH net-next 3/5] ionic: remove adminq napi instance
2020-03-16 2:14 ` [PATCH net-next 3/5] ionic: remove adminq napi instance Shannon Nelson
@ 2020-03-16 6:52 ` Leon Romanovsky
2020-03-16 18:01 ` Shannon Nelson
0 siblings, 1 reply; 9+ messages in thread
From: Leon Romanovsky @ 2020-03-16 6:52 UTC (permalink / raw)
To: Shannon Nelson; +Cc: netdev, davem
On Sun, Mar 15, 2020 at 07:14:26PM -0700, Shannon Nelson wrote:
> Remove the adminq's napi struct when tearing down
> the adminq.
>
> Signed-off-by: Shannon Nelson <snelson@pensando.io>
> ---
> drivers/net/ethernet/pensando/ionic/ionic_lif.c | 1 +
> 1 file changed, 1 insertion(+)
>
It looks like a fix to me, and I would expect Fixes line here.
Thanks
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH net-next 3/5] ionic: remove adminq napi instance
2020-03-16 6:52 ` Leon Romanovsky
@ 2020-03-16 18:01 ` Shannon Nelson
0 siblings, 0 replies; 9+ messages in thread
From: Shannon Nelson @ 2020-03-16 18:01 UTC (permalink / raw)
To: Leon Romanovsky; +Cc: netdev, davem
On 3/15/20 11:52 PM, Leon Romanovsky wrote:
> On Sun, Mar 15, 2020 at 07:14:26PM -0700, Shannon Nelson wrote:
>> Remove the adminq's napi struct when tearing down
>> the adminq.
>>
>> Signed-off-by: Shannon Nelson <snelson@pensando.io>
>> ---
>> drivers/net/ethernet/pensando/ionic/ionic_lif.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
> It looks like a fix to me, and I would expect Fixes line here.
I suppose they all could include Fixes tags, so I'll re-tag them and add
a description line to the last one.
Perhaps all but the first could be promoted to net but they're not
serious issues so I wasn't going to worry about that.
Thanks,
sln
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2020-03-16 18:01 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-16 2:14 [PATCH net-next 0/5] ionic bits and bytes Shannon Nelson
2020-03-16 2:14 ` [PATCH net-next 1/5] ionic: don't register mgmt device as devlink port Shannon Nelson
2020-03-16 2:14 ` [PATCH net-next 2/5] ionic: deinit rss only if selected Shannon Nelson
2020-03-16 2:14 ` [PATCH net-next 3/5] ionic: remove adminq napi instance Shannon Nelson
2020-03-16 6:52 ` Leon Romanovsky
2020-03-16 18:01 ` Shannon Nelson
2020-03-16 2:14 ` [PATCH net-next 4/5] ionic: return error for unknown xcvr type Shannon Nelson
2020-03-16 2:14 ` [PATCH net-next 5/5] ionic: add decode for IONIC_RC_ENOSUPP Shannon Nelson
2020-03-16 6:49 ` Leon Romanovsky
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).