From e82b39093d919f0b9ef02cf53db1bd2d7fe01529 Mon Sep 17 00:00:00 2001 From: sbwml Date: Thu, 17 Oct 2024 05:47:39 +0800 Subject: [PATCH] rockchip: fixes rk3568 pcie msi issue Signed-off-by: sbwml --- armv8/config-6.12 | 24 +- armv8/config-6.6 | 297 +++++++++--------- ...2-rk356x-add-dwc3-xhci-usb-trb-quirk.patch | 2 +- ...gic-v3-add-hackaround-for-rk3568-its.patch | 159 ++++------ ...2-rk356x-add-dwc3-xhci-usb-trb-quirk.patch | 18 +- ...chip-vop-Add-rv1126-vop_lite-support.patch | 4 +- ...e-cleanup-helper-directly-as-destroy.patch | 6 +- ...p-vop-Add-NV15-NV20-and-NV30-support.patch | 10 +- ...tput-interface-related-definition-to.patch | 2 +- ...-GPU-scheduler-to-variable-number-of.patch | 2 +- ...-sched-Add-drm_sched_wqueue_-helpers.patch | 12 +- ...x-from-drm_sched_wakeup_if_can_queue.patch | 4 +- ...rm-sched-Qualify-drm_sched_wakeup-by.patch | 4 +- ...568-update-gicv3-its-and-pci-msi-map.patch | 2 +- ...gic-v3-add-hackaround-for-rk3568-its.patch | 159 ++++------ 15 files changed, 325 insertions(+), 380 deletions(-) diff --git a/armv8/config-6.12 b/armv8/config-6.12 index 23e2b8d..48bf04f 100644 --- a/armv8/config-6.12 +++ b/armv8/config-6.12 @@ -22,12 +22,20 @@ CONFIG_ARCH_WANTS_NO_INSTR=y CONFIG_ARCH_WANTS_THP_SWAP=y CONFIG_ARM64_4K_PAGES=y CONFIG_ARM64_CNP=y -CONFIG_ARM64_EPAN=y +CONFIG_ARM64_ERRATUM_1024718=y +CONFIG_ARM64_ERRATUM_1165522=y +CONFIG_ARM64_ERRATUM_1286807=y +CONFIG_ARM64_ERRATUM_1319367=y +CONFIG_ARM64_ERRATUM_1463225=y +CONFIG_ARM64_ERRATUM_1530923=y CONFIG_ARM64_ERRATUM_2051678=y CONFIG_ARM64_ERRATUM_2054223=y CONFIG_ARM64_ERRATUM_2067961=y CONFIG_ARM64_ERRATUM_2077057=y +CONFIG_ARM64_ERRATUM_2441007=y +CONFIG_ARM64_ERRATUM_2441009=y CONFIG_ARM64_ERRATUM_2658417=y +CONFIG_ARM64_ERRATUM_3117295=y CONFIG_ARM64_ERRATUM_819472=y CONFIG_ARM64_ERRATUM_824069=y CONFIG_ARM64_ERRATUM_826319=y @@ -40,7 +48,6 @@ CONFIG_ARM64_LD_HAS_FIX_ERRATUM_843419=y CONFIG_ARM64_PA_BITS=48 CONFIG_ARM64_PA_BITS_48=y CONFIG_ARM64_PAGE_SHIFT=12 -CONFIG_ARM64_PAN=y CONFIG_ARM64_PTR_AUTH_KERNEL=y CONFIG_ARM64_PTR_AUTH=y CONFIG_ARM64_RAS_EXTN=y @@ -51,6 +58,9 @@ CONFIG_ARM64_TAGGED_ADDR_ABI=y CONFIG_ARM64_VA_BITS=48 CONFIG_ARM64_VA_BITS_48=y CONFIG_ARM64_WORKAROUND_CLEAN_CACHE=y +CONFIG_ARM64_WORKAROUND_REPEAT_TLBI=y +CONFIG_ARM64_WORKAROUND_SPECULATIVE_AT=y +CONFIG_ARM64_WORKAROUND_SPECULATIVE_UNPRIV_LOAD=y CONFIG_ARM64_WORKAROUND_TSB_FLUSH_FAILURE=y CONFIG_ARM64=y CONFIG_ARM_AMBA=y @@ -67,6 +77,7 @@ CONFIG_ARM_MHU=y CONFIG_ARM_PSCI_CPUIDLE_DOMAIN=y CONFIG_ARM_PSCI_CPUIDLE=y CONFIG_ARM_PSCI_FW=y +CONFIG_ARM_RK3328_DMC_DEVFREQ=y # CONFIG_ARM_RK3399_DMC_DEVFREQ is not set CONFIG_ARM_SCMI_CPUFREQ=y CONFIG_ARM_SCMI_HAVE_SHMEM=y @@ -112,7 +123,7 @@ CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5" CONFIG_CC_NO_ARRAY_BOUNDS=y CONFIG_CHARGER_GPIO=y -# CONFIG_CHARGER_RK817 is not set +CONFIG_CHARGER_RK817=y CONFIG_CLK_PX30=y CONFIG_CLK_RK3308=y CONFIG_CLK_RK3328=y @@ -235,7 +246,6 @@ CONFIG_EEPROM_AT24=y CONFIG_EMAC_ROCKCHIP=y CONFIG_ENERGY_MODEL=y CONFIG_EXCLUSIVE_SYSTEM_RAM=y -CONFIG_EXT4_FS_POSIX_ACL=y CONFIG_EXT4_FS=y CONFIG_EXTCON=y CONFIG_F2FS_FS=y @@ -246,14 +256,14 @@ CONFIG_FIXED_PHY=y CONFIG_FRAME_POINTER=y CONFIG_FS_IOMAP=y CONFIG_FS_MBCACHE=y -CONFIG_FS_POSIX_ACL=y CONFIG_FUNCTION_ALIGNMENT=4 CONFIG_FUNCTION_ALIGNMENT_4B=y CONFIG_FW_LOADER_PAGED_BUF=y CONFIG_FW_LOADER_SYSFS=y CONFIG_FWNODE_MDIO=y CONFIG_GCC11_NO_ARRAY_BOUNDS=y -CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_REGS=y +CONFIG_GCC_ASM_GOTO_OUTPUT_WORKAROUND=y +CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_ARGS=y CONFIG_GENERIC_ALLOCATOR=y CONFIG_GENERIC_ARCH_TOPOLOGY=y CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y @@ -483,7 +493,7 @@ CONFIG_NVME_CORE=y CONFIG_NVME_HWMON=y CONFIG_NVMEM_LAYOUTS=y CONFIG_NVMEM_ROCKCHIP_EFUSE=y -# CONFIG_NVMEM_ROCKCHIP_OTP is not set +CONFIG_NVMEM_ROCKCHIP_OTP=y CONFIG_NVMEM_SYSFS=y # CONFIG_NVME_MULTIPATH is not set CONFIG_NVMEM=y diff --git a/armv8/config-6.6 b/armv8/config-6.6 index c8db41e..bcd92a9 100644 --- a/armv8/config-6.6 +++ b/armv8/config-6.6 @@ -1,4 +1,5 @@ CONFIG_64BIT=y +CONFIG_ARC_EMAC_CORE=y CONFIG_ARCH_BINFMT_ELF_EXTRA_PHDRS=y CONFIG_ARCH_CORRECT_STACKTRACE_ON_KRETPROBE=y CONFIG_ARCH_DEFAULT_KEXEC_IMAGE_VERIFY_SIG=y @@ -19,17 +20,21 @@ CONFIG_ARCH_STACKWALK=y CONFIG_ARCH_SUSPEND_POSSIBLE=y CONFIG_ARCH_WANTS_NO_INSTR=y CONFIG_ARCH_WANTS_THP_SWAP=y -CONFIG_ARC_EMAC_CORE=y -CONFIG_ARM64=y CONFIG_ARM64_4K_PAGES=y -CONFIG_ARM64_BRBE=y -CONFIG_ARM64_CNP=y -CONFIG_ARM64_EPAN=y +CONFIG_ARM64_ERRATUM_1024718=y +CONFIG_ARM64_ERRATUM_1165522=y +CONFIG_ARM64_ERRATUM_1286807=y +CONFIG_ARM64_ERRATUM_1319367=y +CONFIG_ARM64_ERRATUM_1463225=y +CONFIG_ARM64_ERRATUM_1530923=y CONFIG_ARM64_ERRATUM_2051678=y CONFIG_ARM64_ERRATUM_2054223=y CONFIG_ARM64_ERRATUM_2067961=y CONFIG_ARM64_ERRATUM_2077057=y +CONFIG_ARM64_ERRATUM_2441007=y +CONFIG_ARM64_ERRATUM_2441009=y CONFIG_ARM64_ERRATUM_2658417=y +CONFIG_ARM64_ERRATUM_3117295=y CONFIG_ARM64_ERRATUM_819472=y CONFIG_ARM64_ERRATUM_824069=y CONFIG_ARM64_ERRATUM_826319=y @@ -39,35 +44,39 @@ CONFIG_ARM64_ERRATUM_843419=y CONFIG_ARM64_ERRATUM_858921=y CONFIG_ARM64_HW_AFDBM=y CONFIG_ARM64_LD_HAS_FIX_ERRATUM_843419=y -CONFIG_ARM64_PAGE_SHIFT=12 -CONFIG_ARM64_PAN=y CONFIG_ARM64_PA_BITS=48 CONFIG_ARM64_PA_BITS_48=y -CONFIG_ARM64_PTR_AUTH=y +CONFIG_ARM64_PAGE_SHIFT=12 CONFIG_ARM64_PTR_AUTH_KERNEL=y +CONFIG_ARM64_PTR_AUTH=y CONFIG_ARM64_RAS_EXTN=y CONFIG_ARM64_SME=y CONFIG_ARM64_SVE=y CONFIG_ARM64_TAGGED_ADDR_ABI=y -CONFIG_ARM64_VA_BITS=48 # CONFIG_ARM64_VA_BITS_39 is not set +CONFIG_ARM64_VA_BITS=48 CONFIG_ARM64_VA_BITS_48=y CONFIG_ARM64_WORKAROUND_CLEAN_CACHE=y +CONFIG_ARM64_WORKAROUND_REPEAT_TLBI=y +CONFIG_ARM64_WORKAROUND_SPECULATIVE_AT=y +CONFIG_ARM64_WORKAROUND_SPECULATIVE_UNPRIV_LOAD=y CONFIG_ARM64_WORKAROUND_TSB_FLUSH_FAILURE=y +CONFIG_ARM64=y CONFIG_ARM_AMBA=y -CONFIG_ARM_ARCH_TIMER=y CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y CONFIG_ARM_ARCH_TIMER_OOL_WORKAROUND=y -CONFIG_ARM_GIC=y +CONFIG_ARM_ARCH_TIMER=y CONFIG_ARM_GIC_V2M=y -CONFIG_ARM_GIC_V3=y -CONFIG_ARM_GIC_V3_ITS=y CONFIG_ARM_GIC_V3_ITS_PCI=y -CONFIG_ARM_MHU=y +CONFIG_ARM_GIC_V3_ITS=y +CONFIG_ARM_GIC_V3=y +CONFIG_ARM_GIC=y CONFIG_ARM_MHU_V2=y -CONFIG_ARM_PSCI_CPUIDLE=y +CONFIG_ARM_MHU=y CONFIG_ARM_PSCI_CPUIDLE_DOMAIN=y +CONFIG_ARM_PSCI_CPUIDLE=y CONFIG_ARM_PSCI_FW=y +CONFIG_ARM_RK3328_DMC_DEVFREQ=y # CONFIG_ARM_RK3399_DMC_DEVFREQ is not set CONFIG_ARM_SCMI_CPUFREQ=y CONFIG_ARM_SCMI_HAVE_SHMEM=y @@ -77,26 +86,26 @@ CONFIG_ARM_SCMI_POWER_DOMAIN=y CONFIG_ARM_SCMI_PROTOCOL=y # CONFIG_ARM_SCMI_RAW_MODE_SUPPORT is not set CONFIG_ARM_SCMI_TRANSPORT_MAILBOX=y -CONFIG_ARM_SCMI_TRANSPORT_SMC=y CONFIG_ARM_SCMI_TRANSPORT_SMC_ATOMIC_ENABLE=y +CONFIG_ARM_SCMI_TRANSPORT_SMC=y CONFIG_ARM_SCPI_CPUFREQ=y CONFIG_ARM_SCPI_POWER_DOMAIN=y CONFIG_ARM_SCPI_PROTOCOL=y -CONFIG_ARM_SMMU=y CONFIG_ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT=y # CONFIG_ARM_SMMU_LEGACY_DT_BINDINGS is not set -CONFIG_ARM_SMMU_V3=y # CONFIG_ARM_SMMU_V3_SVA is not set +CONFIG_ARM_SMMU_V3=y +CONFIG_ARM_SMMU=y CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y CONFIG_BACKLIGHT_CLASS_DEVICE=y CONFIG_BACKLIGHT_GPIO=y CONFIG_BACKLIGHT_PWM=y -CONFIG_BLK_DEV_BSG=y -CONFIG_BLK_DEV_BSGLIB=y CONFIG_BLK_DEV_BSG_COMMON=y +CONFIG_BLK_DEV_BSGLIB=y +CONFIG_BLK_DEV_BSG=y # CONFIG_BLK_DEV_INITRD is not set -CONFIG_BLK_DEV_INTEGRITY=y CONFIG_BLK_DEV_INTEGRITY_T10=y +CONFIG_BLK_DEV_INTEGRITY=y CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_NVME=y CONFIG_BLK_DEV_PCIESSD_MTIP32XX=y @@ -104,8 +113,8 @@ CONFIG_BLK_DEV_SD=y CONFIG_BLK_MQ_PCI=y CONFIG_BLK_PM=y CONFIG_BRCMSTB_GISB_ARB=y -CONFIG_BSD_PROCESS_ACCT=y CONFIG_BSD_PROCESS_ACCT_V3=y +CONFIG_BSD_PROCESS_ACCT=y CONFIG_BUFFER_HEAD=y CONFIG_BUILTIN_RETURN_ADDRESS_STRIPS_PAC=y CONFIG_CC_HAVE_SHADOW_CALL_STACK=y @@ -113,8 +122,7 @@ CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5" CONFIG_CC_NO_ARRAY_BOUNDS=y CONFIG_CHARGER_GPIO=y -# CONFIG_CHARGER_RK817 is not set -CONFIG_CLKSRC_MMIO=y +CONFIG_CHARGER_RK817=y CONFIG_CLK_PX30=y CONFIG_CLK_RK3308=y CONFIG_CLK_RK3328=y @@ -122,35 +130,35 @@ CONFIG_CLK_RK3368=y CONFIG_CLK_RK3399=y CONFIG_CLK_RK3568=y CONFIG_CLK_RK3588=y +CONFIG_CLKSRC_MMIO=y CONFIG_CLONE_BACKWARDS=y -CONFIG_CMA=y CONFIG_CMA_ALIGNMENT=8 CONFIG_CMA_AREAS=7 -# CONFIG_CMA_DEBUG is not set # CONFIG_CMA_DEBUGFS is not set +# CONFIG_CMA_DEBUG is not set CONFIG_CMA_SIZE_MBYTES=16 # CONFIG_CMA_SIZE_SEL_MAX is not set CONFIG_CMA_SIZE_SEL_MBYTES=y # CONFIG_CMA_SIZE_SEL_MIN is not set # CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set # CONFIG_CMA_SYSFS is not set -CONFIG_COMMON_CLK=y +CONFIG_CMA=y CONFIG_COMMON_CLK_RK808=y CONFIG_COMMON_CLK_ROCKCHIP=y CONFIG_COMMON_CLK_SCMI=y CONFIG_COMMON_CLK_SCPI=y +CONFIG_COMMON_CLK=y CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1 CONFIG_COMPAT_32BIT_TIME=y CONFIG_CONFIGFS_FS=y CONFIG_CONSOLE_TRANSLATIONS=y -CONFIG_CONTEXT_TRACKING=y CONFIG_CONTEXT_TRACKING_IDLE=y +CONFIG_CONTEXT_TRACKING=y CONFIG_CONTIG_ALLOC=y -CONFIG_CPUFREQ_DT=y -CONFIG_CPUFREQ_DT_PLATDEV=y -CONFIG_CPU_FREQ=y # CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y +CONFIG_CPUFREQ_DT_PLATDEV=y +CONFIG_CPUFREQ_DT=y CONFIG_CPU_FREQ_GOV_ATTR_SET=y # CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set # CONFIG_CPU_FREQ_GOV_ONDEMAND is not set @@ -159,9 +167,10 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=y CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y # CONFIG_CPU_FREQ_GOV_USERSPACE is not set CONFIG_CPU_FREQ_STAT=y -CONFIG_CPU_IDLE=y +CONFIG_CPU_FREQ=y CONFIG_CPU_IDLE_GOV_MENU=y CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y +CONFIG_CPU_IDLE=y CONFIG_CPU_ISOLATION=y CONFIG_CPU_LITTLE_ENDIAN=y CONFIG_CPU_PM=y @@ -172,19 +181,19 @@ CONFIG_CRASH_DUMP=y CONFIG_CRC16=y # CONFIG_CRC32_SARWATE is not set CONFIG_CRC32_SLICEBY8=y -CONFIG_CRC64=y CONFIG_CRC64_ROCKSOFT=y +CONFIG_CRC64=y CONFIG_CRC_T10DIF=y CONFIG_CROSS_MEMORY_ATTACH=y -CONFIG_CRYPTO_AES_ARM64=y -CONFIG_CRYPTO_AES_ARM64_CE=y CONFIG_CRYPTO_AES_ARM64_CE_BLK=y CONFIG_CRYPTO_AES_ARM64_CE_CCM=y -CONFIG_CRYPTO_CRC32=y +CONFIG_CRYPTO_AES_ARM64_CE=y +CONFIG_CRYPTO_AES_ARM64=y CONFIG_CRYPTO_CRC32C=y +CONFIG_CRYPTO_CRC32=y CONFIG_CRYPTO_CRC64_ROCKSOFT=y -CONFIG_CRYPTO_CRCT10DIF=y CONFIG_CRYPTO_CRCT10DIF_ARM64_CE=y +CONFIG_CRYPTO_CRCT10DIF=y CONFIG_CRYPTO_CRYPTD=y # CONFIG_CRYPTO_DEV_ROCKCHIP is not set CONFIG_CRYPTO_GHASH_ARM64_CE=y @@ -194,14 +203,14 @@ CONFIG_CRYPTO_LIB_GF128MUL=y CONFIG_CRYPTO_LIB_SHA1=y CONFIG_CRYPTO_LIB_SHA256=y CONFIG_CRYPTO_LIB_UTILS=y -CONFIG_CRYPTO_POLYVAL=y CONFIG_CRYPTO_POLYVAL_ARM64_CE=y +CONFIG_CRYPTO_POLYVAL=y CONFIG_CRYPTO_SHA256=y -CONFIG_CRYPTO_SM3=y CONFIG_CRYPTO_SM3_NEON=y -CONFIG_CRYPTO_SM4=y +CONFIG_CRYPTO_SM3=y CONFIG_CRYPTO_SM4_ARM64_CE_BLK=y CONFIG_CRYPTO_SM4_ARM64_NEON_BLK=y +CONFIG_CRYPTO_SM4=y CONFIG_DCACHE_WORD_ACCESS=y CONFIG_DEBUG_BUGVERBOSE=y CONFIG_DEBUG_INFO=y @@ -213,9 +222,9 @@ CONFIG_DEVFREQ_GOV_USERSPACE=y # CONFIG_DEVFREQ_THERMAL is not set CONFIG_DEVMEM=y # CONFIG_DEVPORT is not set -CONFIG_DMADEVICES=y CONFIG_DMA_BOUNCE_UNALIGNED_KMALLOC=y CONFIG_DMA_CMA=y +CONFIG_DMADEVICES=y CONFIG_DMA_DIRECT_REMAP=y CONFIG_DMA_ENGINE=y CONFIG_DMA_OF=y @@ -236,30 +245,29 @@ CONFIG_EMAC_ROCKCHIP=y CONFIG_ENERGY_MODEL=y CONFIG_EXCLUSIVE_SYSTEM_RAM=y CONFIG_EXT4_FS=y -CONFIG_EXT4_FS_POSIX_ACL=y CONFIG_EXTCON=y CONFIG_F2FS_FS=y CONFIG_FANOTIFY=y CONFIG_FHANDLE=y -CONFIG_FIXED_PHY=y CONFIG_FIX_EARLYCON_MEM=y +CONFIG_FIXED_PHY=y CONFIG_FRAME_POINTER=y CONFIG_FS_IOMAP=y CONFIG_FS_MBCACHE=y -CONFIG_FS_POSIX_ACL=y CONFIG_FUNCTION_ALIGNMENT=4 CONFIG_FUNCTION_ALIGNMENT_4B=y -CONFIG_FWNODE_MDIO=y CONFIG_FW_LOADER_PAGED_BUF=y CONFIG_FW_LOADER_SYSFS=y +CONFIG_FWNODE_MDIO=y CONFIG_GCC11_NO_ARRAY_BOUNDS=y -CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_REGS=y +CONFIG_GCC_ASM_GOTO_OUTPUT_WORKAROUND=y +CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_ARGS=y CONFIG_GENERIC_ALLOCATOR=y CONFIG_GENERIC_ARCH_TOPOLOGY=y -CONFIG_GENERIC_BUG=y CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y -CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_GENERIC_BUG=y CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y +CONFIG_GENERIC_CLOCKEVENTS=y CONFIG_GENERIC_CPU_AUTOPROBE=y CONFIG_GENERIC_CPU_VULNERABILITIES=y CONFIG_GENERIC_CSUM=y @@ -270,8 +278,8 @@ CONFIG_GENERIC_IOREMAP=y CONFIG_GENERIC_IRQ_CHIP=y CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y CONFIG_GENERIC_IRQ_MIGRATION=y -CONFIG_GENERIC_IRQ_SHOW=y CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_GENERIC_IRQ_SHOW=y CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED=y CONFIG_GENERIC_MSI_IRQ=y CONFIG_GENERIC_PCI_IOMAP=y @@ -282,71 +290,71 @@ CONFIG_GENERIC_SMP_IDLE_THREAD=y CONFIG_GENERIC_STRNCPY_FROM_USER=y CONFIG_GENERIC_STRNLEN_USER=y CONFIG_GENERIC_TIME_VSYSCALL=y -CONFIG_GPIOLIB_IRQCHIP=y CONFIG_GPIO_CDEV=y CONFIG_GPIO_DWAPB=y -CONFIG_GPIO_GENERIC=y CONFIG_GPIO_GENERIC_PLATFORM=y +CONFIG_GPIO_GENERIC=y +CONFIG_GPIOLIB_IRQCHIP=y CONFIG_GPIO_ROCKCHIP=y CONFIG_GPIO_SYSCON=y CONFIG_GRO_CELLS=y CONFIG_HARDIRQS_SW_RESEND=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT=y CONFIG_HAS_IOPORT_MAP=y -CONFIG_HID=y +CONFIG_HAS_IOPORT=y CONFIG_HID_GENERIC=y -CONFIG_HOTPLUG_CORE_SYNC=y +CONFIG_HID=y CONFIG_HOTPLUG_CORE_SYNC_DEAD=y +CONFIG_HOTPLUG_CORE_SYNC=y CONFIG_HOTPLUG_CPU=y -CONFIG_HOTPLUG_PCI=y # CONFIG_HOTPLUG_PCI_CPCI is not set CONFIG_HOTPLUG_PCI_PCIE=y CONFIG_HOTPLUG_PCI_SHPC=y +CONFIG_HOTPLUG_PCI=y CONFIG_HUGETLBFS=y CONFIG_HUGETLB_PAGE=y -CONFIG_HWMON=y -CONFIG_HWSPINLOCK=y CONFIG_HW_CONSOLE=y -CONFIG_HW_RANDOM=y +CONFIG_HWMON=y CONFIG_HW_RANDOM_ROCKCHIP_RK3568=y -CONFIG_I2C=y +CONFIG_HW_RANDOM=y +CONFIG_HWSPINLOCK=y CONFIG_I2C_BOARDINFO=y CONFIG_I2C_CHARDEV=y CONFIG_I2C_COMPAT=y CONFIG_I2C_HELPER_AUTO=y CONFIG_I2C_RK3X=y -CONFIG_IIO=y +CONFIG_I2C=y # CONFIG_IIO_SCMI is not set +CONFIG_IIO=y CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 CONFIG_INDIRECT_PIO=y -CONFIG_INPUT=y CONFIG_INPUT_EVDEV=y CONFIG_INPUT_FF_MEMLESS=y CONFIG_INPUT_KEYBOARD=y CONFIG_INPUT_LEDS=y CONFIG_INPUT_MATRIXKMAP=y -CONFIG_INPUT_MOUSE=y -CONFIG_INPUT_MOUSEDEV=y CONFIG_INPUT_MOUSEDEV_PSAUX=y CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSE=y CONFIG_INPUT_RK805_PWRKEY=y CONFIG_INPUT_SPARSEKMAP=y -# CONFIG_IOMMUFD is not set +CONFIG_INPUT=y CONFIG_IOMMU_API=y # CONFIG_IOMMU_DEBUGFS is not set # CONFIG_IOMMU_DEFAULT_DMA_LAZY is not set # CONFIG_IOMMU_DEFAULT_DMA_STRICT is not set CONFIG_IOMMU_DEFAULT_PASSTHROUGH=y CONFIG_IOMMU_DMA=y -CONFIG_IOMMU_IOVA=y -CONFIG_IOMMU_IO_PGTABLE=y +# CONFIG_IOMMUFD is not set # CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set # CONFIG_IOMMU_IO_PGTABLE_DART is not set -CONFIG_IOMMU_IO_PGTABLE_LPAE=y # CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set +CONFIG_IOMMU_IO_PGTABLE_LPAE=y +CONFIG_IOMMU_IO_PGTABLE=y +CONFIG_IOMMU_IOVA=y CONFIG_IOMMU_SUPPORT=y # CONFIG_IO_STRICT_DEVMEM is not set # CONFIG_IR_GPIO_TX is not set @@ -354,6 +362,13 @@ CONFIG_IOMMU_SUPPORT=y # CONFIG_IR_IMON_RAW is not set # CONFIG_IR_MCE_KBD_DECODER is not set # CONFIG_IR_PWM_TX is not set +CONFIG_IRQCHIP=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_IRQ_MSI_IOMMU=y +CONFIG_IRQ_TIME_ACCOUNTING=y +CONFIG_IRQ_WORK=y # CONFIG_IR_RCMM_DECODER is not set # CONFIG_IR_SANYO_DECODER is not set # CONFIG_IR_SERIAL is not set @@ -361,13 +376,6 @@ CONFIG_IOMMU_SUPPORT=y # CONFIG_IR_SPI is not set # CONFIG_IR_TOY is not set # CONFIG_IR_XMP_DECODER is not set -CONFIG_IRQCHIP=y -CONFIG_IRQ_DOMAIN=y -CONFIG_IRQ_DOMAIN_HIERARCHY=y -CONFIG_IRQ_FORCED_THREADING=y -CONFIG_IRQ_MSI_IOMMU=y -CONFIG_IRQ_TIME_ACCOUNTING=y -CONFIG_IRQ_WORK=y CONFIG_JBD2=y CONFIG_JFFS2_ZLIB=y CONFIG_JUMP_LABEL=y @@ -376,14 +384,14 @@ CONFIG_KCMP=y CONFIG_KEXEC_CORE=y CONFIG_KEXEC_FILE=y CONFIG_KSM=y -CONFIG_KVM=y CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y CONFIG_KVM_MMIO=y CONFIG_KVM_VFIO=y +CONFIG_KVM=y # CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set CONFIG_LEDS_GPIO=y -CONFIG_LEDS_PWM=y # CONFIG_LEDS_PWM_MULTICOLOR is not set +CONFIG_LEDS_PWM=y CONFIG_LEDS_SYSCON=y CONFIG_LEDS_TRIGGER_CPU=y CONFIG_LEDS_TRIGGER_PANIC=y @@ -393,14 +401,14 @@ CONFIG_LOCALVERSION_AUTO=y CONFIG_LOCK_DEBUGGING_SUPPORT=y CONFIG_LOCK_SPIN_ON_OWNER=y CONFIG_LOG_BUF_SHIFT=19 -CONFIG_MAGIC_SYSRQ=y CONFIG_MAGIC_SYSRQ_SERIAL=y -CONFIG_MAILBOX=y +CONFIG_MAGIC_SYSRQ=y # CONFIG_MAILBOX_TEST is not set -CONFIG_MDIO_BUS=y -CONFIG_MDIO_BUS_MUX=y +CONFIG_MAILBOX=y CONFIG_MDIO_BUS_MUX_GPIO=y CONFIG_MDIO_BUS_MUX_MMIOREG=y +CONFIG_MDIO_BUS_MUX=y +CONFIG_MDIO_BUS=y CONFIG_MDIO_DEVICE=y CONFIG_MDIO_DEVRES=y CONFIG_MEMFD_CREATE=y @@ -412,11 +420,9 @@ CONFIG_MFD_RK8XX_I2C=y CONFIG_MFD_RK8XX_SPI=y CONFIG_MFD_SYSCON=y CONFIG_MIGRATION=y -CONFIG_MMC=y -CONFIG_MMC_BLOCK=y CONFIG_MMC_BLOCK_MINORS=32 +CONFIG_MMC_BLOCK=y CONFIG_MMC_CQHCI=y -CONFIG_MMC_DW=y # CONFIG_MMC_DW_BLUEFIELD is not set # CONFIG_MMC_DW_EXYNOS is not set # CONFIG_MMC_DW_HI3798CV200 is not set @@ -424,46 +430,48 @@ CONFIG_MMC_DW=y # CONFIG_MMC_DW_PCI is not set CONFIG_MMC_DW_PLTFM=y CONFIG_MMC_DW_ROCKCHIP=y -CONFIG_MMC_SDHCI=y +CONFIG_MMC_DW=y CONFIG_MMC_SDHCI_OF_ARASAN=y CONFIG_MMC_SDHCI_OF_DWCMSHC=y # CONFIG_MMC_SDHCI_PCI is not set CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC=y CONFIG_MMU_LAZY_TLB_REFCOUNT=y CONFIG_MODULES_USE_ELF_RELA=y CONFIG_MOTORCOMM_PHY=y # CONFIG_MOUSE_BCM5974 is not set # CONFIG_MOUSE_CYAPA is not set -CONFIG_MOUSE_PS2=y CONFIG_MOUSE_PS2_ALPS=y CONFIG_MOUSE_PS2_BYD=y CONFIG_MOUSE_PS2_CYPRESS=y # CONFIG_MOUSE_PS2_ELANTECH is not set CONFIG_MOUSE_PS2_LOGIPS2PP=y CONFIG_MOUSE_PS2_SMBUS=y -CONFIG_MOUSE_PS2_SYNAPTICS=y CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y +CONFIG_MOUSE_PS2_SYNAPTICS=y # CONFIG_MOUSE_PS2_TOUCHKIT is not set CONFIG_MOUSE_PS2_TRACKPOINT=y +CONFIG_MOUSE_PS2=y # CONFIG_MOUSE_SERIAL is not set # CONFIG_MOUSE_VSXXXAA is not set CONFIG_MQ_IOSCHED_DEADLINE=y # CONFIG_MTD_CFI is not set CONFIG_MTD_CMDLINE_PARTS=y # CONFIG_MTD_COMPLEX_MAPPINGS is not set -CONFIG_MTD_SPI_NOR=y CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y +CONFIG_MTD_SPI_NOR=y CONFIG_MTD_SPLIT_FIRMWARE=y CONFIG_MUTEX_SPIN_ON_OWNER=y CONFIG_NEED_DMA_MAP_STATE=y CONFIG_NEED_SG_DMA_FLAGS=y CONFIG_NEED_SG_DMA_LENGTH=y CONFIG_NET_DEVLINK=y -CONFIG_NET_DSA=y -CONFIG_NET_DSA_MT7530=y CONFIG_NET_DSA_MT7530_MDIO=y CONFIG_NET_DSA_MT7530_MMIO=y +CONFIG_NET_DSA_MT7530=y CONFIG_NET_DSA_TAG_MTK=y +CONFIG_NET_DSA=y CONFIG_NET_EGRESS=y CONFIG_NET_FLOW_LIMIT=y CONFIG_NET_INGRESS=y @@ -471,24 +479,23 @@ CONFIG_NET_PTP_CLASSIFY=y CONFIG_NET_SELFTESTS=y CONFIG_NET_SWITCHDEV=y CONFIG_NET_XGRESS=y -CONFIG_NLS=y CONFIG_NLS_ISO8859_1=y -CONFIG_NOP_USB_XCEIV=y +CONFIG_NLS=y CONFIG_NO_HZ_COMMON=y CONFIG_NO_HZ_IDLE=y +CONFIG_NOP_USB_XCEIV=y CONFIG_NR_CPUS=256 CONFIG_NR_LRU_GENS=7 # CONFIG_NVHE_EL2_DEBUG is not set -CONFIG_NVMEM=y -CONFIG_NVMEM_LAYOUTS=y -CONFIG_NVMEM_ROCKCHIP_EFUSE=y -# CONFIG_NVMEM_ROCKCHIP_OTP is not set -CONFIG_NVMEM_SYSFS=y CONFIG_NVME_CORE=y CONFIG_NVME_HWMON=y +CONFIG_NVMEM_LAYOUTS=y +CONFIG_NVMEM_ROCKCHIP_EFUSE=y +CONFIG_NVMEM_ROCKCHIP_OTP=y +CONFIG_NVMEM_SYSFS=y # CONFIG_NVME_MULTIPATH is not set +CONFIG_NVMEM=y # CONFIG_OCTEON_EP is not set -CONFIG_OF=y CONFIG_OF_ADDRESS=y CONFIG_OF_DYNAMIC=y CONFIG_OF_EARLY_FLATTREE=y @@ -500,6 +507,7 @@ CONFIG_OF_KOBJ=y CONFIG_OF_MDIO=y CONFIG_OF_OVERLAY=y CONFIG_OF_RESOLVE=y +CONFIG_OF=y # CONFIG_OVERLAY_FS_XINO_AUTO is not set CONFIG_PADATA=y CONFIG_PAGE_POOL=y @@ -510,38 +518,37 @@ CONFIG_PANIC_ON_OOPS_VALUE=0 CONFIG_PANIC_TIMEOUT=0 # CONFIG_PARTITION_ADVANCED is not set CONFIG_PARTITION_PERCPU=y -CONFIG_PCI=y +CONFIG_PCI_DOMAINS_GENERIC=y +CONFIG_PCI_DOMAINS=y CONFIG_PCIEAER=y -CONFIG_PCIEASPM=y # CONFIG_PCIEASPM_DEFAULT is not set CONFIG_PCIEASPM_EXT=y CONFIG_PCIEASPM_PERFORMANCE=y # CONFIG_PCIEASPM_POWERSAVE is not set # CONFIG_PCIEASPM_POWER_SUPERSAVE is not set -CONFIG_PCIEPORTBUS=y -CONFIG_PCIE_DW=y +CONFIG_PCIEASPM=y +CONFIG_PCI_ECAM=y CONFIG_PCIE_DW_HOST=y +CONFIG_PCIE_DW=y CONFIG_PCIE_PME=y -CONFIG_PCIE_ROCKCHIP=y +CONFIG_PCIEPORTBUS=y CONFIG_PCIE_ROCKCHIP_DW_HOST=y CONFIG_PCIE_ROCKCHIP_HOST=y -CONFIG_PCI_DOMAINS=y -CONFIG_PCI_DOMAINS_GENERIC=y -CONFIG_PCI_ECAM=y +CONFIG_PCIE_ROCKCHIP=y CONFIG_PCI_HOST_COMMON=y CONFIG_PCI_HOST_GENERIC=y -CONFIG_PCI_MSI=y CONFIG_PCI_MSI_IRQ_DOMAIN=y +CONFIG_PCI_MSI=y CONFIG_PCI_STUB=y +CONFIG_PCI=y CONFIG_PCS_XPCS=y CONFIG_PER_VMA_LOCK=y CONFIG_PGTABLE_LEVELS=4 -CONFIG_PHYLIB=y CONFIG_PHYLIB_LEDS=y +CONFIG_PHYLIB=y CONFIG_PHYLINK=y -CONFIG_PHYS_ADDR_T_64BIT=y -CONFIG_PHY_ROCKCHIP_DP=y # CONFIG_PHY_ROCKCHIP_DPHY_RX0 is not set +CONFIG_PHY_ROCKCHIP_DP=y CONFIG_PHY_ROCKCHIP_EMMC=y # CONFIG_PHY_ROCKCHIP_INNO_CSIDPHY is not set # CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY is not set @@ -552,44 +559,45 @@ CONFIG_PHY_ROCKCHIP_PCIE=y CONFIG_PHY_ROCKCHIP_SNPS_PCIE3=y CONFIG_PHY_ROCKCHIP_TYPEC=y CONFIG_PHY_ROCKCHIP_USB=y -CONFIG_PINCTRL=y +CONFIG_PHYS_ADDR_T_64BIT=y CONFIG_PINCTRL_RK805=y CONFIG_PINCTRL_ROCKCHIP=y # CONFIG_PINCTRL_SINGLE is not set +CONFIG_PINCTRL=y CONFIG_PL330_DMA=y CONFIG_PLATFORM_MHU=y -CONFIG_PM=y CONFIG_PM_CLK=y -CONFIG_PM_DEVFREQ=y # CONFIG_PM_DEVFREQ_EVENT is not set -CONFIG_PM_GENERIC_DOMAINS=y +CONFIG_PM_DEVFREQ=y CONFIG_PM_GENERIC_DOMAINS_OF=y +CONFIG_PM_GENERIC_DOMAINS=y CONFIG_PM_OPP=y +CONFIG_PM=y CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y CONFIG_POWER_RESET=y -CONFIG_POWER_SUPPLY=y CONFIG_POWER_SUPPLY_HWMON=y +CONFIG_POWER_SUPPLY=y CONFIG_PPS=y -CONFIG_PREEMPT=y -CONFIG_PREEMPTION=y CONFIG_PREEMPT_BUILD=y CONFIG_PREEMPT_COUNT=y +CONFIG_PREEMPTION=y # CONFIG_PREEMPT_NONE is not set CONFIG_PREEMPT_RCU=y +CONFIG_PREEMPT=y CONFIG_PRINTK_TIME=y # CONFIG_PRINT_QUOTA_WARNING is not set CONFIG_PROC_PAGE_MONITOR=y CONFIG_PROC_VMCORE=y -CONFIG_PTP_1588_CLOCK=y CONFIG_PTP_1588_CLOCK_OPTIONAL=y -CONFIG_PWM=y +CONFIG_PTP_1588_CLOCK=y CONFIG_PWM_ROCKCHIP=y CONFIG_PWM_SYSFS=y +CONFIG_PWM=y # CONFIG_QFMT_V2 is not set CONFIG_QUEUED_RWLOCKS=y CONFIG_QUEUED_SPINLOCKS=y -CONFIG_QUOTA=y CONFIG_QUOTACTL=y +CONFIG_QUOTA=y CONFIG_RAID_ATTRS=y CONFIG_RANDOMIZE_BASE=y CONFIG_RANDOMIZE_MODULE_REGION_FULL=y @@ -599,24 +607,25 @@ CONFIG_RATIONAL=y # CONFIG_RAVE_SP_CORE is not set CONFIG_RCU_TRACE=y CONFIG_REALTEK_PHY=y -CONFIG_REGMAP=y CONFIG_REGMAP_I2C=y CONFIG_REGMAP_IRQ=y CONFIG_REGMAP_MMIO=y CONFIG_REGMAP_SPI=y -CONFIG_REGULATOR=y +CONFIG_REGMAP=y CONFIG_REGULATOR_ARM_SCMI=y CONFIG_REGULATOR_FAN53555=y CONFIG_REGULATOR_FIXED_VOLTAGE=y CONFIG_REGULATOR_GPIO=y CONFIG_REGULATOR_PWM=y CONFIG_REGULATOR_RK808=y +CONFIG_REGULATOR=y CONFIG_RELOCATABLE=y CONFIG_RESET_CONTROLLER=y CONFIG_RESET_SCMI=y CONFIG_RFS_ACCEL=y CONFIG_ROCKCHIP_EFUSE=y CONFIG_ROCKCHIP_ERRATUM_114514=y +CONFIG_ROCKCHIP_ERRATUM_3588001=y CONFIG_ROCKCHIP_GRF=y CONFIG_ROCKCHIP_IODOMAIN=y CONFIG_ROCKCHIP_IOMMU=y @@ -626,8 +635,8 @@ CONFIG_ROCKCHIP_PM_DOMAINS=y # CONFIG_ROCKCHIP_SARADC is not set CONFIG_ROCKCHIP_THERMAL=y CONFIG_ROCKCHIP_TIMER=y -CONFIG_ROCKCHIP_VOP=y CONFIG_ROCKCHIP_VOP2=y +CONFIG_ROCKCHIP_VOP=y CONFIG_RODATA_FULL_DEFAULT_ENABLED=y CONFIG_RPS=y CONFIG_RSEQ=y @@ -639,62 +648,62 @@ CONFIG_RTC_NVMEM=y # CONFIG_RUNTIME_TESTING_MENU is not set CONFIG_RWSEM_SPIN_ON_OWNER=y CONFIG_SCHED_MC=y -CONFIG_SCSI=y CONFIG_SCSI_COMMON=y # CONFIG_SCSI_LOWLEVEL is not set # CONFIG_SCSI_PROC_FS is not set CONFIG_SCSI_SAS_ATTRS=y CONFIG_SCSI_SAS_HOST_SMP=y CONFIG_SCSI_SAS_LIBSAS=y +CONFIG_SCSI=y # CONFIG_SECURITY_DMESG_RESTRICT is not set CONFIG_SENSORS_ARM_SCMI=y CONFIG_SENSORS_ARM_SCPI=y CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y -CONFIG_SERIAL_8250_DW=y CONFIG_SERIAL_8250_DWLIB=y +CONFIG_SERIAL_8250_DW=y CONFIG_SERIAL_8250_EXAR=y CONFIG_SERIAL_8250_EXTENDED=y CONFIG_SERIAL_8250_FSL=y CONFIG_SERIAL_8250_NR_UARTS=4 -CONFIG_SERIAL_8250_PCI=y CONFIG_SERIAL_8250_PCILIB=y +CONFIG_SERIAL_8250_PCI=y CONFIG_SERIAL_8250_RUNTIME_UARTS=4 CONFIG_SERIAL_8250_SHARE_IRQ=y -CONFIG_SERIAL_AMBA_PL011=y CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +CONFIG_SERIAL_AMBA_PL011=y CONFIG_SERIAL_DEV_BUS=y CONFIG_SERIAL_DEV_CTRL_TTYPORT=y CONFIG_SERIAL_MCTRL_GPIO=y CONFIG_SERIAL_OF_PLATFORM=y -CONFIG_SERIO=y CONFIG_SERIO_AMBAKMI=y CONFIG_SERIO_LIBPS2=y +CONFIG_SERIO=y CONFIG_SG_POOL=y CONFIG_SLUB_DEBUG=y CONFIG_SMP=y CONFIG_SOCK_RX_QUEUE_MAPPING=y CONFIG_SOFTIRQ_ON_OWN_STACK=y -CONFIG_SPARSEMEM=y -CONFIG_SPARSEMEM_EXTREME=y -CONFIG_SPARSEMEM_VMEMMAP=y -CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y CONFIG_SPARSE_IRQ=y -CONFIG_SPI=y +CONFIG_SPARSEMEM_EXTREME=y +CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y +CONFIG_SPARSEMEM_VMEMMAP=y +CONFIG_SPARSEMEM=y CONFIG_SPI_BITBANG=y CONFIG_SPI_DYNAMIC=y CONFIG_SPI_MASTER=y CONFIG_SPI_MEM=y -CONFIG_SPI_ROCKCHIP=y CONFIG_SPI_ROCKCHIP_SFC=y +CONFIG_SPI_ROCKCHIP=y CONFIG_SPI_SPIDEV=y +CONFIG_SPI=y CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y # CONFIG_SQUASHFS_EMBEDDED is not set CONFIG_SQUASHFS_FILE_CACHE=y # CONFIG_SQUASHFS_FILE_DIRECT is not set CONFIG_SRAM=y -CONFIG_STACKPROTECTOR=y CONFIG_STACKPROTECTOR_PER_TASK=y CONFIG_STACKPROTECTOR_STRONG=y +CONFIG_STACKPROTECTOR=y CONFIG_STACKTRACE=y CONFIG_STMMAC_ETH=y CONFIG_STMMAC_PLATFORM=y @@ -707,7 +716,6 @@ CONFIG_SYNC_FILE=y CONFIG_SYSCTL_EXCEPTION_TRACE=y CONFIG_SYSFS_SYSCALL=y # CONFIG_TEXTSEARCH is not set -CONFIG_THERMAL=y CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 CONFIG_THERMAL_EMULATION=y @@ -715,19 +723,19 @@ CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y CONFIG_THERMAL_GOV_STEP_WISE=y CONFIG_THERMAL_HWMON=y CONFIG_THERMAL_OF=y +CONFIG_THERMAL=y CONFIG_THREAD_INFO_IN_TASK=y CONFIG_TICK_CPU_ACCOUNTING=y CONFIG_TIMER_OF=y CONFIG_TIMER_PROBE=y CONFIG_TRACE_CLOCK=y CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y -CONFIG_TRANSPARENT_HUGEPAGE=y CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y # CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set +CONFIG_TRANSPARENT_HUGEPAGE=y CONFIG_TRANS_TABLE=y CONFIG_TREE_RCU=y CONFIG_TREE_SRCU=y -CONFIG_TYPEC=y # CONFIG_TYPEC_ANX7411 is not set CONFIG_TYPEC_FUSB302=y # CONFIG_TYPEC_HD3SS3220 is not set @@ -741,43 +749,44 @@ CONFIG_TYPEC_FUSB302=y CONFIG_TYPEC_TCPM=y # CONFIG_TYPEC_TPS6598X is not set # CONFIG_TYPEC_WUSB3801 is not set +CONFIG_TYPEC=y # CONFIG_UCLAMP_TASK is not set # CONFIG_UEVENT_HELPER is not set CONFIG_UNINLINE_SPIN_UNLOCK=y CONFIG_UNMAP_KERNEL_AT_EL0=y -CONFIG_USB=y CONFIG_USB_COMMON=y -CONFIG_USB_DWC3=y CONFIG_USB_DWC3_HOST=y CONFIG_USB_DWC3_OF_SIMPLE=y -CONFIG_USB_EHCI_HCD=y +CONFIG_USB_DWC3=y CONFIG_USB_EHCI_HCD_PLATFORM=y +CONFIG_USB_EHCI_HCD=y # CONFIG_USB_EHCI_ROOT_HUB_TT is not set CONFIG_USB_HID=y -CONFIG_USB_OHCI_HCD=y CONFIG_USB_OHCI_HCD_PLATFORM=y +CONFIG_USB_OHCI_HCD=y CONFIG_USB_PHY=y CONFIG_USB_ROLE_SWITCH=y CONFIG_USB_STORAGE=y CONFIG_USB_SUPPORT=y -CONFIG_USB_ULPI=y CONFIG_USB_ULPI_BUS=y CONFIG_USB_ULPI_VIEWPORT=y +CONFIG_USB_ULPI=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_PLATFORM=y +CONFIG_USB=y # CONFIG_VIRTIO_MENU is not set CONFIG_VIRTUALIZATION=y CONFIG_VMAP_STACK=y CONFIG_VM_EVENT_COUNTERS=y -CONFIG_VT=y CONFIG_VT_CONSOLE=y CONFIG_VT_HW_CONSOLE_BINDING=y +CONFIG_VT=y CONFIG_WATCHDOG_CORE=y CONFIG_XARRAY_MULTI=y CONFIG_XPS=y CONFIG_XXHASH=y -CONFIG_XZ_DEC_ARM=y CONFIG_XZ_DEC_ARMTHUMB=y +CONFIG_XZ_DEC_ARM=y CONFIG_XZ_DEC_BCJ=y CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_INFLATE=y diff --git a/patches-6.12/012-rk356x-add-dwc3-xhci-usb-trb-quirk.patch b/patches-6.12/012-rk356x-add-dwc3-xhci-usb-trb-quirk.patch index 29c02cb..913baaa 100644 --- a/patches-6.12/012-rk356x-add-dwc3-xhci-usb-trb-quirk.patch +++ b/patches-6.12/012-rk356x-add-dwc3-xhci-usb-trb-quirk.patch @@ -18,7 +18,7 @@ --- a/drivers/usb/dwc3/core.c +++ b/drivers/usb/dwc3/core.c -@@ -1769,6 +1769,8 @@ static void dwc3_get_properties(struct d +@@ -1775,6 +1775,8 @@ static void dwc3_get_properties(struct d "snps,dis-del-phy-power-chg-quirk"); dwc->dis_tx_ipgap_linecheck_quirk = device_property_read_bool(dev, "snps,dis-tx-ipgap-linecheck-quirk"); diff --git a/patches-6.12/111-irqchip-gic-v3-add-hackaround-for-rk3568-its.patch b/patches-6.12/111-irqchip-gic-v3-add-hackaround-for-rk3568-its.patch index bd3151f..7f19765 100644 --- a/patches-6.12/111-irqchip-gic-v3-add-hackaround-for-rk3568-its.patch +++ b/patches-6.12/111-irqchip-gic-v3-add-hackaround-for-rk3568-its.patch @@ -7,100 +7,67 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its drivers/irqchip/irq-gic-v3-its.c | 70 +++++++++++++++++++++++++++++--- 1 file changed, 65 insertions(+), 5 deletions(-) +--- a/drivers/irqchip/irq-gic-common.h ++++ b/drivers/irqchip/irq-gic-common.h +@@ -34,5 +34,6 @@ extern const struct msi_parent_ops gic_v + #define RDIST_FLAGS_PROPBASE_NEEDS_FLUSHING (1 << 0) + #define RDIST_FLAGS_RD_TABLES_PREALLOCATED (1 << 1) + #define RDIST_FLAGS_FORCE_NON_SHAREABLE (1 << 2) ++#define RDIST_FLAGS_FORCE_NO_LOCAL_CACHE (1 << 3) + + #endif /* _IRQ_GIC_COMMON_H */ --- a/drivers/irqchip/irq-gic-v3-its.c +++ b/drivers/irqchip/irq-gic-v3-its.c -@@ -43,6 +43,7 @@ - #define ITS_FLAGS_CMDQ_NEEDS_FLUSHING (1ULL << 0) - #define ITS_FLAGS_WORKAROUND_CAVIUM_22375 (1ULL << 1) - #define ITS_FLAGS_WORKAROUND_CAVIUM_23144 (1ULL << 2) -+#define ITS_FLAGS_FORCE_NO_LOCAL_CACHE (1ULL << 2) - #define ITS_FLAGS_FORCE_NON_SHAREABLE (1ULL << 3) - - #define RD_LOCAL_LPI_ENABLED BIT(0) -@@ -2181,6 +2182,11 @@ static struct page *its_allocate_prop_ta +@@ -2181,6 +2181,11 @@ static struct page *its_allocate_prop_ta { struct page *prop_page; -+ if (gic_rdists->flags & ITS_FLAGS_FORCE_NO_LOCAL_CACHE) { -+ pr_err("ITS ALLOCATE PROP WORKAROUND\n"); ++ if (gic_rdists->flags & RDIST_FLAGS_FORCE_NO_LOCAL_CACHE) { ++ pr_debug("ITS ALLOCATE PROP WORKAROUND\n"); + gfp_flags |= GFP_DMA; + } + prop_page = alloc_pages(gfp_flags, get_order(LPI_PROPBASE_SZ)); if (!prop_page) return NULL; -@@ -2304,6 +2310,7 @@ static int its_setup_baser(struct its_no +@@ -2303,6 +2308,7 @@ static int its_setup_baser(struct its_no + u64 baser_phys, tmp; u32 alloc_pages, psz; struct page *page; - void *base; + gfp_t gfp_flags; + void *base; psz = baser->psz; - alloc_pages = (PAGE_ORDER_TO_SIZE(order) / psz); -@@ -2315,7 +2322,10 @@ static int its_setup_baser(struct its_no +@@ -2315,7 +2321,10 @@ static int its_setup_baser(struct its_no order = get_order(GITS_BASER_PAGES_MAX * psz); } - page = alloc_pages_node(its->numa_node, GFP_KERNEL | __GFP_ZERO, order); + gfp_flags = GFP_KERNEL | __GFP_ZERO; -+ if (gic_rdists->flags & ITS_FLAGS_FORCE_NO_LOCAL_CACHE) ++ if (gic_rdists->flags & RDIST_FLAGS_FORCE_NO_LOCAL_CACHE) + gfp_flags |= GFP_DMA; + page = alloc_pages_node(its->numa_node, gfp_flags, order); if (!page) return -ENOMEM; -@@ -2365,6 +2375,13 @@ retry_baser: - its_write_baser(its, baser, val); - tmp = baser->val; - -+ if (gic_rdists->flags & ITS_FLAGS_FORCE_NO_LOCAL_CACHE) { -+ if (tmp & GITS_BASER_SHAREABILITY_MASK) -+ tmp &= ~GITS_BASER_SHAREABILITY_MASK; -+ else -+ gic_flush_dcache_to_poc(base, PAGE_ORDER_TO_SIZE(order)); -+ } -+ - if ((val ^ tmp) & GITS_BASER_SHAREABILITY_MASK) { - /* - * Shareability didn't stick. Just use -@@ -2955,6 +2972,10 @@ static struct page *its_allocate_pending +@@ -2955,6 +2964,10 @@ static struct page *its_allocate_pending { struct page *pend_page; -+ if (gic_rdists->flags & ITS_FLAGS_FORCE_NO_LOCAL_CACHE) { ++ if (gic_rdists->flags & RDIST_FLAGS_FORCE_NO_LOCAL_CACHE) { + gfp_flags |= GFP_DMA; + } + pend_page = alloc_pages(gfp_flags | __GFP_ZERO, get_order(LPI_PENDBASE_SZ)); if (!pend_page) -@@ -3110,6 +3131,9 @@ static void its_cpu_init_lpis(void) - gicr_write_propbaser(val, rbase + GICR_PROPBASER); - tmp = gicr_read_propbaser(rbase + GICR_PROPBASER); - -+ if (gic_rdists->flags & ITS_FLAGS_FORCE_NO_LOCAL_CACHE) -+ tmp &= ~GICR_PROPBASER_SHAREABILITY_MASK; -+ - if (!rdists_support_shareable()) - tmp &= ~GICR_PROPBASER_SHAREABILITY_MASK; - -@@ -3137,6 +3161,9 @@ static void its_cpu_init_lpis(void) - gicr_write_pendbaser(val, rbase + GICR_PENDBASER); - tmp = gicr_read_pendbaser(rbase + GICR_PENDBASER); - -+ if (gic_rdists->flags & ITS_FLAGS_FORCE_NO_LOCAL_CACHE) -+ tmp &= ~GICR_PENDBASER_SHAREABILITY_MASK; -+ - if (!rdists_support_shareable()) - tmp &= ~GICR_PENDBASER_SHAREABILITY_MASK; - -@@ -3303,7 +3330,12 @@ static bool its_alloc_table_entry(struct +@@ -3303,7 +3316,12 @@ static bool its_alloc_table_entry(struct /* Allocate memory for 2nd level table */ if (!table[idx]) { - page = alloc_pages_node(its->numa_node, GFP_KERNEL | __GFP_ZERO, + gfp_t gfp_flags = GFP_KERNEL | __GFP_ZERO; -+ if (gic_rdists->flags & ITS_FLAGS_FORCE_NO_LOCAL_CACHE) { ++ if (gic_rdists->flags & RDIST_FLAGS_FORCE_NO_LOCAL_CACHE) { + gfp_flags |= GFP_DMA; + } + @@ -108,28 +75,28 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its get_order(baser->psz)); if (!page) return false; -@@ -3392,6 +3424,7 @@ static struct its_device *its_create_dev - int nr_lpis; - int nr_ites; - int sz; +@@ -3387,6 +3405,7 @@ static struct its_device *its_create_dev + unsigned long *lpi_map = NULL; + unsigned long flags; + u16 *col_map = NULL; + gfp_t gfp_flags; - - if (!its_alloc_device_table(its, dev_id)) - return NULL; -@@ -3399,7 +3432,11 @@ static struct its_device *its_create_dev + void *itt; + int lpi_base; + int nr_lpis; +@@ -3399,7 +3418,11 @@ static struct its_device *its_create_dev if (WARN_ON(!is_power_of_2(nvecs))) nvecs = roundup_pow_of_two(nvecs); - dev = kzalloc(sizeof(*dev), GFP_KERNEL); + gfp_flags = GFP_KERNEL; -+ if (gic_rdists->flags & ITS_FLAGS_FORCE_NO_LOCAL_CACHE) ++ if (gic_rdists->flags & RDIST_FLAGS_FORCE_NO_LOCAL_CACHE) + gfp_flags |= GFP_DMA; + + dev = kzalloc(sizeof(*dev), gfp_flags); /* * Even if the device wants a single LPI, the ITT must be * sized as a power of two (and you need at least one bit...). -@@ -3407,7 +3444,7 @@ static struct its_device *its_create_dev +@@ -3407,7 +3430,7 @@ static struct its_device *its_create_dev nr_ites = max(2, nvecs); sz = nr_ites * (FIELD_GET(GITS_TYPER_ITT_ENTRY_SIZE, its->typer) + 1); sz = max(sz, ITS_ITT_ALIGN) + ITS_ITT_ALIGN - 1; @@ -138,44 +105,50 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its if (alloc_lpis) { lpi_map = its_lpi_alloc(nvecs, &lpi_base, &nr_lpis); if (lpi_map) -@@ -4765,6 +4802,13 @@ static bool its_set_non_coherent(void *d +@@ -4743,6 +4766,21 @@ static bool __maybe_unused its_enable_qu return true; } -+static bool __maybe_unused its_enable_quirk_rk3568(void *data) ++static bool __maybe_unused its_enable_rk3568001(void *data) +{ -+ gic_rdists->flags |= ITS_FLAGS_FORCE_NO_LOCAL_CACHE; ++ struct its_node *its = data; ++ ++ if (!of_machine_is_compatible("rockchip,rk3566") && ++ !of_machine_is_compatible("rockchip,rk3568")) ++ return false; ++ ++ its->flags |= ITS_FLAGS_FORCE_NON_SHAREABLE; ++ gic_rdists->flags |= RDIST_FLAGS_FORCE_NON_SHAREABLE | ++ RDIST_FLAGS_FORCE_NO_LOCAL_CACHE; + + return true; +} + - static const struct gic_quirk its_quirks[] = { - #ifdef CONFIG_CAVIUM_ERRATUM_22375 - { -@@ -4819,6 +4863,14 @@ static const struct gic_quirk its_quirks - .init = its_enable_rk3588001, - }, + static bool __maybe_unused its_enable_rk3588001(void *data) + { + struct its_node *its = data; +@@ -4813,6 +4851,12 @@ static const struct gic_quirk its_quirks #endif -+#ifdef CONFIG_ROCKCHIP_ERRATUM_114514 -+ { -+ .desc = "ITS: Rockchip erratum 114514", -+ .iidr = 0x0201743b, -+ .mask = 0xffffffff, -+ .init = its_enable_quirk_rk3568, -+ }, -+#endif + #ifdef CONFIG_ROCKCHIP_ERRATUM_3588001 { - .desc = "ITS: non-coherent attribute", - .property = "dma-noncoherent", -@@ -5083,6 +5135,7 @@ static int __init its_probe_one(struct i ++ .desc = "ITS: Rockchip erratum RK3568001", ++ .iidr = 0x0201743b, ++ .mask = 0xffffffff, ++ .init = its_enable_rk3568001, ++ }, ++ { + .desc = "ITS: Rockchip erratum RK3588001", + .iidr = 0x0201743b, + .mask = 0xffffffff, +@@ -5081,6 +5125,7 @@ static int __init its_probe_one(struct i + { + u64 baser, tmp; struct page *page; ++ gfp_t gfp_flags; u32 ctlr; int err; -+ gfp_t gfp_flags; - its_enable_quirks(its); - -@@ -5116,7 +5169,9 @@ static int __init its_probe_one(struct i +@@ -5116,7 +5161,9 @@ static int __init its_probe_one(struct i } } @@ -186,13 +159,3 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its get_order(ITS_CMD_QUEUE_SZ)); if (!page) { err = -ENOMEM; -@@ -5142,6 +5197,9 @@ static int __init its_probe_one(struct i - gits_write_cbaser(baser, its->base + GITS_CBASER); - tmp = gits_read_cbaser(its->base + GITS_CBASER); - -+ if (gic_rdists->flags & ITS_FLAGS_FORCE_NO_LOCAL_CACHE) -+ tmp &= ~GITS_CBASER_SHAREABILITY_MASK; -+ - if (its->flags & ITS_FLAGS_FORCE_NON_SHAREABLE) - tmp &= ~GITS_CBASER_SHAREABILITY_MASK; - diff --git a/patches-6.6/012-rk356x-add-dwc3-xhci-usb-trb-quirk.patch b/patches-6.6/012-rk356x-add-dwc3-xhci-usb-trb-quirk.patch index e12b67c..f19e360 100644 --- a/patches-6.6/012-rk356x-add-dwc3-xhci-usb-trb-quirk.patch +++ b/patches-6.6/012-rk356x-add-dwc3-xhci-usb-trb-quirk.patch @@ -18,7 +18,7 @@ --- a/drivers/usb/dwc3/core.c +++ b/drivers/usb/dwc3/core.c -@@ -1591,6 +1591,8 @@ static void dwc3_get_properties(struct d +@@ -1614,6 +1614,8 @@ static void dwc3_get_properties(struct d "snps,dis-del-phy-power-chg-quirk"); dwc->dis_tx_ipgap_linecheck_quirk = device_property_read_bool(dev, "snps,dis-tx-ipgap-linecheck-quirk"); @@ -29,7 +29,7 @@ dwc->ulpi_ext_vbus_drv = device_property_read_bool(dev, --- a/drivers/usb/dwc3/core.h +++ b/drivers/usb/dwc3/core.h -@@ -1107,6 +1107,9 @@ struct dwc3_scratchpad_array { +@@ -1108,6 +1108,9 @@ struct dwc3_scratchpad_array { * change quirk. * @dis_tx_ipgap_linecheck_quirk: set if we disable u2mac linestate * check during HS transmit. @@ -39,7 +39,7 @@ * @resume_hs_terminations: Set if we enable quirk for fixing improper crc * generation after resume from suspend. * @ulpi_ext_vbus_drv: Set to confiure the upli chip to drives CPEN pin -@@ -1333,6 +1336,7 @@ struct dwc3 { +@@ -1335,6 +1338,7 @@ struct dwc3 { unsigned dis_u2_freeclk_exists_quirk:1; unsigned dis_del_phy_power_chg_quirk:1; unsigned dis_tx_ipgap_linecheck_quirk:1; @@ -73,7 +73,7 @@ } --- a/drivers/usb/host/xhci-ring.c +++ b/drivers/usb/host/xhci-ring.c -@@ -3637,6 +3637,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd * +@@ -3651,6 +3651,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd * bool more_trbs_coming = true; bool need_zero_pkt = false; bool first_trb = true; @@ -81,7 +81,7 @@ unsigned int num_trbs; unsigned int start_cycle, num_sgs = 0; unsigned int enqd_len, block_len, trb_buff_len, full_len; -@@ -3673,6 +3674,13 @@ int xhci_queue_bulk_tx(struct xhci_hcd * +@@ -3687,6 +3688,13 @@ int xhci_queue_bulk_tx(struct xhci_hcd * if (urb->transfer_flags & URB_ZERO_PACKET && urb_priv->num_tds > 1) need_zero_pkt = true; @@ -95,7 +95,7 @@ td = &urb_priv->td[0]; /* -@@ -3701,6 +3709,13 @@ int xhci_queue_bulk_tx(struct xhci_hcd * +@@ -3715,6 +3723,13 @@ int xhci_queue_bulk_tx(struct xhci_hcd * first_trb = false; if (start_cycle == 0) field |= TRB_CYCLE; @@ -109,7 +109,7 @@ } else field |= ring->cycle_state; -@@ -3709,6 +3724,8 @@ int xhci_queue_bulk_tx(struct xhci_hcd * +@@ -3723,6 +3738,8 @@ int xhci_queue_bulk_tx(struct xhci_hcd * */ if (enqd_len + trb_buff_len < full_len) { field |= TRB_CHAIN; @@ -120,7 +120,7 @@ &trb_buff_len, --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h -@@ -1530,7 +1530,11 @@ static inline const char *xhci_trb_type_ +@@ -1531,7 +1531,11 @@ static inline const char *xhci_trb_type_ #define TRB_SEGMENT_SIZE (TRBS_PER_SEGMENT*16) #define TRB_SEGMENT_SHIFT (ilog2(TRB_SEGMENT_SIZE)) /* TRB buffer pointers can't cross 64KB boundaries */ @@ -132,7 +132,7 @@ #define TRB_MAX_BUFF_SIZE (1 << TRB_MAX_BUFF_SHIFT) /* How much data is left before the 64KB boundary? */ #define TRB_BUFF_LEN_UP_TO_BOUNDARY(addr) (TRB_MAX_BUFF_SIZE - \ -@@ -1855,6 +1859,7 @@ struct xhci_hcd { +@@ -1856,6 +1860,7 @@ struct xhci_hcd { #define XHCI_STATE_HALTED (1 << 1) #define XHCI_STATE_REMOVING (1 << 2) unsigned long long quirks; diff --git a/patches-6.6/033-01-v6.7-drm-rockchip-vop-Add-rv1126-vop_lite-support.patch b/patches-6.6/033-01-v6.7-drm-rockchip-vop-Add-rv1126-vop_lite-support.patch index b2ce0c3..996c32e 100644 --- a/patches-6.6/033-01-v6.7-drm-rockchip-vop-Add-rv1126-vop_lite-support.patch +++ b/patches-6.6/033-01-v6.7-drm-rockchip-vop-Add-rv1126-vop_lite-support.patch @@ -17,7 +17,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20230731110012.2913742-7-jag --- a/drivers/gpu/drm/rockchip/rockchip_vop_reg.c +++ b/drivers/gpu/drm/rockchip/rockchip_vop_reg.c -@@ -1120,6 +1120,59 @@ static const struct vop_data rk3328_vop +@@ -1122,6 +1122,59 @@ static const struct vop_data rk3328_vop .max_output = { 4096, 2160 }, }; @@ -77,7 +77,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20230731110012.2913742-7-jag static const struct of_device_id vop_driver_dt_match[] = { { .compatible = "rockchip,rk3036-vop", .data = &rk3036_vop }, -@@ -1147,6 +1200,8 @@ static const struct of_device_id vop_dri +@@ -1149,6 +1202,8 @@ static const struct of_device_id vop_dri .data = &rk3228_vop }, { .compatible = "rockchip,rk3328-vop", .data = &rk3328_vop }, diff --git a/patches-6.6/033-03-v6.7-drm-rockchip-vop-Use-cleanup-helper-directly-as-destroy.patch b/patches-6.6/033-03-v6.7-drm-rockchip-vop-Use-cleanup-helper-directly-as-destroy.patch index 96cca08..32a24e1 100644 --- a/patches-6.6/033-03-v6.7-drm-rockchip-vop-Use-cleanup-helper-directly-as-destroy.patch +++ b/patches-6.6/033-03-v6.7-drm-rockchip-vop-Use-cleanup-helper-directly-as-destroy.patch @@ -39,7 +39,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20230621223311.2239547-3-jon .reset = drm_atomic_helper_plane_reset, .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state, .atomic_destroy_state = drm_atomic_helper_plane_destroy_state, -@@ -1610,11 +1605,6 @@ static const struct drm_crtc_helper_func +@@ -1614,11 +1609,6 @@ static const struct drm_crtc_helper_func .atomic_disable = vop_crtc_atomic_disable, }; @@ -51,7 +51,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20230621223311.2239547-3-jon static struct drm_crtc_state *vop_crtc_duplicate_state(struct drm_crtc *crtc) { struct rockchip_crtc_state *rockchip_state; -@@ -1722,7 +1712,7 @@ vop_crtc_verify_crc_source(struct drm_cr +@@ -1726,7 +1716,7 @@ vop_crtc_verify_crc_source(struct drm_cr static const struct drm_crtc_funcs vop_crtc_funcs = { .set_config = drm_atomic_helper_set_config, .page_flip = drm_atomic_helper_page_flip, @@ -60,7 +60,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20230621223311.2239547-3-jon .reset = vop_crtc_reset, .atomic_duplicate_state = vop_crtc_duplicate_state, .atomic_destroy_state = vop_crtc_destroy_state, -@@ -1973,7 +1963,7 @@ static void vop_destroy_crtc(struct vop +@@ -1977,7 +1967,7 @@ static void vop_destroy_crtc(struct vop */ list_for_each_entry_safe(plane, tmp, &drm_dev->mode_config.plane_list, head) diff --git a/patches-6.6/033-14-v6.7-drm-rockchip-vop-Add-NV15-NV20-and-NV30-support.patch b/patches-6.6/033-14-v6.7-drm-rockchip-vop-Add-NV15-NV20-and-NV30-support.patch index 38c9d2b..9d1d7d4 100644 --- a/patches-6.6/033-14-v6.7-drm-rockchip-vop-Add-NV15-NV20-and-NV30-support.patch +++ b/patches-6.6/033-14-v6.7-drm-rockchip-vop-Add-NV15-NV20-and-NV30-support.patch @@ -108,7 +108,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20231023173718.188102-3-jona VOP_WIN_SET(vop, win, uv_vir, DIV_ROUND_UP(fb->pitches[1], 4)); --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.h +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.h -@@ -186,6 +186,7 @@ struct vop_win_phy { +@@ -187,6 +187,7 @@ struct vop_win_phy { struct vop_reg enable; struct vop_reg gate; struct vop_reg format; @@ -145,7 +145,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20231023173718.188102-3-jona static const uint64_t format_modifiers_win_full[] = { DRM_FORMAT_MOD_LINEAR, DRM_FORMAT_MOD_INVALID, -@@ -627,11 +647,12 @@ static const struct vop_scl_regs rk3288_ +@@ -629,11 +649,12 @@ static const struct vop_scl_regs rk3288_ static const struct vop_win_phy rk3288_win01_data = { .scl = &rk3288_win_full_scl, @@ -160,7 +160,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20231023173718.188102-3-jona .rb_swap = VOP_REG(RK3288_WIN0_CTRL0, 0x1, 12), .uv_swap = VOP_REG(RK3288_WIN0_CTRL0, 0x1, 15), .act_info = VOP_REG(RK3288_WIN0_ACT_INFO, 0x1fff1fff, 0), -@@ -936,13 +957,38 @@ static const struct vop_win_yuv2yuv_data +@@ -938,13 +959,38 @@ static const struct vop_win_yuv2yuv_data }; @@ -202,7 +202,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20231023173718.188102-3-jona .rb_swap = VOP_REG(RK3288_WIN0_CTRL0, 0x1, 12), .uv_swap = VOP_REG(RK3288_WIN0_CTRL0, 0x1, 15), .x_mir_en = VOP_REG(RK3288_WIN0_CTRL0, 0x1, 21), -@@ -965,9 +1011,9 @@ static const struct vop_win_phy rk3399_w +@@ -967,9 +1013,9 @@ static const struct vop_win_phy rk3399_w * AFBC on the primary plane. */ static const struct vop_win_data rk3399_vop_win_data[] = { @@ -214,7 +214,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20231023173718.188102-3-jona .type = DRM_PLANE_TYPE_OVERLAY }, { .base = 0x00, .phy = &rk3368_win23_data, .type = DRM_PLANE_TYPE_OVERLAY }, -@@ -1099,11 +1145,11 @@ static const struct vop_intr rk3328_vop_ +@@ -1101,11 +1147,11 @@ static const struct vop_intr rk3328_vop_ }; static const struct vop_win_data rk3328_vop_win_data[] = { diff --git a/patches-6.6/033-19-v6.8-drm-rockchip-move-output-interface-related-definition-to.patch b/patches-6.6/033-19-v6.8-drm-rockchip-move-output-interface-related-definition-to.patch index 8694228..9e7238c 100644 --- a/patches-6.6/033-19-v6.8-drm-rockchip-move-output-interface-related-definition-to.patch +++ b/patches-6.6/033-19-v6.8-drm-rockchip-move-output-interface-related-definition-to.patch @@ -114,7 +114,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20231211115627.1784735-1-and struct iommu_domain; --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.h +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.h -@@ -277,18 +277,6 @@ struct vop_data { +@@ -278,18 +278,6 @@ struct vop_data { /* dst alpha ctrl define */ #define DST_FACTOR_M0(x) (((x) & 0x7) << 6) diff --git a/patches-6.6/034-20-v6.7-drm-sched-Convert-the-GPU-scheduler-to-variable-number-of.patch b/patches-6.6/034-20-v6.7-drm-sched-Convert-the-GPU-scheduler-to-variable-number-of.patch index 2be6dad..7937f79 100644 --- a/patches-6.6/034-20-v6.7-drm-sched-Convert-the-GPU-scheduler-to-variable-number-of.patch +++ b/patches-6.6/034-20-v6.7-drm-sched-Convert-the-GPU-scheduler-to-variable-number-of.patch @@ -156,7 +156,7 @@ Link: https://lore.kernel.org/r/20231023032251.164775-1-luben.tuikov@amd.com init_completion(&entity->entity_idle); -@@ -533,7 +545,7 @@ void drm_sched_entity_select_rq(struct d +@@ -535,7 +547,7 @@ void drm_sched_entity_select_rq(struct d spin_lock(&entity->rq_lock); sched = drm_sched_pick_best(entity->sched_list, entity->num_sched_list); diff --git a/patches-6.6/034-21-v6.8-drm-sched-Add-drm_sched_wqueue_-helpers.patch b/patches-6.6/034-21-v6.8-drm-sched-Add-drm_sched_wqueue_-helpers.patch index 184bd7e..d0265f5 100644 --- a/patches-6.6/034-21-v6.8-drm-sched-Add-drm_sched_wqueue_-helpers.patch +++ b/patches-6.6/034-21-v6.8-drm-sched-Add-drm_sched_wqueue_-helpers.patch @@ -92,7 +92,7 @@ Signed-off-by: Luben Tuikov --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c -@@ -4614,7 +4614,7 @@ bool amdgpu_device_has_job_running(struc +@@ -4615,7 +4615,7 @@ bool amdgpu_device_has_job_running(struc for (i = 0; i < AMDGPU_MAX_RINGS; ++i) { struct amdgpu_ring *ring = adev->rings[i]; @@ -101,7 +101,7 @@ Signed-off-by: Luben Tuikov continue; spin_lock(&ring->sched.job_list_lock); -@@ -4756,7 +4756,7 @@ int amdgpu_device_pre_asic_reset(struct +@@ -4757,7 +4757,7 @@ int amdgpu_device_pre_asic_reset(struct for (i = 0; i < AMDGPU_MAX_RINGS; ++i) { struct amdgpu_ring *ring = adev->rings[i]; @@ -110,7 +110,7 @@ Signed-off-by: Luben Tuikov continue; /* Clear job fence from fence drv to avoid force_completion -@@ -5296,7 +5296,7 @@ int amdgpu_device_gpu_recover(struct amd +@@ -5297,7 +5297,7 @@ int amdgpu_device_gpu_recover(struct amd for (i = 0; i < AMDGPU_MAX_RINGS; ++i) { struct amdgpu_ring *ring = tmp_adev->rings[i]; @@ -119,7 +119,7 @@ Signed-off-by: Luben Tuikov continue; drm_sched_stop(&ring->sched, job ? &job->base : NULL); -@@ -5371,7 +5371,7 @@ skip_hw_reset: +@@ -5372,7 +5372,7 @@ skip_hw_reset: for (i = 0; i < AMDGPU_MAX_RINGS; ++i) { struct amdgpu_ring *ring = tmp_adev->rings[i]; @@ -128,7 +128,7 @@ Signed-off-by: Luben Tuikov continue; drm_sched_start(&ring->sched, true); -@@ -5697,7 +5697,7 @@ pci_ers_result_t amdgpu_pci_error_detect +@@ -5698,7 +5698,7 @@ pci_ers_result_t amdgpu_pci_error_detect for (i = 0; i < AMDGPU_MAX_RINGS; ++i) { struct amdgpu_ring *ring = adev->rings[i]; @@ -137,7 +137,7 @@ Signed-off-by: Luben Tuikov continue; drm_sched_stop(&ring->sched, NULL); -@@ -5825,7 +5825,7 @@ void amdgpu_pci_resume(struct pci_dev *p +@@ -5826,7 +5826,7 @@ void amdgpu_pci_resume(struct pci_dev *p for (i = 0; i < AMDGPU_MAX_RINGS; ++i) { struct amdgpu_ring *ring = adev->rings[i]; diff --git a/patches-6.6/034-25-v6.8-drm-sched-Drop-suffix-from-drm_sched_wakeup_if_can_queue.patch b/patches-6.6/034-25-v6.8-drm-sched-Drop-suffix-from-drm_sched_wakeup_if_can_queue.patch index 2472275..8244617 100644 --- a/patches-6.6/034-25-v6.8-drm-sched-Drop-suffix-from-drm_sched_wakeup_if_can_queue.patch +++ b/patches-6.6/034-25-v6.8-drm-sched-Drop-suffix-from-drm_sched_wakeup_if_can_queue.patch @@ -22,7 +22,7 @@ Signed-off-by: Luben Tuikov --- a/drivers/gpu/drm/scheduler/sched_entity.c +++ b/drivers/gpu/drm/scheduler/sched_entity.c -@@ -370,7 +370,7 @@ static void drm_sched_entity_wakeup(stru +@@ -372,7 +372,7 @@ static void drm_sched_entity_wakeup(stru container_of(cb, struct drm_sched_entity, cb); drm_sched_entity_clear_dep(f, cb); @@ -31,7 +31,7 @@ Signed-off-by: Luben Tuikov } /** -@@ -602,7 +602,7 @@ void drm_sched_entity_push_job(struct dr +@@ -604,7 +604,7 @@ void drm_sched_entity_push_job(struct dr if (drm_sched_policy == DRM_SCHED_POLICY_FIFO) drm_sched_rq_update_fifo(entity, submit_ts); diff --git a/patches-6.6/034-26-v6.8-drm-sched-Qualify-drm_sched_wakeup-by.patch b/patches-6.6/034-26-v6.8-drm-sched-Qualify-drm_sched_wakeup-by.patch index 820c82f..01cb59a 100644 --- a/patches-6.6/034-26-v6.8-drm-sched-Qualify-drm_sched_wakeup-by.patch +++ b/patches-6.6/034-26-v6.8-drm-sched-Qualify-drm_sched_wakeup-by.patch @@ -20,7 +20,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20231110000123.72565-2-ltuik --- a/drivers/gpu/drm/scheduler/sched_entity.c +++ b/drivers/gpu/drm/scheduler/sched_entity.c -@@ -370,7 +370,7 @@ static void drm_sched_entity_wakeup(stru +@@ -372,7 +372,7 @@ static void drm_sched_entity_wakeup(stru container_of(cb, struct drm_sched_entity, cb); drm_sched_entity_clear_dep(f, cb); @@ -29,7 +29,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20231110000123.72565-2-ltuik } /** -@@ -602,7 +602,7 @@ void drm_sched_entity_push_job(struct dr +@@ -604,7 +604,7 @@ void drm_sched_entity_push_job(struct dr if (drm_sched_policy == DRM_SCHED_POLICY_FIFO) drm_sched_rq_update_fifo(entity, submit_ts); diff --git a/patches-6.6/110-arm64-rk3568-update-gicv3-its-and-pci-msi-map.patch b/patches-6.6/110-arm64-rk3568-update-gicv3-its-and-pci-msi-map.patch index b298e3c..f3f745f 100644 --- a/patches-6.6/110-arm64-rk3568-update-gicv3-its-and-pci-msi-map.patch +++ b/patches-6.6/110-arm64-rk3568-update-gicv3-its-and-pci-msi-map.patch @@ -1,6 +1,6 @@ --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig -@@ -1285,6 +1285,14 @@ config SOCIONEXT_SYNQUACER_PREITS +@@ -1286,6 +1286,14 @@ config SOCIONEXT_SYNQUACER_PREITS If unsure, say Y. diff --git a/patches-6.6/111-irqchip-gic-v3-add-hackaround-for-rk3568-its.patch b/patches-6.6/111-irqchip-gic-v3-add-hackaround-for-rk3568-its.patch index dc62de4..b2e2b7d 100644 --- a/patches-6.6/111-irqchip-gic-v3-add-hackaround-for-rk3568-its.patch +++ b/patches-6.6/111-irqchip-gic-v3-add-hackaround-for-rk3568-its.patch @@ -7,100 +7,67 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its drivers/irqchip/irq-gic-v3-its.c | 70 +++++++++++++++++++++++++++++--- 1 file changed, 65 insertions(+), 5 deletions(-) +--- a/drivers/irqchip/irq-gic-common.h ++++ b/drivers/irqchip/irq-gic-common.h +@@ -32,5 +32,6 @@ void gic_enable_of_quirks(const struct d + #define RDIST_FLAGS_PROPBASE_NEEDS_FLUSHING (1 << 0) + #define RDIST_FLAGS_RD_TABLES_PREALLOCATED (1 << 1) + #define RDIST_FLAGS_FORCE_NON_SHAREABLE (1 << 2) ++#define RDIST_FLAGS_FORCE_NO_LOCAL_CACHE (1 << 3) + + #endif /* _IRQ_GIC_COMMON_H */ --- a/drivers/irqchip/irq-gic-v3-its.c +++ b/drivers/irqchip/irq-gic-v3-its.c -@@ -42,6 +42,7 @@ - #define ITS_FLAGS_CMDQ_NEEDS_FLUSHING (1ULL << 0) - #define ITS_FLAGS_WORKAROUND_CAVIUM_22375 (1ULL << 1) - #define ITS_FLAGS_WORKAROUND_CAVIUM_23144 (1ULL << 2) -+#define ITS_FLAGS_FORCE_NO_LOCAL_CACHE (1ULL << 2) - #define ITS_FLAGS_FORCE_NON_SHAREABLE (1ULL << 3) - - #define RD_LOCAL_LPI_ENABLED BIT(0) -@@ -2186,6 +2187,11 @@ static struct page *its_allocate_prop_ta +@@ -2186,6 +2186,11 @@ static struct page *its_allocate_prop_ta { struct page *prop_page; -+ if (gic_rdists->flags & ITS_FLAGS_FORCE_NO_LOCAL_CACHE) { -+ pr_err("ITS ALLOCATE PROP WORKAROUND\n"); ++ if (gic_rdists->flags & RDIST_FLAGS_FORCE_NO_LOCAL_CACHE) { ++ pr_debug("ITS ALLOCATE PROP WORKAROUND\n"); + gfp_flags |= GFP_DMA; + } + prop_page = alloc_pages(gfp_flags, get_order(LPI_PROPBASE_SZ)); if (!prop_page) return NULL; -@@ -2309,6 +2315,7 @@ static int its_setup_baser(struct its_no +@@ -2308,6 +2313,7 @@ static int its_setup_baser(struct its_no + u64 baser_phys, tmp; u32 alloc_pages, psz; struct page *page; - void *base; + gfp_t gfp_flags; + void *base; psz = baser->psz; - alloc_pages = (PAGE_ORDER_TO_SIZE(order) / psz); -@@ -2320,7 +2327,10 @@ static int its_setup_baser(struct its_no +@@ -2320,7 +2326,10 @@ static int its_setup_baser(struct its_no order = get_order(GITS_BASER_PAGES_MAX * psz); } - page = alloc_pages_node(its->numa_node, GFP_KERNEL | __GFP_ZERO, order); + gfp_flags = GFP_KERNEL | __GFP_ZERO; -+ if (gic_rdists->flags & ITS_FLAGS_FORCE_NO_LOCAL_CACHE) ++ if (gic_rdists->flags & RDIST_FLAGS_FORCE_NO_LOCAL_CACHE) + gfp_flags |= GFP_DMA; + page = alloc_pages_node(its->numa_node, gfp_flags, order); if (!page) return -ENOMEM; -@@ -2370,6 +2380,13 @@ retry_baser: - its_write_baser(its, baser, val); - tmp = baser->val; - -+ if (gic_rdists->flags & ITS_FLAGS_FORCE_NO_LOCAL_CACHE) { -+ if (tmp & GITS_BASER_SHAREABILITY_MASK) -+ tmp &= ~GITS_BASER_SHAREABILITY_MASK; -+ else -+ gic_flush_dcache_to_poc(base, PAGE_ORDER_TO_SIZE(order)); -+ } -+ - if ((val ^ tmp) & GITS_BASER_SHAREABILITY_MASK) { - /* - * Shareability didn't stick. Just use -@@ -2960,6 +2977,10 @@ static struct page *its_allocate_pending +@@ -2960,6 +2969,10 @@ static struct page *its_allocate_pending { struct page *pend_page; -+ if (gic_rdists->flags & ITS_FLAGS_FORCE_NO_LOCAL_CACHE) { ++ if (gic_rdists->flags & RDIST_FLAGS_FORCE_NO_LOCAL_CACHE) { + gfp_flags |= GFP_DMA; + } + pend_page = alloc_pages(gfp_flags | __GFP_ZERO, get_order(LPI_PENDBASE_SZ)); if (!pend_page) -@@ -3115,6 +3136,9 @@ static void its_cpu_init_lpis(void) - gicr_write_propbaser(val, rbase + GICR_PROPBASER); - tmp = gicr_read_propbaser(rbase + GICR_PROPBASER); - -+ if (gic_rdists->flags & ITS_FLAGS_FORCE_NO_LOCAL_CACHE) -+ tmp &= ~GICR_PROPBASER_SHAREABILITY_MASK; -+ - if (!rdists_support_shareable()) - tmp &= ~GICR_PROPBASER_SHAREABILITY_MASK; - -@@ -3142,6 +3166,9 @@ static void its_cpu_init_lpis(void) - gicr_write_pendbaser(val, rbase + GICR_PENDBASER); - tmp = gicr_read_pendbaser(rbase + GICR_PENDBASER); - -+ if (gic_rdists->flags & ITS_FLAGS_FORCE_NO_LOCAL_CACHE) -+ tmp &= ~GICR_PENDBASER_SHAREABILITY_MASK; -+ - if (!rdists_support_shareable()) - tmp &= ~GICR_PENDBASER_SHAREABILITY_MASK; - -@@ -3308,7 +3335,12 @@ static bool its_alloc_table_entry(struct +@@ -3308,7 +3321,12 @@ static bool its_alloc_table_entry(struct /* Allocate memory for 2nd level table */ if (!table[idx]) { - page = alloc_pages_node(its->numa_node, GFP_KERNEL | __GFP_ZERO, + gfp_t gfp_flags = GFP_KERNEL | __GFP_ZERO; -+ if (gic_rdists->flags & ITS_FLAGS_FORCE_NO_LOCAL_CACHE) { ++ if (gic_rdists->flags & RDIST_FLAGS_FORCE_NO_LOCAL_CACHE) { + gfp_flags |= GFP_DMA; + } + @@ -108,28 +75,28 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its get_order(baser->psz)); if (!page) return false; -@@ -3397,6 +3429,7 @@ static struct its_device *its_create_dev - int nr_lpis; - int nr_ites; - int sz; +@@ -3392,6 +3410,7 @@ static struct its_device *its_create_dev + unsigned long *lpi_map = NULL; + unsigned long flags; + u16 *col_map = NULL; + gfp_t gfp_flags; - - if (!its_alloc_device_table(its, dev_id)) - return NULL; -@@ -3404,7 +3437,11 @@ static struct its_device *its_create_dev + void *itt; + int lpi_base; + int nr_lpis; +@@ -3404,7 +3423,11 @@ static struct its_device *its_create_dev if (WARN_ON(!is_power_of_2(nvecs))) nvecs = roundup_pow_of_two(nvecs); - dev = kzalloc(sizeof(*dev), GFP_KERNEL); + gfp_flags = GFP_KERNEL; -+ if (gic_rdists->flags & ITS_FLAGS_FORCE_NO_LOCAL_CACHE) ++ if (gic_rdists->flags & RDIST_FLAGS_FORCE_NO_LOCAL_CACHE) + gfp_flags |= GFP_DMA; + + dev = kzalloc(sizeof(*dev), gfp_flags); /* * Even if the device wants a single LPI, the ITT must be * sized as a power of two (and you need at least one bit...). -@@ -3412,7 +3449,7 @@ static struct its_device *its_create_dev +@@ -3412,7 +3435,7 @@ static struct its_device *its_create_dev nr_ites = max(2, nvecs); sz = nr_ites * (FIELD_GET(GITS_TYPER_ITT_ENTRY_SIZE, its->typer) + 1); sz = max(sz, ITS_ITT_ALIGN) + ITS_ITT_ALIGN - 1; @@ -138,44 +105,50 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its if (alloc_lpis) { lpi_map = its_lpi_alloc(nvecs, &lpi_base, &nr_lpis); if (lpi_map) -@@ -4752,6 +4789,13 @@ static bool its_set_non_coherent(void *d +@@ -4730,6 +4753,21 @@ static bool __maybe_unused its_enable_qu return true; } -+static bool __maybe_unused its_enable_quirk_rk3568(void *data) ++static bool __maybe_unused its_enable_rk3568001(void *data) +{ -+ gic_rdists->flags |= ITS_FLAGS_FORCE_NO_LOCAL_CACHE; ++ struct its_node *its = data; ++ ++ if (!of_machine_is_compatible("rockchip,rk3566") && ++ !of_machine_is_compatible("rockchip,rk3568")) ++ return false; ++ ++ its->flags |= ITS_FLAGS_FORCE_NON_SHAREABLE; ++ gic_rdists->flags |= RDIST_FLAGS_FORCE_NON_SHAREABLE | ++ RDIST_FLAGS_FORCE_NO_LOCAL_CACHE; + + return true; +} + - static const struct gic_quirk its_quirks[] = { - #ifdef CONFIG_CAVIUM_ERRATUM_22375 - { -@@ -4806,6 +4850,14 @@ static const struct gic_quirk its_quirks - .init = its_enable_rk3588001, - }, + static bool __maybe_unused its_enable_rk3588001(void *data) + { + struct its_node *its = data; +@@ -4800,6 +4838,12 @@ static const struct gic_quirk its_quirks #endif -+#ifdef CONFIG_ROCKCHIP_ERRATUM_114514 -+ { -+ .desc = "ITS: Rockchip erratum 114514", -+ .iidr = 0x0201743b, -+ .mask = 0xffffffff, -+ .init = its_enable_quirk_rk3568, -+ }, -+#endif + #ifdef CONFIG_ROCKCHIP_ERRATUM_3588001 { - .desc = "ITS: non-coherent attribute", - .property = "dma-noncoherent", -@@ -5067,6 +5119,7 @@ static int __init its_probe_one(struct i ++ .desc = "ITS: Rockchip erratum RK3568001", ++ .iidr = 0x0201743b, ++ .mask = 0xffffffff, ++ .init = its_enable_rk3568001, ++ }, ++ { + .desc = "ITS: Rockchip erratum RK3588001", + .iidr = 0x0201743b, + .mask = 0xffffffff, +@@ -5065,6 +5109,7 @@ static int __init its_probe_one(struct i + { + u64 baser, tmp; struct page *page; ++ gfp_t gfp_flags; u32 ctlr; int err; -+ gfp_t gfp_flags; - its_enable_quirks(its); - -@@ -5100,7 +5153,9 @@ static int __init its_probe_one(struct i +@@ -5100,7 +5145,9 @@ static int __init its_probe_one(struct i } } @@ -186,13 +159,3 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its get_order(ITS_CMD_QUEUE_SZ)); if (!page) { err = -ENOMEM; -@@ -5126,6 +5181,9 @@ static int __init its_probe_one(struct i - gits_write_cbaser(baser, its->base + GITS_CBASER); - tmp = gits_read_cbaser(its->base + GITS_CBASER); - -+ if (gic_rdists->flags & ITS_FLAGS_FORCE_NO_LOCAL_CACHE) -+ tmp &= ~GITS_CBASER_SHAREABILITY_MASK; -+ - if (its->flags & ITS_FLAGS_FORCE_NON_SHAREABLE) - tmp &= ~GITS_CBASER_SHAREABILITY_MASK; -