Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SoundWire] Invalid register access for RT1308 #3924

Closed
plbossart opened this issue Oct 13, 2022 · 22 comments
Closed

[SoundWire] Invalid register access for RT1308 #3924

plbossart opened this issue Oct 13, 2022 · 22 comments
Labels
bug Something isn't working Intel Daily tests This issue can be found in Intel internal daily tests SDW Applies to SoundWire bus for codec connection TGL Applies to Tiger Lake platform

Comments

@plbossart
Copy link
Member

Internal Intel test result/planresultdetail/16234?model=TGLH_SKU0A5E_SDW_ZEPHYR&testcase=verify-kernel-boot-log

[    5.539486] kernel: SDW: Invalid device for paging :0
[    5.539490] kernel: rt1308 sdw:2:025d:1308:00: ASoC: error at snd_soc_component_update_bits on sdw:2:025d:1308:00 for register: [0x0000c070] -22

Dmesg:
dmesg.txt

@bardliao FYI

@plbossart
Copy link
Member Author

Could be a hardware issue. I see an 'enumeration_complete' and 'initialization_complete' only for one of the two amplifiers

[    4.346579] kernel: soundwire_bus:sdw_modify_slave_status: rt1308 sdw:1:025d:1308:00: signaling enumeration completion for Slave 4
[    4.346671] kernel: soundwire_bus:sdw_modify_slave_status: rt711 sdw:0:025d:0711:00: signaling enumeration completion for Slave 5
[    4.346802] kernel: soundwire_bus:sdw_modify_slave_status: rt715 sdw:3:025d:0715:00: signaling enumeration completion for Slave 6
[    4.351043] kernel: soundwire_bus:sdw_handle_slave_status: rt715 sdw:3:025d:0715:00: signaling initialization completion for Slave 6
[    4.353732] kernel: soundwire_bus:sdw_handle_slave_status: rt711 sdw:0:025d:0711:00: signaling initialization completion for Slave 5
[    4.355242] kernel: soundwire_bus:sdw_handle_slave_status: rt1308 sdw:1:025d:1308:00: signaling initialization completion for Slave 4

and all we get on link2 is:

[    7.959891] kernel: soundwire_cadence:cdns_fill_msg_resp: soundwire_intel soundwire_intel.link.2: Msg ignored for Slave 15

So I would think the device never showed up on the bus.

That said if that was the case there shouldn't be any register access. That's likely a corner case we didn't see before. Oh well, just what we needed, huh?

@marc-hb marc-hb added bug Something isn't working Intel Daily tests This issue can be found in Intel internal daily tests labels Oct 13, 2022
@plbossart plbossart added the SDW Applies to SoundWire bus for codec connection label Oct 13, 2022
@plbossart
Copy link
Member Author

@shumingfan any idea what this c070 register is?

it's part of the regmap apparently:

 	regmap_write(rt1308->regmap, 0xc070, 0x00);

@marc-hb
Copy link
Collaborator

marc-hb commented Oct 13, 2022

Last known good daily run: 16107

Start Time: 2022-10-11 21:36:57 UTC

Kernel Branch: topic/sof-dev
Kernel Commit: f048bf5646cc
SOF Branch: main
SOF Commit: 5594ad351283
Zephyr Commit: v3.2.0-rc1-2-g0956647aaf6b

@plbossart
Copy link
Member Author

I don't see any PRs merged in the last few days that could explain this error.

Can we run a test with plain vanilla 6.0 kernel on this device to see how this goes?

@shumingfan
Copy link

@plbossart I checked the kernel log. I think the system wants to restore the control settings. The "RX Channel Select" control will access the 0xc070 register.
However, the sdw:2:025d:1308:00 device doesn't be enumerated yet.
I will try to add the default settings for 0xc070 register to avoid this issue.

@miRoox
Copy link

miRoox commented Oct 14, 2022

This is a hardware issue. I've tried yesterday's daily kernel on this device and it can be still reproduced, and after a long power-off, this issue disappeared.

Anyway, it would be better if the system can restore the settings automatically.

