diff options
author | Yan-Hsuan Chuang <yhchuang@realtek.com> | 2020-02-05 15:08:53 +0800 |
---|---|---|
committer | Kalle Valo <kvalo@codeaurora.org> | 2020-02-12 18:18:24 +0200 |
commit | 9e01c07069dbd0e025352d958c873a6504f8ce1b (patch) | |
tree | e4abf6dcb84b08ad17bd9023e4d4b42ceb67c114 /drivers/net/wireless/realtek | |
parent | 597fc0e6ad59c669062d159fd7394058c2adbbfc (diff) |
rtw88: add rtw_read8_mask and rtw_read16_mask
Both are missing but could be used sometimes.
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to 'drivers/net/wireless/realtek')
-rw-r--r-- | drivers/net/wireless/realtek/rtw88/hci.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/drivers/net/wireless/realtek/rtw88/hci.h b/drivers/net/wireless/realtek/rtw88/hci.h index 85a81a578fd5..cad56389182c 100644 --- a/drivers/net/wireless/realtek/rtw88/hci.h +++ b/drivers/net/wireless/realtek/rtw88/hci.h @@ -193,6 +193,32 @@ rtw_read32_mask(struct rtw_dev *rtwdev, u32 addr, u32 mask) return ret; } +static inline u16 +rtw_read16_mask(struct rtw_dev *rtwdev, u32 addr, u32 mask) +{ + u32 shift = __ffs(mask); + u32 orig; + u32 ret; + + orig = rtw_read16(rtwdev, addr); + ret = (orig & mask) >> shift; + + return ret; +} + +static inline u8 +rtw_read8_mask(struct rtw_dev *rtwdev, u32 addr, u32 mask) +{ + u32 shift = __ffs(mask); + u32 orig; + u32 ret; + + orig = rtw_read8(rtwdev, addr); + ret = (orig & mask) >> shift; + + return ret; +} + static inline void rtw_write32_mask(struct rtw_dev *rtwdev, u32 addr, u32 mask, u32 data) { |