[PATCH 10/10] drm/gma500: Rename struct gtt_range to struct psb_gem_object
Patrik Jakobsson
patrik.r.jakobsson at gmail.com
Sat Oct 2 22:15:38 UTC 2021
On Tue, Sep 28, 2021 at 10:44 AM Thomas Zimmermann <tzimmermann at suse.de> wrote:
>
> struct gtt_range represents a GEM object. Rename the structure to struct
> psb_gem_object and update all users. No functional changes.
>
> Signed-off-by: Thomas Zimmermann <tzimmermann at suse.de>
Acked-by: Patrik Jakobsson <patrik.r.jakobsson at gmail.com>
> ---
> drivers/gpu/drm/gma500/framebuffer.c | 9 +-
> drivers/gpu/drm/gma500/gem.c | 106 +++++++++++----------
> drivers/gpu/drm/gma500/gem.h | 25 ++++-
> drivers/gpu/drm/gma500/gma_display.c | 50 +++++-----
> drivers/gpu/drm/gma500/gtt.c | 15 +--
> drivers/gpu/drm/gma500/gtt.h | 15 ---
> drivers/gpu/drm/gma500/oaktrail_crtc.c | 3 +-
> drivers/gpu/drm/gma500/psb_intel_display.c | 15 ++-
> drivers/gpu/drm/gma500/psb_intel_drv.h | 2 +-
> 9 files changed, 123 insertions(+), 117 deletions(-)
>
> diff --git a/drivers/gpu/drm/gma500/framebuffer.c b/drivers/gpu/drm/gma500/framebuffer.c
> index 3ea6679ccd38..45df9de22007 100644
> --- a/drivers/gpu/drm/gma500/framebuffer.c
> +++ b/drivers/gpu/drm/gma500/framebuffer.c
> @@ -81,14 +81,13 @@ static vm_fault_t psbfb_vm_fault(struct vm_fault *vmf)
> struct drm_framebuffer *fb = vma->vm_private_data;
> struct drm_device *dev = fb->dev;
> struct drm_psb_private *dev_priv = to_drm_psb_private(dev);
> - struct gtt_range *gtt = to_gtt_range(fb->obj[0]);
> + struct psb_gem_object *pobj = to_psb_gem_object(fb->obj[0]);
> int page_num;
> int i;
> unsigned long address;
> vm_fault_t ret = VM_FAULT_SIGBUS;
> unsigned long pfn;
> - unsigned long phys_addr = (unsigned long)dev_priv->stolen_base +
> - gtt->offset;
> + unsigned long phys_addr = (unsigned long)dev_priv->stolen_base + pobj->offset;
>
> page_num = vma_pages(vma);
> address = vmf->address - (vmf->pgoff << PAGE_SHIFT);
> @@ -242,7 +241,7 @@ static int psbfb_create(struct drm_fb_helper *fb_helper,
> struct drm_mode_fb_cmd2 mode_cmd;
> int size;
> int ret;
> - struct gtt_range *backing;
> + struct psb_gem_object *backing;
> struct drm_gem_object *obj;
> u32 bpp, depth;
>
> @@ -264,7 +263,7 @@ static int psbfb_create(struct drm_fb_helper *fb_helper,
> backing = psb_gem_create(dev, size, "fb", true, PAGE_SIZE);
> if (IS_ERR(backing))
> return PTR_ERR(backing);
> - obj = &backing->gem;
> + obj = &backing->base;
>
> memset(dev_priv->vram_addr + backing->offset, 0, size);
>
> diff --git a/drivers/gpu/drm/gma500/gem.c b/drivers/gpu/drm/gma500/gem.c
> index fd556ba2c044..9b7052153cab 100644
> --- a/drivers/gpu/drm/gma500/gem.c
> +++ b/drivers/gpu/drm/gma500/gem.c
> @@ -21,9 +21,10 @@
> #include "gem.h"
> #include "psb_drv.h"
>
> -int psb_gem_pin(struct gtt_range *gt)
> +int psb_gem_pin(struct psb_gem_object *pobj)
> {
> - struct drm_device *dev = gt->gem.dev;
> + struct drm_gem_object *obj = &pobj->base;
> + struct drm_device *dev = obj->dev;
> struct drm_psb_private *dev_priv = to_drm_psb_private(dev);
> u32 gpu_base = dev_priv->gtt.gatt_start;
> struct page **pages;
> @@ -31,57 +32,58 @@ int psb_gem_pin(struct gtt_range *gt)
>
> mutex_lock(&dev_priv->gtt_mutex);
>
> - if (gt->in_gart || gt->stolen)
> + if (pobj->in_gart || pobj->stolen)
> goto out; /* already mapped */
>
> - pages = drm_gem_get_pages(>->gem);
> + pages = drm_gem_get_pages(obj);
> if (IS_ERR(pages))
> return PTR_ERR(pages);
>
> - npages = gt->gem.size / PAGE_SIZE;
> + npages = obj->size / PAGE_SIZE;
>
> set_pages_array_wc(pages, npages);
>
> - psb_gtt_insert_pages(dev_priv, >->resource, pages);
> + psb_gtt_insert_pages(dev_priv, &pobj->resource, pages);
> psb_mmu_insert_pages(psb_mmu_get_default_pd(dev_priv->mmu), pages,
> - (gpu_base + gt->offset), npages, 0, 0,
> + (gpu_base + pobj->offset), npages, 0, 0,
> PSB_MMU_CACHED_MEMORY);
>
> - gt->npage = npages;
> - gt->pages = pages;
> + pobj->npage = npages;
> + pobj->pages = pages;
>
> out:
> - ++gt->in_gart;
> + ++pobj->in_gart;
> mutex_unlock(&dev_priv->gtt_mutex);
>
> return 0;
> }
>
> -void psb_gem_unpin(struct gtt_range *gt)
> +void psb_gem_unpin(struct psb_gem_object *pobj)
> {
> - struct drm_device *dev = gt->gem.dev;
> + struct drm_gem_object *obj = &pobj->base;
> + struct drm_device *dev = obj->dev;
> struct drm_psb_private *dev_priv = to_drm_psb_private(dev);
> u32 gpu_base = dev_priv->gtt.gatt_start;
>
> mutex_lock(&dev_priv->gtt_mutex);
>
> - WARN_ON(!gt->in_gart);
> + WARN_ON(!pobj->in_gart);
>
> - --gt->in_gart;
> + --pobj->in_gart;
>
> - if (gt->in_gart || gt->stolen)
> + if (pobj->in_gart || pobj->stolen)
> goto out;
>
> psb_mmu_remove_pages(psb_mmu_get_default_pd(dev_priv->mmu),
> - (gpu_base + gt->offset), gt->npage, 0, 0);
> - psb_gtt_remove_pages(dev_priv, >->resource);
> + (gpu_base + pobj->offset), pobj->npage, 0, 0);
> + psb_gtt_remove_pages(dev_priv, &pobj->resource);
>
> /* Reset caching flags */
> - set_pages_array_wb(gt->pages, gt->npage);
> + set_pages_array_wb(pobj->pages, pobj->npage);
>
> - drm_gem_put_pages(>->gem, gt->pages, true, false);
> - gt->pages = NULL;
> - gt->npage = 0;
> + drm_gem_put_pages(obj, pobj->pages, true, false);
> + pobj->pages = NULL;
> + pobj->npage = 0;
>
> out:
> mutex_unlock(&dev_priv->gtt_mutex);
> @@ -91,18 +93,18 @@ static vm_fault_t psb_gem_fault(struct vm_fault *vmf);
>
> static void psb_gem_free_object(struct drm_gem_object *obj)
> {
> - struct gtt_range *gt = to_gtt_range(obj);
> + struct psb_gem_object *pobj = to_psb_gem_object(obj);
>
> drm_gem_object_release(obj);
>
> /* Undo the mmap pin if we are destroying the object */
> - if (gt->mmapping)
> - psb_gem_unpin(gt);
> + if (pobj->mmapping)
> + psb_gem_unpin(pobj);
>
> - WARN_ON(gt->in_gart && !gt->stolen);
> + WARN_ON(pobj->in_gart && !pobj->stolen);
>
> - release_resource(>->resource);
> - kfree(gt);
> + release_resource(&pobj->resource);
> + kfree(pobj);
> }
>
> static const struct vm_operations_struct psb_gem_vm_ops = {
> @@ -116,31 +118,31 @@ static const struct drm_gem_object_funcs psb_gem_object_funcs = {
> .vm_ops = &psb_gem_vm_ops,
> };
>
> -struct gtt_range *
> +struct psb_gem_object *
> psb_gem_create(struct drm_device *dev, u64 size, const char *name, bool stolen, u32 align)
> {
> struct drm_psb_private *dev_priv = to_drm_psb_private(dev);
> - struct gtt_range *gt;
> + struct psb_gem_object *pobj;
> struct drm_gem_object *obj;
> int ret;
>
> size = roundup(size, PAGE_SIZE);
>
> - gt = kzalloc(sizeof(*gt), GFP_KERNEL);
> - if (!gt)
> + pobj = kzalloc(sizeof(*pobj), GFP_KERNEL);
> + if (!pobj)
> return ERR_PTR(-ENOMEM);
> - obj = >->gem;
> + obj = &pobj->base;
>
> /* GTT resource */
>
> - ret = psb_gtt_allocate_resource(dev_priv, >->resource, name, size, align, stolen,
> - >->offset);
> + ret = psb_gtt_allocate_resource(dev_priv, &pobj->resource, name, size, align, stolen,
> + &pobj->offset);
> if (ret)
> goto err_kfree;
>
> if (stolen) {
> - gt->stolen = true;
> - gt->in_gart = 1;
> + pobj->stolen = true;
> + pobj->in_gart = 1;
> }
>
> /* GEM object */
> @@ -158,12 +160,12 @@ psb_gem_create(struct drm_device *dev, u64 size, const char *name, bool stolen,
> mapping_set_gfp_mask(obj->filp->f_mapping, GFP_KERNEL | __GFP_DMA32);
> }
>
> - return gt;
> + return pobj;
>
> err_release_resource:
> - release_resource(>->resource);
> + release_resource(&pobj->resource);
> err_kfree:
> - kfree(gt);
> + kfree(pobj);
> return ERR_PTR(ret);
> }
>
> @@ -181,7 +183,7 @@ int psb_gem_dumb_create(struct drm_file *file, struct drm_device *dev,
> struct drm_mode_create_dumb *args)
> {
> size_t pitch, size;
> - struct gtt_range *gt;
> + struct psb_gem_object *pobj;
> struct drm_gem_object *obj;
> u32 handle;
> int ret;
> @@ -194,10 +196,10 @@ int psb_gem_dumb_create(struct drm_file *file, struct drm_device *dev,
> if (!size)
> return -EINVAL;
>
> - gt = psb_gem_create(dev, size, "gem", false, PAGE_SIZE);
> - if (IS_ERR(gt))
> - return PTR_ERR(gt);
> - obj = >->gem;
> + pobj = psb_gem_create(dev, size, "gem", false, PAGE_SIZE);
> + if (IS_ERR(pobj))
> + return PTR_ERR(pobj);
> + obj = &pobj->base;
>
> ret = drm_gem_handle_create(file, obj, &handle);
> if (ret)
> @@ -236,7 +238,7 @@ static vm_fault_t psb_gem_fault(struct vm_fault *vmf)
> {
> struct vm_area_struct *vma = vmf->vma;
> struct drm_gem_object *obj;
> - struct gtt_range *r;
> + struct psb_gem_object *pobj;
> int err;
> vm_fault_t ret;
> unsigned long pfn;
> @@ -248,7 +250,7 @@ static vm_fault_t psb_gem_fault(struct vm_fault *vmf)
> dev = obj->dev;
> dev_priv = to_drm_psb_private(dev);
>
> - r = to_gtt_range(obj);
> + pobj = to_psb_gem_object(obj);
>
> /* Make sure we don't parallel update on a fault, nor move or remove
> something from beneath our feet */
> @@ -256,14 +258,14 @@ static vm_fault_t psb_gem_fault(struct vm_fault *vmf)
>
> /* For now the mmap pins the object and it stays pinned. As things
> stand that will do us no harm */
> - if (r->mmapping == 0) {
> - err = psb_gem_pin(r);
> + if (pobj->mmapping == 0) {
> + err = psb_gem_pin(pobj);
> if (err < 0) {
> dev_err(dev->dev, "gma500: pin failed: %d\n", err);
> ret = vmf_error(err);
> goto fail;
> }
> - r->mmapping = 1;
> + pobj->mmapping = 1;
> }
>
> /* Page relative to the VMA start - we must calculate this ourselves
> @@ -271,10 +273,10 @@ static vm_fault_t psb_gem_fault(struct vm_fault *vmf)
> page_offset = (vmf->address - vma->vm_start) >> PAGE_SHIFT;
>
> /* CPU view of the page, don't go via the GART for CPU writes */
> - if (r->stolen)
> - pfn = (dev_priv->stolen_base + r->offset) >> PAGE_SHIFT;
> + if (pobj->stolen)
> + pfn = (dev_priv->stolen_base + pobj->offset) >> PAGE_SHIFT;
> else
> - pfn = page_to_pfn(r->pages[page_offset]);
> + pfn = page_to_pfn(pobj->pages[page_offset]);
> ret = vmf_insert_pfn(vma, vmf->address, pfn);
> fail:
> mutex_unlock(&dev_priv->mmap_mutex);
> diff --git a/drivers/gpu/drm/gma500/gem.h b/drivers/gpu/drm/gma500/gem.h
> index 21c86df482a6..79cced40c87f 100644
> --- a/drivers/gpu/drm/gma500/gem.h
> +++ b/drivers/gpu/drm/gma500/gem.h
> @@ -8,14 +8,33 @@
> #ifndef _GEM_H
> #define _GEM_H
>
> +#include <linux/kernel.h>
> +
> #include <drm/drm_gem.h>
>
> struct drm_device;
>
> -struct gtt_range *
> +struct psb_gem_object {
> + struct drm_gem_object base;
> +
> + struct resource resource; /* GTT resource for our allocation */
> + u32 offset; /* GTT offset of our object */
> + int in_gart; /* Currently in the GART (ref ct) */
> + bool stolen; /* Backed from stolen RAM */
> + bool mmapping; /* Is mmappable */
> + struct page **pages; /* Backing pages if present */
> + int npage; /* Number of backing pages */
> +};
> +
> +static inline struct psb_gem_object *to_psb_gem_object(struct drm_gem_object *obj)
> +{
> + return container_of(obj, struct psb_gem_object, base);
> +}
> +
> +struct psb_gem_object *
> psb_gem_create(struct drm_device *dev, u64 size, const char *name, bool stolen, u32 align);
>
> -int psb_gem_pin(struct gtt_range *gt);
> -void psb_gem_unpin(struct gtt_range *gt);
> +int psb_gem_pin(struct psb_gem_object *pobj);
> +void psb_gem_unpin(struct psb_gem_object *pobj);
>
> #endif
> diff --git a/drivers/gpu/drm/gma500/gma_display.c b/drivers/gpu/drm/gma500/gma_display.c
> index 6d0470b27bc5..99da3118131a 100644
> --- a/drivers/gpu/drm/gma500/gma_display.c
> +++ b/drivers/gpu/drm/gma500/gma_display.c
> @@ -55,7 +55,7 @@ int gma_pipe_set_base(struct drm_crtc *crtc, int x, int y,
> struct drm_psb_private *dev_priv = to_drm_psb_private(dev);
> struct gma_crtc *gma_crtc = to_gma_crtc(crtc);
> struct drm_framebuffer *fb = crtc->primary->fb;
> - struct gtt_range *gtt;
> + struct psb_gem_object *pobj;
> int pipe = gma_crtc->pipe;
> const struct psb_offset *map = &dev_priv->regmap[pipe];
> unsigned long start, offset;
> @@ -71,14 +71,14 @@ int gma_pipe_set_base(struct drm_crtc *crtc, int x, int y,
> goto gma_pipe_cleaner;
> }
>
> - gtt = to_gtt_range(fb->obj[0]);
> + pobj = to_psb_gem_object(fb->obj[0]);
>
> /* We are displaying this buffer, make sure it is actually loaded
> into the GTT */
> - ret = psb_gem_pin(gtt);
> + ret = psb_gem_pin(pobj);
> if (ret < 0)
> goto gma_pipe_set_base_exit;
> - start = gtt->offset;
> + start = pobj->offset;
> offset = y * fb->pitches[0] + x * fb->format->cpp[0];
>
> REG_WRITE(map->stride, fb->pitches[0]);
> @@ -126,7 +126,7 @@ int gma_pipe_set_base(struct drm_crtc *crtc, int x, int y,
> gma_pipe_cleaner:
> /* If there was a previous display we can now unpin it */
> if (old_fb)
> - psb_gem_unpin(to_gtt_range(old_fb->obj[0]));
> + psb_gem_unpin(to_psb_gem_object(old_fb->obj[0]));
>
> gma_pipe_set_base_exit:
> gma_power_end(dev);
> @@ -332,8 +332,8 @@ int gma_crtc_cursor_set(struct drm_crtc *crtc,
> uint32_t base = (pipe == 0) ? CURABASE : CURBBASE;
> uint32_t temp;
> size_t addr = 0;
> - struct gtt_range *gt;
> - struct gtt_range *cursor_gt = gma_crtc->cursor_gt;
> + struct psb_gem_object *pobj;
> + struct psb_gem_object *cursor_pobj = gma_crtc->cursor_pobj;
> struct drm_gem_object *obj;
> void *tmp_dst, *tmp_src;
> int ret = 0, i, cursor_pages;
> @@ -349,8 +349,8 @@ int gma_crtc_cursor_set(struct drm_crtc *crtc,
>
> /* Unpin the old GEM object */
> if (gma_crtc->cursor_obj) {
> - gt = to_gtt_range(gma_crtc->cursor_obj);
> - psb_gem_unpin(gt);
> + pobj = to_psb_gem_object(gma_crtc->cursor_obj);
> + psb_gem_unpin(pobj);
> drm_gem_object_put(gma_crtc->cursor_obj);
> gma_crtc->cursor_obj = NULL;
> }
> @@ -375,40 +375,40 @@ int gma_crtc_cursor_set(struct drm_crtc *crtc,
> goto unref_cursor;
> }
>
> - gt = to_gtt_range(obj);
> + pobj = to_psb_gem_object(obj);
>
> /* Pin the memory into the GTT */
> - ret = psb_gem_pin(gt);
> + ret = psb_gem_pin(pobj);
> if (ret) {
> dev_err(dev->dev, "Can not pin down handle 0x%x\n", handle);
> goto unref_cursor;
> }
>
> if (dev_priv->ops->cursor_needs_phys) {
> - if (cursor_gt == NULL) {
> + if (!cursor_pobj) {
> dev_err(dev->dev, "No hardware cursor mem available");
> ret = -ENOMEM;
> goto unref_cursor;
> }
>
> /* Prevent overflow */
> - if (gt->npage > 4)
> + if (pobj->npage > 4)
> cursor_pages = 4;
> else
> - cursor_pages = gt->npage;
> + cursor_pages = pobj->npage;
>
> /* Copy the cursor to cursor mem */
> - tmp_dst = dev_priv->vram_addr + cursor_gt->offset;
> + tmp_dst = dev_priv->vram_addr + cursor_pobj->offset;
> for (i = 0; i < cursor_pages; i++) {
> - tmp_src = kmap(gt->pages[i]);
> + tmp_src = kmap(pobj->pages[i]);
> memcpy(tmp_dst, tmp_src, PAGE_SIZE);
> - kunmap(gt->pages[i]);
> + kunmap(pobj->pages[i]);
> tmp_dst += PAGE_SIZE;
> }
>
> addr = gma_crtc->cursor_addr;
> } else {
> - addr = gt->offset;
> + addr = pobj->offset;
> gma_crtc->cursor_addr = addr;
> }
>
> @@ -425,8 +425,8 @@ int gma_crtc_cursor_set(struct drm_crtc *crtc,
>
> /* unpin the old bo */
> if (gma_crtc->cursor_obj) {
> - gt = to_gtt_range(gma_crtc->cursor_obj);
> - psb_gem_unpin(gt);
> + pobj = to_psb_gem_object(gma_crtc->cursor_obj);
> + psb_gem_unpin(pobj);
> drm_gem_object_put(gma_crtc->cursor_obj);
> }
>
> @@ -483,14 +483,14 @@ void gma_crtc_commit(struct drm_crtc *crtc)
>
> void gma_crtc_disable(struct drm_crtc *crtc)
> {
> - struct gtt_range *gt;
> + struct psb_gem_object *pobj;
> const struct drm_crtc_helper_funcs *crtc_funcs = crtc->helper_private;
>
> crtc_funcs->dpms(crtc, DRM_MODE_DPMS_OFF);
>
> if (crtc->primary->fb) {
> - gt = to_gtt_range(crtc->primary->fb->obj[0]);
> - psb_gem_unpin(gt);
> + pobj = to_psb_gem_object(crtc->primary->fb->obj[0]);
> + psb_gem_unpin(pobj);
> }
> }
>
> @@ -498,8 +498,8 @@ void gma_crtc_destroy(struct drm_crtc *crtc)
> {
> struct gma_crtc *gma_crtc = to_gma_crtc(crtc);
>
> - if (gma_crtc->cursor_gt)
> - drm_gem_object_put(&gma_crtc->cursor_gt->gem);
> + if (gma_crtc->cursor_pobj)
> + drm_gem_object_put(&gma_crtc->cursor_pobj->base);
>
> kfree(gma_crtc->crtc_state);
> drm_crtc_cleanup(crtc);
> diff --git a/drivers/gpu/drm/gma500/gtt.c b/drivers/gpu/drm/gma500/gtt.c
> index cf71a2396c16..75e483c88ceb 100644
> --- a/drivers/gpu/drm/gma500/gtt.c
> +++ b/drivers/gpu/drm/gma500/gtt.c
> @@ -7,6 +7,7 @@
> * Alan Cox <alan at linux.intel.com>
> */
>
> +#include "gem.h" /* TODO: for struct psb_gem_object, see psb_gtt_restore() */
> #include "psb_drv.h"
>
>
> @@ -292,7 +293,7 @@ int psb_gtt_restore(struct drm_device *dev)
> {
> struct drm_psb_private *dev_priv = to_drm_psb_private(dev);
> struct resource *r = dev_priv->gtt_mem->child;
> - struct gtt_range *range;
> + struct psb_gem_object *pobj;
> unsigned int restored = 0, total = 0, size = 0;
>
> /* On resume, the gtt_mutex is already initialized */
> @@ -302,13 +303,13 @@ int psb_gtt_restore(struct drm_device *dev)
> while (r != NULL) {
> /*
> * TODO: GTT restoration needs a refactoring, so that we don't have to touch
> - * struct gtt_range here. The type represents a GEM object and is not
> - * related to the GTT itself.
> + * struct psb_gem_object here. The type represents a GEM object and is
> + * not related to the GTT itself.
> */
> - range = container_of(r, struct gtt_range, resource);
> - if (range->pages) {
> - psb_gtt_insert_pages(dev_priv, &range->resource, range->pages);
> - size += range->resource.end - range->resource.start;
> + pobj = container_of(r, struct psb_gem_object, resource);
> + if (pobj->pages) {
> + psb_gtt_insert_pages(dev_priv, &pobj->resource, pobj->pages);
> + size += pobj->resource.end - pobj->resource.start;
> restored++;
> }
> r = r->sibling;
> diff --git a/drivers/gpu/drm/gma500/gtt.h b/drivers/gpu/drm/gma500/gtt.h
> index 6a28e24a18b7..29649395c531 100644
> --- a/drivers/gpu/drm/gma500/gtt.h
> +++ b/drivers/gpu/drm/gma500/gtt.h
> @@ -28,21 +28,6 @@ struct psb_gtt {
> /* Exported functions */
> extern int psb_gtt_init(struct drm_device *dev, int resume);
> extern void psb_gtt_takedown(struct drm_device *dev);
> -
> -/* Each gtt_range describes an allocation in the GTT area */
> -struct gtt_range {
> - struct resource resource; /* Resource for our allocation */
> - u32 offset; /* GTT offset of our object */
> - struct drm_gem_object gem; /* GEM high level stuff */
> - int in_gart; /* Currently in the GART (ref ct) */
> - bool stolen; /* Backed from stolen RAM */
> - bool mmapping; /* Is mmappable */
> - struct page **pages; /* Backing pages if present */
> - int npage; /* Number of backing pages */
> -};
> -
> -#define to_gtt_range(x) container_of(x, struct gtt_range, gem)
> -
> extern int psb_gtt_restore(struct drm_device *dev);
>
> int psb_gtt_allocate_resource(struct drm_psb_private *pdev, struct resource *res,
> diff --git a/drivers/gpu/drm/gma500/oaktrail_crtc.c b/drivers/gpu/drm/gma500/oaktrail_crtc.c
> index c6b115954b7d..36c7c2686c90 100644
> --- a/drivers/gpu/drm/gma500/oaktrail_crtc.c
> +++ b/drivers/gpu/drm/gma500/oaktrail_crtc.c
> @@ -10,6 +10,7 @@
> #include <drm/drm_fourcc.h>
>
> #include "framebuffer.h"
> +#include "gem.h"
> #include "gma_display.h"
> #include "power.h"
> #include "psb_drv.h"
> @@ -608,7 +609,7 @@ static int oaktrail_pipe_set_base(struct drm_crtc *crtc,
> if (!gma_power_begin(dev, true))
> return 0;
>
> - start = to_gtt_range(fb->obj[0])->offset;
> + start = to_psb_gem_object(fb->obj[0])->offset;
> offset = y * fb->pitches[0] + x * fb->format->cpp[0];
>
> REG_WRITE(map->stride, fb->pitches[0]);
> diff --git a/drivers/gpu/drm/gma500/psb_intel_display.c b/drivers/gpu/drm/gma500/psb_intel_display.c
> index b5e9118c01a4..d5f95212934e 100644
> --- a/drivers/gpu/drm/gma500/psb_intel_display.c
> +++ b/drivers/gpu/drm/gma500/psb_intel_display.c
> @@ -455,22 +455,21 @@ static void psb_intel_cursor_init(struct drm_device *dev,
> struct drm_psb_private *dev_priv = to_drm_psb_private(dev);
> u32 control[3] = { CURACNTR, CURBCNTR, CURCCNTR };
> u32 base[3] = { CURABASE, CURBBASE, CURCBASE };
> - struct gtt_range *cursor_gt;
> + struct psb_gem_object *cursor_pobj;
>
> if (dev_priv->ops->cursor_needs_phys) {
> /* Allocate 4 pages of stolen mem for a hardware cursor. That
> * is enough for the 64 x 64 ARGB cursors we support.
> */
> - cursor_gt = psb_gem_create(dev, 4 * PAGE_SIZE, "cursor", true, PAGE_SIZE);
> - if (IS_ERR(cursor_gt)) {
> - gma_crtc->cursor_gt = NULL;
> + cursor_pobj = psb_gem_create(dev, 4 * PAGE_SIZE, "cursor", true, PAGE_SIZE);
> + if (IS_ERR(cursor_pobj)) {
> + gma_crtc->cursor_pobj = NULL;
> goto out;
> }
> - gma_crtc->cursor_gt = cursor_gt;
> - gma_crtc->cursor_addr = dev_priv->stolen_base +
> - cursor_gt->offset;
> + gma_crtc->cursor_pobj = cursor_pobj;
> + gma_crtc->cursor_addr = dev_priv->stolen_base + cursor_pobj->offset;
> } else {
> - gma_crtc->cursor_gt = NULL;
> + gma_crtc->cursor_pobj = NULL;
> }
>
> out:
> diff --git a/drivers/gpu/drm/gma500/psb_intel_drv.h b/drivers/gpu/drm/gma500/psb_intel_drv.h
> index 5340225d6997..db3e757328fe 100644
> --- a/drivers/gpu/drm/gma500/psb_intel_drv.h
> +++ b/drivers/gpu/drm/gma500/psb_intel_drv.h
> @@ -140,7 +140,7 @@ struct gma_crtc {
> int pipe;
> int plane;
> uint32_t cursor_addr;
> - struct gtt_range *cursor_gt;
> + struct psb_gem_object *cursor_pobj;
> u8 lut_adj[256];
> struct psb_intel_framebuffer *fbdev_fb;
> /* a mode_set for fbdev users on this crtc */
> --
> 2.33.0
>
More information about the dri-devel
mailing list