aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--SOURCES/loki-mini-pro-hda-pin-fixes.patch92
-rw-r--r--SPECS/kernel.spec7
-rwxr-xr-xTOOLS/build.sh1
-rwxr-xr-xTOOLS/download_kernel.sh22
4 files changed, 120 insertions, 2 deletions
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 <sentrycraft123@gmail.com> - 6.9.12-202.fsync
+- kernel v6.9.12 loki mini
+
* Mon Jul 29 2024 Jan200101 <sentrycraft123@gmail.com> - 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