/linux-6.12.1/drivers/media/platform/st/stm32/stm32-dcmipp/ |
D | dcmipp-bytecap.c | 169 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/ |
D | ocelot_vcap.c | 50 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 …]
|
D | ocelot_flower.c | 12 /* 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/ |
D | Kconfig | 3 # 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 …]
|
D | vcap_api.h | 3 * 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 …]
|
D | vcap_api_client.h | 3 * 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 …]
|
D | vcap_api_private.h | 3 * 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 */
|
D | Makefile | 3 # 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
|
D | vcap_api_debugfs.c | 2 /* 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 …]
|
D | vcap_api.c | 2 /* 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 …]
|
D | vcap_api_debugfs_kunit.c | 3 * 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 */
|
D | vcap_api_debugfs.h | 3 * Microchip VCAP API 21 /* Create a debugFS entry for a vcap instance */
|
/linux-6.12.1/tools/testing/selftests/drivers/net/ocelot/ |
D | tc_flower_chains.sh | 19 # 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/ |
D | sparx5_vcap_impl.c | 2 /* 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 …]
|
D | sparx5_tc_flower.c | 2 /* 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 …]
|
D | sparx5_vcap_impl.h | 2 /* 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 */
|
D | sparx5_tc_matchall.c | 2 /* 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/ |
D | ocelot_vcap.h | 11 /* 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/ |
D | lan966x_goto.c | 23 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()
|
D | lan966x_vcap_impl.c | 21 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()
|
D | lan966x_regs.h | 1756 /* 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 …]
|
D | lan966x_vcap_debugfs.c | 221 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/ |
D | video_device_test.c | 85 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/ |
D | felix.h | 35 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/ |
D | bel-pfe.rst | 91 in2_label "vcap" 111 - curr3, fan2, vout[2-7], vcap, pin2, pout2 and temp3 attributes only
|