From dff0ff3ebee7e27840fcfa8d447e864e6c6b16fc Mon Sep 17 00:00:00 2001 From: Fabio Berton Date: Thu, 14 Jun 2018 16:12:15 -0300 Subject: [PATCH] kernel-module-imx-gpu-viv: Update to 6.2.4.p1.2 As NXP does not offer a specific repository for the kernel-module, this uses the Linux kernel repository and adds a Makefile on top of it. Signed-off-by: Fabio Berton Signed-off-by: Tom Hochstein Signed-off-by: Otavio Salvador --- .../Add-makefile.patch | 326 ++++++++++++++++++ .../kernel-module-imx-gpu-viv_5.0.11.p8.6.bb | 19 - .../kernel-module-imx-gpu-viv_6.2.2.p0.bb | 16 - .../kernel-module-imx-gpu-viv_6.2.4.p1.2.bb | 26 ++ 4 files changed, 352 insertions(+), 35 deletions(-) create mode 100644 recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv/Add-makefile.patch delete mode 100644 recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_5.0.11.p8.6.bb delete mode 100644 recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.2.2.p0.bb create mode 100644 recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.2.4.p1.2.bb diff --git a/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv/Add-makefile.patch b/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv/Add-makefile.patch new file mode 100644 index 00000000..63f408c5 --- /dev/null +++ b/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/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_5.0.11.p8.6.bb b/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_5.0.11.p8.6.bb deleted file mode 100644 index 6c9089f7..00000000 --- a/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_5.0.11.p8.6.bb +++ /dev/null @@ -1,19 +0,0 @@ -# Copyright (C) 2015-2016 Freescale Semiconductor - -SUMMARY = "Kernel loadable module for Vivante GPU" -DESCRIPTION = "Builds the Vivante GPU kernel driver as a loadable kernel module, \ -allowing flexibility to use an older kernel with a newer graphics release." -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e" - -SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.tar.gz" -SRC_URI[md5sum] = "ed31740763b2aa6d56ecbe64d9cea565" -SRC_URI[sha256sum] = "3e748fc53ee46ffcf80b94d5f9535c58a3875aa107a3c77b550d8100df15de4f" - -do_install_prepend() { - install ${B}/kernel-module-imx-gpu-viv-src/Module.symvers ${B} -} - -inherit module - -KERNEL_MODULE_AUTOLOAD = "galcore" diff --git a/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.2.2.p0.bb b/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.2.2.p0.bb deleted file mode 100644 index 8bf61dca..00000000 --- a/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.2.2.p0.bb +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright (C) 2015-2016 Freescale Semiconductor -# Copyright 2017 NXP - -SUMMARY = "Kernel loadable module for Vivante GPU" -DESCRIPTION = "Builds the Vivante GPU kernel driver as a loadable kernel module, \ -allowing flexibility to use an older kernel with a newer graphics release." -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e" - -SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.tar.gz" -SRC_URI[md5sum] = "c5922730046c159fd5055ad114e027b9" -SRC_URI[sha256sum] = "01b13fa5e1ab69475ce401e997fe8e42775b7792b1233e871b2b28555f8a3a66" - -inherit module - -KERNEL_MODULE_AUTOLOAD = "galcore" diff --git a/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.2.4.p1.2.bb b/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.2.4.p1.2.bb new file mode 100644 index 00000000..2e59a607 --- /dev/null +++ b/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.2.4.p1.2.bb @@ -0,0 +1,26 @@ +# Copyright (C) 2015-2016 Freescale Semiconductor +# Copyright 2017-2018 NXP + +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." +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6" + +SRCBRANCH = "imx_4.9.88_2.0.0_ga" +LOCALVERSION = "-${SRCBRANCH}" + +KERNEL_SRC ?= "git://source.codeaurora.org/external/imx/linux-imx.git;protocol=https" +SRC_URI = " \ + ${KERNEL_SRC};branch=${SRCBRANCH};subpath=drivers/mxc/gpu-viv;destsuffix=git/src \ + file://Add-makefile.patch \ +" +SRCREV = "5e23f9d6114784d77fd4ed5848953356c3575532" + +S = "${WORKDIR}/git" + +inherit module + +EXTRA_OEMAKE += "CONFIG_MXC_GPU_VIV=m" + +KERNEL_MODULE_AUTOLOAD = "galcore" -- 2.40.1