[v3 08/14] scsi: ufs: add error recovery after DL NAC error

2016-02-04 Thread Yaniv Gardi
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

[v3 05/14] scsi: ufs: separate device and host quirks

2016-02-04 Thread Yaniv Gardi
Shvili <rshv...@codeaurora.org> Signed-off-by: Yaniv Gardi <yga...@codeaurora.org> --- drivers/scsi/ufs/Makefile | 2 +- drivers/scsi/ufs/ufs.h| 32 +++ drivers/scsi/ufs/ufs_quirks.c | 100 ++ drivers/scsi/ufs/

[v3 11/14] scsi: ufs: tune UniPro parameters to optimize hibern8 exit time

2016-02-04 Thread Yaniv Gardi
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

[v3 09/14] scsi: ufs: add retry for query descriptors

2016-02-04 Thread Yaniv Gardi
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

[v4 09/14] scsi: ufs: add retry for query descriptors

2016-02-04 Thread Yaniv Gardi
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

[v4 01/14] scsi: ufs-qcom: add number of lanes per direction

2016-02-04 Thread Yaniv Gardi
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> --- ..

[PATCH v7 02/14] scsi: ufs: clear fields UTRD, UPIU req and rsp before new transfers

2016-02-01 Thread Yaniv Gardi
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. Reviewed-by: Gilad Broner Reviewed-by: Dolev Raviv Signed-off-by: Subhash Jadavani Signed-off-by: Yaniv Gardi

[PATCH v7 04/14] scsi: ufs: clear outstanding_request bit in case query timeout

2016-02-01 Thread Yaniv Gardi
Signed-off-by: Yaniv Gardi --- drivers/scsi/ufs/ufshcd.c | 22 -- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c index 8a34f61..4863e93 100644 --- a/drivers/scsi/ufs/ufshcd.c +++ b/drivers/scsi/ufs/ufshcd.c

[PATCH v7 03/14] scsi: ufs: verify command tag validity

2016-02-01 Thread Yaniv Gardi
is done with tag which was set to -1 and so it is invalid. Assert command tag passed from scsi layer is valid. Reviewed-by: Subhash Jadavani Reviewed-by: Dolev Raviv Signed-off-by: Gilad Broner Signed-off-by: Yaniv Gardi --- drivers/scsi/ufs/ufshcd.c | 24 ++-- 1 file changed

[PATCH v7 05/14] scsi: ufs: increase fDeviceInit query response timeout

2016-02-01 Thread Yaniv Gardi
have to retry fDeviceInit query requests multiple times and each query request timeout prints one error message. Reviewed-by: Gilad Broner Reviewed-by: Dolev Raviv Signed-off-by: Subhash Jadavani Signed-off-by: Yaniv Gardi --- drivers/scsi/ufs/ufshcd.c | 12 +++- 1 file changed, 11

[PATCH v7 09/14] scsi: ufs: fix error recovery after the hibern8 exit failure

2016-02-01 Thread Yaniv Gardi
from first 2 context listed above. This change fixes the recovery by adding proper error handling mechanism. Reviewed-by: Gilad Broner Reviewed-by: Dolev Raviv Signed-off-by: Subhash Jadavani Signed-off-by: Yaniv Gardi --- drivers/scsi/ufs/ufshcd.c | 58

[PATCH v7 12/14] scsi: ufs: add missing memory barriers

2016-02-01 Thread Yaniv Gardi
of descriptors takes places before ringing the doorbell, similarly to setting up a transfer request. Reviewed-by: Dolev Raviv Signed-off-by: Gilad Broner Signed-off-by: Yaniv Gardi --- drivers/scsi/ufs/ufshcd.c | 19 +-- 1 file changed, 13 insertions(+), 6 deletions(-) diff

[PATCH v7 11/14] scsi: ufs: reduce the interrupts for power mode change requests

2016-02-01 Thread Yaniv Gardi
Signed-off-by: Yaniv Gardi --- drivers/scsi/ufs/ufshcd.c | 41 +++-- 1 file changed, 27 insertions(+), 14 deletions(-) diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c index 87da429..a1e9d82 100644 --- a/drivers/scsi/ufs/ufshcd.c +++ b

[PATCH v7 07/14] scsi: ufs: add retries to dme_peer get and set attribute

2016-02-01 Thread Yaniv Gardi
Reviewed-by: Dolev Raviv Signed-off-by: Lee Susman Signed-off-by: Yaniv Gardi --- 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 e374b79..4c0827f

[PATCH v7 08/14] scsi: ufs: add retries for hibern8 enter

2016-02-01 Thread Yaniv Gardi
is recovered to active state, tries to put the UFS link in hibern8 enter again until retry count expires. Reviewed-by: Gilad Broner Reviewed-by: Dolev Raviv Signed-off-by: Subhash Jadavani Signed-off-by: Yaniv Gardi --- drivers/scsi/ufs/ufshcd.c | 26 -- 1 file changed, 24

