From patchwork Tue Mar 4 15:32:21 2025 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: 870479 Received: from mx0a-0024c301.pphosted.com (mx0a-0024c301.pphosted.com [148.163.149.154]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8FEA22512ED; Tue, 4 Mar 2025 15:32:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.149.154 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741102374; cv=fail; b=s12GRxEt1RrEqTloNxOihcF772PjrVcPwirStmTwkKd/aXEbwSixrRubvVdhOMyIHrgDp26Sj9/ZaSo9cPvtmVyacRVvE1opxvwKYpkHUkWhqTyRnX97iMi28GAlYGlsepvVVL1UpxGBEnAZuS/Gs8C+qUs4/3ufsWaHG/s63DE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741102374; c=relaxed/simple; bh=FTWE8aiE6pSEDvp6oNUZGQmmeqkXc4EtX2pbVZV9IIA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=pNTgm7Edihdt3A9WCM8wJbIZ7llgHoDjOI/41USkAFrBKfgZ/Mfm92J56Qe1G/fGhu9qr+7EDmOIbpvdvGUxBGlEQ0mn59nUVK1YyAPrf8QZdY4BaQoSzLxD6BbvTXdAtyCwFBR1P7Ztq+bjsrJpsq2SrodPoMon3TArM4++CjI= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=silabs.com; spf=pass smtp.mailfrom=silabs.com; dkim=pass (2048-bit key) header.d=silabs.com header.i=@silabs.com header.b=Y3hAIwha; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b=TVFAeVH2; arc=fail smtp.client-ip=148.163.149.154 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=silabs.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=silabs.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=silabs.com header.i=@silabs.com header.b="Y3hAIwha"; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b="TVFAeVH2" Received: from pps.filterd (m0101743.ppops.net [127.0.0.1]) by mx0a-0024c301.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5248TYaA028076; Tue, 4 Mar 2025 09:32:38 -0600 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=silabs.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=pps12202023; bh=FTWE8aiE6pSEDvp6oNUZGQmmeqkXc4EtX2pbVZV9IIA=; b=Y3hAIwhadgU4 uVAL74+Oxb4vLfwS+Yp+KQxX2Z0wLHAZEMP9NOVJXfbkNkfKW6YE6hB24BY5MNBa kO5i7FpcXQ0iIDjv7MldiL9esCBJbuitZOLPQoHuMvoWvFGnIPdyXzPfsdolFvls oCdlVqQCt1VWb9OqhP7XgE+cWPni/MHVY83y7NsRCkGEcbKN61WSAt809cRV64Dl jGfS14dgwSFFSZ2vj9WPGIDUE8Fvk+gecS4b0HVDRO7lzgerwkzP7l4uxdOy9SnS PXV9+BjcBZ5I9hKaWNZmZDqH3p2ImpWL/Rg40SnDU9lDVDPvp0lC15YxK6UqoCk3 rvkMLdlajQ== Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2048.outbound.protection.outlook.com [104.47.58.48]) by mx0a-0024c301.pphosted.com (PPS) with ESMTPS id 453yegn158-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 04 Mar 2025 09:32:37 -0600 (CST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ZESpdGoz8dKDSgAX5y2JGX8RyZfjAoGCVHdGDv59xYMCbBXrX/Xtrj+J5ncDpPkd0FlAnrSHyMz+z70LNTok/kap7UdCdT/8TeXAsSH+TVgAOCaRsyiFyEV5RbIjKOav1dcNBAndcUFJJOch209rqNKAZBBtbgBdJKQ1II0oOZZSG/HWqDnCP8GJ2DaiSHUQHt63RYJeH/c+26WvIVLD8YEfQrIVHX6VPXZ4YIZhPfb7wOMpz309Ylmr7F6jmhZlH4+eMBIdiG1pIJMQh7iCInvn3jZ5kBcPes+K5DFrqAA6WLoBlGkOEkWIuO9eMZC8dOckeT4lR7EG8smR3+/fig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=FTWE8aiE6pSEDvp6oNUZGQmmeqkXc4EtX2pbVZV9IIA=; b=AThszUmXnCR8mTI/T8BJDXHi6ywUenoMwopDIijqGjMb0/odrMBonFgw+hQ3/N9OWo2G2eGKTbNKfIUwUG8e4wqjc2tXFD0iAo+nuw+9/HyIt2ZKhyL/XiZS51dzjXclAmAYvLcWQXdhp69vw9gAXetIpI3NenT0iH0Qc8vGL3H30Nk4UwT4LwCTpP7PatPWl086WYUvLiOesz+AgCubirtc3/qKRAkobyv4Vdvx4f4zCblRGUKZB5k+PM9dSSWV8uEmPRFiNSagbRgktmEVDxz55mCiejiJ8pVQNVioWZnQplC8AMGxZAX+krIoZzCT8dbRZMxKqVhWsppE9yEHkw== 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.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FTWE8aiE6pSEDvp6oNUZGQmmeqkXc4EtX2pbVZV9IIA=; b=TVFAeVH2Q+d2OJBOS4DYHa5h1Prik7xUXxMTs9w43J8qDaCfVlMt9YTNARZIauzZZWRO3+3Bm7PcYm25sjdIr5kAB7Ja1F2eMtbHV6sVENcWOKCB821dEqPBugVK+JVq9ar4A5+V+3PRv1ZaBMCS/3jfLgcBTHpcNkGSx5p1cjg= Received: from IA1PR11MB7773.namprd11.prod.outlook.com (2603:10b6:208:3f0::21) by PH0PR11MB7712.namprd11.prod.outlook.com (2603:10b6:510:290::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.16; Tue, 4 Mar 2025 15:32:36 +0000 Received: from IA1PR11MB7773.namprd11.prod.outlook.com ([fe80::e78:8cb8:9f49:4005]) by IA1PR11MB7773.namprd11.prod.outlook.com ([fe80::e78:8cb8:9f49:4005%7]) with mapi id 15.20.8489.025; Tue, 4 Mar 2025 15:32:36 +0000 From: =?utf-8?b?SsOpcsO0bWUgUG91aWxsZXI=?= To: linux-wireless@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Kalle Valo , linux-devel@silabs.com, =?utf-8?b?SsOpcsO0bWUgUG91aWxsZXI=?= Subject: [PATCH v3 2/5] wifi: wfx: declare support for WoWLAN Date: Tue, 4 Mar 2025 16:32:21 +0100 Message-Id: <20250304153224.39083-3-jerome.pouiller@silabs.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250304153224.39083-1-jerome.pouiller@silabs.com> References: <20250304153224.39083-1-jerome.pouiller@silabs.com> X-ClientProxiedBy: PR1P264CA0115.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:2cd::11) To IA1PR11MB7773.namprd11.prod.outlook.com (2603:10b6:208:3f0::21) Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA1PR11MB7773:EE_|PH0PR11MB7712:EE_ X-MS-Office365-Filtering-Correlation-Id: 2e2fb430-0ba9-49b3-4052-08dd5b31ca26 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|52116014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?1NZLkDjA/USsUXyUA+UDlktbTFWuSaT?= =?utf-8?q?WmuYis5NPsd7g9BbRZh0yQQnEtlcOMMx+Z5UliOxbv+UPS809ck32WK8WKE6Q8l7w?= =?utf-8?q?HZTReNSLtpjC81eryY1hnDzNSzYCZ25kFIoeeqvyON/NZhg8MlxVvWM9echLfvvqK?= =?utf-8?q?iVXCf60iB6oVe0sMNb80vtogXUQBIRHbvfEx7SUsmyxeYZ96UpLcQlB7qw5FnYbIk?= =?utf-8?q?DR7zUhLacSYJo+uWg7iZtj/cGDP2vY3Xlj0jCBZbLoDTLib2B4jT6w2hklR0e3x4V?= =?utf-8?q?gG8ENP40Zx/P8PHC5+NimURcaUUjNG9f0kbdHlpoi/Lv+Dg2u4fmLF7ldQHAfZKt3?= =?utf-8?q?KQdrWkuHsni9DNrTzduQKoWu8e42y3S4ekSA8KrRR2LGxvEVKV19xm2h1n5cujvgF?= =?utf-8?q?VI5L9xPT8hlSDYrYk14SkgNjujnMymXnchsm42kV2EckjXU3mYG5iLUtTDsS2AZ10?= =?utf-8?q?qcZIPq1YSx9SfnsQMkbDrEqdYfwcEmQOdwvW0tAL63C06C2fkhbhsx5cfubN3Tev7?= =?utf-8?q?+RuNEM3AcXFJmjJW+ddPMobCaNuKMTvVUi+gI6rSjQrIZgel5pZtzcKd6MjflQDew?= =?utf-8?q?l8tBZTEKDM7a/UjyPadsN6JOPIv1yaAFLJU54LE5gNKtEUU8IPHLAt/PTnKHyZssk?= =?utf-8?q?gytdpJR3l1mrxmT8EZPWIo4zF8QVnw0OFi5MG5evGGfJfyTc0+5mMz7/ZfNGiYZpu?= =?utf-8?q?3hPCtbadfjCxt/XLRlSG9j5kHSofG4EjxYRMGvo1Xxp1z9E9zCakD+qar/AK7gboE?= =?utf-8?q?i8EgEKufCl4fwKLQgNIqCuZwre7l/M5U2SpaVCkL2d17edkoM14+U4boldgzXAzoT?= =?utf-8?q?bCsUEbvh4c0Tcn6Sd7NJwHiXP53jqb66IWqEd89qfnzANAo8YdVeN/TIrk2lV6DHP?= =?utf-8?q?1D4GzeVzL2T8sp2sVyNMEetXUQAO8W75dqOgCDqtZfX7nMYp8Zu3iZ52IyI94UBK7?= =?utf-8?q?fcBeRoJsn5z6IzftO8AoGgaLskv3phoGXT4S53lKlx3VoGvOBx82boFi5Ig7LPpRq?= =?utf-8?q?6TTuswKtsslPztnKyXhPllycRgApyrnhSFNM9rcHC8mm6CgpsGOczEllOennjFVej?= =?utf-8?q?KeyjwfTaDUXHGb/57EZA84ksFtM6TOig0xWz6H4ZAhjFIG3cX7ppFJeTIvKxHmyTP?= =?utf-8?q?Sy3d+t2AQkENaWxggcErTN0SlvRW5tSN6EcadgUD+SjMhFjfJiD7N27GQOEjSmKbP?= =?utf-8?q?MpCJ8BPp/V7xvSvsFMF7PVNiFivHobYZsRaV1KDYYDFvI1uuag2W+qtYSiyViGskN?= =?utf-8?q?/YUVT6ul9hlnMDRp6O8RV3K/YT999I1ihbi08sAiDH8rln/rht3d8WY1f/Gg0S8cJ?= =?utf-8?q?ceXUTgXhpLtPtl5qgIuSuNf9KZnX4QG29wO39HNEnIiaH5Y0L0ynlDXitkmx48MAZ?= =?utf-8?q?Xl9w488+ddM?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:IA1PR11MB7773.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(52116014)(366016)(1800799024)(38350700014); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?lrrCZDn/1FM5cQfMV92IYT0HoecT?= =?utf-8?q?HlBMvjlJ62oIsxaFXmVJUp6H2UD5IL+rJuRtUWg9JFAL1DIIENwxGhmMTXXpws1N3?= =?utf-8?q?FeoIdWl4UdiV99IzKBMbmQJ+GqfwJpaLzQ7uupm+UQuT2e7yEyAzcuDblCFs0VTrD?= =?utf-8?q?RI5yB9Xrud6tyqQ9PIpiaLf827euBtCn/7zkAMyllzb8gTeyLXuZxr3glgmPgFd62?= =?utf-8?q?ffwGfYeFxZINqfdySSzmPAr3gAn5/jVVvNF80FGf8NulxdU9V4T5MWNqtuBkc0JJf?= =?utf-8?q?yynL5j1HebMsSWe7QckDvlrQNSqIZn+QzwqdT9r6v0Pd5s7WbogjuasJkx10yIzF+?= =?utf-8?q?xSDPQRfTxx7Vq2YUXRO7sJYfGMMkR1hzKNkgmiIqJgzZtGelvFGv4RVFJPONCCnB7?= =?utf-8?q?sRqZJmCqDtmOBqwrWUcr8B22IYvwqPj8oE3IUUaqcG37ONK+clVQp0Txs5qktsA5G?= =?utf-8?q?Zec72fhkwrVSWTiBmrKF2B5ugFnmvY4XyoAztcwEDLoczEvQLiG6xaZecx8fqKgxa?= =?utf-8?q?ZL6z4D6tPSV/MSl63VMJVw+6CRKlCAnTFmXM/gYxCZNQg4wUtzb2GAn42SnNsjZtH?= =?utf-8?q?/bqf24aH35LL4E+WlFBaU/VnmYg48EojxFGNpBfYc5DaJkCJu1O3s5/Y8J0lfs5P6?= =?utf-8?q?hUYBwYQbcn+GvIyS64O4ReBJscwApKsEvEIXtO3BR0zioMNO96ok6M/M/FRF4wJ0k?= =?utf-8?q?wNbk/g5NiqQJG7axylodrKY6YX+ePc+VWa8mtXC3Bjc2RfS1Wy+JS6KqXrpujvSJM?= =?utf-8?q?Ix3LuR8DavxW0wMhPIdNL5kPMnU5R7o53U2lLHeVUx7Ave+3Uz7pAOqDpSSui/llZ?= =?utf-8?q?0+rackYDca/FpGhdgNxnWk2ku/NVIkNs1/F48RnYLbUn/PQDXv/iuXEv3DSmPKaVF?= =?utf-8?q?2HjxKe4s+AlR93zdSO9L7KOLZ9vyFvs3W+fZUxFDYaMzjBuIseZ/4jQduJBcowlFX?= =?utf-8?q?1luiijbTE2nlcqD4Lk7wPuOVD11W4NGJZRuMhl2T+Y/TaN9ptYqEIarwHZldMEv+S?= =?utf-8?q?AXWC7N5VAs/0l3B6S2Bda0eT/ZQ3LpJlLCtAyep8usPmA5rAI0z3FcWRwpLrievux?= =?utf-8?q?lQWMidDNaoJdcMuOe/MiXm3pRd9YLB07ImdCEAT1PcaulKylCDD1aPI/HXJxuajGq?= =?utf-8?q?pWOAUa9WQChiP9hMbeU/bRogQ142WgPoECrIbw1M8+33mulQiUFWurhx3UiMdNSmK?= =?utf-8?q?YgmXqnG9uDQnr0pDQOt9Vu0fYSpscFZYigQAm5V357ktZgL8vORcBcD4FviK/z+4A?= =?utf-8?q?+3frMRuiXgGK/Y9VuyjWszswIfGNf9AQMBxr3tvK+nwPGVYCJaZp9kb2nuhhfC+m9?= =?utf-8?q?VehkbpZm3PdvLQRP4A5XOkwX9Z7sLJYg6h0hASy4tonQlKci7Rokmou99NGL2Plxg?= =?utf-8?q?byRSrDSrDWujxeefQSNJUjx8zNdtVyKdcRlQztYHp9ts1clcy8DYX9x3w7s4mY6U4?= =?utf-8?q?z5Cgjk76RLfhNslwdiNRfTfDdjvW+wXDSf9KyOuFbr2+rI3pErdh5BLVVuWK/h1Ap?= =?utf-8?q?lSqEsMB7Cqln?= X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2e2fb430-0ba9-49b3-4052-08dd5b31ca26 X-MS-Exchange-CrossTenant-AuthSource: IA1PR11MB7773.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Mar 2025 15:32:36.0576 (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: 3hEXgo8Us/C30sYJuCOEnCPozcm/bkgHwo6oN5AJVt7DYew6JgUer43EVClvbCNsU+9ztATdVo/IkUattWepaw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB7712 X-Proofpoint-GUID: QGizQOS8ziwvmCL7UQxVU8GC9_HEkn6h X-Authority-Analysis: v=2.4 cv=K9PYHzWI c=1 sm=1 tr=0 ts=67c71d15 cx=c_pps a=IJ1r+pqWkCYy+K3OX67zYw==:117 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Vs1iUdzkB0EA:10 a=M51BFTxLslgA:10 a=i1IsUcr2s-wA:10 a=2AEO0YjSAAAA:8 a=PNO-vrL7TU_s0Guw4cUA:9 a=QEXdDO2ut3YA:10 a=d-TXpq5eZF0AJmg2YLt_:22 X-Proofpoint-ORIG-GUID: QGizQOS8ziwvmCL7UQxVU8GC9_HEkn6h X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1093,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-04_06,2025-03-03_04,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 phishscore=0 spamscore=0 priorityscore=1501 lowpriorityscore=0 adultscore=0 mlxlogscore=999 impostorscore=0 clxscore=1015 bulkscore=0 suspectscore=0 malwarescore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.21.0-2502100000 definitions=main-2503040126 WF200 is able to keep the connection with the AP alive while the host is asleep. So, let's expose this capability to the user. For now, we don't provide any way to control the device filtering features. The user has to allow wake-up on any received packets and on disconnections. Signed-off-by: Jérôme Pouiller --- drivers/net/wireless/silabs/wfx/main.c | 13 +++++++++++++ drivers/net/wireless/silabs/wfx/sta.c | 15 +++++++++++++++ drivers/net/wireless/silabs/wfx/sta.h | 2 ++ 3 files changed, 30 insertions(+) diff --git a/drivers/net/wireless/silabs/wfx/main.c b/drivers/net/wireless/silabs/wfx/main.c index 64441c8bc460..55573d975cf9 100644 --- a/drivers/net/wireless/silabs/wfx/main.c +++ b/drivers/net/wireless/silabs/wfx/main.c @@ -121,6 +121,12 @@ static const struct ieee80211_iface_combination wfx_iface_combinations[] = { } }; +#ifdef CONFIG_PM +static const struct wiphy_wowlan_support wfx_wowlan_support = { + .flags = WIPHY_WOWLAN_ANY | WIPHY_WOWLAN_DISCONNECT, +}; +#endif + static const struct ieee80211_ops wfx_ops = { .start = wfx_start, .stop = wfx_stop, @@ -153,6 +159,10 @@ static const struct ieee80211_ops wfx_ops = { .unassign_vif_chanctx = wfx_unassign_vif_chanctx, .remain_on_channel = wfx_remain_on_channel, .cancel_remain_on_channel = wfx_cancel_remain_on_channel, +#ifdef CONFIG_PM + .suspend = wfx_suspend, + .resume = wfx_resume, +#endif }; bool wfx_api_older_than(struct wfx_dev *wdev, int major, int minor) @@ -289,6 +299,9 @@ struct wfx_dev *wfx_init_common(struct device *dev, const struct wfx_platform_da NL80211_PROBE_RESP_OFFLOAD_SUPPORT_P2P | NL80211_PROBE_RESP_OFFLOAD_SUPPORT_80211U; hw->wiphy->features |= NL80211_FEATURE_AP_SCAN; +#ifdef CONFIG_PM + hw->wiphy->wowlan = &wfx_wowlan_support; +#endif hw->wiphy->flags |= WIPHY_FLAG_AP_PROBE_RESP_OFFLOAD; hw->wiphy->flags |= WIPHY_FLAG_AP_UAPSD; hw->wiphy->max_remain_on_channel_duration = 5000; diff --git a/drivers/net/wireless/silabs/wfx/sta.c b/drivers/net/wireless/silabs/wfx/sta.c index 7c04810dbf3d..9e06f8b8b90d 100644 --- a/drivers/net/wireless/silabs/wfx/sta.c +++ b/drivers/net/wireless/silabs/wfx/sta.c @@ -803,6 +803,21 @@ void wfx_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) } } +#ifdef CONFIG_PM +int wfx_suspend(struct ieee80211_hw *hw, struct cfg80211_wowlan *wowlan) +{ + /* FIXME: hardware also support WIPHY_WOWLAN_MAGIC_PKT and other filters */ + if (!wowlan->any || !wowlan->disconnect) + return -EINVAL; + return 0; +} + +int wfx_resume(struct ieee80211_hw *hw) +{ + return 0; +} +#endif + int wfx_start(struct ieee80211_hw *hw) { return 0; diff --git a/drivers/net/wireless/silabs/wfx/sta.h b/drivers/net/wireless/silabs/wfx/sta.h index 7817c7c6f3dd..70ccc8cb7ec7 100644 --- a/drivers/net/wireless/silabs/wfx/sta.h +++ b/drivers/net/wireless/silabs/wfx/sta.h @@ -56,6 +56,8 @@ int wfx_assign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, void wfx_unassign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_bss_conf *link_conf, struct ieee80211_chanctx_conf *conf); +int wfx_suspend(struct ieee80211_hw *hw, struct cfg80211_wowlan *wowlan); +int wfx_resume(struct ieee80211_hw *hw); /* Hardware API Callbacks */ void wfx_cooling_timeout_work(struct work_struct *work); From patchwork Tue Mar 4 15:32:24 2025 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: 870480 Received: from mx0b-0024c301.pphosted.com (mx0b-0024c301.pphosted.com [148.163.153.153]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C62FB209F42; Tue, 4 Mar 2025 15:32:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.153.153 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741102366; cv=fail; b=dnLq38zxxm6Pdv0Fa0ag3YqXSlwck+bEGGaPkM1dIdUAYmZCHKx4rhQc0ytUikPFlmAgn7BBFucWrEEbzEPP/aev0TW0tEqrt17tBGQzpR+nDIpxlO/UQxKp3BLOIdfdfuYXs44zrBnPez0zUutgKipf3yMLouM3hOF/o2BV8ss= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741102366; c=relaxed/simple; bh=HKQn4APwS/vmG+jXdk7RCpT+H0sqnvdsNSDfVWkwHus=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=mqIKZEtYNoBEhQlPWs/8fS8kjgQlubQXV0nqtusrgmOAFoOJO8Dj5m2k2A8tltcExX7Zr4Q2B0Czz5+SKGTXGxjp/J7EEP5SYRRLux42AHswTxtbO+8xdlMDSfjnZEMrXoystinIo44ZGfzgdg5V1RsgVFxggTw8JiP0RStqR2k= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=silabs.com; spf=pass smtp.mailfrom=silabs.com; dkim=pass (2048-bit key) header.d=silabs.com header.i=@silabs.com header.b=PHDFBn9D; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b=bYj4xbq5; arc=fail smtp.client-ip=148.163.153.153 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=silabs.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=silabs.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=silabs.com header.i=@silabs.com header.b="PHDFBn9D"; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b="bYj4xbq5" Received: from pps.filterd (m0101742.ppops.net [127.0.0.1]) by mx0a-0024c301.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 524BAL30032344; Tue, 4 Mar 2025 09:32:41 -0600 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=silabs.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=pps12202023; bh=HKQn4APwS/vmG+jXdk7RCpT+H0sqnvdsNSDfVWkwHus=; b=PHDFBn9DGfgO UTWxhTDnkUmvYNS1Pd637QXoWgOO4rvec8XBKUdKVzgWZFx/CgPMPvMm5KHdFN+k CyzP4B3Nsq5ayhnhmSFbh39k6N+0zzeVWc7hD0ThpJec1AmSbHMJ2E58niX7XFpT 4ZUm2qMC4yPvA+wIPYYhwHehd0BwXR7khFMzycubD+RnlmMamPpFfmKhKo+KGtdn y28ddOsq4yAwgMtVJ+ekPNstMiQyd6yb762XzCpQHdimrsugKUUkJuNyCzMl4sEz 2HSN7fejmCeEac9qWEPqanTT4r/hmElHkMGU9dDrNEQpQc9Y8hKpekzlnxCZn867 CVo+ZgY5hA== Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2043.outbound.protection.outlook.com [104.47.58.43]) by mx0a-0024c301.pphosted.com (PPS) with ESMTPS id 455qchhcuw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 04 Mar 2025 09:32:41 -0600 (CST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=gLtSOkFJE4uoHQj/PTXjNLDPvkgnuscRJaDQRCO2qETcOCGi79PscRpwc8n9VTG+2t6zzyPuxJqqxlbQE86oCaCHJWxKGbmswJDD0SWsG2te2ZOCgCLY25udk4wkJLQ4aen+r17MHL7v/BJLIxDG0geqtFzx7+Mgwm8OmFFzETUGh6NUKPYfHQl6/QvvjNMJkyOfQwW2CS95QWQHLAtOKe64TiSDx5CjzDZjXJXeuYGaT7MQ/O8DulEZSy3DxiskKqI2eTjnOgCPe5vlpWrujs/Yoh1eYxzHiMhmXxoSFsMbFj0BLTJBtG40KxexB1A5JNw4vlEz4FlfKzbe8uiDPg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=HKQn4APwS/vmG+jXdk7RCpT+H0sqnvdsNSDfVWkwHus=; b=esel+vOnKKsD8dohstwiwXt1jiGiCY+RgE5Tyc/5VjPSHHnYgUWxkZ4nr2ohKaioBc1zSOVAuqQYmzD5pV2efxORhYcNJ1tkG3IAAkzudtVe6oa0VJ4BPoFoBLyThOhlFK1xeq8U05dxuthCg3Ie2/d87v5pwlFENXZflCgx/gqCwRvwT8/8qzzlakEA3ozJSL8X7Z+L8TgwF5vzCleTpOaRmwNir2JbqXdyhi8TsSNtD0N7qWe9/fLWB+4RAKGrqUPlkSR6Yfeoibshgo/97/Mb5vOljIPKUHe6wrGpwFbsGnyO+iClwrgzAjh15dJbvDb8naA1zH/adW5DCXsxYQ== 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.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HKQn4APwS/vmG+jXdk7RCpT+H0sqnvdsNSDfVWkwHus=; b=bYj4xbq5llFrtrg8dzEw01Q6xoeu9pCTZiiBnfxQ3RiYmq1GRJbx0MoPftOHu8/6hYD4piUhACEGCmA9SWNOsFeQgLungh8ceIdRr8xP0f1EAhtWOH6nSn5yqYBUNe5YxSNUhx2sqok2dikwOnfeSguVQfndyE1NQnSEJi1QFGg= Received: from IA1PR11MB7773.namprd11.prod.outlook.com (2603:10b6:208:3f0::21) by PH0PR11MB7712.namprd11.prod.outlook.com (2603:10b6:510:290::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.16; Tue, 4 Mar 2025 15:32:39 +0000 Received: from IA1PR11MB7773.namprd11.prod.outlook.com ([fe80::e78:8cb8:9f49:4005]) by IA1PR11MB7773.namprd11.prod.outlook.com ([fe80::e78:8cb8:9f49:4005%7]) with mapi id 15.20.8489.025; Tue, 4 Mar 2025 15:32:39 +0000 From: =?utf-8?b?SsOpcsO0bWUgUG91aWxsZXI=?= To: linux-wireless@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Kalle Valo , linux-devel@silabs.com, =?utf-8?b?SsOpcsO0bWUgUG91aWxsZXI=?= Subject: [PATCH v3 5/5] wifi: wfx: allow to enable WoWLAN using NL80211 Date: Tue, 4 Mar 2025 16:32:24 +0100 Message-Id: <20250304153224.39083-6-jerome.pouiller@silabs.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250304153224.39083-1-jerome.pouiller@silabs.com> References: <20250304153224.39083-1-jerome.pouiller@silabs.com> X-ClientProxiedBy: PR1P264CA0115.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:2cd::11) To IA1PR11MB7773.namprd11.prod.outlook.com (2603:10b6:208:3f0::21) Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA1PR11MB7773:EE_|PH0PR11MB7712:EE_ X-MS-Office365-Filtering-Correlation-Id: 24875544-bd23-4576-e076-08dd5b31cc05 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|366016|376014|52116014|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?yRk5xLkwn6LfnkMsS6d4aNWremBGqIf?= =?utf-8?q?F49MR7tpBe3YAB2S/2cwdaa+lWaGPXWbVzDZ/GC9td6e6AKizwhwqARxXzr1bnFfy?= =?utf-8?q?1J+/J6EMQc0Hg/grOE7H5L5I/ESrEKpt5vaM5SoFzOXeVl4KTexuQew5rnwQSE772?= =?utf-8?q?5UFjetU65ryGYqFDoQ7PTBmeuJ8a6a/EX3HMBAzAVSidv3G++p3BvUdCaD2RAAjD2?= =?utf-8?q?+RXzKzeFpV7VHEjCCj4JqZUpXZhy5OM2DsYHUvgnWPNtaG0MUvpC/qj8CxYI7tm+0?= =?utf-8?q?XIhtYefhg2DmSiNJWsVrJVRH3LgY8jPA3FlTGplGMARrS4tLzWUU2PoLav/flJwU0?= =?utf-8?q?srSK4LtPgGfzYV0jvBubny8stli3+OihbOV0fpTLT7ZuB8hg3T0tr+bTxYYPJB8/L?= =?utf-8?q?4D25sPPDbk7+52F+VC6OqnrMTP41lNgtTaWzEOXQqR1sow0k4UXST+t8Nx7hZ26e8?= =?utf-8?q?x7waQjd8HOmbJWAcZqlR9VhMIpAfxlRByc43JlCehKrwpU6cafOKOTJyYOw6oud+U?= =?utf-8?q?+1+AX91wyc5QkoPisKlRbX6qDpDuhjhqYh6W/KfaNt95MLoGokAIzQcWkfJc0KTk3?= =?utf-8?q?mxayzgSn+sw11FZJ8QHrB3pM5NdRP4R4N1Ww7oL/4kMaCjO1EnL7EWxs9Ogu4WSOx?= =?utf-8?q?HvU8r3pGfSeiFNukzohASsOlW+va78WjM57bfZr/shMzmjpRACNqL7Cw5pBZIHFGR?= =?utf-8?q?v8PQLIDEmDbudKA97h2Pu0vPIsPx08wYqYdSMY+xNmX4ssMhm9rXo6SdYGubYU/+m?= =?utf-8?q?8LT14U6E8dbyV2TFUJKwFdu/afUFMU43YXekkhwM0f/CfT9n7l1OdArK261VMMlgM?= =?utf-8?q?Ycu+XEc6AOrKz2aHMGRM3x2SpsECPI1klsq6mirhHKdFdIdSb66hlc5WijIYWMx/z?= =?utf-8?q?vyOw6NkOWuwWPjQo8FGQzPY7Plf2h7U1j7uKjaDIRz/wu9skxrSKqPFf71cFwYKg2?= =?utf-8?q?gNyOuOBvfmNEEijbEOIjVOVvMHnrkENYvlNTk1v/giFI9j8PhMoNtaS5ZxGgcH1I7?= =?utf-8?q?HhsyvLqc5yQWtlJIjuJgafvac1wmzWDu/c2Uk8QJPjNqdUkZivT3/sNdMZR9HbvZ2?= =?utf-8?q?9TLVX1zu3a549F1rhoYGSgw11Sussq3F/OLLhez5muRun/12h4f9noR+NpPBIla+M?= =?utf-8?q?U0Gzs9Btwyq/NDbnzRuCFoppPgtJIeZGhYSBi/E6accddavmSK3imViQE4yhj0tiR?= =?utf-8?q?67z4KgxYoqv6/rC7Jcd3/3wyIaqyWSznDbfdA7Jt8u7ArZiDhjxM+3UZzO8BtALKV?= =?utf-8?q?lv8AKz40B34QIw7dYJTDv0OFCWb01zmOn5rBAIDKbfVFhd6YHZm/ONYcEAbpHxXk+?= =?utf-8?q?Fr9mCnpCJHu3l1CBy9nQn6puyU2Hh9nUXAHWu7e0s5rvxMEdaQCnMrPsQcNf4qgPx?= =?utf-8?q?lmRHSfPuSxg?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:IA1PR11MB7773.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(376014)(52116014)(38350700014); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?7xbRSVjqGUR/6OUft+2yH80EWYpN?= =?utf-8?q?IyeaWlZQ7b4qoranYkalnMuK0phTZjM5Ho69TNcVeJe1/tdspU0r/EoauaLg27G8V?= =?utf-8?q?zSaboRUe+3kBuLoD8qgk2jNIUOmyP3twJHVht3s2CKhlHypYPsfNNk3DvxLgEfYIF?= =?utf-8?q?75haY+fa1KtREkWmg60JZLnzzN7Gey8MWG3y3NQZKujtdA80Z0AvIdE4kHjdrFY0e?= =?utf-8?q?0ZQXQjzOBfzh7LmZuDHC2+8crYWGvrxLRs19z/Fshnw+4UjsPABJ+wsJC8F4md3xN?= =?utf-8?q?lbMHwKrwJDO21VIqhH5FsqKa+PkLBrTz5AnJKYQfC9olrAK6FEJNM14buAAvTFn2z?= =?utf-8?q?0Iec/tf+hX3h+4BH7RlvxzrqexrTk10tAkm7JUizVP9NwOiKAiVMipJfTIjfnYNMt?= =?utf-8?q?IMKTzhiy3yLUGxuFmEVPmcOi0bgTkF0rsfA2RDYKZAnbs8cWni9rAslY4PtUvHVlU?= =?utf-8?q?+P359WYVuhqnp3V6whXOdcM/RVU5izanuBsJh8o/k305aTJChSbMSmpQoSKF/FoCx?= =?utf-8?q?EociVpgszePXs2x93cUrlKJC9cuEvd8oq5CYbNgxbNSwBDKIFFnm6TJyjNVHwHvbf?= =?utf-8?q?lZhUx93AmwFdLGHYKHBWdZ4Cub6ZTqDDHYhzFtNcbrdoi57Wb4952szRQ8J1CJU0Q?= =?utf-8?q?nlXErzBWnsaChHfddXjwvw+klMCbbVezyU3TxvRU9rubh0PA6FI5NZbd7nIse/nRu?= =?utf-8?q?xXharsPoVLQESZMCG5pQ1EA9rITBVzu1bNkfE8mLV+LaHDNao6O6gjaOzn769RWrX?= =?utf-8?q?0tcDYl7f1WSBhGCdRi+Y/lPbyC/IqnooEWNPunH2/i/2z2tBIARqlFVKLslIsTtPB?= =?utf-8?q?fgo5umDmbbAfEl24obLrbDH67BOaDF1Z+MHBVoAS8uLs2uRmD6/9uZ80VQxNe4GBR?= =?utf-8?q?fEunjSK0QeLMw4w4TAV58jYioigdcHIH+13JWFTqjBSNUgDYCZk4pzzUl+fegsft2?= =?utf-8?q?VVLLH5It+jRRsckcNDTdIn+3dEl8KYh47eiwCmKEpaXD8dDprz3mq/sg52XHirmQ3?= =?utf-8?q?IcCyrzA6cgbtdgvgJijaHPbkKUHvwRynXh73Byqd6kjAy/VfBkIcen367KvF7QUsl?= =?utf-8?q?6Tyk5xZ1vLbxWgR2+G2V7nHE7b+0NJCtzizVVzaB/u5F3T+h2rzkaF5VHupiUrX7g?= =?utf-8?q?fNl4Can7F/kmgxeGUwGmo2kJyNRQL+yKygVOJVxRSqj/DfdBjCcpFFziZvNTdv0k+?= =?utf-8?q?OO0wzy76uwejS1QJTIIgZhEqRKeR3xDioc8hZ7vFCRXh6EBBplSAceegeG28emQaQ?= =?utf-8?q?PJvNz86ag0BRgkFUjTfx8nIwXmxkGeoX7+qDQ8RJd7AYochINzPy+MmtEdb4Jfn4K?= =?utf-8?q?eM5R3+hmd1tQv/zPqh1H5MgaOydCshR4yEMrnjOF8ckHVTItTKpvKFo4vEToS//+u?= =?utf-8?q?mRTPt2jhF9Ji7jR/nGeDjpWbSSi0Vev7fZ1E21VlJ/n8NQLd3t3MnpOXi3DiGtZJW?= =?utf-8?q?oyP8CZKe59dpV4RksjlL6qZ8fPGUxjw+Gmqer/V0KIORrg2zPTBkcK6F5qCxnQeoA?= =?utf-8?q?gr22i2x3Zwe0?= X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 24875544-bd23-4576-e076-08dd5b31cc05 X-MS-Exchange-CrossTenant-AuthSource: IA1PR11MB7773.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Mar 2025 15:32:39.2043 (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: 3z/B/xk4UIfb9P6d1m8ggjqpOxaJ2qy04lOg95cuN9otb5U+6yodHqEVaxaIlPUhZZGjMelVMQI2DPaYuoH1Vw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB7712 X-Authority-Analysis: v=2.4 cv=DPN14zNb c=1 sm=1 tr=0 ts=67c71d19 cx=c_pps a=S2IcI55zTQM2EKrhu3zyRw==:117 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Vs1iUdzkB0EA:10 a=M51BFTxLslgA:10 a=i1IsUcr2s-wA:10 a=2AEO0YjSAAAA:8 a=OlggIWMgOj6OOkBI_M4A:9 a=QEXdDO2ut3YA:10 a=d-TXpq5eZF0AJmg2YLt_:22 X-Proofpoint-GUID: RbI5rGfH_qpDrhLhf_ndaT-rnZXHIXok X-Proofpoint-ORIG-GUID: RbI5rGfH_qpDrhLhf_ndaT-rnZXHIXok X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1093,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-04_06,2025-03-03_04,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 lowpriorityscore=0 impostorscore=0 adultscore=0 malwarescore=0 suspectscore=0 mlxscore=0 bulkscore=0 phishscore=0 clxscore=1015 spamscore=0 mlxlogscore=999 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.21.0-2502100000 definitions=main-2503040126 It is possible to use nl80211 to request to the driver to do allow the required bus configuration to wake-up the host. This patch implements the required API for nl80211. Signed-off-by: Jérôme Pouiller --- drivers/net/wireless/silabs/wfx/bus.h | 1 + drivers/net/wireless/silabs/wfx/bus_sdio.c | 8 ++++++++ drivers/net/wireless/silabs/wfx/bus_spi.c | 8 ++++++++ drivers/net/wireless/silabs/wfx/main.c | 1 + drivers/net/wireless/silabs/wfx/sta.c | 10 ++++++++++ drivers/net/wireless/silabs/wfx/sta.h | 1 + 6 files changed, 29 insertions(+) diff --git a/drivers/net/wireless/silabs/wfx/bus.h b/drivers/net/wireless/silabs/wfx/bus.h index ccadfdd6873c..79edaef20881 100644 --- a/drivers/net/wireless/silabs/wfx/bus.h +++ b/drivers/net/wireless/silabs/wfx/bus.h @@ -28,6 +28,7 @@ struct wfx_hwbus_ops { void (*lock)(void *bus_priv); void (*unlock)(void *bus_priv); size_t (*align_size)(void *bus_priv, size_t size); + void (*set_wakeup)(void *priv, bool enabled); }; extern struct sdio_driver wfx_sdio_driver; diff --git a/drivers/net/wireless/silabs/wfx/bus_sdio.c b/drivers/net/wireless/silabs/wfx/bus_sdio.c index 27c5d7f534a4..ab0793b9908f 100644 --- a/drivers/net/wireless/silabs/wfx/bus_sdio.c +++ b/drivers/net/wireless/silabs/wfx/bus_sdio.c @@ -173,6 +173,13 @@ static size_t wfx_sdio_align_size(void *priv, size_t size) return sdio_align_size(bus->func, size); } +static void wfx_sdio_set_wakeup(void *priv, bool enabled) +{ + struct wfx_sdio_priv *bus = priv; + + device_set_wakeup_enable(&bus->func->dev, enabled); +} + static const struct wfx_hwbus_ops wfx_sdio_hwbus_ops = { .copy_from_io = wfx_sdio_copy_from_io, .copy_to_io = wfx_sdio_copy_to_io, @@ -181,6 +188,7 @@ static const struct wfx_hwbus_ops wfx_sdio_hwbus_ops = { .lock = wfx_sdio_lock, .unlock = wfx_sdio_unlock, .align_size = wfx_sdio_align_size, + .set_wakeup = wfx_sdio_set_wakeup, }; static const struct of_device_id wfx_sdio_of_match[] = { diff --git a/drivers/net/wireless/silabs/wfx/bus_spi.c b/drivers/net/wireless/silabs/wfx/bus_spi.c index 20b9c016b40c..45ee19e1ecbf 100644 --- a/drivers/net/wireless/silabs/wfx/bus_spi.c +++ b/drivers/net/wireless/silabs/wfx/bus_spi.c @@ -180,6 +180,13 @@ static size_t wfx_spi_align_size(void *priv, size_t size) return ALIGN(size, 4); } +static void wfx_spi_set_wakeup(void *priv, bool enabled) +{ + struct wfx_spi_priv *bus = priv; + + device_set_wakeup_enable(&bus->func->dev, enabled); +} + static const struct wfx_hwbus_ops wfx_spi_hwbus_ops = { .copy_from_io = wfx_spi_copy_from_io, .copy_to_io = wfx_spi_copy_to_io, @@ -188,6 +195,7 @@ static const struct wfx_hwbus_ops wfx_spi_hwbus_ops = { .lock = wfx_spi_lock, .unlock = wfx_spi_unlock, .align_size = wfx_spi_align_size, + .set_wakeup = wfx_spi_set_wakeup, }; static int wfx_spi_suspend(struct device *dev) diff --git a/drivers/net/wireless/silabs/wfx/main.c b/drivers/net/wireless/silabs/wfx/main.c index 55573d975cf9..a61128debbad 100644 --- a/drivers/net/wireless/silabs/wfx/main.c +++ b/drivers/net/wireless/silabs/wfx/main.c @@ -162,6 +162,7 @@ static const struct ieee80211_ops wfx_ops = { #ifdef CONFIG_PM .suspend = wfx_suspend, .resume = wfx_resume, + .set_wakeup = wfx_set_wakeup, #endif }; diff --git a/drivers/net/wireless/silabs/wfx/sta.c b/drivers/net/wireless/silabs/wfx/sta.c index 9e06f8b8b90d..e95b9ded17d9 100644 --- a/drivers/net/wireless/silabs/wfx/sta.c +++ b/drivers/net/wireless/silabs/wfx/sta.c @@ -10,6 +10,7 @@ #include "sta.h" #include "wfx.h" +#include "bus.h" #include "fwio.h" #include "bh.h" #include "key.h" @@ -816,6 +817,15 @@ int wfx_resume(struct ieee80211_hw *hw) { return 0; } + +void wfx_set_wakeup(struct ieee80211_hw *hw, bool enabled) +{ + struct wfx_dev *wdev = hw->priv; + + if (enabled) + dev_info(wdev->dev, "support for WoWLAN is experimental\n"); + wdev->hwbus_ops->set_wakeup(wdev->hwbus_priv, enabled); +} #endif int wfx_start(struct ieee80211_hw *hw) diff --git a/drivers/net/wireless/silabs/wfx/sta.h b/drivers/net/wireless/silabs/wfx/sta.h index 70ccc8cb7ec7..8702eed5267f 100644 --- a/drivers/net/wireless/silabs/wfx/sta.h +++ b/drivers/net/wireless/silabs/wfx/sta.h @@ -58,6 +58,7 @@ void wfx_unassign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif struct ieee80211_chanctx_conf *conf); int wfx_suspend(struct ieee80211_hw *hw, struct cfg80211_wowlan *wowlan); int wfx_resume(struct ieee80211_hw *hw); +void wfx_set_wakeup(struct ieee80211_hw *hw, bool enabled); /* Hardware API Callbacks */ void wfx_cooling_timeout_work(struct work_struct *work);