Lines Matching refs:qmp

222 	struct qcom_qmp *qmp;  member
339 struct qcom_qmp *qmp = qphy->qmp; in qmp_pcie_msm8996_serdes_init() local
358 dev_err(qmp->dev, in qmp_pcie_msm8996_serdes_init()
368 struct qcom_qmp *qmp = qphy->qmp; in qmp_pcie_msm8996_com_init() local
373 mutex_lock(&qmp->phy_mutex); in qmp_pcie_msm8996_com_init()
374 if (qmp->init_count++) { in qmp_pcie_msm8996_com_init()
375 mutex_unlock(&qmp->phy_mutex); in qmp_pcie_msm8996_com_init()
379 ret = regulator_bulk_enable(cfg->num_vregs, qmp->vregs); in qmp_pcie_msm8996_com_init()
381 dev_err(qmp->dev, "failed to enable regulators, err=%d\n", ret); in qmp_pcie_msm8996_com_init()
385 ret = reset_control_bulk_assert(cfg->num_resets, qmp->resets); in qmp_pcie_msm8996_com_init()
387 dev_err(qmp->dev, "reset assert failed\n"); in qmp_pcie_msm8996_com_init()
391 ret = reset_control_bulk_deassert(cfg->num_resets, qmp->resets); in qmp_pcie_msm8996_com_init()
393 dev_err(qmp->dev, "reset deassert failed\n"); in qmp_pcie_msm8996_com_init()
397 ret = clk_bulk_prepare_enable(cfg->num_clks, qmp->clks); in qmp_pcie_msm8996_com_init()
404 mutex_unlock(&qmp->phy_mutex); in qmp_pcie_msm8996_com_init()
409 reset_control_bulk_assert(cfg->num_resets, qmp->resets); in qmp_pcie_msm8996_com_init()
411 regulator_bulk_disable(cfg->num_vregs, qmp->vregs); in qmp_pcie_msm8996_com_init()
413 mutex_unlock(&qmp->phy_mutex); in qmp_pcie_msm8996_com_init()
420 struct qcom_qmp *qmp = qphy->qmp; in qmp_pcie_msm8996_com_exit() local
424 mutex_lock(&qmp->phy_mutex); in qmp_pcie_msm8996_com_exit()
425 if (--qmp->init_count) { in qmp_pcie_msm8996_com_exit()
426 mutex_unlock(&qmp->phy_mutex); in qmp_pcie_msm8996_com_exit()
437 reset_control_bulk_assert(cfg->num_resets, qmp->resets); in qmp_pcie_msm8996_com_exit()
439 clk_bulk_disable_unprepare(cfg->num_clks, qmp->clks); in qmp_pcie_msm8996_com_exit()
441 regulator_bulk_disable(cfg->num_vregs, qmp->vregs); in qmp_pcie_msm8996_com_exit()
443 mutex_unlock(&qmp->phy_mutex); in qmp_pcie_msm8996_com_exit()
451 struct qcom_qmp *qmp = qphy->qmp; in qmp_pcie_msm8996_init() local
453 dev_vdbg(qmp->dev, "Initializing QMP phy\n"); in qmp_pcie_msm8996_init()
465 struct qcom_qmp *qmp = qphy->qmp; in qmp_pcie_msm8996_power_on() local
478 dev_err(qmp->dev, "lane%d reset deassert failed\n", in qmp_pcie_msm8996_power_on()
485 dev_err(qmp->dev, "pipe_clk enable failed err=%d\n", ret); in qmp_pcie_msm8996_power_on()
514 dev_err(qmp->dev, "phy initialization timed-out\n"); in qmp_pcie_msm8996_power_on()
587 struct qcom_qmp *qmp = dev_get_drvdata(dev); in qmp_pcie_msm8996_vreg_init() local
591 qmp->vregs = devm_kcalloc(dev, num, sizeof(*qmp->vregs), GFP_KERNEL); in qmp_pcie_msm8996_vreg_init()
592 if (!qmp->vregs) in qmp_pcie_msm8996_vreg_init()
596 qmp->vregs[i].supply = cfg->vreg_list[i]; in qmp_pcie_msm8996_vreg_init()
598 return devm_regulator_bulk_get(dev, num, qmp->vregs); in qmp_pcie_msm8996_vreg_init()
603 struct qcom_qmp *qmp = dev_get_drvdata(dev); in qmp_pcie_msm8996_reset_init() local
607 qmp->resets = devm_kcalloc(dev, cfg->num_resets, in qmp_pcie_msm8996_reset_init()
608 sizeof(*qmp->resets), GFP_KERNEL); in qmp_pcie_msm8996_reset_init()
609 if (!qmp->resets) in qmp_pcie_msm8996_reset_init()
613 qmp->resets[i].id = cfg->reset_list[i]; in qmp_pcie_msm8996_reset_init()
615 ret = devm_reset_control_bulk_get_exclusive(dev, cfg->num_resets, qmp->resets); in qmp_pcie_msm8996_reset_init()
624 struct qcom_qmp *qmp = dev_get_drvdata(dev); in qmp_pcie_msm8996_clk_init() local
628 qmp->clks = devm_kcalloc(dev, num, sizeof(*qmp->clks), GFP_KERNEL); in qmp_pcie_msm8996_clk_init()
629 if (!qmp->clks) in qmp_pcie_msm8996_clk_init()
633 qmp->clks[i].id = cfg->clk_list[i]; in qmp_pcie_msm8996_clk_init()
635 return devm_clk_bulk_get(dev, num, qmp->clks); in qmp_pcie_msm8996_clk_init()
661 static int phy_pipe_clk_register(struct qcom_qmp *qmp, struct device_node *np) in phy_pipe_clk_register() argument
669 dev_err(qmp->dev, "%pOFn: No clock-output-names\n", np); in phy_pipe_clk_register()
673 fixed = devm_kzalloc(qmp->dev, sizeof(*fixed), GFP_KERNEL); in phy_pipe_clk_register()
683 ret = devm_clk_hw_register(qmp->dev, &fixed->hw); in phy_pipe_clk_register()
695 return devm_add_action_or_reset(qmp->dev, phy_clk_release_provider, np); in phy_pipe_clk_register()
712 struct qcom_qmp *qmp = dev_get_drvdata(dev); in qmp_pcie_msm8996_create() local
764 qphy->qmp = qmp; in qmp_pcie_msm8996_create()
765 qmp->phys[id] = qphy; in qmp_pcie_msm8996_create()
782 struct qcom_qmp *qmp; in qmp_pcie_msm8996_probe() local
791 qmp = devm_kzalloc(dev, sizeof(*qmp), GFP_KERNEL); in qmp_pcie_msm8996_probe()
792 if (!qmp) in qmp_pcie_msm8996_probe()
795 qmp->dev = dev; in qmp_pcie_msm8996_probe()
796 dev_set_drvdata(dev, qmp); in qmp_pcie_msm8996_probe()
808 mutex_init(&qmp->phy_mutex); in qmp_pcie_msm8996_probe()
827 qmp->phys = devm_kcalloc(dev, num, sizeof(*qmp->phys), GFP_KERNEL); in qmp_pcie_msm8996_probe()
828 if (!qmp->phys) in qmp_pcie_msm8996_probe()
845 ret = phy_pipe_clk_register(qmp, child); in qmp_pcie_msm8996_probe()
847 dev_err(qmp->dev, in qmp_pcie_msm8996_probe()