69774 Commits

Author SHA1 Message Date
Ahmed Ammar
b9fa2ad162 vpu: fix bitwork buffer segment location 2013-06-26 18:35:39 +02:00
Ahmed Ammar
3a6ceacb2b vpu: reserve memory for gpu to reduce load on dma_alloc 2013-06-25 19:20:22 +02:00
Matt Sealey
00c1f3f149 amd-gpu: correct sharedmem allocation
Merge/tree mishap caused this code to go missing.

Signed-off-by: Matt Sealey <matt@genesi-usa.com>
2013-06-06 11:56:18 -05:00
Matt Sealey
7115396a0f amd-gpu: remove aperture concept from the memory manager
Now everything is one big memarena instead of a separate PHYS and EMEM,
and instead of having to micromanage the split between Z160 (always PHYS
here) and GPU (99% of it's allocations come out of EMEM), we give blocks
from the same memory pool.

This should effect some more efficient allocation strategies and allow
Xorg acceleration to proceed with much less movement of data (when it
evicts for low memory in PHYS, it moves it to userspace and uses pixman
to render everything, which is CPU intensive) at the potential cost of
leaving slightly less memory around for the 3D GPU, but userspace apps
using the GPU should be doing better with texture management so as not
to soak up >32MiB of reserved GPU memory needlessly.

Moving away from gsl_memmgr to genalloc is not desirable right now since
the driver requires multiple allocation alignment orders and genalloc can
only really guarantee a minimum alignment (i.e. size of allocation
represented by each bit in the allocation bitmap).

Moving to a dma_alloc_coherent/writecombine-only model also poses a
problem since significant amounts of code expects to be able to find the
"base" GPU memory address and with individual allocations instead of a
pooled area, there is no such thing.

Signed-off-by: Matt Sealey <matt@genesi-usa.com>
2013-06-06 10:38:12 -05:00
Matt Sealey
9ab968f3c9 Merge branch 'master' of github.com:genesi/linux-legacy 2013-05-22 17:29:34 -05:00
Matt Sealey
a4cb4046ce ipu: don't follow interface pixfmt again since 32-bit is problematic
Signed-off-by: Matt Sealey <matt@genesi-usa.com>
2013-05-22 17:28:56 -05:00
Ahmed Ammar
8451d8d6b6 amd-gpu: rework apertures
* increase from 64MB to 96MB total memory
* after some testing it seems that PHYS can be quite small compared
  to EMEM, therefore make the aperture split 16MB/80MB
2013-05-21 18:04:56 +02:00
Ahmed Ammar
1c537cf431 amd-gpu: increase MEM1 area some more for latest eglsink
- fixes crashes with full-screen 720p eglsink
2013-05-05 15:58:11 -05:00
Ahmed Ammar
c532e3bcc9 amd-gpu: increase MEM1 area
- fixes issue where allocations fail after compiz started.
2013-01-20 05:07:04 -06:00
Ahmed Ammar
87baf958d0 Merge branch 'amd-gpu' of git://github.com/genesi/linux-legacy
Conflicts:
	arch/arm/configs/mx51_efikamx_defconfig
	drivers/mxc/amd-gpu/gsl_hal.c
2013-01-20 04:03:20 -06:00
Richard Zhao
927c89c489 ENGR00162464 update pm4 microcode: pm4_microcode_r18_20111020.a.inl.rel
It fix gpu hang.

Signed-off-by: Richard Zhao <richard.zhao@freescale.com>
2012-12-10 21:04:18 -06:00
Matt Sealey
7d6f9461af font: add the Fixed 8x16 console font to the kernel.
It's a bit like Terminus, but more rounded and less harsh on the eyes. Ubuntu has shipped
it as their default console font for years, before they switched to the "Ubuntu" font. Putting
this in the kernel has practically no benefit except to reduce the amount of "glitching"
swapping the built-in kernel console font for a new one halfway through boot when you see the
kernel output on a screen.

Note to gain the benefit of it not swapping the font around again when "consolefont" or
similar service starts, you need to set your font to Uni3-Fixed16.psf.gz or something very
similar.
2012-12-10 20:49:34 -06:00
Matt Sealey
63f040b7ad amd-gpu: use kzalloc instead of kmalloc/memset 2012-12-10 20:43:42 -06:00
Xinyu Chen
4c741b2e31 ENGR00160722 amd gpu: add best fit algorithm to memory manager
The AMD gpu driver memory manager is stupid to allocating
a memory block from the first free block. Neither check the
best fit free block. Here just add a little codes to
let allocation to find a best size fitted free block.
To avoid memory fragement.

Signed-off-by: Xinyu Chen <xinyu.chen@freescale.com>
2012-12-10 20:42:50 -06:00
Richard Liu
f7501b49b9 ENGR00162193 amd gpu: fixed random gsl_kmod failure
increase max process number to fix gsl_kmod open issue

Signed-off-by: xianzhong <b07117@freescale.com>
Signed-off-by: Richard Liu <r66033@freescale.com>

Conflicts:

	drivers/mxc/amd-gpu/include/gsl_buildconfig.h
2012-12-10 20:42:17 -06:00
Matt Sealey
c50431b567 BFS: back out BFS scheduler for stability reasons
It works faster sometimes, other times not.. the code is so old now
2012-12-10 20:18:47 -06:00
Matt Sealey
102933f39b amd-gpu: ensure timestamp read posted to CPU before returning 2012-12-10 19:36:19 -06:00
Matt Sealey
7b5ab2e982 amd-gpu: more sane way of doing an RB write 2012-12-10 19:36:18 -06:00
Matt Sealey
e98a2a565a amd-gpu: memory barrier additions in MMU code to ensure pagetables are posted 2012-12-10 19:36:18 -06:00
Matt Sealey
fbbe86a046 amd-gpu: ringbuffer polling/timestamp buffer alignment fix
According to Qualcomm it can be at a 4-byte boundary, but for using MMU
it needs to be at a page boundary
2012-12-10 19:36:17 -06:00
Matt Sealey
5395604743 amd-gpu: alignment for MMU page tables should be page-aligned 2012-12-10 19:36:16 -06:00
Matt Sealey
3b58ae2463 amd-gpu: don't use writecombining for remapping the sharedmem space even with MMU 2012-12-10 18:38:04 -06:00
Matt Sealey
be53471e10 amd-gpu: barriers in ringbuffer submit to ensure that the buffer is posted first 2012-12-10 18:36:59 -06:00
Matt Sealey
0c0087fe73 amd-gpu: memory barrier after waittimestamp ioctl to ensure buffers posted 2012-12-10 18:33:41 -06:00
Matt Sealey
287a1576a6 amd-gpu: memory barrier for safety after issueibcmds sync mem
Makes sense (and is from Qualcomm's driver) since we cannot guarantee
the memory writes have finished posting before we submit them to the
GPU.
2012-12-10 18:22:37 -06:00
Matt Sealey
f1ccc6aab6 amd-gpu: remove unused, non-kernelish debug_pm4 module
This is just causing some messy code.
2012-12-10 18:14:48 -06:00
Matt Sealey
95b52ba9b3 amd-gpu: remove device_clock ioctl
No userspace users except a reference in libkgsl.so which is never called.

kgsl_device_clock() is left in (but preprocessed out) since it has a fairly
interesting behavior in turning the autogating on and off which is not the
same as turning the actual clocks on and off and could be useful with
modification for further refinement of power management at a later date.
2012-12-10 18:11:27 -06:00
Matt Sealey
d09ae76082 amd-gpu: remove add_timestamp ioctl
No userspace activity on this ioctl means it needn't be implemented.
2012-12-10 18:00:59 -06:00
Matt Sealey
3b59a26f78 amd-gpu: remove regwrite ioctl and associated infrastructure
kgsl_device_regwrite() still exists as it is used for a single point in
the driver (reading timestamp for Z430 ringbuffer) dependent on a build
flag. This flag is not enabled but it is not within the scope of this
patch to actually change this (if it is ever enabled it will be quite
obvious what to do - use kgsl_yamato_regwrite directly as it is entirely
Z430-specific)
2012-12-10 16:25:50 -06:00
Matt Sealey
16d6513c0b amd-gpu: remove unused waitirq ioctl and associated infrastructure
This is implemented in the "current" userspace libkgsl.so but in fact
since the ioctl is deprecated, there are no users for it and no evidence
of it ever being used in real life can be presented. Therefore we can
just take out the few things it does and it's single-use dependencies.
2012-12-10 16:13:52 -06:00
Matt Sealey
9b0b2333c8 amd-gpu: remove unused files and logging infrastructure which was never enabled 2012-12-10 16:09:51 -06:00
Matt Sealey
9e902b2d15 Merge branch 'remove-bfs', remote-tracking branch 'origin' into amd-gpu 2012-11-25 00:07:41 -06:00
Matt Sealey
cb417eaf14 Back out BFS v376, step 1
Such an old version of BFS is not maintained and while it gave us some
noticable benefits, it is not worth dealing with the problems it could
cause.

This reverts commit 4259e4284d.
2012-11-20 12:08:37 -06:00
Matt Sealey
c0489d5cdc amd-gpu: remove unneeded barriers on hardware access
matches Freescale 2.6.38 kernel (ENGR00171209)
2012-11-19 21:32:45 +00:00
Matt Sealey
42f79c36bf amd-gpu: cleaned/added extra debug, plus use kzalloc instead of kmalloc/memset
Adds similar functionality as the following Freescale patch:

ENGR00142591 GPU: add some print message to help debug
2012-11-19 21:20:43 +00:00
Xinyu Chen
210b9c4040 ENGR00160722 amd gpu: add best fit algorithm to memory manager
The AMD gpu driver memory manager is stupid to allocating
a memory block from the first free block. Neither check the
best fit free block. Here just add a little codes to
let allocation to find a best size fitted free block.
To avoid memory fragement.

Signed-off-by: Xinyu Chen <xinyu.chen@freescale.com>
2012-11-19 11:52:31 -06:00
Richard Zhao
1cae50aa16 ENGR00162464 update pm4 microcode: pm4_microcode_r18_20111020.a.inl.rel
It fix gpu hang.

Signed-off-by: Richard Zhao <richard.zhao@freescale.com>
2012-11-19 11:41:33 -06:00
Richard Liu
8482a4dae7 ENGR00162193 amd gpu: fixed random gsl_kmod failure
increase max process number to fix gsl_kmod open issue

Signed-off-by: xianzhong <b07117@freescale.com>
Signed-off-by: Richard Liu <r66033@freescale.com>

Conflicts:

	drivers/mxc/amd-gpu/include/gsl_buildconfig.h
2012-11-19 11:41:03 -06:00
Matt Sealey
d21c266824 siihdmi: add 1600x900 to the common not-quite-1080p mode matching 2012-11-16 21:45:35 +00:00
Matt Sealey
d1156b1817 backlight: match "DISP3 BG - DI1" as well as "DISP3 BG", solving issue with Smartbook backlight not turning off during screen blank
Mistaken use of strcmp vs. proper use of strncmp caused this
2012-07-31 15:04:57 -05:00
Matt Sealey
89813bb753 gpu: fix the weird gpummu/nogpummu memory reservation/allocation mess, and disable the gpummu again for maximum stability 2012-05-16 07:09:18 -05:00
Matt Sealey
44a6231768 siihdmi: introduce siihdmi.nohotplug=1 argument to disable the hotplug handler globally 2012-04-20 12:37:20 -05:00
Matt Sealey
455affb66e siihdmi: reintroduce the 480-600ms sleep after reset to allow hotplug to settle. 2012-04-19 19:15:49 -05:00
Matt Sealey
73cae9887a siihdmi: enable DEBUG so that DBG() messages are output 2012-04-19 17:46:57 -05:00
Matt Sealey
0adb2f1d0b siihdmi: strncmp would nuke if the mode in the current monitor database had no name 2012-04-19 16:54:34 -05:00
Matt Sealey
af99f78e82 siihdmi: updated checkpatch run, fix a few other things including a serious memset argument order problem (argh!)
scripts/checkpatch.pl -f drivers/video/mxc/siihdmi.c --ignore=LONG_LINE,C99_COMMENTS
total: 0 errors, 0 warnings, 1555 lines checked

NOTE: Ignored message types: C99_COMMENTS LONG_LINE

drivers/video/mxc/siihdmi.c has no obvious style problems and is ready for submission.
2012-04-19 15:02:30 -05:00
Matt Sealey
c00322177f siihdmi: fix some checkpatch errors and realign some stuff to reduce warnings. Now we're only guilty of going over 80 columns, but Camelot is a silly place. 2012-04-19 14:43:34 -05:00
Matt Sealey
64cf5e0b27 siihdmi: downgrade to 640x480 output while getting EDID to match HDMI specification 2012-04-19 14:03:47 -05:00
Matt Sealey
9960ff68e1 siihdmi: clarify power modes debug 2012-04-19 14:01:42 -05:00
Matt Sealey
37cd50e9ff siihdmi: strncmp against modedb instead of structure memcmp to save time and effort matching CEA VIC 2012-04-19 13:59:01 -05:00