summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2020-02-18 14:36:27 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2020-02-18 14:59:31 +0100
commit792d56bd33346adadf8b95dea2d2ed09f9e347e7 (patch)
treea45318f7489c7f5c5a026557952e885efb4b5633
parentepoch01: Update due to API changes (diff)
downloadrtems-libbsd-792d56bd33346adadf8b95dea2d2ed09f9e347e7.tar.bz2
NVME(4): Fix for big endian platforms
Update #3821.
-rw-r--r--freebsd/sys/dev/nvme/nvme_qpair.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/freebsd/sys/dev/nvme/nvme_qpair.c b/freebsd/sys/dev/nvme/nvme_qpair.c
index a866a959..db6a3876 100644
--- a/freebsd/sys/dev/nvme/nvme_qpair.c
+++ b/freebsd/sys/dev/nvme/nvme_qpair.c
@@ -631,8 +631,13 @@ nvme_qpair_process_completions(struct nvme_qpair *qpair)
qpair->phase = !qpair->phase; /* 3 */
}
+#ifndef __rtems__
bus_space_write_4(qpair->ctrlr->bus_tag, qpair->ctrlr->bus_handle,
qpair->cq_hdbl_off, qpair->cq_head);
+#else /* __rtems__ */
+ bus_space_write_4(qpair->ctrlr->bus_tag, qpair->ctrlr->bus_handle,
+ qpair->cq_hdbl_off, htole32(qpair->cq_head));
+#endif /* __rtems__ */
}
return (done != 0);
}
@@ -987,8 +992,13 @@ nvme_qpair_submit_tracker(struct nvme_qpair *qpair, struct nvme_tracker *tr)
wmb();
#endif /* __rtems__ */
+#ifndef __rtems__
bus_space_write_4(qpair->ctrlr->bus_tag, qpair->ctrlr->bus_handle,
qpair->sq_tdbl_off, qpair->sq_tail);
+#else /* __rtems__ */
+ bus_space_write_4(qpair->ctrlr->bus_tag, qpair->ctrlr->bus_handle,
+ qpair->sq_tdbl_off, htole32(qpair->sq_tail));
+#endif /* __rtems__ */
qpair->num_cmds++;
}