[PATCH v7 14/14] scsi: ufs: add wrapper for retrying sending query attribute

2016-02-01 Thread Yaniv Gardi
Broner Reviewed-by: Dolev Raviv Signed-off-by: Yaniv Gardi --- drivers/scsi/ufs/ufshcd.c | 51 --- 1 file changed, 44 insertions(+), 7 deletions(-) diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c index 2fc678d..7ab6a45 100644

[PATCH v7 13/14] scsi: ufs: commit descriptors before setting the doorbell

2016-02-01 Thread Yaniv Gardi
-by: Gilad Broner Signed-off-by: Subhash Jadavani Signed-off-by: Yaniv Gardi --- 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 1893a14..2fc678d 100644 --- a/drivers/scsi/ufs/ufshcd.c +++ b/drivers/scsi/ufs

[PATCH v7 10/14] scsi: ufs: retry failed query flag requests

2016-02-01 Thread 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. Reviewed-by: Dolev Raviv Signed-off-by: Gilad Broner Signed-off-by: Yaniv Gardi --- drivers/scsi/ufs

[PATCH v7 06/14] scsi: ufs: avoid exception event handler racing with PM callbacks

2016-02-01 Thread Yaniv Gardi
while PM callbacks are running. Reviewed-by: Gilad Broner Reviewed-by: Dolev Raviv Signed-off-by: Subhash Jadavani Signed-off-by: Yaniv Gardi --- drivers/scsi/ufs/ufshcd.c | 15 ++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi

[PATCH v7 00/14] Big fixes, retries, handle a race condition

2016-02-01 Thread Yaniv Gardi
. V2: a few minor changes V1: 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 (14): scsi: ufs: clear UTRD, UPIU req and rsp before new transfers

[PATCH v7 01/14] scsi: ufs: clear UTRD, UPIU req and rsp before new transfers

2016-02-01 Thread Yaniv Gardi
-by: Dolev Raviv Signed-off-by: Subhash Jadavani Signed-off-by: Maya Erez Signed-off-by: Yaniv Gardi --- drivers/scsi/ufs/ufshcd.c | 16 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c index 85cd256..03533f0

[PATCH v7 09/14] scsi: ufs: fix error recovery after the hibern8 exit failure

2016-02-01 Thread Yaniv Gardi
from first 2 context listed above. This change fixes the recovery by adding proper error handling mechanism. Reviewed-by: Gilad Broner <gbro...@codeaurora.org> Reviewed-by: Dolev Raviv <dra...@codeaurora.org> Signed-off-by: Subhash Jadavani <subha...@codeaurora.org> Signed-off-by

[PATCH v7 05/14] scsi: ufs: increase fDeviceInit query response timeout

2016-02-01 Thread Yaniv Gardi
have to retry fDeviceInit query requests multiple times and each query request timeout prints one error message. Reviewed-by: Gilad Broner <gbro...@codeaurora.org> Reviewed-by: Dolev Raviv <dra...@codeaurora.org> Signed-off-by: Subhash Jadavani <subha...@codeaurora.org> Signed-off-by

[PATCH v7 01/14] scsi: ufs: clear UTRD, UPIU req and rsp before new transfers

2016-02-01 Thread Yaniv Gardi
bro...@codeaurora.org> Reviewed-by: Dolev Raviv <dra...@codeaurora.org> Signed-off-by: Subhash Jadavani <subha...@codeaurora.org> Signed-off-by: Maya Erez <me...@codeaurora.org> Signed-off-by: Yaniv Gardi <yga...@codeaurora.org> --- drivers/scsi/ufs/ufshcd.c | 16 ++

[PATCH v7 03/14] scsi: ufs: verify command tag validity

2016-02-01 Thread Yaniv Gardi
is done with tag which was set to -1 and so it is invalid. Assert command tag passed from scsi layer is valid. Reviewed-by: Subhash Jadavani <subha...@codeaurora.org> Reviewed-by: Dolev Raviv <dra...@codeaurora.org> Signed-off-by: Gilad Broner <gbro...@codeaurora.org> Signed-off-by

[PATCH v7 04/14] scsi: ufs: clear outstanding_request bit in case query timeout

2016-02-01 Thread Yaniv Gardi
Broner <gbro...@codeaurora.org> Reviewed-by: Dolev Raviv <dra...@codeaurora.org> Signed-off-by: Yaniv Gardi <yga...@codeaurora.org> --- drivers/scsi/ufs/ufshcd.c | 22 -- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/ufs/ufshcd.c b/d

[PATCH v7 13/14] scsi: ufs: commit descriptors before setting the doorbell

2016-02-01 Thread Yaniv Gardi
dra...@codeaurora.org> Signed-off-by: Gilad Broner <gbro...@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/ufs

[PATCH v7 10/14] scsi: ufs: retry failed query flag requests

