|
@@ -1996,12 +1996,16 @@ static void handle_automated_test(struct dc_link *link)
|
|
|
sizeof(test_response));
|
|
|
}
|
|
|
|
|
|
-bool dc_link_handle_hpd_rx_irq(struct dc_link *link, union hpd_irq_data *out_hpd_irq_dpcd_data)
|
|
|
+bool dc_link_handle_hpd_rx_irq(struct dc_link *link, union hpd_irq_data *out_hpd_irq_dpcd_data, bool *out_link_loss)
|
|
|
{
|
|
|
union hpd_irq_data hpd_irq_dpcd_data = {{{{0}}}};
|
|
|
union device_service_irq device_service_clear = { { 0 } };
|
|
|
enum dc_status result;
|
|
|
+
|
|
|
bool status = false;
|
|
|
+
|
|
|
+ if (out_link_loss)
|
|
|
+ *out_link_loss = false;
|
|
|
/* For use cases related to down stream connection status change,
|
|
|
* PSR and device auto test, refer to function handle_sst_hpd_irq
|
|
|
* in DAL2.1*/
|
|
@@ -2076,6 +2080,8 @@ bool dc_link_handle_hpd_rx_irq(struct dc_link *link, union hpd_irq_data *out_hpd
|
|
|
true, LINK_TRAINING_ATTEMPTS);
|
|
|
|
|
|
status = false;
|
|
|
+ if (out_link_loss)
|
|
|
+ *out_link_loss = true;
|
|
|
}
|
|
|
|
|
|
if (link->type == dc_connection_active_dongle &&
|