Message ID | 1609995970-12256-1-git-send-email-spujar@nvidia.com |
---|---|
State | Accepted |
Commit | 1e0ca5467445bc1f41a9e403d6161a22f313dae7 |
Headers | show |
Series | arm64: tegra: Add power-domain for Tegra210 HDA | expand |
On 07/01/2021 05:06, Sameer Pujar wrote: > HDA initialization is failing occasionally on Tegra210 and following > print is observed in the boot log. Because of this probe() fails and > no sound card is registered. > > [16.800802] tegra-hda 70030000.hda: no codecs found! > > Codecs request a state change and enumeration by the controller. In > failure cases this does not seem to happen as STATETS register reads 0. > > The problem seems to be related to the HDA codec dependency on SOR > power domain. If it is gated during HDA probe then the failure is > observed. Building Tegra HDA driver into kernel image avoids this > failure but does not completely address the dependency part. Fix this > problem by adding 'power-domains' DT property for Tegra210 HDA. Note > that Tegra186 and Tegra194 HDA do this already. > > Fixes: 742af7e7a0a1 ("arm64: tegra: Add Tegra210 support") > Depends-on: 96d1f078ff0 ("arm64: tegra: Add SOR power-domain for Tegra210") > Cc: <stable@vger.kernel.org> > Signed-off-by: Sameer Pujar <spujar@nvidia.com> > --- > arch/arm64/boot/dts/nvidia/tegra210.dtsi | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/arm64/boot/dts/nvidia/tegra210.dtsi b/arch/arm64/boot/dts/nvidia/tegra210.dtsi > index 4fbf8c1..fd33b4d 100644 > --- a/arch/arm64/boot/dts/nvidia/tegra210.dtsi > +++ b/arch/arm64/boot/dts/nvidia/tegra210.dtsi > @@ -997,6 +997,7 @@ > <&tegra_car 128>, /* hda2hdmi */ > <&tegra_car 111>; /* hda2codec_2x */ > reset-names = "hda", "hda2hdmi", "hda2codec_2x"; > + power-domains = <&pd_sor>; > status = "disabled"; > }; Thanks! Acked-by: Jon Hunter <jonathanh@nvidia.com> Cheers Jon
diff --git a/arch/arm64/boot/dts/nvidia/tegra210.dtsi b/arch/arm64/boot/dts/nvidia/tegra210.dtsi index 4fbf8c1..fd33b4d 100644 --- a/arch/arm64/boot/dts/nvidia/tegra210.dtsi +++ b/arch/arm64/boot/dts/nvidia/tegra210.dtsi @@ -997,6 +997,7 @@ <&tegra_car 128>, /* hda2hdmi */ <&tegra_car 111>; /* hda2codec_2x */ reset-names = "hda", "hda2hdmi", "hda2codec_2x"; + power-domains = <&pd_sor>; status = "disabled"; };
HDA initialization is failing occasionally on Tegra210 and following print is observed in the boot log. Because of this probe() fails and no sound card is registered. [16.800802] tegra-hda 70030000.hda: no codecs found! Codecs request a state change and enumeration by the controller. In failure cases this does not seem to happen as STATETS register reads 0. The problem seems to be related to the HDA codec dependency on SOR power domain. If it is gated during HDA probe then the failure is observed. Building Tegra HDA driver into kernel image avoids this failure but does not completely address the dependency part. Fix this problem by adding 'power-domains' DT property for Tegra210 HDA. Note that Tegra186 and Tegra194 HDA do this already. Fixes: 742af7e7a0a1 ("arm64: tegra: Add Tegra210 support") Depends-on: 96d1f078ff0 ("arm64: tegra: Add SOR power-domain for Tegra210") Cc: <stable@vger.kernel.org> Signed-off-by: Sameer Pujar <spujar@nvidia.com> --- arch/arm64/boot/dts/nvidia/tegra210.dtsi | 1 + 1 file changed, 1 insertion(+)