dma_domain         20 arch/x86/include/asm/device.h void add_dma_domain(struct dma_domain *domain);
dma_domain         21 arch/x86/include/asm/device.h void del_dma_domain(struct dma_domain *domain);
dma_domain        632 arch/x86/pci/common.c void add_dma_domain(struct dma_domain *domain)
dma_domain        640 arch/x86/pci/common.c void del_dma_domain(struct dma_domain *domain)
dma_domain        650 arch/x86/pci/common.c 	struct dma_domain *domain;
dma_domain       2957 drivers/iommu/amd_iommu.c 	struct dma_ops_domain *dma_domain;
dma_domain       2978 drivers/iommu/amd_iommu.c 		dma_domain = dma_ops_domain_alloc();
dma_domain       2979 drivers/iommu/amd_iommu.c 		if (!dma_domain) {
dma_domain       2983 drivers/iommu/amd_iommu.c 		pdomain = &dma_domain->domain;
dma_domain         57 drivers/iommu/fsl_pamu_domain.c static phys_addr_t get_phys_addr(struct fsl_dma_domain *dma_domain, dma_addr_t iova)
dma_domain         59 drivers/iommu/fsl_pamu_domain.c 	u32 win_cnt = dma_domain->win_cnt;
dma_domain         60 drivers/iommu/fsl_pamu_domain.c 	struct dma_window *win_ptr = &dma_domain->win_arr[0];
dma_domain         63 drivers/iommu/fsl_pamu_domain.c 	geom = &dma_domain->iommu_domain.geometry;
dma_domain         65 drivers/iommu/fsl_pamu_domain.c 	if (!win_cnt || !dma_domain->geom_size) {
dma_domain         75 drivers/iommu/fsl_pamu_domain.c 		subwin_size = dma_domain->geom_size >> ilog2(win_cnt);
dma_domain         78 drivers/iommu/fsl_pamu_domain.c 		win_ptr = &dma_domain->win_arr[wnd];
dma_domain         87 drivers/iommu/fsl_pamu_domain.c static int map_subwins(int liodn, struct fsl_dma_domain *dma_domain)
dma_domain         89 drivers/iommu/fsl_pamu_domain.c 	struct dma_window *sub_win_ptr = &dma_domain->win_arr[0];
dma_domain         93 drivers/iommu/fsl_pamu_domain.c 	for (i = 0; i < dma_domain->win_cnt; i++) {
dma_domain         97 drivers/iommu/fsl_pamu_domain.c 			ret = pamu_config_spaace(liodn, dma_domain->win_cnt, i,
dma_domain        101 drivers/iommu/fsl_pamu_domain.c 						 dma_domain->snoop_id,
dma_domain        102 drivers/iommu/fsl_pamu_domain.c 						 dma_domain->stash_id,
dma_domain        117 drivers/iommu/fsl_pamu_domain.c static int map_win(int liodn, struct fsl_dma_domain *dma_domain)
dma_domain        120 drivers/iommu/fsl_pamu_domain.c 	struct dma_window *wnd = &dma_domain->win_arr[0];
dma_domain        121 drivers/iommu/fsl_pamu_domain.c 	phys_addr_t wnd_addr = dma_domain->iommu_domain.geometry.aperture_start;
dma_domain        129 drivers/iommu/fsl_pamu_domain.c 				 dma_domain->snoop_id, dma_domain->stash_id,
dma_domain        139 drivers/iommu/fsl_pamu_domain.c static int map_liodn(int liodn, struct fsl_dma_domain *dma_domain)
dma_domain        141 drivers/iommu/fsl_pamu_domain.c 	if (dma_domain->win_cnt > 1)
dma_domain        142 drivers/iommu/fsl_pamu_domain.c 		return map_subwins(liodn, dma_domain);
dma_domain        144 drivers/iommu/fsl_pamu_domain.c 		return map_win(liodn, dma_domain);
dma_domain        148 drivers/iommu/fsl_pamu_domain.c static int update_liodn(int liodn, struct fsl_dma_domain *dma_domain, u32 wnd_nr)
dma_domain        151 drivers/iommu/fsl_pamu_domain.c 	struct dma_window *wnd = &dma_domain->win_arr[wnd_nr];
dma_domain        155 drivers/iommu/fsl_pamu_domain.c 	if (dma_domain->win_cnt > 1) {
dma_domain        156 drivers/iommu/fsl_pamu_domain.c 		ret = pamu_config_spaace(liodn, dma_domain->win_cnt, wnd_nr,
dma_domain        160 drivers/iommu/fsl_pamu_domain.c 					 dma_domain->snoop_id,
dma_domain        161 drivers/iommu/fsl_pamu_domain.c 					 dma_domain->stash_id,
dma_domain        170 drivers/iommu/fsl_pamu_domain.c 		wnd_addr = dma_domain->iommu_domain.geometry.aperture_start;
dma_domain        176 drivers/iommu/fsl_pamu_domain.c 					 dma_domain->snoop_id, dma_domain->stash_id,
dma_domain        188 drivers/iommu/fsl_pamu_domain.c static int update_liodn_stash(int liodn, struct fsl_dma_domain *dma_domain,
dma_domain        195 drivers/iommu/fsl_pamu_domain.c 	if (!dma_domain->win_arr) {
dma_domain        202 drivers/iommu/fsl_pamu_domain.c 	for (i = 0; i < dma_domain->win_cnt; i++) {
dma_domain        219 drivers/iommu/fsl_pamu_domain.c 			  struct fsl_dma_domain *dma_domain,
dma_domain        237 drivers/iommu/fsl_pamu_domain.c 	window_size = dma_domain->geom_size;
dma_domain        243 drivers/iommu/fsl_pamu_domain.c 					 0, dma_domain->snoop_id,
dma_domain        244 drivers/iommu/fsl_pamu_domain.c 					 dma_domain->stash_id, win_cnt, 0);
dma_domain        260 drivers/iommu/fsl_pamu_domain.c 							 0, dma_domain->snoop_id,
dma_domain        261 drivers/iommu/fsl_pamu_domain.c 							 dma_domain->stash_id,
dma_domain        331 drivers/iommu/fsl_pamu_domain.c static void detach_device(struct device *dev, struct fsl_dma_domain *dma_domain)
dma_domain        336 drivers/iommu/fsl_pamu_domain.c 	spin_lock_irqsave(&dma_domain->domain_lock, flags);
dma_domain        338 drivers/iommu/fsl_pamu_domain.c 	list_for_each_entry_safe(info, tmp, &dma_domain->devices, link) {
dma_domain        340 drivers/iommu/fsl_pamu_domain.c 			remove_device_ref(info, dma_domain->win_cnt);
dma_domain        342 drivers/iommu/fsl_pamu_domain.c 	spin_unlock_irqrestore(&dma_domain->domain_lock, flags);
dma_domain        345 drivers/iommu/fsl_pamu_domain.c static void attach_device(struct fsl_dma_domain *dma_domain, int liodn, struct device *dev)
dma_domain        356 drivers/iommu/fsl_pamu_domain.c 	if (old_domain_info && old_domain_info->domain != dma_domain) {
dma_domain        366 drivers/iommu/fsl_pamu_domain.c 	info->domain = dma_domain;
dma_domain        368 drivers/iommu/fsl_pamu_domain.c 	list_add(&info->link, &dma_domain->devices);
dma_domain        382 drivers/iommu/fsl_pamu_domain.c 	struct fsl_dma_domain *dma_domain = to_fsl_dma_domain(domain);
dma_domain        388 drivers/iommu/fsl_pamu_domain.c 	return get_phys_addr(dma_domain, iova);
dma_domain        398 drivers/iommu/fsl_pamu_domain.c 	struct fsl_dma_domain *dma_domain = to_fsl_dma_domain(domain);
dma_domain        401 drivers/iommu/fsl_pamu_domain.c 	detach_device(NULL, dma_domain);
dma_domain        403 drivers/iommu/fsl_pamu_domain.c 	dma_domain->enabled = 0;
dma_domain        404 drivers/iommu/fsl_pamu_domain.c 	dma_domain->mapped = 0;
dma_domain        406 drivers/iommu/fsl_pamu_domain.c 	kmem_cache_free(fsl_pamu_domain_cache, dma_domain);
dma_domain        411 drivers/iommu/fsl_pamu_domain.c 	struct fsl_dma_domain *dma_domain;
dma_domain        416 drivers/iommu/fsl_pamu_domain.c 	dma_domain = iommu_alloc_dma_domain();
dma_domain        417 drivers/iommu/fsl_pamu_domain.c 	if (!dma_domain) {
dma_domain        422 drivers/iommu/fsl_pamu_domain.c 	dma_domain->iommu_domain. geometry.aperture_start = 0;
dma_domain        423 drivers/iommu/fsl_pamu_domain.c 	dma_domain->iommu_domain.geometry.aperture_end = (1ULL << 36) - 1;
dma_domain        424 drivers/iommu/fsl_pamu_domain.c 	dma_domain->iommu_domain.geometry.force_aperture = true;
dma_domain        426 drivers/iommu/fsl_pamu_domain.c 	return &dma_domain->iommu_domain;
dma_domain        430 drivers/iommu/fsl_pamu_domain.c static int pamu_set_domain_geometry(struct fsl_dma_domain *dma_domain,
dma_domain        437 drivers/iommu/fsl_pamu_domain.c 	list_for_each_entry(info, &dma_domain->devices, link) {
dma_domain        438 drivers/iommu/fsl_pamu_domain.c 		ret = pamu_set_liodn(info->liodn, info->dev, dma_domain,
dma_domain        448 drivers/iommu/fsl_pamu_domain.c static int update_domain_stash(struct fsl_dma_domain *dma_domain, u32 val)
dma_domain        453 drivers/iommu/fsl_pamu_domain.c 	list_for_each_entry(info, &dma_domain->devices, link) {
dma_domain        454 drivers/iommu/fsl_pamu_domain.c 		ret = update_liodn_stash(info->liodn, dma_domain, val);
dma_domain        463 drivers/iommu/fsl_pamu_domain.c static int update_domain_mapping(struct fsl_dma_domain *dma_domain, u32 wnd_nr)
dma_domain        468 drivers/iommu/fsl_pamu_domain.c 	list_for_each_entry(info, &dma_domain->devices, link) {
dma_domain        469 drivers/iommu/fsl_pamu_domain.c 		ret = update_liodn(info->liodn, dma_domain, wnd_nr);
dma_domain        476 drivers/iommu/fsl_pamu_domain.c static int disable_domain_win(struct fsl_dma_domain *dma_domain, u32 wnd_nr)
dma_domain        481 drivers/iommu/fsl_pamu_domain.c 	list_for_each_entry(info, &dma_domain->devices, link) {
dma_domain        482 drivers/iommu/fsl_pamu_domain.c 		if (dma_domain->win_cnt == 1 && dma_domain->enabled) {
dma_domain        485 drivers/iommu/fsl_pamu_domain.c 				dma_domain->enabled = 0;
dma_domain        496 drivers/iommu/fsl_pamu_domain.c 	struct fsl_dma_domain *dma_domain = to_fsl_dma_domain(domain);
dma_domain        500 drivers/iommu/fsl_pamu_domain.c 	spin_lock_irqsave(&dma_domain->domain_lock, flags);
dma_domain        501 drivers/iommu/fsl_pamu_domain.c 	if (!dma_domain->win_arr) {
dma_domain        503 drivers/iommu/fsl_pamu_domain.c 		spin_unlock_irqrestore(&dma_domain->domain_lock, flags);
dma_domain        507 drivers/iommu/fsl_pamu_domain.c 	if (wnd_nr >= dma_domain->win_cnt) {
dma_domain        509 drivers/iommu/fsl_pamu_domain.c 		spin_unlock_irqrestore(&dma_domain->domain_lock, flags);
dma_domain        513 drivers/iommu/fsl_pamu_domain.c 	if (dma_domain->win_arr[wnd_nr].valid) {
dma_domain        514 drivers/iommu/fsl_pamu_domain.c 		ret = disable_domain_win(dma_domain, wnd_nr);
dma_domain        516 drivers/iommu/fsl_pamu_domain.c 			dma_domain->win_arr[wnd_nr].valid = 0;
dma_domain        517 drivers/iommu/fsl_pamu_domain.c 			dma_domain->mapped--;
dma_domain        521 drivers/iommu/fsl_pamu_domain.c 	spin_unlock_irqrestore(&dma_domain->domain_lock, flags);
dma_domain        527 drivers/iommu/fsl_pamu_domain.c 	struct fsl_dma_domain *dma_domain = to_fsl_dma_domain(domain);
dma_domain        539 drivers/iommu/fsl_pamu_domain.c 	spin_lock_irqsave(&dma_domain->domain_lock, flags);
dma_domain        540 drivers/iommu/fsl_pamu_domain.c 	if (!dma_domain->win_arr) {
dma_domain        542 drivers/iommu/fsl_pamu_domain.c 		spin_unlock_irqrestore(&dma_domain->domain_lock, flags);
dma_domain        546 drivers/iommu/fsl_pamu_domain.c 	if (wnd_nr >= dma_domain->win_cnt) {
dma_domain        548 drivers/iommu/fsl_pamu_domain.c 		spin_unlock_irqrestore(&dma_domain->domain_lock, flags);
dma_domain        552 drivers/iommu/fsl_pamu_domain.c 	win_size = dma_domain->geom_size >> ilog2(dma_domain->win_cnt);
dma_domain        555 drivers/iommu/fsl_pamu_domain.c 		spin_unlock_irqrestore(&dma_domain->domain_lock, flags);
dma_domain        559 drivers/iommu/fsl_pamu_domain.c 	if (dma_domain->win_cnt == 1) {
dma_domain        560 drivers/iommu/fsl_pamu_domain.c 		if (dma_domain->enabled) {
dma_domain        562 drivers/iommu/fsl_pamu_domain.c 			spin_unlock_irqrestore(&dma_domain->domain_lock, flags);
dma_domain        569 drivers/iommu/fsl_pamu_domain.c 			spin_unlock_irqrestore(&dma_domain->domain_lock, flags);
dma_domain        574 drivers/iommu/fsl_pamu_domain.c 	wnd = &dma_domain->win_arr[wnd_nr];
dma_domain        580 drivers/iommu/fsl_pamu_domain.c 		ret = update_domain_mapping(dma_domain, wnd_nr);
dma_domain        583 drivers/iommu/fsl_pamu_domain.c 			dma_domain->mapped++;
dma_domain        590 drivers/iommu/fsl_pamu_domain.c 	spin_unlock_irqrestore(&dma_domain->domain_lock, flags);
dma_domain        599 drivers/iommu/fsl_pamu_domain.c static int handle_attach_device(struct fsl_dma_domain *dma_domain,
dma_domain        604 drivers/iommu/fsl_pamu_domain.c 	struct iommu_domain *domain = &dma_domain->iommu_domain;
dma_domain        608 drivers/iommu/fsl_pamu_domain.c 	spin_lock_irqsave(&dma_domain->domain_lock, flags);
dma_domain        618 drivers/iommu/fsl_pamu_domain.c 		attach_device(dma_domain, liodn[i], dev);
dma_domain        624 drivers/iommu/fsl_pamu_domain.c 		if (dma_domain->win_arr) {
dma_domain        625 drivers/iommu/fsl_pamu_domain.c 			u32 win_cnt = dma_domain->win_cnt > 1 ? dma_domain->win_cnt : 0;
dma_domain        627 drivers/iommu/fsl_pamu_domain.c 			ret = pamu_set_liodn(liodn[i], dev, dma_domain,
dma_domain        631 drivers/iommu/fsl_pamu_domain.c 			if (dma_domain->mapped) {
dma_domain        636 drivers/iommu/fsl_pamu_domain.c 				ret = map_liodn(liodn[i], dma_domain);
dma_domain        642 drivers/iommu/fsl_pamu_domain.c 	spin_unlock_irqrestore(&dma_domain->domain_lock, flags);
dma_domain        650 drivers/iommu/fsl_pamu_domain.c 	struct fsl_dma_domain *dma_domain = to_fsl_dma_domain(domain);
dma_domain        675 drivers/iommu/fsl_pamu_domain.c 		ret = handle_attach_device(dma_domain, dev, liodn, liodn_cnt);
dma_domain        687 drivers/iommu/fsl_pamu_domain.c 	struct fsl_dma_domain *dma_domain = to_fsl_dma_domain(domain);
dma_domain        710 drivers/iommu/fsl_pamu_domain.c 		detach_device(dev, dma_domain);
dma_domain        718 drivers/iommu/fsl_pamu_domain.c 	struct fsl_dma_domain *dma_domain = to_fsl_dma_domain(domain);
dma_domain        733 drivers/iommu/fsl_pamu_domain.c 	spin_lock_irqsave(&dma_domain->domain_lock, flags);
dma_domain        734 drivers/iommu/fsl_pamu_domain.c 	if (dma_domain->enabled) {
dma_domain        736 drivers/iommu/fsl_pamu_domain.c 		spin_unlock_irqrestore(&dma_domain->domain_lock, flags);
dma_domain        743 drivers/iommu/fsl_pamu_domain.c 	dma_domain->geom_size = geom_size;
dma_domain        745 drivers/iommu/fsl_pamu_domain.c 	spin_unlock_irqrestore(&dma_domain->domain_lock, flags);
dma_domain        751 drivers/iommu/fsl_pamu_domain.c static int configure_domain_stash(struct fsl_dma_domain *dma_domain, void *data)
dma_domain        757 drivers/iommu/fsl_pamu_domain.c 	spin_lock_irqsave(&dma_domain->domain_lock, flags);
dma_domain        759 drivers/iommu/fsl_pamu_domain.c 	memcpy(&dma_domain->dma_stash, stash_attr,
dma_domain        762 drivers/iommu/fsl_pamu_domain.c 	dma_domain->stash_id = get_stash_id(stash_attr->cache,
dma_domain        764 drivers/iommu/fsl_pamu_domain.c 	if (dma_domain->stash_id == ~(u32)0) {
dma_domain        766 drivers/iommu/fsl_pamu_domain.c 		spin_unlock_irqrestore(&dma_domain->domain_lock, flags);
dma_domain        770 drivers/iommu/fsl_pamu_domain.c 	ret = update_domain_stash(dma_domain, dma_domain->stash_id);
dma_domain        772 drivers/iommu/fsl_pamu_domain.c 	spin_unlock_irqrestore(&dma_domain->domain_lock, flags);
dma_domain        778 drivers/iommu/fsl_pamu_domain.c static int configure_domain_dma_state(struct fsl_dma_domain *dma_domain, bool enable)
dma_domain        784 drivers/iommu/fsl_pamu_domain.c 	spin_lock_irqsave(&dma_domain->domain_lock, flags);
dma_domain        786 drivers/iommu/fsl_pamu_domain.c 	if (enable && !dma_domain->mapped) {
dma_domain        788 drivers/iommu/fsl_pamu_domain.c 		spin_unlock_irqrestore(&dma_domain->domain_lock, flags);
dma_domain        792 drivers/iommu/fsl_pamu_domain.c 	dma_domain->enabled = enable;
dma_domain        793 drivers/iommu/fsl_pamu_domain.c 	list_for_each_entry(info, &dma_domain->devices, link) {
dma_domain        800 drivers/iommu/fsl_pamu_domain.c 	spin_unlock_irqrestore(&dma_domain->domain_lock, flags);
dma_domain        807 drivers/iommu/fsl_pamu_domain.c 	struct fsl_dma_domain *dma_domain = to_fsl_dma_domain(domain);
dma_domain        811 drivers/iommu/fsl_pamu_domain.c 	spin_lock_irqsave(&dma_domain->domain_lock, flags);
dma_domain        813 drivers/iommu/fsl_pamu_domain.c 	if (dma_domain->enabled) {
dma_domain        815 drivers/iommu/fsl_pamu_domain.c 		spin_unlock_irqrestore(&dma_domain->domain_lock, flags);
dma_domain        820 drivers/iommu/fsl_pamu_domain.c 	if (!dma_domain->geom_size) {
dma_domain        822 drivers/iommu/fsl_pamu_domain.c 		spin_unlock_irqrestore(&dma_domain->domain_lock, flags);
dma_domain        832 drivers/iommu/fsl_pamu_domain.c 		spin_unlock_irqrestore(&dma_domain->domain_lock, flags);
dma_domain        836 drivers/iommu/fsl_pamu_domain.c 	ret = pamu_set_domain_geometry(dma_domain, &domain->geometry,
dma_domain        839 drivers/iommu/fsl_pamu_domain.c 		kfree(dma_domain->win_arr);
dma_domain        840 drivers/iommu/fsl_pamu_domain.c 		dma_domain->win_arr = kcalloc(w_count,
dma_domain        841 drivers/iommu/fsl_pamu_domain.c 					      sizeof(*dma_domain->win_arr),
dma_domain        843 drivers/iommu/fsl_pamu_domain.c 		if (!dma_domain->win_arr) {
dma_domain        844 drivers/iommu/fsl_pamu_domain.c 			spin_unlock_irqrestore(&dma_domain->domain_lock, flags);
dma_domain        847 drivers/iommu/fsl_pamu_domain.c 		dma_domain->win_cnt = w_count;
dma_domain        849 drivers/iommu/fsl_pamu_domain.c 	spin_unlock_irqrestore(&dma_domain->domain_lock, flags);
dma_domain        857 drivers/iommu/fsl_pamu_domain.c 	struct fsl_dma_domain *dma_domain = to_fsl_dma_domain(domain);
dma_domain        865 drivers/iommu/fsl_pamu_domain.c 		ret = configure_domain_stash(dma_domain, data);
dma_domain        868 drivers/iommu/fsl_pamu_domain.c 		ret = configure_domain_dma_state(dma_domain, *(int *)data);
dma_domain        885 drivers/iommu/fsl_pamu_domain.c 	struct fsl_dma_domain *dma_domain = to_fsl_dma_domain(domain);
dma_domain        890 drivers/iommu/fsl_pamu_domain.c 		memcpy(data, &dma_domain->dma_stash,
dma_domain        894 drivers/iommu/fsl_pamu_domain.c 		*(int *)data = dma_domain->enabled;
dma_domain        900 drivers/iommu/fsl_pamu_domain.c 		*(u32 *)data = dma_domain->win_cnt;
dma_domain        103 drivers/pci/controller/vmd.c 	struct dma_domain	dma_domain;
dma_domain        402 drivers/pci/controller/vmd.c 	struct dma_domain *domain = &vmd->dma_domain;
dma_domain        418 drivers/pci/controller/vmd.c 	struct dma_domain *domain = &vmd->dma_domain;