gpu: host1x: Export public API
Make the public API symbols visible so that depending drivers can be built as a module. Signed-off-by: Thierry Reding <treding@nvidia.com>
This commit is contained in:
Родитель
4de6a2d6ac
Коммит
fae798a156
|
@ -188,6 +188,7 @@ int host1x_device_init(struct host1x_device *device)
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL(host1x_device_init);
|
||||||
|
|
||||||
int host1x_device_exit(struct host1x_device *device)
|
int host1x_device_exit(struct host1x_device *device)
|
||||||
{
|
{
|
||||||
|
@ -213,6 +214,7 @@ int host1x_device_exit(struct host1x_device *device)
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL(host1x_device_exit);
|
||||||
|
|
||||||
static int host1x_register_client(struct host1x *host1x,
|
static int host1x_register_client(struct host1x *host1x,
|
||||||
struct host1x_client *client)
|
struct host1x_client *client)
|
||||||
|
|
|
@ -43,6 +43,7 @@ int host1x_job_submit(struct host1x_job *job)
|
||||||
|
|
||||||
return host1x_hw_channel_submit(host, job);
|
return host1x_hw_channel_submit(host, job);
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL(host1x_job_submit);
|
||||||
|
|
||||||
struct host1x_channel *host1x_channel_get(struct host1x_channel *channel)
|
struct host1x_channel *host1x_channel_get(struct host1x_channel *channel)
|
||||||
{
|
{
|
||||||
|
@ -60,6 +61,7 @@ struct host1x_channel *host1x_channel_get(struct host1x_channel *channel)
|
||||||
|
|
||||||
return err ? NULL : channel;
|
return err ? NULL : channel;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL(host1x_channel_get);
|
||||||
|
|
||||||
void host1x_channel_put(struct host1x_channel *channel)
|
void host1x_channel_put(struct host1x_channel *channel)
|
||||||
{
|
{
|
||||||
|
@ -76,6 +78,7 @@ void host1x_channel_put(struct host1x_channel *channel)
|
||||||
|
|
||||||
mutex_unlock(&channel->reflock);
|
mutex_unlock(&channel->reflock);
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL(host1x_channel_put);
|
||||||
|
|
||||||
struct host1x_channel *host1x_channel_request(struct device *dev)
|
struct host1x_channel *host1x_channel_request(struct device *dev)
|
||||||
{
|
{
|
||||||
|
@ -115,6 +118,7 @@ fail:
|
||||||
mutex_unlock(&host->chlist_mutex);
|
mutex_unlock(&host->chlist_mutex);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL(host1x_channel_request);
|
||||||
|
|
||||||
void host1x_channel_free(struct host1x_channel *channel)
|
void host1x_channel_free(struct host1x_channel *channel)
|
||||||
{
|
{
|
||||||
|
@ -124,3 +128,4 @@ void host1x_channel_free(struct host1x_channel *channel)
|
||||||
list_del(&channel->list);
|
list_del(&channel->list);
|
||||||
kfree(channel);
|
kfree(channel);
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL(host1x_channel_free);
|
||||||
|
|
|
@ -75,12 +75,14 @@ struct host1x_job *host1x_job_alloc(struct host1x_channel *ch,
|
||||||
|
|
||||||
return job;
|
return job;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL(host1x_job_alloc);
|
||||||
|
|
||||||
struct host1x_job *host1x_job_get(struct host1x_job *job)
|
struct host1x_job *host1x_job_get(struct host1x_job *job)
|
||||||
{
|
{
|
||||||
kref_get(&job->ref);
|
kref_get(&job->ref);
|
||||||
return job;
|
return job;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL(host1x_job_get);
|
||||||
|
|
||||||
static void job_free(struct kref *ref)
|
static void job_free(struct kref *ref)
|
||||||
{
|
{
|
||||||
|
@ -93,6 +95,7 @@ void host1x_job_put(struct host1x_job *job)
|
||||||
{
|
{
|
||||||
kref_put(&job->ref, job_free);
|
kref_put(&job->ref, job_free);
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL(host1x_job_put);
|
||||||
|
|
||||||
void host1x_job_add_gather(struct host1x_job *job, struct host1x_bo *bo,
|
void host1x_job_add_gather(struct host1x_job *job, struct host1x_bo *bo,
|
||||||
u32 words, u32 offset)
|
u32 words, u32 offset)
|
||||||
|
@ -104,6 +107,7 @@ void host1x_job_add_gather(struct host1x_job *job, struct host1x_bo *bo,
|
||||||
cur_gather->offset = offset;
|
cur_gather->offset = offset;
|
||||||
job->num_gathers++;
|
job->num_gathers++;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL(host1x_job_add_gather);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* NULL an already satisfied WAIT_SYNCPT host method, by patching its
|
* NULL an already satisfied WAIT_SYNCPT host method, by patching its
|
||||||
|
@ -560,6 +564,7 @@ out:
|
||||||
|
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL(host1x_job_pin);
|
||||||
|
|
||||||
void host1x_job_unpin(struct host1x_job *job)
|
void host1x_job_unpin(struct host1x_job *job)
|
||||||
{
|
{
|
||||||
|
@ -577,6 +582,7 @@ void host1x_job_unpin(struct host1x_job *job)
|
||||||
job->gather_copy_mapped,
|
job->gather_copy_mapped,
|
||||||
job->gather_copy);
|
job->gather_copy);
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL(host1x_job_unpin);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Debug routine used to dump job entries
|
* Debug routine used to dump job entries
|
||||||
|
|
|
@ -93,6 +93,7 @@ u32 host1x_syncpt_id(struct host1x_syncpt *sp)
|
||||||
{
|
{
|
||||||
return sp->id;
|
return sp->id;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL(host1x_syncpt_id);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Updates the value sent to hardware.
|
* Updates the value sent to hardware.
|
||||||
|
@ -168,6 +169,7 @@ int host1x_syncpt_incr(struct host1x_syncpt *sp)
|
||||||
{
|
{
|
||||||
return host1x_hw_syncpt_cpu_incr(sp->host, sp);
|
return host1x_hw_syncpt_cpu_incr(sp->host, sp);
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL(host1x_syncpt_incr);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Updated sync point form hardware, and returns true if syncpoint is expired,
|
* Updated sync point form hardware, and returns true if syncpoint is expired,
|
||||||
|
@ -377,6 +379,7 @@ struct host1x_syncpt *host1x_syncpt_request(struct device *dev,
|
||||||
struct host1x *host = dev_get_drvdata(dev->parent);
|
struct host1x *host = dev_get_drvdata(dev->parent);
|
||||||
return host1x_syncpt_alloc(host, dev, flags);
|
return host1x_syncpt_alloc(host, dev, flags);
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL(host1x_syncpt_request);
|
||||||
|
|
||||||
void host1x_syncpt_free(struct host1x_syncpt *sp)
|
void host1x_syncpt_free(struct host1x_syncpt *sp)
|
||||||
{
|
{
|
||||||
|
@ -390,6 +393,7 @@ void host1x_syncpt_free(struct host1x_syncpt *sp)
|
||||||
sp->name = NULL;
|
sp->name = NULL;
|
||||||
sp->client_managed = false;
|
sp->client_managed = false;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL(host1x_syncpt_free);
|
||||||
|
|
||||||
void host1x_syncpt_deinit(struct host1x *host)
|
void host1x_syncpt_deinit(struct host1x *host)
|
||||||
{
|
{
|
||||||
|
@ -408,6 +412,7 @@ u32 host1x_syncpt_read_max(struct host1x_syncpt *sp)
|
||||||
smp_rmb();
|
smp_rmb();
|
||||||
return (u32)atomic_read(&sp->max_val);
|
return (u32)atomic_read(&sp->max_val);
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL(host1x_syncpt_read_max);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Read min, which is a shadow of the current sync point value in hardware.
|
* Read min, which is a shadow of the current sync point value in hardware.
|
||||||
|
@ -417,6 +422,7 @@ u32 host1x_syncpt_read_min(struct host1x_syncpt *sp)
|
||||||
smp_rmb();
|
smp_rmb();
|
||||||
return (u32)atomic_read(&sp->min_val);
|
return (u32)atomic_read(&sp->min_val);
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL(host1x_syncpt_read_min);
|
||||||
|
|
||||||
int host1x_syncpt_nb_pts(struct host1x *host)
|
int host1x_syncpt_nb_pts(struct host1x *host)
|
||||||
{
|
{
|
||||||
|
@ -439,13 +445,16 @@ struct host1x_syncpt *host1x_syncpt_get(struct host1x *host, u32 id)
|
||||||
return NULL;
|
return NULL;
|
||||||
return host->syncpt + id;
|
return host->syncpt + id;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL(host1x_syncpt_get);
|
||||||
|
|
||||||
struct host1x_syncpt_base *host1x_syncpt_get_base(struct host1x_syncpt *sp)
|
struct host1x_syncpt_base *host1x_syncpt_get_base(struct host1x_syncpt *sp)
|
||||||
{
|
{
|
||||||
return sp ? sp->base : NULL;
|
return sp ? sp->base : NULL;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL(host1x_syncpt_get_base);
|
||||||
|
|
||||||
u32 host1x_syncpt_base_id(struct host1x_syncpt_base *base)
|
u32 host1x_syncpt_base_id(struct host1x_syncpt_base *base)
|
||||||
{
|
{
|
||||||
return base->id;
|
return base->id;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL(host1x_syncpt_base_id);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче