aboutsummaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)AuthorFilesLines
2024-08-14drm/xe: Define STATELESS_COMPRESSION_CTRL as mcr registerTejas Upadhyay1-1/+1
Register STATELESS_COMPRESSION_CTRL should be considered mcr register which should write to all slices as per documentation. Bspec: 71185 Fixes: ecabb5e6ce54 ("drm/xe/xe2: Add performance turning changes") Signed-off-by: Tejas Upadhyay <[email protected]> Reviewed-by: Shekhar Chauhan <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] Signed-off-by: Lucas De Marchi <[email protected]>
2024-08-14drm/xe: Write all slices if its mcr registerTejas Upadhyay2-5/+5
Register GAMREQSTRM_CTRL should be considered mcr register which should write to all slices as per documentation. Bspec: 71185 Fixes: 01570b446939 ("drm/xe/bmg: implement Wa_16023588340") Reviewed-by: Matt Roper <[email protected]> Signed-off-by: Tejas Upadhyay <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] Signed-off-by: Lucas De Marchi <[email protected]>
2024-08-14drm/xe: Move enable host l2 VRAM post MCR initTejas Upadhyay1-1/+1
xe_gt_enable_host_l2_vram() is reading the XE2_GAMREQSTRM_CTRL register that is currently missing the MCR annotation. However, just adding the annotation doesn't work as this function is called before MCR handling is initialized in xe_gt_mcr_init(). xe_gt_enable_host_l2_vram() is used to implement WA 16023588340 that needs to be done as early as possible during initialization in order to be effective since the MMIO writes impact it. In the failure scenario, driver would simply not be able to bind successfully. Moving xe_gt_enable_host_l2_vram() later, after MCR initialization is done, only incurs a few additional HW accesses, particularly when loading GuC for hwconfig. Binding/unbinding the driver 100 times in BMG still works so it should be ok to start handling the WA a little bit later. This is sufficient to allow adding the MCR annotation to XE2_GAMREQSTRM_CTRL. Cc: Lucas De Marchi <[email protected]> Signed-off-by: Tejas Upadhyay <[email protected]> Reviewed-by: Matt Roper <[email protected]> Reviewed-by: Lucas De Marchi <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] Signed-off-by: Lucas De Marchi <[email protected]>
2024-08-14i2c: testunit: return current command on read messagesWolfram Sang1-2/+2
Because the testunit can start tests in the future via the DELAY register, it may happen that a command is still pending. Support detecting that by returning the number of a command in progress (if there is one). Signed-off-by: Wolfram Sang <[email protected]>
2024-08-14i2c: testunit: add command to support versioning and test rep_startWolfram Sang1-2/+23
For some devices, it is essential that controllers handle repeated start correctly and do not replace it with a stop/start combination. This addition helps to test that because it will only return a version string if repeated start is done properly. Signed-off-by: Wolfram Sang <[email protected]>
2024-08-14i2c: testunit: sort case blocksWolfram Sang1-8/+8
Because a 'fallthrough' was refactored away, the order of 'case' statements can be sorted better now to ease understanding the flow of events. Signed-off-by: Wolfram Sang <[email protected]>
2024-08-14spi: cadence-quadspi: Simplify with scoped for each OF child loopKrzysztof Kozlowski1-7/+2
Use scoped for_each_available_child_of_node_scoped() when iterating over device nodes to make code a bit simpler. Signed-off-by: Krzysztof Kozlowski <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Mark Brown <[email protected]>
2024-08-14spi: ppc4xx: Avoid returning 0 when failed to parse and map IRQAndy Shevchenko1-3/+3
0 is incorrect error code when failed to parse and map IRQ. Replace OF specific old API for IRQ retrieval with a generic one to fix this issue. Fixes: 0f245463b01e ("spi: ppc4xx: handle irq_of_parse_and_map() errors") Signed-off-by: Andy Shevchenko <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Mark Brown <[email protected]>
2024-08-14spi: ppc4xx: handle irq_of_parse_and_map() errorsMa Ke1-0/+3
Zero and negative number is not a valid IRQ for in-kernel code and the irq_of_parse_and_map() function returns zero on error. So this check for valid IRQs should only accept values > 0. Fixes: 44dab88e7cc9 ("spi: add spi_ppc4xx driver") Signed-off-by: Ma Ke <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Mark Brown <[email protected]>
2024-08-14spi: spi-cadence-quadspi: Fix OSPI NOR failures during system resumeVignesh Raghavendra1-1/+13
Its necessary to call pm_runtime_force_*() hooks as part of system suspend/resume calls so that the runtime_pm hooks get called. This ensures latest state of the IP is cached and restored during system sleep. This is especially true if runtime autosuspend is enabled as runtime suspend hooks may not be called at all before system sleeps. Without this patch, OSPI NOR enumeration (READ_ID) fails during resume as context saved during suspend path is inconsistent. Fixes: 078d62de433b ("spi: cadence-qspi: add system-wide suspend and resume callbacks") Signed-off-by: Vignesh Raghavendra <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Mark Brown <[email protected]>
2024-08-14regulator: scmi: Simplify with scoped for each OF child loopKrzysztof Kozlowski1-5/+3
Use scoped for_each_available_child_of_node_scoped() when iterating over device nodes to make code a bit simpler. Signed-off-by: Krzysztof Kozlowski <[email protected]> Link: https://patch.msgid.link/20240814-cleanup-h-of-node-put-regulator-v1-7-87151088b883@linaro.org Signed-off-by: Mark Brown <[email protected]>
2024-08-14regulator: qcom-smd: Simplify with scoped for each OF child loopKrzysztof Kozlowski1-8/+3
Use scoped for_each_available_child_of_node_scoped() when iterating over device nodes to make code a bit simpler. Signed-off-by: Krzysztof Kozlowski <[email protected]> Link: https://patch.msgid.link/20240814-cleanup-h-of-node-put-regulator-v1-6-87151088b883@linaro.org Signed-off-by: Mark Brown <[email protected]>
2024-08-14regulator: qcom-rpmh: Simplify with scoped for each OF child loopKrzysztof Kozlowski1-8/+3
Use scoped for_each_available_child_of_node_scoped() when iterating over device nodes to make code a bit simpler. Signed-off-by: Krzysztof Kozlowski <[email protected]> Link: https://patch.msgid.link/20240814-cleanup-h-of-node-put-regulator-v1-5-87151088b883@linaro.org Signed-off-by: Mark Brown <[email protected]>
2024-08-14regulator: s5m8767: Use scoped device node handling to simplify error pathsKrzysztof Kozlowski1-11/+6
Obtain the device node reference with scoped/cleanup.h to reduce error handling and make the code a bit simpler. Signed-off-by: Krzysztof Kozlowski <[email protected]> Link: https://patch.msgid.link/20240814-cleanup-h-of-node-put-regulator-v1-4-87151088b883@linaro.org Signed-off-by: Mark Brown <[email protected]>
2024-08-14regulator: max8997: Use scoped device node handling to simplify error pathsKrzysztof Kozlowski1-6/+5
Obtain the device node reference with scoped/cleanup.h to reduce error handling and make the code a bit simpler. Signed-off-by: Krzysztof Kozlowski <[email protected]> Link: https://patch.msgid.link/20240814-cleanup-h-of-node-put-regulator-v1-3-87151088b883@linaro.org Signed-off-by: Mark Brown <[email protected]>
2024-08-14regulator: bd96801: Use scoped device node handling to simplify error pathsKrzysztof Kozlowski1-11/+6
Obtain the device node reference with scoped/cleanup.h and use scoped for_each_child_of_node_scoped() to reduce error handling and make the code a bit simpler. Add also brackets {} over outer for loop for code readability. Signed-off-by: Krzysztof Kozlowski <[email protected]> Link: https://patch.msgid.link/20240814-cleanup-h-of-node-put-regulator-v1-2-87151088b883@linaro.org Signed-off-by: Mark Brown <[email protected]>
2024-08-14regulator: bd718x7: Use scoped device node handling to simplify error pathsKrzysztof Kozlowski1-13/+6
Obtain the device node reference with scoped/cleanup.h and use scoped for_each_child_of_node_scoped() to reduce error handling and make the code a bit simpler. Signed-off-by: Krzysztof Kozlowski <[email protected]> Link: https://patch.msgid.link/20240814-cleanup-h-of-node-put-regulator-v1-1-87151088b883@linaro.org Signed-off-by: Mark Brown <[email protected]>
2024-08-14fpga: zynq-fpga: Rename 'timeout' variable as 'time_left'Wolfram Sang1-4/+4
There is a confusing pattern in the kernel to use a variable named 'timeout' to store the result of wait_for_completion_timeout() causing patterns like: timeout = wait_for_completion_timeout(...) if (!timeout) return -ETIMEDOUT; with all kinds of permutations. Use 'time_left' as a variable to make the code self explaining. Signed-off-by: Wolfram Sang <[email protected]> Acked-by: Michal Simek <[email protected]> Acked-by: Xu Yilun <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Xu Yilun <[email protected]>
2024-08-14fpga: socfpga: Rename 'timeout' variable as 'time_left'Wolfram Sang1-3/+4
There is a confusing pattern in the kernel to use a variable named 'timeout' to store the result of wait_for_completion_interruptible_timeout() causing patterns like: timeout = wait_for_completion_interruptible_timeout(...) if (!timeout) return -ETIMEDOUT; with all kinds of permutations. Use 'time_left' as a variable to make the code self explaining. Fix to the proper variable type 'long' while here. Signed-off-by: Wolfram Sang <[email protected]> Acked-by: Xu Yilun <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Xu Yilun <[email protected]>
2024-08-14fpga: Simplify and improve fpga region test using deferred actionsMarco Pagani1-17/+24
Use deferred actions to simplify the test suite and avoid potential memory leaks when test cases fail. Remove unnecessary calls to kunit_device_unregister() since kunit devices are tied to the test context and released by a deferred action when the test is completed. Other changes: fix a typo by changing the test suite name to fpga_region in the kunit_suite struct. Signed-off-by: Marco Pagani <[email protected]> Acked-by: Xu Yilun <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Xu Yilun <[email protected]>
2024-08-14fpga: Simplify and improve fpga bridge test using deferred actionsMarco Pagani1-14/+11
Use deferred actions to simplify the test suite and avoid potential memory leaks when test cases fail. Remove unnecessary calls to kunit_device_unregister() since kunit devices are tied to the test context and released by a deferred action when the test is completed. Signed-off-by: Marco Pagani <[email protected]> Acked-by: Xu Yilun <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Xu Yilun <[email protected]>
2024-08-14fpga: Simplify and improve fpga mgr test using deferred actionsMarco Pagani1-11/+17
Use deferred actions to simplify the test suite and avoid potential memory leaks when test cases fail. Remove unnecessary calls to kunit_device_unregister() since kunit devices are tied to the test context and released by a deferred action when the test is completed. Signed-off-by: Marco Pagani <[email protected]> Acked-by: Xu Yilun <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Xu Yilun <[email protected]>
2024-08-14Merge tag 'next-media-rkisp1-20240814' of ↵Hans Verkuil10-157/+1055
git://git.kernel.org/pub/scm/linux/kernel/git/pinchartl/linux.git Extensible parameters support for the rkisp1 driver. Signed-off-by: Hans Verkuil <[email protected]>
2024-08-14memory: tegra186-emc: drop unused to_tegra186_emc()Krzysztof Kozlowski1-5/+0
to_tegra186_emc() is not used, W=1 builds: tegra186-emc.c:38:36: error: unused function 'to_tegra186_emc' [-Werror,-Wunused-function] Fixes: 9a38cb27668e ("memory: tegra: Add interconnect support for DRAM scaling in Tegra234") Cc: [email protected] Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Krzysztof Kozlowski <[email protected]>
2024-08-14Revert "ata: libata-scsi: Honor the D_SENSE bit for CK_COND=1 and no error"Niklas Cassel1-2/+13
This reverts commit 28ab9769117ca944cb6eb537af5599aa436287a4. Sense data can be in either fixed format or descriptor format. SAT-6 revision 1, "10.4.6 Control mode page", defines the D_SENSE bit: "The SATL shall support this bit as defined in SPC-5 with the following exception: if the D_ SENSE bit is set to zero (i.e., fixed format sense data), then the SATL should return fixed format sense data for ATA PASS-THROUGH commands." The libata SATL has always kept D_SENSE set to zero by default. (It is however possible to change the value using a MODE SELECT SG_IO command.) Failed ATA PASS-THROUGH commands correctly respected the D_SENSE bit, however, successful ATA PASS-THROUGH commands incorrectly returned the sense data in descriptor format (regardless of the D_SENSE bit). Commit 28ab9769117c ("ata: libata-scsi: Honor the D_SENSE bit for CK_COND=1 and no error") fixed this bug for successful ATA PASS-THROUGH commands. However, after commit 28ab9769117c ("ata: libata-scsi: Honor the D_SENSE bit for CK_COND=1 and no error"), there were bug reports that hdparm, hddtemp, and udisks were no longer working as expected. These applications incorrectly assume the returned sense data is in descriptor format, without even looking at the RESPONSE CODE field in the returned sense data (to see which format the returned sense data is in). Considering that there will be broken versions of these applications around roughly forever, we are stuck with being bug compatible with older kernels. Cc: [email protected] # 4.19+ Reported-by: Stephan Eisvogel <[email protected]> Reported-by: Christian Heusel <[email protected]> Closes: https://lore.kernel.org/linux-ide/[email protected]/ Fixes: 28ab9769117c ("ata: libata-scsi: Honor the D_SENSE bit for CK_COND=1 and no error") Reviewed-by: Hannes Reinecke <[email protected]> Reviewed-by: Martin K. Petersen <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Niklas Cassel <[email protected]>
2024-08-14media: rkisp1: Add support for the companding blockPaul Elder1-0/+168
Add support to the rkisp1 driver for the companding block that exists on the i.MX8MP version of the ISP. This requires usage of the new extensible parameters format, and showcases how the format allows for extensions without breaking backward compatibility. Signed-off-by: Paul Elder <[email protected]> Reviewed-by: Jacopo Mondi <[email protected]> Reviewed-by: Paul Elder <[email protected]> Signed-off-by: Jacopo Mondi <[email protected]> Tested-by: Kieran Bingham <[email protected]> Acked-by: Sakari Ailus <[email protected]> Signed-off-by: Laurent Pinchart <[email protected]>
2024-08-14media: rkisp1: Add feature flags for BLS and compandPaul Elder3-3/+17
Add feature flags for the dedicated black level subtraction hardware block and for the compand hardware block. The companding feature flag is added on its own (as opposed to "the absence of BLS") because we will need it later for when we add support for the companding block. Skip BLS configuration when the BLS feature flag is unset, as devices without the dedicated BLS block cannot configure a hardware block that doesn't exist. Signed-off-by: Paul Elder <[email protected]> Reviewed-by: Jacopo Mondi <[email protected]> Signed-off-by: Jacopo Mondi <[email protected]> Tested-by: Kieran Bingham <[email protected]> Acked-by: Sakari Ailus <[email protected]> Signed-off-by: Laurent Pinchart <[email protected]>
2024-08-14media: rkisp1: Add register definitions for the companding blockPaul Elder1-0/+23
To prepare for adding support for the companding block to the rkisp1 driver for the version of the ISP on the i.MX8MP, add the register definitions for it, including relevant register field values. Signed-off-by: Paul Elder <[email protected]> Reviewed-by: Jacopo Mondi <[email protected]> Signed-off-by: Jacopo Mondi <[email protected]> Tested-by: Kieran Bingham <[email protected]> Acked-by: Sakari Ailus <[email protected]> Signed-off-by: Laurent Pinchart <[email protected]>
2024-08-14media: rkisp1: Add features mask to extensible block handlersLaurent Pinchart1-1/+9
Future ISP parameter blocks for i.MX8MP-specific features will not support on Rockchip platforms as they lack the corresponding hardware. Introduce a features mask in the extensible block handlers to indicate which device features a block require, and ignore blocks that require unavailable features. Reviewed-by: Jacopo Mondi <[email protected]> Reviewed-by: Paul Elder <[email protected]> Signed-off-by: Jacopo Mondi <[email protected]> Tested-by: Kieran Bingham <[email protected]> Acked-by: Sakari Ailus <[email protected]> Signed-off-by: Laurent Pinchart <[email protected]>
2024-08-14media: rkisp1: Add helper function to swap colour channelsLaurent Pinchart4-85/+45
The BLS parameters passed by userspace are specified for named colour channels (R, Gr, Gb and B), while the hardware registers reference positions in the 2x2 CFA pattern (A, B, C and D). The BLS values are swapped based on the CFA pattern when writing to or reading from registers, using hand-roled switch statements. The logic is duplicated already, and new code will require similar processing. Move the swap logic to a shared function, using static data to control the channels order. Reviewed-by: Jacopo Mondi <[email protected]> Reviewed-by: Paul Elder <[email protected]> Signed-off-by: Jacopo Mondi <[email protected]> Tested-by: Kieran Bingham <[email protected]> Acked-by: Sakari Ailus <[email protected]> Signed-off-by: Laurent Pinchart <[email protected]>
2024-08-14media: rkisp1: Implement s_fmt/try_fmtJacopo Mondi1-8/+50
Implement in the rkisp1 driver support for the s_fmt and try_fmt operation to allow userspace to select between the extensible and the fixed parameters formats. Implement enum_mbus_code to enumerate the fixed and the extensible formats and disallow changing the data format while the queue is busy. Signed-off-by: Jacopo Mondi <[email protected]> Reviewed-by: Laurent Pinchart <[email protected]> Reviewed-by: Paul Elder <[email protected]> Tested-by: Kieran Bingham <[email protected]> Acked-by: Sakari Ailus <[email protected]> Signed-off-by: Laurent Pinchart <[email protected]>
2024-08-14media: rkisp1: Implement extensible params supportJacopo Mondi2-11/+622
Implement support in rkisp1-params for the extensible configuration parameters format. Create a list of handlers for each ISP block that wraps the existing configuration functions and handles the ISP block enablement. Parse the configuration parameters buffer in rkisp1_ext_params_config and filter the enable blocks by group, to allow setting the 'other' groups separately from the 'lsc' group to support the pre/post-configure operations. Implement parameter buffer validation for the extensible format at .buf_prepare() time. Signed-off-by: Jacopo Mondi <[email protected]> Reviewed-by: Laurent Pinchart <[email protected]> Reviewed-by: Jacopo Mondi <[email protected]> Reviewed-by: Paul Elder <[email protected]> Tested-by: Kieran Bingham <[email protected]> Acked-by: Sakari Ailus <[email protected]> Signed-off-by: Laurent Pinchart <[email protected]>
2024-08-14firewire: core/ohci: minor refactoring for computation of configuration ROM sizeTakashi Sakamoto2-2/+3
The size of space for configuration ROM is defined by IEEE 1212. The start and end offsets are available as some macros in UAPI header. This commit uses these macros to compute the size. Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Takashi Sakamoto <[email protected]>
2024-08-14firewire: ohci: remove unused wrapper macro for dev_info()Takashi Sakamoto1-1/+0
The ohci_info() macro is a thin wrapper of dev_info(), while it is never used. Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Takashi Sakamoto <[email protected]>
2024-08-14firewire: ohci: use helper macro for compiler aligned attributeTakashi Sakamoto1-1/+1
The __aligned() macro has been available since v4.19 kernel by a commit 815f0ddb346c ("include/linux/compiler*.h: make compiler-*.h mutually exclusive"). This commit replaces with the macro. Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Takashi Sakamoto <[email protected]>
2024-08-14drm/i915: make __intel_display_power_is_enabled() staticJani Nikula2-16/+2
The function isn't used outside of intel_display_power.c. Make it static. Reviewed-by: Imre Deak <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] Signed-off-by: Jani Nikula <[email protected]>
2024-08-14pmdomain: raspberrypi-power: set flag GENPD_FLAG_ACTIVE_WAKEUPStefan Wahren1-0/+1
Set flag GENPD_FLAG_ACTIVE_WAKEUP to rpi_power genpd, then when a device is set as wakeup source using device_set_wakeup_enable, the power domain could be kept on to make sure the device could wakeup the system. Signed-off-by: Stefan Wahren <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Ulf Hansson <[email protected]>
2024-08-14pmdomain: raspberrypi-power: Add logging to rpi_firmware_set_powerStefan Wahren1-14/+20
The Raspberry Pi power driver heavily relies on the logging of the underlying firmware driver. This results in disadvantages like unspecific error messages or limited debugging options. So implement the logging for the most important function rpi_firmware_set_power. Signed-off-by: Stefan Wahren <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Ulf Hansson <[email protected]>
2024-08-14pmdomain: raspberrypi-power: Adjust packet definitionStefan Wahren1-4/+4
According to the official Mailbox property interface the second part of RPI_FIRMWARE_SET_POWER_STATE ( and so on ...) is named state because it represent u32 flags and just the lowest bit is for on/off. So rename it to align with documentation and prepare the driver for further changes. Link: https://github.com/raspberrypi/firmware/wiki/Mailbox-property-interface Signed-off-by: Stefan Wahren <[email protected]> Reviewed-by: Florian Fainelli <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Ulf Hansson <[email protected]>
2024-08-14net: ethernet: dlink: replace deprecated macroMoon Yeounsu1-1/+1
Macro `SIMPLE_DEV_PM_OPS()` is deprecated. This patch replaces `SIMPLE_DEV_PM_OPS()` with `DEFINE_SIMPLE_DEV_PM_OPS()` currently used. Expanded results are the same since remaining member is initialized as zero (NULL): static SIMPLE_DEV_PM_OPS(rio_pm_ops, rio_suspend, rio_resume); Expanded to: static const struct dev_pm_ops __attribute__((__unused__)) rio_pm_ops = { .suspend = ((1) ? ((rio_suspend)) : ((void *)0)), .resume = ((1) ? ((rio_resume)) : ((void *)0)), .freeze = ((1) ? ((rio_suspend)) : ((void *)0)), .thaw = ((1) ? ((rio_resume)) : ((void *)0)), .poweroff = ((1) ? ((rio_suspend)) : ((void *)0)), .restore = ((1) ? ((rio_resume)) : ((void *)0)), }; static DEFINE_SIMPLE_DEV_PM_OPS(rio_pm_ops, rio_suspend, rio_resume); Expanded to: static const struct dev_pm_ops rio_pm_ops = { .suspend = ((1) ? ((rio_suspend)) : ((void *)0)), .resume = ((1) ? ((rio_resume)) : ((void *)0)), .freeze = ((1) ? ((rio_suspend)) : ((void *)0)), .thaw = ((1) ? ((rio_resume)) : ((void *)0)), .poweroff = ((1) ? ((rio_suspend)) : ((void *)0)), .restore = ((1) ? ((rio_resume)) : ((void *)0)), .runtime_suspend = ((void *)0), .runtime_resume = ((void *)0), .runtime_idle = ((void *)0), }; Signed-off-by: Moon Yeounsu <[email protected]> Reviewed-by: Simon Horman <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2024-08-14rtc: stm32: add alarm A out featureValentin Caron1-0/+60
STM32 RTC can pulse some SOC pins when an RTC alarm expires. This patch adds this functionality for alarm A. The pulse can out on three pins RTC_OUT1, RTC_OUT2, RTC_OUT2_RMP (PC13, PB2, PI8 on stm32mp15) (PC13, PB2, PI1 on stm32mp13) (PC13, PF4/PF6, PI8 on stm32mp25). This patch only adds the functionality for devices which are using st,stm32mp1-rtc and st,stm32mp25-rtc compatible. Add "alarm-a" in pinmux functions. Signed-off-by: Valentin Caron <[email protected]> Reviewed-by: Linus Walleij <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Alexandre Belloni <[email protected]>
2024-08-14rtc: stm32: add Low Speed Clock Output (LSCO) supportValentin Caron2-0/+102
RTC is able to output on a pin the "LSE" internal clock. STM32 RTC is now registered as a clock provider. It provides rtc_lsco clock, that means RTC_LSCO is output on either RTC_OUT1 or RTC_OUT2_RMP, depending on pinmux DT property. The clock is marked as CLK_IGNORE_UNUSED and CLK_IS_CRITICAL because RTC_LSCO can be early required by devices needed it to init. Add LSCO in pinmux functions. Add "stm32_rtc_clean_outs" to disable LSCO. As RTC is part of "backup" power domain, it is not reset during shutdown or reboot. So force LSCO disable at probe. Co-developed-by: Amelie Delaunay <[email protected]> Signed-off-by: Amelie Delaunay <[email protected]> Signed-off-by: Valentin Caron <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Alexandre Belloni <[email protected]>
2024-08-14rtc: stm32: add pinctrl and pinmux interfacesValentin Caron2-0/+125
STM32 RTC is capable to handle 3 specific pins of the soc. "out1, out2 and out2_rmp". To handle this, we use pinctrl framework. There is a single pin per group. Signed-off-by: Valentin Caron <[email protected]> Reviewed-by: Linus Walleij <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Alexandre Belloni <[email protected]>
2024-08-14drm/edid: make drm_edid_block_valid() staticJani Nikula1-13/+4
drm_edid_block_valid() is no longer used outside of drm_edid.c. Make it static. Acked-by: Zhi Wang <[email protected]> Reviewed-by: Daniel Vetter <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] Signed-off-by: Jani Nikula <[email protected]>
2024-08-14drm/i915/gvt: stop using drm_edid_block_valid()Jani Nikula1-5/+13
We'll want to stop drm_edid_block_valid() usage. KVMGT is the last user. Replace with drm_edid_valid(), which unfortunately requires an allocated drm_edid. However, on the plus side, this would be required to handle the TODO comment about EDID extension block support. Acked-by: Zhi Wang <[email protected]> Reviewed-by: Zhenyu Wang <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] Signed-off-by: Jani Nikula <[email protected]>
2024-08-14media: videobuf2-core: attach once if multiple planes share the same dbufYunke Cao1-4/+26
When multiple planes use the same dma buf, each plane will have its own dma buf attachment and mapping. It is a waste of IOVA space. This patch adds a dbuf_duplicated boolean in vb2_plane. If a plane's dbuf is the same as an existing plane, do not create another attachment and mapping. Signed-off-by: Yunke Cao <[email protected]> Acked-by: Tomasz Figa <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2024-08-14media: videobuf2-core: reverse the iteration order in __vb2_buf_dmabuf_putYunke Cao1-2/+8
This patch prepares for allowing multiple planes to share the same DMA buffer attachment. Release the planes from num_planes - 1 to 0 so that we don't leave invalid mem_priv pointers behind. Signed-off-by: Yunke Cao <[email protected]> Acked-by: Tomasz Figa <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2024-08-14media: videobuf2-core: release all planes first in __prepare_dmabuf()Yunke Cao1-56/+59
In the existing implementation, validating planes, checking if the planes changed, releasing previous planes and reaquiring new planes all happens in the same for loop. Split the for loop into 3 parts 1. In the first for loop, validate planes and check if planes changed. 2. Call __vb2_buf_dmabuf_put() to release all planes. 3. In the second for loop, reaquire new planes. Signed-off-by: Yunke Cao <[email protected]> Acked-by: Tomasz Figa <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2024-08-14media: videobuf2-core: clear memory related fields in __vb2_plane_dmabuf_put()Yunke Cao1-4/+4
Clear vb2_plane's memory related fields in __vb2_plane_dmabuf_put(), including bytesused, length, fd and data_offset. Remove the duplicated code in __prepare_dmabuf(). Signed-off-by: Yunke Cao <[email protected]> Acked-by: Tomasz Figa <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>
2024-08-14media: mgb4: Fixed signal frame rate limit handlingMartin Tůma3-11/+12
Change the default DV timings for the outputs to produce a better signal less "crippled" by the frame rate limiting. While the individual values are now different, the resulting signal still matches the same default display as before. Additionally fix the corner case when the frame rate limit is set to zero causing a "divide by zero" kernel panic. Signed-off-by: Martin Tůma <[email protected]> Signed-off-by: Hans Verkuil <[email protected]>