Commit Graph
341 Commits
Author SHA1 Message Date
Scramble Tools eaa9ae6f8f fix(esp_eth): avoid per-frame descriptor ring scan in RX task
The RX task's drain loop called emac_esp_dma_get_remain_frames()
after every received frame, an O(backlog) walk of the descriptor
ring with a cache invalidate per descriptor. Under sustained load
the scan cost grows with the backlog, so the deeper the backlog
gets, the more time goes into scanning instead of draining, until
the task can no longer keep up and the DMA drops frames
continuously (measured ~3000 missed frames/s at 16k pkt/s
bidirectional on ESP32-P4 with 20 descriptors).

The loop only needs to know whether at least one more complete
frame is waiting, which emac_esp_dma_alloc_recv_buf() already
answers by checking a single descriptor, so exit the loop on that
instead. The full remain-frames count is kept only under
CONFIG_ETH_SOFT_FLOW_CONTROL, which genuinely needs it for the
pause-frame watermarks.

Related to https://github.com/espressif/esp-idf/issues/18800
2026-09-23 08:15:07 +02:00
Ondrej Kosta b5fb8a6d79 fix(emac): correct DMA status interrupt bit masks
Align fatal-bus-error through normal-summary status flags with
dmastatus bit positions, and fix the FATAL_BUS_ERROR typo.
2026-09-18 12:11:39 +02:00
Ondrej Kosta ed6d83b3af fix(esp_eth): fixed Ethernet PHY HW reset timing in common PHY code 2026-09-14 09:01:46 +02:00
Euripedes Rocha de07da4a74 Merge branch 'fix/ethernet_init_ver_v6.0' into 'release/v6.0'
ci(esp_eth): use fixed version of eth_test_app (v6.0)

See merge request espressif/esp-idf!51588
2026-09-14 09:00:54 +02:00
Dhimas Ardinata dee4e774e0 fix(esp_eth): make openeth ISR log DRAM-safe
Keep the ISR from touching flash-resident log strings while cache is disabled.

Closes #18644
2026-08-20 21:56:12 -03:00
Ondrej Kosta 5fc838f156 ci(esp_eth): use fixed version of eth_test_app 2026-08-06 12:15:36 +02:00
morris 44e2e2477f refactor(emac): move sleep retention config into driver layer
Keep the EMAC regdma retention definitions in esp_eth so the backup
layout stays aligned with driver-owned sleep retention behavior.
2026-07-10 16:04:09 +08:00
Ondrej Kosta 6eb451f40f feat(esp_eth): update test_apps to use Ethernet test component
Move test logic into the eth_test_app managed component and slim down
the test_apps main target and pytest suite accordingly.
2026-07-08 08:01:45 +02:00
Chen Jichang d1a64bffc0 refactor(clk_tree): use general api to enable the clk 2026-05-15 13:55:37 +08:00
Guilherme Ferreira 186d918c50 ci(esp_eth): add C++ regression guard for ethernet macros 2026-05-12 17:57:42 +08:00
heianto 158501bd28 fix(esp_eth): Fixed designated initializer order in ETH_ESP32_EMAC_DEFAULT_CONFIG
Merges https://github.com/espressif/esp-idf/pull/18275

Signed-off-by: Guilherme Ferreira <guilherme.ferreira@espressif.com>
2026-05-12 17:57:42 +08:00
Fu Hanxi ad1d17a794 ci: rename eco tags to revision 2026-04-09 10:43:34 +02:00
Ondrej Kosta 49c903a1a5 feat(esp_eth): Ethernet test refactor
ETH tests use setUp-tearDown to init/deinit resources
2026-03-23 09:34:07 +01:00
igor.udot e2a8bbe639 ci: update build-test-rules to use common_components 2026-03-20 15:53:26 +08:00
Evgeny Torbin 0070b687b5 ci: remove unused test cases 2026-03-12 12:34:23 +01:00
hebinglin 21a6537e08 change(esp_driver): set cases with toppd check only run in esp32c5eco3 rather than eco2 2026-02-01 11:59:16 +08:00
Song Ruo Jing 89da3742b8 refactor(clk): split clock HAL into separate component 2026-01-31 22:32:37 +08:00
Jiang Jiang Jian d1d6858c3d Merge branch 'ci/eth_10m_loopback_v6.0' into 'release/v6.0'
fix(esp_eth): made 10M loopback test less strict (v6.0)

See merge request espressif/esp-idf!45023
2026-01-30 14:30:11 +08:00
Ondrej Kosta b27da510ff feat(esp_eth): added PTP EMAC PPS0 support on ESP32P4v3
feat(esp_eth): added options to configure PTP module

feat(esp_eth): removed all PTP ioctl commands and created API
2026-01-13 12:16:21 +01:00
Ondrej Kosta e5ea21f13b fix(esp_eth): made 10M loopback test less strict 2026-01-12 16:10:59 +01:00
Ondrej Kosta 2f5e9cd9b4 fix(ci): re-enabled ESP32P4 tests on different HW vers 2025-12-22 14:43:57 +01:00
Mahavir Jain 7da79a653c Merge branch 'feature/mbedtls_psa_migration_v6.0' into 'release/v6.0'
feat(mbedtls): PSA Migration to release v6.0

See merge request espressif/esp-idf!43323
2025-12-21 13:52:48 +05:30
Ashish Sharma 1e6621d285 fix: increase default stack size for esp_eth test apps 2025-12-19 07:29:08 +08:00
Ondrej Kosta 20a004f141 fix(esp_eth): fixes EMAC MDC out of the range issue
Closes https://github.com/espressif/esp-idf/issues/17984
2025-12-16 14:12:17 +01:00
Song Ruo Jing 62899cbba6 refactor(gpio): split GPIO HAL into separate component
cleaned up some includes in GPIO peripheral files
2025-12-08 14:33:26 +08:00
Ondrej Kosta 643b7c93c1 feat(ci): updated Ethernet tests to align with new runners 2025-11-26 13:24:32 +01:00
Euripedes Rocha ec0ef59535 Merge branch 'chore/update-protocol-eth-connect_v6.0' into 'release/v6.0'
feat(protocol_examples_common): Use Ethernet Init component (v6.0)

