qmp               961 drivers/phy/qualcomm/phy-qcom-qmp.c 	struct qcom_qmp *qmp;
qmp              1300 drivers/phy/qualcomm/phy-qcom-qmp.c 	struct qcom_qmp *qmp = qphy->qmp;
qmp              1301 drivers/phy/qualcomm/phy-qcom-qmp.c 	const struct qmp_phy_cfg *cfg = qmp->cfg;
qmp              1302 drivers/phy/qualcomm/phy-qcom-qmp.c 	void __iomem *serdes = qmp->serdes;
qmp              1304 drivers/phy/qualcomm/phy-qcom-qmp.c 	void __iomem *dp_com = qmp->dp_com;
qmp              1307 drivers/phy/qualcomm/phy-qcom-qmp.c 	mutex_lock(&qmp->phy_mutex);
qmp              1308 drivers/phy/qualcomm/phy-qcom-qmp.c 	if (qmp->init_count++) {
qmp              1309 drivers/phy/qualcomm/phy-qcom-qmp.c 		mutex_unlock(&qmp->phy_mutex);
qmp              1314 drivers/phy/qualcomm/phy-qcom-qmp.c 	ret = regulator_bulk_enable(cfg->num_vregs, qmp->vregs);
qmp              1316 drivers/phy/qualcomm/phy-qcom-qmp.c 		dev_err(qmp->dev, "failed to enable regulators, err=%d\n", ret);
qmp              1321 drivers/phy/qualcomm/phy-qcom-qmp.c 		ret = reset_control_assert(qmp->resets[i]);
qmp              1323 drivers/phy/qualcomm/phy-qcom-qmp.c 			dev_err(qmp->dev, "%s reset assert failed\n",
qmp              1330 drivers/phy/qualcomm/phy-qcom-qmp.c 		ret = reset_control_deassert(qmp->resets[i]);
qmp              1332 drivers/phy/qualcomm/phy-qcom-qmp.c 			dev_err(qmp->dev, "%s reset deassert failed\n",
qmp              1333 drivers/phy/qualcomm/phy-qcom-qmp.c 				qmp->cfg->reset_list[i]);
qmp              1338 drivers/phy/qualcomm/phy-qcom-qmp.c 	ret = clk_bulk_prepare_enable(cfg->num_clks, qmp->clks);
qmp              1340 drivers/phy/qualcomm/phy-qcom-qmp.c 		dev_err(qmp->dev, "failed to enable clks, err=%d\n", ret);
qmp              1385 drivers/phy/qualcomm/phy-qcom-qmp.c 			dev_err(qmp->dev,
qmp              1391 drivers/phy/qualcomm/phy-qcom-qmp.c 	mutex_unlock(&qmp->phy_mutex);
qmp              1396 drivers/phy/qualcomm/phy-qcom-qmp.c 	clk_bulk_disable_unprepare(cfg->num_clks, qmp->clks);
qmp              1399 drivers/phy/qualcomm/phy-qcom-qmp.c 		reset_control_assert(qmp->resets[i]);
qmp              1401 drivers/phy/qualcomm/phy-qcom-qmp.c 	regulator_bulk_disable(cfg->num_vregs, qmp->vregs);
qmp              1403 drivers/phy/qualcomm/phy-qcom-qmp.c 	mutex_unlock(&qmp->phy_mutex);
qmp              1408 drivers/phy/qualcomm/phy-qcom-qmp.c static int qcom_qmp_phy_com_exit(struct qcom_qmp *qmp)
qmp              1410 drivers/phy/qualcomm/phy-qcom-qmp.c 	const struct qmp_phy_cfg *cfg = qmp->cfg;
qmp              1411 drivers/phy/qualcomm/phy-qcom-qmp.c 	void __iomem *serdes = qmp->serdes;
qmp              1414 drivers/phy/qualcomm/phy-qcom-qmp.c 	mutex_lock(&qmp->phy_mutex);
qmp              1415 drivers/phy/qualcomm/phy-qcom-qmp.c 	if (--qmp->init_count) {
qmp              1416 drivers/phy/qualcomm/phy-qcom-qmp.c 		mutex_unlock(&qmp->phy_mutex);
qmp              1420 drivers/phy/qualcomm/phy-qcom-qmp.c 	reset_control_assert(qmp->ufs_reset);
qmp              1431 drivers/phy/qualcomm/phy-qcom-qmp.c 		reset_control_assert(qmp->resets[i]);
qmp              1433 drivers/phy/qualcomm/phy-qcom-qmp.c 	clk_bulk_disable_unprepare(cfg->num_clks, qmp->clks);
qmp              1435 drivers/phy/qualcomm/phy-qcom-qmp.c 	regulator_bulk_disable(cfg->num_vregs, qmp->vregs);
qmp              1437 drivers/phy/qualcomm/phy-qcom-qmp.c 	mutex_unlock(&qmp->phy_mutex);
qmp              1445 drivers/phy/qualcomm/phy-qcom-qmp.c 	struct qcom_qmp *qmp = qphy->qmp;
qmp              1446 drivers/phy/qualcomm/phy-qcom-qmp.c 	const struct qmp_phy_cfg *cfg = qmp->cfg;
qmp              1450 drivers/phy/qualcomm/phy-qcom-qmp.c 	void __iomem *dp_com = qmp->dp_com;
qmp              1455 drivers/phy/qualcomm/phy-qcom-qmp.c 	dev_vdbg(qmp->dev, "Initializing QMP phy\n");
qmp              1463 drivers/phy/qualcomm/phy-qcom-qmp.c 		if (!qmp->ufs_reset) {
qmp              1464 drivers/phy/qualcomm/phy-qcom-qmp.c 			qmp->ufs_reset =
qmp              1465 drivers/phy/qualcomm/phy-qcom-qmp.c 				devm_reset_control_get_exclusive(qmp->dev,
qmp              1468 drivers/phy/qualcomm/phy-qcom-qmp.c 			if (IS_ERR(qmp->ufs_reset)) {
qmp              1469 drivers/phy/qualcomm/phy-qcom-qmp.c 				ret = PTR_ERR(qmp->ufs_reset);
qmp              1470 drivers/phy/qualcomm/phy-qcom-qmp.c 				dev_err(qmp->dev,
qmp              1474 drivers/phy/qualcomm/phy-qcom-qmp.c 				qmp->ufs_reset = NULL;
qmp              1479 drivers/phy/qualcomm/phy-qcom-qmp.c 		ret = reset_control_assert(qmp->ufs_reset);
qmp              1491 drivers/phy/qualcomm/phy-qcom-qmp.c 			dev_err(qmp->dev, "lane%d reset deassert failed\n",
qmp              1499 drivers/phy/qualcomm/phy-qcom-qmp.c 		dev_err(qmp->dev, "pipe_clk enable failed err=%d\n", ret);
qmp              1516 drivers/phy/qualcomm/phy-qcom-qmp.c 	ret = reset_control_deassert(qmp->ufs_reset);
qmp              1553 drivers/phy/qualcomm/phy-qcom-qmp.c 		dev_err(qmp->dev, "phy initialization timed-out\n");
qmp              1556 drivers/phy/qualcomm/phy-qcom-qmp.c 	qmp->phy_initialized = true;
qmp              1560 drivers/phy/qualcomm/phy-qcom-qmp.c 	reset_control_assert(qmp->ufs_reset);
qmp              1566 drivers/phy/qualcomm/phy-qcom-qmp.c 	qcom_qmp_phy_com_exit(qmp);
qmp              1574 drivers/phy/qualcomm/phy-qcom-qmp.c 	struct qcom_qmp *qmp = qphy->qmp;
qmp              1575 drivers/phy/qualcomm/phy-qcom-qmp.c 	const struct qmp_phy_cfg *cfg = qmp->cfg;
qmp              1592 drivers/phy/qualcomm/phy-qcom-qmp.c 	qcom_qmp_phy_com_exit(qmp);
qmp              1594 drivers/phy/qualcomm/phy-qcom-qmp.c 	qmp->phy_initialized = false;
qmp              1603 drivers/phy/qualcomm/phy-qcom-qmp.c 	struct qcom_qmp *qmp = qphy->qmp;
qmp              1605 drivers/phy/qualcomm/phy-qcom-qmp.c 	qmp->mode = mode;
qmp              1612 drivers/phy/qualcomm/phy-qcom-qmp.c 	struct qcom_qmp *qmp = qphy->qmp;
qmp              1613 drivers/phy/qualcomm/phy-qcom-qmp.c 	const struct qmp_phy_cfg *cfg = qmp->cfg;
qmp              1618 drivers/phy/qualcomm/phy-qcom-qmp.c 	if (qmp->mode == PHY_MODE_USB_HOST_SS ||
qmp              1619 drivers/phy/qualcomm/phy-qcom-qmp.c 	    qmp->mode == PHY_MODE_USB_DEVICE_SS)
qmp              1642 drivers/phy/qualcomm/phy-qcom-qmp.c 	struct qcom_qmp *qmp = qphy->qmp;
qmp              1643 drivers/phy/qualcomm/phy-qcom-qmp.c 	const struct qmp_phy_cfg *cfg = qmp->cfg;
qmp              1661 drivers/phy/qualcomm/phy-qcom-qmp.c 	struct qcom_qmp *qmp = dev_get_drvdata(dev);
qmp              1662 drivers/phy/qualcomm/phy-qcom-qmp.c 	struct qmp_phy *qphy = qmp->phys[0];
qmp              1663 drivers/phy/qualcomm/phy-qcom-qmp.c 	const struct qmp_phy_cfg *cfg = qmp->cfg;
qmp              1665 drivers/phy/qualcomm/phy-qcom-qmp.c 	dev_vdbg(dev, "Suspending QMP phy, mode:%d\n", qmp->mode);
qmp              1671 drivers/phy/qualcomm/phy-qcom-qmp.c 	if (!qmp->phy_initialized) {
qmp              1679 drivers/phy/qualcomm/phy-qcom-qmp.c 	clk_bulk_disable_unprepare(cfg->num_clks, qmp->clks);
qmp              1686 drivers/phy/qualcomm/phy-qcom-qmp.c 	struct qcom_qmp *qmp = dev_get_drvdata(dev);
qmp              1687 drivers/phy/qualcomm/phy-qcom-qmp.c 	struct qmp_phy *qphy = qmp->phys[0];
qmp              1688 drivers/phy/qualcomm/phy-qcom-qmp.c 	const struct qmp_phy_cfg *cfg = qmp->cfg;
qmp              1691 drivers/phy/qualcomm/phy-qcom-qmp.c 	dev_vdbg(dev, "Resuming QMP phy, mode:%d\n", qmp->mode);
qmp              1697 drivers/phy/qualcomm/phy-qcom-qmp.c 	if (!qmp->phy_initialized) {
qmp              1702 drivers/phy/qualcomm/phy-qcom-qmp.c 	ret = clk_bulk_prepare_enable(cfg->num_clks, qmp->clks);
qmp              1704 drivers/phy/qualcomm/phy-qcom-qmp.c 		dev_err(qmp->dev, "failed to enable clks, err=%d\n", ret);
qmp              1711 drivers/phy/qualcomm/phy-qcom-qmp.c 		clk_bulk_disable_unprepare(cfg->num_clks, qmp->clks);
qmp              1722 drivers/phy/qualcomm/phy-qcom-qmp.c 	struct qcom_qmp *qmp = dev_get_drvdata(dev);
qmp              1723 drivers/phy/qualcomm/phy-qcom-qmp.c 	int num = qmp->cfg->num_vregs;
qmp              1726 drivers/phy/qualcomm/phy-qcom-qmp.c 	qmp->vregs = devm_kcalloc(dev, num, sizeof(*qmp->vregs), GFP_KERNEL);
qmp              1727 drivers/phy/qualcomm/phy-qcom-qmp.c 	if (!qmp->vregs)
qmp              1731 drivers/phy/qualcomm/phy-qcom-qmp.c 		qmp->vregs[i].supply = qmp->cfg->vreg_list[i];
qmp              1733 drivers/phy/qualcomm/phy-qcom-qmp.c 	return devm_regulator_bulk_get(dev, num, qmp->vregs);
qmp              1738 drivers/phy/qualcomm/phy-qcom-qmp.c 	struct qcom_qmp *qmp = dev_get_drvdata(dev);
qmp              1741 drivers/phy/qualcomm/phy-qcom-qmp.c 	qmp->resets = devm_kcalloc(dev, qmp->cfg->num_resets,
qmp              1742 drivers/phy/qualcomm/phy-qcom-qmp.c 				   sizeof(*qmp->resets), GFP_KERNEL);
qmp              1743 drivers/phy/qualcomm/phy-qcom-qmp.c 	if (!qmp->resets)
qmp              1746 drivers/phy/qualcomm/phy-qcom-qmp.c 	for (i = 0; i < qmp->cfg->num_resets; i++) {
qmp              1748 drivers/phy/qualcomm/phy-qcom-qmp.c 		const char *name = qmp->cfg->reset_list[i];
qmp              1755 drivers/phy/qualcomm/phy-qcom-qmp.c 		qmp->resets[i] = rst;
qmp              1763 drivers/phy/qualcomm/phy-qcom-qmp.c 	struct qcom_qmp *qmp = dev_get_drvdata(dev);
qmp              1764 drivers/phy/qualcomm/phy-qcom-qmp.c 	int num = qmp->cfg->num_clks;
qmp              1767 drivers/phy/qualcomm/phy-qcom-qmp.c 	qmp->clks = devm_kcalloc(dev, num, sizeof(*qmp->clks), GFP_KERNEL);
qmp              1768 drivers/phy/qualcomm/phy-qcom-qmp.c 	if (!qmp->clks)
qmp              1772 drivers/phy/qualcomm/phy-qcom-qmp.c 		qmp->clks[i].id = qmp->cfg->clk_list[i];
qmp              1774 drivers/phy/qualcomm/phy-qcom-qmp.c 	return devm_clk_bulk_get(dev, num, qmp->clks);
qmp              1800 drivers/phy/qualcomm/phy-qcom-qmp.c static int phy_pipe_clk_register(struct qcom_qmp *qmp, struct device_node *np)
qmp              1806 drivers/phy/qualcomm/phy-qcom-qmp.c 	if ((qmp->cfg->type != PHY_TYPE_USB3) &&
qmp              1807 drivers/phy/qualcomm/phy-qcom-qmp.c 	    (qmp->cfg->type != PHY_TYPE_PCIE)) {
qmp              1814 drivers/phy/qualcomm/phy-qcom-qmp.c 		dev_err(qmp->dev, "%pOFn: No clock-output-names\n", np);
qmp              1818 drivers/phy/qualcomm/phy-qcom-qmp.c 	fixed = devm_kzalloc(qmp->dev, sizeof(*fixed), GFP_KERNEL);
qmp              1828 drivers/phy/qualcomm/phy-qcom-qmp.c 	ret = devm_clk_hw_register(qmp->dev, &fixed->hw);
qmp              1840 drivers/phy/qualcomm/phy-qcom-qmp.c 	ret = devm_add_action(qmp->dev, phy_pipe_clk_release_provider, np);
qmp              1864 drivers/phy/qualcomm/phy-qcom-qmp.c 	struct qcom_qmp *qmp = dev_get_drvdata(dev);
qmp              1899 drivers/phy/qualcomm/phy-qcom-qmp.c 	if (qmp->cfg->is_dual_lane_phy) {
qmp              1932 drivers/phy/qualcomm/phy-qcom-qmp.c 		if (qmp->cfg->type == PHY_TYPE_PCIE ||
qmp              1933 drivers/phy/qualcomm/phy-qcom-qmp.c 		    qmp->cfg->type == PHY_TYPE_USB3) {
qmp              1945 drivers/phy/qualcomm/phy-qcom-qmp.c 	if (qmp->cfg->has_lane_rst) {
qmp              1954 drivers/phy/qualcomm/phy-qcom-qmp.c 	if (qmp->cfg->type == PHY_TYPE_UFS)
qmp              1966 drivers/phy/qualcomm/phy-qcom-qmp.c 	qphy->qmp = qmp;
qmp              1967 drivers/phy/qualcomm/phy-qcom-qmp.c 	qmp->phys[id] = qphy;
qmp              2013 drivers/phy/qualcomm/phy-qcom-qmp.c 	struct qcom_qmp *qmp;
qmp              2022 drivers/phy/qualcomm/phy-qcom-qmp.c 	qmp = devm_kzalloc(dev, sizeof(*qmp), GFP_KERNEL);
qmp              2023 drivers/phy/qualcomm/phy-qcom-qmp.c 	if (!qmp)
qmp              2026 drivers/phy/qualcomm/phy-qcom-qmp.c 	qmp->dev = dev;
qmp              2027 drivers/phy/qualcomm/phy-qcom-qmp.c 	dev_set_drvdata(dev, qmp);
qmp              2030 drivers/phy/qualcomm/phy-qcom-qmp.c 	qmp->cfg = of_device_get_match_data(dev);
qmp              2031 drivers/phy/qualcomm/phy-qcom-qmp.c 	if (!qmp->cfg)
qmp              2040 drivers/phy/qualcomm/phy-qcom-qmp.c 	qmp->serdes = base;
qmp              2043 drivers/phy/qualcomm/phy-qcom-qmp.c 	if (qmp->cfg->has_phy_dp_com_ctrl) {
qmp              2050 drivers/phy/qualcomm/phy-qcom-qmp.c 		qmp->dp_com = base;
qmp              2053 drivers/phy/qualcomm/phy-qcom-qmp.c 	mutex_init(&qmp->phy_mutex);
qmp              2073 drivers/phy/qualcomm/phy-qcom-qmp.c 	if (num > qmp->cfg->nlanes)
qmp              2076 drivers/phy/qualcomm/phy-qcom-qmp.c 	qmp->phys = devm_kcalloc(dev, num, sizeof(*qmp->phys), GFP_KERNEL);
qmp              2077 drivers/phy/qualcomm/phy-qcom-qmp.c 	if (!qmp->phys)
qmp              2102 drivers/phy/qualcomm/phy-qcom-qmp.c 		ret = phy_pipe_clk_register(qmp, child);
qmp              2104 drivers/phy/qualcomm/phy-qcom-qmp.c 			dev_err(qmp->dev,
qmp                51 drivers/soc/qcom/qcom_aoss.c 	struct qmp *qmp;
qmp                89 drivers/soc/qcom/qcom_aoss.c 	struct qmp *qmp;
qmp                95 drivers/soc/qcom/qcom_aoss.c static void qmp_kick(struct qmp *qmp)
qmp                97 drivers/soc/qcom/qcom_aoss.c 	mbox_send_message(qmp->mbox_chan, NULL);
qmp                98 drivers/soc/qcom/qcom_aoss.c 	mbox_client_txdone(qmp->mbox_chan, 0);
qmp               101 drivers/soc/qcom/qcom_aoss.c static bool qmp_magic_valid(struct qmp *qmp)
qmp               103 drivers/soc/qcom/qcom_aoss.c 	return readl(qmp->msgram + QMP_DESC_MAGIC) == QMP_MAGIC;
qmp               106 drivers/soc/qcom/qcom_aoss.c static bool qmp_link_acked(struct qmp *qmp)
qmp               108 drivers/soc/qcom/qcom_aoss.c 	return readl(qmp->msgram + QMP_DESC_MCORE_LINK_STATE_ACK) == QMP_STATE_UP;
qmp               111 drivers/soc/qcom/qcom_aoss.c static bool qmp_mcore_channel_acked(struct qmp *qmp)
qmp               113 drivers/soc/qcom/qcom_aoss.c 	return readl(qmp->msgram + QMP_DESC_MCORE_CH_STATE_ACK) == QMP_STATE_UP;
qmp               116 drivers/soc/qcom/qcom_aoss.c static bool qmp_ucore_channel_up(struct qmp *qmp)
qmp               118 drivers/soc/qcom/qcom_aoss.c 	return readl(qmp->msgram + QMP_DESC_UCORE_CH_STATE) == QMP_STATE_UP;
qmp               121 drivers/soc/qcom/qcom_aoss.c static int qmp_open(struct qmp *qmp)
qmp               126 drivers/soc/qcom/qcom_aoss.c 	if (!qmp_magic_valid(qmp)) {
qmp               127 drivers/soc/qcom/qcom_aoss.c 		dev_err(qmp->dev, "QMP magic doesn't match\n");
qmp               131 drivers/soc/qcom/qcom_aoss.c 	val = readl(qmp->msgram + QMP_DESC_VERSION);
qmp               133 drivers/soc/qcom/qcom_aoss.c 		dev_err(qmp->dev, "unsupported QMP version %d\n", val);
qmp               137 drivers/soc/qcom/qcom_aoss.c 	qmp->offset = readl(qmp->msgram + QMP_DESC_MCORE_MBOX_OFFSET);
qmp               138 drivers/soc/qcom/qcom_aoss.c 	qmp->size = readl(qmp->msgram + QMP_DESC_MCORE_MBOX_SIZE);
qmp               139 drivers/soc/qcom/qcom_aoss.c 	if (!qmp->size) {
qmp               140 drivers/soc/qcom/qcom_aoss.c 		dev_err(qmp->dev, "invalid mailbox size\n");
qmp               145 drivers/soc/qcom/qcom_aoss.c 	val = readl(qmp->msgram + QMP_DESC_UCORE_LINK_STATE);
qmp               146 drivers/soc/qcom/qcom_aoss.c 	writel(val, qmp->msgram + QMP_DESC_UCORE_LINK_STATE_ACK);
qmp               149 drivers/soc/qcom/qcom_aoss.c 	writel(QMP_STATE_UP, qmp->msgram + QMP_DESC_MCORE_LINK_STATE);
qmp               151 drivers/soc/qcom/qcom_aoss.c 	qmp_kick(qmp);
qmp               153 drivers/soc/qcom/qcom_aoss.c 	ret = wait_event_timeout(qmp->event, qmp_link_acked(qmp), HZ);
qmp               155 drivers/soc/qcom/qcom_aoss.c 		dev_err(qmp->dev, "ucore didn't ack link\n");
qmp               159 drivers/soc/qcom/qcom_aoss.c 	writel(QMP_STATE_UP, qmp->msgram + QMP_DESC_MCORE_CH_STATE);
qmp               161 drivers/soc/qcom/qcom_aoss.c 	qmp_kick(qmp);
qmp               163 drivers/soc/qcom/qcom_aoss.c 	ret = wait_event_timeout(qmp->event, qmp_ucore_channel_up(qmp), HZ);
qmp               165 drivers/soc/qcom/qcom_aoss.c 		dev_err(qmp->dev, "ucore didn't open channel\n");
qmp               170 drivers/soc/qcom/qcom_aoss.c 	writel(QMP_STATE_UP, qmp->msgram + QMP_DESC_UCORE_CH_STATE_ACK);
qmp               172 drivers/soc/qcom/qcom_aoss.c 	qmp_kick(qmp);
qmp               174 drivers/soc/qcom/qcom_aoss.c 	ret = wait_event_timeout(qmp->event, qmp_mcore_channel_acked(qmp), HZ);
qmp               176 drivers/soc/qcom/qcom_aoss.c 		dev_err(qmp->dev, "ucore didn't ack channel\n");
qmp               183 drivers/soc/qcom/qcom_aoss.c 	writel(QMP_STATE_DOWN, qmp->msgram + QMP_DESC_MCORE_CH_STATE);
qmp               186 drivers/soc/qcom/qcom_aoss.c 	writel(QMP_STATE_DOWN, qmp->msgram + QMP_DESC_MCORE_LINK_STATE);
qmp               187 drivers/soc/qcom/qcom_aoss.c 	qmp_kick(qmp);
qmp               192 drivers/soc/qcom/qcom_aoss.c static void qmp_close(struct qmp *qmp)
qmp               194 drivers/soc/qcom/qcom_aoss.c 	writel(QMP_STATE_DOWN, qmp->msgram + QMP_DESC_MCORE_CH_STATE);
qmp               195 drivers/soc/qcom/qcom_aoss.c 	writel(QMP_STATE_DOWN, qmp->msgram + QMP_DESC_MCORE_LINK_STATE);
qmp               196 drivers/soc/qcom/qcom_aoss.c 	qmp_kick(qmp);
qmp               201 drivers/soc/qcom/qcom_aoss.c 	struct qmp *qmp = data;
qmp               203 drivers/soc/qcom/qcom_aoss.c 	wake_up_interruptible_all(&qmp->event);
qmp               208 drivers/soc/qcom/qcom_aoss.c static bool qmp_message_empty(struct qmp *qmp)
qmp               210 drivers/soc/qcom/qcom_aoss.c 	return readl(qmp->msgram + qmp->offset) == 0;
qmp               225 drivers/soc/qcom/qcom_aoss.c static int qmp_send(struct qmp *qmp, const void *data, size_t len)
qmp               230 drivers/soc/qcom/qcom_aoss.c 	if (WARN_ON(len + sizeof(u32) > qmp->size))
qmp               236 drivers/soc/qcom/qcom_aoss.c 	mutex_lock(&qmp->tx_lock);
qmp               239 drivers/soc/qcom/qcom_aoss.c 	__iowrite32_copy(qmp->msgram + qmp->offset + sizeof(u32),
qmp               241 drivers/soc/qcom/qcom_aoss.c 	writel(len, qmp->msgram + qmp->offset);
qmp               242 drivers/soc/qcom/qcom_aoss.c 	qmp_kick(qmp);
qmp               244 drivers/soc/qcom/qcom_aoss.c 	time_left = wait_event_interruptible_timeout(qmp->event,
qmp               245 drivers/soc/qcom/qcom_aoss.c 						     qmp_message_empty(qmp), HZ);
qmp               247 drivers/soc/qcom/qcom_aoss.c 		dev_err(qmp->dev, "ucore did not ack channel\n");
qmp               251 drivers/soc/qcom/qcom_aoss.c 		writel(0, qmp->msgram + qmp->offset);
qmp               256 drivers/soc/qcom/qcom_aoss.c 	mutex_unlock(&qmp->tx_lock);
qmp               264 drivers/soc/qcom/qcom_aoss.c 	struct qmp *qmp = container_of(hw, struct qmp, qdss_clk);
qmp               266 drivers/soc/qcom/qcom_aoss.c 	return qmp_send(qmp, buf, sizeof(buf));
qmp               272 drivers/soc/qcom/qcom_aoss.c 	struct qmp *qmp = container_of(hw, struct qmp, qdss_clk);
qmp               274 drivers/soc/qcom/qcom_aoss.c 	qmp_send(qmp, buf, sizeof(buf));
qmp               282 drivers/soc/qcom/qcom_aoss.c static int qmp_qdss_clk_add(struct qmp *qmp)
qmp               290 drivers/soc/qcom/qcom_aoss.c 	qmp->qdss_clk.init = &qdss_init;
qmp               291 drivers/soc/qcom/qcom_aoss.c 	ret = clk_hw_register(qmp->dev, &qmp->qdss_clk);
qmp               293 drivers/soc/qcom/qcom_aoss.c 		dev_err(qmp->dev, "failed to register qdss clock\n");
qmp               297 drivers/soc/qcom/qcom_aoss.c 	ret = of_clk_add_hw_provider(qmp->dev->of_node, of_clk_hw_simple_get,
qmp               298 drivers/soc/qcom/qcom_aoss.c 				     &qmp->qdss_clk);
qmp               300 drivers/soc/qcom/qcom_aoss.c 		dev_err(qmp->dev, "unable to register of clk hw provider\n");
qmp               301 drivers/soc/qcom/qcom_aoss.c 		clk_hw_unregister(&qmp->qdss_clk);
qmp               307 drivers/soc/qcom/qcom_aoss.c static void qmp_qdss_clk_remove(struct qmp *qmp)
qmp               309 drivers/soc/qcom/qcom_aoss.c 	of_clk_del_provider(qmp->dev->of_node);
qmp               310 drivers/soc/qcom/qcom_aoss.c 	clk_hw_unregister(&qmp->qdss_clk);
qmp               320 drivers/soc/qcom/qcom_aoss.c 	return qmp_send(res->qmp, buf, sizeof(buf));
qmp               342 drivers/soc/qcom/qcom_aoss.c static int qmp_pd_add(struct qmp *qmp)
qmp               344 drivers/soc/qcom/qcom_aoss.c 	struct genpd_onecell_data *data = &qmp->pd_data;
qmp               345 drivers/soc/qcom/qcom_aoss.c 	struct device *dev = qmp->dev;
qmp               361 drivers/soc/qcom/qcom_aoss.c 		res[i].qmp = qmp;
qmp               390 drivers/soc/qcom/qcom_aoss.c static void qmp_pd_remove(struct qmp *qmp)
qmp               392 drivers/soc/qcom/qcom_aoss.c 	struct genpd_onecell_data *data = &qmp->pd_data;
qmp               393 drivers/soc/qcom/qcom_aoss.c 	struct device *dev = qmp->dev;
qmp               437 drivers/soc/qcom/qcom_aoss.c 	ret = qmp_send(qmp_cdev->qmp, buf, sizeof(buf));
qmp               451 drivers/soc/qcom/qcom_aoss.c static int qmp_cooling_device_add(struct qmp *qmp,
qmp               457 drivers/soc/qcom/qcom_aoss.c 	qmp_cdev->qmp = qmp;
qmp               461 drivers/soc/qcom/qcom_aoss.c 				(qmp->dev, node,
qmp               466 drivers/soc/qcom/qcom_aoss.c 		dev_err(qmp->dev, "unable to register %s cooling device\n",
qmp               472 drivers/soc/qcom/qcom_aoss.c static int qmp_cooling_devices_register(struct qmp *qmp)
qmp               478 drivers/soc/qcom/qcom_aoss.c 	np = qmp->dev->of_node;
qmp               480 drivers/soc/qcom/qcom_aoss.c 	qmp->cooling_devs = devm_kcalloc(qmp->dev, count,
qmp               481 drivers/soc/qcom/qcom_aoss.c 					 sizeof(*qmp->cooling_devs),
qmp               484 drivers/soc/qcom/qcom_aoss.c 	if (!qmp->cooling_devs)
qmp               490 drivers/soc/qcom/qcom_aoss.c 		ret = qmp_cooling_device_add(qmp, &qmp->cooling_devs[count++],
qmp               501 drivers/soc/qcom/qcom_aoss.c 			(qmp->cooling_devs[count].cdev);
qmp               506 drivers/soc/qcom/qcom_aoss.c static void qmp_cooling_devices_remove(struct qmp *qmp)
qmp               511 drivers/soc/qcom/qcom_aoss.c 		thermal_cooling_device_unregister(qmp->cooling_devs[i].cdev);
qmp               517 drivers/soc/qcom/qcom_aoss.c 	struct qmp *qmp;
qmp               521 drivers/soc/qcom/qcom_aoss.c 	qmp = devm_kzalloc(&pdev->dev, sizeof(*qmp), GFP_KERNEL);
qmp               522 drivers/soc/qcom/qcom_aoss.c 	if (!qmp)
qmp               525 drivers/soc/qcom/qcom_aoss.c 	qmp->dev = &pdev->dev;
qmp               526 drivers/soc/qcom/qcom_aoss.c 	init_waitqueue_head(&qmp->event);
qmp               527 drivers/soc/qcom/qcom_aoss.c 	mutex_init(&qmp->tx_lock);
qmp               530 drivers/soc/qcom/qcom_aoss.c 	qmp->msgram = devm_ioremap_resource(&pdev->dev, res);
qmp               531 drivers/soc/qcom/qcom_aoss.c 	if (IS_ERR(qmp->msgram))
qmp               532 drivers/soc/qcom/qcom_aoss.c 		return PTR_ERR(qmp->msgram);
qmp               534 drivers/soc/qcom/qcom_aoss.c 	qmp->mbox_client.dev = &pdev->dev;
qmp               535 drivers/soc/qcom/qcom_aoss.c 	qmp->mbox_client.knows_txdone = true;
qmp               536 drivers/soc/qcom/qcom_aoss.c 	qmp->mbox_chan = mbox_request_channel(&qmp->mbox_client, 0);
qmp               537 drivers/soc/qcom/qcom_aoss.c 	if (IS_ERR(qmp->mbox_chan)) {
qmp               539 drivers/soc/qcom/qcom_aoss.c 		return PTR_ERR(qmp->mbox_chan);
qmp               544 drivers/soc/qcom/qcom_aoss.c 			       "aoss-qmp", qmp);
qmp               550 drivers/soc/qcom/qcom_aoss.c 	ret = qmp_open(qmp);
qmp               554 drivers/soc/qcom/qcom_aoss.c 	ret = qmp_qdss_clk_add(qmp);
qmp               558 drivers/soc/qcom/qcom_aoss.c 	ret = qmp_pd_add(qmp);
qmp               562 drivers/soc/qcom/qcom_aoss.c 	ret = qmp_cooling_devices_register(qmp);
qmp               566 drivers/soc/qcom/qcom_aoss.c 	platform_set_drvdata(pdev, qmp);
qmp               571 drivers/soc/qcom/qcom_aoss.c 	qmp_qdss_clk_remove(qmp);
qmp               573 drivers/soc/qcom/qcom_aoss.c 	qmp_close(qmp);
qmp               575 drivers/soc/qcom/qcom_aoss.c 	mbox_free_channel(qmp->mbox_chan);
qmp               582 drivers/soc/qcom/qcom_aoss.c 	struct qmp *qmp = platform_get_drvdata(pdev);
qmp               584 drivers/soc/qcom/qcom_aoss.c 	qmp_qdss_clk_remove(qmp);
qmp               585 drivers/soc/qcom/qcom_aoss.c 	qmp_pd_remove(qmp);
qmp               586 drivers/soc/qcom/qcom_aoss.c 	qmp_cooling_devices_remove(qmp);
qmp               588 drivers/soc/qcom/qcom_aoss.c 	qmp_close(qmp);
qmp               589 drivers/soc/qcom/qcom_aoss.c 	mbox_free_channel(qmp->mbox_chan);