/Linux-v6.1/drivers/soc/qcom/ |
D | rpmh-rsc.c | 26 #include <soc/qcom/tcs.h> 42 /* DRV TCS Configuration Information Register */ 49 /* Offsets for common TCS Registers, one bit per TCS */ 55 * Offsets for per TCS Registers. 58 * Multiply tcs_id by RSC_DRV_TCS_OFFSET to find a given TCS and add one 63 #define RSC_DRV_STATUS 0x18 /* zero if tcs is busy */ 67 * Offsets for per command in a TCS. 69 * Commands (up to 16) start at 0x30 in a TCS; multiply command index 81 /* TCS CMD register bit mask */ 95 * space are all the TCS blocks. The offset of the TCS blocks is [all …]
|
D | rpmh-internal.h | 12 #include <soc/qcom/tcs.h> 23 * struct tcs_group: group of Trigger Command Sets (TCS) to send state requests 27 * @type: Type of the TCS in this group - active, sleep, wake. 29 * @offset: Start of the TCS group relative to the TCSes in the RSC. 31 * @ncpt: Number of commands in each TCS. 32 * @req: Requests that are sent from the TCS; only used for ACTIVE_ONLY 33 * transfers (could be on a wake/sleep TCS if we are borrowing for 42 * MAX_CMDS_PER_TCS = 16 then bit[2] = the first bit in 2nd TCS. 94 * @tcs_base: Start address of the TCS registers in this controller. 101 * @tcs: TCS groups. [all …]
|
D | trace-rpmh.h | 37 TP_printk("%s: ack: tcs-m: %d addr: %#x data: %#x errno: %d", 69 TP_printk("%s: send-msg: tcs(m): %d cmd(n): %d msgid: %#x addr: %#x data: %#x complete: %d",
|
/Linux-v6.1/Documentation/devicetree/bindings/soc/qcom/ |
D | qcom,rpmh-rsc.yaml | 15 resources can be written to the Trigger Command Set (TCS) registers and 16 using a (addr, val) pair and triggered. Messages in the TCS are then sent in 25 A TCS may be triggered from Linux or triggered by the F/W after all the CPUs 26 have powered off to facilitate idle power saving. TCS could be classified as:: 66 qcom,tcs-config: 73 TCS type:: 79 - description: Number of TCS 81 The tuple defining the configuration of TCS. Must have two cells which 82 describe each TCS type. The order of the TCS must match the hardware 85 qcom,tcs-offset: [all …]
|
/Linux-v6.1/drivers/scsi/aic94xx/ |
D | aic94xx_tmf.c | 47 #define DECLARE_TCS(tcs) \ argument 48 struct tasklet_completion_status tcs = { \ 59 struct tasklet_completion_status *tcs = ascb->uldd_task; in asd_clear_nexus_tasklet_complete() local 66 tcs->dl_opcode = dl->opcode; in asd_clear_nexus_tasklet_complete() 74 struct tasklet_completion_status *tcs = ascb->uldd_task; in asd_clear_nexus_timedout() local 77 tcs->dl_opcode = TMF_RESP_FUNC_FAILED; in asd_clear_nexus_timedout() 86 DECLARE_TCS(tcs); \ 95 ascb->uldd_task = &tcs; \ 107 res = tcs.dl_opcode; \ 248 struct tasklet_completion_status *tcs = ascb->uldd_task; in asd_tmf_timedout() local [all …]
|
/Linux-v6.1/tools/testing/selftests/sgx/ |
D | test_encl.c | 73 void *tcs = (void *)op->tcs_page; in do_encl_init_tcs_page() local 76 memset(tcs, 0, 16); /* STATE and FLAGS */ in do_encl_init_tcs_page() 77 memcpy(tcs + 16, &op->ssa, 8); /* OSSA */ in do_encl_init_tcs_page() 78 memset(tcs + 24, 0, 4); /* CSSA */ in do_encl_init_tcs_page() 80 memcpy(tcs + 28, &val_32, 4); /* NSSA */ in do_encl_init_tcs_page() 81 memcpy(tcs + 32, &op->entry, 8); /* OENTRY */ in do_encl_init_tcs_page() 82 memset(tcs + 40, 0, 24); /* AEP, OFSBASE, OGSBASE */ in do_encl_init_tcs_page() 84 memcpy(tcs + 64, &val_32, 4); /* FSLIMIT */ in do_encl_init_tcs_page() 85 memcpy(tcs + 68, &val_32, 4); /* GSLIMIT */ in do_encl_init_tcs_page() 86 memset(tcs + 72, 0, 4024); /* Reserved */ in do_encl_init_tcs_page()
|
D | main.c | 134 * Return the offset in the enclave where the TCS segment can be found. 135 * The first RW segment loaded is the TCS. 153 * The first RW segment loaded is the TCS, skip that to get info on the 290 self->run.tcs = self->encl.encl_base; in TEST_F() 363 self->run.tcs = self->encl.encl_base; in TEST_F() 429 self->run.tcs = self->encl.encl_base; 512 self->run.tcs = self->encl.encl_base; in TEST_F() 548 self->run.tcs = self->encl.encl_base; in TEST_F() 572 * Sanity check that it is possible to enter either of the two hardcoded TCS 581 self->run.tcs = self->encl.encl_base; in TEST_F() [all …]
|
D | test_encl_bootstrap.S | 10 .section ".tcs", "aw" 43 # RBX contains the base address for TCS, which is the first address 44 # inside the enclave for TCS #1 and one page into the enclave for 45 # TCS #2. By adding the value of encl_stack to it, we get 50 # Entry point for dynamically created TCS page expected to follow 97 # Stack of TCS #1 101 # Stack of TCS #2
|
D | test_encl.lds | 5 tcs PT_LOAD; 13 .tcs : { 14 *(.tcs*) 15 } : tcs
|
/Linux-v6.1/drivers/net/ethernet/intel/ixgbe/ |
D | ixgbe_lib.c | 25 u8 tcs = adapter->hw_tcs; in ixgbe_cache_ring_dcb_sriov() local 28 if (tcs <= 1) in ixgbe_cache_ring_dcb_sriov() 39 if ((reg_idx & ~vmdq->mask) >= tcs) { in ixgbe_cache_ring_dcb_sriov() 50 if ((reg_idx & ~vmdq->mask) >= tcs) in ixgbe_cache_ring_dcb_sriov() 61 if (fcoe->offset < tcs) in ixgbe_cache_ring_dcb_sriov() 112 * TCs : TC0/1 TC2/3 TC4-7 in ixgbe_get_first_reg_idx() 125 * TCs : TC0 TC1 TC2/3 in ixgbe_get_first_reg_idx() 333 u8 tcs = adapter->hw_tcs; in ixgbe_set_dcb_sriov_queues() local 336 if (tcs <= 1) in ixgbe_set_dcb_sriov_queues() 344 vmdq_i = min_t(u16, vmdq_i, MAX_TX_QUEUES / tcs); in ixgbe_set_dcb_sriov_queues() [all …]
|
D | ixgbe_dcb_82599.c | 204 * So clear all TCs and only enable those that should be in ixgbe_dcb_config_pfc_82599() 257 /* Configure pause time (2 TCs per register) */ in ixgbe_dcb_config_pfc_82599() 295 * Tx queues are allocated non-uniformly to TCs: in ixgbe_dcb_config_tc_stats_82599()
|
/Linux-v6.1/drivers/net/ethernet/intel/ice/ |
D | ice_dcb_lib.c | 8 * ice_dcb_get_ena_tc - return bitmap of enabled TCs 9 * @dcbcfg: DCB config to evaluate for enabled TCs 102 * ice_dcb_get_num_tc - Get the number of TCs from DCBX config 103 * @dcbcfg: config to retrieve number of TCs from 113 * enabled and create a bitmask of enabled TCs in ice_dcb_get_num_tc() 118 /* Scan bitmask for contiguous TCs starting with TC0 */ in ice_dcb_get_num_tc() 124 pr_err("Non-contiguous TCs - Disabling DCB\n"); in ice_dcb_get_num_tc() 157 /* get bitmap of enabled TCs */ in ice_get_first_droptc() 160 /* get bitmap of PFC enabled TCs */ in ice_get_first_droptc() 317 /* returns number of contigous TCs and 1 TC for non-contigous TCs, in ice_dcb_bwchk() [all …]
|
/Linux-v6.1/Documentation/networking/device_drivers/ethernet/intel/ |
D | iavf.rst | 155 1. Create traffic classes (TCs). Maximum of 8 TCs can be created per interface. 158 Example: Sets up two tcs, tc0 and tc1, with 16 queues each and max tx rate set 167 map: priority mapping for up to 16 priorities to tcs (e.g. map 0 0 0 0 1 1 1 1 172 number of queues for all tcs is 64 or number of cores, whichever is lower.) 176 TCs, the queue configurations, and the QoS parameters. 186 TCs are configured using mqprio. 192 3. Apply TCs to ingress (RX) flow of interface:: 199 - Setting up channels via ethtool (ethtool -L) is not supported when the TCs 216 - If traffic matches multiple TC filters that point to different TCs, that
|
D | i40e.rst | 664 1. Create traffic classes (TCs). Maximum of 8 TCs can be created per interface. 667 Example: Sets up two tcs, tc0 and tc1, with 16 queues each and max tx rate set 676 map: priority mapping for up to 16 priorities to tcs (e.g. map 0 0 0 0 1 1 1 1 681 number of queues for all tcs is 64 or number of cores, whichever is lower.) 685 TCs, the queue configurations, and the QoS parameters. 697 3. Apply TCs to ingress (RX) flow of interface:: 705 TCs are configured using mqprio. 722 - If traffic matches multiple TC filters that point to different TCs,
|
/Linux-v6.1/arch/x86/include/asm/ |
D | sgx.h | 171 * enum sgx_tcs_flags - execution flags for TCS 184 * struct sgx_tcs - Thread Control Structure (TCS) 185 * @state: used to mark an entered TCS 200 * Thread Control Structure (TCS) is an enclave page visible in its address 202 * an enclave by supplying address of TCS to ENCLU(EENTER). A TCS can be entered 238 * %SGX_PAGE_TYPE_TCS: a TCS page 263 * %SGX_SECINFO_TCS: a TCS page
|
/Linux-v6.1/Documentation/devicetree/bindings/interconnect/ |
D | qcom,bcm-voter.yaml | 24 qcom,tcs-wait: 30 The AMC TCS is triggered immediately when icc_set_bw() is called. The 63 qcom,tcs-wait = <QCOM_ICC_TAG_AMC>;
|
/Linux-v6.1/drivers/net/ethernet/aquantia/atlantic/hw_atl2/ |
D | hw_atl2.c | 115 unsigned int tcs, q_per_tc; in hw_atl2_hw_queue_to_tc_map_set() local 124 tcs = 8; in hw_atl2_hw_queue_to_tc_map_set() 128 tcs = 4; in hw_atl2_hw_queue_to_tc_map_set() 135 for (tc = 0; tc != tcs; tc++) { in hw_atl2_hw_queue_to_tc_map_set() 177 tx_buff_size /= cfg->tcs; in hw_atl2_hw_qos_set() 178 rx_buff_size /= cfg->tcs; in hw_atl2_hw_qos_set() 179 for (tc = 0; tc < cfg->tcs; tc++) { in hw_atl2_hw_qos_set() 263 (BIT(nic_cfg->tcs) - 1); in hw_atl2_hw_init_tx_tc_rate_limit() 269 for (tc = 0; tc != nic_cfg->tcs; tc++) { in hw_atl2_hw_init_tx_tc_rate_limit() 295 for (tc = 0; tc != nic_cfg->tcs; tc++) { in hw_atl2_hw_init_tx_tc_rate_limit() [all …]
|
/Linux-v6.1/drivers/net/ethernet/aquantia/atlantic/ |
D | aq_nic.c | 81 if (cfg->tcs > 2) in aq_nic_cfg_update_num_vecs() 101 cfg->tcs = AQ_CFG_TCS_DEF; in aq_nic_cfg_start() 153 cfg->prio_tc_map[i] = cfg->tcs * i / 8; in aq_nic_cfg_start() 550 self->aq_vecs * cfg->tcs); in aq_nic_start() 555 self->aq_vecs * cfg->tcs); in aq_nic_start() 559 for (i = 0; i < cfg->tcs; i++) { in aq_nic_start() 1063 for (tc = 0U; tc < self->aq_nic_cfg.tcs; tc++) { in aq_nic_get_stats() 1593 int aq_nic_setup_tc_mqprio(struct aq_nic_s *self, u32 tcs, u8 *prio_tc_map) in aq_nic_setup_tc_mqprio() argument 1602 * disable request (tcs is 0) and we already is disabled in aq_nic_setup_tc_mqprio() 1604 if (tcs == cfg->tcs || (tcs == 0 && !cfg->is_qos)) in aq_nic_setup_tc_mqprio() [all …]
|
D | aq_ptp.h | 21 /* Index must to be 8 (8 TCs) or 16 (4 TCs).
|
D | aq_nic.h | 73 u8 tcs; member 216 int aq_nic_setup_tc_mqprio(struct aq_nic_s *self, u32 tcs, u8 *prio_tc_map);
|
/Linux-v6.1/arch/x86/include/uapi/asm/ |
D | sgx.h | 129 * Regular (PT_REG) or TCS (PT_TCS) can be removed from an initialized 162 * @tcs: TCS used to enter the enclave 177 __u64 tcs; member 207 * with @function, asynchronous exit pointer, and @run.tcs respectively.
|
/Linux-v6.1/include/soc/qcom/ |
D | tcs.h | 48 * struct tcs_request: A set of tcs_cmds sent together in a TCS 72 /* Construct a Bus Clock Manager (BCM) specific TCS command */
|
/Linux-v6.1/drivers/interconnect/qcom/ |
D | bcm-voter.c | 14 #include <soc/qcom/tcs.h> 30 * @tcs_wait: mask for which buckets require TCS completion 235 * qcom_icc_bcm_voter_commit - generates and commits tcs cmds based on bcms 348 if (of_property_read_u32(np, "qcom,tcs-wait", &voter->tcs_wait)) in qcom_icc_bcm_voter_probe()
|
/Linux-v6.1/drivers/net/ethernet/intel/fm10k/ |
D | fm10k_dcbnl.c | 15 /* we support 8 TCs in all modes */ in fm10k_dcbnl_ieee_getets() 81 /* record flow control max count and state of TCs */ in fm10k_dcbnl_ieee_getpfc()
|
/Linux-v6.1/arch/x86/kernel/cpu/sgx/ |
D | ioctl.c | 377 * A SECINFO for a TCS is required to always contain zero permissions because 386 * 2. A TCS page: PROT_R | PROT_W. 931 * or SGX_PAGE_TYPE_TRIM but TCS pages can only be trimmed. in sgx_enclave_modify_types() 944 * Once a regular page becomes a TCS page it cannot be in sgx_enclave_modify_types() 946 * the TCS page that is always RW from kernel perspective but in sgx_enclave_modify_types() 1035 * * It is possible to add TCS pages to an enclave by changing the type of 1036 * regular pages (%SGX_PAGE_TYPE_REG) to TCS (%SGX_PAGE_TYPE_TCS) pages. 1040 * * Regular or TCS pages can dynamically be removed from an initialized
|