1. 23 1月, 2015 1 次提交
  2. 21 1月, 2015 1 次提交
    • R
      drm: fb helper should avoid sleeping in panic context · 9aa609e1
      Rui Wang 提交于
      There are still some places in the fb helper that need to avoid
      sleeping in panic context. Here's an example:
      
      [   65.615496] bad: scheduling from the idle thread!
      [   65.620747] CPU: 92 PID: 0 Comm: swapper/92 Tainted: G   M        E  3.18.0-rc4-7-default+ #20
      
      [   65.630364] Hardware name: Intel Corporation BRICKLAND/BRICKLAND, BIOS
      BRHSXSD1.86B.0056.R01.1409242327 09/24/2014
      [   65.641923]  ffff88087f693d80 ffff88087f689878 ffffffff81566db9 0000000000000000
      [   65.650226]  ffff88087f693d80 ffff88087f689898 ffffffff810871ff ffff88046eb3e0d0
      [   65.658527]  ffff88087f693d80 ffff88087f6898c8 ffffffff8107c1fa 000000017f6898b8
      [   65.666830] Call Trace:
      [   65.669557]  <#MC>  [<ffffffff81566db9>] dump_stack+0x46/0x58
      [   65.675994]  [<ffffffff810871ff>] dequeue_task_idle+0x2f/0x40
      [   65.682412]  [<ffffffff8107c1fa>] dequeue_task+0x5a/0x80
      [   65.688345]  [<ffffffff810804f3>] deactivate_task+0x23/0x30
      [   65.694569]  [<ffffffff81569050>] __schedule+0x580/0x7f0
      [   65.700502]  [<ffffffff81569739>] schedule_preempt_disabled+0x29/0x70
      [   65.707696]  [<ffffffff8156abb6>] __ww_mutex_lock_slowpath+0xb8/0x162
      [   65.714891]  [<ffffffff8156acb3>] __ww_mutex_lock+0x53/0x85
      [   65.721125]  [<ffffffffa00b3a5d>] drm_modeset_lock+0x3d/0x110 [drm]
      [   65.728132]  [<ffffffffa00b3c2a>] __drm_modeset_lock_all+0x8a/0x120 [drm]
      [   65.735721]  [<ffffffffa00b3cd0>] drm_modeset_lock_all+0x10/0x30 [drm]
      [   65.743015]  [<ffffffffa01af8bf>] drm_fb_helper_pan_display+0x2f/0xf0 [drm_kms_helper]
      [   65.751857]  [<ffffffff8132bd21>] fb_pan_display+0xd1/0x1a0
      [   65.758081]  [<ffffffff81326010>] bit_update_start+0x20/0x50
      [   65.764400]  [<ffffffff813259f2>] fbcon_switch+0x3a2/0x550
      [   65.770528]  [<ffffffff813a01c9>] redraw_screen+0x189/0x240
      [   65.776750]  [<ffffffff81322f8a>] fbcon_blank+0x20a/0x2d0
      [   65.782778]  [<ffffffff8137d359>] ? erst_writer+0x209/0x330
      [   65.789002]  [<ffffffff810ba2f3>] ? internal_add_timer+0x63/0x80
      [   65.795710]  [<ffffffff810bc137>] ? mod_timer+0x127/0x1e0
      [   65.801740]  [<ffffffff813a0cd8>] do_unblank_screen+0xa8/0x1d0
      [   65.808255]  [<ffffffff813a0e10>] unblank_screen+0x10/0x20
      [   65.814381]  [<ffffffff812ca0d9>] bust_spinlocks+0x19/0x40
      [   65.820508]  [<ffffffff81561ca7>] panic+0x106/0x1f5
      [   65.825955]  [<ffffffff8102336c>] mce_panic+0x2ac/0x2e0
      [   65.831789]  [<ffffffff812c796a>] ? delay_tsc+0x4a/0x80
      [   65.837625]  [<ffffffff81024e1f>] do_machine_check+0xbaf/0xbf0
      [   65.844138]  [<ffffffff813365d7>] ? intel_idle+0xc7/0x150
      [   65.850166]  [<ffffffff8156f03f>] machine_check+0x1f/0x30
      [   65.856195]  [<ffffffff813365d7>] ? intel_idle+0xc7/0x150
      [   65.862222]  <<EOE>>  [<ffffffff814283d5>] cpuidle_enter_state+0x55/0x170
      [   65.869823]  [<ffffffff814285a7>] cpuidle_enter+0x17/0x20
      [   65.875852]  [<ffffffff81097b08>] cpu_startup_entry+0x2d8/0x370
      [   65.882467]  [<ffffffff8102fe29>] start_secondary+0x159/0x180
      
      There's __drm_modeset_lock_all() which Daniel Vetter introduced for this
      purpose. We can leverage that without reinventing anything. This patch
      works with the latest kernel.
      Reviewed-by: NRob Clark <robdclark@gmail.com>
      Tested-by: NTony Luck <tony.luck@intel.com>
      Signed-off-by: NRui Wang <rui.y.wang@intel.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      9aa609e1
  3. 18 1月, 2015 3 次提交
    • J
      drm/exynos: fix warning of vblank reference count · 7c4c5584
      Joonyoung Shim 提交于
      Prevented re-enabling the vblank interrupt by drm_vblank_off and
      drm_vblank_get from mixer_wait_for_vblank returns error after
      drm_vblank_off. We get below warnings without this error handling
      because vblank reference count is mismatched by above sequence.
      
      setting mode 1920x1080-60Hz@XR24 on connectors 16, crtc 13
      [   19.900793] ------------[ cut here ]------------
      [   19.903959] WARNING: CPU: 0 PID: 0 at drivers/gpu/drm/drm_irq.c:1072 exynos_drm_crtc_finish_pageflip+0xac/0xdc()
      [   19.914076] Modules linked in:
      [   19.917116] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.19.0-rc4-00040-g3d729789-dirty #46
      [   19.925342] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
      [   19.931437] [<c0014430>] (unwind_backtrace) from [<c001158c>] (show_stack+0x10/0x14)
      [   19.939131] [<c001158c>] (show_stack) from [<c04cdd50>] (dump_stack+0x84/0xc4)
      [   19.946329] [<c04cdd50>] (dump_stack) from [<c00226f4>] (warn_slowpath_common+0x80/0xb0)
      [   19.954382] [<c00226f4>] (warn_slowpath_common) from [<c00227c0>] (warn_slowpath_null+0x1c/0x24)
      [   19.963132] [<c00227c0>] (warn_slowpath_null) from [<c02c20cc>] (exynos_drm_crtc_finish_pageflip+0xac/0xdc)
      [   19.972841] [<c02c20cc>] (exynos_drm_crtc_finish_pageflip) from [<c02cb7ec>] (mixer_irq_handler+0xdc/0x104)
      [   19.982546] [<c02cb7ec>] (mixer_irq_handler) from [<c005c904>] (handle_irq_event_percpu+0x78/0x134)
      [   19.991555] [<c005c904>] (handle_irq_event_percpu) from [<c005c9fc>] (handle_irq_event+0x3c/0x5c)
      [   20.000395] [<c005c9fc>] (handle_irq_event) from [<c005f384>] (handle_fasteoi_irq+0xe0/0x1ac)
      [   20.008885] [<c005f384>] (handle_fasteoi_irq) from [<c005bf88>] (generic_handle_irq+0x2c/0x3c)
      [   20.017463] [<c005bf88>] (generic_handle_irq) from [<c005c254>] (__handle_domain_irq+0x7c/0xec)
      [   20.026128] [<c005c254>] (__handle_domain_irq) from [<c0008698>] (gic_handle_irq+0x30/0x68)
      [   20.034449] [<c0008698>] (gic_handle_irq) from [<c00120c0>] (__irq_svc+0x40/0x74)
      [   20.041893] Exception stack(0xc06fff68 to 0xc06fffb0)
      [   20.046923] ff60:                   00000000 00000000 000052f6 c001b460 c06fe000 c07064e8
      [   20.055070] ff80: c04d743c c07392a2 c0739440 c06da340 ef7fca80 00000000 01000000 c06fffb0
      [   20.063212] ffa0: c000f24c c000f250 60000013 ffffffff
      [   20.068245] [<c00120c0>] (__irq_svc) from [<c000f250>] (arch_cpu_idle+0x38/0x3c)
      [   20.075611] [<c000f250>] (arch_cpu_idle) from [<c0050948>] (cpu_startup_entry+0x108/0x16c)
      [   20.083846] [<c0050948>] (cpu_startup_entry) from [<c06aec5c>] (start_kernel+0x3a0/0x3ac)
      [   20.091980] ---[ end trace 2c76ee0500489d1b ]---
      Signed-off-by: NJoonyoung Shim <jy0922.shim@samsung.com>
      Signed-off-by: NInki Dae <inki.dae@samsung.com>
      7c4c5584
    • J
      drm/exynos: remove unnecessary runtime pm operations · bd508666
      Joonyoung Shim 提交于
      In booting, we can see a below message.
      
      [    3.241728] exynos-mixer 14450000.mixer: Unbalanced pm_runtime_enable!
      
      Already pm_runtime_enable is called by probe function. Remove
      pm_runtime_enable/disable from mixer_bind and mixer_unbind.
      Signed-off-by: NJoonyoung Shim <jy0922.shim@samsung.com>
      Signed-off-by: NInki Dae <inki.dae@samsung.com>
      bd508666
    • J
      drm/exynos: fix reset codes for memory mapped hdmi phy · 265134a0
      Joonyoung Shim 提交于
      This fixes reset codes to support memory mapped hdmi phy as well as hdmi
      phy dedicated i2c lines.
      Signed-off-by: NJoonyoung Shim <jy0922.shim@samsung.com>
      Signed-off-by: NInki Dae <inki.dae@samsung.com>
      265134a0
  4. 16 1月, 2015 1 次提交
  5. 13 1月, 2015 2 次提交
  6. 12 1月, 2015 6 次提交
  7. 09 1月, 2015 1 次提交
  8. 08 1月, 2015 5 次提交
  9. 07 1月, 2015 3 次提交
  10. 06 1月, 2015 5 次提交
  11. 05 1月, 2015 1 次提交
  12. 29 12月, 2014 2 次提交
    • O
      drm/radeon: Init amdkfd only if it was compiled · 38c2adfb
      Oded Gabbay 提交于
      This patch changes the radeon_kfd_init(), which is used to initialize the
      interface between radeon and amdkfd, so the interface will be initialized only
      if amdkfd was build, either as module or inside the kernel image.
      
      In the modules case, the symbol_request() will be used (same as old code). In
      the in-image compilation case, a direct call to kgd2kfd_init() will be done.
      For other cases, radeon_kfd_init() will just return false.
      
      This patch is necessary because in case of the following specific
      configuration: kernel 32-bit, no modules support, random kernel base and no
      hibernation, the symbol_request() doesn't work as expected - it doesn't return
      NULL if the symbol doesn't exists - which makes the kernel panic.
      Reviewed-by: NChristian König <christian.koenig@amd.com>
      Signed-off-by: NOded Gabbay <oded.gabbay@amd.com>
      38c2adfb
    • S
      amdkfd: actually allocate longs for the pasid bitmask · 68d0cb49
      Sasha Levin 提交于
      Commit "amdkfd: use sizeof(long) granularity for the pasid bitmask" calculated
      the number of longs it will need, but ended up allocating that number of
      bytes rather than longs.
      
      Fix that silly error and allocate the amount of data really required.
      Signed-off-by: NSasha Levin <sasha.levin@oracle.com>
      Signed-off-by: NOded Gabbay <oded.gabbay@amd.com>
      68d0cb49
  13. 24 12月, 2014 1 次提交
  14. 23 12月, 2014 1 次提交
  15. 22 12月, 2014 7 次提交