Lines Matching refs:hba
16 int ufshcd_dwc_dme_set_attrs(struct ufs_hba *hba, in ufshcd_dwc_dme_set_attrs() argument
23 ret = ufshcd_dme_set_attr(hba, v[attr_node].attr_sel, in ufshcd_dwc_dme_set_attrs()
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()
54 static int ufshcd_dwc_link_is_up(struct ufs_hba *hba) in ufshcd_dwc_link_is_up() argument
58 ufshcd_dme_get(hba, UIC_ARG_MIB(VS_POWERSTATE), &dme_result); in ufshcd_dwc_link_is_up()
61 ufshcd_set_link_active(hba); in ufshcd_dwc_link_is_up()
81 static int ufshcd_dwc_connection_setup(struct ufs_hba *hba) in ufshcd_dwc_connection_setup() argument
104 return ufshcd_dwc_dme_set_attrs(hba, setup_attrs, ARRAY_SIZE(setup_attrs)); in ufshcd_dwc_connection_setup()
115 int ufshcd_dwc_link_startup_notify(struct ufs_hba *hba, in ufshcd_dwc_link_startup_notify() argument
121 ufshcd_dwc_program_clk_div(hba, DWC_UFS_REG_HCLKDIV_DIV_125); in ufshcd_dwc_link_startup_notify()
123 if (hba->vops->phy_initialization) { in ufshcd_dwc_link_startup_notify()
124 err = hba->vops->phy_initialization(hba); in ufshcd_dwc_link_startup_notify()
126 dev_err(hba->dev, "Phy setup failed (%d)\n", in ufshcd_dwc_link_startup_notify()
132 err = ufshcd_dwc_link_is_up(hba); in ufshcd_dwc_link_startup_notify()
134 dev_err(hba->dev, "Link is not up\n"); in ufshcd_dwc_link_startup_notify()
138 err = ufshcd_dwc_connection_setup(hba); in ufshcd_dwc_link_startup_notify()
140 dev_err(hba->dev, "Connection setup failed (%d)\n", in ufshcd_dwc_link_startup_notify()