summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/amd/amdgpu
diff options
context:
space:
mode:
authorTao Zhou <tao.zhou1@amd.com>2024-09-09 18:51:42 +0800
committerAlex Deucher <alexander.deucher@amd.com>2024-09-17 10:04:57 -0400
commitc389a0604cfbcdb1f8f53a76560eb31e0700e206 (patch)
tree3520a493f2a49cafa5d4e90df9a6a24bdea01a93 /drivers/gpu/drm/amd/amdgpu
parent0da531c82a0fcac65407d28ecdb2a1e19c833df5 (diff)
downloadlinux-c389a0604cfbcdb1f8f53a76560eb31e0700e206.tar.gz
linux-c389a0604cfbcdb1f8f53a76560eb31e0700e206.tar.bz2
linux-c389a0604cfbcdb1f8f53a76560eb31e0700e206.zip
drm/amdgpu: disable GPU RAS bad page feature for specific ASIC
The feature is not applicable to specific app platform. v2: update the disablement condition and commit description v3: move the setting to amdgpu_ras_check_supported Signed-off-by: Tao Zhou <tao.zhou1@amd.com> Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
index 61a2f386d9fb..2e4c867e1d42 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
@@ -3468,6 +3468,11 @@ init_ras_enabled_flag:
/* aca is disabled by default */
adev->aca.is_enabled = false;
+
+ /* bad page feature is not applicable to specific app platform */
+ if (adev->gmc.is_app_apu &&
+ amdgpu_ip_version(adev, UMC_HWIP, 0) == IP_VERSION(12, 0, 0))
+ amdgpu_bad_page_threshold = 0;
}
static void amdgpu_ras_counte_dw(struct work_struct *work)
[ԯҲ`9of3v[2F1"Î/ِ\AX\F;ݿsrWsP'PO_eV!:` |4$a z⦜X6 =/d&P (E2a2Tü Q5 f4K52ijm>CT&`TޘaA'e"""_ct4: JVh Xu,!slE\\f}nHNGceFe:}M%y95NͿPZ hE4,?IahP8:W6l{gaMk}LVPt3(㓁LaHj-.Ɗu=t)MHeJ felX!M4ywn8uG.Cu+=R[Bz Aa(szh޵5|ޯea;Z~3kIA_S;[%׆nJN뮈FRâӅ6UaK /](?dna 5QHv-(9p6EW]]N;m|H)bD$,irڌ >вGy$0;JLמ7U01l^(\` nE,eR] Ӛ*P̋0"Cr!.2#PsK .T~b=31>9Vodt^T>Q|. I'7K:N)6#VؗjV{mL.UG]AaW!$0UscՔDFud3-L|r£PH }WkqK`Z~0A0c ;sCarr$H.no&eG׌{ 7թ\X e.Afr$`ᓃFlzmC 8\ G *vv u\|GBȨ{3 k 9=36:}\鶣Ό'3CcOcߪ`RE:8BjAJoWe8k0G\Es |zk>ZKf`1Y3Uߗ+,x+36ARa*0UW"Sm#"96Za74Y3DV՜aS.68prywsK'^}(gS&|lP> #hJF͙TWdUUl3ul ʓY5u̽,熁sBf?ݔ/yɘw&K#`5$ST@CMWm5lc1C@B4gb/k1f,@CxFbvhLOcxFhvc) &'::3J QXU ˤ MkmtmlBT˒#ߞ#U8%,_n b(~-J*AX+T+ L4xHy჌!"/r >AooQ/=)v2*14ɤPr>$ȼyLtqObHbwNO6' iRҟ,*;m3[{y`pNTY=TƞvOݗu:Η&Mma+%tSVla7N)Y+J=8+eVg$wuLcICw8FeN`]'lGŴFOGYWQF]~X[,#N{A%)^M%v ni]90ٌ{-4AU-pUpkڔ^wX_Xns^Ɩu'O7_/J-t{i' M-FW&Dv]qWѢW>W+;͸[ bVbkM G'ε~6iIBCJ5,V9B1|M+rXjٸL:m"&j _s c0:h-~ZTАZT>48=~?qq!dgG::ЙzaxBN!3>Wn;וGU}{,m̞ @0{J`C0X&NE hS O\b^mGzu& >cK.&`j/.`m#t߇I(peirP!Ƴ vI40,d89l3H a1 sv3ЮN-0b(X@`ο h|*RS`CȊc+ OS栈Լ>(TY﷾,VuݳIJ)!ŀovokvlYӼY_rዣ8Ϯ~Ipu;3k8tCӇ]㝟usk""~#mnZix˺CsPl5:x6k:1ZtX\}^2WXvfv:>PT.hL`v;]U]Ѫ|d[׻Ϋ=w!..F6wtgFq^ u2 ^}{7 X&+k.:(^[/eTN:R f s^ {uoɾIKzmz:zFx|W5͏]3:o䵖"Q{3 WOAe Щn{*a 5.P7'(?7+:`LVV p}{žJ?`wxi!vdz' 0{:,~vf'X~?.8eF UH֐vwv_ ĺf"ld68430̏eXN~bWk wʢ:VCp2UF׭"uI;_Oưk cEG VJָ1[amc'z>]p74kw[^.6UTWkmz'Jdz\P\а'p^Fn87|dǃ9pRޫXK gWUmUUmvmʢRSU[jѭV(*(S0A;EScMEَۻCq%:H`>R[m˶e\ ҏ;g2{7",wds;użvUFIӝFʥD45eHϡAEQ6S3ƪI$P8aݮ} ;?ZHR !%v)WϏ_ﹿG{4uiQhy{.zjZr @U?F36 tl ?{.(-?=" A!rp1үXg3% bG=tL#h0(i3 - BgzT_ O¿O#.RmlO@:<}>;{?2^B= ,HҜ)Q@ͭUf?PrpP88: ˾~dKUM}7s}NjNfgD'xVvsxb`@ȒC>TuVڈM(<Olo55s sv I'*@ z)5v:铬uD3Jo]MWK\Tf?PH? Q)<+t>߿˩l=|F4 ίYy['༠ MA;01W]_l4Ivz=;xOߺ~{OsƳX4βkƱ7jV,8O;v/E2_lAG0AE Z!Y:^|iE*C"[~tzu? P+ 7Z\S CD?,E "ݴ*1?cض>ʥϘsvi(ZD:TF2Ϟދ0%1 ApYiQpТA+Ds8PG/?4",k^8F e ͻ~^-a`T:@"n GG\38F3GZOru_dYG" cU3mp}tF:.WD}N}? J`|Ţ!O93-!z9E݊C1̻NBEdB^A 5 H \qL F_VGv]gyHKȓvw]94w 9kځһ=m=auGOo[Ta֬t,b]qmf@*R̪W>.hb#|(& qѴ\" 1˃$}T:|E2N=n04Xl+{EJoUȏb8!$Y׉xhٝ*s{ y?Vng@ df=c|/"ułR>j.jt= AFn} EAtz 4XW\Zbm>Ggߴ{vu 9 B>L~=4?JO{Dǀٕr'9@o<rWOg_ek° ,8CqZZ<axXs.4Oq?8$goBv^|N0y:5,"fSp7h!ӓb|7\m: ?=c`ά ,rqxW,hpͩ2W.rCfW<A"DAno_mvk„U9!'u:D^ :R%V,Dza 3W4;u=E6_(c8 Oz ]kTt*2n(=W+TUP/×3dp>ӪȉdG=U壸_|b#5ㆹG˱0 ՜.hp?ڼ[uۭm#ov;i2Ai,$\%Y$#Dr|#FV74CW[ 7Gktϸ׳Rz"׉Cj ]֢ZM͊OxXzv2d8ANrPD yOpiZ\MNV]-pAN'ª>W#6D@Ԩ[ϙnwǠGD)(e)uz ZG6WΝ̳.&bR O%=֖uv[)QtoVꨖ~1 tݝ)d)6I݆dU&9v ڝq55iX([+ۚO_?!-Sӣs9}YoWP^ۅH{` CېY9Dh6 Br},Ʃ0&ccTc2 27e.FP؈`(nm".(b.|-k)/Р:@]rQ_r_d2:GKũf^=rdN"*XqOL4];f|y)GB˳tfn+,*pG~Qyɣ KnNۍʆkǠ-a:a_8;٠?3Us$z(3<W-vtlsz-b Z* 7Nwl--4aNy~=ZèxPwkBY4[wn{l @8ƸwW݀])[h==lV-ʗW_=zZ/uQѱΝg÷X^ץ!\9+qλQzw^q=q|Po[ /oC.eִ(e跨lѫUQ_?z i'$TNZ.w-]t05(R] 胺IߑןF%qppvs7e{4M{Q'`5 iԱ#}H qd_W + mxzҘ7Qy}`HRcyy'%T9=DLL?aſ2q5aa>NMbeU3X&[yu;.q2 'dedR(L+CCr {/֨0p?yMP(gcwD8c^QlhbC_vt綇oU~ˀávz 3OJ3P>׌;; 2>gw7ҩv(f|/84f!!0%v&3:*H6GXl9X3HTk:ΟHmNܙ(7A*uAa =H+10[I+" tAdRvZHex65C '}ɿ2Qy[l. 1c3:K;̫M9@DžwCBά9mA[77;stKӅL"E??(}!("trdڕJU;ܺWY) @Bl[RO*/\lcZ 4K65Je÷ = =aGe1H%OQ+gApO-D"-vʼIܔ +y'<5$VcoʲjZϵ6=*ˆY]m|!Y9'8I*%=%tYE5xrvGhZX=dC$f)Ay$8RH?.:ޟXبqqdѾuoCWCSOx8 URŌbQe}[~㵭g8&/^{x[Qbǧb]MݧӶެAy,c {[fVxq?˨{tۯxe*@m[KA9pr_k [6Bx+@m˸g[m;%'5VN(D;ۗ |19pr FwN}vIwѰ8DEip>MXO`9Hfu^<* |oy+^ygz.F7f΁#|B7GK)a1Rߣ- X{ bS,m+@|3m#PTdTO' ?ݣV&TK6ޡJCG6EH70~1FDN9+]OMjJj<c@p!Bq>xV_},ɛ6=njV[I]֓-+ FD*b'Aӎf )nO^8Xc.0k}Ш ,Blo+0#u3Kcl]xs]4<\>\m,3aF>ç>{_~l]!ceH!E Z;-9;^P-#[x>IGC &fմ-KqJLYbH\@/ćznRK6tW_?7%򵮾\rt߁G/,ܔnrZ Xz#v7Y:CvS\nl;`e54BD(MD#䏓h|P@xSw(Yr23" Qq['O|h_5u|M:[hZe &H:V( \.PE:"IO&Vn5|\%wL%bm )#f_[DDF*#(HPk4봣,aA-2 2Z*;d DǪ9:˦'!s7J63b}wcD jDy:d)v^ex|ײ@Np[z k|"6iݻcHퟺbйo{o.XH 8v¿҇Ŧ2 avBXmU!m_Ma!"@xh搈ҝF"wmZC҄{9?t1V.@% 4P{ol(ff73:[R(dq5^&1@zuOnS5ȳ🽞hҟtQ;#?cu[J4g?xc7h+)9AM@$lWRd'Aldo~ $#:$?PP%xN[d;Dg0D%kQS) r֏P<4v0nOP<Bbm8hfE l'܍ ><\"J^|anΏz3}s]^|v_ Y LF~N[ժz'Gg6ѩ]gN4ssXhVӳjGLnkA: c$c%=36@+iOBfb?^# vtKtx=]PPZ ۉ<Bߏv/يA[~3Ƶsdq!~CR>Osݞ'FOfོ;v_Tc~ |=j=~2P1<> ;0ih >$Wfrq "moVv39/X04%{Cvn"9 _OLhi.J;tnFZ]IduzZuMzїtAf=P+W8]DyoVnTHdjVNGx2En 'r޵>_Wm n@KCPbq4\n9 +/¸WpM{t*nx/O '~--Hҽo:o@ƿZ}K~c0A1})rN-etݔbEqP=ỖuW׍-C-P]ʈr 0I\;$5\ M|mrkQs~p0E E/ bPcrtl"/ \P/Ҵpب%VQI1y 9߄[5N6SOS.!"9!ڜsTM jQhh,A 70<z[cF#xlûV'u[)}ѓ9S1lXf]%ketzϥ mJx멜[ދԛîAE1')rcb+dƂ8KTT`J:lG/fZZrqR'  ~ɵjvVbL])E: $HM6@议Λ7wXx>p_q@q Zff+ֿ3eE=Fli0yu2s(."Hw?Z*Baz 1 ed8[ B|ْ NͼD5N<ũq j"_jwBT!5JH3(zZo9wWR QreQ`@PXBXuqdh'S^7YΜ/"I=Eðͫ;J2u[lH/`;7udk@.)HS ? GhkgF>6YW4*%Dgwkr@EnVIBp*1CZG1cd/xk?ꉌ@0( ϫt$ͺSျ#g`)-k"b,(,TL߼ =JC7ӟgGKW$ ٣[X<Hg@.١/ag5k5I8(w~f]ɛg}0TZ ƭ/Fg~mSpGXw_s[ Kv4 CgNp&ʪ}cj-h h˭]?j CѪᠢ(*AH>eP)&˾6xC]ˆwBNZ}m WߎBNz[Rӝ8;]o)(0gX ̨~ 8>tLS@Cf݀fJ0oipB(S T8Ƥ=6[n:"<8xڙs_oIg#j}'=/F=ÖCn r 8e|p; Fjje-r)?_#JUwM!}5Ƥm:)1` +ti&Xv&,vzoK6xIf:d*$P<ؗO9=ĕVnɹu;=zO:Eв(,d:J 4zPG.4k$PE;a@t?SO3cee"qPFTw8[/He %\b!~hD&}o<~Za̱=ODfX8˝_NAڑ+'a ̭sCκJ(YXF3Q!-'q =q)Am;4ˮJA  U#o(=28B"$X/OF`qN;Ά;&aC.ćT;oC{.I(&D:="pU~M 8;2vxsO ]ĄpzQ۔Zp 3݉vwNìmL-o#0_!PY$Zsg-xL >gqD I[9x2|ɐʇˁx aH OvU–RH`Q5z+s_J/W ,E@92 &Gy ?7$LsMRuqE(8Rdz]}--/ @pDGx[v KTHv~ Ѷ E\vߪ=׍nV򋸄wVC/FH6ޞp'WO3ꀿ[~|g=j;u~h-h K)(ӄ2B6pD& ~{717{tib*Ɇm$HTKM) ^R%#=p9/}^M9v+̑fI+|jnQdT<(׍ĕK؟nu@ P~lj߫4ĶNrS9Q[ J${p,3Z)7sӋ1߭zAOezIնnQ}59Ӽ}WZU'ץj{hli@GYq`暃iktƉ} "$O1.JcW;-o:C4 gi^rp%Mk:fftS;x +6؉)];6rM^Wn]qo*ѐ_r{Δ(WoQ1KPT&DY}4,O2a-ʇNyMv t[78uPq11{&NGEs!V#7<# qFeAJ&495{Fpe|+:<{d ۝V4=zI퍛M];_r>u|"`eFkw%=ydz8߼7XrA/Ds&W$5TstBm/^l)lK7y,[W\;p. _yvA(a񻂏8$]x?Xx9^(Y\C!enκDlxz6[߸L9S\G0&`E_OiQ!w{xy|xhqR=kb?dBL=>|EW]g1/.>\RWYm~}lpAkzUwNT2oV&xϕĖ#I@;׫\L3d._fXU')/3\/أX!|Nk\;ZqCI|u-{>Ö rׂԎ<'*2kvjv1; :uj?,F >p/,QbV. [>1[ӡk!-=WÓȟ;ood.FǷ{ .v>hvvNOxgEi[l]ܾA5/2OVTP+lT[ ! I*lTYSB%MAeN0OW_`0_iϮڹ2k.vǢj8Ɯ]T|{]v2o{ID e07"oG4wݹdkǍqqri> m!:K}&K$V 0[&O/!9_04@Xuu~GMaWи?}.HKZiomr1](wB/Jy8O$ʞUvs}!(#%H Tdc0|Q/# \ p=TžgZqVYĮJ{`uj + #3b9lLXw9%. ̉31Wjcn~#SDomҹo٨Co I= (Sp"onVC}#$SBf:|{0u5  Wzu%j|H;5Nl j'{+.Ρ #spMYXn#:*k7@|Q̷T~*0Ƀ/F}wӫqT1t5qsJߺq:z& Bf\(9A ";Yv6;ә1 l\Hd!أ4|u sКh2[zDL4O$ -M֭S6lֆ_}}TCPnNx d0Q~Vެ=w{B%L LД٘1" 2JcjSsI0`0P]m=9=ibIp\/~2gBJWhY!QHmT4C9SfǷ q9ĆWãZ5,R,͚F&KMqR,.{~?!FN9BwU{`N+^cnYh %ãGuR̄g6#!њ93:op@p]l6XI 9UO^Zp?Ō>"}⠧iPz}3R[~3O4q9ك ez/ ~Αݠ Pl~X|5K#!xNN(2POa篫\Ɛ ~;I{ïpu!މpG$!f~јG-~=յJc$}c0f:Z;;hvoj~tTm7 p;Nzyx9:6Ō_ YZ-<#/vw|>g{=wՅ\Sxc4^ ꬬ7q)Xnja /U#HrXFAiUit}׳ hW00{Pd,o\&KW>ꖛCr$č6Us^3LvXɕ3E9(t.W1g|}:PfP!.Y ǷjF {9,_c!js`bۍkگw07往v6G6U4CZqDŽF)<3o5B(Ħ1E?WFCHHo7z\$*Q,z{gRKH_Xo:xWJ2Ə4ps0vA;0,UhXcɃ>E@"aPPU ^ѵA="䍛H*2eU8" 54uwCd>ŅߛK}iCN8!ofoG,ʖ!%SS}Uׯ}i!NcSlV&IGL߹K=:"w}|;d/VIt ~"Z_F7q|ä;T 5ұ.$(6m",!,IiNi]Cי}!ᒐR܆"[@t(4D'A3"֞~=C/Ӳ ؾfT$3:iˎ 2^tfsDA `CMi>x5.1/)+t>XPOMZ7߳:ƭYܰH]=.4D4KTDCl眤ӎ Y@ vo.oUFH$sR)ysZA.p>CC.&8O z_2c=l=vHocD>z/raQ LKMWaSvAƷŽ5~KؠZ~ePH/V/gf: .g7A1oДkںO󥒈1{)Y}+.$IU\# .U{gq=ƥ[Jc?#T+5@#ȡ:e Pma{` |(/ |WgۈO+&ȂpXrz i8f,|qRÀ6Rvȝ ')`H\DU@T |k[ -[n_ jYX8+_z[Սb$J5~ơQ"m%N4rO?t‡c.{9v@@Hqs:/W>9:w^gY?Bit2UUqDkO[ɝd&ygWFymshԮ2v|/Zuwl,d$56&d&,*\dSҵ'ɜa$V* 1WJҫ`~8lwJdOs*Say J63h4{78mZKDjvkTFN(ݰGvQɃLؿߢľw9  [IIfÑ(>4Wf_rkaKux3ǧ@Ɏ 7qcBEUCxԑl~)ԂF*@ 8{*MgajLssC7|,@C ˀtJW |-Z LcSgۜG'9s$c% yKn.p$4y#9 M(S-XnAR  \%WV0cg!!o}*_C׳J|s|> $ZwE`GһZOPF}eV*D#9З| U~zVqo|; " ^~IFҪǭ`0Z F{.:Vuu`Y;(ܼ+CIƇn6?? \,[59T0%&/m}h1?tF2M1+ie]uytaqyn`~e K5plQ2^0\as0PL$eqBO uj*Dya73vmϾ֞C&k.8}WFLĠUA0D9Bo R&7q+M AgPV$^IS;~\HJ~ߔ3$^r%s;*!dիz},Fr9&kǕII9mizB™={c%_{sE+}j _xxY=.dtK'`xٰ҅?rqc鎋e]@j0$cA:d/KVzGӄ")t^lq'ߪLZS_K p vXxG^<ʹizGȣu wN`#ോ#Z[@FS-\ukv< Wi3aGY/H`? {yUjџΌ>|#xIvO0;׌cX Dڭ5N~^>2: TTDH{%0n:5QWos).?8|4ɛtD/^Mo] `cvzf@_9CeyIڊ> RMŚ#s HvVP1!5/8Թ6V! ]~AU\%Ex]nCUT s>iRziC=%|092$ŃXBT$H:L];qs20 "7$%Q(&kNô9(aDP\e/hz_1j 0rbūI$ /:QA/C`*|Ϣ0Z eΤ߅W+i@eU9+9 55 @@oLJo=ِko;2אVSrr޻G%^Ν–AAc4G_~x`1w5Di>H׆z-_ σ%:Rƒ̙B JrhCRxeJhĽ!&B=Jf#XRڌlAƫoG9" &wjTP)>?SZy0\7 6oYOLfϔ1D9qcoL>!ȎzoaN*=y+Ta*w Қ3):A1P0T@ 䝴e]>s*,ih,Ɔ]co ]'M6|њifޗ-6Loe7Icyu~Knr`-#F. ?c $"k ~7M 鶝b~JV"8Q`AB@& * e}]z[+v$QtCä Ι;$?cO1(vG矔mR|o<|l]IRrL"z@q$G{ fcp[Kd\B# ɢbGMQ=TM'~}%pNpt;@)A/p_DaJ veYmZ?!NJgDޭ}%D$ *rꑩg,Ki''x`7#; IDȃϛrNe+L׮oϯ7wK=l$@3&eCJa3Pr%җC5m̀\D#Sp4&C76XQq PK.LP="qDB4F*EjZ?/蒟90M'>"\wF 5}g@"oәMGݲpVv9(WW].mϢ97[MtQX]~߫۴L뙈iA>>$bBbGFZˌfb^!DqfM5䴈\[b2L@zt3_8)̶H\;E2<|CPk6/`.yIFU7+$6@{sE,>SNF@EdUBG_9n1L|.*Ds-f 8y ?My]ԡ,*L"`cqfsVo \0f=4*f<[tIg:ʏOߤֱWF6! WmG4g$;]/ʼY2wNMz`tTt.slXu !E؉Oz;$p-#g|E4@s[:FXvftqă4ZQe#_VnFNNQFOroeoN%-qr1Ъ;BZBs/<L_L/"U]s>|66bk:ᐱvBCě{C[9S1=gli[ ~U=`N.Eקa%G>01וms9&?ўCiB sVSzb̮U|7~}Wv;sc$ϳxy K }ݾ 1`Qr3bALM2i|Ș b`-{p?ͿcW7 #4An@ BL.KAvigX(M~:uQYh'I&AUi/bzo+9n=}H];vC*PEL[gxcy!9[ЀBVrD6g4zpW0%~ o>j$·5[oa8t4sl=dicM|e7DŽb.!ȝ.tTG9яKf/~m^ 7a+ "Dfq7# PSSy $^{ ]Equŏa|#!2,kZ#"ǎs~ U􈽝7XdAK1s큩D{m>n:VjoO=xܒBNtl#>_-(OB ;_ͫ4-@Doi&MN~iAqy6?1,lCa%҅KH|`= ̤?JP.:xmpFu: 7<$<n0hb!mA˚'?0k/.穚. z&|O+`x*FzySEuE|ě?f*˶ݰ鈦tfmpvWqQx>FL< 5Ϗ~qsʫ9(B}7y>zf\<O%ϳA#`(MU d%ȀEb(1}B_ `"UnY< k{PٵG/LBεM23=*%.Ohz/Zn }\Z *Ȧq ".*DM(T:NlXTV|}B]Vt)2(xhpʥUQhST:ؐ8'Q>"n< l ₫*,+g]-ʇ#4CcLeRfұ`hG /Hqczk/k׽Uļ\[Kg7T tLYDBAtC7$\QK?bCkBMϟ?"g42$eO%gY߸(1VZLG) }'$ jnZ5 }ʖ ~_lc?\"s^ !8XL9R|{c>nk%i``2' r km2GYgCNܣz߅1#8=uEl Ewl\%H47|ѥ&8wQy2ˋn(P `!٥og MZZ8%eZK<YYi}~Ef:̊o # 搔^sII A\itPXfPj%\iO}>p N&|F(C7bPR & rROɒsÇ% mvLQ*y4PYl9y ; h*q\RJTB "ȶh=߭>[k&6.W̕WN Vac<@̀搒jPm@[jeʁ6%U@A\2A{a>}$ QJ5=@QQ):ZAA}=V>}b{muG% ߠXHRal,%B([ehC:"kLSh\!P;L۟"$a-_eO8ѸV]o06qb7 l_4LP0uδ>L#)=EvG\wt&!-^O l@HDH W Rs,>SYLlK1deDR>K!4 @:",\8X;F\& l/nC+ċ/RPJ cDrEͺdyAuD Q{{Cݛ@͒!J B9epfS?wr,.^>'iw psQۧtϢ6R%dH(Sl_dK<2d8.,uAQM=/Z bxܘR!Ǘw :w СizcIP'u55&($QYniqֱRBI? ֞֌,C?qoc$xS':.Нg,N(ǝa*Fwce-e}=$&Buo72׵9)ƭ堗:W #HǩAtjLP֣oM"ްJկW򭕘M]#RVz]sPܻDqP7;i%XHYwK3ơh :ۦT|!Z\p)*9t)ΠufX3TƵqI*# <;s4ß)yq/g{k4U8x0rpU:Λ1"o&2h;A,t7E 7U<)B56 0$醑tn9Cq٭s-./7}jdw/i[xinΈmnmlst*,V/-єDu"^\PGcsRYzZ̥=L TmJY57A*M`u͠Q+Kl˧td;,MFPm2C pֿ7&-GL0.IUН|?ҝ0?Eǚit,u3劖Q"eH" EkZ7p6a6sgca2\GZFd]܆c\=|vbBx2 s .(]bSp&6,O5SYiQnunK~#2(SQrZ<G2uz|/cCB$`/*DlDADJr܁9]l"@sβOQ1b3 F`?=\ooΧ2"fxvP2ĺH3501ޮ[G$TJ-eYn%4Go]i˟Õ#g#9鹦 ^?!3uֱWfV^sc78& ff†GY:盯|Q6hk T6 q$|; QTb^יs`?_wc۰Q| 8YW)l͒LG&Mp㳟nQK bεLK@ `łW\rix8Bg܀}<=r/ت2 KڢeZC`l#nDx= ]; nN,{;Z7sZDz,F! et9ص U}Ez8mb(E.QEMV 4`+1\6\OA5ҟ?]tkTĤiJ\.1^ɱr} M1wޝjƍ=q0(2.x9ۇL.>$ZKœVW,rEgb|<qPlP?@Ua?_Bځ(LʽhX c?)$x#M]rG xn}}s$[z M%1htL&x3R tuDZYu5Qa|T tTҫ!e\ԡ(->hYti_6CU`I 0m [QED#S 뤰y3eu6m7l BAh%dUKv POԢ󟕧=t0|/WYj >|<[,zClkxε.T.JQ?at,زض[?I2ٖ;ن|sr9^#u| l8|ϟ= 1{ŗfyAϞb^IU~bcOgLSws(+σgd9=Y` bubpD>.@ D]!"λV$Ox%4BsP )ĠR׸v ~"Ɣf 1 .#D'"̺*I84Md&UH- }bBvx*R;<" gkJɾx)[k'k Fuz4ZSOLPB# G1ۆd2B[˾$cnV(~ ;Йq fhމR$ @ܛC=|6`ķjFfa_ll`%NJ RnaYrJ_LN)Sk{cؔd؃|k}oJKx7I=\Fr 70j)5MRO#>0 b'W̜TGgpV\ϦKSJ/:'ǟK>7z .;bFg3F#1s DTf$4 Dy ,HbQtV_F'`i9rON>~ܱ:\g3bN;aݫH0~(?G/~w u]cDlҁth1T@Rd̔sX ;sWH:j i(rkՊ|c PS^s:{Is$=rldx5fJ:NT=y,뛍NR~oXKpe@3^7wT\xLճcy~,bI/άp4wc I3O] }㬾'4ҁ @GJ\Xdzav}<K Y)2|BA36?O~ܰus:>c#n'H8 X&Y  e~=^dTSX3eXy׶a1;Iv_~NΌuN]z{ٷ}m9&C a/뫃i!P2#YIw$7)3],3"xx{[*zpv*C p)5/q 24B?B\*!/4Ԡ%=C`+˘-%Ռfzŀ+Ga<*`0~L-ݘh0,2jIѠu8B #P96=.>Ix]BI٢ Q(ىwzPm۶#?}~,Whoh̫3TK~۪p @} C%O*_璤eYpA^w[47"D>W&P« RWJ6=,N"V~nj. D"4d Q@ܒxnKr|ŨGR"Y}=N[ut8(U+k|3/2V9zS 𫽹䆯e{ĒzQ=/AjZAb}S^J: 9 !IB\H|{'7_Ch?-.ޜ7OryCdByPP7j51`A:8 Dl#_yC!HUqJP@ۨ+u!Bg.r1 Ey ]3(&j,FQSl^98q\!ciM]?U8c-K8/nӉY^0 g5LS |)9p6fM KV,jηhXT 9˿{x{r<.Pm2 (i?U,m; k;}$RU56,ɽZ1UPH;>>w()xA:HhI*F6 )|X0<뼞[#nEi'&hMEW,2}*9&(jeXʈGƠhhڀU;uxa ZF"xYȜ>v.\sG"0L$ c˂B% z`g]1{[ 2#mEW>$ X7(`*~| O^4&??Tk``f];ŁW| MD)1@0"G%%rd*6nyN0:M;Oty8]`)O ;q(Ġ(<7Tp m?%rJ/r82"εWuaQYoUrZrϢߡ]uzbg 2B/?1p`$B$HSL:LOֱ!fY-M%{FkIQ5GC%74Pn\:(Pۢ:k%W<7,'P| b}{̇s3+o󻿁ߑڙPb0jB}~*l7aki`+.ڒNwJ &Z[@8tr"p,Rju~fZRvj5q餋N!F|۾DThi 3t m`eLm]*-ɉ+aCi1OšvyiXmKu,Y)81!z(RYP)GT#&^_bY˾aQ닷ss31'gxCvǦ_%UI DNlۣM2]fk1sv=ic6 D&D5+̏!,4LZItOksa=u9S8>~dR胺)=K)7nN gX}lEp)LXl3ȥV5&U 2/e}3KWSͼ9ݯ4L: ,V+ s؟Ij|Y-L0]sv%˾"c8Ogz\~xc1JK;6T&Έ8C3%&G;mJԕ4@}b1\f:ʈ̅1" s- z +2U$1D4 bJz!l <)Az4L q[fj,=ռ]%*H>Ӳ wwK-V)ru mTuQ펱wNI39.z#"[sLr5F2= F=#?DC՘fY9 sc?K-ym%nRPCY !枌U|b'.&$/^r7|\<õi;./޺|[V]%-FeHCڬ⠜fڼ)ٞQ%9x>7'U-5釫z#`pvz 1.c8~nI-㻷mpsw i2ΜN'wYS:eN;><F9{|\dn9oI< w,t$Ԝl Y9hb4ڋσ]Gk&l@1]q ^/rBueZe8blM9k Q$iׁ_ W<=p9'eM7];GW~5=Pa6"!3޳;r~LMʚU%/lnH}j)qK'f̓im%s&Sr@ʋy8L ݜ; 񧃤A$uUwDfM7\D .'!,*ńc]E2E)D%n+t7(LHi`X(js281S3s`Eka+"$h>7YgoqlֻՃ#;9mf3oOp`b)ǃK}WvsR]&NȞ/69|]ffi "A9_m$*t[ݩPqtbo9#SEvlmlpkaa.ק5w4" \; (.·j6ks;Kw-8ͤ:gfM&vf7vѝF8X~2Lhx]5j7)ƘG/xkn+r޸G8hՅ )'=;V8jk:2f| OP@ nw)Nrs[+Q\y2Yd^D* ;h)g %=Ҹ`JR1ޛy)jFj&lo7p[ ՗ɯ2OuN;+}Q/;x&Oow߿}d\s4oGo$:ŨAk>*ŕ=>D1aIo0-|M+1LJBH:QQK"3pb9.jZ#Aȫ pnhqH0VE]&2Qϔ!zUǡ] &cH&p vY)ͬ&ȝz6td19Lj4@r]W"FLHQ%CGg}J:j),5SAv;tԚR~ uёcbmi a, }6E_`"w͚JW9ZП]+E16|=F^ 8+wj2 b5 !Cxzs N5v$%!R,.Tr#z۳He7"sy0Ou&a,DƌHh?V̽&88'(kQyu3(T}Jgip[ӝa.Ut:ŀD(}.z|gd|\ PCš,d7EP`TJ۩i$Qk,u10De`-U_8P_ZENvE.-X'`& D2@cZN?&8?L7v鱌>*Gt∎g;G݇1fE\zOrpST?S#my=T4~{"?v̶u:F,0d$*׽xY%R ܥ.sLil~/UCǀ?j?pÏ0Sm pd pُP) I&-SHm\NU-+yA"wӝ@:(^ PA(1->~l9=5Grm|JB%A|G(o4R/Xo\OaUGLP1aׇ 1|)0!xC>l&YaA(oׁM2^R*V17] (%k繝OkR4ZOg\9EwqS+8ʯy񞋻+AIB :o mXcx8=#`*, *Cm$0_Q (2$z{G8 }w_ _ }XrN0\ w4+psUt4zK5X)DP;-aQ74x3bz37zYss(>Rc ? 5ޥ"J:ooT8@B1,,gW3D,j(N+m"`]d. 9aWtJqX0 ]ޚ;ǮBN‥؁^+*qXMqMckdЯY}k-cȄ@$?1nVZ xۆ\<.z#ZEL)ۧUq;]nNM[ۻ4!Ǿǎ8A%JT3O>$)9>5AG,vܾDJ볿Ş>zQ%,Y5^f:ϫoH[R[[Ni&+/rsAZOQ]`/`Kz&rތO?pnj{o3[ٲ ܡYS6{q0(*e#e_7w;n77HFуS 4c&ӭ (QL7ڣU߽|QZN]*MN+ T4,.XX=DHj숓+y=m-kHJ&)kf(Z_5z37iAfv"ځ z1LyፗQtm) yc꺌6SLqTGQE\g @E#H!^Z) F0F "& X~MƤ4BXzHsٯgⳀ=3hq!=?$~zi&ƹE-[*H>Ԕe8[by=G+x[JLW8g Qy6NSѕՀ2w }0HIdC;ҏGkʿn_uW"= g쇗E?Xzcc]4*oIFְ2}郦4,_8p=W[6)ޫCȴ.uG2,?CWp 7(nZdA|UʫKDj!,<ݿq3~lM?\7г)3Qp)y$~NV{F@(V>=ЁG`U=+Gios[MP_f.lJu&#“Ku0m_k՘PSoD޵2֛ȜX-țvCs v%lM'~arY<\ptc Dk"0agtIM/|݇ q5YnK-Kmn192q\,ĖF/A\2J:;@8zbEod}{(ޥ*C<D&vr##msV)}T٪hٵvi*sl ,Bƕ)Qڬh]$8 X#,hVJ(Z$/~=Fe1f22g.t箷-DbOx9ŒyVy(T^,si^34es"b_m88R'7D63-.E |4꼯EϠjY2o?jV]"t 暷qЖ8< 2 OnӪ.yH_z Ȯb]3s93ރA <ꮑھk:bq Ῥ;An"4W){;}8_ 2ѱ,^[bdU*`I?pX^Qw=*E>0tB;InTMW /(kߐ|mpcBXF5ܝH(O<됾 {Fs3!,jGxO~s_5۽Fֆi9_Ϯ9lku;~ğ T ?//gcs?b~qBP1)4Mb$(&?th zSA3@RFQ(_X ?X/D UԤ'~7'M 8nұ'\1 䟭\i"~?Ӥ}4לtI^'^odS|הOO2՚VѺS3$Tc3e7y+&͗- Q& ƪl >mDMZu>mZq]bD-!)j|j[hmX K#Ks1l-?ms.$'"wڲ_Tf.spѿ]KKKL!dt~hIIDC rQJ:?Nq0y7cBHY7邜Bwf(Tp6?~[֮CoӣlC2_,O!d2qs1Ar&J"+Л?Qf* E] >0 =3{x?ٟ< [玕T,?S@A_PȃP"1N93*+>mh7{d?Q'T!CGQw( д%BH= &(#!~XB!| &5JL-\pt/@[Lk)g=Y KC8G[ʪ6*zW-?^v͸ybQ=xιS121[L ]p[쎟:uCVfBh :Y ~ߨ p#i5c w:F9/ל&6G/jr_ oc+!?RsCoհm:_X u EΞp֪hL2.M0 -~e9E̠Z!UKr@VLɨ?3X! b(T7K럫em0 { "ߔ`@f]%@fr5W Ykwt?7w=|sü vn;<{~~[j_U!=r0Ko%P4qjef[l=ݑ.4mZ*+D dQV(DIkMHP~b> {/{BNCRhG󘴐0XđAE:gXԟY"G{'?dWu_gHq@lvP=J)?x6#V&ESl=n$>(q(5~Y|.='C9|]~׳ OA,2_~Uһ4,1 UIeM( g~ټV===?LV~&?HQq]nXÙ"rPHaxA.]_?6 MVm[aꨲ(.8 C\t75&ꌀK kǧVֲ0P.;{y-)l<'~GUZ~~ツxLvIǒ>ɴ:n@7.U/m5Dn^>'!-wRPPԺ(ʥ&D!D!٪Am"TNݮi/|8Ct βY:1Q1{5aY(;_?<nw;єF$뛃^WJ7P4#qqΫXߓR`b_2a'CA:*mnNW aAk_3N'(5tI RhϜ>* l\s!&82 8_:197.3Fl !6ÑSI+|]Nf)T3¯Mm~Ȍ >9r5 EZk]lA1[⨆6+r7tYŚQ](ߘ#0$gݍءmLU2wMLM PI\TIXeŪ TGgF+yFag7sw)9SgݭxXuL>ff%Ld[/p*j8Db;bHozm%:}vy]7%ge~h_>"hz9x=Awq&La}hp[+V;C]GMQISx G"v}wY]z}?xz64kM{-cF*|#tJr+W'jLZTA0ۧwte mo !?Z@` ;wDl" ?٭LȢF_McU q+ݎkg^Mi:'_KhA=칄KZ!>?w3p}_jt˘YC[`=;Ha ϻ_!eUŘBP Q5pd@',J%֘ q v:7p! pC G_= \m`V~3@%hd"|uE얚P H/ǷxtnDu9›/aWL,"%=psm5Ȑk~s%~+xpvf04UlTPkFƌazh7E@"0"\]7k6 J *_UR6̣E@A v9J搏oC6c&щX vYmme_I &ou_Ԛٮ0[Й|\}ʎB}j/Daq-y0/yar:>n<\?Iuu[D^qC`XXwhPuc"fK`61w"] 1TnFu .6Ci8UAH͘ zGkY_W^R7*AE I+J?c=4nw" ra¨}0`O' f~a,+Xy,BwGv쐡qZŤzofH_*KuϏ? F c!j6z};I:ezk-T <@hX?-klDf@ {n =갘n%'1A EQ41ىbX~/(ǜ'&w !u6"M0HD"p+a< p[4>c?UZdѝhpWiW_Ƣ0MXsSȃ9Ӟa|cI>Wn>4=2 Q9 st:$ 3[4[ܽJVp</aɰmu rnWyUK'hZc!ʔ`uAmt, 0f" []&0v֭>zy.^pȏYN=k䬼pĬ_{ǼС?h2,~1K ҎSEbCsF3n5Scōnȏeub-mU>m܀U!ӗeL)H¼& qaJ.pPDf-z>*oAI"1Lbpo\]RV-cizќ%jp]p{pbX ۑڥ*6VlTzӴlpE.h>:5sCqfmOV2(ѹ"bS ݢJQqqv pD{ώ*Y/`]|Fk"Qj̣|Eg5Yp}/ o|fo.A8:;ֿ*oq˓%oo#۽_ 1r`fwwy3 @^*bG$^orq9Dځɿ!.!t (Vso y8YGϻ@\~΄ 4{q(zȂ^%WPWpO"rZzz>R A  &DD_,m8:MD۶Z.@z.vh.@6`>+ҹ?) {M3@<ÀJky$ >S|pKO GHl0IiY~I-RF?b=MSY^_&=s8$^7m լpi`LsSz"t` R- aƖZl-^7,Hː E(Dy]E(ð}6N88 LŦ? |Ipp-m59̔i=:/h33YFO;缑4B?/–t⺂Vp6 C%yƛ Di$k{,HZ`w Am9k v{"8 E='ONWzYh~L[U%`ré!o?;ssm~(D@=/Aף._OAQMߢ9OlQP#7$MveRZ2.Y -^ $h!eSnZ h/F>ѩL.Z'v4@fhD7/:f;SDCޙK @ov6tx;C/ vAaOZJ)Cs@Qe ]j_w U,<_E9O3Lq9,~}2u&}i98[s XQXa]8#my' +REDIET*68sT3)RzoK[oZaxGQڽ߉SE%v7KLFbFH[01vF.9Yn6ZTnfTbp1# +0 &79>9:mSG?k1 /Ewh!=`Sp"!Mr Gaڭ QdމѢx왐D3)w~Xq}(vMb9)Mŧc]%%t]'ZbBrK*z]}.{ozC9x};쾻Ľ`Cu3(\^Iyǯtf0׫!"bGǘqoJ/n\N|όAt1Y匸MKq@i4Vƚ`8(SQw(x67Q!F;NL^b(a8?Vp Mdޝ-r{hoC+35;L(/WϞaj{˝.U;xqoƠwz~K\>u{uTƧvF]eٻ{%~ ,`jvWuÇ {$4DBe^nfuuh11LjE]j8M\-l]wi~# 8|HL x鸂Tȅ!E)UP]6;^@@o+=1M.` BO֔<k=uE9ȎAnoDqG^=]]Whš ~/OwIQ/MFޛO,j4ۗLɀ(hg +[ 4piye\n7F ku>X'r D`bV܀dfd+xCNщb/jW9 ӛ 0L,Y ^X7b:̦W4YoEyu5 A:xSZ# _+#|u^YM,~/o_<`>ÌyL=[_c[hiC౲8ia[1NWߙ϶Ff|E]G5'ðR_BeˠonڇB.ى[#dKLH);F:CFJP,mmDV!ucjpF@ʴR,@oض0V$Ӄ1d!%݁⺍?mfyL=SԜFˆp19o6?^tc0'qQMF;%ݯ\boj[1- X̒P&j\!$Pdjef YHש Tp5VIruᙑ?M .8Lu9Vp֩ DU]6":4>,KLg1$ /^0RJK`Hu zCp0:ul (Mii7[j&!mbtj- Dպ]'ntHaGu4|.G;.\:\ Kqlx-g||je5mgb;L g΋sw(_+\xá'z;|:X yBB!ؐ ];Ö^9K0و_{b-+H@T;nfײ\6o1ݨc$ީ0Ъ,,%+jEU0gmus=1p^sGEʍlZ>(3͗4 &BL,Ј5DH \cc 1o1^|%WQ{+J12=xgso6i{MvW,-ҍϴ)HD*Կ b~:_[y mܺ媙V?e~m6D xQ涾pi-n ^Mo%?uRRxXR- RyD7rwAG|Y)@yTn,QuGR'{ɺF:Yl>W=ۊUBj^gaܐ,"C$ dI$Iebp a &/ 6CnMw"' Po^B (Z:)>M&]GGSƬGOJߙ `+K}WY*'ez@Ԉ'i=F~[v՚[ "C%[Ͽ^GH qVǒ񆸆߲]\u>%R '~*?QPFrh \?W =!G:#XvƘ?&7<8ɣ4FcA };3fa& boZ{MHk"hL`<ƻ&?c\(M?#uEԌ&|@x`$_:=^(@UISn݁p=Jj!ġ$H&1ZНKYećҠx."Guq١ӫW IU-AzºcՖ+Iٰ p6"&Y<|BK^I܏f5nhͮ[tMGv}yL)V*QwwIhRE* Bӕ%`X./}32_ື$DW4Xa`,Ӧgހ[!#AbH1 f|ÄKcAR$x(x>0L}=/|XM ɌEwm0ǖä'<<5VB_g.-h'a xwo^p\=@ ZAvry6 rgBty 5n-`=!FͼE+5E_Zyf:0 Px>]3^O

!>U1|l,vD69@902,lI# t%J ^buqdH 6-m**"8#('NFQg䢿J}J(DHJ T"݁9e MRQ-%TBя7$." HS@nV b%K @1%_ijBx&~zA *$JT ( ODfMM^[%ʐ1PyI룻Hvg@}|S+"Pݾ^Fٵ[ؒo"𠞰A=ZeLkgI{8={p?W% {m ݳdU1~ϲOPBC?P l85*0Ĩ3?=;,Å 9Xv--ptۋ( a% w26Z]#c]'h{&OkĈK+gvh3cͽs-H?HxnvV_Ko2X}˷+H3+$m))mL(ЄazŏJ;v*1<Ϗ>(GBQe%V!9I4Wf6= 7hwSꢗ$c!xu0"<e'd(B0lÒhum9rʌ2gc & G ȫO:CTxpx΃RCҚO{3kDz$9=\?Pǧ۬lGb%T9xt~ _[[)c·j<.<  N-I} ys 4gmu fb#=E9 f?i\~i(& HQ1ٿ[CҰr\bb]bw5wc:\cB^?ng{mxɜtY7?ܦA$~Y9=Y|Vmg쎎klղgaS;:w˷WoxٶͿr=|xx3ގo?Gs0!~\#~i:   8? M2s " $žiȕ(7.\m{Y/<(z񋖥:xP9Z+U㘢Ľ-u*(ANt *-; =t=vOKΆa]Uq]תЙ]R’v0͢WV*]4EyݧN tDN /]kHbH KB5L,݊gmzNR$3Fj>-φy;s׆2 akcȾ0%IO陘D}=W܎C$c#W#l2]YZmVwk);߳\\1D +0x`dD!՝L_W9^]]9?v5&w31e$Wsݛ}03q/ ]Iq?ocXl-CKݹgk]ex]"SLKjuaa VB6W5<9=X})U>hXQHs(m|%jR +OcIg=k%}nV(Ff?HA͡;@1% ug]Y_T_oM>u5b ]G>^"}`pN3p֡*oab|tS&SekV=80XhuH wknx{z8w| 9glF Mu퇙sIo}{/]C!(:=b>płȏD{SvÞY±20w#tI</wPPߎG<WSg8t:.l AAנ4.FҌ/)SкHeG"⣊+ $"H%5BZ`i" B/=ȷ]{xe!BHN/ʚ3ouq˸{RImBl+aeKTP7.$VڂΙ \<4C+Lб d& ?# ?n~{2۾d9QZ ȿ&W#f0 `ay $Dh#xvus|$;T7`d  t$`(s~PI_eoϰݎ֔2\݉ _ne6S>pV)bS!M@i}μxwmf{bABP.9B$sK揖<0:_Hl ?V짘5axssM|1(QLWk\̌/iΩ|,HI]5H1?ig#-rS| xH" d_4M-24oN-# #wױ؟ :bcK