From 903d5b57361fb27d4daa5bff1c2f0e1c26d15778 Mon Sep 17 00:00:00 2001 From: Otavio Salvador Date: Tue, 6 Oct 2015 22:38:49 -0300 Subject: [PATCH] kernel-module-imx-gpu-viv: Fork driver for FSL Community The driver source code provided by Freescale needs fixes. This fork is a community driven development and allow faster development and easier integration of fixes. The "+fslc" suffix is added to the module during probing to make a clear identification. Change-Id: I914f1a7731263effdef75827e3a9fb8daba37ec9 Signed-off-by: Otavio Salvador --- .../updatemakefile.patch | 158 ------------------ .../work-around-include-file-rename.patch | 30 ---- ...nel-module-imx-gpu-viv_5.0.11.p7.1+fslc.bb | 17 ++ .../kernel-module-imx-gpu-viv_5.0.11.p7.1.bb | 23 --- 4 files changed, 17 insertions(+), 211 deletions(-) delete mode 100644 recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv/updatemakefile.patch delete mode 100644 recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv/work-around-include-file-rename.patch create mode 100644 recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_5.0.11.p7.1+fslc.bb delete mode 100644 recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_5.0.11.p7.1.bb diff --git a/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv/updatemakefile.patch b/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv/updatemakefile.patch deleted file mode 100644 index 2ca10d43..00000000 --- a/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv/updatemakefile.patch +++ /dev/null @@ -1,158 +0,0 @@ -Upstream-Status: Pending - -Signed-off-by: Neena Busireddy - -diff -Naur kernel-module-imx-gpu-viv-5.0.11.p7.1_org/kernel-module-imx-gpu-viv-src/Makefile kernel-module-imx-gpu-viv-5.0.11.p7.1/kernel-module-imx-gpu-viv-src/Makefile ---- kernel-module-imx-gpu-viv-5.0.11.p7.1_org/kernel-module-imx-gpu-viv-src/Makefile 2015-09-22 10:46:18.280385659 -0500 -+++ kernel-module-imx-gpu-viv-5.0.11.p7.1/kernel-module-imx-gpu-viv-src/Makefile 2015-09-22 10:46:51.000000000 -0500 -@@ -1,20 +1,54 @@ - ############################################################################## - # --# Copyright (C) 2005 - 2014 by Vivante Corp. -+# The MIT License (MIT) - # --# 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. -+# Copyright (c) 2014 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 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 -+# 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., 675 Mass Ave, Cambridge, MA 02139, USA. -+# 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. - # - ############################################################################## - -@@ -23,16 +57,15 @@ - # Linux build file for kernel HAL driver. - # - --AQROOT ?= . -- - include $(AQROOT)/config - --KERNEL_DIR ?= $(KERNEL_PATH) -+KERNEL_DIR ?= $(TOOL_DIR)/kernel - - OS_KERNEL_DIR := hal/os/linux/kernel - ARCH_KERNEL_DIR := hal/kernel/arch - ARCH_VG_KERNEL_DIR := hal/kernel/archvg - HAL_KERNEL_DIR := hal/kernel -+HOST := $(shell hostname) - - # Check and include platform config. - ifneq ($(PLATFORM),) -@@ -63,6 +96,14 @@ - $(OS_KERNEL_DIR)/gc_hal_kernel_debugfs.o \ - $(OS_KERNEL_DIR)/gc_hal_kernel_allocator.o \ - -+ifneq ($(CONFIG_DMA_SHARED_BUFFER),) -+OBJS += $(OS_KERNEL_DIR)/allocator/default/gc_hal_kernel_allocator_dmabuf.o -+endif -+ -+ifneq ($(CONFIG_IOMMU_SUPPORT),) -+OBJS += $(OS_KERNEL_DIR)/gc_hal_kernel_iommu.o -+endif -+ - ifneq ($(PLATFORM),) - OBJS += $(OS_KERNEL_DIR)/gc_hal_kernel_probe.o - OBJS += $(OS_KERNEL_DIR)/platform/$(PLATFORM).o -@@ -83,6 +124,10 @@ - OBJS += $(ARCH_KERNEL_DIR)/gc_hal_kernel_context.o \ - $(ARCH_KERNEL_DIR)/gc_hal_kernel_hardware.o - -+ifeq ($(VIVANTE_ENABLE_3D), 1) -+OBJS += $(ARCH_KERNEL_DIR)/gc_hal_kernel_recorder.o -+endif -+ - ifeq ($(VIVANTE_ENABLE_VG), 1) - OBJS +=\ - $(HAL_KERNEL_DIR)/gc_hal_kernel_vg.o\ -@@ -99,10 +144,6 @@ - OBJS += $(OS_KERNEL_DIR)/gc_hal_kernel_sync.o - endif - --ifneq ($(CONFIG_ANDROID),) --EXTRA_CFLAGS += -DANDROID --endif -- - ifeq ($(SECURITY), 1) - OBJS += $(OS_KERNEL_DIR)/gc_hal_kernel_security_channel.o \ - $(HAL_KERNEL_DIR)/gc_hal_kernel_security.o -@@ -118,15 +159,16 @@ - - # Define targets. - all: -- @make V=$(V) ARCH=$(ARCH_TYPE) -C $(KERNEL_DIR) SUBDIRS=`pwd` modules -+ @$(MAKE) V=$(V) ARCH=$(ARCH_TYPE) -C $(KERNEL_DIR) SUBDIRS=`pwd` modules - - clean: - @rm -rf $(OBJS) -- @rm -rf modules.order Module.symvers -+ @rm -rf modules.order Module.symvers .tmp_versions - @find $(AQROOT) -name ".gc_*.cmd" | xargs rm -f - - install: all - @mkdir -p $(SDK_DIR)/drivers -+ @cp $(MODULE_NAME).ko $(SDK_DIR)/drivers - - else - -@@ -261,8 +303,10 @@ - EXTRA_CFLAGS += -I$(AQROOT)/hal/kernel/archvg - endif - --obj-m += galcore.o -+EXTRA_CFLAGS += -DHOST=\"$(HOST)\" -+ -+obj-m = $(MODULE_NAME).o - --galcore-objs := $(OBJS) -+$(MODULE_NAME)-objs = $(OBJS) - - endif diff --git a/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv/work-around-include-file-rename.patch b/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv/work-around-include-file-rename.patch deleted file mode 100644 index 5b923924..00000000 --- a/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv/work-around-include-file-rename.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 3ec514cf260b82f4701b6fed521ce470d9faf8c9 Mon Sep 17 00:00:00 2001 -From: Gary Thomas -Date: Tue, 6 Oct 2015 09:32:22 -0600 -Subject: [PATCH] kernel-module-imx-gpu-viv: Better work-around for change in name of busfreq-imx.h - -The renaming of include/linux/busfreq-imx6.h to include/linux/busfreq-imx.h -is not consistent over the many kernel versions currently being built. This -changeset works around this inconsistency by creating a local symbolic link -to whatever file is actually present in the kernel sources. - -Signed-off-by: Gary Thomas -Upstream-status: Innapropriate [requires OE recipe support] ----- -Index: kernel-module-imx-gpu-viv-5.0.11.p7.1/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6q14.c -=================================================================== ---- kernel-module-imx-gpu-viv-5.0.11.p7.1.orig/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6q14.c -+++ kernel-module-imx-gpu-viv-5.0.11.p7.1/kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6q14.c -@@ -74,11 +74,8 @@ - #include - #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0) - #include --#elif LINUX_VERSION_CODE < KERNEL_VERSION(3, 14, 0) --#include --#include - #else --#include -+#include "busfreq-imx.h" - #include - #endif - #endif diff --git a/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_5.0.11.p7.1+fslc.bb b/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_5.0.11.p7.1+fslc.bb new file mode 100644 index 00000000..404615ff --- /dev/null +++ b/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_5.0.11.p7.1+fslc.bb @@ -0,0 +1,17 @@ +# Copyright (C) 2015 O.S. Systems Software LTDA. +# Copyright (C) 2015 Freescale Semiconductor + +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}" + +inherit module + +SRCREV = "eeeb23c0fb1cee01318088d417025263479c44ac" +SRC_URI = "git://github.com/Freescale/kernel-module-imx-gpu-viv.git;protocol=https" + +S = "${WORKDIR}/git" diff --git a/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_5.0.11.p7.1.bb b/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_5.0.11.p7.1.bb deleted file mode 100644 index 7e8414b3..00000000 --- a/recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_5.0.11.p7.1.bb +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright (C) 2015 Freescale Semiconductor - -SUMMARY = "Kernel loadable module for Vivante GPU" -DESCRIPTION = "Provides flexibility to switch graphics between different kernels in future \ -releases. This package uses same source code as GPU kernel driver source." -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e" - -inherit module - -SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.tar.gz \ - file://updatemakefile.patch \ - file://work-around-include-file-rename.patch \ -" - -SRC_URI[md5sum] = "a251a94390986371f75b338ad938e46f" -SRC_URI[sha256sum] = "9aaef0a62bc2be69dc568228192b060c54970b5c700fee602d83a4d13e04a9b3" - -# Work around inconsistent naming of -do_compile_prepend () { - ln -sf ${STAGING_KERNEL_DIR}/include/linux/busfreq-imx*.h kernel-module-imx-gpu-viv-src/hal/os/linux/kernel/platform/freescale/busfreq-imx.h -} - -- 2.40.1