u32 cmd;
u32 status;
};
-} __attribute__((aligned(8)));
+} __rte_aligned(8);
#define QM_FD_DD_NULL 0x00
#define QM_FD_PID_MASK 0x3f
static inline u64 qm_fd_addr_get64(const struct qm_fd *fd)
struct qman_fq_cb cb;
u32 fqid_le;
+ u32 fqid;
+
+ int q_fd;
u16 ch_id;
u8 cgr_groupid;
- u8 is_static;
+ u8 is_static:4;
+ u8 qp_initialized:4;
/* DPDK Interface */
void *dpaa_intf;
volatile unsigned long flags;
enum qman_fq_state state;
- u32 fqid;
spinlock_t fqlock;
struct rb_node node;
*/
int qman_irqsource_add(u32 bits);
+/**
+ * qman_fq_portal_irqsource_add - samilar to qman_irqsource_add, but it
+ * takes portal (fq specific) as input rather than using the thread affined
+ * portal.
+ */
+int qman_fq_portal_irqsource_add(struct qman_portal *p, u32 bits);
+
/**
* qman_irqsource_remove - remove processing sources from being interrupt-driven
* @bits: bitmask of QM_PIRQ_**I processing sources
*/
int qman_irqsource_remove(u32 bits);
+/**
+ * qman_fq_portal_irqsource_remove - similar to qman_irqsource_remove, but it
+ * takes portal (fq specific) as input rather than using the thread affined
+ * portal.
+ */
+int qman_fq_portal_irqsource_remove(struct qman_portal *p, u32 bits);
+
/**
* qman_affine_channel - return the channel ID of an portal
* @cpu: the cpu whose affine portal is the subject of the query
*/
int
qman_enqueue_multi_fq(struct qman_fq *fq[], const struct qm_fd *fd,
- int frames_to_send);
+ u32 *flags, int frames_to_send);
typedef int (*qman_cb_precommit) (void *arg);