Lines Matching +full:bit +full:- +full:mask

1 /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
2 /* Copyright(c) 2018-2019 Realtek Corporation
40 return rtwdev->hci.ops->tx_write(rtwdev, pkt_info, skb); in rtw_hci_tx_write()
45 return rtwdev->hci.ops->tx_kick_off(rtwdev); in rtw_hci_tx_kick_off()
50 return rtwdev->hci.ops->setup(rtwdev); in rtw_hci_setup()
55 return rtwdev->hci.ops->start(rtwdev); in rtw_hci_start()
60 rtwdev->hci.ops->stop(rtwdev); in rtw_hci_stop()
65 rtwdev->hci.ops->deep_ps(rtwdev, enter); in rtw_hci_deep_ps()
70 rtwdev->hci.ops->link_ps(rtwdev, enter); in rtw_hci_link_ps()
75 rtwdev->hci.ops->interface_cfg(rtwdev); in rtw_hci_interface_cfg()
80 if (rtwdev->hci.ops->dynamic_rx_agg) in rtw_hci_dynamic_rx_agg()
81 rtwdev->hci.ops->dynamic_rx_agg(rtwdev, enable); in rtw_hci_dynamic_rx_agg()
87 rtwdev->hci.ops->write_firmware_page(rtwdev, page, data, size); in rtw_hci_write_firmware_page()
93 return rtwdev->hci.ops->write_data_rsvd_page(rtwdev, buf, size); in rtw_hci_write_data_rsvd_page()
99 return rtwdev->hci.ops->write_data_h2c(rtwdev, buf, size); in rtw_hci_write_data_h2c()
104 return rtwdev->hci.ops->read8(rtwdev, addr); in rtw_read8()
109 return rtwdev->hci.ops->read16(rtwdev, addr); in rtw_read16()
114 return rtwdev->hci.ops->read32(rtwdev, addr); in rtw_read32()
119 rtwdev->hci.ops->write8(rtwdev, addr, val); in rtw_write8()
124 rtwdev->hci.ops->write16(rtwdev, addr, val); in rtw_write16()
129 rtwdev->hci.ops->write32(rtwdev, addr, val); in rtw_write32()
132 static inline void rtw_write8_set(struct rtw_dev *rtwdev, u32 addr, u8 bit) in rtw_write8_set() argument
137 rtw_write8(rtwdev, addr, val | bit); in rtw_write8_set()
140 static inline void rtw_write16_set(struct rtw_dev *rtwdev, u32 addr, u16 bit) in rtw_write16_set() argument
145 rtw_write16(rtwdev, addr, val | bit); in rtw_write16_set()
148 static inline void rtw_write32_set(struct rtw_dev *rtwdev, u32 addr, u32 bit) in rtw_write32_set() argument
153 rtw_write32(rtwdev, addr, val | bit); in rtw_write32_set()
156 static inline void rtw_write8_clr(struct rtw_dev *rtwdev, u32 addr, u8 bit) in rtw_write8_clr() argument
161 rtw_write8(rtwdev, addr, val & ~bit); in rtw_write8_clr()
164 static inline void rtw_write16_clr(struct rtw_dev *rtwdev, u32 addr, u16 bit) in rtw_write16_clr() argument
169 rtw_write16(rtwdev, addr, val & ~bit); in rtw_write16_clr()
172 static inline void rtw_write32_clr(struct rtw_dev *rtwdev, u32 addr, u32 bit) in rtw_write32_clr() argument
177 rtw_write32(rtwdev, addr, val & ~bit); in rtw_write32_clr()
182 u32 addr, u32 mask) in rtw_read_rf() argument
186 lockdep_assert_held(&rtwdev->mutex); in rtw_read_rf()
188 val = rtwdev->chip->ops->read_rf(rtwdev, rf_path, addr, mask); in rtw_read_rf()
195 u32 addr, u32 mask, u32 data) in rtw_write_rf() argument
197 lockdep_assert_held(&rtwdev->mutex); in rtw_write_rf()
199 rtwdev->chip->ops->write_rf(rtwdev, rf_path, addr, mask, data); in rtw_write_rf()
203 rtw_read32_mask(struct rtw_dev *rtwdev, u32 addr, u32 mask) in rtw_read32_mask() argument
205 u32 shift = __ffs(mask); in rtw_read32_mask()
210 ret = (orig & mask) >> shift; in rtw_read32_mask()
216 rtw_read16_mask(struct rtw_dev *rtwdev, u32 addr, u32 mask) in rtw_read16_mask() argument
218 u32 shift = __ffs(mask); in rtw_read16_mask()
223 ret = (orig & mask) >> shift; in rtw_read16_mask()
229 rtw_read8_mask(struct rtw_dev *rtwdev, u32 addr, u32 mask) in rtw_read8_mask() argument
231 u32 shift = __ffs(mask); in rtw_read8_mask()
236 ret = (orig & mask) >> shift; in rtw_read8_mask()
242 rtw_write32_mask(struct rtw_dev *rtwdev, u32 addr, u32 mask, u32 data) in rtw_write32_mask() argument
244 u32 shift = __ffs(mask); in rtw_write32_mask()
248 WARN(addr & 0x3, "should be 4-byte aligned, addr = 0x%08x\n", addr); in rtw_write32_mask()
251 set = (orig & ~mask) | ((data << shift) & mask); in rtw_write32_mask()
256 rtw_write8_mask(struct rtw_dev *rtwdev, u32 addr, u32 mask, u8 data) in rtw_write8_mask() argument
261 mask &= 0xff; in rtw_write8_mask()
262 shift = __ffs(mask); in rtw_write8_mask()
265 set = (orig & ~mask) | ((data << shift) & mask); in rtw_write8_mask()
271 return rtwdev->hci.type; in rtw_hci_type()
277 if (rtwdev->hci.ops->flush_queues) in rtw_hci_flush_queues()
278 rtwdev->hci.ops->flush_queues(rtwdev, queues, drop); in rtw_hci_flush_queues()
283 if (rtwdev->hci.ops->flush_queues) in rtw_hci_flush_all_queues()
284 rtwdev->hci.ops->flush_queues(rtwdev, in rtw_hci_flush_all_queues()
285 BIT(rtwdev->hw->queues) - 1, in rtw_hci_flush_all_queues()