From patchwork Wed Jan 15 12:12:07 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: 11333905 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id EF427109A for ; Wed, 15 Jan 2020 12:13:09 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id B92D7222C3 for ; Wed, 15 Jan 2020 12:13:09 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=silabs.onmicrosoft.com header.i=@silabs.onmicrosoft.com header.b="KQvBiU3f" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729797AbgAOMMx (ORCPT ); Wed, 15 Jan 2020 07:12:53 -0500 Received: from mail-co1nam11on2066.outbound.protection.outlook.com ([40.107.220.66]:25921 "EHLO NAM11-CO1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726165AbgAOMMv (ORCPT ); Wed, 15 Jan 2020 07:12:51 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cSEiceMOmW3KCumByskhGJ4XNqNs27PFytLrEKQQ5CIgTPo3SjolX1VSq0moGeEaK8wYKDucZXJxS8byZVMgFAoHDIyRQUnm+77XD6uMRjWcIggXQ4SV0CDJRTfzXgpCjNH4XaTlMV8y/aEzKxJwQVtCnCrniQu0aehBIS/6mRMQvbo21bRcQAvOplrSRRY6MVBv9l/B/FAi1ZFYk4yJeWcunom7tAdtt/uqyE0PvxlLnKBeqUrQ1+5YzODiGI5y867Wp99vMoiQ0hBIBSFDc2S28B53X8ulcrElVkdgwBhnJVDbrw0z36rcuQfXspsuJYkJayoceNqttD97QjzGVQ== 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=JkPBTof0cTcLxzfDeiNiJ0va31UOcbnIUlWzqHwtwII=; b=Vfpr257m51KDPAKtyX5dnM784WRxOBwt185UBCk5T4Z4rVl9s2wkJNrz2+ElVeLd/0I6/jittA6Ve8l8pcJGsz3frrKR5y3HU+JBosTshObu6TwIiD1dEaJ3hVY6hJByc7aeqJ81KEy8mvm9vYUb1PiG6HiZIt9O8cBhgNJGdqMEa/Sm4tjVS6GD4D6+TRNOq1z+68LBs65pOw7W3sV9p8ks+eXQ77Aj6bNFVRwg1GD/K3gsxyudx0jRxyyniyuTsvhaR4yFPxmFYJTap+5ipODNtZ2hJCyw84k4C4+AlTc5TZ1hYGRIEYO2d6RtwPtq5xs6GsMbhizGkgOMa0jM2Q== 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=JkPBTof0cTcLxzfDeiNiJ0va31UOcbnIUlWzqHwtwII=; b=KQvBiU3fN3WlP34BODxMGzj0nhmKJw1Bkk8UKgEpampEeCC1pCk8X9KPZWwkznyqR5fu7iiQQdyIoJQsdUTDviQjjOAOiz6dgO/iFi1RH2k5aPiOJhCHnVZhejDhKQL/VYHuxIbEt+5sFjq3Ip4Y1US+CMmDpgjZ/NrSTNrVa8k= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (10.255.180.22) by MN2PR11MB3934.namprd11.prod.outlook.com (10.255.180.212) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2644.20; Wed, 15 Jan 2020 12:12:08 +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 12:12:08 +0000 Received: from pc-42.silabs.com (37.71.187.125) by PR2PR09CA0009.eurprd09.prod.outlook.com (2603:10a6:101:16::21) 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 12:12:06 +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?SsOpcsO0bWUgUG91aWxsZXI=?= Subject: [PATCH 00/65] Simplify and improve the wfx driver Thread-Topic: [PATCH 00/65] Simplify and improve the wfx driver Thread-Index: AQHVy50BYfh2z0UfGE+rivOPHKtpUQ== Date: Wed, 15 Jan 2020 12:12:07 +0000 Message-ID: <20200115121041.10863-1-Jerome.Pouiller@silabs.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: PR2PR09CA0009.eurprd09.prod.outlook.com (2603:10a6:101:16::21) 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: [37.71.187.125] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 3f5f6eee-1a07-4e5b-e633-08d799b423fa x-ms-traffictypediagnostic: MN2PR11MB3934: 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)(396003)(136003)(376002)(366004)(346002)(199004)(189003)(54906003)(110136005)(86362001)(956004)(107886003)(2616005)(316002)(36756003)(71200400001)(52116002)(7696005)(478600001)(8936002)(81156014)(8676002)(4326008)(81166006)(6486002)(2906002)(26005)(66946007)(16526019)(186003)(5660300002)(66574012)(1076003)(66556008)(64756008)(66446008)(85182001)(66476007)(85202003);DIR:OUT;SFP:1101;SCL:1;SRVR:MN2PR11MB3934;H:MN2PR11MB4063.namprd11.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX: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: aoUNAvXHlyg/jTyk0ju8Ic30OuLCZmMgHYnqpLXCQ1L9zeTYqCRAfDfFZw6U+kNCqijpcVu9AtFqhdMaIvgQdhc4cefpVN2+Y8uK63qSNKUj+6qqHJjNtqd69Ocy4xt/8K/WOXMdaI/E61EJ0Y7yY325hWvgUljWsbhN0tJwB/r5WAOPU3t6GaU0S4OfYwkD/3cHl6L9+vVdJj0SNYHCD1xxh4be0eRViJ4cLBnfZK6kUmvolC1EvpLikzqGGhZTNTg2zaSXCpxJ+JqvVmR2ycUWdUtsoOcdRlSSLDSlvpl7UGjFrnFn9827BbkAhQ/ObxYWWMuhcHL9ILUsI7Zg+9FcNUnBn/h61B8f534kbI/eNyA0h/lBFg0iLHIHajq+7FtRzGQANH8qbrGSpTLllhJoCtsJoT0xCN1QWbV57rTemFY4YeY9YvUdyY3hVb+6 Content-ID: <2915B7D3973F5144BBD9C7BE480632D6@namprd11.prod.outlook.com> MIME-Version: 1.0 X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3f5f6eee-1a07-4e5b-e633-08d799b423fa X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Jan 2020 12:12:07.8459 (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: yNY65ludIqcsJe7+mF+EJ0EZVjKnlyAMHUFDev0bK7WbVm/YYVJa5TFRTiNeenTbNX+oLStF/Fjwk0ztrzyQgg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3934 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. 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(-)