From patchwork Wed Jan 15 13:54:01 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?SsOpcsO0bWUgUG91aWxsZXI=?= X-Patchwork-Id: 216640 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI, SPF_HELO_NONE, SPF_PASS, USER_AGENT_GIT autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3F9B8C3F68F for ; Wed, 15 Jan 2020 13:56:11 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 0118824656 for ; Wed, 15 Jan 2020 13:56:10 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=silabs.onmicrosoft.com header.i=@silabs.onmicrosoft.com header.b="nVyfdPHz" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730225AbgAON4F (ORCPT ); Wed, 15 Jan 2020 08:56:05 -0500 Received: from mail-dm6nam12on2080.outbound.protection.outlook.com ([40.107.243.80]:6173 "EHLO NAM12-DM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726085AbgAONzp (ORCPT ); Wed, 15 Jan 2020 08:55:45 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dPVA14Y/bgHxG5b0WkqHrvBmxpOfwG6Jz46fyadn2AF3UE3irT7tOtkorpBxZNJglak+JR/nk+0xyrInd4BguMX5Ms52HfMOwPlQHJ6oWKq/f2hoReBVr6jFiSft93CN4hDELCW4FkJNjdIJ7dEobgE2laQzQazY8ZTvZ0dMS+v/bCaS9Nkqkc3hSki25Lo13FRUnIxDcuiIRlyFRBIlvepwd2kStCWs6eQqEBYQYExgtr5V1iGG+YfmB7lvKdmWjfWK2QteBDPceFMWBujqPadykVMZ+3QPht7lHw6ev5DSOoMvUuFqNnmgxFG898MM7PQkDcIuPdsaWCkhNVJrtQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PygPHqprha7K8FjZZ0l+m6hCgp5shKtLrsMhbt1BQuc=; b=Z0wFNkSR+ho5FYVDBq9j4nirhWOnfjqYO50xwt0hfO6KFHCjulV43o+uN56Jwi5fgynfx5wNsh76YSauXrWZO/Ax7Gox5dUg5+7WMa1POdBEXoaZdhfCWGdCFCpoYzEMNS83ZGbg4Ne5TLl2J2sFEEwqIJU9PJ9V6p5baQmuDW4d1XTc0nOyHiycjcmnWxvEhABBY2nwPSxVg1GuqA3sd2fWIHvG9ud2k6ZKr5Z1onsEjn7ZWN7korQeTCfC/uOhxXYlSly5Zol8+vEroVqigNfXgKVEFTdiN2mKbES5Qs+Pe2xcBh43aXCp5TugxmuoSo5cq+OK87ovfWzazmNLEA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=silabs.com; dmarc=pass action=none header.from=silabs.com; dkim=pass header.d=silabs.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=silabs.onmicrosoft.com; s=selector2-silabs-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PygPHqprha7K8FjZZ0l+m6hCgp5shKtLrsMhbt1BQuc=; b=nVyfdPHzFxXkyhXmXuCWBsGGZ+B/3X4pZCTEC6O8u+CKsYPKQJcQSYlKMG9/FbbycRGt7nrwTD+pJLW44oOEgesPagStbAn3X/93wgr/6EHyDIfCM3tl/1FNQLPgjugAXIA1h2/twZ6jhkxVqnS4WAqi39l4DqA4nGkHqc/mjPA= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (10.255.180.22) by MN2PR11MB4094.namprd11.prod.outlook.com (10.255.180.202) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2644.19; Wed, 15 Jan 2020 13:54:02 +0000 Received: from MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::f46c:e5b4:2a85:f0bf]) by MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::f46c:e5b4:2a85:f0bf%4]) with mapi id 15.20.2623.018; Wed, 15 Jan 2020 13:54:02 +0000 Received: from pc-42.home (2a01:e35:8bf5:66a0:3dbe:4cb5:6059:a948) by PR2P264CA0008.FRAP264.PROD.OUTLOOK.COM (2603:10a6:101::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2644.18 via Frontend Transport; Wed, 15 Jan 2020 13:54:00 +0000 From: =?utf-8?b?SsOpcsO0bWUgUG91aWxsZXI=?= To: "devel@driverdev.osuosl.org" , "linux-wireless@vger.kernel.org" CC: "netdev@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Greg Kroah-Hartman , Kalle Valo , "David S . Miller" , =?utf-8?b?SsOpcsO0bWUgUG91?= =?utf-8?q?iller?= Subject: [PATCH v2 00/65] Simplify and improve the wfx driver Thread-Topic: [PATCH v2 00/65] Simplify and improve the wfx driver Thread-Index: AQHVy6s+cndN0n1vZ0q4WKXK99cqqw== Date: Wed, 15 Jan 2020 13:54:01 +0000 Message-ID: <20200115135338.14374-1-Jerome.Pouiller@silabs.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: PR2P264CA0008.FRAP264.PROD.OUTLOOK.COM (2603:10a6:101::20) To MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Jerome.Pouiller@silabs.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.25.0 x-originating-ip: [2a01:e35:8bf5:66a0:3dbe:4cb5:6059:a948] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 1974a7b7-89b5-4a8e-dfb0-08d799c2605e x-ms-traffictypediagnostic: MN2PR11MB4094: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-forefront-prvs: 02830F0362 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(39850400004)(366004)(396003)(346002)(136003)(376002)(189003)(199004)(316002)(110136005)(54906003)(85202003)(81156014)(5660300002)(8676002)(71200400001)(8936002)(81166006)(186003)(6506007)(86362001)(66946007)(66446008)(66476007)(66556008)(2906002)(64756008)(478600001)(6512007)(52116002)(66574012)(6486002)(1076003)(16526019)(4326008)(85182001)(107886003)(36756003)(8886007)(2616005); DIR:OUT; SFP:1101; SCL:1; SRVR:MN2PR11MB4094; H:MN2PR11MB4063.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: silabs.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: OYm9JRUUB3iws0XCtRR/82EVy9pMvq5wusyV2pWmIGWosXjQhfwuHGrAiZ/k7iRs6RW3JatM+fNEVpEjuezAiAXvYrnZ61ZuBIrcTUNsVYEvWuo3C2rpHI36IFvwXsWnEN26Vnt0a32gvezXlHA2ctQBDXqJsr15/tYodg1TIj1wV31Nmrvld39q7Jiic819mkyUgz57o4ftpLhQ6VFGrAMEnsG/I6834W8lQAuwt0QP3E+mNaeDJ8o9zvZOkpv5iFxOTvATJRF34L6eKbSY7/40biJx1K9ar40i9fjTTJHCEbE7pRrmgK/N1MejF3ibuz8mbqIMH25my5CEb2mNopCUb6J9dBss0mrZtgCaeb82JqdLqKeZGuAzM6v9Uh8t0xv1OzUYw2r7G3UafNFXGGW1G7fo8qRNxaZFdmmIupFxiMgxAeyiyU81mmSrZyA0 Content-ID: MIME-Version: 1.0 X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1974a7b7-89b5-4a8e-dfb0-08d799c2605e X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Jan 2020 13:54:01.8588 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 54dbd822-5231-4b20-944d-6f4abcd541fb X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 9EdSQei5x1qUlZyvoPQjPT7R74uFPN2LjpNaxD0rvIWJpM6LnPgIaAllIbEfTNJV9xD3rAfbOPmZz3dGdaG+2g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4094 Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org From: Jérôme Pouiller Hello all, This pull request is finally bigger than I expected, sorry. It contains 2 main topics: - Simplify handling of stations in power save mode. Most of the work was redundant with mac80211. I have saved plenty of lines of code by using the mac80211 API better. - Continue to clearly separate hardware interface from the rest of the driver. The biggest part of this clean-up is done. It is now possible to look at the warning raised by sparse and fix support for big endian hosts. v2: - Now it compiles (a last minute rebase did break the build). Jérôme Pouiller (65): staging: wfx: revert unexpected change in debugfs output staging: wfx: make hif_scan() usage clearer staging: wfx: add missing PROBE_RESP_OFFLOAD feature staging: wfx: send rate policies one by one staging: wfx: simplify hif_set_tx_rate_retry_policy() usage staging: wfx: simplify hif_set_output_power() usage staging: wfx: simplify hif_set_rcpi_rssi_threshold() usage staging: wfx: simplify hif_set_arp_ipv4_filter() usage staging: wfx: simplify hif_start() usage staging: wfx: use specialized structs for HIF arguments staging: wfx: retrieve ampdu_density from sta->ht_cap staging: wfx: retrieve greenfield mode from sta->ht_cap and bss_conf staging: wfx: drop struct wfx_ht_info staging: wfx: drop wdev->output_power staging: wfx: simplify wfx_config() staging: wfx: rename wfx_upload_beacon() staging: wfx: simplify wfx_upload_ap_templates() staging: wfx: simplify wfx_update_beaconing() staging: wfx: fix __wfx_flush() when drop == false staging: wfx: simplify wfx_flush() staging: wfx: simplify update of DTIM period staging: wfx: drop wvif->dtim_period staging: wfx: drop wvif->enable_beacon staging: wfx: drop wvif->cqm_rssi_thold staging: wfx: drop wvif->setbssparams_done staging: wfx: drop wfx_set_cts_work() staging: wfx: SSID should be provided to hif_start() even if hidden staging: wfx: simplify hif_update_ie() staging: wfx: simplify hif_join() staging: wfx: simplify hif_set_association_mode() staging: wfx: simplify hif_set_uc_mc_bc_condition() staging: wfx: simplify hif_mib_uc_mc_bc_data_frame_condition staging: wfx: simplify hif_mib_set_data_filtering staging: wfx: simplify hif_set_data_filtering() staging: wfx: simplify hif_set_mac_addr_condition() staging: wfx: simplify hif_set_config_data_filter() staging: wfx: simplify wfx_set_mcast_filter() staging: wfx: simplify wfx_update_filtering() staging: wfx: simplify wfx_scan_complete() staging: wfx: update power-save per interface staging: wfx: with multiple vifs, force PS only if channels differs staging: wfx: do not update uapsd if not necessary staging: wfx: fix case where RTS threshold is 0 staging: wfx: fix possible overflow on jiffies comparaison staging: wfx: remove handling of "early_data" staging: wfx: relocate "buffered" information to sta_priv staging: wfx: fix bss_loss staging: wfx: fix RCU usage staging: wfx: simplify wfx_set_tim_impl() staging: wfx: simplify the link-id allocation staging: wfx: check that no tx is pending before release sta staging: wfx: replace wfx_tx_get_tid() with ieee80211_get_tid() staging: wfx: pspoll_mask make no sense staging: wfx: sta and dtim staging: wfx: firmware never return PS status for stations staging: wfx: simplify wfx_suspend_resume_mc() staging: wfx: simplify handling of IEEE80211_TX_CTL_SEND_AFTER_DTIM staging: wfx: simplify wfx_ps_notify_sta() staging: wfx: ensure that packet_id is unique staging: wfx: remove unused do_probe staging: wfx: remove check for interface state staging: wfx: simplify hif_handle_tx_data() staging: wfx: simplify wfx_tx_queue_get_num_queued() staging: wfx: simplify hif_multi_tx_confirm() staging: wfx: update TODO drivers/staging/wfx/TODO | 12 +- drivers/staging/wfx/data_rx.c | 77 +--- drivers/staging/wfx/data_tx.c | 315 +++---------- drivers/staging/wfx/data_tx.h | 25 - drivers/staging/wfx/debug.c | 2 +- drivers/staging/wfx/hif_api_cmd.h | 3 +- drivers/staging/wfx/hif_api_mib.h | 22 +- drivers/staging/wfx/hif_rx.c | 20 +- drivers/staging/wfx/hif_tx.c | 49 +- drivers/staging/wfx/hif_tx.h | 11 +- drivers/staging/wfx/hif_tx_mib.h | 157 +++++-- drivers/staging/wfx/main.c | 7 +- drivers/staging/wfx/queue.c | 206 +++------ drivers/staging/wfx/queue.h | 10 +- drivers/staging/wfx/scan.c | 14 +- drivers/staging/wfx/scan.h | 5 +- drivers/staging/wfx/sta.c | 735 ++++++++---------------------- drivers/staging/wfx/sta.h | 13 +- drivers/staging/wfx/wfx.h | 25 +- 19 files changed, 526 insertions(+), 1182 deletions(-)