Commit Graph

1045066 Commits

Author SHA1 Message Date
Nicolas Frattaroli
4e52cb9e2c
ASoC: dt-bindings: rockchip: i2s-tdm: Drop rockchip,cru property
This property was only needed for a driver hack, which we can
remove. Since the bindings were not in any kernel release yet, we
are able to just drop the property instead of silently accepting
and ignoring it.

Signed-off-by: Nicolas Frattaroli <frattaroli.nicolas@gmail.com>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Message-Id: <20211016105354.116513-3-frattaroli.nicolas@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2021-10-17 00:16:48 +01:00
Nicolas Frattaroli
d6365d0f0a
ASoC: rockchip: i2s-tdm: Strip out direct CRU use
In cases where both rx and tx lrck are synced to the same source,
the resets for rx and tx need to be triggered simultaneously,
according to the downstream driver.

As there is no reset API to atomically bulk (de)assert two resets
at once, what the driver did was implement half a reset controller
specific to Rockchip, which tried to write the registers for the
resets within one write ideally or several writes within an irqsave
section.

This of course violates abstractions quite badly. The driver should
not write to the CRU's registers directly.

In practice, for the cases I tested the driver with, which is audio
playback, replacing the synchronised asserts with just individual
ones does not seem to make any difference.

If it turns out that this breaks something in the future, it should
be fixed through the specification and implementation of an atomic
bulk reset API, not with a CRU hack.

Signed-off-by: Nicolas Frattaroli <frattaroli.nicolas@gmail.com>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Message-Id: <20211016105354.116513-2-frattaroli.nicolas@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2021-10-17 00:16:43 +01:00
Linus Torvalds
d999ade1cc perf tools fixes for v5.15: 4th patch
- Fix 'perf test evsel' build error on !x86 architectures.
 
 - Fix libperf's test_stat_cpu mixup of CPU numbers and CPU indexes.
 
 - Output offsets for decompressed records, not just useless zeros.
 
 Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQR2GiIUctdOfX2qHhGyPKLppCJ+JwUCYWq4ZAAKCRCyPKLppCJ+
 JyRdAQD1iZFc0g9GLL0n50Q6HJCAFDLfufbkTpYiPPTFhemDRgD9Em5IvOAW6Zhv
 9xLhduRa0DfTe/NIxz82bjSD4BvuzQw=
 =JBso
 -----END PGP SIGNATURE-----

Merge tag 'perf-tools-fixes-for-v5.15-2021-10-16' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux

Pull perf tools fixes from Arnaldo Carvalho de Melo:

 - Fix 'perf test evsel' build error on !x86 architectures

 - Fix libperf's test_stat_cpu mixup of CPU numbers and CPU indexes

 - Output offsets for decompressed records, not just useless zeros

* tag 'perf-tools-fixes-for-v5.15-2021-10-16' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux:
  libperf tests: Fix test_stat_cpu
  libperf test evsel: Fix build error on !x86 architectures
  perf report: Output non-zero offset for decompressed records
2021-10-16 11:11:07 -07:00
Linus Torvalds
ccfb5ceb40 memblock: fix handling of NOMAP regions with kmemleak.
NOMAP regions don't have linear map entries so an attempt to scan these
 areas in kmemleak would fault.
 
 Prevent such faults by excluding NOMAP regions from kmemleak.
 -----BEGIN PGP SIGNATURE-----
 
 iQFHBAABCAAxFiEEeOVYVaWZL5900a/pOQOGJssO/ZEFAmFqfG8THHJwcHRAbGlu
 dXguaWJtLmNvbQAKCRA5A4Ymyw79kcfoB/9PNSlArkXh5zO/UBFQDH1tkfCVX1ai
 AZwwcSCNz9A1qdDJR/PyihvfhT2eQVyGM01jS4qanBxAbZzyTvFujn5lLryK/TMn
 IFg+HRJEcABf1o+xnlA3CiyeOYAwokh71lhdKH+D/i00foj9vHvReLRNj5Hc941/
 cZ5KwK+ywpR4SaIMLAqjmKsROZF8UpGSAu7Pkd7mI9kckOwJ9fbKkYepset1ehgc
 1u0NpvfgUvgJCU/TEi1c4Ioposm8zTf8zRFLf5mhEL21iRe5PV/YRuyyI0saLlv/
 0dOIqj9InMxtT8vfMvOXi466cr8w2VxAVA9pUN6jkcI33hmkEUQnnGt+
 =BnCQ
 -----END PGP SIGNATURE-----

Merge tag 'fixes-2021-10-16' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock

Pull memblock fix from Mike Rapoport:
 "Fix handling of NOMAP regions with kmemleak.

  NOMAP regions don't have linear map entries so an attempt to scan
  these areas in kmemleak would fault.

  Prevent such faults by excluding NOMAP regions from kmemleak"

* tag 'fixes-2021-10-16' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock:
  memblock: exclude NOMAP regions from kmemleak
2021-10-16 10:57:13 -07:00
Linus Torvalds
368a978cc5 Tracing fixes for 5.15:
- Fix defined but not use warning/error for osnoise function
 
  - Fix memory leak in event probe
 
  - Fix memblock leak in bootconfig
 
  - Fix the API of event probes to be like kprobes
 
  - Added test to check removal of event probe API
 
  - Fix recordmcount.pl for nds32 failed build
 -----BEGIN PGP SIGNATURE-----
 
 iIoEABYIADIWIQRRSw7ePDh/lE+zeZMp5XQQmuv6qgUCYWpB6BQccm9zdGVkdEBn
 b29kbWlzLm9yZwAKCRAp5XQQmuv6qnu/AQD1eYekS43uCDyzzpvjsz0tZ6tzVH8z
 ainpgtcAd11q4AD8CHLvhBsEyo99Yna2Mvir6nCkafm2Y2IVGvVbnDofnAA=
 =yvDo
 -----END PGP SIGNATURE-----

Merge tag 'trace-v5.15-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace

Tracing fixes for 5.15:

 - Fix defined but not use warning/error for osnoise function

 - Fix memory leak in event probe

 - Fix memblock leak in bootconfig

 - Fix the API of event probes to be like kprobes

 - Added test to check removal of event probe API

 - Fix recordmcount.pl for nds32 failed build

