Attention is currently required from: Tim Wawrzynczak, Brandon Breitenstein. Furquan Shaikh has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/47684 )
Change subject: soc/tigerlake: Update early TCSS code to not call back and forth between mainboard and soc ......................................................................
Patch Set 4:
(1 comment)
File src/soc/intel/tigerlake/early_tcss.c:
https://review.coreboot.org/c/coreboot/+/47684/comment/55ee0f14_65f8675d PS2, Line 296: __weak
If the call to the function is properly guarded with if (CONFIG(EARLY_TCSS_DISPLAY)) then there shou […]
This is what I am thinking:
```
static void tcss_configure_dp_mode(const struct tcss_port_map *port_map, size_t num_ports) { » int ret; » size_t i; » const struct tcss_port_map *port_info; » const struct tcss_mux_info *mux_info;
» if (!display_init_required()) » » return;
» for (i = 0; i < num_ports; i++) { » » mux_info = mb_get_tcss_mux_info(i); » » port_info = &port_map[i];
» » if (!mux_info->dp) » » » continue;
» » ret = send_pmc_connect_request(i, mux_info, port_info); » » if (ret) { » » » printk(BIOS_ERR, "Port %zd connect request failed\n", i); » » » continue; » » } » » ret = send_pmc_safe_mode_request(i, mux_info, port_info); » » if (ret) { » » » printk(BIOS_ERR, "Port %zd safe mode request failed\n", i); » » » continue; » » }
» » ret = send_pmc_dp_mode_request(i, mux_info, port_info); » » if (ret) » » » printk(BIOS_ERR, "Port C%zd mux set failed with error %d\n", i, ret); » } }
void tcss_early_configure(void) { » const struct tcss_port_map *port_map; » size_t num_ports;
» port_map = mb_get_tcss_port_map(&num_ports); » if (!port_map || !num_ports) » » return;
» if (CONFIG(TCSS_EARLY_DISPLAY)) » » tcss_configure_dp_mode(port_map, num_ports); }
```