Commit ba9f03fd authored by Ville Syrjälä's avatar Ville Syrjälä
Browse files

drm/i915/audio: Include ELD in the state dump



Include the ELD has a hex blob in the crtc state dump.

Cc: Chaitanya Kumar Borah <chaitanya.kumar.borah@intel.com>
Cc: Takashi Iwai <tiwai@suse.de>
Reviewed-by: default avatarJani Nikula <jani.nikula@intel.com>
Reviewed-by: default avatarKai Vehmanen <kai.vehmanen@linux.intel.com>
Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230124144628.4649-12-ville.syrjala@linux.intel.com
parent 8b5a2aed
Loading
Loading
Loading
Loading
+17 −0
Original line number Original line Diff line number Diff line
@@ -3,6 +3,8 @@
 * Copyright © 2022 Intel Corporation
 * Copyright © 2022 Intel Corporation
 */
 */


#include <drm/drm_edid.h>

#include "i915_drv.h"
#include "i915_drv.h"
#include "intel_crtc_state_dump.h"
#include "intel_crtc_state_dump.h"
#include "intel_display_types.h"
#include "intel_display_types.h"
@@ -56,6 +58,17 @@ intel_dump_dp_vsc_sdp(struct drm_i915_private *i915,
	drm_dp_vsc_sdp_log(KERN_DEBUG, i915->drm.dev, vsc);
	drm_dp_vsc_sdp_log(KERN_DEBUG, i915->drm.dev, vsc);
}
}


static void
intel_dump_buffer(struct drm_i915_private *i915,
		  const char *prefix, const u8 *buf, size_t len)
{
	if (!drm_debug_enabled(DRM_UT_KMS))
		return;

	print_hex_dump(KERN_DEBUG, prefix, DUMP_PREFIX_NONE,
		       16, 0, buf, len, false);
}

#define OUTPUT_TYPE(x) [INTEL_OUTPUT_ ## x] = #x
#define OUTPUT_TYPE(x) [INTEL_OUTPUT_ ## x] = #x


static const char * const output_type_str[] = {
static const char * const output_type_str[] = {
@@ -236,6 +249,10 @@ void intel_crtc_state_dump(const struct intel_crtc_state *pipe_config,
	    intel_hdmi_infoframe_enable(DP_SDP_VSC))
	    intel_hdmi_infoframe_enable(DP_SDP_VSC))
		intel_dump_dp_vsc_sdp(i915, &pipe_config->infoframes.vsc);
		intel_dump_dp_vsc_sdp(i915, &pipe_config->infoframes.vsc);


	if (pipe_config->has_audio)
		intel_dump_buffer(i915, "ELD: ", pipe_config->eld,
				  drm_eld_size(pipe_config->eld));

	drm_dbg_kms(&i915->drm, "vrr: %s, vmin: %d, vmax: %d, pipeline full: %d, guardband: %d flipline: %d, vmin vblank: %d, vmax vblank: %d\n",
	drm_dbg_kms(&i915->drm, "vrr: %s, vmin: %d, vmax: %d, pipeline full: %d, guardband: %d flipline: %d, vmin vblank: %d, vmax vblank: %d\n",
		    str_yes_no(pipe_config->vrr.enable),
		    str_yes_no(pipe_config->vrr.enable),
		    pipe_config->vrr.vmin, pipe_config->vrr.vmax,
		    pipe_config->vrr.vmin, pipe_config->vrr.vmax,