Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 30 additions & 27 deletions config/kernel/linux-sm8250-current.config
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Armbian defconfig generated with 6.12
# Armbian defconfig generated with 6.18
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
Expand Down Expand Up @@ -74,6 +74,8 @@ CONFIG_ACPI_APEI=y
CONFIG_ACPI_APEI_GHES=y
CONFIG_ACPI_APEI_MEMORY_FAILURE=y
CONFIG_ACPI_APEI_EINJ=y
CONFIG_VIRTUALIZATION=y
CONFIG_KVM=y
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_BLK_DEV_THROTTLING=y
Expand Down Expand Up @@ -283,15 +285,16 @@ CONFIG_QRTR_SMD=m
CONFIG_QRTR_TUN=m
CONFIG_CGROUP_NET_PRIO=y
CONFIG_BPF_STREAM_PARSER=y
CONFIG_CAN=m
CONFIG_BT=m
CONFIG_BT_HIDP=m
# CONFIG_BT_DEBUGFS is not set
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_LL=y
CONFIG_BT_HCIUART_QCA=y
CONFIG_CFG80211=m
CONFIG_CFG80211_WEXT=y
CONFIG_MAC80211=m
CONFIG_MAC80211_MESH=y
CONFIG_MAC80211_LEDS=y
CONFIG_RFKILL=m
CONFIG_RFKILL_INPUT=y
Expand Down Expand Up @@ -358,6 +361,7 @@ CONFIG_NVME_HWMON=y
CONFIG_QCOM_FASTRPC=m
CONFIG_SRAM=y
CONFIG_PCI_ENDPOINT_TEST=m
CONFIG_NTSYNC=m
CONFIG_EEPROM_AT24=m
CONFIG_EEPROM_AT25=m
CONFIG_UACCE=m
Expand Down Expand Up @@ -484,22 +488,13 @@ CONFIG_PHYLIB=y
CONFIG_AQUANTIA_PHY=y
CONFIG_AT803X_PHY=y
CONFIG_VITESSE_PHY=y
CONFIG_CAN_8DEV_USB=m
CONFIG_CAN_EMS_USB=m
CONFIG_CAN_ESD_USB=m
CONFIG_CAN_ETAS_ES58X=m
CONFIG_CAN_F81604=m
CONFIG_CAN_GS_USB=m
CONFIG_CAN_KVASER_USB=m
CONFIG_CAN_MCBA_USB=m
CONFIG_CAN_PEAK_USB=m
CONFIG_CAN_UCAN=m
CONFIG_MDIO_BCM_UNIMAC=m
CONFIG_MDIO_THUNDER=y
CONFIG_MDIO_BUS_MUX_MULTIPLEXER=y
CONFIG_MDIO_BUS_MUX_MMIOREG=y
CONFIG_USB_CATC=m
CONFIG_USB_KAWETH=m
CONFIG_PPP=m
CONFIG_USB_PEGASUS=m
CONFIG_USB_RTL8150=m
CONFIG_USB_RTL8152=m
Expand Down Expand Up @@ -534,6 +529,7 @@ CONFIG_USB_NET_AQC111=m
# CONFIG_WLAN_VENDOR_ADMTEK is not set
CONFIG_ATH11K=m
CONFIG_ATH11K_PCI=m
CONFIG_ATH12K=m
# CONFIG_WLAN_VENDOR_ATMEL is not set
# CONFIG_WLAN_VENDOR_BROADCOM is not set
# CONFIG_WLAN_VENDOR_INTEL is not set
Expand Down Expand Up @@ -619,8 +615,9 @@ CONFIG_POWER_RESET_XGENE=y
CONFIG_POWER_RESET_SYSCON=y
CONFIG_SYSCON_REBOOT_MODE=y
CONFIG_BATTERY_BQ27XXX=y
CONFIG_CHARGER_QCOM_SMB5=m
CONFIG_BATTERY_QCOM_FG=m
CONFIG_CHARGER_BQ25970=y
CONFIG_CHARGER_QCOM_SMB5=y
CONFIG_BATTERY_QCOM_FG=y
CONFIG_SENSORS_ARM_SCMI=y
CONFIG_SENSORS_ARM_SCPI=y
CONFIG_SENSORS_LM90=m
Expand Down Expand Up @@ -665,6 +662,7 @@ CONFIG_REGULATOR_PCA9450=y
CONFIG_REGULATOR_PF8X00=y
CONFIG_REGULATOR_PFUZE100=y
CONFIG_REGULATOR_PWM=y
CONFIG_REGULATOR_QCOM_REFGEN=y
CONFIG_REGULATOR_QCOM_RPMH=y
CONFIG_REGULATOR_QCOM_SMD_RPM=y
CONFIG_REGULATOR_QCOM_SPMI=y
Expand Down Expand Up @@ -740,15 +738,15 @@ CONFIG_HID_CYPRESS=y
CONFIG_HID_EZKEY=y
CONFIG_HID_ITE=y
CONFIG_HID_KENSINGTON=y
CONFIG_HID_LOGITECH=y
CONFIG_HID_LOGITECH=m
CONFIG_HID_REDRAGON=y
CONFIG_HID_MICROSOFT=y
CONFIG_HID_MONTEREY=y
CONFIG_HID_MULTITOUCH=m
CONFIG_HID_NINTENDO=m
CONFIG_USB_HIDDEV=y
CONFIG_I2C_HID_ACPI=m
CONFIG_I2C_HID_OF=m
CONFIG_USB_HIDDEV=y
CONFIG_USB_CONN_GPIO=m
CONFIG_USB=y
CONFIG_USB_OTG=y
Expand All @@ -759,6 +757,7 @@ CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_HCD_PLATFORM=y
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_OHCI_HCD_PLATFORM=y
CONFIG_USB_ACM=m
CONFIG_USB_STORAGE=y
CONFIG_USB_MUSB_HDRC=y
CONFIG_USB_DWC3=y
Expand Down Expand Up @@ -804,39 +803,43 @@ CONFIG_TYPEC_MUX_FSA4480=m
CONFIG_TYPEC_MUX_GPIO_SBU=m
CONFIG_TYPEC_MUX_NB7VPQ904M=m
CONFIG_TYPEC_DP_ALTMODE=m
CONFIG_MMC=y
CONFIG_MMC=m
CONFIG_MMC_BLOCK_MINORS=32
CONFIG_MMC_ARMMMCI=y
CONFIG_MMC_ARMMMCI=m
# CONFIG_MMC_STM32_SDMMC is not set
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_PLTFM=y
CONFIG_MMC_SDHCI_MSM=y
CONFIG_MMC_SDHCI=m
CONFIG_MMC_SDHCI_ACPI=m
CONFIG_MMC_SDHCI_PLTFM=m
CONFIG_MMC_SDHCI_MSM=m
CONFIG_MMC_USHC=m
CONFIG_SCSI_UFSHCD=y
CONFIG_SCSI_UFS_BSG=y
CONFIG_SCSI_UFS_HWMON=y
CONFIG_SCSI_UFSHCD_PLATFORM=y
CONFIG_SCSI_UFS_QCOM=y
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_CLASS_FLASH=y
CONFIG_LEDS_CLASS_MULTICOLOR=y
CONFIG_LEDS_HTR3212=m
CONFIG_LEDS_LM3692X=m
CONFIG_LEDS_PCA9532=m
CONFIG_LEDS_GPIO=y
CONFIG_LEDS_PWM=y
CONFIG_LEDS_SYSCON=y
CONFIG_LEDS_USER=y
CONFIG_LEDS_GROUP_MULTICOLOR=y
CONFIG_LEDS_PWM_MULTICOLOR=y
CONFIG_LEDS_QCOM_LPG=y
CONFIG_LEDS_USER=m
CONFIG_LEDS_GROUP_MULTICOLOR=m
CONFIG_LEDS_PWM_MULTICOLOR=m
CONFIG_LEDS_QCOM_FLASH=m
CONFIG_LEDS_QCOM_LPG=m
CONFIG_LEDS_TRIGGER_TIMER=y
CONFIG_LEDS_TRIGGER_DISK=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
CONFIG_LEDS_TRIGGER_CPU=y
CONFIG_LEDS_TRIGGER_ACTIVITY=y
CONFIG_LEDS_TRIGGER_ACTIVITY=m
CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
CONFIG_LEDS_TRIGGER_PANIC=y
CONFIG_LEDS_TRIGGER_NETDEV=y
CONFIG_LEDS_TRIGGER_NETDEV=m
CONFIG_EDAC=y
CONFIG_EDAC_GHES=y
CONFIG_RTC_CLASS=y
Expand Down
7 changes: 3 additions & 4 deletions config/sources/families/sm8250.conf
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,13 @@ enable_extension "image-output-abl"
case $BRANCH in

