diff options
Diffstat (limited to 'target/linux/layerscape/patches-5.4/805-display-0001-drm-arm-mali-dp-Add-display-QoS-interface-configurat.patch')
-rw-r--r-- | target/linux/layerscape/patches-5.4/805-display-0001-drm-arm-mali-dp-Add-display-QoS-interface-configurat.patch | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/target/linux/layerscape/patches-5.4/805-display-0001-drm-arm-mali-dp-Add-display-QoS-interface-configurat.patch b/target/linux/layerscape/patches-5.4/805-display-0001-drm-arm-mali-dp-Add-display-QoS-interface-configurat.patch deleted file mode 100644 index c27e34fc0b..0000000000 --- a/target/linux/layerscape/patches-5.4/805-display-0001-drm-arm-mali-dp-Add-display-QoS-interface-configurat.patch +++ /dev/null @@ -1,85 +0,0 @@ -From dae2475df84cd77c6f7245984869897c0eb0f84e Mon Sep 17 00:00:00 2001 -From: Wen He <wen.he_1@nxp.com> -Date: Tue, 10 Sep 2019 15:01:00 +0800 -Subject: [PATCH] drm/arm/mali-dp: Add display QoS interface configuration for - Mali DP500 - -Configure the display Quality of service (QoS) levels priority if the -optional property node "arm,malidp-aqros-value" is defined in DTS file. - -QoS signaling using AQROS and AWQOS AXI interface signals, the AQROS is -driven from the "RQOS" register, so needed to program the RQOS register -to avoid the high resolutions flicker issue on the LS1028A platform. - -Signed-off-by: Wen He <wen.he_1@nxp.com> ---- - drivers/gpu/drm/arm/malidp_drv.c | 6 ++++++ - drivers/gpu/drm/arm/malidp_hw.c | 9 +++++++++ - drivers/gpu/drm/arm/malidp_hw.h | 3 +++ - drivers/gpu/drm/arm/malidp_regs.h | 10 ++++++++++ - 4 files changed, 28 insertions(+) - ---- a/drivers/gpu/drm/arm/malidp_drv.c -+++ b/drivers/gpu/drm/arm/malidp_drv.c -@@ -817,6 +817,12 @@ static int malidp_bind(struct device *de - - malidp->core_id = version; - -+ ret = of_property_read_u32(dev->of_node, -+ "arm,malidp-arqos-value", -+ &hwdev->arqos_value); -+ if (ret) -+ hwdev->arqos_value = 0x0; -+ - /* set the number of lines used for output of RGB data */ - ret = of_property_read_u8_array(dev->of_node, - "arm,malidp-output-port-lines", ---- a/drivers/gpu/drm/arm/malidp_hw.c -+++ b/drivers/gpu/drm/arm/malidp_hw.c -@@ -379,6 +379,15 @@ static void malidp500_modeset(struct mal - malidp_hw_setbits(hwdev, MALIDP_DISP_FUNC_ILACED, MALIDP_DE_DISPLAY_FUNC); - else - malidp_hw_clearbits(hwdev, MALIDP_DISP_FUNC_ILACED, MALIDP_DE_DISPLAY_FUNC); -+ -+ /* -+ * Program the RQoS register to avoid high resolutions flicker -+ * issue on the LS1028A. -+ */ -+ if (hwdev->arqos_value) { -+ val = hwdev->arqos_value; -+ malidp_hw_setbits(hwdev, val, MALIDP500_RQOS_QUALITY); -+ } - } - - int malidp_format_get_bpp(u32 fmt) ---- a/drivers/gpu/drm/arm/malidp_hw.h -+++ b/drivers/gpu/drm/arm/malidp_hw.h -@@ -251,6 +251,9 @@ struct malidp_hw_device { - - /* size of memory used for rotating layers, up to two banks available */ - u32 rotation_memory[2]; -+ -+ /* priority level of RQOS register used for driven the ARQOS signal */ -+ u32 arqos_value; - }; - - static inline u32 malidp_hw_read(struct malidp_hw_device *hwdev, u32 reg) ---- a/drivers/gpu/drm/arm/malidp_regs.h -+++ b/drivers/gpu/drm/arm/malidp_regs.h -@@ -210,6 +210,16 @@ - #define MALIDP500_CONFIG_VALID 0x00f00 - #define MALIDP500_CONFIG_ID 0x00fd4 - -+/* -+ * The quality of service (QoS) register on the DP500. RQOS register values -+ * are driven by the ARQOS signal, using AXI transacations, dependent on the -+ * FIFO input level. -+ * The RQOS register can also set QoS levels for: -+ * - RED_ARQOS @ A 4-bit signal value for close to underflow conditions -+ * - GREEN_ARQOS @ A 4-bit signal value for normal conditions -+ */ -+#define MALIDP500_RQOS_QUALITY 0x00500 -+ - /* register offsets and bits specific to DP550/DP650 */ - #define MALIDP550_ADDR_SPACE_SIZE 0x10000 - #define MALIDP550_DE_CONTROL 0x00010 |