Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752392AbdFWL5R (ORCPT ); Fri, 23 Jun 2017 07:57:17 -0400 Received: from mail-sn1nam01on0072.outbound.protection.outlook.com ([104.47.32.72]:54268 "EHLO NAM01-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751180AbdFWL5O (ORCPT ); Fri, 23 Jun 2017 07:57:14 -0400 Authentication-Results: lists.linux-foundation.org; dkim=none (message not signed) header.d=none;lists.linux-foundation.org; dmarc=none action=none header.from=amd.com; From: Suravee Suthikulpanit To: iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org Cc: joro@8bytes.org, Suravee Suthikulpanit , Joerg Roedel Subject: [PATCH] iommu/amd: Fix interrupt remapping when disable guest_mode Date: Fri, 23 Jun 2017 06:56:47 -0500 Message-Id: <1498219007-17605-1-git-send-email-suravee.suthikulpanit@amd.com> X-Mailer: git-send-email 1.8.3.1 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [165.204.78.2] X-ClientProxiedBy: CO1PR15CA0043.namprd15.prod.outlook.com (10.175.176.11) To BN6PR12MB1731.namprd12.prod.outlook.com (10.175.101.16) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 710f2f91-c94b-4db6-9560-08d4ba2efbf4 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500067)(300135000095)(300000501067)(300135300095)(300000502067)(300135100095)(22001)(300000503067)(300135400095)(48565401081)(201703131423075)(201703031133081)(300000504067)(300135200095)(300000505067)(300135600095)(300000506055)(300135500095);SRVR:BN6PR12MB1731; X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1731;3:VEvbYYsQ6SHZjcT90MhZ1DWPNr5w/mYgVtZpVWq4uYzfuVIMT5yESqVrvCdELh+I25JlY8lr77x3c7x24xcAA/0fJAMwxtm0iT6yKGKVk6GZYJlXmp0XMVMmVPlB9DJmnuOdWhgb8cq44zNInrA3CiG8ELicNvgQw4p/6wtIg1JioBvoY/Kx1frZw/IKKFKhWXtdRux4MV8/W4x69AbSnsxQwpRIKuurqmq/9QBt2gQ2UIJgmOO5FAHEXbwk2f3PynQYD00OjsXS3pJW7PjEmrrPyptLz+7hVosE3d8/9C8jWlDyKRFVadRjR0qP+o4T5jgiBwzWSIBFBgiAtP9Xcrujygxj+2UJm9IBCzQrvmeSZrFmZacmTwi9gBza38COJNi333eBHzHBm/DuLzY8CHylhgdnrtbi6X9G2uHa5GRob89fYhFznjNWfkh0boPoa0TuScDtUwHEj68ihpWpIEILsugDD9hGfjEq9iPLYvPfcSRDkA3Fwhb+F/cdSEiUuqLPXJJ5Q1OC7RNkix0AbAHsUVqqwfBDTGDt5I4hyW11enLRcp503om0hZN8GuSUCH4CQ+blrjn6iWTFxVjzgc0lrAiwZ/WCZcfGFceI8PBKWY/iGhETQ3E735kcrdmwRLLPjWWlHqoiHrALzuIOPEsyse4Llmb2XmzqHV17TAUgYYcLcjqh2sEMoD9wSsWIlY4BPeBjZNJetNc0qaRacptDzd8D294X03haJEwSKAnh7V4/1BrczZB/iUvPBRRQoq9aIKAkIyjir6P0Ssw0gw== X-MS-TrafficTypeDiagnostic: BN6PR12MB1731: X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1731;25:HE1RLQqUdboBf7+c4EvMdJIJmqhjsXiRiU/YNEB7ynty2HeBhIEQ0g0bbJ7zcsV7VC8Uhb0Wt8IZd5Ljg73uedijciPN+mX/1T8nG7PY+pKfznQch/LXWRhLHEER/ySfeXVh0VysknUpsDpy/9tXd8sfTrjoQwp0BIfIMUlAiGpUie4XZTLCifbO5tXWZzUOpHf771wdpBxp0LPJkRwgcqEaStvSTNaZGBaaWDHTs+EKpShkf+V7p8GC8fzgbjtpDXTup7PG6UJSlL5M65fFG/N5/de3qMa1ubG2hMS9jQxIyyearaS4KnR9rSH3MmBtrtIpy5kQhU1LVKuiiIWQgurOHUut99H58ZzAe/pJjkPBIVtzdfF+J0UU1Khtd6MFV8SmoNjEhMgLhV+LILrqIWnASrw2ZjDB7BHJ1mIIqPfTbDW5hjfYfLijz4VGCAZJhAdGJ/xclK9FVsNabanw5VRWXSHqgU78WWr8NcIOY0vukcRFqKJEPP23oQ6KIZoSrUaOX0FuZrtO7ZqQ5eg7TeEDRoyzac7IGbYNxz7BID8zLxIsGAt5XJ/1tXmstZFhEhAbHKIOQlqcO7jVeGTMe/TnHrmB+UHhVIUelnoS90LXvArknhhVEEI2CzG4hReAPaLNGNFIHZU7oHM4p5IPUiLsHJEbEJomz3kv1i8qFZMOYF7a05BVLWs6/ZXX+P74OuyOR/EALzrL2TzIgeH+wlTL0bssKnuWaFBCfYWFuXRmrW2carncKZ6C0bre5Wo7GXy9H38BmqCOg2RiAZ/anQawa51i87Zwq+y1tsmJhfalB3DRBlFCeJXduTgZlurx9qtBf6tt8roJrOnIqNCe6pQx9FUeHbGm1uRBpQXja0y6qGSit0b1ZBdUz+fSfpmd3/Y73aUD3GoRYUP9t0vTFkZwAKh+UTRc8AKQp6Xy1GY= X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1731;31:FET+J+61A6IYZdn3wmAy029u7utsTQZJI9EAgvb9w1xFrPTXtXxUIMY0tSlfO0ZhzRbVJ2czDjGl9+aPINRuSo7xOeD/6OPj2WQCWLLkoZXOsfuLQnjgqbD3QwT/XCA5cS9Dvtk9PQn+qIrcFwWrHpPMXTJwUIpJTwCAU5JlwwGlqm47lYwwcGflNKOlGRCJhcPgP5/NmpDLt5W66np4qkoityU4cEJ6IW4rUL3JHF6k5bY2ryGONGpPdgCZAoyvooFF2mUMtM3RlOUztgvE7noPnr9+1unNJl2fqcsgNceytZbQZp2X6NMdeB8JcFnJh+Bs3fE3WycIX7Mg+mar+xrXXbec+J1ff1Sa+F+E/2K8utODauajiYRaPjMLmcpu+ZzgqmyoeArwmk70wsUYXAIWG0QQ0eqiempyUJhLQSmTl8TsuTZGU4TNfaDcUHcx8Lei2eFUsV1fWcWnP/89Gsu6yvP/9+9F+X4oc7+pVPfKsbyeKOO/nFRr9r2TiuYfTDFuuvnWQClx7FnkdR9zSdoAv4mC0N1XV2tOXY/lmW+WC5Tc7As3QEUyvq6sTDhR8xleIoPh+V2nJUhi0bYsJRSKN/8AUAtjsTDOz2EyHguBW+O2zuQPYC+SAzluauOyJvuJaEv5UXU3kKZR/94nvDiw1v8Zg7/CFSeneVzemTQ= X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1731;20:o1xUJzknZlXyDTQwYpkjrgJOab1Z7xCNlG7QdFu8tOlVkYsthXYvZlYrHIs6Idw6D8m2odjlC76JmPkyANIBinhkizqoCmFo8hyNahEPZ09EnsRWS4WGwjkFjcl231VA3BAkcQ5bapMCrM3hjd00NyyFTzOQdEyKqG5HXeQ1o5Nihb6rREvCzsMrHXjgCL3Knr/SUVl1KEAdWxJt41sLP8EVjv6m1qxsGFZilJGF17uJfbJKVcuK+IQqAv0IxjV5CCgpDsQ278jZyUdpdko6THg3RR16pXmhOpjFTHmxzlEW/R4PL1gahVG/nk4MVice06YBuik2GVpDULyG4fLwjBR7b4T30x/t3N8hSHHK8hnuhfvchRlviSEtK6JHQJBb6Q0WuLEvZhRs2308Y3v5B1PoOqUI63RTxR13khiilrfV6T2qPM1c1EEuVqMmcHcotA1IN2wrph2+a4CDhq8SlxytkzSYne/ow675XsjJmXgv3QGWw9xH6U4jWOznW+MV X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(100000703101)(100105400095)(10201501046)(6055026)(6041248)(20161123564025)(20161123562025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123560025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:BN6PR12MB1731;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:BN6PR12MB1731; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BN6PR12MB1731;4:HiIUk/zwGjbcSKAhDTNFU7B2tpP+Pt6VjHr4car1Eb?= =?us-ascii?Q?rKNd9db/0jrdTLvpTSpPK4hsNY9R3vkCHSDO8TwnH2ZjOeiEM7+TUGomUapJ?= =?us-ascii?Q?ikS2Ml4LNPLZ2vCNTuM+P4Rd6rCdqEhCgL9Dqvetn4XD7lJ6b+Jvf5oz2UXh?= =?us-ascii?Q?IFdPTBS4QDxPVEEJMGgVgg6HVlJLo1xfiBYSowCEGR+3m22ID92Ed+WTK5Pn?= =?us-ascii?Q?9X7lyWyAQvEzPWzeJ4aqQXzWfoVbIzELBSUlCI3+RuWBEMzxEUvmO4nKPTHf?= =?us-ascii?Q?4sizyKTf2I4NJBpOJZpZay5OlcV13nA0Z9SIzJNOEcR1ZNkoolGpovXqb+/Z?= =?us-ascii?Q?ZRmFScbCIp1UYqrbvlxWymWC1wRVGyvnlTGi83N35W9PYfqOQPXWn99IQeug?= =?us-ascii?Q?CWLL0RKHgirKUEjAapXLOp/3WtonU8sZiaceBZNcPtbBhvYSFVNCI69eB9Og?= =?us-ascii?Q?2iFyc3pm276DOHuBkUYGWL+qQp1MmghSYMA71MJG8nYnLH2P+bGVaWBtEEE9?= =?us-ascii?Q?qT2UY6Cw12nQpg+9+azwG+pydvD5tkRoxik1rBQCLuP29lRF8i0LmHGITOz/?= =?us-ascii?Q?I3bP/McwNY4wMIK9v8AePT6C9mNBiIwttBZMbVpkEtdCxQ5Eo92kvsXsC4TQ?= =?us-ascii?Q?3um+fgqagwmRA+xup55pnbrQ70zHlMpCG/hLEj2YT1XqZiM0wfRXPhVZ4AjR?= =?us-ascii?Q?qBRgeCudVsbg9jpvVFdauBGEOQ7hkIB6dufSDpGkMP6lse9lJYC7gnFRjbMQ?= =?us-ascii?Q?/KY1n7pxRiYaECQYtT3nIM7092MTXW71Q01w5nJLToQVXSnuSKErhz9KHGbX?= =?us-ascii?Q?ZzUVh77VEg0yfK5NozZHF/NCzhfKXsXpLO63TCkDoCn0Q9ZJB2/1UKME8MfR?= =?us-ascii?Q?HiscFQ70uyP54bTDkf+lBO0Wpsvc16+S+u+jAIVeGN3jvrsoewDpeBSDekc0?= =?us-ascii?Q?Unad/vSbI1VOLq3tEw4A7ksXlid2wGvHIgGfO08exjhih2NMGoCDO9Qt4Tmc?= =?us-ascii?Q?usblf5QY36eBc59acwNS3CxpqkDMonTDNkOcUEYNSX5+mYiFJPcUMv/W8mw8?= =?us-ascii?Q?Uwa2wzmoMnT5JARjlhxZNxoNf3PD+ZOBPEmRFzDxytFAUI8pYpQMgFlEVfR5?= =?us-ascii?Q?XS1XSZIkZ65oiNBnD+r1XxO1WVERhem5w96vA2bRiTHO03yP8kPuOSaAVpq3?= =?us-ascii?Q?Je2ocEfDMumGBOMYsQpk0MUAaZAUXtC1lO?= X-Forefront-PRVS: 0347410860 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(39410400002)(39860400002)(39840400002)(39450400003)(39400400002)(39850400002)(72206003)(38730400002)(478600001)(305945005)(110136004)(7736002)(8676002)(36756003)(42186005)(25786009)(81166006)(4326008)(6486002)(33646002)(53416004)(50226002)(5660300001)(47776003)(2906002)(50986999)(48376002)(6666003)(50466002)(4720700003)(66066001)(5003940100001)(189998001)(54906002)(3846002)(53936002)(86362001);DIR:OUT;SFP:1101;SCL:1;SRVR:BN6PR12MB1731;H:dave-rhel73-ethanol.amd.com;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BN6PR12MB1731;23:VApCi6QdzfWejVj72uRFB63B7rrc0jyFk1Ef5tHJk?= =?us-ascii?Q?1OFXJw/A5nTQSto1LPJWqqavAHiYJJZZ+I51eLWIRSR6m+EVN0r6ld75gLL5?= =?us-ascii?Q?OlT3ZryBYRwKC1sQ3+6r4H2d2mBpdxXj35hwmD2mhEiu9p36QN7EJ+8mkVAW?= =?us-ascii?Q?gEPs5NviZur/EkKcrsG8ffi9+LoU7QU3HAUwgQP+nx/BRX4Fen0ReboH+FVi?= =?us-ascii?Q?w3iTekeFidBM9jtt39blT1cLvgh6k41M7JwVWRIG9nC6HQHfh9ylNHu0eMYe?= =?us-ascii?Q?GlHoPv8E8At6B5IzCSaDmXKXg+AbzFgRUlijRnhaYEtfJyQuhZB9AhvERtiP?= =?us-ascii?Q?fryzcAfbV2JrKVdnjs7agN/yS1drpYdqQrx+Ouf2XXXSUjhMtEU9NfEBJvj9?= =?us-ascii?Q?uVD9uHPhlmMKRd2eM2mgApqT6zpdD/53/1fhO8rsLlQxmrc1HfRkHOO1iqTU?= =?us-ascii?Q?rQxKltymI/zaTh+ORuO0B5jYKzqh7jqLMEegQq/uBNA5bFp+zFz5aiAGdHF/?= =?us-ascii?Q?D1B6k5J299lPHicZIiIiZ150eJKqldOSI7YqDhvU7aKH5+f+JCzw6jpBybYx?= =?us-ascii?Q?lczRopgI+u8fIYDUXoTzGgfX9MNiPcZs7gKeXDmnAb3LQ/U3euEqscbkAynY?= =?us-ascii?Q?6pXSnoJTwdFVDhvVhXknh9J17UkiPwsEQay+zBwHayOTBdJsEW+Gsv0XmFMl?= =?us-ascii?Q?nMKcKiXOz+OyrEjjsBlz4+6snLgj6F8jEfjkVP/blTKFx2kaTuxrZJe/aq4f?= =?us-ascii?Q?lboIJgmBHNvZgsKHsfpG7/ic3wG1gVzeB2mYa1eQW7TIJVZZBOaPn806eU3Z?= =?us-ascii?Q?irfs8B5ianNHKy2bNzo0UVPVBwHp6T3FpB5bLSj5I6RN8vAPhiy8StZIV/vs?= =?us-ascii?Q?Bb440xm2X+fbcDXMHdVIi+emYO38uS1uh7HjXUvHLu5bSUHZ8F628tmwJ0c0?= =?us-ascii?Q?110+Pj2C1zD3h+nuvh7fFRDzSdR+0G0agg1y6JyssA9ONQ1lwTXylmX0ElJm?= =?us-ascii?Q?vpeCxBtaqLGY5/4e2D4KANiBE1wGOHsxhLN9dpHj8aviQ=3D=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BN6PR12MB1731;6:Ehjho0Sw7w7t9EuRoQAI3FBRw59cQIO9EYNVwjBWS0?= =?us-ascii?Q?WSrVLArB/nAnPMHiGv0UtAKo1bqeagIJSWruD24JMVfPlAtwhCZPuVpJ2dZ5?= =?us-ascii?Q?IKWsyaCi7NSeAmN8BSqBU0RonJFtBWaBTJVuchtYt3x7oZ+yRw5yErLmoGTW?= =?us-ascii?Q?f/4ZCyL/hBZ0TXf2z4vjihtRNeAi0LK10zS5mPa8Y92Jr/oGlGAINO2kIkHi?= =?us-ascii?Q?KbT+jQW2PfRrnO4PHxoL9GVFWjAfk9VbVmn7yXsuVXziue7ik5/vq3EYU9Gh?= =?us-ascii?Q?hlbSpIirghyuT+vwwo0OyIjL1+ntgsJSu+Uf22/cuNZSHDIf3opLpJoTIcOP?= =?us-ascii?Q?RzXQxVSeWpKjuHqimLRj23J1/GXjQxmpLV43G+jOVbV/d8UQ2trXN+EPkJEP?= =?us-ascii?Q?6GM8rzg4HQ5sZj1zlgI6SnKNORgKR1Y0vQ1/engvkZsdaWYtNpI3hJd0+iOZ?= =?us-ascii?Q?+zm3W79cAgjbagt+i4E8/zNwx33qqXpwkQSWKwp0nvrgulADg0pVVCsBaHL/?= =?us-ascii?Q?IvmTwEfYIa1vp5a6eI4cd9lrcg37NTDSb7EbHFduYi5DKB3a7zzTL5YcNLhD?= =?us-ascii?Q?WDUZI0ouMRB7yAbNLXDvJTbVnbRUqkeCAFHfTP5vHhhZj+VuZ4xEAI+OWTzK?= =?us-ascii?Q?TqIxU3yxxtmSFgn+lsRVIGINHUDoChWpKkCveimn9A6e6cf2+GDtuH9iPrJA?= =?us-ascii?Q?8tMxleqXeGCX6VgRlebQTggPukIqQv/FsHoBFIbpLWL+I8mEf6hdSZaRDEma?= =?us-ascii?Q?Wviyd2ktICpNuwsE6HlaXWkVMxnt0ltNQExSac0o74bLmCmMyp1qN28U0gXY?= =?us-ascii?Q?HpGGh/qCCCKa9bexhTbpqgsTmq2LFElmw2+i3dGC2S9FVR1eFddDwbfQy0k4?= =?us-ascii?Q?OE8IRFUn04VlVcz7KEm5jYD/zp7xhFbbP94NsSSxE/iE6N1edpPQUweQCA61?= =?us-ascii?Q?XKY2OgTwjRqb6pbkHFtoIDTcKzJOO7GKCiCp/1b3SWdKmFKia+sUZLhvy4N0?= =?us-ascii?Q?aWyWFlT0zBoAS7iutoAVzs?= X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1731;5:OP9HzBWE+a5zfCamRmYzsUnQZiKWAhu+/D5iOaTVJwfydLIuiCVKscwUek9BtcT2i9bB3BTTkrWUi0bm/nbYTMw/5hLmmk2Q/kpmMqilfHUJ9DNAxam7hbPhQ2HDQcCMtj2RXI+v7f3O/N+jez3CVkuayAsCGGKy4n3zq03cXBtn5nAiUlaN+TOttRItS2O9Jzta2Q3EV6IKmClN+wa4obg71J9zhU7DDmPPG6w3rYWq6abbQC8ynaj+nP4RjHYlf6uoJCiv/DPy3AdlnmKwvJdWg1zJg0py9HF00cMs9h867TNOVUGJobyhJ/Gqd4qBSniz+I4BkIqTSj0CHz7yKcW2t/9kv1V/S1GIiWGJ90/rvVZOM/j59cwsTm9QZwR3TDZKqKTAR1wscQBDwtU3KWEpk1OS950/DHXGMwOqmco2FeXAojxXl/c5HF6aFuzxY01oOpoPD+QYZgIgSpXm0K1B3mRQ/+kgwfFpvHyawEh2t1yHtmCqHLsdW//2/CNy;24:geCHF/EEgRGL3SDHahTTFPMRBRU7unXOHNf/K8QyTra0bf4t8L3guqM6xERPi/36DGlsoFwpllunVlyrmSUBJ2JGs+2/HDWgv014sggym7I= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1731;7:0ApJq44iPrNoS8Q/XTHKIXugYEkxZDsgq++DiXbbUln/wuUoPnvT5QMrmtebg0+JBrlZkGcmlnbTI6nAmYPqTey1gmTLHfbPrs7dYIksQX0nBzx3PWxKGcQ1rUsdrlbdiSemV/8vnNWyMq2371km3cF2UD4WoKR1eF7Do4mdG7Qov55tCfGMa+1D7EI+BUBgcM/PLgTuyh7HlwoZ6IQ22cYsAdMvL+IyWNwC+SFpbzqpBSPFtDK1Fwm0JcUnAmDZwxfpKWBHPh+hWd0ioHP7aLET6AmDFZfwAM2Y72eC8edJlryfbVsKmOM3HGHCKOrt4Wg6lIJtV8RzUbhDevzNKpD+wqappSGnybicsdzT++hyYGev8GSXpq8RMh9WGO1I9nMmtYSYvCm0Y1bjzhKHrQutm/K/HJ9m26Zfgv0MPFclfuCSDmMoqdSpVebAp2D4dj3yNhqaZmPiz8moc4BQNqBTNzTI74YAQ2vrqVn7GDlCPYhLim1tXYGa6XXCyrUoVWxtTR+GUVTy62voAYSBcBLrZuNh9cllRUzOWkswu1lCil2OAUxqxHgrwurtLHHpt21sQK5kg5mGexOCoSwttm4o9TZVt17OWKqMWCQ16Ab+HAw3xTsindFHvYqW4S5xaNT3zC/JgJd2BKLq+QqM1Wx3x/pZr43t3PhUpt8dvXexB/SHF0AFeLy2bTxM3OigMy4kzztrOlQmWRGUZfFpa3RCWrFgl1BVhtmoItme5zcG7k4aEJnt7RMQqfBKA6ZLFeitlyp5radMsZSgWT8NqV1dOcPGVhPs+9tbjpf1A9w= X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1731;20:JpQQcQWwGSHZBHJzhrGVsZHjUeSNk7UwzMd9vd8c02xMtucJhRlGQ9cabJUUShNcKwX3SZC2tAPWxeTK/khzgnHTnAWMf1nu5BajDUBcKndz117YhtjYDac2Xn/nLLkR0v7IYNZ0v6ODeQ8j2JcNcV7r7PhxcQColeCavEMH0AlQjye2/5XZA4hHb6tLCaDD/8mjGqH+Js66WuBIlZzFc7n2Q51FtMADGGnFLkSWGfwiqFsuA5Iuj8Hb0VI5HI5j X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jun 2017 11:57:11.3360 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR12MB1731 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1679 Lines: 42 Pass-through devices to VM guest can get updated affinity information via irq_set_affinity(). Currently, AMD IOMMU driver in GA mode ignores the updated information if the pass-through device is setup to use vAPIC, which could cause invalid interrupt remapping when not running in guest_mode. Also, the guest_mode bit should be set and cleared only when SVM updates posted-interrupt information via irq_set_vcpu_affinity(). Signed-off-by: Suravee Suthikulpanit Cc: Joerg Roedel --- drivers/iommu/amd_iommu.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c index b17536d6..1055863 100644 --- a/drivers/iommu/amd_iommu.c +++ b/drivers/iommu/amd_iommu.c @@ -3883,7 +3883,6 @@ static void irte_ga_prepare(void *entry, irte->lo.val = 0; irte->hi.val = 0; - irte->lo.fields_remap.guest_mode = dev_data ? dev_data->use_vapic : 0; irte->lo.fields_remap.int_type = delivery_mode; irte->lo.fields_remap.dm = dest_mode; irte->hi.fields.vector = vector; @@ -3939,10 +3938,10 @@ static void irte_ga_set_affinity(void *entry, u16 devid, u16 index, struct irte_ga *irte = (struct irte_ga *) entry; struct iommu_dev_data *dev_data = search_dev_data(devid); - if (!dev_data || !dev_data->use_vapic) { + if (!dev_data || !dev_data->use_vapic || + !irte->lo.fields_remap.guest_mode) { irte->hi.fields.vector = vector; irte->lo.fields_remap.destination = dest_apicid; - irte->lo.fields_remap.guest_mode = 0; modify_irte_ga(devid, index, irte, NULL); } } -- 1.8.3.1