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