Commit graph

1,267,977 commits

Author SHA1 Message Date
Arnd Bergmann
56d4eaed1e This pull request contains Broadcom ARM-based SoCs Device Tree fixes for
6.7, please pull the following:
 
 - Stefan corrects the disabling of the activity LED for the Raspberry Pi
   400
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAmVvqQ0ACgkQh9CWnEQH
 BwRkzRAAioWk537inVyfayyYXimkM+GdCkQ8iReieWPDtTJIqRp7OJunf/+mEciP
 r0fmCYmDTQjnHLmR0rZUKQxlLRyvHdW7ghsFyQGQVKfINc+/wfU4XzsbkxiEZUu4
 0vfn9D/m3NHJSooyJH2ec7JWQawwEj9LaCOVI3LlzRrChVeCluF/w9jhBL/PqpC0
 cLFZqr9Ym2olSets3gDgU3fkWBTklfcO4mYOTT3QvLAbgJ25lCJw0tyEnSelet9g
 35d74cKh9DOoEGTm4fc+BrDHSurclvRH24J2hbp/AxSe6JxLYuLaaiVM1aVSEJff
 PhfJfF/ByhvAS1Y9L+UZlmAbwQuzUPm//7NAtKkpORdkzprgkBeAUn2GawDLWdZY
 Dnm2twKtSaHSJ1kX9xjCju0bhikbMAN6L72ukfcWASWbWzlAmKhPA7QlFcGn4jip
 VjflqpKQoJGp5uc4bAb2G0bWlUs8eAvVgJk4lsyIdeZ+6Ft5rCliHRzprUBh3tj2
 xF4IjcgysuFU5Q68AHoQg5eA2ONiyI22o/4BxwgYE0+DDi4WVcuyXQNDC/QWeFWg
 o+uRjr04GSjpGa/4qrM3LqP/Hq6pTfGO7uKf5PMMA/jBVBqh0yg9Md3zEEocUf2t
 YTgtxbjchoHiPxtF69mfhbdXxIaJ0Vm7QruFXIXdFCRNOdzI91c=
 =Q9Li
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmVwlR0ACgkQYKtH/8kJ
 UidvvA//SW68rwNwprc35SJ5UBT5eh7GdjAr2W2Jam4oc4DgY9gzcwaTMDVhrw+4
 sQcz/9j1jquX1l0RREQas2F7YSZbo3TCtWHMpHQS4Tv29oWNPI4YaPS9vjvgndll
 CoZOT1zOaSzK9b7za/LLoYfspMb4fUqwX03vwZIVV4CYkr0shivrHvxvxNQuVzMH
 w4A54D3iJFkjYVp/OdfIDGSgShgX4umGb2vUYv1EykFxeyQ6w2rsuFbu55Gcq0Hy
 dBMiE62Cw+bKHjjbRmZRMX5v6AtWor4uaYnWxhAvg+YboLEVb6ZJOh4SZoZPUM15
 cXdCLVwiViBfsJIq/GYgY43HL2fTYk+PLlK+bGxeursiHDIwLBuRysrj6k2diW4j
 NST4H7J3bRfUzGcvM9SqZzm6/JPrnGBxc/FsQJH7e+mT5FUg474CAPVhUp3WmxJZ
 yplMq3Vc42CCJVsODf/W3VaQmUsY8RGQryZ48eHgJPAe8LIhDL0hc+Wssq/EotLV
 gdFXFnrgY/LGi6TtuznbaNK5vbt+YKa8Zc/9hR5yjVJUwUXqCRepeiyz/1Jvbl77
 IJuul1EYcRyfo30JgjF5CCrraZRiCpu4fjvxw5cae0Q/OLIEDXgRmFkQ13Uyf/YY
 VDeTvI3hI7dzyUs+4vnhgwSHV4uGjZWDI9qnyJKkltPzcVcIXhE=
 =v2s8
 -----END PGP SIGNATURE-----

Merge tag 'arm-soc/for-6.7/devicetree-fixes' of https://github.com/Broadcom/stblinux into arm/fixes

This pull request contains Broadcom ARM-based SoCs Device Tree fixes for
6.7, please pull the following:

- Stefan corrects the disabling of the activity LED for the Raspberry Pi
  400

* tag 'arm-soc/for-6.7/devicetree-fixes' of https://github.com/Broadcom/stblinux:
  ARM: dts: bcm2711-rpi-400: Fix delete-node of led_act

Link: https://lore.kernel.org/r/20231205225021.653045-1-florian.fainelli@broadcom.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-12-06 16:37:01 +01:00
Heiner Kallweit
fe2b122665 leds: trigger: netdev: fix RTNL handling to prevent potential deadlock
When working on LED support for r8169 I got the following lockdep
warning. Easiest way to prevent this scenario seems to be to take
the RTNL lock before the trigger_data lock in set_device_name().

======================================================
WARNING: possible circular locking dependency detected
6.7.0-rc2-next-20231124+ #2 Not tainted
------------------------------------------------------
bash/383 is trying to acquire lock:
ffff888103aa1c68 (&trigger_data->lock){+.+.}-{3:3}, at: netdev_trig_notify+0xec/0x190 [ledtrig_netdev]

but task is already holding lock:
ffffffff8cddf808 (rtnl_mutex){+.+.}-{3:3}, at: rtnl_lock+0x12/0x20

which lock already depends on the new lock.

the existing dependency chain (in reverse order) is:

-> #1 (rtnl_mutex){+.+.}-{3:3}:
       __mutex_lock+0x9b/0xb50
       mutex_lock_nested+0x16/0x20
       rtnl_lock+0x12/0x20
       set_device_name+0xa9/0x120 [ledtrig_netdev]
       netdev_trig_activate+0x1a1/0x230 [ledtrig_netdev]
       led_trigger_set+0x172/0x2c0
       led_trigger_write+0xf1/0x140
       sysfs_kf_bin_write+0x5d/0x80
       kernfs_fop_write_iter+0x15d/0x210
       vfs_write+0x1f0/0x510
       ksys_write+0x6c/0xf0
       __x64_sys_write+0x14/0x20
       do_syscall_64+0x3f/0xf0
       entry_SYSCALL_64_after_hwframe+0x6c/0x74

-> #0 (&trigger_data->lock){+.+.}-{3:3}:
       __lock_acquire+0x1459/0x25a0
       lock_acquire+0xc8/0x2d0
       __mutex_lock+0x9b/0xb50
       mutex_lock_nested+0x16/0x20
       netdev_trig_notify+0xec/0x190 [ledtrig_netdev]
       call_netdevice_register_net_notifiers+0x5a/0x100
       register_netdevice_notifier+0x85/0x120
       netdev_trig_activate+0x1d4/0x230 [ledtrig_netdev]
       led_trigger_set+0x172/0x2c0
       led_trigger_write+0xf1/0x140
       sysfs_kf_bin_write+0x5d/0x80
       kernfs_fop_write_iter+0x15d/0x210
       vfs_write+0x1f0/0x510
       ksys_write+0x6c/0xf0
       __x64_sys_write+0x14/0x20
       do_syscall_64+0x3f/0xf0
       entry_SYSCALL_64_after_hwframe+0x6c/0x74

