This bug was fixed in the package linux-raspi - 5.15.0-1002.2

---------------
linux-raspi (5.15.0-1002.2) jammy; urgency=medium

  * jammy/linux-raspi: 5.15.0-1002.2 -proposed tracker (LP: #1958834)

  * Packaging resync (LP: #1786013)
    - [Packaging] update Ubuntu.md
    - debian/dkms-versions -- update from kernel-versions (main/master)

  * Kernel fails to boot in ScalingStack (LP: #1959102)
    - [Config] raspi: Set VIRTIO_PCI=m
    - [Config] raspi: Set ACPI=y

  * jammy/linux-raspi: Update to upstream raspberrypi rpi-5.15.y (2022-01-24)
    (LP: #1958854)
    - brcmfmac: firmware: Fix crash in brcm_alt_fw_path
    - ARM: dts: Remove VL805 USB node from CM4 dts
    - mfd: simple-mfd-i2c: Add configuration for RPi POE HAT
    - pwm: raspberrypi-poe: Add option of being created by MFD or FW
    - power: rpi-poe: Drop CURRENT_AVG as it is not hardware averaged
    - power: rpi-poe: Add option of being created by MFD or FW
    - defconfigs: Add MFD_RASPBERRYPI_POE_HAT to Pi defconfigs.
    - dtoverlays: Add option for PoE HAT to use Linux I2C instead of FW.
    - drivers: bcm2835_unicam: Disable trigger mode operation
    - arm: Remove spurious .fnend directive
    - drm/vc4: Fix deadlock on DSI device attach error
    - drm/vc4: dsi: Correct max divider to 255 (not 7)
    - defconfig: Add BACKLIGHT_PWM to bcm2709 and bcmrpi defconfigs
    - dtoverlays: Add pwm backlight option to vc4-kms-dpi-generic
    - dtoverlays: Correct [h|v]sync_invert config in vc4-kms-dpi-generic
    - ARM: dts: BCM2711 AON_INTR2 generates IRQ edges
    - update rpi-display-overlay.dts pins for 5.10+

  [ Ubuntu: 5.15.0-18.18 ]

  * jammy/linux: 5.15.0-18.18 -proposed tracker (LP: #1958638)
  * CVE-2021-4155
    - xfs: map unwritten blocks in XFS_IOC_{ALLOC, FREE}SP just like fallocate
  * CVE-2022-0185
    - SAUCE: vfs: test that one given mount param is not larger than PAGE_SIZE
  * [UBUNTU 20.04] KVM hardware diagnose data improvements for guest kernel -
    kernel part (LP: #1953334)
    - KVM: s390: add debug statement for diag 318 CPNC data
  * OOB write on BPF_RINGBUF (LP: #1956585)
    - SAUCE: bpf: prevent helper argument PTR_TO_ALLOC_MEM to have offset other
      than 0
  * Miscellaneous Ubuntu changes
    - [Config] re-enable shiftfs
    - [SAUCE] shiftfs: support kernel 5.15
    - [Config] update toolchain versions
  * Miscellaneous upstream changes
    - vfs: fs_context: fix up param length parsing in legacy_parse_param

linux-raspi (5.15.0-1001.1) jammy; urgency=medium

  * Missing overlays/README (LP: #1954757)
    - SAUCE: Install overlays/README

  * dtoverlay=uart4 breaks Raspberry Pi 4B boot (LP: #1875454)
    - SAUCE: arm: dts: Add 'brcm,bcm2835-pl011' compatible for uart2-5

  * jammy/linux-raspi: Update to upstream raspberrypi rpi-5.15.y (2022-01-14)
    (LP: #1958146)
    - clk: bcm-2835: Pick the closest clock rate
    - clk: bcm-2835: Remove rounding up the dividers
    - drm/vc4: hdmi: Set a default HSM rate
    - drm/vc4: hdmi: Move the HSM clock enable to runtime_pm
    - drm/vc4: hdmi: Make sure the controller is powered in detect
    - drm/vc4: hdmi: Make sure the controller is powered up during bind
    - drm/vc4: hdmi: Rework the pre_crtc_configure error handling
    - drm/vc4: hdmi: Split the CEC disable / enable functions in two
    - drm/vc4: hdmi: Make sure the device is powered with CEC
    - drm/vc4: hdmi: Warn if we access the controller while disabled
    - drm/vc4: crtc: Make sure the HDMI controller is powered when disabling
    - drm/vc4: crtc: Drop feed_txp from state
    - drm/vc4: Fix non-blocking commit getting stuck forever
    - drm/vc4: crtc: Copy assigned channel to the CRTC
    - drm/vc4: hdmi: Add a spinlock to protect register access
    - drm/vc4: hdmi: Use a mutex to prevent concurrent framework access
    - drm/vc4: hdmi: Prevent access to crtc->state outside of KMS
    - drm/vc4: hdmi: Check the device state in prepare()
    - drm/vc4: hdmi: Introduce an output_enabled flag
    - drm/vc4: hdmi: Introduce a scdc_enabled flag
    - drm/vc4: hdmi: Remove the DDC probing for status detection
    - drm/vc4: hdmi: Fix HPD GPIO detection
    - drm/vc4: Make vc4_crtc_get_encoder public
    - drm/vc4: crtc: Add encoder to vc4_crtc_config_pv prototype
    - drm/vc4: crtc: Rework the encoder retrieval code (again)
    - drm/vc4: crtc: Add some logging
    - drm/vc4: Leverage the load tracker on the BCM2711
    - drm/vc4: hdmi: Raise the maximum clock rate
    - drm/vc4: hdmi: Enable the scrambler on reconnection
    - drm/vc4: Increase the core clock based on HVS load
    - drm/vc4: select PM
    - drm/probe-helper: Create a HPD IRQ event helper for a single connector
    - drm/vc4: hdmi: Actually check for the connector status in hotplug
    - firmware: raspberrypi: Add RPI_FIRMWARE_NOTIFY_DISPLAY_DONE
    - drm/vc4: Remove conflicting framebuffers before callind bind_all
    - drm/vc4: Notify the firmware when DRM is in charge
    - arm: partially revert 702b94bff3c50542a6e4ab9a4f4cef093262fe65
    - Revert "rtc: pcf8523: properly handle oscillator stop bit"
    - Revert "staging: bcm2835-audio: Drop DT dependency"
    - Revert "spi: spidev: Fix CS polarity if GPIO descriptors are used"
    - Revert "mailbox: avoid timer start from callback"
    - Revert "Bluetooth: Always request for user confirmation for Just Works (LE
      SC)"
    - Revert "Bluetooth: Always request for user confirmation for Just Works"
    - smsx95xx: fix crimes against truesize
    - smsc95xx: Experimental: Enable turbo_mode and packetsize=2560 by default
    - Allow mac address to be set in smsc95xx
    - cgroup: Disable cgroup "memory" by default
    - Protect __release_resource against resources without parents
    - irq-bcm2836: Avoid "Invalid trigger warning"
    - irqchip: bcm2835: Add FIQ support
    - irqchip: irq-bcm2835: Add 2836 FIQ support
    - spi: spidev: Completely disable the spidev warning
    - dmaengine: bcm2835: Load driver early and support legacy API
    - rtc: Add SPI alias for pcf2123 driver
    - watchdog: bcm2835: Support setting reboot partition
    - reboot: Use power off rather than busy spinning when halt is requested
    - bcm: Make RASPBERRYPI_POWER depend on PM
    - Register the clocks early during the boot process, so that 
special/critical
      clocks can get enabled early on in the boot process avoiding the risk of
      disabling a clock, pll_divider or pll when a claiming driver fails to
      install propperly - maybe it needs to defer.
    - bcm2835-rng: Avoid initialising if already enabled
    - clk-bcm2835: Mark used PLLs and dividers CRITICAL
    - clk-bcm2835: Add claim-clocks property
    - clk-bcm2835: Read max core clock from firmware
    - sound: Demote deferral errors to INFO level
    - Update vfpmodule.c
    - i2c: bcm2835: Add debug support
    - irqchip: irq-bcm2836: Remove regmap and syscon use
    - lan78xx: Enable LEDs and auto-negotiation
    - amba_pl011: Don't use DT aliases for numbering
    - amba_pl011: Round input clock up
    - amba_pl011: Insert mb() for correct FIFO handling
    - amba_pl011: Add cts-event-workaround DT property
    - tty: amba-pl011: Add un/throttle support
    - tty: amba-pl011: Avoid rare write-when-full error
    - pinctrl-bcm2835: Set base to 0 give expected gpio numbering
    - Main bcm2708/bcm2709 linux port
    - Add dwc_otg driver
    - bcm2708 framebuffer driver
    - Pulled in the multi frame buffer support from the Pi3 repo
    - fbdev: add FBIOCOPYAREA ioctl
    - Speed up console framebuffer imageblit function
    - dmaengine: Add support for BCM2708
    - MMC: added alternative MMC driver
    - Adding bcm2835-sdhost driver, and an overlay to enable it
    - vc_mem: Add vc_mem driver for querying firmware memory addresses
    - Add /dev/gpiomem device for rootless user GPIO access
    - Add SMI driver
    - Add Chris Boot's i2c driver
    - char: broadcom: Add vcio module
    - firmware: bcm2835: Support ARCH_BCM270x
    - BCM2708: Add core Device Tree support
    - leds: Add the "input" trigger, for pwr_led
    - Added Device IDs for August DVB-T 205
    - Improve __copy_to_user and __copy_from_user performance
    - gpio-poweroff: Allow it to work on Raspberry Pi
    - mfd: Add Raspberry Pi Sense HAT core driver
    - Add support for all the downstream rpi sound card drivers
    - rpi_display: add backlight driver and overlay
    - bcm2835-virtgpio: Virtual GPIO driver
    - OF: DT-Overlay configfs interface
    - brcm: adds support for BCM43341 wifi
    - hci_h5: Don't send conf_req when ACTIVE
    - config: Add default configs
    - ARM64: Round-Robin dispatch IRQs between CPUs.
    - ARM64: Force hardware emulation of deprecated instructions.
    - cache: export clean and invalidate
    - AXI performance monitor driver (#2222)
    - ARM: bcm2835: Set Serial number and Revision
    - dwc-otg: FIQ: Fix "bad mode in data abort handler"
    - ARM: Activate FIQs to avoid __irq_startup warnings
    - i2c-gpio: Also set bus numbers from reg property
    - added capture_clear option to pps-gpio via dtoverlay (#2433)
    - lan78xx: Read initial EEE status from DT
    - hid: Reduce default mouse polling interval to 60Hz
    - Add ability to export gpio used by gpio-poweroff
    - firmware/raspberrypi: Notify firmware of a reboot
    - irqchip: irq-bcm2835: Calc. FIQ_START at boot-time
    - of: configfs: Use of_overlay_fdt_apply API call
    - net: lan78xx: Disable TCP Segmentation Offload (TSO)
    - brcmfmac: Re-enable firmware roaming support
    - lan78xx: Move enabling of EEE into PHY init code
    - cxd2880: CXD2880_SPI_DRV should select DVB_CXD2880 with
      MEDIA_SUBDRV_AUTOSELECT
    - firmware: raspberrypi: Add backward compatible get_throttled
    - sc16is7xx: Don't spin if no data received
    - drivers: thermal: step_wise: add support for hysteresis
    - drivers: thermal: step_wise: avoid throttling at hysteresis temperature
      after dropping below it
    - Update issue templates (#2736)
    - net: lan78xx: Support auto-downshift to 100Mb/s
    - firmware: raspberrypi: Report the fw variant during probe
    - lan78xx: Debounce link events to minimize poll storm
    - lan78xx: EEE support is now a PHY property
    - bcm2835-dma: Add support for per-channel flags
    - rtc: rv3028: Add backup switchover mode support
    - lan78xx: use default alignment for rx buffers
    - media: tc358743: Increase FIFO level to 374.
    - media: tc358743: fix connected/active CSI-2 lane reporting
    - media: tc358743: Add support for 972Mbit/s link freq.
    - media: tc358743: Check I2C succeeded during probe.
    - media: adv7180: Default to the first valid input
    - media: adv7180: Add YPrPb support for ADV7282M
    - media: videodev2: Add helper defines for printing FOURCCs
    - dt-bindings: Document BCM283x CSI2/CCP2 receiver
    - MAINTAINERS: Add entry for BCM2835 Unicam driver
    - media: tc358743: Return an appropriate colorspace from tc358743_set_fmt
    - staging: mmal-vchiq: Avoid use of bool in structures
    - staging: mmal-vchiq: Add support for event callbacks.
    - staging: vc04_services: Support sending data to MMAL ports
    - media: videobuf2: Allow exporting of a struct dmabuf
    - staging: mmal-vchiq: Fix client_component for 64 bit kernel
    - clk: clk-bcm2835: Use %zd when printing size_t
    - staging: mmal_vchiq: Add in the Bayer encoding formats
    - staging: mmal-vchiq: Update mmal_parameters.h with recently defined params
    - staging: mmal-vchiq: Free the event context for control ports
    - staging: mmal-vchiq: Fix memory leak in error path
    - w1: w1-gpio: Make GPIO an output for strong pullup
    - arm: bcm2835: Fix FIQ early ioremap
    - arm: bcm2835: DMA can only address 1GB
    - hwrng: iproc-rng200: Add BCM2838 support
    - bcmgenet: constrain max DMA burst length
    - bcmgenet: Better coalescing parameter defaults
    - net: genet: enable link energy detect powerdown for external PHYs
    - spi: bcm2835: enable shared interrupt support
    - clk-bcm2835: Don't wait for pllh lock
    - soc: bcm: bcm2835-pm: Add support for 2711.
    - clk: bcm2835: Add support for setting leaf clock rates while running.
    - clk: bcm2835: Allow reparenting leaf clocks while they're running.
    - usb: add plumbing for updating interrupt endpoint interval state
    - xhci: implement xhci_fixup_endpoint for interval adjustments
    - usbhid: call usb_fixup_endpoint after mangling intervals
    - arm: bcm2835: Add bcm2838 compatible string.
    - drm/v3d: Add support for 2711.
    - drm/v3d: Skip MMU flush if the device is currently off.
    - drm/v3d: Hook up the runtime PM ops.
    - i2c: bcm2835: Set clock-stretch timeout to 35ms
    - clk-bcm2835: Avoid null pointer exception
    - drm/v3d: HACK: gut runtime pm for now.
    - drm/v3d: Clock V3D down when not in use.
    - drivers: char: add chardev for mmap'ing the RPiVid control registers
    - hid: usb: Add device quirks for Freeway Airmouse T3 and MX3
    - Add HDMI1 facility to the driver.
    - net: bcmgenet: Workaround #2 for Pi4 Ethernet fail
    - xhci: Use more event ring segment table entries
    - configs: arm64/bcm2711: Enable V3D
    - arch/arm: Add model string to cpuinfo
    - arch/arm64: Add Revision, Serial, Model to cpuinfo
    - media: dt-bindings: Add binding for the Sony IMX219 sensor
    - v4l2: Add a Greyworld AWB mode.
    - staging: bcm2835-camera: Add greyworld AWB mode
    - drm/v3d: Delete pm_runtime support
    - ARM: bcm: Switch board, clk and pinctrl to bcm2711 compatible
    - Rename HDMI ALSA device names, check for enable state
    - dt-bindings: Add binding for the Infineon IRS1125 sensor
    - media: i2c: Add a driver for the Infineon IRS1125 depth sensor
    - drm/v3d: Suppress all but the first MMU error
    - drm/v3d: Plug dma_fence leak
    - staging: vchiq_arm: Register vcsm-cma as a platform driver
    - staging: vchiq_arm: Register bcm2835-codec as a platform driver
    - net:phy:2711 Allow ethernet LED mode to be set via device tree
    - v3d_drv: Handle missing clock more gracefully
    - v3d_gem: Kick the clock so firmware knows we are using firmware clock
      interface
    - clk-raspberrypi: Allow cpufreq driver to also adjust gpu clocks
    - clk-bcm2835: Disable v3d clock
    - staging: vchiq_arm: Set up dma ranges on child devices
    - staging: vchiq: Use the old dma controller for OF config on platform 
devices
    - ARM: bcm: Backport BCM2711 support from upstream
    - Initialise rpi-firmware before clk-bcm2835
    - staging: vchiq_arm: Give vchiq children DT nodes
    - pinctrl: bcm2835: Remove gpiochip on error
    - drivers: char: vcio: Use common compat header
    - video: fbdev: bcm2708_fb: Use common compat header
    - of: overlay: Correct symbol path fixups
    - dt-bindings: pci: Add DT docs for Brcmstb PCIe device
    - bcmgenet: Disable skip_umac_reset by default
    - drm/fourcc: Add packed 10bit YUV 4:2:0 format
    - media: uapi: hevc: Add scaling matrix control
    - media: uapi: hevc: Add segment address field
    - media: videodev2.h: Add a format for column YUV4:2:0 modes
    - media: dt-bindings: media: Add binding for the Raspberry PI HEVC decoder
    - staging: media: Add Raspberry Pi V4L2 H265 decoder
    - dt-bindings: clock: Add a binding for the RPi Firmware clocks
    - dt-bindings: display: vc4: hdmi: Add BCM2711 HDMI controllers bindings
    - drm: Checking of the pitch is only valid for linear formats
    - driver: char: rpivid: Remove legacy name support
    - spi: Force CS_HIGH if GPIO descriptors are used
    - driver: char: rpivid: Don't map more than wanted
    - media: bcm2835-unicam: Driver for CCP2/CSI2 camera interface
    - media: uapi: v4l2-core: Add sensor ancillary data V4L2 foucc type.
    - media: uapi: Add MEDIA_BUS_FMT_SENSOR_DATA media bus format
    - media: bcm2835-unicam: Add support for mulitple device nodes.
    - media: bcm2835-unicam: Add embedded data node.
    - media: bcm2835-unicam: Use dummy buffer if none have been queued
    - media: bcm2835-unicam: Disable event-related ioctls on metadata node
    - media: bcm2835-unicam: Add support for the FRAME_SYNC event
    - media: bcm2835-unicam: Re-fetch mbus code from subdev on a g_fmt call
    - media: uapi: v4l2-core: Add ISP statistics output V4L2 fourcc type
    - media: uapi: v4l-ctrls: Add CID base for the bcm2835-isp driver
    - staging: vchiq: Load bcm2835_isp driver from vchiq
    - bcm2835-dma: Add proper 40-bit DMA support
    - media: bcm2835-unicam: Add support for VIDIOC_[S|G]_SELECTION
    - media: bcm2835-unicam: Do not stop streaming in unicam_release
    - media: bcm2835-unicam: Fix reference counting in unicam_open
    - media: i2c: tc358743: Fix fallthrough warning
    - media: bcm2835: unicam: Fix uninitialized warning
    - video: bcm2708_fb: Disable FB if no displays found
    - dt-bindings: media: i2c: Add IMX477 CMOS sensor binding
    - media: bcm2835-unicam: Always service interrupts
    - sc16is7xx: Fix for hardware flow control
    - staging: vc04_services: mmal-vchiq: Update parameters list
    - staging:vc04_services: bcm2835-camera: Request headers with I-frame
    - media: bcm2835-unicam: Retain packing information on G_FMT
    - zswap: Defer zswap initialisation
    - media: bcm2835-unicam: change minimum number of vb2_queue buffers to 1
    - snd_bcm2835: disable HDMI audio when vc4 is used (#3640)
    - gpiolib: Don't prevent IRQ usage of output GPIOs
    - PCI: brcmstb: Add DT property to control L1SS
    - media: irs1125: Using i2c_transfer for ic2 reads
    - media: irs1125: Refactoring and debug messages
    - media: irs1125: Atomic access to imager reconfiguration
    - media: irs1125: Keep HW in sync after imager reset
    - staging: bcm2835-audio: Add missing MODULE_ALIAS
    - brcmfmac: Prefer a ccode from OTP over nvram file
    - drivers: media: Remove the downstream version of bcm2835-unicam
    - media: bcm2835-unicam: Driver for CCP2/CSI2 camera interface
    - media: bcm2835-unicam: Add support for get_mbus_config to set num lanes
    - media: bcm2835-unicam: Avoid gcc warning over {0} on endpoint
    - media: i2c: imx290: set the format before VIDIOC_SUBDEV_G_FMT is called
    - media: i2c: imx290: Add support for 74.25MHz clock
    - media: i2c: imx290: Correct range for V4L2_CID_GAIN to 0-238
    - media: i2c: imx290: Convert HMAX setting into V4L2_CID_HBLANK
    - media: i2c: imx290: Add support for V4L2_CID_VBLANK
    - media: i2c: imx290: Add exposure control to the driver.
    - media: i2c: imx290: Add H and V flip controls
    - media: dt-bindings: media: i2c: Add mono version to IMX290 bindings
    - media : i2c: imx290: Add support for the mono sensor variant.
    - media: i2c: imx290: Switch set_hmax to use imx290_write_buffered_reg
    - serial: 8250: bcm2835aux - defer if clock is zero
    - media: Add a pixel format for MIPI packed 12bit luma only.
    - media: Add a pixel format for MIPI packed 14bit luma only.
    - media: bcm2835-unicam: Add support for 12bit mono packed format
    - media: bcm2835-unicam: Add support for 14bit mono sources
    - media: bcm2835-unicam: Add support for unpacked 14bit Bayer formats
    - bcm2835-dma: Add NO_WAIT_RESP flag
    - media: i2c: imx290: Explicitly set v&h blank on mode change
    - media: i2c: imx290: Add support for g_selection to report cropping
    - media: i2c: imx290: Set the colorspace fields in the format
    - media: bcm2835-unicam: Reinstate V4L2_CAP_READWRITE in the caps
    - media: bcm2835-unicam: Ensure type is VIDEO_CAPTURE in [g|s]_selection
    - media: bcm2835: unicam: Set VPU min clock freq to 250Mhz.
    - dt-bindings: bcm2835-unicam: Update documentation with new clock params
    - leds: Add the actpwr trigger
    - bcm2835-dma: Advertise the full DMA range
    - media: bcm2835: unicam: Select MEDIA_CONTROLLER and VIDEO_V4L2_SUBDEV_API
    - staging: media: rpivid: Select MEDIA_CONTROLLER and
      MEDIA_CONTROLLER_REQUEST_API
    - media: bcm2835-unicam: Drop WARN on uing direct cache alias
    - media: i2c: tc358743: Only allow supported pixel fmts in set_fmt
    - dwc_otg: whitelist_table is now productlist_table
    - include/firmware: Add enum for RPI_FIRMWARE_FRAMEBUFFER_GET_DISPLAY_ID
    - media: i2c: Add driver for Sony IMX477 sensor
    - media: i2c: imx477: Add support for adaptive frame control
    - media: i2c: imx477: Return correct result on sensor id verification
    - media: i2c: imx477: Parse and register properties
    - media: bcm2835-unicam: Always service interrupts
    - media: bcm2835: unicam: Fix uninitialized warning
    - media: bcm2835-unicam: Fixup review comments from Hans.
    - media: bcm2835-unicam: Retain packing information on G_FMT
    - media: bcm2835-unicam: change minimum number of vb2_queue buffers to 1
    - staging/fbtft: Add support for display variants
    - brcmfmac: Increase power saving delay to 2s
    - rpivid_h265: Fix width/height typo
    - net: bcmgenet: Reset RBUF on first open
    - char: Add broadcom char drivers back to build files
    - dwc_otg: initialise sched_frame for periodic QHs that were parked
    - staging: bcm2835-camera: Replace deprecated V4L2_PIX_FMT_BGR32
    - staging: vc04_services: Add new vc-sm-cma driver
    - staging: vchiq-mmal: Add support for 14bit Bayer
    - staging: mmal-vchiq: Add monochrome image formats
    - staging: mmal-vchiq: Use vc-sm-cma to support zero copy
    - staging: vc04_services: Add a V4L2 M2M codec driver
    - bcm2835-dma: only reserve channel 0 if legacy dma driver is enabled
    - uapi: bcm2835-isp: Add bcm2835-isp uapi header file
    - staging: vc04_services: ISP: Add a more complex ISP processing component
    - gpio: Add gpio-fsm driver
    - staging: bcm2835-audio: Add disable-headphones flag
    - rpisense-fb: Set pseudo_pallete to prevent crash on fbcon takeover
    - dwc_otg: Minimise header and fix build warnings
    - rpivid_h625: Fix build warnings
    - bcm2708_fb: Fix a build warning
    - watchdog: bcm2835: Ignore params after the partition number
    - firmware: raspberrypi: Add support for tryonce reboot flag
    - phy: broadcom: split out the BCM54213PE from the BCM54210E IDs
    - phy: broadcom: Add bcm54213pe configuration
    - PCI: brcmstb: Restore initial fundamental reset
    - Input: edt-ft5x06: Poll the device if no interrupt is configured.
    - drm/panel/raspberrypi-touchscreen: Use independent I2C actions with delay.
    - drm/panel/raspberrypi-ts: Insert delay before polling for startup state
    - dt-bindings: Add compatible for BCM2711 DSI1
    - media: bcm2835-unicam: Correctly handle error propagation for stream on
    - media: bcm2835-unicam: Return early from stop_streaming() if stopped
    - media: bcm2835-unicam: Clear clock state when stopping streaming
    - PCI: brcmstb: Advertise MSI-X support
    - net: lan78xx: Ack pending PHY ints when resetting
    - media: i2c: imx477: Selection compliance fixes
    - vc-sm-cma: fixed kbuild problem
    - staging/vc04_services: Add additional unpacked raw formats
    - staging/bcm2835-codec: Add the unpacked (16bpp) raw formats
    - staging/bcm2835-codec: Log the number of excess supported formats
    - staging/bcm2835-isp: Add the unpacked (16bpp) raw formats
    - staging/bcm2835-isp: Log the number of excess supported formats
    - bcm2835-dma: Avoid losing CS flags after interrupt
    - arch/arm: Add __memset alias to memset_rpi.S
    - bcm2835-dma: Add bcm2835-dma: Add DMA_WIDE_SOURCE and DMA_WIDE_DEST flags
    - uapi: bcm2835-isp: Add colour denoise configuration
    - staging: vc04_services: ISP: Add colour denoise control
    - spi: bcm2835: Workaround/fix for zero-length transfers
    - kbuild: Silence unavoidable dtc overlay warnings
    - media: i2c: imx290: Replace V4L2_CID_GAIN with V4L2_CID_ANALOGUE_GAIN
    - media: i2c: imx290: Fix number of controls in v4l2_ctrl_handler_init
    - dt-binding: display: bcm2711-hdmi: Add CEC and hotplug interrupts
    - staging:bcm2835-camera: Fix the cherry-pick of AWB Greyworld
    - bcm2835-isp: Allow formats with different colour spaces.
    - staging: rpivid: Fix crash when CMA alloc fails
    - media: i2c: imx477: Remove auto frame length adjusting
    - media: i2c: imx477: Add very long exposure control to the driver
    - media: i2c: imx290: Fix up exposure calcuations and ranges
    - media: i2c: imx290: Handle exposure correctly when vblank changes
    - media: i2c: imx477: Fix crop height for 2028x1080 mode
    - media: i2c: imx477: Replace existing 1012x760 mode
    - media: i2c: imx477: Remove internal v4l2_mbus_framefmt from the state
    - media: i2c: imx477: Remove unused function parameter
    - media: bcm2835-unicam: Fix bug in buffer swapping logic
    - Assign crypto aliases to different AES implementation modules
    - media/v4l2_m2m: In buffered mode run jobs if either port is streaming
    - staging/bcm2835-codec: Correct logging of size_t to %zu
    - staging/bcm2835-codec: Add support for pixel aspect ratio
    - staging/bcm2835-codec: Implement additional g_selection calls for decode
    - staging/bcm2835-codec: Add VC-1 support.
    - hack: fixup bcm2835-unicam
    - media: i2c: add ov9281 driver.
    - media: i2c: ov9281: fix mclk issue when probe multiple camera.
    - media: i2c: ov9281: add enum_frame_interval function for iq tool 2.2 and
      hal3
    - media: i2c: ov9281: Fixup for recent kernel releases, and remove custom 
code
    - media: i2c: ov9281: Read chip ID via 2 reads
    - media: i2c: ov9281: Add support for 8 bit readout
    - media: ov9281: Add 1280x720 and 640x480 modes
    - Fixed picture line bug in all ov9281 modes
    - Added hflip and vflip controls to ov9281
    - media: ov5647: Fix return codes from ov5647_write/ov5647_read functions.
    - media: i2c: ov5647: Parse and register properties
    - clk-raspberrypi: Also support HEVC clock
    - rpivid: Request maximum hevc clock
    - staging/bcm2835-camera: Add support for DMABUFs
    - staging: fbtft: Add minipitft13 variant
    - dwc-otg: fix clang -Wignored-attributes warning
    - dwc-otg: fix clang -Wsometimes-uninitialized warning
    - dwc-otg: fix clang -Wpointer-bool-conversion warning
    - staging: vcsm-cma: Fix memory leak from not detaching dmabuf
    - clk: Introduce a clock request API
    - bcm2835-unicam: Switch to new clock api
    - rpivid: Switch to new clock api
    - rpivid: Only clk_request_done once
    - dwc_otg: fix an undeclared variable
    - drm/panel: jdi-lt070me05000: Use gpiod_set_value_cansleep
    - clk: requests: Ignore if the pointer is null
    - clk: requests: Dereference the request pointer after the check
    - staging/bcm2835-codec: Fix support for levels 4.1 and 4.2
    - staging/bcm2835-codec: Set the colourspace appropriately for RGB formats
    - staging/bcm2835-codec: Pass corrupt frame flag.
    - staging/bcm2835-camera: Add support for H264 levels 4.1 and 4.2
    - staging/bcm2835-codec: Do not update crop from S_FMT after res change
    - staging/bcm2835-isp: Fix compiler warning
    - gpio-poweroff: Remember the old poweroff handler
    - media: i2c: ov5647: Correct pixel array offset
    - media: i2c: ov5647: Correct minimum VBLANK value
    - media: i2c: ov5647: Fix v4l2-compliance failure subscribing to events
    - media: rpivid: Remove the need to have num_entry_points set
    - media: rpivid: Convert to MPLANE
    - media: rpivid: Add an enable count to irq claim Qs
    - RFC: media: Add media_request_{pin,unpin} API
    - media: rpivid: Add a Pass0 to accumulate slices and rework job finish
    - media: rpivid: Map cmd buffer directly
    - media: rpivid: Improve values returned when setting output format
    - media: rpivid: Improve stream_on/off conformance & clock setup
    - media: rpivid: Improve SPS/PPS error handling/validation
    - bcm2835: Allow compressed frames to set sizeimage (#4386)
    - media: i2c: imx477: Fix for long exposure limit calculations
    - clk: bcm2835: Pass DT node to rpi_firmware_get
    - bcm2835-pcm.c: Support multichannel audio
    - bcm2835-pcm: Fix up multichannel pcm audio
    - media: i2c: imx290: Support 60fps in 2 lane operation
    - media: i2c: imx290: Fix the pixel rate at 148.5Mpix/s
    - media: i2c: imx290: Fix clock setup register assignments
    - media: rpivid: Fix H265 aux ent reuse of the same slot
    - media: i2c: ov9281: Remove override of subdev name
    - staging: vc04_services: isp: Set the YUV420/YVU420 format stride to 64 
bytes
    - Documentation: devicetree: Add documentation for imx378 sensor
    - media: i2c: imx477: Extend driver to support imx378 sensor
    - dt-bindings: clk: raspberrypi: Remove unused property
    - dt-bindings: display: vc4: Add phandle to the firmware
    - bcm2711_thermal: Don't clamp temperature at zero
    - media: bcm2835-unicam: Forward input status from subdevice
    - media: v4l2-subdev: add subdev-wide state struct
    - drm/vc4: Adopt the dma configuration from the HVS or V3D component
    - Support RPi DPI interface in mode6 for 18-bit color
    - drm/vc4: Add support for DRM_FORMAT_P030 to vc4 planes
    - drm/vc4: Add support for YUV color encodings and ranges
    - drm/vc4: Add FKMS as an acceptable node for dma ranges.
    - drm/vc4: A present but empty dmas disables audio
    - drm/vc4: Add debugfs node that dumps the current display lists
    - drm/vc4: Add all the HDMI registers into the debugfs dumps
    - drm/vc4: Add the 2711 HVS as a suitable DMA node
    - vc4_hdmi: Report that 3d/stereo is allowed
    - vc4: Clear unused infoframe packet RAM registers
    - drm/vc4: Change the default DPI format to being 18bpp, not 24.
    - vc4/drm: Avoid full hdmi audio fifo writes
    - vc4/drm: Fix source offsets with DRM_FORMAT_P030
    - vc4/drm: vc4_plane: Remove subpixel positioning check
    - vc4/kms: vc4_plane: Support 2020 colourspace for yuv planes
    - drm/vc4: hdmi: Convert to the new clock request API
    - drm/vc4: Correct pixel order for DSI0
    - drm/vc4: Register dsi0 as the correct vc4 encoder type
    - drm/vc4: Fix dsi0 interrupt support.
    - drm/vc4: Add correct stop condition to vc4_dsi_encoder_disable iteration
    - drm/atomic: Don't fixup modes that haven't been reset
    - drm/vc4: Allow DBLCLK modes even if horz timing is odd.
    - clk: Always clamp the rounded rate
    - drm/vc4: Increase the core clock based on HVS load
    - drm/vc4: hdmi: Simplify the connector state retrieval
    - drm/vc4: Fix timings for interlaced modes
    - dwc_otg: Update NetBSD usb.h header licence
    - drm/vc4: Fix margin calculations for the right/bottom edges
    - drm/vc4: Fix timings for VEC modes
    - drm/vc4: Refactor VEC TV mode setting
    - drm/vc4: Fix definition of PAL-M mode
    - drm/vc4: Add support for more analog TV standards
    - drm/vc4: Allow setting the TV norm via module parameter
    - drm/vc4: Refactor mode checking logic
    - drm/vc4: Add firmware-kms mode
    - media: i2c: imx477: Fix framerates for 1332x990 mode
    - SQUASH: fbmem: Use fallthrough keyword
    - ASoC: bcm: Compiler warnings in audioinjector-octo
    - media: i2c: tc358743: Fix compiler warning
    - ASoC: bcm: Add chipdip-dac driver
    - drm/vc4: hdmi: Unregister codec device on unbind
    - media: i2c: imx290: Add fwnode properties controls
    - media: i2c: ov9281: Add fwnode properties controls
    - media: i2c: ov7251: Add fwnode properties controls
    - media: v4l2: Remove v4l2-ctrls.c
    - media: v4l2: Add HEVC_SCALING_MATRIX attribute to v4l2-ctrl-*
    - media: rpivid: Update to compile with new hevc decode params
    - media: v4l2: Add Greyworld AWB control name
    - videodev2.h: add V4L2_CTRL_FLAG_DYNAMIC_ARRAY
    - v4l2-ctrls: add support for dynamically allocated arrays.
    - media: rpivid: Make slice ctrl dynamic
    - media: rpivid: Only create aux entries for H265 if needed
    - usb: xhci: workaround for bogus SET_DEQ_PENDING endpoint state
    - media: i2c: imx477: Allow control of on-sensor DPC
    - sound/usb: add device quirks for A4Tech FHD 1080p webcams
    - sound/usb: call usb_autopm_get_interface() for devices that should not
    - brcmfmac: Try product-specific clm_blob names first
    - staging: vchiq_arm: Add 36-bit address support
    - staging: vchiq_arm: children inherit DMA config
    - staging: vchiq_arm: Usa a DMA pool for small bulks
    - drm/vc4: Reset HDMI MISC_CONTROL register.
    - drm/vc4: Release workaround buffer and DMA in error paths and unbind
    - drm/vc4: Correct DSI divider calculations
    - drm/panel/raspberrypi-touchscreen: Avoid NULL deref if not initialised
    - drm/panel/raspberrypi-touchscreen: Initialise the bridge in prepare
    - drm/panel/raspberrypi-touchscreen: Handle I2C errors.
    - drm/panel-simple: Add a timing for the Raspberry Pi 7" panel
    - Input: edt-ft54x6: Clean up timer and workqueue on remove
    - regulator: rpi-panel: Register with a unique backlight name
    - regulator: rpi-panel: Handle I2C errors/timing to the Atmel
    - regulator: rpi-panel: Serialise operations.
    - regulator: rpi-panel: Ensure the backlight is off during probe.
    - regulator: rpi-panel: Convert to drive lines directly
    - regulator: rpi-panel: Add GPIO control for panel and touch resets
    - staging/bcm2835-codec: Change the default codec res to 32x32
    - staging/vchiq-mmal: Add buffer flags for interlaced video
    - staging/vchiq-mmal: Add parameters for interlaced video support
    - staging/bcm2835-codec: Add support for decoding interlaced streams
    - staging/bcm2835-codec: Correct ENUM_FRAMESIZES stepsize to 2
    - staging/bcm2835-codec: Return buffers to QUEUED not ERROR state
    - staging/bcm2835_codec: Log MMAL flags in hex
    - staging: bcm2835-codec: Allow custom specified strides/bytesperline.
    - staging/vchiq-mmal: Add the deinterlace image effects enums
    - staging/bcm2835_codec: Add support for image_fx to deinterlace
    - staging/bcm2835-v4l2_codec: Fix for encode selection API
    - Add Raspberry Pi PoE+ HAT support
    - configs: Add CAN_PEAK_USB=m
    - ARM: dts: Restore downstream dtbs to Makefile
    - media: rpivid: Avoid returning EINVAL to a G_FMT ioctl
    - net: phy: lan87xx: Allow more time for link detect
    - media: rpivid: Remove unused ctx state variable and defines
    - media: rpivid: Ensure IRQs have completed before uniniting context
    - staging: bcm2835-codec: Allow decode res changed before STREAMON(CAPTURE)
    - staging/bcm2835-codec: Do not send buffers to the VPU unless streaming
    - staging/mmal-vchiq: Rationalise included headers
    - staging: bcm2835-codec: Format changed should trigger drain
    - staging: bcm2835-codec: Signal the firmware to stop on all changes
    - staging/mmal-vchiq: Add module parameter to enable logging.
    - staging: bcm2835-codec: Queue flushed buffers instead of completing
    - staging: mmal-vchiq: Reset buffers_with_vpu on port_enable
    - staging: bcm2835_codec: Correct flushing code for refcounting
    - staging: bcm2835-codec: Ensure all ctrls are set on streamon
    - staging: bcm2835-codec: Add support for H&V Flips to ISP
    - overlays: add support for the MLX90640 thermal camera
    - overlays: Add generic mcp2515 overlay
    - regulator: rpi-panel: Remove get_brightness hook
    - bcm2835_smi_dev: Fix handling of word-odd lengths
    - Revert "mmc: sdhci-iproc: Fix vmmc regulators on iProc"
    - mmc: sdhci-iproc: Fix vmmc regulators (pre-bcm2711)
    - dt-bindings: media: i2c: Add IMX519 CMOS sensor binding
    - media: i2c: Add driver for IMX519 sensor
    - media: i2c: imx519: Advertise embedded data node on media pad 1
    - configs: Add CONFIG_VIDEO_IMX519=m
    - overlays: Add imx519-overlay.dts
    - dtoverlays: Add overlay for ST7735R (160x128) TinyDRM driver
    - dwc_otg: pay attention to qh->interval when rescheduling periodic queues
    - Hifiberry DAC+ADCPro DT overlay: add optional headphone amp
    - Hifiberry DAC+ADCPro: adding optional headphone amp control
    - Add module for 8111h chip used in various CM4 boards
    - drivers/gpio: Add a driver that wraps the PWM API as a GPIO controller
    - rtc: pcf85063: Always clear EXT_TEST from set_time
    - char: vcio: Rewrite as a firmware node child
    - ARM: dts: Make vcio a child of the firmware node
    - ARM: dts: bcm2835_audio missing firmware reference
    - ARM: dts: Delete vestigial vcsm node
    - config: Enable FSFS_FS_SECURITY
    - gpio: bcm-virt: Fix the get() method
    - configs: Add CONFIG_FB_SIMPLE to bcmrpi3_defconfig
    - media: i2c: imx219: Sensor should report RAW color space
    - media: i2c: imx290: Sensor should report RAW color space
    - media: i2c: imx477: Sensor should report RAW color space
    - media: i2c: imx519: Sensor should report RAW color space
    - media: i2c: ov5647: Sensor should report RAW color space
    - media: i2c: ov9281: Sensor should report RAW color space
    - vc04_services: isp: Report input node as wanting full range RAW color 
space
    - media/bcm2835-unicam: Parse pad numbers correctly
    - media/bcm2835-unicam: Add support for configuration via MC API
    - ARM: dts: vc4-kms-v3d: Always disable firmware HDMI
    - staging/bcm2835-camera: Add support for H264_MIN_QP, H264_MAX_QP
    - staging/bcm2835-camera: Add support for MPEG_VIDEO_FORCE_KEY_FRAME
    - ARM: dts: Add Pi Zero 2 support
    - clk-raspberrypi: Support VEC clock
    - dt: Move VEC clock to clk-raspberrypi
    - clk-bcm2835: Remove VEC clock support
    - drm/vc4: Add support for gamma on BCM2711
    - drm/vc4: Add debugfs node that dumps the vc5 gamma PWL entries
    - drm/vc4: hvs: Force modeset on gamma lut change
    - media: i2c: imx477: Add vsync trigger_mode parameter
    - drm/vc4: Relax VEC modeline requirements and add progressive mode support
    - drm/vc4: Make VEC progressive modes readily accessible
    - bcm2835-v4l2-codec: Remove advertised support of VP8
    - ARM: dts: Rename Zero 2 W DT files
    - brcmfmac: Don't promote INFO logging to ERR
    - dtoverlays: Update all image sensor overlays for Media Controller option
    - ARM: dt: Add DT nodes for the WLAN interfaces
    - brcmfmac: Read alternative firmware names from DT
    - ARM: dts: Provide WLAN firmware names for Zero 2 W
    - drm: Check whether the gamma lut has changed before updating
    - brcmfmac: Protect against reprobing
    - drm/vc4: kms: Fix return code check
    - drm/vc4: kms: Move clock request to our HVS state
    - overlays: Add fbtft overlay
    - configs: Regenerate defconfigs
    - configs: Add NTFS3 support
    - configs: Add kernel SMB3 server support
    - config: Set TCA8418 to module
    - overlays: Additional parameters for gpio-poweroff
    - configs: Add TCA6416 driver module
    - drm: Fix double free from checking if gamma lut has been updated
    - drm/vc4: Enable gamma block only when required.
    - drm/vc4: Only add gamma properties once.
    - dtoverlays: Remove i2c0mux and i20if status from edt-ft5406.dtsi
    - drm/vc4: Validate the size of the gamma_lut
    - drm/vc4: Don't try disabling SCDC on Pi0-3.
    - enable several virtual devices for hosting virtual machines
    - configs: add CONFIG_HID_PLAYSTATION=m and CONFIG_PLAYSTATION_FF=y
    - configs: add LEDS_PWM=y
    - configs: Add USB gadget support (for Zero 2 W)
    - media: i2c: ov5647: Support HFLIP and VFLIP
    - drivers: bcm2835_isp: Allow multiple users for the ISP driver.
    - drivers: bcm2835_isp: Fix div by 0 bug.
    - Pass V4L2_CID_MPEG_VIDEO_H264_MIN_QP/MAX_QP to bcm2835-v4l2-codec
    - ARM: dts: Update rpi-400 and cm4 dts to match 4-b
    - spi: spidev: Restore loading from Device Tree
    - drm/vc4: Add support for composite syncs to vc4_dpi
    - drm/vc4: Ensure vc4_hdmi doesn't use 2711 HPD registers on Pi0-3
    - ARM: dts: gpio-ranges property is now required
    - input: edt-ft5x06: Handle unreliable TOUCH_UP events
    - dtoverlays: Use edt-ft5506 for 10 points, instead of edt-ft5x06
    - staging/bcm2835-codec: bytesperline for YUV420/YVU420 needs to be 64
    - media: rpivid: remove min_buffers_needed from src queue
    - staging/bcm2835-codec: Allow a different stride alignment per role
    - drivers: bcm2835_unicam: Add logging message when a frame is dropped.
    - regulator/rpi-panel-attiny: Don't read the LCD power status
    - regulator/rpi-panel-attiny: Use two transactions for I2C read
    - input: edt-ft5x06: Only look at the number of points reported
    - drm/vc4: Move HDMI reset to pm_resume
    - clk: bcm: rpi: Add the BCM283x pixel clock.
    - dt: bcm283x: Change BCM283x HDMI to use firmware clock driver
    - Revert "Revert "overlays: vc4-kms-v3d: Change composite handling""
    - drm/panel-simple: Populate bpc when using panel-dpi
    - drm/panel-simple: When using panel-dpi, update desc
    - drm/panel-simple: Allow the bus format to be read from DT for panel-dpi
    - drm/vc4: dpi: Add option for inverting pixel clock and output enable
    - drm/vc4: dpi: Ensure a default format is selected
    - dt: bcm270x: Add GPIO defines for RGB565 DPI output modes
    - dtoverlays: Add a generic DPI panel overlay for KMS
    - xhci: quirks: add link TRB quirk for VL805
    - xhci: correct room_on_ring() for cases where there is a single segment
    - media: imx219: Advertise embedded data node on media pad 1
    - vc4/drm: Ignore vc4_hdmi->output_enabled for allowing audio (#4759)
    - ARM: dts: Create bcm2711-rpi-cm4s.dts (#4761)
    - xhci: refactor out TRBS_PER_SEGMENT define in runtime code
    - usb: xhci: add VLI_TRB_CACHE_BUG quirk
    - drm/vc4: Fix build without DRM_VC4_HDMI_CEC
    - dt: Create static regulators and clocks for camera nodes
    - dtoverlays: Convert the camera sensor overlays to use the new regs and 
clks.
    - media: i2c: ov5647: Add support for regulator control.
    - dtoverlays: Convert ov5647 to use the regulator framework
    - media: i2c: ov7251: Make the enable GPIO optional.
    - ARM: dts: bcm2711-cm4s Correct i2c0mux to use 0/1 and 28/29 & 2 regulators
    - dtoverlays: Add option to select camera as on CAM0 of CM
    - ASoC:ma120x0p: Increase maximum sample rate to 192KHz
    - staging/bcm2835-isp: Fix cleanup after init fail
    - drm/vc4: kms: Take old state core clock rate into account
    - drm/vc4: hvs: Store channel in variable
    - drm/vc4: hvs: Remove dlist setup duplication
    - drm/vc4: hvs: Move the dlist setup to its own function
    - drm/vc4: hvs: Ignore atomic_flush if we're disabled
    - drm/vc4: plane: Use dlist offset instead of pointer
    - drm/vc4: hvs: Create a shadow dlist
    - drm/vc4: Skip writes to disabled packet RAM
    - drm/edid: Don't clear YUV422 if using deep color
    - drm/edid: Rename drm_hdmi_avi_infoframe_colorspace to _colorimetry
    - drm/vc4: hdmi: Add full range RGB helper
    - drm/vc4: hdmi: Use full range helper in csc functions
    - drm/vc4: hdmi: Move XBAR setup to csc_setup
    - drm/vc4: hdmi: Replace CSC_CTL hardcoded value by defines
    - drm/vc4: hdmi: Define colorspace matrices
    - drm/vc4: hdmi: Change CSC callback prototype
    - drm/vc4: hdmi: Move clock validation to its own function
    - drm/vc4: hdmi: Move clock calculation into its own function
    - drm/vc4: hdmi: Take the sink maximum TMDS clock into account
    - drm/vc4: hdmi: Take bpp into account for the scrambler
    - drm/vc4: hdmi: Always try to have the highest bpc
    - drm/vc4: hdmi: Support HDMI YUV output
    - media: v4l2-ctrls: Add V4L2_CID_NOTIFY_GAINS control
    - media: v4l2-ctrls: Document V4L2_CID_NOTIFY_GAINS control
    - Extending ili9881c driver support for nwe080 panel
    - Enable ili9881 panel and pwm backlight driver by default
    - Add panel overlay for CutiePi
    - dtoverlays: Enable cam1_clock when using tc358743 or irs1125
    - uapi/v4l2-controls: Reset V4L2_CID_USER_BCM2835_ISP_BASE to same as 5.10
    - drm/vc4: hdmi: Fix HDMI monitor detection in polled mode
    - drm/vc4: hdmi: Fix no video output on DVI monitors
    - drm/vc4: Correct interrupt enable bits on hvs4
    - staging/bcm2835-codec: Fix typo
    - media: i2c: ov9281: Increase diff between VTS and max exposure
    - bcm2835-v4l2-isp: Add missing lock initialization
    - configs: Enable Azoteq IQS550/572/525
    - overlays: Add overlay for Azoteq IQS550
    - dtoverlays: Add backlight-gpio parameter to vc4-kms-dpi-generic
    - configs: add CONFIG_LEDS_TRIGGER_PATTERN=m
    - drm/vc4: Fix interrupt masking for HVS5.
    - drm/vc4: Add alpha_blend_mode property to each plane.
    - arm: Fix custom rpi __memset32 and __memset64
    - overlays: Add vl805 overlay
    - arm: Fix annoying .eh_frame section warnings
    - drm/vc4: Disable Gamma control on HVS5 due to issues writing the table
    - drm/vc4: hdmi: Fix clock value used for validating hdmi modes
    - [Config] raspi: updateconfigs after rebase to rpi-5.15.y (2022-01-14)

  * Miscellaneous Ubuntu changes
    - [Packaging] raspi: Initial import of debian.raspi from impish:linux-raspi
      (5.13.0-1014.16)
    - [Packaging] raspi: Initial version of linux-raspi for Jammy
    - SAUCE: arm: dts: Add 'brcm,bcm2835-pl011' compatible for uart0
    - SAUCE: arm: dts: Add 'brcm,bcm2835-gpio' compatible for gpio
    - SAUCE: Revert "cgroup: Disable cgroup "memory" by default"

  [ Ubuntu: 5.15.0-17.17 ]

  * jammy/linux: 5.15.0-17.17 -proposed tracker (LP: #1957809)

linux-raspi (5.15.0-1000.0) jammy; urgency=medium

  * Initial version of linux-raspi for Jammy.

 -- Juerg Haefliger <jue...@canonical.com>  Fri, 28 Jan 2022 14:42:07
+0100

** Changed in: linux-raspi (Ubuntu)
       Status: Confirmed => Fix Released

** CVE added: https://cve.mitre.org/cgi-bin/cvename.cgi?name=2021-4155

** CVE added: https://cve.mitre.org/cgi-bin/cvename.cgi?name=2022-0185

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux-raspi in Ubuntu.
https://bugs.launchpad.net/bugs/1946368

Title:
  HDMI output freezes under current/proposed impish kernels

Status in linux-raspi package in Ubuntu:
  Fix Released
Status in linux-raspi source package in Impish:
  Fix Released

Bug description:
  [Impact]

  The UI of Impish desktop for raspi occasionally freezes which can be
  triggered by playing videos and moving windows around. Seems to happen
  more frequently when using higher resolutions and/or higher refresh
  rates (higher than 1920x1080@60Hz).

  Kernel errors are along the lines of:
  [  513.762138] [drm:drm_crtc_commit_wait [drm]] *ERROR* flip_done timed out
  [  513.762288] [drm:drm_atomic_helper_wait_for_dependencies [drm_kms_helper]] 
*ERROR* [CRTC:76:crtc-3] co
  mmit wait timed out
  [  513.762381] [drm:drm_atomic_helper_wait_for_flip_done [drm_kms_helper]] 
*ERROR* [CRTC:76:crtc-3] flip_
  done timed out

  [Test Case]

  Install current Impish desktop for raspi on a Pi 4. Use a high-
  refresh/resolution monitor. Play videos, move windows around.

  [Fix]

  The Pi foundation identified a couple of upstream vc4 commits that
  seem to interfere with their downstream patches. Revert those to match
  the Pi foundations currently released 5.10 kernel.

  [Where Problems Could Occur]

  The changes are confined to the vc4 driver, so problems would only
  show up if that driver is in use. Which is only the case for the
  Ubuntu raspi desktop image, so server images should not be impacted at
  all.

  [Original Description]

  Under the current (5.13.0-1007.8) or proposed (5.13.0-1008.9) kernels
  for the Ubuntu Pi pre-installed desktop impish release, the HDMI
  output occasionally freezes. A known workaround at this time is to
  change the following line in /boot/firmware/config.txt:

  dtoverlay=vc4-kms-v3d

  To the following:

  dtoverlay=vc4-fkms-v3d

  In other words, to use the "fake" KMS overlay (fkms) instead of the
  "full" KMS overlay (kms).

  I've been unable to determine a reliable method of guaranteeing a
  freeze, but it appears to occur much more readily when video playback
  is occurring, and when other interactions (especially moving windows
  around, minimizing, restoring) occurs simultaneously.  Display suspend
  also periodically causes the same hang, which made me suspect this
  might be related to #1944397 but it appears that had a separate cause
  (now resolved).

  The following dmesg outputs have been observed immediately after the
  display hang; this one from 1007.8:

  [  513.762138] [drm:drm_crtc_commit_wait [drm]] *ERROR* flip_done timed out
  [  513.762288] [drm:drm_atomic_helper_wait_for_dependencies [drm_kms_helper]] 
*ERROR* [CRTC:76:crtc-3] co
  mmit wait timed out
  [  513.762381] [drm:drm_atomic_helper_wait_for_flip_done [drm_kms_helper]] 
*ERROR* [CRTC:76:crtc-3] flip_
  done timed out
  [  524.002211] [drm:drm_crtc_commit_wait [drm]] *ERROR* flip_done timed out
  [  524.002404] [drm:drm_atomic_helper_wait_for_dependencies [drm_kms_helper]] 
*ERROR* [PLANE:205:plane-25
  ] commit wait timed out
  [  534.242499] [drm:drm_crtc_commit_wait [drm]] *ERROR* flip_done timed out
  [  534.242657] vc4-drm gpu: [drm] *ERROR* Timed out waiting for commit
  [  534.250685] ------------[ cut here ]------------
  [  534.250701] refcount_t: underflow; use-after-free.
  [  534.250735] WARNING: CPU: 1 PID: 120 at lib/refcount.c:87 
refcount_dec_not_one+0xa0/0xbc
  [  534.250758] Modules linked in: rfcomm cmac algif_hash algif_skcipher 
af_alg hci_uart btqca btrtl btbcm
   btintel bnep snd_soc_hdmi_codec vc4 btsdio snd_soc_core input_leds bluetooth 
snd_compress snd_bcm2835(C)
   snd_pcm_dmaengine ecdh_generic ecc snd_pcm brcmfmac snd_seq_midi 
snd_seq_midi_event bcm2835_codec(C) bcm
  2835_isp(C) bcm2835_v4l2(C) brcmutil snd_rawmidi v4l2_mem2mem 
bcm2835_mmal_vchiq(C) videobuf2_dma_contig
  videobuf2_vmalloc cfg80211 videobuf2_memops videobuf2_v4l2 snd_seq 
videobuf2_common videodev snd_seq_devi
  ce mc snd_timer vc_sm_cma(C) raspberrypi_hwmon snd bcm2835_gpiomem rpivid_mem 
uio_pdrv_genirq uio sch_fq_
  codel ip_tables x_tables autofs4 btrfs blake2b_generic xor xor_neon 
zstd_compress hid_generic usbhid raid
  6_pq libcrc32c dm_mirror dm_region_hash dm_log spidev dwc2 v3d roles udc_core 
gpu_sched crct10dif_ce i2c_
  brcmstb i2c_bcm2835 spi_bcm2835 drm_kms_helper syscopyarea xhci_pci 
xhci_pci_renesas sysfillrect sysimgbl
  t fb_sys_fops cec drm phy_generic ac97_bus aes_arm64
  [  534.251066] CPU: 1 PID: 120 Comm: kworker/1:2 Tainted: G        WC        
5.13.0-1007-raspi #8-Ubuntu
  [  534.251076] Hardware name: Raspberry Pi 400 Rev 1.1 (DT)
  [  534.251083] Workqueue: events drm_mode_rmfb_work_fn [drm]
  [  534.251239] pstate: 60400005 (nZCv daif +PAN -UAO -TCO BTYPE=--)
  [  534.251248] pc : refcount_dec_not_one+0xa0/0xbc
  [  534.251257] lr : refcount_dec_not_one+0xa0/0xbc
  [  534.251265] sp : ffff8000118cbb50
  [  534.251269] x29: ffff8000118cbb50 x28: ffff6cf7ee894400 x27: 
ffff6cf80502e000
  [  534.251285] x26: ffff6cf80502e000 x25: 0000000000000006 x24: 
ffff6cf7ee94c500
  [  534.251300] x23: ffffa94dff246018 x22: ffff6cf833068880 x21: 
ffff6cf805027c80
  [  534.251314] x20: ffff6cf88ead75ac x19: ffff6cf88ead7400 x18: 
0000000000000000
  [  534.251328] x17: 0000000000000000 x16: ffffa94e0a243314 x15: 
0000000000000000
  [  534.251342] x14: 0000000000000000 x13: 0000000000000030 x12: 
ffff800010035000
  [  534.251356] x11: ffffa94e0b30dfd0 x10: 00000000fffff000 x9 : 
ffffa94e09d09f54
  [  534.251370] x8 : 00000000ffffefff x7 : ffffa94e0b30dfd0 x6 : 
0000000000000000
  [  534.251384] x5 : ffff6cf8b799f948 x4 : 0000000000000000 x3 : 
0000000000000027
  [  534.251397] x2 : 0000000000000000 x1 : 0000000000000000 x0 : 
ffff6cf800abec80
  [  534.251411] Call trace:
  [  534.251416]  refcount_dec_not_one+0xa0/0xbc
  [  534.251424]  vc4_bo_dec_usecnt+0x2c/0x120 [vc4]
  [  534.251473]  vc4_cleanup_fb+0x3c/0x4c [vc4]
  [  534.251518]  drm_atomic_helper_cleanup_planes+0x74/0xa0 [drm_kms_helper]
  [  534.251604]  vc4_atomic_commit_tail+0x24c/0x36c [vc4]
  [  534.251648]  commit_tail+0xac/0x190 [drm_kms_helper]
  [  534.251723]  drm_atomic_helper_commit+0x168/0x380 [drm_kms_helper]
  [  534.251796]  drm_atomic_commit+0x58/0x70 [drm]
  [  534.251936]  atomic_remove_fb+0x2a8/0x2f4 [drm]
  [  534.252073]  drm_framebuffer_remove+0x164/0x18c [drm]
  [  534.252209]  drm_mode_rmfb_work_fn+0x50/0x70 [drm]
  [  534.252346]  process_one_work+0x200/0x4d0
  [  534.252359]  worker_thread+0x2c8/0x470
  [  534.252367]  kthread+0x12c/0x140
  [  534.252374]  ret_from_fork+0x10/0x3c
  [  534.252386] ---[ end trace a97341262fc57e44 ]---

  And a similar one from 1008.9 (note that most of the time, the stack
  trace *doesn't* appear hence I'm not sure if it's related to the
  display freeze itself, or something auxiliary):

  [  221.914617] [drm:drm_atomic_helper_wait_for_flip_done [drm_kms_helper]] 
*ERROR* [CRTC:76:crtc-3] flip_done timed out
  [  221.914617] [drm:drm_crtc_commit_wait [drm]] *ERROR* flip_done timed out
  [  221.914795] [drm:drm_atomic_helper_wait_for_dependencies [drm_kms_helper]] 
*ERROR* [CRTC:76:crtc-3] commit wait timed out
  [  232.154711] [drm:drm_crtc_commit_wait [drm]] *ERROR* flip_done timed out
  [  232.154898] vc4-drm gpu: [drm] *ERROR* Timed out waiting for commit

  I can produce this same stack trace, but *without* a corresponding
  freeze by manually locking the  desktop (Super+L) and waiting for the
  display fade. However, after the stack trace appears, one can press a
  key to bring the display back and login again happily. Here are
  several repeated traces from such activity under the 1008.9 proposed
  kernel:

  [ 1043.431061] [drm:drm_atomic_helper_wait_for_flip_done [drm_kms_helper]] 
*ERROR* [CRTC:76:crtc-3] flip_done timed out
  [ 1043.431136] [drm:drm_crtc_commit_wait [drm]] *ERROR* flip_done timed out
  [ 1043.431384] [drm:drm_atomic_helper_wait_for_dependencies [drm_kms_helper]] 
*ERROR* [CRTC:76:crtc-3] commit wait timed out
  [ 1053.671415] [drm:drm_crtc_commit_wait [drm]] *ERROR* flip_done timed out
  [ 1053.671705] [drm:drm_atomic_helper_wait_for_dependencies [drm_kms_helper]] 
*ERROR* [PLANE:70:plane-3] commit wait timed out
  [ 1063.911800] [drm:drm_crtc_commit_wait [drm]] *ERROR* flip_done timed out
  [ 1063.912147] vc4-drm gpu: [drm] *ERROR* Timed out waiting for commit
  [ 1181.162739] [drm:drm_atomic_helper_wait_for_flip_done [drm_kms_helper]] 
*ERROR* [CRTC:76:crtc-3] flip_done timed out
  [ 1181.418774] [drm:drm_crtc_commit_wait [drm]] *ERROR* flip_done timed out
  [ 1181.419072] [drm:drm_atomic_helper_wait_for_dependencies [drm_kms_helper]] 
*ERROR* [CRTC:76:crtc-3] commit wait timed out
  [ 1191.658996] [drm:drm_crtc_commit_wait [drm]] *ERROR* flip_done timed out
  [ 1191.659289] [drm:drm_atomic_helper_wait_for_dependencies [drm_kms_helper]] 
*ERROR* [PLANE:70:plane-3] commit wait timed out
  [ 1201.899168] [drm:drm_crtc_commit_wait [drm]] *ERROR* flip_done timed out
  [ 1201.899438] vc4-drm gpu: [drm] *ERROR* Timed out waiting for commit
  [ 1332.461450] [drm:drm_atomic_helper_wait_for_flip_done [drm_kms_helper]] 
*ERROR* [CRTC:76:crtc-3] flip_done timed out
  [ 1332.461460] [drm:drm_crtc_commit_wait [drm]] *ERROR* flip_done timed out
  [ 1332.461717] [drm:drm_atomic_helper_wait_for_dependencies [drm_kms_helper]] 
*ERROR* [CRTC:76:crtc-3] commit wait timed out
  [ 1342.701602] [drm:drm_crtc_commit_wait [drm]] *ERROR* flip_done timed out
  [ 1342.701890] [drm:drm_atomic_helper_wait_for_dependencies [drm_kms_helper]] 
*ERROR* [PLANE:70:plane-3] commit wait timed out
  [ 1352.941798] [drm:drm_crtc_commit_wait [drm]] *ERROR* flip_done timed out
  [ 1352.942067] vc4-drm gpu: [drm] *ERROR* Timed out waiting for commit

  Note that even when the display is frozen (and cannot be resurrected),
  only the display driver appears to crash; the system remains
  operational (at least for some time) happily responding to SSH login
  requests or, if video is playing, continuing audio output.

  The same occurs with the current linux-firmware-raspi2 release (which
  the above stack traces were taken from), or with the latest firmware
  (installed from an experimental package in my
  https://launchpad.net/~waveform/+archive/ubuntu/firmware PPA).

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-raspi/+bug/1946368/+subscriptions


-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to