On 2018-05-15 21:31, Alim Akhtar wrote:
Ping !!!
On Thu, Mar 8, 2018 at 4:33 PM, Alim Akhtar
wrote:
Currently DMA mask for UFS HCI is set by reading CAP register's
[64AS] bit. Some HCI controller like Exynos support 36-bit bus
address.
This works perfectly fine
u32 attr_sel,
u32 *mib_val, u8 peer);
+extern int ufshcd_config_pwr_mode(struct ufs_hba *hba,
+ struct ufs_pa_layer_attr *desired_pwr_mode);
/* UIC command interfaces for DME primitives */
#define DME_LOCAL 0
Looks good to me.
Reviewed-by: Subhash Jad
0
unsigned int quirks;/* Deviations from standard UFSHCI spec. */
/* Device deviations from standard UFS device spec. */
Looks good to me.
Reviewed-by: Subhash Jadavani <subha...@codeaurora.org>
--
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
nd counter are reset by s/w.
+*/
+ #define UFSHCI_QUIRK_SKIP_RESET_INTR_AGGR 0x200
+
unsigned int quirks;/* Deviations from standard UFSHCI spec. */
/* Device deviations from standard UFS device spec. */
Looks good to me.
Reviewed-by: Subhash Jadavani <subha...@co
+* Cleaer handling for transfer/task request list is just opposite.
+*/
+ #define UFSHCI_QUIRK_BROKEN_REQ_LIST_CLR0x100
+
unsigned int quirks;/* Deviations from standard UFSHCI spec. */
/* Device deviations from standard UFS device spec. */
Looks good to me
;
+ ufshcd_devfreq_remove(hba);
}
ufshcd_setup_clocks(hba, false);
ufshcd_setup_hba_vreg(hba, false);
Looks good to me.
Reviewed-by: Subhash Jadavani <subha...@codeaurora.org>
--
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
100644
--- a/drivers/scsi/ufs/ufshcd.h
+++ b/drivers/scsi/ufs/ufshcd.h
@@ -361,6 +361,7 @@ struct ufs_clk_gating {
struct device_attribute enable_attr;
bool is_enabled;
int active_reqs;
+ struct workqueue_struct *clk_gating_workq;
};
struct ufs_saved_pwr_info {
Looks good to m
On 2018-05-03 04:07, Asutosh Das wrote:
From: Subhash Jadavani <subha...@codeaurora.org>
UFSHCD_QUIRK_BROKEN_UFS_HCI_VERSION is only applicable for QCOM UFS
host
controller version 2.x.y and this has been fixed from version 3.x.y
onwards, hence this change removes this quirk for version
, enabled_intr_status);
- retval = IRQ_HANDLED;
- }
spin_unlock(hba->host->host_lock);
return retval;
}
Looks good to me.
Reviewed-by: Subhash Jadavani <subha...@codeaurora.org>
--
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
On 2018-05-03 04:07, Asutosh Das wrote:
From: Subhash Jadavani <subha...@codeaurora.org>
Currently we call the scsi_block_requests()/scsi_unblock_requests()
whenever we want to block/unblock scsi requests but as there is no
reference counting, nesting of these calls could leave us in und
On 2018-05-03 04:07, Asutosh Das wrote:
From: Subhash Jadavani <subha...@codeaurora.org>
vendor specific setup_clocks ops may depend on clocks managed by ufshcd
driver so if the vendor specific setup_clocks callback is called when
the required clocks are turned off, it results into unc
eption events and allow retransmissions of the query requests,
in case of timeout.
Signed-off-by: Subhash Jadavani <subha...@codeaurora.org>
Signed-off-by: Maya Erez <me...@codeaurora.org>
Signed-off-by: Can Guo <c...@codeaurora.org>
Signed-off-by: Asutosh Das <asuto...@codeaurora
we don't want to disable the LCC
on both host & device; hence this change splits the quirk in 2 parts
one for host and one for device.
Signed-off-by: Subhash Jadavani <subha...@codeaurora.org>
Signed-off-by: Venkat Gopalakrishnan <venk...@codeaurora.org>
Signed-off-by: Can Guo <
On 2018-05-03 04:07, Asutosh Das wrote:
Enable UFSHCD_QUIRK_BROKEN_PWR_MODE_CHANGE quirk to avoid failures
in seen on some UFS devices.
Signed-off-by: Asutosh Das
---
drivers/scsi/ufs/ufs-qcom.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git
i <yga...@codeaurora.org>
Signed-off-by: Subhash Jadavani <subha...@codeaurora.org>
Signed-off-by: Can Guo <c...@codeaurora.org>
Signed-off-by: Asutosh Das <asuto...@codeaurora.org>
---
drivers/scsi/ufs/ufshcd.c | 8 +++-
drivers/scsi/ufs/ufshcd.h | 7 +++
2 file
el[MAX_MODEL_LEN] = '\0';
out:
+ kfree(desc_buf);
return err;
}
--
2.17.0
Looks good to me.
Reviewed-by: Subhash Jadavani <subha...@codeaurora.org>
--
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
gt;min_freq;
+ profile->freq_table[1] = clki->max_freq;
+
devfreq = devm_devfreq_add_device(hba->dev,
- _devfreq_profile,
+ profile,
"simple_ondemand",
NULL);
if (I
);
+ if (ret)
goto out;
- }
}
hba->clk_scaling.is_allowed = true;
}
Looks good to me.
Reviewed-by: Subhash Jadavani <subha...@codeaurora.org>
--
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
eption events and allow retransmissions of the query requests,
in case of timeout.
Signed-off-by: Subhash Jadavani <subha...@codeaurora.org>
Signed-off-by: Maya Erez <me...@codeaurora.org>
Signed-off-by: Can Guo <c...@codeaurora.org>
Signed-off-by: Asutosh Das <asuto...@codeaurora
On 2017-11-13 01:14, Michal Potomski wrote:
From: Michał Potomski
Recent testing of Runtime PM for UFS has shown it's not
working as intended. To acheive fully working Runtime PM,
first we have to put back scsi_device autopm reference counter.
Existing
gt;min_uV : 0;
ret = regulator_set_voltage(reg, min_uV, vreg->max_uV);
Looks good to me.
Reviewed-by: Subhash Jadavani <subha...@codeaurora.org>
--
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
truct phy *phy);
int ufs_qcom_phy_set_tx_lane_enable(struct phy *phy, u32 tx_lanes);
-int ufs_qcom_phy_calibrate_phy(struct phy *phy, bool is_rate_B);
-int ufs_qcom_phy_is_pcs_ready(struct phy *phy);
void ufs_qcom_phy_save_controller_version(struct phy *phy,
u8 m
t task flag
*/
struct ufshcd_lrb {
@@ -189,6 +190,7 @@ struct ufshcd_lrb {
u8 lun; /* UPIU LUN id field is only 8-bit wide */
bool intr_cmd;
ktime_t issue_time_stamp;
+ ktime_t compl_time_stamp;
bool req_abort_skip;
};
Looks good to me.
Reviewed-by: Subhash
Hi Vivek,
Please find one comment inline below, rest look good.
Regards,
Subhash
On 2017-08-03 23:48, Vivek Gautam wrote:
Refactor ufs_qcom_power_up_sequence() to get rid of ugly
exported phy APIs and use the phy_init() and phy_power_on()
to do the phy initialization.
Signed-off-by: Vivek
values */
ufs_qcom_assert_reset(hba);
/* provide 1ms delay to let the reset pulse propagate */
Looks good to me.
Reviewed-by: Subhash Jadavani <subha...@codeaurora.org>
--
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
On 2017-08-09 00:28, Bean Huo (beanhuo) wrote:
Hi,
I am now using one hikey960, and Linux kernel version is 4.4.77.
And found that for UFS driver version, the maximum transformation is
8KB.
Means that if I using 128KB chuck size to program in the user space,
but, from ftrace/blktrace,
It shows
c_hdr(lrbp, _flags,
Looks good to me.
Reviewed-by: Subhash Jadavani <subha...@codeaurora.org>
--
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
"pwr ctrl cmd 0x%x failed, host upmcrs:0x%x\n",
cmd->command, status);
ret = (status != PWR_OK) ? status : -1;
}
Looks good to me.
Reviewed-by: Subhash Jadavani <subha...@codeaurora.org>
--
The Qualcomm Innovation Center, Inc. is
On 2017-09-20 03:30, Zang Leigang wrote:
Signed-off-by: Zang Leigang
diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index 794a4600e952..2984f33095be 100644
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -385,6 +385,8 @@ void
+ scsi_device_put(sdev_boot);
goto out;
-remove_sdev_boot:
- scsi_remove_device(sdev_boot);
remove_sdev_ufs_device:
scsi_remove_device(hba->sdev_ufs_device);
out:
Looks good to me.
Reviewed-by: Subhash Jadavani <subha...@codeaurora.org>
--
The Qual
On 2017-06-28 19:25, Zang Leigang wrote:
On Wed, Jun 28, 2017 at 04:42:36PM -0700, Subhash Jadavani wrote:
On 2017-06-24 03:27, Zang Leigang wrote:
>Host set ocs to OCS_ABORTED when clear a doorbell in err handler.
OCS field is valid after host controller has cleared the
corresponding doorb
On 2017-06-24 04:44, Zang Leigang wrote:
Some device can successfully link and switch to HS mode. But failed
to do more. ufshcd_verify_dev_init can help to find this earlier.
Signed-off-by: Zang Leigang
diff --git a/drivers/scsi/ufs/ufshcd.c
);
dev_dbg(hba->dev, "%s: reset in progress\n", __func__);
Looks good to me.
Reviewed-by: Subhash Jadavani <subha...@codeaurora.org>
--
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
On 2017-06-24 03:27, Zang Leigang wrote:
Host set ocs to OCS_ABORTED when clear a doorbell in err handler.
OCS field is valid after host controller has cleared the corresponding
doorbell (UTRLDBR) bit to zero. And here HW would be clearing the
doorbell bit, not the SW. So I am not sure what
On 2017-06-22 04:51, Arnd Bergmann wrote:
On Thu, Jun 22, 2017 at 1:44 PM, Bu Tao wrote:
在 2017/6/17 5:51, Arnd Bergmann 写道:
On Fri, Jun 16, 2017 at 8:51 AM, Bu Tao wrote:
+Optional properties for board device:
+- ufs-hi3660-use-rate-B:
On 2017-06-09 18:20, butao wrote:
add Auto-Hibernate Idle Timer value for hi3660 ufs
Signed-off-by: Bu Tao
Signed-off-by: Geng Jianfeng
Signed-off-by: Zang Leigang
Signed-off-by: Yu Jianfeng
On 2017-06-05 01:36, Adrian Hunter wrote:
From: Szymon Mielczarek
This patch adds a glue pci driver for Intel UFS Host controllers.
Signed-off-by: Szymon Mielczarek
Signed-off-by: Adrian Hunter
---
goto out;
list_for_each_entry(clki, head, list) {
@@ -7811,6 +7811,8 @@ int ufshcd_alloc_host(struct device *dev, struct
ufs_hba **hba_handle)
hba->dev = dev;
*hba_handle = hba;
+ INIT_LIST_HEAD(>clk_list_head);
+
out_error:
re
t;host);
/* disable interrupts */
ufshcd_disable_intr(hba, hba->intr_mask);
Looks good to me.
Reviewed-by: Subhash Jadavani <subha...@codeaurora.org>
--
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -4966,7 +4966,6 @@ static void
ufshcd_exception_event_handler(struct work_struct *work)
out:
pm_runtime_put_sync(hba->dev);
- return;
}
/* Complete requests that have door-bell cleared */
Looks good to me.
Reviewed-by
{
- dev_err(hba->dev, "LRB Memory allocation failed\n");
+ if (!hba->lrb)
goto out;
- }
+
return 0;
out:
return -ENOMEM;
Looks good to me.
Reviewed-by: Subhash Jadavani <subha...@codeaurora.org>
PS: ufshcd_me
>dev, hba->nutrs, sizeof(*hba->lrb),
GFP_KERNEL);
if (!hba->lrb) {
dev_err(hba->dev, "LRB Memory allocation failed\n");
Looks good to me.
Reviewed-by: Subhash Jadavani <subha...@codeaurora.org>
--
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
(UTP_TRANSFER_REQ_LIST_READY |\
+ UTP_TASK_REQ_LIST_READY |\
+ UIC_COMMAND_READY)
+
enum {
PWR_OK = 0x0,
PWR_LOCAL = 0x01,
Looks good to me.
Reviewed-by: Subhash Jadavani <subha...@codeaurora.org>
--
The Qualcomm Innov
On 2017-04-20 05:01, kusumi.tomoh...@gmail.com wrote:
From: Tomohiro Kusumi
It could be just cmp 0xe instead of >>1 and cmp 0x7, with readable
code.
Signed-off-by: Tomohiro Kusumi
---
drivers/scsi/ufs/ufshcd.c | 11 +--
etry(hba, UPIU_QUERY_OPCODE_WRITE_ATTR,
QUERY_ATTR_IDN_EE_CONTROL, 0, 0, );
if (!err)
Looks good to me.
Reviewed-by: Subhash Jadavani <subha...@codeaurora.org>
--
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
host->host_no);
hba->clk_scaling.workq = create_singlethread_workqueue(wq_name);
Looks good to me.
Reviewed-by: Subhash Jadavani <subha...@codeaurora.org>
--
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
n options */
-enum {
- UFSHCD_INT_DISABLE,
- UFSHCD_INT_ENABLE,
- UFSHCD_INT_CLEAR,
-};
-
#define ufshcd_set_eh_in_progress(h) \
((h)->eh_flags |= UFSHCD_EH_IN_PROGRESS)
#define ufshcd_eh_in_progress(h) \
Looks good to me.
Reviewed-by: Subhash Jadavani <subha...@codeauro
LLER_DISABLE 0x0
+#define CRYPTO_GENERAL_ENABLE UFS_BIT(1)
/* UECPA - Host UIC Error Code PHY Adapter Layer 38h */
#define UIC_PHY_ADAPTER_LAYER_ERRORUFS_BIT(31)
Looks good to me.
Reviewed-by: Subhash Jadavani <subha...@codeaurora.org>
--
The Qualcomm Inno
cancel gating
* work and to enable clocks.
*/
Looks good to me.
Reviewed-by: Subhash Jadavani <subha...@codeaurora.org>
--
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
ctive(struct ufs_hba *hba)
{
- return (ufshcd_readl(hba, REG_CONTROLLER_ENABLE) & 0x1) ? false :
true;
+ return (ufshcd_readl(hba, REG_CONTROLLER_ENABLE) & CONTROLLER_ENABLE)
+ ? false : true;
}
static const char *ufschd_uic_link_state_to_string(
Looks good to me.
_to_string(
Looks good to me.
Reviewed-by: Subhash Jadavani <subha...@codeaurora.org>
--
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
etry(hba, UPIU_QUERY_OPCODE_WRITE_ATTR,
+ QUERY_ATTR_IDN_ACTIVE_ICC_LVL, 0, 0,
+ >init_prefetch_data.icc_level);
if (ret)
dev_err(hba->dev,
Looks good to me.
Reviewed-by: Subhash Jadavani <subha...@codeaurora.org>
--
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
I_VERSION_21:
default:
intr_mask = INTERRUPT_MASK_ALL_VER_21;
+ break;
}
return intr_mask;
Looks good to me.
Reviewed-by: Subhash Jadavani <subha...@codeaurora.org>
--
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
s */
Looks good to me.
Reviewed-by: Subhash Jadavani <subha...@codeaurora.org>
--
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
goto out;
}
LGTM.
Reviewed-by: Subhash Jadavani <subha...@codeaurora.org>
--
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
On 2017-03-15 10:26, James Bottomley wrote:
On Mon, 2017-03-13 at 17:19 -0700, Subhash Jadavani wrote:
On 2017-03-12 03:22, Tomas Winkler wrote:
> Fix compilation warning
>
> drivers/scsi/ufs/ufshcd.c:7645:13: warning: comparison of unsigned
> expression < 0 is always false
->host->host_lock, flags);
LGTM.
Reviewed-by: Subhash Jadavani <subha...@codaurora.org>
--
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
On 2017-02-27 19:24, Martin K. Petersen wrote:
"Michal" == Potomski, MichalX writes:
Michal> Since in UFS 2.1 specification some of the descriptor lengths
Michal> differs from 2.0 specification and some devices, which are
Michal> reporting spec version 2.0 have
On 2017-02-20 19:06, Martin K. Petersen wrote:
"Subhash" == Subhash Jadavani <subha...@codeaurora.org> writes:
Subhash,
Subhash> Dan Carpenter <dan.carpen...@oracle.com> reported this: ---
The
Subhash> patch 9c46b8676271: "scsi: ufs-qcom: dump additional tes
truct ufs_hba *hba, enum
query_opcode opcode,
enum flag_idn idn, bool *flag_res);
int ufshcd_hold(struct ufs_hba *hba, bool async);
void ufshcd_release(struct ufs_hba *hba);
+
+int ufshcd_map_desc_id_to_length(struct ufs_hba *hba, enum desc_idn
desc_id,
+ int *desc_length);
1534__func__, host->testbus.select_minor);
1535 return false;
1536 }
1537
1538 return true;
1539 }
---
As data type of "select_minor" is u8, above check is redundant. This change
removes it.
Reported-by: Dan Carpenter <dan.c
On 2017-02-13 23:58, Dan Carpenter wrote:
Hello Venkat Gopalakrishnan,
The patch 9c46b8676271: "scsi: ufs-qcom: dump additional testbus
registers" from Feb 3, 2017, leads to the following static checker
warning:
drivers/scsi/ufs/ufs-qcom.c:1531 ufs_qcom_testbus_cfg_is_ok()
<venk...@codeaurora.org>
Signed-off-by: Subhash Jadavani <subha...@codeaurora.org>
---
drivers/scsi/ufs/ufs-qcom.c | 48 +++--
drivers/scsi/ufs/ufs-qcom.h | 1 +
2 files changed, 43 insertions(+), 6 deletions(-)
diff --git a/drivers/scsi/ufs/ufs-qcom.c b/dr
UFS clock scaling might start kicking in even before the device
is running at the fastest interface speed which is undesirable.
This change moves the clock scaling kick start only after the
device is detected and running at the fastest interface speed.
Signed-off-by: Subhash Jadavani <su
From: Venkat Gopalakrishnan <venk...@codeaurora.org>
Dump host state, power info and host/vendor specific registers
on link failures. This provides useful info to debug the failures.
Signed-off-by: Venkat Gopalakrishnan <venk...@codeaurora.org>
Signed-off-by: Subhash Jad
-by: Subhash Jadavani <subha...@codeaurora.org>
---
drivers/scsi/ufs/ufshcd.c | 185 --
drivers/scsi/ufs/ufshcd.h | 31 +++-
2 files changed, 171 insertions(+), 45 deletions(-)
diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
driver will contribute to analysis efforts.
Added prints of various fields in the hba struct which may be
of interest.
Signed-off-by: Gilad Broner <gbro...@codeaurora.org>
Signed-off-by: Subhash Jadavani <subha...@codeaurora.org>
---
drivers/scsi/ufs/ufshcd.c | 25 +++
to scale gear between HS-G3 and HS-G1 based on same existing load based
clock scaling logic.
Signed-off-by: Subhash Jadavani <subha...@codeaurora.org>
---
drivers/scsi/ufs/ufshcd.c | 594 --
drivers/scsi/ufs/ufshcd.h | 9 +
2 files changed, 428 inse
inimal details
for other subsequent requests.
Signed-off-by: Gilad Broner <gbro...@codeaurora.org>
Signed-off-by: Subhash Jadavani <subha...@codeaurora.org>
---
drivers/scsi/ufs/ufshcd.c | 46 --
drivers/scsi/ufs/ufshcd.h | 3 +++
2 files chan
(3):
scsi: ufs: skip request abort task when previous aborts failed
scsi: ufs: reduce printout for aborted requests
scsi: ufs: add host state prints in failure cases
Subhash Jadavani (3):
scsi: ufs: add load based scaling of UFS gear
scsi: ufs: don't suspend clock scaling during clock
Signed-off-by: Gilad Broner <gbro...@codeaurora.org>
Signed-off-by: Subhash Jadavani <subha...@codeaurora.org>
---
drivers/scsi/ufs/ufshcd.c | 20
drivers/scsi/ufs/ufshcd.h | 3 +++
2 files changed, 23 insertions(+)
diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers
+ goto out;
+ }
+
+ ufs_fixup_device_setup(hba, );
ufshcd_tune_unipro_params(hba);
ret = ufshcd_set_vccq_rail_unused(hba,
Looks good to me.
Reviewed-by: Subhash Jadavani <subha...@codeaurora.org>
--
The Qualcomm Innovation Center, Inc. is a membe
LVL_UNIT_MASK) >>
ATTR_ICC_LVL_UNIT_OFFSET;
curr_uA = data & ATTR_ICC_LVL_VALUE_MASK;
Looks good to me.
Reviewed-by: Subhash Jadavani <subha...@codeaurora.org>
--
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative P
me.
Reviewed-by: Subhash Jadavani <subha...@codeaurora.org>
--
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vg
SYMBOL(ufshcd_query_descriptor_retry);
/**
* ufshcd_read_desc_param - read the specified descriptor parameter
Looks good to me.
Reviewed-by: Subhash Jadavani <subha...@codeaurora.org>
--
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
--
To
canonical.com>
Signed-off-by: Subhash Jadavani <subha...@codeaurora.org>
---
drivers/scsi/ufs/ufshcd.c | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index be6322e..6b56eb0 100644
--- a/drivers/scsi/ufs/ufshcd
const struct of_device_id
ufs_qcom_of_match[] = {
{ .compatible = "qcom,ufshc"},
{},
};
+MODULE_DEVICE_TABLE(of, ufs_qcom_of_match);
static const struct dev_pm_ops ufs_qcom_pm_ops = {
.suspend= ufshcd_pltfrm_suspend,
Looks good to me.
Reviewed-by: Subhash
regular data transfer but sometimes device may not behave properly if host
keeps the auto-bkops disabled. This change adds the capability to let the
device auto-bkops always enabled except suspend.
Reviewed-by: Sahitya Tummala <stumm...@codeaurora.org>
Signed-off-by: Subhash Jadavani
ernel/debug/tracing/events/ufs/enable
cat /sys/kernel/debug/tracing/trace_pipe
Signed-off-by: Lee Susman <lsus...@codeaurora.org>
Signed-off-by: Subhash Jadavani <subha...@codeaurora.org>
---
Changes from v2 -> v3:
- Removed conditional compilation based on CONFIG_TRACE
From: Sahitya Tummala <stumm...@codeaurora.org>
Provide an option to enable/disable clock gating during runtime.
Write 1 or 0 to "clkgate_enable" sysfs node to enable/disable
clock gating.
Signed-off-by: Sahitya Tummala <stumm...@codeaurora.org>
Signed-off-by: S
ed).
Above issue is fixed by setting the default power mode immediately after
successful link startup.
Reviewed-by: Sahitya Tummala <stumm...@codeaurora.org>
Signed-off-by: Subhash Jadavani <subha...@codeaurora.org>
---
drivers/scsi/ufs/ufshcd.c | 7 ---
1 file changed, 4 insertions(+)
This patch adds the profiling support for some of the time critical
operations like hibern8 enter/exit, clock gating & clock scaling.
Reviewed-by: Venkat Gopalakrishnan <venk...@codeaurora.org>
Signed-off-by: Subhash Jadavani <subha...@codeaurora.org>
---
drivers/scsi/uf
From: Sahitya Tummala <stumm...@codeaurora.org>
Provide an option to enable/disable clock scaling during runtime.
Write 1/0 to "clkscale_enable" sysfs node to enable/disable clock
scaling.
Signed-off-by: Sahitya Tummala <stumm...@codeaurora.org>
Signed-off-by: S
good power savings with relatively less enter/exit
latencies.
Reviewed-by: Yaniv Gardi <yga...@codeaurora.org>
Signed-off-by: Subhash Jadavani <subha...@codeaurora.org>
---
Changes from v2 -> v3:
- Simplified patch to just set the default power management level.
Device
Dolev Raviv <dra...@codeaurora.org>
Signed-off-by: Subhash Jadavani <subha...@codeaurora.org>
---
Changes from v1 -> v2:
- Added explicit new line character at the end of the printk messages.
---
drivers/scsi/ufs/ufshcd.c | 203 --
drivers/sc
This patch provides the sysfs attribute to choose the power management
level for UFS runtime and system suspend.
Reviewed-by: Sujit Reddy Thumma <sthu...@codeaurora.org>
Signed-off-by: Subhash Jadavani <subha...@codeaurora.org>
---
drivers/scsi/ufs/uf
error is recognized those steps are skipped
and the last step, reset and restore process, is initiated.
Signed-off-by: Dolev Raviv <dra...@codeaurora.org>
Signed-off-by: Subhash Jadavani <subha...@codeaurora.org>
---
drivers/scsi/ufs/ufshcd.c | 13 -
1 file changed, 1
ing/trace_pipe
Reviewed-by: Sahitya Tummala <stumm...@codeaurora.org>
Signed-off-by: Subhash Jadavani <subha...@codeaurora.org>
---
Changes from v2 -> v3:
- Used TRACE_DEFINE_ENUM to print out enums
---
drivers/scsi/ufs/ufshcd.c | 85 ++---
include/trace/
urora.org>
Signed-off-by: Subhash Jadavani <subha...@codeaurora.org>
---
Changes from v1 -> v2:
- Added explicit new line character at the end of the printk messages.
- Fixed couple of checkpatch warnings.
---
drivers/scsi/ufs/ufshcd.c | 129 +++
ufs: Add sysfs node to dynamically control clock gating
scsi: ufs: Add sysfs node to dynamically control clock scaling
Subhash Jadavani (6):
scsi: ufs: add tracing support
scsi: ufs: provide sysfs attribute to select the PM level
scsi: ufs: set default UFS power management level
On 2016-12-19 10:38, Rob Herring wrote:
On Tue, Dec 13, 2016 at 2:16 PM, Subhash Jadavani
<subha...@codeaurora.org> wrote:
On 2016-12-13 12:04, Rob Herring wrote:
On Mon, Dec 12, 2016 at 04:54:20PM -0800, Subhash Jadavani wrote:
UFS device and link can be put in multiple different low
On 2016-12-13 12:22, Steven Rostedt wrote:
On Tue, 13 Dec 2016 11:52:16 -0800
Subhash Jadavani <subha...@codeaurora.org> wrote:
From: Lee Susman <lsus...@codeaurora.org>
Use the ftrace infrastructure to conditionally trace ufs command
events.
New trace event is created, w
On 2016-12-13 12:10, Steven Rostedt wrote:
On Tue, 13 Dec 2016 11:48:45 -0800
Subhash Jadavani <subha...@codeaurora.org> wrote:
This change adds the ftrace support for following:
1. UFS initialization time
2. Clock gating states
3. Clock scaling states
4. Power management APIs latency
5.
On 2016-12-13 12:04, Rob Herring wrote:
On Mon, Dec 12, 2016 at 04:54:20PM -0800, Subhash Jadavani wrote:
UFS device and link can be put in multiple different low power modes
hence
UFS driver supports multiple different low power modes. By default UFS
driver selects the default (optimal) low
ernel/debug/tracing/events/ufs/enable
cat /sys/kernel/debug/tracing/trace_pipe
Signed-off-by: Lee Susman <lsus...@codeaurora.org>
Signed-off-by: Subhash Jadavani <subha...@codeaurora.org>
---
drivers/scsi/ufs/ufshcd.c | 52 +-
From: Sahitya Tummala <stumm...@codeaurora.org>
Provide an option to enable/disable clock gating during runtime.
Write 1 or 0 to "clkgate_enable" sysfs node to enable/disable
clock gating.
Signed-off-by: Sahitya Tummala <stumm...@codeaurora.org>
Signed-off-by: S
have to tune this default power mode for different chipset
platforms to meet the low power requirements/goals. Hence this patch
adds option to change default UFS low power mode (level).
Reviewed-by: Yaniv Gardi <yga...@codeaurora.org>
Signed-off-by: Subhash Jadavani <subha...@codea
Dolev Raviv <dra...@codeaurora.org>
Signed-off-by: Subhash Jadavani <subha...@codeaurora.org>
---
Changes v1 -> v2:
- Added explicit new line character at the end of the printk messages.
---
drivers/scsi/ufs/ufshcd.c | 203 --
drivers/sc
urora.org>
Signed-off-by: Subhash Jadavani <subha...@codeaurora.org>
---
Changes v1 -> v2:
- Added explicit new line character at the end of the printk messages.
- Fixed couple of checkpatch warnings.
---
drivers/scsi/ufs/ufshcd.c | 129 +++
e event for ufs commands
Sahitya Tummala (2):
scsi: ufs: Add sysfs node to dynamically control clock gating
scsi: ufs: Add sysfs node to dynamically control clock scaling
Subhash Jadavani (6):
scsi: ufs: add tracing support
scsi: ufs: provide sysfs attribute to select the PM level
scsi: u
1 - 100 of 268 matches
Mail list logo