mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* [PATCH v3 00/19] Protect code from pollers
@ 2020-03-12  8:35 Sascha Hauer
  2020-03-12  8:35 ` [PATCH 01/19] net: fec_imx: Do not clear MII interrupt during receive Sascha Hauer
                   ` (18 more replies)
  0 siblings, 19 replies; 26+ messages in thread
From: Sascha Hauer @ 2020-03-12  8:35 UTC (permalink / raw)
  To: Barebox List; +Cc: Edmund Henniges, Daniel Glöckner

Changes since v2:

- Use a const char * as name argument and not a struct device_d. A name is
  more universally available
- Also give pollers names for better debugability
- Add a poller command to show information about registered pollers
- Add Kconfig entries for both poller and slice commands
- Lock pollers with slices against themselves to allow running pollers
  inside of other pollers

Changes since v1:

- Do not recurse into dependencies during slice_acquire
- detect recursice dependencies
- Do not add the phy device as dependency to the ethernet device but
  instead lock them individually
- Add some more patches created during debugging this series

Sascha Hauer (19):
  net: fec_imx: Do not clear MII interrupt during receive
  miitool: Use mdiobus_read()
  net: phy: mdio-mux: Use mdiobus_read/write()
  net: Open ethernet devices explicitly
  poller: Give pollers a name
  poller: Add a poller command
  Introduce slices
  net: Add a slice to struct eth_device
  net: mdiobus: Add slice
  usb: Add a slice to usb host controllers
  usbnet: Add slice
  net: Call net_poll() in a poller
  net: reply to ping requests
  usbnet: Be more friendly in the receive path
  net: phy: Also print link down messages
  net: ifup command: add ethernet device completion
  net: phy: Do not claim the link is up initially
  net: Add ifdown support and command
  poller: Allow to run pollers inside of pollers

 commands/Kconfig               |  18 ++
 commands/miitool.c             |   4 +-
 common/Kconfig                 |   4 +
 common/Makefile                |   1 +
 common/poller.c                |  90 +++++++++-
 common/ratp/ratp.c             |   2 +-
 common/slice.c                 | 295 +++++++++++++++++++++++++++++++++
 drivers/input/gpio_keys.c      |   2 +-
 drivers/input/imx_keypad.c     |   2 +-
 drivers/input/input.c          |   2 +-
 drivers/input/qt1070.c         |   2 +-
 drivers/input/twl6030_pwrbtn.c |   2 +-
 drivers/led/core.c             |   2 +-
 drivers/net/fec_imx.c          |   1 +
 drivers/net/phy/mdio-mux.c     |   5 +-
 drivers/net/phy/mdio_bus.c     |  41 +++++
 drivers/net/phy/phy.c          |   7 +-
 drivers/net/usb/usbnet.c       |  22 ++-
 drivers/usb/core/usb.c         |   6 +
 drivers/usb/gadget/udc-core.c  |   2 +-
 drivers/watchdog/wd_core.c     |   2 +-
 fs/nfs.c                       |   2 -
 fs/tftp.c                      |   2 -
 include/linux/phy.h            |  38 ++---
 include/net.h                  |  18 +-
 include/poller.h               |   7 +-
 include/slice.h                |  31 ++++
 include/usb/usb.h              |   7 +
 include/usb/usbnet.h           |   3 +
 net/dhcp.c                     |   5 +-
 net/dns.c                      |   1 -
 net/eth.c                      |  82 +++++----
 net/ifup.c                     |  75 +++++++++
 net/net.c                      |  60 ++++++-
 net/netconsole.c               |   4 +-
 net/nfs.c                      |   1 -
 net/ping.c                     |   2 -
 net/sntp.c                     |   2 -
 38 files changed, 747 insertions(+), 105 deletions(-)
 create mode 100644 common/slice.c
 create mode 100644 include/slice.h

