linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* DFP support for kernel radeonfb.c added
@ 2001-11-14 17:52 Kevin B. Hendricks
  2001-11-14 18:20 ` Daniel Berlin
  0 siblings, 1 reply; 20+ messages in thread
From: Kevin B. Hendricks @ 2001-11-14 17:52 UTC (permalink / raw)
  To: linuxppc-dev

[-- Attachment #1: Type: text/plain, Size: 2055 bytes --]

Hi,

Okay, with lots of help from Ani and Ben and starting with Ani's most
recent radeon code which worked for LCDs and with a lot of testing on my
Apple Flat Panel 17 connected to a Radeon Mac Edition card on the dvi port
with a dviAtor adapter, I now have the DFP support for radeon frame buffer
working well including parsing of the EDID block from OF.

To control all of this, I have added two additional options to the kernel
parameters passed to radeonfb.c

of_edid  - which means look in the OF device tree in /proc
              and grab the detailed timings from the EDID block

dfp        - overrides the monitor detection and set MT_DFP

lcd        - overrides the monitor detection and set MT_LCD


So my kernel line in yaboot.conf looks like the following:

append="video=radeon:of_edid,dfp"

The panel x and y resolution are taken from the EDID block and a
default_var structure is built up from the detailed timings so no change
to the deault block or passing of panel_yres is needed.

I have also fixed the setting of fp_XXX registers including stretch to
properly intialize their values so that if OF does not set them in some
correct "initial state" things will still work.  (I need this to get my
panel working).

All of this depends on their being an EDID block in /proc under the Radeon
device tree (it exists on my machine).  You can simply look in /proc in
the device_tree to see if one exists on your machine (need to have the
monitor connected for it to be created).

Since there are a lot of changes and since other people have submitted
radeon patches recently, I have attached my complete files (radeonfb.c and
radeon.h) in the form of a tar archive to this e-mail so that others may
more easily understand the changes.

I hope this helps others with flat panels but be warned I have only tested
them on my own machine.  So don't come back to me if your FP goes up in
smoke.  Use at your own RISK!

BTW: Using a dviAtor, and an Apple 17 inch flat panel is a real blast and
now all of my eye strain is gone!

Have fun!

Kevin



[-- Attachment #2: dfp_radeon.tar.gz --]
[-- Type: application/x-gzip, Size: 24026 bytes --]

\x1f‹\b\0\x0fªò;\0\x03Ü<iwÚȲó\x15ÿŠ\x1e¿s3àà\x04°c;fœû0`‡7,\x1e Îvst„hŒÆBÒHÂËd|\x7fû«êEjm,™Ì¹ç=f‚¥ªêªîêêêª^ðô)uìÙä…ñÃßö©T+•££Ã\x1f*ð9Nü­Ôj‡‡\x15x>>8>|U;¬\x1d¾\x02úÚAåø\aRùûª\x14}–~ {„üp;™S{šO·\x0eÿ\x7fôóro‡ì\x15¦žyG=ÿå	ÖðÒ\vm\x02q3O_ÐÉr6£\x1eátdæx¤1î!#$ÆÜt}\x1a\x10VšL\x1cÝ›úP\x12\v7\x1d÷Ñ3oæ\x01©A_\x17\x1a¶IþÇñç&ùYÿ\rÿþ÷Ò6\x1f&ÎÃ\vÃY¼áeX±¹nßЮssŠoXt¿r²_9(˜¶\x19˜ºE°¶&ˆ®¼¨¼¨F4¯÷«•ÂÂñ(™,oÈÌ| ~™¸Ë‰e\x1aÄ£\x16Õ}ÊŠ¼\x12Eªû•Ú~õ5\x14™ÆŠ ÍqDs¼_yU@Ô”ø†çX–iß\x10Ó÷—HKí^[Ó¦DÔÌüC\x0f be,\(èö”,L^[ÔÅ$\x04÷T¿…²\ÀëHÀkQ\x10Ú¼n\x13\x7f麎\x17”Iß4nÉ/KÏŸÓ;Îqbé6gáê¶65}×Ò\x1fË\x04\x05\x19\vÝe\rx@þÕ\x17•\x7fµ‚z\x11ü_U*Œþ\x04\x1fBQ\b¡\x0f.õÌ\x05µ\x03Ýââf–\x1e $jE”È»*:jäR\x03û#€\x0e»õIà0»hÑ»!”\b¨¾`¶\x12Ì©é‘9ØÅ½\x0e}3ul¦$ÿ\x05çòrgg翦t†j\x1c6ZíA_»n\x0fGA¿°Ë„í"i^[Ö\x12”ø3h\x7fùðÒ\0\v5o^Ìߤ0 ê¥E³0·Ôƒ–da¨çÙN\x16Â\x0f<Ðv¦˜E\x164\b\x1e3ÙXú$\v>¥Ð}YˆY&94Úw²Ûæƒy^[¨Õ,¤é`×ebÀl³à®a"Xëþ\x02øpÚ\x19áÝ5-jšëÜSÏ54­” v=‡«\bü¦9SYq73›\x18¬¶$^[³oÌ&'ñª%°Õ£•èÚáJôA-ÞÀ]îö^Ìw\x15slµÏß]\x16ª;¬Íì%²Ôñ°Ñl\x17
.\x18Hp\v­´|šBš³b¥DB\x12®ˆ\x1dj/\x17„ËÓ˜÷$_w
Âô\x7fm•£ç¶ò|¡<_*Ï\x1f•çOÊsWy~\x1f=wÕg¥l÷ÓÎS=Q·…c\a.݁ÚõÆZ\x7fÐÇúÀSs8.\x17
/÷\b<àøEX·Ùâ0x°ÖÅ\x15‡µ®;\x12Ö\x1c_s\x18¸|×ñÍ€’ñµDŽÆ×\f7Ú¿f“‰³\f\x10Å*\x06\x13u\0~\x1cFäÒ\0§d˜Ú”Þ™\x06ÕÌ)‘S–†à@ŸXôó\x17¢1\x020ð©\x1eèä\fuü•\5;à]ú­ÁPë´4ðVe\x06jµ¯;Í6‚¢n`ˆFÿ#@ãÏ\x15ö\x7fHøTÞŠq{SÆí-\x19_lÊøbKÆ—›2¾Ü’ñÇM\x19\x7fÜ’ñ§M\x19\x7fÚ’qwSÆÝ-\x19¿ß”ñûí\x18w7eÜÝ–ñ¦×ݲóº›v^Wt\x1e@žÐEô\x06­wݶd8nœwÛEð\aå\fïPB‡‚®\rüµô(à\x1e–Õ#ˆ\x13oêðtP#wºUßyB€Æ\x1ewvÀ3A,\x03A$ø.ðˆò	†4\x06Ä–\x1e„‡\x13:Ãè“E{\x10\x12\a\x18(ú\x0e\x16z„°‡ØN\0ñ\x0eÄŠ\x01õ ž¦äÞ\fæ\x10z=\x06s d¡&$h(\x01\™p^ƒë¡Öì\x0eA	ä©\÷ »nûb¬\r;—oÇ\x1c©âƃ+í|0\x1e\x0fz*®¢š\rPW³?îFðÑ»ó«N3\x01¼î\½Õšƒþx8P \x1a§Óª\x11ì²Ý×:ýq¢|³qUÑÆP;\x15Ž>]N—ÍA¯\a\x1d:l_Ž´QçS^[Ú[ôÍ?¨3+*z(½LÃ>W¾”J\x19]IÄgy\x02}ã\x18·lšÕ¬®â8½†|cpÝ0 žòôÀñ4\b‡½Ç\x18öú²‘‚‚å ˜Y—æÌfÐûqìÕ`4^þÐìþ\x12‡ôâ\x13\x02\x13³vÕíj\x13l\x1fo\a4 ^[‡’\x11(k¦Í<ú{\x0ejjbxä)X\x18\0\f\vùK²`ˆÒ\x1f2xöòÅõVŠëå‹ëå‹û/îÃJq\x1fòÅ}ˆ‹{‚PB\x0f \x13˜,\x03ªi¤Xtuã–NK%‚:?ï\x0eš¿ð\b…‡&–¥™öÌÁ1\vC¸\b\0nuõÕ´ÅëƒaÝŠGQUåáž\x14ސŒÇx/,A½˜ˆ‡À3¦á£+Ÿî=ñdX!²v/\x1e-Çq5Èô¨m<Já\bKŠf1!óy G\x7fMî\x031|CÅ\x19^`hs-p ƒdÙi=\x06÷\x1fmC\x03vvoNUÔ]N‘»ü"®\x19\x18s\x15pC!˜¶\x03K…ч@…MuC¼òwHoo|sÍ\a¹
Ù/\x1ef÷ð-\0\x13×År\x18Ͷ\x1añfO§ºÆ\x13Òz\x04\0]Á@\x17EÀNâE˜\x15@gk\au\x05\x10Z\0+t\x11eß±²3WËS´De(\x14P	\x15\x01$»O\x10áx\x7f ˜FZ\x06(«L‚Ev\x1f!‚\x02$κ›úÉZ0\x186^\x05\v€\x19ž\x11\x1f–\f\x1axºíË^Œ§¢ç0Ã@€ÑiôKœ¿ôf:d\bœZä_i›†È@Ž)\x01—\x10üÂÎÈ\x18\x02˜ŽÀ¤‘…œC\x13ø‚1×=bë\vú¹zü¥.Þq\x1cãlô¹Zû"­q±0\x1dm¢ûTsçÒ,¡&
(A\x18§Q**²#²ç·\x02\x17\vFD˜\x05s\bKÏ\x03Û­§hö\x04F®2)l¾âœ\x03ñN™Üx”Úe2±–\x14—¤¦uò\x04\x7f,\b}èçÚ«#Ö6&…¯\x11
™,\x15×@\aØ\0ä$}\x1e^[Ôe\x1cjeèW7˜§\x06c\x19\aª\x18§\x1c7×}tD5Ù\x1e/hA…Å\Ï@Ó;S\x01…&\x05#lJ\x03Ý´ p\vÌ\x05[ÔÃNÇ%«há\v‡\x1d	˰J²AÀ«ÄŸ¹—PiTO2\x1fÀH\0\v_\x02ý|„c\x05†I\0Íœ³Õ<©\x13…êN¥º\x13T*û»\x06D-só\x06™D,®´Àà§qj\x1cŸA™,Lߐ&4\x05g°4aVò¡Hè\x13“\x13\x18<ÈŽ\x01\x10$ãî2`s"4Üñ\x03tUe´>á²’s\x14ëàØ\bžë\x18ŠÅ=s6>åUbcýâ\x1cÂQímc¤5/ΫG%òçŸÙ¸ƒZ)\x12`ã’ñוŒBâ°\x104%¨\x1eiÐ¥¸âô¹Š6-<I.£Úa\x0e£ƒ\x1agT;T\x19\x11’ÏJm@&«ƒZ‚•¤z"8xqUXAf¬¤@ÿÝéžæ^[8”E¿	¯\b5Ò—V€x–‚HÖG‡s\x1džÀWôÄÿ?Áïî+R\0䩼â±Â\x1eÃ2\x1c²_åÿàñàõq\ržPPí\x10^keR…÷×À¢\x16+vq®]C\x0eØÆ…*HBÚÃn£Ùnñ&³}\x0eÒ\x19…nxŽÏWeúÑéCæqRÔ§S¯T(xTŸNŠE\x0fU±ÿ&ôµ¥ç\f\x1f\x16\x1a¼^[‡¥Ê±•
÷ž\x19ÐI\x11žËdmq&S\x15im*2)ÑZ#Q-\x0eaˆR\6¡‰\x01,Ïå:ýVû\x030C"òŒT\x1eØ&]¥:ƒ!\x16¾TJuò¯\x02|D•\x14\x0e­Æ¸QÆÜ¹”\x10|\x15J.ƒÛ¹-\x11‚\f
À\a2ã¯\x05ñA¶KÛ7o`$0ç¥\x05\v\x17Œ¯Ó—u/Õ\x05\x19Ã<ƒT‘±«Gå\x19âO@`-\x14¸ª\0ÆW \x01÷Dîç0\x11b%®0hÜ_­wØÏ\x7f¥Þa¿¯ª·\x1cØ\x1aø\a\v\x1a\0©
:Uë.3äÙcVSftÜ\ \bÊ·‹´YÀü\0\x01ÞÒ³I‘75a
% xR‡Z؍Ð^þ&ª°Ö«a§×\x18~Ôz0˜Çƒ!§*\x15ÂQ¢NêäÇ3"\x16¨KäÙ³\x02·M²‚t4¾Þ²‰”ÿ”„Yt§\x12ª†\x1e¥°7X¼·wÙ\x1ecS´~£×.²ü‹\x11}\x15ñàž\vZ\x04sé¿ëvÙTz‘\x10)2*\fL\v\x06n^ŠFžbeD‰]ÛÙ­ãû\x04¼\b\x06\x13!%DE1BxÏ¡l]\Å(á=‡²ÛlÅ(á=Oúø:.}|C9JPŽ’”`?ÒȐ†\x19”ðèµ–Ü€õ <¿Âµ§G\x13î\x13h¼ˆ6ƒ`\vt¼b`°\x0eÂÞ2EJÆ·y\x03JxYÌȤ—\x18ž×ZZk4n6šoÛÐüîhÜ\x18—	\a7µ‹î»Ñ[­ÑÅm\x199iý;…Ä…É\x02\x06 Eó¬R'&ù™íœÃ\a^ž?ç¦\03yñG1Ü2¥‚i‡rÏߍ>–Jqu>eú
¦!M¨hfÎ\x1cí^7ƒ•úa1'Áµ0“úqe)ø9Ö\x04Ñ€°þç=\rëünTbžå\x18¦š7g\x11ÏBAô}}“j‹ž5§è\x13·éXjC²HÉEçb@LŸÐ…^[<Êå\T\x03f\aØ$Æ\x19»=CQB%G‡É^ü9»\x0fstpù®£5šãÎu»T"gg¤ÂK\x142—·¦®ª©\0=,:Y:Ó´vŠè\x7f3ÀB;‰‚a#‹²_Òí\x17Í\x0f;.\x1c£sj¹Ô[;@q
\x12<o(ä\x16~\0i`\x11×ñX&ÈzLºE\x0e‰üâÉi¤\0\x02£A;9¿º
}LõU\x12]}\x15Ã\x1f¥ðG*þ –Ä\x1fÔ\x04^DÈ*¾’\x1cbY\x06
	#\rÖ\x1a([ÇâËא*\x01zЇ;\x16†Å\x01eâM&\vÍwf\x01gˆf·ÒJ`¶I°\vC”äd6\x15J
\x030¶\x10‹DŒ™\b¨B \x04ŽQ‘?Q'àä.\x06Ã&n× U#\x13zž‚~̤ý˜IÛk¦@N³Ä"“¸z¶ò\x017À-“ö¨=–mÉ@¥TÌe\x15"
­y•†½í¤a£v\x1a6Ì€]eðk×2ÊžgÈm]a»óZ¹q#Ÿ‘â\x123OdÿïbVc	Éjn\f\x1a68\x06\x1dfB¯2ù†ÍŽs8Ϭ\x034}UÛ³¬54VE7é 79d¶P$“«L_Ùþ˜;ƒ´Cæpá\x0e2]æ‰ê1å’Œ61\x03È X”)aèNdÔ!hˆS2{ùá~ñ4\x05—\x1féë \x11¨g\x17®’\rJWsJ\x1flTú0§ôá&\x15¯å\x14>Ú¤ðQNá“M
\x1fä\x14®Ö6)}œ.\x1dÎBëK+­æ“T†Y±\r giOÑ:˜\x19ÙË\x05\x0fõ¦ÔVMI¦~xfè9NË6yIj\x10¶¼DÊú*\x01¸ó\x06†êƒ•ÿÎd°%ƒ¯±…K‰\aǝaf\x11錥Ì<VJ‘)L2¬-ÅLäÓX›ŒqbÞ¼Éä$å<\x7f®¨XrOiLR—òÂZ¶†°Ð\x1f¤nª¼\x03à©\x16S\x13o{\x15cfŽKÖKHD¢¨bì´Z>e\r7=s\x14\x15Æu7–3Ñ-\x1eÏ…X5é9vÀ6>\x0e+_XÓøQ¬z<3ÆÃ\x12šãâÙÅ\"Ûa;ò
ž›„J³ô©6¸ÐÚ­Nk%\x1d¤¬x°m%\r$À«h¢]\0\ùOQáj.žFˆ-äž$–]Å®Š&¼1;—(üÿI=:+ÈUízNààZ@<zf\x03U\x068\x05Ì̇0í\x01\x10¼ªëº{ðέÈ`G”W}\x12^[a{"€Ì\x13Œ+ÄÅÜ\x05å=xÿ^[\x04ûÿ)ÁØbvÜZ‘ÌÞ÷ð›\v¼õ]cSÑÛ6ú?%[9sþ”¾e\x05LÇ€ÌBŠ6m<gµÇþ”C6è¾÷ð»Lb\v²Æbº²2!±å@®¯{7Q^[¶ê\x1f\x11]}KÙ¥\vN„2“Þ°¸²ª…»À¸SÈ˲ÇÍ…‡&­Y0‡\x17ñ y¿A„=œÇÅp,Þ@þ Õ	o¶£ôÅ\x1eÛ8Ž^ù\x16òj3‰¨ùNsôÎŽ\x03¸ßihãàZ[ÿxõ·ª}¢ò¢î›w1^[ü8\0ýû5Ërɽ||Èa©ßQ~Xa5Ëuã8ã\x1cÄ\x1eòΖ*—œì5\vŒÙ¥-GŸjü\x10\x01;jù—*ž°¤©£€ìZ°Ý·ïP,ÍÅ¥²XPžfWma6a‚6Ó`&\x17vV\x05­c\v&É¢±IxÓââ8.4×Ä3\baùØÑ•\r:/æªâ·\x02ö¨\x1d$ºŽµŸ>˜‰Z,íÕõ(%bÖpí\x13r$ÏYloÁ,_Ç‹d3gõ@æò&¦ãC‡ßä3ƒhuKSP×Zgî&…óoþÐ\aP\x1dz\x1dÞ\x03|vVº$p0@GpJÉ1\x1d+µÃq(´}³0\rÐfÐ7Û•vu\x0fÒ\b:5!÷egƒüh"à]A\Ä–Éj–2~O\x1dµp\?\Tçoìlw\x14¿ŸÊ…þ\bT\x0eñ0Ð’x\f¶\x18ÞOã}\x15/gø$\x03\x166†\x1c’\x14~ŒB	\0U"õ."£cqšJÁ\0åÜ‹<ü^itî„¿3Í`\x02	œv%r\x17$@ï°“Ô§…Ø(f0@C¶4¡±ú)ަŒ\vr\vç.E\x10ù\0QOî/\x15gÉz\x19',\x1c|l^îJBq~íP\x10<K4EdùÂ\x05Åý\x0f{‹XÆ«"U‘Ç1«ŽÐeKpçÜ\ybí«K\x06\x1c\x11ÌM\x1fÓnå„\x16ÛW\x14\x05ðDՏQé¤×ö:¢•\x13¶á%ÙBçáÙ-\aÂQÁ¤LvË»¥:‰\x04Ç8f\x14ÄÍp^*k)†Õ\x16HmcáFr\x1e—\x1dNwËäUf±¸\x16Üü\x15!±;(_séð”GXùçäU>GuG_e E¹FR"û¤*6HóÊÇZ¾çb\x17Á÷Ù\x19ù	þ‹^Ê?­g!?bO8\x0f½ \vÃ}\f+YŽ5\x14ò£Rºè\x13[[ŠõŽÚ9b%\aºç¸$ö5åâNæªÚ\x1avÎŒ9k•º\x0eô-,-\x03Ù\x1dHvr¹è[XÁ¼ª²’«JŒU¡°¦p´À„Æ\­J.ÊÂ\x13\f\x15sáZ”\x1d“t–V1,ÿ\x1cèË„\x0f Jn/!;uùí,cp*‡/*|\x0fƒ/nñÛV;ŠÛ+Ƽ$\b\x158tpŘ»S&Hyk«ñnüv0,î†?\x11\0®"ºÑ5j\x0e;WãΠ_ÜÝø÷\b\x14\x06ÝN³Ý\x1fµ‹»—W]\x04\x7fs4ÊwÖ…œ;_\x13ÇÂãáAxÆ]\x1eÁ6Ëä7y0<\fõ”Ã@ü6qq7»ªçíËNÿ_ö.ßkbrÎÈíB·,ǐר²# °K0É_ÚÃ~^[7tùÁ\x12\x1eÂ0[ã\x17—I$ù\x14Ú¾´¦x‘0\x01˜6‚“p¼G^ƒp\x17|¿Ý\x1f´Ú×âô\x0eà¶¢<!Q)“•õŠš²ÿ\x06\x15\x0f\r’\aÙÙQ\rœçE”ÉÎb°\x03\x15x\x10Åó†\x1f®€\x17,\aªâ\x05D/\x15Y<\x1f\x0e&ÖÂX\x03u^[[\x17\x13"ÛV¸Ab˜qèBi.?|Á*ŠMÆ“˜ìh^[¿¾!\x1a¥žê\x17•„ñì,=ƒåâ\x1e¨Š\x19\x1c^[»²Pü~ÀÊbµ’ЕG\x7f_R0Ö`Îú	\x173ØìŽuá½Í	4@j\x1c\x19\x1e†S+)L?&Ñ¢vXË2‰\x02´R¾ñpÝ⾦wGÉŹ¨ÔoJ½™Æ´®Þq=­®yíÛjÞëu\x06‰º‹ß\x17ÙP‘ðÉÕå\x16ª€\x1eÆ¥_ì]µg“ŠÀû”¸ŸOL\ab_\;^¥*‚'\ñ[ܳÅk™Oí¸ƒP\x0f\x1a¯Q\x1a
D…m ©¼úäöÞ\x7fNõò̧øñ^[î¡ößp‡!FŸDbŸ„»î
™r‚)çG\bØÁ"ð‘\x18…	‰<\x10Û\x15“ݯ-"|Sü\eÎo\x0f¬ç×Þ†ßÅz~\x17Ûð»\Ïïr^[~\x1f×óûˆ¿¸#X

y£H\x06j^[‰ú´^Ô§ï$êýZQìG~~}ÿ=„u×
c?$ôk÷;\bë®oYï˜t¿G»ºëM£wDº\x1f¿‡¨õ¦¢>m,*ãÐajZPÃdŒµ˜\x0fR¯$4\aý‹Î¥Ök÷„sç³	Ä\bŒÜôف\x06ò¹vrZùR&xW8³™˜kü@hÂû|˜Aàå\x06\x12ç®õ\x1a£_dD\x02TìØ|²B@«ZÃFOc—x\0„ên“¡›\x17—ÚøãU^[\x04à-\bòæ\r9¨(N´ÂT‚¿\x1fÓ\x1a’Ñ%ð"ÅÚiµÄd%{@^Á„^\bÉã=\0\x14/\x16˜—\x1e¦ “,(^½\x0e{+\x06ÇVÖRà{/‹Ú°²ˆÕ;ÚXê(IÀnlKLÚ2«R5­P5k”Òú®J9ÈVJ\x1aÌ”’j>SJ\x06Ú}–
·RVîÐ\x02e\x1d\x1dîÃ(PÌiSC‚’[©í仨-Û–¾Ymǹj;Ž«\r}Ž’·&wGÂH*cóCd„Ê\x06G:ß=%lEwJþá“\x7fLoùõa¨\x0f\x04”ѽ7Ù\v¥\b\x14º¥—ÕJíPd•©-“¨z,m̺ásv&nɰ‹¦+HºÍ\x16’ð^[\x1e’N½\x16¤°Rîr¤·bD¥D–j:K›…íl™x¯”ŠÀE*ºU\½A`½]d½Ah½M\x02\x1d—“›ÂdEøø/i\x03ÉôE”Û$y¹8—©ËF\x1dñÿ#¿\x01ï÷áÃ\aÂ08ïó5Z\j³{¼ñ\x1f°Ÿ>²\x7f
ȽãáoR\x12þKŸè"cKºáZˆnY,|¸3\x03Ý"~\0Ñ	"Ò^[ÚÑ…\x05,«Cʍ¿F@ñÜ(î*²Mry;‡Ê\x13ÍЇ췖ˆMï‰cS\x18†{øóK@\x01½É¢\x16,€kœdé²ã}¸\x1a‰dJ-”ó\x10Â9=\x13ÊŽ~ס¤\\a“¿wÀ˜¨Kü0¹D÷}~\x03]\x18Îÿ¶÷åÝM$ɾó¯ù\x145ýÎp,ZÐ*m\x16CÃ<­¶\x1eÚF’\rÌ=}ê\bY\x06u^[ËW\x16jûN3ŸýeD.\x15¹V\x19è¾^[uï4VUür‰Ü"###.7[ážný\x13r^踄DŽõOOÀ‹ÔsiÐË\x1añüß~öP¢å	¡}·½òÒ‚á	!e?9)4´Ø¢*5\x11FŒBOÉGŒ:‹¢2å!±ÿâºÍB$4‡?Ê^[KAõ¡Ò_’T3†™\x1c²ÿËF"ÎZbDqƪ‹ˆ— ªC\x17— Q<q™Ø¨,°Åív\x01õ9¬®°ÀFÃ\x16®¬ÚNÅ”uX>ö2{\bëì#¾Ø\x16T÷Ñ·3´kÐ\x12€‹HðR
e€•™\rUP´_­–»Õ9”\axªÝ¢u,Ü­vâà§ò³\x12×®ô"ÿø¡Í?ÓKœvn_žI¦Ò¿;ê(•?=œyðU¬]èe\x11ÿ9FªóJç\x0ez\x1eLN\x13<çÇ@͵Ô|fÞ°\x15d}…kÂO¨ŠÞ6¹
MÎi!ÈQz¾é+tÏ {ÎÉ Mg°èÁ=g§ÌÉé>sSÖÔdUݘ©hO»¿EÔƒ\x7fÊäuƒ¢u¥Q\ak"Õv•2ë€l©‡£g†ý\x02˜öp¯GÖ{Ýû\rt¦w+ãݺøó3³Žˆ_ìî üÉÍú\x1dú]üî¨\x1e—ŸÖjåÒwVNB`\x10”ÔÔà»éqý»¢ö\x02uAߥǪþCwßC\r-\x0e%[ž£/†%¿],_þˆ//ô—ßsRðÆ_
\x19FX\x1f\x7fîóo{\‹V\x01qs© \x04vUbÖÅn±\fÄòD>¸\x03{”&òœÑÖjà©\x01nK?:T_¾à<\x1cî‹_\ðKÒ·‹EÁo÷ ëà¸ôåÄ8KÆ\x13ù3K%Ä?1ôUY\x1d3Š|Øê°[_}\9ÎçïÙ;\\r\x01rœ5HÂ(.¾â-\x16ø÷Ç(.7¢Ç°\bÀ\x04AÆF·‰âH¥ d]_\x11ƒtt•~‚vƒÆÎgñ"M$H\x1aE¨`>\x03_ú8«ã¾<æO‚÷'ÇU>ù°¤éU0ùØ-«u­Ê\x7fB×òõ•ìîQ‹ËFG¨†;\x02L]?c\x02?3¸ðçšN¤©‹W>w<û9»O‘iøçŸ>»Wi©|F¿\x12}JK†¸o¸ORiïrÜo\r?\x19æ\®Ç=ÓønÿÁsï\x1eïÃi\x1d¿úûw|_9|֍öˆø¤<©YXá6;(\x1f}M»o"‘crüËûÕBskË?ñ·ÉõŽ:¼ë\x11\b\x17ÄEåêÏòI¬\x1cÛr'€|+§ŠC÷?$YÖe•\x1aø{¶$W^[\x03•âÁAZ®H\x12š\x15P\x7f\x1cØ……)Šýþõ0M\aÄÞÌbØ)=sf\x13}\x0fRD¥ä*\r)º§ä\a\x06'Ý¥\r$È\vëm\x14Êm2Ѷ}½9|È\x10Å(M®\x18ÕJ.\x01^)…./Ÿ€Ëa©O…ߺïiJ)|\x10Sb7i\x13u¾Þ;Q–+f
”®‘ag)A¶‡f^[±¸Õ\x10Êq³S\x17 êôü/çEéq\x19ÿ¾å/#`lÔêgrËnóC©CHmµw–¦-ðÞœà'\0úm\a]ù¯]bÜ}¸.F£Ûb4T…/
\x17Ò@K}å\r“\x19\fâi·—ôZI§\x7f&õí²q8ÙD\x12\x01\x05JÔ\x15îµøà`\x04l=ä\aº hþáÅ\vqV5Ô¿ñÄeÏbO9zÄ
Êþc³¯\0¾\x02†à%\0õdH:ä\x1a#àSìÛ\x7fx\x14½ý¸‹Æ½è|³ºA5"\f5~$Í\x18Ìû\x16œ\x16]¯¶—wŒc¨s†\x03Ð^[ªMp¤ËÒ\x02\x1fü\x10Âè|ƒ¹@¼¢%h\x1aÖ;©ö†¯õ#\x19ÓHÚ›\x0e\x17ˌĻçk´¯]²$ÁÁÀò=+÷êÃ\r/ý†IÙ¬¨ËÍv»ZîX±Ã‰­w\x02ÌJÌ*\viÞÀåwH\x05JFGàÍ&ú°¸{»ÊH²\x1fݼWŠÙ^[\x11Ó	QW¾@Õý“(zõ~\x13ýÂøpó7q\x10Jô{Ê\x10ê¹Ï–©à—\x1cÄ“öÍú‘2\x11ÖG èaÂkº589:u¤~à™^bðÈåþŽ“I¥†ß\x1f8MDsÍ ãžœ?¾`\x02I\x0fÈøÁ˜b	öXœ¥"Öäø/´Ý\x05xí(bo\x10º~n\x10¨Ì(ôÆ\x123L¦©Q˜IN\x02ƒËŽ&,W\\x1fÓFŒËΏ\x02|$±êè>Ûˆé÷©\x06ØZýAÕàæ€™ö}™\x06{™\x16xÔ\fâó¹æbŒàZ\¯Çµ\0×êG÷ãÚ§Ï[ëå ù\x1aK½åòí¾·3™ŒÿÀZíu\x7få`sÿk$nklö«ív\rq\x05Ñgùr¥®{Kû*‚¼Ù|XY\v§F¯VMp0"‘0Á‹^[0Rè—\a\x13"{±hBÔ/yè\x01ɉ£¼(r9G¤±„F¡ÛS(
m}\x10§\x06âù¤•S\¯	—“\x11Ý·œ\f’QN¤\b•3\x02¿9šµ›\x18o0s'ÕdÖž6çí“ð™Ù\x0fà\afýa±½K\x0fËpr\a„”ÄJ\x02éÈž¢\x1e\x1c¨›G\x12W\rÃx[Ù063†¬üN`œ…›Ÿy2\fãf€ã̺Y-7WçÀ.uüg±«LS³›ÞWú†^m_Ÿq°9\vèc4jÌÃeõr,\v‰<#'›~î‚óad/íÊlØAÜ'å\x15’0˜}b_æÃÎ,7»r´‡6Õ~ÎUvô­iM´é+&\r³Î²(FoC—Þ±žä¶¡T`q„ߣDt¾\aæ‘^[½©›}:hÒ2ëÏïÄVÇ\bZqÃåM¼ïÈ\x16^˜ãùͨ\x1d\x1cÙ\x19‚¿óv|zðÉ‹ÎòâžhDvi\x10€\x1dì'@ÄÜúP\x1d\x1cS€bµzüâ–_KT\x16(2RÆ3Bs§Ñh!4ô„’ýz»û\bŽÝ²\x13ôÑZé*õLIKÂý\x1a½´]ƒfe}‹æL\rúUF"\x01y¦$žè\aµˆ\x10 ŠüruÁ$Åö\x1dŠGjŽçN{\x1eKX\x1a-„¼Kã\x14hŠhp•&i¥@i?^C=¬ì÷Fö{Gö{Oö—0\x16¬ì÷Îìßc8Ë\x15-gš,¥ÜÛ”{JiŒŠ‹õ-“l\x1eGW+\x18\x11^[¶m¿\x02\x17ÍÝ×óîtÔ\x1c\x14!¸Üd<ëÏ»ÅhöfÔNت{<ívGÑ\x1dÞÌч\x19–\0
\x10Y.\aɺŒ\x01U`§ë:­¡ë·ŒÍR 	ÿö\x1c"U`QNÆÓä¤\x7f|\x02îž-}5IgŸ‘ÎYw:÷$ô)'¿:ãÓÖ ;k7%_h‹ ÁEˆ!$ôLbx\x19yTŽ4$\a,\x12€-¯³©\r­ePL\x13q§×ÿ±úkô—óÛ¿H^[\x1ak.(ÚCÞ<\– LYÛ\x0f\x18~:º\x01\x13ϕڮó9\r\x03èý•K…®\x04Ò\ÙÒú—[j(•~
bïüØ;?–O4&\fßz\x10bb1!üµ\a³wcö!\f™°¬¼Ô'_~~ì>\vK¦\x0f;cmÆræ\x1c@ï3Ñ|\x020qøÖƒ€àK\x16\0^új'‡¼]75\x19xjæEî3é ¶ d|ËÑ+\x0e¼b2ÒÒÉ&½ßR\x12éÞTÀÔ\\x19hë5\x11F\rQ\x13çºÙ|Úåû%þýástE|\x01:êÒ3O\x06‡º|W@\x19õÅ\v@.A%\x1d\vË;CWf–{\x18nð»FÖÐ\aÝE•k'ô\v8õ’\x1fÑ(¹\x10Gõ†\x17\x016–\x0e\b¼öcÊ\rW6q©æ/Y\u\x16\r4b~LÝÄPu’=é÷„4»\x11Ó¿1ù«Ë÷š\x7fý\aŽ„¾êêaö;؈''É|<o\x0e’N\x7f†ŽÖ\x17é!ˆI\x02WÞ WA3½¥g%¥\x18{)?KIQd2;é÷`‡£Ë†\f¼`+ö[´zbû‡†£x'\\x12`\x03c\x0eA\x7f‰Û\02?Ûc :L‹O“hŸ4§¢
/^ ªÍE€Å-`Ñ\x1eãð±³|Äef{^ÎW\x18ˆ_ì)\x06|â\x05p§/rv5ãYv3ž\x19Í\x18ë͘’a»É"šïöÜËöäÍɤ±ï£r\x15„PG‹žy[t\x1fnQUBš\x02–\x109(:\x12I.w£œù^[åÌn\x14eš\x1csƒ\bïFú3ݾ\x117+šÇ¹sm/\x0f©>ºÝa\0ïƒsà°Û#œ\x04¸'º\x03@hÜÀt
\x11\x1ap ¦twwx~]Œ¾kÎß\x14§«‹öàåwº¿\x0e]ie`»Ã¸$•|ø¦ZýC“\b\rˆnÓý%Þíò1‰º¶‹RÇ3ùÙ%‘¦·<\x17ÃØì\„
|§»&BsqL§€\x02Æ}’\x1c´;_;IGrÒÛ›í#Pø\x04”Š\x14\x1aê¡Ó'óþ°?:NfÝ6ø0b<ìͺó¨VÕ=\x11}\x1d߃ÂRÈBž£
Àó
\x11ÞPonÀ%Nz\x0eN¾¼¥ç¤t^[\x02|e °Àûžÿ\x15ÿ\x14ýøcԐ\x06å.Y\x13–\x11‚\x7fV\x7fÂE²Ç–G†­\x1aØtA\x04ÚŠ\x05+õ
þ,¥\x18\bôµ\x14z\x14Ìq¯åX·`$ÇH+©6G\x03 ‘b㘃Û<ϲYK}B\x06ÄS^[\ñ\x14X˘#X“°µ©Z°Ò(µ\x050V\x04•ˆ¬°•LÅY\x14²ŸP©\b¶5¸øs¤\x03„^Å ^[ü¦¿N‹^[*“´TGÒØà§Ú\x11)\x1d†¹#J¿àÁ\x01^[Š þ„ò(ÑLý\x0f!ÀÂ=\x04;qG\x11`ž·iã‚«PÂæžo¬Œå\x14wX\aîCÇÜþ•e˜©Ýêƒ\fo~¾¾AßW•\x0e½V¦"ÞT:"zN‰^¨¦!k¢Cú…\x04Hƒv‘	©˜u \x1c’‰‰K§Äµ\x04F„Æv\x16/pâx”^†H`lYm\x14Ðâ°rQÀ\x1eP\x0f\x14\0ªª\x04­N·×<\x1dÌ“IŸí'ÅÜFKéø\\x04‘h%¤ù¥ÐûB|Tuë/½ûÍ‹ÏÆ\x06ëÆõB!›/“ÃÎ\x04\x03g‚Ÿ\vô”ö¯“ñlNb›³\x7fò°W\x14|ÖNZãù|<L¦ýã\x13(;ù‚¯˜(÷Z\x04T:ˆl\x18ûÊ‹-ØFÏZxˆ6Ú\x12Dü±CLc3b28c2Ž\x1d\x0fÛI{0MÚÉ\b\x19ÚŸ\x11G\x01¾ºM\x12ˆ‘ÇDÐyw*\x03ùsýMµ\vdךB¨ÅÙxÀ$¨öx0ž\x1aßgÓ¶â?'ðµÚ‘ì²ËË\x15[c!nKt¾]üŠW¡Ñ‹÷\x0f´·'ƒþ¨\vaþ¦s!'šßXû’€Þã¶\x10¾\rï\rÛIND]zÓã\x0ep±ˆ†xüѹÅéZ/S:y\A3ãWÁü¹\x01g²ó\x02ªPNB\x17\x10áU>îVFÏæÕ´?g³Â쥑‡9Õð\x18Æe´/ò”NdeÍ\x17?4\x17\x1eÓÛ†ü5÷\x04\x02!\x17p*g’±v]\x16=»Ò«gø’kÓ\x1fÇæ‡‹ËÅ;Xµ{­þ¨7Nzƒæq"\x06¤Eú–»Ž~¨ù’6©dŒ™‹Ô›¤$À{\x0fiÉS\x0f¯é_ÒE£NQ°ê£Âüx\0 ^[øI?>\x10bãûÅÕ»\x15\x0f.®—N,³¨ˆK–è™4uoŒoMÚ4t\x06!U/Mj)Ô)J|a¸B¶=äón‚\x17Ü}w\x06X«FŽxO¥\x1cÝ4§+~ûr®ÑY¯Z\f\bZEW–\x1f±\x18éG\x0e•\x1f5*&¯èLwžf§É0R£ d”ÊØ\x16˜m1\x12Q+¸¸$oÀ§&ÿ<û›åvsy)ލfíéx0HÞL»ióUº¡vº\fýå~æãv\vá˜$ë¬"sO1F³ñ0\b¼‘2;‰#ooOqg”eJ&üô\x12M‹V|Ãp!=ù¿ÑŽý#È‹ql}±†\0&wøMØ\x1a@~†yAÚÎOB݂禷ê#'ø1á\x13ãÃçÑ¿z­¤Ùnw\a½dÞ}=\x17ÇÆ¢³ðü0Rƒë‡¿ú6\x18\x1eeq\vܼ"n)'‰\ae»Å1
×Õ¹¸³þÐ(_Q^[~ň$•uýLøv–Nž^[dZF~ˆ‚\x7fYy¾«Wá\x16OéqãÿÖKßݳH%ÇÐ=¸w\x03KØç6lÀ=‚câ¹\x7fP\aFÌB,سÐ-3é\x1aGÍž:\x13ìºø\x12â	ð¢KÏ-ú:jr+$í‚¶éšà™\x01\x11¶W¬L(\x10Oší—Ý\x0eÛ\x0e½î\x0ef.ÚdññVŸ\ù·»ëÅ\x15\x13ɯ#í\x1e¹øöëvq->ZÀåâŠ\aT•k¶\x05__íWÛ^[1¥›S9ß\x1fRfë6=d¹”±¥=”\x05~Ç\x11ØÏl ¬H ´Ý`‘å±ÿ–\x17o^[þk¢Të^[nã\x04V\x15ýÙisLfÝÓÎ\x187*YhŒ,yÉÄgƒ#ÔÖÊŸ†8Í\x13óŠ‹\x13qÝÍŠ8\x10RÕË‹Ø\x11bÕ\x05’\x1d_N\\bÿ°¸~’+\r\aC;ýi·=ÿj\f\x1e¹œ\x0e8™Ê\x1dbXl\x05/\x18ø¸¹[\x0eD»õr·\x1c¸Zœ—»Ùiü!Ü\r”"»ËVÊn¦V\x02¡x½L­\x04\x1a:/S³Óø¯ÁÔ(µñ°2ÊŠFìð?ÅÖà\x1dèM8/Ï?~øpÇVn&qm¥W°<ŒM[\x03Sp]\x14!\x1f€tàËÁ\x1aÎ7L*`/./±Ñ2"5æv¥ä\x11=
‘P5ÈT@ž‚\x1dñŸŸ^[»•€“%_Ý!-\x10͹@óo,‘Ÿž`G¼\¹EY\x19\rêð¡\vVŒâ¢\x15I±\x18‰C1™Œ0ì1S\a6¢çáç‘™¶½\x16ƒî½\x11ý-*×êÑ_#ט¡…%»\x0fü\rÙ\x14ò\x15ö“g3\x06Inà&Ôú\x03KìËâ\x0f†\x03©~	<^[ŒÁ½7îàÞzœ.w‹q\x03\x1an´¥x†Û˜^[Ë)\x12\x7fþ	æAE4Fúd—ïŸð¾ˆvLίì}\x11\f£\\x1f^[.KÜõícŠ`´åúö˜u„Çq:þ‰k&#\x06”|Ô\v±_†Ã\x1ap‰}½¹¹YÃщœHÁ¿ÖåG´6%;eŒÙmš¸ƒB\x10\©ìM{vøàòaÛ?}¼)\x14®ç-ö‹õåâ­« îÙ4õ[ÉÛný\x13®\b0Ë<Žs¹öÑqp=õ\x03\x02ÏþVßð\böÇ`¯”‡`Ê¥8\x04”ÏìÇ\x1eÇ'ng;zQ½\f–#FŒº,\r{iWkïÞ/àãî†;%ÅÚˆ@9\x7f\x0e¯gÊ\x05d\x7ftÖ\x1cä©’Õ•ô6tíE­N¦7Q Çû™âà‚¸Þ\x0e=rsA¬ð|u7jR4ËI'æ4x–s(¹\x1aÔf”åÂ\x12nç°.ûƒ«Êæs\b]ü‘ÅËGpœÎ¶ñÿŠk¾âæ^[àŽâš¯¾âš•\x17Á»oÆXµõV5­¢.\x1f–í–p¬\x0f޶Ñç\x05³„/ü£Â(yh¼æ\x1fA\x01±0«ð/˜\0\x12?u:‚³Û\r(UÏ‚4\x1eGtkj9&
–âG™_½ì«¹™î•îÝg¥ë͇*ß¼Ä\x0f\x1eüðè\x01cÏÅÛhs}ó\0ï\x1f»\x04.\x11\r•Fžg?5‰\a‚¥æŒ<ÿ»JëF"ú\x11Œ«¡ÅÉ\bJöè?ùo\x11QÄ>ÁÏ\x7fL©›l\vd„5ä€\x1d_Íâ\x15º\f•§—ì\x13ËèÜwl©þ@º^[p0Ê£©\x19…:\x18}æ ×osÉALŠ¤Bט*\x13ŸÙß…~QW8\x1atj‡L7Ìff·N…$~rë*ù'·ªR'rí±É;ªFzôöjpT÷\0ûÌ\x01à<Õct=ó\x1d•!L*ž¥‚Y\ç•*v¦ZzF¬q¬zf\x1dV¥Á‰i\x17tíoþ+\rWõÇ#~xå\x18Žêh믮mêg\x1cë¥ašÿ;qÊ}¶l\x17Á¨Ç^ßZáΓ­ŠEqj¢>\x12ëÕw¼)¨jÿ‹'KÙÉYÒ¢Ç{\x0f_,½Ë\vGGUÒÃC]«\x06{(Ì\b×lˆ\x0eâo;\x02½£Ð»{A5qæ®äè{•ÂJêî³’24821ó%˜\x1cø¾ƒhÏ\x0fÓd·+¶n=ĤðO¹ðÉ7…û'‰‘\x15d¢â‡–,¾ûŒ„!\fƒL—ÿ­%\v¯
\x05MûD×w\ª\x1fî‹\x11N\x06
Y w]å!Öþw;¼ºBg±ç+ODdù¸´Íûœ'M¹Îºüû³=ô‰'êBÿž·'}\x01Œ~Boü‡“"\x15àI‘\x17˜”ú\x1d8ÀÛ?Ùm™XqMË!Þ(x $úQ†ê«\x1dËñV\x0eE|y\a\bŸŒ}Ùa‡Ñ\aâ@A­þ\x11ˆàþù]'˜¨Ñ«\x02§–f‡\v&û\x15:œÿ”G>Î.W®º»\謒w¹Ð™âWér\x01Ý_·Ë\x05[ÑèrÁyãóg+½¯Xý쏚­¾ÖÁë\x1fÔC~·cíÿá=$d\x0f`÷ž@ÒáµîsŽ—ÑÚ\rõÏìÿÙ–ìg¼'^\x14¶îÜFh}µ_\®Ã
jU\x1d)Q\x17S‰¸è”gï¯èÿä²B6Î^[…A\x1a·Øc\x12¡ÜHe˜Š¬BÆi¨\x19|"½$9SK?ë6݈¼\v#ԓû\vsl>\x16/Âeò€ø\x15uOc˜E¸#E¸3Ss+Iiå< £\b\x0fR(\fË\x0f7o\x13\x1eB/\x1d‰ú;\x1c­äU Ÿæ˜Àó iþyűÿX,wë=\¢\x13{êyÿ¬9ïŠ{ãŽí3Lþ”pޝÍýcÜ6Õõ&4z=\x1fOº#;-›rüÊŸ£ç„1s6ò\x0fsù—½ÇS;F>ºµ­ž…BÅ\x04*\x1f\x18_õOª\f¦¡«i`o\x024%¢¯f9ÌïM\bj\x1a£}eEåÒÇæ½\x12\x7fÙ\rBÐì\x14\mCôxœ‡—›ÅyÂ5Øz\x18²}(r˜i3„öBÊÔä¾ZÕ%F\x16K•løû\x11·À\x01â_n®—yµ…ÿ\x15Ô…6»>SÁg%$•vÏ-c)=ËvÉíR6s¶r–¦w\x1f=æBFCn—Î\x13`aØ\x1c2´Zn®ïD\x01\x1e¦äL`Q¥a<)1&”M»ÿpb†)”ºä$ë‹§
d\x02*\x14²úO°DæsŸž~ó?°§kÞD$¿\x7f— ’P­ª]Ýu¶µ.Ëé½\x14ôµ\x12ä^[<«í–\x1epS½ôu_HA÷«AseiøgmÑk\x186W\x7fùp¿	\rw¿u Q.{¸gŒFž™Æ!2b×jO\x06Ž‘´o\x1c]/Ò‹l_ç„	ž?d0c\x02\x19©èVþqg†Æ±x”n\x05¸^]þþ>:Bc™£\x14KDvÜÇe¦7ÿÒ\x04ÕF\x10v
®c–èP¤ù½Ú(:Ì\ìc•/0îHk/ó\x06S^[UÐï%\x7f
òµyTÀý'Ø	‹;ÚèàJºB\x10Ie\x1e|ºzæz³Ü]ª¾°æŽ‰ðŸÔ˜z}¹\x02³ŽKöʘ<σ½T\x11_n®ÞE‹í»´s{ûîÉb_Áå.ç1ý6\x12É<sM\x17Iý´•—šß¦vÙ.|©Ôe%H£ÃðyØ\x7fz
e~\x1e=4èeN|vô,\x19ð	¼+;$)ù8$º8‡8÷)ÊR•8Îz‰Ÿ\x12ë„Ðq¾+ȝ'¼„\ùšN!òU\bf\x1fºjÞ:lŽÑN⺥Œ1û$«%\x06‡¨÷\x0e	'㢵IN¯J
µÂssëî(¬ÊͲ´ [l}3æB\x06î¦[%\rîôø£ìý¸O¼’ú \fn\x16oo>nÏ£÷\vÖÜ`˜ý\x1aŒheŒl–àÍæRsì\x0e»þ\a\aʁ\fÎÏÝ×sá\x19Ez b©%Ëín™¬nwè\x18\x05#žpï“軯ӟE¿EÜ}¡ù\x02¼\x19\x0ešo„\x7f\x16³Òta0Ü\x16:òß'èá›MX;ð1¥í»åukÅÿì}Bêù!ÿ|Ìe¿ÀÔ…‚!	ÅšÀ&@·`e]ˆÉuwÃû¸ºÉ\x14¨À'׍féÏ‚3\x04ÿüƒ–(\x10Øöx4½+i]1Ͼ\aƒg\x12ËzG{8¤	·Ã\x0fÍÎ(û'éÁv&z—\x0eéiäÂÎý]ûÔ”gÝY“Í8IkÐ\x1c½ìŽï­4LSᥚÎ&ÝQÇŸ\x0eÔÿ7Ö
¾ê‡*—»,'_§,'_£,“ñ«î´3~åPÛÞ›'à™Ë—ˆ|>·ä\x0e-.\fÓYx·\x17<ž=ô\x1d9Ìð»ð­0{.ã牴¤8”\x167›+tæ&Ýy¸Œ9•ÒÞµ\x19ðŒ€…\x10\x16¦\\vœn~¶.\x1dR\x0eݐõ¶Ž|<s¨§Q¸XHÜ…²_W^[²\x13y„&géOn,\x16îm)57\x01K\x7fó3—ÿLóÎ\x03á™\x10ªÉv´åZM÷O+xx\0õ&×g®\x17—«Ýnõoˆû	\x0e³~ü\x11ý»y¿\vó­\x03Î1\x7fRø9˜\x18R<\x13©\x01Gý‰Á×`Z@ “â!,O\x0füj\x17½{9{ÒMŽž¤w¤{õ#£^[‰^ô;w\x14Xé¯×Wç«[\x15³Ì×i€{çÑ‹\x17Ü\x1f7opù\v^[Lþðö\x16Ð]²>㣐}Ht\x05\x0f•è^[¼©À>¸Þ->|X ´ý~Í­\x02Œ\v›ºÃÉ\x17à¿\x10\x02ßóZc˜wŸ’1tT>éýËõŒ™7.Å"3i\x0eºó9ÄVét_31°p\x19\bpqXdY‚+Ƹ\x0eC‚ÿ£Ã•ŽóÖ\x14e£c…á\x1d\x04[qÉ!ÉÊ\rÏ\x12t^—wÑÛkÖqy„\x1aƒýº;—çXf''Ež2Sî.ß$ÊLÚæ¼›ã<·\x1f\g\x1en†»úæ\x0feÞËeSxÛð÷tÙLÞĸ!±]$9P|82—“q=Îb\ƒ+<9ß\x7fd\vµsH„\x18™Ÿ„]&[°öš=æzÞ°Å2;¿UàÞ1™Ú°F¤Bf \x10®Rñ\x18ZÇõ\a\aê6Že~KbÞiîkÄÜ…K\x1a/\x03«sÌÛ^þ®\x15ˆ\aSÇsÀþO\fÀ\bõ\x04Š0ÛJÏaÇ©Õ!dÏ)\x1f§ç\x18gÅêzÅøB­Ï\x1c¾'—Á¡ªø454º'D[gëÚ\x1aåè\aü\x7fŠ]\a\ak­¸¾â¹Û²R&U&³îú\x19é\x17\a†üª…|¦\x13°|™Ã¹Ùb¿‚»e»UعY\x16‡5l½ÃBÚ¨7gÓ8lwR§±ð\x05ã7.™\x18}%ÿ\x12\0	\x18I‰¥jÊ«@\x10Äç‹¥N×i¶M\x1d\x03Iö}²Ûì\x16—‰Ðp“¤€.N¬¦­2áfŒ\x0eG
{oîg™¹ïC¹;"„\x10¨ôœM\0èÅš‘é‘8R×Ò\x05™ÀÍÇíÅb¹Òy<;öší®ä³TÕAë÷&fÛ_\'~ÖûÂéèP'ß|!\\x14ÔêozxÒ”Ð×°î`:)l³ý\x0f\0­(w\x013žþƒÆ¥R\0_\x13ºC¼¤°\x15£wäcÆ¿â€Ëýù]õÁYgæ¨<\x12C n›x2\x18\x18Ä»\x0fŒx‰;oN\aÑ\Y^[´­\x0e‹”¸ûÐ\x13FÀ|Ú\x1c͆ý¹ô؍¾!eà1gg‘!Èüý	
i&±ÏNbïOBqÐBÊ/\x06ÀìD\x16î½¥ìÖà›í­jd^[Kºš\x014;•…µ•ì\x1aœv.^[K¾R ÞÉt˜öÍ\x02ÉÎVt¡äGŠR½N§—¯-RÒí\x1cˆô+tÚ\aÞÅÒ2îû"¿NdÙthñ \x03êqœ®¬W«_á3ÜæfûÇ÷sè®Åh/þÅð 3¸..þî^\x17¹pƒ?'^[ &D{IÄÿÂïKø\vöñˆ‡f]œÿœì\x16o¹×¦\x124T\.FOñÿëŨö‰\x12_|<\x7f·J.®95£+£Ó\x01öÿ5IÊä¨óÍ®mÆÇ…\0¹P·ôøR\x14\x1dÒeõáÝö\x1a« þ\x16Œ¸Ø®þ\x1dŽ\be²\x18L	7‘·¶e\x04ßTËË_\x12À°¤Ò?ñ-è7±S˜¿“ëíj¹¦nP!¥7+P¢Šàœ7Ún..à¿W:å‡õU\x02\x1aTð£\x0eqF¹þˆ7£\x18¼ÝR6\x16£·w;Ø÷òw¿‚\x1f†½üS`EÜw\boÏRœLûÃæôM2\x1cúóñTÅoVš\x0f\x11\‡óYDK&çÌêӝö‰„3Ö[\bRN;–pô½øAC\x11?\x13ä¬Ë1b‚”Ä*\x180Pb¯–t\0‘T$^2”`o—àŽ–€F#~&Èy	öv	ö¤\x04{Y‚½Y\x02\x1a3Yª¹\x0eµ¶ÑËùÎ×þ4hw
<l$Ñ4\bH?\x12^Ò\x10éV\vFî\x18Øv²w4Ù;#Y«õÍdy`\bÕ,Z[˳\á.ÿ Ð-$)\x06íí\x16’˜Æyfä{½\x10wZÊ{U\b\x7fϐ¤Z!|=C\x12ka©1 (\aÍS¾áóf:Q±/HðÐ\x19ÖYÚòA?\v@´\bÎ)&]åÞËúý…M\x0fïyéñOÉ"\x15àÒ¹<\b:ºnîiŠû4Ž•¢g-‘)2fÈé
6·ª\x1f“6.@ˆ\x1eà\x01¡Ü§„i\x0eƒ	I\x11T«P-‚”‘ò"ô\x05\x0f\0\x04^[\x12p9\x06›\x11\r\x06_2س\x01Þÿ±rßûrßk¹ÇFî{-÷øBͤ“Í¥Ö£rôž\f˜·\aáJïCAptŠ:Œy /\x06Æs\x0f©ââ`ûlPăåjÕ’\a\x11m\x1a­É„G…ÕM°ÍŠ#[·qÝD–\x1dH\x11çVC–«&²â@Â\rS\x13Y)›H=ºî§ÏŸüU\x1fÄÅ\x1e&>]‚âåx\x1cÿ”:âqÑKñŒËq'=\a‘\x19õqÔ`\x13\x1aI\a¨…TùÄTË(\x1d\v†,íŽä\x01:ü…ŠÅCÁ+Tz}é:¨•‚è{ÎŽ›IsÞÇHHÍ)+Ãëö\x14Õ>¬\x1cÏLœ*=1
i\r\x12\b_Ÿ\x16^[ÄJü¤"ÏóÐY4¸ôç”F&iÃëñHt\x11™\x1aQO±ÙÀÐP±Ä\x1eý\x10ÁO¸\v—4\a\x03ö\x06~bž©Ê\x15\x1f^7Z}Î\x03£\x05\rÍÊ!{Äb€ÑÐ\x1eCD9Œ\x13xq¡iˆ\x19\x1dY¨SZ®’,8ò1õ\x17‡‡´ãaˆ¾‹4“\x032#§Z]²^BÀÁŠ#£½Y!±\x12©š\\èU‘\x15‘W+e\x1d\x1c)ÛU8ÜÓá’æ ªAçö´\x1ed\x11÷VDŬ#|\x16\x01\f]„`Äâx­ê\x12R×Iœ¡°\x03U\x1dW¹\fš\x18´“\ríg¹gs1+;Óf…\x1dG˜~sRJf¯&tÂ6§è\x03cÒÍ›$™Õ\f¬ôVd@ÂæGê§aùŠ¡³i˜@Hü!›<DÌÀ\x1f¢zU“·ôÎ\bJ\x05Ø_›ýH*^[Ì©„‹Qh<i"™3Ó}ÞL÷þLmuPÚw\»Eùͱ]T\rð\x16\x17J\x17·	‘mvÊ0ÎY÷™\x03c\x0fÜP­äÒ„z‚\x17jcsyùä\x1atLL*ƒV\x17Z\x04Ç×g)üQ\f›(‹f}\x15Ja\rî=ã2\x14\x03Æ’rœÍz\x1aº×^ƒjiûLþf<Û/Ð\x1aá€-I®77`d¼/⁐ü%Ýh3Ì?ÁfÉuŸŠüW™ýŠÕ¯*ûUV¿\x1aìWEýª°_Uõ+\x06uŽúÅ~Dõô^[KôHý*¥ù}Â\r\x19š)È¢½~ZÌÒOÏT¡ÁM\x1e¯kôý÷ò%Ÿ`Hpìdóqwýq—\bvZ`p	Ê>q~‘m®|án‰èáCyÖé\x01þèì\x04<HºšÉ`YWeN+n×4%CK` Ún>^Ãߤè\x18\x11œ½zä.TQJ.\x06byùKJAXZ‘”Þ\x15ÅK‹˜½K*\x11õØ	ÐßÒæÄAŒ\x1dR-=X{99\x01]ij“\x13Pd0FÓ2K.˜Äü\x03%ÕʧÈíÒË\x10’N\x13·WJ«\x17â5D_\x7f¤ç]L\x0fÁmƥĴV·4«\x14\x03¯¡Pº\x12Q+NŠ|\x04Nï‰.R8Fw¸\fyp õˆ0ÁŠ?Ysÿû¡ž\x11”ÌÒM\x12\b¬zvñ¤ŽS+¦YN”¥\x0eã˜ÉFV\x0e\x05ÕKóUf‹…:¬¦¬Ý.><ùð–\x15¯ÂÞÁ¨;$\x1fvÛ%è\x04@¥ÌVkuj_Öá»íuª³Á\x17¿nõ\x17ËKƒ`[þ•¤g°2T_Xš6\x17\x17¬\x12\x1eN2±£RfЪv¬Åë\r:\x15æ\x1a\x15Ð\x1aóWÚÚOz\x18@X&)«¿–%H·e©Vííåfs]Ài\x12²ÄYØöÞ¾Ún!ê+\x03³Ù\b¼µoÁ5\x02wU/ùÌ]Îù\x02bs^¬!ºè¡‡3¿¥cíÐîªÊâÉ
œ¬JŽRv©@egÈxs•pžb…•|\x0eU\x04‘ù\v¶¨ªƒh÷\rßO\x17»5¸ÜÁ\x7fŸ¥T2 €º\x06j©iqEÉÒä:Ò»s¤'\x15º‚8S‘›¦^[‰(¿\x1f¯1„#œ-F\v\b^°ÚîÖK¶Í’ǁÛÕ»5\x04O¾‰Øná}„ÉñÈ,üàê\a²²Øçᇇ\x0e-·¶ÉăòIsÔeûõ“~o^ˆžé)\x1a'߇\x0eýöcž\x14꼬¤œ—\x04	ÿÿìh\0\x1c\x16&Ž·¹6MFÚ^ƒžù'SØiA¸ì¢#ùgt÷cqkYàÑ®­\x16x\x01`kêÌiö² w«‡¾´\x1fòÏ”éý\x7ftÙHÁ7½I2\x18'2e‘\x18~jžÎÇ"§þ¨nI\x03U€=¬VÆÖ€íQåV\x1a9«}Œ¢À%,\x7f² Þ1Jƒr¨1HÌ\x16½óµèÞÛ¢w¼E©u…·Eï\-ª÷Z_‹îU‹:sò´¨–¶hQÚ÷y‹ê)vgÝéY·ãh8-5h8\rh7œöÙßpz!YÃ!Žt#®Ã¢\x10¢„”ƒ\x1cƒÜ¢½šFð­\x1e`Iì\x1cÿ\x05Ö03V}ÐÕ•Ö†½œ\x0e_''gB¿=šOÇ\x03ª\x14d\x04\x1d@¢åMw@߃2Ïó¾Í\x06JûeÒèŒçôËé¬Ë¦žfgüÊÈ\x02!äë\x19᪖Us0ç*$'c ydj\x1dV\x17•ܤ)\x03×\x1f¸¾Ÿ°ìôTM\v!›ß\x1aÅ3\x13Jì…<PIA¡ÄzÈFɏ¶y§\x06×LŠ<©¤4\x0eoV`ã\x7fÃV=öŸÍ/‹;4¶g«ýߢ¨\x1f³\x15íj³{\x04Ÿ¯~‰nŒ\x05N×\@¯Ö´¾b*r\v\x13|¿ëæ?´+\x1a\AÝŽ\x7fµ\x06ã‘5VuE7kéÞ\x04\x11ì/4«â
mªÑÆ\rRo«áíS‘+©(p}Àß"ܾkÚ\x1c±ÙhžLgl|DýöI›!ô¶Á¿O\x06\x03ö©@­]sò\x18÷à\x0f°^ ¸°šìÖ\x1f ÐU*¨€\x1c\x03ß ¥Èúú~±_9o\0\x02äfña%l5ŠÐú¿²T\x16W*
6+#O\x157Æ,­ÕÖéÀl·\x01)q½¸\x049I\x14ó5\mà8V|ˆj¢µ‡K‰ïÕ!>s`÷\x01ìޏµõù!õ¤)›Ý[!÷‰ïÙÙ8[ïþŒ½RX:ýº]ïV†\x135‘X!½r¥9á ¶Z\x14þµ\r›•m–¸¾s/^[\x1cVY~ûš[{Q«$Ï\rý<7Xõ\vªÅЍVÿ-i\x7f‚|	¢·žò;H\x0f¤_ÃåæÃ\aÁ!ˆ\x13†þ2Œw{a\x0f@¯ÀJóÓ¢\x10´´ó;˜\x0f<L!ÔÔaÁgù+PyÈC8™¼<¨+âI^[›Ã޹y³8‘“\x17¼Ó$l«q­¤¦uª\x0e2\x1c#h8ëL@÷©àÉÏ4e\r:bÐpÁü¤sŸ’ûƒ`¡õ\x15Í˵|ðŒ&lp.\x12 Æå2	zJD\rÎ\x7f}\x0f^\x0e\x0f…e;
f€ãw‰`Ñ™€\x1ds§\x7f†ò!w9úççj;àøúÏ\aÄ\x7f†‘`Ñ\x06\x14åi¤P‰0(#™\x1cN¤ý´À€\x14>'Ä´ììû¡ êAâªÜâ·]n±åÑt¿.ŒªNZ&ñ]r–&QŒþe'!êå(-TTY{­JvY¹j×…p”\x14Ó×ʉpYJ\rž·”“ñl~ßr\x1a˜û—ÔH@ë)‡'|@§\x03ÉÙ‡JiÛ°~D§ÖN§	{›^ÿXMeJ^[G†%G0l)\x19ם}±%‡ÈÃu™Cææ³Ú7±®	Îg®O°ž)ÕmvOpž©Ñm6Oó#*\fš™a§Os"{gšaaO\x10æziÜ=”ò\x16†$#–ñ¦<@\x11æ5Œ"AkVò9v6š~t÷!½£c^;‘\ax‡@ôнñ)°ä¥\x16XŒI}ÇäÃq•íbŒ–¹äŽu;AmBÔÎIfÎÄ7Vň_™{¿¸‰¸“àóèb»ùÀ„ÀÕ~½ùxÃ=Ês™\x1ea©F*_±9\v\x0f>ž¯.\x17w‡`\x1eÏ÷~÷¬ÆV‡{áõ[£Æ\x16ô+\x15\fþøÄUE¸‰ƒxÉW¦t,Rnè\x12 œ]É©‘n\x05D°È\x1d\x13
•/,tT½Ú‚jíŠÇÔv\f<$¼ðß~ØìUÀnåKOø“½Ù.ïÔ_·äœÇǾى¯ì/\x11hòý
\fßùßh3lßéÈí[áð\x1aO(ÅN‚_¡¸–Ûl0S\x1c4Ù\x7f&Ý\x01Zf²\x02Fž³½ëÕ\x0e3>ÄÙ\x11j _ó²ñ÷Pb\a9TÉEŽ$\x0ezNã@ð¥\x04sÿ\x11\x19Å{8¾øþ¹`\x13÷\x7f\x7fÀs5ß
©ìëµÒS@¥ß°µaÂþ—´ÆóùxH²ºåYݪ¬n!Q^ô4'ë¥/£×É Û›CNÓþñÉ\x1c;\x1eï3\x17ë‹Mòëb½;¬ÓÅ•MÖ§}XÝÕlšÞ\x05g³öÇuòa\x01*\bs¸\x1d\x0fÙÖbz:;Á\0ŒÆ‡Ù´—Üço&L\x1a†€"„`:žT’\x19yÁÊ\0€ÙøtÊ„çaw8ž¾)èe|5íƒßýTh•‚kJÂË.ØA>AÒo\x12&\0‹†•§lÀjš\x02¶\x12aÃ*2l^[ì¤\v¬…EwÎÖÃCÑ\x01\x14‚ Çmfm\b//W‹­\x1cDûer¾Ø-¢GŒ õzB\x06¶1ˆ!þG\fâåå\x16\r±/áDw±Ûm“·ï–›Ëdµ<¼F÷ƒ8´à3¨æà_aik¾\x13¶÷\x1cúŸ1–\x7fï~?^[\x0fú\x1d«wçëþ\x13£\x7fó\x14{Óc–à`Z\x04n\x7fæ\08tÌ\x02 	°'¡‚³÷g\x0e\x12ìöb\f0zÞ0
À[@ö~O¸>1(ôn.\x1dÒÒQÒàfc7lé¼þ+ã\x1fÿ¶¼xÛHð\x1d^[\x17¸\x14¦ßè\x02Y„¾ÇF™õ\x15ß²¯×\x1fwK#Yx%¾Ü8>Ý\x14a!ß›(x%s\x13W­\0M(´OEÐR‰nÌzÙ/Œ´7\x1eÍ‘³‡ÕÂoé\x06ý\x11—µ_õƒOJ¡ð§ÿÅ\x0foÕ'ï\x7fÏ<JLˆ¬×«\x7f‚ÛŸGÆ¿¥8.×Êå?•Ž*GÕZ©\­Ö\x18}|ttô§¨ô{\x16J>\x1fÁˆ=ŠþôËÛ÷¬7øé²¾ÿ7}Ø$s\x05³L"âHŸ<ø?\OGÞ€È-–¹hÒîGëstô 	Ù«¤Ó=ë3ùƒÍé\x02õ÷ÎÁAé¶\x16W«\x19t]AWË ë	ºz\x06ݱ ;Ê {ÃéjO3èþ!è\x16aºÁ+ «.k\x19ù\x0eÞ\bºŒ|\aÿ\x10t\x19ùþ} ê»Ì {%êqô@\x11ê¡Ã\x0f0C6"\x1f¤\x14Ã!×€úÏ\x1að)ÝâÅîˆâ`\rÏ€q\•àZ§3¾÷ËÆUh~'ýdÆD†<ùUÛŽüâ\x1cù¥\x1d¹_æ‡\bIœJ–@ò”V…+ç2k\x03¸nÉÆ1I\x1e­:B¸^ÃÆ5'L$+%­æÌe¸¸äÈ\x0fqq\x06ÎQ?Ä\x05JŠ8G9Y§\veÇqm7.”'àbZ¿I³“4'ýÑätΆŠùÆ›_½jàÚóÁ\x14•w£ãù‰¿œõ†\vw:aCÀÛ€ˆk+\x14+aÎŽ\x1f\x1f¥\x1d±5Än\x7f:ËFÕK)'á’Í|*:§Ö…ŸÖR²³þäDšÏhDí*!êŽ:ã)›g2KÐÓzšŸràÊZ/\x18\x0e›£\f”ÀÑÖÌÃ&‰«\x13Ü”•s\x06÷§Â%E\CÃ\x1dO¦ãc6{ö2qOi9O[l\x13Óœe·h¯Ô¤\x13\x19^[H¬±:þ	#ŵ(?›í“.^rÌÆÑÑ8`]{Ôv\x0f%\x13ס\x13u—­9Ó,\x18Çuiýú³ÌÙ]âzz;ÀT\x1a˜h\x14N›5\0×\x1fgÁ8®jàà\x7fyòk¤£¿ÓœÀV:c8\0ªÜ&<\x19Ï’éx\x18ÄpTE^[ýÍV\x7fП÷»³d2÷µ\x05¢hÍð\x0eíôt2\x0f÷\x16ĵ86\ag”’ö”a\x7f”\x1cO›£ŒfG\x1cí)Ã&ÛÀg÷NÄÑž’¶Aò*\x03§‰\x10“a?a<ÍÓvµ’^[ª›aýÍÀq±›\fÛÐË2ó+k¸¼kE¯V5òË!Ë!îˆò\x13V´œ|i\x18¸\x1c\x05E\ÛÌ/{u\0\¶C³Ï„¹ù4ÏÊÛ)i¨\x1c\x12'¢ª\x1aŠ\r„\x1c³JÜih¨Á8iv:Á‰\x13Qm£fL0΃ëš\x1c™\x0fZY@ÄU\x1d¸ŒÞ‚8ÚâÒ&'THŽ+i=E³.ÊÀi›\x13¶\x1e䔵ª\x14\a\aS9°ˆ£|aƒ\x15:ç`ÜÆ«ØA\Û('[ƒp§Ñ,\x05ó;j˜¸Q\x7f.§ÁdÞ\x1f:Ö\Ài#\x1dp³Î´9L†LðN0ˆ3GlV—–å4ÛAÕÏ¿\x03Cœ/­0_\x1a%7*œ[£JÛ®Óm\x06§Z‰jPT^¹ÜꙬŒãn¸anm½‡õZ™\x1dŒ÷0Úr'c8NlÎO²ó«˜å\x04g\x15¯Ðþ>„+UÌž	¸i\x0e\x1c­ßIg’§\x19°œ4¿Ù+–ϰ99\x19O3¤±Xˏڢ…q-mW#p%Ö\x14¯˜(Ñ\x1aŸ:\x17#ÄUm\œ\x03\x17;på\x1c¸²\x03WɁ«8pÕ\x1c¸ª\x03Wˁ«UMT=\aªn¡Žr Ž,T‰íÚ'Y-×pµ\6.vàÊ9pe\a®’\x03Wqàª9pU\a®–\x03Wsàê9pu\aî(\aîȁ+Á†{ì\0\x10\É1Òã\x1c¸Ø+çÀ•\x1d¸J\x0eœkFªæÀU\x1d¸Z\x0e\́«çÀ\x11-–j½lÔ‘…Jšívw6Kzƒæ±ká\x04T¯áCµ\anY\x15Q´f 0²=i޹½¤I\x7f\x12—±°#NÓ“j6MA\x1c™û¦­JÇRÏÅm­O¼j2\x19ït4ï‡%Y†;*ÓšôùŸ,	\x18qšn£Õ\x1aÂÁ\x7f&ç\x18®mâ²å!Ɓ®Æq‚K\x16—»Ä#´A~6.[ÀGÍ»UN”\x0f\x03¹‰rZ|™{sn¥^[ʯg×Oá|¹b~t®^[ý=WË\x03®få—-F\x01ŽŒiΕa§×ï…ö €:*¹Q°!t—\x14QU?Ê­tGTÃj9óoË\x11×6Çf®žYÒfÇã	“ÒAíÀ†;ˆÓt\rˆëœõóàª&\x0e.\x1aeêRJÆY\x04	±\x12ƵJ\x0e\öNž-7\x0e\¥\x14„"ÎÚÉSóq/®¬Ÿ]9®ÕøpÖœ|–/?«œgùò³úÙ\x19èM“ö”­!gn\x15*àb«~ˆè±myè,©\x1cWu\x14\x18há\x19'/jè¨\³C9në(q)ˆ›KyQe«f\x1c—•[Ùj9r	)„³Z\x0e¯'eÖN[»ÆgS¯haà´\x1d2àXçà¦d~Æ ®êÀ±\x19·4óã4\x1dš¸î†ç@ÁYº¬Ë•£ædv2f]\x12ÎúØ’âž\b\x01§­±
×ã°\0_´µr”œõÐ\x14×p–3\bG\x1c­ŸënŠ\a§­•®{)>œÑ?“\x1c³\x12â\x1a6*<· ŠŒ½ÓiŽ!„(zúËPx…û\x18ÏÜú"Di5Óp,ß@n\r\x03ÇF_OGpm^[—a™¸#£åÒbbxpïìwdÍ\x10Ãñ4[÷VÖd\bÐ^g‹÷ˆk\x18åÌÖ]\v\Õªô×\x12B\x19ã€ÞD
ážšÜÌ\ï8®]5òË‹Ótɧ¯\x19ñ\b=X@==ì\x01\ǃÃz†pZë©ktš‰CyUÒHø\x15:ƒ$m•ãéä$iözÂ\x1c:ÀÝ\x1e±`\x02d6ˆ£ªd…(µ1ˆ­ÓÀÀg¨j©d¡º™§cÕ’¾\x1e•ز9érÙÅ[JÄ5\f\x1cœƒ\x0fÆÍN\x06..\x19¸Y›‰‘™£°Z6qgà§(T;³ê\x173h³Ý>åÇ&^œY¿I¹’\x05D\ÛÎ\x0fï•ãAú,i‚­ùÄÆUÌúA~\x19@Ä™õː	\x14Î,ç\x19“CXÿT	LmÙ\0pU«\x1d8.Ιå\x14¸r\x16Îl\a«dá<õ«fàj%\x17ª–…ªºP\\x04e?›ƒSsY\x02TÝ™\x17GÅ~”ÉIô¹Ô^[ôѦÌ}´\r¸#³å:ÝÔSú¤	wD-á\0qf~³ÓÖ°\x0fÁ\afóñÔk_W=2[î$߈mX3ļËÄã,ûŽjÃ1ÒOrŒô†k¤g\0\x11ç\x18éb¢öN¼€{j•³œ\x0fg•³’\x0fg–³×\x1f̳W¡jÓl‡Þ˜	ió&\x18^t{‰SÄ\x03\+ŒsŠxˆ3ù¢ãÊ^\#€ªxQí\0ªêCµõ\x11\vÊkÿ S¨ŽÙ\x02³A?ë¼\x11p]×\û²û\x06$e8ðòâ\s­ÄAô\x0f\x1fÎìa(é„3DœY?\rçÎ\x10p=³~\bÉ”¬«=³~ón¦½ âô3¤Ö¤Ÿ­\x18g¸š¾\x17æ¸N·×\x1e\x0fÚÞówÄUm\–0‡¸¶^[\x17\x12ç\0Ws”3KLBœ£œY“5â\x1cüD\x11"°OE\ÛŠ³Pdµ\x14¨A;˜\x15GUmT0+ŽrÔ,KŸ„8G˵æ£ädÐO|Ý\x05pGŽ–“8_Aœ£å(ÎÕc\x10çª_†ú\x18qŽúe©\x01×pÔ/ÇÚ\k8ê—Cz¯5LmY2ìÏ2\x06;Ãut«uŒÙÒžŽsàªf~“WS\x06\x0e˜ÀrœUN˜Ê¸b6°«íh»(ĝ¼ÊRç"®jÔ¯\r·ÉûÇ!½\vâ\x1a.”sI¦(}eû\x18î$	\x15tÊ%\x0fª\x15D™kBŠóNcˆ3×¼\x14çl\x11g®y).¤¹ïXû¼\x14ç½;€8³~ÇÍá°™”ü(޳ök\x1c\x17—’8˜Ÿµ_ã¸r)©„q–\f¸j)9
ã,\x19\x02q•\x06˰å×>vjîúUÚPÐ\x10Î\x1a±Ãîô8,”\x01®n<pätšu>Ñ©[ù¥\râ’cL\0®aågà\x1c£\x02qÕ Ê1&\x10Õ\b¢\x1c#\x02Qí Ê}öÕyšU3Gë!.ÀI\x10t]“\v⬹Vǹ¦\x17ĵÃ8×ô\x02¸f ~€óœ%vš\x19õó܃ë43êç\x1a\fˆÓ¬"À—2º
ç›Ä’Ü\x13Ù8mŸgââ\0®\x1aÀ•\x03¸†\v79	Ù"#ÎÒß\x0f[ÝN§ÛIü–1€k›²@k
êÍÉéÀŸ!âÌ5vö²ûŠí„^\x06¬\x0e\x10§¯±LüÎ:ˆDT[CºÇ¼Zƒî™Çæ\x16Pän\x03 &ãY.”Y3¡Ÿô‚$N;y1Ü-úq¥’\a—em ŸÆO’i+ýSéH·\x1a@\¦¥;âJ\x16n:™OƒZXÄÙåœ\x06.\a)\lç÷*\x17ή\x1fà\x02÷d\x05®¡ãú9ùRqàN{³\x7fdâ´]F{Úä\x1eîC§Š¥Û¸¦éKÀ$"\aÖÂ\x11LX*f¸ª??\x1fÖÂ\x11LXžf¸†/7\x1fÒ@\x11„S1FQm_^>$G¹kæT¨\x11\/Ðr>¬…#˜ZV~–óa-œÄœ\x0eg/ƒù•ŽŽ\å̾qu¤íï-çGÞrVõ3k‰k½ÌÄ‘5hÆï~f\x1c=2Tœ<*Tøè\x11Q\x1a/§y\f„°\r4y\x05pÙ†>ˆk•4Ô¼?ȾÃ\x14³5ÁÎ+\Ràc¹¡¡²<j\bTlr$óƵÀ5\fÜël$pD“À…ó·<ùi{Qá\x0fë@3]®VôŽD=aQºÚSŽú‹ÓÓ[j\x05m\x0fØŽ\vÆO×{w\x1e\x1a¯aV\x10qa;GÄ™\r¡pÉÔ×­\x11g]·\x02LØ\x18\x06pš¨©pac\x18ÄU]¸Ð2"pÎr†–\x04k»p¡Éã:Îú…&isÖ¯žsÖï(^[×¶Qè…3ˆê–èT\vÝ…{;\x0fæU#\x17…\x05*<­\vTCŸØ\x01\x17žÖ\x05N_˜ÑR1È\x0eŽ«ëG\x1fíÕ§ŽÓ\x17JÛæÁ‡k踀U¤Ž3\x17…\x1ce\x05\Í\x1cé9òDœ±Àæ¸aŒ8}SÉqÉëN\x7fš¼Áÿ\f›ÿol6$à:\x06NúLÌÌÏ\x10 †ýìµ\bqF?SN\x15³p\x06_^çk÷#ݹÑ`š´‡\x13<=dm\x12ÀÕÚU'ªã\x1f²ˆjبÌk.5rø+Qa†pT[_,¹\x0f–aÐy\vpDWñK\{>\b8"@œÖâÝ^ót0Ï\x12[ å´MÄ©Ñà\x1eLˆ3zŠá+ÔWÎj½mÍ\x10™³\x12æ×vÍ\x10áÁ\x0e¸ž)\väÀ"N¿üSî$fc\x10A¥R%\x1e[4×Ùº5áyI§’1\0\fª´sKÿï:Á¢¤\x13˜îÞ]5b¨ªå\x14N9\x14¢É_”ÞZtà„¦$wKš;´¸ä$ŽÝÄU'qÙMÜp\x12WÜÄK'qÕI\v—¹æ&v—¹î&v—ùÈM¼$NøÚƒ—à;'¯ŒR¬*’D\x06L"Ë:R\x04\x04Ƀ¬èH\bz‘eñ-U^[™eó-5^[\x19\x16t\x15²n#â®B¦Þ\x1dÏ Yºí<\v=×\¦‚d\x1aú#Wž©§Èa2“íÒk…›\x06‘©ïHðÑ‘³3 2\x1dç³{ö!²-\x03\x0eÝ\x03yžÖóžy®RäýòŒË_C€ÂCú|=!®p‡ªiQß®y$ƒÝâj§yV퍧m˜)€´)öÓ‡±p\x18í¤J¬˜\0ŽlÀ^[H6\x05Èÿ\x10PÃ\ròçòÔU,Ê\x01\x03P.Ù€f¿\x1d\0Ä\x05Î>å*ÔË= è´0vΛ\f3SlÑ’6w\x02z8›O×zutYC÷\x06¨b;\rz\0$誆žø3íþ\x1dƒšå@74ô”M1à\v&'š,ÕXo.­…±)ºZ2ò\x1e²Ý\x01˜ æB7t4Ë4‡S;†è$\x1a\x1a|ßN»Í\x0eûÏ|úÆ[\x04Ž.›h˜\x03\x18\x16̋ق{ìƒstÕ•7Ô;œµ@7L4ïkdȤìŒzÇÈ7':Ó#\x17q,ôìt6ɸ\x19"ÑU\x1d=hΓ¸žC›ÉÑ\r;oVhÖäí&û7ÔaJ·¢Ú\x16ºÙ\x1agv¶Ò­¨¶ƒk¯2Ý‚–nEµönN!6`Ö0aè†/o¨ùx4ê¶½\x15`^[Ž’\x03\rý¬u:Í2r-Ý–]h\x1c!Ùpî\x0eÚÁó7<…Î ¤T.Ý6$\x1a'lë˜×;qÂújš5\x7fˆLÔ$‚y\x10§ËÞäÛ½cî…ª9Ì9GÅ%‘¼æËÛ\x01$Îf_\x1cŒÍÌCXsú\x06t\n¼\x04¿ÍcÖÁ²Ñéô}ðºÍo¿±ši\x02\x03‘\x17ô\bš\x1aUà:sR=5¨H¬MMF)\x19t< ¯.ÇÔÄrné3¼Üå;î6_^eb\x15HŒä§\x11%́ØG—n/,\x12Ö¥ßheªH\x11Cw0èïOÈ\x03&h°Yl\x14îQ\x0e9ƒsæ4Owç»;m<":½´ƒž2×à?ô\4\x03’YQârÕ¤\x1e\x1dhl)CSI®\b§\x19ažœ¡5H®Zqž`òêVsÑqWÙ|\a÷ý…8bÐö¬\x12DödÕ›\x04¤rãN9Dw”Ý\v“¨\\8ˆ¹I!¥/.´Æ4/[	_8\x12>s$|a'Loñ¶OšS\x01Pi³²4\x1côà‹@/FÅJš^ôÍ*ò™/ÙØÍ
ÉãÙI¿7×\x12vS#/\x1cıŸËù’>Ë™´Åg ©W<ŒÎLœr:³ØgY	ó~žc‚\x13¡âõé€nÜT\0y}ÂÐ(X.@¤Q\x1ci\x14î\x1c\x04¡Yw4ëúV¥\x1ezŽÄ&)ë\vI¥`µYg\fþºNšx›œIkƺ\x13"?3Èë\x19©3é™’\x1fÙä§³®J\x1c©=Ûl¶é\x03KF¾ò
÷ûÈÙȹgž@¨VÑ-º\x03ÿ±]
”Á\x1añ\#,›„ž\x04u\x1e“\x1aéë\x0e]JhzÍÁ\O¯ÎW\x14M-îï†"Œ¦·^[âwŸ,bMš#֍à¼Ì×e	Yo<\x1d65ŽU\f:s­<²Jul
>\rƒ\x04Boê\x14O
wLJFQLT
¬”‰»+‰Bî\x03û>}Z jrJ“ÎÒ‡LxBŽ3Rž¥û„Áj?FyµÙ­àÃMt\x14-®Î£r#ºy¿ùxy\x1e-.\x7f]ÜÝDoWQLi\x17——Ñf÷~µeŸ>î0ÍXB\x18íåêb\x17-v\x10R|ññr\x17m.¢\x12­%–\f˜‘-TYÝHb37W޾…XÆ\x10¸=„\x13\x1d%=Jê·OÚ!·¸\x16¸Ü(ÈI\s
â\x1dA”Š\x15s\x0e^ÅÈ*|A\x17k'íkNZ-=­ë„| ˆ0B¢·0‘œ;)mÚùâº;×Iÿõ´;‘éI\x19ÔIÚ\x1a\x18sjÙÌURvGMFl
¶\x1a)^ŸÇ*ë#íÈ ëSïñD&­*~$^[Ç“*Xr;7\x1c¦—\x16ÿ\x0e“P¹^[2LêjG.c;ÚñB´#™\x1c)-iDz;×\x01D…ÖÛ±^p“\x06ÛQ£\f·#÷þ“rÜX Ž\fÊÜ-©s³;ëNϺ\x1dÅv©¡Â\r­ôjo6bd˜Ì7ZýL]i¤©"(ºÚšL` $ãi(°Š@—\rt^[M“2§^[~€¥	˜ü*äì¥Ø[«®b®ÿ@‡úÎÔ”\x0f©È\x06dlÞ\x14×­|»zuà?:6×mà9È\x10Ü—fX’ N7OûyØNwì\x04\r‡€÷l4‚žäC—Ýèn;lH#ÐU7\x1aä¤îè8yí)ƒ@7DoVq\x0f¼<E
\x1e/\v=¶ö;^kZÇ~ÅDƒR&€Žmô¬û÷Q;;wOÞ:Ú›»C\x7f\x0eèæ”ánfæž¼\r´/s‡ö\x1dÐpDt:ÊTsxò\x06t\x0e\x15	ÑÝcw0]Þæ\x19iZw%c—\x0epB~Ò÷ÇNríò	%/;ɧ>òŠ“|â+{ÕIÞ-{Èkî´<äu7g:\x137ù\x11Ÿ\x05µè\x05²e¬†aD\v\x1f¨ƒBÏž{4\x1e!5„›½š$q­9Úì[ò\x13WÊ&qÌKé3(óv%\x02@ÊTŒá²æ…¹XX\x19¸\0±ØƒªH—þ	nˆ\a3FŠ\x18.©6\x11O>ˆE¡_[9\x1eNšÓ.7üm\x06®\x14:\a3Eϧ–›(':v¢Gcցÿ~êñØì:®¦è\0RC×ühô\\x15F\x1fYh¸+ðù\\x03t>®Å\x1et>®U=è|\«¹ÐÝÙ¼?Ê
,äí-ãÓi;óÚžyðJ[¬9ê„mkÕÁ+\x1fõY£€G`ç\x03œIï!ûOG½\ñ۳б†~#'\v†\x0f˜¨{ò6¢Äg¢ËFÉ]ÆÞùó¾\x1fºjäãú“ó¼RÔû>èX/9ܧH&™š\x0f‰.ëh¶ˆõ\aÙ}ÆÃ5‰Îè3\x0eS\x17žÀEõA8w\x7fÞ\x02\x1dÌÝa(\x03è\x16“\x06ÀçJÆö͵o„{Up›¥Õ?\x167S¦.ú¾\x11\x1ak<xƒ—úØr\x1f¸\rã0u\x01ô”›\x171yw\x15‚Ã8î”y'ÝÎqv¨S!/k3\x0f¿Uñš\­Ð§¢Ã›÷›í.Ú¯¶7ëÍ\x15(\x16\x05°`ÏRˆO²ƒ|\x05Fkntp–ò¥’o–
£­Ö3FÚ=ó6Fš\x1f­ŸÇÒ\v.Áµ£Ñšdß/ñÎÀq-\x17Üq’‡èúýÐú\f\®Þ\x0f]ÓÐ(gß\x03]·¸–L[•JЂÚ!\x7f)ô›Fî¼^[μ3ð
ýÔæyröæôMµ\x1c(»B¿u ß0x>ôÒæyÒ|sz†Îl3Ñ+GÞMVój\b®Ð©J—ßÝž\aýN{<\b.ù\x02}N•@Sðs>
Äg²ó¶ÑÉ\0.\x19f£c\v\r–>\x19¥V芆n½™w¹ž3\x19ÎZ8\x01Í<.À\x1c%'è\x01G\x0fýhËð\rVñè¬;ÅhàóîÐ?ØÈÜ•\x1e\0˜«­¶%~ZP³œyYÊ;Ù\x1dCIãþy"ö¼ÙÌp¢\aݦÃY¾c	\x024.ÅŸ·…ÎÈ»l•¼\rîÝyæ¨7¢ÝyZèªUòÏÏ[¡sæÝÐÐ|à7n^[áñëÉ[CûǯCH§è8_Þå\0:;ïŠ\v\x1dç­w5€ÎλæBWÊ\x19\x15—èz\bíÍ\¢<èJ9”¹cƒà@û2—è§žÞ\x12ž¬%záiï|è·ž\x16ˇ^ºÐ¸<&¡\x04$üÜ\x1e¢9¤HÇÎH¢sH‘ÒRЅΖ"\x1dÚ$‰Î!E:´I\x12CŠ\x14èº\x03CŠ\x14è#\x1f:,E’C)_Þ\x01¼@?õñ<,E
ô[/:(E
ôÒÇó°\x14)Ð+oÞA)RZb:–Á\x1cr``\x11Í!\a
ãR\x17:‡\x1cÈÑ\x15k!Ë'\aú–Á|r GWM´-\a&O+%뮫cïìA×k>´UráÝcÚmg\x06Ïò£A\x14Í@WÂhä`sàÔ<•ì«2€®t’^^[ÄÞp05O½Stð&^ɾh“Š\ü\x04\x06’ñH^A-E·\aÎ+\x1dŽk:€†°D÷\x11÷<hO¦
m]ò\x01´pÐ\x016\x1a¡Ü=y\x13tˆéŽ\x12 é‰Wz?ŠnyÈù¢š\x10„‚‡/ÚÔ\x04„š\x1eMÇ“Š­5J›—K­4œ|Ún'ò–‡ÊZøRò‹’ƒ¼97\x125¨Äág,ÈÊ4a¨\x1az\x1f2ÌeRùe4Öoò	æÕ8†\x1e<^[ùt‡ãé^[Á½r0‹Tƒ Û†Ÿ—än\x14œÃøÕmù¦#ÒÉÊ6w²¦#‚®¸Ñ¡éˆ «R•øaqó\vÖƒœgá­1Æ90|\x13–tpDlôl4Ré\x1dK³a—–`6—^[Za\a¹W.4ËÊtï«h*\x17K#!qx\rÇ*ª@K#»\x03å½\0Lƒ%•É«\x03áˁ\x15ê@}·¼D4çãa¿œNØ(ä÷ˆ\x1cê^[ê\x15ÂÈ/­\x1fϯתØTG&Õ„µŸEwdç©—n*\x13ld\x10¾r\x11òœù\x1d=£ÎHŒ“iÚ9@!ÃÃ\b"÷RµôÿY]¯/\x0eXJ„C\x13ìU\x7fúö|{¾=ßžoÏ·çÛóíùö|{¾=ßžoÏ·çÛóíùö|{¾=ßžoÏ·çÛóíùö|{¾=ßžÿ”çÿ\x03\x14ã;\0à\x01\0

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: DFP support for kernel radeonfb.c added
  2001-11-14 17:52 Kevin B. Hendricks
@ 2001-11-14 18:20 ` Daniel Berlin
  2001-11-14 18:28   ` Kevin B. Hendricks
  0 siblings, 1 reply; 20+ messages in thread
From: Daniel Berlin @ 2001-11-14 18:20 UTC (permalink / raw)
  To: Kevin B. Hendricks; +Cc: linuxppc-dev


Just a note, on the tibook rev b, the EDID is in EDID1 for the LCD.
No idea if it'll make an EDID2/EDID if you plug in an external monitor.
>
> All of this depends on their being an EDID block in /proc under the Radeon
> device tree (it exists on my machine).  You can simply look in /proc in
> the device_tree to see if one exists on your machine (need to have the
> monitor connected for it to be created).
>
> Since there are a lot of changes and since other people have submitted
> radeon patches recently, I have attached my complete files (radeonfb.c and
> radeon.h) in the form of a tar archive to this e-mail so that others may
> more easily understand the changes.
>
> I hope this helps others with flat panels but be warned I have only tested
> them on my own machine.  So don't come back to me if your FP goes up in
> smoke.  Use at your own RISK!
>
> BTW: Using a dviAtor, and an Apple 17 inch flat panel is a real blast and
> now all of my eye strain is gone!
>
> Have fun!
>
> Kevin
>
>
>


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: DFP support for kernel radeonfb.c added
  2001-11-14 18:20 ` Daniel Berlin
@ 2001-11-14 18:28   ` Kevin B. Hendricks
  2001-11-14 19:04     ` Daniel Berlin
  0 siblings, 1 reply; 20+ messages in thread
From: Kevin B. Hendricks @ 2001-11-14 18:28 UTC (permalink / raw)
  To: Daniel Berlin; +Cc: linuxppc-dev


Hi Daniel,

On November 14, 2001 01:20, Daniel Berlin wrote:
> Just a note, on the tibook rev b, the EDID is in EDID1 for the LCD.
> No idea if it'll make an EDID2/EDID if you plug in an external monitor.

Arrgghh!  Okay, I guess knowing the name of the OF EDID block is not going
to be easy!

My tree has both "DFP,EDID", and "LCD,DFP" so my code only looks for:

DFP,EDID
LCD,EDID
and
EDID

I will add "EDID1" also (and "EDID2") just to make sure nothing breaks
along the way.

Ben is correct here, perhaps we should do our own I2C to grab our own EDID
block directly from the monitor and not play the "what name did OF give
it" game.

I have not looked at the I2C code to see how complex it is.  Does anyone
have any working code or sample code I can look at?

Thanks,

Kevin

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: DFP support for kernel radeonfb.c added
  2001-11-14 18:28   ` Kevin B. Hendricks
@ 2001-11-14 19:04     ` Daniel Berlin
  2001-11-14 20:15       ` Kevin B. Hendricks
  0 siblings, 1 reply; 20+ messages in thread
From: Daniel Berlin @ 2001-11-14 19:04 UTC (permalink / raw)
  To: Kevin B. Hendricks; +Cc: linuxppc-dev


On Wed, 14 Nov 2001, Kevin B. Hendricks wrote:

>
> Hi Daniel,
>
> On November 14, 2001 01:20, Daniel Berlin wrote:
> > Just a note, on the tibook rev b, the EDID is in EDID1 for the LCD.
> > No idea if it'll make an EDID2/EDID if you plug in an external monitor.
>
> Arrgghh!  Okay, I guess knowing the name of the OF EDID block is not going
> to be easy!
>
> My tree has both "DFP,EDID", and "LCD,DFP" so my code only looks for:
>
> DFP,EDID
> LCD,EDID
> and
> EDID
>
> I will add "EDID1" also (and "EDID2") just to make sure nothing breaks
> along the way.
>
> Ben is correct here, perhaps we should do our own I2C to grab our own EDID
> block directly from the monitor and not play the "what name did OF give
> it" game.
The problem is that i can't seem to get this to work on the tibook2.
Strangely, osx appears to do it.

I'll bet it's bios rom related or something.
> I have not looked at the I2C code to see how complex it is.  Does anyone
> have any working code or sample code I can look at?
Yes, I do.

At least, i have code that *should* work. I can't test it, of course.

Want it?
>
> Thanks,
>
> Kevin
>
>


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: DFP support for kernel radeonfb.c added
  2001-11-14 19:04     ` Daniel Berlin
@ 2001-11-14 20:15       ` Kevin B. Hendricks
  2001-11-14 20:19         ` Daniel Berlin
  0 siblings, 1 reply; 20+ messages in thread
From: Kevin B. Hendricks @ 2001-11-14 20:15 UTC (permalink / raw)
  To: Daniel Berlin; +Cc: linuxppc-dev


Hi Daniel,

> > My tree has both "DFP,EDID", and "LCD,DFP" so my code only looks for:
> >
> > DFP,EDID
> > LCD,EDID
> > and
> > EDID
> >
> > I will add "EDID1" also (and "EDID2") just to make sure nothing breaks
> > along the way.
> >
> > Ben is correct here, perhaps we should do our own I2C to grab our own
> > EDID block directly from the monitor and not play the "what name did
> > OF give it" game.
>
> The problem is that i can't seem to get this to work on the tibook2.
> Strangely, osx appears to do it.

What doesn't work... is it my radeonfb.c version that doesn't work for you
or is it that  OF storing EDID in the device tree is not working?

> I'll bet it's bios rom related or something.

If you run with my driver it will dump a lot of info to dmesg (printk)
that will tell us what EDID info was parsed, the timings, ... just about
everything I could look at to compare it against how things worked under
Mac OS 9.

> > I have not looked at the I2C code to see how complex it is.  Does
> > anyone have any working code or sample code I can look at?
>
> Yes, I do.
>
> At least, i have code that *should* work. I can't test it, of course.
>
> Want it?

Sure....please send it along.

Thanks,

Kevin

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: DFP support for kernel radeonfb.c added
  2001-11-14 20:15       ` Kevin B. Hendricks
@ 2001-11-14 20:19         ` Daniel Berlin
  2001-11-14 21:24           ` Benjamin Herrenschmidt
  0 siblings, 1 reply; 20+ messages in thread
From: Daniel Berlin @ 2001-11-14 20:19 UTC (permalink / raw)
  To: Kevin B. Hendricks; +Cc: linuxppc-dev


On Wed, 14 Nov 2001, Kevin B. Hendricks wrote:

> Hi Daniel,
>
> > > My tree has both "DFP,EDID", and "LCD,DFP" so my code only looks for:
> > >
> > > DFP,EDID
> > > LCD,EDID
> > > and
> > > EDID
> > >
> > > I will add "EDID1" also (and "EDID2") just to make sure nothing breaks
> > > along the way.
> > >
> > > Ben is correct here, perhaps we should do our own I2C to grab our own
> > > EDID block directly from the monitor and not play the "what name did
> > > OF give it" game.
> >
> > The problem is that i can't seem to get this to work on the tibook2.
> > Strangely, osx appears to do it.
>
> What doesn't work... is it my radeonfb.c version that doesn't work for you
No, I mean using i2c to grab it.
> > > I have not looked at the I2C code to see how complex it is.  Does
> > > anyone have any working code or sample code I can look at?
> >
> > Yes, I do.
> >
> > At least, i have code that *should* work. I can't test it, of course.
> >
> > Want it?
>
> Sure....please send it along.
Give me a few minutes.

>
> Thanks,
>
> Kevin
>


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: DFP support for kernel radeonfb.c added
  2001-11-14 20:19         ` Daniel Berlin
@ 2001-11-14 21:24           ` Benjamin Herrenschmidt
  2001-11-14 21:54             ` Kevin B. Hendricks
  2001-11-14 22:14             ` Daniel Berlin
  0 siblings, 2 replies; 20+ messages in thread
From: Benjamin Herrenschmidt @ 2001-11-14 21:24 UTC (permalink / raw)
  To: Daniel Berlin; +Cc: linuxppc-dev, Kevin B. Hendricks


>No, I mean using i2c to grab it.

I think OF uses the Radeon "GPIO" registers to probe the panel type based
on a wired panel ID and a table of EDIDs in the driver. At least, it did
it that way on mach64. I dumped a disassembly of the Rage M3 (r128 base)
MacOS 9 driver of my Pismo and started tracing it, it seem to play with
GPIOs as well. I didn't yet figure out the exact algorithm though.

Ben.


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: DFP support for kernel radeonfb.c added
  2001-11-14 21:24           ` Benjamin Herrenschmidt
@ 2001-11-14 21:54             ` Kevin B. Hendricks
  2001-11-14 22:14               ` Benjamin Herrenschmidt
  2001-11-14 22:14             ` Daniel Berlin
  1 sibling, 1 reply; 20+ messages in thread
From: Kevin B. Hendricks @ 2001-11-14 21:54 UTC (permalink / raw)
  To: Benjamin Herrenschmidt, Daniel Berlin; +Cc: linuxppc-dev


Hi,

I did some reading up on it and it seems to change the sync(?) signal to
simulate a serial line and pass 9 bit bytes (with parity?) which are
collected to form the EDID block.   Hopefully it won't be too complicated.

I don't understand if this is only done on monitor powerup or if it can be
done at any time by request or is it just sent continuously by the monitor.

Kevin




On November 14, 2001 04:24, Benjamin Herrenschmidt wrote:
> >No, I mean using i2c to grab it.
>
> I think OF uses the Radeon "GPIO" registers to probe the panel type
> based on a wired panel ID and a table of EDIDs in the driver. At least,
> it did it that way on mach64. I dumped a disassembly of the Rage M3
> (r128 base) MacOS 9 driver of my Pismo and started tracing it, it seem
> to play with GPIOs as well. I didn't yet figure out the exact algorithm
> though.
>
> Ben.


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: DFP support for kernel radeonfb.c added
  2001-11-14 21:54             ` Kevin B. Hendricks
@ 2001-11-14 22:14               ` Benjamin Herrenschmidt
  2001-11-15  3:13                 ` Kevin B. Hendricks
  0 siblings, 1 reply; 20+ messages in thread
From: Benjamin Herrenschmidt @ 2001-11-14 22:14 UTC (permalink / raw)
  To: Kevin B. Hendricks; +Cc: linuxppc-dev, Daniel Berlin


>I did some reading up on it and it seems to change the sync(?) signal to
>simulate a serial line and pass 9 bit bytes (with parity?) which are
>collected to form the EDID block.   Hopefully it won't be too complicated.
>
>I don't understand if this is only done on monitor powerup or if it can be
>done at any time by request or is it just sent continuously by the monitor.

What are you talking about ? Your DVI panel ? That's I2C, you have
one line doing the clock, one doing the data, there's some addressing
going on (first byte).

The Apple laptops _seem_ to be doing things differently. Unless you
figured something out I didn;t :)

Ben.


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: DFP support for kernel radeonfb.c added
  2001-11-14 21:24           ` Benjamin Herrenschmidt
  2001-11-14 21:54             ` Kevin B. Hendricks
@ 2001-11-14 22:14             ` Daniel Berlin
  2001-11-14 22:32               ` Kevin B. Hendricks
  1 sibling, 1 reply; 20+ messages in thread
From: Daniel Berlin @ 2001-11-14 22:14 UTC (permalink / raw)
  To: Benjamin Herrenschmidt; +Cc: linuxppc-dev, Kevin B. Hendricks


On Wed, 14 Nov 2001, Benjamin Herrenschmidt wrote:

>
> >No, I mean using i2c to grab it.
>
> I think OF uses the Radeon "GPIO" registers to probe the panel type based
> on a wired panel ID and a table of EDIDs in the driver. At least, it did
> it that way on mach64. I dumped a disassembly of the Rage M3 (r128 base)
> MacOS 9 driver of my Pismo and started tracing it, it seem to play with
> GPIOs as well. I didn't yet figure out the exact algorithm though.

Well, the GPIO's are used to control i2c as well (gpio 0 and 3, if i
remember right), so it might just be a red herring.


>
> Ben.
>
>
>


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: DFP support for kernel radeonfb.c added
  2001-11-14 22:14             ` Daniel Berlin
@ 2001-11-14 22:32               ` Kevin B. Hendricks
  0 siblings, 0 replies; 20+ messages in thread
From: Kevin B. Hendricks @ 2001-11-14 22:32 UTC (permalink / raw)
  To: Daniel Berlin, Benjamin Herrenschmidt; +Cc: linuxppc-dev


Hi Daniel,

I am working my patch into Ben's tree right now and there are some changes
you made to set the default video mode specific to your powerbook that
won't be needed if the OF EDID thing works for you.  (hopefully not a big
if!)

Do you want me to leave them as is, or do you want me to remove just those
pieces so that you can give the of_edid approach a try since it should be
more generic?

It is your call.  Just let me know what you would prefer.

Either way is fine with me

Below is an example of what I mean.  If the EDID thing works then the
correct video mode will be calculated and stored right into the
radeonfb_default_var structure changing it from 640x480 to whatever your
EDID block specified.  This allows us to do the following:


static int radeon_init_disp_var (struct radeonfb_info *rinfo)
{

#ifdef __powerpc__
  if (use_OF_EDID) {

    /* use the default var modified by the EDID info */
    rinfo->disp.var = radeonfb_default_var;

    if (noaccel)
      rinfo->disp.var.accel_flags &= ~FB_ACCELF_TEXT;
            else
              rinfo->disp.var.accel_flags |= FB_ACCELF_TEXT;

    return 0;
  }
#endif


#ifndef MODULE
        if (mode_option)
                fb_find_mode (&rinfo->disp.var, &rinfo->info, mo\de_option,
                              NULL, 0, NULL, 8);
        else
#endif
#ifdef CONFIG_ALL_PPC
                if (machine_is_compatible("PowerBook3,3")) {
                        default_vmode = VMODE_1152_768_60;
                        default_cmode = CMODE_8;
                        if (mac_vmode_to_var(default_vmode,
defa\ult_cmode, &rinfo->disp.var))
                                rinfo->disp.var = radeonfb_defau\lt_var;
                }
                else
#endif

So your ifdef CONFIG_ALL_PPC case won't really be needed anymore.

Should I remove it or do you want that special case included?


Thanks,

Kevin


On November 14, 2001 05:14, Daniel Berlin wrote:
> On Wed, 14 Nov 2001, Benjamin Herrenschmidt wrote:
> > >No, I mean using i2c to grab it.
> >
> > I think OF uses the Radeon "GPIO" registers to probe the panel type
> > based on a wired panel ID and a table of EDIDs in the driver. At
> > least, it did it that way on mach64. I dumped a disassembly of the
> > Rage M3 (r128 base) MacOS 9 driver of my Pismo and started tracing it,
> > it seem to play with GPIOs as well. I didn't yet figure out the exact
> > algorithm though.
>
> Well, the GPIO's are used to control i2c as well (gpio 0 and 3, if i
> remember right), so it might just be a red herring.

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: DFP support for kernel radeonfb.c added
  2001-11-14 22:14               ` Benjamin Herrenschmidt
@ 2001-11-15  3:13                 ` Kevin B. Hendricks
  2001-11-15  6:04                   ` Daniel Berlin
  0 siblings, 1 reply; 20+ messages in thread
From: Kevin B. Hendricks @ 2001-11-15  3:13 UTC (permalink / raw)
  To: Benjamin Herrenschmidt; +Cc: linuxppc-dev, Daniel Berlin

[-- Attachment #1: Type: text/plain, Size: 2262 bytes --]

Hi Ben,

Okay here it is as a patch against your latest rsync versions.  I tried
not to touch any of Daniel's changes that should become redundant if the
EDID stuff works for everyone, they are still in there.

(see attached dfp_radeon.patch.gz)

FYI:

There are a few things I did change with how some fp registers are
intiialized that may impact others.   Especially how timings are
calculated for MT_LCD and MT_DFP.

Previously the code had the following in radeon_load_video_mode()
which just does  not look right at all.

       if ((primary_mon == MT_DFP) || (primary_mon == MT_LCD)) {

...snip...
                hTotal = mode->xres + rinfo->hblank + mode->left_margin;
                hSyncStart = mode->xres + rinfo->hOver_plus +
mode->right_margin;
                hSyncEnd = hSyncStart + rinfo->hOver_plus +
mode->hsync_len;

                vTotal = mode->yres + rinfo->vblank + mode->upper_margin;
                vSyncStart = mode->yres + rinfo->vOver_plus +
mode->lower_margin;
                vSyncEnd = vSyncStart + rinfo->vSync_width +
mode->vsync_len;
        }


But

HTotal = x active area +  hblank

hSyncStart  = x active area + offset to the sync (which is hOver_plus)

(I have no idea why mode->right margin is added  - we are then adding the
same thing twice!)

There are similar confusions over vTotal, vSyncStart, and vSyncEnd.  We
seem to be adding the same thing twice in many cases.   The latest XF86
CVS HEAD radeon_driver, calculates things the way I do and not the way it
seems to be done here previously.

I just don't understand how this could have worked for LCD and it did not
work for DFP at all.

So my patch fixes this which might make a difference but should actually
make things better.

Anyway, please give it a try.  I will send followup patches with other
fixes and additions I make to improve things but this should be enough to
get people working until the i2c stuff gets going.

So Daniel, if you get a chance, please try this.  If it works, then we
have broken nothing for you and we can then decide if you want to move to
the more general case of using EDID info.  If it does not work, please let
me know asap so I can back out my changes in groups until we identify what
is going wrong here.

Thanks,

Kevin



[-- Attachment #2: dfp_radeon.patch.gz --]
[-- Type: application/x-gzip, Size: 4639 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: DFP support for kernel radeonfb.c added
  2001-11-15  3:13                 ` Kevin B. Hendricks
@ 2001-11-15  6:04                   ` Daniel Berlin
  2001-11-15 12:16                     ` Kevin B. Hendricks
  0 siblings, 1 reply; 20+ messages in thread
From: Daniel Berlin @ 2001-11-15  6:04 UTC (permalink / raw)
  To: Kevin B. Hendricks; +Cc: Benjamin Herrenschmidt, linuxppc-dev


On Wed, 14 Nov 2001, Kevin B. Hendricks wrote:
>
> Anyway, please give it a try.  I will send followup patches with other
> fixes and additions I make to improve things but this should be enough to
> get people working until the i2c stuff gets going.
>
> So Daniel, if you get a chance, please try this.  If it works, then we
> have broken nothing for you and we can then decide if you want to move to
> the more general case of using EDID info.  If it does not work, please let
> me know asap so I can back out my changes in groups until we identify what
> is going wrong here.

It works, but if i don't set the refdiv to 67 (like we do for the QD), i
get what looks like a very slow refresh rate (IE when you move the mouse
in X or cause a lot of screen updates on the console, you can see it's
going slower than it should).
I'll reboot a few times to verify this is indeed the cause.

> Thanks,
>
> Kevin
>
>
>


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: DFP support for kernel radeonfb.c added
  2001-11-15  6:04                   ` Daniel Berlin
@ 2001-11-15 12:16                     ` Kevin B. Hendricks
  2001-11-15 21:51                       ` Daniel Berlin
  0 siblings, 1 reply; 20+ messages in thread
From: Kevin B. Hendricks @ 2001-11-15 12:16 UTC (permalink / raw)
  To: Daniel Berlin; +Cc: Benjamin Herrenschmidt, linuxppc-dev


Hi,

That is interesting.  I hard coded mine to 67 but the PLL probe code
returned 12.  Ani said it should be 67 so I just assumed OF was not
setting up the card properly.

Pleaase let me know if that is indeed the issue.

Glad to hear it works basically!

Care to try with adding:

radeon:of_edid,lcd

to see how that does ( I already added in the searching for EDID1)

Thanks.

Kevin

On November 15, 2001 01:04, Daniel Berlin wrote:
> On Wed, 14 Nov 2001, Kevin B. Hendricks wrote:
> > Anyway, please give it a try.  I will send followup patches with other
> > fixes and additions I make to improve things but this should be enough
> > to get people working until the i2c stuff gets going.
> >
> > So Daniel, if you get a chance, please try this.  If it works, then we
> > have broken nothing for you and we can then decide if you want to move
> > to the more general case of using EDID info.  If it does not work,
> > please let me know asap so I can back out my changes in groups until
> > we identify what is going wrong here.
>
> It works, but if i don't set the refdiv to 67 (like we do for the QD), i
> get what looks like a very slow refresh rate (IE when you move the mouse
> in X or cause a lot of screen updates on the console, you can see it's
> going slower than it should).
> I'll reboot a few times to verify this is indeed the cause.
>
> > Thanks,
> >
> > Kevin

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: DFP support for kernel radeonfb.c added
@ 2001-11-15 18:23 ghannon
  2001-11-15 18:44 ` Kevin Hendricks
  0 siblings, 1 reply; 20+ messages in thread
From: ghannon @ 2001-11-15 18:23 UTC (permalink / raw)
  To: linuxppc-dev


How do I get OF to produce the EDID file?
I don't have a Radeon directory under /proc/device-tree.

I'm following the thread and trying to solve the same issue with Radeon -
Mac Edition on YDL2.1.
I've replaced the NVidia card with Radeon and am using the DVIator cable,
still no dice.

I'm also trying to get info on patching XFree86 4.1.0 which came with the
distribution, with Ani Joshi's patch,
but I'll do that on the Yellow Dog list.


Thanks,
G. Hannon


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: DFP support for kernel radeonfb.c added
  2001-11-15 18:23 DFP support for kernel radeonfb.c added ghannon
@ 2001-11-15 18:44 ` Kevin Hendricks
  0 siblings, 0 replies; 20+ messages in thread
From: Kevin Hendricks @ 2001-11-15 18:44 UTC (permalink / raw)
  To: ghannon; +Cc: linuxppc-dev


Hi,

We have the same setup.  You must have the card installed and the
monitor plugged when your reboot into linux otherwise OF will not be
able to query the card and monitor and create the file.

Then go to /proc/device-tree/pci/ and start looking for an ATY,RADEONp
directory.

Mine was behind a pci bridge so my path looks like the following:

/proc/device-tree/pci/pci-bridge/ATY,RADEONp@4/

In this directory is a file called DFP,EDID and one called LCD,EDID

If either of those exist for you (or something similar with a EDID in
the name) you should be good to go.

If that file exists and is called any of the following:
LCD,EDID  or DFP,EDID, or EDID1, or EDID  then my version of the driver
should work for you with the added kernel parameters:

video=radeon:of_edid,dfp

If it is called something else, please let me know so that I can add it
to the list.

Hope this helps.

Kevin

ps. I am starting work to fix the XF86 CVS radeon_driver.c code to work
as well.
I'll let you know when I have something working.



> How do I get OF to produce the EDID file?
> I don't have a Radeon directory under /proc/device-tree.
>


> I'm also trying to get info on patching XFree86 4.1.0 which came with
> the
> distribution, with Ani Joshi's patch,
> but I'll do that on the Yellow Dog list.


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: DFP support for kernel radeonfb.c added
  2001-11-15 12:16                     ` Kevin B. Hendricks
@ 2001-11-15 21:51                       ` Daniel Berlin
  2001-11-15 22:23                         ` Kevin B. Hendricks
  2001-11-16 13:00                         ` Kevin B. Hendricks
  0 siblings, 2 replies; 20+ messages in thread
From: Daniel Berlin @ 2001-11-15 21:51 UTC (permalink / raw)
  To: Kevin B. Hendricks; +Cc: Benjamin Herrenschmidt, linuxppc-dev


On Thu, 15 Nov 2001, Kevin B. Hendricks wrote:

>
> Hi,
>
> That is interesting.  I hard coded mine to 67 but the PLL probe code
> returned 12.  Ani said it should be 67 so I just assumed OF was not
> setting up the card properly.
>
> Pleaase let me know if that is indeed the issue.

No, it's actually the setting of dfp parameters from the EDID that
causes problems

If i remove of_edid from the command line, it works great.
Add it back, and i get the flashing.
If i change the if (use_OF_EDID) in radeon_get_dfpinfo to if (0), all is
good again.

So something is wrong.

I thought it was just the refdiv because
>
> Glad to hear it works basically!
>
> Care to try with adding:
>
> radeon:of_edid,lcd
>
> to see how that does ( I already added in the searching for EDID1)
>
> Thanks.
>
> Kevin
>
> On November 15, 2001 01:04, Daniel Berlin wrote:
> > On Wed, 14 Nov 2001, Kevin B. Hendricks wrote:
> > > Anyway, please give it a try.  I will send followup patches with other
> > > fixes and additions I make to improve things but this should be enough
> > > to get people working until the i2c stuff gets going.
> > >
> > > So Daniel, if you get a chance, please try this.  If it works, then we
> > > have broken nothing for you and we can then decide if you want to move
> > > to the more general case of using EDID info.  If it does not work,
> > > please let me know asap so I can back out my changes in groups until
> > > we identify what is going wrong here.
> >
> > It works, but if i don't set the refdiv to 67 (like we do for the QD), i
> > get what looks like a very slow refresh rate (IE when you move the mouse
> > in X or cause a lot of screen updates on the console, you can see it's
> > going slower than it should).
> > I'll reboot a few times to verify this is indeed the cause.
> >
> > > Thanks,
> > >
> > > Kevin
>
>


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: DFP support for kernel radeonfb.c added
  2001-11-15 21:51                       ` Daniel Berlin
@ 2001-11-15 22:23                         ` Kevin B. Hendricks
  2001-11-16 13:00                         ` Kevin B. Hendricks
  1 sibling, 0 replies; 20+ messages in thread
From: Kevin B. Hendricks @ 2001-11-15 22:23 UTC (permalink / raw)
  To: Daniel Berlin; +Cc: Benjamin Herrenschmidt, linuxppc-dev


Hi Daniel,

> No, it's actually the setting of dfp parameters from the EDID that
> causes problems
>
> If i remove of_edid from the command line, it works great.
> Add it back, and i get the flashing.
> If i change the if (use_OF_EDID) in radeon_get_dfpinfo to if (0), all is
> good again.
>
> So something is wrong.

Can you send me a copy of your /proc EDID1 one file (use hexdump to
convert it to hex) and I can run xxd -r to convert it back to binary and
run my edid parser on it.

That way we can compare your timings and dotclock in the EDID1 block to
the timing you use normally.  Perhaps your EDID block has numerous timing
and the first is not the right one to use.  My code only looks at the
first set of detailed timings but could be easily changed to grab them all.

My guess it is defintely timing related.  You also might want to turn
debug on in radeonfb.c so that we can see what timings are actually being
used under both methods.

Thanks for testing it!

Kevin

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: DFP support for kernel radeonfb.c added
  2001-11-15 21:51                       ` Daniel Berlin
  2001-11-15 22:23                         ` Kevin B. Hendricks
@ 2001-11-16 13:00                         ` Kevin B. Hendricks
  2001-11-16 13:47                           ` Benjamin Herrenschmidt
  1 sibling, 1 reply; 20+ messages in thread
From: Kevin B. Hendricks @ 2001-11-16 13:00 UTC (permalink / raw)
  To: Daniel Berlin; +Cc: Benjamin Herrenschmidt, linuxppc-dev


Hi Daniel,

I looked at the EDID info for my normal Apple 17" multisync monitor and
when I look at the detailed timing section the timings provided are not
"good" to day the least.

        Mode    "832x624"       # vfreq 74.546Hz, hfreq 49.722kHz
        Mode    "1600x1200"     # vfreq 59.944Hz, hfreq 74.931kHz

The 75hz 832x624 size seems strange to me and the 60 hz 1600x1200 would
just be a terrible refresh rate.

The list of standard VESA timings seems okay and we could parse and check
which of these are available in macmodes.

What does the EDID from your LCD look like?

If its detailed timing sections is as strange as this one, that may
explain its poor performance.

Interestingly, on the DFP's there are NO standard or VESA timings at all
in the EDID and there is only 1 detailed timing section that pretty much
explains everything.

Perhaps we should only recommend using of_edid with DFP and not LCD?

Anyway here is what my EDID from the Apple 17" multisync monitor says:

[kbhend@localhost ddc]$ ./edid r128edid.dat
Manufacturer: APP  Model: 9d02  Serial#: 16843009
Year: 1999  Week: 14
EDID Version: 1.1
Analog Display Input,  Input Voltage Level: 0.700/0.700 V
Sync:  Separate
Max H-Image Size [cm]: horiz.: 32  vert.: 24
Gamma: 1.40
DPMS capabilities: StandBy Suspend Off; RGB/Color Display
redX: 0.625 redY: 0.340   greenX: 0.290 greenY: 0.605
blueX: 0.150 blueY: 0.070   whiteX: 0.283 whiteY: 0.298
Supported VESA Video Modes:
640x480@60Hz
640x480@67Hz
800x600@60Hz
832x624@75Hz
1024x768@60Hz
1024x768@75Hz
1280x1024@75Hz
1152x870@75Hz
Manufacturer's mask: 0
Supported Future Video Modes:
#0: hsize: 640  vsize 480  refresh: 85  vid: 22833
#1: hsize: 800  vsize 600  refresh: 85  vid: 22853
#2: hsize: 1024  vsize 768  refresh: 85  vid: 22881
#3: hsize: 1600  vsize 1200  refresh: 60  vid: 16553
Supported additional Video Mode:
clock: 57.3 MHz   Image Size:  312 x 234 mm
h_active: 832  h_sync: 864  h_sync_end 928 h_blank_end 1152 h_border: 0
v_active: 624  v_sync: 626  v_sync_end 629 v_blanking: 667 v_border: 0
NON-INTERLACED
sync type: 3  misc: 0
-HSync  -VSync
Supported additional Video Mode:
clock: 162.0 MHz   Image Size:  312 x 234 mm
h_active: 1600  h_sync: 1664  h_sync_end 1858 h_blank_end 2162 h_border: 0
v_active: 1200  v_sync: 1201  v_sync_end 1204 v_blanking: 1250 v_border: 0
NON-INTERLACED
sync type: 3  misc: 0
-HSync  -VSync
Ranges: V min: 48  V max: 160 Hz, H min: 30  H max: 85 kHz, PixClock max
160 MHzMonitor name: StudioDsply17
[kbhend@localhost ddc]$


For comparison, here is what my Apple 17" DFP says in its EDID:

[kbhend@localhost ddc]$ ./edid edid1.dat
Manufacturer: APP  Model: 9217  Serial#: 50201135
Year: 2001  Week: 33
EDID Version: 1.2
Digital Display Input
Max H-Image Size [cm]: horiz.: 33  vert.: 27
Gamma: 2.35
DPMS capabilities: Off; RGB/Color Display
redX: 0.631 redY: 0.351   greenX: 0.301 greenY: 0.570
blueX: 0.141 blueY: 0.096   whiteX: 0.311 whiteY: 0.330
Manufacturer's mask: 0
Supported Future Video Modes:
#0: hsize: 1280  vsize 1024  refresh: 60  vid: 32897
Supported additional Video Mode:
clock: 108.0 MHz   Image Size:  337 x 270 mm
h_active: 1280  h_sync: 1408  h_sync_end 1520 h_blank_end 1688 h_border: 0
v_active: 1024  v_sync: 1028  v_sync_end 1031 v_blanking: 1066 v_border: 0
NON-INTERLACED
sync type: 3  misc: 0
-HSync  -VSync
Monitor name: Apple Studio
Monitor name: Display
[kbhend@localhost ddc]$


What do people think?  Should we only be using EDID info for DFP and not
LCD?

At least with LCD's we can identify the machine type (as Daniel has done)
and hard code a dsiplay mode for each machine type).

Thanks,

Kevin


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: DFP support for kernel radeonfb.c added
  2001-11-16 13:00                         ` Kevin B. Hendricks
@ 2001-11-16 13:47                           ` Benjamin Herrenschmidt
  0 siblings, 0 replies; 20+ messages in thread
From: Benjamin Herrenschmidt @ 2001-11-16 13:47 UTC (permalink / raw)
  To: Kevin B. Hendricks, linuxppc-dev, Daniel Berlin


>Hi Daniel,
>
>I looked at the EDID info for my normal Apple 17" multisync monitor and
>when I look at the detailed timing section the timings provided are not
>"good" to day the least.
>
>        Mode    "832x624"       # vfreq 74.546Hz, hfreq 49.722kHz
>        Mode    "1600x1200"     # vfreq 59.944Hz, hfreq 74.931kHz
>
>The 75hz 832x624 size seems strange to me and the 60 hz 1600x1200 would
>just be a terrible refresh rate.

The 832x624 timing is a common "Apple" timing. The 1600x1200 is probably
just the maximum supported, don't you think ?


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2001-11-16 13:47 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-11-15 18:23 DFP support for kernel radeonfb.c added ghannon
2001-11-15 18:44 ` Kevin Hendricks
  -- strict thread matches above, loose matches on Subject: below --
2001-11-14 17:52 Kevin B. Hendricks
2001-11-14 18:20 ` Daniel Berlin
2001-11-14 18:28   ` Kevin B. Hendricks
2001-11-14 19:04     ` Daniel Berlin
2001-11-14 20:15       ` Kevin B. Hendricks
2001-11-14 20:19         ` Daniel Berlin
2001-11-14 21:24           ` Benjamin Herrenschmidt
2001-11-14 21:54             ` Kevin B. Hendricks
2001-11-14 22:14               ` Benjamin Herrenschmidt
2001-11-15  3:13                 ` Kevin B. Hendricks
2001-11-15  6:04                   ` Daniel Berlin
2001-11-15 12:16                     ` Kevin B. Hendricks
2001-11-15 21:51                       ` Daniel Berlin
2001-11-15 22:23                         ` Kevin B. Hendricks
2001-11-16 13:00                         ` Kevin B. Hendricks
2001-11-16 13:47                           ` Benjamin Herrenschmidt
2001-11-14 22:14             ` Daniel Berlin
2001-11-14 22:32               ` Kevin B. Hendricks

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).