From: Cruise Hung <[email protected]>

[Why]
Reserve instance index notified by DMUB.

[How]
Add new variable for instance index.

Reviewed-by: Nicholas Kazlauskas <[email protected]>
Signed-off-by: Cruise Hung <[email protected]>
Signed-off-by: Aurabindo Pillai <[email protected]>
---
 drivers/gpu/drm/amd/display/dc/core/dc_stat.c        | 2 +-
 drivers/gpu/drm/amd/display/dmub/dmub_srv.h          | 2 ++
 drivers/gpu/drm/amd/display/dmub/src/dmub_srv_stat.c | 8 ++++----
 3 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_stat.c 
b/drivers/gpu/drm/amd/display/dc/core/dc_stat.c
index fe9f99f1bdf9..f976ffd6d466 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc_stat.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_stat.c
@@ -65,7 +65,7 @@ void dc_stat_get_dmub_notification(const struct dc *dc, 
struct dmub_notification
            notify->type == DMUB_NOTIFICATION_DPIA_NOTIFICATION ||
            notify->type == DMUB_NOTIFICATION_SET_CONFIG_REPLY) {
                notify->link_index =
-                       get_link_index_from_dpia_port_index(dc, 
notify->link_index);
+                       get_link_index_from_dpia_port_index(dc, 
notify->instance);
        }
 }
 
diff --git a/drivers/gpu/drm/amd/display/dmub/dmub_srv.h 
b/drivers/gpu/drm/amd/display/dmub/dmub_srv.h
index 87b761ac3135..7abf7d0fd02b 100644
--- a/drivers/gpu/drm/amd/display/dmub/dmub_srv.h
+++ b/drivers/gpu/drm/amd/display/dmub/dmub_srv.h
@@ -598,6 +598,8 @@ struct dmub_notification {
        enum dmub_notification_type type;
        uint8_t link_index;
        uint8_t result;
+       /* notify instance from DMUB */
+       uint8_t instance;
        bool pending_notification;
        union {
                struct aux_reply_data aux_reply;
diff --git a/drivers/gpu/drm/amd/display/dmub/src/dmub_srv_stat.c 
b/drivers/gpu/drm/amd/display/dmub/src/dmub_srv_stat.c
index 567c5b1aeb7a..e7a58b140388 100644
--- a/drivers/gpu/drm/amd/display/dmub/src/dmub_srv_stat.c
+++ b/drivers/gpu/drm/amd/display/dmub/src/dmub_srv_stat.c
@@ -71,7 +71,7 @@ enum dmub_status dmub_srv_stat_get_notification(struct 
dmub_srv *dmub,
        switch (cmd.cmd_common.header.type) {
        case DMUB_OUT_CMD__DP_AUX_REPLY:
                notify->type = DMUB_NOTIFICATION_AUX_REPLY;
-               notify->link_index = cmd.dp_aux_reply.control.instance;
+               notify->instance = cmd.dp_aux_reply.control.instance;
                notify->result = cmd.dp_aux_reply.control.result;
                dmub_memcpy((void *)&notify->aux_reply,
                        (void *)&cmd.dp_aux_reply.reply_data, sizeof(struct 
aux_reply_data));
@@ -84,17 +84,17 @@ enum dmub_status dmub_srv_stat_get_notification(struct 
dmub_srv *dmub,
                        notify->type = DMUB_NOTIFICATION_HPD_IRQ;
                }
 
-               notify->link_index = cmd.dp_hpd_notify.hpd_data.instance;
+               notify->instance = cmd.dp_hpd_notify.hpd_data.instance;
                notify->result = AUX_RET_SUCCESS;
                break;
        case DMUB_OUT_CMD__SET_CONFIG_REPLY:
                notify->type = DMUB_NOTIFICATION_SET_CONFIG_REPLY;
-               notify->link_index = 
cmd.set_config_reply.set_config_reply_control.instance;
+               notify->instance = 
cmd.set_config_reply.set_config_reply_control.instance;
                notify->sc_status = 
cmd.set_config_reply.set_config_reply_control.status;
                break;
        case DMUB_OUT_CMD__DPIA_NOTIFICATION:
                notify->type = DMUB_NOTIFICATION_DPIA_NOTIFICATION;
-               notify->link_index = 
cmd.dpia_notification.payload.header.instance;
+               notify->instance = 
cmd.dpia_notification.payload.header.instance;
                break;
        case DMUB_OUT_CMD__HPD_SENSE_NOTIFY:
                notify->type = DMUB_NOTIFICATION_HPD_SENSE_NOTIFY;
-- 
2.50.1

Reply via email to