1. 09 Jul, 2016 4 commits
    • Soeren Moch's avatar
      [media] media: dvb_ringbuffer: Add memory barriers · ca6e6126
      Soeren Moch authored
      Implement memory barriers according to Documentation/circular-buffers.txt:
      - use smp_store_release() to update ringbuffer read/write pointers
      - use smp_load_acquire() to load write pointer on reader side
      - use ACCESS_ONCE() to load read pointer on writer side
      
      This fixes data stream corruptions observed e.g. on an ARM Cortex-A9
      quad core system with different types (PCI, USB) of DVB tuners.
      Signed-off-by: default avatarSoeren Moch <smoch@web.de>
      Cc: stable@vger.kernel.org # 3.14+
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      ca6e6126
    • Hans Verkuil's avatar
      [media] mtk-vcodec: fix compiler warning · 65ad26cd
      Hans Verkuil authored
      mtk-vcodec/venc_vpu_if.c:40:30: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
        struct venc_vpu_inst *vpu = (struct venc_vpu_inst *)msg->venc_inst;
                                    ^
      
      Note: venc_inst is u64.
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      65ad26cd
    • Bhaktipriya Shridhar's avatar
      [media] zc3xx: Remove deprecated create_singlethread_workqueue · f7cf0362
      Bhaktipriya Shridhar authored
      The workqueue "work_thread" is involved in updating parameters for
      transfers. It has a single work item(&sd->work) and hence
      doesn't require ordering. Also, it is not being used on a memory
      reclaim path. Hence, the singlethreaded workqueue has been replaced with
      the use of system_wq.
      
      System workqueues have been able to handle high level of concurrency
      for a long time now and hence it's not required to have a singlethreaded
      workqueue just to gain concurrency. Unlike a dedicated per-cpu workqueue
      created with create_singlethread_workqueue(), system_wq allows multiple
      work items to overlap executions even on the same CPU; however, a
      per-cpu workqueue doesn't have any CPU locality or global ordering
      guarantee unless the target CPU is explicitly specified and thus the
      increase of local concurrency shouldn't make any difference.
      
      Work item has been flushed in sd_stop0() to ensure that there are no
      pending tasks while disconnecting the driver.
      Signed-off-by: default avatarBhaktipriya Shridhar <bhaktipriya96@gmail.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      f7cf0362
    • Hans Verkuil's avatar
      [media] mtk-vcodec: fix two compiler warnings · e0f80d8d
      Hans Verkuil authored
      mtk-vcodec/mtk_vcodec_enc.c: In function 'mtk_venc_worker':
      mtk-vcodec/mtk_vcodec_enc.c:1030:43: warning: format '%lx' expects argument of type 'long unsigned int', but argument 7 has type 'size_t {aka unsigned int}' [-Wformat=]
      mtk-vcodec/mtk_vcodec_enc.c:1030:43: warning: format '%lx' expects argument of type 'long unsigned int', but argument 10 has type 'size_t {aka unsigned int}' [-Wformat=]
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      e0f80d8d
  2. 08 Jul, 2016 36 commits