* passed to DMUB.
*/
enum replay_FW_Message_type {
+ Replay_Msg_Not_Support = -1,
Replay_Set_Timing_Sync_Supported,
};
void (*replay_set_power_opt)(struct dmub_replay *dmub, unsigned int power_opt,
uint8_t panel_inst);
void (*replay_send_cmd)(struct dmub_replay *dmub,
- enum replay_FW_Message_type msg, unsigned int panel_inst,
- uint32_t cmd_data);
+ enum replay_FW_Message_type msg, unsigned int panel_inst, union dmub_replay_cmd_set *cmd_element);
void (*replay_set_coasting_vtotal)(struct dmub_replay *dmub, uint16_t coasting_vtotal,
uint8_t panel_inst);
void (*replay_residency)(struct dmub_replay *dmub,
const struct dc_stream_state *stream);
bool (*edp_send_replay_cmd)(struct dc_link *link,
enum replay_FW_Message_type msg,
- uint32_t params);
+ union dmub_replay_cmd_set *cmd_data);
bool (*edp_set_coasting_vtotal)(
struct dc_link *link, uint16_t coasting_vtotal);
bool (*edp_replay_residency)(const struct dc_link *link,
*/
bool edp_send_replay_cmd(struct dc_link *link,
enum replay_FW_Message_type msg,
- uint32_t cmd_data)
+ union dmub_replay_cmd_set *cmd_data)
{
struct dc *dc = link->ctx->dc;
struct dmub_replay *replay = dc->res_pool->replay;
if (!dc_get_edp_link_panel_inst(dc, link, &panel_inst))
return false;
- replay->funcs->replay_send_cmd(replay, msg, cmd_data, panel_inst);
+ replay->funcs->replay_send_cmd(replay, msg, panel_inst, cmd_data);
return true;
}
const struct dc_stream_state *stream);
bool edp_send_replay_cmd(struct dc_link *link,
enum replay_FW_Message_type msg,
- uint32_t params);
+ union dmub_replay_cmd_set *cmd_data);
bool edp_set_coasting_vtotal(struct dc_link *link, uint16_t coasting_vtotal);
bool edp_replay_residency(const struct dc_link *link,
unsigned int *residency, const bool is_start, const bool is_alpm);
struct dmub_cmd_replay_set_timing_sync_data replay_set_timing_sync_data;
};
+/**
+ * Definition union of replay command set
+ */
+union dmub_replay_cmd_set {
+ /**
+ * Definition of DMUB_CMD__REPLAY_SET_TIMING_SYNC_SUPPORTED command data.
+ */
+ struct dmub_cmd_replay_set_timing_sync_data sync_data;
+};
+
/**
* Set of HW components that can be locked.
*