]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - include/linux/host1x.h
i2c: rephrase explanation of I2C_CLASS_DEPRECATED
[karo-tx-linux.git] / include / linux / host1x.h
index 3d04aa1dc83e48207bc97bf2bce32f5b53291d24..630b1a98ab58a91ce0554fef3bf5228f460cd11d 100644 (file)
@@ -32,11 +32,27 @@ enum host1x_class {
 
 struct host1x_client;
 
+/**
+ * struct host1x_client_ops - host1x client operations
+ * @init: host1x client initialization code
+ * @exit: host1x client tear down code
+ */
 struct host1x_client_ops {
        int (*init)(struct host1x_client *client);
        int (*exit)(struct host1x_client *client);
 };
 
+/**
+ * struct host1x_client - host1x client structure
+ * @list: list node for the host1x client
+ * @parent: pointer to struct device representing the host1x controller
+ * @dev: pointer to struct device backing this host1x client
+ * @ops: host1x client operations
+ * @class: host1x class represented by this client
+ * @channel: host1x channel associated with this client
+ * @syncpts: array of syncpoints requested for this client
+ * @num_syncpts: number of syncpoints requested for this client
+ */
 struct host1x_client {
        struct list_head list;
        struct device *parent;
@@ -156,7 +172,6 @@ struct host1x_channel;
 struct host1x_job;
 
 struct host1x_channel *host1x_channel_request(struct device *dev);
-void host1x_channel_free(struct host1x_channel *channel);
 struct host1x_channel *host1x_channel_get(struct host1x_channel *channel);
 void host1x_channel_put(struct host1x_channel *channel);
 int host1x_job_submit(struct host1x_job *job);
@@ -177,6 +192,13 @@ struct host1x_reloc {
        unsigned long shift;
 };
 
+struct host1x_waitchk {
+       struct host1x_bo *bo;
+       u32 offset;
+       u32 syncpt_id;
+       u32 thresh;
+};
+
 struct host1x_job {
        /* When refcount goes to zero, job can be freed */
        struct kref ref;
@@ -226,7 +248,10 @@ struct host1x_job {
        u8 *gather_copy_mapped;
 
        /* Check if register is marked as an address reg */
-       int (*is_addr_reg)(struct device *dev, u32 reg, u32 class);
+       int (*is_addr_reg)(struct device *dev, u32 class, u32 reg);
+
+       /* Check if class belongs to the unit */
+       int (*is_valid_class)(u32 class);
 
        /* Request a SETCLASS to this class */
        u32 class;
@@ -251,6 +276,15 @@ void host1x_job_unpin(struct host1x_job *job);
 
 struct host1x_device;
 
+/**
+ * struct host1x_driver - host1x logical device driver
+ * @driver: core driver
+ * @subdevs: table of OF device IDs matching subdevices for this driver
+ * @list: list node for the driver
+ * @probe: called when the host1x logical device is probed
+ * @remove: called when the host1x logical device is removed
+ * @shutdown: called when the host1x logical device is shut down
+ */
 struct host1x_driver {
        struct device_driver driver;