2016-02-01 Thread Yaniv Gardi
g> Signed-off-by: Yaniv Gardi <yga...@codeaurora.org> --- drivers/scsi/ufs/ufshcd.c | 63 --- drivers/scsi/ufs/ufshcd.h | 4 +++ 2 files changed, 41 insertions(+), 26 deletions(-) diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufsh

[PATCH v7 06/14] scsi: ufs: avoid exception event handler racing with PM callbacks

2016-02-01 Thread Yaniv Gardi
while PM callbacks are running. Reviewed-by: Gilad Broner <gbro...@codeaurora.org> Reviewed-by: Dolev Raviv <dra...@codeaurora.org> Signed-off-by: Subhash Jadavani <subha...@codeaurora.org> Signed-off-by: Yaniv Gardi <yga...@codeaurora.org> --- drivers/scsi/ufs/ufshcd.c | 15

[PATCH v7 00/14] Big fixes, retries, handle a race condition

2016-02-01 Thread Yaniv Gardi
. V2: a few minor changes V1: 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 (14): scsi: ufs: clear UTRD, UPIU req and rsp before new transfers

[PATCH v7 14/14] scsi: ufs: add wrapper for retrying sending query attribute

2016-02-01 Thread Yaniv Gardi
Broner <gbro...@codeaurora.org> Reviewed-by: Dolev Raviv <dra...@codeaurora.org> Signed-off-by: Yaniv Gardi <yga...@codeaurora.org> --- drivers/scsi/ufs/ufshcd.c | 51 --- 1 file changed, 44 insertions(+), 7 deletions(-) diff --git

[PATCH v7 07/14] scsi: ufs: add retries to dme_peer get and set attribute

2016-02-01 Thread Yaniv Gardi
<gbro...@codeaurora.org> Reviewed-by: Dolev Raviv <dra...@codeaurora.org> Signed-off-by: Lee Susman <lsus...@codeaurora.org> Signed-off-by: Yaniv Gardi <yga...@codeaurora.org> --- drivers/scsi/ufs/ufshcd.c | 40 +--- 1 file changed, 29 ins

[PATCH v7 08/14] scsi: ufs: add retries for hibern8 enter

2016-02-01 Thread Yaniv Gardi
is recovered to active state, tries to put the UFS link in hibern8 enter again until retry count expires. Reviewed-by: Gilad Broner <gbro...@codeaurora.org> Reviewed-by: Dolev Raviv <dra...@codeaurora.org> Signed-off-by: Subhash Jadavani <subha...@codeaurora.org> Signed-off-by

[PATCH v7 12/14] scsi: ufs: add missing memory barriers

2016-02-01 Thread Yaniv Gardi
of descriptors takes places before ringing the doorbell, similarly to setting up a transfer request. Reviewed-by: Dolev Raviv <dra...@codeaurora.org> Signed-off-by: Gilad Broner <gbro...@codeaurora.org> Signed-off-by: Yaniv Gardi <yga...@codeaurora.org> --- drivers/scsi

[PATCH v7 11/14] scsi: ufs: reduce the interrupts for power mode change requests

2016-02-01 Thread Yaniv Gardi
v <dra...@codeaurora.org> Signed-off-by: Subhash Jadavani <subha...@codeaurora.org> Signed-off-by: Yaniv Gardi <yga...@codeaurora.org> --- drivers/scsi/ufs/ufshcd.c | 41 +++-- 1 file changed, 27 insertions(+), 14 deletions(-) diff --git a/dri

[PATCH v7 02/14] scsi: ufs: clear fields UTRD, UPIU req and rsp before new transfers

2016-02-01 Thread Yaniv Gardi
; Signed-off-by: Subhash Jadavani <subha...@codeaurora.org> Signed-off-by: Yaniv Gardi <yga...@codeaurora.org> --- drivers/scsi/ufs/ufshcd.c | 8 1 file changed, 8 insertions(+) diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c index 03533f0..7ae87c9 10064

[PATCH v6 09/15] scsi: ufs: add retries for hibern8 enter

2015-10-28 Thread Yaniv Gardi
is recovered to active state, tries to put the UFS link in hibern8 enter again until retry count expires. Reviewed-by: Gilad Broner Reviewed-by: Dolev Raviv Signed-off-by: Subhash Jadavani Signed-off-by: Yaniv Gardi --- drivers/scsi/ufs/ufshcd.c | 26 -- 1 file changed, 24

[PATCH v6 07/15] scsi: ufs: set REQUEST_SENSE command size to 18 bytes

2015-10-28 Thread Yaniv Gardi
According to UFS device specification REQUEST_SENSE command can only report back up to 18 bytes of data. Reviewed-by: Dolev Raviv Signed-off-by: Gilad Broner Signed-off-by: Yaniv Gardi --- drivers/scsi/ufs/ufshcd.c | 12 +++- 1 file changed, 7 insertions(+), 5 deletions(-) diff

