Received: by 2002:ac0:bc90:0:0:0:0:0 with SMTP id a16csp4332726img; Tue, 26 Mar 2019 07:30:17 -0700 (PDT) X-Google-Smtp-Source: APXvYqwJCU70TV3gYhSItstW8uOzpWvRB01p6SaTkm1PQxTQUmhUqeHv7VOyILE5jVlziUOy4yu9 X-Received: by 2002:a65:5049:: with SMTP id k9mr16310479pgo.229.1553610617104; Tue, 26 Mar 2019 07:30:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553610617; cv=none; d=google.com; s=arc-20160816; b=fiuLXdZriowPOe4U9Ag3MOdp934aeNIMZCyUoDa48XnkaLxN39jYFWggTGllTprGp1 oZWBgNP8j6lmKQg+rMvWphSBZt/cohwEXDR8DPAcGPaRPOSPC31FiSaFMguVp9MkVLn3 3Rz1K82LuP68OdOdJ1pk1TbFQ61yDubtYP+O9+oLsPhEJIpGOIuK40rY1W/HELHRubWJ fbvkUNNeE81fTW2u0qGD4Wu4w21dfcTOJ+R5fHvnLd0uHGLE8NDr7Dq+2GUirVRgxOsL H4atru1eSa+uAQhF4lNB9USJf7dWwd80zYUHWbulpJRxZqBYD/WuRdSyLJcaHybfj+HT 5ETA== 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 :message-id:date:subject:cc:to:from; bh=MJSOIPWA17Bc/YH/DKug/ImPcdy4hKwyz8Fz2yWTy0M=; b=q2uUggrcFs5orpSVWWTHQDfCyNG2wtX2nYMTP35uzFn3Gsx6o9wZCONjufniCzX+3y YWVdBxxoeqik9j3hcNG8jng5NnwO9VsivuYDNZAyHFgmKXEvwqRwe9H+WU7JzDj/yds/ MEd0V1P+Rn1OF2+EvVUWT0SquMFLAzE05bNmSXHKHgIjrooMWnnQNv8Qr+cFhBTlM0Qm +ecGYqJMyho0QxsbB0qlWwjzLY7vNcZTJURtANBLmS4LwNYMLFzoDZZYwJNufQwi0DA3 taiO9Fh8UkK4AJbtjQcUBLcGwfcHuTjjsiLkmieWgJYeO+iaYMDDXiwNihj06zphlrIU 1HWA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-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 a19si15464752pgw.244.2019.03.26.07.30.01; Tue, 26 Mar 2019 07:30:17 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-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-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731786AbfCZO2S (ORCPT + 99 others); Tue, 26 Mar 2019 10:28:18 -0400 Received: from mailgw02.mediatek.com ([210.61.82.184]:62979 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726111AbfCZO2S (ORCPT ); Tue, 26 Mar 2019 10:28:18 -0400 X-UUID: 83f15606239e4179a4e38f24af20ba58-20190326 X-UUID: 83f15606239e4179a4e38f24af20ba58-20190326 Received: from mtkcas07.mediatek.inc [(172.21.101.84)] by mailgw02.mediatek.com (envelope-from ) (mhqrelay.mediatek.com ESMTP with TLS) with ESMTP id 589441082; Tue, 26 Mar 2019 22:28:13 +0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs03n1.mediatek.inc (172.21.101.181) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Tue, 26 Mar 2019 22:28:11 +0800 Received: from mtkslt306.mediatek.inc (10.21.14.136) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Tue, 26 Mar 2019 22:28:11 +0800 From: Ryder Lee To: Lorenzo Bianconi , Felix Fietkau CC: Roy Luo , Sean Wang , Nelson Chang , YF Luo , Kai Lin , Rorscha Yang , Kyle Lee , Miller Shen , Haipin Liang , , , , Ryder Lee Subject: [PATCH 0/4] Add support for MediaTek MT7615 wireless chipsets Date: Tue, 26 Mar 2019 22:28:06 +0800 Message-ID: X-Mailer: git-send-email 1.9.1 MIME-Version: 1.0 Content-Type: text/plain; charset="y" Content-Transfer-Encoding: 8bit X-MTK: N Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This adds support for MediaTek MT7615E 4x4 802.11ac PCIe-based chipsets. In the legacy tx arch, we move and store the whole skb content to the on-device memory when we send packets via high speed interface. (i.e. PCIe) However, MT7615 and the following generation use a new tx arch called “cut-through”, which only passes the physical address to the hardware, and the packet engine will fetch the packets before transmission. It saves on-chip memory for high throughput devices, and the token mechanism is used to manage the release of skb under this arch. Detailed hardware information for this chip could be found on https://wikidevi.com/wiki/MediaTek_MT7615 Ryder Lee (4): mt76: add mac80211 driver for MT7615 PCIe-based chipsets mt76: add unlikely() for dma_mapping_error() check mt76: use macro for sn and seq_ctrl conversion MAINTAINERS : update entry for mt76 wireless driver MAINTAINERS | 2 + drivers/net/wireless/mediatek/mt76/Kconfig | 1 + drivers/net/wireless/mediatek/mt76/Makefile | 1 + drivers/net/wireless/mediatek/mt76/agg-rx.c | 2 +- drivers/net/wireless/mediatek/mt76/dma.c | 8 +- drivers/net/wireless/mediatek/mt76/mt7603/mac.c | 2 +- drivers/net/wireless/mediatek/mt76/mt7603/main.c | 2 +- drivers/net/wireless/mediatek/mt76/mt7615/Kconfig | 7 + drivers/net/wireless/mediatek/mt76/mt7615/Makefile | 5 + drivers/net/wireless/mediatek/mt76/mt7615/dma.c | 204 +++ drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c | 97 ++ drivers/net/wireless/mediatek/mt76/mt7615/eeprom.h | 18 + drivers/net/wireless/mediatek/mt76/mt7615/init.c | 220 +++ drivers/net/wireless/mediatek/mt76/mt7615/mac.c | 760 +++++++++ drivers/net/wireless/mediatek/mt76/mt7615/mac.h | 300 ++++ drivers/net/wireless/mediatek/mt76/mt7615/main.c | 498 ++++++ drivers/net/wireless/mediatek/mt76/mt7615/mcu.c | 1656 ++++++++++++++++++++ drivers/net/wireless/mediatek/mt76/mt7615/mcu.h | 520 ++++++ drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h | 195 +++ drivers/net/wireless/mediatek/mt76/mt7615/pci.c | 149 ++ drivers/net/wireless/mediatek/mt76/mt7615/regs.h | 196 +++ drivers/net/wireless/mediatek/mt76/mt76x02_util.c | 2 +- 22 files changed, 4837 insertions(+), 8 deletions(-) create mode 100644 drivers/net/wireless/mediatek/mt76/mt7615/Kconfig create mode 100644 drivers/net/wireless/mediatek/mt76/mt7615/Makefile create mode 100644 drivers/net/wireless/mediatek/mt76/mt7615/dma.c create mode 100644 drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c create mode 100644 drivers/net/wireless/mediatek/mt76/mt7615/eeprom.h create mode 100644 drivers/net/wireless/mediatek/mt76/mt7615/init.c create mode 100644 drivers/net/wireless/mediatek/mt76/mt7615/mac.c create mode 100644 drivers/net/wireless/mediatek/mt76/mt7615/mac.h create mode 100644 drivers/net/wireless/mediatek/mt76/mt7615/main.c create mode 100644 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c create mode 100644 drivers/net/wireless/mediatek/mt76/mt7615/mcu.h create mode 100644 drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h create mode 100644 drivers/net/wireless/mediatek/mt76/mt7615/pci.c create mode 100644 drivers/net/wireless/mediatek/mt76/mt7615/regs.h -- 1.9.1