qcom_iommu         86 drivers/iommu/qcom_iommu.c 	struct qcom_iommu_dev *qcom_iommu = to_iommu(fwspec);
qcom_iommu         87 drivers/iommu/qcom_iommu.c 	if (!qcom_iommu)
qcom_iommu         89 drivers/iommu/qcom_iommu.c 	return qcom_iommu->ctxs[asid - 1];
qcom_iommu        224 drivers/iommu/qcom_iommu.c 				  struct qcom_iommu_dev *qcom_iommu,
qcom_iommu        242 drivers/iommu/qcom_iommu.c 		.iommu_dev	= qcom_iommu->dev,
qcom_iommu        245 drivers/iommu/qcom_iommu.c 	qcom_domain->iommu = qcom_iommu;
qcom_iommu        248 drivers/iommu/qcom_iommu.c 		dev_err(qcom_iommu->dev, "failed to allocate pagetable ops\n");
qcom_iommu        262 drivers/iommu/qcom_iommu.c 			ret = qcom_scm_restore_sec_cfg(qcom_iommu->sec_id, ctx->asid);
qcom_iommu        264 drivers/iommu/qcom_iommu.c 				dev_err(qcom_iommu->dev, "secure init failed: %d\n", ret);
qcom_iommu        368 drivers/iommu/qcom_iommu.c 	struct qcom_iommu_dev *qcom_iommu = to_iommu(fwspec);
qcom_iommu        372 drivers/iommu/qcom_iommu.c 	if (!qcom_iommu) {
qcom_iommu        378 drivers/iommu/qcom_iommu.c 	pm_runtime_get_sync(qcom_iommu->dev);
qcom_iommu        379 drivers/iommu/qcom_iommu.c 	ret = qcom_iommu_init_domain(domain, qcom_iommu, fwspec);
qcom_iommu        380 drivers/iommu/qcom_iommu.c 	pm_runtime_put_sync(qcom_iommu->dev);
qcom_iommu        388 drivers/iommu/qcom_iommu.c 	if (qcom_domain->iommu != qcom_iommu) {
qcom_iommu        392 drivers/iommu/qcom_iommu.c 			dev_name(qcom_iommu->dev));
qcom_iommu        402 drivers/iommu/qcom_iommu.c 	struct qcom_iommu_dev *qcom_iommu = to_iommu(fwspec);
qcom_iommu        409 drivers/iommu/qcom_iommu.c 	pm_runtime_get_sync(qcom_iommu->dev);
qcom_iommu        418 drivers/iommu/qcom_iommu.c 	pm_runtime_put_sync(qcom_iommu->dev);
qcom_iommu        518 drivers/iommu/qcom_iommu.c 	struct qcom_iommu_dev *qcom_iommu = to_iommu(dev_iommu_fwspec_get(dev));
qcom_iommu        522 drivers/iommu/qcom_iommu.c 	if (!qcom_iommu)
qcom_iommu        530 drivers/iommu/qcom_iommu.c 	link = device_link_add(dev, qcom_iommu->dev, DL_FLAG_PM_RUNTIME);
qcom_iommu        532 drivers/iommu/qcom_iommu.c 		dev_err(qcom_iommu->dev, "Unable to create device link between %s and %s\n",
qcom_iommu        533 drivers/iommu/qcom_iommu.c 			dev_name(qcom_iommu->dev), dev_name(dev));
qcom_iommu        542 drivers/iommu/qcom_iommu.c 	iommu_device_link(&qcom_iommu->iommu, dev);
qcom_iommu        549 drivers/iommu/qcom_iommu.c 	struct qcom_iommu_dev *qcom_iommu = to_iommu(dev_iommu_fwspec_get(dev));
qcom_iommu        551 drivers/iommu/qcom_iommu.c 	if (!qcom_iommu)
qcom_iommu        554 drivers/iommu/qcom_iommu.c 	iommu_device_unlink(&qcom_iommu->iommu, dev);
qcom_iommu        562 drivers/iommu/qcom_iommu.c 	struct qcom_iommu_dev *qcom_iommu;
qcom_iommu        577 drivers/iommu/qcom_iommu.c 	qcom_iommu = platform_get_drvdata(iommu_pdev);
qcom_iommu        584 drivers/iommu/qcom_iommu.c 	    WARN_ON(asid > qcom_iommu->num_ctxs))
qcom_iommu        588 drivers/iommu/qcom_iommu.c 		fwspec->iommu_priv = qcom_iommu;
qcom_iommu        594 drivers/iommu/qcom_iommu.c 		if (WARN_ON(qcom_iommu != fwspec->iommu_priv))
qcom_iommu        619 drivers/iommu/qcom_iommu.c static int qcom_iommu_enable_clocks(struct qcom_iommu_dev *qcom_iommu)
qcom_iommu        623 drivers/iommu/qcom_iommu.c 	ret = clk_prepare_enable(qcom_iommu->iface_clk);
qcom_iommu        625 drivers/iommu/qcom_iommu.c 		dev_err(qcom_iommu->dev, "Couldn't enable iface_clk\n");
qcom_iommu        629 drivers/iommu/qcom_iommu.c 	ret = clk_prepare_enable(qcom_iommu->bus_clk);
qcom_iommu        631 drivers/iommu/qcom_iommu.c 		dev_err(qcom_iommu->dev, "Couldn't enable bus_clk\n");
qcom_iommu        632 drivers/iommu/qcom_iommu.c 		clk_disable_unprepare(qcom_iommu->iface_clk);
qcom_iommu        639 drivers/iommu/qcom_iommu.c static void qcom_iommu_disable_clocks(struct qcom_iommu_dev *qcom_iommu)
qcom_iommu        641 drivers/iommu/qcom_iommu.c 	clk_disable_unprepare(qcom_iommu->bus_clk);
qcom_iommu        642 drivers/iommu/qcom_iommu.c 	clk_disable_unprepare(qcom_iommu->iface_clk);
qcom_iommu        707 drivers/iommu/qcom_iommu.c 	struct qcom_iommu_dev *qcom_iommu = dev_get_drvdata(dev->parent);
qcom_iommu        752 drivers/iommu/qcom_iommu.c 	qcom_iommu->ctxs[ctx->asid - 1] = ctx;
qcom_iommu        759 drivers/iommu/qcom_iommu.c 	struct qcom_iommu_dev *qcom_iommu = dev_get_drvdata(pdev->dev.parent);
qcom_iommu        764 drivers/iommu/qcom_iommu.c 	qcom_iommu->ctxs[ctx->asid - 1] = NULL;
qcom_iommu        784 drivers/iommu/qcom_iommu.c static bool qcom_iommu_has_secure_context(struct qcom_iommu_dev *qcom_iommu)
qcom_iommu        788 drivers/iommu/qcom_iommu.c 	for_each_child_of_node(qcom_iommu->dev->of_node, child)
qcom_iommu        798 drivers/iommu/qcom_iommu.c 	struct qcom_iommu_dev *qcom_iommu;
qcom_iommu        809 drivers/iommu/qcom_iommu.c 	qcom_iommu = devm_kzalloc(dev, struct_size(qcom_iommu, ctxs, max_asid),
qcom_iommu        811 drivers/iommu/qcom_iommu.c 	if (!qcom_iommu)
qcom_iommu        813 drivers/iommu/qcom_iommu.c 	qcom_iommu->num_ctxs = max_asid;
qcom_iommu        814 drivers/iommu/qcom_iommu.c 	qcom_iommu->dev = dev;
qcom_iommu        818 drivers/iommu/qcom_iommu.c 		qcom_iommu->local_base = devm_ioremap_resource(dev, res);
qcom_iommu        819 drivers/iommu/qcom_iommu.c 		if (IS_ERR(qcom_iommu->local_base))
qcom_iommu        820 drivers/iommu/qcom_iommu.c 			return PTR_ERR(qcom_iommu->local_base);
qcom_iommu        823 drivers/iommu/qcom_iommu.c 	qcom_iommu->iface_clk = devm_clk_get(dev, "iface");
qcom_iommu        824 drivers/iommu/qcom_iommu.c 	if (IS_ERR(qcom_iommu->iface_clk)) {
qcom_iommu        826 drivers/iommu/qcom_iommu.c 		return PTR_ERR(qcom_iommu->iface_clk);
qcom_iommu        829 drivers/iommu/qcom_iommu.c 	qcom_iommu->bus_clk = devm_clk_get(dev, "bus");
qcom_iommu        830 drivers/iommu/qcom_iommu.c 	if (IS_ERR(qcom_iommu->bus_clk)) {
qcom_iommu        832 drivers/iommu/qcom_iommu.c 		return PTR_ERR(qcom_iommu->bus_clk);
qcom_iommu        836 drivers/iommu/qcom_iommu.c 				 &qcom_iommu->sec_id)) {
qcom_iommu        841 drivers/iommu/qcom_iommu.c 	if (qcom_iommu_has_secure_context(qcom_iommu)) {
qcom_iommu        849 drivers/iommu/qcom_iommu.c 	platform_set_drvdata(pdev, qcom_iommu);
qcom_iommu        860 drivers/iommu/qcom_iommu.c 	ret = iommu_device_sysfs_add(&qcom_iommu->iommu, dev, NULL,
qcom_iommu        867 drivers/iommu/qcom_iommu.c 	iommu_device_set_ops(&qcom_iommu->iommu, &qcom_iommu_ops);
qcom_iommu        868 drivers/iommu/qcom_iommu.c 	iommu_device_set_fwnode(&qcom_iommu->iommu, dev->fwnode);
qcom_iommu        870 drivers/iommu/qcom_iommu.c 	ret = iommu_device_register(&qcom_iommu->iommu);
qcom_iommu        878 drivers/iommu/qcom_iommu.c 	if (qcom_iommu->local_base) {
qcom_iommu        880 drivers/iommu/qcom_iommu.c 		writel_relaxed(0xffffffff, qcom_iommu->local_base + SMMU_INTR_SEL_NS);
qcom_iommu        889 drivers/iommu/qcom_iommu.c 	struct qcom_iommu_dev *qcom_iommu = platform_get_drvdata(pdev);
qcom_iommu        895 drivers/iommu/qcom_iommu.c 	iommu_device_sysfs_remove(&qcom_iommu->iommu);
qcom_iommu        896 drivers/iommu/qcom_iommu.c 	iommu_device_unregister(&qcom_iommu->iommu);
qcom_iommu        903 drivers/iommu/qcom_iommu.c 	struct qcom_iommu_dev *qcom_iommu = dev_get_drvdata(dev);
qcom_iommu        905 drivers/iommu/qcom_iommu.c 	return qcom_iommu_enable_clocks(qcom_iommu);
qcom_iommu        910 drivers/iommu/qcom_iommu.c 	struct qcom_iommu_dev *qcom_iommu = dev_get_drvdata(dev);
qcom_iommu        912 drivers/iommu/qcom_iommu.c 	qcom_iommu_disable_clocks(qcom_iommu);