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

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

Merge "scsi: ufs-qcom-ice: add support to print UFS ICE debug registers"

parents 5b890427 341ce2cd
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
/*
 * Copyright (c) 2014-2015, The Linux Foundation. All rights reserved.
 * Copyright (c) 2014-2016, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -54,6 +54,9 @@ void ufs_qcom_ice_print_regs(struct ufs_qcom_host *qcom_host)
				(REG_UFS_QCOM_ICE_CTRL_INFO_2_n + 8 * i)));
	}

	if (qcom_host->ice.pdev && qcom_host->ice.vops &&
	    qcom_host->ice.vops->debug)
		qcom_host->ice.vops->debug(qcom_host->ice.pdev);
}

static void ufs_qcom_ice_error_cb(void *host_ctrl, u32 error)
+20 −3
Original line number Diff line number Diff line
@@ -4432,7 +4432,16 @@ static int ufshcd_link_startup(struct ufs_hba *hba)
{
	int ret;
	int retries = DME_LINKSTARTUP_RETRIES;
	bool link_startup_again = false;

	/*
	 * If UFS device isn't active then we will have to issue link startup
	 * 2 times to make sure the device state move to active.
	 */
	if (!ufshcd_is_ufs_dev_active(hba))
		link_startup_again = true;

link_startup:
	do {
		ufshcd_vops_link_startup_notify(hba, PRE_CHANGE);

@@ -4461,6 +4470,12 @@ static int ufshcd_link_startup(struct ufs_hba *hba)
		/* failed to get the link up... retire */
		goto out;

	if (link_startup_again) {
		link_startup_again = false;
		retries = DME_LINKSTARTUP_RETRIES;
		goto link_startup;
	}

	/* Mark that link is up in PWM-G1, 1-lane, SLOW-AUTO mode */
	ufshcd_init_pwr_info(hba);
	ufshcd_print_pwr_info(hba);
@@ -9104,10 +9119,12 @@ int ufshcd_init(struct ufs_hba *hba, void __iomem *mmio_base, unsigned int irq)
	pm_runtime_get_sync(dev);

	/*
	 * The device-initialize-sequence hasn't been invoked yet.
	 * Set the device to power-off state
	 * We are assuming that device wasn't put in sleep/power-down
	 * state exclusively during the boot stage before kernel.
	 * This assumption helps avoid doing link startup twice during
	 * ufshcd_probe_hba().
	 */
	ufshcd_set_ufs_dev_poweroff(hba);
	ufshcd_set_ufs_dev_active(hba);

	async_schedule(ufshcd_async_scan, hba);