diff mbox series

[kernel-snaps-uc22/main] trim-firmware: copy pnvm settings

Message ID 20221212141010.1043724-1-dimitri.ledkov@canonical.com
State New
Headers show
Series [kernel-snaps-uc22/main] trim-firmware: copy pnvm settings | expand

Commit Message

Dimitri John Ledkov Dec. 12, 2022, 2:10 p.m. UTC
BugLink: https://bugs.launchpad.net/bugs/1999396

iwlwifi driver loads pnvm settings from a UEFI variable, and if
absent, fallsback to loading settings from a firmware file. At the
moment these are not declared by the module. Add custom logic to check
and copy pnvm settings for any matching iwlwifi ucode files.

Signed-off-by: Dimitri John Ledkov <dimitri.ledkov@canonical.com>
---
 trim-firmware | 10 ++++++++++
 1 file changed, 10 insertions(+)

Comments

Dimitri John Ledkov Jan. 11, 2023, 11:55 a.m. UTC | #1
Applied to uc22 repository, main branch.

On Mon, 12 Dec 2022 at 14:10, Dimitri John Ledkov
<dimitri.ledkov@canonical.com> wrote:
>
> BugLink: https://bugs.launchpad.net/bugs/1999396
>
> iwlwifi driver loads pnvm settings from a UEFI variable, and if
> absent, fallsback to loading settings from a firmware file. At the
> moment these are not declared by the module. Add custom logic to check
> and copy pnvm settings for any matching iwlwifi ucode files.
>
> Signed-off-by: Dimitri John Ledkov <dimitri.ledkov@canonical.com>
> ---
>  trim-firmware | 10 ++++++++++
>  1 file changed, 10 insertions(+)
>
> diff --git a/trim-firmware b/trim-firmware
> index c590aa2114..148c964572 100755
> --- a/trim-firmware
> +++ b/trim-firmware
> @@ -100,6 +100,16 @@ if [ -d "${DESTDIR}"/modules/*/kernel/sound/soc/sof/intel/ ] && \
>      cp -r "${DESTDIR}"/firmware/intel/sof-tplg "${DESTDIR}"/firmware.new/intel/
>  fi
>
> +# Undeclared PNVM fallback settings LP: #1999396
> +for ucode in "${DESTDIR}"/firmware/iwlwifi-*.ucode; do
> +       if [ -e $ucode ]; then
> +               pnvm_file=$(basename $ucode | sed -n 's/\(iwlwifi-.*\)-[0-9]*.ucode/\1.pnvm/p')
> +               if [ -e "${DESTDIR}"/firmware/$pnvm_file ]; then
> +                       cp "${DESTDIR}"/firmware/$pnvm_file "${DESTDIR}"/firmware.new/$pnvm_file
> +               fi
> +       fi
> +done
> +
>  # Switch to the new firmware directory
>  rm -rf "${DESTDIR}"/firmware
>  mv "${DESTDIR}"/firmware.new "${DESTDIR}"/firmware
> --
> 2.34.1
>
diff mbox series

Patch

diff --git a/trim-firmware b/trim-firmware
index c590aa2114..148c964572 100755
--- a/trim-firmware
+++ b/trim-firmware
@@ -100,6 +100,16 @@  if [ -d "${DESTDIR}"/modules/*/kernel/sound/soc/sof/intel/ ] && \
     cp -r "${DESTDIR}"/firmware/intel/sof-tplg "${DESTDIR}"/firmware.new/intel/
 fi
 
+# Undeclared PNVM fallback settings LP: #1999396
+for ucode in "${DESTDIR}"/firmware/iwlwifi-*.ucode; do
+	if [ -e $ucode ]; then
+		pnvm_file=$(basename $ucode | sed -n 's/\(iwlwifi-.*\)-[0-9]*.ucode/\1.pnvm/p')
+		if [ -e "${DESTDIR}"/firmware/$pnvm_file ]; then
+			cp "${DESTDIR}"/firmware/$pnvm_file "${DESTDIR}"/firmware.new/$pnvm_file
+		fi
+	fi
+done
+
 # Switch to the new firmware directory
 rm -rf "${DESTDIR}"/firmware
 mv "${DESTDIR}"/firmware.new "${DESTDIR}"/firmware