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 >