From: <Parthiban.Veerasooran@microchip.com>
To: <andrew@lunn.ch>
Cc: <davem@davemloft.net>, <edumazet@google.com>, <kuba@kernel.org>,
<pabeni@redhat.com>, <horms@kernel.org>, <saeedm@nvidia.com>,
<anthony.l.nguyen@intel.com>, <netdev@vger.kernel.org>,
<linux-kernel@vger.kernel.org>, <corbet@lwn.net>,
<linux-doc@vger.kernel.org>, <robh+dt@kernel.org>,
<krzysztof.kozlowski+dt@linaro.org>, <conor+dt@kernel.org>,
<devicetree@vger.kernel.org>, <Horatiu.Vultur@microchip.com>,
<ruanjinjie@huawei.com>, <Steen.Hegelund@microchip.com>,
<vladimir.oltean@nxp.com>, <UNGLinuxDriver@microchip.com>,
<Thorsten.Kummermehr@microchip.com>, <Pier.Beruto@onsemi.com>,
<Selvamani.Rajagopal@onsemi.com>, <Nicolas.Ferre@microchip.com>,
<benjamin.bigler@bernformulastudent.ch>
Subject: Re: [PATCH net-next v3 04/12] net: ethernet: oa_tc6: implement software reset
Date: Thu, 7 Mar 2024 07:39:44 +0000 [thread overview]
Message-ID: <bff71d0b-49d0-4a4c-98c1-7df7056c4268@microchip.com> (raw)
In-Reply-To: <4e56f5c2-3d5c-4dda-8a37-01c1dbce27d7@lunn.ch>
Hi Andrew,
On 07/03/24 6:05 am, Andrew Lunn wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>
>> +/* Status Register #0 */
>> +#define OA_TC6_REG_STATUS0 0x0008
>> +#define STATUS0_RESETC BIT(6) /* Reset Complete */
>> +
>> /* Control command header */
>> #define OA_TC6_CTRL_HEADER_DATA_NOT_CTRL BIT(31)
>> #define OA_TC6_CTRL_HEADER_WRITE BIT(29)
>> @@ -24,6 +34,8 @@
>> (OA_TC6_CTRL_MAX_REGISTERS *\
>> OA_TC6_CTRL_REG_VALUE_SIZE) +\
>> OA_TC6_CTRL_IGNORED_SIZE)
>> +#define STATUS0_RESETC_POLL_DELAY 5
>> +#define STATUS0_RESETC_POLL_TIMEOUT 100
>>
>> /* Internal structure for MAC-PHY drivers */
>> struct oa_tc6 {
>> @@ -279,6 +291,39 @@ int oa_tc6_write_register(struct oa_tc6 *tc6, u32 address, u32 value)
>> }
>> EXPORT_SYMBOL_GPL(oa_tc6_write_register);
>>
>> +static int oa_tc6_read_sw_reset_status(struct oa_tc6 *tc6)
>> +{
>> + u32 regval;
>> + int ret;
>> +
>> + ret = oa_tc6_read_register(tc6, OA_TC6_REG_STATUS0, ®val);
>> + if (ret)
>> + return 0;
>> +
>> + return regval;
>
> The function name does not really fit what the function does. The
> function returns OA_TC6_REG_STATUS0. I assume it has more bits in it
> than just STATUS0_RESETC. So either this function should be called
> oa_tc6_read_status0, or you should mask regval with STATUS0_RESETC, so
> that it does actually return the sw reset status.
Ok, as we do the masking in the calling function readx_poll_timeout, as
you suggested I will change the function name as oa_tc6_read_status0 in
the next version.
>
>> +static int oa_tc6_sw_reset_macphy(struct oa_tc6 *tc6)
>> +{
>> + u32 regval = RESET_SWRESET;
>> + int ret;
>> +
>> + ret = oa_tc6_write_register(tc6, OA_TC6_REG_RESET, regval);
>> + if (ret)
>> + return ret;
>> +
>> + /* Poll for soft reset complete for every 5us until 100us timeout */
>
> Is this 100us defined in the standard? It is pretty short. If it is
> not part of the standard, maybe set it to something much bigger?
No, the standard doesn't define this and it is not part of the standard.
>
> Also, polling every 5us is pretty quick. I doubt most systems can even
> sleep that short a time. So maybe 1ms between polls, and 1 second
> before -ETIMEDOUT?
Ok, I agree with your proposal and will change the poll delay as 1ms
with the poll timeout of 1 second.
Best regards,
Parthiban V
>
>> + ret = readx_poll_timeout(oa_tc6_read_sw_reset_status, tc6, regval,
>> + regval & STATUS0_RESETC,
>> + STATUS0_RESETC_POLL_DELAY,
>> + STATUS0_RESETC_POLL_TIMEOUT);
>> + if (ret)
>> + return -ENODEV;
>> +
>> + /* Clear the reset complete status */
>> + return oa_tc6_write_register(tc6, OA_TC6_REG_STATUS0, regval);
>
> Andrew
>
next prev parent reply other threads:[~2024-03-07 7:40 UTC|newest]
Thread overview: 73+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-06 8:50 [PATCH net-next v3 00/12] Add support for OPEN Alliance 10BASE-T1x MACPHY Serial Interface Parthiban Veerasooran
2024-03-06 8:50 ` [PATCH net-next v3 01/12] Documentation: networking: add OPEN Alliance 10BASE-T1x MAC-PHY serial interface Parthiban Veerasooran
2024-03-06 13:23 ` Andrew Lunn
2024-03-07 6:29 ` Parthiban.Veerasooran
2024-03-06 8:50 ` [PATCH net-next v3 02/12] net: ethernet: oa_tc6: implement register write operation Parthiban Veerasooran
2024-03-06 13:40 ` Andrew Lunn
2024-03-07 6:46 ` Parthiban.Veerasooran
2024-03-06 8:50 ` [PATCH net-next v3 03/12] net: ethernet: oa_tc6: implement register read operation Parthiban Veerasooran
2024-03-07 0:19 ` Andrew Lunn
2024-03-07 7:04 ` Parthiban.Veerasooran
2024-03-07 13:22 ` Andrew Lunn
2024-03-08 7:12 ` Parthiban.Veerasooran
2024-03-06 8:50 ` [PATCH net-next v3 04/12] net: ethernet: oa_tc6: implement software reset Parthiban Veerasooran
2024-03-07 0:35 ` Andrew Lunn
2024-03-07 7:39 ` Parthiban.Veerasooran [this message]
2024-03-07 13:24 ` Andrew Lunn
2024-03-08 8:25 ` Parthiban.Veerasooran
2024-03-06 8:50 ` [PATCH net-next v3 05/12] net: ethernet: oa_tc6: implement error interrupts unmasking Parthiban Veerasooran
2024-03-07 0:43 ` Andrew Lunn
2024-03-07 8:28 ` Parthiban.Veerasooran
2024-03-06 8:50 ` [PATCH net-next v3 06/12] net: ethernet: oa_tc6: implement internal PHY initialization Parthiban Veerasooran
2024-03-07 1:13 ` Andrew Lunn
2024-03-07 14:41 ` Parthiban.Veerasooran
2024-03-07 16:36 ` Andrew Lunn
2024-03-08 12:05 ` Parthiban.Veerasooran
2024-03-08 13:33 ` Andrew Lunn
2024-03-18 11:01 ` Parthiban.Veerasooran
2024-04-12 10:43 ` Parthiban.Veerasooran
2024-04-15 13:15 ` Andrew Lunn
2024-04-16 11:02 ` Parthiban.Veerasooran
2024-04-16 18:18 ` Andrew Lunn
2024-04-17 8:55 ` Parthiban.Veerasooran
2024-03-21 18:49 ` Selvamani Rajagopal
2024-03-22 5:50 ` Parthiban.Veerasooran
2024-03-06 8:50 ` [PATCH net-next v3 07/12] net: ethernet: oa_tc6: enable open alliance tc6 data communication Parthiban Veerasooran
2024-03-06 8:50 ` [PATCH net-next v3 08/12] net: ethernet: oa_tc6: implement transmit path to transfer tx ethernet frames Parthiban Veerasooran
2024-03-07 17:08 ` Andrew Lunn
2024-03-19 12:54 ` Parthiban.Veerasooran
2024-03-19 13:19 ` Andrew Lunn
2024-03-20 10:43 ` Parthiban.Veerasooran
2024-03-21 19:04 ` Selvamani Rajagopal
2024-03-21 19:42 ` Andrew Lunn
2024-03-22 18:31 ` Selvamani Rajagopal
2024-03-06 8:50 ` [PATCH net-next v3 09/12] net: ethernet: oa_tc6: implement receive path to receive rx " Parthiban Veerasooran
2024-03-08 0:14 ` Andrew Lunn
2024-03-19 12:54 ` Parthiban.Veerasooran
2024-03-19 13:20 ` Andrew Lunn
2024-03-20 5:55 ` Parthiban.Veerasooran
2024-03-06 8:50 ` [PATCH net-next v3 10/12] net: ethernet: oa_tc6: implement mac-phy interrupt Parthiban Veerasooran
2024-03-06 23:42 ` Woojung.Huh
2024-03-07 10:16 ` Parthiban.Veerasooran
2024-03-06 8:50 ` [PATCH net-next v3 11/12] microchip: lan865x: add driver support for Microchip's LAN865X MAC-PHY Parthiban Veerasooran
2024-03-06 23:44 ` Woojung.Huh
2024-03-07 9:13 ` Parthiban.Veerasooran
2024-03-06 8:50 ` [PATCH net-next v3 12/12] dt-bindings: net: add Microchip's LAN865X 10BASE-T1S MACPHY Parthiban Veerasooran
2024-03-06 18:16 ` Conor Dooley
2024-03-06 18:48 ` Andrew Lunn
2024-03-06 19:01 ` Conor Dooley
2024-03-20 8:40 ` Parthiban.Veerasooran
2024-03-20 9:53 ` Krzysztof Kozlowski
2024-03-21 8:38 ` Parthiban.Veerasooran
2024-03-21 8:40 ` Krzysztof Kozlowski
2024-03-21 12:00 ` Parthiban.Veerasooran
2024-03-21 15:34 ` Conor Dooley
2024-03-22 6:25 ` Parthiban.Veerasooran
2024-03-22 7:03 ` Krzysztof Kozlowski
2024-03-22 8:28 ` Parthiban.Veerasooran
2024-03-23 10:24 ` Krzysztof Kozlowski
2024-03-25 7:10 ` Parthiban.Veerasooran
2024-03-25 7:10 ` Parthiban.Veerasooran
2024-03-22 18:08 ` Conor Dooley
2024-03-25 7:12 ` Parthiban.Veerasooran
2024-03-20 8:40 ` Parthiban.Veerasooran
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=bff71d0b-49d0-4a4c-98c1-7df7056c4268@microchip.com \
--to=parthiban.veerasooran@microchip.com \
--cc=Horatiu.Vultur@microchip.com \
--cc=Nicolas.Ferre@microchip.com \
--cc=Pier.Beruto@onsemi.com \
--cc=Selvamani.Rajagopal@onsemi.com \
--cc=Steen.Hegelund@microchip.com \
--cc=Thorsten.Kummermehr@microchip.com \
--cc=UNGLinuxDriver@microchip.com \
--cc=andrew@lunn.ch \
--cc=anthony.l.nguyen@intel.com \
--cc=benjamin.bigler@bernformulastudent.ch \
--cc=conor+dt@kernel.org \
--cc=corbet@lwn.net \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@google.com \
--cc=horms@kernel.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=kuba@kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=robh+dt@kernel.org \
--cc=ruanjinjie@huawei.com \
--cc=saeedm@nvidia.com \
--cc=vladimir.oltean@nxp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.