{
if (data->priv) {
struct tegra_private_map_data *priv = data->priv;
- if (priv->prot & PROT_WRITE)
- transfer_tiled_memory(bo, priv->tiled, priv->untiled,
- TEGRA_WRITE_TILED_BUFFER);
data->addr = priv->tiled;
free(priv->untiled);
free(priv);
return munmap(data->addr, data->length);
}
+static int tegra_bo_flush(struct bo *bo, struct map_info *data)
+{
+ struct tegra_private_map_data *priv = data->priv;
+
+ if (priv && priv->prot & PROT_WRITE)
+ transfer_tiled_memory(bo, priv->tiled, priv->untiled,
+ TEGRA_WRITE_TILED_BUFFER);
+
+ return 0;
+}
+
struct backend backend_tegra = {
.name = "tegra",
.init = tegra_init,
.bo_import = tegra_bo_import,
.bo_map = tegra_bo_map,
.bo_unmap = tegra_bo_unmap,
+ .bo_flush = tegra_bo_flush,
};
#endif