shumingfan added a commit to shumingfan/linux that referenced this issue Oct 14, 2022
The driver missed the default value of register 0xc070.
This patch adds that default value to avoid invalid register access
when the device doesn't be enumerated yet.
BugLink: thesofproject#3924

Signed-off-by: Shuming Fan <shumingf@realtek.com>
@shumingfan
Copy link

shumingfan commented Oct 14, 2022

@miRoox @plbossart
Could you please apply PR #3927 to check if the issue will disappear?

@miRoox
Copy link

miRoox commented Oct 14, 2022

@shumingfan thanks, but sorry I don't know the way to reproduce it after the register got recovered, so I can only check the PR won't introduce other issues, but it's hard to say whether it really fixes this issue.

@plbossart
Copy link
Member Author

Humm, what would adding the default value change @shumingfan? If userspace wants to restore a non-default value, then there will be an access generated.

I am wondering if we don't have a conceptual issue here. On boot, the card is registered when all required components are registered. That registration is done when we probe a driver, and that is done based on ACPI information. So it can very well happen that if the physical device is late in its enumeration we end-up exposing a non-functional device.

Moving the component registration after the device initialization would not help. The deferred_probe mechanism only works when there's a new probe.

if we did a driver probe when the physical device enumerates, that would create other issues, because we would need to wait for the probe to be finished to be able to call the initialization callback provided precisely by the driver.

That gives me a migraine.

@bardliao thoughts?

@bardliao
Copy link
Collaborator

@plbossart Adding the default value can ensure that driver will not try to access the register and can get the cached value properly when the regmap is in cache only mode.
Currently, we set cache only = true in suspend and cache only = false in resume. My idea is to add cache only = true in the probe callback, and move cache only = false in the update_status callback when codec driver get the SDW_SLAVE_ATTACHED status.
That way if userspace wants to restore a non-default value, then driver will cache those values and sync them once the codec is attached.

@plbossart
Copy link
Member Author

That sounds like a good move @bardliao, we do need to prevent access to the registers until the initialization completes. The suspend-resume case is good but it doesn't cover the boot case.

shumingfan added a commit to shumingfan/linux that referenced this issue Oct 18, 2022
The driver missed the default value of register 0xc070/0xc360.
This patch adds that default value to avoid invalid register access
when the device doesn't be enumerated yet.
BugLink: thesofproject#3924

Signed-off-by: Shuming Fan <shumingf@realtek.com>
intel-lab-lkp pushed a commit to intel-lab-lkp/linux that referenced this issue Oct 19, 2022
The driver missed the default value of register 0xc070/0xc360.
This patch adds that default value to avoid invalid register access
when the device doesn't be enumerated yet.
BugLink: thesofproject#3924

Signed-off-by: Shuming Fan <shumingf@realtek.com>
plbossart added a commit to plbossart/sound that referenced this issue Oct 19, 2022
The SoundWire codec drivers are probed based on ACPI/DT
information. During the SoundWire probe, the ASoC component for each
device is registered. This is enough for the card to be created.

However if the physical SoundWire device becomes attached with a
delay, it is possible that userspace tries to restore ALSA control
settings. Those transactions would result either in a timeout or a
paging error.

This is not a normal behavior, but we can initialize the regmap to
cache_only so that values are only restored when the device actually
becomes ATTACHED. This should take care of transient issues.

Note that if the hardware is truly broken we are missing a mechanism
to signal that the codec and some PCM devices exposed by the card are
not functional. Moving the component registration to the time when the
device becomes attached would not be compatible with the deferred
probe mechanism which is only triggered when new Linux devices are
created. Additional helpers would be needed to nudge the deferred
probe mechanism into re-evaluating dependencies.

BugLink: thesofproject#3924
Suggested-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
intel-lab-lkp pushed a commit to intel-lab-lkp/linux that referenced this issue Oct 20, 2022
The driver missed the default value of register 0xc070/0xc360.
This patch adds that default value to avoid invalid register access
when the device doesn't be enumerated yet.
BugLink: thesofproject#3924

