/linux-6.14.4/drivers/soc/qcom/ |
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 …]
|
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 …]
|
D | trace-rpmh.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * Copyright (c) 2016-2018, The Linux Foundation. All rights reserved. 13 #include "rpmh-internal.h" 22 __string(name, d->name) 30 __entry->m = m; 31 __entry->addr = r->cmds[0].addr; 32 __entry->data = r->cmds[0].data; 35 TP_printk("%s: ack: tcs-m: %d addr: %#x data: %#x", 36 __get_str(name), __entry->m, __entry->addr, __entry->data) 47 __string(name, d->name) [all …]
|
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-6.14.4/Documentation/devicetree/bindings/interconnect/ |
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 <[email protected]> 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-6.14.4/include/soc/qcom/ |
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-6.14.4/drivers/interconnect/qcom/ |
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-6.14.4/drivers/scsi/aic94xx/ |
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 del_timer(&ascb->timer); in asd_enqueue_internal() 38 /* ---------- CLEAR NEXUS ---------- */ [all …]
|
/linux-6.14.4/drivers/staging/gpib/tms9914/ |
D | tms9914.c | 1 // SPDX-License-Identifier: GPL-2.0 38 // busy wait until ATN is asserted in tms9914_take_control() 45 return -ETIMEDOUT; in tms9914_take_control() 47 clear_bit(WRITE_READY_BN, &priv->state); in tms9914_take_control() 53 /* The agilent 82350B has a buggy implementation of tcs which interferes with the 56 * manual describes tcs as putting the controller into a CWAS 58 * functioning tca is far more important than tcs, we work around the 59 * problem by never issuing tcs. 64 * directly (which does issue tcs). 69 return -ETIMEDOUT; in tms9914_take_control_workaround() [all …]
|
/linux-6.14.4/drivers/net/ethernet/intel/ixgbe/ |
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 …]
|
D | ixgbe_82598.c | 1 // SPDX-License-Identifier: GPL-2.0 2 /* Copyright(c) 1999 - 2018 Intel Corporation. */ 26 * ixgbe_set_pcie_completion_timeout - set pci-e completion timeout 31 * than the 10ms recommended by the pci-e spec. To address this we need to 40 if (ixgbe_removed(hw->hw_addr)) in ixgbe_set_pcie_completion_timeout() 72 struct ixgbe_mac_info *mac = &hw->mac; in ixgbe_get_invariants_82598() 77 mac->mcft_size = IXGBE_82598_MC_TBL_SIZE; in ixgbe_get_invariants_82598() 78 mac->vft_size = IXGBE_82598_VFT_TBL_SIZE; in ixgbe_get_invariants_82598() 79 mac->num_rar_entries = IXGBE_82598_RAR_ENTRIES; in ixgbe_get_invariants_82598() 80 mac->rx_pb_size = IXGBE_82598_RX_PB_SIZE; in ixgbe_get_invariants_82598() [all …]
|
/linux-6.14.4/tools/testing/selftests/drivers/net/mlxsw/ |
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-6.14.4/arch/mips/kernel/ |
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()
|
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 */ 140 /* Re-calculate the mask */ in calculate_cpu_foreign_map() 361 mp_ops->init_secondary(); in start_secondary() 396 * irq will be enabled in ->smp_finish(), enabling it too early in start_secondary() 400 mp_ops->smp_finish(); in start_secondary() [all …]
|
/linux-6.14.4/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 …]
|
/linux-6.14.4/drivers/scsi/isci/ |
D | task.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. 68 * isci_task_refuse() - complete the request to the upper layer driver in 84 dev_dbg(&ihost->pdev->dev, "%s: task = %p, response=%d, status=%d\n", in isci_task_refuse() 87 spin_lock_irqsave(&task->task_state_lock, flags); in isci_task_refuse() 89 task->task_status.resp = response; in isci_task_refuse() 90 task->task_status.stat = status; in isci_task_refuse() 93 task->task_state_flags |= SAS_TASK_STATE_DONE; in isci_task_refuse() 94 task->task_state_flags &= ~SAS_TASK_STATE_PENDING; in isci_task_refuse() [all …]
|
/linux-6.14.4/drivers/staging/gpib/common/ |
D | iblib.c | 1 // SPDX-License-Identifier: GPL-2.0 18 * If sync is non-zero, attempt to take control synchronously. 19 * If fallback_to_async is non-zero, try to take control asynchronously 29 return -1; in ibcac() 36 /* tcs (take control synchronously) can only possibly work when in ibcac() 37 * controller is listener. Error code also needs to be -ETIMEDOUT in ibcac() 40 retval = -ETIMEDOUT; in ibcac() 42 retval = board->interface->take_control(board, sync); in ibcac() 45 if (sync && retval == -ETIMEDOUT) in ibcac() 46 retval = board->interface->take_control(board, 0); in ibcac() [all …]
|
/linux-6.14.4/drivers/net/ethernet/intel/i40e/ |
D | i40e_main.c | 1 // SPDX-License-Identifier: GPL-2.0 2 /* Copyright(c) 2013 - 2021 Intel Corporation. */ 31 static const char i40e_copyright[] = "Copyright (c) 2013 - 2019 Intel Corporation."; 57 /* i40e_pci_tbl - PCI Device ID Table 97 static int debug = -1; 116 if (is_unicast_ether_addr(f->macaddr) || is_link_local_ether_addr(f->macaddr)) in netdev_hw_addr_refcnt() 117 ha_list = &netdev->uc; in netdev_hw_addr_refcnt() 119 ha_list = &netdev->mc; in netdev_hw_addr_refcnt() 122 if (ether_addr_equal(ha->addr, f->macaddr)) { in netdev_hw_addr_refcnt() 123 ha->refcount += delta; in netdev_hw_addr_refcnt() [all …]
|
/linux-6.14.4/drivers/net/ethernet/intel/fm10k/ |
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-6.14.4/drivers/gpu/drm/xe/ |
D | xe_device.c | 1 // SPDX-License-Identifier: MIT 10 #include <linux/fault-inject.h> 70 int ret = -ENOMEM; in xe_file_open() 83 xef->drm = file; in xe_file_open() 84 xef->client = client; in xe_file_open() 85 xef->xe = xe; in xe_file_open() 87 mutex_init(&xef->vm.lock); in xe_file_open() 88 xa_init_flags(&xef->vm.xa, XA_FLAGS_ALLOC1); in xe_file_open() 90 mutex_init(&xef->exec_queue.lock); in xe_file_open() 91 xa_init_flags(&xef->exec_queue.xa, XA_FLAGS_ALLOC1); in xe_file_open() [all …]
|
/linux-6.14.4/drivers/net/ethernet/intel/ice/ |
D | ice_base.c | 1 // SPDX-License-Identifier: GPL-2.0 11 * __ice_vsi_get_qs_contig - Assign a contiguous chunk of queues to VSI 12 * @qs_cfg: gathered variables needed for PF->VSI queues assignment 14 * Return 0 on success and -ENOMEM in case of no left space in PF queue bitmap 20 mutex_lock(qs_cfg->qs_mutex); in __ice_vsi_get_qs_contig() 21 offset = bitmap_find_next_zero_area(qs_cfg->pf_map, qs_cfg->pf_map_size, in __ice_vsi_get_qs_contig() 22 0, qs_cfg->q_count, 0); in __ice_vsi_get_qs_contig() 23 if (offset >= qs_cfg->pf_map_size) { in __ice_vsi_get_qs_contig() 24 mutex_unlock(qs_cfg->qs_mutex); in __ice_vsi_get_qs_contig() 25 return -ENOMEM; in __ice_vsi_get_qs_contig() [all …]
|
/linux-6.14.4/drivers/mtd/nand/raw/ |
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 …]
|
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 …]
|
/linux-6.14.4/drivers/clk/qcom/ |
D | clk-rpmh.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (c) 2018-2021, The Linux Foundation. All rights reserved. 6 #include <linux/clk-provider.h> 13 #include <soc/qcom/cmd-db.h> 15 #include <soc/qcom/tcs.h> 17 #include <dt-bindings/clock/qcom,rpmh.h> 23 * struct bcm_db - Auxiliary data pertaining to each Bus Clock Manager(BCM) 37 * struct clk_rpmh - individual rpmh clock data structure 38 * @hw: handle between common and hardware-specific interfaces 140 return (c->last_sent_aggr_state & BIT(state)) in has_state_changed() [all …]
|
/linux-6.14.4/drivers/gpu/drm/msm/registers/adreno/ |
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"/> 27 <!-- Not sure that these 4 events don't have the same meaning as on A5XX+ --> 28 <value name="RST_PIX_CNT" value="13" variants="A2XX-A4XX"/> 29 <value name="RST_VTX_CNT" value="14" variants="A2XX-A4XX"/> 30 <value name="TILE_FLUSH" value="15" variants="A2XX-A4XX"/> [all …]
|