Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750919AbdGYFDl (ORCPT ); Tue, 25 Jul 2017 01:03:41 -0400 Received: from mail-co1nam03on0040.outbound.protection.outlook.com ([104.47.40.40]:21418 "EHLO NAM03-CO1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750756AbdGYFDb (ORCPT ); Tue, 25 Jul 2017 01:03:31 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Ganapatrao.Kulkarni@cavium.com; From: Ganapatrao Kulkarni To: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-acpi@vger.kernel.org, iommu@lists.linux-foundation.org Cc: Will.Deacon@arm.com, lorenzo.pieralisi@arm.com, hanjun.guo@linaro.org, sudeep.holla@arm.com, robin.murphy@arm.com, lv.zheng@intel.com, joro@8bytes.org, rjw@rjwysocki.net, lenb@kernel.org, robert.richter@cavium.com, jnair@caviumnetworks.com, gklkml16@gmail.com Subject: [PATCH v4] acpi/iort: numa: Add numa node mapping for smmuv3 devices Date: Tue, 25 Jul 2017 10:32:37 +0530 Message-Id: <20170725050237.11033-1-ganapatrao.kulkarni@cavium.com> X-Mailer: git-send-email 2.9.4 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [111.93.218.67] X-ClientProxiedBy: PN1PR01CA0114.INDPRD01.PROD.OUTLOOK.COM (10.174.144.30) To CO2PR07MB2568.namprd07.prod.outlook.com (10.166.201.19) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 177f0b22-f0db-4c4a-f800-08d4d31a7c68 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(300000503095)(300135400095)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:CO2PR07MB2568; X-Microsoft-Exchange-Diagnostics: 1;CO2PR07MB2568;3:Os2rhP9DU2iz/NptwhlvoSlIuyQPyUMF5D5b1VMSZGIcdtltXmHFvw3kBS9uKWB02Niv5jc1BBOLYD0ei3gTLRTMRUDHuSBxXOfGsZN7lR8FqAm2F6Iikk/XZeqX5l/qgkL/UXWpWYXQIT0MNGUHLOjS831QYK4/peFfGl94xovx3a5qf4OgHWMDAgn3jnP5LcwCExdVKZ0l5SLQ6n0N14sDBQEOKa89L89/knSBp5CnetsdslZ3YS/tmC3jCdAbZeHMF5aHgC1LCR35WzV93kxW9LuP9WDZynaGTc7L7fYU622BQRfXM9DdklOdFqhMH6vQSOWlV3p3iJouIEDF7HIbnq1zE/0HXWJiSnY9CignILiD31+TATFipAqHBRTLZXLu+E/LrrAq/1YKci+Oe/EuFcZmamMT9abfUJA6edJ9RAVI5PkE0zkcD9wtll7UKIOmcptv3w8hUgq5ISNbELn3m1vaIh7CRKzkp8C26JcYzWjMHIplza3Nb7w5Fl94bjckjvT+myDSdkOEEgrBaR1VjbG8yUUwNLT9VsbQoiIZRdq4AhHkbJcVMmTsC92ngWRmXoZQFySbsfTryE1BOTtr3Y/ZtjnGxgJTXJqK821d6d/juUGAqp+2GTG2FZI+zokK+Oy1xGFlLzX374L2lZ+GzGujrg//Q5r318y7PqxhUxsnXCRoNLuObubg51B94BdLH7LoHAdwaJDpfM7Y+MBc9cvpJkJyU3IA0OzKXtQ= X-MS-TrafficTypeDiagnostic: CO2PR07MB2568: X-Microsoft-Exchange-Diagnostics: 1;CO2PR07MB2568;25:bQAhUqoQcAZ9T6XBlvHEnjXBQZ0CtxoT2SEDbm5qJvL7RaSLjEHx1wfaz5zxdb5dWUlv3QPb7bPhs8NP8AWLRgRoTM0tM6aSBVMhHoz9sdN+BG+MBuSPqIcIfZ/0620AaJtep0MyHxOirLSkRL9TrsSa1JhvFYCiyaOhm1FzjaYsq6g+HoFJpULItraqKAGBhAGviLE147jjVyEUHHsfOhSLqnPI8cflGaOUkLtNNyOQqAysT8yIyxH6vraoHJ/+NqT+8V4ggQ9NpRrEcP0VPXpa7HOW6F3Pt3bS+muCDagcitLpXHAl06wkmKPeh9GGcF3K6wSNt0hP1TAlytJsXTBDkYd5ycK2u0WCo1GZKoAWjqEptVGNww+7+7oP/5LgErbXcI9zvFJdUu7Pr4Et4KiGLRZLqbCSuNsHhugWaYBrwbePsMqd6Jhfcp5kIz8Cu/DQQRdDugBE3DegrlymzdTyPwowtUfQcTLJLmSnivVj3qPRIlGexBik24A8u//W99RPSh8xTiC/ON6k1NBU3oI/jN3T+ej1xVpln/puNesxJA6Hmj1o+WdM3UpOh3T+IPiJGE5aL+/gb2XaD8HxiH/M4NB9kqrYkC/pNywlaMvpN7FU/9Q5MVCZMPPguQudJv/JtpwouPVS4Sb4oaDqSULnYFD4OfRA6KO5KtHo2EZxu51g3b7iFMzMtsbJLAg3UkpkUjl66o338kbV9PrnKA5JfrlkIf9ptYD2SFmUsXDGA0C2EioKKDVf4sSI5iZe+qXyqQZy+hXEX+aHs/H4iSec7ClYmpEDoONfUBEOVkkjASfg5n6pCB38xO9vOOOjN9Vm2PcUahOCdY+kEgcj8G+4UA7rIC9OBD5HT9KZOXFIlbzitFVef9YfnSLcNO4mB2QnsYPIA788AjGvRk9czTotZMSwCJIyFuVY4KrgWms= X-Microsoft-Exchange-Diagnostics: 1;CO2PR07MB2568;31:W5C3clj2LMlwPQ5EoElmt0Glru17X2exkpywb7qHAc0gYE73g5xJPywou/OTG56pcflUx0qBPG69XFYEWs4Di4SSh+hqXj7K2iaqyUFjSTXaekp0ftdZ4HslChdl6TFgiENY/ca2dPa4O3RdFFQ7tpVe0U9BAmyJRYa98IrK0i0juub0O6noCmUL8Thr30ZPLuMgKs6x3jywn9uy3RKrfFgJDUUvcyTsKPNR+buwFB6hC1RFKzAq405CiAj96B4UPkYWWI3banPN2EqiCPXfYSAWVf76mtJHCmquyki71+qh0dX274jetlTJxWqlTnwr+9sqSGWDWwyM0RRUjvtKIuyjb+6fvFQjx51qel0ooUiLdhmhCCuOxmKNm/riIASDkmTrEao33TamgcgC2q22uQHRRhDGXGC082lj2PMuiSUXNVBwu60yvlZktVYXOBb+I/XNkpvFIYNDntV3KsY5l4hnEe7RdZGh/mtE5lSODW89lsFDZumuYdxGgYJC4onxX6IyhU4d307oMo220pClfA/ZCWzqqCYkwihGfF6DYpyzQiHQmTDXzIfkliCs+jujcs/zpyv8CSdfpYuHE0oauJoMvkk7lBCOSjT7bE/RiIPeQDngaIS43gGLcV1h4Nse8N4tDerBDMKOzAFzAijmUqliNQh5yQYZSHIakFe7nWk= X-Microsoft-Exchange-Diagnostics: 1;CO2PR07MB2568;20:V5XnK58lA4hDfQHIZZE8eAqWiuLgxHBoxrWu1kxejt0nt0ipF9yt0LR8LaL4au0l1hB9u+C9Bsj2OkZAPk7qfexMLg3WgRt+myU1rrMPDqRRzfayJ9ZJpJQatw83I98sRcnskqBUpGQMh6Qan7+Ur+3QPbWFUMqHT0MpZrYmyOFA3jRN7F7idHHqI0w0ukzrBtO0rxaEXoCcldZG6t326VRT342N1B0fmCxfpGJ/PlZOcEFZSAAaxteJDdpLlGpJD45DTOQr36NvUHgOJIdZ1BtG73/SlYBOhF1u7/lgd6wliTkYZhx5TF6Eo+zVFjKI2zybK4U8RFPhog0qKgoF05avfEZiuGEW4KI4jQjSxbuFv3Xp5WMsU1Krr8U0w36kfFh7HC5O3YamvkY0ZBUOYm2ndth24KwtidxJ0vC9cHpI7wIiT0vJx1Q+OeDacZg6xa0Jgj5+R2HQTcPwE2AiNzM1mL6h4FDssGAsU1IygrGQoA/FRRDQqvq7KGpn61sX X-Exchange-Antispam-Report-Test: UriScan:(84791874153150); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(100000703101)(100105400095)(93006095)(93001095)(6041248)(20161123558100)(20161123562025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123564025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:CO2PR07MB2568;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:CO2PR07MB2568; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CO2PR07MB2568;4:Wvd2h3QEZm8V0fbISiIm+WoEK9j7VfSg192ThALMC7?= =?us-ascii?Q?oWrs65OEBOvc2fCWO4qf8A+pDheycQ/SmQxUeiSv9SN1vP4Qhse2bE9ggAPy?= =?us-ascii?Q?LTY3wSwVfdKarobTajPe0JTQok24yABLg/AYOiZ5CkmIVdtVmAcGIAUe+7Bg?= =?us-ascii?Q?QhE5LB8SIWZkpGI1MxRKA05o7ZU0fyRtf/yovvDystq5qQiwsyqetE9i6aPk?= =?us-ascii?Q?OyGiaF3pK0S2Yic5bKK+/SELgQGfXZ70/QeONbCVC+LcMMbFyrfViOLKtZ0Q?= =?us-ascii?Q?Lq89x9HHeaBuy+bVlYTfkKIoDTgcnoec+zkl7R8bcjscyQFWld5k8M+kLCM3?= =?us-ascii?Q?0FjOPRds1dTxrGuOT3aI9fK4/NnnTqwqQ6AKnRqvKE/wNW6UBwev36WvtYgk?= =?us-ascii?Q?pCm6saJgPnIy1TH0wUhN6/QNlB0v8fLHipJryJ8vXeWI2HgswFoMGyvmE/Mt?= =?us-ascii?Q?Kyrj+6/G0iryEJkYqs7rl5c+dnXc3AKtFy40hmndG2G08fxEcW/DYnsY1MBh?= =?us-ascii?Q?IBSBEv07cn4d9ktfsmRN1F7F/++41+h/xDZDRUBSuSfe/em5IXlZLEF2vsCe?= =?us-ascii?Q?QxGkNuDussq9DyKXZ4sbc/85PlLl8GXVKJgHgT+K1pNU6uzPUIKiI23M1SLc?= =?us-ascii?Q?SO5NLRhbaChN7wioiQAVCLaH3YsgjuePQT5ABLQNYXNOtRipo6G8OAKADl6a?= =?us-ascii?Q?94HhY3a6HBua45+YFmrcC5UbEq7UmMvhwPJS5N1wiBpfkWVa/cO35+n08xJQ?= =?us-ascii?Q?vwMojZFjLzCSzjvhqMWzckl+BGcKaLu9iMiq4jC/4wiEVlgmjU0xZcvKZ2Ej?= =?us-ascii?Q?DvUoQZ3GWgXBeNu8igz8GoW1xK3hDRARyo0hPDH2JOkrLxowLbPlFv42zHG9?= =?us-ascii?Q?/LImMBeDNUXGqrHsHoU51cuRIZTiEHMR22audkHOU11hWJh1J12CvIS5LFXL?= =?us-ascii?Q?7DObekw4tZSGJeWmrltsWG+KEYpxfKGNtCB4C/8ZvHvR0FpCRo/YdJCx+rE3?= =?us-ascii?Q?Z0aGXnAK+mUt/K3wqkO3CglcSCsWNH3ptr6mFNBnF8rqPGRI6yA9E86kj/eY?= =?us-ascii?Q?/N+nzMx/AaZuosO5zeDL5e8ZbRNzMC9hDnIau9YHra/XAPFCyzuSPeFFXuTW?= =?us-ascii?Q?NwVNaFTs3FHa+eT6nowCgb6aJnBo8b2oAM2++AfhX5+RygOJhgglMKB/TAlw?= =?us-ascii?Q?NJroJ6SUSpLOg=3D?= X-Forefront-PRVS: 03793408BA X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(7370300001)(6009001)(39410400002)(39850400002)(39840400002)(39400400002)(39860400002)(39450400003)(189002)(199003)(48376002)(7416002)(110136004)(86362001)(6666003)(68736007)(6306002)(33646002)(69596002)(6486002)(1076002)(5660300001)(2906002)(6512007)(38730400002)(50466002)(5003940100001)(53936002)(7350300001)(189998001)(66066001)(50986999)(6116002)(305945005)(966005)(106356001)(36756003)(25786009)(81166006)(50226002)(101416001)(81156014)(5009440100003)(478600001)(8676002)(105586002)(47776003)(6506006)(97736004)(53416004)(42186005)(72206003)(4326008)(3846002)(7736002);DIR:OUT;SFP:1101;SCL:1;SRVR:CO2PR07MB2568;H:mypc.caveonetworks.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CO2PR07MB2568;23:UoP5R0ouQQhnqFQLrqcOT/ZdPznMhq/CaPs+AA4K9?= =?us-ascii?Q?FPwtzhzrSUDsSfRF/L/CI2tBRWeGRdLG0SucdNhMcIPTzYMg8C11XUeKiJ/G?= =?us-ascii?Q?7Q99eH3V7Lp0XhrKNDxygDlikYMSYc8YU0MwP+4/kRsUmMyW3Hb55Vvpbco4?= =?us-ascii?Q?88IjWjTpWM/SRcOs6+88rugRsiq+YSsSb8e1SG/fI9JeUpWRvsvtgkYLWP01?= =?us-ascii?Q?JmOFCiYOylcRAQOTJn8DxVft52w0QN29yi8OsPKmJPszA3/qtH+O8Z56oncy?= =?us-ascii?Q?JzigdXhqOMmLfuyLstpJBPOscNWi6jHYhBlK58cPcC40OxxqHwqRVvn3p4hw?= =?us-ascii?Q?ELSmEZ8dJH3shbIe7+PIQuoeth7c6NBYLrz9t51kG7XsORMI/R1IUigaWI7B?= =?us-ascii?Q?9NviYf1D/Y2qc1fc604n44dl+xBa/4EGwD7dbR0Bv45chli2AMqStAfLDKhC?= =?us-ascii?Q?5UR0aPqubSSF5P7R5qB2iLlLqGx+MRqO/gXJnKXU5vc9sMSQYlXkZbyD5qsA?= =?us-ascii?Q?GxHtXBeOc4Bq76jrWJTT/wuXYiLlmllYYzjRIh572/lSFJvesFNThyhHg5yl?= =?us-ascii?Q?4gXwWl1MdalLpCJmefsV/+Q/hWlnvgAEOBSTDX7KkPhnEL37qwtN0fh2lmWG?= =?us-ascii?Q?Edn8sWZjNlbDFLLSpEXj13biAwFPAilTgXAOZwDtHrO1wS9EL8Uv2OUjnbZD?= =?us-ascii?Q?n6reRE5Y/DAuykd1B8TPGpwgLWxJkid+O7wzH7LWcklwQugwMNjvGo3G7cf+?= =?us-ascii?Q?3h5ISaPigYbhY8FUtmW7sVx2HTup2xo3A9/F7z0bB2Q9VLgaEqFw2uNMgOhB?= =?us-ascii?Q?sfoAW/ThKR80KjraUUGw7nxoYzjz1R0oC3GPvzQqchgWCBa1Md/yUgPzHTTP?= =?us-ascii?Q?b8CrG9KkKxYQR/I0MQ8qVx+zFH31WPLrlZ63OvO3aNzTWkt3sxKkacjKiewd?= =?us-ascii?Q?7Lb7r4Y+aAw72n/UVW27VQYeY3SZIwew1gPLg9YvNoTsfGSPra37HrlUsGti?= =?us-ascii?Q?ofuWWdZjliT5xNG8dgjBp7SLQ1eHf8EpX9dctTqlllYcctWqQ9Ghe1vrMPcU?= =?us-ascii?Q?ESlcZkg9GnrflfJKk2ad/urMlHC3dCmMB75qlOSxR0jpMsGvYs9t1SpC3p9I?= =?us-ascii?Q?R7j4fvy00FezU6/0EolHJSmiS7ld0UOCDAbwf0ygnwDWR6qqHYUVWubxpR2q?= =?us-ascii?Q?mU9r8fMo9mMlgf8KbtaMUkDImIlxqipD8xDOR4sC4BA8UtbCh3JukAz+f+RW?= =?us-ascii?Q?oi0DZ08bwwGvN30o6kn5vzQXIQ0fcdOaCyMpqoe6lixRWbeGFcRT/q/lI1h5?= =?us-ascii?Q?xbZI/Wu4PkKJniccEzjy4tGwuuaRBIxYAcSZ+BhLxPq2A+zx8IMO6tjkxM2n?= =?us-ascii?Q?G+kwWj3yucKfuA6lC9Q+VajLrg=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CO2PR07MB2568;6:EIkjqf1toHfi0RXAQqikbYL28DI51/Voa+sZigJkpS?= =?us-ascii?Q?8TxjcRx5rBw4JZYYpaJpfiHg582lsiD0lNuxBqANTJlnUtKjAODTzTk1k+gm?= =?us-ascii?Q?I0+ano6zVbDfP+2TeBLFkSsmMCev2Je/4dvJm4GLcm6AWyPqXQOtEg+6cOuu?= =?us-ascii?Q?O/IcImVXv1Xh36D8rZn5QD33cvAyZi3YNexUvN+x6RyfRB+9QoiYTRcv1z7B?= =?us-ascii?Q?VQmD9kWSqPU9UIvfpt1zMysBVSu9GCkuFL8MfL73UexWgNiV6C6x7PykPLD9?= =?us-ascii?Q?nHjGUlV+q8tDFKv/ZlMicazOYz0z3PVXqFn3crokbFt2t2JibB2o/pYP+bXo?= =?us-ascii?Q?g5LjavePNrRezvvOM5J3P2DKAbFOuSnlTEZkCuA/XlhdgzP7ZtRkCWPDp0rV?= =?us-ascii?Q?nI7PL6JiB+D9699T7QLfYZDcl+GFHhJriXSUm25bswdi5VENuUzXbF425VQv?= =?us-ascii?Q?2nI8Cghfh+71P1epyyTRjOmxALoTgCBgTm89UgwyeLyT1d2ZPwLnLbqYmnKW?= =?us-ascii?Q?GIGVIEZWb5PJtCN/TRu4y/ThM5eCwwD/mMWMCoiMNL4S1pa7DeR5lUyAou6t?= =?us-ascii?Q?8gh8coYcf0apDVnU5fvbFURlpHxVabbjCvB/AENWBQNogIzrRZkg6VxVq8l3?= =?us-ascii?Q?Ccml+bZp7w9zvCWUFzUMav7RivtROf9/UPCg8hs1bpl+3K9HkuOLqbo7fudz?= =?us-ascii?Q?xSq0nZHwcuA4EYj9APkv8oa6upRgt9s5xUPRb96b29XntH96EFgZcqotDFkE?= =?us-ascii?Q?juFyrc0U95LhgPz7y4vEQDn3Hd+klrOL5suV6n5OWTzkLWKCAEutzKUwAa0z?= =?us-ascii?Q?m3VxbvwrQCBySl4yUDbmACgHrpl+WZrzMJ63EaTeqXUVum/inWXsBZTcadNz?= =?us-ascii?Q?WSgOUo3UKB+up4t3g9Mj6jBU7GMIq7SZ9+1QLSWwNh/XYY3DcDPRY6+3MqlP?= =?us-ascii?Q?2sq2lXUZWkCvBibt7aYhwjTGaoBrw/Rr4zUyKxQZQpdTAYQdI1jLe+qTDruZ?= =?us-ascii?Q?c=3D?= X-Microsoft-Exchange-Diagnostics: 1;CO2PR07MB2568;5:gb38VnsBHguiBI+0gNuVLpCmoJ85uHo+4JYaa4OXrDU0hH6yKA8L1kkjY2fcGqRsyrTAjq5ls2BzcI9661ovZJmX/dWShyXteN7X1Y+7MUkYquBkzN/n89/NpR2IXeOu3q7xmxrt1wBhGKWAsZpMx2A+L/wbJZnc/pdNT582S9TokEY71ie5vab2bMqg1ZJXeWcWonI+Ch8E/lCI+W8iZO3vCOn9w131RQgR4XYG2rA683yiHibIZJZMaAQ4xjFY1IImBpeYVBDjqcRWFdXZ3fix45OppWYy0Vs/jIDHNEAN4gu8f9r2WQ9ShgzSsmtte5R9B7+eQJ/66QWiYUwScM911nG7v8o8ypMqOcfoqu31F4RFj2Yd43d/yBC5WGByibb1GkMSZhEy4h9QxLv1qboZ2/Ra2cuBpd5UNYba5jE83N047GyXFuXil4L+I57RQAwNhVRyDNw8OHCMLqKEm72pFrZ3LrOUMNnpbGP9jnOXP13O+i4pznekmcLECqzw;24:tqGUUCEkhBLI/Yc9p6RvhmM84sIBXyWIEHL1PGdqjTIjIR9zGuSo+T/jJxLepVtUr0GLLmWK30mMojH4POqzpTEbIY4XSK+qqE4cj7Em59s= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CO2PR07MB2568;7:6pZKpbA1Y5BGQOrJgUmHjBP5dZ1GMotbWqVszCyrN71K8v5kUWSwWwyFfj4BTxEaiZzoV93IZbsqK2rn59Q8xQEirPCaQoZoMHbUTbmFPcoIj9gLdT2INFhy6oC32+Bu/JVSuSiw2LJ6kS7ObEJgun4VxHMCzZ23ycfV2GO7jSzNN0RWo6MplWxFs+tEwgsGTSf/nl5/P76zvHHFIuOXKk31EATMTGdOVq2yupnlYtYdZH+sQG5msnaa5/pTUUpcdIFIOsIwMJuIE180TN/6GbrZ8jmXD5YT/xaXqbmkrlgiWBHqAyMg+NDaqLlCglugIGUNPEZtJ53FxrzEPinfJPnd59m2ZtZ2Uea+04GS89YLi45p6QSSl98dV5CrSCUivbB526eLajHFSCTe7wdFEPXIbQoPhULD4hJlg5dNP35UaCkM45bAhyzPO7T7UIdzKyNnrdNbyMaAnFfAbRGJcbfPWeRgHw52+t9rKeiWDCAPkOZ3exQrGUnItBUv/K99Hx6bEjpvRF0Q97y6/NSMrc0MCDQGuYbJOXNeudZJdkdVQaWpd1SCncnqSC7wMjmXLixxUf2DcHcQL/HAqxFN8kNylnfqadvT07Pk1Wmtw4tW9vurzEMM7byCYnOpFlofvm5m7Xzwzw424PIA1MXJqCNQtuxiMzjBFoBQHrr/wj/22jhZs3ZNzwF6/y5rzoTfstgGJH9e5wFbmHk5bO+ETiOkEPGg1DfyI40N0xKZVN8mdRppMDL88t53l1q3Dbu8rSaAKzRDrfbzruQzFURDfVU68tpNDbf4FJZqMBU1IAY= X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jul 2017 05:03:22.8602 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO2PR07MB2568 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3300 Lines: 102 ARM IORT specification(rev. C) has added provision to define proximity domain in SMMUv3 IORT table. Adding required code to parse Proximity domain and set numa_node of smmv3 platform devices. Add code to parse proximity domain in SMMUv3 IORT table to set numa node mapping for smmuv3 devices. Signed-off-by: Ganapatrao Kulkarni --- This patch has dependency on header file patch [1], which is already merged to linux-pm. [1] https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git/commit/?h=linux-next&id=c944230064eb65e4fa018d86779b4fd200b1d7e7 v4: - Fix compilation issue in !CONFIG_NUMA v3: - Addressed Lorenzo Pieralisi comment. v2: - Changed as per Lorenzo Pieralisi and Hanjun Guo suggestions. v1: - Initial patch drivers/acpi/arm64/iort.c | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/drivers/acpi/arm64/iort.c b/drivers/acpi/arm64/iort.c index a3215ee..c5c82c3 100644 --- a/drivers/acpi/arm64/iort.c +++ b/drivers/acpi/arm64/iort.c @@ -908,6 +908,28 @@ static bool __init arm_smmu_v3_is_coherent(struct acpi_iort_node *node) return smmu->flags & ACPI_IORT_SMMU_V3_COHACC_OVERRIDE; } +#if defined(CONFIG_ACPI_NUMA) && (ACPI_CA_VERSION >= 0x20170629) +/* + * set numa proximity domain for smmuv3 device + */ +static void __init arm_smmu_v3_set_proximity(struct acpi_iort_node *node, + struct device *dev) +{ + struct acpi_iort_smmu_v3 *smmu; + + smmu = (struct acpi_iort_smmu_v3 *)node->node_data; + if (smmu->flags & ACPI_IORT_SMMU_V3_PXM_VALID) { + set_dev_node(dev, acpi_map_pxm_to_node(smmu->pxm)); + pr_info("SMMUV3[%llx] Mapped to Proximity domain %d\n", + smmu->base_address, + smmu->pxm); + } +} +#else +static void __init arm_smmu_v3_set_proximity(struct acpi_iort_node *node, + struct device *dev) { } +#endif + static int __init arm_smmu_count_resources(struct acpi_iort_node *node) { struct acpi_iort_smmu *smmu; @@ -977,20 +999,24 @@ struct iort_iommu_config { int (*iommu_count_resources)(struct acpi_iort_node *node); void (*iommu_init_resources)(struct resource *res, struct acpi_iort_node *node); + void (*iommu_set_proximity)(struct acpi_iort_node *node, + struct device *dev); }; static const struct iort_iommu_config iort_arm_smmu_v3_cfg __initconst = { .name = "arm-smmu-v3", .iommu_is_coherent = arm_smmu_v3_is_coherent, .iommu_count_resources = arm_smmu_v3_count_resources, - .iommu_init_resources = arm_smmu_v3_init_resources + .iommu_init_resources = arm_smmu_v3_init_resources, + .iommu_set_proximity = arm_smmu_v3_set_proximity }; static const struct iort_iommu_config iort_arm_smmu_cfg __initconst = { .name = "arm-smmu", .iommu_is_coherent = arm_smmu_is_coherent, .iommu_count_resources = arm_smmu_count_resources, - .iommu_init_resources = arm_smmu_init_resources + .iommu_init_resources = arm_smmu_init_resources, + .iommu_set_proximity = NULL }; static __init @@ -1028,6 +1054,9 @@ static int __init iort_add_smmu_platform_device(struct acpi_iort_node *node) if (!pdev) return -ENOMEM; + if (ops->iommu_set_proximity) + ops->iommu_set_proximity(node, &pdev->dev); + count = ops->iommu_count_resources(node); r = kcalloc(count, sizeof(*r), GFP_KERNEL); -- 2.9.4