efikamx:linux-kernel.git
6 years agohoneypot master
Matt Sealey [Wed, 21 Sep 2011 18:10:53 +0000 (13:10 -0500)]
honeypot

6 years agobump for release (.26)
Matt Sealey [Wed, 21 Sep 2011 18:09:50 +0000 (13:09 -0500)]
bump for release (.26)

6 years agoENGR00151762 vpu: Fix system hang due to long time video playback on mx51
Sammy He [Wed, 21 Sep 2011 15:38:44 +0000 (10:38 -0500)]
ENGR00151762 vpu: Fix system hang due to long time video playback on mx51

Fix system hang due to long time video playback. This issue is only
on i.MX51 platfrom due to changing vpu clock parent in vpu_enable/
disable. Set vpu clock parent to axi_a forever to fix it.

Signed-off-by: Sammy He <r62914@freescale.com>
6 years agosiihdmi: make 1080p and 720p autodetection a little more panel-friendly
Matt Sealey [Sat, 17 Sep 2011 02:38:49 +0000 (21:38 -0500)]
siihdmi: make 1080p and 720p autodetection a little more panel-friendly

Essentially where before we simply picked a 1080p or 720p mode and then fall back to
EDID preferred mode, now we basically do

if (teneighty)
if (native is 1680x1050, 1440x900) return native
if (1080p) return 1080p

if (seventwenty)
if (native is 1366x768, 1360x768, 1280x768, 1280x800, 1024x768) return native
if (720p) return 720p

fallback: use preferred mode

This means far more "close to 720p" modes for plasmas are used instead of 720p with
a scaler, and for monitors that SAY they can do 1080p (but it's actually scaled down
or overscanned because native res is smaller) then use panel native instead for a
much better experience.

Tested on every monitor we have available and matches native res on most, and the
best mode fallback is used as per previous mode selection on the few fringe cases
left. Experience is crisper displays.

Note that if teneighty is selected, the modes returned absolutely will suck at video
playback performance - mfw_v4lsink will fail to fullscreen at anything above 1366x768
due to lack of bandwidth. 1440x900 may work if you're lucky. mfw_xvimagesink simply
cannot convert YV12 to YUY2 fast enough to work (and double buffering seems broken).
It is therefore still disabled by default.

Also: add a siihdmi.vic= option, so you can give it any CEA VIC from the CEA spec
(look for an entry in drivers/video/cea861_modes.c and use that number) if it's
still in the modelist.

Requesting specific video modes requires some duplication of option parsing and I
feel that's really not going to give people a reasonable experience, so it's not
being done right now. Investigation into exactly what the mitigating factor for
a lower_margin < 2 actually working is underway so we can cull less modes and give
people much better monitor experience once we get XRandR working.

6 years agoAdd use counter to the overlay (inspired by a BoundaryDevices patch)
Matt Sealey [Sat, 17 Sep 2011 02:25:40 +0000 (21:25 -0500)]
Add use counter to the overlay (inspired by a BoundaryDevices patch)

6 years agovpu: bump driver as close to 11.08 as possible without breaking anything
Matt Sealey [Fri, 16 Sep 2011 04:39:51 +0000 (23:39 -0500)]
vpu: bump driver as close to 11.08 as possible without breaking anything

6 years agosiihdmi: remove broken _remove_mode function in favor of the original, working open...
Matt Sealey [Fri, 16 Sep 2011 04:14:27 +0000 (23:14 -0500)]
siihdmi: remove broken _remove_mode function in favor of the original, working open-coded solution

6 years agoUse IT modes over CEA modes by default
Matt Sealey [Wed, 14 Sep 2011 17:25:27 +0000 (12:25 -0500)]
Use IT modes over CEA modes by default

6 years agoSPI fixes from BoundaryDevices. Re-enable MTD!
Troy Kisky [Mon, 12 Sep 2011 16:26:33 +0000 (11:26 -0500)]
SPI fixes from BoundaryDevices. Re-enable MTD!

6 years agoSeveral SGTL5000 fixes from BoundaryDevices
Troy Kisky [Mon, 12 Sep 2011 15:20:19 +0000 (10:20 -0500)]
Several SGTL5000 fixes from BoundaryDevices

6 years agoBFS 376
Matt Sealey [Mon, 12 Sep 2011 14:59:12 +0000 (09:59 -0500)]
BFS 376

6 years agoBFS scheduler v376 - does a great deal for audio stuttering
Matt Sealey [Mon, 12 Sep 2011 14:31:15 +0000 (09:31 -0500)]
BFS scheduler v376 - does a great deal for audio stuttering

6 years agoDisable preemption and CPU frequency governors other than performance, solves some...
Matt Sealey [Mon, 12 Sep 2011 13:57:48 +0000 (08:57 -0500)]
Disable preemption and CPU frequency governors other than performance, solves some stability problems probably down to staging and GPU driver. Update HZ value to be closer to the minimum i.MX timer tick for a little better responsiveness.

