Home
last modified time | relevance | path

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

123

/Linux-v5.4/drivers/hwspinlock/
Dhwspinlock_core.c91 int __hwspin_trylock(struct hwspinlock *hwlock, int mode, unsigned long *flags) in __hwspin_trylock() argument
95 BUG_ON(!hwlock); 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()
138 spin_unlock_irqrestore(&hwlock->lock, *flags); in __hwspin_trylock()
141 spin_unlock_irq(&hwlock->lock); in __hwspin_trylock()
148 spin_unlock(&hwlock->lock); in __hwspin_trylock()
206 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-v5.4/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
183 int hwspin_trylock_irqsave(struct hwspinlock *hwlock, unsigned long *flags) in hwspin_trylock_irqsave() argument
[all …]
/Linux-v5.4/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>;
Dst,stm32-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:
19 #hwlock-cells = <1>;
Domap-hwspinlock.txt14 - #hwlock-cells: Should be 1. The OMAP hwspinlock users will use a
15 0-indexed relative hwlock number as the argument
19 Please look at the generic hwlock binding for usage information for consumers,
20 "Documentation/devicetree/bindings/hwlock/hwlock.txt"
29 #hwlock-cells = <1>;
38 #hwlock-cells = <1>;
Dqcom-hwspinlock.txt21 - #hwlock-cells:
25 (hwlock standard property, see hwlock.txt)
34 hwlock@fd484000 {
38 #hwlock-cells = <1>;
/Linux-v5.4/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_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 …]
/Linux-v5.4/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()
214 efuse->hwlock = hwspin_lock_request_specific(ret); in sc27xx_efuse_probe()
215 if (!efuse->hwlock) { in sc27xx_efuse_probe()
235 hwspin_lock_free(efuse->hwlock); in sc27xx_efuse_probe()
246 hwspin_lock_free(efuse->hwlock); in sc27xx_efuse_remove()
/Linux-v5.4/drivers/spi/
Dspi-sprd-adi.c113 struct hwspinlock *hwlock; member
170 if (sadi->hwlock) { in sprd_adi_read()
171 ret = hwspin_lock_timeout_irqsave(sadi->hwlock, in sprd_adi_read()
224 if (sadi->hwlock) in sprd_adi_read()
225 hwspin_unlock_irqrestore(sadi->hwlock, &flags); in sprd_adi_read()
236 if (sadi->hwlock) { in sprd_adi_write()
237 ret = hwspin_lock_timeout_irqsave(sadi->hwlock, in sprd_adi_write()
269 if (sadi->hwlock) in sprd_adi_write()
270 hwspin_unlock_irqrestore(sadi->hwlock, &flags); in sprd_adi_write()
487 sadi->hwlock = in sprd_adi_probe()
[all …]
/Linux-v5.4/drivers/pinctrl/stm32/
Dpinctrl-stm32.c110 struct hwspinlock *hwlock; member
372 if (pctl->hwlock) in stm32_gpio_domain_activate()
373 ret = hwspin_lock_timeout(pctl->hwlock, HWSPINLOCK_TIMEOUT); in stm32_gpio_domain_activate()
384 if (pctl->hwlock) in stm32_gpio_domain_activate()
385 hwspin_unlock(pctl->hwlock); in stm32_gpio_domain_activate()
393 if (pctl->hwlock) in stm32_gpio_domain_activate()
394 hwspin_unlock(pctl->hwlock); in stm32_gpio_domain_activate()
702 if (pctl->hwlock) in stm32_pmx_set_mode()
703 err = hwspin_lock_timeout(pctl->hwlock, HWSPINLOCK_TIMEOUT); in stm32_pmx_set_mode()
720 if (pctl->hwlock) in stm32_pmx_set_mode()
[all …]
/Linux-v5.4/drivers/iio/adc/
Dsc27xx_adc.c77 struct hwspinlock *hwlock; member
194 ret = hwspin_lock_timeout_raw(data->hwlock, SC27XX_ADC_HWLOCK_TIMEOUT); in sc27xx_adc_read()
253 hwspin_unlock_raw(data->hwlock); in sc27xx_adc_read()
482 struct hwspinlock *hwlock = _data; in sc27xx_adc_free_hwlock() local
484 hwspin_lock_free(hwlock); in sc27xx_adc_free_hwlock()
523 sc27xx_data->hwlock = hwspin_lock_request_specific(ret); in sc27xx_adc_probe()
524 if (!sc27xx_data->hwlock) { in sc27xx_adc_probe()
530 sc27xx_data->hwlock); in sc27xx_adc_probe()
/Linux-v5.4/drivers/isdn/hardware/mISDN/
DmISDNisar.c200 spin_lock_irqsave(isar->hwlock, flags); in load_firmware()
202 spin_unlock_irqrestore(isar->hwlock, flags); in load_firmware()
217 spin_lock_irqsave(isar->hwlock, flags); in load_firmware()
229 spin_unlock_irqrestore(isar->hwlock, flags); in load_firmware()
258 spin_lock_irqsave(isar->hwlock, flags); in load_firmware()
269 spin_unlock_irqrestore(isar->hwlock, flags); in load_firmware()
289 spin_lock_irqsave(isar->hwlock, flags); in load_firmware()
311 spin_unlock_irqrestore(isar->hwlock, flags); in load_firmware()
329 spin_lock_irqsave(isar->hwlock, flags); in load_firmware()
335 spin_unlock_irqrestore(isar->hwlock, flags); in load_firmware()
[all …]
DmISDNipac.c564 spin_lock_irqsave(isac->hwlock, flags); in isac_l1hw()
570 spin_unlock_irqrestore(isac->hwlock, flags); in isac_l1hw()
573 spin_unlock_irqrestore(isac->hwlock, flags); in isac_l1hw()
598 spin_lock_irqsave(isac->hwlock, flags); in isac_ctrl()
612 spin_unlock_irqrestore(isac->hwlock, flags); in isac_ctrl()
634 spin_lock_irqsave(isac->hwlock, flags); in isac_l1cmd()
636 spin_unlock_irqrestore(isac->hwlock, flags); in isac_l1cmd()
639 spin_lock_irqsave(isac->hwlock, flags); in isac_l1cmd()
641 spin_unlock_irqrestore(isac->hwlock, flags); in isac_l1cmd()
644 spin_lock_irqsave(isac->hwlock, flags); in isac_l1cmd()
[all …]
/Linux-v5.4/Documentation/devicetree/bindings/nvmem/
Dsc27xx-efuse.txt11 - hwlocks: Reference to a phandle of a hwlock provider node.
34 hwlocks = <&hwlock 12>;
/Linux-v5.4/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";
/Linux-v5.4/Documentation/devicetree/bindings/iio/adc/
Dsprd,sc27xx-adc.txt14 - hwlocks: Reference to a phandle of a hwlock provider node.
36 hwlocks = <&hwlock 4>;
/Linux-v5.4/drivers/soc/qcom/
Dsmem.c264 struct hwspinlock *hwlock; member
459 ret = hwspin_lock_timeout_irqsave(__smem->hwlock, in qcom_smem_alloc()
475 hwspin_unlock_irqrestore(__smem->hwlock, &flags); in qcom_smem_alloc()
589 ret = hwspin_lock_timeout_irqsave(__smem->hwlock, in qcom_smem_get()
607 hwspin_unlock_irqrestore(__smem->hwlock, &flags); in qcom_smem_get()
961 smem->hwlock = hwspin_lock_request_specific(hwlock_id); in qcom_smem_probe()
962 if (!smem->hwlock) in qcom_smem_probe()
980 hwspin_lock_free(__smem->hwlock); in qcom_smem_remove()
/Linux-v5.4/arch/arm64/boot/dts/sprd/
Dwhale2.dtsi172 hwlocks = <&hwlock 0>;
173 hwlock-names = "adi";
191 hwlock: hwspinlock@40500000 { label
194 #hwlock-cells = <1>;
/Linux-v5.4/drivers/irqchip/
Dirq-stm32-exti.c68 struct hwspinlock *hwlock; member
284 if (!chip_data->host_data->hwlock) in stm32_exti_hwspin_lock()
293 ret = hwspin_trylock_raw(chip_data->host_data->hwlock); in stm32_exti_hwspin_lock()
312 if (chip_data->host_data->hwlock) in stm32_exti_hwspin_unlock()
313 hwspin_unlock_raw(chip_data->host_data->hwlock); in stm32_exti_hwspin_unlock()
827 host_data->hwlock = devm_hwspin_lock_request_specific(dev, ret); in stm32_exti_probe()
828 if (!host_data->hwlock) { in stm32_exti_probe()

123