1. 24 4月, 2022 2 次提交
  2. 07 3月, 2022 1 次提交
  3. 21 10月, 2021 4 次提交
  4. 08 10月, 2021 3 次提交
  5. 04 8月, 2021 1 次提交
  6. 02 6月, 2021 2 次提交
  7. 06 4月, 2021 4 次提交
  8. 27 1月, 2021 1 次提交
  9. 13 1月, 2021 7 次提交
  10. 14 9月, 2020 1 次提交
  11. 01 9月, 2020 1 次提交
  12. 05 5月, 2020 1 次提交
  13. 27 2月, 2020 4 次提交
    • A
      media: venus: vdec: handle 10bit bitstreams · ab1eda44
      Aniket Masule 提交于
      Handle 10bit video streams in the decoder by using dithering, i.e
      the decoder output buffers will be in 8bit format.
      
      The runtime handling is implemented by sending v4l2 event to
      userspace application, then the application should stop the
      streaming on capture queue and initiate format negotiation, and
      start streaming again.
      Signed-off-by: NAniket Masule <amasule@codeaurora.org>
      Co-developed-by: NStanimir Varbanov <stanimir.varbanov@linaro.org>
      Signed-off-by: NStanimir Varbanov <stanimir.varbanov@linaro.org>
      Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
      ab1eda44
    • A
      media: venus: introduce core selection · 4ebf9693
      Aniket Masule 提交于
      Presently the core (vcodec pipelines) assignment is static. Here we
      introduce dynamic load balancing across the cores depending on the
      current session load. The load on earch core is calculated and core
      with minimum load is assigned to given instance. This will be
      applicable on Venus v4 with more than one vcodec cores.
      Signed-off-by: NAniket Masule <amasule@codeaurora.org>
      Co-developed-by: NStanimir Varbanov <stanimir.varbanov@linaro.org>
      Signed-off-by: NStanimir Varbanov <stanimir.varbanov@linaro.org>
      Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
      4ebf9693
    • S
      media: venus: redesign clocks and pm domains control · 7482a983
      Stanimir Varbanov 提交于
      Redesign core (vcodec) clock control to give the venus core more
      freedom to control them in order to make possible to use core
      selection feature on Venus IP v4.
      
      Move all clock and pmdomain functions in separate file and abstract
      power control with common operations per Venus IP version.
      Signed-off-by: NStanimir Varbanov <stanimir.varbanov@linaro.org>
      Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
      7482a983
    • S
      media: venus: cache vb payload to be used by clock scaling · fd1ee315
      Stanimir Varbanov 提交于
      Instead of iterate over previously queued buffers in clock
      scaling code do cache the payload in instance context structure
      for later use when calculating new clock rate.
      
      This will avoid to use spin locks during buffer list iteration
      in clock_scaling.
      
      This fixes following kernel Oops:
      
       Unable to handle kernel paging request at virtual address deacfffffffffd6c
       Mem abort info:
         ESR = 0x96000004
         EC = 0x25: DABT (current EL), IL = 32 bits
         SET = 0, FnV = 0
         EA = 0, S1PTW = 0
       Data abort info:
         ISV = 0, ISS = 0x00000004
         CM = 0, WnR = 0
       [deacfffffffffd6c] address between user and kernel address ranges
       Internal error: Oops: 96000004 [#1] PREEMPT SMP
       CPU: 7 PID: 5763 Comm: V4L2DecoderThre Tainted: G S      W         5.4.11 #8
       pstate: 20400009 (nzCv daif +PAN -UAO)
       pc : load_scale_v4+0x4c/0x2bc [venus_core]
       lr : session_process_buf+0x18c/0x1c0 [venus_core]
       sp : ffffffc01376b8d0
       x29: ffffffc01376b8d0 x28: ffffff80cf1b0220
       x27: ffffffc01376bba0 x26: ffffffd8f562b2d8
       x25: ffffff80cf1b0220 x24: 0000000000000005
       x23: ffffffd8f5620d98 x22: ffffff80ca01c800
       x21: ffffff80cf1b0000 x20: ffffff8149490080
       x19: ffffff8174b2c010 x18: 0000000000000000
       x17: 0000000000000000 x16: ffffffd96ee3a0dc
       x15: 0000000000000026 x14: 0000000000000026
       x13: 00000000000055ac x12: 0000000000000001
       x11: deacfffffffffd6c x10: dead000000000100
       x9 : ffffff80ca01cf28 x8 : 0000000000000026
       x7 : 0000000000000000 x6 : ffffff80cdd899c0
       x5 : ffffff80cdd899c0 x4 : 0000000000000008
       x3 : ffffff80ca01cf28 x2 : ffffff80ca01cf28
       x1 : ffffff80d47ffc00 x0 : ffffff80cf1b0000
       Call trace:
        load_scale_v4+0x4c/0x2bc [venus_core]
        session_process_buf+0x18c/0x1c0 [venus_core]
        venus_helper_vb2_buf_queue+0x7c/0xf0 [venus_core]
        __enqueue_in_driver+0xe4/0xfc [videobuf2_common]
        vb2_core_qbuf+0x15c/0x338 [videobuf2_common]
        vb2_qbuf+0x78/0xb8 [videobuf2_v4l2]
        v4l2_m2m_qbuf+0x80/0xf8 [v4l2_mem2mem]
        v4l2_m2m_ioctl_qbuf+0x2c/0x38 [v4l2_mem2mem]
        v4l_qbuf+0x48/0x58
        __video_do_ioctl+0x2b0/0x39c
        video_usercopy+0x394/0x710
        video_ioctl2+0x38/0x48
        v4l2_ioctl+0x6c/0x80
        do_video_ioctl+0xb00/0x2874
        v4l2_compat_ioctl32+0x5c/0xcc
        __se_compat_sys_ioctl+0x100/0x2074
        __arm64_compat_sys_ioctl+0x20/0x2c
        el0_svc_common+0xa4/0x154
        el0_svc_compat_handler+0x2c/0x38
        el0_svc_compat+0x8/0x10
       Code: eb0a013f 54000200 aa1f03e8 d10e514b (b940016c)
       ---[ end trace e11304b46552e0b9 ]---
      
      Fixes: c0e284cc ("media: venus: Update clock scaling")
      
      Cc: stable@vger.kernel.org # v5.5+
      Signed-off-by: NStanimir Varbanov <stanimir.varbanov@linaro.org>
      Signed-off-by: NMauro Carvalho Chehab <mchehab+huawei@kernel.org>
      fd1ee315
  14. 09 10月, 2019 1 次提交
  15. 04 10月, 2019 2 次提交
  16. 02 10月, 2019 1 次提交
  17. 05 8月, 2019 4 次提交