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

The XDMA did not work when I send big buffer #298

Open
GitSoftwareNow opened this issue Nov 7, 2024 · 2 comments
Open

The XDMA did not work when I send big buffer #298

GitSoftwareNow opened this issue Nov 7, 2024 · 2 comments

Comments

@GitSoftwareNow
Copy link

[ 1862.197073] libxdma:xdma_xfer_submit: xfer 0x000000009e11f7b1,2048, s 0x1 timed out, ep 0x800.
[ 1862.197096] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x00000000866b043a) = 0x1fc18006 (id).
[ 1862.197110] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x000000007e34bd2e) = 0x00000001 (status).
[ 1862.197122] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x00000000971a729a) = 0x00f83e1f (control)
[ 1862.197135] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x000000002eee633a) = 0xef0701c0 (first_desc_lo)
[ 1862.197147] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x00000000701d88a0) = 0x00000000 (first_desc_hi)
[ 1862.197159] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x000000004e7cddaf) = 0x00000001 (first_desc_adjacent).
[ 1862.197172] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x00000000d5b48b63) = 0x00000000 (completed_desc_count).
[ 1862.197184] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x000000004c22db83) = 0x00f83e1e (interrupt_enable_mask)
[ 1862.197200] libxdma:engine_status_dump: SG engine 0-C2H0-ST status: 0x00000001: BUSY
[ 1862.197213] libxdma:transfer_abort: abort transfer 0x000000009e11f7b1, desc 2, engine desc queued 0.
[ 1871.183753] libxdma:xdma_xfer_submit: xfer 0x000000009e11f7b1,2048, s 0x1 timed out, ep 0x800.
[ 1871.183777] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x00000000866b043a) = 0x1fc18006 (id).
[ 1871.183791] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x000000007e34bd2e) = 0x00000001 (status).
[ 1871.183803] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x00000000971a729a) = 0x00f83e1f (control)
[ 1871.183816] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x000000002eee633a) = 0xef070200 (first_desc_lo)
[ 1871.183828] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x00000000701d88a0) = 0x00000000 (first_desc_hi)
[ 1871.183840] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x000000004e7cddaf) = 0x00000001 (first_desc_adjacent).
[ 1871.183853] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x00000000d5b48b63) = 0x00000000 (completed_desc_count).
[ 1871.183865] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x000000004c22db83) = 0x00f83e1e (interrupt_enable_mask)
[ 1871.183882] libxdma:engine_status_dump: SG engine 0-C2H0-ST status: 0x00000001: BUSY
[ 1871.183895] libxdma:transfer_abort: abort transfer 0x000000009e11f7b1, desc 2, engine desc queued 0.
[ 1881.600961] libxdma:xdma_xfer_submit: xfer 0x000000009e11f7b1,2048, s 0x1 timed out, ep 0x800.
[ 1881.600986] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x00000000866b043a) = 0x1fc18006 (id).
[ 1881.600999] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x000000007e34bd2e) = 0x00000001 (status).
[ 1881.601012] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x00000000971a729a) = 0x00f83e1f (control)
[ 1881.601025] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x000000002eee633a) = 0xef070240 (first_desc_lo)
[ 1881.601037] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x00000000701d88a0) = 0x00000000 (first_desc_hi)
[ 1881.601049] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x000000004e7cddaf) = 0x00000000 (first_desc_adjacent).
[ 1881.601061] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x00000000d5b48b63) = 0x00000000 (completed_desc_count).
[ 1881.601073] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x000000004c22db83) = 0x00f83e1e (interrupt_enable_mask)
[ 1881.601089] libxdma:engine_status_dump: SG engine 0-C2H0-ST status: 0x00000001: BUSY
[ 1881.601103] libxdma:transfer_abort: abort transfer 0x000000009e11f7b1, desc 1, engine desc queued 0.
[ 3284.527090] libxdma:xdma_xfer_submit: xfer 0x0000000001a74a2f,2048, s 0x1 timed out, ep 0x800.
[ 3284.539692] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x00000000866b043a) = 0xffffffff (id).
[ 3284.539696] libxdma:engine_reg_dump: 0-C2H0-ST: engine id missing, 0xfff00000 exp. & 0xfff00000 = 0x1fc00000
[ 3284.539720] libxdma:engine_status_read: Failed to dump register
[ 3284.539727] libxdma:xdma_xfer_submit: Failed to read engine status
[ 3294.553913] libxdma:xdma_xfer_submit: xfer 0x0000000001a74a2f,2048, s 0x1 timed out, ep 0x800.
[ 3294.566516] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x00000000866b043a) = 0xffffffff (id).
[ 3294.566519] libxdma:engine_reg_dump: 0-C2H0-ST: engine id missing, 0xfff00000 exp. & 0xfff00000 = 0x1fc00000
[ 3294.566544] libxdma:engine_status_read: Failed to dump register
[ 3294.566552] libxdma:xdma_xfer_submit: Failed to read engine status
[ 3304.580948] libxdma:xdma_xfer_submit: xfer 0x0000000001a74a2f,2048, s 0x1 timed out, ep 0x800.
[ 3304.593552] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x00000000866b043a) = 0xffffffff (id).
[ 3304.593557] libxdma:engine_reg_dump: 0-C2H0-ST: engine id missing, 0xfff00000 exp. & 0xfff00000 = 0x1fc00000
[ 3304.593586] libxdma:engine_status_read: Failed to dump register
[ 3304.593595] libxdma:xdma_xfer_submit: Failed to read engine status
[ 3314.607738] libxdma:xdma_xfer_submit: xfer 0x0000000001a74a2f,2048, s 0x1 timed out, ep 0x800.
[ 3314.620344] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x00000000866b043a) = 0xffffffff (id).
[ 3314.620351] libxdma:engine_reg_dump: 0-C2H0-ST: engine id missing, 0xfff00000 exp. & 0xfff00000 = 0x1fc00000
[ 3314.620387] libxdma:engine_status_read: Failed to dump register
[ 3314.620399] libxdma:xdma_xfer_submit: Failed to read engine status
[ 3324.634758] libxdma:xdma_xfer_submit: xfer 0x0000000001a74a2f,2048, s 0x1 timed out, ep 0x800.
[ 3324.647362] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x00000000866b043a) = 0xffffffff (id).
[ 3324.647369] libxdma:engine_reg_dump: 0-C2H0-ST: engine id missing, 0xfff00000 exp. & 0xfff00000 = 0x1fc00000
[ 3324.647406] libxdma:engine_status_read: Failed to dump register
[ 3324.647418] libxdma:xdma_xfer_submit: Failed to read engine status
[ 3334.661953] libxdma:xdma_xfer_submit: xfer 0x0000000001a74a2f,2048, s 0x1 timed out, ep 0x800.
[ 3334.674555] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x00000000866b043a) = 0xffffffff (id).
[ 3334.674565] libxdma:engine_reg_dump: 0-C2H0-ST: engine id missing, 0xfff00000 exp. & 0xfff00000 = 0x1fc00000
[ 3334.674613] libxdma:engine_status_read: Failed to dump register
[ 3334.674628] libxdma:xdma_xfer_submit: Failed to read engine status
[ 3344.688782] libxdma:xdma_xfer_submit: xfer 0x0000000000d859e5,2048, s 0x1 timed out, ep 0x800.
[ 3344.701384] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x00000000866b043a) = 0xffffffff (id).
[ 3344.701393] libxdma:engine_reg_dump: 0-C2H0-ST: engine id missing, 0xfff00000 exp. & 0xfff00000 = 0x1fc00000
[ 3344.701442] libxdma:engine_status_read: Failed to dump register
[ 3344.701460] libxdma:xdma_xfer_submit: Failed to read engine status
[ 3354.715445] libxdma:xdma_xfer_submit: xfer 0x0000000000d859e5,2048, s 0x1 timed out, ep 0x800.
[ 3354.728052] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x00000000866b043a) = 0xffffffff (id).
[ 3354.728066] libxdma:engine_reg_dump: 0-C2H0-ST: engine id missing, 0xfff00000 exp. & 0xfff00000 = 0x1fc00000
[ 3354.728133] libxdma:engine_status_read: Failed to dump register
[ 3354.728157] libxdma:xdma_xfer_submit: Failed to read engine status
[ 3364.742361] libxdma:xdma_xfer_submit: xfer 0x0000000000d859e5,2048, s 0x1 timed out, ep 0x800.
[ 3364.754969] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x00000000866b043a) = 0xffffffff (id).
[ 3364.754983] libxdma:engine_reg_dump: 0-C2H0-ST: engine id missing, 0xfff00000 exp. & 0xfff00000 = 0x1fc00000
[ 3364.755049] libxdma:engine_status_read: Failed to dump register
[ 3364.755073] libxdma:xdma_xfer_submit: Failed to read engine status
[ 3374.769298] libxdma:xdma_xfer_submit: xfer 0x0000000000d859e5,2048, s 0x1 timed out, ep 0x800.
[ 3374.781906] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x00000000866b043a) = 0xffffffff (id).
[ 3374.781921] libxdma:engine_reg_dump: 0-C2H0-ST: engine id missing, 0xfff00000 exp. & 0xfff00000 = 0x1fc00000
[ 3374.781988] libxdma:engine_status_read: Failed to dump register
[ 3374.782014] libxdma:xdma_xfer_submit: Failed to read engine status
[ 3384.796109] libxdma:xdma_xfer_submit: xfer 0x00000000981075c0,2048, s 0x1 timed out, ep 0x800.
[ 3384.808716] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x00000000866b043a) = 0xffffffff (id).
[ 3384.808730] libxdma:engine_reg_dump: 0-C2H0-ST: engine id missing, 0xfff00000 exp. & 0xfff00000 = 0x1fc00000
[ 3384.808802] libxdma:engine_status_read: Failed to dump register
[ 3384.808826] libxdma:xdma_xfer_submit: Failed to read engine status
[ 3394.823007] libxdma:xdma_xfer_submit: xfer 0x00000000981075c0,2048, s 0x1 timed out, ep 0x800.
[ 3394.835614] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x00000000866b043a) = 0xffffffff (id).
[ 3394.835628] libxdma:engine_reg_dump: 0-C2H0-ST: engine id missing, 0xfff00000 exp. & 0xfff00000 = 0x1fc00000
[ 3394.835693] libxdma:engine_status_read: Failed to dump register
[ 3394.835716] libxdma:xdma_xfer_submit: Failed to read engine status
[ 3404.849919] libxdma:xdma_xfer_submit: xfer 0x00000000981075c0,2048, s 0x1 timed out, ep 0x800.
[ 3404.862526] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x00000000866b043a) = 0xffffffff (id).
[ 3404.862540] libxdma:engine_reg_dump: 0-C2H0-ST: engine id missing, 0xfff00000 exp. & 0xfff00000 = 0x1fc00000
[ 3404.862607] libxdma:engine_status_read: Failed to dump register
[ 3404.862631] libxdma:xdma_xfer_submit: Failed to read engine status
[ 3414.876848] libxdma:xdma_xfer_submit: xfer 0x00000000981075c0,2048, s 0x1 timed out, ep 0x800.
[ 3414.889454] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x00000000866b043a) = 0xffffffff (id).
[ 3414.889468] libxdma:engine_reg_dump: 0-C2H0-ST: engine id missing, 0xfff00000 exp. & 0xfff00000 = 0x1fc00000
[ 3414.889537] libxdma:engine_status_read: Failed to dump register
[ 3414.889562] libxdma:xdma_xfer_submit: Failed to read engine status
[ 3424.903761] libxdma:xdma_xfer_submit: xfer 0x00000000981075c0,2048, s 0x1 timed out, ep 0x800.
[ 3424.916368] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x00000000866b043a) = 0xffffffff (id).
[ 3424.916382] libxdma:engine_reg_dump: 0-C2H0-ST: engine id missing, 0xfff00000 exp. & 0xfff00000 = 0x1fc00000
[ 3424.916450] libxdma:engine_status_read: Failed to dump register
[ 3424.916473] libxdma:xdma_xfer_submit: Failed to read engine status
[ 3434.930672] libxdma:xdma_xfer_submit: xfer 0x00000000981075c0,2048, s 0x1 timed out, ep 0x800.
[ 3434.943278] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x00000000866b043a) = 0xffffffff (id).
[ 3434.943292] libxdma:engine_reg_dump: 0-C2H0-ST: engine id missing, 0xfff00000 exp. & 0xfff00000 = 0x1fc00000
[ 3434.943360] libxdma:engine_status_read: Failed to dump register
[ 3434.943386] libxdma:xdma_xfer_submit: Failed to read engine status
[ 3444.957571] libxdma:xdma_xfer_submit: xfer 0x00000000981075c0,2048, s 0x1 timed out, ep 0x800.
[ 3444.970178] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x00000000866b043a) = 0xffffffff (id).
[ 3444.970192] libxdma:engine_reg_dump: 0-C2H0-ST: engine id missing, 0xfff00000 exp. & 0xfff00000 = 0x1fc00000
[ 3444.970266] libxdma:engine_status_read: Failed to dump register
[ 3444.970291] libxdma:xdma_xfer_submit: Failed to read engine status
[ 3454.984499] libxdma:xdma_xfer_submit: xfer 0x00000000981075c0,2048, s 0x1 timed out, ep 0x800.
[ 3454.997106] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x00000000866b043a) = 0xffffffff (id).
[ 3454.997120] libxdma:engine_reg_dump: 0-C2H0-ST: engine id missing, 0xfff00000 exp. & 0xfff00000 = 0x1fc00000
[ 3454.997184] libxdma:engine_status_read: Failed to dump register
[ 3454.997208] libxdma:xdma_xfer_submit: Failed to read engine status
[ 3465.011397] libxdma:xdma_xfer_submit: xfer 0x00000000981075c0,2048, s 0x1 timed out, ep 0x800.
[ 3465.024003] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x00000000866b043a) = 0xffffffff (id).
[ 3465.024018] libxdma:engine_reg_dump: 0-C2H0-ST: engine id missing, 0xfff00000 exp. & 0xfff00000 = 0x1fc00000
[ 3465.024080] libxdma:engine_status_read: Failed to dump register
[ 3465.024105] libxdma:xdma_xfer_submit: Failed to read engine status
[ 3475.038396] libxdma:xdma_xfer_submit: xfer 0x00000000981075c0,2048, s 0x1 timed out, ep 0x800.
[ 3475.051004] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x00000000866b043a) = 0xffffffff (id).
[ 3475.051018] libxdma:engine_reg_dump: 0-C2H0-ST: engine id missing, 0xfff00000 exp. & 0xfff00000 = 0x1fc00000
[ 3475.051080] libxdma:engine_status_read: Failed to dump register
[ 3475.051104] libxdma:xdma_xfer_submit: Failed to read engine status
[ 3485.065218] libxdma:xdma_xfer_submit: xfer 0x00000000981075c0,2048, s 0x1 timed out, ep 0x800.
[ 3485.077826] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x00000000866b043a) = 0xffffffff (id).
[ 3485.077840] libxdma:engine_reg_dump: 0-C2H0-ST: engine id missing, 0xfff00000 exp. & 0xfff00000 = 0x1fc00000
[ 3485.077907] libxdma:engine_status_read: Failed to dump register
[ 3485.077931] libxdma:xdma_xfer_submit: Failed to read engine status
[ 3495.092221] libxdma:xdma_xfer_submit: xfer 0x00000000981075c0,2048, s 0x1 timed out, ep 0x800.
[ 3495.104828] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x00000000866b043a) = 0xffffffff (id).
[ 3495.104841] libxdma:engine_reg_dump: 0-C2H0-ST: engine id missing, 0xfff00000 exp. & 0xfff00000 = 0x1fc00000
[ 3495.104908] libxdma:engine_status_read: Failed to dump register
[ 3495.104932] libxdma:xdma_xfer_submit: Failed to read engine status
[ 3505.119032] libxdma:xdma_xfer_submit: xfer 0x00000000981075c0,2048, s 0x1 timed out, ep 0x800.
[ 3505.131639] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x00000000866b043a) = 0xffffffff (id).
[ 3505.131653] libxdma:engine_reg_dump: 0-C2H0-ST: engine id missing, 0xfff00000 exp. & 0xfff00000 = 0x1fc00000
[ 3505.131714] libxdma:engine_status_read: Failed to dump register
[ 3505.131739] libxdma:xdma_xfer_submit: Failed to read engine status
[ 3515.145955] libxdma:xdma_xfer_submit: xfer 0x00000000981075c0,2048, s 0x1 timed out, ep 0x800.
[ 3515.158564] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x00000000866b043a) = 0xffffffff (id).
[ 3515.158578] libxdma:engine_reg_dump: 0-C2H0-ST: engine id missing, 0xfff00000 exp. & 0xfff00000 = 0x1fc00000
[ 3515.158642] libxdma:engine_status_read: Failed to dump register
[ 3515.158666] libxdma:xdma_xfer_submit: Failed to read engine status
[ 3525.172873] libxdma:xdma_xfer_submit: xfer 0x00000000981075c0,2048, s 0x1 timed out, ep 0x800.
[ 3525.185481] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x00000000866b043a) = 0xffffffff (id).
[ 3525.185494] libxdma:engine_reg_dump: 0-C2H0-ST: engine id missing, 0xfff00000 exp. & 0xfff00000 = 0x1fc00000
[ 3525.185559] libxdma:engine_status_read: Failed to dump register
[ 3525.185582] libxdma:xdma_xfer_submit: Failed to read engine status
[ 3535.199790] libxdma:xdma_xfer_submit: xfer 0x00000000981075c0,2048, s 0x1 timed out, ep 0x800.
[ 3535.212397] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x00000000866b043a) = 0xffffffff (id).
[ 3535.212410] libxdma:engine_reg_dump: 0-C2H0-ST: engine id missing, 0xfff00000 exp. & 0xfff00000 = 0x1fc00000
[ 3535.212471] libxdma:engine_status_read: Failed to dump register
[ 3535.212497] libxdma:xdma_xfer_submit: Failed to read engine status
[ 3545.226786] libxdma:xdma_xfer_submit: xfer 0x00000000981075c0,2048, s 0x1 timed out, ep 0x800.
[ 3545.239393] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x00000000866b043a) = 0xffffffff (id).
[ 3545.239407] libxdma:engine_reg_dump: 0-C2H0-ST: engine id missing, 0xfff00000 exp. & 0xfff00000 = 0x1fc00000
[ 3545.239473] libxdma:engine_status_read: Failed to dump register
[ 3545.239498] libxdma:xdma_xfer_submit: Failed to read engine status
[ 3555.253599] libxdma:xdma_xfer_submit: xfer 0x00000000981075c0,2048, s 0x1 timed out, ep 0x800.
[ 3555.266206] libxdma:engine_reg_dump: 0-C2H0-ST: ioread32(0x00000000866b043a) = 0xffffffff (id).
[ 3555.266221] libxdma:engine_reg_dump: 0-C2H0-ST: engine id missing, 0xfff00000 exp. & 0xfff00000 = 0x1fc00000
[ 3555.266286] libxdma:engine_status_read: Failed to dump register
[ 3555.266309] libxdma:xdma_xfer_submit: Failed to read engine status

@mabl
Copy link

mabl commented Nov 12, 2024

Are you using streams and TLAST? There are some bugs with it, that generate unexpected TLAST during transmission. You may try #91 (comment).

@dmitrym1
Copy link

First three xdma_xfer_submit timeouts you see are probably because of too small timeout value (compared to transaction size, which is big as you mentioned) or because of #311. It's impossible to say from logs which one is your case. Increase the timeout value and/or pull the attached to #311 fix to solve this part of issue.
Next timeouts followed by 0xffffffff are because of #317. Update your Vivado to 2019.1 or newer and upgrade XDMA IP to solve this part of issue.

I also should mention that I'm successfully using XDMA from 2021.1 with @alonbl's patch set in AXI Stream mode and have no problems for more than a year now. So with all available patches it is rock solid. Good luck with your project!

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

No branches or pull requests

3 participants