Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a8a374d6 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "iommu: Add flags parameter to .trigger_fault"

parents b0516d22 047b6973
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -1203,7 +1203,8 @@ static irqreturn_t arm_smmu_global_fault(int irq, void *dev)
	return IRQ_HANDLED;
}

static void arm_smmu_trigger_fault(struct iommu_domain *domain)
static void arm_smmu_trigger_fault(struct iommu_domain *domain,
				   unsigned long flags)
{
	struct arm_smmu_domain *smmu_domain = domain->priv;
	struct arm_smmu_cfg *cfg = &smmu_domain->cfg;
+1 −1
Original line number Diff line number Diff line
@@ -95,7 +95,7 @@ static ssize_t iommu_debug_attachment_trigger_fault_write(
{
	struct iommu_debug_attachment *attach = file->private_data;

	iommu_trigger_fault(attach->domain);
	iommu_trigger_fault(attach->domain, 0);

	return count;
}
+2 −2
Original line number Diff line number Diff line
@@ -927,10 +927,10 @@ EXPORT_SYMBOL_GPL(iommu_set_fault_handler);
 * This function should only be used for debugging purposes, for obvious
 * reasons.
 */
void iommu_trigger_fault(struct iommu_domain *domain)
void iommu_trigger_fault(struct iommu_domain *domain, unsigned long flags)
{
	if (domain->ops->trigger_fault)
		domain->ops->trigger_fault(domain);
		domain->ops->trigger_fault(domain, flags);
}

struct iommu_domain *iommu_domain_alloc(struct bus_type *bus)
+5 −3
Original line number Diff line number Diff line
@@ -163,7 +163,7 @@ struct iommu_ops {
	u32 (*domain_get_windows)(struct iommu_domain *domain);
	int (*dma_supported)(struct iommu_domain *domain, struct device *dev,
			     u64 mask);
	void (*trigger_fault)(struct iommu_domain *domain);
	void (*trigger_fault)(struct iommu_domain *domain, unsigned long flags);

	unsigned long pgsize_bitmap;
};
@@ -203,7 +203,8 @@ extern phys_addr_t iommu_iova_to_phys_hard(struct iommu_domain *domain,
					   dma_addr_t iova);
extern void iommu_set_fault_handler(struct iommu_domain *domain,
			iommu_fault_handler_t handler, void *token);
extern void iommu_trigger_fault(struct iommu_domain *domain);
extern void iommu_trigger_fault(struct iommu_domain *domain,
				unsigned long flags);

extern int iommu_attach_group(struct iommu_domain *domain,
			      struct iommu_group *group);
@@ -407,7 +408,8 @@ static inline void iommu_set_fault_handler(struct iommu_domain *domain,
{
}

static inline void iommu_trigger_fault(struct iommu_domain *domain)
static inline void iommu_trigger_fault(struct iommu_domain *domain,
				       unsigned long flags)
{
}