/linux/drivers/cpuidle/ |
H A D | cpuidle-big_little.c | 1 // SPDX-License-Identifier: GPL-2.0-only 31 * index 1 states have to define exit_latency and target_residency for 32 * cluster state since, when all CPUs in a cluster hit it, the cluster 35 * There is no notion of cluster states in the menu governor, so CPUs 36 * have to define CPU states where possibly the cluster will be shutdown 38 * at random times; however the cluster state provides target_residency 39 * values as if all CPUs in a cluster enter the state at once; this is 41 * or in the MCPM back-ends. 46 * current cluster operating point. It is the time it takes to get the CPU 47 * up and running when the CPU is powered up on cluster wake-up from shutdown. [all …]
|
H A D | cpuidle-tegra.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (c) 2010-2013, NVIDIA Corporation. 15 #define pr_fmt(fmt) "tegra-cpuidle: " fmt 68 while (retries--) { in tegra_cpuidle_wait_for_secondary_cpus_parking() 74 * shutdown in order to power-off CPU's cluster safely. in tegra_cpuidle_wait_for_secondary_cpus_parking() 76 * it takes about 40-150us in average and over 1000us in in tegra_cpuidle_wait_for_secondary_cpus_parking() 85 } while (timeout_us--); in tegra_cpuidle_wait_for_secondary_cpus_parking() 94 return -ETIMEDOUT; in tegra_cpuidle_wait_for_secondary_cpus_parking() 134 if (err && err != -ENOSYS) in tegra_cpuidle_c7_enter() 146 * pending SGI state across CPU cluster PM. Abort and retry in tegra_cpuidle_coupled_barrier() [all …]
|
/linux/drivers/cpufreq/ |
H A D | tegra186-cpufreq.c | 1 // SPDX-License-Identifier: GPL-2.0-only 7 #include <linux/dma-mapping.h> 13 #include <soc/tegra/bpmp-abi.h> 28 /* CPU0 - A57 Cluster */ 33 /* CPU1 - Denver Cluster */ 38 /* CPU2 - Denver Cluster */ 43 /* CPU3 - A57 Cluster */ 48 /* CPU4 - A57 Cluster */ 53 /* CPU5 - A57 Cluster */ 75 unsigned int cluster = data->cpus[policy->cpu].bpmp_cluster_id; in tegra186_cpufreq_init() local [all …]
|
H A D | vexpress-spc-cpufreq.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2013 - 2019 ARM Ltd. 45 #define ACTUAL_FREQ(cluster, freq) ((cluster == A7_CLUSTER) ? freq << 1 : freq) argument 46 #define VIRT_FREQ(cluster, freq) ((cluster == A7_CLUSTER) ? freq >> 1 : freq) argument 71 static unsigned int find_cluster_maxfreq(int cluster) in find_cluster_maxfreq() argument 79 if (cluster == per_cpu(physical_cluster, j) && in find_cluster_maxfreq() 138 ret = -EIO; in ve_spc_cpufreq_set_rate() 154 /* Recalc freq for old cluster when switching clusters */ in ve_spc_cpufreq_set_rate() 156 /* Switch cluster */ in ve_spc_cpufreq_set_rate() 161 /* Set freq of old cluster if there are cpus left on it */ in ve_spc_cpufreq_set_rate() [all …]
|
H A D | apple-soc-cpufreq.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Apple SoC CPU cluster performance state driver 7 * Based on scpi-cpufreq.c 90 .compatible = "apple,t8103-cluster-cpufreq", 94 .compatible = "apple,t8112-cluster-cpufreq", 98 .compatible = "apple,cluster-cpufreq", 107 struct apple_cpu_priv *priv = policy->driver_data; in apple_soc_cpufreq_get_rate() 111 if (priv->info->cur_pstate_mask) { in apple_soc_cpufreq_get_rate() 112 u64 reg = readq_relaxed(priv->reg_base + APPLE_DVFS_STATUS); in apple_soc_cpufreq_get_rate() 114 pstate = (reg & priv->info->cur_pstate_mask) >> priv->info->cur_pstate_shift; in apple_soc_cpufreq_get_rate() [all …]
|
H A D | tegra194-cpufreq.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (c) 2020 - 2022, NVIDIA CORPORATION. All rights reserved 8 #include <linux/dma-mapping.h> 19 #include <soc/tegra/bpmp-abi.h> 32 #define SCRATCH_FREQ_CORE_REG(data, cpu) (data->regs + CMU_CLKS_BASE + CORE_OFFSET(cpu)) 36 (data->regs + (MMCRAB_CLUSTER_BASE(cl) + data->soc->actmon_cntr_base)) 91 dev = get_cpu_device(policy->cpu); in tegra_cpufreq_set_bw() 93 return -ENODEV; in tegra_cpufreq_set_bw() 101 data->icc_dram_bw_scaling = false; in tegra_cpufreq_set_bw() 128 *ndiv = readl(data->cpu_data[cpu].freq_core_reg) & NDIV_MASK; in tegra234_get_cpu_ndiv() [all …]
|
/linux/Documentation/devicetree/bindings/watchdog/ |
H A D | samsung-wdt.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/watchdog/samsung-wdt.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Krzysztof Kozlowski <krzk@kernel.org> 20 - enum: 21 - google,gs101-wdt # for Google gs101 22 - samsung,s3c2410-wdt # for S3C2410 23 - samsung,s3c6410-wdt # for S3C6410, S5PV210 and Exynos4 24 - samsung,exynos5250-wdt # for Exynos5250 [all …]
|
/linux/drivers/platform/x86/intel/uncore-frequency/ |
H A D | uncore-frequency-tpmi.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * uncore-frquency-tpmi: Uncore frequency scaling using TPMI 13 * new gen CPUs to have multiple uncore controls at uncore-cluster 18 * and offset for each cluster level controls. 29 #include "uncore-frequency-common.h" 47 /* Information for each cluster */ 87 unsigned int *value, enum uncore_index index) in read_control_freq() argument 91 control = readq(cluster_info->cluster_base + UNCORE_CONTROL_INDEX); in read_control_freq() 92 if (index == UNCORE_INDEX_MAX_FREQ) in read_control_freq() 99 static int read_eff_lat_ctrl(struct uncore_data *data, unsigned int *val, enum uncore_index index) in read_eff_lat_ctrl() argument [all …]
|
/linux/drivers/gpu/drm/msm/adreno/ |
H A D | a6xx_gpu_state.c | 1 // SPDX-License-Identifier: GPL-2.0 2 /* Copyright (c) 2018-2019 The Linux Foundation. All rights reserved. */ 110 list_add_tail(&obj->node, &a6xx_state->objs); in state_kcalloc() 111 return &obj->data; in state_kcalloc() 125 * Allocate 1MB for the crashdumper scratch region - 8k for the script and 129 #define A6XX_CD_DATA_SIZE (SZ_1M - 8192) 134 dumper->ptr = msm_gem_kernel_new(gpu->dev, in a6xx_crashdumper_init() 135 SZ_1M, MSM_BO_WC, gpu->aspace, in a6xx_crashdumper_init() 136 &dumper->bo, &dumper->iova); in a6xx_crashdumper_init() 138 if (!IS_ERR(dumper->ptr)) in a6xx_crashdumper_init() [all …]
|
/linux/fs/btrfs/ |
H A D | free-space-cache.c | 1 // SPDX-License-Identifier: GPL-2.0 12 #include <linux/error-injection.h> 18 #include "free-space-cache.h" 20 #include "disk-io.h" 22 #include "space-info.h" 23 #include "block-group.h" 26 #include "inode-item.h" 28 #include "file-item.h" 68 while ((node = rb_last(&ctl->free_space_offset)) != NULL) { in __btrfs_remove_free_space_cache() 70 if (!info->bitmap) { in __btrfs_remove_free_space_cache() [all …]
|
/linux/include/linux/ |
H A D | swap.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 15 #include <linux/page-flags.h> 29 #define SWAP_FLAG_DISCARD_ONCE 0x20000 /* discard swap area at swapon-time */ 30 #define SWAP_FLAG_DISCARD_PAGES 0x40000 /* discard page-clusters after use */ 39 return current->flags & PF_KSWAPD; in current_is_kswapd() 47 * on 32-bit-pgoff_t architectures. And that assumes that the architecture packs 118 ((1 << MAX_SWAPFILES_SHIFT) - SWP_DEVICE_NUM - \ 119 SWP_MIGRATION_NUM - SWP_HWPOISON_NUM - \ 125 * swap area format, the second part of the union adds - in the 126 * old reserved area - some extra information. Note that the first [all …]
|
/linux/Documentation/devicetree/bindings/cpufreq/ |
H A D | apple,cluster-cpufreq.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/cpufreq/apple,cluster-cpufreq.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Apple SoC cluster cpufreq device 10 - Hector Martin <marcan@marcan.st> 13 Apple SoCs (e.g. M1) have a per-cpu-cluster DVFS controller that is part of 14 the cluster management register block. This binding uses the standard 15 operating-points-v2 table to define the CPU performance states, with the 16 opp-level property specifying the hardware p-state index for that level. [all …]
|
/linux/Documentation/admin-guide/perf/ |
H A D | hisi-pmu.rst | 10 The HiSilicon SoC encapsulates multiple CPU and IO dies. Each CPU cluster 12 called Super CPU cluster (SCCL) and is made up of 6 CCLs. Each SCCL has 13 two HHAs (0 - 1) and four DDRCs (0 - 3), respectively. 16 ------------------------------- 27 name will appear in event listing as hisi_sccl<sccl-id>_module<index-id>. 28 where "sccl-id" is the identifier of the SCCL and "index-id" is the index of 31 e.g. hisi_sccl3_l3c0/rd_hit_cpipe is READ_HIT_CPIPE event of L3C index #0 in 34 e.g. hisi_sccl1_hha0/rx_operations is RX_OPERATIONS event of HHA index #0 in 44 ------------------------------------------ 46 ------------------------------------------ [all …]
|
/linux/fs/f2fs/ |
H A D | compress.c | 1 // SPDX-License-Identifier: GPL-2.0 12 #include <linux/backing-dev.h> 31 if (likely(size <= sbi->page_array_slab_size)) in page_array_alloc() 32 return f2fs_kmem_cache_alloc(sbi->page_array_slab, in page_array_alloc() 45 if (likely(size <= sbi->page_array_slab_size)) in page_array_free() 46 kmem_cache_free(sbi->page_array_slab, pages); in page_array_free() 61 static unsigned int offset_in_cluster(struct compress_ctx *cc, pgoff_t index) in offset_in_cluster() argument 63 return index & (cc->cluster_size - 1); in offset_in_cluster() 66 static pgoff_t cluster_idx(struct compress_ctx *cc, pgoff_t index) in cluster_idx() argument 68 return index >> cc->log_cluster_size; in cluster_idx() [all …]
|
/linux/arch/arm/common/ |
H A D | mcpm_head.S | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * arch/arm/common/mcpm_head.S -- kernel entry point for multi-cluster PM 6 * Copyright: (C) 2012-2013 Linaro Limited 8 * Refer to Documentation/arch/arm/cluster-pm-race-avoidance.rst 18 .arch armv7-a 28 1903: .asciz " cluster" 56 ubfx r10, r0, #8, #8 @ r10 = cluster 58 mla r4, r3, r10, r9 @ r4 = canonical CPU index 88 mla r8, r0, r10, r8 @ r8 = sync cluster base 96 @ At this point, the cluster cannot unexpectedly enter the GOING_DOWN [all …]
|
/linux/fs/ext4/ |
H A D | ext4_extents.h | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (c) 2003-2006, Cluster File Systems, Inc, info@clusterfs.com 13 * With AGGRESSIVE_TEST defined, the capacity of index/leaf blocks 14 * becomes very small, so index split, in-depth growing and 44 * For non-inode extent blocks, ext4_extent_tail 49 * This is the extent tail on-disk structure. 60 * This is the extent on-disk structure. 71 * This is index on-disk structure. 75 __le32 ei_block; /* index covers logical blocks from 'block' */ 77 * level. leaf or next index could be there */ [all …]
|
H A D | extents.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (c) 2003-2006, Cluster File Systems, Inc, info@clusterfs.com 15 * - ext4*_error() should be used in some situations 16 * - analyze all BUG()/BUG_ON(), use -EIO where appropriate 17 * - smart tree reduction 53 struct ext4_sb_info *sbi = EXT4_SB(inode->i_sb); in ext4_extent_block_csum() 56 csum = ext4_chksum(sbi, ei->i_csum_seed, (__u8 *)eh, in ext4_extent_block_csum() 66 if (!ext4_has_metadata_csum(inode->i_sb)) in ext4_extent_block_csum_verify() 70 if (et->et_checksum != ext4_extent_block_csum(inode, eh)) in ext4_extent_block_csum_verify() 80 if (!ext4_has_metadata_csum(inode->i_sb)) in ext4_extent_block_csum_set() [all …]
|
/linux/arch/x86/kvm/svm/ |
H A D | avic.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Kernel-based Virtual Machine driver for Linux 19 #include <linux/amd-iommu.h> 60 static_assert(__AVIC_GATAG(AVIC_VM_ID_MASK, AVIC_VCPU_ID_MASK) == -1u); 81 struct list_head node; /* Used by SVM for per-vcpu ir_list */ 87 struct vmcb *vmcb = svm->vmcb01.ptr; in avic_activate_vmcb() 89 vmcb->control.int_ctl &= ~(AVIC_ENABLE_MASK | X2APIC_MODE_MASK); in avic_activate_vmcb() 90 vmcb->control.avic_physical_id &= ~AVIC_PHYSICAL_MAX_INDEX_MASK; in avic_activate_vmcb() 92 vmcb->control.int_ctl |= AVIC_ENABLE_MASK; in avic_activate_vmcb() 95 * Note: KVM supports hybrid-AVIC mode, where KVM emulates x2APIC MSR in avic_activate_vmcb() [all …]
|
/linux/drivers/bus/ |
H A D | arm-cci.c | 17 #include <linux/arm-cci.h> 49 {.compatible = "arm,cci-400", .data = CCI400_PORTS_DATA }, 52 { .compatible = "arm,cci-500", }, 53 { .compatible = "arm,cci-550", }, 59 OF_DEV_AUXDATA("arm,cci-400-pmu", 0, NULL, &cci_ctrl_base), 60 OF_DEV_AUXDATA("arm,cci-400-pmu,r0", 0, NULL, &cci_ctrl_base), 61 OF_DEV_AUXDATA("arm,cci-400-pmu,r1", 0, NULL, &cci_ctrl_base), 62 OF_DEV_AUXDATA("arm,cci-500-pmu,r0", 0, NULL, &cci_ctrl_base), 63 OF_DEV_AUXDATA("arm,cci-550-pmu,r0", 0, NULL, &cci_ctrl_base), 67 #define DRIVER_NAME "ARM-CCI" [all …]
|
/linux/drivers/media/v4l2-core/ |
H A D | v4l2-ctrls-api.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 * Copyright (C) 2010-2021 Hans Verkuil <hverkuil-cisco@xs4all.nl> 8 #define pr_fmt(fmt) "v4l2-ctrls: " fmt 13 #include <media/v4l2-ctrls.h> 14 #include <media/v4l2-dev.h> 15 #include <media/v4l2-device.h> 16 #include <media/v4l2-event.h> 17 #include <media/v4l2-ioctl.h> 19 #include "v4l2-ctrls-priv.h" 28 * v4l2_ext_control index of the next control belonging to the [all …]
|
/linux/fs/erofs/ |
H A D | erofs_fs.h | 1 /* SPDX-License-Identifier: GPL-2.0-only OR Apache-2.0 */ 3 * EROFS (Enhanced ROM File System) on-disk format definition 5 * Copyright (C) 2017-2018 HUAWEI, Inc. 54 /* erofs on-disk super block (currently 128 bytes) */ 63 __le64 inos; /* total valid ino # (== f_files - f_favail) */ 70 __u8 uuid[16]; /* 128-bit uuid for volume */ 90 * EROFS inode datalayout (i_format in on-disk inode): 91 * 0 - uncompressed flat inode without tail-packing inline data: 92 * 1 - compressed inode with non-compact indexes: 93 * 2 - uncompressed flat inode with tail-packing inline data: [all …]
|
/linux/drivers/clk/mvebu/ |
H A D | ap-cpu-clk.c | 1 // SPDX-License-Identifier: GPL-2.0+ 11 #define pr_fmt(fmt) "ap-cpu-clk: " fmt 13 #include <linux/clk-provider.h> 127 * struct ap806_clk: CPU cluster clock controller instance 128 * @cluster: Cluster clock controller index 129 * @clk_name: Cluster clock controller name 130 * @dev : Cluster clock device 131 * @hw: HW specific structure of Cluster clock controller 135 unsigned int cluster; member 150 cpu_clkdiv_reg = clk->pll_regs->divider_reg + in ap_cpu_clk_recalc_rate() [all …]
|
/linux/fs/exfat/ |
H A D | exfat_fs.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 3 * Copyright (C) 2012-2013 Samsung Electronics Co., Ltd. 52 (ES_IDX_FIRST_FILENAME + EXFAT_FILENAME_ENTRY_NUM(name_len) - 1) 78 #define MAX_CHARSET_SIZE 6 /* max size of multi-byte character */ 82 #define EXFAT_HINT_NONE -1 86 * helpers for cluster size to byte conversion. 88 #define EXFAT_CLU_TO_B(b, sbi) ((b) << (sbi)->cluster_size_bits) 89 #define EXFAT_B_TO_CLU(b, sbi) ((b) >> (sbi)->cluster_size_bits) 91 (((b - 1) >> (sbi)->cluster_size_bits) + 1) 92 #define EXFAT_CLU_OFFSET(off, sbi) ((off) & ((sbi)->cluster_size - 1)) [all …]
|
/linux/Documentation/devicetree/bindings/mailbox/ |
H A D | ti,omap-mailbox.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/mailbox/ti,omap-mailbox.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Suman Anna <s-anna@ti.com> 19 Each mailbox IP block/cluster has a certain number of h/w fifo queues and 35 lines can also be routed to different processor sub-systems on DRA7xx as they 37 K3 AM65x, J721E and J7200 SoCs has each of these instances form a cluster and 48 A Mailbox device node is used to represent a Mailbox IP instance/cluster 49 within a SoC. The sub-mailboxes (actual communication channels) are [all …]
|
/linux/fs/xfs/scrub/ |
H A D | ialloc.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Copyright (C) 2017-2023 Oracle. All Rights Reserved. 37 return xchk_setup_ag_btree(sc, sc->flags & XCHK_TRY_HARDER); in xchk_setup_ag_iallocbt() 49 /* Expected end of the current inode cluster. */ 57 * - The finobt need not have a record if all inodes in the inobt record are 59 * - The finobt need not have a record if all inodes in the inobt record are 61 * - The finobt need not have a record if the inobt record says this is a hole. 73 struct xfs_btree_cur *cur = sc->sa.fino_cur; in xchk_inobt_xref_finobt() 79 ASSERT(xfs_btree_is_fino(cur->bc_ops)); in xchk_inobt_xref_finobt() 89 return -EFSCORRUPTED; in xchk_inobt_xref_finobt() [all …]
|