Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fae798a1 authored by Thierry Reding's avatar Thierry Reding
Browse files

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
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -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)
+5 −0
Original line number Original line Diff line number Diff line
@@ -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 @@ 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)
	list_del(&channel->list);
	list_del(&channel->list);
	kfree(channel);
	kfree(channel);
}
}
EXPORT_SYMBOL(host1x_channel_free);
+6 −0
Original line number Original line Diff line number Diff line
@@ -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 @@ 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)
				      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
+9 −0
Original line number Original line Diff line number Diff line
@@ -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);