Lines Matching refs:master

353 	struct arm_smmu_master *master = dev_iommu_priv_get(dev);
357 if (!master || !master->sva_enabled)
361 list_for_each_entry(bond, &master->bonds, list) {
382 list_add(&bond->list, &master->bonds);
435 bool arm_smmu_master_iopf_supported(struct arm_smmu_master *master)
438 if (master->num_streams != 1)
441 return master->stall_enabled;
444 bool arm_smmu_master_sva_supported(struct arm_smmu_master *master)
446 if (!(master->smmu->features & ARM_SMMU_FEAT_SVA))
450 return master->ssid_bits;
453 bool arm_smmu_master_sva_enabled(struct arm_smmu_master *master)
458 enabled = master->sva_enabled;
463 static int arm_smmu_master_sva_enable_iopf(struct arm_smmu_master *master)
466 struct device *dev = master->dev;
472 if (!arm_smmu_master_iopf_supported(master))
475 if (!master->iopf_enabled)
478 ret = iopf_queue_add_device(master->smmu->evtq.iopf, dev);
484 iopf_queue_remove_device(master->smmu->evtq.iopf, dev);
490 static void arm_smmu_master_sva_disable_iopf(struct arm_smmu_master *master)
492 struct device *dev = master->dev;
494 if (!master->iopf_enabled)
498 iopf_queue_remove_device(master->smmu->evtq.iopf, dev);
501 int arm_smmu_master_enable_sva(struct arm_smmu_master *master)
506 ret = arm_smmu_master_sva_enable_iopf(master);
508 master->sva_enabled = true;
514 int arm_smmu_master_disable_sva(struct arm_smmu_master *master)
517 if (!list_empty(&master->bonds)) {
518 dev_err(master->dev, "cannot disable SVA, device is bound\n");
522 arm_smmu_master_sva_disable_iopf(master);
523 master->sva_enabled = false;
543 struct arm_smmu_master *master = dev_iommu_priv_get(dev);
546 list_for_each_entry(t, &master->bonds, list) {