1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
From 25b6fdbc06c38645e92db8db59c1ebfc5c0b7d59 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Wed, 1 Feb 2017 17:10:09 -0800
Subject: [PATCH 112/454] 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,
|