Skip to content

drm/vc4: plane: Increase UPM allocation size for YUV444#6791

Merged
pelwell merged 2 commits intoraspberrypi:rpi-6.12.yfrom
6by9:rpi-6.12.y-drm2
Apr 16, 2025
Merged

drm/vc4: plane: Increase UPM allocation size for YUV444#6791
pelwell merged 2 commits intoraspberrypi:rpi-6.12.yfrom
6by9:rpi-6.12.y-drm2

Conversation

@6by9
Copy link
Copy Markdown
Contributor

@6by9 6by9 commented Apr 15, 2025

YUV444 support isn't officially supported by the hardware, but worked if you told it the image was YUV422 with double the width and altered chroma scaling.

Adding BCM2712 support gained a fetcher memory (UPM). The code handling UPM allocations didn't have a case for YUV444, so only allocated based on the base width, and therefore underflowed.

Increase the UPM allocation size for the luma plane of YUV444 to match.

Fixes: 076eeda ("drm/vc4: hvs: Add support for BCM2712 HVS")

@6by9
Copy link
Copy Markdown
Contributor Author

6by9 commented Apr 15, 2025

@cillian64

6by9 added 2 commits April 15, 2025 17:55
YUV444 support isn't officially supported by the hardware, but
worked if you told it the image was YUV422 with double the width
and altered chroma scaling.

Adding BCM2712 support gained a fetcher memory (UPM). The code
handling UPM allocations didn't have a case for YUV444, so only
allocated based on the base width, and therefore underflowed.

Increase the UPM allocation size for the luma plane of YUV444
to match.

Fixes: 076eeda ("drm/vc4: hvs: Add support for BCM2712 HVS")
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
GEN6 requires the luma scaler to be enabled for YUV444 to
be rendered at 1:1, otherwise the source plane isn't rendered.

Fixes: 076eeda ("drm/vc4: hvs: Add support for BCM2712 HVS")
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
@6by9 6by9 force-pushed the rpi-6.12.y-drm2 branch from f0d14d4 to 96e7c55 Compare April 15, 2025 16:55
@cillian64
Copy link
Copy Markdown
Contributor

Confirmed the latest patches fixes the issue. Thanks!

@pelwell pelwell merged commit ef79eea into raspberrypi:rpi-6.12.y Apr 16, 2025
12 of 13 checks passed
popcornmix added a commit to raspberrypi/firmware that referenced this pull request Apr 26, 2025
kernel: lockdep fixes for imx708 and imx477
See: raspberrypi/linux#6813

kernel: drm/vc4: plane: Fix incorrect handling of GEN_6_D in vc4_plane_async_set_fb
See: raspberrypi/linux#6811

kernel: configs: Enable UNICODE support (for filesystems)
See: raspberrypi/linux#6809

kernel: configs: Enable the EROFS read-only filesystem
See: raspberrypi/linux#6806

kernel: overlays: Add aht20 support to i2c-sensor
See: raspberrypi/linux#6805

kernel: 6.12/iob/topic/imx335
See: raspberrypi/linux#6804

kernel: hwmon: aht10: Fix AHT20 initialization
See: raspberrypi/linux#6803

kernel: drm/vc4: plane: Use nearest neighbour filter with YUV444 workaround
See: raspberrypi/linux#6796

kernel: dtoverlays: Create Pi5 variant of tc358743 overlay
See: raspberrypi/linux#6795

kernel: usb: xhci: default to Intel scheme for calculating U1/U2 timeouts
See: raspberrypi/linux#6794

kernel: Add TCS3472 and VEML6040 sensor support (and a few others)
See: raspberrypi/linux#6448

kernel: drm/vc4: plane: Increase UPM allocation size for YUV444
See: raspberrypi/linux#6791

kernel: media: i2c: imx219: Restore the 1920x1080 to using a 1:1 PAR
See: raspberrypi/linux#6793
popcornmix added a commit to raspberrypi/rpi-firmware that referenced this pull request Apr 26, 2025
kernel: lockdep fixes for imx708 and imx477
See: raspberrypi/linux#6813

kernel: drm/vc4: plane: Fix incorrect handling of GEN_6_D in vc4_plane_async_set_fb
See: raspberrypi/linux#6811

kernel: configs: Enable UNICODE support (for filesystems)
See: raspberrypi/linux#6809

kernel: configs: Enable the EROFS read-only filesystem
See: raspberrypi/linux#6806

kernel: overlays: Add aht20 support to i2c-sensor
See: raspberrypi/linux#6805

kernel: 6.12/iob/topic/imx335
See: raspberrypi/linux#6804

kernel: hwmon: aht10: Fix AHT20 initialization
See: raspberrypi/linux#6803

kernel: drm/vc4: plane: Use nearest neighbour filter with YUV444 workaround
See: raspberrypi/linux#6796

kernel: dtoverlays: Create Pi5 variant of tc358743 overlay
See: raspberrypi/linux#6795

kernel: usb: xhci: default to Intel scheme for calculating U1/U2 timeouts
See: raspberrypi/linux#6794

kernel: Add TCS3472 and VEML6040 sensor support (and a few others)
See: raspberrypi/linux#6448

kernel: drm/vc4: plane: Increase UPM allocation size for YUV444
See: raspberrypi/linux#6791

kernel: media: i2c: imx219: Restore the 1920x1080 to using a 1:1 PAR
See: raspberrypi/linux#6793
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants