From e292590b822ceaf6a832e4623e31df19cdeb8760 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Sat, 29 Aug 2009 14:53:51 +0100 Subject: [PATCH] radeon: Use request_firmware() Loosely based on a patch by Jaswinder Singh Rajput . KMS support by Dave Airlie . For Radeon 100- to 500-series, firmware blobs look like: struct { __be32 datah; __be32 datal; } cp_ucode[256]; For Radeon 600-series, there are two separate firmware blobs: __be32 me_ucode[PM4_UCODE_SIZE * 3]; __be32 pfp_ucode[PFP_UCODE_SIZE]; For Radeon 700-series, likewise: __be32 me_ucode[R700_PM4_UCODE_SIZE]; __be32 pfp_ucode[R700_PFP_UCODE_SIZE]; Signed-off-by: Ben Hutchings Signed-off-by: Dave Airlie --- WHENCE | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++ radeon/R100_cp.bin | Bin 0 -> 2048 bytes radeon/R200_cp.bin | Bin 0 -> 2048 bytes radeon/R300_cp.bin | Bin 0 -> 2048 bytes radeon/R420_cp.bin | Bin 0 -> 2048 bytes radeon/R520_cp.bin | Bin 0 -> 2048 bytes radeon/R600_me.bin | Bin 0 -> 21504 bytes radeon/R600_pfp.bin | Bin 0 -> 2304 bytes radeon/RS600_cp.bin | Bin 0 -> 2048 bytes radeon/RS690_cp.bin | Bin 0 -> 2048 bytes radeon/RS780_me.bin | Bin 0 -> 21504 bytes radeon/RS780_pfp.bin | Bin 0 -> 2304 bytes radeon/RV610_me.bin | Bin 0 -> 21504 bytes radeon/RV610_pfp.bin | Bin 0 -> 2304 bytes radeon/RV620_me.bin | Bin 0 -> 21504 bytes radeon/RV620_pfp.bin | Bin 0 -> 2304 bytes radeon/RV630_me.bin | Bin 0 -> 21504 bytes radeon/RV630_pfp.bin | Bin 0 -> 2304 bytes radeon/RV635_me.bin | Bin 0 -> 21504 bytes radeon/RV635_pfp.bin | Bin 0 -> 2304 bytes radeon/RV670_me.bin | Bin 0 -> 21504 bytes radeon/RV670_pfp.bin | Bin 0 -> 2304 bytes radeon/RV710_me.bin | Bin 0 -> 5440 bytes radeon/RV710_pfp.bin | Bin 0 -> 3392 bytes radeon/RV730_me.bin | Bin 0 -> 5440 bytes radeon/RV730_pfp.bin | Bin 0 -> 3392 bytes radeon/RV770_me.bin | Bin 0 -> 5440 bytes radeon/RV770_pfp.bin | Bin 0 -> 3392 bytes 28 files changed, 58 insertions(+) create mode 100644 radeon/R100_cp.bin create mode 100644 radeon/R200_cp.bin create mode 100644 radeon/R300_cp.bin create mode 100644 radeon/R420_cp.bin create mode 100644 radeon/R520_cp.bin create mode 100644 radeon/R600_me.bin create mode 100644 radeon/R600_pfp.bin create mode 100644 radeon/RS600_cp.bin create mode 100644 radeon/RS690_cp.bin create mode 100644 radeon/RS780_me.bin create mode 100644 radeon/RS780_pfp.bin create mode 100644 radeon/RV610_me.bin create mode 100644 radeon/RV610_pfp.bin create mode 100644 radeon/RV620_me.bin create mode 100644 radeon/RV620_pfp.bin create mode 100644 radeon/RV630_me.bin create mode 100644 radeon/RV630_pfp.bin create mode 100644 radeon/RV635_me.bin create mode 100644 radeon/RV635_pfp.bin create mode 100644 radeon/RV670_me.bin create mode 100644 radeon/RV670_pfp.bin create mode 100644 radeon/RV710_me.bin create mode 100644 radeon/RV710_pfp.bin create mode 100644 radeon/RV730_me.bin create mode 100644 radeon/RV730_pfp.bin create mode 100644 radeon/RV770_me.bin create mode 100644 radeon/RV770_pfp.bin diff --git a/WHENCE b/WHENCE index 578d859..00378ee 100644 --- a/WHENCE +++ b/WHENCE @@ -761,3 +761,61 @@ Copyright 2000 Advanced Micro Devices, Inc. Found in decimal form in kernel source. -------------------------------------------------------------------------- + +Driver: radeon - ATI Radeon + +File: radeon/R100_cp.bin +File: radeon/R200_cp.bin +File: radeon/R300_cp.bin +File: radeon/R420_cp.bin +File: radeon/RS600_cp.bin +File: radeon/RS690_cp.bin +File: radeon/R520_cp.bin +File: radeon/R600_pfp.bin +File: radeon/R600_me.bin +File: radeon/RV610_pfp.bin +File: radeon/RV610_me.bin +File: radeon/RV630_pfp.bin +File: radeon/RV630_me.bin +File: radeon/RV620_pfp.bin +File: radeon/RV620_me.bin +File: radeon/RV635_pfp.bin +File: radeon/RV635_me.bin +File: radeon/RV670_pfp.bin +File: radeon/RV670_me.bin +File: radeon/RS780_pfp.bin +File: radeon/RS780_me.bin +File: radeon/RV770_pfp.bin +File: radeon/RV770_me.bin +File: radeon/RV730_pfp.bin +File: radeon/RV730_me.bin +File: radeon/RV710_pfp.bin +File: radeon/RV710_me.bin + +Licence: + + * Copyright 2007-2009 Advanced Micro Devices, Inc. + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Found in hex form in kernel source. + +-------------------------------------------------------------------------- diff --git a/radeon/R100_cp.bin b/radeon/R100_cp.bin new file mode 100644 index 0000000000000000000000000000000000000000..f1e8a11258f47f996c98b0835a6fc2d9f378b31b GIT binary patch literal 2048 zcmdUwJ!lj`6vyArZPrV?m{lYOzt}?)1tSTH1_b308)1XjM1&}udd374&yUHa(iNkH zjUs+D7AZxMv#=0Uh=qcMsEt@yTtJgjOFRAlXLigboQ0(WZ+`pUym>S4&Frp-NM0)F zMIuWdk53`wGl-lS9*oI2-g}80K6w3>(Wma8CLhPK9iOS~rvABBtC64L_zM|-Y!87> z>7XXEvv1>8fbmyA8tj{CSCUEQNMCyIrQ;qb+jkB0(=Jl|ZWu7EtcK(v>qQCx#{bRE zeXKI`GRYRwmy>mH-Y!+@h+71>{=f_vz>nm9>M4yKIw`-h@-PBuaxfJ<ADN!x^)?68Jv`OH|e}myl@EQ-5?p4HwW>G z2dJZtjr-&L6UHuj#QMphW`5r65bw3x=RNsKdapvVt7oLbdCJdqGY;!!b?GkCj`%L_ z5$IVdgk#1Yh5*Lf6P|Nc5;PY^5ebKy!^XDR(^;a@g1Wf!Z zpo>dCuFt$^SJIZA=i+mUOdKEkyJq}ES5lq@Q73)Q=!@sM`(xMVdZWhAzUMhS-!Xbi z0*K0$^f8e8;rC;4o?QPf>{5`*w{X_cU9zM5v_z1)T`UUOS5AA41 z52V#7DrJEC0U!EJY_l|VY4@C+qnZ!ua%8iS?sy>kuX|V}Aw0+>>`; z6iu6b^L>5~2_!*psQDdn4f$6OLvi;^$wH$aP8n=7W;xN`Jfw>& z#0Ns5g5YbRu1X~k3xz^`MXFu3i$WJg5GF1RF0@Hj%}W3O@0^>7AwhfKyTAKA&$-_@ z_W-~UntTF@XUx|hDB^Vr-kdsB6Kl1J_r$5m4?Z&e%g^VGwVL<;RU4PSvADP>uGTjH z5HJ7Q+b{mMw6sJFpidfbeDvU9Li0RI*=8S+U3x^~`IlZCBOEY$&sZqSyq}U#o&c%@ z{SRi>yaSf^Q1+A<)K~={;?J61;&Y5kN0EN?9@g4%^}(<$ys(2u&5xNha3*k;EC4g=yXyT{{$6=cD?i5YcK>emw2uEfUmiEeoKZ?n z+HFYJKIY8rE~-2w<@M6&5M7XSAENRZ@)3%tIy$M$A3r6X@soiKZ-?p8?-N&KKNfwxCPqJ&#lhi5 zb6R>_swht1?R8YFKI`Rmrsyl8T0X0Il*9UZGM%F$GHBl&`fQyJy^uZcpXz={;X0u@ zTBqOFyq^epv9DXg5&zwBuy=TSwEFga%TM?ON~q&qQuR)gL#U@~WXyZwoXEb2?fH=U zb>@9Vs{T2AF-};$_sP7D@-&~;ExSW^*pI~WV$Ofw>`0q|>L0&5eckI;H?OaH{`>ts zP-4u-7T1vxaHV?sDyjKCHP-P7i7J}wgwDTsfO3&C$p8M5>^ukGc)k1;$pY!OvU5J! zIZQ90%M=$_Ku^XP#f5cZZpb1qC(!s;&-cjz+(u$~?+Y89W=OV|(Q zjhmhQcv*g)o0bebA1j`SNcHPa=`r5Wf4g(A&fHHlia!V5@SJ}#uo5^-^82t6^u7F> I^zS6pKF zND!3~RPdk&5icr?Z-iA*!HWnRl7W>ROb7_#LI1zIHd!Q!1J!?j)z#J8)ib>!BC8~a zRwS_Mp?eoby$6$Bz14=+^XE6yx8*iapfh-CzO{epH${L$UlBcd6{ykyxj7{1?3gWrgdBCJg(%$01O>`J|qP(4}uKg@Gq$v}~ajq6KSBUK~`ji!^MR8P8!ne*1b z@I-8IzP?pS<`^zD+$xU09^3+>GEW5*^P_Gu*6CB-Y5meeF3sNL`{AZKeF)+lqiyT5 zxh-UGVHfAIww9%92mQ!b$iw%gQbK>L@%ugmOoB0WL~bn+xYFd@^>FMJR2?IYU5-Z zl)szrIrE>OUuMcMl<(|$SR20ki}d5%A6oV=K`|kDL_gM{ACKX*xgF@QGR`#4%Rvuu z5gkzT{-c}!lb3Sb$wt;+O+kEmC`(P154|xQptax44X7(|MCLxO!+h8+SmB=JKJLH@ z_m?Y^d40Iyuc3(BpUzP|jNfKQ?^o9eNa6-_az>qiGBsZKZk!;ghdU)|n=PCh@<&7$_gRh|?03kjy&qA}9NCj$)~)bhUj8|N`a<=k)vv9pi&XhP zz`Bko|80Df<4){Dkaq?}mcu4soIeJ`dLcwm_MA~|rtZ~7bJx34XMR8D|AcXVhMJOy H`p@S#jSlp_ literal 0 HcmV?d00001 diff --git a/radeon/R420_cp.bin b/radeon/R420_cp.bin new file mode 100644 index 0000000000000000000000000000000000000000..bfeff601642ab35e1e8288ec7235cf2add37f398 GIT binary patch literal 2048 zcmc(fO^8il7{{Nv^IlHe`AC|^jNyz1L(-&4lhqmA=#Gt#VW-IWC}k)g8#-o;DT%~_ z1)T+1NLgUvBZmwYmnoyff;;KdwKGjAS@8eA?{nwQV#Lm==l!4G^FHs_^L~hktd;^w zk-({k-zzZcRhZW7if-z^X2Y}~89zCQAk-0)NC;2r0` z*Wcey&eaS&fEdX{#15&FS(c@ES9!MbedRjkEz0%E-O3HhTb1W3Z&RM9+@kC&FH~Nj z+@{PpBl0a)UZl+RaK5d|oytockDXFpraYj$T=}#z$3g#NgUTzEL*;hI;}?}zDxXpA zP(J6h*i5YmB8V_IYhXt5MY54bsi1nY{$H5;zKVe&5ewr>wuvf|gjO@jNvbE=$;@`^ zVE7^y*k9kNB-NHHEw@U_-w1AjQQ1!o6z!ufGREmq-R=CciCme#!Si9#YkUaeQdZkG zk7Zu+qDL{IHhnJFTOL z>CF_V9_lagN8c@z3P@st>Vnl&Kq=Rk`bh;zBiv~TlNqYan2`l2spb4!2Q%)mRhK8S z%TqJM#iT;3_1M2#_zOD20v#=|+prAI6+dXA_bAJJBM;$CDDpb~hN|}$_tpnW;KiGV z`GYtXjC)I+B5s5Mlj8VpPZf8~hG~D5vBxuA%0K##hz9q)z#p84QK#_gD+G>Wvt-ox1b9Sq}z5JB1t6tJE@ z(esyy=x4i6Ft+;$!xynIGRMW2-p921J?V7kx7_|G;@LjOhX461--jmq)*ETC`@?lk Mo~MWP{B^#+0jbU8wEzGB literal 0 HcmV?d00001 diff --git a/radeon/R520_cp.bin b/radeon/R520_cp.bin new file mode 100644 index 0000000000000000000000000000000000000000..1c93ca90f1d755acc2f0998266f17e9c9157cab5 GIT binary patch literal 2048 zcmb`HJ7^U_6oyZ3Cc5ZN3=$;fp_>pjiik*%V6`z`lp70;Mms_A34&4Z(I{(z2qKDT zp@p)AVj%$wweY!$j}%u0AB}=+kkxCY5)i~f|9|G(Bm_kZ7iPcxX3os)o|zpHk)@L0 zE)qC;csz$fo=1^g5%+ql8LzCQZB{PX+d(X08_ zNnJO29g&l~6S$N7SB&Ur9?0@(hGoPQ0~+nf)dR$r`sOub$G zgk!OZEDIt)n43-%BZVT}NWGMio~-y6=ejRpph(1<@g>(tilm`sHa$#wk{j#nw;Tmm z#2ePvca*fsdb#yh$@r_`%rVJvrhw=lbSMPz`2J)6pnKX#FgI0ZDbx1yRT4HWFzWF-0tU0 zA#(NnTiKo+Dv%YGLr<*-xV!y$5;PJ=biU7V6d&ajO6mOJ`zG(t>o zHX%K#gU_T5wy7L2hc}VxnA!KegNMem8LUGvaWSapk!#{7#$~t3Il~avt!!$CcRp zW@4XWWC9^=DDO}>?^_hSX9x(EDUsbG literal 0 HcmV?d00001 diff --git a/radeon/R600_me.bin b/radeon/R600_me.bin new file mode 100644 index 0000000000000000000000000000000000000000..39396852c346fad24e47a906d31513190272502d GIT binary patch literal 21504 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 Y%+JU-=Vuc(tzDicKdo(^rJAJwUxUtmD*ylh literal 0 HcmV?d00001 diff --git a/radeon/R600_pfp.bin b/radeon/R600_pfp.bin new file mode 100644 index 0000000000000000000000000000000000000000..b1b2e951b6248a6bf921b0e43c49cfe5b7b69baf GIT binary patch literal 2304 zcmeHIUuauZ82_E*woA9Dfkl_5X%jTXpoOk&GV9bXtI@8k2;vlcaCWt;fBR>)_@KG% zS<{C~#;nlHv~;is1>e*M5n&HW4Mns2Fz}`mnIO`~p@ktn*55g|sR{PcM*}}@zWbf; ze82BIzwcbwxBwgPqHF-y0L;#3A>r1xoovJJXsh#;0=+0lfpQGUUHlxS&~bcMpzR^N zKzimh*3p0!zEi&R%n%AY+b}u|99?q3YzGp4J`;z~e#VV-MWTJpja5+!B3t_I~wLWA^ts@%#D8 z0XW>G%6Eo&rnOz|L)k~aY$n$L>pHT>yFz}y5w-nRF}57m@e(e*)_HgCU++|%ijOTH z;NFDFFTT}1+3@t~KB(Nw(m>hIo<#1#jvPj1_&n@iL#RZE;Sf2y&=?V@i^=@87bEe$ zj;rm zwk6IwXT%y5pM%6EX1L!mZ1|GM%LA}_6Ud4CxGoHPctmrzBO|cBz-qy*ZJYm9op&(DcjdY@mfy|2h>#oR$3!Iqv)PM;6-HtzjP&*m zq;F=i$a9;$oYga@_fz^|epR34VZ4`MeYN{pQQ9##5~VPXeaXG1P9whUJoVnR&Bco_ zts-Wh7nseRM0#l+X?q>%g{o}#4m|<`RgBo@+h;lFfsaw@f ztBc`$$C?52L-t(y z5%Y64cQslLQL9mq3$LYl|`}Nh4q4C&fodi7vb--os16#4x;Eoxlhl$7{qWah@0>UMJqb6L=H-cngEv Uc@XaqrQ?b*Fw`N-iu)sOKv)mO2`z3K1oCqIkdzM!7I7r&!E92gj& z#uH9Gh4@lViHoH{CMiqxy76S=o5oX&*Bdt(_Zm+%-e5ejpsTZI%Yi2__*G3&>AEjB*w zwAxCoi&BWNHp^kYRH|fOnx&2!$f|$g06|L_=$3)_p>(wX@V!N%S}u-K1L+#gd~YQT zSIQgaH*_jRqjJ4+hj`&ya6633JQJXJKkX)?pFY!V&M!UW`pQ+V55KfLgdomS?Oa{S zH<5$cU3`zVbu3+5=|{d=9PTI$fl*hjV<||AyT+_@33VM^XSTD>9N!JLBR}IyR(G1c;BZyD>D7qqZ_tMiKd3G-t-4-v9GP)1 zslSPP#eh+97XiPEyQE>3uRaU7hidbN{3+4L`I7Si;~jMB&MVZD{i87N&zhft_o|Of zADcdL`l-Wojw#P&*7c3?pW5G|T_msLO5r^6JFp)j{f~sQ=A-&0XFZwk1KG<$2;#?3 tWFhP`jO|qzzB7RcrYTqbPq&eE-J)l`FH^N%?EeRh{m0ajq}0D&zW`pi?T-Ke literal 0 HcmV?d00001 diff --git a/radeon/RS690_cp.bin b/radeon/RS690_cp.bin new file mode 100644 index 0000000000000000000000000000000000000000..38f11b40ae5324d09a7d9156f064c3a7a40ea8e8 GIT binary patch literal 2048 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

