-
Notifications
You must be signed in to change notification settings - Fork 398
Work on powerpc/beatnik/if_mve network driver (epics codeathon 2021) #41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Work on powerpc/beatnik/if_mve network driver (epics codeathon 2021) #41
Conversation
All low-level interfaces were moved to mv643xx_eth.h and the latter is included by if_mve_pub.h.
…speed' argument Remove any calls to mii_ioctl from the low-level driver. Instead, the caller must determine the current speed and communicate to init_hw().
…iver) NOTE: apparently we now must use rtems_bsdnet_event_send(). The combination of rtems_event_send()/rtems_bsdnet_event_receive() apparently no longer works (rtems-5).
Must be careful to skip empty buffers and to correctly identify the last non-empty buffer (since that is the one whose associated descriptor stores the head of the chain for deferred cleanup).
If we have no new buffer then we must recycle/reuse the old one and *not* return it to the user for consumption.
In 'testing' mode the paranoia checks found this bit asserted. The recent linux driver (2013) mentions lists this bit as a 'phy link status change' bit (together with (1<<16)). Thus, we accept this as a 'known' bit now.
|
Till, thanks. I think these should be fine for the I see a reference to the Paul Scherrer Institute in the tag. Is the assignment ok for us to include in RTEMS? Is there any paper work we need to follow up? |
| * a lot less painful. | ||
| */ | ||
| #undef MVETH_DETACH_HACK | ||
| #define MVETH_DEBUG |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this be disabled for the 5 branch?
|
Please re-submit on our GitLab at https://gitlab.rtems.org/ |
In order to help porting the if_mve driver (marvell mv643xx chip present on the MVME6100 board) to
rtems-libbsdI broke the existing driver into multiple files:mv643xx_eth.c/mv643xx_eth.h: BSD-agnostic low-level driver. This is always part of the BSP (and can be re-used bya
rtems-libbsddriver).mv643xx_eth_bsdnet.c/if_mve_pub.h: legacy-BSD networking stack support. These files are built into the BSP only if legacylegacy networking is enabled. The legacy stack support sits on top of
mv643xx_eth.Note that no major code changes were made. The driver has always been structured in two layers - at SLAC we used the low-level driver without BSD for special-purpose real-time networking on the second ethernet port.
A companion pull-request in the
rtems-libbsdrepository adds a nexus driver that builds on top ofmv643xx_eth.