| /linux/arch/mips/kernel/ |
| H A D | smp-cps.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 19 #include <asm/mips-cps.h> 22 #include <asm/pm-cps.h> 26 #include <asm/smp-cps.h> 44 static void power_up_other_cluster(unsigned int cluster) in power_up_other_cluster() argument 49 mips_cm_lock_other(cluster, CM_GCR_Cx_OTHER_CORE_CM, 0, in power_up_other_cluster() 60 mips_cm_lock_other(cluster, 0, 0, CM_GCR_Cx_OTHER_BLOCK_GLOBAL); in power_up_other_cluster() 67 mips_cm_lock_other(cluster, CM_GCR_Cx_OTHER_CORE_CM, 0, in power_up_other_cluster() 78 timeout--; in power_up_other_cluster() 80 pr_warn("Waiting for cluster %u CM to power up... STAT_CONF=0x%x\n", in power_up_other_cluster() [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 88 mla r8, r0, r10, r8 @ r8 = sync cluster base 96 @ At this point, the cluster cannot unexpectedly enter the GOING_DOWN 100 mla r11, r0, r10, r11 @ r11 = cluster first man lock [all …]
|
| H A D | mcpm_entry.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * arch/arm/common/mcpm_entry.c -- entry point for multi-cluster PM 6 * Copyright: (C) 2012-2013 Linaro Limited 24 * see Documentation/arch/arm/cluster-pm-race-avoidance.rst. 34 static void __mcpm_cpu_going_down(unsigned int cpu, unsigned int cluster) in __mcpm_cpu_going_down() argument 36 mcpm_sync.clusters[cluster].cpus[cpu].cpu = CPU_GOING_DOWN; in __mcpm_cpu_going_down() 37 sync_cache_w(&mcpm_sync.clusters[cluster].cpus[cpu].cpu); in __mcpm_cpu_going_down() 42 * cluster can be torn down without disrupting this CPU. 47 static void __mcpm_cpu_down(unsigned int cpu, unsigned int cluster) in __mcpm_cpu_down() argument 50 mcpm_sync.clusters[cluster].cpus[cpu].cpu = CPU_DOWN; in __mcpm_cpu_down() [all …]
|
| /linux/arch/arm/mach-sunxi/ |
| H A D | mc_smp.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (c) 2018 Chen-Yu Tsai 5 * Chen-Yu Tsai <wens@csie.org> 7 * arch/arm/mach-sunxi/mc_smp.c 9 * Based on Allwinner code, arch/arm/mach-exynos/mcpm-exynos.c, and 10 * arch/arm/mach-hisi/platmcpm.c 11 * Cluster cache enable trampoline code adapted from MCPM framework 14 #include <linux/arm-cci.h> 19 #include <linux/irqchip/arm-gic.h> 70 /* R_CPUCFG registers, specific to sun8i-a83t */ [all …]
|
| /linux/Documentation/arch/arm/ |
| H A D | cluster-pm-race-avoidance.rst | 2 Cluster-wide Power-up/power-down race avoidance algorithm 6 cluster setup and teardown operations and to manage hardware coherency 16 --------- 29 cluster-level operations are only performed when it is truly safe to do 34 are not immediately enabled when a cluster powers up. Since enabling or 35 disabling those mechanisms may itself be a non-atomic operation (such as 38 power-down and power-up at the cluster level. 46 ----------- 48 Each cluster and CPU is assigned a state, as follows: 50 - DOWN [all …]
|
| /linux/arch/arm/mach-versatile/ |
| H A D | spc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 12 #include <linux/clk-provider.h> 28 #define SPCLOG "vexpress-spc: " 39 /* SPC wake-up IRQs status and mask */ 46 /* SPC per-CPU mailboxes */ 50 /* SPC CPU/cluster reset statue */ 68 /* wake-up interrupt masks */ 71 /* TC2 static dual-cluster configuration */ 75 * Even though the SPC takes max 3-5 ms to complete any OPP/COMMS 97 * A15s cluster identifier [all …]
|
| H A D | platsmp-vexpress.c | 1 // SPDX-License-Identifier: GPL-2.0-only 27 * The best way to detect a multi-cluster configuration in vexpress_smp_init_ops() 40 cci_node = of_parse_phandle(cpu_node, "cci-control-port", 0); in vexpress_smp_init_ops() 57 { .compatible = "arm,cortex-a5-scu", }, 58 { .compatible = "arm,cortex-a9-scu", }, 72 * system-wide flags register. The boot monitor waits in vexpress_smp_dt_prepare_cpus()
|
| /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 ------------------------------- 28 name will appear in event listing as hisi_sccl<sccl-id>_module<index-id>. 29 where "sccl-id" is the identifier of the SCCL and "index-id" is the index of 48 ------------------------------------------ 50 ------------------------------------------ 52 ------------------------------------------ 54 ------------------------------------------ [all …]
|
| /linux/Documentation/devicetree/bindings/arm/ |
| H A D | arm,cci-400.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/arm/arm,cci-400.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> 13 ARM multi-cluster systems maintain intra-cluster coherency through a cache 24 pattern: "^cci(@[0-9a-f]+)?$" 28 - arm,cci-400 29 - arm,cci-500 30 - arm,cci-550 [all …]
|
| /linux/drivers/remoteproc/ |
| H A D | mtk_scp.c | 1 // SPDX-License-Identifier: GPL-2.0 7 #include <linux/dma-mapping.h> 27 * scp_get() - get a reference to SCP. 36 struct device *dev = &pdev->dev; in scp_get() 40 scp_node = of_parse_phandle(dev->of_node, "mediatek,scp", 0); in scp_get() 59 * scp_put() - "free" the SCP 65 put_device(scp->dev); in scp_put() 71 struct mtk_scp_of_cluster *scp_cluster = scp->cluster; in scp_wdt_handler() 74 dev_err(scp->dev, "SCP watchdog timeout! 0x%x", scp_to_host); in scp_wdt_handler() 77 list_for_each_entry(scp_node, &scp_cluster->mtk_scp_list, elem) in scp_wdt_handler() [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/include/sound/ |
| H A D | sdca_function.h | 1 /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */ 4 * https://www.mipi.org/mipi-sdca-v1-0-download 21 #define SDCA_NO_INTERRUPT -1 30 * The Cluster IDs are 16-bit, so a maximum of 65535 Clusters per 37 * Sanity check on number of channels per Cluster, can be expanded if needed. 52 * enum sdca_function_type - SDCA Function Type codes 63 * @SDCA_FUNCTION_TYPE_IMP_DEF: Implementation-defined function. 86 /* Human-readable names used for kernel logs and Function device registration/bind */ 100 * struct sdca_init_write - a single initialization write 110 * define SDCA_CTL_TYPE - create a unique identifier for an SDCA Control [all …]
|
| /linux/Documentation/devicetree/bindings/soc/qcom/ |
| H A D | qcom,saw2.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Andy Gross <agross@kernel.org> 11 - Bjorn Andersson <bjorn.andersson@linaro.org> 19 power-controller that transitions a piece of hardware (like a processor or 27 - enum: 28 - qcom,ipq4019-saw2-cpu 29 - qcom,ipq4019-saw2-l2 30 - qcom,ipq8064-saw2-cpu [all …]
|
| /linux/arch/x86/kernel/ |
| H A D | smpboot.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 13 * Pentium Pro and Pentium-II/Xeon MP machines. 19 * Alan Cox : By repeated request 8) - Total BogoMIPS report. 32 * Martin J. Bligh : Added support for multi-quad systems 86 #include <asm/intel-family.h> 88 #include <asm/spec-ctrl.h> 92 #include <asm/spec-ctrl.h> 161 if (!--smpboot_warm_reset_vector_count) { in smpboot_restore_warm_reset_vector() 239 * 32-bit specific. 64-bit reaches this code with the correct page in start_secondary() 270 * synchronization state to ALIVE and spin-waits for the control CPU to in start_secondary() [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@kernel.org> 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" 29 * same cluster, or 0 if there isn't any. [all …]
|
| /linux/fs/dlm/ |
| H A D | lowcomms.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. 6 ** Copyright (C) 2004-2009 Red Hat, Inc. All rights reserved. 15 * This is the "low-level" comms layer. 18 * from other nodes in the cluster. 20 * Cluster nodes are referred to by their nodeids. nodeids are 21 * simply 32 bit numbers to the locking module - if they need to 22 * be expanded for the cluster infrastructure then that is its 25 * whatever it needs for inter-node communication. 29 * up to the mid-level comms layer (which understands the [all …]
|
| /linux/Documentation/arch/arm/samsung/ |
| H A D | bootloader-interface.rst | 14 In the document "boot loader" means any of following: U-boot, proprietary 19 1. Non-Secure mode 65 3. Other (regardless of secure/non-secure mode) 72 0x0908 Non-zero Secondary CPU boot up indicator 79 AFTR - ARM Off Top Running, a low power mode, Cortex cores and many other 81 MCPM - Multi-Cluster Power Management
|
| /linux/drivers/edac/ |
| H A D | x38_edac.c | 3 * Copyright (C) 2008 Cluster Computing, Inc. 18 #include <linux/io-64-nonatomic-lo-hi.h> 29 /* Intel X38 register addresses - device 0 function 0 - DRAM Controller */ 55 * 9 LOCK to non-DRAM Memory Flag (LCKF) 59 * 1 Multi-bit DRAM ECC Error Flag (DMERR) 60 * 0 Single-bit DRAM ECC Error Flag (DSERR) 67 /* Intel MMIO register space - device 0 function 0 - MMR space */ 154 pdev = to_pci_dev(mci->pdev); in x38_clear_error_info() 168 void __iomem *window = mci->pvt_info; in x38_get_and_clear_error_info() 170 pdev = to_pci_dev(mci->pdev); in x38_get_and_clear_error_info() [all …]
|
| /linux/fs/ntfs/ |
| H A D | mft.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 4 * Part of this file is based on code from the NTFS-3G. 6 * Copyright (c) 2001-2012 Anton Altaparmakov and Tuxera Inc. 21 * ntfs_mft_record_check - Check the consistency of an MFT record 26 * Returns 0 if the checks are successful. If not, return -EIO. 32 struct super_block *sb = vol->sb; in ntfs_mft_record_check() 34 if (!ntfs_is_file_record(m->magic)) { in ntfs_mft_record_check() 40 if (le16_to_cpu(m->usa_ofs) & 0x1 || in ntfs_mft_record_check() 41 (vol->mft_record_size >> NTFS_BLOCK_SIZE_BITS) + 1 != le16_to_cpu(m->usa_count) || in ntfs_mft_record_check() 42 le16_to_cpu(m->usa_ofs) + le16_to_cpu(m->usa_count) * 2 > vol->mft_record_size) { in ntfs_mft_record_check() [all …]
|
| /linux/arch/arm/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 49 # https://github.com/llvm/llvm-project/commit/d130f402642fba3d065aacb506cb061c899558de 166 The ARM series is a line of low-power-consumption RISC chip designs 168 handhelds such as the Compaq IPAQ. ARM-based PCs are no longer 169 manufactured, but legacy ARM-based PC hardware remains popular in 177 relocations. The combined range is -/+ 256 MiB, which is usually 270 Patch phys-to-virt and virt-to-phys translation functions at 274 This can only be used with non-XIP MMU kernels where the base 320 bool "MMU-based Paged Memory Management Support" 323 Select if you want MMU-based virtualised addressing space [all …]
|
| /linux/drivers/media/dvb-frontends/ |
| H A D | nxt200x.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Support for NXT2002 and NXT2004 - VSB/QAM 6 * Copyright (C) 2006-2014 Michael Krufky <mkrufky@linuxtv.org> 8 * and nxt2004 by Jean-Francois Thibert <jeanfrancois@sagetv.com> 15 * B2C2/BBTI Technisat Air2PC - ATSC (NXT2002) 31 #define NXT2002_DEFAULT_FIRMWARE "dvb-fe-nxt2002.fw" 32 #define NXT2004_DEFAULT_FIRMWARE "dvb-fe-nxt2004.fw" 63 if ((err = i2c_transfer (state->i2c, &msg, 1)) != 1) { in i2c_writebytes() 66 return -EREMOTEIO; in i2c_writebytes() 76 if ((err = i2c_transfer (state->i2c, &msg, 1)) != 1) { in i2c_readbytes() [all …]
|
| /linux/drivers/eisa/ |
| H A D | eisa.ids | 6 # Marc Zyngier <maz@wild-wind.fr.eu.org> 10 ABP0510 "Advansys ABP-510 ISA SCSI Host Adapter" 11 ABP0540 "Advansys ABP-540/542 ISA SCSI Host Adapter" 12 ABP7401 "AdvanSys ABP-740/742 EISA Single Channel SCSI Host Adapter" 13 ABP7501 "AdvanSys ABP-750/752 EISA Dual Channel SCSI Host Adapter" 14 ACC1200 "ACCTON EtherCombo-32 Ethernet Adapter" 15 ACC120A "ACCTON EtherCombo-32 Ethernet Adapter" 25 ACE7010 "ACME Multi-Function Board" 39 ACR1711 "AcerFrame 1000 486/33 SYSTEM-2" 41 ACR3211 "AcerFrame 3000MP 486 SYSTEM-1" [all …]
|
| /linux/fs/ext4/ |
| 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 54 csum = ext4_chksum(ei->i_csum_seed, (__u8 *)eh, in ext4_extent_block_csum() 64 if (!ext4_has_feature_metadata_csum(inode->i_sb)) in ext4_extent_block_csum_verify() 68 if (et->et_checksum != ext4_extent_block_csum(inode, eh)) in ext4_extent_block_csum_verify() 78 if (!ext4_has_feature_metadata_csum(inode->i_sb)) in ext4_extent_block_csum_set() 82 et->et_checksum = ext4_extent_block_csum(inode, eh); in ext4_extent_block_csum_set() [all …]
|
| /linux/fs/xfs/ |
| H A D | xfs_inode.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (c) 2000-2006 Silicon Graphics, Inc. 55 * bringing in of the extents from disk for a file in b-tree format. If the 56 * inode is in b-tree format, then we need to lock the inode exclusively until 71 if (xfs_need_iread_extents(&ip->i_df)) in xfs_ilock_data_map_shared() 83 if (xfs_inode_has_attr_fork(ip) && xfs_need_iread_extents(&ip->i_af)) in xfs_ilock_attr_map_shared() 111 * multi-reader locks: invalidate_lock and the i_lock. This routine allows 119 * i_rwsem -> invalidate_lock -> page_lock -> i_ilock 123 * i_rwsem -> page lock -> mmap_lock 124 * mmap_lock -> invalidate_lock -> page_lock [all …]
|
| /linux/drivers/soc/tegra/fuse/ |
| H A D | fuse-tegra.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (c) 2013-2023, NVIDIA CORPORATION. All rights reserved. 13 #include <linux/nvmem-consumer.h> 14 #include <linux/nvmem-provider.h> 54 { .compatible = "nvidia,tegra20-car", }, 55 { .compatible = "nvidia,tegra30-car", }, 56 { .compatible = "nvidia,tegra114-car", }, 57 { .compatible = "nvidia,tegra124-car", }, 58 { .compatible = "nvidia,tegra132-car", }, 59 { .compatible = "nvidia,tegra210-car", }, [all …]
|