Commit Graph

69295 Commits

Author SHA1 Message Date
Jie Zhou
ef5ea51ba2 ENGR00126064 GPU: disable mmu to pass OpenVG CTS
If enabled MMU, there is AXI read/write error on MX508 when run
OpenVG CTS.

Besides, change EMEM1 size to 10MB by default to make gpu driver
work on MX50_ARM2 board with 128MB memory installed.

Signed-off-by: Jie Zhou <b30303@freescale.com>
2010-11-13 10:09:43 -06:00
Jie Zhou
90875b3f6c ENGR00125984 GPU: enable MMU for MX508 and MX35
Remove GSL_MMU_TRANSLATION_ENABLED macro originally used for conditional
compile, and replace it with runtime check to support one mx5x image

Signed-off-by: Jie Zhou <b30303@freescale.com>
2010-11-13 10:09:41 -06:00
Jie Zhou
dd4baeffab ENGR00125615 GPU: disable z160 in gsl when X-Accel enabled
When X-accel is enabled, uio driver is used for X server to access
z160 device, so in gsl, we should not operate z160 to avoid conflicts

Signed-off-by: Jie Zhou <b30303@freescale.com>
2010-11-13 10:08:00 -06:00
Jie Zhou
373272e191 ENGR00125729-2 GPU: merge hal for MX35/MX50 and MX51/MX53
Add MX508 support, and adapt the gpu driver to one image

Signed-off-by: Jie Zhou <b30303@freescale.com>
2010-11-13 10:07:57 -06:00
Saleem Abdulrasool
bd5e72ac57 report energy and charge full design 2010-11-13 09:57:46 -06:00
Saleem Abdulrasool
46b11b0748 report energy and charge full 2010-11-13 09:57:44 -06:00
Saleem Abdulrasool
078accb95f report energy and charge now 2010-11-13 09:57:41 -06:00
Saleem Abdulrasool
56cef15721 add efikasb_batt_write 2010-11-13 09:57:38 -06:00
Saleem Abdulrasool
3445c14876 remove unnecessary goto usage in efikasb_batt_read 2010-11-13 09:57:35 -06:00
Saleem Abdulrasool
9c47932e07 fix whitespace 2010-11-13 09:57:32 -06:00
Marcin Juszkiewicz
1f4b4131ac rename hex_to_bin to get compat-wireless working 2010-11-13 09:54:37 -06:00
Matt Sealey
74488fa0f5 Fix display offset bug on the AUO panels. Might be better in the future to pull and patch EDID. 2010-11-13 09:53:31 -06:00
Matt Sealey
5b0051e382 ipu: make disable/unitialized "error" into "info" since it doesn't mean anything went wrong 2010-10-28 04:16:01 -05:00
Matt Sealey
e6abfd65bb pata_fsl: make the dma rchan/wchan message in the kernel INFO so it doesn't get printed when we want to be quiet 2010-10-28 04:15:51 -05:00
Matt Sealey
6e079ede18 pata_fsl: remove that annoying frame size error by allocating scatterlists with kzalloc instead of defining tmp[64]
Results: no more warning
Impact: no performance hit (PATA is too slow on these devices for it to matter).
2010-10-28 04:15:07 -05:00
Jason Chen
e8fe793cf5 ENGR00126156 ipuv3: check own clk count only when around clk rate
If dual display enabled, the second one may not be able to set
correct clock rate if it's from ext clk.

Signed-off-by: Jason Chen <b02280@freescale.com>
2010-10-21 13:17:58 -05:00
Dinh Nguyen
cc1ca49e78 ENGR00126861-2: ipu: pass csi clock in ipu platform data
ipu: pass csi clock in platform data
ipu: use ipu hw rev instead of chip version

Acked-by: Rob Herring <r.herring@freescale.com>
Signed-off-by: Dinh Nguyen <Dinh.Nguyen@freescale.com>
2010-10-21 13:17:38 -05:00
Jie Zhou
fefd0f80de ENGR00125800 UIO: clean uioinfo when uninstall uio driver
The uioinfo should be cleaned up when uninstall, otherwise re-install
failure of uio_pdrv_genirq.ko will happen.

