159829 Commits

Author SHA1 Message Date
Matt Sealey
2b537c8496 amd-gpu: extremely chatty logging, add CONFIG_MXC_AMD_GPU_LOGGING=y to config to enable. 2011-08-24 17:30:20 -05:00
Matt Sealey
f64e1efb63 disable hal debug output since it's not needed right now 2011-08-11 09:28:44 -05:00
Matt Sealey
a0ae9134ba 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.
2011-08-11 09:22:55 -05:00
Matt Sealey
c5de0bc6cf refine GSL memory sizes in reserved region to 24MB for physical and 8MB other 2011-08-04 16:17:02 -05:00
Matt Sealey
fe784e276c Bump to .25 for release-prep 2011-08-02 19:32:44 -05:00
Matt Sealey
a940a406a3 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
2011-08-02 17:08:32 -05:00
Matt Sealey
e91d512070 whitespace police 2011-08-01 08:24:37 -05:00
Matt Sealey
ca17b53a2d fb: re-enable second framebuffer 2011-08-01 08:22:02 -05:00
Matt Sealey
099ebbe1f9 fb: only change alignment for non-overlay vars. fixes stride issues on v4lsink. 2011-07-30 16:33:10 -05:00
Matt Sealey
be72671768 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. 2011-07-29 18:15:03 -05:00
Matt Sealey
5f019c06ae fb: map reserved memory as writecombine to match non-reserved allocations 2011-07-29 12:45:05 -05:00
Kirill A. Shutemov
eca801dcf0 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>
2011-07-28 19:36:56 -05:00
Laura Abbott
721fc6f779 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>
2011-07-28 19:28:06 -05:00
Matt Sealey
272436b5e1 siihdmi: don't turn the chip off just because there's no receiver sense for quirky monitors like the Samsung SyncMaster E1920 2011-07-28 19:03:22 -05:00
Matt Sealey
8bf0ded04f gpu: use ilog2 instead of custom int-to-float messing around (backported from Qualcomm's GSL) 2011-07-28 19:02:50 -05:00
Matt Sealey
4ffd877f1b 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
2011-07-28 17:59:54 -05:00
Matt Sealey
46cf9c5817 siihdmi: don't use a timeout to enter the hotplug event handler, fixes some twitchy displays (Samsung SyncMaster E1920 in particular) 2011-07-28 17:58:50 -05:00
Matt Sealey
e507d6b161 Revert "Revert "bump to .24 for release""
This reverts commit e8d079d4a5.
2011-07-20 19:50:22 -05:00
Matt Sealey
cc8deb53f4 Revert "ENGR00131389: remove "area->vm_ops->open" calling in imx-pcm.c to support IRAM playback"
This reverts commit 4dda9e941d.
2011-07-20 19:49:47 -05:00
Matt Sealey
e8d079d4a5 Revert "bump to .24 for release"
This reverts commit 89ac8f6c13.
2011-07-20 19:49:22 -05:00
Matt Sealey
89ac8f6c13 bump to .24 for release 2011-07-15 19:50:05 -05:00
Matt Sealey
0dc6930770 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 2011-07-12 11:29:11 -05:00
Matt Sealey
1f11661da3 Move modedb file to drivers/video with the other modedbs 2011-07-12 11:24:56 -05:00
Matt Sealey
39e907d4bc 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
2011-07-12 11:02:58 -05:00
Matt Sealey
901989541c Put IRAM audio back in as a config option, make imx-pcm a module.. 2011-07-11 12:59:01 -05:00
Matt Sealey
4dda9e941d ENGR00131389: remove "area->vm_ops->open" calling in imx-pcm.c to support IRAM playback 2011-07-11 12:56:11 -05:00
Matt Sealey
b14bbcf8d3 config update: stop using IRAM for audio buffers 2011-07-04 17:59:42 -05:00
Matt Sealey
82423290ad siihdmi: remove hotplug option, enabled by default now for everyone 2011-07-04 17:57:05 -05:00
Danny Nold
612a7d0058 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>
2011-07-04 17:55:50 -05:00
Matt Sealey
1f0c20d638 siihdmi: backport 2.6.35 driver to .31 - hotplug is the biggest major feature 2011-07-04 14:26:27 -05:00
Matt Sealey
5c480f9bf8 remove unused audio data 2011-07-04 13:14:26 -05:00
Zhang Jiejing
32e18295d1 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>
2011-07-03 16:10:05 -05:00
Anish Trivedi
3851242b86 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>
2011-07-03 16:04:48 -05:00
Anish Trivedi
6814b63c45 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
2011-07-03 16:04:13 -05:00
Anish Trivedi
22bfe557cb 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>
2011-07-03 16:03:51 -05:00
Anish Trivedi
fea4e4245d 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>
2011-07-03 15:58:18 -05:00
Matt Sealey
cbd383b002 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!
2011-07-03 14:09:11 -05:00
Matt Sealey
25a8bf2a03 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
2011-06-28 17:47:56 -05:00
Liu Ying
1770869185 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)
2011-06-28 17:20:37 -05:00
Matt Sealey
2e6cfa8350 IPU Triple Buffering support 2011-06-28 17:20:21 -05:00
Matt Sealey
6556361aff fix build warning in sgtl5000 board support. Also match Freescale's change for a previously independently fixed build warning. 2011-06-28 16:57:57 -05:00
Matt Sealey
4d547a2ffc remove innocuous build warning from amd-gpu driver 2011-06-28 16:56:19 -05:00
Lily Zhang
9dd0f3b99a 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!!!!"
2011-06-28 16:51:16 -05:00
Matt Sealey
6059f7ef57 Reorder PATA pins to match docs (S 4-90, Table 4-2) even though it looks less logical 2011-06-28 16:35:57 -05:00
Matt Sealey
26ede7274e audio: refine clock for SGTL5000 2011-06-28 15:51:21 -05:00
Matt Sealey
bc3f3e81fe 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 f3b85b1ba2.
2011-06-28 15:36:42 -05:00
Richard Zhao
3e373cbfa4 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)
2011-06-28 15:18:05 -05:00
Jason Chen
dbfb1fe4ac 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)
2011-06-28 15:17:45 -05:00
Liu Ying
f3b85b1ba2 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)
2011-06-28 15:15:54 -05:00
Matt Sealey
2811c4a4ef 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.
2011-06-28 15:08:08 -05:00