Lines Matching refs:mdev

226 static u32 mt7996_rr(struct mt76_dev *mdev, u32 offset)
228 struct mt7996_dev *dev = container_of(mdev, struct mt7996_dev, mt76);
232 return dev->bus_ops->rr(mdev, addr);
235 val = dev->bus_ops->rr(mdev, __mt7996_reg_remap_addr(dev, offset));
241 static void mt7996_wr(struct mt76_dev *mdev, u32 offset, u32 val)
243 struct mt7996_dev *dev = container_of(mdev, struct mt7996_dev, mt76);
247 dev->bus_ops->wr(mdev, addr, val);
252 dev->bus_ops->wr(mdev, __mt7996_reg_remap_addr(dev, offset), val);
256 static u32 mt7996_rmw(struct mt76_dev *mdev, u32 offset, u32 mask, u32 val)
258 struct mt7996_dev *dev = container_of(mdev, struct mt7996_dev, mt76);
262 return dev->bus_ops->rmw(mdev, addr, mask, val);
265 val = dev->bus_ops->rmw(mdev, __mt7996_reg_remap_addr(dev, offset), mask, val);
274 struct mt76_dev *mdev = container_of(wed, struct mt76_dev, mmio.wed);
275 struct mt7996_dev *dev = container_of(mdev, struct mt7996_dev, mt76);
290 if (!wait_for_completion_timeout(&mdev->mmio.wed_reset, 20 * HZ)) {
291 dev_err(mdev->dev, "wed reset timeout\n");
434 static int mt7996_mmio_init(struct mt76_dev *mdev,
441 dev = container_of(mdev, struct mt7996_dev, mt76);
473 mdev->rev = (device_id << 16) | (mt76_rr(dev, MT_HW_REV) & 0xff);
475 dev_dbg(mdev->dev, "ASIC revision: %04x\n", mdev->rev);
483 struct mt76_dev *mdev = &dev->mt76;
486 spin_lock_irqsave(&mdev->mmio.irq_lock, flags);
488 mdev->mmio.irqmask &= ~clear;
489 mdev->mmio.irqmask |= set;
492 if (mtk_wed_device_active(&mdev->mmio.wed)) {
493 mtk_wed_device_irq_set_mask(&mdev->mmio.wed,
494 mdev->mmio.irqmask);
495 if (mtk_wed_device_active(&mdev->mmio.wed_hif2)) {
496 mtk_wed_device_irq_set_mask(&mdev->mmio.wed_hif2,
497 mdev->mmio.irqmask);
500 mt76_wr(dev, MT_INT_MASK_CSR, mdev->mmio.irqmask);
501 mt76_wr(dev, MT_INT1_MASK_CSR, mdev->mmio.irqmask);
505 spin_unlock_irqrestore(&mdev->mmio.irq_lock, flags);
508 static void mt7996_rx_poll_complete(struct mt76_dev *mdev,
511 struct mt7996_dev *dev = container_of(mdev, struct mt7996_dev, mt76);
625 struct mt76_dev *mdev;
628 mdev = mt76_alloc_device(pdev, sizeof(*dev), &mt7996_ops, &drv_ops);
629 if (!mdev)
632 dev = container_of(mdev, struct mt7996_dev, mt76);
634 ret = mt7996_mmio_init(mdev, mem_base, device_id);
638 tasklet_setup(&mdev->irq_tasklet, mt7996_irq_tasklet);