Lines Matching defs:reason
1820 static inline void lanai_int_1(struct lanai_dev *lanai, u32 reason)
1823 if (reason & INT_SERVICE) {
1829 if (reason & (INT_AAL0_STR | INT_AAL0)) {
1830 ack |= reason & (INT_AAL0_STR | INT_AAL0);
1834 if (ack == reason)
1836 if (reason & INT_STATS) {
1837 reason &= ~INT_STATS; /* No need to ack */
1840 if (reason & INT_STATUS) {
1841 ack |= reason & INT_STATUS;
1844 if (unlikely(reason & INT_DMASHUT)) {
1846 "shutdown, reason=0x%08X, address=0x%08X\n",
1847 lanai->number, (unsigned int) (reason & INT_DMASHUT),
1849 if (reason & INT_TABORTBM) {
1853 ack |= (reason & INT_DMASHUT);
1860 if (unlikely(reason & INT_TABORTSENT)) {
1861 ack |= (reason & INT_TABORTSENT);
1866 if (unlikely(reason & INT_SEGSHUT)) {
1868 "segmentation shutdown, reason=0x%08X\n", lanai->number,
1869 (unsigned int) (reason & INT_SEGSHUT));
1873 if (unlikely(reason & (INT_PING | INT_WAKE))) {
1877 (unsigned int) (reason & (INT_PING | INT_WAKE)));
1882 if (unlikely(ack != reason)) {
1884 (unsigned int) (reason & ~ack));
1885 ack = reason;
1896 u32 reason;
1908 reason = intr_pending(lanai);
1909 if (reason == 0)
1913 if (unlikely(reason == 0xFFFFFFFF))
1915 lanai_int_1(lanai, reason);
1916 reason = intr_pending(lanai);
1917 } while (reason != 0);