Signed-off-by: Shuming Fan <shumingf@realtek.com>
Link: https://lore.kernel.org/r/20221019095715.31082-1-shumingf@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
@keqiaozhang
Copy link
Collaborator

This issue happened again in our daily test. Test ID:16577

@mengdonglin mengdonglin added the TGL Applies to Tiger Lake platform label Oct 21, 2022
@miRoox
Copy link

miRoox commented Oct 21, 2022

@shumingfan I just tested #3927 because this issue happened again, but looks like the issue is still there even with #3927.

dmesg.txt

@shumingfan
Copy link

@miRoox PR #3927 might solve a certain case. The solution for this issue is PR #3941.

plbossart added a commit to plbossart/sound that referenced this issue Oct 25, 2022
The SoundWire codec drivers are probed based on ACPI/DT
information. During the SoundWire probe, the ASoC component for each
device is registered. This is enough for the card to be created.

However if the physical SoundWire device becomes attached with a
delay, it is possible that userspace tries to restore ALSA control
settings. Those transactions would result either in a timeout or a
paging error.

This is not a normal behavior, but we can initialize the regmap to
cache_only so that values are only restored when the device actually
becomes ATTACHED. This should take care of transient issues.

Note that if the hardware is truly broken we are missing a mechanism
to signal that the codec and some PCM devices exposed by the card are
not functional. Moving the component registration to the time when the
device becomes attached would not be compatible with the deferred
probe mechanism which is only triggered when new Linux devices are
created. Additional helpers would be needed to nudge the deferred
probe mechanism into re-evaluating dependencies.

BugLink: thesofproject#3924
Suggested-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
@greg-intel
Copy link

greg-intel commented Oct 25, 2022

Another instance of the issue, just for the record:
16815?model=TGLH_SKU0A5E_SDW_ZEPHYR&testcase=check-sof-logger
16815?model=TGLH_SKU0A5E_SDW_ZEPHYR&testcase=verify-kernel-boot-log

Also this causes failures in a handful of the following tests.

plbossart added a commit to plbossart/sound that referenced this issue Oct 26, 2022
The SoundWire codec drivers are probed based on ACPI/DT
information. During the SoundWire probe, the ASoC component for each
device is registered. This is enough for the card to be created.

However if the physical SoundWire device becomes attached with a
delay, it is possible that userspace tries to restore ALSA control
settings. Those transactions would result either in a timeout or a
paging error.

This is not a normal behavior, but we can initialize the regmap to
cache_only so that values are only restored when the device actually
becomes ATTACHED. This should take care of transient issues.

Note that if the hardware is truly broken we are missing a mechanism
to signal that the codec and some PCM devices exposed by the card are
not functional. Moving the component registration to the time when the
device becomes attached would not be compatible with the deferred
probe mechanism which is only triggered when new Linux devices are
created. Additional helpers would be needed to nudge the deferred
probe mechanism into re-evaluating dependencies.

BugLink: thesofproject#3924
Suggested-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
@marc-hb
Copy link
Collaborator

marc-hb commented Nov 7, 2022

Still happening in today's daily 17437?model=TGLH_SKU0A5E_SDW_ZEPHYR&testcase=verify-kernel-boot-log

Draft PR #3941 not merged.

I spotted some BIOS error too, dunno whether it's related

