OSDN Git Service

drm/omap: dispc: improve debug print of display flags
authorTomi Valkeinen <tomi.valkeinen@ti.com>
Wed, 23 Nov 2016 11:23:42 +0000 (13:23 +0200)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Mon, 3 Apr 2017 09:36:40 +0000 (12:36 +0300)
Instead of printing 0/1 for display flags like vsync high/low, use a
tri-state print (-1/0/1) to indicate the "undefined" state.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/gpu/drm/omapdrm/dss/dispc.c

index 8324105..2e6a71d 100644 (file)
@@ -3229,6 +3229,16 @@ static void _dispc_mgr_set_lcd_timings(enum omap_channel channel,
        }
 }
 
+static int vm_flag_to_int(enum display_flags flags, enum display_flags high,
+       enum display_flags low)
+{
+       if (flags & high)
+               return 1;
+       if (flags & low)
+               return -1;
+       return 0;
+}
+
 /* change name to mode? */
 static void dispc_mgr_set_timings(enum omap_channel channel,
                           const struct videomode *vm)
@@ -3258,11 +3268,11 @@ static void dispc_mgr_set_timings(enum omap_channel channel,
                        t.hsync_len, t.hfront_porch, t.hback_porch,
                        t.vsync_len, t.vfront_porch, t.vback_porch);
                DSSDBG("vsync_level %d hsync_level %d data_pclk_edge %d de_level %d sync_pclk_edge %d\n",
-                       !!(t.flags & DISPLAY_FLAGS_VSYNC_HIGH),
-                       !!(t.flags & DISPLAY_FLAGS_HSYNC_HIGH),
-                       !!(t.flags & DISPLAY_FLAGS_PIXDATA_POSEDGE),
-                       !!(t.flags & DISPLAY_FLAGS_DE_HIGH),
-                       !!(t.flags & DISPLAY_FLAGS_SYNC_POSEDGE));
+                       vm_flag_to_int(t.flags, DISPLAY_FLAGS_VSYNC_HIGH, DISPLAY_FLAGS_VSYNC_LOW),
+                       vm_flag_to_int(t.flags, DISPLAY_FLAGS_HSYNC_HIGH, DISPLAY_FLAGS_HSYNC_LOW),
+                       vm_flag_to_int(t.flags, DISPLAY_FLAGS_PIXDATA_POSEDGE, DISPLAY_FLAGS_PIXDATA_NEGEDGE),
+                       vm_flag_to_int(t.flags, DISPLAY_FLAGS_DE_HIGH, DISPLAY_FLAGS_DE_LOW),
+                       vm_flag_to_int(t.flags, DISPLAY_FLAGS_SYNC_POSEDGE, DISPLAY_FLAGS_SYNC_NEGEDGE));
 
                DSSDBG("hsync %luHz, vsync %luHz\n", ht, vt);
        } else {