1. 04 10月, 2012 5 次提交
    • I
      drm/exynos: fix display power call issue. · 58f6aad7
      Inki Dae 提交于
      Changelog v3:
      make exynos_drm_display_power function use exynos_drm_best_encoder
      function instead of connector->encoder to get a valid encoder.
      connector->encoder could be NULL because with DRM_IOCTL_MODE_RMFB
      request, connector->encoder is NULL so fix this issue.
      
      Changelog v2:
      remove static prefix so that exynos_drm_best_encoder function
      could be called by other modules.
      
      Changelog v1:
      this patch fixes the issue that display power callback isn't called.
      with DRM_IOCTL_MODE_RMFB request, encoder->connector becomes NULL
      so display_ops->power_on() wouldn't be called so this patch makes
      exynos_drm_best_encoder function to be used to get a valid encoder
      of each connector.
      Signed-off-by: NInki Dae <inki.dae@samsung.com>
      Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com>
      58f6aad7
    • I
      drm/exynos: Disable plane when released · bcf4cef9
      Inki Dae 提交于
      this patch ensures that each plane connected to encoder is disabled
      when released, by adding disable callback function of encoder helper
      
      we had faced with one issue that invalid memory is accessed by dma
      once drm is released and then the dma is turned on again. actually,
      in our case, page fault was incurred with iommu. the reason is that
      a gem buffer accessed by the dma is also released once drm is released.
      
      so this patch would fix this issue ensuring the dma is disabled
      when released.
      Signed-off-by: NInki Dae <inki.dae@samsung.com>
      Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com>
      bcf4cef9
    • I
      drm/exynos: update crtc to plane safely · 1b85a071
      Inki Dae 提交于
      if old_crtc isn't same as encoder->crtc then it means that
      user changed crtc id to another one so a plane to old_crtc
      should be disabled so that current plane can be updated safely
      and plane->crtc should be set to new crtc(encoder->crtc)
      Signed-off-by: NInki Dae <inki.dae@samsung.com>
      Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com>
      1b85a071
    • I
      drm/exynos: add wait_for_vblank callback interface. · b011941f
      Inki Dae 提交于
      Changelog v2:
      fixed comments.
      
      Changelog v1:
      this interface can be used to make sure that hardware overlay is disabled
      to avoid that memory region is accessed by dma after gem buffer was released.
      Signed-off-by: NInki Dae <inki.dae@samsung.com>
      Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com>
      b011941f
    • I
      drm/exynos: fixed duplicated mode setting. · 50caf25c
      Inki Dae 提交于
      this patch fixes that when drm_crtc_helper_set_mode() is called,
      mode data for hardware overlay and conntroller are updated two times.
      for example, in case that drm_crtc_helper_set_mode() is called,
      overlay_ops->commit() and manager_ops->commit() callbacks can be called
      two times, first at drm_crtc_helper_set_mode() and second
      at drm_helper_connector_dpms().
      Signed-off-by: NInki Dae <inki.dae@samsung.com>
      Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com>
      50caf25c
  2. 03 10月, 2012 1 次提交
  3. 27 7月, 2012 6 次提交
  4. 20 7月, 2012 1 次提交
  5. 05 6月, 2012 1 次提交
  6. 21 3月, 2012 1 次提交
  7. 20 3月, 2012 2 次提交
  8. 16 2月, 2012 1 次提交
  9. 15 2月, 2012 1 次提交
  10. 21 12月, 2011 2 次提交
  11. 17 11月, 2011 1 次提交
  12. 15 11月, 2011 4 次提交
  13. 05 10月, 2011 1 次提交
    • I
      DRM: add DRM Driver for Samsung SoC EXYNOS4210. · 1c248b7d
      Inki Dae 提交于
      This patch is a DRM Driver for Samsung SoC Exynos4210 and now enables
      only FIMD yet but we will add HDMI support also in the future.
      
      this patch is based on git repository below:
      git://people.freedesktop.org/~airlied/linux.git
      branch name: drm-next
      commit-id: 88ef4e3f
      
      you can refer to our working repository below:
      http://git.infradead.org/users/kmpark/linux-2.6-samsung
      branch name: samsung-drm
      
      We tried to re-use lowlevel codes of the FIMD driver(s3c-fb.c
      based on Linux framebuffer) but couldn't so because lowlevel codes
      of s3c-fb.c are included internally and so FIMD module of this driver has
      its own lowlevel codes.
      
      We used GEM framework for buffer management and DMA APIs(dma_alloc_*)
      for buffer allocation so we can allocate physically continuous memory
      for DMA through it and also we could use CMA later if CMA is applied to
      mainline.
      
      Refer to this link for CMA(Continuous Memory Allocator):
      http://lkml.org/lkml/2011/7/20/45
      
      this driver supports only physically continuous memory(non-iommu).
      
      Links to previous versions of the patchset:
      v1: < https://lwn.net/Articles/454380/ >
      v2: < http://www.spinics.net/lists/kernel/msg1224275.html >
      v3: < http://www.spinics.net/lists/dri-devel/msg13755.html >
      v4: < http://permalink.gmane.org/gmane.comp.video.dri.devel/60439 >
      v5: < http://comments.gmane.org/gmane.comp.video.dri.devel/60802 >
      
      Changelog v2:
      DRM: add DRM_IOCTL_SAMSUNG_GEM_MMAP ioctl command.
      
          this feature maps user address space to physical memory region
          once user application requests DRM_IOCTL_SAMSUNG_GEM_MMAP ioctl.
      
      DRM: code clean and add exception codes.
      
      Changelog v3:
      DRM: Support multiple irq.
      
          FIMD and HDMI have their own irq handler but DRM Framework can regiter
          only one irq handler this patch supports mutiple irq for Samsung SoC.
      
      DRM: Consider modularization.
      
          each DRM, FIMD could be built as a module.
      
      DRM: Have indenpendent crtc object.
      
          crtc isn't specific to SoC Platform so this patch gets a crtc
          to be used as common object.
          created crtc could be attached to any encoder object.
      
      DRM: code clean and add exception codes.
      
      Changelog v4:
      DRM: remove is_defult from samsung_fb.
      
          is_default isn't used for default framebuffer.
      
      DRM: code refactoring to fimd module.
          this patch is be considered with multiple display objects and
          would use its own request_irq() to register a irq handler instead of
          drm framework's one.
      
      DRM: remove find_samsung_drm_gem_object()
      
      DRM: move kernel private data structures and definitions to driver folder.
      
          samsung_drm.h would contain only public information for userspace
          ioctl interface.
      
      DRM: code refactoring to gem modules.
          buffer module isn't dependent of gem module anymore.
      
      DRM: fixed security issue.
      
      DRM: remove encoder porinter from specific connector.
      
          samsung connector doesn't need to have generic encoder.
      
      DRM: code clean and add exception codes.
      
      Changelog v5:
      DRM: updated fimd(display controller) driver.
          added various pixel formats, color key and pixel blending features.
      
      DRM: removed end_buf_off from samsung_drm_overlay structure.
          this variable isn't used and end buffer address would be
          calculated by each sub driver.
      
      DRM: use generic function for mmap_offset.
          replaced samsung_drm_gem_create_mmap_offset() and
          samsung_drm_free_mmap_offset() with generic ones applied
          to mainline recentrly.
      
      DRM: removed unnecessary codes and added exception codes.
      
      DRM: added comments and code clean.
      
      Changelog v6:
      DRM: added default config options.
      
      DRM: added padding for 64-bit align.
      
      DRM: changed prefix 'samsung' to 'exynos'
      Signed-off-by: NInki Dae <inki.dae@samsung.com>
      Signed-off-by: NJoonyoung Shim <jy0922.shim@samsung.com>
      Signed-off-by: NSeung-Woo Kim <sw0312.kim@samsung.com>
      Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com>
      Reviewed-by: NKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Reviewed-by: NDave Airlie <airlied@redhat.com>
      Reviewed-by: NRob Clark <robdclark@gmail.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      1c248b7d