fb.c (728d90bdc9e480dc93913e59a0aa3c896c7aa697) fb.c (7e3c53a096a9e75b12e69f93ef1fbc7cb1b27297)
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Copyright (C) 2012-2013 Avionic Design GmbH
4 * Copyright (C) 2012 NVIDIA CORPORATION. All rights reserved.
5 *
6 * Based on the KMS/FB CMA helpers
7 * Copyright (C) 2012 Analog Device Inc.
8 */

--- 255 unchanged lines hidden (view full) ---

264 pgprot_writecombine(PAGE_KERNEL));
265 if (!bo->vaddr) {
266 dev_err(drm->dev, "failed to vmap() framebuffer\n");
267 err = -ENOMEM;
268 goto destroy;
269 }
270 }
271
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Copyright (C) 2012-2013 Avionic Design GmbH
4 * Copyright (C) 2012 NVIDIA CORPORATION. All rights reserved.
5 *
6 * Based on the KMS/FB CMA helpers
7 * Copyright (C) 2012 Analog Device Inc.
8 */

--- 255 unchanged lines hidden (view full) ---

264 pgprot_writecombine(PAGE_KERNEL));
265 if (!bo->vaddr) {
266 dev_err(drm->dev, "failed to vmap() framebuffer\n");
267 err = -ENOMEM;
268 goto destroy;
269 }
270 }
271
272 drm->mode_config.fb_base = (resource_size_t)bo->paddr;
272 drm->mode_config.fb_base = (resource_size_t)bo->iova;
273 info->screen_base = (void __iomem *)bo->vaddr + offset;
274 info->screen_size = size;
273 info->screen_base = (void __iomem *)bo->vaddr + offset;
274 info->screen_size = size;
275 info->fix.smem_start = (unsigned long)(bo->paddr + offset);
275 info->fix.smem_start = (unsigned long)(bo->iova + offset);
276 info->fix.smem_len = size;
277
278 return 0;
279
280destroy:
281 drm_framebuffer_remove(fb);
282 return err;
283}

--- 126 unchanged lines hidden ---
276 info->fix.smem_len = size;
277
278 return 0;
279
280destroy:
281 drm_framebuffer_remove(fb);
282 return err;
283}

--- 126 unchanged lines hidden ---