Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dbe9e8cf authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "Revert "scsi: ufs: add some custom testbus register reads for debugging purpose""

parents 32426189 1544f5f2
Loading
Loading
Loading
Loading
+0 −42
Original line number Diff line number Diff line
@@ -2636,48 +2636,6 @@ static void ufs_qcom_print_utp_hci_testbus(struct ufs_hba *hba)
	kfree(testbus);
}

void ufs_qcom_read_custom_testbus(struct ufs_hba *hba)
{
	struct ufs_qcom_host *host = ufshcd_get_variant(hba);

	host->testbus.select_major = TSTBUS_UTP_HCI;
	host->testbus.select_minor = 5;
	ufs_qcom_testbus_config(host);
	hba->tb_ah8_ctrl_0 = ufshcd_readl(hba, UFS_TEST_BUS);

	host->testbus.select_major = TSTBUS_UNIPRO;
	host->testbus.select_minor = 33;
	ufs_qcom_testbus_config(host);
	hba->tb_dme = ufshcd_readl(hba, UFS_TEST_BUS);

	host->testbus.select_major = TSTBUS_UNIPRO;
	host->testbus.select_minor = 37;
	ufs_qcom_testbus_config(host);
	hba->tb_pa_power_ctrl = ufshcd_readl(hba, UFS_TEST_BUS);

	host->testbus.select_major = TSTBUS_UNIPRO;
	host->testbus.select_minor = 55;
	ufs_qcom_testbus_config(host);
	hba->tb_pa_attr_1 = ufshcd_readl(hba, UFS_TEST_BUS);

	host->testbus.select_major = TSTBUS_UNIPRO;
	host->testbus.select_minor = 56;
	ufs_qcom_testbus_config(host);
	hba->tb_pa_attr_2 = ufshcd_readl(hba, UFS_TEST_BUS);
}

int ufs_qcom_read_pa_vs_status_reg1(struct ufs_hba *hba, u32 *pa_vs_status_reg1)
{
	int err;

	err = ufshcd_dme_get(hba, UIC_ARG_MIB(PA_VS_STATUS_REG1),
				pa_vs_status_reg1);
	if (err)
		dev_err(hba->dev, "%s: couldn't read PA_VS_STATUS_REG1 %d\n",
								__func__, err);
	return err;
}

