Hi Dave, Fixed it. Please pull from git://git.infradead.org/users/kmpark/linux-samsung exynos-drm-next again. Please let me know if there is any problem and Sorry for inconvenience caused. Thanks, Inki Dae > -----Original Message----- > From: Dave Airlie [mailto:airlied@xxxxxxxxx] > Sent: Thursday, May 17, 2012 7:27 PM > To: Joonyoung Shim > Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx; kyungmin.park@xxxxxxxxxxx; > inki.dae@xxxxxxxxxxx > Subject: Re: [PATCH v2] drm/exynos: add G2D driver > > On Thu, Apr 26, 2012 at 9:48 AM, Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> > wrote: > > The G2D is a 2D graphic accelerator that supports Bit Block Transfer. > > This G2D driver is exynos drm specific and supports only G2D(version > > 4.1) of later Exynos series from Exynos4X12 because supporting DMA. > > > > The G2D is performed by two tasks simply. > > 1. Configures the rendering parameters, such as foreground color and > > coordinates data by setting the drawing context registers. > > 2. Start the rendering process by setting thre relevant command > > registers accordingly. > > > > The G2D version 4.1 supports DMA mode as host interface. User can make > > command list to reduce HOST(ARM) loads. The contents of The command list > > is setted to relevant registers of G2D by DMA. > > > > The command list is composed Header and command sets and Tail. > > - Header: The number of command set(4Bytes) > > - Command set: Register offset(4Bytes) + Register data(4Bytes) > > - Tail: Pointer of base address of the other command list(4Bytes) > > > > By Tail field, the G2D can process many command lists without halt at > > one go. > > > > The G2D has following the rendering pipeline. > > --> Primitive Drawing --> Rotation --> Clipping --> Bilinear Sampling > > --> Color Key --> ROP --> Mask Operation --> Alpha Blending --> > > Dithering --> FrameBuffer > > > > And supports various operations from the rendering pipeline. > > - copy > > - fast solid color fill > > - window clipping > > - rotation > > - flip > > - 4 operand raster operation(ROP4) > > - masking operation > > - alpha blending > > - color key > > - dithering > > - etc > > > > User should make the command list to data and registers needed by > > operation to use. The Exynos G2D driver only manages the command lists > > received from user. Some registers needs memory base address(physical > > address) of image. User doesn't know its physical address, so fills the > > gem handle of that memory than address to command sets, then G2D driver > > converts it to memory base address. > > > > We adds three ioctls and one event for Exynos G2D. > > > > - ioctls > > DRM_EXYNOS_G2D_GET_VER: get the G2D hardware version > > DRM_EXYNOS_G2D_SET_CMDLIST: set the command list from user to driver > > DRM_EXYNOS_G2D_EXEC: execute the command lists setted to driver > > > > - event > > DRM_EXYNOS_G2D_EVENT: event to give notification completion of the > > command list to user > > > > Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> > > Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> > > Signed-off-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> > > --- > > The validation check codes are added to this patch v2 to prevent > > security problem from patch v1. > > > > v2 changelog: > > > > Some code clean and added to check follows about cmdlist from user. > > > > 1. size of cmdlist > > 2. registers offset validation: the registers offset shouldn't get out > > the range - 0x0104 ~ 0x0880 and it has to be multiple of 4. The cmd > > can't have registers offset for base address and the cmd_gem can have > > only registers offset for base address. > > Okay I started to pull -next this morning then realise this still has > bad ioctls defines in it. > > NO POINTERS in IOCTL STRUCTS, use __u64. I think I've had this problem > with nearly every > ioctl you guys add, some someone down the chain of command isn't > getting this message. > > + > > +struct drm_exynos_g2d_set_cmdlist { > > + struct drm_exynos_g2d_cmd *cmd; > > + struct drm_exynos_g2d_cmd *cmd_gem; > > ^^ pointers. > > Dave. _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel