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

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()) {
                 } else {
                         int j;

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

         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)



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

7 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.

7 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

7 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

7 years agofb_find_best_nearest_mode - actually pick highest refresh this time
Matt Sealey [Tue, 14 Jun 2011 01:02:47 +0000 (20:02 -0500)]
fb_find_best_nearest_mode - actually pick highest refresh this time
also optimize out the abs, since mode > cmode, it will always be positive

7 years agofb: add a new mode matching function fb_find_best_nearest_mode
Matt Sealey [Tue, 14 Jun 2011 00:51:55 +0000 (19:51 -0500)]
fb: add a new mode matching function fb_find_best_nearest_mode

The intent is that if you have a native panel resolution of 1920x1080@60 but this cannot
be displayed, you can find the nearest resolution with the HIGHEST refresh rate (fb_find_nearest_mode
only selects the CLOSEST refresh rate). It also, by virtue of some rather unintended
side effect, picks better matches (1680x1050->1440x900) than find_nearest (1680x1050->1280x1024)
when it comes to widescreen modes.

7 years agosiihdmi: don't use fb_var_screeninfo more often than we have to, considering that...
Matt Sealey [Tue, 14 Jun 2011 00:32:17 +0000 (19:32 -0500)]
siihdmi: don't use fb_var_screeninfo more often than we have to, considering that we always have a valid fb_videomode

small optimizations come with this:
* no longer redundantly recalculate refresh rate just to print it when setting resolution
* can use siihdmi_dump_single_modeline to print the modeline for Setting Resolution (more descriptive)
* less variables in use where we don't need var but have mode
* less data copying where we don't need var but have mode (since fb_videomode_to_var sets ~15 fields from mode)
* more const variables passed to functions

7 years agosiihdmi: fix refresh rate calculation for vmode registers
Matt Sealey [Mon, 13 Jun 2011 23:22:22 +0000 (18:22 -0500)]
siihdmi: fix refresh rate calculation for vmode registers

also as a cleanliness issue, remove the redundant remainder variable and clean up some
printk arguments to remove a warning or two.

7 years ago[ARM] wire up sys_accept4() on ARM
Steev Klimaszewski [Fri, 10 Jun 2011 00:28:48 +0000 (19:28 -0500)]
[ARM] wire up sys_accept4() on ARM

sys_accept4() was added in kernel 2.6.28, but ARM was not updated
to include it.  The number and types of parameters is such that
no ARM-specific processing is needed, so wiring up sys_accept4()
just requires defining __NR_accept4 and adding a direct call in
the syscall entry table.

7 years agoHDMI updates
Matt Sealey [Wed, 8 Jun 2011 20:59:11 +0000 (15:59 -0500)]
HDMI updates

* use CEA mode 4 (720p60) instead of 19 (720p50) to improve compatibility for fallback mode
* Remove IPU bandwidth warning as this has been worked around to some degree in other parts of the kernel
* Refactor CEA duplicate culling such that on DVI monitors, the CEA mode is removed instead of the IT mode
* Switch siihdmi.useitmodes=1 to force DVI culling behavior on
* Do not enforce lower_margin limit for HDMI on DVI monitors

7 years agomodify config to build-in PATA and MMC subsystems. Doesn't make a lot of sense
Matt Sealey [Wed, 8 Jun 2011 14:49:48 +0000 (09:49 -0500)]
modify config to build-in PATA and MMC subsystems. Doesn't make a lot of sense
to modularize these in the grand scheme of things even if this is what Ubuntu
tends to do (it is not as if we have PCI slots and potential for multiple
different options).

7 years agoBump to .23
Matt Sealey [Wed, 8 Jun 2011 14:14:47 +0000 (09:14 -0500)]
Bump to .23

7 years agosgtl5000: make register write errors (which are innocuous) less chatty
Matt Sealey [Thu, 19 May 2011 12:38:24 +0000 (07:38 -0500)]
sgtl5000: make register write errors (which are innocuous) less chatty

7 years agoBump to for release
Steev Klimaszewski [Tue, 3 May 2011 19:01:08 +0000 (14:01 -0500)]
Bump to for release

7 years agobacklight: check for framebuffer id before doing any notifier work
Matt Sealey [Mon, 2 May 2011 04:24:41 +0000 (23:24 -0500)]
backlight: check for framebuffer id before doing any notifier work

second step to fixing the cheese bug

7 years agowrap framebuffer notifications in a check for the running framebuffer.
Matt Sealey [Mon, 2 May 2011 04:17:58 +0000 (23:17 -0500)]
wrap framebuffer notifications in a check for the running framebuffer.

hopefully this starts to solve the "install cheese, run cheese, close cheese"
bug where the backlight gets turned off on Smartbook.

7 years agommc: set drive voltage to 3.3V for SD cards, should solve all those CRC errors
Matt Sealey [Mon, 2 May 2011 04:17:14 +0000 (23:17 -0500)]
mmc: set drive voltage to 3.3V for SD cards, should solve all those CRC errors

7 years agosiihdmi: disable 1080p output by default
Steev Klimaszewski [Mon, 2 May 2011 03:06:38 +0000 (22:06 -0500)]
siihdmi: disable 1080p output by default

