RE: [PATCH net-next v3 4/4] net: phy: realtek: load firmware for RTL8261C_CG

From: Javen

Date: Fri Jun 05 2026 - 06:13:18 EST


>Hi Javen
>
>On 5.6.2026 09:43, javen wrote:
>> From: Javen Xu <javen_xu@xxxxxxxxxxxxxx>
>>
>> This patch adds support for loading firmware. Download some parameters
>> for RTL8261C_CG.
>>
>> Signed-off-by: Javen Xu <javen_xu@xxxxxxxxxxxxxx>
>> ---
>> Changes in v2:
>> - remove __pack, struct rtl8261x_fw_header and rtl8261x_fw_entry will
>> not pad
>> - reverse xmas tree for some definition
>> - add explanation on rtl_phy_write_mmd_bits()
>>
>> Changes in v3:
>> - add struct rtl8261x_priv
>> ---
>
>> [...]
>
>> +static int rtl8261x_config_init(struct phy_device *phydev) {
>> + struct rtl8261x_priv *priv = phydev->priv;
>> + int ret = 0;
>> +
>> + if (priv->fw_name && !priv->fw_loaded) {
>> + ret = rtl8261x_fw_load(phydev);
>> + if (ret) {
>> + phydev_err(phydev, "Firmware loading failed: %d\n", ret);
>> + return ret;
>> + }
>> + }
>
>fw_loaded loads once per lifetime, phy_init_hw() does soft_reset before
>config_init.
>So after a reset (e.g. resume), aren't the patches gone and never re-applied?
>en8811h for example re-runs every config_init - but just guessing as I don't
>know the internals of your fw.
>
>> [...]
>
>Thanks,
>Nicolai

Hi, Nicolai

For RTL8261C_CG, the patches will not be lost after resume or soft_reset. They only need to be downloaded again after a power cycle or a hardware reset.
So the fw_loaded flag is intended to avoid reloading the same parameters multiple times during the PHY device lifetime.

Thanks,
BRs,
Javen