other info that might help us debug this:

 Possible unsafe locking scenario:

       CPU0                    CPU1
       ----                    ----
  lock(rtnl_mutex);
                               lock(&trigger_data->lock);
                               lock(rtnl_mutex);
  lock(&trigger_data->lock);

 *** DEADLOCK ***

8 locks held by bash/383:
 #0: ffff888103ff33f0 (sb_writers#3){.+.+}-{0:0}, at: ksys_write+0x6c/0xf0
 #1: ffff888103aa1e88 (&of->mutex){+.+.}-{3:3}, at: kernfs_fop_write_iter+0x114/0x210
 #2: ffff8881036f1890 (kn->active#82){.+.+}-{0:0}, at: kernfs_fop_write_iter+0x11d/0x210
 #3: ffff888108e2c358 (&led_cdev->led_access){+.+.}-{3:3}, at: led_trigger_write+0x30/0x140
 #4: ffffffff8cdd9e10 (triggers_list_lock){++++}-{3:3}, at: led_trigger_write+0x75/0x140
 #5: ffff888108e2c270 (&led_cdev->trigger_lock){++++}-{3:3}, at: led_trigger_write+0xe3/0x140
 #6: ffffffff8cdde3d0 (pernet_ops_rwsem){++++}-{3:3}, at: register_netdevice_notifier+0x1c/0x120
 #7: ffffffff8cddf808 (rtnl_mutex){+.+.}-{3:3}, at: rtnl_lock+0x12/0x20

stack backtrace:
CPU: 0 PID: 383 Comm: bash Not tainted 6.7.0-rc2-next-20231124+ #2
Hardware name: Default string Default string/Default string, BIOS ADLN.M6.SODIMM.ZB.CY.015 08/08/2023
Call Trace:
 <TASK>
 dump_stack_lvl+0x5c/0xd0
 dump_stack+0x10/0x20
 print_circular_bug+0x2dd/0x410
 check_noncircular+0x131/0x150
 __lock_acquire+0x1459/0x25a0
 lock_acquire+0xc8/0x2d0
 ? netdev_trig_notify+0xec/0x190 [ledtrig_netdev]
 __mutex_lock+0x9b/0xb50
 ? netdev_trig_notify+0xec/0x190 [ledtrig_netdev]
 ? __this_cpu_preempt_check+0x13/0x20
 ? netdev_trig_notify+0xec/0x190 [ledtrig_netdev]
 ? __cancel_work_timer+0x11c/0x1b0
 ? __mutex_lock+0x123/0xb50
 mutex_lock_nested+0x16/0x20
 ? mutex_lock_nested+0x16/0x20
 netdev_trig_notify+0xec/0x190 [ledtrig_netdev]
 call_netdevice_register_net_notifiers+0x5a/0x100
 register_netdevice_notifier+0x85/0x120
 netdev_trig_activate+0x1d4/0x230 [ledtrig_netdev]
 led_trigger_set+0x172/0x2c0
 ? preempt_count_add+0x49/0xc0
 led_trigger_write+0xf1/0x140
 sysfs_kf_bin_write+0x5d/0x80
 kernfs_fop_write_iter+0x15d/0x210
 vfs_write+0x1f0/0x510
 ksys_write+0x6c/0xf0
 __x64_sys_write+0x14/0x20
 do_syscall_64+0x3f/0xf0
 entry_SYSCALL_64_after_hwframe+0x6c/0x74
RIP: 0033:0x7f269055d034
Code: c7 00 16 00 00 00 b8 ff ff ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 f3 0f 1e fa 80 3d 35 c3 0d 00 00 74 13 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 54 c3 0f 1f 00 48 83 ec 28 48 89 54 24 18 48
RSP: 002b:00007ffddb7ef748 EFLAGS: 00000202 ORIG_RAX: 0000000000000001
RAX: ffffffffffffffda RBX: 0000000000000007 RCX: 00007f269055d034
RDX: 0000000000000007 RSI: 000055bf5f4af3c0 RDI: 0000000000000001
RBP: 000055bf5f4af3c0 R08: 0000000000000073 R09: 0000000000000001
R10: 0000000000000000 R11: 0000000000000202 R12: 0000000000000007
R13: 00007f26906325c0 R14: 00007f269062ff20 R15: 0000000000000000
 </TASK>

Fixes: d5e01266e7 ("leds: trigger: netdev: add additional specific link speed mode")
Cc: stable@vger.kernel.org
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Acked-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/fb5c8294-2a10-4bf5-8f10-3d2b77d2757e@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2023-12-06 07:36:55 -08:00
Zenghui Yu
15bece7bec cpu/hotplug: Remove unused CPU hotplug states
There are unused hotplug states which either have never been used or the
removal of the usage did not remove the state constant.

Drop them to reduce the size of the cpuhp_hp_states array.

Signed-off-by: Zenghui Yu <yuzenghui@huawei.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20231124121615.1604-1-yuzenghui@huawei.com
2023-12-06 16:31:03 +01:00
Arnd Bergmann
2d8781ba59 Arm SCMI fixes for v6.7
A fix for possible truncation/overflow in the frequency computations
 as both the performance value and the multiplier are 32bit values.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEunHlEgbzHrJD3ZPhAEG6vDF+4pgFAmVtybAACgkQAEG6vDF+
 4pjohBAAoiSCkrvVfqOaEMakIzZ+xKf58u+xchVJMmFWhLDYmtRiF8FTDYYSORVv
 lW/Py9mzZWdeDX0wksiF1zl4JdnR7WuVNtEvBvs10U6KHCpnD273lsszdCam0TWD
 4XuszRgrfNtw2wdsApVJndOKwQ/+0yMLX2aYcbADi6Q1ubh7nRJoCK7wooGvgeRy
 q1zT6Uggp14auwOuJsr6eID1L2rBW/HLpVFKQX8bwlACOZFEPZ/8o+QvChmRNYl3
 Ph9P8a4ZrziM2HjnOoU/N+2pEHSFzT4VtXUj3CkTbFv5o8mCQHDLdLFJnoCTK7ZP
 50mVOgVCoTXYWvtMBlRmh4/KJrkUJGBl+eQQcwT1rJolNA1dFtlZqxNYDtPbx8Dn
 9fuVMcCmGln112ytqgoxj7ZPWxWt8ns4X7UWC4raRgC+D46A/de6c9XimH3lNWz4
 Kr/KuWObzWjcnIrZlFqndesTQwUYRSicsZwLaFPl6G3IvAcIyCB9DaFCsOeMNpAF
 kPDMHpz2KueOg1PUxElm1QEdban8CHiqX9E7Bvk5InAjN7wuaqXRl+AldW4LZ0pE
 MtwjJasW/sYZvUH7v6bdII8UlQd5LTI3xD/atiwXvieAkLfffv8jjXJc7oX+IleB
 rCNr8qKZ0odl81F8NlWcOX1YFZTscdNnwgOBTjzzcfjBegQlc74=
 =1+Km
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmVwknYACgkQYKtH/8kJ
 Uic/XxAAnfj8Qe+zBHz2KIpCYKSyNwVMiuQ4tn7Rh8nAKMeKI5gQ586jkMhw9q6P
 jZ4XdfQqPMcFITku9u4bx3JWo/EXzQNEAvnj7/CSlDoCVqnRqXE8UeHkb5RdbfQ0
 WzP1aaTFGnHDWTbKphAyGyChOubLDcVsQg9p4jm3JT8a/8cx80DQ/Gjzr7x6tsIu
 UURKLyHdvzEsUmpFk2Y22eBCG8rihjIqNLfF4TOu0MSV6324sd96bmGrqemdyIFG
 IqX4tUqViBmjpl2JD2zneQ1GgwLoZSrcEkH0xGwM4hprStqOxTydl3gCTcTnY2J8
 IBwediez9RDL+PaUm5FU15YWw8Yimii5wcbqeh8wK6nDA+5WslZOOymwl0QvkwWc
 Qe2Of30ZrlMJj5JHn4TW7pFNiMKc5oMTBSNHoZ+n+1Yk7qG2jlZgznUuyaadruJv
 989H6xhOMd44a4/RfNjWBilCoOTUVqlZUsoa+E3l0Zpf8KHVGrTEQkhHLkvfPkzs
 PGK4f+XJudgIe0sYr34AoSMml5qCfCfyF8ytjuVkrxZssHxDQRL/5hQlnrcwzlcf
 XNW+lWN/DwwyvSfxobhZYvUhFnzN8jBZKhErR1n7maiZgt3EOkQdkvFdzzm19AnR
 Gsv+oTsNRM/1ekFiTT6zw6okb78ZL/PltCWjuHCoyQWxIojuwPQ=
 =X/Fy
 -----END PGP SIGNATURE-----