See merge request espressif/esp-idf!43554
2025-11-21 08:22:17 +01:00
armando 714b022a43 ci(p4): disable p4 rev3 invalid tests temporarily 2025-11-21 02:48:05 +00:00
glmfe e187d3b259 feat(protocol_examples_common): Use Ethernet Init component
- Refactored protocol_examples_common to use ethernet_init component
2025-11-20 18:57:03 +08:00
Ondrej Kosta 30919c13ec fix(esp_eth): maked esp_eth_test_l2 more robust 2025-11-18 10:13:04 +01:00
Jiang Jiang Jian ba8aecc01b Merge branch 'fix/eth_connect_v6.0' into 'release/v6.0'
fix(esp_eth): made LAN8720 test write register function more robust (v6.0)

See merge request espressif/esp-idf!42930
2025-11-18 12:24:50 +08:00
Frantisek Hrbata 7eb762611f fix(esp_eth/cmake): avoid using BUILD_COMPONENTS build property for IDF_BUILD_V2
IDF_BUILD_V2 does not have BUILD_COMPONENTS build property. Therefore,
when IDF_BUILD_V2 is defined, use a generator expressions instead.
The inclusion of esp_eth_netif_glue.c, which relies on the presence of
the esp_netif component, should ideally be managed by a configuration
option. The same applies to the requirements for esp_eth. Currently,
only a basic adjustment has been made to enable the inclusion of esp_eth
in cmakev2.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2025-11-04 07:48:13 +01:00
Ondrej Kosta eeadc96949 fix(esp_eth): made LAN8720 test write register function more robust 2025-11-04 04:18:44 +01:00
wuzhenghui 065dd70056 change(esp_hw_support): move ESP_SLEEP_POWER_DOWN_CPU to Kconfig 2025-10-14 16:33:30 +08:00
Ondrej Kosta d622d4d9ac feat(esp_eth): removed SPI Ethernet and PHY drivers from IDF 2025-09-28 16:19:42 +02:00
Marius Vikhammer 484d2c5c2f fix(system): fixed issues with unused variable warnings when compiling with NDEBUG 2025-09-19 15:42:07 +08:00
Ondrej Kosta bc421db41b Merge branch 'feat/kconfig_clk_rm' into 'master'
feat(esp_eth): removed RMII CLK Kconfig option

Closes IDF-9724

See merge request espressif/esp-idf!41853
2025-09-19 15:35:50 +08:00
Ondrej Kosta 5c5eb99eab Merge branch 'fix/emac_test_tmo' into 'master'
fix(ci): increased timeout for ethernet_int_emac_test

Closes IDFCI-3118

See merge request espressif/esp-idf!41909
2025-09-17 20:20:32 +08:00
Ondrej Kosta 5aa97623c1 feat(esp_eth): removed RMII CLK Kconfig option 2025-09-17 11:46:06 +02:00
Ondrej Kosta 2ed090ba3d feat(esp_eth): changed ETH PHY API of esp_eth_phy_802_3_reset_hw 2025-09-16 17:54:35 +08:00
Ondrej Kosta f7c4178103 fix(ci): increased timeout for ethernet_int_emac_test 2025-09-15 13:55:25 +02:00
Marek Fiala 9d35d63651 feat(cmake): Update minimum cmake version to 3.22 (whole repository) 2025-08-19 14:44:32 +02:00
Ondrej Kosta b3e2f89f49 feat(esp_eth): added EMAC sleep retention for ESP32P4 2025-08-11 12:53:24 +02:00
Marius Vikhammer bf84ab652a change(test_utils): moved test_utils component to tools/test_apps/components/ 2025-07-21 14:05:50 +08:00
nilesh.kale 5cc874068d feat(esp_http_client): added event HTTP_EVENT_ON_STATUS_CODE
This commit added event HTTP_EVENT_ON_STATUS_CODE and
acquire response status code before header or data.
2025-07-08 17:45:18 +05:30
Aditya Patwardhan f4e8813d45 Merge branch 'contrib/github_pr_15972' into 'master'
feat(esp_http_client): Event to signal last header downloaded (GitHub PR)

See merge request espressif/esp-idf!39309
2025-06-10 13:08:10 +05:30
Ondrej Kosta 48b37dd56e Merge branch 'contrib/github_pr_16016' into 'master'
Enable Timestamping for Non-PTP Ethernet frames (GitHub PR)

Closes IDFGH-15359

See merge request espressif/esp-idf!39581
2025-06-09 16:58:07 +08:00
Frangen, Leon eae1f3c302 feat(esp_eth): Enable rx/tx timestamp for non-PTP frames via ioctl 2025-06-06 11:35:10 +02:00
Richard Allen 30758d9beb feat(esp_http_client): Event to signal last header download
When parsing ND-JSON streams, this is needed to indicate the
point when the ND-JSON stream is considered open, which
occurs just after the last HTTP_EVENT_ON_HEADER.

ND-JSON stream clients cannot rely on the first HTTP_EVENT_ON_DATA,
since that is only triggered by an event, which are optional and
may never be sent, or only sent well after the last HTTP_EVENT_ON_HEADER.

Closes #15952
2025-05-28 08:50:28 -05:00
wuzhenghui 65b7e70564 feat(driver): support acquire/release clock source dependency for all drivers 2025-05-27 21:21:38 +08:00