]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
drm/amd/display: [FW Promotion] Release 0.0.46
authorAnthony Koo <Anthony.Koo@amd.com>
Sun, 6 Dec 2020 18:57:54 +0000 (13:57 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 15 Dec 2020 16:34:47 +0000 (11:34 -0500)
- Add new aux_channel_type
- Changed port_index to instance in dmub_cmd_dp_aux_control_data
- Change aux_return_code_type to sync up with driver
- param for ramping abm based on backlight level

Signed-off-by: Anthony Koo <Anthony.Koo@amd.com>
Acked-by: Qingqing Zhuo <qingqing.zhuo@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd.h

index b20a39f488ae1e65b73dfce51d402b5345f57469..f512bda96917d8f3913ba0ca8c691e7cb5c6cdf5 100644 (file)
 
 /* Firmware versioning. */
 #ifdef DMUB_EXPOSE_VERSION
-#define DMUB_FW_VERSION_GIT_HASH 0x931573111
+#define DMUB_FW_VERSION_GIT_HASH 0xa18e25995
 #define DMUB_FW_VERSION_MAJOR 0
 #define DMUB_FW_VERSION_MINOR 0
-#define DMUB_FW_VERSION_REVISION 45
+#define DMUB_FW_VERSION_REVISION 46
 #define DMUB_FW_VERSION_TEST 0
 #define DMUB_FW_VERSION_VBIOS 0
 #define DMUB_FW_VERSION_HOTFIX 0
@@ -514,12 +514,20 @@ enum dp_aux_request_action {
 
 enum aux_return_code_type {
        AUX_RET_SUCCESS = 0,
+       AUX_RET_ERROR_UNKNOWN,
+       AUX_RET_ERROR_INVALID_REPLY,
        AUX_RET_ERROR_TIMEOUT,
-       AUX_RET_ERROR_NO_DATA,
+       AUX_RET_ERROR_HPD_DISCON,
+       AUX_RET_ERROR_ENGINE_ACQUIRE,
        AUX_RET_ERROR_INVALID_OPERATION,
        AUX_RET_ERROR_PROTOCOL_ERROR,
 };
 
+enum aux_channel_type {
+       AUX_CHANNEL_LEGACY_DDC,
+       AUX_CHANNEL_DPIA
+};
+
 /* DP AUX command */
 struct aux_transaction_parameters {
        uint8_t is_i2c_over_aux;
@@ -532,9 +540,10 @@ struct aux_transaction_parameters {
 
 struct dmub_cmd_dp_aux_control_data {
        uint32_t handle;
-       uint8_t port_index;
+       uint8_t instance;
        uint8_t sw_crc_enabled;
        uint16_t timeout;
+       enum aux_channel_type type;
        struct aux_transaction_parameters dpaux;
 };
 
@@ -558,7 +567,7 @@ struct aux_reply_data {
 
 struct aux_reply_control_data {
        uint32_t handle;
-       uint8_t phy_port_index;
+       uint8_t instance;
        uint8_t result;
        uint16_t pad;
 };
@@ -581,7 +590,7 @@ enum dp_hpd_status {
 };
 
 struct dp_hpd_data {
-       uint8_t phy_port_index;
+       uint8_t instance;
        uint8_t hpd_type;
        uint8_t hpd_status;
        uint8_t pad;
@@ -732,27 +741,30 @@ enum dmub_cmd_abm_type {
 struct abm_config_table {
        /* Parameters for crgb conversion */
        uint16_t crgb_thresh[NUM_POWER_FN_SEGS];                 // 0B
-       uint16_t crgb_offset[NUM_POWER_FN_SEGS];                 // 15B
-       uint16_t crgb_slope[NUM_POWER_FN_SEGS];                  // 31B
+       uint16_t crgb_offset[NUM_POWER_FN_SEGS];                 // 16B
+       uint16_t crgb_slope[NUM_POWER_FN_SEGS];                  // 32B
 
        /* Parameters for custom curve */
-       uint16_t backlight_thresholds[NUM_BL_CURVE_SEGS];        // 47B
-       uint16_t backlight_offsets[NUM_BL_CURVE_SEGS];           // 79B
-
-       uint16_t ambient_thresholds_lux[NUM_AMBI_LEVEL];         // 111B
-       uint16_t min_abm_backlight;                              // 121B
-
-       uint8_t min_reduction[NUM_AMBI_LEVEL][NUM_AGGR_LEVEL];   // 123B
-       uint8_t max_reduction[NUM_AMBI_LEVEL][NUM_AGGR_LEVEL];   // 143B
-       uint8_t bright_pos_gain[NUM_AMBI_LEVEL][NUM_AGGR_LEVEL]; // 163B
-       uint8_t dark_pos_gain[NUM_AMBI_LEVEL][NUM_AGGR_LEVEL];   // 183B
-       uint8_t hybrid_factor[NUM_AGGR_LEVEL];                   // 203B
-       uint8_t contrast_factor[NUM_AGGR_LEVEL];                 // 207B
-       uint8_t deviation_gain[NUM_AGGR_LEVEL];                  // 211B
-       uint8_t min_knee[NUM_AGGR_LEVEL];                        // 215B
-       uint8_t max_knee[NUM_AGGR_LEVEL];                        // 219B
-       uint8_t iir_curve[NUM_AMBI_LEVEL];                       // 223B
-       uint8_t pad3[3];                                         // 228B
+       uint16_t backlight_thresholds[NUM_BL_CURVE_SEGS];        // 48B
+       uint16_t backlight_offsets[NUM_BL_CURVE_SEGS];           // 78B
+
+       uint16_t ambient_thresholds_lux[NUM_AMBI_LEVEL];         // 112B
+       uint16_t min_abm_backlight;                              // 122B
+
+       uint8_t min_reduction[NUM_AMBI_LEVEL][NUM_AGGR_LEVEL];   // 124B
+       uint8_t max_reduction[NUM_AMBI_LEVEL][NUM_AGGR_LEVEL];   // 144B
+       uint8_t bright_pos_gain[NUM_AMBI_LEVEL][NUM_AGGR_LEVEL]; // 164B
+       uint8_t dark_pos_gain[NUM_AMBI_LEVEL][NUM_AGGR_LEVEL];   // 184B
+       uint8_t hybrid_factor[NUM_AGGR_LEVEL];                   // 204B
+       uint8_t contrast_factor[NUM_AGGR_LEVEL];                 // 208B
+       uint8_t deviation_gain[NUM_AGGR_LEVEL];                  // 212B
+       uint8_t min_knee[NUM_AGGR_LEVEL];                        // 216B
+       uint8_t max_knee[NUM_AGGR_LEVEL];                        // 220B
+       uint8_t iir_curve[NUM_AMBI_LEVEL];                       // 224B
+       uint8_t pad3[3];                                         // 229B
+
+       uint16_t blRampReduction[NUM_AGGR_LEVEL];                // 232B
+       uint16_t blRampStart[NUM_AGGR_LEVEL];                    // 240B
 };
 
 struct dmub_cmd_abm_set_pipe_data {