Merge tag 'scmi-fixes-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into arm/fixes

Arm SCMI fixes for v6.7

A fix for possible truncation/overflow in the frequency computations
as both the performance value and the multiplier are 32bit values.

* tag 'scmi-fixes-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
  firmware: arm_scmi: Fix possible frequency truncation when using level indexing mode
  firmware: arm_scmi: Fix frequency truncation by promoting multiplier type

Link: https://lore.kernel.org/r/20231204134724.30465-1-sudeep.holla@arm.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-12-06 16:25:42 +01:00
Arnd Bergmann
437c99c256 RISC-V Devicetree fixes for v6.7-rc4
Two fixes, both rather minor. The first fixes some dtbs_check warnings
 introduced after an update to the bindings, that returns the
 architecture to being clean of dtbs_check issues. The second relocates
 a soc-specific property to the appropriate location in $soc.dtsi, and
 hopefully avoids the same mistake being copy-pasted into more
 devicetrees.
 
 Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQRh246EGq/8RLhDjO14tDGHoIJi0gUCZWh3cgAKCRB4tDGHoIJi
 0pCdAP9Bn7ldYL//Xa1jGsL8YWZljN6MqnMsQOe3me7+HJrgrAD/ct3bBSvUDItn
 ZZbPMDp4oqRAguY4OtV8asANs4Nz7wE=
 =oINe
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmVwkhgACgkQYKtH/8kJ
 UidP8g/8CyoDbUW8Y57N3CHkjH5MlkFWKMsLusftz/Pe05B5sXdfMa9NGrmxPeSD
 IDys1qJMGkbNBkcEc52k6XNtzYmzOoxEY/5i/84ECVIpRYp4NpznoUDITR6YPwWg
 Y6pU5oCX0mU5U+Dw/MgSaW9ak+0XBAfoVThNuZICEFgIq8PA0kzmLNV8Rx+OxDRU
 qcunsLmMU3ufwSoKetU3L5vBToPOADt84gazdjak3ET1LAlZPIqkUNEvx7E5tVp8
 D2esdPVpS013LUvEOjeUZzs+EAk+xrwrIaHP5Ea6CwgIZd9blrB4iuLAibRi4JbI
 LFkhaBkjiW+vqZVBjEfxtOHFyz1xFakWiFygG8CL+YxSpq0XwAJLPgabBxAnxOv7
 ENi5M5ddanFRCQ7GZ3ImZi6kpMAAF+NDVdrH8a7XRW9w4eG288WHQNWqpx8SSX9G
 mFXBOiHbP90Gll8o2XDHekHM/64tNB8/Yo3CuyPuNWN+CxDO0RMPAOJgN4LXXyQO
 rS6eAnwglwawGxlScaLcBxLinzZt4ukceRI1RLCLYeCGHiNeETwVwjD3jvJWb02W
 9zb8M3u3mynY3E+x5KRUMztsmAhknvojv1T9uM2jKy4DDuJh/FIaNMOMIvqhlrez
 g1MHf73jqUF20X7Eqf+YivucwCJUMySNfCXvQKFXQWNUxLjDs58=
 =Jvn8
 -----END PGP SIGNATURE-----

Merge tag 'riscv-dt-fixes-for-v6.7-rc4' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux into arm/fixes

RISC-V Devicetree fixes for v6.7-rc4

Two fixes, both rather minor. The first fixes some dtbs_check warnings
introduced after an update to the bindings, that returns the
architecture to being clean of dtbs_check issues. The second relocates
a soc-specific property to the appropriate location in $soc.dtsi, and
hopefully avoids the same mistake being copy-pasted into more
devicetrees.

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>

* tag 'riscv-dt-fixes-for-v6.7-rc4' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux:
  riscv: dts: microchip: move timebase-frequency to mpfs.dtsi
  riscv: dts: sophgo: remove address-cells from intc node

