1. 22 Apr, 2024 4 commits
    • Mark Brown's avatar
      ASoC: PCM6240: New driver · 710f9a36
      Mark Brown authored
      Merge series from Shenghao Ding <shenghao-ding@ti.com>:
      
      mixer-test report:
       root@am335x-evm:/bin# mixer-test
       TAP version 13
       # Card 0 - TI BeagleBone Black (TI BeagleBone Black)
       1..455
       ok 1 get_value.0.64
       # 0.64 PCMD3180 i2c2 Profile id
       ok 2 name.0.64
       ok 3 write_default.0.64
       ok 4 write_valid.0.64
       ok 5 write_invalid.0.64
       ok 6 event_missing.0.64
       ok 7 event_spurious.0.64
       ok 8 get_value.0.63
       # 0.63 PCMD3180 i2c2 Dev3 Ch8 Digi Volume
       ok 9 name.0.63
       ok 10 write_default.0.63
       ok 11 write_valid.0.63
       ok 12 write_invalid.0.63
       ok 13 event_missing.0.63
       ok 14 event_spurious.0.63
       ok 15 get_value.0.62
       # 0.62 PCMD3180 i2c2 Dev3 Ch7 Digi Volume
       ok 16 name.0.62
       ok 17 write_default.0.62
       ok 18 write_valid.0.62
       ok 19 write_invalid.0.62
       ok 20 event_missing.0.62
       ok 21 event_spurious.0.62
       ok 22 get_value.0.61
       # 0.61 PCMD3180 i2c2 Dev3 Ch6 Digi Volume
       ok 23 name.0.61
       ok 24 write_default.0.61
       ok 25 write_valid.0.61
       ok 26 write_invalid.0.61
       ok 27 event_missing.0.61
       ok 28 event_spurious.0.61
       ok 29 get_value.0.60
       # 0.60 PCMD3180 i2c2 Dev3 Ch5 Digi Volume
       ok 30 name.0.60
       ok 31 write_default.0.60
       ok 32 write_valid.0.60
       ok 33 write_invalid.0.60
       ok 34 event_missing.0.60
       ok 35 event_spurious.0.60
       ok 36 get_value.0.59
       # 0.59 PCMD3180 i2c2 Dev3 Ch4 Digi Volume
       ok 37 name.0.59
       ok 38 write_default.0.59
       ok 39 write_valid.0.59
       ok 40 write_invalid.0.59
       ok 41 event_missing.0.59
       ok 42 event_spurious.0.59
       ok 43 get_value.0.58
       # 0.58 PCMD3180 i2c2 Dev3 Ch3 Digi Volume
       ok 44 name.0.58
       ok 45 write_default.0.58
       ok 46 write_valid.0.58
       ok 47 write_invalid.0.58
       ok 48 event_missing.0.58
       ok 49 event_spurious.0.58
       ok 50 get_value.0.57
       # 0.57 PCMD3180 i2c2 Dev3 Ch2 Digi Volume
       ok 51 name.0.57
       ok 52 write_default.0.57
       ok 53 write_valid.0.57
       ok 54 write_invalid.0.57
       ok 55 event_missing.0.57
       ok 56 event_spurious.0.57
       ok 57 get_value.0.56
       # 0.56 PCMD3180 i2c2 Dev3 Ch1 Digi Volume
       ok 58 name.0.56
       ok 59 write_default.0.56
       ok 60 write_valid.0.56
       ok 61 write_invalid.0.56
       ok 62 event_missing.0.56
       ok 63 event_spurious.0.56
       ok 64 get_value.0.55
       # 0.55 PCMD3180 i2c2 Dev3 Ch8 Fine Volume
       ok 65 name.0.55
       ok 66 write_default.0.55
       ok 67 write_valid.0.55
       ok 68 write_invalid.0.55
       ok 69 event_missing.0.55
       ok 70 event_spurious.0.55
       ok 71 get_value.0.54
       # 0.54 PCMD3180 i2c2 Dev3 Ch7 Fine Volume
       ok 72 name.0.54
       ok 73 write_default.0.54
       ok 74 write_valid.0.54
       ok 75 write_invalid.0.54
       ok 76 event_missing.0.54
       ok 77 event_spurious.0.54
       ok 78 get_value.0.53
       # 0.53 PCMD3180 i2c2 Dev3 Ch6 Fine Volume
       ok 79 name.0.53
       ok 80 write_default.0.53
       ok 81 write_valid.0.53
       ok 82 write_invalid.0.53
       ok 83 event_missing.0.53
       ok 84 event_spurious.0.53
       ok 85 get_value.0.52
       # 0.52 PCMD3180 i2c2 Dev3 Ch5 Fine Volume
       ok 86 name.0.52
       ok 87 write_default.0.52
       ok 88 write_valid.0.52
       ok 89 write_invalid.0.52
       ok 90 event_missing.0.52
       ok 91 event_spurious.0.52
       ok 92 get_value.0.51
       # 0.51 PCMD3180 i2c2 Dev3 Ch4 Fine Volume
       ok 93 name.0.51
       ok 94 write_default.0.51
       ok 95 write_valid.0.51
       ok 96 write_invalid.0.51
       ok 97 event_missing.0.51
       ok 98 event_spurious.0.51
       ok 99 get_value.0.50
       # 0.50 PCMD3180 i2c2 Dev3 Ch3 Fine Volume
       ok 100 name.0.50
       ok 101 write_default.0.50
       ok 102 write_valid.0.50
       ok 103 write_invalid.0.50
       ok 104 event_missing.0.50
       ok 105 event_spurious.0.50
       ok 106 get_value.0.49
       # 0.49 PCMD3180 i2c2 Dev3 Ch2 Fine Volume
       ok 107 name.0.49
       ok 108 write_default.0.49
       ok 109 write_valid.0.49
       ok 110 write_invalid.0.49
       ok 111 event_missing.0.49
       ok 112 event_spurious.0.49
       ok 113 get_value.0.48
       # 0.48 PCMD3180 i2c2 Dev3 Ch1 Fine Volume
       ok 114 name.0.48
       ok 115 write_default.0.48
       ok 116 write_valid.0.48
       ok 117 write_invalid.0.48
       ok 118 event_missing.0.48
       ok 119 event_spurious.0.48
       ok 120 get_value.0.47
       # 0.47 PCMD3180 i2c2 Dev2 Ch8 Digi Volume
       ok 121 name.0.47
       ok 122 write_default.0.47
       ok 123 write_valid.0.47
       ok 124 write_invalid.0.47
       ok 125 event_missing.0.47
       ok 126 event_spurious.0.47
       ok 127 get_value.0.46
       # 0.46 PCMD3180 i2c2 Dev2 Ch7 Digi Volume
       ok 128 name.0.46
       ok 129 write_default.0.46
       ok 130 write_valid.0.46
       ok 131 write_invalid.0.46
       ok 132 event_missing.0.46
       ok 133 event_spurious.0.46
       ok 134 get_value.0.45
       # 0.45 PCMD3180 i2c2 Dev2 Ch6 Digi Volume
       ok 135 name.0.45
       ok 136 write_default.0.45
       ok 137 write_valid.0.45
       ok 138 write_invalid.0.45
       ok 139 event_missing.0.45
       ok 140 event_spurious.0.45
       ok 141 get_value.0.44
       # 0.44 PCMD3180 i2c2 Dev2 Ch5 Digi Volume
       ok 142 name.0.44
       ok 143 write_default.0.44
       ok 144 write_valid.0.44
       ok 145 write_invalid.0.44
       ok 146 event_missing.0.44
       ok 147 event_spurious.0.44
       ok 148 get_value.0.43
       # 0.43 PCMD3180 i2c2 Dev2 Ch4 Digi Volume
       ok 149 name.0.43
       ok 150 write_default.0.43
       ok 151 write_valid.0.43
       ok 152 write_invalid.0.43
       ok 153 event_missing.0.43
       ok 154 event_spurious.0.43
       ok 155 get_value.0.42
       # 0.42 PCMD3180 i2c2 Dev2 Ch3 Digi Volume
       ok 156 name.0.42
       ok 157 write_default.0.42
       ok 158 write_valid.0.42
       ok 159 write_invalid.0.42
       ok 160 event_missing.0.42
       ok 161 event_spurious.0.42
       ok 162 get_value.0.41
       # 0.41 PCMD3180 i2c2 Dev2 Ch2 Digi Volume
       ok 163 name.0.41
       ok 164 write_default.0.41
       ok 165 write_valid.0.41
       ok 166 write_invalid.0.41
       ok 167 event_missing.0.41
       ok 168 event_spurious.0.41
       ok 169 get_value.0.40
       # 0.40 PCMD3180 i2c2 Dev2 Ch1 Digi Volume
       ok 170 name.0.40
       ok 171 write_default.0.40
       ok 172 write_valid.0.40
       ok 173 write_invalid.0.40
       ok 174 event_missing.0.40
       ok 175 event_spurious.0.40
       ok 176 get_value.0.39
       # 0.39 PCMD3180 i2c2 Dev2 Ch8 Fine Volume
       ok 177 name.0.39
       ok 178 write_default.0.39
       ok 179 write_valid.0.39
       ok 180 write_invalid.0.39
       ok 181 event_missing.0.39
       ok 182 event_spurious.0.39
       ok 183 get_value.0.38
       # 0.38 PCMD3180 i2c2 Dev2 Ch7 Fine Volume
       ok 184 name.0.38
       ok 185 write_default.0.38
       ok 186 write_valid.0.38
       ok 187 write_invalid.0.38
       ok 188 event_missing.0.38
       ok 189 event_spurious.0.38
       ok 190 get_value.0.37
       # 0.37 PCMD3180 i2c2 Dev2 Ch6 Fine Volume
       ok 191 name.0.37
       ok 192 write_default.0.37
       ok 193 write_valid.0.37
       ok 194 write_invalid.0.37
       ok 195 event_missing.0.37
       ok 196 event_spurious.0.37
       ok 197 get_value.0.36
       # 0.36 PCMD3180 i2c2 Dev2 Ch5 Fine Volume
       ok 198 name.0.36
       ok 199 write_default.0.36
       ok 200 write_valid.0.36
       ok 201 write_invalid.0.36
       ok 202 event_missing.0.36
       ok 203 event_spurious.0.36
       ok 204 get_value.0.35
       # 0.35 PCMD3180 i2c2 Dev2 Ch4 Fine Volume
       ok 205 name.0.35
       ok 206 write_default.0.35
       ok 207 write_valid.0.35
       ok 208 write_invalid.0.35
       ok 209 event_missing.0.35
       ok 210 event_spurious.0.35
       ok 211 get_value.0.34
       # 0.34 PCMD3180 i2c2 Dev2 Ch3 Fine Volume
       ok 212 name.0.34
       ok 213 write_default.0.34
       ok 214 write_valid.0.34
       ok 215 write_invalid.0.34
       ok 216 event_missing.0.34
       ok 217 event_spurious.0.34
       ok 218 get_value.0.33
       # 0.33 PCMD3180 i2c2 Dev2 Ch2 Fine Volume
       ok 219 name.0.33
       ok 220 write_default.0.33
       ok 221 write_valid.0.33
       ok 222 write_invalid.0.33
       ok 223 event_missing.0.33
       ok 224 event_spurious.0.33
       ok 225 get_value.0.32
       # 0.32 PCMD3180 i2c2 Dev2 Ch1 Fine Volume
       ok 226 name.0.32
       ok 227 write_default.0.32
       ok 228 write_valid.0.32
       ok 229 write_invalid.0.32
       ok 230 event_missing.0.32
       ok 231 event_spurious.0.32
       ok 232 get_value.0.31
       # 0.31 PCMD3180 i2c2 Dev1 Ch8 Digi Volume
       ok 233 name.0.31
       ok 234 write_default.0.31
       ok 235 write_valid.0.31
       ok 236 write_invalid.0.31
       ok 237 event_missing.0.31
       ok 238 event_spurious.0.31
       ok 239 get_value.0.30
       # 0.30 PCMD3180 i2c2 Dev1 Ch7 Digi Volume
       ok 240 name.0.30
       ok 241 write_default.0.30
       ok 242 write_valid.0.30
       ok 243 write_invalid.0.30
       ok 244 event_missing.0.30
       ok 245 event_spurious.0.30
       ok 246 get_value.0.29
       # 0.29 PCMD3180 i2c2 Dev1 Ch6 Digi Volume
       ok 247 name.0.29
       ok 248 write_default.0.29
       ok 249 write_valid.0.29
       ok 250 write_invalid.0.29
       ok 251 event_missing.0.29
       ok 252 event_spurious.0.29
       ok 253 get_value.0.28
       # 0.28 PCMD3180 i2c2 Dev1 Ch5 Digi Volume
       ok 254 name.0.28
       ok 255 write_default.0.28
       ok 256 write_valid.0.28
       ok 257 write_invalid.0.28
       ok 258 event_missing.0.28
       ok 259 event_spurious.0.28
       ok 260 get_value.0.27
       # 0.27 PCMD3180 i2c2 Dev1 Ch4 Digi Volume
       ok 261 name.0.27
       ok 262 write_default.0.27
       ok 263 write_valid.0.27
       ok 264 write_invalid.0.27
       ok 265 event_missing.0.27
       ok 266 event_spurious.0.27
       ok 267 get_value.0.26
       # 0.26 PCMD3180 i2c2 Dev1 Ch3 Digi Volume
       ok 268 name.0.26
       ok 269 write_default.0.26
       ok 270 write_valid.0.26
       ok 271 write_invalid.0.26
       ok 272 event_missing.0.26
       ok 273 event_spurious.0.26
       ok 274 get_value.0.25
       # 0.25 PCMD3180 i2c2 Dev1 Ch2 Digi Volume
       ok 275 name.0.25
       ok 276 write_default.0.25
       ok 277 write_valid.0.25
       ok 278 write_invalid.0.25
       ok 279 event_missing.0.25
       ok 280 event_spurious.0.25
       ok 281 get_value.0.24
       # 0.24 PCMD3180 i2c2 Dev1 Ch1 Digi Volume
       ok 282 name.0.24
       ok 283 write_default.0.24
       ok 284 write_valid.0.24
       ok 285 write_invalid.0.24
       ok 286 event_missing.0.24
       ok 287 event_spurious.0.24
       ok 288 get_value.0.23
       # 0.23 PCMD3180 i2c2 Dev1 Ch8 Fine Volume
       ok 289 name.0.23
       ok 290 write_default.0.23
       ok 291 write_valid.0.23
       ok 292 write_invalid.0.23
       ok 293 event_missing.0.23
       ok 294 event_spurious.0.23
       ok 295 get_value.0.22
       # 0.22 PCMD3180 i2c2 Dev1 Ch7 Fine Volume
       ok 296 name.0.22
       ok 297 write_default.0.22
       ok 298 write_valid.0.22
       ok 299 write_invalid.0.22
       ok 300 event_missing.0.22
       ok 301 event_spurious.0.22
       ok 302 get_value.0.21
       # 0.21 PCMD3180 i2c2 Dev1 Ch6 Fine Volume
       ok 303 name.0.21
       ok 304 write_default.0.21
       ok 305 write_valid.0.21
       ok 306 write_invalid.0.21
       ok 307 event_missing.0.21
       ok 308 event_spurious.0.21
       ok 309 get_value.0.20
       # 0.20 PCMD3180 i2c2 Dev1 Ch5 Fine Volume
       ok 310 name.0.20
       ok 311 write_default.0.20
       ok 312 write_valid.0.20
       ok 313 write_invalid.0.20
       ok 314 event_missing.0.20
       ok 315 event_spurious.0.20
       ok 316 get_value.0.19
       # 0.19 PCMD3180 i2c2 Dev1 Ch4 Fine Volume
       ok 317 name.0.19
       ok 318 write_default.0.19
       ok 319 write_valid.0.19
       ok 320 write_invalid.0.19
       ok 321 event_missing.0.19
       ok 322 event_spurious.0.19
       ok 323 get_value.0.18
       # 0.18 PCMD3180 i2c2 Dev1 Ch3 Fine Volume
       ok 324 name.0.18
       ok 325 write_default.0.18
       ok 326 write_valid.0.18
       ok 327 write_invalid.0.18
       ok 328 event_missing.0.18
       ok 329 event_spurious.0.18
       ok 330 get_value.0.17
       # 0.17 PCMD3180 i2c2 Dev1 Ch2 Fine Volume
       ok 331 name.0.17
       ok 332 write_default.0.17
       ok 333 write_valid.0.17
       ok 334 write_invalid.0.17
       ok 335 event_missing.0.17
       ok 336 event_spurious.0.17
       ok 337 get_value.0.16
       # 0.16 PCMD3180 i2c2 Dev1 Ch1 Fine Volume
       ok 338 name.0.16
       ok 339 write_default.0.16
       ok 340 write_valid.0.16
       ok 341 write_invalid.0.16
       ok 342 event_missing.0.16
       ok 343 event_spurious.0.16
       ok 344 get_value.0.15
       # 0.15 PCMD3180 i2c2 Dev0 Ch8 Digi Volume
       ok 345 name.0.15
       ok 346 write_default.0.15
       ok 347 write_valid.0.15
       ok 348 write_invalid.0.15
       ok 349 event_missing.0.15
       ok 350 event_spurious.0.15
       ok 351 get_value.0.14
       # 0.14 PCMD3180 i2c2 Dev0 Ch7 Digi Volume
       ok 352 name.0.14
       ok 353 write_default.0.14
       ok 354 write_valid.0.14
       ok 355 write_invalid.0.14
       ok 356 event_missing.0.14
       ok 357 event_spurious.0.14
       ok 358 get_value.0.13
       # 0.13 PCMD3180 i2c2 Dev0 Ch6 Digi Volume
       ok 359 name.0.13
       ok 360 write_default.0.13
       ok 361 write_valid.0.13
       ok 362 write_invalid.0.13
       ok 363 event_missing.0.13
       ok 364 event_spurious.0.13
       ok 365 get_value.0.12
       # 0.12 PCMD3180 i2c2 Dev0 Ch5 Digi Volume
       ok 366 name.0.12
       ok 367 write_default.0.12
       ok 368 write_valid.0.12
       ok 369 write_invalid.0.12
       ok 370 event_missing.0.12
       ok 371 event_spurious.0.12
       ok 372 get_value.0.11
       # 0.11 PCMD3180 i2c2 Dev0 Ch4 Digi Volume
       ok 373 name.0.11
       ok 374 write_default.0.11
       ok 375 write_valid.0.11
       ok 376 write_invalid.0.11
       ok 377 event_missing.0.11
       ok 378 event_spurious.0.11
       ok 379 get_value.0.10
       # 0.10 PCMD3180 i2c2 Dev0 Ch3 Digi Volume
       ok 380 name.0.10
       ok 381 write_default.0.10
       ok 382 write_valid.0.10
       ok 383 write_invalid.0.10
       ok 384 event_missing.0.10
       ok 385 event_spurious.0.10
       ok 386 get_value.0.9
       # 0.9 PCMD3180 i2c2 Dev0 Ch2 Digi Volume
       ok 387 name.0.9
       ok 388 write_default.0.9
       ok 389 write_valid.0.9
       ok 390 write_invalid.0.9
       ok 391 event_missing.0.9
       ok 392 event_spurious.0.9
       ok 393 get_value.0.8
       # 0.8 PCMD3180 i2c2 Dev0 Ch1 Digi Volume
       ok 394 name.0.8
       ok 395 write_default.0.8
       ok 396 write_valid.0.8
       ok 397 write_invalid.0.8
       ok 398 event_missing.0.8
       ok 399 event_spurious.0.8
       ok 400 get_value.0.7
       # 0.7 PCMD3180 i2c2 Dev0 Ch8 Fine Volume
       ok 401 name.0.7
       ok 402 write_default.0.7
       ok 403 write_valid.0.7
       ok 404 write_invalid.0.7
       ok 405 event_missing.0.7
       ok 406 event_spurious.0.7
       ok 407 get_value.0.6
       # 0.6 PCMD3180 i2c2 Dev0 Ch7 Fine Volume
       ok 408 name.0.6
       ok 409 write_default.0.6
       ok 410 write_valid.0.6
       ok 411 write_invalid.0.6
       ok 412 event_missing.0.6
       ok 413 event_spurious.0.6
       ok 414 get_value.0.5
       # 0.5 PCMD3180 i2c2 Dev0 Ch6 Fine Volume
       ok 415 name.0.5
       ok 416 write_default.0.5
       ok 417 write_valid.0.5
       ok 418 write_invalid.0.5
       ok 419 event_missing.0.5
       ok 420 event_spurious.0.5
       ok 421 get_value.0.4
       # 0.4 PCMD3180 i2c2 Dev0 Ch5 Fine Volume
       ok 422 name.0.4
       ok 423 write_default.0.4
       ok 424 write_valid.0.4
       ok 425 write_invalid.0.4
       ok 426 event_missing.0.4
       ok 427 event_spurious.0.4
       ok 428 get_value.0.3
       # 0.3 PCMD3180 i2c2 Dev0 Ch4 Fine Volume
       ok 429 name.0.3
       ok 430 write_default.0.3
       ok 431 write_valid.0.3
       ok 432 write_invalid.0.3
       ok 433 event_missing.0.3
       ok 434 event_spurious.0.3
       ok 435 get_value.0.2
       # 0.2 PCMD3180 i2c2 Dev0 Ch3 Fine Volume
       ok 436 name.0.2
       ok 437 write_default.0.2
       ok 438 write_valid.0.2
       ok 439 write_invalid.0.2
       ok 440 event_missing.0.2
       ok 441 event_spurious.0.2
       ok 442 get_value.0.1
       # 0.1 PCMD3180 i2c2 Dev0 Ch2 Fine Volume
       ok 443 name.0.1
       ok 444 write_default.0.1
       ok 445 write_valid.0.1
       ok 446 write_invalid.0.1
       ok 447 event_missing.0.1
       ok 448 event_spurious.0.1
       ok 449 get_value.0.0
       # 0.0 PCMD3180 i2c2 Dev0 Ch1 Fine Volume
       ok 450 name.0.0
       ok 451 write_default.0.0
       ok 452 write_valid.0.0
       ok 453 write_invalid.0.0
       ok 454 event_missing.0.0
       ok 455 event_spurious.0.0
       # Totals: pass:455 fail:0 xfail:0 xpass:0 skip:0 error:0
      710f9a36
    • Mark Brown's avatar
      ASoC: dapm: improve debugfs output and introduce · 51262240
      Mark Brown authored
      Merge series from Luca Ceresoli <luca.ceresoli@bootlin.com>:
      
      This patch series improves the tools available to understand and debug
      DAPM.
      51262240
    • Mark Brown's avatar
      ASoC: nau8821: Add delay control for ADC · bd74e9c3
      Mark Brown authored
      Merge series from Seven Lee <wtli@nuvoton.com>:
      
      Change the original fixed delay to the assignment from the property. It
      will make it more flexible to different platforms to avoid pop noise at
      the beginning of recording.
      bd74e9c3
    • Mark Brown's avatar
      ASoC: Intel: avs: Switch to acpi-nhlt · d3f36e78
      Mark Brown authored
      Merge series from Cezary Rojewski <cezary.rojewski@intel.com>:
      
      The change is based on rafael/acpi-nhlt [1] immutable branch which
      Rafael kindly prepared for me. Without the topmost changes to ACPI/NHLT,
      the patches present will fail to compile.
      
      Recent changes for the ACPI tree [2] refactored interfaces of the NHLT
      table. Currently we have two implementations - one found in acpi
      subsystem (unused) and one in sound/hda/. As NHLT is part of ACPI, idea
      is to make the former useful and then switch all users of existing
      sound/hda/intel-nhlt.c to this new interface over time and remove the
      duplicate afterward.
      
      [1]: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git/?h=acpi-nhlt
      [2]: https://lore.kernel.org/linux-acpi/20240319083018.3159716-1-cezary.rojewski@intel.com/
      d3f36e78
  2. 21 Apr, 2024 11 commits
  3. 20 Apr, 2024 1 commit
    • Mark Brown's avatar
      ASoC: Intel: avs: Refactor IRQ handling · 27a153e0
      Mark Brown authored
      Merge series from Cezary Rojewski <cezary.rojewski@intel.com>:
      
      The existing code can be both improved and simplified. To make this
      change easier to manage, first add new implementation and then remove
      deadcode in a separate patch.
      
      Simplification achieved with:
      
      - reduce the amount of resources requested by the driver i.e.: IPC and
        CLDMA request_irq() merged into one
      - reduce the number of DSP ops from 2 to 1:
        irq_handler/thread() vs dsp_interrupt()
      - drop ambiguity around CLDMA interrupt, let skl.c handle that
        explicitly as it is the only user
      
      With that done, switch to the new implementation and remove unused
      members. While the change is non-trivial, from functional perspective
      status quo is achieved.
      27a153e0
  4. 19 Apr, 2024 3 commits
  5. 17 Apr, 2024 4 commits
    • John Watts's avatar
      ASoC: sunxi: sun4i-i2s: Fix pcm_formats type specification · 9be51470
      John Watts authored
      pcm_formats should be a u64 as it is a SNDRV_PCM_FMTBIT_* not a
      SNDRV_PCM_FORMAT_*.
      
      Also fix a small grammar error while we're here.
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Closes: https://lore.kernel.org/oe-kbuild-all/202404170103.ySYwieqi-lkp@intel.com/Signed-off-by: default avatarJohn Watts <contact@jookia.org>
      Link: https://lore.kernel.org/r/20240417-sunxi_s32_fix-v1-1-d82e451565c0@jookia.orgSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      9be51470
    • Frank Li's avatar
      ASoC: dt-bindings: fsl-esai: Add ref: dai-common.yaml · 9aea6d64
      Frank Li authored
      Add ref: dai-common.yaml to fix below warning.
      arch/arm/boot/dts/nxp/imx/imx6q-sabreauto.dtb: esai@2024000: Unevaluated properties are not allowed ('#sound-dai-cells' was unexpected)
      Reviewed-by: default avatarRob Herring <robh@kernel.org>
      Signed-off-by: default avatarFrank Li <Frank.Li@nxp.com>
      Link: https://lore.kernel.org/r/20240416-esai_arm_dts_warning-v2-2-879e59c0c3b8@nxp.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      9aea6d64
    • Frank Li's avatar
      ASoC: dt-bindings: fsl-esai: Remove 'fsl,*' from required list · 5894ff6c
      Frank Li authored
      fsl,fifo-depth have default value 64 in driver(sound/soc/fsl/fsl_esai.c).
      
      fsl,esai-synchronous is flag(bool) type. It doesn't make sense to put flag
      type into 'required'.
      
      Fix warning:
      
      arch/arm/boot/dts/nxp/imx/imx6q-sabreauto.dtb: esai@2024000: 'fsl,fifo-depth' is a required property
      arch/arm/boot/dts/nxp/imx/imx6q-sabreauto.dtb: esai@2024000: 'fsl,esai-synchronous' is a required property
      Signed-off-by: default avatarFrank Li <Frank.Li@nxp.com>
      Link: https://lore.kernel.org/r/20240416-esai_arm_dts_warning-v2-1-879e59c0c3b8@nxp.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      5894ff6c
    • Mark Brown's avatar
      ASoC: Cleanup MediaTek soundcard machine drivers · 4b73a4cd
      Mark Brown authored
      Merge series from AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>:
      
      Changes in v5:
       - Cleaned up MT8186 soundcard migration commit which erroneously
         had leftovers from development
       - Changed the mtk_pcm_constraints_data structure to hold pointers
         to snd_pcm_hw_constraint_list, as to really reuse the const data
       - Tested again on all of the listed MTK platforms.
      
      Changes in v4:
       - Rebased over next-20240409
       - Dropped the first 4 patches from v3 as were already picked by Mark
       - Fixed W=1 build issue
      
      Changes in v3:
       - Added audio-routing names in enum in all yaml files
       - Added mention of disallowing old and new properties together in
         commit message of bindings patches
       - Fixed validation errors with sound-card-common.yaml inclusion
         due to missing model property in examples
       - Removed `else` enforcing headset-codec/speaker-codecs requirement
         if xxx-dai-link not present to avoid future commit noise as the
         deprecated statement will disallow deprecated properties as required
      
      Changes in v2:
       - Bindings: Changed link-name/codec/clk-provider to remove `items`
         and leave just the enum
       - Moved .*-dai-link pattern additionalProperties after `type: object`
       - Added ref to sound-card-common.yaml
       - Fixed dai-link-xxx -> xxx-dai-link typo in example comment
      
      This series performs a cleanup of most of the MediaTek AFE drivers and
      soundcard machine drivers, reducing code duplication and setting a base
      to be consistent with their devicetree bindings, as many of those are
      using different properties and nodes for no good reason.
      
      Summarizing:
       - Commonizes functions and ops where possible
       - Adds a common probe mechanism, increasing maintainability of
         soundcard drivers for older MediaTek SoCs
       - Migrates all drivers to support the new bindings
         - Obviously retains compatibility with old device trees
       - Reduces machine-specific parameters hardcoding in drivers
         - Can now set machine-specific params in device tree
         - Uses the `audio-routing` and `dai-link` nodes like some
           other non-MediaTek SoC sound drivers
       - Imposes consistency between MediaTek ASoC machine soundcard
         drivers bindings
       - Reduces code size and greatly reduces the amount of code that
         will be required for newer drivers (retaining compatibility with
         the old bindings was costly in terms of code size, otherwise
         this series would've removed ~1000 more lines, or something
         along that line).
      
      This series was (manually) tested on MT8173, MT8192, MT8195 and MT8186
      Chromebooks.
      
      AngeloGioacchino Del Regno (18):
        ASoC: mediatek: Add common machine soundcard driver probe mechanism
        ASoC: mediatek: common: Constify struct mtk_sof_priv
        ASoC: mediatek: mt8188: Migrate to mtk_soundcard_common_probe
        ASoC: mediatek: mt8195: Migrate to mtk_soundcard_common_probe
        ASoC: mediatek: mt8192: Migrate to mtk_soundcard_common_probe
        ASoC: mediatek: mt8186: Migrate to mtk_soundcard_common_probe
        ASoC: mediatek: Add common snd_soc_ops .startup() callback
        ASoC: mediatek: mt8195: Migrate to the common mtk_soundcard_startup
        ASoC: mediatek: mt8192: Migrate to the common mtk_soundcard_startup
        ASoC: mediatek: mt8186-rt1019: Migrate to the common
          mtk_soundcard_startup
        ASoC: mediatek: Add common mtk_afe_component_probe callback
        ASoC: mediatek: Use common mtk_afe_pcm_platform with common probe cb
        ASoC: mediatek: mt8186: Unify mt8186-mt6366 machine drivers
        ASoC: dt-bindings: mt8195: Document audio-routing and dai-link subnode
        ASoC: dt-bindings: mt8192: Document audio-routing and dai-link subnode
        ASoC: dt-bindings: mt8186: Document audio-routing and dai-link subnode
        arm64: dts: mediatek: mt8195-cherry: Specify sound DAI links and
          routing
        arm64: dts: mediatek: mt8186-corsola: Specify sound DAI links and
          routing
      
       .../sound/mt8186-mt6366-da7219-max98357.yaml  |  131 +-
       .../sound/mt8186-mt6366-rt1019-rt5682s.yaml   |  120 +-
       .../sound/mt8192-mt6359-rt1015-rt5682.yaml    |  139 +-
       .../bindings/sound/mt8195-mt6359.yaml         |  134 ++
       .../boot/dts/mediatek/mt8186-corsola.dtsi     |   42 +-
       .../boot/dts/mediatek/mt8195-cherry.dtsi      |   45 +
       sound/soc/mediatek/Kconfig                    |   24 +-
       .../mediatek/common/mtk-afe-platform-driver.c |   18 +
       .../soc/mediatek/common/mtk-dsp-sof-common.c  |   15 +-
       .../soc/mediatek/common/mtk-dsp-sof-common.h  |    1 -
       sound/soc/mediatek/common/mtk-soc-card.h      |    7 +-
       .../mediatek/common/mtk-soundcard-driver.c    |  199 +++
       .../mediatek/common/mtk-soundcard-driver.h    |   42 +
       sound/soc/mediatek/mt6797/mt6797-afe-pcm.c    |   14 +-
       sound/soc/mediatek/mt7986/mt7986-afe-pcm.c    |   14 +-
       sound/soc/mediatek/mt8183/mt8183-afe-pcm.c    |   14 +-
       sound/soc/mediatek/mt8186/Makefile            |    3 +-
       .../mt8186/mt8186-mt6366-da7219-max98357.c    | 1189 -----------------
       ...t6366-rt1019-rt5682s.c => mt8186-mt6366.c} |  578 ++++----
       sound/soc/mediatek/mt8188/mt8188-afe-pcm.c    |   21 +-
       sound/soc/mediatek/mt8188/mt8188-mt6359.c     |  203 +--
       sound/soc/mediatek/mt8192/mt8192-afe-pcm.c    |   25 +-
       .../mt8192/mt8192-mt6359-rt1015-rt5682.c      |  301 ++---
       sound/soc/mediatek/mt8195/mt8195-afe-pcm.c    |   21 +-
       sound/soc/mediatek/mt8195/mt8195-mt6359.c     |  487 +++----
       25 files changed, 1597 insertions(+), 2190 deletions(-)
       delete mode 100644 sound/soc/mediatek/mt8186/mt8186-mt6366-da7219-max98357.c
       rename sound/soc/mediatek/mt8186/{mt8186-mt6366-rt1019-rt5682s.c => mt8186-mt6366.c} (72%)
      
      --
      2.44.0
      4b73a4cd
  6. 16 Apr, 2024 17 commits