Message ID | 20180928064017.26870-9-lorenzo.bianconi@redhat.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Kalle Valo |
Headers | show |
Series | add mt76x0e hw initialization support | expand |
On Fri, Sep 28, 2018 at 08:40:01AM +0200, Lorenzo Bianconi wrote: > +static inline bool > +mt76x02_wait_for_txrx_active(struct mt76_dev *dev) > +{ > + return __mt76_poll_msec(dev, MT_MAC_STATUS, > + MT_MAC_STATUS_TX | MT_MAC_STATUS_RX, > + 0, 100); > +} The name is unfortunate, what we wait for is TX and RX become idle i.e. hardware do not perform any RX or TX (see for example mt76x2_mac_stop() ). I think this patch should be droped and we should just use mt76_poll_msec(MT_MAC_STATUS) directly, there is no real benefit for this function. Thanks Stanislaw
> > On Fri, Sep 28, 2018 at 08:40:01AM +0200, Lorenzo Bianconi wrote: > > +static inline bool > > +mt76x02_wait_for_txrx_active(struct mt76_dev *dev) > > +{ > > + return __mt76_poll_msec(dev, MT_MAC_STATUS, > > + MT_MAC_STATUS_TX | MT_MAC_STATUS_RX, > > + 0, 100); > > +} > > The name is unfortunate, what we wait for is TX and RX become idle > i.e. hardware do not perform any RX or TX (see for example > mt76x2_mac_stop() ). Hi Stanislaw, This is what I meant, but probably 'mt76x02_wait_for_txrx_idle' will be better I guess, agree? > > I think this patch should be droped and we should just use > mt76_poll_msec(MT_MAC_STATUS) directly, there is no real benefit > for this function. > I would prefer to use shared utilities if it possible. I will fix it in v3 Regards, Lorenzo > Thanks > Stanislaw >
diff --git a/drivers/net/wireless/mediatek/mt76/mt76x02_util.h b/drivers/net/wireless/mediatek/mt76/mt76x02_util.h index 479e7ffcc951..432c725da62f 100644 --- a/drivers/net/wireless/mediatek/mt76/mt76x02_util.h +++ b/drivers/net/wireless/mediatek/mt76/mt76x02_util.h @@ -66,4 +66,12 @@ static inline void mt76x02_irq_disable(struct mt76_dev *dev, u32 mask) mt76x02_set_irq_mask(dev, mask, 0); } +static inline bool +mt76x02_wait_for_txrx_active(struct mt76_dev *dev) +{ + return __mt76_poll_msec(dev, MT_MAC_STATUS, + MT_MAC_STATUS_TX | MT_MAC_STATUS_RX, + 0, 100); +} + #endif diff --git a/drivers/net/wireless/mediatek/mt76/mt76x2.h b/drivers/net/wireless/mediatek/mt76/mt76x2.h index c51d6e2a64ce..9bf8be5ea1cd 100644 --- a/drivers/net/wireless/mediatek/mt76/mt76x2.h +++ b/drivers/net/wireless/mediatek/mt76/mt76x2.h @@ -124,13 +124,6 @@ static inline bool mt76x2_channel_silent(struct mt76x2_dev *dev) chan->dfs_state != NL80211_DFS_AVAILABLE); } -static inline bool mt76x2_wait_for_bbp(struct mt76x2_dev *dev) -{ - return mt76_poll_msec(dev, MT_MAC_STATUS, - MT_MAC_STATUS_TX | MT_MAC_STATUS_RX, - 0, 100); -} - extern const struct ieee80211_ops mt76x2_ops; struct mt76x2_dev *mt76x2_alloc_device(struct device *pdev); diff --git a/drivers/net/wireless/mediatek/mt76/mt76x2u_init.c b/drivers/net/wireless/mediatek/mt76/mt76x2u_init.c index 4eb3fe657bd2..ecaafbb3eabe 100644 --- a/drivers/net/wireless/mediatek/mt76/mt76x2u_init.c +++ b/drivers/net/wireless/mediatek/mt76/mt76x2u_init.c @@ -209,7 +209,7 @@ int mt76x2u_init_hardware(struct mt76x2_dev *dev) mt76x2u_init_beacon_offsets(dev); - if (!mt76x2_wait_for_bbp(dev)) + if (!mt76x02_wait_for_txrx_active(&dev->mt76)) return -ETIMEDOUT; /* reset wcid table */
Move mt76x2_wait_for_bbp utility routine in mt76x02_util.h in order to be resued by mt76x0 driver. Morover rename it in mt76x02_wait_for_txrx_active Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com> --- drivers/net/wireless/mediatek/mt76/mt76x02_util.h | 8 ++++++++ drivers/net/wireless/mediatek/mt76/mt76x2.h | 7 ------- drivers/net/wireless/mediatek/mt76/mt76x2u_init.c | 2 +- 3 files changed, 9 insertions(+), 8 deletions(-)