static void ufs_qcom_dump_dbg_regs(struct ufs_hba *hba, bool no_sleep)
{
	struct ufs_qcom_host *host = ufshcd_get_variant(hba);
+0 −4
Original line number Diff line number Diff line
@@ -161,7 +161,6 @@ enum ufs_qcom_phy_init_type {

/* QUniPro Vendor specific attributes */
#define PA_VS_CONFIG_REG1		0x9000
#define PA_VS_STATUS_REG1		0x9001
#define SAVECONFIGTIME_MODE_MASK	0x6000

#define PA_VS_CLK_CFG_REG	0x9004
@@ -397,9 +396,6 @@ int ufs_qcom_testbus_config(struct ufs_qcom_host *host);
void ufs_qcom_print_hw_debug_reg_all(struct ufs_hba *hba, void *priv,
		void (*print_fn)(struct ufs_hba *hba, int offset, int num_regs,
				char *str, void *priv));
void ufs_qcom_read_custom_testbus(struct ufs_hba *hba);
int ufs_qcom_read_pa_vs_status_reg1(struct ufs_hba *hba,
		u32 *pa_vs_status_reg1);

static inline bool ufs_qcom_cap_qunipro(struct ufs_qcom_host *host)
{
+1 −29
Original line number Diff line number Diff line
@@ -54,8 +54,6 @@

#ifdef CONFIG_DEBUG_FS

static u32 pa_vs_status_reg1;

static int ufshcd_tag_req_type(struct request *rq)
{
	int rq_type = TS_WRITE;
@@ -630,23 +628,6 @@ static void __ufshcd_cmd_log(struct ufs_hba *hba, char *str, char *cmd_type,
	entry->tag = tag;
	entry->tstamp = ktime_get();
	entry->outstanding_reqs = hba->outstanding_reqs;
	if (!strcmp(cmd_type, "custom")) {
		ufs_qcom_read_custom_testbus(hba);
		entry->tb_ah8_ctrl_0 = hba->tb_ah8_ctrl_0;
		entry->tb_dme = hba->tb_dme;
		entry->tb_pa_power_ctrl = hba->tb_pa_power_ctrl;
		entry->tb_pa_attr_1 = hba->tb_pa_attr_1;
		entry->tb_pa_attr_2 = hba->tb_pa_attr_2;
		entry->pa_vs_status_reg1 = pa_vs_status_reg1;
		pa_vs_status_reg1 = 0;
	} else {
		entry->tb_ah8_ctrl_0 = 0;
		entry->tb_dme = 0;
		entry->tb_pa_power_ctrl = 0;
		entry->tb_pa_attr_1 = 0;
		entry->tb_pa_attr_2 = 0;
		entry->pa_vs_status_reg1 = 0;
	}
	entry->seq_num = hba->cmd_log.seq_num;
	hba->cmd_log.seq_num++;
	hba->cmd_log.pos =
@@ -686,14 +667,11 @@ static void ufshcd_print_cmd_log(struct ufs_hba *hba)
		pos = (pos + 1) % UFSHCD_MAX_CMD_LOGGING;

		if (ktime_to_us(p->tstamp)) {
			pr_err("%s: %s: seq_no=%u lun=0x%x cmd_id=0x%02x lba=0x%llx txfer_len=%d tag=%u, doorbell=0x%x outstanding=0x%x idn=%d ah8_ctrl_0=0x%x dme=0x%x pa_power_ctrl=0x%x pa_attr_1=0x%x pa_attr_2=0x%x pa_vs_status_reg1=0x%x time=%lld us\n",
			pr_err("%s: %s: seq_no=%u lun=0x%x cmd_id=0x%02x lba=0x%llx txfer_len=%d tag=%u, doorbell=0x%x outstanding=0x%x idn=%d time=%lld us\n",
				p->cmd_type, p->str, p->seq_num,
				p->lun, p->cmd_id, (unsigned long long)p->lba,
				p->transfer_len, p->tag, p->doorbell,
				p->outstanding_reqs, p->idn,
				p->tb_ah8_ctrl_0, p->tb_dme,
				p->tb_pa_power_ctrl, p->tb_pa_attr_1,
				p->tb_pa_attr_2, p->pa_vs_status_reg1,
				ktime_to_us(p->tstamp));
				usleep_range(1000, 1100);
		}
@@ -10235,7 +10213,6 @@ static int ufshcd_devfreq_scale(struct ufs_hba *hba, bool scale_up)
	if (ret)
		goto out;

	ufs_qcom_read_pa_vs_status_reg1(hba, &pa_vs_status_reg1);
	ufshcd_custom_cmd_log(hba, "waited-for-DB-clear");

	/* scale down the gear before scaling down clocks */
@@ -10243,7 +10220,6 @@ static int ufshcd_devfreq_scale(struct ufs_hba *hba, bool scale_up)
		ret = ufshcd_scale_gear(hba, false);
		if (ret)
			goto clk_scaling_unprepare;
		ufs_qcom_read_pa_vs_status_reg1(hba, &pa_vs_status_reg1);
		ufshcd_custom_cmd_log(hba, "Gear-scaled-down");
	}

@@ -10257,14 +10233,12 @@ static int ufshcd_devfreq_scale(struct ufs_hba *hba, bool scale_up)
		if (ret)
			/* link will be bad state so no need to scale_up_gear */
			return ret;
		ufs_qcom_read_pa_vs_status_reg1(hba, &pa_vs_status_reg1);
		ufshcd_custom_cmd_log(hba, "Hibern8-entered");
	}

	ret = ufshcd_scale_clks(hba, scale_up);
	if (ret)
		goto scale_up_gear;
	ufs_qcom_read_pa_vs_status_reg1(hba, &pa_vs_status_reg1);
	ufshcd_custom_cmd_log(hba, "Clk-freq-switched");

	if (ufshcd_is_auto_hibern8_supported(hba)) {
@@ -10272,7 +10246,6 @@ static int ufshcd_devfreq_scale(struct ufs_hba *hba, bool scale_up)
		if (ret)
			/* link will be bad state so no need to scale_up_gear */
			return ret;
		ufs_qcom_read_pa_vs_status_reg1(hba, &pa_vs_status_reg1);
		ufshcd_custom_cmd_log(hba, "Hibern8-Exited");
	}

@@ -10283,7 +10256,6 @@ static int ufshcd_devfreq_scale(struct ufs_hba *hba, bool scale_up)
			ufshcd_scale_clks(hba, false);
			goto clk_scaling_unprepare;
		}
		ufs_qcom_read_pa_vs_status_reg1(hba, &pa_vs_status_reg1);
		ufshcd_custom_cmd_log(hba, "Gear-scaled-up");
	}

+0 −13
Original line number Diff line number Diff line
@@ -686,12 +686,6 @@ struct ufshcd_cmd_log_entry {
	u32 seq_num;
	unsigned int tag;
	ktime_t tstamp;
	u32 tb_ah8_ctrl_0;
	u32 tb_dme;
	u32 tb_pa_power_ctrl;
	u32 tb_pa_attr_1;
	u32 tb_pa_attr_2;
	u32 pa_vs_status_reg1;
};

struct ufshcd_cmd_log {
@@ -1001,13 +995,6 @@ struct ufs_hba {
	struct io_latency_state io_lat_write;
	struct ufs_desc_size desc_size;
	bool restore_needed;

	/* Custom test bus data */
	u32 tb_ah8_ctrl_0;
	u32 tb_dme;
	u32 tb_pa_power_ctrl;
	u32 tb_pa_attr_1;
	u32 tb_pa_attr_2;
};

static inline void ufshcd_mark_shutdown_ongoing(struct ufs_hba *hba)