static int drm_sun4i_gem_dumb_create(struct drm_file *file_priv, struct drm_device *drm, struct drm_mode_create_dumb *args) { /* The hardware only allows even pitches for YUV buffers. */ args->pitch = ALIGN(DIV_ROUND_UP(args->width * args->bpp, 8), 2); return drm_gem_cma_dumb_create_internal(file_priv, drm, args); }
static int komeda_gem_cma_dumb_create(struct drm_file *file, struct drm_device *dev, struct drm_mode_create_dumb *args) { u32 alignment = 16; /* TODO get alignment from dev */ args->pitch = ALIGN(DIV_ROUND_UP(args->width * args->bpp, 8), alignment); return drm_gem_cma_dumb_create_internal(file, dev, args); }
static int stm_gem_cma_dumb_create(struct drm_file *file, struct drm_device *dev, struct drm_mode_create_dumb *args) { unsigned int min_pitch = DIV_ROUND_UP(args->width * args->bpp, 8); /* * in order to optimize data transfer, pitch is aligned on * 128 bytes, height is aligned on 4 bytes */ args->pitch = roundup(min_pitch, 128); args->height = roundup(args->height, 4); return drm_gem_cma_dumb_create_internal(file, dev, args); }
static int kirin_gem_cma_dumb_create(struct drm_file *file, struct drm_device *dev, struct drm_mode_create_dumb *args) { return drm_gem_cma_dumb_create_internal(file, dev, args); }