/linux/drivers/hwspinlock/ |
H A D | hwspinlock_core.c | 92 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 D | hwspinlock_internal.h | 65 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 D | u8500_hsem.c | 89 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 D | sun6i_hwspinlock.c | 94 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 D | hwspinlock.h | 63 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 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 …]
|
/linux/Documentation/locking/ |
H A D | hwspinlock.rst | 80 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 D | spi-sprd-adi.c | 149 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 D | mISDNisar.c | 200 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 D | mISDNipac.c | 565 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 D | ipac.h | 19 spinlock_t *hwlock; /* lock HW access */ member 60 spinlock_t *hwlock; /* lock HW access */ member
|
H A D | isar.h | 34 spinlock_t *hwlock; /* lock HW access */ member
|
H A D | speedfax.c | 375 card->isac.hwlock = &card->lock; in setup_instance() 376 card->isar.hwlock = &card->lock; in setup_instance()
|
H A D | mISDNinfineon.c | 911 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 D | whale2.dtsi | 177 hwlocks = <&hwlock 0>; 178 hwlock-names = "adi"; 196 hwlock: hwspinlock@40500000 { label 199 #hwlock-cells = <1>;
|
/linux/drivers/iio/adc/ |
H A D | sc27xx_adc.c | 92 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 D | regmap.c | 398 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 D | ksz884x.c | 1355 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 D | qcom-apq8084.dtsi | 712 tcsr_mutex: hwlock@fd484000 { 715 #hwlock-cells = <1>;
|
H A D | qcom-msm8226.dtsi | 848 tcsr_mutex: hwlock@fd484000 { 851 #hwlock-cells = <1>;
|
H A D | qcom-ipq8064.dtsi | 520 sfpb_mutex: hwlock@1200600 { 524 #hwlock-cells = <1>;
|
/linux/arch/arm64/boot/dts/qcom/ |
H A D | ipq6018.dtsi | 408 tcsr_mutex: hwlock@1905000 { 411 #hwlock-cells = <1>;
|
H A D | msm8976.dtsi | 839 tcsr_mutex: hwlock@1905000 { 842 #hwlock-cells = <1>;
|
H A D | msm8953.dtsi | 822 tcsr_mutex: hwlock@1905000 { 825 #hwlock-cells = <1>;
|
/linux/arch/arm/boot/dts/ti/omap/ |
H A D | dm816x.dtsi | 356 #hwlock-cells = <1>;
|