[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 06/28] ARM: GICv3 ITS: introduce ITS command handling
Hi Andre, On 06/02/2017 19:16, Julien Grall wrote: On 30/01/17 18:31, Andre Przywara wrote:+/* Wait for an ITS to become quiescient (all ITS operations completed). */s/quiescient/quiescent/+static int gicv3_its_wait_quiescient(struct host_its *hw_its)s/quiescient/quiescent/+{ + uint32_t reg; + s_time_t deadline = NOW() + MILLISECS(1000);So that sounds fine for handling a couple of command, but what about thousands at the same time? Please ignore this question. I just noticed that I commented on the wrong function. Sorry for that. + + reg = readl_relaxed(hw_its->its_base + GITS_CTLR); + if ( (reg & (GITS_CTLR_QUIESCENT | GITS_CTLR_ENABLE)) == GITS_CTLR_QUIESCENT ) + return 0; + + writel_relaxed(reg & ~GITS_CTLR_ENABLE, hw_its->its_base + GITS_CTLR); + + do { + reg = readl_relaxed(hw_its->its_base + GITS_CTLR); + if ( reg & GITS_CTLR_QUIESCENT ) + return 0; + + cpu_relax(); + udelay(1); + } while ( NOW() <= deadline ); + + dprintk(XENLOG_ERR, "ITS not quiescient\n");s/quiescient/quiescent/ + newline.+ return -ETIMEDOUT; +} + Cheers, -- Julien Grall _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |