From patchwork Thu Jul 13 21:08:24 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Felix Kuehling X-Patchwork-Id: 9839551 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 71CE9602BD for ; Thu, 13 Jul 2017 18:06:23 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id DD4ED28783 for ; Thu, 13 Jul 2017 21:08:16 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id D0C9928788; Thu, 13 Jul 2017 21:08:16 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.6 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED, RCVD_IN_DNSWL_MED, RCVD_IN_SORBS_WEB, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id CA88228774 for ; Thu, 13 Jul 2017 21:08:15 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 41FC46E0F6; Thu, 13 Jul 2017 21:08:15 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from NAM02-BL2-obe.outbound.protection.outlook.com (mail-bl2nam02on0059.outbound.protection.outlook.com [104.47.38.59]) by gabe.freedesktop.org (Postfix) with ESMTPS id D38A46E094; Thu, 13 Jul 2017 21:08:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amd-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=eH9MA2dWLvcjip6rRZp7dZ5eu/RdI/WXZlzMMZchsN4=; b=dbKtgllM99ay1bjUFsl/pNOSR3KaTFmhGRqi72JYXglKfyuSYa5KC9eWFWtwfU3/ykpn6w+15oAuALwEZSeQWIcKdsSqbxPMDtxwU0JpaQas8s8mYE94U/g6NgNwEx/A5B7hNAikjMaU2290gNSBtszWteZT1LGZG93S3QtW/Js= Authentication-Results: lists.freedesktop.org; dkim=none (message not signed) header.d=none; lists.freedesktop.org; dmarc=none action=none header.from=amd.com; Received: from Harpoon.amd.com (165.204.55.251) by DM5PR1201MB0234.namprd12.prod.outlook.com (10.174.107.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1240.13; Thu, 13 Jul 2017 21:08:11 +0000 From: Felix Kuehling To: dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org Subject: [PATCH 1/2] drm: Implement vm_operations_struct.access Date: Thu, 13 Jul 2017 17:08:24 -0400 Message-Id: <1499980105-7721-1-git-send-email-Felix.Kuehling@amd.com> X-Mailer: git-send-email 1.9.1 MIME-Version: 1.0 X-Originating-IP: [165.204.55.251] X-ClientProxiedBy: BN6PR19CA0056.namprd19.prod.outlook.com (10.172.203.146) To DM5PR1201MB0234.namprd12.prod.outlook.com (10.174.107.22) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 18ec5f5d-1dfe-4ae1-42c0-08d4ca334542 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(48565401081)(300000503095)(300135400095)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:DM5PR1201MB0234; X-Microsoft-Exchange-Diagnostics: 1; DM5PR1201MB0234; 3:MetRi/G5gjycKn1uwB0N4RfYhLak307j3fB2egSnP2I+4/eUZ9ceY3FmC3FvPwwICxdQlRO1zJKysB9FEmCVoBtRf7dqA2sP73ejQmKtn2bCJOBuw9ppHU23WLL2jO0tcNSV5ovHFMmGmgohxdR23vib+xkqJ+DjQ2IEfappNEwWh3QQsgzPuJ3iazT8gYDoZB1JIqbG127niDCGILXxHMVqvS7Yj5dDcZELsmVKc7uMzn9fiePfo8lsQQ5NldqBg44+fLZYC6RrmHrV9Ho6T3mC1IpwrXVqQqCuYYCo9LH+WZGI9JbhJQStZdtAHpjihiXOIRErgWZc9dveeyWxh2v/Orb3/aigqM0RfqWYFTPHjDFa7A5rn4SdyX5XhEfUB19Tqa1Cq3o8JEn0y+knsYxEk5HrtjCKcNYs8XbrpAxxekW/rcgBGJpy8RMdovZgJB8LLrum9Bzg4PW6V5bvslpgb/7bbBKr5ywHP4AcRgYQCKLWfmRIRZt83CSSMd9NRlNJegpxxo+AJQspUlmLRszuu/fROo38dhr7NgU4aGXyvBI+VtHJ1M/ZdZduc3bb6Afi6JPLtQ7y92G7xBx0ltLSBoA+vWDt3XEZWDEhjDUkL3BawMCDpj3SeybvEZdpBOYRGn3dhnR/HjmO+T9hMoYaWyjl/FIuOfFuZ+7f4sVHWyJSB5T2uztk+dMLdNgJJz7Yz2KGRQQ7ot2uAQfyEiEkavDsp63NJobSyNS6e0ABWKddeHyYcypwtHIxIoFtn9l3y2h4lRx1t81UdvAO7A== X-MS-TrafficTypeDiagnostic: DM5PR1201MB0234: X-Microsoft-Exchange-Diagnostics: 1; DM5PR1201MB0234; 25:vY+MG4WfiyHpUnya2RHz3zamL0AKMItIOQn293vz4RemFIWpi/MOBk33/lK6GplbDx/AJeRGbqzrS3ufdji8kUTg/NymiFDiSNWrBxaNUXP5vFtsVcSHSwUgD1WijuZYM5JQlnZlYXowsZtAW+C5Kd1WENq1pSzZScpUJAnuVl/BpLegLMIRNHA3betE0np2aGu3ut6Y6Yr6trQmWh53UesfkHvbCyKSxYzozdezAENRxysOY1gryBDSUhd0M4oBnXDN43prCDPLY1vBakDZ2fQqUtBFaOJFJt6G2sRtjLHjRtzRDF1SFtQcf9m2sw3EwOTG45CfZONWd0PohrkyeDX46rV7F5DnQhePLMryCkcCqgydNzsVFZgzetVuEl5TJOZPO+G4Ecx9V9+bdganOgvpdv7KVIzLmcRHcWrUB/ITJ7AAJhf0hFG5wpkfQ/N/uw9gbxMdkregf20uKQC+UQfsgz7PoWNb2r8RmiCT1H0hRagfIS0IPEKtDWx17eopLt54eiIATu07h1wM6UwdKuEEvpJ1o02tQjPQ3JsdjygBS+MWg8r8MK0LwnTWClgdGw9lzSzhNXHY9sajcYphZYuYfynK5B/BjBh3eajsZ5SPhoSVeuHueGq/W+/h+XBKsmIQCq9GYDgPaaT/K2yvHi0O7cdVH4iHHSVVU1w+n9Tr63M/W9nHdqIwf9JlBaFnXI/kuxCF8BBltdKcZbCS00+aGWvf9iz7qshBOKy89hvv0hL5hH2o/nwAoM8DUp0kK9MJCTJCnFoGQKo7sgDcZvWlsj9NyR1KFDOQQcFq8JAubahmU+8IQUK3EkeZijFmNT41BieE/2NLgDqr48D+T2pIlXKQKG7m0OdPktVXGO90Xb3YAD7U/tneFLleCWNFC3fyPJ+mYB56uDGKCx8kiLIbJK3KZG2DLzQ4Ch2viE4= X-Microsoft-Exchange-Diagnostics: 1; DM5PR1201MB0234; 31:B3E+d6nRXegpF3g3tKIanpnYcCx64fctLtHwY+e7mAYApvAV9sDyXBEGVaxjrhKboantNX//1wPA1HGYdy8+Wu6pC928jeklMHiBz5L2V4cRDQ4/0cOUpFkPU5Jcv0uEZVGdkm669dRfm9HJxmOGMrYkYGofVIr4unvtbq/rxQ0xEZvbd9XJD+aSfmqvbYVBHQQpGVJCUt5bEoCa+Js9ru4Rl75GXmdz1/J/I86oXk7EvBlAIghapCh7eVCv/fSptVyXKRLfKeK9tgUwqnc22Rbxhgp1QtrR/0KzR8zhQjVSsqVdW8ZiQ6zHpVRyRZU2wTWNQ2F45JPNqtEBQJqQNt991I0psdEipTjMkoZ5DcjbmPA4g/sRa2PBLRq+Ql+h3Z7jWneqzFcAmKUZao9/CCn7iCJMUIaykOvDjG8BDXNOA+aaeK9TM8Qq+mp2GVV0yjQf7PLsBVX/bzFIfPpTwxhEWXnbxhdbmVzCZFP51DOLOOhS61vfEg7pO5qIgJNRKGIo3vE8JX0WN+kKvxZPGcFg0dVdgvUET5Ep2aLusyEH9Gs6ZBo0Ua/eqd7G9n2xUaEAkvYoAbPIYrRGaRNGWeDjtAW3qOUrBZZeucOEJaBl3UbRFd10T4W7ZyY6BLgPBFMwFtKhbabY+dnbh754MH8NuvUsW5vBEcNFB/n0iAU= X-Microsoft-Exchange-Diagnostics: 1; DM5PR1201MB0234; 20:MEMfzo6YhQC9ktu7rGhjUQ4oIxkMjZrHmYzrKgpTKk276dmbGEw/VUNluDf8AgRniEbgtqYN3M6seAocwV2o+DxHIQh78DypTihXF6IIeX8dHQxB2ejw4RsY3X3zLxkbTAgEjOftqXCIiAAgEBPc9p9pq0aatfnliAX3oYU8kUMQ/tILk8Q/9UuZrGeqFmocPdAmAmjvoDxrOjvfqx3J6gk6yARV0Us5eSGwnpNf10stX38oDAQ1aou8ZE0PEjnxeqUWAVCkpU6LDkX4rxDLlCozRVf+gwtAdekxBDfwh2eDZVpqh4Y9rlK069BGvsE8Lf2uG63TuBB5Db4+GpOkb7J4+Vjt7/WTesAnSre/5s7kCh6+0v9isOSBA4/gOzcsXPcgNastzE9a4Dzu/j/RqfE/ZYr2IO6onkdbR/3NMXGeM7YlrV/11p7s2FpaQdV46JqxWlvcVaeQicN+w3Ea+fWx/xX6SJGm+tPcc7EJjmYiLRA6OcKoAkWGfMp0Qw4n X-Exchange-Antispam-Report-Test: UriScan:(236129657087228)(767451399110)(148574349560750); 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)(2017060910075)(10201501046)(93006095)(93001095)(100000703101)(100105400095)(3002001)(6055026)(6041248)(20161123555025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123558100)(20161123562025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DM5PR1201MB0234; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DM5PR1201MB0234; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM5PR1201MB0234; 4:LOxyUbvaBRdwUTH9UdQGrKiPUjGSWS7KDyYN+KCH?= =?us-ascii?Q?OILZrjiAJGN6fiYwOW+t4JNXZN4ykP6Gno6WT7K6fEjzvO8oDaX443UJ+q6W?= =?us-ascii?Q?PhZ2Gj5fw62Lsq+x0pbktplk2r/24qJuoVG0pkfKyzJwMVNYUVaqr8jJz4lm?= =?us-ascii?Q?xbdrpm5Zh0nKbpzmSLPtgXlSWm7v8m1Z3NrKjGoZQPOrV/Fmnt/sxolCrt9R?= =?us-ascii?Q?9FiCnDMzlBeBO1kX8dEwTvej6e7EREQi4UbK+x3VEqDweKvMP94zcUGnbllj?= =?us-ascii?Q?egysBecSTsDZdzPpArU/gDmx0e/Wd2r/on7Y4Y9zFbCBfQDlAzut2RaIZ/m3?= =?us-ascii?Q?uCcGkt8BWbAAwhmxjzlue0yH2KPIBpZbzP1OXozhd+CBcDPe+GAt5dbaVsvK?= =?us-ascii?Q?DR7+jXCKVmqYoP8DaHetC9d6qKkwGkotbP1BwhXJR1VLIxa1qE59DTonuDZC?= =?us-ascii?Q?DASqPLV8SQmaB5NH7TDpzLyDzDZEp+r2iKh95WBCURr/6kNdCJfwAmSXoStV?= =?us-ascii?Q?K7bz0E/PBp2T2/1eeG6gFw617oEn4leFD1qyn5fN4aE8IBDUQDjcnZ3YgNvY?= =?us-ascii?Q?CCCgsRmP7wpauUlq+Y6/qTntVdQFD1Mly5IuDTPjKw+Pnevqy+5PuYziOyiu?= =?us-ascii?Q?kSqKK9vQEhDmLmPEoErBYaM/G4ow4mKLNGRBHYDTrPH5igbL5seRzW7ZParV?= =?us-ascii?Q?MysJ5iFF0s1mZc4wF1W/cKpJxzPqS/4VVTKt4LTmtymUpTF3xeEYlLrwa3sb?= =?us-ascii?Q?6HZdzDnPn/tk4E1UDvJndrJrvVNMEi9a0Mf1QCIf2BDt5lxo6/+JRT++ELAq?= =?us-ascii?Q?hafirD9RMNua5cQJMXSM3T8JcOsv7Cd8Y3Fv4Gq63ykmGpaUGFNwA1snhhEJ?= =?us-ascii?Q?AlncFI8YFoVX6S0eCshoSid8m0Vu+BJFhm+OzzfK4EsEiMwOfwiwKaE1DFJ/?= =?us-ascii?Q?GRKuh9bpnxIP1GbQO71RvV3f9CTpZk+CiZFkzXGvnvxKO/8JBN0q2hiNzfq1?= =?us-ascii?Q?ruNMSmaA+sa/IbJWiV+CFAXjHOg51grWJmWwj/BsIa/1/+aoB+5vG6Bn0/7P?= =?us-ascii?Q?/+JhJ6k5/rtL9JAV2i4cHYQFFfPA+Sy0JjB9/E60drvzPOJPyGml64Wu/T17?= =?us-ascii?Q?rAu2AYxNepH7xssqjVnoY4O5sKIibn4LvxG/6BJTY6xgBSLjza5xXw1DHteO?= =?us-ascii?Q?AW87HV/z/3Yl5RXDOpVmHiF2DVOa1fkM+VrTYIL0M+NwPrlHJ3kMerEvxPg5?= =?us-ascii?Q?+4rRn3Ci2RN0c5XndlX0sF3xjHJX+h/q4ZONHlZbvloyCoPttQ55q5E2SZzT?= =?us-ascii?Q?u2VC/qJYiXsBPEmyby62F0k=3D?= X-Forefront-PRVS: 0367A50BB1 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(7370300001)(6009001)(39840400002)(39860400002)(39400400002)(39450400003)(39410400002)(39850400002)(50226002)(2906002)(42186005)(53416004)(81166006)(50986999)(47776003)(66066001)(36756003)(8676002)(7736002)(6486002)(48376002)(72206003)(38730400002)(110136004)(5003940100001)(5660300001)(25786009)(6116002)(305945005)(7350300001)(50466002)(4326008)(189998001)(86362001)(6666003)(450100002)(478600001)(3846002)(53936002); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR1201MB0234; H:Harpoon.amd.com; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM5PR1201MB0234; 23:Wrl7ABxPRvTx7jmwRJnVNtFQy360eDML5ypRiwd?= =?us-ascii?Q?kTHWUJk/eP0+nYIwSDP2bd3NhV8gABSnbFC/guo93FZB0PMUHgx2jWOSxc5y?= =?us-ascii?Q?h6F1VQPLEcWOqFl1DISwNOO5EQ+XzvNwU7a8hwYAj4CSs73eT8PDxpZGLnOM?= =?us-ascii?Q?qUOPZCGtYXJ/5mWJefgDmGQia9SI/LCtoXJtTS6lrSXUv2OvVl7oaCpArAVe?= =?us-ascii?Q?BJqpejV+b4Mrulp/idVF1MuGHBAFyE9tniwlsQDHpHkq+vsFw4hS2ygKLjSV?= =?us-ascii?Q?H4f1CWlBEo/FF0vsj5aT7KRpr2Yos6ieRN4PwJZudI81xFb+hcl2WTrRODdK?= =?us-ascii?Q?mNzHANfO9R0zwg9txA+k3PsnaQ6Ou/SHdItI97CYbYyo5lkJt2Kkitau8VBm?= =?us-ascii?Q?0zN0D9sgnpuDMjUuPZriWx4r+zC44VJqaKzybDGCRCwULWCEJLOXps/2ltR0?= =?us-ascii?Q?EQBhEt3hIUSq/TnHNOyimQEXz02/az+0HjwxJpIlEgXVk48LCvT8F446qdXS?= =?us-ascii?Q?cRWWTokL//9EW0gvAzWYMFO/NjgTcw+NAKcvL1BtkCO6LT7nyYVMUD/BGN6h?= =?us-ascii?Q?CjMXl8CU4Ej00hw6Ma10gVkK434wVdk9Gud9GeBHterFyzg6Km0GZwEswm8d?= =?us-ascii?Q?ocPKaJqvH3uG5nEc97Ij52C1VZpZhiT/+OpI1stTSPVzLajlwzDq8Xi7u7Kp?= =?us-ascii?Q?vO6nv8Ng/4EHGF8d1sx3UkwLCVctUKbY1Jlq9hJwcCMpdvXIImAlm2R7WsZ1?= =?us-ascii?Q?780EQriEhw04niDiZecDB/s8gHyVzkMAtO5L+3Je+u+r7BltlGM6ge/o+e2c?= =?us-ascii?Q?6Xk1/R12JwnwpM2/xufHrDgNokOxaTdvbv2bPElHcPYJpgx5O98YybhdhRZ+?= =?us-ascii?Q?sqwNRf8LHR5JGT1bZy93KHelraAVAfbju+u0xZaKmDo9s4StZSFnXlDYWG9/?= =?us-ascii?Q?cpVUtBf9+JoNEnZPiKOtRY9HEyd6QrShHJRfM656F9uAKmDtU3VtJMQlb412?= =?us-ascii?Q?cZCbDu63sh4emW8O48EXxlufS9sMQgLTaoKlQHZ4BLk+uMgmbYRr5PX/8FOg?= =?us-ascii?Q?UbS3/z3M=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM5PR1201MB0234; 6:gCWu2CxPIEk1Y0zE7ADUQ2B4RrZXWYJH7tBIeijx?= =?us-ascii?Q?jS/rBeRh0mFhwr8lMwODJW1NbgogGU5H9n9jx6dPn8h1t9tcrvv0XpAJT7se?= =?us-ascii?Q?jZ8MhlUlyz52jhLefpKbT0BRJyLDc3jIEt2HsmVmqdq+SNIi52/Sy3o06ZoK?= =?us-ascii?Q?mBCzuL3LuGFBjRuVtcpF5dlbXg38ipOFRa4JGAlFvQHrVJ+7+5qsQyHsndYA?= =?us-ascii?Q?nNUfFv78AI1D4tWcrKN4CHGHA6pCYbMbGbZyqkodMV1WfjBgHZK3es3TwCfs?= =?us-ascii?Q?/EeIxJIDdAdky0+Ra3mIZ5A70t/D9CVcMKrvyqokqYTHfNEsde4Ks3c3enyH?= =?us-ascii?Q?bEjVlSzwHuX9NLys2UTd64DlowraRco5hZF9+8ef6Ib8ATgkwHofRzPIDQAR?= =?us-ascii?Q?UwA4uRg2QNFTtDm7G+c2HNKeeZHpq5EiMxyVqrOzJ8CBhj8PtqWcEhqmV668?= =?us-ascii?Q?bBb0twwJ2VbLnnb7SLIy+JDgKDSIEL7Oo02lgkEwCHtbIskKM+lgpUciEZUW?= =?us-ascii?Q?cknNP1LqZ0RA3HXFZUo9JWIMSWzP3hibvjTh52T7DpG/JB7jXXAAYqN3nN4q?= =?us-ascii?Q?bRtRcJekQwZz6Hb0L+b1EYWzZblTvdv3Nc+amjooQXBlUYJxUC61keOhrROr?= =?us-ascii?Q?JO4Qk0GloDjGBkp/rr7HW7uzad4bRqUuMPDDJWj/yIqJSM1JnxonW0bBw+UQ?= =?us-ascii?Q?ggNu6s+3VmspVBRyT5bPz6Bjz22qPvc1DM9HRx87PHs2UKoOPSu6oUNKAppA?= =?us-ascii?Q?tlInlfTnFbTrvGoxSDJwi98CMl+0HQowCGE3uOfhoj4O4KGj2avUXwQVMERi?= =?us-ascii?Q?HYAns//e2fw/sezZJWp/BSjTefPbiRpQ6q8JJFYr0CClsKovw19WsenUpQmY?= =?us-ascii?Q?mQmPmSAK+hFG7FOzqEnJOoypPR/Z+UjY5yFT0UfS4PX0oHLbGJEsPL8g7k83?= =?us-ascii?Q?qLnXZXyL89VDI2lMiUXh6KN+V1HfmpIZc57Wc6f78JX8pDznN/gOMkd8LDJI?= =?us-ascii?Q?AOd2ghVEOfqcakcBF56B61ca?= X-Microsoft-Exchange-Diagnostics: 1; DM5PR1201MB0234; 5:3NHsVoOQJXEmOLnjUYmbYFoR8YtnuW3V15zCAUxNceKYyxSqtbxJizPX1uq2cLBwPk53Vg0tNfiTHimFVa4ok3dX8a61A1dnisjwJB+n8g7DxYNUoD5+JZlnEBJv7+jBs/FpJ/BBl4sJF9xn2oJ9OVAsnaezEXGs4vkoz54ChQdjVud2xfRE7nukQao5F4PZMOmWEvohFh3X5acHHGlAO/auuL6+CIIYA0SGoicYlIZCxlkvxaLhfKC9g5RffADpLAzD5pTjX0fHl1XUShDF6KhjPpSh6tholp8bSeEzwfL8EeFlfeAkfXBVCQalD2/FVI0jlA9UcwzHL8lWqlTZIk3KxyL2jqvei2/zMVxJY+jHL2Mh5tJz4HL2XUfXC8jE3eB9sLCH8WkBgsZng1vM8tKjTM/UzjzkWqrc+hwJ8xmS10Fx1cxDqeCS9jpQu7JkZOwwVm/592gBDSj97+i6/z/qJOTLKzD5gJv73kNyYCpkF8oRPlGXFhNZw/PmRRtq; 24:x/Y3BITHRs905JwE8BwKWT9P5EfcRiM4yg7TSTcHRvONsT1yuFfSXuTXRJ7rY2wqfLPktsTS+ljUPIyx+oC3GTyxoJLAJdz8CDXKowvrGGU= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM5PR1201MB0234; 7:ah1Taqaic3fyy7gljFPOlXkbujVVTuakGKaLay6yrq13IbQTmri0nW8FSFjGcZ4jNlcHIhlrp7QhLmMSxGz71saSjtLZdJID4ELQy8gUlKMclCpGqu+RU7Z5XyEE9ff04GMgRLcX08irjVunZN+ZeT4w3rCmV4UpIQbaA/wBHd0u97WU/NMc5wkzRRpmtTCowBFTEIqT985fI7gvGXTdciG6brsyF08slMuKJVbzEtTvLfaCL9EeDu5u6Q0yjswscsKRNOf33VNVhNeVJoDjHZshgxRzAKb6hU1+LnyK7ueuKoxodzVNXapUx9fSQwJOEH0vbnCkvq/QUhQWHp2lXeiGtweg2D2bYYiM3xIiuuaAt2hDLwsqfIgF4X3xbF1Tzx175zRsp3knlMBu3lY1s6rgdSZXSkuPHPXXWFBXU4EZ4hJ4hrOWyGx3shycS9QXCBmhkS8f932HBK6BJCd/Gtx+6WVgdg/+Uag0KQO2A45SyRgj/FRBHOIBUUU8nII9ssTxqgabJVYnyjgZLlFoFMtaHATuPRRfkdYJEgHd/96U2/Pn5RCRWtp0H8Va9KZVw0LmpwkP2zVFwUhMI+v/Wwg9J7nTHgjc5Yo0PWVgYyicOCf2EUwZgAUMpIk84JGT6V1WK09sqwzudXOP116ZfMvX4BcZOi0SgOlJwn+GeGYoiKDus7HtCPfuw1hphZql7p60acYi+D04fdaGxMjOWk7Zsk4qtaZk1L7sgJ3hG95e7YcEO4Su/5v1KiWDd2Os+bedhbyMKYpz+bhEU7i10PIgEkwYLeZ+mWv4AdvDkTg= X-Microsoft-Exchange-Diagnostics: 1; DM5PR1201MB0234; 20:mECxH+gylzh9VP4VWhjvK+5wwVLeSpNvFeLLrNILBAUqiwhIGZ0y8y2oTQebwdCxP8jHLHqGY7DO/MZd9GJEw07y9WjkJvU00bFvppnsodUeAwBz+XUNxKovKWPj2YfNGs+49JdUIrtsR0JtxLZbiDL1uI939LvdodISWNBoKnjaHjjXP8aDyXUlHfGLFxKkSJ7N4McUoVSPCcrHXweDTkXbjNryz9fSXSj7D6Oi+O7sZkrCvsJ30bbwlVwAGHN4 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jul 2017 21:08:11.6602 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR1201MB0234 Cc: Felix Kuehling X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Virus-Scanned: ClamAV using ClamSMTP Allows gdb to access contents of user mode mapped BOs. VRAM access requires the driver to implement a new callback in ttm_bo_driver. Signed-off-by: Felix Kuehling --- drivers/gpu/drm/ttm/ttm_bo_vm.c | 66 ++++++++++++++++++++++++++++++++++++++++- include/drm/ttm/ttm_bo_driver.h | 12 ++++++++ 2 files changed, 77 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/ttm/ttm_bo_vm.c b/drivers/gpu/drm/ttm/ttm_bo_vm.c index 9f53df9..0ef2eb9 100644 --- a/drivers/gpu/drm/ttm/ttm_bo_vm.c +++ b/drivers/gpu/drm/ttm/ttm_bo_vm.c @@ -294,10 +294,74 @@ static void ttm_bo_vm_close(struct vm_area_struct *vma) vma->vm_private_data = NULL; } +static int ttm_bo_vm_access_kmap(struct ttm_buffer_object *bo, + unsigned long offset, + void *buf, int len, int write) +{ + unsigned long first_page = offset >> PAGE_SHIFT; + unsigned long last_page = (offset + len - 1) >> PAGE_SHIFT; + unsigned long num_pages = last_page - first_page + 1; + struct ttm_bo_kmap_obj map; + void *ptr; + bool is_iomem; + int ret; + + ret = ttm_bo_kmap(bo, first_page, num_pages, &map); + if (ret) + return ret; + + offset -= first_page << PAGE_SHIFT; + ptr = (uint8_t *)ttm_kmap_obj_virtual(&map, &is_iomem) + offset; + WARN_ON(is_iomem); + if (write) + memcpy(ptr, buf, len); + else + memcpy(buf, ptr, len); + ttm_bo_kunmap(&map); + + return len; +} + +static int ttm_bo_vm_access(struct vm_area_struct *vma, unsigned long addr, + void *buf, int len, int write) +{ + unsigned long offset = (addr) - vma->vm_start; + struct ttm_buffer_object *bo = vma->vm_private_data; + int ret; + + if (len < 1 || (offset + len) >> PAGE_SHIFT > bo->num_pages) + return -EIO; + + ret = ttm_bo_reserve(bo, true, false, NULL); + if (ret) + return ret; + + switch(bo->mem.mem_type) { + case TTM_PL_SYSTEM: + case TTM_PL_TT: + ret = ttm_bo_vm_access_kmap(bo, offset, buf, len, write); + break; + case TTM_PL_VRAM: + if (bo->bdev->driver->access_vram) + ret = bo->bdev->driver->access_vram( + bo, offset, buf, len, write); + else + ret = -EIO; + break; + default: + ret = -EIO; + } + + ttm_bo_unreserve(bo); + + return ret; +} + static const struct vm_operations_struct ttm_bo_vm_ops = { .fault = ttm_bo_vm_fault, .open = ttm_bo_vm_open, - .close = ttm_bo_vm_close + .close = ttm_bo_vm_close, + .access = ttm_bo_vm_access }; static struct ttm_buffer_object *ttm_bo_vm_lookup(struct ttm_bo_device *bdev, diff --git a/include/drm/ttm/ttm_bo_driver.h b/include/drm/ttm/ttm_bo_driver.h index 6bbd34d..6ce5094 100644 --- a/include/drm/ttm/ttm_bo_driver.h +++ b/include/drm/ttm/ttm_bo_driver.h @@ -471,6 +471,18 @@ struct ttm_bo_driver { */ unsigned long (*io_mem_pfn)(struct ttm_buffer_object *bo, unsigned long page_offset); + + /** + * Read/write VRAM buffers for ptrace access + * + * @bo: the BO to access + * @offset: the offset from the start of the BO + * @buf: pointer to source/destination buffer + * @len: number of bytes to copy + * @write: whether to read (0) from or write (non-0) to BO + */ + int (*access_vram)(struct ttm_buffer_object *bo, unsigned long offset, + void *buf, int len, int write); }; /**