Received: by 2002:a05:7412:d8a:b0:e2:908c:2ebd with SMTP id b10csp2371267rdg; Mon, 16 Oct 2023 02:11:21 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEFbSnd+L5NbPIv7r9xHmteADvdWb5u0O3szLYg//J1uQ2PD1u20h1ztnIJPCyzKtyqXFtI X-Received: by 2002:a81:84ca:0:b0:5a8:28d6:4d08 with SMTP id u193-20020a8184ca000000b005a828d64d08mr8030501ywf.17.1697447481456; Mon, 16 Oct 2023 02:11:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1697447481; cv=none; d=google.com; s=arc-20160816; b=ZrUsMEdFnsH2Uzwk4BHzG0HvCk51hcJyk0GgGMI3SOnkh7DSTzSS2nRYtlccum26L3 YtT6jgoHa1yl2VMKBPzlN0Cc08RwHbPCmKsfnX1neExEQmYetUanLPOsBMkca5oLc9Nm 1NCJczvv75fSo/khSsrdNvZy2M115JSjm0fqGcUvQ/v5y2SsxIw7BISR2MbfZ0n8vnip n5u1pPymY887kX7oSyOl+E26+xVjxDWJSSvdpzPnye4EH+IgQcIDuiqZnaOupsKwXCS2 CRys7l0m6ojdZGnghXecfenv5Z/KYHOSGEV9kwAUT4bMWCBIJTAYKYbZaQ2IN9JPvygz s+SA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=Yojani6yn2+kJJ61hD9zQcUn8nFUjZtEJH18DxEg50k=; fh=Ku4rpZluzJB+G9vQVPu7qAagHLleNx84zz+BPW6AE7g=; b=md2/ny5eN9dfD5A9nB20sIWMf2J6nMJaSvaIsAKJo/i6J60AujSFs3dgRkoZbh3KsW W/CfMiWRGtDKRPwGivzGMqS/ooKWDa+TAL1H3wbmBA0mdXPMgLeo5ZtV2teaBktmJ2bE ClEMe6jpJ8raD/VE6h1LhpZTqT/xHnSHtcs3d98rVHfiGzH+V7Q/vvvJjbGc+L+cAdkY RVk7avbwGR+9WC7lPJf6aHyfGEWtOfwbbCo9EgSjJ1twb0FO+b5yKq3zvctZFLEqONZR 4DOA5i6ST+SjkgDiG4kLuevwe93JBJWV7/SYWoKNTznMTwaacwV2qE63GHZkmbS8Ddzr oV0g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=pAwkM7ph; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from fry.vger.email (fry.vger.email. [23.128.96.38]) by mx.google.com with ESMTPS id l125-20020a633e83000000b0059b8927ef94si6526811pga.379.2023.10.16.02.11.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Oct 2023 02:11:21 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) client-ip=23.128.96.38; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=pAwkM7ph; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id E9692802C024; Mon, 16 Oct 2023 02:10:32 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232353AbjJPJKS (ORCPT + 52 others); Mon, 16 Oct 2023 05:10:18 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46464 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232370AbjJPJKQ (ORCPT ); Mon, 16 Oct 2023 05:10:16 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 115C6E8 for ; Mon, 16 Oct 2023 02:10:15 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5AFD0C433C8; Mon, 16 Oct 2023 09:10:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1697447414; bh=YdZwi7PiVHPeDTOb8qJp4IGfc6Ab3P3P06xqpebgMOw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=pAwkM7phcVLwa5w4DekhnR/7+SIxvjsHBQ3LUyf8lNDcLfWqUwAbiZ29ZwY1HRP1B kKwB+1sHraVl2+Q2CON2G8j2aWh6HE966sheMi4rncUR+kVMwXB79J3m6GtqTivLNz p8WziFvuzHC4qvAqnMKp7IEzrWFr4kU1UdbyygjuxQXs7sXK2Dqr7nxl5onr2u85s9 Aft9KsOr9XVW0CnJhadHWmJD7w6PUZHwe4T8VZPdlJmhGTxB3oN9nkEQ3fOdg4VkIZ jH+k2pDgqRWDzUTfA+Yrpq8PHOT6yuPjv3jhbacLq8is31K5XAWVRR/XvWdzVR2UHj fIzE4Qpi3fcjw== From: Lorenzo Bianconi To: nbd@nbd.name Cc: lorenzo.bianconi@redhat.com, linux-wireless@vger.kernel.org, ryder.lee@mediatek.com, evelyn.tsai@mediatek.com, shayne.chen@mediatek.com, Bo.Jiao@mediatek.com, sujuan.chen@mediatek.com, linux-mediatek@lists.infradead.org Subject: [PATCH v2 08/12] wifi: mt76: dma: introduce __mt76_dma_queue_reset utility routine Date: Mon, 16 Oct 2023 11:03:41 +0200 Message-ID: <766391291f1b3f58635eb041d2a0139aaf57588b.1697445996.git.lorenzo@kernel.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-1.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on fry.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (fry.vger.email [0.0.0.0]); Mon, 16 Oct 2023 02:10:33 -0700 (PDT) This is a preliminary patch to introduce WED support for mt7996 Signed-off-by: Lorenzo Bianconi --- drivers/net/wireless/mediatek/mt76/dma.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/drivers/net/wireless/mediatek/mt76/dma.c b/drivers/net/wireless/mediatek/mt76/dma.c index 64027572a5e6..7b622e966f58 100644 --- a/drivers/net/wireless/mediatek/mt76/dma.c +++ b/drivers/net/wireless/mediatek/mt76/dma.c @@ -195,7 +195,8 @@ mt76_dma_sync_idx(struct mt76_dev *dev, struct mt76_queue *q) } static void -mt76_dma_queue_reset(struct mt76_dev *dev, struct mt76_queue *q) +__mt76_dma_queue_reset(struct mt76_dev *dev, struct mt76_queue *q, + bool reset_idx) { int i; @@ -206,11 +207,19 @@ mt76_dma_queue_reset(struct mt76_dev *dev, struct mt76_queue *q) for (i = 0; i < q->ndesc; i++) q->desc[i].ctrl = cpu_to_le32(MT_DMA_CTL_DMA_DONE); - Q_WRITE(q, cpu_idx, 0); - Q_WRITE(q, dma_idx, 0); + if (reset_idx) { + Q_WRITE(q, cpu_idx, 0); + Q_WRITE(q, dma_idx, 0); + } mt76_dma_sync_idx(dev, q); } +static void +mt76_dma_queue_reset(struct mt76_dev *dev, struct mt76_queue *q) +{ + __mt76_dma_queue_reset(dev, q, true); +} + static int mt76_dma_add_rx_buf(struct mt76_dev *dev, struct mt76_queue *q, struct mt76_queue_buf *buf, void *data) -- 2.41.0