Skip to content

Conversation

@till-s
Copy link
Contributor

@till-s till-s commented Mar 15, 2021

In order to help porting the if_mve driver (marvell mv643xx chip present on the MVME6100 board) to rtems-libbsd I 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 by
    a rtems-libbsd driver).
  • mv643xx_eth_bsdnet.c/if_mve_pub.h: legacy-BSD networking stack support. These files are built into the BSP only if legacy
    legacy 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-libbsd repository adds a nexus driver that builds on top of mv643xx_eth.

till-s added 18 commits March 9, 2021 09:49
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.
@kiwichris
Copy link
Member

Till, thanks. I think these should be fine for the 5 branch given the work a number of people have done recently bring the beatnik and mvme2700 boards back online. I will check the patches in more detail soon.

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
Copy link
Member

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?

@verm
Copy link
Member

verm commented Jun 25, 2024

Please re-submit on our GitLab at https://gitlab.rtems.org/

@verm verm closed this Jun 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants