Home
last modified time | relevance | path

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

12

/linux/drivers/hwspinlock/
H A Dhwspinlock_core.c92 int __hwspin_trylock(struct hwspinlock *hwlock, int mode, unsigned long *flags) in __hwspin_trylock() argument
96 if (WARN_ON(!hwlock || (!flags && mode == HWLOCK_IRQSTATE))) in __hwspin_trylock()
114 ret = spin_trylock_irqsave(&hwlock->lock, *flags); in __hwspin_trylock()
117 ret = spin_trylock_irq(&hwlock->lock); in __hwspin_trylock()
124 ret = spin_trylock(&hwlock->lock); in __hwspin_trylock()
133 ret = hwlock->bank->ops->trylock(hwlock); in __hwspin_trylock()
139 spin_unlock_irqrestore(&hwlock->lock, *flags); in __hwspin_trylock()
142 spin_unlock_irq(&hwlock->lock); in __hwspin_trylock()
149 spin_unlock(&hwlock->lock); in __hwspin_trylock()
209 int __hwspin_lock_timeout(struct hwspinlock *hwlock, unsigned int to, in __hwspin_lock_timeout() argument
[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/include/linux/
H A Dhwspinlock.h63 int hwspin_lock_free(struct hwspinlock *hwlock);
65 int hwspin_lock_get_id(struct hwspinlock *hwlock);
71 int hwspin_lock_bust(struct hwspinlock *hwlock, unsigned int id);
72 int devm_hwspin_lock_free(struct device *dev, struct hwspinlock *hwlock);
108 static inline int hwspin_lock_free(struct hwspinlock *hwlock) in hwspin_lock_free() argument
114 int __hwspin_lock_timeout(struct hwspinlock *hwlock, unsigned int to, in __hwspin_lock_timeout() argument
121 int __hwspin_trylock(struct hwspinlock *hwlock, int mode, unsigned long *flags) in __hwspin_trylock() argument
127 void __hwspin_unlock(struct hwspinlock *hwlock, int mode, unsigned long *flags) in __hwspin_unlock() argument
131 static inline int hwspin_lock_bust(struct hwspinlock *hwlock, unsigned int id) in hwspin_lock_bust() argument
141 static inline int hwspin_lock_get_id(struct hwspinlock *hwlock) in hwspin_lock_get_id() argument
[all …]
/linux/Documentation/devicetree/bindings/hwlock/
H A 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 …]
/linux/Documentation/locking/
H A Dhwspinlock.rst80 int hwspin_lock_free(struct hwspinlock *hwlock);
90 int hwspin_lock_bust(struct hwspinlock *hwlock, unsigned int id);
101 int hwspin_lock_timeout(struct hwspinlock *hwlock, unsigned int timeout);
117 int hwspin_lock_timeout_irq(struct hwspinlock *hwlock, unsigned int timeout);
132 int hwspin_lock_timeout_irqsave(struct hwspinlock *hwlock, unsigned int to,
150 int hwspin_lock_timeout_raw(struct hwspinlock *hwlock, unsigned int timeout);
167 int hwspin_lock_timeout_in_atomic(struct hwspinlock *hwlock, unsigned int to);
183 int hwspin_trylock(struct hwspinlock *hwlock);
200 int hwspin_trylock_irq(struct hwspinlock *hwlock);
217 int hwspin_trylock_irqsave(struct hwspinlock *hwlock, unsigned long *flags);
[all …]
/linux/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/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()
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 …]
H A DmISDNipac.c565 spin_lock_irqsave(isac->hwlock, flags); in isac_l1hw()
571 spin_unlock_irqrestore(isac->hwlock, flags); in isac_l1hw()
574 spin_unlock_irqrestore(isac->hwlock, flags); in isac_l1hw()
599 spin_lock_irqsave(isac->hwlock, flags); in isac_ctrl()
613 spin_unlock_irqrestore(isac->hwlock, flags); in isac_ctrl()
635 spin_lock_irqsave(isac->hwlock, flags); in isac_l1cmd()
637 spin_unlock_irqrestore(isac->hwlock, flags); in isac_l1cmd()
640 spin_lock_irqsave(isac->hwlock, flags); in isac_l1cmd()
642 spin_unlock_irqrestore(isac->hwlock, flags); in isac_l1cmd()
645 spin_lock_irqsave(isac->hwlock, flags); in isac_l1cmd()
[all …]
H A Dipac.h19 spinlock_t *hwlock; /* lock HW access */ member
60 spinlock_t *hwlock; /* lock HW access */ member
H A Disar.h34 spinlock_t *hwlock; /* lock HW access */ member
H A Dspeedfax.c375 card->isac.hwlock = &card->lock; in setup_instance()
376 card->isar.hwlock = &card->lock; in setup_instance()
H A DmISDNinfineon.c911 card->ipac.isac.hwlock = &card->lock; in setup_instance()
912 card->ipac.hwlock = &card->lock; in setup_instance()
/linux/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/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/drivers/base/regmap/
H A Dregmap.c398 hwspin_lock_timeout(map->hwlock, UINT_MAX); in regmap_lock_hwlock()
405 hwspin_lock_timeout_irq(map->hwlock, UINT_MAX); in regmap_lock_hwlock_irq()
412 hwspin_lock_timeout_irqsave(map->hwlock, UINT_MAX, in regmap_lock_hwlock_irqsave()
420 hwspin_unlock(map->hwlock); in regmap_unlock_hwlock()
427 hwspin_unlock_irq(map->hwlock); in regmap_unlock_hwlock_irq()
434 hwspin_unlock_irqrestore(map->hwlock, &map->spinlock_flags); in regmap_unlock_hwlock_irqrestore()
712 map->hwlock = hwspin_lock_request_specific(config->hwlock_id); in __regmap_init()
713 if (!map->hwlock) { in __regmap_init()
1169 if (map->hwlock) in __regmap_init()
1170 hwspin_lock_free(map->hwlock); in __regmap_init()
[all …]
/linux/drivers/net/ethernet/micrel/
H A Dksz884x.c1355 spinlock_t hwlock; member
4371 spin_lock_irq(&hw_priv->hwlock); in transmit_cleanup()
4404 spin_unlock_irq(&hw_priv->hwlock); in transmit_cleanup()
4482 spin_lock_irq(&hw_priv->hwlock); in netdev_tx()
4511 spin_unlock_irq(&hw_priv->hwlock); in netdev_tx()
4808 spin_lock_irq(&hw_priv->hwlock); in rx_proc_task()
4810 spin_unlock_irq(&hw_priv->hwlock); in rx_proc_task()
4827 spin_lock_irq(&hw_priv->hwlock); in tx_proc_task()
4829 spin_unlock_irq(&hw_priv->hwlock); in tx_proc_task()
4866 spin_lock(&hw_priv->hwlock); in netdev_intr()
[all …]
/linux/arch/arm/boot/dts/qcom/
H A Dqcom-apq8084.dtsi712 tcsr_mutex: hwlock@fd484000 {
715 #hwlock-cells = <1>;
H A Dqcom-msm8226.dtsi848 tcsr_mutex: hwlock@fd484000 {
851 #hwlock-cells = <1>;
H A Dqcom-ipq8064.dtsi520 sfpb_mutex: hwlock@1200600 {
524 #hwlock-cells = <1>;
/linux/arch/arm64/boot/dts/qcom/
H A Dipq6018.dtsi408 tcsr_mutex: hwlock@1905000 {
411 #hwlock-cells = <1>;
H A Dmsm8976.dtsi839 tcsr_mutex: hwlock@1905000 {
842 #hwlock-cells = <1>;
H A Dmsm8953.dtsi822 tcsr_mutex: hwlock@1905000 {
825 #hwlock-cells = <1>;
/linux/arch/arm/boot/dts/ti/omap/
H A Ddm816x.dtsi356 #hwlock-cells = <1>;

12