[    4.593755] kernel: snd_soc_rt711:rt711_sdw_read: rt711 sdw:0:025d:0711:00: [rt711_sdw_read] 7558 85d8 9c58 acd8 => 0000f888
[    4.604760] kernel: snd_soc_rt711:rt711_sdw_read: rt711 sdw:0:025d:0711:00: [rt711_sdw_read] 7558 85d8 9c58 acd8 => 0000f888
[    4.615774] kernel: snd_soc_rt711:rt711_sdw_read: rt711 sdw:0:025d:0711:00: [rt711_sdw_read] 7558 85d8 9c58 acd8 => 0000f888
[    4.626752] kernel: snd_soc_rt711:rt711_sdw_read: rt711 sdw:0:025d:0711:00: [rt711_sdw_read] 7558 85d8 9c58 acd8 => 0000f888
[    4.635199] kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_TZ.ETMD], AE_NOT_FOUND (20220331/psargs-330)
[    4.635254] kernel: ACPI Error: Aborting method \_SB.IETM._OSC due to previous error (AE_NOT_FOUND) (20220331/psparse-529)
[    4.637780] kernel: snd_soc_rt711:rt711_sdw_read: rt711 sdw:0:025d:0711:00: [rt711_sdw_read] 7558 85d8 9c58 acd8 => 0000f888
[    4.648755] kernel: snd_soc_rt711:rt711_sdw_read: rt711 sdw:0:025d:0711:00: [rt711_sdw_read] 7558 85d8 9c58 acd8 => 0000f888
[    4.659756] kernel: snd_soc_rt711:rt711_sdw_read: rt711 sdw:0:025d:0711:00: [rt711_sdw_read] 7558 85d8 9c58 acd8 => 0000f888
[    4.670760] kernel: snd_soc_rt711:rt711_sdw_read: rt711 sdw:0:025d:0711:00: [rt711_sdw_read] 7558 85d8 9c58 acd8 => 0000f888
[    4.681801] kernel: snd_soc_rt711:rt711_sdw_read: rt711 sdw:0:025d:0711:00: [rt711_sdw_read] 7558 85d8 9c58 acd8 => 0000f888
[    4.693317] kernel: snd_soc_rt711:rt711_sdw_read: rt711 sdw:0:025d:0711:00: [rt711_sdw_read] 7558 85d8 9c58 acd8 => 0000f888


[    5.546254] kernel: snd_soc_rt711:rt711_sdw_write: rt711 sdw:0:025d:0711:00: [rt711_sdw_write] 7313 8393 <= 7003
[    5.546372] kernel: snd_soc_rt711:rt711_sdw_write: rt711 sdw:0:025d:0711:00: [rt711_sdw_write] 8393 7313 <= 7003
[    5.546434] kernel: snd_soc_rt711:rt711_sdw_write: rt711 sdw:0:025d:0711:00: [rt711_sdw_write] 3501 <= 0003
[    5.546676] kernel: SDW: Invalid device for paging :0
[    5.546681] kernel: rt1308 sdw:2:025d:1308:00: ASoC: error at snd_soc_component_update_bits on sdw:2:025d:1308:00 for register: [0x0000c070] -22
[    5.546772] kernel: snd_soc_rt715:rt715_sdw_write: rt715 sdw:3:025d:0715:00: [rt715_sdw_write] 3501 <= 0000
[    5.546896] kernel: snd_soc_rt715:rt715_sdw_write: rt715 sdw:3:025d:0715:00: [rt715_sdw_write] 7307 8387 <= 6080
[    5.547021] kernel: snd_soc_rt715:rt715_sdw_write: rt715 sdw:3:025d:0715:00: [rt715_sdw_write] 8387 7307 <= 5017
[    5.547146] kernel: snd_soc_rt715:rt715_sdw_write: rt715 sdw:3:025d:0715:00: [rt715_sdw_write] 7307 8387 <= 6080

@ujfalusi
Copy link
Collaborator

ujfalusi commented Nov 8, 2022

fwiw, I have a Dell Latitude 9520 (SKU: 0A3E) which have both rt1308, rt715 and rt711 (loads sof-tgl-rt715-rt711-rt1308-mono.tplg).
I can not reproduce any of the issues seen in CI with these codecs (on sh-tglh-0a5e-sdw-01).

[   64.980723] kernel: rt1308 sdw:2:025d:1308:00: DPN_PortCtrl register write failed for port 1
[   64.980727] kernel: soundwire sdw-master-2: Program transport params failed: -61
[   64.980732] kernel: soundwire sdw-master-2: Program params failed: -61
[   64.980735] kernel:  SDW1-Playback: ASoC: error at snd_soc_link_prepare on SDW1-Playback: -61
[   64.980739] kernel:  SDW1-Playback: ASoC: error at __soc_pcm_prepare on SDW1-Playback: -61
[   64.980742] kernel:  Speaker: ASoC: error at dpcm_be_dai_prepare on Speaker: -61
[   64.980746] kernel:  Speaker: ASoC: error at dpcm_fe_dai_prepare on Speaker: -61

