Commit graph

1,399,042 commits

Author SHA1 Message Date
Javier Carrasco
b79a038de6 selftests: core: add unshare_test to gitignore
This executable is missing from the corresponding gitignore file.
Add unshare_test to the core gitignore list.

Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
2024-09-30 11:42:11 -06:00
Ba Jing
74923546a0 clone3: clone3_cap_checkpoint_restore: remove unused MAX_PID_NS_LEVEL macro
The macro MAX_PID_NS_LEVEL is never referenced in the code, so remove it.

Signed-off-by: Ba Jing <bajing@cmss.chinamobile.com>
Reviewed-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
2024-09-30 11:39:56 -06:00
Shuah Khan
ba87297200 selftests:timers: posix_timers: Fix warn_unused_result in __fatal_error()
__fatal_error routine doesn't check strerror_r() return value,
which results in the following compile time warning:

posix_timers.c: In function ‘__fatal_error’:
posix_timers.c:31:9: warning: ignoring return value of ‘strerror_r’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   31 |         strerror_r(errno, buf, sizeof(buf));

Fix this by adding a check for return value and error handling appropriate
for the GNU-specific strerror_r() in use in __fatal_error(). Check if
return string is null and handle accordingly.

From Linux strerror_r() manual page:

"The GNU-specific strerror_r() returns a pointer to a string containing
the error message. This may be either a pointer to a string that the
function stores in buf, or a pointer to some (immutable) static string
(in which case buf is unused). If the function stores a string in buf,
then at most buflen bytes are stored (the string may be truncated if
buflen is too small and errnum is unknown). The string always includes
a terminating null byte."

Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
Acked-by: John Stultz <jstultz@google.com>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
2024-09-30 11:37:55 -06:00
Joseph Jang
1ad999870a selftest: rtc: Check if could access /dev/rtc0 before testing
The rtctest requires the read permission on /dev/rtc0. The rtctest will
be skipped if the /dev/rtc0 is not readable.

Reviewed-by: Koba Ko <kobak@nvidia.com>
Reviewed-by: Matthew R. Ochs <mochs@nvidia.com>
Signed-off-by: Joseph Jang <jjang@nvidia.com>
Acked-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
2024-09-30 11:32:07 -06:00
Breno Leitao
86e39b94cd x86/bugs: Correct RSB terminology in Kconfig
RSB stands for "Return Stack Buffer" in industry literature[1]. Update
the kernel Kconfig to use this standard term instead of the current
"Return-Speculation-Buffer".

This change aligns kernel documentation with widely accepted terminology.

The line length reduction triggers text reformatting, but no functional
text is altered.

[1] https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/advisory-guidance/return-stack-buffer-underflow.html

