Symbol: s390_domain
arch/s390/include/asm/pci.h
192
struct iommu_domain *s390_domain; /* attached IOMMU domain */
drivers/iommu/s390-iommu.c
1002
rto = get_rto_from_iova(s390_domain, iova);
drivers/iommu/s390-iommu.c
1030
struct s390_domain *s390_domain = to_s390_domain(domain);
drivers/iommu/s390-iommu.c
1034
if (WARN_ON(iova < s390_domain->domain.geometry.aperture_start ||
drivers/iommu/s390-iommu.c
1035
(iova + size - 1) > s390_domain->domain.geometry.aperture_end))
drivers/iommu/s390-iommu.c
1038
rc = s390_iommu_invalidate_trans(s390_domain, iova, pgcount);
drivers/iommu/s390-iommu.c
1043
atomic64_add(pgcount, &s390_domain->ctrs.unmapped_pages);
drivers/iommu/s390-iommu.c
1050
struct s390_domain *s390_domain;
drivers/iommu/s390-iommu.c
1054
if (zdev->s390_domain->type == IOMMU_DOMAIN_BLOCKED ||
drivers/iommu/s390-iommu.c
1055
zdev->s390_domain->type == IOMMU_DOMAIN_IDENTITY)
drivers/iommu/s390-iommu.c
1058
s390_domain = to_s390_domain(zdev->s390_domain);
drivers/iommu/s390-iommu.c
1059
return &s390_domain->ctrs;
drivers/iommu/s390-iommu.c
275
static void dma_cleanup_tables(struct s390_domain *domain)
drivers/iommu/s390-iommu.c
436
static unsigned long *dma_walk_region_tables(struct s390_domain *domain,
drivers/iommu/s390-iommu.c
451
static unsigned long *dma_walk_cpu_trans(struct s390_domain *domain,
drivers/iommu/s390-iommu.c
495
static struct s390_domain *to_s390_domain(struct iommu_domain *dom)
drivers/iommu/s390-iommu.c
497
return container_of(dom, struct s390_domain, domain);
drivers/iommu/s390-iommu.c
514
static inline u64 max_tbl_size(struct s390_domain *domain)
drivers/iommu/s390-iommu.c
531
struct s390_domain *s390_domain;
drivers/iommu/s390-iommu.c
534
s390_domain = kzalloc_obj(*s390_domain);
drivers/iommu/s390-iommu.c
535
if (!s390_domain)
drivers/iommu/s390-iommu.c
538
s390_domain->dma_table = dma_alloc_cpu_table(GFP_KERNEL);
drivers/iommu/s390-iommu.c
539
if (!s390_domain->dma_table) {
drivers/iommu/s390-iommu.c
540
kfree(s390_domain);
drivers/iommu/s390-iommu.c
547
s390_domain->origin_type = ZPCI_TABLE_TYPE_RTX;
drivers/iommu/s390-iommu.c
550
s390_domain->origin_type = ZPCI_TABLE_TYPE_RSX;
drivers/iommu/s390-iommu.c
552
s390_domain->origin_type = ZPCI_TABLE_TYPE_RFX;
drivers/iommu/s390-iommu.c
555
s390_domain->origin_type = ZPCI_TABLE_TYPE_RTX;
drivers/iommu/s390-iommu.c
560
s390_domain->domain.pgsize_bitmap = SZ_4K;
drivers/iommu/s390-iommu.c
561
s390_domain->domain.geometry.force_aperture = true;
drivers/iommu/s390-iommu.c
562
s390_domain->domain.geometry.aperture_start = 0;
drivers/iommu/s390-iommu.c
563
s390_domain->domain.geometry.aperture_end = max_tbl_size(s390_domain);
drivers/iommu/s390-iommu.c
565
spin_lock_init(&s390_domain->list_lock);
drivers/iommu/s390-iommu.c
566
INIT_LIST_HEAD_RCU(&s390_domain->devices);
drivers/iommu/s390-iommu.c
568
return &s390_domain->domain;
drivers/iommu/s390-iommu.c
573
struct s390_domain *s390_domain = container_of(head, struct s390_domain, rcu);
drivers/iommu/s390-iommu.c
575
dma_cleanup_tables(s390_domain);
drivers/iommu/s390-iommu.c
576
kfree(s390_domain);
drivers/iommu/s390-iommu.c
581
struct s390_domain *s390_domain = to_s390_domain(domain);
drivers/iommu/s390-iommu.c
584
WARN_ON(!list_empty(&s390_domain->devices));
drivers/iommu/s390-iommu.c
587
call_rcu(&s390_domain->rcu, s390_iommu_rcu_free_domain);
drivers/iommu/s390-iommu.c
596
zdev->s390_domain = domain;
drivers/iommu/s390-iommu.c
600
static u64 get_iota_region_flag(struct s390_domain *domain)
drivers/iommu/s390-iommu.c
635
struct s390_domain *s390_domain;
drivers/iommu/s390-iommu.c
648
s390_domain = to_s390_domain(domain);
drivers/iommu/s390-iommu.c
649
iota = virt_to_phys(s390_domain->dma_table) |
drivers/iommu/s390-iommu.c
650
get_iota_region_flag(s390_domain);
drivers/iommu/s390-iommu.c
665
rc = s390_iommu_domain_reg_ioat(zdev, zdev->s390_domain, status);
drivers/iommu/s390-iommu.c
677
struct s390_domain *s390_domain;
drivers/iommu/s390-iommu.c
680
if (zdev->s390_domain->type == IOMMU_DOMAIN_BLOCKED)
drivers/iommu/s390-iommu.c
683
s390_domain = to_s390_domain(zdev->s390_domain);
drivers/iommu/s390-iommu.c
685
spin_lock_irqsave(&s390_domain->list_lock, flags);
drivers/iommu/s390-iommu.c
687
spin_unlock_irqrestore(&s390_domain->list_lock, flags);
drivers/iommu/s390-iommu.c
701
struct s390_domain *s390_domain = to_s390_domain(domain);
drivers/iommu/s390-iommu.c
720
zdev->dma_table = s390_domain->dma_table;
drivers/iommu/s390-iommu.c
723
spin_lock_irqsave(&s390_domain->list_lock, flags);
drivers/iommu/s390-iommu.c
724
list_add_rcu(&zdev->iommu_list, &s390_domain->devices);
drivers/iommu/s390-iommu.c
725
spin_unlock_irqrestore(&s390_domain->list_lock, flags);
drivers/iommu/s390-iommu.c
747
if (zdev->s390_domain->type == IOMMU_DOMAIN_BLOCKED ||
drivers/iommu/s390-iommu.c
748
zdev->s390_domain->type == IOMMU_DOMAIN_IDENTITY) {
drivers/iommu/s390-iommu.c
753
max_size = max_tbl_size(to_s390_domain(zdev->s390_domain));
drivers/iommu/s390-iommu.c
797
struct s390_domain *s390_domain = to_s390_domain(domain);
drivers/iommu/s390-iommu.c
801
list_for_each_entry_rcu(zdev, &s390_domain->devices, iommu_list) {
drivers/iommu/s390-iommu.c
802
atomic64_inc(&s390_domain->ctrs.global_rpcits);
drivers/iommu/s390-iommu.c
811
struct s390_domain *s390_domain = to_s390_domain(domain);
drivers/iommu/s390-iommu.c
820
list_for_each_entry_rcu(zdev, &s390_domain->devices, iommu_list) {
drivers/iommu/s390-iommu.c
821
atomic64_inc(&s390_domain->ctrs.sync_rpcits);
drivers/iommu/s390-iommu.c
831
struct s390_domain *s390_domain = to_s390_domain(domain);
drivers/iommu/s390-iommu.c
836
list_for_each_entry_rcu(zdev, &s390_domain->devices, iommu_list) {
drivers/iommu/s390-iommu.c
839
atomic64_inc(&s390_domain->ctrs.sync_map_rpcits);
drivers/iommu/s390-iommu.c
857
static int s390_iommu_validate_trans(struct s390_domain *s390_domain,
drivers/iommu/s390-iommu.c
868
entry = dma_walk_cpu_trans(s390_domain, dma_addr, gfp);
drivers/iommu/s390-iommu.c
883
entry = dma_walk_cpu_trans(s390_domain, dma_addr, gfp);
drivers/iommu/s390-iommu.c
892
static int s390_iommu_invalidate_trans(struct s390_domain *s390_domain,
drivers/iommu/s390-iommu.c
900
entry = dma_walk_cpu_trans(s390_domain, dma_addr, GFP_ATOMIC);
drivers/iommu/s390-iommu.c
917
struct s390_domain *s390_domain = to_s390_domain(domain);
drivers/iommu/s390-iommu.c
924
if (iova < s390_domain->domain.geometry.aperture_start ||
drivers/iommu/s390-iommu.c
925
(iova + size - 1) > s390_domain->domain.geometry.aperture_end)
drivers/iommu/s390-iommu.c
934
rc = s390_iommu_validate_trans(s390_domain, paddr, iova,
drivers/iommu/s390-iommu.c
938
atomic64_add(pgcount, &s390_domain->ctrs.mapped_pages);
drivers/iommu/s390-iommu.c
944
static unsigned long *get_rso_from_iova(struct s390_domain *domain,
drivers/iommu/s390-iommu.c
966
static unsigned long *get_rto_from_iova(struct s390_domain *domain,
drivers/iommu/s390-iommu.c
992
struct s390_domain *s390_domain = to_s390_domain(domain);