From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
patches@lists.linux.dev, Jie Wang <wangjie125@huawei.com>,
Guangbin Huang <huangguangbin2@huawei.com>,
"David S. Miller" <davem@davemloft.net>,
Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.15 124/168] net: hns3: create new set of unified hclge_comm_cmd_send APIs
Date: Tue, 14 May 2024 12:20:22 +0200 [thread overview]
Message-ID: <20240514101011.365186374@linuxfoundation.org> (raw)
In-Reply-To: <20240514101006.678521560@linuxfoundation.org>
5.15-stable review patch. If anyone has any objections, please let me know.
------------------
From: Jie Wang <wangjie125@huawei.com>
[ Upstream commit 8d307f8e8cf195921b10939dde673f1f039bd732 ]
This patch create new set of unified hclge_comm_cmd_send APIs for PF and VF
cmdq module. Subfunctions called by hclge_comm_cmd_send are also created
include cmdq result check, cmdq return code conversion and ring space
opertaion APIs.
These new common cmdq APIs will be used to replace the old PF and VF cmdq
APIs in next patches.
Signed-off-by: Jie Wang <wangjie125@huawei.com>
Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stable-dep-of: 6639a7b95321 ("net: hns3: change type of numa_node_mask as nodemask_t")
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
.../hns3/hns3_common/hclge_comm_cmd.c | 259 ++++++++++++++++++
.../hns3/hns3_common/hclge_comm_cmd.h | 66 +++++
2 files changed, 325 insertions(+)
create mode 100644 drivers/net/ethernet/hisilicon/hns3/hns3_common/hclge_comm_cmd.c
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_common/hclge_comm_cmd.c b/drivers/net/ethernet/hisilicon/hns3/hns3_common/hclge_comm_cmd.c
new file mode 100644
index 0000000000000..89e999248b9af
--- /dev/null
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3_common/hclge_comm_cmd.c
@@ -0,0 +1,259 @@
+// SPDX-License-Identifier: GPL-2.0+
+// Copyright (c) 2021-2021 Hisilicon Limited.
+
+#include "hnae3.h"
+#include "hclge_comm_cmd.h"
+
+static bool hclge_is_elem_in_array(const u16 *spec_opcode, u32 size, u16 opcode)
+{
+ u32 i;
+
+ for (i = 0; i < size; i++) {
+ if (spec_opcode[i] == opcode)
+ return true;
+ }
+
+ return false;
+}
+
+static const u16 pf_spec_opcode[] = { HCLGE_COMM_OPC_STATS_64_BIT,
+ HCLGE_COMM_OPC_STATS_32_BIT,
+ HCLGE_COMM_OPC_STATS_MAC,
+ HCLGE_COMM_OPC_STATS_MAC_ALL,
+ HCLGE_COMM_OPC_QUERY_32_BIT_REG,
+ HCLGE_COMM_OPC_QUERY_64_BIT_REG,
+ HCLGE_COMM_QUERY_CLEAR_MPF_RAS_INT,
+ HCLGE_COMM_QUERY_CLEAR_PF_RAS_INT,
+ HCLGE_COMM_QUERY_CLEAR_ALL_MPF_MSIX_INT,
+ HCLGE_COMM_QUERY_CLEAR_ALL_PF_MSIX_INT,
+ HCLGE_COMM_QUERY_ALL_ERR_INFO };
+
+static const u16 vf_spec_opcode[] = { HCLGE_COMM_OPC_STATS_64_BIT,
+ HCLGE_COMM_OPC_STATS_32_BIT,
+ HCLGE_COMM_OPC_STATS_MAC };
+
+static bool hclge_comm_is_special_opcode(u16 opcode, bool is_pf)
+{
+ /* these commands have several descriptors,
+ * and use the first one to save opcode and return value
+ */
+ const u16 *spec_opcode = is_pf ? pf_spec_opcode : vf_spec_opcode;
+ u32 size = is_pf ? ARRAY_SIZE(pf_spec_opcode) :
+ ARRAY_SIZE(vf_spec_opcode);
+
+ return hclge_is_elem_in_array(spec_opcode, size, opcode);
+}
+
+static int hclge_comm_ring_space(struct hclge_comm_cmq_ring *ring)
+{
+ int ntc = ring->next_to_clean;
+ int ntu = ring->next_to_use;
+ int used = (ntu - ntc + ring->desc_num) % ring->desc_num;
+
+ return ring->desc_num - used - 1;
+}
+
+static void hclge_comm_cmd_copy_desc(struct hclge_comm_hw *hw,
+ struct hclge_desc *desc, int num)
+{
+ struct hclge_desc *desc_to_use;
+ int handle = 0;
+
+ while (handle < num) {
+ desc_to_use = &hw->cmq.csq.desc[hw->cmq.csq.next_to_use];
+ *desc_to_use = desc[handle];
+ (hw->cmq.csq.next_to_use)++;
+ if (hw->cmq.csq.next_to_use >= hw->cmq.csq.desc_num)
+ hw->cmq.csq.next_to_use = 0;
+ handle++;
+ }
+}
+
+static int hclge_comm_is_valid_csq_clean_head(struct hclge_comm_cmq_ring *ring,
+ int head)
+{
+ int ntc = ring->next_to_clean;
+ int ntu = ring->next_to_use;
+
+ if (ntu > ntc)
+ return head >= ntc && head <= ntu;
+
+ return head >= ntc || head <= ntu;
+}
+
+static int hclge_comm_cmd_csq_clean(struct hclge_comm_hw *hw)
+{
+ struct hclge_comm_cmq_ring *csq = &hw->cmq.csq;
+ int clean;
+ u32 head;
+
+ head = hclge_comm_read_dev(hw, HCLGE_COMM_NIC_CSQ_HEAD_REG);
+ rmb(); /* Make sure head is ready before touch any data */
+
+ if (!hclge_comm_is_valid_csq_clean_head(csq, head)) {
+ dev_warn(&hw->cmq.csq.pdev->dev, "wrong cmd head (%u, %d-%d)\n",
+ head, csq->next_to_use, csq->next_to_clean);
+ dev_warn(&hw->cmq.csq.pdev->dev,
+ "Disabling any further commands to IMP firmware\n");
+ set_bit(HCLGE_COMM_STATE_CMD_DISABLE, &hw->comm_state);
+ dev_warn(&hw->cmq.csq.pdev->dev,
+ "IMP firmware watchdog reset soon expected!\n");
+ return -EIO;
+ }
+
+ clean = (head - csq->next_to_clean + csq->desc_num) % csq->desc_num;
+ csq->next_to_clean = head;
+ return clean;
+}
+
+static int hclge_comm_cmd_csq_done(struct hclge_comm_hw *hw)
+{
+ u32 head = hclge_comm_read_dev(hw, HCLGE_COMM_NIC_CSQ_HEAD_REG);
+ return head == hw->cmq.csq.next_to_use;
+}
+
+static void hclge_comm_wait_for_resp(struct hclge_comm_hw *hw,
+ bool *is_completed)
+{
+ u32 timeout = 0;
+
+ do {
+ if (hclge_comm_cmd_csq_done(hw)) {
+ *is_completed = true;
+ break;
+ }
+ udelay(1);
+ timeout++;
+ } while (timeout < hw->cmq.tx_timeout);
+}
+
+static int hclge_comm_cmd_convert_err_code(u16 desc_ret)
+{
+ struct hclge_comm_errcode hclge_comm_cmd_errcode[] = {
+ { HCLGE_COMM_CMD_EXEC_SUCCESS, 0 },
+ { HCLGE_COMM_CMD_NO_AUTH, -EPERM },
+ { HCLGE_COMM_CMD_NOT_SUPPORTED, -EOPNOTSUPP },
+ { HCLGE_COMM_CMD_QUEUE_FULL, -EXFULL },
+ { HCLGE_COMM_CMD_NEXT_ERR, -ENOSR },
+ { HCLGE_COMM_CMD_UNEXE_ERR, -ENOTBLK },
+ { HCLGE_COMM_CMD_PARA_ERR, -EINVAL },
+ { HCLGE_COMM_CMD_RESULT_ERR, -ERANGE },
+ { HCLGE_COMM_CMD_TIMEOUT, -ETIME },
+ { HCLGE_COMM_CMD_HILINK_ERR, -ENOLINK },
+ { HCLGE_COMM_CMD_QUEUE_ILLEGAL, -ENXIO },
+ { HCLGE_COMM_CMD_INVALID, -EBADR },
+ };
+ u32 errcode_count = ARRAY_SIZE(hclge_comm_cmd_errcode);
+ u32 i;
+
+ for (i = 0; i < errcode_count; i++)
+ if (hclge_comm_cmd_errcode[i].imp_errcode == desc_ret)
+ return hclge_comm_cmd_errcode[i].common_errno;
+
+ return -EIO;
+}
+
+static int hclge_comm_cmd_check_retval(struct hclge_comm_hw *hw,
+ struct hclge_desc *desc, int num,
+ int ntc, bool is_pf)
+{
+ u16 opcode, desc_ret;
+ int handle;
+
+ opcode = le16_to_cpu(desc[0].opcode);
+ for (handle = 0; handle < num; handle++) {
+ desc[handle] = hw->cmq.csq.desc[ntc];
+ ntc++;
+ if (ntc >= hw->cmq.csq.desc_num)
+ ntc = 0;
+ }
+ if (likely(!hclge_comm_is_special_opcode(opcode, is_pf)))
+ desc_ret = le16_to_cpu(desc[num - 1].retval);
+ else
+ desc_ret = le16_to_cpu(desc[0].retval);
+
+ hw->cmq.last_status = desc_ret;
+
+ return hclge_comm_cmd_convert_err_code(desc_ret);
+}
+
+static int hclge_comm_cmd_check_result(struct hclge_comm_hw *hw,
+ struct hclge_desc *desc,
+ int num, int ntc, bool is_pf)
+{
+ bool is_completed = false;
+ int handle, ret;
+
+ /* If the command is sync, wait for the firmware to write back,
+ * if multi descriptors to be sent, use the first one to check
+ */
+ if (HCLGE_COMM_SEND_SYNC(le16_to_cpu(desc->flag)))
+ hclge_comm_wait_for_resp(hw, &is_completed);
+
+ if (!is_completed)
+ ret = -EBADE;
+ else
+ ret = hclge_comm_cmd_check_retval(hw, desc, num, ntc, is_pf);
+
+ /* Clean the command send queue */
+ handle = hclge_comm_cmd_csq_clean(hw);
+ if (handle < 0)
+ ret = handle;
+ else if (handle != num)
+ dev_warn(&hw->cmq.csq.pdev->dev,
+ "cleaned %d, need to clean %d\n", handle, num);
+ return ret;
+}
+
+/**
+ * hclge_comm_cmd_send - send command to command queue
+ * @hw: pointer to the hw struct
+ * @desc: prefilled descriptor for describing the command
+ * @num : the number of descriptors to be sent
+ * @is_pf: bool to judge pf/vf module
+ *
+ * This is the main send command for command queue, it
+ * sends the queue, cleans the queue, etc
+ **/
+int hclge_comm_cmd_send(struct hclge_comm_hw *hw, struct hclge_desc *desc,
+ int num, bool is_pf)
+{
+ struct hclge_comm_cmq_ring *csq = &hw->cmq.csq;
+ int ret;
+ int ntc;
+
+ spin_lock_bh(&hw->cmq.csq.lock);
+
+ if (test_bit(HCLGE_COMM_STATE_CMD_DISABLE, &hw->comm_state)) {
+ spin_unlock_bh(&hw->cmq.csq.lock);
+ return -EBUSY;
+ }
+
+ if (num > hclge_comm_ring_space(&hw->cmq.csq)) {
+ /* If CMDQ ring is full, SW HEAD and HW HEAD may be different,
+ * need update the SW HEAD pointer csq->next_to_clean
+ */
+ csq->next_to_clean =
+ hclge_comm_read_dev(hw, HCLGE_COMM_NIC_CSQ_HEAD_REG);
+ spin_unlock_bh(&hw->cmq.csq.lock);
+ return -EBUSY;
+ }
+
+ /**
+ * Record the location of desc in the ring for this time
+ * which will be use for hardware to write back
+ */
+ ntc = hw->cmq.csq.next_to_use;
+
+ hclge_comm_cmd_copy_desc(hw, desc, num);
+
+ /* Write to hardware */
+ hclge_comm_write_dev(hw, HCLGE_COMM_NIC_CSQ_TAIL_REG,
+ hw->cmq.csq.next_to_use);
+
+ ret = hclge_comm_cmd_check_result(hw, desc, num, ntc, is_pf);
+
+ spin_unlock_bh(&hw->cmq.csq.lock);
+
+ return ret;
+}
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_common/hclge_comm_cmd.h b/drivers/net/ethernet/hisilicon/hns3/hns3_common/hclge_comm_cmd.h
index f1e39003ceebe..5164c666cae71 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3_common/hclge_comm_cmd.h
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3_common/hclge_comm_cmd.h
@@ -7,6 +7,52 @@
#include "hnae3.h"
+#define HCLGE_COMM_CMD_FLAG_NO_INTR BIT(4)
+
+#define HCLGE_COMM_SEND_SYNC(flag) \
+ ((flag) & HCLGE_COMM_CMD_FLAG_NO_INTR)
+
+#define HCLGE_COMM_NIC_CSQ_TAIL_REG 0x27010
+#define HCLGE_COMM_NIC_CSQ_HEAD_REG 0x27014
+
+enum hclge_comm_cmd_return_status {
+ HCLGE_COMM_CMD_EXEC_SUCCESS = 0,
+ HCLGE_COMM_CMD_NO_AUTH = 1,
+ HCLGE_COMM_CMD_NOT_SUPPORTED = 2,
+ HCLGE_COMM_CMD_QUEUE_FULL = 3,
+ HCLGE_COMM_CMD_NEXT_ERR = 4,
+ HCLGE_COMM_CMD_UNEXE_ERR = 5,
+ HCLGE_COMM_CMD_PARA_ERR = 6,
+ HCLGE_COMM_CMD_RESULT_ERR = 7,
+ HCLGE_COMM_CMD_TIMEOUT = 8,
+ HCLGE_COMM_CMD_HILINK_ERR = 9,
+ HCLGE_COMM_CMD_QUEUE_ILLEGAL = 10,
+ HCLGE_COMM_CMD_INVALID = 11,
+};
+
+enum hclge_comm_special_cmd {
+ HCLGE_COMM_OPC_STATS_64_BIT = 0x0030,
+ HCLGE_COMM_OPC_STATS_32_BIT = 0x0031,
+ HCLGE_COMM_OPC_STATS_MAC = 0x0032,
+ HCLGE_COMM_OPC_STATS_MAC_ALL = 0x0034,
+ HCLGE_COMM_OPC_QUERY_32_BIT_REG = 0x0041,
+ HCLGE_COMM_OPC_QUERY_64_BIT_REG = 0x0042,
+ HCLGE_COMM_QUERY_CLEAR_MPF_RAS_INT = 0x1511,
+ HCLGE_COMM_QUERY_CLEAR_PF_RAS_INT = 0x1512,
+ HCLGE_COMM_QUERY_CLEAR_ALL_MPF_MSIX_INT = 0x1514,
+ HCLGE_COMM_QUERY_CLEAR_ALL_PF_MSIX_INT = 0x1515,
+ HCLGE_COMM_QUERY_ALL_ERR_INFO = 0x1517,
+};
+
+enum hclge_comm_cmd_state {
+ HCLGE_COMM_STATE_CMD_DISABLE,
+};
+
+struct hclge_comm_errcode {
+ u32 imp_errcode;
+ int common_errno;
+};
+
#define HCLGE_DESC_DATA_LEN 6
struct hclge_desc {
__le16 opcode;
@@ -52,4 +98,24 @@ struct hclge_comm_hw {
unsigned long comm_state;
};
+static inline void hclge_comm_write_reg(void __iomem *base, u32 reg, u32 value)
+{
+ writel(value, base + reg);
+}
+
+static inline u32 hclge_comm_read_reg(u8 __iomem *base, u32 reg)
+{
+ u8 __iomem *reg_addr = READ_ONCE(base);
+
+ return readl(reg_addr + reg);
+}
+
+#define hclge_comm_write_dev(a, reg, value) \
+ hclge_comm_write_reg((a)->io_base, reg, value)
+#define hclge_comm_read_dev(a, reg) \
+ hclge_comm_read_reg((a)->io_base, reg)
+
+int hclge_comm_cmd_send(struct hclge_comm_hw *hw, struct hclge_desc *desc,
+ int num, bool is_pf);
+
#endif
--
2.43.0
next prev parent reply other threads:[~2024-05-14 11:57 UTC|newest]
Thread overview: 177+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-14 10:18 [PATCH 5.15 000/168] 5.15.159-rc1 review Greg Kroah-Hartman
2024-05-14 10:18 ` [PATCH 5.15 001/168] dmaengine: pl330: issue_pending waits until WFP state Greg Kroah-Hartman
2024-05-14 10:18 ` [PATCH 5.15 002/168] dmaengine: Revert "dmaengine: pl330: issue_pending waits until WFP state" Greg Kroah-Hartman
2024-05-14 10:18 ` [PATCH 5.15 003/168] wifi: nl80211: dont free NULL coalescing rule Greg Kroah-Hartman
2024-05-14 10:18 ` [PATCH 5.15 004/168] ksmbd: fix slab-out-of-bounds in smb2_allocate_rsp_buf Greg Kroah-Hartman
2024-05-14 10:18 ` [PATCH 5.15 005/168] ksmbd: validate request buffer size in smb2_allocate_rsp_buf() Greg Kroah-Hartman
2024-05-14 10:18 ` [PATCH 5.15 006/168] ksmbd: clear RENAME_NOREPLACE before calling vfs_rename Greg Kroah-Hartman
2024-05-14 10:18 ` [PATCH 5.15 007/168] eeprom: at24: Use dev_err_probe for nvmem register failure Greg Kroah-Hartman
2024-05-14 10:18 ` [PATCH 5.15 008/168] eeprom: at24: Probe for DDR3 thermal sensor in the SPD case Greg Kroah-Hartman
2024-05-14 10:18 ` [PATCH 5.15 009/168] eeprom: at24: fix memory corruption race condition Greg Kroah-Hartman
2024-05-14 10:18 ` [PATCH 5.15 010/168] pinctrl: pinctrl-aspeed-g6: Fix register offset for pinconf of GPIOR-T Greg Kroah-Hartman
2024-05-14 10:18 ` [PATCH 5.15 011/168] pinctrl/meson: fix typo in PDMs pin name Greg Kroah-Hartman
2024-05-14 10:18 ` [PATCH 5.15 012/168] pinctrl: core: delete incorrect free in pinctrl_enable() Greg Kroah-Hartman
2024-05-14 10:18 ` [PATCH 5.15 013/168] pinctrl: mediatek: paris: Rework mtk_pinconf_{get,set} switch/case logic Greg Kroah-Hartman
2024-05-14 10:18 ` [PATCH 5.15 014/168] pinctrl: mediatek: paris: Fix PIN_CONFIG_INPUT_SCHMITT_ENABLE readback Greg Kroah-Hartman
2024-05-14 10:18 ` [PATCH 5.15 015/168] pinctrl: mediatek: paris: Rework support for PIN_CONFIG_{INPUT,OUTPUT}_ENABLE Greg Kroah-Hartman
2024-05-14 10:18 ` [PATCH 5.15 016/168] sunrpc: add a struct rpc_stats arg to rpc_create_args Greg Kroah-Hartman
2024-05-14 10:18 ` [PATCH 5.15 017/168] nfs: expose /proc/net/sunrpc/nfs in net namespaces Greg Kroah-Hartman
2024-05-14 10:18 ` [PATCH 5.15 018/168] nfs: make the rpc_stat per net namespace Greg Kroah-Hartman
2024-05-14 10:18 ` [PATCH 5.15 019/168] nfs: Handle error of rpc_proc_register() in nfs_net_init() Greg Kroah-Hartman
2024-05-14 10:18 ` [PATCH 5.15 020/168] power: rt9455: hide unused rt9455_boost_voltage_values Greg Kroah-Hartman
2024-05-14 10:18 ` [PATCH 5.15 021/168] power: supply: mt6360_charger: Fix of_match for usb-otg-vbus regulator Greg Kroah-Hartman
2024-05-14 10:18 ` [PATCH 5.15 022/168] pinctrl: devicetree: fix refcount leak in pinctrl_dt_to_map() Greg Kroah-Hartman
2024-05-14 10:18 ` [PATCH 5.15 023/168] regulator: mt6360: De-capitalize devicetree regulator subnodes Greg Kroah-Hartman
2024-05-14 10:18 ` [PATCH 5.15 024/168] bpf, kconfig: Fix DEBUG_INFO_BTF_MODULES Kconfig definition Greg Kroah-Hartman
2024-05-14 10:18 ` [PATCH 5.15 025/168] bpf, skmsg: Fix NULL pointer dereference in sk_psock_skb_ingress_enqueue Greg Kroah-Hartman
2024-05-14 10:18 ` [PATCH 5.15 026/168] bpf: Fix a verifier verbose message Greg Kroah-Hartman
2024-05-14 10:18 ` [PATCH 5.15 027/168] spi: hisi-kunpeng: Delete the dump interface of data registers in debugfs Greg Kroah-Hartman
2024-05-14 10:18 ` [PATCH 5.15 028/168] s390/mm: Fix storage key clearing for guest huge pages Greg Kroah-Hartman
2024-05-14 10:18 ` [PATCH 5.15 029/168] s390/mm: Fix clearing storage keys for " Greg Kroah-Hartman
2024-05-14 10:18 ` [PATCH 5.15 030/168] xdp: Move conversion to xdp_frame out of map functions Greg Kroah-Hartman
2024-05-14 10:18 ` [PATCH 5.15 031/168] xdp: Add xdp_do_redirect_frame() for pre-computed xdp_frames Greg Kroah-Hartman
2024-05-14 10:18 ` [PATCH 5.15 032/168] xdp: use flags field to disambiguate broadcast redirect Greg Kroah-Hartman
2024-05-14 10:18 ` [PATCH 5.15 033/168] bna: ensure the copied buf is NUL terminated Greg Kroah-Hartman
2024-05-14 10:18 ` [PATCH 5.15 034/168] octeontx2-af: avoid off-by-one read from userspace Greg Kroah-Hartman
2024-05-14 10:18 ` [PATCH 5.15 035/168] nsh: Restore skb->{protocol,data,mac_header} for outer header in nsh_gso_segment() Greg Kroah-Hartman
2024-05-14 10:18 ` [PATCH 5.15 036/168] net l2tp: drop flow hash on forward Greg Kroah-Hartman
2024-05-14 10:18 ` [PATCH 5.15 037/168] s390/vdso: Add CFI for RA register to asm macro vdso_func Greg Kroah-Hartman
2024-05-14 10:18 ` [PATCH 5.15 038/168] net: qede: sanitize rc in qede_add_tc_flower_fltr() Greg Kroah-Hartman
2024-05-14 10:18 ` [PATCH 5.15 039/168] net: qede: use return from qede_parse_flow_attr() for flower Greg Kroah-Hartman
2024-05-14 10:18 ` [PATCH 5.15 040/168] net: qede: use return from qede_parse_flow_attr() for flow_spec Greg Kroah-Hartman
2024-05-14 10:18 ` [PATCH 5.15 041/168] net: qede: use return from qede_parse_actions() Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 042/168] ASoC: meson: axg-fifo: use FIELD helpers Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 043/168] ASoC: meson: axg-fifo: use threaded irq to check periods Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 044/168] ASoC: meson: axg-card: make links nonatomic Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 045/168] ASoC: meson: axg-tdm-interface: manage formatters in trigger Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 046/168] ASoC: meson: cards: select SND_DYNAMIC_MINORS Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 047/168] ALSA: hda: intel-sdw-acpi: fix usage of device_get_named_child_node() Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 048/168] s390/cio: Ensure the copied buf is NUL terminated Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 049/168] cxgb4: Properly lock TX queue for the selftest Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 050/168] net: dsa: mv88e6xxx: Fix number of databases for 88E6141 / 88E6341 Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 051/168] net: bridge: fix multicast-to-unicast with fraglist GSO Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 052/168] net: core: reject skb_copy(_expand) for fraglist GSO skbs Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 053/168] tipc: fix a possible memleak in tipc_buf_append Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 054/168] s390/qeth: dont keep track of Input Queue count Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 055/168] s390/qeth: Fix kernel panic after setting hsuid Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 056/168] drm/panel: ili9341: Respect deferred probe Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 057/168] drm/panel: ili9341: Use predefined error codes Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 058/168] net: gro: add flush check in udp_gro_receive_segment Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 059/168] clk: sunxi-ng: h6: Reparent CPUX during PLL CPUX rate change Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 060/168] KVM: arm64: vgic-v2: Use cpuid from userspace as vcpu_id Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 061/168] KVM: arm64: vgic-v2: Check for non-NULL vCPU in vgic_v2_parse_attr() Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 062/168] scsi: lpfc: Move NPIVs transport unregistration to after resource clean up Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 063/168] scsi: lpfc: Update lpfc_ramp_down_queue_handler() logic Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 064/168] scsi: lpfc: Replace hbalock with ndlp lock in lpfc_nvme_unregister_port() Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 065/168] gfs2: Fix invalid metadata access in punch_hole Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 066/168] wifi: mac80211: fix ieee80211_bss_*_flags kernel-doc Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 067/168] wifi: cfg80211: fix rdev_dump_mpp() arguments order Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 068/168] net: mark racy access on sk->sk_rcvbuf Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 069/168] scsi: bnx2fc: Remove spin_lock_bh while releasing resources after upload Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 070/168] btrfs: return accurate error code on open failure in open_fs_devices() Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 071/168] kbuild: Disable KCSAN for autogenerated *.mod.c intermediaries Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 072/168] ALSA: line6: Zero-initialize message buffers Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 073/168] net: bcmgenet: Reset RBUF on first open Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 074/168] ata: sata_gemini: Check clk_enable() result Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 075/168] firewire: ohci: mask bus reset interrupts between ISR and bottom half Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 076/168] tools/power turbostat: Fix added raw MSR output Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 077/168] tools/power turbostat: Fix Bzy_MHz documentation typo Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 078/168] btrfs: make btrfs_clear_delalloc_extent() free delalloc reserve Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 079/168] btrfs: always clear PERTRANS metadata during commit Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 080/168] scsi: target: Fix SELinux error when systemd-modules loads the target module Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 081/168] blk-iocost: avoid out of bounds shift Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 082/168] gpu: host1x: Do not setup DMA for virtual devices Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 083/168] MIPS: scall: Save thread_info.syscall unconditionally on entry Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 084/168] selftests: timers: Fix valid-adjtimex signed left-shift undefined behavior Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 085/168] iommu: mtk: fix module autoloading Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 086/168] fs/9p: only translate RWX permissions for plain 9P2000 Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 087/168] fs/9p: translate O_TRUNC into OTRUNC Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 088/168] 9p: explicitly deny setlease attempts Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 089/168] gpio: wcove: Use -ENOTSUPP consistently Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 090/168] gpio: crystalcove: " Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 091/168] clk: Dont hold prepare_lock when calling kref_put() Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 092/168] fs/9p: drop inodes immediately on non-.L too Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 093/168] drm/nouveau/dp: Dont probe eDP ports twice harder Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 094/168] net:usb:qmi_wwan: support Rolling modules Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 095/168] bpf, sockmap: TCP data stall on recv before accept Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 096/168] bpf, sockmap: Handle fin correctly Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 097/168] bpf, sockmap: Convert schedule_work into delayed_work Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 098/168] bpf, sockmap: Reschedule is now done through backlog Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 099/168] bpf, sockmap: Improved check for empty queue Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 100/168] ASoC: meson: axg-card: Fix nonatomic links Greg Kroah-Hartman
2024-05-14 12:26 ` Jerome Brunet
2024-05-14 12:59 ` Jerome Brunet
2024-05-15 7:51 ` Greg Kroah-Hartman
2024-05-14 10:19 ` [PATCH 5.15 101/168] ASoC: meson: axg-tdm-interface: Fix formatters in trigger" Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 102/168] qibfs: fix dentry leak Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 103/168] xfrm: Preserve vlan tags for transport mode software GRO Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 104/168] ARM: 9381/1: kasan: clear stale stack poison Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 105/168] tcp: defer shutdown(SEND_SHUTDOWN) for TCP_SYN_RECV sockets Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 106/168] tcp: Use refcount_inc_not_zero() in tcp_twsk_unique() Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 107/168] Bluetooth: Fix use-after-free bugs caused by sco_sock_timeout Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 108/168] Bluetooth: l2cap: fix null-ptr-deref in l2cap_chan_timeout Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 109/168] rtnetlink: Correct nested IFLA_VF_VLAN_LIST attribute validation Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 110/168] hwmon: (corsair-cpro) Use a separate buffer for sending commands Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 111/168] hwmon: (corsair-cpro) Use complete_all() instead of complete() in ccp_raw_event() Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 112/168] hwmon: (corsair-cpro) Protect ccp->wait_input_report with a spinlock Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 113/168] phonet: fix rtm_phonet_notify() skb allocation Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 114/168] net: bridge: fix corrupted ethernet header on multicast-to-unicast Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 115/168] ipv6: fib6_rules: avoid possible NULL dereference in fib6_rule_action() Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 116/168] net: hns3: PF support get unicast MAC address space assigned by firmware Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 117/168] net: hns3: using user configure after hardware reset Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 118/168] net: hns3: add log for workqueue scheduled late Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 119/168] net: hns3: add query vf ring and vector map relation Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 120/168] net: hns3: refactor function hclge_mbx_handler() Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 121/168] net: hns3: direct return when receive a unknown mailbox message Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 122/168] net: hns3: refactor hns3 makefile to support hns3_common module Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 123/168] net: hns3: create new cmdq hardware description structure hclge_comm_hw Greg Kroah-Hartman
2024-05-14 10:20 ` Greg Kroah-Hartman [this message]
2024-05-14 10:20 ` [PATCH 5.15 125/168] net: hns3: refactor hclge_cmd_send with new hclge_comm_cmd_send API Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 126/168] net: hns3: change type of numa_node_mask as nodemask_t Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 127/168] net: hns3: use appropriate barrier function after setting a bit value Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 128/168] net: hns3: split function hclge_init_vlan_config() Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 129/168] net: hns3: fix port vlan filter not disabled issue Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 130/168] drm/meson: dw-hdmi: power up phy on device init Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 131/168] drm/meson: dw-hdmi: add bandgap setting for g12 Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 132/168] drm/connector: Add \n to message about demoting connector force-probes Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 133/168] drm/amd/display: Atom Integrated System Info v2_2 for DCN35 Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 134/168] Revert "Revert "ACPI: CPPC: Use access_width over bit_width for system memory accesses"" Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 135/168] ACPI: CPPC: Fix bit_offset shift in MASK_VAL() macro Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 136/168] ACPI: CPPC: Fix access width used for PCC registers Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 137/168] btrfs: fix kvcalloc() arguments order in btrfs_ioctl_send() Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 138/168] firewire: nosy: ensure user_length is taken into account when fetching packet contents Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 139/168] Reapply "drm/qxl: simplify qxl_fence_wait" Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 140/168] arm64: dts: qcom: Fix interrupt-map parent address cells Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 141/168] usb: typec: ucsi: Check for notifications after init Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 142/168] usb: typec: ucsi: Fix connector check on init Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 143/168] usb: Fix regression caused by invalid ep0 maxpacket in virtual SuperSpeed device Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 144/168] usb: ohci: Prevent missed ohci interrupts Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 145/168] usb: gadget: composite: fix OS descriptors w_value logic Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 146/168] usb: gadget: f_fs: Fix a race condition when processing setup packets Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 147/168] usb: xhci-plat: Dont include xhci.h Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 148/168] usb: dwc3: core: Prevent phy suspend during init Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 149/168] ALSA: hda/realtek: Fix mute led of HP Laptop 15-da3001TU Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 150/168] btrfs: add missing mutex_unlock in btrfs_relocate_sys_chunks() Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 151/168] mptcp: ensure snd_nxt is properly initialized on connect Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 152/168] dt-bindings: iio: health: maxim,max30102: fix compatible check Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 153/168] iio:imu: adis16475: Fix sync mode setting Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 154/168] iio: accel: mxc4005: Interrupt handling fixes Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 155/168] tipc: fix UAF in error path Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 156/168] net: bcmgenet: synchronize use of bcmgenet_set_rx_mode() Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 157/168] ASoC: tegra: Fix DSPK 16-bit playback Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 158/168] ASoC: ti: davinci-mcasp: Fix race condition during probe Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 159/168] dyndbg: fix old BUG_ON in >control parser Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 160/168] slimbus: qcom-ngd-ctrl: Add timeout for wait operation Greg Kroah-Hartman
2024-05-14 10:20 ` [PATCH 5.15 161/168] mei: me: add lunar lake point M DID Greg Kroah-Hartman
2024-05-14 10:21 ` [PATCH 5.15 162/168] drm/vmwgfx: Fix invalid reads in fence signaled events Greg Kroah-Hartman
2024-05-14 10:21 ` [PATCH 5.15 163/168] net: fix out-of-bounds access in ops_init Greg Kroah-Hartman
2024-05-14 10:21 ` [PATCH 5.15 164/168] hwmon: (pmbus/ucd9000) Increase delay from 250 to 500us Greg Kroah-Hartman
2024-05-14 10:21 ` [PATCH 5.15 165/168] regulator: core: fix debugfs creation regression Greg Kroah-Hartman
2024-05-14 10:21 ` [PATCH 5.15 166/168] Bluetooth: qca: add missing firmware sanity checks Greg Kroah-Hartman
2024-05-14 10:21 ` [PATCH 5.15 167/168] Bluetooth: qca: fix NVM configuration parsing Greg Kroah-Hartman
2024-05-14 10:21 ` [PATCH 5.15 168/168] Bluetooth: qca: fix firmware check error path Greg Kroah-Hartman
2024-05-14 16:27 ` [PATCH 5.15 000/168] 5.15.159-rc1 review Harshit Mogalapalli
2024-05-15 0:36 ` Martin Faltesek
2024-05-15 7:55 ` Greg Kroah-Hartman
2024-05-15 3:35 ` Florian Fainelli
2024-05-15 15:08 ` Shuah Khan
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=20240514101011.365186374@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=davem@davemloft.net \
--cc=huangguangbin2@huawei.com \
--cc=patches@lists.linux.dev \
--cc=sashal@kernel.org \
--cc=stable@vger.kernel.org \
--cc=wangjie125@huawei.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox