Skip to content
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

TEST: Perf branch stack sampling #6330

Draft
wants to merge 773 commits into
base: rpi-6.10.y
Choose a base branch
from
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Aug 22, 2024

  1. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    7efa4eb View commit details
    Browse the repository at this point in the history
  2. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    bb10075 View commit details
    Browse the repository at this point in the history
  3. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    85aa5e6 View commit details
    Browse the repository at this point in the history
  4. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    0680701 View commit details
    Browse the repository at this point in the history
  5. 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]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    32f9162 View commit details
    Browse the repository at this point in the history
  6. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    acc5021 View commit details
    Browse the repository at this point in the history
  7. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    1573104 View commit details
    Browse the repository at this point in the history
  8. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    552914c View commit details
    Browse the repository at this point in the history
  9. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    a5783c5 View commit details
    Browse the repository at this point in the history
  10. drm/vc4: Log the size of the dlist allocation that was attempted

    Signed-off-by: Dave Stevenson <[email protected]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    b57b14d View commit details
    Browse the repository at this point in the history
  11. 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]>
    popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    a923dd9 View commit details
    Browse the repository at this point in the history
  12. spi: dw-dma: Get the last DMA scoop out of the FIFO

    With a DMA FIFO threshold greater than 1 (encoded as 0), it is possible
    for data in the FIFO to be inaccessible, causing the transfer to fail
    after a timeout. If the transfer includes a transmission, reduce the
    RX threshold when the TX completes, otherwise use 1 for the whole
    transfer (inefficient, but not catastrophic at SPI data rates).
    
    See: raspberrypi#5696
    
    Signed-off-by: Phil Elwell <[email protected]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    f3b8a0e View commit details
    Browse the repository at this point in the history
  13. 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]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    d62b908 View commit details
    Browse the repository at this point in the history
  14. 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]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    2b2ce9b View commit details
    Browse the repository at this point in the history
  15. 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]>
    nick-bulleid authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    fb4ba15 View commit details
    Browse the repository at this point in the history
  16. 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]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    8d1cdb3 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    325d231 View commit details
    Browse the repository at this point in the history
  18. include: uapi: v4l2: Add additional pixel formats for use with PiSP

    Add the following formats:
    
    - V4L2_PIX_FMT_RGB48/V4L2_PIX_FMT_BGR48
      48-bit RGB where each colour sample is 16-bits.
    
    - V4L2_PIX_FMT_PISP_COMP1_MONO/V4L2_PIX_FMT_PISP_COMP2_MONO
      16-bit to 8-bit pisp compressed monochrome pixel format.
    
    Signed-off-by: Naushir Patuck <[email protected]>
    naushir authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    c654e58 View commit details
    Browse the repository at this point in the history
  19. 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]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    3979594 View commit details
    Browse the repository at this point in the history
  20. drm/vc4: vec: Add the margin properties to the connector

    All the handling for the properties was present, but they
    were never attached to the connector to allow userspace
    to change them.
    
    Add them to the connector.
    
    Signed-off-by: Dave Stevenson <[email protected]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    9c2a291 View commit details
    Browse the repository at this point in the history
  21. 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]>
    Ram Chandrasekar authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    de8b14a View commit details
    Browse the repository at this point in the history
  22. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    15b74c5 View commit details
    Browse the repository at this point in the history
  23. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    07f6357 View commit details
    Browse the repository at this point in the history
  24. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    41fef42 View commit details
    Browse the repository at this point in the history
  25. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    dc2db18 View commit details
    Browse the repository at this point in the history
  26. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    d32d7ac View commit details
    Browse the repository at this point in the history
  27. dtc update

    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    f19f95c View commit details
    Browse the repository at this point in the history
  28. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    fa7d6a9 View commit details
    Browse the repository at this point in the history
  29. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    edef88e View commit details
    Browse the repository at this point in the history
  30. 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]>
    kbingham authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    e1dc12b View commit details
    Browse the repository at this point in the history
  31. 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]>
    kbingham authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    25b7521 View commit details
    Browse the repository at this point in the history
  32. 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]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    b26ff4c View commit details
    Browse the repository at this point in the history
  33. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    037d9cd View commit details
    Browse the repository at this point in the history
  34. 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]>
    popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    d78da41 View commit details
    Browse the repository at this point in the history
  35. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    a6de1ba View commit details
    Browse the repository at this point in the history
  36. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    ea73600 View commit details
    Browse the repository at this point in the history
  37. 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]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    0095948 View commit details
    Browse the repository at this point in the history
  38. vc4/hvs: Add support for D0 register changes

    Signed-off-by: Dom Cobley <[email protected]>
    popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    121b6bc View commit details
    Browse the repository at this point in the history
  39. 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]>
    popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    3a65d1d View commit details
    Browse the repository at this point in the history
  40. 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]>
    popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    66c94f7 View commit details
    Browse the repository at this point in the history
  41. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    cd9c7fc View commit details
    Browse the repository at this point in the history
  42. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    17eaa6c View commit details
    Browse the repository at this point in the history
  43. 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]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    e957a99 View commit details
    Browse the repository at this point in the history
  44. 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]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    f9dc082 View commit details
    Browse the repository at this point in the history
  45. 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]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    157df57 View commit details
    Browse the repository at this point in the history
  46. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    e87e8fe View commit details
    Browse the repository at this point in the history
  47. 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]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    1df250c View commit details
    Browse the repository at this point in the history
  48. 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]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    7eb4f7e View commit details
    Browse the repository at this point in the history
  49. 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]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    e351d5c View commit details
    Browse the repository at this point in the history
  50. dmaengine: bcm2835: Delete vestigial code

    The dedicated dma40 memcpy code is no longer used, and without a
    prototype the kernel build fails. Delete it.
    
    Signed-off-by: Phil Elwell <[email protected]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    d47ea3c View commit details
    Browse the repository at this point in the history
  51. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    af1e2f8 View commit details
    Browse the repository at this point in the history
  52. 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]>
    popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    0a57e11 View commit details
    Browse the repository at this point in the history
  53. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    3df14bd View commit details
    Browse the repository at this point in the history
  54. drivers: mmc: sdhci-brcmstb: fix usage of SD_PIN_SEL on BCM2712

    The SDIO_CFG register SD_PIN_SEL conflates two settings - whether eMMC
    HS or SD UHS timings are applied to the interface, and whether or not
    the card-detect line is functional. SD_PIN_SEL can only be changed when
    the SD clock isn't running, so add a bcm2712-specific clock setup.
    
    Toggling SD_PIN_SEL at runtime means the integrated card-detect feature
    can't be used, so this controller needs a cd-gpios property.
    
    Also fix conditionals for usage of the delay-line PHY - no-1-8-v will
    imply no bits set in hsemmc_mask or uhs_mask, so remove it.
    
    Signed-off-by: Jonathan Bell <[email protected]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    5e99930 View commit details
    Browse the repository at this point in the history
  55. 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]>
    popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    75a36aa View commit details
    Browse the repository at this point in the history
  56. 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]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    8909fd3 View commit details
    Browse the repository at this point in the history
  57. 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]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    96395e3 View commit details
    Browse the repository at this point in the history
  58. drm: Add DRM_MODE_TV_MODE_MONOCHROME

    Add this as a value for enum_drm_connector_tv_mode, represented
    by the string "Mono", to generate video with standard timings
    but no colour encoding or bursts. Define it to have no pedestal
    (since only NTSC-M calls for a pedestal).
    
    Change default mode creation to acommodate the new tv_mode value
    which comprises both 525-line and 625-line formats.
    
    Signed-off-by: Nick Hollinghurst <[email protected]>
    njhollinghurst authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    dc69ba0 View commit details
    Browse the repository at this point in the history
  59. drm/vc4: Add monochrome mode to the VEC.

    The VEC supports not producing colour bursts for monochrome output.
    It also has an option for disabling the chroma input to remove
    chroma from the signal.
    
    Now that there is a DRM_MODE_TV_MODE_xx defined for monochrome,
    plumb this in.
    
    Signed-off-by: Dave Stevenson <[email protected]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    f4c3e5e View commit details
    Browse the repository at this point in the history
  60. 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]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    7302505 View commit details
    Browse the repository at this point in the history
  61. 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]>
    cillian64 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    eca1316 View commit details
    Browse the repository at this point in the history
  62. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    5328ce1 View commit details
    Browse the repository at this point in the history
  63. 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]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    ad507e8 View commit details
    Browse the repository at this point in the history
  64. overlays: Suppress another dtc warning

    I'm sure the dtc warnings mean well, but overlays don't have enough
    context for the checkers to give meaningful results.
    
    Signed-off-by: Phil Elwell <[email protected]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    78dd90a View commit details
    Browse the repository at this point in the history
  65. 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
    praveenCY authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    5975594 View commit details
    Browse the repository at this point in the history
  66. 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]>
    Kurt Lee authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    4a16124 View commit details
    Browse the repository at this point in the history
  67. 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]>
    Chung-Hsien Hsu authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    142b885 View commit details
    Browse the repository at this point in the history
  68. brcmfmac: Fix 802.1x

    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
    iucoen authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    67e4318 View commit details
    Browse the repository at this point in the history
  69. overlays: Use dtbs-list for overlay installation

    Update the overlay build rules to use the dtbs-list mechanism. Also
    include the README, and don't set the executable bits.
    
    Signed-off-by: Phil Elwell <[email protected]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    28ebbaa View commit details
    Browse the repository at this point in the history
  70. 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]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    d5da2e2 View commit details
    Browse the repository at this point in the history
  71. drivers: sdhci-brcmstb: set CQE timer clock frequency

    CQHCI keeps track of tags in flight with internal timers, so the clock
    frequency driving the timer needs to be specified. The config registers
    default to 0 (100kHz) which means timeouts will be significantly shorter
    than they should be. Assume the timer clock comes from the controller
    base clock.
    
    Signed-off-by: Jonathan Bell <[email protected]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    f5f2d95 View commit details
    Browse the repository at this point in the history
  72. 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]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    4e78e92 View commit details
    Browse the repository at this point in the history
  73. 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]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    2fa96c9 View commit details
    Browse the repository at this point in the history
  74. 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]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    32d6bf4 View commit details
    Browse the repository at this point in the history
  75. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    fc71968 View commit details
    Browse the repository at this point in the history
  76. 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]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    ff2c616 View commit details
    Browse the repository at this point in the history
  77. 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]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    67b2fd3 View commit details
    Browse the repository at this point in the history
  78. 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]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    7a828b2 View commit details
    Browse the repository at this point in the history
  79. 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]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    449df24 View commit details
    Browse the repository at this point in the history
  80. 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]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    e2ff3db View commit details
    Browse the repository at this point in the history
  81. 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]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    10787b8 View commit details
    Browse the repository at this point in the history
  82. 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]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    70c0c5e View commit details
    Browse the repository at this point in the history
  83. 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]>
    popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    75a5187 View commit details
    Browse the repository at this point in the history
  84. drivers: mmc: apply SD quirks earlier during probe

    Applying MMC_QUIRK_BROKEN_SD_CACHE is broken, as the card's extended
    registers are parsed prior to the quirk being applied in mmc_blk.
    
    Split this out into an SD-specific list of quirks and apply in
    mmc_sd_init_card instead.
    
    Fixes: c467c8f ("mmc: Add MMC_QUIRK_BROKEN_SD_CACHE for Kingston Canvas Go Plus from 11/2019")
    
    Signed-off-by: Jonathan Bell <[email protected]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    403a85f View commit details
    Browse the repository at this point in the history
  85. 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]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    dae39ae View commit details
    Browse the repository at this point in the history
  86. drivers: mmc: sdhci-brcmstb: bcm2712 supports HS400es and clock gating

    Enhanced Strobe and clock gating are set in the SDHCI_VENDOR register,
    so make the driver aware it needs to do this for this controller.
    
    Signed-off-by: Jonathan Bell <[email protected]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    0121b7d View commit details
    Browse the repository at this point in the history
  87. 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.
    benh-debian authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    3457510 View commit details
    Browse the repository at this point in the history
  88. workflows: Update other workflow files

    Get rid of the remaining node.js warnings by updating the actions.
    
    Signed-off-by: Phil Elwell <[email protected]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    7d0c0f8 View commit details
    Browse the repository at this point in the history
  89. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    65c6d61 View commit details
    Browse the repository at this point in the history
  90. 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]>
    popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    11d17ac View commit details
    Browse the repository at this point in the history
  91. 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]>
    naushir authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    157d488 View commit details
    Browse the repository at this point in the history
  92. 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]>
    popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    12ffff5 View commit details
    Browse the repository at this point in the history
  93. DRM: rp1: rp1-dsi: Fix escape clock divider and timeouts.

    Escape clock divider was fixed at 5, which is correct at 800Mbps/lane
    but increasingly out of spec for higher rates. Compute it correctly.
    
    High speed timeout was fixed at 5*512 == 2560 byte-clocks per lane.
    Compute it conservatively to be 8/7 times the line period (assuming
    there will be a transition to LP some time during each scanline?)
    keeping the old value as a lower bound. Increase LPRX TO to 1024,
    and BTA TO to 0xb00 (same value as in bridge/synopsys/dw-mipi-dsi).
    
    (No change to LP_CMD_TIM. To do: compute this correctly.)
    
    Signed-off-by: Nick Hollinghurst <[email protected]>
    njhollinghurst authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    8f8352a View commit details
    Browse the repository at this point in the history
  94. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    9f06705 View commit details
    Browse the repository at this point in the history
  95. drm/panel-simple: Remove custom handling of orientation

    The framework now handles reading orientation from DT, therefore
    remove the custom get_orientation hook from panel-simple.
    
    Signed-off-by: Dave Stevenson <[email protected]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    42b2b22 View commit details
    Browse the repository at this point in the history
  96. drm: rp1: vec: Support more video modes in the RP1 VEC driver

    Support a wider range of pixel clock rates. The driver will round
    pixclock up to 108MHz/n but tries to honour the desired image width
    and position (of the centre of the display relative to HSYNC_STARTs).
    This adds complexity but removes the need for separate 13.5MHz and
    15.428MHz modes.
    
    Support "fake" double-rate progressive modes (in which only every
    2nd scanline is displayed). To work around aspect ratio issues.
    
    Add Monochrome TV mode support. Add "vintage" modes (544x380i for
    System A; 848x738i for System E) when configured for Monochrome.
    
    Add a way to create a "custom" display mode from a module parameter.
    
    Signed-off-by: Nick Hollinghurst <[email protected]>
    njhollinghurst authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    f24276b View commit details
    Browse the repository at this point in the history
  97. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    e0f27fc View commit details
    Browse the repository at this point in the history
  98. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    554266d View commit details
    Browse the repository at this point in the history
  99. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    8ea7075 View commit details
    Browse the repository at this point in the history
  100. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    4ec091d View commit details
    Browse the repository at this point in the history
  101. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    9a86ee1 View commit details
    Browse the repository at this point in the history
  102. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    2ee42d7 View commit details
    Browse the repository at this point in the history
  103. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    8238419 View commit details
    Browse the repository at this point in the history
  104. clk-bcm2835: Use PLLD for DSI0 HS clock

    DSI0 can take the clock from either PLLA or PLLD. PLLA is
    the default muxing, but PLLD is considered the more stable.
    
    Switch to using PLLD.
    
    Signed-off-by: Dave Stevenson <[email protected]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    f33ce04 View commit details
    Browse the repository at this point in the history
  105. drm/panel-simple: Fix 7inch panel mode for misalignment

    The 7inch panel is one line off the screen both horizontally
    and vertically.
    
    Alter the panel mode to correct this.
    
    Signed-off-by: Dave Stevenson <[email protected]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    9079b8c View commit details
    Browse the repository at this point in the history
  106. drm/panel-simple: Increase pixel clock on Pi 7inch panel

    The Toshiba bridge is very fussy and doesn't like the CM3
    output when being told to produce a 27.777MHz pixel clock, which
    is an almost perfect match to the DSI link integer divider.
    
    Increasing to 30MHz will switch the DSI link from 333MHz to 400MHz
    and makes the bridge happy with the same video timing as works
    on Pi4.
    (Pi4 will be using a link frequency of 375MHz due to a 3GHz
    parent PLL).
    
    Signed-off-by: Dave Stevenson <[email protected]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    7098196 View commit details
    Browse the repository at this point in the history
  107. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    eaed132 View commit details
    Browse the repository at this point in the history
  108. regulator/rpi-panel: Power off display on shutdown

    Adds a shutdown function to turn off the backlight, bridge, and
    touch controller on shutdown.
    
    Signed-off-by: Dave Stevenson <[email protected]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    bfd190b View commit details
    Browse the repository at this point in the history
  109. drm: rp1: dpi: Add support for MEDIA_BUS_FMT_RGB565_1X24_CPADHI

    This new format corresponds to the Raspberry Pi legacy DPI mode 3.
    
    Signed-off-by: Nick Hollinghurst <[email protected]>
    njhollinghurst authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    123cb6d View commit details
    Browse the repository at this point in the history
  110. 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]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    2dd9ebf View commit details
    Browse the repository at this point in the history
  111. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    e27a1da View commit details
    Browse the repository at this point in the history
  112. 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]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    b916534 View commit details
    Browse the repository at this point in the history
  113. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    c4c4289 View commit details
    Browse the repository at this point in the history
  114. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    c46e4e1 View commit details
    Browse the repository at this point in the history
  115. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    f9c1b4f View commit details
    Browse the repository at this point in the history
  116. drivers: staging: bcm2835-isp: Respect caller's stride value

    The stride value reported for output image buffers should be at least
    as large as any value that was passed in by the caller (subject to
    correct alignment for the pixel format). If the value is zero (meaning
    no value was passed), or is too small, the minimum acceptable value
    will be substituted.
    
    Signed-off-by: David Plowman <[email protected]>
    davidplowman authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    aa221bc View commit details
    Browse the repository at this point in the history
  117. drivers: pcie-brcmstb: add best-effort workaround for QoS bug on bcm2712

    If a set of read requests are issued by an endpoint, they are streamed
    into a resynchronisation FIFO prior to exiting the RC. This FIFO has an
    edge case where it can drop QoS for a request to 0 if there's a single
    outstanding read request in the FIFO, and another is pushed when the
    FIFO is popped. Requests with a QoS of 0 can take hundreds of
    microseconds to complete.
    
    By adding an experimentally-determined amount of backpressure on the pop
    side, the critical level transition can largely be avoided.
    
    Signed-off-by: Jonathan Bell <[email protected]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    02cdc83 View commit details
    Browse the repository at this point in the history
  118. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    f27d0d5 View commit details
    Browse the repository at this point in the history
  119. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    1631cf5 View commit details
    Browse the repository at this point in the history
  120. 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]>
    naushir authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    dde3f46 View commit details
    Browse the repository at this point in the history
  121. Configuration menu
    Copy the full SHA
    62b376f View commit details
    Browse the repository at this point in the history
  122. Configuration menu
    Copy the full SHA
    d66054d View commit details
    Browse the repository at this point in the history
  123. Configuration menu
    Copy the full SHA
    29e58ba View commit details
    Browse the repository at this point in the history
  124. Configuration menu
    Copy the full SHA
    432f695 View commit details
    Browse the repository at this point in the history
  125. 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]>
    Umang Jain authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    8011788 View commit details
    Browse the repository at this point in the history
  126. 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]>
    kbingham authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    d0ae399 View commit details
    Browse the repository at this point in the history
  127. 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]>
    kbingham authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    ebba260 View commit details
    Browse the repository at this point in the history
  128. staging: vc04_services: bcm2835-isp: 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 bcm2835-isp 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: c8f89c9 ("staging: vc04_services: ISP: Add a more complex ISP processing component")
    Suggested-by: Greg Kroah-Hartman <[email protected]>
    Signed-off-by: Kieran Bingham <[email protected]>
    kbingham authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    28b4ff3 View commit details
    Browse the repository at this point in the history
  129. staging: vc04_services: bcm2835-codec: 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 bcm2835-v4l2-codec 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: afaec52 ("staging: vc04_services: Add a V4L2 M2M codec driver")
    Suggested-by: Greg Kroah-Hartman <[email protected]>
    Signed-off-by: Kieran Bingham <[email protected]>
    kbingham authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    13467bf View commit details
    Browse the repository at this point in the history
  130. 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]>
    kbingham authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    509d3ca View commit details
    Browse the repository at this point in the history
  131. staging: vc04_services: bcm2835-v4l2-isp: Register with vchiq_bus_type

    Register the bcm2835-v4l2-isp driver with the vchiq_bus_type instead of
    using the platform driver/device.
    
    Signed-off-by: Kieran Bingham <[email protected]>
    kbingham authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    10ec8b1 View commit details
    Browse the repository at this point in the history
  132. staging: vc04_services: bcm2835-v4l2-codec: Register with vchiq_bus_type

    Signed-off-by: Kieran Bingham <[email protected]>
    kbingham authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    7c9f81d View commit details
    Browse the repository at this point in the history
  133. Revert "dt: hack: temporary revert some files back to 6.9 due to dupl…

    …icate symbols"
    
    This reverts commit a095fe8.
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    9b48fdb View commit details
    Browse the repository at this point in the history
  134. ARM: dts: bcm2711 fixups for 6.10

    Remove the duplicate definitions we picked up in the move to 6.10. At
    a later date it's probably worth removing the dependencies on
    bcm270x.dtsi, etc.
    
    Signed-off-by: Phil Elwell <[email protected]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    5b0542e View commit details
    Browse the repository at this point in the history
  135. ARM: dts: Move rpi-otp nodes onto a dedicated bus

    The rpi-otp driver uses a virtualised, OTP-relative addressing scheme.
    However, when instance nodes are children of "/soc" they appear to be
    addressable directly by the host, which is wrong (but not in a way which
    causes an error unless one goes looking for one).
    
    Add a wrapper (bus) node without a "ranges" property to make the
    separation clear.
    
    See: raspberrypi#6196
    
    Signed-off-by: Phil Elwell <[email protected]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    d47f09e View commit details
    Browse the repository at this point in the history
  136. configs: Regenerate the defconfigs

    Signed-off-by: Phil Elwell <[email protected]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    f57362c View commit details
    Browse the repository at this point in the history
  137. arm: partially revert 702b94b

    * Re-expose some dmi APIs for use in VCSM
    invisiblek authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    bfa4037 View commit details
    Browse the repository at this point in the history
  138. arm: bcm2835: Add bcm2838 compatible string.

    Signed-off-by: Phil Elwell <[email protected]>
    Phil Elwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    8caa1dd View commit details
    Browse the repository at this point in the history
  139. 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]>
    lategoodbye authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    5b902ee View commit details
    Browse the repository at this point in the history
  140. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    0a9e0e6 View commit details
    Browse the repository at this point in the history
  141. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    146d374 View commit details
    Browse the repository at this point in the history
  142. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    4f3f26b View commit details
    Browse the repository at this point in the history
  143. DTS: overlays: add mmio-hi parameter to pciex1-compat-pi5

    I225-V network adapters have a buggy ROM that won't complete internal
    initialisation if (at least) BAR0 has an assigned address of 0x0.
    
    Add a parameter to the pciex1-compat-pi5 overlay to make outbound
    addresses start at 2GB.
    
    Signed-off-by: Jonathan Bell <[email protected]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    5356297 View commit details
    Browse the repository at this point in the history
  144. Update DAC8x to support 384khz (raspberrypi#6187)

    Update rpi-simple-soundcard.c with 384kHz support.
    sirfragles authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    8b79301 View commit details
    Browse the repository at this point in the history
  145. 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]>
    Michiiel authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    ee302f1 View commit details
    Browse the repository at this point in the history
  146. Revert "arm: partially revert 702b94b"

    This reverts commit faa3867.
    popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    346e0e7 View commit details
    Browse the repository at this point in the history
  147. 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]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    30ba2aa View commit details
    Browse the repository at this point in the history
  148. configs: enable CONFIG_NET_FOU_IP_TUNNELS

    The current configs enable fou as a module, but fou is not very
    useful without CONFIG_NET_FOU_IP_TUNNELS, because it can't be
    used to actually create tunnels:
    
    $ sudo ip fou add port 12345 ipproto ipip
    $ sudo ip link add name fou1 type ipip local any remote 8.8.8.8 \
          encap fou encap-sport auto encap-dport 12345
    RTNETLINK answers: Invalid argument
    
    Enable the option by default. This does not increase memory
    footprint because fou is not loaded by default. Uncompressed
    module size goes from 26.3KiB to 32.5KiB.
    
    After this change, things work:
    
    $ sudo ip fou add port 12345 ipproto ipip
    $ sudo ip link add name fou1 type ipip local any remote 8.8.8.8 \
          encap fou encap-sport auto encap-dport 12345
    $ ip link show fou1
    8: fou1@NONE: <POINTOPOINT,NOARP> mtu 1472 qdisc noop state DOWN [...]
        link/ipip 0.0.0.0 peer 8.8.8.8
    
    Signed-off-by: Lorenzo Colitti <[email protected]>
    lcolitti authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    8b38ae6 View commit details
    Browse the repository at this point in the history
  149. 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]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    e79da9c View commit details
    Browse the repository at this point in the history
  150. dts: bcm2712: cm5: fix typo and declare HS400es support

    Enhanced strobe means HS200 training can be skipped.
    
    Signed-off-by: Jonathan Bell <[email protected]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    24d494b View commit details
    Browse the repository at this point in the history
  151. mmc: sd: halt CQHCI before issuing a cache flush command

    SD cards perform cache flushes by a CMD49 extension register write -
    which needs to be started from the SDHCI command/argument registers and
    not a CQHCI slot.
    
    Host access to SD/CQ registers should be exclusive to one or the other,
    so issue a halt before doing the command.
    
    Signed-off-by: Jonathan Bell <[email protected]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    e865b6c View commit details
    Browse the repository at this point in the history
  152. 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]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    08471d6 View commit details
    Browse the repository at this point in the history
  153. drm/vc4: hdmi: Add property to allow manual config of RGB or YCbCr

    Add a custom property "Output format" that allows the overriding
    of the default colourspace choice in the way that the old
    firmware hdmi_pixel_encoding property did. If the chosen format is not
    supported, then it will still drop back to the older behaviour.
    
    This won't be acceptable to upstream, but it adds back the missing
    functionality of hdmi_pixel_encoding.
    
    Signed-off-by: Dave Stevenson <[email protected]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    27b8296 View commit details
    Browse the repository at this point in the history
  154. ASoC: da7213: Add a set_bclk_ratio method

    Following [1], it becomes harder for the CPU DAI to know the correct
    BCLK ratio. We can either bake the same knowledge into the sound card
    driver, or implement and use set_bclk_ratio on the codec. This commit
    does the latter.
    
    [1] commit c89e652 ("ASoC: da7213: Add support for mono, set
    frame width to 32 when possible")
    
    Signed-off-by: Phil Elwell <[email protected]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    3b402c0 View commit details
    Browse the repository at this point in the history
  155. iqaudio-codec: Use the codec's new set_bclk_ratio

    To ensure that the CPU DAI and codec agree over the BCLK ratio, impose
    a fixed value of 64 on both of them.
    
    Signed-off-by: Phil Elwell <[email protected]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    e3a2ec1 View commit details
    Browse the repository at this point in the history
  156. 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]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    86ca711 View commit details
    Browse the repository at this point in the history
  157. 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]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    0802849 View commit details
    Browse the repository at this point in the history
  158. 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]>
    kbingham authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    de83b87 View commit details
    Browse the repository at this point in the history
  159. staging: vc04_services: bcm2835-v4l2-isp: 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]>
    kbingham authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    4e89ba5 View commit details
    Browse the repository at this point in the history
  160. staging: vc04_services: bcm2835-codec: 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]>
    kbingham authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    4707a4d View commit details
    Browse the repository at this point in the history
  161. configs: Enable BLK_DEV_RBD

    Include Rados block device (RBD) support in standard kernel builds,
    a common companion for CEPH which is included.
    
    See: raspberrypi#6224
    
    Signed-off-by: Phil Elwell <[email protected]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    7df5eb9 View commit details
    Browse the repository at this point in the history
  162. 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]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    87db80c View commit details
    Browse the repository at this point in the history
  163. 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]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    1442fd5 View commit details
    Browse the repository at this point in the history
  164. feat: Add support for SunFounder PiPower 3 overlay

    fix: Fix wrong Pironman 5 ir default pin number
    fix: Change space indentation to tab
    
    Signed-off-by: Cavon Lee <[email protected]>
    cavonlee authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    3b36774 View commit details
    Browse the repository at this point in the history
  165. pwm: gpio-pwm: follow pwm_apply_might_sleep() rename

    Fixes: 0328609("drivers/gpio: Add a driver that wraps the PWM API as a GPIO controller")
    Signed-off-by: Ratchanan Srirattanamet <[email protected]>
    peat-psuwit authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    9ad051f View commit details
    Browse the repository at this point in the history
  166. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    c8ce882 View commit details
    Browse the repository at this point in the history
  167. arm64: dts: remove broken DTSI links

    Both bcm283x-rpi-csi1-2lane.dtsi and bcm283x-rpi-lan7515.dtsi are linked to
    "../arm/boot/dts/" instead of "../arm/boot/dts/broadcom", so the links are
    broken.
    
    Fixes: d060fc0 ("BCM2708: Add core Device Tree support")
    Signed-off-by: Álvaro Fernández Rojas <[email protected]>
    Noltari authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    64fde7d View commit details
    Browse the repository at this point in the history
  168. configs: Restore SC16IS7XX support

    6.10 changes the KConfig settings for SC16IS7XX UARTS. Update the RPi
    defconfigs to retain the SPI and I2C variants.
    
    Signed-off-by: Phil Elwell <[email protected]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    a270a16 View commit details
    Browse the repository at this point in the history
  169. fs/ntfs3: Fix memory corruption when page_size changes

    The rework in fs/ntfs3: Reduce stack usage
    changes log->page_size but doesn't change the associated
    log->page_mask and log->page_bits.
    
    That results in the bytes value in read_log_page
    getting a negative value, which is bad when it is
    passed to memcpy.
    
    The kernel panic can be observed when connecting an
    ntfs formatted drive that has previously been connected
    to a Windows machine to a Raspberry Pi 5, which by defauilt
    uses a 16K kernel pagesize.
    
    Fixes: 865e7a7 ("fs/ntfs3: Reduce stack usage")
    Signed-off-by: Dom Cobley <[email protected]>
    popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    0e2fa06 View commit details
    Browse the repository at this point in the history
  170. drivers: dwc_otg: use C11 style variable array declarations

    The kernel C standard changed in 5.18.
    
    Remove a layer of indirection around the FIQ bounce buffers, be consistent
    with pointers to FIQ bounce buffers, and remove open-coded 32-bit clamping
    of DMA addresses.
    
    Also remove a pointless fiq_state initialisation loop.
    
    Signed-off-by: Jonathan Bell <[email protected]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    2c3571c View commit details
    Browse the repository at this point in the history
  171. media: uapi: pixfmt-luma: Document MIPI CSI-2 packing

    The Y10P, Y12P and Y14P format variants are packed according to
    the RAW10, RAW12 and RAW14 formats as defined by the MIPI CSI-2
    specification. Document it.
    
    Signed-off-by: Jacopo Mondi <[email protected]>
    Reviewed-by: Laurent Pinchart <[email protected]>
    Reviewed-by: Naushir Patuck <[email protected]>
    Jacopo Mondi authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    5f37c9e View commit details
    Browse the repository at this point in the history
  172. media: uapi: Add a pixel format for BGR48 and RGB48

    Add BGR48 and RGB48 16-bit per component image formats.
    
    Signed-off-by: Jacopo Mondi <[email protected]>
    Reviewed-by: Kieran Bingham <[email protected]>
    Reviewed-by: Naushir Patuck <[email protected]>
    Jacopo Mondi authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    8d2e8cc View commit details
    Browse the repository at this point in the history
  173. media: uapi: Add Raspberry Pi PiSP Back End uAPI

    Add the Raspberry Pi PiSP Back End uAPI header.
    
    The header defines the data type used to configure the PiSP Back End
    ISP.
    
    The detailed description of the types and of the ISP configuration
    procedure is available at
    https://datasheets.raspberrypi.com/camera/raspberry-pi-image-signal-processor-specification.pdf
    
    Signed-off-by: Jacopo Mondi <[email protected]>
    Jacopo Mondi authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    0d1a7a1 View commit details
    Browse the repository at this point in the history
  174. media: uapi: Document meta pixel format for PiSP BE config

    Add format description for the PiSP Back End configuration parameter
    buffer.
    
    Signed-off-by: Jacopo Mondi <[email protected]>
    Reviewed-by: Naushir Patuck <[email protected]>
    Jacopo Mondi authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    224c308 View commit details
    Browse the repository at this point in the history
  175. media: uapi: Document PiSP Compressed RAW Bayer formats

    Document the Raspberry Pi compressed RAW Bayer formats.
    
    The compression algorithm description is provided by Nick Hollinghurst
    <[email protected]> from Raspberry Pi.
    
    Signed-off-by: Jacopo Mondi <[email protected]>
    Reviewed-by: Naushir Patuck <[email protected]>
    Jacopo Mondi authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    a8e0755 View commit details
    Browse the repository at this point in the history
  176. media: dt-bindings: Add bindings for Raspberry Pi PiSP Back End

    Add bindings for the Raspberry Pi PiSP Back End memory-to-memory image
    signal processor.
    
    Datasheet:
    https://datasheets.raspberrypi.com/camera/raspberry-pi-image-signal-processor-specification.pdf
    
    Signed-off-by: Jacopo Mondi <[email protected]>
    Reviewed-by: Rob Herring <[email protected]>
    Reviewed-by: Naushir Patuck <[email protected]>
    Jacopo Mondi authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    e88ba00 View commit details
    Browse the repository at this point in the history
  177. media: admin-guide: Document the Raspberry Pi PiSP BE

    Add documentation for the PiSP Back End memory-to-memory ISP.
    
    Signed-off-by: Jacopo Mondi <[email protected]>
    Jacopo Mondi authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    8e04210 View commit details
    Browse the repository at this point in the history
  178. 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]>
    Jacopo Mondi authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    74c897f View commit details
    Browse the repository at this point in the history
  179. media: uapi: pisp_be_config: Drop BIT() from uAPI

    The pisp_be_config.h uAPI header file contains a bit-field definition
    that uses the BIT() helper macro.
    
    As the BIT() identifier is not defined in userspace, drop it from the
    uAPI header.
    
    Fixes: c6c49ba ("media: uapi: Add Raspberry Pi PiSP Back End uAPI")
    Signed-off-by: Jacopo Mondi <[email protected]>
    Reviewed-by: Tomi Valkeinen <[email protected]>
    Jacopo Mondi authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    fe80e6d View commit details
    Browse the repository at this point in the history
  180. media: uapi: pisp_common: Add 32 bpp format test

    Add definition and test for 32-bits image formats to the pisp_common.h
    uAPI header.
    
    Signed-off-by: Jacopo Mondi <[email protected]>
    Jacopo Mondi authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    60748f9 View commit details
    Browse the repository at this point in the history
  181. media: uapi: Capitalize all macros

    The macro used to inspect an image format characteristic use a mixture
    of capitalized and non-capitalized letters, which is rather unusual for
    the Linux kernel style.
    
    Capitalize all identifiers.
    
    Signed-off-by: Jacopo Mondi <[email protected]>
    Jacopo Mondi authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    3d39b61 View commit details
    Browse the repository at this point in the history
  182. media: uapi: pisp_be_config: Re-sort pisp_be_tiles_config

    The order of the members of pisp_be_tiles_config is relevant
    as the driver logic assumes 'config' to be at offset 0.
    
    Re-sort the member to match the driver's expectations.
    
    Fixes: c6c49ba ("media: uapi: Add Raspberry Pi PiSP Back End uAPI")
    Signed-off-by: Jacopo Mondi <[email protected]>
    Jacopo Mondi authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    0f03ca3 View commit details
    Browse the repository at this point in the history
  183. media: uapi: pisp_be_config: Add extra config fields

    Complete the pisp_be_config strcture by adding fields that even if not
    written to the HW are relevant to complete the uAPI and put it in par
    with the BSP driver.
    
    Fixes: c6c49ba ("media: uapi: Add Raspberry Pi PiSP Back End uAPI")
    Signed-off-by: Jacopo Mondi <[email protected]>
    Jacopo Mondi authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    4c80dac View commit details
    Browse the repository at this point in the history
  184. 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]>
    Jacopo Mondi authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    d2476fa View commit details
    Browse the repository at this point in the history
  185. 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]>
    naushir authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    be3c174 View commit details
    Browse the repository at this point in the history
  186. dts: Make camN_reg and camN_reg_gpio overrides generic

    The camera regulator GPIO can be used for other purposes,
    so the camN_reg override to allow disabling is potentially
    useful on any platform.
    camN_gpio is less useful, but isn't invalid.
    
    Move these overrides from the CM dt files to bcm270x-rpi.dtsi
    and bcm2712-rpi.dtsi.
    
    Signed-off-by: Dave Stevenson <[email protected]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    a6ddaae View commit details
    Browse the repository at this point in the history
  187. 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]>
    roliver-rpi authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    072ab67 View commit details
    Browse the repository at this point in the history
  188. 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]>
    roliver-rpi authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    b972e05 View commit details
    Browse the repository at this point in the history
  189. 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]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    dce2607 View commit details
    Browse the repository at this point in the history
  190. 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]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    a82e922 View commit details
    Browse the repository at this point in the history
  191. 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]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    976a64c View commit details
    Browse the repository at this point in the history
  192. mmc: brcmstb: don't squash card-busy detection on bcm2712

    Commit 485d942  ("mmc: sdhci-brcmstb: check R1_STATUS for
    erase/trim/discard") introduced a new flag and defaulted to disabling
    card busy detection across all platforms with this controller.
    
    This is required for IO voltage switching, as the card drives CMD low
    while the switch is in progress.
    
    Signed-off-by: Jonathan Bell <[email protected]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    0861b94 View commit details
    Browse the repository at this point in the history
  193. Revert "Update DAC8x to support 384khz (raspberrypi#6187)"

    This reverts commit dd7a154.
    sirfragles authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    20b7484 View commit details
    Browse the repository at this point in the history
  194. 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]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    8528516 View commit details
    Browse the repository at this point in the history
  195. 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]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    97a13bf View commit details
    Browse the repository at this point in the history
  196. 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
    Chien-Chia Chen authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    ac6dac9 View commit details
    Browse the repository at this point in the history
  197. Revert "ARM: dts: rp1: Add a safe I2C SDA hold time"

    This reverts commit a3d53c8.
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    edc4ce3 View commit details
    Browse the repository at this point in the history
  198. 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]>
    njhollinghurst authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    13d8972 View commit details
    Browse the repository at this point in the history
  199. clk: clk-rp1: Add "varsrc" clocks to represent MIPI byte clocks

    Add a new class of clocks to RP1 to represent clock sources whose
    frequency changes at run-time as a side-effect of some other driver.
    Specifically this is for the two MIPI DSI byte-clock sources.
    
    Signed-off-by: Nick Hollinghurst <[email protected]>
    njhollinghurst authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    74fd1c4 View commit details
    Browse the repository at this point in the history
  200. dts: rp1: DSI drivers to use newly defined MIPI byte source clocks.

    Remove the "dummy" 72MHz fixed clock sources and associate DSI driver
    with the new "variable" clock sources now defined in RP1 clocks.
    
    Also add PLLSYS clock to DSI, which it will need as an alternative
    clock source in those cases where DPI pixclock > DSI byteclock.
    
    Signed-off-by: Nick Hollinghurst <[email protected]>
    njhollinghurst authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    c92ea27 View commit details
    Browse the repository at this point in the history
  201. drm: rp1: rp1-dsi: Switch to PLL_SYS source for DPI when 8 * lanes > bpp

    To support 4 lanes, re-parent DPI clock source between DSI byteclock
    (using the new "variable sources" defined in clk-rp1) and PLL_SYS.
    This is to cover cases in which byteclock < pixclock <= 200MHz.
    
    Tidying: All frequencies now in Hz (not kHz), where DSI speed is now
    represented by byteclock to simplify arithmetic. Clamp DPI and byte
    clocks to their legal ranges; fix up HSTX timeout to avoid an unsafe
    assumption that it would return to LP state for every scanline.
    
    Because of RP1's clock topology, the ratio between DSI and DPI clocks
    may not be exact with 3 or 4 lanes, leading to slightly irregular
    timings each time DSI switches between HS and LP states. Tweak to
    inhibit LP during Horizontal BP when sync pulses were requested.
    
    Signed-off-by: Nick Hollinghurst <[email protected]>
    njhollinghurst authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    20eac09 View commit details
    Browse the repository at this point in the history
  202. arm64: dts: Move bcm2712 and rp1 here

    It is pointless having the bcm2712 family of dts files and rp1.dtsi
    in the arch/arm directory tree, since they then require placeholders
    to include them in arch/arm64 where they are built. The files have
    no dependencies on other files in the arch/arm tree, so simply move
    them here.
    
    Signed-off-by: Phil Elwell <[email protected]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    c662b3d View commit details
    Browse the repository at this point in the history
  203. arm64: dts: Add cm5l files

    CM5 Lite DTBs require minor changes compared to the "heavy" variants.
    
    Signed-off-by: Phil Elwell <[email protected]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    5a8b15a View commit details
    Browse the repository at this point in the history
  204. dts: bcm2712: Dedup the aliases and overrides

    Move the aliases and overrrides shared by Pi 5 and CM5 into
    bcm2712-rpi.dtsi.
    
    Signed-off-by: Phil Elwell <[email protected]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    60d3650 View commit details
    Browse the repository at this point in the history
  205. dts: DT fixups

    Drop some duplicate declarations, and also delete #interrupt-cells from
    gio_aon for Pi 5B (it's already done for CM5).
    
    Signed-off-by: Phil Elwell <[email protected]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    2ad9fac View commit details
    Browse the repository at this point in the history
  206. arm64: dts: Give cm5l its own model name

    The bootloader patches the DT with the correct model string, but it
    is better not to rely on that by setting it from the start.
    
    Signed-off-by: Phil Elwell <[email protected]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    b5df2d3 View commit details
    Browse the repository at this point in the history
  207. configs: rpi: enable CONFIG_BRIDGE_VLAN_FILTERING

    Enabling CONFIG_BRIDGE_VLAN_FILTERING allows bridges to automatically
    receive and forward packets based on the 802.1q VLAN information and
    the device/port configuration.
    
    See: raspberrypi#6275
    
    Signed-off-by: Xavier L. <[email protected]>
    t0xicCode authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    5c4abc3 View commit details
    Browse the repository at this point in the history
  208. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    4183cb5 View commit details
    Browse the repository at this point in the history
  209. dtoverlays: Update all CSI2 users for legacy Unicam driver if no MC

    The upstream Unicam driver doesn't support a mode that doesn't
    use the Media Controller API to configure the pipeline.
    
    The old downstream driver is still being built with an alternate
    compatible of "brcm,bcm2835-unicam-legacy", so replace the
    "brcm,media-controller" property with a change of compatible string.
    
    Signed-off-by: Dave Stevenson <[email protected]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    afbf434 View commit details
    Browse the repository at this point in the history
  210. defconfig: Add VIDEO_BCM2835_UNICAM_LEGACY to all configs

    Add the downstream Unicam driver back into all builds as
    VIDEO_BCM2835_UNICAM_LEGACY
    
    (VIDEO_BCM2835_UNICAM is the upstream Unicam driver)
    
    Signed-off-by: Dave Stevenson <[email protected]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    0224ac1 View commit details
    Browse the repository at this point in the history
  211. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    3f9725a View commit details
    Browse the repository at this point in the history
  212. 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]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    92b8094 View commit details
    Browse the repository at this point in the history
  213. staging: bcm2835-codec: Disable HEADER_ON_OPEN for video encode

    Video encode can defer generating the header until the first
    frame is presented, which allows it to take the colourspace
    information from the frame rather than just the format.
    
    Enable that for the V4L2 driver now that the firmware populates
    all the parameters.
    
    raspberrypi/firmware#1885
    
    Signed-off-by: Dave Stevenson <[email protected]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    f5da0e6 View commit details
    Browse the repository at this point in the history
  214. staging: bcm2835-codec: Add support for H264 level 5.0 and 5.1

    We do NOT claim to support decoding in real-time for these levels,
    but can transcode some content, and handle 1920x1200.
    
    Signed-off-by: Dave Stevenson <[email protected]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    6d4b5e9 View commit details
    Browse the repository at this point in the history
  215. 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]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    fef11c4 View commit details
    Browse the repository at this point in the history
  216. 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]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    223597e View commit details
    Browse the repository at this point in the history
  217. 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]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    113ee88 View commit details
    Browse the repository at this point in the history
  218. dts: rp1: hobble DMA AXI burst lengths

    Channels 1-2 have a statically configured maximum MSIZE of 8, and
    channels 3-8 have MSIZE set to 4. The DMAC "helpfully" silently
    truncates bursts to the hardware supported maximum, so any FIFO read
    operation with an oversized burst threshold will leave a residue of
    threshold minus MSIZE rows.
    
    As channel allocation is dynamic, this means every client needs to use a
    maximum of 4 for burst length.
    
    AXI AWLEN/ARLEN constraints aren't strictly related to MSIZE, except
    that bursts won't be issued that are longer than MSIZE beats. Therefore,
    it's a useful proxy to tell clients of the DMAC the hardware
    limitations.
    
    Signed-off-by: Jonathan Bell <[email protected]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    bf7b6ff View commit details
    Browse the repository at this point in the history
  219. 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]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    c8420fb View commit details
    Browse the repository at this point in the history
  220. Revert "spi: dw-dma: Get the last DMA scoop out of the FIFO"

    This issue was due to a misconfiguration of the RP1 DMAC due to hardware
    limitations, not the SPI driver (which was using the incorrect reported
    maximum burst size to set the FIFO threshold).
    
    This reverts commit 6aab06f.
    
    Signed-off-by: Jonathan Bell <[email protected]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    a12063f View commit details
    Browse the repository at this point in the history
  221. tty/serial: pl011: restrict RX burst FIFO threshold

    If the associated DMA controller has lower burst length support than the
    level the FIFO is set to, then bytes will be left in the RX FIFO at the
    end of a DMA block - requiring a round-trip through the timeout interrupt
    handler rather than an end-of-block DMA interrupt.
    
    Signed-off-by: Jonathan Bell <[email protected]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    8952d9b View commit details
    Browse the repository at this point in the history
  222. 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]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    3785751 View commit details
    Browse the repository at this point in the history
  223. 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]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    48fb03f View commit details
    Browse the repository at this point in the history
  224. dts: rp1: restrict i2s burst lengths to 4

    The associated DMAC has channels that do not support longer bursts.
    
    Signed-off-by: Jonathan Bell <[email protected]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    9c05053 View commit details
    Browse the repository at this point in the history
  225. 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]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    417ed11 View commit details
    Browse the repository at this point in the history
  226. ARM: dts: bcm2712: Fix invalid polling-delay-passive setting

    This produces a hard fail on later (6.11) kernels.
    
    See: https://lore.kernel.org/all/[email protected]/
    
    Signed-off-by: Dom Cobley <[email protected]>
    popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    17e9d4a View commit details
    Browse the repository at this point in the history
  227. 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]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    d3f447a View commit details
    Browse the repository at this point in the history
  228. 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]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    fbea098 View commit details
    Browse the repository at this point in the history
  229. hwmon: (adt7410) Add DT compatible strings

    Signed-off-by: Phil Elwell <[email protected]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    aa44508 View commit details
    Browse the repository at this point in the history
  230. configs: Enable SSD1327 display support

    There is now an ssd1327-spi overlay, but it's of little use without
    the corresponding display drivers. Add them as modules to the usual
    defconfig files.
    
    Signed-off-by: Phil Elwell <[email protected]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    2c9c72f View commit details
    Browse the repository at this point in the history
  231. .github/workflows: More jobs for kernel builds

    Using the "cores * 1.5" heuristic, configure the kernel builds for the
    4-core GitHub-hosted runners.
    
    Signed-off-by: Phil Elwell <[email protected]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    ed96911 View commit details
    Browse the repository at this point in the history
  232. overlays: i2c-rtc: Correct bq32000 property name

    The DT property for the BQ32000 controlled by trickle-resistor-ohms
    parameter should be "trickle-resistor-ohms", not "abracon,tc-resistor".
    
    See: raspberrypi#6291
    
    Signed-off-by: Phil Elwell <[email protected]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    ee431d3 View commit details
    Browse the repository at this point in the history
  233. dtoverlays: Add overlay for HD44780 via I2C PCF8574 backpack

    Many HD44780 LCD displays are connected via very common I2C
    GPIO expander.
    We have an overlay for connecting the displays directly to GPIOs,
    but not one for it connected via a backpack. Add such an overlay.
    
    Signed-off-by: Dave Stevenson <[email protected]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    8fb851f View commit details
    Browse the repository at this point in the history
  234. dtoverlays: Document display_[width|height] on hd44780-lcd overlay

    The default values defining a 16x2 display weren't documented,
    so add them.
    
    Signed-off-by: Dave Stevenson <[email protected]>
    6by9 authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    49510ba View commit details
    Browse the repository at this point in the history
  235. DTS: bcm2712: enable SD slot CQE by default on Pi 5

    The corresponding driver implementation has seen sufficient testing,
    so enable by default. Retain the dtparam so it can be turned off for test.
    
    Signed-off-by: Jonathan Bell <[email protected]>
    P33M authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    648d97b View commit details
    Browse the repository at this point in the history
  236. 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]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    4815bee View commit details
    Browse the repository at this point in the history
  237. dts: bcm2712-rpi: Add gpiochip0 alias

    Add a gpiochip0 aliase pointing to the rp1 GPIO node, making it appear
    as gpiochip0.
    
    Signed-off-by: Phil Elwell <[email protected]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    0e88fd8 View commit details
    Browse the repository at this point in the history
  238. dts: bcm2712-rpi: The SoC gpiochips start at 10

    Make the BCM2712's onboard GPIOs start at gpiochip10, marking them out
    as system resources and preventing accidental use by existing Pi 5
    code.
    
    Signed-off-by: Phil Elwell <[email protected]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    a045a83 View commit details
    Browse the repository at this point in the history
  239. configs: Add CONFIG_BCACHE=m

    Allow block devices to be used as caches for other devices. The primary
    use is to allow small, low latency media to act as caches for spinning
    rust drives.
    
    See: raspberrypi#6303
         raspberrypi#455
    
    Signed-off-by: Phil Elwell <[email protected]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    41f56a1 View commit details
    Browse the repository at this point in the history
  240. configs: Enable more ZRAM options

    Add CONFIG_ZRAM_WRITEBACK=y and CONFIG_ZRAM_MULTI_COMP=y.
    
    See: raspberrypi#2939
    
    Signed-off-by: Phil Elwell <[email protected]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    2259d4e View commit details
    Browse the repository at this point in the history
  241. Revert "ALSA: timer: Set lower bound of start tick time"

    This reverts commit abb1ad6.
    
    See: raspberrypi#6294
    
    Signed-off-by: Phil Elwell <[email protected]>
    pelwell authored and popcornmix committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    02c6bc4 View commit details
    Browse the repository at this point in the history

Commits on Aug 27, 2024

  1. arm64/sysreg: Add BRBE registers and fields

    This patch adds definitions related to the Branch Record Buffer Extension
    (BRBE) as per ARM DDI 0487K.a. These will be used by KVM and a BRBE driver
    in subsequent patches.
    
    Some existing BRBE definitions in asm/sysreg.h are replaced with equivalent
    generated definitions.
    
    Cc: Catalin Marinas <[email protected]>
    Cc: Will Deacon <[email protected]>
    Cc: Marc Zyngier <[email protected]>
    Cc: Mark Rutland <[email protected]>
    Cc: [email protected]
    Cc: [email protected]
    Reviewed-by: Mark Rutland <[email protected]>
    Reviewed-by: Mark Brown <[email protected]>
    Signed-off-by: Anshuman Khandual <[email protected]>
    ----
    Changes in V18:
    
    - Changed BRBIDR0_EL1 register fields CC and FORMAT, updated the commit message
    
     arch/arm64/include/asm/sysreg.h |  17 ++---
     arch/arm64/tools/sysreg         | 131 ++++++++++++++++++++++++++++++++
     2 files changed, 137 insertions(+), 11 deletions(-)
    Anshuman Khandual authored and popcornmix committed Aug 27, 2024
    Configuration menu
    Copy the full SHA
    36e7c39 View commit details
    Browse the repository at this point in the history
  2. KVM: arm64: Explicitly handle BRBE traps as UNDEFINED

    The Branch Record Buffer Extension (BRBE) adds a number of system registers
    and instructions, which we don't currently intend to expose to guests. Our
    existing logic handles this safely, but this could be improved with some
    explicit handling of BRBE.
    
    The presence of BRBE is currently hidden from guests as the cpufeature
    code's ftr_id_aa64dfr0[] table doesn't have an entry for the BRBE field,
    and so this will be zero in the sanitised value of ID_AA64DFR0 exposed to
    guests via read_sanitised_id_aa64dfr0_el1(). As the ftr_id_aa64dfr0[] table
    may gain an entry for the BRBE field in future, for robustness we should
    explicitly mask out the BRBE field in read_sanitised_id_aa64dfr0_el1().
    
    The BRBE system registers and instructions are currently trapped by the
    existing configuration of the fine-grained traps. As neither the registers
    nor the instructions are described in the sys_reg_descs[] table,
    emulate_sys_reg() will warn that these are unknown before injecting an
    UNDEFINED exception into the guest.
    
    Well-behaved guests shouldn't try to use the registers or instructions, but
    badly-behaved guests could use these, resulting in unnecessary warnings. To
    avoid those warnings, we should explicitly handle the BRBE registers and
    instructions as UNDEFINED.
    
    Address the above by having read_sanitised_id_aa64dfr0_el1() mask out the
    ID_AA64DFR0.BRBE field, and explicitly handling all of the BRBE system
    registers and instructions as UNDEFINED.
    
    Cc: Marc Zyngier <[email protected]>
    Cc: Oliver Upton <[email protected]>
    Cc: James Morse <[email protected]>
    Cc: Suzuki K Poulose <[email protected]>
    Cc: Catalin Marinas <[email protected]>
    Cc: Will Deacon <[email protected]>
    Cc: [email protected]
    Cc: [email protected]
    Cc: [email protected]
    Signed-off-by: Anshuman Khandual <[email protected]>
    ----
    Changes in V18:
    
    - Updated the commit message
    
     arch/arm64/kvm/sys_regs.c | 56 +++++++++++++++++++++++++++++++++++++++
     1 file changed, 56 insertions(+)
    Reviewed-by: Mark Rutland <[email protected]>
    Reviewed-by: Mark Rutland <[email protected]>
    Anshuman Khandual authored and popcornmix committed Aug 27, 2024
    Configuration menu
    Copy the full SHA
    a92b79c View commit details
    Browse the repository at this point in the history
  3. drivers: perf: arm_pmu: Add infrastructure for branch stack sampling

    In order to support the Branch Record Buffer Extension (BRBE), we need to
    extend the arm_pmu framework with some basic infrastructure for branch
    stack sampling which arm_pmu drivers can opt-in to using. Subsequent
    patches will use this to add support for BRBE in the PMUv3 driver.
    
    With BRBE, the hardware records branches into a hardware FIFO, which will
    be sampled by software when perf events overflow. A task may be context-
    switched an arbitrary number of times between overflows, and to avoid
    losing samples we need to save the current records when a task is context-
    switched out. To do these we'll need to use the pmu::sched_task() callback,
    and we'll also need to allocate some per-task storage space via event flag
    PERF_ATTACH_TASK_DATA.
    
    Cc: Catalin Marinas <[email protected]>
    Cc: Will Deacon <[email protected]>
    Cc: Mark Rutland <[email protected]>
    Cc: [email protected]
    Cc: [email protected]
    Signed-off-by: Anshuman Khandual <[email protected]>
    ----
    Changes in V18:
    
    - Scan valid branch stack events in armpmu_start() to create merged filter
    - Updated the commit message
    
     drivers/perf/arm_pmu.c       | 42 +++++++++++++++++++++++++++++++++---
     include/linux/perf/arm_pmu.h | 32 ++++++++++++++++++++++++++-
     2 files changed, 70 insertions(+), 4 deletions(-)
    Anshuman Khandual authored and popcornmix committed Aug 27, 2024
    Configuration menu
    Copy the full SHA
    7033307 View commit details
    Browse the repository at this point in the history
  4. arm64/boot: Enable EL2 requirements for BRBE

    Fine grained trap control for BRBE registers, and instructions access need
    to be configured in HDFGRTR_EL2, HDFGWTR_EL2 and HFGITR_EL2 registers when
    kernel enters at EL1 but EL2 is present. This changes __init_el2_fgt() as
    required.
    
    Similarly cycle and mis-prediction capture need to be enabled in BRBCR_EL1
    and BRBCR_EL2 when the kernel enters either into EL1 or EL2. This adds new
    __init_el2_brbe() to achieve this objective.
    
    This also updates Documentation/arch/arm64/booting.rst with all the above
    EL2 along with MDRC_EL3.SBRBE requirements.
    
    First this replaces an existing hard encoding (1 << 62) with corresponding
    applicable macro HDFGRTR_EL2_nPMSNEVFR_EL1_MASK.
    
    Cc: Catalin Marinas <[email protected]>
    Cc: Will Deacon <[email protected]>
    Cc: Jonathan Corbet <[email protected]>
    Cc: Marc Zyngier <[email protected]>
    Cc: Oliver Upton <[email protected]>
    Cc: [email protected]
    Cc: [email protected]
    Cc: [email protected]
    Signed-off-by: Anshuman Khandual <[email protected]>
    ----
    Changes in V18:
    
    - Dropped ifdef CONFIG_ARM64_BRBE around __init_el2_brbe()
    - Updated the in code comment around __init_el2_brbe()
    - Dropped the write up for EL2->EL1 transition, moved up the EL3 write up
    
     Documentation/arch/arm64/booting.rst | 21 +++++++
     arch/arm64/include/asm/el2_setup.h   | 87 +++++++++++++++++++++++++++-
     2 files changed, 105 insertions(+), 3 deletions(-)
    Anshuman Khandual authored and popcornmix committed Aug 27, 2024
    Configuration menu
    Copy the full SHA
    dfc2dfc View commit details
    Browse the repository at this point in the history
  5. drivers: perf: arm_pmuv3: Enable branch stack sampling via FEAT_BRBE

    This extends recently added branch stack sampling framework in ARMV8 PMU to
    enable such events via new architecture feature called Branch Record Buffer
    Extension aka BRBE. This implements all the armv8pmu_branch_xxx() callbacks
    as expected at ARMV8 PMU level required to drive perf branch stack sampling
    events. This adds a new config option CONFIG_ARM64_BRBE to encapsulate this
    BRBE based implementation, available only on ARM64 platforms.
    
    BRBE hardware captures a branch record via three distinct system registers
    representing branch source address, branch target address, and other branch
    information. A BRBE buffer implementation is organized as multiple banks of
    32 branch records each, which is a collection of BRBSRC_EL1, BRBTGT_EL1 and
    BRBINF_EL1 registers. Though total BRBE record entries i.e BRBE_MAX_ENTRIES
    cannot exceed MAX_BRANCH_RECORDS as defined for ARM PMU.
    
    Branch stack sampling is enabled and disabled along with regular PMU events
    . This adds required function callbacks in armv8pmu_branch_xxx() format, to
    drive the PMU branch stack hardware when supported. This also adds fallback
    stub definitions for these callbacks for PMUs which would not have required
    support.
    
    BRBE hardware attributes get captured in a new reg_brbidr element in struct
    arm_pmu during armv8pmu_branch_probe() which is called from broader probing
    function __armv8pmu_probe_pmu(). Attributes such as number of branch record
    entries implemented in the hardware can be derived from armpmu->reg_brbidr.
    
    BRBE gets enabled via armv8pmu_branch_enable() where it also derives branch
    filter, and additional requirements from event's 'attr.branch_sample_type'
    and configures them via BRBFCR_EL1 and BRBCR_EL1 registers.
    
    PMU event overflow triggers IRQ, where current branch records get captured,
    stitched along with older records available in 'task_ctx', before getting
    processed for core perf ring buffer. Task context switch outs incrementally
    save current branch records in event's 'pmu_ctx->task_ctx_data' to optimize
    workload's branch record samples.
    
    In case multiple events with different branch sample type requests converge
    on the same PMU, BRBE gets enabled for the merged branch filter accommoding
    all those event's branch sample type. Captured branch records get filterted
    in software for an overflown event if BRBE hardware config does not match
    its branch sample type, while handling the PMU IRQ.
    
    Cc: Catalin Marinas <[email protected]>
    Cc: Will Deacon <[email protected]>
    Cc: Mark Rutland <[email protected]>
    Cc: [email protected]
    Cc: [email protected]
    Signed-off-by: Anshuman Khandual <[email protected]>
    ----
    Changes in V18:
    
    - Replaced BRBIDR0_EL1_FORMAT_0 as BRBIDR0_EL1_FORMAT_FORMAT_0 in BRBE driver
    - Added SW filtering framework in read_branch_records() during filter mismatch
    - Added SW filtering for both privilege modes and branch types
    
     drivers/perf/Kconfig            |   11 +
     drivers/perf/Makefile           |    1 +
     drivers/perf/arm_brbe.c         | 1198 +++++++++++++++++++++++++++++++
     drivers/perf/arm_pmuv3.c        |  160 ++++-
     drivers/perf/arm_pmuv3_branch.h |   83 +++
     include/linux/perf/arm_pmu.h    |    5 +
     6 files changed, 1457 insertions(+), 1 deletion(-)
     create mode 100644 drivers/perf/arm_brbe.c
     create mode 100644 drivers/perf/arm_pmuv3_branch.h
    Anshuman Khandual authored and popcornmix committed Aug 27, 2024
    Configuration menu
    Copy the full SHA
    ab5aecb View commit details
    Browse the repository at this point in the history
  6. KVM: arm64: nvhe: Disable branch generation in nVHE guests

    Disable the BRBE before we enter the guest, saving the status and enable it
    back once we get out of the guest. This avoids capturing branch records in
    the guest kernel or userspace, which would be confusing the host samples.
    
    Cc: Marc Zyngier <[email protected]>
    Cc: Oliver Upton <[email protected]>
    Cc: James Morse <[email protected]>
    Cc: Suzuki K Poulose <[email protected]>
    Cc: Catalin Marinas <[email protected]>
    Cc: Will Deacon <[email protected]>
    Cc: [email protected]
    Cc: [email protected]
    CC: [email protected]
    Signed-off-by: Anshuman Khandual <[email protected]>
    ----
    Changes in V18:
    
    - Used host_data_ptr() to access host_debug_state.brbcr_el1 register
    - Changed DEBUG_STATE_SAVE_BRBE to use BIT(7)
    - Reverted back iflags as u8
    
     arch/arm64/include/asm/kvm_host.h  |  3 +++
     arch/arm64/kvm/debug.c             |  5 +++++
     arch/arm64/kvm/hyp/nvhe/debug-sr.c | 31 ++++++++++++++++++++++++++++++
     3 files changed, 39 insertions(+)
    Anshuman Khandual authored and popcornmix committed Aug 27, 2024
    Configuration menu
    Copy the full SHA
    cd9485c View commit details
    Browse the repository at this point in the history
  7. perf: test: Speed up running brstack test on an Arm model

    The test runs quite slowly in the model, so replace "xargs -n1" with
    "tr ' ' '\n'" which does the same thing but in single digit minutes
    instead of double digit minutes.
    
    Also reduce the number of loops in the test application. Unfortunately
    this causes intermittent failures on x86, presumably because the
    sampling interval is too big to pickup any loops, so keep it the same
    there.
    
    Cc: Mark Rutland <[email protected]>
    Cc: Arnaldo Carvalho de Melo <[email protected]>
    Cc: [email protected]
    Cc: [email protected]
    Signed-off-by: James Clark <[email protected]>
    Signed-off-by: Anshuman Khandual <[email protected]>
    James-A-Clark authored and popcornmix committed Aug 27, 2024
    Configuration menu
    Copy the full SHA
    94e15c2 View commit details
    Browse the repository at this point in the history
  8. perf: test: Remove empty lines from branch filter test output

    In the perf script command, spaces are turned into newlines. But when
    there is a double space this results in empty lines which fail the
    following inverse grep test, so strip the empty lines.
    
    Cc: Mark Rutland <[email protected]>
    Cc: Arnaldo Carvalho de Melo <[email protected]>
    Cc: [email protected]
    Cc: [email protected]
    Signed-off-by: James Clark <[email protected]>
    Signed-off-by: Anshuman Khandual <[email protected]>
    James-A-Clark authored and popcornmix committed Aug 27, 2024
    Configuration menu
    Copy the full SHA
    410b2cd View commit details
    Browse the repository at this point in the history
  9. perf: test: Extend branch stack sampling test for Arm64 BRBE

    Add Arm64 BRBE-specific testing to the existing branch stack sampling test.
    The test currently passes on the Arm FVP RevC model, but no hardware has
    been tested yet.
    
    Cc: Mark Rutland <[email protected]>
    Cc: Arnaldo Carvalho de Melo <[email protected]>
    Cc: [email protected]
    Cc: [email protected]
    Co-developed-by: German Gomez <[email protected]>
    Signed-off-by: German Gomez <[email protected]>
    Signed-off-by: James Clark <[email protected]>
    Signed-off-by: Anshuman Khandual <[email protected]>
    James-A-Clark authored and popcornmix committed Aug 27, 2024
    Configuration menu
    Copy the full SHA
    f8b1c84 View commit details
    Browse the repository at this point in the history