Tested together with D41857 on Zybo Z7 board, no problem with this change.
Sep 16 2023
Tested on Zybo Z7 with sources from June 1st, 2023 and patch applied (partially) manually, system boots and everything seems to work as before. (First chunk - I forgot to apply D41856 first, my bad.)
Test on riscv64 (Microchip PolarFire SoC) should not be problem, just more time is necessary to prepare and conduct the test :(
Aug 25 2022
Aug 20 2022
Apr 4 2022
Fix probe issue pointed to by skibo
Inline comments made by mhorne addressed...
The quirk handling changes ... should be committed separately from the phy_contype + typo changes.
Apr 2 2022
This diff was done with -U99999 and module directory was renamed to sys/modules/if_cgem. Hopefully there is no space/tabs issue, now it should apply correctly.
Mar 31 2022
Hi, the patch does not apply correctly to the main branch. Can you rebase and re-upload the diff with context?
One final suggestion: the new subfolder should be named sys/modules/if_cgem, to match the module name.
Mar 28 2022
Minor notes, but this looks good!
In the future, please upload diffs with full context -- git show -U99999.
Additional note: Makefile originally provided by Thomas Skibo, I'd like to attribute it properly.
New revision is just being created, https://reviews.freebsd.org/D34687, for building if_cgem.ko kernel module, used to test changes proposed here for miibus.ko kernel module
Mar 6 2022
Testing with 'make buildenv' revealed opt_platform.h is necessary as well. As part of normal buildkernel, this file is already created.
Minimal diff with new files added at the end.
Feb 19 2022
In D34256#775528, @mindal_semihalf.com wrote:
I think it might be better to keep the file sorted the way it was before this change.
This will make this patch much easier to read.
Feb 14 2022
Feb 12 2022
Original patch missed inclusion of VSCPHY driver, corrected here.
Nov 17 2021
After some mail exchange regarding problem elsewhere, applied this review minus maxspeed handling for brevity, DP83867 PHY looks like working for me (I need to fix something else unrelated to this review to be sure) - at least media status sense and autonegotiation works as expected.
Looking a bit more into it, I think maxspeed variable and mii_maxspeed struct member is just read from DTB, but not used anywhere.
I'd like to test this review, but two errors occured when building. First one, unknown function 'device_get_property' means I need fresh sources (I see it in recently fetched git repository).
Second one, no member named 'mii_maxspeed' in 'struct mii_softc' I can't resolve recently - looking into file sys/dev/mii/miivar.h, where struct mii_softc is defined, does not show such member of structure.