6 years agocpufreq: allow building without cpu frequency drivers
Matt Sealey [Fri, 9 Sep 2011 21:49:21 +0000 (16:49 -0500)]
cpufreq: allow building without cpu frequency drivers

6 years agogpu: maximum apertures = 2 now. clarify flags debug (multiple ways -> %x)
Matt Sealey [Mon, 5 Sep 2011 17:11:03 +0000 (12:11 -0500)]
gpu: maximum apertures = 2 now. clarify flags debug (multiple ways -> %x)

6 years agogpu: correct varargs debug (memdesc is a pointer NOT static!) to fix ridiculous sizes...
Matt Sealey [Sun, 4 Sep 2011 20:02:04 +0000 (15:02 -0500)]
gpu: correct varargs debug (memdesc is a pointer NOT static!) to fix ridiculous sizes reported for sizebytes/offsetbytes in read/write operations.
Also add scatterlist and gsl_property_t debugging so the thing is more readable as a whole..

6 years agogpu: move files out of common/ since there's no need for a seperate directory. This...
Matt Sealey [Wed, 31 Aug 2011 16:22:26 +0000 (11:22 -0500)]
gpu: move files out of common/ since there's no need for a seperate directory. This also means we can make drivers/mxc/amd-gpu/gsl_*.i to see preprocessed output and get hints as to what is being compiled in and what the final code is like
additional minor changes:
 * rename PAGE_SIZE register MH_PAGE_SIZE in yamato/22/yamato_genreg.h (although this is an unused debug file so far)
 * remove references to stdio files in gsl_debug_pm4.c (will come in handy later)

6 years agogpu: disabling the clip mask should improve performance but it actually causes the...
Matt Sealey [Tue, 30 Aug 2011 20:27:37 +0000 (15:27 -0500)]
gpu: disabling the clip mask should improve performance but it actually causes the depth buffer to act weird because I don't think our userspace/kernel combination handles it properly..

6 years agogpu: don't clear the Z160 global on context destroy, do it on device close instead...
Matt Sealey [Tue, 30 Aug 2011 18:33:11 +0000 (13:33 -0500)]
gpu: don't clear the Z160 global on context destroy, do it on device close instead (this is part of a Freescale patch ENGR00142363 for WindowsCE but makes a hell of a lot o srense for Linux too)

6 years agogpu: enable HAL debug
Matt Sealey [Tue, 30 Aug 2011 17:38:48 +0000 (12:38 -0500)]
gpu: enable HAL debug
gpu: pull in some command stream differences from Qualcomm's MSM kernel (might fix some intermittent GPU hangs)
display: enable quick testing of non-mmu operation (hangs X right now)

6 years agogpu: move hal abstraction to the same place as the other files
Matt Sealey [Tue, 30 Aug 2011 13:15:24 +0000 (08:15 -0500)]
gpu: move hal abstraction to the same place as the other files

6 years agogpu driver: remove most of the remaining "abstraction" for OS mutex and so on
Matt Sealey [Mon, 29 Aug 2011 19:55:29 +0000 (14:55 -0500)]
gpu driver: remove most of the remaining "abstraction" for OS mutex and so on

 * mutex, events, sleeps, process id unabstracted
 * defines for function types (inline, extern) unabstracted
 * defines for debug assert change name (KOS_ASSERT -> DEBUG_ASSERT) and left disabled
 * driver now warns, if logging is enabled, that interruptible mutex locks are interrupted (which never happens in reality but it fixes a warning)
 * remove fine grained locking "feature" since it's not enabled (and Qualcomm's public driver does not even implement it)
 * refine mutex initialization where it's still present - don't try and allocate mutex structures where they're always used, just make them parts of the structure (struct mutex * -> struct mutex)
 * whitespace police

6 years agogpu os abstraction: more unused functions for memory leak checking now gone
Matt Sealey [Fri, 26 Aug 2011 18:02:03 +0000 (13:02 -0500)]
gpu os abstraction: more unused functions for memory leak checking now gone

6 years agogpu os abstraction: kos_malloc/kos_free -> kmalloc/kfree. Remove SYMBIAN and WIN32...
Matt Sealey [Fri, 26 Aug 2011 17:58:10 +0000 (12:58 -0500)]
gpu os abstraction: kos_malloc/kos_free -> kmalloc/kfree. Remove SYMBIAN and WIN32 code

6 years agogpu os abstraction: remove _LINUX switches and all other OS code
Matt Sealey [Fri, 26 Aug 2011 17:02:51 +0000 (12:02 -0500)]
gpu os abstraction: remove _LINUX switches and all other OS code

6 years agogpu os abstraction: remove some wince/symbian/brew stuff and atoi/strtoul abstraction...
Matt Sealey [Fri, 26 Aug 2011 16:16:25 +0000 (11:16 -0500)]
gpu os abstraction: remove some wince/symbian/brew stuff and atoi/strtoul abstractions (unused)

6 years agogpu os abstraction: kos_thread_create/destroy was only used for !LINUX, so just get...
Matt Sealey [Fri, 26 Aug 2011 16:08:56 +0000 (11:08 -0500)]
gpu os abstraction: kos_thread_create/destroy was only used for !LINUX, so just get rid of it

6 years ago__int64 custom typedef --> standard __s64 linux/type.h
Matt Sealey [Fri, 26 Aug 2011 16:01:22 +0000 (11:01 -0500)]
__int64 custom typedef --> standard __s64 linux/type.h

6 years agogpu os abstraction: remove stats api (unused)
Matt Sealey [Fri, 26 Aug 2011 15:52:21 +0000 (10:52 -0500)]
gpu os abstraction: remove stats api (unused)

6 years agogpu os abstraction: strcpy, strncpy, strcat, strcmp, strncmp, strlen all using Linux...
Matt Sealey [Fri, 26 Aug 2011 15:40:35 +0000 (10:40 -0500)]
gpu os abstraction: strcpy, strncpy, strcat, strcmp, strncmp, strlen all using Linux ones now

6 years agogpu os abstraction: remove physical memory API (unused)
Matt Sealey [Fri, 26 Aug 2011 15:37:02 +0000 (10:37 -0500)]
gpu os abstraction: remove physical memory API (unused)

6 years agogpu os abstraction: missed an include for msleep
Matt Sealey [Fri, 26 Aug 2011 15:34:01 +0000 (10:34 -0500)]
gpu os abstraction: missed an include for msleep

