| /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 43 /// The reference count is incremented when new instances of [`Arc`] are created, and decremented 48 /// The reference count on an instance of [`Arc`] is always non-zero. 49 /// The object pointed to by [`Arc`] is always pinned. 54 /// use kernel::sync::Arc; 62 /// let obj = Arc::new(Example { a: 10, b: 20 }, GFP_KERNEL)?; 81 /// Using `Arc<T>` as the type of `self`: 84 /// use kernel::sync::Arc; [all …]
|
| H A D | aref.rs | 8 //! [`Arc`]. 10 //! The smart pointer [`ARef<T>`] acts similarly to [`Arc<T>`] in that it holds a refcount on the 17 //! [`Arc`]: crate::sync::Arc 18 //! [`Arc<T>`]: crate::sync::Arc 29 /// Rust code, the recommendation is to use [`Arc`](crate::sync::Arc) to create reference-counted
|
| 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. 10 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 in from() localVariable 363 let arc = unsafe { Arc::from_raw(ptr) }; from_raw() localVariable 372 let arc = Self::transmute_to_arc(self); into_arc() localVariable [all...] |
| /linux/drivers/android/binder/ |
| H A D | context.rs | 11 sync::{Arc, Mutex}, 25 contexts: KVVec<Arc<Context>>, 28 pub(crate) fn get_all_contexts() -> Result<KVVec<Arc<Context>>> { in get_all_contexts() 42 all_procs: KVVec<Arc<Process>>, 54 pub(crate) fn new(name: &CStr) -> Result<Arc<Self>> { in new() 56 let ctx = Arc::pin_init( in new() 76 pub(crate) fn deregister(self: &Arc<Self>) { in deregister() 78 CONTEXTS.lock().contexts.retain(|c| !Arc::ptr_eq(c, self)); in deregister() 81 pub(crate) fn register_process(self: &Arc<Self>, proc: Arc<Process>) -> Result { in register_process() 82 if !Arc::ptr_eq(self, &proc.ctx) { in register_process() [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/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 84 core-y += arch/arc/plat-sim/ 85 core-$(CONFIG_ARC_PLAT_TB10X) += arch/arc/plat-tb10x/ 86 core-$(CONFIG_ARC_PLAT_AXS10X) += arch/arc/plat-axs10x/ 87 core-$(CONFIG_ARC_SOC_HSDK) += arch/arc/plat-hsdk/ 89 libs-y += arch/arc/lib/ $(LIBGCC) 91 boot := arch/arc/boot
|
| /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/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/samples/rust/ |
| H A D | rust_print_main.rs | 22 let a = Arc::new(1, GFP_KERNEL)?; in arc_print() 31 let a: Arc<&str> = b.into(); in arc_print() 38 // `Arc` can be used to delegate dynamic dispatch and the following is an example. in arc_print() 40 // behaviour, contract or protocol on both `i32` and `&str` into a single `Arc` of in arc_print() 41 // type `Arc<dyn Display>`. in arc_print() 44 fn arc_dyn_print(arc: &Arc<dyn Display>) { in arc_print() 45 pr_info!("Arc<dyn Display> says {arc}"); in arc_print() 48 let a_i32_display: Arc<dy in arc_print() [all...] |
| /linux/Documentation/devicetree/bindings/leds/backlight/ |
| H A D | arc,arc2c0608.yaml | 4 $id: http://devicetree.org/schemas/leds/backlight/arc,arc2c0608.yaml# 25 const: arc,arc2c0608 43 arc,led-config-0: 48 arc,led-config-1: 53 arc,dim-freq: 57 arc,comp-config: 63 arc,filter-config: 75 arc,trim-config: 100 compatible = "arc,arc2c0608";
|
| /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/ |
| 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 …]
|
| /linux/rust/kernel/sync/arc/ |
| H A D | std_vendor.rs | 10 use crate::sync::{arc::ArcInner, Arc}; 13 impl Arc<dyn Any + Send + Sync> { implementation 14 /// Attempt to downcast the `Arc<dyn Any + Send + Sync>` to a concrete type. 15 pub fn downcast<T>(self) -> core::result::Result<Arc<T>, Self> in downcast() 24 Ok(Arc::from_inner(ptr)) in downcast()
|
| /linux/rust/kernel/time/hrtimer/ |
| H A D | arc.rs | 11 use crate::sync::Arc; 14 /// A handle for an `Arc<HasHrTimer<T>>` returned by a call to 20 pub(crate) inner: Arc<T>, 30 let self_ptr = Arc::as_ptr(&self.inner); in cancel() 51 impl<T> HrTimerPointer for Arc<T> implementation 69 unsafe { T::start(Arc::as_ptr(&self), expires) }; in start() 74 impl<T> RawHrTimerCallback for Arc<T> implementation 100 // 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/drivers/remoteproc/ |
| H A D | meson_mx_ao_arc.c | 74 * The SRAM content as seen by the ARC core always starts at 0x0 in meson_mx_ao_arc_rproc_start() 128 /* The memory from the ARC core's perspective always starts at 0x0. */ in meson_mx_ao_arc_rproc_da_to_va() 154 rproc = devm_rproc_alloc(dev, "meson-mx-ao-arc", in meson_mx_ao_arc_rproc_probe() 206 dev_err(dev, "Failed to get ARC reset\n"); in meson_mx_ao_arc_rproc_probe() 213 dev_err(dev, "Failed to get the ARC PCLK\n"); in meson_mx_ao_arc_rproc_probe() 241 { .compatible = "amlogic,meson8-ao-arc" }, 242 { .compatible = "amlogic,meson8b-ao-arc" }, 251 .name = "meson-mx-ao-arc-rproc", 257 MODULE_DESCRIPTION("Amlogic Meson6/8/8b/8m2 AO ARC remote processor driver");
|
| /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 494 * @active_hw_arc: This field contains a bit per ARC of an H/W engine with 495 * exception of TPC and NIC engines. Once an engine arc is 497 * identify each initialized ARC and use this information in 499 * of its corresponding ARC of the H/W engine. 512 * @active_tpc_arc: This field contains a bit per ARC of the TPC engines. 513 * Once an engine arc is initialized, its respective bit is 515 * corresponding ARC of the TPC engine. 517 * @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 …]
|