Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965127AbbLVXE2 (ORCPT ); Tue, 22 Dec 2015 18:04:28 -0500 Received: from mail-bl2on0056.outbound.protection.outlook.com ([65.55.169.56]:58225 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751832AbbLVXEZ (ORCPT ); Tue, 22 Dec 2015 18:04:25 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Suravee.Suthikulpanit@amd.com; Subject: Re: [PATCH v7 3/4] gicv2m: Refactor to prepare for ACPI support To: Bjorn Helgaas References: <1449766530-16935-1-git-send-email-Suravee.Suthikulpanit@amd.com> <1449766530-16935-4-git-send-email-Suravee.Suthikulpanit@amd.com> <20151216221208.GC27791@localhost> <56720095.70004@amd.com> <20151217165713.GA23549@localhost> CC: , , , , , Lorenzo Pieralisi , Will Deacon , Catalin Marinas , , , , , , , , From: Suravee Suthikulanit Message-ID: <5679D6EF.6000002@amd.com> Date: Tue, 22 Dec 2015 17:04:15 -0600 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 MIME-Version: 1.0 In-Reply-To: <20151217165713.GA23549@localhost> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: BY2PR04CA0082.namprd04.prod.outlook.com (10.255.247.50) To CY1PR12MB0442.namprd12.prod.outlook.com (25.163.91.20) X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0442;2:0xmuL3BPY9r0prJos7qIT2//nEQE64IhlgvOMrL+/MYCdgkPlbZ/HGiGLqlJVSdn9G7ldC6de26gYKrnQfTfZ3ofOCJ0BOracypxPLXSQyOg0MTO88lksbhOuxQj6uOcowRle8Htsu4HTGm9aCdmpA==;3:xAQQ2waLDWTar391xCllsA2FVrmVeIFtbaWBoPsIwiKVnvrJ5Kwrgt7VfSMgISIVwlagIBMN2o96JCssT6YyPVWQT2Mq1+1lQ/eZ8sswcxk1DS0UuGv6Td6LMC5UOIGC;25:x68HWxHY0CiY+mmx/SoR8+WEnun/CETpWO7ZhpWEQAnfH6ZZ8wlD0HMUy3u6lW63wEcbUhkaJG3yVXloDpVWT+2i4cSCE2pJFknVtrvXojbbkndsH/DVeiYA5gaEftXKuOZ6bJfPpoNCEdPTHGcEXBPD+Yy5VmXnHUIRkuoXOmgBqCzZAyu/c30MnwEcyuK3BGnLF8LO4L7T4jlxOwc5XWNqRJO3zG9isuAQTv0qymoLxgQWYIT+dnmynUc5bJ/21IwW+NlMfMXoswlAqdXYaw== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR12MB0442; X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0442;20:taSZHOyovB49RqjJMTcV68wjoqLVtzz0h5V4t0Vfw+qX6pMG3rphAfx7tgo5uuw4V30pgF3MdXfmy2MTGhNkkCWg9AedspxgvgcUijLhKuadrtAEL89zJYiY6bn0kMzp3gWcFa2pbjT1+ufEjHpawChNbCbsyGb53hK3GqDKXDfbyDnqkTNgs0LAHMAMNBaptNbzS7Z5Hkiq06zf90RMoHV/L1XL+HF4QvX4CRAZA6BctsGf3328s59GokNfqqray+20mpXZhnmSOILn0nbxgd5r8nXQnkoZSlrwDKufK4BJbbF55VWQ1UbIRc0VO7Si00FD+I3dJ2XDJ7JcmXNs2C3IAFTP2HRZQNRHdI/BuCZc9dNykYGUBAwcCqTox9q6TNy+xtCoPfKy+xfGV2tCcw/kpWXqG3TDzwE1SFZBFD5IQyDB1yyi5wrj22RX43MgLax6U89Yt53fWwxGAm0Eh9lnDyRjbD+YbKAqk2AaIaz71DOyj5+AaoeoT587BkAk X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110)(180628864354917); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(520078)(8121501046)(5005006)(10201501046)(3002001);SRVR:CY1PR12MB0442;BCL:0;PCL:0;RULEID:;SRVR:CY1PR12MB0442; X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0442;4:4dzi/VPfcVrSUJHFKWq9T78SD1ItXey1Fn7MynuwrFxySDxVNusmmubtHK5bTa1/6L8sX6Qn3y5Gu9+tecmAIDNvND+AI8oSy3By9SOEg6NOj0gV5PgiWvsKQsXimmQLq61vGNRyIDLDVixmv3CMiKZ5JqNB3xpJ5Z67klH1mn9BPjb6mKKOsgF4sKtciOAvPdjspqRk7tqLJMm9PNLIFaPOsTe8aZ8LE3Qdci0LP1NvelkgfmEywbFpMRyCEz1WE3A8VOkbwRmeki+G5yeODaJPa7Vr8i8qjU4oXKrTAtis07c/Gjx+b+wRkipyd4TqFkTicP2U1WmdZdNw7mGZUMgvdH9wX1vAP7IoiNCY9jcAXcm1lG56qlRT+nCte6Y73GW9XUw5AkL/8i49Yu0a0U+F7ukqCAooUhUvyIWx/2cRmzgM+ZeUT5kXMoGeXGNydZ2eFxAsca6n0Ay+E9TNMA== X-Forefront-PRVS: 0798146F16 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6049001)(6009001)(479174004)(52604005)(24454002)(377454003)(189002)(199003)(106356001)(97736004)(3846002)(47776003)(80316001)(66066001)(77096005)(5004730100002)(5001960100002)(50466002)(2950100001)(101416001)(87266999)(23746002)(36756003)(65816999)(5008740100001)(189998001)(110136002)(105586002)(92566002)(122386002)(76176999)(19580405001)(586003)(86362001)(19580395003)(4001350100001)(64126003)(54356999)(42186005)(65806001)(81156007)(50986999)(6116002)(1096002)(40100003)(93886004)(87976001)(83506001)(230700001)(33656002)(65956001)(59896002);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR12MB0442;H:[10.236.18.83];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;CY1PR12MB0442;23:/bjVXfico8Woa5Xuo7cqKHfg/o2p1EeUyd8zG?= =?Windows-1252?Q?fcbVkU5XiyRwIIbqoU53AuJOIH/ioa+ZvjBoZpJEVSMeoTlWA7clBpR8?= =?Windows-1252?Q?Kp0BgAOfxX3736fyyz2711LNYTBATXOcJ9nfCM0ogX9IQfqNZ0xJF6Un?= =?Windows-1252?Q?TGSzSD67/TmlRssaMME4mbSw6MrTwRmbBmICiquB96Gd3rrwrBs7/r1x?= =?Windows-1252?Q?6lhHvjU+RrtPPck/CnmBlqZ/K/yECAmoHQ/oi8hplYdV9Qezr1MKRVc8?= =?Windows-1252?Q?v00K+rtb3OaW764mpFzCNAIWoFlp06WqKw17eH83zUc2Jsx5vyo1SkoN?= =?Windows-1252?Q?IewQJsKjdOQptLBUhc3LEKOp7duJXiOggcboMGkY+0UkZcjuEigvuc40?= =?Windows-1252?Q?ooK+XfHHVIvuFq0LB29WWEy22ey5LSKxTBX4JESnYp8Jmix/5F5SMjEl?= =?Windows-1252?Q?enDcU/kKyehmi0n6Ut4E7Q+A4bCKVQ7Bms0NFtxb7e/lOm1Lj8va3mYj?= =?Windows-1252?Q?KfrzwkBwc25KcV9gUD85zMXaeAUNKWf2iE3IAHXzuxYLZfkLnZ8b/s2W?= =?Windows-1252?Q?oU2mh7srTxCYiZC+ouGrZrxbwiQZ8YQHSVlrP7V51057xEGxPKoT9Q3O?= =?Windows-1252?Q?VqeGGlUZXqOM6lIFTYS3B+TjafUlmuhqhPiaR0Kwy3jHJYhkF+J4x4hD?= =?Windows-1252?Q?dssaYrAATi1fyhHTY6DhNEMG1PTNpn3TvAQLmpET/EQ50radWFcSZaMy?= =?Windows-1252?Q?QLnX4JJTvq5zqlr2Zp/G6/0B40OLjBQanAUzUQRDUxA+7HJxwLxSVuhH?= =?Windows-1252?Q?qOakXBEX+ooBgn1Sut5vrUz8gspNeQF7vze9nQThmlj4ZCF1hWHrlce7?= =?Windows-1252?Q?wn9oexDRnNo98qmvFbHFsQeZcMOVmLxuD3hohv/vcLv5WfRVKqVukP3t?= =?Windows-1252?Q?5TptO3Iq91iSGwtCso6ARaTcTWnAI1s6pHvh/Fp8QW9W20HrVS/WG+lw?= =?Windows-1252?Q?dmMbwJksjenybyzLP3wneduB9De48cEQPzI+1C6Nr1fZ2XCMEHybdEzB?= =?Windows-1252?Q?3+ULUTWH3Izpb4NT1nysCQHvzIslNQ4tXtjc2/ejhN+ZzIhC71Jt3pgh?= =?Windows-1252?Q?ktWUC8sVLDatSXJNUIaZGoMaxNIWkMPQdxibzsZoGs+RWFtqxaTsOZ3L?= =?Windows-1252?Q?Tk+xLoy0qYoVbkomwWTzlmfHpG8zAxcHGZozbshQHmnLPsDpU8Crha/g?= =?Windows-1252?Q?Hk7wTa/HOcbWurGbuYJNoIOQ6XmHpFck44b9WWTDb6Sp1G5eKJShi5Rz?= =?Windows-1252?Q?qWG9q49kOqSs7BYFmqt9za0nmtAdz5mdBDYA72he4AewgXem8TJT0M0u?= =?Windows-1252?Q?/EpIkQKOupOq5S7r4PIIb4CL3nZtadoGsQJ4wx3qbariztsDoW660+zb?= =?Windows-1252?Q?tfAaO+4cG3R2jpMxe8l?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0442;5:FbMyqdyyLKhhGH5jluVIgMrpOxx8eDLghFOGb3pMpMhx6YRVyZFDb5ogPu3og2POcRLPSejuOLonOx2HssIGwJbkY8U7usNWPUiOOLokXkkmcZd2ySX99d2PPZlvlkU4jyXtkpyVq2MM9gawq24dTg==;24:lwqtfkzxqHGVOPZOtpbufLl5y4ZmZXi7C2oVYTbyQ+JD4bMkaqOftou0DhB8aU2Nf5oBAr7pzcs5aqFkY1vl6bMpkVo3846RSOL7xmqyKik=;20:fbVuXqVL9qlB5fV0PgFD2zN1FOOCSYZX2WXXhbaEBlfzjkpmSBifnG05GfiTUI99sx225Oi+cMSXmtqSzh2YShfqq7/9/JqqDbeyCOCuXS2msDTOokF95+gPwjlP0s6Y3Ef1r7gHZuYWq8sOYzgVcZJUqjOd09xv4bbEMwnt+elfHIB16iXyzFEotgnO4miZr9g2rYMjAa6fcn9LdL0HVdUtNv7e8aXoQB2eXxImMIS1TiIiwrCJoPmMpbiE+/cC SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Dec 2015 23:04:19.0948 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR12MB0442 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3428 Lines: 80 On 12/17/2015 10:57 AM, Bjorn Helgaas wrote: > On Wed, Dec 16, 2015 at 06:23:49PM -0600, Suravee Suthikulanit wrote: >> Hi Bjorn, >> >> Thanks for your review. Please see my comments below. >> >> On 12/16/2015 4:12 PM, Bjorn Helgaas wrote: >>> On Thu, Dec 10, 2015 at 08:55:29AM -0800, Suravee Suthikulpanit wrote: >>>> This patch replaces the struct device_node with struct fwnode_handle >>>> since this structure is common between DT and ACPI. >>>> >>>> It also refactors gicv2m_init_one() to prepare for ACPI support. >>>> The only functional change is removing the node name from pr_info. >>>> >>>> Reviewed-by: Marc Zyngier >>>> Signed-off-by: Suravee Suthikulpanit >>> >>>> @@ -359,10 +355,10 @@ static int __init gicv2m_init_one(struct device_node *node, >>>> } >>>> >>>> list_add_tail(&v2m->entry, &v2m_nodes); >>>> - pr_info("Node %s: range[%#lx:%#lx], SPI[%d:%d]\n", node->name, >>>> - (unsigned long)v2m->res.start, (unsigned long)v2m->res.end, >>>> - v2m->spi_start, (v2m->spi_start + v2m->nr_spis)); >>>> >>>> + pr_info("range[%#lx:%#lx], SPI[%d:%d]\n", >>>> + (unsigned long)res->start, (unsigned long)res->end, >>>> + v2m->spi_start, (v2m->spi_start + v2m->nr_spis)); >>> >>> You didn't change this, but I don't think this message has enough >>> context. It's pretty cryptic all by itself. It'd be nice if it could >>> at least include a device name, e.g., if you could use dev_info(). >> >> Here is the example of the information printed: >> [ 0.000000] GICv2m: range[0xe1180000:0xe1181000], SPI[64:320] >> >> Basically, the v2m is just an extension of the GIC. Here, we are >> printing the memory range that it is covering, which can be used to >> identify different V2m frame and the associate interrupt range >> (SPI). The node name is not really providing any values. So, we are >> removing it. > > I noticed the pr_fmt definition later; that adds some useful context I > didn't know about. I guess there's no struct device for the GIC? I > don't see one in struct device_node. Seems like this piece of > hardware that apparently responds to a memory range *could* have a > struct device,but I'm a little fuzzy on how we handle ACPI and OF > device descriptions in that regard. For DT, v2m is advertised as a sub-node inside GIC. So, both of them has the struct device_node references. IIUC, GIC node is match as irqchip, and not as a traditional platform bus device. Similarly, for ACPI, v2m is advertised as a sub-table inside MADT, and we are using the fwnode_handle to reference to. > I hadn't noticed the memory range part; maybe you could use %pR there? I guess we could have :) I can send a separate patch to clean this up. > Just to double-check, there's no off-by-one error in the SPI range, is > there? The pattern I usually expect is "start, start + nr_items - 1". In that case, this should have been [64:319]. I'll send a small patch to clean this up. > I'm just kibbitzing here; this isn't PCI code, and you don't need my > ack, so just consider these as random observations. > > Bjorn > Thanks for sharing your observation. It's always been good ones :) Suravee -- 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/