浏览代码

drm/i915: introduce macros to check pipe config properties

This code will get _really_ repetive, and we'll end up with tons more
of this kind. So extract the common patterns.

This should also help when we add a lazy pipe_config compare mode for
fastboot.

Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Daniel Vetter 12 年之前
父节点
当前提交
08a24034a8
共有 1 个文件被更改,包括 11 次插入13 次删除
  1. 11 13
      drivers/gpu/drm/i915/intel_display.c

+ 11 - 13
drivers/gpu/drm/i915/intel_display.c

@@ -7949,21 +7949,19 @@ static bool
 intel_pipe_config_compare(struct intel_crtc_config *current_config,
 			  struct intel_crtc_config *pipe_config)
 {
-	if (current_config->has_pch_encoder != pipe_config->has_pch_encoder) {
-		DRM_ERROR("mismatch in has_pch_encoder "
-			  "(expected %i, found %i)\n",
-			  current_config->has_pch_encoder,
-			  pipe_config->has_pch_encoder);
-		return false;
+#define PIPE_CONF_CHECK_I(name)	\
+	if (current_config->name != pipe_config->name) { \
+		DRM_ERROR("mismatch in " #name " " \
+			  "(expected %i, found %i)\n", \
+			  current_config->name, \
+			  pipe_config->name); \
+		return false; \
 	}
 
-	if (current_config->fdi_lanes != pipe_config->fdi_lanes) {
-		DRM_ERROR("mismatch in fdi_lanes "
-			  "(expected %i, found %i)\n",
-			  current_config->fdi_lanes,
-			  pipe_config->fdi_lanes);
-		return false;
-	}
+	PIPE_CONF_CHECK_I(has_pch_encoder);
+	PIPE_CONF_CHECK_I(fdi_lanes);
+
+#undef PIPE_CONF_CHECK_I
 
 	return true;
 }