[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 1/2] hw/misc/bcm2835_property: Fix framebuffer with recent RPi ke
From: |
Benjamin Herrenschmidt |
Subject: |
[PATCH 1/2] hw/misc/bcm2835_property: Fix framebuffer with recent RPi kernels |
Date: |
Sun, 17 Oct 2021 18:48:32 +1100 |
User-agent: |
Evolution 3.36.5-0ubuntu1 |
The framebuffer driver fails to initialize with recent Raspberry Pi
kernels, such as the ones shipped in the current RaspiOS images
(with the out of tree bcm2708_fb.c driver)
The reason is that this driver uses a new firmware call to query the
number of displays, and the fallback when this call fails is broken.
So implement the call and claim we have exactly one display
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
---
hw/misc/bcm2835_property.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/hw/misc/bcm2835_property.c b/hw/misc/bcm2835_property.c
index 73941bdae9..b958fa6a5c 100644
--- a/hw/misc/bcm2835_property.c
+++ b/hw/misc/bcm2835_property.c
@@ -269,6 +269,10 @@ static void
bcm2835_property_mbox_push(BCM2835PropertyState *s, uint32_t value)
stl_le_phys(&s->dma_as, value + 12, 0);
resplen = 4;
break;
+ case 0x00040013: /* Get num displays */
+ stl_le_phys(&s->dma_as, value + 12, 1);
+ resplen = 4;
+ break;
case 0x00060001: /* Get DMA channels */
/* channels 2-5 */
- [PATCH 1/2] hw/misc/bcm2835_property: Fix framebuffer with recent RPi kernels,
Benjamin Herrenschmidt <=