Commit fae798a1 authored by Thierry Reding's avatar Thierry Reding

gpu: host1x: Export public API

Make the public API symbols visible so that depending drivers can be
built as a module.
Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
parent 4de6a2d6
...@@ -188,6 +188,7 @@ int host1x_device_init(struct host1x_device *device) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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 @@ struct host1x_channel *host1x_channel_request(struct device *dev) ...@@ -115,6 +118,7 @@ struct host1x_channel *host1x_channel_request(struct device *dev)
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) ...@@ -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, ...@@ -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) ...@@ -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, ...@@ -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 @@ int host1x_job_pin(struct host1x_job *job, struct device *dev) ...@@ -560,6 +564,7 @@ int host1x_job_pin(struct host1x_job *job, struct device *dev)
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) ...@@ -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) ...@@ -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) ...@@ -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, ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment