Commit 8b715afa authored by Cruise Hung's avatar Cruise Hung Committed by Alex Deucher
Browse files

drm/amd/display: Reserve instance index notified by DMUB



[Why]
Reserve instance index notified by DMUB.

[How]
Add new variable for instance index.

Reviewed-by: default avatarNicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Signed-off-by: default avatarCruise Hung <Cruise.Hung@amd.com>
Signed-off-by: default avatarAurabindo Pillai <aurabindo.pillai@amd.com>
Tested-by: default avatarDan Wheeler <daniel.wheeler@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 88fdd89d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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);
	}
}

+2 −0
Original line number Diff line number Diff line
@@ -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;
+4 −4
Original line number Diff line number Diff line
@@ -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;