Commit fd279d8f authored by Josip Pavic's avatar Josip Pavic Committed by Alex Deucher
Browse files

drm/amd/display: define abm debug interface



[Why & How]
Define debug interface to dmub for reading back abm data.

Reviewed-by: default avatarAnthony Koo <anthony.koo@amd.com>
Acked-by: default avatarZaeem Mohamed <zaeem.mohamed@amd.com>
Signed-off-by: default avatarJosip Pavic <josip.pavic@amd.com>
Tested-by: default avatarDaniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent fa57924c
Loading
Loading
Loading
Loading
+60 −0
Original line number Diff line number Diff line
@@ -3960,6 +3960,11 @@ enum dmub_cmd_abm_type {
	 * Set ABM Events
	 */
	DMUB_CMD__ABM_SET_EVENT	= 9,

	/**
	 * Get the current ACE curve.
	 */
	DMUB_CMD__ABM_GET_ACE_CURVE = 10,
};

struct abm_ace_curve {
@@ -4488,6 +4493,55 @@ struct dmub_rb_cmd_abm_query_caps {
	} data;
};

/**
 * enum dmub_abm_ace_curve_type - ACE curve type.
 */
enum dmub_abm_ace_curve_type {
	/**
	 * ACE curve as defined by the SW layer.
	 */
	ABM_ACE_CURVE_TYPE__SW = 0,
	/**
	 * ACE curve as defined by the SW to HW translation interface layer.
	 */
	ABM_ACE_CURVE_TYPE__SW_IF = 1,
};

/**
 * Definition of a DMUB_CMD__ABM_GET_ACE_CURVE command.
 */
struct dmub_rb_cmd_abm_get_ace_curve {
	/**
	 * Command header.
	 */
	struct dmub_cmd_header header;

	/**
	 * Address where ACE curve should be copied.
	 */
	union dmub_addr dest;

	/**
	 * Type of ACE curve being queried.
	 */
	enum dmub_abm_ace_curve_type ace_type;

	/**
	 * Indirect buffer length.
	 */
	uint16_t bytes;

	/**
	 * eDP panel instance.
	 */
	uint8_t panel_inst;

	/**
	 * Explicit padding to 4 byte boundary.
	 */
	uint8_t pad;
};

/**
 * Definition of a DMUB_CMD__ABM_SAVE_RESTORE command.
 */
@@ -4521,6 +4575,7 @@ struct dmub_rb_cmd_abm_save_restore {
/**
 * Data passed from driver to FW in a DMUB_CMD__ABM_SET_EVENT command.
 */

struct dmub_cmd_abm_set_event_data {

	/**
@@ -5102,6 +5157,11 @@ union dmub_rb_cmd {
	 */
	struct dmub_rb_cmd_abm_query_caps abm_query_caps;

	/**
	 * Definition of a DMUB_CMD__ABM_GET_ACE_CURVE command.
	 */
	struct dmub_rb_cmd_abm_get_ace_curve abm_get_ace_curve;

	/**
	 * Definition of a DMUB_CMD__ABM_SET_EVENT command.
	 */