OSDN Git Service

Revert "minigbm: replace DRM_FORMAT_MOD_INVALID with DRM_FORMAT_MOD_LINEAR"
[android-x86/external-minigbm.git] / tegra.c
diff --git a/tegra.c b/tegra.c
index 7842ea2..f0651d7 100644 (file)
--- a/tegra.c
+++ b/tegra.c
@@ -179,7 +179,6 @@ static void transfer_tiled_memory(struct bo *bo, uint8_t *tiled, uint8_t *untile
 
 static int tegra_init(struct driver *drv)
 {
-       int ret;
        struct format_metadata metadata;
        uint64_t use_flags = BO_USE_RENDER_MASK;
 
@@ -187,10 +186,8 @@ static int tegra_init(struct driver *drv)
        metadata.priority = 1;
        metadata.modifier = DRM_FORMAT_MOD_LINEAR;
 
-       ret = drv_add_combinations(drv, render_target_formats, ARRAY_SIZE(render_target_formats),
-                                  &metadata, use_flags);
-       if (ret)
-               return ret;
+       drv_add_combinations(drv, render_target_formats, ARRAY_SIZE(render_target_formats),
+                            &metadata, use_flags);
 
        drv_modify_combination(drv, DRM_FORMAT_XRGB8888, &metadata, BO_USE_CURSOR | BO_USE_SCANOUT);
        drv_modify_combination(drv, DRM_FORMAT_ARGB8888, &metadata, BO_USE_CURSOR | BO_USE_SCANOUT);
@@ -202,10 +199,8 @@ static int tegra_init(struct driver *drv)
        metadata.tiling = NV_MEM_KIND_C32_2CRA;
        metadata.priority = 2;
 
-       ret = drv_add_combinations(drv, render_target_formats, ARRAY_SIZE(render_target_formats),
-                                  &metadata, use_flags);
-       if (ret)
-               return ret;
+       drv_add_combinations(drv, render_target_formats, ARRAY_SIZE(render_target_formats),
+                            &metadata, use_flags);
 
        drv_modify_combination(drv, DRM_FORMAT_XRGB8888, &metadata, BO_USE_SCANOUT);
        drv_modify_combination(drv, DRM_FORMAT_ARGB8888, &metadata, BO_USE_SCANOUT);
@@ -300,7 +295,7 @@ static int tegra_bo_import(struct bo *bo, struct drv_import_fd_data *data)
        return 0;
 }
 
-static void *tegra_bo_map(struct bo *bo, struct map_info *data, size_t plane, uint32_t map_flags)
+static void *tegra_bo_map(struct bo *bo, struct vma *vma, size_t plane, uint32_t map_flags)
 {
        int ret;
        struct drm_tegra_gem_mmap gem_map;
@@ -317,12 +312,12 @@ static void *tegra_bo_map(struct bo *bo, struct map_info *data, size_t plane, ui
 
        void *addr = mmap(0, bo->total_size, drv_get_prot(map_flags), MAP_SHARED, bo->drv->fd,
                          gem_map.offset);
-       data->length = bo->total_size;
+       vma->length = bo->total_size;
        if ((bo->tiling & 0xFF) == NV_MEM_KIND_C32_2CRA && addr != MAP_FAILED) {
                priv = calloc(1, sizeof(*priv));
                priv->untiled = calloc(1, bo->total_size);
                priv->tiled = addr;
-               data->priv = priv;
+               vma->priv = priv;
                transfer_tiled_memory(bo, priv->tiled, priv->untiled, TEGRA_READ_TILED_BUFFER);
                addr = priv->untiled;
        }
@@ -330,24 +325,24 @@ static void *tegra_bo_map(struct bo *bo, struct map_info *data, size_t plane, ui
        return addr;
 }
 
-static int tegra_bo_unmap(struct bo *bo, struct map_info *data)
+static int tegra_bo_unmap(struct bo *bo, struct vma *vma)
 {
-       if (data->priv) {
-               struct tegra_private_map_data *priv = data->priv;
-               data->addr = priv->tiled;
+       if (vma->priv) {
+               struct tegra_private_map_data *priv = vma->priv;
+               vma->addr = priv->tiled;
                free(priv->untiled);
                free(priv);
-               data->priv = NULL;
+               vma->priv = NULL;
        }
 
-       return munmap(data->addr, data->length);
+       return munmap(vma->addr, vma->length);
 }
 
-static int tegra_bo_flush(struct bo *bo, struct map_info *data)
+static int tegra_bo_flush(struct bo *bo, struct mapping *mapping)
 {
-       struct tegra_private_map_data *priv = data->priv;
+       struct tegra_private_map_data *priv = mapping->vma->priv;
 
-       if (priv && (data->map_flags & BO_MAP_WRITE))
+       if (priv && (mapping->vma->map_flags & BO_MAP_WRITE))
                transfer_tiled_memory(bo, priv->tiled, priv->untiled, TEGRA_WRITE_TILED_BUFFER);
 
        return 0;