Commit Graph

159656 Commits

Author SHA1 Message Date
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
Zhou, Jie
e26d3e911c 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)
2011-06-28 12:47:06 -05:00
Zhou, Jie
86997937ca 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)
2011-06-28 12:43:18 -05:00
Zhou, Jie
99f16398f4 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)
2011-06-28 12:42:22 -05:00
Jason Chen
3151ca275d ENGR00141161 ipuv3: add bgr24 fmt support for di
add bgr24 fmt support for di

Signed-off-by: Jason Chen <b02280@freescale.com>
2011-06-28 12:38:44 -05:00
Matt Sealey
54f04c4c62 ENGR00143309: fix yres_virtual to be 3*yres 2011-06-27 16:59:07 -05:00
Matt Sealey
acd39fb113 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 1ce3ee7a5a.
2011-06-14 14:26:41 -05:00
Matt Sealey
b5f32fb4c5 siihdmi: don't match resolution in siihdmi_find_best_mode because it breaks the preferred mode when teneighty=seventwenty=0 2011-06-13 22:13:02 -05:00
Matt Sealey
9c5512554f 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
2011-06-13 20:23:13 -05:00
Matt Sealey
058da005af fb_find_best_nearest_mode - actually pick highest refresh this time
also optimize out the abs, since mode > cmode, it will always be positive
2011-06-13 20:02:47 -05:00
Matt Sealey
5b7fe2afda 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.
2011-06-13 19:51:55 -05:00
Matt Sealey
54cf91e215 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
*
2011-06-13 19:32:17 -05:00
Matt Sealey
93ea0f3a8b 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.
2011-06-13 18:22:22 -05:00
Steev Klimaszewski
a84fac75f3 [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.
2011-06-09 19:28:48 -05:00
Matt Sealey
f71f57038f 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
2011-06-08 15:59:11 -05:00
Matt Sealey
d4c0146318 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).
2011-06-08 09:49:48 -05:00
Matt Sealey
0be4e38074 Bump to .23 2011-06-08 09:14:47 -05:00
Matt Sealey
3cb82490ef sgtl5000: make register write errors (which are innocuous) less chatty 2011-05-19 07:38:24 -05:00
Steev Klimaszewski
ed1a354b57 Bump to 2.6.31.14.22 for release 2011-05-03 14:01:08 -05:00
Matt Sealey
fc966627ed backlight: check for framebuffer id before doing any notifier work
second step to fixing the cheese bug
2011-05-01 23:24:41 -05:00
Matt Sealey
682ab7b97d 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.
2011-05-01 23:17:58 -05:00
Matt Sealey
16c7caff68 mmc: set drive voltage to 3.3V for SD cards, should solve all those CRC errors 2011-05-01 23:17:14 -05:00
Steev Klimaszewski
853b854724 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
2011-05-01 22:06:38 -05:00
Matt Sealey
2f38932613 mxc_ipuv3_fb: mask out the error init panel msg 2011-05-01 17:54:56 -05:00