Merge "scsi: ufs: Get TX and RX FSM states for debug purpose"

This commit is contained in:
Linux Build Service Account 2017-09-14 07:38:08 -07:00 committed by Gerrit - the friendly Code Review server
commit 211e3cc27d
2 changed files with 20 additions and 0 deletions

View file

@ -21,6 +21,7 @@
#define MAX_UFS_QCOM_HOSTS 1
#define MAX_U32 (~(u32)0)
#define MPHY_TX_FSM_STATE 0x41
#define MPHY_RX_FSM_STATE 0xC1
#define TX_FSM_HIBERN8 0x1
#define HBRN8_POLL_TOUT_MS 100
#define DEFAULT_CLK_RATE_HZ 1000000

View file

@ -839,6 +839,24 @@ static void ufshcd_print_tmrs(struct ufs_hba *hba, unsigned long bitmap)
}
}
static void ufshcd_print_fsm_state(struct ufs_hba *hba)
{
int err = 0, tx_fsm_val = 0, rx_fsm_val = 0;
err = ufshcd_dme_get(hba,
UIC_ARG_MIB_SEL(MPHY_TX_FSM_STATE,
UIC_ARG_MPHY_TX_GEN_SEL_INDEX(0)),
&tx_fsm_val);
dev_err(hba->dev, "%s: TX_FSM_STATE = %u, err = %d\n", __func__,
tx_fsm_val, err);
err = ufshcd_dme_get(hba,
UIC_ARG_MIB_SEL(MPHY_RX_FSM_STATE,
UIC_ARG_MPHY_RX_GEN_SEL_INDEX(0)),
&rx_fsm_val);
dev_err(hba->dev, "%s: RX_FSM_STATE = %u, err = %d\n", __func__,
rx_fsm_val, err);
}
static void ufshcd_print_host_state(struct ufs_hba *hba)
{
if (!(hba->ufshcd_dbg_print & UFSHCD_DBG_PRINT_HOST_STATE_EN))
@ -863,6 +881,7 @@ static void ufshcd_print_host_state(struct ufs_hba *hba)
hba->capabilities, hba->caps);
dev_err(hba->dev, "quirks=0x%x, dev. quirks=0x%x\n", hba->quirks,
hba->dev_quirks);
ufshcd_print_fsm_state(hba);
}
/**