struct exynos_drm_gem_buf *buffer;
unsigned int actual_w;
unsigned int actual_h;
+ struct exynos_drm_fb *exynos_fb = to_exynos_fb(fb);
int nr = exynos_drm_format_num_buffers(fb->pixel_format);
int i;
for (i = 0; i < nr; i++) {
- buffer = exynos_drm_fb_buffer(fb, i);
+ buffer = exynos_drm_fb_buffer(exynos_fb, i);
overlay->dma_addr[i] = buffer->dma_addr;
#include "exynos_drm_crtc.h"
/* Helper functions to push things in/out of the iommu. */
-static int exynos_drm_fb_map(struct drm_framebuffer *fb)
+static int exynos_drm_fb_map(struct exynos_drm_fb *exynos_fb)
{
- struct exynos_drm_fb *exynos_fb = to_exynos_fb(fb);
struct exynos_drm_gem_obj *gem_ob = exynos_fb->exynos_gem_obj[0];
struct drm_gem_object *obj = &gem_ob->base;
struct exynos_drm_gem_buf *buf;
int ret;
- buf = exynos_drm_fb_buffer(fb, 0);
+ buf = exynos_drm_fb_buffer(exynos_fb, 0);
if (!buf) {
DRM_ERROR("buffer is null\n");
return -ENOMEM;
return 0;
}
-static int exynos_drm_fb_unmap(struct drm_framebuffer *fb)
+static int exynos_drm_fb_unmap(struct exynos_drm_fb *exynos_fb)
{
- struct exynos_drm_fb *exynos_fb = to_exynos_fb(fb);
struct exynos_drm_gem_obj *gem_ob = exynos_fb->exynos_gem_obj[0];
struct drm_gem_object *obj = &gem_ob->base;
struct exynos_drm_gem_buf *buf;
- buf = exynos_drm_fb_buffer(fb, 0);
+ buf = exynos_drm_fb_buffer(exynos_fb, 0);
if (!buf) {
DRM_ERROR("buffer is null\n");
return -ENOMEM;
drm_framebuffer_cleanup(fb);
- if (exynos_drm_fb_unmap(fb))
+ if (exynos_drm_fb_unmap(exynos_fb))
DRM_ERROR("Couldn't unmap buffer\n");
nr = exynos_drm_format_num_buffers(fb->pixel_format);
exynos_fb->exynos_gem_obj[i] = to_exynos_gem_obj(obj);
}
- if (exynos_drm_fb_map(fb)) {
+ if (exynos_drm_fb_map(exynos_fb)) {
DRM_ERROR("Failed to map gem object\n");
ret = -ENOMEM;
goto err_map;
return ERR_PTR(ret);
}
-struct exynos_drm_gem_buf *exynos_drm_fb_buffer(struct drm_framebuffer *fb,
- int index)
+struct exynos_drm_gem_buf *
+exynos_drm_fb_buffer(struct exynos_drm_fb *exynos_fb, int index)
{
- struct exynos_drm_fb *exynos_fb = to_exynos_fb(fb);
struct exynos_drm_gem_buf *buffer;
DRM_DEBUG_KMS("%s\n", __FILE__);
{
struct fb_info *fbi = helper->fbdev;
struct drm_device *dev = helper->dev;
+ struct exynos_drm_fb *exynos_fb = to_exynos_fb(fb);
struct exynos_drm_gem_buf *buffer;
unsigned int size = fb->width * fb->height * (fb->bits_per_pixel >> 3);
unsigned long offset;
drm_fb_helper_fill_var(fbi, helper, fb->width, fb->height);
/* RGB formats use only one buffer */
- buffer = exynos_drm_fb_buffer(fb, 0);
+ buffer = exynos_drm_fb_buffer(exynos_fb, 0);
if (!buffer) {
DRM_LOG_KMS("buffer is null.\n");
return -EFAULT;