[PATCH v5] DRM: add DRM Driver for Samsung SoC EXYNOS4210.

Rob Clark rob.clark at linaro.org
Wed Oct 5 06:49:12 PDT 2011


On Fri, Sep 23, 2011 at 7:55 AM, Inki Dae <inki.dae at samsung.com> wrote:
> 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: 88ef4e3f4f616462b78a7838eb3ffc3818d30f67
>
> 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.gossamer-threads.com/lists/linux/kernel/1423684 >
> v4: < http://permalink.gmane.org/gmane.comp.video.dri.devel/60439 >
>
> 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.
>
> Changlog 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.
>
> Signed-off-by: Inki Dae <inki.dae at samsung.com>
> Signed-off-by: Joonyoung Shim <jy0922.shim at samsung.com>
> Signed-off-by: SeungWoo Kim <sw0312.kim at samsung.com>
> Signed-off-by: kyungmin.park <kyungmin.park at samsung.com>

Reviewed-by: Rob Clark <rob.clark at linaro.org>'


BR,
-R


More information about the dri-devel mailing list