Merge pull request #2651 from JustEnoughLinuxOS/dev

PR for release
This commit is contained in:
fewtarius 2024-01-09 13:10:42 -05:00 committed by GitHub
commit 68414f1bc1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
96 changed files with 192230 additions and 2415 deletions

View file

@ -6,8 +6,6 @@
name: release-dev
on:
schedule:
- cron: '0 12 * * *'
workflow_dispatch:
env:
BRANCH: dev

View file

@ -115,6 +115,7 @@ JELOS supports a variety of ARM and Intel/AMD based devices.
| AYANEO | [Air / Air Pro](http://jelos.org/devices/ayaneo/air) | Amd Ryzen 5 5560U / AMD Ryzen 7 5825U (x86_64) | Mainline Linux | Radeonsi | Weston + Emulation Station |
| AYANEO | [Air Plus](http://jelos.org/devices/ayaneo/air-plus) | Amd Ryzen 7 6800U / (x86_64) | Mainline Linux | Radeonsi | Weston + Emulation Station |
| AYANEO | [AYANEO 2](http://jelos.org/devices/ayaneo/ayaneo-2) | Amd Ryzen 7 6800U / (x86_64) | Mainline Linux | Radeonsi | Weston + Emulation Station |
| AYANEO | [AYANEO 2S](http://jelos.org/devices/ayaneo/ayaneo-2) | Amd Ryzen 7 7840U / (x86_64) | Mainline Linux | Radeonsi | Weston + Emulation Station |
| Ayn | [Loki Zero](http://jelos.org/devices/ayn/loki-zero) | AMD Athlon Silver 3050e (x86_64) | Mainline Linux | Radeonsi | Weston + Emulation Station |
| Ayn | [Loki Max](http://jelos.org/devices/ayn/loki-max) | Amd Ryzen 7 6800U / (x86_64) | Mainline Linux | Radeonsi | Weston + Emulation Station |
| GPD | [Win 4](http://jelos.org/devices/gpd/win4) | Amd Ryzen 7 6800U / (x86_64) | Mainline Linux | Radeonsi | Weston + Emulation Station |

View file

@ -12,3 +12,4 @@ mupen64plus-sa-ui-console #Causes segfaults
kronos-sa #using the release version of kronos had better results.
retroarch #pinning to release versions for stability.
vita3k-sa #Patch updates needed.
gzdoom-sa #Stick to release versions.

View file

@ -14,7 +14,7 @@ if [ "${TARGET_ARCH}" = "x86_64" ]
then
PKG_SITE+="qt"
PKG_URL="${PKG_SITE}.git"
PKG_VERSION="8f2db994068757bead7598a8308c9e839be85e8c"
PKG_VERSION="c3e886fbcc4664b7afb5f0062c1558eda02b9001"
PKG_DEPENDS_TARGET+=" qt5"
PKG_TOOLCHAIN="manual"
make_target() {

View file

@ -20,7 +20,7 @@
################################################################################
PKG_NAME="beetle-pce-fast-lr"
PKG_VERSION="fe662eb161f73749a372657192c7fe234bc8e3ad"
PKG_VERSION="fa2ad8e4ad2c01f2e6dc05e5e9cc3b68153c4d66"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"

View file

@ -20,7 +20,7 @@
################################################################################
PKG_NAME="beetle-pce-lr"
PKG_VERSION="65977d85040622d15e96b6aa6581e30e6c6829e8"
PKG_VERSION="7f0375608181c02b504d585c788a568522a0606c"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"

View file

@ -0,0 +1,19 @@
supafaust_audio_rate = "disabled"
supafaust_correct_aspect = "enabled"
supafaust_cx4_clock_rate = "100"
supafaust_deinterlacer = "bob_offset"
supafaust_frame_begin_vblank = "enabled"
supafaust_h_filter = "phr256blend_auto512"
supafaust_multitap = "disabled"
supafaust_pixel_format = "rgb565"
supafaust_region = "auto"
supafaust_renderer = "mt"
supafaust_run_ahead = "disabled"
supafaust_slend = "223"
supafaust_slendp = "238"
supafaust_slstart = "0"
supafaust_slstartp = "0"
supafaust_superfx_clock_rate = "100"
supafaust_superfx_icache = "disabled"
supafaust_thread_affinity_emu = "0x3"
supafaust_thread_affinity_ppu = "0xc"

View file

@ -38,4 +38,7 @@ PKG_AUTORECONF="no"
makeinstall_target() {
mkdir -p ${INSTALL}/usr/lib/libretro
cp ${PKG_BUILD}/mednafen_supafaust_libretro.so ${INSTALL}/usr/lib/libretro/beetle_supafaust_libretro.so
mkdir -p ${INSTALL}/usr/config/retroarch
cp -rf ${PKG_DIR}/config/* ${INSTALL}/usr/config/retroarch/
}

View file

@ -20,7 +20,7 @@
################################################################################
PKG_NAME="beetle-supergrafx-lr"
PKG_VERSION="47c977c169cd60f1518d64ccf1fc83481bf6e869"
PKG_VERSION="b30e5619610f9ddba3932a9a45542c1665121502"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"

View file

@ -2,7 +2,7 @@
# Copyright (C) 2022-present JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="bsnes-lr"
PKG_VERSION="370a8642b1ec06d60d65467f4db1b098e4cb49f1"
PKG_VERSION="80066f22b12014f02f853fbfcf0f494c974800ec"
PKG_LICENSE="GPLv2"
PKG_SITE="https://github.com/libretro/bsnes-libretro"
PKG_URL="${PKG_SITE}/archive/${PKG_VERSION}.tar.gz"

View file

@ -20,7 +20,7 @@
################################################################################
PKG_NAME="cap32-lr"
PKG_VERSION="4a071f2c004273abf0f9fa0640b36f6664d8381a"
PKG_VERSION="e727310c86ef1dc1d1c3ffa2e7fa73b3c8dd0d0d"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"

View file

@ -19,7 +19,7 @@
################################################################################
PKG_NAME="dosbox-pure-lr"
PKG_VERSION="696503df41c52376cc4de8774c4c46107a846a8f"
PKG_VERSION="87bf6365158325b76ff238c1ad8daf16a859bbe8"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"

View file

@ -4,7 +4,7 @@
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="fbneo-lr"
PKG_VERSION="c6cb6e43497f45a7d39e1194447f318eb0b27b16"
PKG_VERSION="4138e7d4f949780f4176f6c174177eb3b6cc2789"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="Non-commercial"

View file

@ -20,7 +20,7 @@
################################################################################
PKG_NAME="fceumm-lr"
PKG_VERSION="76bde1c45707db6c5947c35b9c3e46dea4eb6258"
PKG_VERSION="20efbf049918a1000e43fb240fba57ed70887581"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"

View file

@ -20,7 +20,7 @@
################################################################################
PKG_NAME="gambatte-lr"
PKG_VERSION="035dbe127a38ce55501a0dfc3913d85f6446fe9a"
PKG_VERSION="71d22fdd891e7776f9a175a5a6af51d2b9844b44"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"

View file

@ -15,7 +15,7 @@
################################################################################
PKG_NAME="gearboy-lr"
PKG_VERSION="7e2b48051875ea5fe9a61d68b821bab763646c85"
PKG_VERSION="af6ed2870c104e266accfb3cbb2fde761cec9e63"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View file

@ -15,7 +15,7 @@
################################################################################
PKG_NAME="gearcoleco-lr"
PKG_VERSION="09f8d89f1c35bbd5d6eaf5fb47c090a3fdad28ba"
PKG_VERSION="512990acdeb98fc87483e2964f21be557ccd0844"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View file

@ -20,7 +20,7 @@
################################################################################
PKG_NAME="gearsystem-lr"
PKG_VERSION="302fc34fc36e33d017bbc6dbe3ca101e6e3fafae"
PKG_VERSION="538367784fecf9767cf9197794b9d489fd044042"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv3"

View file

@ -21,7 +21,7 @@
################################################################################
PKG_NAME="genesis-plus-gx-lr"
PKG_VERSION="5ca4135eed69e8ce153c76e403491eae560eae69"
PKG_VERSION="565c126dfa2edd12c6ab27acb168465bace33171"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="Non-commercial"

View file

@ -20,7 +20,7 @@
################################################################################
PKG_NAME="genesis-plus-gx-wide-lr"
PKG_VERSION="659329cbfbc3267f4f617910a3ecee60dd655dac"
PKG_VERSION="d5531ca58d628a2ba6f791804aa01e2fb2cb0e13"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="Non-commercial"

View file

@ -19,7 +19,7 @@
################################################################################
PKG_NAME="handy-lr"
PKG_VERSION="0559d3397f689ea453b986311aeac8dbd33afb0b"
PKG_VERSION="65d6b865544cd441ef2bd18cde7bd834c23d0e48"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="Zlib"

View file

@ -20,7 +20,7 @@
################################################################################
PKG_NAME="libretro-database"
PKG_VERSION="02dac2c8a7b779b495d5ce93d8fedd01738fc566"
PKG_VERSION="4d5109f74e9a5b1050398bcbe84ebcf0bd14ff7c"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View file

@ -21,7 +21,7 @@
################################################################################
PKG_NAME="mame2003-plus-lr"
PKG_VERSION="59e49400fa6fc95237885c06732dfeef27687dec"
PKG_VERSION="b4b8587904ffe8870708861d7209938c33cd7fc3"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="MAME"

View file

@ -2,7 +2,7 @@
# Copyright (C) 2022-present AmberELEC (https://github.com/AmberELEC)
PKG_NAME="mojozork-lr"
PKG_VERSION="89832e31d9d05c4e81908286b99db21924f3ba1a"
PKG_VERSION="5c8d81f8db53c206ace6952472e7a7e68bd8e752"
PKG_SITE="https://github.com/icculus/mojozork"
PKG_URL="${PKG_SITE}/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain"

View file

@ -2,7 +2,7 @@
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="mupen64plus-nx-lr"
PKG_VERSION="f1ad37c3a9be64b499d9a36f57e41d59fb677c73"
PKG_VERSION="9e54bfbee47cd161df31c6bf429a9761ae7e005a"
PKG_LICENSE="GPLv2"
PKG_SITE="https://github.com/libretro/mupen64plus-libretro-nx"
PKG_URL="${PKG_SITE}/archive/${PKG_VERSION}.tar.gz"

View file

@ -19,7 +19,7 @@
################################################################################
PKG_NAME="opera-lr"
PKG_VERSION="100ae1e7decefe1f17d98cfcb9f2af4ff8452691"
PKG_VERSION="a830b24fc38b62c36ae3086c7c6e1159e9d7b064"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="LGPL with additional notes"

View file

@ -3,7 +3,7 @@
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="pcsx_rearmed-lr"
PKG_VERSION="963f41620dce6ddb2527b7e3dced09564031f783"
PKG_VERSION="5ee1c9269d333936eba3e7e3259956f601ff5edd"
PKG_ARCH="arm aarch64"
PKG_LICENSE="GPLv2"
PKG_SITE="https://github.com/libretro/pcsx_rearmed"

View file

@ -1,5 +1,5 @@
PKG_NAME="picodrive-lr"
PKG_VERSION="6101a0052d9a49bc9f5a5f97f1369a41726f25d6"
PKG_VERSION="019421c9a1d70cc7d30ae4bfa60a79660a0e2bcd"
PKG_LICENSE="MAME"
PKG_SITE="https://github.com/libretro/picodrive"
PKG_URL="${PKG_SITE}.git"

View file

@ -20,7 +20,7 @@
################################################################################
PKG_NAME="scummvm-lr"
PKG_VERSION="0db091d15ac2a1a6058c8f0d69df36d23bc3638f"
PKG_VERSION="6118a0d92907ae68c38d444a680aa4a1610099c8"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"

View file

@ -20,7 +20,7 @@
################################################################################
PKG_NAME="slang-shaders"
PKG_VERSION="8595c3cbea2120bc9b82e4ff756f61100543ec83"
PKG_VERSION="5e1db94e0d3e5cde0267e0766a9b2f4344f652c8"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View file

@ -20,7 +20,7 @@
################################################################################
PKG_NAME="stella-lr"
PKG_VERSION="8fe2adf28affc0477ee91689edef3b90168cd3ce"
PKG_VERSION="39caf7d629eda889d239fea629b56f38e6fff2fc"
PKG_REV="1"
PKG_LICENSE="GPL2"
PKG_SITE="https://github.com/stella-emu/stella"

View file

@ -2,7 +2,7 @@
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="tic80-lr"
PKG_VERSION="8bae7dd6fae8e2660f2523992392a07357e6eabf"
PKG_VERSION="f83a769e63783aac848cb1084450064c16ce0b83"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/nesbox/TIC-80"
PKG_URL="${PKG_SITE}.git"

View file

@ -1,8 +1,8 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 22f6adb2..465e48cd 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -479,7 +479,7 @@ endif()
diff --git a/cmake/janet.cmake b/cmake/janet.cmake
index 5830878e..65a71989 100644
--- a/cmake/janet.cmake
+++ b/cmake/janet.cmake
@@ -2,7 +2,7 @@
# Janet
################################
@ -11,3 +11,10 @@ index 22f6adb2..465e48cd 100644
option(BUILD_WITH_JANET "Janet Enabled" ${BUILD_WITH_JANET_DEFAULT})
message("BUILD_WITH_JANET: ${BUILD_WITH_JANET}")
@@ -42,4 +42,4 @@ if(BUILD_WITH_JANET)
target_include_directories(janet PUBLIC ${CMAKE_SOURCE_DIR}/build/janet/)
target_compile_definitions(janet INTERFACE TIC_BUILD_WITH_JANET=1)
-endif()
\ No newline at end of file
+endif()

View file

@ -17,7 +17,7 @@ case ${DEVICE} in
;;
*)
PKG_URL="${PKG_SITE}.git"
PKG_VERSION="b6b98af105c7bcc958b5888f8a3b85fec71989ed"
PKG_VERSION="9b147d3f9c31bc6af1ce1281c52b02b338925e5a"
;;
esac

View file

@ -45,18 +45,15 @@ if [ "${VULKAN_SUPPORT}" = "yes" ]
then
PKG_DEPENDS_TARGET+=" vulkan-loader vulkan-headers"
PKG_CMAKE_OPTS_TARGET+=" -DENABLE_VULKAN=ON"
else
PKG_CMAKE_OPTS_TARGET+=" -DENABLE_VULKAN=OFF"
fi
pre_configure_target() {
sed -i 's~#include <cstdlib>~#include <cstdlib>\n#include <cstdint>~g' ${PKG_BUILD}/Externals/VulkanMemoryAllocator/include/vk_mem_alloc.h
sed -i 's~#include <cstdint>~#include <cstdint>\n#include <string>~g' ${PKG_BUILD}/Externals/VulkanMemoryAllocator/include/vk_mem_alloc.h
}
PKG_CMAKE_OPTS_TARGET+=" -DENABLE_HEADLESS=ON \
-DENABLE_EVDEV=ON \
-DUSE_DISCORD_PRESENCE=OFF \
-DBUILD_SHARED_LIBS=OFF \
-DUSE_MGBA=OFF \
-DLINUX_LOCAL_DEV=ON \
-DENABLE_PULSEAUDIO=ON \
-DENABLE_ALSA=ON \
@ -67,7 +64,10 @@ PKG_CMAKE_OPTS_TARGET+=" -DENABLE_HEADLESS=ON \
-DENABLE_QT=OFF \
-DENCODE_FRAMEDUMPS=OFF \
-DENABLE_CLI_TOOL=OFF"
sed -i 's~#include <cstdlib>~#include <cstdlib>\n#include <cstdint>~g' ${PKG_BUILD}/Externals/VulkanMemoryAllocator/include/vk_mem_alloc.h
sed -i 's~#include <cstdint>~#include <cstdint>\n#include <string>~g' ${PKG_BUILD}/Externals/VulkanMemoryAllocator/include/vk_mem_alloc.h
}
makeinstall_target() {
mkdir -p ${INSTALL}/usr/bin

View file

@ -3,7 +3,7 @@
# Copyright (C) 2022-present JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="flycast-sa"
PKG_VERSION="f4f087a6ea83a5483dedf23ad2b38763988eccc5"
PKG_VERSION="e7d0a5f2f9e656bab8bbe64d9d5d9cf6034cf444"
PKG_LICENSE="GPLv2"
PKG_SITE="https://github.com/flyinghead/flycast"
PKG_URL="${PKG_SITE}.git"

View file

@ -3,10 +3,11 @@
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="gzdoom-sa"
PKG_VERSION="a368588db6f8485072429f264aca2d9c411fe9b2"
PKG_VERSION="6ce809e"
PKG_LICENSE="GPLv3"
PKG_SITE="https://github.com/ZDoom/gzdoom"
PKG_URL="${PKG_SITE}.git"
PKG_GIT_CLONE_BRANCH="4.11"
PKG_DEPENDS_HOST="toolchain SDL2:host zmusic:host libvpx:host libwebp:host"
PKG_DEPENDS_TARGET="toolchain SDL2 gzdoom-sa:host zmusic libvpx libwebp"
PKG_LONGDESC="GZDoom is a modder-friendly OpenGL and Vulkan source port based on the DOOM engine"
@ -36,15 +37,15 @@ pre_configure_target() {
### Enable GLES on devices that don't support OpenGL.
if [ ! "${OPENGL_SUPPORT}" = "yes" ]
then
sed -i 's~#define USE_GLAD_LOADER 0~#define USE_GLAD_LOADER 1~g' ${PKG_BUILD}/src/common/rendering/gles/gles_system.h
PKG_CMAKE_OPTS_TARGET+=" -DHAVE_GLES2=ON \
-DHAVE_VULKAN=OFF"
PKG_CMAKE_OPTS_TARGET+=" -DHAVE_GLES2=ON"
fi
### Enable vulkan support on devices that have it available.
if [ "${VULKAN_SUPPORT}" = "yes" ]
then
PKG_CMAKE_OPTS_TARGET+=" -DHAVE_VULKAN=ON"
else
PKG_CMAKE_OPTS_TARGET+=" -DHAVE_VULKAN=OFF"
fi
}

View file

@ -2,7 +2,7 @@
# Copyright (C) 2018-present 5schatten (https://github.com/5schatten)
PKG_NAME="hatarisa"
PKG_VERSION="4017c93ee54a99d6c28284d02eb62b981c742e8a"
PKG_VERSION="3692376f4d77674eab322e4a05359d5ba10274d8"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/hatari/hatari"
PKG_URL="https://github.com/hatari/hatari/archive/${PKG_VERSION}.tar.gz"

View file

@ -4,7 +4,7 @@
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="openbor"
PKG_VERSION="b8303cce992a0db93c3a465df3c943942fe322f8"
PKG_VERSION="f0e209333dc784d39e92df16b9959873661bd427"
PKG_ARCH="any"
PKG_SITE="https://github.com/DCurrent/openbor"
PKG_URL="${PKG_SITE}.git"
@ -24,6 +24,7 @@ pre_configure_target() {
pre_make_target() {
cd ${PKG_BUILD}/engine
chmod 0755 version.sh
./version.sh
}

View file

@ -2,7 +2,7 @@
# Copyright (C) 2022-present JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="yuzu-sa"
PKG_VERSION="05e3db3ac9edbff0e4885ef8b42d3a2427c9f027"
PKG_VERSION="29b983398cadb90820210318ae7200ede3a582f9"
PKG_ARCH="x86_64"
PKG_LICENSE="GPLv3"
PKG_SITE="https://github.com/yuzu-emu/yuzu"

View file

@ -2,7 +2,7 @@
# Copyright (C) 2022-present JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="control-gen"
PKG_VERSION="16179c655447007c2580243659fc36a34e6a749d"
PKG_VERSION="3dd24b72a72316d3049dcf98dd2894ff91d971f6"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"
PKG_DEPENDS_TARGET="toolchain"

View file

@ -2,7 +2,7 @@
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="gamecontrollerdb"
PKG_VERSION="a2ae8f6968dfb27a57a15c8f62ea9f20b05362c4"
PKG_VERSION="ff1b4c410540068434a7d0de9201d5b62752f8da"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_DEPENDS_TARGET="toolchain SDL2"

View file

@ -19,7 +19,7 @@
################################################################################
PKG_NAME="retroarch-assets"
PKG_VERSION="1440f6737840f010f3b12a6b68b7a3871506e207"
PKG_VERSION="923b711dc6772a168d83dc8915e9260730fcf3a1"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/libretro/retroarch-assets"
PKG_URL="https://github.com/libretro/retroarch-assets/archive/${PKG_VERSION}.tar.gz"

View file

@ -2,7 +2,7 @@
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="retroarch-joypads"
PKG_VERSION="a57f1489ac289415d7fbdae4d56d55ed01c45714"
PKG_VERSION="30d3ee6bae004e96660cefe402d5a5dba7b325e7"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/libretro/retroarch-joypad-autoconfig"
PKG_URL="${PKG_SITE}.git"

View file

@ -16,9 +16,10 @@ case ${DEVICE} in
PKG_URL="${PKG_SITE}.git"
PKG_GIT_CLONE_BRANCH="csf"
;;
RK3399) #Upstream Mesa appears to be broken on the RK3399 build currently
PKG_VERSION="22.3.7"
PKG_URL="https://gitlab.freedesktop.org/mesa/mesa/-/archive/mesa-${PKG_VERSION}/mesa-mesa-${PKG_VERSION}.tar.gz"
RK3399) #Stable Mesa appears to be broken on the RK3399 build currently, using upstream dev
PKG_VERSION="3ee633920618de559f6cf76225b1c2b27256facc"
PKG_SITE="https://gitlab.freedesktop.org/mesa/mesa"
PKG_URL="${PKG_SITE}.git"
;;
*)
PKG_VERSION="23.3.2"

View file

@ -6,6 +6,6 @@ cat <<EOF >/storage/.config/profile.d/020-fan_control
DEVICE_HAS_FAN="true"
DEVICE_PWM_FAN="$(find /sys/devices/platform/oxp-platform -name pwm1)"
DEVICE_FAN_INPUT="$(find /sys/devices/platform/oxp-platform -name fan*_input)"
DEVICE_TEMP_SENSOR="$(find /sys/devices/pci*/* -path "*/nvme" -prune -o -name temp1_input -print)"
DEVICE_TEMP_SENSOR="$(find /sys/devices/pci*/*/hwmon -path "*/nvme" -prune -o -name temp1_input -print)"
EOF

View file

@ -53,7 +53,6 @@ function ec_writecmd() {
function mode() {
debug_out "Set mode ${1}"
${ECTOOL} -w 0xbf -z ${1} >/dev/null 2>&1
${ECTOOL} -w 0xbf -z ff >/dev/null 2>&1
}
function off() {
@ -123,16 +122,19 @@ debug_out "led brightness: ${LEDBRIGHTNESS}"
case $1 in
red)
off
mode 0xe0
color 1 ${LEDBRIGHTNESS}
set_setting led.color red
;;
green)
off
mode 0xe0
color 2 ${LEDBRIGHTNESS}
set_setting led.color green
;;
blue)
off
mode 0xe2
color 3 ${LEDBRIGHTNESS}
set_setting led.color blue
;;

View file

@ -0,0 +1,8 @@
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
cat <<EOF >/storage/.config/profile.d/010-led_control
DEVICE_LED_CONTROL="true"
DEVICE_LED_BRIGHTNESS="true"
EOF

View file

@ -0,0 +1,11 @@
#!/bin/bash
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
cat <<EOF >/storage/.config/profile.d/020-fan_control
DEVICE_HAS_FAN="true"
DEVICE_PWM_FAN="$(find /sys/devices/platform/oxp-platform -name pwm1)"
DEVICE_FAN_INPUT="$(find /sys/devices/platform/oxp-platform -name fan*_input)"
DEVICE_TEMP_SENSOR="$(find /sys/devices/pci*/*/hwmon -path "*/nvme" -prune -o -name temp1_input -print)"
EOF

View file

@ -0,0 +1,82 @@
#!/bin/bash
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
. /etc/profile
DEBUG=false
COOLING_PROFILE=$(get_setting "cooling.profile")
FAN_PWM="${DEVICE_PWM_FAN}"
log $0 "Setting profile to ${COOLING_PROFILE}"
function set_control() {
log $0 "Set fan control to ${1}"
if [ -e "${DEVICE_PWM_FAN}_enable" ]
then
echo ${1} >${DEVICE_PWM_FAN}_enable
fi
}
trap "set_control 0 && exit 0" SIGHUP SIGINT SIGQUIT SIGABRT
if [ -e "/storage/.config/fancontrol.conf" ] && [ "${COOLING_PROFILE}" = "custom" ]
then
log $0 "Loading configuration file" 2>/dev/null
source /storage/.config/fancontrol.conf
if [ ! $? = 0 ]
then
WARN="Custom fan profile could not be loaded, defaulting to auto."
log $0 "${WARN}"
COOLING_PROFILE="auto"
set_setting cooling.profile auto
fi
fi
if [ ! "${COOLING_PROFILE}" = "custom" ]
then
if [ "${COOLING_PROFILE}" = "aggressive" ]
then
SPEEDS=(255 225 192)
TEMPS=(70000 65000 0)
elif [ "${COOLING_PROFILE}" = "moderate" ]
then
SPEEDS=(255 192 128 96)
TEMPS=(75000 70000 65000 0)
elif [ "${COOLING_PROFILE}" = "quiet" ]
then
# Quiet.
SPEEDS=(255 192 128 96 64 48 32)
TEMPS=(75000 70000 65000 60000 55000 50000 0)
else
# auto
set_control 0 >/dev/null 2>&1
exit 0
fi
fi
log $0 "Enabling fan control."
set_control 1 >/dev/null 2>&1
while true
do
INDEX=0
CPU_TEMP=$(printf "%.0f" $(awk '{ total += $1; count++ } END { print total/count }' ${DEVICE_TEMP_SENSOR}))
$DEBUG && log $0 "CPU TEMP: ${CPU_TEMP}" 2>/dev/null
for TEMP in "${TEMPS[@]}"
do
if (( "${CPU_TEMP}" > "${TEMP}" )) && \
[ ! "${LASTSPEED}" = "${SPEEDS[${INDEX}]}" ]
then
$DEBUG && log $0 "Setting PWM FAN to ${SPEEDS[${INDEX}]} (${TEMP})" 2>/dev/null
echo ${SPEEDS[${INDEX}]} >${FAN_PWM}
LASTSPEED=${SPEEDS[${INDEX}]}
break
fi
INDEX=$(( $INDEX + 1 ))
done
sleep 2
done
log $0 "Disabling fan control."
set_control 0 >/dev/null 2>&1

View file

@ -0,0 +1,185 @@
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
#
# A simple tool to manipulate the controller LEDs using ectool, thanks to
# Maya Matuszczyk (https://github.com/Maccraft123) for reverse engineering.
#
# Schema:
#
# 0x6d - LED PWM control (0x03)
#
# 0xb1 - Support for 4 zones and RGB color
#
# RGB colors:
#
# 1 - Red
# 2 - Green
# 3 - Blue
#
# Zones:
#
# Right (2), Down (5), Left (8) , Up (11)
#
# Note: Set 0xb1 to 02 for off.
#
# 0xb2 - Sets brightness, requires b1 to be set at the same time.
#
# 00-ff - brightness from 0-255. Not noticeable to me above 128.
#
# 0xbf - Set expected mode
#
# 0x10 - Enable
# 0xe2 - Tint (+ Red for Purple, + Green for Teal)
# 0xe3-0e5 - Tint + blink (unused)
#
# 0xff - Close channel
#
. /etc/profile
ECTOOL="/usr/sbin/ectool"
DEBUG=false
function debug_out() {
$DEBUG && echo "ledcontrol: $*"
}
function ec_writecmd() {
${ECTOOL} -w 0x6d -z 0x03 >/dev/null 2>&1
}
function mode() {
debug_out "Set mode ${1}"
${ECTOOL} -w 0xbf -z ${1} >/dev/null 2>&1
}
function close_channel() {
debug_out "Set close channel"
${ECTOOL} -w 0xbf -z 0xFF >/dev/null 2>&1
}
function off() {
ec_writecmd
for twice in 1 2
do
### RGB off command
${ECTOOL} -w 0xb1 -z 0x02 >/dev/null 2>&1
${ECTOOL} -w 0xb2 -z 0xc0 >/dev/null 2>&1
mode 0x10
done
close_channel
}
function brightness() {
debug_out "Set brightness ${1}"
${ECTOOL} -w 0xb2 -z 0x${1} >/dev/null 2>&1
mode 0x10
close_channel
}
function color() {
## Writing twice seems more reliable than inserting a delay.
for twice in 1 2
do
for zone in 2 5 8 11
do
zone=$(( ${zone} + ${1} ))
zone=$(printf '%02x' ${zone})
debug_out "Set color 0x${zone}"
${ECTOOL} -w 0xb1 -z 0x${zone} >/dev/null 2>&1
brightness ${2}
done
done
close_channel
}
GETBRIGHTNESS=$(get_setting led.brightness)
if [ ! -z "${2}" ]
then
LEDBRIGHTNESS=${2}
debug_out "Arg[2]: ${2}"
elif [ ! -z "${GETBRIGHTNESS}" ]
then
LEDBRIGHTNESS=${GETBRIGHTNESS}
debug_out "GETBRIGHTESS: ${GETBRIGHTNESS}"
else
debug_out "NO SETTING: min"
LEDBRIGHTNESS=min
set_setting led.brightness min
fi
case ${LEDBRIGHTNESS} in
max)
LEDBRIGHTNESS=ff
set_setting led.brightness max
;;
mid)
LEDBRIGHTNESS=a8
set_setting led.brightness mid
;;
min)
LEDBRIGHTNESS=54
set_setting led.brightness min
;;
esac
debug_out "led brightness: ${LEDBRIGHTNESS}"
case $1 in
red)
off
mode 0xe0
color 1 ${LEDBRIGHTNESS}
set_setting led.color red
;;
green)
off
mode 0xe0
color 2 ${LEDBRIGHTNESS}
set_setting led.color green
;;
blue)
off
mode 0xe2
color 3 ${LEDBRIGHTNESS}
set_setting led.color blue
;;
teal)
off
mode 0xe2
color 2 ${LEDBRIGHTNESS}
set_setting led.color teal
;;
purple)
off
mode 0xe2
color 1 ${LEDBRIGHTNESS}
set_setting led.color purple
;;
off)
off
set_setting led.color off
;;
default)
del_setting led.color
del_setting led.brightness
;;
brightness)
COLOR=$(get_setting led.color)
if [ ! -z "${COLOR}" ]
then
off
ledcontrol ${COLOR} ${LEDBRIGHTNESS}
fi
;;
*)
COLOR=$(get_setting led.color)
if [ ! -z "${COLOR}" ]
then
off
ledcontrol ${COLOR} ${LEDBRIGHTNESS}
fi
;;
esac

