<subha...@codeaurora.org>
Signed-off-by: Yaniv Gardi <yga...@codeaurora.org>
---
drivers/scsi/ufs/ufshcd.c | 11 +++
1 file changed, 11 insertions(+)
diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index 0803a89..411ec17 100644
--- a/drivers/scsi/ufs/ufshcd.c
+
Some UFS devices don't require VCCQ rail for device operations hence
this change adds support to recognize such devices and remove vote for
the unused VCCQ rail.
Signed-off-by: Subhash Jadavani <subha...@codeaurora.org>
Signed-off-by: Yaniv Gardi <yga...@codeaurora.org>
---
driv
of kernel logs.
Signed-off-by: Subhash Jadavani <subha...@codeaurora.org>
Signed-off-by: Yaniv Gardi <yga...@codeaurora.org>
---
drivers/scsi/ufs/ufshcd.c | 93 +++
drivers/scsi/ufs/ufshci.h | 2 +
2 files changed, 95 insertions(+)
diff --g
Currently we use the host quirks mechanism in order to
handle both device and host controller quirks.
In order to support various of UFS devices we should separate
handling the device quirks from the host controller's.
Signed-off-by: Raviv Shvili <rshv...@codeaurora.org>
Signed-off-by:
Query commands have 100ms timeout and it may timeout if they are
issued in parallel to ongoing read/write SCSI commands, this change
adds the retry (max: 10) in case command timeouts.
Signed-off-by: Subhash Jadavani <subha...@codeaurora.org>
Signed-off-by: Yaniv Gardi <yga...@codea
port UniPro ver 1.6 or later, we have to manually
tune them. But to keep manual tuning logic simple, we will only do
manual tuning if local unipro version doesn't support ver1.6 or later.
Signed-off-by: Subhash Jadavani <subha...@codeaurora.org>
Signed-off-by: Yaniv Gardi <yga...@c
to HS mode
and disables it if entered to PWM mode
- adds printouts of testbus debug registers
Signed-off-by: Yaniv Gardi <yga...@codeaurora.org>
---
drivers/scsi/ufs/ufs-qcom.c | 116 +---
drivers/scsi/ufs/ufs-qcom.h | 9
drivers/scsi/ufs/uf
void this situation, this change adds 2ms delay before putting
these UFS rails in LPM mode.
Signed-off-by: Subhash Jadavani <subha...@codeaurora.org>
Signed-off-by: Yaniv Gardi <yga...@codeaurora.org>
---
drivers/scsi/ufs/ufshcd.c | 9 +
1 file changed, 9 insertions(+)
diff --gi
ed-off-by: Yaniv Gardi <yga...@codeaurora.org>
---
drivers/scsi/ufs/ufshcd.c | 53 ---
drivers/scsi/ufs/ufshcd.h | 6 ++
2 files changed, 52 insertions(+), 7 deletions(-)
diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
i
Jadavani <subha...@codeaurora.org>
Signed-off-by: Yaniv Gardi <yga...@codeaurora.org>
---
drivers/scsi/ufs/ufshcd.c | 10 ++
1 file changed, 10 insertions(+)
diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index 0938d6c..20b4c0e 100644
--- a/drivers/scsi/
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).
Signed-off-by: Subhash Jadavani <subha...@codeaurora.org>
Signed-off-by: Yaniv Gardi <yga...@codea
Different platform may have different number of lanes
for the UFS link.
Add parameter to device tree specifying how many lanes
should be configured for the UFS link.
Signed-off-by: Gilad Broner <gbro...@codeaurora.org>
Signed-off-by: Yaniv Gardi <yga...@codeaurora.org>
---
..
interrupt handling.
Signed-off-by: Subhash Jadavani <subha...@codeaurora.org>
Signed-off-by: Yaniv Gardi <yga...@codeaurora.org>
---
drivers/scsi/ufs/ufshcd.c | 15 +++
1 file changed, 15 insertions(+)
diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
i
ding proper state checks
in ufshcd_system_suspend().
Signed-off-by: Subhash Jadavani <subha...@codeaurora.org>
Signed-off-by: Yaniv Gardi <yga...@codeaurora.org>
---
drivers/scsi/ufs/ufshcd.c | 15 ++-
1 file changed, 6 insertions(+), 9 deletions(-)
diff --git a/drivers/scs
timeout callback and bypass SCSI
error handling for request that were not actually sent to the device.
For such requests simply reset the block layer timer. Otherwise, let
SCSI layer perform the usual error handling.
Signed-off-by: Gilad Broner <gbro...@codeaurora.org>
Signed-off-by: Yaniv Gard
V1:
This series should be pushed on top of 15 patches series:
"Big fixes, retries, handle a race condition"
Yaniv Gardi (17):
scsi: ufs-qcom: add number of lanes per direction
scsi: ufs: add option to change default UFS power management level
scsi: ufs: optimize system suspen
Signed-off-by: Yaniv Gardi <yga...@codeaurora.org>
---
drivers/scsi/ufs/ufs-qcom.c | 34 +-
drivers/scsi/ufs/ufshcd.h | 21 +
2 files changed, 38 insertions(+), 17 deletions(-)
diff --git a/drivers/scsi/ufs/ufs-qcom.c b/drivers/scsi/u
in routine definition,
build errors in case CONFIG_PM is not defined and some
other minor fixes.
Yaniv Gardi (8):
phy: qcom-ufs: fix build error when the component is built as a module
scsi: ufs-qcom: fix compilation warning if compiled as a module
scsi: ufs-qcom: update configuration option
, system suspend/resume etc), parsers of
clocks, regulators and pm_levels from DT.
2. What used to be the old platform "probe" is now "only"
a pltfrm_init() routine, that does exactly the same, but only
being called by the new probe function of the UFS variant.
Signed-off-
-by: Yaniv Gardi <yga...@codeaurora.org>
---
drivers/scsi/ufs/ufs-qcom.c | 640
drivers/scsi/ufs/ufs-qcom.h | 31 ++-
drivers/scsi/ufs/ufshcd.c | 8 +-
drivers/scsi/ufs/ufshcd.h | 27 +-
4 files changed, 525 insertions(+), 181 deletions(-)
In order to simplify the code a set of wrapper functions is created
to test and call each of the variant operations.
Signed-off-by: Yaniv Gardi <yga...@codeaurora.org>
---
drivers/scsi/ufs/ufs-qcom.c | 1 -
drivers/scsi/ufs/ufshcd.c
Adds support for configuring and reading the test bus and debug
registers. This change also adds another vops in order to print the
debug registers.
Signed-off-by: Yaniv Gardi <yga...@codeaurora.org>
---
drivers/scsi/ufs/ufs-qcom.c | 165 +++-
d
This change fixes a compilation warning that happens if SCSI_UFS_QCOM
is compiled as a module.
Also this patch fixes an error happens when insmod the module:
"ufs_qcom: module license 'unspecified' taints kernel."
Signed-off-by: Yaniv Gardi <yga...@codeaurora.org>
---
driv
defined!
ERROR: "ufs_qcom_phy_disable_dev_ref_clk"
[drivers/scsi/ufs/ufs-qcom.ko] undefined!
ERROR: "ufs_qcom_phy_save_controller_version"
[drivers/scsi/ufs/ufs-qcom.ko] undefined!
ERROR: "ufs_qcom_phy_enable_iface_clk"
[drivers/scsi/ufs/ufs-qcom.ko]
This change is required in order to be able to build the component
as a module.
Signed-off-by: Yaniv Gardi <yga...@codeaurora.org>
---
drivers/scsi/ufs/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/scsi/ufs/Kconfig b/drivers/scsi/ufs/Kconfig
index e
When sending a query to the device returns with a timeout error,
we clear the corresponding bit in the DOORBELL register but
we don't clear the outstanding_request field as we should.
This patch fixes this bug.
Signed-off-by: Yaniv Gardi <yga...@codeaurora.org>
---
drivers/scsi/ufs/uf
have to retry fDeviceInit query requests multiple times and
each query request timeout prints one error message.
Signed-off-by: Subhash Jadavani <subha...@codeaurora.org>
Signed-off-by: Yaniv Gardi <yga...@codeaurora.org>
---
drivers/scsi/ufs/ufshcd.c | 12 +++-
1 file changed, 1
<subha...@codeaurora.org>
Signed-off-by: Maya Erez <me...@codeaurora.org>
Signed-off-by: Yaniv Gardi <yga...@codeaurora.org>
---
drivers/scsi/ufs/ufshcd.c | 17 +
1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/
bro...@codeaurora.org>
Signed-off-by: Subhash Jadavani <subha...@codeaurora.org>
Signed-off-by: Yaniv Gardi <yga...@codeaurora.org>
---
drivers/scsi/ufs/ufshcd.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index 29851
is recovered to active state, tries to put the UFS link in
hibern8 enter again until retry count expires.
Signed-off-by: Subhash Jadavani <subha...@codeaurora.org>
Signed-off-by: Yaniv Gardi <yga...@codeaurora.org>
---
drivers/scsi/ufs/ufshcd.c | 26 --
1 file
UFS flag query requests may fail sometimes due to timeouts etc.
Add a wrapper function to retry up to 10 times in case of such
failure, similar to retries being made for attribute queries.
Signed-off-by: Gilad Broner <gbro...@codeaurora.org>
Signed-off-by: Yaniv Gardi <yga...@codea
from first 2 context listed above. This change fixes
the recovery by adding proper error handling mechanism.
Signed-off-by: Subhash Jadavani <subha...@codeaurora.org>
Signed-off-by: Yaniv Gardi <yga...@codeaurora.org>
---
drivers/scsi/ufs/u
<lsus...@codeaurora.org>
Signed-off-by: Yaniv Gardi <yga...@codeaurora.org>
---
drivers/scsi/ufs/ufshcd.c | 40 +---
1 file changed, 29 insertions(+), 11 deletions(-)
diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index 217b5cf..8d
events which is not quite necessary and instead we can
just wait for the interrupt of 2nd completion, this should reduce
the number of interrupts and could reduce the unnecessary CPU wakeups
to handle extra interrupts.
Signed-off-by: Subhash Jadavani <subha...@codeaurora.org>
Signed-off-by: Yaniv
of descriptors takes places before ringing the
doorbell, similarly to setting up a transfer request.
Signed-off-by: Gilad Broner <gbro...@codeaurora.org>
Signed-off-by: Yaniv Gardi <yga...@codeaurora.org>
---
drivers/scsi/ufs/ufshcd.c | 21 +++--
1 file changed, 15 inse
the series of 8 patches
I have uploaded to the upstream a week ago:
"Fix error message and present UFS variant probe"
Yaniv Gardi (15):
scsi: ufs: clear UTRD, UPIU req and rsp before new transfers
scsi: ufs: clear fields UTRD, UPIU req and rsp before new transfers
scsi: ufs: verify
Sometimes queries from the device might return a failure so it is
recommended to retry sending the query, before giving up.
This change adds a wrapper to retry sending a query attribute,
in cases where we need to wait longer, before we continue,
or before reporting a failure.
Signed-off-by: Yaniv
is done with tag which was set to -1
and so it is invalid.
Assert command tag passed from scsi layer is valid.
Signed-off-by: Gilad Broner <gbro...@codeaurora.org>
Signed-off-by: Yaniv Gardi <yga...@codeaurora.org>
---
drivers/scsi/ufs/ufshcd.c | 24 ++--
1 file
while PM callbacks are running.
Signed-off-by: Subhash Jadavani <subha...@codeaurora.org>
Signed-off-by: Yaniv Gardi <yga...@codeaurora.org>
---
drivers/scsi/ufs/ufshcd.c | 15 ++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/drivers/scsi/ufs/ufshcd.c b/driv
According to UFS device specification REQUEST_SENSE command can
only report back up to 18 bytes of data.
Signed-off-by: Gilad Broner <gbro...@codeaurora.org>
Signed-off-by: Yaniv Gardi <yga...@codeaurora.org>
---
drivers/scsi/ufs/ufshcd.c | 11 ++-
1 file changed, 6 inse
the
PRDT table length to zero which should take care of commands which doesn't
have any data associated with it. We are also clearing the unused fields in
request UPIU for NOP command.
Signed-off-by: Subhash Jadavani <subha...@codeaurora.org>
Signed-off-by: Yaniv Gardi <yga...@codea
This change fixes a compilation warning that happens if SCSI_UFS_QCOM
is compiled as a module.
Also this patch fixes an error happens when insmod the module:
"ufs_qcom: module license 'unspecified' taints kernel."
Signed-off-by: Yaniv Gardi <yga...@codeaurora.org>
---
driv
This change is required in order to be able to build the component
as a module.
Signed-off-by: Yaniv Gardi <yga...@codeaurora.org>
---
drivers/scsi/ufs/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/scsi/ufs/Kconfig b/drivers/scsi/ufs/Kconfig
index e
-by: Yaniv Gardi <yga...@codeaurora.org>
---
drivers/scsi/ufs/ufs-qcom.c | 640
drivers/scsi/ufs/ufs-qcom.h | 31 ++-
drivers/scsi/ufs/ufshcd.c | 8 +-
drivers/scsi/ufs/ufshcd.h | 27 +-
4 files changed, 525 insertions(+), 181 deletions(-)
Adds support for configuring and reading the test bus and debug
registers. This change also adds another vops in order to print the
debug registers.
Signed-off-by: Yaniv Gardi <yga...@codeaurora.org>
---
drivers/scsi/ufs/ufs-qcom.c | 165 +++-
d
, system suspend/resume etc), parsers of
clocks, regulators and pm_levels from DT.
2. What used to be the old platform "probe" is now "only"
a pltfrm_init() routine, that does exactly the same, but only
being called by the new probe function of the UFS variant.
Signed-off-
Signed-off-by: Yaniv Gardi <yga...@codeaurora.org>
---
drivers/scsi/ufs/ufs-qcom.c | 34 +-
drivers/scsi/ufs/ufshcd.h | 21 +
2 files changed, 38 insertions(+), 17 deletions(-)
diff --git a/drivers/scsi/ufs/ufs-qcom.c b/drivers/scsi/u
In order to simplify the code a set of wrapper functions is created
to test and call each of the variant operations.
Signed-off-by: Yaniv Gardi <yga...@codeaurora.org>
---
drivers/scsi/ufs/ufs-qcom.c | 1 -
drivers/scsi/ufs/ufshcd.c
defined!
ERROR: "ufs_qcom_phy_disable_dev_ref_clk"
[drivers/scsi/ufs/ufs-qcom.ko] undefined!
ERROR: "ufs_qcom_phy_save_controller_version"
[drivers/scsi/ufs/ufs-qcom.ko] undefined!
ERROR: "ufs_qcom_phy_enable_iface_clk"
[drivers/scsi/ufs/ufs-qcom.ko]
and modify the compatible strings in
Documentation/devicetree/bindings/ufs/ufshcd-pltfrm.txt
V3: fixes a few minor issues.
V2: fixes a few issues of unnecessary EXPORT_SYMBOL,
types of parameters in routine definition,
build errors in case CONFIG_PM is not defined and some
other minor fixes.
Yaniv
In order to simplify the code a set of wrapper functions is created
to test and call each of the variant operations.
Signed-off-by: Yaniv Gardi <yga...@codeaurora.org>
---
drivers/scsi/ufs/ufs-qcom.c | 1 -
drivers/scsi/ufs/ufshcd.c
Signed-off-by: Yaniv Gardi <yga...@codeaurora.org>
---
drivers/scsi/ufs/ufs-qcom.c | 34 +-
drivers/scsi/ufs/ufshcd.h | 21 +
2 files changed, 38 insertions(+), 17 deletions(-)
diff --git a/drivers/scsi/ufs/ufs-qcom.c b/drivers/scsi/u
defined!
ERROR: "ufs_qcom_phy_disable_dev_ref_clk"
[drivers/scsi/ufs/ufs-qcom.ko] undefined!
ERROR: "ufs_qcom_phy_save_controller_version"
[drivers/scsi/ufs/ufs-qcom.ko] undefined!
ERROR: "ufs_qcom_phy_enable_iface_clk"
[drivers/scsi/ufs/ufs-qcom.ko]
This change fixes a compilation warning that happens if SCSI_UFS_QCOM
is compiled as a module.
Also this patch fixes an error happens when insmod the module:
"ufs_qcom: module license 'unspecified' taints kernel."
Signed-off-by: Yaniv Gardi <yga...@codeaurora.org>
---
driv
This change is required in order to be able to build the component
as a module.
Signed-off-by: Yaniv Gardi <yga...@codeaurora.org>
---
drivers/scsi/ufs/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/scsi/ufs/Kconfig b/drivers/scsi/ufs/Kconfig
index e
in
Documentation/devicetree/bindings/ufs/ufshcd-pltfrm.txt
V3: fixes a few minor issues.
V2: fixes a few issues of unnecessary EXPORT_SYMBOL,
types of parameters in routine definition,
build errors in case CONFIG_PM is not defined and some
other minor fixes.
Yaniv Gardi (8):
phy: qcom-ufs: fix
Adds support for configuring and reading the test bus and debug
registers. This change also adds another vops in order to print the
debug registers.
Signed-off-by: Yaniv Gardi yga...@codeaurora.org
---
drivers/scsi/ufs/ufs-qcom.c | 165 +++-
drivers/scsi
!
ERROR: ufs_qcom_phy_save_controller_version
[drivers/scsi/ufs/ufs-qcom.ko] undefined!
ERROR: ufs_qcom_phy_enable_iface_clk
[drivers/scsi/ufs/ufs-qcom.ko] undefined!
make[1]: *** [__modpost] Error 1
Signed-off-by: Yaniv Gardi yga...@codeaurora.org
---
drivers/phy/phy-qcom-ufs.c | 11
in case CONFIG_PM is not defined and some
other minor fixes.
Yaniv Gardi (8):
phy: qcom-ufs: fix build error when the component is built as a module
scsi: ufs-qcom: fix compilation warning if compiled as a module
scsi: ufs-qcom: update configuration option of SCSI_UFS_QCOM component
add
This change is required in order to be able to build the component
as a module.
Signed-off-by: Yaniv Gardi yga...@codeaurora.org
---
drivers/scsi/ufs/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/scsi/ufs/Kconfig b/drivers/scsi/ufs/Kconfig
index e945383
-by: Yaniv Gardi yga...@codeaurora.org
---
drivers/scsi/ufs/ufs-qcom.c | 640
drivers/scsi/ufs/ufs-qcom.h | 31 ++-
drivers/scsi/ufs/ufshcd.c | 8 +-
drivers/scsi/ufs/ufshcd.h | 27 +-
4 files changed, 525 insertions(+), 181 deletions(-)
diff
, system suspend/resume etc), parsers of
clocks, regulators and pm_levels from DT.
2. What used to be the old platform probe is now only
a pltfrm_init() routine, that does exactly the same, but only
being called by the new probe function of the UFS variant.
Signed-off-by: Yaniv Gardi yga
Signed-off-by: Yaniv Gardi yga...@codeaurora.org
---
drivers/scsi/ufs/ufs-qcom.c | 34 +-
drivers/scsi/ufs/ufshcd.h | 21 +
2 files changed, 38 insertions(+), 17 deletions(-)
diff --git a/drivers/scsi/ufs/ufs-qcom.c b/drivers/scsi/ufs/ufs
In order to simplify the code a set of wrapper functions is created
to test and call each of the variant operations.
Signed-off-by: Yaniv Gardi yga...@codeaurora.org
---
drivers/scsi/ufs/ufs-qcom.c | 1 -
drivers/scsi/ufs/ufshcd.c | 104 +---
drivers
is recovered to active state, tries to put the UFS link in
hibern8 enter again until retry count expires.
Signed-off-by: Subhash Jadavani subha...@codeaurora.org
Signed-off-by: Yaniv Gardi yga...@codeaurora.org
---
drivers/scsi/ufs/ufshcd.c | 26 --
1 file changed, 24 insertions
Sometimes queries from the device might return a failure so it is
recommended to retry sending the query, before giving up.
This change adds a wrapper to retry sending a query attribute,
in cases where we need to wait longer, before we continue,
or before reporting a failure.
Signed-off-by: Yaniv
...@codeaurora.org
Signed-off-by: Subhash Jadavani subha...@codeaurora.org
Signed-off-by: Yaniv Gardi yga...@codeaurora.org
---
drivers/scsi/ufs/ufshcd.c | 6 ++
1 file changed, 6 insertions(+)
diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index 298511a..024cc86 100644
--- a/drivers
of descriptors takes places before ringing the
doorbell, similarly to setting up a transfer request.
Signed-off-by: Gilad Broner gbro...@codeaurora.org
Signed-off-by: Yaniv Gardi yga...@codeaurora.org
---
drivers/scsi/ufs/ufshcd.c | 21 +++--
1 file changed, 15 insertions(+), 6
UFS flag query requests may fail sometimes due to timeouts etc.
Add a wrapper function to retry up to 10 times in case of such
failure, similar to retries being made for attribute queries.
Signed-off-by: Gilad Broner gbro...@codeaurora.org
Signed-off-by: Yaniv Gardi yga...@codeaurora.org
events which is not quite necessary and instead we can
just wait for the interrupt of 2nd completion, this should reduce
the number of interrupts and could reduce the unnecessary CPU wakeups
to handle extra interrupts.
Signed-off-by: Subhash Jadavani subha...@codeaurora.org
Signed-off-by: Yaniv Gardi
from first 2 context listed above. This change fixes
the recovery by adding proper error handling mechanism.
Signed-off-by: Subhash Jadavani subha...@codeaurora.org
Signed-off-by: Yaniv Gardi yga...@codeaurora.org
---
drivers/scsi/ufs/ufshcd.c | 58
while PM callbacks are running.
Signed-off-by: Subhash Jadavani subha...@codeaurora.org
Signed-off-by: Yaniv Gardi yga...@codeaurora.org
---
drivers/scsi/ufs/ufshcd.c | 15 ++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs
According to UFS device specification REQUEST_SENSE command can
only report back up to 18 bytes of data.
Signed-off-by: Gilad Broner gbro...@codeaurora.org
Signed-off-by: Yaniv Gardi yga...@codeaurora.org
---
drivers/scsi/ufs/ufshcd.c | 11 ++-
1 file changed, 6 insertions(+), 5
When sending a query to the device returns with a timeout error,
we clear the corresponding bit in the DOORBELL register but
we don't clear the outstanding_request field as we should.
This patch fixes this bug.
Signed-off-by: Yaniv Gardi yga...@codeaurora.org
---
drivers/scsi/ufs/ufshcd.c | 22
have to retry fDeviceInit query requests multiple times and
each query request timeout prints one error message.
Signed-off-by: Subhash Jadavani subha...@codeaurora.org
Signed-off-by: Yaniv Gardi yga...@codeaurora.org
---
drivers/scsi/ufs/ufshcd.c | 12 +++-
1 file changed, 11 insertions
lsus...@codeaurora.org
Signed-off-by: Yaniv Gardi yga...@codeaurora.org
---
drivers/scsi/ufs/ufshcd.c | 40 +---
1 file changed, 29 insertions(+), 11 deletions(-)
diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index 217b5cf..8d5bdf0 100644
, system suspend/resume etc), parsers of
clocks, regulators and pm_levels from DT.
2. What used to be the old platform probe is now only
a pltfrm_init() routine, that does exactly the same, but only
being called by the new probe function of the UFS variant.
Signed-off-by: Yaniv Gardi yga
!
ERROR: ufs_qcom_phy_save_controller_version
[drivers/scsi/ufs/ufs-qcom.ko] undefined!
ERROR: ufs_qcom_phy_enable_iface_clk
[drivers/scsi/ufs/ufs-qcom.ko] undefined!
make[1]: *** [__modpost] Error 1
Signed-off-by: Yaniv Gardi yga...@codeaurora.org
---
drivers/phy/phy-qcom-ufs.c | 11
V3: fixes a few minor issues.
V2: fixes a few issues of unnecessary EXPORT_SYMBOL,
types of parameters in routine definition,
build errors in case CONFIG_PM is not defined and some
other minor fixes.
Yaniv Gardi (8):
phy: qcom-ufs: fix build error when the component is built as a module
Signed-off-by: Yaniv Gardi yga...@codeaurora.org
---
drivers/scsi/ufs/ufs-qcom.c | 34 +-
drivers/scsi/ufs/ufshcd.h | 21 +
2 files changed, 38 insertions(+), 17 deletions(-)
diff --git a/drivers/scsi/ufs/ufs-qcom.c b/drivers/scsi/ufs/ufs
-by: Yaniv Gardi yga...@codeaurora.org
---
drivers/scsi/ufs/ufs-qcom.c | 640
drivers/scsi/ufs/ufs-qcom.h | 31 ++-
drivers/scsi/ufs/ufshcd.c | 8 +-
drivers/scsi/ufs/ufshcd.h | 27 +-
4 files changed, 525 insertions(+), 181 deletions(-)
diff
Adds support for configuring and reading the test bus and debug
registers. This change also adds another vops in order to print the
debug registers.
Signed-off-by: Yaniv Gardi yga...@codeaurora.org
---
drivers/scsi/ufs/ufs-qcom.c | 165 +++-
drivers/scsi
This change fixes a compilation warning that happens if SCSI_UFS_QCOM
is compiled as a module.
Also this patch fixes an error happens when insmod the module:
ufs_qcom: module license 'unspecified' taints kernel.
Signed-off-by: Yaniv Gardi yga...@codeaurora.org
---
drivers/scsi/ufs/ufs-qcom.c
In order to simplify the code a set of wrapper functions is created
to test and call each of the variant operations.
Signed-off-by: Yaniv Gardi yga...@codeaurora.org
---
drivers/scsi/ufs/ufs-qcom.c | 1 -
drivers/scsi/ufs/ufshcd.c | 104 +---
drivers
This change is required in order to be able to build the component
as a module.
Signed-off-by: Yaniv Gardi yga...@codeaurora.org
---
drivers/scsi/ufs/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/scsi/ufs/Kconfig b/drivers/scsi/ufs/Kconfig
index e945383
The dme_peer get/set attribute commands are prone to errors, therefore
we add three retries for the UIC command sending.
Error code returned from ufshcd_send_uic_cmd() is checked, and unless
it was successful or the retries have finished, another command will be
sent.
Signed-off-by: Yaniv Gardi
UFS flag query requests may fail sometimes due to timeouts etc.
Add a wrapper function to retry up to 10 times in case of such
failure, similar to retries being made for attribute queries.
Signed-off-by: Yaniv Gardi yga...@codeaurora.org
---
drivers/scsi/ufs/ufshcd.c | 63
from first 2 context listed above. This change fixes
the recovery by adding proper error handling mechanism.
Signed-off-by: Yaniv Gardi yga...@codeaurora.org
---
drivers/scsi/ufs/ufshcd.c | 58 +++
1 file changed, 53 insertions(+), 5 deletions(-)
diff
is recovered to active state, tries to put the UFS link in
hibern8 enter again until retry count expires.
Signed-off-by: Yaniv Gardi yga...@codeaurora.org
---
drivers/scsi/ufs/ufshcd.c | 26 --
1 file changed, 24 insertions(+), 2 deletions(-)
diff --git a/drivers/scsi/ufs
This serie of 15 small patches should be pushed after the series of 8 patches
I have uploaded to the upstream a week ago:
Fix error message and present UFS variant probe
Yaniv Gardi (15):
scsi: ufs: clear UTRD, UPIU req and rsp before new transfers
scsi: ufs: clear fields UTRD, UPIU req
is done with tag which was set to -1
and so it is invalid.
Assert command tag passed from scsi layer is valid.
Signed-off-by: Yaniv Gardi yga...@codeaurora.org
---
drivers/scsi/ufs/ufshcd.c | 22 +-
1 file changed, 21 insertions(+), 1 deletion(-)
diff --git a/drivers/scsi/ufs
have to retry fDeviceInit query requests multiple times and
each query request timeout prints one error message.
Signed-off-by: Yaniv Gardi yga...@codeaurora.org
---
drivers/scsi/ufs/ufshcd.c | 12 +++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/drivers/scsi/ufs/ufshcd.c b
from each other, we need
to clear the whole SCSI command field to prevent sending uninitialized
data to the device.
The UPIU response doesn't always include the sense data and can differ
in size.
Hence, the UPIU response should also be cleared before the transfer.
Signed-off-by: Yaniv Gardi yga
According to UFS device specification REQUEST_SENSE command can
only report back up to 18 bytes of data.
Signed-off-by: Yaniv Gardi yga...@codeaurora.org
---
drivers/scsi/ufs/ufshcd.c | 11 ++-
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/drivers/scsi/ufs/ufshcd.c b
while PM callbacks are running.
Signed-off-by: Yaniv Gardi yga...@codeaurora.org
---
drivers/scsi/ufs/ufshcd.c | 15 ++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index ab48220..f248df2 100644
--- a/drivers/scsi/ufs
When sending a query to the device returns with a timeout error,
we clear the corresponding bit in the DOORBELL register but
we don't clear the outstanding_request field as we should.
This patch fixes this bug.
Signed-off-by: Yaniv Gardi yga...@codeaurora.org
---
drivers/scsi/ufs/ufshcd.c | 22
the
PRDT table length to zero which should take care of commands which doesn't
have any data associated with it. We are also clearing the unused fields in
request UPIU for NOP command.
Signed-off-by: Yaniv Gardi yga...@codeaurora.org
---
drivers/scsi/ufs/ufshcd.c | 8
1 file changed, 8
Sometimes queries from the device might return a failure so it is
recommended to retry sending the query, before giving up.
This change adds a wrapper to retry sending a query attribute,
in cases where we need to wait longer, before we continue,
or before reporting a failure.
Signed-off-by: Yaniv
events which is not quite necessary and instead we can
just wait for the interrupt of 2nd completion, this should reduce
the number of interrupts and could reduce the unnecessary CPU wakeups
to handle extra interrupts.
Signed-off-by: Yaniv Gardi yga...@codeaurora.org
---
drivers/scsi/ufs/ufshcd.c
of descriptors takes places before ringing the
doorbell, similarly to setting up a transfer request.
Signed-off-by: Yaniv Gardi yga...@codeaurora.org
---
drivers/scsi/ufs/ufshcd.c | 21 +++--
1 file changed, 15 insertions(+), 6 deletions(-)
diff --git a/drivers/scsi/ufs/ufshcd.c b
201 - 300 of 373 matches
Mail list logo