mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
mt76: mt76u: move mcu buffer allocation in mt76x02u drivers
Move mcu buffer allocation in mt76x2u/mt76x0u drivers since newer chipsets (e.g. mt7663u) does not rely on synchronous mcu communication Co-developed-by: Sean Wang <sean.wang@mediatek.com> Signed-off-by: Sean Wang <sean.wang@mediatek.com> Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
parent
37ec6a03d7
commit
9aeb0d114d
3 changed files with 12 additions and 5 deletions
|
@ -172,8 +172,14 @@ static int mt76x0u_init_hardware(struct mt76x02_dev *dev, bool reset)
|
|||
static int mt76x0u_register_device(struct mt76x02_dev *dev)
|
||||
{
|
||||
struct ieee80211_hw *hw = dev->mt76.hw;
|
||||
struct mt76_usb *usb = &dev->mt76.usb;
|
||||
int err;
|
||||
|
||||
usb->mcu.data = devm_kmalloc(dev->mt76.dev, MCU_RESP_URB_SIZE,
|
||||
GFP_KERNEL);
|
||||
if (!usb->mcu.data)
|
||||
return -ENOMEM;
|
||||
|
||||
err = mt76u_alloc_queues(&dev->mt76);
|
||||
if (err < 0)
|
||||
goto out_err;
|
||||
|
|
|
@ -190,6 +190,7 @@ int mt76x2u_init_hardware(struct mt76x02_dev *dev)
|
|||
int mt76x2u_register_device(struct mt76x02_dev *dev)
|
||||
{
|
||||
struct ieee80211_hw *hw = mt76_hw(dev);
|
||||
struct mt76_usb *usb = &dev->mt76.usb;
|
||||
int err;
|
||||
|
||||
INIT_DELAYED_WORK(&dev->cal_work, mt76x2u_phy_calibrate);
|
||||
|
@ -199,6 +200,11 @@ int mt76x2u_register_device(struct mt76x02_dev *dev)
|
|||
if (err < 0)
|
||||
return err;
|
||||
|
||||
usb->mcu.data = devm_kmalloc(dev->mt76.dev, MCU_RESP_URB_SIZE,
|
||||
GFP_KERNEL);
|
||||
if (!usb->mcu.data)
|
||||
return -ENOMEM;
|
||||
|
||||
err = mt76u_alloc_queues(&dev->mt76);
|
||||
if (err < 0)
|
||||
goto fail;
|
||||
|
|
|
@ -605,14 +605,9 @@ mt76u_submit_rx_buffers(struct mt76_dev *dev, enum mt76_rxq_id qid)
|
|||
|
||||
static int mt76u_alloc_rx(struct mt76_dev *dev)
|
||||
{
|
||||
struct mt76_usb *usb = &dev->usb;
|
||||
struct mt76_queue *q = &dev->q_rx[MT_RXQ_MAIN];
|
||||
int i, err;
|
||||
|
||||
usb->mcu.data = devm_kmalloc(dev->dev, MCU_RESP_URB_SIZE, GFP_KERNEL);
|
||||
if (!usb->mcu.data)
|
||||
return -ENOMEM;
|
||||
|
||||
spin_lock_init(&q->lock);
|
||||
q->entry = devm_kcalloc(dev->dev,
|
||||
MT_NUM_RX_ENTRIES, sizeof(*q->entry),
|
||||
|
|
Loading…
Add table
Reference in a new issue