From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
stable@vger.kernel.org, Da Xue <da@libre.computer>,
Neil Armstrong <narmstrong@baylibre.com>,
Mark Brown <broonie@kernel.org>
Subject: [PATCH 5.10 079/158] spi: meson-spicc: add local pow2 clock ops to preserve rate between messages
Date: Tue, 23 Aug 2022 10:26:51 +0200 [thread overview]
Message-ID: <20220823080049.238382310@linuxfoundation.org> (raw)
In-Reply-To: <20220823080046.056825146@linuxfoundation.org>
From: Neil Armstrong <narmstrong@baylibre.com>
commit 09992025dacd258c823f50e82db09d7ef06cdac4 upstream.
At the end of a message, the HW gets a reset in meson_spicc_unprepare_transfer(),
this resets the SPICC_CONREG register and notably the value set by the
Common Clock Framework.
This is problematic because:
- the register value CCF can be different from the corresponding CCF cached rate
- CCF is allowed to change the clock rate whenever the HW state
This introduces:
- local pow2 clock ops checking the HW state before allowing a clock operation
- separation of legacy pow2 clock patch and new enhanced clock path
- SPICC_CONREG datarate value is now value kepts across messages
It has been checked that:
- SPICC_CONREG datarate value is kept across messages
- CCF is only allowed to change the SPICC_CONREG datarate value when busy
- SPICC_CONREG datarate value is correct for each transfer
This didn't appear before commit 3e0cf4d3fc29 ("spi: meson-spicc: add a linear clock divider support")
because we recalculated and wrote the rate for each xfer.
Fixes: 3e0cf4d3fc29 ("spi: meson-spicc: add a linear clock divider support")
Reported-by: Da Xue <da@libre.computer>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Link: https://lore.kernel.org/r/20220811134445.678446-1-narmstrong@baylibre.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/spi/spi-meson-spicc.c | 129 ++++++++++++++++++++++++++++++++----------
1 file changed, 101 insertions(+), 28 deletions(-)
--- a/drivers/spi/spi-meson-spicc.c
+++ b/drivers/spi/spi-meson-spicc.c
@@ -156,6 +156,7 @@ struct meson_spicc_device {
void __iomem *base;
struct clk *core;
struct clk *pclk;
+ struct clk_divider pow2_div;
struct clk *clk;
struct spi_message *message;
struct spi_transfer *xfer;
@@ -168,6 +169,8 @@ struct meson_spicc_device {
unsigned long xfer_remain;
};
+#define pow2_clk_to_spicc(_div) container_of(_div, struct meson_spicc_device, pow2_div)
+
static void meson_spicc_oen_enable(struct meson_spicc_device *spicc)
{
u32 conf;
@@ -421,7 +424,7 @@ static int meson_spicc_prepare_message(s
{
struct meson_spicc_device *spicc = spi_master_get_devdata(master);
struct spi_device *spi = message->spi;
- u32 conf = 0;
+ u32 conf = readl_relaxed(spicc->base + SPICC_CONREG) & SPICC_DATARATE_MASK;
/* Store current message */
spicc->message = message;
@@ -458,8 +461,6 @@ static int meson_spicc_prepare_message(s
/* Select CS */
conf |= FIELD_PREP(SPICC_CS_MASK, spi->chip_select);
- /* Default Clock rate core/4 */
-
/* Default 8bit word */
conf |= FIELD_PREP(SPICC_BITLENGTH_MASK, 8 - 1);
@@ -476,12 +477,16 @@ static int meson_spicc_prepare_message(s
static int meson_spicc_unprepare_transfer(struct spi_master *master)
{
struct meson_spicc_device *spicc = spi_master_get_devdata(master);
+ u32 conf = readl_relaxed(spicc->base + SPICC_CONREG) & SPICC_DATARATE_MASK;
/* Disable all IRQs */
writel(0, spicc->base + SPICC_INTREG);
device_reset_optional(&spicc->pdev->dev);
+ /* Set default configuration, keeping datarate field */
+ writel_relaxed(conf, spicc->base + SPICC_CONREG);
+
return 0;
}
@@ -518,14 +523,60 @@ static void meson_spicc_cleanup(struct s
* Clk path for G12A series:
* pclk -> pow2 fixed div -> pow2 div -> mux -> out
* pclk -> enh fixed div -> enh div -> mux -> out
+ *
+ * The pow2 divider is tied to the controller HW state, and the
+ * divider is only valid when the controller is initialized.
+ *
+ * A set of clock ops is added to make sure we don't read/set this
+ * clock rate while the controller is in an unknown state.
*/
-static int meson_spicc_clk_init(struct meson_spicc_device *spicc)
+static unsigned long meson_spicc_pow2_recalc_rate(struct clk_hw *hw,
+ unsigned long parent_rate)
+{
+ struct clk_divider *divider = to_clk_divider(hw);
+ struct meson_spicc_device *spicc = pow2_clk_to_spicc(divider);
+
+ if (!spicc->master->cur_msg || !spicc->master->busy)
+ return 0;
+
+ return clk_divider_ops.recalc_rate(hw, parent_rate);
+}
+
+static int meson_spicc_pow2_determine_rate(struct clk_hw *hw,
+ struct clk_rate_request *req)
+{
+ struct clk_divider *divider = to_clk_divider(hw);
+ struct meson_spicc_device *spicc = pow2_clk_to_spicc(divider);
+
+ if (!spicc->master->cur_msg || !spicc->master->busy)
+ return -EINVAL;
+
+ return clk_divider_ops.determine_rate(hw, req);
+}
+
+static int meson_spicc_pow2_set_rate(struct clk_hw *hw, unsigned long rate,
+ unsigned long parent_rate)
+{
+ struct clk_divider *divider = to_clk_divider(hw);
+ struct meson_spicc_device *spicc = pow2_clk_to_spicc(divider);
+
+ if (!spicc->master->cur_msg || !spicc->master->busy)
+ return -EINVAL;
+
+ return clk_divider_ops.set_rate(hw, rate, parent_rate);
+}
+
+const struct clk_ops meson_spicc_pow2_clk_ops = {
+ .recalc_rate = meson_spicc_pow2_recalc_rate,
+ .determine_rate = meson_spicc_pow2_determine_rate,
+ .set_rate = meson_spicc_pow2_set_rate,
+};
+
+static int meson_spicc_pow2_clk_init(struct meson_spicc_device *spicc)
{
struct device *dev = &spicc->pdev->dev;
- struct clk_fixed_factor *pow2_fixed_div, *enh_fixed_div;
- struct clk_divider *pow2_div, *enh_div;
- struct clk_mux *mux;
+ struct clk_fixed_factor *pow2_fixed_div;
struct clk_init_data init;
struct clk *clk;
struct clk_parent_data parent_data[2];
@@ -560,31 +611,45 @@ static int meson_spicc_clk_init(struct m
if (WARN_ON(IS_ERR(clk)))
return PTR_ERR(clk);
- pow2_div = devm_kzalloc(dev, sizeof(*pow2_div), GFP_KERNEL);
- if (!pow2_div)
- return -ENOMEM;
-
snprintf(name, sizeof(name), "%s#pow2_div", dev_name(dev));
init.name = name;
- init.ops = &clk_divider_ops;
- init.flags = CLK_SET_RATE_PARENT;
+ init.ops = &meson_spicc_pow2_clk_ops;
+ /*
+ * Set NOCACHE here to make sure we read the actual HW value
+ * since we reset the HW after each transfer.
+ */
+ init.flags = CLK_SET_RATE_PARENT | CLK_GET_RATE_NOCACHE;
parent_data[0].hw = &pow2_fixed_div->hw;
init.num_parents = 1;
- pow2_div->shift = 16,
- pow2_div->width = 3,
- pow2_div->flags = CLK_DIVIDER_POWER_OF_TWO,
- pow2_div->reg = spicc->base + SPICC_CONREG;
- pow2_div->hw.init = &init;
+ spicc->pow2_div.shift = 16,
+ spicc->pow2_div.width = 3,
+ spicc->pow2_div.flags = CLK_DIVIDER_POWER_OF_TWO,
+ spicc->pow2_div.reg = spicc->base + SPICC_CONREG;
+ spicc->pow2_div.hw.init = &init;
- clk = devm_clk_register(dev, &pow2_div->hw);
- if (WARN_ON(IS_ERR(clk)))
- return PTR_ERR(clk);
+ spicc->clk = devm_clk_register(dev, &spicc->pow2_div.hw);
+ if (WARN_ON(IS_ERR(spicc->clk)))
+ return PTR_ERR(spicc->clk);
- if (!spicc->data->has_enhance_clk_div) {
- spicc->clk = clk;
- return 0;
- }
+ return 0;
+}
+
+static int meson_spicc_enh_clk_init(struct meson_spicc_device *spicc)
+{
+ struct device *dev = &spicc->pdev->dev;
+ struct clk_fixed_factor *enh_fixed_div;
+ struct clk_divider *enh_div;
+ struct clk_mux *mux;
+ struct clk_init_data init;
+ struct clk *clk;
+ struct clk_parent_data parent_data[2];
+ char name[64];
+
+ memset(&init, 0, sizeof(init));
+ memset(&parent_data, 0, sizeof(parent_data));
+
+ init.parent_data = parent_data;
/* algorithm for enh div: rate = freq / 2 / (N + 1) */
@@ -637,7 +702,7 @@ static int meson_spicc_clk_init(struct m
snprintf(name, sizeof(name), "%s#sel", dev_name(dev));
init.name = name;
init.ops = &clk_mux_ops;
- parent_data[0].hw = &pow2_div->hw;
+ parent_data[0].hw = &spicc->pow2_div.hw;
parent_data[1].hw = &enh_div->hw;
init.num_parents = 2;
init.flags = CLK_SET_RATE_PARENT;
@@ -754,12 +819,20 @@ static int meson_spicc_probe(struct plat
meson_spicc_oen_enable(spicc);
- ret = meson_spicc_clk_init(spicc);
+ ret = meson_spicc_pow2_clk_init(spicc);
if (ret) {
- dev_err(&pdev->dev, "clock registration failed\n");
+ dev_err(&pdev->dev, "pow2 clock registration failed\n");
goto out_clk;
}
+ if (spicc->data->has_enhance_clk_div) {
+ ret = meson_spicc_enh_clk_init(spicc);
+ if (ret) {
+ dev_err(&pdev->dev, "clock registration failed\n");
+ goto out_clk;
+ }
+ }
+
ret = devm_spi_register_master(&pdev->dev, master);
if (ret) {
dev_err(&pdev->dev, "spi master registration failed\n");
next prev parent reply other threads:[~2022-08-23 12:19 UTC|newest]
Thread overview: 159+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-23 8:25 [PATCH 5.10 000/158] 5.10.138-rc1 review Greg Kroah-Hartman
2022-08-23 8:25 ` [PATCH 5.10 001/158] ALSA: info: Fix llseek return value when using callback Greg Kroah-Hartman
2022-08-23 8:25 ` [PATCH 5.10 002/158] ALSA: hda/realtek: Add quirk for Clevo NS50PU, NS70PU Greg Kroah-Hartman
2022-08-23 8:25 ` [PATCH 5.10 003/158] x86/mm: Use proper mask when setting PUD mapping Greg Kroah-Hartman
2022-08-23 8:25 ` [PATCH 5.10 004/158] rds: add missing barrier to release_refill Greg Kroah-Hartman
2022-08-23 8:25 ` [PATCH 5.10 005/158] ata: libata-eh: Add missing command name Greg Kroah-Hartman
2022-08-23 8:25 ` [PATCH 5.10 006/158] mmc: pxamci: Fix another error handling path in pxamci_probe() Greg Kroah-Hartman
2022-08-23 8:25 ` [PATCH 5.10 007/158] mmc: pxamci: Fix an " Greg Kroah-Hartman
2022-08-23 8:25 ` [PATCH 5.10 008/158] mmc: meson-gx: Fix an error handling path in meson_mmc_probe() Greg Kroah-Hartman
2022-08-23 8:25 ` [PATCH 5.10 009/158] btrfs: fix lost error handling when looking up extended ref on log replay Greg Kroah-Hartman
2022-08-23 8:25 ` [PATCH 5.10 010/158] tracing: Have filter accept "common_cpu" to be consistent Greg Kroah-Hartman
2022-08-23 8:25 ` [PATCH 5.10 011/158] ALSA: usb-audio: More comprehensive mixer map for ASUS ROG Zenith II Greg Kroah-Hartman
2022-08-23 8:25 ` [PATCH 5.10 012/158] can: ems_usb: fix clangs -Wunaligned-access warning Greg Kroah-Hartman
2022-08-23 8:25 ` [PATCH 5.10 013/158] apparmor: fix quiet_denied for file rules Greg Kroah-Hartman
2022-08-23 8:25 ` [PATCH 5.10 014/158] apparmor: fix absroot causing audited secids to begin with = Greg Kroah-Hartman
2022-08-23 8:25 ` [PATCH 5.10 015/158] apparmor: Fix failed mount permission check error message Greg Kroah-Hartman
2022-08-23 8:25 ` [PATCH 5.10 016/158] apparmor: fix aa_label_asxprint return check Greg Kroah-Hartman
2022-08-23 8:25 ` [PATCH 5.10 017/158] apparmor: fix setting unconfined mode on a loaded profile Greg Kroah-Hartman
2022-08-23 8:25 ` [PATCH 5.10 018/158] apparmor: fix overlapping attachment computation Greg Kroah-Hartman
2022-08-23 8:25 ` [PATCH 5.10 019/158] apparmor: fix reference count leak in aa_pivotroot() Greg Kroah-Hartman
2022-08-23 8:25 ` [PATCH 5.10 020/158] apparmor: Fix memleak in aa_simple_write_to_buffer() Greg Kroah-Hartman
2022-08-23 8:25 ` [PATCH 5.10 021/158] Documentation: ACPI: EINJ: Fix obsolete example Greg Kroah-Hartman
2022-08-23 8:25 ` [PATCH 5.10 022/158] NFSv4.1: Dont decrease the value of seq_nr_highest_sent Greg Kroah-Hartman
2022-08-23 8:25 ` [PATCH 5.10 023/158] NFSv4.1: Handle NFS4ERR_DELAY replies to OP_SEQUENCE correctly Greg Kroah-Hartman
2022-08-23 8:25 ` [PATCH 5.10 024/158] NFSv4: Fix races in the legacy idmapper upcall Greg Kroah-Hartman
2022-08-23 8:25 ` [PATCH 5.10 025/158] NFSv4.1: RECLAIM_COMPLETE must handle EACCES Greg Kroah-Hartman
2022-08-23 8:25 ` [PATCH 5.10 026/158] NFSv4/pnfs: Fix a use-after-free bug in open Greg Kroah-Hartman
2022-08-23 8:25 ` [PATCH 5.10 027/158] bpf: Acquire map uref in .init_seq_private for array map iterator Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 028/158] bpf: Acquire map uref in .init_seq_private for hash " Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 029/158] bpf: Acquire map uref in .init_seq_private for sock local storage " Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 030/158] bpf: Acquire map uref in .init_seq_private for sock{map,hash} iterator Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 031/158] bpf: Check the validity of max_rdwr_access for sock local storage map iterator Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 032/158] can: mcp251x: Fix race condition on receive interrupt Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 033/158] net: atlantic: fix aq_vec index out of range error Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 034/158] sunrpc: fix expiry of auth creds Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 035/158] SUNRPC: Reinitialise the backchannel request buffers before reuse Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 036/158] virtio_net: fix memory leak inside XPD_TX with mergeable Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 037/158] devlink: Fix use-after-free after a failed reload Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 038/158] net: bgmac: Fix a BUG triggered by wrong bytes_compl Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 039/158] pinctrl: nomadik: Fix refcount leak in nmk_pinctrl_dt_subnode_to_map Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 040/158] pinctrl: qcom: msm8916: Allow CAMSS GP clocks to be muxed Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 041/158] pinctrl: sunxi: Add I/O bias setting for H6 R-PIO Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 042/158] pinctrl: qcom: sm8250: Fix PDC map Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 043/158] um: Add missing apply_returns() Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 044/158] ACPI: property: Return type of acpi_add_nondev_subnodes() should be bool Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 045/158] geneve: do not use RT_TOS for IPv6 flowlabel Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 046/158] ipv6: " Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 047/158] plip: avoid rcu debug splat Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 048/158] vsock: Fix memory leak in vsock_connect() Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 049/158] vsock: Set socket state back to SS_UNCONNECTED in vsock_connect_timeout() Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 050/158] dt-bindings: arm: qcom: fix MSM8916 MTP compatibles Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 051/158] dt-bindings: clock: qcom,gcc-msm8996: add more GCC clock sources Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 052/158] ceph: use correct index when encoding client supported features Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 053/158] tools/vm/slabinfo: use alphabetic order when two values are equal Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 054/158] ceph: dont leak snap_rwsem in handle_cap_grant Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 055/158] kbuild: dummy-tools: avoid tmpdir leak in dummy gcc Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 056/158] tools build: Switch to new openssl API for test-libcrypto Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 057/158] NTB: ntb_tool: uninitialized heap data in tool_fn_write() Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 058/158] nfp: ethtool: fix the display error of `ethtool -m DEVNAME` Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 059/158] xen/xenbus: fix return type in xenbus_file_read() Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 060/158] atm: idt77252: fix use-after-free bugs caused by tst_timer Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 061/158] geneve: fix TOS inheriting for ipv4 Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 062/158] perf probe: Fix an error handling path in parse_perf_probe_command() Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 063/158] dpaa2-eth: trace the allocated address instead of page struct Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 064/158] nios2: page fault et.al. are *not* restartable syscalls Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 065/158] nios2: dont leave NULLs in sys_call_table[] Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 066/158] nios2: traced syscall does need to check the syscall number Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 067/158] nios2: fix syscall restart checks Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 068/158] nios2: restarts apply only to the first sigframe we build Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 069/158] nios2: add force_successful_syscall_return() Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 070/158] iavf: Fix adminq error handling Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 071/158] ASoC: tas2770: Set correct FSYNC polarity Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 072/158] ASoC: tas2770: Allow mono streams Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 073/158] ASoC: tas2770: Drop conflicting set_bias_level power setting Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 074/158] ASoC: tas2770: Fix handling of mute/unmute Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 075/158] netfilter: nf_tables: really skip inactive sets when allocating name Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 076/158] netfilter: nf_tables: validate NFTA_SET_ELEM_OBJREF based on NFT_SET_OBJECT flag Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 077/158] netfilter: nf_tables: check NFT_SET_CONCAT flag if field_count is specified Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 078/158] powerpc/pci: Fix get_phb_number() locking Greg Kroah-Hartman
2022-08-23 8:26 ` Greg Kroah-Hartman [this message]
2022-08-23 8:26 ` [PATCH 5.10 080/158] net: dsa: mv88e6060: prevent crash on an unused port Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 081/158] net: moxa: pass pdev instead of ndev to DMA functions Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 082/158] net: dsa: microchip: ksz9477: fix fdb_dump last invalid entry Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 083/158] net: dsa: felix: fix ethtool 256-511 and 512-1023 TX packet counters Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 084/158] net: genl: fix error path memory leak in policy dumping Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 085/158] net: dsa: sja1105: fix buffer overflow in sja1105_setup_devlink_regions() Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 086/158] ice: Ignore EEXIST when setting promisc mode Greg Kroah-Hartman
2022-08-23 8:26 ` [PATCH 5.10 087/158] i2c: imx: Make sure to unregister adapter on remove() Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 088/158] regulator: pca9450: Remove restrictions for regulator-name Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 089/158] i40e: Fix to stop tx_timeout recovery if GLOBR fails Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 090/158] fec: Fix timer capture timing in `fec_ptp_enable_pps()` Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 091/158] stmmac: intel: Add a missing clk_disable_unprepare() call in intel_eth_pci_remove() Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 092/158] igb: Add lock to avoid data race Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 093/158] kbuild: fix the modules order between drivers and libs Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 094/158] gcc-plugins: Undefine LATENT_ENTROPY_PLUGIN when plugin disabled for a file Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 095/158] locking/atomic: Make test_and_*_bit() ordered on failure Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 096/158] ASoC: SOF: intel: move sof_intel_dsp_desc() forward Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 097/158] drm/meson: Fix refcount bugs in meson_vpu_has_available_connectors() Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 098/158] audit: log nftables configuration change events once per table Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 099/158] netfilter: nftables: add helper function to set the base sequence number Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 100/158] netfilter: add helper function to set up the nfnetlink header and use it Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 101/158] drm/sun4i: dsi: Prevent underflow when computing packet sizes Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 102/158] PCI: Add ACS quirk for Broadcom BCM5750x NICs Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 103/158] platform/chrome: cros_ec_proto: dont show MKBP version if unsupported Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 104/158] usb: cdns3 fix use-after-free at workaround 2 Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 105/158] usb: gadget: uvc: call uvc uvcg_warn on completed status instead of uvcg_info Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 106/158] irqchip/tegra: Fix overflow implicit truncation warnings Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 107/158] drm/meson: " Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 108/158] clk: ti: Stop using legacy clkctrl names for omap4 and 5 Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 109/158] usb: host: ohci-ppc-of: Fix refcount leak bug Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 110/158] usb: renesas: " Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 111/158] usb: dwc2: gadget: remove D+ pull-up while no vbus with usb-role-switch Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 112/158] vboxguest: Do not use devm for irq Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 113/158] clk: qcom: ipq8074: dont disable gcc_sleep_clk_src Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 114/158] uacce: Handle parent device removal or parent driver module rmmod Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 115/158] zram: do not lookup algorithm in backends table Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 116/158] clk: qcom: clk-alpha-pll: fix clk_trion_pll_configure description Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 117/158] scsi: lpfc: Prevent buffer overflow crashes in debugfs with malformed user input Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 118/158] gadgetfs: ep_io - wait until IRQ finishes Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 119/158] pinctrl: intel: Check against matching data instead of ACPI companion Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 120/158] cxl: Fix a memory leak in an error handling path Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 121/158] PCI/ACPI: Guard ARM64-specific mcfg_quirks Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 122/158] um: add "noreboot" command line option for PANIC_TIMEOUT=-1 setups Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 123/158] RDMA/rxe: Limit the number of calls to each tasklet Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 124/158] csky/kprobe: reclaim insn_slot on kprobe unregistration Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 125/158] selftests/kprobe: Do not test for GRP/ without event failures Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 126/158] dmaengine: sprd: Cleanup in .remove() after pm_runtime_get_sync() failed Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 127/158] md: Notify sysfs sync_completed in md_reap_sync_thread() Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 128/158] nvmet-tcp: fix lockdep complaint on nvmet_tcp_wq flush during queue teardown Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 129/158] drivers:md:fix a potential use-after-free bug Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 130/158] ext4: avoid remove directory when directory is corrupted Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 131/158] ext4: avoid resizing to a partial cluster size Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 132/158] lib/list_debug.c: Detect uninitialized lists Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 133/158] tty: serial: Fix refcount leak bug in ucc_uart.c Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 134/158] vfio: Clear the caps->buf to NULL after free Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 135/158] mips: cavium-octeon: Fix missing of_node_put() in octeon2_usb_clocks_start Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 136/158] modules: Ensure natural alignment for .altinstructions and __bug_table sections Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 137/158] riscv: dts: sifive: Add fu540 topology information Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 138/158] riscv: mmap with PROT_WRITE but no PROT_READ is invalid Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 139/158] RISC-V: Add fast call path of crash_kexec() Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 140/158] watchdog: export lockup_detector_reconfigure Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 141/158] powerpc/32: Dont always pass -mcpu=powerpc to the compiler Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 142/158] ALSA: core: Add async signal helpers Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 143/158] ALSA: timer: Use deferred fasync helper Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 144/158] ALSA: control: " Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 145/158] f2fs: fix to avoid use f2fs_bug_on() in f2fs_new_node_page() Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 146/158] f2fs: fix to do sanity check on segment type in build_sit_entries() Greg Kroah-Hartman
2022-08-23 8:27 ` [PATCH 5.10 147/158] smb3: check xattr value length earlier Greg Kroah-Hartman
2022-08-23 8:28 ` [PATCH 5.10 148/158] powerpc/64: Init jump labels before parse_early_param() Greg Kroah-Hartman
2022-08-23 8:28 ` [PATCH 5.10 149/158] video: fbdev: i740fb: Check the argument of i740_calc_vclk() Greg Kroah-Hartman
2022-08-23 8:28 ` [PATCH 5.10 150/158] MIPS: tlbex: Explicitly compare _PAGE_NO_EXEC against 0 Greg Kroah-Hartman
2022-08-23 8:28 ` [PATCH 5.10 151/158] netfilter: nftables: fix a warning message in nf_tables_commit_audit_collect() Greg Kroah-Hartman
2022-08-23 8:28 ` [PATCH 5.10 152/158] netfilter: nf_tables: fix audit memory leak in nf_tables_commit Greg Kroah-Hartman
2022-08-23 8:28 ` [PATCH 5.10 153/158] tracing/probes: Have kprobes and uprobes use $COMM too Greg Kroah-Hartman
2022-08-23 8:28 ` [PATCH 5.10 154/158] can: j1939: j1939_sk_queue_activate_next_locked(): replace WARN_ON_ONCE with netdev_warn_once() Greg Kroah-Hartman
2022-08-23 8:28 ` [PATCH 5.10 155/158] can: j1939: j1939_session_destroy(): fix memory leak of skbs Greg Kroah-Hartman
2022-08-23 8:28 ` [PATCH 5.10 156/158] PCI/ERR: Retain status from error notification Greg Kroah-Hartman
2022-08-23 8:28 ` [PATCH 5.10 157/158] qrtr: Convert qrtr_ports from IDR to XArray Greg Kroah-Hartman
2022-08-23 8:28 ` [PATCH 5.10 158/158] bpf: Fix KASAN use-after-free Read in compute_effective_progs Greg Kroah-Hartman
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=20220823080049.238382310@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=broonie@kernel.org \
--cc=da@libre.computer \
--cc=linux-kernel@vger.kernel.org \
--cc=narmstrong@baylibre.com \
--cc=stable@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox