From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933463AbcBIAZA (ORCPT ); Mon, 8 Feb 2016 19:25:00 -0500 Received: from mail-by2on0063.outbound.protection.outlook.com ([207.46.100.63]:64043 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932312AbcBIAX7 (ORCPT ); Mon, 8 Feb 2016 19:23:59 -0500 X-Greylist: delayed 4732 seconds by postgrey-1.27 at vger.kernel.org; Mon, 08 Feb 2016 19:23:59 EST Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=none action=none header.from=nxp.com; From: Stuart Yoder To: , , , , CC: , , , Stuart Yoder Subject: [PATCH] of/irq: fix bug in computing output requester-id for an msi-map Date: Mon, 8 Feb 2016 16:30:23 -0600 Message-ID: <1454970623-28781-1-git-send-email-stuart.yoder@nxp.com> X-Mailer: git-send-email 1.7.9.5 X-EOPAttributedMessage: 0 X-Matching-Connectors: 130994454101873091;(91ab9b29-cfa4-454e-5278-08d120cd25b8);() X-Microsoft-Exchange-Diagnostics: 1;BN1AFFO11FD053;1:KUACIEYmpDaEdDAFh9L29rk732C0z3q4Z+mZB9p/pWmCeASokFHtmmUPLxs4HYw1kHBR0SR5SMOaQznHsRUYJ45UHTFYyzNT/6CeUiW8OUoQVZS6m0B/BgwLaZbSZB1ZdhwXdBxbsG1MzD9xHBLHdYTN9y+tf9YfVMil3r53BJhpaeTWCJeaH8HSduk/l0LuhPNt5qcIDOQHahZL7fYcg/fG5f6CrCn5y0QZKz6DpwXprT5mmwA4tr87uGf41pp9Varq6P6RKfMfxQ/aVOjZFEJ6s3B/MeHBYT4dAzenjk9/2yNusomeCUbl2iFqcr/8JjTLJr4LpV4cM287kG4TnyFqI4NYB1mRsAOPWXg2Uql1xDDUHMzXjMS4RHyI+VAhJQ5gPmNpDNfTq0Os11BcGPDgJdeDFUOZeMt9mtdY1QiygakEIYEPbnaqXo/QZaYd8qdEaQYcJHLOfcTmvJBk6hc3dNS2OWdTOcKRiYIHv6XSvhzKJTwIu798P2STIuufc5LIXon+/XP2IwYSNLJHEZbDezRMBIhSZuqQvxocY81n+OYhxoqv1F1TAtkRzGaNPWyMrqJrsSUhKWwPHTZ7qsu0dbutcyeaMw3NjX9S9O4= X-Forefront-Antispam-Report: CIP:192.88.168.50;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(1109001)(1110001)(339900001)(199003)(189002)(50986999)(586003)(1220700001)(11100500001)(5001960100002)(2906002)(5003940100001)(36756003)(5008740100001)(77096005)(104016004)(5001770100001)(6806005)(1096002)(50466002)(85426001)(2201001)(92566002)(229853001)(189998001)(47776003)(105606002)(87936001)(33646002)(19580395003)(19580405001)(50226001)(86362001)(4326007)(106466001)(48376002)(7059030);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR0301MB0699;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;MLV:sfv;A:1;MX:1;LANG:en; MIME-Version: 1.0 Content-Type: text/plain X-MS-Office365-Filtering-Correlation-Id: d080497f-ce6c-4da9-7067-08d330da32be X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB0699;2:ktIqUE4CSC69JYP3L46rzNyplLQhyeP653TEe90RTWqZwWct6E5AaLEvm5dXugQR3I5u/uEZJ3AhGzM9/kaaPD23X5zgzOYVr+ENyl1ebY1N4Ki4qQYpJaqyz6ILYgIfqEH8wkN0wekugnyKSIryGpXifd7nTWQzfNE6P2H53O51PYSzdH0eKl+y/Xp0Zb+7;3:0yWYo4CFOnjJO6bzstzoikvToV0VPTGK1YvLAnBB7gY+KhHSrAwbPHixAGB0JPxCwe5WO8AyN0TNOY9W8bt2rDWJM4dvtiZTXtNTJlFHOSRSv1/JNGXJEwT+uCjZXNFlE3hL+jtW1hrkbuwVt/n9t79tefFVqkpEqBA1V2omCFY+iYVLCe14/HqEt7hgnnsDpZJFRMHvA3oVGL7Xh3VD/nLL56WcDwzG/m7/W280dkg=;25:WIMzxMy03Mn/c0MJojK/rjqMBgXSTieVY14rjXOwfozbTMWlQ0Xr2maIDCvq9Qs0MEjDniT/kogqqLcCmu/4m3WPF5fDntDspO1NHj2hGB8yD6Lvn0YI1BOQi3eMqU+FlUkMr9IeqDMkwdPZu9KM/PmxbHIPqrqyLEjVQvRIzW//XKT7LgkQL0igFZaMakgI9CJP5xoifLHggtXW2nmQPlvI2+UNDNgFttwe2fvtw3cdtAXjRDh6w82nwVClOcKsR8OK+Xt0R9/xf1hWaktRwqyCMqrVnGy/cDA2HyVCUM5IQIVFx1NvVessvggW9syn X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0301MB0699; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(13024025)(5005006)(8121501046)(13018025)(13023025)(13017025)(13015025)(10201501046)(3002001);SRVR:CY1PR0301MB0699;BCL:0;PCL:0;RULEID:(400006);SRVR:CY1PR0301MB0699; X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB0699;4:0aLqPkLAF+EjHAXkNmV7cJndlrVo7cI3U4hJjhv94ziFWKe5h0yAeIPcdvUK9LJeqprXdQEutN2sJxsSLtxLuSh/8UHKqrcbk9if8JxhDwOo2FMDd3lVL7wmI9/wT1B8k/X2TlhAIQzKlEfCn77tj+nQcGlEVDN2nABoAyJNsrGB4J0/nfx62ilNAPIu4j0t4923PWcbY0WOZq8/mpxrc0BW1Zh+mMTe3YIK/r8O/hGbaBNkxawb0bDVIdymsWQs2b5X+dg+h4nGI6C/51hy9Shr/HzYzYJbdrAXzFZv4nMGzRGP4FUJ9vWQ/10a1e30xNbk+Dyk2R/sJEzpYIzXJN2fz4x0XbqVjy3O1C5XyZzS1l2A5CzpqB3DlzF6ns9WvE9p7KY5rqXdTBIpqVlK6axvwANRqMClEeDFYXPIQ+nSqjDepg+Fz9KCOHJQtaLLnbgDY+FkGKNqd0EgWEp1zOH+Rx5DKKB7AWJEwX3+UccS15+feP3Bf32bq8zINreV X-Forefront-PRVS: 084674B2CF X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY1PR0301MB0699;23:lZ3cD5tdbki4faDprGBTBRYoOsZ4GCJ+cyugdL+?= =?us-ascii?Q?xu/34lKbTJW9yVoNQgKifeJV8GZ2sws8LcWJlXCLSRE1tJ5q7snTv76nyZCp?= =?us-ascii?Q?fh3oFrOTZQwiMekPOlQebeoPvu/ZMl9TZVbhbXUyWKt7a/iIsbOn59z9+zL6?= =?us-ascii?Q?F5hr1yuPHhRNnkk9VBomZAdFkvMsb/yVY6YWY+xWFZQsZVsg+jz/SkwyPDeY?= =?us-ascii?Q?1qoxsEojx5uCZNu6PjGfO4zRmM9dTnYr4UjPGQewRMiFUARjuqRB5WAYfPcj?= =?us-ascii?Q?pK2KeUUmCnee2EJwmi3CiNkusVE+Eg5kul9bXax2fyFaQzm6S3cCCEXy+Ejr?= =?us-ascii?Q?LLqpczntO/mooiK9lGBYb6KFy1GXcxNKCIESr30xsabWcWBpsGM423TVB7MR?= =?us-ascii?Q?fcZuAjRcoELe/xDssPdQgcZOwrjxdYViTyhuFllT6ZMBeHWC0y3W9XT2rmsR?= =?us-ascii?Q?KCwWU9jN4uCRwQd6gcWkgoq0J29SnOxZv0JUEP7ClXdMpiyVhWEXRrlYnweX?= =?us-ascii?Q?LZtVFGXuqnTPytlAhzytdBrpA3umFh19NZwNZHBeyXEvjGEFRKoEJPaiRMKm?= =?us-ascii?Q?qvWa/S2wxRTXJeHqzjHNYTwc6K8Damd3Znl1GY/TBhj54jGw4xTKnh8GQJ64?= =?us-ascii?Q?fM+0qj7gjeT3fChGS7h5/AkvqbQUc9vIPihgqAYuq6fjYYJ7d8gND0dT5NAg?= =?us-ascii?Q?LCImR5gYe1rOkJ+C7OluAnifyD/aQ5zzKlBSUOW6ISJQS6KqepfjYBFFOP7A?= =?us-ascii?Q?ATMmRfOkKppFsXlM1DPkqO+tQitgFU+vohb/VW1yNkOj6XUC0torShBNM04D?= =?us-ascii?Q?vzet9CnD6uQNZE+2Pfi5ER32SOrCg6fcxVIvRboME0aTk1DhI9cw0E0WGOs5?= =?us-ascii?Q?PZJ6iawTSjzvd/lkg6HmukzHIE6ocRRULCsuREvA2LzaFS5lLiGyNvZuVA48?= =?us-ascii?Q?QqLR+ZMjvrQiKwzbA2FuWqQ0zM7jl3UQ0rQ/QAxa4JBhi05vx5m+K3iWUrXl?= =?us-ascii?Q?+ZfIUlu/MjVva+ndqWkczZKYo9b4kPvb7T/Kg0InSTyydeQ=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB0699;5:c3wobxu15qgo0mrvFOUIwhvYJnUSeiNAmBz1giHlVf0/u29so6RUDIGwFNS02JyPfyItx/Y/3M6ouTakJ7JMj1brqEFfLNr0vDx5n2kghGV6loiFAaml0uFkedGcJWkVDQ07symNliohJbW/tgOaz3eknaKBpaImBT8k2G70NyU=;24:vrS6yRxfRKmKac82vj4atbf+GYy86HAV2UOcukyybg/KQHbI8BpXQ6/POaIUg7VPWMxhZbbxw4bCwvKelELFTc7n60+W/k7YB4PjllF8Onc= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Feb 2016 22:50:10.0001 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e;Ip=[192.88.168.50];Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0301MB0699 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Stuart Yoder The binding for msi-map specifies that the output requester id should be computed as: (r - rid-base + msi-base) ...update the code accordingly. Signed-off-by: Stuart Yoder --- drivers/of/irq.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/of/irq.c b/drivers/of/irq.c index 706e3ff..3f5e5fd 100644 --- a/drivers/of/irq.c +++ b/drivers/of/irq.c @@ -589,6 +589,7 @@ static u32 __of_msi_map_rid(struct device *dev, struct device_node **np, struct device_node *msi_controller_node; struct device_node *msi_np = *np; u32 map_mask, masked_rid, rid_base, msi_base, rid_len, phandle; + u32 masked_rid_base; int msi_map_len; bool matched; u32 rid_out = rid_in; @@ -654,7 +655,8 @@ static u32 __of_msi_map_rid(struct device *dev, struct device_node **np, if (!matched) return rid_out; - rid_out = masked_rid + msi_base; + masked_rid_base = map_mask & rid_base; + rid_out = msi_base + (masked_rid - masked_rid_base); dev_dbg(dev, "msi-map at: %s, using mask %08x, rid-base: %08x, msi-base: %08x, length: %08x, rid: %08x -> %08x\n", dev_name(parent_dev), map_mask, rid_base, msi_base, -- 1.7.9.5