Signed-off-by: Breno Leitao <leitao@debian.org>
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Acked-by: Dave Hansen <dave.hansen@linux.intel.com>
Link: https://lore.kernel.org/all/20240913122754.249306-1-leitao%40debian.org
2024-09-30 10:30:54 -07:00
Ilpo Järvinen
43ee11adcb PCI: hotplug: Remove "Returns" kerneldoc from void functions
pci_hp_deregister() was converted to void by the commit 51bbf9bee3 ("PCI:
hotplug: Demidlayer registration with the core") but its kerneldoc still
describes the return value. pci_hp_del() and pci_hp_destroy() have been
void since they were introduced in that same commit.

Remove the return value description from the kerneldoc of those functions.

Link: https://lore.kernel.org/r/20240930124436.17908-1-ilpo.jarvinen@linux.intel.com
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
2024-09-30 12:02:53 -05:00
Jouni Högander
680d12cdb7
Revert "drm/i915/psr: Implement WA to help reach PC10"
This reverts commit c2579a2177.

Reverting this commit as it is suspected being culprit on regression.

Closes: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1649
Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240930071329.1630583-1-jouni.hogander@intel.com
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2024-09-30 12:43:00 -04:00
Julia Lawall
b21a18f730 PCI: hotplug: Reorganize kerneldoc parameter names
Reorganize kerneldoc parameter names to match the parameter order in the
function header.

Problems identified using Coccinelle.

Link: https://lore.kernel.org/r/20240930112121.95324-23-Julia.Lawall@inria.fr
Signed-off-by: Julia Lawall <Julia.Lawall@inria.fr>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
2024-09-30 11:42:17 -05:00
Lu Baolu
8a8622b7c2 remoteproc: Use iommu_paging_domain_alloc()
An iommu domain is allocated in rproc_enable_iommu() and is attached to
rproc->dev.parent in the same function.

Use iommu_paging_domain_alloc() to make it explicit.

Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/20240812072811.9737-1-baolu.lu@linux.intel.com
Acked-by: Beleswar Padhi <b-padhi@ti.com>
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
2024-09-30 09:59:42 -06:00
Markus Elfring
a36d9f96d1 remoteproc: k3: Call of_node_put(rmem_np) only once in three functions
An of_node_put(rmem_np) call was immediately used after a pointer check
for a of_reserved_mem_lookup() call in three function implementations.
Thus call such a function only once instead directly before the checks.

This issue was transformed by using the Coccinelle software.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Link: https://lore.kernel.org/r/c46b06f9-72b1-420b-9dce-a392b982140e@web.de
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
2024-09-30 09:50:20 -06:00
Thomas Zimmermann
0d580d9974 backlight: lcd: Do not include <linux/fb.h> in lcd header
With the exception of fb_notifier_callback(), none of the lcd code
uses fbdev; especially not the lcd drivers. Remove the include
statement for <linux/fb.h> from the public lcd header.

v2:
- fix typos in commit description

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Link: https://lore.kernel.org/r/20240906075439.98476-29-tzimmermann@suse.de
Signed-off-by: Lee Jones <lee@kernel.org>
2024-09-30 16:49:42 +01:00
Thomas Zimmermann
02e224d096 backlight: lcd: Remove struct fb_videomode from set_mode callback
Implementations of struct lcd_ops.set_mode only require the resolution
from struct fb_videomode. Pass the xres and yres fields, but remove the
dependency on the fbdev data structure.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Link: https://lore.kernel.org/r/20240906075439.98476-28-tzimmermann@suse.de
Signed-off-by: Lee Jones <lee@kernel.org>
2024-09-30 16:49:42 +01:00
Thomas Zimmermann
43e1120deb backlight: lcd: Replace check_fb with controls_device
Rename check_fb in struct lcd_ops to controls_device. The callback
is now independent from fbdev's struct fb_info and tests if an lcd
device controls a hardware display device. The new naming and semantics
follow similar functionality for backlight devices.

v2:
- fix typos in commit description (Daniel)

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Link: https://lore.kernel.org/r/20240906075439.98476-27-tzimmermann@suse.de
Signed-off-by: Lee Jones <lee@kernel.org>
2024-09-30 16:49:42 +01:00
Thomas Zimmermann
05deb1ce96 HID: picoLCD: Replace check_fb in favor of struct fb_info.lcd_dev
Store the lcd device in struct fb_info.lcd_dev. The lcd subsystem can
now detect the lcd's fbdev device from this field.

This makes the implementation of check_fb in picolcd_lcdops obsolete.
Remove it.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Acked-by: Jiri Kosina <jkosina@suse.com>
Link: https://lore.kernel.org/r/20240906075439.98476-26-tzimmermann@suse.de
Signed-off-by: Lee Jones <lee@kernel.org>
2024-09-30 16:49:42 +01:00
Thomas Zimmermann
16d6110e52 fbdev: omap: Use lcd power constants
Replace FB_BLANK_ constants with their counterparts from the
lcd subsystem. The values are identical, so there's no change
in functionality.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Link: https://lore.kernel.org/r/20240906075439.98476-25-tzimmermann@suse.de
Signed-off-by: Lee Jones <lee@kernel.org>
2024-09-30 16:49:42 +01:00
Thomas Zimmermann
32c913d82e fbdev: imxfb: Use lcd power constants
Replace FB_BLANK_ constants with their counterparts from the
lcd subsystem. The values are identical, so there's no change
in functionality.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Link: https://lore.kernel.org/r/20240906075439.98476-24-tzimmermann@suse.de
Signed-off-by: Lee Jones <lee@kernel.org>
2024-09-30 16:49:42 +01:00
Thomas Zimmermann
488d807101 fbdev: imxfb: Replace check_fb in favor of struct fb_info.lcd_dev
Store the lcd device in struct fb_info.lcd_dev. The lcd subsystem can
now detect the lcd's fbdev device from this field.

This makes the implementation of check_fb in imxfb_lcd_ops obsolete.
Remove it.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Link: https://lore.kernel.org/r/20240906075439.98476-23-tzimmermann@suse.de
Signed-off-by: Lee Jones <lee@kernel.org>
2024-09-30 16:49:42 +01:00
Thomas Zimmermann
c11de82078 fbdev: clps711x-fb: Use lcd power constants
Replace FB_BLANK_ constants with their counterparts from the
lcd subsystem. The values are identical, so there's no change
in functionality.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Link: https://lore.kernel.org/r/20240906075439.98476-22-tzimmermann@suse.de
Signed-off-by: Lee Jones <lee@kernel.org>
2024-09-30 16:49:42 +01:00
Thomas Zimmermann
36462ac193 fbdev: clps711x-fb: Replace check_fb in favor of struct fb_info.lcd_dev
Store the lcd device in struct fb_info.lcd_dev. The lcd subsystem can
now detect the lcd's fbdev device from this field.

This makes the implementation of check_fb in clps711x_lcd_ops obsolete.
Remove it.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Link: https://lore.kernel.org/r/20240906075439.98476-21-tzimmermann@suse.de
Signed-off-by: Lee Jones <lee@kernel.org>
2024-09-30 16:49:42 +01:00
Thomas Zimmermann
e5dfbbd39e backlight: tdo24m: Use lcd power constants
Replace FB_BLANK_ constants with their counterparts from the
lcd subsystem. The values are identical, so there's no change
in functionality.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Link: https://lore.kernel.org/r/20240906075439.98476-20-tzimmermann@suse.de
Signed-off-by: Lee Jones <lee@kernel.org>
2024-09-30 16:49:42 +01:00
Thomas Zimmermann
86c0826a7e backlight: platform_lcd: Use lcd power constants
Replace FB_BLANK_ constants with their counterparts from the
lcd subsystem. The values are identical, so there's no change
in functionality.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Link: https://lore.kernel.org/r/20240906075439.98476-19-tzimmermann@suse.de
Signed-off-by: Lee Jones <lee@kernel.org>
2024-09-30 16:49:42 +01:00
Thomas Zimmermann
c38a7db56d backlight: platform_lcd: Remove match_fb from struct plat_lcd_data
The match_fb callback in struct plat_lcd_data is unused. Remove it.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Link: https://lore.kernel.org/r/20240906075439.98476-18-tzimmermann@suse.de
Signed-off-by: Lee Jones <lee@kernel.org>
2024-09-30 16:49:42 +01:00
Thomas Zimmermann
516f325142 backlight: platform_lcd: Remove include statement for <linux/backlight.h>
This lcd driver does not depend on backlight interfaces. Remove the
include statement.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Link: https://lore.kernel.org/r/20240906075439.98476-17-tzimmermann@suse.de
Signed-off-by: Lee Jones <lee@kernel.org>
2024-09-30 16:49:42 +01:00
Thomas Zimmermann
7c14e7a3fd backlight: otm3225a: Use lcd power constants
Replace FB_BLANK_ constants with their counterparts from the
lcd subsystem. The values are identical, so there's no change
in functionality.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Link: https://lore.kernel.org/r/20240906075439.98476-16-tzimmermann@suse.de
Signed-off-by: Lee Jones <lee@kernel.org>
2024-09-30 16:49:42 +01:00
Thomas Zimmermann
a42a215d4d backlight: ltv350qv: Use lcd power constants
Replace FB_BLANK_ constants with their counterparts from the
lcd subsystem. The values are identical, so there's no change
in functionality.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Link: https://lore.kernel.org/r/20240906075439.98476-15-tzimmermann@suse.de
Signed-off-by: Lee Jones <lee@kernel.org>
2024-09-30 16:49:42 +01:00
Thomas Zimmermann
7c323fb264 backlight: lms501kf03: Use lcd power constants
Replace FB_BLANK_ constants with their counterparts from the
lcd subsystem. The values are identical, so there's no change
in functionality.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Link: https://lore.kernel.org/r/20240906075439.98476-14-tzimmermann@suse.de
Signed-off-by: Lee Jones <lee@kernel.org>
2024-09-30 16:49:42 +01:00
Thomas Zimmermann
2576e64bc8 backlight: lms501kf03: Remove unnecessary include of <linux/backlight.h>
This lcd driver is independent from the backlight code.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Link: https://lore.kernel.org/r/20240906075439.98476-13-tzimmermann@suse.de
Signed-off-by: Lee Jones <lee@kernel.org>
2024-09-30 16:49:41 +01:00
Thomas Zimmermann
3b53bf14d4 backlight: lms283gf05: Use lcd power constants
Replace FB_BLANK_ constants with their counterparts from the
lcd subsystem. The values are identical, so there's no change
in functionality.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Link: https://lore.kernel.org/r/20240906075439.98476-12-tzimmermann@suse.de
Signed-off-by: Lee Jones <lee@kernel.org>
2024-09-30 16:49:41 +01:00
Thomas Zimmermann
4be0de90b7 backlight: l4f00242t03: Use lcd power constants
Replace FB_BLANK_ constants with their counterparts from the
lcd subsystem. The values are identical, so there's no change
in functionality.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Link: https://lore.kernel.org/r/20240906075439.98476-11-tzimmermann@suse.de
Signed-off-by: Lee Jones <lee@kernel.org>
2024-09-30 16:49:41 +01:00
Thomas Zimmermann
992f5c43fc backlight: jornada720_lcd: Use lcd power constants
Replace FB_BLANK_ constants with their counterparts from the
lcd subsystem. The values are identical, so there's no change
in functionality.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Link: https://lore.kernel.org/r/20240906075439.98476-10-tzimmermann@suse.de
Signed-off-by: Lee Jones <lee@kernel.org>
2024-09-30 16:49:41 +01:00
Thomas Zimmermann
a412a18709 backlight: jornada720_lcd: Include <linux/io.h> for IOMEM() macro
Avoids the proxy include via <linux/fb.h>.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Link: https://lore.kernel.org/r/20240906075439.98476-9-tzimmermann@suse.de
Signed-off-by: Lee Jones <lee@kernel.org>
2024-09-30 16:49:41 +01:00
Thomas Zimmermann
e844452282 backlight: ili9320: Use lcd power constants
Replace FB_BLANK_ constants with their counterparts from the
lcd subsystem. The values are identical, so there's no change
in functionality.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Link: https://lore.kernel.org/r/20240906075439.98476-8-tzimmermann@suse.de
Signed-off-by: Lee Jones <lee@kernel.org>
2024-09-30 16:49:41 +01:00
Thomas Zimmermann
4364900b12 backlight: ili922x: Use lcd power constants
Replace FB_BLANK_ constants with their counterparts from the
lcd subsystem. The values are identical, so there's no change
in functionality.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Link: https://lore.kernel.org/r/20240906075439.98476-7-tzimmermann@suse.de
Signed-off-by: Lee Jones <lee@kernel.org>
2024-09-30 16:49:41 +01:00
Thomas Zimmermann
7629628d61 backlight: hx8357: Use lcd power constants
Replace FB_BLANK_ constants with their counterparts from the
lcd subsystem. The values are identical, so there's no change
in functionality.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Link: https://lore.kernel.org/r/20240906075439.98476-6-tzimmermann@suse.de
Signed-off-by: Lee Jones <lee@kernel.org>
2024-09-30 16:49:41 +01:00
Thomas Zimmermann
20929e3691 backlight: corgi_lcd: Use lcd power constants
Replace FB_BLANK_ constants with their counterparts from the
lcd subsystem. The values are identical, so there's no change
in functionality.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Link: https://lore.kernel.org/r/20240906075439.98476-5-tzimmermann@suse.de
Signed-off-by: Lee Jones <lee@kernel.org>
2024-09-30 16:49:41 +01:00
Thomas Zimmermann
48ffe2074c backlight: lcd: Add LCD_POWER_ constants for power states
Duplicate FB_BLANK_ constants as LCD_POWER_ constants in the lcd
header file. Allows lcd drivers to avoid including the fbdev header
file and removes a compile-time dependency between the two subsystems.

The new LCD_POWER_ constants have the same values as their
FB_BLANK_ counterparts. Hence semantics does not change and the lcd
drivers can be converted one by one. Each instance of FB_BLANK_UNBLANK
becomes LCD_POWER_ON, each of FB_BLANK_POWERDOWN becomes LCD_POWER_OFF,
FB_BLANK_NORMAL becomes LCD_POWER_REDUCED and FB_BLANK_VSYNC_SUSPEND
becomes LCD_POWER_REDUCED_VSYNC_SUSPEND.

Lcd code or drivers do not use FB_BLANK_HSYNC_SUSPEND, so no
new constants for this is being added. The tokens LCD_POWER_REDUCED
and LCD_POWER_REDUCED_VSYNC_SUSPEND are deprecated and drivers should
replace them with LCD_POWER_ON and LCD_POWER_OFF.

See also commit a1cacb8a8e ("backlight: Add BACKLIGHT_POWER_ constants
for power states"), which added similar constants for backlight drivers.

v2:
- fix typo in commit description

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Link: https://lore.kernel.org/r/20240906075439.98476-4-tzimmermann@suse.de
Signed-off-by: Lee Jones <lee@kernel.org>
2024-09-30 16:49:41 +01:00
Thomas Zimmermann
26228256b7 backlight: lcd: Test against struct fb_info.lcd_dev
Add struct fb_info.lcd_dev for fbdev drivers to store a reference to
their lcd device. Update the lcd's fb_notifier_callback() to test for
this field. The lcd module can now detect if an lcd device belongs to
an fbdev device.

This works similar to the bl_dev for backlights and will allow for
the removal of the check_fb callback from several fbdev driver's lcd
devices.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Link: https://lore.kernel.org/r/20240906075439.98476-3-tzimmermann@suse.de
Signed-off-by: Lee Jones <lee@kernel.org>
2024-09-30 16:49:41 +01:00
Thomas Zimmermann
d36870367c backlight: lcd: Rearrange code in fb_notifier_callback()
First acquire the ops_lock and do all tests while holding it. Rearranges
the code in lcd's fb_notifier_callback() to resemble the callback in
the backlight module. This will simplify later changes to these tests.

v2:
- avoid gotos by using guard(mutex) (Daniel)
- fix typos in commit description (Daniel)

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Link: https://lore.kernel.org/r/20240906075439.98476-2-tzimmermann@suse.de
Signed-off-by: Lee Jones <lee@kernel.org>
2024-09-30 16:49:41 +01:00
Peng Fan
f79473ed92 pm: cpupower: Makefile: Allow overriding cross-compiling env params
Allow overriding the cross-comple env parameters to make it
easier for Yocto users. Then cross-compiler toolchains to build
cpupower with only two steps:
- source (toolchain path)/environment-setup-armv8a-poky-linux
- make

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
2024-09-30 09:40:36 -06:00
Peng Fan
c0dd6507ab pm: cpupower: bench: print config file path when open cpufreq-bench.conf fails
Print out the config file path when fopen failed. It will be easy
for users to know where to create the file.

Since we are here, use strerror to drop the usage of perror.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
2024-09-30 09:40:30 -06:00
Tor Vic
7043a9f77c tools/power/cpupower: Add documentation for some recently introduced options
The 'cpupower-set' tool has been enhanced with new features:

  commit f2ab555711 ("cpupower: Add EPP value change support")
  commit df8776b036 ("cpupower: Add support for amd_pstate mode change")
  commit eb426fc6bd ("cpupower: Add turbo-boost support in cpupower")

However, the corresponding manpage was never updated.

Add a basic description of these new options to the existing manpage.

Commit description updated to fix checkpatch errors: Shuah Khan

Signed-off-by: Tor Vic <torvic9@mailbox.org>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
2024-09-30 09:39:47 -06:00
Arnaldo Carvalho de Melo
7ae76b32f9 tools include UAPI: Sync linux/sched.h copy with the kernel sources
Picking the changes from:

  f0e1a0643a ("sched_ext: Implement BPF extensible scheduler class")

The inclusion of the SCHED_EXT define doesn't cause any change in
behaviour in tools/perf.

This just silences this perf tools build warning:

  diff -u tools/perf/trace/beauty/include/uapi/sound/asound.h include/uapi/sound/asound.h

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Ian Rogers <irogers@google.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Tejun Heo <tj@kernel.org>
Link: https://lore.kernel.org/lkml/ZvrDShNVXotZpiwk@x1
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2024-09-30 12:38:01 -03:00
Arnaldo Carvalho de Melo
c850897b6c tools include UAPI: Sync sound/asound.h copy with the kernel sources
Picking the changes from:

  37745918e0 ("ALSA: timer: Introduce virtual userspace-driven timers")

Which entails no changes in the tooling side as it only introduces new
SNDRV_TIMER_IOCTL_ ioctls, and the ones tracked by scripts in
tools/perf/trace/beauty/ are only SNDRV_PCM_IOCTL_ and SNDRV_CTL_IOCTL_,
we still need to support SNDRV_TIMER_IOCTL_ ones, but that probably will
be one of the first for a BTF enumeration based approach :-)

This silences this perf tools build warning:

  diff -u tools/perf/trace/beauty/include/uapi/sound/asound.h include/uapi/sound/asound.h

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Ian Rogers <irogers@google.com>
Cc: Ivan Orlov <ivan.orlov0322@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Takashi Iwai <tiwai@suse.de>
Link: https://lore.kernel.org/lkml/ZvrB-g_E7g2ArlYW@x1
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2024-09-30 12:21:54 -03:00
Steven Rostedt
f1f36e22be ftrace: Have calltime be saved in the fgraph storage
The calltime field in the shadow stack frame is only used by the function
graph tracer and profiler. But now that there's other users of the function
graph infrastructure, this adds overhead and wastes space on the shadow
stack. Move the calltime to the fgraph data storage, where the function
graph and profiler entry functions will save it in its own graph storage and
retrieve it in its exit functions.

Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Jiri Olsa <olsajiri@gmail.com>
Link: https://lore.kernel.org/20240914214827.096968730@goodmis.org
Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
2024-09-30 11:12:46 -04:00
Steven Rostedt
3c9880f3ab ftrace: Use a running sleeptime instead of saving on shadow stack
The fgraph "sleep-time" option tells the function graph tracer and the
profiler whether to include the time a function "sleeps" (is scheduled off
the CPU) in its duration for the function. By default it is true, which
means the duration of a function is calculated by the timestamp of when the
function was entered to the timestamp of when it exits.

If the "sleep-time" option is disabled, it needs to remove the time that the
task was not running on the CPU during the function. Currently it is done in
a sched_switch tracepoint probe where it moves the "calltime" (time of entry
of the function) forward by the sleep time calculated. It updates all the
calltime in the shadow stack.

This is time consuming for those users of the function graph tracer that
does not care about the sleep time. Instead, add a "ftrace_sleeptime" to the
task_struct that gets the sleep time added each time the task wakes up. Then
have the function entry save the current "ftrace_sleeptime" and on function
exit, move the calltime forward by the difference of the current
"ftrace_sleeptime" from the saved sleeptime.

This removes one dependency of "calltime" needed to be on the shadow stack.
It also simplifies the code that removes the sleep time of functions.

TODO: Only enable the sched_switch tracepoint when this is needed.

Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Jiri Olsa <olsajiri@gmail.com>
Link: https://lore.kernel.org/20240914214826.938908568@goodmis.org
Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
2024-09-30 11:12:46 -04:00
Steven Rostedt
a312a0f783 fgraph: Use fgraph data to store subtime for profiler
Instead of having the "subtime" for the function profiler in the
infrastructure ftrace_ret_stack structure, have it use the fgraph data
reserve and retrieve functions.

This will keep the limited shadow stack from wasting 8 bytes for something
that is seldom used.

Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Jiri Olsa <olsajiri@gmail.com>
Link: https://lore.kernel.org/20240914214826.780323141@goodmis.org
Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
2024-09-30 11:12:46 -04:00
Masami Hiramatsu (Google)
a370b72ec7 tracing: Add a comment about ftrace_regs definition
To clarify what will be expected on ftrace_regs, add a comment to the
architecture independent definition of the ftrace_regs.

Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
2024-09-30 11:12:46 -04:00
Masami Hiramatsu (Google)
c54a1a06da tracing: Fix function timing profiler to initialize hashtable
Since the new fgraph requires to initialize fgraph_ops.ops.func_hash before
calling register_ftrace_graph(), initialize it with default (tracing all
functions) parameter.

Cc: stable@vger.kernel.org
Fixes: 5fccc7552c ("ftrace: Add subops logic to allow one ops to manage many")
Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
2024-09-30 11:12:46 -04:00
Christian Loehle
38f83090f5 cpuidle: menu: Remove iowait influence
Remove CPU iowaiters influence on idle state selection.

Remove the menu notion of performance multiplier which increased with
the number of tasks that went to iowait sleep on this CPU and haven't
woken up yet.

Relying on iowait for cpuidle is problematic for a few reasons:

 1. There is no guarantee that an iowaiting task will wake up on the
    same CPU.

 2. The task being in iowait says nothing about the idle duration, we
    could be selecting shallower states for a long time.

 3. The task being in iowait doesn't always imply a performance hit
    with increased latency.

 4. If there is such a performance hit, the number of iowaiting tasks
    doesn't directly correlate.

 5. The definition of iowait altogether is vague at best, it is
    sprinkled across kernel code.

Signed-off-by: Christian Loehle <christian.loehle@arm.com>
Link: https://patch.msgid.link/20240905092645.2885200-2-christian.loehle@arm.com
[ rjw: Minor edits in the changelog ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2024-09-30 17:00:55 +02:00
Shen Lichuan
515ef92b49 Input: correct typos in multiple comments across misc drivers
Fixed some confusing typos that were currently identified witch codespell,
the details are as follows:

-in the code comments:
drivers/input/misc/drv2665.c:18: Contol ==> Control
drivers/input/misc/drv2667.c:19: Contol ==> Control
drivers/input/misc/ideapad_slidebar.c:26: meaningfull ==> meaningful
drivers/input/misc/ims-pcu.c:742: bootoloader ==> bootloader
drivers/input/misc/kxtj9.c:28: funtion ==> function
drivers/input/misc/soc_button_array.c:518: indentical ==> identical
drivers/input/misc/wistron_btns.c:274: satelite ==> satellite
drivers/input/misc/yealink.c:380: singe ==> single
drivers/input/misc/yealink.c:617: coresponding ==> corresponding

Signed-off-by: Shen Lichuan <shenlichuan@vivo.com>
Link: https://lore.kernel.org/r/20240926075515.10042-1-shenlichuan@vivo.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2024-09-30 08:00:16 -07:00