Skip to content

Commit

Permalink
mt76x0: do not perform MCU calibration for MT7630
Browse files Browse the repository at this point in the history
commit a83150e upstream.

Driver works better for MT7630 without MCU calibration, which
looks like it can hangs the firmware. Vendor driver do not
perform it for MT7630 as well.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
Stanislaw Gruszka authored and Greg Kroah-Hartman committed Jan 31, 2019
1 parent e15c6c8 commit 14275ff
Showing 2 changed files with 8 additions and 0 deletions.
5 changes: 5 additions & 0 deletions drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0.h
Original file line number Diff line number Diff line change
@@ -41,6 +41,11 @@ static inline bool is_mt7610e(struct mt76x02_dev *dev)

void mt76x0_init_debugfs(struct mt76x02_dev *dev);

static inline bool is_mt7630(struct mt76x02_dev *dev)
{
return mt76_chip(&dev->mt76) == 0x7630;
}

/* Init */
struct mt76x02_dev *
mt76x0_alloc_device(struct device *pdev,
3 changes: 3 additions & 0 deletions drivers/net/wireless/mediatek/mt76/mt76x0/phy.c
Original file line number Diff line number Diff line change
@@ -588,6 +588,9 @@ void mt76x0_phy_calibrate(struct mt76x02_dev *dev, bool power_on)
int is_5ghz = (chan->band == NL80211_BAND_5GHZ) ? 1 : 0;
u32 val, tx_alc, reg_val;

if (is_mt7630(dev))
return;

if (power_on) {
mt76x02_mcu_calibrate(dev, MCU_CAL_R, 0, false);
mt76x02_mcu_calibrate(dev, MCU_CAL_VCO, chan->hw_value,

0 comments on commit 14275ff

Please sign in to comment.