Home
last modified time | relevance | path

Searched full:vcap (Results 1 – 25 of 69) sorted by relevance

123

/linux-6.12.1/drivers/media/platform/st/stm32/stm32-dcmipp/
Ddcmipp-bytecap.c169 struct dcmipp_bytecap_device *vcap = video_drvdata(file); in dcmipp_bytecap_g_fmt_vid_cap() local
171 f->fmt.pix = vcap->format; in dcmipp_bytecap_g_fmt_vid_cap()
179 struct dcmipp_bytecap_device *vcap = video_drvdata(file); in dcmipp_bytecap_try_fmt_vid_cap() local
197 dev_dbg(vcap->dev, "resolution updated: %dx%d -> %dx%d\n", in dcmipp_bytecap_try_fmt_vid_cap()
219 struct dcmipp_bytecap_device *vcap = video_drvdata(file); in dcmipp_bytecap_s_fmt_vid_cap() local
223 if (vb2_is_busy(&vcap->queue)) in dcmipp_bytecap_s_fmt_vid_cap()
230 …dev_dbg(vcap->dev, "%s: format update: old:%ux%u (0x%p4cc, %u, %u, %u, %u) new:%ux%d (0x%p4cc, %u,… in dcmipp_bytecap_s_fmt_vid_cap()
231 vcap->vdev.name, in dcmipp_bytecap_s_fmt_vid_cap()
233 vcap->format.width, vcap->format.height, in dcmipp_bytecap_s_fmt_vid_cap()
234 &vcap->format.pixelformat, vcap->format.colorspace, in dcmipp_bytecap_s_fmt_vid_cap()
[all …]
/linux-6.12.1/drivers/net/ethernet/mscc/
Docelot_vcap.c50 const struct vcap_props *vcap) in vcap_read_update_ctrl() argument
52 return ocelot_target_read(ocelot, vcap->target, VCAP_CORE_UPDATE_CTRL); in vcap_read_update_ctrl()
55 static void vcap_cmd(struct ocelot *ocelot, const struct vcap_props *vcap, in vcap_cmd() argument
62 if ((sel & VCAP_SEL_ENTRY) && ix >= vcap->entry_count) in vcap_cmd()
74 ocelot_target_write(ocelot, vcap->target, value, VCAP_CORE_UPDATE_CTRL); in vcap_cmd()
78 10, 100000, false, ocelot, vcap); in vcap_cmd()
81 /* Convert from 0-based row to VCAP entry row and run command */
82 static void vcap_row_cmd(struct ocelot *ocelot, const struct vcap_props *vcap, in vcap_row_cmd() argument
85 vcap_cmd(ocelot, vcap, vcap->entry_count - row - 1, cmd, sel); in vcap_row_cmd()
89 const struct vcap_props *vcap, in vcap_entry2cache() argument
[all …]
Docelot_flower.c12 /* Arbitrarily chosen constants for encoding the VCAP block and lookup number
97 /* Can't offload GOTO in VCAP ES0 */ in ocelot_is_goto_target_valid()
103 /* VCAP IS1 can be skipped, either partially or completely */ in ocelot_is_goto_target_valid()
117 /* Lookup 2 of VCAP IS1 can really support non-optional GOTOs, in ocelot_is_goto_target_valid()
119 * value encoding a VCAP IS2 target chain. in ocelot_is_goto_target_valid()
129 /* Non-optional GOTO from VCAP IS2 lookup 0 to lookup 1. in ocelot_is_goto_target_valid()
136 /* VCAP IS2 lookup 1 can goto to PSFP block if hardware support */ in ocelot_is_goto_target_valid()
268 "Drop action can only be offloaded to VCAP IS2"); in ocelot_flower_parse_action()
287 "Accept action can only be offloaded to VCAP chains"); in ocelot_flower_parse_action()
302 "Trap action can only be offloaded to VCAP IS2 lookup 0"); in ocelot_flower_parse_action()
[all …]
/linux-6.12.1/drivers/net/ethernet/microchip/vcap/
DKconfig3 # Microchip VCAP API configuration
8 config VCAP config
9 bool "VCAP (Versatile Content-Aware Processor) library"
11 Provides the basic VCAP functionality for multiple Microchip switchcores
13 A VCAP is essentially a TCAM with rules consisting of
19 Besides this each VCAP has:
24 The VCAP implementation provides switchcore independent handling of rules
31 of the VCAP instances are attached to the VCAP API and a client can then
33 limitations that each VCAP has in terms of its supported keys and actions.
35 Different switchcores will have different VCAP instances with different
[all …]
Dvcap_api.h3 * Microchip VCAP API
38 /* Known users of the VCAP API */
56 /* VCAP information used for displaying data */
66 /* VCAP key/action field type, position and width */
73 /* VCAP keyset or actionset type and width */
80 /* VCAP typegroup position and bitvalue */
87 /* VCAP model data */
97 u16 version; /* vcap rtl version */
127 /* VCAP rule data towards the VCAP cache */
144 /* Commands towards the VCAP cache */
[all …]
Dvcap_api_client.h3 * Microchip VCAP API
16 /* Client supplied VCAP rule key control part */
63 /* Client supplied VCAP rule field data */
77 /* Client supplied VCAP rule key (value, mask) */
83 /* Client supplied VCAP rule action control part */
151 /* Enable/Disable the VCAP instance lookups */
156 /* VCAP rule operations */
166 /* Validate a rule before adding it to the VCAP */
168 /* Add rule to a VCAP instance */
170 /* Delete rule in a VCAP instance */
[all …]
Dvcap_api_private.h3 * Microchip VCAP API
22 /* Private VCAP API rule data */
25 struct list_head list; /* the vcap admin list of rules */
26 struct vcap_admin *admin; /* vcap hw instance */
29 u32 sort_key; /* defines the position in the VCAP */
35 u32 addr; /* address in the VCAP at insertion */
41 /* Bit iterator for the VCAP cache streams */
53 /* Erase the VCAP cache area used or encoding and decoding */
104 /* Read key data from a VCAP address and discover if there are any rule keysets
121 /* Decode a rule from the VCAP cache and return a copy */
DMakefile3 # Makefile for the Microchip VCAP API
6 obj-$(CONFIG_VCAP) += vcap.o
8 vcap-$(CONFIG_DEBUG_FS) += vcap_api_debugfs.o
10 vcap-y += vcap_api.o vcap_tc.o
Dvcap_api_debugfs.c2 /* Microchip VCAP API debug file system support
270 const struct vcap_info *vcap = &vctrl->vcaps[admin->vtype]; in vcap_show_admin_info() local
272 out->prf(out->dst, "name: %s\n", vcap->name); in vcap_show_admin_info()
273 out->prf(out->dst, "rows: %d\n", vcap->rows); in vcap_show_admin_info()
274 out->prf(out->dst, "sw_count: %d\n", vcap->sw_count); in vcap_show_admin_info()
275 out->prf(out->dst, "sw_width: %d\n", vcap->sw_width); in vcap_show_admin_info()
276 out->prf(out->dst, "sticky_width: %d\n", vcap->sticky_width); in vcap_show_admin_info()
277 out->prf(out->dst, "act_width: %d\n", vcap->act_width); in vcap_show_admin_info()
278 out->prf(out->dst, "default_cnt: %d\n", vcap->default_cnt); in vcap_show_admin_info()
279 out->prf(out->dst, "require_cnt_dis: %d\n", vcap->require_cnt_dis); in vcap_show_admin_info()
[all …]
Dvcap_api.c2 /* Microchip VCAP API
33 /* Moving a rule in the VCAP address space */
224 const struct vcap_info *vcap = &vctrl->vcaps[vt]; in vcap_verify_keystream_keyset() local
255 vcap_iter_init(&iter, vcap->sw_width, tgt, typefld->offset); in vcap_verify_keystream_keyset()
262 * one define in the vcap keyset in vcap_verify_keystream_keyset()
264 vcap_iter_init(&iter, vcap->sw_width, tgt, typefld->offset); in vcap_verify_keystream_keyset()
363 /* Read key data from a VCAP address and discover if there are any rule keysets
400 /* Check that the keyset exists in the vcap keyset list */ in vcap_keyfields()
413 /* Check that the keyset exists in the vcap keyset list */ in vcap_keyfieldset()
440 /* Check that the keyset exists in the vcap keyset list */ in vcap_keyfield_count()
[all …]
Dvcap_api_debugfs_kunit.c3 * Microchip VCAP API kunit test suite
34 /* Callback used by the VCAP API */
71 pr_info("%s:%d: no validation for VCAP %d\n", in test_val_keyset()
79 /* Callback used by the VCAP API */
92 /* Callback used by the VCAP API */
103 /* Callback used by the VCAP API */
111 /* Callback used by the VCAP API */
153 /* Callback used by the VCAP API */
195 /* Callback used by the VCAP API */
Dvcap_api_debugfs.h3 * Microchip VCAP API
21 /* Create a debugFS entry for a vcap instance */
/linux-6.12.1/tools/testing/selftests/drivers/net/ocelot/
Dtc_flower_chains.sh19 # Helpers to map a VCAP IS1 and VCAP IS2 lookup and policy to a chain number
21 # VCAP IS1 lookup 0: 10000
22 # VCAP IS1 lookup 1: 11000
23 # VCAP IS1 lookup 2: 12000
24 # VCAP IS2 lookup 0 policy 0: 20000
25 # VCAP IS2 lookup 0 policy 1: 20001
26 # VCAP IS2 lookup 0 policy 255: 20255
27 # VCAP IS2 lookup 1 policy 0: 21000
28 # VCAP IS2 lookup 1 policy 1: 21001
29 # VCAP IS2 lookup 1 policy 255: 21255
[all …]
/linux-6.12.1/drivers/net/ethernet/microchip/sparx5/
Dsparx5_vcap_impl.c2 /* Microchip Sparx5 Switch driver VCAP implementation
17 #define SUPER_VCAP_BLK_SIZE 3072 /* addresses per Super VCAP block */
18 #define STREAMSIZE (64 * 4) /* bytes in the VCAP cache area */
53 enum vcap_type vtype; /* type of vcap */
55 int lookups; /* number of lookups in this vcap type */
57 int first_cid; /* first chain id in this vcap */
58 int last_cid; /* last chain id in this vcap */
59 int count; /* number of available addresses, not in super vcap */
60 int map_id; /* id in the super vcap block mapping (if applicable) */
61 int blockno; /* starting block in super vcap (if applicable) */
[all …]
Dsparx5_tc_flower.c2 /* Microchip VCAP API
39 /* SparX-5 VCAP fragment types:
51 /* Flower fragment flag to VCAP fragment type mapping */
187 /* Extract VCAP fragment key and mask from verdict */ in sparx5_tc_flower_handler_control_usage()
215 "cvlan not supported in this VCAP"); in sparx5_tc_flower_handler_cvlan_usage()
387 pr_err("%s:%d: vcap type: %d not supported\n", in sparx5_tc_add_rule_counter()
572 /* Add the actionset that is the default for the VCAP type */
593 pr_err("%s:%d: %s\n", __func__, __LINE__, "Invalid VCAP type"); in sparx5_tc_set_actionset()
602 /* Add the VCAP key to match on for a rule target value */
640 /* Add the VCAP action that adds a target value to a rule */
[all …]
Dsparx5_vcap_impl.h2 /* Microchip Sparx5 Switch driver VCAP implementation
191 /* Get the port keyset for the vcap lookup */
204 /* Check if the ethertype is supported by the vcap port classification */
Dsparx5_tc_matchall.c2 /* Microchip VCAP API
114 "VCAP already enabled"); in sparx5_tc_matchall_replace()
124 "Could not enable VCAP lookups"); in sparx5_tc_matchall_replace()
/linux-6.12.1/include/soc/mscc/
Docelot_vcap.h11 /* Cookie definitions for private VCAP filters installed by the driver.
12 * Must be unique per VCAP block.
27 * VCAP Common
63 /* VCAP Type-Group values */
125 * VCAP IS2
286 * VCAP IS1
377 * VCAP ES0
619 /* VCAP ES0 */
637 /* VCAP IS1 */
652 /* VCAP IS2 */
[all …]
/linux-6.12.1/drivers/net/ethernet/microchip/lan966x/
Dlan966x_goto.c23 NL_SET_ERR_MSG_MOD(extack, "VCAP already enabled"); in lan966x_goto_port_add()
28 NL_SET_ERR_MSG_MOD(extack, "Could not enable VCAP lookups"); in lan966x_goto_port_add()
45 NL_SET_ERR_MSG_MOD(extack, "Could not disable VCAP lookups"); in lan966x_goto_port_del()
Dlan966x_vcap_impl.c21 enum vcap_type vtype; /* type of vcap */
23 int lookups; /* number of lookups in this vcap type */
24 int first_cid; /* first chain id in this vcap */
25 int last_cid; /* last chain id in this vcap */
27 bool ingress; /* is vcap in the ingress path */
122 /* Return the list of keysets for the vcap port configuration */
299 pr_err("vcap type: %s not supported\n", in lan966x_vcap_validate_keyset()
382 pr_err("vcap type: %s not supported\n", in lan966x_vcap_add_default_fields()
702 pr_err("vcap type: %s not supported\n", in lan966x_vcap_port_key_deselection()
Dlan966x_regs.h1756 /* VCAP:VCAP_CORE_CFG:VCAP_UPDATE_CTRL */
1807 /* VCAP:VCAP_CORE_CFG:VCAP_MV_CFG */
1822 /* VCAP:VCAP_CORE_CACHE:VCAP_ENTRY_DAT */
1825 /* VCAP:VCAP_CORE_CACHE:VCAP_MASK_DAT */
1828 /* VCAP:VCAP_CORE_CACHE:VCAP_ACTION_DAT */
1831 /* VCAP:VCAP_CORE_CACHE:VCAP_CNT_DAT */
1834 /* VCAP:VCAP_CORE_CACHE:VCAP_CNT_FW_DAT */
1837 /* VCAP:VCAP_CORE_CACHE:VCAP_TG_DAT */
1840 /* VCAP:VCAP_CORE_MAP:VCAP_CORE_IDX */
1849 /* VCAP:VCAP_CORE_MAP:VCAP_CORE_MAP */
[all …]
Dlan966x_vcap_debugfs.c221 const struct vcap_info *vcap; in lan966x_vcap_port_info() local
225 vcap = &vctrl->vcaps[admin->vtype]; in lan966x_vcap_port_info()
227 out->prf(out->dst, "%s:\n", vcap->name); in lan966x_vcap_port_info()
/linux-6.12.1/tools/testing/selftests/media_tests/
Dvideo_device_test.c85 struct v4l2_capability vcap; in loop_test() local
99 ret = ioctl(fd, VIDIOC_QUERYCAP, &vcap); in loop_test()
103 printf("Video device driver %s\n", vcap.driver); in loop_test()
/linux-6.12.1/drivers/net/dsa/ocelot/
Dfelix.h35 struct vcap_props *vcap; member
70 * protocol (like the NPI port, for "ocelot" or "seville", or the VCAP TCAMs,
/linux-6.12.1/Documentation/hwmon/
Dbel-pfe.rst91 in2_label "vcap"
111 - curr3, fan2, vout[2-7], vcap, pin2, pout2 and temp3 attributes only

123