Compare commits

..

6 Commits

7 changed files with 640 additions and 1532 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/linux-firmware-20230404.tar.xz
SOURCES/linux-firmware-20241014.tar.xz

View File

@ -1 +1 @@
f584e174d59343652ceab6a8a4a2d929a8355efa SOURCES/linux-firmware-20230404.tar.xz
77ad156a0610acad88604225db4df5449e71a4eb SOURCES/linux-firmware-20241014.tar.xz

View File

@ -1,167 +0,0 @@
From 69143e8eca62a80b9791b8d358d1cc4c90e373c9 Mon Sep 17 00:00:00 2001
From: John Allen <john.allen@amd.com>
Date: Fri, 14 Apr 2023 16:13:58 +0000
Subject: [PATCH] linux-firmware: Update AMD cpu microcode
* Update AMD cpu microcode for processor family 17h
Key Name = AMD Microcode Signing Key (for signing microcode container files only)
Key ID = F328AE73
Key Fingerprint = FC7C 6C50 5DAF CC14 7183 57CA E4BE 5339 F328 AE73
Signed-off-by: John Allen <john.allen@amd.com>
Signed-off-by: Josh Boyer <jwboyer@kernel.org>
---
WHENCE | 2 +-
amd-ucode/README | 2 +-
amd-ucode/microcode_amd_fam17h.bin | Bin 9700 -> 9700 bytes
amd-ucode/microcode_amd_fam17h.bin.asc | 16 ++++++++--------
4 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/WHENCE b/WHENCE
index e7073606..68814918 100644
--- a/WHENCE
+++ b/WHENCE
@@ -3917,7 +3917,7 @@ Version: 2018-05-24
File: amd-ucode/microcode_amd_fam16h.bin
Version: 2014-10-28
File: amd-ucode/microcode_amd_fam17h.bin
-Version: 2022-04-08
+Version: 2023-04-13
File: amd-ucode/microcode_amd_fam19h.bin
Version: 2023-01-31
File: amd-ucode/README
diff --git a/amd-ucode/README b/amd-ucode/README
index 0adfde27..0d97f910 100644
--- a/amd-ucode/README
+++ b/amd-ucode/README
@@ -33,7 +33,7 @@ Microcode patches in microcode_amd_fam16h.bin:
Microcode patches in microcode_amd_fam17h.bin:
Family=0x17 Model=0x08 Stepping=0x02: Patch=0x0800820d Length=3200 bytes
Family=0x17 Model=0x01 Stepping=0x02: Patch=0x0800126e Length=3200 bytes
- Family=0x17 Model=0x31 Stepping=0x00: Patch=0x08301055 Length=3200 bytes
+ Family=0x17 Model=0x31 Stepping=0x00: Patch=0x08301072 Length=3200 bytes
Microcode patches in microcode_amd_fam19h.bin:
Family=0x19 Model=0x01 Stepping=0x00: Patch=0x0a001078 Length=5568 bytes
diff --git a/amd-ucode/microcode_amd_fam17h.bin b/amd-ucode/microcode_amd_fam17h.bin
index dec3871929a36792a261578aa834e807b5bea77d..37d899cd534789e461a5cf3ad666fcd587b8ab93 100644
GIT binary patch
delta 2695
zcmV;23V8M8OXN$iXc+-=lW7?ne{D+xy)lv{@<h^#XFBIY;(FdFep!Qq8pNh>pCPp=
zf4DmrA@aOyqYx_<*&XHj9i=fiCQH3hH1g-vF{n$ya{i=ZNhauJB<&5Co{hc@qoFsZ
za7wkpBz!K^Qg%j&j&sh2=sS^ERMtE9(F-{utSF>}|76&$2qe#Jul9Jaf9d(oB%wy!
z2kWp59h&EmT`Aiq5$5gDwBGVq;IV=7lPk(J8TA=AD|!M>O6G5kvRV@dALWC2f>i`P
z71Qqr@GL9f0afM;Pk|nBJ8eIYrhUQqTwtCZjGT<&Q@@Yolq8<0i9k@NA>0$W6LSaY
zq;l?9<59CdPZco+?jGDg0{yt7{0#zs0RaF2au6^GR9|z-aL~$t&c$H>Xuq4Cqg^e(
z1+put-0zKoZLTCYk3D<y6%7yfOOz|N&|EoVNzY`e-Vp(-s9fiOU0F7m*`xUZ6QbZ+
zUh<FoS?8)vRDVXgFqzrYl9r3ApBWLG=>q1jmtx*dY&x?;{GP@)?C2~*)eaGV5ng`t
zT{Q1T`f)R^T2*(aBUMVfy%Elz6TR{?^4HgzgVnYKtGtXX1#C%HT8|s|EG@5?jVAC|
z2@fAo6cEMG5G|!iyWfOf9=Hz|EIdXFF3#Egqx`swNbOdqdXuFzK;4%`UIiAjuc5T~
zZG&2Uw=FNhm0oh=w4~eT9GbX)%;Y(*(C{11nS#r(f`eyk6e_xk>R?O6gi&_gnxcYM
zXbMCEW!YKoShbP-`_}rHo5~y=hv=wzS_CeOZy!7~{BMq=Yxb!;InB-04_#B>S72%?
zk7hAwDam+9zuRky;_3uMb~8)qx{`-^2n;cuL;wAk9=A2~AfdrqaO5O^{cS2&R2p}U
zT1$;=OI$s*h=I*y3PeGIbU-$A*rv-c8$y0s7v1eWDhZQhZt|GJrcGXHh*)!~>(JBg
z!bd~AoD$Dlj~SY1eUu?krG~qx^D{Z+p5FOpirA1%M*^2>`v$!xPoNo7eQd>|1$~TF
znc6J=8NK&Kql@nkT0c*JWluL8aU0CrKyJ=Z?QeVjm^e4{_J~^s(^gfAg^>rk(_PUD
z;#~?8lE#GK3v1drSMod)NW@S<lH2%A@)JsK`I-kgw8F&i<7wTprl#7TZq9m-=Rs@U
zLTkPi)aUbFcwi=gYS)J1=7f7qp><x^{7UMhnSm>TOQ_k$br-sSgWMuez8}9s7d5%8
zMlZUcO-a;uy!tM6-{H_OT}j@4T~t{veZlL+355H-hx2C-enc*;Rqzs0th>xZo8{;q
zO#8qPkoSXT`+h)G7(8u`8P9`Lon=d%Z-hI()EwOb#j~5iAo=>5{!EI03bDfjR-nz9
z9OY2vh8p2-N4OP#hy)(^GTywd`%7%PL%p~qJip36glB!1>q+ZVmLp6E5RE3}ld}Y%
zdZ_y9g`JF~J(wOL1n$FOl+SX#!__ws{!qyuj_!i^f)-m{XoD<J=+ntp{IB&9cg^v%
zu_&IbRdLa_a_gE~B_(I$lo!s5$=sgY69Cq)E>401FO9H&g0*Dul9PeJMrigz;KL>+
zwp6MmRrj`0UA`)P`{Z*bgW#ck7T0MrRh843A_nLA8g9L2POP;PpsDt5@<_vFfL%%(
zAJf?{==lsU<An5|0~nevr;V*{<~lmx9q8(Xs_VD!A6Xp(S#cAKBa#|ll1oM_dBvB~
zwGAhgv%r*piGIdzY_5>MI_hpR->EuWi)dmHsn;8FER98<pqN)?LI1zqVc+^w$h)8g
zpgH+%fkjGy6s?i*IE3|Xbr=<+?V#5hUL2Mz)ySgV<7HcM+M#kE%Nb6!qFKf9c5hoY
zV01!hD7P``deB%c2Wi)wHVAE7W7QDfVmPOh{h}^^<uglAB2xSqZC>z5_6q-OP#fyh
z6b}WsSg-^*mZR^SVU>gMA*}c!49nc{bw4WOvDF)HQc1o^!?EC9u|fjF`l8iB8RTe}
z1WI}t2oa0{9l`TqJqWIHi8!^%g36Ung|3$OpL}XY;mXs&?fUH$4a`Piw&|BQ9_14W
zSEXlvd$V$02tj64k8(V_zrMN&Emm3GTZ<E6qheb3>NE^`Sc!b)yw}4X(bsTW%~N|N
zP1N$Hh*F2#B!fJpbC?QJzKjmz=ZSYT#6+uZu>bX*aOWwzndlH;R9i1zipkY9%@~wj
z;UCa6#Yda>dDa(5KFWt5Lwx0nUX4VIxD{@H&5~fq5<ar5E+)}082v5$7@pbEE9Rys
zBH}y#i)A)>D|^uGU~E%L{eR6vMJ5Q^h$!>ROwD5(ktyUC$(JigC><GmD9r2x;6p}}
z_b4;)&$i-<NJ$FP{A5hGu$*MNM)&y=L}po<?F8FkH9m-MU8cD33JeTgwz_f__z&2B
z&YpRFNBF~yT;d9B>I@399B2Ks#`RR#tiH`LKpju%n1ocR!<qZ$_c%Gl8;YjpoMu~M
zG`LbtPz~O{fVT2Vb?1daSvv%O$+4@rlJdSRLdXzees7M|)dD1Wjn~d+m?Y^BC8FTb
z9nec+^3j~}honu}4^QTr%^xTttg`Zd73PK(6H@)%4S?+CGEv4%8F_O|)hNXP)WL@i
z<()aZpTFt`FTVBXo}A9&i@5=5XS+@fS>&2o?7l-iD1(y)X;o!c(vbEJXJB?;g4E0#
z2}tUDo+6v!r;g=F`HuJr-w-umfYR1$ZQG>EyO^?Smer$2aKL)p36ZnUjBuTQwK6}T
z;TVYdUuo)bXcwqys-<zl{^G@t!fDw@83OwXH(;<toM&0U;(<oQB6~FgG~y(RC78jN
zVROO($di}V=rPLEC3K3tF*o}fJ0JwsWAA4u9QtmY$tgqFS}n(Tsz;A-I2jj3?r3;c
zU#g)8x;fKtq|k4bwSRAfsY}m)$x8Q`le@35SbAk38=$pSb7e~3F8YkA=og~zTONh`
zuXo3;Q+Zi|iYFVnu)f!fPI;rMiD9g8Z=?uZT}Xy~Y_&B`4Yi``y%!R^FF^wFyBO3M
zv@e73jsV1N#{!}+X;SHIOc#KH)Ov84W(w~c{3aJ2&c9C(uBfX=sjMP@xU-PYy|h#F
z%!f;oLPSSPPZ&lqteRk7{3n?o@<qp`kNMV!|FUD^%2C-P_Gz{H#uY4ZozCDu;)T!1
zYD@Z7f*5{lXX4}~?LeAy_8ipGI4TF}k~Di8NBm)gncxPHZ)9I7BdyMe*iH|rdk8ua
zku=^>1AeDtk*t397Si~CUI(0Yq0h5OZHf=|9b(u3q8-*$c;7nA^$SQ{4a~Up(ydh*
z+AjzIy+W6*s6;#>M1v0MtSe@wwgfn;gvQTa@of;3!D>06t5u0tw*}d^8#7y#fPkzW
zxf$R4IXMLjIRFCtgnZ0^M))Pjbm=91LqP4$LLb>{Sj&olRv*1`+@(_F=u*|U<7$_$
z-A_aDU))V#f_#er$D?DBFF$JHy3JMWb-gS&B%Lv!FR!{U3la;+RD+7J$<n|cL@Maz
zjL7J_NsS}!ZbN>@$Hp#c=fn<%=_q7QG15f$sMk1EmVbg>APsKgXS9cI_J~Z)cEbE{
BMdttj
delta 2505
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
diff --git a/amd-ucode/microcode_amd_fam17h.bin.asc b/amd-ucode/microcode_amd_fam17h.bin.asc
index f5b1e4d7..27da52c8 100644
--- a/amd-ucode/microcode_amd_fam17h.bin.asc
+++ b/amd-ucode/microcode_amd_fam17h.bin.asc
@@ -1,11 +1,11 @@
-----BEGIN PGP SIGNATURE-----
-iQEzBAABCgAdFiEE/HxsUF2vzBRxg1fK5L5TOfMornMFAmJQi+QACgkQ5L5TOfMo
-rnOMKAf/T14Ixwan/IPPOEZHhsB5reCrEWLM89hey7z3vn/h8RWLAfJnAQwTuv1A
-B18gOWwUQMNARsoeDQZnnDvIQBB4w/DpzAaoWBoPnUR8Ko9jdl8ou7aUwdJzYC4T
-h6+LeSmHGhQ/h7AIJWABplXJg+weYfQiDr9u/ulFsZdCvfBx+8USNp75HddVTXWr
-+SunY5MrUZKmQvj147fCojByYVGzNCkWHJe3V6obd19kubTT357QwUX8A7/ZwgYO
-8DlxoVbYg9X224/7Cck6dECE9jKbmaVJkmdMg6ACVirjDH5U/HAACYNwwcO2olPn
-BOxF9sZMYY9cl14WCj2R7WS+gEjYWA==
-=pSDv
+iQEzBAABCgAdFiEE/HxsUF2vzBRxg1fK5L5TOfMornMFAmQeEvgACgkQ5L5TOfMo
+rnPOpAf/dYhPqq/ktg1muI/khV4EhDiguX6OXib3fmfSZdvPIAI0cRI77M3Lvf0b
+nlV8D67e5HOQ5foJbix5tunz0sZjqr2QU8U9dNk/ut0KC7UiCRc8VH40aSi/OQBG
+Y8c7tb6IJ+N+jyJ6Ii6koUuRO2Lk2MckcrWLRuLRV4bB+osyJrGjc/X54Z6UJ/Ma
+VDg13Yxy5WvC7sMmlmnY42JLeLBKDVUvg0zDvJ4aOLLxRE2l3eiAKE+TV122LmxN
+ca5WA/ESYQ9BjxHYIrpTd9nQaWa/TIZ+rOmJGLMtnQ1gGlW97zQuJR7zh+8vdLzC
+iwVlS1cu7kcV7KYDytTkWJ+2gwb3uQ==
+=lP2S
-----END PGP SIGNATURE-----
--
2.27.0

View File

@ -1,588 +0,0 @@
From b250b32ab1d044953af2dc5e790819a7703b7ee6 Mon Sep 17 00:00:00 2001
From: John Allen <john.allen@amd.com>
Date: Tue, 18 Jul 2023 23:19:59 +0000
Subject: [PATCH] linux-firmware: Update AMD cpu microcode
* Update AMD cpu microcode for processor family 19h
Key Name = AMD Microcode Signing Key (for signing microcode container files only)
Key ID = F328AE73
Key Fingerprint = FC7C 6C50 5DAF CC14 7183 57CA E4BE 5339 F328 AE73
Signed-off-by: John Allen <john.allen@amd.com>
Signed-off-by: Josh Boyer <jwboyer@kernel.org>
---
WHENCE | 2 +-
amd-ucode/README | 6 +++---
amd-ucode/microcode_amd_fam19h.bin | Bin 16804 -> 16804 bytes
amd-ucode/microcode_amd_fam19h.bin.asc | 16 ++++++++--------
4 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/WHENCE b/WHENCE
index de23a75e..b92e5299 100644
--- a/WHENCE
+++ b/WHENCE
@@ -3912,6 +3912,6 @@ Raw: amd-ucode/microcode_amd_fam17h.bin
Version: 2023-04-13
File: amd-ucode/microcode_amd_fam19h.bin
-Version: 2023-01-31
+Version: 2023-07-18
File: amd-ucode/README
License: Redistributable. See LICENSE.amd-ucode for details
diff --git a/amd-ucode/README b/amd-ucode/README
index 0d97f910..4308fe2d 100644
--- a/amd-ucode/README
+++ b/amd-ucode/README
@@ -36,6 +36,6 @@ Microcode patches in microcode_amd_fam17h.bin:
Family=0x17 Model=0x31 Stepping=0x00: Patch=0x08301072 Length=3200 bytes
Microcode patches in microcode_amd_fam19h.bin:
- Family=0x19 Model=0x01 Stepping=0x00: Patch=0x0a001078 Length=5568 bytes
- Family=0x19 Model=0x01 Stepping=0x01: Patch=0x0a0011ce Length=5568 bytes
- Family=0x19 Model=0x01 Stepping=0x02: Patch=0x0a001231 Length=5568 bytes
+ Family=0x19 Model=0x01 Stepping=0x01: Patch=0x0a0011d1 Length=5568 bytes
+ Family=0x19 Model=0x01 Stepping=0x00: Patch=0x0a001079 Length=5568 bytes
+ Family=0x19 Model=0x01 Stepping=0x02: Patch=0x0a001234 Length=5568 bytes
diff --git a/amd-ucode/microcode_amd_fam19h.bin b/amd-ucode/microcode_amd_fam19h.bin
index 4bd623e14006b3a2eeb287e52708d3bea1c3a728..50470c3f461a068e832a1ebe33683a041d4515fe 100644
GIT binary patch
literal 16804
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
M|2*#hA0GFA0Rm`VAOHXW
delta 15290
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
ME5Vz0z(fSb57uLE4*&oF
diff --git a/amd-ucode/microcode_amd_fam19h.bin.asc b/amd-ucode/microcode_amd_fam19h.bin.asc
index 7c5193cf..a32b4d61 100644
--- a/amd-ucode/microcode_amd_fam19h.bin.asc
+++ b/amd-ucode/microcode_amd_fam19h.bin.asc
@@ -1,11 +1,11 @@
-----BEGIN PGP SIGNATURE-----
-iQEzBAABCgAdFiEE/HxsUF2vzBRxg1fK5L5TOfMornMFAmPS0gkACgkQ5L5TOfMo
-rnMWewf/SNlPcRuJ/RPEKThbPJyToBi98e7QLqlGkuIQ7sZBjZ/zZIycQDkQgjVV
-MpO8E2yxn0Pp/2T6IzGBLPWpMVgvCabIn2gRe3qvRbJ5dYnxU3I5hfCITGHG0z2K
-OgH3Z51aKZGX0fCRHKdrtVf9RMdcYcVHD9NU48q8x8gArdRg+IZSCPzqD3dNw7nT
-TS2WHNiMzyqXkkqqkroofljUSZcuMIqDDEsfIB9LDQjFCMYEththlC0m0wz1QIRv
-HJCJZ8p/E8xMPLEp0JvhA1zxBePlyKmKtHLxhslyvEePJif5fHECEx95Q2xYRS+F
-rMXPlWVgxXzeM1NUxEBDM8vI6gaXtQ==
-=+Rqf
+iQEzBAABCgAdFiEE/HxsUF2vzBRxg1fK5L5TOfMornMFAmS3F00ACgkQ5L5TOfMo
+rnNEhQgAizSV8IFpvaYNytaJKLA4uevrZneGPV4czjCXnnj1yHpfQmCTyZQnoLnx
+7gyzf7K5271zO51FBQ5z2Nm48a3XPUhMbQLNP4BZdekLiA3bRpMtSyHct6zD0ULm
+xaFaOQ7MR1tGADhlon1bDvtnOuixUhwrZhEIlR9MzQAzERKDMOAVTbxn9ZhMfYiT
+LhA791Blyyi+6Z9uh7BpaA8l8uvoxt+uuvlBTjQMR3ER/TEjgcsoy+XhhK4QKS0V
+wJCtcDle/3pF+N6SAFWiXbNZ+P8p19afhcYddDl97xtpzA6/8b20a2eHkrqnu/Ds
+jTozF9kmhiifYMYpXtXgSOwI3GRZbQ==
+=t+j1
-----END PGP SIGNATURE-----
--
2.27.0

View File

@ -1,241 +0,0 @@
From 0bc3126c9cfa0b8c761483215c25382f831a7c6f Mon Sep 17 00:00:00 2001
From: John Allen <john.allen@amd.com>
Date: Wed, 19 Jul 2023 19:17:57 +0000
Subject: [PATCH] linux-firmware: Update AMD fam17h cpu microcode
* Update AMD cpu microcode for processor family 17h
Key Name = AMD Microcode Signing Key (for signing microcode container files only)
Key ID = F328AE73
Key Fingerprint = FC7C 6C50 5DAF CC14 7183 57CA E4BE 5339 F328 AE73
Signed-off-by: John Allen <john.allen@amd.com>
Signed-off-by: Josh Boyer <jwboyer@kernel.org>
---
WHENCE | 2 +-
amd-ucode/README | 3 ++-
amd-ucode/microcode_amd_fam17h.bin | Bin 9700 -> 12924 bytes
amd-ucode/microcode_amd_fam17h.bin.asc | 16 ++++++++--------
4 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/WHENCE b/WHENCE
index b92e5299..dcb86fab 100644
--- a/WHENCE
+++ b/WHENCE
@@ -3909,5 +3909,5 @@ Raw: amd-ucode/microcode_amd_fam16h.bin
Version: 2014-10-28
File: amd-ucode/microcode_amd_fam17h.bin
-Version: 2023-04-13
+Version: 2023-07-19
File: amd-ucode/microcode_amd_fam19h.bin
Version: 2023-07-18
diff --git a/amd-ucode/README b/amd-ucode/README
index 4308fe2d..1d39da3b 100644
--- a/amd-ucode/README
+++ b/amd-ucode/README
@@ -32,8 +32,9 @@ Microcode patches in microcode_amd_fam16h.bin:
Microcode patches in microcode_amd_fam17h.bin:
Family=0x17 Model=0x08 Stepping=0x02: Patch=0x0800820d Length=3200 bytes
+ Family=0x17 Model=0x31 Stepping=0x00: Patch=0x0830107a Length=3200 bytes
+ Family=0x17 Model=0xa0 Stepping=0x00: Patch=0x08a00008 Length=3200 bytes
Family=0x17 Model=0x01 Stepping=0x02: Patch=0x0800126e Length=3200 bytes
- Family=0x17 Model=0x31 Stepping=0x00: Patch=0x08301072 Length=3200 bytes
Microcode patches in microcode_amd_fam19h.bin:
Family=0x19 Model=0x01 Stepping=0x01: Patch=0x0a0011d1 Length=5568 bytes
diff --git a/amd-ucode/microcode_amd_fam17h.bin b/amd-ucode/microcode_amd_fam17h.bin
index 37d899cd534789e461a5cf3ad666fcd587b8ab93..f9841b65b8d6ea156a402f45bba17f0e31eaf4ea 100644
GIT binary patch
delta 5515
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
F{{gHxepLVf
delta 2769
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
XI8~N^f?XgDZsTXPhi>+WOwD$}@;OgK
diff --git a/amd-ucode/microcode_amd_fam17h.bin.asc b/amd-ucode/microcode_amd_fam17h.bin.asc
index 27da52c8..34a40245 100644
--- a/amd-ucode/microcode_amd_fam17h.bin.asc
+++ b/amd-ucode/microcode_amd_fam17h.bin.asc
@@ -1,11 +1,11 @@
-----BEGIN PGP SIGNATURE-----
-iQEzBAABCgAdFiEE/HxsUF2vzBRxg1fK5L5TOfMornMFAmQeEvgACgkQ5L5TOfMo
-rnPOpAf/dYhPqq/ktg1muI/khV4EhDiguX6OXib3fmfSZdvPIAI0cRI77M3Lvf0b
-nlV8D67e5HOQ5foJbix5tunz0sZjqr2QU8U9dNk/ut0KC7UiCRc8VH40aSi/OQBG
-Y8c7tb6IJ+N+jyJ6Ii6koUuRO2Lk2MckcrWLRuLRV4bB+osyJrGjc/X54Z6UJ/Ma
-VDg13Yxy5WvC7sMmlmnY42JLeLBKDVUvg0zDvJ4aOLLxRE2l3eiAKE+TV122LmxN
-ca5WA/ESYQ9BjxHYIrpTd9nQaWa/TIZ+rOmJGLMtnQ1gGlW97zQuJR7zh+8vdLzC
-iwVlS1cu7kcV7KYDytTkWJ+2gwb3uQ==
-=lP2S
+iQEzBAABCgAdFiEE/HxsUF2vzBRxg1fK5L5TOfMornMFAmS4Mm4ACgkQ5L5TOfMo
+rnN35wgAkllCunxE6J5hQyLMx5o4WTHZkbNvXmu6nV1Y3vjiL1oeaK+pmx8BlkPt
+fGZJCe/068kqmp3N4EtOZLxXn55t3jNBYectPr0RmFqpjMsEJEcfXfuXROA4N9Ti
+Zd/o6X21eHEsm0kK0q4YfppfgTd5Ze7k1jTkUuuU6/yh6uRk1MiFreEzkPO3Aayh
+iEWlYx33vq3HccTPgdY3D64Zr8gmgKG+8mdEvqb1jK4SVZ1/9vy4OKIIpUZB/eqx
+46h9Ejwn9pktnYkHi/A/zCREEcIQ10HXFF5bjxJTFQkM5S46/QEO7uuvnpMb+6Yy
+4V1/QIWMG6ixqCRx9GqbBK7GHdYODw==
+=+IsI
-----END PGP SIGNATURE-----
--
2.27.0

View File

@ -1,485 +0,0 @@
From f2eb058afc57348cde66852272d6bf11da1eef8f Mon Sep 17 00:00:00 2001
From: John Allen <john.allen@amd.com>
Date: Tue, 8 Aug 2023 19:02:39 +0000
Subject: [PATCH] linux-firmware: Update AMD cpu microcode
* Update AMD cpu microcode for processor family 19h
Key Name = AMD Microcode Signing Key (for signing microcode container files only)
Key ID = F328AE73
Key Fingerprint = FC7C 6C50 5DAF CC14 7183 57CA E4BE 5339 F328 AE73
Signed-off-by: John Allen <john.allen@amd.com>
Signed-off-by: Josh Boyer <jwboyer@kernel.org>
---
WHENCE | 2 +-
amd-ucode/README | 13 +++++++++++++
amd-ucode/microcode_amd_fam19h.bin | Bin 16804 -> 39172 bytes
amd-ucode/microcode_amd_fam19h.bin.asc | 16 ++++++++--------
4 files changed, 22 insertions(+), 9 deletions(-)
diff --git a/WHENCE b/WHENCE
index 99cee970..54aadb0c 100644
--- a/WHENCE
+++ b/WHENCE
@@ -3924,6 +3924,6 @@ Raw: amd-ucode/microcode_amd_fam17h.bin
Version: 2023-07-19
File: amd-ucode/microcode_amd_fam19h.bin
-Version: 2023-07-18
+Version: 2023-08-08
File: amd-ucode/README
License: Redistributable. See LICENSE.amd-ucode for details
diff --git a/amd-ucode/README b/amd-ucode/README
index 1d39da3b..fac11524 100644
--- a/amd-ucode/README
+++ b/amd-ucode/README
@@ -37,6 +37,19 @@ Microcode patches in microcode_amd_fam17h.bin:
Family=0x17 Model=0x01 Stepping=0x02: Patch=0x0800126e Length=3200 bytes
Microcode patches in microcode_amd_fam19h.bin:
+ Family=0x19 Model=0x11 Stepping=0x01: Patch=0x0a10113e Length=5568 bytes
+ Family=0x19 Model=0x11 Stepping=0x02: Patch=0x0a10123e Length=5568 bytes
+ Family=0x19 Model=0xa0 Stepping=0x02: Patch=0x0aa00212 Length=5568 bytes
Family=0x19 Model=0x01 Stepping=0x01: Patch=0x0a0011d1 Length=5568 bytes
Family=0x19 Model=0x01 Stepping=0x00: Patch=0x0a001079 Length=5568 bytes
Family=0x19 Model=0x01 Stepping=0x02: Patch=0x0a001234 Length=5568 bytes
+ Family=0x19 Model=0xa0 Stepping=0x01: Patch=0x0aa00116 Length=5568 bytes
+
+NOTE: For Genoa (Family=0x19 Model=0x11) and Bergamo (Family=0x19 Model=0xa0),
+either AGESA version >= 1.0.0.8 OR a kernel with the following commit is
+required:
+a32b0f0db3f3 ("x86/microcode/AMD: Load late on both threads too")
+
+When late loading the patches for Genoa or Bergamo, there may be one spurious
+NMI observed per physical core. These NMIs are benign and don't cause any
+functional issue but will result in kernel messages being logged.
diff --git a/amd-ucode/microcode_amd_fam19h.bin b/amd-ucode/microcode_amd_fam19h.bin
index 50470c3f461a068e832a1ebe33683a041d4515fe..02a5d051d58b8028275ee6a0b091f11f8d1b6e27 100644
GIT binary patch
delta 20542
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
YVQu*TZ8nl?f%`zS*L1OeLEkX&JxSZWhyVZp
delta 28
hcmZqK#I&TDk;}!`kpTo87$#a7O{|gH{LazO5ddxw2oeAQ
diff --git a/amd-ucode/microcode_amd_fam19h.bin.asc b/amd-ucode/microcode_amd_fam19h.bin.asc
index a32b4d61..8cff9013 100644
--- a/amd-ucode/microcode_amd_fam19h.bin.asc
+++ b/amd-ucode/microcode_amd_fam19h.bin.asc
@@ -1,11 +1,11 @@
-----BEGIN PGP SIGNATURE-----
-iQEzBAABCgAdFiEE/HxsUF2vzBRxg1fK5L5TOfMornMFAmS3F00ACgkQ5L5TOfMo
-rnNEhQgAizSV8IFpvaYNytaJKLA4uevrZneGPV4czjCXnnj1yHpfQmCTyZQnoLnx
-7gyzf7K5271zO51FBQ5z2Nm48a3XPUhMbQLNP4BZdekLiA3bRpMtSyHct6zD0ULm
-xaFaOQ7MR1tGADhlon1bDvtnOuixUhwrZhEIlR9MzQAzERKDMOAVTbxn9ZhMfYiT
-LhA791Blyyi+6Z9uh7BpaA8l8uvoxt+uuvlBTjQMR3ER/TEjgcsoy+XhhK4QKS0V
-wJCtcDle/3pF+N6SAFWiXbNZ+P8p19afhcYddDl97xtpzA6/8b20a2eHkrqnu/Ds
-jTozF9kmhiifYMYpXtXgSOwI3GRZbQ==
-=t+j1
+iQEzBAABCgAdFiEE/HxsUF2vzBRxg1fK5L5TOfMornMFAmTEYrcACgkQ5L5TOfMo
+rnN4IQf/QKbOezXZ4OYzaPANvsZQEAzLNfuylC/aQMwrPaO7daz5/zmCN4HU5XkH
+dDT8DYfPg+fQHIgxAw0/L24xPOm5Op/QuLVDyDqVr4qvL8+65eeI+JqxD/wXMXYN
+V34kkLM2p8iuyY1Nc8IDLXu4X75KGNPbKZlMRKMU3Pr7ai5O4ihmiAM+N6qv1KEJ
+YToNN6vrg0qt1cv0SLM8sa4e7L1+oblUrg/o0FViYE8pxsU3ZRRVSJMUg+lKjvl/
+1ZPGKOdD80fcNJ+ItYGHNNs3eCc3WgW7Kc/E668eH75Yu9Zt7ewWZX8Sg/mygleY
+OzMwhbPJg4bF4zm7C/Pku7i1T2Omcg==
+=km2X
-----END PGP SIGNATURE-----
--
2.27.0

View File

@ -1,13 +1,13 @@
%global checkout 2e92a49f
%global checkout 06bad2f1
%global firmware_release 114
%global firmware_release 125
%global _firmwarepath /usr/lib/firmware
%define _binaries_in_noarch_packages_terminate_build 0
Name: linux-firmware
Version: 20230404
Release: %{firmware_release}.git%{checkout}%{?dist}.alma.1
Version: 20241014
Release: %{firmware_release}.git%{checkout}%{?dist}
Summary: Firmware files used by the Linux kernel
License: GPL+ and GPLv2+ and MIT and Redistributable, no modification permitted
URL: http://www.kernel.org/
@ -19,12 +19,6 @@ BuildArch: noarch
# 2) git archive --worktree-attributes --format=tar --prefix=linux-firmware-%%{checkout}/ %%{checkout} | xz > linux-firmware-%%{version}.tar.xz
Source0: %{name}-%{version}.tar.xz
# AlmaLinux: AMD CPU ucode updates to fix CVE-2023-20593, CVE-2023-20569
Patch0: 0001-linux-firmware-Update-AMD-cpu-microcode.patch
Patch1: 0002-linux-firmware-Update-AMD-cpu-microcode.patch
Patch2: 0003-linux-firmware-Update-AMD-fam17h-cpu-microcode.patch
Patch3: 0004-linux-firmware-Update-AMD-cpu-microcode.patch
Provides: kernel-firmware = %{version} xorg-x11-drv-ati-firmware = 7.0
Obsoletes: kernel-firmware < %{version} xorg-x11-drv-ati-firmware < 6.13.0-0.22
Obsoletes: ueagle-atm4-firmware < 1.0-5
@ -46,7 +40,7 @@ Conflicts: microcode_ctl < 2.1-0
# avoid upgrade errors (see bug 1589055)
Obsoletes: ivtv-firmware < 2:20080701-28
BuildRequires: git make
BuildRequires: git make python3
%description
This package includes firmware files required for some devices to
@ -56,7 +50,7 @@ operate.
Summary: Firmware for Intel(R) Wireless WiFi Link 100 Series Adapters
License: Redistributable, no modification permitted
Version: 39.31.5.1
Release: %{firmware_release}%{?dist}.1.alma.1
Release: %{firmware_release}%{?dist}.1
Obsoletes: iwl100-firmware < 39.31.5.1-4
%description -n iwl100-firmware
This package contains the firmware required by the Intel wireless drivers
@ -68,7 +62,7 @@ LICENSE file. Please read it carefully.
Summary: Firmware for Intel(R) Centrino Wireless-N 105 Series Adapters
License: Redistributable, no modification permitted
Version: 18.168.6.1
Release: %{firmware_release}%{?dist}.1.alma.1
Release: %{firmware_release}%{?dist}.1
%description -n iwl105-firmware
This package contains the firmware required by the Intel wireless drivers
for Linux to support the iwl105 hardware. Usage of the firmware
@ -79,7 +73,7 @@ LICENSE file. Please read it carefully.
Summary: Firmware for Intel(R) Centrino Wireless-N 135 Series Adapters
License: Redistributable, no modification permitted
Version: 18.168.6.1
Release: %{firmware_release}%{?dist}.1.alma.1
Release: %{firmware_release}%{?dist}.1
%description -n iwl135-firmware
This package contains the firmware required by the Intel wireless drivers
for Linux to support the iwl135 hardware. Usage of the firmware
@ -91,7 +85,7 @@ Summary: Firmware for Intel® PRO/Wireless 1000 B/G/N network adaptors
License: Redistributable, no modification permitted
Version: 39.31.5.1
Epoch: 1
Release: %{firmware_release}%{?dist}.1.alma.1
Release: %{firmware_release}%{?dist}.1
Obsoletes: iwl1000-firmware < 1:39.31.5.1-3
%description -n iwl1000-firmware
This package contains the firmware required by the Intel wireless drivers
@ -103,7 +97,7 @@ LICENSE file. Please read it carefully.
Summary: Firmware for Intel(R) Centrino Wireless-N 2000 Series Adapters
License: Redistributable, no modification permitted
Version: 18.168.6.1
Release: %{firmware_release}%{?dist}.1.alma.1
Release: %{firmware_release}%{?dist}.1
%description -n iwl2000-firmware
This package contains the firmware required by the Intel wireless drivers
for Linux to support the iwl2000 hardware. Usage of the firmware
@ -114,7 +108,7 @@ LICENSE file. Please read it carefully.
Summary: Firmware for Intel(R) Centrino Wireless-N 2030 Series Adapters
License: Redistributable, no modification permitted
Version: 18.168.6.1
Release: %{firmware_release}%{?dist}.1.alma.1
Release: %{firmware_release}%{?dist}.1
%description -n iwl2030-firmware
This package contains the firmware required by the Intel wireless drivers
for Linux to support the iwl2030 hardware. Usage of the firmware
@ -126,7 +120,7 @@ Summary: Firmware for Intel(R) Wireless WiFi Link 3160 Series Adapters
License: Redistributable, no modification permitted
Epoch: 1
Version: 25.30.13.0
Release: %{firmware_release}%{?dist}.1.alma.1
Release: %{firmware_release}%{?dist}.1
%description -n iwl3160-firmware
This package contains the firmware required by the Intel wireless drivers
for Linux. Usage of the firmware is subject to the terms and conditions
@ -136,7 +130,7 @@ contained inside the provided LICENSE file. Please read it carefully.
Summary: Firmware for Intel® PRO/Wireless 3945 A/B/G network adaptors
License: Redistributable, no modification permitted
Version: 15.32.2.9
Release: %{firmware_release}%{?dist}.1.alma.1
Release: %{firmware_release}%{?dist}.1
Obsoletes: iwl3945-firmware < 15.32.2.9-7
%description -n iwl3945-firmware
This package contains the firmware required by the iwl3945 driver
@ -147,7 +141,7 @@ contained inside the provided LICENSE file. Please read it carefully.
Summary: Firmware for Intel® PRO/Wireless 4965 A/G/N network adaptors
License: Redistributable, no modification permitted
Version: 228.61.2.24
Release: %{firmware_release}%{?dist}.1.alma.1
Release: %{firmware_release}%{?dist}.1
Obsoletes: iwl4965-firmware < 228.61.2.24-5
%description -n iwl4965-firmware
This package contains the firmware required by the iwl4965 driver
@ -158,7 +152,7 @@ contained inside the provided LICENSE file. Please read it carefully.
Summary: Firmware for Intel® PRO/Wireless 5000 A/G/N network adaptors
License: Redistributable, no modification permitted
Version: 8.83.5.1_1
Release: %{firmware_release}%{?dist}.1.alma.1
Release: %{firmware_release}%{?dist}.1
Obsoletes: iwl5000-firmware < 8.83.5.1_1-3
%description -n iwl5000-firmware
This package contains the firmware required by the iwl5000 driver
@ -169,7 +163,7 @@ contained inside the provided LICENSE file. Please read it carefully.
Summary: Firmware for Intel® PRO/Wireless 5150 A/G/N network adaptors
License: Redistributable, no modification permitted
Version: 8.24.2.2
Release: %{firmware_release}%{?dist}.1.alma.1
Release: %{firmware_release}%{?dist}.1
Obsoletes: iwl5150-firmware < 8.24.2.2-4
%description -n iwl5150-firmware
This package contains the firmware required by the iwl5150 driver
@ -180,7 +174,7 @@ contained inside the provided LICENSE file. Please read it carefully.
Summary: Firmware for Intel(R) Wireless WiFi Link 6000 AGN Adapter
License: Redistributable, no modification permitted
Version: 9.221.4.1
Release: %{firmware_release}%{?dist}.1.alma.1
Release: %{firmware_release}%{?dist}.1
Obsoletes: iwl6000-firmware < 9.221.4.1-4
%description -n iwl6000-firmware
This package contains the firmware required by the Intel wireless drivers
@ -191,7 +185,7 @@ contained inside the provided LICENSE file. Please read it carefully.
Summary: Firmware for Intel(R) Wireless WiFi Link 6005 Series Adapters
License: Redistributable, no modification permitted
Version: 18.168.6.1
Release: %{firmware_release}%{?dist}.1.alma.1
Release: %{firmware_release}%{?dist}.1
Obsoletes: iwl6000g2a-firmware < 17.168.5.3-3
%description -n iwl6000g2a-firmware
This package contains the firmware required by the Intel wireless drivers
@ -202,7 +196,7 @@ contained inside the provided LICENSE file. Please read it carefully.
Summary: Firmware for Intel(R) Wireless WiFi Link 6030 Series Adapters
License: Redistributable, no modification permitted
Version: 18.168.6.1
Release: %{firmware_release}%{?dist}.1.alma.1
Release: %{firmware_release}%{?dist}.1
Obsoletes: iwl6000g2b-firmware < 17.168.5.2-3
%description -n iwl6000g2b-firmware
This package contains the firmware required by the Intel wireless drivers
@ -213,7 +207,7 @@ contained inside the provided LICENSE file. Please read it carefully.
Summary: Firmware for Intel(R) Wireless WiFi Link 6050 Series Adapters
License: Redistributable, no modification permitted
Version: 41.28.5.1
Release: %{firmware_release}%{?dist}.1.alma.1
Release: %{firmware_release}%{?dist}.1
Obsoletes: iwl6050-firmware < 41.28.5.1-5
%description -n iwl6050-firmware
This package contains the firmware required by the Intel wireless drivers
@ -225,7 +219,7 @@ Summary: Firmware for Intel(R) Wireless WiFi Link 726x/8000/9000 Series Adapters
License: Redistributable, no modification permitted
Epoch: 1
Version: 25.30.13.0
Release: %{firmware_release}%{?dist}.1.alma.1
Release: %{firmware_release}%{?dist}.1
# Obsolete iwl7265 sub-package which existed on RHEL 7, looking at git history
# Fedora never provided such sub-package (see bug 1589056)
Obsoletes: iwl7265-firmware
@ -237,7 +231,7 @@ contained inside the provided LICENSE file. Please read it carefully.
%package -n libertas-usb8388-firmware
Summary: Firmware for Marvell Libertas USB 8388 Network Adapter
License: Redistributable, no modification permitted
Epoch: 2
Epoch: 2
Obsoletes: libertas-usb8388-firmware < 2:5.110.22.p23-8
%description -n libertas-usb8388-firmware
Firmware for Marvell Libertas USB 8388 Network Adapter
@ -263,26 +257,20 @@ License: Redistributable, no modification permitted
Firmware for Marvell Libertas SD 8787 Network Adapter
%prep
%setup -q -n linux-firmware-%{checkout}
#if 0
git init .
if [ -z "$GIT_COMMITTER_NAME" ]; then
git config user.email "nobody@fedoraproject.org"
git config user.name "Fedora linux-firmware packagers"
fi
git add .
git commit -m init .
git am %{patches}
#endif
%autosetup -S git -p1 -n linux-firmware-%{checkout}
%build
%install
mkdir -p $RPM_BUILD_ROOT/%{_firmwarepath}
mkdir -p $RPM_BUILD_ROOT/%{_firmwarepath}/updates
make DESTDIR=%{buildroot}/ FIRMWAREDIR=%{_firmwarepath} install
# Move amd-ucode readme to docs directory due to dracut issue (RHEL-16799)
mkdir -p %{buildroot}/%{_defaultdocdir}/%{name}/amd-ucode
mv -f amd-ucode/README %{buildroot}/%{_defaultdocdir}/%{name}/amd-ucode
# install-nodedup: just "install" requires rdfind
make DESTDIR=%{buildroot}/ FIRMWAREDIR=%{_firmwarepath} install-nodedup
pushd $RPM_BUILD_ROOT/%{_firmwarepath}
# Remove firmware shipped in separate packages already
@ -407,6 +395,12 @@ sed -e 's/^/%%dir /' linux-firmware.dirs >> linux-firmware.files
%{_firmwarepath}/iwlwifi-ty-a0-gf-a0*.pnvm
%{_firmwarepath}/iwlwifi-so-a0-*.ucode
%{_firmwarepath}/iwlwifi-so-a0-*.pnvm
%{_firmwarepath}/iwlwifi-bz-b0-*.ucode*
%{_firmwarepath}/iwlwifi-bz-b0-*.pnvm*
%{_firmwarepath}/iwlwifi-gl-*.ucode
%{_firmwarepath}/iwlwifi-gl-*.pnvm
%{_firmwarepath}/iwlwifi-ma-*.ucode
%{_firmwarepath}/iwlwifi-ma-*.pnvm
%files -n libertas-usb8388-firmware
%license WHENCE LICENCE.Marvell
@ -430,15 +424,610 @@ sed -e 's/^/%%dir /' linux-firmware.dirs >> linux-firmware.files
%files -f linux-firmware.files
%dir %{_firmwarepath}
%doc %{_defaultdocdir}/%{name}
%license WHENCE LICENCE.*
%config(noreplace) %{_firmwarepath}/netronome/nic_AMDA*
%changelog
* Wed Aug 09 2023 Andrew Lukoshko <alukoshko@almalinux.org> - 20230404-114.git2e92a49f.alma.1
- Update AMD CPU ucode to fix CVE-2023-20569
* Mon Oct 14 2024 Denys Vlasenko <dvlasenk@redhat.com> - 20241014-125.git06bad2f1
- Update linux-firmware to latest upstream (RHEL-62359)
  Changes since the last update are noted on items below, copied from
  the git changelog of upstream linux-firmware repository.
- mtk_wed: add firmware for mt7988 Wireless Ethernet Dispatcher
- ath12k: WCN7850 hw2.0: update board-2.bin
- ath12k: QCN9274 hw2.0: add to WLAN.WBE.1.3.1-00162-QCAHKSWPL_SILICONZ-1
- ath12k: QCN9274 hw2.0: add board-2.bin
- copy-firmware.sh: rename variables in symlink hanlding
- copy-firmware.sh: remove no longer reachable test -L
- copy-firmware.sh: remove no longer reachable test -f
- copy-firmware.sh: call ./check_whence.py before parsing the file
- copy-firmware.sh: warn if the destination folder is not empty
- copy-firmware.sh: add err() helper
- copy-firmware.sh: fix indentation
- copy-firmware.sh: reset and consistently handle destdir
- Revert "copy-firmware: Support additional compressor options"
- copy-firmware.sh: flesh out and fix dedup-firmware.sh
- Style update yaml files
- editorconfig: add initial config file
- check_whence.py: annotate replacement strings as raw
- check_whence.py: LC_ALL=C sort -u the filelist
- check_whence.py: ban link-to-a-link
- check_whence.py: use consistent naming
- Add a link from TAS2XXX1EB3.bin -> ti/tas2781/TAS2XXX1EB30.bin
- tas2781: Upload dsp firmware for ASUS laptop 1EB30 & 1EB31
- rtlwifi: Add firmware v39.0 for RTL8192DU
- Revert "ath12k: WCN7850 hw2.0: update board-2.bin"
- amdgpu: DMCUB DCN35 update
- brcm: Add BCM4354 NVRAM for Jetson TX1
- brcm: Link FriendlyElec NanoPi M4 to AP6356S nvram
- linux-firmware: add firmware for MediaTek Bluetooth chip (MT7920)
- linux-firmware: add firmware for MT7920
- amdgpu: update raven firmware
- amdgpu: update SMU 13.0.10 firmware
- amdgpu: update PSP 13.0.10 firmware
- amdgpu: update GC 11.0.3 firmware
- amdgpu: update VCN 3.1.2 firmware
- amdgpu: update PSP 13.0.5 firmware
- amdgpu: update PSP 13.0.8 firmware
- amdgpu: update vega12 firmware
- amdgpu: update PSP 14.0.4 firmware
- amdgpu: update GC 11.5.2 firmware
- amdgpu: update vega10 firmware
- amdgpu: update VCN 4.0.0 firmware
- amdgpu: update PSP 13.0.0 firmware
- amdgpu: update GC 11.0.0 firmware
- amdgpu: update picasso firmware
- amdgpu: update beige goby firmware
- amdgpu: update vangogh firmware
- amdgpu: update dimgrey cavefish firmware
- amdgpu: update navy flounder firmware
- amdgpu: update green sardine firmware
- amdgpu: update VCN 4.0.2 firmware
- amdgpu: update PSP 13.0.4 firmware
- amdgpu: update GC 11.0.1 firmware
- amdgpu: update sienna cichlid firmware
- amdgpu: update VCN 4.0.6 firmware
- amdgpu: update PSP 14.0.1 firmware
- amdgpu: update GC 11.5.1 firmware
- amdgpu: update VCN 4.0.5 firmware
- amdgpu: update PSP 14.0.0 firmware
- amdgpu: update GC 11.5.0 firmware
- amdgpu: update navi14 firmware
- amdgpu: update renoir firmware
- amdgpu: update navi12 firmware
- amdgpu: update SMU 13.0.6 firmware
- amdgpu: update SDMA 4.4.2 firmware
- amdgpu: update PSP 13.0.6 firmware
- amdgpu: update GC 9.4.3 firmware
- amdgpu: update yellow carp firmware
- amdgpu: update VCN 4.0.4 firmware
- amdgpu: update PSP 13.0.7 firmware
- amdgpu: update GC 11.0.2 firmware
- amdgpu: update navi10 firmware
- amdgpu: update aldebaran firmware
- qcom: update gpu firmwares for qcm6490 chipset
- mt76: mt7996: add firmware files for mt7992 chipset
- mt76: mt7996: add firmware files for mt7996 chipset variants
- Merge tag 'rtw-fw-2024-09-13' of https://github.com/pkshih/linux-firmware into 8922a
- qcom: add gpu firmwares for sa8775p chipset
- amdgpu: update DMCUB to v0.0.233.0 DCN351
- rtw89: 8922a: add fw format-2 v0.35.42.1
- copy-firmware: Handle links to uncompressed files
- WHENCE: Fix battmgr.jsn entry type
- amdgpu: Add VPE 6.1.3 microcode
- amdgpu: add SDMA 6.1.2 microcode
- amdgpu: Add support for PSP 14.0.4
- amdgpu: add GC 11.5.2 microcode
- qcom: qcm6490: add ADSP and CDSP firmware
- linux-firmware: Update firmware file for Intel Bluetooth Magnetor core
- linux-firmware: Update firmware file for Intel BlazarU core
- linux-firmware: Update firmware file for Intel Bluetooth Solar core
- rtl_bt: Update RTL8852B BT USB FW to 0x0447_9301
- realtek: rt1320: Add patch firmware of MCU
- i915: Update MTL DMC v2.23
- cirrus: cs35l56: Add firmware for Cirrus CS35L54 for some HP laptops
- amdgpu: Revert sienna cichlid dmcub firmware update
- Merge tag 'iwlwifi-fw-2024-09-03' of http://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/linux-firmware into iwlwifi-20240903
- iwlwifi: add Bz FW for core89-58 release
- rtl_nic: add firmware rtl8126a-3
- linux-firmware: update firmware for MT7921 WiFi device
- linux-firmware: update firmware for mediatek bluetooth chip (MT7921)
- amdgpu: update DMCUB to v0.0.232.0 for DCN314 and DCN351
- qcom: vpu: restore compatibility with kernels before 6.6
Resolves: RHEL-62359
* Mon Jul 24 2023 Andrew Lukoshko <alukoshko@almalinux.org> - 20230404-114.git2e92a49f.alma
- Update AMD CPU ucode to fix CVE-2023-20593
* Tue Aug 27 2024 Denys Vlasenko <dvlasenk@redhat.com> - 20240827-124.git3cff7109
- AMD SEV: IOMMU improperly handles certain special address leading to a loss of guest integrity (RHEL-54256)
- AMD SEV: Incomplete system memory cleanup in SEV firmware corrupt guest private memory (RHEL-54237)
  Changes since the last update are noted on items below, copied from
  the git changelog of upstream linux-firmware repository.
- amdgpu: DMCUB updates forvarious AMDGPU ASICs
- rtw89: 8922a: add fw format-1 v0.35.41.0
- linux-firmware: update firmware for MT7925 WiFi device
- linux-firmware: update firmware for mediatek bluetooth chip (MT7925)
- rtl_bt: Add firmware and config files for RTL8922A
- rtl_bt: Add firmware file for the the RTL8723CS Bluetooth part
- rtl_bt: de-dupe identical config.bin files
- rename rtl8723bs_config-OBDA8723.bin -> rtl_bt/rtl8723bs_config.bin
- linux-firmware: Update AMD SEV firmware
- linux-firmware: update firmware for MT7996
- Revert "i915: Update MTL DMC v2.22"
- Merge tag 'amd-2024-08-12' of https://gitlab.freedesktop.org/drm/firmware into amd-2024-08-12
- ath12k: WCN7850 hw2.0: update board-2.bin
- ath11k: WCN6855 hw2.0: update to WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.41
- ath11k: WCN6855 hw2.0: update board-2.bin
- ath11k: QCA2066 hw2.1: add to WLAN.HSP.1.1-03926.13-QCAHSPSWPL_V2_SILICONZ_CE-2.52297.3
- ath11k: QCA2066 hw2.1: add board-2.bin
- ath11k: IPQ5018 hw1.0: update to WLAN.HK.2.6.0.1-01291-QCAHKSWPL_SILICONZ-1
- qcom: vpu: add video firmware for sa8775p
- amdgpu: DMCUB updates for various AMDGPU ASICs
- qcom: update path for video firmware for vpu-1/2/3.0
- Merge https://github.com/zijun-hu/qca_btfw into qca_btfw
- Merge tag 'rtw-fw-2024-08-08' of https://github.com/pkshih/linux-firmware into rtw89
- QCA: Update Bluetooth WCN685x 2.1 firmware to 2.1.0-00642
- rtw89: 8852c: add fw format-1 v0.27.97.0
- rtw89: 8852bt: add firmware 0.29.91.0
- amdgpu: Update ISP FW for isp v4.1.1
- Merge tag 'intel-2024-08-02' of https://gitlab.freedesktop.org/drm/firmware into intel-20240805
- Merge https://github.com/zijun-hu/qca_btfw into list-20240802
- mediatek: Update mt8195 SOF firmware
- Merge tag 'amd-2024-08-02' of https://gitlab.freedesktop.org/drm/firmware into amd-20240802
- amdgpu: DMCUB updates for DCN314
- xe: First GuC release v70.29.2 for BMG
- xe: Add GuC v70.29.2 for LNL
- i915: Add GuC v70.29.2 for ADL-P, DG1, DG2, MTL, and TGL
- i915: Update MTL DMC v2.22
- i915: update MTL GSC to v102.0.10.1878
- xe: Add BMG HuC 8.2.10
- xe: Add GSC 104.0.0.1161 for LNL
- xe: Add LNL HuC 9.4.13
- i915: update DG2 HuC to v7.10.16
- amdgpu: Update ISP FW for isp v4.1.1
- amdgpu: Update ISP FW for isp v4.1.1
- amdgpu: add new ISP 4.1.1 firmware
- QCA: Update Bluetooth QCA2066 firmware to 2.1.0-00641
- amdgpu: update DMCUB to v0.0.227.0 for DCN35 and DCN351
- Merge tag 'iwlwifi-fw-2024-07-25' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/iwlwifi/linux-firmware into iwlfifi-fw-2024-07
- Revert "iwlwifi: update ty/So/Ma firmwares for core89-58 release"
- linux-firmware: update firmware for MT7922 WiFi device
- linux-firmware: update firmware for MT7921 WiFi device
- linux-firmware: update firmware for mediatek bluetooth chip (MT7922)
- linux-firmware: update firmware for mediatek bluetooth chip (MT7921)
- iwlwifi: add gl FW for core89-58 release
- iwlwifi: update ty/So/Ma firmwares for core89-58 release
- iwlwifi: update cc/Qu/QuZ firmwares for core89-58 release
- mediatek: Update mt8195 SOF firmware and sof-tplg
- ASoC: tas2781: fix the license issue for tas781 firmware
- rtl_bt: Update RTL8852B BT USB FW to 0x048F_4008
- .gitignore: Ignore intermediate files
- i915: Update Xe2LPD DMC to v2.21
Resolves: RHEL-54256, RHEL-54237
* Tue Jul 16 2024 Denys Vlasenko <dvlasenk@redhat.com> - 20240715-123.git4c8fb21e
- [Intel 8.10 FEAT] [SRF] QAT_402XX firmware update (RHEL-47353)
  Changes since the last update are noted on items below, copied from
  the git changelog of upstream linux-firmware repository.
- qcom: move signed x1e80100 signed firmware to the SoC subdir
- qcom: add video firmware file for vpu-3.0
- amdgpu: update DMCUB to v0.0.225.0 for Various AMDGPU Asics
- qcom: add gpu firmwares for x1e80100 chipset
- linux-firmware: add firmware for qat_402xx devices
- amdgpu: update raven firmware
- amdgpu: update SMU 13.0.10 firmware
- amdgpu: update SDMA 6.0.3 firmware
- amdgpu: update PSP 13.0.10 firmware
- amdgpu: update GC 11.0.3 firmware
- amdgpu: update vega20 firmware
- amdgpu: update PSP 13.0.5 firmware
- amdgpu: update PSP 13.0.8 firmware
- amdgpu: update vega12 firmware
- amdgpu: update vega10 firmware
- amdgpu: update VCN 4.0.0 firmware
- amdgpu: update SDMA 6.0.0 firmware
- amdgpu: update PSP 13.0.0 firmware
- amdgpu: update GC 11.0.0 firmware
- amdgpu: update picasso firmware
- amdgpu: update beige goby firmware
- amdgpu: update vangogh firmware
- amdgpu: update dimgrey cavefish firmware
- amdgpu: update navy flounder firmware
- amdgpu: update PSP 13.0.11 firmware
- amdgpu: update GC 11.0.4 firmware
- amdgpu: update green sardine firmware
- amdgpu: update VCN 4.0.2 firmware
- amdgpu: update SDMA 6.0.1 firmware
- amdgpu: update PSP 13.0.4 firmware
- amdgpu: update GC 11.0.1 firmware
- amdgpu: update sienna cichlid firmware
- amdgpu: update VPE 6.1.1 firmware
- amdgpu: update VCN 4.0.6 firmware
- amdgpu: update SDMA 6.1.1 firmware
- amdgpu: update PSP 14.0.1 firmware
- amdgpu: update GC 11.5.1 firmware
- amdgpu: update VCN 4.0.5 firmware
- amdgpu: update SDMA 6.1.0 firmware
- amdgpu: update PSP 14.0.0 firmware
- amdgpu: update GC 11.5.0 firmware
- amdgpu: update navi14 firmware
- amdgpu: update renoir firmware
- amdgpu: update navi12 firmware
- amdgpu: update PSP 13.0.6 firmware
- amdgpu: update GC 9.4.3 firmware
- amdgpu: update yellow carp firmware
- amdgpu: update VCN 4.0.4 firmware
- amdgpu: update SMU 13.0.7 firmware
- amdgpu: update SDMA 6.0.2 firmware
- amdgpu: update PSP 13.0.7 firmware
- amdgpu: update GC 11.0.2 firmware
- amdgpu: update navi10 firmware
- amdgpu: update raven2 firmware
- amdgpu: update aldebaran firmware
- linux-firmware: Update AMD cpu microcode
- intel: avs: Add topology file for I2S Analog Devices 4567
- intel: avs: Add topology file for I2S Nuvoton 8825
- intel: avs: Add topology file for I2S Maxim 98927
- intel: avs: Add topology file for I2S Maxim 98373
- intel: avs: Add topology file for I2S Maxim 98357a
- intel: avs: Add topology file for I2S Dialog 7219
- intel: avs: Add topology file for I2S Realtek 5663
- intel: avs: Add topology file for I2S Realtek 5640
- intel: avs: Add topology file for I2S Realtek 5514
- intel: avs: Add topology file for I2S Realtek 298
- intel: avs: Add topology file for I2S Realtek 286
- intel: avs: Add topology file for I2S Realtek 274
- intel: avs: Add topology file for Digital Microphone Array
- intel: avs: Add topology file for HDMI codecs
- intel: avs: Add topology file for HDAudio codecs
- Add a copy of Apache-2.0
- intel: avs: Update AudioDSP base firmware for APL-based platforms
- linux-firmware: Add ISH firmware file for Intel Lunar Lake platform
- amdgpu: update DMCUB to v0.0.224.0 for Various AMDGPU Asics
- cirrus: cs35l41: Update various firmware for ASUS laptops using CS35L41
- amdgpu: Update ISP FW for isp v4.1.1
- linux-firmware: mediatek: Update MT8173 VPU firmware to v1.2.0
- qcom: Add AIC100 firmware files
- amlogic: Update bluetooth firmware binary
- linux-firmware: Update firmware file for Intel BlazarU core
- linux-firmware: Update firmware file for Intel Bluetooth Magnetor core
- linux-firmware: Update firmware file for Intel Bluetooth Solar core
- linux-firmware: Update firmware file for Intel Bluetooth Pulsar core
- rtl_bt: Update RTL8822C BT UART firmware to 0xB5D6_6DCB
- rtl_bt: Update RTL8822C BT USB firmware to 0xAED6_6DCB
- amdgpu: update DMCUB to v0.0.222.0 for DCN314
- iwlwifi: add ty/So/Ma firmwares for core88-87 release
- iwlwifi: update cc/Qu/QuZ firmwares for core88-87 release
- linux-firmware: add new cc33xx firmware for cc33xx chips
- cirrus: cs35l56: Update firmware for Cirrus CS35L56 for ASUS UM5606 laptop
- cirrus: cs35l56: Update firmware for Cirrus CS35L56 for various ASUS laptops
- Merge https://github.com/zijun-hu/qca_btfw into qca
Resolves: RHEL-47353
* Mon Jun 10 2024 Denys Vlasenko <dvlasenk@redhat.com> - 20240610-122.git90df68d2
- [Intel 8.10 FEAT] [SPR][EMR] QAT firmware update available (RHEL-15607)
- CVE-2023-31346 AMD SEV: Reserved fields in guest message responses may not be zero initialized [rhel-8.10.0] (RHEL-35596)
- amd-ucode early loading broken [rhel-8] (RHEL-16799)
  Changes since the last update are noted on items below, copied from
  the git changelog of upstream linux-firmware repository.
- linux-firmware: Add firmware for Lenovo Thinkbooks
- amdgpu: update yellow carp firmware
- amdgpu: update VCN 4.0.4 firmware
- amdgpu: update SDMA 6.0.2 firmware
- amdgpu: update PSP 13.0.7 firmware
- amdgpu: update GC 11.0.2 firmware
- amdgpu: update navi10 firmware
- amdgpu: update raven2 firmware
- amdgpu: update raven firmware
- amdgpu: update SMU 13.0.10 firmware
- amdgpu: update SDMA 6.0.3 firmware
- amdgpu: update PSP 13.0.10 firmware
- amdgpu: update GC 11.0.3 firmware
- amdgpu: update VCN 3.1.2 firmware
- amdgpu: update PSP 13.0.5 firmware
- amdgpu: update psp 13.0.8 firmware
- amdgpu: update vega20 firmware
- amdgpu: update vega12 firmware
- amdgpu: update vega10 firmware
- amdgpu: update VCN 4.0.0 firmware
- amdgpu: update smu 13.0.0 firmware
- amdgpu: update SDMA 6.0.0 firmware
- amdgpu: update PSP 13.0.0 firmware
- amdgpu: update GC 11.0.0 firmware
- amdgpu: update picasso firmware
- amdgpu: update beige goby firmware
- amdgpu: update vangogh firmware
- amdgpu: update dimgrey cavefish firmware
- amdgpu: update green sardine firmware
- amdgpu: update navy flounder firmware
- amdgpu: update PSP 13.0.11 firmware
- amdgpu: update GC 11.0.4 firmware
- amdgpu: update VCN 4.0.2 firmware
- amdgpu: update SDMA 6.0.1 firmware
- amdgpu: update PSP 13.0.4 firmware
- amdgpu: update GC 11.0.1 firmware
- amdgpu: update sienna cichlid firmware
- amdgpu: update VCN 4.0.5 firmware
- amdgpu: update PSP 14.0.0 firmware
- amdgpu: update GC 11.5.0 firmware
- amdgpu: update navi14 firmware
- amdgpu: update SMU 13.0.6 firmware
- amdgpu: update PSP 13.0.6 firmware
- amdgpu: update GC 9.4.3 firmware
- amdgpu: update renoir firmware
- amdgpu: update navi12 firmware
- amdgpu: update aldebaran firmware
- amdgpu: add support for PSP 14.0.1
- amdgpu: add support for VPE 6.1.1
- amdgpu: add support for VCN 4.0.6
- amdgpu: add support for SDMA 6.1.1
- amdgpu: add support for GC 11.5.1
- amdgpu: Add support for DCN 3.5.1
- cnm: update chips&media wave521c firmware.
- linux-firmware: Add ordinary firmware for RTL8821AU device
- amdgpu: add new ISP 4.1.1 firmware
- amdgpu: DMCUB updates for various AMDGPU ASICs
- linux-firmware: Amphion: Update vpu firmware
- linux-firmware: Update firmware file for Intel BlazarU core
- linux-firmware: Update firmware file for Intel Bluetooth Magnetor core
- linux-firmware: Update firmware file for Intel Bluetooth Solar core
- linux-firmware: Update firmware file for Intel Bluetooth Solar core
- i915: Add BMG DMC v2.06
- linux-firmware: Add CS35L41 HDA Firmware for Asus HN7306
- linux-firmware: Update firmware tuning for HP Consumer Laptop
- amdgpu: DMCUB updates for various AMDGPU ASICs
- rtl_bt: Update RTL8822C BT UART firmware to 0x0FD6_407B
- rtl_bt: Update RTL8822C BT USB firmware to 0x0ED6_407B
- cirrus: cs35l56: Add firmware for Cirrus CS35L56 for various ASUS laptops
- linux-firmware: Add firmware and tuning for Lenovo Y770S
- amdgpu: DMCUB updates for various AMDGPU ASICs
- linux-firmware: Add firmware for Cirrus CS35L56 for various HP laptops
- i915: Update Xe2LPD DMC to v2.20
- linux-firmware: Remove Calibration Firmware and Tuning for CS35L41
- linux-firmware: Add firmware for Lenovo Thinkbook 13X
- ASoC: tas2781: Add dsp firmware for Thinkpad ICE-1 laptop
- amdgpu: add DMCUB 3.5 firmware
- amdgpu: add VPE 6.1.0 firmware
- amdgpu: add VCN 4.0.5 firmware
- amdgpu: add UMSCH 4.0.0 firmware
- amdgpu: add SDMA 6.1.0 firmware
- amdgpu: add PSP 14.0.0 firmware
- amdgpu: add GC 11.5.0 firmware
- amdgpu: update license date
- Montage: update firmware for Mont-TSSE
- linux-firmware: Add tuning parameter configs for CS35L41 Firmware
- linux-firmware: Fix firmware names for Laptop SSID 104316a3
- linux-firmware: Add CS35L41 HDA Firmware for Lenovo Legion Slim 7 16ARHA7
- linux-firmware: update firmware for mediatek bluetooth chip (MT7922)
- linux-firmware: update firmware for MT7922 WiFi device
- iwlwifi: add gl FW for core87-44 release
- iwlwifi: add ty/So/Ma firmwares for core87-44 release
- iwlwifi: update cc/Qu/QuZ firmwares for core87-44 release
- nvidia: Update Tegra210 XUSB firmware to v50.29
- amdgpu: update beige goby firmware
- amdgpu: update dimgrey cavefish firmware
- amdgpu: update psp 13.0.11 firmware
- amdgpu: update gc 11.0.4 firmware
- amdgpu: update navy flounder firmware
- amdgpu: update renoir firmware
- amdgpu: update vcn 4.0.2 firmware
- amdgpu: update sdma 6.0.1 firmware
- amdgpu: update psp 13.0.4 firmware
- amdgpu: update gc 11.0.1 firmware
- amdgpu: update sienna cichlid firmware
- amdgpu: update vega20 firmware
- amdgpu: update yellow carp firmware
- amdgpu: update green sardine firmware
- amdgpu: update vega12 firmware
- amdgpu: update raven2 firmware
- amdgpu: update vcn 4.0.4 firmware
- amdgpu: update smu 13.0.7 firmware
- amdgpu: update sdma 6.0.2 firmware
- amdgpu: update ipsp 13.0.7 firmware
- amdgpu: update gc 11.0.2 firmware
- amdgpu: update vega10 firmware
- amdgpu: update raven firmware
- amdgpu: update navi14 firmware
- amdgpu: update smu 13.0.10 firmware
- amdgpu: update sdma 6.0.3 firmware
- amdgpu: update psp 13.0.10 firmware
- amdgpu: update gc 11.0.3 firmware
- amdgpu: update vcn 3.1.2 firmware
- amdgpu: update psp 13.0.5 firmware
- amdgpu: update gc 10.3.6 firmware
- amdgpu: update navi12 firmware
- amdgpu: update arcturus firmware
- amdgpu: update vangogh firmware
- amdgpu: update navi10 firmware
- amdgpu: update vcn 4.0.3 firmware
- amdgpu: update smu 13.0.6 firmware
- amdgpu: update psp 13.0.6 firmware
- amdgpu: update gc 9.4.3 firmware
- amdgpu: update vcn 4.0.0 firmware
- amdgpu: update smu 13.0.0 firmware
- amdgpu: update sdma 6.0.0 firmware
- amdgpu: update psp 13.0.0 firmware
- amdgpu: update gc 11.0.0 firmware
- amdgpu: update firmware
- amdgpu: update aldebaran firmware
- amdgpu: update psp 13.0.8 firmware
- amdgpu: update gc 10.3.7 firmware
- linux-firmware: mediatek: Update MT8173 VPU firmware to v1.1.9
- Merge https://github.com/pkshih/linux-firmware into rtw
- ath10k: WCN3990: hw1.0: add qcm2290 firmware API file
- ath10k: WCN3990: hw1.0: move firmware back from qcom/ location
- i915: Add DG2 HuC 7.10.15
- amdgpu: DMCUB updates for various AMDGPU ASICs
- linux-firmware: update firmware for en8811h 2.5G ethernet phy
- mekdiatek: Update mt8186 SOF firmware to v2.0.1
- rtw89: 8852c: update fw to v0.27.56.14
- rtw89: 8922a: add firmware v0.35.18.0
- rtw88: Add RTL8703B firmware v11.0.0
- linux-firmware: Add firmware for Cirrus CS35L56 for Dell laptops
- Montage: update firmware for Mont-TSSE
- WHENCE: Link the Raspberry Pi CM4 and 5B to the 4B
- Intel Bluetooth: Update firmware file for Intel Bluetooth BE200
- Intel Bluetooth: Update firmware file for Magnetor Intel Bluetooth AX101
- Intel Bluetooth: Update firmware file for Magnetor Intel Bluetooth AX203
- Intel Bluetooth: Update firmware file for Magnetor Intel Bluetooth AX211
- Intel Bluetooth: Update firmware file for SolarF Intel Bluetooth AX101
- Intel Bluetooth: Update firmware file for Solar Intel Bluetooth AX101
- Intel Bluetooth: Update firmware file for SolarF Intel Bluetooth AX203
- Intel Bluetooth: Update firmware file for Solar Intel Bluetooth AX203
- Intel Bluetooth: Update firmware file for SolarF Intel Bluetooth AX211
- Intel Bluetooth: Update firmware file for Solar Intel Bluetooth AX211
- Intel Bluetooth: Update firmware file for Solar Intel Bluetooth AX210
- Intel Bluetooth: Update firmware file for Intel Bluetooth AX200
- Intel Bluetooth: Update firmware file for Intel Bluetooth AX201
- Intel Bluetooth: Update firmware file for Intel Bluetooth 9560
- Intel Bluetooth: Update firmware file for Intel Bluetooth 9260
- amdgpu: DMCUB updates for various AMDGPU ASICs
- linux-firmware: mediatek: Update MT8173 VPU firmware to v1.1.8
- imx: sdma: update firmware to v3.6/v4.6
- linux-firmware: update firmware for mediatek bluetooth chip (MT7921)
- iwlwifi: update 9000-family firmwares to core85-89
- rtl_bt: Update RTL8852A BT USB firmware to 0xD9D6_17DA
- linux-firmware: update firmware for MT7921 WiFi device
- linux-firmware: update firmware for mediatek bluetooth chip (MT7922)
- linux-firmware: update firmware for MT7922 WiFi device
- linux-firmware: Add CS35L41 HDA Firmware for Lenovo Thinkbook 16P Laptops
- amdgpu: Update VCN firmware binaries
- Intel IPU2: Add firmware files
- brcm: Add nvram for the Acer Iconia One 7 B1-750 tablet
- i915: Add Xe2LPD DMC v2.18
- i915: Update MTL DMC v2.21
- linux-firmware: update firmware for en8811h 2.5G ethernet phy
- linux-firmware: add firmware for MT7996
- xe: First GuC release for LNL and Xe
- i915: Add GuC v70.20.0 for ADL-P, DG1, DG2, MTL and TGL
- linux-firmware: Add CS35L41 firmware for Lenovo Legion 7i gen7 laptop (16IAX7)
- brcm: Add nvram for the Asus Memo Pad 7 ME176C tablet
- ice: update ice DDP package to 1.3.36.0
- Intel IPU3 ImgU: Move firmware file under intel/ipu
- Intel IPU6: Move firmware binaries under ipu/
- check_whence: Add a check for duplicate link entries
- WHENCE: Clean up section separators
- linux-firmware: Add CS35L41 firmware for additional ASUS Zenbook 2023 models
- panthor: Add initial firmware for Gen10 Arm Mali GPUs
- amdgpu: DMCUB Updates for DCN321: 7.0.38.0
- amdgpu: DMCUB updates for Yellow Carp: 4.0.68.0
- qcom: update venus firmware file for v5.4
- Montage: add firmware for Mont-TSSE
- amdgpu: update DMCUB to v0.0.203.0 for DCN314 and DCN32
- linux-firmware: Remove 2 HP laptops using CS35L41 Audio Firmware
- linux-firmware: Fix filenames for some CS35L41 firmwares for HP
- linux-firmware: wilc1000: update WILC1000 firmware to v16.1.2
- rtl_nic: add firmware for RTL8126A
- linux-firmware: intel: Add IPU6 firmware binaries
- ath11k: WCN6855 hw2.0: update to WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.37
- qcom: Add Audio firmware for SM8550 HDK
- Merge tag 'amd-2024-01-30.2' into mlimonci/amd-2024-01-30.2
- Revert "amdgpu: DMCUB updates for various AMDGPU ASICs"
- amdgpu: update SMU 13.0.0 firmware
- amdgpu: update PSP 13.0.0 firmware
- amdgpu: update GC 11.0.0 firmware
- brcm: Add brcmfmac43430-sdio.xxx.txt nvram for the Chuwi Hi8 (CWI509) tablet
- amdgpu: DMCUB updates for various AMDGPU ASICs
- qcom: Add Audio firmware for SM8650 MTP
- linux-firmware: Add firmware for Cirrus CS35L41 on HP Consumer Laptops
- Intel Bluetooth: Make spacing consistent with rest of WHENCE
- amdgpu: update raven2 firmware
- amdgpu: update raven firmware
- amdgpu: update SDMA 5.2.7 firmware
- amdgpu: update PSP 13.0.8 firmware
- amdgpu: update VCN 3.1.2 firmware
- amdgpu: update SDMA 5.2.6 firmware
- amdgpu: update PSP 13.0.5 firmware
- amdgpu: update GC 10.3.6 firmware
- amdgpu: add GC 11.0.1 rlc_1 firmware
- amdgpu: update vega20 firmware
- amdgpu: update VCN 4.0.0 firmware
- amdgpu: update SMU 13.0.0 firmware
- amdgpu: update PSP 13.0.0 firmware
- amdgpu: update GC 11.0.0 firmware
- amdgpu: update vega12 firmware
- amdgpu: update vega10 firmware
- amdgpu: update beige goby firmware
- amdgpu: update picasso firmware
- amdgpu: update dimgrey cavefish firmware
- amdgpu: update vangogh firmware
- amdgpu: update navy flounder firmware
- amdgpu: update green sardine firmware
- amdgpu: update sienna cichlid firmware
- amdgpu: update PSP 13.0.11 firmware
- amdgpu: update GC 11.0.4 firmware
- amdgpu: update VCN 4.0.2 firmware
- amdgpu: update PSP 13.0.4 firmware
- amdgpu: update GC 11.0.1 firmware
- amdgpu: update arcturus firmware
- amdgpu: update navi14 firmware
- amdgpu: add VCN 4.0.3 firmware
- amdgpu: add SDMA 4.4.2 firmware
- amdgpu: add SMU 13.0.6 firmware
- amdgpu: add PSP 13.0.6 firmware
- amdgpu: Add GC 9.4.3 firmware
- amdgpu: update renoir firmware
- amdgpu: update VCN 4.0.4 firmware
- amdgpu: update SMU 13.0.7 firmware
- amdgpu: update PSP 13.0.7 firmware
- amdgpu: update GC 11.0.2 firmware
- amdgpu: update navi12 firmware
- amdgpu: update yellow carp firmware
- amdgpu: update SMU 13.0.10 firmware
- amdgpu: update SDMA 6.0.3 firmware
- amdgpu: update PSP 13.0.10 firmware
- amdgpu: update GC 11.0.3 firmware
- amdgpu: update navi10 firmware
- amdgpu: update aldebaran firmware
- linux-firmware: Update AMD cpu microcode
- RTL8192E: Remove old realtek WiFi firmware
- Intel Bluetooth: Update firmware file for Magnetor Intel Bluetooth AX101
- Intel Bluetooth: Update firmware file for Magnetor Intel Bluetooth AX203
- Intel Bluetooth: Update firmware file for SolarF Intel Bluetooth AX203
- Intel Bluetooth: Update firmware file for SolarF Intel Bluetooth AX211
- Intel Bluetooth: Update firmware file for Solar Intel Bluetooth AX211
- amdgpu: DMCUB updates for DCN314
- qcom: Update the firmware for Adreno a630 family of GPUs
- cirrus: Add CS35L41 firmware for Legion Slim 7 Gen 8 laptops
- linux-firmware: Add firmware for Cirrus CS35L41 for various Dell laptops
- linux-firmware: update firmware for qat_4xxx devices
Resolves: RHEL-35596, RHEL-16799, RHEL-15607
* Thu Jan 11 2024 Denys Vlasenko <dvlasenk@redhat.com> - 20240111-121.gitb3132c18
- Pass --ignore-duplicates to copy-firmware.sh
- AMD Zen3 and Zen4: fix for INVD instruction causing loss of SEV-ES guest machine memory integrity
Resolves: RHEL-13982
* Wed Nov 22 2023 Denys Vlasenko <dvlasenk@redhat.com> - 20231121-120.git9552083a
- Work around absense of rdfind during build
- Add file directives for new iwlwifi files
Resolves: RHEL-16721, RHEL-14260
* Tue Nov 21 2023 Denys Vlasenko <dvlasenk@redhat.com> - 20231121-119.git9552083a
- Update to latest upstream linux-firmware image for assorted updates
- Update AMD cpu microcode
- hw: intel: Fix protection mechanism failure for some Intel(R) PROSet/Wireless WiFi
Resolves: RHEL-16721, RHEL-14260
* Thu Aug 24 2023 Denys Vlasenko <dvlasenk@redhat.com> - 20230824-118.git0e048b06
- Update to latest upstream linux-firmware image for assorted updates
- AMD Zen3 and Zen4 firmware update for return address predictor velunerability
Resolves: rhbz#2230415
* Tue Aug 08 2023 Denys Vlasenko <dvlasenk@redhat.com> - 20230808-117.git0ab353f8
- Update to latest upstream linux-firmware image for assorted updates
- Navi32 dGPU firmware
- Update to fix multi monitor behind TBT3 dock & random flickers
- AMD Zen2 firmware update for cross-process information leak
Resolves: rhbz#2047482, rhbz#2227846, rhbz#2227153
* Tue Jul 11 2023 Denys Vlasenko <dvlasenk@redhat.com> - 20230711-116.gitd3f66064
- Update to latest upstream linux-firmware image for assorted updates
- AMD GPU firmware update: fix PSR-SU issues with kernel 6.2 or later
Resolves: rhbz#2218670
* Mon May 15 2023 Denys Vlasenko <dvlasenk@redhat.com> - 20230515-115.gitd1962891
- Update to latest upstream linux-firmware image for assorted updates
- [RHEL8] Add latest NVIDIA signed firmware for Turing GPUs and later
Resolves: rhbz#2183606
* Wed Apr 05 2023 Patrick Talbert <ptalbert@redhat.com> - 20230404-114.git2e92a49f
- Update to latest upstream linux-firmware image for assorted updates
@ -648,7 +1237,7 @@ sed -e 's/^/%%dir /' linux-firmware.dirs >> linux-firmware.files
* Fri Sep 23 2016 Josh Boyer <jwboyer@fedoraproject.org> 20160923-68.git42ad5367
- Update to the latest upstream snapshot
- ath10k, amdgpu, mediatek, brcm, marvell updates
* Tue Aug 16 2016 Josh Boyer <jwboyer@fedoraproject.org> 20160816-67.git7c3dfc0b
- Update to the latest upstream snapshot (rhbz 1367203)
- Intel audio, rockchip, amdgpu, iwlwifi, nvidia pascal updates
@ -837,8 +1426,8 @@ sed -e 's/^/%%dir /' linux-firmware.dirs >> linux-firmware.files
* Mon Feb 04 2013 Josh Boyer <jwboyer@redhat.com> - 20130201-0.3.git65a5163
- Obsolete ql2[45]00-firmware packages (rhbz 906898)
* Fri Feb 01 2013 Josh Boyer <jwboyer@redhat.com>
* Fri Feb 01 2013 Josh Boyer <jwboyer@redhat.com>
- Update to latest upstream release
- Provide firmware for carl9170 (rhbz 866051)