patches.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	patches@lists.linux.dev, Eran Ben Elisha <eranbe@mellanox.com>,
	Aya Levin <ayal@nvidia.com>, Saeed Mahameed <saeedm@nvidia.com>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.10 005/135] net/mlx5: Move all internal timer metadata into a dedicated struct
Date: Thu, 24 Aug 2023 16:49:08 +0200	[thread overview]
Message-ID: <20230824145027.248133592@linuxfoundation.org> (raw)
In-Reply-To: <20230824145027.008282920@linuxfoundation.org>

From: Eran Ben Elisha <eranbe@mellanox.com>

[ Upstream commit d6f3dc8f509ce6288e2537eb4b0614ef444fd84a ]

Internal timer mode (SW clock) requires some PTP clock related metadata
structs. Real time mode (HW clock) will not need these metadata structs.
This separation emphasize the different interfaces for HW clock and SW
clock.

Signed-off-by: Eran Ben Elisha <eranbe@mellanox.com>
Signed-off-by: Aya Levin <ayal@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Stable-dep-of: d00620762565 ("net/mlx5: Skip clock update work when device is in error state")
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 .../ethernet/mellanox/mlx5/core/lib/clock.c   | 107 ++++++++++--------
 .../ethernet/mellanox/mlx5/core/lib/clock.h   |   3 +-
 include/linux/mlx5/driver.h                   |  12 +-
 3 files changed, 71 insertions(+), 51 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c b/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c
