Loading drivers/scsi/ufs/ufs-qcom-ice.c +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 Loading Loading @@ -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) Loading drivers/scsi/ufs/ufshcd.c +20 −3 Original line number Diff line number Diff line Loading @@ -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); Loading Loading @@ -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); Loading Loading @@ -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); Loading Loading
drivers/scsi/ufs/ufs-qcom-ice.c +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 Loading Loading @@ -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) Loading
drivers/scsi/ufs/ufshcd.c +20 −3 Original line number Diff line number Diff line Loading @@ -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); Loading Loading @@ -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); Loading Loading @@ -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); Loading