* [PATCH AUTOSEL 6.1 01/29] hwtracing: hisi_ptt: Handle the interrupt in hardirq context
@ 2023-12-11 13:53 Sasha Levin
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 02/29] hwtracing: hisi_ptt: Don't try to attach a task Sasha Levin
` (27 more replies)
0 siblings, 28 replies; 30+ messages in thread
From: Sasha Levin @ 2023-12-11 13:53 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Yicong Yang, Jonathan Cameron, Suzuki K Poulose, Sasha Levin,
jonathan.cameron, alexander.shishkin
From: Yicong Yang <yangyicong@hisilicon.com>
[ Upstream commit e0dd27ad8af00f147ac3c9de88e0687986afc3ea ]
Handle the trace interrupt in the hardirq context, make sure the irq
core won't threaded it by declaring IRQF_NO_THREAD and userspace won't
balance it by declaring IRQF_NOBALANCING. Otherwise we may violate the
synchronization requirements of the perf core, referenced to the
change of arm-ccn PMU
commit 0811ef7e2f54 ("bus: arm-ccn: fix PMU interrupt flags").
In the interrupt handler we mainly doing 2 things:
- Copy the data from the local DMA buffer to the AUX buffer
- Commit the data in the AUX buffer
Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>
Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
[ Fixed commit description to suppress checkpatch warning ]
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Link: https://lore.kernel.org/r/20231010084731.30450-3-yangyicong@huawei.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/hwtracing/ptt/hisi_ptt.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/hwtracing/ptt/hisi_ptt.c b/drivers/hwtracing/ptt/hisi_ptt.c
index 4140efd664097..75a8f24fdafee 100644
--- a/drivers/hwtracing/ptt/hisi_ptt.c
+++ b/drivers/hwtracing/ptt/hisi_ptt.c
@@ -342,9 +342,9 @@ static int hisi_ptt_register_irq(struct hisi_ptt *hisi_ptt)
return ret;
hisi_ptt->trace_irq = pci_irq_vector(pdev, HISI_PTT_TRACE_DMA_IRQ);
- ret = devm_request_threaded_irq(&pdev->dev, hisi_ptt->trace_irq,
- NULL, hisi_ptt_isr, 0,
- DRV_NAME, hisi_ptt);
+ ret = devm_request_irq(&pdev->dev, hisi_ptt->trace_irq, hisi_ptt_isr,
+ IRQF_NOBALANCING | IRQF_NO_THREAD, DRV_NAME,
+ hisi_ptt);
if (ret) {
pci_err(pdev, "failed to request irq %d, ret = %d\n",
hisi_ptt->trace_irq, ret);
--
2.42.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH AUTOSEL 6.1 02/29] hwtracing: hisi_ptt: Don't try to attach a task
2023-12-11 13:53 [PATCH AUTOSEL 6.1 01/29] hwtracing: hisi_ptt: Handle the interrupt in hardirq context Sasha Levin
@ 2023-12-11 13:53 ` Sasha Levin
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 03/29] ASoC: wm8974: Correct boost mixer inputs Sasha Levin
` (26 subsequent siblings)
27 siblings, 0 replies; 30+ messages in thread
From: Sasha Levin @ 2023-12-11 13:53 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Yicong Yang, Jonathan Cameron, Suzuki K Poulose, Sasha Levin,
jonathan.cameron, alexander.shishkin
From: Yicong Yang <yangyicong@hisilicon.com>
[ Upstream commit aff787f64ad7cbb54614b51b82c682fe06411ef3 ]
PTT is an uncore PMU and shouldn't be attached to any task. Block
the usage in pmu::event_init().
Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>
Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Link: https://lore.kernel.org/r/20231010084731.30450-5-yangyicong@huawei.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/hwtracing/ptt/hisi_ptt.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/hwtracing/ptt/hisi_ptt.c b/drivers/hwtracing/ptt/hisi_ptt.c
index 75a8f24fdafee..0a7190f2ba01d 100644
--- a/drivers/hwtracing/ptt/hisi_ptt.c
+++ b/drivers/hwtracing/ptt/hisi_ptt.c
@@ -659,6 +659,9 @@ static int hisi_ptt_pmu_event_init(struct perf_event *event)
return -EOPNOTSUPP;
}
+ if (event->attach_state & PERF_ATTACH_TASK)
+ return -EOPNOTSUPP;
+
if (event->attr.type != hisi_ptt->hisi_ptt_pmu.type)
return -ENOENT;
--
2.42.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH AUTOSEL 6.1 03/29] ASoC: wm8974: Correct boost mixer inputs
2023-12-11 13:53 [PATCH AUTOSEL 6.1 01/29] hwtracing: hisi_ptt: Handle the interrupt in hardirq context Sasha Levin
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 02/29] hwtracing: hisi_ptt: Don't try to attach a task Sasha Levin
@ 2023-12-11 13:53 ` Sasha Levin
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 04/29] arm64: dts: rockchip: fix rk356x pcie msg interrupt name Sasha Levin
` (25 subsequent siblings)
27 siblings, 0 replies; 30+ messages in thread
From: Sasha Levin @ 2023-12-11 13:53 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Charles Keepax, Mark Brown, Sasha Levin, lgirdwood, perex, tiwai,
u.kleine-koenig, patches, linux-sound
From: Charles Keepax <ckeepax@opensource.cirrus.com>
[ Upstream commit 37e6fd0cebf0b9f71afb38fd95b10408799d1f0b ]
Bit 6 of INPPGA (INPPGAMUTE) does not control the Aux path, it controls
the input PGA path, as can been seen from Figure 8 Input Boost Stage in
the datasheet. Update the naming of things in the driver to match this
and update the routing to also reflect this.
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20231113155916.1741027-1-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
sound/soc/codecs/wm8974.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/sound/soc/codecs/wm8974.c b/sound/soc/codecs/wm8974.c
index 010a394c705c1..1becbf2c6ffad 100644
--- a/sound/soc/codecs/wm8974.c
+++ b/sound/soc/codecs/wm8974.c
@@ -186,7 +186,7 @@ SOC_DAPM_SINGLE("PCM Playback Switch", WM8974_MONOMIX, 0, 1, 0),
/* Boost mixer */
static const struct snd_kcontrol_new wm8974_boost_mixer[] = {
-SOC_DAPM_SINGLE("Aux Switch", WM8974_INPPGA, 6, 1, 1),
+SOC_DAPM_SINGLE("PGA Switch", WM8974_INPPGA, 6, 1, 1),
};
/* Input PGA */
@@ -246,8 +246,8 @@ static const struct snd_soc_dapm_route wm8974_dapm_routes[] = {
/* Boost Mixer */
{"ADC", NULL, "Boost Mixer"},
- {"Boost Mixer", "Aux Switch", "Aux Input"},
- {"Boost Mixer", NULL, "Input PGA"},
+ {"Boost Mixer", NULL, "Aux Input"},
+ {"Boost Mixer", "PGA Switch", "Input PGA"},
{"Boost Mixer", NULL, "MICP"},
/* Input PGA */
--
2.42.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH AUTOSEL 6.1 04/29] arm64: dts: rockchip: fix rk356x pcie msg interrupt name
2023-12-11 13:53 [PATCH AUTOSEL 6.1 01/29] hwtracing: hisi_ptt: Handle the interrupt in hardirq context Sasha Levin
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 02/29] hwtracing: hisi_ptt: Don't try to attach a task Sasha Levin
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 03/29] ASoC: wm8974: Correct boost mixer inputs Sasha Levin
@ 2023-12-11 13:53 ` Sasha Levin
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 05/29] ASoC: Intel: Skylake: Fix mem leak in few functions Sasha Levin
` (24 subsequent siblings)
27 siblings, 0 replies; 30+ messages in thread
From: Sasha Levin @ 2023-12-11 13:53 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Heiko Stuebner, Sebastian Reichel, Sasha Levin, robh+dt,
krzysztof.kozlowski+dt, conor+dt, frattaroli.nicolas, jonas,
m.tretter, jensenhuang, inindev, aholmes, jbx6244, s.hauer,
devicetree, linux-arm-kernel, linux-rockchip
From: Heiko Stuebner <heiko@sntech.de>
[ Upstream commit 3cee9c635f27d1003d46f624d816f3455698b625 ]
The expected name by the binding at this position is "msg" and the SoC's
manual also calls the interrupt in question "msg", so fix the rk356x dtsi
to use the correct name.
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Link: https://lore.kernel.org/r/20231114153834.934978-1-heiko@sntech.de
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
arch/arm64/boot/dts/rockchip/rk356x.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk356x.dtsi b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
index 234b5bbda1204..f4d6dbbbddcd4 100644
--- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
@@ -958,7 +958,7 @@ pcie2x1: pcie@fe260000 {
<GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
- interrupt-names = "sys", "pmc", "msi", "legacy", "err";
+ interrupt-names = "sys", "pmc", "msg", "legacy", "err";
bus-range = <0x0 0xf>;
clocks = <&cru ACLK_PCIE20_MST>, <&cru ACLK_PCIE20_SLV>,
<&cru ACLK_PCIE20_DBI>, <&cru PCLK_PCIE20>,
--
2.42.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH AUTOSEL 6.1 05/29] ASoC: Intel: Skylake: Fix mem leak in few functions
2023-12-11 13:53 [PATCH AUTOSEL 6.1 01/29] hwtracing: hisi_ptt: Handle the interrupt in hardirq context Sasha Levin
` (2 preceding siblings ...)
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 04/29] arm64: dts: rockchip: fix rk356x pcie msg interrupt name Sasha Levin
@ 2023-12-11 13:53 ` Sasha Levin
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 06/29] ASoC: nau8822: Fix incorrect type in assignment and cast to restricted __be16 Sasha Levin
` (23 subsequent siblings)
27 siblings, 0 replies; 30+ messages in thread
From: Sasha Levin @ 2023-12-11 13:53 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Kamil Duljas, Amadeusz Sławiński, Mark Brown,
Sasha Levin, cezary.rojewski, pierre-louis.bossart,
liam.r.girdwood, peter.ujfalusi, yung-chuan.liao,
ranjani.sridharan, kai.vehmanen, perex, tiwai, suhui, zhangyiqun,
kuninori.morimoto.gx, alsa-devel, linux-sound
From: Kamil Duljas <kamil.duljas@gmail.com>
[ Upstream commit d5c65be34df73fa01ed05611aafb73b440d89e29 ]
The resources should be freed when function return error.
Signed-off-by: Kamil Duljas <kamil.duljas@gmail.com>
Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Link: https://lore.kernel.org/r/20231116125150.1436-1-kamil.duljas@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
sound/soc/intel/skylake/skl-pcm.c | 4 +++-
sound/soc/intel/skylake/skl-sst-ipc.c | 4 +++-
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/sound/soc/intel/skylake/skl-pcm.c b/sound/soc/intel/skylake/skl-pcm.c
index 1015716f93361..7ef0041075130 100644
--- a/sound/soc/intel/skylake/skl-pcm.c
+++ b/sound/soc/intel/skylake/skl-pcm.c
@@ -251,8 +251,10 @@ static int skl_pcm_open(struct snd_pcm_substream *substream,
snd_pcm_set_sync(substream);
mconfig = skl_tplg_fe_get_cpr_module(dai, substream->stream);
- if (!mconfig)
+ if (!mconfig) {
+ kfree(dma_params);
return -EINVAL;
+ }
skl_tplg_d0i3_get(skl, mconfig->d0i3_caps);
diff --git a/sound/soc/intel/skylake/skl-sst-ipc.c b/sound/soc/intel/skylake/skl-sst-ipc.c
index 7a425271b08b1..fd9624ad5f72b 100644
--- a/sound/soc/intel/skylake/skl-sst-ipc.c
+++ b/sound/soc/intel/skylake/skl-sst-ipc.c
@@ -1003,8 +1003,10 @@ int skl_ipc_get_large_config(struct sst_generic_ipc *ipc,
reply.size = (reply.header >> 32) & IPC_DATA_OFFSET_SZ_MASK;
buf = krealloc(reply.data, reply.size, GFP_KERNEL);
- if (!buf)
+ if (!buf) {
+ kfree(reply.data);
return -ENOMEM;
+ }
*payload = buf;
*bytes = reply.size;
--
2.42.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH AUTOSEL 6.1 06/29] ASoC: nau8822: Fix incorrect type in assignment and cast to restricted __be16
2023-12-11 13:53 [PATCH AUTOSEL 6.1 01/29] hwtracing: hisi_ptt: Handle the interrupt in hardirq context Sasha Levin
` (3 preceding siblings ...)
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 05/29] ASoC: Intel: Skylake: Fix mem leak in few functions Sasha Levin
@ 2023-12-11 13:53 ` Sasha Levin
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 07/29] ASoC: Intel: Skylake: mem leak in skl register function Sasha Levin
` (22 subsequent siblings)
27 siblings, 0 replies; 30+ messages in thread
From: Sasha Levin @ 2023-12-11 13:53 UTC (permalink / raw)
To: linux-kernel, stable
Cc: David Lin, kernel test robot, Mark Brown, Sasha Levin, lgirdwood,
perex, tiwai, francesco.dolcini, emanuele.ghidoli,
u.kleine-koenig, linux-sound
From: David Lin <CTLIN0@nuvoton.com>
[ Upstream commit c1501f2597dd08601acd42256a4b0a0fc36bf302 ]
This issue is reproduced when W=1 build in compiler gcc-12.
The following are sparse warnings:
sound/soc/codecs/nau8822.c:199:25: sparse: sparse: incorrect type in assignment
sound/soc/codecs/nau8822.c:199:25: sparse: expected unsigned short
sound/soc/codecs/nau8822.c:199:25: sparse: got restricted __be16
sound/soc/codecs/nau8822.c:235:25: sparse: sparse: cast to restricted __be16
sound/soc/codecs/nau8822.c:235:25: sparse: sparse: cast to restricted __be16
sound/soc/codecs/nau8822.c:235:25: sparse: sparse: cast to restricted __be16
sound/soc/codecs/nau8822.c:235:25: sparse: sparse: cast to restricted __be16
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202311122320.T1opZVkP-lkp@intel.com/
Signed-off-by: David Lin <CTLIN0@nuvoton.com>
Link: https://lore.kernel.org/r/20231117043011.1747594-1-CTLIN0@nuvoton.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
sound/soc/codecs/nau8822.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/sound/soc/codecs/nau8822.c b/sound/soc/codecs/nau8822.c
index 1aef281a99727..cd5053cfd5213 100644
--- a/sound/soc/codecs/nau8822.c
+++ b/sound/soc/codecs/nau8822.c
@@ -184,6 +184,7 @@ static int nau8822_eq_get(struct snd_kcontrol *kcontrol,
struct soc_bytes_ext *params = (void *)kcontrol->private_value;
int i, reg;
u16 reg_val, *val;
+ __be16 tmp;
val = (u16 *)ucontrol->value.bytes.data;
reg = NAU8822_REG_EQ1;
@@ -192,8 +193,8 @@ static int nau8822_eq_get(struct snd_kcontrol *kcontrol,
/* conversion of 16-bit integers between native CPU format
* and big endian format
*/
- reg_val = cpu_to_be16(reg_val);
- memcpy(val + i, ®_val, sizeof(reg_val));
+ tmp = cpu_to_be16(reg_val);
+ memcpy(val + i, &tmp, sizeof(tmp));
}
return 0;
@@ -216,6 +217,7 @@ static int nau8822_eq_put(struct snd_kcontrol *kcontrol,
void *data;
u16 *val, value;
int i, reg, ret;
+ __be16 *tmp;
data = kmemdup(ucontrol->value.bytes.data,
params->max, GFP_KERNEL | GFP_DMA);
@@ -228,7 +230,8 @@ static int nau8822_eq_put(struct snd_kcontrol *kcontrol,
/* conversion of 16-bit integers between native CPU format
* and big endian format
*/
- value = be16_to_cpu(*(val + i));
+ tmp = (__be16 *)(val + i);
+ value = be16_to_cpup(tmp);
ret = snd_soc_component_write(component, reg + i, value);
if (ret) {
dev_err(component->dev,
--
2.42.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH AUTOSEL 6.1 07/29] ASoC: Intel: Skylake: mem leak in skl register function
2023-12-11 13:53 [PATCH AUTOSEL 6.1 01/29] hwtracing: hisi_ptt: Handle the interrupt in hardirq context Sasha Levin
` (4 preceding siblings ...)
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 06/29] ASoC: nau8822: Fix incorrect type in assignment and cast to restricted __be16 Sasha Levin
@ 2023-12-11 13:53 ` Sasha Levin
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 08/29] ASoC: cs43130: Fix the position of const qualifier Sasha Levin
` (21 subsequent siblings)
27 siblings, 0 replies; 30+ messages in thread
From: Sasha Levin @ 2023-12-11 13:53 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Kamil Duljas, Amadeusz Sławiński, Mark Brown,
Sasha Levin, cezary.rojewski, pierre-louis.bossart,
liam.r.girdwood, peter.ujfalusi, yung-chuan.liao,
ranjani.sridharan, kai.vehmanen, perex, tiwai,
kuninori.morimoto.gx, suhui, zhangyiqun, alsa-devel, linux-sound
From: Kamil Duljas <kamil.duljas@gmail.com>
[ Upstream commit f8ba14b780273fd290ddf7ee0d7d7decb44cc365 ]
skl_platform_register() uses krealloc. When krealloc is fail,
then previous memory is not freed. The leak is also when soc
component registration failed.
Signed-off-by: Kamil Duljas <kamil.duljas@gmail.com>
Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Link: https://lore.kernel.org/r/20231116224112.2209-2-kamil.duljas@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
sound/soc/intel/skylake/skl-pcm.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/sound/soc/intel/skylake/skl-pcm.c b/sound/soc/intel/skylake/skl-pcm.c
index 7ef0041075130..adee4be2dea71 100644
--- a/sound/soc/intel/skylake/skl-pcm.c
+++ b/sound/soc/intel/skylake/skl-pcm.c
@@ -1473,6 +1473,7 @@ int skl_platform_register(struct device *dev)
dais = krealloc(skl->dais, sizeof(skl_fe_dai) +
sizeof(skl_platform_dai), GFP_KERNEL);
if (!dais) {
+ kfree(skl->dais);
ret = -ENOMEM;
goto err;
}
@@ -1485,8 +1486,10 @@ int skl_platform_register(struct device *dev)
ret = devm_snd_soc_register_component(dev, &skl_component,
skl->dais, num_dais);
- if (ret)
+ if (ret) {
+ kfree(skl->dais);
dev_err(dev, "soc component registration failed %d\n", ret);
+ }
err:
return ret;
}
--
2.42.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH AUTOSEL 6.1 08/29] ASoC: cs43130: Fix the position of const qualifier
2023-12-11 13:53 [PATCH AUTOSEL 6.1 01/29] hwtracing: hisi_ptt: Handle the interrupt in hardirq context Sasha Levin
` (5 preceding siblings ...)
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 07/29] ASoC: Intel: Skylake: mem leak in skl register function Sasha Levin
@ 2023-12-11 13:53 ` Sasha Levin
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 09/29] ASoC: cs43130: Fix incorrect frame delay configuration Sasha Levin
` (20 subsequent siblings)
27 siblings, 0 replies; 30+ messages in thread
From: Sasha Levin @ 2023-12-11 13:53 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Maciej Strozek, Charles Keepax, Mark Brown, Sasha Levin,
james.schulman, david.rhodes, rf, lgirdwood, perex, tiwai,
alsa-devel, patches, linux-sound
From: Maciej Strozek <mstrozek@opensource.cirrus.com>
[ Upstream commit e7f289a59e76a5890a57bc27b198f69f175f75d9 ]
Signed-off-by: Maciej Strozek <mstrozek@opensource.cirrus.com>
Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20231117141344.64320-2-mstrozek@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
sound/soc/codecs/cs43130.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sound/soc/codecs/cs43130.c b/sound/soc/codecs/cs43130.c
index db39abb2a31b5..1fcbf2ffccfff 100644
--- a/sound/soc/codecs/cs43130.c
+++ b/sound/soc/codecs/cs43130.c
@@ -1683,7 +1683,7 @@ static ssize_t hpload_dc_r_show(struct device *dev,
return cs43130_show_dc(dev, buf, HP_RIGHT);
}
-static u16 const cs43130_ac_freq[CS43130_AC_FREQ] = {
+static const u16 cs43130_ac_freq[CS43130_AC_FREQ] = {
24,
43,
93,
@@ -2363,7 +2363,7 @@ static const struct regmap_config cs43130_regmap = {
.use_single_write = true,
};
-static u16 const cs43130_dc_threshold[CS43130_DC_THRESHOLD] = {
+static const u16 cs43130_dc_threshold[CS43130_DC_THRESHOLD] = {
50,
120,
};
--
2.42.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH AUTOSEL 6.1 09/29] ASoC: cs43130: Fix incorrect frame delay configuration
2023-12-11 13:53 [PATCH AUTOSEL 6.1 01/29] hwtracing: hisi_ptt: Handle the interrupt in hardirq context Sasha Levin
` (6 preceding siblings ...)
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 08/29] ASoC: cs43130: Fix the position of const qualifier Sasha Levin
@ 2023-12-11 13:53 ` Sasha Levin
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 10/29] ASoC: rt5650: add mutex to avoid the jack detection failure Sasha Levin
` (19 subsequent siblings)
27 siblings, 0 replies; 30+ messages in thread
From: Sasha Levin @ 2023-12-11 13:53 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Maciej Strozek, Charles Keepax, Mark Brown, Sasha Levin,
james.schulman, david.rhodes, rf, lgirdwood, perex, tiwai,
alsa-devel, patches, linux-sound
From: Maciej Strozek <mstrozek@opensource.cirrus.com>
[ Upstream commit aa7e8e5e4011571022dc06e4d7a2f108feb53d1a ]
Signed-off-by: Maciej Strozek <mstrozek@opensource.cirrus.com>
Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20231117141344.64320-3-mstrozek@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
sound/soc/codecs/cs43130.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/codecs/cs43130.c b/sound/soc/codecs/cs43130.c
index 1fcbf2ffccfff..0b8ecd917a086 100644
--- a/sound/soc/codecs/cs43130.c
+++ b/sound/soc/codecs/cs43130.c
@@ -579,7 +579,7 @@ static int cs43130_set_sp_fmt(int dai_id, unsigned int bitwidth_sclk,
break;
case SND_SOC_DAIFMT_LEFT_J:
hi_size = bitwidth_sclk;
- frm_delay = 2;
+ frm_delay = 0;
frm_phase = 1;
break;
case SND_SOC_DAIFMT_DSP_A:
--
2.42.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH AUTOSEL 6.1 10/29] ASoC: rt5650: add mutex to avoid the jack detection failure
2023-12-11 13:53 [PATCH AUTOSEL 6.1 01/29] hwtracing: hisi_ptt: Handle the interrupt in hardirq context Sasha Levin
` (7 preceding siblings ...)
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 09/29] ASoC: cs43130: Fix incorrect frame delay configuration Sasha Levin
@ 2023-12-11 13:53 ` Sasha Levin
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 11/29] ASoC: SOF: mediatek: mt8186: Add Google Steelix topology compatible Sasha Levin
` (18 subsequent siblings)
27 siblings, 0 replies; 30+ messages in thread
From: Sasha Levin @ 2023-12-11 13:53 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Shuming Fan, Mark Brown, Sasha Levin, oder_chiou, lgirdwood,
perex, tiwai, linux-sound
From: Shuming Fan <shumingf@realtek.com>
[ Upstream commit cdba4301adda7c60a2064bf808e48fccd352aaa9 ]
This patch adds the jd_mutex to protect the jack detection control flow.
And only the headset type could check the button status.
Signed-off-by: Shuming Fan <shumingf@realtek.com>
Link: https://lore.kernel.org/r/20231122100123.2831753-1-shumingf@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
sound/soc/codecs/rt5645.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/sound/soc/codecs/rt5645.c b/sound/soc/codecs/rt5645.c
index f86fc7cd104d4..60518ee5a86e7 100644
--- a/sound/soc/codecs/rt5645.c
+++ b/sound/soc/codecs/rt5645.c
@@ -448,6 +448,7 @@ struct rt5645_priv {
struct regulator_bulk_data supplies[ARRAY_SIZE(rt5645_supply_names)];
struct rt5645_eq_param_s *eq_param;
struct timer_list btn_check_timer;
+ struct mutex jd_mutex;
int codec_type;
int sysclk;
@@ -3189,6 +3190,8 @@ static int rt5645_jack_detect(struct snd_soc_component *component, int jack_inse
rt5645_enable_push_button_irq(component, true);
}
} else {
+ if (rt5645->en_button_func)
+ rt5645_enable_push_button_irq(component, false);
snd_soc_dapm_disable_pin(dapm, "Mic Det Power");
snd_soc_dapm_sync(dapm);
rt5645->jack_type = SND_JACK_HEADPHONE;
@@ -3269,6 +3272,8 @@ static void rt5645_jack_detect_work(struct work_struct *work)
if (!rt5645->component)
return;
+ mutex_lock(&rt5645->jd_mutex);
+
switch (rt5645->pdata.jd_mode) {
case 0: /* Not using rt5645 JD */
if (rt5645->gpiod_hp_det) {
@@ -3295,7 +3300,7 @@ static void rt5645_jack_detect_work(struct work_struct *work)
if (!val && (rt5645->jack_type == 0)) { /* jack in */
report = rt5645_jack_detect(rt5645->component, 1);
- } else if (!val && rt5645->jack_type != 0) {
+ } else if (!val && rt5645->jack_type == SND_JACK_HEADSET) {
/* for push button and jack out */
btn_type = 0;
if (snd_soc_component_read(rt5645->component, RT5645_INT_IRQ_ST) & 0x4) {
@@ -3351,6 +3356,8 @@ static void rt5645_jack_detect_work(struct work_struct *work)
rt5645_jack_detect(rt5645->component, 0);
}
+ mutex_unlock(&rt5645->jd_mutex);
+
snd_soc_jack_report(rt5645->hp_jack, report, SND_JACK_HEADPHONE);
snd_soc_jack_report(rt5645->mic_jack, report, SND_JACK_MICROPHONE);
if (rt5645->en_button_func)
@@ -4119,6 +4126,7 @@ static int rt5645_i2c_probe(struct i2c_client *i2c)
}
timer_setup(&rt5645->btn_check_timer, rt5645_btn_check_callback, 0);
+ mutex_init(&rt5645->jd_mutex);
INIT_DELAYED_WORK(&rt5645->jack_detect_work, rt5645_jack_detect_work);
INIT_DELAYED_WORK(&rt5645->rcclock_work, rt5645_rcclock_work);
--
2.42.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH AUTOSEL 6.1 11/29] ASoC: SOF: mediatek: mt8186: Add Google Steelix topology compatible
2023-12-11 13:53 [PATCH AUTOSEL 6.1 01/29] hwtracing: hisi_ptt: Handle the interrupt in hardirq context Sasha Levin
` (8 preceding siblings ...)
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 10/29] ASoC: rt5650: add mutex to avoid the jack detection failure Sasha Levin
@ 2023-12-11 13:53 ` Sasha Levin
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 12/29] ASoC: Intel: skl_hda_dsp_generic: Drop HDMI routes when HDMI is not available Sasha Levin
` (17 subsequent siblings)
27 siblings, 0 replies; 30+ messages in thread
From: Sasha Levin @ 2023-12-11 13:53 UTC (permalink / raw)
To: linux-kernel, stable
Cc: AngeloGioacchino Del Regno, Mark Brown, Sasha Levin,
pierre-louis.bossart, lgirdwood, peter.ujfalusi, yung-chuan.liao,
ranjani.sridharan, daniel.baluta, perex, tiwai, matthias.bgg,
trevor.wu, tinghan.shen, sound-open-firmware, linux-sound,
linux-arm-kernel, linux-mediatek
From: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
[ Upstream commit 505c83212da5bfca95109421b8f5d9f8c6cdfef2 ]
Add the machine compatible and topology filename for the Google Steelix
MT8186 Chromebook to load the correct SOF topology file.
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20231123084454.20471-1-angelogioacchino.delregno@collabora.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
sound/soc/sof/mediatek/mt8186/mt8186.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/sound/soc/sof/mediatek/mt8186/mt8186.c b/sound/soc/sof/mediatek/mt8186/mt8186.c
index 181189e00e020..76ce90e1f1030 100644
--- a/sound/soc/sof/mediatek/mt8186/mt8186.c
+++ b/sound/soc/sof/mediatek/mt8186/mt8186.c
@@ -596,6 +596,9 @@ static struct snd_sof_dsp_ops sof_mt8186_ops = {
static struct snd_sof_of_mach sof_mt8186_machs[] = {
{
+ .compatible = "google,steelix",
+ .sof_tplg_filename = "sof-mt8186-google-steelix.tplg"
+ }, {
.compatible = "mediatek,mt8186",
.sof_tplg_filename = "sof-mt8186.tplg",
},
--
2.42.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH AUTOSEL 6.1 12/29] ASoC: Intel: skl_hda_dsp_generic: Drop HDMI routes when HDMI is not available
2023-12-11 13:53 [PATCH AUTOSEL 6.1 01/29] hwtracing: hisi_ptt: Handle the interrupt in hardirq context Sasha Levin
` (9 preceding siblings ...)
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 11/29] ASoC: SOF: mediatek: mt8186: Add Google Steelix topology compatible Sasha Levin
@ 2023-12-11 13:53 ` Sasha Levin
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 13/29] nouveau/tu102: flush all pdbs on vmm flush Sasha Levin
` (16 subsequent siblings)
27 siblings, 0 replies; 30+ messages in thread
From: Sasha Levin @ 2023-12-11 13:53 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Peter Ujfalusi, Bard Liao, Kai Vehmanen, Pierre-Louis Bossart,
Mark Brown, Sasha Levin, cezary.rojewski, liam.r.girdwood,
ranjani.sridharan, perex, tiwai, kuninori.morimoto.gx, alsa-devel,
linux-sound
From: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
[ Upstream commit 3d1dc8b1030df8ca0fdfd4905c88ee10db943bf8 ]
When the HDMI is not present due to disabled display support
we will use dummy codec and the HDMI routes will refer to non existent
DAPM widgets.
Trim the route list from the HDMI routes to be able to probe the card even
if the HDMI dais are not registered.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20231124124015.15878-1-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
sound/soc/intel/boards/skl_hda_dsp_generic.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/sound/soc/intel/boards/skl_hda_dsp_generic.c b/sound/soc/intel/boards/skl_hda_dsp_generic.c
index 879ebba528322..463ffb85121d3 100644
--- a/sound/soc/intel/boards/skl_hda_dsp_generic.c
+++ b/sound/soc/intel/boards/skl_hda_dsp_generic.c
@@ -157,6 +157,8 @@ static int skl_hda_fill_card_info(struct snd_soc_acpi_mach_params *mach_params)
card->dapm_widgets = skl_hda_widgets;
card->num_dapm_widgets = ARRAY_SIZE(skl_hda_widgets);
if (!ctx->idisp_codec) {
+ card->dapm_routes = &skl_hda_map[IDISP_ROUTE_COUNT];
+ num_route -= IDISP_ROUTE_COUNT;
for (i = 0; i < IDISP_DAI_COUNT; i++) {
skl_hda_be_dai_links[i].codecs = dummy_codec;
skl_hda_be_dai_links[i].num_codecs =
--
2.42.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH AUTOSEL 6.1 13/29] nouveau/tu102: flush all pdbs on vmm flush
2023-12-11 13:53 [PATCH AUTOSEL 6.1 01/29] hwtracing: hisi_ptt: Handle the interrupt in hardirq context Sasha Levin
` (10 preceding siblings ...)
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 12/29] ASoC: Intel: skl_hda_dsp_generic: Drop HDMI routes when HDMI is not available Sasha Levin
@ 2023-12-11 13:53 ` Sasha Levin
2023-12-11 14:10 ` Timur Tabi
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 14/29] ASoC: amd: yc: Add DMI entry to support System76 Pangolin 13 Sasha Levin
` (15 subsequent siblings)
27 siblings, 1 reply; 30+ messages in thread
From: Sasha Levin @ 2023-12-11 13:53 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Dave Airlie, Danilo Krummrich, Sasha Levin, kherbst, lyude,
airlied, daniel, bskeggs, dri-devel, nouveau
From: Dave Airlie <airlied@redhat.com>
[ Upstream commit cb9c919364653eeafb49e7ff5cd32f1ad64063ac ]
This is a hack around a bug exposed with the GSP code, I'm not sure
what is happening exactly, but it appears some of our flushes don't
result in proper tlb invalidation for out BAR2 and we get a BAR2
fault from GSP and it all dies.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Danilo Krummrich <dakr@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20231130010852.4034774-1-airlied@gmail.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmtu102.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmtu102.c b/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmtu102.c
index 6cb5eefa45e9a..5a08458fe1b7f 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmtu102.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmtu102.c
@@ -31,7 +31,7 @@ tu102_vmm_flush(struct nvkm_vmm *vmm, int depth)
type |= 0x00000001; /* PAGE_ALL */
if (atomic_read(&vmm->engref[NVKM_SUBDEV_BAR]))
- type |= 0x00000004; /* HUB_ONLY */
+ type |= 0x00000006; /* HUB_ONLY | ALL PDB (hack) */
mutex_lock(&vmm->mmu->mutex);
--
2.42.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH AUTOSEL 6.1 14/29] ASoC: amd: yc: Add DMI entry to support System76 Pangolin 13
2023-12-11 13:53 [PATCH AUTOSEL 6.1 01/29] hwtracing: hisi_ptt: Handle the interrupt in hardirq context Sasha Levin
` (11 preceding siblings ...)
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 13/29] nouveau/tu102: flush all pdbs on vmm flush Sasha Levin
@ 2023-12-11 13:53 ` Sasha Levin
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 15/29] ASoC: hdac_hda: Conditionally register dais for HDMI and Analog Sasha Levin
` (14 subsequent siblings)
27 siblings, 0 replies; 30+ messages in thread
From: Sasha Levin @ 2023-12-11 13:53 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Jeremy Soller, Tim Crawford, Mark Brown, Sasha Levin, lgirdwood,
perex, tiwai, mario.limonciello, Syed.SabaKareem, git,
linux-sound
From: Jeremy Soller <jeremy@system76.com>
[ Upstream commit 19650c0f402f53abe48a55a1c49c8ed9576a088c ]
Add pang13 quirk to enable the internal microphone.
Signed-off-by: Jeremy Soller <jeremy@system76.com>
Signed-off-by: Tim Crawford <tcrawford@system76.com>
Link: https://lore.kernel.org/r/20231127184237.32077-2-tcrawford@system76.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
sound/soc/amd/yc/acp6x-mach.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/sound/soc/amd/yc/acp6x-mach.c b/sound/soc/amd/yc/acp6x-mach.c
index c494de5f5c066..ff7551f318346 100644
--- a/sound/soc/amd/yc/acp6x-mach.c
+++ b/sound/soc/amd/yc/acp6x-mach.c
@@ -346,6 +346,13 @@ static const struct dmi_system_id yc_acp_quirk_table[] = {
DMI_MATCH(DMI_PRODUCT_VERSION, "pang12"),
}
},
+ {
+ .driver_data = &acp6x_card,
+ .matches = {
+ DMI_MATCH(DMI_BOARD_VENDOR, "System76"),
+ DMI_MATCH(DMI_PRODUCT_VERSION, "pang13"),
+ }
+ },
{}
};
--
2.42.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH AUTOSEL 6.1 15/29] ASoC: hdac_hda: Conditionally register dais for HDMI and Analog
2023-12-11 13:53 [PATCH AUTOSEL 6.1 01/29] hwtracing: hisi_ptt: Handle the interrupt in hardirq context Sasha Levin
` (12 preceding siblings ...)
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 14/29] ASoC: amd: yc: Add DMI entry to support System76 Pangolin 13 Sasha Levin
@ 2023-12-11 13:53 ` Sasha Levin
2023-12-11 13:54 ` [PATCH AUTOSEL 6.1 16/29] net/tg3: fix race condition in tg3_reset_task() Sasha Levin
` (13 subsequent siblings)
27 siblings, 0 replies; 30+ messages in thread
From: Sasha Levin @ 2023-12-11 13:53 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Peter Ujfalusi, Kai Vehmanen, Mark Brown, Sasha Levin, lgirdwood,
perex, tiwai, pierre-louis.bossart, yung-chuan.liao,
ranjani.sridharan, linux-sound
From: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
[ Upstream commit a0575b4add21a243cc3257e75ad913cd5377d5f2 ]
The current driver is registering the same dais for each hdev found in the
system which results duplicated widgets to be registered and the kernel
log contains similar prints:
snd_hda_codec_realtek ehdaudio0D0: ASoC: sink widget AIF1TX overwritten
snd_hda_codec_realtek ehdaudio0D0: ASoC: source widget AIF1RX overwritten
skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget hifi3 overwritten
skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget hifi2 overwritten
skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget hifi1 overwritten
skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: source widget Codec Output Pin1 overwritten
skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget Codec Input Pin1 overwritten
skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget Analog Codec Playback overwritten
skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget Digital Codec Playback overwritten
skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget Alt Analog Codec Playback overwritten
skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: source widget Analog Codec Capture overwritten
skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: source widget Digital Codec Capture overwritten
skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: source widget Alt Analog Codec Capture overwritten
To avoid such issue, split the dai array into HDMI and non HDMI array and
register them conditionally:
for HDMI hdev only register the dais needed for HDMI
for non HDMI hdev do not register the HDMI dais.
Depends-on: 3d1dc8b1030d ("ASoC: Intel: skl_hda_dsp_generic: Drop HDMI routes when HDMI is not available")
Link: https://github.com/thesofproject/linux/issues/4509
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Link: https://lore.kernel.org/r/20231128123914.3986-1-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
sound/soc/codecs/hdac_hda.c | 23 ++++++++++++++++++++---
1 file changed, 20 insertions(+), 3 deletions(-)
diff --git a/sound/soc/codecs/hdac_hda.c b/sound/soc/codecs/hdac_hda.c
index 8af434e14bfba..21a00c86a1398 100644
--- a/sound/soc/codecs/hdac_hda.c
+++ b/sound/soc/codecs/hdac_hda.c
@@ -124,6 +124,9 @@ static struct snd_soc_dai_driver hdac_hda_dais[] = {
.sig_bits = 24,
},
},
+};
+
+static struct snd_soc_dai_driver hdac_hda_hdmi_dais[] = {
{
.id = HDAC_HDMI_0_DAI_ID,
.name = "intel-hdmi-hifi1",
@@ -578,8 +581,16 @@ static const struct snd_soc_component_driver hdac_hda_codec = {
.endianness = 1,
};
+static const struct snd_soc_component_driver hdac_hda_hdmi_codec = {
+ .probe = hdac_hda_codec_probe,
+ .remove = hdac_hda_codec_remove,
+ .idle_bias_on = false,
+ .endianness = 1,
+};
+
static int hdac_hda_dev_probe(struct hdac_device *hdev)
{
+ struct hdac_hda_priv *hda_pvt = dev_get_drvdata(&hdev->dev);
struct hdac_ext_link *hlink;
int ret;
@@ -592,9 +603,15 @@ static int hdac_hda_dev_probe(struct hdac_device *hdev)
snd_hdac_ext_bus_link_get(hdev->bus, hlink);
/* ASoC specific initialization */
- ret = devm_snd_soc_register_component(&hdev->dev,
- &hdac_hda_codec, hdac_hda_dais,
- ARRAY_SIZE(hdac_hda_dais));
+ if (hda_pvt->need_display_power)
+ ret = devm_snd_soc_register_component(&hdev->dev,
+ &hdac_hda_hdmi_codec, hdac_hda_hdmi_dais,
+ ARRAY_SIZE(hdac_hda_hdmi_dais));
+ else
+ ret = devm_snd_soc_register_component(&hdev->dev,
+ &hdac_hda_codec, hdac_hda_dais,
+ ARRAY_SIZE(hdac_hda_dais));
+
if (ret < 0) {
dev_err(&hdev->dev, "failed to register HDA codec %d\n", ret);
return ret;
--
2.42.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH AUTOSEL 6.1 16/29] net/tg3: fix race condition in tg3_reset_task()
2023-12-11 13:53 [PATCH AUTOSEL 6.1 01/29] hwtracing: hisi_ptt: Handle the interrupt in hardirq context Sasha Levin
` (13 preceding siblings ...)
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 15/29] ASoC: hdac_hda: Conditionally register dais for HDMI and Analog Sasha Levin
@ 2023-12-11 13:54 ` Sasha Levin
2023-12-11 13:54 ` [PATCH AUTOSEL 6.1 17/29] ASoC: da7219: Support low DC impedance headset Sasha Levin
` (12 subsequent siblings)
27 siblings, 0 replies; 30+ messages in thread
From: Sasha Levin @ 2023-12-11 13:54 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Thinh Tran, Venkata Sai Duggi, David Christensen, Michael Chan,
Jakub Kicinski, Sasha Levin, pavan.chebbi, mchan, davem, edumazet,
pabeni, netdev
From: Thinh Tran <thinhtr@linux.vnet.ibm.com>
[ Upstream commit 16b55b1f2269962fb6b5154b8bf43f37c9a96637 ]
When an EEH error is encountered by a PCI adapter, the EEH driver
modifies the PCI channel's state as shown below:
enum {
/* I/O channel is in normal state */
pci_channel_io_normal = (__force pci_channel_state_t) 1,
/* I/O to channel is blocked */
pci_channel_io_frozen = (__force pci_channel_state_t) 2,
/* PCI card is dead */
pci_channel_io_perm_failure = (__force pci_channel_state_t) 3,
};
If the same EEH error then causes the tg3 driver's transmit timeout
logic to execute, the tg3_tx_timeout() function schedules a reset
task via tg3_reset_task_schedule(), which may cause a race condition
between the tg3 and EEH driver as both attempt to recover the HW via
a reset action.
EEH driver gets error event
--> eeh_set_channel_state()
and set device to one of
error state above scheduler: tg3_reset_task() get
returned error from tg3_init_hw()
--> dev_close() shuts down the interface
tg3_io_slot_reset() and
tg3_io_resume() fail to
reset/resume the device
To resolve this issue, we avoid the race condition by checking the PCI
channel state in the tg3_reset_task() function and skip the tg3 driver
initiated reset when the PCI channel is not in the normal state. (The
driver has no access to tg3 device registers at this point and cannot
even complete the reset task successfully without external assistance.)
We'll leave the reset procedure to be managed by the EEH driver which
calls the tg3_io_error_detected(), tg3_io_slot_reset() and
tg3_io_resume() functions as appropriate.
Adding the same checking in tg3_dump_state() to avoid dumping all
device registers when the PCI channel is not in the normal state.
Signed-off-by: Thinh Tran <thinhtr@linux.vnet.ibm.com>
Tested-by: Venkata Sai Duggi <venkata.sai.duggi@ibm.com>
Reviewed-by: David Christensen <drc@linux.vnet.ibm.com>
Reviewed-by: Michael Chan <michael.chan@broadcom.com>
Link: https://lore.kernel.org/r/20231201001911.656-1-thinhtr@linux.vnet.ibm.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/net/ethernet/broadcom/tg3.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom/tg3.c
index 85570e40c8e9b..95e478882ec13 100644
--- a/drivers/net/ethernet/broadcom/tg3.c
+++ b/drivers/net/ethernet/broadcom/tg3.c
@@ -6447,6 +6447,14 @@ static void tg3_dump_state(struct tg3 *tp)
int i;
u32 *regs;
+ /* If it is a PCI error, all registers will be 0xffff,
+ * we don't dump them out, just report the error and return
+ */
+ if (tp->pdev->error_state != pci_channel_io_normal) {
+ netdev_err(tp->dev, "PCI channel ERROR!\n");
+ return;
+ }
+
regs = kzalloc(TG3_REG_BLK_SIZE, GFP_ATOMIC);
if (!regs)
return;
@@ -11175,7 +11183,8 @@ static void tg3_reset_task(struct work_struct *work)
rtnl_lock();
tg3_full_lock(tp, 0);
- if (tp->pcierr_recovery || !netif_running(tp->dev)) {
+ if (tp->pcierr_recovery || !netif_running(tp->dev) ||
+ tp->pdev->error_state != pci_channel_io_normal) {
tg3_flag_clear(tp, RESET_TASK_PENDING);
tg3_full_unlock(tp);
rtnl_unlock();
--
2.42.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH AUTOSEL 6.1 17/29] ASoC: da7219: Support low DC impedance headset
2023-12-11 13:53 [PATCH AUTOSEL 6.1 01/29] hwtracing: hisi_ptt: Handle the interrupt in hardirq context Sasha Levin
` (14 preceding siblings ...)
2023-12-11 13:54 ` [PATCH AUTOSEL 6.1 16/29] net/tg3: fix race condition in tg3_reset_task() Sasha Levin
@ 2023-12-11 13:54 ` Sasha Levin
2023-12-11 13:54 ` [PATCH AUTOSEL 6.1 18/29] ASoC: ops: add correct range check for limiting volume Sasha Levin
` (11 subsequent siblings)
27 siblings, 0 replies; 30+ messages in thread
From: Sasha Levin @ 2023-12-11 13:54 UTC (permalink / raw)
To: linux-kernel, stable
Cc: David Rau, Mark Brown, Sasha Levin, support.opensource, lgirdwood,
perex, tiwai, linux-sound
From: David Rau <David.Rau.opensource@dm.renesas.com>
[ Upstream commit 5f44de697383fcc9a9a1a78f99e09d1838704b90 ]
Change the default MIC detection impedance threshold to 200ohm
to support low mic DC impedance headset.
Signed-off-by: David Rau <David.Rau.opensource@dm.renesas.com>
Link: https://lore.kernel.org/r/20231201042933.26392-1-David.Rau.opensource@dm.renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
sound/soc/codecs/da7219-aad.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/codecs/da7219-aad.c b/sound/soc/codecs/da7219-aad.c
index 9251490548e8c..c8410769188a0 100644
--- a/sound/soc/codecs/da7219-aad.c
+++ b/sound/soc/codecs/da7219-aad.c
@@ -663,7 +663,7 @@ static struct da7219_aad_pdata *da7219_aad_fw_to_pdata(struct device *dev)
aad_pdata->mic_det_thr =
da7219_aad_fw_mic_det_thr(dev, fw_val32);
else
- aad_pdata->mic_det_thr = DA7219_AAD_MIC_DET_THR_500_OHMS;
+ aad_pdata->mic_det_thr = DA7219_AAD_MIC_DET_THR_200_OHMS;
if (fwnode_property_read_u32(aad_np, "dlg,jack-ins-deb", &fw_val32) >= 0)
aad_pdata->jack_ins_deb =
--
2.42.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH AUTOSEL 6.1 18/29] ASoC: ops: add correct range check for limiting volume
2023-12-11 13:53 [PATCH AUTOSEL 6.1 01/29] hwtracing: hisi_ptt: Handle the interrupt in hardirq context Sasha Levin
` (15 preceding siblings ...)
2023-12-11 13:54 ` [PATCH AUTOSEL 6.1 17/29] ASoC: da7219: Support low DC impedance headset Sasha Levin
@ 2023-12-11 13:54 ` Sasha Levin
2023-12-11 13:54 ` [PATCH AUTOSEL 6.1 19/29] nvme: introduce helper function to get ctrl state Sasha Levin
` (10 subsequent siblings)
27 siblings, 0 replies; 30+ messages in thread
From: Sasha Levin @ 2023-12-11 13:54 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Srinivas Kandagatla, Johan Hovold, Mark Brown, Sasha Levin,
lgirdwood, perex, tiwai, linux-sound
From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
[ Upstream commit fb9ad24485087e0f00d84bee7a5914640b2b9024 ]
Volume can have ranges that start with negative values, ex: -84dB to
+40dB. Apply correct range check in snd_soc_limit_volume before setting
the platform_max. Without this patch, for example setting a 0dB limit on
a volume range of -84dB to +40dB would fail.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Tested-by: Johan Hovold <johan+linaro@kernel.org>
Reviewed-by: Johan Hovold <johan+linaro@kernel.org>
Link: https://lore.kernel.org/r/20231204124736.132185-2-srinivas.kandagatla@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
sound/soc/soc-ops.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/soc-ops.c b/sound/soc/soc-ops.c
index 55b009d3c6815..2d25748ca7066 100644
--- a/sound/soc/soc-ops.c
+++ b/sound/soc/soc-ops.c
@@ -661,7 +661,7 @@ int snd_soc_limit_volume(struct snd_soc_card *card,
kctl = snd_soc_card_get_kcontrol(card, name);
if (kctl) {
struct soc_mixer_control *mc = (struct soc_mixer_control *)kctl->private_value;
- if (max <= mc->max) {
+ if (max <= mc->max - mc->min) {
mc->platform_max = max;
ret = 0;
}
--
2.42.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH AUTOSEL 6.1 19/29] nvme: introduce helper function to get ctrl state
2023-12-11 13:53 [PATCH AUTOSEL 6.1 01/29] hwtracing: hisi_ptt: Handle the interrupt in hardirq context Sasha Levin
` (16 preceding siblings ...)
2023-12-11 13:54 ` [PATCH AUTOSEL 6.1 18/29] ASoC: ops: add correct range check for limiting volume Sasha Levin
@ 2023-12-11 13:54 ` Sasha Levin
2023-12-11 13:54 ` [PATCH AUTOSEL 6.1 20/29] nvme: prevent potential spectre v1 gadget Sasha Levin
` (9 subsequent siblings)
27 siblings, 0 replies; 30+ messages in thread
From: Sasha Levin @ 2023-12-11 13:54 UTC (permalink / raw)
To: linux-kernel, stable; +Cc: Keith Busch, Sagi Grimberg, Sasha Levin, linux-nvme
From: Keith Busch <kbusch@kernel.org>
[ Upstream commit 5c687c287c46fadb14644091823298875a5216aa ]
The controller state is typically written by another CPU, so reading it
should ensure no optimizations are taken. This is a repeated pattern in
the driver, so start with adding a convenience function that returns the
controller state with READ_ONCE().
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/nvme/host/nvme.h | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/nvme/host/nvme.h b/drivers/nvme/host/nvme.h
index 69f9e69208f68..8b50b56b8ee31 100644
--- a/drivers/nvme/host/nvme.h
+++ b/drivers/nvme/host/nvme.h
@@ -377,6 +377,11 @@ struct nvme_ctrl {
enum nvme_dctype dctype;
};
+static inline enum nvme_ctrl_state nvme_ctrl_state(struct nvme_ctrl *ctrl)
+{
+ return READ_ONCE(ctrl->state);
+}
+
enum nvme_iopolicy {
NVME_IOPOLICY_NUMA,
NVME_IOPOLICY_RR,
--
2.42.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH AUTOSEL 6.1 20/29] nvme: prevent potential spectre v1 gadget
2023-12-11 13:53 [PATCH AUTOSEL 6.1 01/29] hwtracing: hisi_ptt: Handle the interrupt in hardirq context Sasha Levin
` (17 preceding siblings ...)
2023-12-11 13:54 ` [PATCH AUTOSEL 6.1 19/29] nvme: introduce helper function to get ctrl state Sasha Levin
@ 2023-12-11 13:54 ` Sasha Levin
2023-12-11 13:54 ` [PATCH AUTOSEL 6.1 21/29] arm64: dts: rockchip: Fix PCI node addresses on rk3399-gru Sasha Levin
` (8 subsequent siblings)
27 siblings, 0 replies; 30+ messages in thread
From: Sasha Levin @ 2023-12-11 13:54 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Nitesh Shetty, Christoph Hellwig, Sagi Grimberg, Keith Busch,
Sasha Levin, kch, linux-nvme
From: Nitesh Shetty <nj.shetty@samsung.com>
[ Upstream commit 20dc66f2d76b4a410df14e4675e373b718babc34 ]
This patch fixes the smatch warning, "nvmet_ns_ana_grpid_store() warn:
potential spectre issue 'nvmet_ana_group_enabled' [w] (local cap)"
Prevent the contents of kernel memory from being leaked to user space
via speculative execution by using array_index_nospec.
Signed-off-by: Nitesh Shetty <nj.shetty@samsung.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/nvme/target/configfs.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/nvme/target/configfs.c b/drivers/nvme/target/configfs.c
index 6a2816f3b4e80..73ae16059a1cb 100644
--- a/drivers/nvme/target/configfs.c
+++ b/drivers/nvme/target/configfs.c
@@ -16,6 +16,7 @@
#endif
#include <crypto/hash.h>
#include <crypto/kpp.h>
+#include <linux/nospec.h>
#include "nvmet.h"
@@ -508,6 +509,7 @@ static ssize_t nvmet_ns_ana_grpid_store(struct config_item *item,
down_write(&nvmet_ana_sem);
oldgrpid = ns->anagrpid;
+ newgrpid = array_index_nospec(newgrpid, NVMET_MAX_ANAGRPS);
nvmet_ana_group_enabled[newgrpid]++;
ns->anagrpid = newgrpid;
nvmet_ana_group_enabled[oldgrpid]--;
@@ -1580,6 +1582,7 @@ static struct config_group *nvmet_ana_groups_make_group(
grp->grpid = grpid;
down_write(&nvmet_ana_sem);
+ grpid = array_index_nospec(grpid, NVMET_MAX_ANAGRPS);
nvmet_ana_group_enabled[grpid]++;
up_write(&nvmet_ana_sem);
--
2.42.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH AUTOSEL 6.1 21/29] arm64: dts: rockchip: Fix PCI node addresses on rk3399-gru
2023-12-11 13:53 [PATCH AUTOSEL 6.1 01/29] hwtracing: hisi_ptt: Handle the interrupt in hardirq context Sasha Levin
` (18 preceding siblings ...)
2023-12-11 13:54 ` [PATCH AUTOSEL 6.1 20/29] nvme: prevent potential spectre v1 gadget Sasha Levin
@ 2023-12-11 13:54 ` Sasha Levin
2023-12-11 13:54 ` [PATCH AUTOSEL 6.1 22/29] mips/smp: Call rcutree_report_cpu_starting() earlier Sasha Levin
` (7 subsequent siblings)
27 siblings, 0 replies; 30+ messages in thread
From: Sasha Levin @ 2023-12-11 13:54 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Rob Herring, Heiko Stuebner, Sasha Levin, robh+dt,
krzysztof.kozlowski+dt, conor+dt, javierm, briannorris,
devicetree, linux-arm-kernel, linux-rockchip
From: Rob Herring <robh@kernel.org>
[ Upstream commit c13c823a78b77ea0e5f1f73112d910e259911101 ]
The rk3399-gru PCI node addresses are wrong.
In rk3399-gru-scarlet, the bus number in the address should be 0. This is
because bus number assignment is dynamic and not known up front. For FDT,
the bus number is simply ignored.
In rk3399-gru-chromebook, the addresses are simply invalid. The first
"reg" entry must be the configuration space for the device. The entry
should be all 0s except for device/slot and function numbers. The existing
64-bit memory space (0x83000000) entries are not valid because they must
have the BAR address in the lower byte of the first cell.
Warnings for these are enabled by adding the missing 'device_type = "pci"'
for the root port node.
Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20231130191830.2424361-1-robh@kernel.org
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
arch/arm64/boot/dts/rockchip/rk3399-gru-chromebook.dtsi | 3 +--
arch/arm64/boot/dts/rockchip/rk3399-gru-scarlet-dumo.dts | 4 ++--
arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi | 1 +
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-gru-chromebook.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-gru-chromebook.dtsi
index ee6095baba4d3..7d9b8064ad2ec 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-gru-chromebook.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-gru-chromebook.dtsi
@@ -510,8 +510,7 @@ wacky_spi_audio: spi2@0 {
&pci_rootport {
mvl_wifi: wifi@0,0 {
compatible = "pci1b4b,2b42";
- reg = <0x83010000 0x0 0x00000000 0x0 0x00100000
- 0x83010000 0x0 0x00100000 0x0 0x00100000>;
+ reg = <0x0000 0x0 0x0 0x0 0x0>;
interrupt-parent = <&gpio0>;
interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-gru-scarlet-dumo.dts b/arch/arm64/boot/dts/rockchip/rk3399-gru-scarlet-dumo.dts
index 853e88455e750..9e4b12ed62cbe 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-gru-scarlet-dumo.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-gru-scarlet-dumo.dts
@@ -34,8 +34,8 @@ &mipi_panel {
&pci_rootport {
wifi@0,0 {
compatible = "qcom,ath10k";
- reg = <0x00010000 0x0 0x00000000 0x0 0x00000000>,
- <0x03010010 0x0 0x00000000 0x0 0x00200000>;
+ reg = <0x00000000 0x0 0x00000000 0x0 0x00000000>,
+ <0x03000010 0x0 0x00000000 0x0 0x00200000>;
qcom,ath10k-calibration-variant = "GO_DUMO";
};
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi
index 23bfba86daabe..7ba25315dd9ab 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi
@@ -489,6 +489,7 @@ pci_rootport: pcie@0,0 {
#address-cells = <3>;
#size-cells = <2>;
ranges;
+ device_type = "pci";
};
};
--
2.42.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH AUTOSEL 6.1 22/29] mips/smp: Call rcutree_report_cpu_starting() earlier
2023-12-11 13:53 [PATCH AUTOSEL 6.1 01/29] hwtracing: hisi_ptt: Handle the interrupt in hardirq context Sasha Levin
` (19 preceding siblings ...)
2023-12-11 13:54 ` [PATCH AUTOSEL 6.1 21/29] arm64: dts: rockchip: Fix PCI node addresses on rk3399-gru Sasha Levin
@ 2023-12-11 13:54 ` Sasha Levin
2023-12-11 13:54 ` [PATCH AUTOSEL 6.1 23/29] drm/amd/display: Use channel_width = 2 for vram table 3.0 Sasha Levin
` (6 subsequent siblings)
27 siblings, 0 replies; 30+ messages in thread
From: Sasha Levin @ 2023-12-11 13:54 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Stefan Wiehler, Huacai Chen, Thomas Bogendoerfer, Sasha Levin,
chenhuacai, tglx, jiaxun.yang, linux-mips
From: Stefan Wiehler <stefan.wiehler@nokia.com>
[ Upstream commit 55702ec9603ebeffb15e6f7b113623fe1d8872f4 ]
rcutree_report_cpu_starting() must be called before
clockevents_register_device() to avoid the following lockdep splat triggered by
calling list_add() when CONFIG_PROVE_RCU_LIST=y:
WARNING: suspicious RCU usage
...
-----------------------------
kernel/locking/lockdep.c:3680 RCU-list traversed in non-reader section!!
other info that might help us debug this:
RCU used illegally from offline CPU!
rcu_scheduler_active = 1, debug_locks = 1
no locks held by swapper/1/0.
...
Call Trace:
[<ffffffff8012a434>] show_stack+0x64/0x158
[<ffffffff80a93d98>] dump_stack_lvl+0x90/0xc4
[<ffffffff801c9e9c>] __lock_acquire+0x1404/0x2940
[<ffffffff801cbf3c>] lock_acquire+0x14c/0x448
[<ffffffff80aa4260>] _raw_spin_lock_irqsave+0x50/0x88
[<ffffffff8021e0c8>] clockevents_register_device+0x60/0x1e8
[<ffffffff80130ff0>] r4k_clockevent_init+0x220/0x3a0
[<ffffffff801339d0>] start_secondary+0x50/0x3b8
raw_smp_processor_id() is required in order to avoid calling into lockdep
before RCU has declared the CPU to be watched for readers.
See also commit 29368e093921 ("x86/smpboot: Move rcu_cpu_starting() earlier"),
commit de5d9dae150c ("s390/smp: move rcu_cpu_starting() earlier") and commit
99f070b62322 ("powerpc/smp: Call rcu_cpu_starting() earlier").
Signed-off-by: Stefan Wiehler <stefan.wiehler@nokia.com>
Reviewed-by: Huacai Chen <chenhuacai@loongson.cn>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
arch/mips/kernel/smp.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/mips/kernel/smp.c b/arch/mips/kernel/smp.c
index 1d93b85271ba8..b951ce3a53ab0 100644
--- a/arch/mips/kernel/smp.c
+++ b/arch/mips/kernel/smp.c
@@ -333,10 +333,11 @@ early_initcall(mips_smp_ipi_init);
*/
asmlinkage void start_secondary(void)
{
- unsigned int cpu;
+ unsigned int cpu = raw_smp_processor_id();
cpu_probe();
per_cpu_trap_init(false);
+ rcutree_report_cpu_starting(cpu);
mips_clockevent_init();
mp_ops->init_secondary();
cpu_report();
@@ -348,7 +349,6 @@ asmlinkage void start_secondary(void)
*/
calibrate_delay();
- cpu = smp_processor_id();
cpu_data[cpu].udelay_val = loops_per_jiffy;
set_cpu_sibling_map(cpu);
--
2.42.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH AUTOSEL 6.1 23/29] drm/amd/display: Use channel_width = 2 for vram table 3.0
2023-12-11 13:53 [PATCH AUTOSEL 6.1 01/29] hwtracing: hisi_ptt: Handle the interrupt in hardirq context Sasha Levin
` (20 preceding siblings ...)
2023-12-11 13:54 ` [PATCH AUTOSEL 6.1 22/29] mips/smp: Call rcutree_report_cpu_starting() earlier Sasha Levin
@ 2023-12-11 13:54 ` Sasha Levin
2023-12-11 13:54 ` [PATCH AUTOSEL 6.1 24/29] drm/amd/display: Add monitor patch for specific eDP Sasha Levin
` (5 subsequent siblings)
27 siblings, 0 replies; 30+ messages in thread
From: Sasha Levin @ 2023-12-11 13:54 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Alvin Lee, Daniel Wheeler, Samson Tam, Rodrigo Siqueira,
Alex Deucher, Sasha Levin, harry.wentland, sunpeng.li,
Rodrigo.Siqueira, christian.koenig, Xinhui.Pan, airlied, daniel,
felipe.clark, tony.tascioglu, ruanjinjie, drv, sunran001,
mario.limonciello, amd-gfx, dri-devel
From: Alvin Lee <alvin.lee2@amd.com>
[ Upstream commit fec05adc40c25a028c9dfa9d540f800a2d433f80 ]
VBIOS has suggested to use channel_width=2 for any ASIC that uses vram
info 3.0. This is because channel_width in the vram table no longer
represents the memory width
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Reviewed-by: Samson Tam <samson.tam@amd.com>
Acked-by: Rodrigo Siqueira <rodrigo.siqueira@amd.com>
Signed-off-by: Alvin Lee <alvin.lee2@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c b/drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
index e507d2e1410b7..72891d69afb68 100644
--- a/drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
+++ b/drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c
@@ -2402,7 +2402,13 @@ static enum bp_result get_vram_info_v30(
return BP_RESULT_BADBIOSTABLE;
info->num_chans = info_v30->channel_num;
- info->dram_channel_width_bytes = (1 << info_v30->channel_width) / 8;
+ /* As suggested by VBIOS we should always use
+ * dram_channel_width_bytes = 2 when using VRAM
+ * table version 3.0. This is because the channel_width
+ * param in the VRAM info table is changed in 7000 series and
+ * no longer represents the memory channel width.
+ */
+ info->dram_channel_width_bytes = 2;
return result;
}
--
2.42.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH AUTOSEL 6.1 24/29] drm/amd/display: Add monitor patch for specific eDP
2023-12-11 13:53 [PATCH AUTOSEL 6.1 01/29] hwtracing: hisi_ptt: Handle the interrupt in hardirq context Sasha Levin
` (21 preceding siblings ...)
2023-12-11 13:54 ` [PATCH AUTOSEL 6.1 23/29] drm/amd/display: Use channel_width = 2 for vram table 3.0 Sasha Levin
@ 2023-12-11 13:54 ` Sasha Levin
2023-12-11 13:54 ` [PATCH AUTOSEL 6.1 25/29] drm/amdgpu: Add NULL checks for function pointers Sasha Levin
` (4 subsequent siblings)
27 siblings, 0 replies; 30+ messages in thread
From: Sasha Levin @ 2023-12-11 13:54 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Ivan Lipski, Daniel Wheeler, Sun peng Li, Rodrigo Siqueira,
Alex Deucher, Sasha Levin, harry.wentland, Rodrigo.Siqueira,
christian.koenig, Xinhui.Pan, airlied, daniel, qingqing.zhuo,
Wayne.Lin, lyude, srinivasan.shanmugam, aurabindo.pillai,
sungjoon.kim, wenjing.liu, hamza.mahfooz, mikita.lipski, amd-gfx,
dri-devel
From: Ivan Lipski <ivlipski@amd.com>
[ Upstream commit 3d71a8726e05a35beb9de394e86ce896d69e563f ]
[WHY]
Some eDP panels's ext caps don't write initial value cause the value of
dpcd_addr(0x317) is random. It means that sometimes the eDP will
clarify it is OLED, miniLED...etc cause the backlight control interface
is incorrect.
[HOW]
Add a new panel patch to remove sink ext caps(HDR,OLED...etc)
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Reviewed-by: Sun peng Li <sunpeng.li@amd.com>
Acked-by: Rodrigo Siqueira <rodrigo.siqueira@amd.com>
Signed-off-by: Ivan Lipski <ivlipski@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
index 9dc41f569a761..b13f7aba22960 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
@@ -64,6 +64,12 @@ static void apply_edid_quirks(struct edid *edid, struct dc_edid_caps *edid_caps)
DRM_DEBUG_DRIVER("Disabling FAMS on monitor with panel id %X\n", panel_id);
edid_caps->panel_patch.disable_fams = true;
break;
+ /* Workaround for some monitors that do not clear DPCD 0x317 if FreeSync is unsupported */
+ case drm_edid_encode_panel_id('A', 'U', 'O', 0xA7AB):
+ case drm_edid_encode_panel_id('A', 'U', 'O', 0xE69B):
+ DRM_DEBUG_DRIVER("Clearing DPCD 0x317 on monitor with panel id %X\n", panel_id);
+ edid_caps->panel_patch.remove_sink_ext_caps = true;
+ break;
default:
return;
}
--
2.42.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH AUTOSEL 6.1 25/29] drm/amdgpu: Add NULL checks for function pointers
2023-12-11 13:53 [PATCH AUTOSEL 6.1 01/29] hwtracing: hisi_ptt: Handle the interrupt in hardirq context Sasha Levin
` (22 preceding siblings ...)
2023-12-11 13:54 ` [PATCH AUTOSEL 6.1 24/29] drm/amd/display: Add monitor patch for specific eDP Sasha Levin
@ 2023-12-11 13:54 ` Sasha Levin
2023-12-11 13:54 ` [PATCH AUTOSEL 6.1 26/29] drm/exynos: fix a potential error pointer dereference Sasha Levin
` (3 subsequent siblings)
27 siblings, 0 replies; 30+ messages in thread
From: Sasha Levin @ 2023-12-11 13:54 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Lijo Lazar, Hawking Zhang, Alex Deucher, Sasha Levin,
christian.koenig, Xinhui.Pan, airlied, daniel, le.ma, James.Zhu,
shane.xiao, sonny.jiang, Likun.Gao, amd-gfx, dri-devel
From: Lijo Lazar <lijo.lazar@amd.com>
[ Upstream commit 81577503efb49f4ad76af22f9941d72900ef4aab ]
Check if function is implemented before making the call.
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/gpu/drm/amd/amdgpu/soc15.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/soc15.c b/drivers/gpu/drm/amd/amdgpu/soc15.c
index 2eddd7f6cd41e..811dd3ea63620 100644
--- a/drivers/gpu/drm/amd/amdgpu/soc15.c
+++ b/drivers/gpu/drm/amd/amdgpu/soc15.c
@@ -1411,9 +1411,11 @@ static void soc15_common_get_clockgating_state(void *handle, u64 *flags)
if (amdgpu_sriov_vf(adev))
*flags = 0;
- adev->nbio.funcs->get_clockgating_state(adev, flags);
+ if (adev->nbio.funcs && adev->nbio.funcs->get_clockgating_state)
+ adev->nbio.funcs->get_clockgating_state(adev, flags);
- adev->hdp.funcs->get_clock_gating_state(adev, flags);
+ if (adev->hdp.funcs && adev->hdp.funcs->get_clock_gating_state)
+ adev->hdp.funcs->get_clock_gating_state(adev, flags);
if (adev->ip_versions[MP0_HWIP][0] != IP_VERSION(13, 0, 2)) {
@@ -1429,9 +1431,11 @@ static void soc15_common_get_clockgating_state(void *handle, u64 *flags)
}
/* AMD_CG_SUPPORT_ROM_MGCG */
- adev->smuio.funcs->get_clock_gating_state(adev, flags);
+ if (adev->smuio.funcs && adev->smuio.funcs->get_clock_gating_state)
+ adev->smuio.funcs->get_clock_gating_state(adev, flags);
- adev->df.funcs->get_clockgating_state(adev, flags);
+ if (adev->df.funcs && adev->df.funcs->get_clockgating_state)
+ adev->df.funcs->get_clockgating_state(adev, flags);
}
static int soc15_common_set_powergating_state(void *handle,
--
2.42.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH AUTOSEL 6.1 26/29] drm/exynos: fix a potential error pointer dereference
2023-12-11 13:53 [PATCH AUTOSEL 6.1 01/29] hwtracing: hisi_ptt: Handle the interrupt in hardirq context Sasha Levin
` (23 preceding siblings ...)
2023-12-11 13:54 ` [PATCH AUTOSEL 6.1 25/29] drm/amdgpu: Add NULL checks for function pointers Sasha Levin
@ 2023-12-11 13:54 ` Sasha Levin
2023-12-11 13:54 ` [PATCH AUTOSEL 6.1 27/29] drm/exynos: fix a wrong error checking Sasha Levin
` (2 subsequent siblings)
27 siblings, 0 replies; 30+ messages in thread
From: Sasha Levin @ 2023-12-11 13:54 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Xiang Yang, Inki Dae, Sasha Levin, sw0312.kim, kyungmin.park,
airlied, daniel, krzysztof.kozlowski, dri-devel, linux-arm-kernel,
linux-samsung-soc
From: Xiang Yang <xiangyang3@huawei.com>
[ Upstream commit 73bf1c9ae6c054c53b8e84452c5e46f86dd28246 ]
Smatch reports the warning below:
drivers/gpu/drm/exynos/exynos_hdmi.c:1864 hdmi_bind()
error: 'crtc' dereferencing possible ERR_PTR()
The return value of exynos_drm_crtc_get_by_type maybe ERR_PTR(-ENODEV),
which can not be used directly. Fix this by checking the return value
before using it.
Signed-off-by: Xiang Yang <xiangyang3@huawei.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/gpu/drm/exynos/exynos_hdmi.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c
index b7c11bdce2c89..1a7194a653ae5 100644
--- a/drivers/gpu/drm/exynos/exynos_hdmi.c
+++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
@@ -1861,6 +1861,8 @@ static int hdmi_bind(struct device *dev, struct device *master, void *data)
return ret;
crtc = exynos_drm_crtc_get_by_type(drm_dev, EXYNOS_DISPLAY_TYPE_HDMI);
+ if (IS_ERR(crtc))
+ return PTR_ERR(crtc);
crtc->pipe_clk = &hdata->phy_clk;
ret = hdmi_create_connector(encoder);
--
2.42.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH AUTOSEL 6.1 27/29] drm/exynos: fix a wrong error checking
2023-12-11 13:53 [PATCH AUTOSEL 6.1 01/29] hwtracing: hisi_ptt: Handle the interrupt in hardirq context Sasha Levin
` (24 preceding siblings ...)
2023-12-11 13:54 ` [PATCH AUTOSEL 6.1 26/29] drm/exynos: fix a potential error pointer dereference Sasha Levin
@ 2023-12-11 13:54 ` Sasha Levin
2023-12-11 13:54 ` [PATCH AUTOSEL 6.1 28/29] hwmon: (corsair-psu) Fix probe when built-in Sasha Levin
2023-12-11 13:54 ` [PATCH AUTOSEL 6.1 29/29] LoongArch: Preserve syscall nr across execve() Sasha Levin
27 siblings, 0 replies; 30+ messages in thread
From: Sasha Levin @ 2023-12-11 13:54 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Inki Dae, Sasha Levin, sw0312.kim, kyungmin.park, airlied, daniel,
krzysztof.kozlowski, dri-devel, linux-arm-kernel,
linux-samsung-soc
From: Inki Dae <inki.dae@samsung.com>
[ Upstream commit 8d1b7809684c688005706125b804e1f9792d2b1b ]
Fix a wrong error checking in exynos_drm_dma.c module.
In the exynos_drm_register_dma function, both arm_iommu_create_mapping()
and iommu_get_domain_for_dev() functions are expected to return NULL as
an error.
However, the error checking is performed using the statement
if(IS_ERR(mapping)), which doesn't provide a suitable error value.
So check if 'mapping' is NULL, and if it is, return -ENODEV.
This issue[1] was reported by Dan.
Changelog v1:
- fix build warning.
[1] https://lore.kernel.org/all/33e52277-1349-472b-a55b-ab5c3462bfcf@moroto.mountain/
Reported-by : Dan Carpenter <dan.carpenter@linaro.org>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/gpu/drm/exynos/exynos_drm_dma.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/exynos/exynos_drm_dma.c b/drivers/gpu/drm/exynos/exynos_drm_dma.c
index a971590b81323..e2c7373f20c6b 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_dma.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_dma.c
@@ -107,18 +107,16 @@ int exynos_drm_register_dma(struct drm_device *drm, struct device *dev,
return 0;
if (!priv->mapping) {
- void *mapping;
+ void *mapping = NULL;
if (IS_ENABLED(CONFIG_ARM_DMA_USE_IOMMU))
mapping = arm_iommu_create_mapping(&platform_bus_type,
EXYNOS_DEV_ADDR_START, EXYNOS_DEV_ADDR_SIZE);
else if (IS_ENABLED(CONFIG_IOMMU_DMA))
mapping = iommu_get_domain_for_dev(priv->dma_dev);
- else
- mapping = ERR_PTR(-ENODEV);
- if (IS_ERR(mapping))
- return PTR_ERR(mapping);
+ if (!mapping)
+ return -ENODEV;
priv->mapping = mapping;
}
--
2.42.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH AUTOSEL 6.1 28/29] hwmon: (corsair-psu) Fix probe when built-in
2023-12-11 13:53 [PATCH AUTOSEL 6.1 01/29] hwtracing: hisi_ptt: Handle the interrupt in hardirq context Sasha Levin
` (25 preceding siblings ...)
2023-12-11 13:54 ` [PATCH AUTOSEL 6.1 27/29] drm/exynos: fix a wrong error checking Sasha Levin
@ 2023-12-11 13:54 ` Sasha Levin
2023-12-11 13:54 ` [PATCH AUTOSEL 6.1 29/29] LoongArch: Preserve syscall nr across execve() Sasha Levin
27 siblings, 0 replies; 30+ messages in thread
From: Sasha Levin @ 2023-12-11 13:54 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Armin Wolf, Guenter Roeck, Sasha Levin, wilken.gottwalt, jdelvare,
linux-hwmon
From: Armin Wolf <W_Armin@gmx.de>
[ Upstream commit 307004e8b254ad28e150b63f299ab9caa4bc7c3e ]
It seems that when the driver is built-in, the HID bus is
initialized after the driver is loaded, which whould cause
module_hid_driver() to fail.
Fix this by registering the driver after the HID bus using
late_initcall() in accordance with other hwmon HID drivers.
Signed-off-by: Armin Wolf <W_Armin@gmx.de>
Link: https://lore.kernel.org/r/20231207210723.222552-1-W_Armin@gmx.de
[groeck: Dropped "compile tested" comment; the patch has been tested
but the tester did not provide a Tested-by: tag]
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/hwmon/corsair-psu.c | 18 +++++++++++++++++-
1 file changed, 17 insertions(+), 1 deletion(-)
diff --git a/drivers/hwmon/corsair-psu.c b/drivers/hwmon/corsair-psu.c
index 2210aa62e3d06..ec7f27a6ce016 100644
--- a/drivers/hwmon/corsair-psu.c
+++ b/drivers/hwmon/corsair-psu.c
@@ -837,7 +837,23 @@ static struct hid_driver corsairpsu_driver = {
.reset_resume = corsairpsu_resume,
#endif
};
-module_hid_driver(corsairpsu_driver);
+
+static int __init corsair_init(void)
+{
+ return hid_register_driver(&corsairpsu_driver);
+}
+
+static void __exit corsair_exit(void)
+{
+ hid_unregister_driver(&corsairpsu_driver);
+}
+
+/*
+ * With module_init() the driver would load before the HID bus when
+ * built-in, so use late_initcall() instead.
+ */
+late_initcall(corsair_init);
+module_exit(corsair_exit);
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Wilken Gottwalt <wilken.gottwalt@posteo.net>");
--
2.42.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH AUTOSEL 6.1 29/29] LoongArch: Preserve syscall nr across execve()
2023-12-11 13:53 [PATCH AUTOSEL 6.1 01/29] hwtracing: hisi_ptt: Handle the interrupt in hardirq context Sasha Levin
` (26 preceding siblings ...)
2023-12-11 13:54 ` [PATCH AUTOSEL 6.1 28/29] hwmon: (corsair-psu) Fix probe when built-in Sasha Levin
@ 2023-12-11 13:54 ` Sasha Levin
27 siblings, 0 replies; 30+ messages in thread
From: Sasha Levin @ 2023-12-11 13:54 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Hengqi Chen, Huacai Chen, Sasha Levin, chenhuacai, yangtiezhu,
loongarch, linux-mm
From: Hengqi Chen <hengqi.chen@gmail.com>
[ Upstream commit d6c5f06e46a836e6a70c7cfd95bb38a67d9252ec ]
Currently, we store syscall nr in pt_regs::regs[11] and syscall execve()
accidentally overrides it during its execution:
sys_execve()
-> do_execve()
-> do_execveat_common()
-> bprm_execve()
-> exec_binprm()
-> search_binary_handler()
-> load_elf_binary()
-> ELF_PLAT_INIT()
ELF_PLAT_INIT() reset regs[11] to 0, so in syscall_exit_to_user_mode()
we later get a wrong syscall nr. This breaks tools like execsnoop since
it relies on execve() tracepoints.
Skip pt_regs::regs[11] reset in ELF_PLAT_INIT() to fix the issue.
Signed-off-by: Hengqi Chen <hengqi.chen@gmail.com>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
arch/loongarch/include/asm/elf.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/loongarch/include/asm/elf.h b/arch/loongarch/include/asm/elf.h
index b9a4ab54285c1..9b16a3b8e7060 100644
--- a/arch/loongarch/include/asm/elf.h
+++ b/arch/loongarch/include/asm/elf.h
@@ -293,7 +293,7 @@ extern const char *__elf_platform;
#define ELF_PLAT_INIT(_r, load_addr) do { \
_r->regs[1] = _r->regs[2] = _r->regs[3] = _r->regs[4] = 0; \
_r->regs[5] = _r->regs[6] = _r->regs[7] = _r->regs[8] = 0; \
- _r->regs[9] = _r->regs[10] = _r->regs[11] = _r->regs[12] = 0; \
+ _r->regs[9] = _r->regs[10] /* syscall n */ = _r->regs[12] = 0; \
_r->regs[13] = _r->regs[14] = _r->regs[15] = _r->regs[16] = 0; \
_r->regs[17] = _r->regs[18] = _r->regs[19] = _r->regs[20] = 0; \
_r->regs[21] = _r->regs[22] = _r->regs[23] = _r->regs[24] = 0; \
--
2.42.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* Re: [PATCH AUTOSEL 6.1 13/29] nouveau/tu102: flush all pdbs on vmm flush
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 13/29] nouveau/tu102: flush all pdbs on vmm flush Sasha Levin
@ 2023-12-11 14:10 ` Timur Tabi
0 siblings, 0 replies; 30+ messages in thread
From: Timur Tabi @ 2023-12-11 14:10 UTC (permalink / raw)
To: sashal@kernel.org, stable@vger.kernel.org,
linux-kernel@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org, nouveau@lists.freedesktop.org,
daniel@ffwll.ch, bskeggs@redhat.com, airlied@redhat.com
On Mon, 2023-12-11 at 08:53 -0500, Sasha Levin wrote:
> This is a hack around a bug exposed with the GSP code, I'm not sure
> what is happening exactly, but it appears some of our flushes don't
> result in proper tlb invalidation for out BAR2 and we get a BAR2
> fault from GSP and it all dies.
Do we still want this hack on older kernels that don't support GSP?
^ permalink raw reply [flat|nested] 30+ messages in thread
end of thread, other threads:[~2023-12-11 14:26 UTC | newest]
Thread overview: 30+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-11 13:53 [PATCH AUTOSEL 6.1 01/29] hwtracing: hisi_ptt: Handle the interrupt in hardirq context Sasha Levin
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 02/29] hwtracing: hisi_ptt: Don't try to attach a task Sasha Levin
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 03/29] ASoC: wm8974: Correct boost mixer inputs Sasha Levin
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 04/29] arm64: dts: rockchip: fix rk356x pcie msg interrupt name Sasha Levin
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 05/29] ASoC: Intel: Skylake: Fix mem leak in few functions Sasha Levin
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 06/29] ASoC: nau8822: Fix incorrect type in assignment and cast to restricted __be16 Sasha Levin
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 07/29] ASoC: Intel: Skylake: mem leak in skl register function Sasha Levin
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 08/29] ASoC: cs43130: Fix the position of const qualifier Sasha Levin
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 09/29] ASoC: cs43130: Fix incorrect frame delay configuration Sasha Levin
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 10/29] ASoC: rt5650: add mutex to avoid the jack detection failure Sasha Levin
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 11/29] ASoC: SOF: mediatek: mt8186: Add Google Steelix topology compatible Sasha Levin
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 12/29] ASoC: Intel: skl_hda_dsp_generic: Drop HDMI routes when HDMI is not available Sasha Levin
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 13/29] nouveau/tu102: flush all pdbs on vmm flush Sasha Levin
2023-12-11 14:10 ` Timur Tabi
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 14/29] ASoC: amd: yc: Add DMI entry to support System76 Pangolin 13 Sasha Levin
2023-12-11 13:53 ` [PATCH AUTOSEL 6.1 15/29] ASoC: hdac_hda: Conditionally register dais for HDMI and Analog Sasha Levin
2023-12-11 13:54 ` [PATCH AUTOSEL 6.1 16/29] net/tg3: fix race condition in tg3_reset_task() Sasha Levin
2023-12-11 13:54 ` [PATCH AUTOSEL 6.1 17/29] ASoC: da7219: Support low DC impedance headset Sasha Levin
2023-12-11 13:54 ` [PATCH AUTOSEL 6.1 18/29] ASoC: ops: add correct range check for limiting volume Sasha Levin
2023-12-11 13:54 ` [PATCH AUTOSEL 6.1 19/29] nvme: introduce helper function to get ctrl state Sasha Levin
2023-12-11 13:54 ` [PATCH AUTOSEL 6.1 20/29] nvme: prevent potential spectre v1 gadget Sasha Levin
2023-12-11 13:54 ` [PATCH AUTOSEL 6.1 21/29] arm64: dts: rockchip: Fix PCI node addresses on rk3399-gru Sasha Levin
2023-12-11 13:54 ` [PATCH AUTOSEL 6.1 22/29] mips/smp: Call rcutree_report_cpu_starting() earlier Sasha Levin
2023-12-11 13:54 ` [PATCH AUTOSEL 6.1 23/29] drm/amd/display: Use channel_width = 2 for vram table 3.0 Sasha Levin
2023-12-11 13:54 ` [PATCH AUTOSEL 6.1 24/29] drm/amd/display: Add monitor patch for specific eDP Sasha Levin
2023-12-11 13:54 ` [PATCH AUTOSEL 6.1 25/29] drm/amdgpu: Add NULL checks for function pointers Sasha Levin
2023-12-11 13:54 ` [PATCH AUTOSEL 6.1 26/29] drm/exynos: fix a potential error pointer dereference Sasha Levin
2023-12-11 13:54 ` [PATCH AUTOSEL 6.1 27/29] drm/exynos: fix a wrong error checking Sasha Levin
2023-12-11 13:54 ` [PATCH AUTOSEL 6.1 28/29] hwmon: (corsair-psu) Fix probe when built-in Sasha Levin
2023-12-11 13:54 ` [PATCH AUTOSEL 6.1 29/29] LoongArch: Preserve syscall nr across execve() Sasha Levin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox