From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754088AbbJNOOT (ORCPT ); Wed, 14 Oct 2015 10:14:19 -0400 Received: from mail-by2on0065.outbound.protection.outlook.com ([207.46.100.65]:25520 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753771AbbJNOOL (ORCPT ); Wed, 14 Oct 2015 10:14:11 -0400 Authentication-Results: spf=none (sender IP is 165.204.84.222) smtp.mailfrom=amd.com; apm.com; dkim=none (message not signed) header.d=none;apm.com; dmarc=permerror action=none header.from=amd.com; X-WSS-ID: 0NW7RJF-08-8I6-02 X-M-MSG: Subject: Re: [PATCH v2 2/2] irqchip/gic-v2m: Add support for multiple MSI frames To: Marc Zyngier , Thomas Gleixner , Jason Cooper References: <1444822037-16983-1-git-send-email-marc.zyngier@arm.com> <1444822037-16983-3-git-send-email-marc.zyngier@arm.com> CC: Duc Dang , , From: Suravee Suthikulanit Message-ID: <561E6322.6030601@amd.com> Date: Wed, 14 Oct 2015 09:13:54 -0500 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: <1444822037-16983-3-git-send-email-marc.zyngier@arm.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:165.204.84.222;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(428002)(479174004)(377454003)(199003)(24454002)(189002)(164054003)(64706001)(46102003)(97736004)(189998001)(47776003)(2950100001)(65956001)(87266999)(86362001)(65806001)(5007970100001)(5008740100001)(5001770100001)(50466002)(33656002)(4001350100001)(77096005)(54356999)(19580395003)(36756003)(83506001)(105586002)(23746002)(80316001)(87936001)(50986999)(120886001)(19580405001)(59896002)(92566002)(106466001)(101416001)(15975445007)(65816999)(76176999)(64126003);DIR:OUT;SFP:1101;SCL:1;SRVR:SN1PR12MB0718;H:atltwp02.amd.com;FPR:;SPF:None;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0718;2:q7vHt8WedO/l+q0u0Vxw+gL+GWKbcVRGfyRJK4DLqez/xOvrej0mVkDJn1mLqypfk4w2HY6oR/QGFgfgEjW9YljhqazrtvOry92h8qU/bzpak6iDMe30Cx5UlvheYpcP7qGxwGjO8127n41qNo1gY7/PrcI2bygT8onb+G3aJKM=;3:DhbZVga1axx0Hv6ep3iW3DjeJEu327HIN+lwWZjxLpOJ13uQZVl0wZK7uBVDVYmCozGHPIkDj0+LjqiE8QOfpbexr1nuhZ1jgtcZ2RUSxWRS2Khok70hvkYnsGAA3uzmxJm8FLE5xu+MI8lZhFyWupA7ynxQ95v/AxHUZNOAqZ4u2lco6lO+ydS2Ef66w6hoXeKGzwvJNqrf+OceFqQqDQ3F+ovyWB1J3m2NG1UrIPm87vfcUy2VlI257FHDVRea;25:9Np8KL9GeopSR8eMzWrgfWL4PyUMGbZtv8twUTcsfh6BAp1urqHxzZTCtgjFXMS3iCceUPrJQcxKJd9RJ/QOTAhn3AmqHaCwgEsM8VjjxP3bsgMKJmqrg8Py3iNIbEY40zHg1qpIWn4OkCvs7+aUNksDbqx0TAzbR5ZI8/fpVMQ1p68QvB6YYl/d2FNSXiy1WbJrB4zAR4pl9zLX3edQM2x0S5bUo+6D6Xie0vLvrZzkPEtBUz6eAotJBQDn8CH+4rv8sPV8at1t6KND48Zozw== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:SN1PR12MB0718; X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0718;20:MpNdubiTE1lZNBrCkbi9+sWDRebg12nqHVlp5bE2HOsGQmoSK5cxUcRKuePE8CoKiKmVeu9BW0zd3DRAcvhLuvwy94mIs11pcdOnRCNkj3E4J44aIfabyVfZgCUMOX2YlsvTk8eQEbhgk11VVUxOjkbdfe6CQorIfjQF2ZK1Ndc6hI26iR43PYxkuwMNf5aZfgLVuGqNX3MKaJYGEZkRJxApKZlRlMVCdK7gbvxeoUVisG3jKVe54CLSkFGrVM443Q76lmZfPzSxji54GY/w9SHWwPtRKiA2EQJTg+cc8dVIg+sRtUxP/fzzX8dKr0LZkehk3HIBxtugWiD/GIkX8NyLD6OpyDbdtPFd7WY1vTSwOdmV+J79NdIPaqmkLbEYKhi0QNcznURk1rL9kxBs59mpl+nXF6uHKNzDCMxyayQfEI0+s8lF17IYEpU9hjKaNOIGF8NyEz1mBR9IjKnVoR9pksfc57Ggby1mktAyq1t9aZU0BjxAAxwwjznKqCpx;4:L4z22vgNICepXAv7d/ubdfATDbMWtB8eAaXlR13mMv5x/8ZI784Y0XFhvF5AXOxDhF8OMfBYGAqaGKbXxY53E6rF26QfZpbOKx6oxqGATUj1Zy5DUkrbiw1nYO9AgAuz07AFQBVvcC/XmYFjm648FTSvv7E53Aq1iwRdxZ/9NEIF/5Oxa++RI61+2cUWQ6mOlrIg8wVFDgn+2gkU8ls945mFNj4f4+BbylvTZreLb2LJPIpVHFJdC+mL4yWN0Yija1QJFBfluECAdqDJHD8pdwGnNkuzt5F5SjPFEkf2hHKSCaKLpQgnnZYsCNm6lONqhkMpDqSmnRTQjZAWUy3UhseN5r+mW+RBXEl+c6GC5Og= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(5005006)(520078)(3002001);SRVR:SN1PR12MB0718;BCL:0;PCL:0;RULEID:;SRVR:SN1PR12MB0718; X-Forefront-PRVS: 0729050452 X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;SN1PR12MB0718;23:smdiXpEKi3IA7fOsbmpqIis62YBlbUUvCMG1S?= =?Windows-1252?Q?dPrWB8Npd9kGOoUE9d+Xox4x43bUTa1R6377rsJ7dXM0HOyz5ZUpVAi4?= =?Windows-1252?Q?ErsbdlComxk4oalb2tzmSonze0LYgE3a0SmcAa9k3gs12Gnmo+n4DSpm?= =?Windows-1252?Q?ac6fd2/UGeanwuJ1CNd8VvVRMKYFrP9U/Qz7AKaEhiNRTHOV8h6xcoIH?= =?Windows-1252?Q?dClptJx9VhPDGWuk4HgvjM4cGEzW+SzAY2vCQLu0AbemZKQlwyRkdbUg?= =?Windows-1252?Q?Lg0fL2uJ/MEYFJB6JEWnFBsEb5CESZ+4aDttxieHx3lZRAJjJ2ZKuvpF?= =?Windows-1252?Q?EOQFo+0frlgi3ZowUD8WsGmtqhL1C/nKPPNxuTbmDF5Ui98OP0mbHdTi?= =?Windows-1252?Q?BTVMDITLOWLSX/ZNjUADSOhMonzNQbuEB1QmgwnjUAWHSnsfB6IlgQwo?= =?Windows-1252?Q?Gz0LSb7UzEnZAQZZUz5Kw+HnT5bn4P18jWeHwj0Mun315mxDYhsfs806?= =?Windows-1252?Q?u2oXEdjwn8zk65HEx+qetwa9/fawiVD31I5fWCBcnv0UiTynUN1T6XIj?= =?Windows-1252?Q?K386k8qKsi1uK1heCBcWR9i54WBOAnPK6v0F8nJJYqLd0WUm6+NLpul7?= =?Windows-1252?Q?rBiTzwjXF9zXAmCsETGa41Pb2I6Zlxns5o6WJyEDxqMx4c9NAlaMV5UR?= =?Windows-1252?Q?gQ37BfprgFipmiMWJgY1xhDCeuGfyHEQZ7TKh3zWJJPU7iRgy/O0xMYx?= =?Windows-1252?Q?oM2Y2IkdH1W9SKpmWQFhlfZWyM1svDjyWapVvBQsc6MlAI9ZJwqzfFqy?= =?Windows-1252?Q?mUh52R/4b/x0+iInmB8qnTgMC+JUVJ9ZycUE3WFCYC4vNQgQMtzSyqGP?= =?Windows-1252?Q?9DS3/ikEik/JnaSlVZAwkYK3LsO2TQgzx6h85bC6kDpa40xJ5dGhDqc4?= =?Windows-1252?Q?9xh2WXzL8MgTYjxR5AOGF4qBAKzTjUN4rMKrkZuhYGXLyLjiiUzjE79U?= =?Windows-1252?Q?TcG25x+qNY0biFFKsasroa7LO5hHZdSLej6CymSTXZnrj908nJMdgk7a?= =?Windows-1252?Q?b1JnDobi3/a/c53wPf84p3xoouw2biPbYltSHtBms1k0bAKmOSMntZWX?= =?Windows-1252?Q?/+7w0kV+QoW+WTqNDCXgIu1eekctrEv16DQRHS4lDUworRog3lISnufb?= =?Windows-1252?Q?Hg4izQlBDKSQIcqZ76kR0XhEDwKUqT9j7Dyg+nZRBXE+PFKJfai5JqEt?= =?Windows-1252?Q?LrrmTRkS2V4Nuo5vpv6Zuqow0So89X8hrjVzAt2V4+JfWgQdlAJ7D2rI?= =?Windows-1252?Q?RXU?= X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0718;5:xAEXdlf5Eqa/St4YTER0c3E+Y9zs9xLTkeA8yOHgkJX5aoDI5Ud3+QEPv4CPZDHrFE5U2h48/QFcUL/iqjE1WaY6Gja6YceWd8STgVzXUcBktixhsptjBmbh/2bscMWYG5g2tx5Ph1iEqooErZsF6Q==;24:pYRu0JZEhevF6ZZVWrlEsKXgiPWcumQgfcaUo2E3WiRk4LOujHKnAXfDhspIbtM6yGCTI8+HZ+Iq2e46W47UKuE6LROOxBDxk09oFIaVDmY=;20:Jag0uawMy5IN9Ns1OXeiOzVKuqupVNiqr/Qr8MAa4f27Q6qUSddCb86ou0sTZ11r4vvcIgH1WOVynU/XVZTBcrgVG2A1YpuzSdRFnKNpHbRymlGVz/hcPJgcRz02N/QuIvFo/md6Nxb0Do7lHC4Bewj0BkA6hCrXXi1EJ7LVuDla/VrdwgO740LORzKFC/PWM+Ia4F708xVlFgjrPn+bXreeCe9mMdYtb5KRR53/tR4IquKPFRYeHD72Oro6GDND SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Oct 2015 14:14:08.1905 (UTC) X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.222];Helo=[atltwp02.amd.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR12MB0718 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Marc, On 10/14/2015 6:27 AM, Marc Zyngier wrote: > The GICv2m driver is so far limited to a single MSI frame, but > nothing prevents an implementation from having several of them. > > This patch expands the driver to enumerate all frames, keeping > the first one as the canonical identifier for the MSI domains. > > Tested-by: Duc Dang > Signed-off-by: Marc Zyngier > --- > drivers/irqchip/irq-gic-v2m.c | 124 ++++++++++++++++++++++++++---------------- > 1 file changed, 78 insertions(+), 46 deletions(-) > > diff --git a/drivers/irqchip/irq-gic-v2m.c b/drivers/irqchip/irq-gic-v2m.c > index bf9b3c0..87f8d10 100644 > --- a/drivers/irqchip/irq-gic-v2m.c > +++ b/drivers/irqchip/irq-gic-v2m.c > @@ -50,8 +50,12 @@ > /* List of flags for specific v2m implementation */ > #define GICV2M_NEEDS_SPI_OFFSET 0x00000001 > > +static LIST_HEAD(v2m_nodes); > +static DEFINE_SPINLOCK(v2m_lock); > + > struct v2m_data { > - spinlock_t msi_cnt_lock; > + struct list_head entry; > + struct device_node *node; Would it be better if we use struct fwnode_handle * here instead. I noticed that later on, this is also used as of_node_to_fwnode(v2m->node) in several places. Also, this would need to change anyways when we introducing ACPI support (see here https://lkml.org/lkml/2015/10/13/846). Thanks, Suravee