[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID:
<TYZPR03MB700128DD9D712A0A0B51516A80DA2@TYZPR03MB7001.apcprd03.prod.outlook.com>
Date: Mon, 8 Jul 2024 10:09:11 +0000
From: Jacobe Zang <jacobe.zang@...ion.com>
To: Arend Van Spriel <arend.vanspriel@...adcom.com>, "robh@...nel.org"
<robh@...nel.org>, "krzk+dt@...nel.org" <krzk+dt@...nel.org>,
"heiko@...ech.de" <heiko@...ech.de>, "kvalo@...nel.org" <kvalo@...nel.org>,
"davem@...emloft.net" <davem@...emloft.net>, "edumazet@...gle.com"
<edumazet@...gle.com>, "kuba@...nel.org" <kuba@...nel.org>,
"pabeni@...hat.com" <pabeni@...hat.com>, "conor+dt@...nel.org"
<conor+dt@...nel.org>
CC: "efectn@...tonmail.com" <efectn@...tonmail.com>, "dsimic@...jaro.org"
<dsimic@...jaro.org>, "jagan@...eble.ai" <jagan@...eble.ai>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>, "linux-rockchip@...ts.infradead.org"
<linux-rockchip@...ts.infradead.org>, "linux-kernel@...r.kernel.org"
<linux-kernel@...r.kernel.org>, "arend@...adcom.com" <arend@...adcom.com>,
"linux-wireless@...r.kernel.org" <linux-wireless@...r.kernel.org>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>, "megi@....cz"
<megi@....cz>, "duoming@....edu.cn" <duoming@....edu.cn>,
"bhelgaas@...gle.com" <bhelgaas@...gle.com>, "minipli@...ecurity.net"
<minipli@...ecurity.net>, "brcm80211@...ts.linux.dev"
<brcm80211@...ts.linux.dev>, "brcm80211-dev-list.pdl@...adcom.com"
<brcm80211-dev-list.pdl@...adcom.com>, Nick Xie <nick@...das.com>
Subject: Re: [PATCH v3 5/5] wifi: brcmfmac: Add support for AP6275P
>> @@ -1721,7 +1723,7 @@ static int brcmf_pcie_download_fw_nvram(struct
>> brcmf_pciedev_info *devinfo,
>> memcpy_toio(devinfo->tcm + address, nvram, nvram_len);
>> brcmf_fw_nvram_free(nvram);
>>
>> - if (devinfo->otp.valid) {
>> + if (devinfo->otp.valid || devinfo->ci->chip
>
> So the problem here is that otp validity is not unambiguous. The seed
> requirement is mandated by firmware and was introduced for new WCC chips
> moving forward.
>
> I would suggest to have a need_seed flag in the driver_data of the device
> table (below). It currently is used only for vendor identification.
Because of brcmf_pcie_setup function also need the driver_data, so I tried to define
a global variable named NEED_SEED_FLAG. But marco define didn't allow to modify
value in it, do you think where is the best place to assign the flag?
Or you still think should add a new macro named BRCMF_PCIE_DEVICE_NEED_SEED?
To be honest, I'm not quite sure which way is the best.
> Regards,
> Arend
>
>> == BRCM_CC_43752_CHIP_ID) {
>> size_t rand_len = BRCMF_RANDOM_SEED_LENGTH;
>> struct brcmf_random_seed_footer footer = {
>> .length = cpu_to_le32(rand_len),
>> @@ -2710,6 +2712,7 @@ static const struct pci_device_id
>> brcmf_pcie_devid_table[] = {
>> BRCMF_PCIE_DEVICE(BRCM_PCIE_4366_5G_DEVICE_ID, BCA),
>> BRCMF_PCIE_DEVICE(BRCM_PCIE_4371_DEVICE_ID, WCC),
>> BRCMF_PCIE_DEVICE(BRCM_PCIE_43596_DEVICE_ID, CYW),
>> + BRCMF_PCIE_DEVICE(BRCM_PCIE_43752_DEVICE_ID, WCC),
>> BRCMF_PCIE_DEVICE(BRCM_PCIE_4377_DEVICE_ID, WCC),
>> BRCMF_PCIE_DEVICE(BRCM_PCIE_4378_DEVICE_ID, WCC),
>> BRCMF_PCIE_DEVICE(BRCM_PCIE_4387_DEVICE_ID, WCC),
---
Best Regards
Jacobe
Powered by blists - more mailing lists