/linux/rust/kernel/sync/ |
H A D | arc.rs | 10 //! It is different from the standard library's [`Arc`] in a few ways: 15 //! 5. The object in [`Arc`] is pinned implicitly. 17 //! [`Arc`]: https://doc.rust-lang.org/std/sync/struct.Arc.html 41 /// The reference count is incremented when new instances of [`Arc`] are created, and decremented 46 /// The reference count on an instance of [`Arc`] is always non-zero. 47 /// The object pointed to by [`Arc`] is always pinned. 52 /// use kernel::sync::Arc; 60 /// let obj = Arc::new(Example { a: 10, b: 20 }, GFP_KERNEL)?; 79 /// Using `Arc<T>` as the type of `self`: 82 /// use kernel::sync::Arc; [all …]
|
H A D | completion.rs | 19 /// use kernel::sync::{Arc, Completion}; 35 /// fn new() -> Result<Arc<Self>> { 36 /// let this = Arc::pin_init(pin_init!(MyTask { 54 /// type Pointer = Arc<MyTask>; 56 /// fn run(this: Arc<MyTask>) {
|
/linux/Documentation/arch/arc/ |
H A D | arc.rst | 3 Linux kernel for ARC processors 10 ARC processors and relevant open source projects. 12 - `<https://embarc.org>`_ - Community portal for open source on ARC. 16 - `<https://github.com/foss-for-synopsys-dwc-arc-processors>`_ - 18 ARC processors. Some of the projects are forks of various upstream projects, 21 as open source for use on ARC Processors. 23 - `Official Synopsys ARC Processors website 26 Manual, AKA PRM for ARC HS processors 27 <https://www.synopsys.com/dw/doc.php/ds/cc/programmers-reference-manual-ARC-HS.pdf>`_) 34 Important note on ARC processors configurability [all …]
|
/linux/rust/kernel/list/ |
H A D | arc.rs | 5 //! A wrapper around `Arc` for linked lists. 9 use crate::sync::{Arc, ArcBorrow, UniqueArc}; 58 /// Attempts to convert an `Arc<Self>` into an `ListArc<Self>`. Returns `true` if the 131 /// A wrapper around [`Arc`] that's guaranteed unique for the given id. 142 /// creation of new `ListArc` references from an [`Arc`] reference. Whatever strategy is used, the 152 /// While this `ListArc` is unique for the given id, there still might exist normal `Arc` 167 arc: Arc<T>, field 181 // what we do for `Arc`. 222 let arc = Arc::from(unique); in from() localVariable 223 // SAFETY: We just called `on_create_list_arc_from_unique` on an arc without a `ListArc`, in from() [all …]
|
/linux/drivers/accel/habanalabs/include/gaudi2/arc/ |
H A D | gaudi2_arc_common_packets.h | 15 /* Dcore1 MME Engine ARC instance used as scheduler */ 17 /* Dcore3 MME Engine ARC instance used as scheduler */ 107 * ARC Address: 0x1000_0000 114 * ARC Address: 0x2000_0000 121 * ARC Address: 0x3000_0000 129 * ARC Address: 0x4000_0000 137 * ARC Address: 0x5000_0000 145 * ARC Address: 0x6000_0000 153 * ARC Address: 0x7000_0000 159 * ARC Address: 0x8000_0000 [all …]
|
/linux/Documentation/devicetree/bindings/remoteproc/ |
H A D | amlogic,meson-mx-ao-arc.yaml | 4 $id: http://devicetree.org/schemas/remoteproc/amlogic,meson-mx-ao-arc.yaml# 7 title: Amlogic Meson AO ARC Remote Processor 10 Amlogic Meson6, Meson8, Meson8b and Meson8m2 SoCs embed an ARC core 12 system suspend. Meson6 and older use a ARC core based on the ARCv1 13 ISA, while Meson8, Meson8b and Meson8m2 use an ARC EM4 (ARCv2 ISA) 23 - amlogic,meson8-ao-arc 24 - amlogic,meson8b-ao-arc 25 - const: amlogic,meson-mx-ao-arc 54 the ARC core. The region should be defined as child nodes of the 78 compatible = "amlogic,meson8-ao-arc", "amlogic,meson-mx-ao-arc";
|
/linux/arch/arc/ |
H A D | Kconfig | 6 config ARC config 86 menu "ARC Architecture Configuration" 88 menu "ARC Platform/SoC/Board" 90 source "arch/arc/plat-tb10x/Kconfig" 91 source "arch/arc/plat-axs10x/Kconfig" 92 source "arch/arc/plat-hsdk/Kconfig" 97 prompt "ARC Instruction Set" 104 The original ARC ISA of ARC600/700 cores 107 bool "ARC ISA v2" 110 ISA for the Next Generation ARC-HS cores [all …]
|
H A D | Makefile | 9 CROSS_COMPILE := $(call cc-cross-prefix, arc-linux- arceb-linux- arc-linux-gnu-) 37 LINUXINCLUDE += -include $(srctree)/arch/arc/include/asm/current.h 85 core-y += arch/arc/plat-sim/ 86 core-$(CONFIG_ARC_PLAT_TB10X) += arch/arc/plat-tb10x/ 87 core-$(CONFIG_ARC_PLAT_AXS10X) += arch/arc/plat-axs10x/ 88 core-$(CONFIG_ARC_SOC_HSDK) += arch/arc/plat-hsdk/ 90 libs-y += arch/arc/lib/ $(LIBGCC) 92 boot := arch/arc/boot
|
/linux/Documentation/devicetree/bindings/timer/ |
H A D | snps,arc-timer.yaml | 4 $id: http://devicetree.org/schemas/snps,arc-timer.yaml# 7 title: Synopsys ARC Local Timer 13 Synopsys ARC Local Timer with Interrupt Capabilities 15 - Found on all ARC CPUs (ARC700/ARCHS) 17 - Two identical copies TIMER0 and TIMER1 exist in ARC cores and historically 18 TIMER0 used as clockevent provider (true for all ARC cores) 19 TIMER1 used for clocksource (mandatory for ARC700, optional for ARC HS) 23 const: snps,arc-timer 42 compatible = "snps,arc-timer";
|
/linux/Documentation/devicetree/bindings/leds/backlight/ |
H A D | arcxcnn_bl.txt | 4 - compatible: should be "arc,arc2c0608" 14 - arc,led-config-0: setting for register ILED_CONFIG_0 15 - arc,led-config-1: setting for register ILED_CONFIG_1 16 - arc,dim-freq: PWM mode frequence setting (bits [3:0] used) 17 - arc,comp-config: setting for register CONFIG_COMP 18 - arc,filter-config: setting for register FILTER_CONFIG 19 - arc,trim-config: setting for register IMAXTUNE 26 compatible = "arc,arc2c0608";
|
/linux/rust/kernel/ |
H A D | workqueue.rs | 36 //! use kernel::sync::Arc; 51 //! fn new(value: i32) -> Result<Arc<Self>> { 52 //! Arc::pin_init(pin_init!(MyStruct { 60 //! type Pointer = Arc<MyStruct>; 62 //! fn run(this: Arc<MyStruct>) { 69 //! fn print_later(val: Arc<MyStruct>) { 78 //! use kernel::sync::Arc; 97 //! fn new(value_1: i32, value_2: i32) -> Result<Arc<Self>> { 98 //! Arc::pin_init(pin_init!(MyStruct { 108 //! type Pointer = Arc<MyStruct>; [all …]
|
H A D | devres.rs | 16 sync::{rcu, Arc, Completion}, 98 pub struct Devres<T>(Arc<DevresInner<T>>); 101 fn new(dev: &Device<Bound>, data: T, flags: Flags) -> Result<Arc<DevresInner<T>>> { in new() 102 let inner = Arc::pin_init( in new() 112 // Convert `Arc<DevresInner>` into a raw pointer and make devres own this reference until in new() 125 let _ = unsafe { Arc::from_raw(data) }; in new() 136 fn remove_action(this: &Arc<Self>) -> bool { in remove_action() 151 // SAFETY: We leaked an `Arc` reference to devm_add_action() in `DevresInner::new`; if in remove_action() 154 let _ = unsafe { Arc::from_raw(this.as_ptr()) }; in remove_action() 163 // Devres owned this memory; now that we received the callback, drop the `Arc` and hence the in devres_callback() [all …]
|
/linux/Documentation/devicetree/bindings/serial/ |
H A D | snps,arc-uart.yaml | 4 $id: http://devicetree.org/schemas/serial/snps,arc-uart.yaml# 7 title: Synopsys ARC UART 13 Synopsys ARC UART is a non-standard UART used in some of the ARC FPGA boards. 20 const: snps,arc-uart 46 compatible = "snps,arc-uart";
|
/linux/rust/kernel/time/hrtimer/ |
H A D | arc.rs | 10 use crate::sync::Arc; 13 /// A handle for an `Arc<HasHrTimer<T>>` returned by a call to 19 pub(crate) inner: Arc<T>, 29 let self_ptr = Arc::as_ptr(&self.inner); in cancel() 50 impl<T> HrTimerPointer for Arc<T> implementation 64 unsafe { T::start(Arc::as_ptr(&self), expires) }; in start() 69 impl<T> RawHrTimerCallback for Arc<T> implementation 95 // allocation from other `Arc` clones. in run()
|
/linux/rust/pin-init/src/ |
H A D | alloc.rs | 4 use alloc::{boxed::Box, sync::Arc}; 9 use std::sync::Arc; 98 impl<T> InPlaceInit<T> for Arc<T> { implementation 104 let mut this = try_new_uninit!(Arc); in try_pin_init() 105 let Some(slot) = Arc::get_mut(&mut this) else { in try_pin_init() 106 // SAFETY: the Arc has just been created and has no external references in try_pin_init() 113 // SAFETY: All fields have been initialized and this is the only `Arc` to that data. in try_pin_init() 122 let mut this = try_new_uninit!(Arc); in try_init() 123 let Some(slot) = Arc::get_mut(&mut this) else { in try_init() 124 // SAFETY: the Arc has just been created and has no external references in try_init()
|
/linux/arch/arc/plat-axs10x/ |
H A D | Kconfig | 7 bool "Synopsys ARC AXS10x Software Development Platforms" 17 Support for the ARC AXS10x Software Development Platforms. 27 bool "AXS101 with AXC001 CPU Card (ARC 770D/EM6/AS221)" 29 This adds support for the 770D/EM6/AS221 CPU Card. Only the ARC 37 bool "AXS103 with AXC003 CPU Card (ARC HS38x)"
|
/linux/arch/arc/include/uapi/asm/ |
H A D | swab.h | 14 * -Hardware assisted single cycle bswap (Use Case of ARC custom instrn) 37 /* Several ways of Endian-Swap Emulation for ARC 39 * 1: ARC optimised "C" 40 * 2: ARC Custom instruction 50 * This generates 9 instructions on ARC (excluding the ld/st) 66 * (2) At the same time it takes advantage of ARC ISA (rotate intrns)
|
/linux/drivers/net/ethernet/arc/ |
H A D | Kconfig | 3 # ARC EMAC network device configuration 7 bool "ARC devices" 14 the questions about ARC cards. If you say Y, you will be asked for 21 depends on ARC || ARCH_ROCKCHIP || COMPILE_TEST
|
/linux/arch/sparc/include/asm/ |
H A D | mdesc.h | 43 /* MD arc iteration, the standard sequence is: 45 * unsigned long arc; 46 * mdesc_for_each_arc(arc, handle, node, MDESC_ARC_TYPE_{FWD,BACK}) { 47 * unsigned long target = mdesc_arc_target(handle, arc); 62 u64 mdesc_arc_target(struct mdesc_handle *hp, u64 arc);
|
/linux/drivers/accel/habanalabs/gaudi2/ |
H A D | gaudi2P.h | 53 /* Map all arcs dccm + arc schedulers acp blocks */ 62 /* Within the user mapped array, decoder entries start post all the ARC related 485 * @active_hw_arc: This field contains a bit per ARC of an H/W engine with 486 * exception of TPC and NIC engines. Once an engine arc is 488 * identify each initialized ARC and use this information in 490 * of its corresponding ARC of the H/W engine. 503 * @active_tpc_arc: This field contains a bit per ARC of the TPC engines. 504 * Once an engine arc is initialized, its respective bit is 506 * corresponding ARC of the TPC engine. 508 * @active_nic_arc: This field contains a bit per ARC of the NIC engines. [all …]
|
/linux/drivers/clocksource/ |
H A D | arc_timer.c | 26 #include <soc/arc/timers.h> 27 #include <soc/arc/mcip.h> 66 * an instance PER ARC CORE (not per cluster), and there are dedicated in arc_read_gfrc() 75 * defined in arch/arc/kernel/mcip.c in arc_read_gfrc() 207 .name = "ARC Timer1", 270 .name = "ARC Timer0", 349 "clockevents/arc/timer:starting", in arc_clockevent_setup() 373 TIMER_OF_DECLARE(arc_clkevt, "snps,arc-timer", arc_of_timer_init);
|
/linux/drivers/video/fbdev/ |
H A D | arcfb.c | 2 * linux/drivers/video/arcfb.c -- FB driver for Arc monochrome LCD board 12 * This driver was written to be used with the Arc LCD board. Arc uses a 228 if (!(ctl2status & KS_INTACK)) /* not arc generated interrupt */ in arcfb_interrupt() 377 /* illegal to wait on arc if no irq will occur */ in arcfb_ioctl() 381 /* wait until the Arc has generated an interrupt in arcfb_ioctl() 461 /* We need a flat backing store for the Arc's in arcfb_probe() 504 fb_info(info, "Arc frame buffer device, using %dK of video memory\n", in arcfb_probe() 596 MODULE_PARM_DESC(arcfb_enable, "Enable communication with Arc board"); 606 MODULE_PARM_DESC(tuhold, "Time to hold between strobing data to Arc board"); 608 MODULE_PARM_DESC(irq, "IRQ for the Arc board"); [all …]
|
/linux/Documentation/devicetree/bindings/arc/ |
H A D | hsdk.txt | 1 Synopsys DesignWare ARC HS Development Kit Device Tree Bindings 4 ARC HSDK Board with quad-core ARC HS38x4 in silicon.
|
H A D | snps,archs-pct.yaml | 4 $id: http://devicetree.org/schemas/arc/snps,archs-pct.yaml# 7 title: ARC HS Performance Counters 13 The ARC HS can be configured with a pipeline performance monitor for counting
|
/linux/arch/arm64/boot/dts/rockchip/ |
H A D | rk3566-anbernic-rg-arc-s.dts | 8 #include "rk3566-anbernic-rg-arc.dtsi" 11 model = "Anbernic RG ARC-S"; 12 compatible = "anbernic,rg-arc-s", "rockchip,rk3566";
|