Home
last modified time | relevance | path

Searched full:tcs (Results 1 – 25 of 143) sorted by relevance

123456

/Linux-v6.1/drivers/soc/qcom/
Drpmh-rsc.c26 #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 …]
Drpmh-internal.h12 #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 …]
Dtrace-rpmh.h37 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/
Dqcom,rpmh-rsc.yaml15 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/
Daic94xx_tmf.c47 #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/
Dtest_encl.c73 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()
Dmain.c134 * 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 …]
Dtest_encl_bootstrap.S10 .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
Dtest_encl.lds5 tcs PT_LOAD;
13 .tcs : {
14 *(.tcs*)
15 } : tcs
/Linux-v6.1/drivers/net/ethernet/intel/ixgbe/
Dixgbe_lib.c25 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 …]
Dixgbe_dcb_82599.c204 * 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/
Dice_dcb_lib.c8 * 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/
Diavf.rst155 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
Di40e.rst664 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/
Dsgx.h171 * 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/
Dqcom,bcm-voter.yaml24 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/
Dhw_atl2.c115 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/
Daq_nic.c81 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 …]
Daq_ptp.h21 /* Index must to be 8 (8 TCs) or 16 (4 TCs).
Daq_nic.h73 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/
Dsgx.h129 * 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/
Dtcs.h48 * 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/
Dbcm-voter.c14 #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/
Dfm10k_dcbnl.c15 /* 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/
Dioctl.c377 * 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

123456