Signed-off-by: Jie Zhou <b30303@freescale.com>
2010-10-21 13:12:10 -05:00
Dinh Nguyen
193db12141 usb: Increase timeout value for device reset
It seems that for USB IP on Freescale MX5x processors, it needs >750
usec for the reset to complete. This change should not hurt any other
EHCI hardware.

Signed-off-by: Dinh Nguyen <Dinh.Nguyen@freescale.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-10-03 13:26:25 -05:00
Matt Sealey
81163a41f4 Smarttop: remove modes which do not match IPU restrictions (vertical border needs to be >2) in order not to have them be "reconfigured" later to be potentially incompatible with the monitor. 2010-09-28 12:15:55 -05:00
Matt Sealey
28470c09c7 Remove custom Efika Smartbook backlight driver as it duplicates code
and isn't nearly as good as the generic one now in use.
2010-09-10 18:31:34 -05:00
Matt Sealey
56ef1445b1 Use the fine-grained, generic PWM platform driver for backlight.
Update PWM driver to support the notifier from the MTL017 driver
such that when the LVDS is off, the backlight turns off too.
2010-09-10 18:29:25 -05:00
Matt Sealey
fb5b9e4677 ramzswap: Issue #50, commit 6f52562b30, Parameters for module start 2010-09-10 12:39:26 -05:00
Matt Sealey
0ca8a3b3d7 ramzswap: merge fubar fixed. 2010-09-10 11:55:35 -05:00
Nitin Gupta
a5d1eb0100 Staging: xvmalloc memory allocator
* Features:
 - Low metadata overhead (just 4 bytes per object)
 - O(1) Alloc/Free - except when we have to call system page allocator to
   get additional memory.
 - Very low fragmentation: In all tests, xvmalloc memory usage is within 12%
   of "Ideal".
 - Pool based allocator: Each pool can grow and shrink.
 - It maps pages only when required. So, it does not hog vmalloc area which
   is very small on 32-bit systems.

SLUB allocator could not be used due to fragmentation issues:
http://code.google.com/p/compcache/wiki/AllocatorsComparison
Data here shows kmalloc using ~43% more memory than TLSF and xvMalloc
is showed ~2% more space efficiency than TLSF (due to smaller metadata).
Creating various kmem_caches can reduce space efficiency gap but still
problem of being limited to low memory exists. Also, it depends on
allocating higher order pages to reduce fragmentation - this is not
acceptable for ramzswap as it is used under memory crunch (its a swap
device!).

SLOB allocator could not be used do to reasons mentioned here:
http://lkml.org/lkml/2009/3/18/210

* Implementation:
It uses two-level bitmap search to find free list containing block of
correct size. This idea is taken from TLSF (Two-Level Segregate Fit)
allocator and is well explained in its paper (see [Links] below).

* Limitations:
 - Poor scalability: No per-cpu data structures (work in progress).

[Links]
1. Details and Performance data:
http://code.google.com/p/compcache/wiki/xvMalloc
http://code.google.com/p/compcache/wiki/xvMallocPerformance

2. TLSF memory allocator:
home: http://rtportal.upv.es/rtmalloc/
paper: http://rtportal.upv.es/rtmalloc/files/MRBC_2008.pdf

Signed-off-by: Nitin Gupta <ngupta@vflare.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-09-10 11:38:55 -05:00
Nitin Gupta
214ac60eb6 Staging: xvmalloc memory allocator
* Features:
 - Low metadata overhead (just 4 bytes per object)
 - O(1) Alloc/Free - except when we have to call system page allocator to
   get additional memory.
 - Very low fragmentation: In all tests, xvmalloc memory usage is within 12%
   of "Ideal".
 - Pool based allocator: Each pool can grow and shrink.
 - It maps pages only when required. So, it does not hog vmalloc area which
   is very small on 32-bit systems.

SLUB allocator could not be used due to fragmentation issues:
http://code.google.com/p/compcache/wiki/AllocatorsComparison
Data here shows kmalloc using ~43% more memory than TLSF and xvMalloc
is showed ~2% more space efficiency than TLSF (due to smaller metadata).
Creating various kmem_caches can reduce space efficiency gap but still
problem of being limited to low memory exists. Also, it depends on
allocating higher order pages to reduce fragmentation - this is not
acceptable for ramzswap as it is used under memory crunch (its a swap
device!).

