Commit Graph

404959 Commits

Author SHA1 Message Date
huang zhibao
70244039d4 rk1000: rk1000 Standby power consumption processing 2015-04-18 15:08:06 +08:00
Alpha Lin
0e06aef4d3 VCODEC: Disable switch ip when construct iommu table.
Depend on iommu do not operate hardware on create iommu table.
VCODEC disable hardware ip switch.

Switch hardware when create iommu table will break the running
schedule of vpu task queue, and cause the hardware stuck.

Signed-off-by: Alpha Lin <alpha.lin@rock-chips.com>
2015-04-17 14:16:33 +08:00
Simon
aa34284b75 rk3368: iommu: expose iommu tlb invalidate operation to owner
Signed-off-by: Simon <xxm@rock-chips.com>
2015-04-17 11:11:45 +08:00
Simon
28b00ae9fe rk3368: iommu: delete vop/hevc attach/detach log
Signed-off-by: Simon <xxm@rock-chips.com>
2015-04-17 11:11:42 +08:00
Simon
1617e62c09 rk3368: iommu: workaround for switch between vpu and hevc
vpu/hevc share the same ahb, when switch vpu and hevc,may cause
iommu error,to avoid this error,skip invalidate iommu tlb when iovmm_map

Signed-off-by: Simon <xxm@rock-chips.com>
2015-04-17 11:11:12 +08:00
huang zhibao
b8167b6f7d dst: rk3368-box.dts amend pwm regulator 2015-04-17 10:12:52 +08:00
huang zhibao
b5c698b5c6 dts: 1.add box rk3368 r88 dts; 2.amend 3368 box pwm regulator 2015-04-17 10:09:29 +08:00
hjc
09440c9ed5 rk3368 lcdc: revert lcdc reset when switch hdmi
Signed-off-by: hjc <hjc@rock-chips.com>
2015-04-16 20:17:24 +08:00
hjc
b280cfcee1 rk3368 lcdc: add gather config for bandwidth
Signed-off-by: hjc <hjc@rock-chips.com>
2015-04-16 20:17:24 +08:00
hjc
5a61bdfd90 rk fb: if lcdc is suspend ignore set par and display
Signed-off-by: hjc <hjc@rock-chips.com>
2015-04-16 20:17:24 +08:00
Zheng Yang
29ebc4486f rk3368-box.dts: modify fb display policy to DISPLAY_POLICY_BOX_TEMP.
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
2015-04-16 09:35:50 +08:00
hjc
e6ac3de62a rk fb: add fb disp policy for excessive stage
Signed-off-by: hjc <hjc@rock-chips.com>
2015-04-15 19:28:05 +08:00
hjc
cc8c69af8f rk fb: add mutex lock for switch screen to prevent
hdmi and cvbs call this function at the same
       time.

Signed-off-by: hjc <hjc@rock-chips.com>
2015-04-15 18:01:04 +08:00
zsq
a8dceb6bb9 change rga.h define to match rk_fb config 2015-04-15 15:53:39 +08:00
zxl
e64ed7772a RK3368 GPU version: Rogue L 0.13
Remove 'Clear cleanup_sync'

Signed-off-by: zxl <zhuangxl@rock-chips.com>
2015-04-15 09:53:37 +08:00
Zheng Yang
3db783a988 rk1000: Fix picture error when suspend and switch mode.
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
2015-04-14 22:05:41 +08:00
Zheng Yang
da0c4bb9b0 display-sysfs:
Do not disable HDMI in function rk_display_device_enable.

Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
2015-04-14 21:16:19 +08:00
CMY
1a2971e2cd rk: ion: Add trace emit function for ion debug
Signed-off-by: CMY <cmy@rock-chips.com>
2015-04-14 19:59:46 +08:00
Zheng Yang
5e925ef55c HDMI: rk_fb_disp_scale is disabled.
Overscan function is achieved by fb driver, so HDMI
	driver do not call this function.

Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
2015-04-14 19:35:22 +08:00
Zhaoyifeng
e1bce0140d NAND DRIVER: rk3368 support nand.
using __dma_map_area and virt_to_phys instead of rknand_dma_map_single
 and rknand_dma_unmap_single.
    dma_map_single need dev config dma ops struct and config dma_mask.
