| #
2519ee5f |
| 17-Mar-2023 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge "feat(ufs): adds timeout and error handling" into integration
|
| #
2c5bce38 |
| 10-Mar-2023 |
Anand Saminathan <anans@google.com> |
feat(ufs): adds timeout and error handling
Adds a common function to poll for interrupt status which reports errors and returns error codes
Signed-off-by: Anand Saminathan <anans@google.com> Change
feat(ufs): adds timeout and error handling
Adds a common function to poll for interrupt status which reports errors and returns error codes
Signed-off-by: Anand Saminathan <anans@google.com> Change-Id: Ie5df036dc979e984871de4ae7e974b994296ca4c
show more ...
|
| #
55a32830 |
| 27-Feb-2023 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge changes I960771e6,I291dc627,I57f31664 into integration
* changes: fix(ufs): set the PRDT length field properly fix(ufs): flush the entire PRDT fix(ufs): only allow using one slot
|
| #
20fdbcf5 |
| 22-Feb-2023 |
Jorge Troncoso <jatron@google.com> |
fix(ufs): set the PRDT length field properly
The PRDT length field contains the count of the entries in the PRDT. See JEDEC Standard No. 223E, section 6.1.1, "UTP Transfer Request Descriptor," page
fix(ufs): set the PRDT length field properly
The PRDT length field contains the count of the entries in the PRDT. See JEDEC Standard No. 223E, section 6.1.1, "UTP Transfer Request Descriptor," page 66. Previously we were setting the PRDT length field to the number of bytes in the PRDT divided by four (the size in units of 32 bits). This was incorrect according to the spec.
Signed-off-by: Jorge Troncoso <jatron@google.com> Change-Id: I960771e6ce57002872392993042fae9ec505447e
show more ...
|
| #
c45d2feb |
| 12-Oct-2022 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge "fix(ufs): retry commands on unit attention" into integration
|
| #
3d309556 |
| 28-Sep-2022 |
Anand Saminathan <anans@google.com> |
fix(ufs): retry commands on unit attention
Unit Attention Condition (UAC) gets set on a warm reset. Sending any command (other than INQUIRY and REPORT LUNs) clears UAC, so its good to add some retri
fix(ufs): retry commands on unit attention
Unit Attention Condition (UAC) gets set on a warm reset. Sending any command (other than INQUIRY and REPORT LUNs) clears UAC, so its good to add some retries when UAC is encountered
Signed-off-by: Anand Saminathan <anans@google.com> Change-Id: Ia03b916d68565d0f3d25086b7f6d8c51d557b64f
show more ...
|
| #
1d867c14 |
| 27-Jul-2022 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge "fix(ufs): add retries to ufs_read_capacity" into integration
|
| #
28645ebd |
| 02-Jul-2022 |
Rohit Ner <rohitner@google.com> |
fix(ufs): add retries to ufs_read_capacity
This change replaces the polling loop with fixed number of retries, returns error values and handles them in ufs_enum.
Signed-off-by: Rohit Ner <rohitner@
fix(ufs): add retries to ufs_read_capacity
This change replaces the polling loop with fixed number of retries, returns error values and handles them in ufs_enum.
Signed-off-by: Rohit Ner <rohitner@google.com> Change-Id: Ia769ef26703c7525091e55ff46aaae4637db933c
show more ...
|
| #
efceb6be |
| 06-May-2022 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes Iaf21883b,I523c5d57,I57164923 into integration
* changes: fix(ufs): read and write attribute based on spec fix(ufs): disables controller if enabled refactor(ufs): adds a function
Merge changes Iaf21883b,I523c5d57,I57164923 into integration
* changes: fix(ufs): read and write attribute based on spec fix(ufs): disables controller if enabled refactor(ufs): adds a function for fdeviceinit
show more ...
|
| #
b3f03b20 |
| 21-Mar-2022 |
anans <anans@google.com> |
fix(ufs): disables controller if enabled
ufs controller needs to be disabled if already enabled, without this we noticed a crash at linkstartup during reinit
Signed-off-by: anans <anans@google.com>
fix(ufs): disables controller if enabled
ufs controller needs to be disabled if already enabled, without this we noticed a crash at linkstartup during reinit
Signed-off-by: anans <anans@google.com> Change-Id: I523c5d57c1d34f6404a6368ee3f364fbffd2e542
show more ...
|
| #
50593e69 |
| 21-Mar-2022 |
anans <anans@google.com> |
refactor(ufs): adds a function for fdeviceinit
time taken for device init varies based on different devices, instead of waiting for 200ms - we can poll on fdevice init until it gets cleared, similar
refactor(ufs): adds a function for fdeviceinit
time taken for device init varies based on different devices, instead of waiting for 200ms - we can poll on fdevice init until it gets cleared, similar to what linux does
Change-Id: I571649231732fde0cd6d5be89b6f14fe905fcaff Signed-off-by: anans <anans@google.com>
show more ...
|
| #
a06f2f43 |
| 18-Oct-2021 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "ufs_patches" into integration
* changes: fix(ufs): add reset before DME_LINKSTARTUP refactor(ufs): add retry logic to ufshc_reset refactor(ufs): reuse ufshc_send_uic_
Merge changes from topic "ufs_patches" into integration
* changes: fix(ufs): add reset before DME_LINKSTARTUP refactor(ufs): add retry logic to ufshc_reset refactor(ufs): reuse ufshc_send_uic_cmd
show more ...
|
| #
905635d5 |
| 06-Oct-2021 |
Jorge Troncoso <jatron@google.com> |
fix(ufs): add reset before DME_LINKSTARTUP
This change aims to make the UFS code more robust by performing a controller reset if linkstartup fails. This idea was borrowed from Linux's ufshcd_link_st
fix(ufs): add reset before DME_LINKSTARTUP
This change aims to make the UFS code more robust by performing a controller reset if linkstartup fails. This idea was borrowed from Linux's ufshcd_link_startup function.
Signed-off-by: Jorge Troncoso <jatron@google.com> Change-Id: I6b52148d1bf155b11198dc82a39b1120057adaaf
show more ...
|
| #
99ff1a35 |
| 30-Sep-2021 |
Jorge Troncoso <jatron@google.com> |
refactor(ufs): add retry logic to ufshc_reset
This change aims to make the UFS code more robust by adding retry logic and timeouts to ufshc_reset. We also define a new function ufshc_hce_enable for
refactor(ufs): add retry logic to ufshc_reset
This change aims to make the UFS code more robust by adding retry logic and timeouts to ufshc_reset. We also define a new function ufshc_hce_enable for Host Controller Enable (HCE). The inner and outer retry pattern is based on Linux's ufshcd_hba_execute_hce function.
Signed-off-by: Jorge Troncoso <jatron@google.com> Change-Id: I9403a5a25d3ca50af5f2f9a65b774f6a2d7a9626
show more ...
|
| #
d68d163d |
| 24-Sep-2021 |
Jorge Troncoso <jatron@google.com> |
refactor(ufs): reuse ufshc_send_uic_cmd
This change aims to make the UFS code more robust by removing asserts and adding retry logic. We also reduce repetition by reusing ufshc_send_uic_cmd for DME_
refactor(ufs): reuse ufshc_send_uic_cmd
This change aims to make the UFS code more robust by removing asserts and adding retry logic. We also reduce repetition by reusing ufshc_send_uic_cmd for DME_GET and DME_SET commands.
Signed-off-by: Jorge Troncoso <jatron@google.com> Change-Id: Id70aa1687d5ca78dc7d47234372255ac5a04a612
show more ...
|
| #
d0d0f171 |
| 16-Jul-2019 |
Soby Mathew <soby.mathew@arm.com> |
Merge changes from topic "jc/shift-overflow" into integration
* changes: Enable -Wshift-overflow=2 to check for undefined shift behavior Update base code to not rely on undefined overflow behavi
Merge changes from topic "jc/shift-overflow" into integration
* changes: Enable -Wshift-overflow=2 to check for undefined shift behavior Update base code to not rely on undefined overflow behaviour Update hisilicon drivers to not rely on undefined overflow behaviour Update synopsys drivers to not rely on undefined overflow behaviour Update imx platform to not rely on undefined overflow behaviour Update mediatek platform to not rely on undefined overflow behaviour Update layerscape platform to not rely on undefined overflow behaviour Update intel platform to not rely on undefined overflow behaviour Update rockchip platform to not rely on undefined overflow behaviour Update renesas platform to not rely on undefined overflow behaviour Update meson platform to not rely on undefined overflow behaviour Update marvell platform to not rely on undefined overflow behaviour
show more ...
|
| #
3e43121e |
| 03-Jul-2019 |
Justin Chadwell <justin.chadwell@arm.com> |
Update base code to not rely on undefined overflow behaviour
This consists of ensuring that the left operand of each shift is unsigned when the operation might overflow into the sign bit.
Change-Id
Update base code to not rely on undefined overflow behaviour
This consists of ensuring that the left operand of each shift is unsigned when the operation might overflow into the sign bit.
Change-Id: Iddd6f38139a4c6e500468b4fc48d04e0939f574e Signed-off-by: Justin Chadwell <justin.chadwell@arm.com>
show more ...
|
| #
9a207532 |
| 04-Jan-2019 |
Antonio Niño Díaz <antonio.ninodiaz@arm.com> |
Merge pull request #1726 from antonio-nino-diaz-arm/an/includes
Sanitise includes across codebase
|
| #
09d40e0e |
| 14-Dec-2018 |
Antonio Nino Diaz <antonio.ninodiaz@arm.com> |
Sanitise includes across codebase
Enforce full include path for includes. Deprecate old paths.
The following folders inside include/lib have been left unchanged:
- include/lib/cpus/${ARCH} - inclu
Sanitise includes across codebase
Enforce full include path for includes. Deprecate old paths.
The following folders inside include/lib have been left unchanged:
- include/lib/cpus/${ARCH} - include/lib/el3_runtime/${ARCH}
The reason for this change is that having a global namespace for includes isn't a good idea. It defeats one of the advantages of having folders and it introduces problems that are sometimes subtle (because you may not know the header you are actually including if there are two of them).
For example, this patch had to be created because two headers were called the same way: e0ea0928d5b7 ("Fix gpio includes of mt8173 platform to avoid collision."). More recently, this patch has had similar problems: 46f9b2c3a282 ("drivers: add tzc380 support").
This problem was introduced in commit 4ecca33988b9 ("Move include and source files to logical locations"). At that time, there weren't too many headers so it wasn't a real issue. However, time has shown that this creates problems.
Platforms that want to preserve the way they include headers may add the removed paths to PLAT_INCLUDES, but this is discouraged.
Change-Id: I39dc53ed98f9e297a5966e723d1936d6ccf2fc8f Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
show more ...
|
| #
9d068f66 |
| 08-Nov-2018 |
Antonio Niño Díaz <antonio.ninodiaz@arm.com> |
Merge pull request #1673 from antonio-nino-diaz-arm/an/headers
Standardise header guards across codebase
|
| #
c3cf06f1 |
| 08-Nov-2018 |
Antonio Nino Diaz <antonio.ninodiaz@arm.com> |
Standardise header guards across codebase
All identifiers, regardless of use, that start with two underscores are reserved. This means they can't be used in header guards.
The style that this proje
Standardise header guards across codebase
All identifiers, regardless of use, that start with two underscores are reserved. This means they can't be used in header guards.
The style that this project is now to use the full name of the file in capital letters followed by 'H'. For example, for a file called "uart_example.h", the header guard is UART_EXAMPLE_H.
The exceptions are files that are imported from other projects:
- CryptoCell driver - dt-bindings folders - zlib headers
Change-Id: I50561bf6c88b491ec440d0c8385c74650f3c106e Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
show more ...
|
| #
a7265c9c |
| 24-Feb-2018 |
davidcunado-arm <david.cunado@arm.com> |
Merge pull request #1264 from fengbaopeng/integration
drivers:ufs: fix hynix ufs bug with quirk on hi36xx SoC
|
| #
5ac25de6 |
| 12-Feb-2018 |
fengbaopeng <fengbaopeng@hisilicon.com> |
drivers:ufs: fix hynix ufs bug with quirk on hi36xx SoC
Hynix ufs has deviations on hi36xx platform which will result in ufs bursts transfer failures at a very low probability.
To fix the problem,
drivers:ufs: fix hynix ufs bug with quirk on hi36xx SoC
Hynix ufs has deviations on hi36xx platform which will result in ufs bursts transfer failures at a very low probability.
To fix the problem, the Hynix device must set the register VS_DebugSaveConfigTime to 0x10, which will set time reference for SaveConfigTime is 250 ns. The time reference for SaveConfigTime is 40 ns by default.
Signed-off-by: fengbaopeng <fengbaopeng@hisilicon.com>
show more ...
|
| #
9260f929 |
| 31-May-2017 |
danh-arm <dan.handley@arm.com> |
Merge pull request #955 from hzhuang1/ufs
Add ufs stack and designware phy
|
| #
eb5073f4 |
| 31-May-2017 |
Haojian Zhuang <haojian.zhuang@linaro.org> |
drivers: add ufs stack
If UFS device is initialized, we could just make it out of hibernation by UFS_FLAGS_SKIPINIT. And vendor's dirver is always focus on PHY setting. We could use UFS driver direc
drivers: add ufs stack
If UFS device is initialized, we could just make it out of hibernation by UFS_FLAGS_SKIPINIT. And vendor's dirver is always focus on PHY setting. We could use UFS driver directly if it exits from hibernation.
There're eight LUNs in UFS device. The UFS driver only provides the read/write API with LUN. User could define his own read/write since user may want to access different LUNs.
Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org>
show more ...
|