brcm2708: add linux 4.19 support
[openwrt/staging/mkresin.git] / target / linux / brcm2708 / patches-4.19 / 950-0113-drm-vc4-Add-DRM_DEBUG_ATOMIC-for-the-insides-of-fkms.patch
diff --git a/target/linux/brcm2708/patches-4.19/950-0113-drm-vc4-Add-DRM_DEBUG_ATOMIC-for-the-insides-of-fkms.patch b/target/linux/brcm2708/patches-4.19/950-0113-drm-vc4-Add-DRM_DEBUG_ATOMIC-for-the-insides-of-fkms.patch
new file mode 100644 (file)
index 0000000..c45a21a
--- /dev/null
@@ -0,0 +1,70 @@
+From 94f9a45df23146c709d7a08191e97ee31d6dd8e9 Mon Sep 17 00:00:00 2001
+From: Eric Anholt <eric@anholt.net>
+Date: Wed, 1 Feb 2017 17:10:09 -0800
+Subject: [PATCH 113/703] drm/vc4: Add DRM_DEBUG_ATOMIC for the insides of
+ fkms.
+
+Trying to debug weston on fkms involved figuring out what calls I was
+making to the firmware.
+
+Signed-off-by: Eric Anholt <eric@anholt.net>
+---
+ drivers/gpu/drm/vc4/vc4_firmware_kms.c | 26 ++++++++++++++++++++++++++
+ 1 file changed, 26 insertions(+)
+
+--- a/drivers/gpu/drm/vc4/vc4_firmware_kms.c
++++ b/drivers/gpu/drm/vc4/vc4_firmware_kms.c
+@@ -101,6 +101,11 @@ static int vc4_plane_set_primary_blank(s
+       struct vc4_dev *vc4 = to_vc4_dev(plane->dev);
+       u32 packet = blank;
++
++      DRM_DEBUG_ATOMIC("[PLANE:%d:%s] primary plane %s",
++                       plane->base.id, plane->name,
++                       blank ? "blank" : "unblank");
++
+       return rpi_firmware_property(vc4->firmware,
+                                    RPI_FIRMWARE_FRAMEBUFFER_BLANK,
+                                    &packet, sizeof(packet));
+@@ -148,6 +153,16 @@ static void vc4_primary_plane_atomic_upd
+               WARN_ON_ONCE(vc4_plane->pitch != fb->pitches[0]);
+       }
++      DRM_DEBUG_ATOMIC("[PLANE:%d:%s] primary update %dx%d@%d +%d,%d 0x%08x/%d\n",
++                       plane->base.id, plane->name,
++                       state->crtc_w,
++                       state->crtc_h,
++                       bpp,
++                       state->crtc_x,
++                       state->crtc_y,
++                       bo->paddr + fb->offsets[0],
++                       fb->pitches[0]);
++
+       ret = rpi_firmware_transaction(vc4->firmware,
+                                      RPI_FIRMWARE_CHAN_FB,
+                                      vc4_plane->fbinfo_bus_addr);
+@@ -176,6 +191,15 @@ static void vc4_cursor_plane_atomic_upda
+                             0, 0, /* hotx, hoty */};
+       WARN_ON_ONCE(fb->pitches[0] != state->crtc_w * 4);
++      DRM_DEBUG_ATOMIC("[PLANE:%d:%s] update %dx%d cursor at %d,%d (0x%08x/%d)",
++                       plane->base.id, plane->name,
++                       state->crtc_w,
++                       state->crtc_h,
++                       state->crtc_x,
++                       state->crtc_y,
++                       bo->paddr + fb->offsets[0],
++                       fb->pitches[0]);
++
+       ret = rpi_firmware_property(vc4->firmware,
+                                   RPI_FIRMWARE_SET_CURSOR_STATE,
+                                   &packet_state,
+@@ -198,6 +222,8 @@ static void vc4_cursor_plane_atomic_disa
+       u32 packet_state[] = { false, 0, 0, 0 };
+       int ret;
++      DRM_DEBUG_ATOMIC("[PLANE:%d:%s] disabling cursor", plane->base.id, plane->name);
++
+       ret = rpi_firmware_property(vc4->firmware,
+                                   RPI_FIRMWARE_SET_CURSOR_STATE,
+                                   &packet_state,