From: Peter Maydell <peter.maydell@linaro.org>
Date: Sun, 28 Aug 2011 16:22:19 +0000 (+0000)
Subject: omap_gpmc: Fix handling of FIFOTHRESHOLDSTATUS bit
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=de8af7fe0;p=qemu.git

omap_gpmc: Fix handling of FIFOTHRESHOLDSTATUS bit

The OMAP3 TRM is inconsistent about whether the GPMC FIFOTHRESHOLDSTATUS
bit should be set when FIFOPOINTER > FIFOTHRESHOLD or when it is >=
FIFOTHRESHOLD. Apparently the underlying functional spec from which
the TRM was created states that the behaviour is ">=", and this also
makes more conceptual sense.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---

diff --git a/hw/omap_gpmc.c b/hw/omap_gpmc.c
index b728397c3f..9da8491943 100644
--- a/hw/omap_gpmc.c
+++ b/hw/omap_gpmc.c
@@ -222,7 +222,7 @@ static uint64_t omap_gpmc_read(void *opaque, target_phys_addr_t addr,
         return s->prefcontrol;
     case 0x1f0:	/* GPMC_PREFETCH_STATUS */
         return (s->preffifo << 24) |
-                ((s->preffifo >
+                ((s->preffifo >=
                   ((s->prefconfig[0] >> 8) & 0x7f) ? 1 : 0) << 16) |
                 s->prefcount;