sumo migration: update GPU driver and apps to v6.2.4.p2.3

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit is contained in:
Arturo Buzarra 2018-12-19 10:31:38 +01:00
parent 303106cce1
commit 5093060199
14 changed files with 138 additions and 85 deletions

View File

@ -1,5 +1,5 @@
From: Javier Viguera <javier.viguera@digi.com>
Date: Tue, 10 Nov 2015 17:45:37 +0100
From: Arturo Buzarra <arturo.buzarra@digi.com>
Date: Thu, 10 Jan 2019 17:57:54 +0000
Subject: [PATCH] mxc: gpu: use recommended values for minimum GPU frequency
divisor
@ -12,36 +12,37 @@ Adapted for the external Vivante GPU driver from commit a790ad3 in linux
git repository.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
---
.../src/hal/os/linux/kernel/gc_hal_kernel_driver.c | 14 +++++++++++++-
.../src/platform/freescale/gc_hal_kernel_platform_imx6.c | 2 +-
2 files changed, 13 insertions(+), 2 deletions(-)
.../src/hal/os/linux/kernel/gc_hal_kernel_driver.c | 14 +++++++++++++-
.../src/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx.c | 2 +-
2 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/src/hal/os/linux/kernel/gc_hal_kernel_driver.c b/src/hal/os/linux/kernel/gc_hal_kernel_driver.c
index 816aae0..15a8753 100644
index 615939827730..7c9939c65836 100644
--- a/src/hal/os/linux/kernel/gc_hal_kernel_driver.c
+++ b/src/hal/os/linux/kernel/gc_hal_kernel_driver.c
@@ -54,6 +54,7 @@
#include <linux/device.h>
+#include <linux/of.h>
#include <linux/slab.h>
#include <linux/miscdevice.h>
@@ -199,7 +200,7 @@ static uint type = 0;
#include <linux/uaccess.h>
@@ -214,7 +215,7 @@ static uint type = 0;
module_param(type, uint, 0664);
MODULE_PARM_DESC(type, "0 - Char Driver (Default), 1 - Misc Driver");
-static int gpu3DMinClock = 1;
+static int gpu3DMinClock = 0;
static int contiguousRequested = 0;
@@ -959,6 +960,17 @@ static int __devinit gpu_probe(struct platform_device *pdev)
@@ -986,6 +987,17 @@ static int gpu_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
_UpdateModuleParam(&moduleParam);
}
+ /* If undefined, set Freescale recommended value. Else use the min freq. */
+ if (gpu3DMinClock == 0) {
+ if (of_machine_is_compatible("fsl,imx6dl"))
@ -54,18 +55,18 @@ index 816aae0..15a8753 100644
+ }
+
ret = drv_init();
if (!ret)
diff --git a/src/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6.c b/src/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6.c
index 89706ec..65a54e2 100644
--- a/src/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6.c
+++ b/src/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6.c
@@ -123,7 +123,7 @@ extern int unregister_thermal_notifier(struct notifier_block *nb);
#define gcdFSL_CONTIGUOUS_SIZE (4 << 20)
diff --git a/src/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx.c b/src/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx.c
index 62624d69b4a4..4d1b1961838d 100644
--- a/src/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx.c
+++ b/src/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx.c
@@ -124,7 +124,7 @@ extern int unregister_thermal_notifier(struct notifier_block *nb);
# define gcdFSL_CONTIGUOUS_SIZE (4 << 20)
#endif
-static int initgpu3DMinClock = 1;
+static int initgpu3DMinClock = 0;
module_param(initgpu3DMinClock, int, 0644);
struct platform_device *pdevice;

View File

@ -1,20 +1,19 @@
# Copyright (C) 2017-2018 Digi International
# Copyright (C) 2015-2016 Freescale Semiconductor
# Copyright 2017-2018 NXP
require recipes-kernel/linux/linux-dey-src.inc
SUMMARY = "Kernel loadable module for Vivante GPU"
DESCRIPTION = "Builds the Vivante GPU kernel driver as a loadable kernel module, \
allowing flexibility to use a newer graphics release with an older kernel."
inherit module
require recipes-kernel/linux/linux-dey-src.inc
PV .= "+git${SRCPV}"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
SRC_URI .= \
";subpath=drivers/mxc/gpu-viv;destsuffix=git/src \
file://Add-makefile.patch \
"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
inherit module
EXTRA_OEMAKE += "CONFIG_MXC_GPU_VIV=m"

