Skip to content

Commit fd279d8

Browse files
Josip Pavicalexdeucher
authored andcommitted
drm/amd/display: define abm debug interface
[Why & How] Define debug interface to dmub for reading back abm data. Reviewed-by: Anthony Koo <[email protected]> Acked-by: Zaeem Mohamed <[email protected]> Signed-off-by: Josip Pavic <[email protected]> Tested-by: Daniel Wheeler <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
1 parent fa57924 commit fd279d8

File tree

1 file changed

+60
-0
lines changed

1 file changed

+60
-0
lines changed

drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd.h

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3960,6 +3960,11 @@ enum dmub_cmd_abm_type {
39603960
* Set ABM Events
39613961
*/
39623962
DMUB_CMD__ABM_SET_EVENT = 9,
3963+
3964+
/**
3965+
* Get the current ACE curve.
3966+
*/
3967+
DMUB_CMD__ABM_GET_ACE_CURVE = 10,
39633968
};
39643969

39653970
struct abm_ace_curve {
@@ -4488,6 +4493,55 @@ struct dmub_rb_cmd_abm_query_caps {
44884493
} data;
44894494
};
44904495

4496+
/**
4497+
* enum dmub_abm_ace_curve_type - ACE curve type.
4498+
*/
4499+
enum dmub_abm_ace_curve_type {
4500+
/**
4501+
* ACE curve as defined by the SW layer.
4502+
*/
4503+
ABM_ACE_CURVE_TYPE__SW = 0,
4504+
/**
4505+
* ACE curve as defined by the SW to HW translation interface layer.
4506+
*/
4507+
ABM_ACE_CURVE_TYPE__SW_IF = 1,
4508+
};
4509+
4510+
/**
4511+
* Definition of a DMUB_CMD__ABM_GET_ACE_CURVE command.
4512+
*/
4513+
struct dmub_rb_cmd_abm_get_ace_curve {
4514+
/**
4515+
* Command header.
4516+
*/
4517+
struct dmub_cmd_header header;
4518+
4519+
/**
4520+
* Address where ACE curve should be copied.
4521+
*/
4522+
union dmub_addr dest;
4523+
4524+
/**
4525+
* Type of ACE curve being queried.
4526+
*/
4527+
enum dmub_abm_ace_curve_type ace_type;
4528+
4529+
/**
4530+
* Indirect buffer length.
4531+
*/
4532+
uint16_t bytes;
4533+
4534+
/**
4535+
* eDP panel instance.
4536+
*/
4537+
uint8_t panel_inst;
4538+
4539+
/**
4540+
* Explicit padding to 4 byte boundary.
4541+
*/
4542+
uint8_t pad;
4543+
};
4544+
44914545
/**
44924546
* Definition of a DMUB_CMD__ABM_SAVE_RESTORE command.
44934547
*/
@@ -4521,6 +4575,7 @@ struct dmub_rb_cmd_abm_save_restore {
45214575
/**
45224576
* Data passed from driver to FW in a DMUB_CMD__ABM_SET_EVENT command.
45234577
*/
4578+
45244579
struct dmub_cmd_abm_set_event_data {
45254580

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

5160+
/**
5161+
* Definition of a DMUB_CMD__ABM_GET_ACE_CURVE command.
5162+
*/
5163+
struct dmub_rb_cmd_abm_get_ace_curve abm_get_ace_curve;
5164+
51055165
/**
51065166
* Definition of a DMUB_CMD__ABM_SET_EVENT command.
51075167
*/

0 commit comments

Comments
 (0)