Thanks Arnd.
comments inline and will upload V3 shortly
Yaniv
> On Wednesday 07 October 2015 10:54:03 Yaniv Gardi wrote:
>>
>> +/* IOCTL opcode for command - ufs set device read only */
>> +#define UFS_IOCTL_BLKROSET BLKROSET
>> +
>
> What is this for? Can't you just use the normal BLKROSET
> On Sun, Aug 23, 2015 at 8:09 AM, Yaniv Gardi
> wrote:
>> This change turns the UFS variant (SCSI_UFS_QCOM) into a UFS
>> a platform device.
>> In order to do so a few additional changes are required:
>> 1. The ufshcd-pltfrm is no longer serves as a platform device.
>>Now it only serves as a
> On Thu, Aug 27, 2015 at 7:11 AM, wrote:
>>> On Tue, Aug 25, 2015 at 7:36 AM, wrote:
> On Aug 21, 2015 3:10 PM, "Yaniv Gardi" wrote:
>>
>> Add a write memory barrier to make sure descriptors prepared are
>> actually
>> written to memory before ringing the doorbell. We have
> On Sun, Aug 30, 2015 at 9:52 AM, Yaniv Gardi
> wrote:
>> This change turns the UFS variant (SCSI_UFS_QCOM) into a UFS
>> a platform device.
>> In order to do so a few additional changes are required:
>> 1. The ufshcd-pltfrm is no longer serves as a platform device.
>>Now it only serves as a
> On Wed, Sep 2, 2015 at 3:32 AM, Yaniv Gardi wrote:
>> This change turns the UFS variant (SCSI_UFS_QCOM) into a UFS
>> a platform device.
>> In order to do so a few additional changes are required:
>> 1. The ufshcd-pltfrm is no longer serves as a platform device.
>>Now it only serves as a gro
> Hi Yaniv,
>
> 2015-08-23 22:09 GMT+09:00 Yaniv Gardi :
>> 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.
>
> I've checked outstan
> On Sun, Aug 30, 2015 at 3:43 AM, wrote:
>>> On Sun, Aug 23, 2015 at 8:09 AM, Yaniv Gardi
>>> wrote:
This change turns the UFS variant (SCSI_UFS_QCOM) into a UFS
a platform device.
In order to do so a few additional changes are required:
1. The ufshcd-pltfrm is no longer ser
> On Sun, Aug 23, 2015 at 8:09 AM, Yaniv Gardi
> wrote:
>> This change turns the UFS variant (SCSI_UFS_QCOM) into a UFS
>> a platform device.
>> In order to do so a few additional changes are required:
>> 1. The ufshcd-pltfrm is no longer serves as a platform device.
>>Now it only serves as a
> On Thursday 22 October 2015 07:02:14 subha...@codeaurora.org wrote:
>> >
>> > Required properties:
>> > -- compatible: compatible list, contains "jedec,ufs-1.1"
>> > +- compatible: compatible list, contains "jedec,ufs-1.1" or
>> > +"qcom,msm8994-ufshc" or "qcom,ms
> 2015-09-02 19:13 GMT+09:00 Yaniv Gardi :
>> A race condition appear to exist between request completion when
>> scsi_done() is called to end the request and set the tag back to
>> -1 (at blk_queue_end_tag() scsi_end_request), and scsi layer error
>> handling which aborts the command and reuses it
> 2015-09-02 19:13 GMT+09:00 Yaniv Gardi :
>> fDeviceInit query response time for some devices is too long that
>> default
>> query request timeout of 100ms may not be enough. Experiments show that
>> fDeviceInit response sometimes takes 500ms so to be on safer side this
>> change sets the timeout
> 2015-09-02 19:13 GMT+09:00 Yaniv Gardi :
>> If hibern8 enter command fails then UFS link state may be unknown which
>> may result into timeout of all the commands issued after failure.
>>
>> This change does 2 things (for pre-defined number of retry counts) after
>> hibern8 enter failure:
>> 1. R
> 2015-09-02 19:13 GMT+09:00 Yaniv Gardi :
>> DME commands such as Hibern8 enter/exit and gear switch generate 2
>> completion interrupts, one for confirmation that command is received
>> by local UniPro and 2nd one is the final confirmation after
>> communication
>> with remote UniPro. Currently b
> 2015-09-02 19:13 GMT+09:00 Yaniv Gardi :
>> Performing several writes to UFS host controller registers has
>> no gurrantee of ordering, so we must make sure register writes
>> to setup request list base address etc. are performed before the
>> run/stop register is enabled.
>> In addition, when se
> 2015-10-25 23:40 GMT+09:00 :
>>> 2015-09-02 19:13 GMT+09:00 Yaniv Gardi :
Performing several writes to UFS host controller registers has
no gurrantee of ordering, so we must make sure register writes
to setup request list base address etc. are performed before the
run/stop re
> 2015-09-13 23:52 GMT+09:00 Yaniv Gardi :
>> 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 power mode
>> (which gives moderate power savings and have r
> 2015-09-13 23:52 GMT+09:00 Yaniv Gardi :
>> Sometimes due to hw issues it takes some time to the
>> host controller register to update. In order to verify the register
>> has updated, a polling is done until its value is set.
>>
>> In addition the functions ufshcd_hba_stop() and
>> ufshcd_wait_fo
> 2015-09-13 23:52 GMT+09:00 Yaniv Gardi :
>
>> diff --git a/drivers/scsi/ufs/ufs_quirks.c
>> b/drivers/scsi/ufs/ufs_quirks.c
>> new file mode 100644
>> index 000..b649bbf
>> --- /dev/null
>> +++ b/drivers/scsi/ufs/ufs_quirks.c
>> @@ -0,0 +1,101 @@
>> +/*
>> + * Copyright (c) 2013-2015, The Lin
> 2015-09-13 23:52 GMT+09:00 Yaniv Gardi :
>> Currently when UFSHCD_BROKEN_LCC quirk is defined, LCC is getting
>> disabled on both host and device side but there could be a need
>> where we don't want to disable the LCC on both side hence this change
>> splits the quirk in 2 parts one for host and
> 2015-09-13 23:52 GMT+09:00 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
>> Signed-off-by: Yaniv
> 2015-09-13 23:52 GMT+09:00 Yaniv Gardi :
>> Optimal values of local UniPro parameters like PA_Hibern8Time &
>> PA_TActivate can help reduce the hibern8 exit latency. If both host and
>> device supports UniPro ver1.6 or later, these parameters will be
>> automatically tuned during link startup its
> 2015-09-13 23:52 GMT+09:00 Yaniv Gardi :
>> We put the UFS device in sleep state & UFS link in hibern8 state during
>> runtime suspaned. After this we put all the UFS rails in low power
>> modes immediately but it seems some devices may still draw more than
>> sleep current from UFS rails (especi
> On 10/26/2015 08:41 AM, Yaniv Gardi wrote:
>> Tnis patch fixes the following compilation warnings:
>> ...ufs-qcom.c:1201:40:
>> warning: incorrect type in argument 1 (different address spaces)
>> ...ufs-qcom.c:1201:40:
>> expected void const *ptr
>> ...ufs-qcom.c:1201:40:
>> got vo
>> 2015-10-25 23:40 GMT+09:00 :
2015-09-02 19:13 GMT+09:00 Yaniv Gardi :
> Performing several writes to UFS host controller registers has
> no gurrantee of ordering, so we must make sure register writes
> to setup request list base address etc. are performed before the
> run/s
thanks for inputs.
shortly I will upload a new version, where I address you comments
thanks,
Yaniv
>
> On Thursday 04 December 2014 09:24 PM, Christoph Hellwig wrote:
>> On Thu, Nov 27, 2014 at 05:59:58PM +0200, Yaniv Gardi wrote:
>>> In this change we add support to the generic PHY framework.
>
> Hi,
>
> On Sunday 11 January 2015 06:08 PM, Yaniv Gardi wrote:
>> This change adds a support for a 20nm qcom-ufs phy that is required in
>> platforms that use ufs-qcom controller.
>>
>> Signed-off-by: Yaniv Gardi
>>
>> ---
>> drivers/phy/Kconfig | 7 +
>> drivers/phy/Makefile
>
> On Jan 7, 2015, at 9:43 AM, Yaniv Gardi wrote:
>
>> This change adds a support for a 20nm qcom-ufs phy that is
>> required in platforms that use ufs-qcom controller.
>>
>> Signed-off-by: Yaniv Gardi
>>
>> ---
>> drivers/phy/Makefile| 2 +
>> drivers/phy/phy-qcom-ufs-i.h
> On Wed, 2015-06-03 at 12:37 +0300, Yaniv Gardi wrote:
>> --- a/drivers/scsi/ufs/ufs-qcom.c
>> +++ b/drivers/scsi/ufs/ufs-qcom.c
>
>> EXPORT_SYMBOL(ufs_hba_qcom_vops);
>
> Nothing uses this export. It's still a (static) symbol that is not
> included in any header. I think this export serves no pu
> Hi Yaniv,
>
> 2015-06-03 18:37 GMT+09:00 Yaniv Gardi :
>> @@ -321,7 +313,22 @@ static int ufshcd_pltfrm_probe(struct
>> platform_device *pdev)
>> goto out;
>> }
>>
>> - hba->vops = get_variant_ops(&pdev->dev);
>> + err = of_platform_populate(node, NULL, NULL, &
Thanks Paul for the review and comments.
please see inline.
> On Wed, 2015-06-03 at 12:37 +0300, Yaniv Gardi wrote:
>> --- a/drivers/scsi/ufs/ufs-qcom.c
>> +++ b/drivers/scsi/ufs/ufs-qcom.c
>
>> EXPORT_SYMBOL(ufs_hba_qcom_vops);
>
> Nothing uses this export. It's still a (static) symbol that is
> 2015-06-05 5:53 GMT+09:00 :
>>> Hi Yaniv,
>>>
>>> 2015-06-03 18:37 GMT+09:00 Yaniv Gardi :
@@ -321,7 +313,22 @@ static int ufshcd_pltfrm_probe(struct
platform_device *pdev)
goto out;
}
- hba->vops = get_variant_ops(&pdev->dev);
+
>
> On Aug 14, 2014, at 9:22 AM, Yaniv Gardi wrote:
>
>> The files in this change implement the UFS HW (controller & PHY)
>> specific
>> behavior in Qualcomm MSM chips.
>>
>> Signed-off-by: Yaniv Gardi
>> ---
>> Documentation/devicetree/bindings/ufs/ufs-msm.txt | 37 +
>> .../devicetree/binding
> Hi,
>
> On Thursday 31 July 2014 06:07 PM, Yaniv Gardi wrote:
>> This change adds a few more APIs to the phy_ops structure:
>> advertise_quirks - API for setting the phy quirks
>
> What are these phy quirks? An explanation on what you are are planning to
> do
> with these quirks might help.
A ph
> Hi,
>
> On Tuesday 05 August 2014 12:03 AM, yga...@codeaurora.org wrote:
>>> Hi,
>>>
>>> On Thursday 31 July 2014 06:07 PM, Yaniv Gardi wrote:
This change adds a few more APIs to the phy_ops structure:
advertise_quirks - API for setting the phy quirks
>>>
>>> What are these phy quirks?
Thank you Mita,
We appreciate your comments and your time.
will add "Reviewed-by".
regards,
Yaniv
> Hi Yaniv,
>
> 2015-08-23 22:09 GMT+09:00 Yaniv Gardi :
>> V3: fixes a few minor issues.
>>
>> V2: fixes a few issues of unnecessary EXPORT_SYMBOL,
>> types of parameters in routine definition,
>>
Reviewed-by: Akinobu Mita
> 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
>
> ---
> driver
Reviewed-by: Akinobu Mita
> Export the following functions in order to avoid build errors
> when the component PHY_QCOM_UFS is compiled as a module:
>
> ERROR: "ufs_qcom_phy_disable_ref_clk"
> [drivers/scsi/ufs/ufs-qcom.ko] undefined!
> ERROR: "ufs_qcom_phy_enable_ref_clk"
> [drivers/
Reviewed-by: Akinobu Mita
> 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 whe
Reviewed-by: Akinobu Mita
> This change is required in order to be able to build the component
> as a module.
>
> Signed-off-by: Yaniv Gardi
>
> ---
> drivers/scsi/ufs/Kconfig | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/scsi/ufs/Kconfig b/drivers/scsi/ufs/Kc
Reviewed-by: Akinobu Mita
> 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
>
> ---
> drivers/scsi/ufs/ufs-qcom.c | 1 -
> drivers/scsi/ufs/ufshcd.c | 104
> +--
Reviewed-by: Akinobu Mita
> This change turns the UFS variant (SCSI_UFS_QCOM) into a UFS
> a platform device.
> In order to do so a few additional changes are required:
> 1. The ufshcd-pltfrm is no longer serves as a platform device.
>Now it only serves as a group of platform APIs such as PM
Reviewed-by: Akinobu Mita
> New revisions of UFS host controller supports the new UniPro
> hardware controller (referred as QUniPro). This patch adds
> the support to enable this new UniPro controller hardware.
>
> This change also adds power optimization for bus scaling feature,
> as well as su
Reviewed-by: Akinobu Mita
> 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
>
> ---
> drivers/scsi/ufs/ufs-qcom.c | 165
>
Reviewed-by: Akinobu Mita
> Signed-off-by: Yaniv Gardi
>
> ---
> 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/dr
> On Aug 21, 2015 3:10 PM, "Yaniv Gardi" wrote:
>>
>> Add a write memory barrier to make sure descriptors prepared are
>> actually
>> written to memory before ringing the doorbell. We have also added the
>> write memory barrier after ringing the doorbell register so that
>> controller sees the new
> On Aug 21, 2015 3:10 PM, "Yaniv Gardi" wrote:
>>
>> 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
> On Aug 21, 2015 3:10 PM, "Yaniv Gardi" wrote:
>>
>> 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
> On Tue, Aug 25, 2015 at 7:36 AM, wrote:
>>> On Aug 21, 2015 3:10 PM, "Yaniv Gardi" wrote:
Add a write memory barrier to make sure descriptors prepared are
actually
written to memory before ringing the doorbell. We have also added the
write memory barrier after ringing
>> On Aug 21, 2015 3:10 PM, "Yaniv Gardi" wrote:
>>>
>>> Add a write memory barrier to make sure descriptors prepared are
>>> actually
>>> written to memory before ringing the doorbell. We have also added the
>>> write memory barrier after ringing the doorbell register so that
>>> controller sees
> 2015-08-16 19:14 GMT+09:00 Yaniv Gardi :
>> +/**
>> + * ufs_qcom_remove - set driver_data of the device to NULL
>> + * @pdev: pointer to platform device handle
>> + *
>> + * Always return 0
>> + */
>> +static int ufs_qcom_remove(struct platform_device *pdev)
>> +{
>> + struct ufs_hba *hba =
Thank you Mita for the review.
Your comments were correct and helpful.
I appreciate your time and effort.
please see inline.
> 2015-08-16 19:14 GMT+09:00 Yaniv Gardi :
>> @@ -1208,6 +1510,7 @@ static struct ufs_hba_variant_ops
>> ufs_hba_qcom_vops = {
>> .resume = ufs_qcom
> On 10/27/2015 03:10 AM, yga...@codeaurora.org wrote:
>>> On 10/26/2015 08:41 AM, Yaniv Gardi wrote:
Tnis patch fixes the following compilation warnings:
...ufs-qcom.c:1201:40:
warning: incorrect type in argument 1 (different address spaces)
...ufs-qcom.c:1201:40:
ex
>> 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.
>>
>> Reviewed-by: Gilad Broner
>> Signed-off-by: Raviv Shvili
>>
> On Tue, 2015-05-19 at 16:47 +0300, Yaniv Gardi wrote:
>> --- a/drivers/scsi/ufs/ufs-qcom.c
>> +++ b/drivers/scsi/ufs/ufs-qcom.c
>> @@ -885,7 +885,7 @@ out:
>>
>> #define ANDROID_BOOT_DEV_MAX30
>> static char android_boot_dev[ANDROID_BOOT_DEV_MAX];
>> -static int get_android_boot_dev(cha
> On Wed, 2015-05-20 at 10:22 +0200, Paul Bolle wrote:
>> By the way, as far as I can see, this (new) module can only be loaded
>> manually (or via scripts). Is that what people want?
>
> This comment wasn't well thought through. So I hand another look at the
> code of usf-qcom.
>
> I noticed that
> On Thu, 2015-05-21 at 10:09 +, yga...@codeaurora.org wrote:
>> > On Wed, 2015-05-20 at 10:22 +0200, Paul Bolle wrote:
>> > Am I missing something obvious here? Because ufs-qcom currently looks
>> > pointless to me, and I actually see little reason to even have it in
>> the
>> > mainline tree.
> On Tue, 2015-05-19 at 16:47 +0300, Yaniv Gardi wrote:
>> Export the following functions in order to avoid build errors
>> when the driver is compiled as a module:
>
> Where "the driver" actually means something like ufs-qcom.c, or
> SCSI_UFS_QCOM, or "QCOM specific hooks to UFS controller platfor
looks good.
Acked-by: Yaniv Gardi
> This phy only exists on platforms under ARCH_QCOM, not ARCH_MSM.
>
> Cc: Yaniv Gardi
> Cc: Dov Levenglick
> Cc: Christoph Hellwig
> Cc: David Brown
> Cc: Bryan Huntsman
> Cc: Daniel Walker
> Signed-off-by: Stephen Boyd
> ---
> drivers/phy/Kconfig | 2
looks good.
Acked-by: Yaniv Gardi
> This device only exists on platforms under ARCH_QCOM, not
> ARCH_MSM.
>
> Cc: Yaniv Gardi
> Cc: Dov Levenglick
> Cc: Vinayak Holikatti
> Cc: David Brown
> Cc: Bryan Huntsman
> Cc: Daniel Walker
> Signed-off-by: Stephen Boyd
> ---
> drivers/scsi/ufs/Kc
I'd change the tag to Reviewed-by.
looks-good.
Reviewed-by: Yaniv Gardi
> looks good.
>
> Acked-by: Yaniv Gardi
>
>
>> This phy only exists on platforms under ARCH_QCOM, not ARCH_MSM.
>>
>> Cc: Yaniv Gardi
>> Cc: Dov Levenglick
>> Cc: Christoph Hellwig
>> Cc: David Brown
>> Cc: Bryan Hunt
I'd change the tag to Reviewed-by.
looks-good.
Reviewed-by: Yaniv Gardi
> looks good.
>
> Acked-by: Yaniv Gardi
>
>
>> This device only exists on platforms under ARCH_QCOM, not
>> ARCH_MSM.
>>
>> Cc: Yaniv Gardi
>> Cc: Dov Levenglick
>> Cc: Vinayak Holikatti
>> Cc: David Brown
>> Cc: Brya
> The qcom ufs phy support is split into three separate loadable
> modules, however none of the interfaces are exported, resulting
> in a link error:
>
> ERROR: "ufs_qcom_phy_power_off" [drivers/phy/phy-qcom-ufs-qmp-20nm.ko]
> undefined!
> ERROR: "ufs_qcom_phy_power_on" [drivers/phy/phy-qcom-ufs-qm
Paul,
we have decided to revert the ICE change that support UFS.
a change already uploaded:
look for subject:
[PATCH v1] Revert "scsi: ufs-qcom-ice: add Inline Crypto Engine (ICE)
support for UFS"
thanks,
Yaniv
> Yaniv,
>
> On Thu, 2015-01-15 at 16:32 +0200, Yaniv Gardi wrote:
>> From: Yaniv Ga
Reviewed-by: Yaniv Gardi
> The qcom ufs phy support is split into three separate loadable
> modules, however none of the interfaces are exported, resulting
> in a link error:
>
> ERROR: "ufs_qcom_phy_power_off" [drivers/phy/phy-qcom-ufs-qmp-20nm.ko]
> undefined!
> ERROR: "ufs_qcom_phy_power_on" [
> On 03/08/2016 02:01 PM, Hannes Reinecke wrote:
>> On 03/08/2016 01:35 PM, Yaniv Gardi wrote:
>>> A race condition exists between request requeueing and scsi layer
>>> error handling:
>>> When UFS driver queuecommand returns a busy status for a request,
>>> it will be requeued and its tag will be
> On Wed, Mar 09, 2016 at 04:11:33PM +0200, Yaniv Gardi wrote:
>> This patch exposes the ioctl interface for UFS driver via SCSI device
>> ioctl interface. As of now UFS driver would provide the ioctl for query
>> interface to connected UFS device.
>>
>> Reviewed-by: Subhash Jadavani
>> Signed-off
> On Wed, Mar 09, 2016 at 04:11:33PM +0200, Yaniv Gardi wrote:
>> This patch exposes the ioctl interface for UFS driver via SCSI device
>> ioctl interface. As of now UFS driver would provide the ioctl for query
>> interface to connected UFS device.
>>
>> Reviewed-by: Subhash Jadavani
>> Signed-off
> On Wed, Mar 09, 2016 at 07:09:49PM -, yga...@codeaurora.org wrote:
>> > On Wed, Mar 09, 2016 at 04:11:33PM +0200, Yaniv Gardi wrote:
>> >> This patch exposes the ioctl interface for UFS driver via SCSI device
>> >> ioctl interface. As of now UFS driver would provide the ioctl for
>> query
>>
Martin,
the only way i can avoid the circular dependency is to
move the routines from ufs_quirks.c into ufshcd.c.
i will upload V8 soon
thanks,
Yaniv
>> "Yaniv" == Yaniv Gardi writes:
>
> Yaniv> Currently we use the host quirks mechanism in order to handle
> Yaniv> both device and host co
> On Wed, Mar 09, 2016 at 08:52:59PM -, yga...@codeaurora.org wrote:
>> > On Wed, Mar 09, 2016 at 07:09:49PM -, yga...@codeaurora.org wrote:
>> >> > On Wed, Mar 09, 2016 at 04:11:33PM +0200, Yaniv Gardi wrote:
>> >> >> This patch exposes the ioctl interface for UFS driver via SCSI
>> device
> On Thu, Mar 10, 2016 at 03:52:54PM -, yga...@codeaurora.org wrote:
>> > On Wed, Mar 09, 2016 at 08:52:59PM -, yga...@codeaurora.org wrote:
>> >> > On Wed, Mar 09, 2016 at 07:09:49PM -, yga...@codeaurora.org
>> wrote:
>> >> >> > On Wed, Mar 09, 2016 at 04:11:33PM +0200, Yaniv Gardi wro
> On Thu, Mar 10, 2016 at 04:29:55PM -, yga...@codeaurora.org wrote:
>> > On Thu, Mar 10, 2016 at 03:52:54PM -, yga...@codeaurora.org wrote:
>> >> > On Wed, Mar 09, 2016 at 08:52:59PM -, yga...@codeaurora.org
>> wrote:
>> >> >> > On Wed, Mar 09, 2016 at 07:09:49PM -, yga...@codeauro
thanks Arnd for the comment. V4 is on its way
> On Thursday 08 October 2015 14:09:24 Yaniv Gardi wrote:
>> This patch exposes the ioctl interface for UFS driver via SCSI device
>> ioctl interface. As of now UFS driver would provide the ioctl for query
>> interface to connected UFS device.
>>
>> S
> On 03/01/2016 09:25 PM, yga...@codeaurora.org wrote:
>>> On 02/28/2016 09:32 PM, Yaniv Gardi wrote:
A race condition exists between request requeueing and scsi layer
error handling:
When UFS driver queuecommand returns a busy status for a request,
it will be requeued and its t
> On 03/03/2016 05:10 PM, yga...@codeaurora.org wrote:
>>> On 03/01/2016 09:25 PM, yga...@codeaurora.org wrote:
> On 02/28/2016 09:32 PM, Yaniv Gardi wrote:
>> A race condition exists between request requeueing and scsi layer
>> error handling:
>> When UFS driver queuecommand return
> On 02/28/2016 09:32 PM, Yaniv Gardi wrote:
>> Some UFS devices (and may be host) have issues if LCC is
>> enabled. So we are setting PA_Local_TX_LCC_Enable to 0
>> before link startup which will make sure that both host
>> and device TX LCC are disabled once link startup is
>> completed.
>>
>> Th
Hello, Hannes,
Re-sending
thanks,
Yaniv
>> On 03/03/2016 05:10 PM, yga...@codeaurora.org wrote:
On 03/01/2016 09:25 PM, yga...@codeaurora.org wrote:
>> On 02/28/2016 09:32 PM, Yaniv Gardi wrote:
>>> A race condition exists between request requeueing and scsi layer
>>> error hand
Hello, Hannes,
Re-sending
thanks,
Yaniv
>> On 03/03/2016 05:10 PM, yga...@codeaurora.org wrote:
On 03/01/2016 09:25 PM, yga...@codeaurora.org wrote:
>> On 02/28/2016 09:32 PM, Yaniv Gardi wrote:
>>> A race condition exists between request requeueing and scsi layer
>>> error hand
> On 03/08/2016 01:35 PM, Yaniv Gardi wrote:
>> A race condition exists between request requeueing and scsi layer
>> error handling:
>> When UFS driver queuecommand returns a busy status for a request,
>> it will be requeued and its tag will be freed and set to -1.
>> At the same time it is possibl
> On 02/28/2016 09:32 PM, Yaniv Gardi wrote:
>> UFS driver's error handler forcefully tries to clear all the pending
>> requests. For each pending request in the queue, it waits 1 sec for it
>> to get cleared. If we have multiple requests in the queue then it's
>> possible that we might end up wait
> On 02/28/2016 09:32 PM, Yaniv Gardi wrote:
>> This change adds support to read device descriptor and string descriptor
>> from a UFS device
>>
>> Reviewed-by: Gilad Broner
>> Signed-off-by: Raviv Shvili
>> Signed-off-by: Yaniv Gardi
>>
>> ---
>> drivers/scsi/ufs/ufs.h| 1 +
>> drivers/sc
> On 02/28/2016 09:32 PM, Yaniv Gardi wrote:
>> A race condition exists between request requeueing and scsi layer
>> error handling:
>> When UFS driver queuecommand returns a busy status for a request,
>> it will be requeued and its tag will be freed and set to -1.
>> At the same time it is possibl
> On 02/28/2016 09:32 PM, Yaniv Gardi wrote:
>> Sometimes due to hw issues it takes some time to the
>> host controller register to update. In order to verify the register
>> has updated, a polling is done until its value is set.
>>
>> In addition the functions ufshcd_hba_stop() and
>> ufshcd_wait_
> 2015-08-20 22:59 GMT+09:00 Yaniv Gardi :
>> @@ -1036,7 +1037,7 @@ void ufs_qcom_clk_scale_notify(struct ufs_hba
>> *hba)
>> * The variant operations configure the necessary controller and PHY
>> * handshake during initialization.
>> */
>> -static const struct ufs_hba_variant_ops ufs_hba_qco
> 2015-08-20 22:59 GMT+09:00 Yaniv Gardi :
>> @@ -30,6 +48,14 @@ static void ufs_qcom_get_speed_mode(struct
>> ufs_pa_layer_attr *p, char *result);
>> static int ufs_qcom_get_bus_vote(struct ufs_qcom_host *host,
>> const char *speed_mode);
>> static int ufs_qcom_set_bus_vote(struc
> 2015-08-20 22:59 GMT+09:00 Yaniv Gardi :
>
>> +static bool ufs_qcom_testbus_cfg_is_ok(struct ufs_qcom_host *host)
>> +{
>> + if (host->testbus.select_major >= TSTBUS_MAX) {
>> + dev_err(host->hba->dev,
>> + "%s: UFS_CFG1[TEST_BUS_SEL} may not equal
>> 0x%
> O
> n Aug 20, 2015 6:59 AM, "Yaniv Gardi" wrote:
>>
>> This change turns the UFS variant (SCSI_UFS_QCOM) into a UFS
>> a platform device.
>> In order to do so a few additional changes are required:
>> 1. The ufshcd-pltfrm is no longer serves as a platform device.
>>Now it only serves as a gr
>
>
>> +cdb_len = min_t(unsigned short, lrbp->cmd->cmd_len, MAX_CDB_SIZE);
>> +memcpy(ucd_req_ptr->sc.cdb, lrbp->cmd->cmnd, cdb_len);
>> +if (cdb_len < MAX_CDB_SIZE)
>> +memset(ucd_req_ptr->sc.cdb + cdb_len, 0,
>> + (MAX_CDB_SIZE - cdb_len));
> It's just 16
> On 10/28/2015 02:13 PM, Yaniv Gardi wrote:
>> 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
>>
> Really? The spec only says that the inline
89 matches
Mail list logo