01 Jul, 2022

1 commit


12 Apr, 2022

1 commit


05 Apr, 2022

1 commit


22 Jul, 2021

1 commit


08 Apr, 2021

1 commit


25 Aug, 2020

1 commit


16 Apr, 2020

1 commit


31 Oct, 2019

1 commit

  • dummy draw is required for 8MM GPU errata - HBN1285,
    this fix shall be applied for GPU power-up transition,
    otherwise GPU shader hang with the unnecessary flush.

    check GPU MMU state to enable dummy draw fix only.

    Signed-off-by: Xianzhong
    (cherry picked from commit f3f44f213eb1c5210aa4fe723256a2e1e699a4dc)

    Xianzhong
     

30 Oct, 2019

1 commit

  • For imx8qxp/qm, gpio will go to low level when system suspend and
    will to high when system resume. It will lead ov5640 sensor to reset.
    So add reinitialization for sensor when system resume at first time.

    For imx815, gpio will have no this issue because GPIO will keep high
    when system suspend. So the patch is for fixing issue introduced by
    MLK-22202-1. More info, please refer to the ticket.

    OV5640 will work at DVP mode by default, but in our use case, it need
    to work on MIPI mode, so we can know whether sensor is resetted by
    system by checking 0x300E[2] bits.

    Signed-off-by: Guoniu.zhou

    Guoniu.zhou
     

29 Oct, 2019

6 commits


25 Oct, 2019

1 commit


24 Oct, 2019

10 commits

  • Reset seek_flag and wait_res_change_done when receive
    VID_API_EVENT_STOPPED event.

    This also can fix an Andorid case indirectly:
    Seek in the beginning, but has not do capture port streamoff/on
    when receive res changed event, then will cause seek_flag status
    incorrect.
    If abort before receive seq_hdr_found evnt will call stop cmd to
    fw, then will reset seek_flag and wait_res_change_done.

    Signed-off-by: Shijie Qin
    Reviewed-by: ming_qian
    (cherry picked from commit 93019dc136f9ad3c294e6b4be73049977895aed4)

    Shijie Qin
     
  • refine code to make it more clear

    Signed-off-by: ming_qian
    Reviewed-by: Shijie Qin
    (cherry picked from commit 8e694ece0711d53339feacd22cbe99560b96957f)

    ming_qian
     
  • frame

    If the free space of stream buffer is not enough for one frame,
    vpu may overwrite the data or hang.
    so check before encode frame can avoid it.
    Add new ctrl V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE,
    user can use this ctrl to set the coded picture buffer size.

    Signed-off-by: ming_qian
    Reviewed-by: Shijie Qin
    (cherry picked from commit 1af0b35c6bfffa57e27f0a39c8b040b93d973278)

    ming_qian
     
  • 1. the start command is mixed with transfer data,
    separate them and make code more clear
    2. some condition of start_code_bypass is missing.
    3. config the pStreamBuffDesc only before send start command

    Signed-off-by: ming_qian
    Reviewed-by: Shijie Qin
    (cherry picked from commit 775033eb3dcba27a2b7093caccbc81c1df55ba46)

    ming_qian
     
  • If firmware report sequence header twice,
    and the user don't support the format, such as 10-bit NV12,
    user may close vpu decoder directly, it will send stop cmd.
    but when driver receive the second sequence header event,
    it may waiting for resolution change done,
    it'll block the stop command, and cause it timeout.

    Signed-off-by: ming_qian
    Reviewed-by: Shijie Qin
    (cherry picked from commit 9e1d28861a6f89b9f25641131f8db1ef17b81d3a)

    ming_qian
     
  • Correct frame_byte typedef to int in order to align with
    update_stream_addr_vpu() typedef, it maybe negative.

    Signed-off-by: Shijie Qin
    Reviewed-by: ming_qian
    (cherry picked from commit b04249f00b7cb28a17d3b7b992d565ca0edbee28)

    Shijie Qin
     
  • change event

    If b_firstseq is cleared after sending source change event,
    user may get invalid frame size.

    Signed-off-by: ming_qian
    Reviewed-by: Shijie Qin
    Reviewed-by: Zhou Peng
    (cherry picked from commit 6794c08937d4b9b1f8509935ebaeb1072af0b4aa)

    ming_qian
     
  • Free space may not enough when (end - wptr < SCODE_SIZE),
    add this check.

    Signed-off-by: Shijie Qin
    (cherry picked from commit ce944686a765f514a70e4731379179df30dbba0a)

    Shijie Qin
     
  • 1. change to use list record performance info for better trace each
    time-point and not limited to a fixed flow.
    2. add total time from open device to each time-point.

    Signed-off-by: Shijie Qin
    Reviewed-by: Zhou Peng
    Reviewed-by: ming_qian
    (cherry picked from commit 563d17921b33e3b1be96414ef80535146f00edb5)

    Shijie Qin
     
  • There are no u/v planars in the pixel formats
    IPU_PIX_FMT_BGRA4444/IPU_PIX_FMT_BGRA5551/IPU_PIX_FMT_AYUV,
    so we should explicitly get zero u/v_offset from __ipu_ch_offset_calc()
    for those pixel formats. Without this patch, '-EINVAL' will be
    returned from __ipu_ch_offset_calc() as the function return value
    and input parameter u/v_offset will not be touched, which is not a
    good behavior, because the caller is likely to ignore the function
    return value and take the u/v_offset as valid value. The MXC IPUv3 fb
    driver is a such kind of caller, which may get the u/v_offset
    for those pixel formats without checking the function return value,
    and hence wrongly pass the u/v_offset to PRE driver(finally causes
    malfunction).

    Signed-off-by: Liu Ying
    (cherry picked from commit c1ff0b03944e5196497be4f606979f5cb0c1b413)

    Liu Ying
     

23 Oct, 2019

4 commits


21 Oct, 2019

1 commit

  • When we do set-par for background framebuffer without on-the-fly
    flag being set, we should also unset the enabled overlay framebuffer's
    on-the-fly flag, otherwise the overlay framebuffer cannot be enabled
    again properly because a full mode set procedure is needed for overlay
    framebuffer as it experiences a period of time when background
    framebuffer stops fetching frames.

    Signed-off-by: Liu Ying
    (cherry picked from commit fad9437d99ae234f1c66087d47ad8a547f5f1142)

    Liu Ying
     

19 Oct, 2019

1 commit


12 Oct, 2019

6 commits


11 Oct, 2019

1 commit


08 Oct, 2019

1 commit