Home
last modified time | relevance | path

Searched refs:hwlock (Results 1 – 25 of 48) sorted by relevance

12

/Linux-v4.19/drivers/hwspinlock/
Dhwspinlock_core.c87 int __hwspin_trylock(struct hwspinlock *hwlock, int mode, unsigned long *flags) in __hwspin_trylock() argument
91 BUG_ON(!hwlock); in __hwspin_trylock()
109 ret = spin_trylock_irqsave(&hwlock->lock, *flags); in __hwspin_trylock()
112 ret = spin_trylock_irq(&hwlock->lock); in __hwspin_trylock()
118 ret = spin_trylock(&hwlock->lock); in __hwspin_trylock()
127 ret = hwlock->bank->ops->trylock(hwlock); in __hwspin_trylock()
133 spin_unlock_irqrestore(&hwlock->lock, *flags); in __hwspin_trylock()
136 spin_unlock_irq(&hwlock->lock); in __hwspin_trylock()
142 spin_unlock(&hwlock->lock); in __hwspin_trylock()
197 int __hwspin_lock_timeout(struct hwspinlock *hwlock, unsigned int to, in __hwspin_lock_timeout() argument
[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()
Du8500_hsem.c90 struct hwspinlock *hwlock; in u8500_hsem_probe() local
122 for (i = 0, hwlock = &bank->lock[0]; i < num_locks; i++, hwlock++) in u8500_hsem_probe()
123 hwlock->priv = io_base + HSEM_REGISTER_OFFSET + sizeof(u32) * i; in u8500_hsem_probe()
Domap_hwspinlock.c78 struct hwspinlock *hwlock; in omap_hwspinlock_probe() local
135 for (i = 0, hwlock = &bank->lock[0]; i < num_locks; i++, hwlock++) in omap_hwspinlock_probe()
136 hwlock->priv = io_base + LOCK_BASE_OFFSET + sizeof(u32) * i; in omap_hwspinlock_probe()
Dsirf_hwspinlock.c58 struct hwspinlock *hwlock; in sirf_hwspinlock_probe() local
77 hwlock = &hwspin->bank.lock[idx]; in sirf_hwspinlock_probe()
78 hwlock->priv = hwspin->io_base + HW_SPINLOCK_OFFSET(idx); in sirf_hwspinlock_probe()
/Linux-v4.19/include/linux/
Dhwspinlock.h62 int hwspin_lock_free(struct hwspinlock *hwlock);
64 int hwspin_lock_get_id(struct hwspinlock *hwlock);
70 int devm_hwspin_lock_free(struct device *dev, struct hwspinlock *hwlock);
106 static inline int hwspin_lock_free(struct hwspinlock *hwlock) in hwspin_lock_free() argument
112 int __hwspin_lock_timeout(struct hwspinlock *hwlock, unsigned int to, in __hwspin_lock_timeout() argument
119 int __hwspin_trylock(struct hwspinlock *hwlock, int mode, unsigned long *flags) in __hwspin_trylock() argument
125 void __hwspin_unlock(struct hwspinlock *hwlock, int mode, unsigned long *flags) in __hwspin_unlock() argument
134 static inline int hwspin_lock_get_id(struct hwspinlock *hwlock) in hwspin_lock_get_id() argument
146 int devm_hwspin_lock_free(struct device *dev, struct hwspinlock *hwlock) in devm_hwspin_lock_free() argument
182 int hwspin_trylock_irqsave(struct hwspinlock *hwlock, unsigned long *flags) in hwspin_trylock_irqsave() argument
[all …]
/Linux-v4.19/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>;
Domap-hwspinlock.txt10 - #hwlock-cells: Should be 1. The OMAP hwspinlock users will use a
11 0-indexed relative hwlock number as the argument
15 Please look at the generic hwlock binding for usage information for consumers,
16 "Documentation/devicetree/bindings/hwlock/hwlock.txt"
25 #hwlock-cells = <1>;
Dqcom-hwspinlock.txt21 - #hwlock-cells:
25 (hwlock standard property, see hwlock.txt)
34 hwlock@fd484000 {
38 #hwlock-cells = <1>;
/Linux-v4.19/drivers/nvmem/
Dsc27xx-efuse.c55 struct hwspinlock *hwlock; member
71 ret = hwspin_lock_timeout_raw(efuse->hwlock, in sc27xx_efuse_lock()
84 hwspin_unlock_raw(efuse->hwlock); in sc27xx_efuse_unlock()
210 efuse->hwlock = hwspin_lock_request_specific(ret); in sc27xx_efuse_probe()
211 if (!efuse->hwlock) { in sc27xx_efuse_probe()
231 hwspin_lock_free(efuse->hwlock); in sc27xx_efuse_probe()
242 hwspin_lock_free(efuse->hwlock); in sc27xx_efuse_remove()
/Linux-v4.19/Documentation/
Dhwspinlock.txt80 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_trylock(struct hwspinlock *hwlock);
156 int hwspin_trylock_irq(struct hwspinlock *hwlock);
173 int hwspin_trylock_irqsave(struct hwspinlock *hwlock, unsigned long *flags);
189 void hwspin_unlock(struct hwspinlock *hwlock);
201 void hwspin_unlock_irq(struct hwspinlock *hwlock);
213 hwspin_unlock_irqrestore(struct hwspinlock *hwlock, unsigned long *flags);
[all …]
/Linux-v4.19/drivers/iio/adc/
Dsc27xx_adc.c69 struct hwspinlock *hwlock; member
133 ret = hwspin_lock_timeout_raw(data->hwlock, SC27XX_ADC_HWLOCK_TIMEOUT); in sc27xx_adc_read()
173 hwspin_unlock_raw(data->hwlock); in sc27xx_adc_read()
412 struct hwspinlock *hwlock = _data; in sc27xx_adc_free_hwlock() local
414 hwspin_lock_free(hwlock); in sc27xx_adc_free_hwlock()
454 sc27xx_data->hwlock = hwspin_lock_request_specific(ret); in sc27xx_adc_probe()
455 if (!sc27xx_data->hwlock) { in sc27xx_adc_probe()
461 sc27xx_data->hwlock); in sc27xx_adc_probe()
463 sc27xx_adc_free_hwlock(sc27xx_data->hwlock); in sc27xx_adc_probe()
/Linux-v4.19/drivers/spi/
Dspi-sprd-adi.c110 struct hwspinlock *hwlock; member
167 ret = hwspin_lock_timeout_irqsave(sadi->hwlock, in sprd_adi_read()
219 hwspin_unlock_irqrestore(sadi->hwlock, &flags); in sprd_adi_read()
230 ret = hwspin_lock_timeout_irqsave(sadi->hwlock, in sprd_adi_write()
261 hwspin_unlock_irqrestore(sadi->hwlock, &flags); in sprd_adi_write()
468 sadi->hwlock = devm_hwspin_lock_request_specific(&pdev->dev, ret); in sprd_adi_probe()
469 if (!sadi->hwlock) { in sprd_adi_probe()
/Linux-v4.19/drivers/isdn/hardware/mISDN/
DmISDNisar.c213 spin_lock_irqsave(isar->hwlock, flags); in load_firmware()
215 spin_unlock_irqrestore(isar->hwlock, flags); in load_firmware()
230 spin_lock_irqsave(isar->hwlock, flags); in load_firmware()
242 spin_unlock_irqrestore(isar->hwlock, flags); in load_firmware()
271 spin_lock_irqsave(isar->hwlock, flags); in load_firmware()
282 spin_unlock_irqrestore(isar->hwlock, flags); in load_firmware()
302 spin_lock_irqsave(isar->hwlock, flags); in load_firmware()
324 spin_unlock_irqrestore(isar->hwlock, flags); in load_firmware()
342 spin_lock_irqsave(isar->hwlock, flags); in load_firmware()
348 spin_unlock_irqrestore(isar->hwlock, flags); in load_firmware()
[all …]
DmISDNipac.c580 spin_lock_irqsave(isac->hwlock, flags); in isac_l1hw()
586 spin_unlock_irqrestore(isac->hwlock, flags); in isac_l1hw()
589 spin_unlock_irqrestore(isac->hwlock, flags); in isac_l1hw()
614 spin_lock_irqsave(isac->hwlock, flags); in isac_ctrl()
628 spin_unlock_irqrestore(isac->hwlock, flags); in isac_ctrl()
650 spin_lock_irqsave(isac->hwlock, flags); in isac_l1cmd()
652 spin_unlock_irqrestore(isac->hwlock, flags); in isac_l1cmd()
655 spin_lock_irqsave(isac->hwlock, flags); in isac_l1cmd()
657 spin_unlock_irqrestore(isac->hwlock, flags); in isac_l1cmd()
660 spin_lock_irqsave(isac->hwlock, flags); in isac_l1cmd()
[all …]
Dipac.h32 spinlock_t *hwlock; /* lock HW access */ member
73 spinlock_t *hwlock; /* lock HW access */ member
/Linux-v4.19/Documentation/devicetree/bindings/iio/adc/
Dsprd,sc27xx-adc.txt14 - hwlocks: Reference to a phandle of a hwlock provider node.
34 hwlocks = <&hwlock 4>;
/Linux-v4.19/Documentation/devicetree/bindings/spi/
Dspi-sprd-adi.txt31 - hwlocks: Reference to a phandle of a hwlock provider node.
32 - hwlock-names: Reference to hwlock name strings defined in the same order
54 hwlock-names = "adi";
/Linux-v4.19/Documentation/devicetree/bindings/nvmem/
Dsc27xx-efuse.txt11 - hwlocks: Reference to a phandle of a hwlock provider node.
34 hwlocks = <&hwlock 12>;
/Linux-v4.19/arch/arm64/boot/dts/sprd/
Dwhale2.dtsi136 hwlocks = <&hwlock 0>;
137 hwlock-names = "adi";
155 hwlock: hwspinlock@40500000 { label
158 #hwlock-cells = <1>;
Dsc2731.dtsi65 hwlocks = <&hwlock 12>;
74 hwlocks = <&hwlock 4>;
/Linux-v4.19/drivers/soc/qcom/
Dsmem.c271 struct hwspinlock *hwlock; member
465 ret = hwspin_lock_timeout_irqsave(__smem->hwlock, in qcom_smem_alloc()
481 hwspin_unlock_irqrestore(__smem->hwlock, &flags); in qcom_smem_alloc()
595 ret = hwspin_lock_timeout_irqsave(__smem->hwlock, in qcom_smem_get()
613 hwspin_unlock_irqrestore(__smem->hwlock, &flags); in qcom_smem_get()
976 smem->hwlock = hwspin_lock_request_specific(hwlock_id); in qcom_smem_probe()
977 if (!smem->hwlock) in qcom_smem_probe()
987 hwspin_lock_free(__smem->hwlock); in qcom_smem_remove()
/Linux-v4.19/arch/arm64/boot/dts/qcom/
Dmsm8994.dtsi202 tcsr_mutex: hwlock {
205 #hwlock-cells = <1>;

12