mirror of
https://github.com/espressif/esp-idf.git
synced 2026-09-22 13:01:16 +03:00
Migrate all LBM, RT, and peripheral backend code from 2-buffer ping-pong to 4-buffer transport with bitmask index arithmetic. LBM changes: - Init sets owner on each transport buffer - get_trans/flush/dump use (idx+1) & (cnt-1) instead of !idx - get_trans/flush use __atomic_load_n(ACQUIRE) for prph_owned - New ble_log_write_buf_util() emits BUF_UTIL telemetry frames, exchange peak with 0 to avoid stale baseline after bursts RT changes: - Queue depth uses unified BLE_LOG_TRANS_TOTAL_CNT - rt_queue_trans uses __atomic_store_n for prph_owned, tracks per-LBM inflight count and peak via lock-free CAS - ISR path captures pxHigherPriorityTaskWoken and yields Peripheral changes: - All tx_done callbacks: decrement inflight before releasing prph_owned with __atomic_store_n(RELEASE) - SPI/UART send_trans error paths: decrement inflight and release prph_owned to allow retry on next get_trans pass - Dummy send_trans: recycle buffer immediately (pos=0, decrement inflight, release prph_owned) since no DMA hardware to wait for - Redir LBM upgraded to 4-buffer with owner and reset support - All peripherals implement ble_log_prph_reset_util_counters()