Received: by 2002:a05:6358:16cc:b0:ea:6187:17c9 with SMTP id r12csp11355536rwl; Mon, 2 Jan 2023 19:59:22 -0800 (PST) X-Google-Smtp-Source: AMrXdXuCAXQCzvXLrV3FYOzJUrGtCLseQiEN4fsACkuBibub81lTu7gvdr334KfmH2gUBHQ5qOg1 X-Received: by 2002:a17:906:3ec8:b0:846:cdd9:d23 with SMTP id d8-20020a1709063ec800b00846cdd90d23mr33429707ejj.19.1672718362671; Mon, 02 Jan 2023 19:59:22 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1672718362; cv=none; d=google.com; s=arc-20160816; b=awTnOfRRJb6OKV7uu3OY2/ZJ2vlIbALBtiroo7VEq4OWORF/UX8Yx/SQQHf2DAlr1Y /fljHlHikqo6USpXK6+R1XSBW58yw73ZBaXKcNE4fRMNsd/Gq6FBZsEVPPD3ZLSiEUsL D4NI/jaKEk/oJj2rOFS/BGCUAcNtdLAkONY8qmTLQA4GDuSv01NYjKLNUqdhB5A2K2p1 K1ZnacORiEHtB6i3TZO+P5oZEulIQdHOzHg3zyA147havTVL5o3F/X1JnJNQQB0pDuA1 gn4O6rpZ/vzD55xea5xHldQ9kJLemItv5OpxE9ZtWyed/lNZ831je6URf56ZPpVqTzmw L25A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id:dkim-signature; bh=QJNwcg9bVwlQirz4Wme3S9Ld/ZiSOAIoSWGPn0TLGDE=; b=fCbrA9a9AtyZQB0yIcdAxTJC7a7c0hiH8Z7sMkFcB3HuD/wf7tREufEil6TQgswYBV KV/PGMjT2AtZxbd5fwhdgVNjBLZJ355p8Jm/4xObi+7VoqxZVjp+kPc1K+0jPrk5OlqW /R2+ZXdR/eDvUV1JS0bidw0wKk2Jx2+iTYTR79+vHmS1kwphAavshkMGaswk+0jBqDy/ 0bRwe13/BTfuYCMT3SyAs9TbJ3UZsbHX4XjuL7+kso5XX8iJxle2e1rRTS+Dwnepm5Pp Quk147h8VJurh8F/FfP2n7fNXyGcbht+bB9zKPsBKG6kx/swaOD+nE2YrYZfeQuUSNHk NkyA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@marcan.st header.s=default header.b="F/gg5uQz"; 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=marcan.st Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id xd2-20020a170907078200b007ae4ed48290si27682310ejb.279.2023.01.02.19.59.02; Mon, 02 Jan 2023 19:59:22 -0800 (PST) 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=@marcan.st header.s=default header.b="F/gg5uQz"; 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=marcan.st Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236660AbjACD4N (ORCPT + 67 others); Mon, 2 Jan 2023 22:56:13 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57012 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230050AbjACD4L (ORCPT ); Mon, 2 Jan 2023 22:56:11 -0500 Received: from mail.marcansoft.com (marcansoft.com [212.63.210.85]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DCBFD105; Mon, 2 Jan 2023 19:56:08 -0800 (PST) Received: from [127.0.0.1] (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: marcan@marcan.st) by mail.marcansoft.com (Postfix) with ESMTPSA id 6956041DF4; Tue, 3 Jan 2023 03:56:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=marcan.st; s=default; t=1672718166; bh=0co2iDbnvPtc0hBv0PZI8JkI2F1BtjH5BwsUTUdoWwo=; h=Date:Subject:To:Cc:References:From:In-Reply-To; b=F/gg5uQz2GRvyTw8JUQ9eD8pT3T7lNap/jZ4jF+9I3v6rKQc8R5NaIqQQRZQHwhwC q2D21Wp9zpgw3YcmU2QA08cc1Qe9auVnTvF97uOoKszA/jeZzPhFz1jU6ijnfy7Hec W5PIKQNBb48WwH1mCKTNLG/MB4PZOZZC2AsPgqDbqKWGpJUPcCgzTx2DB9kzj/lhK9 teAKQRabAaukXjSs+bNMcqYiJIB4o31ZfflLmRJqxORwdtrk0mChMtSYFo4nwUEbUw SIgEbbp5nc3UouzEKNk2LtZK/PSP81XlY0rLBtkUUFYVln4ZTer4p1siGsRuCkzCQ+ 8Hkpn2mrtpOaw== Message-ID: <3785835b-164b-28d1-6905-85454cabb69d@marcan.st> Date: Tue, 3 Jan 2023 12:55:59 +0900 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux aarch64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Subject: Re: [PATCH 1/2] brcmfmac: Use separate struct to declare firmware names for Apple OTP chips Content-Language: en-US To: Arend Van Spriel , Aditya Garg , aspriel@gmail.com, hante.meuleman@broadcom.com, kvalo@kernel.org, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, lina@asahilina.net, franky.lin@broadcom.com Cc: Orlando Chamberlain , brcm80211-dev-list@broadcom.com, brcm80211-dev-list.pdl@broadcom.com, linux-wireless@vger.kernel.org, LKML , Asahi Linux References: <9c5bdb0a-0877-ed16-f09f-164a9dab16d4@marcan.st> <18573bd1a38.279b.9b12b7fc0a3841636cfb5e919b41b954@broadcom.com> From: Hector Martin In-Reply-To: <18573bd1a38.279b.9b12b7fc0a3841636cfb5e919b41b954@broadcom.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-5.2 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A,SPF_HELO_NONE, SPF_PASS autolearn=ham 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 2023/01/03 3:27, Arend Van Spriel wrote: > On January 2, 2023 4:15:41 PM Hector Martin wrote: > >> On 02/01/2023 23.40, Aditya Garg wrote: >>> From: Aditya Garg >>> >>> Commit 'dce45ded7619' added support for 89459 chip pcie device. It uses the >>> BRCM4355 chip which is also found in Apple hardware. However this commit >>> causes conflicts in the firmware naming between Apple hardware, which >>> supports OTP and other non-Apple hardwares. So, this patch makes these >>> Apple chips use their own firmware table so as to avoid possible conflicts >>> like these in the future. >> >> I think my reply to Arend flew over your head. >> >> My point was that I'd rather have the Broadcom/Cypress people actually >> answer my question so we can figure out how to do this *properly*, >> instead of doing "safer-but-dumb" things (like this patch) because we >> just don't have the information to do it properly. > > Fair enough. Can you accurately (re)state your question and I will try to > answer it. As per my original email: Is the CYW89459 just a rebrand of the BCM4355, or just a subset? Can we consider them equivalent, and equivalent to the Apple part (BCM4355C1 / revision 12)? More specifically: - What BCM4355 variants exist in the wild, and what are their PCI device IDs and revision IDs? - Is a single firmware nominally intended to be compatible with all of those variants? Does that include the CYW89459 branded parts? - If CYW89459 is a rebrand of BCM4355, is it complete, or are there still chips being sold as BCM4355? Even more specifically, bcmdhd has these device IDs: #define BCM4355_D11AC_ID 0x43dc /* 4355 802.11ac dualband device */ #define BCM4355_D11AC2G_ID 0x43fc /* 4355 802.11ac 2.4G device */ #define BCM4355_D11AC5G_ID 0x43fd /* 4355 802.11ac 5G device */ But the patch I'm replying to uses PCI ID 0x4355, which instead should be: #define BCM43237_D11N_ID 0x4355 /* 43237 802.11n dualband device */ #define BCM43237_D11N5G_ID 0x4356 /* 43237 802.11n 5GHz device */ So what's up with the BCM43237? Is that a 4355 variant? Is this what got rebranded as CYW89459? Is it firmware-compatible with the others? I'm going to be honest here: I'm quite saddened by the state of brcmfmac and Broadcom's neglect of this driver. Other than the Apple OTP / firmware selection shenanigans, everything else I'm having to implement to support Apple machines are features that Broadcom's downstream bcmdhd driver *already* supports on non-Apple machines, not Apple-specific. Not only that, people are asking for modern WiFi features like newer crypto modes that bcmdhd supports but brcmfmac doesn't. It seems clear that Broadcom isn't interested in maintaining this driver and updating it to support newer chips and features. So I'm basically doing your job for you all. Which is fine, but if I'm going to be in charge of implementing all this stuff for you, *please* help me by at least clarifying the device variant / firmware feature related issues, because getting that wrong will cause regressions or firmware naming scheme breaks down the line, and that sucks for users. - Hector