Message ID | 20181116045159.4980-1-sam@mendozajonas.com |
---|---|
Headers | show |
Series | net/ncsi: Allow enabling multiple packages & channels | expand |
Hi Samuel, I have reviewed/tested it. It works well. Thanks for supporting these features! Justin Reviewed-by: Justin Lee <justin.lee1@dell.com> Tested-by: Justin Lee <justin.lee1@dell.com> > 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
From: Samuel Mendoza-Jonas <sam@mendozajonas.com> Date: Fri, 16 Nov 2018 15:51:53 +1100 > 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. Series applied.