[PATCH v6 04/15] scsi: ufs: clear outstanding_request bit in case query timeout

2015-10-28 Thread Yaniv Gardi
Signed-off-by: Yaniv Gardi --- drivers/scsi/ufs/ufshcd.c | 22 -- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c index 8860a57..e0b8755 100644 --- a/drivers/scsi/ufs/ufshcd.c +++ b/drivers/scsi/ufs/ufshcd.c

[PATCH v6 00/15] Big fixes, retries, handle a race condition

2015-10-28 Thread Yaniv Gardi
lls to wmb() since they are redundant. V2: a few minor changes V1: 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 re

[PATCH v6 01/15] scsi: ufs: clear UTRD, UPIU req and rsp before new transfers

2015-10-28 Thread Yaniv Gardi
-by: Dolev Raviv Signed-off-by: Subhash Jadavani Signed-off-by: Maya Erez Signed-off-by: Yaniv Gardi --- drivers/scsi/ufs/ufshcd.c | 17 + 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c index 131c720..3428f72

[PATCH v6 06/15] scsi: ufs: avoid exception event handler racing with PM callbacks

2015-10-28 Thread Yaniv Gardi
while PM callbacks are running. Reviewed-by: Gilad Broner Reviewed-by: Dolev Raviv Signed-off-by: Subhash Jadavani Signed-off-by: Yaniv Gardi --- drivers/scsi/ufs/ufshcd.c | 15 ++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi

[PATCH v6 03/15] scsi: ufs: verify command tag validity

2015-10-28 Thread Yaniv Gardi
is done with tag which was set to -1 and so it is invalid. Assert command tag passed from scsi layer is valid. Reviewed-by: Subhash Jadavani Reviewed-by: Dolev Raviv Signed-off-by: Gilad Broner Signed-off-by: Yaniv Gardi --- drivers/scsi/ufs/ufshcd.c | 24 ++-- 1 file changed

[PATCH v6 08/15] scsi: ufs: add retries to dme_peer get and set attribute

2015-10-28 Thread Yaniv Gardi
Reviewed-by: Dolev Raviv Signed-off-by: Lee Susman Signed-off-by: Yaniv Gardi --- 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 8a04691..5005d12

[PATCH v6 13/15] scsi: ufs: add missing memory barriers

2015-10-28 Thread Yaniv Gardi
of descriptors takes places before ringing the doorbell, similarly to setting up a transfer request. Reviewed-by: Dolev Raviv Signed-off-by: Gilad Broner Signed-off-by: Yaniv Gardi --- drivers/scsi/ufs/ufshcd.c | 19 +-- 1 file changed, 13 insertions(+), 6 deletions(-) diff

[PATCH v6 14/15] scsi: ufs: commit descriptors before setting the doorbell

2015-10-28 Thread Yaniv Gardi
-by: Gilad Broner Signed-off-by: Subhash Jadavani Signed-off-by: Yaniv Gardi --- 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 dfc4ac1..ec90504 100644 --- a/drivers/scsi/ufs/ufshcd.c +++ b/drivers/scsi/ufs

[PATCH v6 12/15] scsi: ufs: reduce the interrupts for power mode change requests

2015-10-28 Thread Yaniv Gardi
Signed-off-by: Yaniv Gardi --- drivers/scsi/ufs/ufshcd.c | 41 +++-- 1 file changed, 27 insertions(+), 14 deletions(-) diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c index 889a7be..24a879d 100644 --- a/drivers/scsi/ufs/ufshcd.c +++ b

[PATCH v6 10/15] scsi: ufs: fix error recovery after the hibern8 exit failure

2015-10-28 Thread Yaniv Gardi
from first 2 context listed above. This change fixes the recovery by adding proper error handling mechanism. Reviewed-by: Gilad Broner Reviewed-by: Dolev Raviv Signed-off-by: Subhash Jadavani Signed-off-by: Yaniv Gardi --- drivers/scsi/ufs/ufshcd.c | 58

[PATCH v6 11/15] scsi: ufs: retry failed query flag requests

2015-10-28 Thread 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. Reviewed-by: Dolev Raviv Signed-off-by: Gilad Broner Signed-off-by: Yaniv Gardi --- drivers/scsi/ufs

[PATCH v6 15/15] scsi: ufs: add wrapper for retrying sending query attribute

2015-10-28 Thread Yaniv Gardi
Broner Reviewed-by: Dolev Raviv Signed-off-by: Yaniv Gardi --- drivers/scsi/ufs/ufshcd.c | 51 --- 1 file changed, 44 insertions(+), 7 deletions(-) diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c index ec90504..1d1e681 100644

[PATCH v6 02/15] scsi: ufs: clear fields UTRD, UPIU req and rsp before new transfers

2015-10-28 Thread Yaniv Gardi
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. Reviewed-by: Gilad Broner Reviewed-by: Dolev Raviv Signed-off-by: Subhash Jadavani Signed-off-by: Yaniv Gardi

[PATCH v6 05/15] scsi: ufs: increase fDeviceInit query response timeout

2015-10-28 Thread Yaniv Gardi
have to retry fDeviceInit query requests multiple times and each query request timeout prints one error message. Reviewed-by: Gilad Broner Reviewed-by: Dolev Raviv Signed-off-by: Subhash Jadavani Signed-off-by: Yaniv Gardi --- drivers/scsi/ufs/ufshcd.c | 12 +++- 1 file changed, 11

[PATCH v9 4/8] scsi: ufs: add ufshcd_get_variant ufshcd_set_variant

2015-10-28 Thread Yaniv Gardi
This patch adds ufshcd_get_variant() and ufshcd_set_variant() routines in order to get/set the variant specific data. Reviewed-by: Akinobu Mita Reviewed-by: Subhash Jadavani Reviewed-by: Gilad Broner Signed-off-by: Yaniv Gardi --- drivers/scsi/ufs/ufs-qcom.c | 34

[PATCH v9 3/8] scsi: ufs-qcom: update configuration option of SCSI_UFS_QCOM component

2015-10-28 Thread Yaniv Gardi
This change is required in order to be able to build the component as a module. Reviewed-by: Akinobu Mita Reviewed-by: Subhash Jadavani Reviewed-by: Gilad Broner Signed-off-by: Yaniv Gardi --- drivers/scsi/ufs/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git

[PATCH v9 1/8] phy: qcom-ufs: fix build error when the component is built as a module

2015-10-28 Thread Yaniv Gardi
qcom.ko] undefined! make[1]: *** [__modpost] Error 1 Reviewed-by: Akinobu Mita Reviewed-by: Subhash Jadavani Reviewed-by: Gilad Broner Signed-off-by: Yaniv Gardi --- drivers/phy/phy-qcom-ufs.c | 11 +++ 1 file changed, 11 insertions(+) diff --git a/drivers/phy/phy-qcom-ufs.c b/drivers/phy/

[PATCH v9 8/8] scsi: ufs-qcom: add QUniPro hardware support and power optimizations

2015-10-28 Thread Yaniv Gardi
-by: Subhash Jadavani Reviewed-by: Gilad Broner Signed-off-by: Yaniv Gardi --- 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

[PATCH v9 6/8] scsi: ufs: make the UFS variant a platform device

2015-10-28 Thread Yaniv Gardi
ob Herring Reviewed-by: Gilad Broner Signed-off-by: Yaniv Gardi --- Documentation/devicetree/bindings/ufs/ufs-qcom.txt | 58 + .../devicetree/bindings/ufs/ufshcd-pltfrm.txt | 11 ++- drivers/scsi/ufs/ufs-qcom.c| 62 +- drivers/scsi

[PATCH v9 7/8] scsi: ufs-qcom: add debug prints for test bus

2015-10-28 Thread Yaniv Gardi
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. Reviewed-by: Subhash Jadavani Reviewed-by: Gilad Broner Signed-off-by: Yaniv Gardi --- drivers/scsi/ufs/ufs-qcom.c | 165

[PATCH v9 2/8] scsi: ufs-qcom: fix compilation warning if compiled as a module

2015-10-28 Thread Yaniv Gardi
lad Broner Signed-off-by: Yaniv Gardi --- drivers/scsi/ufs/ufs-qcom.c | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/scsi/ufs/ufs-qcom.c b/drivers/scsi/ufs/ufs-qcom.c index 4cdffa4..6c23bbf 100644 --- a/drivers/scsi/ufs/ufs-qcom.c +++ b/drivers/scsi/ufs/

[PATCH v9 5/8] scsi: ufs: creates wrapper functions for vops

2015-10-28 Thread Yaniv Gardi
In order to simplify the code a set of wrapper functions is created to test and call each of the variant operations. Reviewed-by: Akinobu Mita Reviewed-by: Subhash Jadavani Reviewed-by: Gilad Broner Signed-off-by: Yaniv Gardi --- drivers/scsi/ufs/ufs-qcom.c | 1 - drivers/scsi/ufs

[PATCH v9 0/8] Fix error message and present UFS variant

2015-10-28 Thread Yaniv Gardi
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 scsi: ufs-qcom: fix compilation warning if compiled as a module scsi

[PATCH v6 08/15] scsi: ufs: add retries to dme_peer get and set attribute

2015-10-28 Thread Yaniv Gardi
<gbro...@codeaurora.org> Reviewed-by: Dolev Raviv <dra...@codeaurora.org> Signed-off-by: Lee Susman <lsus...@codeaurora.org> Signed-off-by: Yaniv Gardi <yga...@codeaurora.org> --- drivers/scsi/ufs/ufshcd.c | 40 +--- 1 file changed, 29 ins

[PATCH v6 14/15] scsi: ufs: commit descriptors before setting the doorbell

