From: sashiko-bot@kernel.org
To: "Doug Ledford" <doug.ledford@hpe.com>,
"Slingshot Open Source Team"
<slingshot-os-team@groups.ext.hpe.com>,
"Nathan Chancellor" <nathan@kernel.org>,
"Nicolas Schier" <nsc@kernel.org>,
"Richard Cochran" <richardcochran@gmail.com>,
"Andrew Lunn" <andrew+netdev@lunn.ch>,
"David S. Miller" <davem@davemloft.net>,
"Eric Dumazet" <edumazet@kernel.org>,
"Jakub Kicinski" <kuba@kernel.org>,
"Paolo Abeni" <pabeni@redhat.com>,
"Sumit Semwal" <sumit.semwal@linaro.org>,
"Christian König" <christian.koenig@amd.com>,
"Guenter Roeck" <linux@roeck-us.net>
Cc: linux-kbuild@vger.kernel.org,
"Sandeep Bhoot" <sandeep.bhoot@hpe.com>,
"Iraimani P" <iraimani.pavadai@hpe.com>
Subject: Re: [PATCH 02/23] net: hpe: sbl: add the Slingshot Base Link headers
Date: Sat, 31 Oct 2026 21:02:03 +0000 [thread overview]
Message-ID: <sashiko-outbox-192134@kernel.org> (raw)
In-Reply-To: <20261030-cxi-netdev-submission-v1-2-8c2c391cc283@hpe.com>
Thank you for your contribution! Sashiko AI review found 4 potential issue(s) to consider:
- [Low] net: hpe: sbl: non-static inline helpers in sbl_sbm.h break linkage
- [Low] net: hpe: sbl: missing include guard and type headers in sbl_fec.h
- [Low] net: hpe: sbl: duplicate sbl_platform.h and redundant macro definitions
- [Low] net: hpe: sbl: broken and duplicate macro definitions in sbl headers
--
commit 16e18859cf46bda5dac6f9baa31ae685653174a5
Author: Doug Ledford <doug.ledford@hpe.com>
net: hpe: sbl: add the Slingshot Base Link headers
This commit adds the internal, kernel, and UAPI header files for the HPE
Slingshot Base Link (SBL) 200 Gb/s link layer driver used by the first
generation Cassini NIC.
> diff --git a/drivers/net/ethernet/hpe/sbl/sbl_constants.h b/drivers/net/ethernet/hpe/sbl/sbl_constants.h
> new file mode 100644
> index 0000000000000..a21a43f84a047
> --- /dev/null
> +++ b/drivers/net/ethernet/hpe/sbl/sbl_constants.h
[ ... ]
> +#define SPICO_INT_DATA_TXEQ_DATA_MASK 0x00ff
> +#define SPICO_INT_DATA_RXEQ_VAL_MASK 0x00ff
> +#define SPICO_INT_DATA_PRBS_SUCCESS 0x0002
[ ... ]
> +#define SPICO_INT_DATA_RXEQ_SIGN_MASK 0x8000
> +#define SPICO_INT_DATA_RXEQ_VAL_MASK 0x00ff
> +
> +#define SPICO_INT_DATA_HAL_DFE_APPLY 0x0018
[ ... ]
> diff --git a/drivers/net/ethernet/hpe/sbl/sbl_platform.h b/drivers/net/ethernet/hpe/sbl/sbl_platform.h
> new file mode 100644
> index 0000000000000..d47630f9e84a1
> --- /dev/null
> +++ b/drivers/net/ethernet/hpe/sbl/sbl_platform.h
> @@ -0,0 +1,35 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +
> +/* Copyright 2025 Hewlett Packard Enterprise Development LP */
> +
> +#ifndef _SBL_PLATFORM_H_
> +#define _SBL_PLATFORM_H_
> +
> +#define SBUS_RING_MTX(sbl, ring) ((sbl)->sbus_ring_mtx)
> +#define SBM_FW_MTX(sbl, ring) ((sbl)->sbm_fw_mtx)
> +
> +#define sbl_dev_log(_logfn, _dev, _fmt, ...) \
> + do { \
> + char __sbl_inst[sizeof(sbl->iattr.inst_name)]; \
> + char __sbl_eth[sizeof(sbl->iattr.eth_if_name)]; \
> + sbl_inst_names_get(sbl, __sbl_inst, __sbl_eth); \
> + _logfn((_dev), "%s[%s]: " _fmt, __sbl_inst, __sbl_eth, ##__VA_ARGS__); \
> + } while (0)
> +
> +#define sbl_dev_err(_dev, _fmt, ...) sbl_dev_log(dev_err, _dev, _fmt, ##__VA_ARGS__)
> +#define sbl_dev_dbg(_dev, _fmt, ...) sbl_dev_log(dev_dbg, _dev, _fmt, ##__VA_ARGS__)
> +#define sbl_dev_warn(_dev, _fmt, ...) sbl_dev_log(dev_warn, _dev, _fmt, ##__VA_ARGS__)
> +#define sbl_dev_info(_dev, _fmt, ...) sbl_dev_log(dev_info, _dev, _fmt, ##__VA_ARGS__)
> +#define sbl_dev_err_ratelimited(_dev, _fmt, ...) \
> + sbl_dev_log(dev_err_ratelimited, _dev, _fmt, ##__VA_ARGS__)
> +#define sbl_dev_dbg_ratelimited(_dev, _fmt, ...) \
> + sbl_dev_log(dev_dbg_ratelimited, _dev, _fmt, ##__VA_ARGS__)
> +/* Configuration passing into SBL init */
> +struct sbl_init_attr {
> + u32 magic;
> + u32 uc_nic;
> + u32 uc_platform;
> + bool is_hw;
> +};
> +
> +#endif /* _SBL_PLATFORM_H_ */
[Severity: Low]
This isn't a bug, but drivers/net/ethernet/hpe/sbl/sbl_platform.h and
include/linux/hpe/sbl/sbl_platform.h are byte-for-byte identical files with
the same _SBL_PLATFORM_H_ include guard. Since include/linux/hpe/sbl/sbl.h
includes sbl_platform.h from its own directory, one copy can shadow the other
depending on include order. Could the duplicate file in
drivers/net/ethernet/hpe/sbl/sbl_platform.h be dropped?
In addition, sbl_dev_log() takes _dev as a macro parameter but implicitly
references an undeclared caller variable named sbl, calls
sbl_inst_names_get() which is only defined later in
include/linux/hpe/sbl/sbl.h, and unconditionally acquires and releases
sbl->name_lock even when dynamic debug logging is disabled. Could sbl be
passed explicitly (or derived from _dev) and sbl_dev_log() moved after
sbl_inst_names_get()?
There are also several other duplicated definitions across the headers in
this patch:
- SPICO_INT_DATA_RXEQ_VAL_MASK is defined twice in
drivers/net/ethernet/hpe/sbl/sbl_constants.h.
- SBUS_ADDR, SBUS_RING, SBUS_RX_ADDR, LEVEL_ERR, LEVEL_WARN, LEVEL_INFO,
LEVEL_DBG, SPICO_SBR_DATA_BE_012, SPICO_SBR_DATA_BE_01,
SPICO_SBR_DATA_BE_0, SPICO_SBR_DATA_W0_OFFSET, SPICO_SBR_DATA_W1_OFFSET,
SPICO_SBR_DATA_W2_OFFSET, and SPICO_INT_DATA_NONE are defined in both
drivers/net/ethernet/hpe/sbl/sbl_constants.h and
include/uapi/ethernet/sbl_sbm_constants.h.
- sbl_pml_pcs_sysfs_sprint() and sbl_pml_pcs_lane_degrade_sysfs_sprint() are
declared in both drivers/net/ethernet/hpe/sbl/sbl_link.h and
include/linux/hpe/sbl/sbl.h.
Could these duplicate definitions be consolidated?
> diff --git a/drivers/net/ethernet/hpe/sbl/sbl_sbm.h b/drivers/net/ethernet/hpe/sbl/sbl_sbm.h
> new file mode 100644
> index 0000000000000..73b97081a5d77
> --- /dev/null
> +++ b/drivers/net/ethernet/hpe/sbl/sbl_sbm.h
> @@ -0,0 +1,73 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +/* Copyright 2019-2026 Hewlett Packard Enterprise Development LP. All rights reserved. */
> +
> +#ifndef SBL_SBM_H
> +#define SBL_SBM_H
> +
> +#include <linux/kernel.h>
> +#include <linux/device.h>
> +#include <linux/errno.h>
> +
> +#include <linux/hpe/sbl/sbl.h>
> +
> +#include "sbl_internal.h"
> +
> +#define SBL_ERR(dev, format, args...) sbl_dev_err(dev, format, ## args)
> +#define SBL_WARN(dev, format, args...) sbl_dev_warn(dev, format, ## args)
> +#define SBL_INFO(dev, format, args...) sbl_dev_info(dev, format, ## args)
> +#define SBL_TRACE1(dev, format, args...) dev_dbg(dev, format, ## args)
> +#define SBL_TRACE2(dev, format, args...) DEV_TRACE2(dev, format, ## args)
> +#define SBL_TRACE3(dev, format, args...) DEV_TRACE3(dev, format, ## args)
> +
> +inline int sbl_sbm_sbus_op(struct sbl_inst *sbl, int ring, u32 req_data,
> + u8 data_addr, u8 rx_addr, u8 command,
> + u32 *rsp_data, u8 *result_code, u8 *overrun,
> + int timeout, u32 flags)
> +{
> + return sbl_sbus_op(sbl, ring, req_data, data_addr, rx_addr, command,
> + rsp_data, result_code, overrun, timeout, flags);
> +}
> +
> +inline int sbl_sbm_sbus_op_reset(struct sbl_inst *sbl, int ring)
> +{
> + return sbl_sbus_op_reset(sbl, ring);
> +}
> +
> +inline int sbl_sbm_pml_serdes_op(struct sbl_inst *sbl, int port_num,
> + u64 serdes_sel, u64 op, u64 data,
> + u16 *result, int timeout, u32 flags)
> +{
> + return sbl_pml_serdes_op(sbl, port_num, serdes_sel, op, data, result,
> + timeout, flags);
> +}
> +
> +inline int sbl_sbm_get_sbus_op_timeout_ms(struct sbl_inst *sbl)
> +{
> + return sbl->iattr.sbus_op_timeout_ms;
> +}
> +
> +inline int sbl_sbm_get_sbus_int_timeout(struct sbl_inst *sbl)
> +{
> + return sbl->iattr.sbus_int_timeout;
> +}
> +
> +inline int sbl_sbm_get_sbus_int_poll_interval(struct sbl_inst *sbl)
> +{
> + return sbl->iattr.sbus_int_poll_interval;
> +}
> +
> +inline int sbl_sbm_get_serdes_op_timeout_ms(struct sbl_inst *sbl)
> +{
> + return sbl->iattr.serdes_op_timeout_ms;
> +}
> +
> +inline int sbl_sbm_get_sbus_op_flags(struct sbl_inst *sbl)
> +{
> + return sbl->sbus_op_flags;
> +}
> +
> +inline int sbl_sbm_get_serdes_op_flags(struct sbl_inst *sbl)
> +{
> + return sbl->iattr.serdes_op_flags;
> +}
> +#endif /* SBL_SBM_H */
[Severity: Low]
Should these nine inline helper functions in
drivers/net/ethernet/hpe/sbl/sbl_sbm.h (sbl_sbm_sbus_op() through
sbl_sbm_get_serdes_op_flags()) be declared static inline instead of bare
inline?
In the kernel, inline expands with __gnu_inline, so a bare inline definition
without static or a prior prototype emits an externally visible out-of-line
function symbol in every translation unit that includes sbl_sbm.h. That
triggers -Wmissing-prototypes and -Wmissing-declarations warnings (breaking
the build under CONFIG_WERROR=y) when compiling sbl_sbm_serdes.c, and will
cause multiple-definition linker errors if more than one translation unit
includes this header.
> diff --git a/include/linux/hpe/sbl/sbl_fec.h b/include/linux/hpe/sbl/sbl_fec.h
> new file mode 100644
> index 0000000000000..23594d79a91a9
> --- /dev/null
> +++ b/include/linux/hpe/sbl/sbl_fec.h
> @@ -0,0 +1,88 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +
> +/* Copyright 2024 Hewlett Packard Enterprise Development LP */
> +
> +/* FEC up check */
> +#define SBL_FEC_UP_SETTLE_PERIOD 250 /* ms */
> +#define SBL_FEC_UP_WINDOW 250 /* ms */
> +#define SBL_FEC_UP_COUNT_FABRIC 4
> +#define SBL_FEC_UP_COUNT_EDGE 1
> +#define SBL_FEC_MON_PERIOD 1000 /* 1sec*/
> +#define SBL_FEC_LLR_TX_REPLAY_THRESH 100000 /* llr_tx_replays/s */
> +#define SBL_PCS_NUM_FECL_CNTRS 8
> +#define SBL_MAX_FEC_WARNINGS 3 /* number of warnings issued */
> +
> +struct sbl_pcs_fec_cntrs {
> + u64 ccw; /* corrected code words */
> + u64 ucw; /* uncorrected code words */
> + u64 llr_tx_replay; /* llr_tx_replay_event count */
> + u64 fecl[SBL_PCS_NUM_FECL_CNTRS]; /* lane errors */
> + unsigned long time; /* either abs or interval */
> +};
[Severity: Low]
Unlike the other headers in this patch, include/linux/hpe/sbl/sbl_fec.h does
not have an #ifndef / #define / #endif include guard, and it uses u64, u32,
s32, bool, spinlock_t, struct timer_list, and struct work_struct without
including linux/types.h, linux/spinlock.h, linux/timer.h, or
linux/workqueue.h.
If sbl_fec.h is included more than once in a translation unit, or included
before those kernel headers, compilation will fail with redefinition or
unknown type errors. Could an include guard and the required header includes
be added to sbl_fec.h?
> diff --git a/include/linux/hpe/sbl/sbl_pml.h b/include/linux/hpe/sbl/sbl_pml.h
> new file mode 100644
> index 0000000000000..92b32f1dcf220
> --- /dev/null
> +++ b/include/linux/hpe/sbl/sbl_pml.h
[ ... ]
> +#define SBL_PML_CFG_PCS_PCS_MODE_UPDATE(a, b) \
> + C_UPDATE(a, b, c1_hni_pml_cfg_pcs, pcs_mode)
> +#define SBL_PML_CFG_PCS_BY_25G_FEC_MODE_UPDATE(a, b) \
> + C_UPDATE(a, b, c1_hni_pml_cfg_pcs, by_25g_fec_mode)
> +#define SBL_PML_CFG_PCS_TIMESTAMP_SHIFT_UPDATE(a, b) \
> + C_UPDATE(a, b, c1_hni_pml_cfg_pcs, timestamp_shift)
[ ... ]
> +/* DFLT defines */
> +#define SBL_PML_CFG_LLR_MAC_IF_CREDITS C1_HNI_CFG_LLR_MAC__IF_CREDITS
> +#define SBL_PML_CFG_TX_MAC_PCS_CREDITS C1_HNI_CFG_TX_MAC__PCS_CREDITS
> +#define SBL_PML_CFG_TX_PCS_CDC_READY_LEVEL C1_HNI_CFG_TX_PCS__CDC_READY_LEVEL
> +#define SBL_PML_CFG_TX_PCS_GEARBOX_CREDITS C1_HNI_CFG_TX_PCS__GEARBOX_CREDITS
> +#define SBL_PML_CFG_TX_PCS_CDC_READY_LEVEL_DFLT \
> + C1_HNI_PML_CFG_TX_PCS__CDC_READY_LEVEL
[ ... ]
> +#define SBL_PML_CFG_SERDES_CORE_INTERRUPT_CAPTURE_INTERRUPT_DATA_DELAY_SET(a) \
> + C_SET(a, c1_hni_pml_cfg_serdes_core_interrupt, \
> + capture_interrupt_data_delay)
> +#define SBL_PML_CFG_SERDES_CORE_INTERRUPT_CLEAR_INTERRUPT_DELAY_SET(a) \
> + C_SET(a, c1_hni_pml_cfg_serdes_core_interrupt, clear_interrupt_delay)
> +#define SBL_PML_CFG_SERDES_CORE_INTERRUPT_SET_INTERRUPT_DELAY_SET(a) \
> + C_SET(a, c1_hni_pml_cfg_serdes_core_interrupt, set_interrupt_delay)
[ ... ]
> +#define SBL_PML_CFG_SERDES_CORE_INTERRUPT_CAPTURE_INTERRUPT_DATA_DELAY_SET(a) \
> + C_SET(a, c1_hni_pml_cfg_serdes_core_interrupt, \
> + capture_interrupt_data_delay)
> +#define SBL_PML_CFG_SERDES_CORE_INTERRUPT_CLEAR_INTERRUPT_DELAY_SET(a) \
> + C_SET(a, c1_hni_pml_cfg_serdes_core_interrupt, clear_interrupt_delay)
> +#define SBL_PML_CFG_SERDES_CORE_INTERRUPT_SET_INTERRUPT_DELAY_SET(a) \
> + C_SET(a, c1_hni_pml_cfg_serdes_core_interrupt, set_interrupt_delay)
[ ... ]
> +/* GET defines */
> +#define SBL_PML_CFG_LLR_LINK_DOWN_BEHAVIOR_GET(a) \
> + C_GET(a, c1_hni_pml_cfg_llr, link_down_behavior)
> +#define SBL_PML_CFG_LLR_LLR_MODE_GET(a) C_GET(a, c1_hni_pml_cfg_llr, llr_mode)
> +#define SBL_PML_CFG_LLR_SM_REPLAY_CT_MAX_GET(a) \
> + C_GET(a, c_hni_pml_cfg_llr_sm, replay_ct_max)
> +#define SBL_PML_CFG_PCS_AUTONEG_NEXT_PAGE_LOADED_GET(a) \
> + C_GET(a, c1_hni_pml_cfg_pcs_autoneg, next_page_loaded)
[ ... ]
> +#define SS2_PORT_PML_CFG_TX_PCS_SUBPORT_GEARBOX_CREDITS_UPDATE(a, b) \
> + C_UPDATE(a, b, ss2_port_pml_cfg_tx_pcs_subport, gearbox_credits)
> +#define SS2_PORT_PML_CFG_TX_PCS_KEEP_ALL_LANES_ACTIVE_UPDATE(a, b) \
> + C_UPDATE(a, b, ss2_port_pml_cfg_tx_pcs, keep_all_lanes_active)
[ ... ]
> diff --git a/include/uapi/ethernet/sbl_serdes_defaults.h b/include/uapi/ethernet/sbl_serdes_defaults.h
> new file mode 100644
> index 0000000000000..440ee8631ce79
> --- /dev/null
> +++ b/include/uapi/ethernet/sbl_serdes_defaults.h
[ ... ]
> +#define SBL_DFLT_CORE_STATUS_RD_TIMEOUT 1
> +#define SBL_DFLT_CORE_STATUS_RD_POLL_INTERVAL 50
> +#define SBL_DFLT_PLATFORM SBL_PLAT_HARDWARE
[Severity: Low]
Several macro definitions in include/linux/hpe/sbl/sbl_pml.h and
include/uapi/ethernet/sbl_serdes_defaults.h reference nonexistent types,
members, or constants, or are duplicated:
1. SBL_PML_CFG_PCS_AUTONEG_NEXT_PAGE_LOADED_GET(a) references union
c1_hni_pml_cfg_pcs_autoneg, whereas include/uapi/ethernet/cassini_user_defs.h
defines union c_hni_pml_cfg_pcs_autoneg (as used by
SBL_PML_CFG_PCS_AUTONEG_NEXT_PAGE_LOADED_UPDATE and
SBL_PML_CFG_PCS_AUTONEG_NEXT_PAGE_LOADED_SET).
2. SBL_PML_CFG_PCS_BY_25G_FEC_MODE_UPDATE(a, b) accesses member
by_25g_fec_mode on union c1_hni_pml_cfg_pcs, which does not have that
field in cassini_user_defs.h (only union ss2_port_pml_cfg_pcs has
by_25g_fec_mode).
3. SS2_PORT_PML_CFG_TX_PCS_KEEP_ALL_LANES_ACTIVE_UPDATE(a, b) accesses member
keep_all_lanes_active on union ss2_port_pml_cfg_tx_pcs, which does not
exist in cassini_user_defs.h.
4. SBL_PML_CFG_LLR_MAC_IF_CREDITS, SBL_PML_CFG_TX_MAC_PCS_CREDITS,
SBL_PML_CFG_TX_PCS_CDC_READY_LEVEL, and
SBL_PML_CFG_TX_PCS_GEARBOX_CREDITS expand to C1_HNI_CFG_* identifiers that
omit _PML_ and do not exist in
include/linux/hpe/cxi/cassini_csr_defaults.h (unlike the _DFLT variants
right below them).
5. SBL_PML_CFG_SERDES_CORE_INTERRUPT_CAPTURE_INTERRUPT_DATA_DELAY_SET,
SBL_PML_CFG_SERDES_CORE_INTERRUPT_CLEAR_INTERRUPT_DELAY_SET, and
SBL_PML_CFG_SERDES_CORE_INTERRUPT_SET_INTERRUPT_DELAY_SET are defined
twice in include/linux/hpe/sbl/sbl_pml.h.
6. In include/uapi/ethernet/sbl_serdes_defaults.h, SBL_DFLT_PLATFORM expands
to SBL_PLAT_HARDWARE, which is not defined in any UAPI or kernel header.
Should these macro definitions be fixed or removed if unused?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261030-cxi-netdev-submission-v1-0-8c2c391cc283@hpe.com?part=2
next prev parent reply other threads:[~2026-10-31 21:02 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-30 20:58 [PATCH 00/23] Subject: [PATCH net-next 00/23] net/hpe: add HPE Slingshot NIC drivers Doug Ledford
2026-10-30 20:58 ` [PATCH 01/23] net: hpe: ss1: add the Cassini headers Doug Ledford
2026-10-31 13:58 ` Andrew Lunn
2026-10-31 19:34 ` Doug Ledford
2026-10-30 20:58 ` [PATCH 02/23] net: hpe: sbl: add the Slingshot Base Link headers Doug Ledford
2026-10-31 21:02 ` sashiko-bot [this message]
2026-10-30 20:58 ` [PATCH 03/23] net: hpe: sbl: add the core instance and configuration layer Doug Ledford
2026-10-31 21:02 ` sashiko-bot
2026-10-30 20:59 ` [PATCH 04/23] net: hpe: sbl: add the SerDes layer Doug Ledford
2026-10-31 21:02 ` sashiko-bot
2026-10-30 20:59 ` [PATCH 05/23] net: hpe: sbl: add the PML link layer Doug Ledford
2026-10-31 21:02 ` sashiko-bot
2026-10-30 20:59 ` [PATCH 06/23] net: hpe: sbl: add link state management Doug Ledford
2026-10-31 21:02 ` sashiko-bot
2026-10-30 20:59 ` [PATCH 07/23] net: hpe: sbl: add the SBM serial bus layer Doug Ledford
2026-10-31 21:02 ` sashiko-bot
2026-10-30 20:59 ` [PATCH 08/23] net: hpe: sbl: add media, FEC and counter support Doug Ledford
2026-10-31 21:02 ` sashiko-bot
2026-10-30 20:59 ` [PATCH 09/23] net: hpe: sl: add the Slingshot Link headers Doug Ledford
2026-10-30 20:59 ` [PATCH 10/23] net: hpe: sl: add the module entry points Doug Ledford
2026-10-31 21:02 ` sashiko-bot
2026-10-30 20:59 ` [PATCH 11/23] net: hpe: sl: add the core link state machines Doug Ledford
2026-10-30 20:59 ` [PATCH 12/23] net: hpe: sl: add the control layer Doug Ledford
2026-10-31 21:02 ` sashiko-bot
2026-10-30 20:59 ` [PATCH 13/23] net: hpe: sl: add media and cable handling Doug Ledford
2026-10-31 21:02 ` sashiko-bot
2026-10-30 20:59 ` [PATCH 14/23] net: hpe: sl: add the sysfs interface Doug Ledford
2026-10-30 20:59 ` [PATCH 15/23] net: hpe: sl: add the NIC binding and logging helpers Doug Ledford
2026-10-31 21:02 ` sashiko-bot
2026-10-30 20:59 ` [PATCH 16/23] net: hpe: ss1: add the Cassini core device layer Doug Ledford
2026-10-30 20:59 ` [PATCH 17/23] net: hpe: ss1: add the datapath and memory translation layers Doug Ledford
2026-10-30 20:59 ` [PATCH 18/23] net: hpe: ss1: add the link layer glue Doug Ledford
2026-10-31 21:02 ` sashiko-bot
2026-10-30 20:59 ` [PATCH 19/23] net: hpe: ss1: add SR-IOV support Doug Ledford
2026-10-31 21:02 ` sashiko-bot
2026-10-30 20:59 ` [PATCH 20/23] net: hpe: ss1: add the CXI core interfaces Doug Ledford
2026-10-31 21:02 ` sashiko-bot
2026-10-30 20:59 ` [PATCH 21/23] net: hpe: ss1: add resource groups, QoS and services Doug Ledford
2026-10-30 20:59 ` [PATCH 22/23] net: hpe: ss1: add the Ethernet personality Doug Ledford
2026-10-31 21:02 ` sashiko-bot
2026-10-30 20:59 ` [PATCH 23/23] net: hpe: wire up the Slingshot NIC drivers Doug Ledford
2026-10-31 21:02 ` sashiko-bot
2026-10-30 22:11 ` [PATCH 00/23] Subject: [PATCH net-next 00/23] net/hpe: add HPE " Jakub Kicinski
2026-10-31 20:17 ` Andrew Lunn
2026-11-02 1:02 ` Doug Ledford
2026-11-02 1:35 ` Andrew Lunn
2026-11-02 3:45 ` Doug Ledford
2026-11-02 3:01 ` Guenter Roeck
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=sashiko-outbox-192134@kernel.org \
--to=sashiko-bot@kernel.org \
--cc=andrew+netdev@lunn.ch \
--cc=christian.koenig@amd.com \
--cc=davem@davemloft.net \
--cc=doug.ledford@hpe.com \
--cc=edumazet@kernel.org \
--cc=iraimani.pavadai@hpe.com \
--cc=kuba@kernel.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=nathan@kernel.org \
--cc=nsc@kernel.org \
--cc=pabeni@redhat.com \
--cc=richardcochran@gmail.com \
--cc=sandeep.bhoot@hpe.com \
--cc=sashiko-reviews@lists.linux.dev \
--cc=slingshot-os-team@groups.ext.hpe.com \
--cc=sumit.semwal@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.