SLOB allocator could not be used do to reasons mentioned here:
http://lkml.org/lkml/2009/3/18/210

* Implementation:
It uses two-level bitmap search to find free list containing block of
correct size. This idea is taken from TLSF (Two-Level Segregate Fit)
allocator and is well explained in its paper (see [Links] below).

* Limitations:
 - Poor scalability: No per-cpu data structures (work in progress).

[Links]
1. Details and Performance data:
http://code.google.com/p/compcache/wiki/xvMalloc
http://code.google.com/p/compcache/wiki/xvMallocPerformance

2. TLSF memory allocator:
home: http://rtportal.upv.es/rtmalloc/
paper: http://rtportal.upv.es/rtmalloc/files/MRBC_2008.pdf

Signed-off-by: Nitin Gupta <ngupta@vflare.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-09-10 11:37:54 -05:00
Matt Sealey
e08e29c857 author Tejun Heo <tj@kernel.org>
Wed, 24 Mar 2010 08:04:11 +0000 (17:04 +0900)

include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h

Picked out manually from 5a0e3ad6af8660be21ca98a971cd00f331318c05 so we don't break further ramzswap updates when cherry-picking
2010-09-10 11:06:05 -05:00
Nitin Gupta
399d237a86 Staging: ramzswap: Update copyright notice
Update copyright notice.

Signed-off-by: Nitin Gupta <ngupta@vflare.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-09-10 11:04:01 -05:00
Nitin Gupta
e33874895f Staging: ramzswap: Handle case for invalid backing swap
Currently, we crash (issue BUG_ON) if backing swap
disk size is zero. This can happen is user specified
an extended partition or simply a bad disk as backing
swap. A crash is really an unpleasant surprise to user
for such trivial problems.

Now, we check for this condition and simply fail device
initialization if this is the case.

Additional cleanups:
 * use static for all functions
 * remove extra newline between functions
 * memset backing_swap_name to NULL on device reset

Signed-off-by: Nitin Gupta <ngupta@vflare.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-09-10 11:02:59 -05:00
Nitin Gupta
ae1624d8b4 Staging: ramzswap: Remove redundant check for zero page
ramzswap_free_page() already handles the case for zero filled
pages. So, remove redundant logic for the same in ramzswap_write().

Signed-off-by: Nitin Gupta <ngupta@vflare.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-09-10 11:02:40 -05:00
Nitin Gupta
d19379392a Staging: ramzswap: Return proper error code on device create failure
Currently, we return 0 if create_device() fails and 1 otherwise.
Now, proper error code is returned from create_device() and the
same is propagated as module error code from ramzswap_init().

Also added some cleanups for ramzswap_init(), improving function
structure.

Signed-off-by: Nitin Gupta <ngupta@vflare.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-09-10 11:02:19 -05:00
Nitin Gupta
2461101919 Staging: ramzswap: Set block size to PAGE_SIZE
ramzswap block size needs to be set equal to PAGE_SIZE to
avoid receiving any unaligned block I/O requests (happens
due to readahead logic during swapon). These unaligned
accesses produce unnecessary I/O errors, scaring users.

Signed-off-by: Nitin Gupta <ngupta@vflare.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-09-10 11:02:04 -05:00
Nitin Gupta
ae5b62fb7e Staging: ramzswap: Flush block device before reset
Make sure we flush block device before freeing all metadata
during reset ioctl.

Signed-off-by: Nitin Gupta <ngupta@vflar.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-09-10 11:01:41 -05:00
Nitin Gupta
459f19ae4f Staging: ramzswap: Use lock for 64-bit stats
64-bit stats corruption was observed when ramzswap was
used on SMP systems. To prevent this, use separate spinlock
to protect these stats.

Also, replace stat_*() with rzs_stat*() to avoid possible
conflict with core kernel code.

Eventually, these will be converted to per-cpu counters
if this driver finds use on large scale systems and this
locking is found to affect scalability.

