Lines Matching refs:smmu

368 	struct arm_smmu_device		*smmu;  member
380 struct arm_smmu_device *smmu; member
425 u32 (*read_reg)(struct arm_smmu_device *smmu, int page, int offset);
426 void (*write_reg)(struct arm_smmu_device *smmu, int page, int offset,
428 u64 (*read_reg64)(struct arm_smmu_device *smmu, int page, int offset);
429 void (*write_reg64)(struct arm_smmu_device *smmu, int page, int offset,
431 int (*cfg_probe)(struct arm_smmu_device *smmu);
432 int (*reset)(struct arm_smmu_device *smmu);
435 void (*tlb_sync)(struct arm_smmu_device *smmu, int page, int sync,
441 struct arm_smmu_device *smmu,
443 void (*write_s2cr)(struct arm_smmu_device *smmu, int idx);
444 void (*write_sctlr)(struct arm_smmu_device *smmu, int idx, u32 reg);
445 void (*probe_finalize)(struct arm_smmu_device *smmu, struct device *dev);
467 static inline void __iomem *arm_smmu_page(struct arm_smmu_device *smmu, int n) in arm_smmu_page() argument
469 return smmu->base + (n << smmu->pgshift); in arm_smmu_page()
472 static inline u32 arm_smmu_readl(struct arm_smmu_device *smmu, int page, int offset) in arm_smmu_readl() argument
474 if (smmu->impl && unlikely(smmu->impl->read_reg)) in arm_smmu_readl()
475 return smmu->impl->read_reg(smmu, page, offset); in arm_smmu_readl()
476 return readl_relaxed(arm_smmu_page(smmu, page) + offset); in arm_smmu_readl()
479 static inline void arm_smmu_writel(struct arm_smmu_device *smmu, int page, in arm_smmu_writel() argument
482 if (smmu->impl && unlikely(smmu->impl->write_reg)) in arm_smmu_writel()
483 smmu->impl->write_reg(smmu, page, offset, val); in arm_smmu_writel()
485 writel_relaxed(val, arm_smmu_page(smmu, page) + offset); in arm_smmu_writel()
488 static inline u64 arm_smmu_readq(struct arm_smmu_device *smmu, int page, int offset) in arm_smmu_readq() argument
490 if (smmu->impl && unlikely(smmu->impl->read_reg64)) in arm_smmu_readq()
491 return smmu->impl->read_reg64(smmu, page, offset); in arm_smmu_readq()
492 return readq_relaxed(arm_smmu_page(smmu, page) + offset); in arm_smmu_readq()
495 static inline void arm_smmu_writeq(struct arm_smmu_device *smmu, int page, in arm_smmu_writeq() argument
498 if (smmu->impl && unlikely(smmu->impl->write_reg64)) in arm_smmu_writeq()
499 smmu->impl->write_reg64(smmu, page, offset, val); in arm_smmu_writeq()
501 writeq_relaxed(val, arm_smmu_page(smmu, page) + offset); in arm_smmu_writeq()
527 struct arm_smmu_device *arm_smmu_impl_init(struct arm_smmu_device *smmu);
528 struct arm_smmu_device *nvidia_smmu_impl_init(struct arm_smmu_device *smmu);
529 struct arm_smmu_device *qcom_smmu_impl_init(struct arm_smmu_device *smmu);
531 void arm_smmu_write_context_bank(struct arm_smmu_device *smmu, int idx);
532 int arm_mmu500_reset(struct arm_smmu_device *smmu);