6}{<)QERx$=D8L#g&__nrQ{gPTrQ z1saIne+SIAeTIlOj-8IQGH1*t?=!d7Ce{n7H zK;?Ui1s!uZ21UL%=P$}au*Zn+O-6HtRd~0j1RG`mFvYBWZs%oa|G7R>eh<*a06gOP zO#waj`QwZ%ShO#vm(yN~!_1RYGwB98yy^@vpHEt-Ivf?{b zhAzJX@k;SQUv7Q`>_cObO<1nLGd}B5WQ?&aHzNnLdke4O87N}DE~8!krdP8rvW!10 ze3q655skYFMH)OyW@2pcEX*fcBU=ppfZQ^@?kI2i@$&N&hy1!jvo7Z6Buw8?p+{RA zZyRq9_z>@nrp<48>X<)JTC)f+stg6P@m*Z^?E0)HeV3xzCI4jTCG8SQKcKF21>c97 z@9S3E{*Iyv+QwZ)Uu`?!j48#SpagBrSXA4V?8?Y|TeYphSKHPG$b3h&tr_2H+tM1O z#6OUExJzzTT`g~KnvaqI?-n|nvA)SX{JL;_2l*pgTYQ)cY5Zl1xrQBxSY+qNm1Ikg z^|j4HJ|4#Vjc|VJJ1!1{@4lXsyY~rYJa=c%I-cPo^2Fku%H2w4v85my<^#0tx&@#~hJ zO(B~KUKM(rLpl2E2hp=F?Agh${Y7DsOYk@SB|&U_#I`@CcVms%im!Y#HU|dt(`+BN>`zt$)WJam9*_a`t-6%X+OumpIlxS zL!@9GTCkV&Ngz9wvEU6=ip&7`Dd{c5JHL}8ICrB?8n*RBmr#ukg#8xt{uOL~s>{4I zMeZ%ZncZo8$A70YjCWIAtS-xD$M>c2d9om%^x5h-V!XUBuSp)+QTje&ZuC}kfb!Dh z44$3uQ9Iw!exZ8^d}qG!-zDwvXPVeY3dgHpyV@&M>$a-TX3ax6TkKjx9X`2vKXZQf zwU-9?Y z;z5pcEB!41n<6gR{Ku?wYs$WZ{LsYP+CD{Z)`oy_w(fG^3j=sAfLj5KeI!S}HGsDT z@P+`!KA5KO^}2Xoy(UG!4T}fN^IRkU=3YR<^IZE}vljkOeq-Xlp_ne3>oV}rWln#O zT+v%S(Ax#Mv9b5Eg&Wf_h8+8^5RbMhzVYxrz;DhQdLH~x8DEJ-19N74voJZx7tXiO z2$uL>+nsgdy@;mL1HKhSZW)|c`ge3Uqiu_#piBkdIA_4?oRm3a)AuV26Mv@3@$HZQ zCKUUD(@Hk=(B^ydAC`44a(MrjF~5)`vim%M>vo@q;=6qwzC+t^d$7>YWM=vWZ1!-7 z==&C?c70_WgE^)7M#NaH!xU}ZK2l%2LQamts5p1T?Ty+-jDo4RT%_)!Ii`BI_qcVpl3!N89w&yb?U`dzYZI}AK6jpm$z z>(aFEHXnbi)OKOF4MLI4tk%kwgf&8mH2o$ z_pU!R!j#zx8Xslo0A}6Bu z@cpQZaE|c#q!evMqwL(~8m2OCyaW)8NIp%NPdUHN^yvpSw0(_qiG1=jH) zxRDjh>h{*m_ldP1s5ZH(Ss}l2?>?n6=iX)77`zMTXduoD!TXQ{X~1)M6?}d)kk7K` zXoK~MN!;y!MjiBQ^t>9qEjtz~>QlXcGp4`ytgE>s+{@ixKn`7yU%BsVkn^~2!#4+O zpUnS%7k#-zY8m0VbY4M(i6@m@B9#T7^I)ItS8ZE8ztl5aBgb?9w-0i>apiY9#|zrd zjXh@CZpOQyvzCu^93;~P;d=9<{4sW3kw>PxyjkDMdO+Lln2=U#djUzpw%YIbPCH`A z%HL?b$;t*UiM0)+|KU5;!8b~!_fouX;=Po>#~Xpa@IA5ZN=6Z^7wr35m3QI7_tuPk zq7CBGn&`1Maef;1TYfK2#V8}unV&NnIHQ3x8aShYGa5LfftOta(WSMK+R6Azb`(7t zU7KElcP&xkt?^m$mCdiFR)>1c|i4Dd`kmCmM_g6Gp#x;I@Q%x6sx Vr28%Go?UU*JSDELtIvz#`M<54lOX^A literal 0 HcmV?d00001 diff --git a/radeon/RS780_pfp.bin b/radeon/RS780_pfp.bin new file mode 100644 index 0000000000000000000000000000000000000000..7d89878be37d01b9552d92b269b272b39d348ef0 GIT binary patch literal 2304 zcmc&#T}+!*7=BLs4a#V=3DuQSe$-a0l5ArwA;dUf)1iQdM7?s8;Wq!qSOiT>zOS57 zE->B9Oz13=8M4I0c;ocK>lQ1)@?9+PE5wM)vT#Xsi7{T{b51E1$A$66CQrVe^Pcy8 zpZDjy2L%I|2auRd!E~n}#n1ZdbT#2uG@(+S4|Jdq1`1IiePJ2-P$$02a_u3!fH~fW z1?<5r_ms>W??-m?HjGve4qSG@iU4sxzwuf`UaE#!l!(k#Bb_x+L<17P5c_2$lk2m^0HbGm^P*lf!#D4-%(zJcR&CaY@B>Sj&}i)Bq%3t`Rp#34tWZf`)f^gAiMB9|?36*bk&XFhY*;Dmaz8(1> zxe`39^O0@BqUVUNiHc=L8YuXI^_Jh^wA7(EbQ;d>5Q;6tP>4AIs#?TOo#da}IudhQ zuhM2F`J0wI%&Ei;T42BV+priog1l!x(p`Iy_a4~htYS|m|3Kb%kb8&dn;hmt+dS6A z3D!Z?qr^qkXfHXf;C+?u6cee4|mORKj z2N8`5+N`5JH+eO{=&I1DL(T*Avqt|TumioUdyw481slA3 zL0riewM^F(=WvxhqRu+}uj1Rl1o!M6XKcTlwuq1$*2hFK39H_VxZRBS`DU1Rmto#a zVVe4hk5c;HYkTS*(Z7n%_E6tTFuqEAc9`p^8}WQI+HcU-`98$%mcH6H*Vgm}SauGH zL4icN8|LLnn9c&ssg&k#UQD5NS}<>)Y2KMG_7>x@J^l1KK%c$r;}Q=k!a66mr;TUY zFf;kB?rGKYDt^^3<@vGW?ozJ$y*#Vby;U=;*cH=ysxP93p?gC0h113P)q%g`RU9#z3>S0R(FVl7_4EDYv(Y==!fXUIU?W?U+c*v$YUoL^}?gxthtDK6GP z&sy0?o{g}+P9fLh!a`QCzZ(%-yARg!eoTz@W0hRXb;|XCXMmbHfrD#4OuSY)V?_CG zB_)bqj8gxM*4e-bEQMVf>Yk{1QO<{Yr{osT(wF&Vj@5rXL-=3a1NHy^{0T7wm-v(~ z)i=!cb-vziRN*kH+4COpB5Lp~_M#m=@e^O8@A0rWjz`2| zF^DISz>_$M{fw>+Um_;1Q+pIoi4SNsjc)N3j*3CNEUw@caScPL<>?q-!VbJnoFYyW hXNWh5H_?f=(2cjzi+6~##0YVY7$wHYi&Oi*;xDc|FvI`= literal 0 HcmV?d00001 diff --git a/radeon/RV610_me.bin b/radeon/RV610_me.bin new file mode 100644 index 0000000000000000000000000000000000000000..66d265c4ba874cbf8539360a479d141c5000adbf GIT binary patch literal 21504 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 PiBV#V7$^9}_^>BGRO7Ql-^Uk~ANxph~59XNy@ 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 PiBV#V7$^9}_^WtP0EiG87 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 IrI^qE0ZlgX^8f$< literal 0 HcmV?d00001 diff --git a/radeon/RV670_pfp.bin b/radeon/RV670_pfp.bin new file mode 100644 index 0000000000000000000000000000000000000000..18c3546d38a76302b438a914dbf6852e5cf5e9c4 GIT binary patch literal 2304 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 literal 0 HcmV?d00001 diff --git a/radeon/RV710_pfp.bin b/radeon/RV710_pfp.bin new file mode 100644 index 0000000000000000000000000000000000000000..925b36db8f22e4f124394c82c6411f87a26548a0 GIT binary patch literal 3392 zcmeHJTWnNS6kX@uX*=`|Wg;b1E%aInbfCl$5qw}cGY}p^K@<@aQ62@vCyB(wcyD_U zKlsonhL$&!#t%RIFb4lH9uiHiW~RlYQ9c?)gNZT3kPsqI$F--OGO5om6B8!cIrr?d z&)V;OCeQ}m0NP(Sp5Z#+0yzVHN<#-_XHgw$?%D?xWHmaCbAOOEi0V;q=U4=qlmUX{ z#xZlR zF~*X5L_hfn+Tf5cykUOxn~0}#7&9vg6^=$+{3qt=I+QG zi@x+JsNBh(qn&^otA!#tdF@^uvJs+N$YR>jo5vzyl)AX5GeQ>V? ztkW+ONQ$047BR^~zwdmOKZ6Aa0Z(GfSS-zVV@cjeCclo(PrIw-u zChxJoor{u)%bE13;7I?LYB^`!>v_1>au!+2WK*?hV2vc%*HsTZ$^Lx>-hP9M@G0$4 zZ+1w3Yl^cc)q*(B9-Mg&igv_OX(Wcuv#ir3`yqRG8fq46=?$p0Q7znq8n?&pMWSp! zp8I&&ek}K~vi-Oy;a)#rFe*yA*A7A{+R-ZbC7T(udqh{4#T7XlvSIlFTkP>x@|J(M z6Eeqe+EoSe&zH+_mbsjrE@SG3Yqc95v$7_pF}|roXb3033&(437w@;fYdq#HCYZy% z(*8b!Y!oL(f|MlD*J0cyemBEST|>jP57E$Z!FtW-2iMfL!8P1vRG71>eI-;o6Cb=| zoS@%2!3pDuAHmz&yZ1O0<9AYQKWOo(*dVcyxJWD*hZiM>BWJ42q!JZph2`F2w8TT| zq*M!=YT<{ix}|9id+7<|2N{bz{o1+@zO3x^tes?0aTZR{ZM-RM?DzLfLh4QC05Nr^ zMUB+jr~%Fo`rKs@@8x+k3lsKg_6OG~?@PX&Wx46Vep~oeWC!0InHz?AQazLTu5{DB z(C}TW!vwLh?G)miTg82DEc=1DqLVC$e~f!W(LeHouXKVnp)2a3FdUdA(;(wmoe%X%JqiQUAZTCc6I^OJKCn_6@rV}3s)L1 z++oJBFXF)kAZGCh|?s3TeLY2H}s^ z3x6McgZDkTUtD>=6tf%i;rdzH|A+Z7vW5ohv!p4-x! zFPJ0G#V5X9m7|lW+z(W-AI34p6|C7uMq-z8IEZ19Yvuo*;(w6qpRm!GKPM|ZLw_jK zK@8@DzQ}AO?Hc;#a`SgH0{`y_xK1Nt&NNiuC>*$`#9UNiD&lH4MqvS}F#}0w5ys;@ z8r3(Lq<+E_EThEJ@YQW-#=A&i1*TyqrlSpa;w{X?Y0PqFVm7wpK2?pm>Kf(|KSM1G z)E+EWhp|L`j)(ZS=`m+ARy#AWj+)jJWdqXKNNOW(B5fvZAw7dR*h-XVu?WwRo+rIP WdXe-JX&dQf+WDHJnUISAihc*zfA0SP literal 0 HcmV?d00001 diff --git a/radeon/RV730_me.bin b/radeon/RV730_me.bin new file mode 100644 index 0000000000000000000000000000000000000000..09b8eae0a4f491f5f1e4c4e12c8dfbb901dca63a GIT binary patch literal 5440 zcmeHKTWnO<6+tXcXs9Zc zDD${ZA~hc*swyxxBn@^^L{y@pv}z;uBgaY~qw0=5Nh~#yXhg%KG>TL!&=v*b>Du#1 zjSKwss~BDOJ@>5rIQy)<&lwlSCvn@saR9D^P6yDkHc}#88?m^pplV@8vnz9nIq&2GTRtZ((Bm;6(F}j|5VYt3%AzkDXg&jPd=+(>kHa>q)DoDU ziTPVo_Z8P3f$5G|-5Jg58SS%r1HXjsYSx}3HY)ip>whM_3>EU7-^%6N&1{r##F$Cl znXYFZv2zE(zfsNFI~ue0r6VxJ<}qT;74SR{y;pJ{xB^h$mtJgK9PJzawThxFdD)Io zhEu&xIQ0wFJk~e-Tl&(*Muy)dUMu4NO8jqbf&X0*{~qzO2C;vM__uF?|9uhvK5>5| z?wwoU{!qk?i{!qql6{apXs*G$)=kg`ZTMU3f=Jh6HaVG>%r%&6jZ&vH%sQA3jCiJR z_=IX9cO7`!PFg?BbC!D}x`Fes`|Vs#-l_K#_4bqJ)%~DNO3`Qjc9i^=_+yX5$dIEM zZD>;64b7|{x}Nw@`GpT&7g|{(p9u8PdEA@rz<|nqKKjayJQJJIENhGSc#IqZ>xVUv ziCKFyebzn)_>6HGYCiY9mYlNk>okRL0}7ORE@+tx^bxbV$+4cyh}BCy%_YxDF^g@n z8;>bOPQbf#2Xd8NSkdpGBCazg#@rBv!L{`q1B_K+c+4=!eyu95+eq>`Y6BHJ$o)?d zJgQJ3oRXZfzOCes9jWh_M7ksNQAHE}#=#(4IOabU){ ze8$)_eJt;#Tpe|$-i&<8dT(bg+nLLDg?@!ul7}(oevG*vo0fYAtfPNGdSUPLT)yP{ zsKb0kFh}O3@Af;npGj_6qYtP`_6FwAf&LYDB-&BhJJkTKxe?XmfZlJzqnco!}d2vVOdv7EQ zZ)*@$^jWna!kRj%z4;SIyytoIzN+>LfBwSwt0*r~1}XpUjtrlmyvp%x*4WAb^Uj=9 zQ#MdGP=+b*2{fXL@4;k`<A2@#&3HKTXN|^Lp9%KG zq=qh0(->SxuIAWPtv_syD9IP#2aC~Vh647u@bp%=M~VA-0jF+<`v!3v3%ILi zZ)5K<;vO&JoZH|w5x2R3J9|67PY}1IfSb4-ZYy!$EZ{Crmi%Vh!_3Wp?yK4M<1@z0 z`3>_|&(0V-H;&KFz)#E=U%ufUo~|*@y6xm+@ky*v$h-q&Ii7A;_C6gnJ|_MG`E@Q` zZ=C13(#<pT%SPxA3^W zADi?aVv9bAZ|kq%JNhYf>c7I1y21|qkJzb?W0(FBcI%hWrGJKQ{h#R3KS!@Vg*}Fj ly+#@K85Q`hQHiIFYJAUl65ltv@wBlUaibnp#)1F!^KSwcc-{a2 literal 0 HcmV?d00001 diff --git a/radeon/RV730_pfp.bin b/radeon/RV730_pfp.bin new file mode 100644 index 0000000000000000000000000000000000000000..925b36db8f22e4f124394c82c6411f87a26548a0 GIT binary patch literal 3392 zcmeHJTWnNS6kX@uX*=`|Wg;b1E%aInbfCl$5qw}cGY}p^K@<@aQ62@vCyB(wcyD_U zKlsonhL$&!#t%RIFb4lH9uiHiW~RlYQ9c?)gNZT3kPsqI$F--OGO5om6B8!cIrr?d z&)V;OCeQ}m0NP(Sp5Z#+0yzVHN<#-_XHgw$?%D?xWHmaCbAOOEi0V;q=U4=qlmUX{ z#xZlR zF~*X5L_hfn+Tf5cykUOxn~0}#7&9vg6^=$+{3qt=I+QG zi@x+JsNBh(qn&^otA!#tdF@^uvJs+N$YR>jo5vzyl)AX5GeQ>V? ztkW+ONQ$047BR^~zwdmOKZ6Aa0Z(GfSS-zVV@cjeCclo(PrIw-u zChxJoor{u)%bE13;7I?LYB^`!>v_1>au!+2WK*?hV2vc%*HsTZ$^Lx>-hP9M@G0$4 zZ+1w3Yl^cc)q*(B9-Mg&igv_OX(Wcuv#ir3`yqRG8fq46=?$p0Q7znq8n?&pMWSp! zp8I&&ek}K~vi-Oy;a)#rFe*yA*A7A{+R-ZbC7T(udqh{4#T7XlvSIlFTkP>x@|J(M z6Eeqe+EoSe&zH+_mbsjrE@SG3Yqc95v$7_pF}|roXb3033&(437w@;fYdq#HCYZy% z(*8b!Y!oL(f|MlD*J0cyemBEST|>jP57E$Z!FtW-2iMfL!8P1vRG71>eI-;o6Cb=| zoS@%2!3pDuAHmz&yZ1O0<9AYQKWOo(*dVcyxJWD*hZiM>BWJ42q!JZph2`F2w8TT| zq*M!=YT<{ix}|9id+7<|2N{bz{o1+@zO3x^tes?0aTZR{ZM-RM?DzLfLh4QC05Nr^ zMUB+jr~%Fo`rKs@@8x+k3lsKg_6OG~?@PX&Wx46Vep~oeWC!0InHz?AQazLTu5{DB z(C}TW!vwLh?G)miTg82DEc=1DqLVC$e~f!W(LeHouXKVnp)2a3FdUdA(;(wmoe%X%JqiQUAZTCc6I^OJKCn_6@rV}3s)L1 z++oJBFXF)kAZGCh|?s3TeLY2H}s^ z3x6McgZDkTUtD>=6tf%i;rdzH|A+Z7vW5ohv!p4-x! zFPJ0G#V5X9m7|lW+z(W-AI34p6|C7uMq-z8IEZ19Yvuo*;(w6qpRm!GKPM|ZLw_jK zK@8@DzQ}AO?Hc;#a`SgH0{`y_xK1Nt&NNiuC>*$`#9UNiD&lH4MqvS}F#}0w5ys;@ z8r3(Lq<+E_EThEJ@YQW-#=A&i1*TyqrlSpa;w{X?Y0PqFVm7wpK2?pm>Kf(|KSM1G z)E+EWhp|L`j)(ZS=`m+ARy#AWj+)jJWdqXKNNOW(B5fvZAw7dR*h-XVu?WwRo+rIP WdXe-JX&dQf+WDHJnUISAihc*zfA0SP literal 0 HcmV?d00001 diff --git a/radeon/RV770_me.bin b/radeon/RV770_me.bin new file mode 100644 index 0000000000000000000000000000000000000000..ae8c8d983f6a4e1a18f194efdf4edbb2cea20087 GIT binary patch literal 5440 zcmeHKYiv~45&rID%^L68i(?#<8t+{mW^D*rQy`F#auY93?h0h|GvS4;Al*HE9NCPd2XB}U<0Z7e*nW#ruwn>e?KbBp;- zd{ba`PSzTtU0JKJET9w9Eyr5e@Ao&)PDBp?2zN zX>zUTv)C59v8Y1$1iVXjAXnasRXq--$8`EcpX(wpxVN@Gz*u9!V_IMaXn~k+Bf;mW z4NTub{(pqPQHANkD~Ty{Je2spBRL+GxDF|VsAr`jFd55E?qv_(jbspIkt>+CV4usa z#%X7?`Ntf%f5b0Ke#$W^S5kT?AE6}MwJ4=Qxt4Mo<$B5z%1yG5J_oZza{L9^6UQ^B zjAu+4`=^Xcr;I(5$MRl`)lujAFTx)&=bIVJX2!Bvp+{kw#9^4RA7<=_C&k_YbLn4@ zdf0vd#(>28sKa=LF;nKG_VzfrpGa((rw^-g)(6JWfxa?57}-!fJ5>j*VIC^U0lmkD zN7chr3v$=u^HIik#NTzw5|yfqV_)%{$^YG4YdYiK#`w4QsO$U5rw*P&&0&y3l;Q)| zs}bKQlc_4)ld3^g0smFOGp_puoASZitEfjQc}Sj;HRKI>#T+SRjy4Zz{Z}X-RppG$ z8pep+Z2T#LT>AyJYz#xT@xhXPFzRFQCjYInJVCx&C>m;Cmp^=J+_S_ggUet%~2mi5Aud)QS3Ni%xG8E zl)cA&%Ex=f+prBr!*<4>c@%#~mDO9QO4LzzljCEZqaV;RUH#X^M>7yA=Y0Wr&u(__ z0oNwS0nT{~bAicovZfiJ4Pe%d^9o?r5zr1L?dx)1Q6HtOkKIzw=x^Qz>lgKfPdp$0 zAvKYsEH9j+M`{(Z9@f+!QEY_w@85VCpLO%$Ue=)s@?Q(L!b{Fn zFFDEjbQeU4|!Tkj(W@yo|BE8R2A9E^Uw?LyXb32sz&-S#?zU2gL|s> zvi>u+3wgG!llze39%RkJnLj4$(GS^kVv?P2PqH)X7Ix-HEDAQ(6>X3=)#Q(#TzHZG zx%?5E^y_Ql-yy|bB9AfC3av$q#9LK4;zu+Sjckzj0uQT;80ocQn{6M*TJ{-of%fFg ziuI|X7D3wFKwqC=Pid%H-g$#o;IH3c0JmFWyG3;04@Un_mwFqi_hcS>TzGmr+$Q2a zo5!g;;XX&)<~;7|=pF1mMcmT`oO1`<7UG`C<3{ha?z6;g&Ev-Igxf~k=kvJBgbfQbMts~3Vv+L`0`Etc&f@6O*fN|g(tpNA@eqn<#@7P zIr~(=V0|_&kYDFgwZ?hgExXyLwDF#5mp;X0&5idvi1*mM_^>i zM^x^r%+sHsT7g;ISHJoUO!f&^9~=#R?DlfpccVprE&7YxHJQ7yCgaAMQp3AX?`{O{M&ND)?ndB~j(}!-8UdKNm;H1I zUMv8A;b1Nr_^%Q5SV(z4R$wt!;{j~IQf$O>M6eP+$3w{CVO+o}OyCi%gNRdz8Y|Fj zbl_3#yI9Nbk7=i{j?d%#X}Df5#|C{Xp3o2ADgAjot$zhu^lxIT-iI&h$MC%VGqmVu z@PhtZ?BLJdo%)}#OCQCH`X#jLSFl^ZiZ*>5?FP_cnCLXT*kkzcB_n{Bj4FKDcoi=j S2k~{|TZkETs4)6I>F2+^wyPxo literal 0 HcmV?d00001 diff --git a/radeon/RV770_pfp.bin b/radeon/RV770_pfp.bin new file mode 100644 index 0000000000000000000000000000000000000000..e835372d80e5ae25fe10e6640f913cbfc2dd86d4 GIT binary patch literal 3392 zcmeHJTWnNS6kX@uX*=Z(Wt0+XEc9Ax=|I&HN%4X4%#3fh#JvoS6Bp^ zk^_Rbjb}UH?zV{6I8U{V!3ldbiW;562AxHqQ}Bn0&$%vG=<$nzU8eLY*J#s%el!T) z7+gJuIhHac_Nh%FMQs3r;4Kz^H0{Nu}`&L(C$$K zXFbOwkxyxKk46pdal4{a3UV4FxuJaHlfk(4H;uv=~s}tmE1=x5O?S+<&a7_8%?ghF%ulgfH@{3zW*c5{wwXd@p}- zcIG{cz3eDd;o#6K{eYXOhoU$|?H(6Q`UtTt`()02LzTL=F*J$3U&EC<)Zg^Iq|DtlA5B!Y{eFx;Tg{i#~G2b(BHms(q+o;Ff70+Tcg+ zIE#Dl?)^@yo`>Q0-Kg7JUt;baw*KZL@P`eq9$rVB&ygD;2ETKQ8&9r>Z)r6`Ta|mr z%e%7g?_#Wof%Ws(@e=bLiIcvr=J$`_FUD`gqPiA1ti5>>_pGTH$B@w6s|EMNddwZr zlU$CFN6|-F_n6@o)Awf1oBOr8gJWM|5SJ4l1z$$yJJ225Nuy~1sH$bH33ibflxDee z$)zZTvv=CxzK_yK%9_-v;7ARZbGcyMi6Yz+1&ciQ=b5Kz)gq1Rj0|?ln>YLv2mSu zQFrZUPeOVb4!Nqd$Eupjee7p0`=?7z-S7_WhWo9IsU_q$^AeiE1@OZ8+S|_ay*rG@ zdrJuBbgcA$#2_CfiIJkDDU5X*w}szra5E>+wB$`R_5EVKwx1@)%+|><+-_7@u&Q?r zR4*?+c+NP%n00~!#*;XLXSH|X+fd~1kodmW;$!haxDj523-Yi&bm7Y|VxK~)t zEoKWJk|*U{=&5I~?9%NmYgtRT89&Hb6dBj%7vamuTF=`>7FA!v2?mYV+Rb`@&7>sX zqz@2N_gmCSuGNmSe=z0&gXA#RqvcqzOS3*Ww!SX+?Q|EG0=sSLSJ^xH?nvJ-yeIYQ z*?e0D>0fC0wl!dZ_}D#)B>Pr8FU(~<5Lawc1&NQmH^uQ$AAF=!%n4o9043}6zd6RZ z9)4^aSRahq_DFi($Mi!Z8FU&*o{S9Qx~V-I<<%P(f>d6hnYDvnI|Xz zpK#rl-+jTHxh^sB?W&%gM)hu>hV?Ly99J=CZ)F^ItT5*eWF4ob~dZKJV7I#y+DLs^plzS+fumYQjaxbpHeU$qt Y4^SSYY@uwWJVZYqcUY~A=0B3(0h}oh1poj5 literal 0 HcmV?d00001 -- 2.7.4