drm/i915: add bool type checks in PIPE_CONF_CHECK_*
authorJani Nikula <jani.nikula@intel.com>
Wed, 29 Nov 2023 17:33:17 +0000 (19:33 +0200)
committerJani Nikula <jani.nikula@intel.com>
Fri, 1 Dec 2023 08:42:38 +0000 (10:42 +0200)
Avoid bool/int mismatches in state checker macros.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20231129173317.1192269-2-jani.nikula@intel.com
drivers/gpu/drm/i915/display/intel_display.c

index d62cdae7ab6b02d3d66f26b38f035bec8151ed3a..7d48bcdd579747c9db0379272a33da8dfda23dee 100644 (file)
@@ -4923,6 +4923,8 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
 
 #define PIPE_CONF_CHECK_X(name) do { \
        if (current_config->name != pipe_config->name) { \
+               BUILD_BUG_ON_MSG(__same_type(current_config->name, bool), \
+                                __stringify(name) " is bool"); \
                pipe_config_mismatch(fastset, crtc, __stringify(name), \
                                     "(expected 0x%08x, found 0x%08x)", \
                                     current_config->name, \
@@ -4933,6 +4935,8 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
 
 #define PIPE_CONF_CHECK_X_WITH_MASK(name, mask) do { \
        if ((current_config->name & (mask)) != (pipe_config->name & (mask))) { \
+               BUILD_BUG_ON_MSG(__same_type(current_config->name, bool), \
+                                __stringify(name) " is bool"); \
                pipe_config_mismatch(fastset, crtc, __stringify(name), \
                                     "(expected 0x%08x, found 0x%08x)", \
                                     current_config->name & (mask), \
@@ -4943,6 +4947,8 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
 
 #define PIPE_CONF_CHECK_I(name) do { \
        if (current_config->name != pipe_config->name) { \
+               BUILD_BUG_ON_MSG(__same_type(current_config->name, bool), \
+                                __stringify(name) " is bool"); \
                pipe_config_mismatch(fastset, crtc, __stringify(name), \
                                     "(expected %i, found %i)", \
                                     current_config->name, \
@@ -4953,6 +4959,8 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
 
 #define PIPE_CONF_CHECK_BOOL(name) do { \
        if (current_config->name != pipe_config->name) { \
+               BUILD_BUG_ON_MSG(!__same_type(current_config->name, bool), \
+                                __stringify(name) " is not bool");     \
                pipe_config_mismatch(fastset, crtc,  __stringify(name), \
                                     "(expected %s, found %s)", \
                                     str_yes_no(current_config->name), \