Link: https://lore.kernel.org/r/20231130-maternity-majestic-dd29f0170050@spud
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-12-06 16:24:08 +01:00
Arnd Bergmann
1133ae113d MediaTek ARM64 DeviceTree fixes for v6.7
Fixes for various MediaTek SoCs, including
 
 MT7986: - eMMC HS400 mode failures
         - Cooling trips for emergency system shutdown
         - BPI-R3 machine SFP power limit and active cooling
 
 MT8173: - EVB device tree unit_address_vs_reg warning
 
 MT8183: - unit_address_vs_reg and simple_bus_reg warnings
         - Kukui device tree nodes naming consistency and
           adhering to bindings
         - Jacuzzi device tree unnecessary cells removed as
           those were producing avoid_unnecessary_addr_size
 
 MT8186: - Power domains faults due to incorrect clocks
         - GPU speed bin nvmem cell name was wrong, producing
           issues with interpreting the speedbin with GPU OPPs
 
 MT8195: - Local Arbiter (and whole system) ability to suspend
         - Cherry device tree interrupts_property warning
 
 ...and another unit_address_vs_reg warning on MT7622.
 -----BEGIN PGP SIGNATURE-----
 
 iJ4EABYKAEYWIQQn3Xxr56ypAcSHzXSaNgTPrZeEeAUCZWcZhCgcYW5nZWxvZ2lv
 YWNjaGluby5kZWxyZWdub0Bjb2xsYWJvcmEuY29tAAoJEJo2BM+tl4R49tYBANX0
 WggACQ4isTc2G1GCfniB9V74PElrQ90WWK/+2hCGAQDbifsclG7CNBEa7gVICsPR
 +tcHAymKO/9ytwiAAwdUAA==
 =Z7D9
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmVwkd8ACgkQYKtH/8kJ
 UieCWBAAtWtGVXXCdfqo6op0wno6Ay3EH0rBkldXuh4bfZJvtds1vKHxELsfPzAs
 PDB8S57+dLYPZYAJUBLQcTZWz/WPjVR/lc2UyvTtDpGiDDrrIp3IvWN48OzN5WGH
 f82ycXLYS0y/i7JSU+26+gB2OoAKIXdhq7eKW0HJc6LF/IlevyDtQMlFy64TWSsM
 Vhvrvg38eLFqHXUjBy/o3UVXsEHkqo+2vwTETQcqaL7TPrpDlP72xhXvuQjemme+
 jiYjdjoiJzmGXo/iJljhF7sVENXNV/2aCLBNwzbZ+/yM6pGp82WU+GI+W7B0qNWm
 wC0YegjPMjTjZOfEYirxbP4n5eYCfr80u99JVcmB8RuPOMq4eMEnZIIfBbrYVmxU
 MnZTGej66TA6XEo7EX1pvrHHLJ1hFIiY9uQ/N+jLAdTEwa5mV9UTol/u4V6dA2m3
 ZLORepNT5UC8uX7xhnUBjixW5fN3yvofZHlxExXc/dozNJf3O3xIW1MwBbtyYY9M
 md4VICXbJDmWxh3BUMtTFPzIDeG5decfKcnI932j58dghK4O9DsG5slsTa8375wA
 +lcCb3SzpVYx4ABfnSBb51OMx7N7OHIrU6qUPob+LrzZhUBJLhyeFMLpxZt5h+JA
 2PyX88AZf9HR/UMzeDBz7z512ifbOGku88r+ZmZvNB+H2mL4I/Q=
 =Gh3C
 -----END PGP SIGNATURE-----

Merge tag 'mtk-dts64-fixes-for-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux into arm/fixes

MediaTek ARM64 DeviceTree fixes for v6.7

Fixes for various MediaTek SoCs, including

MT7986: - eMMC HS400 mode failures
        - Cooling trips for emergency system shutdown
        - BPI-R3 machine SFP power limit and active cooling

MT8173: - EVB device tree unit_address_vs_reg warning

MT8183: - unit_address_vs_reg and simple_bus_reg warnings
        - Kukui device tree nodes naming consistency and
          adhering to bindings
        - Jacuzzi device tree unnecessary cells removed as
          those were producing avoid_unnecessary_addr_size

MT8186: - Power domains faults due to incorrect clocks
        - GPU speed bin nvmem cell name was wrong, producing
          issues with interpreting the speedbin with GPU OPPs

MT8195: - Local Arbiter (and whole system) ability to suspend
        - Cherry device tree interrupts_property warning

...and another unit_address_vs_reg warning on MT7622.

* tag 'mtk-dts64-fixes-for-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux:
  arm64: dts: mediatek: cherry: Fix interrupt cells for MT6360 on I2C7
  arm64: dts: mediatek: mt8183-kukui-jacuzzi: fix dsi unnecessary cells properties
  arm64: dts: mediatek: mt7622: fix memory node warning check
  arm64: dts: mediatek: mt8186: fix clock names for power domains
  arm64: dts: mediatek: mt8186: Change gpu speedbin nvmem cell name
  arm64: dts: mt7986: change cooling trips
  arm64: dts: mt7986: define 3W max power to both SFP on BPI-R3
  arm64: dts: mt7986: fix emmc hs400 mode without uboot initialization
  arm64: dts: mt8183: kukui: Fix underscores in node names
  arm64: dts: mediatek: mt8183: Move thermal-zones to the root node
  arm64: dts: mediatek: mt8173-evb: Fix regulator-fixed node names
  arm64: dts: mediatek: mt8183-evb: Fix unit_address_vs_reg warning on ntc
  arm64: dts: mediatek: mt8183: Fix unit address for scp reserved memory
  arm64: dts: mediatek: mt8195: Fix PM suspend/resume with venc clocks

Link: https://lore.kernel.org/r/20231129113905.134732-1-angelogioacchino.delregno@collabora.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-12-06 16:23:11 +01:00
Dan Carpenter
28d3d06966
drm/bridge: nxp-ptn3460: simplify some error checking
The i2c_master_send/recv() functions return negative error codes or
they return "len" on success.  So the error handling here can be written
as just normal checks for "if (ret < 0) return ret;".  No need to
complicate things.

Btw, in this code the "len" parameter can never be zero, but even if
it were, then I feel like this would still be the best way to write it.

Fixes: 9144379928 ("drm/bridge: nxp-ptn3460: fix i2c_master_send() error checking")
Suggested-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Reviewed-by: Robert Foss <rfoss@kernel.org>
Signed-off-by: Robert Foss <rfoss@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/04242630-42d8-4920-8c67-24ac9db6b3c9@moroto.mountain
2023-12-06 16:20:23 +01:00
Lad Prabhakar
ed5b7cfd78
riscv: errata: andes: Probe for IOCP only once in boot stage
We need to probe for IOCP only once during boot stage, as we were probing
for IOCP for all the stages this caused the below issue during module-init
stage,

