summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2017-05-18 11:53:08 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2017-10-23 09:24:06 +0200
commit69a5677c0f97a29d91cfdeb63d97426f7ac71dce (patch)
treeed63d6c74dca712828a97e01fcbab03672e04aa4
parentdpaa: Avoid QMan work queue (diff)
downloadrtems-libbsd-69a5677c0f97a29d91cfdeb63d97426f7ac71dce.tar.bz2
dpaa: Disable QMAN_VOLATILE_FLAG_WAIT_INT
-rw-r--r--linux/drivers/soc/fsl/qbman/qman.c4
-rw-r--r--linux/include/soc/fsl/qman.h2
2 files changed, 6 insertions, 0 deletions
diff --git a/linux/drivers/soc/fsl/qbman/qman.c b/linux/drivers/soc/fsl/qbman/qman.c
index 136138ec..20a445e1 100644
--- a/linux/drivers/soc/fsl/qbman/qman.c
+++ b/linux/drivers/soc/fsl/qbman/qman.c
@@ -2194,10 +2194,12 @@ static int wait_vdqcr_start(struct qman_portal **p, struct qman_fq *fq,
{
int ret = 0;
+#ifndef __rtems__
if (flags & QMAN_VOLATILE_FLAG_WAIT_INT)
ret = wait_event_interruptible(affine_queue,
!set_vdqcr(p, fq, vdqcr));
else
+#endif /* __rtems__ */
wait_event(affine_queue, !set_vdqcr(p, fq, vdqcr));
return ret;
}
@@ -2223,6 +2225,7 @@ int qman_volatile_dequeue(struct qman_fq *fq, u32 flags, u32 vdqcr)
return ret;
/* VDQCR is set */
if (flags & QMAN_VOLATILE_FLAG_FINISH) {
+#ifndef __rtems__
if (flags & QMAN_VOLATILE_FLAG_WAIT_INT)
/*
* NB: don't propagate any error - the caller wouldn't
@@ -2233,6 +2236,7 @@ int qman_volatile_dequeue(struct qman_fq *fq, u32 flags, u32 vdqcr)
wait_event_interruptible(affine_queue,
!fq_isset(fq, QMAN_FQ_STATE_VDQCR));
else
+#endif /* __rtems__ */
wait_event(affine_queue,
!fq_isset(fq, QMAN_FQ_STATE_VDQCR));
}
diff --git a/linux/include/soc/fsl/qman.h b/linux/include/soc/fsl/qman.h
index 7437f549..2504eef9 100644
--- a/linux/include/soc/fsl/qman.h
+++ b/linux/include/soc/fsl/qman.h
@@ -811,7 +811,9 @@ struct qman_cgr {
#define QM_VDQCR_NUMFRAMES_TILLEMPTY QM_VDQCR_NUMFRAMES_SET(0)
#define QMAN_VOLATILE_FLAG_WAIT 0x00000001 /* wait if VDQCR is in use */
+#ifndef __rtems__
#define QMAN_VOLATILE_FLAG_WAIT_INT 0x00000002 /* if wait, interruptible? */
+#endif /* __rtems__ */
#define QMAN_VOLATILE_FLAG_FINISH 0x00000004 /* wait till VDQCR completes */
/* "Query FQ Non-Programmable Fields" */