From 745f35bc0bc67f5516389c4553531a630e1d4244 Mon Sep 17 00:00:00 2001 From: Jan Palus Date: Mon, 3 May 2021 11:09:00 +0200 Subject: [PATCH] updated arm64 config and patches for 5.12 --- kernel-arm64.config | 14 +++++++++- kernel-pinebook-pro.patch | 22 ++++++++-------- kernel-rk3399-afbc-ytr.patch | 50 ------------------------------------ kernel.spec | 2 -- 4 files changed, 24 insertions(+), 64 deletions(-) delete mode 100644 kernel-rk3399-afbc-ytr.patch diff --git a/kernel-arm64.config b/kernel-arm64.config index d0e7a55b..a1053ec9 100644 --- a/kernel-arm64.config +++ b/kernel-arm64.config @@ -31,6 +31,7 @@ QCOM_FALKOR_ERRATUM_1003 arm64=y QCOM_FALKOR_ERRATUM_1009 arm64=y QCOM_QDF2400_ERRATUM_0065 arm64=y QCOM_FALKOR_ERRATUM_E1041 arm64=y +NVIDIA_CARMEL_CNP_ERRATUM arm64=y SOCIONEXT_SYNQUACER_PREITS arm64=y ARM64_4K_PAGES arm64=y ARM64_16K_PAGES arm64=n @@ -97,6 +98,7 @@ DMI arm64=y #- ARCH_ACTIONS arm64=n ARCH_AGILEX arm64=n +ARCH_N5X arm64=n ARCH_SUNXI arm64=n ARCH_ALPINE arm64=n ARCH_BCM2835 arm64=n @@ -132,7 +134,6 @@ ARCH_UNIPHIER arm64=n ARCH_VEXPRESS arm64=n ARCH_VISCONTI arm64=n ARCH_XGENE arm64=n -ARCH_ZX arm64=n ARCH_ZYNQMP arm64=n #- @@ -232,6 +233,7 @@ AK8974 arm64=m ALTERA_PR_IP_CORE_PLAT arm64=m AL_FIC arm64=n AMBA_PL08X arm64=n +ARCH_ZX arm64=n ARCX_ANYBUS_CONTROLLER arm64=m ARM64_ERRATUM_858921 arm64=y ARM64_RANDOMIZE_TEXT_OFFSET arm64=n @@ -294,6 +296,7 @@ COMEDI_AMPLC_PC263_ISA arm64=m COMEDI_DAS08_ISA arm64=m COMEDI_ISA_DRIVERS arm64=y COMMON_CLK arm64=y +COMMON_CLK_AXI_CLKGEN arm64=m COMMON_CLK_CDCE925 arm64=m COMMON_CLK_FIXED_MMIO arm64=n COMMON_CLK_MAX77686 arm64=m @@ -360,6 +363,7 @@ DRM_PANEL_ARM_VERSATILE arm64=m DRM_PANEL_ASUS_Z00T_TM5P5_NT35596 arm64=m DRM_PANEL_BOE_HIMAX8279D arm64=m DRM_PANEL_BOE_TV101WUM_NL6 arm64=m +DRM_PANEL_DSI_CM arm64=m DRM_PANEL_ELIDA_KD35T133 arm64=m DRM_PANEL_FEIXIN_K101_IM2BA02 arm64=m DRM_PANEL_FEIYANG_FY07024DI26A30D arm64=m @@ -367,6 +371,7 @@ DRM_PANEL_ILITEK_IL9322 arm64=m DRM_PANEL_ILITEK_ILI9881C arm64=m DRM_PANEL_INNOLUX_P079ZCA arm64=m DRM_PANEL_JDI_LT070ME05000 arm64=m +DRM_PANEL_KHADAS_TS050 arm64=m DRM_PANEL_KINGDISPLAY_KD097D04 arm64=m DRM_PANEL_LEADTEK_LTK050H3146W arm64=m DRM_PANEL_LEADTEK_LTK500HD1829 arm64=m @@ -510,6 +515,8 @@ I2C_ARB_GPIO_CHALLENGE arm64=m I2C_CADENCE arm64=m I2C_DEMUX_PINCTRL arm64=m I2C_FSI arm64=m +I2C_HID_OF arm64=m +I2C_HID_OF_GOODIX arm64=m I2C_MLXBF arm64=m I2C_MUX_GPMUX arm64=m I2C_NOMADIK arm64=m @@ -545,6 +552,7 @@ LEDS_AN30259A arm64=m LEDS_AW2013 arm64=m LEDS_BCM6328 arm64=m LEDS_BCM6358 arm64=m +LEDS_BLINK_LGM arm64=m LEDS_CPCAP arm64=m LEDS_CR0014114 arm64=m LEDS_EL15203000 arm64=m @@ -560,6 +568,7 @@ LEDS_SPI_BYTE arm64=m LEDS_SYSCON arm64=y LIBNVDIMM arm64=m LITEX_SOC_CONTROLLER arm64=m +LITEX_SUBREG_SIZE arm64=4 MAILBOX_TEST arm64=m MAX5821 arm64=m MDIO_BUS_MUX_GPIO arm64=m @@ -643,6 +652,7 @@ PCIE_CADENCE_PLAT_HOST arm64=n PCIE_HISI_ERR arm64=n PCIE_KIRIN arm64=n PCIE_LAYERSCAPE_GEN4 arm64=n +PCIE_MICROCHIP_HOST arm64=n PCIE_ROCKCHIP_EP arm64=n PCIE_ROCKCHIP_HOST arm64=m PCIE_XILINX arm64=n @@ -766,6 +776,7 @@ RTC_DRV_RK808 arm64=m RTC_DRV_SNVS arm64=m RTC_DRV_ZYNQMP arm64=m SCSI_HISI_SAS arm64=m +SCSI_HISI_SAS_DEBUGFS_DEFAULT_ENABLE arm64=n SCSI_HISI_SAS_PCI arm64=m SD_ADC_MODULATOR arm64=m SECCOMP arm64=y @@ -847,6 +858,7 @@ VFIO_PLATFORM_AMDXGBE_RESET arm64=m VFIO_PLATFORM_CALXEDAXGMAC_RESET arm64=m VIDEO_HANTRO arm64=m VIDEO_HANTRO_ROCKCHIP arm64=y +VIDEO_IMX334 arm64=m VIDEO_MT9V011 arm64=m VIDEO_MUX arm64=m VIDEO_OV5640 arm64=m diff --git a/kernel-pinebook-pro.patch b/kernel-pinebook-pro.patch index 8bfd20c6..deda44e4 100644 --- a/kernel-pinebook-pro.patch +++ b/kernel-pinebook-pro.patch @@ -239,7 +239,7 @@ index 91da90cfb11d..7f2898a0e1e3 100644 EXPORT_SYMBOL_GPL(led_trigger_event); @@ -402,10 +472,13 @@ static void led_trigger_blink_setup(struct led_trigger *trig, - read_lock(&trig->leddev_list_lock); + read_lock_irqsave(&trig->leddev_list_lock, flags); list_for_each_entry(led_cdev, &trig->led_cdevs, trig_list) { - if (oneshot) + bool trigger_inverted = @@ -253,7 +253,7 @@ index 91da90cfb11d..7f2898a0e1e3 100644 + } else led_blink_set(led_cdev, delay_on, delay_off); } - read_unlock(&trig->leddev_list_lock); + read_unlock_irqrestore(&trig->leddev_list_lock, flags); diff --git a/include/linux/leds.h b/include/linux/leds.h index 6a8d6409c993..9cbf42cf08e8 100644 --- a/include/linux/leds.h @@ -491,8 +491,8 @@ index a6fae1f86505..2908771f4d4e 100644 #include #include @@ -369,6 +370,11 @@ struct tcpm_port { - /* Sink caps have been queried */ - bool sink_cap_done; + enum tcpm_ams next_ams; + bool in_ams; +#ifdef CONFIG_EXTCON + struct extcon_dev *extcon; @@ -535,9 +535,9 @@ index a6fae1f86505..2908771f4d4e 100644 +#endif +} + - static int tcpm_pd_transmit(struct tcpm_port *port, - enum tcpm_transmit_type type, - const struct pd_message *msg) + static void tcpm_set_cc(struct tcpm_port *port, enum typec_cc_status cc) + { + tcpm_log(port, "cc:=%d", cc); @@ -881,6 +916,8 @@ static int tcpm_set_roles(struct tcpm_port *port, bool attached, typec_set_data_role(port->typec_port, data); typec_set_pwr_role(port->typec_port, role); @@ -571,13 +571,13 @@ index a6fae1f86505..2908771f4d4e 100644 if (modep->svid_index < modep->nsvids) { u16 svid = modep->svids[modep->svid_index]; + tcpm_log(port, "More modes available, sending discover"); - response[0] = VDO(svid, 1, CMD_DISCOVER_MODES); + response[0] = VDO(svid, 1, svdm_version, CMD_DISCOVER_MODES); rlen = 1; } else { + tcpm_log(port, "Got all patner modes, registering"); tcpm_register_partner_altmodes(port); + port->vdm_sm_running = false; } - break; @@ -2836,6 +2878,7 @@ static int tcpm_src_attach(struct tcpm_port *port) static void tcpm_typec_disconnect(struct tcpm_port *port) { @@ -986,8 +986,8 @@ index 667eeeb019de..decb212e2dca 100644 +&cluster1_opp { + opp08 { -+ opp-hz = /bits/ 64 <2016000000>; -+ opp-microvolt = <1250000>; ++ opp-hz = /bits/ 64 <2000000000>; ++ opp-microvolt = <1300000>; + }; +}; + diff --git a/kernel-rk3399-afbc-ytr.patch b/kernel-rk3399-afbc-ytr.patch deleted file mode 100644 index 101eedfc..00000000 --- a/kernel-rk3399-afbc-ytr.patch +++ /dev/null @@ -1,50 +0,0 @@ -The AFBC decoder used in the Rockchip VOP assumes the use of the -YUV-like colourspace transform (YTR). YTR is lossless for RGB(A) -buffers, which covers the RGBA8 and RGB565 formats supported in -vop_convert_afbc_format. Use of YTR is signaled with the -AFBC_FORMAT_MOD_YTR modifier, which prior to this commit was missing. As -such, a producer would have to generate buffers that do not use YTR, -which the VOP would erroneously decode as YTR, leading to severe visual -corruption. - -The upstream AFBC support was developed against a captured frame, which -failed to exercise modifier support. Prior to bring-up of AFBC in Mesa -(in the Panfrost driver), no open userspace respected modifier -reporting. As such, this change is not expected to affect broken -userspaces. - -Tested on RK3399 with Panfrost and Weston. - -Signed-off-by: Alyssa Rosenzweig ---- - drivers/gpu/drm/rockchip/rockchip_drm_vop.h | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.h b/drivers/gpu/drm/rockchip/rockchip_drm_vop.h -index 4a2099cb5..857d97cdc 100644 ---- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.h -+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.h -@@ -17,9 +17,20 @@ - - #define NUM_YUV2YUV_COEFFICIENTS 12 - -+/* AFBC supports a number of configurable modes. Relevant to us is block size -+ * (16x16 or 32x8), storage modifiers (SPARSE, SPLIT), and the YUV-like -+ * colourspace transform (YTR). 16x16 SPARSE mode is always used. SPLIT mode -+ * could be enabled via the hreg_block_split register, but is not currently -+ * handled. The colourspace transform is implicitly always assumed by the -+ * decoder, so consumers must use this transform as well. -+ * -+ * Failure to match modifiers will cause errors displaying AFBC buffers -+ * produced by conformant AFBC producers, including Mesa. -+ */ - #define ROCKCHIP_AFBC_MOD \ - DRM_FORMAT_MOD_ARM_AFBC( \ - AFBC_FORMAT_MOD_BLOCK_SIZE_16x16 | AFBC_FORMAT_MOD_SPARSE \ -+ | AFBC_FORMAT_MOD_YTR \ - ) - - enum vop_data_format { --- -2.28.0 - diff --git a/kernel.spec b/kernel.spec index 1458c9d8..dccb6f62 100644 --- a/kernel.spec +++ b/kernel.spec @@ -219,7 +219,6 @@ Patch7000: kernel-inittmpfs.patch # ARM only Patch8000: rpi-wm8804.patch Patch8001: kernel-pinebook-pro.patch -Patch8002: kernel-rk3399-afbc-ytr.patch # Do not remove this line, please. It is easier for me to uncomment two lines, then patch # kernel.spec every time. @@ -688,7 +687,6 @@ cd linux-%{basever} %ifarch %{arm} aarch64 %patch8000 -p1 %patch8001 -p1 -%patch8002 -p1 %endif %if %{with rt} -- 2.44.0