Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp5785876rwd; Sun, 18 Jun 2023 19:41:33 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4mNM4IhUibyMF2tLCBvkwUJvTFb7n5w83zdZrDwrtZVoAi4gxKNUcLBkVKcB5/+I79SZbO X-Received: by 2002:a05:6358:41e:b0:12b:df77:ebbd with SMTP id 30-20020a056358041e00b0012bdf77ebbdmr3650003rwd.24.1687142493232; Sun, 18 Jun 2023 19:41:33 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1687142493; cv=pass; d=google.com; s=arc-20160816; b=Xo9A9wbFBd6alOxlrTKm1Ocxj8rDAmoGSB+nbk22+0nbQipF0F/CySu1EymoUwxtTZ dSopXaBnFakV8ueK8w3R+HQCCuem6dQadAHXSWbDia4mq+64H8Ku0A1+FPpkCeXGyoUU quW3P4lgiwMGXIqoCtxTobKkUqOID7GcI68RInQtToY2RuihbmYSWj41JwLktGupC5Y6 y9b3gOLpwok57ml5239MSaoKQjthnhHkwzmOS5yX/KaUMwYfRfy8Eek8O9eoxubgfjFN D+38sznd9+vmUSZoBvW+z+aEHhC2bWi6CpAP0sZ6TDOoW4eeGEQH/0srZV6s1wcNW3P5 CLtA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :in-reply-to:from:references:cc:to:content-language:subject :user-agent:date:message-id:dkim-signature; bh=1AI4sSTeSJbAQ7gL6txSYYN/LjtghXq/VKjjr+jcwwA=; b=S6//H1SdNgB+5U7coh3CY9TU9poONtKknjqgy6XwqlMUjyz2EzQeYAxKxlCJM58TA0 3CqXy9ZAcJra3KMK3G92QpYYZ4R6uvvGWhe2J8e1IenHWHZLz15gWy/R5wntKjHZkkhl cBfcsg+63ZgxC01VnJP3BrQcEXIlPHT0IaFNQdzf5eXRH9sboSizwTSIGui88h/hdNF/ IuGkBN5AN6TqVdESPXYpB54zvGPYWtkz+O1ab9tVcHhcP0PDIVT9gOJHeckQ+tCY8zOO lWHYnWMUD6Vtqn4rf9Mss1HyPoHZeyvvBlzrZiQAuFpga1B6MiWpDP4MgVfa6Uzmy0xh G1dQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=p7FTgvFl; arc=pass (i=1 spf=pass spfdomain=amd.com dkim=pass dkdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id t15-20020aa7946f000000b0066871182536si2800946pfq.194.2023.06.18.19.41.24; Sun, 18 Jun 2023 19:41:33 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=p7FTgvFl; arc=pass (i=1 spf=pass spfdomain=amd.com dkim=pass dkdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229695AbjFSC1q (ORCPT + 61 others); Sun, 18 Jun 2023 22:27:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50760 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229523AbjFSC1p (ORCPT ); Sun, 18 Jun 2023 22:27:45 -0400 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2073.outbound.protection.outlook.com [40.107.94.73]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 16129E47; Sun, 18 Jun 2023 19:27:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AuAkxLL97leGQ9XH3Y59+q8KMLU03vn+ZqsNiaXEr5xJLrYdiNVcAmLwU9hMcvsOEUr2Y+FFAbIdSgnZieljX0ofP6mSSIKVJhQNMpY4PHq0taSYJy4Guq8shOvGXfcHA0ufbwZYQtzJ/Rvd+Wk+o7qtAUklyjMohcx3uOHV7VaZIeWTLB0XV1OnUMsByK4U03Pv82YI0V6tO/CNT+BhZPhgkOfYll74CRvSBM5e2u9Sb8s+Ri2QTu4dWKy4ASdtsQ5qExSJodz1vo0qbw9Zev+4gvdYpo5haputvkc8eom3nmi+m6mkJVjU9MyzTqqLI+WrEsfr/kiNQ5cWPd8meA== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=1AI4sSTeSJbAQ7gL6txSYYN/LjtghXq/VKjjr+jcwwA=; b=ky9uDj1F6NSsKqTX0IeYYWtBoxBDhERTaFLLO6wltbCEAOSSZ3cdyUc/hzGQsjxJGk7NKS7p5wfsFR94BsuAqlGIvE4rjp8NJa8i5q5tQcaT9yMH/g2qs636OsEd/SQwkO+Fgz28e6EQyx4x8GxGaX2MHKZ8jX+IeCXaW4tgNuTi8/+s4QWJeGUMEa/26/JOV/2Rzq7zbbHa5T5xlgIo5iooh3k915Fq6KmW8CwfvK9qtxun+rmQ7+61DYndEx4NgXLlorzhpzG6VqE/ckOotJmkgauP5Gv3RsA4MWiQEejdpClfF54pV9o6Iw+jPWpBeNKfYJwB9DdYz24d1+G1kA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1AI4sSTeSJbAQ7gL6txSYYN/LjtghXq/VKjjr+jcwwA=; b=p7FTgvFlcv+fqs18TGR/BD3NgYo5cWvaAqR6+Id2QBUvSZjKEgbhsLR40oY5QA3fofQHpluRwytx9zN8B8oe3i8xhfhvO6JhfrwE7k7+3ZD3eTxp0kmP1LTvAPEhc34OjtBPrvL25oCICTqsfpBP4vaID6OfCkiqDpJU8S+D6tg= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; Received: from MN0PR12MB6101.namprd12.prod.outlook.com (2603:10b6:208:3cb::10) by SA1PR12MB8860.namprd12.prod.outlook.com (2603:10b6:806:38b::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6500.29; Mon, 19 Jun 2023 02:27:40 +0000 Received: from MN0PR12MB6101.namprd12.prod.outlook.com ([fe80::dfcf:f53c:c778:6f70]) by MN0PR12MB6101.namprd12.prod.outlook.com ([fe80::dfcf:f53c:c778:6f70%5]) with mapi id 15.20.6500.036; Mon, 19 Jun 2023 02:27:40 +0000 Message-ID: <2bf4e20b-b206-6337-dcee-d8a13804db50@amd.com> Date: Sun, 18 Jun 2023 21:27:37 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.1 Subject: Re: [PATCH V3 7/7] drm/amd/pm: enable Wifi RFI mitigation feature support for SMU13.0.7 Content-Language: en-US To: Evan Quan , rafael@kernel.org, lenb@kernel.org, Alexander.Deucher@amd.com, Christian.Koenig@amd.com, Xinhui.Pan@amd.com, airlied@gmail.com, daniel@ffwll.ch, kvalo@kernel.org, nbd@nbd.name, lorenzo@kernel.org, ryder.lee@mediatek.com, shayne.chen@mediatek.com, sean.wang@mediatek.com, matthias.bgg@gmail.com, angelogioacchino.delregno@collabora.com, Lijo.Lazar@amd.com Cc: linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org, amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-wireless@vger.kernel.org References: <20230616065757.1054422-1-evan.quan@amd.com> <20230616065757.1054422-8-evan.quan@amd.com> From: Mario Limonciello In-Reply-To: <20230616065757.1054422-8-evan.quan@amd.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: SN6PR16CA0068.namprd16.prod.outlook.com (2603:10b6:805:ca::45) To MN0PR12MB6101.namprd12.prod.outlook.com (2603:10b6:208:3cb::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN0PR12MB6101:EE_|SA1PR12MB8860:EE_ X-MS-Office365-Filtering-Correlation-Id: c283942d-62f6-40d0-8f45-08db706cc160 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: gR9Vk5flu5Yq23Avo2P5uHi8g0ly1syFXs9t5bj4QC5GKWmIEbGVQDMas2cQn7LU7nGNeQsK+4CXB3SDPI2wv8e0OKlCbEevCKcFwaUHwxzj1X9oDzYzz4+HM/jjBS5RXCFn8hdIgu8h8PPr+RqERY9WiXd5XvLWQuK+Rn+CyqwF6pyNoZqGO0oJx+A+FLcumlUOzXY2NUkjDfaOTqF6eHRCNO2OxuODxzPmzE1l3de54J2xfqbqmsFLy56TAgayqfiJnOJdY7v1K5Z0khW9laua7ZgVYhaNOMV21A5INd9su/fZNCF4vDeAAjqVmxyTCZclvq/MSHOm1EmmB9q+phuHytP7BsY+pO4VLoukOL53tAN0wmYpjwH/2dLM/LBLECSXTTCys5/uHQN20yi8rlwKoSbRN7f3fiJT3ItJy3Ue5iUTYKBpL5V6iHJOqZjiTEYqkdPGliakECOC86JEw5xA4Ztn27HzJUlEVoWnVbqK3jtVGopBj3j69UCW/nfHGYwBj8o11aVWp8+tXH5FiyDbBWzTm7SnXa37D3etKfLPLEDNjfmvCljmOg3853Pn38/r6YrpmL8iRzgdW4/UXtMzOnziOu58RHMb4XLh+8MVppfqYEmc0FRg0lMxXl9GG6rZS6ZUzjeb8klnM1+lsi5rYa676uLLm7E7hg+mGLg= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN0PR12MB6101.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(396003)(136003)(39860400002)(376002)(346002)(366004)(451199021)(316002)(478600001)(44832011)(31696002)(86362001)(6486002)(6666004)(38100700002)(41300700001)(83380400001)(66946007)(66556008)(6636002)(4326008)(66476007)(8676002)(8936002)(31686004)(921005)(2906002)(5660300002)(6506007)(53546011)(186003)(6512007)(2616005)(36756003)(7416002)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ZWdwaUoyM3BKRDRXUVh2Qk9JR2JyTmpFS1pUTExuZkZNNU5Pa0JXRU9BZmFn?= =?utf-8?B?RUlVTWlNbHNOQnVzWUVUUnVRdWt6M3ZIdmtHSUMvMTEyaTBReE1FUE9YVk1x?= =?utf-8?B?R2ZtRXoyRG40SHg3OEtoWkNQSWt6Sy9oR3BuL2xPMUZaaFdiM29BUmlyTk9N?= =?utf-8?B?Y2h3aDRObmR3NkpXYWh1VmNQejFkR0pta3dJbWVid3BwZVFXd1VIUlFDT0ps?= =?utf-8?B?MmpyMlNaL056akFOejBheU9UYTZXZ3R3S3Y4TDVzMnV4NmVxSkcvTmM4TEFJ?= =?utf-8?B?allPZXRlVEF5M0hSaytWMmRiWEU5MFBmWGpkK0IrdFNQN2VvelJVdW1Db3dU?= =?utf-8?B?d3B4QjlNblE3YjZvL2hLSDMyejlSWU40MFRtSHU5cnY4VndINzQyQ2dMdnpC?= =?utf-8?B?VTJuU2lvUWVXdG84R1ArSGNwM1lnOFBWMDJTUHZIaEhaWUxqdUUyZVhXV1o3?= =?utf-8?B?aWFZNERDT3ZRYnhJMVVZTHFnNHJheWxCajdGV2Vud1hIVC9RcjdFeTVRMVJq?= =?utf-8?B?Q3p2ZGErOE1iaDVLQ1RpL28wb3ZtamFTQlZQTllNci9Pd0gwWUd2UHJHSW9t?= =?utf-8?B?UEV5TStvYW5VSFBHK3NxWUYyQTlMWDJlcjdsdFVqV0F3KzkraVhHU1JYTnZL?= =?utf-8?B?d0RrbmZhTi9tbnJNc0JURFJuUGVjeVROU3UwQk9NcHpIU2ZMSU1LTkIrQnMy?= =?utf-8?B?YkJhRitwcEVyektrYTh6WDluN0tBSUt3T1RhbGJXR2pPV1hpZEpNaWtPR0FL?= =?utf-8?B?NDFLM0xPbDZaa1h5VGROM3A3bDJJWm1hK0Z2M3NnaDVKaDJLMS95ckxENmRQ?= =?utf-8?B?U0FsVk5iNlFERG5UZ2NpY1VEaXFPMmV0UmJBbmFraW4rVWp2TWpTVFRaMkNK?= =?utf-8?B?Tm5uWjJHOWlpNUtzK3BKU2J2S3c4bFZCcStVc0VDYVRFQSttK2N6K2NWQnVP?= =?utf-8?B?OC9aRUpnL2RUVE1ZaWpoc096NTJ2RHlQREJzYzU4YlhTWm1sVE9IWHMwcG9Z?= =?utf-8?B?TC8zTEhUVE1OTVp1clM5eUFGZ0prMkJDNWl6YnBSZ0xXUXZRT09ybDFXOVN6?= =?utf-8?B?N0pZRWJNS1E1WHRJSzdtN2t3WU1ubE5Fa2tFZUthTTV1S2ZnWnZIeXdkcEw5?= =?utf-8?B?YnNpb0ZlUmE4L0JaUGY3cTU2ZmQ2cHZnYkQzS3ZSeHFGWDZFUEpmM1JXNmFQ?= =?utf-8?B?ZER0Q3RwVThRbXQ3TVNocHBlQ0hoM3RXODY3cUJzWTBDT2ZDTkw5VmRIN1h0?= =?utf-8?B?bW1lYTAzTDEydFRQTzB6MDE0Qnd0TXVlbzBoSWNaclU4eXpBSktFOGt0UWEw?= =?utf-8?B?Z1Z4cW1JRys2UHZuUXBsZGxIejVCb2RlN3dBa01iam0remN0czhaNmFyYXNl?= =?utf-8?B?Tkw4UGxkcU9EdkxscEVlVi9kdGlGR0QzZTE4bjdqMWxHZEEzQnNwQS84VWZj?= =?utf-8?B?WkF0TUEzbDVCTmlwcUlMS3MxRjNZNnNCbVA5eDJmYXpGTTA4cmd4ZEorZ2ZQ?= =?utf-8?B?SVQwRmNISU1IZjExMnRrakZ5NVQ3U1RZWnNJQkJBYmdjR2dBTVNETkxHMHdK?= =?utf-8?B?b1VuVHFrbC9ld0VlM0RTeGxZWEFSSUw2RlQ3R2J4NXVDMFVMSlFRcFRHdmJH?= =?utf-8?B?RmV6TmIrMzFWZlJLcVF6b000WS91SjAzRDVIMkZjTjdWdUkxc0d5QnREdWhN?= =?utf-8?B?elF6Um1Ia1VwaUdLV1J6d1gxQzl2c1g2TkFGYndoZ1B0K3pFSHhubU03dTRZ?= =?utf-8?B?WDc5emFFeUtNV25McmwyVzdPWlRyVFloTkdwN2NDOFYzTnhpSURVRDZ6bTNF?= =?utf-8?B?L2xmOUZrblNUMXRtTlMwblJjSFp4M0x0YVYwOTlJckliTlNtSG40YWFySjly?= =?utf-8?B?TG9PQzB0SUZqMUxScHVyeUhNbllKN0d3UEpyM2dEOXdMRC9hc1AvNHVZUmVW?= =?utf-8?B?aVlSSmJRZjdJOTBZV0FMVExVdWtVRXlYU2lHbFBZMG9BZTlxd2ZKejBWSkZ6?= =?utf-8?B?MXYyWFhabHoyQTBlVkRmeHhnQktXbnJvMFNqTGRkVG9sM3ErU3FaS1IyNEd3?= =?utf-8?B?b2IyL3pxRkRYU21CU0FUMTkzaTdWYjN1Qml2eHVVTmNMcVNYeVE4aFdPcVVk?= =?utf-8?B?VE56U20wT3Nab0JNU250dDZkUE5Ma1A3TXFPZ2ZjUUZtdGxFSVZXR1RmQXZO?= =?utf-8?B?Nmc9PQ==?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: c283942d-62f6-40d0-8f45-08db706cc160 X-MS-Exchange-CrossTenant-AuthSource: MN0PR12MB6101.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2023 02:27:40.7307 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: vSNf8iuaSk3FuVfvaSIQE3tCSXDE7N7XV6OYOk2YHP6vu/EFwjAttayjl6Qj+nIiwnEjDHrMbjcXKgJDFLgq3w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB8860 X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO,NICE_REPLY_A, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org On 6/16/23 01:57, Evan Quan wrote: > Fulfill the SMU13.0.7 support for Wifi RFI mitigation feature. > > Signed-off-by: Evan Quan Reviewed-by: Mario Limonciello > --- > .../drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c | 59 +++++++++++++++++++ > 1 file changed, 59 insertions(+) > > diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c > index 98a33f8ee209..16c1c04e2034 100644 > --- a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c > +++ b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c > @@ -125,6 +125,7 @@ static struct cmn2asic_msg_mapping smu_v13_0_7_message_map[SMU_MSG_MAX_COUNT] = > MSG_MAP(ArmD3, PPSMC_MSG_ArmD3, 0), > MSG_MAP(AllowGpo, PPSMC_MSG_SetGpoAllow, 0), > MSG_MAP(GetPptLimit, PPSMC_MSG_GetPptLimit, 0), > + MSG_MAP(EnableUCLKShadow, PPSMC_MSG_EnableUCLKShadow, 0), > }; > > static struct cmn2asic_mapping smu_v13_0_7_clk_map[SMU_CLK_COUNT] = { > @@ -205,6 +206,7 @@ static struct cmn2asic_mapping smu_v13_0_7_table_map[SMU_TABLE_COUNT] = { > TAB_MAP(DRIVER_SMU_CONFIG), > TAB_MAP(ACTIVITY_MONITOR_COEFF), > [SMU_TABLE_COMBO_PPTABLE] = {1, TABLE_COMBO_PPTABLE}, > + TAB_MAP(WIFIBAND), > }; > > static struct cmn2asic_mapping smu_v13_0_7_pwr_src_map[SMU_POWER_SOURCE_COUNT] = { > @@ -487,6 +489,9 @@ static int smu_v13_0_7_tables_init(struct smu_context *smu) > AMDGPU_GEM_DOMAIN_VRAM); > SMU_TABLE_INIT(tables, SMU_TABLE_COMBO_PPTABLE, MP0_MP1_DATA_REGION_SIZE_COMBOPPTABLE, > PAGE_SIZE, AMDGPU_GEM_DOMAIN_VRAM); > + SMU_TABLE_INIT(tables, SMU_TABLE_WIFIBAND, > + sizeof(WifiBandEntryTable_t), PAGE_SIZE, > + AMDGPU_GEM_DOMAIN_VRAM); > > smu_table->metrics_table = kzalloc(sizeof(SmuMetricsExternal_t), GFP_KERNEL); > if (!smu_table->metrics_table) > @@ -1721,6 +1726,57 @@ static int smu_v13_0_7_set_df_cstate(struct smu_context *smu, > NULL); > } > > +static bool smu_v13_0_7_wbrf_support_check(struct smu_context *smu) > +{ > + return smu->smc_fw_version > 0x00524600; > +} > + > +static int smu_v13_0_7_set_wbrf_exclusion_ranges(struct smu_context *smu, > + struct exclusion_range *exclusion_ranges) > +{ > + WifiBandEntryTable_t wifi_bands; > + int valid_entries = 0; > + int ret, i; > + > + memset(&wifi_bands, 0, sizeof(wifi_bands)); > + for (i = 0; i < ARRAY_SIZE(wifi_bands.WifiBandEntry); i++) { > + if (!exclusion_ranges[i].start && > + !exclusion_ranges[i].end) > + break; > + > + /* PMFW expects the inputs to be in Mhz unit */ > + wifi_bands.WifiBandEntry[valid_entries].LowFreq = > + DIV_ROUND_DOWN_ULL(exclusion_ranges[i].start, HZ_IN_MHZ); > + wifi_bands.WifiBandEntry[valid_entries++].HighFreq = > + DIV_ROUND_UP_ULL(exclusion_ranges[i].end, HZ_IN_MHZ); > + } > + wifi_bands.WifiBandEntryNum = valid_entries; > + > + /* > + * Per confirm with PMFW team, WifiBandEntryNum = 0 is a valid setting. > + * Considering the scenarios below: > + * - At first the wifi device adds an exclusion range e.g. (2400,2500) to > + * BIOS and our driver gets notified. We will set WifiBandEntryNum = 1 > + * and pass the WifiBandEntry (2400, 2500) to PMFW. > + * > + * - Later the wifi device removes the wifiband list added above and > + * our driver gets notified again. At this time, driver will set > + * WifiBandEntryNum = 0 and pass an empty WifiBandEntry list to PMFW. > + * - PMFW may still need to do some uclk shadow update(e.g. switching > + * from shadow clock back to primary clock) on receiving this. > + */ > + > + ret = smu_cmn_update_table(smu, > + SMU_TABLE_WIFIBAND, > + 0, > + (void *)(&wifi_bands), > + true); > + if (ret) > + dev_err(smu->adev->dev, "Failed to set wifiband!"); > + > + return ret; > +} > + > static const struct pptable_funcs smu_v13_0_7_ppt_funcs = { > .get_allowed_feature_mask = smu_v13_0_7_get_allowed_feature_mask, > .set_default_dpm_table = smu_v13_0_7_set_default_dpm_table, > @@ -1786,6 +1842,9 @@ static const struct pptable_funcs smu_v13_0_7_ppt_funcs = { > .set_mp1_state = smu_v13_0_7_set_mp1_state, > .set_df_cstate = smu_v13_0_7_set_df_cstate, > .gpo_control = smu_v13_0_gpo_control, > + .is_asic_wbrf_supported = smu_v13_0_7_wbrf_support_check, > + .enable_uclk_shadow = smu_v13_0_enable_uclk_shadow, > + .set_wbrf_exclusion_ranges = smu_v13_0_7_set_wbrf_exclusion_ranges, > }; > > void smu_v13_0_7_set_ppt_funcs(struct smu_context *smu)