Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965293AbbLOPBh (ORCPT ); Tue, 15 Dec 2015 10:01:37 -0500 Received: from mail-sn1nam02on0047.outbound.protection.outlook.com ([104.47.36.47]:53320 "EHLO NAM02-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S965234AbbLOPBe (ORCPT ); Tue, 15 Dec 2015 10:01:34 -0500 Authentication-Results: spf=pass (sender IP is 149.199.60.83) smtp.mailfrom=xilinx.com; arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=bestguesspass action=none header.from=xilinx.com; Subject: Re: [PATCH] ARM64: ZynqMP: DT: Fix GIC's 'reg' property To: =?UTF-8?Q?S=c3=b6ren_Brinkmann?= , "Marc Zyngier" References: <1450110700-14152-1-git-send-email-soren.brinkmann@xilinx.com> <20151214164613.GH21356@leverpostej> <566EF5CC.4070000@arm.com> <20151215091450.GI3358@xsjsorenbubuntu> CC: Mark Rutland , , "Pawel Moll" , Ian Campbell , Catalin Marinas , Will Deacon , Michal Simek , , "Rob Herring" , Kumar Gala , "Alistair Francis" , From: Michal Simek X-Enigmail-Draft-Status: N1110 Message-ID: <56702B44.5080201@xilinx.com> Date: Tue, 15 Dec 2015 16:01:24 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <20151215091450.GI3358@xsjsorenbubuntu> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.0.0.1202-22002.005 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:149.199.60.83;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(438002)(3190300001)(24454002)(479174004)(199003)(377424004)(164054003)(189002)(36386004)(19580395003)(5001960100002)(65806001)(5001770100001)(11100500001)(59896002)(36756003)(83506001)(189998001)(23676002)(50466002)(1096002)(575784001)(63266004)(33656002)(92566002)(77096005)(19580405001)(93886004)(15975445007)(4001350100001)(106466001)(64126003)(87936001)(2950100001)(65816999)(80316001)(50986999)(65956001)(76176999)(86362001)(586003)(4001150100001)(81156007)(5008740100001)(54356999)(87266999)(1220700001)(6806005)(47776003)(99136001)(107986001);DIR:OUT;SFP:1101;SCL:1;SRVR:SN1NAM02HT218;H:xsj-pvapsmtpgw01;FPR:;SPF:Pass;PTR:unknown-60-83.xilinx.com;A:1;MX:1;LANG:en; X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(8251501001);SRVR:SN1NAM02HT218; X-Microsoft-Antispam-PRVS: <1432ccfca19942d18b5e8442b44136b8@SN1NAM02HT218.eop-nam02.prod.protection.outlook.com> X-Exchange-Antispam-Report-Test: UriScan:(192813158149592); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(520078)(5005006)(10201501046)(3002001);SRVR:SN1NAM02HT218;BCL:0;PCL:0;RULEID:;SRVR:SN1NAM02HT218; X-Forefront-PRVS: 07915F544A X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2015 15:01:31.9699 (UTC) X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c;Ip=[149.199.60.83];Helo=[xsj-pvapsmtpgw01] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1NAM02HT218 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3312 Lines: 97 Hi, On 15.12.2015 10:14, Sören Brinkmann wrote: > On Mon, 2015-12-14 at 05:01PM +0000, Marc Zyngier wrote: >> Mark, >> >> On 14/12/15 16:46, Mark Rutland wrote: >>> On Mon, Dec 14, 2015 at 08:31:40AM -0800, Soren Brinkmann wrote: >>>> Signed-off-by: Soren Brinkmann >>>> --- >>>> arch/arm64/boot/dts/xilinx/zynqmp.dtsi | 6 +++--- >>>> 1 file changed, 3 insertions(+), 3 deletions(-) >>>> >>>> diff --git a/arch/arm64/boot/dts/xilinx/zynqmp.dtsi b/arch/arm64/boot/dts/xilinx/zynqmp.dtsi >>>> index 857eda5c7217..b5d1facadf16 100644 >>>> --- a/arch/arm64/boot/dts/xilinx/zynqmp.dtsi >>>> +++ b/arch/arm64/boot/dts/xilinx/zynqmp.dtsi >>>> @@ -80,10 +80,10 @@ >>>> gic: interrupt-controller@f9010000 { >>>> compatible = "arm,gic-400", "arm,cortex-a15-gic"; >>>> #interrupt-cells = <3>; >>>> - reg = <0x0 0xf9010000 0x10000>, >>>> - <0x0 0xf902f000 0x2000>, >>>> + reg = <0x0 0xf9010000 0x1000>, >>>> + <0x0 0xf9020000 0x20000>, >>>> <0x0 0xf9040000 0x20000>, >>>> - <0x0 0xf906f000 0x2000>; >>>> + <0x0 0xf9060000 0x20000>; >>> >>> I'm confused. These sizes don't look right for GIC-400. Is this a custom >>> GIC? >> >> Probably an implementation that obey the SBSA requirement of aliasing >> the first 4kB of the CPU interface on a 64kB page, and the second one on >> the following 64kB page. See the APM system for an example of such a >> thing. I'm more concerned about the GICH region (3rd one), which has no >> reason to be bigger than 4kB. > > Xilinx didn't publish the memory map yet (at least I didn't see it in the > public docs), so, let me give some excerpts: > > GICD: > GICD_CTLR 0xF9010000 32 rw 0x00000000 Distributor Control Register > ... > GICD_CIDR3 0xF9010FFC 32 ro 0x000000B1 Component ID3 Register > > GICC: > GICC_CTLR 0xF9020000 32 rw 0x00000000 CPU Interface Control Register > ... > GICC_DIR 0xF9030000 32 wo x Deactivate Interrupt Register > > GICH: > GICH_HCR 0xF9040000 32 rw 0x00000000 Hypervisor Control Register > ... > GICH_LR3_Alias7 0xF9050F0C 32 rw 0x00000000 List Register 3 > > GICV: > GICV_CTLR 0xF9060000 32 rw 0x00000000 Virtual Machine Control Register > ... > GICV_DIR 0xF9070000 32 wo x VM Deactivate Interrupt Register > > > Regarding the GICH area, it looks like it starts at 0xF9040000 and the > alias blocks to access the other processor interfaces start at > 0xF9050000. > >> >>> Did this ever work wit hteh old offsets and sizes? >> >> It probably dies when trying to use EOImode==1. > > Without knowing what parts we really exercise, yes, the system comes up > fine so far, but I recently found Linux boot hanging on QEMU and it > seemed to be related to time not progressing (fast enough). > I found a different DT using the values proposed here and that fixed the > hang for me. We have discussed this here before with Rob https://lkml.org/lkml/2015/2/24/371 Not sure if there is any fix. It is probably just broken QEMU not DTS description in mainline. Thanks, Michal -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/