openwrt/target/linux/brcm2708/patches-4.19/950-0579-drm-v3d-Fix-BO-stats-accounting-for-dma-buf-imported.patch
Álvaro Fernández Rojas 4295485719 brcm2708: add linux 4.19 support
Boot tested on Raspberry Pi B+ (BCM2708) and Raspberry Pi 2 (BCM2709)

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2019-07-14 12:44:14 +02:00

41 lines
1.3 KiB
Diff

From cc4f39930d6d1cf396c3a1f6fa45696582247ee6 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Thu, 7 Feb 2019 15:26:13 -0800
Subject: [PATCH 579/703] drm/v3d: Fix BO stats accounting for dma-buf-imported
buffers.
We always decrement at GEM free, so make sure we increment at GEM
creation for dma-bufs.
Signed-off-by: Eric Anholt <eric@anholt.net>
Link: https://patchwork.freedesktop.org/patch/msgid/20190207232613.24981-1-eric@anholt.net
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
(cherry picked from commit cc3f60cfd4f2752f1bad7eaa3839855c15347abc)
---
drivers/gpu/drm/v3d/v3d_bo.c | 6 ++++++
1 file changed, 6 insertions(+)
--- a/drivers/gpu/drm/v3d/v3d_bo.c
+++ b/drivers/gpu/drm/v3d/v3d_bo.c
@@ -282,6 +282,7 @@ v3d_prime_import_sg_table(struct drm_dev
struct dma_buf_attachment *attach,
struct sg_table *sgt)
{
+ struct v3d_dev *v3d = to_v3d_dev(dev);
struct drm_gem_object *obj;
struct v3d_bo *bo;
@@ -296,6 +297,11 @@ v3d_prime_import_sg_table(struct drm_dev
obj->import_attach = attach;
v3d_bo_get_pages(bo);
+ mutex_lock(&v3d->bo_lock);
+ v3d->bo_stats.num_allocated++;
+ v3d->bo_stats.pages_allocated += obj->size >> PAGE_SHIFT;
+ mutex_unlock(&v3d->bo_lock);
+
v3d_mmu_insert_ptes(bo);
return obj;