Home
last modified time | relevance | path

Searched refs:hwspinlock (Results 1 – 25 of 31) sorted by relevance

12

/Linux-v4.19/include/linux/
Dhwspinlock.h23 struct hwspinlock;
60 struct hwspinlock *hwspin_lock_request(void);
61 struct hwspinlock *hwspin_lock_request_specific(unsigned int id);
62 int hwspin_lock_free(struct hwspinlock *hwlock);
64 int hwspin_lock_get_id(struct hwspinlock *hwlock);
65 int __hwspin_lock_timeout(struct hwspinlock *, unsigned int, int,
67 int __hwspin_trylock(struct hwspinlock *, int, unsigned long *);
68 void __hwspin_unlock(struct hwspinlock *, int, unsigned long *);
70 int devm_hwspin_lock_free(struct device *dev, struct hwspinlock *hwlock);
71 struct hwspinlock *devm_hwspin_lock_request(struct device *dev);
[all …]
/Linux-v4.19/Documentation/
Dhwspinlock.txt17 A generic hwspinlock framework allows platform-independent drivers to use
18 the hwspinlock device in order to access data structures that are shared
31 the remote processors, and access to it is synchronized using the hwspinlock
35 A common hwspinlock interface makes it possible to have generic, platform-
43 struct hwspinlock *hwspin_lock_request(void);
45 Dynamically assign an hwspinlock and return its address, or NULL
46 in case an unused hwspinlock isn't available. Users of this
54 struct hwspinlock *hwspin_lock_request_specific(unsigned int id);
56 Assign a specific hwspinlock id and return its address, or NULL
57 if that hwspinlock is already in use. Usually board code will
[all …]
/Linux-v4.19/drivers/hwspinlock/
Dhwspinlock_core.c87 int __hwspin_trylock(struct hwspinlock *hwlock, int mode, unsigned long *flags) in __hwspin_trylock()
197 int __hwspin_lock_timeout(struct hwspinlock *hwlock, unsigned int to, in __hwspin_lock_timeout()
249 void __hwspin_unlock(struct hwspinlock *hwlock, int mode, unsigned long *flags) in __hwspin_unlock()
325 struct hwspinlock *hwlock; in of_hwspin_lock_get_id()
399 static int hwspin_lock_register_single(struct hwspinlock *hwlock, int id) in hwspin_lock_register_single()
401 struct hwspinlock *tmp; in hwspin_lock_register_single()
424 static struct hwspinlock *hwspin_lock_unregister_single(unsigned int id) in hwspin_lock_unregister_single()
426 struct hwspinlock *hwlock = NULL; in hwspin_lock_unregister_single()
467 struct hwspinlock *hwlock; in hwspin_lock_register()
514 struct hwspinlock *hwlock, *tmp; in hwspin_lock_unregister()
[all …]
Dhwspinlock_internal.h29 int (*trylock)(struct hwspinlock *lock);
30 void (*unlock)(struct hwspinlock *lock);
31 void (*relax)(struct hwspinlock *lock);
40 struct hwspinlock { struct
59 struct hwspinlock lock[0];
62 static inline int hwlock_to_id(struct hwspinlock *hwlock) in hwlock_to_id()
Du8500_hsem.c51 static int u8500_hsem_trylock(struct hwspinlock *lock) in u8500_hsem_trylock()
64 static void u8500_hsem_unlock(struct hwspinlock *lock) in u8500_hsem_unlock()
75 static void u8500_hsem_relax(struct hwspinlock *lock) in u8500_hsem_relax()
90 struct hwspinlock *hwlock; in u8500_hsem_probe()
Domap_hwspinlock.c37 static int omap_hwspinlock_trylock(struct hwspinlock *lock) in omap_hwspinlock_trylock()
45 static void omap_hwspinlock_unlock(struct hwspinlock *lock) in omap_hwspinlock_unlock()
63 static void omap_hwspinlock_relax(struct hwspinlock *lock) in omap_hwspinlock_relax()
78 struct hwspinlock *hwlock; in omap_hwspinlock_probe()
Dsprd_hwspinlock.c43 static int sprd_hwspinlock_trylock(struct hwspinlock *lock) in sprd_hwspinlock_trylock()
63 static void sprd_hwspinlock_unlock(struct hwspinlock *lock) in sprd_hwspinlock_unlock()
71 static void sprd_hwspinlock_relax(struct hwspinlock *lock) in sprd_hwspinlock_relax()
85 struct hwspinlock *lock; in sprd_hwspinlock_probe()
Dsirf_hwspinlock.c34 static int sirf_hwspinlock_trylock(struct hwspinlock *lock) in sirf_hwspinlock_trylock()
42 static void sirf_hwspinlock_unlock(struct hwspinlock *lock) in sirf_hwspinlock_unlock()
58 struct hwspinlock *hwlock; in sirf_hwspinlock_probe()
Dqcom_hwspinlock.c23 static int qcom_hwspinlock_trylock(struct hwspinlock *lock) in qcom_hwspinlock_trylock()
40 static void qcom_hwspinlock_unlock(struct hwspinlock *lock) in qcom_hwspinlock_unlock()
109 array_size = QCOM_MUTEX_NUM_LOCKS * sizeof(struct hwspinlock); in qcom_hwspinlock_probe()
/Linux-v4.19/Documentation/devicetree/bindings/hwlock/
Domap-hwspinlock.txt5 - compatible: Should be "ti,omap4-hwspinlock" for
7 - reg: Contains the hwspinlock module register address space
9 - ti,hwmods: Name of the hwmod associated with the hwspinlock device
10 - #hwlock-cells: Should be 1. The OMAP hwspinlock users will use a
12 specifier value for requesting a specific hwspinlock
13 within a hwspinlock bank.
21 hwspinlock: spinlock@4a0f6000 {
22 compatible = "ti,omap4-hwspinlock";
Dsprd-hwspinlock.txt5 - compatible : should be "sprd,hwspinlock-r3p0".
6 - reg : the register address of hwspinlock.
17 hwspinlock@40500000 {
18 compatible = "sprd,hwspinlock-r3p0";
Dsirf,hwspinlock.txt6 "sirf,hwspinlock"
8 - reg : the register address of hwspinlock
18 compatible = "sirf,hwspinlock";
/Linux-v4.19/arch/arm64/boot/dts/sprd/
Dwhale2.dtsi155 hwlock: hwspinlock@40500000 {
156 compatible = "sprd,hwspinlock-r3p0";
/Linux-v4.19/Documentation/devicetree/bindings/mfd/
Dsyscon.txt28 hwlock1: hwspinlock@40500000 {
/Linux-v4.19/Documentation/devicetree/bindings/soc/qcom/
Dqcom,smem.txt25 Definition: reference to a hwspinlock used to protect allocations from
/Linux-v4.19/drivers/iio/adc/
Dsc27xx_adc.c69 struct hwspinlock *hwlock;
412 struct hwspinlock *hwlock = _data; in sc27xx_adc_free_hwlock()
/Linux-v4.19/drivers/nvmem/
Dsc27xx-efuse.c55 struct hwspinlock *hwlock;
/Linux-v4.19/drivers/base/regmap/
Dinternal.h164 struct hwspinlock *hwlock;
/Linux-v4.19/drivers/
DMakefile155 obj-$(CONFIG_HWSPINLOCK) += hwspinlock/
DKconfig146 source "drivers/hwspinlock/Kconfig"
/Linux-v4.19/drivers/spi/
Dspi-sprd-adi.c110 struct hwspinlock *hwlock;
/Linux-v4.19/arch/arm/boot/dts/
Dam33xx.dtsi469 hwspinlock: spinlock@480ca000 { label
470 compatible = "ti,omap4-hwspinlock";
Ddm816x.dtsi249 compatible = "ti,omap4-hwspinlock";
Dam4372.dtsi555 hwspinlock: spinlock@480ca000 { label
556 compatible = "ti,omap4-hwspinlock";
Domap5.dtsi499 hwspinlock: spinlock@4a0f6000 { label
500 compatible = "ti,omap4-hwspinlock";

12