On 11/4/20 5:18 PM, Saeed Mahameed wrote:
On Wed, 2020-11-04 at 14:33 -0800, Shannon Nelson wrote:
We should be using the multicast sync routines for the
multicast filters.
Fixes: 1800eee16676 ("net: ionic: Replace in_interrupt() usage.")
Signed-off-by: Shannon Nelson
---
d
On 11/4/20 4:50 PM, Saeed Mahameed wrote:
On Wed, 2020-11-04 at 14:33 -0800, Shannon Nelson wrote:
After the queues are stopped, expressly quiesce the lif.
This assures that even if the queues were in an odd state,
the firmware will close up everything cleanly.
Signed-off-by: Shannon Nelson
On 11/4/20 5:08 PM, Saeed Mahameed wrote:
On Wed, 2020-11-04 at 14:33 -0800, Shannon Nelson wrote:
We don't need to refill the rx descriptors on every napi
if only a few were handled. Waiting until we can batch up
a few together will save us a few Rx cycles.
Signed-off-by: Shannon N
After the queues are stopped, expressly quiesce the lif.
This assures that even if the queues were in an odd state,
the firmware will close up everything cleanly.
Signed-off-by: Shannon Nelson
---
.../net/ethernet/pensando/ionic/ionic_lif.c | 24 +++
1 file changed, 24
We don't need to refill the rx descriptors on every napi
if only a few were handled. Waiting until we can batch up
a few together will save us a few Rx cycles.
Signed-off-by: Shannon Nelson
---
.../net/ethernet/pensando/ionic/ionic_dev.h| 4 +++-
.../net/ethernet/pensando/
With a few more uses of true and false in function calls, we
need to give them some useful names so we can tell from the
calling point what we're doing.
Signed-off-by: Shannon Nelson
---
drivers/net/ethernet/pensando/ionic/ionic_lif.c | 16
drivers/net/ethernet/pensando/
These updates are a bit of code cleaning and a minor
bit of performance tweaking.
Shannon Nelson (6):
ionic: start queues before announcing link up
ionic: check for link after netdev registration
ionic: add lif quiesce
ionic: batch rx buffer refilling
ionic: use mc sync for multicast
Request a link check as soon as the netdev is registered rather
than waiting for the watchdog to go off in order to get the
interface operational a little more quickly.
Signed-off-by: Shannon Nelson
---
drivers/net/ethernet/pensando/ionic/ionic_lif.c | 2 ++
1 file changed, 2 insertions
Change the order of operations in the link_up handling to be
sure that the queues are up and ready before we announce that
the link is up.
Signed-off-by: Shannon Nelson
---
drivers/net/ethernet/pensando/ionic/ionic_lif.c | 12 ++--
1 file changed, 6 insertions(+), 6 deletions(-)
diff
We should be using the multicast sync routines for the
multicast filters.
Fixes: 1800eee16676 ("net: ionic: Replace in_interrupt() usage.")
Signed-off-by: Shannon Nelson
---
drivers/net/ethernet/pensando/ionic/ionic_lif.c | 10 +-
1 file changed, 9 insertions(+), 1 deletio
Check for corner case of port_init failure before using
the port_info pointer.
Fixes: 4d03e00a2140 ("ionic: Add initial ethtool support")
Signed-off-by: Shannon Nelson
---
drivers/net/ethernet/pensando/ionic/ionic_ethtool.c | 5 +
1 file changed, 5 insertions(+)
diff --git a/d
The sparse complaints around the static_asserts were obscuring
more useful complaints. So, don't check the static_asserts,
and fix the remaining sparse complaints.
Signed-off-by: Shannon Nelson
---
.../net/ethernet/pensando/ionic/ionic_dev.c | 4 +--
.../net/ethernet/pensando/
This patchset addresses some memory leaks and incorrect
io reads.
Shannon Nelson (3):
ionic: clean up sparse complaints
ionic: no rx flush in deinit
ionic: fix mem leak in rx_empty
.../net/ethernet/pensando/ionic/ionic_dev.c | 4 +-
.../net/ethernet/pensando/ionic/ionic_dev.h | 2
Kmemleak pointed out to us that ionic_rx_flush() is sending
skbs into napi_gro_XXX with a disabled napi context, and these
end up getting lost and leaked. We can safely remove the flush.
Fixes: 0f3154e6bcb3 ("ionic: Add Tx and Rx handling")
Signed-off-by: Shannon Nelson
---
d
The sentinel descriptor entry was getting missed in the
traverse of the ring from head to tail, so change to a
loop of 0 to the end.
Fixes: f1d2e894f1b7 ("ionic: use index not pointer for queue tracking")
Signed-off-by: Shannon Nelson
---
.../net/ethernet/pensando/ionic/ionic_tx
expectations.
Fixes: 63a67fe229ea ("ixgbe: add ipsec offload add and remove SA")
Signed-off-by: Antony Antony
Acked-by: Shannon Nelson
---
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c | 5 +
drivers/net/ethernet/intel/ixgbevf/ipsec.c | 5 +
2 files changed, 10 insertion
If the new firmware image downladed for update is corrupted
or is a bad format, the download process will report a status
code specifically for that.
Signed-off-by: Shannon Nelson
---
drivers/net/ethernet/pensando/ionic/ionic_if.h | 1 +
drivers/net/ethernet/pensando/ionic/ionic_main.c | 2
Clear our link check requested flag on an allocation error.
We end up dropping this link check request, but that should
be fine as our watchdog will come back a few seconds later
and request it again.
Reported-by: Sebastian Andrzej Siewior
Signed-off-by: Shannon Nelson
---
drivers/net/ethernet
Use the lif's ident information for the uc and mc filter
counts rather than the ionic's version, to be sure
we're getting the info that is specific to this lif.
While we're thinking about it, add some missing error
checking where we get the lif's identity information
Check through our work list for additional items. This normally
will only have one item, but occasionally may have another
job waiting. There really is no need reschedule ourself here.
Reported-by: Sebastian Andrzej Siewior
Signed-off-by: Shannon Nelson
---
.../net/ethernet/pensando/ionic
an
error message when the data is refreshed after the fw upgrade.
Signed-off-by: Shannon Nelson
---
.../net/ethernet/pensando/ionic/ionic_bus_pci.c | 10 ++
drivers/net/ethernet/pensando/ionic/ionic_lif.c | 10 +-
drivers/net/ethernet/pensando/ionic/ionic_main.c | 16 +++-
queue allocations easier to
manage - the notifyq is much smaller and doesn't need to be split.
This patch simply adds an if/else and slightly different code for
the notifyq descriptor allocation.
Fixes: ea5a8b09dc3a ("ionic: reduce contiguous memory allocation requirement")
Signed-
This set of patches comes mostly from error recovery path testing,
as well as a couple of upstream review comments.
Shannon Nelson (8):
ionic: contiguous memory for notifyq
ionic: drain the work queue
ionic: clear linkcheck bit on alloc fail
ionic: check qcq ptr in ionic_qcq_disable
call ionic_qcq_disable() and to
give it an argument to know when to not do the adminq request.
Signed-off-by: Shannon Nelson
---
.../net/ethernet/pensando/ionic/ionic_lif.c | 47 +--
1 file changed, 21 insertions(+), 26 deletions(-)
diff --git a/drivers/net/ethernet/pensando/
There are a couple of error recovery paths that can come through
ionic_qcq_disable() without having set up the qcq, so we need
to make sure we have a valid qcq pointer before using it.
Signed-off-by: Shannon Nelson
---
.../net/ethernet/pensando/ionic/ionic_lif.c | 31 ---
1
splay with "timeout reached".
Signed-off-by: Jacob Keller
Works for me - thanks!
Tested-by: Shannon Nelson
---
Changes since v1
* update last status time only when the message changes, allowing an elapsed
time to represent the full operation of downloading or programming the
i
On 9/30/20 2:43 PM, Jacob Keller wrote:
On 9/30/2020 2:36 PM, Jakub Kicinski wrote:
On Wed, 30 Sep 2020 14:20:43 -0700 Jacob Keller wrote:
Thanks, Jake. In general this seems to work pretty well. One thing,
tho'...
Our fw download is slow (I won't go into the reasons here) so we're
clicking
Our link watchdog displayed a couple of unfriendly behaviors in some recent
stress testing. These patches change the startup and stop timing in order
to be sure that expected structures are ready to be used by the watchdog.
Shannon Nelson (2):
ionic: stop watchdog timer earlier on remove
In one corner case scenario, the driver device lif setup can
get delayed such that the ionic_watchdog_cb() timer goes off
before the ionic->lif is set, thus causing a NULL pointer panic.
We catch the problem by checking for a NULL lif just a little
earlier in the callback.
Signed-off-by: Shan
We need to be better at making sure we don't have a link check
watchdog go off while we're shutting things down, so let's stop
the timer as soon as we start the remove.
Meanwhile, since that was the only thing in
ionic_dev_teardown(), simplify and remove that function.
Signed-
On 9/29/20 5:15 PM, Jakub Kicinski wrote:
On Tue, 29 Sep 2020 15:19:56 -0700 Shannon Nelson wrote:
In one corner case scenario, the driver device lif setup can
get delayed such that the ionic_watchdog_cb() timer goes off
before the ionic->lif is set, thus causing a NULL pointer panic.
We ca
some constants like
#define can_sleep true
so the code can be a little more readable.
Yes, I know we have this problem already in the call to
ionic_lif_addr(), which I'm annoyed with but haven't addressed yet.
So, if you want to deal with this now, fine, otherwise I'll take car
On 9/29/20 2:56 PM, Jacob Keller wrote:
For some devices, updating the flash can take significant time during
operations where no status can meaningfully be reported. This can be
somewhat confusing to a user who sees devlink appear to hang on the
terminal waiting for the device to update.
Recent
Our link watchdog displayed a couple of unfriendly behaviors in some recent
stress testing. These patches change the startup and stop timing in order
to be sure that expected structures are ready to be used by the watchdog.
Shannon Nelson (2):
ionic: stop watchdog timer earlier on remove
In one corner case scenario, the driver device lif setup can
get delayed such that the ionic_watchdog_cb() timer goes off
before the ionic->lif is set, thus causing a NULL pointer panic.
We catch the problem by checking for a NULL lif just a little
earlier in the callback.
Signed-off-by: Shan
We need to be better at making sure we don't have a link check
watchdog go off while we're shutting things down, so let's stop
the timer as soon as we start the remove.
Meanwhile, since that was the only thing in
ionic_dev_teardown(), simplify and remove that function.
Signed-
On 9/29/20 10:56 AM, Jacob Keller wrote:
On 9/29/2020 10:18 AM, Jakub Kicinski wrote:
On Mon, 28 Sep 2020 16:49:45 -0700 Jacob Keller wrote:
For some devices, updating the flash can take significant time during
operations where no status can meaningfully be reported. This can be
somewhat confus
On 9/28/20 10:24 AM, Shannon Nelson wrote:
On 9/27/20 12:48 PM, Thomas Gleixner wrote:
From: Sebastian Andrzej Siewior
The in_interrupt() usage in this driver tries to figure out which
context
may sleep and which context may not sleep. in_interrupt() is not really
suitable as it misses both
of checks (always enabled or
debug option dependent) which cover all invalid conditions already, there
is no point in having inconsistent warnings in those drivers.
Just remove them.
Signed-off-by: Sebastian Andrzej Siewior
Signed-off-by: Thomas Gleixner
Cc: Shannon Nelson
Cc: Pensando Drivers
ain fully preemptible task context
Add 'can_sleep' arguments to the affected functions and let the callers
provide the context instead of letting the functions deduce it.
Signed-off-by: Sebastian Andrzej Siewior
Signed-off-by: Thomas Gleixner
Cc: Shannon Nelson
Cc: Pensando Drivers
: Jakub Kicinski
Cc: Jonathan Corbet
Cc: Michael Chan
Cc: Bin Luo
Cc: Saeed Mahameed
Cc: Leon Romanovsky
Cc: Ido Schimmel
Cc: Danielle Ratson
Cc: Shannon Nelson
Thanks Jake. For ionic:
Acked-by: Shannon Nelson
requests, which are then followed up with status request
commands. These status request commands will be answered with
an EAGAIN return value and will try again until the request
has completed or reached the timeout specified.
Signed-off-by: Shannon Nelson
Acked-by: Jakub Kicinski
---
drivers/net
v3: Changed long dev_cmd timeout on status check calls to a loop around
calls with a normal timeout, which allows for more intermediate log
messaging when in a long wait, and for letting other threads run
dev_cmds if waiting.
v2: Changed "Activate" to "Select" in st
The dev flash status notify function parameter lists are getting
rather long, so add a struct to be filled and passed rather than
continuously changing the function signatures.
Signed-off-by: Shannon Nelson
Reviewed-by: Jacob Keller
---
include/net/devlink.h | 19 +++
net/core
Add the rest of the firmware api bits needed to support the
driver running a firmware update.
Signed-off-by: Shannon Nelson
---
.../net/ethernet/pensando/ionic/ionic_if.h| 33 ++-
.../net/ethernet/pensando/ionic/ionic_main.c | 4 +++
2 files changed, 29 insertions(+), 8
] status_msg ( timeout reached : Am Bs )
- if new status notify messages are received, remove
the timeout and start over
Signed-off-by: Shannon Nelson
Reviewed-by: Jakub Kicinski
Reviewed-by: Jacob Keller
---
include/net/devlink.h| 4
include/uapi/linux/devlink.h | 3 +++
net/core
Add a simple devlink flash timeout message to exercise
the message mechanism.
Signed-off-by: Shannon Nelson
---
drivers/net/netdevsim/dev.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/net/netdevsim/dev.c b/drivers/net/netdevsim/dev.c
index 32f339fedb21..e41f85c75699 100644
On 9/17/20 12:52 PM, Jakub Kicinski wrote:
On Wed, 16 Sep 2020 20:02:04 -0700 Shannon Nelson wrote:
Add support for firmware update through the devlink interface.
This update copies the firmware object into the device, asks
the current firmware to install it, then asks the firmware to
select
On 9/17/20 12:50 PM, Jacob Keller wrote:
On 9/16/2020 8:02 PM, Shannon Nelson wrote:
Add a timeout element to the DEVLINK_CMD_FLASH_UPDATE_STATUS
netlink message for use by a userland utility to show that
a particular firmware flash activity may take a long but
bounded time to finish. Also add
On 9/17/20 12:50 PM, Jakub Kicinski wrote:
On Wed, 16 Sep 2020 20:02:02 -0700 Shannon Nelson wrote:
Add a simple devlink flash timeout message to exercise
the message mechanism.
Signed-off-by: Shannon Nelson
---
drivers/net/netdevsim/dev.c | 2 ++
1 file changed, 2 insertions(+)
diff
On 9/17/20 12:47 PM, Jakub Kicinski wrote:
On Wed, 16 Sep 2020 20:02:01 -0700 Shannon Nelson wrote:
The dev flash status notify function parameter lists are getting
rather long, so add a struct to be filled and passed rather than
continuously changing the function signatures.
Signed-off-by
On 9/17/20 12:46 PM, Jakub Kicinski wrote:
On Wed, 16 Sep 2020 20:02:00 -0700 Shannon Nelson wrote:
Add a timeout element to the DEVLINK_CMD_FLASH_UPDATE_STATUS
netlink message for use by a userland utility to show that
a particular firmware flash activity may take a long but
bounded time to
a834592bf5 ("ionic: dynamic interrupt moderation")
Reported-by: kernel test robot
Signed-off-by: Shannon Nelson
---
drivers/net/ethernet/pensando/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/ethernet/pensando/Kconfig
b/drivers/net/ethernet/pensando/Kconfig
index 76
On 9/17/20 1:02 PM, Jakub Kicinski wrote:
On Thu, 17 Sep 2020 12:08:45 -0700 Shannon Nelson wrote:
On 9/17/20 12:02 PM, Jakub Kicinski wrote:
On Thu, 17 Sep 2020 11:42:43 -0700 Shannon Nelson wrote:
ld.lld: error: undefined symbol: net_dim_get_rx_moderation
>>> referenced by io
On 9/17/20 12:02 PM, Jakub Kicinski wrote:
On Thu, 17 Sep 2020 11:42:43 -0700 Shannon Nelson wrote:
ld.lld: error: undefined symbol: net_dim_get_rx_moderation
>>> referenced by ionic_lif.c:52
(drivers/net/ethernet/pensando/ionic/ionic_lif.c:52)
>>> net/ether
ation")
Reported-by: kernel test robot
Signed-off-by: Shannon Nelson
---
drivers/net/ethernet/pensando/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/ethernet/pensando/Kconfig
b/drivers/net/ethernet/pensando/Kconfig
index 76f8cc502bf9..5f8b0bb3af6e 100644
--- a/driver
Add a simple devlink flash timeout message to exercise
the message mechanism.
Signed-off-by: Shannon Nelson
---
drivers/net/netdevsim/dev.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/net/netdevsim/dev.c b/drivers/net/netdevsim/dev.c
index 32f339fedb21..4123550e3f6e 100644
The dev flash status notify function parameter lists are getting
rather long, so add a struct to be filled and passed rather than
continuously changing the function signatures.
Signed-off-by: Shannon Nelson
---
include/net/devlink.h | 21
net/core/devlink.c| 80
Add the rest of the firmware api bits needed to support the
driver running a firmware update.
Signed-off-by: Shannon Nelson
---
.../net/ethernet/pensando/ionic/ionic_if.h| 33 ++-
.../net/ethernet/pensando/ionic/ionic_main.c | 4 +++
2 files changed, 29 insertions(+), 8
requests, which are then followed up with status request
commands. These status request commands will be answered with
an EAGAIN return value and will try again until the request
has completed or reached the timeout specified.
Signed-off-by: Shannon Nelson
---
drivers/net/ethernet/pensando/ionic
re intermediate log
messaging when in a long wait, and for letting other threads run
dev_cmds if waiting.
v2: Changed "Activate" to "Select" in status messages.
Shannon Nelson (5):
devlink: add timeout information to status_notify
devlink: collect flash notify params
] status_msg ( timeout reached : Am Bs )
- if new status notify messages are received, remove
the timeout and start over
Signed-off-by: Shannon Nelson
---
include/net/devlink.h| 4
include/uapi/linux/devlink.h | 3 +++
net/core/devlink.c | 29
Use the dim library to manage dynamic interrupt
moderation in ionic.
v3: rebase
v2: untangled declarations in ionic_dim_work()
Signed-off-by: Shannon Nelson
Acked-by: Jakub Kicinski
---
.../ethernet/pensando/ionic/ionic_debugfs.c | 2 +
.../net/ethernet/pensando/ionic/ionic_dev.h | 1
On 9/15/20 12:00 PM, Jakub Kicinski wrote:
On Tue, 15 Sep 2020 11:44:07 -0700 Jacob Keller wrote:
Exactly how I saw it.
Basically, the timeout should take effect as long as the (component,
msg) pair stays the same.
So if you send percentage reports with the same message and component,
then the
On 9/15/20 1:28 PM, David Miller wrote:
From: Shannon Nelson
Date: Mon, 14 Sep 2020 18:33:45 -0700
Use the dim library to manage dynamic interrupt
moderation in ionic.
v2: untangled declarations in ionic_dim_work()
Signed-off-by: Shannon Nelson
Acked-by: Jakub Kicinski
This doesn't
On 9/15/20 9:50 AM, Keller, Jacob E wrote:
-Original Message-
From: Jakub Kicinski
Sent: Tuesday, September 15, 2020 8:51 AM
To: Shannon Nelson
Cc: Keller, Jacob E ; netdev@vger.kernel.org;
da...@davemloft.net
Subject: Re: [PATCH v3 net-next 2/2] ionic: add devlink firmware update
Use the dim library to manage dynamic interrupt
moderation in ionic.
v2: untangled declarations in ionic_dim_work()
Signed-off-by: Shannon Nelson
Acked-by: Jakub Kicinski
---
.../ethernet/pensando/ionic/ionic_debugfs.c | 2 +
.../net/ethernet/pensando/ionic/ionic_dev.h | 1
On 9/14/20 5:53 PM, Keller, Jacob E wrote:
-Original Message-
From: Shannon Nelson
Sent: Monday, September 14, 2020 4:47 PM
To: Jakub Kicinski ; Keller, Jacob E
Cc: netdev@vger.kernel.org; da...@davemloft.net
Subject: Re: [PATCH v3 net-next 2/2] ionic: add devlink firmware update
On
On 9/14/20 4:36 PM, Jakub Kicinski wrote:
On Mon, 14 Sep 2020 16:15:28 -0700 Jacob Keller wrote:
On 9/10/2020 10:56 AM, Jakub Kicinski wrote:
IOW drop the component parameter from the normal helper, cause almost
nobody uses that. The add a more full featured __ version, which would
take the arg
On 9/10/20 10:56 AM, Jakub Kicinski wrote:
On Wed, 9 Sep 2020 18:34:57 -0700 Shannon Nelson wrote:
On 9/9/20 12:22 PM, Jakub Kicinski wrote:
On Wed, 9 Sep 2020 10:58:19 -0700 Shannon Nelson wrote:
I'm suggesting that this implementation using the existing devlink
logging services s
On 9/14/20 2:10 PM, Jakub Kicinski wrote:
On Sun, 13 Sep 2020 14:28:13 -0700 Shannon Nelson wrote:
Use the dim library to manage dynamic interrupt
moderation in ionic.
Signed-off-by: Shannon Nelson
Let me advertise my people.kernel entry ;)
https://people.kernel.org/finqi53erl
My somewhat
Use the dim library to manage dynamic interrupt
moderation in ionic.
Signed-off-by: Shannon Nelson
---
.../ethernet/pensando/ionic/ionic_debugfs.c | 2 +
.../net/ethernet/pensando/ionic/ionic_dev.h | 1 +
.../ethernet/pensando/ionic/ionic_ethtool.c | 71 ---
.../net
Clean and rebuild the debugfs info for the queues being swapped.
Fixes: a34e25ab977c ("ionic: change the descriptor ring length without full
reset")
Signed-off-by: Shannon Nelson
---
drivers/net/ethernet/pensando/ionic/ionic_lif.c | 15 +++
1 file changed, 15 insertion
On 9/9/20 12:22 PM, Jakub Kicinski wrote:
On Wed, 9 Sep 2020 10:58:19 -0700 Shannon Nelson wrote:
I'm suggesting that this implementation using the existing devlink
logging services should suffice until someone can design, implement, and
get accepted a different bit of plumbing. Unfortun
On 9/9/20 9:44 AM, Jakub Kicinski wrote:
On Wed, 9 Sep 2020 09:23:08 -0700 Shannon Nelson wrote:
On 9/8/20 4:54 PM, Jakub Kicinski wrote:
On Tue, 8 Sep 2020 15:48:12 -0700 Shannon Nelson wrote:
+ dl = priv_to_devlink(ionic);
+ devlink_flash_update_status_notify(dl, label, NULL, 1
On 9/8/20 4:54 PM, Jakub Kicinski wrote:
On Tue, 8 Sep 2020 15:48:12 -0700 Shannon Nelson wrote:
+ dl = priv_to_devlink(ionic);
+ devlink_flash_update_status_notify(dl, label, NULL, 1, timeout);
+ start_time = jiffies;
+ end_time = start_time + (timeout * HZ
o a loop around
calls with a normal timeout, which allows for more intermediate log
messaging when in a long wait, and for letting other threads run
dev_cmds if waiting.
v2: Changed "Activate" to "Select" in status messages.
Shannon Nelson (2):
ionic: update the
Add the rest of the firmware api bits needed to support the
driver running a firmware update.
Signed-off-by: Shannon Nelson
---
.../net/ethernet/pensando/ionic/ionic_if.h| 33 ++-
.../net/ethernet/pensando/ionic/ionic_main.c | 4 +++
2 files changed, 29 insertions(+), 8
requests, which are then followed up with status request
commands. These status request commands will be answered with
an EAGAIN return value and will try again until the request
has completed or reached the timeout specified.
Signed-off-by: Shannon Nelson
---
drivers/net/ethernet/pensando/ionic
On 9/5/20 1:04 PM, Jakub Kicinski wrote:
On Thu, 3 Sep 2020 17:05:34 -0700 Shannon Nelson wrote:
+/* The worst case wait for the install activity is about 25 minutes when
+ * installing a new CPLD, which is very seldom. Normal is about 30-35
+ * seconds. Since the driver can't tell if a
On 9/5/20 12:52 PM, Jakub Kicinski wrote:
On Thu, 3 Sep 2020 17:05:34 -0700 Shannon Nelson wrote:
+ devlink_flash_update_status_notify(dl, "Downloading", NULL, 0,
fw->size);
+ offset = 0;
+ next_interval = fw->size / IONIC_FW_INTERVAL_FRACTION;
+ wh
On 9/4/20 3:47 PM, Jakub Kicinski wrote:
On Fri, 4 Sep 2020 11:20:11 -0700 Shannon Nelson wrote:
It's probably related to this discussion:
https://lore.kernel.org/linux-sparse/ecdd10cb-0022-8f8a-ec36-9d51b3ae8...@pensando.io/
I thought we'd worked out our struct alignment issues, bu
On 9/4/20 8:01 AM, Jakub Kicinski wrote:
On Thu, 3 Sep 2020 17:05:32 -0700 Shannon Nelson wrote:
Add support for using devlink's dev flash facility to update the
firmware on an ionic device. This is a simple model of pushing the
firmware file to the NIC, asking the NIC to unpack and in
requests, which are then followed up with status request
commands. These status request commands will be answered with
an EAGAIN return value and will try again until the request
has completed or reached the timeout specified.
Signed-off-by: Shannon Nelson
---
drivers/net/ethernet/pensando/ionic
Add the rest of the firmware api bits needed to support the
driver running a firmware update.
Signed-off-by: Shannon Nelson
---
.../net/ethernet/pensando/ionic/ionic_if.h| 33 ++-
.../net/ethernet/pensando/ionic/ionic_main.c | 4 +++
2 files changed, 29 insertions(+), 8
, the whole transaction is failed.
We don't currently support doing these steps individually. In the future
we want to be able to list the FW that is installed and selectable but
don't yet have the API to fully support that.
v2: change "Activate" to "Select" in
On 9/3/20 2:45 PM, Jakub Kicinski wrote:
On Thu, 3 Sep 2020 14:37:40 -0700 Shannon Nelson wrote:
On 9/3/20 12:53 PM, Jakub Kicinski wrote:
On Wed, 2 Sep 2020 12:57:17 -0700 Shannon Nelson wrote:
Add support for firmware update through the devlink interface.
This update copies the firmware
On 9/3/20 12:53 PM, Jakub Kicinski wrote:
On Wed, 2 Sep 2020 12:57:17 -0700 Shannon Nelson wrote:
Add support for firmware update through the devlink interface.
This update copies the firmware object into the device, asks
the current firmware to install it, then asks the firmware to
set the
On 9/3/20 10:30 AM, Jiri Pirko wrote:
Thu, Sep 03, 2020 at 05:58:42PM CEST, snel...@pensando.io wrote:
True, they aren't "needed" for operational purposes, but they are rather
useful when inspecting a system after getting a report of bad behavior, and
I don't think it is nice to pollute dmesg
completed or reached the timeout specified.
Signed-off-by: Shannon Nelson
[...]
+
+ netdev_info(netdev, "Installing firmware %s\n", fw_name);
You don't need this dmesg messagel.
+
+ dl = priv_to_devlink(ionic);
+ devlink_flash_update_
, the whole transaction is failed.
We don't currently support doing these steps individually. In the future
we want to be able to list the FW that is installed and selectable but
don't yet have the API to fully support that.
Shannon Nelson (2):
ionic: update the fw update api
ion
asynchronous
requests, which are then followed up with status requests
commands. These status request commands will be answered with
an EAGAIN return value and will try again until the request
has completed or reached the timeout specified.
Signed-off-by: Shannon Nelson
---
drivers/net/ethernet
Add the rest of the firmware api bits needed to support the
driver running a firmware update.
Signed-off-by: Shannon Nelson
---
.../net/ethernet/pensando/ionic/ionic_if.h| 33 ++-
.../net/ethernet/pensando/ionic/ionic_main.c | 4 +++
2 files changed, 29 insertions(+), 8
The internal page handling can be cleaned up by passing our
local page struct rather than dma addresses, and by putting
more of the mgmt code into the alloc and free routines.
Co-developed-by: Neel Patel
Signed-off-by: Shannon Nelson
---
.../net/ethernet/pensando/ionic/ionic_txrx.c | 71
Remove some unnecessary struct fields and related code.
Co-developed-by: Neel Patel
Signed-off-by: Shannon Nelson
---
.../net/ethernet/pensando/ionic/ionic_dev.c | 33 ++-
.../net/ethernet/pensando/ionic/ionic_dev.h | 6
.../net/ethernet/pensando/ionic/ionic_txrx.c
The only thing calling ionic_napi any more is the adminq
processing, so combine and simplify.
Co-developed-by: Neel Patel
Signed-off-by: Shannon Nelson
---
drivers/net/ethernet/pensando/ionic/ionic.h | 3 --
.../net/ethernet/pensando/ionic/ionic_lif.c | 44 +++
.../net
Move a few active struct fields to the front of the struct
for a little better cache use and performance.
Signed-off-by: Shannon Nelson
---
.../net/ethernet/pensando/ionic/ionic_dev.h| 18 +-
.../net/ethernet/pensando/ionic/ionic_lif.h| 14 +++---
2 files changed
Add parenthesis to clarify a boolean usage.
Pointed out in
https://lore.kernel.org/lkml/202008060413.vgrmuqlj%25...@intel.com/
Reported-by: kernel test robot
Signed-off-by: Shannon Nelson
---
drivers/net/ethernet/pensando/ionic/ionic_ethtool.c | 4 ++--
1 file changed, 2 insertions(+), 2
Remove a vestigial variable.
Pointed out in
https://lore.kernel.org/lkml/20200806143735.GA9232@xsang-OptiPlex-9020/
Reported-by: kernel test robot
Signed-off-by: Shannon Nelson
---
drivers/net/ethernet/pensando/ionic/ionic_txrx.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers
x27;s attributions to Co-developed-by
dropped the unnecessary new call to dma_sync_single_for_cpu()
added 2 patches from kernel test robot results
Shannon Nelson (6):
ionic: clean up page handling code
ionic: struct reorder for faster access
ionic: clean up desc_info and cq_info structs
101 - 200 of 921 matches
Mail list logo