Home
last modified time | relevance | path

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

12345

/linux-6.15/drivers/hwspinlock/
H A Dhwspinlock_core.c133 ret = hwlock->bank->ops->trylock(hwlock); in __hwspin_trylock()
242 hwlock->bank->ops->relax(hwlock); in __hwspin_lock_timeout()
287 hwlock->bank->ops->unlock(hwlock); in __hwspin_unlock()
332 return hwlock->bank->ops->bust(hwlock, id); in hwspin_lock_bust()
493 if (!hwlock) { in hwspin_lock_unregister_single()
500 return hwlock; in hwspin_lock_unregister_single()
734 if (!hwlock) { in hwspin_lock_request_specific()
757 return hwlock; in hwspin_lock_request_specific()
779 if (!hwlock) { in hwspin_lock_free()
819 if (WARN_ON(!hwlock || !*hwlock)) in devm_hwspin_lock_match()
[all …]
H A Dhwspinlock_internal.h65 static inline int hwlock_to_id(struct hwspinlock *hwlock) in hwlock_to_id() argument
67 int local_id = hwlock - &hwlock->bank->lock[0]; in hwlock_to_id()
69 return hwlock->bank->base_id + local_id; in hwlock_to_id()
H A Du8500_hsem.c89 struct hwspinlock *hwlock; in u8500_hsem_probe() local
115 for (i = 0, hwlock = &bank->lock[0]; i < num_locks; i++, hwlock++) in u8500_hsem_probe()
116 hwlock->priv = io_base + HSEM_REGISTER_OFFSET + sizeof(u32) * i; in u8500_hsem_probe()
H A Dsun6i_hwspinlock.c94 struct hwspinlock *hwlock; in sun6i_hwspinlock_probe() local
165 hwlock = &priv->bank->lock[i]; in sun6i_hwspinlock_probe()
166 hwlock->priv = io_base + SPINLOCK_LOCK_REGN + sizeof(u32) * i; in sun6i_hwspinlock_probe()
/linux-6.15/include/linux/
H A Dhwspinlock.h62 int hwspin_lock_free(struct hwspinlock *hwlock);
173 return __hwspin_trylock(hwlock, HWLOCK_IRQSTATE, flags); in hwspin_trylock_irqsave()
192 return __hwspin_trylock(hwlock, HWLOCK_IRQ, NULL); in hwspin_trylock_irq()
211 return __hwspin_trylock(hwlock, HWLOCK_RAW, NULL); in hwspin_trylock_raw()
248 return __hwspin_trylock(hwlock, 0, NULL); in hwspin_trylock()
365 return __hwspin_lock_timeout(hwlock, to, 0, NULL); in hwspin_lock_timeout()
383 __hwspin_unlock(hwlock, HWLOCK_IRQSTATE, flags); in hwspin_unlock_irqrestore()
399 __hwspin_unlock(hwlock, HWLOCK_IRQ, NULL); in hwspin_unlock_irq()
414 __hwspin_unlock(hwlock, HWLOCK_RAW, NULL); in hwspin_unlock_raw()
429 __hwspin_unlock(hwlock, HWLOCK_IN_ATOMIC, NULL); in hwspin_unlock_in_atomic()
[all …]
/linux-6.15/Documentation/devicetree/bindings/hwlock/
H A Dhwlock.txt1 Generic hwlock bindings
4 Generic bindings that are common to all the hwlock platform specific driver
11 hwlock providers:
18 hwlock users:
22 property "hwlocks", and an optional "hwlock-names" property.
27 #hwlock-cells. The list can have just a single hwlock
32 - hwlock-names: List of hwlock name strings defined in the same order
34 use the hwlock-names to match and get a specific hwlock.
37 1. Example of a node using a single specific hwlock:
52 the hwlock device node 'hwlock1' with #hwlock-cells value of 1, and another
[all …]
H A 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>;
H A Dsprd,hwspinlock-r3p0.yaml4 $id: http://devicetree.org/schemas/hwlock/sprd,hwspinlock-r3p0.yaml#
27 '#hwlock-cells':
35 - '#hwlock-cells'
43 hwlock@40500000 {
48 #hwlock-cells = <1>;
H A 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>;
H A 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>;
H A Dst,stm32-hwspinlock.yaml4 $id: http://devicetree.org/schemas/hwlock/st,stm32-hwspinlock.yaml#
13 "#hwlock-cells":
30 - "#hwlock-cells"
43 #hwlock-cells = <1>;
/linux-6.15/drivers/spi/
H A Dspi-sprd-adi.c149 struct hwspinlock *hwlock; member
224 if (sadi->hwlock) { in sprd_adi_read()
225 ret = hwspin_lock_timeout_irqsave(sadi->hwlock, in sprd_adi_read()
279 if (sadi->hwlock) in sprd_adi_read()
280 hwspin_unlock_irqrestore(sadi->hwlock, &flags); in sprd_adi_read()
290 if (sadi->hwlock) { in sprd_adi_write()
291 ret = hwspin_lock_timeout_irqsave(sadi->hwlock, in sprd_adi_write()
328 if (sadi->hwlock) in sprd_adi_write()
329 hwspin_unlock_irqrestore(sadi->hwlock, &flags); in sprd_adi_write()
552 sadi->hwlock = in sprd_adi_probe()
[all …]
/linux-6.15/Documentation/locking/
H A Dhwspinlock.rst69 int hwspin_lock_free(struct hwspinlock *hwlock);
172 int hwspin_trylock(struct hwspinlock *hwlock);
189 int hwspin_trylock_irq(struct hwspinlock *hwlock);
222 int hwspin_trylock_raw(struct hwspinlock *hwlock);
250 void hwspin_unlock(struct hwspinlock *hwlock);
262 void hwspin_unlock_irq(struct hwspinlock *hwlock);
314 struct hwspinlock *hwlock;
322 if (!hwlock)
326 ret = hwspin_trylock(hwlock);
337 hwspin_unlock(hwlock);
[all …]
/linux-6.15/drivers/nvmem/
H A Dsc27xx-efuse.c64 struct hwspinlock *hwlock; member
89 ret = hwspin_lock_timeout_raw(efuse->hwlock, in sc27xx_efuse_lock()
102 hwspin_unlock_raw(efuse->hwlock); in sc27xx_efuse_unlock()
232 efuse->hwlock = devm_hwspin_lock_request_specific(&pdev->dev, ret); in sc27xx_efuse_probe()
233 if (!efuse->hwlock) { in sc27xx_efuse_probe()
H A Dsprd-efuse.c66 struct hwspinlock *hwlock; member
89 ret = hwspin_lock_timeout_raw(efuse->hwlock, in sprd_efuse_lock()
102 hwspin_unlock_raw(efuse->hwlock); in sprd_efuse_unlock()
390 efuse->hwlock = devm_hwspin_lock_request_specific(&pdev->dev, ret); in sprd_efuse_probe()
391 if (!efuse->hwlock) { in sprd_efuse_probe()
/linux-6.15/drivers/isdn/hardware/mISDN/
H A 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()
258 spin_lock_irqsave(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()
356 spin_lock_irqsave(isar->hwlock, flags); in load_firmware()
386 spin_lock_irqsave(isar->hwlock, flags); in load_firmware()
[all …]
H A DmISDNipac.c565 spin_lock_irqsave(isac->hwlock, flags); in isac_l1hw()
599 spin_lock_irqsave(isac->hwlock, flags); in isac_ctrl()
635 spin_lock_irqsave(isac->hwlock, flags); in isac_l1cmd()
640 spin_lock_irqsave(isac->hwlock, flags); in isac_l1cmd()
645 spin_lock_irqsave(isac->hwlock, flags); in isac_l1cmd()
671 spin_lock_irqsave(isac->hwlock, flags); in isac_l1cmd()
721 spin_lock_irqsave(isac->hwlock, flags); in dbusy_timer_handler()
1342 spin_lock_irqsave(hx->ip->hwlock, flags); in hscx_l2l1()
1351 spin_lock_irqsave(hx->ip->hwlock, flags); in hscx_l2l1()
1362 spin_lock_irqsave(hx->ip->hwlock, flags); in hscx_l2l1()
[all …]
H A Dipac.h19 spinlock_t *hwlock; /* lock HW access */ member
60 spinlock_t *hwlock; /* lock HW access */ member
/linux-6.15/drivers/pinctrl/stm32/
H A Dpinctrl-stm32.c117 struct hwspinlock *hwlock; member
434 if (pctl->hwlock) { in stm32_gpio_domain_activate()
445 if (pctl->hwlock) in stm32_gpio_domain_activate()
768 if (pctl->hwlock) { in stm32_pmx_set_mode()
787 if (pctl->hwlock) in stm32_pmx_set_mode()
901 if (pctl->hwlock) { in stm32_pconf_set_driving()
915 if (pctl->hwlock) in stm32_pconf_set_driving()
952 if (pctl->hwlock) { in stm32_pconf_set_speed()
966 if (pctl->hwlock) in stm32_pconf_set_speed()
1003 if (pctl->hwlock) { in stm32_pconf_set_bias()
[all …]
/linux-6.15/drivers/irqchip/
H A Dirq-stm32mp-exti.c74 struct hwspinlock *hwlock; member
372 struct hwspinlock *hwlock = chip_data->host_data->hwlock; in stm32mp_exti_set_type() local
379 if (hwlock) { in stm32mp_exti_set_type()
380 err = hwspin_lock_timeout_in_atomic(hwlock, HWSPNLCK_TIMEOUT); in stm32mp_exti_set_type()
396 if (hwlock) in stm32mp_exti_set_type()
397 hwspin_unlock_in_atomic(hwlock); in stm32mp_exti_set_type()
645 host_data->hwlock = devm_hwspin_lock_request_specific(dev, ret); in stm32mp_exti_probe()
646 if (!host_data->hwlock) { in stm32mp_exti_probe()
/linux-6.15/drivers/soc/qcom/
H A Dsmem.c279 struct hwspinlock *hwlock; member
384 return hwspin_lock_bust(__smem->hwlock, SMEM_HOST_ID_TO_HWSPINLOCK_ID(host)); in qcom_smem_bust_hwspin_lock_by_host()
523 ret = hwspin_lock_timeout_irqsave(__smem->hwlock, in qcom_smem_alloc()
539 hwspin_unlock_irqrestore(__smem->hwlock, &flags); in qcom_smem_alloc()
1193 smem->hwlock = hwspin_lock_request_specific(hwlock_id); in qcom_smem_probe()
1194 if (!smem->hwlock) in qcom_smem_probe()
1197 ret = hwspin_lock_timeout_irqsave(smem->hwlock, HWSPINLOCK_TIMEOUT, &flags); in qcom_smem_probe()
1201 hwspin_unlock_irqrestore(smem->hwlock, &flags); in qcom_smem_probe()
1246 hwspin_lock_free(__smem->hwlock); in qcom_smem_remove()
/linux-6.15/arch/arm64/boot/dts/sprd/
H A Dwhale2.dtsi177 hwlocks = <&hwlock 0>;
178 hwlock-names = "adi";
196 hwlock: hwspinlock@40500000 { label
199 #hwlock-cells = <1>;
/linux-6.15/drivers/iio/adc/
H A Dsc27xx_adc.c92 struct hwspinlock *hwlock; member
490 ret = hwspin_lock_timeout_raw(data->hwlock, SC27XX_ADC_HWLOCK_TIMEOUT); in sc27xx_adc_read()
576 hwspin_unlock_raw(data->hwlock); in sc27xx_adc_read()
903 sc27xx_data->hwlock = devm_hwspin_lock_request_specific(dev, ret); in sc27xx_adc_probe()
904 if (!sc27xx_data->hwlock) { in sc27xx_adc_probe()
/linux-6.15/Documentation/devicetree/bindings/spi/
H A Dsprd,spi-adi.yaml61 hwlock-names:
97 hwlock-names = "adi";
/linux-6.15/Documentation/devicetree/bindings/nvmem/
H A Dsprd,ums312-efuse.yaml52 hwlocks = <&hwlock 8>;

12345