Re: [PATCH net-next v3 06/12] net: ethernet: oa_tc6: implement internal PHY initialization

Parthiban.Veerasooran
2024-04-17T08:55:20Z

Hi Andrew,

On 16/04/24 11:48 pm, Andrew Lunn wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>
>> I tried this approach and it works as expected. Means whenever there is
>> a c45 register access, it directly uses the
>> oa_tc6_read_c45()/oa_tc6_write_c45() functions. Herewith I have attached
>> the patch
>> (v4-0006-net-ethernet-oa_tc6-implement-internal-PHY-initia.patch) which
>> has this new implementation for your reference. Is this you expected?
>> Can you comment on this?
>
> Please just post a new patch series. I will then review it just like
> other patches. Its O.K. to send patch series frequently, not just more
> than one per day.
>
Sure, then I will send v4 patch series with this changes as well soon
for the review.
>> I tried this approach by setting up is_c45 flag when I use
>> phy_read_mmd() function but ended up with the kernel call trace
>> (c45_kernel_call_trace.png) attached here for your reference.
>
> Please post plain ASCII. I assume you have a serial port, so you
> should be able to capture it. I'm not too surprised though, no other
> driver plays with is_c45.
O.K. Please find the below kernel trace,

[15890.127525] ------------[ cut here ]------------
[15890.127540] phy_start_aneg+0x0/0x58: returned: -22
[15890.127592] WARNING: CPU: 0 PID: 3937 at drivers/net/phy/phy.c:1233
phy_state_machine+0xac/0x2f0
[15890.127602] Modules linked in: lan865x_t1s(O) microchip_t1s(O) rfcomm
snd_seq_dummy snd_hrtimer snd_seq snd_seq_device cmac algif_hash
aes_arm64 aes_generic algif_skcipher af_alg bnep brcmfmac_wcc hci_uart
btbcm bluetooth brcmfmac binfmt_misc bcm2835_v4l2(C) rpivid_hevc(C)
bcm2835_codec(C) bcm2835_isp(C) v4l2_mem2mem brcmutil
bcm2835_mmal_vchiq(C) videobuf2_vmalloc videobuf2_dma_contig cfg80211
ecdh_generic ecc videobuf2_memops videobuf2_v4l2 rfkill videodev libaes
raspberrypi_hwmon videobuf2_common snd_bcm2835(C) raspberrypi_gpiomem mc
vc_sm_cma(C) nvmem_rmem gpio_fan uio_pdrv_genirq uio i2c_dev fuse dm_mod
ip_tables x_tables ipv6 spidev vc4 snd_soc_hdmi_codec drm_display_helper
cec drm_dma_helper v3d gpu_sched drm_kms_helper drm_shmem_helper drm
drm_panel_orientation_quirks i2c_brcmstb snd_soc_core spi_bcm2835
snd_compress snd_pcm_dmaengine snd_pcm snd_timer snd backlight [last
unloaded: microchip_t1s(O)]
[15890.127756] CPU: 0 PID: 3937 Comm: kworker/0:1 Tainted: G WC O
6.6.20+rpt-rpi-v8 #1 Debian 1:6.6.20-1+rpt1
[15890.127763] Hardware name: Raspberry Pi 4 Model B Rev 1.4 (DT)
[15890.127767] Workqueue: events_power_efficient phy_state_machine
[15890.127773] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS
BTYPE=--)
[15890.127778] pc : phy_state_machine+0xac/0x2f0
[15890.127783] lr : phy_state_machine+0xac/0x2f0
[15890.127787] sp : ffffffc086c2bd60
[15890.127790] x29: ffffffc086c2bd60 x28: 0000000000000000 x27:
0000000000000000
[15890.127798] x26: ffffff81fef781a8 x25: ffffff8101906640 x24:
ffffff810010ca05
[15890.127806] x23: 00000000ffffffea x22: ffffff8103e41c98 x21:
0000000000000004
[15890.127815] x20: ffffff8103e41cf0 x19: ffffff8103e41800 x18:
00000000fffffffe
[15890.127822] x17: 0000000000000000 x16: ffffffe7346b5b60 x15:
ffffffc086c2b960
[15890.127830] x14: 0000000000000000 x13: 32322d203a64656e x12:
7275746572203a38
[15890.127837] x11: 3578302f3078302b x10: ffffffe735ca3708 x9 :
ffffffe73470946c
[15890.127845] x8 : 00000000ffffefff x7 : ffffffe735ca3708 x6 :
80000000fffff000
[15890.127852] x5 : ffffff81fef67d48 x4 : 0000000000000000 x3 :
0000000000000027
[15890.127860] x2 : 0000000000000000 x1 : 0000000000000000 x0 :
ffffff8105f1bd80
[15890.127868] Call trace:
[15890.127872] phy_state_machine+0xac/0x2f0
[15890.127878] process_one_work+0x148/0x3b8
[15890.127887] worker_thread+0x32c/0x450
[15890.127893] kthread+0x11c/0x128
[15890.127902] ret_from_fork+0x10/0x20
[15890.127908] ---[ end trace 0000000000000000 ]---

Best regards,
Parthiban V
>
> Andrew
>