Lines Matching refs:ci

29 static int wait_ci_ready(struct ddb_ci *ci)  in wait_ci_ready()  argument
35 if (ddbreadl(ci->port->dev, in wait_ci_ready()
36 CI_CONTROL(ci->nr)) & CI_READY) in wait_ci_ready()
48 struct ddb_ci *ci = ca->data; in read_attribute_mem() local
53 ddbwritel(ci->port->dev, CI_READ_CMD | (1 << 16) | address, in read_attribute_mem()
54 CI_DO_READ_ATTRIBUTES(ci->nr)); in read_attribute_mem()
55 wait_ci_ready(ci); in read_attribute_mem()
56 val = 0xff & ddbreadl(ci->port->dev, CI_BUFFER(ci->nr) + off); in read_attribute_mem()
63 struct ddb_ci *ci = ca->data; in write_attribute_mem() local
65 ddbwritel(ci->port->dev, CI_WRITE_CMD | (value << 16) | address, in write_attribute_mem()
66 CI_DO_ATTRIBUTE_RW(ci->nr)); in write_attribute_mem()
67 wait_ci_ready(ci); in write_attribute_mem()
75 struct ddb_ci *ci = ca->data; in read_cam_control() local
78 ddbwritel(ci->port->dev, CI_READ_CMD | address, in read_cam_control()
79 CI_DO_IO_RW(ci->nr)); in read_cam_control()
82 res = ddbreadl(ci->port->dev, CI_READDATA(ci->nr)); in read_cam_control()
95 struct ddb_ci *ci = ca->data; in write_cam_control() local
97 ddbwritel(ci->port->dev, CI_WRITE_CMD | (value << 16) | address, in write_cam_control()
98 CI_DO_IO_RW(ci->nr)); in write_cam_control()
99 wait_ci_ready(ci); in write_cam_control()
105 struct ddb_ci *ci = ca->data; in slot_reset() local
107 ddbwritel(ci->port->dev, CI_POWER_ON, in slot_reset()
108 CI_CONTROL(ci->nr)); in slot_reset()
110 ddbwritel(ci->port->dev, CI_POWER_ON | CI_RESET_CAM, in slot_reset()
111 CI_CONTROL(ci->nr)); in slot_reset()
112 ddbwritel(ci->port->dev, CI_ENABLE | CI_POWER_ON | CI_RESET_CAM, in slot_reset()
113 CI_CONTROL(ci->nr)); in slot_reset()
115 ddbwritel(ci->port->dev, CI_ENABLE | CI_POWER_ON, in slot_reset()
116 CI_CONTROL(ci->nr)); in slot_reset()
122 struct ddb_ci *ci = ca->data; in slot_shutdown() local
124 ddbwritel(ci->port->dev, 0, CI_CONTROL(ci->nr)); in slot_shutdown()
131 struct ddb_ci *ci = ca->data; in slot_ts_enable() local
132 u32 val = ddbreadl(ci->port->dev, CI_CONTROL(ci->nr)); in slot_ts_enable()
134 ddbwritel(ci->port->dev, val | CI_BYPASS_DISABLE, in slot_ts_enable()
135 CI_CONTROL(ci->nr)); in slot_ts_enable()
141 struct ddb_ci *ci = ca->data; in poll_slot_status() local
142 u32 val = ddbreadl(ci->port->dev, CI_CONTROL(ci->nr)); in poll_slot_status()
165 struct ddb_ci *ci; in ci_attach() local
167 ci = kzalloc(sizeof(*ci), GFP_KERNEL); in ci_attach()
168 if (!ci) in ci_attach()
170 memcpy(&ci->en, &en_templ, sizeof(en_templ)); in ci_attach()
171 ci->en.data = ci; in ci_attach()
172 port->en = &ci->en; in ci_attach()
174 ci->port = port; in ci_attach()
175 ci->nr = port->nr - 2; in ci_attach()
180 static int write_creg(struct ddb_ci *ci, u8 data, u8 mask) in write_creg() argument
182 struct i2c_adapter *i2c = &ci->port->i2c->adap; in write_creg()
183 u8 adr = (ci->port->type == DDB_CI_EXTERNAL_XO2) ? 0x12 : 0x13; in write_creg()
185 ci->port->creg = (ci->port->creg & ~mask) | data; in write_creg()
186 return i2c_write_reg(i2c, adr, 0x02, ci->port->creg); in write_creg()
192 struct ddb_ci *ci = ca->data; in read_attribute_mem_xo2() local
193 struct i2c_adapter *i2c = &ci->port->i2c->adap; in read_attribute_mem_xo2()
194 u8 adr = (ci->port->type == DDB_CI_EXTERNAL_XO2) ? 0x12 : 0x13; in read_attribute_mem_xo2()
205 struct ddb_ci *ci = ca->data; in write_attribute_mem_xo2() local
206 struct i2c_adapter *i2c = &ci->port->i2c->adap; in write_attribute_mem_xo2()
207 u8 adr = (ci->port->type == DDB_CI_EXTERNAL_XO2) ? 0x12 : 0x13; in write_attribute_mem_xo2()
215 struct ddb_ci *ci = ca->data; in read_cam_control_xo2() local
216 struct i2c_adapter *i2c = &ci->port->i2c->adap; in read_cam_control_xo2()
217 u8 adr = (ci->port->type == DDB_CI_EXTERNAL_XO2) ? 0x12 : 0x13; in read_cam_control_xo2()
228 struct ddb_ci *ci = ca->data; in write_cam_control_xo2() local
229 struct i2c_adapter *i2c = &ci->port->i2c->adap; in write_cam_control_xo2()
230 u8 adr = (ci->port->type == DDB_CI_EXTERNAL_XO2) ? 0x12 : 0x13; in write_cam_control_xo2()
237 struct ddb_ci *ci = ca->data; in slot_reset_xo2() local
239 dev_dbg(ci->port->dev->dev, "%s\n", __func__); in slot_reset_xo2()
240 write_creg(ci, 0x01, 0x01); in slot_reset_xo2()
241 write_creg(ci, 0x04, 0x04); in slot_reset_xo2()
243 write_creg(ci, 0x02, 0x02); in slot_reset_xo2()
244 write_creg(ci, 0x00, 0x04); in slot_reset_xo2()
245 write_creg(ci, 0x18, 0x18); in slot_reset_xo2()
251 struct ddb_ci *ci = ca->data; in slot_shutdown_xo2() local
253 dev_dbg(ci->port->dev->dev, "%s\n", __func__); in slot_shutdown_xo2()
254 write_creg(ci, 0x10, 0xff); in slot_shutdown_xo2()
255 write_creg(ci, 0x08, 0x08); in slot_shutdown_xo2()
261 struct ddb_ci *ci = ca->data; in slot_ts_enable_xo2() local
263 dev_dbg(ci->port->dev->dev, "%s\n", __func__); in slot_ts_enable_xo2()
264 write_creg(ci, 0x00, 0x10); in slot_ts_enable_xo2()
270 struct ddb_ci *ci = ca->data; in poll_slot_status_xo2() local
271 struct i2c_adapter *i2c = &ci->port->i2c->adap; in poll_slot_status_xo2()
272 u8 adr = (ci->port->type == DDB_CI_EXTERNAL_XO2) ? 0x12 : 0x13; in poll_slot_status_xo2()
298 struct ddb_ci *ci; in ci_xo2_attach() local
300 ci = kzalloc(sizeof(*ci), GFP_KERNEL); in ci_xo2_attach()
301 if (!ci) in ci_xo2_attach()
303 memcpy(&ci->en, &en_xo2_templ, sizeof(en_xo2_templ)); in ci_xo2_attach()
304 ci->en.data = ci; in ci_xo2_attach()
305 port->en = &ci->en; in ci_xo2_attach()
307 ci->port = port; in ci_xo2_attach()
308 ci->nr = port->nr - 2; in ci_xo2_attach()
309 ci->port->creg = 0; in ci_xo2_attach()
310 write_creg(ci, 0x10, 0xff); in ci_xo2_attach()
311 write_creg(ci, 0x08, 0x08); in ci_xo2_attach()