Commit Graph

69653 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
82423290ad siihdmi: remove hotplug option, enabled by default now for everyone 2011-07-04 17:57:05 -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
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
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
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
4d547a2ffc remove innocuous build warning from amd-gpu driver 2011-06-28 16:56:19 -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
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
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
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
Martin Krastev
6977172470 siihdmi: refresh rate fix 2011-05-01 17:53:37 -05:00
Matt Sealey
1c1a024602 Merge branch 'master' of gitorious.org:efikamx/linux-kernel 2011-04-20 10:25:17 -05:00
Richard Zhao
0a1efe050a 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>
2011-04-20 10:14:10 -05:00
Zhou, Jie
c50d0f808c 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>
2011-04-20 10:06:53 -05:00
Andrew Kephart
6f4f7206df fbdev: Fix fb_find_nearest_mode refresh comparison
Refresh rate nearness is not calculated or reset when nearest resolution
changes.

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>
2011-04-20 10:03:08 -05:00
Jason Chen
55de22f865 ENGR00139321 ipuv3: add YV12 format support
Add YV12 format support.

Signed-off-by: Jason Chen <b02280@freescale.com>
2011-04-20 10:01:16 -05:00
Liu Ying
ce2ba637fa 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>
2011-04-20 09:47:29 -05:00
Steev Klimaszewski
c6695ade2a 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.
2011-04-14 18:22:56 -05:00
Steev Klimaszewski
f131c697b5 mxc_ipuv3_fb: Increase the size of initial fb
The initial framebuffer is set to 320x240.  This seems to cause issues with
plymouth and displaying text, so increase it to default to 800x600.  This fixes
the headless boot issue.
2011-04-12 23:02:40 -05:00
Matt Sealey
1ce3ee7a5a Disable IPU output format matching, will be 16-bit for every one now. 2011-04-11 21:30:15 -05:00
Matt Sealey
88ae330f78 IPU & Flash 10.1 performance improvement 2011-04-11 20:32:10 -05:00
Matt Sealey
7ea11d0c97 sync minor framebuffer and overlay twiddlings to 11.01 BSP 2011-04-11 20:28:49 -05:00
Matt Sealey
eb8699da0f fix siihdmi probing. commence mild self-flagellation. 2011-03-16 00:06:52 -05:00
Matt Sealey
c6da52bf39 4 changes for HDMI
* prep for 2.6.35 and a coexisting "sii9022" driver from Freescale by calling ours "siihdmi" as per the filename
* never put the chip into D3 power off state if we cannot hotplug the chip out of it
* semi-catch setting a mode with a null fb_videomode argument, since this is impossible to perform (there may be other places this needs handling, and there should be a healthy fallback)
* don't perform fb_videomode_to_var for screen blanking, and simplify blanking functions to not require fb_videomode_to_var since they do not actually use them
2011-03-09 17:34:51 -06:00
Matt Sealey
5898cfa2ad amd-gpu: enable limiting of in-flight AXI transactions for Z160 GPU 2011-03-06 16:52:35 -06:00
Matt Sealey
a45e894da4 siihdmi: only enact the 1080p and 720p checks if we're on an HDMI sink, as DVI sinks are usually not going to contain 1080p and 720p modes anyway. 2011-02-28 11:47:42 -06:00
Matt Sealey
4c42e72454 scc2: export pertinent symbols so we can build as modules 2011-02-23 23:52:03 -06:00
Matt Sealey
ec41138398 sbs: fix for battery status active low change 2011-02-23 21:22:15 -06:00