summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-01-16media: v4l: ctrls: add a control for flash/strobe durationRichard Leitner
Add a V4L2_CID_FLASH_DURATION control to set the duration of a flash/strobe pulse. This controls the length of the flash/strobe pulse output by device (typically a camera sensor) and connected to the flash controller. This is different to the V4L2_CID_FLASH_TIMEOUT control, which is implemented by the flash controller and defines a limit after which the flash is "forcefully" turned off again. Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Richard Leitner <richard.leitner@linux.dev> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
2026-01-16media: i2c: imx219: Inline imx219_update_pad_format() in its callerLaurent Pinchart
The imx219_update_pad_format() is short and called from a single place, in imx219_set_pad_format(). Inline the code in the caller to keep all format adjustments grouped in a single place and improve readability. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> Reviewed-by: Dave Stevenson <dave.stevenson@raspberrypi.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
2026-01-16media: ccs: Make supported mbus code bitmask a u64Sakari Ailus
Prepare for adding more media bus codes. Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
2026-01-16media: ccs: Remove which parameter from ccs_propagateSakari Ailus
ccs_propagate() no longer stores information in the driver's context struct. The which parameter can thus be removed. Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
2026-01-16media: ccs: Compute scaling configuration from sub-device stateSakari Ailus
Compute scaling configuration from sub-device state instead of storing it to the driver's device context struct. Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
2026-01-16media: ccs: Compute binning configuration from sub-device stateSakari Ailus
Calculate binning configuration from sub-device state so the state related configuration can be removed from the driver's device context struct. Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
2026-01-16media: ccs: Switch to guard and scoped_guardSakari Ailus
Replace the use of mutex_{,un}lock() by guard() and scoped_guard() where it makes sense (i.e. everywhere). Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
2026-01-16media: ccs: Rely on sub-device state lockingSakari Ailus
Rely on sub-device state locking to serialise access to driver's data structures. The driver-provided mutex is used as the state lock for all driver sub-devices. Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
2026-01-16media: ccs: Remove ccs_get_crop_compose helperSakari Ailus
As it's now easier to obtain the necessary information on crop and compose rectangles after moving to sub-device state, remove the ccs_get_crop_compose helper. Also remove the comp arguments of the compose goodness calculators and make related local variables and function arguments const where applicable. Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
2026-01-16media: i2c: ov01a10: Fix digital gain rangeMehdi Djait
Digital gain wraps-around at the maximum of 16838 / 0x3fff. Fix the maximum digital gain by setting it to 0x3fff. Signed-off-by: Mehdi Djait <mehdi.djait@linux.intel.com> Reviewed-by: Hans de Goede <johannes.goede@oss.qualcomm.com> Fixes: 0827b58dabff ("media: i2c: add ov01a10 image sensor driver") Cc: stable@vger.kernel.org Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
2026-01-16media: ov01a10: Fix indentationSakari Ailus
Fix indentation in ov01a10_get_pm_resources(). Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
2026-01-16media: ipu6: Update e-mail addressesSakari Ailus
Remove Hongju's e-mail address that no longer works. Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
2026-01-16media: stm32: dcmipp: bytecap: remove useless cmier variableAlain Volmat
The struct dcmipp_bytecap_device embeds a cmier variable which is actually only set once and then used in several places for interrupt mask or interrupt enable/disable. Use the DCMIPP_CMIER_P0ALL bitfield macro directly instead of using it through the cmier variable. There is also no need to mask again vcap->cmsr2 against enabled interrupts bit since this has already been done when storing the interrupt status into the cmsr2 variable. Signed-off-by: Alain Volmat <alain.volmat@foss.st.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
2026-01-16media: stm32: dcmipp: byteproc: only allow compose with 8/16bit fmtsAlain Volmat
Since the byteproc is working at byte level, it is not possible to perform decimation with formats other than 8 or 16 bit per pixel. Ensure any other format won't be able to set a compose. Signed-off-by: Alain Volmat <alain.volmat@foss.st.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
2026-01-16media: stm32: dcmipp: add Y10-Y12-Y14 in all subdevsAlain Volmat
DCMIPP can handle Y8 to Y14 input formats however until now only Y8 was handled. Add support for Y10-Y12-Y14 in all relevant subdevs. Signed-off-by: Alain Volmat <alain.volmat@foss.st.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
2026-01-16media: stm32: dcmipp: Add RGB888 format support overallAlain Volmat
Add entries within several subdevs in order to handle RGB888 format. Signed-off-by: Alain Volmat <alain.volmat@foss.st.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
2026-01-16media: stm32: dcmipp: byteproc: disable compose for all bayersAlain Volmat
Avoid possibility to perform compose on all frames which mbus code is within the bayer range or jpeg format. Fixes: 822c72eb1519 ("media: stm32: dcmipp: add bayer 10~14 bits formats") Cc: stable@vger.kernel.org Signed-off-by: Alain Volmat <alain.volmat@foss.st.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
2026-01-16media: stm32: dcmipp: bytecap: clear all interrupts upon stream stopAlain Volmat
Ensure that there are no pending interrupts after we have stopped the pipeline. Indeed, it could happen that new interrupt has been generated during the stop_streaming processing hence clear them in order to avoid getting a new interrupt right from the start of a next start_streaming. Fixes: 28e0f3772296 ("media: stm32-dcmipp: STM32 DCMIPP camera interface driver") Cc: stable@vger.kernel.org Signed-off-by: Alain Volmat <alain.volmat@foss.st.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
2026-01-16media: i2c: Add note to prevent buggy code re-useKrzysztof Kozlowski
adv7604 and et8ek8 sensor drivers have mixed up logical and line level for reset/powerdown signal. They call it a reset signal (it indeed behaves like that), but drivers assert the reset to operate which is clearly incorrect and relies on wrong ACTIVE_HIGH flag in the DTS. People in discussions copy existing poor code and claim they can repeat same mistake, so add a note to prevent that. Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
2026-01-16media: stm32: dcmipp: avoid naming clock if only one is neededAlain Volmat
When DCMIPP requires only a single clock (kclk), avoid relying on its name to obtain it. The introduction of MP25 support added the mclk, which necessitated naming the first clock kclk. However, this breaks backward compatibility with existing MP13 device trees that do not specify clock names. Fixes: 686f27f7ea37 ("media: stm32: dcmipp: add core support for the stm32mp25") Signed-off-by: Alain Volmat <alain.volmat@foss.st.com> Cc: Stable@vger.kernel.org # 6.14.x: 7f487562af49 media: stm32: dcmipp: correct ret type in dcmipp_graph_notify_bound Cc: Stable@vger.kernel.org # 6.14.x: c715dd62da30 media: stm32: dcmipp: add has_csi2 & needs_mclk in match data Cc: Stable@vger.kernel.org # 6.14.x: Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
2026-01-16MAINTAINERS: Promote Frank Li as i.MX7/8 media maintainerFrank Li
Move Rui Miguel Silva to reviewer since he does not have sufficient time to maintain i.MX7/8 media drivers. Frank Li has the hardware, complete documentation, and has participated actively in patch review. Promote him as the i.MX7/8 media drivers maintainer. Reviewed-by: Rui Miguel Silva <rmfrfs@gmail.com> Signed-off-by: Frank Li <Frank.Li@nxp.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
2026-01-16media: ccs: Accommodate C-PHY into the calculationDavid Heidelberg
We need to set correct mode for PLL to calculate correct frequency. Signalling mode is known at this point, so use it for that. Fixes: 47b6eaf36eba ("media: ccs-pll: Differentiate between CSI-2 D-PHY and C-PHY") Reviewed-by: Mehdi Djait <mehdi.djait@linux.intel.com> Signed-off-by: David Heidelberg <david@ixit.cz> [Sakari Ailus: Drop extra newline.] Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
2026-01-16media: ccs: Use devm_v4l2_sensor_clk_get()Sakari Ailus
Rely on devm_v4l2_sensor_clk_get() to obtain the sensor's external clock. Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
2026-01-16media: ccs: Clean up ccs_get_hwcfg() a littleSakari Ailus
Fix coding style issues and do other small cleanups in ccs_get_hwcfg(). Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Reviewed-by: David Heidelberg <david@ixit.cz> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
2026-01-16media: i2c: ov5647: switch to {enable,disable}_streamsXiaolei Wang
Switch from s_stream to enable_streams and disable_streams callbacks. Signed-off-by: Xiaolei Wang <xiaolei.wang@windriver.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Tarang Raval <tarang.raval@siliconsignals.io> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
2026-01-16media: i2c: ov5647: Switch to using the sub-device state lockXiaolei Wang
Switch to using the sub-device state lock and properly call v4l2_subdev_init_finalize() / v4l2_subdev_cleanup() on probe() / remove(). Signed-off-by: Xiaolei Wang <xiaolei.wang@windriver.com> Reviewed-by: Tarang Raval <tarang.raval@siliconsignals.io> [Sakari Ailus: Remove now-redundant assignment of control handler lock.] Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
2026-01-16media: i2c: ov5647: Convert to CCI register access helpersXiaolei Wang
Use the new common CCI register access helpers to replace the private register access helpers in the ov5647 driver. This simplifies the driver by reducing the amount of code. Signed-off-by: Xiaolei Wang <xiaolei.wang@windriver.com> Reviewed-by: Tarang Raval <tarang.raval@siliconsignals.io> Reviewed-by: Hans de Goede <johannes.goede@oss.qualcomm.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
2026-01-16staging: rtl8723bs: remove unnecessary blank linesArchitAnant
Remove blank lines before closing braces to comply with the Linux kernel coding style. Issue identified by checkpatch.pl. Signed-off-by: ArchitAnant <architanant5@gmail.com> Link: https://patch.msgid.link/20260114094949.14825-3-architanant5@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-16staging: rtl8723bs: core/rtw_mlme_ext.c: flatten indentation with early loop ↵William Hansen-Baird
continue in OnAssocReq() Replace large if (memcmp(p+2, WMM_IE, 6)) inside the for (;;) loop, which ends with a break, with an early continue. This reduces deep nesting and is purely stylistic. Signed-off-by: William Hansen-Baird <william.hansen.baird@gmail.com> Link: https://patch.msgid.link/20260113211433.89512-2-william.hansen.baird@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-16staging: rtl8723bs: core/rtw_mlme_ext.c: flatten control flow in OnAssocReq()William Hansen-Baird
Rewrite if-else construct with an early exit to reduce indentation, and make the execution clearer. Signed-off-by: William Hansen-Baird <william.hansen.baird@gmail.com> Link: https://patch.msgid.link/20260113211433.89512-1-william.hansen.baird@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-16staging: rtl8723bs: Rename supportRate and SupportRateNum to snake_caseMatous Jarolim
renamed variables supportRate and supportRateNum to support_rate and support_rate_num to adhere to the linux kernel coding style which mandates snake_case for variable names. This fixes the following checkpatch.pl warning: CHECK: Avoid CamelCase: <supportRate> CHECK: Avoid CamelCase: <supportRateNum> Signed-off-by: Matous Jarolim <matous.jarolim.lkml@gmail.com> Link: https://patch.msgid.link/20260113170346.557634-1-matous.jarolim.lkml@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-16staging: rtl8723bs: Fix block comment alignment in HalHWImg8723B_RF.cMahad Ibrahim
Fix checkpatch.pl warnings regarding block comment alignment. Adhere to kernel coding style by fixing block comments. Signed-off-by: Mahad Ibrahim <mahad.ibrahim.dev@gmail.com> Link: https://patch.msgid.link/20260112174227.14922-8-mahad.ibrahim.dev@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-16staging: rtl8723bs: Fix spacing coding style issues in HalHWImg8723B_BB.cMahad Ibrahim
Fix checkpatch.pl checks regarding "spaces preferred around that" operator. Adhere to kernel coding standards by adding spaces around arithmetic and bitwise operations. Signed-off-by: Mahad Ibrahim <mahad.ibrahim.dev@gmail.com> Link: https://patch.msgid.link/20260112174227.14922-6-mahad.ibrahim.dev@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-16staging: rtl8723bs: Fix block comment alignment in HalHWImg8723B_BB.cMahad Ibrahim
Fix checkpatch.pl warnings regarding block comment alignment. The warnings were: "Block comments should align the * on each line". This patch aligns the asterisks in the block comments so they adhere to the kernel coding style. Signed-off-by: Mahad Ibrahim <mahad.ibrahim.dev@gmail.com> Link: https://patch.msgid.link/20260112174227.14922-5-mahad.ibrahim.dev@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-16staging: rtl8723bs: Fix spaces around operator checks in HalHWImg8723B_MAC.cMahad Ibrahim
Fix checkpatch.pl checks in HalHWImg8723B_MAC.c regarding: -Spaces preferred around that operator Adhere to kernel coding style by adding spaces around operators. Signed-off-by: Mahad Ibrahim <mahad.ibrahim.dev@gmail.com> Link: https://patch.msgid.link/20260112174227.14922-3-mahad.ibrahim.dev@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-16staging: rtl8723bs: Fix block comment alignment in HalHWImg8723B_MAC.cMahad Ibrahim
Fix checkpatch warnings regarding block comment alignment. The warnings were: "Block comments should align the * on each line". This patch aligns the asterisks in the block comments to match the kernel coding style. Signed-off-by: Mahad Ibrahim <mahad.ibrahim.dev@gmail.com> Link: https://patch.msgid.link/20260112174227.14922-2-mahad.ibrahim.dev@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-16staging: greybus: add WQ_PERCPU to alloc_workqueue usersMarco Crivellari
This continues the effort to refactor workqueue APIs, which began with the introduction of new workqueues and a new alloc_workqueue flag in: commit 128ea9f6ccfb ("workqueue: Add system_percpu_wq and system_dfl_wq") commit 930c2ea566af ("workqueue: Add new WQ_PERCPU flag") The refactoring is going to alter the default behavior of alloc_workqueue() to be unbound by default. With the introduction of the WQ_PERCPU flag (equivalent to !WQ_UNBOUND), any alloc_workqueue() caller that doesn’t explicitly specify WQ_UNBOUND must now use WQ_PERCPU. For more details see the Link tag below. In order to keep alloc_workqueue() behavior identical, explicitly request WQ_PERCPU. Link: https://lore.kernel.org/all/20250221112003.1dSuoGyc@linutronix.de/ Suggested-by: Tejun Heo <tj@kernel.org> Signed-off-by: Marco Crivellari <marco.crivellari@suse.com> Link: https://patch.msgid.link/20260113135737.190636-1-marco.crivellari@suse.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-16staging: rtl8723bs: remove unnecessary else after breakVo Thanh Cong
This patch fixes the checkpatch.pl warning: "WARNING: else is not generally useful after a break or return" In sdio_ops_linux.c, the else blocks after break statements are redundant. Removing them reduces indentation level and improves code readability. Signed-off-by: Vo Thanh Cong <thanhcongvo079@gmail.com> Link: https://patch.msgid.link/20260113103738.207570-1-thanhcongvo079@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-16Merge tag 'icc-6.19-rc6' of ↵Greg Kroah-Hartman
ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/djakov/icc into char-misc-linus interconnect fixes for v6.19-rc This contains a few small fixes for the current cycle. - dt-bindings: interconnect: qcom,sa8775p-rpmh: Fix incorrectly added reg and clocks - MAINTAINERS: Add interconnect-clk.h to interconnect API entry - interconnect: debugfs: initialize src_node and dst_node to empty strings Signed-off-by: Georgi Djakov <djakov@kernel.org> * tag 'icc-6.19-rc6' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/djakov/icc: interconnect: debugfs: initialize src_node and dst_node to empty strings MAINTAINERS: Add interconnect-clk.h to interconnect API entry dt-bindings: interconnect: qcom,sa8775p-rpmh: Fix incorrectly added reg and clocks
2026-01-16usb: misc: onboard_dev: Add WCH CH334 USB2.0 Hub (1a86:8091)Chaoyi Chen
The WCH CH334/CH335[0] are USB2.0 protocol compliant 4-port USB HUB controller chips, supporting USB2.0 high-speed and full-speed for upstream ports, and USB2.0 high-speed 480Mbps, full-speed 12Mbps and low-speed 1.5Mbps for downstream ports, supporting not only low-cost STT mode (single TT schedules 4 downstream ports in time share), but also supports high performance MTT mode (4 TTs each corresponding to 1 port, concurrent processing). [0]: https://www.wch-ic.com/downloads/CH334DS1_PDF.html Signed-off-by: Chaoyi Chen <chaoyi.chen@rock-chips.com> Link: https://patch.msgid.link/20260113095827.115-3-kernel@airkyi.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-16dt-bindings: usb: Add binding for WCH CH334/CH335 hub controllerChaoyi Chen
The WCH CH334/CH335[0] are USB2.0 protocol compliant 4-port USB HUB controller chips, supporting USB2.0 high-speed and full-speed for upstream ports, and USB2.0 high-speed 480Mbps, full-speed 12Mbps and low-speed 1.5Mbps for downstream ports, supporting not only low-cost STT mode (single TT schedules 4 downstream ports in time share), but also supports high performance MTT mode (4 TTs each corresponding to 1 port, concurrent processing). Add a device tree binding for it. [0]: https://www.wch-ic.com/downloads/CH334DS1_PDF.html Signed-off-by: Chaoyi Chen <chaoyi.chen@rock-chips.com> Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Link: https://patch.msgid.link/20260113095827.115-2-kernel@airkyi.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-16usb: dwc3: Add dwc pointer to dwc3_readl/writelPrashanth K
Use dwc pointer in dwc3_readl() dwc3_writel() instead of passing the dwc->regs. This would help us access the dwc structure and log the base address in traces. There's no functional changes in this patch, just refactoring existing APIs. Signed-off-by: Prashanth K <prashanth.k@oss.qualcomm.com> Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com> Link: https://patch.msgid.link/20260114100748.2950103-3-prashanth.k@oss.qualcomm.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-16usb: dwc3: Remove of dep->regsPrashanth K
Remove dep->regs from struct dwc3_ep and reuse dwc->regs instead. Thus eliminating redundant iomem addresses and making register access more consistent across the driver. Signed-off-by: Prashanth K <prashanth.k@oss.qualcomm.com> Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com> Link: https://patch.msgid.link/20260114100748.2950103-2-prashanth.k@oss.qualcomm.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-16i2c: amd-mp2: clean up amd_mp2_find_device()Johan Hovold
Rename the driver data pointer for consistency with the rest of the driver and drop a redundant cast. Signed-off-by: Johan Hovold <johan@kernel.org> Reviewed-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com> Link: https://lore.kernel.org/r/20251210040258.60106-1-johan@kernel.org Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
2026-01-16dt-bindings: iommu: Add NVIDIA Tegra CMDQV supportAshish Mhetre
The Command Queue Virtualization (CMDQV) hardware is part of the SMMUv3 implementation on NVIDIA Tegra SoCs. It assists in virtualizing the command queue for the SMMU. Add a new device tree binding document for nvidia,tegra264-cmdqv. Also update the arm,smmu-v3 binding to include an optional nvidia,cmdqv property. This property is a phandle to the CMDQV device node, allowing the SMMU driver to associate with its corresponding CMDQV instance. Restrict this property usage to Nvidia Tegra264 only. Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Acked-by: Nicolin Chen <nicolinc@nvidia.com> Signed-off-by: Ashish Mhetre <amhetre@nvidia.com> Reviewed-by: Jon Hunter <jonathanh@nvidia.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
2026-01-16quota: fix livelock between quotactl and freeze_superAbhishek Bapat
When a filesystem is frozen, quotactl_block() enters a retry loop waiting for the filesystem to thaw. It acquires s_umount, checks the freeze state, drops s_umount and uses sb_start_write() - sb_end_write() pair to wait for the unfreeze. However, this retry loop can trigger a livelock issue, specifically on kernels with preemption disabled. The mechanism is as follows: 1. freeze_super() sets SB_FREEZE_WRITE and calls sb_wait_write(). 2. sb_wait_write() calls percpu_down_write(), which initiates synchronize_rcu(). 3. Simultaneously, quotactl_block() spins in its retry loop, immediately executing the sb_start_write() - sb_end_write() pair. 4. Because the kernel is non-preemptible and the loop contains no scheduling points, quotactl_block() never yields the CPU. This prevents that CPU from reaching an RCU quiescent state. 5. synchronize_rcu() in the freezer thread waits indefinitely for the quotactl_block() CPU to report a quiescent state. 6. quotactl_block() spins indefinitely waiting for the freezer to advance, which it cannot do as it is blocked on the RCU sync. This results in a hang of the freezer process and 100% CPU usage by the quota process. While this can occur intermittently on multi-core systems, it is reliably reproducing on a node with the following script, running both the freezer and the quota toggle on the same CPU: # mkfs.ext4 -O quota /dev/sda 2g && mkdir a_mount # mount /dev/sda -o quota,usrquota,grpquota a_mount # taskset -c 3 bash -c "while true; do xfs_freeze -f a_mount; \ xfs_freeze -u a_mount; done" & # taskset -c 3 bash -c "while true; do quotaon a_mount; \ quotaoff a_mount; done" & Adding cond_resched() to the retry loop fixes the issue. It acts as an RCU quiescent state, allowing synchronize_rcu() in percpu_down_write() to complete. Fixes: 576215cffdef ("fs: Drop wait_unfrozen wait queue") Signed-off-by: Abhishek Bapat <abhishekbapat@google.com> Link: https://patch.msgid.link/20260115213103.1089129-1-abhishekbapat@google.com Signed-off-by: Jan Kara <jack@suse.cz>
2026-01-16dt-bindings: memory: tegra: Document DBB clock for Tegra264Thierry Reding
Accesses to external memory are routed through the data backbone (DBB) on Tegra264. A separate clock feeds this path and needs to be enabled whenever an IP block makes an access to external memory. The external memory controller driver is the best place to control this clock since it knows how many devices are actively accessing memory. Document the presence of this clock on Tegra264 only. Acked-by: Rob Herring (Arm) <robh@kernel.org> Signed-off-by: Thierry Reding <treding@nvidia.com>
2026-01-16dt-bindings: tegra: pmc: Update aotag as an optional apertureJon Hunter
Not all Tegra SoCs or all versions of a particular Tegra SoC may include the AOTAG aperture. This change makes "aotag" as an optional aperture for Tegra234 and Tegra264. Co-developed-by: Prathamesh Shete <pshete@nvidia.com> Signed-off-by: Prathamesh Shete <pshete@nvidia.com> Signed-off-by: Jon Hunter <jonathanh@nvidia.com> Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org> Signed-off-by: Thierry Reding <treding@nvidia.com>
2026-01-16arm_mpam: Use non-atomic bitops when modifying feature bitmapBen Horgan
In the test__props_mismatch() kunit test we rely on the struct mpam_props being packed to ensure memcmp doesn't consider packing. Making it packed reduces the alignment of the features bitmap and so breaks a requirement for the use of atomics. As we don't rely on the set/clear of these bits being atomic, just make them non-atomic. Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com> Signed-off-by: Ben Horgan <ben.horgan@arm.com> Fixes: 8c90dc68a5de ("arm_mpam: Probe the hardware features resctrl supports") Reviewed-by: Gavin Shan <gshan@redhat.com> Tested-by: Shaopeng Tan <tan.shaopeng@jp.fujitsu.com> Tested-by: Peter Newman <peternewman@google.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2026-01-16arm_mpam: Remove duplicate linux/srcu.h headerJiapeng Chong
./drivers/resctrl/mpam_internal.h: linux/srcu.h is included more than once. Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com> Reported-by: Abaci Robot <abaci@linux.alibaba.com> Closes: https://bugzilla.openanolis.cn/show_bug.cgi?id=27328 Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com> Acked-by: James Morse <james.morse@arm.com> [BH: Keep alphabetical order] Signed-off-by: Ben Horgan <ben.horgan@arm.com> Reviewed-by: Gavin Shan <gshan@redhat.com> Reviewed-by: Fenghua Yu <fenghuay@nvidia.com> Tested-by: Shaopeng Tan <tan.shaopeng@jp.fujitsu.com> Tested-by: Peter Newman <peternewman@google.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>