View File

@ -2,9 +2,9 @@
# Copyright 2017-2018 NXP
# Released under the MIT license (see COPYING.MIT for the terms)
DESCRIPTION = "GPU G2D library and apps for imx6 and imx7ulp"
DESCRIPTION = "GPU G2D library and apps for i.MX with 2D GPU and no DPU"
LICENSE = "Proprietary"
LIC_FILES_CHKSUM = "file://COPYING;md5=ab61cab9599935bfe9f700405ef00f28"
LIC_FILES_CHKSUM = "file://COPYING;md5=6dfb32a488e5fd6bae52fbf6c7ebb086"
DEPENDS += "libgal-imx"
PROVIDES += "virtual/libg2d"
@ -15,9 +15,6 @@ S="${WORKDIR}/${PN}-${PV}"
inherit fsl-eula-unpack
SRC_URI[md5sum] = "0829288a9b4fcc89066d1671aeb671b9"
SRC_URI[sha256sum] = "5ded476226df9068ec8611b5e89d444de1e5d9a53374a7ea4fb47bc5c6ba20e0"
do_install () {
install -d ${D}${libdir}
@ -34,6 +31,8 @@ FILES_${PN} = "${libdir}/libg2d* /opt"
FILES_${PN}-dev = "${includedir}"
INSANE_SKIP_${PN} = "ldflags"
# Compatible only with i.MX DPU-blit
COMPATIBLE_MACHINE = "(^$)"
COMPATIBLE_MACHINE_imxdpublit = "${MACHINE}"
# Compatible with i.MX with 2D GPU but no DPU
COMPATIBLE_MACHINE_2D = "(^$)"
COMPATIBLE_MACHINE_2D_imxgpu2d = "${MACHINE}"
COMPATIBLE_MACHINE = "${COMPATIBLE_MACHINE_2D}"
COMPATIBLE_MACHINE_imxdpu = "(^$)"

View File

@ -0,0 +1,4 @@
require imx-gpu-g2d.inc
SRC_URI[md5sum] = "826349f67198359fddfe3e456770eb68"
SRC_URI[sha256sum] = "35a5875d795190117b7fcdd43229d18576d530fddfd32f9d79e161fc7028d29d"

View File

@ -0,0 +1,4 @@
require imx-gpu-g2d.inc
SRC_URI[md5sum] = "3f88b8100f7784e5a754f4605e25d563"
SRC_URI[sha256sum] = "aeb21adce885bcef1c4018388b7dc2c1d3929dd29826ecf5ffcd95d48ba1865f"

View File

@ -5,7 +5,7 @@
DESCRIPTION = "GPU driver and apps for imx"
SECTION = "libs"
LICENSE = "Proprietary"
LIC_FILES_CHKSUM = "file://COPYING;md5=ab61cab9599935bfe9f700405ef00f28"
LIC_FILES_CHKSUM = "file://COPYING;md5=6dfb32a488e5fd6bae52fbf6c7ebb086"
DEPENDS += \
"${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', \
@ -33,6 +33,7 @@ EXTRA_PROVIDES_append_mx6q = " \
"
EXTRA_PROVIDES_append_mx8 = " \
virtual/libopenvx \
virtual/libgbm \
virtual/opencl-icd \
opencl-headers \
"
@ -50,7 +51,9 @@ RPROVIDES_${PN}_imxgpu3d += "imx-gpu-viv"
PE = "1"
inherit fsl-eula-unpack
inherit fsl-eula-unpack distro_features_check
REQUIRED_DISTRO_FEATURES_mx8 = "wayland"
SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true"
@ -197,7 +200,7 @@ do_install () {
# Regular framebuffer
install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/egl_linuxfb.pc ${D}${libdir}/pkgconfig/egl.pc
backend=fb
fi
@ -260,7 +263,7 @@ do_install () {
if [ "${IS_MX6SL}" = "1" ]; then
rm -rf ${D}${libdir}/libCLC* ${D}${includedir}/CL \
\
${D}${libdir}/libGL* ${D}${includedir}/GL* ${D}${libdir}/pkgconfig/gl.pc \
${D}${libdir}/libGL* ${D}${includedir}/GL* ${D}${libdir}/pkgconfig/gl.pc \
\
${D}${libdir}/libGLES* ${D}${libdir}/pkgconfig/gles*.pc \
\

View File

@ -1,6 +0,0 @@
require imx-gpu-viv-v6.inc
SRC_URI[md5sum] = "25f961c67d8c3b8b0f38bbf3b6da5ea6"
SRC_URI[sha256sum] = "463b3cba4b6f817e8f2b1abdadb51bbecdbdab3066a5c0b92504156a6f86f8c0"
COMPATIBLE_MACHINE = "(mx6q|mx6dl|mx6sx|mx6sl|mx7ulp)"

View File

@ -1,6 +0,0 @@
require imx-gpu-viv-v6.inc
SRC_URI[md5sum] = "2d5437e5264a25fdddcc29c63db82e84"
SRC_URI[sha256sum] = "bfcb9f8f16b006c35576a57d185692ae22acdc9353b5a1f7f818436810224027"
COMPATIBLE_MACHINE = "(mx8)"

View File

@ -0,0 +1,6 @@
require imx-gpu-viv-v6.inc
SRC_URI[md5sum] = "d5529f8b6a6db1714f996a0de0b0858a"
SRC_URI[sha256sum] = "832d75095d746083bab13cefb0ab27e2da3930eadc215b8f2994d8cd02e387ab"
COMPATIBLE_MACHINE = "(mx6q|mx6dl|mx6sx|mx6sl|mx7ulp)"

View File

@ -0,0 +1,6 @@
require imx-gpu-viv-v6.inc
SRC_URI[md5sum] = "9a58192b56e2ed0737a29cd59e52734b"
SRC_URI[sha256sum] = "041da1d3495d8e8485f08d56a8f5db4a1a9a75a510adb10c65d83be7c3281e80"
COMPATIBLE_MACHINE = "(mx8)"

View File

@ -0,0 +1,68 @@
# Copyright (C) 2012-2016 Freescale Semiconductor
# Copyright (C) 2012-2018 O.S. Systems Software LTDA.
# Copyright 2017-2018 NXP
# Released under the MIT license (see COPYING.MIT for the terms)
require recipes-graphics/xorg-driver/xorg-driver-video.inc
PE = "3"
inherit autotools-brokensep update-rc.d pkgconfig
DEPENDS += "virtual/xserver virtual/libx11 libgal-imx imx-gpu-viv virtual/libg2d pixman"
# Patch for MX8 DRM_VIV
RDEPENDS_${PN}_append_mx8 = " kernel-module-vivante"
LIC_FILES_CHKSUM = "file://COPYING-MIT;md5=b5e9d9f5c02ea831ab3ecf802bb7c4f3"
SRCBRANCH = "imx_exa_viv6_g2d"
XF86_VIDEO_IMX_VIVANTE_SRC ?= "git://source.codeaurora.org/external/imx/xf86-video-imx-vivante.git;protocol=https"
SRC_URI = "${XF86_VIDEO_IMX_VIVANTE_SRC};branch=${SRCBRANCH}"
SRC_URI += "file://rc.autohdmi"
S = "${WORKDIR}/git/"
INITSCRIPT_PACKAGES = "xserver-xorg-extension-viv-autohdmi"
INITSCRIPT_NAME = "rc.autohdmi"
INITSCRIPT_PARAMS = "start 99 2 3 4 5 ."
EXTRA_OEMAKE += "prefix=${exec_prefix} \
sysroot=${STAGING_DIR_TARGET} \
SDKTARGETSYSROOT=${STAGING_DIR_HOST} \
BUSID_HAS_NUMBER=1 \
BUILD_IN_YOCTO=1 \
XSERVER_GREATER_THAN_13=1"
TARGET_CC_ARCH += "${LDFLAGS}"
PACKAGES =+ "xserver-xorg-extension-viv-autohdmi"
do_install_append () {
install -d ${D}${includedir}
cp -axr ${S}/EXA/src/vivante_gal/vivante_priv.h ${D}${includedir}
cp -axr ${S}/EXA/src/vivante_gal/vivante_gal.h ${D}${includedir}
install -d ${D}/${sysconfdir}/init.d
install -m 755 ${WORKDIR}/rc.autohdmi ${D}/${sysconfdir}/init.d/rc.autohdmi
find ${D}${includedir} -type f -exec chmod 660 {} \;
}
RDEPENDS_${PN} += "libvivante-dri-imx \
xserver-xorg-module-exa \
mesa-driver-swrast \
xserver-xorg-extension-dri \
xserver-xorg-extension-dri2 \
xserver-xorg-extension-glx"
REALSOLIBS := "${SOLIBS}"
SOLIBS = "${SOLIBSDEV}"
FILES_${PN} = "${libdir}/*/*/*/vivante_drv${SOLIBS}"
FILES_${PN}-dev = "${includedir} /usr/src ${libdir}/libfsl_x11_ext${SOLIBSDEV}"
FILES_${PN}-dbg = "${libdir}/*/*/*/.debug ${libdir}/.debug/libfsl_x11_ext${SOLIBS} ${exec_prefix}/bin/.debug/autohdmi"
FILES_xserver-xorg-extension-viv-autohdmi = " ${libdir}/libfsl_x11_ext${SOLIBS} ${exec_prefix}/bin/autohdmi ${sysconfdir}/init.d/rc.autohdmi"
PACKAGE_ARCH = "${MACHINE_SOCARCH}"
COMPATIBLE_MACHINE = "(mx6|mx7ulp)"

View File

@ -1,29 +0,0 @@
# Copyright (C) 2012-2016 Freescale Semiconductor
# Copyright (C) 2012-2014 O.S. Systems Software LTDA.
# Copyright 2017-2018 NXP
# Released under the MIT license (see COPYING.MIT for the terms)
require recipes-graphics/xorg-driver/xf86-video-imxfb-vivante.inc
SRCBRANCH = "imx_exa_viv6_g2d"
XF86_VIDEO_IMX_VIVANTE_SRC ?= "git://source.codeaurora.org/external/imx/xf86-video-imx-vivante.git;protocol=https"
SRC_URI = "${XF86_VIDEO_IMX_VIVANTE_SRC};branch=${SRCBRANCH}"
SRC_URI += "file://rc.autohdmi"
SRCREV = "946e8603ed9a52f36d305405dbb2ab8ff90943d0"
S = "${WORKDIR}/git/"
DEPENDS += "virtual/libg2d pixman"
EXTRA_OEMAKE += "SDKTARGETSYSROOT=${STAGING_DIR_HOST}"
TARGET_CC_ARCH += "${LDFLAGS}"
EXTRA_OEMAKE_remove = "prefix=${D}/usr"
EXTRA_OEMAKE += "prefix=${exec_prefix}"
RDEPENDS_${PN}_remove = "libvivante-dri-mx6"
RDEPENDS_${PN}_remove_mx8mq = "xserver-xorg-extension-glx"
RDEPENDS_${PN}_append = " libvivante-dri-imx"
COMPATIBLE_MACHINE = "(mx6|mx8|mx7ulp)"

View File

@ -0,0 +1,3 @@
require recipes-graphics/xorg-driver/xf86-video-imx-vivante.inc
SRCREV = "b765c3ffc0dcc4246afa659aa0d59f78a6736b08"

View File

@ -5,7 +5,8 @@ SRC_URI += "file://0001-glamor-Use-CFLAGS-for-EGL-and-GBM.patch \
file://0002-glamor_egl-Automatically-choose-a-GLES2-context-if-d.patch"
SRC_URI_remove = "file://0002-configure.ac-Fix-wayland-scanner-and-protocols-locat.patch"
PACKAGECONFIG_append_mx8 = " glamor"
PACKAGECONFIG_remove_mx8 = "glamor"
PACKAGECONFIG_append_imxgpu = " dri3 xshmfence dri glx"
EXTRA_OECONF_remove = "WAYLAND_PROTOCOLS_SYSROOT_DIR=${RECIPE_SYSROOT}"