| 335 | } |
| 336 | |
| 337 | static void |
| 338 | ssows_dump(struct ssows *ws, FILE *f) |
| 339 | { |
| 340 | uint8_t *base = ws->base; |
| 341 | uint64_t val; |
| 342 | |
| 343 | fprintf(f, "\t---------------port%d---------------\n", ws->port); |
| 344 | val = ssovf_read64(base + SSOW_VHWS_TAG); |
| 345 | fprintf(f, "\ttag=0x%x tt=%d head=%d tail=%d grp=%d index=%d tail=%d\n", |
| 346 | (uint32_t)(val & 0xffffffff), (int)(val >> 32) & 0x3, |
| 347 | (int)(val >> 34) & 0x1, (int)(val >> 35) & 0x1, |
| 348 | (int)(val >> 36) & 0x3ff, (int)(val >> 48) & 0x3ff, |
| 349 | (int)(val >> 63) & 0x1); |
| 350 | |
| 351 | val = ssovf_read64(base + SSOW_VHWS_WQP); |
| 352 | fprintf(f, "\twqp=0x%"PRIx64"\n", val); |
| 353 | |
| 354 | val = ssovf_read64(base + SSOW_VHWS_LINKS); |
| 355 | fprintf(f, "\tindex=%d valid=%d revlink=%d tail=%d head=%d grp=%d\n", |
| 356 | (int)(val & 0x3ff), (int)(val >> 10) & 0x1, |
| 357 | (int)(val >> 11) & 0x3ff, (int)(val >> 26) & 0x1, |
| 358 | (int)(val >> 27) & 0x1, (int)(val >> 28) & 0x3ff); |
| 359 | |
| 360 | val = ssovf_read64(base + SSOW_VHWS_PENDTAG); |
| 361 | fprintf(f, "\tptag=0x%x ptt=%d pgwi=%d pdesc=%d pgw=%d pgww=%d ps=%d\n", |
| 362 | (uint32_t)(val & 0xffffffff), (int)(val >> 32) & 0x3, |
| 363 | (int)(val >> 56) & 0x1, (int)(val >> 58) & 0x1, |
| 364 | (int)(val >> 61) & 0x1, (int)(val >> 62) & 0x1, |
| 365 | (int)(val >> 63) & 0x1); |
| 366 | |
| 367 | val = ssovf_read64(base + SSOW_VHWS_PENDWQP); |
| 368 | fprintf(f, "\tpwqp=0x%"PRIx64"\n", val); |
| 369 | } |
| 370 | |
| 371 | static int |
| 372 | ssovf_eth_rx_adapter_caps_get(const struct rte_eventdev *dev, |