or

[ 1032.176065] kernel: soundwire sdw-master-1: sdw_compute_bus_params: could not find frame configuration for bus dr_freq 9600000
[ 1032.176068] kernel: soundwire sdw-master-1: Compute params failed: -22
[ 1032.176070] kernel:  SDW1-Playback: ASoC: error at snd_soc_link_prepare on SDW1-Playback: -22
[ 1032.176072] kernel:  SDW1-Playback: ASoC: error at __soc_pcm_prepare on SDW1-Playback: -22
[ 1032.176074] kernel:  Speaker: ASoC: error at dpcm_be_dai_prepare on Speaker: -22
[ 1032.176076] kernel:  Speaker: ASoC: error at dpcm_fe_dai_prepare on Speaker: -22

or the ones mentioned in this issue.

ammarfaizi2 pushed a commit to ammarfaizi2/linux-block that referenced this issue Nov 25, 2022
[ Upstream commit 75d8b16 ]

The driver missed the default value of register 0xc070/0xc360.
This patch adds that default value to avoid invalid register access
when the device doesn't be enumerated yet.
BugLink: thesofproject/linux#3924

Signed-off-by: Shuming Fan <shumingf@realtek.com>
Link: https://lore.kernel.org/r/20221019095715.31082-1-shumingf@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
ammarfaizi2 pushed a commit to ammarfaizi2/linux-block that referenced this issue Nov 25, 2022
[ Upstream commit 75d8b16 ]

The driver missed the default value of register 0xc070/0xc360.
This patch adds that default value to avoid invalid register access
when the device doesn't be enumerated yet.
BugLink: thesofproject/linux#3924

Signed-off-by: Shuming Fan <shumingf@realtek.com>
Link: https://lore.kernel.org/r/20221019095715.31082-1-shumingf@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
ammarfaizi2 pushed a commit to ammarfaizi2/linux-block that referenced this issue Nov 25, 2022
[ Upstream commit 75d8b16 ]

The driver missed the default value of register 0xc070/0xc360.
This patch adds that default value to avoid invalid register access
when the device doesn't be enumerated yet.
BugLink: thesofproject/linux#3924

Signed-off-by: Shuming Fan <shumingf@realtek.com>
Link: https://lore.kernel.org/r/20221019095715.31082-1-shumingf@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
ammarfaizi2 pushed a commit to ammarfaizi2/linux-block that referenced this issue Nov 25, 2022
[ Upstream commit 75d8b16 ]

The driver missed the default value of register 0xc070/0xc360.
This patch adds that default value to avoid invalid register access
when the device doesn't be enumerated yet.
BugLink: thesofproject/linux#3924

Signed-off-by: Shuming Fan <shumingf@realtek.com>
Link: https://lore.kernel.org/r/20221019095715.31082-1-shumingf@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
ammarfaizi2 pushed a commit to ammarfaizi2/linux-block that referenced this issue Nov 25, 2022
[ Upstream commit 75d8b16 ]

The driver missed the default value of register 0xc070/0xc360.
This patch adds that default value to avoid invalid register access
when the device doesn't be enumerated yet.
BugLink: thesofproject/linux#3924

Signed-off-by: Shuming Fan <shumingf@realtek.com>
Link: https://lore.kernel.org/r/20221019095715.31082-1-shumingf@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
ammarfaizi2 pushed a commit to ammarfaizi2/linux-block that referenced this issue Nov 25, 2022
[ Upstream commit 75d8b16 ]

The driver missed the default value of register 0xc070/0xc360.
This patch adds that default value to avoid invalid register access
when the device doesn't be enumerated yet.
BugLink: thesofproject/linux#3924

Signed-off-by: Shuming Fan <shumingf@realtek.com>
Link: https://lore.kernel.org/r/20221019095715.31082-1-shumingf@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
ammarfaizi2 pushed a commit to ammarfaizi2/linux-block that referenced this issue Nov 25, 2022
[ Upstream commit 75d8b16 ]