current)
declare -g KERNEL_MAJOR_MINOR="6.12" # Major and minor versions of this kernel.
declare -g KERNELBRANCH='branch:linux-6.12.y'
declare -g KERNEL_MAJOR_MINOR="6.18" # Major and minor versions of this kernel.
declare -g KERNELBRANCH='branch:linux-6.18.y'
declare -g -i KERNEL_GIT_CACHE_TTL=120 # 2 minutes; this is a high-traffic repo
;;

edge)
declare -g KERNEL_MAJOR_MINOR="6.14" # Major and minor versions of this kernel.
declare -g KERNELBRANCH='branch:linux-6.14.y'
declare -g KERNEL_MAJOR_MINOR="6.19" # Major and minor versions of this kernel.
declare -g -i KERNEL_GIT_CACHE_TTL=120 # 2 minutes; this is a high-traffic repo
;;

Expand Down
29 changes: 29 additions & 0 deletions patch/kernel/archive/sm8250-6.18/0000.patching_config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
config: # This is file 'patch/kernel/archive/sm8250-6.18/0000.patching_config.yaml'

# Just some info stuff; not used by the patching scripts
name: sm8250-6.18
kind: kernel
type: mainline # or: vendor
branch: linux-6.18.y
last-known-good-tag: v6.18.3
maintainers:
- { github: rpardini, name: Ricardo Pardini, email: ricardo@pardini.net, armbian-forum: rpardini }

