struct dc_link *link = NULL;
struct dc *dc = NULL;
unsigned int panel_inst = 0;
+ uint8_t aux_inst = 0;
if ((mod_power == NULL) || (stream == NULL))
return false;
link = dc_stream_get_link(stream);
if (link != NULL && dc_get_edp_link_panel_inst(dc, link, &panel_inst)) {
- ASSERT(link->ddc->ddc_pin->hw_info.ddc_channel <= 0xFF);
- uint8_t aux_inst = (uint8_t)link->ddc->ddc_pin->hw_info.ddc_channel;
+ if (link->ctx->dc->config.dp_connector_no_native_i2c && link->no_ddc_pin) {
+ aux_inst = (uint8_t)link->aux_hw_inst;
+ } else {
+ ASSERT(link->ddc->ddc_pin->hw_info.ddc_channel <= 0xFF);
+ aux_inst = (uint8_t)link->ddc->ddc_pin->hw_info.ddc_channel;
+ }
mod_power_update_backlight_on_mode_change(core_power, link, panel_inst, aux_inst, is_hdr);
core_power = MOD_POWER_TO_CORE(mod_power);
link = dc_stream_get_link(stream);
- ASSERT(link->ddc->ddc_pin->hw_info.ddc_channel <= 0xFF);
- aux_inst = (uint8_t)link->ddc->ddc_pin->hw_info.ddc_channel;
+ if (link->ctx->dc->config.dp_connector_no_native_i2c && link->no_ddc_pin) {
+ aux_inst = (uint8_t)link->aux_hw_inst;
+ } else {
+ ASSERT(link->ddc->ddc_pin->hw_info.ddc_channel <= 0xFF);
+ aux_inst = (uint8_t)link->ddc->ddc_pin->hw_info.ddc_channel;
+ }
if (!dc_get_edp_link_panel_inst(core_power->dc, stream->link, &panel_inst))
return false;
core_power = MOD_POWER_TO_CORE(mod_power);
link = dc_stream_get_link(stream);
- ASSERT(link->ddc->ddc_pin->hw_info.ddc_channel <= 0xFF);
- aux_inst = (uint8_t)link->ddc->ddc_pin->hw_info.ddc_channel;
+ if (link->ctx->dc->config.dp_connector_no_native_i2c && link->no_ddc_pin) {
+ aux_inst = (uint8_t)link->aux_hw_inst;
+ } else {
+ ASSERT(link->ddc->ddc_pin->hw_info.ddc_channel <= 0xFF);
+ aux_inst = (uint8_t)link->ddc->ddc_pin->hw_info.ddc_channel;
+ }
if (!dc_get_edp_link_panel_inst(core_power->dc, stream->link, &panel_inst))
return false;