The driver missed the default value of register 0xc070/0xc360.
This patch adds that default value to avoid invalid register access
when the device doesn't be enumerated yet.
BugLink: thesofproject/linux#3924

Signed-off-by: Shuming Fan <shumingf@realtek.com>
Link: https://lore.kernel.org/r/20221019095715.31082-1-shumingf@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
ammarfaizi2 pushed a commit to ammarfaizi2/linux-block that referenced this issue Nov 26, 2022
[ Upstream commit 75d8b16 ]

The driver missed the default value of register 0xc070/0xc360.
This patch adds that default value to avoid invalid register access
when the device doesn't be enumerated yet.
BugLink: thesofproject/linux#3924

Signed-off-by: Shuming Fan <shumingf@realtek.com>
Link: https://lore.kernel.org/r/20221019095715.31082-1-shumingf@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
ammarfaizi2 pushed a commit to ammarfaizi2/linux-block that referenced this issue Nov 26, 2022
[ Upstream commit 75d8b16 ]

The driver missed the default value of register 0xc070/0xc360.
This patch adds that default value to avoid invalid register access
when the device doesn't be enumerated yet.
BugLink: thesofproject/linux#3924

Signed-off-by: Shuming Fan <shumingf@realtek.com>
Link: https://lore.kernel.org/r/20221019095715.31082-1-shumingf@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
ammarfaizi2 pushed a commit to ammarfaizi2/linux-block that referenced this issue Nov 26, 2022
[ Upstream commit 75d8b16 ]

The driver missed the default value of register 0xc070/0xc360.
This patch adds that default value to avoid invalid register access
when the device doesn't be enumerated yet.
BugLink: thesofproject/linux#3924

Signed-off-by: Shuming Fan <shumingf@realtek.com>
Link: https://lore.kernel.org/r/20221019095715.31082-1-shumingf@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
jpuhlman pushed a commit to MontaVista-OpenSourceTechnology/linux-mvista that referenced this issue Nov 29, 2022
Source: Kernel.org
MR: 123931
Type: Integration
Disposition: Backport from git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable linux-5.10.y
ChangeID: bb3edbd09287e515fe289fbedbffed5661a0ebda
Description:

[ Upstream commit 75d8b16 ]

The driver missed the default value of register 0xc070/0xc360.
This patch adds that default value to avoid invalid register access
when the device doesn't be enumerated yet.
BugLink: thesofproject/linux#3924

Signed-off-by: Shuming Fan <shumingf@realtek.com>
Link: https://lore.kernel.org/r/20221019095715.31082-1-shumingf@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Armin Kuster <akuster@mvista.com>
jpuhlman pushed a commit to MontaVista-OpenSourceTechnology/linux-mvista that referenced this issue Nov 29, 2022
Source: Kernel.org
MR: 123931
Type: Integration
Disposition: Backport from git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable linux-5.10.y
ChangeID: bb3edbd09287e515fe289fbedbffed5661a0ebda
Description:

[ Upstream commit 75d8b16 ]

The driver missed the default value of register 0xc070/0xc360.
This patch adds that default value to avoid invalid register access
when the device doesn't be enumerated yet.
BugLink: thesofproject/linux#3924

Signed-off-by: Shuming Fan <shumingf@realtek.com>
Link: https://lore.kernel.org/r/20221019095715.31082-1-shumingf@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Armin Kuster <akuster@mvista.com>
jpuhlman pushed a commit to MontaVista-OpenSourceTechnology/linux-mvista that referenced this issue Nov 29, 2022
Source: Kernel.org
MR: 123931
Type: Integration
Disposition: Backport from git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable linux-5.10.y
ChangeID: bb3edbd09287e515fe289fbedbffed5661a0ebda
Description:

[ Upstream commit 75d8b16 ]

The driver missed the default value of register 0xc070/0xc360.
This patch adds that default value to avoid invalid register access
when the device doesn't be enumerated yet.
BugLink: thesofproject/linux#3924