Binary file not shown.

After

Width:  |  Height:  |  Size: 619 B

View file

@ -0,0 +1,16 @@
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
# There is a display bug with the Ayaneo 2S preventing the display from
# blanking and powering the backlight off. To work around this, we will
# set the brightness to the lowest value, and display an black image before
# entering sleep.
# Yes, it's gross.
. /etc/profile
BRIGHTNESS=$(cat /tmp/.brightness)
echo ${BRIGHTNESS} >"/sys/devices/pci0000:00/0000:00:08.1/0000:c4:00.0/drm/card0/card0-eDP-1/amdgpu_bl0/brightness"
killall weston-image

View file

@ -0,0 +1,17 @@
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
# There is a display bug with the Ayaneo 2S preventing the display from
# blanking and powering the backlight off. To work around this, we will
# set the brightness to the lowest value, and display an black image before
# entering sleep.
# Yes, it's gross.
. /etc/profile
brightness >/tmp/.brightness
echo 0 >"/sys/devices/pci0000:00/0000:00:08.1/0000:c4:00.0/drm/card0/card0-eDP-1/amdgpu_bl0/brightness"
weston-image /usr/lib/autostart/quirks/devices/"${QUIRK_DEVICE}"/images/black.png &
sleep 1

View file

@ -0,0 +1,8 @@
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
### Set the default device configuration
cat <<EOF >/storage/.config/profile.d/091-ui_shader
UI_SHADER="slangp"
EOF

