MCPcopy Create free account
hub / github.com/F-Stack/f-stack / intel_ntb_spad_write

Function intel_ntb_spad_write

dpdk/drivers/raw/ntb/ntb_hw_intel.c:485–514  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

483}
484
485static int
486intel_ntb_spad_write(const struct rte_rawdev *dev, int spad,
487 bool peer, uint32_t spad_v)
488{
489 struct ntb_hw *hw = dev->dev_private;
490 uint32_t reg_off;
491 void *reg_addr;
492
493 if (spad < 0 || spad >= hw->spad_cnt) {
494 NTB_LOG(ERR, "Invalid spad reg index.");
495 return -EINVAL;
496 }
497
498 /* When peer is true, write peer spad reg */
499 if (is_gen3_ntb(hw))
500 reg_off = peer ? XEON_GEN3_B2B_SPAD_OFFSET :
501 XEON_IM_SPAD_OFFSET;
502 else if (is_gen4_ntb(hw))
503 reg_off = peer ? XEON_GEN4_B2B_SPAD_OFFSET :
504 XEON_IM_SPAD_OFFSET;
505 else {
506 NTB_LOG(ERR, "Cannot write spad for unsupported device.");
507 return -ENOTSUP;
508 }
509 reg_addr = hw->hw_addr + reg_off + (spad << 2);
510
511 rte_write32(spad_v, reg_addr);
512
513 return 0;
514}
515
516static uint64_t
517intel_ntb_db_read(const struct rte_rawdev *dev)

Callers

nothing calls this directly

Calls 3

is_gen3_ntbFunction · 0.85
is_gen4_ntbFunction · 0.85
rte_write32Function · 0.50

Tested by

no test coverage detected