| /linux/drivers/net/ethernet/huawei/hinic/ |
| H A D | hinic_hw_api_cmd.c | 49 #define MASKED_IDX(chain, idx) ((idx) & ((chain)->num_cells - 1)) argument 89 static void set_prod_idx(struct hinic_api_cmd_chain *chain) in set_prod_idx() argument 91 enum hinic_api_cmd_chain_type chain_type = chain->chain_type; in set_prod_idx() 92 struct hinic_hwif *hwif = chain->hwif; in set_prod_idx() 100 prod_idx |= HINIC_API_CMD_PI_SET(chain->prod_idx, IDX); in set_prod_idx() 105 static u32 get_hw_cons_idx(struct hinic_api_cmd_chain *chain) in get_hw_cons_idx() argument 109 addr = HINIC_CSR_API_CMD_STATUS_ADDR(chain->chain_type); in get_hw_cons_idx() 110 val = hinic_hwif_read_reg(chain->hwif, addr); in get_hw_cons_idx() 115 static void dump_api_chain_reg(struct hinic_api_cmd_chain *chain) in dump_api_chain_reg() argument 119 addr = HINIC_CSR_API_CMD_STATUS_ADDR(chain->chain_type); in dump_api_chain_reg() [all …]
|
| /linux/drivers/net/ethernet/qlogic/qed/ |
| H A D | qed_chain.c | 10 static void qed_chain_init(struct qed_chain *chain, in qed_chain_init() argument 14 memset(chain, 0, sizeof(*chain)); in qed_chain_init() 16 chain->elem_size = params->elem_size; in qed_chain_init() 17 chain->intended_use = params->intended_use; in qed_chain_init() 18 chain->mode = params->mode; in qed_chain_init() 19 chain->cnt_type = params->cnt_type; in qed_chain_init() 21 chain->elem_per_page = ELEMS_PER_PAGE(params->elem_size, in qed_chain_init() 23 chain->usable_per_page = USABLE_ELEMS_PER_PAGE(params->elem_size, in qed_chain_init() 26 chain->elem_unusable = UNUSABLE_ELEMS_PER_PAGE(params->elem_size, in qed_chain_init() 29 chain->elem_per_page_mask = chain->elem_per_page - 1; in qed_chain_init() [all …]
|
| /linux/tools/testing/selftests/net/forwarding/ |
| H A D | tc_chains.sh | 38 tc filter add dev $h2 ingress chain 1 protocol ip pref 1 handle 1101 \ 45 check_fail $? "matched on filter in unreachable chain" 47 tc filter del dev $h2 ingress chain 1 protocol ip pref 1 handle 1101 \ 50 log_test "unreachable chain ($tcflags)" 57 tc filter add dev $h2 ingress chain 1 protocol ip pref 1 handle 1101 \ 62 $tcflags dst_mac $h2mac action goto chain 1 71 check_err $? "Did not match on correct filter with goto chain action" 74 check_err $? "Did not match on correct filter in chain 1" 78 tc filter del dev $h2 ingress chain 1 protocol ip pref 1 handle 1101 \ 81 log_test "gact goto chain ($tcflags)" [all …]
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/lib/ |
| H A D | fs_chains.c | 43 u32 chain; member 55 u32 chain; member 68 struct fs_chain *chain; member 77 .key_offset = offsetof(struct fs_chain, chain), 78 .key_len = sizeof_field(struct fs_chain, chain), 153 u32 chain, u32 prio, u32 level) in mlx5_chains_create_table() argument 164 sz = (chain == mlx5_chains_get_nf_ft_chain(chains)) ? in mlx5_chains_create_table() 174 /* The root table(chain 0, prio 1, level 0) is required to be in mlx5_chains_create_table() 180 (chain == 0 && prio == 1 && level == 0)) { in mlx5_chains_create_table() 184 mlx5_get_fdb_sub_ns(chains->dev, chain) : in mlx5_chains_create_table() [all …]
|
| /linux/drivers/net/wireless/ath/ath9k/ |
| H A D | ar9003_rtt.c | 29 * There is an internal table (i.e. the rtt) for each chain (or bank). 72 static void ar9003_hw_rtt_load_hist_entry(struct ath_hw *ah, u8 chain, in ar9003_hw_rtt_load_hist_entry() argument 78 REG_WRITE(ah, AR_PHY_RTT_TABLE_SW_INTF_1_B(chain), val); in ar9003_hw_rtt_load_hist_entry() 83 REG_WRITE(ah, AR_PHY_RTT_TABLE_SW_INTF_B(chain), val); in ar9003_hw_rtt_load_hist_entry() 87 REG_WRITE(ah, AR_PHY_RTT_TABLE_SW_INTF_B(chain), val); in ar9003_hw_rtt_load_hist_entry() 90 if (!ath9k_hw_wait(ah, AR_PHY_RTT_TABLE_SW_INTF_B(chain), in ar9003_hw_rtt_load_hist_entry() 96 REG_WRITE(ah, AR_PHY_RTT_TABLE_SW_INTF_B(chain), val); in ar9003_hw_rtt_load_hist_entry() 99 ath9k_hw_wait(ah, AR_PHY_RTT_TABLE_SW_INTF_B(chain), in ar9003_hw_rtt_load_hist_entry() 106 int chain, i; in ar9003_hw_rtt_load_hist() local 108 for (chain = 0; chain < AR9300_MAX_CHAINS; chain++) { in ar9003_hw_rtt_load_hist() [all …]
|
| H A D | link.c | 182 int chain; in ath_paprd_activate() local 190 for (chain = 0; chain < AR9300_MAX_CHAINS; chain++) { in ath_paprd_activate() 191 if (!(ah->txchainmask & BIT(chain))) in ath_paprd_activate() 194 ar9003_paprd_populate_single_table(ah, caldata, chain); in ath_paprd_activate() 201 static bool ath_paprd_send_frame(struct ath_softc *sc, struct sk_buff *skb, int chain) in ath_paprd_send_frame() argument 222 txctl.paprd = BIT(chain); in ath_paprd_send_frame() 235 "Timeout waiting for paprd training on TX chain %d\n", in ath_paprd_send_frame() 236 chain); in ath_paprd_send_frame() 252 int chain; in ath_paprd_calibrate() local 282 for (chain = 0; chain < AR9300_MAX_CHAINS; chain++) { in ath_paprd_calibrate() [all …]
|
| /linux/net/sched/ |
| H A D | cls_api.c | 54 const struct tcf_chain *chain; member 91 n->chain_index = tp->chain->index; in tcf_exts_miss_cookie_base_alloc() 92 n->chain = tp->chain; in tcf_exts_miss_cookie_base_alloc() 174 return jhash_3words(tp->chain->index, tp->prio, in destroy_obj_hashfn() 178 static void tcf_proto_signal_destroying(struct tcf_chain *chain, in tcf_proto_signal_destroying() argument 181 struct tcf_block *block = chain->block; in tcf_proto_signal_destroying() 192 return tp1->chain->index == tp2->chain->index && in tcf_proto_cmp() 197 static bool tcf_proto_exists_destroying(struct tcf_chain *chain, in tcf_proto_exists_destroying() argument 205 hash_for_each_possible_rcu(chain->block->proto_destroy_ht, iter, in tcf_proto_exists_destroying() 218 tcf_proto_signal_destroyed(struct tcf_chain *chain, struct tcf_proto *tp) in tcf_proto_signal_destroyed() argument [all …]
|
| /linux/kernel/ |
| H A D | notifier.c | 13 * Notifier chain core routines. The exported routines below 55 * @nl: Pointer to head of the blocking notifier chain 102 * @nl: Pointer to head of the blocking notifier chain 108 * NOTE: It is important the @nl chain doesn't change between the two 128 * Atomic notifier chain routines. Registration and unregistration 133 * atomic_notifier_chain_register - Add notifier to an atomic notifier chain 134 * @nh: Pointer to head of the atomic notifier chain 135 * @n: New entry in notifier chain 137 * Adds a notifier to an atomic notifier chain. 155 * atomic_notifier_chain_register_unique_prio - Add notifier to an atomic notifier chain [all …]
|
| /linux/net/batman-adv/ |
| H A D | fragmentation.c | 32 * batadv_frag_clear_chain() - delete entries in the fragment buffer chain 33 * @head: head of chain with entries. 34 * @dropped: whether the chain is cleared because all fragments are dropped 63 struct batadv_frag_table_entry *chain; in batadv_frag_purge_orig() local 67 chain = &orig_node->fragments[i]; in batadv_frag_purge_orig() 68 spin_lock_bh(&chain->lock); in batadv_frag_purge_orig() 70 if (!check_cb || check_cb(chain)) { in batadv_frag_purge_orig() 71 batadv_frag_clear_chain(&chain->fragment_list, true); in batadv_frag_purge_orig() 72 chain->size = 0; in batadv_frag_purge_orig() 75 spin_unlock_bh(&chain->lock); in batadv_frag_purge_orig() [all …]
|
| /linux/include/linux/qed/ |
| H A D | qed_chain.h | 22 /* Chain is a single page (next ptr) is not required */ 30 QED_CHAIN_USE_TO_PRODUCE, /* Chain starts empty */ 31 QED_CHAIN_USE_TO_CONSUME, /* Chain starts full */ 32 QED_CHAIN_USE_TO_CONSUME_PRODUCE, /* Chain starts empty */ 36 /* The chain's size/prod/cons are kept in 16-bit variables */ 39 /* The chain's size/prod/cons are kept in 32-bit variables */ 76 /* Fastpath portion of the chain - required for commands such 88 * chain pages, respectively to the physical addresses 120 /* Slowpath of the chain - required for initialization and destruction, 133 /* Address of first page of the chain - the address is required [all …]
|
| /linux/drivers/s390/cio/ |
| H A D | vfio_ccw_cp.c | 34 /* Guest physical address of the current chain. */ 36 /* Count of the valid ccws in chain. */ 294 * @head: address of the beginning of a CCW chain 295 * @len: number of CCWs within the chain 297 * Determine whether the address of a CCW (whether a new chain, 320 struct ccwchain *chain; in ccwchain_alloc() local 322 chain = kzalloc_obj(*chain); in ccwchain_alloc() 323 if (!chain) in ccwchain_alloc() 326 chain->ch_ccw = kzalloc_objs(*chain->ch_ccw, len, GFP_DMA | GFP_KERNEL); in ccwchain_alloc() 327 if (!chain->ch_ccw) in ccwchain_alloc() [all …]
|
| /linux/drivers/media/usb/uvc/ |
| H A D | uvc_ctrl.c | 595 struct uvc_video_chain *chain, struct uvc_control *ctrl) in uvc_ctrl_filter_plf_mapping() argument 608 ret = uvc_query_ctrl(chain->dev, UVC_GET_CUR, ctrl->entity->id, in uvc_ctrl_filter_plf_mapping() 609 chain->dev->intfnum, ctrl->info.selector, in uvc_ctrl_filter_plf_mapping() 618 ret = uvc_query_ctrl(chain->dev, UVC_SET_CUR, ctrl->entity->id, in uvc_ctrl_filter_plf_mapping() 619 chain->dev->intfnum, ctrl->info.selector, in uvc_ctrl_filter_plf_mapping() 625 if (chain->dev->uvc_version < 0x150) in uvc_ctrl_filter_plf_mapping() 630 ret = uvc_query_ctrl(chain->dev, UVC_SET_CUR, ctrl->entity->id, in uvc_ctrl_filter_plf_mapping() 631 chain->dev->intfnum, ctrl->info.selector, in uvc_ctrl_filter_plf_mapping() 639 uvc_query_ctrl(chain->dev, UVC_SET_CUR, ctrl->entity->id, in uvc_ctrl_filter_plf_mapping() 640 chain->dev->intfnum, ctrl->info.selector, in uvc_ctrl_filter_plf_mapping() [all …]
|
| /linux/drivers/mtd/ |
| H A D | nftlcore.c | 188 * when the give Virtual Unit Chain 192 /* For a given Virtual Unit Chain: find or create a free block and in NFTL_findfreeblock() 193 add it to the chain */ in NFTL_findfreeblock() 194 /* We're passed the number of the last EUN in the chain, to save us from in NFTL_findfreeblock() 271 "Virtual Unit Chain %d!\n", thisVUC); in NFTL_foldchain() 276 512-byte block within the Chain. in NFTL_foldchain() 314 "in Virtual Unit Chain %d for block %d\n", in NFTL_foldchain() 323 "in Virtual Unit Chain %d for block %d\n", in NFTL_foldchain() 336 printk(KERN_WARNING "Infinite loop in Virtual Unit Chain 0x%x\n", in NFTL_foldchain() 379 pr_debug("Cannot fold Virtual Unit Chain %d in place. " in NFTL_foldchain() [all …]
|
| H A D | inftlcore.c | 196 * This function is used when the give Virtual Unit Chain. 257 "Virtual Unit Chain %d!\n", thisVUC); in INFTL_foldchain() 263 * 512-byte block within the Chain. in INFTL_foldchain() 299 "Unit Chain 0x%x\n", thisVUC); in INFTL_foldchain() 308 * Chain, and the Erase Unit into which we are supposed to be copying. in INFTL_foldchain() 311 pr_debug("INFTL: folding chain %d into unit %d\n", thisVUC, targetEUN); in INFTL_foldchain() 356 * Newest unit in chain now contains data from _all_ older units. in INFTL_foldchain() 357 * So go through and erase each unit in chain, oldest first. (This in INFTL_foldchain() 361 pr_debug("INFTL: want to erase virtual chain %d\n", thisVUC); in INFTL_foldchain() 364 /* Find oldest unit in chain. */ in INFTL_foldchain() [all …]
|
| /linux/tools/testing/selftests/drivers/net/ocelot/ |
| H A D | tc_flower_chains.sh | 19 # Helpers to map a VCAP IS1 and VCAP IS2 lookup and policy to a chain number 93 # separate chain number. For correct rule offloading, it is mandatory that each 97 # A chain can only be used if there is a GOTO action correctly set up from the 117 tc filter add dev $eth ingress chain 0 pref 49152 flower \ 118 skip_sw action goto chain $(IS1 0) 119 tc filter add dev $eth ingress chain $(IS1 0) pref 49152 \ 120 flower skip_sw action goto chain $(IS1 1) 121 tc filter add dev $eth ingress chain $(IS1 1) pref 49152 \ 122 flower skip_sw action goto chain $(IS1 2) 123 tc filter add dev $eth ingress chain $(IS1 2) pref 49152 \ [all …]
|
| /linux/drivers/net/ethernet/mscc/ |
| H A D | ocelot_flower.c | 13 * into the chain number. This is UAPI. 24 /* PSFP chain and block ID */ 28 static int ocelot_chain_to_block(int chain, bool ingress) in ocelot_chain_to_block() argument 33 if (chain == 0) in ocelot_chain_to_block() 38 /* Backwards compatibility with older, single-chain tc-flower in ocelot_chain_to_block() 41 if (chain == 0) in ocelot_chain_to_block() 45 if (chain == VCAP_IS1_CHAIN(lookup)) in ocelot_chain_to_block() 50 if (chain == VCAP_IS2_CHAIN(lookup, pag)) in ocelot_chain_to_block() 53 if (chain == OCELOT_PSFP_CHAIN) in ocelot_chain_to_block() 59 /* Caller must ensure this is a valid IS1 or IS2 chain first, [all …]
|
| /linux/net/netfilter/ |
| H A D | nf_tables_api.c | 129 const struct nft_chain *chain) in nft_chain_vstate_valid() argument 135 if (WARN_ON_ONCE(!nft_is_base_chain(ctx->chain))) in nft_chain_vstate_valid() 138 base_chain = nft_base_chain(ctx->chain); in nft_chain_vstate_valid() 142 /* chain is already validated for this call depth */ in nft_chain_vstate_valid() 143 if (chain->vstate.depth >= ctx->level && in nft_chain_vstate_valid() 144 chain->vstate.hook_mask[type] & BIT(hooknum)) in nft_chain_vstate_valid() 161 struct nft_chain *chain, in nft_ctx_init() argument 168 ctx->chain = chain; in nft_ctx_init() 263 struct nft_chain *chain, bool bind) in __nft_chain_trans_bind() argument 269 if (!nft_chain_binding(chain)) in __nft_chain_trans_bind() [all …]
|
| H A D | nf_tables_offload.c | 268 static int nft_flow_offload_cmd(const struct nft_chain *chain, in nft_flow_offload_cmd() argument 277 if (!nft_is_base_chain(chain)) in nft_flow_offload_cmd() 280 basechain = nft_base_chain(chain); in nft_flow_offload_cmd() 288 static int nft_flow_offload_rule(const struct nft_chain *chain, in nft_flow_offload_rule() argument 295 return nft_flow_offload_cmd(chain, rule, flow, command, &cls_flow); in nft_flow_offload_rule() 298 int nft_flow_rule_stats(const struct nft_chain *chain, in nft_flow_rule_stats() argument 305 err = nft_flow_offload_cmd(chain, rule, NULL, FLOW_CLS_STATS, in nft_flow_rule_stats() 331 struct nft_chain *chain; in nft_flow_offload_unbind() local 334 chain = &basechain->chain; in nft_flow_offload_unbind() 335 list_for_each_entry(rule, &chain->rules, list) { in nft_flow_offload_unbind() [all …]
|
| /linux/tools/testing/selftests/tc-testing/tc-tests/infra/ |
| H A D | filter.json | 4 … "name": "Soft lockup alarm will be not generated after delete the prio 0 filter of the chain", 7 "chain" 14 "$TC chain add dev $DUMMY", 15 "$TC filter del dev $DUMMY chain 0 parent 1: prio 0" 17 "cmdUnderTest": "$TC filter add dev $DUMMY chain 0 parent 1:", 19 "verifyCmd": "$TC chain ls dev $DUMMY", 20 "matchPattern": "chain parent 1: chain 0",
|
| /linux/include/net/netfilter/ |
| H A D | nf_tables.h | 98 * @chain: destination chain for NFT_JUMP/NFT_GOTO 102 struct nft_chain *chain; member 202 * @table: the table the chain is contained in 203 * @chain: the chain the rule is contained in 216 struct nft_chain *chain; member 664 * @chain: chain containing the rule bound to the set 672 const struct nft_chain *chain; member 1080 const struct nft_chain *chain; /* for nftables tracing */ member 1104 * If a chain is encountered again during table validation it is 1109 * @hook_mask: the hook numbers and locations the chain is linked to [all …]
|
| /linux/tools/testing/selftests/tc-testing/tc-tests/filters/ |
| H A D | flow.json | 18 …"matchPattern": "filter parent ffff: protocol ip pref 1 flow chain [0-9]+ handle 0x1 map keys dst … 40 …"matchPattern": "filter parent ffff: protocol ip pref 1 flow chain [0-9]+ handle 0x1 map keys dst.… 62 …"matchPattern": "filter parent ffff: protocol ip pref 1 flow chain [0-9]+ handle 0x1 map keys dst … 84 …"matchPattern": "filter parent ffff: protocol ip pref 1 flow chain [0-9]+ handle 0x1 map keys dst … 106 …"matchPattern": "filter parent ffff: protocol ip pref 1 flow chain [0-9]+ handle 0x1 map keys dst … 128 …"matchPattern": "filter parent ffff: protocol ip pref 1 flow chain [0-9]+ handle 0x1 map keys src … 150 …"matchPattern": "filter parent ffff: protocol ip pref 1 flow chain [0-9]+ handle 0x1 map keys prot… 172 …"matchPattern": "filter parent ffff: protocol ip pref 1 flow chain [0-9]+ handle 0x1 map keys prot… 194 …"matchPattern": "filter parent ffff: protocol ip pref 1 flow chain [0-9]+ handle 0x1 map keys prot… 216 …"matchPattern": "filter parent ffff: protocol ip pref 1 flow chain [0-9]+ handle 0x1 map keys iif … [all …]
|
| /linux/drivers/platform/x86/lenovo/ |
| H A D | wmi-events.c | 7 * notifier chain. 38 * lwmi_events_register_notifier() - Add a notifier to the notifier chain. 42 * lenovo-wmi-events driver blocking notifier chain. 54 * chain. 58 * from the lenovo-wmi-events driver blocking notifier chain. 70 * chain. 74 * the lenovo-wmi-events driver blocking notifier chain. 86 * devm_lwmi_events_register_notifier() - Add a notifier to the notifier chain. 91 * lenovo-wmi-events driver blocking notifier chain. Then add, as a device 111 * lwmi_events_notify() - Call functions for the notifier call chain. [all …]
|
| /linux/tools/testing/selftests/net/netfilter/ |
| H A D | nft_queue.sh | 5 # 2. support running nfqueue from more than one base chain 93 chain nfq { 97 chain pre { 101 chain input { 105 chain forward { 110 chain output { 116 chain post { 129 chain pre { 133 chain input { 137 chain forward { [all …]
|
| /linux/drivers/dma/ppc4xx/ |
| H A D | adma.h | 77 * @chain: device chain view of the descriptors 82 * @hw_chain_inited: h/w descriptor chain initialization flag 93 struct list_head chain; member 120 * @phys: hardware address of the hardware descriptor chain 122 * @hw_next: pointer to the next descriptor in chain 125 * @chain_node: node on the op_adma_chan.chain list 129 * @hw_desc: virtual address of the hardware descriptor chain 168 #define PPC440SPE_DESC_WXOR 4 /* WXORs are in chain */ 169 #define PPC440SPE_DESC_RXOR 5 /* RXOR is in chain */
|
| /linux/arch/mips/cavium-octeon/executive/ |
| H A D | cvmx-helper-jtag.c | 41 * of the JTAG chain by the cvmx_helper_qlm_jtag_*() functions. 43 * Networks. Programming incorrect values into the JTAG chain 74 * Write up to 32bits into the QLM jtag chain. Bits are shifted 76 * order bits followed by the high order bits. The JTAG chain is 81 * @data: Data to shift in. Bit 0 enters the chain first, followed by 84 * Returns The low order bits of the JTAG chain that shifted out of the 104 * Shift long sequences of zeros into the QLM JTAG chain. It is 106 * chain. This function is a convenience wrapper around 125 * Program the QLM JTAG chain into all lanes of the QLM. You must 127 * chain. Updating invalid values can possibly cause chip damage.
|