From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eunchul Kim Subject: Re: [PATCH 0/4] add ipp subsystem and each ipp drivers Date: Mon, 29 Oct 2012 14:20:21 +0900 Message-ID: <508E1215.90100@samsung.com> References: <1350535733-18806-1-git-send-email-chulspro.kim@samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: Received: from mailout2.samsung.com (mailout2.samsung.com [203.254.224.25]) by gabe.freedesktop.org (Postfix) with ESMTP id 03FC39E8FB for ; Sun, 28 Oct 2012 22:22:09 -0700 (PDT) Received: from epcpsbgm1.samsung.com (epcpsbgm1 [203.254.230.26]) by mailout2.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MCN00JZ52WGPI70@mailout2.samsung.com> for dri-devel@lists.freedesktop.org; Mon, 29 Oct 2012 14:22:03 +0900 (KST) Received: from [10.90.54.32] by mmp1.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0MCN002FO2WRD440@mmp1.samsung.com> for dri-devel@lists.freedesktop.org; Mon, 29 Oct 2012 14:22:03 +0900 (KST) In-reply-to: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org Errors-To: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org To: Inki Dae Cc: jy0.jeon@samsung.com, dri-devel@lists.freedesktop.org, jaejoon.seo@samsung.com, yj44.cho@samsung.com, kyungmin.park@samsung.com, jmock.shin@samsung.com List-Id: dri-devel@lists.freedesktop.org Thank's comment and I will modify description of Exynos5 series. and than I will send it. On 10/26/2012 11:43 PM, Inki Dae wrote: > 2012/10/18 Eunchul Kim : >> Hi All. >> >> I am responsible for a display part from Samsung Electronics Telecommunication Division. >> and I am going to add post-processing features in exynos drm. >> If you have some opinion of this patch, >> please give some comments about my patch. >> >> IPP is stands for Image Post Processing and supports image scaler/rotator >> and input/output DMA operations using IPP drivers(FIMC, Rotator, GSC, SC, so on.) >> IPP is integration device driver of same attibute hardware. >> > > Please add more descriptions. Actually, GSC is a new hardware for > Exynos5xxx SoC and later. So please, leave descriptions enough. ie. in > case of Exynos4xxx SoCs, Image scaler, rotator and color space > conversion had been processed by FIMC hardware. But as you know, in > case of Exynos5xxx and layer, they are processed by GSC. And also the > GSC can be used instead of Exynos4xxx's Video Processor. So such > things should be described enough. OK I will add more descriptions. > >> IPP drivers supports Memory to Memory operations with various converting. >> and some drivers supports Writeback and Display output operations using local path. >> User can make converted image using this driver. >> and also supports streaming concept for multimedia data processing. >> >> And supports various operations >> 1. Scale operation generates various sizes of image. >> 2. CSC(Color Space Conversion) operation supports format converting. >> 3. Crop operation supports cutting the image. >> 4. Rotate operation supports to 90, 180, 270 degree. >> 5. Flip operation supports to vertical, horizontal, and both. >> 6. Writeback operation genertates cloned image from display controller(FIMD). >> 7. Display output operation support various format display to display controller(FIMD). >> 8. Input DMA reads image data from the memory. >> 9. Output DMA writes image data to memory. >> 10. Supports image effect functions. >> >> Descriptions) >> User should make property informations and set this property to registers. >> and IPP subsystem manages property id using command node and make queue list using memory node. >> IPP subsystem supports register function of IPP drivers. >> IPP driver manages input/output DMA with various operations. and some driver supports >> optional operations(writeback, output). >> IPP driver needs various informations, so User set property information to IPP driver. >> and also IPP driver needs memory base address of image for various operations. >> User doesn't know its address, so fills the gem handle of that memory than address of image base. >> and than IPP driver start operation. >> >> We adds four ioctls and one event for IPP subsystem. >> Basic control flow is same as below >> Open -> Get properties -> User choose IPP driver and set property information -> Set Property -> Create gem handle -> >> Queue buffer(Enqueue) of source/destination -> Command control(Play) -> Event occured to User >> -> User handle converted image -> (Queue buffer(Enqueue) of source/destination -> Event occured to User)*N -> >> Queue buffer(Dequeue) of source/destination -> Command control(Stop) -> Free gem handle -> Close >> > > The above descriptions are not enough. Please add test application so > that other people can understand your patch set. And let's start as > RFC this time. > Do you want to attach ipptest application in libdrm ? >> - ioctls >> DRM_EXYNOS_IPP_GET_PROPERTY : get ipp driver capabilitis and id. >> DRM_EXYNOS_IPP_SET_PROPERTY : set format, position, rotation, flip about source/destination. >> DRM_EXYNOS_IPP_QUEUE_BUF : enqueue/dequeue buffer and make event list. >> DRM_EXYNOS_IPP_CMD_CTRL : play/stop/pause/resume control. >> >> - event >> DRM_EXYNOS_IPP_EVENT : event to give notification completion of buffer DMA with buffer list >> >> Eunchul Kim (4): >> drm/exynos: add ipp subsystem >> drm/exynos: add fimc ipp driver >> drm/exynos: add rotator ipp driver >> drm/exynos: add gsc ipp driver >> >> drivers/gpu/drm/exynos/Kconfig | 24 + >> drivers/gpu/drm/exynos/Makefile | 4 + >> drivers/gpu/drm/exynos/exynos_drm_drv.c | 69 + >> drivers/gpu/drm/exynos/exynos_drm_drv.h | 10 + >> drivers/gpu/drm/exynos/exynos_drm_fimc.c | 2041 +++++++++++++++++++++++++++ >> drivers/gpu/drm/exynos/exynos_drm_fimc.h | 35 + >> drivers/gpu/drm/exynos/exynos_drm_gsc.c | 1476 +++++++++++++++++++ >> drivers/gpu/drm/exynos/exynos_drm_gsc.h | 35 + >> drivers/gpu/drm/exynos/exynos_drm_ipp.c | 1937 +++++++++++++++++++++++++ >> drivers/gpu/drm/exynos/exynos_drm_ipp.h | 268 ++++ >> drivers/gpu/drm/exynos/exynos_drm_rotator.c | 801 +++++++++++ >> drivers/gpu/drm/exynos/exynos_drm_rotator.h | 13 + >> drivers/gpu/drm/exynos/regs-fimc.h | 669 +++++++++ >> drivers/gpu/drm/exynos/regs-gsc.h | 295 ++++ >> drivers/gpu/drm/exynos/regs-rotator.h | 73 + >> include/drm/exynos_drm.h | 33 + >> include/uapi/drm/exynos_drm.h | 189 +++ >> 17 files changed, 7972 insertions(+), 0 deletions(-) >> create mode 100644 drivers/gpu/drm/exynos/exynos_drm_fimc.c >> create mode 100644 drivers/gpu/drm/exynos/exynos_drm_fimc.h >> create mode 100644 drivers/gpu/drm/exynos/exynos_drm_gsc.c >> create mode 100644 drivers/gpu/drm/exynos/exynos_drm_gsc.h >> create mode 100644 drivers/gpu/drm/exynos/exynos_drm_ipp.c >> create mode 100644 drivers/gpu/drm/exynos/exynos_drm_ipp.h >> create mode 100644 drivers/gpu/drm/exynos/exynos_drm_rotator.c >> create mode 100644 drivers/gpu/drm/exynos/exynos_drm_rotator.h >> create mode 100644 drivers/gpu/drm/exynos/regs-fimc.h >> create mode 100644 drivers/gpu/drm/exynos/regs-gsc.h >> create mode 100644 drivers/gpu/drm/exynos/regs-rotator.h >> >> _______________________________________________ >> dri-devel mailing list >> dri-devel@lists.freedesktop.org >> http://lists.freedesktop.org/mailman/listinfo/dri-devel >