From 66682f5cdbd24259ce046379edce041e940cec30 Mon Sep 17 00:00:00 2001 From: amazingfate Date: Sun, 15 Oct 2023 14:20:30 +0800 Subject: [PATCH] fix unstable bluetooth --- .../0026-remove-spmi-pmic-warning.patch | 12 ++ ...m-geni-serial-fix-zero-dma-rx-len-in.patch | 13 ++ linux-arm64-sm8250.config | 137 ++---------------- 3 files changed, 37 insertions(+), 125 deletions(-) create mode 100644 kernel_patches/arm64-sm8250/0026-remove-spmi-pmic-warning.patch create mode 100644 kernel_patches/arm64-sm8250/0027-qcom-geni-serial-fix-zero-dma-rx-len-in.patch diff --git a/kernel_patches/arm64-sm8250/0026-remove-spmi-pmic-warning.patch b/kernel_patches/arm64-sm8250/0026-remove-spmi-pmic-warning.patch new file mode 100644 index 0000000..ca18039 --- /dev/null +++ b/kernel_patches/arm64-sm8250/0026-remove-spmi-pmic-warning.patch @@ -0,0 +1,12 @@ +diff --git a/drivers/spmi/spmi-pmic-arb.c b/drivers/spmi/spmi-pmic-arb.c +index dcb675d980d4..2688ac2a7e55 100644 +--- a/drivers/spmi/spmi-pmic-arb.c ++++ b/drivers/spmi/spmi-pmic-arb.c +@@ -289,7 +289,6 @@ static int pmic_arb_wait_for_done(struct spmi_controller *ctrl, + if (status & PMIC_ARB_STATUS_FAILURE) { + dev_err(&ctrl->dev, "%s: %#x %#x: transaction failed (%#x)\n", + __func__, sid, addr, status); +- WARN_ON(1); + return -EIO; + } + diff --git a/kernel_patches/arm64-sm8250/0027-qcom-geni-serial-fix-zero-dma-rx-len-in.patch b/kernel_patches/arm64-sm8250/0027-qcom-geni-serial-fix-zero-dma-rx-len-in.patch new file mode 100644 index 0000000..34c07ae --- /dev/null +++ b/kernel_patches/arm64-sm8250/0027-qcom-geni-serial-fix-zero-dma-rx-len-in.patch @@ -0,0 +1,13 @@ +diff --git a/drivers/tty/serial/qcom_geni_serial.c b/drivers/tty/serial/qcom_geni_serial.c +index 08dc3e2a729c..d79dfe71410b 100644 +--- a/drivers/tty/serial/qcom_geni_serial.c ++++ b/drivers/tty/serial/qcom_geni_serial.c +@@ -823,7 +823,7 @@ static void qcom_geni_serial_handle_rx_dma(struct uart_port *uport, bool drop) + rx_in = readl(uport->membase + SE_DMA_RX_LEN_IN); + if (!rx_in) { + dev_warn(uport->dev, "serial engine reports 0 RX bytes in!\n"); +- return; ++ //return; + } + + if (!drop) diff --git a/linux-arm64-sm8250.config b/linux-arm64-sm8250.config index 1735fbe..ba17128 100644 --- a/linux-arm64-sm8250.config +++ b/linux-arm64-sm8250.config @@ -736,7 +736,6 @@ CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y CONFIG_STRICT_MODULE_RWX=y CONFIG_HAVE_ARCH_COMPILER_H=y CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y -CONFIG_ARCH_USE_MEMREMAP_PROT=y # CONFIG_LOCK_EVENT_COUNTS is not set CONFIG_ARCH_HAS_RELR=y CONFIG_HAVE_PREEMPT_DYNAMIC=y @@ -1501,12 +1500,7 @@ CONFIG_NET_FLOW_LIMIT=y # end of Networking options # CONFIG_HAMRADIO is not set -CONFIG_CAN=m -CONFIG_CAN_RAW=m -CONFIG_CAN_BCM=m -CONFIG_CAN_GW=m -# CONFIG_CAN_J1939 is not set -# CONFIG_CAN_ISOTP is not set +# CONFIG_CAN is not set CONFIG_BT=m CONFIG_BT_BREDR=y # CONFIG_BT_RFCOMM is not set @@ -1514,7 +1508,7 @@ CONFIG_BT_BREDR=y CONFIG_BT_HIDP=m # CONFIG_BT_HS is not set # CONFIG_BT_LE is not set -CONFIG_BT_LEDS=y +# CONFIG_BT_LEDS is not set # CONFIG_BT_MSFTEXT is not set # CONFIG_BT_AOSPEXT is not set # CONFIG_BT_DEBUGFS is not set @@ -1545,7 +1539,7 @@ CONFIG_BT_HCIUART_QCA=y # CONFIG_BT_HCIVHCI is not set # CONFIG_BT_MRVL is not set # CONFIG_BT_MTKUART is not set -CONFIG_BT_QCOMSMD=m +# CONFIG_BT_QCOMSMD is not set # CONFIG_BT_VIRTIO is not set # CONFIG_BT_NXPUART is not set # end of Bluetooth device drivers @@ -1579,36 +1573,10 @@ CONFIG_RFKILL=m CONFIG_RFKILL_LEDS=y CONFIG_RFKILL_INPUT=y # CONFIG_RFKILL_GPIO is not set -CONFIG_NET_9P=y -CONFIG_NET_9P_FD=y -CONFIG_NET_9P_VIRTIO=y -# CONFIG_NET_9P_DEBUG is not set +# CONFIG_NET_9P is not set # CONFIG_CAIF is not set # CONFIG_CEPH_LIB is not set -CONFIG_NFC=m -# CONFIG_NFC_DIGITAL is not set -CONFIG_NFC_NCI=m -# CONFIG_NFC_NCI_SPI is not set -# CONFIG_NFC_NCI_UART is not set -# CONFIG_NFC_HCI is not set - -# -# Near Field Communication (NFC) devices -# -# CONFIG_NFC_VIRTUAL_NCI is not set -# CONFIG_NFC_FDP is not set -# CONFIG_NFC_PN533_USB is not set -# CONFIG_NFC_PN533_I2C is not set -# CONFIG_NFC_PN532_UART is not set -# CONFIG_NFC_MRVL_USB is not set -# CONFIG_NFC_ST_NCI_I2C is not set -# CONFIG_NFC_ST_NCI_SPI is not set -CONFIG_NFC_NXP_NCI=m -CONFIG_NFC_NXP_NCI_I2C=m -# CONFIG_NFC_S3FWRN5_I2C is not set -# CONFIG_NFC_S3FWRN82_UART is not set -# end of Near Field Communication (NFC) devices - +# CONFIG_NFC is not set # CONFIG_PSAMPLE is not set # CONFIG_NET_IFE is not set # CONFIG_LWTUNNEL is not set @@ -1845,7 +1813,6 @@ CONFIG_EFI_CAPSULE_LOADER=y # CONFIG_EFI_TEST is not set # CONFIG_RESET_ATTACK_MITIGATION is not set # CONFIG_EFI_DISABLE_PCI_DMA is not set -CONFIG_EFI_EARLYCON=y CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y # CONFIG_EFI_DISABLE_RUNTIME is not set # CONFIG_EFI_COCO_SECRET is not set @@ -2500,52 +2467,6 @@ CONFIG_VITESSE_PHY=y # CONFIG_XILINX_GMII2RGMII is not set # CONFIG_MICREL_KS8995MA is not set # CONFIG_PSE_CONTROLLER is not set -CONFIG_CAN_DEV=m -# CONFIG_CAN_VCAN is not set -# CONFIG_CAN_VXCAN is not set -CONFIG_CAN_NETLINK=y -CONFIG_CAN_CALC_BITTIMING=y -CONFIG_CAN_RX_OFFLOAD=y -# CONFIG_CAN_CAN327 is not set -CONFIG_CAN_FLEXCAN=m -# CONFIG_CAN_GRCAN is not set -# CONFIG_CAN_KVASER_PCIEFD is not set -# CONFIG_CAN_SLCAN is not set -# CONFIG_CAN_XILINXCAN is not set -# CONFIG_CAN_C_CAN is not set -# CONFIG_CAN_CC770 is not set -# CONFIG_CAN_CTUCANFD_PCI is not set -# CONFIG_CAN_CTUCANFD_PLATFORM is not set -# CONFIG_CAN_IFI_CANFD is not set -# CONFIG_CAN_M_CAN is not set -# CONFIG_CAN_PEAK_PCIEFD is not set -# CONFIG_CAN_SJA1000 is not set -# CONFIG_CAN_SOFTING is not set - -# -# CAN SPI interfaces -# -# CONFIG_CAN_HI311X is not set -# CONFIG_CAN_MCP251X is not set -# CONFIG_CAN_MCP251XFD is not set -# end of CAN SPI interfaces - -# -# CAN USB interfaces -# -# CONFIG_CAN_8DEV_USB is not set -# CONFIG_CAN_EMS_USB is not set -# CONFIG_CAN_ESD_USB is not set -# CONFIG_CAN_ETAS_ES58X is not set -# CONFIG_CAN_F81604 is not set -# CONFIG_CAN_GS_USB is not set -# CONFIG_CAN_KVASER_USB is not set -# CONFIG_CAN_MCBA_USB is not set -# CONFIG_CAN_PEAK_USB is not set -# CONFIG_CAN_UCAN is not set -# end of CAN USB interfaces - -# CONFIG_CAN_DEBUG_DEVICES is not set CONFIG_MDIO_DEVICE=y CONFIG_MDIO_BUS=y CONFIG_FWNODE_MDIO=y @@ -2910,67 +2831,36 @@ CONFIG_LDISC_AUTOLOAD=y # # Serial drivers # -CONFIG_SERIAL_EARLYCON=y -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y -CONFIG_SERIAL_8250_PNP=y -CONFIG_SERIAL_8250_16550A_VARIANTS=y -# CONFIG_SERIAL_8250_FINTEK is not set -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_SERIAL_8250_DMA=y -CONFIG_SERIAL_8250_PCILIB=y -CONFIG_SERIAL_8250_PCI=y -CONFIG_SERIAL_8250_EXAR=y -CONFIG_SERIAL_8250_NR_UARTS=4 -CONFIG_SERIAL_8250_RUNTIME_UARTS=4 -CONFIG_SERIAL_8250_EXTENDED=y -# CONFIG_SERIAL_8250_MANY_PORTS is not set -CONFIG_SERIAL_8250_PCI1XXXX=y -CONFIG_SERIAL_8250_SHARE_IRQ=y -# CONFIG_SERIAL_8250_DETECT_IRQ is not set -# CONFIG_SERIAL_8250_RSA is not set -CONFIG_SERIAL_8250_DWLIB=y -CONFIG_SERIAL_8250_FSL=y -CONFIG_SERIAL_8250_DW=y -# CONFIG_SERIAL_8250_RT288X is not set -CONFIG_SERIAL_8250_PERICOM=y -CONFIG_SERIAL_OF_PLATFORM=y +# CONFIG_SERIAL_8250 is not set # # Non-8250 serial port support # # CONFIG_SERIAL_AMBA_PL010 is not set -CONFIG_SERIAL_AMBA_PL011=y -CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +# CONFIG_SERIAL_AMBA_PL011 is not set # CONFIG_SERIAL_EARLYCON_SEMIHOST is not set # CONFIG_SERIAL_MAX3100 is not set # CONFIG_SERIAL_MAX310X is not set # CONFIG_SERIAL_UARTLITE is not set CONFIG_SERIAL_CORE=y -CONFIG_SERIAL_CORE_CONSOLE=y # CONFIG_SERIAL_JSM is not set -CONFIG_SERIAL_MSM=y -CONFIG_SERIAL_MSM_CONSOLE=y +# CONFIG_SERIAL_MSM is not set CONFIG_SERIAL_QCOM_GENI=y -CONFIG_SERIAL_QCOM_GENI_CONSOLE=y +# CONFIG_SERIAL_QCOM_GENI_CONSOLE is not set # CONFIG_SERIAL_SIFIVE is not set # CONFIG_SERIAL_SCCNXP is not set # CONFIG_SERIAL_SC16IS7XX is not set # CONFIG_SERIAL_ALTERA_JTAGUART is not set # CONFIG_SERIAL_ALTERA_UART is not set -CONFIG_SERIAL_XILINX_PS_UART=y -CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y +# CONFIG_SERIAL_XILINX_PS_UART is not set # CONFIG_SERIAL_ARC is not set # CONFIG_SERIAL_RP2 is not set -CONFIG_SERIAL_FSL_LPUART=y -CONFIG_SERIAL_FSL_LPUART_CONSOLE=y -CONFIG_SERIAL_FSL_LINFLEXUART=y -CONFIG_SERIAL_FSL_LINFLEXUART_CONSOLE=y +# CONFIG_SERIAL_FSL_LPUART is not set +# CONFIG_SERIAL_FSL_LINFLEXUART is not set # CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set # CONFIG_SERIAL_SPRD is not set # end of Serial drivers -CONFIG_SERIAL_MCTRL_GPIO=y # CONFIG_SERIAL_NONSTANDARD is not set # CONFIG_N_GSM is not set # CONFIG_NOZOMI is not set @@ -3209,7 +3099,6 @@ CONFIG_PTP_1588_CLOCK_OPTIONAL=y CONFIG_PTP_1588_CLOCK_KVM=y # CONFIG_PTP_1588_CLOCK_IDT82P33 is not set # CONFIG_PTP_1588_CLOCK_IDTCM is not set -# CONFIG_PTP_1588_CLOCK_OCP is not set # end of PTP clock support CONFIG_PINCTRL=y @@ -3296,7 +3185,6 @@ CONFIG_GPIO_ALTERA=m # CONFIG_GPIO_AMDPT is not set # CONFIG_GPIO_CADENCE is not set CONFIG_GPIO_DWAPB=y -# CONFIG_GPIO_EXAR is not set # CONFIG_GPIO_FTGPIO010 is not set # CONFIG_GPIO_GENERIC_PLATFORM is not set # CONFIG_GPIO_GRGPIO is not set @@ -6978,7 +6866,6 @@ CONFIG_RPCSEC_GSS_KRB5=y # CONFIG_SMB_SERVER is not set # CONFIG_CODA_FS is not set # CONFIG_AFS_FS is not set -# CONFIG_9P_FS is not set CONFIG_NLS=y CONFIG_NLS_DEFAULT="iso8859-1" CONFIG_NLS_CODEPAGE_437=y