Exemple #1
0
static inline int pcie_add_forward(unsigned int pcie_eth_if_id,
								   struct mppa_pcie_eth_dnoc_tx_cfg *dnoc_tx_cfg)
{
	struct mppa_pcie_eth_if_config * cfg = netdev_get_eth_if_config(pcie_eth_if_id);
	struct mppa_pcie_eth_h2c_ring_buff_entry entry;

	entry.len = dnoc_tx_cfg->mtu;
	entry.pkt_addr = (uint32_t)dnoc_tx_cfg->fifo_addr;
	entry.flags = MPPA_PCIE_ETH_NEED_PKT_HDR;

	return netdev_h2c_enqueue_buffer(cfg, &entry);
}
Exemple #2
0
static inline int pcie_add_forward(struct mppa_pcie_eth_dnoc_tx_cfg *dnoc_tx_cfg,
				   mppa_rpc_odp_answer_t *answer)
{
	struct mpodp_if_config * cfg =
		netdev_get_eth_if_config(dnoc_tx_cfg->pcie_eth_if);
	struct mpodp_h2c_entry entry;

	entry.pkt_addr = (uint32_t)dnoc_tx_cfg->fifo_addr;

	if (netdev_h2c_enqueue_buffer(cfg, dnoc_tx_cfg->h2c_q, &entry)) {
		PCIE_RPC_ERR_MSG(answer,
				 "Failed to register cluster to pcie interface %d\n",
				 dnoc_tx_cfg->pcie_eth_if);
		return -1;
	}
	return 0;
}