Commit Graph

286 Commits

Author SHA1 Message Date
Dong Aisheng 67b35d2120 vpu: windsor: fix build error
../drivers/mxc/vpu_windsor/vpu_encoder_b0.c: In function ‘show_buffer_info’:
../drivers/mxc/vpu_windsor/vpu_encoder_b0.c:3951:23: error: ‘VB2_BUF_STATE_REQUEUEING’ undeclared (first use in this function)
    " %d:requeueing,", VB2_BUF_STATE_REQUEUEING);

Due to this macro was removed by the following commit:
commit c6e4e2c403
Author: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Date:   Thu Feb 28 07:35:46 2019 -0500

    media: vb2: drop VB2_BUF_STATE_REQUEUEING

    The last user of this state has been converted, so we can now drop
    this. Requeueing causes the queue to become unordered, which causes
    problems with requests and (in the future) fences.

    Since it is no longer needed, just get rid of this.

    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>

Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
2019-11-25 15:47:31 +08:00
Dong Aisheng 3f0ca5ec74 vpu: windsor: remove deprecated using of VB2_BUF_STATE_PREPARED
../drivers/mxc/vpu_windsor/vpu_encoder_b0.c: In function ‘show_buffer_info’:
../drivers/mxc/vpu_windsor/vpu_encoder_b0.c:4001:21: error: ‘VB2_BUF_STATE_PREPARED’ undeclared (first use in this function)
    " %d:prepared,", VB2_BUF_STATE_PREPARED);

Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
2019-11-25 15:47:31 +08:00
Dong Aisheng d450dea80f vpu: windsor: remove deprecated using of s_crop/g_crop
../drivers/mxc/vpu_windsor/vpu_encoder_b0.c: At top level:
../drivers/mxc/vpu_windsor/vpu_encoder_b0.c:1415:2: error: unknown field ‘vidioc_g_crop’ specified in initializer
  .vidioc_g_crop                  = vpu_enc_v4l2_ioctl_g_crop,
  ^
../drivers/mxc/vpu_windsor/vpu_encoder_b0.c:1415:2: warning: initialization from incompatible pointer type
../drivers/mxc/vpu_windsor/vpu_encoder_b0.c:1415:2: warning: (near initialization for ‘vpu_enc_v4l2_ioctl_ops.vidioc_dqbuf’)
../drivers/mxc/vpu_windsor/vpu_encoder_b0.c:1416:2: error: unknown field ‘vidioc_s_crop’ specified in initializer
  .vidioc_s_crop   = vpu_enc_v4l2_ioctl_s_crop,
  ^

Module owner can double check later if need implement the same function
in other callbackes.

Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
2019-11-25 15:47:30 +08:00
Dong Aisheng 79ab5d4a80 vpu: windsor: fix build failure
../drivers/mxc/vpu_windsor/vpu_encoder_b0.c: In function ‘vpu_enc_v4l2_ioctl_qbuf’:
../drivers/mxc/vpu_windsor/vpu_encoder_b0.c:1048:8: warning: passing argument 2 of ‘vb2_qbuf’ from incompatible pointer type
  ret = vb2_qbuf(&q_data->vb2_q, buf);
        ^
In file included from ../include/media/v4l2-mem2mem.h:20:0,
                 from ../drivers/mxc/vpu_windsor/vpu_encoder_b0.c:47:
../include/media/videobuf2-v4l2.h:144:5: note: expected ‘struct media_device *’ but argument is of type ‘struct v4l2_buffer *’
 int vb2_qbuf(struct vb2_queue *q, struct media_device *mdev,
     ^
../drivers/mxc/vpu_windsor/vpu_encoder_b0.c:1048:8: error: too few arguments to function ‘vb2_qbuf’
  ret = vb2_qbuf(&q_data->vb2_q, buf);

Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
2019-11-25 15:47:30 +08:00
Dong Aisheng 5c1f0bf1e6 vpu: malone: fix build failure
../drivers/mxc/vpu_malone/vpu_b0.c: In function ‘v4l2_ioctl_qbuf’:
../drivers/mxc/vpu_malone/vpu_b0.c:920:8: warning: passing argument 2 of ‘vb2_qbuf’ from incompatible pointer type
  ret = vb2_qbuf(&q_data->vb2_q, buf);
        ^
In file included from ../include/media/v4l2-mem2mem.h:20:0,
                 from ../drivers/mxc/vpu_malone/vpu_b0.c:47:
../include/media/videobuf2-v4l2.h:144:5: note: expected ‘struct media_device *’ but argument is of type ‘struct v4l2_buffer *’
 int vb2_qbuf(struct vb2_queue *q, struct media_device *mdev,
     ^
../drivers/mxc/vpu_malone/vpu_b0.c:920:8: error: too few arguments to function ‘vb2_qbuf’
  ret = vb2_qbuf(&q_data->vb2_q, buf);
        ^
In file included from ../include/media/v4l2-mem2mem.h:20:0,
                 from ../drivers/mxc/vpu_malone/vpu_b0.c:47:
../include/media/videobuf2-v4l2.h:144:5: note: declared here
 int vb2_qbuf(struct vb2_queue *q, struct media_device *mdev,
     ^
../drivers/mxc/vpu_malone/vpu_b0.c: At top level:
../drivers/mxc/vpu_malone/vpu_b0.c:1150:2: error: unknown field ‘vidioc_g_crop’ specified in initializer
  .vidioc_g_crop                  = v4l2_ioctl_g_crop,

Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
2019-11-25 15:47:30 +08:00
Dong Aisheng 373b49bfe3 vpu: hantro: fix build failure
../drivers/mxc/hantro/hantrodec.c: In function ‘hantrodec_ioctl’:
../drivers/mxc/hantro/hantrodec.c:1033:62: error: macro "access_ok" passed 3 arguments, but takes just 2
   err = !access_ok(VERIFY_WRITE, (void *) arg, _IOC_SIZE(cmd));
                                                              ^
../drivers/mxc/hantro/hantrodec.c:1033:10: error: ‘access_ok’ undeclared (first use in this function)
   err = !access_ok(VERIFY_WRITE, (void *) arg, _IOC_SIZE(cmd));
          ^
../drivers/mxc/hantro/hantrodec.c:1033:10: note: each undeclared identifier is reported only once for each function it appears in
../drivers/mxc/hantro/hantrodec.c:1035:61: error: macro "access_ok" passed 3 arguments, but takes just 2
   err = !access_ok(VERIFY_READ, (void *) arg, _IOC_SIZE(cmd));
                                                             ^
  CC      drivers/mtd/nand/raw/nand_base.o
  CC      drivers/irqchip/irq-mvebu-odmi.o
  CC      drivers/mtd/nand/raw/nand_legacy.o
../drivers/mxc/hantro/hantrodec.c: In function ‘get_hantro_core_desc32’:
../drivers/mxc/hantro/hantrodec.c:1266:61: error: macro "access_ok" passed 3 arguments, but takes just 2
  if (!access_ok(VERIFY_READ, up, sizeof(struct core_desc_32)) ||
                                                             ^
../drivers/mxc/hantro/hantrodec.c:1266:7: error: ‘access_ok’ undeclared (first use in this function)
  if (!access_ok(VERIFY_READ, up, sizeof(struct core_desc_32)) ||
       ^
../drivers/mxc/hantro/hantrodec.c: In function ‘put_hantro_core_desc32’:
../drivers/mxc/hantro/hantrodec.c:1280:62: error: macro "access_ok" passed 3 arguments, but takes just 2
  if (!access_ok(VERIFY_WRITE, up, sizeof(struct core_desc_32)) ||
                                                              ^
../drivers/mxc/hantro/hantrodec.c:1280:7: error: ‘access_ok’ undeclared (first use in this function)
  if (!access_ok(VERIFY_WRITE, up, sizeof(struct core_desc_32)) ||
       ^
../scripts/Makefile.build:278: recipe for target 'drivers/mxc/hantro/hantrodec.o' failed
make[4]: *** [drivers/mxc/hantro/hantrodec.o] Error 1
../scripts/Makefile.build:489: recipe for target 'drivers/mxc/hantro' failed
make[3]: *** [drivers/mxc/hantro] Error 2
../scripts/Makefile.build:489: recipe for target 'drivers/mxc' failed
make[2]: *** [drivers/mxc] Error 2
make[2]: *** Waiting for unfinished jobs...

Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
2019-11-25 15:47:30 +08:00
Zhou Peng 1875e0954b arm64: vpu: m850d: hantro: mxc config
enable hantro decoder in mxc config
drivers/mxc/Kconfig
drivers/mxc/Makefile

Signed-off-by: Zhou Peng <eagle.zhou@nxp.com>
2019-11-25 15:47:29 +08:00
Zhou Peng 83ac8664e5 arm64: vpu: m850d: hantro
Add hantro decoder driver:
drivers/mxc/hantro
include/linux/hantrodec.h
include/uapi/linux/hantrodec.h

Signed-off-by: Zhou Peng <eagle.zhou@nxp.com>
2019-11-25 15:47:28 +08:00
Zhou Peng 7339b6c620 Add directory driver/mxc and related scripts
Related build scripts:
drivers/Kconfig
drivers/Makefile
drivers/mxc/Kconfig
drivers/mxc/Makefile

Signed-off-by: Zhou Peng <eagle.zhou@nxp.com>
2019-11-25 15:47:27 +08:00
Zhou Peng 95b1763c0a Add Malone decoder and windsor encoder for QXP/QM
Add vpu driver:
drivers/mxc/vpu_malone
drivers/mxc/vpu_windsor

Signed-off-by: Zhou Peng <eagle.zhou@nxp.com>
2019-11-25 15:47:27 +08:00
Xianzhong d79b5a2808 LF-84 [#imx-1834] remove gpu coherent_dma_mask setting
gpu_probe set coherent_dma_mask with 40BIT configuration,
L5.4 dma_alloc_wc will return physical address beyond 4GB,
that will cause GPU hang and kernel panic problem on QM.

default coherent_dma_mask is 32BIT, can meet GPU requirement,
this patch remove coherent_dma_mask setting from GPU driver.

Signed-off-by: Jason Liu <jason.hui.liu@nxp.com>
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
2019-11-25 15:47:24 +08:00
Ya Zhou 9bfda82aee MGS-5245 [#imx-1755] [8MN_EVK] VTK: fix the gpu dump when enable vProfile
fix the gpu dump when enable vProfile on 8MN_EVK

Date: 7th Nov ,2019
Signed-off-by Ya Zhou <ya.zhou@nxp.com>

(cherry picked from commit 053c97c0387673c4e730d9b2f780f8cde5fcdf5b)
2019-11-25 15:47:23 +08:00
Xianzhong dfc0a717ce MGS-5307 gpu: integrate 6.4.0.p2 driver
Port M815 GPU patches from 6.2.4.p4 to 6.4.0,
More bug-fixings for vulkan 1.1.3 and NNCTS 1.2.

Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
2019-11-25 15:47:23 +08:00
Yuantian Tang 4f78081163 QSDK-5959 [#ccc] update the platform driver to support layerscape soc
Update the imx platform gpu driver to accommodate layerscape soc,
so that both platform can share the same platform driver.

Signed-off-by: Tang Yuantian <andy.tang@nxp.com>
2019-11-25 15:47:19 +08:00
Xianzhong 929cd8167a MGS-5261 [#imx-1771] fix dummy draw hang for 8MM GPU
dummy draw is required for 8MM GPU errata - HBN1285,
this fix shall be applied for GPU power-up transition,
otherwise GPU shader hang with the unnecessary flush.

check GPU MMU state to enable dummy draw fix only.

Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
2019-11-25 15:47:19 +08:00
Xianzhong 5e9a2ac12a MGS-5284 [#imx-1786] fix GPU panic with vm_mmap failure
When vm_mmap fail, code jump to OnError with error status and userLogical variable != 0.
Then _CMAFSLUnmapUser is called with a invalid virtual address (MdlMap->vmaAddr) and cause panic.

Check userLogical to avoid GPU kernel panic for error handling.

Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
2019-11-25 15:47:18 +08:00
Xianzhong fe4bb99bf8 MGS-5283 [#imx-1784] fix GPU AXI bus error
Fix GPU safe memory with gcvALLOC_FLAG_4GB_ADDR

Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
2019-11-25 15:47:17 +08:00
Xianzhong f79ac90c9a MGS-5283 [#imx-1238] fix GPU memory without CMA
Fix GPU memory problem when disable CMA allocator,
set LINUX_CMA_FSL=0 in gc_hal_kernel_platform_imx.config

Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
2019-11-25 15:47:17 +08:00
Xianzhong 3c6cb83114 MGS-4376 [#imx-1238] fix low performance with CMA allocator
there are lots of PFNs busy message when run GPU tests:
 [  622.370671] alloc_contig_range: [4ea70, 4ea7c) PFNs busy
 [  626.518072] alloc_contig_range: [4ea90, 4ea9c) PFNs busy

this problem is related with CMA migration for fragments,

move CMA allocator after GFP to avoid memory migration,
also fix CMA preempt for contiguous memory request.

can improve CTS and gpubench benchmarks on M850D.

Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
(cherry picked from commit ad77ed61b72c8362b04361acd2deb685fee15436)
2019-11-25 15:47:17 +08:00
Ella Feng 80b7bdd8b4 MGS-5176-2 [#imx-1744] Need free the pages if malloc memory failed
When alloc NonContiguous1MPages, if malloc fail, need free the pages to avoid memory leak

Date: 24 Oct, 2019
Signed-off-by: Xianzhong Li <xianzhong.li@nxp.com>
2019-11-25 15:47:16 +08:00
Ella Feng ce7c0558a8 MGS-5176 [#imx-1744] Coverity issue of 6.4.0.p1.
The intension of this code is that, if current core is null, go to get the next one.
If it's already the last one, no need to do this.

Date: 23 Oct, 2019
Signed-off-by: Ella Feng <ella.feng@nxp.com>
2019-11-25 15:47:15 +08:00
Xianzhong 475535f320 MGS-5252 Integrate Vivante 6.4.0.p1 GPU driver
Fix Coverity high impact and Vulkan 1.1.3 issues

Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
2019-11-25 15:47:15 +08:00
Leonard Crestez d06a28f58e gpu-viv: Fix writecombine/wc build error
Upstream removed the _writecombine aliases

Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
2019-11-25 15:47:14 +08:00
Minjie Zhuang 08f009a338 gpu:Remove dma.h to avoid Linux 5.x build problem
Log:
    ../drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:87:17:
fatal error: dma.h: No such file or directory
     #include <dma.h>
                     ^
    compilation terminated.
    ../scripts/Makefile.build:280: recipe for target
'drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.o' failed
    make[4]: ***
[drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.o] Error 1

Signed-off-by: Minjie Zhuang<minjie.zhuang@nxp.com>
2019-11-25 15:47:13 +08:00
Dong Aisheng cc07713a0d gpu: fix build break due to dma headfile include
It's caused by GPU upgrade overwrite the former fix.

Log:
../drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:87:17: fatal error: dma.h: No such file or directory
 #include <dma.h>
                 ^
compilation terminated.
../scripts/Makefile.build:280: recipe for target 'drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.o' failed
make[4]: *** [drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.o] Error 1

Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
2019-11-25 15:47:12 +08:00
Minjie Zhuang e9371a7092 gpu:Integrate 6.4.0 kernel driver for Linux L5.x
Containing update SCU API and upgrade kernel to 640 driver for Linux L5.x

drivers/mxc/gpu-viv/*

Signed-off-by: Minjie Zhuang<minjie.zhuang@nxp.com>
2019-11-25 15:47:12 +08:00
Minjie Zhuang 97bf98e7f2 gpu: Update SCU API and change the method to distinguish 8QM/8QXP from other boards
The SCU API used in this file is for 4.19 kernel version and need to upgrade,
Need to modify the method to distinguish 8QM.8QXP by compatible string

drivers/mxc/gpu-viv/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx.c
2019-11-25 15:47:10 +08:00
Dong Aisheng 0d03d5163c MLK-21876-11 gpu: fix build for next-20190524 upgrade
Failed on imx v6_v7 build.

../drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:86:17: fatal error: dma.h: No such file or directory
 #include <dma.h>
                 ^
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
2019-11-25 15:47:09 +08:00
Dong Aisheng 35802f523c gpu: imx: fix gpu boot hang by defer driver register time
GPU driver can't support DEFER_PROBE well.
So let's defer the driver register time to make booting ok first.

[    1.255193] galcore: clk_get clk_core failed
[    1.259741] Galcore version 6.2.4.190076
[    1.342888] Unable to handle kernel NULL pointer dereference at virtual address 00000000000001a0
[    1.351377] Mem abort info:
[    1.354134]   ESR = 0x96000004
[    1.357160]   Exception class = DABT (current EL), IL = 32 bits
[    1.363078]   SET = 0, FnV = 0
[    1.366116]   EA = 0, S1PTW = 0
[    1.369244] Data abort info:
[    1.372101]   ISV = 0, ISS = 0x00000004
[    1.375932]   CM = 0, WnR = 0
[    1.378887] [00000000000001a0] user address but active_mm is swapper
[    1.385234] Internal error: Oops: 96000004 [#1] PREEMPT SMP
[    1.390781] Modules linked in:
[    1.393823] Process swapper/0 (pid: 1, stack limit = 0x(____ptrval____))
[    1.400515] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 5.1.0-rc5-next-20190418-00708-g2e89357-dirty #159
[    1.409892] Hardware name: Freescale i.MX8QXP MEK (DT)
[    1.415020] pstate: 60000005 (nZCv daif -PAN -UAO)
[    1.419808] pc : __pm_runtime_resume+0x20/0x74
[    1.424233] lr : _SetPower+0x48/0x54
[    1.427786] sp : ffff00001005b670
[    1.431088] x29: ffff00001005b670 x28: ffff80083bbd1a20
[    1.436387] x27: 0000000000000000 x26: 0000000000000000
[    1.441686] x25: 0000000000000000 x24: 0000000000000001
[    1.446985] x23: 0000000000000001 x22: 0000000000000001
[    1.452285] x21: ffff80083ad42800 x20: ffff80083ad42800
[    1.457584] x19: 0000000000000000 x18: 0000000000000030
[    1.462884] x17: 0000000080000000 x16: ffff000012c80000
[    1.468183] x15: ffff7e0020eb9040 x14: ffff80083f9eff80
[    1.473482] x13: 0000000000000000 x12: 00000000ffffffc1
[    1.478782] x11: 0000000000000005 x10: 0101010101010101
[    1.484081] x9 : 0000000000000000 x8 : ffff80083ad19798
[    1.489380] x7 : 0000000000000000 x6 : 000000000000003f
[    1.494680] x5 : 0000000000000040 x4 : 0000000000000000
[    1.499979] x3 : 00000000000001a0 x2 : ffff000011680470
[    1.505278] x1 : 0000000000000004 x0 : 0000000000000000
[    1.510580] Call trace:
[    1.513017]  __pm_runtime_resume+0x20/0x74
[    1.517099]  _SetPower+0x48/0x54
[    1.520312]  gckOS_SetGPUPower+0x6c/0x148
[    1.524311]  gctaOS_SetGPUPower+0x1c/0x24
[    1.528306]  gctaHARDWARE_Construct+0x8c/0x390
[    1.532733]  gcTA_Construct+0x6c/0x148
[    1.536474]  gckGALDEVICE_Construct+0x364/0x8f8
[    1.540989]  drv_init+0x1ec/0x34c
[    1.544291]  gpu_probe+0x1fc/0x244
[    1.547680]  platform_drv_probe+0x4c/0xb0
[    1.551675]  really_probe+0x1f8/0x2c8
[    1.555323]  driver_probe_device+0x58/0xfc
[    1.559406]  device_driver_attach+0x68/0x70
[    1.563578]  __driver_attach+0x94/0xdc
[    1.567312]  bus_for_each_dev+0x64/0xc0
[    1.571134]  driver_attach+0x20/0x28
[    1.574698]  bus_add_driver+0x148/0x1fc
[    1.578519]  driver_register+0x68/0x120
[    1.582342]  __platform_driver_register+0x4c/0x54
[    1.587035]  gpu_init+0x54/0x94
[    1.590162]  do_one_initcall+0x58/0x1b8
[    1.593985]  kernel_init_freeable+0x1cc/0x288
[    1.598329]  kernel_init+0x10/0x100
[    1.601802]  ret_from_fork+0x10/0x18
[    1.605367] Code: aa0003f3 361000e1 91068263 f9800071 (885f7c60)
[    1.611458] ---[ end trace e1dc4ddcfc5850c0 ]---
[    1.616118] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
[    1.623695] SMP: stopping secondary CPUs
[    1.627606] Kernel Offset: disabled
[    1.631078] CPU features: 0x002,20002008
[    1.634985] Memory Limit: none
[    1.638031] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b ]---

Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
2019-11-25 15:47:09 +08:00
Dong Aisheng ce86151b5c gpu: more build fix
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
2019-11-25 15:47:09 +08:00
Dong Aisheng b54acb9c76 gpu: fix totalram_pages build error
../drivers/mxc/gpu-viv/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx.c: In function ‘_AdjustParam’:
../drivers/mxc/gpu-viv/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx.c:1520:46: error: invalid operands to binary * (have ‘long unsigned int (*)(void)’ and ‘long unsigned int’)
         ((Args->baseAddress + totalram_pages * PAGE_SIZE) > 0x100000000))

Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
2019-11-25 15:47:08 +08:00
Dong Aisheng 5ec394df46 gpu: fix do_gettimeofday build error
This api was removed from kernel. Use new instead.

../drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c: In function ‘gckOS_GetTime’:
../drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:3006:5: error: implicit declaration of function ‘do_gettimeofday’ [-Werror=implicit-function-declaration]
     do_gettimeofday(&tv);

Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
2019-11-25 15:47:07 +08:00
Dong Aisheng a780e02ff3 gpu: fix access_ok build error
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
2019-11-25 15:47:06 +08:00
Xianzhong d421c76cc1 MGS-4530-3 [#imx-1314] include dma-direct.h to fix gpu build for L4.19
error: implicit declaration of function ‘dma_to_phys’; did you mean ‘virt_to_phys’? [-Werror=implicit-function-declaration]
     page = phys_to_page(dma_to_phys(&Allocator->os->device->platform->device->dev, mdl_priv->physical));
                         ^
./include/asm-generic/memory_model.h:54:40: note: in definition of macro ‘__pfn_to_page’
 #define __pfn_to_page(pfn) (vmemmap + (pfn))
                                        ^~~
./include/asm-generic/memory_model.h:78:30: note: in expansion of macro ‘PHYS_PFN’
 #define __phys_to_pfn(paddr) PHYS_PFN(paddr)
                              ^~~~~~~~
./arch/arm64/include/asm/memory.h:255:41: note: in expansion of macro ‘__phys_to_pfn’
 #define phys_to_page(phys) (pfn_to_page(__phys_to_pfn(phys)))
                                         ^~~~~~~~~~~~~
gc_hal_kernel_allocator_cma.c:237:12: note: in expansion of macro ‘phys_to_page’
     page = phys_to_page(dma_to_phys(&Allocator->os->device->platform->device->dev, mdl_priv->physical));
            ^~~~~~~~~~~~

Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
2019-11-25 15:47:06 +08:00
Xianzhong 40cc89f4fc MGS-4530-2 disable busfreq-imx to fix L4.19 dash build
gc_hal_kernel_platform_imx.c:90:14: fatal error: linux/busfreq-imx.h: No such file or directory
 #    include <linux/busfreq-imx.h>

Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
2019-11-25 15:47:06 +08:00
Xianzhong 30638182fd MGS-4530-1 add 6.2.4.p4 gpu driver for L4.19
add mxc config to include drivers/mxc/gpu-viv

Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
2019-11-25 15:47:05 +08:00