View file

@ -0,0 +1,8 @@
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
### Set the default device configuration
cat <<EOF >/storage/.config/profile.d/091-ui_shader
UI_SHADER="slangp"
EOF

View file

@ -0,0 +1,8 @@
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
### Set the default device configuration
cat <<EOF >/storage/.config/profile.d/091-ui_shader
UI_SHADER="slangp"
EOF

View file

@ -0,0 +1,8 @@
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
### Set the default device configuration
cat <<EOF >/storage/.config/profile.d/091-ui_shader
UI_SHADER="glslp"
EOF

View file

@ -0,0 +1,8 @@
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
### Set the default device configuration
cat <<EOF >/storage/.config/profile.d/091-ui_shader
UI_SHADER="slangp"
EOF

View file

@ -0,0 +1,8 @@
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
### Set the default device configuration
cat <<EOF >/storage/.config/profile.d/091-ui_shader
UI_SHADER="glslp"
EOF

View file

@ -9,9 +9,18 @@ case "${1}" in
rm -f /storage/.config/retroarch/retroarch.cfg
cp -rf /usr/config/retroarch/retroarch.cfg /storage/.config/retroarch/retroarch.cfg
;;
"retroarch-full")
rm -rf /storage/.config/retroarch
cp -rf /usr/config/retroarch /storage/.config/
;;
"mednafen")
rm -f /storage/.config/mednafen/mednafen.cfg
;;
"overlays")
rm -rf $(cat /usr/lib/systemd/system/tmp-*.mount | grep -Eo 'upperdir=.*,' | sed -e 's~upperdir=~~g; s~,~~g')
sync
systemctl reboot
;;
"ALL")
systemctl stop ${UI_SERVICE}
cd /

View file

@ -6,18 +6,16 @@
# Copyright (C) 2020-present Shanti Gilbert (https://github.com/shantigilbert)
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
if [[ "${UI_SERVICE}" =~ ^weston ]]
then
SHADERS='*.slang*'
if [ -z "$UI_SHADER" ]; then
option=".*\.\(glslp\|slangp\)$"
else
SHADERS='*.glslp*'
option=".*\.\($UI_SHADER\)$"
fi
for dir in /tmp/shaders
do
if [ -d "${dir}" ]
then
find ${dir} -name ${SHADERS} -print0 |
if [ -d "${dir}" ]; then
find ${dir} -regex "${option}" -print0 |
while IFS= read -r -d '' line; do
echo ${line#${dir}/},
done

View file

@ -157,14 +157,14 @@ case ${EMULATOR} in
NETWORK_PLAY="${ARGUMENTS##*--host}" # read from --host onwards
NETWORK_PLAY="${NETWORK_PLAY%%--nick*}" # until --nick is found
NETWORK_PLAY="--host ${NETWORK_PLAY} --nick"
set_setting netplay.mode host
set_setting netplay.mode "host"
;;
*"--connect"*)
${VERBOSE} && log $0 "Setup netplay client."
NETWORK_PLAY="${ARGUMENTS##*--host}" # read from --host onwards
NETWORK_PLAY="${ARGUMENTS##*--connect}" # read from --connect onwards
NETWORK_PLAY="${NETWORK_PLAY%%--nick*}" # until --nick is found
NETWORK_PLAY="--host ${NETWORK_PLAY} --nick"
set_setting netplay.mode host
NETWORK_PLAY="--connect ${NETWORK_PLAY} --nick"
set_setting netplay.mode "client"
;;
*"--netplaymode spectator"*)
${VERBOSE} && log $0 "Setup netplay spectator."
@ -336,12 +336,15 @@ case ${CPU_VENDOR} in
esac
### Apply energy performance preference
if [ -e "/usr/bin/set_epp" ]
then
EPP=$(get_setting "power.epp" "${PLATFORM}" "${ROMNAME##*/}")
if [ ! -z ${EPP} ]
then
${VERBOSE} && log $0 "Set EPP to (${EPP})"
/usr/bin/set_epp ${EPP}
fi
fi
### Configure GPU performance mode
GPUPERF=$(get_setting "gpuperf" "${PLATFORM}" "${ROMNAME##*/}")

View file

