Lines Matching full:hba
18 int ufshcd_dwc_dme_set_attrs(struct ufs_hba *hba, in ufshcd_dwc_dme_set_attrs() argument
25 ret = ufshcd_dme_set_attr(hba, v[attr_node].attr_sel, in ufshcd_dwc_dme_set_attrs()
38 * @hba: Private Structure pointer
42 static void ufshcd_dwc_program_clk_div(struct ufs_hba *hba, u32 divider_val) in ufshcd_dwc_program_clk_div() argument
44 ufshcd_writel(hba, divider_val, DWC_UFS_REG_HCLKDIV); in ufshcd_dwc_program_clk_div()
49 * @hba: private structure pointer
53 static int ufshcd_dwc_link_is_up(struct ufs_hba *hba) in ufshcd_dwc_link_is_up() argument
57 ufshcd_dme_get(hba, UIC_ARG_MIB(VS_POWERSTATE), &dme_result); in ufshcd_dwc_link_is_up()
60 ufshcd_set_link_active(hba); in ufshcd_dwc_link_is_up()
69 * @hba: pointer to drivers private data
80 static int ufshcd_dwc_connection_setup(struct ufs_hba *hba) in ufshcd_dwc_connection_setup() argument
103 return ufshcd_dwc_dme_set_attrs(hba, setup_attrs, ARRAY_SIZE(setup_attrs)); in ufshcd_dwc_connection_setup()
108 * @hba: private structure pointer
113 int ufshcd_dwc_link_startup_notify(struct ufs_hba *hba, in ufshcd_dwc_link_startup_notify() argument
119 ufshcd_dwc_program_clk_div(hba, DWC_UFS_REG_HCLKDIV_DIV_125); in ufshcd_dwc_link_startup_notify()
121 err = ufshcd_vops_phy_initialization(hba); in ufshcd_dwc_link_startup_notify()
123 dev_err(hba->dev, "Phy setup failed (%d)\n", err); in ufshcd_dwc_link_startup_notify()
127 err = ufshcd_dwc_link_is_up(hba); in ufshcd_dwc_link_startup_notify()
129 dev_err(hba->dev, "Link is not up\n"); in ufshcd_dwc_link_startup_notify()
133 err = ufshcd_dwc_connection_setup(hba); in ufshcd_dwc_link_startup_notify()
135 dev_err(hba->dev, "Connection setup failed (%d)\n", in ufshcd_dwc_link_startup_notify()