drm/amd/display: Add Read Histogram command header

[Why]
Read the histogram for VariBright validation

[How]
Add dc/dmub functions to read histogram and ACE

Reviewed-by: Jun Lei <jun.lei@amd.com>
Signed-off-by: Chun-Liang Chang <Chun-Liang.Chang@amd.com>
Signed-off-by: Aurabindo Pillai <aurabindo.pillai@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Chun-Liang Chang
2025-02-21 10:36:22 -06:00
committed by Alex Deucher
parent 8b8a602c98
commit 4a8396d5c2
2 changed files with 61 additions and 0 deletions

View File

@@ -4360,6 +4360,11 @@ enum dmub_cmd_abm_type {
* Get the current ACE curve.
*/
DMUB_CMD__ABM_GET_ACE_CURVE = 10,
/**
* Get current histogram data
*/
DMUB_CMD__ABM_GET_HISTOGRAM_DATA = 11,
};
struct abm_ace_curve {
@@ -4953,6 +4958,20 @@ enum dmub_abm_ace_curve_type {
ABM_ACE_CURVE_TYPE__SW_IF = 1,
};
/**
* enum dmub_abm_histogram_type - Histogram type.
*/
enum dmub_abm_histogram_type {
/**
* ACE curve as defined by the SW layer.
*/
ABM_HISTOGRAM_TYPE__SW = 0,
/**
* ACE curve as defined by the SW to HW translation interface layer.
*/
ABM_HISTOGRAM_TYPE__SW_IF = 1,
};
/**
* Definition of a DMUB_CMD__ABM_GET_ACE_CURVE command.
*/
@@ -4988,6 +5007,41 @@ struct dmub_rb_cmd_abm_get_ace_curve {
uint8_t pad;
};
/**
* Definition of a DMUB_CMD__ABM_GET_HISTOGRAM command.
*/
struct dmub_rb_cmd_abm_get_histogram {
/**
* Command header.
*/
struct dmub_cmd_header header;
/**
* Address where Histogram should be copied.
*/
union dmub_addr dest;
/**
* Type of Histogram being queried.
*/
enum dmub_abm_histogram_type histogram_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.
*/
@@ -5686,6 +5740,11 @@ union dmub_rb_cmd {
*/
struct dmub_rb_cmd_abm_get_ace_curve abm_get_ace_curve;
/**
* Definition of a DMUB_CMD__ABM_GET_HISTOGRAM command.
*/
struct dmub_rb_cmd_abm_get_histogram abm_get_histogram;
/**
* Definition of a DMUB_CMD__ABM_SET_EVENT command.
*/