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

Revert: bcm2708_fb: Hack out dma support #5648

Merged
merged 2 commits into from
Oct 13, 2023

Conversation

popcornmix
Copy link
Collaborator

This was hacked out for pi5 bringup, but breaks vclog on Pi2/3.

I've tested with this back in on Pi3, Pi4, and Pi5. (with kms driver disabled, as kms stops bcm2708_fb from being used).

Pi3 and Pi4 work correctly. vclog now uses the dma interface correctly.

Pi5 fails harmlessly with vclog.

As the bootloader firmware only reports the initial framebuffer through RPI_FIRMWARE_GET_VC_MEMORY
(and actually uses the uncached alias, where bcm2708_fb expects cached), any dma ioctl's just fail with Invalid memory access.

Fixing the bootloader to report the expected VC_MEMORY range does allow the vc_mem_copy code path to run and it goes badly, as this driver directly writes DMA control blocks which have changed on bcm2712.

I suspect this should be updated to use a higher level dma interface, but if that comes with the vc_mem driver, we can just drop (or copy) support here. After that point RPI_FIRMWARE_GET_VC_MEMORY could be fixed.

@pelwell pelwell merged commit 392b984 into raspberrypi:rpi-6.1.y Oct 13, 2023
popcornmix added a commit to raspberrypi/firmware that referenced this pull request Oct 17, 2023
kernel: drivers: media: rp1_cfe: Fix link validate test for pixel format
See: raspberrypi/linux#5657

kernel: drm/vc4: Correct address offset for planes with src_[xy] offsets
See: raspberrypi/linux#5654

kernel: input: touchscreen: edt-ft5x06: Suppress bogus data on startup
See: raspberrypi/linux#5645

kernel: vc_mem: Add the DMA memcpy support from bcm2708_fb
See: raspberrypi/linux#5651

kernel: dts: bcm2712: Set default I2C baudrates to 100kHz
See: raspberrypi/linux#5653

kernel: MCP23017: allow specification of the i2c bus
See: raspberrypi/linux#5650

kernel: Revert: bcm2708_fb: Hack out dma support
See: raspberrypi/linux#5648

firmware: config: Add [pi5] to config.txt on 2711 and earlier platforms

userland: bcm_host: Update kms/fkms check for pi5
popcornmix added a commit to raspberrypi/rpi-firmware that referenced this pull request Oct 17, 2023
kernel: drivers: media: rp1_cfe: Fix link validate test for pixel format
See: raspberrypi/linux#5657

kernel: drm/vc4: Correct address offset for planes with src_[xy] offsets
See: raspberrypi/linux#5654

kernel: input: touchscreen: edt-ft5x06: Suppress bogus data on startup
See: raspberrypi/linux#5645

kernel: vc_mem: Add the DMA memcpy support from bcm2708_fb
See: raspberrypi/linux#5651

kernel: dts: bcm2712: Set default I2C baudrates to 100kHz
See: raspberrypi/linux#5653

kernel: MCP23017: allow specification of the i2c bus
See: raspberrypi/linux#5650

kernel: Revert: bcm2708_fb: Hack out dma support
See: raspberrypi/linux#5648

firmware: config: Add [pi5] to config.txt on 2711 and earlier platforms

userland: bcm_host: Update kms/fkms check for pi5
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.

2 participants