NAND flash driver has not this config and got the incorrect phy addr return by
dma_map_single.
2015-04-14 17:29:24 +08:00
hjc
307f76c3cc rk fb: add switch enable status when send uevent
Signed-off-by: hjc <hjc@rock-chips.com>
2015-04-14 15:42:26 +08:00
Amit Pundir
f56ff9935a arm64: kuser32-bit helpers: do not include unistd32.h explicitly
We get following warnings while building for arm64 arch:
----->8-----
In file included from arch/arm64/kernel/kuser32.S:32:0:
/linaro/android/kernel/pundir/arch/arm64/include/asm/unistd32.h:24:0: warning: "__NR_restart_syscall" redefined
 #define __NR_restart_syscall 0
 ^
In file included from include/asm-generic/unistd.h:1:0,
                 from /linaro/android/kernel/pundir/arch/arm64/include/uapi/asm/unistd.h:16,
                 from /linaro/android/kernel/pundir/arch/arm64/include/asm/unistd.h:50,
                 from arch/arm64/kernel/kuser32.S:31:
include/uapi/asm-generic/unistd.h:390:0: note: this is the location of the previous definition
 #define __NR_restart_syscall 128
 ^
In file included from arch/arm64/kernel/kuser32.S:32:0:
/linaro/android/kernel/pundir/arch/arm64/include/asm/unistd32.h:26:0: warning: "__NR_exit" redefined
 #define __NR_exit 1
 ^
In file included from include/asm-generic/unistd.h:1:0,
                 from /linaro/android/kernel/pundir/arch/arm64/include/uapi/asm/unistd.h:16,
                 from /linaro/android/kernel/pundir/arch/arm64/include/asm/unistd.h:50,
                 from arch/arm64/kernel/kuser32.S:31:
include/uapi/asm-generic/unistd.h:292:0: note: this is the location of the previous definition
 #define __NR_exit 93
 ^
-----8<-----

This patch removes unitstd32.h include to avoid duplication of
"__NR_" syscall definitions.

This patch is based on AOSP commit: cfc7e99e9e,
"arm64: Add __NR_* definitions for compat syscalls", which adds
__NR_* definitions to asm/unistd32.h, moves the __NR_compat_*
definitions to asm/unistd.h and removes all the explicit unistd32.h
includes apart from the one building the compat syscall table.
The aim is to have the compat __NR_* definitions available but
without colliding with the native syscall definitions (required
by lib/compat_audit.c to avoid duplicating the audit header files
between native and compat).

Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
Signed-off-by: Jon Medhurst <tixy@linaro.org>
2015-04-13 15:56:10 +08:00
hjc
5aa93b8181 rk fb: update message info when page fault
Signed-off-by: hjc <hjc@rock-chips.com>
2015-04-13 16:01:18 +08:00
hjc
27dce98214 rk fb: send uevent when change video mode
Signed-off-by: hjc <hjc@rock-chips.com>
2015-04-13 16:01:18 +08:00
Jialing Fu
f51501b7bb mmc: core: fix race condition in mmc_wait_data_done
The following panic is captured in ker3.14, but the issue still exists
in latest kernel.
---------------------------------------------------------------------
[   20.738217] c0 3136 (Compiler) Unable to handle kernel NULL pointer dereference
at virtual address 00000578
......
[   20.738499] c0 3136 (Compiler) PC is at _raw_spin_lock_irqsave+0x24/0x60
[   20.738527] c0 3136 (Compiler) LR is at _raw_spin_lock_irqsave+0x20/0x60
[   20.740134] c0 3136 (Compiler) Call trace:
[   20.740165] c0 3136 (Compiler) [<ffffffc0008ee900>] _raw_spin_lock_irqsave+0x24/0x60
[   20.740200] c0 3136 (Compiler) [<ffffffc0000dd024>] __wake_up+0x1c/0x54
[   20.740230] c0 3136 (Compiler) [<ffffffc000639414>] mmc_wait_data_done+0x28/0x34
[   20.740262] c0 3136 (Compiler) [<ffffffc0006391a0>] mmc_request_done+0xa4/0x220
[   20.740314] c0 3136 (Compiler) [<ffffffc000656894>] sdhci_tasklet_finish+0xac/0x264
[   20.740352] c0 3136 (Compiler) [<ffffffc0000a2b58>] tasklet_action+0xa0/0x158
[   20.740382] c0 3136 (Compiler) [<ffffffc0000a2078>] __do_softirq+0x10c/0x2e4
[   20.740411] c0 3136 (Compiler) [<ffffffc0000a24bc>] irq_exit+0x8c/0xc0
[   20.740439] c0 3136 (Compiler) [<ffffffc00008489c>] handle_IRQ+0x48/0xac
[   20.740469] c0 3136 (Compiler) [<ffffffc000081428>] gic_handle_irq+0x38/0x7c
----------------------------------------------------------------------

