/linux/drivers/soc/qcom/ |
H A D | rpmh-internal.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * Copyright (c) 2016-2018, The Linux Foundation. All rights reserved. 11 #include <linux/wait.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 [all …]
|
H A 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. 28 #include <linux/wait.h> 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 */ [all …]
|
H A D | rpmh.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (c) 2016-2018, The Linux Foundation. All rights reserved. 19 #include <linux/wait.h> 23 #include "rpmh-internal.h" 59 * struct batch_cache_req - An entry in our batch catch 74 struct rsc_drv *drv = dev_get_drvdata(dev->parent); in get_rpmh_ctrlr() 76 return &drv->client; in get_rpmh_ctrlr() 83 struct completion *compl = rpm_msg->completion; in rpmh_tx_done() 84 bool free = rpm_msg->needs_free; in rpmh_tx_done() 101 list_for_each_entry(p, &ctrlr->cache, list) { in __find_req() [all …]
|
/linux/Documentation/devicetree/bindings/interconnect/ |
H A D | qcom,bcm-voter.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/interconnect/qcom,bcm-voter.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Qualcomm BCM-Voter Interconnect 10 - Georgi Djakov <georgi.djakov@linaro.org> 22 - qcom,bcm-voter 24 qcom,tcs-wait: 26 Optional mask of which TCSs (Triggered Command Sets) wait for completion 27 upon triggering. If not specified, then the AMC and WAKE sets wait for [all …]
|
/linux/include/soc/qcom/ |
H A D | tcs.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * Copyright (c) 2016-2019, The Linux Foundation. All rights reserved. 36 * @wait: ensure that this command is complete before returning. 37 * Setting "wait" here only makes sense during rpmh_write_batch() for 38 * active-only transfers, this is because: 39 * rpmh_write() - Always waits. 41 * rpmh_write_async() - Never waits. 47 u32 wait; member 51 * struct tcs_request: A set of tcs_cmds sent together in a TCS 54 * @wait_for_compl: wait until we get a response from the h/w accelerator [all …]
|
/linux/drivers/interconnect/qcom/ |
H A D | bcm-voter.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (c) 2020-2021, The Linux Foundation. All rights reserved. 7 #include <linux/interconnect-provider.h> 14 #include <soc/qcom/tcs.h> 16 #include "bcm-voter.h" 17 #include "icc-rpmh.h" 23 * struct bcm_voter - Bus Clock Manager voter 30 * @tcs_wait: mask for which buckets require TCS completion 47 return bcm_a->aux_data.vcd - bcm_b->aux_data.vcd; in cmp_vcd() 61 /* BCMs with enable_mask use one-hot-encoding for on/off signaling */ [all …]
|
/linux/drivers/scsi/aic94xx/ |
H A D | aic94xx_tmf.c | 1 // SPDX-License-Identifier: GPL-2.0-only 15 /* ---------- Internal enqueue ---------- */ 24 ascb->tasklet_complete = tasklet_complete; in asd_enqueue_internal() 25 ascb->uldd_timer = 1; in asd_enqueue_internal() 27 ascb->timer.function = timed_out; in asd_enqueue_internal() 28 ascb->timer.expires = jiffies + AIC94XX_SCB_TIMEOUT; in asd_enqueue_internal() 30 add_timer(&ascb->timer); in asd_enqueue_internal() 32 res = asd_post_ascb_list(ascb->ha, ascb, 1); in asd_enqueue_internal() 34 timer_delete(&ascb->timer); in asd_enqueue_internal() 38 /* ---------- CLEAR NEXUS ---------- */ [all …]
|
/linux/drivers/staging/gpib/tms9914/ |
H A D | tms9914.c | 1 // SPDX-License-Identifier: GPL-2.0 41 // busy wait until ATN is asserted in tms9914_take_control() 48 return -ETIMEDOUT; in tms9914_take_control() 50 clear_bit(WRITE_READY_BN, &priv->state); in tms9914_take_control() 57 * The agilent 82350B has a buggy implementation of tcs which interferes with the 60 * manual describes tcs as putting the controller into a CWAS 62 * functioning tca is far more important than tcs, we work around the 63 * problem by never issuing tcs. 68 * directly (which does issue tcs). 74 return -ETIMEDOUT; in tms9914_take_control_workaround() [all …]
|
/linux/drivers/net/ethernet/intel/ixgbe/ |
H A D | ixgbe_lib.c | 1 // SPDX-License-Identifier: GPL-2.0 2 /* Copyright(c) 1999 - 2024 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 …]
|
/linux/tools/testing/selftests/drivers/net/mlxsw/ |
H A D | sch_ets.sh | 2 # SPDX-License-Identifier: GPL-2.0 28 # Set the ingress quota high and use the three egress TCs to limit the 56 # Note: sch_ets_core.sh uses VLAN ingress-qos-map to assign packet 57 # priorities at $swp1 based on their 802.1p headers. ingress-qos-map is 59 # 1:1, which is the mapping currently hard-coded by the driver. 65 local -a streams=("$@") 68 # Wait for qdisc counter update so that we don't get it mid-way through.
|
/linux/arch/mips/kernel/ |
H A D | rtlx-mt.c | 12 #include <linux/wait.h> 75 return -ENODEV; in rtlx_module_init() 79 pr_warn("No TCs reserved for AP/SP, not initializing RTLX.\n" in rtlx_module_init() 82 return -ENODEV; in rtlx_module_init() 91 /* initialise the wait queues */ in rtlx_module_init() 101 while (i--) in rtlx_module_init() 117 pr_err("APRP RTLX init on non-vectored-interrupt processor\n"); in rtlx_module_init() 118 err = -ENODEV; in rtlx_module_init()
|
H A D | smp.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 34 #include <asm/r4k-timer.h> 35 #include <asm/mips-cps.h> 47 /* Number of TCs (or siblings in Intel speak) per CPU core */ 51 /* representing the TCs (or siblings in Intel speak) of each logical CPU */ 55 /* representing the core map of multi-core chips of each logical CPU */ 144 /* Re-calculate the mask */ in calculate_cpu_foreign_map() 365 mp_ops->init_secondary(); in start_secondary() 407 * irq will be enabled in ->smp_finish(), enabling it too early in start_secondary() 411 mp_ops->smp_finish(); in start_secondary() [all …]
|
/linux/tools/testing/selftests/drivers/net/hw/ |
H A D | devlink_rate_tc_bw.py | 2 # SPDX-License-Identifier: GPL-2.0 8 This test suite verifies the functionality of devlink-rate traffic class (TC) 14 ---------------- 15 - Creates 1 VF 16 - Establishes a bridge connecting the VF representor and the uplink representor 17 - Sets up 2 VLAN interfaces on the VF with different VLAN IDs (101, 102) 18 - Configures different traffic classes (TC3 and TC4) for each VLAN 21 ---------- 23 - Verifies that without TC mapping, bandwidth is NOT distributed according to 25 - This test should fail if bandwidth matches the 80/20 split without TC [all …]
|
/linux/drivers/staging/gpib/common/ |
H A D | iblib.c | 1 // SPDX-License-Identifier: GPL-2.0 20 * If sync is non-zero, attempt to take control synchronously. 21 * If fallback_to_async is non-zero, try to take control asynchronously 30 return -EINVAL; in ibcac() 37 * tcs (take control synchronously) can only possibly work when in ibcac() 38 * controller is listener. Error code also needs to be -ETIMEDOUT in ibcac() 41 retval = -ETIMEDOUT; in ibcac() 43 retval = board->interface->take_control(board, sync); in ibcac() 46 if (sync && retval == -ETIMEDOUT) in ibcac() 47 retval = board->interface->take_control(board, 0); in ibcac() [all …]
|
/linux/drivers/net/ethernet/intel/i40e/ |
H A D | i40e_main.c | 1 // SPDX-License-Identifier: GPL-2.0 2 /* Copyright(c) 2013 - 2021 Intel Corporation. */ 32 static const char i40e_copyright[] = "Copyright (c) 2013 - 2019 Intel Corporation."; 58 /* i40e_pci_tbl - PCI Device ID Table 98 static int debug = -1; 118 if (is_unicast_ether_addr(f->macaddr) || is_link_local_ether_addr(f->macaddr)) in netdev_hw_addr_refcnt() 119 ha_list = &netdev->uc; in netdev_hw_addr_refcnt() 121 ha_list = &netdev->mc; in netdev_hw_addr_refcnt() 124 if (ether_addr_equal(ha->addr, f->macaddr)) { in netdev_hw_addr_refcnt() 125 ha->refcount += delta; in netdev_hw_addr_refcnt() [all …]
|
/linux/drivers/net/ethernet/intel/fm10k/ |
H A D | fm10k_ethtool.c | 1 // SPDX-License-Identifier: GPL-2.0 2 /* Copyright(c) 2013 - 2019 Intel Corporation. */ 103 /* per-queue ring statistics */ 168 if (interface->hw.mac.type != fm10k_mac_vf) in fm10k_get_stat_strings() 171 for (i = 0; i < interface->hw.mac.max_queues; i++) { in fm10k_get_stat_strings() 201 struct fm10k_hw *hw = &interface->hw; in fm10k_get_sset_count() 208 stats_len += hw->mac.max_queues * 2 * FM10K_QUEUE_STATS_LEN; in fm10k_get_sset_count() 210 if (hw->mac.type != fm10k_mac_vf) in fm10k_get_sset_count() 217 return -EOPNOTSUPP; in fm10k_get_sset_count() 266 struct net_device_stats *net_stats = &netdev->stats; in fm10k_get_ethtool_stats() [all …]
|
/linux/drivers/mtd/nand/raw/ |
H A D | marvell_nand.c | 1 // SPDX-License-Identifier: GPL-2.0 6 * Author: Miquel RAYNAL <miquel.raynal@free-electrons.com> 17 * The ECC layouts are depicted in details in Marvell AN-379, but here 28 * +-------------------------------------------------------------+ 30 * +-------------------------------------------------------------+ 39 * +----------------------------------------- 41 * +----------------------------------------- 43 * ------------------------------------------- 45 * ------------------------------------------- 47 * --------------------------------------------+ [all …]
|
H A D | stm32_fmc2_nand.c | 1 // SPDX-License-Identifier: GPL-2.0 10 #include <linux/dma-mapping.h> 294 struct stm32_fmc2_nfc *nfc = to_stm32_nfc(chip->controller); in stm32_fmc2_nfc_timings_init() 296 struct stm32_fmc2_timings *timings = &nand->timings; in stm32_fmc2_nfc_timings_init() 300 regmap_update_bits(nfc->regmap, FMC2_PCR, in stm32_fmc2_nfc_timings_init() 302 FIELD_PREP(FMC2_PCR_TCLR, timings->tclr) | in stm32_fmc2_nfc_timings_init() 303 FIELD_PREP(FMC2_PCR_TAR, timings->tar)); in stm32_fmc2_nfc_timings_init() 306 pmem = FIELD_PREP(FMC2_PMEM_MEMSET, timings->tset_mem); in stm32_fmc2_nfc_timings_init() 307 pmem |= FIELD_PREP(FMC2_PMEM_MEMWAIT, timings->twait); in stm32_fmc2_nfc_timings_init() 308 pmem |= FIELD_PREP(FMC2_PMEM_MEMHOLD, timings->thold_mem); in stm32_fmc2_nfc_timings_init() [all …]
|
H A D | sunxi_nand.c | 1 // SPDX-License-Identifier: GPL-2.0+ 6 * https://github.com/yuq/sunxi-nfc-mtd 9 * https://github.com/hno/Allwinner-Info 16 #include <linux/dma-mapping.h> 70 #define NFC_PAGE_SHIFT(x) (((x) < 10 ? 0 : (x) - 10) << 8) 107 #define NFC_ADR_NUM(x) (((x) - 1) << 16) 161 * struct sunxi_nand_chip_sel - stores information related to NAND Chip Select 164 * @rb: the Ready/Busy pin ID. -1 means no R/B pin connected to the NFC 172 * struct sunxi_nand_hw_ecc - stores information related to HW ECC support 181 * struct sunxi_nand_chip - stores NAND chip device related information [all …]
|
/linux/drivers/gpu/drm/xe/ |
H A D | xe_device.c | 1 // SPDX-License-Identifier: MIT 10 #include <linux/fault-inject.h> 79 int ret = -ENOMEM; in xe_file_open() 92 xef->drm = file; in xe_file_open() 93 xef->client = client; in xe_file_open() 94 xef->xe = xe; in xe_file_open() 96 mutex_init(&xef->vm.lock); in xe_file_open() 97 xa_init_flags(&xef->vm.xa, XA_FLAGS_ALLOC1); in xe_file_open() 99 mutex_init(&xef->exec_queue.lock); in xe_file_open() 100 xa_init_flags(&xef->exec_queue.xa, XA_FLAGS_ALLOC1); in xe_file_open() [all …]
|
/linux/drivers/gpu/drm/msm/registers/adreno/ |
H A D | adreno_pm4.xml | 1 <?xml version="1.0" encoding="UTF-8"?> 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="https://gitlab.freedesktop.org/freedreno/ rules-fd.xsd"> 10 <value name="PS_DEALLOC" value="1" variants="A2XX-A6XX"/> 19 <value name="CACHE_FLUSH" value="6" variants="A2XX-A4XX"/> 21 <value name="HLSQ_FLUSH" value="7" variants="A3XX-A4XX"/> 24 <value name="WRITE_PRIMITIVE_COUNTS" value="9" variants="A6XX-"/> 25 <value name="START_PRIMITIVE_CTRS" value="11" variants="A6XX-"/> 26 <value name="STOP_PRIMITIVE_CTRS" value="12" variants="A6XX-"/> 27 <!-- Not sure that these 4 events don't have the same meaning as on A5XX+ --> [all …]
|
/linux/drivers/gpu/drm/msm/adreno/ |
H A D | a6xx_hfi.c | 1 // SPDX-License-Identifier: GPL-2.0 2 /* Copyright (c) 2017-2018 The Linux Foundation. All rights reserved. */ 8 #include <soc/qcom/cmd-db.h> 9 #include <soc/qcom/tcs.h> 32 struct a6xx_hfi_queue_header *header = queue->header; in a6xx_hfi_queue_read() 33 u32 i, hdr, index = header->read_index; in a6xx_hfi_queue_read() 35 if (header->read_index == header->write_index) { in a6xx_hfi_queue_read() 36 header->rx_request = 1; in a6xx_hfi_queue_read() 40 hdr = queue->data[index]; in a6xx_hfi_queue_read() 42 queue->history[(queue->history_idx++) % HFI_HISTORY_SZ] = index; in a6xx_hfi_queue_read() [all …]
|
H A D | a6xx_gmu.c | 1 // SPDX-License-Identifier: GPL-2.0 2 /* Copyright (c) 2017-2019 The Linux Foundation. All rights reserved. */ 11 #include <soc/qcom/cmd-db.h> 12 #include <soc/qcom/tcs.h> 24 struct adreno_gpu *adreno_gpu = &a6xx_gpu->base; in a6xx_gmu_fault() 25 struct msm_gpu *gpu = &adreno_gpu->base; in a6xx_gmu_fault() 28 gmu->hung = true; in a6xx_gmu_fault() 31 timer_delete(&gpu->hangcheck_timer); in a6xx_gmu_fault() 34 kthread_queue_work(gpu->worker, &gpu->recover_work); in a6xx_gmu_fault() 46 dev_err_ratelimited(gmu->dev, "GMU watchdog expired\n"); in a6xx_gmu_irq() [all …]
|
/linux/drivers/scsi/isci/ |
H A D | remote_device.c | 7 * Copyright(c) 2008 - 2011 Intel Corporation. All rights reserved. 20 * Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 26 * Copyright(c) 2008 - 2011 Intel Corporation. All rights reserved. 78 return sci_remote_node_context_suspend(&idev->rnc, reason, in sci_remote_device_suspend() 83 * isci_remote_device_ready() - This function is called by the ihost when the 92 dev_dbg(&ihost->pdev->dev, in isci_remote_device_ready() 95 clear_bit(IDEV_IO_NCQERROR, &idev->flags); in isci_remote_device_ready() 96 set_bit(IDEV_IO_READY, &idev->flags); in isci_remote_device_ready() 97 if (test_and_clear_bit(IDEV_START_PENDING, &idev->flags)) in isci_remote_device_ready() 98 wake_up(&ihost->eventq); in isci_remote_device_ready() [all …]
|
/linux/drivers/net/ethernet/intel/ice/ |
H A D | ice.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 19 #include <linux/dma-mapping.h> 22 #include <linux/wait.h> 121 #define ICE_MAX_MTU (ICE_AQ_SET_MAC_FRAME_SIZE_MAX - ICE_ETH_PKT_HDR_PAD) 129 #define ICE_TX_DESC(R, i) (&(((struct ice_tx_desc *)((R)->desc))[i])) 130 #define ICE_RX_DESC(R, i) (&(((union ice_32b_rx_flex_desc *)((R)->desc))[i])) 131 #define ICE_TX_CTX_DESC(R, i) (&(((struct ice_tx_ctx_desc *)((R)->desc))[i])) 132 #define ICE_TX_FDIRDESC(R, i) (&(((struct ice_fltr_desc *)((R)->desc))[i])) 158 for ((i) = 0; (i) < (pf)->num_alloc_vsi; (i)++) 162 for ((i) = 0; (i) < (vsi)->num_txq; (i)++) [all …]
|