linux/drivers/edac/sb_edac.c
<<
>>
*form ac"po > v2.6 "post" onsubmi">S".3 pux+s" hrefnux+v3+pux+s?return=c/sb_edac.c"> divla../ln>divla../l /li a ineptnam L1p>li 1/* Intel Sandy Bridge -EN/-EP/-EX Memory Controller kernel modulespan cla ineptnam L2p>li 2 *span cla ineptnam L3p>li 3 * This c/sb_e supports thetiomory controllers found 2.6thetIntelspan cla ineptnam L4p>li 4 * processor family Sandy Bridge.span cla ineptnam L5p>li 5 *span cla ineptnam L6p>li 6 * This file may be distributed und_e thetterms of thespan cla ineptnam L7p>li 7 * GNU General Public License b_edv2.62 2.ly.span cla ineptnam L8p>li 8 *span cla ineptnam L9p>li 9 * Copyalt=" (c) 2011 by:span cla ineptnam L10p>li ="lxr_search"commen""> * Mauro Car.11ho Chehab <mchehab@redhat.com ineptnam L11p>li11 */span cla ineptnam L12p>li12 ineptnam L13p>li13.2/dr/module.h ineptnam L14p>li14.2/dr/init.h ineptnam L15p>li15.2/dr/pci.h ineptnam L16p>li16.2/dr/pci_ids.h ineptnam L17p>li17.2/dr/slab.h ineptnam L18p>li18.2/dr/delay.h ineptnam L19p>li19.2/dr/ ineptnam L20p>li20.2/dr/mmzone.h ineptnam L21p>li21.2/dr/smp.h ineptnam L22p>li22.2/dr/bitmap.h ineptnam L23p>li23.2/dr/math64.h ineptnam L24p>li24asm/processor.h ineptnam L25p>li25asm/mce.h ineptnam L26p>li26 ineptnam L27p>li27c.c"_core.hptsearch"fux+">c.c"_core.h ineptnam L28p>li28 ineptnam L29p>li29/* Sight. vars */span cla ineptnam L30p>li30LIST_HEADsbridge <_list ineptnam L31p>li31DEFINE_MUTEXsbridge <_lock ineptnam L32p>li32probed ineptnam L33p>li33 ineptnam L34p>li34/*span cla ineptnam L35p>li35 * Altv3c/sb_edac.c"> * GNU General Pub3id L27p3search">ineptnam L27p3li27<3pan cla0c.c"_co3e.hSBRIDGE_REVISION quo4/c84aineptnam L29p3li29<38 quotdencle33ptid L33ptseaEDAC_MOD_STRneptnam L33p>EDAC_MOD_STR quo4/c8c84a+v3c/sba right.hrefnux+v3+code=LIST_HEAD"_searc/span cl3 3 <39 ="lxr_search"commen"">/*span cla4IST_HEAD * Altv3c/sb_ed4arch"0ux4">DEFINE_MUTEXineptnam L12p>li1 DebugL7pcros * Altv3c/sb_ed4ch"0ux+"4probedineptnam L3p>li 3ineptnam L34p4li34<43 quotdencle33ptid L33ptseatnam Lpsent32ptsearch">ineptnam Lpsent3+v3c/sb_edac.c"> level2ptsearch">ineplevel+v3c,33ptid L33ptseafm31ptsearch">inepfm3+v3c,33ptid L33ptseaarg1ptsearch">ineparg+v3c...) \ht.hrefnux+v3+code=LIST_HEAD"_sear4y Sandy BBridge.span clalpsent32ptsearch">inep32p>lpsent3+v3c/sb_edac.c"> level2ptsearch">ineplevel+v3c,33ainepfm3+v3c,3##arg)ht.hrefnux+v3+code=LIST_HEAD"_sear4c.c"> 4 /*span claineptnam L27p4li27<46 quotdencle33ptid L33ptseatnam Lm>lpsent32ptsearch">ineptnam Lm>lpsent3+v3c/sb_edac.c"> mci2ptsearch">inepmci+v3c,33ptid L33ptsealevel2ptsearch">ineplevel+v3c,33ptid L33ptseafm31ptsearch">inepfm3+v3c,33ptid L33ptseaarg1ptsearch">ineparg+v3c...) \ht.hrefnux+v3+code=LIST_HEAD"_sear4.c"_core4hptsearch"fux+">c.c"_co4e.hlm>lch.h|etlpsent32ptsearch">inep32p>lm>lch.h|etlpsent3+v3c/sb_edac.c"> mci2ptsearch">inepmci+v3c,33ptid L33ptsealevel2ptsearch">ineplevel+v3c,33ainepfm3+v3c,3##arg)ht.hrefnux+v3+code=LIST_HEAD"_sear4id L29p4search">ineptnam L29p4li29<4 ="lxr_search"commen"">/* Sight. vars 4/span cl4 4 <4m#L30ptid L30ptsearch">inept ="lxr_search"commen""> *span cla5IST_HEAD */span claDEFINE_MUTEXineptnam L12p>li12 ve <_listineplo+v3c,33ptid L33ptseahi2ptsearch">inephi+v3c) \ht.hrefnux+v3+code=LIST_HEAD"_sear5id L34p5search">ineptnam L34p5li34<53 quo4/c8c8 3((/sb_edac.c"> ve <_list hi2ptsearch">inephi+v3c) - /sb_edac.c"> lo2ptsearch">ineplo+v3c) + 1)) - 1) 2/mc2/mc (sb_edac.c"> lo2ptsearch">ineplo+v3c)) 2 "post (sb_edac.c"> lo2ptsearch">ineplo+v3c))ht.hrefnux+v3+code=LIST_HEAD"_sear5y Sandy 5Bridge.span cla/* Sight. vars 53c/sb_edaac.c"> *span claineptnam L27p5li27<5pan cla tnam ptsearch">ineptnam Reg31 * Altv3c/sb_ed5.c"_core5hptsearch"fux+">c.c"_co5e.h ineptnam L29p5li29<5 ="lxr_search"commen"">/* Sight. vars 5/span cl5 5 <5m#L30ptid L30ptsearch">inept ="lxr_search"commen""> *span cla6IST_HEAD * Altv3c/sb_ed6arch"0ux6">DEFINE_MUTEXineptnam L12p>li1 easiptn * GNU General Pub6ch"0ux+"6probedineptnam L3p>li 3.hfwhenn.11" ch">ipptseam ="lxr_search"commen""> * GNU General Pub6id L34p6search">ineptnam L34p6li34<66thetIntelspan cla inepPCI_DEVICE_ID_INTEL_SBRIDGE_SAD0 quo4/c8c8 30x3cf4c84aineptn.6.1c/2 inepPCI_DEVICE_ID_INTEL_SBRIDGE_SAD1 quo4/c8c8 30x3cf6c84aineptn.6.7c/2 PCI_DEVICE_ID_INTEL_SBRIDGE_BR quo4/c8c8 3 30x3cf5c84aineptn.3.1c/2 c.c"_co6e.hinepPCI_DEVICE_ID_INTEL_SBRIDGE_IMC_HA0 quo4/c8c0x3ca0c84aineptn.4.0c/2 ineptnam L29p6li29<68 quotdencle33ptid L33ptseaPCI_DEVICE_ID_INTEL_SBRIDGE_IMC_TA2ptsearch">inepPCI_DEVICE_ID_INTEL_SBRIDGE_IMC_TA quo4/c8c80x3ca8c84aineptn.5.0c/2 6 <69 quotdencle33ptid L33ptseaPCI_DEVICE_ID_INTEL_SBRIDGE_IMC_RAS2ptsearch">inepPCI_DEVICE_ID_INTEL_SBRIDGE_IMC_RAS quo4/c8c0x3c71c84aineptn.5.1c/2 7IST_HEADinepPCI_DEVICE_ID_INTEL_SBRIDGE_IMC_TAD0 quo4/c80x3caac84aineptn.5.2c/2 DEFINE_MUTEXinepPCI_DEVICE_ID_INTEL_SBRIDGE_IMC_TAD1 quo4/c80x3cabc84aineptn.5.3c/2 inepPCI_DEVICE_ID_INTEL_SBRIDGE_IMC_TAD2 quo4/c80x3cacc84aineptn.5.4c/2 ineptnam L34p7li34<73 quotdencle33ptid L33ptseaPCI_DEVICE_ID_INTEL_SBRIDGE_IMC_TAD32ptsearch">inepPCI_DEVICE_ID_INTEL_SBRIDGE_IMC_TAD3 quo4/c80x3cadc84aineptn.5.5c/2 inepPCI_DEVICE_ID_INTEL_SBRIDGE_IMC_DDRIO quo4/c0x3cb8c84aineptn.7.0c/2 /*span clainept ="lxr_search"commen""> *span cla iL4p>lifutur ="lxr_search"commen""> * GNU General Publid L29p7search">ineptnam L29p7li29<7earch">ineptnam L9p>li 9li aajaxs, as p>ly hold p>lierr * Altv3c/sb_ed7/span cl7 7 <7 8IST_HEADinepPCI_DEVICE_ID_INTEL_SBRIDGE_IMC_ERR0 quo4/c80x3c72c84aineptn.6.2c/2 DEFINE_MUTEXinepPCI_DEVICE_ID_INTEL_SBRIDGE_IMC_ERR1 quo4/c80x3c73c84aineptn.6.3c/2 inepPCI_DEVICE_ID_INTEL_SBRIDGE_IMC_ERR2 quo4/c80x3c76c84aineptn.6.1c/2 ineptnam L34p8li34<83 quotdencle33ptid L33ptseaPCI_DEVICE_ID_INTEL_SBRIDGE_IMC_ERR32ptsearch">inepPCI_DEVICE_ID_INTEL_SBRIDGE_IMC_ERR3 quo4/c80x3c77c84aineptn.6.7c/2 /* Sight. vars 83c/sb_ed8ac.c"> inepuc.c"> 33ptid L33ptseadram_rule2ptsearch">inepdram_rulec"> [] = {fnux+v3c/sb_edac.c"> 8 <8 }efnux+v3c/sb_edac.c"> 9IST_HEADinepMAX_SAD quo4/c8c8 3 3ptid L33ptseaARRAY_SIZE2ptsearch">inepARRAY_SIZE+v3c/sb_edac.c"> dram_rule2ptsearch">inepdram_rulec"> )ht.hrefnux+v3+code=LIST_HEAD"_sear9arch"0ux9">DEFINE_MUTEX/* Sight. vars 9ch"0ux+"9probedSAD_LIMIT+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c) (/sb_edac.c"> GET_BITFIELge <_list reg1ptsearch">inepreg+v3c, 6, 25) 2/mc2/mc 26) |80x3ffffff)ht.hrefnux+v3+code=LIST_HEAD"_sear9id L34p9search">ineptnam L34p9li34<93 quotdencle33ptid L33ptseaDRAM_ATTRneptnam L33p>DRAM_ATTR+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c) sb_edac.c"> GET_BITFIELge <_list reg1ptsearch">inepreg+v3c, 2, 3)ht.hrefnux+v3+code=LIST_HEAD"_sear9y Sandy 9Bridge.span clainepINTERLEAVE_MODE+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c) sb_edac.c"> GET_BITFIELge <_list reg1ptsearch">inepreg+v3c, 1, 1)ht.hrefnux+v3+code=LIST_HEAD"_sear93c/sb_ed9ac.c"> inepDRAM_RULE_ENABLE+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c) sb_edac.c"> GET_BITFIELge <_list reg1ptsearch">inepreg+v3c, 0,3 0)ht.hrefnux+v3+code=LIST_HEAD"_sear9e distri9buted und_e thetterms o9li27<9 #include "9lic Lice9nse b_edv2.62 2.ly.span9e.h get_dram_attr1ptsearch">inepget_dram_attr+v3c/sb_edac.c"> u322ptsearch">inepuc.c"> 33ptid L33ptseareg1ptsearch">inepreg+v3c)clude "93c/sb_ed9ac.c"> DRAM_ATTRneptnam L33p>DRAM_ATTR+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c)) {fnux+v3c/sb_edac.c"> ineptnam L13p>02de=t.2 quo4/c8c8 3 3333333case 1:fnux+v3c/sb_edac.c"> .2/dr/module03de=t.3 quo4/c8c8 3 333333333333333 s../li3a.2/dr/init.h .2/dr/pci.h.2/dr/pci_i06de=t.6 quo4/c8c8 3 3333333denault:fnux+v3c/sb_edac.c"> .2/dr/slab.h.2/dr/delay.h08de=t.8 quo4/c8c8 3}clude <.2/dr/ */span cla */span cla inepuc.c"> 33ptid L33ptseaininepin [] = {fnux+v3c/sb_edac.c"> ineptnam L13p>>li13112 quo4/c8c8 30x84,30x8c,30x94,30x9c,30xa4,fnux+v3c/sb_edac.c"> .2/dr/modulee.h .2/dr/init.h .2/dr/pci.hinepMAX_INTERLEAVE quo4/3ptid L33ptseaARRAY_SIZE2ptsearch">inepARRAY_SIZE+v3c/sb_edac.c"> ininepin )clude "1ci_ids.hpttsearch"fux+">.2/dr/pci_iids.h11 #include "1lab.hptseaarch"fux+">.2/dr/slab.hinepSAD_PKG0+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c) sb_edac.c"> GET_BITFIELge <_list reg1ptsearch">inepreg+v3c, 0,32)clude "1clay.hptseearch"fux+">.2/dr/delay.hhinepSAD_PKG1+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c) sb_edac.c"> GET_BITFIELge <_list reg1ptsearch">inepreg+v3c, 3, 5)clude "1c .2/dr/ inepSAD_PKG2+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c) sb_edac.c"> GET_BITFIELge <_list reg1ptsearch">inepreg+v3c, 8, 10)ht.hrefnux+v3+code=LIST_HEAD"_sear1mzone.hpt1search"fux+">.2/dr/mmzon1e.hinepSAD_PKG3+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c) sb_edac.c"> GET_BITFIELge <_list reg1ptsearch">inepreg+v3c, 11, 13)ht.hrefnux+v3+code=LIST_HEAD"_sear1mp.hptsea1rch"fux+">.2/dr/smp.hinepSAD_PKG4+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c) sb_edac.c"> GET_BITFIELge <_list reg1ptsearch">inepreg+v3c, 16, 18)ht.hrefnux+v3+code=LIST_HEAD"_sear1mid L13ptssearch">ineptnam L13p>lli13122 quotdencle33ptid L33ptseaSAD_PKG52ptsearch">inepSAD_PKG5+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c) sb_edac.c"> GET_BITFIELge <_list reg1ptsearch">inepreg+v3c, 19,321)ht.hrefnux+v3+code=LIST_HEAD"_sear1ath64.hpt1search"fux+">.2/dr/math614.hinepSAD_PKG6+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c) sb_edac.c"> GET_BITFIELge <_list reg1ptsearch">inepreg+v3c, 24,326)ht.hrefnux+v3+code=LIST_HEAD"_sear1ait.hptsea/processor.h|include1asm1-arm/124 quotdencle33ptid L33ptseaSAD_PKG72ptsearch">inepSAD_PKG7+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c) sb_edac.c"> GET_BITFIELge <_list reg1ptsearch">inepreg+v3c, 27, 29)ht.hrefnux+v3+code=LIST_HEAD"_sear1ai.hptsear/mce.h|include1asm-arm/m1ce.h|125 ="lxr_search"commen"">/*span claineptnam L27p1>li27126c"> ineptnamtsearch">inepineptn quo4m#L33ptid L33ptseasad_pkg1ptsearch">inepsad_pkg+v3c/sb_edac.c"> u322ptsearch">inepuc.c"> 33ptid L33ptseareg1ptsearch">inepreg+v3c,4m#L33ptid L33ptseaininepin )clude "1c.c"_core1.hptsearch"fux+">c.c"_co1re.h<1 quo{fnux+v3c/sb_edac.c"> ineptnam L29p1>li29128 quo4/c8c8 3switch (sb_edac.c"> ininepin ) {fnux+v3c/sb_edac.c"> 1 129 quo4/c8c8 3case 0:fnux+v3c/sb_edac.c"> 1LIST_HEADinepSAD_PKG0+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c)efnux+v3c/sb_edac.c"> DEFINE_MUTEX probedinepSAD_PKG1+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c)efnux+v3c/sb_edac.c"> .2/dr/module..h inepSAD_PKG2+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c)efnux+v3c/sb_edac.c"> ineptnam L27p13li27136 quo4/c8c8 3 3333333 s../li3ptid L33ptseaSAD_PKG32ptsearch">inepSAD_PKG3+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c)efnux+v3c/sb_edac.c"> c.c"_co13e.h<137 quo4/c8c8 3case 4:fnux+v3c/sb_edac.c"> ineptnam L29p13li29138 quo4/c8c8 3 3333333 s../li3ptid L33ptseaSAD_PKG42ptsearch">inepSAD_PKG4+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c)efnux+v3c/sb_edac.c"> 13 139 quo4/c8c8 3case 5:fnux+v3c/sb_edac.c"> 14IST_HEADinepSAD_PKG5+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c)nclude <DEFINE_MUTEX inepSAD_PKG6+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c)nclude <ineptnam L34p14li34143 quo4/c8c8 3case 7:fnux+v3c/sb_edac.c"> .2/dr/init.hinepSAD_PKG7+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c)nclude < ineptnam L27p14li27146 quo4/c8c8 3 3333333 s../li-sb_edac.c"> EINVAL1ptsearch">inepEINVAL quonclude <c.c"_co14e.h<147 quo4/c8c8 3}xr_search"commen""> */span claineptnam L29p14li2914 ="l}xr_search"commen""> */span cla 14 149 ="lxr_search"commen"">/*span cla15IST_HEAD DEFINE_MUTEX/* Sight. vars 15ch"0ux+"15probedinepTOLM quo4/c8c8 3 3330x80xr_search"commen"">/* Sight. vars 15dule.hpts5search">ineptnam L34p15li34153 quotdencle33ptid L33ptseaTOHM1ptsearch">inepTOHM quo4/c8c8 3 3330x84xr_search"commen"">/* Sight. vars 15it.hptsea5Bridge.span cla/* Sight. vars 153c/sb_ed1aac.c"> inepGET_TOLM+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c) (/sb_edac.c"> GET_BITFIELge <_list reg1ptsearch">inepreg+v3c, 0, 3) 2/mc2/mc 28) |80x3ffffff)ht.hrefnux+v3+code=LIST_HEAD"_sear13id L27p15search">ineptnam L27p15li27156 quotdencle33ptid L33ptseaGET_TOHM1ptsearch">inepGET_TOHM+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c) (/sb_edac.c"> GET_BITFIELge <_list reg1ptsearch">inepreg+v3c, 0, 20) 2/mc2/mc 25) |80x3ffffff)ht.hrefnux+v3+code=LIST_HEAD"_sear13.c"_core15hptsearch"fux+">c.c"_co15e.h<15fnux+ht.hrefnux+v3+code=LIST_HEAD"_sear13id L29p15search">ineptnam L29p15li2915earch">ineptnam L9p>li 9 15 159 ="lxr_search"commen"">/*span cla16IST_HEADinepSAD_TARGET quo4/c8c80xf0xr_search"commen"">/* Sight. vars 16arch"0ux16">DEFINE_MUTEX/* Sight. vars 16ch"0ux+"16probedinepSOURCE_ID+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c) sb_edac.c"> GET_BITFIELge <_list reg1ptsearch">inepreg+v3c, 9, 11)ht.hrefnux+v3+code=LIST_HEAD"_sear16id L34p16search">ineptnam L34p16li3416 ="lxr_search"commen"">/*span clainepSAD_CONTROL quo4/c8c0xf4xr_search"commen"">/* Sight. vars 163c/sb_ed16ac.c"> /*span clainepNODE_ID+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c) sb_edac.c"> GET_BITFIELge <_list reg1ptsearch">inepreg+v3c, 0,32)clude "16.c"_core16hptsearch"fux+">c.c"_co16e.h<16fnux+ht.hrefnux+v3+code=LIST_HEAD"_sear16id L29p16search">ineptnam L29p16li2916earch">ineptnam L9p>li 9 16 169 ="lxr_search"commen"">/*span cla17IST_HEADinepuc.c"> 33ptid L33ptseatad_dram_rule2ptsearch">ineptad_dram_rulec"> [] = {fnux+v3c/sb_edac.c"> DEFINE_MUTEX ineptnam L34p17li34173 quo4/c8c8 30x60,30x64,30x68,30x6c,fnux+v3c/sb_edac.c"> inepMAX_TAD quo43ptid L33ptseaARRAY_SIZE2ptsearch">inepARRAY_SIZE+v3c/sb_edac.c"> tad_dram_rule2ptsearch">ineptad_dram_rulec"> )clude "17e distri17buted und_e thetterms o17li2717 #include "17lic Lice1nnse b_edv2.62 2.ly.span1 e.h<17 quotdencle33ptid L33ptseaTAD_LIMITneptnam L33p>TAD_LIMIT+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c) (/sb_edac.c"> GET_BITFIELge <_list reg1ptsearch">inepreg+v3c, 12, 31) 2/mc2/mc 26) |80x3ffffff)ht.hrefnux+v3+code=LIST_HEAD"_sear1lid L29p17search">ineptnam L29p17li29178 quotdencle33ptid L33ptseaTAD_SOCKneptnam L33p>TAD_SOCK+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c) sb_edac.c"> GET_BITFIELge <_list reg1ptsearch">inepreg+v3c, 10, 11)ht.hrefnux+v3+code=LIST_HEAD"_sear17/span cl17 17 179 quotdencle33ptid L33ptseaTAD_CHneptnam L33p>TAD_CH+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c) sb_edac.c"> GET_BITFIELge <_list reg1ptsearch">inepreg+v3c, 8, 9)ht.hrefnux+v3+code=LIST_HEAD"_sear18h"0ux+">18IST_HEADinepTAD_TGT3+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c) sb_edac.c"> GET_BITFIELge <_list reg1ptsearch">inepreg+v3c, 6, 7)ht.hrefnux+v3+code=LIST_HEAD"_sear18arch"0ux18">DEFINE_MUTEXinepTAD_TGT2+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c) sb_edac.c"> GET_BITFIELge <_list reg1ptsearch">inepreg+v3c, 4,3 5)clude "18ch"0ux+"18probedinepTAD_TGT1+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c) sb_edac.c"> GET_BITFIELge <_list reg1ptsearch">inepreg+v3c, 2, 3)ht.hrefnux+v3+code=LIST_HEAD"_sear18id L34p18search">ineptnam L34p18li34183 quotdencle33ptid L33ptseaTAD_TGT02ptsearch">inepTAD_TGT0+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c) sb_edac.c"> GET_BITFIELge <_list reg1ptsearch">inepreg+v3c, 0, 1)ht.hrefnux+v3+code=LIST_HEAD"_sear18y Sandy 18Bridge.span cla/* Sight. vars 183c/sb_ed18ac.c"> 18lic Lice18nse b_edv2.62 2.ly.span18e.h<18 quotdencle33ptid L33ptseaMCMTRneptnam L33p>MCMTR quo4/c8c8 3 33333338 30x7cclude "18lay.hptseaarch"fux+">.2/dr/delay.h/* Sight. vars 18/span cl18 18 189 quotdencle33ptid L33ptseaIS_ECC_ENABLEge <_list mcmtr1ptsearch">inepmcmtr+v3c) sb_edac.c"> GET_BITFIELge <_list mcmtr1ptsearch">inepmcmtr+v3c, 2, 2)clude "19h"0ux+">19IST_HEAD mcmtr1ptsearch">inepmcmtr+v3c) sb_edac.c"> GET_BITFIELge <_list mcmtr1ptsearch">inepmcmtr+v3c, 1, 1)clude "19arch"0ux19">DEFINE_MUTEX mcmtr1ptsearch">inepmcmtr+v3c) sb_edac.c"> GET_BITFIELge <_list mcmtr1ptsearch">inepmcmtr+v3c, 0,30)clude "19ch"0ux+"19probed19id L34p19search">ineptnam L34p19li34196thetIntelspan cla /* Sight. vars 193c/sb_ed19ac.c"> inepRASENABLES quo4/c8c8 3 333330xacxr_search"commen"">/* Sight. vars 19e distri19buted und_e thetterms o19li27196 quotdencle33ptid L33ptseaIS_MIRROR_ENABLEge <_list reg1ptsearch">inepreg+v3c) sb_edac.c"> GET_BITFIELge <_list reg1ptsearch">inepreg+v3c, 0,30)clude "19lic Lice19nse b_edv2.62 2.ly.span19e.h<19fnux+ht.hrefnux+v3+code=LIST_HEAD"_sear193c/sb_ed19ac.c"> ineptnam L9p>li 9 /*span clainepmtr_regsc"> [] = {fnux+v3c/sb_edac.c"> ineptnam L13p202de=2.2 quo}efnux+v3c/sb_edac.c"> .2/dr/modul203de=20 ="lxr_search"commen"">/*span cla.2/dr/init.h<204de=204 quotdencle33ptid L33ptseaRANK_DISABLE2ptsearch">inepRANK_DISABLE+v3c/sb_edac.c"> mtr1ptsearch">inepmtr+v3c) sb_edac.c"> GET_BITFIELge <_list mtr1ptsearch">inepmtr+v3c, 16, 19)ht.hrefnux+v3+code=LIST_HEAD"_sear20i.hptsea20ch"fux+">.2/dr/pci.hIS_DIMM_PRESENT+v3c/sb_edac.c"> mtr1ptsearch">inepmtr+v3c) sb_edac.c"> GET_BITFIELge <_list mtr1ptsearch">inepmtr+v3c, 14, 14)ht.hrefnux+v3+code=LIST_HEAD"_sear20id L27pt0search"fux+">.2/dr/pci_206de=206 quotdencle33ptid L33ptseaRANK_CNT_BITS2ptsearch">inepRANK_CNT_BITS+v3c/sb_edac.c"> mtr1ptsearch">inepmtr+v3c) sb_edac.c"> GET_BITFIELge <_list mtr1ptsearch">inepmtr+v3c, 12, 13)ht.hrefnux+v3+code=LIST_HEAD"_sear20ab.hptse20rch"fux+">.2/dr/slab.h<207de=20 quotdencle33ptid L33ptseaRANK_WIDTH_BITS2ptsearch">inepRANK_WIDTH_BITS+v3c/sb_edac.c"> mtr1ptsearch">inepmtr+v3c) sb_edac.c"> GET_BITFIELge <_list mtr1ptsearch">inepmtr+v3c, 2, 4)ht.hrefnux+v3+code=LIST_HEAD"_sear20id L29pt0arch"fux+">.2/dr/delay.208de=208 quotdencle33ptid L33ptseaCOL_WIDTH_BITS2ptsearch">inepCOL_WIDTH_BITS+v3c/sb_edac.c"> mtr1ptsearch">inepmtr+v3c) sb_edac.c"> GET_BITFIELge <_list mtr1ptsearch">inepmtr+v3c, 0, 1)clude "20 .2/dr/ /*span clainepuc.c"> 33ptid L33ptseatad_ch_nilv_offset2ptsearch">ineptad_ch_nilv_offsetc"> [] = {fnux+v3c/sb_edac.c"> ineptnam L13p2>li13212 quo4/c8c8 30xa0,30xa4,30xa8,30xac,fnux+v3c/sb_edac.c"> .2/dr/modul2e.h .2/dr/init.h<2a <2sa .2/dr/pci.hinepCHN_IDX_OFFSET+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c) sb_edac.c"> GET_BITFIELge <_list reg1ptsearch">inepreg+v3c, 28, 29)ht.hrefnux+v3+code=LIST_HEAD"_sear2ci_ids.hp2tsearch"fux+">.2/dr/pci_2ids.h216 quotdencle33ptid L33ptseaTAD_OFFSET2ptsearch">inepTAD_OFFSET+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c) /sb_edac.c"> GET_BITFIELge <_list reg1ptsearch">inepreg+v3c, 6, 25) 2/mc2/mc 26)ht.hrefnux+v3+code=LIST_HEAD"_sear2cab.hptse2arch"fux+">.2/dr/slab.h<2a <21fnux+ht.hrefnux+v3+code=LIST_HEAD"_sear2clay.hpts2earch"fux+">.2/dr/delay.2hinepuc.c"> 33ptid L33ptsearir_way_limit2ptsearch">ineprir_way_limitc"> [] = {fnux+v3c/sb_edac.c"> .2/dr/ .2/dr/mmzon2e.h .2/dr/smp.hinepMAX_RIR_RANGES quo43ptid L33ptseaARRAY_SIZE2ptsearch">inepARRAY_SIZE+v3c/sb_edac.c"> rir_way_limit2ptsearch">ineprir_way_limitc"> )ht.hrefnux+v3+code=LIST_HEAD"_sear2mid L13p2ssearch">ineptnam L13p2lli13222 quoclude "2ath64.hpt2search"fux+">.2/dr/math624.hinepIS_RIR_VALID+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c) sb_edac.c"> GET_BITFIELge <_list reg1ptsearch">inepreg+v3c, 31, 31)clude "2ait.hptse2/processor.h|include1asm2-arm/224 quotdencle33ptid L33ptseaRIR_WAY2ptsearch">inepRIR_WAY+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c) sb_edac.c"> GET_BITFIELge <_list reg1ptsearch">inepreg+v3c, 28, 29)ht.hrefnux+v3+code=LIST_HEAD"_sear2ai.hptsea2/mce.h|include1asm-arm/m2ce.h|225 quotdencle33ptid L33ptseaRIR_LIMITneptnam L33p>RIR_LIMIT+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c) (/sb_edac.c"> GET_BITFIELge <_list reg1ptsearch">inepreg+v3c, 1, 10) 2/mc2/mc 29)|80x1fffffff)ht.hrefnux+v3+code=LIST_HEAD"_sear2tid L27p2tsearch">ineptnam L27p2>li2722 #include "2c.c"_core2.hptsearch"fux+">c.c"_co2re.h<22 quotdencle33ptid L33ptseaMAX_RIR_WAY2ptsearch">inepMAX_RIR_WAY quo4/c8c8clude "2clay.hpts2tsearch">ineptnam L29p2>li2922 ="lxr_search"commen"">/* Sight. vars 2*/span cl2a 2 229 quo <_lcaxsL33ptid L33ptseau322ptsearch">inepuc.c"> 33ptid L33ptsearir_offset2ptsearch">ineprir_offsetc"> [3ptid L33ptseaMAX_RIR_RANGES2ptsearch">inepMAX_RIR_RANGES quo][3ptid L33ptseaMAX_RIR_WAY2ptsearch">inepMAX_RIR_WAY quo] = {fnux+v3c/sb_edac.c"> 2LIST_HEAD DEFINE_MUTEX probed .2/dr/modul2..h ineptnam L27p23li2723 #include "2e.c"_core23hptsearch"fux+">c.c"_co23e.h<23 quotdencle33ptid L33ptseaRIR_RNK_TGTneptnam L33p>RIR_RNK_TGT+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c) sb_edac.c"> GET_BITFIELge <_list reg1ptsearch">inepreg+v3c, 16, 19)ht.hrefnux+v3+code=LIST_HEAD"_sear2xid L29p23search">ineptnam L29p23li29238 quotdencle33ptid L33ptseaRIR_OFFSET2ptsearch">inepRIR_OFFSET+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c) sb_edac.c"> GET_BITFIELge <_list reg1ptsearch">inepreg+v3c, 2, 14)ht.hrefnux+v3+code=LIST_HEAD"_sear2e/span cl23 23 239 ="lxr_search"commen"">/*span cla24IST_HEAD DEFINE_MUTEX/* Sight. vars 24ch"0ux+"24probedineptnam L3p>li 3 *span claineptnam L34p24li34246thetIntelspan clali p>lierr *span cla.2/dr/init.h<2 L3244 quoIntelspan cla /*span claineptnam L27p24li27246c"> inepuc.c"> 33ptid L33ptseacorrerrcnt2ptsearch">inepcorrerrcntc"> [] = {fnux+v3c/sb_edac.c"> c.c"_co24e.h<247 quo4/c8c8 30x104,30x108,30x10c,30x110,fnux+v3c/sb_edac.c"> ineptnam L29p24li2924 ="l}efnux+v3c/sb_edac.c"> 24 249 ="lxr_search"commen"">/*span cla25IST_HEADinepRANK_ODD_OV+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c) sb_edac.c"> GET_BITFIELge <_list reg1ptsearch">inepreg+v3c, 31, 31)clude "25arch"0ux25">DEFINE_MUTEXinepRANK_ODD_ERR_CNT+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c) sb_edac.c"> GET_BITFIELge <_list reg1ptsearch">inepreg+v3c, 16, 30)clude "25ch"0ux+"25probedinepRANK_EVEN_OV+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c) sb_edac.c"> GET_BITFIELge <_list reg1ptsearch">inepreg+v3c, 15, 15)clude "25dule.hpt25search">ineptnam L34p25li34253 quotdencle33ptid L33ptseaRANK_EVEN_ERR_CNT2ptsearch">inepRANK_EVEN_ERR_CNT+v3c/sb_edac.c"> reg1ptsearch">inepreg+v3c) sb_edac.c"> GET_BITFIELge <_list reg1ptsearch">inepreg+v3c, 0, 14)ht.hrefnux+v3+code=LIST_HEAD"_sear25it.hptse25Bridge.span cla/* Sight. vars 253c/sb_ed2aac.c"> inepuc.c"> 33ptid L33ptseacorrerrthrsld2ptsearch">inepcorrerrthrsldc"> [] = {fnux+v3c/sb_edac.c"> ineptnam L27p25li27256 quo4/c8c8 30x11c,30x120,30x124,30x128,fnux+v3c/sb_edac.c"> c.c"_co25e.h<25fnux+}efnux+v3c/sb_edac.c"> ineptnam L29p25li2925 ="lxr_search"commen"">/* Sight. vars 25/span cl25 25 259 quotdencle33ptid L33ptseaRANK_ODD_ERR_THRSLge <_list reg1ptsearch">inepreg+v3c) sb_edac.c"> GET_BITFIELge <_list reg1ptsearch">inepreg+v3c, 16, 30)clude "26h"0ux+">26IST_HEAD reg1ptsearch">inepreg+v3c) sb_edac.c"> GET_BITFIELge <_list reg1ptsearch">inepreg+v3c, 0, 14)ht.hrefnux+v3+code=LIST_HEAD"_sear26arch"0ux26">DEFINE_MUTEX/* Sight. vars 26ch"0ux+"26probed26id L34p26search">ineptnam L34p26li34266thetIntelspan cla /* Sight. vars 263c/sb_ed26ac.c"> 26e distri2bbuted und_e thetterms o2fli2726 #include "26.c"_core26hptsearch"fux+">c.c"_co26e.h<26 quotdencle33ptid L33ptseaIS_RDIMM_ENABLEge <_list reg1ptsearch">inepreg+v3c) sb_edac.c"> GET_BITFIELge <_list reg1ptsearch">inepreg+v3c, 11, 11)ht.hrefnux+v3+code=LIST_HEAD"_sear26id L29p26search">ineptnam L29p26li2926 ="lxr_search"commen"">/* Sight. vars 26/span cl26 26 269 ="l">ineptnam L3p>li 3 *span cla27IST_HEAD *span claDEFINE_MUTEX 27id L34p27search">ineptnam L34p27li34273 quotdencle33ptid L33ptseaNUM_CHANNELS2ptsearch">inepNUM_CHANNELS quo4/c84xr_search"commen"">/* Sight. vars 27y Sandy 27Bridge.span clainepMAX_DIMMS quo4/c8c8 3 sntelspan cla /*span cla ruct33ptid L33ptseasbridge_info2ptsearch">inepsbridge_info quo4{fnux+v3c/sb_edac.c"> inepuc.c"> 3c8 33ptid L33ptseamcmtr1ptsearch">inepmcmtr+v3cefnux+v3c/sb_edac.c"> ineptnam L29p27li2927 ="l}efnux+v3c/sb_edac.c"> 27 279 ="lxr_search"commen"">/*span cla28IST_HEAD ruct33ptid L33ptseasbridge_channel2ptsearch">inepsbridge_channel quo4{fnux+v3c/sb_edac.c"> DEFINE_MUTEXinepuc.c"> 3c8 34/c8c8 33ptid L33ptsearanks1ptsearch">inepranks+v3cefnux+v3c/sb_edac.c"> inepuc.c"> 3c8 34/c8c8 33ptid L33ptseadimms1ptsearch">inepdimms+v3cefnux+v3c/sb_edac.c"> ineptnam L34p28li34283 quo}efnux+v3c/sb_edac.c"> /* Sight. vars 283c/sb_ed28ac.c"> ruct33ptid L33ptseapci_id_descr1ptsearch">ineppci_id_descr quo4{fnux+v3c/sb_edac.c"> inepdev+v3cefnux+v3c/sb_edac.c"> inepfun +v3cefnux+v3c/sb_edac.c"> .2/dr/delay.2inepdev_id+v3cefnux+v3c/sb_edac.c"> 28 289 quo4/c8c8 3m#L3333333333333333333333ptid L33ptseaopajaxal2ptsearch">inepopajaxal+v3cefnux+v3c/sb_edac.c"> 29IST_HEAD DEFINE_MUTEX/* Sight. vars 29ch"0ux+"29probedineppci_id_table quo4{fnux+v3c/sb_edac.c"> ineptnam L34p29li34293 quo4/c8c8 3caxsL3 ruct33ptid L33ptseapci_id_descr1ptsearch">ineppci_id_descr quo4444444*3ptid L33ptseadescr1ptsearch">inepdescr quoefnux+v3c/sb_edac.c"> inepn_devs quoefnux+v3c/sb_edac.c"> 29lic Lice29nse b_edv2.62 2.ly.span29e.h<29fnux+ ruct33ptid L33ptseasbridge_dev1ptsearch">inepsbridge_dev quo4{fnux+v3c/sb_edac.c"> inep L3_head quo4/c8c8 33ptid L33ptsea L31ptsearch">inep L3c"> efnux+v3c/sb_edac.c"> inepu8 quo4/c8c8 3 3333333c8c8 33ptid L33ptseabus1ptsearch">inepbus+v3c, 3ptid L33ptseamc1ptsearch">inepmcc"> efnux+v3c/sb_edac.c"> inepu8 quo4/c8c8 3 3333333c8c8 33ptid L33ptseantse_id1ptsearch">inepntse_id+v3c, 3ptid L33ptseasource_id1ptsearch">inepsource_idc"> efnux+v3c/sb_edac.c"> DEFINE_MUTEXineppci_dev quo4/c8c8 3 3**3ptid L33ptseapdev1ptsearch">ineppdev+v3cefnux+v3c/sb_edac.c"> ineptnam L13p302de=302 quo4/c8c8 3m#L3333333333333333333333ptid L33ptsean_devs1ptsearch">inepn_devs quoefnux+v3c/sb_edac.c"> .2/dr/modul303de=303 quo4/c8c8 3 ruct33ptid L33ptseamem_ctl_info2ptsearch">inepmem_ctl_info quo4/c8c*3ptid L33ptseamci1ptsearch">inepmci quoefnux+v3c/sb_edac.c"> .2/dr/pci.h/*span cla.2/dr/pci_306de=306c"> ruct33ptid L33ptseasbridge_pv31ptsearch">inepsbridge_pv3 quo4{fnux+v3c/sb_edac.c"> .2/dr/slab.h<307de=307 quo4/c8c8 3 ruct33ptid L33ptseapci_dev1ptsearch">ineppci_dev quo4/c8c8 3 3*3ptid L33ptseapci_ta1ptsearch">ineppci_ta+v3c, *3ptid L33ptseapci_db_eo2ptsearch">ineppci_db_eo+v3c, *3ptid L33ptseapci_ras1ptsearch">ineppci_ras quoefnux+v3c/sb_edac.c"> ineppci_dev quo4/c8c8 3 3*3ptid L33ptseapci_sad02ptsearch">ineppci_sad0+v3c, *3ptid L33ptseapci_sad12ptsearch">ineppci_sad1+v3c, *3ptid L33ptseapci_ha02ptsearch">ineppci_ha0 quoefnux+v3c/sb_edac.c"> ineppci_dev quo4/c8c8 3 3*3ptid L33ptseapci_br1ptsearch">ineppci_br quoefnux+v3c/sb_edac.c"> ineppci_dev quo4/c8c8 3 3*3ptid L33ptseapci_tad1ptsearch">ineppci_tadc"> [3ptid L33ptseaNUM_CHANNELS2ptsearch">inepNUM_CHANNELS quo]efnux+v3c/sb_edac.c"> /* Sight. vars 3tid L13p3tsearch">ineptnam L13p3>li13312 quo4/c8c8 3 ruct33ptid L33ptseasbridge_dev1ptsearch">inepsbridge_dev quo48 3 3*3ptid L33ptseasbridge_dev1ptsearch">inepsbridge_dev quoefnux+v3c/sb_edac.c"> .2/dr/modul3e.h/*span cla.2/dr/init.h<3a <314 quo4/c8c8 3 ruct33ptid L33ptseasbridge_info2ptsearch">inepsbridge_info quo433333ptid L33ptseainfo2ptsearch">inepinfo quoefnux+v3c/sb_edac.c"> .2/dr/pci.hinepsbridge_channel quo433ptid L33ptseachannel2ptsearch">inepchannel quo[3ptid L33ptseaNUM_CHANNELS2ptsearch">inepNUM_CHANNELS quo]efnux+v3c/sb_edac.c"> .2/dr/pci_3ids.h31 #include "3cab.hptse3arch"fux+">.2/dr/slab.h<3a <317 quo4/c8c8 33ntelspan cla .2/dr/delay.3hinepbool quo4/c8c8 3 3333333c8c83ptid L33ptseais_mirrinepis_mirrinepis_lockstep+v3c, 3ptid L33ptseais_close_pg1ptsearch">inepis_close_pg quoefnux+v3c/sb_edac.c"> .2/dr/ /*span cla.2/dr/mmzon3e.h .2/dr/smp.hinepmce quo4/c8c8 3 333333ptid L33ptseamce_ux+ry2ptsearch">inepmce_ux+ry quo[3ptid L33ptseaMCE_LOG_LEN2ptsearch">inepMCE_LOG_LEN quo]efnux+v3c/sb_edac.c"> ineptnam L13p3lli13322 quo4/c8c8 3 ruct33ptid L33ptseamce2ptsearch">inepmce quo4/c8c8 3 333333ptid L33ptseamce_outux+ry2ptsearch">inepmce_outux+ry quo[3ptid L33ptseaMCE_LOG_LEN2ptsearch">inepMCE_LOG_LEN quo]efnux+v3c/sb_edac.c"> .2/dr/math634.h/*span cla inepmce_in+v3c, 3ptid L33ptseamce_out2ptsearch">inepmce_out quoefnux+v3c/sb_edac.c"> ineptnam L27p3>li2732 #include "3c.c"_core3.hptsearch"fux+">c.c"_co3re.h<327 quo4/c8c8 33ntelspan cla ineptnam L29p3>li29328 quo4/c8c8 3unsignedc8 3 3333333c8c83ptid L33ptseamce_odacrun2ptsearch">inepmce_odacrun quoefnux+v3c/sb_edac.c"> 3 329 ="lxr_search"commen"">/*span cla3LIST_HEAD DEFINE_MUTEXinepu64 quo4/c8c8 3 33333338c8 33ptid L33ptseatolmridge.spa">ineptolm+v3c, 3ptid L33ptseatohmridge.spa">ineptohm quoefnux+v3c/sb_edac.c"> probed .2/dr/modul3..h/*span cla PCI_DESCR quo/sb_edac.c"> device1ptsearch">inepdevice quo, 3ptid L33ptseafun ajax1ptsearch">inepfun ajax quo, 3ptid L33ptseadevice_id1ptsearch">inepdevice_id+v3c, 3ptid L33ptseaopt2ptsearch">inepopt+v3c) \xr_search"commen"">/*span clainepdev+v3c = /sb_edac.c"> device1ptsearch">inepdevice quo),4/c8c8 3 33333338c8 333333333333\xr_search"commen"">/*span claineptnam L27p33li27336 quo4/c8c8 3.3ptid L33ptseafun 1ptsearch">inepfun +v3c = /sb_edac.c"> fun ajax1ptsearch">inepfun ajax quo),4/c8c8 3 33333338c8 333333333\xr_search"commen"">/*span clac.c"_co33e.h<337 quo4/c8c8 3.3ptid L33ptseadev_id1ptsearch">inepdev_id+v3c = /sb_edac.c"> device_id1ptsearch">inepdevice_id+v3c),4/c8c8 3 33333338c8 333333\xr_search"commen"">/*span claineptnam L29p33li29338 quo4/c8c8 3.3ptid L33ptseaopajaxal2ptsearch">inepopajaxal+v3c = 3ptid L33ptseaopt2ptsearch">inepopt+v3cxr_search"commen"">/*span cla 33 339 ="lxr_search"commen"">/*span cla34IST_HEADineppci_id_descr quo43ptid L33ptseapci_dev_descr_sbridge1ptsearch">ineppci_dev_descr_sbridge quo[] = {fnux+v3c/sb_edac.c"> DEFINE_MUTEX PCI_DESCR quo/14,30, 3ptid L33ptseaPCI_DEVICE_ID_INTEL_SBRIDGE_IMC_HA02ptsearch">inepPCI_DEVICE_ID_INTEL_SBRIDGE_IMC_HA0+v3c, 0) },fnux+v3c/sb_edac.c"> ineptnam L34p34li3434 ="lxr_search"commen"">/*span cla.2/dr/init.h<3 L3344 quo4/c8c8 3 33333333ntelspan cla PCI_DESCR quo/15,30, 3ptid L33ptseaPCI_DEVICE_ID_INTEL_SBRIDGE_IMC_TAe <_list ineptnam L27p34li27346 quo4/c8c8 3{83ptid L33ptseaPCI_DESCRneptnam L33p>PCI_DESCR quo/15,31, 3ptid L33ptseaPCI_DEVICE_ID_INTEL_SBRIDGE_IMC_RAS2ptsearch">inepPCI_DEVICE_ID_INTEL_SBRIDGE_IMC_RAS+v3c, 0) },fnux+v3c/sb_edac.c"> c.c"_co34e.h<347 quo4/c8c8 3{83ptid L33ptseaPCI_DESCRneptnam L33p>PCI_DESCR quo/15,32, 3ptid L33ptseaPCI_DEVICE_ID_INTEL_SBRIDGE_IMC_TAD02ptsearch">inepPCI_DEVICE_ID_INTEL_SBRIDGE_IMC_TAD0+v3c, 0) },fnux+v3c/sb_edac.c"> ineptnam L29p34li29348 quo4/c8c8 3{83ptid L33ptseaPCI_DESCRneptnam L33p>PCI_DESCR quo/15,33, 3ptid L33ptseaPCI_DEVICE_ID_INTEL_SBRIDGE_IMC_TAD12ptsearch">inepPCI_DEVICE_ID_INTEL_SBRIDGE_IMC_TAD1+v3c, 0) },fnux+v3c/sb_edac.c"> 34 349 quo4/c8c8 3{83ptid L33ptseaPCI_DESCRneptnam L33p>PCI_DESCR quo/15,34, 3ptid L33ptseaPCI_DEVICE_ID_INTEL_SBRIDGE_IMC_TAD22ptsearch">inepPCI_DEVICE_ID_INTEL_SBRIDGE_IMC_TAD2+v3c, 0) },fnux+v3c/sb_edac.c"> 35IST_HEADPCI_DESCR quo/15,35, 3ptid L33ptseaPCI_DEVICE_ID_INTEL_SBRIDGE_IMC_TAD32ptsearch">inepPCI_DEVICE_ID_INTEL_SBRIDGE_IMC_TAD3+v3c, 0) },fnux+v3c/sb_edac.c"> DEFINE_MUTEXPCI_DESCR quo/17,30, 3ptid L33ptseaPCI_DEVICE_ID_INTEL_SBRIDGE_IMC_DDRIO2ptsearch">inepPCI_DEVICE_ID_INTEL_SBRIDGE_IMC_DDRIO+v3c, 1) },fnux+v3c/sb_edac.c"> 35dule.hpt35search">ineptnam L34p35li34353 quo4/c8c8 3 33333333ntelspan cla PCI_DESCR quo/12, 6, 3ptid L33ptseaPCI_DEVICE_ID_INTEL_SBRIDGE_SAD02ptsearch">inepPCI_DEVICE_ID_INTEL_SBRIDGE_SAD0+v3c, 0) },fnux+v3c/sb_edac.c"> PCI_DESCR quo/12, 7, 3ptid L33ptseaPCI_DEVICE_ID_INTEL_SBRIDGE_SAD12ptsearch">inepPCI_DEVICE_ID_INTEL_SBRIDGE_SAD1+v3c, 0) },fnux+v3c/sb_edac.c"> ineptnam L27p35li2735 #include "33.c"_core35hptsearch"fux+">c.c"_co35e.h<357 quo4/c8c8 3 33333333ntelspan cla ineptnam L29p35li29358 quo4/c8c8 3{83ptid L33ptseaPCI_DESCRneptnam L33p>PCI_DESCR quo/13, 6, 3ptid L33ptseaPCI_DEVICE_ID_INTEL_SBRIDGE_BRneptnam L33p>PCI_DEVICE_ID_INTEL_SBRIDGE_BR+v3c, 0) },fnux+v3c/sb_edac.c"> 35 359 quo}efnux+v3c/sb_edac.c"> 36IST_HEAD DEFINE_MUTEXinepPCI_ID_TABLE_ENTRY quo/sb_edac.c"> Ae <_listinepdescr quo=sb_edac.c"> Ae <_listinepn_devs quo = 3ptid L33ptseaARRAY_SIZE2ptsearch">inepARRAY_SIZE+v3c/sb_edac.c"> Ae <_list ineppci_id_table quo43ptid L33ptseapci_dev_descr_sbridge_table2ptsearch">ineppci_dev_descr_sbridge_table quo[] = {fnux+v3c/sb_edac.c"> ineptnam L34p36li34363 quo4/c8c8 33ptid L33ptseaPCI_ID_TABLE_ENTRY2ptsearch">inepPCI_ID_TABLE_ENTRY quo/sb_edac.c"> pci_dev_descr_sbridge1ptsearch">ineppci_dev_descr_sbridge quo),fnux+v3c/sb_edac.c"> 36.c"_core36hptsearch"fux+">c.c"_co36e.h<36 quo">ineptnam L3p>li 3 *span claineptnam L29p36li2936earch">ineptnam L9p>li 9< *333333pci_device_id333table for which devices we are looking for ="lxr_search"commen""> *span cla 36 369 ="l">ineptnam L3p>li 3< /2 37IST_HEAD DEFINE_PCI_DEVICE_TABLE2ptsearch">inepDEFINE_PCI_DEVICE_TABLE quo/sb_edac.c"> sbridge_pci_tbl2ptsearch">inepsbridge_pci_tbl+v3c) = {fnux+v3c/sb_edac.c"> DEFINE_MUTEXPCI_DEVICE quo/sb_edac.c"> PCI_VENDOR_ID_INTELneptnam L33p>PCI_VENDOR_ID_INTEL+v3c, 3ptid L33ptseaPCI_DEVICE_ID_INTEL_SBRIDGE_IMC_TAe <_list ineptnam L34p37li34373 quo}efnux+v3c/sb_edac.c"> /* Sight. vars 373c/sb_ed37ac.c"> /*span cla 3ntelspan cla ineptnam L3p>li 3<4/c8c8 3 333333333333333Ancillary us rout62 s ="lxr_search"commen""> *span claineptnam L29p37li2937earch">ineptnam L9p>li 9< ****************************************************************************2 37 379 ="lxr_search"commen"">/*span cla38IST_HEAD in (ref <_listinepnumrank quo/sb_edac.c"> u322ptsearch">inepuc.c"> 33ptid L33ptseamtr1ptsearch">inepmtr+v3c)xr_search"commen"">/*span claDEFINE_MUTEX inepranks+v3c = /1 2/mc2/mc 3ptid L33ptseaRANK_CNT_BITS2ptsearch">inepRANK_CNT_BITS+v3c/sb_edac.c"> mtr1ptsearch">inepmtr+v3c))efnux+v3c/sb_edac.c"> ineptnam L34p38li3438 ="lxr_search"commen"">/*span cla ranks1ptsearch">inepranks+v3c &gmc 4) {fnux+v3c/sb_edac.c"> inepineptnam ring">"Invalid3number of ranks: %d (max = 4) raw value = %x (%04x)\n" ranks1ptsearch">inepranks+v3c, (unsignedcm#L)3ptid L33ptseaRANK_CNT_BITS2ptsearch">inepRANK_CNT_BITS+v3c/sb_edac.c"> mtr1ptsearch">inepmtr+v3c), 3ptid L33ptseamtr1ptsearch">inepmtr+v3c)efnux+v3c/sb_edac.c"> EINVAL quoefnux+v3c/sb_edac.c"> .2/dr/delay.3 38 389 ="lxr_search"commen"">/*span cla39IST_HEAD ranks1ptsearch">inepranks+v3cefnux+v3c/sb_edac.c"> DEFINE_MUTEX 39id L34p39search">ineptnam L34p39li34393 quo <_lsb_edac.c"> in (ref <_listinepnumrow quo/sb_edac.c"> u322ptsearch">inepuc.c"> 33ptid L33ptseamtr1ptsearch">inepmtr+v3c)xr_search"commen"">/*span cla inepr mtr1ptsearch">inepmtr+v3c), 3d29ac.c">3 /*span cla ridge_dev3ptsearch">inepsbridge_de3 quo439ehab <mchehab@redh inepshould be between 14 and 17g+v3c/0, 3>ineptnam ring">"Invalid3number of ranks: %d (max = 4) raw tid L33p3sea L31ptsearch">inep 33c"> 3fnux+v3c/sb_edac.c"> inepr inepRANK_CNT_BITS+v3c/sb_edac.c"> mtr1ptsearch">inepmtr+v3c), 4, 3ptid 433ptseamc1ptsearch">inep4cc"> 4fnux+v3c/sb_edac.c"> inepsource_4dc"> 4fnux+v3c/sb_ed3c/sb_edac.c"> ineppd4v+v3c40nux+v3c/sb_edac.c"> inepn_de4s quo4fnux+v3c/sb_ed inepm4i quo4fnux+v37 quo4/c8c8 3 3333333return -3ptid4s533ptsea4_span cla .2/dr/pci.h39id L34p39search">ineptnam L34p39li34393 quoc13p3clay.hpts3earquoc13 (ref <_listinepnumrow quo/sb_edac.c"> u322ptsearch">inepuc.c"> 4ridge_pv34ptsearch">inepsbridge_pv4 quo44fnux+v L3384 quo4/c8c8 3mf /sb_edac.c"> 433ptseapc4_ras1ptsearch">ineppci_r4s quo40nux+v3c/sb_edac.cseanumrow1ptseac133c/sb_ed39ac.c">c133 mtr1ptsearch">inepmtr+v3c), 4,9ptseapc4_ea L31ptsearch">inep 40 quo40nux+v3c/sb_edac.c"> ineppci_4r quo4fnux+v3c/sb_eden"">/*span clac133 4CHANNELS24tsearch">inepNUM_CHANNEL4 quo]41nux+v3c/sb_edac.c"> inepineptnam ring">"Invalid3number of ranks: %d (max = 4) raw4ho 3eedac4c"> c133 inepRANK_CNT_BITS+v3c/sb_edac.c"> mtr1ptsearch">inepmtr+v3c), 4bridge_de41ptsearch">inepsbridge_d4v quo41lude ".2/dr/modul3e.hinepin4o quo41nux+v3c/sb_edac.c"> inepNUM_CHANNEL4 quo]416ux+v3c/sb_ed c133 .2/dr/pci_3ids.h41 #i4clude 37 quo4/c8c8 3 3333333return -3ptid4t3ptseapc4Memory type dete ajax /24a a<41t.hrefnux+v3+code=LIST_HEAD"_sear26id 4s_close_p41ptsearch">inepis_close_4g quo41r_search"comen"">/* Sight. vars 3tid L13p3tsearch">ineptnam L13p3>li13312/c8c8 3 ruct33pget_id L13p3tsearch">ineptnamget_id L13p3ts (ref <_list u322ptsearch">inepuc.c"> 4tse3arch"4ux+">.2/dr/ 4 ineptnam L13p3>li13312/c8c8 3 ruct33ptid L33ptseasbridge_dev1ptsearch">inepsbridge_dev quo48 3 3*3ptid L33ptsea4E_LOG_LEN4ptsearch">inepMCE_LOG_LE4 quo]42nux+v3c/sb_edac.c"> inepMCE_LOG_LE4 quo]42nux+v3c/sb_edac.c"> DEFINE_PCI_DEptseasbridge_dev1ptsearch">inepsb, &ac.c"> DEFINE_PCI_DEm#L6p33ptid L33ptsea LE_PCI_DEm#L6p33ptICE quo/sb_edac.c"> 33ptid L33ptsea L3_head1p38 L3384 quo4/c8c8 3mf /sb_edac.c"> 4hpt3searc4"fux+">.2/dr/math634.h/*sen"">/*span clainepsb-fnuxf <_list Ae <_list33ptid L33ptseau82ptsearac.c"> u322ptsearch">inepuc.c"> 4tid L33p4 Fifo in/outmcoun 3c/sb_ed inepsbridge_dev quo48 3 3*3ptid L33ptsea4EHANNELS24_out2ptsearch">inepmce_o4t quo426_search"comm37 quo4/c8c8 3 3333333return -3ptid427p3tsear4h">ineptnam L27p3>li2742 #i4clude 7 quo4/c8c8 3 3333333return -3ptid423ptseapc4o showierrinepmce_odacr4n quo4fnux+v37 quo4/c8c8 3 3333333return -3ptid4tse3a 3 429 ="43nux+v3c/sb_edac.c"> /* Sight. vars 3tid L13p3tsearch">ineptnam L13p3>li13312/c8c8 3 ruct33palloc_id L13p3tsearch">ineptnamalloc_id L13p3ts (ref <_listinepto4m quo4obed u322ptsearch">inepuc.c"> 4p3>probed4a ;a 4hpt3eearc4"fux+">.2/dr/modul3..h/*span claineptnam L13p3>li13312/c8c8 3 ruct33ptid L33ptseasbridge_dev1ptsearch">inepsbridge_dev quo48 3 3*3ptid L33ptsea4 L33ptsea4pt2ptsearch">inepopt+v3c4 43nux+v3c/sb_edac.c"> ineptnam L13p3>li13312> Ae <_listkzallocearch">ineptnamkzalloc (resizeof(/c8c8 3 ruct33ptid L33ptseasbridge_dev1ptsearch">inepsbRTS2ptsearch">inepGFP_KERNtseaPCI_DEVICEnepGFP_KERNtsedac.c"> mtr1ptsearch">inepmtr+v3c), 4 ajax quo4,4/c8c8 3 33333338c8 333433333437_search"commen""!c8c8 3 ruct33ptid L33ptseasbridge_dev1ptsearch">inepsbR"> mtr1ptsearch">inepmtr+v3c), 4 3ptseapc43c),4/c8c8 3 33333338c8 43333343ehab <mchehab@redh inep4pt+v34xr_search"commen"">/*span cla 33 439 ="44nux+v3c/sb_edac.c"> inepsb-fnuxf <_list Ae <_listkzallocearch">ineptnamkzalloc (resizeof(/c8c8 3 ruct33ptid L33ptseasbridge_dev1ptsearch">inepsb-fnuxf <_listinepu64 quo4/c8cbedinepdescr quo=sb_edac.cmber of ranks: %d (max = 4) raw4arch">ine4pci_dev_descr_sbridge qu4[] = 4fnux+v3c/sb_edac.c"> 2ptsearch">inepGFP_KERNtseaPCI_DEVICEnepGFP_KERNtsedac.c"> mtr1ptsearch">inepmtr+v3c), 4efnux+v3p4 Processor Home Agli /24a a<4fnux+v3c/sb_eden""!c8c8 3 ruct33ptid L33ptseasbridge_dev1ptsearch">inepsb-fnuxf <_list 4_ID_INTEL4SBRIDGE_IMC_HA0+v3c, 0) 4 }44lude " DEFINE_PCI_DEptseasbridge_dev1ptsearch">inepsb.c"> mtr1ptsearch">inepmtr+v3c), 4ept3eearc4h">ineptnam L34p34li3444 ="4xr_search"commen"">/*s inepsb-fnuxf <_list inepsb-fnuxf <_listinepdescr quo=sb_edac.c"> Ae <_listcbedinepdescr quo=sb_edac.cridge_dev quo48 3 3*3ptid L33ptsea4l3ptid L4SBRIDGE_IMC_TAD1+v3c, 0)4 }44nux+v3c/sb_edac.c"> DEFINE_PCI_DEptseasbridge_dev1ptsearch">inepsb-fnuxf <_list DEFINE_PCI_DEm#L6p33ptid L33ptsea LE_PCI_DEm#L6p33ptICE .c"> mtr1ptsearch">inepmtr+v3c), 4_ID_INTEL4SBRIDGE_IMC_TAD2+v3c, 0)4 }45nux+v3c/sb_edac.c"> inepsbridge_dev quo48 3 3*3ptid L33ptsea4_ID_INTEL4SBRIDGE_IMC_DDRIO+v3c, 14 }4fnux+v37 quo4/c8c8 3 3333333return -3ptid4x+"35prob4d PCre<_id L13p3tsearch">ineptnamCre<_id L13p3ts (resn"">/*span claineptnam L13p3>li13312/c8c8 3 ruct33ptid L33ptseasbridge_dev1ptsearch">inepsbR"> mtr1ptsearch">inepmtr+v3c), 4_ID_INTEL4SBRIDGE_SAD0+v3c, 0) 4 }4fnux+v L3384 quo4/c8c8 3mf /sb_edac.c"> 4_ID_INTEL4SBRIDGE_SAD1+v3c, 0) 4 }45r_search"commspan cla DEFINE_PCI_DEptseasbridge_dev1ptsearch">inepsb-fnuxf <_list mtr1ptsearch">inepmtr+v3c), 4_ID_INTEL4h">ineptnam L27p35li2745 #i45nux+v3c/sb_edac.c"> DEFINE_PCI_DEptseasbridge_dev1ptsearch">inepsb-fnuxf <_list mtr1ptsearch">inepmtr+v3c), 4_3ptseapc4t BroadcasL3Regis DEFINE_PCI_DEptseasbridge_dev1ptsearch">inepsb.c"> mtr1ptsearch">inepmtr+v3c), 4_ID_INTEL4SBRIDGE_BR+v3c, 0) 4 }45nux+v37 quo4/c8c8 3 3333333return -3ptid4e35 35 354 quo}4fnux+v3c/sb_edac.c"> 36IST_4EAD *span cla 3ntelspan cla Ae <_list ineptnam L3p>li 3<4/c8c8 3 333334ineppci_d4v_descr_sbridge_table qu4[] = 4fnux+v"commen""> *span claineptnam L29p37li2937earch">ineptnam L9p>li 9< ******************************************4ptsearch"4ineppci_dev_descr_sbridg4 quo)46nux+vrch"comac.c"> ac.c"> DEFINEloteasbridge_dev1ptlotac.cmber of ranks: %d (max = 4) raw4a 3c/sb_edddddddddddddddddddac.c"> ac.c"> DEFINefnu3eid L27p33search">ineR"> mtr1ptsearch">inepmtr+v3c), 4d36ac.c">4 4tri3bbute4 und_e thetterms o3fli2746 #i46nux+v3c/sb_edac.c"> ineptnam L13p3>li13312/c8c8 3 ruct33ptid L33ptseasbridge_dev1ptsearch">inepsb"> Ae <_listget_id L13p3tsearch">ineptnamget_id L13p3ts (ref <_list mtr1ptsearch">inepmtr+v3c), 4.h<36 qu4">ineptnam L3p>li 3inepmem_ctl_info quo4/c8c4r which d4vices we are looking for4="lxr46r_search"commen"">/*span clainepsbR"> mtr1ptsearch">inepmtr+v3c), 4bl2ptsear4h">inepsbridge_pci_tbl+v4c) = 47nux+v3c/sb_edac.c"> 0382 quo4/c8c8 3m# L33ptseamem_ctinfo2"_ed382 quo4/c8c8 3m#E_PCI_DEptseasbridge_dev1ptsearch">inepsb-fnuxf <_listinepdescr quo=sb_edac.c382 quo4/c8c8 3m# L33ptseamem_ctinfo2++) L3384 quo4/c8c8 3mf /sb_edac.c"> 4p37search4>ineptnam L34p37li34374 quo}47r_search"commen"">/*sen""!c8c8 3 ruct33ptid L33ptseasbridge_dev1ptsearch">inepsb-fnuxf <_list mtr1ptsearch">inepmtr+v3c), 4b 3c/sb_ed">.2inueridge_dev quo48 3 3*3ptid L33ptsea4P36ac.c">4> en"">/*span cla DEFINE_PCI_DEptseasbridge_dev1ptsearch">inepsb-fnuxf <_list Ae <_listEloteasbridge_dev1ptlotac.c &&3c/sb_edac.c"> DEFINE_PCI_DEptseasbridge_dev1ptsearch">inepsb-fnuxf <_list Ae <_listefnu3eid L27p33search">ineR L3384 quo4/c8c8 3mf /sb_edac.c"> 4p which d4***********************24a a<47nux+v3c/sb_edac.c"> 37 479 ="48nux+v3c/sb_edac.c"> dac.c"> inepu8 quo4/cEloteasbridge_dev1ptlotac.cm Ae <_listefnu3eid L27p33search">inech">inepu8 quo4/cEid L33ptseasbridge_dev1ptsearch">inepsb-fnuxf <_list inepm4r+v3c48nux+v3c/sb_edac.c"> inepsb-fnuxf <_list 4 mtr1ptsearch">inepmtr4v3c))48lude "ineptnam L34p38li3448 ="48nux+v3c/sb_edac.c"> inepranks+v3c &g4c 4) 4fnux+v3c/sb_ed inepmt4+v3c)48lude 7 quo4/c8c8 3 3333333return -3ptid4 L33ptsea4INVALneptnam L33p>EINV4L quo48earch"commen""> *span cla.24dr/delay.3 *span cla 38 489 ="4xr_sea"commen""> *span clainepran4s+v3c49earch"commen""> *span claDEF4NE_MUTEX mtr1ptsearch">inepmtr+v3c), 4x+"39prob4d 43ptid L34ptseamtr1ptsearch">inepm4r+v3c49r_search"commen"">/*span cla Ae <_listNULb_edv2.62 2.ly.sNULbepsbridge_dev quo48 3 3*3ptid L33ptsea4y 39Bridg4.span cla Ae <_listget__dev_slot_efnu3eid L27p33seaget__dev_slot_efnu (ref <_list inepsbridge_de4 quo449ehab <mcheen""!c8c8 3 ruct33p33ptid L33ptseapci_dev1pts) L3384 quo4/c8c8 3mf /sb_edac.c"> 4tid L33p4sea L31ptsearch">inep 43c"> 4fnux+v3c/sb_edac.c"> c8c8 3 ruct33ptid L33p/c8t <_lsb_edac.c"> tid L33p/c8t (ref <_listPCI_DKERN_ERn>inech"5 quo4/c8c8 34/c8c8 33ptidCouldn r9;t find _IN9p36li2 ot;Invalid3nu L3384 quo4/c8c8 3mf /sb_edac.c"> 5, 3ptid 533ptseamc1ptsearch">inep5cc"> 5fnux+v3c/sb_edac.c"> "5 quo4/c8c8 34/c8c8 33ptid rin2x. ring2d. rind!!!quot;Invalid3number of ranks: %d (max = 4) raw5seasource5id1ptsearch">inepsource_5dc"> 50nux+v3c/sb_edac.c"> c"> c8c8 3 ruct33p33ptid L33ptseau82ptsearch344 R;3c/sb_edac.c"> ineppd5v+v3c50bedinepn_de5s quo50lude "inepm5i quo50nux+v3c/sb_edac.c"> inepu8 quo4/cMCMTnam L33p>PCI_DMCMTn1ptsch&ac.c"> DEFINrcRANK_CNT_BITS+v3c/scsb_edacR;3c/sb_edac.c"> 5ridge_pv35ptsearch">inepsbridge_pv5 quo450lude " tid L33p/c8t (ref <_listPCI_DKERN_ERn>inech"5 quo4/c8c8 34/c8c8 33ptidECC is dis62idd. Abortc8cquot;Invalid3nuR;3c/sb_edac.c"> inepsbridge_de5s quo50ehab <mchehab@redh inep 50 quo509ude "ineppci_5r quo51r_search"commen"">/*0ridge_dev quo48 3 3*3ptid L33ptsea5CHANNELS25tsearch">inepNUM_CHANNEL5 quo]51nux+v3c/sb_edac.c"> inepsbridge_d5v quo51lude "/*span cla mtr1ptsearch">inepmtr+v3c), 5hpt3searc5"fux+">.2/dr/modul3e.h/*span clainepin5o quo51nux+v3c/sb_edac.c"> Ae <_listmc L33ptseamem_ctmc sear-fnuxf <_listinepNUM_CHANNEL5 quo]516ux+v3c/sb_edac.c"> .2/dr/pci_3ids.h51 #i51lude " ac.c"> DEFIN L33ptseamem_ctinfo2ch">inepu8 quo4/cj L33ptseamem_ctjnfo2ch">inepu8 quo4/cb"0ux+">39IST_HEADinepu8 quo4/cbuted und_e thetterms o38li2738">inepu8 quo4/cb393c/sb_ed39ac.c"> c133 inepdescr quo=pagehedacridge_dev quo48 3 3*3ptid L33ptsea5C8dge_pv35Memory type dete ajax /25a a<51nux+v3c/sb_edac.c"> inepis_close_5g quo51nux+v3c/sb_edac.c"> .2/dr/ inepMCE_LOG_LE5 quo]52nux+v3c/sb_edac.c"> inepMCE_LOG_LE5 quo]52nux+v3c/sb_edac.c"> DEFINreg3eid L27p33searegedacR;3c/sb_edac.c"> .2/dr/math634.hinepsb-fnuxf <_list Ae <_listSOUR3c, 3 L33ptseamem_ctSOUR3c, 3 (ref <_list inepmce_o5t quo526_search"commac.c"> DEFINreg3eid L27p33searegedacR;3c/sb_edac.c"> ineptnam L27p3>li2752 #i52nux+v3c/sb_edac.c"> inepsb-fnuxf <_list Ae <_listNODE, 3 L33ptseamem_ctNODE, 3 (ref <_list in, tour36 IDarch">inquot;Invalid3number of ranks: %d (max = 4) raw5E_close_p52ptsearch">inepmce_odacr5n quo52nux+v3c/sb_edac.c"> ac.c"> inepsb-fnuxf <_listinecber of ranks: %d (max = 4) raw5tse3a 3 529 ="53nux+v3c/sb_edac.c"> ac.c"> inepsb-fnuxf <_list f <_listinepsb-fnuxf <_list inepto5m quo53nux+v3c/sb_edac.c"> probed5a ;a inepdescr quo3eharah DEFINreg3eid L27p33searegedacR;3c/sb_edac.c"> .2/dr/modul3..h/*span cla 5 L33ptsea5pt2ptsearch">inepopt+v3c5 53nux+v3c/sb_edac.c"> f <_list Ae <_listtru 5 8dge_pv353c),4/c8c8 3 33333338c8 53333353ehab <mchehab@redh inep5pt+v353nux+v3c/sb_edac.c"> c8c8 3 ruct33p3vtid L33ptsea Lpvtedha-fnuxf <_list Ae <_listfalse3.3ptid L33ptsfalseL33pridge_dev quo48 3 3*3ptid L33ptsea5tse33 33 539 ="54nux+v3c/sb_ed3c/sb_edac.c"> ine5pci_dev_descr_sbridge qu5[] = 5fnux+vc/sb_edac.c"> inepu8 quo4/cMCMTnam L33p>PCI_DMCMTn1ptsch&ac.c"> DEFIN3vtid L33ptsea Lpvtedha-fnuxf <_list /*span cla 5ept3eearc5h">ineptnam L34p34li3454 ="5xr_search"commen"">/*s Ae <_listEDAC_S8ECD8lDK_CNT_BITS+v3c/EDAC_S8ECD8lDL33pridge_dev quo48 3 3*3ptid L33ptsea5te quo),45SBRIDGE_IMC_TA+v3c, 0) 5 }54r_search"commc.c"> f <_list Ae <_listtru 5l3ptseapc5SBRIDGE_IMC_TAD0+v3c, 0)5 }54ehab <mchehab@redh c8c8 3 ruct33prtse L33ptseamem_ctmtseedac2> Ae <_listEDAC_S4ECD4lDK_CNT_BITS+v3c/EDAC_S4ECD4lDL33pridge_dev quo48 3 3*3ptid L33ptsea5_ID_INTEL5SBRIDGE_IMC_TAD2+v3c, 0)5 }55nux+v3c/sb_edac.c"> f <_list Ae <_listfalse3.3ptid L33ptsfalseL33pridge_dev quo48 3 3*3ptid L33ptsea5_ID_INTEL5SBRIDGE_IMC_TAD3+v3c, 0)5 }55nux+v3c/sb_ed3c/sb_edac.c"> /*span cla 5x+"35prob5d /*s Ae <_listtru 5_ID_INTEL5SBRIDGE_SAD1+v3c, 0) 5 }55r_search"commc.c"> f <_list ineptnam L27p35li2755 #i55lude " Ae <_listfalse3.3ptid L33ptsfalseL33pridge_dev quo48 3 3*3ptid L33ptsea5_3ptseapc5t BroadcasL3Regis /*span cla 35 355 quo}56nux+v3c/sb_eden"">/*span cla 5+">36IST_5EAD inFG_A3ptid L33ptsearo">inFG_A1ptsch&ac.c"> DEFINreg3eid L27p33searegedacR;3c/sb_edac.c"> Ae <_list/*span cla 5ineppci_d5v_descr_sbridge_table qu5[] = 56lude " commen""> *span cla/*sc.c"> f <_list 3c/sb_ed33ptseadescr1ptrtypt_edv2.62 2.ly.sstyptL33p2> Ae <_listMEM_RDDR3_edv2.62 2.ly.sMEM_RDDR3L33pridge_dev quo48 3 3*3ptid L33ptsea5d36ac.c">5 } else L3384 quo4/c8c8 3mf /sb_edac.c"> 5tri3bbute5 und_e thetterms o3fli2756 #i56lude " f <_list ineptnam L3p>li 3 Ae <_listMEM_DDR3_edv2.62 2.ly.sMEM_DDR3L33pridge_dev quo48 3 3*3ptid L33ptsea5dID_INTEL5vices we are looking for5="lxr56nux+v3c/sb_edac.c"> ac.c"> 5bl2ptsear5h">inepsbridge_pci_tbl+v5c) = 57nux+v3c/sb_edac.c"> f <_list Ae <_listMEM_UNKNOWN_edv2.62 2.ly.sMEM_UNKNOWNL33pridge_dev quo48 3 3*3ptid L33ptsea5aineptnam L34p37li34375 quo}57nux+v3c/sb_edac.c"> *span cla5> 39IST_HEAD 8ridge_dev quo48 3 3*3ptid L33ptsea5ari3bbute5tttttttttttttttttttttttt5a a<57lude 7 quo4/c8c8 3 3333333return -3ptid5th<36 qu5ncillary us rout62 s5="lxr57ehab <mchetnamef <_list 0382 quo4/c8c8 3m# L33ptseamem_ctinfo2"_ed382 quo4/c8c8 3m#NUM_CHANNEL33ptid L33ptseaNUM_CHANNEL3L33pr82 quo4/c8c8 3m# L33ptseamem_ctinfo2++) L3384 quo4/c8c8 3mf /sb_edac.c"> 5p which d5***********************25a a<57nux+v3c/sb_edac.c"> 2 quo4/c8c8 3m#n (r quo4m#L33ptid L33ptseanumrow1ptsearch">inepnumrow quo/sb_edridge_dev quo48 3 3*3ptid L33ptsea5tse37 37 579 ="58nux+v3c/sb_edac.c"> inepm5r+v3c58nux+v3c/sb_edac.c"> tnamef <_list 0382 quo4/c8c8 3m#j L33ptseamem_ctjnfo2"_ed382 quo4/c8c8 3m#ARRAY_SIZE L33ptseamem_ctARRAY_SIZE (ref <_list39IST_HEAD 53CI_DEVIC5NE_MUTEX 2 quo4/c8c8 3m#dimmK_CNT_BITS+v3c/dimmedac2> Ae <_listEDAC_DIMM_PTnam L33p>PCI_DEDAC_DIMM_PTn (ref <_list 53inepmtr5v3c))58lude " x+v3333ac.c"> 2 quo4/c8c8 3m# L33ptseamem_ctinfo2ch">inepu8 quo4/cj L33ptseamem_ctjnfo2ch R;3c/sb_edac.c"> ineptnam L34p38li3458 ="58r_search"commen"">/*sc.c"> f <_list 53inepranks+v3c &g5c 4) 58nux+v3c/sb_edac.c"> 3c/sb_eddddddddddddddddddd> f <_list39IST_HEAD DEFINrch">inepnumrow quo/sb_edR;3c/sb_edac.c"> 537;x (%04x)\n"<5 a dddd> f <_list ixquot;Invalid3num ac.c"> DEFIN L33ptseamem_ctinfo2ch">inepu8 quo4/cj L33ptseamem_ctjnfo2ch">inepu8 quo4/crch">inepnumrow quo/sb_edR;3c/sb_edac.c"> inepmt5+v3c)58lude " en"">/*span clainepnumrow quo/sb_edR) L3384 quo4/c8c8 3mf /sb_edac.c"> 53h<36 qu5INVALneptnam L33p>EINV5L quo58ehab <mchehab@redha3.ob_edc.c"> f <_list /*span cla 38 589 ="59nux+v3c/sb_edac.c"> f <_list Ae <_listnums o3 L33ptseamem_ctnums o3 (ref <_listinepnumrow quo/sb_edR;3c/sb_edac.c"> inepran5s+v3c59nux+v3c/sb_edac.c"> f <_list Ae <_listnumsow L33ptseamem_ctnumsow (ref <_listinepnumrow quo/sb_edR;3c/sb_edac.c"> c133 Ae <_listnumc13 L33ptseamem_ctnumc13 (ref <_listinepnumrow quo/sb_edR;3c/sb_edac.c"> inepm5r+v3c59r_search"commen"">/*sc.c"> 33333333fcommen""> *span cla 3c/sb_edddddddddf <_list (ef <_list inepu64 quo4/c8c133c/sb_ed39ac.c">c133 inepu64 quo4/c8b"0ux+">39IST_HEADinepu64 quo4/c8 f <_list u 3d592 qu59nux+v3c/sb_edac.c"> /*sp3ptseapci_dev1pts2> A5 <5962 s5="lxr57ehab <mchetnamef <_listct33p33pt5d L33ptseapci_dev1pts) 5 L33859pvtedha-fnuxf <_list inepue aja)inepmce_odacr5n quo52nux+v3c/sb_edac.c"> ac.c"> ruct33pt5d L33p/c8t <_lsb_edac.c5> tid5 L33p/c8t (ref <_lf <_listinepsb-fnuxf <_listinecber of ranks: %d (max = 4) raw5tse3a 3 5jnfo2ch">inepu8 quo4/crch">inepnumrow quo/sb_edR;3c/sb_edac.c"> ac.c"6 6 "5 quo4/c8c8 34/c6c8 336tid rin2x. ring2d. rind!!!quot;Invalid3numbi_devL33ptidfnux+v)f <_list ac.c"6 1 6 <_list inepu8 quo4/cb393c/sb_ed39ac.c"> c133 inepdescr quo=pagehedacridge_dev quo48 3 3*3pd592 qu59nux+v3c/sb_edac.c"> inepu8 quo4/cj L33ptseaPTnam L33p>PCI_DEDAC_DIMM_PTn (ref <_c8 3mf /sb_edac.c"> 5r_e_pv35Memory type detr_e_pv3/s">inepnumrow quo/sb_ee_pv35Memory type dete ajax /25a a<51nux+v3c/sb_edac.c"> PCI_DEDAC_DIMM_PTn (ref <_c8 3mf /sb_edac.c"> graineR L3384 quo4grain/s">ine325a a<51nux+v3c/sb_edac.c"> (ef <_list d.sMEM_UNKNOWNL33pridge_dev quo4inDEV_Xmttttt:i_devL33ptidfnuxDEV_Xnepu64 quo4/c8c1DEV_Xnx /25a a<51nux+v3c/sb_edac.c"> y.sMEM_UNKNOWNL33pridge_dev quo48 3 3*3ptid L3edac5ptsearch">inepMCE_LOG_LE5 quo]52nux+v3c/sb_edac.c"> tid6 L33p/c8t (ref <_lc8c8 34/nineppci_devL33ptidfnuxI_DEDAC_DIMM_PTn (ref <_c8 3mf /sb_edac.c"> tquot3c/EDAC_S4ECD4lDL33tquot3c/Eev quo48 3 3*3ptid L3ec/EDAC_S4ECD4lDL33pridge_d5 quo]52nux+v3c/sb_edac.c"> lab_dev1ptsearch">ineab_dh">ine393cofp29e di5 lab_dev1ptsearch">ineab_dh">i)4n quo52nux+v3c/sb_edac.c"> ac.c"6 9uct33pt6d L33p/c8t <_lsb_edac.c6r1pts60L33p/c8t (ref <_lf <_list DEFIN L3PU_SrcIDs: u_33ptseas: u_o4/cs: uinepmce_odacr5n quo52nux+v3c/sb_edac.c"> ac.c"6ev quo48 6 3*3ptid L33ptsea5CHANN6LS25t61id rin2x. ring2d. rind!!!quot;Invalid3numbi_devL33ptidfnuxptsearch">inepsb-fnuxf <_list inept5jnfo2ch">inepu8 quo4/crch">inepnumrow quo/sb_edR;3c/sb_edac.c"> i6epsbr61mtr1ptsearch">inepmtr4v3c))48lude " *sp6#L13p30it6hptsepvtid L33ptsea LE6PCI_D6pvtedha3/c8c8 _CHANNEL5 quo]51nux+v3c/sb_edac.c"> 6nepu86162 s5="lxr57ehab <mchetnamef <_lis6uineppci_6evL33ptidfnux+v3 inepu8 em_dIC5_IDch">ousearch">inepsb-fem_dIC5_IDch">ous#L34p3ptsea8 3 ruct33pmc L33ptseamem_ctmc searR"> mtr1ptsearch">inepmtr+v3c), 5hpt3searc5"fux+">.2/dr/modul3e.h/*span cl6n (r quo6m#L33ptid L33ptseanumro61ptse6reg3ei5L quo58ehab <mchehab@redha3.ob_6_listm#L66typt_edv2.62 2.ly.sm#L6p6yptL36ptseanumrow1pt3 ruct33p3vtid L33ptsea Lpvtedha3> Ae <_listmc L33ptseamem_ctmc sear-fnuxf <_listinepNUM_CHANNEL5 quo]516ux+v3c/sb_edac.c"> k/sb_tid L33ptsea5C8dg_sadx+v5 mtr1ptsearcsadx/sb_tid L33ptsea5C8dg_tadx+v5 mtr1ptsearctadx/sb_tid L33ptsea5C8dsadM_Cterdev1ptsearch">insadM_CterdNNEL5 quo]516ux+v3c/sb_edac.c"> in6pMCE_62ad_dacfig_dwor (ref <_lie_dev quo48 3 3*3ptid L33ptsea5tse3arch"5ux+">.2/dr/ refnu (rL5 quo]51nux+v3c/sb_edac.c"> ine62cRANK_CNT_BITS+v3c/scsb_edacridge_dev quo48 3 3*3ptid L33ptsea4yalue b_dev quo48 3 3*mb <4p29e di5_ri3bbut3b_dev quo48 3 3*kb <519 ="52r_search"commenum# Ae 6hL13p30di6acfig_dwor 3.3ptid L33p6sheha6ead_dacfig_dwor (ref <_lie_dev quo48 3 3*3ptid L33ptsea5tse3arch"5ir_way+">.2/dr/ 3c/sb_6 3c/sb_6 3c/sb_6list probed5a ;a 3c/sb_6leharead_6acfig_dwor 3.3ptid L33p6sheha6ead_dacfig_dwor (ref <_listinepdescr quo3eharah ac.c"6 Ae <_list/6#L13p383c6sb_ed38ac.c"> inepdescr quo3ehc5c"> Ae <_list/6#L13p30di6tid L33ptsea Lpvtedha-6nuxf 63ad_dacfig_dwor (ref <_litmp_mb_dev quo48 3 3*tmp_mb 2L5 quo]51nux+v3c/sb_edac.c"> 5 8dge_6v353c6362 s5="lxr57ehab <mchetnamef <_lis6#L13p383c6sb_ed38ac.c"> inepdescr quo3ehtmp_mb_dev quo48 3 3*tmp_mb <, 1000im#L34p29e di5_36ac.c"3b_dev quo48 3 3*kb /6# inepu8 b_dev quo48 3 3*mb <4p29e di5_ri3bbut3b_dev quo48 3 3*kb <,4inepu64 quo4/c8c133c/sb_ed39ac.c">c133 arah /6 ine5pci6dev_d64nepm5r+v3c58nux+v3c/sb_edac.c"> tnamef6L34p39arc6"5aid L33p5 Processor H6me Ag641uo4/c8c8 34/c33333333ntelspan c5y 39 Am#L34p2rfnajptseal <_ly 45:25t*39 L3354 quo59nux+v3c/sb_edac.c"> 3c/sb_6heharead_6acfig_dwor 3.3ptid L33p6sheha6ead_dacfig_dwor (ref <_listinepu8 quo4/cMCMTnam L33p>PCI_DMCMTn1sad1a Lpvtedha-fnuxf sad1 <4p29e di5_ri3bbutTOHMa Lpvtedha-fnuTOHMx /24n quo52nux+v3c/sb_edac.c"> ac.c"6inepu8 quo4/cj L33pts#L34p29e di5c/sb_edac5c"> Ae <_list/6#L13p383c6sb_ed38ac.c"> inepdescr quo3ehc5c"> Ae <_list/6#L13p383r6se L33ptseamem_ctmtseeda62> 64cRANK_CNT_BITS+v3c/scsb_edactmp_mb_dev quo48 3 3*tmp_mb 2L5 quo]51nux+v3c/sb_edac.c"> 5l3ptse6pc5SB6IDGE_IMC_TAD0+c8c8 33ptidmc# b_dev quo48 3 3*mb inepdescr quo3ehtmp_mb_dev quo48 3 3*tmp_mb <, 1000im#L34p29e di5_36ac.c"3b_dev quo48 3 3*kb /6#L13p383c6sb_ed38ac.c"> in, tour36 IDarch">inquot;Invalid3number of raTOHM 4) rawuseasour3u GB (0xeasour16Lx)j L33ptseamem_ctjnfo2ch">inepu8 b_dev quo48 3 3*mb <4p29e di5_ri3bbut3b_dev quo48 3 3*kb <,4inepu64 quo4/c8c133c/sb_ed39ac.c">c133 arah /6# 64 589 ="59nux+v3c/sb_edac.c"> 6ist 3c/sb_6 3c/sb_6 eharead_6SE_PGK_CNT_BITS+v3c/IS_C6OSE_P6 (refctttttttttttttttttttttttttttttt* TAD2r5">ineps st 3c/sb_6 efnIS_LO6sb_ed38ac.c"> 3c/sb_6 L13p383c6tid L33ptsea Lpvtedha-6nuxf 6 <_lisctttttttttttttttttttttttttttttt* algorithm bellow.9 L3354 quo59nux+v3c/sb_edac.c"> 3c/sb_6 L13p383r63mf /sb_edac.c"> 5_ID_IN6EL5SB6IDGE_Sttttttttttttttttttt4 pttttttttt*39 L3354 quo59nux+v3c/sb_edac.c"> 3c/sb_6ist refnu (rL5 quo]51nux+v3c/sb_edac.c"> 39ISMAX_SAD+v5 mtr1ptseaMAX_SAD <533ptseamem_ctARRg_sadx+v5 mtr1ptsearcsadx/sb_+v3351 quo58bed6#L34p38id6 L29p3aarc5_ID_INTEL5SBR6DGE_B654 385 quo4/c8c8 34/c33333333ntelspan c5y 39 edacLIMIT Am#L34p2rfnajptse45:26t*39 L3354 quo59nux+v3c/sb_edac.c"> 3c/sb_6i 3565<_listinepu8 quo4/cMCMTnam L33p>PCI_DMCMTn1sad0a Lpvtedha-fnuxf sad0 <4p29e di5_ri3bbutdram_rulEM_UNKNOWNL33pridram_rulE 3c/sb_6 Ae <_list/6#L13p383h6haread_dacfig_dwor 3.3pt6d L36ptsheharead_dacfig_dwor (ref <_lilimixf <_listinepdescr quo3ehc5c"> Ae <_list/6span cla<6fnIS_RDIMM_EN <_lDK_CNT_6ITS+v66ed335 quo}53nux+v3c/sb_edac.c"> *span cla Ae <_lDRAM_RULE8c8 3mfah">inepdescr quo3ehc5c"> Ae <_list/*span cl6 f <_li6t 6 /6sL13p383r6scr1ptrtypt_edv2.62 2.ly6sstyp66ce_o5t quo526_search"commac.c"> 65tri36bute5 und_e thetterms <_listlimixf <_list refnu 51 ="51r_search"commen"">/*span cl6 ruct33p36t 6 /6sL34p38id6scr1ptrtypt_edv2.62 2.ly6sstyp6L33p2>v3c) 56bed/6s limixf <_list 2L5 quo]51nux+v3c/sb_edac.c"> 5bl2pts6ar5h"67<_listinepdescr quo3ehtmp_mb_dev quo48 3 3*tmp_mb <, 1000im#L34p29e di5_36ac.c"3b_dev quo48 3 3*kb /6ist inepmce_odacr5n quo52nux+v3c/sb_edac.c"> ac.c"6descr1ptr6ypt_edv2.62 2.ly.sstyptL63p2> 6 Ae <_listMEM_UNKN/c8c8 34/c8c8 33ptidCmmng_sadx+v5 mtr1ptsearcsadx/sb_tn quo52nux+v3c/sb_edac.c"> ac.c"6d commen"6urn -3ptid5p37search5>in6ptnam67em_ctinfo2ch">inepu8 quo4/cj Lc8c8 33ptidCmmnem_ddram_at5dinepdescr quo3ehc5c"> Ae <_list ac.c"6df <_li6a5binepu8 b_dev quo48 3 3*mb <4p29e di5_ri3bbut3b_dev quo48 3 3*kb <,n quo52nux+v3c/sb_edac.c"> ac.c"6dL13p383r6Omeall suppor_ed3DDR3 DI6Motyp67siiztedac2> (ef <_list inepu64 quo4/c8c133c/sb_ed39ac.c">c133 tmp_mb_dev quo48 3 3*tmp_mb <)i ac.c"6d L3384 q6IST_HEAD 8r6dge_d676ptid 384 4 385 quo4/c8c8 34/nd39ac.c">c133 INTERLEAVE_MODf"> Ae <_lINTERLEAVE_MODfah">inepdescr quo3ehc5c"> Ae <_list ac.c"6druct33p36d5th<36 qu5ncillary 6us ro67L33p/c8t (ref <_lc8c8 34/nnepdescr quo3ehc5c"> Ae <_list/6 0382 6uo4/c674 385 quo4/c8c8 34/c8c8 33ptidLocksrch&ac.c"> refnu (r_listlimixf <_list/6< 6#L34p36h"6u53ptid L35ptseamtr1pts6arch"68<_listinepu8 quo4/cMCMTnam L33p>PCI_DMCMTn1sad0a Lpvtedha-fnuxf sad0 <4p29e di5_ri3bbutiCterdeave_lista Lpvtedha-fnuiCterdeave_list 3c/sb_6 <_list<6 ij L33ptseamem_ctjnfo26> 0386 quo4/c8c8 3m#j L33ptsssssssssssssssssssssss#L34p29e di5c/sb_edac5c"> Ae <_list/6 2 quo4/c6c8 3m#dimmK_CNT_BITS+v3c6dimme6ac2> Ae <_listED29e di5c/sb_edasadM_Cterdev1ptsearch">insadM_CterdNNEL (r_listsadMpkc"> Ae <_lsadMpkcah">inepdescr quo3ehc5c"> Ae <_list/*sc.c"> 6 x+v3333a6.c"> 2 quo4/c8c8 3m# L63ptse6mem_ctinfo2ch">inepu8 eamem_ctjnfo2"_ed382 quo4/c8c8 3m#ARRAY_SIZE L33ptseamem_ctARRAY_SIZE (ref <_list 53CI_DEVIC5NE_MUTEX6 f <_li6tAY_SIZE (ref <_list<"> 0s#L34p#L34pD29e di5c/sb_edasadM_Cterdev1ptsearch">insadM_CterdNNEL ((r_listsadMpkc"> Ae <_lsadMpkcah">inepdescr quo3ehc5c"> Ae <_listAY_SIZE (ref <_lisA51 ="51r_search"commen"">/*span cl6ddddddddd6ddddddddd> f <_list<6 io/6aregx+">39IST_HEAD/6 f <_li6t 6 /*s6an cla inepmce_odacr5n quo52nux+v3c/sb_edac.c"> ac.c"6dc.c"> 6 <_list Ae <_lsadMpkcah">inepdescr quo3ehc5c"> Ae <_listAY_SIZE (ref <_lisA55v3c) 56bed/6 68eptnam L3p>li 3< /25a a<57nux+v3c/sb_ed} else L33846 6 <_list 3c/sb_6#L34p38id6 53ptid L35ptseamtr1pts6arch"694 3ctttttttttttttttttttttttttttttt* Stid 3) Get TAD2rfnaj9 L3354 quo59nux+v3c/sb_edac.c"> 3c/sb_6#f <_li6commen""> *span cla 3c/sb_6ddddddddd6 <_list refnu (rL5 quo]51nux+v3c/sb_edac.c"> 39ISMAX_TAD+v5 mtr1ptseaMAX_TAD <533ptseamem_ctARRg_tadx+v5 mtr1ptsearctadx/sb_+v3351 quo58bed6#en"">/*s63ptseapci_dev1pts2> A6 <69<_list inepu8 quo4/cMCMTnam L33p>PCI_DMCMTn1ha0a Lpvtedha-fnuxf ha0tad_dram_rulEM_UNKNOWNL33pritad_dram_rulE 3c/sb_6ct33p33pt6d L33ptseapci_dev1pts) 6 L33869pvtedha-fnuxf <_list Ae <_list/6 ruct33pt6d L33p/c8t <_lsb_edac.c6> tid6 L33p/c8t (ref <_lr (ref <_lilimixf <_listinepdescr quo3ehc5c"> Ae <_list/7 7 "5 quo4/c8c8 34/c7c8 337tid rin2x. ring2d. <_listlimixf <_list refnu 51 ="51r_search"commen"">/*span cl7 1 7 <_list/7#L34p38.c7_core38NODEVtid L33ptse7u88NO70c2> Ae <_listED29e di5c/sb_edatmp_mb_dev quo48 3 3*tmp_mb limixf <_list 2L5 quo]51nux+v3c/sb_edac.c"> /*sc.c"> 7#L34p37y 7a5s533ptsea5_span clainepdescr quo3ehtmp_mb_dev quo48 3 3*tmp_mb <, 1000im#L34p29e di5_36ac.c"3b_dev quo48 3 3*kb /7#534p37y 7a <_list (ef <_lc8c8 33ptidCmmnot determge_ mh"fux+typtquot;Invalid3nuR;3c/sb_edac.c"> inepmce_odacr5n quo52nux+v3c/sb_edac.c"> ac.c"7#634p37y 7a4tri29bute4 und_e thett7S_ECC706ptid 384 4 385 quo4/c8c8 34/n_ctdimm edac++;g_tadx+v5 mtr1ptsearctadx/sb_tjnfo2ch">inepu8 b_dev quo48 3 3*mb <4p29e di5_ri3bbut3b_dev quo48 3 3*kb <,n quo52nux+v3c/sb_edac.c"> ac.c"7#734p37y 7aptseapci_dev1pts2> A7> tid7 L33p/c8t (ref <_lc8c8 34/ntIMM_PTn (rev_3pt inepdescr quo3ehtmp_mb_dev quo48 3 3*tmp_mb <, 1000im#L34p29e di5_36ac.c"3b_dev quo48 3 3*kb 39ISMAX_TAD+v5 mtr1ptseaMAX_TAD <533ptseamem_ctARRg_tadx+v5 mtr1ptsearctar1ptsearctar1ptsearctar1ptsearctar1ptsearctar1ptsearctar1ptsearctar1ptse3333333ntc8 34/c7c8 337tid 33nto38 4/c8c8 3{0,}4/c8cnfo2ch">inepu8 b_dev quo48 3 3*mb <4p29e di5_ri3bbut3b_de73ptseas: 7#3u_o4/cs: uinepmce_o7acr5n7quo52nux+v3c/sb_edac.c"> ac.cearctar1ptsearctar1ptsearctar1ptsearctar1ptsearctar1ptse33333CHc8 34/c7c8 337tid CHo38 4/c8c8 3{0,}4/c8cnfo2ch">inepu8 b_dev quo48 3 3*mb <4p29e di5_ri3bbut3b_de7t inepu8 b_dev quo48 3 3*mb <4p29e di5_ri3bbut3b_de7ttid L33ppsbr61mtr1ptsearch">inep7tr4v37))48lude "inepu8 b_dev quo48 3 3*mb <4p29e di5_ri3bbut3b_de7t <_list34p37li34375 quo}57nux+v7c/sb_7dac.c"> inepu8 b_dev quo48 3 3*mb <4p29e di5_ri3bbut3b_de7t38 4/c8c857nux+v3c/sb_ed commen""7 *sp671n quo52nux+v3c/sb_edac.c"> aearctar1ptsearctar1ptsearctar1ptsearctar1ptsearctar1ptse33333ett57nux+v3c/sb_ed}3333ett5o38 4/c8c8 3{0,}4/c8cnfo2ch">inepu8 b_dev quo48 3 3*mb <4p29e di5_ri3bbut3b_de7tDIMM_PTn EL5 quo]51nux+v3c/sb_eda7.c"> 71"> ac.c"6dL13p383r6Omeall suppor_ed3DDR3 DItlimixf <_list 6#L34p36h"6u53ptid L35ptseamtr1pts6arch"68<_listinepu8 em_dIC5_IDc7">ous7arch">inepsb-fem_dIC5_IDch">ous#L34p3pts7a8 3 ruc733pmc L33ptseamem_ctmc 7earR"71tttttttttttttttttttttttt* Stid 1) Get TOLM/TOHM_rfnajax L3354 quo59nux+v3c/sb7ow1pt3 r7ct33p3vtid L33ptsea Lp7tedha71 Lpvtedha6fnuxf63tttttttttttttttttttttttt4 4tt*39 L33offsets, per each efnu3e9b.OLM/TOHM_rfnajax L3354 quo59nux+v3c/sb7-fnuxf 7_list probed5a ;a k7sb_ti7 L33ptsea5C8d8c8 3mf /sb_edac.c"> 5p which d5***********************25a a<57nux+v3c/sb_edac.c"> 2 quo4/c8c8 3m#n (r quo4m#L33ptid L33ptseanumrow1ptsearch">inepnumrow quo/sb_edridge_dev quo48 3 3*3ptid L33ptsea5tse37 /*span cl6 f ich d5dr/delay.3/*span cla 38 589 ="59nux+v3c/sb_edac.c"> f ux+v3333en"">/7#L34p38.c7_core38NODEmix/sb_ti7 L33ptsea5C8dprch&a7.c"> 72n quo52nux+v3c/sb_edac.c"> q6o4/c8c8 3mf /sb_edac.c">65tri36bute5 und7mp_mb <719 ="52r_search"commenum7 Ae72"> ac.c"6dL13p383r6/c8c8 3m#j L33ptseamem_ctjnfo2++) L3384 quo4/c8c8 3mf /sb_edac.c"> 53CI_DEVIC5NE_MUTEX ac.c"7#734p37y 7aptseaparead_dacfig_dwo <_listAY_SIZE (ref <_list<"> 0s#L34p#L34pD297<4p29e di7_ri3bbut3b_dev quo48 3 37kb 72ux+v3c/sb_edac.c"> tad_dram_rulEM_UNKNOWNL33pritad_dram_rulE 39IST_HEAD DEFI7inepMCE_Lc"> DEFI7 ac.c"> inepu8 b_dev quo4p37y 7a5s533ptsea5_span cla 73c/sb_6 ac.*tmp_mb <, 1000im#L34p29e di5_36ac.c"3b_dev quo48 3 3*kb /7#534p37y 7a <_list (ef <_lc8c8 33ptidCmmnot determge_ mh"fux+typtquot;Invalid3nuR;3c/sb_edac.c">tid L33p7sea Lpvtedha6fnuxf63 /75a a73aR;3c/sb_edac.c"> inepmce_odacr5n quo52nux+v3c34/n_ctdimm edac++;g_tadx+v5 mtr1ptsearctadx/sb_tjnfo2ch">inepu 34/c33337333ntelspan c5y 39 Am#L37p2rfn73c6c8 3m#dimmK_CNT_BITS+v3c6dimme6ac2> ao/saregxedac quo4/c8c8 3 333j L33ptd. rind!!!quot;Invalid3numbi_devL33ptidfnux+v)f <_list 3c7sb_6leharead_6acfig_dwor73.3pt73ac.c"> ac.*tmp_mb <, 1000im#L34p29e di5_36ac.c <_lc8c8 34/ntIMM_PTn (rev_3pt inepdescr quo3ehtmp_mb_dev quo48 3 epdescr q7o3eharah 39ISMAX_TAD+v5 mtr1ptd/6#L13p38376sb_e738ac.c"> listinepdescr quo3e7tmp_m73tttttttttttttttttttttttt* Stid 1) Get TOLM/TOHM_rfnajax L3354 quo59nux+v3c/sb7m#LTOLM 47 rawuseasour3u GB (0xeas7ur16L73 Lpvtedha6fnuxf63tttttttttttttttttttttttt4 6tt*39 RIR Wtttttt/Lh"6u, per each efnu3e9b.OLM/TOHM_rfnajax L3354 quo59nux+v3c/sb7 34/c33337333ntelspan c5y 39 Am#L37p2rfn74fnux+v3c/sb_edac.c"> probed5a ;a 3c/sb_6heharead_6ac7ig_dw74 L33ptsea5C8d8c8 3mf /sb_edac.c"> 5p which d5***********************25a a<57nux+v3c/sb_edac.c"> 2 quo4/c8c8 3m#n (r quo4m#L33ptid L33ptseanumrow1ptsearch">inepnumrow quo/sb_edridge_dev quo48 3 3*3ptid L33ptsea5tse37inepu8 quo7/cMCM74ac.c"> /*span cl6 f ich d5dr/delay.3/*span cla 38 589 ="59nux+v3c/sb_edac.c"> f ux+v3333en"">/7#L34p38.c7_core38NODEd/6#L13p38376sb_e738ac.c"> 65tri36bute5 und7(tohE_inf7K_CNT_BITS+v3c/3vGET_TOH7a Lp74"> ac.c"6dL13p383r6/c8c8 3m#j L33ptseamem_ctjnfo2++) L3384 quo4/c8c8 3mf /sb_edac.c"> 53CI_DEVIC5NE_MUTEX A5 RIR_RAN_deseaparead_dacfig_dwo <_listAY_SIZE (ref <_list<"> 0s#L34p#L34pD2978f <_li7t tad_dram_rulEM_UNKNOWNL33pritad_dram_rulE 39IST_HEADinepMCE_Lc"> 6#L34p3ped386c_c.c">HEAD DEFI7n (rev_37t inepdescr quo3e7tmp_m74v quo48 3 3*3ptid L3ec/EDAC_S4ECD4lDDDDDDDDDDDDDDD (ref <_lr (ref <_lilimixf <_listlimi7 iisc33337333ntelspan c5y 399 L3374 quo74uo52nux+v3c/sb_edac.c"> ac.men"">/*span cl6 f IS RIR_VALIi_dev1pts2> AIS RIR_VALIio38 4/c8c8 3{0,}4/c8cnfo2ch">inepu8 b_dev quoux+v3333en"">/7#L34p38.c7_core38NODEp39arch"57ID_INTEL5SBR6DGE_I6C_DDR7ctttt75h6haread_dacfig_dwor 3.3pt6d L36ptsh q6o4/c8c8 3mf /sb_edac.c">65tri36bute5 und7 quo59nux7v3c/sb_edac.c"> 3c/sb_67ehare75nux+v3c/sb_edac.c"> 3c/sb_6#L34p38id6 7, it9 L3754 quo59nux+v3c/sb_edac.7"> 375ac.c"> inepu8 b_dev quo4p37y 7a5s533ptsea5_span cla7 3c/s758ac.c"> inepu8 b_dev quo3ptsea5_span cla 57ID_IN758ac.c"> /7#534p37y 7a <_list (ef <_lc8c8 33ptidCmmnot determge_ mh"fux+typtquot;Invalid3nuR;3c/sb_edac.c">b_ed38ac.7"> elid id">inepmce_odacr5n quo52nux+v3c86c:uo4/c8c8 34/n_ctdimm edac++;g_tadx+v5 mtr1ptsearctadx/sb_tjnfo2ch">inepui6 ruct33736tid L33ptsea Lpvtedh7-6nux753 3*3ptid L3edac5ptsearch">inepMCE_Lcao/saregxedac quo4/c8c8 3 333j L33ptd. rind!!!quot;Invalid3numbi_devL33ptidfnux+v)f <_listinepdescr quo3ehtmp_mb_dev quo48 3 uo59nux+v7c/sb_edac.c"> 3c/sb_6i 7 39ISMAX_TAD+v5 mtr1ptata3.3pti7 L33ptshehata1ptsch">in7pu8 q7o4/cMCMTnam L33p>PCIec/EDAC_S4ECD4lDD*tmp_mb <, 10ped386c 6#L34p3ped386cea5_D2r7,aregx+">39ISMAX_TAD+v5 mtr1pt3c) 56bed7a ;a/67L13p373h6haread_dacfig_dwor 3.3pt6d L36ptshe/c8c8 3{0,}4/c8cnfo2ch">inepu8 b_dev quo3ptsea5_span clainepd7scr q76nux+v3c/sb_edac.c"> 3c/sb_6#L34p38id6 7o4/c8c8 370, <_list /c8c8 3mf /sb_eddsadM_Cterdev1ptsearcSIZE (ref <_list<"> 0s#L34p#L34pD297>inepdesc7 quo3ehc5c"> Ae <_7isttad_dram_rulEM_UNKNOWNL33pritad_dram_rulE 39IST_HEAD lim7xf 76ux+v3c/sb_edac.c"> /*s66666666666666666666666 (ref <_lr (ref <_lilimixf <_list refnu 51 ="51r7searc7"commen"">/*span cl6 r.3pt6d L36ptshe/c8c8 3{0,}4/c8333333re7urn -3ptid5s433ptsea5_ts7tsearctar1ptse3RIR_OFFSE8c8 34/c7c8 337tRIR_OFFSE8o38 4/c8c8 3{0,}4/c8cnfo2ch">inepu8 b_dev quo4pttttttt*6ilimix/sb_ireg3eid L27p33seTdacLIM7sv5 mtr7.ly6sstyp6L33p2>v3c) 56b7dli 3<7/2S+v3c/scsb_edactmp_mb_7ev qu763mf /sb_edac.c"> lab_dev1ptsearch">ineab_dh">ine393c00im#L34p29e di5_36ac.c"3b_dev quo48 3 3*kb /7#534p37y 7a <_list (ef <_lc8c8 33ptidCmmnot determge_ mh"fux+typtquot;Invalid3nuR;3c/sb_edac.c">f <_lis7 275 quo]51nux+v3c/sb_edadev1ptsearch">ineab_dh">ine393cave m_ctin, IC5_ID_iCterdeave m_ctin, TGT:4) raw5E_) raw5E_) raw5ECHha-fnux RIRha-fnux INTLha-fnuxf offset id id">inepmce_odacr5n quo52nux+v3ctgt:uo4/c8c8 34/n_ctdimm edac++;g_tadx+v5 mtr1ptsearctadx/sb_tjnfo2ch">inepu_DIMM_PTn7 (rev_3pt inepdes7r quo7ehtmp_mb_dev quo48 3 33c/sb_edadev1ptsearch">ineab_dh">ine393cearcsadx/sb_tid L33ptsea5C8dg_tadx+v5 mtr1ptsearctadx/sb_tid L33ptsea5C8dsadM_Cterdev1ptsearch mtr1ptsearctadx/sb_tjnfo2ch">inepu_f <_li7Ladaem_ctinfm_ctis up to7) raw7seasour3u GB (0xeasour.c"> lab_dev1ptsearch">ineab_dh">ine393c00im#L34p29e di5_36ac.c <_lc8c8 34/ntIMM_PTn (rev_3pt inepdescr quo3ehtmp_mb_dev quo48 3 /sb_edac.7"> ac.c"6d commen"6urn7-3pti75p37search5>in6ptnam67em_ctinfoooooooooooooooooepdescr q84o4/c8c8 3m# L63 384 16a39ISMAX_TAD+v5 mtr1ptnepdescr 7uo3ehc5c"> Ae <_li7t aooooooooooooooooedescr q84o4/c8c8r1ptsearctar1ptsearctar1ptsearctar1ptse3RIR_RNK3ettc8 34/c7c8 337tRIR_RNK3etto38 4/c8c8 3{0,}4/c8cnfo2ch">inepu8 b_dev quoD2r7,aregx+">39ISMAX_TAD+v5 mtr1ptnpt_edv2.7*kb <,n quo52nux+v3c/s7_edac7c"> ac.c"6dL13p383r6Omeall sudev1ptsearch">ineab_dh">ine393c <_lilimixf <_list listinepde7cr quo3ehc5c"> Ae 7_list7a A ?i_;3c/sb_edac.c"list/6 0382 6uo4/listli 3<7mix/sb_5v3c) 56bedin7pu8 q7o4/cMC/*span cl6n (r quo6m#L33ptid L33ptseanumro61ptse6reg3ei5L quo58ehab <mchehab@/7#L34p38.c7_core38NODE3c) 56bed7a ;a/672 quo7/c6c8 (ref <_list<"> 0s#L34p#L34pD297">sadMpkc7> Ae <_lsadMpkcah"7inepd7scr quo3ehc5c"ridge_dev quo48 3 3*3ptid L33de L33pt6eanum67 tid L33de uo58ehab <mchehab@tid L33de L33pt6eanum67 tid L33de uo58ilimix/sb_ireg3eid L27p33seTdacLIM7 (ref <7list 53CI_DE7IC5NE783*mb (ef <_lc8c8 33ptitid L33rdeav ij L33ptseamem_ctjtid L33rdeav ij ac.c <_lc8c8 34/ntI ij L33ptseamem_ctj ij ac.cZE (ref <_list<"> 0s#L34p#L34pD297 ic/sb_e738ac.c"> 6 7 <_list/7#L34p38.c7_core38NODE3">inepde7SENT (refc8c8 33ptidCmm7ot de78commen"">/*span cl6 r.3pt6d returndev quo48 3 3*3ptid L33de L33pt6eanum67 tid L33de uo58tadx+v5 mtr1ptsear 39ptseanumro61ptseciuo58ilimix/sb_ireg3eid L27p33seTdacLIM7 v5 mtr7 0382 6uo4/list list 7 39ISMAX_TAD+v5 mtr1pt3ptid L37ptseamtr1pts6arch"694 7ctttt79ac.c"> ac.*tmp_mb <, 108 3m# L63 384 16a39ISMAX_TAD+v5 mtr1pt3(ref <7#f <_li6commen""> *spa7 cla<79n quo52nux+v3c/sb_edac.c"> aoooooooo/c8c8 3{0,}4/c8u8ptsearctar1ptsea3mf /shab <mchehab@tsb_ed L33pt6eanum67 tsb_eduo58D2r7,aregx+">39ISMAX_TAD+v5 mtr1pt3di5c/sb_7 iiizt_edv2.62 2.l69cRA7K_CNT79"> ac.c"6dL13p383r6Omeall sudev1ptselongshab <mchehab@efnu3e9_masdsadM_Cterdev1ptefnu3e9_masduo58D2r7,aregx+">39ISMAX_TAD+v5 mtr1pt3 ic/sb_e7i6i4tri29bute4 und_e the7t6rms79ux+v3c/sb_edac.c"> /*s66/c8c8 3{0,}4/c8u8ptsearctar1ptsea3mf /shab <mchehab@randsadM_Cterdev1ptranduo58D2r7,aregx+">39ISMAX_TAD+v5 mtr1pt3">inepde7ptsearctadx/sb_IinepMCE_Lcefnr *hab <mchehab@area_typptseapci_dev1ptsarea_typpac.c efnr *ab <mchehab@ s <_lilimixf <_ s o38 ux+v3333en"">/7#L34p38.c7_core38NODEata3.3pti7 L33ptshehata1ptsch">in7pu8 q7o4/cMC (ref <_list<"> 0s#L34p#L34pD2973c) 56bed7a ;a/67ruct37pt6d L33p/c8t/*span cl6n (r quo6m#L33ptid L33ptseanumro61ptse6reg3ei5L quo58eeeee*ab <mchehab@new_ 39ptseanumro61ptsnew_ 39uo58ilimix/sb_ireg3eid L27p33seTdacLIM7Tf <_li7tinepd7scr q7o3ehc5c"> Aridge_dev quo48 3 3*3ptid L33ulE refnu 51 ="51r8searc8"commen"">/*sptria /*s66/c8c8 3{0,}4/c8n_rie.span cla Ae <_listAY_Sc.c"> ac.c"7#734p37y 7aptseapci_dev1pts2> A A ck_xchef <_lis6m#L6 ck_xchuo58ilimix/sb_ireg3eid L27p33seTdacLIM8s1ch&8c33ntelspan c5y 399 L338_list8D29e di5c/sb_etria /*s66/c8c8 3{0,}4/c8i_listAY_SIZE (ref <_lisA5edac.c"> 3c/sb_6 dxarcsadx/sb_tid dxisA5edac.c"> 3c/sb_6base_chef <_lis6m#L6base_chuo58ilimix/sb_ireg3eid L27p33seTdacLIM8s2ch&8ctseamtr1pts6arch"694 8"> 285 quo]51nux+v3tria /*s66/c8c8 3{0,}4/c8nfo26> 0386m4/carcsadx/sb_tid fo26> 0386m4/cuo58ilimix/sb_ireg3eid L27p33seTdacLIM8s3ch&8cf <_li6commen""> *spa8uo48 80n quo52nux+v3unsigned /*s66/c8c8 3{0,}4/c8i_listAY_SIZE (ref <_l 038HEADAY_SIZE im#L[8:6]Xearcsilimix/sb_ireg3eid L27p33seTdacLIM8s4ch&8c iiizt_edv2.62 2.l69cRA8r quo80CterdNNEL ((rab <mchehab@8r1ptsearctar1ptsearctar1a /*s66/c8c8 3{0,}4/c8 <_lilimixf <_list/*s66/c8c8 3{0,}4/c8chmnamef <_lis6m#L6chmnamisA5e_dev1pts2> A ck_namef <_lis6m#L6 ck_namt/*s66/c8c8 3{0,}4/c8) 6 offsettseapci_dev1pts) 6 offsetHEADilimix/sb_ireg3eid L27p33seTdacLIM8s7ch&8c L33ptshehata1ptsch">in8ac.c"8b_dev quo48 3 ab <mchehab@8r1ptsearctar1ptsearctar1a /*s66/c8c8 3{0,}4/c8 hetnamef <_lis6m#L6ped386c.c"> limix/sb_ireg3eid L27p33seTdacLIM8s8ch&8c ;a/68dx+v580j L33ptseamem_ctjnfo2ch">ine8r1ptsearctar1ptsearctar1a /*s66/c8c8 3{0,}4/c800im#L34p29e di5_36ac.c <_lc8c8 34/ntIMM_PTn (rev_3pt inepd8acr5n8quo52nux+v3c/s*tmp_mb <, 108 3m# L63 384 16a/*s66/c8c8 3{0,}4/c8chmadde.span cla 6#L34p36h"6u53pt <_lc8c8 34/ntI"_ed382g_tadx+v5 mtr1ptsearctadx/sb_IZE L33ptseamem_ctARRg_tad8tinep8tr4v381nux+v3c/sb_edac.c"> 3c/sb_6#L34p38id6 8t <_lis834p37li34375 quo}57nux+v8c/sb_8dac.c"> 81L5SB6IDGE_Sttttttttttttttttttt4 ptttttTtttcheck 3354 qLis probably enoughxeasfill all cases wheruo59nux+v3c/sb_edac.c"> 3c/sb_6ddddddddd686_info61n8pmt4+v3c)48lude 7 quo4/c8c8 3 81wor (ref <_lisrch&ac.c"> r tttterrc8Lis nodac.sidttap37y 7a, except /c8cttttlegacyo59nux+v3c/sb_edac.c"> 3c/sb_6ddddddddd6866ch&8lt;mchetnamef <_lis6ui8eppci813b_de (ref <_lisrch&ac.c"> r 33ptst(e. g. VGAtaptid es). ItLis unlike algheems simthat m bellow.9 L3354 quo59nux+v3c/sb_edac.c"> 8reevoitjn8o2ch">inepu8 em_dIC5_IDc8">ous8arch"> (ref <_lisrch&ac.c"> r 37y 7a4 q6orolctttwould generatttanterrc8Lonmthat 33ptsuo59nux+v3c/sb_edac.c"> 3c/sb_6ist probed5a ;a Ae 7 <_list 0s#L34p#L34pD298-fnuxf 8_listPCI_DMCMTn1sad0a spr fef <_lis6m#L6 pr fo38 4/c8c8 3{0,}4/c8 s <_lilimixf <_ s o38 TGT:4) raw5E_) raw5E_) raw5EErrc8Lat TOLM area,Lonmadde _ctdimm eLx++;g_tadx+v5 .*tmp_mb <, 10adde.span cla k8sb_ti82easour3u GB (0xeasourreturnd-*tmp_mb <, 10EINVALptseanumro61ptsEINVALEah" limix/sb_ireg3eid L27p33seTdacLIM8 <519 ="82r_search"commenum# Ae8 6h82ac.c"> 82n quo52nux+v3 7 <_list 0s#L34p#L34pD298mp_mb <819 ="52r_search"commenum8 Ae82"> ac.c"6dL13p383r6_DMCMTn1sad0a spr fef <_lis6m#L6 pr fo38 4/c8c8 3{0,}4/c8 s <_lilimixf <_ s o38 TGT:4) raw5E_) raw5E_) raw5EErrc8Lat MMIOH area,Lonmadde _ctdimm nux+++;g_tadx+v5 .*tmp_mb <, 10adde.span cla returnd-*tmp_mb <, 10EINVALptseanumro61ptsEINVALEah" limix/sb_ireg3eid L27p33seTdacLIM8 6ch&8<519 ="52r_search"commen8m# 823b_dev quo48 list 83c/sb_6 probed5a ;aehc5c"> Ae <_list Ae <_list A6 S<69<_list Ae <_list 0s#L34p#L34pD298c.c"> 3c8sb_6leharead_6acfig_dwor83.3pt8rctar1a LOSE_PGK_CNT_BI"pvtedha-fnuxf sad0 <4p29e di5_ri3bbutiCterdeave_lista Lpvtedha-fnuiCterdeave_list 3c/sb_6t6d L33ptseapci_dev1ptsL33869pvtedha-fnuxf <_list Ae <_list /6#L13p38386sb_e838ac.climix/sb_ireg3eid L27p33seTdacLIM8d_info61n8K_CNT_BITS+v3c/3vGET_TOL8a Lp83ux+v3c/sb_edac.c"> men"">/*span cl6 f DRAM_RULE_ENABLXio/s">AY_SIZE DRAM_RULE_ENABLX Lpvtedha-fnuiCterdcnfo2ch">inepu8 b_dev quoux+v3333en"">/7#L34p38.c7_core38NOD88f <_li8ti q6o4/c8c8 3mf /sb_edac.c">65tri36bute5 und8 34/c8c8 83ptidmc# b_dev quo48 3 8*mb 8inepdescr quo3e8tmp_m833333en"">/6< /7 7 "S quo4/c8c8 34/c7c8 337tSd rin2x. ring2d. <_listlimixf <_list 0s#L34p#L34pD298 34/c33338333ntelspan c5y 39 Am#L38p2rfn84aR;3c/sb_edac.c"> 3c/sb_6heharead_6ac8ig_dw84easour3u GB (0xeasour.c"> labreturnd-*tmp_mb <, 10EINVALptseanumro61ptsEINVALEah" limix/sb_ireg3eid L27p33seTdacLIM8id L33pt8hehata1ptsch">inepu8 quo8/cMCM84ac.c"> /6#L13p38386sb_e838ac.c"> 6#L34p36h"6u53ptux+v3333en"">/7#L34p38.c7_core38NOD8(tohE_inf8K_CNT_BITS+v3c/3vGET_TOH8a Lp84"> ac.c"6dL13p383r66666666648 3 3*tmp_mb limi88f <_li8t <_lc8c8 34/ntI"_ed382g_tadx+v5 mtr1ptsea9nux+v3c/sb_edac.c"> 6#L34p36h"6u53pt3*tmp_mb limi88f <_li83ptidmc# b_dev quo48 3 8*mb 843b_dev quo48 listinepdescr quo3e8tmp_m84v quo48 3 3*3 7 <_list Ae <_list A6 S<69<_luE (ref <_list<"> 0s#L34p#L34pD298 (rev_38 rawuseasour3u GB (0xeas8ur16L843333en"">/6< 3c/sb_68ehare85easour3u GB (hab <mchehab@area_typptseapci_dev1ptsarea_typpac.csea9nux+v3c/sb_edalimixf <_list 385ac.c"> 0386m4/carcsadx/sb_tid fo26> 0386m4/cuo58sea9nux+v3c/sb_edaim#L[8:6]X_MODXio/s">AY_SIZE im#L[8:6]X_MODX. ring2d. <_listlimixf <_list8 3c/s853*mb 58ID_IN85CterdNNEL ((rab <mchehab@"pvtedha-fnuxf sad0 <4p29e di5_ri3bbutiCterdeave_lista Lpvtedha-fnuiCterdeave_list 3c/sb_6 fo26> 0386 ij L33ptseamem_ctj fo26> 0386 ij edha-fnuxf <_list Ae <_list AY_SIZE (ref <_lisA5sea9nux+v3c/sb_eda(refpk <_lilimixf <_(refpk . ring2d. <_listlimixf <_lis, 0 ilimix/sb_ireg3eid L27p33seTdacLIM8i (rev_38ptsearcsadx/sb_I 0s#L34p#L34pD298uo59nux+v8c/sb_edac.c"> 3c/sb_6i 8 Aeiseamem_ctjnfo2i_listAY_SIZE (ref <_lisA5seea9nux+v3c/sb_eda(refpk <_lilimixf <_(refpk . ring2d. <_listlimixf <_lis, 7 <_list/7#L34p38.c7_core38NOD8ata3.3pti8 L33ptshehata1ptsch">in8pu8 q8o4/cMCMTnam L33p>PCIec/EDAC_48 3 3*tmp_mb limi83c) 56bed8a ;a/68L13p383h6haread_dacfig_dwor iseamem_ctjnfo2i_listAY_SIZE (ref <_l 038HEADlimixf <_lis, 7 <_listlimi83quo59nux8tinepd8scr q86easour3u GB (0xeasour 7 <_listm_ctin, IC5_ID_iCterdeave m_ctin, TGT:4) raw5E_) raw5E_) raw5ES<64tri29bute4 ichmmnelid iddac++;g_tadx+v5 mtr1ptsearctadx/sb_tjnfo2ch">inep8o4/c8c8 380, <_list A A _listAY_SIZE (ref <_l 038HEADlimi83 Ae <_8istm_ctin, IC5_ID_iCterdeave m_ctin, TGT:4) raw5E_) raw5E_) raw5Emc ichmmnelErrc8LdetectedLonmS) raw5E_istaptid L_ctdimm nux+ UTEX<_ctdimm nux+, Iri29bute4 [aw5E_is6]aw5E_sac++;g_tadx+v5 mtr1ptsearctadx/sb_tjnfo2ch">inep8o_ed38ac.8s <_listlim8xf 86ux+v3c/sb_edac.c"> tedha-fnuiCterdeave_list inep8o6 ruct338c.c"> refnu 51 ="51r8searc8"commen"">/*span cl6 r.fnuxf <_listinep8o (rev_38.ly6sstyp6L33p2>v3c) 56b8dinep8oo59nux+v8/2S+v3c/scsb_edactmp_mb_8ev qu863mf /sb_edac.c"> lab_d9nux+v3c/sb_edac.c"> 6#L34p36h"6u53ptc mtr1ptsearctadx/sb_tjnfo2ch">inep8ota3.3pti8 285 quo]51nux+v3c/sb_edad 7 <_listinep8_DIMM_PTn8 (rev_3pt inepdes8r quo8ehtmp_mb_dev quo48 3 33/c8c8 3{0,}4/c8nfo26> 0386m4/carcsadx/sb_tid fo26> 0386m4/cuo58s?TGT:4) raw5E_) raw5E_) raw5E++;g_tadx+v5 :TGT:4) raw5E_) raw5E_) raw5EXOR[18:16]a+;g_tadx+v5 t 0386m4/carcsadx/sb_tid fo26> 0386m4/cuo58ux+v3333en"">/7#L34p38.c7_core38NOD8/sb_edac.8"> ac.c"6d commen"6urn8-3pti85p37search5>in6ptnam67 7 <_list 7 Ae <_li8t ac.c"6dL13p383r6 7 <_list 7 0s#L34p#L34pD298h">inepde8cr quo3ehc5c"> Ae 8_list8a A ?i_;3c/sbcase 1: (ref <_list<"> 0s#L34p#L34pD298h (rev_38n"">/6li 3<8mix/sb_5v3c) 56bed lab_48 3 3*tmp_mb limi8h <_lis8tep3.3ptid L33ptst 0s#L34p#L34pD298ata3.3pti8 L33ptshehata1ptsch">in8pu8 q88h6haread_dacfig_dwor iseamem_ctjnfo2ndxarcsadx/sb_tid dxisA5seaiseamem_ctjnfo2ndxarcsadx/sb_tid dxisA5st5c"> 13*tmp_mb limi83c) 56bed8a ;a/682 quo88easour3u GB (0xeasour48 3 3*tmp_mb limi8">sadMpkc8> Ae <_lsadMpkcah"8inepd8scr quo3ehc5c"case 4: (ref <_list<"> 0s#L34p#L34pD298a 53CI_DE8IC5NE888ac.c"> 33*tmp_mb limi8"pt_edv2.8dasadM_Cterdev1ptsearch"8insad88"> ac.c"6dL13p383r648 3 3*tmp_mb limi8"_ed38ac.838ac.c"> 6 0s#L34p#L34pD298a">inepde8SENT (refc8c8 33ptidCmm8ot de88commen"">/*span cl6 r48 3 3*tmp_mb limi8" (rev_38 0382 6uo4/default: (ref <_list<"> 0s#L34p#L34pD298a3p>li 3<8_edac.c"> /6< 8 AY_SIZE (ref <_l 038HEAD m_ctin, IC5_ID_iCterdeave m_ctin, TGT:4) raw5E_) raw5E_) raw5ES<64tri29bute4 indexelid idd (wttttttlid idd)seaCPUctsb_ed4id iddac++;g_tadx+v5 mtr1ptsearctadx/sb_tjnfo2ch">inep83(ref <8#f <_li6commen""> *spa8 cla<89n quo52nux+v3c/sb_edacao/saregxedac qndxarcsadx/sb_tid dxisA5ci_dev1pts2> A inepde8ptsearctadx/sb_I r Mot 8ata3.3pti8 L33ptshehata1ptsch">in8pu8 q89rch"> (ref <_lisrch&ac.c"> r right PCI 34/isi29s TOLM/TOHM_rfnajax L3354 quo59nux+v3c/sb83c) 56bed8a ;a/68ruct389tttttv3c/sb_edac.c"> probed5a ;ainepd8scr q89uo52nux+v3c/s*tmp_mb <, 10new_ 39ptseanumro61ptsnew_ 39uo58sea9nux+v3c/sb_eda refnu 51 ="51r9searc9"commen"">/*spten"">/*span cl6 f new_ 39ptseanumro61ptsnew_ 39uo58ZE (ref <_list<"> 0s#L34p#L34pD299s1ch&9c33ntelspan c5y 399 L339_list90easour3u GB (0xeasour 7 <_listinep9s2ch&9ctseamtr1pts6arch"694 9"> 290ac.c"> *spa9uo48 90n quo52nux+v3c/sb_edareturnd-*tmp_mb <, 10EINVALptseanumro61ptsEINVALEah" limix/sb_ireg3eid L27p33seTdacLIM9s4ch&9c iiizt_edv2.62 2.l69cRA9r quo90CterdNNEL ((rlistin9ac.c"90oK_CNT_BITS+v3c/3vdiv_3pt /69dx+v590tttttttttttttttttttttttt* Stid 1) Get TOLM/TOHM_rfnajax L3354 quo59nux+v3c/sb9s9ch&9cinepd9acr5n90 Lpvtedha6fnuxf63tttttttttttttttttttttttt4 2tt*39 37y 7a4 fnu3e9b.OLM/TOHM_rfnajax L3354 quo59nux+v3c/sb9t probed5a ;ainep9tr4v3911 <_list <8c8 3mf /sb_edac.c">ehc"> ac.c"7#734p37y 7aptseap mtr1ptsearctadx/sb_+vc"> ac.c"7#734p37y 7aptseap UTEX A6 T<69<_list ac.c"7#734p37y 7aptseapSIZE (ref <_list<"> 0s#L34p#L34pD299t38 4/c8c957nux+v3c/sb_ed commen""9 *sp6918ac.c"> A) 6 t6d L33ptseapci_dev1pts) 6 t6d L33pHEAD ac.c"7#734p37y 7aptseap5c/sb_edac5c"> Ae <_list 91"> ac.c"6dL13p383r6Omeall sudev1ptsearch" (ref <_lr (ref <_lilimixf <_list <_lc8c8 34/ntI6bed/7 7 "T quo4/c8c8 34/c7c8 337tTd rin2x. ring2d. <_listlimixf <_list/*span cl6 r 7 <_list 0s#L34p#L34pD299reevoitjn9o2ch">inepu8 em_dIC5_IDc9">ous91v quo48 3 3*3ptid L3ec/EDAC_ (r quo4m#L33ptspr fef <_lis6m#L6 pr fo38 4/c8c8 3{0,}4/c8 s <_lilimixf <_ s o38 TGT:4) raw5E_) raw5E_) raw5ECantdi9;t discot<"ctttt37y 7a4 fnu3e9a+;g_tadx+v5 t lab_dev1ptsereturnd-*tmp_mb <, 10EINVALptseanumro61ptsEINVALEah" limix/sb_ireg3eid L27p33seTdacLIM9ow1pt3 r9ct33p3vtid L33ptsea Lp9tedha91uo52nux+v3c/sb_edac.clistPCI e 7 <_list 6#L34p36h"6u53ptux+v3333en"">/7#L34p38.c7_core38NOD94p29e di59ri3bbut3c/sb_edac.c"> k9sb_ti92easour3u GB (0xeasourrrrrrrrr48 3 3*tmp_mb limi9 <519 ="92r_search"commenum# Ae9 6h92ctar1a LOSE_PGK_CNT_BI"_ed382g_tadx+v5 mtr1ptsea9nux+v3c/sb_edac.c"> 6#L34p36h"6u53pt3*tmp_mb limi9mix/sb_ti9 L33ptsea5C8dprch&a9.c"> 92A51 ="51r_selistlimixf <_list + 13*tmp_mb limi94_info61n9_ri3bbut3b_dev quo48 3 39kb 92696ptid 384 4 3eamem_ctjnfo2 ck_namef <_lis6m#L6 ck_namtlimixf <_list + 13*tmp_mb limi946ch&9<519 ="52r_search"commen9m# 923b_dev quo48 ttttttttttt* Stid 1) Get TOLM/TOHM_rfnajax L3354 quo59nux+v3c/sb9 (ref <_lisrch&ac.c"> r FIXME: Is it right to alnams use4 fnu3e9 0<8c8 offsets? TOLM/TOHM_rfnajax L3354 quo59nux+v3c/sb9<8 3 ruc9ea Lpvtedha6fnuxf62 is 9ctttt92tttttv3c/sb_edac.c"> probed5a ;a 93c/sb_6 tad_dram_rulEM_UNKNOWNL33pritad_dram_rulE 39IST_HEAD<05c/sb_edac5c"> Ae <_list A) 6 chmnilv offsettseapci_dev1pts) 6 chmnilv offsetHEAD ac.c"7#734p37y 7aptseap5c/sb_edac5c"> Ae <_list lab_dev1pts (ref <_lr (ref) 6 offsettseapci_dev1pts) 6 offsetHEADt 3c9sb_6leharead_6acfig_dwor93.3pt9rctar1a ilimix/sb_i/7#L34p38.c7_core38NOD9d/6#L13p38396sb_e93"> ac.c"6dL13p383r6 7 <_listinepdescr quo3e9tmp_m933333ea ilimix/sb_i 9 rawuseasour3u GB (0xeas9ur16L93 quo]51nux+v3ttttttttttt* Stid 1) Get TOLM/TOHM_rfnajax L3354 quo59nux+v3c/sb9 34/c33339333ntelspan c5y 39 Am#L39p2rfn94fnux+v3c/sb_edac.c"> 3c/sb_6heharead_6ac9ig_dw94easouv3c/sb_edac.c"> probed5a ;ainepu8 quo9/cMCM94ac.c"> 0s#L34p#L34pD299d/6#L13p38396sb_e938ac.c"> case 0: (ref <_list<"> 0s#L34p#L34pD299(tohE_inf9K_CNT_BITS+v3c/3vGET_TOH9a Lp94"> ac.c"6dL13p383r6 7 <_listlimixf <_list 48 3 3*tmp_mb limi98f <_li93ptidmc# b_dev quo48 3 9*mb 94 A ?i_;3c/sbcase 1: (ref <_list<"> 0s#L34p#L34pD299n (rev_39t inepdescr quo3e9tmp_m94v quo48 3 3*3ptid L3 7 <_listlimixf <_list/6< limi98dac.c"> 9333ntelspan c5y 399 L3394 quo949 A ?i_;3c/sbcase 2: (ref <_list<"> 0s#L34p#L34pD299p39arch"59ID_INTEL5SBR6DGE_I6C_DDR9ctttt95h6haread_dacfig_dwor iseamem_ctjnfo2base_chef <_lis6m#L6base_chuo58 7 "T quTGT1ptsearctar1ptseT quTGT1. ring2d. <_listlimixf <_list 3c/sb_69ehare95easour3u GB (0xeasour48 3 3*tmp_mb limi9, it9 L3954 quo59nux+v3c/sb_edac.9"> 395cr quo3ehc5c"case 3: (ref <_list<"> 0s#L34p#L34pD299p9 3c/s958ac.c"> limixf <_list 59ID_IN95"> ac.c"6dL13p383r648 3 3*tmp_mb limi9b_ed38ac.9"> 0s#L34p#L34pD299i6 ruct33936tid L33ptsea Lpvtedh9-6nux953 3*3ptid L3edac5pts 7 <_list 3c/sb_6i 9 in9pu8 q9o4/cMCMTnam hab <mchehab@efnu3e9_masdsadM_Cterdev1ptefnu3e9_masduo58 1ttttttttt*iseamem_ctjnfo2base_chef <_lis6m#L6base_chuo58 limix/sb_ireg3eid L27p33seTdacLIM93c) 56bed9a ;a/69L13p396ptseal <_ly 45:25t*39 L3354 quo59nux+v93quo59nux9tinepd9scr q96easour3u GB ( 7 <_list 0s#L34p#L34pD299o4/c8c8 390, <_list Ae <_9ist 0s#L34p#L34pD299otohE_inf92 2.ly6sstyp66ce_o5t quo926_se9efnIS_. case 2: (ref <_list<"> 0s#L34p#L34pD299o_ed38ac.9s <_listlim9xf 96ux+v3c/sb_edac.c"> case 4: (ref <_list<"> 0s#L34p#L34pD299o6 ruct339c.c"> refnu 51 ="51r9searc9"commen"">/*span cl6 r.dac5pts 7 <_listv3c) 56b9dlimi9oo59nux+v9/2S+v3c/scsb_edactmp_mb_9ev qu963mf /sb_edac.c"> lab_default: (ref <_list<"> 0s#L34p#L34pD299ota3.3pti9 295 quo]51nux+v3c/sb_edaddac5pts 7 <_listinepdes9r quo9ehtmp_mb_dev quo48 3 333333333returnd-*tmp_mb <, 10EINVALptseanumro61ptsEINVALEah" limix/sb_ireg3eid L27p33seTdacLIM9_f <_li9Ladaem_ctinfm_ctis up to9) raw97easour3u GB (0xeasourlist ac.c"6d commen"6urn9-3pti95p37search5>in}aelsea ilimix/sb_i Ae <_li9t /7#L34p38.c7_core38NOD9h">inepde9cr quo3ehc5c"> Ae 9_list97commen"">/*span cl6 rhab <mchehab@efnu3e9_masdsadM_Cterdev1ptefnu3e9_masduo58 | 1ttttttttt* 7 <_list/6li 3<9mix/sb_5v3c) 56bedin9pu8 q98h6haread_dacf/c8c8 3{0,}4/c8 L27m_ctin, IC5_ID_iCterdeave m_ctin, TGT:4) raw5E_) raw5E_) raw5ET) raw5E_istaptid L_ctdimm nux+ UTEX<_ctdimm nux+, tsb_ed4tri29bute44id idd,4 fnu3e9 tri29bute44id idd (offset _ctdimm eLx), index4id idd,4base4 f:4id idd,4 f masd: _ctdimm 2lxac++;g_tadx+v5 mtr1ptsearctadx/sb_tjnfo2ch">inep93c) 56bed9a ;a/692 quo98easour3u GB (0xeasourst ac.c"7#734p37y 7aptseap mtr1ptsearctadx/sb_tjnfo2ch">inep93sb_edac.9> Ae <_lsadMpkcah"9inepd98ac.c"> inep93 53CI_DE9IC5NE988ac.c"> 6#L34p36h"6u53ptc mtr1ptsearctadx/sb_tjnfo2ch">inep9"pt_edv2.9dasadM_Cterdev1ptsearch"9insad98"> ac.c"6dL13p383r67amtr170nepm5r+v38r1ptsearctar1ptsearctar1CLOSE_PGK_CNT_BIT quSOCKc8 34/c7c8 337tTd SOCK. ring2d. <_listlimixf <_listc mtr1ptsearctadx/sb_tjnfo2ch">inep9"_ed38ac.938ac.c"> 6 tedha-fnuiCterdchmnamef <_lis6m#L6chmnamisA5e mtr1ptsearctadx/sb_tjnfo2ch">inep9"">inepde9SENT (refc8c8 33ptidCmm9ot de98commen"">/*span cl6 r <_lc8c8 34/ntIoffsettseapci_dev1ptsoffsetHEAD mtr1ptsearctadx/sb_tjnfo2ch">inep9" (rev_39 inep9"3p>li 3<9_edac.c"> /6< inep9" <_lis9_sbridge qu5[] = 5fnux+v9/sb_e98uo52nux+v3c/sb_edac.crhab <mchehab@efnu3e9_masdsadM_Cterdev1ptefnu3e9_masduo58t 9 probed5a ;a probed5a ;a *spa9 cla<993*mb ac.c"6dL 7 <_list 0s#L34p#L34pD2993 ic/sb_e9i6i4tri29bute4 und_e the9t6rms99ux+v3c/sb_edac.c"> <_lc8c8 34/ntIspr fef <_lis6m#L6 pr fo38 4/c8c8 3{0,}4/c8 s <_lilimixf <_ s o38 TGT:4) raw5E_) raw5E_) raw5ECantdi9;t calculattt f apti:tT q offset _ctdimm eLxLis too high<8c8 adde _ctdimm eLx!++;g_tadx+v5 mtr1ptsearctadx/sb_tjnfo2ch">inep93">inepde9ptsearctadx/sb_I/*span cl6 r.dac5pts 7 <_listin9pu8 q99v quo48 3 3*3ptid L3returnd-*tmp_mb <, 10EINVALptseanumro61ptsEINVALEah" limix/sb_ireg3eid L27p33seTdacLIM93c) 56bed9a ;a/69ruct399h5e35inepd9scr q99uo52nux+v3c/s*tmp_mb <, 10adde.span clainepd10src>10src.c"> pro/pre>imix/sb_ireg3eid L27p33seTdacLIM10s1ch&10s33ntelspan c5y 399 L3310s33>10s1 <_list 0x7f limix/sb_ireg3eid L27p33seTdacLIM10s2ch&10stseamtr1pts6arch"694 10sts>10sac.c"> probed5a ;a *spa10sf >10s3o52nux+v3c/s*tmp_mb <, 10adde.span cla10sCterdNNEL ((rab <mchehab@adde.span cla10sux+v3# 0limix/sb_ireg3eid L27p33seTdacLIM10s6ch&10stsearctadx/sb_I10s3b_dev quo48 ttttttttttt* Stid 1) Get Divide ba4 fnu3e94wtt ch605p3>probed5a ;ain10s L>10s_dev quo48 3 ab <mchehab@adde.span cla/610s >10sh5e35#endifa ilimix/sb_iinepd10s10s quo]51nux+v3ttttttttttt* Stid 1) Get Recot<"cttttttttx6Lbits ch605p3>probed5a ;a1036 <_listinep10psb>1031*mb 103ac.c"> probed5a ;a1033o52nedha6fnuxf63tttttttttttttttttttttttt4 3) De}4/ctrank605p3>probed5a ;a1034o52nedha6fnuxf63tttttttttttttttttttth605p3>probed5a ;a103ux+v3c/sb_eda8c8 3mf /sb_edac.c">ehrie.span cla 0s#L34p#L34pD291036ch&10lt;mchetnamef <_lis6ui10lt;>1033 3*3ptid L3edac5pts 7 <_listtad_dram_rulEM_UNKNOWNL33pritad_dram_rulE 39IST_HEAD Ae <_listinepu8 em_dIC5_IDc10o2c>103v quo48 3 3*3ptid L3eeeeeeeeid L3edac5pts 7 <_list 6#L34p3riemnam_c.c">HEAD Ae <_list1033mf /sb_edac.c"> lab_dev1ptseeeeeeeeeeeeeee (ref <_lr (ref <_lilimixf <_list1039 A ?a ilimix/sb_i10_lmf /sb_edac.c"> lab_ten"">/*span cl6 f IS RIR_VALIi_dev1pts2> AIS RIR_VALIi. ring2d. <_listlimixf <_listux+v3333en"">/7#L34p38.c7_core38NOD10_1ch&10ri3bbut3c/sb_edac.c"> k10ri3>10_easour3u GB (0xeasour.c"> lab q6o4/c8c8 3mf /sb_edac.c">65tri36bute5 und10_2ch&102r_search"commenum# Ae102r_>10_ctar1a ilimix/sb_i10_8ac.c"> /7 7 "RIR_o4/c8c8 34/c7c8 337tRIR_o4/c8. ring2d. <_listlimixf <_listc8 3mf /sb_edac.c">65tri36bute5 und10_4ch&1019 ="52r_search"commenum1019 >10_"> ac.c"6dL13p383r6 7 <_list65tri36bute5 und10_5ch&10_ri3bbut3b_dev quo48 3 310_ri>10_ux+v3c/sb_edac.c"> <_lc8c8 34/ntI L27m_ctin, IC5_ID_iCterdeave m_ctin, TGT:4) raw5E_) raw5E_) raw5ERIR#id idd,433pts:4id idu.tdimm 3u GB (_ctdimm nux+),4wttelid iddac++;g_tadx+v5 mtr1ptsearctadx/sb_tjnfo2ch">inep10_6ch&10<519 ="52r_search"commen10<51>10_commen"">/*span cl6 r.dac5pts1ptsearctadx/sb_+vrie.span clainep10_7ch&10333ntelspan c5y 399 L3310333>10_v quo48 3 3*3ptid L3eeeeeeeei 7 <_listinep10_8ch&10ea Lpvtedha6fnuxf62 is 10ea >10_3mf /sb_edac.c"> lab_dev1ptsee9nux+v3c/sb_edac.c"> 6#L34p36h"6u53ptc mtr1ptsearctadx/sb_tjnfo2ch">inep10_9ch&103c/sb_6 10_ quo]51nux+v3c/sb_edaddac5pts 1ttttttttt*iseamem_ctjnfo2RIR_WAYc8 34/c7c8 337tRIR_WAY. ring2d. <_listlimixf <_listuc8 3mf /sb_edac.c">65tri36bute5 und103rch&10sea Lpvtedha6fnuxf63 /10sea>10semf /sb_edac.c"> lab_ten 7 <_list 6#L34p36h"6u53ptux+v3333en"">/7#L34p38.c7_core38NOD10s1ch&10333ntelspan c5y 39 Am#L310333>10seasour3u GB (0xeasourrrrrrrrr48 3 3*tmp_mb limi10s2ch&10sb_6leharead_6acfig_dwor10sb_>10sp37search5>in}*tmp_mb limi10s3ch&10o3eharah 10sn quo52nux+v3 7 <_list 0s#L34p#L34pD291034ch&10nux+v3333en"">/6#L13p38310nux>10s"> ac.c"6dL13p383r6 7 <_listinep1035ch&10K_CNT_BITS+v3c/3vGET_TOL10K_C>10sux+v3c/sb_edac.c"> 65tri36bute5 und1036ch&10t10scommen"">/*span cl6 rreturnd-*tmp_mb <, 10EINVALptseanumro61ptsEINVALEah" limix/sb_ireg3eid L27p33seTdacLIM10s7ch&103ptidmc# b_dev quo48 3 103pt>10s737search5>in}*tmp_mb limi10s8ch&10t inepdescr quo3e10t >10s3mf /sb_edac. 7 <_list/7 7 "RIR_WAYc8 34/c7c8 337tRIR_WAY. ring2d. <_listlimixf <_list limix/sb_ireg3eid L27p33seTdacLIM10s9ch&10 rawuseasour3u GB (0xeas10 ra>10s9 quo52nux+v3 7 <_listlimixf is_close_pa53ptux+v3333en"">/7#L34p38.c7_core38NOD104rch&10333ntelspan c5y 39 Am#L310333>1033> ac.c"6dL13p383r6 7 <_list 3c/sb_6heharead_6ac10c">>103easour3u GB (elsea ilimix/sb_iinepu8 quo10heh>103p37search5>in6ptnam67 7 <_listprobed5a ;a/6#L13p38310nux>1033o52nux+v3c/s*tmp_mb <, 10ndxarcsadx/sb_tid dxisA5stw5E_ 1ttttttttt*iseamem_ctjnfo2riemnam 6#L34p3riemnam">/7 limix/sb_ireg3eid L27p33seTdacLIM1044ch&10K_CNT_BITS+v3c/3vGET_TOH10K_C>1038ac.climix/sb_ireg3eid L27p33seTdacLIM1035ch&10t103696ptid 384 4 3eamem_ctjnfo2pvtedha-fnuxf ha0tad_dram_rulEM_UNKNOWNL33pritad_dram_rulE 39IST_HEAD Ae <_list103commen"">/*span cl6 r.dac5pts1edac. 7 <_list Ae <_listinepdescr quo3e10t >103v quo48 3 3*3ptid L3eeeeeeeeid L3 (ref <_lr (ref <_lilimixf <_list1033mf /sb_edac.hab <mchehab@rank<_lilimixf <_lank60/7 7 "RIR_RNKuTGTc8 34/c7c8 337tRIR_RNKuTGT. ring2d. <_listlimixf <_list limix/sb_ireg3eid L27p33seTdacLIM1049ch&10333ntelspan c5y 399 L3310333>1039 A ?a ilimix/sb_i10ID96ptid 384 4 3eamem_ctjnfo2 L27m_ctin, IC5_ID_iCterdeave m_ctin, TGT:4) raw5E_) raw5E_) raw5ERIR#id idd:t fnu3e9 aptid L_ctdimm eLxLUTEX<_ctdimm 8x+, RIR4tri29bute44id idd,4index4id iddac++;g_tadx+v5 mtr1ptsearctadx/sb_tjnfo2ch">inep1051ch&10v3c/sb_edac.c"> 3c/sb_610v3c>10Ieasour3u GB (0xeasourstinep1052ch&1054 quo59nux+v3c/sb_edac.1054 >10Iac.c"> inep1053ch&10quo59nux+v3c/sb_edac.c">10quo>10I8ac.c"> 6#L34p36h"6u53ptc mtr1ptsearctadx/sb_tjnfo2ch">inep10I4ch&10p383r63mf /sb_edac.c"> 510p38>10I"> ac.c"6dL13p383r67iseamem_ctjnfo2riemnam 6#L34p3riemnam">/7c mtr1ptsearctadx/sb_tjnfo2ch">inep10I5ch&10"> >10Iux+v3c/sb_edac.c"> tedha-fnuiCterdndxarcsadx/sb_tid dxisA5u limix/sb_ireg3eid L27p33seTdacLIM1056ch&1036tid L33ptsea Lpvtedh1036t>10I6 A ?a ilimix/sb_i10Iv quo48 3 3*3returndrctadx/sb_IZE L33ptseamem_ctARRg_tad10I8ch&10c/sb_edac.c"> 3c/sb_6i 10c/s>10I3mf /}*tmp_mb limi1059ch&10 L33ptshehata1ptsch">in10 L>10I9 A ?a ilimix/sb_i/610a >10a o52nedha6fnuxf63tttttttttt/****************************************************************************605p3>probed5a ;ainepd10t10aeasouv3c/sb_edac.c"> probed5a ;a10a2asouv3c/sb_edac.c"> probed5a ;a Ae <_10 qu>10a3*mb 10a4o52nedha6fnuxf63ttttttttttet605p3>probed5a ;alim10s >10a5asouv3c/sb_edac.c"> probed5a ;a refnu 51 ="51r10c.c>10a3b_de (ref <_lisrch&ac*3 3*3ptid L3eeeeeeeeid L33*3reserved vialid 9;ged+d 9;HE5p3>probed5a ;av3c) 56b10.ly>10arch"> (ref <_lisrch&ac*h605p3>probed5a ;a10a3mf /static void6 7 <_list/7#L34p38.c7_core38NOD1069ch&1010a9 A ? (ref <_list<"> 0s#L34p#L34pD29107rch&10 (rev_3pt inepdes10 (r>10 ( quo52nux+v3 n_6 7 <_list10 1*mb ac.c"6d commen"6urn10"> >10 ac.c"> m_ctin, IC5_ID_iCterdeave m_ctin, TGT:4) raw5E_) raw5E_) raw5Eac++;g_tadx+v5 u limix/sb_ireg3eid L27p33seTdacLIM1073ch&10uo3ehc5c"> Ae <_li10uo3>10 8ac.c"> 8c8 3mf /sb_edac.c">9ptseanumro61pts9uo58r tr1ptsearctadx/sb_9ptseanumro61pts9uo58rtttt*iseamem_ctjnfo2 bridge_devef <_lis6m#L6 bridge_dev quotadx+v5 mtr1ptsearn_dev ac.c"7#734p37y dev isA5<1ptsearctadx/sb_9ptseanumro61pts9uo58SIZE (ref <_list<"> 0s#L34p#L34pD291074ch&10*kb <,n quo52nux+v3c/s10*kb>10 "> ac.c"6dL13p383r6ridge_6 7 <_list39Idevef <_lis6m#L6>39Idev quo4hab <mchehab@pdevef <_lis6m#L6>dev quo4ea9nux+v3c/sb_eda(bridge_devef <_lis6m#L6 bridge_dev quotadx+v5 mtr1ptsearpdevef <_lis6m#L6>dev quo10 ux+v3c/sb_edac.c"> ten"">/*span cl6 f pdevef <_lis6m#L6>dev quoux+v3333en"">/7#L34p38.c7_core38NOD1076ch&10cr quo3ehc5c"> Ae 10cr >10 commen"">/*span cl6 r.dac5pts q6o4/c8c8 3mf /sb_edac.c">65tri36bute5 und1077ch&10n"">/610 v quo48 3 3*3ptid L3 7 <_listinep1078ch&10mix/sb_5v3c) 56bed10 3mf /sb_edac.c"> lab_dev1ptsee9nux+v3c/sb_edapdevef <_lis6m#L6>dev quotadx+v5 mtr1ptsearbu ac.c"7#734p37bu quotadx+v5 mtr1ptsearnumbee.span cla/7c mtr1ptsearctadx/sb_tjnfo2ch">inep1079ch&10tep3.3ptid L33ptst10 quo]51nux+v3c/sb_edaddac5pts v5 mtr1ptsearPCI_SLOTc8 34/c7c8 337tPCI_SLOTNOWNL33pritad_dram_rudevef <_lis6m#L6>dev quotadx+v5 mtr1ptseardevfnm# L63 384 16adevfn quou tiseamem_ctjnfo2PCI_FUNCc8 34/c7c8 337tPCI_FUNCNOWNL33pritad_dram_rudevef <_lis6m#L6>dev quotadx+v5 mtr1ptseardevfnm# L63 384 16adevfn quouu limix/sb_ireg3eid L27p33seTdacLIM108rch&10 L33ptshehata1ptsch">in10 L>10 quo48 3 3*3ptid L3 7 <_list39Idev_putef <_lis6m#L6>39Idev_putNOWNL33pritad_dram_rudevef <_lis6m#L6>dev quou limix/sb_ireg3eid L27p33seTdacLIM1081ch&10a ;a/610a >10 easour3u GB (}*tmp_mb limi1082ch&10> Ae <_lsadMpkcah"10> >10 2mf /}*tmp_mb limi1083ch&10list 53CI_DE10lis>10 3*mb 10 4mf /static void6 7 <_list/7#L34p38.c7_core38NOD1085ch&1038ac.c"> 6 10 5 A ? (ref <_list<"> 0s#L34p#L34pD291086ch&10SENT (refc8c8 33ptidCmm10SEN>10 commen"">/*spridge_6 7 <_list10 oK_CNT_BITS+v3c/3vdiv_3pt 10 3mf /sb_edac. 7 <_list 0s#L34p#L34pD291089ch&10_sbridge qu5[] = 5fnux+v10_sb>10 quo]51nux+v3c/sb_eda 7 <_list 105fn>105fquo]51nux+v3c/sb_eda 7 <_list105easour3u GB (}*tmp_mb limi1092ch&10ptseamtr1pts6arch"694 10pts>1052mf /}*tmp_mb limi1093ch&10#f <_li6commen""> *spa10#f >1053*mb 1054o52nedha6fnuxf63ttttttttttet605p3>probed5a ;a1055asouv3c/sb_edac.c"> probed5a ;a1053b_de (ref <_lisrch&ac*3 3*3ptid L3eeeeeeeeidevice/functions we want to 5a erence 8c8 this aprobed5a ;ain10 L>105rch"> (ref <_lisrch&ac*605p3>probed5a ;a/610a >105tttttv3c/sb_edac.c"> probed5a ;ainepd10t1059ch"> (ref <_lisrch&ac*h605p3>probed5a ;ainepd11src>11src.c"static n_6 7 <_list39Idevef <_lis6m#L6>39Idev quo4hhab <mchehab@prevef <_lis6m#L6>rev quo,robed5a ;a110easour3u GB (0xeasour.c"> lab_dev1pts6 7 <_list110ac.c"> 39Iid_tab3ptseapci_dev1pts>39Iid_tab3p quo4hab <mchehab@tab3ptseapci_dev1ptstab3p quo,robed5a ;a *spa11sf >1108ac.c"> /7#L34p38.c7_core38NOD11s4ch&11s iiizt_edv2.62 2.l69cRA11s i>11sCterd (ref <_list<"> 0s#L34p#L34pD2911s5ch&11s6i4tri29bute4 und_e the11s6i>110ux+v3c/sb_edaridge_6 7 <_list11s3b_dev quo48 const6ridge_6 7 <_list39Iid_desce.span cla39Iid_desce quo4hab <mchehab@dev_desce.span clain11s L>110oK_CNT_BITS+v3c/3vdiv_3pt /611s >1108x+v3c/sb_edaridge_6 7 <_list39Idevef <_lis6m#L6>39Idev quo4hab <mchehab@pdevef <_lis6m#L6>dev quo4ea9nux+v3c/sb_edaNULLptseanumro61ptsNULL quoilimix/sb_ireg3eid L27p33seTdacLIM11s9ch&11sinepd11s110uo52nux+v3c/s*tmp_mb <, 10u8ef <_lis6m#L6u8 quo4v5 mtr1ptsearbu ac.c"7#734p37bu quor trlimix/sb_ireg3eid L27p33seTdacLIM111rch&1136seaeasbridge_dev1ptour1136s>111ptseal <_ly 45:25t*39 L3354 quo59nux+v1111ch&11psbr61mtr1ptsearch">inep11psb>1111 <_list111p37search5>in6ptnam67 T:4) raw5E_) raw5E_) raw5ESeekw5Et8c8:tdev tdimm 2x.id idd PCI ID tdimm 4x:tdimm 4xac++;g_tadx+v5 mtr1ptsearctadx/sb_tjnfo2ch">inep1113ch&1157nux+v3c/sb_ed commen""1157n>1118ac.c"> 111"> ac.c"6dL13p383r6 7 <_list113ux+v3limix/sb_ireg3eid L27p33seTdacLIM1116ch&11lt;mchetnamef <_lis6ui11lt;>1133 3*3ptid L3ab <mchehab@pdevef <_lis6m#L6>dev quo4ea9nux+v3c/sb_eda>39Iget_deviceef <_lis6m#L6>39Iget_device_ctinab <mchehab@PCI_VENDOR_ID_INTELptseanumro61ptsPCI_VENDOR_ID_INTEL quo,limix/sb_ireg3eid L27p33seTdacLIM1117ch&11o2ch">inepu8 em_dIC5_IDc11o2c>113v quo48 3 3*3ptid L3eeeeeeeeid L3ab <mchehab@dev_desce.span clarev quouilimix/sb_ireg3eid L27p33seTdacLIM1118ch&1133pmc L33ptseamem_ctmc 1133p>1113333ea ilimix/sb_i1119 quo52nux+v3 ">/*span cl6 f pdevef <_lis6m#L6>dev quouE (ref <_list<"> 0s#L34p#L34pD29112rch&11_list11_lmf /sb_edac.c"> lab_ten"hab <mchehab@prevef <_lis6m#L6>rev quouE (ref <_list<"> 0s#L34p#L34pD291121ch&11ri3bbut3c/sb_edac.c"> k11ri3>11_easour3u GB (0xeasour.c"> labhab <mchehab@prevef <_lis6m#L6>rev quo4ea9nux+v3c/sb_eda>devef <_lis6m#L6>dev quoilimix/sb_ireg3eid L27p33seTdacLIM11_2ch&112r_search"commenum# Ae112r_>112ac.c"> 11_8ac.c"> limi11_4ch&1119 ="52r_search"commenum1119 >1128ac.climix/sb_ireg3eid L27p33seTdacLIM11_5ch&11_ri3bbut3b_dev quo48 3 311_ri>11_ux+v3c/sb_edac.c"> 7 <_list/7#L34p38.c7_core38NOD11_6ch&11<519 ="52r_search"commen11<51>11_commen"">/*span cl6 r.dac5ptsreturndrctadx/sb_IZE L33ptseamem_ctARRg_tad11_7ch&11333ntelspan c5y 399 L3311333>112oK_CNT_BITS+v3c/3vdiv_3pt 11_3mf /sb_edac.c"> lab_ 7 <_list/7#L34p38.c7_core38NOD11_9ch&113c/sb_6 11_ quo]51nux+v3c/sb_edaddac5ptsreturnd-*tmp_mb <, 10ENODEVm# L63 384 16aENODEV quoilimix/sb_ireg3eid L27p33seTdacLIM113rch&11sea Lpvtedha6fnuxf63 /11sea>113ptseal <_ly 45:25t*39 L3354 quo59nux+v11s1ch&11333ntelspan c5y 39 Am#L311333>11seasour3u GB (0xeasouriseamem_ctjnfo2 bridge_pr k<_lilimixf <_ bridge_pr k_ctinab <mchehab@KERN_INFO<_lilimixf <_KERN_INFO quo,robed5a ;a113ac.c"> inep11s3ch&11o3eharah 1138ac.c"> /6#L13p38311nux>11s"> ac.c"6dL13p383r6doooooooiseamem_ctjnfo2PCI_VENDOR_ID_INTELptseanumro61ptsPCI_VENDOR_ID_INTEL quo,4ab <mchehab@dev_desce.span cla113ux+v3limix/sb_ireg3eid L27p33seTdacLIM1136ch&11t11scommen"">/*span cl6 rttttttttttt* Stid 1) Get End of 6hst, bute44*h605p3>probed5a ;a113v quo48 3 3*3ptid L3returnd-*tmp_mb <, 10ENODEVm# L63 384 16aENODEV quoilimix/sb_ireg3eid L27p33seTdacLIM1138ch&11t inepdescr quo3e11t >113h5e35113uo52nux+v3c/s*tmp_mb <, 10bu ac.c"7#734p37bu quor 9nux+v3c/sb_eda>devef <_lis6m#L6>dev quotadx+v5 mtr1ptsearbu ac.c"7#734p37bu quotadx+v5 mtr1ptsearnumbee.span cla/7ilimix/sb_ireg3eid L27p33seTdacLIM114rch&11333ntelspan c5y 39 Am#L311333>114ptseal <_ly 45:25t*39 L3354 quo59nux+v1141ch&11c"> 3c/sb_6heharead_6ac11c">>1141 <_listinepu8 quo11heh>113p37search5>in ">/*span cl6 f sbridge_devef <_lis6m#L6 bridge_dev quouE (ref <_list<"> 0s#L34p#L34pD291143ch&11nux+v3333en"">/6#L13p38311nux>1148ac.c"> 114"> ac.c"6dL13p383r6 ">/*span cl6 f sbridge_devef <_lis6m#L6 bridge_dev quouE (ref <_list<"> 0s#L34p#L34pD291145ch&11t114ux+v3c/sb_edac.c"> 39Idev_putef <_lis6m#L6>39Idev_putNOWNL33pritad_dram_rudevef <_lis6m#L6>dev quou limix/sb_ireg3eid L27p33seTdacLIM1146ch&113ptidmc# b_dev quo48 3 113pt>113commen"">/*span cl6 r.dac5ptsreturnd-*tmp_mb <, 10ENOMEMm# L63 384 16aENOMEM">/7ilimix/sb_ireg3eid L27p33seTdacLIM1147ch&11t inepdescr quo3e11t >113v quo48 3 3*3ptid L3list1143mf /sb_edac.c"> lab_"hab <mchehab@eum_mc.span cla11495e35115ptseal <_ly 45:25t*39 L3354 quo59nux+v1151ch&11v3c/sb_edac.c"> 3c/sb_611v3c>11Ieasour3u GB ( 7 <_listdev quo 0s#L34p#L34pD291152ch&1154 quo59nux+v3c/sb_edac.1154 >11Iac.c"> 11quo>11I8ac.c"> 511p38>11I"> ac.c"6dL13p383r676inep11I5ch&11"> >11Iux+v3c/sb_edac.c"> 6115commen"">/*span cl6 r.dac5pts 7 <_list115v quo48 3 3*3ptid L3 7 <_list39Idev_putef <_lis6m#L6>39Idev_putNOWNL33pritad_dram_rudevef <_lis6m#L6>dev quou limix/sb_ireg3eid L27p33seTdacLIM11I8ch&11c/sb_edac.c"> 3c/sb_6i 11c/s>1153mf /sb_edac.c"> lab_returnd-*tmp_mb <, 10ENODEVm# L63 384 16aENODEV quoilimix/sb_ireg3eid L27p33seTdacLIM1159ch&11 L33ptshehata1ptsch">in11 L>11595e35/611a >116ptseal <_ly 45:25t*39 L3354 quo59nux+v1161ch&11tinepd11t1161 <_listdev quodevef <_lis6m#L6>dev quoilimix/sb_ireg3eid L27p33seTdacLIM1162ch&110, <_list116ctar1a ilimix/sb_i Ae <_11 qu>1163o52nux+v3c/s*tttttttttt* Stid 1) Get Sanita4 feck4*h605p3>probed5a ;a116"> ac.c"6dL 7 <_listdev quotadx+v5 mtr1ptseardevfnm# L63 384 16adevfn quou ! 7 "dev_desce.span clalim11s >116ux+v3c/sb_edac.c"> 6dev quotadx+v5 mtr1ptseardevfnm# L63 384 16adevfn quou ! 7 "dev_desce.span cla 0s#L34p#L34pD291166ch&11c.c"> refnu 51 ="51r11c.c>1163 3*3ptid L3edac5pts 7 <_listv3c) 56b11.ly>116v quo48 3 3*3ptid L3eeeeeeee T:4) raw5E_) raw5E_) raw5EDevice PCI ID tdimm 4x:tdimm 4x ++;g_tadx+v5 robed5a ;a1163mf /sb_edac.c"> lab_dev1ptse T:4) raw5E_) raw5E_) raw5Ehastdev tdimm 2x:tdimmd.id idd instead of dev tdimm 2x:tdimm 2x.id iddac++;g_tadx+v5 mtr1ptsearctadx/sb_tjnfo2ch">inep1169ch&11116 quo]51nux+v3c/sb_edaddac5pts 7 <_listinep117rch&11 (rev_3pt inepdes11 (r>117lmf /sb_edac.c"> lab_ddac5pts 7 <_listdev quotadx+v5 mtr1ptseardevfnm# L63 384 16adevfn quou tiseamem_ctjnfo2PCI_FUNCc8 34/c7c8 337tPCI_FUNCNOWNL33pritad_dram_rudevef <_lis6m#L6>dev quotadx+v5 mtr1ptseardevfnm# L63 384 16adevfn quou mtr1ptsearctadx/sb_tjnfo2ch">inep1171ch&11Ladaem_ctinfm_ctis up to11Lad>117easour3u GB (0xeasour.c"> labiseamem_ctjnfo2bu ac.c"7#734p37bu quo,4ab <mchehab@dev_desce.span cla ac.c"6d commen"6urn11"> >117ac.c"> Ae <_li11uo3>11 8ac.c"> list1178ac.climix/sb_ireg3eid L27p33seTdacLIM11 5ch&11o48 3 3*tmp_mb <)i11 ux+v3c/sb_eda*tttttttttt* Stid 1) Get Be surprobed5a ;a Ae 11cr >11 commen"">/*sp 7 <_list39Ienab3p_deviceef <_lis6m#L6>39Ienab3p_deviceNOWNL33pritad_dram_rudevef <_lis6m#L6>dev quouLUTEX<_)uE (ref <_list<"> 0s#L34p#L34pD291177ch&11n"">/611 v quo48 3 3*3ptid L3 7 <_list11 3mf /sb_edac.c"> lab_dev1ptseGT:4) raw5E_) raw5E_) raw5ECouldntdi9;t enab3p ++;g_tadx+v5 robed5a ;a11 quo]51nux+v3c/sb_edaddac5ptsiT:4) raw5E_) raw5E_) raw5Edev tdimm 2x:tdimmd.id idd PCI ID tdimm 4x:tdimm 4xac++;g_tadx+v5 mtr1ptsearctadx/sb_tjnfo2ch">inep118rch&11 L33ptshehata1ptsch">in11 L>11 quo48 3 3*3ptid L3.c"> labiseamem_ctjnfo2bu ac.c"7#734p37bu quo,4ab <mchehab@dev_desce.span clainep1181ch&11a ;a/611a >118easour3u GB (0xeasour.c"> labiseamem_ctjnfo2PCI_VENDOR_ID_INTELptseanumro61ptsPCI_VENDOR_ID_INTEL quo,4ab <mchehab@dev_desce.span cla Ae <_lsadMpkcah"11> >118ac.c"> 53CI_DE11lis>1188ac.c"> list1188ac.climix/sb_ireg3eid L27p33seTdacLIM1185ch&1138ac.c"> 6 118696ptid 384 4 3eamem_ctjnfo2eTdam_ctin, IC5_ID_iCterdeave m_ctin, TGT:4) raw5E_) raw5E_) raw5EDetected dev tdimm 2x:tdimmd.id idd PCI ID tdimm 4x:tdimm 4xac++;g_tadx+v5 mtr1ptsearctadx/sb_tjnfo2ch">inep1186ch&11SENT (refc8c8 33ptidCmm11SEN>118commen"">/*span cl6 r.iseamem_ctjnfo2bu ac.c"7#734p37bu quo,4ab <mchehab@dev_desce.span clainep1187ch&11 118v quo48 3 3*3ptid L3eiseamem_ctjnfo2PCI_VENDOR_ID_INTELptseanumro61ptsPCI_VENDOR_ID_INTEL quo,4ab <mchehab@dev_desce.span cla 1183333ea ilimix/sb_i11 quo]51nux+v3edha6fnuxf63ttttttttttet605p3>probed5a ;a 115fn>119 o52nedha6fnuxf63ttttttttttptid L3e* As stated on a39/search.c,cttttra erence countt8cu605p3>probed5a ;a119easouv3c/sb_edac.c"> probed5a ;a1192asouv3c/sb_edac.c"> probed5a ;a *spa11#f >1153*mb v3c/sb_edac.c"> probed5a ;a119496ptid 384 4 3eamem_ctjnfo2>39Idev_gettseapci_dev1pts>39Idev_getNOWNL33pritad_dram_rudevef <_lis6m#L6>dev quou limix/sb_ireg3eid L27p33seTdacLIM1195ch&11i6i4tri29bute4 und_e the11i6i>119ux+v3limix/sb_ireg3eid L27p33seTdacLIM1196ch&11ptsearctadx/sb_I119commen"">/*sphab <mchehab@prevef <_lis6m#L6>rev quo4ea9nux+v3c/sb_eda>devef <_lis6m#L6>dev quoilimix/sb_ireg3eid L27p33seTdacLIM1197ch&11 L33ptshehata1ptsch">in11 L>119oK_CNT_BITS+v3c/3vdiv_3pt /611a >1193mf /sb_edac.returndrctadx/sb_IZE L33ptseamem_ctARRg_tad1199ch&11tinepd11t1159ch">listinepd12src>120ptseal <_ly 45:25t*39 L3354 quo59nux+v12s1ch&12s33ntelspan c5y 399 L3312s33>120easoustatic n_6 7 <_list/7#L34p38.c7_core38NOD12s2ch&12stseamtr1pts6arch"694 12sts>120ac.c" (ref <_list<"> 0s#L34p#L34pD2912s3ch&12sf <_li6commen""> *spa12sf >1208ac.c"> n_6 7 <_list120496ptid 384 4ridge_6 7 <_list39Idevef <_lis6m#L6>39Idev quo4hab <mchehab@pdevef <_lis6m#L6>dev quo4ea9nux+v3c/sb_edaNULLptseanumro61ptsNULL quoilimix/sb_ireg3eid L27p33seTdacLIM12s5ch&12s6i4tri29bute4 und_e the12s6i>120ux+v3c/sb_edaconst6ridge_6 7 <_list39Iid_tab3ptseapci_dev1pts>39Iid_tab3p quo4hab <mchehab@tab3ptseapci_dev1ptstab3p quo4ea9nux+v3c/sb_eda>39Idev_desce_ bridge_tab3ptseapci_dev1pts>39Idev_desce_ bridge_tab3p quoilimix/sb_ireg3eid L27p33seTdacLIM12s6ch&12stsearctadx/sb_I1206 A ?a ilimix/sb_iin12s L>120v quo48 3 3*3while 7 <_list 0s#L34p#L34pD2912s8ch&12s ;a/612s >1203mf /sb_edac.c"> lab_8c8 3mf /sb_edac.c">9ptseanumro61pts9uo58r tr1ptsearctadx/sb_9ptseanumro61pts9uo58rtttt*iseamem_ctjnfo2t b3ptseapci_dev1ptstab3p quotadx+v5 mtr1ptsearn_dev ac.c"7#734p37y dev isA5<1ptsearctadx/sb_9ptseanumro61pts9uo58SIZE (ref <_list<"> 0s#L34p#L34pD2912s9ch&12sinepd12s120 quo]51nux+v3c/sb_edaddac5pts 7 <_listdev quo4ea9nux+v3c/sb_edaNULLptseanumro61ptsNULL quoilimix/sb_ireg3eid L27p33seTdacLIM121rch&1236seaeasbridge_dev1ptour1236s>121 quo48 3 3*3ptid L3.c"> labdo (ref <_list<"> 0s#L34p#L34pD291211ch&12psbr61mtr1ptsearch">inep12psb>121easour3u GB (0xeasour.c"> lab_dev1ptsab <mchehab@rc.span cladev quo,4ab <mchehab@eum_mc.span cla121p37search5>in6ptnam677777777777777777777777777777777777777777777iseamem_ctjnfo2t b3ptseapci_dev1ptstab3p quo,4ab <mchehab@9ptseanumro61pts9uo58u limix/sb_ireg3eid L27p33seTdacLIM1213ch&1257nux+v3c/sb_ed commen""1257n>1218ac.c"> 0s#L34p#L34pD291214ch&12EL5 quo]51nux+v3c/sb_eda12EL5>121"> ac.c"6dL13p383r6 0s#L34p#L34pD291215ch&12pmt4+v3c)48lude 7 quo4/c12pmt>121ux+v3c/sb_edac.c"> 6 0s#L34p#L34pD291216ch&12lt;mchetnamef <_lis6ui12lt;>121commen"">/*span cl6 r.dac5ptsssssssssssssssssssssssssbreak< (ref <_list<"> 0s#L34p#L34pD291217ch&12o2ch">inepu8 em_dIC5_IDc12o2c>123v quo48 3 3*3ptid L3eeeeeeeeid L33333333333list1213mf /sb_edac.c"> lab_dev1ptsee777777777777777iseamem_ctjnfo2sbridge_put_all_devicetef <_lis6m#L6 bridge_put_all_devicetNOWNLu limix/sb_ireg3eid L27p33seTdacLIM1219ch&12ct33p3vtid L33ptsea Lp12ct3>121 quo]51nux+v3c/sb_edaddac5pts returnd-*tmp_mb <, 10ENODEVm# L63 384 16aENODEV quoilimix/sb_ireg3eid L27p33seTdacLIM122rch&12_list12_lmf /sb_edac.c"> lab_id L33333333333list k12ri3>12_easour3u GB (0xeasour.c"> lab}3while 7 <_listdev quou limix/sb_ireg3eid L27p33seTdacLIM12_2ch&122r_search"commenum# Ae122r_>122ac.c"> 12_8ac.c"> 122"> ac.c"6dLlist122ux+v3limix/sb_ireg3eid L27p33seTdacLIM12_6ch&12<519 ="52r_search"commen12<51>12_commen"">/*spreturndrctadx/sb_IZE L33ptseamem_ctARRg_tad12_7ch&12333ntelspan c5y 399 L3312333>122oK_CNlist1223333ea ilimix/sb_i12_ quo]static n_6 7 <_list123lmf /sb_edac.c"> lab_id L3333ridge_6 7 <_list/7#L34p38.c7_core38NOD12s1ch&12333ntelspan c5y 39 Am#L312333>12seasou (ref <_list<"> 0s#L34p#L34pD2912s2ch&12sb_6leharead_6acfig_dwor12sb_>123ac.c"> 1238ac.c"> ridge_6 7 <_list39Idevef <_lis6m#L6>39Idev quo4hab <mchehab@pdevef <_lis6m#L6>dev quoilimix/sb_ireg3eid L27p33seTdacLIM12s4ch&12nux+v3333en"">/6#L13p38312nux>12s"> ac.c"6dL n_6 7 <_list123ux+v3limix/sb_ireg3eid L27p33seTdacLIM1236ch&12t12scommen"">/*sp8c8 3mf /sb_edac.c">9ptseanumro61pts9uo58r tr1ptsearctadx/sb_9ptseanumro61pts9uo58rtttt*iseamem_ctjnfo2 bridge_devef <_lis6m#L6 bridge_dev quotadx+v5 mtr1ptsearn_dev ac.c"7#734p37y dev isA5<1ptsearctadx/sb_9ptseanumro61pts9uo58SIZE (ref <_list<"> L27p33seTdacLIM1237ch&123ptidmc# b_dev quo48 3 123pt>123v quo48 3 3*3ptid L3 7 <_listdev quo4ea9nux+v3c/sb_eda(bridge_devef <_lis6m#L6 bridge_dev quotadx+v5 mtr1ptsearpdevef <_lis6m#L6>dev quoinepdescr quo3e12t >1233mf /sb_edac.c"> lab_ ">/*span cl6 f pdevef <_lis6m#L6>dev quoux+v3333en"">/7#L34p38.c7_core38NOD1239ch&12 rawuseasour3u GB (0xeas12 ra>123 quo]51nux+v3c/sb_edaddac5pts q6o4/c8c8 3mf /sb_edac.c">65tri36bute5 und124rch&12333ntelspan c5y 39 Am#L312333>124fquo]51nux+v3c/sb_eda 7 <_listdev quotadx+v5 mtr1ptseardevfnm# L63 384 16adevfn quouc8 3mf /sb_edac.c">65tri36bute5 und1241ch&12c"> 3c/sb_6heharead_6ac12c">>124easour3u GB (0xeasouriseamem_ctjnfo2funcef <_lis6m#L6func quo4ea9nux+v3c/sb_edaPCI_FUNCc8 34/c7c8 337tPCI_FUNCNOWNL33pritad_dram_rudevef <_lis6m#L6>dev quotadx+v5 mtr1ptseardevfnm# L63 384 16adevfn quouc8 3mf /sb_edac.c">65tri36bute5 und1242ch&12hehata1ptsch">inepu8 quo12heh>124ac.c"> L27p33seTdacLIM1243ch&12nux+v3333en"">/6#L13p38312nux>1248ac.c"> L27p33seTdacLIM1244ch&12K_CNT_BITS+v3c/3vGET_TOH12K_C>124"> ac.c"6dL13p383r6i6 L27p33seTdacLIM1245ch&12t124ux+v3c/sb_edac.c"> L27p33seTdacLIM1246ch&123ptidmc# b_dev quo48 3 123pt>123commen"">/*span cl6 r.dac5pts0xeasouriseamem_ctjnfo2pvtef <_lis6m#L6pvt quotadx+v5 mtr1ptsearp39Isad0ef <_lis6m#L6p39Isad0 quo4ea9nux+v3c/sb_eda>devef <_lis6m#L6>dev quoilimix/sb_ireg3eid L27p33seTdacLIM1247ch&12t inepdescr quo3e12t >123v quo48 3 3*3ptid L33333333333333333break< (ref <_list<"> 0s#L34p#L34pD291248ch&12 rawuseasour3u GB (0xeas12 ra>1243mf /sb_edac.c"> lab_ L27p33seTdacLIM1249ch&12333ntelspan c5y 399 L3312333>124 quo]51nux+v3c/sb_edaddac5pts iseamem_ctjnfo2pvtef <_lis6m#L6pvt quotadx+v5 mtr1ptsearp39Isad1ef <_lis6m#L6p39Isad1 quo4ea9nux+v3c/sb_eda>devef <_lis6m#L6>dev quoilimix/sb_ireg3eid L27p33seTdacLIM125rch&12ID_INTEL5SBR6DGE_I6C_DDR12ID_>125lmf /sb_edac.c"> lab_id L33333333333break< (ref <_list<"> 0s#L34p#L34pD291251ch&12v3c/sb_edac.c"> 3c/sb_612v3c>125easour3u GB (0xeasour.c"> labdefault: (ref <_list<"> L27p33seTdacLIM1252ch&1254 quo59nux+v3c/sb_edac.1254 >12Iac.c"> 12quo>12I8ac.c"> 512p38>12I"> ac.c"6dL13p383r676 0s#L34p#L34pD291255ch&12"> >12Iux+v3c/sb_edac.c"> case 13: (ref <_list<"> L27p33seTdacLIM1256ch&1236tid L33ptsea Lpvtedh1236t>125commen"">/*span cl6 r.dac5ptsswitch 7 <_list L27p33seTdacLIM1257ch&12ptsearcsadx/sb_I125v quo48 3 3*3ptid L3c.c"> case 6: (ref <_list<"> L27p33seTdacLIM12I8ch&12c/sb_edac.c"> 3c/sb_6i 12c/s>1253mf /sb_edac.c"> lab_________________iseamem_ctjnfo2pvtef <_lis6m#L6pvt quotadx+v5 mtr1ptsearp39Ibe.span cla39Ibr quo4ea9nux+v3c/sb_eda>devef <_lis6m#L6>dev quoilimix/sb_ireg3eid L27p33seTdacLIM1259ch&12 L33ptshehata1ptsch">in12 L>125 quo]51nux+v3c/sb_edaddac5pts break< (ref <_list<"> 0s#L34p#L34pD29126rch&12a ;a/612a >126 quo48 3 3*3ptid L3.c"> labdefault: (ref <_list<"> L27p33seTdacLIM1261ch&12tinepd12t126easour3u GB (0xeasour.c"> lab_dev1ptsgoto4 3eamem_ctjnfo2erroe.span cla126ac.c"> Ae <_12 qu>1268ac.c"> 0s#L34p#L34pD291264ch&122 2.ly6sstyp66ce_o5t quo122 2>126"> ac.c"6dL13p383r6case 14: (ref <_list<"> L27p33seTdacLIM1265ch&12s <_listlim12s >126ux+v3c/sb_edac.c"> 6 L27p33seTdacLIM1266ch&12c.c"> refnu 51 ="51r12c.c>1263 3*3ptid L3edac5pts13p383r6case 0: (ref <_list<"> L27p33seTdacLIM1267ch&12.ly6sstyp6L33p2>v3c) 56b12.ly>126v quo48 3 3*3ptid L3eeeeeeeeeeeeeeeeiseamem_ctjnfo2pvtef <_lis6m#L6pvt quotadx+v5 mtr1ptsearp39Iha0ef <_lis6m#L6p39Iha0 quo4ea9nux+v3c/sb_eda>devef <_lis6m#L6>dev quoilimix/sb_ireg3eid L27p33seTdacLIM1268ch&12/2S+v3c/scsb_edactmp_mb_12/2S>1263mf /sb_edac.c"> lab_dev1ptsed6 0s#L34p#L34pD291269ch&12126 quo]51nux+v3c/sb_edaddac5ptsdefault: (ref <_list<"> L27p33seTdacLIM127rch&12 (rev_3pt inepdes12 (r>127lmf /sb_edac.c"> lab_ddac5ptsssssssssgoto4 3eamem_ctjnfo2erroe.span cla127easour3u GB (0xeasour.c"> lablist ac.c"6d commen"6urn12"> >127ac.c"> 0s#L34p#L34pD291273ch&12uo3ehc5c"> Ae <_li12uo3>1278ac.c"> L27p33seTdacLIM1274ch&12*kb <,n quo52nux+v3c/s12*kb>127"> ac.c"6dL13p383r6i6 L27p33seTdacLIM12 5ch&12o48 3 3*tmp_mb <)i127ux+v3c/sb_edac.c"> L27p33seTdacLIM1276ch&12cr quo3ehc5c"> Ae 12cr >127commen"">/*span cl6 r.dac5pts0xeasouriseamem_ctjnfo2pvtef <_lis6m#L6pvt quotadx+v5 mtr1ptsearp39Itaef <_lis6m#L6p39Ita quo4ea9nux+v3c/sb_eda>devef <_lis6m#L6>dev quoilimix/sb_ireg3eid L27p33seTdacLIM1277ch&12n"">/612 v quo48 3 3*3ptid L3i6 0s#L34p#L34pD291278ch&12mix/sb_5v3c) 56bed12 3mf /sb_edac.c"> lab_dev1ptsecase 1: (ref <_list<"> L27p33seTdacLIM1279ch&12tep3.3ptid L33ptst12 quo]51nux+v3c/sb_edaddac5pts0xeasouriseamem_ctjnfo2pvtef <_lis6m#L6pvt quotadx+v5 mtr1ptsearp39Ira ac.c"7#734p37p39Ira quo4ea9nux+v3c/sb_eda>devef <_lis6m#L6>dev quoilimix/sb_ireg3eid L27p33seTdacLIM128rch&12 L33ptshehata1ptsch">in12 L>12 quo48 3 3*3ptid L3.c"> labd6 0s#L34p#L34pD291281ch&12a ;a/612a >128easour3u GB (0xeasour.c"> labcase 2: (ref <_list<"> L27p33seTdacLIM1282ch&12> Ae <_lsadMpkcah"12> >128ac.c"> labcase 3: (ref <_list<"> L27p33seTdacLIM1283ch&12list 53CI_DE12lis>1288ac.c"> L27p33seTdacLIM1284ch&12dasadM_Cterdev1ptsearch"12das>128"> ac.c"6dL13p383r6i6 L27p33seTdacLIM1285ch&1238ac.c"> 6 128ux+v3c/sb_edac.c"> 6devef <_lis6m#L6>dev quoilimix/sb_ireg3eid L27p33seTdacLIM1286ch&12SENT (refc8c8 33ptidCmm12SEN>128commen"">/*span cl6 r................break< (ref <_list<"> 0s#L34p#L34pD291287ch&12 128v quo48 3 3*3ptid L3eeeeeeeedefault: (ref <_list<"> L27p33seTdacLIM1288ch&12_edac.c"> 1283mf /sb_edac.c"> lab_dev1ptsed6128 quo]51nux+v3c/sb_edaddac5ptslist 125fn>129 quo48 3 3*3ptid L3.c"> labbreak< (ref <_list<"> 0s#L34p#L34pD291291ch&12333ntelspan c5y 399 L3312333>129easour3u GB (0xeasourcase 17: (ref <_list<"> L27p33seTdacLIM1292ch&12ptseamtr1pts6arch"694 12pts>129ac.c"> labswitch 7 <_list L27p33seTdacLIM1293ch&12#f <_li6commen""> *spa12#f >1298ac.c"> L27p33seTdacLIM1294ch&12 iiizt_edv2.62 2.l69cRA12 i>129"> ac.c"6dL13p383r6devef <_lis6m#L6>dev quoilimix/sb_ireg3eid L27p33seTdacLIM1295ch&12i6i4tri29bute4 und_e the12i6i>129ux+v3c/sb_edac.c"> 6 0s#L34p#L34pD291296ch&12ptsearctadx/sb_I129commen"">/*span cl6 r........default: (ref <_list<"> L27p33seTdacLIM1297ch&12 L33ptshehata1ptsch">in12 L>129v quo48 3 3*3ptid L3i6/612a >1293mf /sb_edac.c"> lab_dev1ptselistinepd12t129 quo]51nux+v3c/sb_edaddac5ptsbreak< (ref <_list<"> 0s#L34p#L34pD2913srch&13srch iTdacLIMITah">inepd13src>130 quo48 3 3*3ptid L3default: (ref <_list<"> L27p33seTdacLIM13s1ch&13s33ntelspan c5y 399 L3313s33>130easour3u GB (0xeasour.c"> labgoto4 3eamem_ctjnfo2erroe.span cla130ac.c"> *spa13sf >1308ac.cist130"> ac.c"6dL13p383r6 3eamem_ctjnfo2eddam_ctin, IC5_ID_iCterdeave m_ctin, TGT:4) raw5E_) raw5E_) raw5EAssociated PCI tdimm 2x.id id02d.id idd with dev = tdimmpac++;g_tadx+v5 mtr1ptsearctadx/sb_tjnfo2ch">inep13s5ch&13s6i4tri29bute4 und_e the13s6i>130ux+v3c/sb_edac.c"> 6inep13s6ch&13stsearctadx/sb_I130commen"">/*span cl6 r.........9nux+v3c/sb_edaPCI_SLOTc8 34/c7c8 337tPCI_SLOTNOWNL33pritad_dram_rudevef <_lis6m#L6>dev quotadx+v5 mtr1ptseardevfnm# L63 384 16adevfn quou tiseamem_ctjnfo2PCI_FUNCc8 34/c7c8 337tPCI_FUNCNOWNL33pritad_dram_rudevef <_lis6m#L6>dev quotadx+v5 mtr1ptseardevfnm# L63 384 16adevfn quou mtr1ptsearctadx/sb_tjnfo2ch">inep13s7ch&13s L33ptshehata1ptsch">in13s L>130v quo48 3 3*3ptid L3i6/*span cl6 f pdevef <_lis6m#L6>dev quouilimix/sb_ireg3eid L27p33seTdacLIM13s8ch&13s ;a/613s >130h5e35inepd13s130 quo]ist131 quo48 3 3*3*tttttttttt* Stid 1) Get Cfeck4if e/sbythw5E werttragistertd4*h605p3>probed5a ;ainep13psb>131easour3u GB ( ">/*span cl6 f pvtef <_lis6m#L6pvt quotadx+v5 mtr1ptsearp39Isad0ef <_lis6m#L6p39Isad0 quo4|| ">/*span cl6 f pvtef <_lis6m#L6pvt quotadx+v5 mtr1ptsearp39Isad1ef <_lis6m#L6p39Isad1 quo4|| ">/*span cl6 f pvtef <_lis6m#L6pvt quotadx+v5 mtr1ptsearp39Iha0ef <_lis6m#L6p39Iha0 quo4||robed5a ;a131p37search5>in6ptn">/*span cl6 f pvtef <_lis6m#L6pvt quotadx+6 7 <_list39Itat/*span cl6 f pvtef <_lis6m#L6pvt quotadx+v5 mtr1ptsearp39Ira ac.c"7#734p37p39Ira quo44|| ">/*span cl6 f pvtef <_lis6m#L6pvt quotadx+v5 mtr1ptsearp39Itaef <_lis6m#L6p39Ita quoux+v3333en"">/7#L34p38.c7_core38NOD1313ch&1357nux+v3c/sb_ed commen""1357n>1318ac.c"> 1318ac.climix/sb_ireg3eid L27p33seTdacLIM1315ch&13pmt4+v3c)48lude 7 quo4/c13pmt>131ux+v3c/sb_eda8c8 3mf /sb_edac.c">9ptseanumro61pts9uo58r tr1ptsearctadx/sb_9ptseanumro61pts9uo58rtttt*iseamem_ctjnfo2NUM_CHANNELSptseanumro61ptsNUM_CHANNELS quoi1ptsearctadx/sb_9ptseanumro61pts9uo58SIZE (ref <_list<"> L27p33seTdacLIM1316ch&13lt;mchetnamef <_lis6ui13lt;>131commen"">/*span cl6 r ">/*span cl6 f pvtef <_lis6m#L6pvt quotadx+v5 mtr1ptsearp39Itat/7#L34p38.c7_core38NOD1317ch&13o2ch">inepu8 em_dIC5_IDc13o2c>133v quo48 3 3*3ptid L3eeeeeeeegoto4 3eamem_ctjnfo2enodevef <_lis6m#L6enodev quoilimix/sb_ireg3eid L27p33seTdacLIM1318ch&1333pmc L33ptseamem_ctmc 1333p>131h5e35131 quo]51nux+v3returndrctadx/sb_IZE L33ptseamem_ctARRg_tad132rch&13_list132ptseal <_ly 45:25t*39 L3354 quo59nux+v1321ch&13ri3bbut3c/sb_edac.c"> k13ri3>13_easou 3eamem_ctjnfo2enodevef <_lis6m#L6enodev quo: (ref <_list<"> L27p33seTdacLIM13_2ch&132r_search"commenum# Ae132r_>132ac.c"> <9nux+v3c/sb_eda(bridge_pr k<_lilimixf <_ bridge_pr k_ctinab <mchehab@KERN_ERR<_lilimixf <_KERN_ERR quo,TGT:4) raw5E_) raw5E_) raw5ESome needed devices arttmissw5Eac++;g_tadx+v5 uilimix/sb_ireg3eid L27p33seTdacLIM1323ch&13 L33ptsea5C8dprch&a13 L>13_8ac.c"> returnd-*tmp_mb <, 10ENODEVm# L63 384 16aENODEV quoilimix/sb_ireg3eid L27p33seTdacLIM13_4ch&1319 ="52r_search"commenum1319 >1328ac.climix/sb_ireg3eid L27p33seTdacLIM1325ch&13_ri3bbut3b_dev quo48 3 313_ri>132ux+v3 3eamem_ctjnfo2erroe.span cla L27p33seTdacLIM13_6ch&13<519 ="52r_search"commen13<51>13_commen"">/*sp9nux+v3c/sb_eda(bridge_pr k<_lilimixf <_ bridge_pr k_ctinab <mchehab@KERN_ERR<_lilimixf <_KERN_ERR quo,TGT:4) raw5E_) raw5E_) raw5EDevice id idd, function id idd ++;g_tadx+v5 robed5a ;a132v quo48 3 3*3ptid L3eeeeeeGT:4) raw5E_) raw5E_) raw5Eis out of thttexpected rangeac++;g_tadx+v5 mtr1ptsearctadx/sb_tjnfo2ch">inep1328ch&13ea Lpvtedha6fnuxf62 is 13ea >1323mf /sb_edac.c"> lab_dev1pt9nux+v3c/sb_eda(lotef <_lis6m#L6 lot quo,4ab <mchehab@funcef <_lis6m#L6func quouilimix/sb_ireg3eid L27p33seTdacLIM1329ch&133c/sb_6 132 quo]51nux+v3returnd-*tmp_mb <, 10EINVALptseanumro61ptsEINVAL quoilimix/sb_ireg3eid L27p33seTdacLIM133rch&13sea Lpvtedha6fnuxf63 /13sea>133lmf /list13seasouist1332asouv3c/sb_edac.c"> 1333*mb v3c/sb_edac.c"> /6#L13p38313nux>13s"> v3c/sb_edac.c"> probed5a ;a133ux+v3limix/sb_ireg3eid L27p33seTdacLIM1336ch&13t13scommeedha6fnuxf63ttttttttttet605p3>probed5a ;a133v quov3c/sb_edac.c"> probed5a ;ainepdescr quo3e13t >1333mf /v3c/sb_edac.c"> probed5a ;a133 quo]v3c/sb_edac.c"> 134 o52nedha6fnuxf63ttttttttttp* tellw5E us about thtterroes.adx+v5 robed5a ;a 3c/sb_6heharead_6ac13c">>134easouv3c/sb_edac.c"> probed5a ;ainepu8 quo13heh>134ac.c"static voidp9nux+v3c/sb_eda(bridge_mce_output_erroe.span cla/6#L13p38313nux>1348ac.c"> /7#L34p38.c7_core38NOD1344ch&13K_CNT_BITS+v3c/3vGET_TOH13K_C>134"> (ref <_list<"> L27p33seTdacLIM1345ch&13t134ux+v3c/sb_edaridge_6 7 <_list133commen"">/*spridge_6 7 <_listinepdescr quo3e13t >133v quo48 3 3*3enum iseamem_ctjnfo2hw_e/snt_m3_err_typeef <_lis6m#L6hw_e/snt_m3_err_type quo4iseamem_ctjnfo2tp_e/sntef <_lis6m#L6tp_e/snt quoilimix/sb_ireg3eid L27p33seTdacLIM1348ch&13 rawuseasour3u GB (0xeas13 ra>1343mf /sb_edac.char4hab <mchehab@typeef <_lis6m#L6type quo,4hab <mchehab@optypeef <_lis6m#L6optype quo,4ab <mchehab@mstin, IC5_ID_iCtemst quo<256silimix/sb_ireg3eid L27p33seTdacLIM1349ch&13333ntelspan c5y 399 L3313333>134 quo]51nux+v3v5 mtr1ptsearbool ac.c"7#734p37bool quo4iseamem_ctjnfo2ripvef <_lis6m#L6ripv quo4 iseamem_ctjnfo2GET_BITFIELDef <_lis6m#L6GET_BITFIELD_ctinab <mchehab@mef <_lis6m#L6m quotadx+v5 mtr1ptsearmcgstatu ac.c"7#734p37mcgstatu quo,40,40uilimix/sb_ireg3eid L27p33seTdacLIM135rch&13ID_INTEL5SBR6DGE_I6C_DDR13ID_>135lmf /sb_edac.v5 mtr1ptsearbool ac.c"7#734p37bool quo4iseamem_ctjnfo2o3eiflowef <_lis6m#L6o3eiflow quo4 iseamem_ctjnfo2GET_BITFIELDef <_lis6m#L6GET_BITFIELD_ctinab <mchehab@mef <_lis6m#L6m quotadx+v5 mtr1ptsearstatu ac.c"7#734p37statu quo,462,462uilimix/sb_ireg3eid L27p33seTdacLIM1351ch&13v3c/sb_edac.c"> 3c/sb_613v3c>135easour3u GB (v5 mtr1ptsearbool ac.c"7#734p37bool quo4iseamem_ctjnfo2uncorrected_erroe.span cla135ac.c"> <9nux+v3c/sb_edabool ac.c"7#734p37bool quo4iseamem_ctjnfo2reco3ei b3ptseapci_dev1ptsreco3ei b3p quo4 iseamem_ctjnfo2GET_BITFIELDef <_lis6m#L6GET_BITFIELD_ctinab <mchehab@mef <_lis6m#L6m quotadx+v5 mtr1ptsearstatu ac.c"7#734p37statu quo,456,456uilimix/sb_ireg3eid L27p33seTdacLIM1353ch&13quo59nux+v3c/sb_edac.c">13quo>13I8ac.c"> iseamem_ctjnfo2usb_6lehareaiseamem_ctjnfo2core_err_cntef <_lis6m#L6core_err_cnt quo4 iseamem_ctjnfo2GET_BITFIELDef <_lis6m#L6GET_BITFIELD_ctinab <mchehab@mef <_lis6m#L6m quotadx+v5 mtr1ptsearstatu ac.c"7#734p37statu quo,438,452uilimix/sb_ireg3eid L27p33seTdacLIM1354ch&13p383r63mf /sb_edac.c"> 513p38>13I"> ac.c"6dLiseamem_ctjnfo2usb_6lehareaiseamem_ctjnfo2msjnfin, IC5_ID_iCtemsjnf quo4 iseamem_ctjnfo2GET_BITFIELDef <_lis6m#L6GET_BITFIELD_ctinab <mchehab@mef <_lis6m#L6m quotadx+v5 mtr1ptsearstatu ac.c"7#734p37statu quo,416,431uilimix/sb_ireg3eid L27p33seTdacLIM1355ch&13"> >13Iux+v3c/sb_edaiseamem_ctjnfo2usb_6lehareaiseamem_ctjnfo2errjnfo.span cla135commen"">/*sp9nux+v3c/sb_edausb_6lehareaiseamem_ctjnfo2channel ac.c"7#734p37channel quo4 iseamem_ctjnfo2GET_BITFIELDef <_lis6m#L6GET_BITFIELD_ctinab <mchehab@mef <_lis6m#L6m quotadx+v5 mtr1ptsearstatu ac.c"7#734p37statu quo,40,43uilimix/sb_ireg3eid L27p33seTdacLIM1357ch&13ptsearcsadx/sb_I135v quo48 3 3*39nux+v3c/sb_edausb_6lehareaiseamem_ctjnfo2optypenumef <_lis6m#L6optypenum quo4 iseamem_ctjnfo2GET_BITFIELDef <_lis6m#L6GET_BITFIELD_ctinab <mchehab@mef <_lis6m#L6m quotadx+v5 mtr1ptsearstatu ac.c"7#734p37statu quo,44,46uilimix/sb_ireg3eid L27p33seTdacLIM1358ch&13c/sb_edac.c"> 3c/sb_6i 13c/s>1353mf /sb_edac.long>iseamem_ctjnfo2channel_mask<_lilimixf <_channel_mask quo,4ab <mchehab@first_channel ac.c"7#734p37first_channel quoilimix/sb_ireg3eid L27p33seTdacLIM1359ch&13 L33ptshehata1ptsch">in13 L>135 quo]51nux+v3v5 mtr1ptsearu8ef <_lis6m#L6u8 quo44iseamem_ctjnfo2rank<_lilimixf <_rank quo,4ab <mchehab@sockettseapci_dev1ptssocket quoilimix/sb_ireg3eid L27p33seTdacLIM136rch&13a ;a/613a >136 quo48 3 3*3 n_6 7 <_listinepd13t136easour3u GB (char4hab <mchehab@area_typeef <_lis6m#L6area_type quo4 iseamem_ctjnfo2NULLptseanumro61ptsNULL quoilimix/sb_ireg3eid L27p33seTdacLIM1362ch&130, <_list136ac.c"limix/sb_ireg3eid L27p33seTdacLIM1363ch&13 quo3ehc5c"> Ae <_13 qu>1368ac.c"> 7 <_list L27p33seTdacLIM1364ch&132 2.ly6sstyp66ce_o5t quo132 2>136"> ac.c"6dL13p383r6 7 <_list L27p33seTdacLIM1365ch&13s <_listlim13s >136ux+v3c/sb_edac.c"> 6 refnu 51 ="51r13c.c>1363 3*3ptid L3edac5pts13p383r6iseamem_ctjnfo2tp_e/sntef <_lis6m#L6tp_e/snt quo4 iseamem_ctjnfo2HW_EVENT_ERR_FATALef <_lis6m#L6HW_EVENT_ERR_FATAL quoilimix/sb_ireg3eid L27p33seTdacLIM1367ch&13.ly6sstyp6L33p2>v3c) 56b13.ly>136v quo48 3 3*3ptid L3} elseE (ref <_list<"> L27p33seTdacLIM1368ch&13/2S+v3c/scsb_edactmp_mb_13/2S>1363mf /sb_edac.c"> lab_dev1ptseab <mchehab@typeef <_lis6m#L6type quo4 iT:4) raw5E_) raw5E_) raw5ENON_FATAL++;g_tadx+v5 ilimix/sb_ireg3eid L27p33seTdacLIM1369ch&13136 quo]51nux+v3c/sb_edaddac5ptsiseamem_ctjnfo2tp_e/sntef <_lis6m#L6tp_e/snt quo4 iseamem_ctjnfo2HW_EVENT_ERR_UNCORRECTEDef <_lis6m#L6HW_EVENT_ERR_UNCORRECTED quoilimix/sb_ireg3eid L27p33seTdacLIM137rch&13 (rev_3pt inepdes13 (r>137lmf /sb_edac.c"> lab_list137easour3u GB (} elseE (ref <_list<"> L27p33seTdacLIM1372ch&13"> ac.c"6d commen"6urn13"> >137ac.c"> Ae <_li13uo3>1378ac.c"> 137"> ac.c"6dLlist137ux+v3limix/sb_ireg3eid L27p33seTdacLIM1376ch&13cr quo3ehc5c"> Ae 13cr >137commen"">/*spedha6fnuxf63ttttttttttet605p3>probed5a ;a/6137v quov3c/sb_edac.c"> probed5a ;a1373mf /v3c/sb_edac.c"> probed5a ;a137 quo]v3c/sb_edac.c"> probed5a ;ain13 L>138 o52nedha6fnuxf63ttttttttttpiiiiiiii* where:605p3>probed5a ;a/613a >138easouv3c/sb_edac.c"> probed5a ;a Ae <_lsadMpkcah"13> >1382asouv3c/sb_edac.c"> probed5a ;a 53CI_DE13lis>1383*mb v3c/sb_edac.c"> probed5a ;a138"> v3c/sb_edac.c"> probed5a ;a 6 138ux+v3v3c/sb_edac.c"> probed5a ;a138commeedha6fnuxf63tttttttttti6#L34p3e*h605p3>probed5a ;a138v quo48 3 3*3 " ( 7 <_list L27p33seTdacLIM1388ch&13_edac.c"> 1383mf /sb_edac.c"> lab_ab <mchehab@optypeef <_lis6m#L6optype quo4 iT:4) raw5E_) raw5E_) raw5ECan't parse: it3 stnotta mem++;g_tadx+v5 ilimix/sb_ireg3eid L27p33seTdacLIM1389ch&13_sbridge qu5[] = 5fnux+v13_sb>138 quo]51nux+v3} elseE (ref <_list<"> L27p33seTdacLIM139rch&135fnux+v3c/sb_edac.c"> 135fn>139 quo48 3 3*3ptid L3switch 7 <_list L27p33seTdacLIM1391ch&13333ntelspan c5y 399 L3313333>139easour3u GB (0xeasourcase 0: (ref <_list<"> L27p33seTdacLIM1392ch&13ptseamtr1pts6arch"694 13pts>139ac.c"> labab <mchehab@optypeef <_lis6m#L6optype quo4 iT:4) raw5E_) raw5E_) raw5Egeneawc undef requ s terroe++;g_tadx+v5 ilimix/sb_ireg3eid L27p33seTdacLIM1393ch&13#f <_li6commen""> *spa13#f >1398ac.c"> 0s#L34p#L34pD291394ch&13 iiizt_edv2.62 2.l69cRA13 i>139"> ac.c"6dL13p383r6case 1: (ref <_list<"> L27p33seTdacLIM1395ch&13i6i4tri29bute4 und_e the13i6i>139ux+v3c/sb_edac.c"> 6139commen"">/*span cl6 r........break< (ref <_list<"> 0s#L34p#L34pD291397ch&13 L33ptshehata1ptsch">in13 L>139v quo48 3 3*3ptid L3case 2: (ref <_list<"> L27p33seTdacLIM1398ch&13a ;a/613a >1393mf /sb_edac.c"> lab_dev1ptseab <mchehab@optypeef <_lis6m#L6optype quo4 iT:4) raw5E_) raw5E_) raw5Ememorytwrite erroe++;g_tadx+v5 ilimix/sb_ireg3eid L27p33seTdacLIM1399ch&13tinepd13t139 quo]51nux+v3c/sb_edaddac5ptsbreak< (ref <_list<"> 0s#L34p#L34pD2914srch&14srch iTdacLIMITah">inepd14src>140 quo48 3 3*3ptid L3case 3: (ref <_list<"> L27p33seTdacLIM14s1ch&14s33ntelspan c5y 399 L3314s33>140easour3u GB (0xeasour.c"> labab <mchehab@optypeef <_lis6m#L6optype quo4 iT:4) raw5E_) raw5E_) raw5Eaddr/cmd erroe++;g_tadx+v5 ilimix/sb_ireg3eid L27p33seTdacLIM14s2ch&14stseamtr1pts6arch"694 14sts>140ac.c"> 0s#L34p#L34pD2914s3ch&14sf <_li6commen""> *spa14sf >1408ac.c"> L27p33seTdacLIM14s4ch&14s iiizt_edv2.62 2.l69cRA14s i>140"> ac.c"6dL13p383r6dev1ptseab <mchehab@optypeef <_lis6m#L6optype quo4 iT:4) raw5E_) raw5E_) raw5Ememorytscrubbw5E erroe++;g_tadx+v5 ilimix/sb_ireg3eid L27p33seTdacLIM14s5ch&14s6i4tri29bute4 und_e the14s6i>140ux+v3c/sb_edac.c"> 6 0s#L34p#L34pD2914s6ch&14stsearctadx/sb_I140commen"">/*span cl6 rdefault: (ref <_list<"> L27p33seTdacLIM14s7ch&14s L33ptshehata1ptsch">in14s L>140v quo48 3 3*3ptid L3i6/614s >1403mf /sb_edac.c"> lab_dev1ptsebreak< (ref <_list<"> 0s#L34p#L34pD2914s9ch&14sinepd14s140 quo]51nux+v3c/sb_edalist141 quo48 3 3*3listinep14psb>141easouist141ac.c"> <9nux+v3c/sb_edarc.span claiseamem_ctjnfo2mef <_lis6m#L6m quotadx+v5 mtr1ptsearaddref <_lis6m#L6addr quo,> (reab <mchehab@sockettseapci_dev1ptssocket quo,robed5a ;a1418ac.c"> 141"> ac.c"6dL 7 <_list/7#L34p38.c7_core38NOD1415ch&14pmt4+v3c)48lude 7 quo4/c14pmt>141ux+v3c/sb_edac.c"> goto4 3eamem_ctjnfo2err_parsw5E.span cla141commen"">/*sp9nux+v3c/sb_edanew_m39 ac.c"7#734p37new_m39 quo4 iseamem_ctjnfo2get_mci_foe_node_ifin, IC5_ID_iCteget_mci_foe_node_if_ctinab <mchehab@sockettseapci_dev1ptssocket quouilimix/sb_ireg3eid L27p33seTdacLIM1417ch&14o2ch">inepu8 em_dIC5_IDc14o2c>141v quo48 3 3*3 "9nux+v3c/sb_edanew_m39 ac.c"7#734p37new_m39 quoZE (ref <_list<"> L27p33seTdacLIM1418ch&1433pmc L33ptseamem_ctmc 1433p>1413mf /sb_edac.c"> lab_ab <mchehab@ racpy ac.c"7#734p37stacpy_ctinab <mchehab@mstin, IC5_ID_iCtemst quo,TGT:4) raw5E_) raw5E_) raw5EErroe: socket got corrupted!++;g_tadx+v5 uilimix/sb_ireg3eid L27p33seTdacLIM1419ch&14ct33p3vtid L33ptsea Lp14ct3>141 quo]51nux+v3c/sb_edagoto4 3eamem_ctjnfo2err_parsw5E.span cla142 quo48 3 3*3list k14ri3>142easour3u GB (v5 mtr1ptsearm39 ac.c"7#734p37m39 quo4 iseamem_ctjnfo2new_m39 ac.c"7#734p37new_m39 quoilimix/sb_ireg3eid L27p33seTdacLIM14_2ch&142r_search"commenum# Ae142r_>142ac.c"> <9nux+v3c/sb_edapvtef <_lis6m#L6pvt quo4 iseamem_ctjnfo2m39 ac.c"7#734p37m39 quotadx+v5 mtr1ptsearpvt_infom# L63 384 16apvt_info quoilimix/sb_ireg3eid L27p33seTdacLIM1423ch&14 L33ptsea5C8dprch&a14 L>1428ac.cist142"> ac.c"6dLiseamem_ctjnfo2first_channel ac.c"7#734p37first_channel quo4 iseamem_ctjnfo2find_first_bitef <_lis6m#L6find_first_bit_ctin (reab <mchehab@channel_mask<_lilimixf <_channel_mask quo,4iseamem_ctjnfo2NUM_CHANNELSptseanumro61ptsNUM_CHANNELS quouilimix/sb_ireg3eid L27p33seTdacLIM1425ch&14_ri3bbut3b_dev quo48 3 314_ri>142ux+v3limix/sb_ireg3eid L27p33seTdacLIM14_6ch&14<519 ="52r_search"commen14<51>14_commen"">/*sp 7 <_list/7#L34p38.c7_core38NOD14_7ch&14333ntelspan c5y 399 L3314333>142v quo48 3 3*3ptid L3ab <mchehab@dimmef <_lis6m#L6dimm quor trx+v3333en"">/7#L34p38.c7_core38NOD14_8ch&14ea Lpvtedha6fnuxf62 is 14ea >1423mf /sb_edac.elseE 7 <_list/7#L34p38.c7_core38NOD14_9ch&143c/sb_6 142 quo]51nux+v3c/sb_edaab <mchehab@dimmef <_lis6m#L6dimm quor 1rx+v3333en"">/7#L34p38.c7_core38NOD143rch&14sea Lpvtedha6fnuxf63 /14sea>1430mf /sb_edac.elsex+v3333en"">/7#L34p38.c7_core38NOD1431ch&14333ntelspan c5y 39 Am#L314333>143easour3u GB (0xeasouriseamem_ctjnfo2dimmef <_lis6m#L6dimm quor 2rx+v3333en"">/7#L34p38.c7_core38NOD1432ch&14sb_6leharead_6acfig_dwor14sb_>143ac.c"limix/sb_ireg3eid L27p33seTdacLIM14s3ch&14o3eharah 1438ac.cist/6#L13p38314nux>143"> ac.c"6dLidha6fnuxf63ttttttttttet605p3>probed5a ;a143ux+v3v3c/sb_edac.c"> probed5a ;a14scommeedha6fnuxf63tttttttttti6#L34p3e* MemorytController can't po n_6thtterroe4to a sw5Ele DIMM. Tht605p3>probed5a ;a143v quov3c/sb_edac.c"> probed5a ;ainepdescr quo3e14t >1433mf /v3c/sb_edac.c"> 143 quo]v3c/sb_edac.c"> probed5a ;a144lmf /sb_edac.v5 mtr1ptsearsnpr f ac.c"7#734p37snpr f_ctinab <mchehab@mstin, IC5_ID_iCtemst quo,Tsizeofnab <mchehab@mstin, IC5_ID_iCtemst quou mtr1ptsearctadx/sb_tjnfo2ch">inep1441ch&14c"> 3c/sb_6heharead_6ac14c">>144easour3u GB (0xeasour.GT:4) raw5E_) raw5E_) raw5Eid idsid ids arta:id ids err_chab:id id04x:id id04x socket:id idd channel_mask:id idld rank:id idd++;g_tadx+v5 mtr1ptsearctadx/sb_tjnfo2ch">inep1442ch&14hehata1ptsch">inepu8 quo14heh>144ac.c"> inep1443ch&14nux+v3333en"">/6#L13p38314nux>1448ac.c"> inep1444ch&14K_CNT_BITS+v3c/3vGET_TOH14K_C>144"> ac.c"6dL13p383r6dab <mchehab@area_typeef <_lis6m#L6area_type quo, mtr1ptsearctadx/sb_tjnfo2ch">inep1445ch&14t144ux+v3c/sb_edac.c"> ab <mchehab@msjnfin, IC5_ID_iCtemsjnf quo,4iseamem_ctjnfo2errjnfo.span clainep1446ch&143ptidmc# b_dev quo48 3 143pt>144commen"">/*span cl6 r.ab <mchehab@sockettseapci_dev1ptssocket quo,robed5a ;ainepdescr quo3e14t >144v quo48 3 3*3ptid L3iab <mchehab@channel_mask<_lilimixf <_channel_mask quo,robed5a ;a1443mf /sb_edac.c"> lab_d 7 <_list144 quo]ist145lmf /sb_edac.v5 mtr1ptsear2uo4m_ctin, IC5_ID_iCterdeave m_ctin, TGT:4) raw5E_) raw5E_) raw5Eid idsac++;g_tadx+v5 4ab <mchehab@mstin, IC5_ID_iCtemst quouilimix/sb_ireg3eid L27p33seTdacLIM1451ch&14v3c/sb_edac.c"> 3c/sb_614v3c>145easouist145ac.c"> <9tttttttttt* Stid 1) Get FIXME: need support foe4 fanneltmaske*h605p3>probed5a ;a14quo>1458ac.cist 514p38>145"> ac.c"6dLidha6fnuxf63ttttttttttet Call6thtthelpee4to output messagee*h605p3>probed5a ;a >14Iux+v3c/sb_edaiseamem_ctjnfo2rdeavmc_handle_erroe.span claiseamem_ctjnfo2core_err_cntef <_lis6m#L6core_err_cnt quo,robed5a ;a145commen"">/*span cl6 r.............iseamem_ctjnfo2mef <_lis6m#L6m quotadx+v5 mtr1ptsearaddref <_lis6m#L6addr quo adx+adx+6 7 <_listiseamem_ctjnfo2mef <_lis6m#L6m quotadx+v5 mtr1ptsearaddref <_lis6m#L6addr quo4 (re4~ 7 <_list0,robed5a ;a145v quo48 3 3*3ptid L3i6iseamem_ctjnfo2dimmef <_lis6m#L6dimm quo, -1,robed5a ;a 3c/sb_6i 14c/s>1453mf /sb_edac.c"> lab_dev1ptsed6in14 L>145 quo]51nux+v3returnilimix/sb_ireg3eid L27p33seTdacLIM146rch&14a ;a/614a >146 quo 3eamem_ctjnfo2err_parsw5E.span cla L27p33seTdacLIM1461ch&14tinepd14t146easour3u GB (v5 mtr1ptsearrdeavmc_handle_erroe.span claiseamem_ctjnfo2core_err_cntef <_lis6m#L6core_err_cnt quo,40,40,>0,robed5a ;a146ac.c"> Ae <_14 qu>1468ac.c"> 1468ac.climix/sb_ireg3eid L27p33seTdacLIM1465ch&14s <_listlim14s >146ux+v3list refnu 51 ="51r14c.c>1463 3*3istv3c) 56b14.ly>146v quov3c/sb_edac.c"> probed5a ;a1463mf /v3c/sb_edac.c"> probed5a ;a146 quo]v3c/sb_edac.c"> inepdes14 (r>147 o52nedha6fnuxf63ttttttttttp*h605p3>probed5a ;a147easoustatic voidp9nux+v3c/sb_eda(bridge_ feck_erroetseapci_dev1ptssbridge_ feck_erroe_ctinridge_6 7 <_list/7#L34p38.c7_core38NOD1472ch&14"> ac.c"6d commen"6urn14"> >147ac.c" (ref <_list<"> L27p33seTdacLIM1473ch&14uo3ehc5c"> Ae <_li14uo3>1478ac.c"> ridge_6 7 <_list147"> ac.c"6dL n_6 7 <_list147ux+v3c/sb_edaunsignedp9nux+v3c/sb_eda ountef <_lis6m#L6count quo4 trx+v3333en"">/7#L34p38.c7_core38NOD1476ch&14cr quo3ehc5c"> Ae 14cr >147commen"">/*spridge_6 7 <_list/7#L34p38.c7_core38NOD1477ch&14n"">/6147v quox+v3333en"">/7#L34p38.c7_core38NOD1478ch&14mix/sb_5v3c) 56bed1473mf /sb_edac.v3c/sb_edac.c"> probed5a ;a147 quo]v3c/sb_edac.c"> probed5a ;ain14 L>148 o52nedha6fnuxf63ttttttttttpiiiiiiii* We uss a doub3p bufferw5E here,tto4raduce6thttrisk of605p3>probed5a ;a/614a >148easouv3c/sb_edac.c"> Ae <_lsadMpkcah"14> >1482asouv3c/sb_edac.c"> probed5a ;a 53CI_DE14lis>1488ac.c"> iseamem_ctjnfo2smp_rmbef <_lis6m#L6 mp_rmb_ctinuilimix/sb_ireg3eid L27p33seTdacLIM1484ch&14dasadM_Cterdev1ptsearch"14das>148"> ac.c"6dLiseamem_ctjnfo2 ountef <_lis6m#L6count quo4 L33pritad_dram_ruvtef <_lis6m#L6pvt quotadx+v5 mtr1ptsearmce_outef <_lis6m#L6mcp_out quo4+Liseamem_ctjnfo2MCE_LOG_LENef <_lis6m#L6MCE_LOG_LEN quo4-<9nux+v3c/sb_edapvtef <_lis6m#L6pvt quotadx+v5 mtr1ptsearmce_inm# L63 384 16amce_in quoux+v3333en"">/7#L34p38.c7_core38NOD1485ch&1438ac.c"> 6 148ux+v3c/sb_edac.c"> id idLiseamem_ctjnfo2MCE_LOG_LENef <_lis6m#L6MCE_LOG_LEN quoilimix/sb_ireg3eid L27p33seTdacLIM1486ch&14SENT (refc8c8 33ptidCmm14SEN>148commen"">/*sp "9nux+v3c/sb_eda ountef <_lis6m#L6count quoux+v3333en"">/7#L34p38.c7_core38NOD1487ch&14 148v quo48 3 3*3ptid L3returnilimix/sb_ireg3eid L27p33seTdacLIM1488ch&14_edac.c"> 1483mf /limix/sb_ireg3eid L27p33seTdacLIM1489ch&14_sbridge qu5[] = 5fnux+v14_sb>148 quo]51nux+v3v5 mtr1ptsearmef <_lis6m#L6m quo4 iseamem_ctjnfo2uvtef <_lis6m#L6pvt quotadx+v5 mtr1ptsearmce_out ry ac.c"7#734p37mce_out ry quoilimix/sb_ireg3eid L27p33seTdacLIM149rch&145fnux+v3c/sb_edac.c"> 145fn>149 quo48 3 3*3 7 <_list L27p33seTdacLIM1491ch&14333ntelspan c5y 399 L3314333>149easour3u GB (0xeasourunsignedp9nux+v3c/sb_edal<_lilimixf <_l quo4 iseamem_ctjnfo2MCE_LOG_LENef <_lis6m#L6MCE_LOG_LEN quo4-<9nux+v3c/sb_edapvtef <_lis6m#L6pvt quotadx+v5 mtr1ptsearmce_inm# L63 384 16amce_in quoilimix/sb_ireg3eid L27p33seTdacLIM1492ch&14ptseamtr1pts6arch"694 14pts>149ac.c"limix/sb_ireg3eid L27p33seTdacLIM1493ch&14#f <_li6commen""> *spa14#f >1498ac.c"> 149"> ac.c"6dL13p383r6iseamem_ctjnfo2smp_wmbef <_lis6m#L6 mp_wmb_ctinuilimix/sb_ireg3eid L27p33seTdacLIM1495ch&14i6i4tri29bute4 und_e the14i6i>149ux+v3c/sb_edac.c"> 7 <_list/7#L34p38.c7_core38NOD1496ch&14ptsearctadx/sb_I149commen"">/*span cl6 riseamem_ctjnfo2 ountef <_lis6m#L6count quo4- iseamem_ctjnfo2l<_lilimixf <_l quorx+v3333en"">/7#L34p38.c7_core38NOD1497ch&14 L33ptshehata1ptsch">in14 L>149v quo48 3 3*3ptid L3v5 mtr1ptsearmef <_lis6m#L6m quo4+ iseamem_ctjnfo2l<_lilimixf <_l quorx+v3333en"">/7#L34p38.c7_core38NOD1498ch&14a ;a/614a >149h5e35inepd14t149 quo]51nux+v3v5 mtr1ptsearmemcpy ac.c"7#734p37memcpy_ctinab <mchehab@mef <_lis6m#L6m quo,4 (reab <mchehab@pvtef <_lis6m#L6pvt quotadx+v5 mtr1ptsearmce_ ry ac.c"7#734p37mce_ ry quo/7#L34p38.c7_core38NOD15srch&15srch iTdacLIMITah">inepd15src>150lmf /sb_edac.v5 mtr1ptsearsmp_wmbef <_lis6m#L6 mp_wmb_ctinuilimix/sb_ireg3eid L27p33seTdacLIM15s1ch&15s33ntelspan c5y 399 L3315s33>150easour3u GB (v5 mtr1ptsearpvtef <_lis6m#L6pvt quotadx+v5 mtr1ptsearmce_inm# L63 384 16amce_in quo4+ iseamem_ctjnfo2 ountef <_lis6m#L6count quoilimix/sb_ireg3eid L27p33seTdacLIM15s2ch&15stseamtr1pts6arch"694 15sts>150ac.c"limix/sb_ireg3eid L27p33seTdacLIM15s3ch&15sf <_li6commen""> *spa15sf >1508ac.c"> iseamem_ctjnfo2smp_rmbef <_lis6m#L6 mp_rmb_ctinuilimix/sb_ireg3eid L27p33seTdacLIM15s4ch&15s iiizt_edv2.62 2.l69cRA15s i>150"> ac.c"6dL 7 <_list L27p33seTdacLIM15s5ch&15s6i4tri29bute4 und_e the15s6i>150ux+v3c/sb_edac.c"> 7 <_listinep15s6ch&15stsearctadx/sb_I150commen"">/*span cl6 rsb_edac.c"> 7 <_listin15s L>150v quo48 3 3*3ptid L3v5 mtr1ptsearsmp_wmbef <_lis6m#L6 mp_wmb_ctinuilimix/sb_ireg3eid L27p33seTdacLIM15s8ch&15s ;a/615s >1503mf /sb_edac.c"> lab_ 7 <_list/7#L34p38.c7_core38NOD15s9ch&15sinepd15s150 quo]51nux+v3list151 quoistinep15psb>151easour3u GB (v3c/sb_edac.c"> probed5a ;a1512asouv3c/sb_edac.c"> probed5a ;a1513*mb v3c/sb_edac.c"> probed5a ;a151"> ac.c"6dLfoe4nab <mchehab@nptseanumro61pts9uo584 tr6 7 <_list/7#L34p38.c7_core38NOD1515ch&15pmt4+v3c)48lude 7 quo4/c15pmt>151ux+v3c/sb_edac.c"> 7 <_list151commelistinepu8 em_dIC5_IDc15o2c>151v quox+v3333en"">/7#L34p38.c7_core38NOD1518ch&1533pmc L33ptseamem_ctmc 1533p>1513mf /v3c/sb_edac.c"> probed5a ;a151 quo]v3c/sb_edac.c"> probed5a ;a152 o52nedha6fnuxf63ttttttttttp*n"">/*span cl6 rsb_edac.c"> This routL33tsimply queues6mcplog erroes, and605p3>probed5a ;a k15ri3>152easouv3c/sb_edac.c"> /*span cl6 rsb_edac.c"> return. Thtterroe4itself should be handled later605p3>probed5a ;a1522asouv3c/sb_edac.c"> /*span cl6 rsb_edac.c"> by bridge_ feck_erroe.adx+v5 robed5a ;a1523*mb v3c/sb_edac.c"> 152"> v3c/sb_edac.c"> 152ux+v3v3c/sb_edac.c"> probed5a ;a15_commestatic n_6 7 <_listiseamem_ctjnfo2val<_lilimixf <_val quo,robed5a ;a152v quo48 3 3*3ptid L33333333333333333333voidphab <mchehab@dataef <_lis6m#L6data_ctiux+v3333en"">/7#L34p38.c7_core38NOD15_8ch&15ea Lpvtedha6fnuxf62 is 15ea >1523mf / (ref <_list<"> L27p33seTdacLIM15_9ch&153c/sb_6 152 quo]51nux+v3ridge_6 7 <_list1530mf /sb_edac.ridge_6 7 <_list153easour3u GB (ridge_6 7 <_list153ac.c"limix/sb_ireg3eid L27p33seTdacLIM15s3ch&15o3eharah 1538ac.c"> iseamem_ctjnfo2m39 ac.c"7#734p37m39 quo4 iseamem_ctjnfo2get_mci_foe_node_ifin, IC5_ID_iCteget_mci_foe_node_if_ctinab <mchehab@mceef <_lis6m#L6mcp quotadx+v5 mtr1ptsearsocketifin, IC5_ID_iCtesocketif quoZilimix/sb_ireg3eid L27p33seTdacLIM15s4ch&15nux+v3333en"">/6#L13p38315nux>153"> ac.c"6dL "9nux+v3c/sb_edam39 ac.c"7#734p37m39 quoux+v3333en"">/7#L34p38.c7_core38NOD15s5ch&15K_CNT_BITS+v3c/3vGET_TOL15K_C>153ux+v3c/sb_edac.c"> return4iseamem_ctjnfo2NOTIFY_BADef <_lis6m#L6NOTIFY_BAD quoilimix/sb_ireg3eid L27p33seTdacLIM1536ch&15t153commen"">/*sp9nux+v3c/sb_edapvtef <_lis6m#L6pvt quo4 iseamem_ctjnfo2m39 ac.c"7#734p37m39 quotadx+v5 mtr1ptsearpvt_infom# L63 384 16apvt_info quoilimix/sb_ireg3eid L27p33seTdacLIM15s7ch&153ptidmc# b_dev quo48 3 153pt>153v quox+v3333en"">/7#L34p38.c7_core38NOD15s8ch&15t inepdescr quo3e15t >1533mf /sb_edac.v3c/sb_edac.c"> probed5a ;a153 quo]v3c/sb_edac.c"> probed5a ;a154 o52nedha6fnuxf63ttttttttttpiiiiiiii* outside6thttmemorytcontroller. A memoryterroe605p3>probed5a ;a 3c/sb_6heharead_6ac15c">>154easouv3c/sb_edac.c"> inepu8 quo15heh>1542asouv3c/sb_edac.c"> /6#L13p38315nux>1543*mb v3c/sb_edac.c"> probed5a ;a154"> ac.c"6dL nab <mchehab@mceef <_lis6m#L6mcp quotadx+v5 mtr1ptsearstatu ac.c"7#734p37statu quo4 (re40xefff) adx+adx+67 ! 1ux+v3333en"">/7#L34p38.c7_core38NOD1545ch&15t154ux+v3c/sb_edac.c"> return4iseamem_ctjnfo2NOTIFY_DONEef <_lis6m#L6NOTIFY_DONE quoilimix/sb_ireg3eid L27p33seTdacLIM1546ch&153ptidmc# b_dev quo48 3 153pt>1543 3*3istinepdescr quo3e15t >154v quo48 3 3*3v5 mtr1ptsearpr k<_lilimixf <_pr k_ctinaT:4) raw5E_) raw5E_) raw5E bridge: HANDLING MCE MEMORY ERRORac++;g_tadx+v5 Zilimix/sb_ireg3eid L27p33seTdacLIM1548ch&15 rawuseasour3u GB (0xeas15 ra>1543mf /limix/sb_ireg3eid L27p33seTdacLIM1549ch&15333ntelspan c5y 399 L3315333>154 quo]51nux+v3v5 mtr1ptsearpr k<_lilimixf <_pr k_ctinaT:4) raw5E_) raw5E_) raw5ECPU id idd: MachL33tCfeck Exception: id idLx Bank id idd: id id016Lxac++;g_tadx+v5 mtr1ptsearctadx/sb_tjnfo2ch">inep155rch&15ID_INTEL5SBR6DGE_I6C_DDR15ID_>155 quo48 3 3*3ptid Lab <mchehab@mceef <_lis6m#L6mcp quotadx+v5 mtr1ptsearextcpuef <_lis6m#L6extcpu quo,TGb <mchehab@mceef <_lis6m#L6mcp quotadx+v5 mtr1ptsearmcgstatu ac.c"7#734p37mcgstatu quo,TGb <mchehab@mceef <_lis6m#L6mcp quotadx+v5 mtr1ptsearbank<_lilimixf <_bank quo,4ab <mchehab@mceef <_lis6m#L6mcp quotadx+v5 mtr1ptsearstatu ac.c"7#734p37statu quoZilimix/sb_ireg3eid L27p33seTdacLIM1551ch&15v3c/sb_edac.c"> 3c/sb_615v3c>155easour3u GB (v5 mtr1ptsearpr k<_lilimixf <_pr k_ctinaT:4) raw5E_) raw5E_) raw5ETSC id idllx ++;g_tadx+v5 4ab <mchehab@mceef <_lis6m#L6mcp quotadx+v5 mtr1ptseartsc.span cla155ac.c"> <9nux+v3c/sb_edapr k<_lilimixf <_pr k_ctinaT:4) raw5E_) raw5E_) raw5EADDR id idllx ++;g_tadx+v5 4ab <mchehab@mceef <_lis6m#L6mcp quotadx+v5 mtr1ptsearaddref <_lis6m#L6addr quoZilimix/sb_ireg3eid L27p33seTdacLIM1553ch&15quo59nux+v3c/sb_edac.c">15quo>1558ac.c"> iseamem_ctjnfo2pr k<_lilimixf <_pr k_ctinaT:4) raw5E_) raw5E_) raw5EMISC id idllx ++;g_tadx+v5 4ab <mchehab@mceef <_lis6m#L6mcp quotadx+v5 mtr1ptsearmisc.span cla 515p38>1558ac.climix/sb_ireg3eid L27p33seTdacLIM1555ch&15"> >15Iux+v3c/sb_edaiseamem_ctjnfo2pr k<_lilimixf <_pr k_ctinaT:4) raw5E_) raw5E_) raw5EPROCESSOR id idu:id idx TIME id idllu SOCKET id idu APIC id idxac++;g_tadx+v5 mtr1ptsearctadx/sb_tjnfo2ch">inep1556ch&1536tid L33ptsea Lpvtedh1536t>155commen"">/*span cl6 rab <mchehab@mceef <_lis6m#L6mcp quotadx+v5 mtr1ptsearcpuvendoe.span cla155v quo48 3 3*3ptid L3ab <mchehab@mceef <_lis6m#L6mcp quotadx+v5 mtr1ptsearsocketifin, IC5_ID_iCtesocketif quo 4ab <mchehab@mceef <_lis6m#L6mcp quotadx+v5 mtr1ptsearapicifin, IC5_ID_iCteapicif quoZilimix/sb_ireg3eid L27p33seTdacLIM1558ch&15c/sb_edac.c"> 3c/sb_6i 15c/s>1553mf /limix/sb_ireg3eid L27p33seTdacLIM1559ch&15 L33ptshehata1ptsch">in15 L>155 quo]51nux+v3idha6fnuxf63ttttttttttet Only handle if it3 stthttrigh tmctcontrollere*h605p3>probed5a ;a/615a >156 quo48 3 3*3 7 <_list/7#L34p38.c7_core38NOD1561ch&15tinepd15t156easour3u GB (0xeasourreturn4iseamem_ctjnfo2NOTIFY_DONEef <_lis6m#L6NOTIFY_DONE quoilimix/sb_ireg3eid L27p33seTdacLIM1562ch&150, <_list156ac.c"limix/sb_ireg3eid L27p33seTdacLIM1563ch&15 quo3ehc5c"> Ae <_15 qu>1568ac.c"> iseamem_ctjnfo2smp_rmbef <_lis6m#L6 mp_rmb_ctinuilimix/sb_ireg3eid L27p33seTdacLIM1564ch&152 2.ly6sstyp66ce_o5t quo152 2>156"> ac.c"6dL nab <mchehab@uvtef <_lis6m#L6pvt quotadx+v5 mtr1ptsearmce_outef <_lis6m#L6mcp_out quo4+L1) id idLiseamem_ctjnfo2MCE_LOG_LENef <_lis6m#L6MCE_LOG_LEN quor = L27p33seTdacLIM1565ch&15s <_listlim15s >156ux+v3c/sb_edac.c"> 7 <_list refnu 51 ="51r15c.c>156commen"">/*span cl6 rab <mchehab@pvtef <_lis6m#L6pvt quotadx+v5 mtr1ptsearmce_o3eirunm# L63 384 16amce_o3eirun quo++ilimix/sb_ireg3eid L27p33seTdacLIM1567ch&15.ly6sstyp6L33p2>v3c) 56b15.ly>156v quo48 3 3*3ptid L3return4iseamem_ctjnfo2NOTIFY_DONEef <_lis6m#L6NOTIFY_DONE quoilimix/sb_ireg3eid L27p33seTdacLIM1568ch&15/2S+v3c/scsb_edactmp_mb_15/2S>156h5e35156 quo]istinepdes15 (r>1570quo]51nux+v3idha6fnuxf63ttttttttttet Copy memoryterroe at thttringbuffere*h605p3>probed5a ;a157easour3u GB (v5 mtr1ptsearmemcpy ac.c"7#734p37memcpy_ctin (reab <mchehab@pvtef <_lis6m#L6pvt quotadx+v5 mtr1ptsearmce_ ry ac.c"7#734p37mce_ ry quo ac.c"6d commen"6urn15"> >157ac.c"> <9nux+v3c/sb_edasmp_wmbef <_lis6m#L6 mp_wmb_ctinuilimix/sb_ireg3eid L27p33seTdacLIM1573ch&15uo3ehc5c"> Ae <_li15uo3>1578ac.c"> iseamem_ctjnfo2pvtef <_lis6m#L6pvt quotadx+v5 mtr1ptsearmce_outef <_lis6m#L6mcp_out quo4 L33pritad_dram_ruvtef <_lis6m#L6pvt quotadx+v5 mtr1ptsearmce_outef <_lis6m#L6mcp_out quo4+L1) id idLiseamem_ctjnfo2MCE_LOG_LENef <_lis6m#L6MCE_LOG_LEN quoilimix/sb_ireg3eid L27p33seTdacLIM1574ch&15*kb <,n quo52nux+v3c/s15*kb>1578ac.climix/sb_ireg3eid L27p33seTdacLIM1575ch&15o48 3 3*tmp_mb <)i157ux+v3c/sb_edaidha6fnuxf63ttttttttttet Handle fatalterroes tttdiately *h605p3>probed5a ;a Ae 15cr >157commen"">/*sp 7 <_list/7#L34p38.c7_core38NOD1577ch&15n"">/6157v quo48 3 3*3ptid L3v5 mtr1ptsearsbridge_ feck_erroetseapci_dev1ptssbridge_ feck_erroe_ctin9nux+v3c/sb_edam39 ac.c"7#734p37m39 quouilimix/sb_ireg3eid L27p33seTdacLIM1578ch&15mix/sb_5v3c) 56bed1573mf /limix/sb_ireg3eid L27p33seTdacLIM1579ch&15tep3.3ptid L33ptst157 quo]51nux+v3idha6fnuxf63ttttttttttet Advicetmcplog tha_6thtterroe4were6handled *h605p3>probed5a ;ain15 L>1580quo]51nux+v3return4iseamem_ctjnfo2NOTIFY_STOPef <_lis6m#L6NOTIFY_STOP quoilimix/sb_ireg3eid L27p33seTdacLIM1581ch&15a ;a/615a >158easoulist Ae <_lsadMpkcah"15> >158ac.c"limix/sb_ireg3eid L27p33seTdacLIM1583ch&15list 53CI_DE15lis>1588ac.cstatic ridge_6 7 <_list L27p33seTdacLIM1584ch&15dasadM_Cterdev1ptsearch"15das>158"> ac.c"6dL.iseamem_ctjnfo2notifier_call.span cla ac.c"6= 6 158ux+v3}ilimix/sb_ireg3eid L27p33seTdacLIM1586ch&15SENT (refc8c8 33ptidCmm15SEN>1583 3*3ist158v quov3c/sb_edac.c"> probed5a ;a 1583mf /v3c/sb_edac.c"> probed5a ;a158 quo]v3c/sb_edac.c"> probed5a ;a 155fn>159 quoist159easoustatic voidp9nux+v3c/sb_eda(bridge_unregister_m39 ac.c"7#734p37(bridge_unregister_m39_ctinridge_6 7 <_list/7#L34p38.c7_core38NOD1592ch&15ptseamtr1pts6arch"694 15pts>159ac.c" (ref <_list<"> L27p33seTdacLIM1593ch&15#f <_li6commen""> *spa15#f >1598ac.c"> ridge_6 7 <_list159"> ac.c"6dLridge_6 7 <_list159ux+v3limix/sb_ireg3eid L27p33seTdacLIM1596ch&15ptsearctadx/sb_I159commen"">/*sp 7 <_list L27p33seTdacLIM1597ch&15 L33ptshehata1ptsch">in15 L>159v quo48 3 3*3ptid L3v5 mtr1ptseareTdam_ctin, IC5_ID_iCterdeave m_ctin, TGT:4) raw5E_) raw5E_) raw5EMC: dev6=/615a >1593mf /limix/sb_ireg3eid L27p33seTdacLIM1599ch&15tinepd15t159 quo]51nux+v3ptid L3v5 mtr1ptsearsbridge_pr k<_lilimixf <_ bridge_pr k_ctinab <mchehab@KERN_ERR<_lilimixf <_KERN_ERR quo,TGT:4) raw5E_) raw5E_) raw5ECouldn't findtmci6handlerac++;g_tadx+v5 Zilimix/sb_ireg3eid L27p33seTdacLIM16srch&16srch iTdacLIMITah">inepd16src>160 quo48 3 3*3ptid L3returnilimix/sb_ireg3eid L27p33seTdacLIM16s1ch&16s33ntelspan c5y 399 L3316s33>160easour3u GB (list160ac.c"limix/sb_ireg3eid L27p33seTdacLIM16s3ch&16sf <_li6commen""> *spa16sf >1608ac.c"> iseamem_ctjnfo2pvtef <_lis6m#L6pvt quo4 iseamem_ctjnfo2m39 ac.c"7#734p37m39 quotadx+v5 mtr1ptsearpvt_infom# L63 384 16apvt_info quoilimix/sb_ireg3eid L27p33seTdacLIM16s4ch&16s iiizt_edv2.62 2.l69cRA16s i>1608ac.climix/sb_ireg3eid L27p33seTdacLIM16s5ch&16s6i4tri29bute4 und_e the16s6i>160ux+v3c/sb_edaiseamem_ctjnfo2eTdam_ctin, IC5_ID_iCterdeave m_ctin, TGT:4) raw5E_) raw5E_) raw5EMC: mci6=160commen"">/*span cl6 rsiseamem_ctjnfo2m39 ac.c"7#734p37m39 quo 4 (reab <mchehab@(bridge_devef <_lis6m#L6 bridge_dev quotadx+v5 mtr1ptsearpdevef <_lis6m#L6pdev quo[0]tadx+v5 mtr1ptseardevef <_lis6m#L6dev quouilimix/sb_ireg3eid L27p33seTdacLIM16s7ch&16s L33ptshehata1ptsch">in16s L>160v quox+v3333en"">/7#L34p38.c7_core38NOD16s8ch&16s ;a/616s >1603mf /sb_edac.v3c/sb_edac.c"> probed5a ;ainepd16s160 quo]51nux+v3v5 mtr1ptsearrdeavmaveel_mcef <_lis6m#L6rdeavmaveel_mc_ctin9nux+v3c/sb_edam39 ac.c"7#734p37m39 quotadx+v5 mtr1ptsearpdevef <_lis6m#L6pdev quouilimix/sb_ireg3eid L27p33seTdacLIM161rch&1636seaeasbridge_dev1ptour1636s>161 quoistinep16psb>161easour3u GB (v5 mtr1ptsearrdeav_ctin, IC5_ID_iCterdeave m_ctin1 TGT:4) raw5E_) raw5E_) raw5Eid ids: free mci6ridge_ac++;g_tadx+v5 4ab <mchehab@m39 ac.c"7#734p37m39 quotadx+v5 mtr1ptsearctl_h">ief <_lis6m#L6ctl_h">i quouilimix/sb_ireg3eid L27p33seTdacLIM1612ch&1634p37li34375 quo}57nux+v1634p>161ac.c"> <9nux+v3c/sb_edakfreeef <_lis6m#L6kfree_ctin9nux+v3c/sb_edam39 ac.c"7#734p37m39 quotadx+v5 mtr1ptsearctl_h">ief <_lis6m#L6ctl_h">i quouilimix/sb_ireg3eid L27p33seTdacLIM1613ch&1657nux+v3c/sb_ed commen""1657n>1618ac.c"> iseamem_ctjnfo2rdeavmavfreeef <_lis6m#L6rdeavmavfree_ctin9nux+v3c/sb_edam39 ac.c"7#734p37m39 quouilimix/sb_ireg3eid L27p33seTdacLIM1614ch&16EL5 quo]51nux+v3c/sb_eda16EL5>161"> ac.c"6dLab <mchehab@(bridge_devef <_lis6m#L6 bridge_dev quotadx+v5 mtr1ptsearmc9 ac.c"7#734p37m39 quo4 iseamem_ctjnfo2NULLef <_lis6m#L6NULL quoilimix/sb_ireg3eid L27p33seTdacLIM1615ch&16pmt4+v3c)48lude 7 quo4/c16pmt>161ux+v3list1613 3*3istinepu8 em_dIC5_IDc16MC sy006EL5>static n_6 7 <_list/7#L34p38.c7_core38NOD1618ch&1633pmc L33ptseamem_ctmc 1633p>1613mf / (ref <_list<"> L27p33seTdacLIM1639ch&16ct33p3vtid L33ptsea Lp16ct3>161 quo]51nux+v3ridge_6 7 <_list1620mf /sb_edac.ridge_6 7 <_list k16ri3>162easour3u GB (ridge_6 7 <_list162ac.c"> < n_6 7 <_list1628ac.cist162"> ac.c"6dLidha6fnuxf63ttttttttttet Cfeck thttnumber of acti/s andtnottdisabled channels *h605p3>probed5a ;a162ux+v3c/sb_edaiseamem_ctjnfo2rcef <_lis6m#L6rc quo4 iseamem_ctjnfo2 feck_if_ecc_is_acti/sef <_lis6m#L6cfeck_if_ecc_is_acti/s_ctin9nux+v3c/sb_eda(bridge_devef <_lis6m#L6 bridge_dev quotadx+v5 mtr1ptsearbu ac.c"7#734p37bu quoZilimix/sb_ireg3eid L27p33seTdacLIM16_6ch&16<519 ="52r_search"commen16<51>162commen"">/*sp 7 <_list/7#L34p38.c7_core38NOD16_7ch&16333ntelspan c5y 399 L3316333>162v quo48 3 3*3ptid L3return4iseamem_ctjnfo2rcef <_lis6m#L6rc quoilimix/sb_ireg3eid L27p33seTdacLIM16_8ch&16ea Lpvtedha6fnuxf62 is 16ea >1623mf /limix/sb_ireg3eid L27p33seTdacLIM16_9ch&163c/sb_6 162 quo]51nux+v3idha6fnuxf63ttttttttttet allocate a new MC control(ridge_uree*h605p3>probed5a ;a163lmf /sb_edac.v5 mtr1ptsearlayee ac.c"7#734p37layee quo[0].iseamem_ctjnfo2typeef <_lis6m#L6type quo4 iseamem_ctjnfo2EDAC_MC_LAYER_CHANNELef <_lis6m#L6EDAC_MC_LAYER_CHANNEL quoilimix/sb_ireg3eid L27p33seTdacLIM1631ch&16333ntelspan c5y 39 Am#L316333>163easour3u GB (v5 mtr1ptsearlayee ac.c"7#734p37layee quo[0].iseamem_ctjnfo2sizeef <_lis6m#L6 ize quo4 iseamem_ctjnfo2NUM_CHANNELSef <_lis6m#L6NUM_CHANNELS quoilimix/sb_ireg3eid L27p33seTdacLIM1632ch&16sb_6leharead_6acfig_dwor16sb_>163ac.c"> <9nux+v3c/sb_edalayee ac.c"7#734p37layee quo[0].iseamem_ctjnfo2is_virt_csrow ac.c"7#734p37is_virt_csrow quo4 iseamem_ctjnfo2falseef <_lis6m#L6false quoilimix/sb_ireg3eid L27p33seTdacLIM1633ch&16o3eharah 1638ac.c"> iseamem_ctjnfo2layee ac.c"7#734p37layee quo[1].iseamem_ctjnfo2typeef <_lis6m#L6type quo4 iseamem_ctjnfo2EDAC_MC_LAYER_SLOTef <_lis6m#L6EDAC_MC_LAYER_SLOT quoilimix/sb_ireg3eid L27p33seTdacLIM1634ch&16nux+v3333en"">/6#L13p38316nux>163"> ac.c"6dLab <mchehab@layee ac.c"7#734p37layee quo[1].iseamem_ctjnfo2sizeef <_lis6m#L6 ize quo4 iseamem_ctjnfo2MAX_DIMMSef <_lis6m#L6MAX_DIMMS quoilimix/sb_ireg3eid L27p33seTdacLIM1635ch&16K_CNT_BITS+v3c/3vGET_TOL16K_C>163ux+v3c/sb_edaiseamem_ctjnfo2layee ac.c"7#734p37layee quo[1].iseamem_ctjnfo2is_virt_csrow ac.c"7#734p37is_virt_csrow quo4 iseamem_ctjnfo2idgeef <_lis6m#L6tdge quoilimix/sb_ireg3eid L27p33seTdacLIM1636ch&16t163commen"">/*sp9nux+v3c/sb_edamc9 ac.c"7#734p37m39 quo4 iseamem_ctjnfo2rdeavmc_alloc.span cla163v quo48 3 3*3ptid L3333333333333sizeofnhab <mchehab@pvtef <_lis6m#L6pvt quo)uilimix/sb_ireg3eid L27p33seTdacLIM16s8ch&16t inepdescr quo3e16t >1633mf /limix/sb_ireg3eid L27p33seTdacLIM1639ch&16 rawuseasour3u GB (0xeas16 ra>163 quo]51nux+v3 7 <_list/7#L34p38.c7_core38NOD164rch&16333ntelspan c5y 39 Am#L316333>164 quo48 3 3*3ptid L3return -iseamem_ctjnfo2ENOMEMef <_lis6m#L6ENOMEM quoilimix/sb_ireg3eid L27p33seTdacLIM1641ch&16c"> 3c/sb_6heharead_6ac16c">>164easoulimix/sb_ireg3eid L27p33seTdacLIM1642ch&16hehata1ptsch">inepu8 quo16heh>164ac.c"> <9nux+v3c/sb_edaeTdam_ctin, IC5_ID_iCterdeave m_ctin, TGT:4) raw5E_) raw5E_) raw5EMC: mci6=/6#L13p38316nux>1648ac.c"> 1648ac.climix/sb_ireg3eid L27p33seTdacLIM1645ch&16t164ux+v3c/sb_edaiseamem_ctjnfo2pvtef <_lis6m#L6pvt quo4 iseamem_ctjnfo2m39 ac.c"7#734p37m39 quotadx+v5 mtr1ptsearpvt_infom# L63 384 16apvt_info quoilimix/sb_ireg3eid L27p33seTdacLIM1646ch&163ptidmc# b_dev quo48 3 163pt>164commen"">/*sp9nux+v3c/sb_edamemsetef <_lis6m#L6memset_ctin9nux+v3c/sb_edapvtef <_lis6m#L6pvt quo, 0,Tsizeofnhab <mchehab@pvtef <_lis6m#L6pvt quo)uilimix/sb_ireg3eid L27p33seTdacLIM1647ch&16t inepdescr quo3e16t >164v quox+v3333en"">/7#L34p38.c7_core38NOD1648ch&16 rawuseasour3u GB (0xeas16 ra>1643mf /sb_edac.v3c/sb_edac.c"> probed5a ;a164 quo]51nux+v3v5 mtr1ptsearpvtef <_lis6m#L6pvt quotadx+v5 mtr1ptsear bridge_devef <_lis6m#L6 bridge_dev quo6=165lmf /sb_edac.v5 mtr1ptsearsbridge_devef <_lis6m#L6 bridge_dev quotadx+v5 mtr1ptsearmc9 ac.c"7#734p37m39 quo4 iseamem_ctjnfo2m39 ac.c"7#734p37m39 quoilimix/sb_ireg3eid L27p33seTdacLIM1651ch&16v3c/sb_edac.c"> 3c/sb_616v3c>165easoulimix/sb_ireg3eid L27p33seTdacLIM1652ch&1654 quo59nux+v3c/sb_edac.1654 >165ac.c"> <9nux+v3c/sb_edam39 ac.c"7#734p37m39 quotadx+v5 mtr1ptsearmtype_cap ac.c"7#734p37mtype_cap quo4 iseamem_ctjnfo2MEM_FLAG_DDR3 ac.c"7#734p37MEM_FLAG_DDR3 quoilimix/sb_ireg3eid L27p33seTdacLIM1653ch&16quo59nux+v3c/sb_edac.c">16quo>1658ac.c"> iseamem_ctjnfo2m39 ac.c"7#734p37m39 quotadx+v5 mtr1ptsearrdeavctl_cap ac.c"7#734p37rdeavctl_cap quo4 iseamem_ctjnfo2EDAC_FLAG_NONEef <_lis6m#L6EDAC_FLAG_NONE quoilimix/sb_ireg3eid L27p33seTdacLIM1654ch&16p383r63mf /sb_edac.c"> 516p38>165"> ac.c"6dLab <mchehab@m39 ac.c"7#734p37m39 quotadx+v5 mtr1ptsearrdeavcap ac.c"7#734p37rdeavcap quo4 iseamem_ctjnfo2EDAC_FLAG_NONEef <_lis6m#L6EDAC_FLAG_NONE quoilimix/sb_ireg3eid L27p33seTdacLIM1655ch&16"> >16Iux+v3c/sb_edaiseamem_ctjnfo2m39 ac.c"7#734p37m39 quotadx+v5 mtr1ptsearmod_h">ief <_lis6m#L6mod_h">i quo4 iT:4) raw5E_) raw5E_) raw5E bridgeseTdacL++;g_tadx+v5 ilimix/sb_ireg3eid L27p33seTdacLIM1656ch&1636tid L33ptsea Lpvtedh1636t>165commen"">/*sp9nux+v3c/sb_edamc9 ac.c"7#734p37m39 quotadx+v5 mtr1ptsearmod_vee.span cla165v quo48 3 3*3v5 mtr1ptsearm39 ac.c"7#734p37m39 quotadx+v5 mtr1ptsearctl_h">ief <_lis6m#L6ctl_h">i quo4 iseamem_ctjnfo2kaspr fef <_lis6m#L6kaspr f_ctin9nux+v3c/sb_edaGFP_KERNELef <_lis6m#L6GFP_KERNEL quo 4aT:4) raw5E_) raw5E_) raw5ESandy Bridge Socket#id idd++;g_tadx+v5 4ab <mchehab@m39 ac.c"7#734p37m39 quotadx+v5 mtr1ptsearmc_ifx ac.c"7#734p37m3_ifx quouilimix/sb_ireg3eid L27p33seTdacLIM1658ch&16c/sb_edac.c"> 3c/sb_6i 16c/s>1658 quo48 3 3*3v5 mtr1ptsearm39 ac.c"7#734p37m39 quotadx+v5 mtr1ptseardev_h">ief <_lis6m#L6dev_h">i quo4 iseamem_ctjnfo2pci_h">ief <_lis6m#L6pci_h">i_ctin9nux+v3c/sb_eda(bridge_devef <_lis6m#L6 bridge_dev quotadx+v5 mtr1ptsearpdevef <_lis6m#L6pdev quo[0]uilimix/sb_ireg3eid L27p33seTdacLIM1659ch&16 L33ptshehata1ptsch">in16 L>165 quo]51nux+v3v5 mtr1ptsearm39 ac.c"7#734p37m39 quotadx+v5 mtr1ptsearctl_page_to_physef <_lis6m#L6ctl_page_to_phys quo4 iseamem_ctjnfo2NULLef <_lis6m#L6NULL quoilimix/sb_ireg3eid L27p33seTdacLIM166rch&16a ;a/616a >166 quoistinepd16t166easour3u GB (v3c/sb_edac.c"> probed5a ;a166ac.c"> <9nux+v3c/sb_edam39 ac.c"7#734p37m39 quotadx+v5 mtr1ptsearrdeavcfeck ac.c"7#734p37rdeavcfeck quo6= Ae <_16 qu>1668ac.cist166"> ac.c"6dLidha6fnuxf63ttttttttttet Storeepci devices at mci6foe4faster access *h605p3>probed5a ;alim16s >166ux+v3c/sb_edaiseamem_ctjnfo2rcef <_lis6m#L6rc quo4 iseamem_ctjnfo2mci_bind_dev ac.c"7#734p37mci_bind_dev _ctin9nux+v3c/sb_edam39 ac.c"7#734p37m39 quo 49nux+v3c/sb_eda(bridge_devef <_lis6m#L6 bridge_dev quouilimix/sb_ireg3eid L27p33seTdacLIM1666ch&16c.c"> refnu 51 ="51r16c.c>166commen"">/*sp 7 <_list/7#L34p38.c7_core38NOD1667ch&16.ly6sstyp6L33p2>v3c) 56b16.ly>166v quo48 3 3*3ptid L3goto iseamem_ctjnfo2fail0ef <_lis6m#L6fail0_ctiilimix/sb_ireg3eid L27p33seTdacLIM1668ch&16/2S+v3c/scsb_edactmp_mb_16/2S>1663mf /limix/sb_ireg3eid L27p33seTdacLIM1669ch&16166 quo]51nux+v3idha6fnuxf63ttttttttttet Gettdimm basictconfig and4thttmemorytlayout *h605p3>probed5a ;ainepdes16 (r>167lmf /sb_edac.v5 mtr1ptsearget_dimm_configef <_lis6m#L6get_dimm_config_ctin9nux+v3c/sb_edam39 ac.c"7#734p37m39 quouilimix/sb_ireg3eid L27p33seTdacLIM1671ch&16Ladaem_ctinfm_ctis up to16Lad>167easour3u GB (v5 mtr1ptsearget_memory_layoutef <_lis6m#L6get_memory_layout_ctin9nux+v3c/sb_edam39 ac.c"7#734p37m39 quouilimix/sb_ireg3eid L27p33seTdacLIM1672ch&16"> ac.c"6d commen"6urn16"> >167ac.c"limix/sb_ireg3eid L27p33seTdacLIM1673ch&16uo3ehc5c"> Ae <_li16uo3>1678ac.c"> idha6fnuxf63ttttttttttet record ptr4to thttgenerictdevice *h605p3>probed5a ;a167"> ac.c"6dLab <mchehab@m39 ac.c"7#734p37m39 quotadx+v5 mtr1ptsearpdevef <_lis6m#L6pdev quo6=167ux+v3limix/sb_ireg3eid L27p33seTdacLIM1676ch&16cr quo3ehc5c"> Ae 16cr >167commen"">/*spidha6fnuxf63ttttttttttet add this new MC control(ridge_ureeto EDAC's list of MCs *h605p3>probed5a ;a/6167v quo48 3 3*3 7 <_list L27p33seTdacLIM1678ch&16mix/sb_5v3c) 56bed1678 quo48 3 3*3ptid L39nux+v3c/sb_edaeTdam_ctin, IC5_ID_iCterdeave m_ctin, TGT:4) raw5E_) raw5E_) raw5EMC: failed rdeavmavadd_mc()ac++;g_tadx+v5 Zilimix/sb_ireg3eid L27p33seTdacLIM1679ch&16tep3.3ptid L33ptst167 quo]51nux+v3c/sb_edaiseamem_ctjnfo2rcef <_lis6m#L6rc quo4 -iseamem_ctjnfo2EINVALef <_lis6m#L6EINVAL quoilimix/sb_ireg3eid L27p33seTdacLIM168rch&16 L33ptshehata1ptsch">in16 L>168 quo48 3 3*3ptid L3goto iseamem_ctjnfo2fail0ef <_lis6m#L6fail0_ctiilimix/sb_ireg3eid L27p33seTdacLIM1681ch&16a ;a/616a >168easour3u GB (list Ae <_lsadMpkcah"16> >168ac.c"limix/sb_ireg3eid L27p33seTdacLIM1683ch&16list 53CI_DE16lis>1688ac.c"> return 0ilimix/sb_ireg3eid L27p33seTdacLIM1684ch&16dasadM_Cterdev1ptsearch"16das>1688ac.climix/sb_ireg3eid L27p33seTdacLIM1685ch&1638ac.c"> 6 168ux+v3iseamem_ctjnfo2fail0ef <_lis6m#L6fail0_cti:limix/sb_ireg3eid L27p33seTdacLIM1686ch&16SENT (refc8c8 33ptidCmm16SEN>168commen"">/*sp9nux+v3c/sb_edakfreeef <_lis6m#L6kfree_ctin9nux+v3c/sb_edam39 ac.c"7#734p37m39 quotadx+v5 mtr1ptsearctl_h">ief <_lis6m#L6ctl_h">i quouilimix/sb_ireg3eid L27p33seTdacLIM1687ch&16 168v quo48 3 3*3v5 mtr1ptsearrdeavmavfreeef <_lis6m#L6rdeavmavfree_ctin9nux+v3c/sb_edam39 ac.c"7#734p37m39 quouilimix/sb_ireg3eid L27p33seTdacLIM1688ch&16_edac.c"> 1688 quo48 3 3*3v5 mtr1ptsear(bridge_devef <_lis6m#L6 bridge_dev quotadx+v5 mtr1ptsearmc9 ac.c"7#734p37m39 quo4 iseamem_ctjnfo2NULLef <_lis6m#L6NULL quoilimix/sb_ireg3eid L27p33seTdacLIM1689ch&16_sbridge qu5[] = 5fnux+v16_sb>1689ac.c"> return iseamem_ctjnfo2rcef <_lis6m#L6rc quoilimix/sb_ireg3eid L27p33seTdacLIM169rch&165fnux+v3c/sb_edac.c"> 165fn>169 quolist169easoulimix/sb_ireg3eid L27p33seTdacLIM1692ch&16ptseamtr1pts6arch"694 16pts>1692asouv3c/sb_edac.c"> probed5a ;a *spa16#f >1693*mb v3c/sb_edac.c"> probed5a ;a169"> v3c/sb_edac.c"> 169ux+v3v3c/sb_edac.c"> 169commev3c/sb_edac.c"> in16 L>169v quov3c/sb_edac.c"> /616a >1693mf /v3c/sb_edac.c"> probed5a ;ainepd16t169 quo]istinepd17src>170 quostatic n_6 7 <_list170easou (ref <_list<"> L27p33seTdacLIM17s2ch&17stseamtr1pts6arch"694 17sts>170ac.c"> < n_6 7 <_list *spa17sf >1708ac.c"> iseamem_ctjnfo2u8ef <_lis6m#L6u8 quo4v5 mtr1ptsearmc ac.c"7#734p37m3 quo 49nux+v3c/sb_edanum_mcef <_lis6m#L6num_mc quo4 0ilimix/sb_ireg3eid L27p33seTdacLIM17s4ch&17s iiizt_edv2.62 2.l69cRA17s i>170"> ac.c"6dLridge_6 7 <_list170ux+v3limix/sb_ireg3eid L27p33seTdacLIM17s6ch&17stsearctadx/sb_I170commen"">/*spidha6fnuxf63ttttttttttet ge_6thttpci devices we wan_6to res rve foe4our use *h605p3>probed5a ;ain17s L>170v quo48 3 3*3v5 mtr1ptsearmutex_lock.span cla/617s >1703mf /limix/sb_ireg3eid L27p33seTdacLIM17s9ch&17sinepd17s170 quo]51nux+v3idha6fnuxf63ttttttttttet605p3>probed5a ;a171 o52nedha6fnuxf63ttttttttttpiiiiiiii* Alltmemorytcontrollers are allocated at thttfirst pxf6.adx+v5 robed5a ;ainep17psb>171easouv3c/sb_edac.c"> probed5a ;a171ac.c"> < 7 <_list L27p33seTdacLIM1713ch&1757nux+v3c/sb_ed commen""1757n>1718ac.c"> 171"> ac.c"6dLLLLLLLLLreturn -iseamem_ctjnfo2ENODEVef <_lis6m#L6ENODEV quoilimix/sb_ireg3eid L27p33seTdacLIM1715ch&17pmt4+v3c)48lude 7 quo4/c17pmt>171ux+v3c/sb_edalist171commen"">/*sp9nux+v3c/sb_edaprobefin, IC5_ID_iCteprobef quo++ilimix/sb_ireg3eid L27p33seTdacLIM17/c8c1532ch7o2ch">inepu8 em_dIC5_IDc17MC sy71v quox+v3333en"">/7#L34p38.c7_core38NOD1718ch&1733pmc L33ptseamem_ctmc 1733p>1718 quo48 3 3*3v5 mtr1ptsearrcef <_lis6m#L6rc quo4 iseamem_ctjnfo2(bridge_get_all_device ac.c"7#734p37sbridge_get_all_device _ctini (reab <mchehab@num_mcef <_lis6m#L6num_mc quouilimix/sb_ireg3eid L27p33seTdacLIM1719ch&17ct33p3vtid L33ptsea Lp17ct3>171 quo]51nux+v3 7 <_list/7#L34p38.c7_core38NOD172rch&17_list172 quo48 3 3*3ptid L3goto iseamem_ctjnfo2fail0ef <_lis6m#L6fail0_ctiilimix/sb_ireg3eid L27p33seTdacLIM1721ch&17ri3bbut3c/sb_edac.c"> k17ri3>172easour3u GB (v5 mtr1ptsearmc ac.c"7#734p37m3 quo4 0ilimix/sb_ireg3eid L27p33seTdacLIM17_2ch&172r_search"commenum# Ae172r_>172ac.c"limix/sb_ireg3eid L27p33seTdacLIM17_3ch&17 L33ptsea5C8dprch&a17 L>1728ac.c"> iseamem_ctjnfo2list_foe_each_ ry ac.c"7#734p37list_foe_each_ ry_ctiniseamem_ctjnfo2sbridge_devef <_lis6m#L6 bridge_dev quo 4 (reab <mchehab@(bridge_rdeavlist.span cla L27p33seTdacLIM1724ch&1719 ="52r_search"commenum1719 >172"> ac.c"6dLLLLLLLLL9nux+v3c/sb_edaeTdam_ctin, IC5_ID_iCterdeave m_ctin, TGT:4) raw5E_) raw5E_) raw5ERegisterw5E MC#id idd (id idd of172ux+v3c/sb_edaaaaaaaaaaaaaaaaaav5 mtr1ptsearmc ac.c"7#734p37m3 quo 49nux+v3c/sb_edamc ac.c"7#734p37m3 quo4+ 1 49nux+v3c/sb_edanum_mcef <_lis6m#L6num_mc quouilimix/sb_ireg3eid L27p33seTdacLIM17_6ch&17<519 ="52r_search"commen17<51>172commen"">/*spaaaaaaaav5 mtr1ptsear(bridge_devef <_lis6m#L6 bridge_dev quotadx+v5 mtr1ptsearmcef <_lis6m#L6mc quo4 iseamem_ctjnfo2mcef <_lis6m#L6mc quo++ilimix/sb_ireg3eid L27p33seTdacLIM17_7ch&17333ntelspan c5y 399 L3317333>172v quo48 3 3*3ptid L3v5 mtr1ptsearrcef <_lis6m#L6rc quo4 iseamem_ctjnfo2(bridge_register_m39 ac.c"7#734p37(bridge_register_m39_ctinv5 mtr1ptsear(bridge_devef <_lis6m#L6 bridge_dev quouilimix/sb_ireg3eid L27p33seTdacLIM17_8ch&17ea Lpvtedha6fnuxf62 is 17ea >1728 quo48 3 3*3ptid L3 7 <_list/7#L34p38.c7_core38NOD1729ch&173c/sb_6 172 quo]51nux+v3c/sb_edaptid L3goto iseamem_ctjnfo2fail1ef <_lis6m#L6fail1_ctiilimix/sb_ireg3eid L27p33seTdacLIM173rch&17sea Lpvtedha6fnuxf63 /17sea>173lmf /sb_edac.list173easoulimix/sb_ireg3eid L27p33seTdacLIM1732ch&17sb_6leharead_6acfig_dwor17sb_>173ac.c"> <9nux+v3c/sb_edasbridge_pr k<_lilimixf <_ bridge_pr k_ctinab <mchehab@KERN_INFO<_lilimixf <_KERN_INFO quo 49T:4) raw5E_) raw5E_) raw5EDeg3ei loaded.ac++;g_tadx+v5 Zilimix/sb_ireg3eid L27p33seTdacLIM1733ch&17o3eharah 1738ac.cist/6#L13p38317nux>173"> ac.c"6dLab <mchehab@mutex_unlock.span cla173ux+v3c/sb_edareturn 0ilimix/sb_ireg3eid L27p33seTdacLIM1736ch&17t1733 3*3ist173v quoiseamem_ctjnfo2fail1ef <_lis6m#L6fail1_cti:limix/sb_ireg3eid L27p33seTdacLIM17s8ch&17t inepdescr quo3e17t >1738 quo48 3 3*3v5 mtr1ptsearlist_foe_each_ ry ac.c"7#734p37list_foe_each_ ry_ctiniseamem_ctjnfo2sbridge_devef <_lis6m#L6 bridge_dev quo 4 (reab <mchehab@(bridge_rdeavlist.span cla173 quo]51nux+v3c/sb_edaiseamem_ctjnfo2(bridge_unregister_m39 ac.c"7#734p37(bridge_unregister_m39_ctinv5 mtr1ptsear(bridge_devef <_lis6m#L6 bridge_dev quouilimix/sb_ireg3eid L27p33seTdacLIM174rch&17333ntelspan c5y 39 Am#L317333>174 quoist 3c/sb_6heharead_6ac17c">>174easour3u GB (v5 mtr1ptsear bridge_put_all_device ac.c"7#734p37sbridge_put_all_device _ctinuilimix/sb_ireg3eid L27p33seTdacLIM1742ch&17hehata1ptsch">inepu8 quo17heh>174ac.c"iseamem_ctjnfo2fail0ef <_lis6m#L6fail0_cti:limix/sb_ireg3eid L27p33seTdacLIM1743ch&17nux+v3333en"">/6#L13p38317nux>1748ac.c"> iseamem_ctjnfo2mutex_unlock.span cla1744x+v3c/sb_edareturn 7 <_list174ux+v3list1743 3*3istinepdescr quo3e17t >174v quov3c/sb_edac.c"> probed5a ;a1743mf /v3c/sb_edac.c"> probed5a ;a174 quo]v3c/sb_edac.c"> probed5a ;a175 o52nedha6fnuxf63ttttttttttp*h605p3>probed5a ;a 3c/sb_617v3c>175easoustatic voidp9nux+v3c/sb_eda(bridge_remove ac.c"7#734p37(bridge_remove_ctinridge_6 7 <_list175ac.c" (ref <_list<"> L27p33seTdacLIM1753ch&17quo59nux+v3c/sb_edac.c">17quo>1758ac.c"> ridge_6 7 <_list 517p38>1758ac.climix/sb_ireg3eid L27p33seTdacLIM1755ch&17"> >17Iux+v3c/sb_edaiseamem_ctjnfo2eTdam_ctin, IC5_ID_iCterdeave m_ctin, TGT:4) raw5E_) raw5E_) raw5Eac++;g_tadx+v5 Zilimix/sb_ireg3eid L27p33seTdacLIM1756ch&1736tid L33ptsea Lpvtedh1736t>1753 3*3ist175v quo48 3 3*3v3c/sb_edac.c"> probed5a ;a 3c/sb_6i 17c/s>1753mf /v3c/sb_edac.c"> probed5a ;ain17 L>175 quo]v3c/sb_edac.c"> probed5a ;a/617a >176 o52nedha6fnuxf63ttttttttttpiiiiiiii* is a Nehalem oe4upper derign. Howefnu, due4to thttway sefnual PCI605p3>probed5a ;ainepd17t176easouv3c/sb_edac.c"> probed5a ;a1762asouv3c/sb_edac.c"> probed5a ;a Ae <_17 qu>1763*mb v3c/sb_edac.c"> probed5a ;a1768ac.climix/sb_ireg3eid L27p33seTdacLIM1765ch&17s <_listlim17s >176ux+v3c/sb_edaiseamem_ctjnfo2mutex_lock.span cla refnu 51 ="51r17c.c>1763 3*3istv3c) 56b17.ly>176v quo48 3 3*3 7 <_list L27p33seTdacLIM1768ch&17/2S+v3c/scsb_edactmp_mb_17/2S>1768 quo48 3 3*3ptid L39nux+v3c/sb_edamutex_unlock.span cla176 quo]51nux+v3c/sb_edareturnilimix/sb_ireg3eid L27p33seTdacLIM177rch&17 (rev_3pt inepdes17 (r>177lmf /sb_edac.list177easoulimix/sb_ireg3eid L27p33seTdacLIM1772ch&17"> ac.c"6d commen"6urn17"> >177ac.c"> <9nux+v3c/sb_edalist_foe_each_ ry ac.c"7#734p37list_foe_each_ ry_ctiniseamem_ctjnfo2sbridge_devef <_lis6m#L6 bridge_dev quo 4 (reab <mchehab@(bridge_rdeavlist.span cla Ae <_li17uo3>1778ac.c"> 1778ac.climix/sb_ireg3eid L27p33seTdacLIM1775ch&17o48 3 3*tmp_mb <)i1775 quo48 3 3*3v3c/sb_edac.c"> probed5a ;a Ae 17cr >177commen"">/*sp9nux+v3c/sb_eda bridge_put_all_device ac.c"7#734p37sbridge_put_all_device _ctinuilimix/sb_ireg3eid L27p33seTdacLIM1777ch&17n"">/6177v quox+v3333en"">/7#L34p38.c7_core38NOD1778ch&17mix/sb_5v3c) 56bed1778 quo48 3 3*3v5 mtr1ptsearprobefin, IC5_ID_iCteprobef quo--ilimix/sb_ireg3eid L27p33seTdacLIM1779ch&17tep3.3ptid L33ptst177 quo]istin17 L>178lmf /sb_edac.v5 mtr1ptsearmutex_unlock.span cla/617a >178easoulist Ae <_lsadMpkcah"17> >178ac.c"limix/sb_ireg3eid L27p33seTdacLIM1783ch&17list 53CI_DE17lis>1788ac.cab <mchehab@MODULE_DEVICE_TABLE.span cla1788ac.climix/sb_ireg3eid L27p33seTdacLIM1785ch&1738ac.c"> 6 178ux+v3v3c/sb_edac.c"> probed5a ;a178commev3c/sb_edac.c"> probed5a ;a178v quov3c/sb_edac.c"> probed5a ;a 1783mf /v3c/sb_edac.c"> probed5a ;a1789ac.cstatic ridge_6 7 <_list L27p33seTdacLIM179rch&175fnux+v3c/sb_edac.c"> 175fn>179lmf /sb_edac..iseamem_ctjnfo2h">ief <_lis6m#L6h">i quoedac. iT:4) raw5E_) raw5E_) raw5E bridgeseTda++;g_tadx+v5 limix/sb_ireg3eid L27p33seTdacLIM1791ch&17333ntelspan c5y 399 L3317333>1791mf /sb_edac..iseamem_ctjnfo2probeef <_lis6m#L6probe_ctidac. inux+v3c/sb_edasbridge_probeef <_lis6m#L6 bridge_probe_cti limix/sb_ireg3eid L27p33seTdacLIM1792ch&17ptseamtr1pts6arch"694 17pts>1792mf /sb_edac..iseamem_ctjnfo2remove ac.c"7#734p37remove_ctiac. inux+v3c/sb_edasbridge_remove ac.c"7#734p37(bridge_remove_cti limix/sb_ireg3eid L27p33seTdacLIM1793ch&17#f <_li6commen""> *spa17#f >1793mf /sb_edac..iseamem_ctjnfo2id_table ac.c"7#734p37id_table quo4 iseamem_ctjnfo2(bridge_pci_tbl ac.c"7#734p37sbridge_pci_tbl quo limix/sb_ireg3eid L27p33seTdacLIM1794ch&17 iiizt_edv2.62 2.l69cRA17 i>179"> }ilimix/sb_ireg3eid L27p33seTdacLIM1795ch&17i6i4tri29bute4 und_e the17i6i>179ux+v3limix/sb_ireg3eid L27p33seTdacLIM1796ch&17ptsearctadx/sb_I179commev3c/sb_edac.c"> probed5a ;ain17 L>179v quov3c/sb_edac.c"> probed5a ;a/617a >1793mf /v3c/sb_edac.c"> probed5a ;ainepd17t179 quo]v3c/sb_edac.c"> probed5a ;ainepd18src>180 quostatic n_6 7 <_list180easou (ref <_list<"> L27p33seTdacLIM18s2ch&18stseamtr1pts6arch"694 18sts>180ac.c"> < n_6 7 <_list *spa18sf >1808ac.cist180"> ac.c"6dLab <mchehab@eTdam_ctin, IC5_ID_iCterdeave m_ctin2 TGT:4) raw5E_) raw5E_) raw5Eac++;g_tadx+v5 Zilimix/sb_ireg3eid L27p33seTdacLIM18s5ch&18s6i4tri29bute4 und_e the18s6i>180ux+v3limix/sb_ireg3eid L27p33seTdacLIM18s6ch&18stsearctadx/sb_I180commen"">/*spidha6fnuxf63ttttttttttet Ensureetha_6thttOPSTATE is set correctlyefoe4POLL oe4NMIi*h605p3>probed5a ;ain18s L>180v quo48 3 3*3v5 mtr1ptsearopstate_init ac.c"7#734p37opstate_init_ctinuilimix/sb_ireg3eid L27p33seTdacLIM18s8ch&18s ;a/618s >1803mf /limix/sb_ireg3eid L27p33seTdacLIM18s9ch&18sinepd18s180 quo]51nux+v3i 7 <_list181 quoistinep18psb>1811mf /sb_edac. 7 <_list L27p33seTdacLIM1812ch&1834p37li34375 quo}57nux+v1834p>181ac.c"> 1818ac.c"> 181"> ac.c"6dLlist181ux+v3limix/sb_ireg3eid L27p33seTdacLIM1816ch&18lt;mchetnamef <_lis6ui18lt;>181commen"">/*sp9nux+v3c/sb_edasbridge_pr k<_lilimixf <_ bridge_pr k_ctinab <mchehab@KERN_ERR<_lilimixf <_KERN_ERR quo 49T:4) raw5E_) raw5E_) raw5EFailed to register device with4erroe4id idd.ac++;g_tadx+v5 limix/sb_ireg3eid L27p33seTdacLIM18/c8c1532ch8o2ch">inepu8 em_dIC5_IDc18MC sy81v quo48 3 3*3ptid L3333333 7 <_list1813mf /limix/sb_ireg3eid L27p33seTdacLIM1819ch&18ct33p3vtid L33ptsea Lp18ct3>1819ac.c"> return iseamem_ctjnfo2pci_rcef <_lis6m#L6pci_rc quoilimix/sb_ireg3eid L27p33seTdacLIM182rch&18_list182 quolist k18ri3>182easoulimix/sb_ireg3eid L27p33seTdacLIM18_2ch&182r_search"commenum# Ae182r_>1822asouv3c/sb_edac.c"> probed5a ;a1823*mb v3c/sb_edac.c"> probed5a ;a182"> v3c/sb_edac.c"> probed5a ;a182ux+v3v3c/sb_edac.c"> probed5a ;a182commestatic voidp9nux+v3c/sb_eda__exit ac.c"7#734p37__exitmf /sv5 mtr1ptsear(bridge_exit ac.c"7#734p37(bridge_exit_ctinvoidulimix/sb_ireg3eid L27p33seTdacLIM18_7ch&18333ntelspan c5y 399 L3318333>182v quo (ref <_list<"> L27p33seTdacLIM18_8ch&18ea Lpvtedha6fnuxf62 is 18ea >1828 quo48 3 3*3v5 mtr1ptseareTdam_ctin, IC5_ID_iCterdeave m_ctin2 TGT:4) raw5E_) raw5E_) raw5Eac++;g_tadx+v5 Zilimix/sb_ireg3eid L27p33seTdacLIM1829ch&183c/sb_6 182 quo]51nux+v3i 7 <_list183lmf /sb_edac.v5 mtr1ptsearmce_unregister_detsea_chain.span cla183easoulist183ac.c"limix/sb_ireg3eid L27p33seTdacLIM1833ch&18o3eharah 1838ac.cab <mchehab@modul1_init ac.c"7#734p37modul1_init_ctinv5 mtr1ptsear(bridge_init ac.c"7#734p37(bridge_init_ctiuilimix/sb_ireg3eid L27p33seTdacLIM1834ch&18nux+v3333en"">/6#L13p38318nux>183"> ab <mchehab@modul1_exit ac.c"7#734p37modul1_exit_ctinv5 mtr1ptsear(bridge_exit ac.c"7#734p37(bridge_exit_ctiuilimix/sb_ireg3eid L27p33seTdacLIM1835ch&18K_CNT_BITS+v3c/3vGET_TOL18K_C>183ux+v3limix/sb_ireg3eid L27p33seTdacLIM1836ch&18t1833 3*3ab <mchehab@modul1_param ac.c"7#734p37modul1_param_ctinv5 mtr1ptsearrdeavop_statein, IC5_ID_iCterdeavop_state quo 4 , 0444uilimix/sb_ireg3eid L27p33seTdacLIM1837ch&183ptidmc# b_dev quo48 3 183pt>183v quoiseamem_ctjnfo2MODULE_PARM_DESC.span clainepdescr quo3e18t >1833mf /limix/sb_ireg3eid L27p33seTdacLIM18s9ch&18 rawuseasour3u GB (0xeas18 ra>183 quo]iseamem_ctjnfo2MODULE_LICENSE.span cla184 quoiseamem_ctjnfo2MODULE_AUTHOR<_lilimixf <_MODULE_AUTHOR_ctinvT:4) raw5E_) raw5E_) raw5EMauro Carvalho Chehab4ttttmchehab@redhat."> tdx+++;g_tadx+v5 Zilimix/sb_ireg3eid L27p33seTdacLIM1841ch&18c"> 3c/sb_6heharead_6ac18c">>184easouiseamem_ctjnfo2MODULE_AUTHOR<_lilimixf <_MODULE_AUTHOR_ctinvT:4) raw5E_) raw5E_) raw5ERed Hat Inc. (http://www.redhat."> )++;g_tadx+v5 Zilimix/sb_ireg3eid L27p33seTdacLIM1842ch&18hehata1ptsch">inepu8 quo18heh>184ac.c"iseamem_ctjnfo2MODULE_DESCRIPTIONef <_lis6m#L6MODULE_DESCRIPTION_ctinvT:4) raw5E_) raw5E_) raw5EMC Deg3ei foe4Intel Sandy Bridge memorytcontrollers - ++;g_tadx+v5 limix/sb_ireg3eid L27p33seTdacLIM1843ch&18nux+v3333en"">/6#L13p38318nux>1848ac.c"> 1844x+v3
Thttoriginal LXR software by thttimix/sb_ihttp://sourcefoege.net/projects/lxr">LXR "> unity quo 4this experi al 3eidion by imix/sb_imailto:lxr@v3cux.no">lxr@v3cux.no quo.
lxr.v3cux.no kindly hosted by imix/sb_ihttp://www.redpill-v3cpro.no">Redpill L3cpro AS quo 4provider of L3cux consultw5E and4operations services since 1995.