Received: by 2002:a25:7ec1:0:0:0:0:0 with SMTP id z184csp474951ybc; Tue, 19 Nov 2019 04:27:49 -0800 (PST) X-Google-Smtp-Source: APXvYqyykcGrr0FHZQtWaS3xgwSvISonk6r2AqTmhJQ6nKBCZUuhMil4JmcpWl4MR69TX0L7RNTW X-Received: by 2002:a1c:f404:: with SMTP id z4mr5377460wma.12.1574166469628; Tue, 19 Nov 2019 04:27:49 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1574166469; cv=none; d=google.com; s=arc-20160816; b=SD0stgAM9oyRJXwzqa5ZkzB4SRCpIrtClYn21X4YJBu8zMeharFxgpmPbsJEg9VpZb Z2QL2x9ZJ9m0yxBlOtkFf2BXOwrcpsEKACD93UN2XUQmnDtC0ocMCx6nuIxstEMFzQAX lpEWZlVPkSdyINFlArgUDSBXMj9sYWvmye2351QEugeSNEdBJuqrj5DTR8NbktPF+GFw E+xv9EraqbBDt949lz4eUPBCCutq+wUSqvhzWmMg5gXfoy1y6yOZ1pKAe9z7bsN60WAo I23JXVIwBDfBZCmJcV3lBv/rQfcf7Nrtwzld+OCPOyLJ/Bn1B5Hz8SkXgn2QcVB08Vg6 oZDA== 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=8X5S2O2ph98UO4l/SJXww/MrZyVH/8lX8DO0r2BiNcU=; b=hdz0Q1GdTq/ckojW8C1E0aeQoEr2vixgojs1gREZ0vwNPiQ8cyN2apmSKRRSXK+hm/ 8ZxgedBa63jwBzt0N4dwzaZQ5qxYSeW0nyKFKl12WwMynDsvQGp92tY4Tpfrs5Vm7o+N rmONFTnK55HFaaB39FwR2eZOYvWxWgSekkcg73/ocKFRGpIez95Xtf8yjZ95YGpI8m+a xOTJV+/6salklokf/FDe8jXAZmvGxN+0L0S3s9aR67jHxqEpvoKIqA3/A8bds4LB3GZs fo3wlkxpVRJfahOWcrwIXDfZBnBwh9owUHvRzmH6MhwCxrMGUgGXat0A5Z6Vw9C8RrzT wn9w== 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 m33si15177635edc.126.2019.11.19.04.27.23; Tue, 19 Nov 2019 04:27:49 -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 S1728117AbfKSMYe (ORCPT + 99 others); Tue, 19 Nov 2019 07:24:34 -0500 Received: from smail.rz.tu-ilmenau.de ([141.24.186.67]:42599 "EHLO smail.rz.tu-ilmenau.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728028AbfKSMYU (ORCPT ); Tue, 19 Nov 2019 07:24:20 -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 D702158007F; Tue, 19 Nov 2019 13:24:18 +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 v5 3/5] mt76: mt76x02: remove a copy call for usb speedup Date: Tue, 19 Nov 2019 13:24:08 +0100 Message-Id: <20191119122410.12588-4-markus.theil@tu-ilmenau.de> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191119122410.12588-1-markus.theil@tu-ilmenau.de> References: <20191119122410.12588-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. Signed-off-by: Markus Theil --- drivers/net/wireless/mediatek/mt76/mt76x02_beacon.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/net/wireless/mediatek/mt76/mt76x02_beacon.c b/drivers/net/wireless/mediatek/mt76/mt76x02_beacon.c index 09013adae854..a9df8f2d41b8 100644 --- a/drivers/net/wireless/mediatek/mt76/mt76x02_beacon.c +++ b/drivers/net/wireless/mediatek/mt76/mt76x02_beacon.c @@ -26,15 +26,15 @@ 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; + struct mt76x02_txwi *txwi; if (WARN_ON_ONCE(beacon_len < skb->len + sizeof(struct mt76x02_txwi))) return -ENOSPC; - mt76x02_mac_write_txwi(dev, &txwi, skb, NULL, NULL, skb->len); - - mt76_wr_copy(dev, offset, &txwi, sizeof(txwi)); - offset += sizeof(txwi); + mt76_insert_hdr_pad(skb); + txwi = (struct mt76x02_txwi *)(skb->data - sizeof(*txwi)); + mt76x02_mac_write_txwi(dev, txwi, skb, NULL, NULL, skb->len); + skb_push(skb, sizeof(*txwi)); mt76_wr_copy(dev, offset, skb->data, skb->len); return 0; -- 2.24.0