Lines Matching refs:hba
33 * @hba: per adapter instance
36 static void cdns_ufs_get_l4_attr(struct ufs_hba *hba)
38 struct cdns_ufs_host *host = ufshcd_get_variant(hba);
40 ufshcd_dme_get(hba, UIC_ARG_MIB(T_PEERDEVICEID),
42 ufshcd_dme_get(hba, UIC_ARG_MIB(T_PEERCPORTID),
44 ufshcd_dme_get(hba, UIC_ARG_MIB(T_TRAFFICCLASS),
46 ufshcd_dme_get(hba, UIC_ARG_MIB(T_PROTOCOLID),
48 ufshcd_dme_get(hba, UIC_ARG_MIB(T_CPORTFLAGS),
50 ufshcd_dme_get(hba, UIC_ARG_MIB(T_TXTOKENVALUE),
52 ufshcd_dme_get(hba, UIC_ARG_MIB(T_RXTOKENVALUE),
54 ufshcd_dme_get(hba, UIC_ARG_MIB(T_LOCALBUFFERSPACE),
56 ufshcd_dme_get(hba, UIC_ARG_MIB(T_PEERBUFFERSPACE),
58 ufshcd_dme_get(hba, UIC_ARG_MIB(T_CREDITSTOSEND),
60 ufshcd_dme_get(hba, UIC_ARG_MIB(T_CPORTMODE),
62 ufshcd_dme_get(hba, UIC_ARG_MIB(T_CONNECTIONSTATE),
68 * @hba: per adapter instance
71 static void cdns_ufs_set_l4_attr(struct ufs_hba *hba)
73 struct cdns_ufs_host *host = ufshcd_get_variant(hba);
75 ufshcd_dme_set(hba, UIC_ARG_MIB(T_CONNECTIONSTATE), 0);
76 ufshcd_dme_set(hba, UIC_ARG_MIB(T_PEERDEVICEID),
78 ufshcd_dme_set(hba, UIC_ARG_MIB(T_PEERCPORTID),
80 ufshcd_dme_set(hba, UIC_ARG_MIB(T_TRAFFICCLASS),
82 ufshcd_dme_set(hba, UIC_ARG_MIB(T_PROTOCOLID),
84 ufshcd_dme_set(hba, UIC_ARG_MIB(T_CPORTFLAGS),
86 ufshcd_dme_set(hba, UIC_ARG_MIB(T_TXTOKENVALUE),
88 ufshcd_dme_set(hba, UIC_ARG_MIB(T_RXTOKENVALUE),
90 ufshcd_dme_set(hba, UIC_ARG_MIB(T_LOCALBUFFERSPACE),
92 ufshcd_dme_set(hba, UIC_ARG_MIB(T_PEERBUFFERSPACE),
94 ufshcd_dme_set(hba, UIC_ARG_MIB(T_CREDITSTOSEND),
96 ufshcd_dme_set(hba, UIC_ARG_MIB(T_CPORTMODE),
98 ufshcd_dme_set(hba, UIC_ARG_MIB(T_CONNECTIONSTATE),
104 * @hba: host controller instance
108 static int cdns_ufs_set_hclkdiv(struct ufs_hba *hba)
111 struct list_head *head = &hba->clk_list_head;
126 dev_err(hba->dev, "%s: unable to find core_clk rate\n",
133 ufshcd_writel(hba, core_clk_div, CDNS_UFS_REG_HCLKDIV);
145 * @hba: host controller instance
150 static int cdns_ufs_hce_enable_notify(struct ufs_hba *hba,
156 return cdns_ufs_set_hclkdiv(hba);
161 * @hba: host controller instance
166 static void cdns_ufs_hibern8_notify(struct ufs_hba *hba, enum uic_cmd_dme cmd,
170 cdns_ufs_get_l4_attr(hba);
172 cdns_ufs_set_l4_attr(hba);
177 * @hba: host controller instance
182 static int cdns_ufs_link_startup_notify(struct ufs_hba *hba,
195 ufshcd_disable_host_tx_lcc(hba);
201 hba->ahit = 0;
208 * @hba: host controller instance
212 static int cdns_ufs_init(struct ufs_hba *hba)
216 struct device *dev = hba->dev;
222 ufshcd_set_variant(hba, host);
224 if (hba->vops && hba->vops->phy_initialization)
225 status = hba->vops->phy_initialization(hba);
232 * @hba: host controller instance
236 static int cdns_ufs_m31_16nm_phy_initialization(struct ufs_hba *hba)
241 data = ufshcd_readl(hba, CDNS_UFS_REG_PHY_XCFGD1);
243 ufshcd_writel(hba, data, CDNS_UFS_REG_PHY_XCFGD1);
311 struct ufs_hba *hba = platform_get_drvdata(pdev);
313 ufshcd_remove(hba);