search for: ttm_pl_priv

Displaying 18 results from an estimated 18 matches for "ttm_pl_priv".

2019 Sep 27
5
[PATCH 1/2] drm/qxl: stop abusing TTM to call driver internal functions
...qxl_bo *bo) void qxl_bo_kunmap_atomic_page(struct qxl_device *qdev, struct qxl_bo *bo, void *pmap) { - struct ttm_mem_type_manager *man = &bo->tbo.bdev->man[bo->tbo.mem.mem_type]; - if ((bo->tbo.mem.mem_type != TTM_PL_VRAM) && (bo->tbo.mem.mem_type != TTM_PL_PRIV)) goto fallback; io_mapping_unmap_atomic(pmap); - - (void) ttm_mem_io_lock(man, false); - ttm_mem_io_free(bo->tbo.bdev, &bo->tbo.mem); - ttm_mem_io_unlock(man); return; fallback: qxl_bo_kunmap(bo); diff --git a/drivers/gpu/drm/qxl/qxl_ttm.c b/drivers/gpu/drm/qxl/qxl_ttm.c ind...
2019 Sep 30
2
[Spice-devel] [PATCH 1/2] drm/qxl: stop abusing TTM to call driver internal functions
..., >> struct qxl_bo *bo, void *pmap) >> { >> - struct ttm_mem_type_manager *man = >> &bo->tbo.bdev->man[bo->tbo.mem.mem_type]; >> - >> if ((bo->tbo.mem.mem_type != TTM_PL_VRAM) && >> (bo->tbo.mem.mem_type != TTM_PL_PRIV)) >> goto fallback; >> >> io_mapping_unmap_atomic(pmap); >> - >> - (void) ttm_mem_io_lock(man, false); >> - ttm_mem_io_free(bo->tbo.bdev, &bo->tbo.mem); >> - ttm_mem_io_unlock(man); >> return; >> fallback: >> q...
2019 Sep 30
2
[Spice-devel] [PATCH 1/2] drm/qxl: stop abusing TTM to call driver internal functions
..., >> struct qxl_bo *bo, void *pmap) >> { >> - struct ttm_mem_type_manager *man = >> &bo->tbo.bdev->man[bo->tbo.mem.mem_type]; >> - >> if ((bo->tbo.mem.mem_type != TTM_PL_VRAM) && >> (bo->tbo.mem.mem_type != TTM_PL_PRIV)) >> goto fallback; >> >> io_mapping_unmap_atomic(pmap); >> - >> - (void) ttm_mem_io_lock(man, false); >> - ttm_mem_io_free(bo->tbo.bdev, &bo->tbo.mem); >> - ttm_mem_io_unlock(man); >> return; >> fallback: >> q...
2019 Sep 30
1
[Spice-devel] [PATCH 1/2] drm/qxl: stop abusing TTM to call driver internal functions
...p) >>>> { >>>> - struct ttm_mem_type_manager *man = >>>> &bo->tbo.bdev->man[bo->tbo.mem.mem_type]; >>>> - >>>> if ((bo->tbo.mem.mem_type != TTM_PL_VRAM) && >>>> (bo->tbo.mem.mem_type != TTM_PL_PRIV)) >>>> goto fallback; >>>> >>>> io_mapping_unmap_atomic(pmap); >>>> - >>>> - (void) ttm_mem_io_lock(man, false); >>>> - ttm_mem_io_free(bo->tbo.bdev, &bo->tbo.mem); >>>> - ttm_mem_io_unlock(ma...
2018 Dec 12
0
[PATCH v2 06/18] drm/qxl: use separate offset spaces for the two slots / ttm memory types.
..._shift = + 64 - (qdev->rom->slot_gen_bits + qdev->rom->slot_id_bits + 8); + struct qxl_memslot *slot; + switch (type) { case TTM_PL_SYSTEM: /* System memory */ @@ -110,8 +115,11 @@ static int qxl_init_mem_type(struct ttm_bo_device *bdev, uint32_t type, case TTM_PL_VRAM: case TTM_PL_PRIV: /* "On-card" video ram */ + slot = (type == TTM_PL_VRAM) ? + &qdev->main_slot : &qdev->surfaces_slot; + slot->gpu_offset = (uint64_t)type << gpu_offset_shift; man->func = &ttm_bo_manager_func; - man->gpu_offset = 0; + man->gpu_offset = slot...
2019 Sep 27
0
[Spice-devel] [PATCH 1/2] drm/qxl: stop abusing TTM to call driver internal functions
...mic_page(struct qxl_device *qdev, > struct qxl_bo *bo, void *pmap) > { > - struct ttm_mem_type_manager *man = > &bo->tbo.bdev->man[bo->tbo.mem.mem_type]; > - > if ((bo->tbo.mem.mem_type != TTM_PL_VRAM) && > (bo->tbo.mem.mem_type != TTM_PL_PRIV)) > goto fallback; > > io_mapping_unmap_atomic(pmap); > - > - (void) ttm_mem_io_lock(man, false); > - ttm_mem_io_free(bo->tbo.bdev, &bo->tbo.mem); > - ttm_mem_io_unlock(man); > return; > fallback: > qxl_bo_kunmap(bo); > diff --git a/drivers/gp...
2019 Sep 30
0
[Spice-devel] [PATCH 1/2] drm/qxl: stop abusing TTM to call driver internal functions
...qxl_bo *bo, void *pmap) > >> { > >> - struct ttm_mem_type_manager *man = > >> &bo->tbo.bdev->man[bo->tbo.mem.mem_type]; > >> - > >> if ((bo->tbo.mem.mem_type != TTM_PL_VRAM) && > >> (bo->tbo.mem.mem_type != TTM_PL_PRIV)) > >> goto fallback; > >> > >> io_mapping_unmap_atomic(pmap); > >> - > >> - (void) ttm_mem_io_lock(man, false); > >> - ttm_mem_io_free(bo->tbo.bdev, &bo->tbo.mem); > >> - ttm_mem_io_unlock(man); > >> ret...
2019 Jun 20
0
[PATCH 3/6] drm/qxl: use embedded gem object
...lp->private_data); } @@ -295,7 +295,7 @@ static void qxl_bo_move_notify(struct ttm_buffer_object *bo, if (!qxl_ttm_bo_is_qxl_bo(bo)) return; qbo = to_qxl_bo(bo); - qdev = qbo->gem_base.dev->dev_private; + qdev = qbo->tbo.base.dev->dev_private; if (bo->mem.mem_type == TTM_PL_PRIV && qbo->surface_id) qxl_surface_evict(qdev, qbo, new_mem ? true : false); -- 2.18.1
2019 Jun 21
0
[PATCH v2 03/18] drm/qxl: use embedded gem object
...lp->private_data); } @@ -295,7 +295,7 @@ static void qxl_bo_move_notify(struct ttm_buffer_object *bo, if (!qxl_ttm_bo_is_qxl_bo(bo)) return; qbo = to_qxl_bo(bo); - qdev = qbo->gem_base.dev->dev_private; + qdev = qbo->tbo.base.dev->dev_private; if (bo->mem.mem_type == TTM_PL_PRIV && qbo->surface_id) qxl_surface_evict(qdev, qbo, new_mem ? true : false); -- 2.18.1
2019 Jun 28
0
[PATCH v3 03/18] drm/qxl: use embedded gem object
...lp->private_data); } @@ -295,7 +295,7 @@ static void qxl_bo_move_notify(struct ttm_buffer_object *bo, if (!qxl_ttm_bo_is_qxl_bo(bo)) return; qbo = to_qxl_bo(bo); - qdev = qbo->gem_base.dev->dev_private; + qdev = qbo->tbo.base.dev->dev_private; if (bo->mem.mem_type == TTM_PL_PRIV && qbo->surface_id) qxl_surface_evict(qdev, qbo, new_mem ? true : false); -- 2.18.1
2019 Aug 02
0
[PATCH v4 03/17] drm/qxl: use embedded gem object
...lp->private_data); } @@ -297,7 +297,7 @@ static void qxl_bo_move_notify(struct ttm_buffer_object *bo, if (!qxl_ttm_bo_is_qxl_bo(bo)) return; qbo = to_qxl_bo(bo); - qdev = qbo->gem_base.dev->dev_private; + qdev = qbo->tbo.base.dev->dev_private; if (bo->mem.mem_type == TTM_PL_PRIV && qbo->surface_id) qxl_surface_evict(qdev, qbo, new_mem ? true : false); -- 2.18.1
2019 Aug 05
0
[PATCH v5 03/18] drm/qxl: use embedded gem object
...lp->private_data); } @@ -297,7 +297,7 @@ static void qxl_bo_move_notify(struct ttm_buffer_object *bo, if (!qxl_ttm_bo_is_qxl_bo(bo)) return; qbo = to_qxl_bo(bo); - qdev = qbo->gem_base.dev->dev_private; + qdev = qbo->tbo.base.dev->dev_private; if (bo->mem.mem_type == TTM_PL_PRIV && qbo->surface_id) qxl_surface_evict(qdev, qbo, new_mem ? true : false); -- 2.18.1
2019 Aug 05
0
[PATCH v6 03/17] drm/qxl: use embedded gem object
...lp->private_data); } @@ -297,7 +297,7 @@ static void qxl_bo_move_notify(struct ttm_buffer_object *bo, if (!qxl_ttm_bo_is_qxl_bo(bo)) return; qbo = to_qxl_bo(bo); - qdev = qbo->gem_base.dev->dev_private; + qdev = qbo->tbo.base.dev->dev_private; if (bo->mem.mem_type == TTM_PL_PRIV && qbo->surface_id) qxl_surface_evict(qdev, qbo, new_mem ? true : false); -- 2.18.1
2020 Apr 15
1
[PATCH 27/59] drm/qxl: Don't use drm_device->dev_private
...++ b/drivers/gpu/drm/qxl/qxl_ttm.c @@ -243,7 +243,7 @@ static void qxl_bo_move_notify(struct ttm_buffer_object *bo, if (!qxl_ttm_bo_is_qxl_bo(bo)) return; qbo = to_qxl_bo(bo); - qdev = qbo->tbo.base.dev->dev_private; + qdev = to_qxl(qbo->tbo.base.dev); if (bo->mem.mem_type == TTM_PL_PRIV && qbo->surface_id) qxl_surface_evict(qdev, qbo, new_mem ? true : false); -- 2.25.1
2020 Apr 03
1
[PATCH 31/44] drm/qxl: Don't use drm_device->dev_private
...++ b/drivers/gpu/drm/qxl/qxl_ttm.c @@ -243,7 +243,7 @@ static void qxl_bo_move_notify(struct ttm_buffer_object *bo, if (!qxl_ttm_bo_is_qxl_bo(bo)) return; qbo = to_qxl_bo(bo); - qdev = qbo->tbo.base.dev->dev_private; + qdev = to_qxl(qbo->tbo.base.dev); if (bo->mem.mem_type == TTM_PL_PRIV && qbo->surface_id) qxl_surface_evict(qdev, qbo, new_mem ? true : false); -- 2.25.1
2020 Nov 03
45
[patch V3 00/37] mm/highmem: Preemptible variant of kmap_atomic & friends
Following up to the discussion in: https://lore.kernel.org/r/20200914204209.256266093 at linutronix.de and the second version of this: https://lore.kernel.org/r/20201029221806.189523375 at linutronix.de this series provides a preemptible variant of kmap_atomic & related interfaces. This is achieved by: - Removing the RT dependency from migrate_disable/enable() - Consolidating all
2020 Nov 03
45
[patch V3 00/37] mm/highmem: Preemptible variant of kmap_atomic & friends
Following up to the discussion in: https://lore.kernel.org/r/20200914204209.256266093 at linutronix.de and the second version of this: https://lore.kernel.org/r/20201029221806.189523375 at linutronix.de this series provides a preemptible variant of kmap_atomic & related interfaces. This is achieved by: - Removing the RT dependency from migrate_disable/enable() - Consolidating all
2020 Nov 03
45
[patch V3 00/37] mm/highmem: Preemptible variant of kmap_atomic & friends
Following up to the discussion in: https://lore.kernel.org/r/20200914204209.256266093 at linutronix.de and the second version of this: https://lore.kernel.org/r/20201029221806.189523375 at linutronix.de this series provides a preemptible variant of kmap_atomic & related interfaces. This is achieved by: - Removing the RT dependency from migrate_disable/enable() - Consolidating all