|
@@ -10,6 +10,7 @@
|
|
|
*/
|
|
*/
|
|
|
|
|
|
|
|
#include "hisi_sas.h"
|
|
#include "hisi_sas.h"
|
|
|
|
|
+#include "../libsas/sas_internal.h"
|
|
|
#define DRV_NAME "hisi_sas"
|
|
#define DRV_NAME "hisi_sas"
|
|
|
|
|
|
|
|
#define DEV_IS_GONE(dev) \
|
|
#define DEV_IS_GONE(dev) \
|
|
@@ -1879,9 +1880,18 @@ static int hisi_sas_write_gpio(struct sas_ha_struct *sha, u8 reg_type,
|
|
|
|
|
|
|
|
static void hisi_sas_phy_disconnected(struct hisi_sas_phy *phy)
|
|
static void hisi_sas_phy_disconnected(struct hisi_sas_phy *phy)
|
|
|
{
|
|
{
|
|
|
|
|
+ struct asd_sas_phy *sas_phy = &phy->sas_phy;
|
|
|
|
|
+ struct sas_phy *sphy = sas_phy->phy;
|
|
|
|
|
+ struct sas_phy_data *d = sphy->hostdata;
|
|
|
|
|
+
|
|
|
phy->phy_attached = 0;
|
|
phy->phy_attached = 0;
|
|
|
phy->phy_type = 0;
|
|
phy->phy_type = 0;
|
|
|
phy->port = NULL;
|
|
phy->port = NULL;
|
|
|
|
|
+
|
|
|
|
|
+ if (d->enable)
|
|
|
|
|
+ sphy->negotiated_linkrate = SAS_LINK_RATE_UNKNOWN;
|
|
|
|
|
+ else
|
|
|
|
|
+ sphy->negotiated_linkrate = SAS_PHY_DISABLED;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
void hisi_sas_phy_down(struct hisi_hba *hisi_hba, int phy_no, int rdy)
|
|
void hisi_sas_phy_down(struct hisi_hba *hisi_hba, int phy_no, int rdy)
|