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

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
...@@ -3960,6 +3960,11 @@ enum dmub_cmd_abm_type { ...@@ -3960,6 +3960,11 @@ enum dmub_cmd_abm_type {
* Set ABM Events * Set ABM Events
*/ */
DMUB_CMD__ABM_SET_EVENT = 9, DMUB_CMD__ABM_SET_EVENT = 9,
/**
* Get the current ACE curve.
*/
DMUB_CMD__ABM_GET_ACE_CURVE = 10,
}; };
struct abm_ace_curve { struct abm_ace_curve {
...@@ -4488,6 +4493,55 @@ struct dmub_rb_cmd_abm_query_caps { ...@@ -4488,6 +4493,55 @@ struct dmub_rb_cmd_abm_query_caps {
} data; } 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. * Definition of a DMUB_CMD__ABM_SAVE_RESTORE command.
*/ */
...@@ -4521,6 +4575,7 @@ struct dmub_rb_cmd_abm_save_restore { ...@@ -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. * Data passed from driver to FW in a DMUB_CMD__ABM_SET_EVENT command.
*/ */
struct dmub_cmd_abm_set_event_data { struct dmub_cmd_abm_set_event_data {
/** /**
...@@ -5102,6 +5157,11 @@ union dmub_rb_cmd { ...@@ -5102,6 +5157,11 @@ union dmub_rb_cmd {
*/ */
struct dmub_rb_cmd_abm_query_caps abm_query_caps; 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. * Definition of a DMUB_CMD__ABM_SET_EVENT command.
*/ */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment