Configure vivante gpu on an imx6 solo with kernel 4.9.88

cancel
Showing results for 
Search instead for 
Did you mean: 

Configure vivante gpu on an imx6 solo with kernel 4.9.88

1,370 Views
marcosal
Contributor II

Hi,

I searched in this community and internet in general but so far I don't understand how to enable the gpu vivante with a linux kernel 4.9.88.

My dts has this in the gpu node:

gpu: gpu@00130000 {
compatible = "fsl,imx6dl-gpu", "fsl,imx6q-gpu";
reg = <0x00130000 0x4000>, <0x00134000 0x4000>,
<0x0 0x0>;
reg-names = "iobase_3d", "iobase_2d",
"phys_baseaddr";
interrupts = <0 9 0x04>, <0 10 0x04>;
interrupt-names = "irq_3d", "irq_2d";
clocks = <&clks 143>, <&clks 27>,
<&clks 121>, <&clks 122>,
<&clks 0>;
clock-names = "gpu2d_axi_clk", "gpu3d_axi_clk",
"gpu2d_clk", "gpu3d_clk",
"gpu3d_shader_clk";
resets = <&src 0>, <&src 3>;
reset-names = "gpu3d", "gpu2d";
pu-supply = <&reg_pu>;
};

my .config for the kernel has activated the CONFIG_MXC_GPU_VIV=y

So far what I can see while I boot is this:

galcore: clk_get vg clock failed, disable vg!
Warning: No contiguous memory is reserverd for gpu.!
Warning: Will use default value(134217728) for the reserved memory!
Galcore version 6.2.4.150331
Galcore options:
irqLine = 21
registerMemBase = 0x00130000
registerMemSize = 0x00004000
irqLine2D = 22
registerMemBase2D = 0x00134000
registerMemSize2D = 0x00004000
contiguousSize = 0x08000000
contiguousBase = 0x00000000
externalSize = 0x00000000
externalBase = 0x00000000
bankSize = 0x00000000
fastClear = -1
compression = 15
signal = 48
powerManagement = 1
baseAddress = 0x00000000
physSize = 0x80000000
logFileSize = 0 KB
recovery = 0
stuckDump = 0
gpuProfiler = 0
irqs = -1,
-1, -1,
-1, -1,
-1, -1,
-1, -1,
-1,
registerBases = 0x00000000,
0x00000000, 0x00000000,
0x00000000, 0x00000000,
0x00000000, 0x00000000,
0x00000000, 0x00000000,
0x00000000,
registerSizes = 0x00000800,
0x00000800, 0x00000800,
0x00000800, 0x00000800,
0x00000800, 0x00000800,
0x00000800, 0x00000800,
0x00000800,
chipIDs = 0xFFFFFFFF,
0xFFFFFFFF, 0xFFFFFFFF,
0xFFFFFFFF, 0xFFFFFFFF,
0xFFFFFFFF, 0xFFFFFFFF,
0xFFFFFFFF, 0xFFFFFFFF,
0xFFFFFFFF,
Build options:
gcdGPU_TIMEOUT = 20000
gcdGPU_2D_TIMEOUT = 20000
gcdINTERRUPT_STATISTIC = 1
drv_init(734): Failed to create the GAL device: status=-16
galcore: probe of 130000.gpu failed with error -22

I understand that the vivante driver has problems with linux kernel newer than 4.1.

Please, someone may help me to understand what is missing or if I have done incorrectly?

The kernel 4.9.88 was pulled (with yocto) from codeaurora according to imx documentation.

Regards!

0 Kudos
3 Replies

556 Views
igorpadykov
NXP TechSupport
NXP TechSupport

Hi Marcos

for gpu configurations one can look at Chapter 5 Graphics Linux Manual included in

Linux 4.9.88_2.0.0 BSP & Multimedia Codecs Documentation


Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

556 Views
marcosal
Contributor II

Thanks a lot for the reply igorpadykov‌ :smileyhappy:

I reviewed the documentation and I coulnd't find the setup configuration to fix the problem. Do you know if the problem is that I'm not using the vivante gpu driver as a module or maybe I should configure something else?

Thanks!

0 Kudos

556 Views
marcosal
Contributor II

I would like to have the gpu-viv driver not as a module since I don't have access to insmod in the arm target.

0 Kudos