2015-10-28 Thread Yaniv Gardi
dra...@codeaurora.org> Signed-off-by: Gilad Broner <gbro...@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/ufs

[PATCH v6 02/15] scsi: ufs: clear fields UTRD, UPIU req and rsp before new transfers

2015-10-28 Thread Yaniv Gardi
; Signed-off-by: Subhash Jadavani <subha...@codeaurora.org> Signed-off-by: Yaniv Gardi <yga...@codeaurora.org> --- drivers/scsi/ufs/ufshcd.c | 8 1 file changed, 8 insertions(+) diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c index 3428f72..2d3ebca 10064

[PATCH v6 11/15] scsi: ufs: retry failed query flag requests

2015-10-28 Thread Yaniv Gardi
g> Signed-off-by: Yaniv Gardi <yga...@codeaurora.org> --- drivers/scsi/ufs/ufshcd.c | 63 --- drivers/scsi/ufs/ufshcd.h | 4 +++ 2 files changed, 41 insertions(+), 26 deletions(-) diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufsh

[PATCH v6 05/15] scsi: ufs: increase fDeviceInit query response timeout

2015-10-28 Thread Yaniv Gardi
have to retry fDeviceInit query requests multiple times and each query request timeout prints one error message. Reviewed-by: Gilad Broner <gbro...@codeaurora.org> Reviewed-by: Dolev Raviv <dra...@codeaurora.org> Signed-off-by: Subhash Jadavani <subha...@codeaurora.org> Signed-off-by

[PATCH v9 6/8] scsi: ufs: make the UFS variant a platform device

2015-10-28 Thread Yaniv Gardi
ob Herring <robherri...@gmail.com> Reviewed-by: Gilad Broner <gbro...@codeaurora.org> Signed-off-by: Yaniv Gardi <yga...@codeaurora.org> --- Documentation/devicetree/bindings/ufs/ufs-qcom.txt | 58 + .../devicetree/bindings/ufs/ufshcd-pltfrm.txt

[PATCH v6 12/15] scsi: ufs: reduce the interrupts for power mode change requests

2015-10-28 Thread Yaniv Gardi
v <dra...@codeaurora.org> Signed-off-by: Subhash Jadavani <subha...@codeaurora.org> Signed-off-by: Yaniv Gardi <yga...@codeaurora.org> --- drivers/scsi/ufs/ufshcd.c | 41 +++-- 1 file changed, 27 insertions(+), 14 deletions(-) diff --git a/dri

[PATCH v6 10/15] scsi: ufs: fix error recovery after the hibern8 exit failure

2015-10-28 Thread Yaniv Gardi
from first 2 context listed above. This change fixes the recovery by adding proper error handling mechanism. Reviewed-by: Gilad Broner <gbro...@codeaurora.org> Reviewed-by: Dolev Raviv <dra...@codeaurora.org> Signed-off-by: Subhash Jadavani <subha...@codeaurora.org> Signed-off-by

[PATCH v6 13/15] scsi: ufs: add missing memory barriers

2015-10-28 Thread Yaniv Gardi
of descriptors takes places before ringing the doorbell, similarly to setting up a transfer request. Reviewed-by: Dolev Raviv <dra...@codeaurora.org> Signed-off-by: Gilad Broner <gbro...@codeaurora.org> Signed-off-by: Yaniv Gardi <yga...@codeaurora.org> --- drivers/scsi

[PATCH v6 07/15] scsi: ufs: set REQUEST_SENSE command size to 18 bytes

2015-10-28 Thread Yaniv Gardi
According to UFS device specification REQUEST_SENSE command can only report back up to 18 bytes of data. Reviewed-by: Dolev Raviv <dra...@codeaurora.org> Signed-off-by: Gilad Broner <gbro...@codeaurora.org> Signed-off-by: Yaniv Gardi <yga...@codeaurora.org> --- drivers/scsi

[PATCH v6 04/15] scsi: ufs: clear outstanding_request bit in case query timeout

2015-10-28 Thread Yaniv Gardi
Broner <gbro...@codeaurora.org> Reviewed-by: Dolev Raviv <dra...@codeaurora.org> Signed-off-by: Yaniv Gardi <yga...@codeaurora.org> --- drivers/scsi/ufs/ufshcd.c | 22 -- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/ufs/ufshcd.c b/d

[PATCH v6 09/15] scsi: ufs: add retries for hibern8 enter

2015-10-28 Thread Yaniv Gardi
is recovered to active state, tries to put the UFS link in hibern8 enter again until retry count expires. Reviewed-by: Gilad Broner <gbro...@codeaurora.org> Reviewed-by: Dolev Raviv <dra...@codeaurora.org> Signed-off-by: Subhash Jadavani <subha...@codeaurora.org> Signed-off-by

[PATCH v9 7/8] scsi: ufs-qcom: add debug prints for test bus

