Loading drivers/soc/fsl/qbman/qman.c +31 −0 Original line number Diff line number Diff line Loading @@ -1012,6 +1012,37 @@ static inline void put_affine_portal(void) static struct workqueue_struct *qm_portal_wq; void qman_dqrr_set_ithresh(struct qman_portal *portal, u8 ithresh) { if (!portal) return; qm_dqrr_set_ithresh(&portal->p, ithresh); portal->p.dqrr.ithresh = ithresh; } EXPORT_SYMBOL(qman_dqrr_set_ithresh); void qman_dqrr_get_ithresh(struct qman_portal *portal, u8 *ithresh) { if (portal && ithresh) *ithresh = portal->p.dqrr.ithresh; } EXPORT_SYMBOL(qman_dqrr_get_ithresh); void qman_portal_get_iperiod(struct qman_portal *portal, u32 *iperiod) { if (portal && iperiod) *iperiod = qm_in(&portal->p, QM_REG_ITPR); } EXPORT_SYMBOL(qman_portal_get_iperiod); void qman_portal_set_iperiod(struct qman_portal *portal, u32 iperiod) { if (portal) qm_out(&portal->p, QM_REG_ITPR, iperiod); } EXPORT_SYMBOL(qman_portal_set_iperiod); int qman_wq_alloc(void) { qm_portal_wq = alloc_workqueue("qman_portal_wq", 0, 1); Loading include/soc/fsl/qman.h +28 −0 Original line number Diff line number Diff line Loading @@ -1194,4 +1194,32 @@ int qman_release_cgrid(u32 id); */ int qman_is_probed(void); /** * qman_dqrr_get_ithresh - Get coalesce interrupt threshold * @portal: portal to get the value for * @ithresh: threshold pointer */ void qman_dqrr_get_ithresh(struct qman_portal *portal, u8 *ithresh); /** * qman_dqrr_set_ithresh - Set coalesce interrupt threshold * @portal: portal to set the new value on * @ithresh: new threshold value */ void qman_dqrr_set_ithresh(struct qman_portal *portal, u8 ithresh); /** * qman_dqrr_get_iperiod - Get coalesce interrupt period * @portal: portal to get the value for * @iperiod: period pointer */ void qman_portal_get_iperiod(struct qman_portal *portal, u32 *iperiod); /** * qman_dqrr_set_iperiod - Set coalesce interrupt period * @portal: portal to set the new value on * @ithresh: new period value */ void qman_portal_set_iperiod(struct qman_portal *portal, u32 iperiod); #endif /* __FSL_QMAN_H */ Loading
drivers/soc/fsl/qbman/qman.c +31 −0 Original line number Diff line number Diff line Loading @@ -1012,6 +1012,37 @@ static inline void put_affine_portal(void) static struct workqueue_struct *qm_portal_wq; void qman_dqrr_set_ithresh(struct qman_portal *portal, u8 ithresh) { if (!portal) return; qm_dqrr_set_ithresh(&portal->p, ithresh); portal->p.dqrr.ithresh = ithresh; } EXPORT_SYMBOL(qman_dqrr_set_ithresh); void qman_dqrr_get_ithresh(struct qman_portal *portal, u8 *ithresh) { if (portal && ithresh) *ithresh = portal->p.dqrr.ithresh; } EXPORT_SYMBOL(qman_dqrr_get_ithresh); void qman_portal_get_iperiod(struct qman_portal *portal, u32 *iperiod) { if (portal && iperiod) *iperiod = qm_in(&portal->p, QM_REG_ITPR); } EXPORT_SYMBOL(qman_portal_get_iperiod); void qman_portal_set_iperiod(struct qman_portal *portal, u32 iperiod) { if (portal) qm_out(&portal->p, QM_REG_ITPR, iperiod); } EXPORT_SYMBOL(qman_portal_set_iperiod); int qman_wq_alloc(void) { qm_portal_wq = alloc_workqueue("qman_portal_wq", 0, 1); Loading
include/soc/fsl/qman.h +28 −0 Original line number Diff line number Diff line Loading @@ -1194,4 +1194,32 @@ int qman_release_cgrid(u32 id); */ int qman_is_probed(void); /** * qman_dqrr_get_ithresh - Get coalesce interrupt threshold * @portal: portal to get the value for * @ithresh: threshold pointer */ void qman_dqrr_get_ithresh(struct qman_portal *portal, u8 *ithresh); /** * qman_dqrr_set_ithresh - Set coalesce interrupt threshold * @portal: portal to set the new value on * @ithresh: new threshold value */ void qman_dqrr_set_ithresh(struct qman_portal *portal, u8 ithresh); /** * qman_dqrr_get_iperiod - Get coalesce interrupt period * @portal: portal to get the value for * @iperiod: period pointer */ void qman_portal_get_iperiod(struct qman_portal *portal, u32 *iperiod); /** * qman_dqrr_set_iperiod - Set coalesce interrupt period * @portal: portal to set the new value on * @ithresh: new period value */ void qman_portal_set_iperiod(struct qman_portal *portal, u32 iperiod); #endif /* __FSL_QMAN_H */