Skip to content

Commit ef8bfb0

Browse files
petegriffinmartinkpetersen
authored andcommitted
scsi: ufs: exynos: Enable write line unique transactions on gs101
Currently just AXIDMA_RWDATA_BURST_LEN[3:0] field is set to 8 in exynos_ufs_post_link() function. To enable WLU transaction additionally we need to set Write Line Unique enable [31], Write Line Unique Burst Length [30:27] and AXIDMA_RWDATA_BURST_LEN[3:0]. To support WLU transaction on gs101, both burst length fields need to be 0x3. As all other SoCs expect the current value we update this in the gs101_ufs_post_link() specific hook. Signed-off-by: Peter Griffin <[email protected]> Link: https://lore.kernel.org/r/[email protected] Reviewed-by: Tudor Ambarus <[email protected]> Signed-off-by: Martin K. Petersen <[email protected]>
1 parent 9cc4a4a commit ef8bfb0

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

drivers/ufs/host/ufs-exynos.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@
4848
#define HCI_UNIPRO_APB_CLK_CTRL 0x68
4949
#define UNIPRO_APB_CLK(v, x) (((v) & ~0xF) | ((x) & 0xF))
5050
#define HCI_AXIDMA_RWDATA_BURST_LEN 0x6C
51+
#define WLU_EN BIT(31)
52+
#define WLU_BURST_LEN(x) ((x) << 27 | ((x) & 0xF))
5153
#define HCI_GPIO_OUT 0x70
5254
#define HCI_ERR_EN_PA_LAYER 0x78
5355
#define HCI_ERR_EN_DL_LAYER 0x7C
@@ -1922,6 +1924,12 @@ static int gs101_ufs_post_link(struct exynos_ufs *ufs)
19221924
{
19231925
struct ufs_hba *hba = ufs->hba;
19241926

1927+
/*
1928+
* Enable Write Line Unique. This field has to be 0x3
1929+
* to support Write Line Unique transaction on gs101.
1930+
*/
1931+
hci_writel(ufs, WLU_EN | WLU_BURST_LEN(3), HCI_AXIDMA_RWDATA_BURST_LEN);
1932+
19251933
exynos_ufs_enable_dbg_mode(hba);
19261934
ufshcd_dme_set(hba, UIC_ARG_MIB(PA_SAVECONFIGTIME), 0x3e8);
19271935
exynos_ufs_disable_dbg_mode(hba);

0 commit comments

Comments
 (0)