Hi Vineet,
> -Original Message-
> From: Vineet Gupta [mailto:vgu...@synopsys.com]
> Sent: Wednesday, February 08, 2017 7:08 PM
> To: Yuriy Kolerov ; linux-snps-
> a...@lists.infradead.org
> Cc: alexey.brod...@synopsys.com; linux-ker...@vger.kernel.org;
> marc.zyng...@
interrupts. If CPU consists of
only 1 core without IDU then it is necessary to disable all
interrupts in the core interrupt controller. If CPU contains IDU
it means that there are may be more than 1 cores and common
interrupts (>= FIRST_EXT_IRQ) must be disabled in IDU.
Signed-off-by: Yuriy Kole
.
* Some small clean ups.
Yuriy Kolerov (2):
ARCv2: IDU-intc: Delete deprecated parameters in Device Trees
ARCv2: intc: Delete useless comments in Device Trees
.../interrupt-controller/snps,archs-idu-intc.txt | 24 ++
arch/arc/boot/dts/axc003_idu.dtsi | 23
Signed-off-by: Yuriy Kolerov
---
arch/arc/boot/dts/haps_hs_idu.dts | 1 -
arch/arc/boot/dts/nsimosci_hs_idu.dts | 1 -
2 files changed, 2 deletions(-)
diff --git a/arch/arc/boot/dts/haps_hs_idu.dts
b/arch/arc/boot/dts/haps_hs_idu.dts
index 0a857fa..215cddd 100644
--- a/arch/arc/boot/dts
anywhere.
Signed-off-by: Yuriy Kolerov
---
.../interrupt-controller/snps,archs-idu-intc.txt | 24 ++
arch/arc/boot/dts/axc003_idu.dtsi | 23 +++--
arch/arc/boot/dts/haps_hs_idu.dts | 10 ++---
arch/arc/boot/dts/nsim_hs_idu.dts
Hi Vineet,
I have checked reworked patches. I think it is fine.
> -Original Message-
> From: Vineet Gupta [mailto:vgu...@synopsys.com]
> Sent: Wednesday, February 01, 2017 11:58 PM
> To: Yuriy Kolerov ; linux-snps-
> a...@lists.infradead.org
> Cc: alexey.brod...@synop
Hi Vineet,
> -Original Message-
> From: Vineet Gupta [mailto:vgu...@synopsys.com]
> Sent: Tuesday, January 31, 2017 8:54 PM
> To: Yuriy Kolerov ; linux-snps-
> a...@lists.infradead.org
> Cc: marc.zyng...@arm.com; alexey.brod...@synopsys.com; linux-
> ker...@vger.ker
switching
of banks is not used by all interrupts. It is necessary to set a
default nonzero priority for all available interrupts to avoid
undefined behaviour.
Signed-off-by: Yuriy Kolerov
---
arch/arc/kernel/intc-arcv2.c | 12 +++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a
interrupts.
* Increase a maximum number of virtual IRQs to 512. ARCv2 can
support 240 interrupts in the core interrupts controllers
and 128 interrupts in IDU. Thus 512 virtual IRQs must be
enough for most configurations of boards.
Signed-off-by: Yuriy Kolerov
---
arch/arc/Kconfig
since it is used only once.
Yuriy Kolerov (4):
ARCv2: IRQ: Move structure for build register of core intc to the
header
ARCv2: IRQ: Remove option for setting number of interrupts
ARCv2: IRQ: Use build registers for getting numbers of interrupts
ARCv2: IRQ: Set a default priority for all
Also add new macro ARC_REG_STATUS32 for the address of STATUS32
auxiliary register. It is better to use it instead of magic numbers.
Signed-off-by: Yuriy Kolerov
---
arch/arc/include/asm/arcregs.h | 11 +++
arch/arc/kernel/intc-arcv2.c | 10 ++
2 files changed, 13 insertions
-controller {
compatible = "snps,archs-idu-intc";
interrupt-controller;
interrupt-parent = <&core_intc>;
#interrupt-cells = <2>;
};
Signed-off-by: Yuriy Kolerov
---
arch/arc/include/asm/irq.h | 4
arch/arc/kernel/intc
-controller {
compatible = "snps,archs-idu-intc";
interrupt-controller;
interrupt-parent = <&core_intc>;
#interrupt-cells = <2>;
};
Signed-off-by: Yuriy Kolerov
---
arch/arc/include/asm/irq.h | 3 +++
arch/arc/kernel/in
switching
of banks is not used by all interrupts. It is necessary to set a
default nonzero priority for all available interrupts to avoid
undefined behaviour.
Signed-off-by: Yuriy Kolerov
---
arch/arc/kernel/intc-arcv2.c | 12 +++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a
Signed-off-by: Yuriy Kolerov
---
arch/arc/include/asm/irq.h | 1 +
arch/arc/kernel/intc-arcv2.c | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/arc/include/asm/irq.h b/arch/arc/include/asm/irq.h
index c0fa0d2..e61ad30 100644
--- a/arch/arc/include/asm/irq.h
+++ b
This structure is necessary for retrieving of supported
number of common interrupts in IDU interrupt controller.
Signed-off-by: Yuriy Kolerov
---
include/soc/arc/mcip.h | 17 +
1 file changed, 17 insertions(+)
diff --git a/include/soc/arc/mcip.h b/include/soc/arc/mcip.h
index
interrupts since it does
not affect a number of interrupts in IRQ domains and breaks
portability since it is impossible to change size of table of
interrupts after linkage.
Yuriy Kolerov (6):
ARCv2: IRQ: Move structures for core intc to the header
ARCv2: MCIP: Add structure for build
interrupts.
* Increase a maximum number of virtual IRQs to 512. ARCv2 can
support 240 interrupts in the core interrupts controllers
and 128 interrupts in IDU. Thus 512 virtual IRQs must be
enough for most configurations of boards.
Signed-off-by: Yuriy Kolerov
---
arch/arc/Kconfig
Also add new macro ARC_REG_STATUS32 for the address of STATUS32
auxiliary register. It is better to use it instead of magic numbers.
Signed-off-by: Yuriy Kolerov
---
arch/arc/include/asm/arcregs.h | 26 ++
arch/arc/kernel/intc-arcv2.c | 23 +++
2
> -Original Message-
> From: Vineet Gupta [mailto:vgu...@synopsys.com]
> Sent: Tuesday, January 03, 2017 9:11 PM
> To: Yuriy Kolerov ; linux-snps-
> a...@lists.infradead.org
> Cc: alexey.brod...@synopsys.com; linux-ker...@vger.kernel.org;
> marc.zyng...@arm.com
>
It is necessary to use hwirq instead of virq when you communicate
with an interrupt controller since there is no guaranty that virq
numbers match hwirq numbers.
Signed-off-by: Yuriy Kolerov
---
arch/arc/kernel/intc-arcv2.c | 6 +++---
arch/arc/kernel/intc-compact.c | 4 ++--
2 files changed
It is necessary to call entry/exit functions for parent interrupt
controllers for proper masking/unmasking of interrupt lines.
Signed-off-by: Yuriy Kolerov
---
arch/arc/kernel/mcip.c | 4
1 file changed, 4 insertions(+)
diff --git a/arch/arc/kernel/mcip.c b/arch/arc/kernel/mcip.c
index
the kernel is not configured with support of SMP.
2. When the kernel is configured with support of SMP but upper
interrupt controllers does not support setting of the affinity
and cannot propagate it to IDU.
Signed-off-by: Yuriy Kolerov
---
.../interrupt-controller/snps,archs-idu
set_affinity() is not called for IDU interrupts and
the real affinity of IDU does not correspond to the value
in the descriptor of IRQ (irq_default_affinity by default).
Yuriy Kolerov (3):
ARC: IRQ: Use hwirq instead of virq in mask/unmask
ARCv2: IRQ: Call entry/exit functions for chained
affinity for common interrupt.
Signed-off-by: Yuriy Kolerov
---
arch/arc/kernel/irq.c | 6 ++
1 file changed, 6 insertions(+)
diff --git a/arch/arc/kernel/irq.c b/arch/arc/kernel/irq.c
index 538b36a..e53bfd5 100644
--- a/arch/arc/kernel/irq.c
+++ b/arch/arc/kernel/irq.c
@@ -20,6 +20,12
common interrupts since it is set to the boot CPU by default.
If the kernel is configured without support of SMP then use
cpu_online_mask since in this case it must always contain a valid
bitmap with only 1 online CPU.
Signed-off-by: Yuriy Kolerov
---
.../interrupt-controller/snps,archs-idu-intc.txt
> -Original Message-
> From: Vineet Gupta [mailto:vgu...@synopsys.com]
> Sent: Wednesday, November 30, 2016 7:55 PM
> To: Yuriy Kolerov ; Michal Hocko
>
> Cc: linux-snps-arc@lists.infradead.org; alexey.brod...@synopsys.com; linux-
> ker...@vger.kernel.org
> Su
> -Original Message-
> From: Michal Hocko [mailto:mho...@kernel.org]
> Sent: Wednesday, November 30, 2016 12:17 PM
> To: Yuriy Kolerov
> Cc: linux-snps-arc@lists.infradead.org; vineet.gup...@synopsys.com;
> alexey.brod...@synopsys.com; linux-ker...@vger.kernel.org
> S
Despite the fact that subtraction of unsigned integers is a defined
behaviour however such operations can lead to unexpected results. Thus
it is better to check both left and right boundaries to avoid potential
bugs as it done in the generic page.h.
Signed-off-by: Yuriy Kolerov
---
arch/arc
then the value of pte will be truncated (0x1000)
and the invalid mapping will be created.
Signed-off-by: Yuriy Kolerov
---
arch/arc/include/asm/pgtable.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arc/include/asm/pgtable.h b/arch/arc/include/asm/pgtable.h
index
; Subject: Re: [PATCH] ARC: mm: PAE40: Cast pfn to pte_t in pfn_pte() macro
>
> Hi Yuriy,
>
> Really nice catch!
> Though a couple of nitpicks below.
>
> On Mon, 2016-11-28 at 07:07 +0300, Yuriy Kolerov wrote:
> > Originally pfn_pte(pfn, prot) macro had this de
210/0x450
SyS_munmap+0x2c/0x50
EV_Trap+0xfc/0x100
So the value of pfn must be casted to pte_t before shifting to
ensure that 40-bit address will not be truncated:
__pte(((pte_t) (pfn) << PAGE_SHIFT) | pgprot_val(prot))
Signed-off-by: Yuriy Kolerov
---
arch/arc/include/asm/pgtable.h
Hi Marc,
> -Original Message-
> From: Marc Zyngier [mailto:marc.zyng...@arm.com]
> Sent: Friday, November 11, 2016 6:29 PM
> To: Yuriy Kolerov ; linux-snps-
> a...@lists.infradead.org
> Cc: vineet.gup...@synopsys.com; alexey.brod...@synopsys.com;
> t...@lin
since
irq_set_affinity() does nothing in this case.
Signed-off-by: Yuriy Kolerov
---
.../interrupt-controller/snps,archs-idu-intc.txt | 3 ++
arch/arc/kernel/mcip.c | 51 +-
2 files changed, 24 insertions(+), 30 deletions(-)
diff --git
a
routed to a
single core.
Yuriy Kolerov (2):
ARC: IRQ: Do not use hwirq as virq and vice versa
ARCv2: MCIP: Use IDU_M_DISTRI_DEST mode if there is only 1 destination
core
arch/arc/include/asm/smp.h | 4 ++--
arch/arc/kernel/mcip.c | 33 -
arch/arc/kernel
.
However idu_irq_set_affinity() always sets IDU_M_DISTRI_RR for all affinity
values. But there is no sense in setting of such mode if only 1 core must
handle a common interrupt.
Signed-off-by: Yuriy Kolerov
---
arch/arc/kernel/mcip.c | 13 +++--
1 file changed, 11 insertions(+), 2 deletions
form all the above-described manipulations
on virtual IRQs. But it is wrong and hardware IRQs must be used instead.
Signed-off-by: Yuriy Kolerov
---
arch/arc/include/asm/smp.h | 4 ++--
arch/arc/kernel/mcip.c | 20 +---
arch/arc/kernel/smp.c | 13 +
3
Yes, theoretically this may not work with 1/3 and 2/3. I will merge those
patches.
> -Original Message-
> From: Vineet Gupta [mailto:vgu...@synopsys.com]
> Sent: Tuesday, November 08, 2016 4:59 AM
> To: Yuriy Kolerov ; linux-snps-
> a...@lists.infradead.org
&g
eve this value from /proc/interrupts for AXS103 even
if support of hierarchical domains is implemented: /proc/interrupts does
not show chained virqs and virqs without actions (e.g. all virqs of IDU).
P.S.S.
The question is how to solve all those problems properly.
Signed-off-by: Yuriy Kole
necessary to find a mapping of hwirq in the root IRQ domain to
the actual virq using irq_find_mapping.
Also a declaration of smp_ipi_irq_setup is corrected to denote that
this function takes a hardware IRQ number but not a virtual IRQ number.
Signed-off-by: Yuriy Kolerov
---
arch/arc/include/asm/smp.h
.
However idu_irq_set_affinity always sets IDU_M_DISTRI_RR for all affinity
values. But there is no sense in setting of such mode if only 1 core must
handle a common interrupt.
Signed-off-by: Yuriy Kolerov
---
arch/arc/kernel/mcip.c | 13 +++--
1 file changed, 11 insertions(+), 2 deletions
d manipulations
on virtual IRQs. But it is wrong and hardware IRQs must be used instead.
Signed-off-by: Yuriy Kolerov
---
arch/arc/kernel/mcip.c | 20 +---
1 file changed, 9 insertions(+), 11 deletions(-)
diff --git a/arch/arc/kernel/mcip.c b/arch/arc/kernel/mcip.c
index 72f91
to a single core.
Yuriy Kolerov (3):
ARC: SMP: Register IPI handler using virq but not hwirq
ARCv2: MCIP: Use hwirq instead of virq for resolution of IDU IRQ
handlers
ARCv2: MCIP: Use IDU_M_DISTRI_DEST mode if there is only 1 destination
core
arch/arc/include/asm/smp.h | 4
> -Original Message-
> From: Vineet Gupta [mailto:vgu...@synopsys.com]
> Sent: Tuesday, October 25, 2016 8:53 PM
> To: Yuriy Kolerov ; linux-snps-
> a...@lists.infradead.org
> Cc: marc.zyng...@arm.com; vineet.gup...@synopsys.com;
> alexey.brod...@synopsys.com; linux-k
Hi Vineet,
Yes, I agree with you and I will squash these patches.
> -Original Message-
> From: Vineet Gupta [mailto:vgu...@synopsys.com]
> Sent: Tuesday, October 25, 2016 5:29 AM
> To: Yuriy Kolerov ; linux-snps-
> a...@lists.infradead.org
> Cc: alexey.brod...@synop
that it must be rewritten to
eliminate usage of the buffer and move all logic to idu_irq_map but
I do not know how to do it correctly.
Signed-off-by: Yuriy Kolerov
---
arch/arc/kernel/mcip.c | 15 +++
1 file changed, 11 insertions(+), 4 deletions(-)
diff --git a/arch/arc/kernel
.
However idu_irq_set_affinity always sets IDU_M_DISTRI_RR for all affinity
values. But there is no sense in setting of such mode if only 1 core must
handle a common interrupt.
Signed-off-by: Yuriy Kolerov
---
arch/arc/kernel/mcip.c | 11 +--
1 file changed, 9 insertions(+), 2 deletions
of hwirq instead of virq in future.
Signed-off-by: Yuriy Kolerov
---
arch/arc/include/asm/smp.h | 4 ++--
arch/arc/kernel/smp.c | 8
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/arch/arc/include/asm/smp.h b/arch/arc/include/asm/smp.h
index 89fdd1b..3ebebbc 100644
d manipulations
on virtual IRQs. But it is wrong and hardware IRQs must be used instead.
Signed-off-by: Yuriy Kolerov
---
arch/arc/kernel/mcip.c | 20 +---
1 file changed, 9 insertions(+), 11 deletions(-)
diff --git a/arch/arc/kernel/mcip.c b/arch/arc/kernel/mcip.c
index 28ff7
registering an IRQ handler for a root interrupt controller (a default
IRQ domain must be used).
Signed-off-by: Yuriy Kolerov
---
arch/arc/kernel/mcip.c| 5 +++--
arch/arc/plat-eznps/smp.c | 2 +-
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/arch/arc/kernel/mcip.c b/arch/arc
that it must be rewritten to
eliminate usage of the buffer and move all logic to idu_irq_map but
I do not know how to do it correctly.
Signed-off-by: Yuriy Kolerov
---
arch/arc/kernel/mcip.c | 15 +++
1 file changed, 11 insertions(+), 4 deletions(-)
diff --git a/arch/arc/kernel
of hwirq instead of virq in future.
Signed-off-by: Yuriy Kolerov
---
arch/arc/include/asm/smp.h | 4 ++--
arch/arc/kernel/smp.c | 8
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/arch/arc/include/asm/smp.h b/arch/arc/include/asm/smp.h
index 89fdd1b..3ebebbc 100644
registering an IRQ handler for a root interrupt controller (a default
IRQ domain must be used).
Signed-off-by: Yuriy Kolerov
---
arch/arc/kernel/mcip.c| 5 +++--
arch/arc/plat-eznps/smp.c | 2 +-
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/arch/arc/kernel/mcip.c b/arch/arc
.
However idu_irq_set_affinity always sets IDU_M_DISTRI_RR for all affinity
values. But there is no sense in setting of such mode if only 1 core must
handle a common interrupt.
Signed-off-by: Yuriy Kolerov
---
arch/arc/kernel/mcip.c | 11 +--
1 file changed, 9 insertions(+), 2 deletions
d manipulations
on virtual IRQs. But it is wrong and hardware IRQs must be used instead.
Signed-off-by: Yuriy Kolerov
---
arch/arc/kernel/mcip.c | 20 +---
1 file changed, 9 insertions(+), 11 deletions(-)
diff --git a/arch/arc/kernel/mcip.c b/arch/arc/kernel/mcip.c
index 28ff7
In the end of "arc_init_IRQ" STATUS32.IE flag is going to be affected by
"flag" instruction but "flag" never touches IE flag on ARCv2. So "kflag"
instruction must be used instead of "flag".
Signed-off-by: Yuriy Kolerov
---
arch/arc/kernel/intc
: Yuriy Kolerov
---
testcases/kernel/syscalls/fcntl/fcntl34.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/testcases/kernel/syscalls/fcntl/fcntl34.c b/testcases/kernel/syscalls/fcntl/fcntl34.c
index c72951e..2f89dea 100644
--- a/testcases/kernel/syscalls/fcntl/fcntl34.c
+++ b
> -Original Message-
> From: Vineet Gupta
> Sent: Friday, August 12, 2016 2:39 AM
> To: Yuriy Kolerov ; ucl...@uclibc.org
> Cc: Waldemar Brodkorb ; Alexey Brodkin
> ; Anton Kolesov ;
> arcml
> Subject: Re: Problems with support of file locks for ARC (maybe
58 matches
Mail list logo