From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756255AbcBPVcq (ORCPT ); Tue, 16 Feb 2016 16:32:46 -0500 Received: from mail-by2on0069.outbound.protection.outlook.com ([207.46.100.69]:4419 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1756106AbcBPVbz (ORCPT ); Tue, 16 Feb 2016 16:31:55 -0500 Authentication-Results: alien8.de; dkim=none (message not signed) header.d=none;alien8.de; dmarc=none action=none header.from=amd.com; From: Aravind Gopalakrishnan To: , , , , , , CC: , , , , , , , , Subject: [PATCH 4/4] x86/mce/AMD: Add comments for easier understanding Date: Tue, 16 Feb 2016 15:45:11 -0600 Message-ID: <1455659111-32074-5-git-send-email-Aravind.Gopalakrishnan@amd.com> X-Mailer: git-send-email 2.7.0 In-Reply-To: <1455659111-32074-1-git-send-email-Aravind.Gopalakrishnan@amd.com> References: <1455659111-32074-1-git-send-email-Aravind.Gopalakrishnan@amd.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: BY2PR04CA0013.namprd04.prod.outlook.com (10.255.247.23) To SN1PR12MB0431.namprd12.prod.outlook.com (25.162.105.12) X-MS-Office365-Filtering-Correlation-Id: ff14b662-7df1-467d-8dd5-08d33718951b X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0431;2:vCYHyJLRYR0st9/Z4D2sXbjwCdiDneZjMr2vyZhFPttv1lTBxqqndODKsnNZfdHG45boAVIrw0naBz9OG4Ou0HMIk+x8i0AGOZc8kpO4rm2sjAV/p5sUF0v9nZ13ob0ipuch7A5Dm/Ck8qcDQHZita3EmzkGwKItkaMGLaafJcoL5zJO/rN2NT8WrnHHLn8g;3:Iqz7xh5W8QH++IbLqzb0wHulUxQTMoz/Urg2QB982r4xd2td+r21UpKja4kU8JOS8Uz9PrqZsZBMu5eUoT3CCCu5lVOS1POtXQ/aIxBdi6JKDsup66ZGPUwr0kP1/glN;25:6hNsek2glhc7+YNe1EeNFyaZMaOCQ9ILCPb/eYdMAxDo3AJZrVksgKtpHfctiKQAXFo6NV8ydReOm9HzmQoCAujtDEjwUKjX03kvwHM5SfjAVR6DqaWdBOQO8ZIf99tAbiUIP2FDsmrpuZO8T4R04ImSFxWtveKHNH9n08vp+2qjBz0fi1dP91Sb87iR4XJOJPIsd/H47s4yLZxZG+2WBWLTUB+BNpJwGS8QrNsWOxLZyQeNGHx+eX/zh9el9LOhhA7ttbmaQgiGRQvYcnn7qEXXhaMgeRwqmh7sHLrN76LJHiWuTJ1RQZsb64Gd9u4Y X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:SN1PR12MB0431; X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0431;20:FqzcDEVrhN+p/15w+7vhsmWyvgXR4E4sGGTXxwqve2ysfHRlmhAo5qcvjDtc2LSrk0FJTIofeni/ELgF6+enULnn37WDfi/tKAk++HX/9sFQ/o4kYg4B+LbkOj+Ldisj6fCoJyePa0Gy6M4dQHUqXdiPmaTFuEsnDCUnDP/IRmGO5ylP1tBCqxmSiLk8yYg2bC3+GCSO5ZpnB7d0imDDKADnpVjgPzUpwkt9qm5fmxFM6b1be8fX3PvHJG52Is9NjLl5kHlqPTo8wPQUAC+mZygYc9nQEDKr5fyFdT4iq0/uhrHsRakXUHfYv5jNthXCvpEK1Nr0d9mPitRo2+Vbz0ypGCiFeLQK+90W+H6r/Zmv113TUZvpSZs8siyFHkkhyEqshz0r5+7ZFSXKWbBLM9UMmMn+3V3T+uCXJbpNjv9I2XaYGs+fg7c1M4BLtf8saeXLmPseIRwLzj2lXHL6STMQyjmCWqWM3JrZ22uus2IXb/fwR8FXIgB5yoiSGBTe;4:I+D/hTI7VXEX8BTyF5hUPSQdibDmhIRPlkyr2vmXwkBlyFo30YB1UaCE1MZWquE1TEdJGClnmSr89xY8Vz8fTXQUTGGpTLbJFW54JZwozlUALDUe9bg02nULni5cPKA4o/MOQs4iq6a5k3fkOdJE7OXra+19l3achw2YS8Vxiea22q50Lqd/fU06gvwvXkHyJ5ZFEt8bfqU005AMnAmVWoxQV9vyCHjaSiV8l204d+S73PBHi3jxHMLPZN3MWZUtqTWtk4xxLnyt2Ieza9CtFUgNHf1GKhgp7Zje3YnRG+hFcL9kybng0KuQEeQTm0Pi+cSYvwVWw/++SQNyhe8ZSsYst5hiISToVNO+Bjhq1+9jxLo86gshONbnCto5stlGUtMFmmOvs7l3zulaWHnW1Q== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001);SRVR:SN1PR12MB0431;BCL:0;PCL:0;RULEID:;SRVR:SN1PR12MB0431; X-Forefront-PRVS: 0854128AF0 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(5008740100001)(5001770100001)(42186005)(19580395003)(53416004)(2201001)(19580405001)(189998001)(86362001)(77096005)(92566002)(87976001)(229853001)(50226001)(2950100001)(48376002)(1096002)(5003940100001)(4326007)(3846002)(36756003)(66066001)(2906002)(50986999)(40100003)(122386002)(5004730100002)(6116002)(76176999)(50466002)(586003)(47776003);DIR:OUT;SFP:1101;SCL:1;SRVR:SN1PR12MB0431;H:arav-dinar.amd.com;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0431;23:fd7z91FadCA3iTzq1jL3pHlShqh4my2Viq/XdRnsmBw00Mz/H3D3y/qf7EVY1a+OcNB/Pc5lIbdf25MF6QQFd1kmOmDDrGN0D1F1QVM2pNd4m24N3ycbnLPgJSKXVPdPv4ueYd0Jbh6lOVPR1UJJI09pfhvG7RXan5KwCOzkFsPFopVz4VHkY2ZnK6l0pzusZn7hXHRzJtDF+bW8L/FCyfpwB8mPnHyB7HLCdL494epNb6f9flLxDB7ggew3QYYsF+LsQp03Zp6gTkmJcxV9eIVa1m0Vvn7nBlTpxixLvGDOMQXu9cf67csDJSPRncoK2sTEtL7Vbw1SepfKDC988CwUv4QZ9kbmy7tTl7jqtnUPLiDofxZn0UX6e8WrA5q3WdJ/ZR9p5cxBIw2eIrHpFrvGQpXl9L9cDjsuS3tPCCqrhZMAIrot15o78J3/yPgyFGLdK3mciPT56ELe4Yi4TausU5sGhHdMzdgrOZ7OCtkK69UDu2DRniK5HJc1nBhV8VviCte56CiOWUDMCrtUAbA4SXi0RC635ax4HaTO02vsI+FnLTc59sUJpvEW4bSynielL6hbgqBjVjRDMuzS4I2DcWbiZen+11MBWUyYy400R5W1QTLLg4cOX0Wktq+8uniqLPc6wLY5gRbalvvTA3XUMXpo6MuvoFK+oEPSqLV3BJg/ijB00FEmq7wbwx4aF4NiEbDjPkby+PPiWxu5nOUqGkC5Yi+p+GdFbIywXobD7C7yL51W8r1h30rxucUm3jIHTFyn0xOSKKhVYC09hfa2GwMozXdSaTWUS3dwfkldsuClO1PwHR2DUM7X4NwYItb9lQB4Z4DGk88kuX9S3Nhhs2WTW19fK0t8kZHo45IEXo4D9PzKe5K++0UkT54BNRO+K4Sys2sIgHaHKEtwuOamA09imF8Do5OLrpF4+eoDefmHPnvh81aDpLTXAiIs X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0431;5:sLMyYEnwc2k2v4VRwesO2O+/t+we/TO/VMhlun5IMqiZNjCmmE7etJzOKv/FGFXKZ18NyRDt/xxGk7g0pAntPn0edVmIFxELWcvPhV+DdFSXAT5WckP0MEN2idNscqAxXOE0/XCPzh8jsO6He3MbTg==;24:wX1ual0rkSqhecPdta9wxuWFYOgt/YmtHtt8X2zGeWVeonuKsoulfkEC0gW67XQhptjLA4DfjbY4eIha6DcCtfgXfyiJGL14dxr7Bc6BHys=;20:KBgTiO0FuBGFLlKAZuClZH36eRPA8E3UzQWJ9waf1QwB8X576DT6rjUmQHdnAXiZ+R372unSn4tUC2BZ1J9LZ58V0J34707IoNIw/8IOU+Pz4zqHVY5b6ImTipCF3eAg2XWp85C3DKhwlNuAn1L/lPgfopZsccibvWUqsLGWRTyYx3aM4f1cuKr/6h7sOmqwnHDaNXejyczwjQniDwaYrGDb7XIXaTh+9a/hC8MfWxsMm29ZXzITeDDIVh0DSMyh X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Feb 2016 21:31:49.4256 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR12MB0431 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org In an attempt to help folks not very familiar with the code to understand what the code is doing, adding a bit of helper comments around some more important functions in the driver to describe them. No functional change is introduced. Signed-off-by: Aravind Gopalakrishnan --- arch/x86/kernel/cpu/mcheck/mce_amd.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/arch/x86/kernel/cpu/mcheck/mce_amd.c b/arch/x86/kernel/cpu/mcheck/mce_amd.c index 4bdc836..d2b6001 100644 --- a/arch/x86/kernel/cpu/mcheck/mce_amd.c +++ b/arch/x86/kernel/cpu/mcheck/mce_amd.c @@ -184,6 +184,11 @@ static int lvt_off_valid(struct threshold_block *b, int apic, u32 lo, u32 hi) }; /* + * Set the error_count and interrupt_enable sysfs attributes here. + * This function gets called during the init phase and when someone + * makes changes to either of the sysfs attributes. + * During init phase, we also program Interrupt type as 'APIC' and + * verify if LVT offset obtained from MCx_MISC is valid. * Called via smp_call_function_single(), must be called with correct * cpu affinity. */ @@ -262,6 +267,11 @@ static int setup_APIC_deferred_error(int reserved, int new) return reserved; } +/* + * Obtain LVT offset from MSR_CU_DEF_ERR and call + * setup_APIC_deferred_error() to program relevant APIC register. + * Also, register a deferred error interrupt handler + */ static void deferred_error_interrupt_enable(struct cpuinfo_x86 *c) { u32 low = 0, high = 0; @@ -338,6 +348,14 @@ nextaddr_out: return addr; } +/* + * struct threshold_block descriptor tracks useful info regarding the + * banks' MISC register. Among other things, it tracks whether interrupt + * is possible for the given bank, the threshold limit and the sysfs object + * that outputs these info. Initializing the struct here, programming + * LVT offset for threshold interrupts and registering a interrupt handler + * if we haven't already done so + */ static int prepare_threshold_block(unsigned int bank, unsigned int block, u32 addr, int offset, u32 misc_high) @@ -673,6 +691,9 @@ static struct kobj_type threshold_ktype = { .default_attrs = default_attrs, }; +/* + * Initializing sysfs entries for each block within the MCA bank + */ static int allocate_threshold_blocks(unsigned int cpu, unsigned int bank, unsigned int block, u32 address) { -- 2.7.0