ast_plane
struct ast_plane *ast_plane = to_ast_plane(plane);
u64 dst_off = ast_plane->offset;
u8 __iomem *dst = ast_plane_vaddr(ast_plane); /* TODO: Use mapping abstraction properly */
struct ast_plane *ast_plane = &ast_cursor_plane->base;
struct drm_plane *cursor_plane = &ast_plane->base;
ret = ast_plane_init(dev, ast_plane, offset, size,
static inline struct ast_plane *to_ast_plane(struct drm_plane *plane)
return container_of(plane, struct ast_plane, base);
struct ast_plane base;
struct ast_plane primary_plane;
int ast_plane_init(struct drm_device *dev, struct ast_plane *ast_plane,
void __iomem *ast_plane_vaddr(struct ast_plane *ast);
int ast_plane_init(struct drm_device *dev, struct ast_plane *ast_plane,
struct drm_plane *plane = &ast_plane->base;
ast_plane->offset = offset;
ast_plane->size = size;
void __iomem *ast_plane_vaddr(struct ast_plane *ast_plane)
struct ast_device *ast = to_ast_device(ast_plane->base.dev);
return ast->vram + ast_plane->offset;
static void ast_handle_damage(struct ast_plane *ast_plane, struct iosys_map *src,
struct iosys_map dst = IOSYS_MAP_INIT_VADDR_IOMEM(ast_plane_vaddr(ast_plane));
struct ast_plane *ast_plane = to_ast_plane(plane);
ast_handle_damage(ast_plane, shadow_plane_state->data, fb, &damage,
struct ast_plane *ast_plane = to_ast_plane(plane);
ast_set_start_address_crt1(ast, (u32)ast_plane->offset);
struct ast_plane *ast_plane = to_ast_plane(plane);
iosys_map_set_vaddr_iomem(&sb->map[0], ast_plane_vaddr(ast_plane));
struct ast_plane *ast_primary_plane = &ast->primary_plane;