Skip to content
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

cpu/stm32/periph_eth: Provide confirm_send() #16262

Closed
wants to merge 5 commits into from

Conversation

maribu
Copy link
Member

@maribu maribu commented Mar 31, 2021

Contribution description

  • Update sys/net/gnrc/netif/ethernet to allow Ethernet drivers to provide the new netdev API
  • Update cpu/stm32/periph_eth to provide confirm_send()

Testing procedure

E.g. examples/gnrc_networking on e.g. a Nucleo-F767Zi should still work.

Issues/PRs references

Depends on:

maribu added 5 commits March 31, 2021 09:48
- make use of `netdev_driver_t::send_confirm` when not `NULL`
    - assume when `send_confirm` is `NULL` that `send()` blocks until completion
    - otherwise, `gnrc_netif will block via `core_thread_flags` until the TX
      completed event is issued, while also handling any IRQs raised during TX
- use `core_thread_flags` instead of `core_msg` to pass on events to the netif
  thread
    - this makes sure IRQs are no longer lost, making `gnrc_netif_events`
      obsolete. Consequently, it is removed
    - this allows any type of event being issues for IRQ context, which is
      beneficial for peripheral drivers
only release outgoing frame with legacy drivers, as gnrc_netif does so with
new non-blocking API.
Use PRIu32 instead of lu to make LLVM happy.
@jeandudey jeandudey added Area: cpu Area: CPU/MCU ports Area: network Area: Networking Type: new feature The issue requests / The PR implemements a new feature for RIOT labels Apr 13, 2021
@MrKevinWeiss MrKevinWeiss added this to the Release 2021.07 milestone Jun 21, 2021
@MrKevinWeiss MrKevinWeiss removed this from the Release 2021.07 milestone Jul 15, 2021
@stale
Copy link

stale bot commented Mar 2, 2022

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If you want me to ignore this issue, please mark it with the "State: don't stale" label. Thank you for your contributions.

@stale stale bot added the State: stale State: The issue / PR has no activity for >185 days label Mar 2, 2022
@stale stale bot closed this Apr 16, 2022
@maribu maribu reopened this Apr 16, 2022
@stale stale bot removed the State: stale State: The issue / PR has no activity for >185 days label Apr 16, 2022
@github-actions github-actions bot added Area: build system Area: Build system Area: sys Area: System Area: tests Area: tests and testing framework Platform: ARM Platform: This PR/issue effects ARM-based platforms labels Apr 16, 2022
@maribu
Copy link
Member Author

maribu commented Aug 8, 2022

In my local branches the code has evolved quite a bit further. I will open a new PR when the dependencies are in.

@maribu maribu closed this Aug 8, 2022
@maribu maribu deleted the confirm_send_stm32_eth branch August 8, 2022 20:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: build system Area: Build system Area: cpu Area: CPU/MCU ports Area: network Area: Networking Area: sys Area: System Area: tests Area: tests and testing framework Platform: ARM Platform: This PR/issue effects ARM-based platforms Type: new feature The issue requests / The PR implemements a new feature for RIOT
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants