| /kernel/linux/linux-6.6/include/linux/ |
| D | hwspinlock.h | 63 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/ |
| D | hwspinlock.h | 63 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/ |
| D | hwlock.txt | 1 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 …]
|
| D | sirf,hwspinlock.txt | 10 - #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>;
|
| D | sprd-hwspinlock.txt | 7 - #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>;
|
| D | ti,omap-hwspinlock.yaml | 4 $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>;
|
| D | qcom-hwspinlock.yaml | 4 $id: http://devicetree.org/schemas/hwlock/qcom-hwspinlock.yaml# 25 '#hwlock-cells': 31 - '#hwlock-cells' 37 tcsr_mutex: hwlock@1f40000 { 40 #hwlock-cells = <1>;
|
| D | st,stm32-hwspinlock.yaml | 4 $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/ |
| D | hwlock.txt | 1 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 …]
|
| D | sprd-hwspinlock.txt | 7 - #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>;
|
| D | ti,omap-hwspinlock.yaml | 4 $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>;
|
| D | qcom-hwspinlock.yaml | 4 $id: http://devicetree.org/schemas/hwlock/qcom-hwspinlock.yaml# 38 '#hwlock-cells': 44 - '#hwlock-cells' 50 hwlock@1f40000 { 53 #hwlock-cells = <1>;
|
| D | allwinner,sun6i-a31-hwspinlock.yaml | 4 $id: http://devicetree.org/schemas/hwlock/allwinner,sun6i-a31-hwspinlock.yaml# 29 '#hwlock-cells': 37 - "#hwlock-cells" 46 hwlock@1c18000 { 51 #hwlock-cells = <1>;
|
| D | st,stm32-hwspinlock.yaml | 4 $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/ |
| D | hwspinlock_core.c | 62 * @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 …]
|
| D | hwspinlock_internal.h | 62 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/ |
| D | hwspinlock_core.c | 62 * @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 …]
|
| D | hwspinlock_internal.h | 62 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/ |
| D | hwspinlock.rst | 80 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/ |
| D | hwspinlock.rst | 80 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/ |
| D | spi-sprd-adi.c | 114 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/ |
| D | spi-sprd-adi.txt | 42 - 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/ |
| D | spi-sprd-adi.c | 150 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/ |
| D | irq-stm32-exti.c | 68 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/ |
| D | irq-stm32-exti.c | 63 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 …]
|