From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752183AbcERGxs (ORCPT ); Wed, 18 May 2016 02:53:48 -0400 Received: from mailapp01.imgtec.com ([195.59.15.196]:26383 "EHLO mailapp01.imgtec.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751466AbcERGxr (ORCPT ); Wed, 18 May 2016 02:53:47 -0400 Subject: Re: [PATCH 2/3] MIPS: smp-cps: Clear Status IPL field when using EIC To: Paul Burton , , "Ralf Baechle" References: <1463495466-29689-1-git-send-email-paul.burton@imgtec.com> <1463495466-29689-3-git-send-email-paul.burton@imgtec.com> CC: Qais Yousef , , Thomas Gleixner , Markos Chandras From: Matt Redfearn Message-ID: <573C1179.8060306@imgtec.com> Date: Wed, 18 May 2016 07:53:45 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <1463495466-29689-3-git-send-email-paul.burton@imgtec.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [192.168.154.116] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 17/05/16 15:31, Paul Burton wrote: > When using an external interrupt controller (EIC) the interrupt mask > bits in the cop0 Status register are reused for the Interrupt Priority > Level, and any interrupts with a priority lower than the field will be > ignored. Clear the field to 0 by default such that all interrupts are > serviced. > > Signed-off-by: Paul Burton > --- > > arch/mips/kernel/smp-cps.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/arch/mips/kernel/smp-cps.c b/arch/mips/kernel/smp-cps.c > index 253e140..f19f0d3 100644 > --- a/arch/mips/kernel/smp-cps.c > +++ b/arch/mips/kernel/smp-cps.c > @@ -307,8 +307,12 @@ static void cps_init_secondary(void) > if (cpu_has_mipsmt) > dmt(); > > - change_c0_status(ST0_IM, STATUSF_IP2 | STATUSF_IP3 | STATUSF_IP4 | > - STATUSF_IP5 | STATUSF_IP6 | STATUSF_IP7); > + if (cpu_has_veic) > + clear_c0_status(ST0_IM); > + else > + change_c0_status(ST0_IM, STATUSF_IP2 | STATUSF_IP3 | > + STATUSF_IP4 | STATUSF_IP5 | > + STATUSF_IP6 | STATUSF_IP7); > } > > static void cps_smp_finish(void) Hi Paul Reviewed-by: Matt Redfearn Tested-by: Matt Redfearn Thanks, Matt