@ -914,6 +914,23 @@ function set_saturnopts() {
fi
}
function set_snesopts() {
log "Set up SNES..."
if [ "${CORE}" = "beetle_supafaust" ]
then
log "Set up beetle_supafaust"
local FAUSTDIR="${RETROARCH_PATH}/config/Supafaust"
if [ ! -d "${FAUSTDIR}" ]
then
mkdir -p "${FAUSTDIR}"
fi
if [ ! -f "${FAUSTDIR}/Supafaust.opt" ]
then
cp "/usr/config/retroarch/Supafaust.opt" "${FAUSTDIR}/Supafaust.opt"
fi
fi
}
function set_dreamcastopts() {
log "Set up Dreamcast..."
if [ "${CORE}" = "flycast" ]
@ -1076,6 +1093,7 @@ set_analogsupport &
set_tatemode &
set_n64opts &
set_saturnopts &
set_snesopts &
set_dreamcastopts &
### Sed operations are expensive, so they are staged and executed as

View file

@ -2,7 +2,7 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="kernel-firmware"
PKG_VERSION="20231111"
PKG_VERSION="20231211"
PKG_LICENSE="other"
PKG_SITE="https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/"
PKG_URL="https://cdn.kernel.org/pub/linux/kernel/firmware/linux-firmware-${PKG_VERSION}.tar.xz"

View file

@ -4,7 +4,7 @@
PKG_NAME="linux"
PKG_LICENSE="GPL"
PKG_VERSION="6.6.8"
PKG_VERSION="6.7"
PKG_URL="https://www.kernel.org/pub/linux/kernel/v6.x/${PKG_NAME}-${PKG_VERSION}.tar.xz"
PKG_SITE="http://www.kernel.org"
PKG_DEPENDS_HOST="ccache:host rsync:host openssl:host rdfind:host"

View file

@ -0,0 +1,33 @@
diff -rupN linux-6.6.9.orig/drivers/hwmon/oxp-sensors.c linux-6.6.9/drivers/hwmon/oxp-sensors.c
--- linux-6.6.9.orig/drivers/hwmon/oxp-sensors.c 2024-01-04 00:22:05.661168063 +0000
+++ linux-6.6.9/drivers/hwmon/oxp-sensors.c 2024-01-04 11:17:07.777068733 +0000
@@ -42,6 +42,7 @@ static bool unlock_global_acpi_lock(void
enum oxp_board {
aok_zoe_a1 = 1,
aya_neo_2,
+ aya_neo_2s,
aya_neo_air,
aya_neo_air_pro,
aya_neo_geek,
@@ -91,6 +92,13 @@ static const struct dmi_system_id dmi_ta
},
.driver_data = (void *)aya_neo_2,
},
+ {
+ .matches = {
+ DMI_MATCH(DMI_BOARD_VENDOR, "AYANEO"),
+ DMI_EXACT_MATCH(DMI_BOARD_NAME, "AYANEO 2S"),
+ },
+ .driver_data = (void *)aya_neo_2s,
+ },
{
.matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "AYANEO"),
@@ -331,6 +339,7 @@ static int oxp_platform_read(struct devi
return ret;
switch (board) {
case aya_neo_2:
+ case aya_neo_2s:
case aya_neo_air:
case aya_neo_air_pro:
case aya_neo_geek:

View file

@ -1,6 +1,6 @@
diff -rupN linux.orig/drivers/gpu/drm/drm_panel_orientation_quirks.c linux/drivers/gpu/drm/drm_panel_orientation_quirks.c
--- linux.orig/drivers/gpu/drm/drm_panel_orientation_quirks.c 2023-11-28 17:20:18.000000000 +0000
+++ linux/drivers/gpu/drm/drm_panel_orientation_quirks.c 2023-11-30 15:33:54.949480402 +0000
diff -rupN linux-6.7-rc8.orig/drivers/gpu/drm/drm_panel_orientation_quirks.c linux-6.7-rc8.panel/drivers/gpu/drm/drm_panel_orientation_quirks.c
--- linux-6.7-rc8.orig/drivers/gpu/drm/drm_panel_orientation_quirks.c 2024-01-04 23:15:09.706448784 +0000
+++ linux-6.7-rc8.panel/drivers/gpu/drm/drm_panel_orientation_quirks.c 2024-01-04 23:20:09.071025713 +0000
@@ -336,6 +336,13 @@ static const struct dmi_system_id orient
DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "IdeaPad Duet 3 10IGL5"),
},
@ -12,6 +12,522 @@ diff -rupN linux.orig/drivers/gpu/drm/drm_panel_orientation_quirks.c linux/drive
+ DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "Legion Go 8APU1"),
+ },
+ .driver_data = (void *)&lcd1600x2560_leftside_up,
}, { /* Lenovo Yoga Book X90F / X90L */
}, { /* Lenovo Legion Go 8APU1 */
.matches = {
DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Intel Corporation"),
DMI_EXACT_MATCH(DMI_SYS_VENDOR, "LENOVO"),
diff -rupN linux-6.7-rc8.orig/drivers/gpu/drm/drm_panel_orientation_quirks.c.orig linux-6.7-rc8.panel/drivers/gpu/drm/drm_panel_orientation_quirks.c.orig
--- linux-6.7-rc8.orig/drivers/gpu/drm/drm_panel_orientation_quirks.c.orig 1970-01-01 00:00:00.000000000 +0000
+++ linux-6.7-rc8.panel/drivers/gpu/drm/drm_panel_orientation_quirks.c.orig 2024-01-04 23:18:55.450922222 +0000
@@ -0,0 +1,492 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * drm_panel_orientation_quirks.c -- Quirks for non-normal panel orientation
+ *
+ * Copyright (C) 2017 Hans de Goede <hdegoede@redhat.com>
+ *
+ * Note the quirks in this file are shared with fbdev/efifb and as such
+ * must not depend on other drm code.
+ */
+
+#include <linux/dmi.h>
+#include <linux/module.h>
+#include <drm/drm_connector.h>
+#include <drm/drm_utils.h>
+
+#ifdef CONFIG_DMI
+
+/*
+ * Some x86 clamshell design devices use portrait tablet screens and a display
+ * engine which cannot rotate in hardware, so we need to rotate the fbcon to
+ * compensate. Unfortunately these (cheap) devices also typically have quite
+ * generic DMI data, so we match on a combination of DMI data, screen resolution
+ * and a list of known BIOS dates to avoid false positives.
+ */
+
+struct drm_dmi_panel_orientation_data {
+ int width;
+ int height;
+ const char * const *bios_dates;
+ int orientation;
+};
+
+static const struct drm_dmi_panel_orientation_data gpd_micropc = {
+ .width = 720,
+ .height = 1280,
+ .bios_dates = (const char * const []){ "04/26/2019",
+ NULL },
+ .orientation = DRM_MODE_PANEL_ORIENTATION_RIGHT_UP,
+};
+
+static const struct drm_dmi_panel_orientation_data gpd_onemix2s = {
+ .width = 1200,
+ .height = 1920,
+ .bios_dates = (const char * const []){ "05/21/2018", "10/26/2018",
+ "03/04/2019", NULL },
+ .orientation = DRM_MODE_PANEL_ORIENTATION_RIGHT_UP,
+};
+
+static const struct drm_dmi_panel_orientation_data gpd_pocket = {
+ .width = 1200,
+ .height = 1920,
+ .bios_dates = (const char * const []){ "05/26/2017", "06/28/2017",
+ "07/05/2017", "08/07/2017", NULL },
+ .orientation = DRM_MODE_PANEL_ORIENTATION_RIGHT_UP,
+};
+
+static const struct drm_dmi_panel_orientation_data gpd_pocket2 = {
+ .width = 1200,
+ .height = 1920,
+ .bios_dates = (const char * const []){ "06/28/2018", "08/28/2018",
+ "12/07/2018", NULL },
+ .orientation = DRM_MODE_PANEL_ORIENTATION_RIGHT_UP,
+};
+
+static const struct drm_dmi_panel_orientation_data gpd_win = {
+ .width = 720,
+ .height = 1280,
+ .bios_dates = (const char * const []){
+ "10/25/2016", "11/18/2016", "12/23/2016", "12/26/2016",
+ "02/21/2017", "03/20/2017", "05/25/2017", NULL },
+ .orientation = DRM_MODE_PANEL_ORIENTATION_RIGHT_UP,
+};
+
+static const struct drm_dmi_panel_orientation_data gpd_win2 = {
+ .width = 720,
+ .height = 1280,
+ .bios_dates = (const char * const []){
+ "12/07/2017", "05/24/2018", "06/29/2018", NULL },
+ .orientation = DRM_MODE_PANEL_ORIENTATION_RIGHT_UP,
+};
+
+static const struct drm_dmi_panel_orientation_data itworks_tw891 = {
+ .width = 800,
+ .height = 1280,
+ .bios_dates = (const char * const []){ "10/16/2015", NULL },
+ .orientation = DRM_MODE_PANEL_ORIENTATION_RIGHT_UP,
+};
+
+static const struct drm_dmi_panel_orientation_data onegx1_pro = {
+ .width = 1200,
+ .height = 1920,
+ .bios_dates = (const char * const []){ "12/17/2020", NULL },
+ .orientation = DRM_MODE_PANEL_ORIENTATION_RIGHT_UP,
+};
+
+static const struct drm_dmi_panel_orientation_data lcd720x1280_rightside_up = {
+ .width = 720,
+ .height = 1280,
+ .orientation = DRM_MODE_PANEL_ORIENTATION_RIGHT_UP,
+};
+
+static const struct drm_dmi_panel_orientation_data lcd800x1280_leftside_up = {
+ .width = 800,
+ .height = 1280,
+ .orientation = DRM_MODE_PANEL_ORIENTATION_LEFT_UP,
+};
+
+static const struct drm_dmi_panel_orientation_data lcd800x1280_rightside_up = {
+ .width = 800,
+ .height = 1280,
+ .orientation = DRM_MODE_PANEL_ORIENTATION_RIGHT_UP,
+};
+
+static const struct drm_dmi_panel_orientation_data lcd1080x1920_leftside_up = {
+ .width = 1080,
+ .height = 1920,
+ .orientation = DRM_MODE_PANEL_ORIENTATION_LEFT_UP,
+};
+
+static const struct drm_dmi_panel_orientation_data lcd1200x1920_rightside_up = {
+ .width = 1200,
+ .height = 1920,
+ .orientation = DRM_MODE_PANEL_ORIENTATION_RIGHT_UP,
+};
+
+static const struct drm_dmi_panel_orientation_data lcd1280x1920_rightside_up = {
+ .width = 1280,
+ .height = 1920,
+ .orientation = DRM_MODE_PANEL_ORIENTATION_RIGHT_UP,
+};
+
+static const struct drm_dmi_panel_orientation_data lcd1600x2560_leftside_up = {
+ .width = 1600,
+ .height = 2560,
+ .orientation = DRM_MODE_PANEL_ORIENTATION_LEFT_UP,
+};
+
+static const struct drm_dmi_panel_orientation_data lcd1600x2560_rightside_up = {
+ .width = 1600,
+ .height = 2560,
+ .orientation = DRM_MODE_PANEL_ORIENTATION_RIGHT_UP,
+};
+
+static const struct dmi_system_id orientation_data[] = {
+ { /* Acer One 10 (S1003) */
+ .matches = {
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Acer"),
+ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "One S1003"),
+ },
+ .driver_data = (void *)&lcd800x1280_rightside_up,
+ }, { /* Acer Switch V 10 (SW5-017) */
+ .matches = {
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Acer"),
+ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "SW5-017"),
+ },
+ .driver_data = (void *)&lcd800x1280_rightside_up,
+ }, { /* Anbernic Win600 */
+ .matches = {
+ DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "Anbernic"),
+ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Win600"),
+ },
+ .driver_data = (void *)&lcd720x1280_rightside_up,
+ }, { /* Asus T100HA */
+ .matches = {
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
+ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "T100HAN"),
+ },
+ .driver_data = (void *)&lcd800x1280_leftside_up,
+ }, { /* Asus T101HA */
+ .matches = {
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
+ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "T101HA"),
+ },
+ .driver_data = (void *)&lcd800x1280_rightside_up,
+ }, { /* Asus T103HAF */
+ .matches = {
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
+ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "T103HAF"),
+ },
+ .driver_data = (void *)&lcd800x1280_rightside_up,
+ }, { /* AYA NEO 2021 */
+ .matches = {
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "AYADEVICE"),
+ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "AYA NEO 2021"),
+ },
+ .driver_data = (void *)&lcd800x1280_rightside_up,
+ }, { /* AYA NEO AIR */
+ .matches = {
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "AYANEO"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "AIR"),
+ },
+ .driver_data = (void *)&lcd1080x1920_leftside_up,
+ }, { /* AYA NEO NEXT */
+ .matches = {
+ DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "AYANEO"),
+ DMI_MATCH(DMI_BOARD_NAME, "NEXT"),
+ },
+ .driver_data = (void *)&lcd800x1280_rightside_up,
+ }, { /* Chuwi HiBook (CWI514) */
+ .matches = {
+ DMI_MATCH(DMI_BOARD_VENDOR, "Hampoo"),
+ DMI_MATCH(DMI_BOARD_NAME, "Cherry Trail CR"),
+ /* Above matches are too generic, add bios-date match */
+ DMI_MATCH(DMI_BIOS_DATE, "05/07/2016"),
+ },
+ .driver_data = (void *)&lcd1200x1920_rightside_up,
+ }, { /* Chuwi Hi10 Pro (CWI529) */
+ .matches = {
+ DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "Hampoo"),
+ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Hi10 pro tablet"),
+ },
+ .driver_data = (void *)&lcd1200x1920_rightside_up,
+ }, { /* Dynabook K50 */
+ .matches = {
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Dynabook Inc."),
+ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "dynabook K50/FR"),
+ },
+ .driver_data = (void *)&lcd800x1280_leftside_up,
+ }, { /* GPD MicroPC (generic strings, also match on bios date) */
+ .matches = {
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Default string"),
+ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Default string"),
+ DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "Default string"),
+ DMI_EXACT_MATCH(DMI_BOARD_NAME, "Default string"),
+ },
+ .driver_data = (void *)&gpd_micropc,
+ }, { /* GPD MicroPC (later BIOS versions with proper DMI strings) */
+ .matches = {
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "GPD"),
+ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "MicroPC"),
+ },
+ .driver_data = (void *)&lcd720x1280_rightside_up,
+ }, { /* GPD Win Max */
+ .matches = {
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "GPD"),
+ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "G1619-01"),
+ },
+ .driver_data = (void *)&lcd800x1280_rightside_up,
+ }, { /*
+ * GPD Pocket, note that the DMI data is less generic then
+ * it seems, devices with a board-vendor of "AMI Corporation"
+ * are quite rare, as are devices which have both board- *and*
+ * product-id set to "Default String"
+ */
+ .matches = {
+ DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "AMI Corporation"),
+ DMI_EXACT_MATCH(DMI_BOARD_NAME, "Default string"),
+ DMI_EXACT_MATCH(DMI_BOARD_SERIAL, "Default string"),
+ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Default string"),
+ },
+ .driver_data = (void *)&gpd_pocket,
+ }, { /* GPD Pocket 2 (generic strings, also match on bios date) */
+ .matches = {
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Default string"),
+ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Default string"),
+ DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "Default string"),
+ DMI_EXACT_MATCH(DMI_BOARD_NAME, "Default string"),
+ },
+ .driver_data = (void *)&gpd_pocket2,
+ }, { /* GPD Win (same note on DMI match as GPD Pocket) */
+ .matches = {
+ DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "AMI Corporation"),
+ DMI_EXACT_MATCH(DMI_BOARD_NAME, "Default string"),
+ DMI_EXACT_MATCH(DMI_BOARD_SERIAL, "Default string"),
+ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Default string"),
+ },
+ .driver_data = (void *)&gpd_win,
+ }, { /* GPD Win 2 (too generic strings, also match on bios date) */
+ .matches = {
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Default string"),
+ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Default string"),
+ DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "Default string"),
+ DMI_EXACT_MATCH(DMI_BOARD_NAME, "Default string"),
+ },
+ .driver_data = (void *)&gpd_win2,
+ }, { /* GPD Win 3 */
+ .matches = {
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "GPD"),
+ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "G1618-03")
+ },
+ .driver_data = (void *)&lcd720x1280_rightside_up,
+ }, { /* I.T.Works TW891 */
+ .matches = {
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "To be filled by O.E.M."),
+ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "TW891"),
+ DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "To be filled by O.E.M."),
+ DMI_EXACT_MATCH(DMI_BOARD_NAME, "TW891"),
+ },
+ .driver_data = (void *)&itworks_tw891,
+ }, { /* KD Kurio Smart C15200 2-in-1 */
+ .matches = {
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "KD Interactive"),
+ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Kurio Smart"),
+ DMI_EXACT_MATCH(DMI_BOARD_NAME, "KDM960BCP"),
+ },
+ .driver_data = (void *)&lcd800x1280_rightside_up,
+ }, { /*
+ * Lenovo Ideapad Miix 310 laptop, only some production batches
+ * have a portrait screen, the resolution checks makes the quirk
+ * apply only to those batches.
+ */
+ .matches = {
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "80SG"),
+ DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "MIIX 310-10ICR"),
+ },
+ .driver_data = (void *)&lcd800x1280_rightside_up,
+ }, { /* Lenovo Ideapad Miix 320 */
+ .matches = {
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "80XF"),
+ DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "Lenovo MIIX 320-10ICR"),
+ },
+ .driver_data = (void *)&lcd800x1280_rightside_up,
+ }, { /* Lenovo Ideapad D330-10IGM (HD) */
+ .matches = {
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+ DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "Lenovo ideapad D330-10IGM"),
+ },
+ .driver_data = (void *)&lcd800x1280_rightside_up,
+ }, { /* Lenovo Ideapad D330-10IGM (FHD) */
+ .matches = {
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+ DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "Lenovo ideapad D330-10IGM"),
+ },
+ .driver_data = (void *)&lcd1200x1920_rightside_up,
+ }, { /* Lenovo Ideapad D330-10IGL (HD) */
+ .matches = {
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+ DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "Lenovo ideapad D330-10IGL"),
+ },
+ .driver_data = (void *)&lcd800x1280_rightside_up,
+ }, { /* Lenovo IdeaPad Duet 3 10IGL5 */
+ .matches = {
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+ DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "IdeaPad Duet 3 10IGL5"),
+ },
+ .driver_data = (void *)&lcd1200x1920_rightside_up,
+ }, { /* Lenovo Legion Go 8APU1 */
+ .matches = {
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+ DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "Legion Go 8APU1"),
+ },
+ .driver_data = (void *)&lcd1600x2560_leftside_up,
+ }, { /* Lenovo Yoga Book X90F / X90L */
+ .matches = {
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Intel Corporation"),
+ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "CHERRYVIEW D1 PLATFORM"),
+ DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "YETI-11"),
+ },
+ .driver_data = (void *)&lcd1200x1920_rightside_up,
+ }, { /* Lenovo Yoga Book X91F / X91L */
+ .matches = {
+ /* Non exact match to match F + L versions */
+ DMI_MATCH(DMI_PRODUCT_NAME, "Lenovo YB1-X91"),
+ },
+ .driver_data = (void *)&lcd1200x1920_rightside_up,
+ }, { /* Lenovo Yoga Tablet 2 830F / 830L */
+ .matches = {
+ /*
+ * Note this also matches the Lenovo Yoga Tablet 2 1050F/L
+ * since that uses the same mainboard. The resolution match
+ * will limit this to only matching on the 830F/L. Neither has
+ * any external video outputs so those are not a concern.
+ */
+ DMI_MATCH(DMI_SYS_VENDOR, "Intel Corp."),
+ DMI_MATCH(DMI_PRODUCT_NAME, "VALLEYVIEW C0 PLATFORM"),
+ DMI_MATCH(DMI_BOARD_NAME, "BYT-T FFD8"),
+ /* Partial match on beginning of BIOS version */
+ DMI_MATCH(DMI_BIOS_VERSION, "BLADE_21"),
+ },
+ .driver_data = (void *)&lcd1200x1920_rightside_up,
+ }, { /* Lenovo Yoga Tab 3 X90F */
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "Intel Corporation"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "CHERRYVIEW D1 PLATFORM"),
+ DMI_MATCH(DMI_PRODUCT_VERSION, "Blade3-10A-001"),
+ },
+ .driver_data = (void *)&lcd1600x2560_rightside_up,
+ }, { /* Nanote UMPC-01 */
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "RWC CO.,LTD"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "UMPC-01"),
+ },
+ .driver_data = (void *)&lcd1200x1920_rightside_up,
+ }, { /* OneGX1 Pro */
+ .matches = {
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "SYSTEM_MANUFACTURER"),
+ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "SYSTEM_PRODUCT_NAME"),
+ DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "Default string"),
+ },
+ .driver_data = (void *)&onegx1_pro,
+ }, { /* OneXPlayer */
+ .matches = {
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "ONE-NETBOOK TECHNOLOGY CO., LTD."),
+ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "ONE XPLAYER"),
+ },
+ .driver_data = (void *)&lcd1600x2560_leftside_up,
+ }, { /* Samsung GalaxyBook 10.6 */
+ .matches = {
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD."),
+ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Galaxy Book 10.6"),
+ },
+ .driver_data = (void *)&lcd1280x1920_rightside_up,
+ }, { /* Valve Steam Deck */
+ .matches = {
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Valve"),
+ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Jupiter"),
+ DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "1"),
+ },
+ .driver_data = (void *)&lcd800x1280_rightside_up,
+ }, { /* VIOS LTH17 */
+ .matches = {
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "VIOS"),
+ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "LTH17"),
+ },
+ .driver_data = (void *)&lcd800x1280_rightside_up,
+ }, { /* One Mix 2S (generic strings, also match on bios date) */
+ .matches = {
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Default string"),
+ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Default string"),
+ DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "Default string"),
+ DMI_EXACT_MATCH(DMI_BOARD_NAME, "Default string"),
+ },
+ .driver_data = (void *)&gpd_onemix2s,
+ },
+ {}
+};
+
+/**
+ * drm_get_panel_orientation_quirk - Check for panel orientation quirks
+ * @width: width in pixels of the panel
+ * @height: height in pixels of the panel
+ *
+ * This function checks for platform specific (e.g. DMI based) quirks
+ * providing info on panel_orientation for systems where this cannot be
+ * probed from the hard-/firm-ware. To avoid false-positive this function
+ * takes the panel resolution as argument and checks that against the
+ * resolution expected by the quirk-table entry.
+ *
+ * Note this function is also used outside of the drm-subsys, by for example
+ * the efifb code. Because of this this function gets compiled into its own
+ * kernel-module when built as a module.
+ *
+ * Returns:
+ * A DRM_MODE_PANEL_ORIENTATION_* value if there is a quirk for this system,
+ * or DRM_MODE_PANEL_ORIENTATION_UNKNOWN if there is no quirk.
+ */
+int drm_get_panel_orientation_quirk(int width, int height)
+{
+ const struct dmi_system_id *match;
+ const struct drm_dmi_panel_orientation_data *data;
+ const char *bios_date;
+ int i;
+
+ for (match = dmi_first_match(orientation_data);
+ match;
+ match = dmi_first_match(match + 1)) {
+ data = match->driver_data;
+
+ if (data->width != width ||
+ data->height != height)
+ continue;
+
+ if (!data->bios_dates)
+ return data->orientation;
+
+ bios_date = dmi_get_system_info(DMI_BIOS_DATE);
+ if (!bios_date)
+ continue;
+
+ i = match_string(data->bios_dates, -1, bios_date);
+ if (i >= 0)
+ return data->orientation;
+ }
+
+ return DRM_MODE_PANEL_ORIENTATION_UNKNOWN;
+}
+EXPORT_SYMBOL(drm_get_panel_orientation_quirk);
+
+#else
+
+/* There are no quirks for non x86 devices yet */
+int drm_get_panel_orientation_quirk(int width, int height)
+{
+ return DRM_MODE_PANEL_ORIENTATION_UNKNOWN;
+}
+EXPORT_SYMBOL(drm_get_panel_orientation_quirk);
+
+#endif
+
+MODULE_LICENSE("Dual MIT/GPL");
diff -rupN linux-6.7-rc8.orig/drivers/gpu/drm/drm_panel_orientation_quirks.c.rej linux-6.7-rc8.panel/drivers/gpu/drm/drm_panel_orientation_quirks.c.rej
--- linux-6.7-rc8.orig/drivers/gpu/drm/drm_panel_orientation_quirks.c.rej 1970-01-01 00:00:00.000000000 +0000
+++ linux-6.7-rc8.panel/drivers/gpu/drm/drm_panel_orientation_quirks.c.rej 2024-01-04 23:18:55.450922222 +0000
@@ -0,0 +1,16 @@
+--- drivers/gpu/drm/drm_panel_orientation_quirks.c 2023-11-28 17:20:18.000000000 +0000
++++ drivers/gpu/drm/drm_panel_orientation_quirks.c 2023-11-30 15:33:54.949480402 +0000
+@@ -336,6 +336,13 @@ static const struct dmi_system_id orient
+ DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "IdeaPad Duet 3 10IGL5"),
+ },
+ .driver_data = (void *)&lcd1200x1920_rightside_up,
++ }, { /* Lenovo Legion Go */
++ .matches = {
++ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "LENOVO"),
++ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "83E1"),
++ DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "Legion Go 8APU1"),
++ },
++ .driver_data = (void *)&lcd1600x2560_leftside_up,
+ }, { /* Lenovo Yoga Book X90F / X90L */
+ .matches = {
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Intel Corporation"),

View file

@ -1,7 +1,7 @@
diff -rupN linux.orig/drivers/gpu/drm/drm_panel_orientation_quirks.c linux/drivers/gpu/drm/drm_panel_orientation_quirks.c
--- linux.orig/drivers/gpu/drm/drm_panel_orientation_quirks.c 2023-09-02 07:14:38.000000000 +0000
+++ linux/drivers/gpu/drm/drm_panel_orientation_quirks.c 2023-09-09 03:24:49.178775423 +0000
@@ -133,6 +133,12 @@ static const struct drm_dmi_panel_orient
diff -rupN linux-6.6.9.orig/drivers/gpu/drm/drm_panel_orientation_quirks.c linux-6.6.9/drivers/gpu/drm/drm_panel_orientation_quirks.c
--- linux-6.6.9.orig/drivers/gpu/drm/drm_panel_orientation_quirks.c 2024-01-04 00:22:05.545161814 +0000
+++ linux-6.6.9/drivers/gpu/drm/drm_panel_orientation_quirks.c 2024-01-04 00:23:21.365247268 +0000
@@ -141,6 +141,12 @@ static const struct drm_dmi_panel_orient
.orientation = DRM_MODE_PANEL_ORIENTATION_RIGHT_UP,
};
@ -14,7 +14,7 @@ diff -rupN linux.orig/drivers/gpu/drm/drm_panel_orientation_quirks.c linux/drive
static const struct dmi_system_id orientation_data[] = {
{ /* Acer One 10 (S1003) */
.matches = {
@@ -170,13 +176,13 @@ static const struct dmi_system_id orient
@@ -178,13 +184,13 @@ static const struct dmi_system_id orient
DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "T103HAF"),
},
.driver_data = (void *)&lcd800x1280_rightside_up,
@ -31,7 +31,7 @@ diff -rupN linux.orig/drivers/gpu/drm/drm_panel_orientation_quirks.c linux/drive
.matches = {
DMI_EXACT_MATCH(DMI_SYS_VENDOR, "AYANEO"),
DMI_MATCH(DMI_PRODUCT_NAME, "AIR"),
@@ -188,6 +194,30 @@ static const struct dmi_system_id orient
@@ -196,6 +202,30 @@ static const struct dmi_system_id orient
DMI_MATCH(DMI_BOARD_NAME, "NEXT"),
},
.driver_data = (void *)&lcd800x1280_rightside_up,
@ -41,10 +41,10 @@ diff -rupN linux.orig/drivers/gpu/drm/drm_panel_orientation_quirks.c linux/drive
+ DMI_MATCH(DMI_BOARD_NAME, "GEEK"),
+ },
+ .driver_data = (void *)&lcd800x1280_rightside_up,
+ }, { /* AYANEO AYANEO 2 */
+ }, { /* AYANEO AYANEO 2, 2S */
+ .matches = {
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "AYANEO"),
+ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "AYANEO 2"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "AYANEO 2"),
+ },
+ .driver_data = (void *)&lcd1200x1920_rightside_up,
+ }, { /* AOKZOE A1 Pro */

View file

@ -1,52 +0,0 @@
diff -rupN linux-6.4.16.orig/sound/pci/hda/patch_realtek.c linux-6.4.16/sound/pci/hda/patch_realtek.c
--- linux-6.4.16.orig/sound/pci/hda/patch_realtek.c 2023-10-18 20:03:49.089091278 -0600
+++ linux-6.4.16/sound/pci/hda/patch_realtek.c 2023-10-19 10:21:10.552016120 -0600
@@ -6521,6 +6521,20 @@ static void alc294_gx502_toggle_output(s
alc_write_coef_idx(codec, 0x10, 0x0a20);
}
+static void alc269_fixup_headphone_volume(struct hda_codec *codec,
+ const struct hda_fixup *fix, int action)
+{
+ /* Pin 0x21: Some devices share 0x14 for headphones and speakers.
+ * This will fix ensure these devices have volume controls. */
+ if (!is_jack_detectable(codec, 0x21))
+ return;
+
+ if (action == HDA_FIXUP_ACT_PRE_PROBE) {
+ static const hda_nid_t conn1[] = { 0x02 };
+ snd_hda_override_conn_list(codec, 0x14, ARRAY_SIZE(conn1), conn1);
+ }
+}
+
static void alc294_fixup_gx502_hp(struct hda_codec *codec,
const struct hda_fixup *fix, int action)
{
@@ -7013,6 +7027,7 @@ enum {
ALC269_FIXUP_DELL3_MIC_NO_PRESENCE,
ALC269_FIXUP_DELL4_MIC_NO_PRESENCE,
ALC269_FIXUP_DELL4_MIC_NO_PRESENCE_QUIET,
+ ALC269_FIXUP_HEADSET_AYANEO_DEVICES,
ALC269_FIXUP_HEADSET_MODE,
ALC269_FIXUP_HEADSET_MODE_NO_HP_MIC,
ALC269_FIXUP_ASPIRE_HEADSET_MIC,
@@ -8150,6 +8165,10 @@ static const struct hda_fixup alc269_fix
.chained = true,
.chain_id = ALC256_FIXUP_ASUS_HEADSET_MODE
},
+ [ALC269_FIXUP_HEADSET_AYANEO_DEVICES] = {
+ .type = HDA_FIXUP_FUNC,
+ .v.func = alc269_fixup_headphone_volume,
+ },
[ALC256_FIXUP_ASUS_AIO_GPIO2] = {
.type = HDA_FIXUP_FUNC,
/* Set up GPIO2 for the speaker amp */
@@ -9929,6 +9948,8 @@ static const struct snd_pci_quirk alc269
SND_PCI_QUIRK(0x1d72, 0x1901, "RedmiBook 14", ALC256_FIXUP_ASUS_HEADSET_MIC),
SND_PCI_QUIRK(0x1d72, 0x1945, "Redmi G", ALC256_FIXUP_ASUS_HEADSET_MIC),
SND_PCI_QUIRK(0x1d72, 0x1947, "RedmiBook Air", ALC255_FIXUP_XIAOMI_HEADSET_MIC),
+ SND_PCI_QUIRK(0x1f66, 0x0101, "AYANEO Devices", ALC269_FIXUP_HEADSET_AYANEO_DEVICES),
+ SND_PCI_QUIRK(0x1f66, 0x0103, "AYANEO Air Plus", ALC269_FIXUP_HEADSET_AYANEO_DEVICES),
SND_PCI_QUIRK(0x8086, 0x2074, "Intel NUC 8", ALC233_FIXUP_INTEL_NUC8_DMIC),
SND_PCI_QUIRK(0x8086, 0x2080, "Intel NUC 8 Rugged", ALC256_FIXUP_INTEL_NUC8_RUGGED),
SND_PCI_QUIRK(0x8086, 0x2081, "Intel NUC 10", ALC256_FIXUP_INTEL_NUC10),

View file

@ -4,7 +4,7 @@
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="gcc"
PKG_VERSION="13.2.0"
PKG_VERSION="12.3.0"
PKG_LICENSE="GPL-2.0-or-later"
PKG_SITE="https://gcc.gnu.org/"
PKG_URL="https://ftp.gnu.org/gnu/gcc/${PKG_NAME}-${PKG_VERSION}/${PKG_NAME}-${PKG_VERSION}.tar.xz"
@ -54,6 +54,7 @@ GCC_COMMON_CONFIGURE_OPTS="--target=${TARGET_NAME} \
--disable-libssp \
--disable-static \
--enable-shared \
--disable-werror \
--enable-__cxa_atexit"
PKG_CONFIGURE_OPTS_BOOTSTRAP="${GCC_COMMON_CONFIGURE_OPTS} \
@ -68,7 +69,6 @@ PKG_CONFIGURE_OPTS_BOOTSTRAP="${GCC_COMMON_CONFIGURE_OPTS} \
--disable-threads \
--without-headers \
--with-newlib \
--disable-werror \
${GCC_OPTS}"
PKG_CONFIGURE_OPTS_HOST="${GCC_COMMON_CONFIGURE_OPTS} \
@ -85,8 +85,6 @@ PKG_CONFIGURE_OPTS_HOST="${GCC_COMMON_CONFIGURE_OPTS} \
--enable-clocale=gnu \
${GCC_OPTS}"
PKG_CONFIGURE_OPTS_TARGET="${PKG_CONFIGURE_OPTS_HOST}"
post_makeinstall_bootstrap() {
GCC_VERSION=$(${TOOLCHAIN}/bin/${TARGET_NAME}-gcc -dumpversion)
DATE="0401$(echo ${GCC_VERSION} | sed 's/\./0/g')"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,102 @@
diff -rupN syncthing.orig/lib/locations/locations.go syncthing/lib/locations/locations.go
--- syncthing.orig/lib/locations/locations.go 2023-12-11 06:46:46.000000000 +0000
+++ syncthing/lib/locations/locations.go 2024-01-03 01:01:17.529930502 +0000
@@ -49,7 +49,7 @@ const (
LevelDBDir = "index-v0.14.0.db"
configFileName = "config.xml"
- defaultStateDir = ".local/state/syncthing"
+ defaultStateDir = ".config/syncthing"
oldDefaultConfigDir = ".config/syncthing"
)
@@ -244,7 +244,7 @@ func unixConfigDir(userHome, xdgConfigHo
func unixDataDir(userHome, configDir, xdgDataHome, xdgStateHome string, fileExists func(string) bool) string {
// If a database exists at the config location, use that. This is the
// most common case for both legacy (~/.config/syncthing) and current
- // (~/.local/state/syncthing) setups.
+ // (~/.config/syncthing) setups.
if fileExists(filepath.Join(configDir, LevelDBDir)) {
return configDir
}
diff -rupN syncthing.orig/lib/locations/locations_test.go syncthing/lib/locations/locations_test.go
--- syncthing.orig/lib/locations/locations_test.go 2023-12-11 06:46:46.000000000 +0000
+++ syncthing/lib/locations/locations_test.go 2024-01-03 01:01:17.529930502 +0000
@@ -29,9 +29,9 @@ func TestUnixConfigDir(t *testing.T) {
// First some "new installations", no files exist previously.
// No variables set, use our current default
- {"/home/user", "", "", nil, "/home/user/.local/state/syncthing"},
+ {"/home/user", "", "", nil, "/home/user/.config/syncthing"},
// Config home set, doesn't matter
- {"/home/user", "/somewhere/else", "", nil, "/home/user/.local/state/syncthing"},
+ {"/home/user", "/somewhere/else", "", nil, "/home/user/.config/syncthing"},
// State home set, use that
{"/home/user", "", "/var/state", nil, "/var/state/syncthing"},
// State home set, again config home doesn't matter
@@ -75,9 +75,9 @@ func TestUnixDataDir(t *testing.T) {
// First some "new installations", no files exist previously.
// No variables set, use our current default
- {"/home/user", "", "", "", nil, "/home/user/.local/state/syncthing"},
+ {"/home/user", "", "", "", nil, "/home/user/.config/syncthing"},
// Data home set, doesn't matter
- {"/home/user", "", "/somewhere/else", "", nil, "/home/user/.local/state/syncthing"},
+ {"/home/user", "", "/somewhere/else", "", nil, "/home/user/.config/syncthing"},
// State home set, use that
{"/home/user", "", "", "/var/state", nil, "/var/state/syncthing"},
diff -rupN syncthing.orig/man/syncthing.1 syncthing/man/syncthing.1
--- syncthing.orig/man/syncthing.1 2023-12-11 06:46:46.000000000 +0000
+++ syncthing/man/syncthing.1 2024-01-03 01:01:17.529930502 +0000
@@ -157,7 +157,7 @@ given subcommand.
.B \-\-home=<dir>
Set common configuration and data directory. The default configuration
directory is \fB$XDG_STATE_HOME/syncthing\fP or
-\fB$HOME/.local/state/syncthing\fP (Unix\-like),
+\fB$HOME/.config/syncthing\fP (Unix\-like),
\fB$HOME/Library/Application Support/Syncthing\fP (Mac) and
\fB%LOCALAPPDATA%\eSyncthing\fP (Windows).
.UNINDENT
diff -rupN syncthing.orig/man/syncthing-config.5 syncthing/man/syncthing-config.5
--- syncthing.orig/man/syncthing-config.5 2023-12-11 06:46:46.000000000 +0000
+++ syncthing/man/syncthing-config.5 2024-01-03 01:01:17.529930502 +0000
@@ -37,7 +37,7 @@ syncthing-config \- Syncthing Configurat
.nf
.ft C
$XDG_STATE_HOME/syncthing
-$HOME/.local/state/syncthing
+$HOME/.config/syncthing
$HOME/Library/Application Support/Syncthing
%LOCALAPPDATA%\eSyncthing
.ft P
@@ -48,7 +48,7 @@ $HOME/Library/Application Support/Syncth
.sp
Changed in version 1.27.0: The default location of the configuration and database directory on
Unix\-like systems was changed to \fB$XDG_STATE_HOME/syncthing\fP or
-\fB$HOME/.local/state/syncthing\fP\&. Previously the default config location
+\fB$HOME/.config/syncthing\fP\&. Previously the default config location
was \fB$XDG_CONFIG_HOME/syncthing\fP or \fB$HOME/.config/syncthing\fP\&. The
database directory was previously \fB$HOME/.config/syncthing\fP or, if the
environment variable was set, \fB$XDG_DATA_HOME/syncthing\fP\&. Existing
@@ -65,7 +65,7 @@ Syncthing also keeps an index database w
default stored in the same directory, though this can be overridden.
.sp
The location defaults to \fB$XDG_STATE_HOME/syncthing\fP or
-\fB$HOME/.local/state/syncthing\fP (Unix\-like), \fB$HOME/Library/Application
+\fB$HOME/.config/syncthing\fP (Unix\-like), \fB$HOME/Library/Application
Support/Syncthing\fP (Mac), or \fB%LOCALAPPDATA%\eSyncthing\fP (Windows). It can
be changed at runtime using the \fB\-\-config\fP or \fB\-\-home\fP flags or the
corresponding environment varibles (\fB$STCONFDIR\fP or \fBSTHOMEDIR\fP). The
diff -rupN syncthing.orig/man/syncthing-faq.7 syncthing/man/syncthing-faq.7
--- syncthing.orig/man/syncthing-faq.7 2023-12-11 06:46:46.000000000 +0000
+++ syncthing/man/syncthing-faq.7 2024-01-03 01:01:17.529930502 +0000
@@ -355,7 +355,7 @@ The web GUI contains a \fBRecent Changes
displays changes since the last (re)start of Syncthing. With the \fB\-\-audit\fP
option you can enable a persistent, detailed log of changes and most
activities, which contains a JSON\-formatted sequence of events in the
-\fB~/.local/state/syncthing/audit\-_date_\-_time_.log\fP file.
+\fB~/.config/syncthing/audit\-_date_\-_time_.log\fP file.
.SS Does the audit log contain every change?
.sp
The audit log (and the \fBRecent Changes\fP window) sees the changes that your

View file

@ -7,6 +7,6 @@
ROOTPASS=$(get_setting root.password)
# Set the root user and password for SyncThing
syncthing generate --gui-user root --gui-password ${ROOTPASS}
xmlstarlet ed --inplace -u "//configuration/gui/address" -v ":8384" /storage/.config/syncthing/config.xml
xmlstarlet ed --inplace -u "//configuration/gui/address" -v "0.0.0.0:8384" /storage/.config/syncthing/config.xml
syncthing -no-browser -no-restart

View file

@ -58,4 +58,6 @@ if [ -e /storage/.please_resize_me ] ; then
fi
fi
sync &>/dev/null
sync &>/dev/null
sync &>/dev/null
reboot &>/dev/null

View file

@ -674,20 +674,6 @@ update_bootmenu() {
fi
fi
fi
if [ -n "${GRUB_DEFAULT}" -a -f /flash/EFI/BOOT/grub.cfg ]; then
if grep -q "^menuentry \"${GRUB_DEFAULT}\"" /flash/EFI/BOOT/grub.cfg 2>/dev/null; then
crnt_default="$(awk '/^set default/ {print substr($2,9,19)}' /flash/EFI/BOOT/grub.cfg)"
if [ ! "$crnt_default" = "\"${GRUB_DEFAULT}\"" ]; then
progress "Updating /flash/EFI/BOOT/grub.cfg [$crnt_default -> \"${GRUB_DEFAULT}\"]"
mount -o remount,rw /flash
sed -e "s/^set default=.*/set default=\"${GRUB_DEFAULT}\"/" -i /flash/EFI/BOOT/grub.cfg
rm -f /flash/grub.cfg
mount -o remount,ro /flash
fi
fi
fi
}
check_out_of_space() {

View file

@ -15,13 +15,13 @@ unset CURRENT_MODE
unset AC_STATUS
while true
do
if [ "$(get_setting system.powersave)" = 1 ]
then
AC_STATUS="$(cat /sys/class/power_supply/[bB][aA][tT]*/status 2>/dev/null)"
if [[ ! "${CURRENT_MODE}" =~ ${AC_STATUS} ]]
then
case ${AC_STATUS} in
Disch*)
if [ "$(get_setting system.powersave)" = 1 ]
then
log $0 "Switching to battery mode."
if [ -e "/tmp/.gpu_performance_level" ]
then
@ -33,7 +33,6 @@ do
then
GPUPROFILE="auto"
fi
ledcontrol $(get_setting led.color)
audio_powersave 1
cpu_perftune battery
gpu_performance_level ${GPUPROFILE}
@ -41,12 +40,12 @@ do
wake_events enabled
runtime_power_management auto 5
scsi_link_power_management med_power_with_dipm
/usr/bin/wifictl setpowersave
fi
;;
*)
if [ "$(get_setting system.powersave)" = 1 ]
then
log $0 "Switching to performance mode."
ledcontrol $(get_setting led.color)
audio_powersave 0
cpu_perftune performance
gpu_performance_level auto
@ -54,10 +53,11 @@ do
wake_events disabled
runtime_power_management on 0
scsi_link_power_management ""
/usr/bin/wifictl setpowersave
fi
;;
esac
fi
/usr/bin/wifictl setpowersave
ledcontrol $(get_setting led.color)
CURRENT_MODE="${AC_STATUS}"
fi
### Until we have an overlay. :rofl:

View file

@ -3,7 +3,7 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="systemd"
PKG_VERSION="252.19"
PKG_VERSION="252.21"
PKG_LICENSE="LGPL2.1+"
PKG_SITE="http://www.freedesktop.org/wiki/Software/systemd"
PKG_URL="https://github.com/systemd/systemd-stable/archive/v${PKG_VERSION}.tar.gz"

View file

@ -290,16 +290,6 @@ LABEL linux
APPEND boot=UUID=$UUID_SYSTEM disk=UUID=$UUID_STORAGE $SYSLINUX_PARAMETERS @EXTRA_CMDLINE@
EOF
cat << EOF > $TMPDIR/part1/EFI/BOOT/grub.cfg
set timeout="0"
set default="${DISTRO}"
menuentry "${DISTRO}" {
search --set -f /KERNEL
linux /KERNEL boot=UUID=$UUID_SYSTEM disk=UUID=$UUID_STORAGE @EXTRA_CMDLINE@
}
EOF
# uefi boot / hybrid mode
cp /usr/share/syslinux/bootx64.efi $TMPDIR/part1/EFI/BOOT
cp /usr/share/syslinux/ldlinux.e64 $TMPDIR/part1/EFI/BOOT

View file

@ -3,7 +3,7 @@
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="emulationstation"
PKG_VERSION="99b7b72818f3fd702b0d11d3e530810568405a3a"
PKG_VERSION="d5fe1df364cca1ee4a22de493014ca4918b8afec"
PKG_GIT_CLONE_BRANCH="main"
PKG_REV="1"
PKG_ARCH="any"

View file

@ -18,7 +18,7 @@ PKG_PATCH_DIRS+="${DEVICE}"
case ${DEVICE} in
S922X*)
PKG_VERSION="6.1.69"
PKG_VERSION="6.1.70"
PKG_URL="https://www.kernel.org/pub/linux/kernel/v6.x/${PKG_NAME}-${PKG_VERSION}.tar.xz"
;;
esac

File diff suppressed because it is too large Load diff

View file

@ -2856,6 +2856,7 @@ CONFIG_V4L_MEM2MEM_DRIVERS=y
#
# Rockchip media platform drivers
#
CONFIG_VIDEO_ROCKCHIP_IEP=y
CONFIG_VIDEO_ROCKCHIP_RGA=y
CONFIG_VIDEO_ROCKCHIP_ISP1=y

View file

@ -36,7 +36,7 @@ case ${DEVICE} in
PKG_GIT_CLONE_BRANCH="main"
;;
RK33*)
PKG_VERSION="6.1.69"
PKG_VERSION="6.1.70"
PKG_URL="https://www.kernel.org/pub/linux/kernel/v6.x/${PKG_NAME}-${PKG_VERSION}.tar.xz"
;;
esac
@ -140,7 +140,7 @@ pre_make_target() {
if [ "${TARGET_ARCH}" = "x86_64" ]; then
# copy some extra firmware to linux tree
mkdir -p ${PKG_BUILD}/external-firmware
cp -a $(get_build_dir kernel-firmware)/{amdgpu,amd-ucode,i915,radeon,e100,rtl_nic} ${PKG_BUILD}/external-firmware
cp -a $(get_build_dir kernel-firmware)/{amd,amdgpu,amd-ucode,intel,i915,radeon,e100,rtl_nic} ${PKG_BUILD}/external-firmware
cp -a $(get_build_dir intel-ucode)/intel-ucode ${PKG_BUILD}/external-firmware

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,150 @@
diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3399-op1-opp.dtsi linux/arch/arm64/boot/dts/rockchip/rk3399-op1-opp.dtsi
--- linux.orig/arch/arm64/boot/dts/rockchip/rk3399-op1-opp.dtsi 2024-01-02 16:20:12.770155149 +0000
+++ linux/arch/arm64/boot/dts/rockchip/rk3399-op1-opp.dtsi 2024-01-02 21:04:45.168352345 +0000
@@ -9,34 +9,30 @@
opp-shared;
opp00 {
- opp-hz = /bits/ 64 <408000000>;
- opp-microvolt = <800000>;
- clock-latency-ns = <40000>;
- };
- opp01 {
opp-hz = /bits/ 64 <600000000>;
opp-microvolt = <825000>;
+ clock-latency-ns = <40000>;
};
- opp02 {
- opp-hz = /bits/ 64 <816000000>;
- opp-microvolt = <850000>;
- };
- opp03 {
+ opp01 {
opp-hz = /bits/ 64 <1008000000>;
opp-microvolt = <900000>;
};
- opp04 {
+ opp02 {
opp-hz = /bits/ 64 <1200000000>;
opp-microvolt = <975000>;
};
- opp05 {
+ opp03 {
opp-hz = /bits/ 64 <1416000000>;
opp-microvolt = <1100000>;
};
- opp06 {
+ opp04 {
opp-hz = /bits/ 64 <1512000000>;
opp-microvolt = <1150000>;
};
+ opp05 {
+ opp-hz = /bits/ 64 <1608000000>;
+ opp-microvolt = <1200000>;
+ };
};
cluster1_opp: opp-table-1 {
@@ -44,40 +40,32 @@
opp-shared;
opp00 {
- opp-hz = /bits/ 64 <408000000>;
- opp-microvolt = <800000>;
- clock-latency-ns = <40000>;
- };
- opp01 {
opp-hz = /bits/ 64 <600000000>;
- opp-microvolt = <800000>;
- };
- opp02 {
- opp-hz = /bits/ 64 <816000000>;
opp-microvolt = <825000>;
+ clock-latency-ns = <40000>;
};
- opp03 {
+ opp01 {
opp-hz = /bits/ 64 <1008000000>;
opp-microvolt = <850000>;
};
- opp04 {
+ opp02 {
opp-hz = /bits/ 64 <1200000000>;
opp-microvolt = <900000>;
};
- opp05 {
+ opp03 {
opp-hz = /bits/ 64 <1416000000>;
opp-microvolt = <975000>;
};
- opp06 {
+ opp04 {
opp-hz = /bits/ 64 <1608000000>;
opp-microvolt = <1050000>;
};
- opp07 {
+ opp05 {
opp-hz = /bits/ 64 <1800000000>;
opp-microvolt = <1150000>;
};
- opp08 {
- opp-hz = /bits/ 64 <2016000000>;
+ opp06 {
+ opp-hz = /bits/ 64 <2088000000>;
opp-microvolt = <1250000>;
};
};
@@ -90,46 +78,30 @@
opp-microvolt = <800000>;
};
opp01 {
- opp-hz = /bits/ 64 <297000000>;
- opp-microvolt = <800000>;
- };
- opp02 {
- opp-hz = /bits/ 64 <400000000>;
- opp-microvolt = <825000>;
- };
- opp03 {
- opp-hz = /bits/ 64 <500000000>;
- opp-microvolt = <850000>;
- };
- opp04 {
opp-hz = /bits/ 64 <600000000>;
opp-microvolt = <925000>;
};
- opp05 {
+ opp02 {
opp-hz = /bits/ 64 <800000000>;
opp-microvolt = <1075000>;
};
+ opp03 {
+ opp-hz = /bits/ 64 <900000000>;
+ opp-microvolt = <1150000>;
+ };
};
dmc_opp_table: opp-table-3 {
compatible = "operating-points-v2";
opp00 {
- opp-hz = /bits/ 64 <400000000>;
- opp-microvolt = <900000>;
- };
- opp01 {
opp-hz = /bits/ 64 <666000000>;
opp-microvolt = <900000>;
};
- opp02 {
- opp-hz = /bits/ 64 <800000000>;
+ opp01 {
+ opp-hz = /bits/ 64 <856000000>;
opp-microvolt = <900000>;
};
- opp03 {
- opp-hz = /bits/ 64 <928000000>;
- opp-microvolt = <925000>;
- };
};
};

View file

@ -0,0 +1,394 @@
diff -rupN linux.orig/drivers/gpu/drm/panel/Kconfig linux/drivers/gpu/drm/panel/Kconfig
--- linux.orig/drivers/gpu/drm/panel/Kconfig 2023-12-15 19:18:56.948899851 +0000
+++ linux/drivers/gpu/drm/panel/Kconfig 2023-12-15 19:20:05.987107578 +0000
@@ -588,6 +588,15 @@ config DRM_PANEL_SHARP_LS043T1LE01
Say Y here if you want to enable support for Sharp LS043T1LE01 qHD
(540x960) DSI panel as found on the Qualcomm APQ8074 Dragonboard
+config DRM_PANEL_SHARP_LS054B3SX01
+ bool "Sharp LS054B3SX01 1152x1920 video mode panel"
+ depends on OF
+ depends on DRM_MIPI_DSI
+ depends on BACKLIGHT_CLASS_DEVICE
+ help
+ say Y here if you want to enable support for Sharp LS054B3SX01
+ 1152x1920 panel as found in Anbernic RG552.
+
config DRM_PANEL_SHARP_LS060T1SX01
tristate "Sharp LS060T1SX01 FullHD video mode panel"
depends on OF
diff -rupN linux.orig/drivers/gpu/drm/panel/Makefile linux/drivers/gpu/drm/panel/Makefile
--- linux.orig/drivers/gpu/drm/panel/Makefile 2023-12-15 19:18:56.948899851 +0000
+++ linux/drivers/gpu/drm/panel/Makefile 2023-12-15 19:20:05.987107578 +0000
@@ -59,6 +59,7 @@ obj-$(CONFIG_DRM_PANEL_SEIKO_43WVF1G) +=
obj-$(CONFIG_DRM_PANEL_SHARP_LQ101R1SX01) += panel-sharp-lq101r1sx01.o
obj-$(CONFIG_DRM_PANEL_SHARP_LS037V7DW01) += panel-sharp-ls037v7dw01.o
obj-$(CONFIG_DRM_PANEL_SHARP_LS043T1LE01) += panel-sharp-ls043t1le01.o
+obj-$(CONFIG_DRM_PANEL_SHARP_LS054B3SX01) += panel-sharp-ls054b3sx01.o
obj-$(CONFIG_DRM_PANEL_SHARP_LS060T1SX01) += panel-sharp-ls060t1sx01.o
obj-$(CONFIG_DRM_PANEL_SITRONIX_ST7701) += panel-sitronix-st7701.o
obj-$(CONFIG_DRM_PANEL_SITRONIX_ST7703) += panel-sitronix-st7703.o
diff -rupN linux.orig/drivers/gpu/drm/panel/panel-sharp-ls054b3sx01.c linux/drivers/gpu/drm/panel/panel-sharp-ls054b3sx01.c
--- linux.orig/drivers/gpu/drm/panel/panel-sharp-ls054b3sx01.c 1970-01-01 00:00:00.000000000 +0000
+++ linux/drivers/gpu/drm/panel/panel-sharp-ls054b3sx01.c 2023-12-15 19:20:05.987107578 +0000
@@ -0,0 +1,360 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Copyright (c) 2022 Maya Matuszczyk <maccraft123mc@gmail.com>
+ */
+
+#include <linux/delay.h>
+#include <linux/gpio/consumer.h>
+#include <linux/module.h>
+#include <linux/of.h>
+#include <linux/regulator/consumer.h>
+
+#include <video/mipi_display.h>
+
+#include <drm/drm_mipi_dsi.h>
+#include <drm/drm_modes.h>
+#include <drm/drm_panel.h>
+
+struct sharp_ls054 {
+ struct drm_panel panel;
+ struct mipi_dsi_device *dsi;
+ struct regulator *iovcc_supply;
+ struct regulator *vsp_supply;
+ struct regulator *vsn_supply;
+ struct gpio_desc *reset_gpio;
+ enum drm_panel_orientation orientation;
+ bool prepared;
+};
+
+static inline struct sharp_ls054 *to_sharp_ls054(struct drm_panel *panel)
+{
+ return container_of(panel, struct sharp_ls054, panel);
+}
+
+#define dsi_dcs_write_seq(dsi, cmd, seq...) do { \
+ static const u8 b[] = { cmd, seq }; \
+ int ret; \
+ ret = mipi_dsi_dcs_write_buffer(dsi, b, ARRAY_SIZE(b)); \
+ if (ret < 0) \
+ return ret; \
+ } while (0)
+
+#define SHARP_LS054_SETEXTC 0xB9
+#define SHARP_LS054_SETSEQUENCE 0xB0
+#define SHARP_LS054_SETGAMMACURVE 0xE0
+#define SHARP_LS054_SETPOWER 0xB1
+#define SHARP_LS054_SETVREF 0xD2
+#define SHARP_LS054_SETGIP0 0xD3
+#define SHARP_LS054_SETGIP1 0xD5
+#define SHARP_LS054_SETGIP2 0xD6
+#define SHARP_LS054_SETGIP3 0xD8
+#define SHARP_LS054_SETDISP 0xB2
+#define SHARP_LS054_SETCYC 0xB4
+#define SHARP_LS054_SETMIPI 0xBA
+#define SHARP_LS054_SETPTBA 0xBF
+
+static int sharp_ls054_init_sequence(struct sharp_ls054 *ctx)
+{
+ struct mipi_dsi_device *dsi = ctx->dsi;
+ int ret;
+
+ dsi_dcs_write_seq(dsi, SHARP_LS054_SETEXTC,
+ 0xFF, 0x83, 0x99);
+ //dsi_dcs_write_seq(dsi, SHARP_LS054_SETSEQUENCE,
+ // 0x00, 0x00, 0x65);
+ dsi_dcs_write_seq(dsi, SHARP_LS054_SETGAMMACURVE,
+ 0x01, 0x13, 0x17, 0x34, 0x38, 0x3E, 0x2C, 0x47,
+ 0x07, 0x0C, 0x0F, 0x12, 0x14, 0x11, 0x13, 0x12,
+ 0x18, 0x0B, 0x17, 0x07, 0x13, 0x02, 0x14, 0x18,
+ 0x32, 0x37, 0x3D, 0x29, 0x43, 0x07, 0x0E, 0x0C,
+ 0x0F, 0x11, 0x10, 0x12, 0x12, 0x18, 0x0C, 0x17,
+ 0x07, 0x13);
+ dsi_dcs_write_seq(dsi, SHARP_LS054_SETPOWER,
+ 0x00, 0x7C, 0x38, 0x35, 0x99, 0x09, 0x22, 0x22,
+ 0x72, 0xF2, 0x68, 0x58);
+ dsi_dcs_write_seq(dsi, SHARP_LS054_SETVREF,
+ 0x99);
+ dsi_dcs_write_seq(dsi, SHARP_LS054_SETGIP0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00,
+ 0x10, 0x05, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07,
+ 0x07, 0x03, 0x00, 0x00, 0x00, 0x05, 0x08);
+ dsi_dcs_write_seq(dsi, SHARP_LS054_SETGIP1,
+ 0x00, 0x00, 0x01, 0x00, 0x03, 0x02, 0x00, 0x00,
+ 0x00, 0x00, 0x19, 0x00, 0x18, 0x00, 0x21, 0x20,
+ 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x32, 0x32, 0x31, 0x31, 0x30, 0x30);
+ dsi_dcs_write_seq(dsi, SHARP_LS054_SETGIP2,
+ 0x40, 0x40, 0x02, 0x03, 0x00, 0x01, 0x40, 0x40,
+ 0x40, 0x40, 0x18, 0x40, 0x19, 0x40, 0x20, 0x21,
+ 0x40, 0x18, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
+ 0x40, 0x40, 0x32, 0x32, 0x31, 0x31, 0x30, 0x30);
+ dsi_dcs_write_seq(dsi, SHARP_LS054_SETGIP3,
+ 0x28, 0x2A, 0x00, 0x2A, 0x28, 0x02, 0xC0, 0x2A,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x28, 0x02, 0x00, 0x2A, 0x28, 0x02, 0xC0, 0x2A);
+ dsi_dcs_write_seq(dsi, SHARP_LS054_SETDISP,
+ 0x00, 0x80, 0x10, 0x7F, 0x05, 0x01, 0x23, 0x4D,
+ 0x21, 0x01);
+ dsi_dcs_write_seq(dsi, SHARP_LS054_SETCYC,
+ 0x00, 0x3F, 0x00, 0x41, 0x00, 0x3D, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x0F, 0x01, 0x02,
+ 0x05, 0x40, 0x00, 0x00, 0x3A, 0x00, 0x41, 0x00,
+ 0x3D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+ 0x0F, 0x01, 0x02, 0x05, 0x00, 0x00, 0x00, 0x3A);
+ dsi_dcs_write_seq(dsi, SHARP_LS054_SETMIPI,
+ 0x03, 0x82, 0xA0, 0xE5);
+
+ ret = mipi_dsi_dcs_exit_sleep_mode(dsi);
+ if (ret < 0)
+ {
+ dev_err(&dsi->dev, "Failed to exit sleep mode: %d\n", ret);
+ return ret;
+ }
+ msleep(130);
+
+ dsi_dcs_write_seq(dsi, 0x29);
+ ret = mipi_dsi_dcs_set_display_on(dsi);
+ if (ret < 0)
+ {
+ dev_err(&dsi->dev, "Failed to set display on: %d\n", ret);
+ return ret;
+ }
+ msleep(50);
+
+ mipi_dsi_dcs_set_display_brightness(dsi, 0xFF);
+ dsi_dcs_write_seq(dsi, MIPI_DCS_WRITE_POWER_SAVE, 0x00);
+ dsi_dcs_write_seq(dsi, 0x53, 0x24); //MIPI_DCS_WRITE_CONTROL_DISPLAY ?
+ mipi_dsi_dcs_set_tear_on(dsi, MIPI_DSI_DCS_TEAR_MODE_VBLANK);
+
+ return 0;
+}
+
+static int sharp_ls054_prepare(struct drm_panel *panel)
+{
+ struct sharp_ls054 *ctx = to_sharp_ls054(panel);
+ struct mipi_dsi_device *dsi = ctx->dsi;
+ struct device *dev = &ctx->dsi->dev;
+ int ret;
+
+ if (ctx->prepared)
+ return 0;
+
+ gpiod_set_value_cansleep(ctx->reset_gpio, 0);
+
+ ret = regulator_enable(ctx->iovcc_supply);
+ if (ret < 0)
+ return ret;
+
+ usleep_range(1500, 3000);
+
+ ret = regulator_enable(ctx->vsp_supply);
+ if (ret < 0)
+ goto err_vsp;
+
+ usleep_range(1500, 3000);
+
+ ret = regulator_enable(ctx->vsn_supply);
+ if (ret < 0)
+ goto err_on;
+
+ gpiod_set_value_cansleep(ctx->reset_gpio, 1);
+
+ msleep(200);
+
+ ret = sharp_ls054_init_sequence(ctx);
+ if (ret < 0) {
+ dev_err(dev, "Failed to initialize panel: %d\n", ret);
+ goto err_on;
+ }
+
+ ctx->prepared = true;
+
+ return 0;
+
+err_on:
+ regulator_disable(ctx->vsn_supply);
+
+err_vsp:
+ regulator_disable(ctx->vsp_supply);
+
+err_iovcc:
+ regulator_disable(ctx->iovcc_supply);
+ gpiod_set_value_cansleep(ctx->reset_gpio, 0);
+
+ return ret;
+}
+
+static int sharp_ls054_unprepare(struct drm_panel *panel)
+{
+ struct sharp_ls054 *ctx = to_sharp_ls054(panel);
+ struct mipi_dsi_device *dsi = ctx->dsi;
+ struct device *dev = &ctx->dsi->dev;
+ int ret;
+
+ if (!ctx->prepared)
+ return 0;
+
+ ret = mipi_dsi_dcs_set_display_off(dsi);
+ if (ret < 0) {
+ dev_err(dev, "Failed to set display off: %d\n", ret);
+ return ret;
+ }
+ usleep_range(2000, 3000);
+
+ ret = mipi_dsi_dcs_enter_sleep_mode(dsi);
+ if (ret < 0) {
+ dev_err(dev, "Failed to enter sleep mode: %d\n", ret);
+ return ret;
+ }
+ msleep(5);
+
+ gpiod_set_value_cansleep(ctx->reset_gpio, 0);
+
+ usleep_range(500, 1000);
+ regulator_disable(ctx->vsn_supply);
+ usleep_range(500, 1000);
+ regulator_disable(ctx->vsp_supply);
+ usleep_range(500, 1000);
+ regulator_disable(ctx->iovcc_supply);
+
+ ctx->prepared = false;
+ return 0;
+}
+
+static const struct drm_display_mode sharp_ls054_mode = {
+ .clock = ((1152 + 64 + 4 + 32) * (1920 + 56 + 3 + 6) * 60) / 1000,
+ .hdisplay = 1152,
+ .hsync_start = 1152 + 64,
+ .hsync_end = 1152 + 64 + 4,
+ .htotal = 1152 + 64 + 4 + 32,
+ .vdisplay = 1920,
+ .vsync_start = 1920 + 56,
+ .vsync_end = 1920 + 56 + 3,
+ .vtotal = 1920 + 56 + 3 + 6,
+ .width_mm = 75,
+ .height_mm = 132,
+ .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
+};
+
+static int sharp_ls054_get_modes(struct drm_panel *panel,
+ struct drm_connector *connector)
+{
+ struct sharp_ls054 *ctx = to_sharp_ls054(panel);
+ struct drm_display_mode *mode;
+
+ mode = drm_mode_duplicate(connector->dev, &sharp_ls054_mode);
+ if (!mode)
+ return -ENOMEM;
+
+ drm_mode_set_name(mode);
+ mode->type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED;
+
+ connector->display_info.width_mm = mode->width_mm;
+ connector->display_info.height_mm = mode->height_mm;
+
+ drm_mode_probed_add(connector, mode);
+ drm_connector_set_panel_orientation(connector, ctx->orientation);
+
+ return 1;
+}
+
+static const struct drm_panel_funcs sharp_ls054_panel_funcs = {
+ .prepare = sharp_ls054_prepare,
+ .unprepare = sharp_ls054_unprepare,
+ .get_modes = sharp_ls054_get_modes,
+};
+
+static int sharp_ls054_probe(struct mipi_dsi_device *dsi)
+{
+ struct device *dev = &dsi->dev;
+ struct sharp_ls054 *ctx;
+ int ret;
+
+ ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
+ if (!ctx)
+ return -ENOMEM;
+
+ ctx->iovcc_supply = devm_regulator_get(dev, "iovcc");
+ if (IS_ERR(ctx->iovcc_supply))
+ return PTR_ERR(ctx->iovcc_supply);
+
+ ctx->vsp_supply = devm_regulator_get(dev, "vsp");
+ if (IS_ERR(ctx->vsp_supply))
+ return PTR_ERR(ctx->vsp_supply);
+
+ ctx->vsn_supply = devm_regulator_get(dev, "vsn");
+ if (IS_ERR(ctx->vsn_supply))
+ return PTR_ERR(ctx->vsn_supply);
+
+ ctx->reset_gpio = devm_gpiod_get(dev, "reset", GPIOD_OUT_LOW);
+ if (IS_ERR(ctx->reset_gpio))
+ return dev_err_probe(dev, PTR_ERR(ctx->reset_gpio),
+ "Failed to get reset-gpios\n");
+
+ ret = of_drm_get_panel_orientation(dev->of_node, &ctx->orientation);
+ if (ret < 0)
+ dev_err(dev, "%pOF: failed to get orientation, %d\n", dev->of_node, ret);
+
+ ctx->dsi = dsi;
+ mipi_dsi_set_drvdata(dsi, ctx);
+
+ dsi->lanes = 4;
+ dsi->format = MIPI_DSI_FMT_RGB888;
+ dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
+ MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_NO_EOT_PACKET |
+ MIPI_DSI_CLOCK_NON_CONTINUOUS | MIPI_DSI_MODE_VIDEO_HSE | MIPI_DSI_MODE_VIDEO_AUTO_VERT;
+
+ drm_panel_init(&ctx->panel, dev, &sharp_ls054_panel_funcs,
+ DRM_MODE_CONNECTOR_DSI);
+
+ ret = drm_panel_of_backlight(&ctx->panel);
+ if (ret)
+ return dev_err_probe(dev, ret, "Failed to get backlight\n");
+
+ drm_panel_add(&ctx->panel);
+
+ ret = mipi_dsi_attach(dsi);
+ if (ret < 0) {
+ dev_err(dev, "Failed to attach to DSI host: %d\n", ret);
+ drm_panel_remove(&ctx->panel);
+ return ret;
+ }
+
+ return 0;
+}
+
+static void sharp_ls054_remove(struct mipi_dsi_device *dsi)
+{
+ struct sharp_ls054 *ctx = mipi_dsi_get_drvdata(dsi);
+ int ret;
+
+ ret = mipi_dsi_detach(dsi);
+ if (ret < 0)
+ dev_err(&dsi->dev, "Failed to detach from DSI host: %d\n", ret);
+
+ drm_panel_remove(&ctx->panel);
+}
+
+static const struct of_device_id sharp_ls054b3sx01_of_match[] = {
+ { .compatible = "sharp,ls054b3sx01" },
+ { /* sentinel */ }
+};
+MODULE_DEVICE_TABLE(of, sharp_ls054b3sx01_of_match);
+
+static struct mipi_dsi_driver sharp_ls054_driver = {
+ .probe = sharp_ls054_probe,
+ .remove = sharp_ls054_remove,
+ .driver = {
+ .name = "panel-sharp-ls054b3sx01",
+ .of_match_table = sharp_ls054b3sx01_of_match,
+ },
+};
+module_mipi_dsi_driver(sharp_ls054_driver);
+
+MODULE_AUTHOR("Maya Matuszczyk <maccraft123mc@gmail.com>");
+MODULE_DESCRIPTION("Panel driver for Sharp LS054B3SX01 1152x1920 Video Mode DSI Panel");
+MODULE_LICENSE("GPL v2");

View file

@ -1,12 +0,0 @@
diff -rupN linux.orig/drivers/staging/media/rkvdec/Kconfig linux/drivers/staging/media/rkvdec/Kconfig
--- linux.orig/drivers/staging/media/rkvdec/Kconfig 2023-11-04 15:02:12.097534138 +0000
+++ linux/drivers/staging/media/rkvdec/Kconfig 2023-11-18 19:39:03.078054602 +0000
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
config VIDEO_ROCKCHIP_VDEC
tristate "Rockchip Video Decoder driver"
- depends on ARCH_ROCKCHIP || COMPILE_TEST
+ depends on ARCH_ROCKCHIP
depends on VIDEO_DEV
select MEDIA_CONTROLLER
select MEDIA_CONTROLLER_REQUEST_API

View file

@ -0,0 +1,12 @@
diff -rupN linux.orig/drivers/power/supply/cw2015_battery.c linux/drivers/power/supply/cw2015_battery.c
--- linux.orig/drivers/power/supply/cw2015_battery.c 2023-12-15 19:18:59.060967411 +0000
+++ linux/drivers/power/supply/cw2015_battery.c 2023-12-15 19:20:05.987107578 +0000
@@ -553,7 +553,7 @@ static enum power_supply_property cw_bat
};
static const struct power_supply_desc cw2015_bat_desc = {
- .name = "cw2015-battery",
+ .name = "battery",
.type = POWER_SUPPLY_TYPE_BATTERY,
.properties = cw_battery_properties,
.num_properties = ARRAY_SIZE(cw_battery_properties),

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,12 @@
diff -rupN linux.orig/drivers/input/touchscreen/goodix.c linux/drivers/input/touchscreen/goodix.c
--- linux.orig/drivers/input/touchscreen/goodix.c 2024-01-02 16:20:16.170247325 +0000
+++ linux/drivers/input/touchscreen/goodix.c 2024-01-03 15:28:50.457334216 +0000
@@ -1007,6 +1007,8 @@ retry_get_irq_gpio:
/* Get the reset line GPIO pin number */
gpiod = devm_gpiod_get_optional(dev, GOODIX_GPIO_RST_NAME, ts->gpiod_rst_flags);
+ if (IS_ERR(gpiod))
+ gpiod = devm_gpiod_get_optional(dev, GOODIX_GPIO_RST_NAME, GPIOD_OUT_LOW);
if (IS_ERR(gpiod)) {
error = PTR_ERR(gpiod);
if (error != -EPROBE_DEFER)

View file

@ -0,0 +1,54 @@
diff -rupN linux.orig/drivers/input/touchscreen/goodix.c linux/drivers/input/touchscreen/goodix.c
--- linux.orig/drivers/input/touchscreen/goodix.c 2023-12-15 19:18:57.364913158 +0000
+++ linux/drivers/input/touchscreen/goodix.c 2023-12-15 19:20:05.987107578 +0000
@@ -1037,7 +1037,7 @@ retry_get_irq_gpio:
default:
if (ts->gpiod_int && ts->gpiod_rst) {
ts->reset_controller_at_probe = true;
- ts->load_cfg_from_disk = true;
+ ts->load_cfg_from_disk = false;
ts->irq_pin_access_method = IRQ_PIN_ACCESS_GPIO;
}
}
diff -rupN linux.orig/drivers/gpio/gpio-rockchip.c linux/drivers/gpio/gpio-rockchip.c
--- linux.orig/drivers/gpio/gpio-rockchip.c 2023-12-15 19:18:55.020838176 +0000
+++ linux/drivers/gpio/gpio-rockchip.c 2023-12-15 19:20:05.987107578 +0000
@@ -335,13 +335,13 @@ static void rockchip_irq_demux(struct ir
unsigned long pending;
unsigned int irq;
- dev_dbg(bank->dev, "got irq for bank %s\n", bank->name);
+ //dev_dbg(bank->dev, "got irq for bank %s\n", bank->name);
chained_irq_enter(chip, desc);
pending = readl_relaxed(bank->reg_base + bank->gpio_regs->int_status);
for_each_set_bit(irq, &pending, 32) {
- dev_dbg(bank->dev, "handling irq %d\n", irq);
+ //dev_dbg(bank->dev, "handling irq %d\n", irq);
/*
* Triggering IRQ on both rising and falling edge
diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c
index f3964060a044..dc1ffb3a098b 100644
--- a/sound/soc/soc-pcm.c
+++ b/sound/soc/soc-pcm.c
@@ -41,9 +41,6 @@ static inline int _soc_pcm_ret(struct snd_soc_pcm_runtime *rtd,
case -ENOTSUPP:
break;
default:
- dev_err(rtd->dev,
- "ASoC: error at %s on %s: %d\n",
- func, rtd->dai_link->name, ret);
}
return ret;
@@ -2438,8 +2435,6 @@ static int dpcm_fe_dai_prepare(struct snd_pcm_substream *substream)
/* there is no point preparing this FE if there are no BEs */
if (list_empty(&fe->dpcm[stream].be_clients)) {
- dev_err(fe->dev, "ASoC: no backend DAIs enabled for %s\n",
- fe->dai_link->name);
ret = -EINVAL;
goto out;
}

View file

@ -166,15 +166,6 @@ LABEL run
APPEND boot=UUID=${UUID_SYSTEM} disk=UUID=${UUID_STORAGE} portable ${EXTRA_CMDLINE}
EOF
cat << EOF > "${LE_TMP}/grub.cfg"
set timeout="0"
set default="Run"
menuentry "Run" {
search --set -f /KERNEL
linux /KERNEL boot=UUID=${UUID_SYSTEM} disk=UUID=${UUID_STORAGE} grub_portable ${EXTRA_CMDLINE}
}
EOF
mcopy "${LE_TMP}/syslinux.cfg" ::
# install syslinux
@ -192,7 +183,6 @@ EOF
mcopy "${TOOLCHAIN}/share/syslinux/bootx64.efi" ::/EFI/BOOT
mcopy "${TOOLCHAIN}/share/syslinux/ldlinux.e64" ::/EFI/BOOT
mcopy "${TOOLCHAIN}/share/grub/bootia32.efi" ::/EFI/BOOT
mcopy "${LE_TMP}/grub.cfg" ::/EFI/BOOT
elif [ "${BOOTLOADER}" = "bcm2835-bootloader" ]; then
# create bootloader configuration
@ -275,9 +265,7 @@ if [ "${PROJECT}" = "Generic" ]; then
# change syslinux default to 'run'
echo "image: modifying files on part1 for open virtual appliance..."
sed -e "/DEFAULT/ s/installer/run/" -i "${LE_TMP}/syslinux.cfg"
sed -e "/set default=/s/\"Installer\"/\"Run\"/" -i "${LE_TMP}/grub.cfg"
mcopy "${LE_TMP}/syslinux.cfg" :: >"${SAVE_ERROR}" 2>&1 || show_error
mcopy "${LE_TMP}/grub.cfg" ::/EFI/BOOT >"${SAVE_ERROR}" 2>&1 || show_error
sync
# run fsck
echo "image: checking filesystem on part1..."