Because in SMP, "mrq" has race condition between below two paths:
path1: CPU0: <tasklet context>
  static void mmc_wait_data_done(struct mmc_request *mrq)
  {
    mrq->host->context_info.is_done_rcv = true;
    //
    // If CPU0 has just finished "is_done_rcv = true" in path1, and at
    // this moment, IRQ or ICache line missing happens in CPU0.
    // What happens in CPU1 (path2)?
    //
    // If the mmcqd thread in CPU1(path2) hasn't entered to sleep mode:
    // path2 would have chance to break from wait_event_interruptible
    // in mmc_wait_for_data_req_done and continue to run for next
    // mmc_request (mmc_blk_rw_rq_prep).
    //
    // Within mmc_blk_rq_prep, mrq is cleared to 0.
    // If below line still gets host from "mrq" as the result of
    // compiler, the panic happens as we traced.
    wake_up_interruptible(&mrq->host->context_info.wait);
  }

path2: CPU1: <The mmcqd thread runs mmc_queue_thread>
 static int mmc_wait_for_data_req_done(...
 {
    ...
    while (1) {
          wait_event_interruptible(context_info->wait,
                  (context_info->is_done_rcv ||
                   context_info->is_new_req));

  static void mmc_blk_rw_rq_prep(...
  {
    ...
    memset(brq, 0, sizeof(struct mmc_blk_request));

This issue happens very coincidentally; however adding mdelay(1) in
mmc_wait_data_done as below could duplicate it easily.
  static void mmc_wait_data_done(struct mmc_request *mrq)
  {
    mrq->host->context_info.is_done_rcv = true;
    mdelay(1);
    wake_up_interruptible(&mrq->host->context_info.wait);
  }
At runtime, IRQ or ICache line missing may just happen at the same place
of the mdelay(1).

This patch gets the mmc_context_info at the beginning of function, it can
avoid this race condition.

Signed-off-by: Jialing Fu <jlfu@marvell.com>
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Signed-off-by: lintao <lintao@rock-chips.com>
2015-04-13 15:32:15 +08:00
zhangqing
409b9a9fe4 rk3368: clk: powerdomain: enable powerdomain func.
test:Passed the special test.Test machine 15 for P9 and test 12H.
	Have the test report form Quality department.

Signed-off-by: zhangqing <zhangqing@rock-chips.com>
2015-04-13 04:27:48 -07:00
hjc
9118760938 rk fb: do something when user set invalid config
Signed-off-by: hjc <hjc@rock-chips.com>
2015-04-13 11:15:03 +08:00
CMY
3186064dd9 rk: iommu: enable iommu by default on rk33xx platform
Signed-off-by: CMY <cmy@rock-chips.com>
2015-04-13 09:30:50 +08:00
lintao
db26b0def7 dts: rk3368: add mcu jtag pcl sd1 inactive state
Signed-off-by: lintao <lintao@rock-chips.com>
2015-04-13 09:22:52 +08:00
hjc
5de58df8a6 rk fb: set retire fence fd to -1 when ignore this frame
Signed-off-by: hjc <hjc@rock-chips.com>
2015-04-13 09:39:50 +08:00
Zheng Yang
33be0d0365 HDMI: calling rk_fb_switch_screen() to close vop related to HDMI
before calling switch_set_state() when HDMI is removed.
      For android hwcompser need to make sure vop is disabled when
      received hdmi removing event.

Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
2015-04-11 17:33:19 +08:00
Aiyoujun
c04cdecff9 usb: ftp: fix the bug of ftp ioctrl args problem with 32bit userspace on 64bit platforms
Signed-off-by: Aiyoujun <ayj@rock-chips.com>
2015-04-11 16:14:20 +08:00
guoyi
c3ab142dc7 rk3368-p9: dts: enabled change ddr-freq 2015-04-11 16:40:46 +08:00
lyz
bd1b1fd8d6 usb: dwc_otg: fix bugs
1.Cancel usb vbus detect work in driver shutdown rountine
2.Check empty list
3.Disable usb interrupt before usb mode change

TEST:

1.reboot test
2.while true; do
    echo 1 > force_usb_mode;busybox sleep 5;
    echo 2 > force_usb_mode;busybox sleep 5;
  done

Signed-off-by: lyz <lyz@rock-chips.com>
2015-04-10 16:30:56 +08:00
Alpha Lin
f161a8f22b IEP: Support processing part of input image
Enable virtual size and actual size and start offset, to support
processing part of input image.

Signed-off-by: Alpha Lin <alpha.lin@rock-chips.com>
2015-04-10 13:56:19 +08:00
Zheng Yang
2258ac9cca HDMI: call function hdmi->ops->disable() if it is disabled.
For system can not be wakeup under following case:
      step1. Disable HDMI.
      step2. set system to deep sleep mode.
      step3. remove HDMI connection.
      step4. wake up system.

Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
2015-04-09 18:07:37 +08:00
hjc
474610f48c rk fb: when unplug hdmi,post fb to display
Signed-off-by: hjc <hjc@rock-chips.com>
2015-04-09 18:06:02 +08:00
hjc
bd0229c230 rk fb: hdmi 24hz frame time need 41ms
Signed-off-by: hjc <hjc@rock-chips.com>
2015-04-09 17:37:15 +08:00
hjc
e1ad97b825 rk fb: recovery need two framebuffer
Signed-off-by: hjc <hjc@rock-chips.com>
2015-04-09 16:26:57 +08:00
Tang Yun ping
860a4ab343 RK3368 DDR: add support 3368 ddr change freq function
note:need using new trustimage and uboot for support ddr change freq

Signed-off-by: Tang Yun ping <typ@rock-chips.com>
2015-04-09 11:51:56 +08:00
smj
12bac32cc2 i2s:fix the hdmi no sound sometimes
support for hdmi passthrough output

Signed-off-by: smj  <smj@rock-chips.com>
2015-04-09 11:35:12 +08:00
hjc
a790322296 rk3368 lcdc: flush update regs worker when switch screen
Signed-off-by: hjc <hjc@rock-chips.com>
2015-04-09 11:55:03 +08:00
guoyi
7e6a7a6950 arm64: rockchip: rockchip_defconfig enabled rk818 & gt9xx & es8316 2015-04-09 11:14:05 +08:00
hjc
9ee1b26d4d rk fb: ignore frame when in hdmi switch or set error config
Signed-off-by: hjc <hjc@rock-chips.com>
2015-04-09 11:31:27 +08:00
hjc
336b5c3ebb rk3368 lcdc: reset lcdc when switch screen video mode
Signed-off-by: hjc <hjc@rock-chips.com>
2015-04-09 11:30:35 +08:00
Jianqun Xu
71fb032a4f ARM64: dt: rk3368: add driver support for rk818
Support rk818 pmic, patch is from zhangqing@rock-chips.com.

Signed-off-by: Zhangqing <zhangqing@rock-chips.com>
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2015-04-09 10:13:14 +08:00
Zheng Yang
5dc14650f0 rk3368-box.dts: enable uboot logo.
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
2015-04-08 18:46:46 +08:00
huang zhibao
4457b5e860 dts:rk3368-box.dts default iommu 2015-04-08 16:22:27 +08:00
zxl
93691f7140 RK3368 GPU version: L0.12
1. Instead kmalloc to kzalloc.
2. Clear cleanup_sync in pvr_sync_clean_freelist.
2015-04-08 11:20:30 +08:00
xubilv
721f684bc0 rk3368:mipi: Solve clk_unprepare error problem when plug and pull out hdmi.
Signed-off-by: xubilv <xbl@rock-chips.com>
2015-04-07 18:45:26 +08:00