lkml.org 
[lkml]   [2014]   [Mar]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [patch 5/5] irqchip: armanda: Sanitize set_irq_affinity()
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


\
 
 \ /
  Last update: 2014-03-18 15:41    [W:0.071 / U:0.112 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site