2015-10-28 Thread Yaniv Gardi
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. Reviewed-by: Subhash Jadavani <subha...@codeaurora.org> Reviewed-by: Gilad Broner <gbro...@codeaurora.org> Signed-off-by: Yani

[PATCH v6 15/15] scsi: ufs: add wrapper for retrying sending query attribute

2015-10-28 Thread Yaniv Gardi
Broner <gbro...@codeaurora.org> Reviewed-by: Dolev Raviv <dra...@codeaurora.org> Signed-off-by: Yaniv Gardi <yga...@codeaurora.org> --- drivers/scsi/ufs/ufshcd.c | 51 --- 1 file changed, 44 insertions(+), 7 deletions(-) diff --git

[PATCH v6 06/15] scsi: ufs: avoid exception event handler racing with PM callbacks

2015-10-28 Thread Yaniv Gardi
while PM callbacks are running. Reviewed-by: Gilad Broner <gbro...@codeaurora.org> Reviewed-by: Dolev Raviv <dra...@codeaurora.org> Signed-off-by: Subhash Jadavani <subha...@codeaurora.org> Signed-off-by: Yaniv Gardi <yga...@codeaurora.org> --- drivers/scsi/ufs/ufshcd.c | 15

[PATCH v6 01/15] scsi: ufs: clear UTRD, UPIU req and rsp before new transfers

2015-10-28 Thread Yaniv Gardi
bro...@codeaurora.org> Reviewed-by: Dolev Raviv <dra...@codeaurora.org> Signed-off-by: Subhash Jadavani <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 +++

[PATCH v6 03/15] scsi: ufs: verify command tag validity

2015-10-28 Thread Yaniv Gardi
is done with tag which was set to -1 and so it is invalid. Assert command tag passed from scsi layer is valid. Reviewed-by: Subhash Jadavani <subha...@codeaurora.org> Reviewed-by: Dolev Raviv <dra...@codeaurora.org> Signed-off-by: Gilad Broner <gbro...@codeaurora.org> Signed-off-by

[PATCH v9 0/8] Fix error message and present UFS variant

2015-10-28 Thread Yaniv Gardi
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 scsi: ufs-qcom: fix compilation warning if compiled as a module scsi

[PATCH v9 2/8] scsi: ufs-qcom: fix compilation warning if compiled as a module

2015-10-28 Thread Yaniv Gardi
Subhash Jadavani <subha...@codeaurora.org> Reviewed-by: Gilad Broner <gbro...@codeaurora.org> Signed-off-by: Yaniv Gardi <yga...@codeaurora.org> --- drivers/scsi/ufs/ufs-qcom.c | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/scsi/ufs/ufs-qcom.c b

[PATCH v9 5/8] scsi: ufs: creates wrapper functions for vops

2015-10-28 Thread Yaniv Gardi
In order to simplify the code a set of wrapper functions is created to test and call each of the variant operations. Reviewed-by: Akinobu Mita <akinobu.m...@gmail.com> Reviewed-by: Subhash Jadavani <subha...@codeaurora.org> Reviewed-by: Gilad Broner <gbro...@codeaurora.org> Si

[PATCH v9 8/8] scsi: ufs-qcom: add QUniPro hardware support and power optimizations

2015-10-28 Thread Yaniv Gardi
-by: Subhash Jadavani <subha...@codeaurora.org> Reviewed-by: Gilad Broner <gbro...@codeaurora.org> Signed-off-by: Yaniv Gardi <yga...@codeaurora.org> --- drivers/scsi/ufs/ufs-qcom.c | 640 drivers/scsi/ufs/ufs-qcom.h | 31 ++- drivers

[PATCH v9 3/8] scsi: ufs-qcom: update configuration option of SCSI_UFS_QCOM component

2015-10-28 Thread Yaniv Gardi
This change is required in order to be able to build the component as a module. Reviewed-by: Akinobu Mita <akinobu.m...@gmail.com> Reviewed-by: Subhash Jadavani <subha...@codeaurora.org> Reviewed-by: Gilad Broner <gbro...@codeaurora.org> Signed-off-by: Yaniv Gardi <

[PATCH v9 4/8] scsi: ufs: add ufshcd_get_variant ufshcd_set_variant

2015-10-28 Thread Yaniv Gardi
This patch adds ufshcd_get_variant() and ufshcd_set_variant() routines in order to get/set the variant specific data. Reviewed-by: Akinobu Mita <akinobu.m...@gmail.com> Reviewed-by: Subhash Jadavani <subha...@codeaurora.org> Reviewed-by: Gilad Broner <gbro...@codeaurora.org> Si

[PATCH v9 1/8] phy: qcom-ufs: fix build error when the component is built as a module

