]> www.infradead.org Git - users/hch/misc.git/commitdiff
drm/amd/display: Reserve instance index notified by DMUB
authorCruise Hung <Cruise.Hung@amd.com>
Mon, 11 Aug 2025 13:03:13 +0000 (21:03 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 27 Aug 2025 17:57:49 +0000 (13:57 -0400)
[Why]
Reserve instance index notified by DMUB.

[How]
Add new variable for instance index.

Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Signed-off-by: Cruise Hung <Cruise.Hung@amd.com>
Signed-off-by: Aurabindo Pillai <aurabindo.pillai@amd.com>
Tested-by: Dan Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/core/dc_stat.c
drivers/gpu/drm/amd/display/dmub/dmub_srv.h
drivers/gpu/drm/amd/display/dmub/src/dmub_srv_stat.c

index fe9f99f1bdf9f872b51d5f41bb4085656ca1548d..f976ffd6d4669baead49fb5d22f80bf2096d9617 100644 (file)
@@ -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);
        }
 }
 
index 87b761ac3135da4ce8255db67fc57e13c32b4d0e..7abf7d0fd02b1c74af03be67a8693168c26997b4 100644 (file)
@@ -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;
index 567c5b1aeb7aef6b53645747309d62f537792dff..e7a58b140388b1ab3675c959bfabf71b9d368499 100644 (file)
@@ -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;