* tag 'trace-v5.15-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
  nds32/ftrace: Fix Error: invalid operands (*UND* and *UND* sections) for `^'
  selftests/ftrace: Update test for more eprobe removal process
  tracing: Fix event probe removal from dynamic events
  tracing: Fix missing * in comment block
  bootconfig: init: Fix memblock leak in xbc_make_cmdline()
  tracing: Fix memory leak in eprobe_register()
  tracing: Fix missing osnoise tracer on max_latency
2021-10-16 10:51:41 -07:00
Linus Torvalds
6985c40ab6 Clk driver fixes for critical issues found in the past few weeks.
- Select gdsc config so qcom sm6350 driver probes
  - Fix a register offset in qcom gcc-sm6115 so the correct clk is
    controlled
  - Fix inverted logic in Renesas RZ/G2L .is_enabled()
  - Mark some more clks critical in Renesas clk driver
  - Remove a duplicate clk in the agilex driver
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEE9L57QeeUxqYDyoaDrQKIl8bklSUFAmFqFQoRHHNib3lkQGtl
 cm5lbC5vcmcACgkQrQKIl8bklSWX/g/+JWqsBTGvq3U8WZycyzujR2wfG6nau8Gf
 luXk6SEEolMSheC76BJoElgGJjbni9k0EMlqz+DuKnvcMZ9P5Z06q29vi6N5Vwh+
 kPMH35NpVce0O5TGRZExE2BISKo51PHNrYkl47qoNCyF+tlHigdxvMPnwLimTlxL
 EUvDDFQw6fP65HSIqd3CpTwJL/abNQewe/GnH1HTtoJUDaR98tmVAHbipWWR+b97
 mvc4CW3zJDP/cRF8yuC69ctWgxLAlqHfDeTSOcRQlw6Agfv49UDlJDNAuUaXo6IE
 GINBpAbQekBJPP7GfwOE/PQpZZL5qg1oo13fR9ujnQN3TaA2upDJCowogGPJgjPe
 hXxBY59EXvCOoRkX3nSDvyjSKPCttoliwr+2A5sXWfoMO0X1BfFTJ9QgQb4wCnzJ
 jyXZR8B5lBOUf4YHyWZzo4UmoWu/UiJGApi1b/EQEhPjzpGdlMfok5n2BNst8qpw
 9ZYxmJ7Yd6h6OX7scTG0vqYlVIA6G0zm4xtmcVN5tvUkQwybwcgycqtGonRutcc3
 y+F6qPEO0o/Nq3Kqv0uooIU++0AAy74FfdJZ9Y92TJMmRp42sYwBP6piSW8H1wD/
 hTBQsyzCJAe1VSEo8sR46qXVJTZzVHper0lk6JyUmYyMmwxMsrA80ZSOItnYQkyZ
 Bgw44MuGZkc=
 =UbHx
 -----END PGP SIGNATURE-----

Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux

Pull clk driver fixes from Stephen Boyd:
 "Clk driver fixes for critical issues found in the past few weeks:

   - Select gdsc config so qcom sm6350 driver probes

   - Fix a register offset in qcom gcc-sm6115 so the correct clk is
     controlled

   - Fix inverted logic in Renesas RZ/G2L .is_enabled()

   - Mark some more clks critical in Renesas clk driver

   - Remove a duplicate clk in the agilex driver"

* tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
  clk: qcom: add select QCOM_GDSC for SM6350
  clk: qcom: gcc-sm6115: Fix offset for hlos1_vote_turing_mmu_tbu0_gdsc
  clk: socfpga: agilex: fix duplicate s2f_user0_clk
  clk: renesas: rzg2l: Fix clk status function
  clk: renesas: r9a07g044: Mark IA55_CLK and DMAC_ACLK critical
2021-10-16 10:22:08 -07:00
Linus Torvalds
dcd619847c - Fix DM verity target to skip redundant processing on I/O errors.
- Fix request-based DM so that it doesn't queue request to blk-mq
   when DM device is suspended.
 
 - Fix DM core mempool NULL pointer race when completing IO.
 
 - Make DM clone target's 'descs' array static.
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCAAdFiEEJfWUX4UqZ4x1O2wixSPxCi2dA1oFAmFp6DUACgkQxSPxCi2d
 A1r0YQgApF9dafe9AGzdK5ISPRtPsgtCKBzaTYP0tXI648cXe68dY1UL35RuU2IN
 rXI65D0LxWAVppwy9Ok+0xce6O25oq80+BryolFFOr26QLpmU9v/QOjc3yntalwJ
 jzMk9oG26yzTWKEhbhaVZADHXDKcKdx2OCmkNpPGKudRZBq7BwnEG2a+z6YLleCg
 S44Fkwb2AOGALDWGQSM/16Wq87Z11lEJl+0951H/PjOMJ8X546nlCeTOEgyboPNn
 7RAL7bdSKGXibpERJQtI3NpHQnH7R07FOsoBvGOBcvB8k6urbmmzwcij723HTzcj
 xmXbd916BIaGlrwXbNOJD9VIeVaZbg==
 =zszv
 -----END PGP SIGNATURE-----

Merge tag 'for-5.15/dm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm

Pull device mapper fixes from Mike Snitzer:

 - Fix DM verity target to skip redundant processing on I/O errors.

 - Fix request-based DM so that it doesn't queue request to blk-mq when
   DM device is suspended.

 - Fix DM core mempool NULL pointer race when completing IO.

 - Make DM clone target's 'descs' array static.

* tag 'for-5.15/dm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
  dm: fix mempool NULL pointer race when completing IO
  dm rq: don't queue request to blk-mq during DM suspend
  dm clone: make array 'descs' static
  dm verity: skip redundant verity_handle_err() on I/O errors
2021-10-16 10:12:21 -07:00
Linus Torvalds
304040fb49 s390 update for v5.15-rc6
- Maintainers and reviewers changes:
   - Cornelia decided to free up her time and step down from vfio-ccw
     maintainer and s390 kvm reviewer duties.
   - Add Alexander Gordeev as s390 arch code reviewer.
 
 - Fix broken strrchr implementation.
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCAAdFiEE3QHqV+H2a8xAv27vjYWKoQLXFBgFAmFqmQoACgkQjYWKoQLX
 FBi49AgAmBwkos3ugoQta70mkQX5bCbeCHWjdgpzD1ItU5JPRxl6Mt9fEtmMP/73
 EN6Hwd2QPOd918cYaQS96/rkGLV7pbGQ//1KaS6OdKeXlciOPChHCFJrNaRF60ss
 GMsbWNPX/3AjAxE1UI7y7qB2BUN5CUn2aKtp76nQG4lIqTkR+GYz8YILWKyOgPas
 rhQaxHsr2p0hCQcdCkuYYc2cTsXPAEScvTb/GvRn/qRQ+zi12vBVPrNi957uR6G1
 gEgVuz2f6t4iar+AnzT01XcZ2q1WdxhOAD2pTKCk3+ZtTbdsFZuok3+20IJ7+w98
 xK8gna96Wei3iUuWm0I6qGV79iYKpA==
 =Dbcr
 -----END PGP SIGNATURE-----

Merge tag 's390-5.15-6' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux

Pull s390 fixes from Vasily Gorbik:

 - Maintainers and reviewers changes:

    * Cornelia decided to free up her time and step down from vfio-ccw
      maintainer and s390 kvm reviewer duties

    * Add Alexander Gordeev as s390 arch code reviewer

 - Fix broken strrchr implementation

* tag 's390-5.15-6' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
  s390: add Alexander Gordeev as reviewer
  s390: fix strrchr() implementation
  vfio-ccw: step down as maintainer
  KVM: s390: remove myself as reviewer
2021-10-16 09:14:55 -07:00
Linus Torvalds
c13f946bf1 csky updates for 5.15-rc6
Only 5 fixups:
  - Make HAVE_TCM depend on !COMPILE_TEST
  - bitops: Remove duplicate __clear_bit define
  - Select ARCH_WANT_FRAME_POINTERS only if compiler supports it
  - Fixup regs.sr broken in ptrace
  - don't let sigreturn play with priveleged bits of status register
 -----BEGIN PGP SIGNATURE-----
 
 iQJGBAABCgAwFiEE2KAv+isbWR/viAKHAXH1GYaIxXsFAmFqF5sSHGd1b3JlbkBr
 ZXJuZWwub3JnAAoJEAFx9RmGiMV7kr0P/i6S3luEFLpzdFDEM7r4hsxWcM79V6MY
 Dohmkfo/z0XQjXBerdjfb52aAfI26XieBX0FOCQclLqUG9DQK5hFjRRpGtsy8poH
 Q37EtWj+mPU1a8saDfz1NwmssuhmS6CmXxwTyIPkj+XmjzVfFIQNTdC8izfrU2XG
 nkpUPcPzA51wmHl7Ekio4NtpV06f47yrWSZ51d0IkcaHykUluvAKq2Lo11814OFt
 p1e3zO2JhXzwjI+c9JNUJW8Yfdsu5AhHv4e+268DDqy43i1DVMTJyoMwDFxhNN/r
 2ridy2ubkmk2iKVT25MHT9DdskI5x0Jp6c7sQyAZnKaVx9eniR3twhgv2W6nbvpr
 LIIhnmkEfDRw1L0vbIIJE4kk7qiPuX3v6Cmt3QkWie1CRghcHe8q9CV0C1hIgR6X
 k9kMo4eYrAVlOXAowK6mT9bC/MSF/SM5CKqjsqGbNla0ARgXYg7Y+SWd9YJyqKe0
 Bpqz8FgWq0fyT4lNSXQeQRX9robt+bNl90t9eRyYdN/hiVl2du36isRGE/xn0YYC
 5Q4pjTnInacmpLSKkPRTkhU/bXqcgmj0dfkjaIJtqYftJSckQDiLmiaIZ0LWq6js
 eTpbZ2j7aQ3VndXaO+s79alXoeQNIkM9A7q3C7Sl6KXhRFiyrsTl4COiHDZAeKm4
 XIBYuiCQymJS
 =L/sb
 -----END PGP SIGNATURE-----

Merge tag 'csky-for-linus-5.15-rc6' of git://github.com/c-sky/csky-linux

Pull csky fixes from Guo Ren:
 "Only 5 fixups:

   - Make HAVE_TCM depend on !COMPILE_TEST

   - bitops: Remove duplicate __clear_bit define

   - Select ARCH_WANT_FRAME_POINTERS only if compiler supports it

   - Fixup regs.sr broken in ptrace

   - don't let sigreturn play with priveleged bits of status register"

* tag 'csky-for-linus-5.15-rc6' of git://github.com/c-sky/csky-linux:
  csky: Make HAVE_TCM depend on !COMPILE_TEST
  csky: bitops: Remove duplicate __clear_bit define
  csky: Select ARCH_WANT_FRAME_POINTERS only if compiler supports it
  csky: Fixup regs.sr broken in ptrace
  csky: don't let sigreturn play with priveleged bits of status register
2021-10-16 09:12:18 -07:00
Linus Torvalds
5fd01b7263 Small fixlet for ARC
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEOXpuCuR6hedrdLCJadfx3eKKwl4FAmFqJzsACgkQadfx3eKK
 wl5aDQ//TFHGurG3jcp/Sk9JijIvqw/W2/5PAZ7XDbarIZIHi6LqueaBVLjbqQdI
 Up3ODpB7P4LwxNQwe+iJkk/x8Xmpwj5RYJhUZPmMkBIEt7pTixUR0VxMmznkoXjY
 7ACZKMTH5oTZaAlkwmAXgIUPMByfUkjgPgcoqgbTIKM5YyhazAW1P18hquhWX7sg
 6iGurVtdiFisO4v4hedh15aAYbbMoGl/luw09gGCGM9NTlZF9iRNWq5v9D30hkLN
 J5y4B+lTdPTwOZSWob8QKQvonPE3DpTg6nQwoRo15AiDikf/9ojsj10GBUOh1+7/
 q9R4IhXJQAMqdd4Op0Q65HyJ+aTwCb7LfNHji85CsWKgSCm8V5hmEJsKVYBGFC4x
 hI7Kxak51rg+2tjYC84eng8BlPN6SBSNiZpx7CL57sZCrt5uvWMg3tZ+7ldSLIgd
 NWQ5Z3QpXXAuo5A8xaHVss/BWx4ci1gA/MHu5rrZ6bXGIHsmsJ+j4RMEgA/HvIK3
 lMouXsoFa6P1OObhfRPO6YOTYAGwRlByGCaWPdWVNBNEnVD7xNPK4OOZU8YzQ1bu
 /bKkyJflHnOl277NdmDeE4mLmxOPTTz38yMYv1z2Yyi+OukBC1GBW4S05ZoZeoio
 WjblvIi1ImXeUesKKxB7uOCK5JoPIubzBqS27RjuE22h9eyuN9g=
 =cVNA
 -----END PGP SIGNATURE-----

Merge tag 'arc-5.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc

Pull ARC fix from Vineet Gupta:
 "Small fixlet for ARC"

* tag 'arc-5.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
  ARC: fix potential build snafu
2021-10-16 09:09:27 -07:00
Linus Torvalds
f04298169d ARM: SoC fixes for 5.15, part 2
A small number fixes this time, mostly touching actual code:
 
  - Add platform device for i.MX System Reset Controller (SRC) to fix
    a regression caused by fw_devlink change.
 
  - A fixup for a boot regression caused by my own rework for the
    Qualcomm SCM driver.
 
  - Multiple bugfixes for the Arm FFA and optee firmware drivers,
    addressing problems when they are built as a loadable module.
 
  - Four dts bugfixes for the Broadcom SoC used in Raspberry pi, addressing
    VEC (video encoder), MDIO bus controller #address-cells/#size-cells,
    SDIO voltage and PCIe host bridge dtc warnings.
 
 Signed-off-by: Arnd Bergmann <arnd@arndb.de>
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmFp5goACgkQmmx57+YA
 GNkMiw/+JKDklazok+5dVmS22Or8q7rTXhWDO3ZrsjkjrsRB3J61Z8F0dhI9nxew
 9qwScV2yFKdC6fMsUz7YOlcstzHUhmCwdazHMEXQy3lSynppZNCyYBaoTeWjw9Be
 QtHzPHfJ+RZsnQk7xWugH+9DIZPy5D2y5gecbcj7Qm2pAjBZgMNn93ppIebIbWWa
 UrPBns8tWjNoCMkXyEiWK8y9b8nW27AF9QKm2HGvyH/MIxo2xTGScNhY9OH7RxGk
 9ZTnRWayHSxwsqCDglr5CY0LAhCKxwIvAYTy/AgeeLXOgLwUgfAeEDVaDLDpJEHf
 I9TfYCM5T0tVMtn2sW7uVIfWdTm8DV+YttSwIPMA0l8SL4beWqvWt8z7qGiigarl
 xKOKps/pex4u+lUQtNoAtveXrw2JlUXFfF8r0TygwtXqAKuzd0mwHwjPG4uprcyU
 4kKq39tTthdtcOKRpmEEIvrg7nMVO+4Km56r2oDL9iXTXYP5tIgl+DoXgrqvu7ML
 6CCc0zy1invDjoQmhCsPikFRweRGJXJS2yqLXngSBb8SdvW7nMflQPEhHO0AWwXB
 I8tRK+SjXP+N2IZNpnKd+s6BZTSa5boOaCs8wJHidk356VUajj90ckc1O9i5XOmz
 CSEW1sYnwUc5EnMjvtgQXVTexF2w6XA49mzl4a+ewMxeF3WEtEE=
 =87lq
 -----END PGP SIGNATURE-----

Merge tag 'arm-soc-fixes-5.15-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc

Pull ARM SoC fixes from Arnd Bergmann:
 "A small number fixes this time, mostly touching actual code:

   - Add platform device for i.MX System Reset Controller (SRC) to
     fix a regression caused by fw_devlink change

   - A fixup for a boot regression caused by my own rework for the
     Qualcomm SCM driver

   - Multiple bugfixes for the Arm FFA and optee firmware drivers,
     addressing problems when they are built as a loadable module

   - Four dts bugfixes for the Broadcom SoC used in Raspberry pi,
     addressing VEC (video encoder), MDIO bus controller
     #address-cells/#size-cells, SDIO voltage and PCIe host bridge
     dtc warnings"

* tag 'arm-soc-fixes-5.15-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
  ARM: imx: register reset controller from a platform driver
  iommu/arm: fix ARM_SMMU_QCOM compilation
  ARM: dts: bcm2711-rpi-4-b: Fix usb's unit address
  ARM: dts: bcm2711-rpi-4-b: Fix pcie0's unit address formatting
  tee: optee: Fix missing devices unregister during optee_remove
  ARM: dts: bcm2711-rpi-4-b: fix sd_io_1v8_reg regulator states
  ARM: dts: bcm2711: fix MDIO #address- and #size-cells
  ARM: dts: bcm283x: Fix VEC address for BCM2711
  firmware: arm_ffa: Fix __ffa_devices_unregister
  firmware: arm_ffa: Add missing remove callback to ffa_bus_type
2021-10-16 09:05:58 -07:00
Linus Torvalds
5a7ee55b1f pci-v5.15-fixes-2
-----BEGIN PGP SIGNATURE-----
 
 iQJIBAABCgAyFiEEgMe7l+5h9hnxdsnuWYigwDrT+vwFAmFp1zoUHGJoZWxnYWFz
 QGdvb2dsZS5jb20ACgkQWYigwDrT+vxJbxAAjZi//M1Cz3PiONx3y9ipYX6THN2g
 yXvEnkB6ECwZgq3a68jD5fS+GCw/SDg+I64zlZKqXlefqxjKXIh2R/naguyM27tK
 hndMnS9m2lSJ5ro2DCqBGswBNB2HhVkglsuV9CEJQhSEB4zRt1xphYcklq+ouBjc
 Z+fG0zASPtMs/eWFTaQ3XYUlfko+819sk1H+03GTa2ue0wYzidrxZlcNZ3UNB8rf
 LUagMUqqpNC3FSipAwc/fhVxVSg5zNw6ZgUh8bEI75qsfoSkiaeIrrc+onf/FbgG
 nn381M0wTBcn8nwUqLxtwKcAHk5/jvUYdJ145JgC/7OG/8SamXh3ETK7IMFUrxzk
 7rLpa+R7iOSdJz2ytGbqS3ZAd0yAOoEzYrc7ndFquHS1I5zWvwZ+aDaKVz1OUIr2
 pONSizlh6efAI8jwWgHLAbVBCxROWV3jqvNBlF/pkgIFbHZeWdpumz/k6MWuswrt
 mjSnauk58XPdK/NAEPX02lWwoPD8kLSqQXOuELpC3vuwdGLwl+vkWrgYt4XgTlWi
 gFsfAhDw7sSe69/hbsgMhtN2DIshI+pnAWXI5WFXaWpcPlYbGWbDwyS1Be7TTj/J
 rM2aCURf03oQyhu0uRFRIzphaZoIE+QX+Dzsmk7bcR75fw0nw5GLQdTuDxEtnw7P
 2qyNLiFZHHA0AqY=
 =JRLg
 -----END PGP SIGNATURE-----

Merge tag 'pci-v5.15-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci

Pull pci fix from Bjorn Helgaas:

 - Don't save msi_populate_sysfs() error code as dev->msi_irq_groups so
   we don't dereference the error code as a pointer (Wang Hai)

* tag 'pci-v5.15-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
  PCI/MSI: Handle msi_populate_sysfs() errors correctly
2021-10-16 09:00:46 -07:00
Linus Torvalds
711c368667 ACPI fix for 5.15-rc6
Add a missing device ID to a quirk list in the suspend-to-idle
 support code.
 -----BEGIN PGP SIGNATURE-----
 
 iQJGBAABCAAwFiEE4fcc61cGeeHD/fCwgsRv/nhiVHEFAmFpvpISHHJqd0Byand5
 c29ja2kubmV0AAoJEILEb/54YlRxnIAQAITZ2s2rTPROECYwEpNypSb0qg9Ww161
 SX/ewJA4Ps6ga2pnLIyF3nS4W1enJU3vUXcMhWODuAjFLTnXTAjVUlepLefqExj2
 /8Um8neoX+1fmNvhC302VWWNAU/7RG/uVGkeeY6Nr89Mfvf0qkBD/qwI9uUtv58i
 u0h+khf5/In8W4gk9EoJ5xtfQkVJC4bLN8ZXzEaets5bQ6PTKNmfTQmP2BWvmI0C
 ytoz4z3h9epMJhL4k8MxG7Jl31HZoWZXiI3CSMPR2Zyj2GXfftacexJB4lXVOXz8
 Kr7XZEtvKlVHUOkv7juoalzhKtgW5qMGIwbwX7uSDrOYB6OyGYbVbWQwi7l53wbt
 kKUTqH2KFF+vTmkKHPZGbCzRcRhTYBdXpOh9dWTGuEYTLhrfqQh6DrVgRk8gtL6v
 vAdBs4p0VAB+38Ks9kWmJftPaQ7ZEy38Ly8gmGOrf981ewr0Xdb+CSbog4/f7jpA
 rUkcSju1LRCEBBz6Nwt83sLk3gCx413g7vg7UJnhQaQJaI9LPjo5HaFUvcq6bdx+
 ZB7Te+5Ga9qAKvJR1KRwJPa03hd/Ty9vAgIfUxkiTr9M0apCpGzu5N1LSGva9Pkp
 BLXB3Cs1Ig7tApzmgHr940AhvthbuqRMtVt2Pypf5/PJ3nMBsVh2LMIS5iBAGx/E
 XGpZojV38DJ1
 =04zc
 -----END PGP SIGNATURE-----

Merge tag 'acpi-5.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

Pull ACPI fix from Rafael Wysocki:
 "Add a missing device ID to a quirk list in the suspend-to-idle support
  code"

* tag 'acpi-5.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
  ACPI: PM: Include alternate AMDI0005 id in special behaviour
2021-10-16 08:45:46 -07:00
Borislav Petkov
b2381acd3f x86/fpu: Mask out the invalid MXCSR bits properly
This is a fix for the fix (yeah, /facepalm).

The correct mask to use is not the negation of the MXCSR_MASK but the
actual mask which contains the supported bits in the MXCSR register.

Reported and debugged by Ville Syrjälä <ville.syrjala@linux.intel.com>

Fixes: d298b03506 ("x86/fpu: Restore the masking out of reserved MXCSR bits")
Signed-off-by: Borislav Petkov <bp@suse.de>
Tested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Tested-by: Ser Olmy <ser.olmy@protonmail.com>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/YWgYIYXLriayyezv@intel.com
2021-10-16 12:37:50 +02:00
Nathan Chancellor
a02dcde595 Input: touchscreen - avoid bitwise vs logical OR warning
A new warning in clang points out a few places in this driver where a
bitwise OR is being used with boolean types:

drivers/input/touchscreen.c:81:17: warning: use of bitwise '|' with boolean operands [-Wbitwise-instead-of-logical]
        data_present = touchscreen_get_prop_u32(dev, "touchscreen-min-x",
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This use of a bitwise OR is intentional, as bitwise operations do not
short circuit, which allows all the calls to touchscreen_get_prop_u32()
to happen so that the last parameter is initialized while coalescing the
results of the calls to make a decision after they are all evaluated.

To make this clearer to the compiler, use the '|=' operator to assign
the result of each touchscreen_get_prop_u32() call to data_present,
which keeps the meaning of the code the same but makes it obvious that
every one of these calls is expected to happen.

Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Reported-by: Nick Desaulniers <ndesaulniers@google.com>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Link: https://lore.kernel.org/r/20211014205757.3474635-1-nathan@kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2021-10-15 22:22:54 -07:00
Michael Cullen
3378a07daa Input: xpad - add support for another USB ID of Nacon GC-100
The Nacon GX100XF is already mapped, but it seems there is a Nacon
GC-100 (identified as NC5136Wht PCGC-100WHITE though I believe other
colours exist) with a different USB ID when in XInput mode.

Signed-off-by: Michael Cullen <michael@michaelcullen.name>
Link: https://lore.kernel.org/r/20211015192051.5196-1-michael@michaelcullen.name
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2021-10-15 22:11:04 -07:00
Oleksij Rempel
fe0a7e3d01 Input: resistive-adc-touch - fix division by zero error on z1 == 0
For proper pressure calculation we need at least x and z1 to be non
zero. Even worse, in case z1 we may run in to division by zero
error.

Fixes: 60b7db914d ("Input: resistive-adc-touch - rework mapping of channels")
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Link: https://lore.kernel.org/r/20211007095727.29579-1-o.rempel@pengutronix.de
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2021-10-15 22:11:03 -07:00
Uwe Kleine-König
d997cc1715 Input: snvs_pwrkey - add clk handling
On i.MX7S and i.MX8M* (but not i.MX6*) the pwrkey device has an
associated clock. Accessing the registers requires that this clock is
enabled. Binding the driver on at least i.MX7S and i.MX8MP while not
having the clock enabled results in a complete hang of the machine.
(This usually only happens if snvs_pwrkey is built as a module and the
rtc-snvs driver isn't already bound because at bootup the required clk
is on and only gets disabled when the clk framework disables unused clks
late during boot.)

This completes the fix in commit 135be16d35 ("ARM: dts: imx7s: add
snvs clock to pwrkey").

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Link: https://lore.kernel.org/r/20211013062848.2667192-1-u.kleine-koenig@pengutronix.de
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2021-10-15 22:11:01 -07:00
Christoph Hellwig
c41108049d kyber: avoid q->disk dereferences in trace points
q->disk becomes invalid after the gendisk is removed.  Work around this
by caching the dev_t for the tracepoints.  The real fix would be to
properly tear down the I/O schedulers with the gendisk, but that is
a much more invasive change.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20211012093301.GA27795@lst.de
Tested-by: Yi Zhang <yi.zhang@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2021-10-15 21:02:57 -06:00
Christoph Hellwig
aec89dc5d4 block: keep q_usage_counter in atomic mode after del_gendisk
Don't switch back to percpu mode to avoid the double RCU grace period
when tearing down SCSI devices.  After removing the disk only passthrough
commands can be send anyway.

Suggested-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Tested-by: Darrick J. Wong <djwong@kernel.org>
Link: https://lore.kernel.org/r/20210929071241.934472-6-hch@lst.de
Tested-by: Yi Zhang <yi.zhang@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2021-10-15 21:02:54 -06:00
Christoph Hellwig
8e141f9eb8 block: drain file system I/O on del_gendisk
Instead of delaying draining of file system I/O related items like the
blk-qos queues, the integrity read workqueue and timeouts only when the
request_queue is removed, do that when del_gendisk is called.  This is
important for SCSI where the upper level drivers that control the gendisk
are separate entities, and the disk can be freed much earlier than the
request_queue, or can even be unbound without tearing down the queue.

Fixes: edb0872f44 ("block: move the bdi from the request_queue to the gendisk")
Reported-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Tested-by: Darrick J. Wong <djwong@kernel.org>
Link: https://lore.kernel.org/r/20210929071241.934472-5-hch@lst.de
Tested-by: Yi Zhang <yi.zhang@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2021-10-15 21:02:50 -06:00
Christoph Hellwig
a6741536f4 block: split bio_queue_enter from blk_queue_enter
To prepare for fixing a gendisk shutdown race, open code the
blk_queue_enter logic in bio_queue_enter.  This also removes the
pointless flags translation.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Tested-by: Darrick J. Wong <djwong@kernel.org>
Link: https://lore.kernel.org/r/20210929071241.934472-4-hch@lst.de
Tested-by: Yi Zhang <yi.zhang@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2021-10-15 21:02:47 -06:00
Christoph Hellwig
1f14a09890 block: factor out a blk_try_enter_queue helper
Factor out the code to try to get q_usage_counter without blocking into
a separate helper.  Both to improve code readability and to prepare for
splitting bio_queue_enter from blk_queue_enter.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Tested-by: Darrick J. Wong <djwong@kernel.org>
Link: https://lore.kernel.org/r/20210929071241.934472-3-hch@lst.de
Tested-by: Yi Zhang <yi.zhang@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2021-10-15 21:02:44 -06:00
Christoph Hellwig
cc9c884dd7 block: call submit_bio_checks under q_usage_counter
Ensure all bios check the current values of the queue under freeze
protection, i.e. to make sure the zero capacity set by del_gendisk
is actually seen before dispatching to the driver.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20210929071241.934472-2-hch@lst.de
Tested-by: Yi Zhang <yi.zhang@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2021-10-15 21:02:36 -06:00
Steven Rostedt
be358af119 nds32/ftrace: Fix Error: invalid operands (*UND* and *UND* sections) for `^'
I received a build failure for a new patch I'm working on the nds32
architecture, and when I went to test it, I couldn't get to my build error,
because it failed to build with a bunch of:

  Error: invalid operands (*UND* and *UND* sections) for `^'

issues with various files. Those files were temporary asm files that looked
like:  kernel/.tmp_mc_fork.s

I decided to look deeper, and found that the "mc" portion of that name
stood for "mcount", and was created by the recordmcount.pl script. One that
I wrote over a decade ago. Once I knew the source of the problem, I was
able to investigate it further.

The way the recordmcount.pl script works (BTW, there's a C version that
simply modifies the ELF object) is by doing an "objdump" on the object
file. Looks for all the calls to "mcount", and creates an offset of those
locations from some global variable it can use (usually a global function
name, found with <.*>:). Creates a asm file that is a table of references
to these locations, using the found variable/function. Compiles it and
links it back into the original object file. This asm file is called
".tmp_mc_<object_base_name>.s".

The problem here is that the objdump produced by the nds32 object file,
contains things that look like:

 0000159a <.L3^B1>:
    159a:       c6 00           beqz38 $r6, 159a <.L3^B1>
                        159a: R_NDS32_9_PCREL_RELA      .text+0x159e
    159c:       84 d2           movi55 $r6, #-14
    159e:       80 06           mov55 $r0, $r6
    15a0:       ec 3c           addi10.sp #0x3c

Where ".L3^B1 is somehow selected as the "global" variable to index off of.

Then the assembly file that holds the mcount locations looks like this:

        .section __mcount_loc,"a",@progbits
        .align 2
        .long .L3^B1 + -5522
        .long .L3^B1 + -5384
        .long .L3^B1 + -5270
        .long .L3^B1 + -5098
        .long .L3^B1 + -4970
        .long .L3^B1 + -4758
        .long .L3^B1 + -4122
        [...]

And when it is compiled back to an object to link to the original object,
the compile fails on the "^" symbol.

Simple solution for now, is to have the perl script ignore using function
symbols that have an "^" in the name.

Link: https://lkml.kernel.org/r/20211014143507.4ad2c0f7@gandalf.local.home

Cc: stable@vger.kernel.org
Acked-by: Greentime Hu <green.hu@gmail.com>
Fixes: fbf58a52ac ("nds32/ftrace: Add RECORD_MCOUNT support")
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
2021-10-15 22:44:16 -04:00
Vineet Gupta
c3ca31ce0e ARC: fix potential build snafu
In the big pgtable header split, I inadvertently introduced a couple of
duplicate symbols.

Fixes: fe6cb7b043 ("ARC: mm: disintegrate pgtable.h into levels and flags")
Signed-off-by: Vineet Gupta <vgupta@kernel.org>
2021-10-15 18:06:32 -07:00
Guenter Roeck
e21e52ad1e csky: Make HAVE_TCM depend on !COMPILE_TEST
Building csky:allmodconfig results in the following build errors.

arch/csky/mm/tcm.c:9:2: error:
		#error "You should define ITCM_RAM_BASE"
    9 | #error "You should define ITCM_RAM_BASE"
      |  ^~~~~
arch/csky/mm/tcm.c:14:2: error:
		#error "You should define DTCM_RAM_BASE"
   14 | #error "You should define DTCM_RAM_BASE"
      |  ^~~~~
arch/csky/mm/tcm.c:18:2: error:
		#error "You should define correct DTCM_RAM_BASE"
   18 | #error "You should define correct DTCM_RAM_BASE"

This is seen with compile tests since those enable HAVE_TCM,
but do not provide useful default values for ITCM_RAM_BASE or
DTCM_RAM_BASE. Disable HAVE_TCM for commpile tests to avoid
the error.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guo Ren <guoren@kernel.org>
2021-10-16 07:20:12 +08:00
Guenter Roeck
fb5d69a5cd csky: bitops: Remove duplicate __clear_bit define
Building csky:allmodconfig results in the following build error.

In file included from ./include/linux/bitops.h:33,
                 from ./include/linux/log2.h:12,
                 from kernel/bounds.c:13:
./arch/csky/include/asm/bitops.h:77: error: "__clear_bit" redefined

Since commit 9248e52fec ("locking/atomic: simplify non-atomic wrappers"),
__clear_bit is defined in include/asm-generic/bitops/non-atomic.h,
and the define in the csky include file is no longer necessary or useful.
Remove it.

Fixes: 9248e52fec ("locking/atomic: simplify non-atomic wrappers")
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guo Ren <guoren@kernel.org>
2021-10-16 07:20:12 +08:00
Guenter Roeck
aeba0b84dd csky: Select ARCH_WANT_FRAME_POINTERS only if compiler supports it
Compiling csky:allmodconfig with an upstream C compiler results
in the following error.

csky-linux-gcc: error:
	unrecognized command-line option '-mbacktrace';
	did you mean '-fbacktrace'?

Select ARCH_WANT_FRAME_POINTERS only if gcc supports it to
avoid the error.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guo Ren <guoren@kernel.org>
2021-10-16 07:20:12 +08:00
Guo Ren
af89ebaa64 csky: Fixup regs.sr broken in ptrace
gpr_get() return the entire pt_regs (include sr) to userspace, if we
don't restore the C bit in gpr_set, it may break the ALU result in
that context. So the C flag bit is part of gpr context, that's why
riscv totally remove the C bit in the ISA. That makes sr reg clear
from userspace to supervisor privilege.

Signed-off-by: Guo Ren <guoren@linux.alibaba.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: stable@vger.kernel.org
2021-10-16 07:20:12 +08:00
Al Viro
fbd63c08cd csky: don't let sigreturn play with priveleged bits of status register
csky restore_sigcontext() blindly overwrites regs->sr with the value
it finds in sigcontext.  Attacker can store whatever they want in there,
which includes things like S-bit.  Userland shouldn't be able to set
that, or anything other than C flag (bit 0).

Do the same thing other architectures with protected bits in flags
register do - preserve everything that shouldn't be settable in
user mode, picking the rest from the value saved is sigcontext.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Guo Ren <guoren@kernel.org>
Cc: stable@vger.kernel.org
2021-10-16 07:20:12 +08:00
Mark Brown
9a61277af7
Merge series "ASoC: Add Audio Graph Card2 support" from Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>:
Hi Mark

We already have Audio-Graph-Card which is Of-Graph base general sound
card driver. Basically it supports basic CPU-Codec connection, and is
also supporting DPCM connection. Because it was forcibly expanded to
DPCM, DT parsing is very limited and very difficult to add new features
on it, for example Multi-CPU/Codec support, Codec2Codec support, etc.

This patch adds more flexible new Audio-Graph-Card2 driver for it.
Audio-Graph-Card and Audio-Graph-Card2 are similar, but don't have
full compatibility.
The reason why I need Audio-Graph-Card2 instead of updating Audio-Graph-Card
is that it is very difficult to keep compatibility.

Audio-Graph-Card2 supports Normal/DPCM/Codec2Codec Connection wich
Single/Multi DAIs. And it is possible to Customizing.

This patch-set adds Audio-Graph-Card2 driver and its custom driver
sample, and DT settings sample which can be used for testing.

To enable testing/debuging, this patch-set also adds Test-Component
driver. We already have Dummy Component and/or Dummy DAI on soc-utils,
but 1) we can't use it from DT, 2) it do nothing.
Added new Test-Component can be used from DT, and it can indicate called
function name. We can use it to trace callback order, understanding
ALSA SoC behavior, etc, etc...
Sample DT settings of Audio Graph Card2 is using Test-Component as CPU/Codec DAI.

You can easily try to use/test it if you added below line to your DT file.
Your .config needs to have below CONFIGs to use/test it.
It will probe sample Sound Card which has Normal/DPCM/Multi/Codec2Codec
connections.

	#include "../../../../../sound/soc/generic/audio-graph-card2-custom-sample.dtsi"

	CONFIG_SND_AUDIO_GRAPH_CARD2
	CONFIG_SND_AUDIO_GRAPH_CARD2_CUSTOM_SAMPLE
	CONFIG_SND_TEST_COMPONENT

Because Audio Graph Card2 is still under experimental stage, it will
indicate such warning when probing, and the DT might be updated/exchanged.

It can use Codec2Codec, but it will start automatically when probed,
and can't stop it so far. It should be updated.

Link: https://lore.kernel.org/r/87k0xszlep.wl-kuninori.morimoto.gx@renesas.com
Link: https://lore.kernel.org/r/871r8u4s6q.wl-kuninori.morimoto.gx@renesas.com
Link: https://lore.kernel.org/r/87a6mhwyqn.wl-kuninori.morimoto.gx@renesas.com
Link: https://lore.kernel.org/r/87tuitusy4.wl-kuninori.morimoto.gx@renesas.com
Link: https://lore.kernel.org/r/87a6jn56x0.wl-kuninori.morimoto.gx@renesas.com

v1 -> v2
	- don't use "port" base for_each loop

v2 -> v3
	- Rename audio-graph-card2 to rich-graph-card
	- Rename DSP to DPCM not to confuse
	- Normal/DPCM/Codec2Codec can use Single/Multi DAIs.
	- use dpcm/multi/codec2codec node instead of using extra compatible
	- Sample DTSI patch is separated to Single/Multi.

v3 -> v4
	- Rename rich-graph-card to audio-graph-card2
	- fixup custom sample driver's connection bug
	- test-component compatible uses "verbose" instead of "vv"

v4 -> v5
	- tidyup git-log comment at
	- tidyup Custom Sample comment

Kuninori Morimoto (16):
  ASoC: test-component: add Test Component YAML bindings
  ASoC: test-component: add Test Component for Sound debug/test
  ASoC: simple-card-utils: add asoc_graph_is_ports0()
  ASoC: simple-card-utils: add codec2codec support
  ASoC: add Audio Graph Card2 driver
  ASoC: audio-graph-card2: add Multi CPU/Codec support
  ASoC: audio-graph-card2: add DPCM support
  ASoC: audio-graph-card2: add Codec2Codec support
  ASoC: add Audio Graph Card2 Yaml Document
  ASoC: add Audio Graph Card2 Custom Sample
  ASoC: audio-graph-card2-custom-sample.dtsi: add Sample DT for Normal (Single)
  ASoC: audio-graph-card2-custom-sample.dtsi: add Sample DT for Normal (Nulti)
  ASoC: audio-graph-card2-custom-sample.dtsi: add DPCM sample (Single)
  ASoC: audio-graph-card2-custom-sample.dtsi: add DPCM sample (Multi)
  ASoC: audio-graph-card2-custom-sample.dtsi: add Codec2Codec sample (Single)
  ASoC: audio-graph-card2-custom-sample.dtsi: add Codec2Codec sample (Multi)

 .../bindings/sound/audio-graph-card2.yaml     |   57 +
 .../bindings/sound/test-component.yaml        |   33 +
 include/sound/graph_card.h                    |   21 +
 include/sound/simple_card_utils.h             |    4 +
 sound/soc/generic/Kconfig                     |   20 +
 sound/soc/generic/Makefile                    |    6 +
 .../generic/audio-graph-card2-custom-sample.c |  183 +++
 .../audio-graph-card2-custom-sample.dtsi      |  227 +++
 sound/soc/generic/audio-graph-card2.c         | 1281 +++++++++++++++++
 sound/soc/generic/simple-card-utils.c         |   46 +-
 sound/soc/generic/test-component.c            |  659 +++++++++
 11 files changed, 2536 insertions(+), 1 deletion(-)
 create mode 100644 Documentation/devicetree/bindings/sound/audio-graph-card2.yaml
 create mode 100644 Documentation/devicetree/bindings/sound/test-component.yaml
 create mode 100644 sound/soc/generic/audio-graph-card2-custom-sample.c
 create mode 100644 sound/soc/generic/audio-graph-card2-custom-sample.dtsi
 create mode 100644 sound/soc/generic/audio-graph-card2.c
 create mode 100644 sound/soc/generic/test-component.c

--
2.25.1
2021-10-15 20:40:27 +01:00
Arnd Bergmann
011ace4a7f i.MX fixes for 5.15, round 3:
- Add platform device for i.MX System Reset Controller (SRC) to fix
   a regression caused by fw_devlink change.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmFpJFIUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM67qwgApC/jIgISGcX4vv7C7VKlxriwVuJh
 UcThxgUy2si3HVRh6hqVgpnQiUip5NY8g9j6HoOyAijHEvkF3Seo7gy2oi62ZBwi
 6aC9RnMtsHmNsNKhvvf89lF8dN2lujG9B+kmaAh6zcMtVHWukHauVJ5EM8I+sbSK
 JF+5JHg5/3T360RlJQE3VElSnQVcdlIdGNW5JSt5I4JXsW02/h9C7ZHjMBzvJ3J4
 9d9rR3/vxie7bNh+XyeMYal8hD74iol08RiQ5kaFKqUJNTMmIxsDi3kzqjwIDdls
 x8hqM0+mneVDgdpuXsJqm9rL87UQUkaCkwclbY2HP3s4YnMyW9hrwzFW9g==
 =8qZN
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmFpzOgACgkQmmx57+YA
 GNkJsA/+LmO+Uek+/h9s0rAUhN1oml34evA/vJOok82tlj9jmjwhDBxuzA6iPrtX
 5OLaLKpBmgOXkBNM3aEva+qoMoUC1gRFcUEcmyPYMLyPWV+6m1QYx1xlPUPihTrM
 3UA/JUMu8bd5ktOblTaQ7g7O5WoKjYpiif4xs620Y/6PheVZlKqxignecIux6oCs
 BlzhcV+AONRK5ezjHoiGf30gWM3Pjn4869Ad00sVhIEwFKLmNBEvgr49YRzV1JN/
 xKlwDvnlP96szUxyFrAVvmdgKcp/Tj+2kJOhr6VuASfhD7VdbtI4Hs+FfLPq5dvb
 Y9rf1Y3iuqgeerONfE5xm8v1FqdU3KWIj5wyU86ltBYjT3HMCUoBlKiO6kb+fvsr
 ID69AOmbbzyrgQQqV2RlVnUFhBuzq1BgeAacZD+6LT4v6w4N70ddMeAOEwyGVKEg
 Lh8421XZJ2yRdKs/iQ5smJBoxzT6k1cht9crD8B9xmK/dzLuoQi44LJ8F6sNIQnR
 /dwbVZzKdTEAynyA1FdmAe7io6u0eGbcXbyfUJAo86UkqK3QJNdnuSN6mxZH13mq
 cCCuYML8z31k3xHf/fO6Hl03UwuSXpWkX6itoUL3zcMx90tlCDNZ/MCQCveMdzmg
 jiRnXJyP/RRyJXHNutCEAqPR6Ip3fBUBp+i3giV8YqVIJNe0hUw=
 =oxqg
 -----END PGP SIGNATURE-----

Merge tag 'imx-fixes-5.15-3' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/fixes

i.MX fixes for 5.15, round 3:

- Add platform device for i.MX System Reset Controller (SRC) to fix
  a regression caused by fw_devlink change.

* tag 'imx-fixes-5.15-3' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  ARM: imx: register reset controller from a platform driver

Link: https://lore.kernel.org/r/20211015070017.GI22881@dragon
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-10-15 20:48:08 +02:00
Takashi Sakamoto
634ec0b290 ALSA: firewire-motu: notify event for parameter change in register DSP model
This commit copies queued event for change of register DSP into
userspace when application operates ALSA hwdep character device.
The notification occurs only when packet streaming is running.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Link: https://lore.kernel.org/r/20211015080826.34847-12-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2021-10-15 17:52:19 +02:00
Takashi Sakamoto
4c9eda8f37 ALSA: firewire-motu: queue event for parameter change in register DSP model
This commit is a preparation to notify parameter change of register DSP
to userspace application. A simple queue is added to store encoded data
for the change as long as ALSA hwdep character device is opened by
application.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Link: https://lore.kernel.org/r/20211015080826.34847-11-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2021-10-15 17:52:16 +02:00
Takashi Sakamoto
ca15a09ccc ALSA: firewire-motu: add ioctl command to read cached parameters in register DSP model
This patch adds new ioctl command for userspace applications to read
cached parameters of register DSP.

The structured data includes model-dependent parameters. Userspace
application should be carefully programmed so that what parameter is
common and specific.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Link: https://lore.kernel.org/r/20211015080826.34847-10-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2021-10-15 17:52:15 +02:00
Takashi Sakamoto
7d843c494a ALSA: firewire-motu: parse messages for input parameters in register DSP model
This commit parses message and cache current parameters of input function,
available for MOTU Ultralite, 4 pre, and Audio Express.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Link: https://lore.kernel.org/r/20211015080826.34847-9-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2021-10-15 17:52:14 +02:00
Takashi Sakamoto
41cc23389f ALSA: firewire-motu: parse messages for line input parameters in register DSP model
This commit parses message and cache current parameters of line input
function, available for MOTU 828 mk2 and Traveler.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Link: https://lore.kernel.org/r/20211015080826.34847-8-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2021-10-15 17:52:13 +02:00
Takashi Sakamoto
6ca81d2b63 ALSA: firewire-motu: parse messages for output parameters in register DSP model
This commit parses message and cache current parameters of output
function, commonly available for all of register DSP model.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Link: https://lore.kernel.org/r/20211015080826.34847-7-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2021-10-15 17:52:13 +02:00
Takashi Sakamoto
ce69bed555 ALSA: firewire-motu: parse messages for mixer output parameters in register DSP model
This commit parses message and cache current parameters of mixer output
function, commonly available for all of register DSP model

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Link: https://lore.kernel.org/r/20211015080826.34847-6-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2021-10-15 17:52:12 +02:00
Takashi Sakamoto
dc36a9755a ALSA: firewire-motu: parse messages for mixer source parameters in register-DSP model
In register DSP models, current parameters of DSP are always reported by
messages in isochronous packet. When user operates hardware component such
as rotary knob, corresponding message is changed.

This commit parses the message and cache current parameters of mixer
source function, commonly available for all of register DSP models.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Link: https://lore.kernel.org/r/20211015080826.34847-5-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2021-10-15 17:52:11 +02:00
Takashi Sakamoto
58b62ab702 ALSA: firewire-motu: add ioctl command to read cached hardware meter
This patch adds new ioctl commands for userspace applications to read
cached image about hardware meters in register DSP and command DSP models.

The content of image differs depending on models. Model-specific parser
should be implemented in userspace.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Link: https://lore.kernel.org/r/20211015080826.34847-4-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2021-10-15 17:52:09 +02:00
Takashi Sakamoto
90b28f3bb8 ALSA: firewire-motu: add message parser for meter information in command DSP model
Some of MOTU models allows software to configure their DSP parameters by
command included in asynchronous transaction. The models multiplex messages
for hardware meters into isochronous packet as well as PCM frames. For
convenience, I call them as 'command DSP' model.

This patch adds message parser for them to gather hardware meter
information.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Link: https://lore.kernel.org/r/20211015080826.34847-3-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2021-10-15 17:52:07 +02:00
Takashi Sakamoto
bea36afa10 ALSA: firewire-motu: add message parser to gather meter information in register DSP model
Some of MOTU models allows software to configure their DSP parameters by
accessing to their registers. The models multiplex messages for status of
DSP into isochronous packet as well as PCM frames. The message includes
information of hardware metering, MIDI message, current parameters of DSP.
For my convenience, I call them as 'register DSP' model.

This patch adds message parser for them to gather hardware meter
information.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Link: https://lore.kernel.org/r/20211015080826.34847-2-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2021-10-15 17:52:05 +02:00
Takashi Iwai
eadeb06e76 ASoC: Fixes for v5.15
A colletion of smallish mostly driver specific fixes, the biggest thing
 here is fixing some of the core code to generate change notifications
 properly when writing to controls which will fix issues with UIs not
 showing the correct values.
 
 There's one build fix here with a slightly misleading changelog saying
 it's adding IRQ config support, it's adding a missing select of the
 regmap-irq code rather than adding a feature.
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAmFpaYkACgkQJNaLcl1U
 h9AK1Qf8DBJ4hv+jXUB78qrymQCw1gGbZ9S+Z0TUX/GG+AquP5HbuwKvL28pjKU3
 8nNqqfqcqT9wxPu5T4ct1TJishT+3lhvpsGpMU4beP3/P1RcA6asUF9ycty2EN+s
 07gXTnYTUGzMl+ZXKBt9lZBpKrxn/EBh8CkJDNYTrTv9O6kaFwT9UT+h8Ogn+Blg
 XGg7wveKrLjpEhwFa6HvRWiV+12kI6ZWt4JQrF2Z0bMkRNWwz14A0qybrr1FrFud
 FkB1gD3PArCLv6AYTW4F8t0ldwKniJjX386yq50dOfab/iWZpcqmxou35+exhP/j
 PhXnUUvAeowZGPRjEAqAcGTq3zCTqw==
 =3OCP
 -----END PGP SIGNATURE-----

Merge tag 'asoc-fix-v5.15-rc5' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus

ASoC: Fixes for v5.15

A colletion of smallish mostly driver specific fixes, the biggest thing
here is fixing some of the core code to generate change notifications
properly when writing to controls which will fix issues with UIs not
showing the correct values.

There's one build fix here with a slightly misleading changelog saying
it's adding IRQ config support, it's adding a missing select of the
regmap-irq code rather than adding a feature.
2021-10-15 17:43:46 +02:00
Richard Fitzgerald
4ca239f337
ASoC: cs42l42: Always enable TS_PLUG and TS_UNPLUG interrupts
The headset type detection must run to set the analogue switches
correctly for the attached headset type. Without this only headsets
with wiring matching the chip default will have a functioning mic.

commit c26a5289e8 ("ASoC: cs42l42: Add support for set_jack calls")
moved the interrupt unmasking to the component set_jack() callback.
But it's not mandatory for a machine driver to register a struct
snd_soc_jack handler. Without a registered handler the type detection
would not have run and so the mic would not work on some types of
headset.

This patch restores the unmasking of TS_PLUG and TS_UNPLUG interrupts
during probe.

Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20211015133619.4698-17-rf@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2021-10-15 16:14:24 +01:00
Richard Fitzgerald
4c8d49bc47
ASoC: cs42l42: Fix WARN in remove() if running without an interrupt
The driver must free the IRQ in remove() to prevent the potential race
where an IRQ starts to be handled while the driver is being removed but
devres has not yet called free_irq(). However, the driver can run without
an interrupt but devm_free_irq() will hit a WARN() if no devres-managed
interrupt was ever created.

Fix this by only attempting to create the interrupt handler if the hardware
config specified an interrupt, and failing probe() if the interrupt could
not be created. This means that in cs42l42_remove() an interrupt must have
been registered if the irq number is valid and therefore it is safe to call
devm_free_irq().

Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20211015133619.4698-16-rf@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2021-10-15 16:14:23 +01:00
Richard Fitzgerald
0c3d6c6ff7
ASoC: cs42l42: Mark OSC_SWITCH_STATUS register volatile
OSC_SWITCH_STATUS is a volatile register indicating the current state
of the clock switch logic.

Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20211015133619.4698-15-rf@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2021-10-15 16:14:21 +01:00
Richard Fitzgerald
fdbd256175
ASoC: cs42l42: Set correct SRC MCLK
According to the datasheet the SRC MCLK must be as near as possible to
(125 * sample rate). This means it should be ~6MHz for rates up to 48k
and ~12MHz for rates above that. As per datasheet table 4-21.

Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20211015133619.4698-14-rf@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2021-10-15 16:14:20 +01:00
Richard Fitzgerald
4ae1d8f911
ASoC: cs42l42: Allow time for HP/ADC to power-up after enable
After enabling the HP or ADC by writing the corresponding PDN=0,
it takes around 20 milliseconds for it to power up and the midrail
supply to be stable. Add this wait into a DAPM widget callback.

If HP and ADC are both powering up in a DAPM sequence, there's no
need to do the wait twice. The widget will perform one wait in the
POST_PMU if there was a PRE_PMU for one or both.

Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20211015133619.4698-13-rf@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2021-10-15 16:14:19 +01:00