Signed-off-by: Shuming Fan <shumingf@realtek.com>
Link: https://lore.kernel.org/r/20221019095715.31082-1-shumingf@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Armin Kuster <akuster@mvista.com>
randomhydrosol pushed a commit to GlassROM-devices/kernel_common-5.10 that referenced this issue Nov 30, 2022
[ Upstream commit 75d8b1662ca5c20cf8365575222abaef18ff1f50 ]

The driver missed the default value of register 0xc070/0xc360.
This patch adds that default value to avoid invalid register access
when the device doesn't be enumerated yet.
BugLink: thesofproject/linux#3924

Signed-off-by: Shuming Fan <shumingf@realtek.com>
Link: https://lore.kernel.org/r/20221019095715.31082-1-shumingf@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: randomhydrosol <randomhydrosol@glassrom.org>
randomhydrosol pushed a commit to GlassROM-devices/kernel_common-5.10 that referenced this issue Dec 7, 2022
[ Upstream commit 75d8b1662ca5c20cf8365575222abaef18ff1f50 ]

The driver missed the default value of register 0xc070/0xc360.
This patch adds that default value to avoid invalid register access
when the device doesn't be enumerated yet.
BugLink: thesofproject/linux#3924

Signed-off-by: Shuming Fan <shumingf@realtek.com>
Link: https://lore.kernel.org/r/20221019095715.31082-1-shumingf@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: randomhydrosol <randomhydrosol@glassrom.org>
oraclelinuxkernel pushed a commit to oracle/linux-uek that referenced this issue Dec 9, 2022
[ Upstream commit 75d8b16 ]

The driver missed the default value of register 0xc070/0xc360.
This patch adds that default value to avoid invalid register access
when the device doesn't be enumerated yet.
BugLink: thesofproject/linux#3924

Signed-off-by: Shuming Fan <shumingf@realtek.com>
Link: https://lore.kernel.org/r/20221019095715.31082-1-shumingf@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 7779efbb99bf4e97734d30851f419dde2e88ac39)
Signed-off-by: Jack Vogel <jack.vogel@oracle.com>
@plbossart
Copy link
Member Author

@marc-hb do you know if we still test this platform? It's been a while and I've lost track of whether this was a hardware issue or something we need to look into.

@marc-hb
Copy link
Collaborator

marc-hb commented Dec 13, 2022

I don't know, @keqiaozhang , @greg-intel ?

@greg-intel
Copy link

Yes, the daily test uses TGLH_SKU0A5E_SDW_ZEPHYR
(Also TGLH_SKU0A70_HDA_ZEPHYR, of less importance)

@plbossart
Copy link
Member Author

On the last three daily tests for TGLH_SKU0A5E_SDW_ZEPHYR, two were not run (not available) and one passed. This makes it hard to figure out if this issue is still present.

@keqiaozhang
Copy link
Collaborator

@plbossart This issue is not present in CI. I did a cold reboot recently(AC off, wait about 1~2 mins for the device to discharge fully, then power on). This issue has occurred several times before, and we all use the same method to restore it.

js731ca pushed a commit to hexagon-geo-surv/linux-leica that referenced this issue Dec 15, 2022
[ Upstream commit 75d8b16 ]

The driver missed the default value of register 0xc070/0xc360.
This patch adds that default value to avoid invalid register access
when the device doesn't be enumerated yet.
BugLink: thesofproject/linux#3924

Signed-off-by: Shuming Fan <shumingf@realtek.com>
Link: https://lore.kernel.org/r/20221019095715.31082-1-shumingf@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
ReillyBrogan pushed a commit to getsolus/linux that referenced this issue Dec 19, 2022
[ Upstream commit 75d8b16 ]

The driver missed the default value of register 0xc070/0xc360.
This patch adds that default value to avoid invalid register access
when the device doesn't be enumerated yet.
BugLink: thesofproject/linux#3924

Signed-off-by: Shuming Fan <shumingf@realtek.com>
Link: https://lore.kernel.org/r/20221019095715.31082-1-shumingf@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
taskset pushed a commit to taskset/kernel-automotive-9 that referenced this issue Jan 30, 2023
The driver missed the default value of register 0xc070/0xc360.
This patch adds that default value to avoid invalid register access
when the device doesn't be enumerated yet.
    BugLink: thesofproject/linux#3924

    Signed-off-by: Shuming Fan <shumingf@realtek.com>
    Link: https://lore.kernel.org/r/20221019095715.31082-1-shumingf@realtek.com
    Signed-off-by: Mark Brown <broonie@kernel.org>

Author: Shuming Fan <shumingf@realtek.com>
Date: Wed Oct 19 17:57:15 2022 +0800

Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
(cherry picked from commit 75d8b1662ca5c20cf8365575222abaef18ff1f50)
Bugzilla: https://bugzilla.redhat.com/2125540
tuxedo-bot pushed a commit to tuxedocomputers/linux that referenced this issue Feb 2, 2023
BugLink: https://bugs.launchpad.net/bugs/2003122

[ Upstream commit 75d8b16 ]

The driver missed the default value of register 0xc070/0xc360.
This patch adds that default value to avoid invalid register access
when the device doesn't be enumerated yet.
BugLink: thesofproject/linux#3924

Signed-off-by: Shuming Fan <shumingf@realtek.com>
Link: https://lore.kernel.org/r/20221019095715.31082-1-shumingf@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
jgudec pushed a commit to jgudec/android_kernel_samsung_exynos2200 that referenced this issue Jul 2, 2023
[ Upstream commit 75d8b1662ca5c20cf8365575222abaef18ff1f50 ]

The driver missed the default value of register 0xc070/0xc360.
This patch adds that default value to avoid invalid register access
when the device doesn't be enumerated yet.
BugLink: thesofproject/linux#3924

Signed-off-by: Shuming Fan <shumingf@realtek.com>
Link: https://lore.kernel.org/r/20221019095715.31082-1-shumingf@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
jgudec pushed a commit to jgudec/android_kernel_samsung_exynos2200 that referenced this issue Jul 2, 2023
[ Upstream commit 75d8b1662ca5c20cf8365575222abaef18ff1f50 ]

The driver missed the default value of register 0xc070/0xc360.
This patch adds that default value to avoid invalid register access
when the device doesn't be enumerated yet.
BugLink: thesofproject/linux#3924

Signed-off-by: Shuming Fan <shumingf@realtek.com>
Link: https://lore.kernel.org/r/20221019095715.31082-1-shumingf@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
wanghao75 pushed a commit to openeuler-mirror/kernel that referenced this issue Jul 20, 2023
stable inclusion
from stable-v5.10.156
commit bb3edbd09287e515fe289fbedbffed5661a0ebda
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I7MCG1

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=bb3edbd09287e515fe289fbedbffed5661a0ebda

--------------------------------

[ Upstream commit 75d8b16 ]

The driver missed the default value of register 0xc070/0xc360.
This patch adds that default value to avoid invalid register access
when the device doesn't be enumerated yet.
BugLink: thesofproject/linux#3924

Signed-off-by: Shuming Fan <shumingf@realtek.com>
Link: https://lore.kernel.org/r/20221019095715.31082-1-shumingf@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: sanglipeng <sanglipeng1@jd.com>
wanghao75 pushed a commit to openeuler-mirror/kernel that referenced this issue Jul 27, 2023
stable inclusion
from stable-v5.10.156
commit bb3edbd09287e515fe289fbedbffed5661a0ebda
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I7MCG1

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=bb3edbd09287e515fe289fbedbffed5661a0ebda

--------------------------------

[ Upstream commit 75d8b16 ]

The driver missed the default value of register 0xc070/0xc360.
This patch adds that default value to avoid invalid register access
when the device doesn't be enumerated yet.
BugLink: thesofproject/linux#3924

Signed-off-by: Shuming Fan <shumingf@realtek.com>
Link: https://lore.kernel.org/r/20221019095715.31082-1-shumingf@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: sanglipeng <sanglipeng1@jd.com>
(cherry picked from commit 6cec85c)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working Intel Daily tests This issue can be found in Intel internal daily tests SDW Applies to SoundWire bus for codec connection TGL Applies to Tiger Lake platform
Projects
None yet
Development

No branches or pull requests

9 participants