Home
last modified time | relevance | path

Searched full:hwlock (Results 1 – 25 of 158) sorted by relevance

1234567

/kernel/linux/linux-6.6/include/linux/
Dhwspinlock.h63 int hwspin_lock_free(struct hwspinlock *hwlock);
65 int hwspin_lock_get_id(struct hwspinlock *hwlock);
71 int devm_hwspin_lock_free(struct device *dev, struct hwspinlock *hwlock);
107 static inline int hwspin_lock_free(struct hwspinlock *hwlock) in hwspin_lock_free() argument
113 int __hwspin_lock_timeout(struct hwspinlock *hwlock, unsigned int to, in __hwspin_lock_timeout() argument
120 int __hwspin_trylock(struct hwspinlock *hwlock, int mode, unsigned long *flags) in __hwspin_trylock() argument
126 void __hwspin_unlock(struct hwspinlock *hwlock, int mode, unsigned long *flags) in __hwspin_unlock() argument
135 static inline int hwspin_lock_get_id(struct hwspinlock *hwlock) in hwspin_lock_get_id() argument
147 int devm_hwspin_lock_free(struct device *dev, struct hwspinlock *hwlock) in devm_hwspin_lock_free() argument
168 * @hwlock: an hwspinlock which we want to trylock
[all …]
/kernel/linux/linux-5.10/include/linux/
Dhwspinlock.h63 int hwspin_lock_free(struct hwspinlock *hwlock);
65 int hwspin_lock_get_id(struct hwspinlock *hwlock);
71 int devm_hwspin_lock_free(struct device *dev, struct hwspinlock *hwlock);
107 static inline int hwspin_lock_free(struct hwspinlock *hwlock) in hwspin_lock_free() argument
113 int __hwspin_lock_timeout(struct hwspinlock *hwlock, unsigned int to, in __hwspin_lock_timeout() argument
120 int __hwspin_trylock(struct hwspinlock *hwlock, int mode, unsigned long *flags) in __hwspin_trylock() argument
126 void __hwspin_unlock(struct hwspinlock *hwlock, int mode, unsigned long *flags) in __hwspin_unlock() argument
135 static inline int hwspin_lock_get_id(struct hwspinlock *hwlock) in hwspin_lock_get_id() argument
147 int devm_hwspin_lock_free(struct device *dev, struct hwspinlock *hwlock) in devm_hwspin_lock_free() argument
168 * @hwlock: an hwspinlock which we want to trylock
[all …]
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/hwlock/
Dhwlock.txt1 Generic hwlock bindings
4 Generic bindings that are common to all the hwlock platform specific driver
7 Please also look through the individual platform specific hwlock binding
11 hwlock providers:
15 - #hwlock-cells: Specifies the number of cells needed to represent a
18 hwlock users:
21 Consumers that require specific hwlock(s) should specify them using the
22 property "hwlocks", and an optional "hwlock-names" property.
25 - hwlocks: List of phandle to a hwlock provider node and an
26 associated hwlock args specifier as indicated by
[all …]
Dsirf,hwspinlock.txt10 - #hwlock-cells : hwlock users only use the hwlock id to represent a specific
11 hwlock, so the number of cells should be <1> here.
13 Please look at the generic hwlock binding for usage information for consumers,
14 "Documentation/devicetree/bindings/hwlock/hwlock.txt"
16 Example of hwlock provider:
17 hwlock {
20 #hwlock-cells = <1>;
23 Example of hwlock users:
26 hwlocks = <&hwlock 2>;
Dsprd-hwspinlock.txt7 - #hwlock-cells : hwlock users only use the hwlock id to represent a specific
8 hwlock, so the number of cells should be <1> here.
13 Please look at the generic hwlock binding for usage information for consumers,
14 "Documentation/devicetree/bindings/hwlock/hwlock.txt"
16 Example of hwlock provider:
20 #hwlock-cells = <1>;
Dti,omap-hwspinlock.yaml4 $id: http://devicetree.org/schemas/hwlock/ti,omap-hwspinlock.yaml#
21 "#hwlock-cells":
24 The OMAP hwspinlock users will use a 0-indexed relative hwlock number as
28 Please look at the generic hwlock binding for usage information for
29 consumers, "Documentation/devicetree/bindings/hwlock/hwlock.txt"
34 - "#hwlock-cells"
45 #hwlock-cells = <1>;
72 #hwlock-cells = <1>;
Dqcom-hwspinlock.yaml4 $id: http://devicetree.org/schemas/hwlock/qcom-hwspinlock.yaml#
25 '#hwlock-cells':
31 - '#hwlock-cells'
37 tcsr_mutex: hwlock@1f40000 {
40 #hwlock-cells = <1>;
Dst,stm32-hwspinlock.yaml4 $id: http://devicetree.org/schemas/hwlock/st,stm32-hwspinlock.yaml#
14 "#hwlock-cells":
31 - "#hwlock-cells"
44 #hwlock-cells = <1>;
/kernel/linux/linux-6.6/Documentation/devicetree/bindings/hwlock/
Dhwlock.txt1 Generic hwlock bindings
4 Generic bindings that are common to all the hwlock platform specific driver
7 Please also look through the individual platform specific hwlock binding
11 hwlock providers:
15 - #hwlock-cells: Specifies the number of cells needed to represent a
18 hwlock users:
21 Consumers that require specific hwlock(s) should specify them using the
22 property "hwlocks", and an optional "hwlock-names" property.
25 - hwlocks: List of phandle to a hwlock provider node and an
26 associated hwlock args specifier as indicated by
[all …]
Dsprd-hwspinlock.txt7 - #hwlock-cells : hwlock users only use the hwlock id to represent a specific
8 hwlock, so the number of cells should be <1> here.
13 Please look at the generic hwlock binding for usage information for consumers,
14 "Documentation/devicetree/bindings/hwlock/hwlock.txt"
16 Example of hwlock provider:
20 #hwlock-cells = <1>;
Dti,omap-hwspinlock.yaml4 $id: http://devicetree.org/schemas/hwlock/ti,omap-hwspinlock.yaml#
22 "#hwlock-cells":
25 The OMAP hwspinlock users will use a 0-indexed relative hwlock number as
29 Please look at the generic hwlock binding for usage information for
30 consumers, "Documentation/devicetree/bindings/hwlock/hwlock.txt"
35 - "#hwlock-cells"
45 #hwlock-cells = <1>;
Dqcom-hwspinlock.yaml4 $id: http://devicetree.org/schemas/hwlock/qcom-hwspinlock.yaml#
38 '#hwlock-cells':
44 - '#hwlock-cells'
50 hwlock@1f40000 {
53 #hwlock-cells = <1>;
Dallwinner,sun6i-a31-hwspinlock.yaml4 $id: http://devicetree.org/schemas/hwlock/allwinner,sun6i-a31-hwspinlock.yaml#
29 '#hwlock-cells':
37 - "#hwlock-cells"
46 hwlock@1c18000 {
51 #hwlock-cells = <1>;
Dst,stm32-hwspinlock.yaml4 $id: http://devicetree.org/schemas/hwlock/st,stm32-hwspinlock.yaml#
13 "#hwlock-cells":
30 - "#hwlock-cells"
43 #hwlock-cells = <1>;
/kernel/linux/linux-6.6/drivers/hwspinlock/
Dhwspinlock_core.c62 * @hwlock: an hwspinlock which we want to trylock
91 int __hwspin_trylock(struct hwspinlock *hwlock, int mode, unsigned long *flags) in __hwspin_trylock() argument
95 if (WARN_ON(!hwlock || (!flags && mode == HWLOCK_IRQSTATE))) in __hwspin_trylock()
113 ret = spin_trylock_irqsave(&hwlock->lock, *flags); in __hwspin_trylock()
116 ret = spin_trylock_irq(&hwlock->lock); in __hwspin_trylock()
123 ret = spin_trylock(&hwlock->lock); in __hwspin_trylock()
132 ret = hwlock->bank->ops->trylock(hwlock); in __hwspin_trylock()
134 /* if hwlock is already taken, undo spin_trylock_* and exit */ in __hwspin_trylock()
138 spin_unlock_irqrestore(&hwlock->lock, *flags); in __hwspin_trylock()
141 spin_unlock_irq(&hwlock->lock); in __hwspin_trylock()
[all …]
Dhwspinlock_internal.h62 static inline int hwlock_to_id(struct hwspinlock *hwlock) in hwlock_to_id() argument
64 int local_id = hwlock - &hwlock->bank->lock[0]; in hwlock_to_id()
66 return hwlock->bank->base_id + local_id; in hwlock_to_id()
/kernel/linux/linux-5.10/drivers/hwspinlock/
Dhwspinlock_core.c62 * @hwlock: an hwspinlock which we want to trylock
91 int __hwspin_trylock(struct hwspinlock *hwlock, int mode, unsigned long *flags) in __hwspin_trylock() argument
95 if (WARN_ON(!hwlock || (!flags && mode == HWLOCK_IRQSTATE))) in __hwspin_trylock()
113 ret = spin_trylock_irqsave(&hwlock->lock, *flags); in __hwspin_trylock()
116 ret = spin_trylock_irq(&hwlock->lock); in __hwspin_trylock()
123 ret = spin_trylock(&hwlock->lock); in __hwspin_trylock()
132 ret = hwlock->bank->ops->trylock(hwlock); in __hwspin_trylock()
134 /* if hwlock is already taken, undo spin_trylock_* and exit */ in __hwspin_trylock()
138 spin_unlock_irqrestore(&hwlock->lock, *flags); in __hwspin_trylock()
141 spin_unlock_irq(&hwlock->lock); in __hwspin_trylock()
[all …]
Dhwspinlock_internal.h62 static inline int hwlock_to_id(struct hwspinlock *hwlock) in hwlock_to_id() argument
64 int local_id = hwlock - &hwlock->bank->lock[0]; in hwlock_to_id()
66 return hwlock->bank->base_id + local_id; in hwlock_to_id()
/kernel/linux/linux-6.6/Documentation/locking/
Dhwspinlock.rst80 int hwspin_lock_free(struct hwspinlock *hwlock);
90 int hwspin_lock_timeout(struct hwspinlock *hwlock, unsigned int timeout);
106 int hwspin_lock_timeout_irq(struct hwspinlock *hwlock, unsigned int timeout);
121 int hwspin_lock_timeout_irqsave(struct hwspinlock *hwlock, unsigned int to,
139 int hwspin_lock_timeout_raw(struct hwspinlock *hwlock, unsigned int timeout);
156 int hwspin_lock_timeout_in_atomic(struct hwspinlock *hwlock, unsigned int to);
172 int hwspin_trylock(struct hwspinlock *hwlock);
189 int hwspin_trylock_irq(struct hwspinlock *hwlock);
206 int hwspin_trylock_irqsave(struct hwspinlock *hwlock, unsigned long *flags);
222 int hwspin_trylock_raw(struct hwspinlock *hwlock);
[all …]
/kernel/linux/linux-5.10/Documentation/locking/
Dhwspinlock.rst80 int hwspin_lock_free(struct hwspinlock *hwlock);
90 int hwspin_lock_timeout(struct hwspinlock *hwlock, unsigned int timeout);
106 int hwspin_lock_timeout_irq(struct hwspinlock *hwlock, unsigned int timeout);
121 int hwspin_lock_timeout_irqsave(struct hwspinlock *hwlock, unsigned int to,
139 int hwspin_lock_timeout_raw(struct hwspinlock *hwlock, unsigned int timeout);
156 int hwspin_lock_timeout_in_atomic(struct hwspinlock *hwlock, unsigned int to);
172 int hwspin_trylock(struct hwspinlock *hwlock);
189 int hwspin_trylock_irq(struct hwspinlock *hwlock);
206 int hwspin_trylock_irqsave(struct hwspinlock *hwlock, unsigned long *flags);
222 int hwspin_trylock_raw(struct hwspinlock *hwlock);
[all …]
/kernel/linux/linux-5.10/drivers/spi/
Dspi-sprd-adi.c114 struct hwspinlock *hwlock; member
171 if (sadi->hwlock) { in sprd_adi_read()
172 ret = hwspin_lock_timeout_irqsave(sadi->hwlock, in sprd_adi_read()
225 if (sadi->hwlock) in sprd_adi_read()
226 hwspin_unlock_irqrestore(sadi->hwlock, &flags); in sprd_adi_read()
237 if (sadi->hwlock) { in sprd_adi_write()
238 ret = hwspin_lock_timeout_irqsave(sadi->hwlock, in sprd_adi_write()
270 if (sadi->hwlock) in sprd_adi_write()
271 hwspin_unlock_irqrestore(sadi->hwlock, &flags); in sprd_adi_write()
495 sadi->hwlock = in sprd_adi_probe()
[all …]
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/spi/
Dspi-sprd-adi.txt42 - hwlocks: Reference to a phandle of a hwlock provider node.
43 - hwlock-names: Reference to hwlock name strings defined in the same order
59 hwlock-names = "adi";
/kernel/linux/linux-6.6/drivers/spi/
Dspi-sprd-adi.c150 struct hwspinlock *hwlock; member
226 if (sadi->hwlock) { in sprd_adi_read()
227 ret = hwspin_lock_timeout_irqsave(sadi->hwlock, in sprd_adi_read()
281 if (sadi->hwlock) in sprd_adi_read()
282 hwspin_unlock_irqrestore(sadi->hwlock, &flags); in sprd_adi_read()
292 if (sadi->hwlock) { in sprd_adi_write()
293 ret = hwspin_lock_timeout_irqsave(sadi->hwlock, in sprd_adi_write()
330 if (sadi->hwlock) in sprd_adi_write()
331 hwspin_unlock_irqrestore(sadi->hwlock, &flags); in sprd_adi_write()
557 sadi->hwlock = in sprd_adi_probe()
[all …]
/kernel/linux/linux-5.10/drivers/irqchip/
Dirq-stm32-exti.c68 struct hwspinlock *hwlock; member
304 struct hwspinlock *hwlock = chip_data->host_data->hwlock; in stm32_irq_set_type() local
310 if (hwlock) { in stm32_irq_set_type()
311 err = hwspin_lock_timeout_in_atomic(hwlock, HWSPNLCK_TIMEOUT); in stm32_irq_set_type()
329 if (hwlock) in stm32_irq_set_type()
330 hwspin_unlock_in_atomic(hwlock); in stm32_irq_set_type()
507 struct hwspinlock *hwlock = chip_data->host_data->hwlock; in stm32_exti_h_set_type() local
514 if (hwlock) { in stm32_exti_h_set_type()
515 err = hwspin_lock_timeout_in_atomic(hwlock, HWSPNLCK_TIMEOUT); in stm32_exti_h_set_type()
533 if (hwlock) in stm32_exti_h_set_type()
[all …]
/kernel/linux/linux-6.6/drivers/irqchip/
Dirq-stm32-exti.c63 struct hwspinlock *hwlock; member
361 struct hwspinlock *hwlock = chip_data->host_data->hwlock; in stm32_irq_set_type() local
367 if (hwlock) { in stm32_irq_set_type()
368 err = hwspin_lock_timeout_in_atomic(hwlock, HWSPNLCK_TIMEOUT); in stm32_irq_set_type()
386 if (hwlock) in stm32_irq_set_type()
387 hwspin_unlock_in_atomic(hwlock); in stm32_irq_set_type()
564 struct hwspinlock *hwlock = chip_data->host_data->hwlock; in stm32_exti_h_set_type() local
571 if (hwlock) { in stm32_exti_h_set_type()
572 err = hwspin_lock_timeout_in_atomic(hwlock, HWSPNLCK_TIMEOUT); in stm32_exti_h_set_type()
590 if (hwlock) in stm32_exti_h_set_type()
[all …]

1234567