6 years agogpu os abstraction: remove redundant cross-process memory allocators (makes no sense...
Matt Sealey [Fri, 26 Aug 2011 15:32:41 +0000 (10:32 -0500)]
gpu os abstraction: remove redundant cross-process memory allocators (makes no sense in a kernel and not used anyway)

6 years agogpu os abstraction: kos_sleep -> msleep
Matt Sealey [Fri, 26 Aug 2011 15:29:29 +0000 (10:29 -0500)]
gpu os abstraction: kos_sleep -> msleep

6 years agogpu os abstraction: remove unused functions for system information
Matt Sealey [Fri, 26 Aug 2011 15:27:46 +0000 (10:27 -0500)]
gpu os abstraction: remove unused functions for system information

6 years agogpu os abstraction: start with memset, memcmp, memcpy as low hanging fruit
Matt Sealey [Fri, 26 Aug 2011 15:23:31 +0000 (10:23 -0500)]
gpu os abstraction: start with memset, memcmp, memcpy as low hanging fruit

6 years agogpu: logging abstraction cleanups. don't re-use PAGE_SIZE in mmu block definition...
Matt Sealey [Thu, 25 Aug 2011 18:09:21 +0000 (13:09 -0500)]
gpu: logging abstraction cleanups. don't re-use PAGE_SIZE in mmu block definition (rename to MH_PAGE_SIZE)

6 years agogpu logging: fix more unsigned int -> uint (and %d -> %u), fix a few value debug...
Matt Sealey [Thu, 25 Aug 2011 17:46:25 +0000 (12:46 -0500)]
gpu logging: fix more unsigned int -> uint (and %d -> %u), fix a few value debug mishaps (0x08x -> 0x%08x)

6 years agogsl memory manager: whitespace policing mostly, break pooled functions out for better...
Matt Sealey [Thu, 25 Aug 2011 16:06:24 +0000 (11:06 -0500)]
gsl memory manager: whitespace policing mostly, break pooled functions out for better readability (not compiled yet). Some other stuff that isn't important right now.

6 years agofb: scale triple buffers down to double buffers to reduce likelihood of extra memory...
Matt Sealey [Thu, 25 Aug 2011 15:49:22 +0000 (10:49 -0500)]
fb: scale triple buffers down to double buffers to reduce likelihood of extra memory allocations

6 years agobump reserved memory for all platforms to 16MB - reduction of 16MB from 'top, increas...
Matt Sealey [Thu, 25 Aug 2011 15:37:01 +0000 (10:37 -0500)]
bump reserved memory for all platforms to 16MB - reduction of 16MB from 'top, increase of 8MB from 'book. 16MB is enough to hold a double buffered 1080p
screen at 32bit. We will simply drop from 3*yres to 2*yres if we're pushing the limit in the framebuffer driver.

6 years agoGPU debug: pid=%d -> pid=0x%08x, device_id=%d -> %D, for coherent debug. Also shorten...
Matt Sealey [Thu, 25 Aug 2011 14:42:46 +0000 (09:42 -0500)]
GPU debug: pid=%d -> pid=0x%08x, device_id=%d -> %D, for coherent debug. Also shortened some "unsigned int" markings to "uint" to be more concise.

6 years agoamd-gpu: extremely chatty logging, add CONFIG_MXC_AMD_GPU_LOGGING=y to config to...
Matt Sealey [Wed, 24 Aug 2011 22:30:20 +0000 (17:30 -0500)]
amd-gpu: extremely chatty logging, add CONFIG_MXC_AMD_GPU_LOGGING=y to config to enable.

6 years agodisable hal debug output since it's not needed right now
Matt Sealey [Thu, 11 Aug 2011 14:28:44 +0000 (09:28 -0500)]
disable hal debug output since it's not needed right now

6 years agoReduce number of apertures needed for GPU memory access by refining aperture setup...
Matt Sealey [Thu, 11 Aug 2011 14:22:55 +0000 (09:22 -0500)]
Reduce number of apertures needed for GPU memory access by refining aperture setup to use PHYS and MMU/EMEM
apertures instead of PHYS and EMEM1/MMU and EMEM2. Modify setup to utilize all of reserved memory for PHYS
aperture instead of splitting. Now, a 32MB (in platform fixup, mx51_efikamx.c) reserved block is utilized as
the PHYS, or an 8MB chunk is carved out of coherent memory space (DMA allocation) if reservation is disabled.
Normal memory usage for a desktop with browser, office and media player is well over 64MB but the Xorg driver
will evict unused pixmaps where necessary to keep the current performance pixmaps in place.

6 years agorefine GSL memory sizes in reserved region to 24MB for physical and 8MB other
Matt Sealey [Thu, 4 Aug 2011 21:17:02 +0000 (16:17 -0500)]
refine GSL memory sizes in reserved region to 24MB for physical and 8MB other

6 years agoBump to .25 for release-prep
Matt Sealey [Wed, 3 Aug 2011 00:32:44 +0000 (19:32 -0500)]
Bump to .25 for release-prep

6 years agoReinstate the 32MB reserved area for GPU since DMA allocations of large sizes just...
Matt Sealey [Tue, 2 Aug 2011 22:08:32 +0000 (17:08 -0500)]
Reinstate the 32MB reserved area for GPU since DMA allocations of large sizes just don't work.
Correct EMEM2 and PHYS area sizes for GPU to 16MB each (may need refinement)
Bump max zone order anyway

6 years agowhitespace police
Matt Sealey [Mon, 1 Aug 2011 13:24:37 +0000 (08:24 -0500)]
whitespace police

6 years agofb: re-enable second framebuffer
Matt Sealey [Mon, 1 Aug 2011 13:22:02 +0000 (08:22 -0500)]
fb: re-enable second framebuffer

6 years agofb: only change alignment for non-overlay vars. fixes stride issues on v4lsink.
Matt Sealey [Sat, 30 Jul 2011 21:33:10 +0000 (16:33 -0500)]
fb: only change alignment for non-overlay vars. fixes stride issues on v4lsink.

6 years agosiihdmi: when GNOME decides that it should "put display to sleep" it sends the POWERD...
Matt Sealey [Fri, 29 Jul 2011 23:15:03 +0000 (18:15 -0500)]
siihdmi: when GNOME decides that it should "put display to sleep" it sends the POWERDOWN blank type and we were dutifully powering the SII9022 down to D2 state. Unfortunately without resetting the chip there's very little way to bring it back (and certainly "unblank" does not do what is necessary to do so). So, just live with a standard screen blank for now.

6 years agofb: map reserved memory as writecombine to match non-reserved allocations
Matt Sealey [Fri, 29 Jul 2011 17:45:05 +0000 (12:45 -0500)]
fb: map reserved memory as writecombine to match non-reserved allocations

6 years agoARM: 5701/1: ARM: copy_page.S: take into account the size of the cache line
Kirill A. Shutemov [Tue, 15 Sep 2009 09:26:33 +0000 (10:26 +0100)]
ARM: 5701/1: ARM: copy_page.S: take into account the size of the cache line

Optimized version of copy_page() was written with assumption that cache
line size is 32 bytes. On Cortex-A8 cache line size is 64 bytes.

This patch tries to generalize copy_page() to work with any cache line
size if cache line size is multiple of 16 and page size is multiple of
two cache line size.

After this optimization we've got ~25% speedup on OMAP3(tested in
userspace).

There is test for kernelspace which trigger copy-on-write after fork():

 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>

 #define BUF_SIZE (10000*4096)
 #define NFORK 200

 int main(int argc, char **argv)
 {
         char *buf = malloc(BUF_SIZE);
         int i;

         memset(buf, 0, BUF_SIZE);

         for(i = 0; i < NFORK; i++) {
                 if (fork()) {
                         wait(NULL);
                 } else {
                         int j;

                         for(j = 0; j < BUF_SIZE; j+= 4096)
                                 buf[j] = (j & 0xFF) + 1;
                         break;
                 }
         }

         free(buf);
         return 0;
 }

Before optimization this test takes ~66 seconds, after optimization
takes ~56 seconds.

