1. 14 3月, 2014 1 次提交
  2. 03 1月, 2014 2 次提交
  3. 24 8月, 2013 1 次提交
  4. 23 8月, 2013 1 次提交
    • W
      i2c: move OF helpers into the core · 687b81d0
      Wolfram Sang 提交于
      I2C of helpers used to live in of_i2c.c but experience (from SPI) shows
      that it is much cleaner to have this in the core. This also removes a
      circular dependency between the helpers and the core, and so we can
      finally register child nodes in the core instead of doing this manually
      in each driver. So, fix the drivers and documentation, too.
      Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
      687b81d0
  5. 19 6月, 2013 1 次提交
    • S
      [media] exynos4-is: Fix FIMC-IS clocks initialization · 722a860e
      Sylwester Nawrocki 提交于
      The ISP clock register content is not preserved over the ISP power domain
      off/on cycle. Instead of setting the clock frequencies once at probe time
      the clock rates set up is moved to the runtime_resume handler, which is
      invoked after the related power domain is already enabled, ensuring the
      clocks are properly configured when the device is actively used.
      This fixes the FIMC-IS malfunctions and STREAM ON timeout errors accuring
      on some boards:
      [ 59.860000] fimc_is_general_irq_handler:583 ISR_NDONE: 5: 0x800003e8, IS_ERROR_UNKNOWN
      [ 59.860000] fimc_is_general_irq_handler:586 IS_ERROR_TIME_OUT
      Signed-off-by: NSylwester Nawrocki <s.nawrocki@samsung.com>
      Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      722a860e
  6. 13 6月, 2013 2 次提交
  7. 09 6月, 2013 3 次提交
    • S
      [media] exynos4-is: Remove "sysreg" clock handling · 6301b132
      Sylwester Nawrocki 提交于
      The "sysreg" clock is required by multiple subsystems and none of the
      other drivers handles this clock explicitly. It is currently assumed
      that this clock is always on, left in its default state after system
      reset.
      Remove handling of this clock from the FIMC-IS driver to avoid breaking
      other subsystems.
      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>
      6301b132
    • S
      [media] exynos4-is: Ensure fimc-is clocks are not enabled until properly configured · b4155d7d
      Sylwester Nawrocki 提交于
      Use clk_prepare_enable/clk_unprepare_disable instead of preparing the
      clocks during the driver initalization and then using just clk_disable/
      clk_enable. The clock framework doesn't guarantee a clock will not get
      enabled during e.g. clk_set_parent if clk_prepare has been called on it.
      So we ensure clk_prepare() is called only when it is safe to enable
      the clocks, i.e. the parent clocks and the clocks' frequencies are set.
      It must be ensured the FIMC-IS clocks have proper frequencies before they
      are enabled, otherwise the whole system will hang.
      Signed-off-by: NSylwester Nawrocki <s.nawrocki@samsung.com>
      Signed-off-by: NKyunmin Park <kyungmin.park@samsung.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      b4155d7d
    • S
      [media] exynos4-is: Prevent NULL pointer dereference when firmware isn't loaded · 3cf138a6
      Sylwester Nawrocki 提交于
      Ensure the firmware isn't accessed in the driver when the firmware loading
      routine has not completed. This fixes a potential kernel crash:
      [   96.510000] Unable to handle kernel NULL pointer dereference at virtual address 00000000
      [   96.520000] pgd = ee604000
      [   96.520000] [00000000] *pgd=6e947831, *pte=00000000, *ppte=00000000
      [   96.530000] Internal error: Oops: 17 [#1] PREEMPT SMP ARM
      [   96.530000] Modules linked in:
      [   96.530000] CPU: 2 PID: 2787 Comm: camera_test Not tainted 3.10.0-rc1-00269-gcdbde37-dirty #2158
      [   96.545000] task: ee42e400 ti: edfcc000 task.ti: edfcc000
      [   96.545000] PC is at fimc_is_start_firmware+0x14/0x94
      [   96.545000] LR is at fimc_isp_subdev_s_power+0x13c/0x1f8
      	...
      [   96.745000] [<c03e0354>] (fimc_is_start_firmware+0x14/0x94) from [<c03e1cc4>] (fimc_isp_subdev_s_power+0x13c/0x1f8)
      [   96.745000] [<c03e1cc4>] (fimc_isp_subdev_s_power+0x13c/0x1f8) from [<c03ed088>] (__subdev_set_power+0x70/0x84)
      [   96.745000] [<c03ed088>] (__subdev_set_power+0x70/0x84) from [<c03ed164>] (fimc_pipeline_s_power+0xc8/0x164)
      [   96.745000] [<c03ed164>] (fimc_pipeline_s_power+0xc8/0x164) from [<c03ee2b8>] (__fimc_pipeline_open+0x90/0x268)
      [   96.745000] [<c03ee2b8>] (__fimc_pipeline_open+0x90/0x268) from [<c03ec5f0>] (fimc_capture_open+0xe4/0x1ec)
      [   96.745000] [<c03ec5f0>] (fimc_capture_open+0xe4/0x1ec) from [<c03c5560>] (v4l2_open+0xa8/0xe4)
      [   96.745000] [<c03c5560>] (v4l2_open+0xa8/0xe4) from [<c0112900>] (chrdev_open+0x9c/0x158)
      [   96.745000] [<c0112900>] (chrdev_open+0x9c/0x158) from [<c010d3e0>] (do_dentry_open+0x1f4/0x27c)
      [   96.745000] [<c010d3e0>] (do_dentry_open+0x1f4/0x27c) from [<c010d558>] (finish_open+0x34/0x50)
      [   96.745000] [<c010d558>] (finish_open+0x34/0x50) from [<c011bea0>] (do_last+0x59c/0xbcc)
      [   96.745000] [<c011bea0>] (do_last+0x59c/0xbcc) from [<c011c580>] (path_openat+0xb0/0x484)
      [   96.745000] [<c011c580>] (path_openat+0xb0/0x484) from [<c011ca58>] (do_filp_open+0x30/0x84)
      [   96.745000] [<c011ca58>] (do_filp_open+0x30/0x84) from [<c010d060>] (do_sys_open+0xe8/0x170)
      [   96.745000] [<c010d060>] (do_sys_open+0xe8/0x170) from [<c000f040>] (ret_fast_syscall+0x0/0x30)
      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>
      3cf138a6
  8. 25 4月, 2013 4 次提交
  9. 15 4月, 2013 2 次提交
  10. 05 4月, 2013 1 次提交