Remove the flag IORESOURCE_BUSY flag from coreboot's framebuffer
resource. It prevents simpledrm from successfully requesting the
range for its own use; resulting in errors such as

[    2.775430] simple-framebuffer simple-framebuffer.0: [drm] could not acquire 
memory region [mem 0x80000000-0x80407fff flags 0x80000200]

As with other uses of simple-framebuffer, the simple-framebuffer
device should only declare it's I/O resources, but not actively use
them.

Signed-off-by: Thomas Zimmermann <[email protected]>
Fixes: 851b4c14532d ("firmware: coreboot: Add coreboot framebuffer driver")
Cc: Samuel Holland <[email protected]>
Cc: Greg Kroah-Hartman <[email protected]>
Cc: Tzung-Bi Shih <[email protected]>
Cc: Brian Norris <[email protected]>
Cc: Julius Werner <[email protected]>
Cc: [email protected]
Cc: <[email protected]> # v4.18+
---
 drivers/firmware/google/framebuffer-coreboot.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/firmware/google/framebuffer-coreboot.c 
b/drivers/firmware/google/framebuffer-coreboot.c
index 4e9177105992..f44183476ed7 100644
--- a/drivers/firmware/google/framebuffer-coreboot.c
+++ b/drivers/firmware/google/framebuffer-coreboot.c
@@ -67,7 +67,7 @@ static int framebuffer_probe(struct coreboot_device *dev)
                return -ENODEV;
 
        memset(&res, 0, sizeof(res));
-       res.flags = IORESOURCE_MEM | IORESOURCE_BUSY;
+       res.flags = IORESOURCE_MEM;
        res.name = "Coreboot Framebuffer";
        res.start = fb->physical_address;
        length = PAGE_ALIGN(fb->y_resolution * fb->bytes_per_line);
-- 
2.52.0

Reply via email to