aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nouveau_i2c.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_i2c.h')
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_i2c.h21
1 files changed, 13 insertions, 8 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_i2c.h b/drivers/gpu/drm/nouveau/nouveau_i2c.h
index 422b62fd8272..4d2e4e9031be 100644
--- a/drivers/gpu/drm/nouveau/nouveau_i2c.h
+++ b/drivers/gpu/drm/nouveau/nouveau_i2c.h
@@ -27,20 +27,25 @@
27#include <linux/i2c-algo-bit.h> 27#include <linux/i2c-algo-bit.h>
28#include "drm_dp_helper.h" 28#include "drm_dp_helper.h"
29 29
30struct dcb_i2c_entry; 30#define NV_I2C_PORT(n) (0x00 + (n))
31#define NV_I2C_PORT_NUM 0x10
32#define NV_I2C_DEFAULT(n) (0x80 + (n))
31 33
32struct nouveau_i2c_chan { 34struct nouveau_i2c_chan {
33 struct i2c_adapter adapter; 35 struct i2c_adapter adapter;
34 struct drm_device *dev; 36 struct drm_device *dev;
35 struct i2c_algo_bit_data bit; 37 struct list_head head;
36 unsigned rd; 38 u8 index;
37 unsigned wr; 39 u8 type;
38 unsigned data; 40 u32 dcb;
41 u32 drive;
42 u32 sense;
43 u32 state;
39}; 44};
40 45
41int nouveau_i2c_init(struct drm_device *, struct dcb_i2c_entry *, int index); 46int nouveau_i2c_init(struct drm_device *);
42void nouveau_i2c_fini(struct drm_device *, struct dcb_i2c_entry *); 47void nouveau_i2c_fini(struct drm_device *);
43struct nouveau_i2c_chan *nouveau_i2c_find(struct drm_device *, int index); 48struct nouveau_i2c_chan *nouveau_i2c_find(struct drm_device *, u8 index);
44bool nouveau_probe_i2c_addr(struct nouveau_i2c_chan *i2c, int addr); 49bool nouveau_probe_i2c_addr(struct nouveau_i2c_chan *i2c, int addr);
45int nouveau_i2c_identify(struct drm_device *dev, const char *what, 50int nouveau_i2c_identify(struct drm_device *dev, const char *what,
46 struct i2c_board_info *info, 51 struct i2c_board_info *info,