> 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 -,
> 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
> 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
>>
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>
> 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
>>
> 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
> 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
> 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 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
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
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
> 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.
>>
>>
> 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
> 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
> 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
>>
> 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
> 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
> 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
>
>
>> +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
> 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
>> 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
> 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
> 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:
> 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
> 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
> 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 @@
>> +/*
>> + *
> 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
> 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
> 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
> 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
> 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
> 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
> 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
>>
> 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.
>>
> 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
>>
> 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
> 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
> 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
> 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.
> 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.
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.
>>
>>
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 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.
>>
> 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
On Thu, Aug 27, 2015 at 7:11 AM, yga...@codeaurora.org wrote:
On Tue, Aug 25, 2015 at 7:36 AM, yga...@codeaurora.org wrote:
On Aug 21, 2015 3:10 PM, Yaniv Gardi yga...@codeaurora.org wrote:
Add a write memory barrier to make sure descriptors prepared are
actually
written to memory before
On Tue, Aug 25, 2015 at 7:36 AM, yga...@codeaurora.org wrote:
On Aug 21, 2015 3:10 PM, Yaniv Gardi yga...@codeaurora.org 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
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 yga...@codeaurora.org:
V3: fixes a few minor issues.
V2: fixes a few issues of unnecessary EXPORT_SYMBOL,
types of parameters in routine
Reviewed-by: Akinobu Mita akinobu.m...@gmail.com
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
Reviewed-by: Akinobu Mita akinobu.m...@gmail.com
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
Reviewed-by: Akinobu Mita akinobu.m...@gmail.com
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
Reviewed-by: Akinobu Mita akinobu.m...@gmail.com
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
Reviewed-by: Akinobu Mita akinobu.m...@gmail.com
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 |
Reviewed-by: Akinobu Mita akinobu.m...@gmail.com
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
Reviewed-by: Akinobu Mita akinobu.m...@gmail.com
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
Reviewed-by: Akinobu Mita akinobu.m...@gmail.com
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
Reviewed-by: Akinobu Mita akinobu.m...@gmail.com
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
On Aug 21, 2015 3:10 PM, Yaniv Gardi yga...@codeaurora.org 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,
On Aug 21, 2015 3:10 PM, Yaniv Gardi yga...@codeaurora.org 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,
O
n Aug 20, 2015 6:59 AM, Yaniv Gardi yga...@codeaurora.org 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
2015-08-20 22:59 GMT+09:00 Yaniv Gardi yga...@codeaurora.org:
@@ -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
2015-08-20 22:59 GMT+09:00 Yaniv Gardi yga...@codeaurora.org:
@@ -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
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 yga...@codeaurora.org:
@@ -1208,6 +1510,7 @@ static struct ufs_hba_variant_ops
ufs_hba_qcom_vops = {
.resume
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 not
2015-06-05 5:53 GMT+09:00 yga...@codeaurora.org:
Hi Yaniv,
2015-06-03 18:37 GMT+09:00 Yaniv Gardi yga...@codeaurora.org:
@@ -321,7 +313,22 @@ static int ufshcd_pltfrm_probe(struct
platform_device *pdev)
goto out;
}
- hba-vops = get_variant_ops(pdev-dev);
+
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 purpose. Am
Hi Yaniv,
2015-06-03 18:37 GMT+09:00 Yaniv Gardi yga...@codeaurora.org:
@@ -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,
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 the
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.
we
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 Gardi
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 yga...@codeaurora.org
---
drivers/phy/Kconfig | 7 +
On Jan 7, 2015, at 9:43 AM, Yaniv Gardi yga...@qti.qualcomm.com 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 yga...@codeaurora.org
---
drivers/phy/Makefile| 2 +
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.
Two
On Aug 14, 2014, at 9:22 AM, Yaniv Gardi yga...@codeaurora.org wrote:
The files in this change implement the UFS HW (controller PHY)
specific
behavior in Qualcomm MSM chips.
Signed-off-by: Yaniv Gardi yga...@codeaurora.org
---
Documentation/devicetree/bindings/ufs/ufs-msm.txt | 37 +
73 matches
Mail list logo