index 3fbceb4af54e4..01b8a9648b16f 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c
@@ -89,7 +89,8 @@ static u64 mlx5_read_internal_timer(struct mlx5_core_dev *dev,
 
 static u64 read_internal_timer(const struct cyclecounter *cc)
 {
-	struct mlx5_clock *clock = container_of(cc, struct mlx5_clock, cycles);
+	struct mlx5_timer *timer = container_of(cc, struct mlx5_timer, cycles);
+	struct mlx5_clock *clock = container_of(timer, struct mlx5_clock, timer);
 	struct mlx5_core_dev *mdev = container_of(clock, struct mlx5_core_dev,
 						  clock);
 
@@ -100,6 +101,7 @@ static void mlx5_update_clock_info_page(struct mlx5_core_dev *mdev)
 {
 	struct mlx5_ib_clock_info *clock_info = mdev->clock_info;
 	struct mlx5_clock *clock = &mdev->clock;
+	struct mlx5_timer *timer;
 	u32 sign;
 
 	if (!clock_info)
@@ -109,10 +111,11 @@ static void mlx5_update_clock_info_page(struct mlx5_core_dev *mdev)
 	smp_store_mb(clock_info->sign,
 		     sign | MLX5_IB_CLOCK_INFO_KERNEL_UPDATING);
 
-	clock_info->cycles = clock->tc.cycle_last;
-	clock_info->mult   = clock->cycles.mult;
-	clock_info->nsec   = clock->tc.nsec;
-	clock_info->frac   = clock->tc.frac;
+	timer = &clock->timer;
+	clock_info->cycles = timer->tc.cycle_last;
+	clock_info->mult   = timer->cycles.mult;
+	clock_info->nsec   = timer->tc.nsec;
+	clock_info->frac   = timer->tc.frac;
 
 	smp_store_release(&clock_info->sign,
 			  sign + MLX5_IB_CLOCK_INFO_KERNEL_UPDATING * 2);
@@ -151,28 +154,32 @@ static void mlx5_timestamp_overflow(struct work_struct *work)
 {
 	struct delayed_work *dwork = to_delayed_work(work);
 	struct mlx5_core_dev *mdev;
+	struct mlx5_timer *timer;
 	struct mlx5_clock *clock;
 	unsigned long flags;
 
-	clock = container_of(dwork, struct mlx5_clock, overflow_work);
+	timer = container_of(dwork, struct mlx5_timer, overflow_work);
+	clock = container_of(timer, struct mlx5_clock, timer);
 	mdev = container_of(clock, struct mlx5_core_dev, clock);
+
 	write_seqlock_irqsave(&clock->lock, flags);
-	timecounter_read(&clock->tc);
+	timecounter_read(&timer->tc);
 	mlx5_update_clock_info_page(mdev);
 	write_sequnlock_irqrestore(&clock->lock, flags);
-	schedule_delayed_work(&clock->overflow_work, clock->overflow_period);
+	schedule_delayed_work(&timer->overflow_work, timer->overflow_period);
 }
 
 static int mlx5_ptp_settime(struct ptp_clock_info *ptp, const struct timespec64 *ts)
 {
 	struct mlx5_clock *clock = container_of(ptp, struct mlx5_clock, ptp_info);
+	struct mlx5_timer *timer = &clock->timer;
 	u64 ns = timespec64_to_ns(ts);
 	struct mlx5_core_dev *mdev;
 	unsigned long flags;
 
 	mdev = container_of(clock, struct mlx5_core_dev, clock);
 	write_seqlock_irqsave(&clock->lock, flags);
-	timecounter_init(&clock->tc, &clock->cycles, ns);
+	timecounter_init(&timer->tc, &timer->cycles, ns);
 	mlx5_update_clock_info_page(mdev);
 	write_sequnlock_irqrestore(&clock->lock, flags);
 
@@ -183,6 +190,7 @@ static int mlx5_ptp_gettimex(struct ptp_clock_info *ptp, struct timespec64 *ts,
 			     struct ptp_system_timestamp *sts)
 {
 	struct mlx5_clock *clock = container_of(ptp, struct mlx5_clock, ptp_info);
+	struct mlx5_timer *timer = &clock->timer;
 	struct mlx5_core_dev *mdev;
 	unsigned long flags;
 	u64 cycles, ns;
@@ -190,7 +198,7 @@ static int mlx5_ptp_gettimex(struct ptp_clock_info *ptp, struct timespec64 *ts,
 	mdev = container_of(clock, struct mlx5_core_dev, clock);
 	write_seqlock_irqsave(&clock->lock, flags);
 	cycles = mlx5_read_internal_timer(mdev, sts);
-	ns = timecounter_cyc2time(&clock->tc, cycles);
+	ns = timecounter_cyc2time(&timer->tc, cycles);
 	write_sequnlock_irqrestore(&clock->lock, flags);
 
 	*ts = ns_to_timespec64(ns);
@@ -201,12 +209,13 @@ static int mlx5_ptp_gettimex(struct ptp_clock_info *ptp, struct timespec64 *ts,
 static int mlx5_ptp_adjtime(struct ptp_clock_info *ptp, s64 delta)
 {
 	struct mlx5_clock *clock = container_of(ptp, struct mlx5_clock, ptp_info);
+	struct mlx5_timer *timer = &clock->timer;
 	struct mlx5_core_dev *mdev;
 	unsigned long flags;
 
 	mdev = container_of(clock, struct mlx5_core_dev, clock);
 	write_seqlock_irqsave(&clock->lock, flags);
-	timecounter_adjtime(&clock->tc, delta);
+	timecounter_adjtime(&timer->tc, delta);
 	mlx5_update_clock_info_page(mdev);
 	write_sequnlock_irqrestore(&clock->lock, flags);
 
@@ -216,27 +225,27 @@ static int mlx5_ptp_adjtime(struct ptp_clock_info *ptp, s64 delta)
 static int mlx5_ptp_adjfreq(struct ptp_clock_info *ptp, s32 delta)
 {
 	struct mlx5_clock *clock = container_of(ptp, struct mlx5_clock, ptp_info);
+	struct mlx5_timer *timer = &clock->timer;
 	struct mlx5_core_dev *mdev;
 	unsigned long flags;
 	int neg_adj = 0;
 	u32 diff;
 	u64 adj;
 
-
 	if (delta < 0) {
 		neg_adj = 1;
 		delta = -delta;
 	}
 
-	adj = clock->nominal_c_mult;
+	adj = timer->nominal_c_mult;
 	adj *= delta;
 	diff = div_u64(adj, 1000000000ULL);
 
 	mdev = container_of(clock, struct mlx5_core_dev, clock);
 	write_seqlock_irqsave(&clock->lock, flags);
-	timecounter_read(&clock->tc);
-	clock->cycles.mult = neg_adj ? clock->nominal_c_mult - diff :
-				       clock->nominal_c_mult + diff;
+	timecounter_read(&timer->tc);
+	timer->cycles.mult = neg_adj ? timer->nominal_c_mult - diff :
+				       timer->nominal_c_mult + diff;
 	mlx5_update_clock_info_page(mdev);
 	write_sequnlock_irqrestore(&clock->lock, flags);
 
@@ -313,6 +322,7 @@ static int mlx5_perout_configure(struct ptp_clock_info *ptp,
 			container_of(ptp, struct mlx5_clock, ptp_info);
 	struct mlx5_core_dev *mdev =
 			container_of(clock, struct mlx5_core_dev, clock);
+	struct mlx5_timer *timer = &clock->timer;
 	u32 in[MLX5_ST_SZ_DW(mtpps_reg)] = {0};
 	u64 nsec_now, nsec_delta, time_stamp = 0;
 	u64 cycles_now, cycles_delta;
@@ -355,10 +365,10 @@ static int mlx5_perout_configure(struct ptp_clock_info *ptp,
 		ns = timespec64_to_ns(&ts);
 		cycles_now = mlx5_read_internal_timer(mdev, NULL);
 		write_seqlock_irqsave(&clock->lock, flags);
-		nsec_now = timecounter_cyc2time(&clock->tc, cycles_now);
+		nsec_now = timecounter_cyc2time(&timer->tc, cycles_now);
 		nsec_delta = ns - nsec_now;
-		cycles_delta = div64_u64(nsec_delta << clock->cycles.shift,
-					 clock->cycles.mult);
+		cycles_delta = div64_u64(nsec_delta << timer->cycles.shift,
+					 timer->cycles.mult);
 		write_sequnlock_irqrestore(&clock->lock, flags);
 		time_stamp = cycles_now + cycles_delta;
 		field_select = MLX5_MTPPS_FS_PIN_MODE |
@@ -541,6 +551,7 @@ static int mlx5_pps_event(struct notifier_block *nb,
 			  unsigned long type, void *data)
 {
 	struct mlx5_clock *clock = mlx5_nb_cof(nb, struct mlx5_clock, pps_nb);
+	struct mlx5_timer *timer = &clock->timer;
 	struct ptp_clock_event ptp_event;
 	u64 cycles_now, cycles_delta;
 	u64 nsec_now, nsec_delta, ns;
@@ -575,10 +586,10 @@ static int mlx5_pps_event(struct notifier_block *nb,
 		ts.tv_nsec = 0;
 		ns = timespec64_to_ns(&ts);
 		write_seqlock_irqsave(&clock->lock, flags);
-		nsec_now = timecounter_cyc2time(&clock->tc, cycles_now);
+		nsec_now = timecounter_cyc2time(&timer->tc, cycles_now);
 		nsec_delta = ns - nsec_now;
-		cycles_delta = div64_u64(nsec_delta << clock->cycles.shift,
-					 clock->cycles.mult);
+		cycles_delta = div64_u64(nsec_delta << timer->cycles.shift,
+					 timer->cycles.mult);
 		clock->pps_info.start[pin] = cycles_now + cycles_delta;
 		write_sequnlock_irqrestore(&clock->lock, flags);
 		schedule_work(&clock->pps_info.out_work);
@@ -594,17 +605,18 @@ static int mlx5_pps_event(struct notifier_block *nb,
 static void mlx5_timecounter_init(struct mlx5_core_dev *mdev)
 {
 	struct mlx5_clock *clock = &mdev->clock;
+	struct mlx5_timer *timer = &clock->timer;
 	u32 dev_freq;
 
 	dev_freq = MLX5_CAP_GEN(mdev, device_frequency_khz);
-	clock->cycles.read = read_internal_timer;
-	clock->cycles.shift = MLX5_CYCLES_SHIFT;
-	clock->cycles.mult = clocksource_khz2mult(dev_freq,
-						  clock->cycles.shift);
-	clock->nominal_c_mult = clock->cycles.mult;
-	clock->cycles.mask = CLOCKSOURCE_MASK(41);
-
-	timecounter_init(&clock->tc, &clock->cycles,
+	timer->cycles.read = read_internal_timer;
+	timer->cycles.shift = MLX5_CYCLES_SHIFT;
+	timer->cycles.mult = clocksource_khz2mult(dev_freq,
+						  timer->cycles.shift);
+	timer->nominal_c_mult = timer->cycles.mult;
+	timer->cycles.mask = CLOCKSOURCE_MASK(41);
+
+	timecounter_init(&timer->tc, &timer->cycles,
 			 ktime_to_ns(ktime_get_real()));
 }
 
@@ -612,6 +624,7 @@ static void mlx5_init_overflow_period(struct mlx5_clock *clock)
 {
 	struct mlx5_core_dev *mdev = container_of(clock, struct mlx5_core_dev, clock);
 	struct mlx5_ib_clock_info *clock_info = mdev->clock_info;
+	struct mlx5_timer *timer = &clock->timer;
 	u64 overflow_cycles;
 	u64 frac = 0;
 	u64 ns;
@@ -623,29 +636,30 @@ static void mlx5_init_overflow_period(struct mlx5_clock *clock)
 	 * multiplied by clock multiplier where the result doesn't exceed
 	 * 64bits.
 	 */
-	overflow_cycles = div64_u64(~0ULL >> 1, clock->cycles.mult);
-	overflow_cycles = min(overflow_cycles, div_u64(clock->cycles.mask, 3));
+	overflow_cycles = div64_u64(~0ULL >> 1, timer->cycles.mult);
+	overflow_cycles = min(overflow_cycles, div_u64(timer->cycles.mask, 3));
 
-	ns = cyclecounter_cyc2ns(&clock->cycles, overflow_cycles,
+	ns = cyclecounter_cyc2ns(&timer->cycles, overflow_cycles,
 				 frac, &frac);
 	do_div(ns, NSEC_PER_SEC / HZ);
-	clock->overflow_period = ns;
+	timer->overflow_period = ns;
 
-	INIT_DELAYED_WORK(&clock->overflow_work, mlx5_timestamp_overflow);
-	if (clock->overflow_period)
-		schedule_delayed_work(&clock->overflow_work, 0);
+	INIT_DELAYED_WORK(&timer->overflow_work, mlx5_timestamp_overflow);
+	if (timer->overflow_period)
+		schedule_delayed_work(&timer->overflow_work, 0);
 	else
 		mlx5_core_warn(mdev,
 			       "invalid overflow period, overflow_work is not scheduled\n");
 
 	if (clock_info)
-		clock_info->overflow_period = clock->overflow_period;
+		clock_info->overflow_period = timer->overflow_period;
 }
 
 static void mlx5_init_clock_info(struct mlx5_core_dev *mdev)
 {
 	struct mlx5_clock *clock = &mdev->clock;
 	struct mlx5_ib_clock_info *info;
+	struct mlx5_timer *timer;
 
 	mdev->clock_info = (struct mlx5_ib_clock_info *)get_zeroed_page(GFP_KERNEL);
 	if (!mdev->clock_info) {
@@ -654,13 +668,14 @@ static void mlx5_init_clock_info(struct mlx5_core_dev *mdev)
 	}
 
 	info = mdev->clock_info;
-
-	info->nsec = clock->tc.nsec;
-	info->cycles = clock->tc.cycle_last;
-	info->mask = clock->cycles.mask;
-	info->mult = clock->nominal_c_mult;
-	info->shift = clock->cycles.shift;
-	info->frac = clock->tc.frac;
+	timer = &clock->timer;
+
+	info->nsec = timer->tc.nsec;
+	info->cycles = timer->tc.cycle_last;
+	info->mask = timer->cycles.mask;
+	info->mult = timer->nominal_c_mult;
+	info->shift = timer->cycles.shift;
+	info->frac = timer->tc.frac;
 }
 
 void mlx5_init_clock(struct mlx5_core_dev *mdev)
@@ -714,7 +729,7 @@ void mlx5_cleanup_clock(struct mlx5_core_dev *mdev)
 	}
 
 	cancel_work_sync(&clock->pps_info.out_work);
-	cancel_delayed_work_sync(&clock->overflow_work);
+	cancel_delayed_work_sync(&clock->timer.overflow_work);
 
 	if (mdev->clock_info) {
 		free_page((unsigned long)mdev->clock_info);
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.h b/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.h
index 31600924bdc36..6e8804ebc773b 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.h
+++ b/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.h
@@ -45,12 +45,13 @@ static inline int mlx5_clock_get_ptp_index(struct mlx5_core_dev *mdev)
 static inline ktime_t mlx5_timecounter_cyc2time(struct mlx5_clock *clock,
 						u64 timestamp)
 {
+	struct mlx5_timer *timer = &clock->timer;
 	unsigned int seq;
 	u64 nsec;
 
 	do {
 		seq = read_seqbegin(&clock->lock);
-		nsec = timecounter_cyc2time(&clock->tc, timestamp);
+		nsec = timecounter_cyc2time(&timer->tc, timestamp);
 	} while (read_seqretry(&clock->lock, seq));
 
 	return ns_to_ktime(nsec);
diff --git a/include/linux/mlx5/driver.h b/include/linux/mlx5/driver.h
index ae88362216a4e..4f95b98215d81 100644
--- a/include/linux/mlx5/driver.h
+++ b/include/linux/mlx5/driver.h
@@ -644,18 +644,22 @@ struct mlx5_pps {
 	u8                         enabled;
 };
 
-struct mlx5_clock {
-	struct mlx5_nb             pps_nb;
-	seqlock_t                  lock;
+struct mlx5_timer {
 	struct cyclecounter        cycles;
 	struct timecounter         tc;
-	struct hwtstamp_config     hwtstamp_config;
 	u32                        nominal_c_mult;
 	unsigned long              overflow_period;
 	struct delayed_work        overflow_work;
+};
+
+struct mlx5_clock {
+	struct mlx5_nb             pps_nb;
+	seqlock_t                  lock;
+	struct hwtstamp_config     hwtstamp_config;
 	struct ptp_clock          *ptp;
 	struct ptp_clock_info      ptp_info;
 	struct mlx5_pps            pps_info;
+	struct mlx5_timer          timer;
 };
 
 struct mlx5_dm;
-- 
2.40.1




  parent reply	other threads:[~2023-08-24 14:58 UTC|newest]

Thread overview: 142+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-24 14:49 [PATCH 5.10 000/135] 5.10.191-rc1 review Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 001/135] mmc: sdhci-f-sdh30: Replace with sdhci_pltfm Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 002/135] macsec: Fix traffic counters/statistics Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 003/135] macsec: use DEV_STATS_INC() Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 004/135] net/mlx5: Refactor init clock function Greg Kroah-Hartman
2023-08-24 14:49 ` Greg Kroah-Hartman [this message]
2023-08-24 14:49 ` [PATCH 5.10 006/135] net/mlx5: Skip clock update work when device is in error state Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 007/135] drm/radeon: Fix integer overflow in radeon_cs_parser_init Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 008/135] ALSA: emu10k1: roll up loops in DSP setup code for Audigy Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 009/135] ASoC: Intel: sof_sdw: add quirk for MTL RVP Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 010/135] ASoC: Intel: sof_sdw: add quirk for LNL RVP Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 011/135] PCI: tegra194: Fix possible array out of bounds access Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 012/135] ARM: dts: imx6dl: prtrvt, prtvt7, prti6q, prtwd2: fix USB related warnings Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 013/135] ASoC: Intel: sof_sdw: Add support for Rex soundwire Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 014/135] iopoll: Call cpu_relax() in busy loops Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 015/135] quota: Properly disable quotas when add_dquot_ref() fails Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 016/135] quota: fix warning in dqgrab() Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 017/135] dma-remap: use kvmalloc_array/kvfree for larger dma memory remap Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 018/135] drm/amdgpu: install stub fence into potential unused fence pointers Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 019/135] HID: add quirk for 03f0:464a HP Elite Presenter Mouse Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 020/135] RDMA/mlx5: Return the firmware result upon destroying QP/RQ Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 021/135] ovl: check type and offset of struct vfsmount in ovl_entry Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 022/135] udf: Fix uninitialized array access for some pathnames Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 023/135] fs: jfs: Fix UBSAN: array-index-out-of-bounds in dbAllocDmapLev Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 024/135] MIPS: dec: prom: Address -Warray-bounds warning Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 025/135] FS: JFS: Fix null-ptr-deref Read in txBegin Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 026/135] FS: JFS: Check for read-only mounted filesystem " Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 027/135] media: v4l2-mem2mem: add lock to protect parameter num_rdy Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 028/135] usb: gadget: u_serial: Avoid spinlock recursion in __gs_console_push Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 029/135] media: platform: mediatek: vpu: fix NULL ptr dereference Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 030/135] usb: chipidea: imx: dont request QoS for imx8ulp Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 031/135] usb: chipidea: imx: add missing USB PHY DPDM wakeup setting Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 032/135] gfs2: Fix possible data races in gfs2_show_options() Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 033/135] pcmcia: rsrc_nonstatic: Fix memory leak in nonstatic_release_resource_db() Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 034/135] Bluetooth: L2CAP: Fix use-after-free Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 035/135] Bluetooth: btusb: Add MT7922 bluetooth ID for the Asus Ally Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 036/135] drm/amdgpu: Fix potential fence use-after-free v2 Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 037/135] ALSA: hda/realtek: Add quirks for Unis H3C Desktop B760 & Q760 Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 038/135] ALSA: hda: fix a possible null-pointer dereference due to data race in snd_hdac_regmap_sync() Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 039/135] powerpc/kasan: Disable KCOV in KASAN code Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 040/135] ring-buffer: Do not swap cpu_buffer during resize process Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 041/135] IMA: allow/fix UML builds Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 042/135] iio: add addac subdirectory Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 043/135] dt-bindings: iio: add AD74413R Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 044/135] iio: adc: stx104: Utilize iomap interface Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 045/135] iio: adc: stx104: Implement and utilize register structures Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 046/135] iio: addac: stx104: Fix race condition for stx104_write_raw() Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 047/135] iio: addac: stx104: Fix race condition when converting analog-to-digital Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 048/135] bus: mhi: Add MHI PCI support for WWAN modems Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 049/135] bus: mhi: Add MMIO region length to controller structure Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 050/135] bus: mhi: Move host MHI code to "host" directory Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 051/135] bus: mhi: host: Range check CHDBOFF and ERDBOFF Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 052/135] irqchip/mips-gic: Get rid of the reliance on irq_cpu_online() Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 053/135] irqchip/mips-gic: Use raw spinlock for gic_lock Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 054/135] usb: cdnsp: Device side header file for CDNSP driver Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 055/135] usb: gadget: udc: core: Introduce check_config to verify USB configuration Greg Kroah-Hartman
2023-08-24 14:49 ` [PATCH 5.10 056/135] usb: cdns3: allocate TX FIFO size according to composite EP number Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 057/135] usb: cdns3: fix NCM gadget RX speed 20x slow than expection at iMX8QM Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 058/135] USB: dwc3: qcom: fix NULL-deref on suspend Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 059/135] mmc: bcm2835: fix deferred probing Greg Kroah-Hartman
2023-08-26 15:39   ` Sergey Shtylyov
2023-08-24 14:50 ` [PATCH 5.10 060/135] mmc: sunxi: " Greg Kroah-Hartman
2023-08-26 15:45   ` Sergey Shtylyov
2023-08-24 14:50 ` [PATCH 5.10 061/135] mmc: core: add devm_mmc_alloc_host Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 062/135] mmc: meson-gx: use devm_mmc_alloc_host Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 063/135] mmc: meson-gx: fix deferred probing Greg Kroah-Hartman
2023-08-26 15:57   ` Sergey Shtylyov
2023-08-24 14:50 ` [PATCH 5.10 064/135] tracing/probes: Have process_fetch_insn() take a void * instead of pt_regs Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 065/135] tracing/probes: Fix to update dynamic data counter if fetcharg uses it Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 066/135] net/ncsi: change from ndo_set_mac_address to dev_set_mac_address Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 067/135] virtio-mmio: Use to_virtio_mmio_device() to simply code Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 068/135] virtio-mmio: dont break lifecycle of vm_dev Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 069/135] i2c: bcm-iproc: Fix bcm_iproc_i2c_isr deadlock issue Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 070/135] fbdev: mmp: fix value check in mmphw_probe() Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 071/135] powerpc/rtas_flash: allow user copy to flash block cache objects Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 072/135] tty: n_gsm: fix the UAF caused by race condition in gsm_cleanup_mux Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 073/135] tty: serial: fsl_lpuart: Clear the error flags by writing 1 for lpuart32 platforms Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 074/135] btrfs: fix BUG_ON condition in btrfs_cancel_balance Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 075/135] i2c: designware: Handle invalid SMBus block data response length value Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 076/135] net: xfrm: Fix xfrm_address_filter OOB read Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 077/135] net: af_key: fix sadb_x_filter validation Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 078/135] net: xfrm: Amend XFRMA_SEC_CTX nla_policy structure Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 079/135] xfrm: fix slab-use-after-free in decode_session6 Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 080/135] ip6_vti: " Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 081/135] ip_vti: fix potential " Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 082/135] xfrm: add NULL check in xfrm_update_ae_params Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 083/135] xfrm: add forgotten nla_policy for XFRMA_MTIMER_THRESH Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 084/135] selftests: mirror_gre_changes: Tighten up the TTL test match Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 085/135] drm/panel: simple: Fix AUO G121EAN01 panel timings according to the docs Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 086/135] ipvs: fix racy memcpy in proc_do_sync_threshold Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 087/135] netfilter: nft_dynset: disallow object maps Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 088/135] net: phy: broadcom: stub c45 read/write for 54810 Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 089/135] team: Fix incorrect deletion of ETH_P_8021AD protocol vid from slaves Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 090/135] i40e: fix misleading debug logs Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 091/135] net: dsa: mv88e6xxx: Wait for EEPROM done before HW reset Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 092/135] sock: Fix misuse of sk_under_memory_pressure() Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 093/135] net: do not allow gso_size to be set to GSO_BY_FRAGS Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 094/135] bus: ti-sysc: Flush posted write on enable before reset Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 095/135] arm64: dts: rockchip: fix supplies on rk3399-rock-pi-4 Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 096/135] arm64: dts: rockchip: use USB host by default " Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 097/135] arm64: dts: rockchip: add ES8316 codec for ROCK Pi 4 Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 098/135] arm64: dts: rockchip: add SPDIF node " Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 099/135] arm64: dts: rockchip: fix regulator name on rk3399-rock-4 Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 100/135] arm64: dts: rockchip: sort nodes/properties " Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 101/135] arm64: dts: rockchip: Disable HS400 for eMMC on ROCK Pi 4 Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 102/135] ASoC: rt5665: add missed regulator_bulk_disable Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 103/135] ASoC: meson: axg-tdm-formatter: fix channel slot allocation Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 104/135] ALSA: hda/realtek - Remodified 3k pull low procedure Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 105/135] riscv: __asm_copy_to-from_user: Optimize unaligned memory access and pipeline stall Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 106/135] riscv: lib: uaccess: fold fixups into body Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 107/135] riscv: lib: uaccess: fix CSR_STATUS SR_SUM bit Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 108/135] riscv: uaccess: Return the number of bytes effectively not copied Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 109/135] serial: 8250: Fix oops for port->pm on uart_change_pm() Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 110/135] ALSA: usb-audio: Add support for Mythware XA001AU capture and playback interfaces Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 111/135] cifs: Release folio lock on fscache read hit Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 112/135] mmc: wbsd: fix double mmc_free_host() in wbsd_init() Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 113/135] mmc: block: Fix in_flight[issue_type] value error Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 114/135] netfilter: set default timeout to 3 secs for sctp shutdown send and recv state Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 115/135] af_unix: Fix null-ptr-deref in unix_stream_sendpage() Greg Kroah-Hartman
2023-08-24 14:50 ` [PATCH 5.10 116/135] virtio-net: set queues after driver_ok Greg Kroah-Hartman
2023-08-24 14:51 ` [PATCH 5.10 117/135] net: fix the RTO timer retransmitting skb every 1ms if linear option is enabled Greg Kroah-Hartman
2023-08-24 14:51 ` [PATCH 5.10 118/135] mmc: f-sdh30: fix order of function calls in sdhci_f_sdh30_remove Greg Kroah-Hartman
2023-08-24 14:51 ` [PATCH 5.10 119/135] x86/cpu: Fix __x86_return_thunk symbol type Greg Kroah-Hartman
2023-08-24 14:51 ` [PATCH 5.10 120/135] x86/cpu: Fix up srso_safe_ret() and __x86_return_thunk() Greg Kroah-Hartman
2023-08-24 14:51 ` [PATCH 5.10 121/135] x86/alternative: Make custom return thunk unconditional Greg Kroah-Hartman
2023-08-24 14:51 ` [PATCH 5.10 122/135] objtool: Add frame-pointer-specific function ignore Greg Kroah-Hartman
2023-08-24 14:51 ` [PATCH 5.10 123/135] x86/ibt: Add ANNOTATE_NOENDBR Greg Kroah-Hartman
2023-08-24 14:51 ` [PATCH 5.10 124/135] x86/cpu: Clean up SRSO return thunk mess Greg Kroah-Hartman
2023-08-24 14:51 ` [PATCH 5.10 125/135] x86/cpu: Rename original retbleed methods Greg Kroah-Hartman
2023-08-24 14:51 ` [PATCH 5.10 126/135] x86/cpu: Rename srso_(.*)_alias to srso_alias_\1 Greg Kroah-Hartman
2023-08-24 14:51 ` [PATCH 5.10 127/135] x86/cpu: Cleanup the untrain mess Greg Kroah-Hartman
2023-08-24 14:51 ` [PATCH 5.10 128/135] x86/srso: Explain the untraining sequences a bit more Greg Kroah-Hartman
2023-08-24 14:51 ` [PATCH 5.10 129/135] x86/static_call: Fix __static_call_fixup() Greg Kroah-Hartman
2023-08-24 14:51 ` [PATCH 5.10 130/135] x86/retpoline: Dont clobber RFLAGS during srso_safe_ret() Greg Kroah-Hartman
2023-08-24 14:51 ` [PATCH 5.10 131/135] x86/CPU/AMD: Fix the DIV(0) initial fix attempt Greg Kroah-Hartman
2023-08-24 14:51 ` [PATCH 5.10 132/135] x86/srso: Disable the mitigation on unaffected configurations Greg Kroah-Hartman
2023-08-24 14:51 ` [PATCH 5.10 133/135] x86/retpoline,kprobes: Fix position of thunk sections with CONFIG_LTO_CLANG Greg Kroah-Hartman
2023-08-24 14:51 ` [PATCH 5.10 134/135] objtool/x86: Fixup frame-pointer vs rethunk Greg Kroah-Hartman
2023-08-24 14:51 ` [PATCH 5.10 135/135] x86/srso: Correct the mitigation status when SMT is disabled Greg Kroah-Hartman
2023-08-24 16:05 ` [PATCH 5.10 000/135] 5.10.191-rc1 review Alexey Khoroshilov
2023-08-24 16:38   ` Greg Kroah-Hartman
  -- strict thread matches above, loose matches on Subject: below --
2023-08-24 17:07 [PATCH 5.10 000/135] 5.10.192-rc1 review Greg Kroah-Hartman
2023-08-24 17:07 ` [PATCH 5.10 005/135] net/mlx5: Move all internal timer metadata into a dedicated struct 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=20230824145027.248133592@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=ayal@nvidia.com \
    --cc=eranbe@mellanox.com \
    --cc=patches@lists.linux.dev \
    --cc=saeedm@nvidia.com \
    --cc=sashal@kernel.org \
    --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;
as well as URLs for NNTP newsgroup(s).