Lines Matching refs:reason
1801 static inline void lanai_int_1(struct lanai_dev *lanai, u32 reason)
1804 if (reason & INT_SERVICE) {
1810 if (reason & (INT_AAL0_STR | INT_AAL0)) {
1811 ack |= reason & (INT_AAL0_STR | INT_AAL0);
1815 if (ack == reason)
1817 if (reason & INT_STATS) {
1818 reason &= ~INT_STATS; /* No need to ack */
1821 if (reason & INT_STATUS) {
1822 ack |= reason & INT_STATUS;
1825 if (unlikely(reason & INT_DMASHUT)) {
1827 "shutdown, reason=0x%08X, address=0x%08X\n",
1828 lanai->number, (unsigned int) (reason & INT_DMASHUT),
1830 if (reason & INT_TABORTBM) {
1834 ack |= (reason & INT_DMASHUT);
1841 if (unlikely(reason & INT_TABORTSENT)) {
1842 ack |= (reason & INT_TABORTSENT);
1847 if (unlikely(reason & INT_SEGSHUT)) {
1849 "segmentation shutdown, reason=0x%08X\n", lanai->number,
1850 (unsigned int) (reason & INT_SEGSHUT));
1854 if (unlikely(reason & (INT_PING | INT_WAKE))) {
1858 (unsigned int) (reason & (INT_PING | INT_WAKE)));
1863 if (unlikely(ack != reason)) {
1865 (unsigned int) (reason & ~ack));
1866 ack = reason;
1877 u32 reason;
1889 reason = intr_pending(lanai);
1890 if (reason == 0)
1894 if (unlikely(reason == 0xFFFFFFFF))
1896 lanai_int_1(lanai, reason);
1897 reason = intr_pending(lanai);
1898 } while (reason != 0);