mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-22 09:11:26 +03:00
0332fd555e04a877daeef76eeea2c51f11005f06
There is GVS intermittency where few audio tests fail because there is no APE sound card available. The card registration itself does not happen because there is kernel data abort and following dump is seen: [ 36.163223] Unable to handle kernel paging request at virtual address ffffffffffffffc0 [ 36.171180] Mem abort info: [ 36.171182] ESR = 0x0000000096000004 [ 36.171183] EC = 0x25: DABT (current EL), IL = 32 bits [ 36.171186] SET = 0, FnV = 0 [ 36.174218] EA = 0, S1PTW = 0 [ 36.174219] FSC = 0x04: level 0 translation fault [ 36.174221] Data abort info: [ 36.174222] ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000 [ 36.174223] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 36.174224] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 36.174226] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000813b67000 [ 36.174228] [ffffffffffffffc0] pgd=0000000000000000, p4d=0000000000000000 [ 36.174234] Internal error: Oops: 0000000096000004 [#1] PREEMPT SMP This seems to happen because mixer control override driver has the dependency over the sound card and this dependency check is incorrect. The attempt is made to register override controls before the sound card is fully ready. One option is to use 'card->instantiated' flag to add the dependency. However this flag update is protected by card mutext and client_mutex which is local to the core. So this flag check does not appear fully reliable. As a safer option, the override device is made child of sound device. This way the probe order is ensured and override probe happens only after a successful sound probe. This requires a change in machine driver to allow probe() happen for child devices. This may be a concern during usage of upstream machine driver which does not have provision for child device probing. For now unblock the upstream AHUB usage by using this safe option and investigate the best option to make the override driver independent. Bug 4508166 Bug 4451662 TAS-2251 Change-Id: Ib13f0a3a0ac272a0f2325b9d74efbc31128f0991 Signed-off-by: Sameer Pujar <spujar@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3083180 Reviewed-by: Mohan kumar <mkumard@nvidia.com> Reviewed-by: Sharad Gupta <sharadg@nvidia.com> GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Description
No description provided