-
Notifications
You must be signed in to change notification settings - Fork 5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[DO NOT MERGE] mmc: host: bcm2835: Capture MMC errors #6475
base: rpi-6.12.y
Are you sure you want to change the base?
[DO NOT MERGE] mmc: host: bcm2835: Capture MMC errors #6475
Commits on Nov 11, 2024
-
dt-bindings: display: Add BCM2712 HVS bindings
The BCM2712 has a completely different HVS than the previous generations, so let's add a new compatible for it. Signed-off-by: Maxime Ripard <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 60c4b31 - Browse repository at this point
Copy the full SHA 60c4b31View commit details -
dt-bindings: display: Add BCM2712 PixelValve bindings
The BCM2712 has 3 different pixelvalves that are similar to the ones found in the previous generations but with slightly different capabilities. Express that using a new set of compatibles. Signed-off-by: Maxime Ripard <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e3a139e - Browse repository at this point
Copy the full SHA e3a139eView commit details -
dt-bindings: display: Add BCM2712 MOP bindings
The BCM2712 has a MOP controller which is basically a new revision of the TXP. Express that by adding a new compatible for it. Signed-off-by: Maxime Ripard <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e7e2ece - Browse repository at this point
Copy the full SHA e7e2eceView commit details -
dt-bindings: display: Add BCM2712 MOPLET bindings
The BCM2712 has a MOPLET controller which is basically a TXP without the transpose feature. Express that by adding a new compatible for it. Signed-off-by: Maxime Ripard <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1b1c433 - Browse repository at this point
Copy the full SHA 1b1c433View commit details -
dt-bindings: display: Add BCM2712 KMS driver bindings
The BCM2712 SoC comes with a new variation of the videocore display pipeline. Let's create a new compatible for it. Signed-off-by: Maxime Ripard <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 98f2970 - Browse repository at this point
Copy the full SHA 98f2970View commit details -
The BCM2712 has an improved display pipeline, most notably with a different HVS and only HDMI and writeback outputs. Let's introduce it as a new VideoCore generation and compatible. Signed-off-by: Maxime Ripard <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 879a281 - Browse repository at this point
Copy the full SHA 879a281View commit details -
drm/vc4: hvs: Support BCM2712 HVS
The HVS found in the BCM2712, while having a similar role, is very different from the one found in the previous SoCs. Indeed, the register layout is fairly different, and the DLIST format is new as well. Let's introduce the needed functions to support the new HVS. Signed-off-by: Maxime Ripard <[email protected]> drm/vc4: Fix atomic_async_check to call the right mode_set function vc4_plane_atomic_async_check was always calling vc4_plane_mode_set to validate and generate the dlist for the check. If async_check decided it had to fall back to a sync commit, then this GEN4/5 dlist could get used on GEN6. Call either vc4_plane_mode_set or vc6_plane_mode_set as appropriate. Fixes: 1ab1fbb ("drm/vc4: hvs: Support BCM2712 HVS") Signed-off-by: Dave Stevenson <[email protected]> drm/vc4: Add 2712 support to vc4_plane_async_set_fb vc4_plane_async_set_fb directly overwrites the plane address in the dlist entry, but hadn't been updated for the GEN6 / 2712 dlist format, corrupting the address in the process. Add support for the 2712 dlist format to the function. Fixes: 1ab1fbb ("drm/vc4: hvs: Support BCM2712 HVS") Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6898a8c - Browse repository at this point
Copy the full SHA 6898a8cView commit details -
drm/vc4: crtc: Add support for BCM2712 PixelValves
The PixelValves found on the BCM2712 are similar to the ones found in the previous generation. Compared to BCM2711, the pixelvalves only drive one HDMI controller each and HDMI1 PixelValve has a FIFO long enough to support 4k at 60Hz. Signed-off-by: Maxime Ripard <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6c85add - Browse repository at this point
Copy the full SHA 6c85addView commit details -
drm/vc4: hdmi: Add support for BCM2712 HDMI controllers
The HDMI controllers found in the BCM2712 are largely the ones found in the BCM2711 with a different PHY. There's some difference with how timings are split between registers, and HDMI1 is now able to run at 4k/60Hz. Signed-off-by: Maxime Ripard <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d1bb16b - Browse repository at this point
Copy the full SHA d1bb16bView commit details -
drm/vc4: txp: Introduce structure to deal with revision differences
The BCM2712 will have several TXP with small differences. Let's add a structure tied to the compatible to deal with those differences. Signed-off-by: Maxime Ripard <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0d4c183 - Browse repository at this point
Copy the full SHA 0d4c183View commit details -
drm/vc4: txp: Rename TXP data structure
The TXP data structure has a name too generic for the multiple variants we'll have to support. Let's rename it to mention the SoC it applies to. Signed-off-by: Maxime Ripard <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 46db819 - Browse repository at this point
Copy the full SHA 46db819View commit details -
drm/vc4: txp: Add byte enable toggle bit
The MOPLET doesn't have the BYTE_ENABLE field to set, but the TXP and MOP do, so let's add a boolean to control whether or not we need to set it. Signed-off-by: Maxime Ripard <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 81b7d95 - Browse repository at this point
Copy the full SHA 81b7d95View commit details -
drm/vc4: txp: Add horizontal and vertical size offset toggle bit
The new writeback controllers that can be found on the BCM2712 require to have their horizontal and vertical size reduced by one. Let's tie that behaviour to the compatible so we can support both the new and old controllers. Signed-off-by: Maxime Ripard <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 187f7de - Browse repository at this point
Copy the full SHA 187f7deView commit details -
drm/vc4: txp: Handle 40-bits DMA Addresses
The BCM2712 MOP and MOPLET can handle addresses larger than 32bits through an extra register. We can easily support it and make it conditional based on the compatible through a boolean in our variant structure. Signed-off-by: Maxime Ripard <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 30ec825 - Browse repository at this point
Copy the full SHA 30ec825View commit details -
drm/vc4: txp: Move the encoder type in the variant structure
We'll have multiple TXP instances in the BCM2712, so we can't use a single encoder type anymore. Let's tie the encoder type to the compatible. Signed-off-by: Maxime Ripard <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c3a97fa - Browse repository at this point
Copy the full SHA c3a97faView commit details -
drm/vc4: txp: Add a new TXP encoder type
Starting with BCM2712, we'll have a two TXP. Let's follow the HDMI example and add two encoder types for TXP: TXP0 and TXP1. Signed-off-by: Maxime Ripard <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 26b2e8e - Browse repository at this point
Copy the full SHA 26b2e8eView commit details -
drm/vc4: txp: Add support for BCM2712 MOP
The BCM2712 has an evolution of what used to be called TXP in the earlier SoCs, but is now called MOP. There's a few differences still, so we can add a new compatible to deal with them easily. Signed-off-by: Maxime Ripard <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4c44311 - Browse repository at this point
Copy the full SHA 4c44311View commit details -
drm/vc4: txp: Add BCM2712 MOPLET support
The BCM2712 features a simpler TXP called MOPLET. Let's add support for it. Signed-off-by: Maxime Ripard <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5312ee7 - Browse repository at this point
Copy the full SHA 5312ee7View commit details -
drm/vc4: Add additional warn_on
Some code path in vc4 are conditional to a generation and cannot be executed on others. Let's put a WARN_ON if that ever happens. Signed-off-by: Maxime Ripard <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e1dbd0c - Browse repository at this point
Copy the full SHA e1dbd0cView commit details -
drm/vc4: tests: Switch generation mockup to a switch
Testing whether the VideoCore generation we want to mock is vc5 or vc4 worked so far, but will be difficult to extend to support BCM2712 (VC6). Convert to a switch. Signed-off-by: Maxime Ripard <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a9675b9 - Browse repository at this point
Copy the full SHA a9675b9View commit details -
drm/vc4: tests: Drop drm parameter for vc4_find_crtc_for_encoder
The DRM device pointer and the DRM encoder pointer are redundant, since the latter is attached to the former and we can just follow the drm_encoder->dev pointer. Let's remove the drm_device pointer argument. Signed-off-by: Maxime Ripard <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2cbbdd9 - Browse repository at this point
Copy the full SHA 2cbbdd9View commit details -
drm/vc4: tests: Return the allocated output
Some tests will need to retrieve the output that was just allocated by vc4_mock_atomic_add_output(). Instead of making them look them up in the DRM device, we can simply make vc4_mock_atomic_add_output() return an error pointer that holds the allocated output instead of the error code. Signed-off-by: Maxime Ripard <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5e20421 - Browse repository at this point
Copy the full SHA 5e20421View commit details -
drm/vc4: tests: Add BCM2712 mock driver
The BCM2712 has a simpler pipeline that can only output to a writeback connector and two HDMI controllers. Let's allow our kunit tests to create a mock of that pipeline. Signed-off-by: Maxime Ripard <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a3496bb - Browse repository at this point
Copy the full SHA a3496bbView commit details -
drm/vc4: tests: Add tests for BCM2712 PixelValve Muxing
The BCM2712 has a simpler pipeline than the BCM2711, and thus the muxing requirements are different. Create some tests to make sure we get proper muxing decisions. Signed-off-by: Maxime Ripard <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 60e2d1d - Browse repository at this point
Copy the full SHA 60e2d1dView commit details -
drm/vc4: tests: Use custom plane state for mock
The current mock planes were just using the regular drm_plane_state, while the driver expect struct vc4_plane_state that subclasses drm_plane_state. Hook the proper implementations of reset, duplicate_state, destroy and atomic_check to create vc4_plane_state. Signed-off-by: Maxime Ripard <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3f472db - Browse repository at this point
Copy the full SHA 3f472dbView commit details -
drm/vc4: tests: Add function to lookup a plane for a CRTC
Some tests will need to find a plane to run a test on for a given CRTC. Let's create a small helper to do that. Signed-off-by: Maxime Ripard <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 98edb0a - Browse repository at this point
Copy the full SHA 98edb0aView commit details -
drm/vc4: tests: Add helper to add a new plane to a state
We'll start to add some tests for the plane state logic, so let's create a helper to add a plane to an existing atomic state. Signed-off-by: Maxime Ripard <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 09f7051 - Browse repository at this point
Copy the full SHA 09f7051View commit details -
drm/vc4: tests: Support a few more plane formats
We'll start testing our planes code in situations where we will use more than XRGB8888, so let's add a few common pixel formats. Signed-off-by: Maxime Ripard <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 64f68da - Browse repository at this point
Copy the full SHA 64f68daView commit details -
drm/vc4: tests: Introduce a test for LBM buffer size
The BCM2712 comes with a different LBM size computation than the previous generations, so let's add the few examples provided as kunit tests to make sure we always satisfy those requirements. Signed-off-by: Maxime Ripard <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d0a9dba - Browse repository at this point
Copy the full SHA d0a9dbaView commit details -
drm/vc4: kms: Avoid setting core and disp clocks for hdmi modes
On 2712, the firmware always runs these clock at a speed sufficient for dual 4kp60. The requests here prevent the gpu from going into its lowest voltage mode, so just skip the clock requests. With this applied the idle voltage on my pi 5 reduces from 0.7424V to 0.72V. Signed-off-by: Dom Cobley <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bcb8d4c - Browse repository at this point
Copy the full SHA bcb8d4cView commit details -
media: i2c: Move Kconfig entry for IMX477 to the camera sensor section
It was accidentally placed in the audio decoder section. Signed-off-by: Naushir Patuck <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for db5412d - Browse repository at this point
Copy the full SHA db5412dView commit details -
drm: Look for an alias for the displays to use as the DRM device name
Allow DT aliases of eg DSI2 to force make DRM allocate the display with the requested name. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f7d5a62 - Browse repository at this point
Copy the full SHA f7d5a62View commit details -
vc4/drm: Remove the clear of SCALER_DISPBKGND_FILL
Since "drm/vc4: hvs: Support BCM2712 HVS" booting Pi4 with dual 4kp30 displays connected fails with: vc4-drm gpu: [drm] *ERROR* [CRTC:107:pixelvalve-4] flip_done timed out It has been tracked down to the referenced commit adding a path to clear the SCALER_DISPBKGND_FILL when not required. Dual 4kp30 works with a core clock of 297MHz when background fill is enabled, but requires a higher value with it disabled. 320MHz still fails, while 330MHz seems okay. Lets always enable background fill for Pi0-4. Fixes: e84da23 ("drm/vc4: hvs: Support BCM2712 HVS") Signed-off-by: Dom Cobley <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a8262a5 - Browse repository at this point
Copy the full SHA a8262a5View commit details -
media: i2c: ov9282: Read chip ID via 2 reads
Vision Components have made an OV9281 module which blocks reading back the majority of registers to comply with NDAs, and in doing so doesn't allow auto-increment register reading as used when reading the chip ID. Use two reads and manually combine the results. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a46fd94 - Browse repository at this point
Copy the full SHA a46fd94View commit details -
drm/vc4: Correct address offset for planes with src_[xy] offsets
11cf37e switched to using drm_fb_dma_get_gem_addr instead of drm_fb_dma_get_gem_obj and adding fb->offset[]. However the tiled formats need to compute the offset in a more involved manner than drm_fb_dma_get_gem_addr applies, and we were ending up with the offset for src_[xy] being applied twice. Switch back to using drm_fb_dma_get_gem_obj and fully computing the offsets ourselves. Fixes: 11cf37e ("drm/vc4: Move the buffer offset out of the vc4_plane_state") Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 84e7c24 - Browse repository at this point
Copy the full SHA 84e7c24View commit details -
fbdev: Allow client to request a particular /dev/fbN node
Add a flag custom_fb_num to denote that the client has requested a specific fbdev node number via node. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for be63bd8 - Browse repository at this point
Copy the full SHA be63bd8View commit details -
drm/fb-helper: Look up preferred fbdev node number from DT
For situations where there are multiple DRM cards in a system, add a query of DT for "drm_fb" designations for cards to set their preferred /dev/fbN designation. Signed-off-by: Dave Stevenson <[email protected]> drm/fb_helper: Change query for FB designation from drm_fb to drm-fb Fixes: 1216ea5 ("drm/fb-helper: Look up preferred fbdev node number from DT") Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c170dd9 - Browse repository at this point
Copy the full SHA c170dd9View commit details -
drm/connector: Change DRM card alias from underscore to hyphen
Apparently aliases are only allowed lower case and hyphens, so swap the use of underscore to hyphen. Fixes: 3aa1f24 ("drm: Look for an alias for the displays to use as the DRM device name") Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for fa37dc8 - Browse repository at this point
Copy the full SHA fa37dc8View commit details -
dt-bindings: PCI: brcmstb: add optional property - "brcm,tperst-clk-ms"
This property can be used to delay deassertion of external fundamental reset, which may be useful for endpoints that require an extended time for internal setup to complete. Signed-off-by: Jonathan Bell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 250e1d8 - Browse repository at this point
Copy the full SHA 250e1d8View commit details -
drm/vc4: Correct logic on stopping an HVS channel
When factoring out __vc4_hvs_stop_channel, the logic got inverted from if (condition) // stop channel to if (condition) goto out //stop channel out: and also changed the exact register writes used to stop the channel. Correct the logic so that the channel is actually stopped, and revert to the original register writes. Fixes: 6d01a10 ("drm/vc4: crtc: Move HVS init and close to a function") Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 859092d - Browse repository at this point
Copy the full SHA 859092dView commit details -
drm/vc4: Drop WARN for HVS FIFOs not being empty
The reset condition for the EMPTY flag in DISPSTATx is 0, so seeing as we've just reset the pipeline there is no guarantee that the flag will denote empty if it hasn't been enabled. Drop the WARN. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d04ae8e - Browse repository at this point
Copy the full SHA d04ae8eView commit details -
drm/vc4: Free all stale dlists if channel is disabled
The code handling freeing stale dlists had 2 issues: - it disabled the interrupt as soon as the first EOF interrupt occurred, even if it didn't clear all stale allocations, thus leading to stale entries - It didn't free stale entries from disabled channels, so eg "kmstest -c 0" could leave a stale alloc on channel 1 floating around. Keep the interrupt enabled whilst there are any outstanding allocs, and discard those on disabled channels. This second channel does require us to call vc4_hvs_stop_channel from vc4_crtc_atomic_disable so that the channel actually gets stopped. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b2327df - Browse repository at this point
Copy the full SHA b2327dfView commit details -
drm/vc4: Add hvs_dlist_allocs debugfs function.
Users are reporting running out of DLIST memory. Add a debugfs file to dump out all the allocations. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 426834c - Browse repository at this point
Copy the full SHA 426834cView commit details -
drm/vc4: Log the size of the dlist allocation that was attempted
Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5cca309 - Browse repository at this point
Copy the full SHA 5cca309View commit details -
drm/vc4: crtc: Support odd horizontal timings on BCM2712
BCM2711 runs pixelvalve at two pixels per clock cycle which results in an unfortunate limitation that odd horizontal timings are not possible. This is apparent on the standard DMT mode of 1366x768@60 which cannot be driven with correct timing. BCM2712 defaults to the same behaviour, but has a mode to support odd timings. While internally it still runs at two pixels per clock, setting the PV_VCONTROL_ODD_TIMING bit makes it appear externally to behave as it is one pixel per clock. Switching to this mode fixes 1366x768@60 mode, and other custom resultions with odd horizontal timings. Signed-off-by: Dom Cobley <[email protected]> drm/vc4: Disable the 2pixel/clock odd timings workaround for interlaced Whilst BCM2712 does fix using odd horizontal timings, it doesn't work with interlaced modes. Drop the workaround for interlaced modes and revert to the same behaviour as BCM2711. raspberrypi#6281 Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for fbf85bf - Browse repository at this point
Copy the full SHA fbf85bfView commit details -
drivers: mmc: sdhci: add SPURIOUS_INT_RESP quirk
Certain controllers (dwc-mshc) generate timeout conditions separately to command-completion conditions, where the end result is interrupts are separated in time depending on the current SDCLK frequency. This causes spurious interrupts if SDCLK is slow compared to the CPU's ability to process and return from interrupt. This occurs during card probe with an empty slot where all commands that would generate a response time out. Add a quirk to squelch command response interrupts when a command timeout interrupt is received. Signed-off-by: Jonathan Bell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6559dbb - Browse repository at this point
Copy the full SHA 6559dbbView commit details -
dt-bindings: mmc: sdhci-of-dwcmhsc: Add Raspberry Pi RP1 support
The DWC MSHC controller on RP1 needs differentiating from the generic version. Signed-off-by: Jonathan Bell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e504ac2 - Browse repository at this point
Copy the full SHA e504ac2View commit details -
Add ability to export gpio used by gpio-poweroff
Signed-off-by: Nick Bulleid <[email protected]> Added export feature to gpio-poweroff documentation Signed-off-by: Nick Bulleid <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1772037 - Browse repository at this point
Copy the full SHA 1772037View commit details -
gpio-poweroff: Disable the WARN
With the new support for a chain of sys_off handlers, gpio-poweroff does not disable a normal shutdown (though it does delay it). There is therefore no need for the noisy WARN from the kernel. Signed-off-by: Phil Elwell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8e54ad9 - Browse repository at this point
Copy the full SHA 8e54ad9View commit details -
See: https://forums.raspberrypi.com/viewtopic.php?p=2159344 Signed-off-by: Phil Elwell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4ca3798 - Browse repository at this point
Copy the full SHA 4ca3798View commit details -
xhci: Use more event ring segment table entries
Users have reported log spam created by "Event Ring Full" xHC event TRBs. These are caused by interrupt latency in conjunction with a very busy set of devices on the bus. The errors are benign, but throughput will suffer as the xHC will pause processing of transfers until the event ring is drained by the kernel. Expand the number of event TRB slots available by increasing the number of event ring segments in the ERST. Controllers have a hardware-defined limit as to the number of ERST entries they can process, so make the actual number in use min(ERST_MAX_SEGS, hw_max). Signed-off-by: Jonathan Bell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 607184d - Browse repository at this point
Copy the full SHA 607184dView commit details -
drivers: thermal: step_wise: add support for hysteresis
Step wise governor increases the mitigation level when the temperature goes above a threshold and will decrease the mitigation when the temperature falls below the threshold. If it were a case, where the temperature hovers around a threshold, the mitigation will be applied and removed at every iteration. This reaction to the temperature is inefficient for performance. The use of hysteresis temperature could avoid this ping-pong of mitigation by relaxing the mitigation to happen only when the temperature goes below this lower hysteresis value. Signed-off-by: Ram Chandrasekar <[email protected]> Signed-off-by: Lina Iyer <[email protected]> drivers: thermal: step_wise: avoid throttling at hysteresis temperature after dropping below it Signed-off-by: Serge Schneider <[email protected]> Fix hysteresis support in gov_step_wise.c Directly get hyst value instead of going through an optional and, now, unimplemented function. Signed-off-by: Jürgen Kreileder <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 70c3aa9 - Browse repository at this point
Copy the full SHA 70c3aa9View commit details -
media/i2c: ov7251: Switch from V4L2_CID_GAIN to V4L2_CID_ANALOGUE_GAIN
The mainline driver has implemented analogue gain using the control V4L2_CID_GAIN instead of V4L2_CID_ANALOGUE_GAIN. libcamera requires V4L2_CID_ANALOGUE_GAIN, and therefore fails. Update the driver to use V4L2_CID_ANALOGUE_GAIN. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5066d9d - Browse repository at this point
Copy the full SHA 5066d9dView commit details -
drm/vc4: Drop planes that are completely off-screen
It is permitted for a plane to be configured such that none of it is on-screen via either negative dest rectangle X,Y offset, or just an offset that is greater than the crtc dimensions. These planes were resized via drm_atomic_helper_check_plane_state such that the source rectangle had a zero width or height, but they still created a dlist entry even though they contributed no pixels. In the case of vc6_plane_mode_set, that it could result in negative values being written into registers, which caused incorrect behaviour. Drop planes that result in a source width or height of 0 pixels to avoid the incorrect rendering. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3de6e87 - Browse repository at this point
Copy the full SHA 3de6e87View commit details -
drm/bridge: display-connector: Select DRM_KMS_HELPER
Commit 7cd7065 ("drm/bridge: display-connector: implement bus fmts callbacks") added use of drm_atomic_helper_bridge_* functions, but didn't select the dependency of DRM_KMS_HELPER. If nothing else selected that dependency it resulted in a build failure. Select the missing dependency. Fixes: 7cd7065 ("drm/bridge: display-connector: implement bus fmts callbacks") Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f1e86a0 - Browse repository at this point
Copy the full SHA f1e86a0View commit details -
drm: vc4: Free the dlist alloc immediately if it never hit the hw
atomic_check creates a state, and allocates the dlist memory for it such that atomic_flush can not fail. On destroy that dlist allocation was being put in the stale list, even though it had never been programmed into the hardware, therefore doing lots of atomic_checks could consume all the dlist memory and fail. If the dlist has never been programmed into the hardware, then free it immediately. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ebb62bb - Browse repository at this point
Copy the full SHA ebb62bbView commit details -
drm: vc4: Block swiotlb bounce buffers being imported as dmabuf
The dmabuf import already checks that the backing buffer is contiguous and rejects it if it isn't. vc4 also requires that the buffer is in the bottom 1GB of RAM, and this is all correctly defined via dma-ranges. However the kernel silently uses swiotlb to bounce dma buffers around if they are in the wrong region. This relies on dma sync functions to be called in order to copy the data to/from the bounce buffer. DRM is based on all memory allocations being coherent with the GPU so that any updates to a framebuffer will be acted on without the need for any additional update. This is fairly fundamentally incompatible with needing to call dma_sync_ to handle the bounce buffer copies, and therefore we have to detect and reject mappings that use bounce buffers. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c411898 - Browse repository at this point
Copy the full SHA c411898View commit details -
Configuration menu - View commit details
-
Copy full SHA for b5757f1 - Browse repository at this point
Copy the full SHA b5757f1View commit details -
drm/vc4: Correct HVS muxing setup for the moplet
The moplet registers as VC4_ENCODER_TYPE_TXP1 and can be fed from mux output 2 of HVS channel 1. Correct the option which checked for VC4_ENCODER_TYPE_TXP0 Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8a88fc9 - Browse repository at this point
Copy the full SHA 8a88fc9View commit details -
drm/vc4: Mop and moplet have different register offsets for high addr
MOP uses register offset 0x24 for the high bits of the address, whilst Moplet uses 0x1c. Handle this difference between the block types. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for dc49d2c - Browse repository at this point
Copy the full SHA dc49d2cView commit details -
media: dt-bindings: i2c: Add Rohm BU64754 bindings
Add YAML device tree bindings for the ROHM BU64754 VCM Motor Driver for Camera Autofocus. Signed-off-by: Kieran Bingham <[email protected]> Signed-off-by: Jacopo Mondi <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3d875ac - Browse repository at this point
Copy the full SHA 3d875acView commit details -
media: i2c: Add ROHM BU64754 Camera Autofocus Actuator
Add support for the ROHM BU64754 Motor Driver for Camera Autofocus. A V4L2 Subdevice is registered and provides a single V4L2_CID_FOCUS_ABSOLUTE control. Signed-off-by: Kieran Bingham <[email protected]> Signed-off-by: Jacopo Mondi <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for de7d9c6 - Browse repository at this point
Copy the full SHA de7d9c6View commit details -
firmware/psci: Pass given partition number through
Pi 5 uses BL31 as its armstub file, so the reset goes via PSCI. Parse any "reboot" parameter as a partition number to reboot into. N.B. This code path is only used if reboot mode has been set to warm or soft. Signed-off-by: Phil Elwell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e60936c - Browse repository at this point
Copy the full SHA e60936cView commit details -
drm/vc4: Fix reading of frame count on GEN5 / Pi4
The frame count values moved within registers DISPSTAT1 and DISPSTAT2 with GEN5, so update the accessor function to accommodate that. Fixes: b51cd7a ("drm/vc4: hvs: Fix frame count register readout") Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4ad626d - Browse repository at this point
Copy the full SHA 4ad626dView commit details -
drm/vc4: Fixup of patches adding debugfs functions
Fixes: d869ef6a96a3 ("drm/vc4: Add debugfs node that dumps the vc5 gamma PWL entries") Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ba16972 - Browse repository at this point
Copy the full SHA ba16972View commit details -
media: i2c: adv7180: Use MEDIA_BUS_FMT_UYVY8_1X16 for CSI2 output
CSI2 devices are meant to use the 1Xnn formats rather than 2Xnn such as MEDIA_BUS_FMT_UYVY8_2X8. For devices with ADV7180_FLAG_MIPI_CSI2 set, use MEDIA_BUS_FMT_UYVY8_1X16. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6a7b667 - Browse repository at this point
Copy the full SHA 6a7b667View commit details -
media: i2c: adv7180: Add support for V4L2_CID_LINK_FREQ
For CSI2 receivers that need to know the link frequency, add it as a control to the driver. Interlaced modes are 216Mbp/s or 108MHz, whilst going through the I2P to deinterlace gives 432Mb/s or 216MHz. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 34cc6e7 - Browse repository at this point
Copy the full SHA 34cc6e7View commit details -
spi: bcm2835: Support spi0-0cs and SPI_NO_CS mode
The forced conversion of native CS lines into software CS lines is done whether or not the controller has been given any CS lines to use. This breaks the use of the spi0-0cs overlay to prevent SPI from claiming any CS lines, particularly with spidev which doesn't pass in the SPI_NO_CS flag at creation. Use the presence of an empty cs-gpios property as an indication that no CS lines should be used, bypassing the native CS conversion code. See: raspberrypi#5835 Signed-off-by: Phil Elwell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c301ead - Browse repository at this point
Copy the full SHA c301eadView commit details -
vc4/hvs: Add support for D0 register changes
Signed-off-by: Dom Cobley <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 04f2bc6 - Browse repository at this point
Copy the full SHA 04f2bc6View commit details -
vc4/hvs: Updates to support D0 alpha and csc changes
2712D0 has a simpler colourspace conversion matrix block so set that up. Signed-off-by: Dom Cobley <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ea9e98b - Browse repository at this point
Copy the full SHA ea9e98bView commit details -
vc4/hdmi: Update MAI_THR for D0
2712D0 has increased the fifo sizes of MAI_THR blocks, resulting in adjusted bit offsets. Handle that. Signed-off-by: Dom Cobley <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f93679b - Browse repository at this point
Copy the full SHA f93679bView commit details -
drm/vc4: Optimise vc4_hvs_dlist_free_work to only read frcnt and acti…
…ve once vc4_hvs_dlist_free_work was iterating through the list of stale dlist entries and reading the frame count and active flags from the hardware for each one. Read the frame count and active flags once, and then use the cached value in the loop. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1d8d1a4 - Browse repository at this point
Copy the full SHA 1d8d1a4View commit details -
drm/vc4: Flush stale dlist entries if allocation fails
This is largely for debug at present. For reasons unknown we are not getting the end of frame interrupts that should trigger a sweep of stale dlist entries. On allocation failure clear out ALL stale entries, and retry the allocation. Log the interrupt status so we have debug regarding whether the HVS believes the interrupt is enabled. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for fd50aea - Browse repository at this point
Copy the full SHA fd50aeaView commit details -
dt-bindings: usb: update dwc3 bindings for parkmode-disable quirks
There are three disable bits, one for each bus-instance type. Add a quirk to cover the FS/LS type, and update the slightly mangled quirk descriptions in the process. Signed-off-by: Jonathan Bell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b1e25fd - Browse repository at this point
Copy the full SHA b1e25fdView commit details -
drivers: usb: dwc3: add FS/LS bus instance parkmode disable bit
There are three parkmode disable bits, one for each bus instance type. Add FS/LS and parse the quirk out of DT. Also update the slightly mangled quirk descriptions. Signed-off-by: Jonathan Bell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ca6161d - Browse repository at this point
Copy the full SHA ca6161dView commit details -
drm/vc4: Initialise the tv_mode property default from cmdline_mode.
With the command line parser now providing the information about the tv mode, use that as the preferred choice for initialising the default of the tv_mode property. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0e1bf48 - Browse repository at this point
Copy the full SHA 0e1bf48View commit details -
i2c: designware: Use SCL rise and fall times in DT
Calculate the HCNT and LCNT values for all modes using the rise and fall times of SCL, the aim being a 50/50 mark/space ratio. Signed-off-by: Phil Elwell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9a8c362 - Browse repository at this point
Copy the full SHA 9a8c362View commit details -
i2c: designware: Support non-standard bus speeds
Add support for non-standard bus speeds by treating them as detuned versions of the slowest standard speed not less than the requested speed. Signed-off-by: Phil Elwell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 168de52 - Browse repository at this point
Copy the full SHA 168de52View commit details -
serial: sc16is7xx: Don't spin if no data received
There are multiple causes of interrupts, errors being one, and only the receipt of data warrants continued polling. See: raspberrypi#2676 Signed-off-by: Phil Elwell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 39acd3c - Browse repository at this point
Copy the full SHA 39acd3cView commit details -
drm/vc4: Drop planes that have 0 destination size
There is no point in trying to create a dlist entry for planes that have a 0 crtc size, and it can also cause grief in the vc6 dlist generation as it takes width-1 and height-1, causing wrap around. Drop these planes. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for de16059 - Browse repository at this point
Copy the full SHA de16059View commit details -
vc4/hvs: Support fixed alpha correctly on 2712D0
2712D0 removed alpha_mode from control word 2 for choosing fixed alpha and replaced it with the previously reserved value of 3 in alpha_mask. Handle this to fix corrupt desktop when using X on 2712D0 Signed-off-by: Dom Cobley <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ea92308 - Browse repository at this point
Copy the full SHA ea92308View commit details -
drm/vc4: Disable overrun interrupts
We have a read-modify-write race when updating SCALER_DISPCTRL for underrun and end-of-frame interrupts. Ideally it would be fixed via a spinlock or similar, but that will require a reasonable amount of study to ensure we don't get deadlocks. The underrun reporting is only for debug, so disable it for now. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9fe755a - Browse repository at this point
Copy the full SHA 9fe755aView commit details -
vc4/hvs: Fix lbm size calculation for yuv
The code was reducing the number of components by one when we were not blending with alpha. But that only makes sense if the components include alpha. For YUV, we were reducing the number of components for Y from one to zero which resulted in no lbm space being allocated. Fixes: raspberrypi#5912 Signed-off-by: Dom Cobley <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bd91bbc - Browse repository at this point
Copy the full SHA bd91bbcView commit details -
arm64/Kconfig: Don't set DMA_BOUNCE_UNALIGNED_KMALLOC
If enabled, DMA_BOUNCE_UNALIGNED_KMALLOC causes the swiotlb buffers (64MB, by default) to be allocated, even on systems where the DMA controller can reach all of RAM. This is a huge amount of RAM to waste on a device with only 512MB to start with, such as the Zero 2 W. See: raspberrypi#5975 Signed-off-by: Phil Elwell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 24eae86 - Browse repository at this point
Copy the full SHA 24eae86View commit details -
Bluetooth: btbcm: Add entry for BCM43439 UART BT
This patch adds the device ID for the BCM4343A2 module, found e.g. in the Infineon (Cypress) CYW43439 chip. The required firmware file is named 'BCM4343A2.hcd'. Signed-off-by: Phil Elwell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a78f57c - Browse repository at this point
Copy the full SHA a78f57cView commit details -
dt-bindings: add additional RP1 PLL output channels
PLL_AUDIO has a ternary divider (a copy of the secondary divider) and PLL_VIDEO has a primary phased output. Signed-off-by: Jonathan Bell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4c12149 - Browse repository at this point
Copy the full SHA 4c12149View commit details -
vc4: Add jack detection to HDMI audio driver
Add ALSA jack detection to the vc4-hdmi audio driver so userspace knows when to add/remove HDMI audio devices. Signed-off-by: David Turner <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 90af090 - Browse repository at this point
Copy the full SHA 90af090View commit details -
regulator: Add a regulator for the new LCD panels
The newer Raspberry Pi 5" and 7" panels have a slightly different register map to the original one. Add a new driver for this regulator. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a23f55a - Browse repository at this point
Copy the full SHA a23f55aView commit details -
i2c: mux: Add support for generic base-nr property
i2c_mux_add_adapter takes a force_nr parameter that allows an explicit bus number to be associated with a channel. However, only i2c-mux-reg and i2c-mux-gpio make use of it. To help with situations where it is desirable to have a fixed, known base address for the channels of a mux, create a "base-nr" property. When force_nr is 0 and base-nr is set and non-zero, form a force_nr value from the sum of base-nr and the channel ID. Signed-off-by: Phil Elwell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b0f524c - Browse repository at this point
Copy the full SHA b0f524cView commit details -
non-upstream: support DS1 exit firmware re-download
In deep sleep mode (DS1) ARM is off and once exit trigger comes than mailbox Interrupt comes to host and whole reinitiation should be done in the ARM to start TX/RX. Also fix below issus for DS1 exit: 1. Sent Tx Control frame only after firmware redownload complete (check F2 Ready before sending Tx Control frame to Firmware) 2. intermittent High DS1 TX Exit latency time (almost 3sec) ==> This is fixed by skipping host Mailbox interrupt Multiple times (ulp state mechanism) 3. RX GlOM save/restore in Firmware 4. Add ULP event enable & event_msgs_ext iovar configuration in FMAC 5. Add ULP_EVENT_RECV state machine for sbwad support 6. Support 2 Byte Shared memory read for DS1 Exit HUDI implementation Signed-off-by: Praveen Babu C <[email protected]> Signed-off-by: Naveen Gupta <[email protected]> [Merge from 4.14.77 to 5.4.18; set BRCMF_SDIO_MAX_ACCESS_ERRORS to 20] Signed-off-by: Chi-hsien Lin <[email protected]> JIRA: SWWLAN-135583 JIRA: SWWLAN-136577
Configuration menu - View commit details
-
Copy full SHA for 0de8e2d - Browse repository at this point
Copy the full SHA 0de8e2dView commit details -
brcmfmac: Fix interoperating DPP and other encryption network access
1. If firmware supports 4-way handshake offload but not supports DPP 4-way offload, when user first connects encryption network, driver will set "sup_wpa 1" to firmware, but it will further result in DPP connection failure since firmware won't send EAPOL frame to host. 2. Fix DPP AP mode handling action frames. 3. For some firmware without fwsup support, the join procedure will be skipped due to "sup_wpa" iovar returning not-support. Check the fwsup feature before do such iovar. Signed-off-by: Kurt Lee <[email protected]> Signed-off-by: Double Lo <[email protected]> Signed-off-by: Chi-hsien Lin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d9288e4 - Browse repository at this point
Copy the full SHA d9288e4View commit details -
brcmfmac: support external SAE authentication in station mode
Firmware has SME functionality but would like the userspace to handle SAE authentication. This patch adds support for such an external SAE authentication mechanism in station mode. Signed-off-by: Chung-Hsien Hsu <[email protected]> Signed-off-by: Chi-hsien Lin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b3d1aca - Browse repository at this point
Copy the full SHA b3d1acaView commit details -
Commit 7d239fb broke 802.1X authentication by setting profile->use_fwsup = NONE whenever PSK is not used. However 802.1X does not use PSK and requires profile->use_fwsup set to 1X, or brcmf_cfg80211_set_pmk() fails. Fix this by checking that profile->use_fwsup is not already set to 1X and avoid setting it to NONE in that case. Fixes: 7d239fb (brcmfmac: Fix interoperating DPP and other encryption network access) Fixes: raspberrypi#5964
Configuration menu - View commit details
-
Copy full SHA for 820da48 - Browse repository at this point
Copy the full SHA 820da48View commit details -
mmc: bcm2835-sdhost: use Host Software Queueing mechanism
See commit 511ce37 ("mmc: Add MMC host software queue support") Introduced in 5.8, this feature lets the block layer issue up to 2 pending requests to the MMC layer which in certain cases can improve throughput, but in the case of this driver can significantly reduce context switching when performing random reads. On bcm2837 with a performant class A1 card, context switches under FIO random 4k reads go from ~8800 per second to ~5800, with a reduction in hardIRQs per second from ~5800 to ~4000. There is no appreciable difference in throughput. For bcm2835, and for workloads other than random read, HSQ is a wash in terms of throughput and CPU load. So, use it by default. Signed-off-by: Jonathan Bell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 52aaa97 - Browse repository at this point
Copy the full SHA 52aaa97View commit details -
drivers: mmc: add SD support for Command Queueing
Application class A2 cards require CQ to be enabled to realise their stated performance figures. Add support to enable/disable card CQ via the Performance Enhancement extension register, and cater for the slight differences in command set versus eMMC. Signed-off-by: Jonathan Bell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c20e59d - Browse repository at this point
Copy the full SHA c20e59dView commit details -
drivers: mmc: preallocate a block for SD extension register accesses
The Performance Extension register is regularly accessed in a hot path to do write cache flushes. Don't invoke kmalloc/kfree for every access, preallocate a 512B buffer for this purpose. Also remove an unused alloc in sd_enable_cache(). Signed-off-by: Jonathan Bell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a25236b - Browse repository at this point
Copy the full SHA a25236bView commit details -
drivers: mmc: trigger activity LED when CQE is active
Add a LED_FULL trigger equivalent to mmc_start_request() in mmc_cqe_start_req(), otherwise it stays off forever. Signed-off-by: Jonathan Bell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5c4c32d - Browse repository at this point
Copy the full SHA 5c4c32dView commit details -
drivers: sdhci-brcmstb: work around mystery CQE CMD_IDLE_TIMER trampling
For unknown reasons the controller seems to reset the idle polling timer interval on CQE enable/disable to 8 clocks which is extremely short. Just use the reset value in the eMMC spec (4096 clock periods which at 200MHz is ~20uS). Signed-off-by: Jonathan Bell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f0d8852 - Browse repository at this point
Copy the full SHA f0d8852View commit details -
drm/vc4: Enable bg_fill if there are no planes enabled
The default was to have enable_bg_fill disabled and the first plane set it if it wasn't opaque and covering the whole screen. However that meant that if no planes were enabled, then the background fill wasn't enabled, and would give a striped output from the uninitialised output buffer. Initialise it to enabled to avoid this. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d6b580f - Browse repository at this point
Copy the full SHA d6b580fView commit details -
drivers: mmc: cqhci: clear CQHCI_CTL if halt fails
The eMMC spec says that in certain circumstances the controller can't respond to a halt request - in practice, this occurs if a CMD timeout happens (card went away/crashed). Clear the halt request by writing 0 to CQHCI_CTL. Also fix a logic error testing for halt in cqhci_request. Signed-off-by: Jonathan Bell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 83d218b - Browse repository at this point
Copy the full SHA 83d218bView commit details -
drivers: mmc: export SD extension register read/write functions
Certain status bits in these registers may need polling outside of SD-specific code. Export in sd_ops.h Signed-off-by: Jonathan Bell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9d90c53 - Browse repository at this point
Copy the full SHA 9d90c53View commit details -
drivers: mmc: be more cautious when manipulating Command Queue enable
Don't attempt to turn on CQ if the other mandatory features are not indicated as supported by the card. Also make sure that the register write actually stuck, as some cards claim support but never report back that the queue engine is enabled. Signed-off-by: Jonathan Bell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bef5f1d - Browse repository at this point
Copy the full SHA bef5f1dView commit details -
drivers: mmc: add debugfs entries for SD extension registers
Also report the card's supported queue depth in the message log. Signed-off-by: Jonathan Bell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ea6bff6 - Browse repository at this point
Copy the full SHA ea6bff6View commit details -
drivers: mmc: handle 1024-byte SD General Info lengths
The spec allows for up to two 512-byte pages to be allocated for the Extension Register General Info block, so allocate accordingly. Signed-off-by: Jonathan Bell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9258d67 - Browse repository at this point
Copy the full SHA 9258d67View commit details -
mmc: sdhci-brcmstb: add hs400_downgrade callback for bcm2712
The attached PHY performs parameter validation, so the switch from HS200 to HS (before selecting HS400/HS400es) with a 200MHz clock fails to update pad timings and results in CRC errors from the card. Underclocking the interface is safe, so do that in the downgrade callback. Signed-off-by: Jonathan Bell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 77c641d - Browse repository at this point
Copy the full SHA 77c641dView commit details -
mmc: sdhci: extend maximum ADMA transfer length to 4MiB
This gains about 8-12% sequential write speed with the fastest SD/eMMC cards, and Class A1/A2 card sequential performance is only assured with a 4MiB write length. Signed-off-by: Jonathan Bell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5c21f34 - Browse repository at this point
Copy the full SHA 5c21f34View commit details -
drivers: mmc: sdhci-brcmstb: improve bcm2712 card removal handling
If the controller is being reset, then the CQE needs to be reset as well. For removable cards, CQHCI_SSC1 must specify a polling mode (CBC=0) otherwise it's possible that the controller stops emitting periodic CMD13s on card removal, without raising an error status interrupt. Signed-off-by: Jonathan Bell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d1222c9 - Browse repository at this point
Copy the full SHA d1222c9View commit details -
drivers: mmc: core: handle card-removal when running CQE recovery
Recovery claims the MMC card so the card-detect work gets significantly delayed - leading to lots of error recovery loops that can never do anything but fail. Explicitly detect the card after CQE has halted and bail if it's not there. Also ratelimit a not-very-descriptive warning - one occurrence in dmesg is enough to signal that something is amiss. Signed-off-by: Jonathan Bell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a62dbfa - Browse repository at this point
Copy the full SHA a62dbfaView commit details -
mmc: restrict posted write counts for SD cards in CQ mode
Command Queueing requires Write Cache and Power off Notification support from the card - but using the write cache forms a contract with the host whereby the card expects to be told about impending power-down. The implication is that (for performance) the card can do unsafe things with pending write data - including reordering what gets committed to nonvolatile storage at what time. Exposed SD slots and platforms powered by hotpluggable means (i.e. Raspberry Pis) can't guarantee that surprise removal won't happen. To limit the scope for cards to invent new ways to trash filesystems, limit pending writes to 1 (equivalent to the non-CQ behaviour). Signed-off-by: Jonathan Bell <[email protected]> fixup: mmc: restrict posted write counts for SD cards in CQ mode Leaving card->max_posted_writes unintialised was a bad thing to do. Also, cqe_enable is 1 if hsq is enabled as hsq substitutes the cqhci implementation with its own. Signed-off-by: Jonathan Bell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8f6b7d1 - Browse repository at this point
Copy the full SHA 8f6b7d1View commit details -
mmc: don't reference requests after finishing them
Posted write tracking introduced in the commit below raced with re-use of the requests between completion and submission, potentially causing underflow of the pending write count. Fixes: e6c1e86 ("mmc: restrict posted write counts for SD cards in CQ mode") Signed-off-by: Jonathan Bell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4b33d43 - Browse repository at this point
Copy the full SHA 4b33d43View commit details -
drivers: mmc: disable write-caching on Samsung 2023 model year SD cards
Samsung EVO Plus, Pro Plus and Evo Ultimate cards of this era appear to have a broken cache-flush implementation when operating in CQ mode. Unfortunately the cards seem to use a separate CID name string for every variant and capacity, so nobble the cache feature for this MANFID, OEMID and year. Turning this off seems to have negligible impact on random-write throughput in non-CQ mode. Signed-off-by: Jonathan Bell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a570cc9 - Browse repository at this point
Copy the full SHA a570cc9View commit details -
mmc: quirks: disable cache on more known-bad Sandisk card date ranges
Cards with manufacture dates in 2019 and 2020 have been seen in the wild that hang indefinitely if issued a cache flush command in CQ mode. Signed-off-by: Jonathan Bell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 52819dc - Browse repository at this point
Copy the full SHA 52819dcView commit details -
mmc: block: disable CQ on SD cards when doing non-Discard erase
Only CMD38 with Arg=0x1 (Discard) is supported when in CQ mode, so turn it off before issuing a non-discard erase op. Signed-off-by: Jonathan Bell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 51d1c66 - Browse repository at this point
Copy the full SHA 51d1c66View commit details -
mmc: quirks: add MMC_QUIRK_BROKEN_ERASE for Phison/Integral cards
Recent Integral cards end up with corrupt sectors after a flash erase. This covers sizes for the A2 range, which can't be differentiated from the A1 range which might not have the same issue. Signed-off-by: Jonathan Bell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f98e249 - Browse repository at this point
Copy the full SHA f98e249View commit details -
i2c: designware: Add support for bus clear feature
Newer versions of the DesignWare I2C block support the detection of stuck signals, and a mechanism to recover from them. Add the required software support to the driver. This change was prompted by the observation that reading a single byte from register 0 of a VEML7700 seems to cause it to issue an ACK too early, and the controller to complain about losing arbitration. There is a suspicion that this may be a more widespread problem, but at least this patch prevents the bus from locking up. See: raspberrypi#6057 Signed-off-by: Phil Elwell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4ddedf0 - Browse repository at this point
Copy the full SHA 4ddedf0View commit details -
i2c: designware: Make the SDA hold time half LCNT
In the absence of a value in Device Tree, set the SDA hold time to half the SCL low time. Signed-off-by: Phil Elwell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ce1124a - Browse repository at this point
Copy the full SHA ce1124aView commit details -
nvmem: raspberrypi: Add nvmem driver for accessing OTP data
This supports reading and writing OTP using the firmware mailbox interface. It needs supporting firmware to run. Signed-off-by: Dom Cobley <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 235c2ab - Browse repository at this point
Copy the full SHA 235c2abView commit details -
module: Avoid ABI changes when debug info is disabled
CI builds are done with debug info disabled, but this removes some members from struct module. This causes builds to fail if there is an ABI reference for the current ABI. Define these members unconditionally, so that there is no ABI change.
Configuration menu - View commit details
-
Copy full SHA for f51a44b - Browse repository at this point
Copy the full SHA f51a44bView commit details -
media: bcm2835-unicam: Add option for a GPIO to reflect FS/FE timing
The legacy stack had an option to have a GPIO track frame start and end events to give basic synchronisation to the incoming image stream. https://forums.raspberrypi.com/viewtopic.php?t=190314 Replicate this in the kernel Unicam driver. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 01fabdf - Browse repository at this point
Copy the full SHA 01fabdfView commit details -
dw-axi-dmac-platform: Avoid trampling with zero length buffer
This code: for_each_sg(sgl, sg, sg_len, i) num_sgs += DIV_ROUND_UP(sg_dma_len(sg), axi_block_len); determines how many hw_desc are allocated. If sg_dma_len(sg)=0 we don't allocate for this sgl. However in the next loop, we will increment loop for this case, and loop gets higher than num_sgs and we trample memory. Signed-off-by: Dom Cobley <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 22fa9fd - Browse repository at this point
Copy the full SHA 22fa9fdView commit details -
drivers: media: cfe: Add remap entries for mono formats
The 8-bit and 16-bit mono formats were missing the appropriate remap entries in the format table. Signed-off-by: Naushir Patuck <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for cc34a0b - Browse repository at this point
Copy the full SHA cc34a0bView commit details -
vc4/hdmi: Ignore hotplug interrupt with force_hotplug
The intention of the vc4.force_hotplug setting is to ignore hotplug completely. It can be used when a display toggles hotplug when switching AV inputs, going into standby or changing a KVM switch, and some side effect of that is unwanted. It turns out while vc4.force_hotplug currently makes hotplug always read as asserted, that isn't enough to stop drm doing lots of stuff, including re-reading the edid. An example of what drm does with a hotplug deasert/assert and vc4.force_hotplug=1 currently is: https://paste.debian.net/hidden/dc07434b/ That is unwanted. Lets ignore the hotplug interrupt completely so drm is blissfully unaware of the hotplug change. Signed-off-by: Dom Cobley <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2795a5c - Browse repository at this point
Copy the full SHA 2795a5cView commit details -
drm/panel: Add and initialise an orientation field to drm_panel from OF
"rotation" is listed as a standard property of panels in panel-common.yaml, therefore it would be logical to process that from within the core code should a panel driver not implement the get_orientation hook. Call of_drm_get_panel_orientation from drm_connector_set_orientation_from_panel to get that information. This removes the need for any boiler-plate in panel drivers for calling drm_connector_set_orientation_from_panel or drm_connector_set_panel_orientation. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a86e575 - Browse repository at this point
Copy the full SHA a86e575View commit details -
drm/bridge: tc358762: Program the DPI mode into the chip
The autodetection of resolution/timing by the TC358762 can lead to the display being shifted by a pixel or two. Program the TC358762 with the requested mode timing so that it can reproduce it accurately. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d6fdb99 - Browse repository at this point
Copy the full SHA d6fdb99View commit details -
drm/bridge: tc358762: revert move ops to enable
Reverts 8a4b2fc ("drm/bridge: tc358762: Split register programming from pre-enable to enable") as we want the config commands sent before video starts. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for eafcbed - Browse repository at this point
Copy the full SHA eafcbedView commit details -
drm: vc4: dsi: Clocks should be running before reset
The initialisation sequence differs slightly from the documentation in that the clocks are meant to be running before resets and similar. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 45156b2 - Browse repository at this point
Copy the full SHA 45156b2View commit details -
drm: vc4: Reset DSI AFE on disable
vc4_dsi_bridge_disable wasn't resetting things during shutdown, so add that in. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for dfb3dab - Browse repository at this point
Copy the full SHA dfb3dabView commit details -
drm/vc4: Ensure DSI is enabled for FIFO resets
The block must be enabled for the FIFO resets to be actioned, so ensure this is the case. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 019273c - Browse repository at this point
Copy the full SHA 019273cView commit details -
drm/vc4: Add option to call from crtc to encoder on vblank
DSI0 is misbehaving and needs to action things on vblank to work around it. Add a new hook to call across during vblank. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8f3bcf6 - Browse repository at this point
Copy the full SHA 8f3bcf6View commit details -
drm/vc4: Add vblank callback to DSI0 to reset FIFO
The pixel to byte FIFO appears to not always reset correctly, which can lead to colour errors and/or horizontal shifts. Reset on every vblank to work around the issue. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f0846e0 - Browse repository at this point
Copy the full SHA f0846e0View commit details -
drm/vc4: Fixup mode for 7inch panel on DSI0
The TC358762 bridge and panel decodes the mode differently on DSI0 to DSI1 for no obvious reason, and results in a shift off the screen. Whilst it would be possible to change the compatible used for the panel, that then messes up Pi5. As it appears to be restricted to vc4 DSI0, fix up the mode in vc4_dsi. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 356d022 - Browse repository at this point
Copy the full SHA 356d022View commit details -
pinctrl: bcm2835: Persist outputs by default
Having accepted the upstream change to add the persist_gpio_outputs parameter, make it true by default. See: raspberrypi#6117 Signed-off-by: Phil Elwell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2a3b72d - Browse repository at this point
Copy the full SHA 2a3b72dView commit details -
drm/vc4: Fix potential null pointer read when disabling vblank
vc4_disable_vblank assumed that vc4_encoder was always assigned, which isn't guaranteed. If it isn't assigned then disable the interrupt anyway as it's not connected. raspberrypi#6146 Fixes: 63c0bcc ("drm/vc4: Add option to call from crtc to encoder on vblank") Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1676057 - Browse repository at this point
Copy the full SHA 1676057View commit details -
spi: dw: Handle any number of gpiod CS lines
Even when configured to use only gpiod CS lines, the DW SPI controller still expects a bit to be set in the SER register, otherwise transfers stall. For the csgpiod case, nominate bit 0 for the job. See: raspberrypi#6159 Signed-off-by: Phil Elwell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a47e787 - Browse repository at this point
Copy the full SHA a47e787View commit details -
regulator: rpi_panel_v2: Add remove and shutdown hooks
Add shutdown and remove hooks so that the panel gets powered off with the system. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 45eaab0 - Browse repository at this point
Copy the full SHA 45eaab0View commit details -
regulator: rpi_panel_v2: Add delay on I2C reads
As with many microcontrollers, the panel wants to use clock stretching during a read so that the appropriate return value can be generated and programmed into the hardware. With Pi0-3 really not supporting clock stretching, this resulted in the panel firmware dying. Insert a delay between the write and the read to give the firmware a chance to generate the relevant return value. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b4d4c21 - Browse repository at this point
Copy the full SHA b4d4c21View commit details -
drm/vc4: dpi: Add override for RGB order
There are no MEDIA_BUS_FMT_* defines for GRB or BRG, and adding them is a pain. Add a DT override to allow setting the order. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 07b42ed - Browse repository at this point
Copy the full SHA 07b42edView commit details -
backlight: Add a display name to the core, and a function to set it
The naming of backlight devices is not terribly useful for associating a backlight controller with a display (assuming it is attached to one). Add a sysfs node that will return a display name that can be set by other subsystems. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 551d0fe - Browse repository at this point
Copy the full SHA 551d0feView commit details -
drm/bridge: panel: Name an associated backlight device
Pass the DRM connector name to any configured backlight device so that userspace can associate the two items. Ideally this should be in drm_panel, but it is bridge/panel that creates the drm_connector and therefore knows the name. Signed-off-by: Dave Stevenson <[email protected]> drm/bridge: panel: Ensure backlight is reachable Ensure that the various options of modules vs builtin results in being able to call into the backlight code. raspberrypi#6198 Fixes: 573f8fd ("drm/bridge: panel: Name an associated backlight device") Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d60f0a6 - Browse repository at this point
Copy the full SHA d60f0a6View commit details -
drivers: media: pci: Add Hailo accelerator device drivers
Add version 4.17.1 of the Hailo PCIe device drivers. Sourced from https://github.com/hailo-ai/hailort-drivers/ Signed-off-by: Naushir Patuck <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for dae5c5d - Browse repository at this point
Copy the full SHA dae5c5dView commit details -
drivers: media: pcie: hailo: Fix include paths
An attempt to fix the include paths - they look reasonable, but the GitHub auto-builds fail. Signed-off-by: Phil Elwell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6d08cbb - Browse repository at this point
Copy the full SHA 6d08cbbView commit details -
drivers: media: pci: Update Hailo accelerator device driver to v4.18.0
Sourced from https://github.com/hailo-ai/hailort-drivers/ Signed-off-by: Naushir Patuck <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 34fad1a - Browse repository at this point
Copy the full SHA 34fad1aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 19669d9 - Browse repository at this point
Copy the full SHA 19669d9View commit details -
drivers: media: pci: Fix Hailo compile warnings
Signed-off-by: Phil Elwell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e776b03 - Browse repository at this point
Copy the full SHA e776b03View commit details -
staging: vc04_services: Add helpers for vchiq driver data
Add helpers to set and get vchiq driver data. vchiq_set_drvdata() and vchiq_get_drvdata() wraps dev_set_drvdata() and dev_get_drvdata() respectively. Signed-off-by: Umang Jain <[email protected]> Signed-off-by: Kieran Bingham <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3a82492 - Browse repository at this point
Copy the full SHA 3a82492View commit details -
staging: vc04_services: vc-sm-cma: Remove deprecated header
The vchiq_connected.h header was removed in f875976 ("staging: vc04_services: Drop vchiq_connected.[ch] files") to simplify the implementation. Update the vc_sm driver accordingly which can still use the same functions through the vchiq_arm.h header declarations. Fixes: b1ab7a0 ("staging: vc04_services: Add new vc-sm-cma driver") Signed-off-by: Kieran Bingham <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5c711dc - Browse repository at this point
Copy the full SHA 5c711dcView commit details -
staging: vc04_services: vc-sm-cma: Drop include Makefile directive
Drop the include directive. They can break the build, when one only wants to build a subdirectory. Replace with "../" for the includes in the vc_sm files instead. The fix is equivalent to the four patches between 29d49a7 ("staging: vc04_services: bcm2835-audio: Drop include Makefile directive")...2529ca2 ("staging: vc04_services: interface: Drop include Makefile directive") Fixes: b1ab7a0 ("staging: vc04_services: Add new vc-sm-cma driver") Suggested-by: Greg Kroah-Hartman <[email protected]> Signed-off-by: Kieran Bingham <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2f2b54c - Browse repository at this point
Copy the full SHA 2f2b54cView commit details -
staging: vc04_services: vc-sm-cma: Register with vchiq_bus_type
Register the vcsm rive with the vchiq_bus_type instead of useing the platform driver/device. Signed-off-by: Kieran Bingham <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 533db48 - Browse repository at this point
Copy the full SHA 533db48View commit details -
arm: bcm2835: Add bcm2838 compatible string.
Signed-off-by: Phil Elwell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4323eae - Browse repository at this point
Copy the full SHA 4323eaeView commit details -
ARM: bcm: Switch board, clk and pinctrl to bcm2711 compatible
After the decision to use bcm2711 compatible for upstream, we should switch all accepted compatibles to bcm2711. So we can boot with one DTB the down- and the upstream kernel. Signed-off-by: Stefan Wahren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6732302 - Browse repository at this point
Copy the full SHA 6732302View commit details -
media: bcm2835-unicam: Add support for 12bit mono packed format
Now that V4L2_PIX_FMT_Y12P is defined, allow passing raw 12bit mono packed data through the peripheral. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6374939 - Browse repository at this point
Copy the full SHA 6374939View commit details -
media: bcm2835-unicam: Add support for 14bit mono sources
Now that V4L2_PIX_FMT_Y14 and V4L2_PIX_FMT_Y14P are defined, allow passing 14bit mono data through the peripheral. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 399da71 - Browse repository at this point
Copy the full SHA 399da71View commit details -
media: bcm2835-unicam: Add support for unpacked 14bit Bayer formats
Now that the 14bit non-packed Bayer formats are defined, add them into the supported formats lookup table. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 56d399c - Browse repository at this point
Copy the full SHA 56d399cView commit details -
vc4/hdmi: Fix Hsync and Vsync polarity changes
Polarity bits were only ever set and never cleared. Make sure they can also be cleared. Signed-off-by: Michiel Vanbiervliet <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 99aa539 - Browse repository at this point
Copy the full SHA 99aa539View commit details -
lan78xx: Read initial EEE status from DT
Add two new DT properties: * microchip,eee-enabled - a boolean to enable EEE * microchip,tx-lpi-timer - time in microseconds to wait before entering low power state Signed-off-by: Phil Elwell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 095d18a - Browse repository at this point
Copy the full SHA 095d18aView commit details -
lan78xx: Return tx_lpi_timer even if disabled
Disabling tx_lpi or eee should not cause the value of tx_lpi_timer to be lost, even though it is not useful until they are re-enabled. Signed-off-by: Phil Elwell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 11ad81a - Browse repository at this point
Copy the full SHA 11ad81aView commit details -
staging: vc04_services: vc-sm-cma: Explicitly set DMA mask
The platform model originally handled the DMA mask. Now that we are on the vchiq_bus we need to explicitly set this. Signed-off-by: Kieran Bingham <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3701d4d - Browse repository at this point
Copy the full SHA 3701d4dView commit details -
media: pisp-be: Backport the mainline PiSP BE driver
Backport to rpi-6.6.y the mainline version of the PiSP BE driver. The backported version of the driver corresponds to the one available at: https://lore.kernel.org/all/[email protected]/ Signed-off-by: Jacopo Mondi <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d96d9a8 - Browse repository at this point
Copy the full SHA d96d9a8View commit details -
media: pisp_be: Re-introduce multi-context support
Re-introduce multi-context support that was dropped from the mainline driver version. Signed-off-by: Jacopo Mondi <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b48765a - Browse repository at this point
Copy the full SHA b48765aView commit details -
media: pisp_be: Re-introduce video node offset
Offset the backend dev-nodes starting at /dev/video20 onwards to maintain backward compatibility with the pre-upstreamed kernel driver. Signed-off-by: Naushir Patuck <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4355929 - Browse repository at this point
Copy the full SHA 4355929View commit details -
spi: dt-bindings: Add RPI RP2040 GPIO Bridge
Add YAML device tree bindings for the Raspberry Pi RP2040 GPIO Bridge. Signed-off-by: Richard Oliver <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 84823ab - Browse repository at this point
Copy the full SHA 84823abView commit details -
spi: Add a driver for the RPI RP2040 GPIO bridge
The Raspberry Pi RP2040 GPIO bridge is an I2C-attached device exposing both a Tx-only SPI controller, and a GPIO controller. Due to the relative difference in transfer rates between standard-mode I2C and SPI, the GPIO bridge makes use of 12 MiB of non-volatile storage to cache repeated transfers. This cache is arranged in ~8 KiB blocks and is addressed by the MD5 digest of the data contained therein. Optionally, this driver is able to take advantage of Raspberry Pi RP1 GPIOs to achieve faster than I2C data transfer rates. Signed-off-by: Richard Oliver <[email protected]> spi: rp2040-gpio-bridge: Add debugfs progress indicator Useful for tracking upload progress via userspace. Signed-off-by: Naushir Patuck <[email protected]> spi: rp2040-gpio-bridge: add missing MD5 dependency rp2040-gpio-bridge relies on the md5 crypto driver. This dependency cannot be determined automatically as rp2040-gpio-bridge does not use any of md5's symbols directly. Declare a soft 'pre' dependency on md5 to ensure that it is included and loaded before rp2040-gpio-bridge. Signed-off-by: Richard Oliver <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 34fc0fb - Browse repository at this point
Copy the full SHA 34fc0fbView commit details -
dmaengine: dw-axi-dmac: Honour snps,block-size
The snps,block-size DT property declares the maximum block size for each channel of the dw-axi-dmac. However, the driver ignores these when setting max_seg_size and uses MAX_BLOCK_SIZE (4096) instead. To take advantage of the efficiencies of larger blocks, calculate the minimum block size across all channels and use that instead. See: raspberrypi#6256 Signed-off-by: Phil Elwell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6a3f4f8 - Browse repository at this point
Copy the full SHA 6a3f4f8View commit details -
brcmfmac: Only match complete feature names
The firmware advertises its features as a string of words separated by spaces. Ensure that feature names are only matched in their entirety. Signed-off-by: Phil Elwell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 89c6892 - Browse repository at this point
Copy the full SHA 89c6892View commit details -
brcmfmac: Add "extsae" as an alias for "sae_ext"
The Cypress firmwares use "extsae" to indicate wpa_supplicant-hosted SAE/WPA3. Signed-off-by: Phil Elwell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8dc81d6 - Browse repository at this point
Copy the full SHA 8dc81d6View commit details -
brcmfmac: support extsae with psk / 1x offloading
support sae executed in wpa_supplicant and offload 4-way handshake offload. Signed-off-by: Chien-Chia Chen <[email protected]> JIRA: SWWLAN-142424
Configuration menu - View commit details
-
Copy full SHA for 99a3fed - Browse repository at this point
Copy the full SHA 99a3fedView commit details -
dt-bindings: clk: rp1: Add clocks representing MIPI DSI byteclock
Define two new RP1 clocks, representing the MIPI DSI byteclock sources for the dividers used to generate MIPI[01] DPI pixel clocks. (Previously they were represented by "fake" fixed clocks sources). Signed-off-by: Nick Hollinghurst <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2c3240c - Browse repository at this point
Copy the full SHA 2c3240cView commit details -
media: bcm2835-unicam: Reinstate old downstream driver as legacy
Whilst the Unicam driver has now been upstreamed it only supports configuration via Media Controller (not driven from the /dev/videoN node), which makes life significantly harder for simple devices such as mono sensors, and HDMI or analogue video to CSI2 bridge chips (eg TC358743 and ADV7282M). Fix up the downstream driver so that it builds, reinstate the links from Kconfig and Makefile to it, and give it a new Kconfig name (VIDEO_BCM2835_UNICAM_LEGACY). Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0af9324 - Browse repository at this point
Copy the full SHA 0af9324View commit details -
media: platform: Move bcm2835-unicam compatible to downstream driver
The upstream Unicam driver needs a set of userland changes to get libcamera to run, and those aren't written or merged yet. Move the "brcm,bcm2835-unicam" compatible from the upstream driver to the old downstream version so that users can run libcamera against 6.10. Once the libcamera changes have been merged this can be reverted to use the upstream driver. If using the non-legacy compatible then assume we want to use media-controller API for configuration. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5900631 - Browse repository at this point
Copy the full SHA 5900631View commit details -
pinctrl: rp1: jump through hoops to avoid PCIe latency issues
Automatic link power saving plus the ability of a root complex to buffer pending posted write transfers (and consider them complete before being transmitted on the wire) causes compression of updates to GPIO state. The large bandwidth of a Gen 2 x4 link means the writes toggle state inside RP1 as fast as it can go (~20MHz), which is bad for applications wanting bitbash with at least a few microseconds of delay between updates. By tailoring IO access patterns to a special Root Complex register, writes to GPIOs can be stalled until the link wakes - meaning all writes end up with a reasonably consistent minimum pacing (~200ns). Additionally, write barriers have no effect other than to arbitrarily delay some writes by a small, variable amount - so remove the vast majority of these in areas that could be hot-paths. Although the IO memory is mapped with Device strongly-ordered semantics, this doesn't prevent the splitter inside BCM2712 from letting an MMIO read request to a GPIO register get ahead of the pacing writes to the Root Complex register. So each pin state read must flush writes out to the Outer-Shareable domain. Signed-off-by: Jonathan Bell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 36dc505 - Browse repository at this point
Copy the full SHA 36dc505View commit details -
spi: dw: Save bandwidth with the TMOD_TO feature
TMOD_TO is the transmit-only mode that doesn't put data into the receive FIFO. Using TMOD_TO when the user doesn't want the received data saves CPU time and memory bandwidth. Signed-off-by: Phil Elwell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5699b0f - Browse repository at this point
Copy the full SHA 5699b0fView commit details -
spi: dw: Save bandwidth with the TMOD_RO feature
TMOD_RO is the receive-only mode that doesn't require data in the transmit FIFO in order to generate clock cycles. Using TMOD_RO when the device doesn't care about the data sent to it saves CPU time and memory bandwidth. Signed-off-by: Phil Elwell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for be76e1d - Browse repository at this point
Copy the full SHA be76e1dView commit details -
spi: dw: don't immediately kill DMA transfers if an error occurs
Disabling the peripheral resets controller state which has a dangerous side-effect of disabling the DMA handshake interface while it is active. This can cause DMA channels to hang. The error recovery pathway will wait for DMA to stop and reset the chip anyway, so mask further FIFO interrupts and let the transfer finish gracefully. Signed-off-by: Jonathan Bell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9ec966b - Browse repository at this point
Copy the full SHA 9ec966bView commit details -
drivers: dw-axi-dmac: make more sensible choices about memory accesses
There's no real need to constrain MEM access widths to 32-bit (or narrower), as the DMAC is intelligent enough to size memory accesses appropriately. Wider accesses are more efficient. Similarly, MEM burst lengths don't need to be a function of DEV burst lengths - the DMAC packs/unpacks data into/from its internal channel FIFOs appropriately. Longer accesses are more efficient. However, the DMAC doesn't have complete support for unaligned accesses, and blocks are always defined in integer multiples of SRC_WIDTH, so odd source lengths or buffer alignments will prevent wide accesses being used, as before. There is an implicit requirement to limit requested DEV read burst lengths to less than the hardware's maximum configured MSIZE - otherwise RX data will be left over at the end of a block. There is no config register that reports this value, so the AXI burst length parameter is used to produce a facsimile of it. Warn if such a request arrives that doesn't respect this. Signed-off-by: Jonathan Bell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 64b292f - Browse repository at this point
Copy the full SHA 64b292fView commit details -
DT: bindings: add a dma-maxburst property to snps,designware-i2s
Do an end-run around ASoC in lieu of not being able to easily find the associated DMA controller capabilities. Signed-off-by: Jonathan Bell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4c489f8 - Browse repository at this point
Copy the full SHA 4c489f8View commit details -
sound/soc: dwc-i2s: choose FIFO thresholds based on DMA burst constra…
…ints Valid ranges for the I2S peripheral's FIFO configuration include a depth of 16 - unconditionally setting the burst length to 16 with a fifo threshold of size/2 will cause under/overflows. For DMA engines with restricted capabilities the requested burst length and FIFO thresholds need to be adjusted downward accordingly. Both the RX and TX FIFOs operate on "less-than" thresholds. Setting the TX threshold to fifo_size minus burst means the FIFO is kept nearly-full. Signed-off-by: Jonathan Bell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 496beee - Browse repository at this point
Copy the full SHA 496beeeView commit details -
drm/vc4: Limit max_bpc to 8 on Pi0-3
Pi 0-3 have no deep colour support and only 24bpp output, so max_bpc should remain as 8. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5ce8803 - Browse repository at this point
Copy the full SHA 5ce8803View commit details -
spi: dw: Fix non-DMA transmit-only transfers
Ensure the transmit FIFO has emptied before ending the transfer by dropping the TX threshold to 0 when the last byte has been pushed into the FIFO. Include a similar fix for the non-IRQ paths. See: raspberrypi#6285 Fixes: 6014649 ("spi: dw: Save bandwidth with the TMOD_TO feature") Signed-off-by: Phil Elwell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6faeec9 - Browse repository at this point
Copy the full SHA 6faeec9View commit details -
spi: dw: Clamp the minimum clock speed
The DW SPI interface has a 16-bit clock divider, where the bottom bit of the divisor must be 0. Limit how low the clock speed can go to prevent the clock divider from being truncated, as that could lead to a much higher clock rate than requested. Signed-off-by: Phil Elwell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for fc71570 - Browse repository at this point
Copy the full SHA fc71570View commit details -
hwmon: (adt7410) Add DT compatible strings
Signed-off-by: Phil Elwell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 19d02f6 - Browse repository at this point
Copy the full SHA 19d02f6View commit details -
gpiolib: Override gpiochip numbers with DT aliases
In the same way that other subsystems support the setting of device id numbers from Device Tree aliases, allow gpiochip numbers to be derived from "gpiochip<n>" aliases. Signed-off-by: Phil Elwell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4e2d1db - Browse repository at this point
Copy the full SHA 4e2d1dbView commit details -
drm/vc4: backport 27e0a19 and b3bf195
Get the KUnit tests passing. Signed-off-by: Maíra Canal <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a05227d - Browse repository at this point
Copy the full SHA a05227dView commit details -
Bluetooth: hci_sync: Fix crash on NULL parent
Although later functions can handle a NULL fwnode, fwnode can't handle being passed a NULL pointer. See: raspberrypi#6305 Signed-off-by: Phil Elwell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6c6ee62 - Browse repository at this point
Copy the full SHA 6c6ee62View commit details -
drm/vc4: Add a delay after disabling hdmi phy output
There appears to be a requirement for some devices (I'm testing with a 8K VRROOM 40Gbps HDMI switch) for a measable delay between removing the hdmi phy output from the old mode, to enabling the hdmi phy output for the new mode. Without the delay, a mode switch has a small change of getting a permanent 'no signal', which requires a subsequent mode switch or a unplug/replug to redetect. Switching between 4kp24/25/30 modes fails about 5% of time in my testing. Add a delay to make it impossible to switch faster than this. Signed-off-by: Dom Cobley <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b616b7c - Browse repository at this point
Copy the full SHA b616b7cView commit details -
drm/vc4: Implement vc6_hdmi_phy_disable
The body of this function was missing so we don't reset the phy when disabling it. Signed-off-by: Dom Cobley <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0aab28d - Browse repository at this point
Copy the full SHA 0aab28dView commit details -
drm/vc4: Also power down the PLL core when resetting PHY
The current reset code doesn't actually stop the hdmi output. That makes it difficult for displays to handle a mode set. Powering down the PLL does actually remove the hdmi signal and makes mode sets more reliable Signed-off-by: Dom Cobley <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for fd2b6a2 - Browse repository at this point
Copy the full SHA fd2b6a2View commit details -
rtc: pcf8523: Fix oscillator stop bit handling reading from Control_1
The check if the oscillator stop bit is set was reading from Control_1 register instead of the Seconds register. This caused the Seconds register to be incorrectly changed if bit 7 of Control_1 happens to be set. Signed-off-by: Axel Hammarberg <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ec624c9 - Browse repository at this point
Copy the full SHA ec624c9View commit details -
media: dt-bindings: i2c: Add Sony IMX500
Add YAML device tree binding for the Sony IMX500 CMOS image sensor / CNN inference engine. Also, add a MAINTAINERS entry. Signed-off-by: Richard Oliver <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7532ff3 - Browse repository at this point
Copy the full SHA 7532ff3View commit details -
media: i2c: Add driver for Sony IMX500 sensor
The Sony IMX500 is a stacked 1/2.3-inch CMOS digital image sensor and inbuilt AI processor with an active array CNN (Convolutional Neural Network) inference engine. The native sensor size is 4056H x 3040V, and the module also contains an in-built ISP for the CNN. The module is programmable through an I2C interface with firmware and neural network uploads being made over SPI. This driver supports imaging only. Signed-off-by: Richard Oliver <[email protected]> media: i2c: imx500: Inbuilt AI processor support Add support for the IMX500's inbuilt AI processor. The IMX500 program loader, AI processor firmware, DNN weights are accessed via the kernel's firmware interface on 'open' and are transferred to the IMX500 over SPI. Signed-off-by: Richard Oliver <[email protected]> media: i2c: imx500: Enable LED during SPI transfers The Raspberry Pi 'AI Camera' is equipped with an LED. Enable this LED during SPI transfers to indicate to the end-user that progress is being made during large tramsfers. Signed-off-by: Richard Oliver <[email protected]> drivers: media: imx500: Fixes for vblank control Reduce the default/max framerate of the 2x2 binned mode to 30fps. The current limit of 50fps can cause the sensor to produce corrupt frames and cause missing framing events. Also fixup the vblank control min/max/default/step paramters when setting up. Signed-off-by: Naushir Patuck <[email protected]> drivers: media: imx500: Simplify the vblank control init Set the VBLANK control minimum and default values to IMX500_VBLANK_MIN unconditionally everywhere. Remove the mode specific framerate_default parameter, it is now unused. Signed-off-by: Naushir Patuck <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 76b126a - Browse repository at this point
Copy the full SHA 76b126aView commit details -
lib: earlycpio: export symbol find_cpio_data()
Add EXPORT_SYMBOL_GPL() for find_cpio_data() so that loadable modules may also parse uncompressed cpio. Signed-off-by: Richard Oliver <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 57f7146 - Browse repository at this point
Copy the full SHA 57f7146View commit details -
media: i2c: ov5647: Add control of V4L2_CID_HBLANK
The driver did expose V4L2_CID_HBLANK, but as a READ_ONLY control. The sensor only uses the HTS register to control the line length, so convert this control to read/write, with the appropriate ranges. Adopt the old fixed values as the minimum values permitted in each mode to avoid issues of it not streaming. This should allow exposure times up to ~3 seconds (up from ~1sec). Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7a2ed2b - Browse repository at this point
Copy the full SHA 7a2ed2bView commit details -
drm/vc4: Add support for per plane scaling filter selection
Seeing as the HVS can be configured with regard the scaling filter, and DRM now supports selecting scaling filters at a per CRTC or per plane level, we can implement it. Default remains as the Mitchell/Netravali filter, but nearest neighbour is now also implemented. Signed-off-by: Dave Stevenson <[email protected]> drm: vc4: Fix interpolate bit for nearest neighbour filter Operator precedence resulted in the wrong value being written for nearest neighbour mode. Correct it. Fixes: d6a3a3f ("drm/vc4: Add support for per plane scaling filter selection") Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8d27ae7 - Browse repository at this point
Copy the full SHA 8d27ae7View commit details -
drm: panel: ili9881: Correct symmetry on enable/disable return codes
ili9881c_enable is always returning 0. ili9881c_disable was returning the error code from mipi_dsi_dcs_set_display_off. If non-zero, the drm_panel framework will leave the panel marked as enabled, and not run the enable hook next time around. That isn't helpful, particularly as we're expecting unprepare to disable resets and regulators. Change ili9881c_disable to match enable in always returning 0. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5782975 - Browse repository at this point
Copy the full SHA 5782975View commit details -
drm/vc4: dsi: Don't reset the host until post_disable
Some DSI peripheral drivers wish to send commands in the post_disable or panel unprepare callback. These are called after the DSI host's disable call, but before the host's post_disable if pre_enable_prev_first is set. Don't reset the block until post_disable to allow these commands to be sent. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8c77475 - Browse repository at this point
Copy the full SHA 8c77475View commit details -
drm: vc4: dsi: enable video and then retry failed transfers
The DSI block appears to be able to come up stuck in a condition where it leaves the lanes in HS mode or just jabbering. This stops LP transfers from completing as there is no LP time available. This is signalled via the LP1 contention error. Enabling video briefly clears that condition, so if we detect the error condition, enable video mode and then retry. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 466180b - Browse repository at this point
Copy the full SHA 466180bView commit details -
drm: panel: ili9881: Add option to reconfigure setup commands
The driver is typically asking for LP commands, but then tries to send set_display_[on|off] from enable/disable when the host will be in HS mode. It also sends shutdown commands just before it asserts reset and disables the regulator, which is rather redundant. Add an option to configure these two choices from the panel_desc. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 19e073a - Browse repository at this point
Copy the full SHA 19e073aView commit details -
drm/vc4: fkms: No SMI abuse needed on BCM2712
Since we don't use the (absent) SMI block to create interrupts on BCM2712, there's no need to map any registers. Signed-off-by: Phil Elwell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c27b2ac - Browse repository at this point
Copy the full SHA c27b2acView commit details -
drm/vc4: Rework UPM allocation to avoid double buffering
The previous UPM allocation was done per plane state, when there is no overlap of usage between frames. Allocate per plane, and only change the allocation if the required size changes. We have to reference count as plane states can be duplicated. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b1d89b5 - Browse repository at this point
Copy the full SHA b1d89b5View commit details -
drm/vc4: Cache LBM allocations to avoid double-buffering
LBM is only relevant for each active dlist, so there is no need to double-buffer the allocations. Cache the allocations per plane so that we can ensure the allocations are possible. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4b5ed6c - Browse repository at this point
Copy the full SHA 4b5ed6cView commit details -
drm/vc4: Drop LBM and UPM allocation failure messages to debug
Seeing as it is userspace that creates the state and commit that is validated, drop the log messages to debug to avoid userspace being able to totally spam the kernel log. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6cdf9cc - Browse repository at this point
Copy the full SHA 6cdf9ccView commit details -
drivers: media: imx500: Enable LS correction
This correction is calibrated to approx 5000K. Signed-off-by: Naushir Patuck <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a365554 - Browse repository at this point
Copy the full SHA a365554View commit details -
dts: bcm2712-rpi-500: Add USER_LED GPIO name
The USER_LED signal was missing from the initial DTS. Signed-off-by: Phil Elwell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 047d9a3 - Browse repository at this point
Copy the full SHA 047d9a3View commit details -
This works and can be useful for debugging/benchmarking/low power use $ nproc 4 $ echo 0 | sudo tee /sys/devices/system/cpu/cpu3/online 0 $ echo 0 | sudo tee /sys/devices/system/cpu/cpu2/online 0 $ echo 0 | sudo tee /sys/devices/system/cpu/cpu1/online 0 $ nproc 1 Signed-off-by: Dom Cobley <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f6f16b5 - Browse repository at this point
Copy the full SHA f6f16b5View commit details -
dtoverlays: Fix up imx500 overlays to have unique clock nodes
The overlay was creating DT nodes /clocks/clk-aicam and /clocks/clk-aicam-gated for both cam0 and cam1, which resulted in one failing. The clock infrastructure creates the clock name from the node name without any @n reg extension, so we can't just use that. The nodes therefore have to be renamed. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 44b3899 - Browse repository at this point
Copy the full SHA 44b3899View commit details -
dtoverlays: Add an overlay for Waveshare's 800x480 4.3" DSI screen
It tried to be a clone of the Pi 7" display, but isn't, and gives corrupt images with the current timings. Add a new overlay for it. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4b9cde6 - Browse repository at this point
Copy the full SHA 4b9cde6View commit details -
drm/vc4: Remove request for min clocks when hdmi output is disabled
Currently, booting with no hdmi connected has: pi@pi4:~ $ vcgencmd measure_clock hdmi pixel frequency(9)=120010256 frequency(29)=74988280 After connecting hdmi we get: pi@pi4:~ $ vcgencmd measure_clock hdmi pixel frequency(9)=300005856 frequency(29)=149989744 and that persists after disconnecting hdmi I can measure this on a power supply as [email protected] (52mW). We should always remove clk_set_min_rate requests when we no longer need them. Signed-off-by: Dom Cobley <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for fe0dc14 - Browse repository at this point
Copy the full SHA fe0dc14View commit details -
dts: bcm2712-rpi: Add aliases for the CSI/DSI I2Cs
Older Pis arrange that the camera I2C ports appear as /dev/i2c-10. Add aliases so that on the Pi 5 family, i2c_csi_dsi0 becomes i2c-10 and i2c_csi_dsi1 becomes i2c-11. Only the I2C buses that appear on the 40-pin header, i.e. I2C0 to I2C3, get a low bus number. Also add hints for our udev rules about which symlinks to create for backwards-compatibility with the previous bus numbers. Note that lower numbers have priority, so i2c-0 on CM5 masks i2c-11, forcing i2c-11 to be a symlink to i2c-0, not vice versa. Signed-off-by: Phil Elwell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f5deebe - Browse repository at this point
Copy the full SHA f5deebeView commit details -
NotForUpstream: media: video-mux: Propagate controls to source
The i.MX8MP makes calls on it's source device to determine the link-frequency that should be configured on the CSI2 receiver. When the source is behind a video mux, we need to pass this call through to the connected device. Map the control handler of the source device to the video-mux, essentially proxying all controls on the mux to the device which has it's link enabled. Signed-off-by: Kieran Bingham <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a7949b5 - Browse repository at this point
Copy the full SHA a7949b5View commit details -
media: platform: video-mux: Fix mutex locking
The current order of locking between the driver mutex and the v4l2 subdev state lock causes a circuluar locking dependency when trying to set up a link. Fix this. Signed-off-by: Paul Elder <[email protected]> Reviewed-by: Laurent Pinchart <[email protected]> Signed-off-by: Kieran Bingham <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e3580fc - Browse repository at this point
Copy the full SHA e3580fcView commit details -
media: i2c: ov5647: Tidy up mode registers to make the order common
To make comparisons of the mode registers easier, put the registers for the binned and VGA modes in the same order as the others. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 40911a5 - Browse repository at this point
Copy the full SHA 40911a5View commit details -
media: i2c: ov5647: Separate out the common registers.
There are many registers in common between all the modes. Pull those out into one common table. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f780936 - Browse repository at this point
Copy the full SHA f780936View commit details -
media: i2c: ov5647: Use the same PLL config for full, 1080p, and binn…
…ed modes In order to simplify the driver slightly, use the same PLL configuration, and hence pixel rate and link frequency (to be added) for the full, 1080p, and binned modes. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a2086ab - Browse repository at this point
Copy the full SHA a2086abView commit details -
media: i2c: ov5647: Add V4L2_CID_LINK_FREQUENCY control
The link frequency can vary between modes, so add it as a control. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b126145 - Browse repository at this point
Copy the full SHA b126145View commit details -
dma-buf: system_heap: Allow specifying maximum allocation order
system_heap.max_order=<uint> Signed-off-by: Tvrtko Ursulin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3a136d1 - Browse repository at this point
Copy the full SHA 3a136d1View commit details -
mm/numa: Allow override of kernel's default NUMA policy
Add numa_policy kernel argument to allow overriding the kernel's default NUMA policy at boot time. Syntax identical to what tmpfs accepts as it's mpol argument is accepted. Some examples: numa_policy=interleave numa_policy=interleave=skip-interleave numa_policy=bind:0-3,5,7,9-15 numa_policy=bind=static:1-2 Signed-off-by: Tvrtko Ursulin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 826c24b - Browse repository at this point
Copy the full SHA 826c24bView commit details -
numa/emulation: Check emulated zones around the CMA window
... Make sure CMA zones do not straddle the emulated NUMA nodes ... Signed-off-by: Tvrtko Ursulin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ed8a08c - Browse repository at this point
Copy the full SHA ed8a08cView commit details -
config: bcm2711_defconfig/bcm2712_defconfig: Enable NUMA
Allow NUMA and NUMA_EMULATION on 64-bit Pi kernels Signed-off-by: Dom Cobley <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 38c0b57 - Browse repository at this point
Copy the full SHA 38c0b57View commit details -
dts: Move some common rpi settings into rpi files
Most 2711 devices and all 2712 device share common bootargs (command lines). Make the common values shared defaults, overriding them were necessary. Signed-off-by: Phil Elwell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 03ff422 - Browse repository at this point
Copy the full SHA 03ff422View commit details -
dts: Set preferred numa options in bootargs
The default cmdline adjustment is now numa_policy=interleave for 2711 and 2712, and additionally system_heap.max_order=0 iommu_dma_numa_policy=interleave for just 2712 (due to its better iommu support). The key setting numa=fake=<n> is not set here, so we will boot with a single numa region and behaviour should be pretty much unchanged from before this PR. Signed-off-by: Dom Cobley <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a6b6785 - Browse repository at this point
Copy the full SHA a6b6785View commit details -
drm/vc4: Do not include writeback conn load in load tracker
The transposer/writeback connector should be running with a lower priority, so shouldn't be factored into the load calculations. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c11354a - Browse repository at this point
Copy the full SHA c11354aView commit details -
drm/vc4: Drop panic priority for writeback connector
As the writeback connector doesn't have the same realtime constraints of a live display, drop the panic priority for it. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 89d0beb - Browse repository at this point
Copy the full SHA 89d0bebView commit details -
Reduce the number of different places that bootargs is set in Pi dts files. The variants are all combinations of with/without Bluetooth and with/without NUMA support (2711). This is effectively a cosmetic change - the resulting dtbs are unchanged. Signed-off-by: Phil Elwell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7c046a8 - Browse repository at this point
Copy the full SHA 7c046a8View commit details -
cgroup: Use kernel command line to disable memory cgroup
Commit 94a23e9 ("cgroup: Disable cgroup "memory" by default") disabled the memory cgroup by default when initing the cgroups. However, it's possible to disable the memory cgroup by a kernel command line. Hard-coding such a feature can be problematic as some memory management features depend on the order that things are set. For example, it is possible to see a NULL pointer dereference caused by commit 94a23e9. The NULL pointer dereference is triggered by the memory shrinker and ends up in a kernel crash. [ 50.028629] ================================================================== [ 50.028645] BUG: KASAN: null-ptr-deref in do_shrink_slab+0x1fc/0x978 [ 50.028663] Write of size 8 at addr 0000000000000000 by task gfxrecon-replay/1965 [ 50.028676] CPU: 3 UID: 1000 PID: 1965 Comm: gfxrecon-replay Tainted: G C 6.12.0-rc4-v8-thp-kasan+ raspberrypi#85 [ 50.028685] Tainted: [C]=CRAP [ 50.028689] Hardware name: Raspberry Pi 5 Model B Rev 1.0 (DT) [ 50.028694] Call trace: [ 50.028697] dump_backtrace+0xfc/0x120 [ 50.028706] show_stack+0x24/0x38 [ 50.028711] dump_stack_lvl+0x40/0x88 [ 50.028720] print_report+0xe4/0x708 [ 50.028728] kasan_report+0xcc/0x130 [ 50.028733] kasan_check_range+0x254/0x298 [ 50.028738] __kasan_check_write+0x20/0x30 [ 50.028745] do_shrink_slab+0x1fc/0x978 [ 50.028751] shrink_slab+0x318/0xc38 [ 50.028756] shrink_one+0x254/0x6d8 [ 50.028762] shrink_node+0x26b4/0x2848 [ 50.028767] do_try_to_free_pages+0x3e4/0x1190 [ 50.028773] try_to_free_pages+0x5a4/0xb40 [ 50.028778] __alloc_pages_direct_reclaim+0x144/0x298 [ 50.028787] __alloc_pages_slowpath+0x5c4/0xc70 [ 50.028793] __alloc_pages_noprof+0x4a8/0x6a8 [ 50.028800] __folio_alloc_noprof+0x24/0xa8 [ 50.028806] shmem_alloc_and_add_folio+0x2ec/0xce0 [ 50.028812] shmem_get_folio_gfp+0x380/0xc20 [ 50.028818] shmem_read_folio_gfp+0xe0/0x160 [ 50.028824] drm_gem_get_pages+0x238/0x620 [drm] [ 50.029039] drm_gem_shmem_get_pages_sgt+0xd8/0x4b8 [drm_shmem_helper] [ 50.029053] v3d_bo_create_finish+0x58/0x1e0 [v3d] [ 50.029083] v3d_create_bo_ioctl+0xac/0x210 [v3d] [ 50.029105] drm_ioctl_kernel+0x1d8/0x2b8 [drm] [ 50.029220] drm_ioctl+0x4b4/0x920 [drm] [ 50.029330] __arm64_sys_ioctl+0x11c/0x160 [ 50.029337] invoke_syscall+0x88/0x268 [ 50.029345] el0_svc_common+0x160/0x1d8 [ 50.029351] do_el0_svc+0x50/0x68 [ 50.029358] el0_svc+0x34/0x80 [ 50.029364] el0t_64_sync_handler+0x84/0x100 [ 50.029371] el0t_64_sync+0x190/0x198 [ 50.029376] ================================================================== This happens because the memory shrinker is unaware that we are artificially disabling the memory cgroups and therefore it doesn't allocate `nr_deferred` (as it would if we used the kernel command line). To avoid such an issue, revert the artificial disablement and disable it through the command line. If a user wants to enable the feature, it can use the `cgroup_enable=` command line. Signed-off-by: Maíra Canal <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for cc1395c - Browse repository at this point
Copy the full SHA cc1395cView commit details -
arm64: dts: Sort out CM5 and I/O board I2C ports
There is a difference in I2C usage between CM4IO and CM5IO. Present a simple, consistent view of the world by moving the assignment of the bus IDs into carrier-specific files. CM5 has reduced connectivity on CM4IO - the DPHYs are connected to CAM1 and DISP1. Keep i2c-10 for use with that pair, as is the case for CM4 on CM4IO. Fixes: 36faab6 ("dts: bcm2712-rpi: Add aliases for the CSI/DSI I2Cs") See: raspberrypi#6421 Signed-off-by: Phil Elwell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e986e7a - Browse repository at this point
Copy the full SHA e986e7aView commit details -
drivers: media: bcm2835_isp: Cache LS table dmabuf
Clients such as libcamera do not change the LS table dmabuf on every frame. In such cases instead of mapping/remapping the same dmabuf on every frame to send to the firmware, cache the dmabuf once and only update and remap if the dmabuf has been changed by the userland client. Signed-off-by: Naushir Patuck <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 51a1b11 - Browse repository at this point
Copy the full SHA 51a1b11View commit details -
config: bcm2711_defconfig/bcm2712_defconfig: Enable CONFIG_PWM_GPIO
Enable the PWM GPIO module in Raspberry Pi kernels. Signed-off-by: Tim Gover <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e207640 - Browse repository at this point
Copy the full SHA e207640View commit details -
dtoverlay: Add a dtoverlay for pwm-gpio
Signed-off-by: Tim Gover <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4169782 - Browse repository at this point
Copy the full SHA 4169782View commit details -
mm/vmscan: Maintain TLB coherency in LRU code
As a workaround (and possibly a fix) for CPU spins observed on BCM2837, use ptep_clear_flush_young instead of ptep_test_and_clear_young inside lru_gen_look_around in order to expose PTE changes to the MMU. Note that on architectures that don't require an explicit flush, ptep_clear_flush_young just calls ptep_test_and_clear_young. Signed-off-by: Phil Elwell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for dd95718 - Browse repository at this point
Copy the full SHA dd95718View commit details -
dts: 2712: Drop some numa options from bootargs
iommu_dma_numa_policy=interleave is not valid in the current tree It generates an unknown setting will be passed to usespace warning system_heap.max_order=0 is wanted when numa is enabled, but may not be when it is disabled. Add it on firmware side when we know if numa=fake=<n> is used. Signed-off-by: Dom Cobley <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6c82f8c - Browse repository at this point
Copy the full SHA 6c82f8cView commit details -
mmc: quirks: add more broken Kingston Canvas Go! SD card date ranges
A user has reported that a card of this model from late 2021 doesn't work, so extend the date range and make it match on all card sizes. Signed-off-by: Jonathan Bell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for fa04bb3 - Browse repository at this point
Copy the full SHA fa04bb3View commit details -
dt-bindings: usb: snps,dwc3: add FS/HS periodic NAK polling quirk
Add two quirk properties that control whether or not the controller issues many more handshakes to FS/HS Async endpoints in a single (micro)frame. Enabling these can significantly increase throughput for endpoints that frequently respond with NAKs. Signed-off-by: Jonathan Bell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3ea50e4 - Browse repository at this point
Copy the full SHA 3ea50e4View commit details -
usb: dwc3: core: add support for setting NAK enhancement bits for FS/HS
If a device frequently NAKs, it can exhaust the scheduled handshakes in a frame. It will then not get polled by the controller until the next frame interval. This is most noticeable on FS devices as the controller schedules a small set of transactions only once per full-speed frame. Setting the ENH_PER_NAK_FS/LS bits in the GUCTL1 register increases the number of transactions that can be scheduled to Async (Control/Bulk) endpoints in the respective frame time. In the FS case, this only applies to FS devices directly connected to root ports. Signed-off-by: Jonathan Bell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1b595c1 - Browse repository at this point
Copy the full SHA 1b595c1View commit details -
DTS: rp1: set enhanced FS NAK quirk for usb3 controllers
There seem to be only benefits, and no downsides. Signed-off-by: Jonathan Bell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for afc38b7 - Browse repository at this point
Copy the full SHA afc38b7View commit details -
drivers: usb: xhci: prevent a theoretical race on non-coherent platforms
For platforms that have xHCI controllers attached over PCIe, and non-coherent routes to main memory, a theoretical race exists between posting new TRBs to a ring, and writing to the doorbell register. In a contended system, write traffic from the CPU may be stalled before the memory controller, whereas the CPU to Endpoint route is separate and not likely to be contended. Similarly, the DMA route from the endpoint to main memory may be separate and uncontended. Therefore the xHCI can receive a doorbell write and find a stale view of a transfer ring. In cases where only a single TRB is ping-ponged at a time, this can cause the endpoint to not get polled at all. Adding a readl() before the write forces a round-trip transaction across PCIe, definitively serialising the CPU along the PCI producer-consumer ordering rules. Signed-off-by: Jonathan Bell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 59ad50c - Browse repository at this point
Copy the full SHA 59ad50cView commit details -
iio: humidity: dht11: Allow non-zero decimals
The DHT11 datasheet is pretty cryptic, but it does suggest that after each integer value (humidity and temperature) there are "decimal" values. Validate these as integers in the range 0-9 and treat them as tenths of a unit. Link: raspberrypi#6220 Signed-off-by: Phil Elwell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 701692e - Browse repository at this point
Copy the full SHA 701692eView commit details -
drm/vc4: Correct condition for ignoring a plane to src rect =0, not <1.0
The logic for dropping a plane less than zero didn't account for the possibility that a plane could be being upscaled with a src_rect with width/height < 1 pixel, but not 0 subpixels. Check for not 0 subpixels, not < 1, in both vc4 and vc6 paths. Fixes: dac6168 ("drm/vc4: Drop planes that have 0 destination size") Fixes: f73b18e ("drm/vc4: Drop planes that are completely off-screen") Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 174cdc7 - Browse repository at this point
Copy the full SHA 174cdc7View commit details -
drm/vc4: Use the TPZ scaling filter for 1x1 source images
The documentation says that the TPZ filter can not upscale, and requesting a scaling factor > 1:1 will output the original image in the top left, and repeat the right/bottom most pixels thereafter. That fits perfectly with upscaling a 1x1 image which is done a fair amount by some compositors to give solid colour, and it saves a large amount of LBM (TPZ is based on src size, whilst PPF is based on dest size). Select TPZ filter for images with source rectangle <=1. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d665a1c - Browse repository at this point
Copy the full SHA d665a1cView commit details -
drm: Set non-desktop property to true for writeback and virtual conne…
…ctors The non-desktop property "Indicates the output should be ignored for purposes of displaying a standard desktop environment or console." That sounds like it should be true for all writeback and virtual connectors as you shouldn't render a desktop to them, so set it by default. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2d9d473 - Browse repository at this point
Copy the full SHA 2d9d473View commit details -
drm: Increase plane_mask to 64bit.
The limit of 32 planes per DRM device is dictated by the use of planes_mask returning a u32. Change to a u64 such that 64 planes can be supported by a device. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a233079 - Browse repository at this point
Copy the full SHA a233079View commit details -
drm/vc4: Increase number of overlay planes from 16 to 48
The HVS can accept an arbitrary number of planes, provided that the overall pixel read load is within limits, and the display list can fit into the dlist memory. Now that DRM will support 64 planes per device, increase the number of overlay planes from 16 to 48 so that the dlist complexity can be increased (eg 4x4 video wall on each of 3 displays). Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a344ff5 - Browse repository at this point
Copy the full SHA a344ff5View commit details -
drm/vc4: Assign 32 overlay planes to writeback only
Instead of having 48 generic overlay planes, assign 32 to the writeback connector so that there is no ambiguity in wlroots when trying to find a plane for composition using the writeback connector vs display. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 05cb1ae - Browse repository at this point
Copy the full SHA 05cb1aeView commit details -
drm: Add a DRM_MODE_TRANSPOSE option to the DRM rotation property
Some hardware will implement transpose as a rotation operation, which when combined with X and Y reflect can result in a rotation, but is a discrete operation in its own right. Add an option for transpose only. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f4b2637 - Browse repository at this point
Copy the full SHA f4b2637View commit details -
drm: Add a rotation parameter to connectors.
Some connectors, particularly writeback, can implement flip or transpose operations as writing back to memory. Add a connector rotation property to control this. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f871a06 - Browse repository at this point
Copy the full SHA f871a06View commit details -
drm/vc4: txp: Add a rotation property to the writeback connector
The txp block can implement transpose as it writes out the image data, so expose that through the new connector rotation property. Signed-off-by: Dave Stevenson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4ddbb39 - Browse repository at this point
Copy the full SHA 4ddbb39View commit details -
dmaengine: dw-axi-dmac: Allow client-chosen width
For devices where transfer lengths are not known upfront, there is a danger when the destination is wider than the source that partial words can be lost at the end of a transfer. Ideally the controller would be able to flush the residue, but it can't - it's not even possible to tell that there is any. Instead, allow the client driver to avoid the problem by setting a smaller width. Signed-off-by: Phil Elwell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3afb4b9 - Browse repository at this point
Copy the full SHA 3afb4b9View commit details -
spi: dw: Let the DMAC set the transfer widths
SPI transfers are of defined length, unlike some UART traffic, so it is safe to let the DMA controller choose a suitable memory width. Signed-off-by: Phil Elwell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 854b6af - Browse repository at this point
Copy the full SHA 854b6afView commit details -
serial: pl011: Request a memory width of 1 byte
In order to avoid losing residue bytes when a receive is terminated early, set the destination width to single bytes. Link: raspberrypi#6365 Signed-off-by: Phil Elwell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for fbf84a5 - Browse repository at this point
Copy the full SHA fbf84a5View commit details -
configs: Switch default cpufreq governor to ondemand
Historically we have booted in powersave mode, and switched to ondemand with the /etc/init.d/raspi-config scipt if the shift key is not pressed. This was intended to protect users from an unsafe overclock, or inadequate power supply. But there's little evedence that this option is benefitting anyone, and we can boot faster without it. Signed-off-by: Dom Cobley <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bf70ebd - Browse repository at this point
Copy the full SHA bf70ebdView commit details
Commits on Nov 14, 2024
-
drivers: usb: xhci: set HID bit in streaming endpoint contexts
The xHC may commence Host Initiated Data Moves for streaming endpoints - see USB3.2 spec s8.12.1.4.2.4. However, this behaviour is typically counterproductive as the submission of UAS URBs in {Status, Data, Command} order and 1 outstanding IO per stream ID means the device never enters Move Data after a HIMD for Status or Data stages with the same stream ID. For OUT transfers this is especially inefficient as the host will start transmitting multiple bulk packets as a burst, all of which get NAKed by the device - wasting bandwidth. Also, some buggy UAS adapters don't properly handle the EP flow control state this creates - e.g. RTL9210. Set Host Initiated Data Move Disable to always defer stream selection to the device. xHC implementations may treat this field as "don't care, forced to 1" anyway - xHCI 1.2 s4.12.1. Signed-off-by: Jonathan Bell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2ac3d76 - Browse repository at this point
Copy the full SHA 2ac3d76View commit details
Commits on Nov 17, 2024
-
mmc: host: bcm2835: Capture MMC errors
The commit 91f059c ("mmc: core: Capture eMMC and SD card errors") introduced MMC error stats, which are accessible via debugfs. Implement the necessary increment calls for the BCM2835 SDHOST driver, which isn't SDHCI compatible. This is useful for debug and testing. Signed-off-by: Stefan Wahren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 549a1ca - Browse repository at this point
Copy the full SHA 549a1caView commit details