/Linux-v6.1/drivers/gpu/drm/omapdrm/ |
D | tcm-sita.c | 18 #include "tcm.h" 154 static s32 sita_reserve_1d(struct tcm *tcm, u32 num_slots, in sita_reserve_1d() argument 160 spin_lock(&(tcm->lock)); in sita_reserve_1d() 161 ret = r2l_b2t_1d(num_slots, &pos, tcm->bitmap, tcm->map_size); in sita_reserve_1d() 163 area->p0.x = pos % tcm->width; in sita_reserve_1d() 164 area->p0.y = pos / tcm->width; in sita_reserve_1d() 165 area->p1.x = (pos + num_slots - 1) % tcm->width; in sita_reserve_1d() 166 area->p1.y = (pos + num_slots - 1) / tcm->width; in sita_reserve_1d() 168 spin_unlock(&(tcm->lock)); in sita_reserve_1d() 173 static s32 sita_reserve_2d(struct tcm *tcm, u16 h, u16 w, u16 align, in sita_reserve_2d() argument [all …]
|
D | tcm.h | 40 struct tcm; 51 struct tcm *tcm; /* parent */ member 56 struct tcm { struct 67 s32 (*reserve_2d)(struct tcm *tcm, u16 height, u16 width, u16 align, argument 70 s32 (*reserve_1d)(struct tcm *tcm, u32 slots, struct tcm_area *area); argument 71 s32 (*free)(struct tcm *tcm, struct tcm_area *area); argument 72 void (*deinit)(struct tcm *tcm); argument 82 * Since some basic parameter checking is done outside the TCM algorithms, 83 * TCM implementation do NOT have to check the following: 91 struct tcm *sita_init(u16 width, u16 height); [all …]
|
D | omap_dmm_tiler.c | 35 static struct tcm *containers[TILFMT_NFORMATS]; 305 static struct dmm_txn *dmm_txn_init(struct dmm *dmm, struct tcm *tcm) in dmm_txn_init() argument 331 engine->tcm = tcm; in dmm_txn_init() 363 pat->area.y0 += engine->tcm->y_offset; in dmm_txn_append() 364 pat->area.y1 += engine->tcm->y_offset; in dmm_txn_append() 368 .lut_id = engine->tcm->lut_id, in dmm_txn_append() 481 txn = dmm_txn_init(omap_dmm, area->tcm); in fill() 600 if (block->area.tcm) in tiler_release() 747 if (omap_dmm->tcm && omap_dmm->tcm[i]) in omap_dmm_remove() 748 omap_dmm->tcm[i]->deinit(omap_dmm->tcm[i]); in omap_dmm_remove() [all …]
|
D | omap_dmm_priv.h | 122 struct tcm *tcm; member 133 struct tcm *tcm; member 178 /* array of LUT - TCM containers */ 179 struct tcm **tcm; member
|
/Linux-v6.1/Documentation/arm/ |
D | tcm.rst | 2 ARM TCM (Tightly-Coupled Memory) handling in Linux 7 Some ARM SoCs have a so-called TCM (Tightly-Coupled Memory). 11 Due to being embedded inside the CPU, the TCM has a 12 Harvard-architecture, so there is an ITCM (instruction TCM) 13 and a DTCM (data TCM). The DTCM can not contain any 19 location and size of TCM memories. arch/arm/include/asm/cputype.h 22 at http://infocenter.arm.com, search for "TCM Status Register" 27 There is further a TCM region register (search for "TCM Region 29 size of TCM memories at runtime. This is used to read out and modify 30 TCM location and size. Notice that this is not a MMU table: you [all …]
|
/Linux-v6.1/arch/csky/include/asm/ |
D | tcm.h | 7 #error "You should not be including tcm.h unless you have a TCM!" 13 #define __tcmdata __section(".tcm.data") 15 #define __tcmconst __section(".tcm.rodata") 16 /* Tag functions inside TCM called from outside TCM with this */ 17 #define __tcmfunc __section(".tcm.text") noinline 18 /* Tag function inside TCM called from inside TCM with this */ 19 #define __tcmlocalfunc __section(".tcm.text")
|
/Linux-v6.1/drivers/target/ |
D | Kconfig | 4 tristate "Generic Target Core Mod (TCM) and ConfigFS Infrastructure" 12 Say Y or M here to enable the TCM Storage Engine and ConfigFS enabled 13 control path for target_core_mod. This includes built-in TCM RAMDISK 19 tristate "TCM/IBLOCK Subsystem Plugin for Linux/BLOCK" 22 Say Y here to enable the TCM/IBLOCK subsystem plugin for non-buffered 26 tristate "TCM/FILEIO Subsystem Plugin for Linux/VFS" 28 Say Y here to enable the TCM/FILEIO subsystem plugin for buffered 32 tristate "TCM/pSCSI Subsystem Plugin for Linux/SCSI" 35 Say Y here to enable the TCM/pSCSI subsystem plugin for non-buffered 39 tristate "TCM/USER Subsystem Plugin for Linux" [all …]
|
/Linux-v6.1/arch/arm/include/asm/ |
D | tcm.h | 13 #error "You should not be including tcm.h unless you have a TCM!" 19 #define __tcmdata __section(".tcm.data") 21 #define __tcmconst __section(".tcm.rodata") 22 /* Tag functions inside TCM called from outside TCM with this */ 23 #define __tcmfunc __attribute__((long_call)) __section(".tcm.text") noinline 24 /* Tag function inside TCM called from inside TCM with this */ 25 #define __tcmlocalfunc __section(".tcm.text")
|
/Linux-v6.1/drivers/net/wireless/intel/iwlwifi/mvm/ |
D | utils.c | 755 low_latency = mvm->tcm.result.low_latency[mvmvif->id]; in iwl_mvm_tcm_iter() 757 if (!mvm->tcm.result.change[mvmvif->id] && in iwl_mvm_tcm_iter() 797 if (mvm->tcm.data[mvmvif->id].opened_rx_ba_sessions) in iwl_mvm_tcm_uapsd_nonagg_detected_wk() 828 if (mvm->tcm.data[mvmvif->id].uapsd_nonagg_detect.detected) in iwl_mvm_uapsd_agg_disconnect() 831 mvm->tcm.data[mvmvif->id].uapsd_nonagg_detect.detected = true; in iwl_mvm_uapsd_agg_disconnect() 841 u64 bytes = mvm->tcm.data[mac].uapsd_nonagg_detect.rx_bytes; in iwl_mvm_check_uapsd_agg_expected_tpt() 846 rate = ewma_rate_read(&mvm->tcm.data[mac].uapsd_nonagg_detect.rate); in iwl_mvm_check_uapsd_agg_expected_tpt() 848 if (!rate || mvm->tcm.data[mac].opened_rx_ba_sessions || in iwl_mvm_check_uapsd_agg_expected_tpt() 849 mvm->tcm.data[mac].uapsd_nonagg_detect.detected) in iwl_mvm_check_uapsd_agg_expected_tpt() 896 unsigned int elapsed = jiffies_to_msecs(ts - mvm->tcm.ts); in iwl_mvm_calc_tcm_stats() [all …]
|
/Linux-v6.1/drivers/thunderbolt/ |
D | tb.c | 39 static inline struct tb *tcm_to_tb(struct tb_cm *tcm) in tcm_to_tb() argument 41 return ((void *)tcm - sizeof(struct tb)); in tcm_to_tb() 74 struct tb_cm *tcm = tb_priv(sw->tb); in tb_add_dp_resources() local 84 list_add_tail(&port->list, &tcm->dp_resources); in tb_add_dp_resources() 91 struct tb_cm *tcm = tb_priv(sw->tb); in tb_remove_dp_resources() local 100 list_for_each_entry_safe(port, tmp, &tcm->dp_resources, list) { in tb_remove_dp_resources() 110 struct tb_cm *tcm = tb_priv(tb); in tb_discover_dp_resource() local 113 list_for_each_entry(p, &tcm->dp_resources, list) { in tb_discover_dp_resource() 120 list_add_tail(&port->list, &tcm->dp_resources); in tb_discover_dp_resource() 125 struct tb_cm *tcm = tb_priv(tb); in tb_discover_dp_resources() local [all …]
|
/Linux-v6.1/arch/arm/kernel/ |
D | tcm.c | 4 * TCM memory handling for ARM systems 21 #include <asm/tcm.h> 29 /* TCM section definitions from the linker */ 38 * TCM memory resources 73 * Allocate a chunk of TCM memory 91 * Free a chunk of TCM memory 120 * If there are more than one TCM bank of this type, in setup_tcm_bank() 121 * select the TCM bank to operate on in the TCM selection in setup_tcm_bank() 129 /* Read the special TCM region register c9, 0 */ in setup_tcm_bank() 159 /* Force move the TCM bank to where we want it, enable */ in setup_tcm_bank() [all …]
|
/Linux-v6.1/net/sched/ |
D | sch_api.c | 908 struct tcmsg *tcm; in tc_fill_qdisc() local 917 nlh = nlmsg_put(skb, portid, seq, event, sizeof(*tcm), flags); in tc_fill_qdisc() 920 tcm = nlmsg_data(nlh); in tc_fill_qdisc() 921 tcm->tcm_family = AF_UNSPEC; in tc_fill_qdisc() 922 tcm->tcm__pad1 = 0; in tc_fill_qdisc() 923 tcm->tcm__pad2 = 0; in tc_fill_qdisc() 924 tcm->tcm_ifindex = qdisc_dev(q)->ifindex; in tc_fill_qdisc() 925 tcm->tcm_parent = clid; in tc_fill_qdisc() 926 tcm->tcm_handle = q->handle; in tc_fill_qdisc() 927 tcm->tcm_info = refcount_read(&q->refcnt); in tc_fill_qdisc() [all …]
|
D | cls_api.c | 1821 struct tcmsg *tcm; in tcf_fill_node() local 1825 nlh = nlmsg_put(skb, portid, seq, event, sizeof(*tcm), flags); in tcf_fill_node() 1828 tcm = nlmsg_data(nlh); in tcf_fill_node() 1829 tcm->tcm_family = AF_UNSPEC; in tcf_fill_node() 1830 tcm->tcm__pad1 = 0; in tcf_fill_node() 1831 tcm->tcm__pad2 = 0; in tcf_fill_node() 1833 tcm->tcm_ifindex = qdisc_dev(q)->ifindex; in tcf_fill_node() 1834 tcm->tcm_parent = parent; in tcf_fill_node() 1836 tcm->tcm_ifindex = TCM_IFINDEX_MAGIC_BLOCK; in tcf_fill_node() 1837 tcm->tcm_block_index = block->index; in tcf_fill_node() [all …]
|
D | sch_mq.c | 170 struct tcmsg *tcm) in mq_select_queue() argument 172 return mq_queue_get(sch, TC_H_MIN(tcm->tcm_parent)); in mq_select_queue() 218 struct sk_buff *skb, struct tcmsg *tcm) in mq_dump_class() argument 222 tcm->tcm_parent = TC_H_ROOT; in mq_dump_class() 223 tcm->tcm_handle |= TC_H_MIN(cl); in mq_dump_class() 224 tcm->tcm_info = dev_queue->qdisc_sleeping->handle; in mq_dump_class()
|
/Linux-v6.1/drivers/net/wireless/intel/iwlwifi/fw/ |
D | dump.c | 239 * TCM error struct. 276 IWL_ERR(fwrt, "TCM%d status:\n", idx + 1); in iwl_fwrt_dump_tcm_error_log() 278 IWL_ERR(fwrt, "0x%08X | tcm branchlink2\n", table.blink2); in iwl_fwrt_dump_tcm_error_log() 279 IWL_ERR(fwrt, "0x%08X | tcm interruptlink1\n", table.ilink1); in iwl_fwrt_dump_tcm_error_log() 280 IWL_ERR(fwrt, "0x%08X | tcm interruptlink2\n", table.ilink2); in iwl_fwrt_dump_tcm_error_log() 281 IWL_ERR(fwrt, "0x%08X | tcm data1\n", table.data1); in iwl_fwrt_dump_tcm_error_log() 282 IWL_ERR(fwrt, "0x%08X | tcm data2\n", table.data2); in iwl_fwrt_dump_tcm_error_log() 283 IWL_ERR(fwrt, "0x%08X | tcm data3\n", table.data3); in iwl_fwrt_dump_tcm_error_log() 284 IWL_ERR(fwrt, "0x%08X | tcm log PC\n", table.logpc); in iwl_fwrt_dump_tcm_error_log() 285 IWL_ERR(fwrt, "0x%08X | tcm frame pointer\n", table.frame_pointer); in iwl_fwrt_dump_tcm_error_log() [all …]
|
/Linux-v6.1/arch/csky/kernel/ |
D | vmlinux.lds.S | 69 *(.tcm.text) 70 *(.tcm.rodata) 72 *(.tcm.data) 91 *(.tcm.data)
|
/Linux-v6.1/Documentation/devicetree/bindings/media/ |
D | mediatek-vpu.txt | 10 "tcm": tcm base 27 reg-names = "tcm", "cfg_reg";
|
/Linux-v6.1/Documentation/target/ |
D | tcmu-design.rst | 2 TCM Userspace Design 29 TCM is another name for LIO, an in-kernel iSCSI target (server). 30 Existing TCM targets run in the kernel. TCMU (TCM in Userspace) 35 protocols. TCM also modularizes the data storage. There are existing 220 tcm-user/<hba_num>/<device_name>/<subtype>/<path> 222 where "tcm-user" is common for all TCMU-backed UIO devices. <hba_num> 251 over netlink, using a generic netlink family name of "TCM-USER" and a 319 if (strncmp(buf, "tcm-user", 8))
|
D | tcm_mod_builder.rst | 2 The TCM v4 fabric module script generator 8 script to generate a brand new functional TCM v4 fabric .ko module of your very own, 9 that once built can be immediately be loaded to start access the new TCM/ConfigFS 20 2) Generate basic infrastructure for loading/unloading LKMs and TCM/ConfigFS fabric module 95 #) Load the new module, create a lun_0 configfs group, and add new TCM Core
|
/Linux-v6.1/drivers/target/tcm_fc/ |
D | Kconfig | 6 Say Y here to enable the TCM FC plugin for accessing FC fabrics in TCM
|
/Linux-v6.1/drivers/target/loopback/ |
D | Kconfig | 3 tristate "TCM Virtual SAS target and Linux/SCSI LDD fabric loopback module" 6 Say Y here to enable the TCM Virtual SAS target and Linux/SCSI LLD
|
D | tcm_loop.h | 17 /* The TCM I/O descriptor that is accessed via container_of() */ 26 * Pointer to TCM session for I_T Nexus
|
/Linux-v6.1/arch/arm/mm/ |
D | tcm.h | 4 * TCM memory handling for ARM systems 13 /* No TCM support, just blank inlines to be optimized out */
|
/Linux-v6.1/drivers/media/platform/mediatek/vpu/ |
D | mtk_vpu.c | 33 /* maximum program/data TCM (Tightly-Coupled Memory) size */ 36 /* the offset to get data tcm address */ 98 * struct vpu_regs - VPU TCM and configuration registers 100 * @tcm: the register for VPU Tightly-Coupled Memory 105 void __iomem *tcm; member 183 * @reg: VPU TCM and configuration registers 468 return (__force void *)(dtcm_dmem_addr + vpu->reg.tcm + in vpu_mapping_dm_addr() 545 dest = (__force void *)vpu->reg.tcm; in load_requested_vpu() 767 vpu->recv_buf = vpu->reg.tcm + VPU_DTCM_OFFSET; in vpu_ipi_init() 823 vpu->reg.tcm = devm_platform_ioremap_resource_byname(pdev, "tcm"); in mtk_vpu_probe() [all …]
|
/Linux-v6.1/drivers/usb/gadget/function/ |
D | u_tcm.h | 5 * Utility definitions for the tcm function 37 * Callbacks to be removed when legacy tcm gadget disappears.
|