Re: [patch 5/5] irqchip: armanda: Sanitize set_irq_affinity()

From: Gregory CLEMENT
Date: Tue Mar 18 2014 - 10:07:15 EST


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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/