aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2024-06-22dt-bindings: clock: sun50i-h616-ccu: Add GPADC clocksChris Morgan2-0/+2
Add the required clock bindings for the GPADC. Signed-off-by: Chris Morgan <[email protected]> Acked-by: Jernej Skrabec <[email protected]> Reviewed-by: Andre Przywara <[email protected]> Acked-by: Conor Dooley <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Chen-Yu Tsai <[email protected]>
2024-06-22spi: add devm_spi_optimize_message() helperDavid Lechner3-0/+30
This adds a new helper function devm_spi_optimize_message() that automatically registers spi_unoptimize_message() to be called when the device is removed. Signed-off-by: David Lechner <[email protected]> Link: https://patch.msgid.link/20240621-devm_spi_optimize_message-v1-2-3f9dcba6e95e@baylibre.com Signed-off-by: Mark Brown <[email protected]>
2024-06-22Documentation: devres: add missing SPI helpersDavid Lechner1-0/+2
A few SPI devm_* helpers were missing from the devres documentation. This patch adds them. Signed-off-by: David Lechner <[email protected]> Link: https://patch.msgid.link/20240621-devm_spi_optimize_message-v1-1-3f9dcba6e95e@baylibre.com Signed-off-by: Mark Brown <[email protected]>
2024-06-22ASoC: cs530x: Support for cs530x ADCsPaul Handrigan5-0/+1279
Add support for the cs530x family of high performance ADCs. Signed-off-by: Paul Handrigan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Mark Brown <[email protected]>
2024-06-22ASoC: dt-bindings: cirrus,cs530x: Add initial DT bindingPaul Handrigan1-0/+85
Add the YAML DT bindings for the cs530x high performance audio ADCs. Signed-off-by: Paul Handrigan <[email protected]> Reviewed-by: Krzysztof Kozlowski <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Mark Brown <[email protected]>
2024-06-22net: xilinx: axienet: Enable multicast by defaultSean Anderson1-1/+0
We support multicast addresses, so enable it by default. Signed-off-by: Sean Anderson <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2024-06-22ibmvnic: Free any outstanding tx skbs during scrq resetNick Child1-0/+6
There are 2 types of outstanding tx skb's: Type 1: Packets that are sitting in the drivers ind_buff that are waiting to be batch sent to the NIC. During a device reset, these are freed with a call to ibmvnic_tx_scrq_clean_buffer() Type 2: Packets that have been sent to the NIC and are awaiting a TX completion IRQ. These are free'd during a reset with a call to clean_tx_pools() During any reset which requires us to free the tx irq, ensure that the Type 2 skb references are freed. Since the irq is released, it is impossible for the NIC to inform of any completions. Furthermore, later in the reset process is a call to init_tx_pools() which marks every entry in the tx pool as free (ie not outstanding). So if the driver is to make a call to init_tx_pools(), it must first be sure that the tx pool is empty of skb references. This issue was discovered by observing the following in the logs during EEH testing: TX free map points to untracked skb (tso_pool 0 idx=4) TX free map points to untracked skb (tso_pool 0 idx=5) TX free map points to untracked skb (tso_pool 1 idx=36) Fixes: 65d6470d139a ("ibmvnic: clean pending indirect buffs during reset") Signed-off-by: Nick Child <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2024-06-22dt-bindings: adc: ad7173: add support for ad411xDumitru Ceclan1-2/+192
Add support for: AD4111, AD4112, AD4114, AD4115, AD4116. AD411x family ADCs support a VCOM pin. The purpose of this pin is to offer a dedicated common-mode voltage input for single-ended channels. This pin is specified as supporting a differential channel with VIN10 on model AD4116. AD4111/AD4112 support current channels. Support is implemented using single-channel and "adi,current-channel". Reviewed-by: Conor Dooley <[email protected]> Signed-off-by: Dumitru Ceclan <[email protected]> Reviewed-by: Nuno Sa <[email protected]> Reviewed-by: David Lechner <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jonathan Cameron <[email protected]>
2024-06-22dt-bindings: iio: adc: Add common-mode-channel propertyDumitru Ceclan1-0/+11
There are ADCs that are differential but support to measure single-ended signals on the same channels by connecting a constant voltage to the negative input pin. This property allows to properly define a single-ended channel that requires two inputs to be specified. Software can use the presence of this property to mark the channel as not differential. Reviewed-by: Conor Dooley <[email protected]> Signed-off-by: Dumitru Ceclan <[email protected]> Reviewed-by: Nuno Sa <[email protected]> Reviewed-by: David Lechner <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jonathan Cameron <[email protected]>
2024-06-22iio: adc: ad7944: use devm_regulator_get_enable_read_voltageDavid Lechner1-42/+12
This makes use of the new devm_regulator_get_enable_read_voltage() function to reduce boilerplate code. Signed-off-by: David Lechner <[email protected]> Reviewed-by: Nuno Sa <[email protected]> Link: https://patch.msgid.link/20240612-iio-adc-ref-supply-refactor-v2-5-fa622e7354e9@baylibre.com Signed-off-by: Jonathan Cameron <[email protected]>
2024-06-22iio: adc: ad7793: use devm_regulator_get_enable_read_voltageDavid Lechner1-21/+3
This makes use of the new devm_regulator_get_enable_read_voltage() function to reduce boilerplate code. Signed-off-by: David Lechner <[email protected]> Reviewed-by: Nuno Sa <[email protected]> Link: https://patch.msgid.link/20240612-iio-adc-ref-supply-refactor-v2-4-fa622e7354e9@baylibre.com Signed-off-by: Jonathan Cameron <[email protected]>
2024-06-22iio: adc: ad7292: use devm_regulator_get_enable_read_voltageDavid Lechner1-30/+6
This makes use of the new devm_regulator_get_enable_read_voltage() function to reduce boilerplate code. Signed-off-by: David Lechner <[email protected]> Reviewed-by: Nuno Sa <[email protected]> Link: https://patch.msgid.link/20240612-iio-adc-ref-supply-refactor-v2-3-fa622e7354e9@baylibre.com Signed-off-by: Jonathan Cameron <[email protected]>
2024-06-22iio: adc: ad7266: use devm_regulator_get_enable_read_voltageDavid Lechner1-27/+6
This makes use of the new devm_regulator_get_enable_read_voltage() function to reduce boilerplate code. Signed-off-by: David Lechner <[email protected]> Reviewed-by: Nuno Sa <[email protected]> Link: https://patch.msgid.link/20240612-iio-adc-ref-supply-refactor-v2-2-fa622e7354e9@baylibre.com Signed-off-by: Jonathan Cameron <[email protected]>
2024-06-22iio: adc: ad7192: Clean up devAlisa-Dariana Roman1-35/+30
Clean up by using a local variable struct device *dev. Also use dev_err_probe where possible. Signed-off-by: Alisa-Dariana Roman <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jonathan Cameron <[email protected]>
2024-06-22iio: adc: adi-axi-adc: improve probe() error messagingTrevor Gamblin1-3/+6
The current error handling for calls such as devm_clk_get_enabled() in the adi-axi-adc probe() function means that, if a property such as 'clocks' (for example) is not present in the devicetree when booting a kernel with the driver enabled, the resulting error message will be vague, e.g.: |adi_axi_adc 44a00000.backend: probe with driver adi_axi_adc failed with error -2 Change the devm_clk_get_enabled(), devm_regmap_init_mmio(), and devm_iio_backend_register() checks to use dev_err_probe() with some context for easier debugging. After the change: |adi_axi_adc 44a00000.backend: error -ENOENT: failed to get clock |adi_axi_adc 44a00000.backend: probe with driver adi_axi_adc failed with error -2 Signed-off-by: Trevor Gamblin <[email protected]> Reviewed-by: Nuno Sa <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jonathan Cameron <[email protected]>
2024-06-22Input: edt-ft5x06 - add ft5426Andreas Kemnade1-0/+1
As ft5426 seems to be compatible with this driver, add it. Debug output during identification: Model "generic ft5x06 (79)", Rev. " Signed-off-by: Andreas Kemnade <[email protected]> Reviewed-by: Oliver Graute <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Dmitry Torokhov <[email protected]>
2024-06-22dt-bindings: input: touchscreen: edt-ft5x06: Add ft5426Andreas Kemnade1-0/+1
Add compatible for ft5426. Searches for documentation reveal neither edt nor evervision as some related company, only FocalTech. Signed-off-by: Andreas Kemnade <[email protected]> Acked-by: Krzysztof Kozlowski <[email protected]> Reviewed-by: Oliver Graute <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Dmitry Torokhov <[email protected]>
2024-06-22docs: i2c: summary: be clearer with 'controller/target' and 'adapter/client' ↵Wolfram Sang1-17/+24
pairs This not only includes rewording, but also where to put which emphasis on terms in this document. Signed-off-by: Wolfram Sang <[email protected]> Reviewed-by: Easwar Hariharan <[email protected]> Signed-off-by: Wolfram Sang <[email protected]>
2024-06-22docs: i2c: summary: document 'local' and 'remote' targetsWolfram Sang1-4/+9
Because Linux can be a target as well, add terminology to differentiate between Linux being the target and Linux accessing targets. Signed-off-by: Wolfram Sang <[email protected]> Reviewed-by: Easwar Hariharan <[email protected]> Signed-off-by: Wolfram Sang <[email protected]>
2024-06-22docs: i2c: summary: document use of inclusive languageWolfram Sang2-13/+25
We now have the updated I2C specs and our own Code of Conduct, so we have all we need to switch over to the inclusive terminology. Define them here. Signed-off-by: Wolfram Sang <[email protected]> Reviewed-by: Easwar Hariharan <[email protected]> Signed-off-by: Wolfram Sang <[email protected]>
2024-06-22docs: i2c: summary: update speed mode descriptionWolfram Sang1-2/+2
Fastest I2C mode is 5 MHz. Update the docs and reword the paragraph slightly. Signed-off-by: Wolfram Sang <[email protected]> Reviewed-by: Easwar Hariharan <[email protected]> Signed-off-by: Wolfram Sang <[email protected]>
2024-06-22docs: i2c: summary: update I2C specification linkWolfram Sang1-5/+3
Luckily, the specs are directly downloadable again, so update the link. Also update its title to the original name "I²C". Signed-off-by: Wolfram Sang <[email protected]> Reviewed-by: Easwar Hariharan <[email protected]> Signed-off-by: Wolfram Sang <[email protected]>
2024-06-22docs: i2c: summary: start sentences consistently.Wolfram Sang1-6/+6
Change the first paragraphs to contain only one space after the end of the previous sentence like in the rest of the document. Signed-off-by: Wolfram Sang <[email protected]> Reviewed-by: Easwar Hariharan <[email protected]> Signed-off-by: Wolfram Sang <[email protected]>
2024-06-22Input: ektf2127 - add ektf2232 supportAndreas Kemnade1-6/+30
The chip is similar, but has status bits at different positions, so use the correct bits. Signed-off-by: Andreas Kemnade <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Dmitry Torokhov <[email protected]>
2024-06-22video: agp: add remaining missing MODULE_DESCRIPTION() macrosJeff Johnson8-0/+8
With ARCH=i386, make allmodconfig && make W=1 C=1 reports: WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/char/agp/ali-agp.o WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/char/agp/ati-agp.o WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/char/agp/amd-k7-agp.o WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/char/agp/efficeon-agp.o WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/char/agp/nvidia-agp.o WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/char/agp/sworks-agp.o Add the missing invocation of the MODULE_DESCRIPTION() macro to all files which have a MODULE_LICENSE(). This includes alpha-agp.c and parisc-agp.c which, although they did not produce a warning with the i386 allmodconfig configuration, may cause this warning with other configurations. Signed-off-by: Jeff Johnson <[email protected]> Signed-off-by: Helge Deller <[email protected]>
2024-06-22dt-bindings: touchscreen: elan,ektf2127: Add EKTF2232Andreas Kemnade1-0/+1
Add a compatible for the EKTF2232, which is similar to other chips in this document. Signed-off-by: Andreas Kemnade <[email protected]> Reviewed-by: Krzysztof Kozlowski <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Dmitry Torokhov <[email protected]>
2024-06-22dt-bindings: touchscreen: convert elan,ektf2127 to json-schemaAndreas Kemnade2-25/+57
Convert EKTF2127 infrared touchscreen controller binding to DT schema and add ektf2232 compatible. Signed-off-by: Andreas Kemnade <[email protected]> Reviewed-by: Krzysztof Kozlowski <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Dmitry Torokhov <[email protected]>
2024-06-22video: console: add missing MODULE_DESCRIPTION() macrosJeff Johnson4-0/+4
With ARCH=i386, make allmodconfig && make W=1 C=1 reports: WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/video/console/mdacon.o Add the missing invocation of the MODULE_DESCRIPTION() macro to all files which have a MODULE_LICENSE(). This includes three other files which, although they did not produce a warning with the i386 allmodconfig configuration, may cause this warning with other configurations. Signed-off-by: Jeff Johnson <[email protected]> Signed-off-by: Helge Deller <[email protected]>
2024-06-22arm64: dts: ti: k3-am62*-main: Remove unwanted properties from cryptoKamlesh Gurudasani2-6/+0
As there is no child node in crypto node, remove the properties that are not needed. Signed-off-by: Kamlesh Gurudasani <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Vignesh Raghavendra <[email protected]>
2024-06-22arm64: dts: ti: k3-am62a-main: Enable crypto acceleratorKamlesh Gurudasani1-0/+8
Add the node for sa3ul crypto accelerator. Signed-off-by: Jayesh Choudhary <[email protected]> Signed-off-by: Kamlesh Gurudasani <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Vignesh Raghavendra <[email protected]>
2024-06-22counter: ti-eqep: enable clock at probeDavid Lechner1-0/+6
The TI eQEP clock is both a functional and interface clock. Since it is required for the device to function, we should be enabling it at probe. Up to now, we've just been lucky that the clock was enabled by something else on the system already. Fixes: f213729f6796 ("counter: new TI eQEP driver") Reviewed-by: Judith Mendez <[email protected]> Signed-off-by: David Lechner <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: William Breathitt Gray <[email protected]>
2024-06-21Merge tag 'batadv-net-pullrequest-20240621' of ↵Jakub Kicinski2-3/+71
git://git.open-mesh.org/linux-merge Simon Wunderlich says: ==================== Here are some batman-adv bugfixes: - Don't accept TT entries for out-of-spec VIDs, by Sven Eckelmann - Revert "batman-adv: prefer kfree_rcu() over call_rcu() with free-only callbacks", by Linus Lüssing * tag 'batadv-net-pullrequest-20240621' of git://git.open-mesh.org/linux-merge: Revert "batman-adv: prefer kfree_rcu() over call_rcu() with free-only callbacks" batman-adv: Don't accept TT entries for out-of-spec VIDs ==================== Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
2024-06-21Merge tag 'linux-can-fixes-for-6.10-20240621' of ↵Jakub Kicinski6-17/+86
git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can Marc Kleine-Budde says: ==================== pull-request: can 2024-06-21 The first patch is by Oleksij Rempel, it enhances the error handling for tightly received RTS message in the j1939 protocol. Shigeru Yoshida's patch fixes a kernel information leak in j1939_send_one() in the j1939 protocol. Followed by a patch by Oleksij Rempel for the j1939 protocol, to properly recover from a CAN bus error during BAM transmission. A patch by Chen Ni properly propagates errors in the kvaser_usb driver. The last patch is by Vitor Soares, that fixes an infinite loop in the mcp251xfd driver is SPI async sending fails during xmit. * tag 'linux-can-fixes-for-6.10-20240621' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can: can: mcp251xfd: fix infinite loop when xmit fails can: kvaser_usb: fix return value for hif_usb_send_regout net: can: j1939: recover socket queue on CAN bus error during BAM transmission net: can: j1939: Initialize unused data in j1939_send_one() net: can: j1939: enhanced error handling for tightly received RTS messages in xtp_rx_rts_session_new ==================== Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
2024-06-21Merge tag 'linux-can-next-for-6.11-20240621' of ↵Jakub Kicinski19-173/+613
git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next Marc Kleine-Budde says: ==================== pull-request: can-next 2024-06-21 The first 2 patches are by Andy Shevchenko, one cleans up the includes in the mcp251x driver, the other one updates the sja100 plx_pci driver to make use of predefines PCI subvendor ID. Mans Rullgard's patch cleans up the Kconfig help text of for the slcan driver. Oliver Hartkopp provides a patch to update the documentation, which removes the ISO 15675-2 specification version where possible. The next 2 patches are by Harini T and update the documentation of the xilinx_can driver. Francesco Valla provides documentation for the ISO 15765-2 protocol. A patch by Dr. David Alan Gilbert removes an unused struct from the mscan driver. 12 patches are by Martin Jocic. The first three add support for 3 new devices to the kvaser_usb driver. The remaining 9 first clean up the kvaser_pciefd driver, and then add support for MSI. Krzysztof Kozlowski contributes 3 patches simplifies the CAN SPI drivers by making use of spi_get_device_match_data(). The last patch is by Martin Hundebøll, which reworks the m_can driver to not enable the CAN transceiver during probe. * tag 'linux-can-next-for-6.11-20240621' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next: (24 commits) can: m_can: don't enable transceiver when probing can: mcp251xfd: simplify with spi_get_device_match_data() can: mcp251x: simplify with spi_get_device_match_data() can: hi311x: simplify with spi_get_device_match_data() can: kvaser_pciefd: Add MSI interrupts can: kvaser_pciefd: Move reset of DMA RX buffers to the end of the ISR can: kvaser_pciefd: Change name of return code variable can: kvaser_pciefd: Rename board_irq to pci_irq can: kvaser_pciefd: Add unlikely can: kvaser_pciefd: Add inline can: kvaser_pciefd: Remove unnecessary comment can: kvaser_pciefd: Skip redundant NULL pointer check in ISR can: kvaser_pciefd: Group #defines together can: kvaser_usb: Add support for Kvaser Mini PCIe 1xCAN can: kvaser_usb: Add support for Kvaser USBcan Pro 5xCAN can: kvaser_usb: Add support for Vining 800 can: mscan: remove unused struct 'mscan_state' Documentation: networking: document ISO 15765-2 can: xilinx_can: Document driver description to list all supported IPs can: isotp: remove ISO 15675-2 specification version where possible ... ==================== Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
2024-06-21vxlan: Pull inner IP header in vxlan_xmit_one().Guillaume Nault1-1/+8
Ensure the inner IP header is part of the skb's linear data before setting old_iph. Otherwise, on a non-linear skb, old_iph could point outside of the packet data. Unlike classical VXLAN, which always encapsulates Ethernet packets, VXLAN-GPE can transport IP packets directly. In that case, we need to look at skb->protocol to figure out if an Ethernet header is present. Fixes: d342894c5d2f ("vxlan: virtual extensible lan") Signed-off-by: Guillaume Nault <[email protected]> Link: https://patch.msgid.link/2aa75f6fa62ac9dbe4f16ad5ba75dd04a51d4b99.1718804000.git.gnault@redhat.com Signed-off-by: Jakub Kicinski <[email protected]>
2024-06-21perf build: Ensure libtraceevent and libtracefs versions have 3 componentsGuilherme Amadio1-2/+2
When either of these have a shorter version, like 1.8, the expression that computes the version has a syntax error that can be seen in the output of make: expr: syntax error: missing argument after + Link: https://bugs.gentoo.org/917559 Reported-by: Peter Volkov <[email protected]> Signed-off-by: Guilherme Amadio <[email protected]> Reviewed-by: Leo Yan <[email protected]> Signed-off-by: Namhyung Kim <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2024-06-21perf build: Use pkg-config for feature check for libtrace{event,fs}Guilherme Amadio2-15/+14
Needed to add required include directories for the feature detection to succeed. The header tracefs.h is installed either into the include directory /usr/include/tracefs/tracefs.h when using the Makefile, or into /usr/include/libtracefs/tracefs.h when using meson to build libtracefs. The header tracefs.h uses #include <event-parse.h> from libtraceevent, so pkg-config needs to pick the correct include directory for libtracefs and add the one for libtraceevent to succeed. Note that in baa2ca59ec1e31ccbe3f24ff0368152b36f68720 the variable LIBTRACEEVENT_DIR was introduced, and now the method to compile against non-standard locations requires PKG_CONFIG_PATH to be set instead, which works for both libtraceevent and libtracefs. Signed-off-by: Guilherme Amadio <[email protected]> Reviewed-by: Leo Yan <[email protected]> Signed-off-by: Namhyung Kim <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2024-06-21f2fs: assign CURSEG_ALL_DATA_ATGC if blkaddr is validJaegeuk Kim1-0/+1
mkdir /mnt/test/comp f2fs_io setflags compression /mnt/test/comp dd if=/dev/zero of=/mnt/test/comp/testfile bs=16k count=1 truncate --size 13 /mnt/test/comp/testfile In the above scenario, we can get a BUG_ON. kernel BUG at fs/f2fs/segment.c:3589! Call Trace: do_write_page+0x78/0x390 [f2fs] f2fs_outplace_write_data+0x62/0xb0 [f2fs] f2fs_do_write_data_page+0x275/0x740 [f2fs] f2fs_write_single_data_page+0x1dc/0x8f0 [f2fs] f2fs_write_multi_pages+0x1e5/0xae0 [f2fs] f2fs_write_cache_pages+0xab1/0xc60 [f2fs] f2fs_write_data_pages+0x2d8/0x330 [f2fs] do_writepages+0xcf/0x270 __writeback_single_inode+0x44/0x350 writeback_sb_inodes+0x242/0x530 __writeback_inodes_wb+0x54/0xf0 wb_writeback+0x192/0x310 wb_workfn+0x30d/0x400 The reason is we gave CURSEG_ALL_DATA_ATGC to COMPR_ADDR where the page was set the gcing flag by set_cluster_dirty(). Cc: [email protected] Fixes: 4961acdd65c9 ("f2fs: fix to tag gcing flag on page during block migration") Reviewed-by: Chao Yu <[email protected]> Tested-by: Will McVicker <[email protected]> Signed-off-by: Jaegeuk Kim <[email protected]>
2024-06-21perf arm: Workaround ARM PMUs cpu maps having offline cpusIan Rogers1-2/+8
When PMUs have a cpu map in the 'cpus' or 'cpumask' file, perf will try to open events on those CPUs. ARM doesn't remove offline CPUs meaning taking a CPU offline will cause perf commands to fail unless a CPU map is passed on the command line. More context in: https://lore.kernel.org/lkml/[email protected]/ Reported-by: Yicong Yang <[email protected]> Closes: https://lore.kernel.org/lkml/[email protected]/ Signed-off-by: Ian Rogers <[email protected]> Tested-by: Yicong Yang <[email protected]> Tested-by: Leo Yan <[email protected]> Cc: James Clark <[email protected]> Cc: Suzuki K Poulose <[email protected]> Cc: Will Deacon <[email protected]> Cc: Mike Leach <[email protected]> Cc: Leo Yan <[email protected]> Cc: [email protected] Cc: [email protected] Cc: John Garry <[email protected]> Signed-off-by: Namhyung Kim <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2024-06-22parisc: Add 64-bit gettimeofday() and clock_gettime() vDSO functionsHelge Deller3-4/+47
Add 64-bit vDSO implementations for gettimeofday() and clock_gettime(). Signed-off-by: Helge Deller <[email protected]>
2024-06-22parisc: Add 32-bit gettimeofday() and clock_gettime() vDSO functionsHelge Deller4-4/+57
Add vDSO implementations for gettimeofday(), clock_gettime() and clock_gettime64() kernel syscalls. Currently those functions are implemented as pure syscall wrappers. Signed-off-by: Helge Deller <[email protected]>
2024-06-22parisc: Clean up unistd.h fileHelge Deller1-39/+15
Clean up the internal unistd.h file, so that syscallX() can be used internally to call syscalls from userspace. This is used later by the vDSO C-code. Signed-off-by: Helge Deller <[email protected]>
2024-06-21sched_ext: Add cpuperf supportTejun Heo7-6/+252
sched_ext currently does not integrate with schedutil. When schedutil is the governor, frequencies are left unregulated and usually get stuck close to the highest performance level from running RT tasks. Add CPU performance monitoring and scaling support by integrating into schedutil. The following kfuncs are added: - scx_bpf_cpuperf_cap(): Query the relative performance capacity of different CPUs in the system. - scx_bpf_cpuperf_cur(): Query the current performance level of a CPU relative to its max performance. - scx_bpf_cpuperf_set(): Set the current target performance level of a CPU. This gives direct control over CPU performance setting to the BPF scheduler. The only changes on the schedutil side are accounting for the utilization factor from sched_ext and disabling frequency holding heuristics as it may not apply well to sched_ext schedulers which may have a lot weaker connection between tasks and their current / last CPU. With cpuperf support added, there is no reason to block uclamp. Enable while at it. A toy implementation of cpuperf is added to scx_qmap as a demonstration of the feature. v2: Ignore cpu_util_cfs_boost() when scx_switched_all() in sugov_get_util() to avoid factoring in stale util metric. (Christian) Signed-off-by: Tejun Heo <[email protected]> Reviewed-by: David Vernet <[email protected]> Cc: Rafael J. Wysocki <[email protected]> Cc: Viresh Kumar <[email protected]> Cc: Christian Loehle <[email protected]>
2024-06-21cpufreq_schedutil: Refactor sugov_cpu_is_busy()Tejun Heo1-20/+18
sugov_cpu_is_busy() is used to avoid decreasing performance level while the CPU is busy and called by sugov_update_single_freq() and sugov_update_single_perf(). Both callers repeat the same pattern to first test for uclamp and then the business. Let's refactor so that the tests aren't repeated. The new helper is named sugov_hold_freq() and tests both the uclamp exception and CPU business. No functional changes. This will make adding more exception conditions easier. Signed-off-by: Tejun Heo <[email protected]> Reviewed-by: David Vernet <[email protected]> Reviewed-by: Christian Loehle <[email protected]> Acked-by: Rafael J. Wysocki <[email protected]> Cc: Viresh Kumar <[email protected]>
2024-06-21workqueue: Remove useless pool->dying_workersLai Jiangshan1-3/+0
A dying worker is first moved from pool->workers to pool->dying_workers in set_worker_dying() and removed from pool->dying_workers in detach_dying_workers(). The whole procedure is in the some lock context of wq_pool_attach_mutex. So pool->dying_workers is useless, just remove it and keep the dying worker in pool->workers after set_worker_dying() and remove it in detach_dying_workers() with wq_pool_attach_mutex held. Cc: Valentin Schneider <[email protected]> Signed-off-by: Lai Jiangshan <[email protected]> Signed-off-by: Tejun Heo <[email protected]>
2024-06-21workqueue: Detach workers directly in idle_cull_fn()Lai Jiangshan1-26/+19
The code to kick off the destruction of workers is now in a process context (idle_cull_fn()), and the detaching of a worker is not required to be inside the worker thread now, so just do the detaching directly in idle_cull_fn(). wake_dying_workers() is renamed to detach_dying_workers() and the unneeded wakeup in wake_dying_workers() is also removed. Cc: Valentin Schneider <[email protected]> Signed-off-by: Lai Jiangshan <[email protected]> Signed-off-by: Tejun Heo <[email protected]>
2024-06-21workqueue: Don't bind the rescuer in the last working cpuLai Jiangshan1-12/+12
So that when the rescuer is woken up next time, it will not interrupt the last working cpu which might be busy on other crucial works but have nothing to do with the rescuer's incoming works. Cc: Valentin Schneider <[email protected]> Signed-off-by: Lai Jiangshan <[email protected]> Signed-off-by: Tejun Heo <[email protected]>
2024-06-21workqueue: Reap workers via kthread_stop() and remove detach_completionLai Jiangshan1-16/+19
The code to kick off the destruction of workers is now in a process context (idle_cull_fn()), so kthread_stop() can be used in the process context to replace the work of pool->detach_completion. The wakeup in wake_dying_workers() is unneeded after this change, but it is harmless, jut keep it here until next patch renames wake_dying_workers() rather than renaming it again and again. Cc: Valentin Schneider <[email protected]> Signed-off-by: Lai Jiangshan <[email protected]> Signed-off-by: Tejun Heo <[email protected]>
2024-06-21Input: ads7846 - handle HSYNC GPIOLinus Walleij1-6/+29
Add handling of HSYNC signal emitted by the TI ADS7846 if it is hooked up to a GPIO. Signed-off-by: Linus Walleij <[email protected]> Link: https://lore.kernel.org/r/[email protected] [dtor: dropped Spitz changes, kept platform data wait_for_sync option] Signed-off-by: Dmitry Torokhov <[email protected]>
2024-06-21dt-bindings: ads7846: Add hsync-gpiosLinus Walleij1-0/+1
The TI ADS7846 emits a horizontal sync signal that is usually connected to a GPIO for polling. Add a binding for this. Signed-off-by: Linus Walleij <[email protected]> Acked-by: Conor Dooley <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Dmitry Torokhov <[email protected]>