From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-oo1-f42.google.com (mail-oo1-f42.google.com [209.85.161.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0A6A0226CF6 for ; Thu, 19 Feb 2026 00:40:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.161.42 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771461618; cv=none; b=iGCa6oDjk2HSdzFzFoAfzYqr9NnXvNZSjKEiVBSSdVamHac7LyP2gx0Y1NnD+XUzZ7hBRZO1FnO9pVmHzIZSro6omPAVcwLx8+d2Lb+rjBrhi/vjvJbCvo7Jug/zgE5Fsp0MoZjIF7CRYXvgI6qqoV693M7kTw6gy2PCFq6Zgps= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771461618; c=relaxed/simple; bh=dbHHK/HZP1ouMnI7CF2mv1xXHhr+HL2Rr0NG2Mkmggw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=DJGT9iWyNKMJzadEVcXnrZ3P7/JUc+jMjJW4lZsncp/ZMG5tLrl4V6eUubtIj9sO7wgF2SQ+9A0QqzrEfREO9T6h8WuBfCYq/myS4ltj6eRr7i3E1UdBm7F83QzfPpaQ4UTdgOlPmh0sMwFllDhNutjY64n9alCwbIg6VQ8rbHw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=kernel.org; spf=pass smtp.mailfrom=gmail.com; arc=none smtp.client-ip=209.85.161.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=kernel.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-oo1-f42.google.com with SMTP id 006d021491bc7-66ee7b9af94so181553eaf.0 for ; Wed, 18 Feb 2026 16:40:16 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771461616; x=1772066416; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=4MdudKsxJgB33L76Fge1pTGodtda68bmO9AGfbuk2GE=; b=R32KPunnb8q0R+BraO174NHscXBYnvVL/a1T+U7ncxQ6JKObzEzOXXScETUwNyrCUh PHeft54OwWZBYnwSmGRUMZeCEQxCvF9rtj+AHQtlT7FBhG2wGzUi011UChF1SXr/dX8S q7VZSTX4PN3E2Gmt3BcOkZcIDT8WFoXOUBcc2cSnvFBZckSfiWDeYaRzLdbRwA0lOUDE dhsofR5hf2bUL6CDrMX+dajkaveJv3V6/f4/Go69of9hFPUzdWMScGdVqKt/yBNxBAlz O9ITcDUZv+yyM18H2HwxdHwK5MgvLLx88eos5SZ0STfHfwCMKxJtRSHal8fN7j2LZhK1 2o2w== X-Gm-Message-State: AOJu0YydnPnwpGv0PHaaAhjX2PdnI4KZcoOGlx3aXljpLbUad5PB9qMZ SSxnPQHvwEjNcwedTCCUaojFZ0qDktDcmFz7mCV+UCuQB3jbbVfQvFPdHJbMWg== X-Gm-Gg: AZuq6aIR/ExA5MKICAMLVn//4uxjJMsqRt8iaC0di6vyzU/m1DGJm22JY5gR4uVYAwf LWKYdhA9ly6HX+//cH9+Euf4nLhdFF3+zwOqQA8kZbZ9hZNdfrZWP98ixQLXu8vWnoZCQjsu2fF Kj+05i/ebXWwn3DbOQ+ZipDmKcLrS1i+SU40wlvx03o7CDs3CJYs+zqCvdHCCFUfjyeDf/GcTrw FJnke2seZkCtr7gP8m8q4eQuXR+ZhpySdQL/5QC6oGQdZewMoDY0KzSYAzXs4yst2edlZ4rU6Ch EFhQNOYSeStEdpGmsxdsT0Ws3ncwHxNKPoNKNzPYnFLPYcxODNOE+D7RD7bgDVd3zSgPyd9JFLD ELcQIBwfwsOknpzK2ryl36sTcxxuqrIS/+cAw1Y+Q7VtFR2yfZdPT1lZu5hspWpniaAMWiYvR2L 7ENMwQIzDKE4U3QSIY4Qty3CORdtFEKS/Mtd/dcMW2Uz6MlJQ= X-Received: by 2002:a05:6820:883:b0:679:8a1f:99f1 with SMTP id 006d021491bc7-6798a1f9b05mr5268000eaf.82.1771461615994; Wed, 18 Feb 2026 16:40:15 -0800 (PST) Received: from sean-HP-EliteBook-830-G6.lan ([207.191.35.252]) by smtp.gmail.com with ESMTPSA id 586e51a60fabf-40eaee45d12sm23477659fac.1.2026.02.18.16.40.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 Feb 2026 16:40:14 -0800 (PST) From: sean.wang@kernel.org To: nbd@nbd.name, lorenzo.bianconi@redhat.com Cc: linux-wireless@vger.kernel.org, linux-mediatek@lists.infradead.org, Sean Wang , Xiong Huang Subject: [PATCH 03/11] wifi: mt76: mt7921: handle MT7902 irq_map quirk with mutable copy Date: Wed, 18 Feb 2026 18:39:59 -0600 Message-ID: <20260219004007.19733-3-sean.wang@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260219004007.19733-1-sean.wang@kernel.org> References: <20260219004007.19733-1-sean.wang@kernel.org> Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Sean Wang MT7902 PCIe requires a different wm2_complete_mask value, so introduce a mutable per-device copy of the default irq_map and override the field only for this chip. Other devices continue using the shared const template. This is a prerequisite patch before enabling MT7902 PCIe support. Co-developed-by: Xiong Huang Signed-off-by: Xiong Huang Signed-off-by: Sean Wang --- drivers/net/wireless/mediatek/mt76/mt7921/pci.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/pci.c b/drivers/net/wireless/mediatek/mt76/mt7921/pci.c index 65c7fe671137..5f857a21f362 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7921/pci.c +++ b/drivers/net/wireless/mediatek/mt76/mt7921/pci.c @@ -327,6 +327,20 @@ static int mt7921_pci_probe(struct pci_dev *pdev, dev->hif_ops = &mt7921_pcie_ops; dev->irq_map = &irq_map; mt76_mmio_init(&dev->mt76, regs); + + if (id->device == 0x7902) { + struct mt792x_irq_map *map; + + /* MT7902 needs a mutable copy because wm2_complete_mask differs */ + map = devm_kmemdup(&pdev->dev, &irq_map, + sizeof(irq_map), GFP_KERNEL); + if (!map) + return -ENOMEM; + + map->rx.wm2_complete_mask = 0; + dev->irq_map = map; + } + tasklet_init(&mdev->irq_tasklet, mt792x_irq_tasklet, (unsigned long)dev); dev->phy.dev = dev; -- 2.43.0