From patchwork Wed Jun 28 18:43:26 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Lendacky X-Patchwork-Id: 781841 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3wyWs62WS2z9s72 for ; Thu, 29 Jun 2017 04:43:38 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=amdcloud.onmicrosoft.com header.i=@amdcloud.onmicrosoft.com header.b="QfKgY9Jw"; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751976AbdF1Sng (ORCPT ); Wed, 28 Jun 2017 14:43:36 -0400 Received: from mail-sn1nam01on0070.outbound.protection.outlook.com ([104.47.32.70]:3904 "EHLO NAM01-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751613AbdF1Snc (ORCPT ); Wed, 28 Jun 2017 14:43:32 -0400 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=G0dexBmG8Wm7Y+MHqJ1Ija5pEUkTOm+8N9ZmFkS+cys=; b=QfKgY9JwHaP0CcyzDwvVqvsS/p37vOx3csrNUbtD8J3o7HN3HP0igqGWTCtmj6bb+uQPA13zzQlF2U0d1bccZ044MEAG6cP4dMDLJNoeAA71/lr3fDkrREPxK456r9ux2V/A8OjED1RrVJxlcUOvA/VAwWNLSfjzVcoJ5NVfj8c= Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none; vger.kernel.org; dmarc=none action=none header.from=amd.com; Received: from tlendack-t1.amdoffice.net (165.204.77.1) by DM5PR12MB1145.namprd12.prod.outlook.com (10.168.236.140) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1199.15; Wed, 28 Jun 2017 18:43:30 +0000 From: Tom Lendacky Subject: [PATCH net-next v1 14/14] amd-xgbe: Adjust register settings to improve performance To: netdev@vger.kernel.org Cc: David Miller Date: Wed, 28 Jun 2017 13:43:26 -0500 Message-ID: <20170628184326.21972.16637.stgit@tlendack-t1.amdoffice.net> In-Reply-To: <20170628184122.21972.87767.stgit@tlendack-t1.amdoffice.net> References: <20170628184122.21972.87767.stgit@tlendack-t1.amdoffice.net> User-Agent: StGit/0.17.1-dirty MIME-Version: 1.0 X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: BN6PR14CA0045.namprd14.prod.outlook.com (10.171.172.159) To DM5PR12MB1145.namprd12.prod.outlook.com (10.168.236.140) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7f77bbb2-0692-462b-7255-08d4be55927b 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:DM5PR12MB1145; X-Microsoft-Exchange-Diagnostics: 1; DM5PR12MB1145; 3:fXkrGmKvdO3PFCUKMm0zB3AM7zq3E9oGHaEP/pmwWi/WX1pzaaQFr9B/vlxq973JpR9LLLVwuYw7vzPnZp9YocnxAqdqNWIMxt0GIArrAA7DEfQ1u9UQ9MNaMwkc2Fm0UdUMWDSgkdN4BH38SrJYFCJMmrw/eFBopyPtYXhv6awBKTXolzvl3JdYfroknaMvkRunE3gstZyigNLpky4zsUZ9esapJ5qrSeTrAv7aGZv0HaWkPrXOefRqtD8OtL9Qlrg55fX/fK0NhwoI3+ersdVclvAYZVMiOFV++f9dTEyapPWl9WdxR9xbc2RchvSSI3C5V/EjUxjECTbyDszEhYKL+qOqiHoy6did6OgoASBL96tQmh0nSjOjojI+fZUCvyQwGxOnpEuxt23u6T6sm0LGGbaMNrfvcYfMXzjvUVnid2pEcvZkfXenR19lpfiQemQg4t/eseVdn6ykU37LNRI3FNBcVZfOAjp90rCu8NheyDzCgCoGBk4OI56W5kb0Yrhr0sJcjig6ctHczHCDUDtnZfch8pZ2DchuhKjeplUI6ugto5xBKgIDGgQFyeyJE5AKg7Ma5O/i602MzxfEK/lQ7Ui0VVSn0ATCxY6Vf5sWeeZGn17m/ufHyOTA2isWmXVEtLV2RS9LDujfHuAZo9HMlax8mHFpgEd50Dr2LOaOrnqJ/UWoABShnZg4AWK+aVDhUojSXaloEVNv8G2b9tJeluizIw2Ud9rqss/LG73Cw5FqMwdOrcbC1Yyx73owyivzfzloOGTOcVwGhMIWXQ== X-MS-TrafficTypeDiagnostic: DM5PR12MB1145: X-Microsoft-Exchange-Diagnostics: 1; DM5PR12MB1145; 25:cn7Xby8hPOv3REDtpZ1zBMHxqEMJVAGn03Pgis1HXcW/JmkdOZpI5G8IZy7PZavkRxU7+TZf4Xrgmumb35S36ZHRp9EiX2t3uoBewDDqkQUMefqlQJBtddPXWFVJZkob2e4+II6pvg1LgpIv522nTlWrLw+WNpwbRHnqUsAw7u6/dOLiSm7CGiJhQyrOz0MoSwMYmpfQzY+cR7ZRQa9m8flpknRYiaYDsxfR+VoZ3WQdBjkQ425GIZhHPI6c3mhoWa1cgWCnk4HOHv59MFDGgP9iYFtqLTpXEnVce71y/+8y3Kug7Jq8NMV0aOZEazuTqoKqupduph+S6uuJr+bcMhazD00S2QtRXcF+/CTM29s1tcZgj459ceIjJzqaUYwl9LQInCSK8lexj9m6M/yrEZiabHfvIGnJUVffRGXJ9qavFh1KLw98T8Vkt3nOg5hiIQvTwLvnmfeqtNbZ3jzgDbB+vgoHNK9Ei4jIG2rkgdlTwKHkTpN7l1d/ckDa48Me1vEGigp7LC5UpwYVSat+2W7TOQ/NnNiMHD3PuTV2ZU7H6lrDZVmYxwFB7t6F+WoRULRCL0nMraplelsaM4mZo5yKmihhI8ipRSRVT2LKi/ZJcM6nfBkmvIZZwWTh6Dd7JVWUuNyuTFa8HjkiFKJ3XEp6ofCLjvLY9Ft2EZoJPIzUxUhghLzI7E7fVRn6z0w7U9fXT0a2CfvUZc4b18f/BMsMFOfeWos9KfarOoimXNIvfIPDoql9CjsSX0CkqRVd/bgzvHB4v7Oh4+PodXBTABfllkIJyXXR5D1+Dxa4KMpr6PJjHexsunycU4ma0yP3pWnSo0kQpPCoI4GTykjkA+ZhTUVUR7onptYJjA/RhJ46gN3W1pmR3ltsVogWpJjlyMOmkRSk1cGm/1aHX3GVQq/AEF7rif5+LA2v1CQ5MMs= X-Microsoft-Exchange-Diagnostics: 1; DM5PR12MB1145; 31:Z1Vc2Swj70hU1gbdodqGBmDhsJ2wui1Rt1lhC70aRWvhNdbYKvgxa+r6BWFZwU3WhFyFBqmPwHmSJ3KU8agUIDGYwBf2X7cFNOGsW5JH1x7riyRYOiploFuhHPmcBp9PupVs6yRzz2fHS+c+OG94nJ2dtAAoGPLTS1jc9hHydVfc97Wwx9q5BCvlaRJcEdmM7nAZELqhowrgTH7e+Bz28MfM0PQE4X22YGaUZxxfYe8VK+FKFQtrSEv3QJwiQy9kcvTHON7pxyKnq8cRPyQsT8C7uipSeFEP4srcqygYQe0sAbz+Zjufex1jEZLEHzq6zz9GIwqIJNxzrnsq9biYfKwTp0npNgW3lh5rku43X6hzQVJwpiILMHHmQJa2X/YAihL+YtGCWCf3/iQfyQaEMlQ0ZpPT2CTYFwrouTIq/8jxHSS9hB6ZMF8btKK0fSaSWM52jaWiVseCtM8b7zdF0oNwUZrOYQNZYychqck1R5nCOXZ8N8ZRoOQqRUwlJCYw+zsJTg93GrynFP8t6DsIYEUDv28m8R/EvAk80EMULKAyT3J9p+UsS71h7e9DT6lh+LxdEbGRJSsnJS7UXS/A62SZVryiViOpKQ6e6vA16PM7XZbSRKa+4BpT995Ni2WgT65xS0/rQzxMVyGGC2j9uxaifPNA1Rr4nIlH8zeVCbA= X-Microsoft-Exchange-Diagnostics: 1; DM5PR12MB1145; 20:yw7lxs27lItC0M/4SWQLMP3W8JHNaGo5EY3eix5LmpAsgeh/ODWguNaLkEy/qlDs8IuZLhh4I0uscuTFR5JvSO2FNTFbMINL2aEJpElucd+J9QsCJeuUNvs8UsOnrFlc0PmcYwZmTwpeh55TaQtu+LSt3ehpC5PCQForGRRcvGXckl7b70YYiOrf93yfhJgoS8PJkY8p57RIeIJ06q7f4JVqd07NS6BpN+eORdZfIbLCduoqDAlDx7YKlvFY41+zVSFzIWqpdMVsOBNVWKCmQqsX/DfBx9/xfjRT30GXvOPbIHEGDtdehzm/8VxB6X6uxWsiBtJzI8RG8SOHkRjj2wB8M4XeaPuliqnBeHuD0G30cDxLoUGGFhPzDchTKSGsPEvczBu7D0D/SXq+BRMWy4hqUnXK4Hpnoe3hCh34CeQ3KM/BvfweIOykK30mruAv0VU8KAzW4kVo4czwSXPWzTTHdvroFgAAvv1bM3HgNP9ZWONE5H4nEz7oYD+Lchma X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(133145235818549)(236129657087228)(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(3002001)(93006095)(93001095)(10201501046)(100000703101)(100105400095)(6055026)(6041248)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123555025)(20161123560025)(20161123558100)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DM5PR12MB1145; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DM5PR12MB1145; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtETTVQUjEyTUIxMTQ1OzQ6ZGl5TlM2aTFRaEdUMHVQVmZyUVJTSWVUVjZv?= =?utf-8?B?WGdyVTd3ai9zeFdLWmQvSFBENjFiaGU2UEI5c3p6OVRyejQvL3dSeDhYSmlr?= =?utf-8?B?ZldLVUNYc0xnU2NJczQyZUJJZ2RjOWh1RWpZN09LZm9ydHFUMmpsaFlOUHBF?= =?utf-8?B?K0NPWldSSng0WFRrSGM2N1BiK0Z3NEh5eE8vYzQybXdpK01oa2lZdktXTUVy?= =?utf-8?B?aVdQOHlTTkdWK0N0bkNnNS9uV3dsVnlreENQUnRVaUVOTFdNbGt2UUlYbzJn?= =?utf-8?B?dGR4UGg1YXNHRUkzT2hUeTVUUHR2R3lpdlFWdUhSNC9sME1xMmVFbWdVYktj?= =?utf-8?B?ZStncWI2bGpTS05NMHFrSjZXSjdzcFJ4NGdlY0RqcWNTZWtSalptOUtZWTBU?= =?utf-8?B?cHFTVEd4dmo2S3gyKzNFeW9YdGNDZE0vbDE2QmtLbm5zYUJkWCtPUUNvUDI2?= =?utf-8?B?UExJaTJlZ0lYTzVEV1QwQkpBL0xKaVpqT2UySFl2d2NoMzQxUHBDajV1NU9Y?= =?utf-8?B?L2s3b0NJb1hrY2N3bE5VS2RlbjlqSDNFS0c2b0QrWkxJdXhycGFrcDNNaVUr?= =?utf-8?B?bzJ4eVdLQ0dkSlhwNGdibDRPT2lQTmljUkF6MVF4UnBiL25GZWZuZW9sNkRj?= =?utf-8?B?Q0N2T1o1RkhjN0VjS2pZKzV3NkJaWDREV2J0eEdsRU13TU5nMXdwKzQwU1d3?= =?utf-8?B?djhKTmtHcU5wL2JDQkQyTGxHaFU3dkI1eEQvYjJ2NVdFcUUzSFdUZ1QrZm82?= =?utf-8?B?YkhmS2dSU1NaSlppNk1aM05vUjRBSkVPZkUyTVZpWnFnVVhDeXc3ZEl6STZt?= =?utf-8?B?djZVa2RaK1JCQXVjMjcrb0hiMWhNWk10SXNFNW1PaWxFeGVySXNMSHZ4UzI0?= =?utf-8?B?ZDRDOVJ6MmI4WEVQVFhVMmJUVksyMXJqMHFrSWxtOFg2MnJrbUt1cDdlNnZM?= =?utf-8?B?Z3NJL3I4cHNNejVRM1pDR0QxVUhiU3gwdml6YTlNc1VIVkE5VFBPTXlSMzl2?= =?utf-8?B?Y3ZDbFBDTEdFYVUweTk1NlZjTm1aU3JQb04waGN3cHh2cmxXbXRFZ1k3djR4?= =?utf-8?B?WlR6WVJnbTRwVjdnQy9iL0h4VUdVTUNVT2pHWTFRUFN0MXk3cE9jR2pDODkv?= =?utf-8?B?VGtROUM2dkVBc2h4QXNucGhxa292anJoUHBxcXdsamp0UzZ6WjJ6TU9YK0RQ?= =?utf-8?B?V2pBUDVPb2RJMEc5Y0pEWGkydmtES1g2UjRXVDhuYVZWRXgwUjFxK0NVZVBi?= =?utf-8?B?TGU0M3hPLzdRWktKbEEzcEdEc2d5Y0ZRWjd2ZXNibmZqbkM5OVJiS0QvdmRF?= =?utf-8?B?U1djVTNDNGJPOFNTMlZxQzFYNHcybFZvcjM3N1F5bHMydVpMM0RVbnBOcE9U?= =?utf-8?B?SU9EeUY1RTZEZ2tUYTlHYkV5VzVVYzRTUGs4NkVpejhRSUdlRUV3TW9DT0Zt?= =?utf-8?B?MGpkOGVQQXNTKzJWcngvNHE1TFQ1NmN1OXQwR3FsTkphUjcvYVl2U24zNnZz?= =?utf-8?B?MVk1ZGx0STJRTnB0ZDB3OEU4MWdBN25nTzRIb3RjeWgzWHNLUVFYVUpsZzhG?= =?utf-8?B?NVdHZTBlS05vTW1LZTdmKzE2ajlTd24wa3FtVmVzdVM1YjY3MVNycHJxb21v?= =?utf-8?B?UjhpalVGTzZadWdsbWoycDhtRzFPaTYraEgrZmR6bVNsN0JrY2E5ZXJEZ3lS?= =?utf-8?Q?yTL5UydZrg9vfXwsl/WQCI8KLRREw6NrSLCXr1?= X-Forefront-PRVS: 03524FBD26 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(39410400002)(39850400002)(39450400003)(39400400002)(39860400002)(1076002)(3846002)(6506006)(103116003)(53416004)(478600001)(86362001)(5660300001)(50986999)(2906002)(47776003)(8676002)(81166006)(97746001)(230700001)(42186005)(6116002)(76176999)(54356999)(25786009)(33646002)(2361001)(55016002)(72206003)(7736002)(2351001)(6916009)(83506001)(6666003)(4001350100001)(305945005)(53936002)(2950100002)(9686003)(50466002)(23676002)(38730400002)(189998001)(66066001)(110136004)(4326008); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR12MB1145; H:tlendack-t1.amdoffice.net; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtETTVQUjEyTUIxMTQ1OzIzOlJBTEljaXgxTnVmMi9SZ2dHVWgxOEdmb05S?= =?utf-8?B?c0JIQ3NsNWFZNFUwWTcyZWxLM0pGVzVoQnZRZEQrcUlhREljWW52NHk2TnhR?= =?utf-8?B?cDhPaVVkb2ROd3RxZGpHNll4SEY3c1dVbTFiYW1lY0UyVG93c2lBcEZoeEF3?= =?utf-8?B?dDZZN3E2SUJ1NFJ1YjZpWENINTlXYVYyVmw0VUMwaTNvMU5mSzNLQkEya2di?= =?utf-8?B?akNXOXllSzJQMU84bC9SZzZ0cXZsR0xLNXNsSHpZQlpmZlZObXN3bzVDRDdj?= =?utf-8?B?ZTMyeGRjVCtzeEUzMEZ2YS81YTVTSW5OV2ZGc0w3M3ozWHJ4SW9FaW5nNVY5?= =?utf-8?B?c0Nvd2l0clZSb25CL1NSQllzTCtydnJWc3ZOUjE1TW8vbUNFMGdpeUQ0Nmpk?= =?utf-8?B?WmloU1JIMEpmeEQ1bDFJOXV5bm1GMXp5R251bG1ybkdjeXdTd21yWTZNTW9C?= =?utf-8?B?TElrMnNVY3h6ZEczdi9JQklYUU9TQlNLdXpaeS8yNitDRmo5UDJCYlB1QWwz?= =?utf-8?B?QUFEYXFzb25wbUgwMWcwdXYyeTRSTHBNakYxM1FsV1pYUVBWdGd3Tk5FLyt2?= =?utf-8?B?VGlodk1YMldwaVVNR2wyZWgvb0VGZjBGdTFUMUY2YUZBcW5VRDRKZUx2TXNm?= =?utf-8?B?T0NQTTByRUpaZUFGWGNpV2dJVzJiaXhjOFpKM1QvNXV4aFVqRnpLdzdnK05Z?= =?utf-8?B?dFA2TnA3R05TcEg0cklmVXYyR0tLWVhqV2NmTDN1ZXJMSzVHeUJlSmNsdTJS?= =?utf-8?B?NitiK21qYVg4K29MQk5CNmRtRnhjdnNDc3hKM203WFovNVhmd0l0Zm45c1dY?= =?utf-8?B?Y3lyR1NrRGVSWHlJSkJtTjRaVlR4NkdnWDh6cU1qdzJGUGRMYVRBMGZNNHpU?= =?utf-8?B?KyswSGtrUHhiN0pJQWVTMi9GU2hYZXh6dVpsaHkxZlU1aXBYSVhEdGl2K1ND?= =?utf-8?B?UEI4VjgyakdnSDgxWHdYbjBLNExQYWVEU01uQkJ1bU9QZmVXZXBVaWdjY1JH?= =?utf-8?B?NjF2L1h6WEcxRy95dU5GRGVuS3g5Tjg2QkQ3cTJLWTcvbEJYbzB6UHdKanVo?= =?utf-8?B?cGsyYjc2bVFsaWRucS95UktjeUtGK1ZZUjRPWUpCV0kwNldIUHZzUGRWUXVV?= =?utf-8?B?VTNrUjJXZ3o2c3F0SUNVWjFpZTN2QTloNUxlTGRmcmhGcUJxdmtZbHFIYVc5?= =?utf-8?B?SmQ0QWFDVnYzQU8rL2Zjc2NRTDFOeFA5ejZOYVd3a1gzTjNSWVJuRXdwM1RJ?= =?utf-8?B?U0NmOUx2blpYZWdyNmZsQ2x5cWN4UVNtVzZuQjhtV0hJbjhuRWJ5dTErcEQv?= =?utf-8?B?UnNpc080MWdFTFB5cThKMlJ6YjJQU2dtVzE1S3pjNk85bzlLTzJQU1ZJZ0Ru?= =?utf-8?B?RUVYTEtyaUdzWFdGdGxKeisybE4rNjNocHMxS0lZeUd5THVwaEwwSmYyYVdI?= =?utf-8?B?ZXpjeEs5OGVkckU0cFdhNVFEUkZwOTVmVURjN244NmRsZWNrSDgvSjRmUGQ4?= =?utf-8?B?TitDZEtqMndVWjVlL2ZUZWFpVnJtd05DQmVlZWtmNDd2YmIvdmY4TSt5Tk94?= =?utf-8?Q?HsLwjevDMW7adFFyUao1UCnb0j9J97gyfbSSLnv05mCM=3D?= X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtETTVQUjEyTUIxMTQ1OzY6cnUzb2ZHeU9SZ2poTkNyZnBYQWNaUktNeFRt?= =?utf-8?B?TTdQU0huMXRxZ1FTNkJNYmJJby9IWTQzUnVlaitqNys3eHo3dEw1Vm4vczZ4?= =?utf-8?B?MjV2VHJxV0xLTFloMy90L0o4L1NLWDNDenVYenZ0STh2dFV2QXZKQVpMVkVp?= =?utf-8?B?KzlRakQ2eEJvdmJqSEduY2YzWkoyYVNjU0F1ZE5SQXFXZVlaMW90VHh2azdi?= =?utf-8?B?RzNaMmEySU1jYWxLTk9VaHJPSWdFTlFUdTRheWF2NHhzSFJ2YkdpK3B2ck9Q?= =?utf-8?B?SlY5WUtRUWllRTdtTHhSaEZPMHBqa1o3L0Qzc0ZJci80eGlVaHJUL2hLK2FX?= =?utf-8?B?d0Exd3F0RzIwMHA1U2ozaC9CdkxZODl6eDFMdTl2WittN0NsUEltS3phalZv?= =?utf-8?B?dXJFcit2dU1OclUxWWsyTzlLamttNXJDVWYxZlVTVlNnZENqZEFxdVRjTzV6?= =?utf-8?B?ZjVkTXdycUtzZWhIVzVGM2FYZHFhWkREZjhPSVNiSjVmekFSTXlTdnRYZTNv?= =?utf-8?B?aDRLWWJlNm1DcElQNG1lVWFUYXMrTlNKbzRrSm5ZWkxvN1lqK3lONTBhMTM3?= =?utf-8?B?M3FMUWhVTS9GZ3JyVUFpR2xaM1pNb2FhVGNaVUZNcmx5QkUzaFFRalBCRTE2?= =?utf-8?B?T0xjaVhHZ0lpcUhaOFNTTWtEY2NtUHo2VVZIeGlGRTJoVWVDZ0YrVEEzUHVr?= =?utf-8?B?UXllUWtNbW5RZHUzbTdHcUs1WU9RRXpYR1puajE0amdLK2R4RTJuN2NGRWRG?= =?utf-8?B?OVk4cTBIVEx4SE1uaTVrM0FXM0wrbVBQVTBPQW8xcHR6V0MrTks1NVUzWExz?= =?utf-8?B?K2RyQ1Yxa0hhOHdreFVseUZCUGZ3SXIveHVadzhhakVpTWVTWnBLVm5WVjBN?= =?utf-8?B?ZzFkanhGWGVWYjZFOWlTaExzb3lZY1ZDeHFsWWM1UlJaYXBaTnlOQjFlU3dr?= =?utf-8?B?ejVKdVNqRUkxa3lFcHZpYW1xaTBSQWtyNkU2cEhadm44M2VGVEF2RTBtZjkz?= =?utf-8?B?cXIwMGtnV2IxT2NKaVdlMjk1ZlczcnRuK29ZZ0FSL3NLNHAvM2k2RnIrdFpn?= =?utf-8?B?bmxhZy9uVDN5M0k3K3gwV2NOb2JXR0c0S3c5eUpkVXdBeHBNQ1ppM0k3VUxR?= =?utf-8?B?SldDNlIrWno2aWREVzlWWkx4eWJnU1FnKzVNbnBVUVJyODFNeHdnUzd0TVoy?= =?utf-8?B?MXp4aGcyZDlQb0p1VFJlY3JjU3RBYllXdXdsZVoyZmJ6b1o1V3JSMEJyVFhS?= =?utf-8?B?c3BKZEs5VE5MaUZZcmgyanRmU3o5VlZubXBmZnRKWjkxYVAxTG10dVVxSVRY?= =?utf-8?B?dWNLbjVFcjRqbmJPV09QalVaL0ZLemlPZVRQNUZ3bWRNcCtMWGJqVFBGVnJG?= =?utf-8?Q?doFIwHE?= X-Microsoft-Exchange-Diagnostics: 1; DM5PR12MB1145; 5:B1YWvuJ3tXchiRH5NkDN64zlbMW7/QWUbZVxXv0W0GQHjtqFY0medRDAZHyrOLpF9mnladx7fMTHlHAeWtaYXnAOdHlJUx+JEWDqYh4vcyRs1GX3KmPJVphrBap52mUYCRZSn4woswht28ZN+3nRG+TEfj+oIY3ITP/uj5d/o08DRpKFJCQwpfZuFVCP7CAzLBmND+X54pT9wIfsuBm7mvdldU/+zv213hMQO4chRRvMz3YvCDQz0tD/FNLoVkPHxDL4ZCHdH22bKQPgyeWZRsKQzp7Aea16YHiTos5kf1cHogvpq8nmsLH2Hg7YF08dd7MCb8FcU5ZAfYr6sawHct7xIPKxgDkPkVZZP80D4O+iBftVSQbF61nz8jqr1xKgID8rcOOL9VcvG2qCf3A4lfyqJ9RGQYD03PDrveIShhliSMNxSlDa71W+hMv9R4Ki2X/wsB5w0KFL28d228iW9hXiz+v886qX0/04rSrGCRJi+GfhRulZ3gr79AfHewKm; 24:z2OuwHlJkwaSqfkYM8lkPW1MaPb5Rt5A7flkrOg36i9KePODwZtgPfXeIChgE4fWT/dXtboV4J01JqhFBmF4LX3ZRrV+025K0pPkHygd6d0= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM5PR12MB1145; 7:IlqmxGwsnDAM0BFdEh4jnV76r35lLeZsjO6VERAG9z7Pewvn+964SmaonDJmAfmsXkO0ajHW1saHhbvbM3VD7dxp/b2DIequyEMbpAiQiMnld7f7IeopPh8ChQSFJQ6nLuCElfFyzgDcoC7my6VkgOCgRYj9By08RFLJpZxhk0YY1vj711sI5phzT0h0c1ZPeDlan9a1GIIcm76R+wVE2aN4v9MUBhxLVW+8KrMAHH7pEH7QZpfjGVwOnmEKSZgbuAHT7/Hgo82ajIMTJyZUHLw5goBwn+yzLe3yUFWMdW1du8A1IaR0JVazU9hawnYPNOradHLIiSa+RUFRoi7MjeLLFxsknUWq6b/2JuC8duzr9cPyFPLwiK/y6NjQ1RGQx4rqQnlBY2EARCQpS/WCZByTNQFdyLwzstN++eyer8okLMeW/jN9YJ0tM/LMGWLmZEx7SAw0BfsMqfbI6zYumElwLdHtriTIGrntcJkAaIAduMc32/8DvSgcTfdsVpq8KftCINFcsbVP/MeJXWynDEFIqnvzPTRhYXxPKqGe086rCafWAs4ysz0vFnq+ywVtnaX1Wnp00ZDDe079gn/WxxNSm8iQO5EuSTCXhI7uZGKsbRvG9ghIEI/VFplPTnelpGBYG00mLHHLyt0CrHGrN1FRJpZH0qympzKm6PORPlCWO7hFkQDH1gulwLkV86F4onuHOUxk/SoHPl8xDelgOlw+9S4uX3zX9WCbacqkWf4bLyyPP53UjpJJdNQg8wKwHln0llF/EbS7lXWdKdy2eMy8BBDeUQ0eJZpKnpvQ8m4= X-Microsoft-Exchange-Diagnostics: 1; DM5PR12MB1145; 20:IHfy5YpMo7Nber0KUoWBYhSM6EjwLkubL1ZcO8U7bveiXw77KqBlwi2IdWkoTLu4khxx7XRttSeSJtbzpkvIP9nklGBza5KQE3AOj7eN0Dav9MUUQBqsuFFhf05BpPu3UktXUp0sy8QRY1ddWWYr25T3hMeGrzpPBet5/4tbf8qD4lTCAZUfpbev40FAMWz1ulScZudLA6FYYOQbuQ8Rh/rQ9U6Hx7sg6TCviXhsGXs8LAxx1RoC5V4MD93UBWhK X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Jun 2017 18:43:30.1320 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1145 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Add support to change some general performance settings and to provide some performance settings based on the device that is probed. This includes: - Setting the maximum read/write outstanding request limit - Reducing the AXI interface burst length size - Selectively setting the Tx and Rx descriptor pre-fetch threshold - Selectively setting additional cache coherency controls Tested and verified on all versions of the hardware. Signed-off-by: Tom Lendacky --- drivers/net/ethernet/amd/xgbe/xgbe-common.h | 13 +++++++++++++ drivers/net/ethernet/amd/xgbe/xgbe-dev.c | 26 +++++++++++++++++++++++--- drivers/net/ethernet/amd/xgbe/xgbe-main.c | 5 ++++- drivers/net/ethernet/amd/xgbe/xgbe-pci.c | 9 +++++++-- drivers/net/ethernet/amd/xgbe/xgbe.h | 11 +++++++++++ 5 files changed, 58 insertions(+), 6 deletions(-) diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-common.h b/drivers/net/ethernet/amd/xgbe/xgbe-common.h index 6b5c72d..9795419 100644 --- a/drivers/net/ethernet/amd/xgbe/xgbe-common.h +++ b/drivers/net/ethernet/amd/xgbe/xgbe-common.h @@ -123,8 +123,11 @@ #define DMA_ISR 0x3008 #define DMA_AXIARCR 0x3010 #define DMA_AXIAWCR 0x3018 +#define DMA_AXIAWARCR 0x301c #define DMA_DSR0 0x3020 #define DMA_DSR1 0x3024 +#define DMA_TXEDMACR 0x3040 +#define DMA_RXEDMACR 0x3044 /* DMA register entry bit positions and sizes */ #define DMA_ISR_MACIS_INDEX 17 @@ -135,12 +138,22 @@ #define DMA_MR_INTM_WIDTH 2 #define DMA_MR_SWR_INDEX 0 #define DMA_MR_SWR_WIDTH 1 +#define DMA_RXEDMACR_RDPS_INDEX 0 +#define DMA_RXEDMACR_RDPS_WIDTH 3 +#define DMA_SBMR_AAL_INDEX 12 +#define DMA_SBMR_AAL_WIDTH 1 #define DMA_SBMR_EAME_INDEX 11 #define DMA_SBMR_EAME_WIDTH 1 #define DMA_SBMR_BLEN_INDEX 1 #define DMA_SBMR_BLEN_WIDTH 7 +#define DMA_SBMR_RD_OSR_LMT_INDEX 16 +#define DMA_SBMR_RD_OSR_LMT_WIDTH 6 #define DMA_SBMR_UNDEF_INDEX 0 #define DMA_SBMR_UNDEF_WIDTH 1 +#define DMA_SBMR_WR_OSR_LMT_INDEX 24 +#define DMA_SBMR_WR_OSR_LMT_WIDTH 6 +#define DMA_TXEDMACR_TDPS_INDEX 0 +#define DMA_TXEDMACR_TDPS_WIDTH 3 /* DMA register values */ #define DMA_SBMR_BLEN_256 256 diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-dev.c b/drivers/net/ethernet/amd/xgbe/xgbe-dev.c index a51ece5..06f953e 100644 --- a/drivers/net/ethernet/amd/xgbe/xgbe-dev.c +++ b/drivers/net/ethernet/amd/xgbe/xgbe-dev.c @@ -2114,18 +2114,38 @@ static int xgbe_flush_tx_queues(struct xgbe_prv_data *pdata) static void xgbe_config_dma_bus(struct xgbe_prv_data *pdata) { + unsigned int sbmr; + + sbmr = XGMAC_IOREAD(pdata, DMA_SBMR); + /* Set enhanced addressing mode */ - XGMAC_IOWRITE_BITS(pdata, DMA_SBMR, EAME, 1); + XGMAC_SET_BITS(sbmr, DMA_SBMR, EAME, 1); /* Set the System Bus mode */ - XGMAC_IOWRITE_BITS(pdata, DMA_SBMR, UNDEF, 1); - XGMAC_IOWRITE_BITS(pdata, DMA_SBMR, BLEN, pdata->blen >> 2); + XGMAC_SET_BITS(sbmr, DMA_SBMR, UNDEF, 1); + XGMAC_SET_BITS(sbmr, DMA_SBMR, BLEN, pdata->blen >> 2); + XGMAC_SET_BITS(sbmr, DMA_SBMR, AAL, pdata->aal); + XGMAC_SET_BITS(sbmr, DMA_SBMR, RD_OSR_LMT, pdata->rd_osr_limit - 1); + XGMAC_SET_BITS(sbmr, DMA_SBMR, WR_OSR_LMT, pdata->wr_osr_limit - 1); + + XGMAC_IOWRITE(pdata, DMA_SBMR, sbmr); + + /* Set descriptor fetching threshold */ + if (pdata->vdata->tx_desc_prefetch) + XGMAC_IOWRITE_BITS(pdata, DMA_TXEDMACR, TDPS, + pdata->vdata->tx_desc_prefetch); + + if (pdata->vdata->rx_desc_prefetch) + XGMAC_IOWRITE_BITS(pdata, DMA_RXEDMACR, RDPS, + pdata->vdata->rx_desc_prefetch); } static void xgbe_config_dma_cache(struct xgbe_prv_data *pdata) { XGMAC_IOWRITE(pdata, DMA_AXIARCR, pdata->arcr); XGMAC_IOWRITE(pdata, DMA_AXIAWCR, pdata->awcr); + if (pdata->awarcr) + XGMAC_IOWRITE(pdata, DMA_AXIAWARCR, pdata->awarcr); } static void xgbe_config_mtl_mode(struct xgbe_prv_data *pdata) diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-main.c b/drivers/net/ethernet/amd/xgbe/xgbe-main.c index 8eec9f5..500147d 100644 --- a/drivers/net/ethernet/amd/xgbe/xgbe-main.c +++ b/drivers/net/ethernet/amd/xgbe/xgbe-main.c @@ -140,8 +140,11 @@ static void xgbe_default_config(struct xgbe_prv_data *pdata) { DBGPR("-->xgbe_default_config\n"); - pdata->blen = DMA_SBMR_BLEN_256; + pdata->blen = DMA_SBMR_BLEN_64; pdata->pbl = DMA_PBL_128; + pdata->aal = 1; + pdata->rd_osr_limit = 8; + pdata->wr_osr_limit = 8; pdata->tx_sf_mode = MTL_TSF_ENABLE; pdata->tx_threshold = MTL_TX_THRESHOLD_64; pdata->tx_osp_mode = DMA_OSP_ENABLE; diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-pci.c b/drivers/net/ethernet/amd/xgbe/xgbe-pci.c index 1e73768..1e56ad7 100644 --- a/drivers/net/ethernet/amd/xgbe/xgbe-pci.c +++ b/drivers/net/ethernet/amd/xgbe/xgbe-pci.c @@ -327,8 +327,9 @@ static int xgbe_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) /* Set the DMA coherency values */ pdata->coherent = 1; - pdata->arcr = XGBE_DMA_OS_ARCR; - pdata->awcr = XGBE_DMA_OS_AWCR; + pdata->arcr = XGBE_DMA_PCI_ARCR; + pdata->awcr = XGBE_DMA_PCI_AWCR; + pdata->awarcr = XGBE_DMA_PCI_AWARCR; /* Set the maximum channels and queues */ reg = XP_IOREAD(pdata, XP_PROP_1); @@ -447,6 +448,8 @@ static int xgbe_pci_resume(struct pci_dev *pdev) .ecc_support = 1, .i2c_support = 1, .irq_reissue_support = 1, + .tx_desc_prefetch = 5, + .rx_desc_prefetch = 5, }; static const struct xgbe_version_data xgbe_v2b = { @@ -459,6 +462,8 @@ static int xgbe_pci_resume(struct pci_dev *pdev) .ecc_support = 1, .i2c_support = 1, .irq_reissue_support = 1, + .tx_desc_prefetch = 5, + .rx_desc_prefetch = 5, }; static const struct pci_device_id xgbe_pci_table[] = { diff --git a/drivers/net/ethernet/amd/xgbe/xgbe.h b/drivers/net/ethernet/amd/xgbe/xgbe.h index 4bf82eb..0938294 100644 --- a/drivers/net/ethernet/amd/xgbe/xgbe.h +++ b/drivers/net/ethernet/amd/xgbe/xgbe.h @@ -171,6 +171,11 @@ #define XGBE_DMA_SYS_ARCR 0x00303030 #define XGBE_DMA_SYS_AWCR 0x30303030 +/* DMA cache settings - PCI device */ +#define XGBE_DMA_PCI_ARCR 0x00000003 +#define XGBE_DMA_PCI_AWCR 0x13131313 +#define XGBE_DMA_PCI_AWARCR 0x00000313 + /* DMA channel interrupt modes */ #define XGBE_IRQ_MODE_EDGE 0 #define XGBE_IRQ_MODE_LEVEL 1 @@ -921,6 +926,8 @@ struct xgbe_version_data { unsigned int ecc_support; unsigned int i2c_support; unsigned int irq_reissue_support; + unsigned int tx_desc_prefetch; + unsigned int rx_desc_prefetch; }; struct xgbe_prv_data { @@ -1000,6 +1007,7 @@ struct xgbe_prv_data { unsigned int coherent; unsigned int arcr; unsigned int awcr; + unsigned int awarcr; /* Service routine support */ struct workqueue_struct *dev_workqueue; @@ -1024,6 +1032,9 @@ struct xgbe_prv_data { /* Tx/Rx common settings */ unsigned int blen; unsigned int pbl; + unsigned int aal; + unsigned int rd_osr_limit; + unsigned int wr_osr_limit; /* Tx settings */ unsigned int tx_sf_mode;