# .dts files in these directories will be copied as-is to the build tree; later ones overwrite earlier ones.
# This is meant to provide a way to "add a board DTS" without having to null-patch them in.
dts-directories:
- { source: "dt", target: "arch/arm64/boot/dts/qcom" }

# the Makefile in each of these directories will be magically patched to include the dts files copied
# or patched-in; overlay subdir will be included "-y" if it exists.
# No more Makefile patching needed, yay!
auto-patch-dt-makefile:
- { directory: "arch/arm64/boot/dts/qcom", config-var: "CONFIG_ARCH_QCOM" }

# configuration for when applying patches to git / auto-rewriting patches (development cycle helpers)
patches-to-git:
do-not-commit-files:
- "MAINTAINERS" # constant churn, drop them. sorry.
do-not-commit-regexes: # Python-style regexes
- "^arch/([a-zA-Z0-9]+)/boot/dts/([a-zA-Z0-9]+)/Makefile$" # ignore DT Makefile patches, we've an auto-patcher now

Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
From 56330cd8650e8b60b836727156a94a67485a3c67 Mon Sep 17 00:00:00 2001
From: Jianhua Lu <lujianhua000@gmail.com>
Date: Thu, 4 Aug 2022 13:26:53 +0800
Subject: [PATCH 01/62] drm: Add drm notifier support

Signed-off-by: Jiali Chen <chenjiali@radxa.com>
---
drivers/gpu/drm/Makefile | 3 +-
drivers/gpu/drm/drm_notifier.c | 58 ++++++++++++++++++++++++++++++++++
include/drm/drm_notifier.h | 37 ++++++++++++++++++++++
3 files changed, 97 insertions(+), 1 deletion(-)
create mode 100644 drivers/gpu/drm/drm_notifier.c
create mode 100644 include/drm/drm_notifier.h

diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
index 4dafbdc8f86a..9b2434daa24f 100644
--- a/drivers/gpu/drm/Makefile
+++ b/drivers/gpu/drm/Makefile
@@ -72,7 +72,8 @@ drm-y := \
drm_vblank.o \
drm_vblank_work.o \
drm_vma_manager.o \
- drm_writeback.o
+ drm_writeback.o \
+ drm_notifier.o
drm-$(CONFIG_DRM_CLIENT) += \
drm_client.o \
drm_client_event.o \
diff --git a/drivers/gpu/drm/drm_notifier.c b/drivers/gpu/drm/drm_notifier.c
new file mode 100644
index 000000000000..0b90d02d8692
--- /dev/null
+++ b/drivers/gpu/drm/drm_notifier.c
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) 2019, The Linux Foundation. All rights reserved.
+ * Copyright (C) 2021 XiaoMi, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ */
+
+#include <linux/notifier.h>
+#include <drm/drm_notifier.h>
+
+static BLOCKING_NOTIFIER_HEAD(mi_drm_notifier_list);
+
+/**
+ * mi_drm_register_client - register a client notifier
+ * @nb: notifier block to callback on events
+ *
+ * This function registers a notifier callback function
+ * to msm_drm_notifier_list, which would be called when
+ * received unblank/power down event.
+ */
+int mi_drm_register_client(struct notifier_block *nb)
+{
+ return blocking_notifier_chain_register(&mi_drm_notifier_list, nb);
+}
+EXPORT_SYMBOL(mi_drm_register_client);
+
+/**
+ * mi_drm_unregister_client - unregister a client notifier
+ * @nb: notifier block to callback on events
+ *
+ * This function unregisters the callback function from
+ * msm_drm_notifier_list.
+ */
+int mi_drm_unregister_client(struct notifier_block *nb)
+{
+ return blocking_notifier_chain_unregister(&mi_drm_notifier_list, nb);
+}
+EXPORT_SYMBOL(mi_drm_unregister_client);
+
+/**
+ * mi_drm_notifier_call_chain - notify clients of drm_events
+ * @val: event MSM_DRM_EARLY_EVENT_BLANK or MSM_DRM_EVENT_BLANK
+ * @v: notifier data, inculde display id and display blank
+ * event(unblank or power down).
+ */
+int mi_drm_notifier_call_chain(unsigned long val, void *v)
+{
+ return blocking_notifier_call_chain(&mi_drm_notifier_list, val, v);
+}
+EXPORT_SYMBOL(mi_drm_notifier_call_chain);
diff --git a/include/drm/drm_notifier.h b/include/drm/drm_notifier.h
new file mode 100644
index 000000000000..fd0e976559b8
--- /dev/null
+++ b/include/drm/drm_notifier.h
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2019, The Linux Foundation. All rights reserved.
+ * Copyright (C) 2021 XiaoMi, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ */
+
+#ifndef _DRM_NOTIFIER_H_
+#define _DRM_NOTIFIER_H_
+
+#include <linux/notifier.h>
+
+/* A hardware display blank change occurred */
+#define MI_DRM_EVENT_BLANK 0x01
+/* A hardware display blank early change occurred */
+#define MI_DRM_EARLY_EVENT_BLANK 0x02
+
+enum drm_notifier_data {
+ /* panel: power on */
+ MI_DRM_BLANK_UNBLANK,
+ /* panel: power down */
+ MI_DRM_BLANK_POWERDOWN,
+};
+
+int mi_drm_register_client(struct notifier_block *nb);
+int mi_drm_unregister_client(struct notifier_block *nb);
+int mi_drm_notifier_call_chain(unsigned long val, void *v);
+
+#endif /* _DRM_NOTIFIER_H */
--
2.47.3

Loading