Commit a6d0abb
ASoC: tlv320aic3x: restrict CLKDIV bypass Q values in dual-rate mode
[ Upstream commit fdf043f ]
The datasheet documents that when the PLL is disabled and dual-rate mode
is enabled, only Q values {4, 8, 9, 12, 16} are valid for the CLKDIV
bypass path; all other Q values produce invalid bitclock output.
The existing loop iterates Q from 2 to 17 without this restriction,
causing silent audio failure when an out-of-spec Q is picked.
Restrict the Q search to the allowed set in dual-rate mode.
Fixes: 4f9c16c ("[ALSA] soc - tlv320aic3x - revisit clock setup")
Suggested-by: Mir Jeffres <m-jeffres@ti.com>
Signed-off-by: Sen Wang <sen@ti.com>
Link: https://patch.msgid.link/20260616233322.873081-1-sen@ti.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>1 parent efa9e3b commit a6d0abb
1 file changed
Lines changed: 19 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1049 | 1049 | | |
1050 | 1050 | | |
1051 | 1051 | | |
| 1052 | + | |
1052 | 1053 | | |
1053 | 1054 | | |
1054 | 1055 | | |
1055 | 1056 | | |
1056 | 1057 | | |
| 1058 | + | |
1057 | 1059 | | |
1058 | 1060 | | |
1059 | 1061 | | |
| |||
1079 | 1081 | | |
1080 | 1082 | | |
1081 | 1083 | | |
| 1084 | + | |
1082 | 1085 | | |
1083 | 1086 | | |
1084 | 1087 | | |
1085 | | - | |
1086 | | - | |
1087 | | - | |
1088 | | - | |
| 1088 | + | |
| 1089 | + | |
| 1090 | + | |
| 1091 | + | |
| 1092 | + | |
| 1093 | + | |
| 1094 | + | |
1089 | 1095 | | |
| 1096 | + | |
| 1097 | + | |
| 1098 | + | |
| 1099 | + | |
| 1100 | + | |
| 1101 | + | |
| 1102 | + | |
1090 | 1103 | | |
1091 | 1104 | | |
1092 | 1105 | | |
| |||
1106 | 1119 | | |
1107 | 1120 | | |
1108 | 1121 | | |
1109 | | - | |
| 1122 | + | |
1110 | 1123 | | |
1111 | 1124 | | |
1112 | 1125 | | |
1113 | 1126 | | |
1114 | 1127 | | |
1115 | | - | |
| 1128 | + | |
1116 | 1129 | | |
1117 | 1130 | | |
1118 | 1131 | | |
| |||
0 commit comments