From patchwork Wed Apr 4 10:52:24 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Evgeniy Didin X-Patchwork-Id: 894923 X-Patchwork-Delegate: hauke@hauke-m.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:e::133; helo=bombadil.infradead.org; envelope-from=lede-dev-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=synopsys.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="iTESsPJY"; dkim-atps=neutral Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 40GN955tygz9s0n for ; Wed, 4 Apr 2018 20:53:13 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Subject:Message-Id: Date:To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=2/HyzRF6OSip7AO65itIPShr4OFLpaDmyGKENOdqPtY=; b=iTESsPJY4F1ouH uPMXQnCXtBPgZKkt7+xZduZse7Ox78sgfX/2HTphqgadhbjYEKt4mmcqN3iiwoujURny3J4XKlbf+ /Rwh3qc6p5ta6lrFbeKrZ+5Rb1w68Q+Ji58EUQuLgCY8e9T4HhT1VP4NemjpFCVF/OC/t5Ffoa/Zj wUmWW+VTfasVPR261wSLiXYw8+VhKhRXSeOuFpr7VB5dkRDg2ATA6VF6BTTv0zb9xI58Lizymsq3V I39DD1mQ2Tai6LsfA2/zJyelD9bF8TPgiYf30mDT82zOyy6VQl6x3uRD25rJtsYvlltYE/Es9VDXY TGZ4F1ZOXe2Eqs0oluFw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1f3g2B-0003o7-OT; Wed, 04 Apr 2018 10:52:55 +0000 Received: from smtprelay.synopsys.com ([198.182.47.9]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1f3g27-0003mM-TI for lede-dev@lists.infradead.org; Wed, 04 Apr 2018 10:52:53 +0000 Received: from mailhost.synopsys.com (mailhost2.synopsys.com [10.13.184.66]) by smtprelay.synopsys.com (Postfix) with ESMTP id 4CC2024E14FF; Wed, 4 Apr 2018 03:52:39 -0700 (PDT) Received: from mailhost.synopsys.com (localhost [127.0.0.1]) by mailhost.synopsys.com (Postfix) with ESMTP id D52523AE5; Wed, 4 Apr 2018 03:52:39 -0700 (PDT) Received: from ru20arcgnu1.internal.synopsys.com (ru20arcgnu1.internal.synopsys.com [10.121.9.48]) by mailhost.synopsys.com (Postfix) with ESMTP id 3BF143AC9; Wed, 4 Apr 2018 03:52:38 -0700 (PDT) From: Evgeniy Didin To: lede-dev@lists.infradead.org Date: Wed, 4 Apr 2018 13:52:24 +0300 Message-Id: <20180404105224.12219-1-Evgeniy.Didin@synopsys.com> X-Mailer: git-send-email 2.16.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20180404_035251_957518_EDE86FE1 X-CRM114-Status: GOOD ( 28.37 ) X-Spam-Score: -0.0 (/) X-Spam-Report: SpamAssassin version 3.4.1 on bombadil.infradead.org summary: Content analysis details: (-0.0 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [198.182.47.9 listed in list.dnswl.org] -0.0 T_RP_MATCHES_RCVD Envelope sender domain matches handover relay domain Subject: [LEDE-DEV] [PATCH] add RedPine RS9113 module support X-BeenThere: lede-dev@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Evgeniy Didin , Hauke Mehrtens , Alexey Brodkin , John Crispin MIME-Version: 1.0 Sender: "Lede-dev" Errors-To: lede-dev-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org RedPine RS9113 wireless module requires rsi91x driver to be built and linux-firmware/rsi/rs9113_wlan_qspi.rps to be installed. Also we add patch for successful compilation of rsi91x driver. Signed-off-by: Evgeniy Didin Cc: Alexey Brodkin Cc: Hauke Mehrtens Cc: John Crispin --- package/firmware/linux-firmware/rsi.mk | 6 ++ package/kernel/mac80211/Makefile | 32 +++++++ ...kbuild-reported-build-errors-with-CONFIG_PM-off | 105 +++++++++++++++++++++ 3 files changed, 143 insertions(+) create mode 100644 package/firmware/linux-firmware/rsi.mk create mode 100644 package/kernel/mac80211/patches/970-rsi-fix-kbuild-reported-build-errors-with-CONFIG_PM-off diff --git a/package/firmware/linux-firmware/rsi.mk b/package/firmware/linux-firmware/rsi.mk new file mode 100644 index 0000000000..6d960a24f2 --- /dev/null +++ b/package/firmware/linux-firmware/rsi.mk @@ -0,0 +1,6 @@ +Package/rs9113-firmware = $(call Package/firmware-default,RedPine Signals rs9113 firmware) +define Package/rs9113-firmware/install + $(INSTALL_DIR) $(1)/lib/firmware/rsi + $(INSTALL_DATA) $(PKG_BUILD_DIR)/rsi/rs9113_wlan_qspi.rps $(1)/lib/firmware/rsi +endef +$(eval $(call BuildPackage,rs9113-firmware)) diff --git a/package/kernel/mac80211/Makefile b/package/kernel/mac80211/Makefile index 22ed841394..73345ef576 100644 --- a/package/kernel/mac80211/Makefile +++ b/package/kernel/mac80211/Makefile @@ -36,6 +36,7 @@ PKG_DRIVERS = \ mt7601u \ mwl8k mwifiex-pcie mwifiex-sdio \ p54-common p54-pci p54-spi p54-usb \ + rsi91x rsi91x-usb rsi91x-sdio\ rt2x00-lib rt2x00-pci rt2x00-usb \ rt2400-pci rt2500-pci rt2500-usb \ rt2800-lib rt2800-mmio rt2800-pci rt2800-soc rt2800-usb \ @@ -1169,6 +1170,31 @@ define KernelPackage/p54-spi AUTOLOAD:=$(call AutoProbe,p54spi) endef +define KernelPackage/rsi91x + $(call KernelPackage/mac80211/Default) + TITLE:=Redpine Signals Inc 91x WLAN driver support + DEPENDS+= +kmod-mac80211 +rs9113-firmware + FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rsi/rsi_91x.ko +endef + +define KernelPackage/rsi91x-usb + $(call KernelPackage/mac80211/Default) + TITLE:=Redpine Signals USB bus support + DEPENDS+= +kmod-mac80211 +kmod-usb2 +kmod-rsi91x +rs9113-firmware + FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rsi/rsi_usb.ko + AUTOLOAD:=$(call AutoProbe,rsi_usb) +endef + +define KernelPackage/rsi91x-sdio + $(call KernelPackage/mac80211/Default) + TITLE:=Redpine Signals SDIO bus support + DEPENDS+= +kmod-mac80211 +kmod-mmc +kmod-rsi91x +rs9113-firmware + FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rsi/rsi_sdio.ko + AUTOLOAD:=$(call AutoProbe,rsi_sdio) +endef + + + define KernelPackage/rt2x00/Default $(call KernelPackage/mac80211/Default) TITLE:=Ralink Drivers for RT2x00 cards @@ -1691,6 +1717,9 @@ config-$(call config_package,wl12xx) += WL12XX config-$(call config_package,wl18xx) += WL18XX config-y += WL_TI WILINK_PLATFORM_DATA config-$(call config_package,zd1211rw) += ZD1211RW +config-$(call config_package,rsi91x) += RSI_91X +config-$(call config_package,rsi91x-usb) += RSI_USB +config-$(call config_package,rsi91x-sdio) += RSI_SDIO config-$(call config_package,rtlwifi) += RTL_CARDS RTLWIFI config-$(call config_package,rtlwifi-pci) += RTLWIFI_PCI @@ -1883,6 +1912,9 @@ $(eval $(call KernelPackage,p54-common)) $(eval $(call KernelPackage,p54-pci)) $(eval $(call KernelPackage,p54-usb)) $(eval $(call KernelPackage,p54-spi)) +$(eval $(call KernelPackage,rsi91x)) +$(eval $(call KernelPackage,rsi91x-usb)) +$(eval $(call KernelPackage,rsi91x-sdio)) $(eval $(call KernelPackage,rt2x00-lib)) $(eval $(call KernelPackage,rt2x00-mmio)) $(eval $(call KernelPackage,rt2x00-pci)) diff --git a/package/kernel/mac80211/patches/970-rsi-fix-kbuild-reported-build-errors-with-CONFIG_PM-off b/package/kernel/mac80211/patches/970-rsi-fix-kbuild-reported-build-errors-with-CONFIG_PM-off new file mode 100644 index 0000000000..bf0216e955 --- /dev/null +++ b/package/kernel/mac80211/patches/970-rsi-fix-kbuild-reported-build-errors-with-CONFIG_PM-off @@ -0,0 +1,105 @@ +From e6b3b2ed3d270b3c7080c9cf7d28636dc74b0387 Mon Sep 17 00:00:00 2001 +From: Amitkumar Karwar +Date: Wed, 1 Nov 2017 17:42:45 +0530 +Subject: rsi: fix kbuild reported build errors with CONFIG_PM off + +Some wowlan related code was outside CONFIG_PM flag which caused these +build errors. They are fixed by moving that code under CONFIG_PM flag. + +Reported-by: kbuild test robot +Fixes: ef71ed0608c ("rsi: sdio: Add WOWLAN support for S5 shutdown state") +Fixes: a24e35fcee0 ("rsi: sdio: Add WOWLAN support for S4 hibernate state") +Fixes: e1ced6422a3 ("rsi: sdio: add WOWLAN support for S3 suspend state") +Signed-off-by: Amitkumar Karwar +Signed-off-by: Kalle Valo +--- + drivers/net/wireless/rsi/rsi_91x_mac80211.c | 5 ++++- + drivers/net/wireless/rsi/rsi_91x_mgmt.c | 2 ++ + drivers/net/wireless/rsi/rsi_common.h | 2 ++ + drivers/net/wireless/rsi/rsi_mgmt.h | 2 ++ + 4 files changed, 10 insertions(+), 1 deletion(-) + +diff --git a/drivers/net/wireless/rsi/rsi_91x_mac80211.c b/drivers/net/wireless/rsi/rsi_91x_mac80211.c +index 36c63e9..32f5cb4 100644 +--- a/drivers/net/wireless/rsi/rsi_91x_mac80211.c ++++ b/drivers/net/wireless/rsi/rsi_91x_mac80211.c +@@ -1752,6 +1752,7 @@ static int rsi_mac80211_cancel_roc(struct ieee80211_hw *hw) + return 0; + } + ++#ifdef CONFIG_PM + static const struct wiphy_wowlan_support rsi_wowlan_support = { + .flags = WIPHY_WOWLAN_ANY | + WIPHY_WOWLAN_MAGIC_PKT | +@@ -1824,7 +1825,6 @@ int rsi_config_wowlan(struct rsi_hw *adapter, struct cfg80211_wowlan *wowlan) + } + EXPORT_SYMBOL(rsi_config_wowlan); + +-#ifdef CONFIG_PM + static int rsi_mac80211_suspend(struct ieee80211_hw *hw, + struct cfg80211_wowlan *wowlan) + { +@@ -1977,7 +1977,10 @@ int rsi_mac80211_attach(struct rsi_common *common) + wiphy->features |= NL80211_FEATURE_INACTIVITY_TIMER; + wiphy->reg_notifier = rsi_reg_notify; + ++#ifdef CONFIG_PM + wiphy->wowlan = &rsi_wowlan_support; ++#endif ++ + wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_CQM_RSSI_LIST); + + /* Wi-Fi direct parameters */ +diff --git a/drivers/net/wireless/rsi/rsi_91x_mgmt.c b/drivers/net/wireless/rsi/rsi_91x_mgmt.c +index d38a09f..46c9d54 100644 +--- a/drivers/net/wireless/rsi/rsi_91x_mgmt.c ++++ b/drivers/net/wireless/rsi/rsi_91x_mgmt.c +@@ -1597,6 +1597,7 @@ static int rsi_send_beacon(struct rsi_common *common) + return 0; + } + ++#ifdef CONFIG_PM + int rsi_send_wowlan_request(struct rsi_common *common, u16 flags, + u16 sleep_status) + { +@@ -1630,6 +1631,7 @@ int rsi_send_wowlan_request(struct rsi_common *common, u16 flags, + + return rsi_send_internal_mgmt_frame(common, skb); + } ++#endif + + /** + * rsi_handle_ta_confirm_type() - This function handles the confirm frames. +diff --git a/drivers/net/wireless/rsi/rsi_common.h b/drivers/net/wireless/rsi/rsi_common.h +index 70b8b4b..d07dbba 100644 +--- a/drivers/net/wireless/rsi/rsi_common.h ++++ b/drivers/net/wireless/rsi/rsi_common.h +@@ -83,7 +83,9 @@ u16 rsi_get_connected_channel(struct ieee80211_vif *vif); + struct rsi_hw *rsi_91x_init(void); + void rsi_91x_deinit(struct rsi_hw *adapter); + int rsi_read_pkt(struct rsi_common *common, s32 rcv_pkt_len); ++#ifdef CONFIG_PM + int rsi_config_wowlan(struct rsi_hw *adapter, struct cfg80211_wowlan *wowlan); ++#endif + struct rsi_sta *rsi_find_sta(struct rsi_common *common, u8 *mac_addr); + struct ieee80211_vif *rsi_get_vif(struct rsi_hw *adapter, u8 *mac); + void rsi_roc_timeout(struct timer_list *t); +diff --git a/drivers/net/wireless/rsi/rsi_mgmt.h b/drivers/net/wireless/rsi/rsi_mgmt.h +index 76337ce..389094a 100644 +--- a/drivers/net/wireless/rsi/rsi_mgmt.h ++++ b/drivers/net/wireless/rsi/rsi_mgmt.h +@@ -668,8 +668,10 @@ int rsi_band_check(struct rsi_common *common, struct ieee80211_channel *chan); + int rsi_send_rx_filter_frame(struct rsi_common *common, u16 rx_filter_word); + int rsi_send_radio_params_update(struct rsi_common *common); + int rsi_set_antenna(struct rsi_common *common, u8 antenna); ++#ifdef CONFIG_PM + int rsi_send_wowlan_request(struct rsi_common *common, u16 flags, + u16 sleep_status); ++#endif + int rsi_send_ps_request(struct rsi_hw *adapter, bool enable, + struct ieee80211_vif *vif); + #endif +-- +cgit v1.1 + +