From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751207AbdA1ACZ (ORCPT ); Fri, 27 Jan 2017 19:02:25 -0500 Received: from smtprelay.synopsys.com ([198.182.60.111]:39118 "EHLO smtprelay.synopsys.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751147AbdA1ACS (ORCPT ); Fri, 27 Jan 2017 19:02:18 -0500 From: Yuriy Kolerov To: linux-snps-arc@lists.infradead.org Cc: Vineet.Gupta1@synopsys.com, Alexey.Brodkin@synopsys.com, linux-kernel@vger.kernel.org, marc.zyngier@arm.com, Yuriy Kolerov Subject: [PATCH 2/6] ARCv2: MCIP: Add structure for build register of IDU Date: Sat, 28 Jan 2017 03:01:39 +0300 Message-Id: <1485561703-20921-3-git-send-email-yuriy.kolerov@synopsys.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1485561703-20921-1-git-send-email-yuriy.kolerov@synopsys.com> References: <1485561703-20921-1-git-send-email-yuriy.kolerov@synopsys.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 6902c2a..798c01b 100644 --- a/include/soc/arc/mcip.h +++ b/include/soc/arc/mcip.h @@ -14,6 +14,7 @@ #include #define ARC_REG_MCIP_BCR 0x0d0 +#define ARC_REG_MCIP_IDU_BCR 0x0D5 #define ARC_REG_MCIP_CMD 0x600 #define ARC_REG_MCIP_WDATA 0x601 #define ARC_REG_MCIP_READBACK 0x602 @@ -69,6 +70,22 @@ struct mcip_bcr { #endif }; +struct mcip_idu_bcr { +#ifdef CONFIG_CPU_BIG_ENDIAN + unsigned int pad:21, cirqnum:3, ver:8; +#else + unsigned int ver:8, cirqnum:3, pad:21; +#endif +}; + + +/* + * Build register for IDU contains not an actual number of supported common + * interrupts but an exponent of 2 which must be multiplied by 4 to + * get a number of supported common interrupts. + */ +#define mcip_idu_bcr_to_nr_irqs(bcr) (4 * (1 << (bcr).cirqnum)) + /* * MCIP programming model * -- 2.7.4