1. 13 12月, 2015 4 次提交
  2. 26 10月, 2015 2 次提交
  3. 01 10月, 2015 1 次提交
  4. 30 9月, 2015 1 次提交
  5. 31 8月, 2015 1 次提交
  6. 30 8月, 2015 4 次提交
  7. 16 8月, 2015 12 次提交
  8. 22 6月, 2015 1 次提交
  9. 19 6月, 2015 8 次提交
    • I
      drm/exynos: fimd: fix page fault issue with iommu · 94ab95a9
      Inki Dae 提交于
      This patch resolves page fault issue with iommu and atomic feature
      when modetest test application is terminated.
      
      ENWIN_F field of WINCONx register enables or disable a dma channel to
      each hardware overlay - the value of the field will be updated to real
      register after vsync.
      
      So this patch makes sure the dma channel is disabled by waiting for vsync
      one time after clearing shadow registers to all dma channels.
      
      Below shows the page fault issue:
      setting mode 720x1280-60Hz@XR24 on connectors 31, crtc 29
      freq: 59.99Hz
      
      [   34.831025] PAGE FAULT occurred at 0x20400000 by 11e20000.sysmmu(Page
      		table base: 0x6e324000)
      [   34.838072]  Lv1 entry: 0x6e92dc01
      [   34.841489] ------------[ cut here ]------------
      [   34.846058] kernel BUG at drivers/iommu/exynos-iommu.c:364!
      [   34.851614] Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM
      [   34.857428] Modules linked in:
      <--snip-->
      [   35.210894] [<c02880d0>] (exynos_sysmmu_irq) from [<c00608f8>]
      (handle_irq_event_percpu+0x78/0x134)
      [   35.219914] [<c00608f8>] (handle_irq_event_percpu) from [<c00609f0>]
      (handle_irq_event+0x3c/0x5c)
      [   35.228768] [<c00609f0>] (handle_irq_event) from [<c0063698>]
      (handle_level_irq+0xc4/0x13c)
      [   35.237101] [<c0063698>] (handle_level_irq) from [<c005ff7c>]
      (generic_handle_irq+0x2c/0x3c)
      [   35.245521] [<c005ff7c>] (generic_handle_irq) from [<c02214ec>]
      (combiner_handle_cascade_irq+0x94/0x100)
      [   35.254980] [<c02214ec>] (combiner_handle_cascade_irq) from
      [<c005ff7c>] (generic_handle_irq+0x2c/0x3c)
      [   35.264353] [<c005ff7c>] (generic_handle_irq) from [<c0060248>]
      (__handle_domain_irq+0x7c/0xec)
      [   35.273034] [<c0060248>] (__handle_domain_irq) from [<c0009434>]
      (gic_handle_irq+0x30/0x68)
      [   35.281366] [<c0009434>] (gic_handle_irq) from [<c0012ec0>]
      (__irq_svc+0x40/0x74)
      Signed-off-by: NInki Dae <inki.dae@samsung.com>
      94ab95a9
    • M
      drm/exynos: fimd: ensure proper hw state in fimd_clear_channel() · fb88e214
      Marek Szyprowski 提交于
      One should not do any assumptions on the stare of the fimd hardware
      during driver initialization, so to properly reset fimd before enabling
      IOMMU, one should ensure that all power domains and clocks are really
      enabled. This patch adds pm_runtime and clocks management in the
      fimd_clear_channel() function to ensure that any access to fimd
      registers will be performed with clocks and power domains enabled.
      Signed-off-by: NMarek Szyprowski <m.szyprowski@samsung.com>
      Tested-by: NJavier Martinez Canillas <javier.martinez@collabora.co.uk>
      Signed-off-by: NInki Dae <inki.dae@samsung.com>
      fb88e214
    • J
      drm/exynos: initialize VIDCON0 when fimd is disabled · b74f14fd
      Joonyoung Shim 提交于
      When the fimd is disabled by fimd_disable(), enabled overlay layers also
      are disabled. If clocks for fimd are enabled by fimd_enable() on this
      case, it can lead IOMMU page fault. The reason is that VIDCON0_ENVID and
      VIDCON0_ENVID_F bits of VIDCON0 register are set still even though fimd
      is disabled, so it may continue display output of prior when clocks for
      fimd are enabled again.
      Signed-off-by: NJoonyoung Shim <jy0922.shim@samsung.com>
      Signed-off-by: NInki Dae <inki.dae@samsung.com>
      b74f14fd
    • J
      drm/exynos: remove chained calls to enable · c329f667
      Joonyoung Shim 提交于
      With atomic modesetting all the control for CRTC, Planes, Encoders and
      Connectors should come from DRM core, so the driver is not allowed to
      enable or disable planes from inside the crtc_enable()/disable() call.
      
      But it needs to disable planes with crtc_disable in exynos driver
      internally. Because crtc is disabled before plane is disabled, it means
      plane_disable just returns without any register changes, then we cannot
      be sure setting register to disable plane when crtc is disable.
      
      This patch removes this chainned calls to enable plane from exynos hw
      drivers code letting only DRM core touch planes except to disable plane.
      Also it leads eliminable enabled and resume of struct exynos_drm_plane.
      Signed-off-by: NGustavo Padovan <gustavo.padovan@collabora.co.uk>
      Signed-off-by: NJoonyoung Shim <jy0922.shim@samsung.com>
      Tested-by: NMarek Szyprowski <m.szyprowski@samsung.com>
      Signed-off-by: NInki Dae <inki.dae@samsung.com>
      c329f667
    • A
      drm/exynos: fix broken component binding in case of multiple pipelines · 86650408
      Andrzej Hajda 提交于
      In case there are multiple pipelines and deferred probe occurs, only components
      of the first pipeline were bound. As a result only one pipeline was available.
      The main cause of this issue was dynamic generation of component match table -
      every component driver during probe registered itself on helper list, if there
      was at least one pipeline present on this list component match table were
      created without deferred components.
      This patch removes this helper list, instead it creates match table from
      existing devices requiring exynos_drm KMS drivers. This way match table do not
      depend on probe/deferral order and contains all KMS components.
      As a side effect patch makes the code cleaner and significantly smaller.
      Signed-off-by: NAndrzej Hajda <a.hajda@samsung.com>
      Signed-off-by: NInki Dae <inki.dae@samsung.com>
      86650408
    • G
      drm/exynos: add error messages if clks failed to get enabled · 38000dbb
      Gustavo Padovan 提交于
      Check error and call DRM_ERROR if clk_prepare_enable() fails.
      Signed-off-by: NGustavo Padovan <gustavo.padovan@collabora.co.uk>
      Signed-off-by: NInki Dae <inki.dae@samsung.com>
      38000dbb
    • G
      drm/exynos: split exynos_crtc->dpms in enable() and disable() · 3cecda03
      Gustavo Padovan 提交于
      To follow more closely the new atomic API we split the dpms()
      helper into the enable() and disable() helper to get exactly the
      same semantics.
      Signed-off-by: NGustavo Padovan <gustavo.padovan@collabora.co.uk>
      Signed-off-by: NInki Dae <inki.dae@samsung.com>
      3cecda03
    • J
      drm/exynos: use adjusted_mode of crtc_state instead of mode · 020e79de
      Joonyoung Shim 提交于
      Handle changes by removing copy from adjusted_mode to mode as using
      adjusted_mode of crtc_state.
      Signed-off-by: NJoonyoung Shim <jy0922.shim@samsung.com>
      Signed-off-by: NInki Dae <inki.dae@samsung.com>
      020e79de
  10. 19 5月, 2015 4 次提交
  11. 13 4月, 2015 2 次提交