Due to performance issues, disable 1080p output by default, we will choose a
720p mode first, and if we can't find that, we then try to choose a native
output, and barring that, we default to 1280x720.  You should still be able to
add siihdmi.teneighty=1 to your bootargs if you wish to output in 1080p

7 years agomxc_ipuv3_fb: mask out the error init panel msg
Matt Sealey [Sun, 1 May 2011 22:54:56 +0000 (17:54 -0500)]
mxc_ipuv3_fb: mask out the error init panel msg

7 years agosiihdmi: refresh rate fix
Martin Krastev [Sun, 1 May 2011 22:53:37 +0000 (17:53 -0500)]
siihdmi: refresh rate fix

7 years agoMerge branch 'master' of gitorious.org:efikamx/linux-kernel
Matt Sealey [Wed, 20 Apr 2011 15:25:17 +0000 (10:25 -0500)]
Merge branch 'master' of gitorious.org:efikamx/linux-kernel

7 years agofix a warning introduced in headphone detect handler
Matt Sealey [Wed, 20 Apr 2011 15:23:44 +0000 (10:23 -0500)]
fix a warning introduced in headphone detect handler

7 years agoENGR00137340 Add headphone detection in imx5x.
Zhang Jiejing [Wed, 20 Apr 2011 15:16:40 +0000 (10:16 -0500)]
ENGR00137340 Add headphone detection in imx5x.

Report uevent when headphone detect part is changed.

Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
7 years agoENGR00140700 GPU: fix tiger run the second time causing system hang
Richard Zhao [Wed, 20 Apr 2011 15:14:10 +0000 (10:14 -0500)]
ENGR00140700 GPU: fix tiger run the second time causing system hang

The root cause is endless GSL_INTR_BLOCK_YDX_CP interrupt.
Apply interrupt status read work around only when yamato started.

Signed-off-by: Richard Zhao <richard.zhao@freescale.com>
7 years agoENGR00140460 spdif: Fix spdif can't playback at the first bootup
Zeng Zhaoming [Wed, 20 Apr 2011 15:12:18 +0000 (10:12 -0500)]
ENGR00140460 spdif: Fix spdif can't playback at the first bootup

spdif can't playback at system first bootup, write I/O error print out.
This problem is caused by DMA channel not requested before enable spdif dma
trigger register.

Signed-off-by: Zeng Zhaoming <b32542@freescale.com>
7 years agoENGR00140050 GPU: workaround hang with heavy bus loading
Zhou, Jie [Wed, 20 Apr 2011 15:06:53 +0000 (10:06 -0500)]
ENGR00140050 GPU: workaround hang with heavy bus loading

The GPU hang when run two cubes together with one video playback.
According to the suggestion from AMD, we'd better not read register
when GPU active, especially for CP block.

Signed-off-by: Zhou, Jie <b30303@freescale.com>
7 years agofbdev: Fix fb_find_nearest_mode refresh comparison
Andrew Kephart [Mon, 13 Dec 2010 15:46:34 +0000 (09:46 -0600)]
fbdev: Fix fb_find_nearest_mode refresh comparison

Refresh rate nearness is not calculated or reset when nearest resolution

This patch resets the refresh rate differential measurement whenever a
new nearest resolution is discovered.  This fixes two error cases;
first, wherein the first mode's refresh rate differential is never
calculated and second, when the closest refresh rate from a previous
nearest resolution is erroneously preserved.

Signed-off-by: Andrew Kephart <andrew.kephart@alereon.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
7 years agoENGR00139345 MX51: clock: gpu depends on emi_fast clock
Zhang Jiejing [Wed, 20 Apr 2011 15:01:39 +0000 (10:01 -0500)]
ENGR00139345 MX51: clock: gpu depends on emi_fast clock

MX51 will hang if gpu is running when emi_fast was disabled,
add depends on clock tree to fix it.

Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
7 years agoENGR00139321 ipuv3: add YV12 format support
Jason Chen [Wed, 20 Apr 2011 15:01:16 +0000 (10:01 -0500)]
ENGR00139321 ipuv3: add YV12 format support

Add YV12 format support.

Signed-off-by: Jason Chen <b02280@freescale.com>
7 years agoFix pad control for power key (based on ENGR00138697) not to have PKE
Matt Sealey [Wed, 20 Apr 2011 14:49:14 +0000 (09:49 -0500)]
Fix pad control for power key (based on ENGR00138697) not to have PKE

7 years agoENGR00138520 IPUv3:Correct IPU spinlock logic
Liu Ying [Wed, 20 Apr 2011 14:47:29 +0000 (09:47 -0500)]
ENGR00138520 IPUv3:Correct IPU spinlock logic

1) Fix the double locking IPU spinlock issue.
2) Protect g_channel_enable_mask with IPU spinlock.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
7 years agomxc_ipuv3_fb: Change resolution to 640x480
Steev Klimaszewski [Thu, 14 Apr 2011 23:22:56 +0000 (18:22 -0500)]
mxc_ipuv3_fb: Change resolution to 640x480

The previous fix of 800x600 fixes the frame buffer issue, but I had the x and
y resolutions switched, and since 640x480 uses less memory, switch to that.