[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <482e62d3-d1c6-460d-8371-9c46f0ff09bf@quicinc.com>
Date: Tue, 14 Jan 2025 09:51:40 +0800
From: Yijie Yang <quic_yijiyang@...cinc.com>
To: Krzysztof Kozlowski <krzk@...nel.org>, Vinod Koul <vkoul@...nel.org>,
Andrew Lunn <andrew+netdev@...n.ch>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>,
Paolo
Abeni <pabeni@...hat.com>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski
<krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Bjorn Andersson
<andersson@...nel.org>,
Konrad Dybcio <konradybcio@...nel.org>,
Alexandre
Torgue <alexandre.torgue@...s.st.com>,
Jose Abreu <joabreu@...opsys.com>,
Maxime Coquelin <mcoquelin.stm32@...il.com>
CC: <netdev@...r.kernel.org>, <linux-arm-msm@...r.kernel.org>,
<devicetree@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<linux-stm32@...md-mailman.stormreply.com>,
<linux-arm-kernel@...ts.infradead.org>
Subject: Re: [PATCH 2/3] net: stmmac: qcom-ethqos: Enable RX programmable swap
on qcs615
On 2025-01-13 19:26, Krzysztof Kozlowski wrote:
> On 08/01/2025 11:33, Yijie Yang wrote:
>>
>>
>> On 2024-12-27 15:03, Krzysztof Kozlowski wrote:
>>> On 26/12/2024 03:29, Yijie Yang wrote:
>>>>
>>>>
>>>> On 2024-12-25 19:37, Krzysztof Kozlowski wrote:
>>>>> On 25/12/2024 11:04, Yijie Yang wrote:
>>>>>
>>>>>> static int qcom_ethqos_probe(struct platform_device *pdev)
>>>>>> {
>>>>>> - struct device_node *np = pdev->dev.of_node;
>>>>>> + struct device_node *np = pdev->dev.of_node, *root;
>>>>>> const struct ethqos_emac_driver_data *data;
>>>>>> struct plat_stmmacenet_data *plat_dat;
>>>>>> struct stmmac_resources stmmac_res;
>>>>>> @@ -810,6 +805,15 @@ static int qcom_ethqos_probe(struct platform_device *pdev)
>>>>>> ret = of_get_phy_mode(np, ðqos->phy_mode);
>>>>>> if (ret)
>>>>>> return dev_err_probe(dev, ret, "Failed to get phy mode\n");
>>>>>> +
>>>>>> + root = of_find_node_by_path("/");
>>>>>> + if (root && of_device_is_compatible(root, "qcom,sa8540p-ride"))
>>>>>
>>>>>
>>>>> Nope, your drivers are not supposed to poke root compatibles. Drop and
>>>>> fix your driver to behave correctly for all existing devices.
>>>>>
>>>>
>>>> Since this change introduces a new flag in the DTS, we must maintain ABI
>>>> compatibility with the kernel. The new flag is specific to the board, so
>>>
>>> It's not, I don't see it specific to the board in the bindings.
>>
>> I'm sorry for the confusion. This feature is not board-specific but
>> rather a tunable option. All RGMII boards can choose whether to enable
>> this bit in the DTS, so there are no restrictions in the binding.
>
> If it is not specific to the board, I don't see why this cannot be
> implied by compatible.
>
Whether this bit should be enabled should be determined on a per-board
basis, but it should be available for all RGMII-type boards. It should
be left to the users to decide whether to enable this bit in the DTS
file, rather than controlling its existence in the binding file,
shouldn't it?
>>
>>>
>>>> I need to ensure root nodes are matched to allow older boards to
>>>> continue functioning as before. I'm happy to adopt that approach if
>>>> there are any more elegant solutions.
>>>
>>> I don't think you understood the problem. Why you are not handling this
>>> for my board, sa8775p-rideX and sa8225-pre-ride-yellow-shrimp?
>>>
>>
>> This feature is specifically for RGMII boards. The driver won't enable
>
> So board specific?
It is 'phy-mode' specific, to be more precise.
>
>> this bit if the DTS doesn't specify it. To handle compatibility, we need
>
> Do not describe us how drivers and DTS work. We all know.
Sure, I will take care of it.
>
>> to identify legacy RGMII boards with MAC versions greater or equal to 3
>> which require this bit to be enabled.
>> According to my knowledge, the SA8775P is of the SGMII type.
>
>
> Best regards,
> Krzysztof
--
Best Regards,
Yijie
Powered by blists - more mailing lists