| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/soc/qcom/ |
| D | rpmh-rsc.txt | 2 ------------ 6 can be written to the Trigger Command Set (TCS) registers and using a (addr, 7 val) pair and triggered. Messages in the TCS are then sent in sequence over an 16 A TCS may be triggered from Linux or triggered by the F/W after all the CPUs 17 have powered off to facilitate idle power saving. TCS could be classified as - 35 - compatible: 38 Definition: Should be "qcom,rpmh-rsc". 40 - reg: 42 Value type: <prop-encoded-array> 45 The tcs-offset specifies the start address of the [all …]
|
| /kernel/linux/linux-5.10/drivers/soc/qcom/ |
| D | rpmh-rsc.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (c) 2016-2018, The Linux Foundation. All rights reserved. 24 #include <soc/qcom/cmd-db.h> 25 #include <soc/qcom/tcs.h> 26 #include <dt-bindings/soc/qcom,rpmh-rsc.h> 28 #include "rpmh-internal.h" 31 #include "trace-rpmh.h" 41 /* DRV TCS Configuration Information Register */ 48 /* Offsets for common TCS Registers, one bit per TCS */ 54 * Offsets for per TCS Registers. [all …]
|
| D | rpmh-internal.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * Copyright (c) 2016-2018, The Linux Foundation. All rights reserved. 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 35 * Start: grab drv->lock, set req, set tcs_in_use, drop drv->lock, [all …]
|
| /kernel/linux/linux-6.6/drivers/soc/qcom/ |
| D | rpmh-rsc.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (c) 2016-2018, The Linux Foundation. All rights reserved. 4 * Copyright (c) 2023-2024, Qualcomm Innovation Center, Inc. All rights reserved. 31 #include <soc/qcom/cmd-db.h> 32 #include <soc/qcom/tcs.h> 33 #include <dt-bindings/soc/qcom,rpmh-rsc.h> 35 #include "rpmh-internal.h" 38 #include "trace-rpmh.h" 71 /* DRV TCS Configuration Information Register */ 77 /* Offsets for CONTROL TCS Registers */ [all …]
|
| D | rpmh-internal.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * Copyright (c) 2016-2018, The Linux Foundation. All rights reserved. 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 35 * Start: grab drv->lock, set req, set tcs_in_use, drop drv->lock, [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/soc/qcom/ |
| D | qcom,rpmh-rsc.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only 3 --- 4 $id: http://devicetree.org/schemas/soc/qcom/qcom,rpmh-rsc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Bjorn Andersson <bjorn.andersson@linaro.org> 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:: 27 ACTIVE - Triggered by Linux [all …]
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/intel/ixgbe/ |
| D | ixgbe_lib.c | 1 // SPDX-License-Identifier: GPL-2.0 2 /* Copyright(c) 1999 - 2018 Intel Corporation. */ 9 * ixgbe_cache_ring_dcb_sriov - Descriptor ring to register mapping for SR-IOV 12 * Cache the descriptor ring offsets for SR-IOV to the assigned rings. It 20 struct ixgbe_ring_feature *fcoe = &adapter->ring_feature[RING_F_FCOE]; in ixgbe_cache_ring_dcb_sriov() 22 struct ixgbe_ring_feature *vmdq = &adapter->ring_feature[RING_F_VMDQ]; in ixgbe_cache_ring_dcb_sriov() 25 u8 tcs = adapter->hw_tcs; in ixgbe_cache_ring_dcb_sriov() local 28 if (tcs <= 1) in ixgbe_cache_ring_dcb_sriov() 32 if (!(adapter->flags & IXGBE_FLAG_SRIOV_ENABLED)) in ixgbe_cache_ring_dcb_sriov() 35 /* start at VMDq register offset for SR-IOV enabled setups */ in ixgbe_cache_ring_dcb_sriov() [all …]
|
| /kernel/linux/linux-5.10/drivers/net/ethernet/intel/ixgbe/ |
| D | ixgbe_lib.c | 1 // SPDX-License-Identifier: GPL-2.0 2 /* Copyright(c) 1999 - 2018 Intel Corporation. */ 9 * ixgbe_cache_ring_dcb_sriov - Descriptor ring to register mapping for SR-IOV 12 * Cache the descriptor ring offsets for SR-IOV to the assigned rings. It 20 struct ixgbe_ring_feature *fcoe = &adapter->ring_feature[RING_F_FCOE]; in ixgbe_cache_ring_dcb_sriov() 22 struct ixgbe_ring_feature *vmdq = &adapter->ring_feature[RING_F_VMDQ]; in ixgbe_cache_ring_dcb_sriov() 25 u8 tcs = adapter->hw_tcs; in ixgbe_cache_ring_dcb_sriov() local 28 if (tcs <= 1) in ixgbe_cache_ring_dcb_sriov() 32 if (!(adapter->flags & IXGBE_FLAG_SRIOV_ENABLED)) in ixgbe_cache_ring_dcb_sriov() 35 /* start at VMDq register offset for SR-IOV enabled setups */ in ixgbe_cache_ring_dcb_sriov() [all …]
|
| /kernel/linux/linux-6.6/tools/testing/selftests/sgx/ |
| D | main.c | 1 // SPDX-License-Identifier: GPL-2.0 2 /* Copyright(c) 2016-20 Intel Corporation. */ 30 * instructions (eg. ENCLU[EACCEPT] and ENCLU[EMODPE]) holds meta-data 49 Elf64_Phdr *phdrtab = addr + ehdr->e_phoff; in vdso_get_dyntab() 52 for (i = 0; i < ehdr->e_phnum; i++) in vdso_get_dyntab() 74 symtab->elf_symtab = vdso_get_dyn(addr, dyntab, DT_SYMTAB); in vdso_get_symtab() 75 if (!symtab->elf_symtab) in vdso_get_symtab() 78 symtab->elf_symstrtab = vdso_get_dyn(addr, dyntab, DT_STRTAB); in vdso_get_symtab() 79 if (!symtab->elf_symstrtab) in vdso_get_symtab() 82 symtab->elf_hashtab = vdso_get_dyn(addr, dyntab, DT_HASH); in vdso_get_symtab() [all …]
|
| /kernel/linux/linux-6.6/arch/x86/include/uapi/asm/ |
| D | sgx.h | 1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 3 * Copyright(c) 2016-20 Intel Corporation. 12 * enum sgx_page_flags - page control flags 40 * struct sgx_enclave_create - parameter structure for the 49 * struct sgx_enclave_add_pages - parameter structure for the 52 * @offset: starting page offset 60 __u64 offset; member 68 * struct sgx_enclave_init - parameter structure for the 77 * struct sgx_enclave_provision - parameter structure for the 86 * struct sgx_enclave_restrict_permissions - parameters for ioctl [all …]
|
| /kernel/linux/linux-6.6/arch/x86/include/asm/ |
| D | sgx.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * Copyright(c) 2016-20 Intel Corporation. 49 * SGX_ENCLS_FAULT_FLAG - flag signifying an ENCLS return code is a trapnr 57 * convert all faults to -EFAULT. 67 * enum sgx_return_code - The return code type for ENCLS, ENCLU and ENCLV 87 /* The modulus size for 3072-bit RSA keys. */ 91 * enum sgx_miscselect - additional information to an SSA frame 108 * enum sgx_attributes - the attributes field in &struct sgx_secs 111 * %SGX_ATTR_MODE64BIT: Tell that this a 64-bit enclave. 150 * struct sgx_secs - SGX Enclave Control Structure (SECS) [all …]
|
| /kernel/linux/linux-6.6/Documentation/networking/device_drivers/ethernet/intel/ |
| D | iavf.rst | 1 .. SPDX-License-Identifier: GPL-2.0+ 8 Copyright(c) 2013-2018 Intel Corporation. 13 - Overview 14 - Identifying Your Adapter 15 - Additional Configurations 16 - Known Issues/Troubleshooting 17 - Support 30 The guest OS loading the iavf driver must support MSI-X interrupts. 53 --------------------- 58 # dmesg -n 8 [all …]
|
| D | i40e.rst | 1 .. SPDX-License-Identifier: GPL-2.0+ 8 Copyright(c) 1999-2018 Intel Corporation. 13 - Overview 14 - Identifying Your Adapter 15 - Intel(R) Ethernet Flow Director 16 - Additional Configurations 17 - Known Issues 18 - Support 47 ---------------------- 49 …intel.com/content/dam/www/public/us/en/documents/release-notes/xl710-ethernet-controller-feature-m… [all …]
|
| /kernel/linux/linux-5.10/Documentation/networking/device_drivers/ethernet/intel/ |
| D | iavf.rst | 1 .. SPDX-License-Identifier: GPL-2.0+ 8 Copyright(c) 2013-2018 Intel Corporation. 13 - Overview 14 - Identifying Your Adapter 15 - Additional Configurations 16 - Known Issues/Troubleshooting 17 - Support 30 The guest OS loading the iavf driver must support MSI-X interrupts. 53 --------------------- 58 # dmesg -n 8 [all …]
|
| D | i40e.rst | 1 .. SPDX-License-Identifier: GPL-2.0+ 8 Copyright(c) 1999-2018 Intel Corporation. 13 - Overview 14 - Identifying Your Adapter 15 - Intel(R) Ethernet Flow Director 16 - Additional Configurations 17 - Known Issues 18 - Support 47 ---------------------- 49 …intel.com/content/dam/www/public/us/en/documents/release-notes/xl710-ethernet-controller-feature-m… [all …]
|
| /kernel/linux/linux-5.10/include/soc/qcom/ |
| D | tcs.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * Copyright (c) 2016-2019, The Linux Foundation. All rights reserved. 31 * @addr: the address of the resource slv_id:18:16 | offset:0:15 42 * struct tcs_request: A set of tcs_cmds sent together in a TCS 65 /* Construct a Bus Clock Manager (BCM) specific TCS command */
|
| /kernel/linux/linux-6.6/arch/x86/kernel/cpu/sgx/ |
| D | ioctl.c | 1 // SPDX-License-Identifier: GPL-2.0 2 /* Copyright(c) 2016-20 Intel Corporation. */ 28 if (!(encl->page_cnt % SGX_VA_SLOT_COUNT)) { in sgx_encl_grow() 31 return ERR_PTR(-ENOMEM); in sgx_encl_grow() 33 va_page->epc_page = sgx_alloc_va_page(reclaim); in sgx_encl_grow() 34 if (IS_ERR(va_page->epc_page)) { in sgx_encl_grow() 35 err = ERR_CAST(va_page->epc_page); in sgx_encl_grow() 40 WARN_ON_ONCE(encl->page_cnt % SGX_VA_SLOT_COUNT); in sgx_encl_grow() 42 encl->page_cnt++; in sgx_encl_grow() 48 encl->page_cnt--; in sgx_encl_shrink() [all …]
|
| /kernel/linux/linux-6.6/include/soc/qcom/ |
| D | tcs.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * Copyright (c) 2016-2019, The Linux Foundation. All rights reserved. 31 * @addr: the address of the resource slv_id:18:16 | offset:0:15 35 * active-only transfers, this is because: 36 * rpmh_write() - Always waits. 38 * rpmh_write_async() - Never waits. 48 * struct tcs_request: A set of tcs_cmds sent together in a TCS 52 * (same as setting cmd->wait for all commands in the request) 72 /* Construct a Bus Clock Manager (BCM) specific TCS command */
|
| /kernel/linux/linux-5.10/drivers/net/ethernet/aquantia/atlantic/ |
| D | aq_nic.c | 1 // SPDX-License-Identifier: GPL-2.0-only 4 * Copyright (C) 2014-2019 aQuantia Corporation 5 * Copyright (C) 2019-2020 Marvell International Ltd. 54 struct aq_nic_cfg_s *cfg = &self->aq_nic_cfg; in aq_nic_rss_init() 58 rss_params = &cfg->aq_rss; in aq_nic_rss_init() 60 rss_params->hash_secret_key_size = sizeof(rss_key); in aq_nic_rss_init() 61 memcpy(rss_params->hash_secret_key, rss_key, sizeof(rss_key)); in aq_nic_rss_init() 62 rss_params->indirection_table_size = AQ_CFG_RSS_INDIRECTION_TABLE_MAX; in aq_nic_rss_init() 64 for (i = rss_params->indirection_table_size; i--;) in aq_nic_rss_init() 65 rss_params->indirection_table[i] = i & (num_rss_queues - 1); in aq_nic_rss_init() [all …]
|
| /kernel/linux/linux-5.10/drivers/net/ethernet/aquantia/atlantic/hw_atl2/ |
| D | hw_atl2.c | 1 // SPDX-License-Identifier: GPL-2.0-only 96 struct hw_atl2_priv *priv = (struct hw_atl2_priv *)self->priv; in hw_atl2_hw_reset() 105 self->aq_fw_ops->set_state(self, MPI_RESET); in hw_atl2_hw_reset() 114 struct aq_nic_cfg_s *cfg = self->aq_nic_cfg; in hw_atl2_hw_queue_to_tc_map_set() 115 unsigned int tcs, q_per_tc; in hw_atl2_hw_queue_to_tc_map_set() local 122 switch (cfg->tc_mode) { in hw_atl2_hw_queue_to_tc_map_set() 124 tcs = 8; in hw_atl2_hw_queue_to_tc_map_set() 128 tcs = 4; in hw_atl2_hw_queue_to_tc_map_set() 132 return -EINVAL; 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() [all …]
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/aquantia/atlantic/hw_atl2/ |
| D | hw_atl2.c | 1 // SPDX-License-Identifier: GPL-2.0-only 96 struct hw_atl2_priv *priv = self->priv; in hw_atl2_hw_reset() 105 self->aq_fw_ops->set_state(self, MPI_RESET); in hw_atl2_hw_reset() 114 struct aq_nic_cfg_s *cfg = self->aq_nic_cfg; in hw_atl2_hw_queue_to_tc_map_set() 115 unsigned int tcs, q_per_tc; in hw_atl2_hw_queue_to_tc_map_set() local 122 switch (cfg->tc_mode) { in hw_atl2_hw_queue_to_tc_map_set() 124 tcs = 8; in hw_atl2_hw_queue_to_tc_map_set() 128 tcs = 4; in hw_atl2_hw_queue_to_tc_map_set() 132 return -EINVAL; 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() [all …]
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/aquantia/atlantic/ |
| D | aq_nic.c | 1 // SPDX-License-Identifier: GPL-2.0-only 4 * Copyright (C) 2014-2019 aQuantia Corporation 5 * Copyright (C) 2019-2020 Marvell International Ltd. 54 struct aq_nic_cfg_s *cfg = &self->aq_nic_cfg; in aq_nic_rss_init() 58 rss_params = &cfg->aq_rss; in aq_nic_rss_init() 60 rss_params->hash_secret_key_size = sizeof(rss_key); in aq_nic_rss_init() 61 memcpy(rss_params->hash_secret_key, rss_key, sizeof(rss_key)); in aq_nic_rss_init() 62 rss_params->indirection_table_size = AQ_CFG_RSS_INDIRECTION_TABLE_MAX; in aq_nic_rss_init() 64 for (i = rss_params->indirection_table_size; i--;) in aq_nic_rss_init() 65 rss_params->indirection_table[i] = i & (num_rss_queues - 1); in aq_nic_rss_init() [all …]
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/intel/ice/ |
| D | ice_dcb_lib.c | 1 // SPDX-License-Identifier: GPL-2.0 9 * ice_dcb_get_ena_tc - return bitmap of enabled TCs 10 * @dcbcfg: DCB config to evaluate for enabled TCs 43 if (vsi->tc_cfg.ena_tc & BIT(i)) in ice_is_pfc_causing_hung_q() 47 for (tc = 0; tc < num_tcs - 1; tc++) in ice_is_pfc_causing_hung_q() 48 if (ice_find_q_in_range(vsi->tc_cfg.tc_info[tc].qoffset, in ice_is_pfc_causing_hung_q() 49 vsi->tc_cfg.tc_info[tc + 1].qoffset, in ice_is_pfc_causing_hung_q() 56 up2tc = rd32(&pf->hw, PRTDCB_TUP2TC); in ice_is_pfc_causing_hung_q() 70 ref_prio_xoff[i] = pf->stats.priority_xoff_rx[i]; in ice_is_pfc_causing_hung_q() 76 if (pf->stats.priority_xoff_rx[i] > ref_prio_xoff[i]) in ice_is_pfc_causing_hung_q() [all …]
|
| /kernel/linux/linux-6.6/net/sched/ |
| D | sch_mqprio_lib.c | 1 // SPDX-License-Identifier: GPL-2.0-only 26 for (i = 0; i < qopt->num_tc; i++) { in mqprio_validate_queue_counts() 27 unsigned int last = qopt->offset[i] + qopt->count[i]; in mqprio_validate_queue_counts() 29 if (!qopt->count[i]) { in mqprio_validate_queue_counts() 32 return -EINVAL; in mqprio_validate_queue_counts() 38 if (qopt->offset[i] >= dev->real_num_tx_queues || in mqprio_validate_queue_counts() 39 last > dev->real_num_tx_queues) { in mqprio_validate_queue_counts() 42 qopt->count[i], qopt->offset[i], in mqprio_validate_queue_counts() 43 i, dev->real_num_tx_queues); in mqprio_validate_queue_counts() 44 return -EINVAL; in mqprio_validate_queue_counts() [all …]
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/aquantia/atlantic/hw_atl/ |
| D | hw_atl_b0.c | 1 // SPDX-License-Identifier: GPL-2.0-only 4 * Copyright (C) 2014-2019 aQuantia Corporation 5 * Copyright (C) 2019-2020 Marvell International Ltd. 123 self->aq_fw_ops->set_state(self, MPI_RESET); in hw_atl_b0_hw_reset() 154 struct aq_nic_cfg_s *cfg = self->aq_nic_cfg; in hw_atl_b0_hw_qos_set() 160 if (cfg->is_ptp) { in hw_atl_b0_hw_qos_set() 161 tx_buff_size -= HW_ATL_B0_PTP_TXBUF_SIZE; in hw_atl_b0_hw_qos_set() 162 rx_buff_size -= HW_ATL_B0_PTP_RXBUF_SIZE; in hw_atl_b0_hw_qos_set() 172 tx_buff_size /= cfg->tcs; in hw_atl_b0_hw_qos_set() 173 rx_buff_size /= cfg->tcs; in hw_atl_b0_hw_qos_set() [all …]
|