On 3/27/23 14:15, Sean Anderson wrote: > On 3/24/23 09:17, Ioana Ciornei wrote: >> On Tue, Mar 21, 2023 at 04:13:12PM -0400, Sean Anderson wrote: >>> This adds serdes support to the LS1088ARDB. I have tested the QSGMII >>> ports as well as the two 10G ports. The SFP slot is now fully supported, >>> instead of being modeled as a fixed-link. >>> >>> Linux hangs around when the serdes is initialized if the si5341 is >>> enabled with the in-tree driver, so I have modeled it as a two fixed >>> clocks instead. There are a few registers in the QIXIS FPGA which >>> control the SFP GPIOs; I have modeled them as discrete GPIO controllers >>> for now. I never saw the AQR105 interrupt fire; not sure what was going >>> on, but I have removed it to force polling. >> >> So you didn't see the interrupt fire even without these patches? > > Not sure. I went to check this, and discovered I could no longer get the > link to come up in Linux, even on v6.0 (before the rate adaptation > tuff). I see the LEDs blinking in U-Boot, so presumably it's some > configuration problem. I'm going to look into this further when I have > more time. I figured it out. I forgot the dpmac2 was 10G only (no rate adaptation for the AQR105). And the interrupt does not fire on net/main: # cat /proc/interrupts | grep extirq 22: 0 0 0 0 0 0 0 0 ls-extirq 2 Level 0x0000000008b97000:00 Inspecting the phy manually shows the link coming up. By removing the interrupt, the link comes up as usual. I wanted to look into this further, but the IRQ goes through the QIXIS and the firmware source isn't available so I wasn't able to do so. If you'd like, I can try probing the signal (to see where the problem is), but I won't have time for a bit. >> I just tested this on a LS1088ARDB and it works. >> >> root@localhost:~# cat /proc/interrupts | grep extirq >> 99: 5 ls-extirq 2 Level 0x0000000008b97000:00 >> root@localhost:~# ip link set dev endpmac2 up >> root@localhost:~# cat /proc/interrupts | grep extirq >> 99: 6 ls-extirq 2 Level 0x0000000008b97000:00 >> root@localhost:~# ip link set dev endpmac2 down >> root@localhost:~# cat /proc/interrupts | grep extirq >> 99: 7 ls-extirq 2 Level 0x0000000008b97000:00 >> >> Please don't just remove things. > > Well, polling isn't the worst thing for a single interface... I do > remember having a problem with the interrupt. If this series works > with interrupts enabled, I can leave it in. Anyway, given that interrupts seem to be broken for some boards? some configurations? I would like to keep polling. > Did you have a chance to look at the core (patches 7 and 8) of this > series? Does it make sense to you? Am I missing something which would > allow switching from 1G->10G? --Sean