Signed-off-by: Nitin Gupta <ngupta@vflare.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-09-10 11:01:21 -05:00
Minchan Kim
ab65acee3c Staging: ramzswap: Free memory when create_device is failed
If create_device is failed, it can't free gendisk and request_queue of
preceding devices. It cause memory leak.

This patch fixes it.

Signed-off-by: Minchan Kim <minchan.kim@gmail.com>
Acked-by: Nitin Gupta <ngupta@vflare.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-09-10 10:59:01 -05:00
C yp
61f5861239 Staging: ramzswap: Minor spelling fixes
Also removed an extra semicolon.

Signed-off-by: Cyp <cyp561@gmail.com>
Cc: Nitin Gupta <ngupta@vflare.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-09-10 10:58:33 -05:00
Huang Weiyi
2b05b95f94 Staging: ramzswap: remove unused #include <linux/version.h>
Remove unused #include <linux/version.h>('s) in
  drivers/staging/ramzswap/ramzswap_drv.c

Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-09-10 10:57:07 -05:00
Nitin Gupta
3c127a51f4 Staging: ramzswap: remove ARM specific d-cache hack
Remove d-cache hack in ramzswap driver that was needed
to workaround a bug in ARM version of update_mmu_cache()
which caused stale data in d-cache to be transferred to
userspace. This bug was fixed by git commit:
	787b2faadc4356b6c2c71feb42fb944fece9a12f
This also brings down one entry in TODO file.

Signed-off-by: Nitin Gupta <ngupta@vflare.org>
Acked-by: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-09-10 10:56:30 -05:00
Nitin Gupta
de3766d7b8 Staging: virtual block device driver (ramzswap)
Creates RAM based block devices (/dev/ramzswapX) which can be
used (only) as swap disks. Pages swapped to these are compressed
and stored in memory itself.

The module is called ramzswap.ko. It depends on:
 - xvmalloc memory allocator (compiled with this driver)
 - lzo_compress.ko
 - lzo_decompress.ko

See ramzswap.txt for usage details.

Signed-off-by: Nitin Gupta <ngupta@vflare.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-09-10 10:53:32 -05:00
Matt Sealey
2d252c60b2 Revert "ramzswap driver"
This reverts commit b675d5e9dd.
2010-09-10 10:50:50 -05:00
Matt Sealey
b675d5e9dd ramzswap driver 2010-09-10 10:41:51 -05:00
Matt Sealey
3604a1742e mtl017 update: edid dump and screen data
Update EDID dump to match SII9022 (rows of 32 bytes instead of one per line)

DEBUG_MTL017 controls this dump data.

whitespace fixes abound.
2010-09-09 16:01:10 -05:00
Matt Sealey
bd65b7761f Smartbook support for MXCFB_DEFAULT_BPP although 32-bit still seems banded 2010-09-09 14:14:52 -05:00
Matt Sealey
a64c5f15de VPU allocation fails for some reason - actually the reason is that fbi->fix.line_length can be zero. In this situation, DON'T try and dma_alloc_writecombine with 0 length, or it'll OOPS.
As a side effect of not doing this, the V4L driver would happily go off and touch a framebuffer address that was invalid, and there may have been a slight SNAFU with a divide by zero on the VPU framebuffer.

Arnaud Patard from Mandriva noticed these a long while ago, but now here they are.

BUG: these are temporary hacks, let's try and work out why line_length is 0..
2010-09-09 12:41:12 -05:00
Matt Sealey
c6ba22c9eb Ratonalize and cleanup the 16/32bit mode define. it's in mx51_efikamx.h now. 32bit works. 2010-09-09 12:18:24 -05:00
Matt Sealey
ade4807e80 Make RT2870 driver less chatty (# messages) and disable debug by default 2010-09-09 10:55:25 -05:00
Matt Sealey
864d4af084 pixclk_limit now a hardcoded define (117MHz) and no more 1080p hack (dangerous anyway!) 2010-09-09 10:54:35 -05:00
Matt Sealey
1d91ed0309 Roll back to 16-bit displays 2010-09-09 10:13:19 -05:00
Matt Sealey
0e1d623779 32-bit display fixes to stay consistent 2010-09-08 09:36:10 -05:00
Matt Sealey
7f70a4fe61 Make default bits per pixel 32-bit 2010-09-08 08:03:22 -05:00