Date: Fri, 13 Dec 2013 22:24:00 +0000 (UTC) From: Ian Lepore <ian@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r259349 - stable/10/sys/arm/arm Message-ID: <201312132224.rBDMO0Tp051526@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: ian Date: Fri Dec 13 22:24:00 2013 New Revision: 259349 URL: http://svnweb.freebsd.org/changeset/base/259349 Log: MFC r257419: Do not EOI an interrupt until the point after the filter handlers / before threaded handlers. Modified: stable/10/sys/arm/arm/gic.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/arm/arm/gic.c ============================================================================== --- stable/10/sys/arm/arm/gic.c Fri Dec 13 22:22:54 2013 (r259348) +++ stable/10/sys/arm/arm/gic.c Fri Dec 13 22:24:00 2013 (r259349) @@ -271,7 +271,6 @@ arm_get_next_irq(int last_irq) printf("Spurious interrupt detected [0x%08x]\n", active_irq); return -1; } - gic_c_write_4(GICC_EOIR, active_irq); return active_irq; } @@ -279,14 +278,15 @@ arm_get_next_irq(int last_irq) void arm_mask_irq(uintptr_t nb) { + gic_d_write_4(GICD_ICENABLER(nb >> 5), (1UL << (nb & 0x1F))); + gic_c_write_4(GICC_EOIR, nb); } void arm_unmask_irq(uintptr_t nb) { - gic_c_write_4(GICC_EOIR, nb); gic_d_write_4(GICD_ISENABLER(nb >> 5), (1UL << (nb & 0x1F))); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201312132224.rBDMO0Tp051526>