|
@@ -1313,6 +1313,17 @@ int isci_phy_control(struct asd_sas_phy *sas_phy,
|
|
ret = isci_port_perform_hard_reset(ihost, iport, iphy);
|
|
ret = isci_port_perform_hard_reset(ihost, iport, iphy);
|
|
|
|
|
|
break;
|
|
break;
|
|
|
|
+ case PHY_FUNC_GET_EVENTS: {
|
|
|
|
+ struct scu_link_layer_registers __iomem *r;
|
|
|
|
+ struct sas_phy *phy = sas_phy->phy;
|
|
|
|
+
|
|
|
|
+ r = iphy->link_layer_registers;
|
|
|
|
+ phy->running_disparity_error_count = readl(&r->running_disparity_error_count);
|
|
|
|
+ phy->loss_of_dword_sync_count = readl(&r->loss_of_sync_error_count);
|
|
|
|
+ phy->phy_reset_problem_count = readl(&r->phy_reset_problem_count);
|
|
|
|
+ phy->invalid_dword_count = readl(&r->invalid_dword_counter);
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
|
|
default:
|
|
default:
|
|
dev_dbg(&ihost->pdev->dev,
|
|
dev_dbg(&ihost->pdev->dev,
|