From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755956AbaCROHF (ORCPT ); Tue, 18 Mar 2014 10:07:05 -0400 Received: from top.free-electrons.com ([176.31.233.9]:36604 "EHLO mail.free-electrons.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1755913AbaCROHD (ORCPT ); Tue, 18 Mar 2014 10:07:03 -0400 Message-ID: <53285303.8000305@free-electrons.com> Date: Tue, 18 Mar 2014 15:06:59 +0100 From: Gregory CLEMENT User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Thomas Gleixner CC: Jason Cooper , LKML , Peter Zijlstra , Ingo Molnar Subject: Re: [patch 5/5] irqchip: armanda: Sanitize set_irq_affinity() References: <20140304202425.102779779@linutronix.de> <20140304203101.088889302@linutronix.de> <20140306190531.GF1872@titan.lakedaemon.net> <5319ED86.2050707@free-electrons.com> In-Reply-To: X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Thomas, On 07/03/2014 18:17, Thomas Gleixner wrote: > On Fri, 7 Mar 2014, Gregory CLEMENT wrote: > >> On 06/03/2014 20:05, Jason Cooper wrote: >>> Thomas, >>> >>> nit: s/armanda/armada/ in the patch subject. >>> >>> Gregory, >>> >>> Mind providing an Ack on this? >> >> Well sorry but with this patch the kernel doesn't >> work anymore. >> >> I am investigating to find if some part could be kept. > > It might be the readback of the routing register. I don't have the > datasheet of this. Sorry for the delay, I was on vacation without the hardware to test it. Indeed it was the readback of the routing register. (Unfortunately the datasheet was not yet publicly available :( ). In your patch by replacing the line: writel(mask, main_int_base + ARMADA_370_XP_INT_SOURCE_CTL(hwirq)); by the following ones: reg = readl(main_int_base + ARMADA_370_XP_INT_SOURCE_CTL(hwirq)); reg = (reg & (~ARMADA_370_XP_INT_SOURCE_CPU_MASK)) | mask; writel(reg, main_int_base + ARMADA_370_XP_INT_SOURCE_CTL(hwirq)); with #define ARMADA_370_XP_INT_SOURCE_CPU_MASK 0xF Then it worked. About masking with the online CPU in the original code, the purpose was to allow sharing the SoC with an other OS by doing AMP. This feature is part of the Marvell version of the kernel. The idea was to bring this latter in the vanilla kernel, but I am not sure that all the part needed for AMP are acceptable for mainline. So I can add it back later when we will need it. Thanks, Gregory > > Thanks, > > tglx > -- Gregory Clement, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com