RE: [PATCH net-next v4 0/6] net/ncsi: Allow enabling multiple packages & channels

From: Justin.Lee1
Date: Fri Nov 16 2018 - 15:17:14 EST


Hi Samuel,

I have reviewed/tested it. It works well. Thanks for supporting these features!

Justin


Reviewed-by: Justin Lee <justin.lee1@xxxxxxxx>
Tested-by: Justin Lee <justin.lee1@xxxxxxxx>


> This series extends the NCSI driver to configure multiple packages and/or channels simultaneously. Since the RFC series this includes a few extra changes to fix areas in the driver that either made this harder or were roadblocks due to deviations from the NCSI specification.
>
> Patches 1 & 2 fix two issues where the driver made assumptions about the capabilities of the NCSI topology.
> Patches 3 & 4 change some internal semantics slightly to make multi-mode easier.
> Patch 5 introduces a cleaner way of reconfiguring the NCSI configuration and keeping track of channel states.
> Patch 6 implements the main multi-package/multi-channel configuration, configured via the Netlink interface.
>
> Readers who have an interesting NCSI setup - especially multi-package with HWA - please test! I think I've covered all permutations but I don't have infinite hardware to test on.
>
> Changes in v2:
> - Updated use of the channel lock in ncsi_reset_dev(), making the channel invisible and leaving the monitor check to ncsi_stop_channel_monitor().
> - Fixed ncsi_channel_is_tx() to consider the state of channels in other packages.
> Changes in v3:
> - Fixed bisectability bug in patch 1
> - Consider channels on all packages in a few places when multi-package is enabled.
> - Avoid doubling up reset operations, and check the current driver state before reset to let any running operations complete.
> - Reorganise the LSC handler slightly to avoid enabling Tx twice.
> Changes in v4:
> - Fix failover in the single-channel case
> - Better handle ncsi_reset_dev() entry during a current config/suspend operation.
>
> Samuel Mendoza-Jonas (6):
> net/ncsi: Don't enable all channels when HWA available
> net/ncsi: Probe single packages to avoid conflict
> net/ncsi: Don't deselect package in suspend if active
> net/ncsi: Don't mark configured channels inactive
> net/ncsi: Reset channel state in ncsi_start_dev()
> net/ncsi: Configure multi-package, multi-channel modes with failover
>
> include/uapi/linux/ncsi.h | 15 ++
> net/ncsi/internal.h | 19 +-
> net/ncsi/ncsi-aen.c | 75 ++++--
> net/ncsi/ncsi-manage.c | 522 +++++++++++++++++++++++++++-----------
> net/ncsi/ncsi-netlink.c | 233 ++++++++++++++---
> net/ncsi/ncsi-rsp.c | 2 +-
> 6 files changed, 660 insertions(+), 206 deletions(-)
>
> --
> 2.19.1