omapdss: add support for DT028ATFT display

Signed-off-by: Björn Krombholz <b.krombholz@pironex.de>
pia35x: add support for DT028a display board

Signed-off-by: Björn Krombholz <b.krombholz@pironex.de>
USB: serial/usb_wwan, fix tty NULL dereference

tty_port_tty_get may return without any problems NULL. Handle this
case and do not oops in usb_wwan_indat_callback by dereferencing it.

The oops:
Unable to handle kernel paging request for data at address 0x000000d8
Faulting instruction address: 0xc0175b3c
Oops: Kernel access of bad area, sig: 11 [#1]
PowerPC 40x Platform
last sysfs file:
/sys/devices/pci0000:00/0000:00:00.0/0000:01:00.0/0000:02:09.2/usb1/idVendor
Modules linked in:
NIP: c0175b3c LR: c0175e7c CTR: c0215c90
REGS: c77f7d50 TRAP: 0300   Not tainted  (2.6.37-rc5)
MSR: 00021030 <ME,CE,IR,DR>  CR: 88482028  XER: 2000005f
DEAR: 000000d8, ESR: 00000000
TASK = c7141b90[1149] 'wvdial' THREAD: c2750000
GPR00: 00021030 c77f7e00 c7141b90 00000000 0000000e 00000000 0000000e c0410680
GPR08: c683db00 00000000 00000001 c03c81f8 88482028 10073ef4 ffffffb9 ffffff94
GPR16: 00000000 fde036c0 00200200 00100100 00000001 ffffff8d c34fabcc 00000000
GPR24: c71120d4 00000000 00000000 0000000e 00021030 00000000 00000000 0000000e
NIP [c0175b3c] tty_buffer_request_room+0x2c/0x194
LR [c0175e7c] tty_insert_flip_string_fixed_flag+0x3c/0xb0
Call Trace:
[c77f7e00] [00000003] 0x3 (unreliable)
[c77f7e30] [c0175e7c] tty_insert_flip_string_fixed_flag+0x3c/0xb0
[c77f7e60] [c0215df4] usb_wwan_indat_callback+0x164/0x170
...

References: https://bugzilla.kernel.org/show_bug.cgi?id=24582
Cc: Amit Shah <amitshah@gmx.net>
Cc: baoyb <baoyb@avit.org.cn>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
musb: cppi41: Fix for dma race condition during i/o completion

This patch fixes the cppi41 dma race condition, where software
reads buffer descriptor before being updated by dma as rx/tx
buffer descriptor(BD) writes by dma still pending in
interconnect bridge when traffic on interconnect is high.

Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Sriramakrishnan A G <srk@ti.com>
musb: workaround patch for babble condition

1) During the babble condition occured in host mode
the musb controller removes the session bit and drives
drvvbus to low and musb controller stops working.
2) This patch workaround this issue by restarting the musb
controller by performing usbotgss controller reset, restart
usb phy, enable all interrupts and then starts the musb
session.
3) Since musb controller shutdown during babble, the
disconnect event generated through software to notify
the associated class driver of connected that
musb is not operational.
3) The procfs entry is added to simulate the babble
condition interrupt through software
usage: echo 'b' > /proc/driver/musb_hdrc.0 or 1

Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Sriramakrishnan A G <srk@ti.com>
musb: modular build fix for babble workaround

Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Sriramakrishnan A G <srk@ti.com>
musb: Moving simulate babble intr function to musb_platform_ops

Simulating babble interrupt is invoked through musb
procfs command, to build musb driver as module with
debug support this function need to be added to
generic musb_platform_ops

Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Sriramakrishnan A G <srk@ti.com>
musb:cppi41: rx dma completion called while dma state is busy

In peripheral mode cppi41 rx dma completion called while
dma state is busy, the actual rx dma completion shall be
called after setting the dma state to free.

Signed-off-by: Ravi B <ravibabu@ti.com>
musb:cppi41: The epsize register must be multiple of 64

In generic rnids mode the epsize register must be
receive length multiple of 64 bytes.

Signed-off-by: Ravi B <ravibabu@ti.com>
usb: musb_host: cppi41 dma fixes for cdc-class

Fixes the cppi41 dma issue while configuring rx dma.
Fixes the bug in rx short pkt completion in
musb-host-rx.

Signed-off-by: Ravi B <ravibabu@ti.com>
musb: cppi41: fix for tx-fifo-not empty after txdma completion

The cppi41 tx-dma completes the transmit packet without checking
the last byte from tx-fifo is transmitted. The 20us delay in
tx-isr is not sufficient during rndis fping transfer of size 512.
This patch adds the additonal delay if tx-fifo is not empty.

Signed-off-by: Ravi B <ravibabu@ti.com>
musb: host: safe to giveback URB without taking spinlock

merge to cc42fb36 (musb: Add workqueue for URB giveback)

the giveback workqueue has only succesfull completed
URBs, it is safe to giveback URBs without taking
musb spinlocks.

Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
usb: musb: host: fix for urb error handling

This patch fixes 2 issues related urb error handling
1) handling incomplete transfer when short packet not expected
2) Do not start next urb when current urb has failed, this is
because stack will unlink/dequeue remaining urbs. Programming
the next urb will endup in urb completion because of expected
error (cause of current urb failure) interrupts and interfere
with urb dequeue initiated by stack and cause a crash.

Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Visuvanadan Pasupathy <vichu@ti.com>
usb: musb: cppi41: fix zero byte OUT issue

Fixes ZERO byte transfer in tx direction which was not being done in DMA mode.
Used PIO mode for all zero byte tx transfer.
usb: musb: host: set ECANCELED error code while dequeuing urb by stack

when the usb class driver dequeues the urb, set the urb status
to appropriate error code.

Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Visuvanadan Pasupathy <vichu@ti.com>