| /linux/net/smc/ |
| H A D | smc_ism.c | 218 struct dibs_dmb dmb; in smc_ism_unregister_dmb() local 223 memset(&dmb, 0, sizeof(dmb)); in smc_ism_unregister_dmb() 224 dmb.dmb_tok = dmb_desc->token; in smc_ism_unregister_dmb() 225 dmb.idx = dmb_desc->sba_idx; in smc_ism_unregister_dmb() 226 dmb.cpu_addr = dmb_desc->cpu_addr; in smc_ism_unregister_dmb() 227 dmb.dma_addr = dmb_desc->dma_addr; in smc_ism_unregister_dmb() 228 dmb.dmb_len = dmb_desc->len; in smc_ism_unregister_dmb() 230 smcd->dibs->ops->unregister_dmb(smcd->dibs, &dmb); in smc_ism_unregister_dmb() 239 struct dibs_dmb dmb; in smc_ism_register_dmb() local 242 memset(&dmb, 0, sizeof(dmb)); in smc_ism_register_dmb() [all …]
|
| /linux/drivers/dibs/ |
| H A D | dibs_loopback.c | 48 static int dibs_lo_register_dmb(struct dibs_dev *dibs, struct dibs_dmb *dmb, in dibs_lo_register_dmb() argument 58 sba_idx = dmb->idx; in dibs_lo_register_dmb() 74 dmb_node->len = dmb->dmb_len; in dibs_lo_register_dmb() 102 dmb->idx = dmb_node->sba_idx; in dibs_lo_register_dmb() 103 dmb->dmb_tok = dmb_node->token; in dibs_lo_register_dmb() 104 dmb->cpu_addr = dmb_node->cpu_addr; in dibs_lo_register_dmb() 105 dmb->dma_addr = dmb_node->dma_addr; in dibs_lo_register_dmb() 106 dmb->dmb_len = dmb_node->len; in dibs_lo_register_dmb() 137 static int dibs_lo_unregister_dmb(struct dibs_dev *dibs, struct dibs_dmb *dmb) in dibs_lo_unregister_dmb() argument 147 hash_for_each_possible(ldev->dmb_ht, tmp_node, list, dmb->dmb_tok) { in dibs_lo_unregister_dmb() [all …]
|
| /linux/drivers/s390/net/ |
| H A D | ism_drv.c | 222 static void ism_free_dmb(struct ism_dev *ism, struct dibs_dmb *dmb) in ism_free_dmb() argument 224 clear_bit(dmb->idx, ism->sba_bitmap); in ism_free_dmb() 225 dma_unmap_page(&ism->pdev->dev, dmb->dma_addr, dmb->dmb_len, in ism_free_dmb() 227 folio_put(virt_to_folio(dmb->cpu_addr)); in ism_free_dmb() 230 static int ism_alloc_dmb(struct ism_dev *ism, struct dibs_dmb *dmb) in ism_alloc_dmb() argument 236 if (PAGE_ALIGN(dmb->dmb_len) > dma_get_max_seg_size(&ism->pdev->dev)) in ism_alloc_dmb() 239 if (!dmb->idx) { in ism_alloc_dmb() 245 dmb->idx = bit; in ism_alloc_dmb() 247 if (dmb->idx < ISM_DMB_BIT_OFFSET || in ism_alloc_dmb() 248 test_and_set_bit(dmb->idx, ism->sba_bitmap)) in ism_alloc_dmb() [all …]
|
| H A D | ism.h | 143 u64 dmb; member 240 #define ISM_CREATE_REQ(dmb, idx, sf, offset) \ argument 241 ((dmb) | (idx) << 24 | (sf) << 23 | (offset))
|
| /linux/arch/arm/include/asm/ |
| H A D | barrier.h | 21 #define dmb(option) __asm__ __volatile__ ("dmb " #option : : : "memory") macro 33 #define dmb(x) __asm__ __volatile__ ("mcr p15, 0, %0, c7, c10, 5" \ macro 40 #define dmb(x) __asm__ __volatile__ ("" : : : "memory") macro 45 #define dmb(x) __asm__ __volatile__ ("" : : : "memory") macro 67 #define dma_rmb() dmb(osh) 68 #define dma_wmb() dmb(oshst) 77 #define __smp_mb() dmb(ish) 79 #define __smp_wmb() dmb(ishst)
|
| H A D | assembler.h | 381 ALT_SMP(dmb ish) 383 ALT_SMP(W(dmb) ish) 386 ALT_SMP(mcr p15, 0, r0, c7, c10, 5) @ dmb 404 dmb ish 406 W(dmb) ish 409 mcr p15, 0, r0, c7, c10, 5 @ dmb
|
| /linux/arch/arm64/include/asm/vdso/ |
| H A D | compat_barrier.h | 16 #ifdef dmb 17 #undef dmb 20 #define dmb(option) __asm__ __volatile__ ("dmb " #option : : : "memory") macro 22 #define aarch32_smp_mb() dmb(ish) 23 #define aarch32_smp_rmb() dmb(ishld) 24 #define aarch32_smp_wmb() dmb(ishst)
|
| /linux/arch/arm64/include/asm/ |
| H A D | barrier.h | 28 #define dmb(opt) asm volatile("dmb " #opt : : : "memory") macro 67 #define __dma_mb() dmb(osh) 68 #define __dma_rmb() dmb(oshld) 69 #define __dma_wmb() dmb(oshst) 126 #define __smp_mb() dmb(ish) 127 #define __smp_rmb() dmb(ishld) 128 #define __smp_wmb() dmb(ishst)
|
| H A D | atomic_ll_sc.h | 86 ATOMIC_OP_RETURN( , dmb ish, , l, "memory", __VA_ARGS__)\ 90 ATOMIC_FETCH_OP ( , dmb ish, , l, "memory", __VA_ARGS__)\ 101 ATOMIC_FETCH_OP ( , dmb ish, , l, "memory", __VA_ARGS__)\ in ATOMIC_OPS() 182 ATOMIC64_OP_RETURN(, dmb ish, , l, "memory", __VA_ARGS__) \ 186 ATOMIC64_FETCH_OP (, dmb ish, , l, "memory", __VA_ARGS__) \ 197 ATOMIC64_FETCH_OP (, dmb ish, , l, "memory", __VA_ARGS__) \ 290 __CMPXCHG_CASE(w, b, mb_, 8, dmb ish, , l, "memory", K) 291 __CMPXCHG_CASE(w, h, mb_, 16, dmb ish, , l, "memory", K) 292 __CMPXCHG_CASE(w, , mb_, 32, dmb ish, , l, "memory", K) 293 __CMPXCHG_CASE( , , mb_, 64, dmb ish, , l, "memory", L) [all …]
|
| H A D | cmpxchg.h | 57 __XCHG_CASE(w, b, mb_, 8, dmb ish, nop, , a, l, "memory") 58 __XCHG_CASE(w, h, mb_, 16, dmb ish, nop, , a, l, "memory") 59 __XCHG_CASE(w, , mb_, 32, dmb ish, nop, , a, l, "memory") 60 __XCHG_CASE( , , mb_, 64, dmb ish, nop, , a, l, "memory")
|
| /linux/tools/virtio/asm/ |
| H A D | barrier.h | 20 #define dmb(opt) asm volatile("dmb " #opt : : : "memory") macro 22 #define virt_rmb() dmb(ishld) 23 #define virt_wmb() dmb(ishst) 24 #define virt_store_mb(var, value) do { WRITE_ONCE(var, value); dmb(ish); } while (0)
|
| /linux/arch/arm/common/ |
| H A D | mcpm_head.S | 123 dmb 138 dmb 150 dmb 154 dmb 175 dmb 184 dmb 198 dmb
|
| H A D | vlock.S | 31 dmb 35 dmb 82 dmb 95 dmb
|
| H A D | mcpm_entry.c | 49 dmb(); in __mcpm_cpu_down() 65 dmb(); in __mcpm_outbound_leave_critical()
|
| /linux/include/linux/ |
| H A D | dibs.h | 272 int (*register_dmb)(struct dibs_dev *dev, struct dibs_dmb *dmb, 286 int (*unregister_dmb)(struct dibs_dev *dev, struct dibs_dmb *dmb); 388 int (*attach_dmb)(struct dibs_dev *dev, struct dibs_dmb *dmb);
|
| /linux/arch/arm/mach-omap2/ |
| H A D | sleep34xx.S | 97 dmb @ data memory barrier 213 dmb 418 dmb @ data memory barrier 429 dmb @ data memory barrier 444 dmb @ data memory barrier
|
| H A D | omap-smc.S | 52 dmb
|
| H A D | sleep33xx.S | 133 dmb
|
| /linux/tools/testing/selftests/kvm/include/arm64/ |
| H A D | processor.h | 192 #define dmb(opt) asm volatile("dmb " #opt : : : "memory") macro 194 #define dma_wmb() dmb(oshst) 197 #define dma_rmb() dmb(oshld)
|
| /linux/arch/arm/mm/ |
| H A D | cache-b15-rac.c | 67 dmb(); in __b15_rac_disable() 81 dmb(); in __b15_rac_flush()
|
| /linux/arch/arm64/kernel/ |
| H A D | head.S | 102 dmb sy 178 dmb sy // needed before dc ivac with 441 dmb sy
|
| /linux/arch/arm64/mm/ |
| H A D | flush.c | 92 dmb(osh); in arch_wb_cache_pmem()
|
| /linux/arch/arm/mach-socfpga/ |
| H A D | self-refresh.S | 85 dmb
|
| /linux/arch/arm/mach-tegra/ |
| H A D | sleep.S | 37 dmb @ ensure ordering
|
| /linux/arch/arm/kernel/ |
| H A D | smp_tlb.c | 153 dmb(); in ipi_flush_tlb_a15_erratum()
|