drm/ttm/agp: export bind/unbind/destroy for drivers to use.

Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Ben Skeggs <bskeggs@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200907204630.1406528-5-airlied@gmail.com
This commit is contained in:
Dave Airlie 2020-09-08 06:46:21 +10:00
parent dc2caa305a
commit 738edc0adb
2 changed files with 15 additions and 6 deletions

View File

@ -48,8 +48,8 @@ struct ttm_agp_backend {
struct agp_bridge_data *bridge;
};
static int ttm_agp_bind(struct ttm_bo_device *bdev,
struct ttm_tt *ttm, struct ttm_resource *bo_mem)
int ttm_agp_bind(struct ttm_bo_device *bdev,
struct ttm_tt *ttm, struct ttm_resource *bo_mem)
{
struct ttm_agp_backend *agp_be = container_of(ttm, struct ttm_agp_backend, ttm);
struct page *dummy_read_page = ttm_bo_glob.dummy_read_page;
@ -82,9 +82,10 @@ static int ttm_agp_bind(struct ttm_bo_device *bdev,
return ret;
}
EXPORT_SYMBOL(ttm_agp_bind);
static void ttm_agp_unbind(struct ttm_bo_device *bdev,
struct ttm_tt *ttm)
void ttm_agp_unbind(struct ttm_bo_device *bdev,
struct ttm_tt *ttm)
{
struct ttm_agp_backend *agp_be = container_of(ttm, struct ttm_agp_backend, ttm);
@ -97,9 +98,10 @@ static void ttm_agp_unbind(struct ttm_bo_device *bdev,
agp_be->mem = NULL;
}
}
EXPORT_SYMBOL(ttm_agp_unbind);
static void ttm_agp_destroy(struct ttm_bo_device *bdev,
struct ttm_tt *ttm)
void ttm_agp_destroy(struct ttm_bo_device *bdev,
struct ttm_tt *ttm)
{
struct ttm_agp_backend *agp_be = container_of(ttm, struct ttm_agp_backend, ttm);
@ -108,6 +110,7 @@ static void ttm_agp_destroy(struct ttm_bo_device *bdev,
ttm_tt_fini(ttm);
kfree(agp_be);
}
EXPORT_SYMBOL(ttm_agp_destroy);
static struct ttm_backend_func ttm_agp_func = {
.bind = ttm_agp_bind,

View File

@ -266,6 +266,12 @@ struct ttm_tt *ttm_agp_tt_create(struct ttm_buffer_object *bo,
uint32_t page_flags);
int ttm_agp_tt_populate(struct ttm_bo_device *bdev, struct ttm_tt *ttm, struct ttm_operation_ctx *ctx);
void ttm_agp_tt_unpopulate(struct ttm_bo_device *bdev, struct ttm_tt *ttm);
int ttm_agp_bind(struct ttm_bo_device *bdev,
struct ttm_tt *ttm, struct ttm_resource *bo_mem);
void ttm_agp_unbind(struct ttm_bo_device *bdev,
struct ttm_tt *ttm);
void ttm_agp_destroy(struct ttm_bo_device *bdev,
struct ttm_tt *ttm);
#endif
#endif