struct bcom_task * bcom_gen_bd_rx_init(int queue_len, phys_addr_t fifo, int initiator, int ipr, int maxbufsize) { struct bcom_task *tsk; struct bcom_gen_bd_priv *priv; tsk = bcom_task_alloc(queue_len, sizeof(struct bcom_gen_bd), sizeof(struct bcom_gen_bd_priv)); if (!tsk) return NULL; tsk->flags = BCOM_FLAGS_NONE; priv = tsk->priv; priv->fifo = fifo; priv->initiator = initiator; priv->ipr = ipr; priv->maxbufsize = maxbufsize; if (bcom_gen_bd_rx_reset(tsk)) { bcom_task_free(tsk); return NULL; } return tsk; }
struct bcom_task * bcom_fec_tx_init(int queue_len, phys_addr_t fifo) { struct bcom_task *tsk; struct bcom_fec_priv *priv; tsk = bcom_task_alloc(queue_len, sizeof(struct bcom_fec_bd), sizeof(struct bcom_fec_priv)); if (!tsk) return NULL; tsk->flags = BCOM_FLAGS_ENABLE_TASK; priv = tsk->priv; priv->fifo = fifo; if (bcom_fec_tx_reset(tsk)) { bcom_task_free(tsk); return NULL; } return tsk; }