Commit 2e61504f authored by Jani Nikula's avatar Jani Nikula
Browse files

drm/dp: switch drm_dp_vsc_sdp_log() to struct drm_printer

parent 3b32a1b9
Loading
Loading
Loading
Loading
+7 −10
Original line number Diff line number Diff line
@@ -2897,22 +2897,19 @@ static const char *dp_content_type_get_name(enum dp_content_type content_type)
	}
}

void drm_dp_vsc_sdp_log(const char *level, struct device *dev,
			const struct drm_dp_vsc_sdp *vsc)
void drm_dp_vsc_sdp_log(struct drm_printer *p, const struct drm_dp_vsc_sdp *vsc)
{
#define DP_SDP_LOG(fmt, ...) dev_printk(level, dev, fmt, ##__VA_ARGS__)
	DP_SDP_LOG("DP SDP: %s, revision %u, length %u\n", "VSC",
	drm_printf(p, "DP SDP: VSC, revision %u, length %u\n",
		   vsc->revision, vsc->length);
	DP_SDP_LOG("    pixelformat: %s\n",
	drm_printf(p, "    pixelformat: %s\n",
		   dp_pixelformat_get_name(vsc->pixelformat));
	DP_SDP_LOG("    colorimetry: %s\n",
	drm_printf(p, "    colorimetry: %s\n",
		   dp_colorimetry_get_name(vsc->pixelformat, vsc->colorimetry));
	DP_SDP_LOG("    bpc: %u\n", vsc->bpc);
	DP_SDP_LOG("    dynamic range: %s\n",
	drm_printf(p, "    bpc: %u\n", vsc->bpc);
	drm_printf(p, "    dynamic range: %s\n",
		   dp_dynamic_range_get_name(vsc->dynamic_range));
	DP_SDP_LOG("    content type: %s\n",
	drm_printf(p, "    content type: %s\n",
		   dp_content_type_get_name(vsc->content_type));
#undef DP_SDP_LOG
}
EXPORT_SYMBOL(drm_dp_vsc_sdp_log);

+2 −3
Original line number Diff line number Diff line
@@ -55,10 +55,9 @@ static void
intel_dump_dp_vsc_sdp(struct drm_i915_private *i915,
		      const struct drm_dp_vsc_sdp *vsc)
{
	if (!drm_debug_enabled(DRM_UT_KMS))
		return;
	struct drm_printer p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);

	drm_dp_vsc_sdp_log(KERN_DEBUG, i915->drm.dev, vsc);
	drm_dp_vsc_sdp_log(&p, vsc);
}

static void
+13 −14
Original line number Diff line number Diff line
@@ -4799,28 +4799,27 @@ pipe_config_infoframe_mismatch(struct drm_i915_private *dev_priv,
}

static void
pipe_config_dp_vsc_sdp_mismatch(struct drm_i915_private *dev_priv,
pipe_config_dp_vsc_sdp_mismatch(struct drm_i915_private *i915,
				bool fastset, const char *name,
				const struct drm_dp_vsc_sdp *a,
				const struct drm_dp_vsc_sdp *b)
{
	struct drm_printer p;

	if (fastset) {
		if (!drm_debug_enabled(DRM_UT_KMS))
			return;
		p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);

		drm_dbg_kms(&dev_priv->drm,
			    "fastset requirement not met in %s dp sdp\n", name);
		drm_dbg_kms(&dev_priv->drm, "expected:\n");
		drm_dp_vsc_sdp_log(KERN_DEBUG, dev_priv->drm.dev, a);
		drm_dbg_kms(&dev_priv->drm, "found:\n");
		drm_dp_vsc_sdp_log(KERN_DEBUG, dev_priv->drm.dev, b);
		drm_printf(&p, "fastset requirement not met in %s dp sdp\n", name);
	} else {
		drm_err(&dev_priv->drm, "mismatch in %s dp sdp\n", name);
		drm_err(&dev_priv->drm, "expected:\n");
		drm_dp_vsc_sdp_log(KERN_ERR, dev_priv->drm.dev, a);
		drm_err(&dev_priv->drm, "found:\n");
		drm_dp_vsc_sdp_log(KERN_ERR, dev_priv->drm.dev, b);
		p = drm_err_printer(&i915->drm, NULL);

		drm_printf(&p, "mismatch in %s dp sdp\n", name);
	}

	drm_printf(&p, "expected:\n");
	drm_dp_vsc_sdp_log(&p, a);
	drm_printf(&p, "found:\n");
	drm_dp_vsc_sdp_log(&p, b);
}

/* Returns the length up to and including the last differing byte */
+1 −2
Original line number Diff line number Diff line
@@ -98,8 +98,7 @@ struct drm_dp_vsc_sdp {
	enum dp_content_type content_type;
};

void drm_dp_vsc_sdp_log(const char *level, struct device *dev,
			const struct drm_dp_vsc_sdp *vsc);
void drm_dp_vsc_sdp_log(struct drm_printer *p, const struct drm_dp_vsc_sdp *vsc);

int drm_dp_psr_setup_time(const u8 psr_cap[EDP_PSR_RECEIVER_CAP_SIZE]);