1. 16 8月, 2012 1 次提交
  2. 25 6月, 2012 3 次提交
    • S
      [media] s5p-fimc: Prevent lock-up in multiple sensor systems · e3fc82e8
      Sylwester Nawrocki 提交于
      The camera clocks managed by the driver were improperly reference counted
      and remained disabled when multiple video nodes were opened simultaneously.
      It manifested itself with following warning:
      
       [12.920000] WARNING: at drivers/media/video/s5p-fimc/fimc-mdevice.c:787 __fimc_md_set_camclk+0x1c0/0x1dc()
       [13.005000] Modules linked in:
       [13.005000] Backtrace:
       [13.040000] [<c0013084>] (dump_backtrace+0x0/0x10c) from [<c0454b70>] (dump_stack+0x18/0x1c)
       [13.070000]  r7:00000009 r6:00000313 r5:c02d576c r4:00000000
       [13.155000] [<c0454b58>] (dump_stack+0x0/0x1c) from [<c0022ec4>] (warn_slowpath_common+0x54/0x6c)
       [13.285000] [<c0022e70>] (warn_slowpath_common+0x0/0x6c) from [<c0022f00>] (warn_slowpath_null+0x24/0x2c)
       [13.360000]  r9:e1981010 r8:00000000 r7:c061d3fc r6:e1981010 r5:e1981030
       [13.430000] r4:00000000
       [13.430000] [<c0022edc>] (warn_slowpath_null+0x0/0x2c) from [<c02d576c>] (__fimc_md_set_camclk+0x1c0/0x1dc)
       [13.550000] [<c02d55ac>] (__fimc_md_set_camclk+0x0/0x1dc) from [<c02d57b0>] (fimc_md_set_camclk+0x28/0x2c)
       [13.630000] [<c02d5788>] (fimc_md_set_camclk+0x0/0x2c) from [<c02d57e8>] (__fimc_pipeline_shutdown+0x34/0x50)
       [13.705000] [<c02d57b4>] (__fimc_pipeline_shutdown+0x0/0x50) from [<c02d5844>] (fimc_pipeline_shutdown+0x40/0x58)
       [13.765000]  r5:e2391200 r4:e2357704
       [13.805000] [<c02d5804>] (fimc_pipeline_shutdown+0x0/0x58) from [<c02d4754>] (fimc_capture_close+0xcc/0xe4)
       [13.915000]  r5:e1b396c0 r4:e2357410
       [13.915000] [<c02d4688>] (fimc_capture_close+0x0/0xe4) from [<c02b2d5c>] (v4l2_release+0x5c/0x80)
       [13.970000]  r7:00000010 r6:e1d2d990 r5:e1b396c0 r4:e2394800
       [14.000000] [<c02b2d00>] (v4l2_release+0x0/0x80) from [<c00b66cc>] (fput+0xc0/0x22c)
       [14.015000]  r5:c157ef30 r4:e1b396c0
       [14.015000] [<c00b660c>] (fput+0x0/0x22c) from [<c00b2ca0>] (filp_close+0x60/0x80)
       [14.080000] [<c00b2c40>] (filp_close+0x0/0x80) from [<c00b2d78>] (sys_close+0xb8/0xf4)
       [14.125000]  r7:00000001 r6:e1b396c0 r5:c1400340 r4:c1400300
       [14.125000] [<c00b2cc0>] (sys_close+0x0/0xf4) from [<c000f300>] (ret_fast_syscall+0x0/0x30)
       [14.205000]  r7:00000006 r6:beee5b94 r5:00000003 r4:b6f64fac
      
      Fix this, as well as potential memory leaks due to not calling
      v4l2_fh_release() on some error paths.
      
      Also remove some error logs printed for events that aren't critical and
      are normal conditions for some system configurations.
      
      Also check if the device have been properly run-time enabled during
      video node open.
      Signed-off-by: NSylwester Nawrocki <s.nawrocki@samsung.com>
      Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      e3fc82e8
    • S
      [media] s5p-fimc: Don't create multiple active links to same sink entity · d0da3c35
      Sylwester Nawrocki 提交于
      The driver is supposed to create active media link from sensor N
      (or its corresponding s5p-mipi-csis entity) to FIMC.N by default.
      Instead s5p-mipi-csis.N entity gets  always connected by a default
      active link to FIMC.N, regardless of there are parallel bus sensor
      entities already connected to FIMC.N. Correct this.
      Signed-off-by: NSylwester Nawrocki <s.nawrocki@samsung.com>
      Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      d0da3c35
    • S
      [media] s5p-fimc: Fix bug in capture node open() · 90e614bb
      Sylwester Nawrocki 提交于
      When video pipeline initialization fails, the ST_CAPT_BUSY flag
      needs to be cleared before pm_runtime_put_sync is called.
      Otherwise the runtime suspend routine tries to suspend device,
      rather than just turning it off. Also fix potential null pointer
      dereference in fimc_pipeline_shutdown().
      Signed-off-by: NSylwester Nawrocki <s.nawrocki@samsung.com>
      Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      90e614bb
  3. 18 6月, 2012 1 次提交
    • S
      [media] s5p-fimc: Add missing static storage class specifiers · 7e566be2
      Sachin Kamat 提交于
      Fixes the following sparse warnings:
      
      drivers/media/video/s5p-fimc/fimc-lite-reg.c:218:6: warning: symbol
      'flite_hw_set_out_order' was not declared. Should it be static?
      
      drivers/media/video/s5p-fimc/fimc-mdevice.c:183:5: warning: symbol '__fimc_pipeline_shutdown' was not declared. Should it be static?
      drivers/media/video/s5p-fimc/fimc-mdevice.c:1013:12: warning: symbol 'fimc_md_init' was not declared. Should it be static?
      drivers/media/video/s5p-fimc/fimc-mdevice.c:1024:13: warning: symbol 'fimc_md_exit' was not declared. Should it be static?
      
      drivers/media/video/s5p-fimc/fimc-core.c:466:5: warning: symbol 'fimc_set_color_effect' was not declared. Should it be static?
      
      drivers/media/video/s5p-fimc/fimc-capture.c:1163:5: warning: symbol 'enclosed_rectangle' was not declared. Should it be static?
      Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org>
      Acked-by: NSylwester Nawrocki <s.nawrocki@samsung.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      7e566be2
  4. 20 5月, 2012 4 次提交
  5. 11 4月, 2012 1 次提交
    • S
      [media] s5p-fimc: Handle sub-device interdependencies using deferred probing · ecd9acbf
      Sylwester Nawrocki 提交于
      In this driver there are several entities associated with separate
      platform or I2C client devices, which may get probed in random order.
      
      When the platform device bound to the media device driver is probed
      all other entity drivers need to be already in place and initialized.
      If any of them is not, fail the media device probe and return an error
      indicating we need to be retried once any new driver gets registered.
      The media device driver probe will not succeed until there are available
      all needed sub-drivers, as specified in the platform data.
      
      While at it, make sure the s5p-csis module (MIPI-CSI receiver driver)
      does not get unloaded when in use, by guarding its usage with
      try_module_get/module_put.
      
      This patch is a prerequisite for adding the device tree support.
      It now also allows again to unbind/bind the driver at runtime from
      user space via sysfs.
      Signed-off-by: NSylwester Nawrocki <s.nawrocki@samsung.com>
      Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      ecd9acbf
  6. 08 3月, 2012 1 次提交
  7. 25 1月, 2012 1 次提交
    • A
      Driver core: driver_find() drops reference before returning · fde25a9b
      Alan Stern 提交于
      As part of the removal of get_driver()/put_driver(), this patch
      (as1510) changes driver_find(); it now drops the reference it acquires
      before returning.  The patch also adjusts all the callers of
      driver_find() to remove the now unnecessary calls to put_driver().
      
      In addition, the patch adds a warning to driver_find(): Callers must
      make sure the driver they are searching for does not get unloaded
      while they are using it.  This has always been the case; driver_find()
      has never prevented a driver from being unregistered or unloaded.
      Hence the patch will not introduce any new bugs.  The existing callers
      all seem to be okay in this respect, however I don't understand the
      video drivers well enough to be certain about them.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      CC: Dmitry Torokhov <dmitry.torokhov@gmail.com>
      CC: Kyungmin Park <kyungmin.park@samsung.com>
      CC: Andy Walls <awalls@md.metrocast.net>
      CC: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      fde25a9b
  8. 18 1月, 2012 1 次提交
  9. 25 11月, 2011 3 次提交
  10. 07 9月, 2011 5 次提交