-- 
2.25.1


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 26+ messages in thread
* [PATCH 00/19] Slices and fastboot over UDP
@ 2020-05-20  9:43 Sascha Hauer
  2020-05-20  9:43 ` [PATCH 13/19] net: reply to ping requests Sascha Hauer
  0 siblings, 1 reply; 26+ messages in thread
From: Sascha Hauer @ 2020-05-20  9:43 UTC (permalink / raw)
  To: Barebox List; +Cc: Edmund Henniges, Daniel Glöckner

This is a combination of the slices series I posted earlier and
the fastboot over ethernet series from Daniel Glöckner. This works
quite well for me now and I am impressed that with a small fix both
fastboot over USB and over UDP now not only work after each other,
but also truely simultanously. Well, I didn't try to write the same
file from both instances, that won't work for sure ;)

This series currently has three known issues which should be fixed
before merging:

- The fastboot UDP keepalive handler has no idea if we are inside a
  fastboot session or not. It will just blindly send keepalive packets
- The only possibility to start fastboot over UDP currently is a
  Kconfig option which if enabled starts fastboot over UDP unconditionally
  Here we need at least a nv variable to control starting
- It's not yet clear if completely removing the may_send mechanism is the
  right thing.

Changes since the slices v4 series:

- rename slice_add() to slice_depends_on() which makes the intention of
  the function more clear
- slice_del() is no longer necessary and removed
- slice_exit() introduced to remove a slice. This removes the slice, it's
  dependencies and also removes the slice from other slices dependencies

Changes since fastboot over UDP v2:

- squashed 01/10 - 03/10 into patches of the slices series
- Move releasing of the idle slice to the shell and the startup code
  calling the autoboot timeout counter
- add forgotten rename of global.usbgadget.fastboot_max_download_size to
  global.fastboot.max_download_size
- Add patch to use different temporary filenames for each fastboot instance.
  With this fastboot over UDP and fastboot over USB can work in parallel
- remove may_send mechanism from fastboot over UDP
- fix wrong test in fastboot_net_exit()

Daniel Glöckner (4):
  fastboot: don't close fd 0 when downloading to ram
  Introduce idle slice
  defconfigs: update renamed fastboot options
  fastboot: rename usbgadget.fastboot_* variables to fastboot.*

Edmund Henniges (2):
  fastboot: split generic code from USB gadget
  fastboot net: implement fastboot over UDP

Sascha Hauer (13):
  poller: Give pollers a name
  poller: Add a poller command
  fastboot: Use unique tempfile name
  Introduce slices
  net: Add a slice to struct eth_device
  net: mdiobus: Add slice
  usb: Add a slice to usb host controllers
  usbnet: Add slice
  net: Call net_poll() in a poller
  net: reply to ping requests
  usbnet: Be more friendly in the receive path
  poller: Allow to run pollers inside of pollers
  fastboot net: remove may_send

 Documentation/user/usb.rst               |   4 +-
 arch/arm/boards/mioa701/gpio0_poweroff.c |   2 +-
 arch/arm/boards/sama5d3xek/init.c        |   2 +-
 arch/arm/configs/imx23_defconfig         |   2 +-
 arch/arm/configs/imx28_defconfig         |   2 +-
 arch/arm/configs/imx_v7_defconfig        |   2 +-
 arch/arm/configs/imx_v8_defconfig        |   2 +-
 arch/arm/configs/kindle-mx50_defconfig   |   2 +-
 arch/arm/configs/omap_defconfig          |   2 +-
 arch/arm/configs/zii_vf610_dev_defconfig |   2 +-
 commands/Kconfig                         |  17 +
 commands/usbgadget.c                     |   2 +-
 common/Kconfig                           |  40 +
 common/Makefile                          |   2 +
 common/console_countdown.c               |   1 +
 common/fastboot.c                        | 975 +++++++++++++++++++++++
 common/hush.c                            |   5 +
 common/poller.c                          |  92 ++-
 common/ratp/ratp.c                       |   9 +-
 common/slice.c                           | 325 ++++++++
 common/startup.c                         |   2 +
 common/usbgadget.c                       |  16 +-
 drivers/input/gpio_keys.c                |   2 +-
 drivers/input/imx_keypad.c               |   2 +-
 drivers/input/input.c                    |   2 +-
 drivers/input/qt1070.c                   |   2 +-
 drivers/input/twl6030_pwrbtn.c           |   2 +-
 drivers/led/core.c                       |   2 +-
 drivers/net/phy/mdio_bus.c               |  41 +
 drivers/net/usb/ax88179_178a.c           |   2 +-
 drivers/net/usb/usbnet.c                 |  22 +-
 drivers/usb/core/usb.c                   |   6 +
 drivers/usb/gadget/Kconfig               |  36 +-
 drivers/usb/gadget/f_fastboot.c          | 970 +---------------------
 drivers/usb/gadget/multi.c               |   5 +-
 drivers/usb/gadget/udc-core.c            |   2 +-
 drivers/watchdog/wd_core.c               |   2 +-
 fs/nfs.c                                 |   2 -
 fs/tftp.c                                |   2 -
 include/fastboot.h                       |  71 ++
 include/fastboot_net.h                   |  12 +
 include/linux/phy.h                      |  38 +-
 include/net.h                            |  11 +-
 include/poller.h                         |   7 +-
 include/ratp_bb.h                        |   1 -
 include/slice.h                          |  36 +
 include/usb/fastboot.h                   |  34 +-
 include/usb/gadget-multi.h               |   2 +-
 include/usb/usb.h                        |   7 +
 include/usb/usbnet.h                     |   3 +
 lib/Kconfig                              |   1 +
 lib/readline.c                           |   7 +-
 net/Kconfig                              |  18 +
 net/Makefile                             |   1 +
 net/dhcp.c                               |   1 -
 net/dns.c                                |   1 -
 net/eth.c                                |  29 +-
 net/fastboot.c                           | 476 +++++++++++
 net/net.c                                |  60 +-
 net/netconsole.c                         |   4 +-
 net/nfs.c                                |   1 -
 net/ping.c                               |   2 -
 net/sntp.c                               |   2 -
 63 files changed, 2330 insertions(+), 1105 deletions(-)
 create mode 100644 common/fastboot.c
 create mode 100644 common/slice.c
 create mode 100644 include/fastboot.h
 create mode 100644 include/fastboot_net.h
 create mode 100644 include/slice.h
 create mode 100644 net/fastboot.c

-- 
2.26.2


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2020-05-20  9:44 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-12  8:35 [PATCH v3 00/19] Protect code from pollers Sascha Hauer
2020-03-12  8:35 ` [PATCH 01/19] net: fec_imx: Do not clear MII interrupt during receive Sascha Hauer
2020-03-12  8:35 ` [PATCH 02/19] miitool: Use mdiobus_read() Sascha Hauer
2020-03-12  8:35 ` [PATCH 03/19] net: phy: mdio-mux: Use mdiobus_read/write() Sascha Hauer
2020-03-12  8:35 ` [PATCH 04/19] net: Open ethernet devices explicitly Sascha Hauer
2020-03-12  8:35 ` [PATCH 05/19] poller: Give pollers a name Sascha Hauer
2020-03-12  8:35 ` [PATCH 06/19] poller: Add a poller command Sascha Hauer
2020-03-12  8:35 ` [PATCH 07/19] Introduce slices Sascha Hauer
2020-03-12  8:35 ` [PATCH 08/19] net: Add a slice to struct eth_device Sascha Hauer
2020-03-12  8:35 ` [PATCH 09/19] net: mdiobus: Add slice Sascha Hauer
2020-03-12  8:35 ` [PATCH 10/19] usb: Add a slice to usb host controllers Sascha Hauer
2020-03-12  8:35 ` [PATCH 11/19] usbnet: Add slice Sascha Hauer
2020-03-12  8:35 ` [PATCH 12/19] net: Call net_poll() in a poller Sascha Hauer
2020-03-12  8:35 ` [PATCH 13/19] net: reply to ping requests Sascha Hauer
2020-03-12  8:35 ` [PATCH 14/19] usbnet: Be more friendly in the receive path Sascha Hauer
2020-03-12  8:35 ` [PATCH 15/19] net: phy: Also print link down messages Sascha Hauer
2020-03-12  8:35 ` [PATCH 16/19] net: ifup command: add ethernet device completion Sascha Hauer
2020-03-12  8:35 ` [PATCH 17/19] net: phy: Do not claim the link is up initially Sascha Hauer
2020-03-12  8:35 ` [PATCH 18/19] net: Add ifdown support and command Sascha Hauer
2020-03-12  8:35 ` [PATCH 19/19] poller: Allow to run pollers inside of pollers Sascha Hauer
2020-03-12 22:36   ` Daniel Glöckner
2020-03-16  8:04     ` Sascha Hauer
2020-04-07 19:28       ` Daniel Glöckner
2020-04-22  7:40         ` Sascha Hauer
2020-05-08 17:42           ` Daniel Glöckner
2020-05-20  9:43 [PATCH 00/19] Slices and fastboot over UDP Sascha Hauer
2020-05-20  9:43 ` [PATCH 13/19] net: reply to ping requests Sascha Hauer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox