summaryrefslogtreecommitdiff
path: root/tools/intel_reg_decode.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/intel_reg_decode.c')
-rw-r--r--tools/intel_reg_decode.c207
1 files changed, 121 insertions, 86 deletions
diff --git a/tools/intel_reg_decode.c b/tools/intel_reg_decode.c
index 71f3ead6..c6246ef1 100644
--- a/tools/intel_reg_decode.c
+++ b/tools/intel_reg_decode.c
@@ -26,6 +26,7 @@
*/
#include <errno.h>
+#include <stdarg.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
@@ -38,13 +39,45 @@
#include "intel_reg_spec.h"
+/**
+ * DEBUGSTRING:
+ * @result: character string where to write
+ * @len: maximum number of bytes to write
+ * @reg: register offset
+ * @val: register value
+ * @devid: PCI device ID
+ *
+ * Print the decoded representation of the register value into @result.
+ *
+ * Returns: Number of bytes written to @result
+ */
#define _DEBUGSTRING(func) \
- void func(char *result, int len, int reg, uint32_t val, uint32_t devid)
+ int func(char *result, int len, int reg, uint32_t val, uint32_t devid)
#define DEBUGSTRING(func) static _DEBUGSTRING(func)
+/* snprintf that returns 0 when the thing didn't fit */
+static int __attribute__((format(printf, 3, 4)))
+z_snprintf(char *str, size_t size, const char *fmt, ...)
+{
+ va_list ap;
+ int ret;
+
+ va_start(ap, fmt);
+ ret = vsnprintf(str, size, fmt, ap);
+ va_end(ap);
+
+ if (ret >= size) {
+ fprintf(stderr, "snprintf() returned %d, expected < %zu\n",
+ ret, size);
+ return 0;
+ }
+
+ return ret;
+}
+
DEBUGSTRING(i830_16bit_func)
{
- snprintf(result, len, "0x%04x", (uint16_t) val);
+ return z_snprintf(result, len, "0x%04x", (uint16_t) val);
}
DEBUGSTRING(i830_debug_dcc)
@@ -52,7 +85,7 @@ DEBUGSTRING(i830_debug_dcc)
const char *addressing = NULL;
if (!IS_MOBILE(devid))
- return;
+ return 0;
if (IS_GEN4(devid)) {
if (val & (1 << 1))
@@ -76,7 +109,7 @@ DEBUGSTRING(i830_debug_dcc)
}
}
- snprintf(result, len, "%s, XOR randomization: %sabled, XOR bit: %d",
+ return z_snprintf(result, len, "%s, XOR randomization: %sabled, XOR bit: %d",
addressing,
(val & (1 << 10)) ? "dis" : "en",
(val & (1 << 9)) ? 17 : 11);
@@ -101,7 +134,7 @@ DEBUGSTRING(i830_debug_chdecmisc)
break;
}
- snprintf(result, len,
+ return z_snprintf(result, len,
"%s, ch2 enh %sabled, ch1 enh %sabled, "
"ch0 enh %sabled, "
"flex %sabled, ep %spresent", enhmodesel,
@@ -114,24 +147,24 @@ DEBUGSTRING(i830_debug_chdecmisc)
DEBUGSTRING(i830_debug_xyminus1)
{
- snprintf(result, len, "%d, %d", (val & 0xffff) + 1,
+ return z_snprintf(result, len, "%d, %d", (val & 0xffff) + 1,
((val & 0xffff0000) >> 16) + 1);
}
DEBUGSTRING(i830_debug_yxminus1)
{
- snprintf(result, len, "%d, %d", ((val & 0xffff0000) >> 16) + 1,
+ return z_snprintf(result, len, "%d, %d", ((val & 0xffff0000) >> 16) + 1,
(val & 0xffff) + 1);
}
DEBUGSTRING(i830_debug_xy)
{
- snprintf(result, len, "%d, %d", (val & 0xffff), ((val & 0xffff0000) >> 16));
+ return z_snprintf(result, len, "%d, %d", (val & 0xffff), ((val & 0xffff0000) >> 16));
}
DEBUGSTRING(i830_debug_dspstride)
{
- snprintf(result, len, "%d bytes", val);
+ return z_snprintf(result, len, "%d bytes", val);
}
DEBUGSTRING(i830_debug_dspcntr)
@@ -139,9 +172,9 @@ DEBUGSTRING(i830_debug_dspcntr)
const char *enabled = val & DISPLAY_PLANE_ENABLE ? "enabled" : "disabled";
char plane = val & DISPPLANE_SEL_PIPE_B ? 'B' : 'A';
if (HAS_PCH_SPLIT(devid) || IS_BROXTON(devid))
- snprintf(result, len, "%s", enabled);
+ return z_snprintf(result, len, "%s", enabled);
else
- snprintf(result, len, "%s, pipe %c", enabled, plane);
+ return z_snprintf(result, len, "%s, pipe %c", enabled, plane);
}
DEBUGSTRING(i830_debug_pipeconf)
@@ -157,7 +190,7 @@ DEBUGSTRING(i830_debug_pipeconf)
else
bit30 = val & I965_PIPECONF_ACTIVE ? "active" : "inactive";
- buf_len = snprintf(buf, sizeof(buf), "%s, %s", enabled, bit30);
+ buf_len = z_snprintf(buf, sizeof(buf), "%s, %s", enabled, bit30);
if (HAS_PCH_SPLIT(devid) || IS_BROXTON(devid)) {
const char *interlace;
@@ -190,7 +223,7 @@ DEBUGSTRING(i830_debug_pipeconf)
break;
}
if (buf_len < sizeof(buf))
- buf_len += snprintf(&buf[buf_len], sizeof(buf) - buf_len,
+ buf_len += z_snprintf(&buf[buf_len], sizeof(buf) - buf_len,
", %s", interlace);
} else if (IS_GEN4(devid) || IS_VALLEYVIEW(devid) ||
IS_CHERRYVIEW(devid)) {
@@ -217,7 +250,7 @@ DEBUGSTRING(i830_debug_pipeconf)
break;
}
if (buf_len < sizeof(buf))
- buf_len += snprintf(&buf[buf_len], sizeof(buf) - buf_len,
+ buf_len += z_snprintf(&buf[buf_len], sizeof(buf) - buf_len,
", %s", interlace);
}
@@ -240,7 +273,7 @@ DEBUGSTRING(i830_debug_pipeconf)
break;
}
if (buf_len < sizeof(buf))
- buf_len += snprintf(&buf[buf_len], sizeof(buf) - buf_len,
+ buf_len += z_snprintf(&buf[buf_len], sizeof(buf) - buf_len,
", %s", rotation);
}
@@ -265,11 +298,11 @@ DEBUGSTRING(i830_debug_pipeconf)
break;
}
if (buf_len < sizeof(buf))
- buf_len += snprintf(&buf[buf_len], sizeof(buf) - buf_len,
+ buf_len += z_snprintf(&buf[buf_len], sizeof(buf) - buf_len,
", %s", bpc);
}
- snprintf(result, len, "%s", buf);
+ return z_snprintf(result, len, "%s", buf);
}
DEBUGSTRING(i830_debug_pipestat)
@@ -323,7 +356,7 @@ DEBUGSTRING(i830_debug_pipestat)
val & VBLANK_INT_STATUS ? " VBLANK_INT_STATUS" : "";
const char *_OREG_UPDATE_STATUS =
val & OREG_UPDATE_STATUS ? " OREG_UPDATE_STATUS" : "";
- snprintf(result, len,
+ return z_snprintf(result, len,
"status:%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s",
_FIFO_UNDERRUN,
_CRC_ERROR_ENABLE,
@@ -366,41 +399,41 @@ DEBUGSTRING(ivb_debug_port)
drrs = "high";
break;
}
- snprintf(result, len, "HW DRRS %s",
+ return z_snprintf(result, len, "HW DRRS %s",
drrs);
}
DEBUGSTRING(i830_debug_hvtotal)
{
- snprintf(result, len, "%d active, %d total",
+ return z_snprintf(result, len, "%d active, %d total",
(val & 0xffff) + 1,
((val & 0xffff0000) >> 16) + 1);
}
DEBUGSTRING(i830_debug_hvsyncblank)
{
- snprintf(result, len, "%d start, %d end",
+ return z_snprintf(result, len, "%d start, %d end",
(val & 0xffff) + 1,
((val & 0xffff0000) >> 16) + 1);
}
DEBUGSTRING(i830_debug_vgacntrl)
{
- snprintf(result, len, "%s",
+ return z_snprintf(result, len, "%s",
val & VGA_DISP_DISABLE ? "disabled" : "enabled");
}
DEBUGSTRING(i830_debug_fp)
{
if (IS_PINEVIEW(devid)) {
- snprintf(result, len, "n = %d, m1 = %d, m2 = %d",
+ return z_snprintf(result, len, "n = %d, m1 = %d, m2 = %d",
ffs((val & FP_N_IGD_DIV_MASK) >>
FP_N_DIV_SHIFT) - 1,
((val & FP_M1_DIV_MASK) >> FP_M1_DIV_SHIFT),
((val & FP_M2_IGD_DIV_MASK) >>
FP_M2_DIV_SHIFT));
}
- snprintf(result, len, "n = %d, m1 = %d, m2 = %d",
+ return z_snprintf(result, len, "n = %d, m1 = %d, m2 = %d",
((val & FP_N_DIV_MASK) >> FP_N_DIV_SHIFT),
((val & FP_M1_DIV_MASK) >> FP_M1_DIV_SHIFT),
((val & FP_M2_DIV_MASK) >> FP_M2_DIV_SHIFT));
@@ -424,7 +457,7 @@ DEBUGSTRING(i830_debug_vga_pd)
vga1_p1 = ((val & VGA1_PD_P1_MASK) >> VGA1_PD_P1_SHIFT) + 2;
vga1_p2 = (val & VGA1_PD_P2_DIV_4) ? 4 : 2;
- snprintf(result, len, "vga0 p1 = %d, p2 = %d, vga1 p1 = %d, p2 = %d",
+ return z_snprintf(result, len, "vga0 p1 = %d, p2 = %d, vga1 p1 = %d, p2 = %d",
vga0_p1, vga0_p2, vga1_p1, vga1_p2);
}
@@ -446,12 +479,12 @@ DEBUGSTRING(i830_debug_pp_status)
break;
}
- snprintf(result, len, "%s, %s, sequencing %s", status, ready, seq);
+ return z_snprintf(result, len, "%s, %s, sequencing %s", status, ready, seq);
}
DEBUGSTRING(i830_debug_pp_control)
{
- snprintf(result, len, "power target: %s",
+ return z_snprintf(result, len, "power target: %s",
val & POWER_TARGET_ON ? "on" : "off");
}
@@ -539,7 +572,7 @@ DEBUGSTRING(i830_debug_dpll)
sdvoextra[0] = '\0';
}
- snprintf(result, len, "%s, %s%s, %s clock, %s mode, p1 = %d, "
+ return z_snprintf(result, len, "%s, %s%s, %s clock, %s mode, p1 = %d, "
"p2 = %d%s%s",
enabled, dvomode, vgamode, clock, mode, p1, p2,
fpextra, sdvoextra);
@@ -556,7 +589,7 @@ DEBUGSTRING(i830_debug_dpll_test)
const char *dpllbinput = val & DPLLB_INPUT_BUFFER_ENABLE ?
"" : ", DPLLB input buffer disabled";
- snprintf(result, len, "%s%s%s%s%s%s",
+ return z_snprintf(result, len, "%s%s%s%s%s%s",
dpllandiv, dpllamdiv, dpllainput,
dpllbndiv, dpllbmdiv, dpllbinput);
}
@@ -572,10 +605,10 @@ DEBUGSTRING(i830_debug_adpa)
disp_pipe = val & (1<<29) ? 'B' : 'A';
if (HAS_PCH_SPLIT(devid))
- snprintf(result, len, "%s, transcoder %c, %chsync, %cvsync",
+ return z_snprintf(result, len, "%s, transcoder %c, %chsync, %cvsync",
enable, disp_pipe, hsync, vsync);
else
- snprintf(result, len, "%s, pipe %c, %chsync, %cvsync",
+ return z_snprintf(result, len, "%s, pipe %c, %chsync, %cvsync",
enable, disp_pipe, hsync, vsync);
}
@@ -598,7 +631,7 @@ DEBUGSTRING(i830_debug_lvds)
if (HAS_CPT)
disp_pipe = val & (1<<29) ? 'B' : 'A';
- snprintf(result, len, "%s, pipe %c, %d bit, %s",
+ return z_snprintf(result, len, "%s, pipe %c, %d bit, %s",
enable, disp_pipe, depth, channels);
}
@@ -625,7 +658,7 @@ DEBUGSTRING(i830_debug_dvo)
break;
}
- snprintf(result, len, "%s, pipe %c, %s, %chsync, %cvsync",
+ return z_snprintf(result, len, "%s, pipe %c, %s, %chsync, %cvsync",
enable, disp_pipe, stall, hsync, vsync);
}
@@ -646,7 +679,7 @@ DEBUGSTRING(i830_debug_sdvo)
sdvoextra[0] = '\0';
}
- snprintf(result, len, "%s, pipe %c, stall %s, %sdetected%s%s",
+ return z_snprintf(result, len, "%s, pipe %c, stall %s, %sdetected%s%s",
enable, disp_pipe, stall, detected, sdvoextra, gang);
}
@@ -685,7 +718,7 @@ DEBUGSTRING(i830_debug_dspclk_gate_d)
const char *OVUUNIT = val & OVUUNIT_CLOCK_GATE_DISABLE ? " OVUUNIT" : "";
const char *OVLUNIT = val & OVLUNIT_CLOCK_GATE_DISABLE ? " OVLUNIT" : "";
- snprintf(result, len,
+ return z_snprintf(result, len,
"clock gates disabled:%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s",
DPUNIT_B, VSUNIT, VRHUNIT, VRDUNIT, AUDUNIT, DPUNIT_A, DPCUNIT,
TVRUNIT, TVCUNIT, TVFUNIT, TVEUNIT, DVSUNIT, DSSUNIT, DDBUNIT,
@@ -702,16 +735,16 @@ DEBUGSTRING(i810_debug_915_fence)
int size = (1024 * 1024) << ((val & 0x700) >> 8);
if (IS_GEN4(devid) || (IS_915(devid) && reg >= FENCE_NEW))
- return;
+ return 0;
if (format == 'X')
pitch *= 4;
if (val & 1) {
- snprintf(result, len, "enabled, %c tiled, %4d pitch, 0x%08x - 0x%08x (%dkb)",
+ return z_snprintf(result, len, "enabled, %c tiled, %4d pitch, 0x%08x - 0x%08x (%dkb)",
format, pitch, offset, offset + size,
size / 1024);
} else {
- snprintf(result, len, "disabled");
+ return z_snprintf(result, len, "disabled");
}
}
@@ -723,9 +756,9 @@ DEBUGSTRING(i810_debug_965_fence_start)
unsigned int offset = val & 0xfffff000;
if (!IS_GEN4(devid))
- return;
+ return 0;
- snprintf(result, len, "%s, %c tile walk, %4d pitch, 0x%08x start",
+ return z_snprintf(result, len, "%s, %c tile walk, %4d pitch, 0x%08x start",
enable, format, pitch, offset);
}
@@ -734,9 +767,9 @@ DEBUGSTRING(i810_debug_965_fence_end)
unsigned int end = val & 0xfffff000;
if (!IS_GEN4(devid))
- return;
+ return 0;
- snprintf(result, len, " 0x%08x end", end);
+ return z_snprintf(result, len, " 0x%08x end", end);
}
#define DEFINEREG(reg) \
@@ -1017,19 +1050,19 @@ static const struct reg_debug intel_debug_regs[] = {
DEBUGSTRING(ironlake_debug_rr_hw_ctl)
{
- snprintf(result, len, "low %d, high %d", val & RR_HW_LOW_POWER_FRAMES_MASK,
+ return z_snprintf(result, len, "low %d, high %d", val & RR_HW_LOW_POWER_FRAMES_MASK,
(val & RR_HW_HIGH_POWER_FRAMES_MASK) >> 8);
}
DEBUGSTRING(ironlake_debug_m_tu)
{
- snprintf(result, len, "TU %d, val 0x%x %d", (val >> 25) + 1, val & 0xffffff,
+ return z_snprintf(result, len, "TU %d, val 0x%x %d", (val >> 25) + 1, val & 0xffffff,
val & 0xffffff);
}
DEBUGSTRING(ironlake_debug_n)
{
- snprintf(result, len, "val 0x%x %d", val & 0xffffff, val & 0xffffff);
+ return z_snprintf(result, len, "val 0x%x %d", val & 0xffffff, val & 0xffffff);
}
DEBUGSTRING(ironlake_debug_fdi_tx_ctl)
@@ -1126,7 +1159,7 @@ DEBUGSTRING(ironlake_debug_fdi_tx_ctl)
break;
}
- snprintf(result, len, "%s, train pattern %s, voltage swing %s,"
+ return z_snprintf(result, len, "%s, train pattern %s, voltage swing %s,"
"pre-emphasis %s, port width %s, enhanced framing %s, FDI PLL %s, scrambing %s, master mode %s",
val & FDI_TX_ENABLE ? "enable" : "disable",
train, voltage, pre_emphasis, portw,
@@ -1203,7 +1236,7 @@ DEBUGSTRING(ironlake_debug_fdi_rx_ctl)
break;
}
- snprintf(result, len, "%s, train pattern %s, port width %s, %s,"
+ return z_snprintf(result, len, "%s, train pattern %s, port width %s, %s,"
"link_reverse_strap_overwrite %s, dmi_link_reverse %s, FDI PLL %s,"
"FS ecc %s, FE ecc %s, FS err report %s, FE err report %s,"
"scrambing %s, enhanced framing %s, %s",
@@ -1223,7 +1256,7 @@ DEBUGSTRING(ironlake_debug_fdi_rx_ctl)
DEBUGSTRING(ironlake_debug_dspstride)
{
- snprintf(result, len, "%d", val >> 6);
+ return z_snprintf(result, len, "%d", val >> 6);
}
DEBUGSTRING(ironlake_debug_pch_dpll)
@@ -1272,7 +1305,7 @@ DEBUGSTRING(ironlake_debug_pch_dpll)
sdvo_mul = ((val & PLL_REF_SDVO_HDMI_MULTIPLIER_MASK) >> 9) + 1;
- snprintf(result, len, "%s, sdvo high speed %s, mode %s, p2 %s, "
+ return z_snprintf(result, len, "%s, sdvo high speed %s, mode %s, p2 %s, "
"FPA0 P1 %d, FPA1 P1 %d, refclk %s, sdvo/hdmi mul %d",
enable, highspeed, mode, p2, fpa0_p1, fpa1_p1, refclk,
sdvo_mul);
@@ -1304,7 +1337,7 @@ DEBUGSTRING(ironlake_debug_dref_ctl)
default:
cpu_source = "reserved";
}
- snprintf(result, len, "cpu source %s, ssc_source %s, nonspread_source %s, "
+ return z_snprintf(result, len, "cpu source %s, ssc_source %s, nonspread_source %s, "
"superspread_source %s, ssc4_mode %s, ssc1 %s, ssc4 %s",
cpu_source, ssc_source, nonspread_source,
superspread_source, ssc4_mode, ssc1, ssc4);
@@ -1342,14 +1375,14 @@ DEBUGSTRING(ironlake_debug_rawclk_freq)
tp2 = "12.0us";
break;
}
- snprintf(result, len, "FDL_TP1 timer %s, FDL_TP2 timer %s, freq %d",
+ return z_snprintf(result, len, "FDL_TP1 timer %s, FDL_TP2 timer %s, freq %d",
tp1, tp2, val & RAWCLK_FREQ_MASK);
}
DEBUGSTRING(ironlake_debug_fdi_rx_misc)
{
- snprintf(result, len, "FDI Delay %d", val & ((1 << 13) - 1));
+ return z_snprintf(result, len, "FDI Delay %d", val & ((1 << 13) - 1));
}
DEBUGSTRING(ironlake_debug_transconf)
@@ -1375,7 +1408,7 @@ DEBUGSTRING(ironlake_debug_transconf)
interlace = "rsvd";
}
- snprintf(result, len, "%s, %s, %s", enable, state, interlace);
+ return z_snprintf(result, len, "%s, %s, %s", enable, state, interlace);
}
DEBUGSTRING(ironlake_debug_panel_fitting)
@@ -1412,7 +1445,7 @@ DEBUGSTRING(ironlake_debug_panel_fitting)
break;
}
- snprintf(result, len,
+ return z_snprintf(result, len,
"%s, auto_scale %s, auto_scale_cal %s, v_filter %s, vadapt %s, mode %s, filter_sel %s,"
"chroma pre-filter %s, vert3tap %s, v_inter_invert %s",
val & PF_ENABLE ? "enable" : "disable",
@@ -1429,21 +1462,21 @@ DEBUGSTRING(ironlake_debug_panel_fitting)
DEBUGSTRING(ironlake_debug_panel_fitting_2)
{
- snprintf(result, len,
+ return z_snprintf(result, len,
"vscale %f",
val / (float) (1<<15));
}
DEBUGSTRING(ironlake_debug_panel_fitting_3)
{
- snprintf(result, len,
+ return z_snprintf(result, len,
"vscale initial phase %f",
val / (float) (1<<15));
}
DEBUGSTRING(ironlake_debug_panel_fitting_4)
{
- snprintf(result, len,
+ return z_snprintf(result, len,
"hscale %f",
val / (float) (1<<15));
}
@@ -1455,7 +1488,7 @@ DEBUGSTRING(ironlake_debug_pf_win)
a = (val >> 16) & 0x1fff;
b = val & 0xfff;
- snprintf(result, len, "%d, %d", a, b);
+ return z_snprintf(result, len, "%d, %d", a, b);
}
DEBUGSTRING(ironlake_debug_hdmi)
@@ -1513,7 +1546,7 @@ DEBUGSTRING(ironlake_debug_hdmi)
else
detect = "non-detected";
- snprintf(result, len, "%s pipe %c %s %s %s audio %s %s %s %s",
+ return z_snprintf(result, len, "%s pipe %c %s %s %s audio %s %s %s %s",
enable, disp_pipe + 'A', bpc, encoding, mode, audio, vsync, hsync, detect);
}
@@ -1523,7 +1556,7 @@ DEBUGSTRING(snb_debug_dpll_sel)
const char *dplla = NULL, *dpllb = NULL;
if (!HAS_CPT)
- return;
+ return 0;
if (val & TRANSA_DPLL_ENABLE) {
transa = "enable";
@@ -1543,7 +1576,7 @@ DEBUGSTRING(snb_debug_dpll_sel)
} else
transb = "disable";
- snprintf(result, len, "TransA DPLL %s (DPLL %s), TransB DPLL %s (DPLL %s)",
+ return z_snprintf(result, len, "TransA DPLL %s (DPLL %s), TransB DPLL %s (DPLL %s)",
transa, dplla, transb, dpllb);
}
@@ -1552,7 +1585,7 @@ DEBUGSTRING(snb_debug_trans_dp_ctl)
const char *enable, *port = NULL, *bpc = NULL, *vsync, *hsync;
if (!HAS_CPT)
- return;
+ return 0;
if (val & TRANS_DP_OUTPUT_ENABLE)
enable = "enable";
@@ -1599,13 +1632,13 @@ DEBUGSTRING(snb_debug_trans_dp_ctl)
else
hsync = "-hsync";
- snprintf(result, len, "%s port %s %s %s %s",
+ return z_snprintf(result, len, "%s port %s %s %s %s",
enable, port, bpc, vsync, hsync);
}
DEBUGSTRING(ilk_debug_pp_control)
{
- snprintf(result, len, "blacklight %s, %spower down on reset, panel %s",
+ return z_snprintf(result, len, "blacklight %s, %spower down on reset, panel %s",
(val & (1 << 2)) ? "enabled" : "disabled",
(val & (1 << 1)) ? "" : "do not ",
(val & (1 << 0)) ? "on" : "off");
@@ -1642,7 +1675,7 @@ DEBUGSTRING(hsw_debug_port_clk_sel)
break;
}
- snprintf(result, len, "%s", clock);
+ return z_snprintf(result, len, "%s", clock);
}
DEBUGSTRING(hsw_debug_pipe_clk_sel)
@@ -1670,7 +1703,7 @@ DEBUGSTRING(hsw_debug_pipe_clk_sel)
break;
}
- snprintf(result, len, "%s", clock);
+ return z_snprintf(result, len, "%s", clock);
}
DEBUGSTRING(hsw_debug_ddi_buf_ctl)
@@ -1697,7 +1730,7 @@ DEBUGSTRING(hsw_debug_ddi_buf_ctl)
detected = (val & 1) ? "detected" : "not detected";
- snprintf(result, len, "%s %s %s %s", enable, reversal, width, detected);
+ return z_snprintf(result, len, "%s %s %s %s", enable, reversal, width, detected);
}
DEBUGSTRING(hsw_debug_sfuse_strap)
@@ -1711,7 +1744,7 @@ DEBUGSTRING(hsw_debug_sfuse_strap)
portc = (val & (1<<1)) ? "yes" : "no";
portd = (val & (1<<0)) ? "yes" : "no";
- snprintf(result, len, "display %s, crt %s, lane reversal %s, "
+ return z_snprintf(result, len, "display %s, crt %s, lane reversal %s, "
"port b %s, port c %s, port d %s", display, crt, lane_reversal,
portb, portc, portd);
}
@@ -1820,7 +1853,7 @@ DEBUGSTRING(hsw_debug_pipe_ddi_func_ctl)
break;
}
- snprintf(result, len, "%s, %s, %s, %s, %s, %s, %s, %s", enable,
+ return z_snprintf(result, len, "%s, %s, %s, %s, %s, %s, %s, %s", enable,
port, mode, bpc, vsync, hsync, edp_input, width);
}
@@ -1832,7 +1865,7 @@ DEBUGSTRING(hsw_debug_wm_pipe)
sprite = (val >> 8) & 0x7F;
cursor = val & 0x3F;
- snprintf(result, len, "primary %d, sprite %d, pipe %d", primary,
+ return z_snprintf(result, len, "primary %d, sprite %d, pipe %d", primary,
sprite, cursor);
}
@@ -1847,7 +1880,7 @@ DEBUGSTRING(hsw_debug_lp_wm)
pri = (val >> 8) & 0x3FF;
cur = val & 0xFF;
- snprintf(result, len, "%s, latency %d, fbc %d, pri %d, cur %d",
+ return z_snprintf(result, len, "%s, latency %d, fbc %d, pri %d, cur %d",
enable, latency, fbc, pri, cur);
}
@@ -1860,7 +1893,7 @@ DEBUGSTRING(hsw_debug_sinterrupt)
portb = (val >> 21) & 1;
crt = (val >> 19) & 1;
- snprintf(result, len, "port d:%d, port c:%d, port b:%d, crt:%d",
+ return z_snprintf(result, len, "port d:%d, port c:%d, port b:%d, crt:%d",
portd, portc, portb, crt);
}
@@ -1894,12 +1927,12 @@ DEBUGSTRING(ilk_debug_blc_pwm_cpu_ctl2)
}
if (IS_GEN5(devid) || IS_GEN6(devid) || IS_IVYBRIDGE(devid)) {
- snprintf(result, len, "enable %d, pipe %s", enable, pipe);
+ return z_snprintf(result, len, "enable %d, pipe %s", enable, pipe);
} else {
blinking = (val >> 28) & 1;
granularity = ((val >> 27) & 1) ? 8 : 128;
- snprintf(result, len, "enable %d, pipe %s, blinking %d, "
+ return z_snprintf(result, len, "enable %d, pipe %s, blinking %d, "
"granularity %d", enable, pipe, blinking,
granularity);
}
@@ -1912,11 +1945,11 @@ DEBUGSTRING(ilk_debug_blc_pwm_cpu_ctl)
cycle = (val & 0xFFFF);
if (IS_GEN5(devid) || IS_GEN6(devid) || IS_IVYBRIDGE(devid)) {
- snprintf(result, len, "cycle %d", cycle);
+ return z_snprintf(result, len, "cycle %d", cycle);
} else {
freq = (val >> 16) & 0xFFFF;
- snprintf(result, len, "cycle %d, freq %d", cycle, freq);
+ return z_snprintf(result, len, "cycle %d, freq %d", cycle, freq);
}
}
@@ -1928,7 +1961,7 @@ DEBUGSTRING(ibx_debug_blc_pwm_ctl1)
override = (val >> 30) & 1;
inverted_polarity = (val >> 29) & 1;
- snprintf(result, len, "enable %d, override %d, inverted polarity %d",
+ return z_snprintf(result, len, "enable %d, override %d, inverted polarity %d",
enable, override, inverted_polarity);
}
@@ -1939,7 +1972,7 @@ DEBUGSTRING(ibx_debug_blc_pwm_ctl2)
freq = (val >> 16) & 0xFFFF;
cycle = val & 0xFFFF;
- snprintf(result, len, "freq %d, cycle %d", freq, cycle);
+ return z_snprintf(result, len, "freq %d, cycle %d", freq, cycle);
}
DEBUGSTRING(hsw_debug_blc_misc_ctl)
@@ -1948,7 +1981,7 @@ DEBUGSTRING(hsw_debug_blc_misc_ctl)
sel = (val & 1) ? "PWM1-CPU PWM2-PCH" : "PWM1-PCH PWM2-CPU";
- snprintf(result, len, "%s", sel);
+ return z_snprintf(result, len, "%s", sel);
}
DEBUGSTRING(hsw_debug_util_pin_ctl)
@@ -1994,7 +2027,7 @@ DEBUGSTRING(hsw_debug_util_pin_ctl)
data = (val >> 23) & 1;
inverted_polarity = (val >> 22) & 1;
- snprintf(result, len, "enable %d, transcoder %s, mode %s, data %d "
+ return z_snprintf(result, len, "enable %d, transcoder %s, mode %s, data %d "
"inverted polarity %d", enable, transcoder, mode, data,
inverted_polarity);
}
@@ -2530,7 +2563,7 @@ static const struct reg_debug i945gm_mi_regs[] = {
DEBUGSTRING(gen6_rp_control)
{
- snprintf(result, len, "%s",
+ return z_snprintf(result, len, "%s",
(val & (1 << 7)) ? "enabled" : "disabled");
}
@@ -2631,13 +2664,15 @@ int intel_reg_spec_decode(char *buf, size_t bufsize, const struct reg *reg,
if (reg->addr != r->reg)
continue;
- if (r->debug_output)
- r->debug_output(tmp, sizeof(tmp), r->reg,
- val, devid);
- else if (devid)
+ if (r->debug_output) {
+ if (r->debug_output(tmp, sizeof(tmp), r->reg,
+ val, devid) == 0)
+ continue;
+ } else if (devid) {
return 0;
- else
+ } else {
continue;
+ }
if (devid) {
strncpy(buf, tmp, bufsize);