02 Mar, 2021

2 commits

  • android display hal has refined the logic to use block commit when
    there is overlay but without android out fence. This android out
    fence patch can be reverted now.

    Revert "MA-14133 Enable android out fence and normal out fence simultaneously"

    This reverts commit d5d94e0e13b5bdf8b3ab4f60341e00898bbaf3c2.

    Change-Id: I8ef48ba46350324965e055e5314c837472aead6d
    Signed-off-by: Richard Liu

    Richard Liu
     
  • …s wrong and text becomes unreadable if use user build images

    don't re-init the console port when resume from suspend if have no sh.
    Don't startup the console port when user space has no bash environment
    than getty service cannot start up.

    This patch save the early console configure to tty->termios.c_cflag.
    reset the uart according the saved info when startup.

    Change-Id: I62ece4f6fc866d59e557722144e49b07de6b4179
    Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
    Tested-by: zhang sanshan <sanshan.zhang@nxp.com>

    Fugang Duan
     

01 Mar, 2021

1 commit

  • - M865SW-681: VSI V4L2 Engineer release package 20210226
    M865SW-595: [VPU/V4L2] report hdr10 metadata to userspace
    M865SW-608: [VPU/V4L2] decoder: enumerate CAPTURE formats according to the currently established coded format
    M865SW-655: [VPU/V4l2] Refine assert reference for Android build
    M865SW-663: [VPU/V4L2] decoder: app can't receive codec error event
    M865SW-668: [VPU/V4L2] daemon: update vsidaemon ts manager to fix Android GTS issue
    M865SW-671: [VPU/V4L2] decoder: seek a resolution changed vp9 stream meet decoding error
    M865SW-676: [VPU/V4L2] decoder: please add new formats into verfiyPlanesize()
    M865SW-678: [VPU/V4L2] decoder: please add 10bit depth into vsiv4l2_decidepixeldepth()
    M865SW-572: [VPU/V4L2] decoder/encoder: one frame stream can't receive EOS
    M865SW-674: [VPU/V4L2] the dtrc and dtrx output is incorrect when decoding 10bit stream

    Signed-off-by: Zhou Peng
    Change-Id: I61a196742dade4255c806b0549da77d9d261d32e

    Zhou Peng
     

25 Feb, 2021

1 commit


23 Feb, 2021

