From d5731f7b08817d6c698f9263d9bbe1f1ebf49cde Mon Sep 17 00:00:00 2001 From: Jan200101 Date: Wed, 31 Jul 2024 13:57:21 +0200 Subject: kernel 6.9.12 Loki mini hda pin fixes --- SOURCES/loki-mini-pro-hda-pin-fixes.patch | 92 +++++++++++++++++++++++++++++++ SPECS/kernel.spec | 7 ++- TOOLS/build.sh | 1 - TOOLS/download_kernel.sh | 22 ++++++++ 4 files changed, 120 insertions(+), 2 deletions(-) create mode 100644 SOURCES/loki-mini-pro-hda-pin-fixes.patch create mode 100755 TOOLS/download_kernel.sh diff --git a/SOURCES/loki-mini-pro-hda-pin-fixes.patch b/SOURCES/loki-mini-pro-hda-pin-fixes.patch new file mode 100644 index 0000000..3a9e2e4 --- /dev/null +++ b/SOURCES/loki-mini-pro-hda-pin-fixes.patch @@ -0,0 +1,92 @@ +From ac9f4bc9951e89d92bf01b1744de7847d0b0bf78 Mon Sep 17 00:00:00 2001 +From: CVMagic <546352+CVMagic@users.noreply.github.com> +Date: Mon, 29 Jul 2024 21:34:45 -0400 +Subject: [PATCH 1/2] Applying HDA pin fixes specific for the Loki MiniPro + +--- + sound/pci/hda/patch_realtek.c | 20 ++++++++++++++++++-- + 1 file changed, 18 insertions(+), 2 deletions(-) + +diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c +index 7193d295ceeecd..342e60c65a1c2c 100644 +--- a/sound/pci/hda/patch_realtek.c ++++ b/sound/pci/hda/patch_realtek.c +@@ -7306,6 +7306,7 @@ enum { + ALC269VB_FIXUP_ASUS_ZENBOOK_UX31A, + ALC269VB_FIXUP_ASUS_MIC_NO_PRESENCE, + ALC269VB_FIXUP_AYANEO_SPKR_PIN_FIX, ++ ALC269VB_FIXUP_AYN_SPKR_PIN_FIX, + ALC269_FIXUP_LIMIT_INT_MIC_BOOST_MUTE_LED, + ALC269VB_FIXUP_ORDISSIMO_EVE2, + ALC283_FIXUP_CHROME_BOOK, +@@ -7549,16 +7550,22 @@ static void alc269_fixup_match_via_dmi(struct hda_codec *codec, + { + int alc269_fix_id; + const char *board_name = dmi_get_system_info(DMI_BOARD_NAME); +- ++ + if (dmi_name_in_vendors("AYANEO") || dmi_name_in_vendors("AYADEVICE") || dmi_name_in_vendors("AYA DEVICE")) { ++ codec_dbg(codec, "Board Vendor: Ayaneo\n"); + if (board_name && (strcmp(board_name, "AYANEO 2") || strcmp(board_name, "AYANEO 2S") || strcmp(board_name, "GEEK") || strcmp(board_name, "GEEK 1S"))) { ++ codec_dbg(codec, "Applying: ALC269_FIXUP_AYA_HEADSET_VOLUME\n"); + alc269_fix_id = ALC269_FIXUP_AYA_HEADSET_VOLUME; + } else { ++ codec_dbg(codec, "No matching board found. Applying default settings.\n"); + return; + } + } else if (dmi_name_in_vendors("ayn") && strcmp(board_name, "Loki MiniPro")) { +- alc269_fix_id = ALC269VB_FIXUP_AYANEO_SPKR_PIN_FIX; ++ codec_dbg(codec, "Board Vendor: Ayn\n"); ++ codec_dbg(codec, "Applying: ALC269VB_FIXUP_AYN_SPKR_PIN_FIX\n"); ++ alc269_fix_id = ALC269VB_FIXUP_AYN_SPKR_PIN_FIX; + } else { ++ codec_dbg(codec, "No matching board found. Applying default settings.\n"); + return; + } + __snd_hda_apply_fixup(codec, alc269_fix_id, action, 0); +@@ -8050,6 +8057,14 @@ static const struct hda_fixup alc269_fixups[] = { + { } + }, + }, ++ [ALC269VB_FIXUP_AYN_SPKR_PIN_FIX] = { ++ .type = HDA_FIXUP_PINS, ++ .v.pins = (const struct hda_pintbl[]) { ++ { 0x14, 0x40f000f0 }, /* not connected */ ++ { 0x1a, 0x90170150 }, /* speaker */ ++ { } ++ }, ++ }, + [ALC269_FIXUP_LIMIT_INT_MIC_BOOST_MUTE_LED] = { + .type = HDA_FIXUP_FUNC, + .v.func = alc269_fixup_limit_int_mic_boost, +@@ -10801,6 +10816,7 @@ static const struct hda_model_fixup alc269_fixup_models[] = { + {.id = ALC269VB_FIXUP_ASUS_ZENBOOK_UX31A, .name = "asus-zenbook-ux31a"}, + {.id = ALC269VB_FIXUP_ORDISSIMO_EVE2, .name = "ordissimo"}, + {.id = ALC269VB_FIXUP_AYANEO_SPKR_PIN_FIX, .name = "ayaneo-speaker-pin-fix"}, ++ {.id = ALC269VB_FIXUP_AYN_SPKR_PIN_FIX, .name = "ayn-speaker-pin-fix"}, + {.id = ALC282_FIXUP_ASUS_TX300, .name = "asus-tx300"}, + {.id = ALC283_FIXUP_INT_MIC, .name = "alc283-int-mic"}, + {.id = ALC290_FIXUP_MONO_SPEAKERS_HSJACK, .name = "mono-speakers"}, + +From 29e6669c5c5b186d8192e285241596b44cd8de6c Mon Sep 17 00:00:00 2001 +From: CVMagic <546352+CVMagic@users.noreply.github.com> +Date: Mon, 29 Jul 2024 21:37:48 -0400 +Subject: [PATCH 2/2] Update patch_realtek.c + +--- + sound/pci/hda/patch_realtek.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c +index 342e60c65a1c2c..f74561c8646657 100644 +--- a/sound/pci/hda/patch_realtek.c ++++ b/sound/pci/hda/patch_realtek.c +@@ -7550,7 +7550,7 @@ static void alc269_fixup_match_via_dmi(struct hda_codec *codec, + { + int alc269_fix_id; + const char *board_name = dmi_get_system_info(DMI_BOARD_NAME); +- ++ + if (dmi_name_in_vendors("AYANEO") || dmi_name_in_vendors("AYADEVICE") || dmi_name_in_vendors("AYA DEVICE")) { + codec_dbg(codec, "Board Vendor: Ayaneo\n"); + if (board_name && (strcmp(board_name, "AYANEO 2") || strcmp(board_name, "AYANEO 2S") || strcmp(board_name, "GEEK") || strcmp(board_name, "GEEK 1S"))) { diff --git a/SPECS/kernel.spec b/SPECS/kernel.spec index 714645d..83c1a03 100644 --- a/SPECS/kernel.spec +++ b/SPECS/kernel.spec @@ -169,7 +169,7 @@ Summary: The Linux kernel # This is needed to do merge window version magic %define patchlevel 9 # This allows pkg_release to have configurable %%{?dist} tag -%define specrelease 201%{?buildid}%{?dist} +%define specrelease 202%{?buildid}%{?dist} # This defines the kabi tarball version %define kabiversion 6.9.12 @@ -1047,6 +1047,7 @@ Patch414: 0001-add-revoke_all-ioctl-to-release-event-and-joy-nodes-.patch # Chimera speaker fixes Patch415: v0-speaker-multifix.patch Patch416: v0-oxp-sensors.patch +Patch417: loki-mini-pro-hda-pin-fixes.patch # Allow to set custom USB pollrate for specific devices like so: # usbcore.interrupt_interval_override=045e:00db:16,1bcf:0005:1 @@ -1951,6 +1952,7 @@ ApplyOptionalPatch 0001-add-revoke_all-ioctl-to-release-event-and-joy-nodes-.pat # Chimera speaker fixes ApplyOptionalPatch v0-speaker-multifix.patch ApplyOptionalPatch v0-oxp-sensors.patch +ApplyOptionalPatch loki-mini-pro-hda-pin-fixes.patch # Allow to set custom USB pollrate for specific devices like so: # usbcore.interrupt_interval_override=045e:00db:16,1bcf:0005:1 @@ -4131,6 +4133,9 @@ fi\ # # %changelog +* Wed Jul 31 2024 Jan200101 - 6.9.12-202.fsync +- kernel v6.9.12 loki mini + * Mon Jul 29 2024 Jan200101 - 6.9.12-201.fsync - kernel-fsync v6.9.12 diff --git a/TOOLS/build.sh b/TOOLS/build.sh index d15c278..5e9a774 100755 --- a/TOOLS/build.sh +++ b/TOOLS/build.sh @@ -1,5 +1,4 @@ #/bin/env bash - set -eux # make sure we check our own directories diff --git a/TOOLS/download_kernel.sh b/TOOLS/download_kernel.sh new file mode 100755 index 0000000..4f5989d --- /dev/null +++ b/TOOLS/download_kernel.sh @@ -0,0 +1,22 @@ +#/bin/env bash +set -eu + +if [[ $# != 1 ]]; then + >&2 echo "usage: download_kernel.sh [f40]" + exit 1 +fi + +TOPDIR="$(realpath "$(dirname "${BASH_SOURCE[0]}")/..")" +SOURCEDIR="${TOPDIR}/SOURCES" +FEDORA="${1}" + +TEMP_DIR=$(mktemp -d) +trap '{ rm -rf -- "$TEMP_DIR"; }' EXIT +pushd $TEMP_DIR + +wget https://src.fedoraproject.org/rpms/kernel/raw/${FEDORA}/f/kernel.spec +wget https://src.fedoraproject.org/rpms/kernel/raw/${FEDORA}/f/sources + +fedpkg --name kernel sources --force --outdir "${SOURCEDIR}" + +popd -- cgit v1.2.3