DF-4165 / fix.diff
--- /home/maxx/dfbsd/dfbsd/sys/dev/drm/amd/display/dc/bios/bios_parser2.c 2026-06-29 12:51:18.000000000 +0000 +++ bp2_fix4165.c 2026-09-18 09:48:26.645065302 +0000 @@ -1439,6 +1439,8 @@ info->dp0_ext_hdmi_slv_addr = info_v11->dp0_retimer_set.HdmiSlvAddr; info->dp0_ext_hdmi_reg_num = info_v11->dp0_retimer_set.HdmiRegNum; + if (info->dp0_ext_hdmi_reg_num > 9) + info->dp0_ext_hdmi_reg_num = 9; for (i = 0; i < info->dp0_ext_hdmi_reg_num; i++) { info->dp0_ext_hdmi_reg_settings[i].i2c_reg_index = info_v11->dp0_retimer_set.HdmiRegSetting[i].ucI2cRegIndex; @@ -1446,6 +1448,8 @@ info_v11->dp0_retimer_set.HdmiRegSetting[i].ucI2cRegVal; } info->dp0_ext_hdmi_6g_reg_num = info_v11->dp0_retimer_set.Hdmi6GRegNum; + if (info->dp0_ext_hdmi_6g_reg_num > 3) + info->dp0_ext_hdmi_6g_reg_num = 3; for (i = 0; i < info->dp0_ext_hdmi_6g_reg_num; i++) { info->dp0_ext_hdmi_6g_reg_settings[i].i2c_reg_index = info_v11->dp0_retimer_set.Hdmi6GhzRegSetting[i].ucI2cRegIndex; @@ -1455,6 +1459,8 @@ info->dp1_ext_hdmi_slv_addr = info_v11->dp1_retimer_set.HdmiSlvAddr; info->dp1_ext_hdmi_reg_num = info_v11->dp1_retimer_set.HdmiRegNum; + if (info->dp1_ext_hdmi_reg_num > 9) + info->dp1_ext_hdmi_reg_num = 9; for (i = 0; i < info->dp1_ext_hdmi_reg_num; i++) { info->dp1_ext_hdmi_reg_settings[i].i2c_reg_index = info_v11->dp1_retimer_set.HdmiRegSetting[i].ucI2cRegIndex; @@ -1462,6 +1468,8 @@ info_v11->dp1_retimer_set.HdmiRegSetting[i].ucI2cRegVal; } info->dp1_ext_hdmi_6g_reg_num = info_v11->dp1_retimer_set.Hdmi6GRegNum; + if (info->dp1_ext_hdmi_6g_reg_num > 3) + info->dp1_ext_hdmi_6g_reg_num = 3; for (i = 0; i < info->dp1_ext_hdmi_6g_reg_num; i++) { info->dp1_ext_hdmi_6g_reg_settings[i].i2c_reg_index = info_v11->dp1_retimer_set.Hdmi6GhzRegSetting[i].ucI2cRegIndex; @@ -1471,6 +1479,8 @@ info->dp2_ext_hdmi_slv_addr = info_v11->dp2_retimer_set.HdmiSlvAddr; info->dp2_ext_hdmi_reg_num = info_v11->dp2_retimer_set.HdmiRegNum; + if (info->dp2_ext_hdmi_reg_num > 9) + info->dp2_ext_hdmi_reg_num = 9; for (i = 0; i < info->dp2_ext_hdmi_reg_num; i++) { info->dp2_ext_hdmi_reg_settings[i].i2c_reg_index = info_v11->dp2_retimer_set.HdmiRegSetting[i].ucI2cRegIndex; @@ -1478,6 +1488,8 @@ info_v11->dp2_retimer_set.HdmiRegSetting[i].ucI2cRegVal; } info->dp2_ext_hdmi_6g_reg_num = info_v11->dp2_retimer_set.Hdmi6GRegNum; + if (info->dp2_ext_hdmi_6g_reg_num > 3) + info->dp2_ext_hdmi_6g_reg_num = 3; for (i = 0; i < info->dp2_ext_hdmi_6g_reg_num; i++) { info->dp2_ext_hdmi_6g_reg_settings[i].i2c_reg_index = info_v11->dp2_retimer_set.Hdmi6GhzRegSetting[i].ucI2cRegIndex; @@ -1487,6 +1499,8 @@ info->dp3_ext_hdmi_slv_addr = info_v11->dp3_retimer_set.HdmiSlvAddr; info->dp3_ext_hdmi_reg_num = info_v11->dp3_retimer_set.HdmiRegNum; + if (info->dp3_ext_hdmi_reg_num > 9) + info->dp3_ext_hdmi_reg_num = 9; for (i = 0; i < info->dp3_ext_hdmi_reg_num; i++) { info->dp3_ext_hdmi_reg_settings[i].i2c_reg_index = info_v11->dp3_retimer_set.HdmiRegSetting[i].ucI2cRegIndex; @@ -1494,6 +1508,8 @@ info_v11->dp3_retimer_set.HdmiRegSetting[i].ucI2cRegVal; } info->dp3_ext_hdmi_6g_reg_num = info_v11->dp3_retimer_set.Hdmi6GRegNum; + if (info->dp3_ext_hdmi_6g_reg_num > 3) + info->dp3_ext_hdmi_6g_reg_num = 3; for (i = 0; i < info->dp3_ext_hdmi_6g_reg_num; i++) { info->dp3_ext_hdmi_6g_reg_settings[i].i2c_reg_index = info_v11->dp3_retimer_set.Hdmi6GhzRegSetting[i].ucI2cRegIndex; |