Latest AMD SoCs has VPE (Video Processing Engine) IP block and the
statistics related to this IP can be obtained as a part of metrics table
information that the PMFW propogates. Add this support for 1Ah family
series.
Signed-off-by: Sanket Goswami <Sanket.Goswami@amd.com>
Signed-off-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Link: https://lore.kernel.org/r/20231228102104.1785383-3-Shyam-sundar.S-k@amd.com
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
To initiate the HW deep state transistion the OS_HINT command has to be
sent the PMFW. Add this support to the platforms that has AMDI000A
support.
Signed-off-by: Sanket Goswami <Sanket.Goswami@amd.com>
Signed-off-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Link: https://lore.kernel.org/r/20231228102104.1785383-2-Shyam-sundar.S-k@amd.com
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
dev->gso_partial_features is read from tx fast path for GSO packets.
Move it to appropriate section to avoid a cache line miss.
Fixes: 43a71cd66b ("net-device: reorganize net_device fast path variables")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Coco Li <lixiaoyan@google.com>
Cc: David Ahern <dsahern@kernel.org>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
There is no need to have an intermediate functions as DEFINE_RES_*()
macros are represented by compound literals. Just use them in place.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Vadim Fedorenko <vadim.fedorenko@linux.dev>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Return a status code without storing it in an intermediate variable.
Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Link: https://lore.kernel.org/r/0d0c4876-37d7-4bee-912e-56324495454f@web.de
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
The kfree() function was called in one case by
the apmf_sbios_heartbeat_notify() function during error handling
even if the passed variable contained a null pointer.
This issue was detected by using the Coccinelle software.
* Thus return directly after a call of the function “apmf_if_call” failed
at the beginning.
* Delete the label “out” which became unnecessary with this refactoring.
Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Link: https://lore.kernel.org/r/362ee824-fc53-4e19-9529-8b621657635b@web.de
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Remove the "private:" comment to prevent the kernel-doc warning:
include/linux/wmi.h:27: warning: Excess struct member 'setable' description in 'wmi_device'
Either a struct member is documented (via kernel-doc) or it's private,
but not both.
Fixes: b4cc979588 ("platform/x86: wmi: Add kernel doc comments")
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Cc: Armin Wolf <W_Armin@gmx.de>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Cc: platform-driver-x86@vger.kernel.org
Reviewed-by: Armin Wolf <W_Armin@gmx.de>
Link: https://lore.kernel.org/r/20231223194321.23084-1-rdunlap@infradead.org
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Add missing extern for tgl_h_reg_map. Fixes sparse warning:
drivers/platform/x86/intel/pmc/tgl.c:213:26: warning: symbol 'tgl_h_reg_map' was not declared. Should it be static?
Fixes: 544f7b7f65 ("platform/x86/intel/pmc: Add regmap for Tiger Lake H PCH")
Signed-off-by: David E. Box <david.e.box@linux.intel.com>
Link: https://lore.kernel.org/r/20231223032548.1680738-9-david.e.box@linux.intel.com
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Add the GBE LTR ignore suspend time fix for Lunar Lake.
Fixes: 119652b855e6 ("platform/x86/intel/pmc: Add Lunar Lake M support to intel_pmc_core driver")
Signed-off-by: David E. Box <david.e.box@linux.intel.com>
Link: https://lore.kernel.org/r/20231223032548.1680738-8-david.e.box@linux.intel.com
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Add the GBE LTR ignore suspend time fix for Arrow Lake.
Fixes: f34dcf397286 ("platform/x86/intel/pmc: Add Arrow Lake S support to intel_pmc_core driver")
Signed-off-by: David E. Box <david.e.box@linux.intel.com>
Link: https://lore.kernel.org/r/20231223032548.1680738-7-david.e.box@linux.intel.com
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Fixes:
- Intel PMC GBE LTR regression
- P2SB / PCI deadlock fix
The following is an automated shortlog grouped by driver:
intel/pmc:
- Add suspend callback
- Allow reenabling LTRs
- Move GBE LTR ignore to suspend callback
p2sb:
- Allow p2sb_bar() calls during PCI device probe
-----BEGIN PGP SIGNATURE-----
iHUEABYIAB0WIQSCSUwRdwTNL2MhaBlZrE9hU+XOMQUCZY7u1gAKCRBZrE9hU+XO
MecEAP0eeRD/I4O3LoHgrifn0qoUgTO6SgmbZMscUTjesPsRbwD/YL2QP6LZ9qD5
8rF19nUifgLwFdj74WmcltjMPYJbDQo=
=oSp6
-----END PGP SIGNATURE-----
Merge tag 'platform-drivers-x86-v6.7-6' into pdx86/for-next
Merge the 'platform-drivers-x86-v6.7-6' fixes into pdx86/for-next
so that the "Intel PMC GBE LTR regression" fixes can also be
applied to the new Arrow Lake and Lunar Lake platform support
code in pdx86/for-next .
Bubble up any error to the caller.
Signed-off-by: Simon Ser <contact@emersion.fr>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Kees Cook <keescook@chromium.org>
Cc: Dave Stevenson <dave.stevenson@raspberrypi.com>
Reviewed-by: Maíra Canal <mcanal@igalia.com>
Signed-off-by: Maxime Ripard <mripard@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20231216141518.242811-1-contact@emersion.fr
Correct all kernel-doc notation on pvr_device.h so that there are no
kernel-doc warnings remaining.
pvr_device.h:292: warning: Excess struct member 'active' description in 'pvr_device'
pvr_device.h:292: warning: Excess struct member 'idle' description in 'pvr_device'
pvr_device.h:292: warning: Excess struct member 'lock' description in 'pvr_device'
pvr_device.h:292: warning: Excess struct member 'work' description in 'pvr_device'
pvr_device.h:292: warning: Excess struct member 'old_kccb_cmds_executed' description in 'pvr_device'
pvr_device.h:292: warning: Excess struct member 'kccb_stall_count' description in 'pvr_device'
pvr_device.h:292: warning: Excess struct member 'ccb' description in 'pvr_device'
pvr_device.h:292: warning: Excess struct member 'rtn_q' description in 'pvr_device'
pvr_device.h:292: warning: Excess struct member 'rtn_obj' description in 'pvr_device'
pvr_device.h:292: warning: Excess struct member 'rtn' description in 'pvr_device'
pvr_device.h:292: warning: Excess struct member 'slot_count' description in 'pvr_device'
pvr_device.h:292: warning: Excess struct member 'reserved_count' description in 'pvr_device'
pvr_device.h:292: warning: Excess struct member 'waiters' description in 'pvr_device'
pvr_device.h:292: warning: Excess struct member 'fence_ctx' description in 'pvr_device'
pvr_device.h:292: warning: Excess struct member 'id' description in 'pvr_device'
pvr_device.h:292: warning: Excess struct member 'seqno' description in 'pvr_device'
pvr_device.h:292: warning: Excess struct member 'lock' description in 'pvr_device'
pvr_device.h:292: warning: Excess struct member 'active' description in 'pvr_device'
pvr_device.h:292: warning: Excess struct member 'idle' description in 'pvr_device'
pvr_device.h:292: warning: Excess struct member 'lock' description in 'pvr_device'
pvr_device.h:292: warning: Excess struct member 'work' description in 'pvr_device'
pvr_device.h:292: warning: Excess struct member 'old_kccb_cmds_executed' description in 'pvr_device'
pvr_device.h:292: warning: Excess struct member 'kccb_stall_count' description in 'pvr_device'
pvr_device.h:292: warning: Excess struct member 'ccb' description in 'pvr_device'
pvr_device.h:292: warning: Excess struct member 'rtn_q' description in 'pvr_device'
pvr_device.h:292: warning: Excess struct member 'rtn_obj' description in 'pvr_device'
pvr_device.h:292: warning: Excess struct member 'rtn' description in 'pvr_device'
pvr_device.h:292: warning: Excess struct member 'slot_count' description in 'pvr_device'
pvr_device.h:292: warning: Excess struct member 'reserved_count' description in 'pvr_device'
pvr_device.h:292: warning: Excess struct member 'waiters' description in 'pvr_device'
pvr_device.h:292: warning: Excess struct member 'fence_ctx' description in 'pvr_device'
pvr_device.h:292: warning: Excess struct member 'id' description in 'pvr_device'
pvr_device.h:292: warning: Excess struct member 'seqno' description in 'pvr_device'
pvr_device.h:292: warning: Excess struct member 'lock' description in 'pvr_device'
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Cc: Frank Binns <frank.binns@imgtec.com>
Cc: Donald Robson <donald.robson@imgtec.com>
Cc: Matt Coster <matt.coster@imgtec.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: David Airlie <airlied@gmail.com>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: dri-devel@lists.freedesktop.org
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Vegard Nossum <vegard.nossum@oracle.com>
Signed-off-by: Maxime Ripard <mripard@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20231231054910.31805-1-rdunlap@infradead.org
Update kernel-doc comments in <drm/drm_gpuvm.h> to correct all
kernel-doc warnings:
drm_gpuvm.h:148: warning: Excess struct member 'addr' description in 'drm_gpuva'
drm_gpuvm.h:148: warning: Excess struct member 'offset' description in 'drm_gpuva'
drm_gpuvm.h:148: warning: Excess struct member 'obj' description in 'drm_gpuva'
drm_gpuvm.h:148: warning: Excess struct member 'entry' description in 'drm_gpuva'
drm_gpuvm.h:148: warning: Excess struct member '__subtree_last' description in 'drm_gpuva'
drm_gpuvm.h:192: warning: No description found for return value of 'drm_gpuva_invalidated'
drm_gpuvm.h:331: warning: Excess struct member 'tree' description in 'drm_gpuvm'
drm_gpuvm.h:331: warning: Excess struct member 'list' description in 'drm_gpuvm'
drm_gpuvm.h:331: warning: Excess struct member 'list' description in 'drm_gpuvm'
drm_gpuvm.h:331: warning: Excess struct member 'local_list' description in 'drm_gpuvm'
drm_gpuvm.h:331: warning: Excess struct member 'lock' description in 'drm_gpuvm'
drm_gpuvm.h:331: warning: Excess struct member 'list' description in 'drm_gpuvm'
drm_gpuvm.h:331: warning: Excess struct member 'local_list' description in 'drm_gpuvm'
drm_gpuvm.h:331: warning: Excess struct member 'lock' description in 'drm_gpuvm'
drm_gpuvm.h:352: warning: No description found for return value of 'drm_gpuvm_get'
drm_gpuvm.h:545: warning: Excess struct member 'fn' description in 'drm_gpuvm_exec'
drm_gpuvm.h:545: warning: Excess struct member 'priv' description in 'drm_gpuvm_exec'
drm_gpuvm.h:597: warning: missing initial short description on line:
* drm_gpuvm_exec_resv_add_fence()
drm_gpuvm.h:616: warning: missing initial short description on line:
* drm_gpuvm_exec_validate()
drm_gpuvm.h:623: warning: No description found for return value of 'drm_gpuvm_exec_validate'
drm_gpuvm.h:698: warning: Excess struct member 'gpuva' description in 'drm_gpuvm_bo'
drm_gpuvm.h:698: warning: Excess struct member 'entry' description in 'drm_gpuvm_bo'
drm_gpuvm.h:698: warning: Excess struct member 'gem' description in 'drm_gpuvm_bo'
drm_gpuvm.h:698: warning: Excess struct member 'evict' description in 'drm_gpuvm_bo'
drm_gpuvm.h:726: warning: No description found for return value of 'drm_gpuvm_bo_get'
drm_gpuvm.h:738: warning: missing initial short description on line:
* drm_gpuvm_bo_gem_evict()
drm_gpuvm.h:740: warning: missing initial short description on line:
* drm_gpuvm_bo_gem_evict()
drm_gpuvm.h:698: warning: Excess struct member 'evict' description in 'drm_gpuvm_bo'
drm_gpuvm.h:844: warning: Excess struct member 'addr' description in 'drm_gpuva_op_map'
drm_gpuvm.h:844: warning: Excess struct member 'range' description in 'drm_gpuva_op_map'
drm_gpuvm.h:844: warning: Excess struct member 'offset' description in 'drm_gpuva_op_map'
drm_gpuvm.h:844: warning: Excess struct member 'obj' description in 'drm_gpuva_op_map'
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: David Airlie <airlied@gmail.com>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: dri-devel@lists.freedesktop.org
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Vegard Nossum <vegard.nossum@oracle.com>
Signed-off-by: Maxime Ripard <mripard@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20231231054856.31786-1-rdunlap@infradead.org
ILI2901 requires reset to pull down time greater than 10ms,
so the configuration post_power_delay_ms is 10, and the chipset
initial time is required to be greater than 100ms,
so the post_gpio_reset_on_delay_ms is set to 100.
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Zhengqiao Xia <xiazhengqiao@huaqin.corp-partner.google.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
The Ilitek ili2901 touch screen chip same as Elan eKTH6915 controller
has a reset gpio. The difference is that they have different
post_power_delay_ms and post_gpio_reset_on_delay_ms.
Ilitek ili2901 also uses 3.3V power supply.
Signed-off-by: Zhengqiao Xia <xiazhengqiao@huaqin.corp-partner.google.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
The struct bus_type pointer in hid_bpf_ops just passes the pointer to
the driver core, and the driver core can handle, and expects, a constant
pointer, so also make the pointer constant in hid_bpf_ops.
Part of the process of moving all usages of struct bus_type to be
constant to move them all to read-only memory.
Cc: Jiri Kosina <jikos@kernel.org>
Cc: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Cc: linux-input@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Now that the driver core can properly handle constant struct bus_type,
move the ishtp_cl_bus_type variable to be a constant structure as well,
placing it into read-only memory which can not be modified at runtime.
Cc: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Cc: Jiri Kosina <jikos@kernel.org>
Cc: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Cc: linux-input@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Now that the driver core can properly handle constant struct bus_type,
move the hid_bus_type variable to be a constant structure as well,
placing it into read-only memory which can not be modified at runtime.
Cc: Jiri Kosina <jikos@kernel.org>
Cc: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Cc: linux-input@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
This commit adds a hotkey to switch between "gamepad" mode (mouse and keyboard
disabled) and "desktop" mode (gamepad disabled) by holding down the options
button (mapped here as the start button). This mirrors the behavior of the
official Steam client.
This also adds and uses a function for generating haptic pulses, as Steam also
does when engaging this hotkey.
Signed-off-by: Vicki Pfau <vi@endrift.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
The second byte of the GET_STRING_ATTRIB report is a length, so we should set
the size of the buffer to be the size we're actually requesting, and only
reject the reply if the length out is nonsensical.
Signed-off-by: Vicki Pfau <vi@endrift.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
SDL includes a list of settings (formerly called registers in this driver),
reports (formerly cmds), and various other identifiers that were provided by
Valve. This commit imports a significant chunk of that list as well as
replacing most of the guessed names and a handful of magic constants. It also
replaces bitmask definitions that used hex with the BIT macro.
Signed-off-by: Vicki Pfau <vi@endrift.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
The client_opened variable was used to track if the hidraw was opened by any
clients to silence keyboard/mouse events while opened. However, there was no
counting of how many clients were opened, so opening two at the same time and
then closing one would fool the driver into thinking it had no remaining opened
clients.
Signed-off-by: Vicki Pfau <vi@endrift.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
This cleans up the locking logic so that the spinlock is consistently used for
access to a small handful of struct variables, and the mutex is exclusively and
consistently used for ensuring that mutliple threads aren't trying to
send/receive reports at the same time. Previously, only some report
transactions were guarded by this mutex, potentially breaking atomicity. The
mutex has been renamed to reflect this usage.
Signed-off-by: Vicki Pfau <vi@endrift.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
The Steam Deck has a setting that controls whether or not the watchdog is
enabled, so instead of using a heartbeat to keep the watchdog from triggering,
this commit changes the behavior to simply disable the watchdog instead.
Signed-off-by: Jiri Kosina <jkosina@suse.com>
The original implementation of this driver incorrectly guessed the function of
this register. It's not only unnecessary to write to this register for lizard
mode but actually counter-productive since it overwrites whatever previous
value was intentionally set, for example by Steam.
Signed-off-by: Vicki Pfau <vi@endrift.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
display controller and a bunch of small improvements for different boards,
-----BEGIN PGP SIGNATURE-----
iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAmWTQY8QHGhlaWtvQHNu
dGVjaC5kZQAKCRDzpnnJnNEdgR2KCACyLUswFY8NgdDsb7rifTJmuaUKCi47F6J8
PuRCXDgfeXIjBRaWu438uwAdBX1kbu6qbLF4c+jEOF+rReG6jCqIkiZS3mdQvA73
k1wkwQuEBv3cALZIrVh9ddOPDJQ8mtmwwalGhAbuCfrquj0V6NY8KSgkG+LFI5wl
/iPbgCT3/O3v5D1ckOmK7wYxcv7cZwiYGXlxnRIaeY4KeQXvapV5HgeXLG2tD66w
T9BHoC5xKAlh72WL3fCnPwH7Kuk4MIbed/9CK3TzGXfKwIEN+2L4LGclSsN426la
khgMXde4x+3mCz9Rj1v9iiU7B7vBro9pPMEaUts0FUePsaMVt42Z
=jAec
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmWT3TMACgkQYKtH/8kJ
UidBmA//QJoH0AxK8i9oUlLxaOIhHyA3HsIjU+gXU7xwOWlvmd2jllgk6vXmj97c
1q1ocA6pBpE9RYW6yG+gfqewyzu3hNh6DihRhjewuxrVMYI8pZD0WMy7/8AMb7Fd
0PgYiNwYvPXlxPn5LUwIYA8qYoy9rVXFSAIkgoccS2vJEhdJBz/0X2dODFH1BHFe
0gCfX3C4dq4NKLrbr09TSpd8Wf++mOm03tD9WEtzbamjmU8Uxu0h42Vr93YpRKkD
8bJH6H9BVM1SdTxkbK/H/h+Gq1gjzTYhys5ANL4tBHQOcwFgL5QwLsOYCANyjYVZ
O47a7IFqrQq9A8cXlsOIfPyeYyKULI3CDZoNAcT6UveLsx+tKRFLMw9XU1pJDu3A
OsJfxXfgkXCxwX++dJ1Aer5VjdEBrwnxKcNl7ZEcflwjf9il3ysZ0oAerDSt2dxG
HxSuQtL/ZAhwKwOAJce5C9gEPT5Rl+QDoLxlP28YkgAh7m+ttmUkgF/GxtauSRjG
VQmkCPkBfEOHjbmBDU2W99Q8liCHEMqZAyn2nkfnFPpBD/g2Sw2AqvS6XwNq0l7r
Yz2rq6xtc+YCtxNnlhAu/CqOBNoE8yDFvBXBd/fq4WCcMfLT0/mOnR7PR2PB0A9j
YuDUEkFZInY8K8C+gDq0bNa3o+IuRT9e9Ncs+eTmgNKYXGX5uss=
=w3tt
-----END PGP SIGNATURE-----
Merge tag 'v6.8-rockchip-dts64-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into soc/dt
One new boards, the CoolPi CM5 SoM and 4B SBC. Basic node for the rk3588
display controller and a bunch of small improvements for different boards,
* tag 'v6.8-rockchip-dts64-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: (21 commits)
arm64: dts: rockchip: Fix led pinctrl of lubancat 1
arm64: dts: rockchip: correct gpio_pwrctrl1 typo on nanopc-t6
arm64: dts: rockchip: correct gpio_pwrctrl1 typo on rock-5b
arm64: dts: rockchip: support poweroff on the rock-5b
arm64: dts: rockchip: Support poweroff on Orange Pi 5
arm64: dts: rockchip: nanopc-t6 sdmmc beautification
arm64: dts: rockchip: Fix rk3588 USB power-domain clocks
arm64: dts: rockchip: configure eth pad driver strength for orangepi r1 plus lts
arm64: dts: rockchip: Support poweroff on NanoPC-T6
arm64: dts: rockchip: rk3308-rock-pi-s gpio-line-names cleanup
arm64: dts: rockchip: Add support for rk3588 based board Cool Pi CM5 EVB
dt-bindings: arm: rockchip: Add Cool Pi CM5
arm64: dts: rockchip: Add support for rk3588s based board Cool Pi 4B
dt-bindings: arm: rockchip: Add Cool Pi 4B
dt-bindings: vendor-prefixes: Add Cool Pi
arm64: dts: rockchip: add gpio-line-names to rk3328-rock-pi-e
arm64: dts: rockchip: make use gpio-keys for buttons on puma-haikou
arm64: dts: rockchip: expose BIOS Disable feedback pin on rk3399-puma
arm64: dts: rockchip: fix misleading comment in rk3399-puma-haikou.dts
arm64: dts: rockchip: Add vop on rk3588
...
Link: https://lore.kernel.org/r/3711719.VqM8IeB0Os@diego
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This corrects the rate of the UTMI clock on IPQ6018 USB0. The SDHCI
controller on SC7280 gains missing markings for being cache-coherent.
For SC8180X a typo in assignment of PCIe refgen clocks is corrected, PCI
controllers are marked cache-coherent, and the USB SS PHY interrupts are
corrected to allow wakeup.
Similarly USB HS PHY and SS PHY interrupts are corrected to allow
wakeup on SDM670.
On SM8550 the X3 cluster idle state is properly described, and the
latency numbers are adjusted for all the idle states.
The PM8550 regulator supplies on X1E are corrected to match the driver
and binding, and the timer node is updated to avoid an unnecessary
validation error.
-----BEGIN PGP SIGNATURE-----
iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmWQ4aIVHGFuZGVyc3Nv
bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3FY6IQAMM8Fg9OFi+bvRXZ4BKoMbrqf+Zq
UlnKxvf4Q5n598VsAMCUyPZnMdzuFGY7GsUOHikVIfTzjTKXDW7/Fgj3ng2SMEaF
fnktiQRQcmiTt2pitihPQe2ygSqrXul0LnTXzQSmixmqrzhvGgvsNAPNBelGeXaK
tK5ciyphgzKfvftNU52aUICodxbinH6mZMBv9sXHxK4XNYS68S2dklOv9g3+2v0b
S9Sn8kYXlDjlvWkwXYZtX4C3UuOrqM/cCc2rAfqAvkH4tGx85xFhV8pL0jEwGCC1
ozJ8Bl4yntjG9z1JVKGynEjJJJk2D1HQfxDdB9r7du74qftP2aBNQVyPP8HhtpJG
sgsMEJbPvbUPZJquv34SFSyPUit1ik0KOfXPSMqGd7jAxqc8n2vO56o/tDrCydh2
/W4UB4vPHJZbylg3Cx1kIjJit8g5TrdDeikX3tEA3oiRhKh5qeMU4h0rfT6qc04K
AkPtqq3oK+Zv+xZNvT7umjE8/We9Fj7ZSiNd2e0eBlh/I7OwG29r/O76mKXQW9m7
f/WJYGOpkulA8l+1GMO0ffjrLtlgIz9TBV0qv0fnG4AluBUOiL6eBJUwMTWzeCm5
wEXsXjC/AxpFpaVliZW701sKq9v3O5O6Av77Uv1ZJVUfztMW0SVmU1ir4b5+M9vK
X7aEgrUQYW4tMbT4
=AB7G
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmWT3NgACgkQYKtH/8kJ
Uif5mQ/8CDmtKdEF4iFUTyC2lU6A4lY4fKlRJT9EdqCiX5ySSSZKKg2jCvcEcDry
AmvBaNg4TG0KPx3e4iheJuk2vu/BrtxqZV2dSa7vPUYwEMAGpsmJ035zWfU2ZeQq
lrBSbYcepIVvlossh1UuLfdWqRRDD0AxcAnB2CdBtpckw6358fe/cO/AT/MSYDF1
PqPTBzO+rMhThrONLXdI2NO/FJ2nSz680IFlolQURxQHb4UO8VqzKcaZ98fF4sY2
kLjyhLBgfK/bqGUxSVPrCgEDFJvGxXYK0oIWk/MKPw8BhdTxm9eSMyMI5ojiKuDn
g01qaCEtgGsVbyc+EWiJkxtqQpqIaw0Zi6O4p/RAJiB3+UVKFGdHWbJ0HssBAz1I
miytdlRFPErMIyD+k8CKp+n6Y5iwlxyNTnx3y3iBkMe+PAt3FG+ZfXZotWNufWxT
WKsUjZJ+YZ6pjPoaI63NDAxzZrNgo6GQYJZ55LtEvMkuhfCvi5xaBywIJ6tuCK5I
SOa8fDMOriBBaNro5TfWAEnfF7uKBOiqnAn9WNi3/BLvqqB1jDqHCwJo/eZtYpQG
POyNs+Nt0IBLSJaWOFYHHkhTuw/Gq1lpVQ1jsGQNvEdnXlZmLMVQ/lEsbN/35sa2
W2f2wP0ALih3htYPNhnzYcHa57R2oJU6jeJ4v5xpxNXIXQxRzEo=
=1cPt
-----END PGP SIGNATURE-----
Merge tag 'qcom-arm64-for-6.8-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/dt
A few more Qualcomm Arm64 DeviceTree updates for v6.8
This corrects the rate of the UTMI clock on IPQ6018 USB0. The SDHCI
controller on SC7280 gains missing markings for being cache-coherent.
For SC8180X a typo in assignment of PCIe refgen clocks is corrected, PCI
controllers are marked cache-coherent, and the USB SS PHY interrupts are
corrected to allow wakeup.
Similarly USB HS PHY and SS PHY interrupts are corrected to allow
wakeup on SDM670.
On SM8550 the X3 cluster idle state is properly described, and the
latency numbers are adjusted for all the idle states.
The PM8550 regulator supplies on X1E are corrected to match the driver
and binding, and the timer node is updated to avoid an unnecessary
validation error.
* tag 'qcom-arm64-for-6.8-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
arm64: dts: qcom: sc8180x: Fix up PCIe nodes
arm64: dts: qcom: sc8180x: Mark PCIe hosts cache-coherent
arm64: dts: qcom: x1e80100-qcp: Fix supplies for some LDOs in PM8550
arm64: dts: qcom: sm8550: Update idle state time requirements
arm64: dts: qcom: sm8550: Separate out X3 idle state
arm64: dts: qcom: ipq6018: fix clock rates for GCC_USB0_MOCK_UTMI_CLK
arm64: dts: qcom: x1e80100: align mem timer size cells with bindings
arm64: dts: qcom: sc7280: Mark SDHCI hosts as cache-coherent
arm64: dts: qcom: sc8180x: fix USB SS wakeup
arm64: dts: qcom: sdm670: fix USB SS wakeup
arm64: dts: qcom: sdm670: fix USB DP/DM HS PHY interrupts
Link: https://lore.kernel.org/r/20231231034108.3262678-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
The recently introduced changes to the SDX55 USB controller interrupt
flags prevents the USB controller from probing. These patches corrects
the PDC's interrupt-cells, so that appropriate interrupt controller
(which supports both-edge interrupts) can be used instead, which
resolves the issue.
The SDX55 PCIe PHY base address is also adjusted, from a mistake when
the node recently was transitioned to the modernized DeviceTree binding.
-----BEGIN PGP SIGNATURE-----
iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmWQ35oVHGFuZGVyc3Nv
bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3FDpQP/3tGAnkKGDTiN7s/K2LVS0nDwM17
lyAyp/g+k7ja9FH2uwZ+ImUVSLS9s7PhaK6H8PGF/KMF3S803UKOGY7ElNjnYWOb
+MPbfQY8bKAsfGctkd2vRiVjzb0XgKep+BCs7TObO4BLkUGaYgUrU7QKZd9RR4xC
1MXvJJZS2DMjmpJX52ZLbGYHryLMMyUl3NRCyGy8oxVRgeGBAySUFsdUXQmwrvfn
Smaax9rLmzEJEgqELjtlwTwHlvmQ7pDtYQ6OKkXHxXUuVdTWZbU0+7i5NTeW6YQv
TFkQKSRuVPCk+rmq5mF5HJ/uXUVD537THsanIVRJL7wYoo2sWzYGwQAcMPdMlP3M
+9izr6w1W/BSQEzrRyQ6otV2+FX5DnuNjJlI7e9t0nS9+qwpmkoGf4FrbS/sIEsh
1/JHUJCSvQ5ErOEZh6XuTMcbxjp4qbT+zGCFJIC4RXA9kOgPd8gEYw8M3nAhoyxo
l8pVHa5SdDBdL2UzTO08QErifyEj/6n0wY0tk5nkDhQb8sCRQpXT6lnw2zvk+Lj1
ZnU06IYg6sCOGgy2rk4K2B3RT6UOr3Vn/HowYtmt9ycka2jIPKUwdM0WmSYEVbTv
j72oFjdICUqwg2Eqycbj/ZjMYtFTFG1SG8d5CIZ6Ary6dHwvxWm5PxcEnsAhSOBB
VFh5WkS6TEVIlJ3m
=uLxU
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmWT3KsACgkQYKtH/8kJ
UidbphAAn+4Nb4RzhHMh1NhLxSoIpxmyYqPb+NQb2NHbroU5VMrrkVLy7KEMojTa
A+sC/+9+xrzn/PSb38t6I5go+ObpPGGGqCoH8FLJ2kzyQMIMl+xrkqQ+T7kRqxSE
1OPq6zBDKl5osdc1ROFCHN7MUz7R50guVUxQjJpMWSsBnFpepKiKv4JvEKZnrMAt
nDjmymwEvdODLnCbtDdMB5czZQNLh4AtobI8iqsgGXwyoBNOQ1WY3PkRh+hTc7Ml
lmccfIizelBDpbCmrvmq94lKoF2JIdNS5kLUCV54iTAo88F2KVrhDu+NRaGAZI0o
ZDGDI3yf8Tn6G+epsTq/BPSm3mhjZNTLB/rfxE8ImQa/MM4aH4uEb7ekCRZarrLU
FCDs2Bkkzlz34/5Zx5Ht3Pd11/erfvOWShhfpYwJZ0T+iUlWF5xxIJefe2lHXKmP
5fwdaH+t5nEZAydS/BiqatGpcV4Kz5g2eQdeb16dzs7q1vr9YY33GlKqGROVxFua
fYlKu/UDjDIJa2VQdOq8NE3VN/FvyKa/4T9RQMIYJ+W7nhY4itOeoPsn5A94B+4x
zR0GLoa7jJZA4cd2sM+PGCnyjdLiRR7x5u6D10j1+3QSuGYVwhByo4e/DBzhAu39
jb8AoBQHyEAHpQOIYBSnntBoks7se8GcS2i5Cq8QBmYazfhG3P4=
=OFU8
-----END PGP SIGNATURE-----
Merge tag 'qcom-arm32-for-6.8-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/dt
A few more Qualcomm Arm32 DeviceTree updates fr v6.8
The recently introduced changes to the SDX55 USB controller interrupt
flags prevents the USB controller from probing. These patches corrects
the PDC's interrupt-cells, so that appropriate interrupt controller
(which supports both-edge interrupts) can be used instead, which
resolves the issue.
The SDX55 PCIe PHY base address is also adjusted, from a mistake when
the node recently was transitioned to the modernized DeviceTree binding.
* tag 'qcom-arm32-for-6.8-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
ARM: dts: qcom: sdx55: Fix the base address of PCIe PHY
ARM: dts: qcom: sdx55: fix USB SS wakeup
ARM: dts: qcom: sdx55: fix USB DP/DM HS PHY interrupts
ARM: dts: qcom: sdx55: fix pdc '#interrupt-cells'
Link: https://lore.kernel.org/r/20231231033153.3262575-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
for 6.8, please pull the following:
- Rafal adds a Device Tree node for the BCM63138 high-speed UART used
for Bluetooth devices
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAmWMhRwACgkQh9CWnEQH
BwTjig//UDApRkCg3NVjVXR9tRQLJrpOS8H2/uKAQ8X4W7ZIn4nBZeavOoFabNFS
m7wOpyRcVJvqDbsdyx5SLUIgT01JCJgcBWmj5bq3Laue3AHeTznVfjpfcFOiLkXR
/aAVva2L1Dpo3mHgo3BSJy4ZYOI5s7dX/6PCpXqN9oxUHNCIXPyUepS/qFh+hQ3i
rmbZvtLsNtpsWOZCgcmRqWOrShoRh7GFIGmBffIuW3S69x+Lg2H+uYYb8lnHs0uC
1AFVszeyrUxnM1kngKMg0lRRENt0IJJi/4OL94vTYt3eY/HzvEMb4Tl8O4jkLi2N
dIN0SU4Epv65EUCeAKaMjrVxWITY3EQsDKsL2obuJ1Q///FmyeZ6+vE6HYHFruOg
uHKypGiz2PqDd43A1hk0K0EGi/DPVSFU+QJZ7TZJWH2DBd763UxTbnRZBO0Bk4KO
QvgSbwjOMOi226ETkppiks5mvJr17gfbL6/opGOmKD5p8vpqzdg5MGRvDSf/+r31
l7POet/HUxU9oiEjyYLI+BQV/9PsBQX1ZrMe4QRlQe+/xn6XlvIgLokdUc7kl1zT
ToqGKzxhI1fODet40QRGeNaYoM5Lmme5cgr7CZAivPPcO0RfEZ3IC1kseLFRh0WT
F2bL5N22BNnqyy7R1NGV/qQhM4OPpYOJDsf5UhyN1BOFPwS6iyQ=
=tHoM
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmWT28YACgkQYKtH/8kJ
Uice0xAA1v2qyMcXQBHux0Wh/oL5upNZzu7/6eSffEI7nzL07dbkogHi7y0w/oWz
8HT3orv5rM1yjnDckCe+9lK3JSIL0P23Zw9odAVmkwz21VdRqPxcr5UvK2gSdopV
crI0tMci+NUyGHjTKKs5fAJJOcQkT/ONUQZXpi0aorE8VRqNdL2+uYwMMChcn9u/
5BOX1bF7l9JKaayoVSCTGcnlCv1Hk6AgvfsDVHC8ylyAA7OiRGkNKPTCuQe9/xRC
9yoT8pUITgqasUf6tFTuwRACVaYT4pjrLU3zc8afcjw/8GXt0GRgxL+TndISDtmk
cygr1nE+EnAA8Ph0Ye6+SunMrQosUzf9Sowtr9J+y/v3RbQ+uScIU0ivbJdVOGFO
cteirVVOLUppXFADFatevSxH8/Z/mmH9CyS4Wy97GrPXYzIVePm7sRlkEMY0G19s
YO8PvIKQ09NAQVFKgCktrs5PfHGGetgDG4Uwi5zrxaiQQrNeh/Qfm1WODFnw/qvK
nt8ubG2z7L/8Px+2tnI858y7ux6yEiQXJ+xmEeGdWMkthGveUv+Cs5vrukvn5zft
afi5JOxUxN4sLRVS6OxY8va8AFRaV8xvtDkWklPKuhACJYDw8Kl8aj0nWbsRZaDL
nC9Fz0StohyvlY5kI0W49YtdV8gFv89hw+C6Olla8kWvP4kQ/bM=
=oReX
-----END PGP SIGNATURE-----
Merge tag 'arm-soc/for-6.8/devicetree' of https://github.com/Broadcom/stblinux into soc/dt
This pull request contains Broadcom ARM-based SoCs Device Tree changes
for 6.8, please pull the following:
- Rafal adds a Device Tree node for the BCM63138 high-speed UART used
for Bluetooth devices
* tag 'arm-soc/for-6.8/devicetree' of https://github.com/Broadcom/stblinux:
ARM: dts: broadcom: Add BCM63138's high speed UART
Link: https://lore.kernel.org/r/20231228085822.3656546-1-florian.fainelli@broadcom.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This enables the base drivers necessary to boot devices on the X1E
platform.
The GPU clock controller for SM8450/SM8550 is enabled and the SC8280XP
camera clock controller is enabled, to enable respective functionality
on these platforms.
-----BEGIN PGP SIGNATURE-----
iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmWQ4w8VHGFuZGVyc3Nv
bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3FekQQAIDooZmUIpsFcMbz2wnCj3l3SsxA
6wL0lmsW/HMeSYKjJdKyFkx+CQ9C7YKoRbj3JWIzYycnhe/CQTLJOrqg7i9vH5m5
SDlfh2mWhsbjVeDZy9c82rcnKaxyYH4SB35Yj2WehcLreDd01IA7LK7PDSGO9Xm6
vatos45gglK9/LeABILSM8hEobJbiCSz4ADB9M7pQKOv/cP5t9nHCjox3vXWe37t
Rse2OVa3solvJKPj6kyxiJ7HllK5+62DKJodD0Ary75XekjvYJ3+NSCg9dtvG2yz
WKmEWQcRrgybElmmw4GK8fi7pGNUiIsz2TstmOZyuGn3MtWr6W7Qr6Bbd7WOKUD1
BTGu1Ceqn8bBGlBSp4t9DUIlcgr4YxgRufdW6HxI6g2bcdsPEwi67KqixwcPik1q
w0vNiSX0OOgq3lLRdDrGjrh3tLeVDm5ymmAbqVWR9GxDtytBFljTv1Og7GuOGO05
qrVkURVSZMcqhgSWYppp4svvv+0J1lBroVqdRDESw4CDF6l3cLL11NxGLbLS8Kub
Re3kx7HAlIZt3MuCTVtGLdkJhWQ0Sd3niNQw9gKiOAIU8eihDluhSNozPOJwzqsi
Z0mWyRLZ6dpQyBOihA7OwF3aNwY4SQCruaE0FG5kEyMrR3s7JeycM41nLegDldZA
0awhhz2pD0WJRNy4
=gd3I
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmWT2PAACgkQYKtH/8kJ
UicnoRAAmTlKuwvNvBL10mtCvt3cX2d+gKbpzaUaWqoa8gA0nfugLXHXWs7kdnf3
CQ4FbVASha33WtjAOjLSJ7cx3n49e6SY/HH5VUt0Rn1B4XzONzd4pHtfdVvTx68c
VVnNEHsZp0tSY0a2XYtNBBxa2HkLk7Z8qCpSDu2gNcSJ27HO3USlOgiuXHHuq0g8
+b9b4f012VelKuao6l3ZZ9TLMVWLbvNpNwrQCTnOAtWC8e5p+2Tno72/H9vs+pUn
NTM5olUcGfrxW1mHZbvMp6TFvcC162xuSb0mlIA1fUodQUodBRjpwGPdzLVXVOAb
b0+3meiPe9x/RPXlbjcvK359FJL/wXY3oQqbpBEn6wssv5gfdR+hg5ZjVwbJxDrz
VDqiJ8Yi+IFWDAJY1Ckz1BD8m8xxOhY0MA8Dfd/VntTO2S8eeA07VtzC+zqhGKkr
XQlu/ZxAx+SPU6DvlIpU7ehdGyngH22tyb64vzbBOi+BxgQTJMv05XFMl3NfL8K1
UyBmHxt5BN2p8TD2lceaqQfB4qEXo16sMPCmUqeMBtuNjNZnOV9RnX0DLu8S3PnM
m5i/lPOrv6q7Se8uShP6SXX8aZdDXj38FTPYZk6sDcG7gf19DeG57X6aUweE1p3f
BHLRiuAMjUtxdjERz/idPmwZuEi5Kxk772iXE9dfigL4zXGYmeQ=
=L0cS
-----END PGP SIGNATURE-----
Merge tag 'qcom-arm64-defconfig-for-6.8-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/defconfig
A few more Qualcomm Arm64 defconfig updates for v6.8
This enables the base drivers necessary to boot devices on the X1E
platform.
The GPU clock controller for SM8450/SM8550 is enabled and the SC8280XP
camera clock controller is enabled, to enable respective functionality
on these platforms.
* tag 'qcom-arm64-defconfig-for-6.8-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
arm64: defconfig: Enable Qualcomm SC8280XP camera clock controller
arm64: defconfig: enable GPU clock controller for SM8[45]50
arm64: defconfig: Enable X1E80100 SoC base configs
Link: https://lore.kernel.org/r/20231231034648.3262882-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Drop empty and redundant maintainer entries for boards which were
removed to fix `scripts/get_maintainer.pl --self-test=sections` errors
like:
./MAINTAINERS:2021: warning: section without file pattern ARM/CIRRUS LOGIC EDB9315A MACHINE SUPPORT
[arnd: only remove the obviously stale ones for now]
Cc: Lennert Buytenhek <kernel@wantstofly.org>
Cc: Steve Sakoman <sakoman@gmail.com>
Cc: Mark F. Brown <mark.brown314@gmail.com>
Cc: Robert Jarzmik <robert.jarzmik@free.fr>
Cc: Florian Fainelli <florian@openwrt.org>
Cc: Simtec Linux Team <linux@simtec.co.uk>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20231218134532.50599-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Currently, each trip point defined in the device tree corresponds to a
single hardware interrupt. This commit instead switches to using two
hardware interrupts, whose values are set dynamically using the
set_trips callback. Additionally, the critical temperature threshold is
handled specifically.
Setting interrupts in this way also fixes a long-standing lockdep
warning, which was caused by calling thermal_zone_get_trips with our
lock being held. Do note that this requires TMU initialization to be
split into two parts, as done by the parent commit: parts of the
initialization call into the thermal_zone_device structure and so must
be done after its registration, but the initialization is also
responsible for setting up calibration, which must be done before
thermal_zone_device registration, which will call set_trips for the
first time; if the calibration is not done in time, the interrupt values
will be silently wrong!
Reviewed-by: Lukasz Luba <lukasz.luba@arm.com>
Signed-off-by: Mateusz Majewski <m.majewski2@samsung.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20231201095625.301884-10-m.majewski2@samsung.com
The original driver did not use that macro and it allows us to make our
intentions slightly clearer.
Reviewed-by: Lukasz Luba <lukasz.luba@arm.com>
Signed-off-by: Mateusz Majewski <m.majewski2@samsung.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20231201095625.301884-9-m.majewski2@samsung.com
This will be needed in the future, as the thermal zone subsystem might
call our callbacks right after devm_thermal_of_zone_register. Currently
we just make get_temp return EAGAIN in such case, but this will not be
possible with state-modifying callbacks, for instance set_trips.
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Mateusz Majewski <m.majewski2@samsung.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20231201095625.301884-8-m.majewski2@samsung.com
Exynos 4210 supports setting a base threshold value, which is added to
all trip points. This might be useful, but is not really necessary in
our usecase, so we always set it to 0 to simplify the code a bit.
Additionally, this change makes it so that we convert the value to the
calibrated one in a slightly different place. This is more correct
morally, though it does not make any change when single-point
calibration is being used (which is the case currently).
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Mateusz Majewski <m.majewski2@samsung.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20231201095625.301884-7-m.majewski2@samsung.com
We rewrite the initialization to enable the regulator as part of devm,
which allows us to not handle the struct instance manually.
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Mateusz Majewski <m.majewski2@samsung.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Link:
https://lore.kernel.org/r/20231201095625.301884-6-m.majewski2@samsung.com
Currently, if regulator is required in the SoC, but
devm_regulator_get_optional fails for whatever reason, the execution
will proceed without propagating the error. Meanwhile there is no
reason to output the error in case of -ENODEV.
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Mateusz Majewski <m.majewski2@samsung.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20231201095625.301884-5-m.majewski2@samsung.com
The workqueue boilerplate is mostly one-to-one what the threaded
interrupts do.
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Mateusz Majewski <m.majewski2@samsung.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20231201095625.301884-4-m.majewski2@samsung.com
We do not use the value, and only Exynos 7 defines this alias anyway.
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Mateusz Majewski <m.majewski2@samsung.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20231201095625.301884-3-m.majewski2@samsung.com
It seems that the field has been removed in one of the previous commits,
but the description has been forgotten.
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Mateusz Majewski <m.majewski2@samsung.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20231201095625.301884-2-m.majewski2@samsung.com
The following warnings are shown during compilation:
tui.c: In function 'show_cooling_device':
tui.c:216:40: warning: format '%d' expects argument of type 'int', but
argument 7 has type 'long unsigned int' [-Wformat=]
216 | "%02d %12.12s%6d %6d",
| ~~^
| |
| int
| %6ld
......
219 | ptdata.cdi[j].cur_state,
| ~~~~~~~~~~~~~~~~~~~~~~~
| |
| long unsigned int
tui.c:216:44: warning: format '%d' expects argument of type 'int', but
argument 8 has type 'long unsigned int' [-Wformat=]
216 | "%02d %12.12s%6d %6d",
| ~~^
| |
| int
| %6ld
......
220 | ptdata.cdi[j].max_state);
| ~~~~~~~~~~~~~~~~~~~~~~~
| |
| long unsigned int
To fix this, the correct string format must be used for printing.
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20231204141335.2798194-1-fe@dev.tdt.de
Clean up the examples by adding newline separators, moving 'reg'
properties after 'compatible' and dropping unused labels.
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20231130174114.13122-3-johan+linaro@kernel.org
The ADC Thermal Monitor is part of an SPMI PMIC, which in turn sits on
an SPMI bus.
Fixes: db03874b85 ("dt-bindings: thermal: qcom: add HC variant of adc-thermal monitor bindings")
Fixes: e8ffd6c075 ("dt-bindings: thermal: qcom: add adc-thermal monitor bindings")
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20231130174114.13122-2-johan+linaro@kernel.org
This patch adds a thermal sensor controller support for the D1/T113s,
which is similar to the one on H6, but with only one sensor and
different scale and offset values.
Signed-off-by: Maxim Kiselev <bigunclemax@gmail.com>
Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20231217210629.131486-3-bigunclemax@gmail.com