[9.019104] Unable to handle kernel paging request at virtual address ffffffff8100d3a0
[9.027153] Oops [#1]
[9.029421] Modules linked in: rcar_canfd renesas_usbhs i2c_riic can_dev spi_rspi i2c_core
[9.037686] CPU: 0 PID: 90 Comm: udevd Not tainted 6.7.0-rc1+ #57
[9.043756] Hardware name: Renesas SMARC EVK based on r9a07g043f01 (DT)
[9.050339] epc : riscv_noncoherent_supported+0x10/0x3e
[9.055558]  ra : andes_errata_patch_func+0x4a/0x52
[9.060418] epc : ffffffff8000d8c2 ra : ffffffff8000d95c sp : ffffffc8003abb00
[9.067607]  gp : ffffffff814e25a0 tp : ffffffd80361e540 t0 : 0000000000000000
[9.074795]  t1 : 000000000900031e t2 : 0000000000000001 s0 : ffffffc8003abb20
[9.081984]  s1 : ffffffff015b57c7 a0 : 0000000000000000 a1 : 0000000000000001
[9.089172]  a2 : 0000000000000000 a3 : 0000000000000000 a4 : ffffffff8100d8be
[9.096360]  a5 : 0000000000000001 a6 : 0000000000000001 a7 : 000000000900031e
[9.103548]  s2 : ffffffff015b57d7 s3 : 0000000000000001 s4 : 000000000000031e
[9.110736]  s5 : 8000000000008a45 s6 : 0000000000000500 s7 : 000000000000003f
[9.117924]  s8 : ffffffc8003abd48 s9 : ffffffff015b1140 s10: ffffffff8151a1b0
[9.125113]  s11: ffffffff015b1000 t3 : 0000000000000001 t4 : fefefefefefefeff
[9.132301]  t5 : ffffffff015b57c7 t6 : ffffffd8b63a6000
[9.137587] status: 0000000200000120 badaddr: ffffffff8100d3a0 cause: 000000000000000f
[9.145468] [<ffffffff8000d8c2>] riscv_noncoherent_supported+0x10/0x3e
[9.151972] [<ffffffff800027e8>] _apply_alternatives+0x84/0x86
[9.157784] [<ffffffff800029be>] apply_module_alternatives+0x10/0x1a
[9.164113] [<ffffffff80008fcc>] module_finalize+0x5e/0x7a
[9.169583] [<ffffffff80085cd6>] load_module+0xfd8/0x179c
[9.174965] [<ffffffff80086630>] init_module_from_file+0x76/0xaa
[9.180948] [<ffffffff800867f6>] __riscv_sys_finit_module+0x176/0x2a8
[9.187365] [<ffffffff80889862>] do_trap_ecall_u+0xbe/0x130
[9.192922] [<ffffffff808920bc>] ret_from_exception+0x0/0x64
[9.198573] Code: 0009 b7e9 6797 014d a783 85a7 c799 4785 0717 0100 (0123) aef7
[9.205994] ---[ end trace 0000000000000000 ]---

This is because we called riscv_noncoherent_supported() for all the stages
during IOCP probe. riscv_noncoherent_supported() function sets
noncoherent_supported variable to true which has an annotation set to
"__ro_after_init" due to which we were seeing the above splat. Fix this by
probing for IOCP only once in boot stage by having a boolean variable
"done" which will be set to true upon IOCP probe in errata_probe_iocp()
and we bail out early if "done" is set to true.

While at it make return type of errata_probe_iocp() to void as we were
not checking the return value in andes_errata_patch_func().

Fixes: e021ae7f51 ("riscv: errata: Add Andes alternative ports")
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Yu Chien Peter Lin <peterlin@andestech.com>
Link: https://lore.kernel.org/r/20231130212647.108746-1-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2023-12-06 07:18:58 -08:00
Konrad Dybcio
2eab57b131 interconnect: qcom: Add SM6115 interconnect provider driver
Add a driver for managing NoC providers on SM6115.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20231125-topic-6115icc-v3-2-bd8907b8cfd7@linaro.org
Signed-off-by: Georgi Djakov <djakov@kernel.org>
2023-12-06 17:16:15 +02:00
Konrad Dybcio
658902913c dt-bindings: interconnect: Add Qualcomm SM6115 NoC
Add bindings for Qualcomm SM6115 Network-On-Chip interconnect.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20231125-topic-6115icc-v3-1-bd8907b8cfd7@linaro.org
Signed-off-by: Georgi Djakov <djakov@kernel.org>
2023-12-06 17:16:07 +02:00
Arnd Bergmann
9c7f01d5f4 OP-TEE fix for supplicant based device enumeration
Adds a sysfs attribute for devices depending on supplicant services so
 that the user-space service can detect and detach those devices before
 closing the supplicant
 -----BEGIN PGP SIGNATURE-----
 
 iQJOBAABCgA4FiEEFV+gSSXZJY9ZyuB5LinzTIcAHJcFAmVTg+kaHGplbnMud2lr
 bGFuZGVyQGxpbmFyby5vcmcACgkQLinzTIcAHJdIexAAiMTpHHQvp0ac5N7w1fPk
 us7bW+HdZXyjDX+tXCPv2sFTRPCIWay1tCPE6BMPrZ2ADxPpHiXjp+gjAixtiaSL
 lym4CzUFfD+fgl1F61J8gAAP7TYcKRPaKx4Jt9rKuo2RsHiCrhY4T+2RH0VWisTB
 ppmrgIBnkzVYIJQ3lO4Ht4ONDMK3wrHZfiyRwBuIlGmq7mOffowJ6C74YcXCDVfg
 jEjnMOGsVdNEvUCjqzA4OltLXH4NnYY6EH9UwKfsIvBjaCMexX+ShZmZkqfu4l9f
 hud9yP7U5F1aBICRb0I8w929hIBTov6UNDTl74ic6YgxDFz6Y8OOZ21zytFBgQ99
 DOKQdZ8S5Hr5n1qCwZ//P2PBbLy2u/WivlO0GE1ymNjY+Vw1BfRK8hxpKD1gHaRi
 Zf0xG26CNh/yuR4WEUSDixTUHc//H5bh9/nPn2pqcqtOhGmCfTF8akeEMpDsOBYL
 L7fSmQ7eojePD88IOCCpW4bRCJyzOX4vftTFLpS0EOX05AyVUqglb/5FOU/vhy3y
 qIqHoNXm46tVjxiNUEBaQbG3cb/h0wdq/kr3RHnZwx7+8HPRR7zzQp6DxRVfSCua
 A1QLNxR2WbiPFYncmzwVOKCIo/klZlPFwuoi/3LLXQVh4GJqzo/ARAt0CCHpsDWN
 z6qRQuUrda8W/9MHj2uueKU=
 =O0av
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmVwkA4ACgkQYKtH/8kJ
 UidOExAAoHm6lwx12Qsc9ok0xNCbk0EmNDEuwkQki1cdrYrFyj5sMrOeRQAZ+9ig
 AszIaRWSnEE282pBUfed5tTfHYuumyZbZaqW5+4ZmWGewkkCgAW1mTGQyfuCDclc
 NqHSvDoYmLWThKqBn6SBG0z3NoavD2wP/sFmSPkyIa21krsCd54XsuAsZkM9PX8C
 K8Fjzx0H9wVYEYH+LjAV1c0cNRckhR+bbG42OYcoBxqKtU9WaCxxcW4YRJyL/wpe
 wxgYY8Obcs8nBC+tJzt5LtTYnXmRUNsbBqzeSgunjdC6kDw2JRHFvBWXnqz4GtvD
 2YBsA3zWNMnb7JZGfFPHxExi59JTDvtcMrTnxpWsytx8rmN7ZbcjI591KkiV6ZQ6
 y3Khj6sNqdocOrCKFlwpzJwR0DJRDcR4Vxe6qAztTuNEXEdDXXvAi7UtZ4IJqBD/
 Rblh02uorxeMQ3Y5sEcss2QNT6QvMuV2yimjTqAnHHkmbHeN80H/Npwk4auOnu49
 Ia7ZTUzIM8gfRwX1iVBo4+kMyP/RDcqkLySgJOJLv4t+e3dbaprpxbbfEsSNlJbG
 XZ6Vo8Zuc7md4pVB8soaXk+j0xrkzmVyZbzCRcoTIpJQB1sASmklnGmttJAZvQvk
 SOImuJ98QtOy5FitG7SqDv5czjFH539wcFCQ/DYflLBpiYgE78c=
 =dg7M
 -----END PGP SIGNATURE-----

Merge tag 'optee-supplicant-fix-for-v6.7' of git://git.linaro.org:/people/jens.wiklander/linux-tee into arm/fixes

OP-TEE fix for supplicant based device enumeration

Adds a sysfs attribute for devices depending on supplicant services so
that the user-space service can detect and detach those devices before
closing the supplicant

* tag 'optee-supplicant-fix-for-v6.7' of git://git.linaro.org:/people/jens.wiklander/linux-tee:
  tee: optee: Fix supplicant based device enumeration

Link: https://lore.kernel.org/r/20231114153113.GA1310615@rayden
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-12-06 16:15:26 +01:00
Samuel Holland
f40cab8e18
riscv: Fix SMP when shadow call stacks are enabled
This fixes two bugs in SCS initialization for secondary CPUs. First,
the SCS was not initialized at all in the spinwait boot path. Second,
the code for the SBI HSM path attempted to initialize the SCS before
enabling the MMU. However, that involves dereferencing the thread
pointer, which requires the MMU to be enabled.

Fix both issues by setting up the SCS in the common secondary entry
path, after enabling the MMU.

Fixes: d1584d791a ("riscv: Implement Shadow Call Stack")
Signed-off-by: Samuel Holland <samuel.holland@sifive.com>
Reviewed-by: Sami Tolvanen <samitolvanen@google.com>
Link: https://lore.kernel.org/r/20231121211958.3158576-1-samuel.holland@sifive.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2023-12-06 07:15:19 -08:00
Joao Paulo Goncalves
fcb335934c arm64: dts: ti: verdin-am62: Improve spi1 chip-select pinctrl
Verdin SPI_1 interface has a dedicated hardware controlled chip select
that is currently configured in the same pinctrl group as MISO/MOSI/CLK,
however it is possible that it can be used only as a standard GPIO be it
a chip select or not.

To maximize flexibility and avoid duplication in the carrier board dts
files move the SPI_1 CS in a dedicated pinctrl and also adds an
additional pinctrl to simplify using SPI_1 CS as a GPIO.

Signed-off-by: Joao Paulo Goncalves <joao.goncalves@toradex.com>
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Link: https://lore.kernel.org/r/20231205184605.35225-2-francesco@dolcini.it
Signed-off-by: Nishanth Menon <nm@ti.com>
2023-12-06 09:06:06 -06:00
Garrett Giordano
fecdf6de7e arm64: dts: ti: k3-am625-phyboard-lyra-rdk: Remove HDMI Reset Line Name
The GPIO Expander has a line name defined as GPIO0_HDMI_RST. This line
is no longer associated with the HDMI Reset so we removed it.

Signed-off-by: Garrett Giordano <ggiordano@phytec.com>
Reviewed-by: Wadim Egorov <w.egorov@phytec.de>
Link: https://lore.kernel.org/r/20231204222811.2344460-3-ggiordano@phytec.com
Signed-off-by: Nishanth Menon <nm@ti.com>
2023-12-06 09:02:35 -06:00
Garrett Giordano
bac4417103 arm64: dts: ti: k3-am625-phyboard-lyra-rdk: Add HDMI support
The DSS outputs DPI signals via its second video port (VP2). The DPI
output from DSS is 24 bits (RGB888) and is forwarded to an HDMI
transmitter (SIL9022) on the board.

Add pinmux for DSS DPI output and HDMI Interrupt.

Add DT nodes for SIL9022 HDMI transmitter (TX), and the HDMI connector
on the phyBOARD-Lyra.

Additionally, connect the output of DSS (VP2) with input of the HDMI TX,
and the output of HDMI TX to the input of the HDMI connector.

Signed-off-by: Garrett Giordano <ggiordano@phytec.com>
Reviewed-by: Wadim Egorov <w.egorov@phytec.de>
Link: https://lore.kernel.org/r/20231204222811.2344460-2-ggiordano@phytec.com
Signed-off-by: Nishanth Menon <nm@ti.com>
2023-12-06 09:02:35 -06:00
Garrett Giordano
9c316d58c2 arm64: dts: ti: k3-am625-phyboard-lyra-rdk: Lower I2C1 frequency
The gpio-expander on i2c-1 has a maximum frequency of 100kHz. Update our
main_i2c1 frequency to allow the nxp,pcf8574 gpio-expander to function
properly.

Signed-off-by: Garrett Giordano <ggiordano@phytec.com>
Reviewed-by: Wadim Egorov <w.egorov@phytec.de>
Link: https://lore.kernel.org/r/20231204222811.2344460-1-ggiordano@phytec.com
Signed-off-by: Nishanth Menon <nm@ti.com>
2023-12-06 09:02:35 -06:00
Garrett Giordano
5709a6809a arm64: dts: ti: phycore-am64: Add R5F DMA Region and Mailboxes
Communication between the R5F subsystem and Linux takes place using DMA
memory regions and mailboxes. Here we add DT nodes for the memory
regions and mailboxes to facilitate communication between the R5
clusters and Linux as remoteproc will fail to start if no memory
regions or mailboxes are provided.

Fixes: c48ac0efe6 ("arm64: dts: ti: Add support for phyBOARD-Electra-AM642")
Signed-off-by: Garrett Giordano <ggiordano@phytec.com>
Reviewed-by: Wadim Egorov <w.egorov@phytec.de>
Link: https://lore.kernel.org/r/20231204212304.1736306-1-ggiordano@phytec.com
Signed-off-by: Nishanth Menon <nm@ti.com>
2023-12-06 09:01:06 -06:00
Bjorn Andersson
9085b23b66 interconnect: qcom: icc-rpm: Fix peak rate calculation
Per the commit message of commit 'dd014803f2 ("interconnect: qcom:
icc-rpm: Add AB/IB calculations coefficients")', the peak rate should be
100/ib_percent. But, in what looks like a typical typo, the numerator
value is discarded in the calculation.

Update the implementation to match the described intention.

Fixes: dd014803f2 ("interconnect: qcom: icc-rpm: Add AB/IB calculations coefficients")
Cc: stable@vger.kernel.org
Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20231205-qcom_icc_calc_rate-typo-v1-1-9d4378dcf53e@quicinc.com
Signed-off-by: Georgi Djakov <djakov@kernel.org>
2023-12-06 17:00:42 +02:00
Neha Malcom Francis
3ba080bf46 soc: ti: k3-socinfo: Revamp driver to accommodate different rev structs
k3-socinfo.c driver assumes silicon revisions for every platform are
incremental and one-to-one, corresponding to JTAG_ID's variant field:
1.0, 2.0 etc. This assumption is wrong for SoCs such as J721E, where the
variant field to revision mapping is 1.0, 1.1. Further, there are SoCs
such as AM65x where the sub-variant version requires custom decoding of
other registers.

Address this by using conditional handling per JTAG ID that requires an
exception with J721E as the first example. To facilitate this
conversion, use macros to identify the JTAG_ID part number and map them
to predefined string array.

Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
Co-developed-by: Thejasvi Konduru <t-konduru@ti.com>
Signed-off-by: Thejasvi Konduru <t-konduru@ti.com>
Link: https://lore.kernel.org/r/20231016101608.993921-4-n-francis@ti.com
Signed-off-by: Nishanth Menon <nm@ti.com>
2023-12-06 08:58:08 -06:00
Rob Herring
96ba4a47d1
dt-bindings: perf: riscv,pmu: drop unneeded quotes
Drop unneeded quotes over simple string values to fix a soon to be
enabled yamllint warning:

  [error] string value is redundantly quoted with any quotes (quoted-strings)

Signed-off-by: Rob Herring <robh@kernel.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20231122224414.2809184-1-robh@kernel.org
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2023-12-06 06:55:19 -08:00
Konstantin Komarov
652483bfbc
fs/ntfs3: Fix c/mtime typo
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2023-12-06 17:46:16 +03:00
Konstantin Komarov
aaab47f204
fs/ntfs3: Add NULL ptr dereference checking at the end of attr_allocate_frame()
It is preferable to exit through the out: label because
internal debugging functions are located there.

Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2023-12-06 17:46:16 +03:00
Konstantin Komarov
d6ca2d2539
fs/ntfs3: Add and fix comments
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2023-12-06 17:46:15 +03:00
Konstantin Komarov
97ec56d390
fs/ntfs3: ntfs3_forced_shutdown use int instead of bool
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2023-12-06 17:46:14 +03:00
Konstantin Komarov
6c3684e703
fs/ntfs3: Implement super_operations::shutdown
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2023-12-06 17:46:14 +03:00
Konstantin Komarov
e50f9560b8
fs/ntfs3: Drop suid and sgid bits as a part of fpunch
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2023-12-06 17:46:13 +03:00
Konstantin Komarov
4dea9cd522
fs/ntfs3: Add file_modified
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2023-12-06 17:46:12 +03:00
Konstantin Komarov
a40b73f608
fs/ntfs3: Correct use bh_read
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2023-12-06 17:46:11 +03:00
Konstantin Komarov
d155617006
fs/ntfs3: Fix detected field-spanning write (size 8) of single field "le->name"
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2023-12-06 17:46:11 +03:00
Konstantin Komarov
a8b0c9fc3a
fs/ntfs3: Fix multithreaded stress test
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2023-12-06 17:46:10 +03:00
Konstantin Komarov
865e7a7700
fs/ntfs3: Reduce stack usage
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2023-12-06 17:46:09 +03:00
Konstantin Komarov
85ba2a75fa
fs/ntfs3: Print warning while fixing hard links count
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2023-12-06 17:46:09 +03:00
Konstantin Komarov
1918c10e13
fs/ntfs3: Correct hard links updating when dealing with DOS names
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2023-12-06 17:46:08 +03:00
Konstantin Komarov
6a799c928b
fs/ntfs3: Improve ntfs_dir_count
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2023-12-06 17:46:07 +03:00
Konstantin Komarov
22457c047e
fs/ntfs3: Modified fix directory element type detection
Unfortunately reparse attribute is used for many purposes (several dozens).
It is not possible here to know is this name symlink or not.
To get exactly the type of name we should to open inode (read mft).
getattr for opened file (fstat) correctly returns symlink.

Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2023-12-06 17:46:07 +03:00
Konstantin Komarov
c39de95128
fs/ntfs3: Improve alternative boot processing
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
2023-12-06 17:46:06 +03:00
Tim Bosse
33038efb64 ALSA: hda/realtek: add new Framework laptop to quirks
The Framework Laptop 13 (AMD Ryzen 7040Series) has an ALC295 with
a disconnected or faulty headset mic presence detect similar to the
previous models.  It works with the same quirk chain as
309d7363ca.  This model has a VID:PID
of f111:0006.

Signed-off-by: Tim Bosse <flinn@timbos.se>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20231206142629.388615-1-flinn@timbos.se
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2023-12-06 15:31:03 +01:00
David Lechner
07d33c2810
spi: axi-spi-engine: add watchdog timer
If there is an issue with the AXI SPI Engine hardware a scheduled
transfer might never be completed and spi_sync() will block forever.
This due to the uninterruptible wait for completion waiting for the
spi_finalize_current_message() that never comes.

Add a watchdog timer that will abort a transfer 5 seconds after it has
been started. This will potentially leave the hardware in a broken state
but it allows software to recover and allow to better diagnose the
underlying issue.

Co-developed-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: David Lechner <dlechner@baylibre.com>
Acked-by: Michael Hennerich <michael.hennerich@analog.com>
Acked-by: Nuno Sa <nuno.sa@analog.com>
Link: https://lore.kernel.org/r/20231204-axi-spi-engine-series-2-v1-9-063672323fce@baylibre.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-06 14:19:36 +00:00
David Lechner
0db60d821e
spi: axi-spi-engine: remove delay from CS assertion
Now that the AXI SPI Engine driver has support for the various CS delays
requested through struct spi_message, we don't need to add a separate
delay to the CS assertion instruction. Otherwise, we end up with longer
than requested delays.

Signed-off-by: David Lechner <dlechner@baylibre.com>
Acked-by: Michael Hennerich <michael.hennerich@analog.com>
Acked-by: Nuno Sa <nuno.sa@analog.com>
Link: https://lore.kernel.org/r/20231204-axi-spi-engine-series-2-v1-8-063672323fce@baylibre.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-06 14:19:36 +00:00
David Lechner
3106edac59
spi: axi-spi-engine: restore clkdiv at end of message
This modifies the ADI AXI SPI Engine driver to restore the clkdiv
configuration register at the end of a SPI message. Having the clkdiv in
a known state is needed to be able to add a new command in the future
that only performs a delay without any SPI transfers. Furthermore having
that state be the smallest possible divider will allow these delays to
have the highest possible precision.

Changing the initial value of clk_div from -1 to 1 is now possible
because we know the function will always be called with a known clkdiv
config register state. Making this change will also have the effect of
not emitting a clkdiv configuration register instruction in cases where
the maximum sclk rate is used. Having one less instruction to process
reduces delays on the bus which will be beneficial when we implement
offload support to enable reading data from devices at very high rates.

Signed-off-by: David Lechner <dlechner@baylibre.com>
Acked-by: Michael Hennerich <michael.hennerich@analog.com>
Acked-by: Nuno Sa <nuno.sa@analog.com>
Link: https://lore.kernel.org/r/20231204-axi-spi-engine-series-2-v1-7-063672323fce@baylibre.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-06 14:19:35 +00:00
David Lechner
125a839099
spi: axi-spi-engine: implement xfer->cs_change_delay
This adds handling of xfer->cs_change_delay to the AXI SPI Engine
driver.

Signed-off-by: David Lechner <dlechner@baylibre.com>
Acked-by: Michael Hennerich <michael.hennerich@analog.com>
Acked-by: Nuno Sa <nuno.sa@analog.com>
Link: https://lore.kernel.org/r/20231204-axi-spi-engine-series-2-v1-6-063672323fce@baylibre.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-06 14:19:34 +00:00
David Lechner
e006c181dd
spi: axi-spi-engine: remove xfer arg from spi_engine_gen_sleep()
This replaces the xfer parameter of spi_engine_gen_sleep() in the AXI
SPI Engine driver with parameters for the delay in nanoseconds and the
SPI SCLK rate. This will allow this function to be used by callers in
the future that do not have a spi_transfer struct.

Signed-off-by: David Lechner <dlechner@baylibre.com>
Acked-by: Michael Hennerich <michael.hennerich@analog.com>
Acked-by: Nuno Sa <nuno.sa@analog.com>
Link: https://lore.kernel.org/r/20231204-axi-spi-engine-series-2-v1-5-063672323fce@baylibre.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-06 14:19:33 +00:00
David Lechner
be9070bcf6
spi: axi-spi-engine: fix sleep ticks calculation
This fixes the sleep ticks calculation when generating sleep
instructions in the AXI SPI Engine driver. The previous calculation
was ignoring delays less than one microsecond and missed a microsecond
to second conversion factor.

This fixes the first issue by not rounding to microseconds. Now that
xfer->effective_speed_hz is guaranteed to be set correctly, we can use
that to simplify the calculation. This new calculation replaces the old
incorrect math.

Also add unit suffix to the delay variable for clarity while we are
touching this.

Signed-off-by: David Lechner <dlechner@baylibre.com>
Acked-by: Michael Hennerich <michael.hennerich@analog.com>
Acked-by: Nuno Sa <nuno.sa@analog.com>
Link: https://lore.kernel.org/r/20231204-axi-spi-engine-series-2-v1-4-063672323fce@baylibre.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-06 14:19:32 +00:00
David Lechner
1fc8dc5721
spi: axi-spi-engine: remove spi_engine_get_clk_div()
Now that host->max_speed_hz and xfer->effective_speed_hz are properly
set, we can use them instead of having to do more complex calculations
to get the clock divider for each transfer.

This removes the spi_engine_get_clk_div() function and replaces it with
just dividing the two clock rates. Since the hardware register value is
the divider minus one, we need to subtract one. Subtracting one was
previously done in the spi_engine_get_clk_div() function.

Signed-off-by: David Lechner <dlechner@baylibre.com>
Acked-by: Michael Hennerich <michael.hennerich@analog.com>
Acked-by: Nuno Sa <nuno.sa@analog.com>
Link: https://lore.kernel.org/r/20231204-axi-spi-engine-series-2-v1-3-063672323fce@baylibre.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-06 14:19:31 +00:00
David Lechner
9d023ecc31
spi: axi-spi-engine: populate xfer->effective_speed_hz
This adds a new spi_engine_precompile_message() function to the ADI AXI
SPI Engine driver to populate the xfer->effective_speed_hz field since
the SPI core doesn't/can't do this for us.

This driver is already using spi_delay_to_ns() which depends on
effective_speed_hz to get an accurate value in some cases.
Having an effective_speed_hz value can also be used in future changes
to simplify other code.

Signed-off-by: David Lechner <dlechner@baylibre.com>
Acked-by: Michael Hennerich <michael.hennerich@analog.com>
Acked-by: Nuno Sa <nuno.sa@analog.com>
Link: https://lore.kernel.org/r/20231204-axi-spi-engine-series-2-v1-2-063672323fce@baylibre.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-06 14:19:30 +00:00
David Lechner
2e0d75f8dd
spi: axi-spi-engine: return void from spi_engine_compile_message()
In the AXI SPI Engine driver, the spi_engine_compile_message() function
does not return any error and none of the callers check the return
value. So we can change the return type to void and drop the return 0.

Signed-off-by: David Lechner <dlechner@baylibre.com>
Acked-by: Michael Hennerich <michael.hennerich@analog.com>
Acked-by: Nuno Sa <nuno.sa@analog.com>
Link: https://lore.kernel.org/r/20231204-axi-spi-engine-series-2-v1-1-063672323fce@baylibre.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-06 14:19:29 +00:00
Clément Léger
22e0eb0483
riscv: fix misaligned access handling of C.SWSP and C.SDSP
This is a backport of a fix that was done in OpenSBI: ec0559eb315b
("lib: sbi_misaligned_ldst: Fix handling of C.SWSP and C.SDSP").

Unlike C.LWSP/C.LDSP, these encodings can be used with the zero
register, so checking that the rs2 field is non-zero is unnecessary.

Additionally, the previous check was incorrect since it was checking
the immediate field of the instruction instead of the rs2 field.

Fixes: 956d705dd2 ("riscv: Unaligned load/store handling for M_MODE")
Signed-off-by: Clément Léger <cleger@rivosinc.com>
Link: https://lore.kernel.org/r/20231103090223.702340-1-cleger@rivosinc.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2023-12-06 06:18:02 -08:00
Takashi Iwai
fbbc69d2bb ASoC: Fixes for v6.7
A crop of fixes for v6.7, one core fix for a merge issue and a bunch of
 driver specific fixes and new IDs, mostly for x86 platforms.
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAmVweTwACgkQJNaLcl1U
 h9BJMgf8CxgAoZ0BVu6Jdzi/ZTL6030unqDcCjI4gNehXa9dDCpxvbAEItNOi6Ta
 OBQrXGLgf4esYw2jOjs0yO4SGIW3Wtz3EVyWL66wAZhBPzowxXSlDHQC73sgB96d
 5zuXXk3juWnr4zn+c/aFT5Q0kNlrcXN20mu2aBPJV4+8lcvEIC15WHQu0fFQ7mHJ
 mBOPpWpVypihb5Si2M0e0/5UepotWK7fv5U23dT7wbJfvGWoDDRYsnx0Ipw2yYBt
 gbnOtWlpAkxZo50BdpWrW5QsKx6KFFeYtldRd6gKfXkPefawCk+JGbzLckECA0E7
 v9qBHoYmubA/jLPYqou4XTH4S4sITg==
 =AlC1
 -----END PGP SIGNATURE-----

Merge tag 'asoc-fix-v6.7-rc4' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus

ASoC: Fixes for v6.7

A crop of fixes for v6.7, one core fix for a merge issue and a bunch of
driver specific fixes and new IDs, mostly for x86 platforms.
2023-12-06 14:56:00 +01:00
Konrad Dybcio
c0a2755ace dt-bindings: interrupt-controller: Allow #power-domain-cells
MPM provides a single genpd. Allow #power-domain-cells = <0>.

Fixes: 54fc9851c0 ("dt-bindings: interrupt-controller: Add Qualcomm MPM support")
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20231129-topic-mpmbindingspd-v2-1-acbe909ceee1@linaro.org
Signed-off-by: Rob Herring <robh@kernel.org>
2023-12-06 07:42:43 -06:00
Andrew Jones
777c0d761b
RISC-V: hwprobe: Always use u64 for extension bits
Extensions are getting added quickly and their hwprobe bits will soon
exceed 31 (which pair values accommodate, since they're of type u64).
However, in one tree, where a bunch of extensions got merged prior to
zicboz, zicboz already got pushed to bit 32. Pushing it exposed a
32-bit compilation bug, since unsigned long was used instead of u64.

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202310311801.hxduISrr-lkp@intel.com/
Fixes: 9c7646d5ff ("RISC-V: hwprobe: Expose Zicboz extension and its block size")
Signed-off-by: Andrew Jones <ajones@ventanamicro.com>
Link: https://lore.kernel.org/r/20231101141908.192198-2-ajones@ventanamicro.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2023-12-06 05:28:08 -08:00