Signed-off-by: Siarhei Siamashka <siarhei.siamashka@nokia.com>
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
6 years agoARM: 6945/1: Add unwinding support for division functions
Laura Abbott [Fri, 27 May 2011 16:23:16 +0000 (17:23 +0100)]
ARM: 6945/1: Add unwinding support for division functions

The software division functions never had unwinding annotations
added. Currently, when a division by zero occurs the backtrace shown
will stop at Ldiv0 or some completely unrelated function. Add
unwinding annotations in hopes of getting a more useful backtrace
when a division by zero occurs.

Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
Acked-by: Dave Martin <dave.martin@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
6 years agosiihdmi: don't turn the chip off just because there's no receiver sense for quirky...
Matt Sealey [Fri, 29 Jul 2011 00:03:22 +0000 (19:03 -0500)]
siihdmi: don't turn the chip off just because there's no receiver sense for quirky monitors like the Samsung SyncMaster E1920

6 years agogpu: use ilog2 instead of custom int-to-float messing around (backported from Qualcom...
Matt Sealey [Fri, 29 Jul 2011 00:02:50 +0000 (19:02 -0500)]
gpu: use ilog2 instead of custom int-to-float messing around (backported from Qualcomm's GSL)

6 years agodisplay: go back to reserving a framebuffer so the base address doesn't move around...
Matt Sealey [Thu, 28 Jul 2011 22:59:54 +0000 (17:59 -0500)]
display: go back to reserving a framebuffer so the base address doesn't move around on boot and make X go crazy.
8MB on Smartbook, 32MB on Smarttop. Dynamically allocating the framebuffer for 1920x1080-32 didn't work with the
dynamic method anyway (sigh) due to memory fragmentation.
Also, align framebuffer stride to 32 bytes to fix Z430 acceleration in X

6 years agosiihdmi: don't use a timeout to enter the hotplug event handler, fixes some twitchy...
Matt Sealey [Thu, 28 Jul 2011 22:58:50 +0000 (17:58 -0500)]
siihdmi: don't use a timeout to enter the hotplug event handler, fixes some twitchy displays (Samsung SyncMaster E1920 in particular)

6 years agoRevert "Revert "bump to .24 for release""
Matt Sealey [Thu, 21 Jul 2011 00:50:22 +0000 (19:50 -0500)]
Revert "Revert "bump to .24 for release""

This reverts commit e8d079d4a5d1cab2c384d08dca0fc67cff3832df.

6 years agoRevert "ENGR00131389: remove "area->vm_ops->open" calling in imx-pcm.c to support...
Matt Sealey [Thu, 21 Jul 2011 00:49:47 +0000 (19:49 -0500)]
Revert "ENGR00131389: remove "area->vm_ops->open" calling in imx-pcm.c to support IRAM playback"

This reverts commit 4dda9e941d51fc283bf4f6e5afd0cbec52ccb72b.

6 years agoRevert "bump to .24 for release"
Matt Sealey [Thu, 21 Jul 2011 00:49:22 +0000 (19:49 -0500)]
Revert "bump to .24 for release"

This reverts commit 89ac8f6c13a69c1838996657a5fb0ddae7d66b4f.

6 years agobump to .24 for release
Matt Sealey [Sat, 16 Jul 2011 00:50:05 +0000 (19:50 -0500)]
bump to .24 for release

6 years agomatch the latest BSP caching policy for IPU - it seems that the Flash performance...
Matt Sealey [Tue, 12 Jul 2011 16:29:11 +0000 (11:29 -0500)]
match the latest BSP caching policy for IPU - it seems that the Flash performance update actually causes some subtle artefacts which are not acceptable to users. Go from writecombine (wrong) to a custom writethrough (weird) to the standard writethrough (correct but lower performance) and remove the define that swaps it on or off

6 years agoMove modedb file to drivers/video with the other modedbs
Matt Sealey [Tue, 12 Jul 2011 16:24:56 +0000 (11:24 -0500)]
Move modedb file to drivers/video with the other modedbs

6 years agosiihdmi: move some audio muting around based on Silicon Image example code
Matt Sealey [Tue, 12 Jul 2011 16:02:58 +0000 (11:02 -0500)]
siihdmi: move some audio muting around based on Silicon Image example code
siihdmi: don't reconfigure the SII9022 just because there was a mode change if the mode is identical
ipuv3fb: default to a real 640x480 mode and not a "dummy" xres/yres
modedb: move cea modes to an extern so it only gets included once in the kernel
also: whitespace police

6 years agoPut IRAM audio back in as a config option, make imx-pcm a module..
Matt Sealey [Mon, 11 Jul 2011 17:59:01 +0000 (12:59 -0500)]
Put IRAM audio back in as a config option, make imx-pcm a module..

6 years agoENGR00131389: remove "area->vm_ops->open" calling in imx-pcm.c to support IRAM playback
Matt Sealey [Mon, 11 Jul 2011 17:56:11 +0000 (12:56 -0500)]
ENGR00131389: remove "area->vm_ops->open" calling in imx-pcm.c to support IRAM playback

6 years agoconfig update: stop using IRAM for audio buffers
Matt Sealey [Mon, 4 Jul 2011 22:59:42 +0000 (17:59 -0500)]
config update: stop using IRAM for audio buffers

6 years agosiihdmi: remove hotplug option, enabled by default now for everyone
Matt Sealey [Mon, 4 Jul 2011 22:57:05 +0000 (17:57 -0500)]
siihdmi: remove hotplug option, enabled by default now for everyone

6 years agoENGR00140737-1 - ARM: plat-mxc: Disable child clocks before parent clocks
Danny Nold [Mon, 4 Jul 2011 22:55:18 +0000 (17:55 -0500)]
ENGR00140737-1 - ARM: plat-mxc: Disable child clocks before parent clocks

- Reversed ordering in which clocks are disabled.  Child clocks should
be disabled before parent (root) clocks.

Signed-off-by: Danny Nold <dannynold@freescale.com>
6 years agosiihdmi: backport 2.6.35 driver to .31 - hotplug is the biggest major feature
Matt Sealey [Mon, 4 Jul 2011 19:26:27 +0000 (14:26 -0500)]
siihdmi: backport 2.6.35 driver to .31 - hotplug is the biggest major feature

6 years agoremove unused audio data
Matt Sealey [Mon, 4 Jul 2011 18:14:26 +0000 (13:14 -0500)]
remove unused audio data

6 years agoENGR00140702-3 mxc_uart: refine driver for stable Bluetooth
Zhang Jiejing [Fri, 1 Apr 2011 02:40:35 +0000 (10:40 +0800)]
ENGR00140702-3 mxc_uart: refine driver for stable Bluetooth

- Remove tty_buffer_request_room() in mxcuart_readdma_callback()
  tty_insert_flip_string will call tty_buffer_request_room() in
  his loop, but if we call it here, it will return 0, and we
  will lost some read data.

- Remove tasklet when dma_writeback, it's will cause hci lost data
  when write(tx).
  since when this dma callback maybe re-order the next buffer data,
  it will mess up data, make it to a direct call to perpare next
  dma buffer.

Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
6 years agoENGR00122019 SAHARA: Add padding around buffers to prevent cache incoherency
Anish Trivedi [Mon, 11 Apr 2011 19:49:02 +0000 (14:49 -0500)]
ENGR00122019 SAHARA: Add padding around buffers to prevent cache incoherency

Added padding of 64 bytes (cache line size for Cortex-A8) around
buffers that are used by the hardware to prevent any cache
coherency problems that could arise if buffers share a cache line
with some other data that is used by the CPU.

Signed-off-by: Anish Trivedi <anish@freescale.com>
6 years agoENGR00141478-2 SAHARA: Move header file to include directory
Anish Trivedi [Fri, 8 Apr 2011 15:11:54 +0000 (10:11 -0500)]
ENGR00141478-2 SAHARA: Move header file to include directory

The user mode libsahara library relied on header file
drivers/mxc/security/sahara2/include/sahara.h. However, to make
the lib build after headers_install step and to remove dependency on
kernel source, moved this header to include/linux/mxc_sahara.h.

These changes are specific to the include/linux folder.

Signed-off-by: Anish Trivedi <anish@freescale.com>
Acked-by: Lily Zhang
6 years agoENGR00141478-1 SAHARA: Move header file to include directory
Anish Trivedi [Fri, 8 Apr 2011 15:10:10 +0000 (10:10 -0500)]
ENGR00141478-1 SAHARA: Move header file to include directory

The user mode libsahara library relied on header file
drivers/mxc/security/sahara2/include/sahara.h. However, to make
the lib build after headers_install step and to remove dependency on
kernel source, moved this header to include/linux/mxc_sahara.h.

These are the necessary changes in the SAHARA driver to use the new
header file in the new location.

Signed-off-by: Anish Trivedi <anish@freescale.com>
6 years agoENGR00142679 SCC2 and SAHARA: changes to support loadable modules
Anish Trivedi [Sun, 3 Jul 2011 20:58:18 +0000 (15:58 -0500)]
ENGR00142679 SCC2 and SAHARA: changes to support loadable modules

To allow SCC2 and SAHARA drivers to work as loadable modules, needed
to add GPL license to SAHARA driver, export a couple of functions
from SCC2 driver, and the following data buffer mapping change in
SAHARA driver:

When compiled as a loadable module, a data buffer to be DMA'ed in the
SAHARA driver may not be in the kernel direct-mapped region but in
the "Kernel module space" between TASK_SIZE and high_memory-1
(see http://www.arm.linux.org.uk/developer/memory.txt). In this
scenario, the driver canno simply use the __pa macro to obtain
the physical address. It must walk the page tables to find the
page and use the page_to_phys function to find the physical
address that corresponds to the data buffer.

Signed-off-by: Anish Trivedi <anish@freescale.com>
6 years agodisplay: register a dummy framebuffer as fb1 so that the overlay is fb2.
Matt Sealey [Sun, 3 Jul 2011 19:09:11 +0000 (14:09 -0500)]
display: register a dummy framebuffer as fb1 so that the overlay is fb2.
This fixes some braindead bug in gst_mfw_v4lsink or libipu or some other
userspace code (or maybe a hidden kernel thing) where it cannot work out
what it's doing unless the overlay is /dev/fb2.

Ahmed Ammar originally wrote this for our .35 port but we're backporting it
now in lieu of .35 actually being production ready. Thanks Ahmed!

6 years agoENGR00143575 IPUv3:Align IDMAC BS with DMFC FIFO BS
Matt Sealey [Tue, 28 Jun 2011 22:47:56 +0000 (17:47 -0500)]
ENGR00143575 IPUv3:Align IDMAC BS with DMFC FIFO BS

This patch aligns IDMAC burst size and DMFC FIFO burst
size to get better performance and workarounds black
flash issue when playing video on DP-FG with full
screen mode at 1024x768M@60.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
(cherry picked from commit 0e81c738566c2c97541dd92a5978c756b5c22e76)
(cherry picked from commit bbf3e59476f8e2b2453bd5a90664514ed3568207)

Conflicts:

drivers/mxc/ipu3/ipu_prv.h

6 years agoENGR00142683 IPUv3:Increase IDMAC BS for RGBP and DMFC BS
Liu Ying [Fri, 6 May 2011 07:19:46 +0000 (15:19 +0800)]
ENGR00142683 IPUv3:Increase IDMAC BS for RGBP and DMFC BS

This patch increases IDMAC burst size from 16 pixels to
32 pixels for RGBP pixel format and increases DMFC burst
size to 128 pixels to workaround 1080P60 display video
black flash issue.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
(cherry picked from commit c9fbed971c5a1adf7c727a6b1eba67e179bd1502)

6 years agoIPU Triple Buffering support
Matt Sealey [Tue, 28 Jun 2011 22:20:21 +0000 (17:20 -0500)]
IPU Triple Buffering support

6 years agofix build warning in sgtl5000 board support. Also match Freescale's change for a...
Matt Sealey [Tue, 28 Jun 2011 21:57:57 +0000 (16:57 -0500)]
fix build warning in sgtl5000 board support. Also match Freescale's change for a previously independently fixed build warning.

6 years agoremove innocuous build warning from amd-gpu driver
Matt Sealey [Tue, 28 Jun 2011 21:56:19 +0000 (16:56 -0500)]
remove innocuous build warning from amd-gpu driver

6 years agoENGR00144309 do nothing if the core frequency is not changed
Lily Zhang [Tue, 28 Jun 2011 21:51:16 +0000 (16:51 -0500)]
ENGR00144309 do nothing if the core frequency is not changed

When the system enters low bus frequency mode by executing the
following operations, the system enters dead loop to check
arm_podf_busy bit:

1. Store the rootfs on SD card.
2. type "echo 8 > /proc/sys/kernel/printk"
3. type "echo 1 > /sys/devices/platform/mxc_dvfs_core.0/enable"
4. type "ifconfig eth0 down"
5. type "echo 1 > /sys/class/graphics/fb0/blank"
6. The system enters low bus frequency mode. And it keeps

to print "ARM_PODF still in busy!!!!"

6 years agoReorder PATA pins to match docs (S 4-90, Table 4-2) even though it looks less logical
Matt Sealey [Tue, 28 Jun 2011 21:35:57 +0000 (16:35 -0500)]
Reorder PATA pins to match docs (S 4-90, Table 4-2) even though it looks less logical

6 years agoaudio: refine clock for SGTL5000
Matt Sealey [Tue, 28 Jun 2011 20:51:21 +0000 (15:51 -0500)]
audio: refine clock for SGTL5000

6 years agoRevert "ENGR00142683 IPUv3:Increase IDMAC BS for RGBP and DMFC BS"
Matt Sealey [Tue, 28 Jun 2011 20:36:42 +0000 (15:36 -0500)]
Revert "ENGR00142683 IPUv3:Increase IDMAC BS for RGBP and DMFC BS"

Actually this re-introduced the black screen for some odd reason :(

This reverts commit f3b85b1ba2c5930e0cb39a72f397df45c7187172.

6 years agoENGR00143681 GPU: update z430 microcode
Richard Zhao [Thu, 19 May 2011 13:59:06 +0000 (21:59 +0800)]
ENGR00143681 GPU: update z430 microcode

The new microcode fix some easy hang issues.

Signed-off-by: Richard Zhao <richard.zhao@freescale.com>
(cherry picked from commit a48455dbea90720cba4be3e827e8b90e6abffd7d)
(cherry picked from commit cf09e2bac1cac560c6019332c37676b919700dda)

6 years agoENGR00141552 ipuv3: fix display pin's power leak
Jason Chen [Tue, 17 May 2011 05:13:15 +0000 (13:13 +0800)]
ENGR00141552 ipuv3: fix display pin's power leak

If you disable display, the display port's pin may keep high voltage which
may cause power leakage. Fix this issue by make all pin go into low level
after display disable.

Signed-off-by: Jason Chen <b02280@freescale.com>
(cherry picked from commit 165df9e8d525082e70a165516e2bcd1d0529b148)

6 years agoENGR00142683 IPUv3:Increase IDMAC BS for RGBP and DMFC BS
Liu Ying [Fri, 6 May 2011 07:19:46 +0000 (15:19 +0800)]
ENGR00142683 IPUv3:Increase IDMAC BS for RGBP and DMFC BS

This patch increases IDMAC burst size from 16 pixels to
32 pixels for RGBP pixel format and increases DMFC burst
size to 128 pixels to workaround 1080P60 display video
black flash issue.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
(cherry picked from commit c9fbed971c5a1adf7c727a6b1eba67e179bd1502)

6 years agoRemove preallocation of framebuffer and GPU memory in favor of being nice and dynamic...
Matt Sealey [Tue, 28 Jun 2011 20:08:08 +0000 (15:08 -0500)]
Remove preallocation of framebuffer and GPU memory in favor of being nice and dynamic. Note that GPU memory reserved is entirely down to the MMU now, and framebuffer memory is "size of framebuffer" rounded up to 1MB block.

Everything still works.

Includes a Wild mashup of Freescale ENGR00143019 which concludes GPU MMU support for the platform.

6 years agoENGR00143019-2 GPU: enable MMU
Zhou, Jie [Thu, 5 May 2011 17:11:16 +0000 (01:11 +0800)]
ENGR00143019-2 GPU: enable MMU

With MMU enabled, there is no need to reserve memory for GPU
at boot time

Signed-off-by: Zhou, Jie <b30303@freescale.com>
(cherry picked from commit 326da1d885108399f4e22d10a8fe341a7a110ffc)

6 years agoENGR00142351 mxc_gpu: autogating: add pending flag
Zhou, Jie [Wed, 20 Apr 2011 15:41:40 +0000 (23:41 +0800)]
ENGR00142351 mxc_gpu: autogating: add pending flag

pending indicate the timer has been fired but clock not yet disabled.

This patch fixs the bug that sometimes in irq handle it tries to enable
clock and cause BUG.

Signed-off-by: Richard Zhao <richard.zhao@freescale.com>
(cherry picked from commit 4b73c7a14fdebbd1240dbb1f5e4efa5b7a65f63c)

6 years agoENGR00141400 GPU: Improve GPU clock gating
Zhou, Jie [Thu, 31 Mar 2011 17:01:27 +0000 (01:01 +0800)]
ENGR00141400 GPU: Improve GPU clock gating

seperate interrupt handling and clk_enable for Z160 and Z430

Signed-off-by: Zhou, Jie <b30303@freescale.com>
(cherry picked from commit 7da21af984a50ffb166ab1a088cd2c5d4313537b)

6 years agoENGR00141161 ipuv3: add bgr24 fmt support for di
Jason Chen [Fri, 25 Mar 2011 05:47:44 +0000 (13:47 +0800)]
ENGR00141161 ipuv3: add bgr24 fmt support for di

add bgr24 fmt support for di

Signed-off-by: Jason Chen <b02280@freescale.com>
6 years agoENGR00143309: fix yres_virtual to be 3*yres
Matt Sealey [Mon, 27 Jun 2011 21:59:07 +0000 (16:59 -0500)]
ENGR00143309: fix yres_virtual to be 3*yres

6 years agoRevert "Disable IPU output format matching, will be 16-bit for every one now."
Matt Sealey [Tue, 14 Jun 2011 19:26:41 +0000 (14:26 -0500)]
Revert "Disable IPU output format matching, will be 16-bit for every one now."

FlashPlayer 11.05 BSP has been fixed to support 32-bit modes so it will function
correctly on Smarttop now. GPU performance hit is still noticable but the extra
colour definition more than makes up for it. Smartbook is not affected.

This reverts commit 1ce3ee7a5a42d8121a1d297f44319498aa839103.

6 years agosiihdmi: don't match resolution in siihdmi_find_best_mode because it breaks the prefe...
Matt Sealey [Tue, 14 Jun 2011 03:13:02 +0000 (22:13 -0500)]
siihdmi: don't match resolution in siihdmi_find_best_mode because it breaks the preferred mode when teneighty=seventwenty=0

6 years agosiihdmi: rework mode selection
Matt Sealey [Tue, 14 Jun 2011 01:23:13 +0000 (20:23 -0500)]
siihdmi: rework mode selection

* 720p and 1080p are now attempted on DVI monitors on the revelation that some DVI monitors can display real CEA-style modes
* use the fb_find_best_nearest_mode function to better select resolutions and refresh rates
* cleanups