[PATCH 1/2] Change the way slot is detected

Dave Airlie airlied at gmail.com
Thu Oct 15 18:32:59 PDT 2015


On 12 October 2015 at 23:02, Frediano Ziglio <fziglio at redhat.com> wrote:
> Instead of relaying on surface type use the actual placement.
> This allow to have different placement for a single type of
> surface.

These two look fine, just 2 things,

a) missing Signed-off-by
b) no prefix - please prefix qxl kernel patches with drm/qxl.

Dave.

> ---
>  qxl/qxl_cmd.c | 2 +-
>  qxl/qxl_drv.h | 9 ++++++++-
>  2 files changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/qxl/qxl_cmd.c b/qxl/qxl_cmd.c
> index fdc1833..3a1b055 100644
> --- a/qxl/qxl_cmd.c
> +++ b/qxl/qxl_cmd.c
> @@ -511,7 +511,7 @@ int qxl_hw_surface_alloc(struct qxl_device *qdev,
>         cmd->u.surface_create.height = surf->surf.height;
>         cmd->u.surface_create.stride = surf->surf.stride;
>         if (new_mem) {
> -               int slot_id = surf->type == QXL_GEM_DOMAIN_VRAM ? qdev->main_mem_slot : qdev->surfaces_mem_slot;
> +               int slot_id = qxl_bo_get_slot_id(qdev, surf);
>                 struct qxl_memslot *slot = &(qdev->mem_slots[slot_id]);
>
>                 /* TODO - need to hold one of the locks to read tbo.offset */
> diff --git a/qxl/qxl_drv.h b/qxl/qxl_drv.h
> index 01a8694..60f0062 100644
> --- a/qxl/qxl_drv.h
> +++ b/qxl/qxl_drv.h
> @@ -365,11 +365,18 @@ qxl_fb_virtual_address(struct qxl_device *qdev, unsigned long physical)
>         return 0;
>  }
>
> +static inline int
> +qxl_bo_get_slot_id(struct qxl_device *qdev, struct qxl_bo *bo)
> +{
> +       return ((bo->tbo.cur_placement & TTM_PL_MASK_MEM) == TTM_PL_FLAG_VRAM) ?
> +               qdev->main_mem_slot : qdev->surfaces_mem_slot;
> +}
> +
>  static inline uint64_t
>  qxl_bo_physical_address(struct qxl_device *qdev, struct qxl_bo *bo,
>                         unsigned long offset)
>  {
> -       int slot_id = bo->type == QXL_GEM_DOMAIN_VRAM ? qdev->main_mem_slot : qdev->surfaces_mem_slot;
> +       int slot_id = qxl_bo_get_slot_id(qdev, bo);
>         struct qxl_memslot *slot = &(qdev->mem_slots[slot_id]);
>
>         /* TODO - need to hold one of the locks to read tbo.offset */
> --
> 2.4.3
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel


More information about the dri-devel mailing list