/openbmc/linux/Documentation/devicetree/bindings/firmware/ |
H A D | arm,scmi.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 4 --- 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 11 - Sudeep Holla <sudeep.holla@arm.com> 31 - description: SCMI compliant firmware with mailbox transport 33 - const: arm,scmi 34 - description: SCMI compliant firmware with ARM SMC/HVC transport 36 - const: arm,scmi-smc 37 - description: SCMI compliant firmware with ARM SMC/HVC transport 38 with shmem address(4KB-page, offset) as parameters [all …]
|
/openbmc/linux/arch/powerpc/kernel/ |
H A D | watchdog.c | 1 // SPDX-License-Identifier: GPL-2.0 37 * period, and updates a per-cpu timestamp and a "pending" cpumask. This is 41 * The local soft-NMI, and the SMP checker. 43 * The soft-NMI checker can detect lockups on the local CPU. When interrupts 44 * are disabled with local_irq_disable(), platforms that use soft-masking 50 * The soft-NMI checker will compare the heartbeat timestamp for this CPU 52 * watchdog threshold. 54 * The limitation of the soft-NMI watchdog is that it does not work when 66 * not been updated for a period exceeding the watchdog threshold, then it 131 hard_irq_disable(); /* Make it soft-NMI safe */ in wd_smp_lock() [all …]
|
/openbmc/qemu/tests/bench/ |
H A D | qht-bench.c | 5 * See the COPYING file in the top-level directory. 9 #include "qemu/atomic.h" 31 * a non-zero seed. To use, subtract 1 and compare against the 32 * threshold with </>=. This lets threshold = 0 never match (0% hit), 33 * and threshold = UINT64_MAX always match (100% hit). 78 " -d = duration, in seconds\n" 79 " -n = number of threads\n" 81 " -o = offset at which keys start\n" 82 " -p = precompute hashes\n" 84 " -g = set -s,-k,-K,-l,-r to the same value\n" [all …]
|
/openbmc/linux/drivers/net/ethernet/atheros/atlx/ |
H A D | atl2.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 /* atl2.h -- atl2 driver definitions 9 * Copyright(c) 1999 - 2005 Intel Corporation. All rights reserved. 15 #include <linux/atomic.h> 39 ((a)->hw_addr + (reg)))) 41 #define ATL2_WRITE_FLUSH(a) (ioread32((a)->hw_addr)) 43 #define ATL2_READ_REG(a, reg) (ioread32((a)->hw_addr + (reg))) 46 ((a)->hw_addr + (reg)))) 48 #define ATL2_READ_REGB(a, reg) (ioread8((a)->hw_addr + (reg))) 51 ((a)->hw_addr + (reg)))) [all …]
|
/openbmc/linux/fs/xfs/ |
H A D | xfs_log_priv.h | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (c) 2000-2003,2005 Silicon Graphics, Inc. 74 * By covering, we mean changing the h_tail_lsn in the last on-disk 75 * log write such that no allocation transactions will be re-done during 76 * recovery after a system crash. Recovery starts at the last on-disk 80 * space allocation transactions which can undo non-transactional changes 93 * non-dummy transaction. The first dummy changes the h_tail_lsn to 102 * IDLE -- no logging has been done on the file system or 104 * NEED -- logging has occurred and we need a dummy transaction 106 * DONE -- we were in the NEED state and have committed a dummy [all …]
|
H A D | xfs_log_cil.c | 1 // SPDX-License-Identifier: GPL-2.0 27 * We don't reserve any space for the ticket - we are going to steal whatever 45 tic->t_curr_res = 0; in xlog_cil_ticket_alloc() 46 tic->t_iclog_hdrs = 0; in xlog_cil_ticket_alloc() 53 struct xlog *log = cil->xc_log; in xlog_cil_set_iclog_hdr_count() 55 atomic_set(&cil->xc_iclog_hdrs, in xlog_cil_set_iclog_hdr_count() 57 (log->l_iclog_size - log->l_iclog_hsize))); in xlog_cil_set_iclog_hdr_count() 65 * Note: for this to be used in a non-racy manner, it has to be called with 74 if (test_bit(XLOG_CIL_EMPTY, &cil->xc_flags)) in xlog_item_in_current_chkpt() 82 return lip->li_seq == READ_ONCE(cil->xc_current_sequence); in xlog_item_in_current_chkpt() [all …]
|
/openbmc/linux/drivers/net/ethernet/mediatek/ |
H A D | mtk_eth_soc.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 4 * Copyright (C) 2009-2016 John Crispin <blogic@openwrt.org> 5 * Copyright (C) 2009-2016 Felix Fietkau <nbd@openwrt.org> 6 * Copyright (C) 2013-2016 Michael Lee <igvtee@gmail.com> 12 #include <linux/dma-mapping.h> 55 #define NEXT_DESP_IDX(X, Y) (((X) + 1) & ((Y) - 1)) 60 #define MTK_PP_MAX_BUF_SIZE (PAGE_SIZE - MTK_PP_PAD) 69 #define MTK_HW_LRO_TIMER_UNIT 1 /* 20 us */ 71 #define MTK_HW_LRO_AGG_TIME 10 /* 200us */ 134 /* Unicast Filter MAC Address Register - Low */ [all …]
|
/openbmc/linux/drivers/i2c/busses/ |
H A D | i2c-imx.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Copyright (C) 2002 Motorola GSG-China 28 #include <linux/dma-mapping.h> 46 #include <linux/platform_data/i2c-imx.h> 53 #define DRIVER_NAME "imx-i2c" 58 * Enable DMA if transfer byte size is bigger than this threshold. 107 * - write zero to clear(w0c) INT flag on i.MX, 108 * - but write one to clear(w1c) INT flag on Vybrid. 110 * - set I2CR_IEN bit enable the module on i.MX, 111 * - but clear I2CR_IEN bit enable the module on Vybrid. [all …]
|
/openbmc/linux/net/rds/ |
H A D | send.c | 14 * - Redistributions of source code must retain the above 18 * - Redistributions in binary form must reproduce the above 70 if (cp->cp_xmit_rm) { in rds_send_path_reset() 71 rm = cp->cp_xmit_rm; in rds_send_path_reset() 72 cp->cp_xmit_rm = NULL; in rds_send_path_reset() 81 cp->cp_xmit_sg = 0; in rds_send_path_reset() 82 cp->cp_xmit_hdr_off = 0; in rds_send_path_reset() 83 cp->cp_xmit_data_off = 0; in rds_send_path_reset() 84 cp->cp_xmit_atomic_sent = 0; in rds_send_path_reset() 85 cp->cp_xmit_rdma_sent = 0; in rds_send_path_reset() [all …]
|
/openbmc/linux/Documentation/filesystems/ |
H A D | xfs-delayed-logging-design.rst | 1 .. SPDX-License-Identifier: GPL-2.0 27 are atomic and recoverable. For reasons of space and time efficiency, the 33 details logged are made up of the changes to in-core structures rather than 34 on-disk structures. Other objects - typically buffers - have their physical 35 changes logged. Long running atomic modifications have individual changes 60 commit boundaries, whilst "one shot" transactions are for a single atomic 64 place. This means that permanent transactions can be used for one-shot 65 modifications, but one-shot reservations cannot be used for permanent 68 In the code, a one-shot transaction pattern looks somewhat like this:: 97 While this might look similar to a one-shot transaction, there is an important [all …]
|
/openbmc/linux/net/batman-adv/ |
H A D | bat_v.c | 1 // SPDX-License-Identifier: GPL-2.0 10 #include <linux/atomic.h> 38 #include "hard-interface.h" 46 struct batadv_priv *bat_priv = netdev_priv(hard_iface->soft_iface); in batadv_v_iface_activate() 60 if (hard_iface->if_status == BATADV_IF_TO_BE_ACTIVATED) in batadv_v_iface_activate() 61 hard_iface->if_status = BATADV_IF_ACTIVE; in batadv_v_iface_activate() 92 * batadv_v_iface_update_mac() - react to hard-interface MAC address change 100 struct batadv_priv *bat_priv = netdev_priv(hard_iface->soft_iface); in batadv_v_iface_update_mac() 115 ewma_throughput_init(&hardif_neigh->bat_v.throughput); in batadv_v_hardif_neigh_init() 119 * batadv_v_neigh_dump_neigh() - Dump a neighbour into a message [all …]
|
/openbmc/linux/drivers/firmware/arm_scmi/ |
H A D | driver.c | 1 // SPDX-License-Identifier: GPL-2.0 7 * provides a mechanism for inter-processor communication between SCP's 14 * Copyright (C) 2018-2021 ARM Ltd. 25 #include <linux/io-64-nonatomic-hi-lo.h> 60 * struct scmi_xfers_info - Structure to manage transfer information 68 * a number of xfers equal to the maximum allowed in-flight 71 * currently in-flight messages. 82 * struct scmi_protocol_instance - Describe an initialized protocol instance. 85 * @gid: A reference for per-protocol devres management. 106 * struct scmi_debug_info - Debug common info [all …]
|
/openbmc/linux/mm/ |
H A D | vmstat.c | 1 // SPDX-License-Identifier: GPL-2.0-only 11 * Copyright (C) 2008-2014 Christoph Lameter 43 atomic_long_set(&zone->vm_numa_event[item], 0); in zero_zone_numa_counters() 45 per_cpu_ptr(zone->per_cpu_zonestats, cpu)->vm_numa_event[item] in zero_zone_numa_counters() 121 ret[i] += this->event[i]; in sum_vm_events() 127 * The result is unavoidably approximate - it can change 150 count_vm_events(i, fold_state->event[i]); in vm_events_fold_cpu() 151 fold_state->event[i] = 0; in vm_events_fold_cpu() 178 pzstats = per_cpu_ptr(zone->per_cpu_zonestats, cpu); in fold_vm_zone_numa_events() 180 zone_numa_events[item] += xchg(&pzstats->vm_numa_event[item], 0); in fold_vm_zone_numa_events() [all …]
|
/openbmc/linux/drivers/gpu/drm/radeon/ |
H A D | atombios.h | 2 * Copyright 2006-2007 Advanced Micro Devices, Inc. 214 UCHAR uaFirmWareSignature[4]; /*Signature to distinguish between Atombios and non-atombios, 245 USHORT GetDisplaySurfaceSize; //Atomic Table, Used by Bios when enabling HW ICON 246 …USHORT ASIC_RegistersInit; //Atomic Table, indirectly used by various SW comp… 247 USHORT VRAM_BlockVenderDetection; //Atomic Table, used only by Bios 249 …USHORT MemoryControllerInit; //Atomic Table, indirectly used by various SW comp… 251 …USHORT MemoryParamAdjust; //Atomic Table, indirectly used by various SW components,cal… 253 USHORT GPIOPinControl; //Atomic Table, only used by Bios 257 …USHORT EnableDispPowerGating; //Atomic Table, indirectly used by various SW comp… 258 …USHORT ResetMemoryDLL; //Atomic Table, indirectly used by various SW comp… [all …]
|
/openbmc/linux/drivers/gpu/drm/amd/include/ |
H A D | atombios.h | 2 * Copyright 2006-2007 Advanced Micro Devices, Inc. 107 #define ATOM_SCALER_DISABLE 0 //For Fudo, it's bypass and auto-cengter & no replication 108 #define ATOM_SCALER_CENTER 1 //For Fudo, it's bypass and auto-center & auto replication 110 #define ATOM_SCALER_MULTI_EX 3 //For Fudo only, it's multi-tap mode only used to drive TV or CV,… 222 UCHAR uaFirmWareSignature[4]; //Signature to distinguish between Atombios and non-atombios, 245 UCHAR uaFirmWareSignature[4]; //Signature to distinguish between Atombios and non-atombios, 274 USHORT GetDisplaySurfaceSize; //Atomic Table, Used by Bios when enabling HW ICON 275 …USHORT ASIC_RegistersInit; //Atomic Table, indirectly used by various SW comp… 276 USHORT VRAM_BlockVenderDetection; //Atomic Table, used only by Bios 278 …USHORT MemoryControllerInit; //Atomic Table, indirectly used by various SW comp… [all …]
|
/openbmc/linux/kernel/locking/ |
H A D | rwsem.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Derived from asm-i386/semaphore.h 7 * Writer lock-stealing by Alex Shi <alex.shi@intel.com> 13 * Rwsem count bit fields re-definition and rwsem rearchitecture by 29 #include <linux/atomic.h> 38 * - Bit 0: RWSEM_READER_OWNED - The rwsem is owned by readers 39 * - Bit 1: RWSEM_NONSPINNABLE - Cannot spin on a reader-owned lock 41 * When the rwsem is reader-owned and a spinning writer has timed out, 50 * for a free or reader-owned rwsem, the owner value may contain 60 * - rwsem is not currently writer owned [all …]
|
/openbmc/qemu/util/ |
H A D | qht.c | 2 * qht.c - QEMU Hash Table, designed to scale for read-mostly workloads. 7 * See the COPYING file in the top-level directory. 10 * - NULL cannot be inserted/removed as a pointer value. 11 * - Trying to insert an already-existing hash-pointer pair is OK. However, 12 * it is not OK to insert into the same hash table different hash-pointer 14 * - Lookups are performed under an RCU read-critical section; removals 18 * - Reads (i.e. lookups and iterators) can be concurrent with other reads. 22 * - Writes (i.e. insertions/removals) can be concurrent with writes to 24 * - Optional auto-resizing: the hash table resizes up if the load surpasses 25 * a certain threshold. Resizing is done concurrently with readers; writes [all …]
|
/openbmc/linux/drivers/gpu/drm/ |
H A D | drm_vblank.c | 91 * "Physical top of display" is the reference point for the high-precision/ 109 * tear-free display, users must synchronize page flips and/or rendering to 114 * involves filtering out spurious interrupts, keeping race-free blanking 115 * counters, coping with counter wrap-around and resets and keeping use counts. 133 * On many hardware disabling the vblank interrupt cannot be done in a race-free 139 * Drivers for hardware without support for vertical-blanking interrupts 140 * must not call drm_vblank_init(). For such drivers, atomic helpers will 151 /* Threshold in nanoseconds for detection of redundant 166 MODULE_PARM_DESC(vblankoffdelay, "Delay until vblank irq auto-disable [msecs] (0: never disable, <0… 173 struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; in store_vblank() [all …]
|
/openbmc/linux/kernel/sched/ |
H A D | psi.c | 1 // SPDX-License-Identifier: GPL-2.0 34 * In the FULL state of a given resource, all non-idle tasks are 48 * FULL means all non-idle tasks in the cgroup are delayed on the CPU 64 * unrealized due to resource contention *also* scales with non-idle 83 * we have to base our calculation on the number of non-idle tasks in 91 * FULL = (threads - min(nr_productive_tasks, threads)) / threads 97 * FULL = (256 - min(256, 256)) / 256 = 0% 99 * For the 1 out of 4 memory-delayed tasks, this yields: 103 * FULL = (4 - min(3, 4)) / 4 = 25% 106 * extension of the single-CPU model. ] [all …]
|
/openbmc/linux/drivers/spi/ |
H A D | spi-dw-core.c | 1 // SPDX-License-Identifier: GPL-2.0-only 9 #include <linux/dma-mapping.h> 17 #include <linux/spi/spi-mem.h> 21 #include "spi-dw.h" 64 snprintf(name, 32, "dw_spi%d", dws->host->bus_num); in dw_spi_debugfs_init() 65 dws->debugfs = debugfs_create_dir(name, NULL); in dw_spi_debugfs_init() 67 dws->regset.regs = dw_spi_dbgfs_regs; in dw_spi_debugfs_init() 68 dws->regset.nregs = ARRAY_SIZE(dw_spi_dbgfs_regs); in dw_spi_debugfs_init() 69 dws->regset.base = dws->regs; in dw_spi_debugfs_init() 70 debugfs_create_regset32("registers", 0400, dws->debugfs, &dws->regset); in dw_spi_debugfs_init() [all …]
|
/openbmc/linux/drivers/platform/surface/aggregator/ |
H A D | core.c | 1 // SPDX-License-Identifier: GPL-2.0+ 6 * Provides access to a SAM-over-SSH connected EC via a controller device. 10 * Copyright (C) 2019-2022 Maximilian Luz <luzmaximilian@gmail.com> 14 #include <linux/atomic.h> 34 /* -- Static controller reference. ------------------------------------------ */ 44 * ssam_get_controller() - Get reference to SSAM controller. 62 if (WARN_ON(!kref_get_unless_zero(&ctrl->kref))) in ssam_get_controller() 72 * ssam_try_set_controller() - Try to set the main controller reference. 78 * Return: Returns zero on success or %-EEXIST if the reference has already 89 status = -EEXIST; in ssam_try_set_controller() [all …]
|
/openbmc/linux/drivers/net/ethernet/sfc/ |
H A D | rx_common.c | 1 // SPDX-License-Identifier: GPL-2.0-only 24 "RX descriptor ring refill threshold (%)"); 28 * This must be at least 1 to prevent overflow, plus one packet-worth 36 struct efx_nic *efx = rx_queue->efx; in efx_reuse_page() 41 if (unlikely(!rx_queue->page_ring)) in efx_reuse_page() 43 index = rx_queue->page_remove & rx_queue->page_ptr_mask; in efx_reuse_page() 44 page = rx_queue->page_ring[index]; in efx_reuse_page() 48 rx_queue->page_ring[index] = NULL; in efx_reuse_page() 50 if (rx_queue->page_remove != rx_queue->page_add) in efx_reuse_page() 51 ++rx_queue->page_remove; in efx_reuse_page() [all …]
|
/openbmc/linux/drivers/net/ethernet/sfc/siena/ |
H A D | rx_common.c | 1 // SPDX-License-Identifier: GPL-2.0-only 24 "RX descriptor ring refill threshold (%)"); 28 * This must be at least 1 to prevent overflow, plus one packet-worth 39 struct efx_nic *efx = rx_queue->efx; in efx_reuse_page() 44 if (unlikely(!rx_queue->page_ring)) in efx_reuse_page() 46 index = rx_queue->page_remove & rx_queue->page_ptr_mask; in efx_reuse_page() 47 page = rx_queue->page_ring[index]; in efx_reuse_page() 51 rx_queue->page_ring[index] = NULL; in efx_reuse_page() 53 if (rx_queue->page_remove != rx_queue->page_add) in efx_reuse_page() 54 ++rx_queue->page_remove; in efx_reuse_page() [all …]
|
/openbmc/linux/drivers/gpu/drm/i915/display/ |
H A D | i9xx_wm.c | 1 // SPDX-License-Identifier: MIT 36 {1, 0, 800, 400, 3382, 33382, 3983, 33983}, /* DDR2-400 SC */ 37 {1, 0, 800, 667, 3354, 33354, 3807, 33807}, /* DDR2-667 SC */ 38 {1, 0, 800, 800, 3347, 33347, 3763, 33763}, /* DDR2-800 SC */ 39 {1, 1, 800, 667, 6420, 36420, 6873, 36873}, /* DDR3-667 SC */ 40 {1, 1, 800, 800, 5902, 35902, 6318, 36318}, /* DDR3-800 SC */ 42 {1, 0, 667, 400, 3400, 33400, 4021, 34021}, /* DDR2-400 SC */ 43 {1, 0, 667, 667, 3372, 33372, 3845, 33845}, /* DDR2-667 SC */ 44 {1, 0, 667, 800, 3386, 33386, 3822, 33822}, /* DDR2-800 SC */ 45 {1, 1, 667, 667, 6438, 36438, 6911, 36911}, /* DDR3-667 SC */ [all …]
|
/openbmc/linux/fs/fuse/ |
H A D | dax.c | 1 // SPDX-License-Identifier: GPL-2.0 29 * Dax memory reclaim threshold in percetage of total ranges. When free 30 * number of free ranges drops below this threshold, reclaim can trigger 40 /* Will connect in fcd->free_ranges to keep track of free memory */ 46 /* Will connect in fc->busy_ranges to keep track busy memory */ 55 /* Is this mapping read-only or read-write */ 62 /* Per-inode dax map */ 113 /* If number of free ranges are below threshold, start reclaim */ in __kick_dmap_free_worker() 114 free_threshold = max_t(unsigned long, fcd->nr_ranges * FUSE_DAX_RECLAIM_THRESHOLD / 100, in __kick_dmap_free_worker() 116 if (fcd->nr_free_ranges < free_threshold) in __kick_dmap_free_worker() [all …]
|