5 commits

  • Move media, hdmi and audio blk ctrl data from clk-imx8mp
    to clk-blk-ctrl driver to fix below kernel dump met when built as module:

    [ 1.909525][ T1] init: Loading module /lib/modules/clk-blk-ctrl.ko with args ""
    [ 1.918640][ T1] Unable to handle kernel paging request at virtual address ffffffc0118a9b54
    [ 1.927265][ T1] Mem abort info:
    [ 1.930764][ T1] ESR = 0x96000007
    [ 1.934528][ T1] EC = 0x25: DABT (current EL), IL = 32 bits
    [ 1.940542][ T1] SET = 0, FnV = 0
    [ 1.944299][ T1] EA = 0, S1PTW = 0
    [ 1.948142][ T1] Data abort info:
    [ 1.951719][ T1] ISV = 0, ISS = 0x00000007
    [ 1.956256][ T1] CM = 0, WnR = 0
    [ 1.959927][ T1] swapper pgtable: 4k pages, 39-bit VAs, pgdp=0000000041de3000
    [ 1.967329][ T1] [ffffffc0118a9b54] pgd=00000001bffff003, p4d=00000001bffff003, pud=00000001bffff003, pmd=00000001bfffc003, pte=0000000000000000
    [ 1.980570][ T1] Internal error: Oops: 96000007 [#1] PREEMPT SMP
    [ 1.986840][ T1] Modules linked in: clk_blk_ctrl(+) imx2_wdt imx gpio_mxc pinctrl_imx8mp pinctrl_imx irq_imx_irqsteer busfreq_imx8mq timer_imx_sysctr
    [ 2.000527][ T1] CPU: 3 PID: 1 Comm: init Not tainted 5.10.9-00012-g9da899adc4fd #10
    [ 2.008530][ T1] Hardware name: NXP i.MX8MPlus EVK board (DT)
    [ 2.014542][ T1] pstate: 20400005 (nzCv daif +PAN -UAO -TCO BTYPE=--)
    [ 2.021254][ T1] pc : imx_blk_ctrl_probe+0x68/0x414 [clk_blk_ctrl]
    [ 2.027702][ T1] lr : imx_blk_ctrl_probe+0x68/0x414 [clk_blk_ctrl]
    [ 2.034142][ T1] sp : ffffffc011b6b860
    [ 2.038153][ T1] x29: ffffffc011b6b890 x28: ffffffc011b6bda0
    [ 2.044164][ T1] x27: 0000000000000100 x26: ffffffc008f05190
    [ 2.050175][ T1] x25: ffffff80c3a5e430 x24: 0000000000000010
    [ 2.056187][ T1] x23: ffffffc011b15000 x22: ffffffc0119fc510
    [ 2.062198][ T1] x21: ffffff80c3b23e80 x20: ffffff80c0915400
    [ 2.068211][ T1] x19: ffffff80c0915410 x18: ffffffc011b550a0
    [ 2.074225][ T1] x17: 0000000000000031 x16: ffffffc012361000
    [ 2.080238][ T1] x15: ffffffc012350000 x14: 0000000000000086
    [ 2.086249][ T1] x13: 0000000000000042 x12: 0000000000000000
    [ 2.092260][ T1] x11: fffffffefe6880a1 x10: fffffffefe6880a0
    [ 2.098271][ T1] x9 : 0000000100000000 x8 : 0000000100000000
    [ 2.104282][ T1] x7 : 01fefefefefefeff x6 : 8080808080808000
    [ 2.110293][ T1] x5 : 0080808080808080 x4 : 6e6f63737973ffff
    [ 2.116305][ T1] x3 : 6701000008000000 x2 : 0300000000000000
    [ 2.122319][ T1] x1 : 0000000000000000 x0 : ffffffc0118a9b40
    [ 2.128332][ T1] Call trace:
    [ 2.131480][ T1] imx_blk_ctrl_probe+0x68/0x414 [clk_blk_ctrl]
    [ 2.137579][ T1] platform_drv_probe+0x94/0xbc
    [ 2.142285][ T1] really_probe+0x1d4/0x4b4
    [ 2.146646][ T1] driver_probe_device+0x64/0xb8
    [ 2.151439][ T1] device_driver_attach+0x6c/0xac

    Signed-off-by: Jindong Yue
    Change-Id: Ib7e00602734cfe3465641f7d37ebd4e59b7ea563

    Jindong Yue
     
  • Allow i.mx8m power domain driver to be loaded as module.
    Do not select IMX8M_PM_DOMAINS by default after enable ARCH_MXC.

    Signed-off-by: Jindong Yue
    Change-Id: I19c9978762136d1a6314ffcb3545536ae2598faa

    Jindong Yue
     
  • Add CONFIG_SOC_IMX_MU to control whether build this driver.
    Add module license and description to support building it as module.

    Default set it to y for ARCH_MXC && ARM64

    Signed-off-by: Jindong Yue
    Change-Id: I8970f264cfddbb4407e223dc8e51065ac7f77b0c

    Jindong Yue
     
  • Modify config as tristate and add module license to support
    building imx8m soc driver as module.

    Signed-off-by: Jindong Yue
    Change-Id: Ia441670abc7ebae4fd931006b010b2822815ff85

    Jindong Yue
     
  • Revert "MA-18223-4 Cannot access /sys/class/thermal/thermal_zoneX/temp on 8mp"
    This reverts commit d92b2486d24c07fa31adb7b9c4a1c0c048f81633.

    this patch is not needed now, we have enable runtime cpu hotplug in Thermal hal

    Change-Id: Ic70491573d6401498639d2c02a0433b76e15cf3e

    Dandan Sun
     

19 Feb, 2021

2 commits


07 Feb, 2021

1 commit

  • - M865SW-664: VSI V4L2 Engineer release package 20210205
    M865SW-511: [VPU/V4L2] decoder: add extr v4l2 event to report 'PIC_CONSUMED' buffer
    M865SW-554: [VPU/V4L2] decoder: decoder return wrong timestamp because of wrong consumed length
    M865SW-595: [VPU/V4L2] report hdr10 metadata to userspace
    M865SW-608: [VPU/V4L2] decoder: enumerate CAPTURE formats according to the currently established coded format
    M865SW-648: [VPU/V4L2] encoder: streamoff failed in VSI_STATUS_INIT state
    M865SW-654: [VPU/V4L2] Extend maximum h265 level to 5_2
    M865SW-655: [VPU/V4l2] Refine assert reference for Android build
    M865SW-659: [VPU/V4L2] Android meet dead waiting in open video device if rootfs does exists vsidaemon
    M865SW-523: [VPU/V4L2] decoder: correctly handle stream file that contained codec data only
    M865SW-572: [VPU/V4L2] decoder/encoder: one frame stream can't receive EOS
    M865SW-644: [VPU/V4L2] decoder: can't recover to capture on state if stop cmd comes earlier than capture on cmd

    Signed-off-by: Zhou Peng
    Change-Id: I3de0c8a409e2cd9f7334369442c8d037da2471b2

    Zhou Peng
     

05 Feb, 2021

1 commit


03 Feb, 2021

1 commit


01 Feb, 2021

5 commits

  • - VSI v1.4.1 20210129 formal release
    Change List (compare with v1.4):
    Regenerating code to make modules' boundary clearer.
    Adjust license declaration to meet NXP requirement. Passed NPX's license check.
    Remove unused code from project or release.
    Clean up code style to get conformant to kernel spec(driver) or google (daemon).
    Better support of AVS and RV format in unit test.
    Better support of 10-bit decoding.
    Save bandwidth by reducing data transfer number.
    Add extra event for communication between driver and application.
    Resolve some potential sync problem.
    Better support of crop feature in decoding.
    Resolve several CTS cases.
    Re-organize imx-vpu.h in conformance to standard kernel driver API's framework.
    JIRA ticket 503, 523, 528, 546, 554, 557, 589, 597, 608, 626, 627, 628, 633, 640 are resolved in this release

    Signed-off-by: Zhou Peng
    Change-Id: I4e2779b8e878f633f4e6f002e05d927cf750ccec

    Zhou Peng
     
  • add vpu_v4l2 device node for 8mm/8mq/8mp

    Signed-off-by: Zhou Peng
    Change-Id: If41af5aafa79764a3d208d6888f4b2a0eca7361b

    Zhou Peng
     
  • Define variables for daemon and logpath in android

    Signed-off-by: xiahong.bao
    Reviewed-by: Zhou Peng
    Change-Id: Ide5102a03ea394f0d6c2f2fcd888770f10c55dbe

    Zhou Peng
     
  • Add vpu v4l2 driver 'drivers/mxc/hantro_v4l2/'
    Source are based on VSI 20210121 release

    Signed-off-by: Zhou Peng
    Change-Id: Ic879d0a19c75336349803c2e7115e64ce93b71bf

    Zhou Peng
     
  • Change-Id: Ief0d6fac10385c5f7d99ab7a9ac3932a7a637913

    zhang sanshan
     

30 Jan, 2021

4 commits

  • Add a new member jpeg_parse_error in mxc_jpeg_src_buf, to indicate
    an error while parsing the input jpeg stream.
    Do not run the decoder when the source buffer is marked with
    jpeg_parse_error, instead mark both the source and destination
    buffer with VB2_BUF_STATE_ERROR. This will prevent an application
    getting stuck waiting to dequeue the destination buffer.

    Signed-off-by: Mirela Rabulea

    Mirela Rabulea
     
  • End of buffer was not properly detected in case of an invalid
    buffer stream, such as a stream of null bytes, for example.
    This was leading to a kernel oups.
    Let get_byte return type be int, so it can return an error for
    reaching end of stream.

    While at it, replace 0 with NULL, for null pointer initialization.

    Fixes: 36649dec0eb7 ("mxc-jpeg: Fix result independent of operands")
    Signed-off-by: Mirela Rabulea

    Mirela Rabulea
     
  • Clocks are always on when DSP PD is on. Use dummy clocks
    for minimal code impact for now.

    This is similar with the approach on i.MX8QM.

    Signed-off-by: Daniel Baluta

    Daniel Baluta
     
  • This is similar with the refactor for i.MX8MP added in commit
    ba2d283f5d9 ("LF-3026-2 ASoC: SOF: imx8m: Remove internal
    priv->suspended variable").

    Because SOF state machine assumes that even if the DSP wasn't previously
    active at a System resume, will re-load the firmware we need to make sure
    that all needed resources are active.

    Kernel core will take care of enabling the PD, we need to make sure that
    we request the MU channels.

    Signed-off-by: Daniel Baluta

    Daniel Baluta
     

29 Jan, 2021

11 commits

  • Skip registering the root slice of gate ops, if M4 is enabled.The gate in
    the root slice of the clock related to GPU, VPU, MEDIA and ML etc is always
    open by default.This causes VDD_SOC to increase by 25mW when M7 is in STOP MODE.

    This patch only makes "audio_ahb", "i2c3", "sai3", "uart4", "gic",
    "gpt1" and "pwm4" related to LPA clock skips registering the root slice
    of gate ops, if M4 is enabled.After this change, VDD_SOC increases by 5mW
    when M7 is in STOP MODE.This change saves 20mw.

    Change-Id: I7779c8e9ed6864db5f218c287341ab57a90b6a7b
    Signed-off-by: zhipeng.wang

    zhipeng.wang
     
  • Enable LPA in powersave mode.
    This is achieved by adding imx8mp-evk-powersave-rpmsg.dts

    Change-Id: I70213808f7a509e25c778c2b831f7fb95941b667
    Signed-off-by: zhipeng.wang

    zhipeng.wang
     
  • remove HDMI module on imx8mp.
    it will save 10mw for vdd_soc

    Change-Id: I3b6222d0dac4f77f52fb45213c5dc28498f6616f

    zhipeng.wang
     
  • Disable ldb, it will save 20mw on imx8mp board.

    the power domain mediamix will on after lcd off, because ldb@32ec005c
    is not support runtime pm. Linux bsp will send one formal patch to enable
    lvds run time pm, before that I disable ldb.

    cat sys/kernel/debug/pm_genpd/pm_genpd_summary
    mediamix on ispdwp, mipi_phy1,mipi_phy2
    /devices/...../32c00000.bus/32c00000.bus:phy@32ec0128 suspended
    /devices/...../32c00000.bus/32c00000.bus:ldb@32ec005c unsupported
    /devices/...../32c00000.bus/32e80000.lcd-controller suspended

    power domain mediamix will been off after apply this patch when lcd off
    cat sys/kernel/debug/pm_genpd/pm_genpd_summary
    mediamix off-0 ispdwp, mipi_phy1,mipi_phy2
    /devices/.../32c00000.bus/32c00000.bus:phy@32ec0128 suspended
    /devices/.../32c00000.bus/32c00000.bus:ldb@32ec005c suspended
    /devices/.../32c00000.bus/32e80000.lcd-controller suspended
    /devices/.../32c00000.bus/32e90000.lcd-controller suspended

    Change-Id: I9b2c3a7f544707e3380ece64d30b987d42ec94c1
    Signed-off-by: zhipeng.wang

    zhipeng.wang
     
  • Under normal circumstances, use BT,
    the system will request high. In order to test the
    MP3 to BT in the case of low audio bus, remove it.

    Change-Id: I00fd9986e559ce39a8d0af18540ee55e60357a98
    Signed-off-by: zhipeng.wang

    zhipeng.wang
     
  • disable fec on imx8mp board.

    Change-Id: I70ebc6d47895059b4abef8fb04c1a56e3cfd6dd7
    Signed-off-by: zhipeng.wang

    zhipeng.wang
     
  • disable system regulator to high bus freq for emmc.
    system will change to high bus freq when open lcd
    through imx_lcdifv3_runtime_resume.

    Change-Id: Iaa65e56c5efdd7cb236a21f41d70834070065293
    Signed-off-by: zhang sanshan

    zhang sanshan
     
  • enable runtime setting gic clk(500M → 100M)

    Change-Id: I79e07ffcf645ee7f26ec1fc701d44f3e7502cb62
    Signed-off-by: zhipeng.wang

    zhipeng.wang
     
  • Under normal circumstances, the ddr frequencies of audio_bus_mode and
    low_bus_mode are both 100mts. Now in order to meet Sony’s requirements,
    both audio_bus_mode and low_bus_mode are changed to 400mts.

    Change-Id: I68f878a52069136f4b8ff84b06a55b8ea1eae99d

    zhang sanshan
     
  • For normal case, userspace should call streamon/streamoff balance, but
    for some special case, the process will be killed or terminated and the
    streamoff ioctl will be ignored. So driver need to handle the case.

    Signed-off-by: Guoniu.zhou
    Reviewed-by: Robby Cai

    Guoniu.zhou
     
  • For some tough multi channels test, the default priority of channel0 may
    not be scheduled in 500us so that channel context can't be loaded as the
    below warning, hence sdma channel transfer will be failed. So raise up
    channel0 to the highest one since context load is important to all
    channels. Besides, enlarge 500us to 5ms for safe since many highest channel
    also may run at the same time like asrc/easrc tough test(8 channel run).

    "imx-sdma 30e10000.dma-controller: Timeout waiting for CH0 ready"

    Signed-off-by: Robin Gong
    Reviewed-by: Peng Zhang

    Robin Gong
     

28 Jan, 2021

6 commits

  • …t to a hotspot and run MM automation test, 4/4

    it meet rcu issue within 2 hours when do Apollo stress test(fetch mm streams and play/pause/accelerate play/seek/.. streams)

    below is the condition when meet issue:
    1. thread A enter the logic which is protected by RCU lock.
    2. thread A is schedule out.
    3. thread B(it means worker quene xf_proxy_process here) or irq callback funtion call MU_SendMessage
    4. MU_SendMessage hang in "while" loop
    5. thread A can't been schedule in CONFIG_RCU_CPU_STALL_TIMEOUT seconds(the nice of Thread A is not high than thread B). it cause rcu issue.

    This patch add 50ms for while logic so that it will not hang in MU_SendMessage.

    -------- beginning of crash
    04-27 00:36:32.408 F/libc ( 353): crash_dump helper failed to exec
    [ 1186.326364] init: Untracked pid 6333 received signal 14
    04-27 00:36:37.133 F/libc ( 1389): crash_dump helper failed to exec
    [ 1188.676005] rcu: INFO: rcu_preempt self-detected stall on CPU
    [ 1188.681753] rcu: 1-....: (99605 ticks this GP) idle=c76/1/0x4000000000000002 softirq=35006/35006 fqs=49746
    [ 1188.691575] (t=99768 jiffies g=119805 q=26095)
    [ 1188.696103] Task dump for CPU 1:
    [ 1188.699325] kworker/1:0 R running task 0 3467 2 0x0000002a
    [ 1188.706381] Workqueue: events xf_proxy_process
    [ 1188.710817] Call trace:
    [ 1188.713262] dump_backtrace+0x0/0x134
    [ 1188.716917] show_stack+0x14/0x1c
    [ 1188.720227] sched_show_task+0xf8/0x104
    [ 1188.724057] dump_cpu_task+0x40/0x4c
    [ 1188.727629] rcu_dump_cpu_stacks+0xa0/0xf4
    [ 1188.731721] rcu_sched_clock_irq+0x53c/0x98c
    [ 1188.735988] update_process_times+0x6c/0x94
    [ 1188.740174] tick_sched_timer+0x90/0xf8
    [ 1188.744004] __hrtimer_run_queues+0x118/0x1bc
    [ 1188.748356] hrtimer_interrupt+0xf4/0x338
    [ 1188.752362] arch_timer_handler_phys+0x34/0x40

    Change-Id: I9d49f0d1f9675129511a1bfc74b2369d99f2d4b9
    Signed-off-by: zhang sanshan <pete.zhang@nxp.com>

    zhang sanshan
     
  • add isi and ov5640 dts setting into imx8qm-mek-hdmi.dts.
    imx8qm-mek-hdmi.dts is included by md dts.
    camera is also is needed by hdmi dts.

    Change-Id: I51d31bc21a1d1b8af90a0cf0c5b51137773d3c12
    Signed-off-by: zhang sanshan

    zhang sanshan
     
  • if clk is build as module, reset-dispmix is set as Y by default.
    reset-dispmix will fail when probe, because it is depended on clk which is still not ready.
    display driver will failed if reset-dispmix failed.

    Change-Id: Ib86f71256dcf41924e063e73f94eac4494e41e89
    Signed-off-by: zhang sanshan

    zhang sanshan
     
  • below is the scene when meet issue running module CtsCameraTestCases.
    1. It will operate list(like list_del) in cap_vb2_stop_streaming.
    2. Althrough the list is protected by spin_lock_irqsave step 1 which disable interrupt.
    It will also operate list in mxc_isi_cap_frame_write_done, it's in context of interrupt(mxc_isi_irq_handler)
    this interrupt is from different cpu compared with step1.

    this patch use spin_lock_irqsave/spin_unlock_irqrestore in interrupt context to protect the shared
    data (out_pending/out_discard/out_pending).

    Change-Id: I19bab22f9c7c91d791bc5c983ecc8cc6afdeaddc
    Signed-off-by: zhang sanshan

    zhang sanshan
     
  • mx6s_capture use vb2_dma_contig_memops as default me_ops.
    select VIDEOBUF2_DMA_CONTIG by default.

    VIDEOBUF2_DMA_CONTIG have no hardware involved, and mx6s_capture.c need
    compile as module according gki requirement. so need set VIDEOBUF2_DMA_CONTIG
    as y in defconfig, it require add menu item string here for VIDEOBUF2_DMA_CONTIG

    Change-Id: Ie91093c52af199146b8aae29ea13fa7558e24649
    Signed-off-by: zhang sanshan

    zhang sanshan
     
  • This reverts commit 1dee40a806ab5764d2d5b250525a278b53b51b82.

    Change-Id: I7bc925ca02fd64b4f79b4d25844374b4d918432b

    zhang sanshan