2015-10-28 Thread Yaniv Gardi
m.ko] undefined! make[1]: *** [__modpost] Error 1 Reviewed-by: Akinobu Mita <akinobu.m...@gmail.com> Reviewed-by: Subhash Jadavani <subha...@codeaurora.org> Reviewed-by: Gilad Broner <gbro...@codeaurora.org> Signed-off-by: Yaniv Gardi <yga...@codeaurora.org> --- drivers/phy/p

[PATCH v6 00/15] Big fixes, retries, handle a race condition

2015-10-28 Thread Yaniv Gardi
lls to wmb() since they are redundant. V2: a few minor changes V1: 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 re

[PATCH v5 02/15] scsi: ufs: clear fields UTRD, UPIU req and rsp before new transfers

2015-10-27 Thread Yaniv Gardi
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 Signed-off-by: Yaniv Gardi --- drivers/scsi/ufs/ufshcd.c | 8 1 file

[PATCH v5 03/15] scsi: ufs: verify command tag validity

2015-10-27 Thread Yaniv Gardi
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 Signed-off-by: Yaniv Gardi --- drivers/scsi/ufs/ufshcd.c | 24 ++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/drivers

[PATCH v5 04/15] scsi: ufs: clear outstanding_request bit in case query timeout

2015-10-27 Thread Yaniv Gardi
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 --- drivers/scsi/ufs/ufshcd.c | 22

[PATCH v5 05/15] scsi: ufs: increase fDeviceInit query response timeout

2015-10-27 Thread Yaniv Gardi
have to retry fDeviceInit query requests multiple times and each query request timeout prints one error message. Signed-off-by: Subhash Jadavani Signed-off-by: Yaniv Gardi --- drivers/scsi/ufs/ufshcd.c | 12 +++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/drivers/scsi

[PATCH v5 07/15] scsi: ufs: set REQUEST_SENSE command size to 18 bytes

2015-10-27 Thread Yaniv Gardi
According to UFS device specification REQUEST_SENSE command can only report back up to 18 bytes of data. Signed-off-by: Gilad Broner Signed-off-by: Yaniv Gardi --- drivers/scsi/ufs/ufshcd.c | 12 +++- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/drivers/scsi/ufs

[PATCH v5 10/15] scsi: ufs: fix error recovery after the hibern8 exit failure

2015-10-27 Thread Yaniv Gardi
from first 2 context listed above. This change fixes the recovery by adding proper error handling mechanism. Signed-off-by: Subhash Jadavani Signed-off-by: Yaniv Gardi --- drivers/scsi/ufs/ufshcd.c | 58 +++ 1 file changed, 53 insertions(+), 5

[PATCH v5 11/15] scsi: ufs: retry failed query flag requests

2015-10-27 Thread 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: Gilad Broner Signed-off-by: Yaniv Gardi --- drivers/scsi/ufs/ufshcd.c | 63

[PATCH v5 13/15] scsi: ufs: add missing memory barriers

2015-10-27 Thread Yaniv Gardi
of descriptors takes places before ringing the doorbell, similarly to setting up a transfer request. Signed-off-by: Gilad Broner Signed-off-by: Yaniv Gardi --- drivers/scsi/ufs/ufshcd.c | 19 +-- 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/drivers/scsi/ufs

[PATCH v5 09/15] scsi: ufs: add retries for hibern8 enter

2015-10-27 Thread Yaniv Gardi
is recovered to active state, tries to put the UFS link in hibern8 enter again until retry count expires. Signed-off-by: Subhash Jadavani Signed-off-by: Yaniv Gardi --- drivers/scsi/ufs/ufshcd.c | 26 -- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/drivers/scsi

[PATCH v5 08/15] scsi: ufs: add retries to dme_peer get and set attribute

2015-10-27 Thread Yaniv Gardi
Signed-off-by: Yaniv Gardi --- 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 8a04691..5005d12 100644 --- a/drivers/scsi/ufs/ufshcd.c +++ b/drivers

[PATCH v5 15/15] scsi: ufs: add wrapper for retrying sending query attribute

2015-10-27 Thread Yaniv Gardi
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

[PATCH v5 06/15] scsi: ufs: avoid exception event handler racing with PM callbacks

2015-10-27 Thread Yaniv Gardi
while PM callbacks are running. Signed-off-by: Subhash Jadavani Signed-off-by: Yaniv Gardi --- 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 573a8cb..0e54183 100644

[PATCH v5 14/15] scsi: ufs: commit descriptors before setting the doorbell

2015-10-27 Thread Yaniv Gardi
-by: Subhash Jadavani Signed-off-by: Yaniv Gardi --- 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 dfc4ac1..ec90504 100644 --- a/drivers/scsi/ufs/ufshcd.c +++ b/drivers/scsi/ufs/ufshcd.c @@ -1628,6 +1628,8

[PATCH v5 12/15] scsi: ufs: reduce the interrupts for power mode change requests

2015-10-27 Thread Yaniv Gardi
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 Signed-off-by: Yaniv Gardi --- drivers/scsi/ufs

<    1   2   3   4   5   6   7   8   9   >