chain 97 drivers/crypto/marvell/cesa.c if (engine->chain.first && engine->chain.last) chain 458 drivers/crypto/marvell/cesa.h struct mv_cesa_tdma_chain chain; chain 528 drivers/crypto/marvell/cesa.h struct mv_cesa_tdma_chain chain; chain 646 drivers/crypto/marvell/cesa.h return req->chain.first ? CESA_DMA_REQ : CESA_STD_REQ; chain 803 drivers/crypto/marvell/cesa.h bool mv_cesa_req_dma_iter_next_transfer(struct mv_cesa_dma_iter *chain, chain 839 drivers/crypto/marvell/cesa.h mv_cesa_tdma_desc_iter_init(struct mv_cesa_tdma_chain *chain) chain 841 drivers/crypto/marvell/cesa.h memset(chain, 0, sizeof(*chain)); chain 844 drivers/crypto/marvell/cesa.h int mv_cesa_dma_add_result_op(struct mv_cesa_tdma_chain *chain, dma_addr_t src, chain 847 drivers/crypto/marvell/cesa.h struct mv_cesa_op_ctx *mv_cesa_dma_add_op(struct mv_cesa_tdma_chain *chain, chain 852 drivers/crypto/marvell/cesa.h int mv_cesa_dma_add_data_transfer(struct mv_cesa_tdma_chain *chain, chain 856 drivers/crypto/marvell/cesa.h int mv_cesa_dma_add_dummy_launch(struct mv_cesa_tdma_chain *chain, gfp_t flags); chain 857 drivers/crypto/marvell/cesa.h int mv_cesa_dma_add_dummy_end(struct mv_cesa_tdma_chain *chain, gfp_t flags); chain 859 drivers/crypto/marvell/cesa.h int mv_cesa_dma_add_op_transfers(struct mv_cesa_tdma_chain *chain, chain 212 drivers/crypto/marvell/cipher.c memcpy(skreq->iv, basereq->chain.last->op->ctx.blkcipher.iv, chain 313 drivers/crypto/marvell/cipher.c basereq->chain.first = NULL; chain 314 drivers/crypto/marvell/cipher.c basereq->chain.last = NULL; chain 335 drivers/crypto/marvell/cipher.c mv_cesa_tdma_desc_iter_init(&basereq->chain); chain 341 drivers/crypto/marvell/cipher.c op = mv_cesa_dma_add_op(&basereq->chain, op_templ, skip_ctx, flags); chain 351 drivers/crypto/marvell/cipher.c ret = mv_cesa_dma_add_op_transfers(&basereq->chain, &iter.base, chain 357 drivers/crypto/marvell/cipher.c ret = mv_cesa_dma_add_dummy_launch(&basereq->chain, flags); chain 362 drivers/crypto/marvell/cipher.c ret = mv_cesa_dma_add_op_transfers(&basereq->chain, &iter.base, chain 370 drivers/crypto/marvell/cipher.c ret = mv_cesa_dma_add_result_op(&basereq->chain, CESA_SA_CFG_SRAM_OFFSET, chain 377 drivers/crypto/marvell/cipher.c basereq->chain.last->flags |= CESA_TDMA_END_OF_REQ; chain 404 drivers/crypto/marvell/cipher.c basereq->chain.first = NULL; chain 405 drivers/crypto/marvell/cipher.c basereq->chain.last = NULL; chain 286 drivers/crypto/marvell/hash.c if (base->chain.first->flags & CESA_TDMA_SET_STATE) { chain 332 drivers/crypto/marvell/hash.c (creq->base.chain.last->flags & CESA_TDMA_TYPE_MSK) == CESA_TDMA_RESULT) { chain 339 drivers/crypto/marvell/hash.c data = creq->base.chain.last->op->ctx.hash.hash; chain 459 drivers/crypto/marvell/hash.c mv_cesa_dma_add_frag(struct mv_cesa_tdma_chain *chain, chain 466 drivers/crypto/marvell/hash.c op = mv_cesa_dma_add_op(chain, tmpl, false, flags); chain 474 drivers/crypto/marvell/hash.c ret = mv_cesa_dma_add_dummy_launch(chain, flags); chain 487 drivers/crypto/marvell/hash.c mv_cesa_ahash_dma_add_cache(struct mv_cesa_tdma_chain *chain, chain 503 drivers/crypto/marvell/hash.c return mv_cesa_dma_add_data_transfer(chain, chain 512 drivers/crypto/marvell/hash.c mv_cesa_ahash_dma_last_req(struct mv_cesa_tdma_chain *chain, chain 527 drivers/crypto/marvell/hash.c op = mv_cesa_dma_add_frag(chain, &creq->op_tmpl, frag_len, chain 538 drivers/crypto/marvell/hash.c ret = mv_cesa_dma_add_result_op(chain, chain 560 drivers/crypto/marvell/hash.c ret = mv_cesa_dma_add_data_transfer(chain, chain 569 drivers/crypto/marvell/hash.c op = mv_cesa_dma_add_frag(chain, &creq->op_tmpl, frag_len + len, chain 580 drivers/crypto/marvell/hash.c ret = mv_cesa_dma_add_data_transfer(chain, chain 590 drivers/crypto/marvell/hash.c return mv_cesa_dma_add_frag(chain, &creq->op_tmpl, trailerlen - padoff, chain 607 drivers/crypto/marvell/hash.c basereq->chain.first = NULL; chain 608 drivers/crypto/marvell/hash.c basereq->chain.last = NULL; chain 622 drivers/crypto/marvell/hash.c mv_cesa_tdma_desc_iter_init(&basereq->chain); chain 629 drivers/crypto/marvell/hash.c ret = mv_cesa_ahash_dma_add_cache(&basereq->chain, creq, flags); chain 640 drivers/crypto/marvell/hash.c ret = mv_cesa_dma_add_op_transfers(&basereq->chain, chain 651 drivers/crypto/marvell/hash.c op = mv_cesa_dma_add_frag(&basereq->chain, &creq->op_tmpl, chain 669 drivers/crypto/marvell/hash.c op = mv_cesa_ahash_dma_last_req(&basereq->chain, &iter, creq, chain 672 drivers/crypto/marvell/hash.c op = mv_cesa_dma_add_frag(&basereq->chain, &creq->op_tmpl, chain 686 drivers/crypto/marvell/hash.c type = basereq->chain.last->flags & CESA_TDMA_TYPE_MSK; chain 690 drivers/crypto/marvell/hash.c ret = mv_cesa_dma_add_dummy_end(&basereq->chain, flags); chain 701 drivers/crypto/marvell/hash.c basereq->chain.last->flags |= CESA_TDMA_END_OF_REQ; chain 704 drivers/crypto/marvell/hash.c basereq->chain.last->flags |= CESA_TDMA_BREAK_CHAIN; chain 712 drivers/crypto/marvell/hash.c basereq->chain.first->flags |= CESA_TDMA_SET_STATE; chain 51 drivers/crypto/marvell/tdma.c writel_relaxed(dreq->chain.first->cur_dma, chain 62 drivers/crypto/marvell/tdma.c for (tdma = dreq->chain.first; tdma;) { chain 75 drivers/crypto/marvell/tdma.c dreq->chain.first = NULL; chain 76 drivers/crypto/marvell/tdma.c dreq->chain.last = NULL; chain 84 drivers/crypto/marvell/tdma.c for (tdma = dreq->chain.first; tdma; tdma = tdma->next) { chain 99 drivers/crypto/marvell/tdma.c if (engine->chain.first == NULL && engine->chain.last == NULL) { chain 100 drivers/crypto/marvell/tdma.c engine->chain.first = dreq->chain.first; chain 101 drivers/crypto/marvell/tdma.c engine->chain.last = dreq->chain.last; chain 105 drivers/crypto/marvell/tdma.c last = engine->chain.last; chain 106 drivers/crypto/marvell/tdma.c last->next = dreq->chain.first; chain 107 drivers/crypto/marvell/tdma.c engine->chain.last = dreq->chain.last; chain 116 drivers/crypto/marvell/tdma.c !(dreq->chain.first->flags & CESA_TDMA_SET_STATE)) chain 117 drivers/crypto/marvell/tdma.c last->next_dma = dreq->chain.first->cur_dma; chain 130 drivers/crypto/marvell/tdma.c for (tdma = engine->chain.first; tdma; tdma = next) { chain 152 drivers/crypto/marvell/tdma.c engine->chain.first = tdma->next; chain 156 drivers/crypto/marvell/tdma.c if (engine->chain.first == NULL) chain 157 drivers/crypto/marvell/tdma.c engine->chain.last = NULL; chain 190 drivers/crypto/marvell/tdma.c mv_cesa_dma_add_desc(struct mv_cesa_tdma_chain *chain, gfp_t flags) chain 201 drivers/crypto/marvell/tdma.c if (chain->last) { chain 202 drivers/crypto/marvell/tdma.c chain->last->next_dma = cpu_to_le32(dma_handle); chain 203 drivers/crypto/marvell/tdma.c chain->last->next = new_tdma; chain 205 drivers/crypto/marvell/tdma.c chain->first = new_tdma; chain 208 drivers/crypto/marvell/tdma.c chain->last = new_tdma; chain 213 drivers/crypto/marvell/tdma.c int mv_cesa_dma_add_result_op(struct mv_cesa_tdma_chain *chain, dma_addr_t src, chain 218 drivers/crypto/marvell/tdma.c tdma = mv_cesa_dma_add_desc(chain, gfp_flags); chain 227 drivers/crypto/marvell/tdma.c for (op_desc = chain->first; op_desc; op_desc = op_desc->next) { chain 247 drivers/crypto/marvell/tdma.c struct mv_cesa_op_ctx *mv_cesa_dma_add_op(struct mv_cesa_tdma_chain *chain, chain 257 drivers/crypto/marvell/tdma.c tdma = mv_cesa_dma_add_desc(chain, flags); chain 269 drivers/crypto/marvell/tdma.c tdma = chain->last; chain 279 drivers/crypto/marvell/tdma.c int mv_cesa_dma_add_data_transfer(struct mv_cesa_tdma_chain *chain, chain 285 drivers/crypto/marvell/tdma.c tdma = mv_cesa_dma_add_desc(chain, gfp_flags); chain 299 drivers/crypto/marvell/tdma.c int mv_cesa_dma_add_dummy_launch(struct mv_cesa_tdma_chain *chain, gfp_t flags) chain 303 drivers/crypto/marvell/tdma.c tdma = mv_cesa_dma_add_desc(chain, flags); chain 307 drivers/crypto/marvell/tdma.c int mv_cesa_dma_add_dummy_end(struct mv_cesa_tdma_chain *chain, gfp_t flags) chain 311 drivers/crypto/marvell/tdma.c tdma = mv_cesa_dma_add_desc(chain, flags); chain 320 drivers/crypto/marvell/tdma.c int mv_cesa_dma_add_op_transfers(struct mv_cesa_tdma_chain *chain, chain 342 drivers/crypto/marvell/tdma.c ret = mv_cesa_dma_add_data_transfer(chain, dst, src, len, chain 21 drivers/dma-buf/dma-fence-chain.c static struct dma_fence *dma_fence_chain_get_prev(struct dma_fence_chain *chain) chain 26 drivers/dma-buf/dma-fence-chain.c prev = dma_fence_get_rcu_safe(&chain->prev); chain 41 drivers/dma-buf/dma-fence-chain.c struct dma_fence_chain *chain, *prev_chain; chain 44 drivers/dma-buf/dma-fence-chain.c chain = to_dma_fence_chain(fence); chain 45 drivers/dma-buf/dma-fence-chain.c if (!chain) { chain 50 drivers/dma-buf/dma-fence-chain.c while ((prev = dma_fence_chain_get_prev(chain))) { chain 65 drivers/dma-buf/dma-fence-chain.c tmp = cmpxchg((void **)&chain->prev, (void *)prev, (void *)replacement); chain 91 drivers/dma-buf/dma-fence-chain.c struct dma_fence_chain *chain; chain 96 drivers/dma-buf/dma-fence-chain.c chain = to_dma_fence_chain(*pfence); chain 97 drivers/dma-buf/dma-fence-chain.c if (!chain || chain->base.seqno < seqno) chain 100 drivers/dma-buf/dma-fence-chain.c dma_fence_chain_for_each(*pfence, &chain->base) { chain 101 drivers/dma-buf/dma-fence-chain.c if ((*pfence)->context != chain->base.context || chain 105 drivers/dma-buf/dma-fence-chain.c dma_fence_put(&chain->base); chain 123 drivers/dma-buf/dma-fence-chain.c struct dma_fence_chain *chain; chain 125 drivers/dma-buf/dma-fence-chain.c chain = container_of(work, typeof(*chain), work); chain 128 drivers/dma-buf/dma-fence-chain.c if (!dma_fence_chain_enable_signaling(&chain->base)) chain 130 drivers/dma-buf/dma-fence-chain.c dma_fence_signal(&chain->base); chain 131 drivers/dma-buf/dma-fence-chain.c dma_fence_put(&chain->base); chain 136 drivers/dma-buf/dma-fence-chain.c struct dma_fence_chain *chain; chain 138 drivers/dma-buf/dma-fence-chain.c chain = container_of(cb, typeof(*chain), cb); chain 139 drivers/dma-buf/dma-fence-chain.c irq_work_queue(&chain->work); chain 149 drivers/dma-buf/dma-fence-chain.c struct dma_fence_chain *chain = to_dma_fence_chain(fence); chain 150 drivers/dma-buf/dma-fence-chain.c struct dma_fence *f = chain ? chain->fence : fence; chain 166 drivers/dma-buf/dma-fence-chain.c struct dma_fence_chain *chain = to_dma_fence_chain(fence); chain 167 drivers/dma-buf/dma-fence-chain.c struct dma_fence *f = chain ? chain->fence : fence; chain 180 drivers/dma-buf/dma-fence-chain.c struct dma_fence_chain *chain = to_dma_fence_chain(fence); chain 186 drivers/dma-buf/dma-fence-chain.c while ((prev = rcu_dereference_protected(chain->prev, true))) { chain 199 drivers/dma-buf/dma-fence-chain.c chain->prev = prev_chain->prev; chain 205 drivers/dma-buf/dma-fence-chain.c dma_fence_put(chain->fence); chain 228 drivers/dma-buf/dma-fence-chain.c void dma_fence_chain_init(struct dma_fence_chain *chain, chain 236 drivers/dma-buf/dma-fence-chain.c spin_lock_init(&chain->lock); chain 237 drivers/dma-buf/dma-fence-chain.c rcu_assign_pointer(chain->prev, prev); chain 238 drivers/dma-buf/dma-fence-chain.c chain->fence = fence; chain 239 drivers/dma-buf/dma-fence-chain.c chain->prev_seqno = 0; chain 240 drivers/dma-buf/dma-fence-chain.c init_irq_work(&chain->work, dma_fence_chain_irq_work); chain 245 drivers/dma-buf/dma-fence-chain.c chain->prev_seqno = prev->seqno; chain 253 drivers/dma-buf/dma-fence-chain.c dma_fence_init(&chain->base, &dma_fence_chain_ops, chain 254 drivers/dma-buf/dma-fence-chain.c &chain->lock, context, seqno); chain 91 drivers/dma/iop-adma.c if (desc->chain_node.next == &iop_chan->chain) chain 116 drivers/dma/iop-adma.c list_for_each_entry_safe(iter, _iter, &iop_chan->chain, chain 173 drivers/dma/iop-adma.c &iop_chan->chain, chain_node) { chain 191 drivers/dma/iop-adma.c &iop_chan->chain, chain_node) { chain 260 drivers/dma/iop-adma.c LIST_HEAD(chain); chain 317 drivers/dma/iop-adma.c list_add_tail(&iter->chain_node, &chain); chain 333 drivers/dma/iop-adma.c list_splice(&chain, &alloc_tail->tx_list); chain 376 drivers/dma/iop-adma.c old_chain_tail = list_entry(iop_chan->chain.prev, chain 723 drivers/dma/iop-adma.c list_for_each_entry_safe(iter, _iter, &iop_chan->chain, chain 1378 drivers/dma/iop-adma.c INIT_LIST_HEAD(&iop_chan->chain); chain 1449 drivers/dma/iop-adma.c list_splice_init(&sw_desc->tx_list, &iop_chan->chain); chain 1501 drivers/dma/iop-adma.c list_splice_init(&sw_desc->tx_list, &iop_chan->chain); chain 280 drivers/dma/mv_xor.c list_for_each_entry_safe(iter, _iter, &mv_chan->chain, chain 305 drivers/dma/mv_xor.c if ((busy == 0) && !list_empty(&mv_chan->chain)) { chain 311 drivers/dma/mv_xor.c iter = list_entry(mv_chan->chain.next, chain 316 drivers/dma/mv_xor.c if (!list_is_last(&iter->node, &mv_chan->chain)) { chain 397 drivers/dma/mv_xor.c if (list_empty(&mv_chan->chain)) chain 398 drivers/dma/mv_xor.c list_move_tail(&sw_desc->node, &mv_chan->chain); chain 402 drivers/dma/mv_xor.c old_chain_tail = list_entry(mv_chan->chain.prev, chain 405 drivers/dma/mv_xor.c list_move_tail(&sw_desc->node, &mv_chan->chain); chain 637 drivers/dma/mv_xor.c list_for_each_entry_safe(iter, _iter, &mv_chan->chain, chain 1119 drivers/dma/mv_xor.c INIT_LIST_HEAD(&mv_chan->chain); chain 111 drivers/dma/mv_xor.h struct list_head chain; chain 947 drivers/dma/ppc4xx/adma.c list_for_each_entry(iter, &chan->chain, chain 956 drivers/dma/ppc4xx/adma.c BUG_ON(&iter->chain_node == &chan->chain); chain 1127 drivers/dma/ppc4xx/adma.c list_for_each_entry_continue(iter, &chan->chain, chain_node) { chain 1501 drivers/dma/ppc4xx/adma.c if (list_is_last(&desc->chain_node, &chan->chain) || chain 1556 drivers/dma/ppc4xx/adma.c list_for_each_entry_safe(iter, _iter, &chan->chain, chain 1613 drivers/dma/ppc4xx/adma.c &chan->chain, chain_node) { chain 1691 drivers/dma/ppc4xx/adma.c struct list_head chain = LIST_HEAD_INIT(chain); chain 1732 drivers/dma/ppc4xx/adma.c list_add_tail(&iter->chain_node, &chain); chain 1750 drivers/dma/ppc4xx/adma.c list_splice(&chain, &alloc_tail->group_list); chain 1915 drivers/dma/ppc4xx/adma.c if (unlikely(list_empty(&chan->chain))) { chain 1917 drivers/dma/ppc4xx/adma.c list_splice_init(&sw_desc->group_list, &chan->chain); chain 1921 drivers/dma/ppc4xx/adma.c old_chain_tail = list_entry(chan->chain.prev, chain 3545 drivers/dma/ppc4xx/adma.c list_for_each_entry_safe(iter, _iter, &ppc440spe_chan->chain, chain 3670 drivers/dma/ppc4xx/adma.c list_splice_init(&sw_desc->group_list, &chan->chain); chain 4138 drivers/dma/ppc4xx/adma.c INIT_LIST_HEAD(&chan->chain); chain 96 drivers/dma/ppc4xx/adma.h struct list_head chain; chain 92 drivers/dma/sirf-dma.c bool chain; /* is chain DMA? */ chain 165 drivers/dma/sirf-dma.c if (sdesc->chain) { chain 168 drivers/dma/sirf-dma.c (sdesc->chain << chain 180 drivers/dma/sirf-dma.c (sdesc->chain << chain 184 drivers/dma/sirf-dma.c writel_relaxed(sdesc->chain ? SIRFSOC_DMA_INT_END_INT_ATLAS7 : chain 270 drivers/dma/sirf-dma.c bool chain; chain 309 drivers/dma/sirf-dma.c chain = sdesc->chain; chain 310 drivers/dma/sirf-dma.c if ((chain && (is & SIRFSOC_DMA_INT_END_INT_ATLAS7)) || chain 311 drivers/dma/sirf-dma.c (!chain && chain 538 drivers/dma/txx9dmac.c dma_addr_t chain; chain 544 drivers/dma/txx9dmac.c chain = channel64_read_CHAR(dc); chain 548 drivers/dma/txx9dmac.c chain = channel32_readl(dc, CHAR); chain 559 drivers/dma/txx9dmac.c chain = 0; /* last descriptor of this chain */ chain 562 drivers/dma/txx9dmac.c (u64)chain); chain 565 drivers/dma/txx9dmac.c if (desc_read_CHAR(dc, desc) == chain) { chain 573 drivers/dma/txx9dmac.c if (desc_read_CHAR(dc, child) == chain) { chain 452 drivers/gpu/drm/amd/amdgpu/amdgpu.h struct dma_fence_chain *chain; chain 759 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c kfree(parser->post_deps[i].chain); chain 1158 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c p->post_deps[i].chain = NULL; chain 1191 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c dep->chain = NULL; chain 1193 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c dep->chain = kmalloc(sizeof(*dep->chain), GFP_KERNEL); chain 1194 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c if (!dep->chain) chain 1201 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c kfree(dep->chain); chain 1259 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c if (p->post_deps[i].chain && p->post_deps[i].point) { chain 1261 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c p->post_deps[i].chain, chain 1263 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c p->post_deps[i].chain = NULL; chain 114 drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue_v10.c uint64_t ib, size_t ib_size_in_dwords, bool chain) chain 141 drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue_v10.c packet->bitfields4.chain = chain ? 1 : 0; chain 110 drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue_v9.c uint64_t ib, size_t ib_size_in_dwords, bool chain) chain 136 drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue_v9.c packet->bitfields4.chain = chain ? 1 : 0; chain 138 drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue_v9.c packet->bitfields4.chained_runlist_idle_disable = chain ? 1 : 0; chain 116 drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue_vi.c uint64_t ib, size_t ib_size_in_dwords, bool chain) chain 144 drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue_vi.c packet->bitfields4.chain = chain ? 1 : 0; chain 121 drivers/gpu/drm/amd/amdkfd/kfd_pm4_headers_ai.h uint32_t chain:1; chain 127 drivers/gpu/drm/amd/amdkfd/kfd_pm4_headers_vi.h uint32_t chain:1; chain 948 drivers/gpu/drm/amd/amdkfd/kfd_priv.h uint64_t ib, size_t ib_size_in_dwords, bool chain); chain 224 drivers/gpu/drm/drm_syncobj.c struct dma_fence_chain *chain, chain 239 drivers/gpu/drm/drm_syncobj.c dma_fence_chain_init(chain, prev, fence, point); chain 240 drivers/gpu/drm/drm_syncobj.c rcu_assign_pointer(syncobj->fence, &chain->base); chain 769 drivers/gpu/drm/drm_syncobj.c struct dma_fence_chain *chain; chain 781 drivers/gpu/drm/drm_syncobj.c chain = kzalloc(sizeof(struct dma_fence_chain), GFP_KERNEL); chain 782 drivers/gpu/drm/drm_syncobj.c if (!chain) { chain 786 drivers/gpu/drm/drm_syncobj.c drm_syncobj_add_point(timeline_syncobj, chain, fence, args->dst_point); chain 1367 drivers/gpu/drm/drm_syncobj.c struct dma_fence_chain *chain; chain 1372 drivers/gpu/drm/drm_syncobj.c chain = to_dma_fence_chain(fence); chain 1373 drivers/gpu/drm/drm_syncobj.c if (chain) { chain 111 drivers/gpu/drm/i915/gem/i915_gem_clflush.c i915_sw_fence_await_reservation(&clflush->base.chain, chain 12 drivers/gpu/drm/i915/gem/i915_gem_fence.c struct i915_sw_fence chain; chain 18 drivers/gpu/drm/i915/gem/i915_gem_fence.c struct stub_fence *stub = container_of(fence, typeof(*stub), chain); chain 47 drivers/gpu/drm/i915/gem/i915_gem_fence.c i915_sw_fence_fini(&stub->chain); chain 70 drivers/gpu/drm/i915/gem/i915_gem_fence.c i915_sw_fence_init(&stub->chain, stub_notify); chain 71 drivers/gpu/drm/i915/gem/i915_gem_fence.c dma_fence_init(&stub->dma, &stub_fence_ops, &stub->chain.wait.lock, chain 74 drivers/gpu/drm/i915/gem/i915_gem_fence.c if (i915_sw_fence_await_reservation(&stub->chain, chain 94 drivers/gpu/drm/i915/gem/i915_gem_fence.c i915_sw_fence_commit(&stub->chain); chain 24 drivers/gpu/drm/i915/i915_sw_fence_work.c struct dma_fence_work *f = container_of(fence, typeof(*f), chain); chain 66 drivers/gpu/drm/i915/i915_sw_fence_work.c i915_sw_fence_fini(&f->chain); chain 83 drivers/gpu/drm/i915/i915_sw_fence_work.c i915_sw_fence_init(&f->chain, fence_notify); chain 94 drivers/gpu/drm/i915/i915_sw_fence_work.c return __i915_sw_fence_await_dma_fence(&f->chain, signal, &f->cb); chain 28 drivers/gpu/drm/i915/i915_sw_fence_work.h struct i915_sw_fence chain; chain 41 drivers/gpu/drm/i915/i915_sw_fence_work.h i915_sw_fence_commit(&f->chain); chain 289 drivers/infiniband/core/uverbs_uapi.c rc = uapi_merge_def(uapi, ibdev, def->chain, is_driver); chain 198 drivers/media/platform/vsp1/vsp1_dl.c struct list_head chain; chain 617 drivers/media/platform/vsp1/vsp1_dl.c INIT_LIST_HEAD(&dl->chain); chain 638 drivers/media/platform/vsp1/vsp1_dl.c list_for_each_entry(dl_next, &dl->chain, chain) chain 737 drivers/media/platform/vsp1/vsp1_dl.c list_add_tail(&dl->chain, &head->chain); chain 801 drivers/media/platform/vsp1/vsp1_dl.c struct vsp1_dl_list *next = list_next_entry(dl, chain); chain 922 drivers/media/platform/vsp1/vsp1_dl.c vsp1_dl_list_fill_header(dl, list_empty(&dl->chain)); chain 924 drivers/media/platform/vsp1/vsp1_dl.c list_for_each_entry(dl_next, &dl->chain, chain) { chain 925 drivers/media/platform/vsp1/vsp1_dl.c bool last = list_is_last(&dl_next->chain, &dl->chain); chain 888 drivers/media/usb/uvc/uvc_ctrl.c static struct uvc_control *uvc_find_control(struct uvc_video_chain *chain, chain 901 drivers/media/usb/uvc/uvc_ctrl.c list_for_each_entry(entity, &chain->entities, chain) { chain 914 drivers/media/usb/uvc/uvc_ctrl.c static int uvc_ctrl_populate_cache(struct uvc_video_chain *chain, chain 920 drivers/media/usb/uvc/uvc_ctrl.c ret = uvc_query_ctrl(chain->dev, UVC_GET_DEF, ctrl->entity->id, chain 921 drivers/media/usb/uvc/uvc_ctrl.c chain->dev->intfnum, ctrl->info.selector, chain 929 drivers/media/usb/uvc/uvc_ctrl.c ret = uvc_query_ctrl(chain->dev, UVC_GET_MIN, ctrl->entity->id, chain 930 drivers/media/usb/uvc/uvc_ctrl.c chain->dev->intfnum, ctrl->info.selector, chain 937 drivers/media/usb/uvc/uvc_ctrl.c ret = uvc_query_ctrl(chain->dev, UVC_GET_MAX, ctrl->entity->id, chain 938 drivers/media/usb/uvc/uvc_ctrl.c chain->dev->intfnum, ctrl->info.selector, chain 945 drivers/media/usb/uvc/uvc_ctrl.c ret = uvc_query_ctrl(chain->dev, UVC_GET_RES, ctrl->entity->id, chain 946 drivers/media/usb/uvc/uvc_ctrl.c chain->dev->intfnum, ctrl->info.selector, chain 958 drivers/media/usb/uvc/uvc_ctrl.c uvc_warn_once(chain->dev, UVC_WARN_XU_GET_RES, chain 990 drivers/media/usb/uvc/uvc_ctrl.c static int __uvc_ctrl_get(struct uvc_video_chain *chain, chain 1000 drivers/media/usb/uvc/uvc_ctrl.c ret = uvc_query_ctrl(chain->dev, UVC_GET_CUR, ctrl->entity->id, chain 1001 drivers/media/usb/uvc/uvc_ctrl.c chain->dev->intfnum, ctrl->info.selector, chain 1016 drivers/media/usb/uvc/uvc_ctrl.c static int __uvc_query_v4l2_ctrl(struct uvc_video_chain *chain, chain 1042 drivers/media/usb/uvc/uvc_ctrl.c int ret = __uvc_ctrl_get(chain, master_ctrl, master_map, &val); chain 1051 drivers/media/usb/uvc/uvc_ctrl.c int ret = uvc_ctrl_populate_cache(chain, ctrl); chain 1108 drivers/media/usb/uvc/uvc_ctrl.c int uvc_query_v4l2_ctrl(struct uvc_video_chain *chain, chain 1115 drivers/media/usb/uvc/uvc_ctrl.c ret = mutex_lock_interruptible(&chain->ctrl_mutex); chain 1119 drivers/media/usb/uvc/uvc_ctrl.c ctrl = uvc_find_control(chain, v4l2_ctrl->id, &mapping); chain 1125 drivers/media/usb/uvc/uvc_ctrl.c ret = __uvc_query_v4l2_ctrl(chain, ctrl, mapping, v4l2_ctrl); chain 1127 drivers/media/usb/uvc/uvc_ctrl.c mutex_unlock(&chain->ctrl_mutex); chain 1140 drivers/media/usb/uvc/uvc_ctrl.c int uvc_query_v4l2_menu(struct uvc_video_chain *chain, chain 1154 drivers/media/usb/uvc/uvc_ctrl.c ret = mutex_lock_interruptible(&chain->ctrl_mutex); chain 1158 drivers/media/usb/uvc/uvc_ctrl.c ctrl = uvc_find_control(chain, query_menu->id, &mapping); chain 1176 drivers/media/usb/uvc/uvc_ctrl.c ret = uvc_ctrl_populate_cache(chain, ctrl); chain 1192 drivers/media/usb/uvc/uvc_ctrl.c mutex_unlock(&chain->ctrl_mutex); chain 1200 drivers/media/usb/uvc/uvc_ctrl.c static void uvc_ctrl_fill_event(struct uvc_video_chain *chain, chain 1208 drivers/media/usb/uvc/uvc_ctrl.c __uvc_query_v4l2_ctrl(chain, ctrl, mapping, &v4l2_ctrl); chain 1230 drivers/media/usb/uvc/uvc_ctrl.c static void uvc_ctrl_send_event(struct uvc_video_chain *chain, chain 1241 drivers/media/usb/uvc/uvc_ctrl.c uvc_ctrl_fill_event(chain, &ev, ctrl, mapping, value, changes); chain 1256 drivers/media/usb/uvc/uvc_ctrl.c static void uvc_ctrl_send_slave_event(struct uvc_video_chain *chain, chain 1268 drivers/media/usb/uvc/uvc_ctrl.c if (__uvc_ctrl_get(chain, ctrl, mapping, &val) == 0) chain 1271 drivers/media/usb/uvc/uvc_ctrl.c uvc_ctrl_send_event(chain, handle, ctrl, mapping, val, changes); chain 1279 drivers/media/usb/uvc/uvc_ctrl.c struct uvc_video_chain *chain = w->chain; chain 1286 drivers/media/usb/uvc/uvc_ctrl.c mutex_lock(&chain->ctrl_mutex); chain 1302 drivers/media/usb/uvc/uvc_ctrl.c uvc_ctrl_send_slave_event(chain, handle, ctrl, chain 1306 drivers/media/usb/uvc/uvc_ctrl.c uvc_ctrl_send_event(chain, handle, ctrl, mapping, value, chain 1310 drivers/media/usb/uvc/uvc_ctrl.c mutex_unlock(&chain->ctrl_mutex); chain 1320 drivers/media/usb/uvc/uvc_ctrl.c bool uvc_ctrl_status_event(struct urb *urb, struct uvc_video_chain *chain, chain 1323 drivers/media/usb/uvc/uvc_ctrl.c struct uvc_device *dev = chain->dev; chain 1333 drivers/media/usb/uvc/uvc_ctrl.c w->chain = chain; chain 1364 drivers/media/usb/uvc/uvc_ctrl.c ctrl = uvc_find_control(handle->chain, xctrls[i].id, &mapping); chain 1384 drivers/media/usb/uvc/uvc_ctrl.c uvc_ctrl_send_slave_event(handle->chain, handle, ctrl, chain 1397 drivers/media/usb/uvc/uvc_ctrl.c uvc_ctrl_send_event(handle->chain, handle, ctrl, mapping, chain 1409 drivers/media/usb/uvc/uvc_ctrl.c ret = mutex_lock_interruptible(&handle->chain->ctrl_mutex); chain 1413 drivers/media/usb/uvc/uvc_ctrl.c ctrl = uvc_find_control(handle->chain, sev->id, &mapping); chain 1425 drivers/media/usb/uvc/uvc_ctrl.c if (__uvc_ctrl_get(handle->chain, ctrl, mapping, &val) == 0) chain 1428 drivers/media/usb/uvc/uvc_ctrl.c uvc_ctrl_fill_event(handle->chain, &ev, ctrl, mapping, val, chain 1437 drivers/media/usb/uvc/uvc_ctrl.c mutex_unlock(&handle->chain->ctrl_mutex); chain 1445 drivers/media/usb/uvc/uvc_ctrl.c mutex_lock(&handle->chain->ctrl_mutex); chain 1447 drivers/media/usb/uvc/uvc_ctrl.c mutex_unlock(&handle->chain->ctrl_mutex); chain 1481 drivers/media/usb/uvc/uvc_ctrl.c int uvc_ctrl_begin(struct uvc_video_chain *chain) chain 1483 drivers/media/usb/uvc/uvc_ctrl.c return mutex_lock_interruptible(&chain->ctrl_mutex) ? -ERESTARTSYS : 0; chain 1540 drivers/media/usb/uvc/uvc_ctrl.c struct uvc_video_chain *chain = handle->chain; chain 1545 drivers/media/usb/uvc/uvc_ctrl.c list_for_each_entry(entity, &chain->entities, chain) { chain 1546 drivers/media/usb/uvc/uvc_ctrl.c ret = uvc_ctrl_commit_entity(chain->dev, entity, rollback); chain 1554 drivers/media/usb/uvc/uvc_ctrl.c mutex_unlock(&chain->ctrl_mutex); chain 1558 drivers/media/usb/uvc/uvc_ctrl.c int uvc_ctrl_get(struct uvc_video_chain *chain, chain 1564 drivers/media/usb/uvc/uvc_ctrl.c ctrl = uvc_find_control(chain, xctrl->id, &mapping); chain 1568 drivers/media/usb/uvc/uvc_ctrl.c return __uvc_ctrl_get(chain, ctrl, mapping, &xctrl->value); chain 1574 drivers/media/usb/uvc/uvc_ctrl.c struct uvc_video_chain *chain = handle->chain; chain 1583 drivers/media/usb/uvc/uvc_ctrl.c ctrl = uvc_find_control(chain, xctrl->id, &mapping); chain 1593 drivers/media/usb/uvc/uvc_ctrl.c ret = uvc_ctrl_populate_cache(chain, ctrl); chain 1632 drivers/media/usb/uvc/uvc_ctrl.c ret = uvc_ctrl_populate_cache(chain, ctrl); chain 1659 drivers/media/usb/uvc/uvc_ctrl.c ret = uvc_query_ctrl(chain->dev, UVC_GET_CUR, chain 1660 drivers/media/usb/uvc/uvc_ctrl.c ctrl->entity->id, chain->dev->intfnum, chain 1842 drivers/media/usb/uvc/uvc_ctrl.c int uvc_xu_ctrl_query(struct uvc_video_chain *chain, chain 1854 drivers/media/usb/uvc/uvc_ctrl.c list_for_each_entry(entity, &chain->entities, chain) { chain 1881 drivers/media/usb/uvc/uvc_ctrl.c if (mutex_lock_interruptible(&chain->ctrl_mutex)) chain 1884 drivers/media/usb/uvc/uvc_ctrl.c ret = uvc_ctrl_init_xu_ctrl(chain->dev, ctrl); chain 1946 drivers/media/usb/uvc/uvc_ctrl.c ret = uvc_query_ctrl(chain->dev, xqry->query, xqry->unit, chain 1947 drivers/media/usb/uvc/uvc_ctrl.c chain->dev->intfnum, xqry->selector, data, size); chain 1956 drivers/media/usb/uvc/uvc_ctrl.c mutex_unlock(&chain->ctrl_mutex); chain 2085 drivers/media/usb/uvc/uvc_ctrl.c int uvc_ctrl_add_mapping(struct uvc_video_chain *chain, chain 2088 drivers/media/usb/uvc/uvc_ctrl.c struct uvc_device *dev = chain->dev; chain 2103 drivers/media/usb/uvc/uvc_ctrl.c list_for_each_entry(entity, &chain->entities, chain) { chain 2124 drivers/media/usb/uvc/uvc_ctrl.c if (mutex_lock_interruptible(&chain->ctrl_mutex)) chain 2166 drivers/media/usb/uvc/uvc_ctrl.c mutex_unlock(&chain->ctrl_mutex); chain 1412 drivers/media/usb/uvc/uvc_driver.c static int uvc_scan_chain_entity(struct uvc_video_chain *chain, chain 1432 drivers/media/usb/uvc/uvc_driver.c if (chain->processing != NULL) { chain 1438 drivers/media/usb/uvc/uvc_driver.c chain->processing = entity; chain 1449 drivers/media/usb/uvc/uvc_driver.c if (chain->selector != NULL) { chain 1455 drivers/media/usb/uvc/uvc_driver.c chain->selector = entity; chain 1491 drivers/media/usb/uvc/uvc_driver.c list_add_tail(&entity->chain, &chain->entities); chain 1495 drivers/media/usb/uvc/uvc_driver.c static int uvc_scan_chain_forward(struct uvc_video_chain *chain, chain 1506 drivers/media/usb/uvc/uvc_driver.c forward = uvc_entity_by_reference(chain->dev, entity->id, chain 1512 drivers/media/usb/uvc/uvc_driver.c if (forward->chain.next || forward->chain.prev) { chain 1527 drivers/media/usb/uvc/uvc_driver.c list_add_tail(&forward->chain, &chain->entities); chain 1547 drivers/media/usb/uvc/uvc_driver.c list_add_tail(&forward->chain, &chain->entities); chain 1564 drivers/media/usb/uvc/uvc_driver.c static int uvc_scan_chain_backward(struct uvc_video_chain *chain, chain 1587 drivers/media/usb/uvc/uvc_driver.c chain->selector = entity; chain 1590 drivers/media/usb/uvc/uvc_driver.c term = uvc_entity_by_id(chain->dev, id); chain 1598 drivers/media/usb/uvc/uvc_driver.c if (term->chain.next || term->chain.prev) { chain 1608 drivers/media/usb/uvc/uvc_driver.c list_add_tail(&term->chain, &chain->entities); chain 1609 drivers/media/usb/uvc/uvc_driver.c uvc_scan_chain_forward(chain, term, entity); chain 1634 drivers/media/usb/uvc/uvc_driver.c entity = uvc_entity_by_id(chain->dev, id); chain 1645 drivers/media/usb/uvc/uvc_driver.c static int uvc_scan_chain(struct uvc_video_chain *chain, chain 1657 drivers/media/usb/uvc/uvc_driver.c if (entity->chain.next || entity->chain.prev) { chain 1664 drivers/media/usb/uvc/uvc_driver.c if (uvc_scan_chain_entity(chain, entity) < 0) chain 1668 drivers/media/usb/uvc/uvc_driver.c if (uvc_scan_chain_forward(chain, entity, prev) < 0) chain 1673 drivers/media/usb/uvc/uvc_driver.c if (uvc_scan_chain_backward(chain, &entity) < 0) chain 1687 drivers/media/usb/uvc/uvc_driver.c list_for_each_entry(term, terms, chain) { chain 1704 drivers/media/usb/uvc/uvc_driver.c static const char *uvc_print_chain(struct uvc_video_chain *chain) chain 1709 drivers/media/usb/uvc/uvc_driver.c p += uvc_print_terms(&chain->entities, UVC_TERM_INPUT, p); chain 1711 drivers/media/usb/uvc/uvc_driver.c uvc_print_terms(&chain->entities, UVC_TERM_OUTPUT, p); chain 1718 drivers/media/usb/uvc/uvc_driver.c struct uvc_video_chain *chain; chain 1720 drivers/media/usb/uvc/uvc_driver.c chain = kzalloc(sizeof(*chain), GFP_KERNEL); chain 1721 drivers/media/usb/uvc/uvc_driver.c if (chain == NULL) chain 1724 drivers/media/usb/uvc/uvc_driver.c INIT_LIST_HEAD(&chain->entities); chain 1725 drivers/media/usb/uvc/uvc_driver.c mutex_init(&chain->ctrl_mutex); chain 1726 drivers/media/usb/uvc/uvc_driver.c chain->dev = dev; chain 1727 drivers/media/usb/uvc/uvc_driver.c v4l2_prio_init(&chain->prio); chain 1729 drivers/media/usb/uvc/uvc_driver.c return chain; chain 1747 drivers/media/usb/uvc/uvc_driver.c struct uvc_video_chain *chain; chain 1775 drivers/media/usb/uvc/uvc_driver.c chain = uvc_alloc_chain(dev); chain 1776 drivers/media/usb/uvc/uvc_driver.c if (chain == NULL) chain 1779 drivers/media/usb/uvc/uvc_driver.c if (uvc_scan_chain_entity(chain, oterm) < 0) chain 1799 drivers/media/usb/uvc/uvc_driver.c if (uvc_scan_chain_entity(chain, entity) < 0) chain 1806 drivers/media/usb/uvc/uvc_driver.c if (uvc_scan_chain_entity(chain, iterm) < 0) chain 1811 drivers/media/usb/uvc/uvc_driver.c list_add_tail(&chain->list, &dev->chains); chain 1815 drivers/media/usb/uvc/uvc_driver.c uvc_print_chain(chain)); chain 1820 drivers/media/usb/uvc/uvc_driver.c kfree(chain); chain 1831 drivers/media/usb/uvc/uvc_driver.c struct uvc_video_chain *chain; chain 1843 drivers/media/usb/uvc/uvc_driver.c if (term->chain.next || term->chain.prev) chain 1846 drivers/media/usb/uvc/uvc_driver.c chain = uvc_alloc_chain(dev); chain 1847 drivers/media/usb/uvc/uvc_driver.c if (chain == NULL) chain 1852 drivers/media/usb/uvc/uvc_driver.c if (uvc_scan_chain(chain, term) < 0) { chain 1853 drivers/media/usb/uvc/uvc_driver.c kfree(chain); chain 1858 drivers/media/usb/uvc/uvc_driver.c uvc_print_chain(chain)); chain 1860 drivers/media/usb/uvc/uvc_driver.c list_add_tail(&chain->list, &dev->chains); chain 1904 drivers/media/usb/uvc/uvc_driver.c struct uvc_video_chain *chain; chain 1905 drivers/media/usb/uvc/uvc_driver.c chain = list_entry(p, struct uvc_video_chain, list); chain 1906 drivers/media/usb/uvc/uvc_driver.c kfree(chain); chain 1990 drivers/media/usb/uvc/uvc_driver.c vdev->prio = &stream->chain->prio; chain 2042 drivers/media/usb/uvc/uvc_driver.c stream->chain->caps |= V4L2_CAP_VIDEO_CAPTURE chain 2045 drivers/media/usb/uvc/uvc_driver.c stream->chain->caps |= V4L2_CAP_VIDEO_OUTPUT; chain 2059 drivers/media/usb/uvc/uvc_driver.c struct uvc_video_chain *chain) chain 2065 drivers/media/usb/uvc/uvc_driver.c list_for_each_entry(term, &chain->entities, chain) { chain 2076 drivers/media/usb/uvc/uvc_driver.c stream->chain = chain; chain 2094 drivers/media/usb/uvc/uvc_driver.c struct uvc_video_chain *chain; chain 2097 drivers/media/usb/uvc/uvc_driver.c list_for_each_entry(chain, &dev->chains, list) { chain 2098 drivers/media/usb/uvc/uvc_driver.c ret = uvc_register_terms(dev, chain); chain 2103 drivers/media/usb/uvc/uvc_driver.c ret = uvc_mc_register_entities(chain); chain 17 drivers/media/usb/uvc/uvc_entity.c static int uvc_mc_create_links(struct uvc_video_chain *chain, chain 39 drivers/media/usb/uvc/uvc_entity.c remote = uvc_entity_by_id(chain->dev, entity->baSourceID[i]); chain 70 drivers/media/usb/uvc/uvc_entity.c static int uvc_mc_init_entity(struct uvc_video_chain *chain, chain 86 drivers/media/usb/uvc/uvc_entity.c ret = v4l2_device_register_subdev(&chain->dev->vdev, chain 99 drivers/media/usb/uvc/uvc_entity.c int uvc_mc_register_entities(struct uvc_video_chain *chain) chain 104 drivers/media/usb/uvc/uvc_entity.c list_for_each_entry(entity, &chain->entities, chain) { chain 105 drivers/media/usb/uvc/uvc_entity.c ret = uvc_mc_init_entity(chain, entity); chain 113 drivers/media/usb/uvc/uvc_entity.c list_for_each_entry(entity, &chain->entities, chain) { chain 114 drivers/media/usb/uvc/uvc_entity.c ret = uvc_mc_create_links(chain, entity); chain 30 drivers/media/usb/uvc/uvc_metadata.c struct uvc_video_chain *chain = stream->chain; chain 36 drivers/media/usb/uvc/uvc_metadata.c | chain->caps; chain 136 drivers/media/usb/uvc/uvc_status.c struct uvc_video_chain **chain) chain 138 drivers/media/usb/uvc/uvc_status.c list_for_each_entry((*chain), &dev->chains, list) { chain 142 drivers/media/usb/uvc/uvc_status.c list_for_each_entry(entity, &(*chain)->entities, chain) { chain 161 drivers/media/usb/uvc/uvc_status.c struct uvc_video_chain *chain; chain 176 drivers/media/usb/uvc/uvc_status.c ctrl = uvc_event_find_ctrl(dev, status, &chain); chain 182 drivers/media/usb/uvc/uvc_status.c return uvc_ctrl_status_event(urb, chain, ctrl, status->bValue); chain 31 drivers/media/usb/uvc/uvc_v4l2.c static int uvc_ioctl_ctrl_map(struct uvc_video_chain *chain, chain 84 drivers/media/usb/uvc/uvc_v4l2.c ret = uvc_ctrl_add_mapping(chain, map); chain 544 drivers/media/usb/uvc/uvc_v4l2.c handle->chain = stream->chain; chain 584 drivers/media/usb/uvc/uvc_v4l2.c struct uvc_video_chain *chain = handle->chain; chain 591 drivers/media/usb/uvc/uvc_v4l2.c | chain->caps; chain 826 drivers/media/usb/uvc/uvc_v4l2.c struct uvc_video_chain *chain = handle->chain; chain 827 drivers/media/usb/uvc/uvc_v4l2.c const struct uvc_entity *selector = chain->selector; chain 833 drivers/media/usb/uvc/uvc_v4l2.c (chain->dev->quirks & UVC_QUIRK_IGNORE_SELECTOR_UNIT)) { chain 836 drivers/media/usb/uvc/uvc_v4l2.c list_for_each_entry(iterm, &chain->entities, chain) { chain 843 drivers/media/usb/uvc/uvc_v4l2.c list_for_each_entry(iterm, &chain->entities, chain) { chain 866 drivers/media/usb/uvc/uvc_v4l2.c struct uvc_video_chain *chain = handle->chain; chain 870 drivers/media/usb/uvc/uvc_v4l2.c if (chain->selector == NULL || chain 871 drivers/media/usb/uvc/uvc_v4l2.c (chain->dev->quirks & UVC_QUIRK_IGNORE_SELECTOR_UNIT)) { chain 876 drivers/media/usb/uvc/uvc_v4l2.c ret = uvc_query_ctrl(chain->dev, UVC_GET_CUR, chain->selector->id, chain 877 drivers/media/usb/uvc/uvc_v4l2.c chain->dev->intfnum, UVC_SU_INPUT_SELECT_CONTROL, chain 889 drivers/media/usb/uvc/uvc_v4l2.c struct uvc_video_chain *chain = handle->chain; chain 897 drivers/media/usb/uvc/uvc_v4l2.c if (chain->selector == NULL || chain 898 drivers/media/usb/uvc/uvc_v4l2.c (chain->dev->quirks & UVC_QUIRK_IGNORE_SELECTOR_UNIT)) { chain 904 drivers/media/usb/uvc/uvc_v4l2.c if (input >= chain->selector->bNrInPins) chain 908 drivers/media/usb/uvc/uvc_v4l2.c return uvc_query_ctrl(chain->dev, UVC_SET_CUR, chain->selector->id, chain 909 drivers/media/usb/uvc/uvc_v4l2.c chain->dev->intfnum, UVC_SU_INPUT_SELECT_CONTROL, chain 917 drivers/media/usb/uvc/uvc_v4l2.c struct uvc_video_chain *chain = handle->chain; chain 919 drivers/media/usb/uvc/uvc_v4l2.c return uvc_query_v4l2_ctrl(chain, qc); chain 926 drivers/media/usb/uvc/uvc_v4l2.c struct uvc_video_chain *chain = handle->chain; chain 930 drivers/media/usb/uvc/uvc_v4l2.c ret = uvc_query_v4l2_ctrl(chain, &qc); chain 955 drivers/media/usb/uvc/uvc_v4l2.c struct uvc_video_chain *chain = handle->chain; chain 962 drivers/media/usb/uvc/uvc_v4l2.c ret = uvc_ctrl_begin(chain); chain 966 drivers/media/usb/uvc/uvc_v4l2.c ret = uvc_ctrl_get(chain, &xctrl); chain 979 drivers/media/usb/uvc/uvc_v4l2.c struct uvc_video_chain *chain = handle->chain; chain 987 drivers/media/usb/uvc/uvc_v4l2.c ret = uvc_ctrl_begin(chain); chain 1009 drivers/media/usb/uvc/uvc_v4l2.c struct uvc_video_chain *chain = handle->chain; chain 1018 drivers/media/usb/uvc/uvc_v4l2.c ret = uvc_query_v4l2_ctrl(chain, &qc); chain 1030 drivers/media/usb/uvc/uvc_v4l2.c ret = uvc_ctrl_begin(chain); chain 1035 drivers/media/usb/uvc/uvc_v4l2.c ret = uvc_ctrl_get(chain, ctrl); chain 1053 drivers/media/usb/uvc/uvc_v4l2.c struct uvc_video_chain *chain = handle->chain; chain 1061 drivers/media/usb/uvc/uvc_v4l2.c ret = uvc_ctrl_begin(chain); chain 1102 drivers/media/usb/uvc/uvc_v4l2.c struct uvc_video_chain *chain = handle->chain; chain 1104 drivers/media/usb/uvc/uvc_v4l2.c return uvc_query_v4l2_menu(chain, qm); chain 1280 drivers/media/usb/uvc/uvc_v4l2.c struct uvc_video_chain *chain = handle->chain; chain 1285 drivers/media/usb/uvc/uvc_v4l2.c return uvc_ioctl_ctrl_map(chain, arg); chain 1288 drivers/media/usb/uvc/uvc_v4l2.c return uvc_xu_ctrl_query(chain, arg); chain 1398 drivers/media/usb/uvc/uvc_v4l2.c ret = uvc_ioctl_ctrl_map(handle->chain, &karg.xmap); chain 1411 drivers/media/usb/uvc/uvc_v4l2.c ret = uvc_xu_ctrl_query(handle->chain, &karg.xqry); chain 296 drivers/media/usb/uvc/uvcvideo.h struct list_head chain; /* Entity as part of a video device chain 539 drivers/media/usb/uvc/uvcvideo.h struct uvc_video_chain *chain; chain 673 drivers/media/usb/uvc/uvcvideo.h struct uvc_video_chain *chain; chain 686 drivers/media/usb/uvc/uvcvideo.h struct uvc_video_chain *chain; chain 789 drivers/media/usb/uvc/uvcvideo.h int uvc_mc_register_entities(struct uvc_video_chain *chain); chain 825 drivers/media/usb/uvc/uvcvideo.h int uvc_query_v4l2_ctrl(struct uvc_video_chain *chain, chain 827 drivers/media/usb/uvc/uvcvideo.h int uvc_query_v4l2_menu(struct uvc_video_chain *chain, chain 830 drivers/media/usb/uvc/uvcvideo.h int uvc_ctrl_add_mapping(struct uvc_video_chain *chain, chain 835 drivers/media/usb/uvc/uvcvideo.h bool uvc_ctrl_status_event(struct urb *urb, struct uvc_video_chain *chain, chain 838 drivers/media/usb/uvc/uvcvideo.h int uvc_ctrl_begin(struct uvc_video_chain *chain); chain 853 drivers/media/usb/uvc/uvcvideo.h int uvc_ctrl_get(struct uvc_video_chain *chain, struct v4l2_ext_control *xctrl); chain 856 drivers/media/usb/uvc/uvcvideo.h int uvc_xu_ctrl_query(struct uvc_video_chain *chain, chain 1451 drivers/message/fusion/mptscsih.c MPT_FRAME_HDR *chain; chain 1472 drivers/message/fusion/mptscsih.c chain = (MPT_FRAME_HDR *) (ioc->ChainBuffer chain 1476 drivers/message/fusion/mptscsih.c list_add_tail(&chain->u.frame.linkage.list, &ioc->FreeChainQ); chain 407 drivers/mtd/inftlcore.c u16 chain, EUN; chain 412 drivers/mtd/inftlcore.c for (chain = 0; chain < inftl->nb_blocks; chain++) { chain 413 drivers/mtd/inftlcore.c EUN = inftl->VUtable[chain]; chain 422 drivers/mtd/inftlcore.c chain, EUN); chain 434 drivers/mtd/inftlcore.c LongestChain = chain; chain 481 drivers/mtd/nftlcore.c u16 chain, EUN; chain 483 drivers/mtd/nftlcore.c for (chain = 0; chain < le32_to_cpu(nftl->MediaHdr.FormattedSize) / nftl->EraseSize; chain++) { chain 484 drivers/mtd/nftlcore.c EUN = nftl->EUNtable[chain]; chain 493 drivers/mtd/nftlcore.c chain, EUN); chain 506 drivers/mtd/nftlcore.c LongestChain = chain; chain 3194 drivers/net/ethernet/hisilicon/hns3/hns3_enet.c struct hnae3_ring_chain_node *chain; chain 3211 drivers/net/ethernet/hisilicon/hns3/hns3_enet.c chain = devm_kzalloc(&pdev->dev, sizeof(*chain), chain 3213 drivers/net/ethernet/hisilicon/hns3/hns3_enet.c if (!chain) chain 3216 drivers/net/ethernet/hisilicon/hns3/hns3_enet.c cur_chain->next = chain; chain 3217 drivers/net/ethernet/hisilicon/hns3/hns3_enet.c chain->tqp_index = tx_ring->tqp->tqp_index; chain 3218 drivers/net/ethernet/hisilicon/hns3/hns3_enet.c hnae3_set_bit(chain->flag, HNAE3_RING_TYPE_B, chain 3220 drivers/net/ethernet/hisilicon/hns3/hns3_enet.c hnae3_set_field(chain->int_gl_idx, chain 3225 drivers/net/ethernet/hisilicon/hns3/hns3_enet.c cur_chain = chain; chain 3242 drivers/net/ethernet/hisilicon/hns3/hns3_enet.c chain = devm_kzalloc(&pdev->dev, sizeof(*chain), GFP_KERNEL); chain 3243 drivers/net/ethernet/hisilicon/hns3/hns3_enet.c if (!chain) chain 3246 drivers/net/ethernet/hisilicon/hns3/hns3_enet.c cur_chain->next = chain; chain 3247 drivers/net/ethernet/hisilicon/hns3/hns3_enet.c chain->tqp_index = rx_ring->tqp->tqp_index; chain 3248 drivers/net/ethernet/hisilicon/hns3/hns3_enet.c hnae3_set_bit(chain->flag, HNAE3_RING_TYPE_B, chain 3250 drivers/net/ethernet/hisilicon/hns3/hns3_enet.c hnae3_set_field(chain->int_gl_idx, HNAE3_RING_GL_IDX_M, chain 3253 drivers/net/ethernet/hisilicon/hns3/hns3_enet.c cur_chain = chain; chain 3263 drivers/net/ethernet/hisilicon/hns3/hns3_enet.c chain = cur_chain->next; chain 3265 drivers/net/ethernet/hisilicon/hns3/hns3_enet.c cur_chain = chain; chain 3276 drivers/net/ethernet/hisilicon/hns3/hns3_enet.c struct hnae3_ring_chain_node *chain_tmp, *chain; chain 3278 drivers/net/ethernet/hisilicon/hns3/hns3_enet.c chain = head->next; chain 3280 drivers/net/ethernet/hisilicon/hns3/hns3_enet.c while (chain) { chain 3281 drivers/net/ethernet/hisilicon/hns3/hns3_enet.c chain_tmp = chain->next; chain 3282 drivers/net/ethernet/hisilicon/hns3/hns3_enet.c devm_kfree(&pdev->dev, chain); chain 3283 drivers/net/ethernet/hisilicon/hns3/hns3_enet.c chain = chain_tmp; chain 111 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c struct hnae3_ring_chain_node *chain_tmp, *chain; chain 113 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c chain = head->next; chain 115 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c while (chain) { chain 116 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c chain_tmp = chain->next; chain 117 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c kzfree(chain); chain 118 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c chain = chain_tmp; chain 49 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c #define MASKED_IDX(chain, idx) ((idx) & ((chain)->num_cells - 1)) chain 89 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c static void set_prod_idx(struct hinic_api_cmd_chain *chain) chain 91 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c enum hinic_api_cmd_chain_type chain_type = chain->chain_type; chain 92 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c struct hinic_hwif *hwif = chain->hwif; chain 100 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c prod_idx |= HINIC_API_CMD_PI_SET(chain->prod_idx, IDX); chain 105 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c static u32 get_hw_cons_idx(struct hinic_api_cmd_chain *chain) chain 109 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c addr = HINIC_CSR_API_CMD_STATUS_ADDR(chain->chain_type); chain 110 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c val = hinic_hwif_read_reg(chain->hwif, addr); chain 121 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c static int chain_busy(struct hinic_api_cmd_chain *chain) chain 123 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c struct hinic_hwif *hwif = chain->hwif; chain 127 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c switch (chain->chain_type) { chain 129 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c chain->cons_idx = get_hw_cons_idx(chain); chain 130 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c prod_idx = chain->prod_idx; chain 133 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c if (chain->cons_idx == MASKED_IDX(chain, prod_idx + 1)) { chain 135 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c chain->chain_type); chain 200 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c static void prepare_api_cmd(struct hinic_api_cmd_chain *chain, chain 204 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c struct hinic_api_cmd_cell *cell = chain->curr_node; chain 206 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c struct hinic_hwif *hwif = chain->hwif; chain 209 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c cell_ctxt = &chain->cell_ctxt[chain->prod_idx]; chain 211 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c switch (chain->chain_type) { chain 244 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c static void prepare_cell(struct hinic_api_cmd_chain *chain, chain 248 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c struct hinic_api_cmd_cell *curr_node = chain->curr_node; chain 249 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c u16 data_size = get_cell_data_size(chain->chain_type); chain 252 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c prepare_api_cmd(chain, dest, cmd, cmd_size); chain 255 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c static inline void cmd_chain_prod_idx_inc(struct hinic_api_cmd_chain *chain) chain 257 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c chain->prod_idx = MASKED_IDX(chain, chain->prod_idx + 1); chain 264 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c static void api_cmd_status_update(struct hinic_api_cmd_chain *chain) chain 268 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c struct hinic_hwif *hwif = chain->hwif; chain 273 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c wb_status = chain->wb_status; chain 288 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c chain->cons_idx = HINIC_API_CMD_STATUS_GET(status, CONS_IDX); chain 297 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c static int wait_for_status_poll(struct hinic_api_cmd_chain *chain) chain 304 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c api_cmd_status_update(chain); chain 307 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c if (chain->cons_idx == chain->prod_idx) { chain 324 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c static int wait_for_api_cmd_completion(struct hinic_api_cmd_chain *chain) chain 326 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c struct hinic_hwif *hwif = chain->hwif; chain 330 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c switch (chain->chain_type) { chain 332 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c err = wait_for_status_poll(chain); chain 357 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c static int api_cmd(struct hinic_api_cmd_chain *chain, chain 363 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c down(&chain->sem); chain 364 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c if (chain_busy(chain)) { chain 365 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c up(&chain->sem); chain 369 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c prepare_cell(chain, dest, cmd, cmd_size); chain 370 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c cmd_chain_prod_idx_inc(chain); chain 374 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c set_prod_idx(chain); /* issue the command */ chain 376 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c ctxt = &chain->cell_ctxt[chain->prod_idx]; chain 378 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c chain->curr_node = ctxt->cell_vaddr; chain 380 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c err = wait_for_api_cmd_completion(chain); chain 382 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c up(&chain->sem); chain 395 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c int hinic_api_cmd_write(struct hinic_api_cmd_chain *chain, chain 399 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c if (chain->chain_type == HINIC_API_CMD_WRITE_TO_MGMT_CPU) chain 400 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c return api_cmd(chain, dest, cmd, size); chain 411 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c static int api_cmd_hw_restart(struct hinic_api_cmd_chain *chain) chain 413 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c struct hinic_hwif *hwif = chain->hwif; chain 419 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c reg_addr = HINIC_CSR_API_CMD_CHAIN_REQ_ADDR(chain->chain_type); chain 446 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c static void api_cmd_ctrl_init(struct hinic_api_cmd_chain *chain) chain 448 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c struct hinic_hwif *hwif = chain->hwif; chain 453 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c addr = HINIC_CSR_API_CMD_CHAIN_CTRL_ADDR(chain->chain_type); chain 455 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c cell_size = API_CMD_CELL_SIZE_VAL(chain->cell_size); chain 476 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c static void api_cmd_set_status_addr(struct hinic_api_cmd_chain *chain) chain 478 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c struct hinic_hwif *hwif = chain->hwif; chain 481 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c addr = HINIC_CSR_API_CMD_STATUS_HI_ADDR(chain->chain_type); chain 482 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c val = upper_32_bits(chain->wb_status_paddr); chain 485 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c addr = HINIC_CSR_API_CMD_STATUS_LO_ADDR(chain->chain_type); chain 486 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c val = lower_32_bits(chain->wb_status_paddr); chain 494 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c static void api_cmd_set_num_cells(struct hinic_api_cmd_chain *chain) chain 496 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c struct hinic_hwif *hwif = chain->hwif; chain 499 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c addr = HINIC_CSR_API_CMD_CHAIN_NUM_CELLS_ADDR(chain->chain_type); chain 500 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c val = chain->num_cells; chain 508 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c static void api_cmd_head_init(struct hinic_api_cmd_chain *chain) chain 510 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c struct hinic_hwif *hwif = chain->hwif; chain 513 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c addr = HINIC_CSR_API_CMD_CHAIN_HEAD_HI_ADDR(chain->chain_type); chain 514 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c val = upper_32_bits(chain->head_cell_paddr); chain 517 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c addr = HINIC_CSR_API_CMD_CHAIN_HEAD_LO_ADDR(chain->chain_type); chain 518 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c val = lower_32_bits(chain->head_cell_paddr); chain 526 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c static void api_cmd_chain_hw_clean(struct hinic_api_cmd_chain *chain) chain 528 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c struct hinic_hwif *hwif = chain->hwif; chain 531 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c addr = HINIC_CSR_API_CMD_CHAIN_CTRL_ADDR(chain->chain_type); chain 549 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c static int api_cmd_chain_hw_init(struct hinic_api_cmd_chain *chain) chain 551 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c struct hinic_hwif *hwif = chain->hwif; chain 555 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c api_cmd_chain_hw_clean(chain); chain 557 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c api_cmd_set_status_addr(chain); chain 559 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c err = api_cmd_hw_restart(chain); chain 565 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c api_cmd_ctrl_init(chain); chain 566 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c api_cmd_set_num_cells(chain); chain 567 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c api_cmd_head_init(chain); chain 576 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c static void free_cmd_buf(struct hinic_api_cmd_chain *chain, int cell_idx) chain 579 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c struct hinic_hwif *hwif = chain->hwif; chain 582 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c cell_ctxt = &chain->cell_ctxt[cell_idx]; chain 597 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c static int alloc_cmd_buf(struct hinic_api_cmd_chain *chain, chain 601 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c struct hinic_hwif *hwif = chain->hwif; chain 614 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c cell_ctxt = &chain->cell_ctxt[cell_idx]; chain 620 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c switch (chain->chain_type) { chain 628 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c free_cmd_buf(chain, cell_idx); chain 645 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c static int api_cmd_create_cell(struct hinic_api_cmd_chain *chain, chain 651 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c struct hinic_hwif *hwif = chain->hwif; chain 657 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c node = dma_alloc_coherent(&pdev->dev, chain->cell_size, &node_paddr, chain 666 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c cell_ctxt = &chain->cell_ctxt[cell_idx]; chain 671 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c chain->head_cell_paddr = node_paddr; chain 672 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c chain->head_node = node; chain 678 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c switch (chain->chain_type) { chain 680 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c err = alloc_cmd_buf(chain, node, cell_idx); chain 697 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c dma_free_coherent(&pdev->dev, chain->cell_size, node, node_paddr); chain 706 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c static void api_cmd_destroy_cell(struct hinic_api_cmd_chain *chain, chain 710 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c struct hinic_hwif *hwif = chain->hwif; chain 716 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c cell_ctxt = &chain->cell_ctxt[cell_idx]; chain 720 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c node_size = chain->cell_size; chain 723 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c switch (chain->chain_type) { chain 725 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c free_cmd_buf(chain, cell_idx); chain 742 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c static void api_cmd_destroy_cells(struct hinic_api_cmd_chain *chain, chain 748 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c api_cmd_destroy_cell(chain, cell_idx); chain 757 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c static int api_cmd_create_cells(struct hinic_api_cmd_chain *chain) chain 760 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c struct hinic_hwif *hwif = chain->hwif; chain 764 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c for (cell_idx = 0; cell_idx < chain->num_cells; cell_idx++) { chain 765 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c err = api_cmd_create_cell(chain, cell_idx, pre_node, &node); chain 775 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c node->next_cell_paddr = cpu_to_be64(chain->head_cell_paddr); chain 778 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c chain->curr_node = chain->head_node; chain 782 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c api_cmd_destroy_cells(chain, cell_idx); chain 793 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c static int api_chain_init(struct hinic_api_cmd_chain *chain, chain 800 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c chain->hwif = hwif; chain 801 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c chain->chain_type = attr->chain_type; chain 802 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c chain->num_cells = attr->num_cells; chain 803 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c chain->cell_size = attr->cell_size; chain 805 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c chain->prod_idx = 0; chain 806 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c chain->cons_idx = 0; chain 808 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c sema_init(&chain->sem, 1); chain 810 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c cell_ctxt_size = chain->num_cells * sizeof(*chain->cell_ctxt); chain 811 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c chain->cell_ctxt = devm_kzalloc(&pdev->dev, cell_ctxt_size, GFP_KERNEL); chain 812 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c if (!chain->cell_ctxt) chain 815 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c chain->wb_status = dma_alloc_coherent(&pdev->dev, chain 816 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c sizeof(*chain->wb_status), chain 817 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c &chain->wb_status_paddr, chain 819 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c if (!chain->wb_status) { chain 831 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c static void api_chain_free(struct hinic_api_cmd_chain *chain) chain 833 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c struct hinic_hwif *hwif = chain->hwif; chain 836 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c dma_free_coherent(&pdev->dev, sizeof(*chain->wb_status), chain 837 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c chain->wb_status, chain->wb_status_paddr); chain 851 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c struct hinic_api_cmd_chain *chain; chain 859 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c chain = devm_kzalloc(&pdev->dev, sizeof(*chain), GFP_KERNEL); chain 860 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c if (!chain) chain 863 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c err = api_chain_init(chain, attr); chain 869 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c err = api_cmd_create_cells(chain); chain 875 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c err = api_cmd_chain_hw_init(chain); chain 881 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c return chain; chain 884 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c api_cmd_destroy_cells(chain, chain->num_cells); chain 887 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c api_chain_free(chain); chain 895 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c static void api_cmd_destroy_chain(struct hinic_api_cmd_chain *chain) chain 897 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c api_cmd_chain_hw_clean(chain); chain 898 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c api_cmd_destroy_cells(chain, chain->num_cells); chain 899 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c api_chain_free(chain); chain 909 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c int hinic_api_cmd_init(struct hinic_api_cmd_chain **chain, chain 931 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c chain[chain_type] = api_cmd_create_chain(&attr); chain 932 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c if (IS_ERR(chain[chain_type])) { chain 935 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c err = PTR_ERR(chain[chain_type]); chain 948 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c api_cmd_destroy_chain(chain[type]); chain 958 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c void hinic_api_cmd_free(struct hinic_api_cmd_chain **chain) chain 967 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c api_cmd_destroy_chain(chain[chain_type]); chain 191 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.h int hinic_api_cmd_write(struct hinic_api_cmd_chain *chain, chain 194 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.h int hinic_api_cmd_init(struct hinic_api_cmd_chain **chain, chain 197 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.h void hinic_api_cmd_free(struct hinic_api_cmd_chain **chain); chain 201 drivers/net/ethernet/huawei/hinic/hinic_hw_mgmt.c struct hinic_api_cmd_chain *chain; chain 218 drivers/net/ethernet/huawei/hinic/hinic_hw_mgmt.c chain = pf_to_mgmt->cmd_chain[HINIC_API_CMD_WRITE_TO_MGMT_CPU]; chain 219 drivers/net/ethernet/huawei/hinic/hinic_hw_mgmt.c return hinic_api_cmd_write(chain, HINIC_NODE_ID_MGMT, chain 1171 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c if (attr->chain > max_chain) { chain 3389 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c if (dest_chain <= attr->chain) { chain 3573 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c esw_attr->chain = f->common.chain_index; chain 397 drivers/net/ethernet/mellanox/mlx5/core/eswitch.h u32 chain; chain 51 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c #define fdb_prio_table(esw, chain, prio, level) \ chain 52 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c (esw)->fdb_table.offloads.fdb_prio[(chain)][(prio)][(level)] chain 66 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c esw_get_prio_table(struct mlx5_eswitch *esw, u32 chain, u16 prio, int level); chain 68 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c esw_put_prio_table(struct mlx5_eswitch *esw, u32 chain, u16 prio, int level); chain 218 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c fdb = esw_get_prio_table(esw, attr->chain, attr->prio, !!split); chain 237 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c esw_put_prio_table(esw, attr->chain, attr->prio, !!split); chain 257 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c fast_fdb = esw_get_prio_table(esw, attr->chain, attr->prio, 0); chain 263 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c fwd_fdb = esw_get_prio_table(esw, attr->chain, attr->prio, 1); chain 300 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c esw_put_prio_table(esw, attr->chain, attr->prio, 1); chain 302 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c esw_put_prio_table(esw, attr->chain, attr->prio, 0); chain 327 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c esw_put_prio_table(esw, attr->chain, attr->prio, 1); chain 328 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c esw_put_prio_table(esw, attr->chain, attr->prio, 0); chain 330 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c esw_put_prio_table(esw, attr->chain, attr->prio, !!split); chain 922 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c esw_get_prio_table(struct mlx5_eswitch *esw, u32 chain, u16 prio, int level) chain 930 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c if (chain == FDB_SLOW_PATH_CHAIN) chain 935 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c fdb = fdb_prio_table(esw, chain, prio, level).fdb; chain 939 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c fdb_prio_table(esw, chain, prio, level--).num_rules++; chain 944 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c ns = mlx5_get_fdb_sub_ns(dev, chain); chain 955 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c table_prio = (chain * FDB_MAX_PRIO) + prio - 1; chain 961 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c if (fdb_prio_table(esw, chain, prio, l).fdb) { chain 962 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c fdb_prio_table(esw, chain, prio, l).num_rules++; chain 972 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c fdb_prio_table(esw, chain, prio, l).fdb = fdb; chain 973 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c fdb_prio_table(esw, chain, prio, l).num_rules = 1; chain 982 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c esw_put_prio_table(esw, chain, prio, l); chain 988 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c esw_put_prio_table(struct mlx5_eswitch *esw, u32 chain, u16 prio, int level) chain 992 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c if (chain == FDB_SLOW_PATH_CHAIN) chain 998 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c if (--(fdb_prio_table(esw, chain, prio, l).num_rules) > 0) chain 1001 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c put_sz_to_pool(esw, fdb_prio_table(esw, chain, prio, l).fdb->max_fte); chain 1002 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c mlx5_destroy_flow_table(fdb_prio_table(esw, chain, prio, l).fdb); chain 1003 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c fdb_prio_table(esw, chain, prio, l).fdb = NULL; chain 2562 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c int chain; chain 2591 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c for (chain = 0; chain <= FDB_MAX_CHAIN; chain++) { chain 2598 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c for (prio = 0; prio < FDB_MAX_PRIO * (chain + 1); prio++) { chain 2606 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c steering->fdb_sub_ns[chain] = ns; chain 2270 drivers/net/ethernet/qlogic/qed/qed_dev.c n_eqes = qed_chain_get_capacity(&p_hwfn->p_spq->chain); chain 176 drivers/net/ethernet/qlogic/qed/qed_sp.h struct qed_chain chain; chain 182 drivers/net/ethernet/qlogic/qed/qed_sp.h struct qed_chain chain; chain 209 drivers/net/ethernet/qlogic/qed/qed_sp.h struct qed_chain chain; chain 339 drivers/net/ethernet/qlogic/qed/qed_sp_commands.c qed_chain_get_prod_idx(&p_hwfn->p_eq->chain)); chain 393 drivers/net/ethernet/qlogic/qed/qed_sp_commands.c p_hwfn->p_eq->chain.pbl_sp.p_phys_table); chain 394 drivers/net/ethernet/qlogic/qed/qed_sp_commands.c page_cnt = (u8)qed_chain_get_page_cnt(&p_hwfn->p_eq->chain); chain 397 drivers/net/ethernet/qlogic/qed/qed_sp_commands.c p_hwfn->p_consq->chain.pbl_sp.p_phys_table); chain 243 drivers/net/ethernet/qlogic/qed/qed_spq.c DMA_LO_LE(p_spq->chain.p_phys_addr); chain 245 drivers/net/ethernet/qlogic/qed/qed_spq.c DMA_HI_LE(p_spq->chain.p_phys_addr); chain 248 drivers/net/ethernet/qlogic/qed/qed_spq.c p_hwfn->p_consq->chain.p_phys_addr); chain 254 drivers/net/ethernet/qlogic/qed/qed_spq.c struct qed_chain *p_chain = &p_hwfn->p_spq->chain; chain 349 drivers/net/ethernet/qlogic/qed/qed_spq.c struct qed_chain *p_chain = &p_eq->chain; chain 421 drivers/net/ethernet/qlogic/qed/qed_spq.c &p_eq->chain, NULL)) chain 438 drivers/net/ethernet/qlogic/qed/qed_spq.c qed_chain_reset(&p_hwfn->p_eq->chain); chain 446 drivers/net/ethernet/qlogic/qed/qed_spq.c qed_chain_free(p_hwfn->cdev, &p_hwfn->p_eq->chain); chain 506 drivers/net/ethernet/qlogic/qed/qed_spq.c capacity = qed_chain_get_capacity(&p_spq->chain); chain 530 drivers/net/ethernet/qlogic/qed/qed_spq.c qed_chain_reset(&p_spq->chain); chain 571 drivers/net/ethernet/qlogic/qed/qed_spq.c &p_spq->chain, NULL)) chain 575 drivers/net/ethernet/qlogic/qed/qed_spq.c capacity = qed_chain_get_capacity(&p_spq->chain); chain 589 drivers/net/ethernet/qlogic/qed/qed_spq.c qed_chain_free(p_hwfn->cdev, &p_spq->chain); chain 609 drivers/net/ethernet/qlogic/qed/qed_spq.c capacity = qed_chain_get_capacity(&p_spq->chain); chain 616 drivers/net/ethernet/qlogic/qed/qed_spq.c qed_chain_free(p_hwfn->cdev, &p_spq->chain); chain 754 drivers/net/ethernet/qlogic/qed/qed_spq.c while (qed_chain_get_elem_left(&p_spq->chain) > keep_reserve && chain 821 drivers/net/ethernet/qlogic/qed/qed_spq.c qed_chain_return_produced(&p_spq->chain); chain 1007 drivers/net/ethernet/qlogic/qed/qed_spq.c 0x80, &p_consq->chain, NULL)) chain 1020 drivers/net/ethernet/qlogic/qed/qed_spq.c qed_chain_reset(&p_hwfn->p_consq->chain); chain 1028 drivers/net/ethernet/qlogic/qed/qed_spq.c qed_chain_free(p_hwfn->cdev, &p_hwfn->p_consq->chain); chain 220 drivers/net/ethernet/toshiba/ps3_gelic_net.c struct gelic_descr_chain *chain, chain 230 drivers/net/ethernet/toshiba/ps3_gelic_net.c chain->head = start_descr; chain 231 drivers/net/ethernet/toshiba/ps3_gelic_net.c chain->tail = (descr - 1); chain 309 drivers/net/ethernet/toshiba/ps3_gelic_net.c struct gelic_descr_chain *chain, chain 342 drivers/net/ethernet/toshiba/ps3_gelic_net.c chain->head = start_descr; chain 343 drivers/net/ethernet/toshiba/ps3_gelic_net.c chain->tail = start_descr; chain 478 drivers/net/ethernet/toshiba/ps3_gelic_net.c struct gelic_descr_chain *chain; chain 480 drivers/net/ethernet/toshiba/ps3_gelic_net.c chain = &card->rx_chain; chain 482 drivers/net/ethernet/toshiba/ps3_gelic_net.c chain->tail = card->rx_top->prev; /* point to the last */ chain 970 drivers/net/ethernet/toshiba/ps3_gelic_net.c struct gelic_descr_chain *chain = &card->rx_chain; chain 971 drivers/net/ethernet/toshiba/ps3_gelic_net.c struct gelic_descr *descr = chain->head; chain 1059 drivers/net/ethernet/toshiba/ps3_gelic_net.c chain->tail = descr; chain 1060 drivers/net/ethernet/toshiba/ps3_gelic_net.c chain->head = descr->next; chain 275 drivers/net/ethernet/toshiba/spider_net.c struct spider_net_descr_chain *chain) chain 279 drivers/net/ethernet/toshiba/spider_net.c descr = chain->ring; chain 284 drivers/net/ethernet/toshiba/spider_net.c } while (descr != chain->ring); chain 286 drivers/net/ethernet/toshiba/spider_net.c dma_free_coherent(&card->pdev->dev, chain->num_desc, chain 287 drivers/net/ethernet/toshiba/spider_net.c chain->hwring, chain->dma_addr); chain 302 drivers/net/ethernet/toshiba/spider_net.c struct spider_net_descr_chain *chain) chain 310 drivers/net/ethernet/toshiba/spider_net.c alloc_size = chain->num_desc * sizeof(struct spider_net_hw_descr); chain 312 drivers/net/ethernet/toshiba/spider_net.c chain->hwring = dma_alloc_coherent(&card->pdev->dev, alloc_size, chain 313 drivers/net/ethernet/toshiba/spider_net.c &chain->dma_addr, GFP_KERNEL); chain 314 drivers/net/ethernet/toshiba/spider_net.c if (!chain->hwring) chain 317 drivers/net/ethernet/toshiba/spider_net.c memset(chain->ring, 0, chain->num_desc * sizeof(struct spider_net_descr)); chain 320 drivers/net/ethernet/toshiba/spider_net.c descr = chain->ring; chain 321 drivers/net/ethernet/toshiba/spider_net.c hwdescr = chain->hwring; chain 322 drivers/net/ethernet/toshiba/spider_net.c buf = chain->dma_addr; chain 323 drivers/net/ethernet/toshiba/spider_net.c for (i=0; i < chain->num_desc; i++, descr++, hwdescr++) { chain 335 drivers/net/ethernet/toshiba/spider_net.c (descr-1)->next = chain->ring; chain 336 drivers/net/ethernet/toshiba/spider_net.c chain->ring->prev = descr-1; chain 338 drivers/net/ethernet/toshiba/spider_net.c spin_lock_init(&chain->lock); chain 339 drivers/net/ethernet/toshiba/spider_net.c chain->head = chain->ring; chain 340 drivers/net/ethernet/toshiba/spider_net.c chain->tail = chain->ring; chain 487 drivers/net/ethernet/toshiba/spider_net.c struct spider_net_descr_chain *chain = &card->rx_chain; chain 494 drivers/net/ethernet/toshiba/spider_net.c if (!spin_trylock_irqsave(&chain->lock, flags)) chain 497 drivers/net/ethernet/toshiba/spider_net.c while (spider_net_get_descr_status(chain->head->hwdescr) == chain 499 drivers/net/ethernet/toshiba/spider_net.c if (spider_net_prepare_rx_descr(card, chain->head)) chain 501 drivers/net/ethernet/toshiba/spider_net.c chain->head = chain->head->next; chain 504 drivers/net/ethernet/toshiba/spider_net.c spin_unlock_irqrestore(&chain->lock, flags); chain 516 drivers/net/ethernet/toshiba/spider_net.c struct spider_net_descr_chain *chain = &card->rx_chain; chain 517 drivers/net/ethernet/toshiba/spider_net.c struct spider_net_descr *start = chain->tail; chain 529 drivers/net/ethernet/toshiba/spider_net.c if (spider_net_prepare_rx_descr(card, chain->head)) chain 532 drivers/net/ethernet/toshiba/spider_net.c chain->head = chain->head->next; chain 646 drivers/net/ethernet/toshiba/spider_net.c struct spider_net_descr_chain *chain = &card->tx_chain; chain 661 drivers/net/ethernet/toshiba/spider_net.c spin_lock_irqsave(&chain->lock, flags); chain 663 drivers/net/ethernet/toshiba/spider_net.c if (descr->next == chain->tail->prev) { chain 664 drivers/net/ethernet/toshiba/spider_net.c spin_unlock_irqrestore(&chain->lock, flags); chain 669 drivers/net/ethernet/toshiba/spider_net.c chain->head = descr->next; chain 679 drivers/net/ethernet/toshiba/spider_net.c spin_unlock_irqrestore(&chain->lock, flags); chain 758 drivers/net/ethernet/toshiba/spider_net.c struct spider_net_descr_chain *chain = &card->tx_chain; chain 767 drivers/net/ethernet/toshiba/spider_net.c spin_lock_irqsave(&chain->lock, flags); chain 768 drivers/net/ethernet/toshiba/spider_net.c if (chain->tail == chain->head) { chain 769 drivers/net/ethernet/toshiba/spider_net.c spin_unlock_irqrestore(&chain->lock, flags); chain 772 drivers/net/ethernet/toshiba/spider_net.c descr = chain->tail; chain 784 drivers/net/ethernet/toshiba/spider_net.c spin_unlock_irqrestore(&chain->lock, flags); chain 805 drivers/net/ethernet/toshiba/spider_net.c spin_unlock_irqrestore(&chain->lock, flags); chain 810 drivers/net/ethernet/toshiba/spider_net.c chain->tail = descr->next; chain 815 drivers/net/ethernet/toshiba/spider_net.c spin_unlock_irqrestore(&chain->lock, flags); chain 980 drivers/net/ethernet/toshiba/spider_net.c struct spider_net_descr_chain *chain = &card->rx_chain; chain 981 drivers/net/ethernet/toshiba/spider_net.c struct spider_net_descr *start= chain->tail; chain 990 drivers/net/ethernet/toshiba/spider_net.c int off = start - chain->ring; chain 994 drivers/net/ethernet/toshiba/spider_net.c chain->num_desc); chain 1005 drivers/net/ethernet/toshiba/spider_net.c off = descr - chain->ring; chain 1008 drivers/net/ethernet/toshiba/spider_net.c if (descr == chain->head) chain 1024 drivers/net/ethernet/toshiba/spider_net.c int from = (chain->num_desc + off - cnt) % chain->num_desc; chain 1025 drivers/net/ethernet/toshiba/spider_net.c int to = (chain->num_desc + off - 1) % chain->num_desc; chain 1047 drivers/net/ethernet/toshiba/spider_net.c cnt = descr - chain->ring; chain 1078 drivers/net/ethernet/toshiba/spider_net.c struct spider_net_descr_chain *chain = &card->rx_chain; chain 1083 drivers/net/ethernet/toshiba/spider_net.c descr = chain->head; chain 1089 drivers/net/ethernet/toshiba/spider_net.c spin_lock_irqsave(&chain->lock, flags); chain 1091 drivers/net/ethernet/toshiba/spider_net.c descr = chain->head; chain 1093 drivers/net/ethernet/toshiba/spider_net.c for (i=0; i<chain->num_desc; i++) { chain 1098 drivers/net/ethernet/toshiba/spider_net.c chain->head = descr; chain 1100 drivers/net/ethernet/toshiba/spider_net.c spin_unlock_irqrestore(&chain->lock, flags); chain 1105 drivers/net/ethernet/toshiba/spider_net.c struct spider_net_descr_chain *chain = &card->rx_chain; chain 1110 drivers/net/ethernet/toshiba/spider_net.c descr = chain->tail; chain 1113 drivers/net/ethernet/toshiba/spider_net.c for (i=0; i<chain->num_desc; i++) { chain 1119 drivers/net/ethernet/toshiba/spider_net.c chain->tail = descr; chain 1121 drivers/net/ethernet/toshiba/spider_net.c if ((i == chain->num_desc) || (i == 0)) chain 1141 drivers/net/ethernet/toshiba/spider_net.c struct spider_net_descr_chain *chain = &card->rx_chain; chain 1142 drivers/net/ethernet/toshiba/spider_net.c struct spider_net_descr *descr = chain->tail; chain 1155 drivers/net/ethernet/toshiba/spider_net.c chain->tail = descr->next; chain 1202 drivers/net/wireless/ath/ath9k/ar9003_calib.c static void ar9003_hw_manual_peak_cal(struct ath_hw *ah, u8 chain, bool is_2g) chain 1215 drivers/net/wireless/ath/ath9k/ar9003_calib.c REG_RMW_FIELD(ah, AR_PHY_65NM_RXRF_GAINSTAGES(chain), chain 1217 drivers/net/wireless/ath/ath9k/ar9003_calib.c REG_RMW_FIELD(ah, AR_PHY_65NM_RXRF_GAINSTAGES(chain), chain 1222 drivers/net/wireless/ath/ath9k/ar9003_calib.c REG_RMW_FIELD(ah, AR_PHY_65NM_RXRF_GAINSTAGES(chain), chain 1225 drivers/net/wireless/ath/ath9k/ar9003_calib.c REG_RMW_FIELD(ah, AR_PHY_65NM_RXRF_GAINSTAGES(chain), chain 1232 drivers/net/wireless/ath/ath9k/ar9003_calib.c REG_RMW_FIELD(ah, AR_PHY_65NM_RXTX2(chain), chain 1234 drivers/net/wireless/ath/ath9k/ar9003_calib.c REG_RMW_FIELD(ah, AR_PHY_65NM_RXTX2(chain), chain 1240 drivers/net/wireless/ath/ath9k/ar9003_calib.c REG_RMW_FIELD(ah, AR_PHY_65NM_RXRF_AGC(chain), chain 1242 drivers/net/wireless/ath/ath9k/ar9003_calib.c REG_RMW_FIELD(ah, AR_PHY_65NM_RXRF_AGC(chain), chain 1244 drivers/net/wireless/ath/ath9k/ar9003_calib.c REG_RMW_FIELD(ah, AR_PHY_65NM_RXRF_AGC(chain), chain 1248 drivers/net/wireless/ath/ath9k/ar9003_calib.c REG_RMW_FIELD(ah, AR_PHY_65NM_RXRF_AGC(chain), chain 1252 drivers/net/wireless/ath/ath9k/ar9003_calib.c REG_RMW_FIELD(ah, AR_PHY_65NM_RXRF_AGC(chain), chain 1256 drivers/net/wireless/ath/ath9k/ar9003_calib.c REG_RMW_FIELD(ah, AR_PHY_65NM_RXRF_AGC(chain), chain 1265 drivers/net/wireless/ath/ath9k/ar9003_calib.c REG_RMW_FIELD(ah, AR_PHY_65NM_RXRF_AGC(chain), chain 1269 drivers/net/wireless/ath/ath9k/ar9003_calib.c REG_RMW_FIELD(ah, AR_PHY_65NM_RXRF_AGC(chain), chain 1273 drivers/net/wireless/ath/ath9k/ar9003_calib.c agc_out = REG_READ_FIELD(ah, AR_PHY_65NM_RXRF_AGC(chain), chain 1280 drivers/net/wireless/ath/ath9k/ar9003_calib.c REG_RMW_FIELD(ah, AR_PHY_65NM_RXRF_AGC(chain), chain 1283 drivers/net/wireless/ath/ath9k/ar9003_calib.c REG_RMW_FIELD(ah, AR_PHY_65NM_RXRF_AGC(chain), chain 1289 drivers/net/wireless/ath/ath9k/ar9003_calib.c REG_RMW_FIELD(ah, AR_PHY_65NM_RXRF_GAINSTAGES(chain), chain 1294 drivers/net/wireless/ath/ath9k/ar9003_calib.c REG_RMW_FIELD(ah, AR_PHY_65NM_RXTX2(chain), chain 1299 drivers/net/wireless/ath/ath9k/ar9003_calib.c REG_RMW_FIELD(ah, AR_PHY_65NM_RXRF_AGC(chain), chain 3637 drivers/net/wireless/ath/ath9k/ar9003_eeprom.c static u16 ar9003_hw_ant_ctrl_chain_get(struct ath_hw *ah, int chain, chain 3640 drivers/net/wireless/ath/ath9k/ar9003_eeprom.c __le16 val = ar9003_modal_header(ah, is2ghz)->antCtrlChain[chain]; chain 3648 drivers/net/wireless/ath/ath9k/ar9003_eeprom.c int chain; chain 3713 drivers/net/wireless/ath/ath9k/ar9003_eeprom.c for (chain = 0; chain < AR9300_MAX_CHAINS; chain++) { chain 3714 drivers/net/wireless/ath/ath9k/ar9003_eeprom.c if ((ah->rxchainmask & BIT(chain)) || chain 3715 drivers/net/wireless/ath/ath9k/ar9003_eeprom.c (ah->txchainmask & BIT(chain))) { chain 3716 drivers/net/wireless/ath/ath9k/ar9003_eeprom.c value = ar9003_hw_ant_ctrl_chain_get(ah, chain, chain 3718 drivers/net/wireless/ath/ath9k/ar9003_eeprom.c REG_RMW_FIELD(ah, switch_chain_reg[chain], chain 3837 drivers/net/wireless/ath/ath9k/ar9003_eeprom.c static u16 ar9003_hw_atten_chain_get(struct ath_hw *ah, int chain, chain 3844 drivers/net/wireless/ath/ath9k/ar9003_eeprom.c if (chain >= 0 && chain < 3) { chain 3846 drivers/net/wireless/ath/ath9k/ar9003_eeprom.c return eep->modalHeader2G.xatten1DB[chain]; chain 3847 drivers/net/wireless/ath/ath9k/ar9003_eeprom.c else if (eep->base_ext2.xatten1DBLow[chain] != 0) { chain 3848 drivers/net/wireless/ath/ath9k/ar9003_eeprom.c t[0] = eep->base_ext2.xatten1DBLow[chain]; chain 3850 drivers/net/wireless/ath/ath9k/ar9003_eeprom.c t[1] = eep->modalHeader5G.xatten1DB[chain]; chain 3852 drivers/net/wireless/ath/ath9k/ar9003_eeprom.c t[2] = eep->base_ext2.xatten1DBHigh[chain]; chain 3858 drivers/net/wireless/ath/ath9k/ar9003_eeprom.c return eep->modalHeader5G.xatten1DB[chain]; chain 3865 drivers/net/wireless/ath/ath9k/ar9003_eeprom.c static u16 ar9003_hw_atten_chain_get_margin(struct ath_hw *ah, int chain, chain 3872 drivers/net/wireless/ath/ath9k/ar9003_eeprom.c if (chain >= 0 && chain < 3) { chain 3874 drivers/net/wireless/ath/ath9k/ar9003_eeprom.c return eep->modalHeader2G.xatten1Margin[chain]; chain 3875 drivers/net/wireless/ath/ath9k/ar9003_eeprom.c else if (eep->base_ext2.xatten1MarginLow[chain] != 0) { chain 3876 drivers/net/wireless/ath/ath9k/ar9003_eeprom.c t[0] = eep->base_ext2.xatten1MarginLow[chain]; chain 3878 drivers/net/wireless/ath/ath9k/ar9003_eeprom.c t[1] = eep->modalHeader5G.xatten1Margin[chain]; chain 3880 drivers/net/wireless/ath/ath9k/ar9003_eeprom.c t[2] = eep->base_ext2.xatten1MarginHigh[chain]; chain 3886 drivers/net/wireless/ath/ath9k/ar9003_eeprom.c return eep->modalHeader5G.xatten1Margin[chain]; chain 4212 drivers/net/wireless/ath/ath9k/ar9003_eeprom.c int chain; chain 4223 drivers/net/wireless/ath/ath9k/ar9003_eeprom.c for (chain = 0; chain < AR9300_MAX_CHAINS; chain++) { chain 4224 drivers/net/wireless/ath/ath9k/ar9003_eeprom.c if (!(ah->caps.tx_chainmask & BIT(chain))) chain 4227 drivers/net/wireless/ath/ath9k/ar9003_eeprom.c val = ar9003_modal_header(ah, is2ghz)->noiseFloorThreshCh[chain]; chain 4228 drivers/net/wireless/ath/ath9k/ar9003_eeprom.c REG_RMW_FIELD(ah, cca_ctrl[chain], chain 305 drivers/net/wireless/ath/ath9k/ar9003_paprd.c static unsigned int ar9003_get_desired_gain(struct ath_hw *ah, int chain, chain 333 drivers/net/wireless/ath/ath9k/ar9003_paprd.c switch (chain) { chain 348 drivers/net/wireless/ath/ath9k/ar9003_paprd.c "Invalid chainmask: %d\n", chain); chain 753 drivers/net/wireless/ath/ath9k/ar9003_paprd.c int chain) chain 755 drivers/net/wireless/ath/ath9k/ar9003_paprd.c u32 *paprd_table_val = caldata->pa_table[chain]; chain 756 drivers/net/wireless/ath/ath9k/ar9003_paprd.c u32 small_signal_gain = caldata->small_signal_gain[chain]; chain 761 drivers/net/wireless/ath/ath9k/ar9003_paprd.c if (chain == 0) chain 763 drivers/net/wireless/ath/ath9k/ar9003_paprd.c else if (chain == 1) chain 765 drivers/net/wireless/ath/ath9k/ar9003_paprd.c else if (chain == 2) chain 773 drivers/net/wireless/ath/ath9k/ar9003_paprd.c if (chain == 0) chain 775 drivers/net/wireless/ath/ath9k/ar9003_paprd.c else if (chain == 1) chain 799 drivers/net/wireless/ath/ath9k/ar9003_paprd.c void ar9003_paprd_setup_gain_table(struct ath_hw *ah, int chain) chain 804 drivers/net/wireless/ath/ath9k/ar9003_paprd.c desired_gain = ar9003_get_desired_gain(ah, chain, train_power); chain 822 drivers/net/wireless/ath/ath9k/ar9003_paprd.c int chain) chain 824 drivers/net/wireless/ath/ath9k/ar9003_paprd.c u32 *pa_in = caldata->pa_table[chain]; chain 917 drivers/net/wireless/ath/ath9k/ar9003_paprd.c struct ath9k_hw_cal_data *caldata, int chain) chain 919 drivers/net/wireless/ath/ath9k/ar9003_paprd.c u16 *small_signal_gain = &caldata->small_signal_gain[chain]; chain 920 drivers/net/wireless/ath/ath9k/ar9003_paprd.c u32 *pa_table = caldata->pa_table[chain]; chain 926 drivers/net/wireless/ath/ath9k/ar9003_paprd.c memset(caldata->pa_table[chain], 0, sizeof(caldata->pa_table[chain])); chain 951 drivers/net/wireless/ath/ath9k/ar9003_paprd.c if (ar9003_paprd_retrain_pa_in(ah, caldata, chain)) chain 72 drivers/net/wireless/ath/ath9k/ar9003_rtt.c static void ar9003_hw_rtt_load_hist_entry(struct ath_hw *ah, u8 chain, chain 78 drivers/net/wireless/ath/ath9k/ar9003_rtt.c REG_WRITE(ah, AR_PHY_RTT_TABLE_SW_INTF_1_B(chain), val); chain 83 drivers/net/wireless/ath/ath9k/ar9003_rtt.c REG_WRITE(ah, AR_PHY_RTT_TABLE_SW_INTF_B(chain), val); chain 87 drivers/net/wireless/ath/ath9k/ar9003_rtt.c REG_WRITE(ah, AR_PHY_RTT_TABLE_SW_INTF_B(chain), val); chain 90 drivers/net/wireless/ath/ath9k/ar9003_rtt.c if (!ath9k_hw_wait(ah, AR_PHY_RTT_TABLE_SW_INTF_B(chain), chain 96 drivers/net/wireless/ath/ath9k/ar9003_rtt.c REG_WRITE(ah, AR_PHY_RTT_TABLE_SW_INTF_B(chain), val); chain 99 drivers/net/wireless/ath/ath9k/ar9003_rtt.c ath9k_hw_wait(ah, AR_PHY_RTT_TABLE_SW_INTF_B(chain), chain 106 drivers/net/wireless/ath/ath9k/ar9003_rtt.c int chain, i; chain 108 drivers/net/wireless/ath/ath9k/ar9003_rtt.c for (chain = 0; chain < AR9300_MAX_CHAINS; chain++) { chain 109 drivers/net/wireless/ath/ath9k/ar9003_rtt.c if (!(ah->caps.rx_chainmask & (1 << chain))) chain 112 drivers/net/wireless/ath/ath9k/ar9003_rtt.c ar9003_hw_rtt_load_hist_entry(ah, chain, i, chain 113 drivers/net/wireless/ath/ath9k/ar9003_rtt.c ah->caldata->rtt_table[chain][i]); chain 116 drivers/net/wireless/ath/ath9k/ar9003_rtt.c i, chain, ah->caldata->rtt_table[chain][i]); chain 121 drivers/net/wireless/ath/ath9k/ar9003_rtt.c static void ar9003_hw_patch_rtt(struct ath_hw *ah, int index, int chain) chain 128 drivers/net/wireless/ath/ath9k/ar9003_rtt.c if ((index != 5) || (chain >= 2)) chain 131 drivers/net/wireless/ath/ath9k/ar9003_rtt.c agc = REG_READ_FIELD(ah, AR_PHY_65NM_RXRF_AGC(chain), chain 136 drivers/net/wireless/ath/ath9k/ar9003_rtt.c caldac = ah->caldata->caldac[chain]; chain 137 drivers/net/wireless/ath/ath9k/ar9003_rtt.c ah->caldata->rtt_table[chain][index] &= 0xFFFF05FF; chain 139 drivers/net/wireless/ath/ath9k/ar9003_rtt.c ah->caldata->rtt_table[chain][index] |= (caldac << 4); chain 142 drivers/net/wireless/ath/ath9k/ar9003_rtt.c static int ar9003_hw_rtt_fill_hist_entry(struct ath_hw *ah, u8 chain, u32 index) chain 150 drivers/net/wireless/ath/ath9k/ar9003_rtt.c REG_WRITE(ah, AR_PHY_RTT_TABLE_SW_INTF_B(chain), val); chain 154 drivers/net/wireless/ath/ath9k/ar9003_rtt.c REG_WRITE(ah, AR_PHY_RTT_TABLE_SW_INTF_B(chain), val); chain 157 drivers/net/wireless/ath/ath9k/ar9003_rtt.c if (!ath9k_hw_wait(ah, AR_PHY_RTT_TABLE_SW_INTF_B(chain), chain 162 drivers/net/wireless/ath/ath9k/ar9003_rtt.c val = MS(REG_READ(ah, AR_PHY_RTT_TABLE_SW_INTF_1_B(chain)), chain 171 drivers/net/wireless/ath/ath9k/ar9003_rtt.c int chain, i; chain 173 drivers/net/wireless/ath/ath9k/ar9003_rtt.c for (chain = 0; chain < AR9300_MAX_CHAINS; chain++) { chain 174 drivers/net/wireless/ath/ath9k/ar9003_rtt.c if (!(ah->caps.rx_chainmask & (1 << chain))) chain 177 drivers/net/wireless/ath/ath9k/ar9003_rtt.c ah->caldata->rtt_table[chain][i] = chain 178 drivers/net/wireless/ath/ath9k/ar9003_rtt.c ar9003_hw_rtt_fill_hist_entry(ah, chain, i); chain 180 drivers/net/wireless/ath/ath9k/ar9003_rtt.c ar9003_hw_patch_rtt(ah, i, chain); chain 184 drivers/net/wireless/ath/ath9k/ar9003_rtt.c i, chain, ah->caldata->rtt_table[chain][i]); chain 193 drivers/net/wireless/ath/ath9k/ar9003_rtt.c int chain, i; chain 195 drivers/net/wireless/ath/ath9k/ar9003_rtt.c for (chain = 0; chain < AR9300_MAX_CHAINS; chain++) { chain 196 drivers/net/wireless/ath/ath9k/ar9003_rtt.c if (!(ah->caps.rx_chainmask & (1 << chain))) chain 199 drivers/net/wireless/ath/ath9k/ar9003_rtt.c ar9003_hw_rtt_load_hist_entry(ah, chain, i, 0); chain 62 drivers/net/wireless/ath/ath9k/calib.c int chain) chain 64 drivers/net/wireless/ath/ath9k/calib.c s16 calib_nf = ath9k_hw_get_nf_limits(ah, chan)->cal[chain]; chain 313 drivers/net/wireless/ath/ath9k/eeprom_9287.c int32_t txPower, u16 chain) chain 334 drivers/net/wireless/ath/ath9k/eeprom_9287.c if (chain == 0) { chain 344 drivers/net/wireless/ath/ath9k/eeprom_9287.c if (chain == 1) { chain 1120 drivers/net/wireless/ath/ath9k/hw.h int chain); chain 1122 drivers/net/wireless/ath/ath9k/hw.h struct ath9k_hw_cal_data *caldata, int chain); chain 1123 drivers/net/wireless/ath/ath9k/hw.h void ar9003_paprd_setup_gain_table(struct ath_hw *ah, int chain); chain 153 drivers/net/wireless/ath/ath9k/link.c int chain; chain 161 drivers/net/wireless/ath/ath9k/link.c for (chain = 0; chain < AR9300_MAX_CHAINS; chain++) { chain 162 drivers/net/wireless/ath/ath9k/link.c if (!(ah->txchainmask & BIT(chain))) chain 165 drivers/net/wireless/ath/ath9k/link.c ar9003_paprd_populate_single_table(ah, caldata, chain); chain 172 drivers/net/wireless/ath/ath9k/link.c static bool ath_paprd_send_frame(struct ath_softc *sc, struct sk_buff *skb, int chain) chain 193 drivers/net/wireless/ath/ath9k/link.c txctl.paprd = BIT(chain); chain 207 drivers/net/wireless/ath/ath9k/link.c chain); chain 223 drivers/net/wireless/ath/ath9k/link.c int chain; chain 253 drivers/net/wireless/ath/ath9k/link.c for (chain = 0; chain < AR9300_MAX_CHAINS; chain++) { chain 254 drivers/net/wireless/ath/ath9k/link.c if (!(ah->txchainmask & BIT(chain))) chain 258 drivers/net/wireless/ath/ath9k/link.c ar9003_paprd_setup_gain_table(ah, chain); chain 261 drivers/net/wireless/ath/ath9k/link.c "Sending PAPRD training frame on chain %d\n", chain); chain 262 drivers/net/wireless/ath/ath9k/link.c if (!ath_paprd_send_frame(sc, skb, chain)) chain 267 drivers/net/wireless/ath/ath9k/link.c "PAPRD not yet done on chain %d\n", chain); chain 271 drivers/net/wireless/ath/ath9k/link.c ret = ar9003_paprd_create_curve(ah, caldata, chain); chain 275 drivers/net/wireless/ath/ath9k/link.c chain); chain 280 drivers/net/wireless/ath/ath9k/link.c chain); chain 1123 drivers/net/wireless/ath/carl9170/phy.c int chain, idx, i; chain 1155 drivers/net/wireless/ath/carl9170/phy.c for (chain = 0; chain < AR5416_MAX_CHAINS; chain++) { chain 1163 drivers/net/wireless/ath/carl9170/phy.c cal_pier_data_2G[chain][idx]; chain 1168 drivers/net/wireless/ath/carl9170/phy.c cal_pier_data_5G[chain][idx]; chain 1202 drivers/net/wireless/ath/carl9170/phy.c carl9170_regwrite(0x1c6280 + chain * 0x1000 + chain 1209 drivers/net/wireless/ath/carl9170/phy.c carl9170_regwrite(0x1c6280 + chain * 0x1000 + (i << 2), chain 3490 drivers/net/wireless/broadcom/b43/phy_n.c u16 chain = 0x33; chain 3493 drivers/net/wireless/broadcom/b43/phy_n.c chain = 0x11; chain 3496 drivers/net/wireless/broadcom/b43/phy_n.c chain = 0x22; chain 3502 drivers/net/wireless/broadcom/b43/phy_n.c chain); chain 1004 drivers/net/wireless/intel/iwlwifi/mvm/fw.c struct iwl_per_chain_offset *chain = chain 1012 drivers/net/wireless/intel/iwlwifi/mvm/fw.c chain[j].max_tx_power = cpu_to_le16(value[0]); chain 1013 drivers/net/wireless/intel/iwlwifi/mvm/fw.c chain[j].chain_a = value[1]; chain 1014 drivers/net/wireless/intel/iwlwifi/mvm/fw.c chain[j].chain_b = value[2]; chain 1300 drivers/net/wireless/mediatek/mt76/mt7615/mac.c static int mt7615_dfs_start_rdd(struct mt7615_dev *dev, int chain) chain 1304 drivers/net/wireless/mediatek/mt76/mt7615/mac.c err = mt7615_mcu_rdd_cmd(dev, RDD_START, chain, MT_RX_SEL0, 0); chain 1308 drivers/net/wireless/mediatek/mt76/mt7615/mac.c return mt7615_mcu_rdd_cmd(dev, RDD_DET_MODE, chain, chain 697 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c mt76x02_mac_get_rssi(struct mt76x02_dev *dev, s8 rssi, int chain) chain 701 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c rssi += cal->rssi_offset[chain]; chain 193 drivers/net/wireless/mediatek/mt76/mt76x2/eeprom.c mt76x2_set_rssi_offset(struct mt76x02_dev *dev, int chain, u8 val) chain 198 drivers/net/wireless/mediatek/mt76/mt76x2/eeprom.c dest[chain] = 0; chain 202 drivers/net/wireless/mediatek/mt76/mt76x2/eeprom.c dest[chain] = mt76x02_sign_extend_optional(val, 7); chain 345 drivers/net/wireless/mediatek/mt76/mt76x2/eeprom.c int chain, int offset) chain 361 drivers/net/wireless/mediatek/mt76/mt76x2/eeprom.c t->chain[chain].tssi_slope = data[0]; chain 362 drivers/net/wireless/mediatek/mt76/mt76x2/eeprom.c t->chain[chain].tssi_offset = data[1]; chain 363 drivers/net/wireless/mediatek/mt76/mt76x2/eeprom.c t->chain[chain].target_power = data[2]; chain 364 drivers/net/wireless/mediatek/mt76/mt76x2/eeprom.c t->chain[chain].delta = chain 375 drivers/net/wireless/mediatek/mt76/mt76x2/eeprom.c int chain, int offset) chain 413 drivers/net/wireless/mediatek/mt76/mt76x2/eeprom.c t->chain[chain].tssi_slope = data[0]; chain 414 drivers/net/wireless/mediatek/mt76/mt76x2/eeprom.c t->chain[chain].tssi_offset = data[1]; chain 415 drivers/net/wireless/mediatek/mt76/mt76x2/eeprom.c t->chain[chain].target_power = data[2]; chain 416 drivers/net/wireless/mediatek/mt76/mt76x2/eeprom.c t->chain[chain].delta = chain 449 drivers/net/wireless/mediatek/mt76/mt76x2/eeprom.c t->target_power = t->chain[0].target_power; chain 32 drivers/net/wireless/mediatek/mt76/mt76x2/eeprom.h } chain[MT_MAX_CHAINS]; chain 160 drivers/net/wireless/mediatek/mt76/mt76x2/phy.c txp_0 = txp.chain[0].target_power + txp.chain[0].delta + delta; chain 161 drivers/net/wireless/mediatek/mt76/mt76x2/phy.c txp_1 = txp.chain[1].target_power + txp.chain[1].delta + delta; chain 176 drivers/net/wireless/mediatek/mt76/mt76x2/phy.c dev->target_power_delta[0] = txp_0 - txp.chain[0].target_power; chain 177 drivers/net/wireless/mediatek/mt76/mt76x2/phy.c dev->target_power_delta[1] = txp_1 - txp.chain[0].target_power; chain 228 drivers/net/wireless/mediatek/mt76/mt76x2/phy.c t.slope0 = txp.chain[0].tssi_slope; chain 229 drivers/net/wireless/mediatek/mt76/mt76x2/phy.c t.offset0 = txp.chain[0].tssi_offset; chain 230 drivers/net/wireless/mediatek/mt76/mt76x2/phy.c t.slope1 = txp.chain[1].tssi_slope; chain 231 drivers/net/wireless/mediatek/mt76/mt76x2/phy.c t.offset1 = txp.chain[1].tssi_offset; chain 3870 drivers/net/wireless/ralink/rt2x00/rt2800lib.c u8 chain, reg; chain 3872 drivers/net/wireless/ralink/rt2x00/rt2800lib.c for (chain = 0; chain < rt2x00dev->default_ant.rx_chain_num; chain++) { chain 3874 drivers/net/wireless/ralink/rt2x00/rt2800lib.c rt2x00_set_field8(®, BBP27_RX_CHAIN_SEL, chain); chain 67 drivers/s390/cio/crw.c unsigned int chain; chain 74 drivers/s390/cio/crw.c chain = 0; chain 78 drivers/s390/cio/crw.c if (unlikely(chain > 1)) { chain 91 drivers/s390/cio/crw.c "chain\n", __func__, chain); chain 94 drivers/s390/cio/crw.c chain = tmp_crw.chn ? chain + 1 : 0; chain 97 drivers/s390/cio/crw.c ccode = stcrw(&crw[chain]); chain 102 drivers/s390/cio/crw.c crw[chain].slct, crw[chain].oflw, crw[chain].chn, chain 103 drivers/s390/cio/crw.c crw[chain].rsc, crw[chain].anc, crw[chain].erc, chain 104 drivers/s390/cio/crw.c crw[chain].rsid); chain 106 drivers/s390/cio/crw.c if (crw[chain].oflw) { chain 116 drivers/s390/cio/crw.c chain = 0; chain 119 drivers/s390/cio/crw.c if (crw[0].chn && !chain) { chain 120 drivers/s390/cio/crw.c chain++; chain 124 drivers/s390/cio/crw.c handler = crw_handlers[crw[chain].rsc]; chain 126 drivers/s390/cio/crw.c handler(&crw[0], chain ? &crw[1] : NULL, 0); chain 129 drivers/s390/cio/crw.c chain = crw[chain].chn ? chain + 1 : 0; chain 315 drivers/s390/cio/vfio_ccw_cp.c struct ccwchain *chain; chain 320 drivers/s390/cio/vfio_ccw_cp.c size = ((sizeof(*chain) + 7L) & -8L) + chain 321 drivers/s390/cio/vfio_ccw_cp.c sizeof(*chain->ch_ccw) * len + chain 322 drivers/s390/cio/vfio_ccw_cp.c sizeof(*chain->ch_pa) * len; chain 323 drivers/s390/cio/vfio_ccw_cp.c chain = kzalloc(size, GFP_DMA | GFP_KERNEL); chain 324 drivers/s390/cio/vfio_ccw_cp.c if (!chain) chain 327 drivers/s390/cio/vfio_ccw_cp.c data = (u8 *)chain + ((sizeof(*chain) + 7L) & -8L); chain 328 drivers/s390/cio/vfio_ccw_cp.c chain->ch_ccw = (struct ccw1 *)data; chain 330 drivers/s390/cio/vfio_ccw_cp.c data = (u8 *)(chain->ch_ccw) + sizeof(*chain->ch_ccw) * len; chain 331 drivers/s390/cio/vfio_ccw_cp.c chain->ch_pa = (struct pfn_array *)data; chain 333 drivers/s390/cio/vfio_ccw_cp.c chain->ch_len = len; chain 335 drivers/s390/cio/vfio_ccw_cp.c list_add_tail(&chain->next, &cp->ccwchain_list); chain 337 drivers/s390/cio/vfio_ccw_cp.c return chain; chain 340 drivers/s390/cio/vfio_ccw_cp.c static void ccwchain_free(struct ccwchain *chain) chain 342 drivers/s390/cio/vfio_ccw_cp.c list_del(&chain->next); chain 343 drivers/s390/cio/vfio_ccw_cp.c kfree(chain); chain 347 drivers/s390/cio/vfio_ccw_cp.c static void ccwchain_cda_free(struct ccwchain *chain, int idx) chain 349 drivers/s390/cio/vfio_ccw_cp.c struct ccw1 *ccw = chain->ch_ccw + idx; chain 408 drivers/s390/cio/vfio_ccw_cp.c struct ccwchain *chain; chain 411 drivers/s390/cio/vfio_ccw_cp.c list_for_each_entry(chain, &cp->ccwchain_list, next) { chain 412 drivers/s390/cio/vfio_ccw_cp.c ccw_head = chain->ch_iova; chain 413 drivers/s390/cio/vfio_ccw_cp.c if (is_cpa_within_range(tic->cda, ccw_head, chain->ch_len)) chain 420 drivers/s390/cio/vfio_ccw_cp.c static int ccwchain_loop_tic(struct ccwchain *chain, chain 425 drivers/s390/cio/vfio_ccw_cp.c struct ccwchain *chain; chain 444 drivers/s390/cio/vfio_ccw_cp.c chain = ccwchain_alloc(cp, len); chain 445 drivers/s390/cio/vfio_ccw_cp.c if (!chain) chain 447 drivers/s390/cio/vfio_ccw_cp.c chain->ch_iova = cda; chain 450 drivers/s390/cio/vfio_ccw_cp.c memcpy(chain->ch_ccw, cp->guest_cp, len * sizeof(struct ccw1)); chain 453 drivers/s390/cio/vfio_ccw_cp.c ret = ccwchain_loop_tic(chain, cp); chain 456 drivers/s390/cio/vfio_ccw_cp.c ccwchain_free(chain); chain 462 drivers/s390/cio/vfio_ccw_cp.c static int ccwchain_loop_tic(struct ccwchain *chain, struct channel_program *cp) chain 467 drivers/s390/cio/vfio_ccw_cp.c for (i = 0; i < chain->ch_len; i++) { chain 468 drivers/s390/cio/vfio_ccw_cp.c tic = chain->ch_ccw + i; chain 486 drivers/s390/cio/vfio_ccw_cp.c static int ccwchain_fetch_tic(struct ccwchain *chain, chain 490 drivers/s390/cio/vfio_ccw_cp.c struct ccw1 *ccw = chain->ch_ccw + idx; chain 506 drivers/s390/cio/vfio_ccw_cp.c static int ccwchain_fetch_direct(struct ccwchain *chain, chain 519 drivers/s390/cio/vfio_ccw_cp.c ccw = chain->ch_ccw + idx; chain 550 drivers/s390/cio/vfio_ccw_cp.c pa = chain->ch_pa + idx; chain 606 drivers/s390/cio/vfio_ccw_cp.c static int ccwchain_fetch_one(struct ccwchain *chain, chain 610 drivers/s390/cio/vfio_ccw_cp.c struct ccw1 *ccw = chain->ch_ccw + idx; chain 613 drivers/s390/cio/vfio_ccw_cp.c return ccwchain_fetch_tic(chain, idx, cp); chain 615 drivers/s390/cio/vfio_ccw_cp.c return ccwchain_fetch_direct(chain, idx, cp); chain 676 drivers/s390/cio/vfio_ccw_cp.c struct ccwchain *chain, *temp; chain 683 drivers/s390/cio/vfio_ccw_cp.c list_for_each_entry_safe(chain, temp, &cp->ccwchain_list, next) { chain 684 drivers/s390/cio/vfio_ccw_cp.c for (i = 0; i < chain->ch_len; i++) { chain 685 drivers/s390/cio/vfio_ccw_cp.c pfn_array_unpin_free(chain->ch_pa + i, cp->mdev); chain 686 drivers/s390/cio/vfio_ccw_cp.c ccwchain_cda_free(chain, i); chain 688 drivers/s390/cio/vfio_ccw_cp.c ccwchain_free(chain); chain 731 drivers/s390/cio/vfio_ccw_cp.c struct ccwchain *chain; chain 738 drivers/s390/cio/vfio_ccw_cp.c list_for_each_entry(chain, &cp->ccwchain_list, next) { chain 739 drivers/s390/cio/vfio_ccw_cp.c len = chain->ch_len; chain 741 drivers/s390/cio/vfio_ccw_cp.c ret = ccwchain_fetch_one(chain, idx, cp); chain 750 drivers/s390/cio/vfio_ccw_cp.c chain->ch_len = idx; chain 751 drivers/s390/cio/vfio_ccw_cp.c list_for_each_entry_continue(chain, &cp->ccwchain_list, next) { chain 752 drivers/s390/cio/vfio_ccw_cp.c chain->ch_len = 0; chain 770 drivers/s390/cio/vfio_ccw_cp.c struct ccwchain *chain; chain 786 drivers/s390/cio/vfio_ccw_cp.c chain = list_first_entry(&cp->ccwchain_list, struct ccwchain, next); chain 787 drivers/s390/cio/vfio_ccw_cp.c cpa = chain->ch_ccw; chain 809 drivers/s390/cio/vfio_ccw_cp.c struct ccwchain *chain; chain 822 drivers/s390/cio/vfio_ccw_cp.c list_for_each_entry(chain, &cp->ccwchain_list, next) { chain 823 drivers/s390/cio/vfio_ccw_cp.c ccw_head = (u32)(u64)chain->ch_ccw; chain 828 drivers/s390/cio/vfio_ccw_cp.c if (is_cpa_within_range(cpa, ccw_head, chain->ch_len + 1)) { chain 835 drivers/s390/cio/vfio_ccw_cp.c cpa = chain->ch_iova + (cpa - ccw_head); chain 853 drivers/s390/cio/vfio_ccw_cp.c struct ccwchain *chain; chain 859 drivers/s390/cio/vfio_ccw_cp.c list_for_each_entry(chain, &cp->ccwchain_list, next) { chain 860 drivers/s390/cio/vfio_ccw_cp.c for (i = 0; i < chain->ch_len; i++) chain 861 drivers/s390/cio/vfio_ccw_cp.c if (pfn_array_iova_pinned(chain->ch_pa + i, iova)) chain 791 drivers/s390/scsi/zfcp_fc.c int chain, max_entries, buf_num, max_bytes; chain 795 drivers/s390/scsi/zfcp_fc.c chain = adapter->adapter_features & FSF_FEATURE_ELS_CT_CHAINED_SBALS; chain 796 drivers/s390/scsi/zfcp_fc.c buf_num = chain ? ZFCP_FC_GPN_FT_NUM_BUFS : 1; chain 797 drivers/s390/scsi/zfcp_fc.c max_entries = chain ? ZFCP_FC_GPN_FT_MAX_ENT : ZFCP_FC_GPN_FT_ENT_PAGE; chain 798 drivers/s390/scsi/zfcp_fc.c max_bytes = chain ? ZFCP_FC_GPN_FT_MAX_SIZE : ZFCP_FC_CT_SIZE_PAGE; chain 69 drivers/scsi/aha1542.c struct chain *chain; chain 248 drivers/scsi/aha1542.c size_t len = scsi_sg_count(cmd) * sizeof(struct chain); chain 250 drivers/scsi/aha1542.c if (acmd->chain) { chain 252 drivers/scsi/aha1542.c kfree(acmd->chain); chain 255 drivers/scsi/aha1542.c acmd->chain = NULL; chain 425 drivers/scsi/aha1542.c size_t len = sg_count * sizeof(struct chain); chain 427 drivers/scsi/aha1542.c acmd->chain = kmalloc(len, GFP_DMA); chain 428 drivers/scsi/aha1542.c if (!acmd->chain) chain 430 drivers/scsi/aha1542.c acmd->chain_handle = dma_map_single(sh->dma_dev, acmd->chain, chain 485 drivers/scsi/aha1542.c any2scsi(acmd->chain[i].dataptr, sg_dma_address(sg)); chain 486 drivers/scsi/aha1542.c any2scsi(acmd->chain[i].datalen, sg_dma_len(sg)); chain 488 drivers/scsi/aha1542.c any2scsi(ccb[mbo].datalen, sg_count * sizeof(struct chain)); chain 491 drivers/scsi/aha1542.c shost_printk(KERN_DEBUG, sh, "cptr %p: ", acmd->chain); chain 492 drivers/scsi/aha1542.c print_hex_dump_bytes("cptr: ", DUMP_PREFIX_NONE, acmd->chain, 18); chain 514 drivers/scsi/aha1542.c kfree(acmd->chain); chain 515 drivers/scsi/aha1542.c acmd->chain = NULL; chain 611 drivers/scsi/esas2r/esas2r.h struct atto_vda_sge *chain; chain 615 drivers/scsi/esas2r/esas2r.h struct atto_physical_region_description *chain; chain 1196 drivers/scsi/esas2r/esas2r.h sgc->sge.a64.chain = NULL; chain 268 drivers/scsi/esas2r/esas2r_io.c if (sgc->sge.a64.chain) { chain 269 drivers/scsi/esas2r/esas2r_io.c sgc->sge.a64.chain->length |= chain 299 drivers/scsi/esas2r/esas2r_io.c sgc->sge.a64.chain = sgc->sge.a64.last; chain 334 drivers/scsi/esas2r/esas2r_io.c if (sgc->sge.a64.chain) { chain 335 drivers/scsi/esas2r/esas2r_io.c sgc->sge.a64.chain->length |= cpu_to_le32( chain 432 drivers/scsi/esas2r/esas2r_io.c if (sgc->sge.prd.chain) { chain 439 drivers/scsi/esas2r/esas2r_io.c sgc->sge.prd.chain->ctl_len |= cpu_to_le32( chain 467 drivers/scsi/esas2r/esas2r_io.c sgc->sge.prd.chain = sgc->sge.prd.curr; chain 469 drivers/scsi/esas2r/esas2r_io.c sgc->sge.prd.chain->ctl_len = cpu_to_le32(PRD_CHAIN); chain 470 drivers/scsi/esas2r/esas2r_io.c sgc->sge.prd.chain->address = chain 513 drivers/scsi/esas2r/esas2r_io.c if (sgc->sge.prd.chain) { chain 514 drivers/scsi/esas2r/esas2r_io.c sgc->sge.prd.chain->ctl_len |= chain 624 drivers/scsi/esas2r/esas2r_io.c sgc->sge.prd.chain = NULL; chain 2388 drivers/scsi/mpt3sas/mpt3sas_base.c void *sg_local, *chain; chain 2449 drivers/scsi/mpt3sas/mpt3sas_base.c chain = chain_req->chain_buffer; chain 2465 drivers/scsi/mpt3sas/mpt3sas_base.c sg_local = chain; chain 2489 drivers/scsi/mpt3sas/mpt3sas_base.c chain = chain_req->chain_buffer; chain 2533 drivers/scsi/mpt3sas/mpt3sas_base.c void *sg_local, *chain; chain 2592 drivers/scsi/mpt3sas/mpt3sas_base.c chain = chain_req->chain_buffer; chain 2606 drivers/scsi/mpt3sas/mpt3sas_base.c sg_local = chain; chain 2623 drivers/scsi/mpt3sas/mpt3sas_base.c chain = chain_req->chain_buffer; chain 801 drivers/staging/exfat/exfat.h void exfat_chain_cont_cluster(struct super_block *sb, u32 chain, s32 len); chain 488 drivers/staging/exfat/exfat_core.c void exfat_chain_cont_cluster(struct super_block *sb, u32 chain, s32 len) chain 494 drivers/staging/exfat/exfat_core.c if (FAT_write(sb, chain, chain + 1) < 0) chain 496 drivers/staging/exfat/exfat_core.c chain++; chain 499 drivers/staging/exfat/exfat_core.c FAT_write(sb, chain, CLUSTER_32(~0)); chain 544 drivers/usb/cdns3/gadget.c u8 chain; chain 547 drivers/usb/cdns3/gadget.c chain = !!(priv_req->flags & REQUEST_INTERNAL_CH); chain 557 drivers/usb/cdns3/gadget.c if (!chain) chain 35 drivers/usb/dwc3/ep0.c dma_addr_t buf_dma, u32 len, u32 type, bool chain) chain 43 drivers/usb/dwc3/ep0.c if (chain) chain 54 drivers/usb/dwc3/ep0.c if (chain) chain 911 drivers/usb/dwc3/gadget.c dma_addr_t dma, unsigned length, unsigned chain, unsigned node, chain 999 drivers/usb/dwc3/gadget.c if ((!no_interrupt && !chain) || chain 1003 drivers/usb/dwc3/gadget.c if (chain) chain 1024 drivers/usb/dwc3/gadget.c struct dwc3_request *req, unsigned chain, unsigned node) chain 1051 drivers/usb/dwc3/gadget.c __dwc3_prepare_one_trb(dep, trb, dma, length, chain, node, chain 1069 drivers/usb/dwc3/gadget.c unsigned chain = true; chain 1079 drivers/usb/dwc3/gadget.c chain = false; chain 1081 drivers/usb/dwc3/gadget.c if (rem && usb_endpoint_dir_out(dep->endpoint.desc) && !chain) { chain 1099 drivers/usb/dwc3/gadget.c dwc3_prepare_one_trb(dep, req, chain, i); chain 1109 drivers/usb/dwc3/gadget.c if (chain) chain 2407 drivers/usb/dwc3/gadget.c const struct dwc3_event_depevt *event, int status, int chain) chain 2426 drivers/usb/dwc3/gadget.c if (chain && (trb->ctrl & DWC3_TRB_CTRL_HWO)) chain 2459 drivers/usb/dwc3/gadget.c if (event->status & DEPEVT_STATUS_SHORT && !chain) chain 208 drivers/usb/gadget/udc/mv_u3d.h u32 chain:1; /* associate this TRB with the chain 314 drivers/usb/gadget/udc/mv_u3d.h unsigned chain; /* TRB chain or not */ chain 192 drivers/usb/gadget/udc/mv_u3d_core.c if (!req->chain) chain 327 drivers/usb/gadget/udc/mv_u3d_core.c trb_hw->ctrl.chain = 0; chain 385 drivers/usb/gadget/udc/mv_u3d_core.c trb->trb_hw->ctrl.chain = 0; chain 387 drivers/usb/gadget/udc/mv_u3d_core.c trb->trb_hw->ctrl.chain = 1; chain 424 drivers/usb/gadget/udc/mv_u3d_core.c req->chain = 0; chain 469 drivers/usb/gadget/udc/mv_u3d_core.c req->chain = 1; chain 207 drivers/usb/host/xhci-ring.c u32 chain; chain 210 drivers/usb/host/xhci-ring.c chain = le32_to_cpu(ring->enqueue->generic.field[3]) & TRB_CHAIN; chain 226 drivers/usb/host/xhci-ring.c if (!chain && !more_trbs_coming) chain 237 drivers/usb/host/xhci-ring.c next->link.control |= cpu_to_le32(chain); chain 47 drivers/video/fbdev/via/via_aux.c list_for_each_entry_safe(pos, n, &bus->drivers, chain) { chain 51 drivers/video/fbdev/via/via_aux.c list_del(&pos->chain); chain 67 drivers/video/fbdev/via/via_aux.c list_for_each_entry(pos, &bus->drivers, chain) { chain 24 drivers/video/fbdev/via/via_aux.h struct list_head chain; /* chain to support multiple drivers */ chain 51 drivers/video/fbdev/via/via_aux.h list_add_tail(&data->chain, &data->bus->drivers); chain 391 fs/affs/inode.c __be32 chain; chain 392 fs/affs/inode.c chain = AFFS_TAIL(sb, inode_bh)->link_chain; chain 394 fs/affs/inode.c AFFS_TAIL(sb, bh)->link_chain = chain; chain 396 fs/affs/inode.c affs_adjust_checksum(inode_bh, block - be32_to_cpu(chain)); chain 237 fs/ext2/inode.c Indirect chain[4], chain 241 fs/ext2/inode.c Indirect *p = chain; chain 246 fs/ext2/inode.c add_chain (chain, NULL, EXT2_I(inode)->i_data + *offsets); chain 254 fs/ext2/inode.c if (!verify_chain(chain, p)) chain 630 fs/ext2/inode.c Indirect chain[4]; chain 647 fs/ext2/inode.c partial = ext2_get_branch(inode, depth, offsets, chain, &err); chain 650 fs/ext2/inode.c first_block = le32_to_cpu(chain[depth - 1].key); chain 656 fs/ext2/inode.c if (!verify_chain(chain, chain + depth - 1)) { chain 665 fs/ext2/inode.c partial = chain + depth - 1; chain 668 fs/ext2/inode.c blk = le32_to_cpu(*(chain[depth-1].p + count)); chain 695 fs/ext2/inode.c if (err == -EAGAIN || !verify_chain(chain, partial)) { chain 696 fs/ext2/inode.c while (partial > chain) { chain 700 fs/ext2/inode.c partial = ext2_get_branch(inode, depth, offsets, chain, &err); chain 723 fs/ext2/inode.c indirect_blks = (chain + depth) - partial - 1; chain 734 fs/ext2/inode.c offsets + (partial - chain), partial); chain 747 fs/ext2/inode.c le32_to_cpu(chain[depth-1].key), chain 755 fs/ext2/inode.c le32_to_cpu(chain[depth-1].key), count, chain 771 fs/ext2/inode.c partial = chain + depth - 1; /* the whole chain */ chain 773 fs/ext2/inode.c while (partial > chain) { chain 778 fs/ext2/inode.c *bno = le32_to_cpu(chain[depth-1].key); chain 1051 fs/ext2/inode.c Indirect chain[4], chain 1060 fs/ext2/inode.c partial = ext2_get_branch(inode, k, offsets, chain, &err); chain 1062 fs/ext2/inode.c partial = chain + k-1; chain 1072 fs/ext2/inode.c for (p=partial; p>chain && all_zeroes((__le32*)p->bh->b_data,p->p); p--) chain 1080 fs/ext2/inode.c if (p == chain + k - 1 && p > chain) { chain 1189 fs/ext2/inode.c Indirect chain[4]; chain 1218 fs/ext2/inode.c partial = ext2_find_shared(inode, n, offsets, chain, &nr); chain 1221 fs/ext2/inode.c if (partial == chain) chain 1225 fs/ext2/inode.c ext2_free_branches(inode, &nr, &nr+1, (chain+n-1) - partial); chain 1228 fs/ext2/inode.c while (partial > chain) { chain 1232 fs/ext2/inode.c (chain+n-1) - partial); chain 146 fs/ext4/indirect.c Indirect chain[4], int *err) chain 149 fs/ext4/indirect.c Indirect *p = chain; chain 155 fs/ext4/indirect.c add_chain(chain, NULL, EXT4_I(inode)->i_data + *offsets); chain 516 fs/ext4/indirect.c Indirect chain[4]; chain 533 fs/ext4/indirect.c partial = ext4_get_branch(inode, depth, offsets, chain, &err); chain 537 fs/ext4/indirect.c first_block = le32_to_cpu(chain[depth - 1].key); chain 543 fs/ext4/indirect.c blk = le32_to_cpu(*(chain[depth-1].p + count)); chain 565 fs/ext4/indirect.c for (i = partial - chain + 1; i < depth; i++) chain 601 fs/ext4/indirect.c indirect_blks = (chain + depth) - partial - 1; chain 614 fs/ext4/indirect.c offsets + (partial - chain), partial); chain 634 fs/ext4/indirect.c map->m_pblk = le32_to_cpu(chain[depth-1].key); chain 640 fs/ext4/indirect.c partial = chain + depth - 1; /* the whole chain */ chain 642 fs/ext4/indirect.c while (partial > chain) { chain 764 fs/ext4/indirect.c ext4_lblk_t offsets[4], Indirect chain[4], chain 774 fs/ext4/indirect.c partial = ext4_get_branch(inode, k, offsets, chain, &err); chain 777 fs/ext4/indirect.c partial = chain + k-1; chain 785 fs/ext4/indirect.c for (p = partial; (p > chain) && all_zeroes((__le32 *) p->bh->b_data, p->p); p--) chain 793 fs/ext4/indirect.c if (p == chain + k - 1 && p > chain) { chain 1101 fs/ext4/indirect.c Indirect chain[4]; chain 1142 fs/ext4/indirect.c partial = ext4_find_shared(inode, n, offsets, chain, &nr); chain 1145 fs/ext4/indirect.c if (partial == chain) { chain 1148 fs/ext4/indirect.c &nr, &nr+1, (chain+n-1) - partial); chain 1159 fs/ext4/indirect.c partial->p+1, (chain+n-1) - partial); chain 1163 fs/ext4/indirect.c while (partial > chain) { chain 1166 fs/ext4/indirect.c (chain+n-1) - partial); chain 1217 fs/ext4/indirect.c Indirect chain[4], chain2[4]; chain 1261 fs/ext4/indirect.c partial = p = ext4_find_shared(inode, n, offsets, chain, &nr); chain 1263 fs/ext4/indirect.c if (partial == chain) { chain 1266 fs/ext4/indirect.c &nr, &nr+1, (chain+n-1) - partial); chain 1273 fs/ext4/indirect.c partial->p+1, (chain+n-1) - partial); chain 1281 fs/ext4/indirect.c while (partial > chain) { chain 1285 fs/ext4/indirect.c (chain+n-1) - partial); chain 1326 fs/ext4/indirect.c partial = p = ext4_find_shared(inode, n, offsets, chain, &nr); chain 1331 fs/ext4/indirect.c int level = min(partial - chain, partial2 - chain2); chain 1343 fs/ext4/indirect.c if (partial == chain) { chain 1347 fs/ext4/indirect.c (chain+n-1) - partial); chain 1355 fs/ext4/indirect.c (chain+n-1) - partial); chain 1370 fs/ext4/indirect.c while (partial > chain || partial2 > chain2) { chain 1371 fs/ext4/indirect.c int depth = (chain+n-1) - partial; chain 1374 fs/ext4/indirect.c if (partial > chain && partial2 > chain2 && chain 1383 fs/ext4/indirect.c (chain+n-1) - partial); chain 1394 fs/ext4/indirect.c if (partial > chain && depth <= depth2) { chain 1398 fs/ext4/indirect.c (chain+n-1) - partial); chain 1411 fs/ext4/indirect.c while (p && p > chain) { chain 37 fs/lockd/host.c #define for_each_host(host, chain, table) \ chain 38 fs/lockd/host.c for ((chain) = (table); \ chain 39 fs/lockd/host.c (chain) < (table) + NLM_HOST_NRHASH; ++(chain)) \ chain 40 fs/lockd/host.c hlist_for_each_entry((host), (chain), h_hash) chain 42 fs/lockd/host.c #define for_each_host_safe(host, next, chain, table) \ chain 43 fs/lockd/host.c for ((chain) = (table); \ chain 44 fs/lockd/host.c (chain) < (table) + NLM_HOST_NRHASH; ++(chain)) \ chain 46 fs/lockd/host.c (chain), h_hash) chain 237 fs/lockd/host.c struct hlist_head *chain; chain 248 fs/lockd/host.c chain = &nlm_client_hosts[nlm_hash_address(sap)]; chain 249 fs/lockd/host.c hlist_for_each_entry(host, chain, h_hash) { chain 274 fs/lockd/host.c hlist_add_head(&host->h_hash, chain); chain 332 fs/lockd/host.c struct hlist_head *chain; chain 359 fs/lockd/host.c chain = &nlm_server_hosts[nlm_hash_address(ni.sap)]; chain 360 fs/lockd/host.c hlist_for_each_entry(host, chain, h_hash) { chain 379 fs/lockd/host.c hlist_add_head(&host->h_hash, chain); chain 393 fs/lockd/host.c hlist_add_head(&host->h_hash, chain); chain 527 fs/lockd/host.c struct hlist_head *chain; chain 530 fs/lockd/host.c for_each_host(host, chain, cache) { chain 582 fs/lockd/host.c struct hlist_head *chain; chain 601 fs/lockd/host.c for_each_host(host, chain, nlm_server_hosts) { chain 613 fs/lockd/host.c struct hlist_head *chain; chain 621 fs/lockd/host.c for_each_host(host, chain, nlm_server_hosts) { chain 656 fs/lockd/host.c struct hlist_head *chain; chain 662 fs/lockd/host.c for_each_host(host, chain, nlm_server_hosts) { chain 671 fs/lockd/host.c for_each_host_safe(host, next, chain, nlm_server_hosts) { chain 33 fs/minix/itree_common.c Indirect chain[DEPTH], chain 37 fs/minix/itree_common.c Indirect *p = chain; chain 42 fs/minix/itree_common.c add_chain (chain, NULL, i_data(inode) + *offsets); chain 50 fs/minix/itree_common.c if (!verify_chain(chain, p)) chain 110 fs/minix/itree_common.c Indirect chain[DEPTH], chain 119 fs/minix/itree_common.c if (!verify_chain(chain, where-1) || *where->p) chain 151 fs/minix/itree_common.c Indirect chain[DEPTH]; chain 160 fs/minix/itree_common.c partial = get_branch(inode, depth, offsets, chain, &err); chain 165 fs/minix/itree_common.c map_bh(bh, inode->i_sb, block_to_cpu(chain[depth-1].key)); chain 167 fs/minix/itree_common.c partial = chain+depth-1; /* the whole chain */ chain 174 fs/minix/itree_common.c while (partial > chain) { chain 190 fs/minix/itree_common.c left = (chain + depth) - partial; chain 191 fs/minix/itree_common.c err = alloc_branch(inode, left, offsets+(partial-chain), partial); chain 195 fs/minix/itree_common.c if (splice_branch(inode, chain, partial, left) < 0) chain 202 fs/minix/itree_common.c while (partial > chain) { chain 220 fs/minix/itree_common.c Indirect chain[DEPTH], chain 229 fs/minix/itree_common.c partial = get_branch(inode, k, offsets, chain, &err); chain 233 fs/minix/itree_common.c partial = chain + k-1; chain 238 fs/minix/itree_common.c for (p=partial;p>chain && all_zeroes((block_t*)p->bh->b_data,p->p);p--) chain 240 fs/minix/itree_common.c if (p == chain + k - 1 && p > chain) { chain 299 fs/minix/itree_common.c Indirect chain[DEPTH]; chain 320 fs/minix/itree_common.c partial = find_shared(inode, n, offsets, chain, &nr); chain 322 fs/minix/itree_common.c if (partial == chain) chain 326 fs/minix/itree_common.c free_branches(inode, &nr, &nr+1, (chain+n-1) - partial); chain 329 fs/minix/itree_common.c while (partial > chain) { chain 331 fs/minix/itree_common.c (chain+n-1) - partial); chain 688 fs/namespace.c struct hlist_head *chain = mp_hash(dentry); chain 691 fs/namespace.c hlist_for_each_entry(mp, chain, m_hash) { chain 54 fs/ocfs2/ocfs2_ioctl.h __u16 chain; /* Chain for this group */ chain 797 fs/ocfs2/ocfs2_trace.h TP_PROTO(unsigned long long i_blkno, unsigned int chain, chain 800 fs/ocfs2/ocfs2_trace.h TP_ARGS(i_blkno, chain, bg_blkno, prev_blkno), chain 803 fs/ocfs2/ocfs2_trace.h __field(unsigned int, chain) chain 809 fs/ocfs2/ocfs2_trace.h __entry->chain = chain; chain 814 fs/ocfs2/ocfs2_trace.h __entry->i_blkno, __entry->chain, __entry->bg_blkno, chain 92 fs/ocfs2/resize.c u16 chain, num_bits, backups = 0; chain 137 fs/ocfs2/resize.c chain = le16_to_cpu(group->bg_chain); chain 138 fs/ocfs2/resize.c cr = (&cl->cl_recs[chain]); chain 386 fs/ocfs2/resize.c if (le16_to_cpu(gd->bg_chain) != input->chain) chain 390 fs/ocfs2/resize.c le16_to_cpu(gd->bg_chain), input->chain); chain 423 fs/ocfs2/resize.c else if (input->chain >= cl_count) chain 425 fs/ocfs2/resize.c else if (next_free != cl_count && next_free != input->chain) chain 510 fs/ocfs2/resize.c input->chain, input->clusters, input->frees); chain 521 fs/ocfs2/resize.c cr = &cl->cl_recs[input->chain]; chain 543 fs/ocfs2/resize.c if (input->chain == le16_to_cpu(cl->cl_next_free_rec)) { chain 105 fs/ocfs2/suballoc.c u16 chain); chain 1405 fs/ocfs2/suballoc.c u16 chain) chain 1421 fs/ocfs2/suballoc.c (unsigned long long)le64_to_cpu(fe->i_blkno), chain, chain 1442 fs/ocfs2/suballoc.c bg->bg_next_group = fe->id2.i_chain.cl_recs[chain].c_blkno; chain 1450 fs/ocfs2/suballoc.c fe->id2.i_chain.cl_recs[chain].c_blkno = bg->bg_blkno; chain 1580 fs/ocfs2/suballoc.c u16 chain) chain 1596 fs/ocfs2/suballoc.c le32_add_cpu(&cl->cl_recs[chain].c_free, -num_bits); chain 1606 fs/ocfs2/suballoc.c u16 chain) chain 1615 fs/ocfs2/suballoc.c le32_add_cpu(&cl->cl_recs[chain].c_free, num_bits); chain 1742 fs/ocfs2/suballoc.c u16 chain; chain 1751 fs/ocfs2/suballoc.c chain = ac->ac_chain; chain 1754 fs/ocfs2/suballoc.c bits_wanted, chain); chain 1757 fs/ocfs2/suballoc.c le64_to_cpu(cl->cl_recs[chain].c_blkno), chain 1828 fs/ocfs2/suballoc.c prev_group_bh, chain); chain 1840 fs/ocfs2/suballoc.c chain); chain 1854 fs/ocfs2/suballoc.c ac->ac_bh, res->sr_bits, chain); chain 2128 fs/ocfs2/suballoc.c u16 chain; chain 2150 fs/ocfs2/suballoc.c chain = le16_to_cpu(bg->bg_chain); chain 2154 fs/ocfs2/suballoc.c chain); chain 2168 fs/ocfs2/suballoc.c ac->ac_bh, res->sr_bits, chain); chain 79 fs/ocfs2/suballoc.h u16 chain); chain 83 fs/ocfs2/suballoc.h u16 chain); chain 91 fs/sysv/itree.c Indirect chain[], chain 95 fs/sysv/itree.c Indirect *p = chain; chain 99 fs/sysv/itree.c add_chain(chain, NULL, SYSV_I(inode)->i_data + *offsets); chain 107 fs/sysv/itree.c if (!verify_chain(chain, p)) chain 169 fs/sysv/itree.c Indirect chain[], chain 177 fs/sysv/itree.c if (!verify_chain(chain, where-1) || *where->p) chain 207 fs/sysv/itree.c Indirect chain[DEPTH]; chain 218 fs/sysv/itree.c partial = get_branch(inode, depth, offsets, chain, &err); chain 225 fs/sysv/itree.c chain[depth-1].key)); chain 227 fs/sysv/itree.c partial = chain+depth-1; /* the whole chain */ chain 234 fs/sysv/itree.c while (partial > chain) { chain 250 fs/sysv/itree.c left = (chain + depth) - partial; chain 251 fs/sysv/itree.c err = alloc_branch(inode, left, offsets+(partial-chain), partial); chain 255 fs/sysv/itree.c if (splice_branch(inode, chain, partial, left) < 0) chain 262 fs/sysv/itree.c while (partial > chain) { chain 280 fs/sysv/itree.c Indirect chain[], chain 291 fs/sysv/itree.c partial = get_branch(inode, k, offsets, chain, &err); chain 293 fs/sysv/itree.c partial = chain + k-1; chain 302 fs/sysv/itree.c for (p=partial; p>chain && all_zeroes((sysv_zone_t*)p->bh->b_data,p->p); p--) chain 310 fs/sysv/itree.c if (p == chain + k - 1 && p > chain) { chain 368 fs/sysv/itree.c Indirect chain[DEPTH]; chain 394 fs/sysv/itree.c partial = find_shared(inode, n, offsets, chain, &nr); chain 397 fs/sysv/itree.c if (partial == chain) chain 401 fs/sysv/itree.c free_branches(inode, &nr, &nr+1, (chain+n-1) - partial); chain 404 fs/sysv/itree.c while (partial > chain) { chain 406 fs/sysv/itree.c (chain+n-1) - partial); chain 131 fs/ufs/inode.c Indirect chain[4], *q = chain; chain 149 fs/ufs/inode.c if (!grow_chain32(ufsi, NULL, &ufsi->i_u1.i_data[*p++], chain, q)) chain 163 fs/ufs/inode.c if (!grow_chain32(ufsi, bh, ptr, chain, ++q)) chain 172 fs/ufs/inode.c if (!grow_chain64(ufsi, NULL, &ufsi->i_u1.u2_i_data[*p++], chain, q)) chain 187 fs/ufs/inode.c if (!grow_chain64(ufsi, bh, ptr, chain, ++q)) chain 196 fs/ufs/inode.c while (q > chain) { chain 203 fs/ufs/inode.c while (q > chain) { chain 117 include/drm/drm_syncobj.h struct dma_fence_chain *chain, chain 68 include/linux/dma-fence-chain.h void dma_fence_chain_init(struct dma_fence_chain *chain, chain 57 include/linux/platform_data/dma-iop32x.h struct list_head chain; chain 285 include/linux/skbuff.h __u32 chain; chain 39 include/net/inet_hashtables.h struct hlist_nulls_head chain; chain 103 include/net/inet_hashtables.h struct hlist_head chain; chain 110 include/net/ip6_fib.h struct hlist_head chain; chain 73 include/net/ip_fib.h struct fib_nh_exception __rcu *chain; chain 79 include/net/netfilter/nf_tables.h struct nft_chain *chain; chain 172 include/net/netfilter/nf_tables.h struct nft_chain *chain; chain 489 include/net/netfilter/nf_tables.h const struct nft_chain *chain; chain 924 include/net/netfilter/nf_tables.h int nft_chain_validate(const struct nft_ctx *ctx, const struct nft_chain *chain); chain 956 include/net/netfilter/nf_tables.h int nft_chain_validate_dependency(const struct nft_chain *chain, chain 958 include/net/netfilter/nf_tables.h int nft_chain_validate_hooks(const struct nft_chain *chain, chain 984 include/net/netfilter/nf_tables.h struct nft_chain chain; chain 989 include/net/netfilter/nf_tables.h static inline struct nft_base_chain *nft_base_chain(const struct nft_chain *chain) chain 991 include/net/netfilter/nf_tables.h return container_of(chain, struct nft_base_chain, chain); chain 994 include/net/netfilter/nf_tables.h static inline bool nft_is_base_chain(const struct nft_chain *chain) chain 996 include/net/netfilter/nf_tables.h return chain->flags & NFT_BASE_CHAIN; chain 1209 include/net/netfilter/nf_tables.h const struct nft_chain *chain; chain 41 include/net/pkt_cls.h void tcf_chain_put_by_act(struct tcf_chain *chain); chain 43 include/net/pkt_cls.h struct tcf_chain *chain); chain 44 include/net/pkt_cls.h struct tcf_proto *tcf_get_next_proto(struct tcf_chain *chain, chain 158 include/net/pkt_cls.h struct Qdisc *q = tp->chain->block->q; chain 182 include/net/pkt_cls.h struct Qdisc *q = tp->chain->block->q; chain 634 include/net/pkt_cls.h cls_common->chain_index = tp->chain->index; chain 324 include/net/sch_generic.h struct tcf_chain *chain, chain 364 include/net/sch_generic.h struct tcf_chain *chain; chain 422 include/net/sch_generic.h struct tcf_chain *chain; chain 431 include/net/sch_generic.h static inline bool lockdep_tcf_chain_is_locked(struct tcf_chain *chain) chain 433 include/net/sch_generic.h return lockdep_is_held(&chain->filter_chain_lock); chain 441 include/net/sch_generic.h static inline bool lockdep_tcf_chain_is_locked(struct tcf_block *chain) chain 452 include/net/sch_generic.h #define tcf_chain_dereference(p, chain) \ chain 453 include/net/sch_generic.h rcu_dereference_protected(p, lockdep_tcf_chain_is_locked(chain)) chain 94 include/net/sctp/structs.h struct hlist_head chain; chain 100 include/net/sctp/structs.h struct hlist_head chain; chain 377 include/rdma/uverbs_ioctl.h const struct uapi_definition *chain; chain 453 include/rdma/uverbs_ioctl.h .kind = UAPI_DEF_CHAIN, .chain = _def_var, \ chain 212 include/uapi/linux/virtio_crypto.h struct virtio_crypto_alg_chain_session_req chain; chain 378 include/uapi/linux/virtio_crypto.h struct virtio_crypto_alg_chain_data_req chain; chain 256 kernel/futex.c struct plist_head chain; chain 793 kernel/futex.c plist_for_each_entry(this, &hb->chain, list) { chain 1530 kernel/futex.c plist_del(&q->list, &hb->chain); chain 1695 kernel/futex.c plist_for_each_entry_safe(this, next, &hb->chain, list) { chain 1825 kernel/futex.c plist_for_each_entry_safe(this, next, &hb1->chain, list) { chain 1839 kernel/futex.c plist_for_each_entry_safe(this, next, &hb2->chain, list) { chain 1880 kernel/futex.c if (likely(&hb1->chain != &hb2->chain)) { chain 1881 kernel/futex.c plist_del(&q->list, &hb1->chain); chain 1884 kernel/futex.c plist_add(&q->list, &hb2->chain); chain 2199 kernel/futex.c plist_for_each_entry_safe(this, next, &hb1->chain, list) { chain 2361 kernel/futex.c plist_add(&q->list, &hb->chain); chain 3258 kernel/futex.c plist_del(&q->list, &hb->chain); chain 4193 kernel/futex.c plist_head_init(&futex_queues[i].chain); chain 353 kernel/locking/lockdep.c #define __chainhashfn(chain) hash_long(chain, CHAINHASH_BITS) chain 354 kernel/locking/lockdep.c #define chainhashentry(chain) (chainhash_table + __chainhashfn((chain))) chain 943 kernel/locking/lockdep.c static bool check_lock_chain_key(struct lock_chain *chain) chain 949 kernel/locking/lockdep.c for (i = chain->base; i < chain->base + chain->depth; i++) chain 955 kernel/locking/lockdep.c if (chain->chain_key != chain_key) { chain 957 kernel/locking/lockdep.c (unsigned long long)(chain - lock_chains), chain 958 kernel/locking/lockdep.c (unsigned long long)chain->chain_key, chain 982 kernel/locking/lockdep.c struct lock_chain *chain; chain 1011 kernel/locking/lockdep.c hlist_for_each_entry_rcu(chain, head, entry) { chain 1012 kernel/locking/lockdep.c if (!check_lock_chain_key(chain)) chain 2632 kernel/locking/lockdep.c struct lock_class *lock_chain_get_class(struct lock_chain *chain, int i) chain 2634 kernel/locking/lockdep.c return lock_classes + chain_hlocks[chain->base + i]; chain 2691 kernel/locking/lockdep.c static void print_chain_keys_chain(struct lock_chain *chain) chain 2697 kernel/locking/lockdep.c printk("depth: %u\n", chain->depth); chain 2698 kernel/locking/lockdep.c for (i = 0; i < chain->depth; i++) { chain 2699 kernel/locking/lockdep.c class_id = chain_hlocks[chain->base + i]; chain 2709 kernel/locking/lockdep.c struct lock_chain *chain) chain 2723 kernel/locking/lockdep.c print_chain_keys_chain(chain); chain 2738 kernel/locking/lockdep.c struct lock_chain *chain) chain 2745 kernel/locking/lockdep.c if (DEBUG_LOCKS_WARN_ON(chain->depth != curr->lockdep_depth - (i - 1))) { chain 2746 kernel/locking/lockdep.c print_collision(curr, hlock, chain); chain 2750 kernel/locking/lockdep.c for (j = 0; j < chain->depth - 1; j++, i++) { chain 2753 kernel/locking/lockdep.c if (DEBUG_LOCKS_WARN_ON(chain_hlocks[chain->base + j] != id)) { chain 2754 kernel/locking/lockdep.c print_collision(curr, hlock, chain); chain 2802 kernel/locking/lockdep.c struct lock_chain *chain; chain 2813 kernel/locking/lockdep.c chain = alloc_lock_chain(); chain 2814 kernel/locking/lockdep.c if (!chain) { chain 2822 kernel/locking/lockdep.c chain->chain_key = chain_key; chain 2823 kernel/locking/lockdep.c chain->irq_context = hlock->irq_context; chain 2825 kernel/locking/lockdep.c chain->depth = curr->lockdep_depth + 1 - i; chain 2831 kernel/locking/lockdep.c if (likely(nr_chain_hlocks + chain->depth <= MAX_LOCKDEP_CHAIN_HLOCKS)) { chain 2832 kernel/locking/lockdep.c chain->base = nr_chain_hlocks; chain 2833 kernel/locking/lockdep.c for (j = 0; j < chain->depth - 1; j++, i++) { chain 2835 kernel/locking/lockdep.c chain_hlocks[chain->base + j] = lock_id; chain 2837 kernel/locking/lockdep.c chain_hlocks[chain->base + j] = class - lock_classes; chain 2838 kernel/locking/lockdep.c nr_chain_hlocks += chain->depth; chain 2848 kernel/locking/lockdep.c hlist_add_head_rcu(&chain->entry, hash_head); chain 2862 kernel/locking/lockdep.c struct lock_chain *chain; chain 2864 kernel/locking/lockdep.c hlist_for_each_entry_rcu(chain, hash_head, entry) { chain 2865 kernel/locking/lockdep.c if (READ_ONCE(chain->chain_key) == chain_key) { chain 2867 kernel/locking/lockdep.c return chain; chain 2884 kernel/locking/lockdep.c struct lock_chain *chain = lookup_chain_cache(chain_key); chain 2886 kernel/locking/lockdep.c if (chain) { chain 2888 kernel/locking/lockdep.c if (!check_no_collision(curr, hlock, chain)) chain 2912 kernel/locking/lockdep.c chain = lookup_chain_cache(chain_key); chain 2913 kernel/locking/lockdep.c if (chain) { chain 4774 kernel/locking/lockdep.c struct lock_chain *chain, chain 4782 kernel/locking/lockdep.c for (i = chain->base; i < chain->base + chain->depth; i++) { chain 4786 kernel/locking/lockdep.c if (--chain->depth > 0) { chain 4788 kernel/locking/lockdep.c (chain->base + chain->depth - i) * chain 4802 kernel/locking/lockdep.c for (i = chain->base; i < chain->base + chain->depth; i++) chain 4804 kernel/locking/lockdep.c if (chain->depth && chain->chain_key == chain_key) chain 4807 kernel/locking/lockdep.c WRITE_ONCE(chain->chain_key, chain_key); chain 4812 kernel/locking/lockdep.c hlist_del_rcu(&chain->entry); chain 4813 kernel/locking/lockdep.c __set_bit(chain - lock_chains, pf->lock_chains_being_freed); chain 4814 kernel/locking/lockdep.c if (chain->depth == 0) chain 4827 kernel/locking/lockdep.c *new_chain = *chain; chain 4836 kernel/locking/lockdep.c struct lock_chain *chain; chain 4842 kernel/locking/lockdep.c hlist_for_each_entry_rcu(chain, head, entry) { chain 4843 kernel/locking/lockdep.c remove_class_from_lock_chain(pf, chain, class); chain 124 kernel/locking/lockdep_internals.h struct lock_class *lock_chain_get_class(struct lock_chain *chain, int i); chain 128 kernel/locking/lockdep_proc.c struct lock_chain *chain = v; chain 139 kernel/locking/lockdep_proc.c seq_printf(m, "irq_context: %d\n", chain->irq_context); chain 141 kernel/locking/lockdep_proc.c for (i = 0; i < chain->depth; i++) { chain 142 kernel/locking/lockdep_proc.c class = lock_chain_get_class(chain, i); chain 259 kernel/power/snapshot.c struct linked_page *chain; /* the chain */ chain 269 kernel/power/snapshot.c ca->chain = NULL; chain 287 kernel/power/snapshot.c lp->next = ca->chain; chain 288 kernel/power/snapshot.c ca->chain = lp; chain 291 kernel/power/snapshot.c ret = ca->chain->data + ca->used_space; chain 670 kernel/power/snapshot.c bm->p_list = ca.chain; chain 677 kernel/power/snapshot.c bm->p_list = ca.chain; chain 446 mm/dmapool.c unsigned int chain = page->offset; chain 447 mm/dmapool.c while (chain < pool->allocation) { chain 448 mm/dmapool.c if (chain != offset) { chain 449 mm/dmapool.c chain = *(int *)(page->vaddr + chain); chain 338 mm/ksm.c static __always_inline bool is_stable_node_chain(struct stable_node *chain) chain 340 mm/ksm.c return chain->rmap_hlist_len == STABLE_NODE_CHAIN; chain 349 mm/ksm.c struct stable_node *chain) chain 353 mm/ksm.c VM_BUG_ON(!is_stable_node_chain(chain)); chain 354 mm/ksm.c hlist_add_head(&dup->hlist_dup, &chain->hlist); chain 593 mm/ksm.c struct stable_node *chain = alloc_stable_node(); chain 595 mm/ksm.c if (likely(chain)) { chain 596 mm/ksm.c INIT_HLIST_HEAD(&chain->hlist); chain 597 mm/ksm.c chain->chain_prune_time = jiffies; chain 598 mm/ksm.c chain->rmap_hlist_len = STABLE_NODE_CHAIN; chain 600 mm/ksm.c chain->nid = NUMA_NO_NODE; /* debug */ chain 609 mm/ksm.c rb_replace_node(&dup->node, &chain->node, root); chain 618 mm/ksm.c stable_node_chain_add_dup(dup, chain); chain 620 mm/ksm.c return chain; chain 623 mm/ksm.c static inline void free_stable_node_chain(struct stable_node *chain, chain 626 mm/ksm.c rb_erase(&chain->node, root); chain 627 mm/ksm.c free_stable_node(chain); chain 1827 mm/ksm.c tree_page = chain(&stable_node_dup, stable_node, root); chain 64 net/batman-adv/fragmentation.c struct batadv_frag_table_entry *chain; chain 68 net/batman-adv/fragmentation.c chain = &orig_node->fragments[i]; chain 69 net/batman-adv/fragmentation.c spin_lock_bh(&chain->lock); chain 71 net/batman-adv/fragmentation.c if (!check_cb || check_cb(chain)) { chain 72 net/batman-adv/fragmentation.c batadv_frag_clear_chain(&chain->fragment_list, true); chain 73 net/batman-adv/fragmentation.c chain->size = 0; chain 76 net/batman-adv/fragmentation.c spin_unlock_bh(&chain->lock); chain 108 net/batman-adv/fragmentation.c static bool batadv_frag_init_chain(struct batadv_frag_table_entry *chain, chain 111 net/batman-adv/fragmentation.c lockdep_assert_held(&chain->lock); chain 113 net/batman-adv/fragmentation.c if (chain->seqno == seqno) chain 116 net/batman-adv/fragmentation.c if (!hlist_empty(&chain->fragment_list)) chain 117 net/batman-adv/fragmentation.c batadv_frag_clear_chain(&chain->fragment_list, true); chain 119 net/batman-adv/fragmentation.c chain->size = 0; chain 120 net/batman-adv/fragmentation.c chain->seqno = seqno; chain 142 net/batman-adv/fragmentation.c struct batadv_frag_table_entry *chain; chain 172 net/batman-adv/fragmentation.c chain = &orig_node->fragments[bucket]; chain 173 net/batman-adv/fragmentation.c spin_lock_bh(&chain->lock); chain 174 net/batman-adv/fragmentation.c if (batadv_frag_init_chain(chain, seqno)) { chain 175 net/batman-adv/fragmentation.c hlist_add_head(&frag_entry_new->list, &chain->fragment_list); chain 176 net/batman-adv/fragmentation.c chain->size = skb->len - hdr_size; chain 177 net/batman-adv/fragmentation.c chain->timestamp = jiffies; chain 178 net/batman-adv/fragmentation.c chain->total_size = ntohs(frag_packet->total_size); chain 184 net/batman-adv/fragmentation.c hlist_for_each_entry(frag_entry_curr, &chain->fragment_list, list) { chain 193 net/batman-adv/fragmentation.c chain->size += skb->len - hdr_size; chain 194 net/batman-adv/fragmentation.c chain->timestamp = jiffies; chain 206 net/batman-adv/fragmentation.c chain->size += skb->len - hdr_size; chain 207 net/batman-adv/fragmentation.c chain->timestamp = jiffies; chain 212 net/batman-adv/fragmentation.c if (chain->size > batadv_frag_size_limit() || chain 213 net/batman-adv/fragmentation.c chain->total_size != ntohs(frag_packet->total_size) || chain 214 net/batman-adv/fragmentation.c chain->total_size > batadv_frag_size_limit()) { chain 219 net/batman-adv/fragmentation.c batadv_frag_clear_chain(&chain->fragment_list, true); chain 220 net/batman-adv/fragmentation.c chain->size = 0; chain 221 net/batman-adv/fragmentation.c } else if (ntohs(frag_packet->total_size) == chain->size) { chain 223 net/batman-adv/fragmentation.c hlist_move_list(&chain->fragment_list, chain_out); chain 224 net/batman-adv/fragmentation.c chain->size = 0; chain 228 net/batman-adv/fragmentation.c spin_unlock_bh(&chain->lock); chain 249 net/batman-adv/fragmentation.c batadv_frag_merge_packets(struct hlist_head *chain) chain 260 net/batman-adv/fragmentation.c entry = hlist_entry(chain->first, struct batadv_frag_list_entry, list); chain 287 net/batman-adv/fragmentation.c hlist_for_each_entry(entry, chain, list) { chain 294 net/batman-adv/fragmentation.c batadv_frag_clear_chain(chain, dropped); chain 761 net/bridge/netfilter/ebtables.c static int check_chainloops(const struct ebt_entries *chain, struct ebt_cl_stack *cl_s, chain 764 net/bridge/netfilter/ebtables.c int i, chain_nr = -1, pos = 0, nentries = chain->nentries, verdict; chain 765 net/bridge/netfilter/ebtables.c const struct ebt_entry *e = (struct ebt_entry *)chain->data; chain 777 net/bridge/netfilter/ebtables.c nentries = chain->nentries; chain 363 net/bridge/netfilter/nft_reject_bridge.c return nft_chain_validate_hooks(ctx->chain, (1 << NF_BR_PRE_ROUTING) | chain 2926 net/core/neighbour.c int chain; chain 2933 net/core/neighbour.c for (chain = 0; chain < (1 << nht->hash_shift); chain++) { chain 2936 net/core/neighbour.c for (n = rcu_dereference_bh(nht->hash_buckets[chain]); chain 2950 net/core/neighbour.c int chain; chain 2955 net/core/neighbour.c for (chain = 0; chain < (1 << nht->hash_shift); chain++) { chain 2959 net/core/neighbour.c np = &nht->hash_buckets[chain]; chain 1184 net/dccp/proto.c INIT_HLIST_NULLS_HEAD(&dccp_hashinfo.ehash[i].chain, i); chain 1208 net/dccp/proto.c INIT_HLIST_HEAD(&dccp_hashinfo.bhash[i].chain); chain 89 net/decnet/dn_route.c struct dn_route __rcu *chain; chain 188 net/decnet/dn_route.c rtp = &dn_rt_hash_table[i].chain; chain 223 net/decnet/dn_route.c rtp = &dn_rt_hash_table[i].chain; chain 323 net/decnet/dn_route.c rthp = &dn_rt_hash_table[hash].chain; chain 332 net/decnet/dn_route.c dn_rt_hash_table[hash].chain); chain 333 net/decnet/dn_route.c rcu_assign_pointer(dn_rt_hash_table[hash].chain, rth); chain 345 net/decnet/dn_route.c rcu_assign_pointer(rt->dn_next, dn_rt_hash_table[hash].chain); chain 346 net/decnet/dn_route.c rcu_assign_pointer(dn_rt_hash_table[hash].chain, rt); chain 362 net/decnet/dn_route.c if ((rt = xchg((struct dn_route **)&dn_rt_hash_table[i].chain, NULL)) == NULL) chain 1249 net/decnet/dn_route.c for (rt = rcu_dereference_bh(dn_rt_hash_table[hash].chain); rt; chain 1527 net/decnet/dn_route.c for(rt = rcu_dereference(dn_rt_hash_table[hash].chain); rt != NULL; chain 1746 net/decnet/dn_route.c for(rt = rcu_dereference_bh(dn_rt_hash_table[h].chain), idx = 0; chain 1782 net/decnet/dn_route.c rt = rcu_dereference_bh(dn_rt_hash_table[s->bucket].chain); chain 1800 net/decnet/dn_route.c rt = rcu_dereference_bh(dn_rt_hash_table[s->bucket].chain); chain 1896 net/decnet/dn_route.c dn_rt_hash_table[i].chain = NULL; chain 173 net/ipv4/fib_semantics.c fnhe = rcu_dereference_protected(hash[i].chain, 1); chain 1886 net/ipv4/fib_semantics.c for (fnhe = rcu_dereference_protected(bucket[i].chain, 1); chain 224 net/ipv4/inet_connection_sock.c inet_bind_bucket_for_each(tb, &head->chain) chain 315 net/ipv4/inet_connection_sock.c inet_bind_bucket_for_each(tb, &head->chain) chain 967 net/ipv4/inet_diag.c if (hlist_nulls_empty(&head->chain)) chain 977 net/ipv4/inet_diag.c sk_nulls_for_each(sk, node, &head->chain) { chain 76 net/ipv4/inet_hashtables.c hlist_add_head(&tb->node, &head->chain); chain 152 net/ipv4/inet_hashtables.c inet_bind_bucket_for_each(tb, &head->chain) { chain 364 net/ipv4/inet_hashtables.c sk_nulls_for_each_rcu(sk, node, &head->chain) { chain 418 net/ipv4/inet_hashtables.c sk_nulls_for_each(sk2, node, &head->chain) { chain 440 net/ipv4/inet_hashtables.c __sk_nulls_add_node_rcu(sk, &head->chain); chain 485 net/ipv4/inet_hashtables.c list = &head->chain; chain 679 net/ipv4/inet_hashtables.c inet_bind_bucket_for_each(tb, &head->chain) { chain 123 net/ipv4/inet_timewait_sock.c inet_twsk_add_node_rcu(tw, &ehead->chain); chain 270 net/ipv4/inet_timewait_sock.c sk_nulls_for_each_rcu(sk, node, &head->chain) { chain 609 net/ipv4/route.c oldest = rcu_dereference(hash->chain); chain 670 net/ipv4/route.c for (fnhe = rcu_dereference(hash->chain); fnhe; chain 702 net/ipv4/route.c fnhe->fnhe_next = hash->chain; chain 703 net/ipv4/route.c rcu_assign_pointer(hash->chain, fnhe); chain 1337 net/ipv4/route.c fnhe_p = &hash->chain; chain 1371 net/ipv4/route.c for (fnhe = rcu_dereference(hash[hval].chain); fnhe; chain 2880 net/ipv4/route.c for (fnhe = rcu_dereference(bucket[i].chain); fnhe; chain 3993 net/ipv4/tcp.c INIT_HLIST_NULLS_HEAD(&tcp_hashinfo.ehash[i].chain, i); chain 4010 net/ipv4/tcp.c INIT_HLIST_HEAD(&tcp_hashinfo.bhash[i].chain); chain 2200 net/ipv4/tcp_ipv4.c return hlist_nulls_empty(&tcp_hashinfo.ehash[st->bucket].chain); chain 2225 net/ipv4/tcp_ipv4.c sk_nulls_for_each(sk, node, &tcp_hashinfo.ehash[st->bucket].chain) { chain 85 net/ipv4/tcp_metrics.c struct tcp_metrics_block __rcu *chain; chain 174 net/ipv4/tcp_metrics.c oldest = deref_locked(tcp_metrics_hash[hash].chain); chain 193 net/ipv4/tcp_metrics.c tm->tcpm_next = tcp_metrics_hash[hash].chain; chain 194 net/ipv4/tcp_metrics.c rcu_assign_pointer(tcp_metrics_hash[hash].chain, tm); chain 218 net/ipv4/tcp_metrics.c for (tm = rcu_dereference(tcp_metrics_hash[hash].chain); tm; chain 260 net/ipv4/tcp_metrics.c for (tm = rcu_dereference(tcp_metrics_hash[hash].chain); tm; chain 752 net/ipv4/tcp_metrics.c for (col = 0, tm = rcu_dereference(hb->chain); tm; chain 846 net/ipv4/tcp_metrics.c for (tm = rcu_dereference(tcp_metrics_hash[hash].chain); tm; chain 882 net/ipv4/tcp_metrics.c pp = &hb->chain; chain 922 net/ipv4/tcp_metrics.c pp = &hb->chain; chain 69 net/ipv6/inet6_hashtables.c sk_nulls_for_each_rcu(sk, node, &head->chain) { chain 222 net/ipv6/inet6_hashtables.c sk_nulls_for_each(sk2, node, &head->chain) { chain 244 net/ipv6/inet6_hashtables.c __sk_nulls_add_node_rcu(sk, &head->chain); chain 1492 net/ipv6/route.c hlist_for_each_entry(rt6_ex, &bucket->chain, hlist) { chain 1534 net/ipv6/route.c hlist_for_each_entry(rt6_ex, &(*bucket)->chain, hlist) { chain 1569 net/ipv6/route.c hlist_for_each_entry_rcu(rt6_ex, &(*bucket)->chain, hlist) { chain 1717 net/ipv6/route.c hlist_add_head_rcu(&rt6_ex->hlist, &bucket->chain); chain 1756 net/ipv6/route.c hlist_for_each_entry_safe(rt6_ex, tmp, &bucket->chain, hlist) { chain 2026 net/ipv6/route.c hlist_for_each_entry(rt6_ex, &bucket->chain, hlist) { chain 2059 net/ipv6/route.c &bucket->chain, hlist) { chain 2138 net/ipv6/route.c &bucket->chain, hlist) { chain 5623 net/ipv6/route.c hlist_for_each_entry(rt6_ex, &bucket->chain, hlist) { chain 302 net/mac80211/rx.c int mpdulen, chain; chain 348 net/mac80211/rx.c for_each_set_bit(chain, &chains, IEEE80211_MAX_CHAINS) { chain 679 net/mac80211/rx.c for_each_set_bit(chain, &chains, IEEE80211_MAX_CHAINS) { chain 680 net/mac80211/rx.c *pos++ = status->chain_signal[chain]; chain 681 net/mac80211/rx.c *pos++ = chain; chain 92 net/netfilter/nf_tables_api.c struct nft_chain *chain, chain 99 net/netfilter/nf_tables_api.c ctx->chain = chain; chain 158 net/netfilter/nf_tables_api.c struct nft_chain *chain) chain 164 net/netfilter/nf_tables_api.c !nft_is_base_chain(chain)) chain 167 net/netfilter/nf_tables_api.c basechain = nft_base_chain(chain); chain 178 net/netfilter/nf_tables_api.c struct nft_chain *chain) chain 184 net/netfilter/nf_tables_api.c !nft_is_base_chain(chain)) chain 186 net/netfilter/nf_tables_api.c basechain = nft_base_chain(chain); chain 231 net/netfilter/nf_tables_api.c nft_activate_next(ctx->net, ctx->chain); chain 246 net/netfilter/nf_tables_api.c nft_deactivate_next(ctx->net, ctx->chain); chain 286 net/netfilter/nf_tables_api.c ctx->chain->use--; chain 335 net/netfilter/nf_tables_api.c list_for_each_entry(rule, &ctx->chain->rules, list) { chain 758 net/netfilter/nf_tables_api.c struct nft_chain *chain; chain 761 net/netfilter/nf_tables_api.c list_for_each_entry(chain, &table->chains, list) { chain 762 net/netfilter/nf_tables_api.c if (!nft_is_active_next(net, chain)) chain 764 net/netfilter/nf_tables_api.c if (!nft_is_base_chain(chain)) chain 770 net/netfilter/nf_tables_api.c nf_unregister_net_hook(net, &nft_base_chain(chain)->ops); chain 776 net/netfilter/nf_tables_api.c struct nft_chain *chain; chain 779 net/netfilter/nf_tables_api.c list_for_each_entry(chain, &table->chains, list) { chain 780 net/netfilter/nf_tables_api.c if (!nft_is_active_next(net, chain)) chain 782 net/netfilter/nf_tables_api.c if (!nft_is_base_chain(chain)) chain 785 net/netfilter/nf_tables_api.c err = nf_register_net_hook(net, &nft_base_chain(chain)->ops); chain 855 net/netfilter/nf_tables_api.c const struct nft_chain *chain = data; chain 857 net/netfilter/nf_tables_api.c return nft_chain_hash(chain->name, 0, seed); chain 863 net/netfilter/nf_tables_api.c const struct nft_chain *chain = ptr; chain 866 net/netfilter/nf_tables_api.c return strcmp(chain->name, name); chain 976 net/netfilter/nf_tables_api.c struct nft_chain *chain, *nc; chain 981 net/netfilter/nf_tables_api.c list_for_each_entry(chain, &ctx->table->chains, list) { chain 982 net/netfilter/nf_tables_api.c if (!nft_is_active_next(ctx->net, chain)) chain 985 net/netfilter/nf_tables_api.c ctx->chain = chain; chain 1023 net/netfilter/nf_tables_api.c list_for_each_entry_safe(chain, nc, &ctx->table->chains, list) { chain 1024 net/netfilter/nf_tables_api.c if (!nft_is_active_next(ctx->net, chain)) chain 1027 net/netfilter/nf_tables_api.c ctx->chain = chain; chain 1145 net/netfilter/nf_tables_api.c struct nft_chain *chain; chain 1147 net/netfilter/nf_tables_api.c list_for_each_entry(chain, &table->chains, list) { chain 1148 net/netfilter/nf_tables_api.c if (chain->handle == handle && chain 1149 net/netfilter/nf_tables_api.c nft_active_genmask(chain, genmask)) chain 1150 net/netfilter/nf_tables_api.c return chain; chain 1171 net/netfilter/nf_tables_api.c struct nft_chain *chain; chain 1181 net/netfilter/nf_tables_api.c chain = ERR_PTR(-ENOENT); chain 1187 net/netfilter/nf_tables_api.c rhl_for_each_entry_rcu(chain, tmp, list, rhlhead) { chain 1188 net/netfilter/nf_tables_api.c if (nft_active_genmask(chain, genmask)) chain 1191 net/netfilter/nf_tables_api.c chain = ERR_PTR(-ENOENT); chain 1194 net/netfilter/nf_tables_api.c return chain; chain 1260 net/netfilter/nf_tables_api.c const struct nft_chain *chain) chain 1277 net/netfilter/nf_tables_api.c if (nla_put_be64(skb, NFTA_CHAIN_HANDLE, cpu_to_be64(chain->handle), chain 1280 net/netfilter/nf_tables_api.c if (nla_put_string(skb, NFTA_CHAIN_NAME, chain->name)) chain 1283 net/netfilter/nf_tables_api.c if (nft_is_base_chain(chain)) { chain 1284 net/netfilter/nf_tables_api.c const struct nft_base_chain *basechain = nft_base_chain(chain); chain 1313 net/netfilter/nf_tables_api.c if ((chain->flags & NFT_CHAIN_HW_OFFLOAD) && chain 1319 net/netfilter/nf_tables_api.c if (nla_put_be32(skb, NFTA_CHAIN_USE, htonl(chain->use))) chain 1345 net/netfilter/nf_tables_api.c ctx->chain); chain 1363 net/netfilter/nf_tables_api.c const struct nft_chain *chain; chain 1375 net/netfilter/nf_tables_api.c list_for_each_entry_rcu(chain, &table->chains, list) { chain 1381 net/netfilter/nf_tables_api.c if (!nft_is_active(net, chain)) chain 1389 net/netfilter/nf_tables_api.c chain) < 0) chain 1411 net/netfilter/nf_tables_api.c const struct nft_chain *chain; chain 1432 net/netfilter/nf_tables_api.c chain = nft_chain_lookup(net, table, nla[NFTA_CHAIN_NAME], genmask); chain 1433 net/netfilter/nf_tables_api.c if (IS_ERR(chain)) { chain 1435 net/netfilter/nf_tables_api.c return PTR_ERR(chain); chain 1444 net/netfilter/nf_tables_api.c family, table, chain); chain 1493 net/netfilter/nf_tables_api.c struct nft_base_chain *chain = nft_base_chain(trans->ctx.chain); chain 1498 net/netfilter/nf_tables_api.c rcu_swap_protected(chain->stats, nft_trans_chain_stats(trans), chain 1505 net/netfilter/nf_tables_api.c static void nf_tables_chain_free_chain_rules(struct nft_chain *chain) chain 1507 net/netfilter/nf_tables_api.c struct nft_rule **g0 = rcu_dereference_raw(chain->rules_gen_0); chain 1508 net/netfilter/nf_tables_api.c struct nft_rule **g1 = rcu_dereference_raw(chain->rules_gen_1); chain 1515 net/netfilter/nf_tables_api.c WARN_ON_ONCE(chain->rules_next); chain 1516 net/netfilter/nf_tables_api.c kvfree(chain->rules_next); chain 1521 net/netfilter/nf_tables_api.c struct nft_chain *chain = ctx->chain; chain 1523 net/netfilter/nf_tables_api.c if (WARN_ON(chain->use > 0)) chain 1527 net/netfilter/nf_tables_api.c nf_tables_chain_free_chain_rules(chain); chain 1529 net/netfilter/nf_tables_api.c if (nft_is_base_chain(chain)) { chain 1530 net/netfilter/nf_tables_api.c struct nft_base_chain *basechain = nft_base_chain(chain); chain 1537 net/netfilter/nf_tables_api.c kfree(chain->name); chain 1540 net/netfilter/nf_tables_api.c kfree(chain->name); chain 1541 net/netfilter/nf_tables_api.c kfree(chain); chain 1634 net/netfilter/nf_tables_api.c static struct nft_rule **nf_tables_chain_alloc_rules(const struct nft_chain *chain, chain 1659 net/netfilter/nf_tables_api.c struct nft_chain *chain; chain 1695 net/netfilter/nf_tables_api.c chain = &basechain->chain; chain 1701 net/netfilter/nf_tables_api.c ops->priv = chain; chain 1705 net/netfilter/nf_tables_api.c chain->flags |= NFT_BASE_CHAIN | flags; chain 1707 net/netfilter/nf_tables_api.c if (chain->flags & NFT_CHAIN_HW_OFFLOAD && chain 1713 net/netfilter/nf_tables_api.c chain = kzalloc(sizeof(*chain), GFP_KERNEL); chain 1714 net/netfilter/nf_tables_api.c if (chain == NULL) chain 1717 net/netfilter/nf_tables_api.c ctx->chain = chain; chain 1719 net/netfilter/nf_tables_api.c INIT_LIST_HEAD(&chain->rules); chain 1720 net/netfilter/nf_tables_api.c chain->handle = nf_tables_alloc_handle(table); chain 1721 net/netfilter/nf_tables_api.c chain->table = table; chain 1722 net/netfilter/nf_tables_api.c chain->name = nla_strdup(nla[NFTA_CHAIN_NAME], GFP_KERNEL); chain 1723 net/netfilter/nf_tables_api.c if (!chain->name) { chain 1728 net/netfilter/nf_tables_api.c rules = nf_tables_chain_alloc_rules(chain, 0); chain 1735 net/netfilter/nf_tables_api.c rcu_assign_pointer(chain->rules_gen_0, rules); chain 1736 net/netfilter/nf_tables_api.c rcu_assign_pointer(chain->rules_gen_1, rules); chain 1738 net/netfilter/nf_tables_api.c err = nf_tables_register_hook(net, table, chain); chain 1742 net/netfilter/nf_tables_api.c err = rhltable_insert_key(&table->chains_ht, chain->name, chain 1743 net/netfilter/nf_tables_api.c &chain->rhlhead, nft_chain_ht_params); chain 1750 net/netfilter/nf_tables_api.c rhltable_remove(&table->chains_ht, &chain->rhlhead, chain 1756 net/netfilter/nf_tables_api.c if (nft_is_base_chain(chain)) chain 1760 net/netfilter/nf_tables_api.c list_add_tail_rcu(&chain->list, &table->chains); chain 1764 net/netfilter/nf_tables_api.c nf_tables_unregister_hook(net, table, chain); chain 1776 net/netfilter/nf_tables_api.c struct nft_chain *chain = ctx->chain; chain 1784 net/netfilter/nf_tables_api.c if (chain->flags ^ flags) chain 1788 net/netfilter/nf_tables_api.c if (!nft_is_base_chain(chain)) chain 1796 net/netfilter/nf_tables_api.c basechain = nft_base_chain(chain); chain 1823 net/netfilter/nf_tables_api.c if (!nft_is_base_chain(chain)) chain 1888 net/netfilter/nf_tables_api.c struct nft_chain *chain; chain 1902 net/netfilter/nf_tables_api.c chain = NULL; chain 1907 net/netfilter/nf_tables_api.c chain = nft_chain_lookup_byhandle(table, handle, genmask); chain 1908 net/netfilter/nf_tables_api.c if (IS_ERR(chain)) { chain 1910 net/netfilter/nf_tables_api.c return PTR_ERR(chain); chain 1914 net/netfilter/nf_tables_api.c chain = nft_chain_lookup(net, table, attr, genmask); chain 1915 net/netfilter/nf_tables_api.c if (IS_ERR(chain)) { chain 1916 net/netfilter/nf_tables_api.c if (PTR_ERR(chain) != -ENOENT) { chain 1918 net/netfilter/nf_tables_api.c return PTR_ERR(chain); chain 1920 net/netfilter/nf_tables_api.c chain = NULL; chain 1925 net/netfilter/nf_tables_api.c if (chain != NULL && chain 1926 net/netfilter/nf_tables_api.c !nft_is_base_chain(chain)) { chain 1931 net/netfilter/nf_tables_api.c if (chain == NULL && chain 1949 net/netfilter/nf_tables_api.c else if (chain) chain 1950 net/netfilter/nf_tables_api.c flags = chain->flags; chain 1952 net/netfilter/nf_tables_api.c nft_ctx_init(&ctx, net, skb, nlh, family, table, chain, nla); chain 1954 net/netfilter/nf_tables_api.c if (chain != NULL) { chain 1962 net/netfilter/nf_tables_api.c flags |= chain->flags & NFT_BASE_CHAIN; chain 1979 net/netfilter/nf_tables_api.c struct nft_chain *chain; chain 1995 net/netfilter/nf_tables_api.c chain = nft_chain_lookup_byhandle(table, handle, genmask); chain 1998 net/netfilter/nf_tables_api.c chain = nft_chain_lookup(net, table, attr, genmask); chain 2000 net/netfilter/nf_tables_api.c if (IS_ERR(chain)) { chain 2002 net/netfilter/nf_tables_api.c return PTR_ERR(chain); chain 2006 net/netfilter/nf_tables_api.c chain->use > 0) chain 2009 net/netfilter/nf_tables_api.c nft_ctx_init(&ctx, net, skb, nlh, family, table, chain, nla); chain 2011 net/netfilter/nf_tables_api.c use = chain->use; chain 2012 net/netfilter/nf_tables_api.c list_for_each_entry(rule, &chain->rules, list) { chain 2302 net/netfilter/nf_tables_api.c static struct nft_rule *__nft_rule_lookup(const struct nft_chain *chain, chain 2308 net/netfilter/nf_tables_api.c list_for_each_entry_rcu(rule, &chain->rules, list) { chain 2316 net/netfilter/nf_tables_api.c static struct nft_rule *nft_rule_lookup(const struct nft_chain *chain, chain 2322 net/netfilter/nf_tables_api.c return __nft_rule_lookup(chain, be64_to_cpu(nla_get_be64(nla))); chain 2344 net/netfilter/nf_tables_api.c const struct nft_chain *chain, chain 2365 net/netfilter/nf_tables_api.c if (nla_put_string(skb, NFTA_RULE_CHAIN, chain->name)) chain 2418 net/netfilter/nf_tables_api.c ctx->chain, rule, NULL); chain 2433 net/netfilter/nf_tables_api.c char *chain; chain 2440 net/netfilter/nf_tables_api.c const struct nft_chain *chain) chain 2447 net/netfilter/nf_tables_api.c list_for_each_entry_rcu(rule, &chain->rules, list) { chain 2461 net/netfilter/nf_tables_api.c table, chain, rule, prule) < 0) chain 2479 net/netfilter/nf_tables_api.c const struct nft_chain *chain; chain 2494 net/netfilter/nf_tables_api.c if (ctx && ctx->table && ctx->chain) { chain 2497 net/netfilter/nf_tables_api.c list = rhltable_lookup(&table->chains_ht, ctx->chain, chain 2502 net/netfilter/nf_tables_api.c rhl_for_each_entry_rcu(chain, tmp, list, rhlhead) { chain 2503 net/netfilter/nf_tables_api.c if (!nft_is_active(net, chain)) chain 2506 net/netfilter/nf_tables_api.c cb, table, chain); chain 2512 net/netfilter/nf_tables_api.c list_for_each_entry_rcu(chain, &table->chains, list) { chain 2513 net/netfilter/nf_tables_api.c if (__nf_tables_dump_rules(skb, &idx, cb, table, chain)) chain 2546 net/netfilter/nf_tables_api.c ctx->chain = nla_strdup(nla[NFTA_RULE_CHAIN], chain 2548 net/netfilter/nf_tables_api.c if (!ctx->chain) { chain 2566 net/netfilter/nf_tables_api.c kfree(ctx->chain); chain 2580 net/netfilter/nf_tables_api.c const struct nft_chain *chain; chain 2605 net/netfilter/nf_tables_api.c chain = nft_chain_lookup(net, table, nla[NFTA_RULE_CHAIN], genmask); chain 2606 net/netfilter/nf_tables_api.c if (IS_ERR(chain)) { chain 2608 net/netfilter/nf_tables_api.c return PTR_ERR(chain); chain 2611 net/netfilter/nf_tables_api.c rule = nft_rule_lookup(chain, nla[NFTA_RULE_HANDLE]); chain 2623 net/netfilter/nf_tables_api.c family, table, chain, rule, NULL); chain 2659 net/netfilter/nf_tables_api.c int nft_chain_validate(const struct nft_ctx *ctx, const struct nft_chain *chain) chain 2669 net/netfilter/nf_tables_api.c list_for_each_entry(rule, &chain->rules, list) { chain 2689 net/netfilter/nf_tables_api.c struct nft_chain *chain; chain 2696 net/netfilter/nf_tables_api.c list_for_each_entry(chain, &table->chains, list) { chain 2697 net/netfilter/nf_tables_api.c if (!nft_is_base_chain(chain)) chain 2700 net/netfilter/nf_tables_api.c ctx.chain = chain; chain 2701 net/netfilter/nf_tables_api.c err = nft_chain_validate(&ctx, chain); chain 2725 net/netfilter/nf_tables_api.c struct nft_chain *chain; chain 2744 net/netfilter/nf_tables_api.c chain = nft_chain_lookup(net, table, nla[NFTA_RULE_CHAIN], genmask); chain 2745 net/netfilter/nf_tables_api.c if (IS_ERR(chain)) { chain 2747 net/netfilter/nf_tables_api.c return PTR_ERR(chain); chain 2752 net/netfilter/nf_tables_api.c rule = __nft_rule_lookup(chain, handle); chain 2772 net/netfilter/nf_tables_api.c if (chain->use == UINT_MAX) chain 2777 net/netfilter/nf_tables_api.c old_rule = __nft_rule_lookup(chain, pos_handle); chain 2791 net/netfilter/nf_tables_api.c nft_ctx_init(&ctx, net, skb, nlh, family, table, chain, nla); chain 2880 net/netfilter/nf_tables_api.c list_add_tail_rcu(&rule->list, &chain->rules); chain 2885 net/netfilter/nf_tables_api.c list_add_rcu(&rule->list, &chain->rules); chain 2889 net/netfilter/nf_tables_api.c chain->use++; chain 2894 net/netfilter/nf_tables_api.c if (chain->flags & NFT_CHAIN_HW_OFFLOAD) { chain 2941 net/netfilter/nf_tables_api.c struct nft_chain *chain = NULL; chain 2953 net/netfilter/nf_tables_api.c chain = nft_chain_lookup(net, table, nla[NFTA_RULE_CHAIN], chain 2955 net/netfilter/nf_tables_api.c if (IS_ERR(chain)) { chain 2957 net/netfilter/nf_tables_api.c return PTR_ERR(chain); chain 2961 net/netfilter/nf_tables_api.c nft_ctx_init(&ctx, net, skb, nlh, family, table, chain, nla); chain 2963 net/netfilter/nf_tables_api.c if (chain) { chain 2965 net/netfilter/nf_tables_api.c rule = nft_rule_lookup(chain, nla[NFTA_RULE_HANDLE]); chain 2984 net/netfilter/nf_tables_api.c list_for_each_entry(chain, &table->chains, list) { chain 2985 net/netfilter/nf_tables_api.c if (!nft_is_active_next(net, chain)) chain 2988 net/netfilter/nf_tables_api.c ctx.chain = chain; chain 3862 net/netfilter/nf_tables_api.c i->chain == binding->chain) chain 3877 net/netfilter/nf_tables_api.c binding->chain = ctx->chain; chain 4614 net/netfilter/nf_tables_api.c .chain = (struct nft_chain *)binding->chain, chain 4779 net/netfilter/nf_tables_api.c data->verdict.chain->use++; chain 6499 net/netfilter/nf_tables_api.c if (!nft_is_base_chain(trans->ctx.chain)) chain 6502 net/netfilter/nf_tables_api.c basechain = nft_base_chain(trans->ctx.chain); chain 6512 net/netfilter/nf_tables_api.c &trans->ctx.chain->rhlhead, chain 6514 net/netfilter/nf_tables_api.c swap(trans->ctx.chain->name, nft_trans_chain_name(trans)); chain 6516 net/netfilter/nf_tables_api.c trans->ctx.chain->name, chain 6517 net/netfilter/nf_tables_api.c &trans->ctx.chain->rhlhead, chain 6521 net/netfilter/nf_tables_api.c if (!nft_is_base_chain(trans->ctx.chain)) chain 6526 net/netfilter/nf_tables_api.c basechain = nft_base_chain(trans->ctx.chain); chain 6608 net/netfilter/nf_tables_api.c static int nf_tables_commit_chain_prepare(struct net *net, struct nft_chain *chain) chain 6615 net/netfilter/nf_tables_api.c if (chain->rules_next || !nft_is_active_next(net, chain)) chain 6618 net/netfilter/nf_tables_api.c rule = list_entry(&chain->rules, struct nft_rule, list); chain 6621 net/netfilter/nf_tables_api.c list_for_each_entry_continue(rule, &chain->rules, list) { chain 6626 net/netfilter/nf_tables_api.c chain->rules_next = nf_tables_chain_alloc_rules(chain, alloc); chain 6627 net/netfilter/nf_tables_api.c if (!chain->rules_next) chain 6630 net/netfilter/nf_tables_api.c list_for_each_entry_continue(rule, &chain->rules, list) { chain 6632 net/netfilter/nf_tables_api.c chain->rules_next[i++] = rule; chain 6635 net/netfilter/nf_tables_api.c chain->rules_next[i] = NULL; chain 6644 net/netfilter/nf_tables_api.c struct nft_chain *chain = trans->ctx.chain; chain 6648 net/netfilter/nf_tables_api.c kvfree(chain->rules_next); chain 6649 net/netfilter/nf_tables_api.c chain->rules_next = NULL; chain 6676 net/netfilter/nf_tables_api.c static void nf_tables_commit_chain(struct net *net, struct nft_chain *chain) chain 6683 net/netfilter/nf_tables_api.c g0 = rcu_dereference_protected(chain->rules_gen_0, chain 6685 net/netfilter/nf_tables_api.c g1 = rcu_dereference_protected(chain->rules_gen_1, chain 6689 net/netfilter/nf_tables_api.c if (chain->rules_next == NULL) { chain 6698 net/netfilter/nf_tables_api.c rcu_assign_pointer(chain->rules_gen_1, g0); chain 6701 net/netfilter/nf_tables_api.c rcu_assign_pointer(chain->rules_gen_0, g1); chain 6709 net/netfilter/nf_tables_api.c rcu_assign_pointer(chain->rules_gen_1, chain->rules_next); chain 6711 net/netfilter/nf_tables_api.c rcu_assign_pointer(chain->rules_gen_0, chain->rules_next); chain 6713 net/netfilter/nf_tables_api.c chain->rules_next = NULL; chain 6730 net/netfilter/nf_tables_api.c static void nft_chain_del(struct nft_chain *chain) chain 6732 net/netfilter/nf_tables_api.c struct nft_table *table = chain->table; chain 6734 net/netfilter/nf_tables_api.c WARN_ON_ONCE(rhltable_remove(&table->chains_ht, &chain->rhlhead, chain 6736 net/netfilter/nf_tables_api.c list_del_rcu(&chain->list); chain 6788 net/netfilter/nf_tables_api.c struct nft_chain *chain; chain 6811 net/netfilter/nf_tables_api.c chain = trans->ctx.chain; chain 6813 net/netfilter/nf_tables_api.c ret = nf_tables_commit_chain_prepare(net, chain); chain 6823 net/netfilter/nf_tables_api.c list_for_each_entry(chain, &table->chains, list) chain 6824 net/netfilter/nf_tables_api.c nf_tables_commit_chain(net, chain); chain 6862 net/netfilter/nf_tables_api.c nft_clear(net, trans->ctx.chain); chain 6868 net/netfilter/nf_tables_api.c nft_chain_del(trans->ctx.chain); chain 6872 net/netfilter/nf_tables_api.c trans->ctx.chain); chain 7045 net/netfilter/nf_tables_api.c nft_chain_del(trans->ctx.chain); chain 7048 net/netfilter/nf_tables_api.c trans->ctx.chain); chain 7053 net/netfilter/nf_tables_api.c nft_clear(trans->ctx.net, trans->ctx.chain); chain 7057 net/netfilter/nf_tables_api.c trans->ctx.chain->use--; chain 7064 net/netfilter/nf_tables_api.c trans->ctx.chain->use++; chain 7184 net/netfilter/nf_tables_api.c int nft_chain_validate_dependency(const struct nft_chain *chain, chain 7189 net/netfilter/nf_tables_api.c if (nft_is_base_chain(chain)) { chain 7190 net/netfilter/nf_tables_api.c basechain = nft_base_chain(chain); chain 7198 net/netfilter/nf_tables_api.c int nft_chain_validate_hooks(const struct nft_chain *chain, chain 7203 net/netfilter/nf_tables_api.c if (nft_is_base_chain(chain)) { chain 7204 net/netfilter/nf_tables_api.c basechain = nft_base_chain(chain); chain 7226 net/netfilter/nf_tables_api.c const struct nft_chain *chain); chain 7244 net/netfilter/nf_tables_api.c return nf_tables_check_loops(ctx, data->verdict.chain); chain 7251 net/netfilter/nf_tables_api.c const struct nft_chain *chain) chain 7259 net/netfilter/nf_tables_api.c if (ctx->chain == chain) chain 7262 net/netfilter/nf_tables_api.c list_for_each_entry(rule, &chain->rules, list) { chain 7280 net/netfilter/nf_tables_api.c data->verdict.chain); chain 7298 net/netfilter/nf_tables_api.c binding->chain != chain) chain 7437 net/netfilter/nf_tables_api.c err = nf_tables_check_loops(ctx, data->verdict.chain); chain 7470 net/netfilter/nf_tables_api.c struct nft_chain *chain; chain 7501 net/netfilter/nf_tables_api.c chain = nft_chain_lookup(ctx->net, ctx->table, chain 7503 net/netfilter/nf_tables_api.c if (IS_ERR(chain)) chain 7504 net/netfilter/nf_tables_api.c return PTR_ERR(chain); chain 7505 net/netfilter/nf_tables_api.c if (nft_is_base_chain(chain)) chain 7508 net/netfilter/nf_tables_api.c chain->use++; chain 7509 net/netfilter/nf_tables_api.c data->verdict.chain = chain; chain 7523 net/netfilter/nf_tables_api.c data->verdict.chain->use--; chain 7543 net/netfilter/nf_tables_api.c v->chain->name)) chain 7671 net/netfilter/nf_tables_api.c if (WARN_ON(!nft_is_base_chain(ctx->chain))) chain 7674 net/netfilter/nf_tables_api.c nf_tables_unregister_hook(ctx->net, ctx->chain->table, ctx->chain); chain 7675 net/netfilter/nf_tables_api.c list_for_each_entry_safe(rule, nr, &ctx->chain->rules, list) { chain 7677 net/netfilter/nf_tables_api.c ctx->chain->use--; chain 7680 net/netfilter/nf_tables_api.c nft_chain_del(ctx->chain); chain 7692 net/netfilter/nf_tables_api.c struct nft_chain *chain, *nc; chain 7704 net/netfilter/nf_tables_api.c list_for_each_entry(chain, &table->chains, list) chain 7705 net/netfilter/nf_tables_api.c nf_tables_unregister_hook(net, table, chain); chain 7708 net/netfilter/nf_tables_api.c list_for_each_entry(chain, &table->chains, list) { chain 7709 net/netfilter/nf_tables_api.c ctx.chain = chain; chain 7710 net/netfilter/nf_tables_api.c list_for_each_entry_safe(rule, nr, &chain->rules, list) { chain 7712 net/netfilter/nf_tables_api.c chain->use--; chain 7731 net/netfilter/nf_tables_api.c list_for_each_entry_safe(chain, nc, &table->chains, list) { chain 7732 net/netfilter/nf_tables_api.c ctx.chain = chain; chain 7733 net/netfilter/nf_tables_api.c nft_chain_del(chain); chain 25 net/netfilter/nf_tables_core.c const struct nft_chain *chain, chain 33 net/netfilter/nf_tables_core.c info->chain = chain; chain 40 net/netfilter/nf_tables_core.c const struct nft_chain *chain, chain 46 net/netfilter/nf_tables_core.c __nft_trace_packet(info, chain, type); chain 95 net/netfilter/nf_tables_core.c static noinline void nft_update_chain_stats(const struct nft_chain *chain, chain 102 net/netfilter/nf_tables_core.c base_chain = nft_base_chain(chain); chain 119 net/netfilter/nf_tables_core.c const struct nft_chain *chain; chain 151 net/netfilter/nf_tables_core.c const struct nft_chain *chain = priv, *basechain = chain; chain 167 net/netfilter/nf_tables_core.c rules = rcu_dereference(chain->rules_gen_1); chain 169 net/netfilter/nf_tables_core.c rules = rcu_dereference(chain->rules_gen_0); chain 192 net/netfilter/nf_tables_core.c nft_trace_packet(&info, chain, rule, chain 204 net/netfilter/nf_tables_core.c nft_trace_packet(&info, chain, rule, chain 213 net/netfilter/nf_tables_core.c jumpstack[stackptr].chain = chain; chain 218 net/netfilter/nf_tables_core.c nft_trace_packet(&info, chain, rule, chain 221 net/netfilter/nf_tables_core.c chain = regs.verdict.chain; chain 225 net/netfilter/nf_tables_core.c nft_trace_packet(&info, chain, rule, chain 234 net/netfilter/nf_tables_core.c chain = jumpstack[stackptr].chain; chain 161 net/netfilter/nf_tables_offload.c static int nft_flow_offload_rule(struct nft_chain *chain, chain 171 net/netfilter/nf_tables_offload.c if (!nft_is_base_chain(chain)) chain 174 net/netfilter/nf_tables_offload.c basechain = nft_base_chain(chain); chain 230 net/netfilter/nf_tables_offload.c static int nft_block_offload_cmd(struct nft_base_chain *chain, chain 239 net/netfilter/nf_tables_offload.c bo.block = &chain->flow_block; chain 249 net/netfilter/nf_tables_offload.c return nft_block_setup(chain, &bo, cmd); chain 253 net/netfilter/nf_tables_offload.c struct nft_base_chain *chain, chain 261 net/netfilter/nf_tables_offload.c if (!chain) chain 265 net/netfilter/nf_tables_offload.c bo.block = &chain->flow_block; chain 273 net/netfilter/nf_tables_offload.c nft_block_setup(chain, &bo, cmd); chain 276 net/netfilter/nf_tables_offload.c static int nft_indr_block_offload_cmd(struct nft_base_chain *chain, chain 284 net/netfilter/nf_tables_offload.c bo.block = &chain->flow_block; chain 295 net/netfilter/nf_tables_offload.c return nft_block_setup(chain, &bo, cmd); chain 300 net/netfilter/nf_tables_offload.c static int nft_flow_offload_chain(struct nft_chain *chain, chain 308 net/netfilter/nf_tables_offload.c if (!nft_is_base_chain(chain)) chain 311 net/netfilter/nf_tables_offload.c basechain = nft_base_chain(chain); chain 340 net/netfilter/nf_tables_offload.c if (!(trans->ctx.chain->flags & NFT_CHAIN_HW_OFFLOAD) || chain 345 net/netfilter/nf_tables_offload.c err = nft_flow_offload_chain(trans->ctx.chain, &policy, chain 349 net/netfilter/nf_tables_offload.c if (!(trans->ctx.chain->flags & NFT_CHAIN_HW_OFFLOAD)) chain 353 net/netfilter/nf_tables_offload.c err = nft_flow_offload_chain(trans->ctx.chain, &policy, chain 357 net/netfilter/nf_tables_offload.c if (!(trans->ctx.chain->flags & NFT_CHAIN_HW_OFFLOAD)) chain 365 net/netfilter/nf_tables_offload.c err = nft_flow_offload_rule(trans->ctx.chain, chain 371 net/netfilter/nf_tables_offload.c if (!(trans->ctx.chain->flags & NFT_CHAIN_HW_OFFLOAD)) chain 374 net/netfilter/nf_tables_offload.c err = nft_flow_offload_rule(trans->ctx.chain, chain 391 net/netfilter/nf_tables_offload.c if (!(trans->ctx.chain->flags & NFT_CHAIN_HW_OFFLOAD)) chain 409 net/netfilter/nf_tables_offload.c struct nft_chain *chain; chain 415 net/netfilter/nf_tables_offload.c list_for_each_entry(chain, &table->chains, list) { chain 416 net/netfilter/nf_tables_offload.c if (!nft_is_base_chain(chain) || chain 417 net/netfilter/nf_tables_offload.c !(chain->flags & NFT_CHAIN_HW_OFFLOAD)) chain 420 net/netfilter/nf_tables_offload.c basechain = nft_base_chain(chain); chain 424 net/netfilter/nf_tables_offload.c return chain; chain 436 net/netfilter/nf_tables_offload.c struct nft_chain *chain; chain 439 net/netfilter/nf_tables_offload.c chain = __nft_offload_get_chain(dev); chain 440 net/netfilter/nf_tables_offload.c if (chain && chain->flags & NFT_CHAIN_HW_OFFLOAD) { chain 443 net/netfilter/nf_tables_offload.c basechain = nft_base_chain(chain); chain 449 net/netfilter/nf_tables_offload.c static void nft_offload_chain_clean(struct nft_chain *chain) chain 453 net/netfilter/nf_tables_offload.c list_for_each_entry(rule, &chain->rules, list) { chain 454 net/netfilter/nf_tables_offload.c nft_flow_offload_rule(chain, rule, chain 458 net/netfilter/nf_tables_offload.c nft_flow_offload_chain(chain, NULL, FLOW_BLOCK_UNBIND); chain 466 net/netfilter/nf_tables_offload.c struct nft_chain *chain; chain 472 net/netfilter/nf_tables_offload.c chain = __nft_offload_get_chain(dev); chain 473 net/netfilter/nf_tables_offload.c if (chain) chain 474 net/netfilter/nf_tables_offload.c nft_offload_chain_clean(chain); chain 196 net/netfilter/nf_tables_trace.c nla_total_size(strlen(info->chain->table->name)) + chain 197 net/netfilter/nf_tables_trace.c nla_total_size(strlen(info->chain->name)) + chain 215 net/netfilter/nf_tables_trace.c size += nla_total_size(strlen(info->verdict->chain->name)); /* jump target */ chain 240 net/netfilter/nf_tables_trace.c if (nla_put_string(skb, NFTA_TRACE_CHAIN, info->chain->name)) chain 243 net/netfilter/nf_tables_trace.c if (nla_put_string(skb, NFTA_TRACE_TABLE, info->chain->table->name)) chain 289 net/netfilter/nf_tables_trace.c const struct nft_chain *chain) chain 291 net/netfilter/nf_tables_trace.c info->basechain = nft_base_chain(chain); chain 289 net/netfilter/nft_chain_filter.c struct nft_base_chain *basechain = nft_base_chain(ctx->chain); chain 319 net/netfilter/nft_chain_filter.c struct nft_chain *chain, *nr; chain 335 net/netfilter/nft_chain_filter.c list_for_each_entry_safe(chain, nr, &table->chains, list) { chain 336 net/netfilter/nft_chain_filter.c if (!nft_is_base_chain(chain)) chain 339 net/netfilter/nft_chain_filter.c ctx.chain = chain; chain 34 net/netfilter/nft_compat.c const struct nft_chain *chain = ctx->chain; chain 38 net/netfilter/nft_compat.c !nft_is_base_chain(chain)) chain 41 net/netfilter/nft_compat.c basechain = nft_base_chain(chain); chain 164 net/netfilter/nft_compat.c if (nft_is_base_chain(ctx->chain)) { chain 166 net/netfilter/nft_compat.c nft_base_chain(ctx->chain); chain 312 net/netfilter/nft_compat.c if (nft_is_base_chain(ctx->chain)) { chain 314 net/netfilter/nft_compat.c nft_base_chain(ctx->chain); chain 408 net/netfilter/nft_compat.c if (nft_is_base_chain(ctx->chain)) { chain 410 net/netfilter/nft_compat.c nft_base_chain(ctx->chain); chain 553 net/netfilter/nft_compat.c if (nft_is_base_chain(ctx->chain)) { chain 555 net/netfilter/nft_compat.c nft_base_chain(ctx->chain); chain 60 net/netfilter/nft_fib.c return nft_chain_validate_hooks(ctx->chain, hooks); chain 150 net/netfilter/nft_flow_offload.c return nft_chain_validate_hooks(ctx->chain, hook_mask); chain 200 net/netfilter/nft_fwd_netdev.c return nft_chain_validate_hooks(ctx->chain, (1 << NF_NETDEV_INGRESS)); chain 116 net/netfilter/nft_immediate.c err = nft_chain_validate(ctx, data->verdict.chain); chain 182 net/netfilter/nft_lookup.c err = nft_chain_validate(ctx, data->verdict.chain); chain 34 net/netfilter/nft_masq.c err = nft_chain_validate_dependency(ctx->chain, NFT_CHAIN_T_NAT); chain 38 net/netfilter/nft_masq.c return nft_chain_validate_hooks(ctx->chain, chain 415 net/netfilter/nft_meta.c return nft_chain_validate_hooks(ctx->chain, hooks); chain 447 net/netfilter/nft_meta.c return nft_chain_validate_hooks(ctx->chain, hooks); chain 91 net/netfilter/nft_nat.c err = nft_chain_validate_dependency(ctx->chain, NFT_CHAIN_T_NAT); chain 97 net/netfilter/nft_nat.c err = nft_chain_validate_hooks(ctx->chain, chain 102 net/netfilter/nft_nat.c err = nft_chain_validate_hooks(ctx->chain, chain 113 net/netfilter/nft_osf.c return nft_chain_validate_hooks(ctx->chain, (1 << NF_INET_LOCAL_IN) | chain 34 net/netfilter/nft_redir.c err = nft_chain_validate_dependency(ctx->chain, NFT_CHAIN_T_NAT); chain 38 net/netfilter/nft_redir.c return nft_chain_validate_hooks(ctx->chain, chain 30 net/netfilter/nft_reject.c return nft_chain_validate_hooks(ctx->chain, chain 185 net/netfilter/nft_rt.c return nft_chain_validate_hooks(ctx->chain, hooks); chain 254 net/netfilter/nft_synproxy.c return nft_chain_validate_hooks(ctx->chain, (1 << NF_INET_LOCAL_IN) | chain 253 net/netfilter/nft_xfrm.c return nft_chain_validate_hooks(ctx->chain, hooks); chain 884 net/openvswitch/flow.c key->recirc_id = tc_ext ? tc_ext->chain : 0; chain 28 net/sched/act_api.c const struct tcf_chain *chain = rcu_dereference_bh(a->goto_chain); chain 30 net/sched/act_api.c res->goto_tp = rcu_dereference_bh(chain->filter_chain); chain 75 net/sched/act_api.c *newchain = tcf_chain_get_by_act(tp->chain->block, chain_index); chain 103 net/sched/act_api.c struct tcf_chain *chain = rcu_dereference_protected(p->goto_chain, 1); chain 110 net/sched/act_api.c if (chain) chain 111 net/sched/act_api.c tcf_chain_put_by_act(chain); chain 53 net/sched/cls_api.c return jhash_3words(tp->chain->index, tp->prio, chain 57 net/sched/cls_api.c static void tcf_proto_signal_destroying(struct tcf_chain *chain, chain 60 net/sched/cls_api.c struct tcf_block *block = chain->block; chain 71 net/sched/cls_api.c return tp1->chain->index == tp2->chain->index && chain 76 net/sched/cls_api.c static bool tcf_proto_exists_destroying(struct tcf_chain *chain, chain 84 net/sched/cls_api.c hash_for_each_possible_rcu(chain->block->proto_destroy_ht, iter, chain 97 net/sched/cls_api.c tcf_proto_signal_destroyed(struct tcf_chain *chain, struct tcf_proto *tp) chain 99 net/sched/cls_api.c struct tcf_block *block = chain->block; chain 251 net/sched/cls_api.c u32 prio, struct tcf_chain *chain, chain 270 net/sched/cls_api.c tp->chain = chain; chain 291 net/sched/cls_api.c static void tcf_chain_put(struct tcf_chain *chain); chain 298 net/sched/cls_api.c tcf_proto_signal_destroyed(tp->chain, tp); chain 299 net/sched/cls_api.c tcf_chain_put(tp->chain); chain 350 net/sched/cls_api.c struct tcf_chain *chain; chain 354 net/sched/cls_api.c chain = kzalloc(sizeof(*chain), GFP_KERNEL); chain 355 net/sched/cls_api.c if (!chain) chain 357 net/sched/cls_api.c list_add_tail(&chain->list, &block->chain_list); chain 358 net/sched/cls_api.c mutex_init(&chain->filter_chain_lock); chain 359 net/sched/cls_api.c chain->block = block; chain 360 net/sched/cls_api.c chain->index = chain_index; chain 361 net/sched/cls_api.c chain->refcnt = 1; chain 362 net/sched/cls_api.c if (!chain->index) chain 363 net/sched/cls_api.c block->chain0.chain = chain; chain 364 net/sched/cls_api.c return chain; chain 374 net/sched/cls_api.c static void tcf_chain0_head_change(struct tcf_chain *chain, chain 378 net/sched/cls_api.c struct tcf_block *block = chain->block; chain 380 net/sched/cls_api.c if (chain->index) chain 391 net/sched/cls_api.c static bool tcf_chain_detach(struct tcf_chain *chain) chain 393 net/sched/cls_api.c struct tcf_block *block = chain->block; chain 397 net/sched/cls_api.c list_del(&chain->list); chain 398 net/sched/cls_api.c if (!chain->index) chain 399 net/sched/cls_api.c block->chain0.chain = NULL; chain 415 net/sched/cls_api.c static void tcf_chain_destroy(struct tcf_chain *chain, bool free_block) chain 417 net/sched/cls_api.c struct tcf_block *block = chain->block; chain 419 net/sched/cls_api.c mutex_destroy(&chain->filter_chain_lock); chain 420 net/sched/cls_api.c kfree_rcu(chain, rcu); chain 425 net/sched/cls_api.c static void tcf_chain_hold(struct tcf_chain *chain) chain 427 net/sched/cls_api.c ASSERT_BLOCK_LOCKED(chain->block); chain 429 net/sched/cls_api.c ++chain->refcnt; chain 432 net/sched/cls_api.c static bool tcf_chain_held_by_acts_only(struct tcf_chain *chain) chain 434 net/sched/cls_api.c ASSERT_BLOCK_LOCKED(chain->block); chain 439 net/sched/cls_api.c return chain->refcnt == chain->action_refcnt; chain 445 net/sched/cls_api.c struct tcf_chain *chain; chain 449 net/sched/cls_api.c list_for_each_entry(chain, &block->chain_list, list) { chain 450 net/sched/cls_api.c if (chain->index == chain_index) chain 451 net/sched/cls_api.c return chain; chain 456 net/sched/cls_api.c static int tc_chain_notify(struct tcf_chain *chain, struct sk_buff *oskb, chain 463 net/sched/cls_api.c struct tcf_chain *chain = NULL; chain 467 net/sched/cls_api.c chain = tcf_chain_lookup(block, chain_index); chain 468 net/sched/cls_api.c if (chain) { chain 469 net/sched/cls_api.c tcf_chain_hold(chain); chain 473 net/sched/cls_api.c chain = tcf_chain_create(block, chain_index); chain 474 net/sched/cls_api.c if (!chain) chain 479 net/sched/cls_api.c ++chain->action_refcnt; chain 480 net/sched/cls_api.c is_first_reference = chain->refcnt - chain->action_refcnt == 1; chain 489 net/sched/cls_api.c tc_chain_notify(chain, NULL, 0, NLM_F_CREATE | NLM_F_EXCL, chain 492 net/sched/cls_api.c return chain; chain 496 net/sched/cls_api.c return chain; chain 518 net/sched/cls_api.c static void __tcf_chain_put(struct tcf_chain *chain, bool by_act, chain 521 net/sched/cls_api.c struct tcf_block *block = chain->block; chain 529 net/sched/cls_api.c if (!chain->explicitly_created) { chain 533 net/sched/cls_api.c chain->explicitly_created = false; chain 537 net/sched/cls_api.c chain->action_refcnt--; chain 543 net/sched/cls_api.c refcnt = --chain->refcnt; chain 544 net/sched/cls_api.c tmplt_ops = chain->tmplt_ops; chain 545 net/sched/cls_api.c tmplt_priv = chain->tmplt_priv; chain 548 net/sched/cls_api.c if (refcnt - chain->action_refcnt == 0 && !by_act) { chain 549 net/sched/cls_api.c tc_chain_notify_delete(tmplt_ops, tmplt_priv, chain->index, chain 552 net/sched/cls_api.c chain->flushing = false; chain 556 net/sched/cls_api.c free_block = tcf_chain_detach(chain); chain 561 net/sched/cls_api.c tcf_chain_destroy(chain, free_block); chain 565 net/sched/cls_api.c static void tcf_chain_put(struct tcf_chain *chain) chain 567 net/sched/cls_api.c __tcf_chain_put(chain, false, false); chain 570 net/sched/cls_api.c void tcf_chain_put_by_act(struct tcf_chain *chain) chain 572 net/sched/cls_api.c __tcf_chain_put(chain, true, false); chain 576 net/sched/cls_api.c static void tcf_chain_put_explicitly_created(struct tcf_chain *chain) chain 578 net/sched/cls_api.c __tcf_chain_put(chain, false, true); chain 581 net/sched/cls_api.c static void tcf_chain_flush(struct tcf_chain *chain, bool rtnl_held) chain 585 net/sched/cls_api.c mutex_lock(&chain->filter_chain_lock); chain 586 net/sched/cls_api.c tp = tcf_chain_dereference(chain->filter_chain, chain); chain 589 net/sched/cls_api.c tcf_proto_signal_destroying(chain, tp); chain 592 net/sched/cls_api.c tp = tcf_chain_dereference(chain->filter_chain, chain); chain 593 net/sched/cls_api.c RCU_INIT_POINTER(chain->filter_chain, NULL); chain 594 net/sched/cls_api.c tcf_chain0_head_change(chain, NULL); chain 595 net/sched/cls_api.c chain->flushing = true; chain 596 net/sched/cls_api.c mutex_unlock(&chain->filter_chain_lock); chain 811 net/sched/cls_api.c chain0 = block->chain0.chain; chain 849 net/sched/cls_api.c if (block->chain0.chain) chain 944 net/sched/cls_api.c __tcf_get_next_chain(struct tcf_block *block, struct tcf_chain *chain) chain 947 net/sched/cls_api.c if (chain) chain 948 net/sched/cls_api.c chain = list_is_last(&chain->list, &block->chain_list) ? chain 949 net/sched/cls_api.c NULL : list_next_entry(chain, list); chain 951 net/sched/cls_api.c chain = list_first_entry_or_null(&block->chain_list, chain 955 net/sched/cls_api.c while (chain && tcf_chain_held_by_acts_only(chain)) chain 956 net/sched/cls_api.c chain = list_is_last(&chain->list, &block->chain_list) ? chain 957 net/sched/cls_api.c NULL : list_next_entry(chain, list); chain 959 net/sched/cls_api.c if (chain) chain 960 net/sched/cls_api.c tcf_chain_hold(chain); chain 963 net/sched/cls_api.c return chain; chain 976 net/sched/cls_api.c tcf_get_next_chain(struct tcf_block *block, struct tcf_chain *chain) chain 978 net/sched/cls_api.c struct tcf_chain *chain_next = __tcf_get_next_chain(block, chain); chain 980 net/sched/cls_api.c if (chain) chain 981 net/sched/cls_api.c tcf_chain_put(chain); chain 988 net/sched/cls_api.c __tcf_get_next_proto(struct tcf_chain *chain, struct tcf_proto *tp) chain 993 net/sched/cls_api.c mutex_lock(&chain->filter_chain_lock); chain 996 net/sched/cls_api.c tp = tcf_chain_dereference(chain->filter_chain, chain); chain 1003 net/sched/cls_api.c tp = tcf_chain_dereference(chain->filter_chain, chain); chain 1005 net/sched/cls_api.c for (; tp; tp = tcf_chain_dereference(tp->next, chain)) chain 1009 net/sched/cls_api.c tp = tcf_chain_dereference(tp->next, chain); chain 1015 net/sched/cls_api.c mutex_unlock(&chain->filter_chain_lock); chain 1029 net/sched/cls_api.c tcf_get_next_proto(struct tcf_chain *chain, struct tcf_proto *tp, chain 1032 net/sched/cls_api.c struct tcf_proto *tp_next = __tcf_get_next_proto(chain, tp); chain 1043 net/sched/cls_api.c struct tcf_chain *chain; chain 1048 net/sched/cls_api.c for (chain = tcf_get_next_chain(block, NULL); chain 1049 net/sched/cls_api.c chain; chain 1050 net/sched/cls_api.c chain = tcf_get_next_chain(block, chain)) { chain 1051 net/sched/cls_api.c tcf_chain_put_explicitly_created(chain); chain 1052 net/sched/cls_api.c tcf_chain_flush(chain, rtnl_held); chain 1439 net/sched/cls_api.c struct tcf_chain *chain, *chain_prev; chain 1445 net/sched/cls_api.c for (chain = __tcf_get_next_chain(block, NULL); chain 1446 net/sched/cls_api.c chain; chain 1447 net/sched/cls_api.c chain_prev = chain, chain 1448 net/sched/cls_api.c chain = __tcf_get_next_chain(block, chain), chain 1450 net/sched/cls_api.c for (tp = __tcf_get_next_proto(chain, NULL); tp; chain 1452 net/sched/cls_api.c tp = __tcf_get_next_proto(chain, tp), chain 1471 net/sched/cls_api.c tcf_chain_put(chain); chain 1597 net/sched/cls_api.c ext->chain = err & TC_ACT_EXT_VAL_MASK; chain 1612 net/sched/cls_api.c tp->chain->block->index, chain 1629 net/sched/cls_api.c static struct tcf_proto *tcf_chain_tp_prev(struct tcf_chain *chain, chain 1632 net/sched/cls_api.c return tcf_chain_dereference(*chain_info->pprev, chain); chain 1635 net/sched/cls_api.c static int tcf_chain_tp_insert(struct tcf_chain *chain, chain 1639 net/sched/cls_api.c if (chain->flushing) chain 1642 net/sched/cls_api.c if (*chain_info->pprev == chain->filter_chain) chain 1643 net/sched/cls_api.c tcf_chain0_head_change(chain, tp); chain 1645 net/sched/cls_api.c RCU_INIT_POINTER(tp->next, tcf_chain_tp_prev(chain, chain_info)); chain 1651 net/sched/cls_api.c static void tcf_chain_tp_remove(struct tcf_chain *chain, chain 1655 net/sched/cls_api.c struct tcf_proto *next = tcf_chain_dereference(chain_info->next, chain); chain 1658 net/sched/cls_api.c if (tp == chain->filter_chain) chain 1659 net/sched/cls_api.c tcf_chain0_head_change(chain, next); chain 1663 net/sched/cls_api.c static struct tcf_proto *tcf_chain_tp_find(struct tcf_chain *chain, chain 1673 net/sched/cls_api.c static struct tcf_proto *tcf_chain_tp_insert_unique(struct tcf_chain *chain, chain 1682 net/sched/cls_api.c mutex_lock(&chain->filter_chain_lock); chain 1684 net/sched/cls_api.c if (tcf_proto_exists_destroying(chain, tp_new)) { chain 1685 net/sched/cls_api.c mutex_unlock(&chain->filter_chain_lock); chain 1690 net/sched/cls_api.c tp = tcf_chain_tp_find(chain, &chain_info, chain 1693 net/sched/cls_api.c err = tcf_chain_tp_insert(chain, &chain_info, tp_new); chain 1694 net/sched/cls_api.c mutex_unlock(&chain->filter_chain_lock); chain 1707 net/sched/cls_api.c static void tcf_chain_tp_delete_empty(struct tcf_chain *chain, chain 1716 net/sched/cls_api.c mutex_lock(&chain->filter_chain_lock); chain 1719 net/sched/cls_api.c for (pprev = &chain->filter_chain; chain 1720 net/sched/cls_api.c (tp_iter = tcf_chain_dereference(*pprev, chain)); chain 1734 net/sched/cls_api.c mutex_unlock(&chain->filter_chain_lock); chain 1738 net/sched/cls_api.c tcf_proto_signal_destroying(chain, tp); chain 1739 net/sched/cls_api.c next = tcf_chain_dereference(chain_info.next, chain); chain 1740 net/sched/cls_api.c if (tp == chain->filter_chain) chain 1741 net/sched/cls_api.c tcf_chain0_head_change(chain, next); chain 1743 net/sched/cls_api.c mutex_unlock(&chain->filter_chain_lock); chain 1748 net/sched/cls_api.c static struct tcf_proto *tcf_chain_tp_find(struct tcf_chain *chain, chain 1757 net/sched/cls_api.c for (pprev = &chain->filter_chain; chain 1758 net/sched/cls_api.c (tp = tcf_chain_dereference(*pprev, chain)); chain 1808 net/sched/cls_api.c if (nla_put_u32(skb, TCA_CHAIN, tp->chain->index)) chain 1902 net/sched/cls_api.c struct tcf_chain *chain, int event, chain 1907 net/sched/cls_api.c for (tp = tcf_get_next_proto(chain, NULL, rtnl_held); chain 1908 net/sched/cls_api.c tp; tp = tcf_get_next_proto(chain, tp, rtnl_held)) chain 1933 net/sched/cls_api.c struct tcf_chain *chain = NULL; chain 2016 net/sched/cls_api.c chain = tcf_chain_get(block, chain_index, true); chain 2017 net/sched/cls_api.c if (!chain) { chain 2023 net/sched/cls_api.c mutex_lock(&chain->filter_chain_lock); chain 2024 net/sched/cls_api.c tp = tcf_chain_tp_find(chain, &chain_info, protocol, chain 2035 net/sched/cls_api.c if (chain->flushing) { chain 2055 net/sched/cls_api.c prio = tcf_auto_prio(tcf_chain_tp_prev(chain, chain 2058 net/sched/cls_api.c mutex_unlock(&chain->filter_chain_lock); chain 2059 net/sched/cls_api.c tp_new = tcf_proto_create(name, protocol, prio, chain, chain 2067 net/sched/cls_api.c tp = tcf_chain_tp_insert_unique(chain, tp_new, protocol, prio, chain 2074 net/sched/cls_api.c mutex_unlock(&chain->filter_chain_lock); chain 2098 net/sched/cls_api.c if (chain->tmplt_ops && chain->tmplt_ops != tp->ops) { chain 2118 net/sched/cls_api.c tcf_chain_tp_delete_empty(chain, tp, rtnl_held, NULL); chain 2120 net/sched/cls_api.c if (chain) { chain 2124 net/sched/cls_api.c tcf_chain_put(chain); chain 2142 net/sched/cls_api.c mutex_unlock(&chain->filter_chain_lock); chain 2159 net/sched/cls_api.c struct tcf_chain *chain = NULL; chain 2224 net/sched/cls_api.c chain = tcf_chain_get(block, chain_index, false); chain 2225 net/sched/cls_api.c if (!chain) { chain 2240 net/sched/cls_api.c chain, RTM_DELTFILTER, rtnl_held); chain 2241 net/sched/cls_api.c tcf_chain_flush(chain, rtnl_held); chain 2246 net/sched/cls_api.c mutex_lock(&chain->filter_chain_lock); chain 2247 net/sched/cls_api.c tp = tcf_chain_tp_find(chain, &chain_info, protocol, chain 2258 net/sched/cls_api.c tcf_proto_signal_destroying(chain, tp); chain 2259 net/sched/cls_api.c tcf_chain_tp_remove(chain, &chain_info, tp); chain 2260 net/sched/cls_api.c mutex_unlock(&chain->filter_chain_lock); chain 2268 net/sched/cls_api.c mutex_unlock(&chain->filter_chain_lock); chain 2285 net/sched/cls_api.c tcf_chain_tp_delete_empty(chain, tp, rtnl_held, extack); chain 2289 net/sched/cls_api.c if (chain) { chain 2292 net/sched/cls_api.c tcf_chain_put(chain); chain 2302 net/sched/cls_api.c mutex_unlock(&chain->filter_chain_lock); chain 2319 net/sched/cls_api.c struct tcf_chain *chain = NULL; chain 2380 net/sched/cls_api.c chain = tcf_chain_get(block, chain_index, false); chain 2381 net/sched/cls_api.c if (!chain) { chain 2387 net/sched/cls_api.c mutex_lock(&chain->filter_chain_lock); chain 2388 net/sched/cls_api.c tp = tcf_chain_tp_find(chain, &chain_info, protocol, chain 2390 net/sched/cls_api.c mutex_unlock(&chain->filter_chain_lock); chain 2415 net/sched/cls_api.c if (chain) { chain 2418 net/sched/cls_api.c tcf_chain_put(chain); chain 2448 net/sched/cls_api.c static bool tcf_chain_dump(struct tcf_chain *chain, struct Qdisc *q, u32 parent, chain 2453 net/sched/cls_api.c struct tcf_block *block = chain->block; chain 2458 net/sched/cls_api.c for (tp = __tcf_get_next_proto(chain, NULL); chain 2461 net/sched/cls_api.c tp = __tcf_get_next_proto(chain, tp), chain 2511 net/sched/cls_api.c struct tcf_chain *chain, *chain_prev; chain 2578 net/sched/cls_api.c for (chain = __tcf_get_next_chain(block, NULL); chain 2579 net/sched/cls_api.c chain; chain 2580 net/sched/cls_api.c chain_prev = chain, chain 2581 net/sched/cls_api.c chain = __tcf_get_next_chain(block, chain), chain 2584 net/sched/cls_api.c nla_get_u32(tca[TCA_CHAIN]) != chain->index) chain 2586 net/sched/cls_api.c if (!tcf_chain_dump(chain, q, parent, skb, cb, chain 2588 net/sched/cls_api.c tcf_chain_put(chain); chain 2655 net/sched/cls_api.c static int tc_chain_notify(struct tcf_chain *chain, struct sk_buff *oskb, chain 2659 net/sched/cls_api.c struct tcf_block *block = chain->block; chain 2668 net/sched/cls_api.c if (tc_chain_fill_node(chain->tmplt_ops, chain->tmplt_priv, chain 2669 net/sched/cls_api.c chain->index, net, skb, block, portid, chain 2711 net/sched/cls_api.c static int tc_chain_tmplt_add(struct tcf_chain *chain, struct net *net, chain 2736 net/sched/cls_api.c tmplt_priv = ops->tmplt_create(net, chain, tca, extack); chain 2741 net/sched/cls_api.c chain->tmplt_ops = ops; chain 2742 net/sched/cls_api.c chain->tmplt_priv = tmplt_priv; chain 2768 net/sched/cls_api.c struct tcf_chain *chain = NULL; chain 2800 net/sched/cls_api.c chain = tcf_chain_lookup(block, chain_index); chain 2802 net/sched/cls_api.c if (chain) { chain 2803 net/sched/cls_api.c if (tcf_chain_held_by_acts_only(chain)) { chain 2807 net/sched/cls_api.c tcf_chain_hold(chain); chain 2819 net/sched/cls_api.c chain = tcf_chain_create(block, chain_index); chain 2820 net/sched/cls_api.c if (!chain) { chain 2827 net/sched/cls_api.c if (!chain || tcf_chain_held_by_acts_only(chain)) { chain 2832 net/sched/cls_api.c tcf_chain_hold(chain); chain 2841 net/sched/cls_api.c tcf_chain_hold(chain); chain 2842 net/sched/cls_api.c chain->explicitly_created = true; chain 2848 net/sched/cls_api.c err = tc_chain_tmplt_add(chain, net, tca, extack); chain 2850 net/sched/cls_api.c tcf_chain_put_explicitly_created(chain); chain 2854 net/sched/cls_api.c tc_chain_notify(chain, NULL, 0, NLM_F_CREATE | NLM_F_EXCL, chain 2859 net/sched/cls_api.c chain, RTM_DELTFILTER, true); chain 2861 net/sched/cls_api.c tcf_chain_flush(chain, true); chain 2865 net/sched/cls_api.c tcf_chain_put_explicitly_created(chain); chain 2868 net/sched/cls_api.c err = tc_chain_notify(chain, skb, n->nlmsg_seq, chain 2880 net/sched/cls_api.c tcf_chain_put(chain); chain 2901 net/sched/cls_api.c struct tcf_chain *chain; chain 2965 net/sched/cls_api.c list_for_each_entry(chain, &block->chain_list, list) { chain 2967 net/sched/cls_api.c nla_get_u32(tca[TCA_CHAIN]) != chain->index)) chain 2973 net/sched/cls_api.c if (tcf_chain_held_by_acts_only(chain)) chain 2975 net/sched/cls_api.c err = tc_chain_fill_node(chain->tmplt_ops, chain->tmplt_priv, chain 2976 net/sched/cls_api.c chain->index, net, skb, block, chain 148 net/sched/cls_bpf.c struct tcf_block *block = tp->chain->block; chain 229 net/sched/cls_bpf.c struct tcf_block *block = tp->chain->block; chain 403 net/sched/cls_bpf.c tcf_block_netif_keep_dst(tp->chain->block); chain 669 net/sched/cls_bpf.c struct tcf_block *block = tp->chain->block; chain 503 net/sched/cls_flow.c struct Qdisc *q = tcf_block_q(tp->chain->block); chain 518 net/sched/cls_flow.c tcf_block_netif_keep_dst(tp->chain->block); chain 90 net/sched/cls_flower.c struct tcf_chain *chain; chain 418 net/sched/cls_flower.c struct tcf_block *block = tp->chain->block; chain 434 net/sched/cls_flower.c struct tcf_block *block = tp->chain->block; chain 481 net/sched/cls_flower.c struct tcf_block *block = tp->chain->block; chain 1591 net/sched/cls_flower.c tp->chain->tmplt_priv, rtnl_held, extack); chain 1787 net/sched/cls_flower.c struct tcf_block *block = tp->chain->block; chain 1871 net/sched/cls_flower.c static int fl_hw_create_tmplt(struct tcf_chain *chain, chain 1875 net/sched/cls_flower.c struct tcf_block *block = chain->block; chain 1881 net/sched/cls_flower.c cls_flower.common.chain_index = chain->index; chain 1897 net/sched/cls_flower.c static void fl_hw_destroy_tmplt(struct tcf_chain *chain, chain 1901 net/sched/cls_flower.c struct tcf_block *block = chain->block; chain 1903 net/sched/cls_flower.c cls_flower.common.chain_index = chain->index; chain 1910 net/sched/cls_flower.c static void *fl_tmplt_create(struct net *net, struct tcf_chain *chain, chain 1934 net/sched/cls_flower.c tmplt->chain = chain; chain 1941 net/sched/cls_flower.c err = fl_hw_create_tmplt(chain, tmplt); chain 1959 net/sched/cls_flower.c fl_hw_destroy_tmplt(tmplt->chain, tmplt); chain 75 net/sched/cls_fw.c struct Qdisc *q = tcf_block_q(tp->chain->block); chain 72 net/sched/cls_matchall.c struct tcf_block *block = tp->chain->block; chain 88 net/sched/cls_matchall.c struct tcf_block *block = tp->chain->block; chain 290 net/sched/cls_matchall.c struct tcf_block *block = tp->chain->block; chain 332 net/sched/cls_matchall.c struct tcf_block *block = tp->chain->block; chain 525 net/sched/cls_route.c tcf_block_netif_keep_dst(tp->chain->block); chain 114 net/sched/cls_tcindex.c struct Qdisc *q = tcf_block_q(tp->chain->block); chain 321 net/sched/cls_u32.c struct tcf_block *block = tp->chain->block; chain 474 net/sched/cls_u32.c struct tcf_block *block = tp->chain->block; chain 489 net/sched/cls_u32.c struct tcf_block *block = tp->chain->block; chain 518 net/sched/cls_u32.c struct tcf_block *block = tp->chain->block; chain 533 net/sched/cls_u32.c struct tcf_block *block = tp->chain->block; chain 1177 net/sched/cls_u32.c struct tcf_block *block = tp->chain->block; chain 177 net/sched/ematch.c struct net *net = tp->chain->block->net; chain 1904 net/sched/sch_api.c struct Qdisc *q = tcf_block_q(tp->chain->block); chain 1926 net/sched/sch_api.c struct tcf_chain *chain; chain 1931 net/sched/sch_api.c for (chain = tcf_get_next_chain(block, NULL); chain 1932 net/sched/sch_api.c chain; chain 1933 net/sched/sch_api.c chain = tcf_get_next_chain(block, chain)) { chain 1936 net/sched/sch_api.c for (tp = tcf_get_next_proto(chain, NULL, true); chain 1937 net/sched/sch_api.c tp; tp = tcf_get_next_proto(chain, tp, true)) { chain 738 net/sctp/input.c sctp_for_each_hentry(epb2, &head->chain) { chain 766 net/sctp/input.c hlist_add_head(&epb->node, &head->chain); chain 843 net/sctp/input.c sctp_for_each_hentry(epb, &head->chain) { chain 174 net/sctp/proc.c sctp_for_each_hentry(epb, &head->chain) { chain 1462 net/sctp/protocol.c INIT_HLIST_HEAD(&sctp_ep_hashtable[i].chain); chain 1496 net/sctp/protocol.c INIT_HLIST_HEAD(&sctp_port_hashtable[i].chain); chain 5364 net/sctp/socket.c sctp_for_each_hentry(epb, &head->chain) { chain 8200 net/sctp/socket.c sctp_for_each_hentry(pp, &head->chain) chain 8228 net/sctp/socket.c sctp_for_each_hentry(pp, &head->chain) { chain 8545 net/sctp/socket.c hlist_add_head(&pp->node, &head->chain); chain 423 net/switchdev/switchdev.c struct blocking_notifier_head *chain = &switchdev_blocking_notif_chain; chain 425 net/switchdev/switchdev.c return blocking_notifier_chain_register(chain, nb); chain 431 net/switchdev/switchdev.c struct blocking_notifier_head *chain = &switchdev_blocking_notif_chain; chain 433 net/switchdev/switchdev.c return blocking_notifier_chain_unregister(chain, nb); chain 177 net/xfrm/xfrm_policy.c xfrm_policy_insert_list(struct hlist_head *chain, struct xfrm_policy *policy, chain 179 net/xfrm/xfrm_policy.c static void xfrm_policy_insert_inexact_list(struct hlist_head *chain, chain 1176 net/xfrm/xfrm_policy.c struct hlist_head *chain; chain 1186 net/xfrm/xfrm_policy.c chain = xfrm_policy_inexact_alloc_chain(bin, policy, dir); chain 1187 net/xfrm/xfrm_policy.c if (!chain) { chain 1192 net/xfrm/xfrm_policy.c delpol = xfrm_policy_insert_list(chain, policy, excl); chain 1198 net/xfrm/xfrm_policy.c chain = &net->xfrm.policy_inexact[dir]; chain 1199 net/xfrm/xfrm_policy.c xfrm_policy_insert_inexact_list(chain, policy); chain 1214 net/xfrm/xfrm_policy.c struct hlist_head *chain; chain 1320 net/xfrm/xfrm_policy.c chain = policy_hash_bysel(net, &policy->selector, chain 1323 net/xfrm/xfrm_policy.c if (!chain) { chain 1330 net/xfrm/xfrm_policy.c hlist_for_each_entry(pol, chain, bydst) { chain 1339 net/xfrm/xfrm_policy.c hlist_add_head_rcu(&policy->bydst, chain); chain 1492 net/xfrm/xfrm_policy.c static void xfrm_policy_insert_inexact_list(struct hlist_head *chain, chain 1499 net/xfrm/xfrm_policy.c hlist_for_each_entry(pol, chain, bydst_inexact_list) { chain 1520 net/xfrm/xfrm_policy.c hlist_add_head_rcu(&policy->bydst_inexact_list, chain); chain 1522 net/xfrm/xfrm_policy.c hlist_for_each_entry(pol, chain, bydst_inexact_list) { chain 1528 net/xfrm/xfrm_policy.c static struct xfrm_policy *xfrm_policy_insert_list(struct hlist_head *chain, chain 1534 net/xfrm/xfrm_policy.c hlist_for_each_entry(pol, chain, bydst) { chain 1557 net/xfrm/xfrm_policy.c hlist_add_head_rcu(&policy->bydst, chain); chain 1566 net/xfrm/xfrm_policy.c struct hlist_head *chain; chain 1569 net/xfrm/xfrm_policy.c chain = policy_hash_bysel(net, &policy->selector, policy->family, dir); chain 1570 net/xfrm/xfrm_policy.c if (chain) chain 1571 net/xfrm/xfrm_policy.c delpol = xfrm_policy_insert_list(chain, policy, excl); chain 1610 net/xfrm/xfrm_policy.c __xfrm_policy_bysel_ctx(struct hlist_head *chain, u32 mark, u32 if_id, chain 1617 net/xfrm/xfrm_policy.c if (!chain) chain 1620 net/xfrm/xfrm_policy.c hlist_for_each_entry(pol, chain, bydst) { chain 1640 net/xfrm/xfrm_policy.c struct hlist_head *chain; chain 1644 net/xfrm/xfrm_policy.c chain = policy_hash_bysel(net, sel, sel->family, dir); chain 1645 net/xfrm/xfrm_policy.c if (!chain) { chain 1677 net/xfrm/xfrm_policy.c pol = __xfrm_policy_bysel_ctx(chain, mark, if_id, type, dir, chain 1708 net/xfrm/xfrm_policy.c struct hlist_head *chain; chain 1716 net/xfrm/xfrm_policy.c chain = net->xfrm.policy_byidx + idx_hash(net, id); chain 1718 net/xfrm/xfrm_policy.c hlist_for_each_entry(pol, chain, byidx) { chain 2008 net/xfrm/xfrm_policy.c __xfrm_policy_eval_candidates(struct hlist_head *chain, chain 2016 net/xfrm/xfrm_policy.c if (!chain) chain 2019 net/xfrm/xfrm_policy.c hlist_for_each_entry_rcu(pol, chain, bydst) { chain 2080 net/xfrm/xfrm_policy.c struct hlist_head *chain; chain 2093 net/xfrm/xfrm_policy.c chain = policy_hash_direct(net, daddr, saddr, family, dir); chain 2097 net/xfrm/xfrm_policy.c hlist_for_each_entry_rcu(pol, chain, bydst) { chain 4252 net/xfrm/xfrm_policy.c struct hlist_head *chain; chain 4256 net/xfrm/xfrm_policy.c chain = policy_hash_direct(net, &sel->daddr, &sel->saddr, sel->family, dir); chain 4257 net/xfrm/xfrm_policy.c hlist_for_each_entry(pol, chain, bydst) { chain 4265 net/xfrm/xfrm_policy.c chain = &net->xfrm.policy_inexact[dir]; chain 4266 net/xfrm/xfrm_policy.c hlist_for_each_entry(pol, chain, bydst_inexact_list) { chain 353 sound/sound_core.c const int chain = unit % SOUND_STEP; chain 358 sound/sound_core.c switch (chain) { chain 404 sound/sound_core.c sprintf(_name, "unknown%d", chain); chain 411 sound/sound_core.c return sound_insert_unit(&chains[chain], fops, -1, unit, max_unit, chain 522 sound/sound_core.c static struct sound_unit *__look_for_unit(int chain, int unit) chain 526 sound/sound_core.c s=chains[chain]; chain 538 sound/sound_core.c int chain; chain 543 sound/sound_core.c chain=unit&0x0F; chain 544 sound/sound_core.c if(chain==4 || chain==5) /* dsp/audio/dsp16 */ chain 548 sound/sound_core.c chain=3; chain 552 sound/sound_core.c s = __look_for_unit(chain, unit); chain 566 sound/sound_core.c request_module("sound-service-%i-%i", unit>>4, chain); chain 579 sound/sound_core.c s = __look_for_unit(chain, unit); chain 242 tools/perf/arch/powerpc/util/skip-callchain-idx.c int arch_skip_callchain_idx(struct thread *thread, struct ip_callchain *chain) chain 250 tools/perf/arch/powerpc/util/skip-callchain-idx.c if (!chain || chain->nr < 3) chain 253 tools/perf/arch/powerpc/util/skip-callchain-idx.c ip = chain->ips[1]; chain 2748 tools/perf/builtin-sched.c struct callchain_list *chain; chain 2759 tools/perf/builtin-sched.c list_for_each_entry(chain, &node->val, list) { chain 2760 tools/perf/builtin-sched.c if (chain->ip >= PERF_CONTEXT_MAX) chain 2762 tools/perf/builtin-sched.c if (chain->ms.sym && chain->ms.sym->ignore) chain 2765 tools/perf/builtin-sched.c callchain_list__sym_name(chain, bf, sizeof(bf), chain 2777 tools/perf/builtin-sched.c struct callchain_node *chain; chain 2785 tools/perf/builtin-sched.c chain = rb_entry(rb_node, struct callchain_node, rb_node); chain 2789 tools/perf/builtin-sched.c print_sched_time(chain->hit, 12); chain 2791 tools/perf/builtin-sched.c ret += fprintf(fp, " %8d ", chain->count); chain 2792 tools/perf/builtin-sched.c ret += callchain__fprintf_folded(fp, chain); chain 483 tools/perf/builtin-timechart.c struct ip_callchain *chain = sample->callchain; chain 491 tools/perf/builtin-timechart.c if (!chain) chain 500 tools/perf/builtin-timechart.c for (i = 0; i < chain->nr; i++) { chain 504 tools/perf/builtin-timechart.c ip = chain->ips[i]; chain 506 tools/perf/builtin-timechart.c ip = chain->ips[chain->nr - i - 1]; chain 180 tools/perf/ui/browsers/hists.c struct callchain_list *chain; chain 183 tools/perf/ui/browsers/hists.c list_for_each_entry(chain, &child->val, list) { chain 187 tools/perf/ui/browsers/hists.c folded_sign = callchain_list__folded(chain); chain 201 tools/perf/ui/browsers/hists.c struct callchain_list *chain; chain 205 tools/perf/ui/browsers/hists.c list_for_each_entry(chain, &node->parent_val, list) { chain 208 tools/perf/ui/browsers/hists.c folded_sign = callchain_list__folded(chain); chain 215 tools/perf/ui/browsers/hists.c list_for_each_entry(chain, &node->val, list) { chain 218 tools/perf/ui/browsers/hists.c folded_sign = callchain_list__folded(chain); chain 235 tools/perf/ui/browsers/hists.c struct callchain_list *chain; chain 244 tools/perf/ui/browsers/hists.c list_for_each_entry(chain, &node->val, list) { chain 247 tools/perf/ui/browsers/hists.c unfolded = chain->unfolded; chain 256 tools/perf/ui/browsers/hists.c static int callchain__count_rows(struct rb_root *chain) chain 261 tools/perf/ui/browsers/hists.c for (nd = rb_first(chain); nd; nd = rb_next(nd)) { chain 331 tools/perf/ui/browsers/hists.c struct callchain_list *chain; chain 334 tools/perf/ui/browsers/hists.c list_for_each_entry(chain, &child->val, list) { chain 337 tools/perf/ui/browsers/hists.c chain->has_children = chain->list.next != &child->val || chain 340 tools/perf/ui/browsers/hists.c chain->has_children = chain->list.next == &child->val && chain 351 tools/perf/ui/browsers/hists.c struct callchain_list *chain; chain 353 tools/perf/ui/browsers/hists.c chain = list_entry(node->val.next, struct callchain_list, list); chain 354 tools/perf/ui/browsers/hists.c chain->has_children = has_sibling; chain 357 tools/perf/ui/browsers/hists.c chain = list_entry(node->val.prev, struct callchain_list, list); chain 358 tools/perf/ui/browsers/hists.c chain->has_children = !RB_EMPTY_ROOT(&node->rb_root); chain 468 tools/perf/ui/browsers/hists.c struct callchain_list *chain; chain 471 tools/perf/ui/browsers/hists.c list_for_each_entry(chain, &child->val, list) { chain 473 tools/perf/ui/browsers/hists.c callchain_list__set_folding(chain, unfold); chain 474 tools/perf/ui/browsers/hists.c has_children = chain->has_children; chain 486 tools/perf/ui/browsers/hists.c struct callchain_list *chain; chain 490 tools/perf/ui/browsers/hists.c list_for_each_entry(chain, &node->val, list) { chain 492 tools/perf/ui/browsers/hists.c callchain_list__set_folding(chain, unfold); chain 493 tools/perf/ui/browsers/hists.c has_children = chain->has_children; chain 502 tools/perf/ui/browsers/hists.c static int callchain__set_folding(struct rb_root *chain, bool unfold) chain 507 tools/perf/ui/browsers/hists.c for (nd = rb_first(chain); nd; nd = rb_next(nd)) { chain 732 tools/perf/ui/browsers/hists.c struct callchain_list *chain, chain 738 tools/perf/ui/browsers/hists.c struct callchain_list *chain, chain 744 tools/perf/ui/browsers/hists.c char folded_sign = callchain_list__folded(chain); chain 745 tools/perf/ui/browsers/hists.c bool show_annotated = browser->show_dso && chain->ms.sym && symbol__annotation(chain->ms.sym)->src; chain 750 tools/perf/ui/browsers/hists.c browser->selection = &chain->ms; chain 764 tools/perf/ui/browsers/hists.c struct callchain_list *chain, chain 769 tools/perf/ui/browsers/hists.c char folded_sign = callchain_list__folded(chain); chain 794 tools/perf/ui/browsers/hists.c struct callchain_list *chain, chain 813 tools/perf/ui/browsers/hists.c str = callchain_list__sym_name(chain, bf, sizeof(bf), chain 817 tools/perf/ui/browsers/hists.c callchain_list_counts__printf_value(chain, NULL, chain 836 tools/perf/ui/browsers/hists.c print(browser, chain, str, offset, row, arg); chain 875 tools/perf/ui/browsers/hists.c struct callchain_list *chain; chain 880 tools/perf/ui/browsers/hists.c list_for_each_entry(chain, &child->parent_val, list) { chain 888 tools/perf/ui/browsers/hists.c folded_sign = callchain_list__folded(chain); chain 891 tools/perf/ui/browsers/hists.c chain, row, total, chain 903 tools/perf/ui/browsers/hists.c list_for_each_entry(chain, &child->val, list) { chain 911 tools/perf/ui/browsers/hists.c folded_sign = callchain_list__folded(chain); chain 914 tools/perf/ui/browsers/hists.c chain, row, total, chain 936 tools/perf/ui/browsers/hists.c struct callchain_list *chain, chain 943 tools/perf/ui/browsers/hists.c str = callchain_list__sym_name(chain, bf, sizeof(bf), chain 979 tools/perf/ui/browsers/hists.c struct callchain_list *chain, *first_chain = NULL; chain 1000 tools/perf/ui/browsers/hists.c list_for_each_entry(chain, &child->parent_val, list) { chain 1002 tools/perf/ui/browsers/hists.c chain, value_str, chain_str); chain 1005 tools/perf/ui/browsers/hists.c first_chain = chain; chain 1016 tools/perf/ui/browsers/hists.c list_for_each_entry(chain, &child->val, list) { chain 1018 tools/perf/ui/browsers/hists.c chain, value_str, chain_str); chain 1021 tools/perf/ui/browsers/hists.c first_chain = chain; chain 1068 tools/perf/ui/browsers/hists.c struct callchain_list *chain; chain 1073 tools/perf/ui/browsers/hists.c list_for_each_entry(chain, &child->val, list) { chain 1081 tools/perf/ui/browsers/hists.c folded_sign = callchain_list__folded(chain); chain 1084 tools/perf/ui/browsers/hists.c chain, row, percent_total, chain 105 tools/perf/ui/gtk/hists.c struct callchain_list *chain; chain 116 tools/perf/ui/gtk/hists.c list_for_each_entry(chain, &node->parent_val, list) { chain 124 tools/perf/ui/gtk/hists.c callchain_list__sym_name(chain, buf, sizeof(buf), false); chain 137 tools/perf/ui/gtk/hists.c list_for_each_entry(chain, &node->val, list) { chain 145 tools/perf/ui/gtk/hists.c callchain_list__sym_name(chain, buf, sizeof(buf), false); chain 167 tools/perf/ui/gtk/hists.c struct callchain_list *chain; chain 177 tools/perf/ui/gtk/hists.c list_for_each_entry(chain, &node->parent_val, list) { chain 180 tools/perf/ui/gtk/hists.c callchain_list__sym_name(chain, name, sizeof(name), false); chain 193 tools/perf/ui/gtk/hists.c list_for_each_entry(chain, &node->val, list) { chain 196 tools/perf/ui/gtk/hists.c callchain_list__sym_name(chain, name, sizeof(name), false); chain 228 tools/perf/ui/gtk/hists.c struct callchain_list *chain; chain 238 tools/perf/ui/gtk/hists.c list_for_each_entry(chain, &node->val, list) { chain 246 tools/perf/ui/gtk/hists.c callchain_list__sym_name(chain, buf, sizeof(buf), false); chain 50 tools/perf/ui/stdio/hist.c struct callchain_list *chain, chain 74 tools/perf/ui/stdio/hist.c str = callchain_list__sym_name(chain, bf, sizeof(bf), false); chain 77 tools/perf/ui/stdio/hist.c callchain_list_counts__printf_value(chain, NULL, chain 114 tools/perf/ui/stdio/hist.c struct callchain_list *chain; chain 152 tools/perf/ui/stdio/hist.c list_for_each_entry(chain, &child->val, list) { chain 153 tools/perf/ui/stdio/hist.c ret += ipchain__fprintf_graph(fp, child, chain, depth, chain 221 tools/perf/ui/stdio/hist.c struct callchain_list *chain; chain 232 tools/perf/ui/stdio/hist.c list_for_each_entry(chain, &cnode->val, list) { chain 253 tools/perf/ui/stdio/hist.c callchain_list__sym_name(chain, bf, chain 259 tools/perf/ui/stdio/hist.c chain, fp, NULL, 0); chain 284 tools/perf/ui/stdio/hist.c struct callchain_list *chain; chain 294 tools/perf/ui/stdio/hist.c list_for_each_entry(chain, &node->val, list) { chain 295 tools/perf/ui/stdio/hist.c if (chain->ip >= PERF_CONTEXT_MAX) chain 297 tools/perf/ui/stdio/hist.c ret += fprintf(fp, " %s\n", callchain_list__sym_name(chain, chain 309 tools/perf/ui/stdio/hist.c struct callchain_node *chain; chain 313 tools/perf/ui/stdio/hist.c chain = rb_entry(rb_node, struct callchain_node, rb_node); chain 316 tools/perf/ui/stdio/hist.c ret += callchain_node__fprintf_value(chain, fp, total_samples); chain 318 tools/perf/ui/stdio/hist.c ret += __callchain__fprintf_flat(fp, chain, total_samples); chain 332 tools/perf/ui/stdio/hist.c struct callchain_list *chain; chain 343 tools/perf/ui/stdio/hist.c list_for_each_entry(chain, &node->val, list) { chain 344 tools/perf/ui/stdio/hist.c if (chain->ip >= PERF_CONTEXT_MAX) chain 347 tools/perf/ui/stdio/hist.c callchain_list__sym_name(chain, chain 360 tools/perf/ui/stdio/hist.c struct callchain_node *chain; chain 365 tools/perf/ui/stdio/hist.c chain = rb_entry(rb_node, struct callchain_node, rb_node); chain 367 tools/perf/ui/stdio/hist.c ret += callchain_node__fprintf_value(chain, fp, total_samples); chain 369 tools/perf/ui/stdio/hist.c ret += __callchain__fprintf_folded(fp, chain); chain 372 tools/perf/util/callchain.c rb_insert_callchain(struct rb_root *root, struct callchain_node *chain, chain 378 tools/perf/util/callchain.c u64 chain_cumul = callchain_cumul_hits(chain); chain 390 tools/perf/util/callchain.c if (rnode->hit < chain->hit) chain 408 tools/perf/util/callchain.c rb_link_node(&chain->rb_node, parent, p); chain 409 tools/perf/util/callchain.c rb_insert_color(&chain->rb_node, root); chain 1522 tools/perf/util/callchain.c struct callchain_list *chain, *new; chain 1526 tools/perf/util/callchain.c list_for_each_entry_reverse(chain, &parent->val, list) { chain 1530 tools/perf/util/callchain.c *new = *chain; chain 1538 tools/perf/util/callchain.c list_for_each_entry_safe_reverse(chain, new, &head, list) chain 1539 tools/perf/util/callchain.c list_move_tail(&chain->list, &node->parent_val); chain 1542 tools/perf/util/callchain.c chain = list_first_entry(&node->parent_val, struct callchain_list, list); chain 1543 tools/perf/util/callchain.c chain->has_children = rb_prev(&node->rb_node) || rb_next(&node->rb_node); chain 1545 tools/perf/util/callchain.c chain = list_first_entry(&node->val, struct callchain_list, list); chain 1546 tools/perf/util/callchain.c chain->has_children = false; chain 1551 tools/perf/util/callchain.c list_for_each_entry_safe(chain, new, &head, list) { chain 1552 tools/perf/util/callchain.c list_del_init(&chain->list); chain 1553 tools/perf/util/callchain.c map__zput(chain->ms.map); chain 1554 tools/perf/util/callchain.c free(chain); chain 266 tools/perf/util/callchain.h int arch_skip_callchain_idx(struct thread *thread, struct ip_callchain *chain); chain 269 tools/perf/util/callchain.h struct ip_callchain *chain __maybe_unused) chain 144 tools/perf/util/intel-pt.c struct ip_callchain *chain; chain 865 tools/perf/util/intel-pt.c ptq->chain = zalloc(sz); chain 866 tools/perf/util/intel-pt.c if (!ptq->chain) chain 950 tools/perf/util/intel-pt.c zfree(&ptq->chain); chain 966 tools/perf/util/intel-pt.c zfree(&ptq->chain); chain 1324 tools/perf/util/intel-pt.c thread_stack__sample(ptq->thread, ptq->cpu, ptq->chain, chain 1327 tools/perf/util/intel-pt.c sample->callchain = ptq->chain; chain 1752 tools/perf/util/intel-pt.c thread_stack__sample(ptq->thread, ptq->cpu, ptq->chain, chain 1755 tools/perf/util/intel-pt.c sample.callchain = ptq->chain; chain 2175 tools/perf/util/machine.c struct ip_callchain *chain = sample->callchain; chain 2176 tools/perf/util/machine.c int chain_nr = min(max_stack, (int)chain->nr), i; chain 2181 tools/perf/util/machine.c if (chain->ips[i] == PERF_CONTEXT_USER) chain 2210 tools/perf/util/machine.c ip = chain->ips[j]; chain 2231 tools/perf/util/machine.c ip = chain->ips[i + 1 - (j - lbr_nr)]; chain 2254 tools/perf/util/machine.c static int find_prev_cpumode(struct ip_callchain *chain, struct thread *thread, chain 2263 tools/perf/util/machine.c u64 ip = chain->ips[ent]; chain 2284 tools/perf/util/machine.c struct ip_callchain *chain = sample->callchain; chain 2291 tools/perf/util/machine.c if (chain) chain 2292 tools/perf/util/machine.c chain_nr = chain->nr; chain 2305 tools/perf/util/machine.c skip_idx = arch_skip_callchain_idx(thread, chain); chain 2333 tools/perf/util/machine.c if (chain == NULL) chain 2344 tools/perf/util/machine.c chain->ips[first_call] >= PERF_CONTEXT_MAX) chain 2346 tools/perf/util/machine.c else if (be[i].from < chain->ips[first_call] && chain 2347 tools/perf/util/machine.c be[i].from >= chain->ips[first_call] - 8) chain 2381 tools/perf/util/machine.c if (chain && callchain_param.order != ORDER_CALLEE) { chain 2382 tools/perf/util/machine.c err = find_prev_cpumode(chain, thread, cursor, parent, root_al, chain 2383 tools/perf/util/machine.c &cpumode, chain->nr - first_call); chain 2394 tools/perf/util/machine.c j = chain->nr - i - 1; chain 2400 tools/perf/util/machine.c ip = chain->ips[j]; chain 2404 tools/perf/util/machine.c err = find_prev_cpumode(chain, thread, cursor, parent, chain 78 tools/perf/util/session.h struct ip_callchain *chain, chain 462 tools/perf/util/thread-stack.c struct ip_callchain *chain, chain 471 tools/perf/util/thread-stack.c chain->nr = 0; chain 475 tools/perf/util/thread-stack.c chain->ips[0] = context; chain 476 tools/perf/util/thread-stack.c chain->ips[1] = ip; chain 479 tools/perf/util/thread-stack.c chain->nr = 2; chain 491 tools/perf/util/thread-stack.c chain->ips[i++] = context; chain 494 tools/perf/util/thread-stack.c chain->ips[i] = ip; chain 497 tools/perf/util/thread-stack.c chain->nr = i; chain 86 tools/perf/util/thread-stack.h void thread_stack__sample(struct thread *thread, int cpu, struct ip_callchain *chain, chain 72 tools/testing/selftests/vDSO/parse_vdso.c ELF(Word) *bucket, *chain; chain 178 tools/testing/selftests/vDSO/parse_vdso.c vdso_info.chain = &hash[vdso_info.nbucket + 2]; chain 229 tools/testing/selftests/vDSO/parse_vdso.c ELF(Word) chain = vdso_info.bucket[elf_hash(name) % vdso_info.nbucket]; chain 231 tools/testing/selftests/vDSO/parse_vdso.c for (; chain != STN_UNDEF; chain = vdso_info.chain[chain]) { chain 232 tools/testing/selftests/vDSO/parse_vdso.c ELF(Sym) *sym = &vdso_info.symtab[chain]; chain 247 tools/testing/selftests/vDSO/parse_vdso.c && !vdso_match_version(vdso_info.versym[chain],