From 257655fc1dfb340d718d87aae8492ced6b149441 Mon Sep 17 00:00:00 2001 From: Gabriel Valcazar Date: Mon, 20 Aug 2018 17:28:46 +0200 Subject: [PATCH] kernel-module-imx-gpu-viv: update to v6.2.4.p1.6 The module's sources are now obtained from the kernel and two of our patches aren't needed anymore. https://jira.digi.com/browse/DEL-6115 Signed-off-by: Gabriel Valcazar --- ...mmended-values-for-minimum-GPU-frequ.patch | 71 ---- ...Use-busfreq-imx6.h-up-to-3.15-kernel.patch | 26 -- ...-gpu-Get-GPU-reserved-memory-from-DT.patch | 38 -- ...mmended-values-for-minimum-GPU-frequ.patch | 71 ++++ .../Add-makefile.patch | 326 ++++++++++++++++++ ...d => kernel-module-imx-gpu-viv_%.bbappend} | 4 +- ...kernel-module-imx-gpu-viv_6.2.2.p0+fslc.bb | 18 - .../kernel-module-imx-gpu-viv_6.2.4.p1.6.bb | 21 ++ 8 files changed, 419 insertions(+), 156 deletions(-) delete mode 100644 meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv-6.2.2.p0+fslc/0001-mxc-gpu-use-recommended-values-for-minimum-GPU-frequ.patch delete mode 100644 meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv-6.2.2.p0+fslc/0002-Use-busfreq-imx6.h-up-to-3.15-kernel.patch delete mode 100644 meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv-6.2.2.p0+fslc/0003-gpu-Get-GPU-reserved-memory-from-DT.patch create mode 100644 meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv/0001-mxc-gpu-use-recommended-values-for-minimum-GPU-frequ.patch create mode 100644 meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv/Add-makefile.patch rename meta-digi-arm/recipes-kernel/kernel-modules/{kernel-module-imx-gpu-viv_6.2.2.p0+fslc.bbappend => kernel-module-imx-gpu-viv_%.bbappend} (56%) delete mode 100644 meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.2.2.p0+fslc.bb create mode 100644 meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.2.4.p1.6.bb diff --git a/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv-6.2.2.p0+fslc/0001-mxc-gpu-use-recommended-values-for-minimum-GPU-frequ.patch b/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv-6.2.2.p0+fslc/0001-mxc-gpu-use-recommended-values-for-minimum-GPU-frequ.patch deleted file mode 100644 index bd664fb07..000000000 --- a/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv-6.2.2.p0+fslc/0001-mxc-gpu-use-recommended-values-for-minimum-GPU-frequ.patch +++ /dev/null @@ -1,71 +0,0 @@ -From: Javier Viguera -Date: Tue, 10 Nov 2015 17:45:37 +0100 -Subject: [PATCH] mxc: gpu: use recommended values for minimum GPU frequency - divisor - -Freescale recommends the following default minimum GPU frequency divisors -depending on the CPU family: - - 3 for Dual/Quad - - 8 for DualLite/Solo - -Adapted for the external Vivante GPU driver from commit a790ad3 in linux -git repository. - -Signed-off-by: Javier Viguera ---- - .../hal/os/linux/kernel/gc_hal_kernel_driver.c | 14 +++++++++++++- - .../platform/freescale/gc_hal_kernel_platform_imx6.c | 2 +- - 2 files changed, 13 insertions(+), 2 deletions(-) - -diff --git a/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/gc_hal_kernel_driver.c b/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/gc_hal_kernel_driver.c -index 816aae0..15a8753 100644 ---- a/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/gc_hal_kernel_driver.c -+++ b/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/gc_hal_kernel_driver.c -@@ -54,6 +54,7 @@ - - - #include -+#include - #include - #include - -@@ -199,7 +200,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; - -@@ -1138,6 +1139,17 @@ static int __devinit gpu_probe(struct platform_device *pdev) - } - } - else { -+ /* If undefined, set Freescale recommended value. Else use the min freq. */ -+ if (gpu3DMinClock == 0) { -+ if (of_machine_is_compatible("fsl,imx6dl")) -+ gpu3DMinClock = 8; -+ else if (of_machine_is_compatible("fsl,imx6q") || -+ of_machine_is_compatible("fsl,imx6qp")) -+ gpu3DMinClock = 3; -+ else -+ gpu3DMinClock = 1; -+ } -+ - ret = drv_init(); - if (!ret) { - platform_set_drvdata(pdev, galDevice); -diff --git a/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6.c b/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6.c -index 89706ec..65a54e2 100644 ---- a/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6.c -+++ b/kernel-module-imx-gpu-viv-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) - #endif - --static int initgpu3DMinClock = 1; -+static int initgpu3DMinClock = 0; - module_param(initgpu3DMinClock, int, 0644); - - struct platform_device *pdevice; diff --git a/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv-6.2.2.p0+fslc/0002-Use-busfreq-imx6.h-up-to-3.15-kernel.patch b/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv-6.2.2.p0+fslc/0002-Use-busfreq-imx6.h-up-to-3.15-kernel.patch deleted file mode 100644 index 4273613a2..000000000 --- a/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv-6.2.2.p0+fslc/0002-Use-busfreq-imx6.h-up-to-3.15-kernel.patch +++ /dev/null @@ -1,26 +0,0 @@ -From: Hector Palacios -Date: Tue, 1 Dec 2015 11:36:24 +0100 -Subject: [PATCH] Use busfreq-imx6.h up to 3.15 kernel - -For CC6 we're using Freescale 3.14.28 BSP. Even though we apply stability -patches that move the kernel version beyond 3.14.29 we still want to use -the GPU vivante external module build with the original BSP. - -Signed-off-by: Hector Palacios ---- - .../os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6.c b/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6.c -index 0eae8262c2ce..f166680affa2 100644 ---- a/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6.c -+++ b/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6.c -@@ -81,7 +81,7 @@ - #include - #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0) - #include --#elif LINUX_VERSION_CODE < KERNEL_VERSION(3, 14, 29) -+#elif LINUX_VERSION_CODE < KERNEL_VERSION(3, 15, 0) - #include - #include - #else diff --git a/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv-6.2.2.p0+fslc/0003-gpu-Get-GPU-reserved-memory-from-DT.patch b/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv-6.2.2.p0+fslc/0003-gpu-Get-GPU-reserved-memory-from-DT.patch deleted file mode 100644 index 4615d9d93..000000000 --- a/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv-6.2.2.p0+fslc/0003-gpu-Get-GPU-reserved-memory-from-DT.patch +++ /dev/null @@ -1,38 +0,0 @@ -From: Mike Engel -Date: Tue, 11 Apr 2017 11:13:23 +0200 -Subject: [PATCH] gpu: Get GPU reserved memory from DT. - -This commit adds support to specify the GPU reserved memory in -the DT. - -Signed-off-by: Mike Engel - -https://jira.digi.com/browse/DEL-3868 ---- - .../linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6.c | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -diff --git a/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6.c b/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6.c -index dc7c976..fd2dbd3 100644 ---- a/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6.c -+++ b/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6.c -@@ -568,7 +568,7 @@ gckPLATFORM_AdjustParam( - Args->registerMemSizeVG = res->end - res->start + 1; - } - --#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,1,0) -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0) - res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "contiguous_mem"); - if (res) - { -@@ -577,8 +577,6 @@ gckPLATFORM_AdjustParam( - if( Args->contiguousSize == ~0U ) - Args->contiguousSize = res->end - res->start + 1; - } --#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0) -- Args->contiguousBase = 0; - #elif LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0) - prop = of_get_property(dn, "contiguousbase", NULL); - if(prop) - - diff --git a/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv/0001-mxc-gpu-use-recommended-values-for-minimum-GPU-frequ.patch b/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv/0001-mxc-gpu-use-recommended-values-for-minimum-GPU-frequ.patch new file mode 100644 index 000000000..45aed5d2e --- /dev/null +++ b/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv/0001-mxc-gpu-use-recommended-values-for-minimum-GPU-frequ.patch @@ -0,0 +1,71 @@ +From: Javier Viguera +Date: Tue, 10 Nov 2015 17:45:37 +0100 +Subject: [PATCH] mxc: gpu: use recommended values for minimum GPU frequency + divisor + +Freescale recommends the following default minimum GPU frequency divisors +depending on the CPU family: + - 3 for Dual/Quad + - 8 for DualLite/Solo + +Adapted for the external Vivante GPU driver from commit a790ad3 in linux +git repository. + +Signed-off-by: Javier Viguera +--- + .../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(-) + +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 +--- 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 ++#include + #include + #include + +@@ -199,7 +200,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) + _UpdateModuleParam(&moduleParam); + } + ++ /* If undefined, set Freescale recommended value. Else use the min freq. */ ++ if (gpu3DMinClock == 0) { ++ if (of_machine_is_compatible("fsl,imx6dl")) ++ gpu3DMinClock = 8; ++ else if (of_machine_is_compatible("fsl,imx6q") || ++ of_machine_is_compatible("fsl,imx6qp")) ++ gpu3DMinClock = 3; ++ else ++ gpu3DMinClock = 1; ++ } ++ + 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) + #endif + +-static int initgpu3DMinClock = 1; ++static int initgpu3DMinClock = 0; + module_param(initgpu3DMinClock, int, 0644); + + struct platform_device *pdevice; diff --git a/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv/Add-makefile.patch b/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv/Add-makefile.patch new file mode 100644 index 000000000..63f408c5a --- /dev/null +++ b/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv/Add-makefile.patch @@ -0,0 +1,326 @@ +Index: git/Makefile +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ git/Makefile 2017-06-27 12:07:11.931698672 -0500 +@@ -0,0 +1,17 @@ ++obj-m := galcore.o ++ ++SRC := $(shell pwd) ++ ++all: ++ $(MAKE) -C $(KERNEL_SRC) M=$(SRC)/src AQROOT=${PWD}/src ++ cp $(SRC)/src/Module.symvers $(PWD) ++ cp $(SRC)/src/modules.order $(PWD) ++ ++modules_install: ++ $(MAKE) -C $(KERNEL_SRC) M=$(SRC)/src modules_install ++ ++clean: ++ find . -name '*.o' -delete ++ rm -f *.o *~ core .depend .*.cmd *.ko *.mod.c ++ rm -f Module.markers Module.symvers modules.order ++ rm -rf .tmp_versions Modules.symvers +Index: git/src/hal/kernel/arch/makefile.linux +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ git/src/hal/kernel/arch/makefile.linux 2017-06-27 11:44:06.004826232 -0500 +@@ -0,0 +1,91 @@ ++############################################################################## ++# ++# The MIT License (MIT) ++# ++# Copyright (c) 2014 - 2017 Vivante Corporation ++# ++# Permission is hereby granted, free of charge, to any person obtaining a ++# copy of this software and associated documentation files (the "Software"), ++# to deal in the Software without restriction, including without limitation ++# the rights to use, copy, modify, merge, publish, distribute, sublicense, ++# and/or sell copies of the Software, and to permit persons to whom the ++# Software is furnished to do so, subject to the following conditions: ++# ++# The above copyright notice and this permission notice shall be included in ++# all copies or substantial portions of the Software. ++# ++# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING ++# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER ++# DEALINGS IN THE SOFTWARE. ++# ++############################################################################## ++# ++# The GPL License (GPL) ++# ++# Copyright (C) 2014 - 2017 Vivante Corporation ++# ++# This program is free software; you can redistribute it and/or ++# modify it under the terms of the GNU General Public License ++# as published by the Free Software Foundation; either version 2 ++# of the License, or (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software Foundation, ++# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++# ++############################################################################## ++# ++# Note: This software is released under dual MIT and GPL licenses. A ++# recipient may use this file under the terms of either the MIT license or ++# GPL License. If you wish to use only one license not the other, you can ++# indicate your decision by deleting one of the above license notices in your ++# version of this file. ++# ++############################################################################## ++ ++ ++# ++# Linux build file for architecture dependent kernel HAL layer. ++# ++ ++################################################################################ ++# Include common definitions. ++ ++include $(AQROOT)/makefile.linux.def ++ ++################################################################################ ++# Define a shortcut for the main target. ++ ++STATIC = 1 ++TARGET_NAME = libhalarchkernel.a ++ ++################################################################################ ++# Supply additional include directories. ++ ++INCLUDE += -I$(AQROOT)/hal/kernel/inc ++INCLUDE += -I$(AQROOT)/hal/kernel/inc ++INCLUDE += -I$(AQROOT)/hal/kernel ++INCLUDE += -I$(AQROOT)/hal/kernel/arch ++ifeq ($(VIVANTE_ENABLE_VG),1) ++INCLUDE += -I$(AQROOT)/hal/kernel/archvg ++endif ++ ++CFLAGS += $(INCLUDE) -Werror -ansi ++ ++ ++################################################################################ ++# Describe object files. ++ ++OBJECTS = $(OBJ_DIR)/gc_hal_kernel_context.o \ ++ $(OBJ_DIR)/gc_hal_kernel_hardware.o ++ ++include $(AQROOT)/common.target +Index: git/src/hal/kernel/archvg/makefile.linux +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ git/src/hal/kernel/archvg/makefile.linux 2017-06-27 11:44:06.004826232 -0500 +@@ -0,0 +1,91 @@ ++############################################################################## ++# ++# The MIT License (MIT) ++# ++# Copyright (c) 2014 - 2017 Vivante Corporation ++# ++# Permission is hereby granted, free of charge, to any person obtaining a ++# copy of this software and associated documentation files (the "Software"), ++# to deal in the Software without restriction, including without limitation ++# the rights to use, copy, modify, merge, publish, distribute, sublicense, ++# and/or sell copies of the Software, and to permit persons to whom the ++# Software is furnished to do so, subject to the following conditions: ++# ++# The above copyright notice and this permission notice shall be included in ++# all copies or substantial portions of the Software. ++# ++# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING ++# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER ++# DEALINGS IN THE SOFTWARE. ++# ++############################################################################## ++# ++# The GPL License (GPL) ++# ++# Copyright (C) 2014 - 2017 Vivante Corporation ++# ++# This program is free software; you can redistribute it and/or ++# modify it under the terms of the GNU General Public License ++# as published by the Free Software Foundation; either version 2 ++# of the License, or (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software Foundation, ++# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++# ++############################################################################## ++# ++# Note: This software is released under dual MIT and GPL licenses. A ++# recipient may use this file under the terms of either the MIT license or ++# GPL License. If you wish to use only one license not the other, you can ++# indicate your decision by deleting one of the above license notices in your ++# version of this file. ++# ++############################################################################## ++ ++ ++# ++# Linux build file for architecture dependent kernel HAL layer. ++# ++ ++################################################################################ ++# Include common definitions. ++ ++include $(AQROOT)/makefile.linux.def ++ ++################################################################################ ++# Define a shortcut for the main target. ++ ++STATIC = 1 ++ ++TARGET_NAME = libhalarchkernelvg.a ++ ++################################################################################ ++# Supply additional include directories. ++ ++INCLUDE += -I$(AQROOT)/hal/inc ++INCLUDE += -I$(AQROOT)/hal/user ++INCLUDE += -I$(AQROOT)/hal/kernel ++INCLUDE += -I$(AQROOT)/hal/kernel/arch ++ifeq ($(VIVANTE_ENABLE_VG), 1) ++INCLUDE += -I$(AQROOT)/hal/kernel/archvg ++endif ++ ++CFLAGS += $(INCLUDE) -Werror -ansi ++ ++################################################################################ ++# Describe object files. ++ ++OBJECTS = $(OBJ_DIR)/gc_hal_kernel_hardware_vg.o \ ++ $(OBJ_DIR)/gc_hal_kernel_hardware_command_vg.o ++ ++include $(AQROOT)/common.target +Index: git/src/hal/kernel/makefile.linux +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ git/src/hal/kernel/makefile.linux 2017-06-27 11:44:06.004826232 -0500 +@@ -0,0 +1,107 @@ ++############################################################################## ++# ++# The MIT License (MIT) ++# ++# Copyright (c) 2014 - 2017 Vivante Corporation ++# ++# Permission is hereby granted, free of charge, to any person obtaining a ++# copy of this software and associated documentation files (the "Software"), ++# to deal in the Software without restriction, including without limitation ++# the rights to use, copy, modify, merge, publish, distribute, sublicense, ++# and/or sell copies of the Software, and to permit persons to whom the ++# Software is furnished to do so, subject to the following conditions: ++# ++# The above copyright notice and this permission notice shall be included in ++# all copies or substantial portions of the Software. ++# ++# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING ++# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER ++# DEALINGS IN THE SOFTWARE. ++# ++############################################################################## ++# ++# The GPL License (GPL) ++# ++# Copyright (C) 2014 - 2017 Vivante Corporation ++# ++# This program is free software; you can redistribute it and/or ++# modify it under the terms of the GNU General Public License ++# as published by the Free Software Foundation; either version 2 ++# of the License, or (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software Foundation, ++# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++# ++############################################################################## ++# ++# Note: This software is released under dual MIT and GPL licenses. A ++# recipient may use this file under the terms of either the MIT license or ++# GPL License. If you wish to use only one license not the other, you can ++# indicate your decision by deleting one of the above license notices in your ++# version of this file. ++# ++############################################################################## ++ ++ ++# ++# Linux build file for architecture dependent kernel HAL layer. ++# ++# ++ ++ ++################################################################################ ++# Include common definitions. ++ ++include $(AQROOT)/makefile.linux.def ++ ++################################################################################ ++# Define a shortcut for the main target. ++ ++STATIC = 1 ++TARGET_NAME = libhalkernel.a ++ ++################################################################################ ++# Supply additional include directories. ++ ++INCLUDE += -I$(AQROOT)/hal/kernel/inc ++INCLUDE += -I$(AQROOT)/hal/kernel/inc ++INCLUDE += -I$(AQROOT)/hal/kernel/arch ++INCLUDE += -I$(AQROOT)/hal/kernel ++ifeq ($(VIVANTE_ENABLE_VG),1) ++INCLUDE += -I$(AQROOT)/hal/kernel/archvg ++endif ++INCLUDE += -I$(AQROOT)/hal/os/linux/kernel ++CFLAGS += $(INCLUDE) -Werror -ansi ++ ++ ++################################################################################ ++# Describe object files. ++ ++OBJECTS = $(OBJ_DIR)/gc_hal_kernel_command.o \ ++ $(OBJ_DIR)/gc_hal_kernel_db.o \ ++ $(OBJ_DIR)/gc_hal_kernel_debug.o \ ++ $(OBJ_DIR)/gc_hal_kernel_event.o \ ++ $(OBJ_DIR)/gc_hal_kernel_heap.o \ ++ $(OBJ_DIR)/gc_hal_kernel.o \ ++ $(OBJ_DIR)/gc_hal_kernel_mmu.o \ ++ $(OBJ_DIR)/gc_hal_kernel_video_memory.o ++ ++ifeq ($(VIVANTE_ENABLE_VG),1) ++OBJECTS += \ ++ $(OBJ_DIR)/gc_hal_kernel_command_vg.o \ ++ $(OBJ_DIR)/gc_hal_kernel_interrupt_vg.o \ ++ $(OBJ_DIR)/gc_hal_kernel_mmu_vg.o \ ++ $(OBJ_DIR)/gc_hal_kernel_vg.o ++endif ++ ++include $(AQROOT)/common.target diff --git a/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.2.2.p0+fslc.bbappend b/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_%.bbappend similarity index 56% rename from meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.2.2.p0+fslc.bbappend rename to meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_%.bbappend index bbf63d7d9..86f3daa69 100644 --- a/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.2.2.p0+fslc.bbappend +++ b/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_%.bbappend @@ -1,4 +1,4 @@ -# Copyright (C) 2017 Digi International +# Copyright (C) 2017-2018 Digi International VER_DIR = "${@d.getVar('PV', True).split('+git')[0]}" @@ -6,6 +6,4 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}-${VER_DIR}:" SRC_URI += " \ file://0001-mxc-gpu-use-recommended-values-for-minimum-GPU-frequ.patch \ - file://0002-Use-busfreq-imx6.h-up-to-3.15-kernel.patch \ - file://0003-gpu-Get-GPU-reserved-memory-from-DT.patch \ " diff --git a/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.2.2.p0+fslc.bb b/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.2.2.p0+fslc.bb deleted file mode 100644 index 158d147a0..000000000 --- a/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.2.2.p0+fslc.bb +++ /dev/null @@ -1,18 +0,0 @@ -# Copyright (C) 2017 Digi International - -SUMMARY = "Kernel loadable module for Vivante GPU" -DESCRIPTION = "This package uses an exact copy of the GPU kernel driver source code of \ -the same version as base and include fixes and improvements developed by FSL Community" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e" - -PV .= "+git${SRCPV}" - -SRCREV = "3b9e057f29853fd29364aa666328a92b807007d7" -SRC_URI = "git://github.com/Freescale/kernel-module-imx-gpu-viv.git;protocol=https" - -S = "${WORKDIR}/git" - -inherit module - -KERNEL_MODULE_AUTOLOAD = "galcore" diff --git a/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.2.4.p1.6.bb b/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.2.4.p1.6.bb new file mode 100644 index 000000000..9bebf1c05 --- /dev/null +++ b/meta-digi-arm/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.2.4.p1.6.bb @@ -0,0 +1,21 @@ +# Copyright (C) 2017-2018 Digi International + +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}" + +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" + +EXTRA_OEMAKE += "CONFIG_MXC_GPU_VIV=m" + +KERNEL_MODULE_AUTOLOAD = "galcore"