Received: by 2002:a25:7ec1:0:0:0:0:0 with SMTP id z184csp2447818ybc; Wed, 20 Nov 2019 14:30:17 -0800 (PST) X-Google-Smtp-Source: APXvYqxm7Zxrou2con7zw2o7jalOhB2JHmusZqIA5uFYCRh8IWfUz2t0lfbQz5o3/xN3ri5PcM23 X-Received: by 2002:a17:906:5448:: with SMTP id d8mr8215578ejp.79.1574289016906; Wed, 20 Nov 2019 14:30:16 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1574289016; cv=none; d=google.com; s=arc-20160816; b=dZASSdoU82cjhE1dBZbRjB+vXMTCb4pjGbZb3EegCAR2cPiWTf2R2VPLiGvpKyecTe Isw2RNg4dWyIEvioiIBNYsm2RnM3YiNkwh1LMzvECNZWqtPOfQlMDQnbX2apGpZSRl1O dFEJ+9SraCfzVP4OFzzWNi7OcCYw3w4/91VzMzfXjCnMMy8h+YNFHG5BcnHYIOGZ0ZAa 3zmOEeX6QXU9gQR1cIH1VjeK4/j2onxRizBLpTy4LXwkTfu+ew3Ip2EhZVQY+rA8CijP /aZE9Lsxt0geNXTtdU6oX83fMOGerwDKyqRMkwE72inhpFjG+Z15jZxWHUYnpFDWE3xk PFLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=fZllWpkdj3QYWxWjIi3ZL6EvBi+QVVfBRz/3FsCrwBA=; b=ovo1WUwBZbkqAgV6U/eLm/tZDt6f3RGkHNrJIoVBTAqHQJiz3oD9bFb6dxL3Y5qw9u OvL2qyICKc5qW30wN11OfqYdKPuVI4iwth+KtvXQ0G8qEYz3zUt7Zv3sG8A3Eyv5sZ6Q uORuN6xwO/nTp9MO0UKu17+NQ0Bd9E0RrMGOOVUHALmdSyccHM4vSSuRnUvP4Lh45ZwC 6rtsqjgAwKpt+Dtzw49W1zGvfOzi2xl1P9uPTImXoVOLz/25OBTcFxlSKduK2Pw1glhX pSlrQLOodDsAS9VBhm0X86llcFj0bkbT3ozZ4eIabKZ1THHWQDY2/tRapYZTBVP3eqSM tEfQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-wireless-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b31si600527edb.302.2019.11.20.14.29.36; Wed, 20 Nov 2019 14:30:16 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-wireless-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-wireless-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726620AbfKTW2m (ORCPT + 99 others); Wed, 20 Nov 2019 17:28:42 -0500 Received: from smail.rz.tu-ilmenau.de ([141.24.186.67]:49970 "EHLO smail.rz.tu-ilmenau.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726822AbfKTW2l (ORCPT ); Wed, 20 Nov 2019 17:28:41 -0500 Received: from localhost.localdomain (unknown [141.24.207.101]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smail.rz.tu-ilmenau.de (Postfix) with ESMTPSA id D183A580080; Wed, 20 Nov 2019 23:28:39 +0100 (CET) From: Markus Theil To: nbd@nbd.name Cc: linux-wireless@vger.kernel.org, lorenzo.bianconi@redhat.com, Stanislaw Gruszka , Markus Theil Subject: [PATCH v7 3/5] mt76: mt76x02: remove a copy call for usb speedup Date: Wed, 20 Nov 2019 23:28:24 +0100 Message-Id: <20191120222826.14871-4-markus.theil@tu-ilmenau.de> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191120222826.14871-1-markus.theil@tu-ilmenau.de> References: <20191120222826.14871-1-markus.theil@tu-ilmenau.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org This patch removes a mt76_wr_copy call from the beacon path to hw. The skb which is used in this place gets therefore build with txwi inside its data. For mt76 usb drivers, this saves one synchronuous copy call over usb, which lets the beacon work complete faster. In mmio case, there is not enough headroom to put the txwi into the skb, it is therefore using an additional mt76_wr_copy, which is fast over mmio. Thanks Stanislaw for pointing this out. Signed-off-by: Markus Theil --- drivers/net/wireless/mediatek/mt76/mt76x02_beacon.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/wireless/mediatek/mt76/mt76x02_beacon.c b/drivers/net/wireless/mediatek/mt76/mt76x02_beacon.c index 50e68af63d4f..060f0fc7a563 100644 --- a/drivers/net/wireless/mediatek/mt76/mt76x02_beacon.c +++ b/drivers/net/wireless/mediatek/mt76/mt76x02_beacon.c @@ -26,7 +26,6 @@ static int mt76x02_write_beacon(struct mt76x02_dev *dev, int offset, struct sk_buff *skb) { int beacon_len = dev->beacon_ops->slot_size; - struct mt76x02_txwi txwi; if (WARN_ON_ONCE(beacon_len < skb->len + sizeof(struct mt76x02_txwi))) return -ENOSPC; @@ -44,6 +43,7 @@ mt76x02_write_beacon(struct mt76x02_dev *dev, int offset, struct sk_buff *skb) } else { struct mt76x02_txwi txwi; + mt76x02_mac_write_txwi(dev, &txwi, skb, NULL, NULL, skb->len); mt76_wr_copy(dev, offset, &txwi, sizeof(txwi)); offset += sizeof(txwi); } -- 2.24.0