Searched refs:adap (Results 1 - 200 of 273) sorted by relevance

12

/linux-4.1.27/drivers/media/usb/dvb-usb/
H A Ddvb-usb-dvb.c14 struct dvb_usb_adapter *adap = dvbdmxfeed->demux->priv; dvb_usb_ctrl_feed() local
17 if (adap == NULL) dvb_usb_ctrl_feed()
20 if ((adap->active_fe < 0) || dvb_usb_ctrl_feed()
21 (adap->active_fe >= adap->num_frontends_initialized)) { dvb_usb_ctrl_feed()
25 newfeedcount = adap->feedcount + (onoff ? 1 : -1); dvb_usb_ctrl_feed()
30 usb_urb_kill(&adap->fe_adap[adap->active_fe].stream); dvb_usb_ctrl_feed()
32 if (adap->props.fe[adap->active_fe].streaming_ctrl != NULL) { dvb_usb_ctrl_feed()
33 ret = adap->props.fe[adap->active_fe].streaming_ctrl(adap, 0); dvb_usb_ctrl_feed()
41 adap->feedcount = newfeedcount; dvb_usb_ctrl_feed()
45 adap->fe_adap[adap->active_fe].pid_filtering ? dvb_usb_ctrl_feed()
48 if (adap->props.fe[adap->active_fe].caps & DVB_USB_ADAP_HAS_PID_FILTER && dvb_usb_ctrl_feed()
49 adap->fe_adap[adap->active_fe].pid_filtering && dvb_usb_ctrl_feed()
50 adap->props.fe[adap->active_fe].pid_filter != NULL) dvb_usb_ctrl_feed()
51 adap->props.fe[adap->active_fe].pid_filter(adap, dvbdmxfeed->index, dvbdmxfeed->pid, onoff); dvb_usb_ctrl_feed()
56 if (adap->feedcount == onoff && adap->feedcount > 0) { dvb_usb_ctrl_feed()
58 usb_urb_submit(&adap->fe_adap[adap->active_fe].stream); dvb_usb_ctrl_feed()
61 if (adap->props.fe[adap->active_fe].caps & DVB_USB_ADAP_HAS_PID_FILTER && dvb_usb_ctrl_feed()
62 adap->props.fe[adap->active_fe].caps & dvb_usb_ctrl_feed()
64 adap->props.fe[adap->active_fe].pid_filter_ctrl != NULL) { dvb_usb_ctrl_feed()
65 ret = adap->props.fe[adap->active_fe].pid_filter_ctrl(adap, dvb_usb_ctrl_feed()
66 adap->fe_adap[adap->active_fe].pid_filtering); dvb_usb_ctrl_feed()
73 if (adap->props.fe[adap->active_fe].streaming_ctrl != NULL) { dvb_usb_ctrl_feed()
74 ret = adap->props.fe[adap->active_fe].streaming_ctrl(adap, 1); dvb_usb_ctrl_feed()
98 static void dvb_usb_media_device_register(struct dvb_usb_adapter *adap) dvb_usb_media_device_register() argument
102 struct dvb_usb_device *d = adap->dev; dvb_usb_media_device_register()
126 dvb_register_media_controller(&adap->dvb_adap, mdev); dvb_usb_media_device_register()
132 static void dvb_usb_media_device_unregister(struct dvb_usb_adapter *adap) dvb_usb_media_device_unregister() argument
135 if (!adap->dvb_adap.mdev) dvb_usb_media_device_unregister()
138 media_device_unregister(adap->dvb_adap.mdev); dvb_usb_media_device_unregister()
139 kfree(adap->dvb_adap.mdev); dvb_usb_media_device_unregister()
140 adap->dvb_adap.mdev = NULL; dvb_usb_media_device_unregister()
144 int dvb_usb_adapter_dvb_init(struct dvb_usb_adapter *adap, short *adapter_nums) dvb_usb_adapter_dvb_init() argument
147 int ret = dvb_register_adapter(&adap->dvb_adap, adap->dev->desc->name, dvb_usb_adapter_dvb_init()
148 adap->dev->owner, &adap->dev->udev->dev, dvb_usb_adapter_dvb_init()
155 adap->dvb_adap.priv = adap; dvb_usb_adapter_dvb_init()
157 dvb_usb_media_device_register(adap); dvb_usb_adapter_dvb_init()
159 if (adap->dev->props.read_mac_address) { dvb_usb_adapter_dvb_init()
160 if (adap->dev->props.read_mac_address(adap->dev, adap->dvb_adap.proposed_mac) == 0) dvb_usb_adapter_dvb_init()
161 info("MAC address: %pM", adap->dvb_adap.proposed_mac); dvb_usb_adapter_dvb_init()
167 adap->demux.dmx.capabilities = DMX_TS_FILTERING | DMX_SECTION_FILTERING; dvb_usb_adapter_dvb_init()
168 adap->demux.priv = adap; dvb_usb_adapter_dvb_init()
170 adap->demux.filternum = 0; dvb_usb_adapter_dvb_init()
171 for (i = 0; i < adap->props.num_frontends; i++) { dvb_usb_adapter_dvb_init()
172 if (adap->demux.filternum < adap->fe_adap[i].max_feed_count) dvb_usb_adapter_dvb_init()
173 adap->demux.filternum = adap->fe_adap[i].max_feed_count; dvb_usb_adapter_dvb_init()
175 adap->demux.feednum = adap->demux.filternum; dvb_usb_adapter_dvb_init()
176 adap->demux.start_feed = dvb_usb_start_feed; dvb_usb_adapter_dvb_init()
177 adap->demux.stop_feed = dvb_usb_stop_feed; dvb_usb_adapter_dvb_init()
178 adap->demux.write_to_decoder = NULL; dvb_usb_adapter_dvb_init()
179 if ((ret = dvb_dmx_init(&adap->demux)) < 0) { dvb_usb_adapter_dvb_init()
184 adap->dmxdev.filternum = adap->demux.filternum; dvb_usb_adapter_dvb_init()
185 adap->dmxdev.demux = &adap->demux.dmx; dvb_usb_adapter_dvb_init()
186 adap->dmxdev.capabilities = 0; dvb_usb_adapter_dvb_init()
187 if ((ret = dvb_dmxdev_init(&adap->dmxdev, &adap->dvb_adap)) < 0) { dvb_usb_adapter_dvb_init()
192 if ((ret = dvb_net_init(&adap->dvb_adap, &adap->dvb_net, dvb_usb_adapter_dvb_init()
193 &adap->demux.dmx)) < 0) { dvb_usb_adapter_dvb_init()
198 adap->state |= DVB_USB_ADAP_STATE_DVB; dvb_usb_adapter_dvb_init()
202 dvb_dmxdev_release(&adap->dmxdev); dvb_usb_adapter_dvb_init()
204 dvb_dmx_release(&adap->demux); dvb_usb_adapter_dvb_init()
206 dvb_usb_media_device_unregister(adap); dvb_usb_adapter_dvb_init()
207 dvb_unregister_adapter(&adap->dvb_adap); dvb_usb_adapter_dvb_init()
212 int dvb_usb_adapter_dvb_exit(struct dvb_usb_adapter *adap) dvb_usb_adapter_dvb_exit() argument
214 if (adap->state & DVB_USB_ADAP_STATE_DVB) { dvb_usb_adapter_dvb_exit()
216 dvb_net_release(&adap->dvb_net); dvb_usb_adapter_dvb_exit()
217 adap->demux.dmx.close(&adap->demux.dmx); dvb_usb_adapter_dvb_exit()
218 dvb_dmxdev_release(&adap->dmxdev); dvb_usb_adapter_dvb_exit()
219 dvb_dmx_release(&adap->demux); dvb_usb_adapter_dvb_exit()
220 dvb_usb_media_device_unregister(adap); dvb_usb_adapter_dvb_exit()
221 dvb_unregister_adapter(&adap->dvb_adap); dvb_usb_adapter_dvb_exit()
222 adap->state &= ~DVB_USB_ADAP_STATE_DVB; dvb_usb_adapter_dvb_exit()
229 struct dvb_usb_adapter *adap = fe->dvb->priv; dvb_usb_set_active_fe() local
231 int ret = (adap->props.frontend_ctrl) ? dvb_usb_set_active_fe()
232 adap->props.frontend_ctrl(fe, onoff) : 0; dvb_usb_set_active_fe()
239 adap->active_fe = fe->id; dvb_usb_set_active_fe()
246 struct dvb_usb_adapter *adap = fe->dvb->priv; dvb_usb_fe_wakeup() local
248 dvb_usb_device_power_ctrl(adap->dev, 1); dvb_usb_fe_wakeup()
252 if (adap->fe_adap[fe->id].fe_init) dvb_usb_fe_wakeup()
253 adap->fe_adap[fe->id].fe_init(fe); dvb_usb_fe_wakeup()
260 struct dvb_usb_adapter *adap = fe->dvb->priv; dvb_usb_fe_sleep() local
262 if (adap->fe_adap[fe->id].fe_sleep) dvb_usb_fe_sleep()
263 adap->fe_adap[fe->id].fe_sleep(fe); dvb_usb_fe_sleep()
267 return dvb_usb_device_power_ctrl(adap->dev, 0); dvb_usb_fe_sleep()
270 int dvb_usb_adapter_frontend_init(struct dvb_usb_adapter *adap) dvb_usb_adapter_frontend_init() argument
275 for (i = 0; i < adap->props.num_frontends; i++) { dvb_usb_adapter_frontend_init()
277 if (adap->props.fe[i].frontend_attach == NULL) { dvb_usb_adapter_frontend_init()
280 adap->dev->desc->name, adap->id, i); dvb_usb_adapter_frontend_init()
285 ret = adap->props.fe[i].frontend_attach(adap); dvb_usb_adapter_frontend_init()
286 if (ret || adap->fe_adap[i].fe == NULL) { dvb_usb_adapter_frontend_init()
290 adap->dev->desc->name); dvb_usb_adapter_frontend_init()
295 adap->fe_adap[i].fe->id = i; dvb_usb_adapter_frontend_init()
298 adap->fe_adap[i].fe_init = adap->fe_adap[i].fe->ops.init; dvb_usb_adapter_frontend_init()
299 adap->fe_adap[i].fe->ops.init = dvb_usb_fe_wakeup; dvb_usb_adapter_frontend_init()
300 adap->fe_adap[i].fe_sleep = adap->fe_adap[i].fe->ops.sleep; dvb_usb_adapter_frontend_init()
301 adap->fe_adap[i].fe->ops.sleep = dvb_usb_fe_sleep; dvb_usb_adapter_frontend_init()
303 if (dvb_register_frontend(&adap->dvb_adap, adap->fe_adap[i].fe)) { dvb_usb_adapter_frontend_init()
305 dvb_frontend_detach(adap->fe_adap[i].fe); dvb_usb_adapter_frontend_init()
306 adap->fe_adap[i].fe = NULL; dvb_usb_adapter_frontend_init()
316 if (adap->props.fe[i].tuner_attach != NULL) dvb_usb_adapter_frontend_init()
317 adap->props.fe[i].tuner_attach(adap); dvb_usb_adapter_frontend_init()
319 adap->num_frontends_initialized++; dvb_usb_adapter_frontend_init()
322 dvb_create_media_graph(&adap->dvb_adap); dvb_usb_adapter_frontend_init()
327 int dvb_usb_adapter_frontend_exit(struct dvb_usb_adapter *adap) dvb_usb_adapter_frontend_exit() argument
329 int i = adap->num_frontends_initialized - 1; dvb_usb_adapter_frontend_exit()
333 if (adap->fe_adap[i].fe != NULL) { dvb_usb_adapter_frontend_exit()
334 dvb_unregister_frontend(adap->fe_adap[i].fe); dvb_usb_adapter_frontend_exit()
335 dvb_frontend_detach(adap->fe_adap[i].fe); dvb_usb_adapter_frontend_exit()
338 adap->num_frontends_initialized = 0; dvb_usb_adapter_frontend_exit()
H A Ddvb-usb-urb.c71 struct dvb_usb_adapter *adap = stream->user_priv; dvb_usb_data_complete() local
72 if (adap->feedcount > 0 && adap->state & DVB_USB_ADAP_STATE_DVB) dvb_usb_data_complete()
73 dvb_dmx_swfilter(&adap->demux, buffer, length); dvb_usb_data_complete()
78 struct dvb_usb_adapter *adap = stream->user_priv; dvb_usb_data_complete_204() local
79 if (adap->feedcount > 0 && adap->state & DVB_USB_ADAP_STATE_DVB) dvb_usb_data_complete_204()
80 dvb_dmx_swfilter_204(&adap->demux, buffer, length); dvb_usb_data_complete_204()
86 struct dvb_usb_adapter *adap = stream->user_priv; dvb_usb_data_complete_raw() local
87 if (adap->feedcount > 0 && adap->state & DVB_USB_ADAP_STATE_DVB) dvb_usb_data_complete_raw()
88 dvb_dmx_swfilter_raw(&adap->demux, buffer, length); dvb_usb_data_complete_raw()
91 int dvb_usb_adapter_stream_init(struct dvb_usb_adapter *adap) dvb_usb_adapter_stream_init() argument
94 for (i = 0; i < adap->props.num_frontends; i++) { dvb_usb_adapter_stream_init()
96 adap->fe_adap[i].stream.udev = adap->dev->udev; dvb_usb_adapter_stream_init()
97 if (adap->props.fe[i].caps & DVB_USB_ADAP_RECEIVES_204_BYTE_TS) dvb_usb_adapter_stream_init()
98 adap->fe_adap[i].stream.complete = dvb_usb_adapter_stream_init()
101 if (adap->props.fe[i].caps & DVB_USB_ADAP_RECEIVES_RAW_PAYLOAD) dvb_usb_adapter_stream_init()
102 adap->fe_adap[i].stream.complete = dvb_usb_adapter_stream_init()
105 adap->fe_adap[i].stream.complete = dvb_usb_data_complete; dvb_usb_adapter_stream_init()
106 adap->fe_adap[i].stream.user_priv = adap; dvb_usb_adapter_stream_init()
107 ret = usb_urb_init(&adap->fe_adap[i].stream, dvb_usb_adapter_stream_init()
108 &adap->props.fe[i].stream); dvb_usb_adapter_stream_init()
115 int dvb_usb_adapter_stream_exit(struct dvb_usb_adapter *adap) dvb_usb_adapter_stream_exit() argument
118 for (i = 0; i < adap->props.num_frontends; i++) dvb_usb_adapter_stream_exit()
119 usb_urb_exit(&adap->fe_adap[i].stream); dvb_usb_adapter_stream_exit()
H A Ddib0700_devices.c86 static int bristol_frontend_attach(struct dvb_usb_adapter *adap) bristol_frontend_attach() argument
88 struct dib0700_state *st = adap->dev->priv; bristol_frontend_attach()
89 if (adap->id == 0) { bristol_frontend_attach()
90 dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 0); msleep(10); bristol_frontend_attach()
91 dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 1); msleep(10); bristol_frontend_attach()
92 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 0); msleep(10); bristol_frontend_attach()
93 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 1); msleep(10); bristol_frontend_attach()
96 dib0700_set_gpio(adap->dev, GPIO0, GPIO_OUT, 1); bristol_frontend_attach()
98 dib0700_set_gpio(adap->dev, GPIO0, GPIO_OUT, 0); bristol_frontend_attach()
100 if (dib3000mc_i2c_enumeration(&adap->dev->i2c_adap, 2, DEFAULT_DIB3000P_I2C_ADDRESS, bristol_dib3000mc_config) != 0) { bristol_frontend_attach()
101 dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 0); msleep(10); bristol_frontend_attach()
105 st->mt2060_if1[adap->id] = 1220; bristol_frontend_attach()
106 return (adap->fe_adap[0].fe = dvb_attach(dib3000mc_attach, &adap->dev->i2c_adap, bristol_frontend_attach()
107 (10 + adap->id) << 1, &bristol_dib3000mc_config[adap->id])) == NULL ? -ENODEV : 0; bristol_frontend_attach()
110 static int eeprom_read(struct i2c_adapter *adap,u8 adrs,u8 *pval) eeprom_read() argument
116 if (i2c_transfer(adap, msg, 2) != 2) return -EREMOTEIO; eeprom_read()
120 static int bristol_tuner_attach(struct dvb_usb_adapter *adap) bristol_tuner_attach() argument
122 struct i2c_adapter *prim_i2c = &adap->dev->i2c_adap; bristol_tuner_attach()
123 struct i2c_adapter *tun_i2c = dib3000mc_get_tuner_i2c_master(adap->fe_adap[0].fe, 1); bristol_tuner_attach()
126 if (adap->dev->udev->descriptor.idVendor == cpu_to_le16(USB_VID_HAUPPAUGE) && bristol_tuner_attach()
127 adap->dev->udev->descriptor.idProduct == cpu_to_le16(USB_PID_HAUPPAUGE_NOVA_T_500_2)) { bristol_tuner_attach()
128 if (!eeprom_read(prim_i2c,0x59 + adap->id,&a)) if1=1220+a; bristol_tuner_attach()
130 return dvb_attach(mt2060_attach, adap->fe_adap[0].fe, tun_i2c, bristol_tuner_attach()
131 &bristol_mt2060_config[adap->id], if1) == NULL ? bristol_tuner_attach()
274 static int stk7700P2_frontend_attach(struct dvb_usb_adapter *adap) stk7700P2_frontend_attach() argument
276 struct dib0700_adapter_state *state = adap->priv; stk7700P2_frontend_attach()
281 if (adap->id == 0) { stk7700P2_frontend_attach()
282 dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 1); stk7700P2_frontend_attach()
284 dib0700_set_gpio(adap->dev, GPIO9, GPIO_OUT, 1); stk7700P2_frontend_attach()
285 dib0700_set_gpio(adap->dev, GPIO4, GPIO_OUT, 1); stk7700P2_frontend_attach()
286 dib0700_set_gpio(adap->dev, GPIO7, GPIO_OUT, 1); stk7700P2_frontend_attach()
287 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 0); stk7700P2_frontend_attach()
289 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 1); stk7700P2_frontend_attach()
291 if (state->dib7000p_ops.i2c_enumeration(&adap->dev->i2c_adap, 1, 18, stk7700P2_frontend_attach()
300 adap->fe_adap[0].fe = state->dib7000p_ops.init(&adap->dev->i2c_adap, stk7700P2_frontend_attach()
301 0x80 + (adap->id << 1), stk7700P2_frontend_attach()
302 &stk7700d_dib7000p_mt2266_config[adap->id]); stk7700P2_frontend_attach()
304 return adap->fe_adap[0].fe == NULL ? -ENODEV : 0; stk7700P2_frontend_attach()
307 static int stk7700d_frontend_attach(struct dvb_usb_adapter *adap) stk7700d_frontend_attach() argument
309 struct dib0700_adapter_state *state = adap->priv; stk7700d_frontend_attach()
314 if (adap->id == 0) { stk7700d_frontend_attach()
315 dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 1); stk7700d_frontend_attach()
317 dib0700_set_gpio(adap->dev, GPIO9, GPIO_OUT, 1); stk7700d_frontend_attach()
318 dib0700_set_gpio(adap->dev, GPIO4, GPIO_OUT, 1); stk7700d_frontend_attach()
319 dib0700_set_gpio(adap->dev, GPIO7, GPIO_OUT, 1); stk7700d_frontend_attach()
320 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 0); stk7700d_frontend_attach()
322 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 1); stk7700d_frontend_attach()
324 dib0700_set_gpio(adap->dev, GPIO0, GPIO_OUT, 1); stk7700d_frontend_attach()
325 if (state->dib7000p_ops.i2c_enumeration(&adap->dev->i2c_adap, 2, 18, stk7700d_frontend_attach()
334 adap->fe_adap[0].fe = state->dib7000p_ops.init(&adap->dev->i2c_adap, stk7700d_frontend_attach()
335 0x80 + (adap->id << 1), stk7700d_frontend_attach()
336 &stk7700d_dib7000p_mt2266_config[adap->id]); stk7700d_frontend_attach()
338 return adap->fe_adap[0].fe == NULL ? -ENODEV : 0; stk7700d_frontend_attach()
341 static int stk7700d_tuner_attach(struct dvb_usb_adapter *adap) stk7700d_tuner_attach() argument
344 struct dib0700_adapter_state *state = adap->priv; stk7700d_tuner_attach()
346 tun_i2c = state->dib7000p_ops.get_i2c_master(adap->fe_adap[0].fe, stk7700d_tuner_attach()
348 return dvb_attach(mt2266_attach, adap->fe_adap[0].fe, tun_i2c, stk7700d_tuner_attach()
349 &stk7700d_mt2266_config[adap->id]) == NULL ? -ENODEV : 0; stk7700d_tuner_attach()
423 struct dvb_usb_adapter *adap = ptr; stk7700ph_xc3028_callback() local
424 struct dib0700_adapter_state *state = adap->priv; stk7700ph_xc3028_callback()
429 state->dib7000p_ops.set_gpio(adap->fe_adap[0].fe, 8, 0, 0); stk7700ph_xc3028_callback()
431 state->dib7000p_ops.set_gpio(adap->fe_adap[0].fe, 8, 0, 1); stk7700ph_xc3028_callback()
454 static int stk7700ph_frontend_attach(struct dvb_usb_adapter *adap) stk7700ph_frontend_attach() argument
456 struct usb_device_descriptor *desc = &adap->dev->udev->descriptor; stk7700ph_frontend_attach()
457 struct dib0700_adapter_state *state = adap->priv; stk7700ph_frontend_attach()
464 dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 0); stk7700ph_frontend_attach()
466 dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 1); stk7700ph_frontend_attach()
468 dib0700_set_gpio(adap->dev, GPIO9, GPIO_OUT, 1); stk7700ph_frontend_attach()
469 dib0700_set_gpio(adap->dev, GPIO4, GPIO_OUT, 1); stk7700ph_frontend_attach()
470 dib0700_set_gpio(adap->dev, GPIO7, GPIO_OUT, 1); stk7700ph_frontend_attach()
471 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 0); stk7700ph_frontend_attach()
473 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 1); stk7700ph_frontend_attach()
475 dib0700_set_gpio(adap->dev, GPIO0, GPIO_OUT, 1); stk7700ph_frontend_attach()
478 if (state->dib7000p_ops.i2c_enumeration(&adap->dev->i2c_adap, 1, 18, stk7700ph_frontend_attach()
486 adap->fe_adap[0].fe = state->dib7000p_ops.init(&adap->dev->i2c_adap, 0x80, stk7700ph_frontend_attach()
489 return adap->fe_adap[0].fe == NULL ? -ENODEV : 0; stk7700ph_frontend_attach()
492 static int stk7700ph_tuner_attach(struct dvb_usb_adapter *adap) stk7700ph_tuner_attach() argument
495 struct dib0700_adapter_state *state = adap->priv; stk7700ph_tuner_attach()
497 tun_i2c = state->dib7000p_ops.get_i2c_master(adap->fe_adap[0].fe, stk7700ph_tuner_attach()
503 adap->fe_adap[0].fe->callback = stk7700ph_xc3028_callback; stk7700ph_tuner_attach()
505 return dvb_attach(xc2028_attach, adap->fe_adap[0].fe, &stk7700ph_xc3028_config) stk7700ph_tuner_attach()
700 static int stk7700p_frontend_attach(struct dvb_usb_adapter *adap) stk7700p_frontend_attach() argument
702 struct dib0700_state *st = adap->dev->priv; stk7700p_frontend_attach()
703 struct dib0700_adapter_state *state = adap->priv; stk7700p_frontend_attach()
710 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 0); stk7700p_frontend_attach()
711 dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 0); msleep(50); stk7700p_frontend_attach()
713 dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 1); msleep(10); stk7700p_frontend_attach()
714 dib0700_set_gpio(adap->dev, GPIO9, GPIO_OUT, 1); stk7700p_frontend_attach()
716 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 0); msleep(10); stk7700p_frontend_attach()
717 dib0700_ctrl_clock(adap->dev, 72, 1); stk7700p_frontend_attach()
718 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 1); msleep(100); stk7700p_frontend_attach()
720 dib0700_set_gpio(adap->dev, GPIO0, GPIO_OUT, 1); stk7700p_frontend_attach()
724 if (state->dib7000p_ops.dib7000pc_detection(&adap->dev->i2c_adap)) { stk7700p_frontend_attach()
725 adap->fe_adap[0].fe = state->dib7000p_ops.init(&adap->dev->i2c_adap, 18, &stk7700p_dib7000p_config); stk7700p_frontend_attach()
729 adap->fe_adap[0].fe = dvb_attach(dib7000m_attach, &adap->dev->i2c_adap, 18, &stk7700p_dib7000m_config); stk7700p_frontend_attach()
732 return adap->fe_adap[0].fe == NULL ? -ENODEV : 0; stk7700p_frontend_attach()
739 static int stk7700p_tuner_attach(struct dvb_usb_adapter *adap) stk7700p_tuner_attach() argument
741 struct i2c_adapter *prim_i2c = &adap->dev->i2c_adap; stk7700p_tuner_attach()
742 struct dib0700_state *st = adap->dev->priv; stk7700p_tuner_attach()
744 struct dib0700_adapter_state *state = adap->priv; stk7700p_tuner_attach()
748 if (adap->dev->udev->descriptor.idVendor == cpu_to_le16(USB_VID_HAUPPAUGE) && stk7700p_tuner_attach()
749 adap->dev->udev->descriptor.idProduct == cpu_to_le16(USB_PID_HAUPPAUGE_NOVA_T_STICK)) { stk7700p_tuner_attach()
753 tun_i2c = state->dib7000p_ops.get_i2c_master(adap->fe_adap[0].fe, DIBX000_I2C_INTERFACE_TUNER, 1); stk7700p_tuner_attach()
755 tun_i2c = dib7000m_get_i2c_master(adap->fe_adap[0].fe, DIBX000_I2C_INTERFACE_TUNER, 1); stk7700p_tuner_attach()
757 return dvb_attach(mt2060_attach, adap->fe_adap[0].fe, tun_i2c, &stk7700p_mt2060_config, stk7700p_tuner_attach()
797 struct dvb_usb_adapter *adap = fe->dvb->priv; dib7070_tuner_reset() local
798 struct dib0700_adapter_state *state = adap->priv; dib7070_tuner_reset()
806 struct dvb_usb_adapter *adap = fe->dvb->priv; dib7070_tuner_sleep() local
807 struct dib0700_adapter_state *state = adap->priv; dib7070_tuner_sleep()
843 struct dvb_usb_adapter *adap = fe->dvb->priv; dib7070_set_param_override() local
844 struct dib0700_adapter_state *state = adap->priv; dib7070_set_param_override()
861 struct dvb_usb_adapter *adap = fe->dvb->priv; dib7770_set_param_override() local
862 struct dib0700_adapter_state *state = adap->priv; dib7770_set_param_override()
882 static int dib7770p_tuner_attach(struct dvb_usb_adapter *adap) dib7770p_tuner_attach() argument
884 struct dib0700_adapter_state *st = adap->priv; dib7770p_tuner_attach()
885 struct i2c_adapter *tun_i2c = st->dib7000p_ops.get_i2c_master(adap->fe_adap[0].fe, dib7770p_tuner_attach()
888 if (dvb_attach(dib0070_attach, adap->fe_adap[0].fe, tun_i2c, dib7770p_tuner_attach()
892 st->set_param_save = adap->fe_adap[0].fe->ops.tuner_ops.set_params; dib7770p_tuner_attach()
893 adap->fe_adap[0].fe->ops.tuner_ops.set_params = dib7770_set_param_override; dib7770p_tuner_attach()
897 static int dib7070p_tuner_attach(struct dvb_usb_adapter *adap) dib7070p_tuner_attach() argument
899 struct dib0700_adapter_state *st = adap->priv; dib7070p_tuner_attach()
900 struct i2c_adapter *tun_i2c = st->dib7000p_ops.get_i2c_master(adap->fe_adap[0].fe, DIBX000_I2C_INTERFACE_TUNER, 1); dib7070p_tuner_attach()
902 if (adap->id == 0) { dib7070p_tuner_attach()
903 if (dvb_attach(dib0070_attach, adap->fe_adap[0].fe, tun_i2c, &dib7070p_dib0070_config[0]) == NULL) dib7070p_tuner_attach()
906 if (dvb_attach(dib0070_attach, adap->fe_adap[0].fe, tun_i2c, &dib7070p_dib0070_config[1]) == NULL) dib7070p_tuner_attach()
910 st->set_param_save = adap->fe_adap[0].fe->ops.tuner_ops.set_params; dib7070p_tuner_attach()
911 adap->fe_adap[0].fe->ops.tuner_ops.set_params = dib7070_set_param_override; dib7070p_tuner_attach()
983 static int stk7070p_frontend_attach(struct dvb_usb_adapter *adap) stk7070p_frontend_attach() argument
985 struct usb_device_descriptor *p = &adap->dev->udev->descriptor; stk7070p_frontend_attach()
986 struct dib0700_adapter_state *state = adap->priv; stk7070p_frontend_attach()
993 dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 0); stk7070p_frontend_attach()
995 dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 1); stk7070p_frontend_attach()
997 dib0700_set_gpio(adap->dev, GPIO9, GPIO_OUT, 1); stk7070p_frontend_attach()
998 dib0700_set_gpio(adap->dev, GPIO4, GPIO_OUT, 1); stk7070p_frontend_attach()
999 dib0700_set_gpio(adap->dev, GPIO7, GPIO_OUT, 1); stk7070p_frontend_attach()
1000 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 0); stk7070p_frontend_attach()
1002 dib0700_ctrl_clock(adap->dev, 72, 1); stk7070p_frontend_attach()
1005 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 1); stk7070p_frontend_attach()
1007 dib0700_set_gpio(adap->dev, GPIO0, GPIO_OUT, 1); stk7070p_frontend_attach()
1009 if (state->dib7000p_ops.i2c_enumeration(&adap->dev->i2c_adap, 1, 18, stk7070p_frontend_attach()
1017 adap->fe_adap[0].fe = state->dib7000p_ops.init(&adap->dev->i2c_adap, 0x80, stk7070p_frontend_attach()
1019 return adap->fe_adap[0].fe == NULL ? -ENODEV : 0; stk7070p_frontend_attach()
1041 static int stk7770p_frontend_attach(struct dvb_usb_adapter *adap) stk7770p_frontend_attach() argument
1043 struct usb_device_descriptor *p = &adap->dev->udev->descriptor; stk7770p_frontend_attach()
1044 struct dib0700_adapter_state *state = adap->priv; stk7770p_frontend_attach()
1051 dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 0); stk7770p_frontend_attach()
1053 dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 1); stk7770p_frontend_attach()
1055 dib0700_set_gpio(adap->dev, GPIO9, GPIO_OUT, 1); stk7770p_frontend_attach()
1056 dib0700_set_gpio(adap->dev, GPIO4, GPIO_OUT, 1); stk7770p_frontend_attach()
1057 dib0700_set_gpio(adap->dev, GPIO7, GPIO_OUT, 1); stk7770p_frontend_attach()
1058 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 0); stk7770p_frontend_attach()
1060 dib0700_ctrl_clock(adap->dev, 72, 1); stk7770p_frontend_attach()
1063 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 1); stk7770p_frontend_attach()
1065 dib0700_set_gpio(adap->dev, GPIO0, GPIO_OUT, 1); stk7770p_frontend_attach()
1067 if (state->dib7000p_ops.i2c_enumeration(&adap->dev->i2c_adap, 1, 18, stk7770p_frontend_attach()
1075 adap->fe_adap[0].fe = state->dib7000p_ops.init(&adap->dev->i2c_adap, 0x80, stk7770p_frontend_attach()
1077 return adap->fe_adap[0].fe == NULL ? -ENODEV : 0; stk7770p_frontend_attach()
1231 struct dvb_usb_adapter *adap = fe->dvb->priv; dib80xx_tuner_reset() local
1232 struct dib0700_adapter_state *state = adap->priv; dib80xx_tuner_reset()
1239 struct dvb_usb_adapter *adap = fe->dvb->priv; dib80xx_tuner_sleep() local
1240 struct dib0700_adapter_state *state = adap->priv; dib80xx_tuner_sleep()
1285 struct dvb_usb_adapter *adap = fe->dvb->priv; dib807x_set_param_override() local
1286 struct dib0700_adapter_state *state = adap->priv; dib807x_set_param_override()
1304 static int dib807x_tuner_attach(struct dvb_usb_adapter *adap) dib807x_tuner_attach() argument
1306 struct dib0700_adapter_state *st = adap->priv; dib807x_tuner_attach()
1307 struct i2c_adapter *tun_i2c = st->dib8000_ops.get_i2c_master(adap->fe_adap[0].fe, dib807x_tuner_attach()
1310 if (adap->id == 0) { dib807x_tuner_attach()
1311 if (dvb_attach(dib0070_attach, adap->fe_adap[0].fe, tun_i2c, dib807x_tuner_attach()
1315 if (dvb_attach(dib0070_attach, adap->fe_adap[0].fe, tun_i2c, dib807x_tuner_attach()
1320 st->set_param_save = adap->fe_adap[0].fe->ops.tuner_ops.set_params; dib807x_tuner_attach()
1321 adap->fe_adap[0].fe->ops.tuner_ops.set_params = dib807x_set_param_override; dib807x_tuner_attach()
1342 static int stk807x_frontend_attach(struct dvb_usb_adapter *adap) stk807x_frontend_attach() argument
1344 struct dib0700_adapter_state *state = adap->priv; stk807x_frontend_attach()
1349 dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 1); stk807x_frontend_attach()
1351 dib0700_set_gpio(adap->dev, GPIO9, GPIO_OUT, 1); stk807x_frontend_attach()
1352 dib0700_set_gpio(adap->dev, GPIO4, GPIO_OUT, 1); stk807x_frontend_attach()
1353 dib0700_set_gpio(adap->dev, GPIO7, GPIO_OUT, 1); stk807x_frontend_attach()
1355 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 0); stk807x_frontend_attach()
1357 dib0700_ctrl_clock(adap->dev, 72, 1); stk807x_frontend_attach()
1360 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 1); stk807x_frontend_attach()
1362 dib0700_set_gpio(adap->dev, GPIO0, GPIO_OUT, 1); stk807x_frontend_attach()
1364 state->dib8000_ops.i2c_enumeration(&adap->dev->i2c_adap, 1, 18, stk807x_frontend_attach()
1367 adap->fe_adap[0].fe = state->dib8000_ops.init(&adap->dev->i2c_adap, 0x80, stk807x_frontend_attach()
1370 return adap->fe_adap[0].fe == NULL ? -ENODEV : 0; stk807x_frontend_attach()
1374 static int stk807xpvr_frontend_attach0(struct dvb_usb_adapter *adap) stk807xpvr_frontend_attach0() argument
1376 struct dib0700_adapter_state *state = adap->priv; stk807xpvr_frontend_attach0()
1381 dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 0); stk807xpvr_frontend_attach0()
1383 dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 1); stk807xpvr_frontend_attach0()
1385 dib0700_set_gpio(adap->dev, GPIO9, GPIO_OUT, 1); stk807xpvr_frontend_attach0()
1386 dib0700_set_gpio(adap->dev, GPIO4, GPIO_OUT, 1); stk807xpvr_frontend_attach0()
1387 dib0700_set_gpio(adap->dev, GPIO7, GPIO_OUT, 1); stk807xpvr_frontend_attach0()
1389 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 0); stk807xpvr_frontend_attach0()
1391 dib0700_ctrl_clock(adap->dev, 72, 1); stk807xpvr_frontend_attach0()
1394 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 1); stk807xpvr_frontend_attach0()
1396 dib0700_set_gpio(adap->dev, GPIO0, GPIO_OUT, 1); stk807xpvr_frontend_attach0()
1399 state->dib8000_ops.i2c_enumeration(&adap->dev->i2c_adap, 1, 0x22, 0x80, 0); stk807xpvr_frontend_attach0()
1401 adap->fe_adap[0].fe = state->dib8000_ops.init(&adap->dev->i2c_adap, 0x80, stk807xpvr_frontend_attach0()
1404 return adap->fe_adap[0].fe == NULL ? -ENODEV : 0; stk807xpvr_frontend_attach0()
1407 static int stk807xpvr_frontend_attach1(struct dvb_usb_adapter *adap) stk807xpvr_frontend_attach1() argument
1409 struct dib0700_adapter_state *state = adap->priv; stk807xpvr_frontend_attach1()
1415 state->dib8000_ops.i2c_enumeration(&adap->dev->i2c_adap, 1, 0x12, 0x82, 0); stk807xpvr_frontend_attach1()
1417 adap->fe_adap[0].fe = state->dib8000_ops.init(&adap->dev->i2c_adap, 0x82, stk807xpvr_frontend_attach1()
1420 return adap->fe_adap[0].fe == NULL ? -ENODEV : 0; stk807xpvr_frontend_attach1()
1537 struct dvb_usb_adapter *adap = fe->dvb->priv; dib8090_get_adc_power() local
1538 struct dib0700_adapter_state *state = adap->priv; dib8090_get_adc_power()
1651 struct dvb_usb_adapter *adap = fe->dvb->priv; dib8096_set_param_override() local
1652 struct dib0700_adapter_state *state = adap->priv; dib8096_set_param_override()
1734 static int dib809x_tuner_attach(struct dvb_usb_adapter *adap) dib809x_tuner_attach() argument
1736 struct dib0700_adapter_state *st = adap->priv; dib809x_tuner_attach()
1737 struct i2c_adapter *tun_i2c = st->dib8000_ops.get_i2c_master(adap->fe_adap[0].fe, DIBX000_I2C_INTERFACE_TUNER, 1); dib809x_tuner_attach()
1739 if (dvb_attach(dib0090_register, adap->fe_adap[0].fe, tun_i2c, &dib809x_dib0090_config) == NULL) dib809x_tuner_attach()
1742 st->set_param_save = adap->fe_adap[0].fe->ops.tuner_ops.set_params; dib809x_tuner_attach()
1743 adap->fe_adap[0].fe->ops.tuner_ops.set_params = dib8096_set_param_override; dib809x_tuner_attach()
1747 static int stk809x_frontend_attach(struct dvb_usb_adapter *adap) stk809x_frontend_attach() argument
1749 struct dib0700_adapter_state *state = adap->priv; stk809x_frontend_attach()
1754 dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 1); stk809x_frontend_attach()
1756 dib0700_set_gpio(adap->dev, GPIO9, GPIO_OUT, 1); stk809x_frontend_attach()
1757 dib0700_set_gpio(adap->dev, GPIO4, GPIO_OUT, 1); stk809x_frontend_attach()
1758 dib0700_set_gpio(adap->dev, GPIO7, GPIO_OUT, 1); stk809x_frontend_attach()
1760 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 0); stk809x_frontend_attach()
1762 dib0700_ctrl_clock(adap->dev, 72, 1); stk809x_frontend_attach()
1765 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 1); stk809x_frontend_attach()
1767 dib0700_set_gpio(adap->dev, GPIO0, GPIO_OUT, 1); stk809x_frontend_attach()
1769 state->dib8000_ops.i2c_enumeration(&adap->dev->i2c_adap, 1, 18, 0x80, 0); stk809x_frontend_attach()
1771 adap->fe_adap[0].fe = state->dib8000_ops.init(&adap->dev->i2c_adap, 0x80, &dib809x_dib8000_config[0]); stk809x_frontend_attach()
1773 return adap->fe_adap[0].fe == NULL ? -ENODEV : 0; stk809x_frontend_attach()
1776 static int nim8096md_tuner_attach(struct dvb_usb_adapter *adap) nim8096md_tuner_attach() argument
1778 struct dib0700_adapter_state *st = adap->priv; nim8096md_tuner_attach()
1780 struct dvb_frontend *fe_slave = st->dib8000_ops.get_slave_frontend(adap->fe_adap[0].fe, 1); nim8096md_tuner_attach()
1786 fe_slave->dvb = adap->fe_adap[0].fe->dvb; nim8096md_tuner_attach()
1789 tun_i2c = st->dib8000_ops.get_i2c_master(adap->fe_adap[0].fe, DIBX000_I2C_INTERFACE_TUNER, 1); nim8096md_tuner_attach()
1790 if (dvb_attach(dib0090_register, adap->fe_adap[0].fe, tun_i2c, &dib809x_dib0090_config) == NULL) nim8096md_tuner_attach()
1793 st->set_param_save = adap->fe_adap[0].fe->ops.tuner_ops.set_params; nim8096md_tuner_attach()
1794 adap->fe_adap[0].fe->ops.tuner_ops.set_params = dib8096_set_param_override; nim8096md_tuner_attach()
1799 static int nim8096md_frontend_attach(struct dvb_usb_adapter *adap) nim8096md_frontend_attach() argument
1802 struct dib0700_adapter_state *state = adap->priv; nim8096md_frontend_attach()
1807 dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 0); nim8096md_frontend_attach()
1809 dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 1); nim8096md_frontend_attach()
1811 dib0700_set_gpio(adap->dev, GPIO9, GPIO_OUT, 1); nim8096md_frontend_attach()
1812 dib0700_set_gpio(adap->dev, GPIO4, GPIO_OUT, 1); nim8096md_frontend_attach()
1813 dib0700_set_gpio(adap->dev, GPIO7, GPIO_OUT, 1); nim8096md_frontend_attach()
1815 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 0); nim8096md_frontend_attach()
1817 dib0700_ctrl_clock(adap->dev, 72, 1); nim8096md_frontend_attach()
1820 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 1); nim8096md_frontend_attach()
1822 dib0700_set_gpio(adap->dev, GPIO0, GPIO_OUT, 1); nim8096md_frontend_attach()
1824 state->dib8000_ops.i2c_enumeration(&adap->dev->i2c_adap, 2, 18, 0x80, 0); nim8096md_frontend_attach()
1826 adap->fe_adap[0].fe = state->dib8000_ops.init(&adap->dev->i2c_adap, 0x80, &dib809x_dib8000_config[0]); nim8096md_frontend_attach()
1827 if (adap->fe_adap[0].fe == NULL) nim8096md_frontend_attach()
1834 fe_slave = state->dib8000_ops.init(&adap->dev->i2c_adap, 0x82, &dib809x_dib8000_config[1]); nim8096md_frontend_attach()
1835 state->dib8000_ops.set_slave_frontend(adap->fe_adap[0].fe, fe_slave); nim8096md_frontend_attach()
2097 struct dvb_usb_adapter *adap = fe->dvb->priv; dib8096p_agc_startup() local
2098 struct dib0700_adapter_state *state = adap->priv; dib8096p_agc_startup()
2119 dib0700_set_i2c_speed(adap->dev, 200); dib8096p_agc_startup()
2122 dib0700_set_i2c_speed(adap->dev, 1000); dib8096p_agc_startup()
2127 static int tfe8096p_frontend_attach(struct dvb_usb_adapter *adap) tfe8096p_frontend_attach() argument
2129 struct dib0700_state *st = adap->dev->priv; tfe8096p_frontend_attach()
2131 struct dib0700_adapter_state *state = adap->priv; tfe8096p_frontend_attach()
2136 dib0700_get_version(adap->dev, NULL, NULL, &fw_version, NULL); tfe8096p_frontend_attach()
2140 dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 1); tfe8096p_frontend_attach()
2142 dib0700_set_gpio(adap->dev, GPIO9, GPIO_OUT, 1); tfe8096p_frontend_attach()
2143 dib0700_set_gpio(adap->dev, GPIO4, GPIO_OUT, 1); tfe8096p_frontend_attach()
2144 dib0700_set_gpio(adap->dev, GPIO7, GPIO_OUT, 1); tfe8096p_frontend_attach()
2146 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 0); tfe8096p_frontend_attach()
2148 dib0700_ctrl_clock(adap->dev, 72, 1); tfe8096p_frontend_attach()
2151 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 1); tfe8096p_frontend_attach()
2153 dib0700_set_gpio(adap->dev, GPIO0, GPIO_OUT, 1); tfe8096p_frontend_attach()
2155 state->dib8000_ops.i2c_enumeration(&adap->dev->i2c_adap, 1, 0x10, 0x80, 1); tfe8096p_frontend_attach()
2157 adap->fe_adap[0].fe = state->dib8000_ops.init(&adap->dev->i2c_adap, tfe8096p_frontend_attach()
2160 return adap->fe_adap[0].fe == NULL ? -ENODEV : 0; tfe8096p_frontend_attach()
2163 static int tfe8096p_tuner_attach(struct dvb_usb_adapter *adap) tfe8096p_tuner_attach() argument
2165 struct dib0700_adapter_state *st = adap->priv; tfe8096p_tuner_attach()
2166 struct i2c_adapter *tun_i2c = st->dib8000_ops.get_i2c_tuner(adap->fe_adap[0].fe); tfe8096p_tuner_attach()
2172 if (dvb_attach(dib0090_register, adap->fe_adap[0].fe, tun_i2c, tfe8096p_tuner_attach()
2176 st->dib8000_ops.set_gpio(adap->fe_adap[0].fe, 8, 0, 1); tfe8096p_tuner_attach()
2178 st->set_param_save = adap->fe_adap[0].fe->ops.tuner_ops.set_params; tfe8096p_tuner_attach()
2179 adap->fe_adap[0].fe->ops.tuner_ops.set_params = dib8096p_agc_startup; tfe8096p_tuner_attach()
2366 static int stk9090m_frontend_attach(struct dvb_usb_adapter *adap) stk9090m_frontend_attach() argument
2368 struct dib0700_adapter_state *state = adap->priv; stk9090m_frontend_attach()
2369 struct dib0700_state *st = adap->dev->priv; stk9090m_frontend_attach()
2373 dib0700_get_version(adap->dev, NULL, NULL, &fw_version, NULL); stk9090m_frontend_attach()
2376 dib0700_set_i2c_speed(adap->dev, 340); stk9090m_frontend_attach()
2378 dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 1); stk9090m_frontend_attach()
2380 dib0700_set_gpio(adap->dev, GPIO9, GPIO_OUT, 1); stk9090m_frontend_attach()
2381 dib0700_set_gpio(adap->dev, GPIO4, GPIO_OUT, 1); stk9090m_frontend_attach()
2382 dib0700_set_gpio(adap->dev, GPIO7, GPIO_OUT, 1); stk9090m_frontend_attach()
2383 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 0); stk9090m_frontend_attach()
2385 dib0700_ctrl_clock(adap->dev, 72, 1); stk9090m_frontend_attach()
2388 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 1); stk9090m_frontend_attach()
2390 dib0700_set_gpio(adap->dev, GPIO0, GPIO_OUT, 1); stk9090m_frontend_attach()
2392 dib9000_i2c_enumeration(&adap->dev->i2c_adap, 1, 0x10, 0x80); stk9090m_frontend_attach()
2394 if (request_firmware(&state->frontend_firmware, "dib9090.fw", &adap->dev->udev->dev)) { stk9090m_frontend_attach()
2403 adap->fe_adap[0].fe = dvb_attach(dib9000_attach, &adap->dev->i2c_adap, 0x80, &stk9090m_config); stk9090m_frontend_attach()
2405 return adap->fe_adap[0].fe == NULL ? -ENODEV : 0; stk9090m_frontend_attach()
2408 static int dib9090_tuner_attach(struct dvb_usb_adapter *adap) dib9090_tuner_attach() argument
2410 struct dib0700_adapter_state *state = adap->priv; dib9090_tuner_attach()
2411 struct i2c_adapter *i2c = dib9000_get_tuner_interface(adap->fe_adap[0].fe); dib9090_tuner_attach()
2420 if (dvb_attach(dib0090_fw_register, adap->fe_adap[0].fe, i2c, &dib9090_dib0090_config) == NULL) dib9090_tuner_attach()
2422 i2c = dib9000_get_i2c_master(adap->fe_adap[0].fe, DIBX000_I2C_INTERFACE_GPIO_1_2, 0); dib9090_tuner_attach()
2425 dib0700_set_i2c_speed(adap->dev, 1500); dib9090_tuner_attach()
2426 if (dib9000_firmware_post_pll_init(adap->fe_adap[0].fe) < 0) dib9090_tuner_attach()
2432 static int nim9090md_frontend_attach(struct dvb_usb_adapter *adap) nim9090md_frontend_attach() argument
2434 struct dib0700_adapter_state *state = adap->priv; nim9090md_frontend_attach()
2435 struct dib0700_state *st = adap->dev->priv; nim9090md_frontend_attach()
2441 dib0700_get_version(adap->dev, NULL, NULL, &fw_version, NULL); nim9090md_frontend_attach()
2444 dib0700_set_i2c_speed(adap->dev, 340); nim9090md_frontend_attach()
2446 dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 1); nim9090md_frontend_attach()
2448 dib0700_set_gpio(adap->dev, GPIO9, GPIO_OUT, 1); nim9090md_frontend_attach()
2449 dib0700_set_gpio(adap->dev, GPIO4, GPIO_OUT, 1); nim9090md_frontend_attach()
2450 dib0700_set_gpio(adap->dev, GPIO7, GPIO_OUT, 1); nim9090md_frontend_attach()
2451 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 0); nim9090md_frontend_attach()
2453 dib0700_ctrl_clock(adap->dev, 72, 1); nim9090md_frontend_attach()
2456 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 1); nim9090md_frontend_attach()
2458 dib0700_set_gpio(adap->dev, GPIO0, GPIO_OUT, 1); nim9090md_frontend_attach()
2460 if (request_firmware(&state->frontend_firmware, "dib9090.fw", &adap->dev->udev->dev)) { nim9090md_frontend_attach()
2471 dib9000_i2c_enumeration(&adap->dev->i2c_adap, 1, 0x20, 0x80); nim9090md_frontend_attach()
2472 adap->fe_adap[0].fe = dvb_attach(dib9000_attach, &adap->dev->i2c_adap, 0x80, &nim9090md_config[0]); nim9090md_frontend_attach()
2474 if (adap->fe_adap[0].fe == NULL) nim9090md_frontend_attach()
2477 i2c = dib9000_get_i2c_master(adap->fe_adap[0].fe, DIBX000_I2C_INTERFACE_GPIO_3_4, 0); nim9090md_frontend_attach()
2481 dib9000_set_slave_frontend(adap->fe_adap[0].fe, fe_slave); nim9090md_frontend_attach()
2486 static int nim9090md_tuner_attach(struct dvb_usb_adapter *adap) nim9090md_tuner_attach() argument
2488 struct dib0700_adapter_state *state = adap->priv; nim9090md_tuner_attach()
2498 i2c = dib9000_get_tuner_interface(adap->fe_adap[0].fe); nim9090md_tuner_attach()
2499 if (dvb_attach(dib0090_fw_register, adap->fe_adap[0].fe, i2c, &nim9090md_dib0090_config[0]) == NULL) nim9090md_tuner_attach()
2501 i2c = dib9000_get_i2c_master(adap->fe_adap[0].fe, DIBX000_I2C_INTERFACE_GPIO_1_2, 0); nim9090md_tuner_attach()
2505 dib0700_set_i2c_speed(adap->dev, 1500); nim9090md_tuner_attach()
2506 if (dib9000_firmware_post_pll_init(adap->fe_adap[0].fe) < 0) nim9090md_tuner_attach()
2509 fe_slave = dib9000_get_slave_frontend(adap->fe_adap[0].fe, 1); nim9090md_tuner_attach()
2511 i2c = dib9000_get_component_bus_interface(adap->fe_adap[0].fe); nim9090md_tuner_attach()
2517 fe_slave->dvb = adap->fe_adap[0].fe->dvb; nim9090md_tuner_attach()
2518 dib9000_fw_set_component_bus_speed(adap->fe_adap[0].fe, 1500); nim9090md_tuner_attach()
2603 struct dvb_usb_adapter *adap = fe->dvb->priv; dib7090_agc_startup() local
2604 struct dib0700_adapter_state *state = adap->priv; dib7090_agc_startup()
2639 struct dvb_usb_adapter *adap = fe->dvb->priv; tfe7790p_update_lna() local
2640 struct dib0700_adapter_state *state = adap->priv; tfe7790p_update_lna()
2794 struct dvb_usb_adapter *adap = fe->dvb->priv; tfe7090p_pvr_update_lna() local
2795 struct dib0700_adapter_state *state = adap->priv; tfe7090p_pvr_update_lna()
3018 static int nim7090_frontend_attach(struct dvb_usb_adapter *adap) nim7090_frontend_attach() argument
3020 struct dib0700_adapter_state *state = adap->priv; nim7090_frontend_attach()
3025 dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 1); nim7090_frontend_attach()
3027 dib0700_set_gpio(adap->dev, GPIO9, GPIO_OUT, 1); nim7090_frontend_attach()
3028 dib0700_set_gpio(adap->dev, GPIO4, GPIO_OUT, 1); nim7090_frontend_attach()
3029 dib0700_set_gpio(adap->dev, GPIO7, GPIO_OUT, 1); nim7090_frontend_attach()
3030 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 0); nim7090_frontend_attach()
3033 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 1); nim7090_frontend_attach()
3035 dib0700_set_gpio(adap->dev, GPIO0, GPIO_OUT, 1); nim7090_frontend_attach()
3037 if (state->dib7000p_ops.i2c_enumeration(&adap->dev->i2c_adap, 1, 0x10, &nim7090_dib7000p_config) != 0) { nim7090_frontend_attach()
3042 adap->fe_adap[0].fe = state->dib7000p_ops.init(&adap->dev->i2c_adap, 0x80, &nim7090_dib7000p_config); nim7090_frontend_attach()
3044 return adap->fe_adap[0].fe == NULL ? -ENODEV : 0; nim7090_frontend_attach()
3047 static int nim7090_tuner_attach(struct dvb_usb_adapter *adap) nim7090_tuner_attach() argument
3049 struct dib0700_adapter_state *st = adap->priv; nim7090_tuner_attach()
3050 struct i2c_adapter *tun_i2c = st->dib7000p_ops.get_i2c_tuner(adap->fe_adap[0].fe); nim7090_tuner_attach()
3056 if (dvb_attach(dib0090_register, adap->fe_adap[0].fe, tun_i2c, &nim7090_dib0090_config) == NULL) nim7090_tuner_attach()
3059 st->dib7000p_ops.set_gpio(adap->fe_adap[0].fe, 8, 0, 1); nim7090_tuner_attach()
3061 st->set_param_save = adap->fe_adap[0].fe->ops.tuner_ops.set_params; nim7090_tuner_attach()
3062 adap->fe_adap[0].fe->ops.tuner_ops.set_params = dib7090_agc_startup; nim7090_tuner_attach()
3066 static int tfe7090pvr_frontend0_attach(struct dvb_usb_adapter *adap) tfe7090pvr_frontend0_attach() argument
3068 struct dib0700_state *st = adap->dev->priv; tfe7090pvr_frontend0_attach()
3069 struct dib0700_adapter_state *state = adap->priv; tfe7090pvr_frontend0_attach()
3077 dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 1); tfe7090pvr_frontend0_attach()
3079 dib0700_set_gpio(adap->dev, GPIO9, GPIO_OUT, 1); tfe7090pvr_frontend0_attach()
3080 dib0700_set_gpio(adap->dev, GPIO4, GPIO_OUT, 1); tfe7090pvr_frontend0_attach()
3081 dib0700_set_gpio(adap->dev, GPIO7, GPIO_OUT, 1); tfe7090pvr_frontend0_attach()
3082 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 0); tfe7090pvr_frontend0_attach()
3085 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 1); tfe7090pvr_frontend0_attach()
3087 dib0700_set_gpio(adap->dev, GPIO0, GPIO_OUT, 1); tfe7090pvr_frontend0_attach()
3090 if (state->dib7000p_ops.i2c_enumeration(&adap->dev->i2c_adap, 1, 0x20, &tfe7090pvr_dib7000p_config[0]) != 0) { tfe7090pvr_frontend0_attach()
3096 dib0700_set_i2c_speed(adap->dev, 340); tfe7090pvr_frontend0_attach()
3097 adap->fe_adap[0].fe = state->dib7000p_ops.init(&adap->dev->i2c_adap, 0x90, &tfe7090pvr_dib7000p_config[0]); tfe7090pvr_frontend0_attach()
3098 if (adap->fe_adap[0].fe == NULL) tfe7090pvr_frontend0_attach()
3101 state->dib7000p_ops.slave_reset(adap->fe_adap[0].fe); tfe7090pvr_frontend0_attach()
3106 static int tfe7090pvr_frontend1_attach(struct dvb_usb_adapter *adap) tfe7090pvr_frontend1_attach() argument
3109 struct dib0700_adapter_state *state = adap->priv; tfe7090pvr_frontend1_attach()
3111 if (adap->dev->adapter[0].fe_adap[0].fe == NULL) { tfe7090pvr_frontend1_attach()
3119 i2c = state->dib7000p_ops.get_i2c_master(adap->dev->adapter[0].fe_adap[0].fe, DIBX000_I2C_INTERFACE_GPIO_6_7, 1); tfe7090pvr_frontend1_attach()
3126 adap->fe_adap[0].fe = state->dib7000p_ops.init(i2c, 0x92, &tfe7090pvr_dib7000p_config[1]); tfe7090pvr_frontend1_attach()
3127 dib0700_set_i2c_speed(adap->dev, 200); tfe7090pvr_frontend1_attach()
3129 return adap->fe_adap[0].fe == NULL ? -ENODEV : 0; tfe7090pvr_frontend1_attach()
3132 static int tfe7090pvr_tuner0_attach(struct dvb_usb_adapter *adap) tfe7090pvr_tuner0_attach() argument
3134 struct dib0700_adapter_state *st = adap->priv; tfe7090pvr_tuner0_attach()
3135 struct i2c_adapter *tun_i2c = st->dib7000p_ops.get_i2c_tuner(adap->fe_adap[0].fe); tfe7090pvr_tuner0_attach()
3141 if (dvb_attach(dib0090_register, adap->fe_adap[0].fe, tun_i2c, &tfe7090pvr_dib0090_config[0]) == NULL) tfe7090pvr_tuner0_attach()
3144 st->dib7000p_ops.set_gpio(adap->fe_adap[0].fe, 8, 0, 1); tfe7090pvr_tuner0_attach()
3146 st->set_param_save = adap->fe_adap[0].fe->ops.tuner_ops.set_params; tfe7090pvr_tuner0_attach()
3147 adap->fe_adap[0].fe->ops.tuner_ops.set_params = dib7090_agc_startup; tfe7090pvr_tuner0_attach()
3151 static int tfe7090pvr_tuner1_attach(struct dvb_usb_adapter *adap) tfe7090pvr_tuner1_attach() argument
3153 struct dib0700_adapter_state *st = adap->priv; tfe7090pvr_tuner1_attach()
3154 struct i2c_adapter *tun_i2c = st->dib7000p_ops.get_i2c_tuner(adap->fe_adap[0].fe); tfe7090pvr_tuner1_attach()
3160 if (dvb_attach(dib0090_register, adap->fe_adap[0].fe, tun_i2c, &tfe7090pvr_dib0090_config[1]) == NULL) tfe7090pvr_tuner1_attach()
3163 st->dib7000p_ops.set_gpio(adap->fe_adap[0].fe, 8, 0, 1); tfe7090pvr_tuner1_attach()
3165 st->set_param_save = adap->fe_adap[0].fe->ops.tuner_ops.set_params; tfe7090pvr_tuner1_attach()
3166 adap->fe_adap[0].fe->ops.tuner_ops.set_params = dib7090_agc_startup; tfe7090pvr_tuner1_attach()
3170 static int tfe7790p_frontend_attach(struct dvb_usb_adapter *adap) tfe7790p_frontend_attach() argument
3172 struct dib0700_state *st = adap->dev->priv; tfe7790p_frontend_attach()
3173 struct dib0700_adapter_state *state = adap->priv; tfe7790p_frontend_attach()
3181 dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 1); tfe7790p_frontend_attach()
3183 dib0700_set_gpio(adap->dev, GPIO9, GPIO_OUT, 1); tfe7790p_frontend_attach()
3184 dib0700_set_gpio(adap->dev, GPIO4, GPIO_OUT, 1); tfe7790p_frontend_attach()
3185 dib0700_set_gpio(adap->dev, GPIO7, GPIO_OUT, 1); tfe7790p_frontend_attach()
3186 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 0); tfe7790p_frontend_attach()
3188 dib0700_ctrl_clock(adap->dev, 72, 1); tfe7790p_frontend_attach()
3189 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 1); tfe7790p_frontend_attach()
3191 dib0700_set_gpio(adap->dev, GPIO0, GPIO_OUT, 1); tfe7790p_frontend_attach()
3193 if (state->dib7000p_ops.i2c_enumeration(&adap->dev->i2c_adap, tfe7790p_frontend_attach()
3200 adap->fe_adap[0].fe = state->dib7000p_ops.init(&adap->dev->i2c_adap, tfe7790p_frontend_attach()
3203 return adap->fe_adap[0].fe == NULL ? -ENODEV : 0; tfe7790p_frontend_attach()
3206 static int tfe7790p_tuner_attach(struct dvb_usb_adapter *adap) tfe7790p_tuner_attach() argument
3208 struct dib0700_adapter_state *st = adap->priv; tfe7790p_tuner_attach()
3210 st->dib7000p_ops.get_i2c_tuner(adap->fe_adap[0].fe); tfe7790p_tuner_attach()
3217 if (dvb_attach(dib0090_register, adap->fe_adap[0].fe, tun_i2c, tfe7790p_tuner_attach()
3221 st->dib7000p_ops.set_gpio(adap->fe_adap[0].fe, 8, 0, 1); tfe7790p_tuner_attach()
3223 st->set_param_save = adap->fe_adap[0].fe->ops.tuner_ops.set_params; tfe7790p_tuner_attach()
3224 adap->fe_adap[0].fe->ops.tuner_ops.set_params = dib7090_agc_startup; tfe7790p_tuner_attach()
3276 static int stk7070pd_frontend_attach0(struct dvb_usb_adapter *adap) stk7070pd_frontend_attach0() argument
3278 struct dib0700_adapter_state *state = adap->priv; stk7070pd_frontend_attach0()
3283 stk7070pd_init(adap->dev); stk7070pd_frontend_attach0()
3286 dib0700_set_gpio(adap->dev, GPIO0, GPIO_OUT, 1); stk7070pd_frontend_attach0()
3288 if (state->dib7000p_ops.i2c_enumeration(&adap->dev->i2c_adap, 2, 18, stk7070pd_frontend_attach0()
3296 adap->fe_adap[0].fe = state->dib7000p_ops.init(&adap->dev->i2c_adap, 0x80, &stk7070pd_dib7000p_config[0]); stk7070pd_frontend_attach0()
3297 return adap->fe_adap[0].fe == NULL ? -ENODEV : 0; stk7070pd_frontend_attach0()
3300 static int stk7070pd_frontend_attach1(struct dvb_usb_adapter *adap) stk7070pd_frontend_attach1() argument
3302 struct dib0700_adapter_state *state = adap->priv; stk7070pd_frontend_attach1()
3307 adap->fe_adap[0].fe = state->dib7000p_ops.init(&adap->dev->i2c_adap, 0x82, &stk7070pd_dib7000p_config[1]); stk7070pd_frontend_attach1()
3308 return adap->fe_adap[0].fe == NULL ? -ENODEV : 0; stk7070pd_frontend_attach1()
3314 struct dvb_usb_adapter *adap = fe->dvb->priv; novatd_read_status_override() local
3315 struct dvb_usb_device *dev = adap->dev; novatd_read_status_override()
3322 dib0700_set_gpio(dev, adap->id == 0 ? GPIO1 : GPIO0, GPIO_OUT, novatd_read_status_override()
3330 struct dvb_usb_adapter *adap = fe->dvb->priv; novatd_sleep_override() local
3331 struct dvb_usb_device *dev = adap->dev; novatd_sleep_override()
3335 dib0700_set_gpio(dev, adap->id == 0 ? GPIO1 : GPIO0, GPIO_OUT, 0); novatd_sleep_override()
3346 static int novatd_frontend_attach(struct dvb_usb_adapter *adap) novatd_frontend_attach() argument
3348 struct dvb_usb_device *dev = adap->dev; novatd_frontend_attach()
3350 struct dib0700_adapter_state *state = adap->priv; novatd_frontend_attach()
3355 if (adap->id == 0) { novatd_frontend_attach()
3372 adap->fe_adap[0].fe = state->dib7000p_ops.init(&dev->i2c_adap, novatd_frontend_attach()
3373 adap->id == 0 ? 0x80 : 0x82, novatd_frontend_attach()
3374 &stk7070pd_dib7000p_config[adap->id]); novatd_frontend_attach()
3376 if (adap->fe_adap[0].fe == NULL) novatd_frontend_attach()
3379 st->read_status = adap->fe_adap[0].fe->ops.read_status; novatd_frontend_attach()
3380 adap->fe_adap[0].fe->ops.read_status = novatd_read_status_override; novatd_frontend_attach()
3381 st->sleep = adap->fe_adap[0].fe->ops.sleep; novatd_frontend_attach()
3382 adap->fe_adap[0].fe->ops.sleep = novatd_sleep_override; novatd_frontend_attach()
3409 static int s5h1411_frontend_attach(struct dvb_usb_adapter *adap) s5h1411_frontend_attach() argument
3411 struct dib0700_state *st = adap->dev->priv; s5h1411_frontend_attach()
3420 dib0700_set_gpio(adap->dev, GPIO0, GPIO_OUT, 0); s5h1411_frontend_attach()
3421 dib0700_set_gpio(adap->dev, GPIO3, GPIO_OUT, 0); s5h1411_frontend_attach()
3422 dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 1); s5h1411_frontend_attach()
3424 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 0); s5h1411_frontend_attach()
3426 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 1); s5h1411_frontend_attach()
3428 dib0700_set_gpio(adap->dev, GPIO0, GPIO_OUT, 1); s5h1411_frontend_attach()
3429 dib0700_set_gpio(adap->dev, GPIO9, GPIO_OUT, 1); s5h1411_frontend_attach()
3430 dib0700_set_gpio(adap->dev, GPIO4, GPIO_OUT, 1); s5h1411_frontend_attach()
3431 dib0700_set_gpio(adap->dev, GPIO7, GPIO_OUT, 1); s5h1411_frontend_attach()
3432 dib0700_set_gpio(adap->dev, GPIO2, GPIO_OUT, 0); s5h1411_frontend_attach()
3436 dib0700_set_gpio(adap->dev, GPIO2, GPIO_OUT, 1); s5h1411_frontend_attach()
3439 adap->fe_adap[0].fe = dvb_attach(s5h1411_attach, &pinnacle_801e_config, s5h1411_frontend_attach()
3440 &adap->dev->i2c_adap); s5h1411_frontend_attach()
3441 return adap->fe_adap[0].fe == NULL ? -ENODEV : 0; s5h1411_frontend_attach()
3447 struct dvb_usb_adapter *adap = priv; dib0700_xc5000_tuner_callback() local
3451 dib0700_set_gpio(adap->dev, GPIO1, GPIO_OUT, 0); dib0700_xc5000_tuner_callback()
3453 dib0700_set_gpio(adap->dev, GPIO1, GPIO_OUT, 1); dib0700_xc5000_tuner_callback()
3468 static int xc5000_tuner_attach(struct dvb_usb_adapter *adap) xc5000_tuner_attach() argument
3471 adap->fe_adap[0].fe->callback = dib0700_xc5000_tuner_callback; xc5000_tuner_attach()
3473 return dvb_attach(xc5000_attach, adap->fe_adap[0].fe, &adap->dev->i2c_adap, xc5000_tuner_attach()
3481 struct dvb_usb_adapter *adap = priv; dib0700_xc4000_tuner_callback() local
3482 struct dib0700_adapter_state *state = adap->priv; dib0700_xc4000_tuner_callback()
3486 state->dib7000p_ops.set_gpio(adap->fe_adap[0].fe, 8, 0, 0); dib0700_xc4000_tuner_callback()
3488 state->dib7000p_ops.set_gpio(adap->fe_adap[0].fe, 8, 0, 1); dib0700_xc4000_tuner_callback()
3571 static int pctv340e_frontend_attach(struct dvb_usb_adapter *adap) pctv340e_frontend_attach() argument
3573 struct dib0700_state *st = adap->dev->priv; pctv340e_frontend_attach()
3574 struct dib0700_adapter_state *state = adap->priv; pctv340e_frontend_attach()
3580 dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 0); pctv340e_frontend_attach()
3582 dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 1); pctv340e_frontend_attach()
3586 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 0); pctv340e_frontend_attach()
3588 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 1); pctv340e_frontend_attach()
3591 dib0700_set_gpio(adap->dev, GPIO8, GPIO_OUT, 1); pctv340e_frontend_attach()
3594 dib0700_set_gpio(adap->dev, GPIO2, GPIO_OUT, 1); pctv340e_frontend_attach()
3597 dib0700_ctrl_clock(adap->dev, 72, 1); pctv340e_frontend_attach()
3601 if (state->dib7000p_ops.dib7000pc_detection(&adap->dev->i2c_adap) == 0) { pctv340e_frontend_attach()
3607 adap->fe_adap[0].fe = state->dib7000p_ops.init(&adap->dev->i2c_adap, 0x12, pctv340e_frontend_attach()
3611 return adap->fe_adap[0].fe == NULL ? -ENODEV : 0; pctv340e_frontend_attach()
3622 static int xc4000_tuner_attach(struct dvb_usb_adapter *adap) xc4000_tuner_attach() argument
3625 struct dib0700_adapter_state *state = adap->priv; xc4000_tuner_attach()
3628 tun_i2c = state->dib7000p_ops.get_i2c_master(adap->fe_adap[0].fe, xc4000_tuner_attach()
3636 adap->fe_adap[0].fe->callback = dib0700_xc4000_tuner_callback; xc4000_tuner_attach()
3638 return dvb_attach(xc4000_attach, adap->fe_adap[0].fe, tun_i2c, xc4000_tuner_attach()
3671 static int lgdt3305_frontend_attach(struct dvb_usb_adapter *adap) lgdt3305_frontend_attach() argument
3673 struct dib0700_state *st = adap->dev->priv; lgdt3305_frontend_attach()
3681 dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 0); lgdt3305_frontend_attach()
3683 dib0700_set_gpio(adap->dev, GPIO6, GPIO_OUT, 1); lgdt3305_frontend_attach()
3687 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 1); lgdt3305_frontend_attach()
3689 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 0); lgdt3305_frontend_attach()
3691 dib0700_set_gpio(adap->dev, GPIO10, GPIO_OUT, 1); lgdt3305_frontend_attach()
3694 adap->fe_adap[0].fe = dvb_attach(lgdt3305_attach, lgdt3305_frontend_attach()
3696 &adap->dev->i2c_adap); lgdt3305_frontend_attach()
3698 return adap->fe_adap[0].fe == NULL ? -ENODEV : 0; lgdt3305_frontend_attach()
3701 static int mxl5007t_tuner_attach(struct dvb_usb_adapter *adap) mxl5007t_tuner_attach() argument
3703 return dvb_attach(mxl5007t_attach, adap->fe_adap[0].fe, mxl5007t_tuner_attach()
3704 &adap->dev->i2c_adap, 0x60, mxl5007t_tuner_attach()
H A Ddibusb-common.c26 int dibusb_streaming_ctrl(struct dvb_usb_adapter *adap, int onoff) dibusb_streaming_ctrl() argument
28 if (adap->priv != NULL) { dibusb_streaming_ctrl()
29 struct dibusb_state *st = adap->priv; dibusb_streaming_ctrl()
31 if (st->ops.fifo_ctrl(adap->fe_adap[0].fe, onoff)) { dibusb_streaming_ctrl()
40 int dibusb_pid_filter(struct dvb_usb_adapter *adap, int index, u16 pid, int onoff) dibusb_pid_filter() argument
42 if (adap->priv != NULL) { dibusb_pid_filter()
43 struct dibusb_state *st = adap->priv; dibusb_pid_filter()
45 st->ops.pid_ctrl(adap->fe_adap[0].fe, dibusb_pid_filter()
52 int dibusb_pid_filter_ctrl(struct dvb_usb_adapter *adap, int onoff) dibusb_pid_filter_ctrl() argument
54 if (adap->priv != NULL) { dibusb_pid_filter_ctrl()
55 struct dibusb_state *st = adap->priv; dibusb_pid_filter_ctrl()
57 if (st->ops.pid_parse(adap->fe_adap[0].fe, onoff) < 0) dibusb_pid_filter_ctrl()
77 int dibusb2_0_streaming_ctrl(struct dvb_usb_adapter *adap, int onoff) dibusb2_0_streaming_ctrl() argument
82 if ((ret = dibusb_streaming_ctrl(adap,onoff)) < 0) dibusb2_0_streaming_ctrl()
88 if ((ret = dvb_usb_generic_write(adap->dev,b,2)) < 0) dibusb2_0_streaming_ctrl()
94 return dvb_usb_generic_write(adap->dev,b,3); dibusb2_0_streaming_ctrl()
137 static int dibusb_i2c_xfer(struct i2c_adapter *adap,struct i2c_msg msg[],int num) dibusb_i2c_xfer() argument
139 struct dvb_usb_device *d = i2c_get_adapdata(adap); dibusb_i2c_xfer()
259 int dibusb_dib3000mc_frontend_attach(struct dvb_usb_adapter *adap) dibusb_dib3000mc_frontend_attach() argument
261 if (le16_to_cpu(adap->dev->udev->descriptor.idVendor) == USB_VID_LITEON && dibusb_dib3000mc_frontend_attach()
262 le16_to_cpu(adap->dev->udev->descriptor.idProduct) == dibusb_dib3000mc_frontend_attach()
267 adap->fe_adap[0].fe = dvb_attach(dib3000mc_attach, dibusb_dib3000mc_frontend_attach()
268 &adap->dev->i2c_adap, dibusb_dib3000mc_frontend_attach()
271 if ((adap->fe_adap[0].fe) == NULL) dibusb_dib3000mc_frontend_attach()
272 adap->fe_adap[0].fe = dvb_attach(dib3000mc_attach, dibusb_dib3000mc_frontend_attach()
273 &adap->dev->i2c_adap, dibusb_dib3000mc_frontend_attach()
276 if ((adap->fe_adap[0].fe) != NULL) { dibusb_dib3000mc_frontend_attach()
277 if (adap->priv != NULL) { dibusb_dib3000mc_frontend_attach()
278 struct dibusb_state *st = adap->priv; dibusb_dib3000mc_frontend_attach()
292 int dibusb_dib3000mc_tuner_attach(struct dvb_usb_adapter *adap) dibusb_dib3000mc_tuner_attach() argument
294 struct dibusb_state *st = adap->priv; dibusb_dib3000mc_tuner_attach()
300 if (le16_to_cpu(adap->dev->udev->descriptor.idVendor) == USB_VID_LITEON && dibusb_dib3000mc_tuner_attach()
301 le16_to_cpu(adap->dev->udev->descriptor.idProduct) == USB_PID_LITEON_DVB_T_WARM) { dibusb_dib3000mc_tuner_attach()
303 dibusb_read_eeprom_byte(adap->dev,0x7E,&a); dibusb_dib3000mc_tuner_attach()
304 dibusb_read_eeprom_byte(adap->dev,0x7F,&b); dibusb_dib3000mc_tuner_attach()
313 } else if (le16_to_cpu(adap->dev->udev->descriptor.idVendor) == USB_VID_DIBCOM && dibusb_dib3000mc_tuner_attach()
314 le16_to_cpu(adap->dev->udev->descriptor.idProduct) == USB_PID_DIBCOM_MOD3001_WARM) { dibusb_dib3000mc_tuner_attach()
316 dibusb_read_eeprom_byte(adap->dev, 7, &desc); dibusb_dib3000mc_tuner_attach()
320 dibusb_read_eeprom_byte(adap->dev, a, &desc); dibusb_dib3000mc_tuner_attach()
330 tun_i2c = dib3000mc_get_tuner_i2c_master(adap->fe_adap[0].fe, 1); dibusb_dib3000mc_tuner_attach()
331 if (dvb_attach(mt2060_attach, adap->fe_adap[0].fe, tun_i2c, &stk3000p_mt2060_config, if1) == NULL) { dibusb_dib3000mc_tuner_attach()
333 if (dvb_attach(dvb_pll_attach, adap->fe_adap[0].fe, 0x60, tun_i2c, DVB_PLL_ENV57H1XD5) == NULL) dibusb_dib3000mc_tuner_attach()
338 dib3000mc_set_config(adap->fe_adap[0].fe, &stk3000p_dib3000p_config); dibusb_dib3000mc_tuner_attach()
H A Dvp702x.c155 static int vp702x_set_pld_mode(struct dvb_usb_adapter *adap, u8 bypass) vp702x_set_pld_mode() argument
158 struct vp702x_device_state *st = adap->dev->priv; vp702x_set_pld_mode()
166 ret = vp702x_usb_in_op(adap->dev, 0xe0, (bypass << 8) | 0x0e, vp702x_set_pld_mode()
172 static int vp702x_set_pld_state(struct dvb_usb_adapter *adap, u8 state) vp702x_set_pld_state() argument
175 struct vp702x_device_state *st = adap->dev->priv; vp702x_set_pld_state()
182 ret = vp702x_usb_in_op(adap->dev, 0xe0, (state << 8) | 0x0f, vp702x_set_pld_state()
190 static int vp702x_set_pid(struct dvb_usb_adapter *adap, u16 pid, u8 id, int onoff) vp702x_set_pid() argument
192 struct vp702x_adapter_state *st = adap->priv; vp702x_set_pid()
193 struct vp702x_device_state *dst = adap->dev->priv; vp702x_set_pid()
205 vp702x_set_pld_state(adap, st->pid_filter_state); vp702x_set_pid()
211 vp702x_usb_in_op(adap->dev, 0xe0, (((pid >> 8) & 0xff) << 8) | (id), 0, buf, 16); vp702x_set_pid()
212 vp702x_usb_in_op(adap->dev, 0xe0, (((pid ) & 0xff) << 8) | (id+1), 0, buf, 16); vp702x_set_pid()
220 static int vp702x_init_pid_filter(struct dvb_usb_adapter *adap) vp702x_init_pid_filter() argument
222 struct vp702x_adapter_state *st = adap->priv; vp702x_init_pid_filter()
223 struct vp702x_device_state *dst = adap->dev->priv; vp702x_init_pid_filter()
231 vp702x_set_pld_mode(adap, 1); /* bypass */ vp702x_init_pid_filter()
234 vp702x_set_pid(adap, 0xffff, i, 1); vp702x_init_pid_filter()
239 vp702x_usb_in_op(adap->dev, 0xb5, 3, 0, b, 10); vp702x_init_pid_filter()
240 vp702x_usb_in_op(adap->dev, 0xb5, 0, 0, b, 10); vp702x_init_pid_filter()
241 vp702x_usb_in_op(adap->dev, 0xb5, 1, 0, b, 10); vp702x_init_pid_filter()
248 static int vp702x_streaming_ctrl(struct dvb_usb_adapter *adap, int onoff) vp702x_streaming_ctrl() argument
308 static int vp702x_frontend_attach(struct dvb_usb_adapter *adap) vp702x_frontend_attach() argument
312 vp702x_usb_out_op(adap->dev, SET_TUNER_POWER_REQ, 0, 7, NULL, 0); vp702x_frontend_attach()
314 if (vp702x_usb_inout_cmd(adap->dev, GET_SYSTEM_STRING, NULL, 0, vp702x_frontend_attach()
321 vp702x_init_pid_filter(adap); vp702x_frontend_attach()
323 adap->fe_adap[0].fe = vp702x_fe_attach(adap->dev); vp702x_frontend_attach()
324 vp702x_usb_out_op(adap->dev, SET_TUNER_POWER_REQ, 1, 7, NULL, 0); vp702x_frontend_attach()
H A Ddvb-usb-init.c31 struct dvb_usb_adapter *adap; dvb_usb_adapter_init() local
35 adap = &d->adapter[n]; dvb_usb_adapter_init()
36 adap->dev = d; dvb_usb_adapter_init()
37 adap->id = n; dvb_usb_adapter_init()
39 memcpy(&adap->props, &d->props.adapter[n], sizeof(struct dvb_usb_adapter_properties)); dvb_usb_adapter_init()
41 for (o = 0; o < adap->props.num_frontends; o++) { dvb_usb_adapter_init()
42 struct dvb_usb_adapter_fe_properties *props = &adap->props.fe[o]; dvb_usb_adapter_init()
52 adap->fe_adap[o].pid_filtering = 1; dvb_usb_adapter_init()
53 adap->fe_adap[o].max_feed_count = props->pid_filter_count; dvb_usb_adapter_init()
56 adap->fe_adap[o].pid_filtering = 0; dvb_usb_adapter_init()
57 adap->fe_adap[o].max_feed_count = 255; dvb_usb_adapter_init()
60 if (!adap->fe_adap[o].pid_filtering && dvb_usb_adapter_init()
64 adap->fe_adap[o].pid_filtering = 1; dvb_usb_adapter_init()
65 adap->fe_adap[o].max_feed_count = props->pid_filter_count; dvb_usb_adapter_init()
69 adap->fe_adap[o].priv = kzalloc(props->size_of_priv, GFP_KERNEL); dvb_usb_adapter_init()
70 if (adap->fe_adap[o].priv == NULL) { dvb_usb_adapter_init()
77 if (adap->props.size_of_priv > 0) { dvb_usb_adapter_init()
78 adap->priv = kzalloc(adap->props.size_of_priv, GFP_KERNEL); dvb_usb_adapter_init()
79 if (adap->priv == NULL) { dvb_usb_adapter_init()
85 if ((ret = dvb_usb_adapter_stream_init(adap)) || dvb_usb_adapter_init()
86 (ret = dvb_usb_adapter_dvb_init(adap, adapter_nrs)) || dvb_usb_adapter_init()
87 (ret = dvb_usb_adapter_frontend_init(adap))) { dvb_usb_adapter_init()
92 if (adap->fe_adap[1].fe) dvb_usb_adapter_init()
93 adap->dvb_adap.mfe_shared = 1; dvb_usb_adapter_init()
H A Ddvb-usb-common.h37 extern int dvb_usb_adapter_stream_init(struct dvb_usb_adapter *adap);
38 extern int dvb_usb_adapter_stream_exit(struct dvb_usb_adapter *adap);
43 extern int dvb_usb_adapter_dvb_init(struct dvb_usb_adapter *adap,
45 extern int dvb_usb_adapter_dvb_exit(struct dvb_usb_adapter *adap);
46 extern int dvb_usb_adapter_frontend_init(struct dvb_usb_adapter *adap);
47 extern int dvb_usb_adapter_frontend_exit(struct dvb_usb_adapter *adap);
H A Dcxusb.c150 static int cxusb_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msg[], cxusb_i2c_xfer() argument
153 struct dvb_usb_device *d = i2c_get_adapdata(adap); cxusb_i2c_xfer()
350 static int cxusb_streaming_ctrl(struct dvb_usb_adapter *adap, int onoff) cxusb_streaming_ctrl() argument
354 cxusb_ctrl_msg(adap->dev, CMD_STREAMING_ON, buf, 2, NULL, 0); cxusb_streaming_ctrl()
356 cxusb_ctrl_msg(adap->dev, CMD_STREAMING_OFF, NULL, 0, NULL, 0); cxusb_streaming_ctrl()
361 static int cxusb_aver_streaming_ctrl(struct dvb_usb_adapter *adap, int onoff) cxusb_aver_streaming_ctrl() argument
364 cxusb_ctrl_msg(adap->dev, CMD_AVER_STREAM_ON, NULL, 0, NULL, 0); cxusb_aver_streaming_ctrl()
366 cxusb_ctrl_msg(adap->dev, CMD_AVER_STREAM_OFF, cxusb_aver_streaming_ctrl()
418 struct dvb_usb_adapter *adap, int onoff) cxusb_d680_dmb_streaming_ctrl()
422 cxusb_d680_dmb_drain_video(adap->dev); cxusb_d680_dmb_streaming_ctrl()
423 return cxusb_ctrl_msg(adap->dev, CMD_STREAMING_ON, cxusb_d680_dmb_streaming_ctrl()
426 int ret = cxusb_ctrl_msg(adap->dev, cxusb_d680_dmb_streaming_ctrl()
772 static int cxusb_fmd1216me_tuner_attach(struct dvb_usb_adapter *adap) cxusb_fmd1216me_tuner_attach() argument
774 dvb_attach(simple_tuner_attach, adap->fe_adap[0].fe, cxusb_fmd1216me_tuner_attach()
775 &adap->dev->i2c_adap, 0x61, cxusb_fmd1216me_tuner_attach()
780 static int cxusb_dee1601_tuner_attach(struct dvb_usb_adapter *adap) cxusb_dee1601_tuner_attach() argument
782 dvb_attach(dvb_pll_attach, adap->fe_adap[0].fe, 0x61, cxusb_dee1601_tuner_attach()
787 static int cxusb_lgz201_tuner_attach(struct dvb_usb_adapter *adap) cxusb_lgz201_tuner_attach() argument
789 dvb_attach(dvb_pll_attach, adap->fe_adap[0].fe, 0x61, NULL, DVB_PLL_LG_Z201); cxusb_lgz201_tuner_attach()
793 static int cxusb_dtt7579_tuner_attach(struct dvb_usb_adapter *adap) cxusb_dtt7579_tuner_attach() argument
795 dvb_attach(dvb_pll_attach, adap->fe_adap[0].fe, 0x60, cxusb_dtt7579_tuner_attach()
800 static int cxusb_lgh064f_tuner_attach(struct dvb_usb_adapter *adap) cxusb_lgh064f_tuner_attach() argument
802 dvb_attach(simple_tuner_attach, adap->fe_adap[0].fe, cxusb_lgh064f_tuner_attach()
803 &adap->dev->i2c_adap, 0x61, TUNER_LG_TDVS_H06XF); cxusb_lgh064f_tuner_attach()
810 struct dvb_usb_adapter *adap = ptr; dvico_bluebird_xc2028_callback() local
811 struct dvb_usb_device *d = adap->dev; dvico_bluebird_xc2028_callback()
830 static int cxusb_dvico_xc3028_tuner_attach(struct dvb_usb_adapter *adap) cxusb_dvico_xc3028_tuner_attach() argument
834 .i2c_adap = &adap->dev->i2c_adap, cxusb_dvico_xc3028_tuner_attach()
844 adap->fe_adap[0].fe->callback = dvico_bluebird_xc2028_callback; cxusb_dvico_xc3028_tuner_attach()
846 fe = dvb_attach(xc2028_attach, adap->fe_adap[0].fe, &cfg); cxusb_dvico_xc3028_tuner_attach()
855 static int cxusb_mxl5003s_tuner_attach(struct dvb_usb_adapter *adap) cxusb_mxl5003s_tuner_attach() argument
857 dvb_attach(mxl5005s_attach, adap->fe_adap[0].fe, cxusb_mxl5003s_tuner_attach()
858 &adap->dev->i2c_adap, &aver_a868r_tuner); cxusb_mxl5003s_tuner_attach()
862 static int cxusb_d680_dmb_tuner_attach(struct dvb_usb_adapter *adap) cxusb_d680_dmb_tuner_attach() argument
865 fe = dvb_attach(mxl5005s_attach, adap->fe_adap[0].fe, cxusb_d680_dmb_tuner_attach()
866 &adap->dev->i2c_adap, &d680_dmb_tuner); cxusb_d680_dmb_tuner_attach()
870 static int cxusb_mygica_d689_tuner_attach(struct dvb_usb_adapter *adap) cxusb_mygica_d689_tuner_attach() argument
873 fe = dvb_attach(max2165_attach, adap->fe_adap[0].fe, cxusb_mygica_d689_tuner_attach()
874 &adap->dev->i2c_adap, &mygica_d689_max2165_cfg); cxusb_mygica_d689_tuner_attach()
878 static int cxusb_cx22702_frontend_attach(struct dvb_usb_adapter *adap) cxusb_cx22702_frontend_attach() argument
881 if (usb_set_interface(adap->dev->udev, 0, 6) < 0) cxusb_cx22702_frontend_attach()
884 cxusb_ctrl_msg(adap->dev, CMD_DIGITAL, NULL, 0, &b, 1); cxusb_cx22702_frontend_attach()
886 adap->fe_adap[0].fe = dvb_attach(cx22702_attach, &cxusb_cx22702_config, cxusb_cx22702_frontend_attach()
887 &adap->dev->i2c_adap); cxusb_cx22702_frontend_attach()
888 if ((adap->fe_adap[0].fe) != NULL) cxusb_cx22702_frontend_attach()
894 static int cxusb_lgdt3303_frontend_attach(struct dvb_usb_adapter *adap) cxusb_lgdt3303_frontend_attach() argument
896 if (usb_set_interface(adap->dev->udev, 0, 7) < 0) cxusb_lgdt3303_frontend_attach()
899 cxusb_ctrl_msg(adap->dev, CMD_DIGITAL, NULL, 0, NULL, 0); cxusb_lgdt3303_frontend_attach()
901 adap->fe_adap[0].fe = dvb_attach(lgdt330x_attach, cxusb_lgdt3303_frontend_attach()
903 &adap->dev->i2c_adap); cxusb_lgdt3303_frontend_attach()
904 if ((adap->fe_adap[0].fe) != NULL) cxusb_lgdt3303_frontend_attach()
910 static int cxusb_aver_lgdt3303_frontend_attach(struct dvb_usb_adapter *adap) cxusb_aver_lgdt3303_frontend_attach() argument
912 adap->fe_adap[0].fe = dvb_attach(lgdt330x_attach, &cxusb_aver_lgdt3303_config, cxusb_aver_lgdt3303_frontend_attach()
913 &adap->dev->i2c_adap); cxusb_aver_lgdt3303_frontend_attach()
914 if (adap->fe_adap[0].fe != NULL) cxusb_aver_lgdt3303_frontend_attach()
920 static int cxusb_mt352_frontend_attach(struct dvb_usb_adapter *adap) cxusb_mt352_frontend_attach() argument
923 if (usb_set_interface(adap->dev->udev, 0, 0) < 0) cxusb_mt352_frontend_attach()
926 cxusb_ctrl_msg(adap->dev, CMD_DIGITAL, NULL, 0, NULL, 0); cxusb_mt352_frontend_attach()
928 adap->fe_adap[0].fe = dvb_attach(mt352_attach, &cxusb_mt352_config, cxusb_mt352_frontend_attach()
929 &adap->dev->i2c_adap); cxusb_mt352_frontend_attach()
930 if ((adap->fe_adap[0].fe) != NULL) cxusb_mt352_frontend_attach()
936 static int cxusb_dee1601_frontend_attach(struct dvb_usb_adapter *adap) cxusb_dee1601_frontend_attach() argument
938 if (usb_set_interface(adap->dev->udev, 0, 0) < 0) cxusb_dee1601_frontend_attach()
941 cxusb_ctrl_msg(adap->dev, CMD_DIGITAL, NULL, 0, NULL, 0); cxusb_dee1601_frontend_attach()
943 adap->fe_adap[0].fe = dvb_attach(mt352_attach, &cxusb_dee1601_config, cxusb_dee1601_frontend_attach()
944 &adap->dev->i2c_adap); cxusb_dee1601_frontend_attach()
945 if ((adap->fe_adap[0].fe) != NULL) cxusb_dee1601_frontend_attach()
948 adap->fe_adap[0].fe = dvb_attach(zl10353_attach, cxusb_dee1601_frontend_attach()
950 &adap->dev->i2c_adap); cxusb_dee1601_frontend_attach()
951 if ((adap->fe_adap[0].fe) != NULL) cxusb_dee1601_frontend_attach()
957 static int cxusb_dualdig4_frontend_attach(struct dvb_usb_adapter *adap) cxusb_dualdig4_frontend_attach() argument
964 if (usb_set_interface(adap->dev->udev, 0, 1) < 0) cxusb_dualdig4_frontend_attach()
967 cxusb_ctrl_msg(adap->dev, CMD_DIGITAL, NULL, 0, NULL, 0); cxusb_dualdig4_frontend_attach()
970 cxusb_bluebird_gpio_rw(adap->dev, 0x04, 0); cxusb_dualdig4_frontend_attach()
971 cxusb_bluebird_gpio_pulse(adap->dev, 0x01, 1); cxusb_dualdig4_frontend_attach()
972 cxusb_bluebird_gpio_pulse(adap->dev, 0x02, 1); cxusb_dualdig4_frontend_attach()
974 adap->fe_adap[0].fe = cxusb_dualdig4_frontend_attach()
977 &adap->dev->i2c_adap); cxusb_dualdig4_frontend_attach()
978 if ((adap->fe_adap[0].fe) == NULL) cxusb_dualdig4_frontend_attach()
982 for (i = 0; adap->dev->props.rc.legacy.rc_map_table != NULL && i < 5; i++) { cxusb_dualdig4_frontend_attach()
984 if (cxusb_i2c_xfer(&adap->dev->i2c_adap, &msg, 1) != 1) cxusb_dualdig4_frontend_attach()
990 adap->dev->props.rc.legacy.rc_map_table = NULL; cxusb_dualdig4_frontend_attach()
1080 static int cxusb_dualdig4_rev2_frontend_attach(struct dvb_usb_adapter *adap) cxusb_dualdig4_rev2_frontend_attach() argument
1082 struct dib0700_adapter_state *state = adap->priv; cxusb_dualdig4_rev2_frontend_attach()
1084 if (usb_set_interface(adap->dev->udev, 0, 1) < 0) cxusb_dualdig4_rev2_frontend_attach()
1087 cxusb_ctrl_msg(adap->dev, CMD_DIGITAL, NULL, 0, NULL, 0); cxusb_dualdig4_rev2_frontend_attach()
1089 cxusb_bluebird_gpio_pulse(adap->dev, 0x02, 1); cxusb_dualdig4_rev2_frontend_attach()
1094 if (state->dib7000p_ops.i2c_enumeration(&adap->dev->i2c_adap, 1, 18, cxusb_dualdig4_rev2_frontend_attach()
1100 adap->fe_adap[0].fe = state->dib7000p_ops.init(&adap->dev->i2c_adap, 0x80, cxusb_dualdig4_rev2_frontend_attach()
1102 if (adap->fe_adap[0].fe == NULL) cxusb_dualdig4_rev2_frontend_attach()
1110 struct dvb_usb_adapter *adap = fe->dvb->priv; dib7070_tuner_reset() local
1111 struct dib0700_adapter_state *state = adap->priv; dib7070_tuner_reset()
1131 struct dvb_usb_adapter *adap = fe->dvb->priv; dib7070_set_param_override() local
1132 struct dib0700_adapter_state *state = adap->priv; dib7070_set_param_override()
1147 static int cxusb_dualdig4_rev2_tuner_attach(struct dvb_usb_adapter *adap) cxusb_dualdig4_rev2_tuner_attach() argument
1149 struct dib0700_adapter_state *st = adap->priv; cxusb_dualdig4_rev2_tuner_attach()
1157 tun_i2c = st->dib7000p_ops.get_i2c_master(adap->fe_adap[0].fe, cxusb_dualdig4_rev2_tuner_attach()
1160 if (dvb_attach(dib0070_attach, adap->fe_adap[0].fe, tun_i2c, cxusb_dualdig4_rev2_tuner_attach()
1164 st->set_param_save = adap->fe_adap[0].fe->ops.tuner_ops.set_params; cxusb_dualdig4_rev2_tuner_attach()
1165 adap->fe_adap[0].fe->ops.tuner_ops.set_params = dib7070_set_param_override; cxusb_dualdig4_rev2_tuner_attach()
1169 static int cxusb_nano2_frontend_attach(struct dvb_usb_adapter *adap) cxusb_nano2_frontend_attach() argument
1171 if (usb_set_interface(adap->dev->udev, 0, 1) < 0) cxusb_nano2_frontend_attach()
1174 cxusb_ctrl_msg(adap->dev, CMD_DIGITAL, NULL, 0, NULL, 0); cxusb_nano2_frontend_attach()
1177 cxusb_bluebird_gpio_rw(adap->dev, 0x04, 0); cxusb_nano2_frontend_attach()
1178 cxusb_bluebird_gpio_pulse(adap->dev, 0x01, 1); cxusb_nano2_frontend_attach()
1179 cxusb_bluebird_gpio_pulse(adap->dev, 0x02, 1); cxusb_nano2_frontend_attach()
1181 adap->fe_adap[0].fe = dvb_attach(zl10353_attach, cxusb_nano2_frontend_attach()
1183 &adap->dev->i2c_adap); cxusb_nano2_frontend_attach()
1184 if ((adap->fe_adap[0].fe) != NULL) cxusb_nano2_frontend_attach()
1187 adap->fe_adap[0].fe = dvb_attach(mt352_attach, cxusb_nano2_frontend_attach()
1189 &adap->dev->i2c_adap); cxusb_nano2_frontend_attach()
1190 if ((adap->fe_adap[0].fe) != NULL) cxusb_nano2_frontend_attach()
1210 static int cxusb_d680_dmb_frontend_attach(struct dvb_usb_adapter *adap) cxusb_d680_dmb_frontend_attach() argument
1212 struct dvb_usb_device *d = adap->dev; cxusb_d680_dmb_frontend_attach()
1247 adap->fe_adap[0].fe = dvb_attach(lgs8gxx_attach, &d680_lgs8gl5_cfg, &d->i2c_adap); cxusb_d680_dmb_frontend_attach()
1248 if (adap->fe_adap[0].fe == NULL) cxusb_d680_dmb_frontend_attach()
1268 static int cxusb_mygica_d689_frontend_attach(struct dvb_usb_adapter *adap) cxusb_mygica_d689_frontend_attach() argument
1270 struct dvb_usb_device *d = adap->dev; cxusb_mygica_d689_frontend_attach()
1298 adap->fe_adap[0].fe = dvb_attach(atbm8830_attach, &mygica_d689_atbm8830_cfg, cxusb_mygica_d689_frontend_attach()
1300 if (adap->fe_adap[0].fe == NULL) cxusb_mygica_d689_frontend_attach()
1306 static int cxusb_mygica_t230_frontend_attach(struct dvb_usb_adapter *adap) cxusb_mygica_t230_frontend_attach() argument
1308 struct dvb_usb_device *d = adap->dev; cxusb_mygica_t230_frontend_attach()
1331 si2168_config.fe = &adap->fe_adap[0].fe; cxusb_mygica_t230_frontend_attach()
1352 si2157_config.fe = adap->fe_adap[0].fe; cxusb_mygica_t230_frontend_attach()
417 cxusb_d680_dmb_streaming_ctrl( struct dvb_usb_adapter *adap, int onoff) cxusb_d680_dmb_streaming_ctrl() argument
H A Ddibusb-mb.c21 struct dvb_usb_adapter *adap = fe->dvb->priv; dib3000mb_i2c_gate_ctrl() local
22 struct dibusb_state *st = adap->priv; dib3000mb_i2c_gate_ctrl()
27 static int dibusb_dib3000mb_frontend_attach(struct dvb_usb_adapter *adap) dibusb_dib3000mb_frontend_attach() argument
30 struct dibusb_state *st = adap->priv; dibusb_dib3000mb_frontend_attach()
34 adap->fe_adap[0].fe = dvb_attach(dib3000mb_attach, &demod_cfg, dibusb_dib3000mb_frontend_attach()
35 &adap->dev->i2c_adap, &st->ops); dibusb_dib3000mb_frontend_attach()
36 if ((adap->fe_adap[0].fe) == NULL) dibusb_dib3000mb_frontend_attach()
39 adap->fe_adap[0].fe->ops.i2c_gate_ctrl = dib3000mb_i2c_gate_ctrl; dibusb_dib3000mb_frontend_attach()
44 static int dibusb_thomson_tuner_attach(struct dvb_usb_adapter *adap) dibusb_thomson_tuner_attach() argument
46 struct dibusb_state *st = adap->priv; dibusb_thomson_tuner_attach()
50 dvb_attach(dvb_pll_attach, adap->fe_adap[0].fe, 0x61, &adap->dev->i2c_adap, dibusb_thomson_tuner_attach()
55 static int dibusb_panasonic_tuner_attach(struct dvb_usb_adapter *adap) dibusb_panasonic_tuner_attach() argument
57 struct dibusb_state *st = adap->priv; dibusb_panasonic_tuner_attach()
61 dvb_attach(dvb_pll_attach, adap->fe_adap[0].fe, 0x60, &adap->dev->i2c_adap, dibusb_panasonic_tuner_attach()
69 static int dibusb_tuner_probe_and_attach(struct dvb_usb_adapter *adap) dibusb_tuner_probe_and_attach() argument
77 struct dibusb_state *st = adap->priv; dibusb_tuner_probe_and_attach()
82 if (adap->fe_adap[0].fe->ops.i2c_gate_ctrl) dibusb_tuner_probe_and_attach()
83 adap->fe_adap[0].fe->ops.i2c_gate_ctrl(adap->fe_adap[0].fe, 1); dibusb_tuner_probe_and_attach()
85 if (i2c_transfer(&adap->dev->i2c_adap, msg, 2) != 2) { dibusb_tuner_probe_and_attach()
90 if (adap->fe_adap[0].fe->ops.i2c_gate_ctrl) dibusb_tuner_probe_and_attach()
91 adap->fe_adap[0].fe->ops.i2c_gate_ctrl(adap->fe_adap[0].fe, 0); dibusb_tuner_probe_and_attach()
95 ret = dibusb_thomson_tuner_attach(adap); dibusb_tuner_probe_and_attach()
98 ret = dibusb_panasonic_tuner_attach(adap); dibusb_tuner_probe_and_attach()
H A Dttusb2.c368 static int ttusb2_i2c_xfer(struct i2c_adapter *adap,struct i2c_msg msg[],int num) ttusb2_i2c_xfer() argument
370 struct dvb_usb_device *d = i2c_get_adapdata(adap); ttusb2_i2c_xfer()
506 static int ttusb2_frontend_tda10086_attach(struct dvb_usb_adapter *adap) ttusb2_frontend_tda10086_attach() argument
508 if (usb_set_interface(adap->dev->udev,0,3) < 0) ttusb2_frontend_tda10086_attach()
511 if ((adap->fe_adap[0].fe = dvb_attach(tda10086_attach, &tda10086_config, &adap->dev->i2c_adap)) == NULL) { ttusb2_frontend_tda10086_attach()
521 struct dvb_usb_adapter *adap = fe->dvb->priv; ttusb2_ct3650_i2c_gate_ctrl() local
523 return adap->fe_adap[0].fe->ops.i2c_gate_ctrl(adap->fe_adap[0].fe, enable); ttusb2_ct3650_i2c_gate_ctrl()
526 static int ttusb2_frontend_tda10023_attach(struct dvb_usb_adapter *adap) ttusb2_frontend_tda10023_attach() argument
528 if (usb_set_interface(adap->dev->udev, 0, 3) < 0) ttusb2_frontend_tda10023_attach()
531 if (adap->fe_adap[0].fe == NULL) { ttusb2_frontend_tda10023_attach()
533 adap->fe_adap[0].fe = dvb_attach(tda10023_attach, ttusb2_frontend_tda10023_attach()
534 &tda10023_config, &adap->dev->i2c_adap, 0x48); ttusb2_frontend_tda10023_attach()
536 if (adap->fe_adap[0].fe == NULL) { ttusb2_frontend_tda10023_attach()
540 tt3650_ci_init(adap); ttusb2_frontend_tda10023_attach()
542 adap->fe_adap[1].fe = dvb_attach(tda10048_attach, ttusb2_frontend_tda10023_attach()
543 &tda10048_config, &adap->dev->i2c_adap); ttusb2_frontend_tda10023_attach()
545 if (adap->fe_adap[1].fe == NULL) { ttusb2_frontend_tda10023_attach()
551 adap->fe_adap[1].fe->ops.i2c_gate_ctrl = ttusb2_ct3650_i2c_gate_ctrl; ttusb2_frontend_tda10023_attach()
558 static int ttusb2_tuner_tda827x_attach(struct dvb_usb_adapter *adap) ttusb2_tuner_tda827x_attach() argument
563 if (adap->fe_adap[1].fe == NULL) ttusb2_tuner_tda827x_attach()
564 fe = adap->fe_adap[0].fe; ttusb2_tuner_tda827x_attach()
566 fe = adap->fe_adap[1].fe; ttusb2_tuner_tda827x_attach()
569 if (dvb_attach(tda827x_attach, fe, 0x61, &adap->dev->i2c_adap, &tda827x_config) == NULL) { ttusb2_tuner_tda827x_attach()
576 static int ttusb2_tuner_tda826x_attach(struct dvb_usb_adapter *adap) ttusb2_tuner_tda826x_attach() argument
578 if (dvb_attach(tda826x_attach, adap->fe_adap[0].fe, 0x60, &adap->dev->i2c_adap, 0) == NULL) { ttusb2_tuner_tda826x_attach()
583 if (dvb_attach(lnbp21_attach, adap->fe_adap[0].fe, &adap->dev->i2c_adap, 0, 0) == NULL) { ttusb2_tuner_tda826x_attach()
H A Ddigitv.c50 static int digitv_i2c_xfer(struct i2c_adapter *adap,struct i2c_msg msg[],int num) digitv_i2c_xfer() argument
52 struct dvb_usb_device *d = i2c_get_adapdata(adap); digitv_i2c_xfer()
123 struct dvb_usb_adapter *adap = fe->dvb->priv; digitv_nxt6000_tuner_set_params() local
129 return digitv_ctrl_msg(adap->dev, USB_WRITE_TUNER, 0, &b[1], 4, NULL, 0); digitv_nxt6000_tuner_set_params()
136 static int digitv_frontend_attach(struct dvb_usb_adapter *adap) digitv_frontend_attach() argument
138 struct digitv_state *st = adap->dev->priv; digitv_frontend_attach()
140 adap->fe_adap[0].fe = dvb_attach(mt352_attach, &digitv_mt352_config, digitv_frontend_attach()
141 &adap->dev->i2c_adap); digitv_frontend_attach()
142 if ((adap->fe_adap[0].fe) != NULL) { digitv_frontend_attach()
146 adap->fe_adap[0].fe = dvb_attach(nxt6000_attach, digitv_frontend_attach()
148 &adap->dev->i2c_adap); digitv_frontend_attach()
149 if ((adap->fe_adap[0].fe) != NULL) { digitv_frontend_attach()
156 static int digitv_tuner_attach(struct dvb_usb_adapter *adap) digitv_tuner_attach() argument
158 struct digitv_state *st = adap->dev->priv; digitv_tuner_attach()
160 if (!dvb_attach(dvb_pll_attach, adap->fe_adap[0].fe, 0x60, NULL, DVB_PLL_TDED4)) digitv_tuner_attach()
164 adap->fe_adap[0].fe->ops.tuner_ops.set_params = digitv_nxt6000_tuner_set_params; digitv_tuner_attach()
H A Ddtv5100.c70 static int dtv5100_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msg[], dtv5100_i2c_xfer() argument
73 struct dvb_usb_device *d = i2c_get_adapdata(adap); dtv5100_i2c_xfer()
116 static int dtv5100_frontend_attach(struct dvb_usb_adapter *adap) dtv5100_frontend_attach() argument
118 adap->fe_adap[0].fe = dvb_attach(zl10353_attach, &dtv5100_zl10353_config, dtv5100_frontend_attach()
119 &adap->dev->i2c_adap); dtv5100_frontend_attach()
120 if (adap->fe_adap[0].fe == NULL) dtv5100_frontend_attach()
124 adap->fe_adap[0].fe->ops.i2c_gate_ctrl = NULL; dtv5100_frontend_attach()
133 static int dtv5100_tuner_attach(struct dvb_usb_adapter *adap) dtv5100_tuner_attach() argument
136 adap->fe_adap[0].fe, &adap->dev->i2c_adap, dtv5100_tuner_attach()
H A Dfriio.c109 static int gl861_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msg[], gl861_i2c_xfer() argument
112 struct dvb_usb_device *d = i2c_get_adapdata(adap); gl861_i2c_xfer()
145 static int friio_ext_ctl(struct dvb_usb_adapter *adap, friio_ext_ctl() argument
168 ret = gl861_i2c_xfer(&adap->dev->i2c_adap, &msg, 1); friio_ext_ctl()
170 ret += gl861_i2c_xfer(&adap->dev->i2c_adap, &msg, 1); friio_ext_ctl()
173 ret += gl861_i2c_xfer(&adap->dev->i2c_adap, &msg, 1); friio_ext_ctl()
175 ret += gl861_i2c_xfer(&adap->dev->i2c_adap, &msg, 1); friio_ext_ctl()
183 ret += gl861_i2c_xfer(&adap->dev->i2c_adap, &msg, 1); friio_ext_ctl()
185 ret += gl861_i2c_xfer(&adap->dev->i2c_adap, &msg, 1); friio_ext_ctl()
191 ret += gl861_i2c_xfer(&adap->dev->i2c_adap, &msg, 1); friio_ext_ctl()
193 ret += gl861_i2c_xfer(&adap->dev->i2c_adap, &msg, 1); friio_ext_ctl()
200 static int friio_streaming_ctrl(struct dvb_usb_adapter *adap, int onoff);
382 static int friio_streaming_ctrl(struct dvb_usb_adapter *adap, int onoff) friio_streaming_ctrl() argument
390 ret = friio_ext_ctl(adap, 0x6400ff64, 1); friio_streaming_ctrl()
392 ret = friio_ext_ctl(adap, 0x96ff00ff, 1); friio_streaming_ctrl()
401 static int friio_frontend_attach(struct dvb_usb_adapter *adap) friio_frontend_attach() argument
403 if (friio_initialize(adap->dev) < 0) friio_frontend_attach()
406 adap->fe_adap[0].fe = jdvbt90502_attach(adap->dev); friio_frontend_attach()
407 if (adap->fe_adap[0].fe == NULL) friio_frontend_attach()
H A Dm920x.c256 static int m920x_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msg[], int num) m920x_i2c_xfer() argument
258 struct dvb_usb_device *d = i2c_get_adapdata(adap); m920x_i2c_xfer()
345 static int m920x_update_filters(struct dvb_usb_adapter *adap) m920x_update_filters() argument
347 struct m920x_state *m = adap->dev->priv; m920x_update_filters()
348 int enabled = m->filtering_enabled[adap->id]; m920x_update_filters()
350 int ep = adap->props.fe[0].stream.endpoint; m920x_update_filters()
353 if (m->filters[adap->id][i] == 8192) m920x_update_filters()
357 if ((ret = m920x_set_filter(adap->dev, ep, 1, enabled)) != 0) m920x_update_filters()
361 if ((ret = m920x_set_filter(adap->dev, ep, i + 2, 0)) != 0) m920x_update_filters()
367 if (m->filters[adap->id][i] == 0) m920x_update_filters()
370 if ((ret = m920x_set_filter(adap->dev, ep, filter + 2, m->filters[adap->id][i])) != 0) m920x_update_filters()
380 static int m920x_pid_filter_ctrl(struct dvb_usb_adapter *adap, int onoff) m920x_pid_filter_ctrl() argument
382 struct m920x_state *m = adap->dev->priv; m920x_pid_filter_ctrl()
384 m->filtering_enabled[adap->id] = onoff ? 1 : 0; m920x_pid_filter_ctrl()
386 return m920x_update_filters(adap); m920x_pid_filter_ctrl()
389 static int m920x_pid_filter(struct dvb_usb_adapter *adap, int index, u16 pid, int onoff) m920x_pid_filter() argument
391 struct m920x_state *m = adap->dev->priv; m920x_pid_filter()
393 m->filters[adap->id][index] = onoff ? pid : 0; m920x_pid_filter()
395 return m920x_update_filters(adap); m920x_pid_filter()
561 static int m920x_mt352_frontend_attach(struct dvb_usb_adapter *adap) m920x_mt352_frontend_attach() argument
565 adap->fe_adap[0].fe = dvb_attach(mt352_attach, m920x_mt352_frontend_attach()
567 &adap->dev->i2c_adap); m920x_mt352_frontend_attach()
568 if ((adap->fe_adap[0].fe) == NULL) m920x_mt352_frontend_attach()
574 static int m920x_mt352_frontend_attach_vp7049(struct dvb_usb_adapter *adap) m920x_mt352_frontend_attach_vp7049() argument
596 ret = m920x_write_seq(adap->dev->udev, M9206_CORE, vp7049_fe_init_seq); m920x_mt352_frontend_attach_vp7049()
602 return m920x_mt352_frontend_attach(adap); m920x_mt352_frontend_attach_vp7049()
605 static int m920x_tda10046_08_frontend_attach(struct dvb_usb_adapter *adap) m920x_tda10046_08_frontend_attach() argument
609 adap->fe_adap[0].fe = dvb_attach(tda10046_attach, m920x_tda10046_08_frontend_attach()
611 &adap->dev->i2c_adap); m920x_tda10046_08_frontend_attach()
612 if ((adap->fe_adap[0].fe) == NULL) m920x_tda10046_08_frontend_attach()
618 static int m920x_tda10046_0b_frontend_attach(struct dvb_usb_adapter *adap) m920x_tda10046_0b_frontend_attach() argument
622 adap->fe_adap[0].fe = dvb_attach(tda10046_attach, m920x_tda10046_0b_frontend_attach()
624 &adap->dev->i2c_adap); m920x_tda10046_0b_frontend_attach()
625 if ((adap->fe_adap[0].fe) == NULL) m920x_tda10046_0b_frontend_attach()
631 static int m920x_qt1010_tuner_attach(struct dvb_usb_adapter *adap) m920x_qt1010_tuner_attach() argument
635 if (dvb_attach(qt1010_attach, adap->fe_adap[0].fe, &adap->dev->i2c_adap, &m920x_qt1010_config) == NULL) m920x_qt1010_tuner_attach()
641 static int m920x_tda8275_60_tuner_attach(struct dvb_usb_adapter *adap) m920x_tda8275_60_tuner_attach() argument
645 if (dvb_attach(tda827x_attach, adap->fe_adap[0].fe, 0x60, &adap->dev->i2c_adap, NULL) == NULL) m920x_tda8275_60_tuner_attach()
651 static int m920x_tda8275_61_tuner_attach(struct dvb_usb_adapter *adap) m920x_tda8275_61_tuner_attach() argument
655 if (dvb_attach(tda827x_attach, adap->fe_adap[0].fe, 0x61, &adap->dev->i2c_adap, NULL) == NULL) m920x_tda8275_61_tuner_attach()
661 static int m920x_fmd1216me_tuner_attach(struct dvb_usb_adapter *adap) m920x_fmd1216me_tuner_attach() argument
663 dvb_attach(simple_tuner_attach, adap->fe_adap[0].fe, m920x_fmd1216me_tuner_attach()
664 &adap->dev->i2c_adap, 0x61, m920x_fmd1216me_tuner_attach()
669 static int m920x_mt2060_tuner_attach(struct dvb_usb_adapter *adap) m920x_mt2060_tuner_attach() argument
673 if (dvb_attach(mt2060_attach, adap->fe_adap[0].fe, &adap->dev->i2c_adap, m920x_mt2060_tuner_attach()
H A Daz6027.c366 static int az6027_streaming_ctrl(struct dvb_usb_adapter *adap, int onoff) az6027_streaming_ctrl() argument
381 ret = az6027_usb_out_op(adap->dev, req, value, index, NULL, blen); az6027_streaming_ctrl()
785 struct dvb_usb_adapter *adap = fe->dvb->priv; az6027_set_voltage() local
802 i2c_transfer(&adap->dev->i2c_adap, &i2c_msg, 1); az6027_set_voltage()
807 i2c_transfer(&adap->dev->i2c_adap, &i2c_msg, 1); az6027_set_voltage()
812 i2c_transfer(&adap->dev->i2c_adap, &i2c_msg, 1); az6027_set_voltage()
822 static int az6027_frontend_poweron(struct dvb_usb_adapter *adap) az6027_frontend_poweron() argument
835 ret = az6027_usb_out_op(adap->dev, req, value, index, NULL, blen); az6027_frontend_poweron()
841 static int az6027_frontend_reset(struct dvb_usb_adapter *adap) az6027_frontend_reset() argument
855 ret = az6027_usb_out_op(adap->dev, req, value, index, NULL, blen); az6027_frontend_reset()
865 ret = az6027_usb_out_op(adap->dev, req, value, index, NULL, blen); az6027_frontend_reset()
876 ret = az6027_usb_out_op(adap->dev, req, value, index, NULL, blen); az6027_frontend_reset()
884 static int az6027_frontend_tsbypass(struct dvb_usb_adapter *adap, int onoff) az6027_frontend_tsbypass() argument
898 ret = az6027_usb_out_op(adap->dev, req, value, index, NULL, blen); az6027_frontend_tsbypass()
905 static int az6027_frontend_attach(struct dvb_usb_adapter *adap) az6027_frontend_attach() argument
908 az6027_frontend_poweron(adap); az6027_frontend_attach()
909 az6027_frontend_reset(adap); az6027_frontend_attach()
911 deb_info("adap = %p, dev = %p\n", adap, adap->dev); az6027_frontend_attach()
912 adap->fe_adap[0].fe = stb0899_attach(&az6027_stb0899_config, &adap->dev->i2c_adap); az6027_frontend_attach()
914 if (adap->fe_adap[0].fe) { az6027_frontend_attach()
916 if (stb6100_attach(adap->fe_adap[0].fe, &az6027_stb6100_config, &adap->dev->i2c_adap)) { az6027_frontend_attach()
918 adap->fe_adap[0].fe->ops.set_voltage = az6027_set_voltage; az6027_frontend_attach()
919 az6027_ci_init(adap); az6027_frontend_attach()
921 adap->fe_adap[0].fe = NULL; az6027_frontend_attach()
926 az6027_frontend_tsbypass(adap, 0); az6027_frontend_attach()
952 static int az6027_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msg[], int num) az6027_i2c_xfer() argument
954 struct dvb_usb_device *d = i2c_get_adapdata(adap); az6027_i2c_xfer()
H A Dumt-010.c55 static int umt_mt352_frontend_attach(struct dvb_usb_adapter *adap) umt_mt352_frontend_attach() argument
63 adap->fe_adap[0].fe = dvb_attach(mt352_attach, &umt_config, &adap->dev->i2c_adap); umt_mt352_frontend_attach()
68 static int umt_tuner_attach (struct dvb_usb_adapter *adap) umt_tuner_attach() argument
70 dvb_attach(dvb_pll_attach, adap->fe_adap[0].fe, 0x61, NULL, DVB_PLL_TUA6034); umt_tuner_attach()
H A DcinergyT2-core.c51 static int cinergyt2_streaming_ctrl(struct dvb_usb_adapter *adap, int enable) cinergyt2_streaming_ctrl() argument
55 return dvb_usb_generic_rw(adap->dev, buf, sizeof(buf), result, cinergyt2_streaming_ctrl()
66 static int cinergyt2_frontend_attach(struct dvb_usb_adapter *adap) cinergyt2_frontend_attach() argument
72 adap->fe_adap[0].fe = cinergyt2_fe_attach(adap->dev); cinergyt2_frontend_attach()
74 ret = dvb_usb_generic_rw(adap->dev, query, sizeof(query), state, cinergyt2_frontend_attach()
82 cinergyt2_usb_device = adap->dev; cinergyt2_frontend_attach()
H A Ddib0700_core.c164 static int dib0700_i2c_xfer_new(struct i2c_adapter *adap, struct i2c_msg *msg, dib0700_i2c_xfer_new() argument
170 struct dvb_usb_device *d = i2c_get_adapdata(adap); dib0700_i2c_xfer_new()
267 static int dib0700_i2c_xfer_legacy(struct i2c_adapter *adap, dib0700_i2c_xfer_legacy() argument
270 struct dvb_usb_device *d = i2c_get_adapdata(adap); dib0700_i2c_xfer_legacy()
317 static int dib0700_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg *msg, dib0700_i2c_xfer() argument
320 struct dvb_usb_device *d = i2c_get_adapdata(adap); dib0700_i2c_xfer()
325 return dib0700_i2c_xfer_new(adap, msg, num); dib0700_i2c_xfer()
328 return dib0700_i2c_xfer_legacy(adap, msg, num); dib0700_i2c_xfer()
548 int dib0700_streaming_ctrl(struct dvb_usb_adapter *adap, int onoff) dib0700_streaming_ctrl() argument
550 struct dib0700_state *st = adap->dev->priv; dib0700_streaming_ctrl()
556 ret = dib0700_set_usb_xfer_len(adap->dev, dib0700_streaming_ctrl()
564 mutex_lock(&adap->dev->usb_mutex); dib0700_streaming_ctrl()
578 deb_info("modifying (%d) streaming state for %d\n", onoff, adap->id); dib0700_streaming_ctrl()
581 if ((adap->fe_adap[0].stream.props.endpoint != 2) dib0700_streaming_ctrl()
582 && (adap->fe_adap[0].stream.props.endpoint != 3)) { dib0700_streaming_ctrl()
583 deb_info("the endpoint number (%i) is not correct, use the adapter id instead", adap->fe_adap[0].stream.props.endpoint); dib0700_streaming_ctrl()
585 st->channel_state |= 1 << (adap->id); dib0700_streaming_ctrl()
587 st->channel_state |= 1 << ~(adap->id); dib0700_streaming_ctrl()
590 st->channel_state |= 1 << (adap->fe_adap[0].stream.props.endpoint-2); dib0700_streaming_ctrl()
592 st->channel_state |= 1 << (3-adap->fe_adap[0].stream.props.endpoint); dib0700_streaming_ctrl()
599 ret = dib0700_ctrl_wr(adap->dev, st->buf, 4); dib0700_streaming_ctrl()
600 mutex_unlock(&adap->dev->usb_mutex); dib0700_streaming_ctrl()
H A Dopera1.c134 static int opera1_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msg[], opera1_i2c_xfer() argument
137 struct dvb_usb_device *d = i2c_get_adapdata(adap); opera1_i2c_xfer()
276 static int opera1_tuner_attach(struct dvb_usb_adapter *adap) opera1_tuner_attach() argument
279 dvb_pll_attach, adap->fe_adap[0].fe, 0xc0>>1, opera1_tuner_attach()
280 &adap->dev->i2c_adap, DVB_PLL_OPERA1 opera1_tuner_attach()
295 static int opera1_streaming_ctrl(struct dvb_usb_adapter *adap, int onoff) opera1_streaming_ctrl() argument
304 i2c_transfer(&adap->dev->i2c_adap, start_tuner, 1); opera1_streaming_ctrl()
308 static int opera1_pid_filter(struct dvb_usb_adapter *adap, int index, u16 pid, opera1_pid_filter() argument
321 i2c_transfer(&adap->dev->i2c_adap, msg, 1); opera1_pid_filter()
325 static int opera1_pid_filter_control(struct dvb_usb_adapter *adap, int onoff) opera1_pid_filter_control() argument
338 i2c_transfer(&adap->dev->i2c_adap, msg, 1); opera1_pid_filter_control()
H A Ddtt200u.c33 static int dtt200u_streaming_ctrl(struct dvb_usb_adapter *adap, int onoff) dtt200u_streaming_ctrl() argument
38 dvb_usb_generic_write(adap->dev, b_streaming, 2); dtt200u_streaming_ctrl()
41 dvb_usb_generic_write(adap->dev, &b_rst_pid, 1); dtt200u_streaming_ctrl()
45 static int dtt200u_pid_filter(struct dvb_usb_adapter *adap, int index, u16 pid, int onoff) dtt200u_pid_filter() argument
55 return dvb_usb_generic_write(adap->dev, b_pid, 4); dtt200u_pid_filter()
91 static int dtt200u_frontend_attach(struct dvb_usb_adapter *adap) dtt200u_frontend_attach() argument
93 adap->fe_adap[0].fe = dtt200u_fe_attach(adap->dev); dtt200u_frontend_attach()
H A Dvp7045.c198 static int vp7045_frontend_attach(struct dvb_usb_adapter *adap) vp7045_frontend_attach() argument
202 vp7045_usb_op(adap->dev,VENDOR_STRING_READ,NULL,0,buf,20,0); vp7045_frontend_attach()
206 vp7045_usb_op(adap->dev,PRODUCT_STRING_READ,NULL,0,buf,20,0); vp7045_frontend_attach()
210 vp7045_usb_op(adap->dev,FW_VERSION_READ,NULL,0,buf,20,0); vp7045_frontend_attach()
217 adap->fe_adap[0].fe = vp7045_fe_attach(adap->dev); vp7045_frontend_attach()
H A Ddw2102.c165 static int dw2102_i2c_transfer(struct i2c_adapter *adap, struct i2c_msg msg[], dw2102_i2c_transfer() argument
168 struct dvb_usb_device *d = i2c_get_adapdata(adap); dw2102_i2c_transfer()
238 static int dw2102_serit_i2c_transfer(struct i2c_adapter *adap, dw2102_serit_i2c_transfer() argument
241 struct dvb_usb_device *d = i2c_get_adapdata(adap); dw2102_serit_i2c_transfer()
293 static int dw2102_earda_i2c_transfer(struct i2c_adapter *adap, struct i2c_msg msg[], int num) dw2102_earda_i2c_transfer() argument
295 struct dvb_usb_device *d = i2c_get_adapdata(adap); dw2102_earda_i2c_transfer()
392 static int dw2104_i2c_transfer(struct i2c_adapter *adap, struct i2c_msg msg[], int num) dw2104_i2c_transfer() argument
394 struct dvb_usb_device *d = i2c_get_adapdata(adap); dw2104_i2c_transfer()
491 static int dw3101_i2c_transfer(struct i2c_adapter *adap, struct i2c_msg msg[], dw3101_i2c_transfer() argument
494 struct dvb_usb_device *d = i2c_get_adapdata(adap); dw3101_i2c_transfer()
571 static int s6x0_i2c_transfer(struct i2c_adapter *adap, struct i2c_msg msg[], s6x0_i2c_transfer() argument
574 struct dvb_usb_device *d = i2c_get_adapdata(adap); s6x0_i2c_transfer()
705 static int su3000_i2c_transfer(struct i2c_adapter *adap, struct i2c_msg msg[], su3000_i2c_transfer() argument
708 struct dvb_usb_device *d = i2c_get_adapdata(adap); su3000_i2c_transfer()
873 static int su3000_streaming_ctrl(struct dvb_usb_adapter *adap, int onoff) su3000_streaming_ctrl() argument
884 i2c_transfer(&adap->dev->i2c_adap, &msg, 1); su3000_streaming_ctrl()
1481 static int tt_s2_4600_frontend_attach(struct dvb_usb_adapter *adap) tt_s2_4600_frontend_attach() argument
1483 struct dvb_usb_device *d = adap->dev; tt_s2_4600_frontend_attach()
1524 adap->fe_adap[0].fe = dvb_attach(m88ds3103_attach, tt_s2_4600_frontend_attach()
1528 if (adap->fe_adap[0].fe == NULL) tt_s2_4600_frontend_attach()
1532 ts2020_config.fe = adap->fe_adap[0].fe; tt_s2_4600_frontend_attach()
1540 dvb_frontend_detach(adap->fe_adap[0].fe); tt_s2_4600_frontend_attach()
1546 dvb_frontend_detach(adap->fe_adap[0].fe); tt_s2_4600_frontend_attach()
1551 adap->fe_adap[0].fe->ops.read_signal_strength = tt_s2_4600_frontend_attach()
1552 adap->fe_adap[0].fe->ops.tuner_ops.get_rf_strength; tt_s2_4600_frontend_attach()
1559 static int dw2102_tuner_attach(struct dvb_usb_adapter *adap) dw2102_tuner_attach() argument
1561 dvb_attach(dvb_pll_attach, adap->fe_adap[0].fe, 0x60, dw2102_tuner_attach()
1562 &adap->dev->i2c_adap, DVB_PLL_OPERA1); dw2102_tuner_attach()
1566 static int dw3101_tuner_attach(struct dvb_usb_adapter *adap) dw3101_tuner_attach() argument
1568 dvb_attach(dvb_pll_attach, adap->fe_adap[0].fe, 0x60, dw3101_tuner_attach()
1569 &adap->dev->i2c_adap, DVB_PLL_TUA6034); dw3101_tuner_attach()
H A Daf9005.c413 static int af9005_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msg[], af9005_i2c_xfer() argument
418 struct dvb_usb_device *d = i2c_get_adapdata(adap); af9005_i2c_xfer()
798 static int af9005_frontend_attach(struct dvb_usb_adapter *adap) af9005_frontend_attach() argument
807 struct usb_device *udev = adap->dev->udev; af9005_frontend_attach()
813 af9005_read_eeprom(adap->dev, i, buf, 8); af9005_frontend_attach()
818 adap->fe_adap[0].fe = af9005_fe_attach(adap->dev); af9005_frontend_attach()
881 static int af9005_pid_filter_control(struct dvb_usb_adapter *adap, int onoff) af9005_pid_filter_control() argument
887 af9005_write_ofdm_register(adap->dev, XD_MP2IF_DMX_CTRL, 1); af9005_pid_filter_control()
891 af9005_write_register_bits(adap->dev, af9005_pid_filter_control()
896 af9005_write_ofdm_register(adap->dev, XD_MP2IF_DMX_CTRL, 1); af9005_pid_filter_control()
899 af9005_write_ofdm_register(adap->dev, XD_MP2IF_DMX_CTRL, 0); af9005_pid_filter_control()
906 static int af9005_pid_filter(struct dvb_usb_adapter *adap, int index, af9005_pid_filter() argument
916 if (adap->feedcount == 1) { af9005_pid_filter()
918 ret = af9005_pid_filter_control(adap, onoff); af9005_pid_filter()
923 af9005_write_ofdm_register(adap->dev, af9005_pid_filter()
929 af9005_write_ofdm_register(adap->dev, af9005_pid_filter()
936 if (adap->feedcount == 0) { af9005_pid_filter()
938 ret = af9005_pid_filter_control(adap, onoff); af9005_pid_filter()
943 ret = af9005_write_ofdm_register(adap->dev, XD_MP2IF_PID_IDX, cmd); af9005_pid_filter()
H A Dgp8psk.c226 static int gp8psk_streaming_ctrl(struct dvb_usb_adapter *adap, int onoff) gp8psk_streaming_ctrl() argument
228 return gp8psk_usb_out_op(adap->dev, ARM_TRANSFER, onoff, 0 , NULL, 0); gp8psk_streaming_ctrl()
231 static int gp8psk_frontend_attach(struct dvb_usb_adapter *adap) gp8psk_frontend_attach() argument
233 adap->fe_adap[0].fe = gp8psk_fe_attach(adap->dev); gp8psk_frontend_attach()
H A Ddib0700.h63 extern int dib0700_streaming_ctrl(struct dvb_usb_adapter *adap, int onoff);
/linux-4.1.27/sound/soc/codecs/
H A Dl3.c30 static void sendbyte(struct l3_pins *adap, unsigned int byte) sendbyte() argument
35 adap->setclk(0); sendbyte()
36 udelay(adap->data_hold); sendbyte()
37 adap->setdat(byte & 1); sendbyte()
38 udelay(adap->data_setup); sendbyte()
39 adap->setclk(1); sendbyte()
40 udelay(adap->clock_high); sendbyte()
50 static void sendbytes(struct l3_pins *adap, const u8 *buf, sendbytes() argument
57 udelay(adap->mode_hold); sendbytes()
58 adap->setmode(0); sendbytes()
59 udelay(adap->mode); sendbytes()
61 adap->setmode(1); sendbytes()
62 udelay(adap->mode_setup); sendbytes()
63 sendbyte(adap, buf[i]); sendbytes()
67 int l3_write(struct l3_pins *adap, u8 addr, u8 *data, int len) l3_write() argument
69 adap->setclk(1); l3_write()
70 adap->setdat(1); l3_write()
71 adap->setmode(1); l3_write()
72 udelay(adap->mode); l3_write()
74 adap->setmode(0); l3_write()
75 udelay(adap->mode_setup); l3_write()
76 sendbyte(adap, addr); l3_write()
77 udelay(adap->mode_hold); l3_write()
79 sendbytes(adap, data, len); l3_write()
81 adap->setclk(1); l3_write()
82 adap->setdat(1); l3_write()
83 adap->setmode(0); l3_write()
/linux-4.1.27/drivers/media/pci/pt3/
H A Dpt3_dma.c33 int pt3_stop_dma(struct pt3_adapter *adap) pt3_stop_dma() argument
35 struct pt3_board *pt3 = adap->dvb_adap.priv; pt3_stop_dma()
40 base = get_dma_base(adap->adap_idx); pt3_stop_dma()
55 int pt3_start_dma(struct pt3_adapter *adap) pt3_start_dma() argument
57 struct pt3_board *pt3 = adap->dvb_adap.priv; pt3_start_dma()
58 u32 base = get_dma_base(adap->adap_idx); pt3_start_dma()
61 iowrite32(lower_32_bits(adap->desc_buf[0].b_addr), pt3_start_dma()
63 iowrite32(upper_32_bits(adap->desc_buf[0].b_addr), pt3_start_dma()
70 static u8 *next_unit(struct pt3_adapter *adap, int *idx, int *ofs) next_unit() argument
76 if (*idx == adap->num_bufs) next_unit()
79 return &adap->buffer[*idx].data[*ofs]; next_unit()
82 int pt3_proc_dma(struct pt3_adapter *adap) pt3_proc_dma() argument
86 idx = adap->buf_idx; pt3_proc_dma()
87 ofs = adap->buf_ofs; pt3_proc_dma()
89 if (adap->buffer[idx].data[ofs] == PT3_BUF_CANARY) pt3_proc_dma()
92 while (*next_unit(adap, &idx, &ofs) != PT3_BUF_CANARY) { pt3_proc_dma()
95 p = &adap->buffer[adap->buf_idx].data[adap->buf_ofs]; pt3_proc_dma()
96 if (adap->num_discard > 0) pt3_proc_dma()
97 adap->num_discard--; pt3_proc_dma()
98 else if (adap->buf_ofs + PT3_ACCESS_UNIT > DATA_BUF_SZ) { pt3_proc_dma()
99 dvb_dmx_swfilter_packets(&adap->demux, p, pt3_proc_dma()
100 (DATA_BUF_SZ - adap->buf_ofs) / TS_PACKET_SZ); pt3_proc_dma()
101 dvb_dmx_swfilter_packets(&adap->demux, pt3_proc_dma()
102 adap->buffer[idx].data, ofs / TS_PACKET_SZ); pt3_proc_dma()
104 dvb_dmx_swfilter_packets(&adap->demux, p, pt3_proc_dma()
108 adap->buf_idx = idx; pt3_proc_dma()
109 adap->buf_ofs = ofs; pt3_proc_dma()
114 void pt3_init_dmabuf(struct pt3_adapter *adap) pt3_init_dmabuf() argument
121 p = adap->buffer[0].data; pt3_init_dmabuf()
123 while (idx < adap->num_bufs) { pt3_init_dmabuf()
129 p = adap->buffer[idx].data; pt3_init_dmabuf()
132 adap->buf_idx = 0; pt3_init_dmabuf()
133 adap->buf_ofs = 0; pt3_init_dmabuf()
136 void pt3_free_dmabuf(struct pt3_adapter *adap) pt3_free_dmabuf() argument
141 pt3 = adap->dvb_adap.priv; pt3_free_dmabuf()
142 for (i = 0; i < adap->num_bufs; i++) pt3_free_dmabuf()
144 adap->buffer[i].data, adap->buffer[i].b_addr); pt3_free_dmabuf()
145 adap->num_bufs = 0; pt3_free_dmabuf()
147 for (i = 0; i < adap->num_desc_bufs; i++) pt3_free_dmabuf()
149 adap->desc_buf[i].descs, adap->desc_buf[i].b_addr); pt3_free_dmabuf()
150 adap->num_desc_bufs = 0; pt3_free_dmabuf()
154 int pt3_alloc_dmabuf(struct pt3_adapter *adap) pt3_alloc_dmabuf() argument
164 pt3 = adap->dvb_adap.priv; pt3_alloc_dmabuf()
165 adap->num_bufs = 0; pt3_alloc_dmabuf()
166 adap->num_desc_bufs = 0; pt3_alloc_dmabuf()
169 &adap->buffer[i].b_addr, GFP_KERNEL); pt3_alloc_dmabuf()
172 adap->buffer[i].data = p; pt3_alloc_dmabuf()
173 adap->num_bufs++; pt3_alloc_dmabuf()
175 pt3_init_dmabuf(adap); pt3_alloc_dmabuf()
181 DIV_ROUND_UP(adap->num_bufs * DATA_BUF_XFERS, DESCS_IN_PAGE); pt3_alloc_dmabuf()
187 adap->num_desc_bufs++; pt3_alloc_dmabuf()
188 adap->desc_buf[i].descs = p; pt3_alloc_dmabuf()
189 adap->desc_buf[i].b_addr = desc_addr; pt3_alloc_dmabuf()
192 d = &adap->desc_buf[i - 1].descs[DESCS_IN_PAGE - 1]; pt3_alloc_dmabuf()
197 data_addr = adap->buffer[idx].b_addr + ofs; pt3_alloc_dmabuf()
198 d = &adap->desc_buf[i].descs[j]; pt3_alloc_dmabuf()
211 if (idx >= adap->num_bufs) { pt3_alloc_dmabuf()
212 desc_addr = adap->desc_buf[0].b_addr; pt3_alloc_dmabuf()
223 pt3_free_dmabuf(adap); pt3_alloc_dmabuf()
H A Dpt3.c100 pt3_demod_write(struct pt3_adapter *adap, const struct reg_val *data, int num) pt3_demod_write() argument
106 msg.addr = adap->i2c_demod->addr; pt3_demod_write()
111 ret = i2c_transfer(adap->i2c_demod->adapter, &msg, 1); pt3_demod_write()
158 struct pt3_adapter *adap; pt3_set_lna() local
165 adap = pt3_find_adapter(fe); pt3_set_lna()
167 if (val == LNA_AUTO || val == adap->cur_lna) pt3_set_lna()
170 pt3 = adap->dvb_adap.priv; pt3_set_lna()
187 adap->cur_lna = (val != 0); pt3_set_lna()
193 struct pt3_adapter *adap; pt3_set_voltage() local
199 adap = pt3_find_adapter(fe); pt3_set_voltage()
201 if (on == adap->cur_lnb) pt3_set_voltage()
203 adap->cur_lnb = on; pt3_set_voltage()
204 pt3 = adap->dvb_adap.priv; pt3_set_voltage()
445 struct pt3_adapter *adap = data; pt3_fetch_thread() local
453 pt3_init_dmabuf(adap); pt3_fetch_thread()
454 adap->num_discard = PT3_INITIAL_BUF_DROPS; pt3_fetch_thread()
456 dev_dbg(adap->dvb_adap.device, "PT3: [%s] started\n", pt3_fetch_thread()
457 adap->thread->comm); pt3_fetch_thread()
461 adap->num_discard = PT3_INITIAL_BUF_DROPS; pt3_fetch_thread()
463 pt3_proc_dma(adap); pt3_fetch_thread()
471 dev_dbg(adap->dvb_adap.device, "PT3: [%s] exited\n", pt3_fetch_thread()
472 adap->thread->comm); pt3_fetch_thread()
473 adap->thread = NULL; pt3_fetch_thread()
477 static int pt3_start_streaming(struct pt3_adapter *adap) pt3_start_streaming() argument
482 thread = kthread_run(pt3_fetch_thread, adap, "pt3-ad%i-dmx%i", pt3_start_streaming()
483 adap->dvb_adap.num, adap->dmxdev.dvbdev->id); pt3_start_streaming()
487 dev_warn(adap->dvb_adap.device, pt3_start_streaming()
488 "PT3 (adap:%d, dmx:%d): failed to start kthread\n", pt3_start_streaming()
489 adap->dvb_adap.num, adap->dmxdev.dvbdev->id); pt3_start_streaming()
492 adap->thread = thread; pt3_start_streaming()
494 return pt3_start_dma(adap); pt3_start_streaming()
497 static int pt3_stop_streaming(struct pt3_adapter *adap) pt3_stop_streaming() argument
501 ret = pt3_stop_dma(adap); pt3_stop_streaming()
503 dev_warn(adap->dvb_adap.device, pt3_stop_streaming()
504 "PT3: failed to stop streaming of adap:%d/FE:%d\n", pt3_stop_streaming()
505 adap->dvb_adap.num, adap->fe->id); pt3_stop_streaming()
508 ret = kthread_stop(adap->thread); pt3_stop_streaming()
514 struct pt3_adapter *adap; pt3_start_feed() local
519 adap = container_of(feed->demux, struct pt3_adapter, demux); pt3_start_feed()
520 adap->num_feeds++; pt3_start_feed()
521 if (adap->thread) pt3_start_feed()
523 if (adap->num_feeds != 1) { pt3_start_feed()
524 dev_warn(adap->dvb_adap.device, pt3_start_feed()
525 "%s: unmatched start/stop_feed in adap:%i/dmx:%i\n", pt3_start_feed()
526 __func__, adap->dvb_adap.num, adap->dmxdev.dvbdev->id); pt3_start_feed()
527 adap->num_feeds = 1; pt3_start_feed()
530 return pt3_start_streaming(adap); pt3_start_feed()
536 struct pt3_adapter *adap; pt3_stop_feed() local
538 adap = container_of(feed->demux, struct pt3_adapter, demux); pt3_stop_feed()
540 adap->num_feeds--; pt3_stop_feed()
541 if (adap->num_feeds > 0 || !adap->thread) pt3_stop_feed()
543 adap->num_feeds = 0; pt3_stop_feed()
545 return pt3_stop_streaming(adap); pt3_stop_feed()
552 struct pt3_adapter *adap; pt3_alloc_adapter() local
555 adap = kzalloc(sizeof(*adap), GFP_KERNEL); pt3_alloc_adapter()
556 if (!adap) pt3_alloc_adapter()
559 pt3->adaps[index] = adap; pt3_alloc_adapter()
560 adap->adap_idx = index; pt3_alloc_adapter()
563 ret = dvb_register_adapter(&adap->dvb_adap, "PT3 DVB", pt3_alloc_adapter()
570 da = &adap->dvb_adap; pt3_alloc_adapter()
574 adap->dvb_adap.priv = pt3; pt3_alloc_adapter()
575 adap->demux.dmx.capabilities = DMX_TS_FILTERING | DMX_SECTION_FILTERING; pt3_alloc_adapter()
576 adap->demux.priv = adap; pt3_alloc_adapter()
577 adap->demux.feednum = 256; pt3_alloc_adapter()
578 adap->demux.filternum = 256; pt3_alloc_adapter()
579 adap->demux.start_feed = pt3_start_feed; pt3_alloc_adapter()
580 adap->demux.stop_feed = pt3_stop_feed; pt3_alloc_adapter()
581 ret = dvb_dmx_init(&adap->demux); pt3_alloc_adapter()
587 adap->dmxdev.filternum = 256; pt3_alloc_adapter()
588 adap->dmxdev.demux = &adap->demux.dmx; pt3_alloc_adapter()
589 ret = dvb_dmxdev_init(&adap->dmxdev, da); pt3_alloc_adapter()
595 ret = pt3_alloc_dmabuf(adap); pt3_alloc_adapter()
604 pt3_free_dmabuf(adap); pt3_alloc_adapter()
605 dvb_dmxdev_release(&adap->dmxdev); pt3_alloc_adapter()
607 dvb_dmx_release(&adap->demux); pt3_alloc_adapter()
612 kfree(adap); pt3_alloc_adapter()
619 struct pt3_adapter *adap; pt3_cleanup_adapter() local
622 adap = pt3->adaps[index]; pt3_cleanup_adapter()
623 if (adap == NULL) pt3_cleanup_adapter()
627 if (adap->thread) pt3_cleanup_adapter()
628 pt3_stop_streaming(adap); pt3_cleanup_adapter()
630 dmx = &adap->demux.dmx; pt3_cleanup_adapter()
632 if (adap->fe) { pt3_cleanup_adapter()
633 adap->fe->callback = NULL; pt3_cleanup_adapter()
634 if (adap->fe->frontend_priv) pt3_cleanup_adapter()
635 dvb_unregister_frontend(adap->fe); pt3_cleanup_adapter()
636 if (adap->i2c_tuner) { pt3_cleanup_adapter()
637 module_put(adap->i2c_tuner->dev.driver->owner); pt3_cleanup_adapter()
638 i2c_unregister_device(adap->i2c_tuner); pt3_cleanup_adapter()
640 if (adap->i2c_demod) { pt3_cleanup_adapter()
641 module_put(adap->i2c_demod->dev.driver->owner); pt3_cleanup_adapter()
642 i2c_unregister_device(adap->i2c_demod); pt3_cleanup_adapter()
645 pt3_free_dmabuf(adap); pt3_cleanup_adapter()
646 dvb_dmxdev_release(&adap->dmxdev); pt3_cleanup_adapter()
647 dvb_dmx_release(&adap->demux); pt3_cleanup_adapter()
649 dvb_unregister_adapter(&adap->dvb_adap); pt3_cleanup_adapter()
650 kfree(adap); pt3_cleanup_adapter()
661 struct pt3_adapter *adap; pt3_suspend() local
664 adap = pt3->adaps[i]; pt3_suspend()
665 if (adap->num_feeds > 0) pt3_suspend()
666 pt3_stop_dma(adap); pt3_suspend()
667 dvb_frontend_suspend(adap->fe); pt3_suspend()
668 pt3_free_dmabuf(adap); pt3_suspend()
681 struct pt3_adapter *adap; pt3_resume() local
693 adap = pt3->adaps[i]; pt3_resume()
694 dvb_frontend_resume(adap->fe); pt3_resume()
695 ret = pt3_alloc_dmabuf(adap); pt3_resume()
700 if (adap->num_feeds > 0) pt3_resume()
701 pt3_start_dma(adap); pt3_resume()
H A Dpt3.h173 extern int pt3_alloc_dmabuf(struct pt3_adapter *adap);
174 extern void pt3_init_dmabuf(struct pt3_adapter *adap);
175 extern void pt3_free_dmabuf(struct pt3_adapter *adap);
176 extern int pt3_start_dma(struct pt3_adapter *adap);
177 extern int pt3_stop_dma(struct pt3_adapter *adap);
178 extern int pt3_proc_dma(struct pt3_adapter *adap);
180 extern int pt3_i2c_master_xfer(struct i2c_adapter *adap,
182 extern u32 pt3_i2c_functionality(struct i2c_adapter *adap);
H A Dpt3_i2c.c202 pt3_i2c_master_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num) pt3_i2c_master_xfer() argument
209 pt3 = i2c_get_adapdata(adap); pt3_i2c_master_xfer()
237 u32 pt3_i2c_functionality(struct i2c_adapter *adap) pt3_i2c_functionality() argument
/linux-4.1.27/drivers/media/usb/pvrusb2/
H A Dpvrusb2-dvb.c34 static int pvr2_dvb_feed_func(struct pvr2_dvb_adapter *adap) pvr2_dvb_feed_func() argument
44 stream = adap->channel.stream->stream; pvr2_dvb_feed_func()
57 &adap->demux, pvr2_dvb_feed_func()
58 adap->buffer_storage[ pvr2_dvb_feed_func()
79 adap->buffer_wait_data, pvr2_dvb_feed_func()
104 static void pvr2_dvb_notify(struct pvr2_dvb_adapter *adap) pvr2_dvb_notify() argument
106 wake_up(&adap->buffer_wait_data); pvr2_dvb_notify()
109 static void pvr2_dvb_stream_end(struct pvr2_dvb_adapter *adap) pvr2_dvb_stream_end() argument
114 if (adap->thread) { pvr2_dvb_stream_end()
115 kthread_stop(adap->thread); pvr2_dvb_stream_end()
116 adap->thread = NULL; pvr2_dvb_stream_end()
119 if (adap->channel.stream) { pvr2_dvb_stream_end()
120 stream = adap->channel.stream->stream; pvr2_dvb_stream_end()
125 pvr2_hdw_set_streaming(adap->channel.hdw, 0); pvr2_dvb_stream_end()
129 pvr2_channel_claim_stream(&adap->channel, NULL); pvr2_dvb_stream_end()
132 if (adap->stream_run) { pvr2_dvb_stream_end()
134 if (!(adap->buffer_storage[idx])) continue; pvr2_dvb_stream_end()
135 kfree(adap->buffer_storage[idx]); pvr2_dvb_stream_end()
136 adap->buffer_storage[idx] = NULL; pvr2_dvb_stream_end()
138 adap->stream_run = 0; pvr2_dvb_stream_end()
142 static int pvr2_dvb_stream_do_start(struct pvr2_dvb_adapter *adap) pvr2_dvb_stream_do_start() argument
144 struct pvr2_context *pvr = adap->channel.mc_head; pvr2_dvb_stream_do_start()
150 if (adap->stream_run) return -EIO; pvr2_dvb_stream_do_start()
152 ret = pvr2_channel_claim_stream(&adap->channel, &pvr->video_stream); pvr2_dvb_stream_do_start()
156 stream = adap->channel.stream->stream; pvr2_dvb_stream_do_start()
159 adap->buffer_storage[idx] = kmalloc(PVR2_DVB_BUFFER_SIZE, pvr2_dvb_stream_do_start()
161 if (!(adap->buffer_storage[idx])) return -ENOMEM; pvr2_dvb_stream_do_start()
165 (pvr2_stream_callback) pvr2_dvb_notify, adap); pvr2_dvb_stream_do_start()
173 adap->buffer_storage[idx], pvr2_dvb_stream_do_start()
177 ret = pvr2_hdw_set_streaming(adap->channel.hdw, 1); pvr2_dvb_stream_do_start()
185 adap->thread = kthread_run(pvr2_dvb_feed_thread, adap, "pvrusb2-dvb"); pvr2_dvb_stream_do_start()
187 if (IS_ERR(adap->thread)) { pvr2_dvb_stream_do_start()
188 ret = PTR_ERR(adap->thread); pvr2_dvb_stream_do_start()
189 adap->thread = NULL; pvr2_dvb_stream_do_start()
193 adap->stream_run = !0; pvr2_dvb_stream_do_start()
198 static int pvr2_dvb_stream_start(struct pvr2_dvb_adapter *adap) pvr2_dvb_stream_start() argument
200 int ret = pvr2_dvb_stream_do_start(adap); pvr2_dvb_stream_start()
201 if (ret < 0) pvr2_dvb_stream_end(adap); pvr2_dvb_stream_start()
207 struct pvr2_dvb_adapter *adap = dvbdmxfeed->demux->priv; pvr2_dvb_ctrl_feed() local
210 if (adap == NULL) return -ENODEV; pvr2_dvb_ctrl_feed()
212 mutex_lock(&adap->lock); pvr2_dvb_ctrl_feed()
215 if (!adap->feedcount) { pvr2_dvb_ctrl_feed()
218 ret = pvr2_dvb_stream_start(adap); pvr2_dvb_ctrl_feed()
221 (adap->feedcount)++; pvr2_dvb_ctrl_feed()
222 } else if (adap->feedcount > 0) { pvr2_dvb_ctrl_feed()
223 (adap->feedcount)--; pvr2_dvb_ctrl_feed()
224 if (!adap->feedcount) { pvr2_dvb_ctrl_feed()
227 pvr2_dvb_stream_end(adap); pvr2_dvb_ctrl_feed()
231 mutex_unlock(&adap->lock); pvr2_dvb_ctrl_feed()
250 struct pvr2_dvb_adapter *adap = fe->dvb->priv; pvr2_dvb_bus_ctrl() local
252 &adap->channel, pvr2_dvb_bus_ctrl()
256 static int pvr2_dvb_adapter_init(struct pvr2_dvb_adapter *adap) pvr2_dvb_adapter_init() argument
260 ret = dvb_register_adapter(&adap->dvb_adap, "pvrusb2-dvb", pvr2_dvb_adapter_init()
262 &adap->channel.hdw->usb_dev->dev, pvr2_dvb_adapter_init()
269 adap->dvb_adap.priv = adap; pvr2_dvb_adapter_init()
271 adap->demux.dmx.capabilities = DMX_TS_FILTERING | pvr2_dvb_adapter_init()
274 adap->demux.priv = adap; pvr2_dvb_adapter_init()
275 adap->demux.filternum = 256; pvr2_dvb_adapter_init()
276 adap->demux.feednum = 256; pvr2_dvb_adapter_init()
277 adap->demux.start_feed = pvr2_dvb_start_feed; pvr2_dvb_adapter_init()
278 adap->demux.stop_feed = pvr2_dvb_stop_feed; pvr2_dvb_adapter_init()
279 adap->demux.write_to_decoder = NULL; pvr2_dvb_adapter_init()
281 ret = dvb_dmx_init(&adap->demux); pvr2_dvb_adapter_init()
288 adap->dmxdev.filternum = adap->demux.filternum; pvr2_dvb_adapter_init()
289 adap->dmxdev.demux = &adap->demux.dmx; pvr2_dvb_adapter_init()
290 adap->dmxdev.capabilities = 0; pvr2_dvb_adapter_init()
292 ret = dvb_dmxdev_init(&adap->dmxdev, &adap->dvb_adap); pvr2_dvb_adapter_init()
299 dvb_net_init(&adap->dvb_adap, &adap->dvb_net, &adap->demux.dmx); pvr2_dvb_adapter_init()
304 dvb_dmx_release(&adap->demux); pvr2_dvb_adapter_init()
306 dvb_unregister_adapter(&adap->dvb_adap); pvr2_dvb_adapter_init()
311 static int pvr2_dvb_adapter_exit(struct pvr2_dvb_adapter *adap) pvr2_dvb_adapter_exit() argument
314 dvb_net_release(&adap->dvb_net); pvr2_dvb_adapter_exit()
315 adap->demux.dmx.close(&adap->demux.dmx); pvr2_dvb_adapter_exit()
316 dvb_dmxdev_release(&adap->dmxdev); pvr2_dvb_adapter_exit()
317 dvb_dmx_release(&adap->demux); pvr2_dvb_adapter_exit()
318 dvb_unregister_adapter(&adap->dvb_adap); pvr2_dvb_adapter_exit()
322 static int pvr2_dvb_frontend_init(struct pvr2_dvb_adapter *adap) pvr2_dvb_frontend_init() argument
324 struct pvr2_hdw *hdw = adap->channel.hdw; pvr2_dvb_frontend_init()
334 &adap->channel, pvr2_dvb_frontend_init()
350 if ((dvb_props->frontend_attach(adap) == 0) && (adap->fe)) { pvr2_dvb_frontend_init()
352 if (dvb_register_frontend(&adap->dvb_adap, adap->fe)) { pvr2_dvb_frontend_init()
355 dvb_frontend_detach(adap->fe); pvr2_dvb_frontend_init()
356 adap->fe = NULL; pvr2_dvb_frontend_init()
362 dvb_props->tuner_attach(adap); pvr2_dvb_frontend_init()
364 if (adap->fe->ops.analog_ops.standby) pvr2_dvb_frontend_init()
365 adap->fe->ops.analog_ops.standby(adap->fe); pvr2_dvb_frontend_init()
368 adap->fe->ops.ts_bus_ctrl = pvr2_dvb_bus_ctrl; pvr2_dvb_frontend_init()
378 pvr2_channel_limit_inputs(&adap->channel, 0); pvr2_dvb_frontend_init()
382 static int pvr2_dvb_frontend_exit(struct pvr2_dvb_adapter *adap) pvr2_dvb_frontend_exit() argument
384 if (adap->fe != NULL) { pvr2_dvb_frontend_exit()
385 dvb_unregister_frontend(adap->fe); pvr2_dvb_frontend_exit()
386 dvb_frontend_detach(adap->fe); pvr2_dvb_frontend_exit()
391 static void pvr2_dvb_destroy(struct pvr2_dvb_adapter *adap) pvr2_dvb_destroy() argument
393 pvr2_dvb_stream_end(adap); pvr2_dvb_destroy()
394 pvr2_dvb_frontend_exit(adap); pvr2_dvb_destroy()
395 pvr2_dvb_adapter_exit(adap); pvr2_dvb_destroy()
396 pvr2_channel_done(&adap->channel); pvr2_dvb_destroy()
397 kfree(adap); pvr2_dvb_destroy()
402 struct pvr2_dvb_adapter *adap; pvr2_dvb_internal_check() local
403 adap = container_of(chp, struct pvr2_dvb_adapter, channel); pvr2_dvb_internal_check()
404 if (!adap->channel.mc_head->disconnect_flag) return; pvr2_dvb_internal_check()
405 pvr2_dvb_destroy(adap); pvr2_dvb_internal_check()
411 struct pvr2_dvb_adapter *adap; pvr2_dvb_create() local
417 adap = kzalloc(sizeof(*adap), GFP_KERNEL); pvr2_dvb_create()
418 if (!adap) return adap; pvr2_dvb_create()
419 pvr2_channel_init(&adap->channel, pvr); pvr2_dvb_create()
420 adap->channel.check_func = pvr2_dvb_internal_check; pvr2_dvb_create()
421 init_waitqueue_head(&adap->buffer_wait_data); pvr2_dvb_create()
422 mutex_init(&adap->lock); pvr2_dvb_create()
423 ret = pvr2_dvb_adapter_init(adap); pvr2_dvb_create()
425 ret = pvr2_dvb_frontend_init(adap); pvr2_dvb_create()
427 return adap; pvr2_dvb_create()
430 pvr2_dvb_adapter_exit(adap); pvr2_dvb_create()
432 pvr2_channel_done(&adap->channel); pvr2_dvb_create()
H A Dpvrusb2-devattr.c194 static int pvr2_lgdt3303_attach(struct pvr2_dvb_adapter *adap) pvr2_lgdt3303_attach() argument
196 adap->fe = dvb_attach(lgdt330x_attach, &pvr2_lgdt3303_config, pvr2_lgdt3303_attach()
197 &adap->channel.hdw->i2c_adap); pvr2_lgdt3303_attach()
198 if (adap->fe) pvr2_lgdt3303_attach()
204 static int pvr2_lgh06xf_attach(struct pvr2_dvb_adapter *adap) pvr2_lgh06xf_attach() argument
206 dvb_attach(simple_tuner_attach, adap->fe, pvr2_lgh06xf_attach()
207 &adap->channel.hdw->i2c_adap, 0x61, pvr2_lgh06xf_attach()
254 static int pvr2_lgdt3302_attach(struct pvr2_dvb_adapter *adap) pvr2_lgdt3302_attach() argument
256 adap->fe = dvb_attach(lgdt330x_attach, &pvr2_lgdt3302_config, pvr2_lgdt3302_attach()
257 &adap->channel.hdw->i2c_adap); pvr2_lgdt3302_attach()
258 if (adap->fe) pvr2_lgdt3302_attach()
264 static int pvr2_fcv1236d_attach(struct pvr2_dvb_adapter *adap) pvr2_fcv1236d_attach() argument
266 dvb_attach(simple_tuner_attach, adap->fe, pvr2_fcv1236d_attach()
267 &adap->channel.hdw->i2c_adap, 0x61, pvr2_fcv1236d_attach()
340 static int pvr2_tda10048_attach(struct pvr2_dvb_adapter *adap) pvr2_tda10048_attach() argument
342 adap->fe = dvb_attach(tda10048_attach, &hauppauge_tda10048_config, pvr2_tda10048_attach()
343 &adap->channel.hdw->i2c_adap); pvr2_tda10048_attach()
344 if (adap->fe) pvr2_tda10048_attach()
350 static int pvr2_73xxx_tda18271_8295_attach(struct pvr2_dvb_adapter *adap) pvr2_73xxx_tda18271_8295_attach() argument
352 dvb_attach(tda829x_attach, adap->fe, pvr2_73xxx_tda18271_8295_attach()
353 &adap->channel.hdw->i2c_adap, 0x42, pvr2_73xxx_tda18271_8295_attach()
355 dvb_attach(tda18271_attach, adap->fe, 0x60, pvr2_73xxx_tda18271_8295_attach()
356 &adap->channel.hdw->i2c_adap, pvr2_73xxx_tda18271_8295_attach()
438 static int pvr2_s5h1409_attach(struct pvr2_dvb_adapter *adap) pvr2_s5h1409_attach() argument
440 adap->fe = dvb_attach(s5h1409_attach, &pvr2_s5h1409_config, pvr2_s5h1409_attach()
441 &adap->channel.hdw->i2c_adap); pvr2_s5h1409_attach()
442 if (adap->fe) pvr2_s5h1409_attach()
448 static int pvr2_s5h1411_attach(struct pvr2_dvb_adapter *adap) pvr2_s5h1411_attach() argument
450 adap->fe = dvb_attach(s5h1411_attach, &pvr2_s5h1411_config, pvr2_s5h1411_attach()
451 &adap->channel.hdw->i2c_adap); pvr2_s5h1411_attach()
452 if (adap->fe) pvr2_s5h1411_attach()
458 static int pvr2_tda18271_8295_attach(struct pvr2_dvb_adapter *adap) pvr2_tda18271_8295_attach() argument
460 dvb_attach(tda829x_attach, adap->fe, pvr2_tda18271_8295_attach()
461 &adap->channel.hdw->i2c_adap, 0x42, pvr2_tda18271_8295_attach()
463 dvb_attach(tda18271_attach, adap->fe, 0x60, pvr2_tda18271_8295_attach()
464 &adap->channel.hdw->i2c_adap, pvr2_tda18271_8295_attach()
/linux-4.1.27/drivers/video/fbdev/mb862xx/
H A Dmb862xx-i2c.c21 static int mb862xx_i2c_wait_event(struct i2c_adapter *adap) mb862xx_i2c_wait_event() argument
23 struct mb862xxfb_par *par = adap->algo_data; mb862xx_i2c_wait_event()
36 static int mb862xx_i2c_do_address(struct i2c_adapter *adap, int addr) mb862xx_i2c_do_address() argument
38 struct mb862xxfb_par *par = adap->algo_data; mb862xx_i2c_do_address()
43 if (!mb862xx_i2c_wait_event(adap)) mb862xx_i2c_do_address()
49 static int mb862xx_i2c_write_byte(struct i2c_adapter *adap, u8 byte) mb862xx_i2c_write_byte() argument
51 struct mb862xxfb_par *par = adap->algo_data; mb862xx_i2c_write_byte()
55 if (!mb862xx_i2c_wait_event(adap)) mb862xx_i2c_write_byte()
60 static int mb862xx_i2c_read_byte(struct i2c_adapter *adap, u8 *byte, int last) mb862xx_i2c_read_byte() argument
62 struct mb862xxfb_par *par = adap->algo_data; mb862xx_i2c_read_byte()
65 if (!mb862xx_i2c_wait_event(adap)) mb862xx_i2c_read_byte()
71 static void mb862xx_i2c_stop(struct i2c_adapter *adap) mb862xx_i2c_stop() argument
73 struct mb862xxfb_par *par = adap->algo_data; mb862xx_i2c_stop()
80 static int mb862xx_i2c_read(struct i2c_adapter *adap, struct i2c_msg *m) mb862xx_i2c_read() argument
86 if (!mb862xx_i2c_read_byte(adap, &m->buf[i], i == last)) { mb862xx_i2c_read()
94 static int mb862xx_i2c_write(struct i2c_adapter *adap, struct i2c_msg *m) mb862xx_i2c_write() argument
99 if (!mb862xx_i2c_write_byte(adap, m->buf[i])) { mb862xx_i2c_write()
107 static int mb862xx_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs, mb862xx_xfer() argument
110 struct mb862xxfb_par *par = adap->algo_data; mb862xx_xfer()
127 err = mb862xx_i2c_do_address(adap, addr); mb862xx_xfer()
131 err = mb862xx_i2c_read(adap, m); mb862xx_xfer()
133 err = mb862xx_i2c_write(adap, m); mb862xx_xfer()
137 mb862xx_i2c_stop(adap); mb862xx_xfer()
142 static u32 mb862xx_func(struct i2c_adapter *adap) mb862xx_func() argument
163 par->adap = &mb862xx_i2c_adapter; mb862xx_i2c_init()
165 ret = i2c_add_adapter(par->adap); mb862xx_i2c_init()
175 if (par->adap) { mb862xx_i2c_exit()
176 i2c_del_adapter(par->adap); mb862xx_i2c_exit()
177 par->adap = NULL; mb862xx_i2c_exit()
/linux-4.1.27/drivers/net/ethernet/chelsio/cxgb3/
H A Dmc5.c128 struct adapter *adap = mc5->adapter; init_mask_data_array() local
135 unsigned int server_base = t3_read_reg(adap, A_MC5_DB_SERVER_INDEX); init_mask_data_array()
143 dbgi_wr_data3(adap, 0, 0, 0); init_mask_data_array()
145 if (mc5_write(adap, data_array_base + (i << addr_shift), init_mask_data_array()
150 dbgi_wr_data3(adap, 0xffffffff, 0xffffffff, 0xff); init_mask_data_array()
153 t3_write_reg(adap, A_MC5_DB_DBGI_REQ_DATA0, init_mask_data_array()
156 if (mc5_write(adap, mask_array_base + (i << addr_shift), init_mask_data_array()
166 struct adapter *adap = mc5->adapter; init_idt52100() local
168 t3_write_reg(adap, A_MC5_DB_RSP_LATENCY, init_idt52100()
170 t3_write_reg(adap, A_MC5_DB_PART_ID_INDEX, 2); init_idt52100()
176 t3_write_reg(adap, A_MC5_DB_POPEN_DATA_WR_CMD, IDT_CMD_WRITE); init_idt52100()
177 t3_write_reg(adap, A_MC5_DB_POPEN_MASK_WR_CMD, IDT_CMD_WRITE); init_idt52100()
178 t3_write_reg(adap, A_MC5_DB_AOPEN_SRCH_CMD, IDT_CMD_SEARCH); init_idt52100()
179 t3_write_reg(adap, A_MC5_DB_AOPEN_LRN_CMD, IDT_CMD_LEARN); init_idt52100()
180 t3_write_reg(adap, A_MC5_DB_SYN_SRCH_CMD, IDT_CMD_SEARCH | 0x6000); init_idt52100()
181 t3_write_reg(adap, A_MC5_DB_SYN_LRN_CMD, IDT_CMD_LEARN); init_idt52100()
182 t3_write_reg(adap, A_MC5_DB_ACK_SRCH_CMD, IDT_CMD_SEARCH); init_idt52100()
183 t3_write_reg(adap, A_MC5_DB_ACK_LRN_CMD, IDT_CMD_LEARN); init_idt52100()
184 t3_write_reg(adap, A_MC5_DB_ILOOKUP_CMD, IDT_CMD_SEARCH); init_idt52100()
185 t3_write_reg(adap, A_MC5_DB_ELOOKUP_CMD, IDT_CMD_SEARCH | 0x7000); init_idt52100()
186 t3_write_reg(adap, A_MC5_DB_DATA_WRITE_CMD, IDT_CMD_WRITE); init_idt52100()
187 t3_write_reg(adap, A_MC5_DB_DATA_READ_CMD, IDT_CMD_READ); init_idt52100()
190 t3_write_reg(adap, A_MC5_DB_DBGI_CONFIG, DBGI_MODE_IDT52100); init_idt52100()
193 dbgi_wr_data3(adap, IDT_LAR_MODE144, 0, 0); init_idt52100()
194 if (mc5_write(adap, IDT_LAR_ADR0, IDT_CMD_WRITE)) init_idt52100()
198 dbgi_wr_data3(adap, 0xffffffff, 0xffffffff, 0); init_idt52100()
199 if (mc5_write(adap, IDT_SSR0_ADR0, IDT_CMD_WRITE) || init_idt52100()
200 mc5_write(adap, IDT_SSR1_ADR0, IDT_CMD_WRITE)) init_idt52100()
206 dbgi_wr_data3(adap, 0xfffffff9, 0xffffffff, 0xff); init_idt52100()
208 dbgi_wr_data3(adap, 0xfffffff9, 0xffff8007, 0xff); init_idt52100()
210 dbgi_wr_data3(adap, 0xffffffff, 0xffffffff, 0xff); init_idt52100()
212 if (mc5_write(adap, IDT_GMR_BASE_ADR0 + i, IDT_CMD_WRITE)) init_idt52100()
217 dbgi_wr_data3(adap, 1, 0, 0); init_idt52100()
218 if (mc5_write(adap, IDT_SCR_ADR0, IDT_CMD_WRITE)) init_idt52100()
230 struct adapter *adap = mc5->adapter; init_idt43102() local
232 t3_write_reg(adap, A_MC5_DB_RSP_LATENCY, init_idt43102()
233 adap->params.rev == 0 ? V_RDLAT(0xd) | V_SRCHLAT(0x11) : init_idt43102()
240 t3_write_reg(adap, A_MC5_DB_POPEN_DATA_WR_CMD, IDT4_CMD_WRITE); init_idt43102()
241 t3_write_reg(adap, A_MC5_DB_POPEN_MASK_WR_CMD, IDT4_CMD_WRITE); init_idt43102()
242 t3_write_reg(adap, A_MC5_DB_AOPEN_SRCH_CMD, init_idt43102()
244 t3_write_reg(adap, A_MC5_DB_SYN_SRCH_CMD, IDT4_CMD_SEARCH144); init_idt43102()
245 t3_write_reg(adap, A_MC5_DB_ACK_SRCH_CMD, IDT4_CMD_SEARCH144 | 0x3800); init_idt43102()
246 t3_write_reg(adap, A_MC5_DB_ILOOKUP_CMD, IDT4_CMD_SEARCH144 | 0x3800); init_idt43102()
247 t3_write_reg(adap, A_MC5_DB_ELOOKUP_CMD, IDT4_CMD_SEARCH144 | 0x800); init_idt43102()
248 t3_write_reg(adap, A_MC5_DB_DATA_WRITE_CMD, IDT4_CMD_WRITE); init_idt43102()
249 t3_write_reg(adap, A_MC5_DB_DATA_READ_CMD, IDT4_CMD_READ); init_idt43102()
251 t3_write_reg(adap, A_MC5_DB_PART_ID_INDEX, 3); init_idt43102()
254 t3_write_reg(adap, A_MC5_DB_DBGI_CONFIG, DBGI_MODE_IDT52100); init_idt43102()
257 dbgi_wr_data3(adap, 0xffffffff, 0xffffffff, 0xff); init_idt43102()
259 if (mc5_write(adap, IDT4_GMR_BASE0 + i, IDT4_CMD_WRITE)) init_idt43102()
263 if (mc5_write(adap, IDT4_GMR_BASE2 + i, IDT4_CMD_WRITE)) init_idt43102()
266 dbgi_wr_data3(adap, 0xfffffff9, 0xffffffff, 0xff); init_idt43102()
267 if (mc5_write(adap, IDT4_GMR_BASE1, IDT4_CMD_WRITE) || init_idt43102()
268 mc5_write(adap, IDT4_GMR_BASE1 + 1, IDT4_CMD_WRITE) || init_idt43102()
269 mc5_write(adap, IDT4_GMR_BASE1 + 4, IDT4_CMD_WRITE)) init_idt43102()
272 dbgi_wr_data3(adap, 0xfffffff9, 0xffff8007, 0xff); init_idt43102()
273 if (mc5_write(adap, IDT4_GMR_BASE1 + 5, IDT4_CMD_WRITE)) init_idt43102()
277 dbgi_wr_data3(adap, 0xf0000000, 0, 0); init_idt43102()
278 if (mc5_write(adap, IDT4_SCR_ADR0, IDT4_CMD_WRITE)) init_idt43102()
313 struct adapter *adap = mc5->adapter; t3_mc5_init() local
322 cfg = t3_read_reg(adap, A_MC5_DB_CONFIG) & ~F_TMMODE; t3_mc5_init()
324 t3_write_reg(adap, A_MC5_DB_CONFIG, cfg); t3_mc5_init()
325 if (t3_wait_op_done(adap, A_MC5_DB_CONFIG, F_TMRDY, 1, 500, 0)) { t3_mc5_init()
326 CH_ERR(adap, "TCAM reset timed out\n"); t3_mc5_init()
330 t3_write_reg(adap, A_MC5_DB_ROUTING_TABLE_INDEX, tcam_size - nroutes); t3_mc5_init()
331 t3_write_reg(adap, A_MC5_DB_FILTER_TABLE, t3_mc5_init()
333 t3_write_reg(adap, A_MC5_DB_SERVER_INDEX, t3_mc5_init()
339 t3_write_reg(adap, A_MC5_DB_DBGI_REQ_ADDR1, 0); t3_mc5_init()
340 t3_write_reg(adap, A_MC5_DB_DBGI_REQ_ADDR2, 0); t3_mc5_init()
352 CH_ERR(adap, "Unsupported TCAM type %d\n", mc5->part_type); t3_mc5_init()
369 struct adapter *adap = mc5->adapter; t3_mc5_intr_handler() local
370 u32 cause = t3_read_reg(adap, A_MC5_DB_INT_CAUSE); t3_mc5_intr_handler()
373 CH_ALERT(adap, "MC5 parity error\n"); t3_mc5_intr_handler()
378 CH_ALERT(adap, "MC5 request queue parity error\n"); t3_mc5_intr_handler()
383 CH_ALERT(adap, "MC5 dispatch queue parity error\n"); t3_mc5_intr_handler()
396 t3_fatal_err(adap); t3_mc5_intr_handler()
398 t3_write_reg(adap, A_MC5_DB_INT_CAUSE, cause); t3_mc5_intr_handler()
H A Dxgmac.c54 struct adapter *adap = mac->adapter; xaui_serdes_reset() local
57 t3_write_reg(adap, ctrl, adap->params.vpd.xauicfg[macidx(mac)] | xaui_serdes_reset()
61 t3_read_reg(adap, ctrl); xaui_serdes_reset()
65 t3_set_reg_field(adap, ctrl, clear[i], 0); xaui_serdes_reset()
99 struct adapter *adap = mac->adapter; t3_mac_reset() local
102 t3_write_reg(adap, A_XGM_RESET_CTRL + oft, F_MAC_RESET_); t3_mac_reset()
103 t3_read_reg(adap, A_XGM_RESET_CTRL + oft); /* flush */ t3_mac_reset()
105 t3_write_regs(adap, mac_reset_avp, ARRAY_SIZE(mac_reset_avp), oft); t3_mac_reset()
106 t3_set_reg_field(adap, A_XGM_RXFIFO_CFG + oft, t3_mac_reset()
108 uses_xaui(adap) ? 0 : F_RXSTRFRWRD); t3_mac_reset()
109 t3_set_reg_field(adap, A_XGM_TXFIFO_CFG + oft, 0, F_UNDERUNFIX); t3_mac_reset()
111 if (uses_xaui(adap)) { t3_mac_reset()
112 if (adap->params.rev == 0) { t3_mac_reset()
113 t3_set_reg_field(adap, A_XGM_SERDES_CTRL + oft, 0, t3_mac_reset()
115 if (t3_wait_op_done(adap, A_XGM_SERDES_STATUS1 + oft, t3_mac_reset()
117 CH_ERR(adap, t3_mac_reset()
122 t3_set_reg_field(adap, A_XGM_SERDES_CTRL + oft, 0, t3_mac_reset()
128 t3_set_reg_field(adap, A_XGM_RX_MAX_PKT_SIZE + oft, t3_mac_reset()
133 if (is_10G(adap)) t3_mac_reset()
135 else if (uses_xaui(adap)) t3_mac_reset()
139 t3_write_reg(adap, A_XGM_RESET_CTRL + oft, val); t3_mac_reset()
140 t3_read_reg(adap, A_XGM_RESET_CTRL + oft); /* flush */ t3_mac_reset()
141 if ((val & F_PCS_RESET_) && adap->params.rev) { t3_mac_reset()
152 struct adapter *adap = mac->adapter; t3b2_mac_reset() local
158 t3_set_reg_field(adap, A_MPS_CFG, F_PORT0ACTIVE, 0); t3b2_mac_reset()
160 t3_set_reg_field(adap, A_MPS_CFG, F_PORT1ACTIVE, 0); t3b2_mac_reset()
163 t3_set_reg_field(adap, A_MPS_CFG, F_ENFORCEPKT, 0); t3b2_mac_reset()
165 t3_set_reg_field(adap, A_XGM_TX_CFG + oft, F_TXPAUSEEN, 0); t3b2_mac_reset()
167 t3_write_reg(adap, A_XGM_RESET_CTRL + oft, F_MAC_RESET_); t3b2_mac_reset()
168 t3_read_reg(adap, A_XGM_RESET_CTRL + oft); /* flush */ t3b2_mac_reset()
171 t3_write_reg(adap, A_TP_PIO_ADDR, A_TP_TX_DROP_CFG_CH0 + idx); t3b2_mac_reset()
172 store = t3_read_reg(adap, A_TP_TX_DROP_CFG_CH0 + idx); t3b2_mac_reset()
177 t3_write_reg(adap, A_TP_PIO_ADDR, A_TP_TX_DROP_CFG_CH0 + idx); t3b2_mac_reset()
178 t3_write_reg(adap, A_TP_PIO_DATA, 0xc0000011); t3b2_mac_reset()
182 if (t3_wait_op_done(adap, A_XGM_RX_MAX_PKT_SIZE_ERR_CNT + oft, t3b2_mac_reset()
184 CH_ERR(adap, "MAC %d Rx fifo drain failed\n", t3b2_mac_reset()
189 t3_write_reg(adap, A_XGM_RESET_CTRL + oft, 0); t3b2_mac_reset()
190 t3_read_reg(adap, A_XGM_RESET_CTRL + oft); /* flush */ t3b2_mac_reset()
193 if (is_10G(adap)) t3b2_mac_reset()
195 else if (uses_xaui(adap)) t3b2_mac_reset()
199 t3_write_reg(adap, A_XGM_RESET_CTRL + oft, val); t3b2_mac_reset()
200 t3_read_reg(adap, A_XGM_RESET_CTRL + oft); /* flush */ t3b2_mac_reset()
201 if ((val & F_PCS_RESET_) && adap->params.rev) { t3b2_mac_reset()
205 t3_write_reg(adap, A_XGM_RX_CFG + oft, t3b2_mac_reset()
210 t3_write_reg(adap, A_TP_PIO_ADDR, A_TP_TX_DROP_CFG_CH0 + idx); t3b2_mac_reset()
211 t3_write_reg(adap, A_TP_PIO_DATA, store); t3b2_mac_reset()
214 t3_set_reg_field(adap, A_MPS_CFG, 0, F_PORT0ACTIVE); t3b2_mac_reset()
216 t3_set_reg_field(adap, A_MPS_CFG, 0, F_PORT1ACTIVE); t3b2_mac_reset()
219 t3_set_reg_field(adap, A_MPS_CFG, F_ENFORCEPKT, 1); t3b2_mac_reset()
222 t3_set_reg_field(adap, A_MPS_CFG, F_ENFORCEPKT, 1); t3b2_mac_reset()
303 struct adapter *adap = mac->adapter; t3_mac_set_rx_mode() local
306 val = t3_read_reg(adap, A_XGM_RX_CFG + oft) & ~F_COPYALLFRAMES; t3_mac_set_rx_mode()
309 t3_write_reg(adap, A_XGM_RX_CFG + oft, val); t3_mac_set_rx_mode()
332 t3_write_reg(adap, A_XGM_RX_HASH_LOW + oft, hash_lo);
333 t3_write_reg(adap, A_XGM_RX_HASH_HIGH + oft, hash_hi);
350 struct adapter *adap = mac->adapter; t3_mac_set_mtu() local
362 t3_write_reg(adap, A_XGM_RX_MAX_PKT_SIZE + mac->offset, mtu); t3_mac_set_mtu()
364 if (adap->params.rev >= T3_REV_B2 && t3_mac_set_mtu()
365 (t3_read_reg(adap, A_XGM_RX_CTRL + mac->offset) & F_RXEN)) { t3_mac_set_mtu()
367 v = t3_read_reg(adap, A_XGM_RX_CFG + mac->offset); t3_mac_set_mtu()
368 t3_set_reg_field(adap, A_XGM_RX_CFG + mac->offset, t3_mac_set_mtu()
371 reg = adap->params.rev == T3_REV_B2 ? t3_mac_set_mtu()
375 if (t3_wait_op_done(adap, reg + mac->offset, t3_mac_set_mtu()
377 t3_write_reg(adap, A_XGM_RX_CFG + mac->offset, v); t3_mac_set_mtu()
381 t3_set_reg_field(adap, A_XGM_RX_MAX_PKT_SIZE + mac->offset, t3_mac_set_mtu()
384 t3_write_reg(adap, A_XGM_RX_CFG + mac->offset, v); t3_mac_set_mtu()
387 t3_set_reg_field(adap, A_XGM_RX_MAX_PKT_SIZE + mac->offset, t3_mac_set_mtu()
397 v = t3_read_reg(adap, A_XGM_RXFIFO_CFG + mac->offset); t3_mac_set_mtu()
404 t3_write_reg(adap, A_XGM_RXFIFO_CFG + mac->offset, v); t3_mac_set_mtu()
407 thres = (adap->params.vpd.cclk * 1000) / 15625; t3_mac_set_mtu()
409 if (is_10G(adap)) t3_mac_set_mtu()
413 ipg = (adap->params.rev == T3_REV_C) ? 0 : 1; t3_mac_set_mtu()
414 t3_set_reg_field(adap, A_XGM_TXFIFO_CFG + mac->offset, t3_mac_set_mtu()
418 if (adap->params.rev > 0) { t3_mac_set_mtu()
419 divisor = (adap->params.rev == T3_REV_C) ? 64 : 8; t3_mac_set_mtu()
420 t3_write_reg(adap, A_XGM_PAUSE_TIMER + mac->offset, t3_mac_set_mtu()
423 t3_write_reg(adap, A_XGM_TX_PAUSE_QUANTA + mac->offset, t3_mac_set_mtu()
431 struct adapter *adap = mac->adapter; t3_mac_set_speed_duplex_fc() local
448 t3_set_reg_field(adap, A_XGM_PORT_CFG + oft, t3_mac_set_speed_duplex_fc()
452 val = t3_read_reg(adap, A_XGM_RXFIFO_CFG + oft); t3_mac_set_speed_duplex_fc()
456 G_RXMAXPKTSIZE(t3_read_reg(adap, t3_mac_set_speed_duplex_fc()
460 t3_write_reg(adap, A_XGM_RXFIFO_CFG + oft, val); t3_mac_set_speed_duplex_fc()
462 t3_set_reg_field(adap, A_XGM_TX_CFG + oft, F_TXPAUSEEN, t3_mac_set_speed_duplex_fc()
470 struct adapter *adap = mac->adapter; t3_mac_enable() local
475 t3_write_reg(adap, A_TP_PIO_ADDR, A_TP_TX_DROP_CFG_CH0 + idx); t3_mac_enable()
476 t3_write_reg(adap, A_TP_PIO_DATA, t3_mac_enable()
477 adap->params.rev == T3_REV_C ? t3_mac_enable()
479 t3_write_reg(adap, A_TP_PIO_ADDR, A_TP_TX_DROP_MODE); t3_mac_enable()
480 t3_set_reg_field(adap, A_TP_PIO_DATA, 1 << idx, t3_mac_enable()
481 adap->params.rev == T3_REV_C ? 0 : 1 << idx); t3_mac_enable()
483 t3_write_reg(adap, A_XGM_TX_CTRL + oft, F_TXEN); t3_mac_enable()
485 t3_write_reg(adap, A_TP_PIO_ADDR, A_TP_TX_DROP_CNT_CH0 + idx); t3_mac_enable()
487 mac->tx_tcnt = (G_TXDROPCNTCH0RCVD(t3_read_reg(adap, t3_mac_enable()
489 mac->tx_xcnt = (G_TXSPI4SOPCNT(t3_read_reg(adap, t3_mac_enable()
494 mac->rx_xcnt = (G_TXSPI4SOPCNT(t3_read_reg(adap, t3_mac_enable()
502 t3_write_reg(adap, A_XGM_RX_CTRL + oft, F_RXEN); t3_mac_enable()
508 struct adapter *adap = mac->adapter; t3_mac_disable() local
511 t3_write_reg(adap, A_XGM_TX_CTRL + mac->offset, 0); t3_mac_disable()
520 t3_write_reg(adap, A_XGM_RX_CTRL + mac->offset, 0); t3_mac_disable()
521 if (is_10G(adap)) t3_mac_disable()
523 else if (uses_xaui(adap)) t3_mac_disable()
534 struct adapter *adap = mac->adapter; t3b2_mac_watchdog_task() local
544 tx_xcnt = (G_TXSPI4SOPCNT(t3_read_reg(adap, t3b2_mac_watchdog_task()
548 t3_write_reg(adap, A_TP_PIO_ADDR, t3b2_mac_watchdog_task()
550 tx_tcnt = (G_TXDROPCNTCH0RCVD(t3_read_reg(adap, t3b2_mac_watchdog_task()
579 t3_write_reg(adap, A_XGM_TX_CTRL + mac->offset, 0); t3b2_mac_watchdog_task()
580 t3_read_reg(adap, A_XGM_TX_CTRL + mac->offset); /* flush */ t3b2_mac_watchdog_task()
581 t3_write_reg(adap, A_XGM_TX_CTRL + mac->offset, mac->txen); t3b2_mac_watchdog_task()
582 t3_read_reg(adap, A_XGM_TX_CTRL + mac->offset); /* flush */ t3b2_mac_watchdog_task()
H A Dcxgb3_main.c199 void t3_os_link_fault(struct adapter *adap, int port_id, int state) t3_os_link_fault() argument
201 struct net_device *dev = adap->port[port_id]; t3_os_link_fault()
212 disable_tx_fifo_drain(adap, pi); t3_os_link_fault()
215 t3_xgm_intr_disable(adap, pi->port_id); t3_os_link_fault()
216 t3_read_reg(adap, A_XGM_INT_STATUS + t3_os_link_fault()
218 t3_write_reg(adap, t3_os_link_fault()
222 t3_set_reg_field(adap, t3_os_link_fault()
226 t3_xgm_intr_enable(adap, pi->port_id); t3_os_link_fault()
233 enable_tx_fifo_drain(adap, pi); t3_os_link_fault()
315 void t3_os_phymod_changed(struct adapter *adap, int port_id) t3_os_phymod_changed() argument
321 const struct net_device *dev = adap->port[port_id]; t3_os_phymod_changed()
382 static void name_msix_vecs(struct adapter *adap) name_msix_vecs() argument
384 int i, j, msi_idx = 1, n = sizeof(adap->msix_info[0].desc) - 1; name_msix_vecs()
386 snprintf(adap->msix_info[0].desc, n, "%s", adap->name); name_msix_vecs()
387 adap->msix_info[0].desc[n] = 0; name_msix_vecs()
389 for_each_port(adap, j) { for_each_port()
390 struct net_device *d = adap->port[j]; for_each_port()
394 snprintf(adap->msix_info[msi_idx].desc, n, for_each_port()
396 adap->msix_info[msi_idx].desc[n] = 0; for_each_port()
401 static int request_msix_data_irqs(struct adapter *adap) request_msix_data_irqs() argument
405 for_each_port(adap, i) { for_each_port()
406 int nqsets = adap2pinfo(adap, i)->nqsets; for_each_port()
409 err = request_irq(adap->msix_info[qidx + 1].vec, for_each_port()
410 t3_intr_handler(adap, for_each_port()
411 adap->sge.qs[qidx]. for_each_port()
413 adap->msix_info[qidx + 1].desc, for_each_port()
414 &adap->sge.qs[qidx]); for_each_port()
417 free_irq(adap->msix_info[qidx + 1].vec, for_each_port()
418 &adap->sge.qs[qidx]); for_each_port()
443 static int await_mgmt_replies(struct adapter *adap, unsigned long init_cnt, await_mgmt_replies() argument
448 while (adap->sge.qs[0].rspq.offload_pkts < init_cnt + n) { await_mgmt_replies()
456 static int init_tp_parity(struct adapter *adap) init_tp_parity() argument
461 unsigned long cnt = adap->sge.qs[0].rspq.offload_pkts; init_tp_parity()
463 t3_tp_set_offload_mode(adap, 1); init_tp_parity()
470 skb = adap->nofail_skb; init_tp_parity()
480 t3_mgmt_tx(adap, skb); init_tp_parity()
481 if (skb == adap->nofail_skb) { init_tp_parity()
482 await_mgmt_replies(adap, cnt, i + 1); init_tp_parity()
483 adap->nofail_skb = alloc_skb(sizeof(*greq), GFP_KERNEL); init_tp_parity()
484 if (!adap->nofail_skb) init_tp_parity()
494 skb = adap->nofail_skb; init_tp_parity()
503 t3_mgmt_tx(adap, skb); init_tp_parity()
504 if (skb == adap->nofail_skb) { init_tp_parity()
505 await_mgmt_replies(adap, cnt, 16 + i + 1); init_tp_parity()
506 adap->nofail_skb = alloc_skb(sizeof(*greq), GFP_KERNEL); init_tp_parity()
507 if (!adap->nofail_skb) init_tp_parity()
517 skb = adap->nofail_skb; init_tp_parity()
526 t3_mgmt_tx(adap, skb); init_tp_parity()
527 if (skb == adap->nofail_skb) { init_tp_parity()
528 await_mgmt_replies(adap, cnt, 16 + 2048 + i + 1); init_tp_parity()
529 adap->nofail_skb = alloc_skb(sizeof(*greq), GFP_KERNEL); init_tp_parity()
530 if (!adap->nofail_skb) init_tp_parity()
537 skb = adap->nofail_skb; init_tp_parity()
546 t3_mgmt_tx(adap, skb); init_tp_parity()
548 i = await_mgmt_replies(adap, cnt, 16 + 2048 + 2048 + 1); init_tp_parity()
549 if (skb == adap->nofail_skb) { init_tp_parity()
550 i = await_mgmt_replies(adap, cnt, 16 + 2048 + 2048 + 1); init_tp_parity()
551 adap->nofail_skb = alloc_skb(sizeof(*greq), GFP_KERNEL); init_tp_parity()
554 t3_tp_set_offload_mode(adap, 0); init_tp_parity()
558 t3_tp_set_offload_mode(adap, 0); init_tp_parity()
564 * @adap: the adapter
573 static void setup_rss(struct adapter *adap) setup_rss() argument
576 unsigned int nq0 = adap2pinfo(adap, 0)->nqsets; setup_rss()
577 unsigned int nq1 = adap->port[1] ? adap2pinfo(adap, 1)->nqsets : 1; setup_rss()
590 t3_config_rss(adap, F_RQFEEDBACKENABLE | F_TNLLKPEN | F_TNLMAPEN | setup_rss()
595 static void ring_dbs(struct adapter *adap) ring_dbs() argument
600 struct sge_qset *qs = &adap->sge.qs[i]; ring_dbs()
602 if (qs->adap) ring_dbs()
604 t3_write_reg(adap, A_SG_KDOORBELL, F_SELEGRCNTX | V_EGRCNTX(qs->txq[j].cntxt_id)); ring_dbs()
608 static void init_napi(struct adapter *adap) init_napi() argument
613 struct sge_qset *qs = &adap->sge.qs[i]; init_napi()
615 if (qs->adap) init_napi()
625 adap->flags |= NAPI_INIT; init_napi()
633 static void quiesce_rx(struct adapter *adap) quiesce_rx() argument
638 if (adap->sge.qs[i].adap) quiesce_rx()
639 napi_disable(&adap->sge.qs[i].napi); quiesce_rx()
642 static void enable_all_napi(struct adapter *adap) enable_all_napi() argument
646 if (adap->sge.qs[i].adap) enable_all_napi()
647 napi_enable(&adap->sge.qs[i].napi); enable_all_napi()
652 * @adap: the adapter
658 static int setup_sge_qsets(struct adapter *adap) setup_sge_qsets() argument
663 if (adap->params.rev > 0 && !(adap->flags & USING_MSI)) setup_sge_qsets()
666 for_each_port(adap, i) { for_each_port()
667 struct net_device *dev = adap->port[i]; for_each_port()
670 pi->qs = &adap->sge.qs[pi->first_qset]; for_each_port()
672 err = t3_sge_alloc_qset(adap, qset_idx, 1, for_each_port()
673 (adap->flags & USING_MSIX) ? qset_idx + 1 : for_each_port()
675 &adap->params.sge.qset[qset_idx], ntxq, dev, for_each_port()
678 t3_free_sge_resources(adap); for_each_port()
727 struct adapter *adap = pi->adapter; \
739 struct adapter *adap = pi->adapter; set_nfilters() local
740 int min_tids = is_offload(adap) ? MC5_MIN_TIDS : 0; set_nfilters()
742 if (adap->flags & FULL_INIT_DONE) set_nfilters()
744 if (val && adap->params.rev == 0) set_nfilters()
746 if (val > t3_mc5_size(&adap->mc5) - adap->params.mc5.nservers - set_nfilters()
749 adap->params.mc5.nfilters = val; set_nfilters()
762 struct adapter *adap = pi->adapter; set_nservers() local
764 if (adap->flags & FULL_INIT_DONE) set_nservers()
766 if (val > t3_mc5_size(&adap->mc5) - adap->params.mc5.nfilters - set_nservers()
769 adap->params.mc5.nservers = val; set_nservers()
787 CXGB3_ATTR_R(cam_size, t3_mc5_size(&adap->mc5));
788 CXGB3_ATTR_RW(nfilters, adap->params.mc5.nfilters, store_nfilters);
789 CXGB3_ATTR_RW(nservers, adap->params.mc5.nservers, store_nservers);
804 struct adapter *adap = pi->adapter; tm_attr_show() local
810 t3_write_reg(adap, A_TP_TM_PIO_ADDR, addr); tm_attr_show()
811 v = t3_read_reg(adap, A_TP_TM_PIO_DATA); tm_attr_show()
819 v = (adap->params.vpd.cclk * 1000) / cpt; tm_attr_show()
830 struct adapter *adap = pi->adapter; tm_attr_store() local
843 ret = t3_config_sched(adap, val, sched); tm_attr_store()
939 static int send_pktsched_cmd(struct adapter *adap, int sched, int qidx, int lo, send_pktsched_cmd() argument
948 skb = adap->nofail_skb; send_pktsched_cmd()
960 ret = t3_mgmt_tx(adap, skb); send_pktsched_cmd()
961 if (skb == adap->nofail_skb) { send_pktsched_cmd()
962 adap->nofail_skb = alloc_skb(sizeof(struct cpl_set_tcb_field), send_pktsched_cmd()
964 if (!adap->nofail_skb) send_pktsched_cmd()
971 static int bind_qsets(struct adapter *adap) bind_qsets() argument
975 for_each_port(adap, i) { for_each_port()
976 const struct port_info *pi = adap2pinfo(adap, i); for_each_port()
979 int ret = send_pktsched_cmd(adap, 1, for_each_port()
1072 static int upgrade_fw(struct adapter *adap) upgrade_fw() argument
1076 struct device *dev = &adap->pdev->dev; upgrade_fw()
1084 ret = t3_load_fw(adap, fw->data, fw->size); upgrade_fw()
1113 static int update_tpsram(struct adapter *adap) update_tpsram() argument
1117 struct device *dev = &adap->pdev->dev; update_tpsram()
1121 rev = t3rev2char(adap); update_tpsram()
1134 ret = t3_check_tpsram(adap, tpsram->data, tpsram->size); update_tpsram()
1138 ret = t3_set_proto_sram(adap, tpsram->data); update_tpsram()
1158 * @adap: the adapter
1165 static void t3_synchronize_rx(struct adapter *adap, const struct port_info *p) t3_synchronize_rx() argument
1170 struct sge_rspq *q = &adap->sge.qs[i].rspq; t3_synchronize_rx()
1209 static int cxgb_up(struct adapter *adap) cxgb_up() argument
1213 if (!(adap->flags & FULL_INIT_DONE)) { cxgb_up()
1214 err = t3_check_fw_version(adap); cxgb_up()
1216 err = upgrade_fw(adap); cxgb_up()
1217 CH_WARN(adap, "FW upgrade to %d.%d.%d %s\n", cxgb_up()
1222 err = t3_check_tpsram_version(adap); cxgb_up()
1224 err = update_tpsram(adap); cxgb_up()
1225 CH_WARN(adap, "TP upgrade to %d.%d.%d %s\n", cxgb_up()
1235 t3_intr_clear(adap); cxgb_up()
1237 err = t3_init_hw(adap, 0); cxgb_up()
1241 t3_set_reg_field(adap, A_TP_PARA_REG5, 0, F_RXDDPOFFINIT); cxgb_up()
1242 t3_write_reg(adap, A_ULPRX_TDDP_PSZ, V_HPZ0(PAGE_SHIFT - 12)); cxgb_up()
1244 err = setup_sge_qsets(adap); cxgb_up()
1248 for_each_port(adap, i) cxgb_up()
1249 cxgb_vlan_mode(adap->port[i], adap->port[i]->features); cxgb_up()
1251 setup_rss(adap); cxgb_up()
1252 if (!(adap->flags & NAPI_INIT)) cxgb_up()
1253 init_napi(adap); cxgb_up()
1255 t3_start_sge_timers(adap); cxgb_up()
1256 adap->flags |= FULL_INIT_DONE; cxgb_up()
1259 t3_intr_clear(adap); cxgb_up()
1261 if (adap->flags & USING_MSIX) { cxgb_up()
1262 name_msix_vecs(adap); cxgb_up()
1263 err = request_irq(adap->msix_info[0].vec, cxgb_up()
1265 adap->msix_info[0].desc, adap); cxgb_up()
1269 err = request_msix_data_irqs(adap); cxgb_up()
1271 free_irq(adap->msix_info[0].vec, adap); cxgb_up()
1274 } else if ((err = request_irq(adap->pdev->irq, cxgb_up()
1275 t3_intr_handler(adap, cxgb_up()
1276 adap->sge.qs[0].rspq. cxgb_up()
1278 (adap->flags & USING_MSI) ? cxgb_up()
1280 adap->name, adap))) cxgb_up()
1283 enable_all_napi(adap); cxgb_up()
1284 t3_sge_start(adap); cxgb_up()
1285 t3_intr_enable(adap); cxgb_up()
1287 if (adap->params.rev >= T3_REV_C && !(adap->flags & TP_PARITY_INIT) && cxgb_up()
1288 is_offload(adap) && init_tp_parity(adap) == 0) cxgb_up()
1289 adap->flags |= TP_PARITY_INIT; cxgb_up()
1291 if (adap->flags & TP_PARITY_INIT) { cxgb_up()
1292 t3_write_reg(adap, A_TP_INT_CAUSE, cxgb_up()
1294 t3_write_reg(adap, A_TP_INT_ENABLE, 0x7fbfffff); cxgb_up()
1297 if (!(adap->flags & QUEUES_BOUND)) { cxgb_up()
1298 int ret = bind_qsets(adap); cxgb_up()
1301 CH_ERR(adap, "failed to bind qsets, err %d\n", ret); cxgb_up()
1302 t3_intr_disable(adap); cxgb_up()
1303 free_irq_resources(adap); cxgb_up()
1307 adap->flags |= QUEUES_BOUND; cxgb_up()
1313 CH_ERR(adap, "request_irq failed, err %d\n", err); cxgb_up()
1334 static void schedule_chk_task(struct adapter *adap) schedule_chk_task() argument
1338 timeo = adap->params.linkpoll_period ? schedule_chk_task()
1339 (HZ * adap->params.linkpoll_period) / 10 : schedule_chk_task()
1340 adap->params.stats_update_period * HZ; schedule_chk_task()
1342 queue_delayed_work(cxgb3_wq, &adap->adap_check_task, timeo); schedule_chk_task()
3056 static void set_nqsets(struct adapter *adap) set_nqsets() argument
3060 int hwports = adap->params.nports; set_nqsets()
3061 int nqsets = adap->msix_nvectors - 1; set_nqsets()
3063 if (adap->params.rev > 0 && adap->flags & USING_MSIX) { set_nqsets()
3075 for_each_port(adap, i) { for_each_port()
3076 struct port_info *pi = adap2pinfo(adap, i); for_each_port()
3082 dev_info(&adap->pdev->dev, for_each_port()
3087 static int cxgb_enable_msix(struct adapter *adap) cxgb_enable_msix() argument
3097 vectors = pci_enable_msix_range(adap->pdev, entries, cxgb_enable_msix()
3098 adap->params.nports + 1, vectors); cxgb_enable_msix()
3103 adap->msix_info[i].vec = entries[i].vector; cxgb_enable_msix()
3104 adap->msix_nvectors = vectors; cxgb_enable_msix()
3109 static void print_port_info(struct adapter *adap, const struct adapter_info *ai) print_port_info() argument
3118 if (is_pcie(adap)) print_port_info()
3120 pci_variant[adap->params.pci.variant], print_port_info()
3121 adap->params.pci.width); print_port_info()
3124 pci_variant[adap->params.pci.variant], print_port_info()
3125 adap->params.pci.speed, adap->params.pci.width); print_port_info()
3127 for_each_port(adap, i) { for_each_port()
3128 struct net_device *dev = adap->port[i]; for_each_port()
3131 if (!test_bit(i, &adap->registered_device_map)) for_each_port()
3135 is_offload(adap) ? "R" : "", adap->params.rev, buf, for_each_port()
3136 (adap->flags & USING_MSIX) ? " MSI-X" : for_each_port()
3137 (adap->flags & USING_MSI) ? " MSI" : ""); for_each_port()
3138 if (adap->name == dev->name && adap->params.vpd.mclk) for_each_port()
3140 adap->name, t3_mc7_size(&adap->cm) >> 20, for_each_port()
3141 t3_mc7_size(&adap->pmtx) >> 20, for_each_port()
3142 t3_mc7_size(&adap->pmrx) >> 20, for_each_port()
3143 adap->params.vpd.sn); for_each_port()
H A Dt3_hw.c114 * @adap: the adapter
124 static void t3_read_indirect(struct adapter *adap, unsigned int addr_reg, t3_read_indirect() argument
129 t3_write_reg(adap, addr_reg, start_idx); t3_read_indirect()
130 *vals++ = t3_read_reg(adap, data_reg); t3_read_indirect()
152 struct adapter *adap = mc7->adapter; t3_mc7_bd_read() local
166 t3_write_reg(adap, mc7->offset + A_MC7_BD_ADDR, start); t3_mc7_bd_read()
167 t3_write_reg(adap, mc7->offset + A_MC7_BD_OP, 0); t3_mc7_bd_read()
168 val = t3_read_reg(adap, mc7->offset + A_MC7_BD_OP); t3_mc7_bd_read()
170 val = t3_read_reg(adap, t3_mc7_bd_read()
175 val = t3_read_reg(adap, mc7->offset + A_MC7_BD_DATA1); t3_mc7_bd_read()
177 val64 = t3_read_reg(adap, t3_mc7_bd_read()
196 static void mi1_init(struct adapter *adap, const struct adapter_info *ai) mi1_init() argument
198 u32 clkdiv = adap->params.vpd.cclk / (2 * adap->params.vpd.mdc) - 1; mi1_init()
201 t3_write_reg(adap, A_MI1_CFG, val); mi1_init()
1139 * @adap: the adapter
1146 int t3_cim_ctl_blk_read(struct adapter *adap, unsigned int addr, t3_cim_ctl_blk_read() argument
1151 if (t3_read_reg(adap, A_CIM_HOST_ACC_CTRL) & F_HOSTBUSY) t3_cim_ctl_blk_read()
1155 t3_write_reg(adap, A_CIM_HOST_ACC_CTRL, CIM_CTL_BASE + addr); t3_cim_ctl_blk_read()
1156 ret = t3_wait_op_done(adap, A_CIM_HOST_ACC_CTRL, F_HOSTBUSY, t3_cim_ctl_blk_read()
1159 *valp++ = t3_read_reg(adap, A_CIM_HOST_ACC_DATA); t3_cim_ctl_blk_read()
1810 static int mac_intr_handler(struct adapter *adap, unsigned int idx) mac_intr_handler() argument
1812 struct cmac *mac = &adap2pinfo(adap, idx)->mac; mac_intr_handler()
1819 u32 cause = t3_read_reg(adap, A_XGM_INT_CAUSE + mac->offset) & mac_intr_handler()
1824 CH_ALERT(adap, "port%d: MAC TX FIFO parity error\n", idx); mac_intr_handler()
1828 CH_ALERT(adap, "port%d: MAC RX FIFO parity error\n", idx); mac_intr_handler()
1841 t3_set_reg_field(adap, mac_intr_handler()
1846 t3_os_link_fault_handler(adap, idx); mac_intr_handler()
1850 t3_fatal_err(adap); mac_intr_handler()
1852 t3_write_reg(adap, A_XGM_INT_CAUSE + mac->offset, cause); mac_intr_handler()
1940 static unsigned int calc_gpio_intr(struct adapter *adap) calc_gpio_intr() argument
1944 for_each_port(adap, i) calc_gpio_intr()
1945 if ((adap2pinfo(adap, i)->phy.caps & SUPPORTED_IRQ) && calc_gpio_intr()
1946 adapter_info(adap)->gpio_intr[i]) calc_gpio_intr()
1947 gpi_intr |= 1 << adapter_info(adap)->gpio_intr[i]; calc_gpio_intr()
2173 static int clear_sge_ctxt(struct adapter *adap, unsigned int id, clear_sge_ctxt() argument
2176 t3_write_reg(adap, A_SG_CONTEXT_DATA0, 0); clear_sge_ctxt()
2177 t3_write_reg(adap, A_SG_CONTEXT_DATA1, 0); clear_sge_ctxt()
2178 t3_write_reg(adap, A_SG_CONTEXT_DATA2, 0); clear_sge_ctxt()
2179 t3_write_reg(adap, A_SG_CONTEXT_DATA3, 0); clear_sge_ctxt()
2180 t3_write_reg(adap, A_SG_CONTEXT_MASK0, 0xffffffff); clear_sge_ctxt()
2181 t3_write_reg(adap, A_SG_CONTEXT_MASK1, 0xffffffff); clear_sge_ctxt()
2182 t3_write_reg(adap, A_SG_CONTEXT_MASK2, 0xffffffff); clear_sge_ctxt()
2183 t3_write_reg(adap, A_SG_CONTEXT_MASK3, 0xffffffff); clear_sge_ctxt()
2184 t3_write_reg(adap, A_SG_CONTEXT_CMD, clear_sge_ctxt()
2186 return t3_wait_op_done(adap, A_SG_CONTEXT_CMD, F_CONTEXT_CMD_BUSY, clear_sge_ctxt()
2530 * @adap: the adapter
2535 void t3_tp_set_offload_mode(struct adapter *adap, int enable) t3_tp_set_offload_mode() argument
2537 if (is_offload(adap) || !enable) t3_tp_set_offload_mode()
2538 t3_set_reg_field(adap, A_TP_IN_CONFIG, F_NICMODE, t3_tp_set_offload_mode()
2559 #define mem_region(adap, start, size, reg) \
2560 t3_write_reg((adap), A_ ## reg, (start)); \
2565 * @adap: the adapter
2571 static void partition_mem(struct adapter *adap, const struct tp_params *p) partition_mem() argument
2573 unsigned int m, pstructs, tids = t3_mc5_size(&adap->mc5); partition_mem()
2576 if (adap->params.rev > 0) { partition_mem()
2589 t3_write_reg(adap, A_TP_PMM_SIZE, partition_mem()
2592 t3_write_reg(adap, A_TP_PMM_TX_BASE, 0); partition_mem()
2593 t3_write_reg(adap, A_TP_PMM_TX_PAGE_SIZE, p->tx_pg_size); partition_mem()
2594 t3_write_reg(adap, A_TP_PMM_TX_MAX_PAGE, p->tx_num_pgs); partition_mem()
2595 t3_set_reg_field(adap, A_TP_PARA_REG3, V_TXDATAACKIDX(M_TXDATAACKIDX), partition_mem()
2598 t3_write_reg(adap, A_TP_PMM_RX_BASE, 0); partition_mem()
2599 t3_write_reg(adap, A_TP_PMM_RX_PAGE_SIZE, p->rx_pg_size); partition_mem()
2600 t3_write_reg(adap, A_TP_PMM_RX_MAX_PAGE, p->rx_num_pgs); partition_mem()
2606 t3_write_reg(adap, A_TP_CMM_MM_MAX_PSTRUCT, pstructs); partition_mem()
2609 mem_region(adap, m, (64 << 10) * 64, SG_EGR_CNTX_BADDR); partition_mem()
2610 mem_region(adap, m, (64 << 10) * 64, SG_CQ_CONTEXT_BADDR); partition_mem()
2611 t3_write_reg(adap, A_TP_CMM_TIMER_BASE, V_CMTIMERMAXNUM(timers) | m); partition_mem()
2613 mem_region(adap, m, pstructs * 64, TP_CMM_MM_BASE); partition_mem()
2614 mem_region(adap, m, 64 * (pstructs / 24), TP_CMM_MM_PS_FLST_BASE); partition_mem()
2615 mem_region(adap, m, 64 * (p->rx_num_pgs / 24), TP_CMM_MM_RX_FLST_BASE); partition_mem()
2616 mem_region(adap, m, 64 * (p->tx_num_pgs / 24), TP_CMM_MM_TX_FLST_BASE); partition_mem()
2619 t3_write_reg(adap, A_CIM_SDRAM_BASE_ADDR, m); partition_mem()
2620 t3_write_reg(adap, A_CIM_SDRAM_ADDR_SIZE, p->cm_size - m); partition_mem()
2623 m = t3_mc5_size(&adap->mc5) - adap->params.mc5.nservers - partition_mem()
2624 adap->params.mc5.nfilters - adap->params.mc5.nroutes; partition_mem()
2626 adap->params.mc5.nservers += m - tids; partition_mem()
2629 static inline void tp_wr_indirect(struct adapter *adap, unsigned int addr, tp_wr_indirect() argument
2632 t3_write_reg(adap, A_TP_PIO_ADDR, addr); tp_wr_indirect()
2633 t3_write_reg(adap, A_TP_PIO_DATA, val); tp_wr_indirect()
2636 static void tp_config(struct adapter *adap, const struct tp_params *p) tp_config() argument
2638 t3_write_reg(adap, A_TP_GLOBAL_CONFIG, F_TXPACINGENABLE | F_PATHMTU | tp_config()
2641 t3_write_reg(adap, A_TP_TCP_OPTIONS, V_MTUDEFAULT(576) | tp_config()
2644 t3_write_reg(adap, A_TP_DACK_CONFIG, V_AUTOSTATE3(1) | tp_config()
2648 t3_set_reg_field(adap, A_TP_IN_CONFIG, F_RXFBARBPRIO | F_TXFBARBPRIO, tp_config()
2650 t3_write_reg(adap, A_TP_TX_RESOURCE_LIMIT, 0x18141814); tp_config()
2651 t3_write_reg(adap, A_TP_PARA_REG4, 0x5050105); tp_config()
2652 t3_set_reg_field(adap, A_TP_PARA_REG6, 0, tp_config()
2653 adap->params.rev > 0 ? F_ENABLEESND : tp_config()
2656 t3_set_reg_field(adap, A_TP_PC_CONFIG, tp_config()
2660 t3_set_reg_field(adap, A_TP_PC_CONFIG2, F_CHDRAFULL, tp_config()
2663 t3_write_reg(adap, A_TP_PROXY_FLOW_CNTL, 1080); tp_config()
2664 t3_write_reg(adap, A_TP_PROXY_FLOW_CNTL, 1000); tp_config()
2666 if (adap->params.rev > 0) { tp_config()
2667 tp_wr_indirect(adap, A_TP_EGRESS_CONFIG, F_REWRITEFORCETOSIZE); tp_config()
2668 t3_set_reg_field(adap, A_TP_PARA_REG3, F_TXPACEAUTO, tp_config()
2670 t3_set_reg_field(adap, A_TP_PC_CONFIG, F_LOCKTID, F_LOCKTID); tp_config()
2671 t3_set_reg_field(adap, A_TP_PARA_REG3, 0, F_TXPACEAUTOSTRICT); tp_config()
2673 t3_set_reg_field(adap, A_TP_PARA_REG3, 0, F_TXPACEFIXED); tp_config()
2675 if (adap->params.rev == T3_REV_C) tp_config()
2676 t3_set_reg_field(adap, A_TP_PC_CONFIG, tp_config()
2680 t3_write_reg(adap, A_TP_TX_MOD_QUEUE_WEIGHT1, 0); tp_config()
2681 t3_write_reg(adap, A_TP_TX_MOD_QUEUE_WEIGHT0, 0); tp_config()
2682 t3_write_reg(adap, A_TP_MOD_CHANNEL_WEIGHT, 0); tp_config()
2683 t3_write_reg(adap, A_TP_MOD_RATE_LIMIT, 0xf2200000); tp_config()
2695 * @adap: the adapter to set
2701 static void tp_set_timers(struct adapter *adap, unsigned int core_clk) tp_set_timers() argument
2708 t3_write_reg(adap, A_TP_TIMER_RESOLUTION, V_TIMERRESOLUTION(tre) | tp_set_timers()
2711 t3_write_reg(adap, A_TP_DACK_TIMER, tp_set_timers()
2713 t3_write_reg(adap, A_TP_TCP_BACKOFF_REG0, 0x3020100); tp_set_timers()
2714 t3_write_reg(adap, A_TP_TCP_BACKOFF_REG1, 0x7060504); tp_set_timers()
2715 t3_write_reg(adap, A_TP_TCP_BACKOFF_REG2, 0xb0a0908); tp_set_timers()
2716 t3_write_reg(adap, A_TP_TCP_BACKOFF_REG3, 0xf0e0d0c); tp_set_timers()
2717 t3_write_reg(adap, A_TP_SHIFT_CNT, V_SYNSHIFTMAX(6) | tp_set_timers()
2724 t3_write_reg(adap, A_TP_MSL, adap->params.rev > 0 ? 0 : 2 SECONDS); tp_set_timers()
2725 t3_write_reg(adap, A_TP_RXT_MIN, tps / (1000 / TP_RTO_MIN)); tp_set_timers()
2726 t3_write_reg(adap, A_TP_RXT_MAX, 64 SECONDS); tp_set_timers()
2727 t3_write_reg(adap, A_TP_PERS_MIN, 5 SECONDS); tp_set_timers()
2728 t3_write_reg(adap, A_TP_PERS_MAX, 64 SECONDS); tp_set_timers()
2729 t3_write_reg(adap, A_TP_KEEP_IDLE, 7200 SECONDS); tp_set_timers()
2730 t3_write_reg(adap, A_TP_KEEP_INTVL, 75 SECONDS); tp_set_timers()
2731 t3_write_reg(adap, A_TP_INIT_SRTT, 3 SECONDS); tp_set_timers()
2732 t3_write_reg(adap, A_TP_FINWAIT2_TIMER, 600 SECONDS); tp_set_timers()
2739 * @adap: the adapter
2745 static int t3_tp_set_coalescing_size(struct adapter *adap, t3_tp_set_coalescing_size() argument
2753 val = t3_read_reg(adap, A_TP_PARA_REG3); t3_tp_set_coalescing_size()
2761 t3_write_reg(adap, A_TP_PARA_REG2, V_RXCOALESCESIZE(size) | t3_tp_set_coalescing_size()
2764 t3_write_reg(adap, A_TP_PARA_REG3, val); t3_tp_set_coalescing_size()
2770 * @adap: the adapter
2776 static void t3_tp_set_max_rxsize(struct adapter *adap, unsigned int size) t3_tp_set_max_rxsize() argument
2778 t3_write_reg(adap, A_TP_PARA_REG7, t3_tp_set_max_rxsize()
2852 * @adap: the adapter
2862 void t3_load_mtus(struct adapter *adap, unsigned short mtus[NMTUS], t3_load_mtus() argument
2880 t3_write_reg(adap, A_TP_MTU_TABLE, t3_load_mtus()
2889 t3_write_reg(adap, A_TP_CCTRL_TABLE, (i << 21) | t3_load_mtus()
2897 * @adap: the adapter
2902 void t3_tp_get_mib_stats(struct adapter *adap, struct tp_mib_stats *tps) t3_tp_get_mib_stats() argument
2904 t3_read_indirect(adap, A_TP_MIB_INDEX, A_TP_MIB_RDATA, (u32 *) tps, t3_tp_get_mib_stats()
2908 #define ulp_region(adap, name, start, len) \
2909 t3_write_reg((adap), A_ULPRX_ ## name ## _LLIMIT, (start)); \
2910 t3_write_reg((adap), A_ULPRX_ ## name ## _ULIMIT, \
2914 #define ulptx_region(adap, name, start, len) \
2915 t3_write_reg((adap), A_ULPTX_ ## name ## _LLIMIT, (start)); \
2916 t3_write_reg((adap), A_ULPTX_ ## name ## _ULIMIT, \
2919 static void ulp_config(struct adapter *adap, const struct tp_params *p) ulp_config() argument
2923 ulp_region(adap, ISCSI, m, p->chan_rx_size / 8); ulp_config()
2924 ulp_region(adap, TDDP, m, p->chan_rx_size / 8); ulp_config()
2925 ulptx_region(adap, TPT, m, p->chan_rx_size / 4); ulp_config()
2926 ulp_region(adap, STAG, m, p->chan_rx_size / 4); ulp_config()
2927 ulp_region(adap, RQ, m, p->chan_rx_size / 4); ulp_config()
2928 ulptx_region(adap, PBL, m, p->chan_rx_size / 4); ulp_config()
2929 ulp_region(adap, PBL, m, p->chan_rx_size / 4); ulp_config()
2930 t3_write_reg(adap, A_ULPRX_TDDP_TAGMASK, 0xffffffff); ulp_config()
2940 int t3_set_proto_sram(struct adapter *adap, const u8 *data) t3_set_proto_sram() argument
2946 t3_write_reg(adap, A_TP_EMBED_OP_FIELD5, be32_to_cpu(*buf++)); t3_set_proto_sram()
2947 t3_write_reg(adap, A_TP_EMBED_OP_FIELD4, be32_to_cpu(*buf++)); t3_set_proto_sram()
2948 t3_write_reg(adap, A_TP_EMBED_OP_FIELD3, be32_to_cpu(*buf++)); t3_set_proto_sram()
2949 t3_write_reg(adap, A_TP_EMBED_OP_FIELD2, be32_to_cpu(*buf++)); t3_set_proto_sram()
2950 t3_write_reg(adap, A_TP_EMBED_OP_FIELD1, be32_to_cpu(*buf++)); t3_set_proto_sram()
2952 t3_write_reg(adap, A_TP_EMBED_OP_FIELD0, i << 1 | 1 << 31); t3_set_proto_sram()
2953 if (t3_wait_op_done(adap, A_TP_EMBED_OP_FIELD0, 1, 1, 5, 1)) t3_set_proto_sram()
2956 t3_write_reg(adap, A_TP_EMBED_OP_FIELD0, 0); t3_set_proto_sram()
2996 * @adap: the adapter
3002 int t3_config_sched(struct adapter *adap, unsigned int kbps, int sched) t3_config_sched() argument
3005 unsigned int clk = adap->params.vpd.cclk * 1000; t3_config_sched()
3027 t3_write_reg(adap, A_TP_TM_PIO_ADDR, t3_config_sched()
3029 v = t3_read_reg(adap, A_TP_TM_PIO_DATA); t3_config_sched()
3034 t3_write_reg(adap, A_TP_TM_PIO_DATA, v); t3_config_sched()
3038 static int tp_init(struct adapter *adap, const struct tp_params *p) tp_init() argument
3042 tp_config(adap, p); tp_init()
3043 t3_set_vlan_accel(adap, 3, 0); tp_init()
3045 if (is_offload(adap)) { tp_init()
3046 tp_set_timers(adap, adap->params.vpd.cclk * 1000); tp_init()
3047 t3_write_reg(adap, A_TP_RESET, F_FLSTINITENABLE); tp_init()
3048 busy = t3_wait_op_done(adap, A_TP_RESET, F_FLSTINITENABLE, tp_init()
3051 CH_ERR(adap, "TP initialization timed out\n"); tp_init()
3055 t3_write_reg(adap, A_TP_RESET, F_TPRESET); tp_init()
3063 static void chan_init_hw(struct adapter *adap, unsigned int chan_map) chan_init_hw() argument
3068 t3_set_reg_field(adap, A_ULPRX_CTL, F_ROUND_ROBIN, 0); chan_init_hw()
3069 t3_set_reg_field(adap, A_ULPTX_CONFIG, F_CFG_RR_ARB, 0); chan_init_hw()
3070 t3_write_reg(adap, A_MPS_CFG, F_TPRXPORTEN | F_ENFORCEPKT | chan_init_hw()
3073 t3_write_reg(adap, A_PM1_TX_CFG, chan_init_hw()
3076 t3_set_reg_field(adap, A_ULPRX_CTL, 0, F_ROUND_ROBIN); chan_init_hw()
3077 t3_set_reg_field(adap, A_ULPTX_CONFIG, 0, F_CFG_RR_ARB); chan_init_hw()
3078 t3_write_reg(adap, A_ULPTX_DMA_WEIGHT, chan_init_hw()
3080 t3_write_reg(adap, A_MPS_CFG, F_TPTXPORT0EN | F_TPTXPORT1EN | chan_init_hw()
3083 t3_write_reg(adap, A_PM1_TX_CFG, 0x80008000); chan_init_hw()
3084 t3_set_reg_field(adap, A_TP_PC_CONFIG, 0, F_TXTOSQUEUEMAPMODE); chan_init_hw()
3085 t3_write_reg(adap, A_TP_TX_MOD_QUEUE_REQ_MAP, chan_init_hw()
3088 t3_write_reg(adap, A_TP_TX_MOD_QUE_TABLE, chan_init_hw()
3273 static void config_pcie(struct adapter *adap) config_pcie() argument
3292 pcie_capability_read_word(adap->pdev, PCI_EXP_DEVCTL, &val); config_pcie()
3295 pci_read_config_word(adap->pdev, 0x2, &devid); config_pcie()
3297 pcie_capability_write_word(adap->pdev, PCI_EXP_DEVCTL, config_pcie()
3303 pcie_capability_read_word(adap->pdev, PCI_EXP_LNKCTL, &val); config_pcie()
3305 fst_trn_tx = G_NUMFSTTRNSEQ(t3_read_reg(adap, A_PCIE_PEX_CTRL0)); config_pcie()
3306 fst_trn_rx = adap->params.rev == 0 ? fst_trn_tx : config_pcie()
3307 G_NUMFSTTRNSEQRX(t3_read_reg(adap, A_PCIE_MODE)); config_pcie()
3308 log2_width = fls(adap->params.pci.width) - 1; config_pcie()
3314 if (adap->params.rev == 0) config_pcie()
3315 t3_set_reg_field(adap, A_PCIE_PEX_CTRL1, config_pcie()
3319 t3_set_reg_field(adap, A_PCIE_PEX_CTRL1, V_ACKLAT(M_ACKLAT), config_pcie()
3322 t3_set_reg_field(adap, A_PCIE_PEX_CTRL0, V_REPLAYLMT(M_REPLAYLMT), config_pcie()
3325 t3_write_reg(adap, A_PCIE_PEX_ERR, 0xffffffff); config_pcie()
3326 t3_set_reg_field(adap, A_PCIE_CFG, 0, config_pcie()
3586 static int init_parity(struct adapter *adap) init_parity() argument
3590 if (t3_read_reg(adap, A_SG_CONTEXT_CMD) & F_CONTEXT_CMD_BUSY) init_parity()
3594 err = clear_sge_ctxt(adap, i, F_EGRESS); init_parity()
3596 err = clear_sge_ctxt(adap, i, F_EGRESS); init_parity()
3598 err = clear_sge_ctxt(adap, i, F_RESPONSEQ); init_parity()
3602 t3_write_reg(adap, A_CIM_IBQ_DBG_DATA, 0); init_parity()
3605 t3_write_reg(adap, A_CIM_IBQ_DBG_CFG, F_IBQDBGEN | init_parity()
3608 err = t3_wait_op_done(adap, A_CIM_IBQ_DBG_CFG, init_parity()
H A Dsge.c480 static inline void ring_fl_db(struct adapter *adap, struct sge_fl *q) ring_fl_db() argument
485 t3_write_reg(adap, A_SG_KDOORBELL, V_EGRCNTX(q->cntxt_id)); ring_fl_db()
500 static int refill_fl(struct adapter *adap, struct sge_fl *q, int n, gfp_t gfp) refill_fl() argument
511 if (unlikely(alloc_pg_chunk(adap, q, sd, gfp, refill_fl()
520 pci_dma_sync_single_for_device(adap->pdev, mapping, refill_fl()
533 q->gen, adap->pdev); refill_fl()
535 clear_rx_desc(adap->pdev, q, sd); refill_fl()
553 ring_fl_db(adap, q); refill_fl()
558 static inline void __refill_fl(struct adapter *adap, struct sge_fl *fl) __refill_fl() argument
560 refill_fl(adap, fl, min(MAX_RX_REFILL, fl->size - fl->credits), __refill_fl()
573 static void recycle_rx_buf(struct adapter *adap, struct sge_fl *q, recycle_rx_buf() argument
593 ring_fl_db(adap, q); recycle_rx_buf()
645 if (q->adap && t3_reset_qset()
646 !(q->adap->flags & NAPI_INIT)) { t3_reset_qset()
651 q->adap = NULL; t3_reset_qset()
766 * @adap: the adapter that received the packet
779 static struct sk_buff *get_packet(struct adapter *adap, struct sge_fl *fl, get_packet() argument
792 pci_dma_sync_single_for_cpu(adap->pdev, get_packet()
796 pci_dma_sync_single_for_device(adap->pdev, get_packet()
802 recycle_rx_buf(adap, fl, fl->cidx); get_packet()
807 refill_fl(adap, fl, min(MAX_RX_REFILL, fl->size - fl->credits - 1), get_packet()
812 pci_unmap_single(adap->pdev, dma_unmap_addr(sd, dma_addr), get_packet()
816 __refill_fl(adap, fl); get_packet()
822 * @adap: the adapter that received the packet
838 static struct sk_buff *get_packet_pg(struct adapter *adap, struct sge_fl *fl, get_packet_pg() argument
852 pci_dma_sync_single_for_cpu(adap->pdev, dma_addr, len, get_packet_pg()
855 pci_dma_sync_single_for_device(adap->pdev, dma_addr, get_packet_pg()
862 recycle_rx_buf(adap, fl, fl->cidx); get_packet_pg()
881 pci_dma_sync_single_for_cpu(adap->pdev, dma_addr, len, get_packet_pg()
885 pci_unmap_page(adap->pdev, get_packet_pg()
997 * @adap: the adapter
1007 static inline void check_ring_tx_db(struct adapter *adap, struct sge_txq *q) check_ring_tx_db() argument
1013 t3_write_reg(adap, A_SG_KDOORBELL, check_ring_tx_db()
1018 t3_write_reg(adap, A_SG_KDOORBELL, check_ring_tx_db()
1126 * @adap: the adapter
1137 static void write_tx_pkt_wr(struct adapter *adap, struct sk_buff *skb, write_tx_pkt_wr() argument
1199 sgl_flits = make_sgl(skb, sgp, skb->data, skb_headlen(skb), adap->pdev); write_tx_pkt_wr()
1226 struct adapter *adap = pi->adapter; t3_eth_xmit() local
1245 reclaim_completed_tx(adap, q, TX_RECLAIM_CHUNK); t3_eth_xmit()
1252 dev_err(&adap->pdev->dev, t3_eth_xmit()
1315 write_tx_pkt_wr(adap, skb, pi, pidx, gen, q, ndesc, compl); t3_eth_xmit()
1316 check_ring_tx_db(adap, q); t3_eth_xmit()
1354 * @adap: the adapter
1370 static inline int check_desc_avail(struct adapter *adap, struct sge_txq *q, check_desc_avail() argument
1417 * @adap: the adapter
1425 static int ctrl_xmit(struct adapter *adap, struct sge_txq *q, ctrl_xmit() argument
1443 ret = check_desc_avail(adap, q, skb, 1, TXQ_CTRL); ctrl_xmit()
1461 t3_write_reg(adap, A_SG_KDOORBELL, ctrl_xmit()
1505 t3_write_reg(qs->adap, A_SG_KDOORBELL, restart_ctrlq()
1512 int t3_mgmt_tx(struct adapter *adap, struct sk_buff *skb) t3_mgmt_tx() argument
1516 ret = ctrl_xmit(adap, &adap->sge.qs[0].txq[TXQ_CTRL], skb); t3_mgmt_tx()
1568 * @adap: the adapter
1578 static void write_ofld_wr(struct adapter *adap, struct sk_buff *skb, write_ofld_wr() argument
1604 adap->pdev); write_ofld_wr()
1606 setup_deferred_unmapping(skb, adap->pdev, sgp, sgl_flits); write_ofld_wr()
1637 * @adap: the adapter
1643 static int ofld_xmit(struct adapter *adap, struct sge_txq *q, ofld_xmit() argument
1650 again: reclaim_completed_tx(adap, q, TX_RECLAIM_CHUNK); ofld_xmit()
1652 ret = check_desc_avail(adap, q, skb, ndesc, TXQ_OFLD); ofld_xmit()
1672 write_ofld_wr(adap, skb, q, pidx, gen, ndesc); ofld_xmit()
1673 check_ring_tx_db(adap, q); ofld_xmit()
1689 struct adapter *adap = pi->adapter; restart_offloadq() local
1692 again: reclaim_completed_tx(adap, q, TX_RECLAIM_CHUNK); restart_offloadq()
1720 write_ofld_wr(adap, skb, q, pidx, gen, ndesc); restart_offloadq()
1730 t3_write_reg(adap, A_SG_KDOORBELL, restart_offloadq()
1769 struct adapter *adap = tdev2adap(tdev); t3_offload_tx() local
1770 struct sge_qset *qs = &adap->sge.qs[queue_set(skb)]; t3_offload_tx()
1773 return ctrl_xmit(adap, &qs->txq[TXQ_CTRL], skb); t3_offload_tx()
1775 return ofld_xmit(adap, &qs->txq[TXQ_OFLD], skb); t3_offload_tx()
1834 struct adapter *adapter = qs->adap; ofld_poll()
2004 * @adap: the adapter
2013 static void rx_eth(struct adapter *adap, struct sge_rspq *rq, rx_eth() argument
2021 skb->protocol = eth_type_trans(skb, adap->port[p->iff]); rx_eth()
2029 skb_record_rx_queue(skb, qs - &adap->sge.qs[pi->first_qset]); rx_eth()
2054 * @adap: the adapter
2063 static void lro_add_page(struct adapter *adap, struct sge_qset *qs, lro_add_page() argument
2081 pci_dma_sync_single_for_cpu(adap->pdev, lro_add_page()
2088 pci_unmap_page(adap->pdev, lro_add_page()
2131 skb_record_rx_queue(skb, qs - &adap->sge.qs[pi->first_qset]); lro_add_page()
2185 static void check_ring_db(struct adapter *adap, struct sge_qset *qs, check_ring_db() argument
2194 t3_write_reg(adap, A_SG_KDOORBELL, F_SELEGRCNTX | check_ring_db()
2205 t3_write_reg(adap, A_SG_KDOORBELL, F_SELEGRCNTX | check_ring_db()
2242 * @adap: the adapter
2255 static int process_responses(struct adapter *adap, struct sge_qset *qs, process_responses() argument
2314 __refill_fl(adap, fl); process_responses()
2316 lro_add_page(adap, qs, fl, process_responses()
2322 skb = get_packet_pg(adap, fl, q, process_responses()
2328 skb = get_packet(adap, fl, G_RSPD_LEN(len), process_responses()
2356 refill_rspq(adap, q, q->credits); process_responses()
2366 rx_eth(adap, q, skb, ethpad, lro); process_responses()
2372 ngathered = rx_offload(&adap->tdev, q, skb, process_responses()
2383 deliver_partial_bundle(&adap->tdev, q, offload_skbs, ngathered); process_responses()
2386 check_ring_db(adap, qs, sleeping); process_responses()
2413 struct adapter *adap = qs->adap; napi_rx_handler() local
2414 int work_done = process_responses(adap, qs, budget); napi_rx_handler()
2433 t3_write_reg(adap, A_SG_GTS, V_RSPQ(qs->rspq.cntxt_id) | napi_rx_handler()
2450 * @adap: the adapter
2462 static int process_pure_responses(struct adapter *adap, struct sge_qset *qs, process_pure_responses() argument
2486 refill_rspq(adap, q, q->credits); process_pure_responses()
2495 check_ring_db(adap, qs, sleeping); process_pure_responses()
2506 * @adap: the adapter
2519 static inline int handle_responses(struct adapter *adap, struct sge_rspq *q) handle_responses() argument
2527 if (is_pure_response(r) && process_pure_responses(adap, qs, r) == 0) { handle_responses()
2528 t3_write_reg(adap, A_SG_GTS, V_RSPQ(q->cntxt_id) | handle_responses()
2543 struct adapter *adap = qs->adap; t3_sge_intr_msix() local
2547 if (process_responses(adap, qs, -1) == 0) t3_sge_intr_msix()
2549 t3_write_reg(adap, A_SG_GTS, V_RSPQ(q->cntxt_id) | t3_sge_intr_msix()
2566 if (handle_responses(qs->adap, q) < 0) t3_sge_intr_msix_napi()
2581 struct adapter *adap = cookie; t3_intr_msi() local
2582 struct sge_rspq *q = &adap->sge.qs[0].rspq; t3_intr_msi()
2586 if (process_responses(adap, &adap->sge.qs[0], -1)) { t3_intr_msi()
2587 t3_write_reg(adap, A_SG_GTS, V_RSPQ(q->cntxt_id) | t3_intr_msi()
2592 if (adap->params.nports == 2 && t3_intr_msi()
2593 process_responses(adap, &adap->sge.qs[1], -1)) { t3_intr_msi()
2594 struct sge_rspq *q1 = &adap->sge.qs[1].rspq; t3_intr_msi()
2596 t3_write_reg(adap, A_SG_GTS, V_RSPQ(q1->cntxt_id) | t3_intr_msi()
2602 if (!new_packets && t3_slow_intr_handler(adap) == 0) t3_intr_msi()
2631 struct adapter *adap = cookie; t3_intr_msi_napi() local
2632 struct sge_rspq *q = &adap->sge.qs[0].rspq; t3_intr_msi_napi()
2636 new_packets = rspq_check_napi(&adap->sge.qs[0]); t3_intr_msi_napi()
2637 if (adap->params.nports == 2) t3_intr_msi_napi()
2638 new_packets += rspq_check_napi(&adap->sge.qs[1]); t3_intr_msi_napi()
2639 if (!new_packets && t3_slow_intr_handler(adap) == 0) t3_intr_msi_napi()
2649 static inline int process_responses_gts(struct adapter *adap, process_responses_gts() argument
2654 work = process_responses(adap, rspq_to_qset(rq), -1); process_responses_gts()
2655 t3_write_reg(adap, A_SG_GTS, V_RSPQ(rq->cntxt_id) | process_responses_gts()
2669 struct adapter *adap = cookie; t3_intr() local
2670 struct sge_rspq *q0 = &adap->sge.qs[0].rspq; t3_intr()
2671 struct sge_rspq *q1 = &adap->sge.qs[1].rspq; t3_intr()
2676 w1 = adap->params.nports == 2 && t3_intr()
2680 t3_write_reg(adap, A_PL_CLI, 0); t3_intr()
2681 t3_read_reg(adap, A_PL_CLI); /* flush */ t3_intr()
2684 process_responses_gts(adap, q0); t3_intr()
2687 process_responses_gts(adap, q1); t3_intr()
2691 work_done = t3_slow_intr_handler(adap); t3_intr()
2707 struct adapter *adap = cookie; t3b_intr() local
2708 struct sge_rspq *q0 = &adap->sge.qs[0].rspq; t3b_intr()
2710 t3_write_reg(adap, A_PL_CLI, 0); t3b_intr()
2711 map = t3_read_reg(adap, A_SG_DATA_INTR); t3b_intr()
2719 t3_slow_intr_handler(adap); t3b_intr()
2722 process_responses_gts(adap, q0); t3b_intr()
2725 process_responses_gts(adap, &adap->sge.qs[1].rspq); t3b_intr()
2741 struct adapter *adap = cookie; t3b_intr_napi() local
2742 struct sge_qset *qs0 = &adap->sge.qs[0]; t3b_intr_napi()
2745 t3_write_reg(adap, A_PL_CLI, 0); t3b_intr_napi()
2746 map = t3_read_reg(adap, A_SG_DATA_INTR); t3b_intr_napi()
2754 t3_slow_intr_handler(adap); t3b_intr_napi()
2760 napi_schedule(&adap->sge.qs[1].napi); t3b_intr_napi()
2768 * @adap: the adapter
2775 irq_handler_t t3_intr_handler(struct adapter *adap, int polling) t3_intr_handler() argument
2777 if (adap->flags & USING_MSIX) t3_intr_handler()
2779 if (adap->flags & USING_MSI) t3_intr_handler()
2781 if (adap->params.rev > 0) t3_intr_handler()
2860 struct adapter *adap = pi->adapter; sge_timer_tx() local
2865 tbd[TXQ_ETH] = reclaim_completed_tx(adap, &qs->txq[TXQ_ETH], sge_timer_tx()
2871 tbd[TXQ_OFLD] = reclaim_completed_tx(adap, &qs->txq[TXQ_OFLD], sge_timer_tx()
2901 struct adapter *adap = pi->adapter; sge_timer_rx() local
2904 lock = adap->params.rev > 0 ? sge_timer_rx()
2905 &qs->rspq.lock : &adap->sge.qs[0].rspq.lock; sge_timer_rx()
2913 if (adap->params.rev < 4) { sge_timer_rx()
2914 status = t3_read_reg(adap, A_SG_RSPQ_FL_STATUS); sge_timer_rx()
2920 refill_rspq(adap, &qs->rspq, 1); sge_timer_rx()
2922 t3_write_reg(adap, A_SG_RSPQ_FL_STATUS, sge_timer_rx()
2929 __refill_fl(adap, &qs->fl[0]); sge_timer_rx()
2931 __refill_fl(adap, &qs->fl[1]); sge_timer_rx()
3105 q->adap = adapter; t3_sge_alloc_qset()
3141 * @adap: the adapter
3145 void t3_start_sge_timers(struct adapter *adap) t3_start_sge_timers() argument
3150 struct sge_qset *q = &adap->sge.qs[i]; t3_start_sge_timers()
3162 * @adap: the adapter
3166 void t3_stop_sge_timers(struct adapter *adap) t3_stop_sge_timers() argument
3171 struct sge_qset *q = &adap->sge.qs[i]; t3_stop_sge_timers()
3182 * @adap: the adapter
3186 void t3_free_sge_resources(struct adapter *adap) t3_free_sge_resources() argument
3191 t3_free_qset(adap, &adap->sge.qs[i]); t3_free_sge_resources()
3196 * @adap: the adapter
3201 void t3_sge_start(struct adapter *adap) t3_sge_start() argument
3203 t3_set_reg_field(adap, A_SG_CONTROL, F_GLOBALENABLE, F_GLOBALENABLE); t3_sge_start()
3208 * @adap: the adapter
3219 void t3_sge_stop(struct adapter *adap) t3_sge_stop() argument
3221 t3_set_reg_field(adap, A_SG_CONTROL, F_GLOBALENABLE, 0); t3_sge_stop()
3226 struct sge_qset *qs = &adap->sge.qs[i]; t3_sge_stop()
3236 * @adap: the adapter
3244 void t3_sge_init(struct adapter *adap, struct sge_params *p) t3_sge_init() argument
3246 unsigned int ctrl, ups = ffs(pci_resource_len(adap->pdev, 2) >> 12); t3_sge_init()
3255 if (adap->params.rev > 0) { t3_sge_init()
3256 if (!(adap->flags & (USING_MSIX | USING_MSI))) t3_sge_init()
3259 t3_write_reg(adap, A_SG_CONTROL, ctrl); t3_sge_init()
3260 t3_write_reg(adap, A_SG_EGR_RCQ_DRB_THRSH, V_HIRCQDRBTHRSH(512) | t3_sge_init()
3262 t3_write_reg(adap, A_SG_TIMER_TICK, core_ticks_per_usec(adap) / 10); t3_sge_init()
3263 t3_write_reg(adap, A_SG_CMDQ_CREDIT_TH, V_THRESHOLD(32) | t3_sge_init()
3264 V_TIMEOUT(200 * core_ticks_per_usec(adap))); t3_sge_init()
3265 t3_write_reg(adap, A_SG_HI_DRB_HI_THRSH, t3_sge_init()
3266 adap->params.rev < T3_REV_C ? 1000 : 500); t3_sge_init()
3267 t3_write_reg(adap, A_SG_HI_DRB_LO_THRSH, 256); t3_sge_init()
3268 t3_write_reg(adap, A_SG_LO_DRB_HI_THRSH, 1000); t3_sge_init()
3269 t3_write_reg(adap, A_SG_LO_DRB_LO_THRSH, 256); t3_sge_init()
3270 t3_write_reg(adap, A_SG_OCO_BASE, V_BASE1(0xfff)); t3_sge_init()
3271 t3_write_reg(adap, A_SG_DRB_PRI_THRESH, 63 * 1024); t3_sge_init()
3276 * @adap: the associated adapter
3283 void t3_sge_prep(struct adapter *adap, struct sge_params *p) t3_sge_prep() argument
3293 q->polling = adap->params.rev > 0; t3_sge_prep()
3304 spin_lock_init(&adap->sge.reg_lock); t3_sge_prep()
H A Dadapter.h201 struct adapter *adap; member in struct:sge_qset
285 static inline struct port_info *adap2pinfo(struct adapter *adap, int idx) adap2pinfo() argument
287 return netdev_priv(adap->port[idx]); adap2pinfo()
292 struct adapter *adap = phy->adapter; phy2portid() local
293 struct port_info *port0 = adap2pinfo(adap, 0); phy2portid()
312 void t3_os_phymod_changed(struct adapter *adap, int port_id);
316 void t3_sge_start(struct adapter *adap);
317 void t3_sge_stop(struct adapter *adap);
318 void t3_start_sge_timers(struct adapter *adap);
319 void t3_stop_sge_timers(struct adapter *adap);
320 void t3_free_sge_resources(struct adapter *adap);
322 irq_handler_t t3_intr_handler(struct adapter *adap, int polling);
324 int t3_mgmt_tx(struct adapter *adap, struct sk_buff *skb);
H A Dcommon.h44 #define CH_ERR(adap, fmt, ...) dev_err(&adap->pdev->dev, fmt, ##__VA_ARGS__)
45 #define CH_WARN(adap, fmt, ...) dev_warn(&adap->pdev->dev, fmt, ##__VA_ARGS__)
46 #define CH_ALERT(adap, fmt, ...) dev_alert(&adap->pdev->dev, fmt, ##__VA_ARGS__)
615 #define adapter_info(adap) ((adap)->params.info)
617 static inline int uses_xaui(const struct adapter *adap) uses_xaui() argument
619 return adapter_info(adap)->caps & SUPPORTED_AUI; uses_xaui()
622 static inline int is_10G(const struct adapter *adap) is_10G() argument
624 return adapter_info(adap)->caps & SUPPORTED_10000baseT_Full; is_10G()
627 static inline int is_offload(const struct adapter *adap) is_offload() argument
629 return adap->params.offload; is_offload()
632 static inline unsigned int core_ticks_per_usec(const struct adapter *adap) core_ticks_per_usec() argument
634 return adap->params.vpd.cclk / 1000; core_ticks_per_usec()
637 static inline unsigned int is_pcie(const struct adapter *adap) is_pcie() argument
639 return adap->params.pci.variant == PCI_VARIANT_PCIE; is_pcie()
642 void t3_set_reg_field(struct adapter *adap, unsigned int addr, u32 mask,
686 int t3_set_proto_sram(struct adapter *adap, const u8 *data);
700 int t3_cim_ctl_blk_read(struct adapter *adap, unsigned int addr,
724 void t3_tp_set_offload_mode(struct adapter *adap, int enable);
725 void t3_tp_get_mib_stats(struct adapter *adap, struct tp_mib_stats *tps);
726 void t3_load_mtus(struct adapter *adap, unsigned short mtus[NMTUS],
732 int t3_config_sched(struct adapter *adap, unsigned int kbps, int sched);
734 void t3_sge_prep(struct adapter *adap, struct sge_params *p);
735 void t3_sge_init(struct adapter *adap, struct sge_params *p);
/linux-4.1.27/drivers/i2c/algos/
H A Di2c-algo-pca.c35 #define pca_outw(adap, reg, val) adap->write_byte(adap->data, reg, val)
36 #define pca_inw(adap, reg) adap->read_byte(adap->data, reg)
38 #define pca_status(adap) pca_inw(adap, I2C_PCA_STA)
39 #define pca_clock(adap) adap->i2c_clock
40 #define pca_set_con(adap, val) pca_outw(adap, I2C_PCA_CON, val)
41 #define pca_get_con(adap) pca_inw(adap, I2C_PCA_CON)
42 #define pca_wait(adap) adap->wait_for_completion(adap->data)
44 static void pca_reset(struct i2c_algo_pca_data *adap) pca_reset() argument
46 if (adap->chip == I2C_PCA_CHIP_9665) { pca_reset()
50 pca_outw(adap, I2C_PCA_INDPTR, I2C_PCA_IPRESET); pca_reset()
51 pca_outw(adap, I2C_PCA_IND, 0xA5); pca_reset()
52 pca_outw(adap, I2C_PCA_IND, 0x5A); pca_reset()
54 adap->reset_chip(adap->data); pca_reset()
63 static int pca_start(struct i2c_algo_pca_data *adap) pca_start() argument
65 int sta = pca_get_con(adap); pca_start()
69 pca_set_con(adap, sta); pca_start()
70 return pca_wait(adap); pca_start()
78 static int pca_repeated_start(struct i2c_algo_pca_data *adap) pca_repeated_start() argument
80 int sta = pca_get_con(adap); pca_repeated_start()
84 pca_set_con(adap, sta); pca_repeated_start()
85 return pca_wait(adap); pca_repeated_start()
97 static void pca_stop(struct i2c_algo_pca_data *adap) pca_stop() argument
99 int sta = pca_get_con(adap); pca_stop()
103 pca_set_con(adap, sta); pca_stop()
111 static int pca_address(struct i2c_algo_pca_data *adap, pca_address() argument
114 int sta = pca_get_con(adap); pca_address()
123 pca_outw(adap, I2C_PCA_DAT, addr); pca_address()
126 pca_set_con(adap, sta); pca_address()
128 return pca_wait(adap); pca_address()
136 static int pca_tx_byte(struct i2c_algo_pca_data *adap, pca_tx_byte() argument
139 int sta = pca_get_con(adap); pca_tx_byte()
141 pca_outw(adap, I2C_PCA_DAT, b); pca_tx_byte()
144 pca_set_con(adap, sta); pca_tx_byte()
146 return pca_wait(adap); pca_tx_byte()
154 static void pca_rx_byte(struct i2c_algo_pca_data *adap, pca_rx_byte() argument
157 *b = pca_inw(adap, I2C_PCA_DAT); pca_rx_byte()
166 static int pca_rx_ack(struct i2c_algo_pca_data *adap, pca_rx_ack() argument
169 int sta = pca_get_con(adap); pca_rx_ack()
176 pca_set_con(adap, sta); pca_rx_ack()
177 return pca_wait(adap); pca_rx_ack()
184 struct i2c_algo_pca_data *adap = i2c_adap->algo_data; pca_xfer() local
193 while ((state = pca_status(adap)) != 0xf8) { pca_xfer()
229 state = pca_status(adap); pca_xfer()
236 completed = pca_start(adap); pca_xfer()
241 completed = pca_address(adap, msg); pca_xfer()
247 completed = pca_tx_byte(adap, pca_xfer()
254 pca_stop(adap); pca_xfer()
256 completed = pca_repeated_start(adap); pca_xfer()
261 pca_stop(adap); pca_xfer()
266 completed = pca_rx_ack(adap, msg->len > 1); pca_xfer()
271 pca_rx_byte(adap, &msg->buf[numbytes], 1); pca_xfer()
273 completed = pca_rx_ack(adap, pca_xfer()
279 pca_stop(adap); pca_xfer()
281 completed = pca_repeated_start(adap); pca_xfer()
286 pca_stop(adap); pca_xfer()
292 pca_stop(adap); pca_xfer()
306 pca_start(adap); pca_xfer()
311 pca_rx_byte(adap, &msg->buf[numbytes], 0); pca_xfer()
314 pca_stop(adap); pca_xfer()
316 completed = pca_repeated_start(adap); pca_xfer()
321 pca_stop(adap); pca_xfer()
327 pca_reset(adap); pca_xfer()
331 pca_reset(adap); pca_xfer()
335 pca_reset(adap); pca_xfer()
350 curmsg, num, pca_status(adap), pca_xfer()
351 pca_get_con(adap)); pca_xfer()
355 static u32 pca_func(struct i2c_adapter *adap) pca_func() argument
365 static unsigned int pca_probe_chip(struct i2c_adapter *adap) pca_probe_chip() argument
367 struct i2c_algo_pca_data *pca_data = adap->algo_data; pca_probe_chip()
379 printk(KERN_INFO "%s: PCA9665 detected.\n", adap->name); pca_probe_chip()
382 printk(KERN_INFO "%s: PCA9564 detected.\n", adap->name); pca_probe_chip()
388 static int pca_init(struct i2c_adapter *adap) pca_init() argument
390 struct i2c_algo_pca_data *pca_data = adap->algo_data; pca_init()
392 adap->algo = &pca_algo; pca_init()
394 if (pca_probe_chip(adap) == I2C_PCA_CHIP_9564) { pca_init()
427 " Using default 59kHz.\n", adap->name); pca_init()
434 " Use the nominal frequency.\n", adap->name); pca_init()
441 adap->name, freqs[clock]); pca_init()
461 " Using 1265.8kHz.\n", adap->name); pca_init()
467 " Using 60.3kHz.\n", adap->name); pca_init()
513 "%s: Clock frequency is %dHz\n", adap->name, clock * 100); pca_init()
532 int i2c_pca_add_bus(struct i2c_adapter *adap) i2c_pca_add_bus() argument
536 rval = pca_init(adap); i2c_pca_add_bus()
540 return i2c_add_adapter(adap); i2c_pca_add_bus()
544 int i2c_pca_add_numbered_bus(struct i2c_adapter *adap) i2c_pca_add_numbered_bus() argument
548 rval = pca_init(adap); i2c_pca_add_numbered_bus()
552 return i2c_add_numbered_adapter(adap); i2c_pca_add_numbered_bus()
H A Di2c-algo-pcf.c47 #define set_pcf(adap, ctl, val) adap->setpcf(adap->data, ctl, val)
48 #define get_pcf(adap, ctl) adap->getpcf(adap->data, ctl)
49 #define get_own(adap) adap->getown(adap->data)
50 #define get_clock(adap) adap->getclock(adap->data)
51 #define i2c_outb(adap, val) adap->setpcf(adap->data, 0, val)
52 #define i2c_inb(adap) adap->getpcf(adap->data, 0)
56 static void i2c_start(struct i2c_algo_pcf_data *adap) i2c_start() argument
59 set_pcf(adap, 1, I2C_PCF_START); i2c_start()
62 static void i2c_repstart(struct i2c_algo_pcf_data *adap) i2c_repstart() argument
65 set_pcf(adap, 1, I2C_PCF_REPSTART); i2c_repstart()
68 static void i2c_stop(struct i2c_algo_pcf_data *adap) i2c_stop() argument
71 set_pcf(adap, 1, I2C_PCF_STOP); i2c_stop()
74 static void handle_lab(struct i2c_algo_pcf_data *adap, const int *status) handle_lab() argument
85 set_pcf(adap, 1, I2C_PCF_PIN); handle_lab()
86 set_pcf(adap, 1, I2C_PCF_ESO); handle_lab()
96 if (adap->lab_mdelay) handle_lab()
97 mdelay(adap->lab_mdelay); handle_lab()
101 get_pcf(adap, 1))); handle_lab()
104 static int wait_for_bb(struct i2c_algo_pcf_data *adap) wait_for_bb() argument
110 status = get_pcf(adap, 1); wait_for_bb()
114 status = get_pcf(adap, 1); wait_for_bb()
125 static int wait_for_pin(struct i2c_algo_pcf_data *adap, int *status) wait_for_pin() argument
130 *status = get_pcf(adap, 1); wait_for_pin()
133 adap->waitforpin(adap->data); wait_for_pin()
134 *status = get_pcf(adap, 1); wait_for_pin()
137 handle_lab(adap, status); wait_for_pin()
158 static int pcf_init_8584 (struct i2c_algo_pcf_data *adap) pcf_init_8584() argument
163 get_pcf(adap, 1))); pcf_init_8584()
166 set_pcf(adap, 1, I2C_PCF_PIN); pcf_init_8584()
171 if (((temp = get_pcf(adap, 1)) & 0x7f) != (0)) { pcf_init_8584()
177 i2c_outb(adap, get_own(adap)); pcf_init_8584()
179 if ((temp = i2c_inb(adap)) != get_own(adap)) { pcf_init_8584()
185 set_pcf(adap, 1, I2C_PCF_PIN | I2C_PCF_ES1); pcf_init_8584()
187 if (((temp = get_pcf(adap, 1)) & 0x7f) != I2C_PCF_ES1) { pcf_init_8584()
193 i2c_outb(adap, get_clock(adap)); pcf_init_8584()
195 if (((temp = i2c_inb(adap)) & 0x1f) != get_clock(adap)) { pcf_init_8584()
201 set_pcf(adap, 1, I2C_PCF_IDLE); pcf_init_8584()
204 if ((temp = get_pcf(adap, 1)) != (I2C_PCF_PIN | I2C_PCF_BB)) { pcf_init_8584()
217 struct i2c_algo_pcf_data *adap = i2c_adap->algo_data; pcf_sendbytes() local
223 i2c_outb(adap, buf[wrcount]); pcf_sendbytes()
224 timeout = wait_for_pin(adap, &status); pcf_sendbytes()
229 i2c_stop(adap); pcf_sendbytes()
234 i2c_stop(adap); pcf_sendbytes()
240 i2c_stop(adap); pcf_sendbytes()
242 i2c_repstart(adap); pcf_sendbytes()
251 struct i2c_algo_pcf_data *adap = i2c_adap->algo_data; pcf_readbytes() local
257 if ((wfp = wait_for_pin(adap, &status))) { pcf_readbytes()
261 i2c_stop(adap); pcf_readbytes()
267 i2c_stop(adap); pcf_readbytes()
273 set_pcf(adap, 1, I2C_PCF_ESO); pcf_readbytes()
276 i2c_stop(adap); pcf_readbytes()
278 i2c_repstart(adap); pcf_readbytes()
282 buf[i - 1] = i2c_inb(adap); pcf_readbytes()
284 i2c_inb(adap); /* dummy read */ pcf_readbytes()
291 static int pcf_doAddress(struct i2c_algo_pcf_data *adap, pcf_doAddress() argument
302 i2c_outb(adap, addr); pcf_doAddress()
311 struct i2c_algo_pcf_data *adap = i2c_adap->algo_data; pcf_xfer() local
316 if (adap->xfer_begin) pcf_xfer()
317 adap->xfer_begin(adap->data); pcf_xfer()
320 timeout = wait_for_bb(adap); pcf_xfer()
335 ret = pcf_doAddress(adap, pmsg); pcf_xfer()
339 i2c_start(adap); pcf_xfer()
342 timeout = wait_for_pin(adap, &status); pcf_xfer()
349 i2c_stop(adap); pcf_xfer()
358 i2c_stop(adap); pcf_xfer()
391 if (adap->xfer_end) pcf_xfer()
392 adap->xfer_end(adap->data); pcf_xfer()
396 static u32 pcf_func(struct i2c_adapter *adap) pcf_func() argument
411 int i2c_pcf_add_bus(struct i2c_adapter *adap) i2c_pcf_add_bus() argument
413 struct i2c_algo_pcf_data *pcf_adap = adap->algo_data; i2c_pcf_add_bus()
416 DEB2(dev_dbg(&adap->dev, "hw routines registered.\n")); i2c_pcf_add_bus()
419 adap->algo = &pcf_algo; i2c_pcf_add_bus()
424 rval = i2c_add_adapter(adap); i2c_pcf_add_bus()
H A Di2c-algo-bit.c57 #define setsda(adap, val) adap->setsda(adap->data, val)
58 #define setscl(adap, val) adap->setscl(adap->data, val)
59 #define getsda(adap) adap->getsda(adap->data)
60 #define getscl(adap) adap->getscl(adap->data)
62 static inline void sdalo(struct i2c_algo_bit_data *adap) sdalo() argument
64 setsda(adap, 0); sdalo()
65 udelay((adap->udelay + 1) / 2); sdalo()
68 static inline void sdahi(struct i2c_algo_bit_data *adap) sdahi() argument
70 setsda(adap, 1); sdahi()
71 udelay((adap->udelay + 1) / 2); sdahi()
74 static inline void scllo(struct i2c_algo_bit_data *adap) scllo() argument
76 setscl(adap, 0); scllo()
77 udelay(adap->udelay / 2); scllo()
84 static int sclhi(struct i2c_algo_bit_data *adap) sclhi() argument
88 setscl(adap, 1); sclhi()
91 if (!adap->getscl) sclhi()
95 while (!getscl(adap)) { sclhi()
101 if (time_after(jiffies, start + adap->timeout)) { sclhi()
105 if (getscl(adap)) sclhi()
118 udelay(adap->udelay); sclhi()
124 static void i2c_start(struct i2c_algo_bit_data *adap) i2c_start() argument
127 setsda(adap, 0); i2c_start()
128 udelay(adap->udelay); i2c_start()
129 scllo(adap); i2c_start()
132 static void i2c_repstart(struct i2c_algo_bit_data *adap) i2c_repstart() argument
135 sdahi(adap); i2c_repstart()
136 sclhi(adap); i2c_repstart()
137 setsda(adap, 0); i2c_repstart()
138 udelay(adap->udelay); i2c_repstart()
139 scllo(adap); i2c_repstart()
143 static void i2c_stop(struct i2c_algo_bit_data *adap) i2c_stop() argument
146 sdalo(adap); i2c_stop()
147 sclhi(adap); i2c_stop()
148 setsda(adap, 1); i2c_stop()
149 udelay(adap->udelay); i2c_stop()
166 struct i2c_algo_bit_data *adap = i2c_adap->algo_data; i2c_outb() local
171 setsda(adap, sb); i2c_outb()
172 udelay((adap->udelay + 1) / 2); i2c_outb()
173 if (sclhi(adap) < 0) { /* timed out */ i2c_outb()
179 * if (sb && !getsda(adap)) -> ouch! Get out of here. i2c_outb()
184 scllo(adap); i2c_outb()
186 sdahi(adap); i2c_outb()
187 if (sclhi(adap) < 0) { /* timeout */ i2c_outb()
196 ack = !getsda(adap); /* ack: sda is pulled low -> success */ i2c_outb()
200 scllo(adap); i2c_outb()
212 struct i2c_algo_bit_data *adap = i2c_adap->algo_data; i2c_inb() local
215 sdahi(adap); i2c_inb()
217 if (sclhi(adap) < 0) { /* timeout */ i2c_inb()
223 if (getsda(adap)) i2c_inb()
225 setscl(adap, 0); i2c_inb()
226 udelay(i == 7 ? adap->udelay / 2 : adap->udelay); i2c_inb()
238 struct i2c_algo_bit_data *adap = i2c_adap->algo_data; test_bus() local
242 if (adap->pre_xfer) { test_bus()
243 ret = adap->pre_xfer(i2c_adap); test_bus()
248 if (adap->getscl == NULL) test_bus()
251 sda = getsda(adap); test_bus()
252 scl = (adap->getscl == NULL) ? 1 : getscl(adap); test_bus()
260 sdalo(adap); test_bus()
261 sda = getsda(adap); test_bus()
262 scl = (adap->getscl == NULL) ? 1 : getscl(adap); test_bus()
273 sdahi(adap); test_bus()
274 sda = getsda(adap); test_bus()
275 scl = (adap->getscl == NULL) ? 1 : getscl(adap); test_bus()
286 scllo(adap); test_bus()
287 sda = getsda(adap); test_bus()
288 scl = (adap->getscl == NULL) ? 0 : getscl(adap); test_bus()
299 sclhi(adap); test_bus()
300 sda = getsda(adap); test_bus()
301 scl = (adap->getscl == NULL) ? 1 : getscl(adap); test_bus()
312 if (adap->post_xfer) test_bus()
313 adap->post_xfer(i2c_adap); test_bus()
318 sdahi(adap); test_bus()
319 sclhi(adap); test_bus()
321 if (adap->post_xfer) test_bus()
322 adap->post_xfer(i2c_adap); test_bus()
340 struct i2c_algo_bit_data *adap = i2c_adap->algo_data; try_address() local
348 i2c_stop(adap); try_address()
349 udelay(adap->udelay); try_address()
352 i2c_start(adap); try_address()
405 struct i2c_algo_bit_data *adap = i2c_adap->algo_data; acknak() local
409 setsda(adap, 0); acknak()
410 udelay((adap->udelay + 1) / 2); acknak()
411 if (sclhi(adap) < 0) { /* timeout */ acknak()
415 scllo(adap); acknak()
483 struct i2c_algo_bit_data *adap = i2c_adap->algo_data; bit_doAddress() local
511 i2c_repstart(adap); bit_doAddress()
539 struct i2c_algo_bit_data *adap = i2c_adap->algo_data; bit_xfer() local
543 if (adap->pre_xfer) { bit_xfer()
544 ret = adap->pre_xfer(i2c_adap); bit_xfer()
550 i2c_start(adap); bit_xfer()
558 i2c_repstart(adap); bit_xfer()
596 i2c_stop(adap); bit_xfer()
598 if (adap->post_xfer) bit_xfer()
599 adap->post_xfer(i2c_adap); bit_xfer()
603 static u32 bit_func(struct i2c_adapter *adap) bit_func() argument
623 static int __i2c_bit_add_bus(struct i2c_adapter *adap, __i2c_bit_add_bus() argument
626 struct i2c_algo_bit_data *bit_adap = adap->algo_data; __i2c_bit_add_bus()
630 ret = test_bus(adap); __i2c_bit_add_bus()
636 adap->algo = &i2c_bit_algo; __i2c_bit_add_bus()
637 adap->retries = 3; __i2c_bit_add_bus()
639 ret = add_adapter(adap); __i2c_bit_add_bus()
645 dev_warn(&adap->dev, "Not I2C compliant: can't read SCL\n"); __i2c_bit_add_bus()
646 dev_warn(&adap->dev, "Bus may be unreliable\n"); __i2c_bit_add_bus()
651 int i2c_bit_add_bus(struct i2c_adapter *adap) i2c_bit_add_bus() argument
653 return __i2c_bit_add_bus(adap, i2c_add_adapter); i2c_bit_add_bus()
657 int i2c_bit_add_numbered_bus(struct i2c_adapter *adap) i2c_bit_add_numbered_bus() argument
659 return __i2c_bit_add_bus(adap, i2c_add_numbered_adapter); i2c_bit_add_numbered_bus()
/linux-4.1.27/drivers/media/usb/dvb-usb-v2/
H A Ddvb_usb_core.c218 struct dvb_usb_adapter *adap = stream->user_priv; dvb_usb_data_complete() local
219 dvb_dmx_swfilter(&adap->demux, buf, len); dvb_usb_data_complete()
225 struct dvb_usb_adapter *adap = stream->user_priv; dvb_usb_data_complete_204() local
226 dvb_dmx_swfilter_204(&adap->demux, buf, len); dvb_usb_data_complete_204()
232 struct dvb_usb_adapter *adap = stream->user_priv; dvb_usb_data_complete_raw() local
233 dvb_dmx_swfilter_raw(&adap->demux, buf, len); dvb_usb_data_complete_raw()
236 static int dvb_usbv2_adapter_stream_init(struct dvb_usb_adapter *adap) dvb_usbv2_adapter_stream_init() argument
238 dev_dbg(&adap_to_d(adap)->udev->dev, "%s: adap=%d\n", __func__, dvb_usbv2_adapter_stream_init()
239 adap->id); dvb_usbv2_adapter_stream_init()
241 adap->stream.udev = adap_to_d(adap)->udev; dvb_usbv2_adapter_stream_init()
242 adap->stream.user_priv = adap; dvb_usbv2_adapter_stream_init()
243 adap->stream.complete = dvb_usb_data_complete; dvb_usbv2_adapter_stream_init()
245 return usb_urb_initv2(&adap->stream, &adap->props->stream); dvb_usbv2_adapter_stream_init()
248 static int dvb_usbv2_adapter_stream_exit(struct dvb_usb_adapter *adap) dvb_usbv2_adapter_stream_exit() argument
250 dev_dbg(&adap_to_d(adap)->udev->dev, "%s: adap=%d\n", __func__, dvb_usbv2_adapter_stream_exit()
251 adap->id); dvb_usbv2_adapter_stream_exit()
253 return usb_urb_exitv2(&adap->stream); dvb_usbv2_adapter_stream_exit()
258 struct dvb_usb_adapter *adap = dvbdmxfeed->demux->priv; dvb_usb_start_feed() local
259 struct dvb_usb_device *d = adap_to_d(adap); dvb_usb_start_feed()
263 "%s: adap=%d active_fe=%d feed_type=%d setting pid [%s]: %04x (%04d) at index %d\n", dvb_usb_start_feed()
264 __func__, adap->id, adap->active_fe, dvbdmxfeed->type, dvb_usb_start_feed()
265 adap->pid_filtering ? "yes" : "no", dvbdmxfeed->pid, dvb_usb_start_feed()
269 wait_on_bit(&adap->state_bits, ADAP_INIT, TASK_UNINTERRUPTIBLE); dvb_usb_start_feed()
271 if (adap->active_fe == -1) dvb_usb_start_feed()
275 if (adap->feed_count++ > 0) dvb_usb_start_feed()
279 set_bit(ADAP_STREAMING, &adap->state_bits); dvb_usb_start_feed()
283 memcpy(&stream_props, &adap->props->stream, dvb_usb_start_feed()
285 ret = d->props->get_stream_config(adap->fe[adap->active_fe], dvb_usb_start_feed()
286 &adap->ts_type, &stream_props); dvb_usb_start_feed()
292 stream_props = adap->props->stream; dvb_usb_start_feed()
295 switch (adap->ts_type) { dvb_usb_start_feed()
297 adap->stream.complete = dvb_usb_data_complete_204; dvb_usb_start_feed()
300 adap->stream.complete = dvb_usb_data_complete_raw; dvb_usb_start_feed()
304 adap->stream.complete = dvb_usb_data_complete; dvb_usb_start_feed()
309 usb_urb_submitv2(&adap->stream, &stream_props); dvb_usb_start_feed()
312 if (adap->pid_filtering && adap->props->pid_filter_ctrl) { dvb_usb_start_feed()
313 ret = adap->props->pid_filter_ctrl(adap, 1); dvb_usb_start_feed()
322 ret = d->props->streaming_ctrl(adap->fe[adap->active_fe], 1); dvb_usb_start_feed()
331 if (adap->pid_filtering && adap->props->pid_filter) { dvb_usb_start_feed()
332 ret = adap->props->pid_filter(adap, dvbdmxfeed->index, dvb_usb_start_feed()
346 struct dvb_usb_adapter *adap = dvbdmxfeed->demux->priv; dvb_usb_stop_feed() local
347 struct dvb_usb_device *d = adap_to_d(adap); dvb_usb_stop_feed()
350 "%s: adap=%d active_fe=%d feed_type=%d setting pid [%s]: %04x (%04d) at index %d\n", dvb_usb_stop_feed()
351 __func__, adap->id, adap->active_fe, dvbdmxfeed->type, dvb_usb_stop_feed()
352 adap->pid_filtering ? "yes" : "no", dvbdmxfeed->pid, dvb_usb_stop_feed()
355 if (adap->active_fe == -1) dvb_usb_stop_feed()
359 if (adap->pid_filtering && adap->props->pid_filter) { dvb_usb_stop_feed()
360 ret = adap->props->pid_filter(adap, dvbdmxfeed->index, dvb_usb_stop_feed()
368 if (--adap->feed_count > 0) dvb_usb_stop_feed()
373 ret = d->props->streaming_ctrl(adap->fe[adap->active_fe], 0); dvb_usb_stop_feed()
381 if (adap->pid_filtering && adap->props->pid_filter_ctrl) { dvb_usb_stop_feed()
382 ret = adap->props->pid_filter_ctrl(adap, 0); dvb_usb_stop_feed()
390 usb_urb_killv2(&adap->stream); dvb_usb_stop_feed()
393 clear_bit(ADAP_STREAMING, &adap->state_bits); dvb_usb_stop_feed()
395 wake_up_bit(&adap->state_bits, ADAP_STREAMING); dvb_usb_stop_feed()
403 static void dvb_usbv2_media_device_register(struct dvb_usb_adapter *adap) dvb_usbv2_media_device_register() argument
407 struct dvb_usb_device *d = adap_to_d(adap); dvb_usbv2_media_device_register()
432 dvb_register_media_controller(&adap->dvb_adap, mdev); dvb_usbv2_media_device_register()
439 static void dvb_usbv2_media_device_unregister(struct dvb_usb_adapter *adap) dvb_usbv2_media_device_unregister() argument
443 if (!adap->dvb_adap.mdev) dvb_usbv2_media_device_unregister()
446 media_device_unregister(adap->dvb_adap.mdev); dvb_usbv2_media_device_unregister()
447 kfree(adap->dvb_adap.mdev); dvb_usbv2_media_device_unregister()
448 adap->dvb_adap.mdev = NULL; dvb_usbv2_media_device_unregister()
453 static int dvb_usbv2_adapter_dvb_init(struct dvb_usb_adapter *adap) dvb_usbv2_adapter_dvb_init() argument
456 struct dvb_usb_device *d = adap_to_d(adap); dvb_usbv2_adapter_dvb_init()
458 dev_dbg(&d->udev->dev, "%s: adap=%d\n", __func__, adap->id); dvb_usbv2_adapter_dvb_init()
460 ret = dvb_register_adapter(&adap->dvb_adap, d->name, d->props->owner, dvb_usbv2_adapter_dvb_init()
468 adap->dvb_adap.priv = adap; dvb_usbv2_adapter_dvb_init()
470 dvb_usbv2_media_device_register(adap); dvb_usbv2_adapter_dvb_init()
473 ret = d->props->read_mac_address(adap, dvb_usbv2_adapter_dvb_init()
474 adap->dvb_adap.proposed_mac); dvb_usbv2_adapter_dvb_init()
479 KBUILD_MODNAME, adap->dvb_adap.proposed_mac); dvb_usbv2_adapter_dvb_init()
482 adap->demux.dmx.capabilities = DMX_TS_FILTERING | DMX_SECTION_FILTERING; dvb_usbv2_adapter_dvb_init()
483 adap->demux.priv = adap; dvb_usbv2_adapter_dvb_init()
484 adap->demux.filternum = 0; dvb_usbv2_adapter_dvb_init()
485 adap->demux.filternum = adap->max_feed_count; dvb_usbv2_adapter_dvb_init()
486 adap->demux.feednum = adap->demux.filternum; dvb_usbv2_adapter_dvb_init()
487 adap->demux.start_feed = dvb_usb_start_feed; dvb_usbv2_adapter_dvb_init()
488 adap->demux.stop_feed = dvb_usb_stop_feed; dvb_usbv2_adapter_dvb_init()
489 adap->demux.write_to_decoder = NULL; dvb_usbv2_adapter_dvb_init()
490 ret = dvb_dmx_init(&adap->demux); dvb_usbv2_adapter_dvb_init()
497 adap->dmxdev.filternum = adap->demux.filternum; dvb_usbv2_adapter_dvb_init()
498 adap->dmxdev.demux = &adap->demux.dmx; dvb_usbv2_adapter_dvb_init()
499 adap->dmxdev.capabilities = 0; dvb_usbv2_adapter_dvb_init()
500 ret = dvb_dmxdev_init(&adap->dmxdev, &adap->dvb_adap); dvb_usbv2_adapter_dvb_init()
507 ret = dvb_net_init(&adap->dvb_adap, &adap->dvb_net, &adap->demux.dmx); dvb_usbv2_adapter_dvb_init()
516 dvb_dmxdev_release(&adap->dmxdev); dvb_usbv2_adapter_dvb_init()
518 dvb_dmx_release(&adap->demux); dvb_usbv2_adapter_dvb_init()
520 dvb_usbv2_media_device_unregister(adap); dvb_usbv2_adapter_dvb_init()
521 dvb_unregister_adapter(&adap->dvb_adap); dvb_usbv2_adapter_dvb_init()
523 adap->dvb_adap.priv = NULL; dvb_usbv2_adapter_dvb_init()
527 static int dvb_usbv2_adapter_dvb_exit(struct dvb_usb_adapter *adap) dvb_usbv2_adapter_dvb_exit() argument
529 dev_dbg(&adap_to_d(adap)->udev->dev, "%s: adap=%d\n", __func__, dvb_usbv2_adapter_dvb_exit()
530 adap->id); dvb_usbv2_adapter_dvb_exit()
532 if (adap->dvb_adap.priv) { dvb_usbv2_adapter_dvb_exit()
533 dvb_net_release(&adap->dvb_net); dvb_usbv2_adapter_dvb_exit()
534 adap->demux.dmx.close(&adap->demux.dmx); dvb_usbv2_adapter_dvb_exit()
535 dvb_dmxdev_release(&adap->dmxdev); dvb_usbv2_adapter_dvb_exit()
536 dvb_dmx_release(&adap->demux); dvb_usbv2_adapter_dvb_exit()
537 dvb_usbv2_media_device_unregister(adap); dvb_usbv2_adapter_dvb_exit()
538 dvb_unregister_adapter(&adap->dvb_adap); dvb_usbv2_adapter_dvb_exit()
572 struct dvb_usb_adapter *adap = fe->dvb->priv; dvb_usb_fe_init() local
573 struct dvb_usb_device *d = adap_to_d(adap); dvb_usb_fe_init()
574 dev_dbg(&d->udev->dev, "%s: adap=%d fe=%d\n", __func__, adap->id, dvb_usb_fe_init()
577 if (!adap->suspend_resume_active) { dvb_usb_fe_init()
578 adap->active_fe = fe->id; dvb_usb_fe_init()
579 set_bit(ADAP_INIT, &adap->state_bits); dvb_usb_fe_init()
592 if (adap->fe_init[fe->id]) { dvb_usb_fe_init()
593 ret = adap->fe_init[fe->id](fe); dvb_usb_fe_init()
598 if (!adap->suspend_resume_active) { dvb_usb_fe_init()
599 clear_bit(ADAP_INIT, &adap->state_bits); dvb_usb_fe_init()
601 wake_up_bit(&adap->state_bits, ADAP_INIT); dvb_usb_fe_init()
611 struct dvb_usb_adapter *adap = fe->dvb->priv; dvb_usb_fe_sleep() local
612 struct dvb_usb_device *d = adap_to_d(adap); dvb_usb_fe_sleep()
613 dev_dbg(&d->udev->dev, "%s: adap=%d fe=%d\n", __func__, adap->id, dvb_usb_fe_sleep()
616 if (!adap->suspend_resume_active) { dvb_usb_fe_sleep()
617 set_bit(ADAP_SLEEP, &adap->state_bits); dvb_usb_fe_sleep()
618 wait_on_bit(&adap->state_bits, ADAP_STREAMING, dvb_usb_fe_sleep()
622 if (adap->fe_sleep[fe->id]) { dvb_usb_fe_sleep()
623 ret = adap->fe_sleep[fe->id](fe); dvb_usb_fe_sleep()
638 if (!adap->suspend_resume_active) { dvb_usb_fe_sleep()
639 adap->active_fe = -1; dvb_usb_fe_sleep()
640 clear_bit(ADAP_SLEEP, &adap->state_bits); dvb_usb_fe_sleep()
642 wake_up_bit(&adap->state_bits, ADAP_SLEEP); dvb_usb_fe_sleep()
649 static int dvb_usbv2_adapter_frontend_init(struct dvb_usb_adapter *adap) dvb_usbv2_adapter_frontend_init() argument
652 struct dvb_usb_device *d = adap_to_d(adap); dvb_usbv2_adapter_frontend_init()
653 dev_dbg(&d->udev->dev, "%s: adap=%d\n", __func__, adap->id); dvb_usbv2_adapter_frontend_init()
655 memset(adap->fe, 0, sizeof(adap->fe)); dvb_usbv2_adapter_frontend_init()
656 adap->active_fe = -1; dvb_usbv2_adapter_frontend_init()
659 ret = d->props->frontend_attach(adap); dvb_usbv2_adapter_frontend_init()
673 for (i = 0; i < MAX_NO_OF_FE_PER_ADAP && adap->fe[i]; i++) { dvb_usbv2_adapter_frontend_init()
674 adap->fe[i]->id = i; dvb_usbv2_adapter_frontend_init()
676 adap->fe_init[i] = adap->fe[i]->ops.init; dvb_usbv2_adapter_frontend_init()
677 adap->fe[i]->ops.init = dvb_usb_fe_init; dvb_usbv2_adapter_frontend_init()
678 adap->fe_sleep[i] = adap->fe[i]->ops.sleep; dvb_usbv2_adapter_frontend_init()
679 adap->fe[i]->ops.sleep = dvb_usb_fe_sleep; dvb_usbv2_adapter_frontend_init()
681 ret = dvb_register_frontend(&adap->dvb_adap, adap->fe[i]); dvb_usbv2_adapter_frontend_init()
693 ret = d->props->tuner_attach(adap); dvb_usbv2_adapter_frontend_init()
701 dvb_create_media_graph(&adap->dvb_adap); dvb_usbv2_adapter_frontend_init()
707 dvb_unregister_frontend(adap->fe[i]); dvb_usbv2_adapter_frontend_init()
711 if (adap->fe[i]) { dvb_usbv2_adapter_frontend_init()
712 dvb_frontend_detach(adap->fe[i]); dvb_usbv2_adapter_frontend_init()
713 adap->fe[i] = NULL; dvb_usbv2_adapter_frontend_init()
722 static int dvb_usbv2_adapter_frontend_exit(struct dvb_usb_adapter *adap) dvb_usbv2_adapter_frontend_exit() argument
725 struct dvb_usb_device *d = adap_to_d(adap); dvb_usbv2_adapter_frontend_exit()
727 dev_dbg(&d->udev->dev, "%s: adap=%d\n", __func__, adap->id); dvb_usbv2_adapter_frontend_exit()
730 if (adap->fe[i]) { dvb_usbv2_adapter_frontend_exit()
731 dvb_unregister_frontend(adap->fe[i]); dvb_usbv2_adapter_frontend_exit()
732 dvb_frontend_detach(adap->fe[i]); dvb_usbv2_adapter_frontend_exit()
737 ret = d->props->tuner_detach(adap); dvb_usbv2_adapter_frontend_exit()
745 ret = d->props->frontend_detach(adap); dvb_usbv2_adapter_frontend_exit()
758 struct dvb_usb_adapter *adap; dvb_usbv2_adapter_init() local
772 adap = &d->adapter[i]; dvb_usbv2_adapter_init()
773 adap->id = i; dvb_usbv2_adapter_init()
774 adap->props = &d->props->adapter[i]; dvb_usbv2_adapter_init()
778 !(adap->props->caps & DVB_USB_ADAP_HAS_PID_FILTER)) { dvb_usbv2_adapter_init()
785 adap->props->caps & DVB_USB_ADAP_HAS_PID_FILTER) || dvb_usbv2_adapter_init()
786 (adap->props->caps & DVB_USB_ADAP_NEED_PID_FILTERING)) { dvb_usbv2_adapter_init()
790 adap->props->pid_filter_count); dvb_usbv2_adapter_init()
791 adap->pid_filtering = 1; dvb_usbv2_adapter_init()
792 adap->max_feed_count = adap->props->pid_filter_count; dvb_usbv2_adapter_init()
797 adap->pid_filtering = 0; dvb_usbv2_adapter_init()
798 adap->max_feed_count = 255; dvb_usbv2_adapter_init()
801 if (!adap->pid_filtering && dvb_usb_force_pid_filter_usage && dvb_usbv2_adapter_init()
802 adap->props->caps & DVB_USB_ADAP_HAS_PID_FILTER) { dvb_usbv2_adapter_init()
806 adap->pid_filtering = 1; dvb_usbv2_adapter_init()
807 adap->max_feed_count = adap->props->pid_filter_count; dvb_usbv2_adapter_init()
810 ret = dvb_usbv2_adapter_stream_init(adap); dvb_usbv2_adapter_init()
814 ret = dvb_usbv2_adapter_dvb_init(adap); dvb_usbv2_adapter_init()
818 ret = dvb_usbv2_adapter_frontend_init(adap); dvb_usbv2_adapter_init()
823 if (adap->fe[1]) dvb_usbv2_adapter_init()
824 adap->dvb_adap.mfe_shared = 1; dvb_usbv2_adapter_init()
H A Dgl861.c53 static int gl861_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msg[], gl861_i2c_xfer() argument
56 struct dvb_usb_device *d = i2c_get_adapdata(adap); gl861_i2c_xfer()
99 static int gl861_frontend_attach(struct dvb_usb_adapter *adap) gl861_frontend_attach() argument
102 adap->fe[0] = dvb_attach(zl10353_attach, &gl861_zl10353_config, gl861_frontend_attach()
103 &adap_to_d(adap)->i2c_adap); gl861_frontend_attach()
104 if (adap->fe[0] == NULL) gl861_frontend_attach()
114 static int gl861_tuner_attach(struct dvb_usb_adapter *adap) gl861_tuner_attach() argument
117 adap->fe[0], &adap_to_d(adap)->i2c_adap, gl861_tuner_attach()
H A Daf9035.c282 static int af9035_i2c_master_xfer(struct i2c_adapter *adap, af9035_i2c_master_xfer() argument
285 struct dvb_usb_device *d = i2c_get_adapdata(adap); af9035_i2c_master_xfer()
1103 struct i2c_adapter *adap = adapter_priv; af9035_frontend_callback() local
1104 struct dvb_usb_device *d = i2c_get_adapdata(adap); af9035_frontend_callback()
1126 static int af9035_frontend_attach(struct dvb_usb_adapter *adap) af9035_frontend_attach() argument
1128 struct state *state = adap_to_priv(adap); af9035_frontend_attach()
1129 struct dvb_usb_device *d = adap_to_d(adap); af9035_frontend_attach()
1132 dev_dbg(&d->udev->dev, "%s: adap->id=%d\n", __func__, adap->id); af9035_frontend_attach()
1134 if (!state->af9033_config[adap->id].tuner) { af9035_frontend_attach()
1140 state->af9033_config[adap->id].fe = &adap->fe[0]; af9035_frontend_attach()
1141 state->af9033_config[adap->id].ops = &state->ops; af9035_frontend_attach()
1142 ret = af9035_add_i2c_dev(d, "af9033", state->af9033_i2c_addr[adap->id], af9035_frontend_attach()
1143 &state->af9033_config[adap->id], &d->i2c_adap); af9035_frontend_attach()
1147 if (adap->fe[0] == NULL) { af9035_frontend_attach()
1153 adap->fe[0]->ops.i2c_gate_ctrl = NULL; af9035_frontend_attach()
1154 adap->fe[0]->callback = af9035_frontend_callback; af9035_frontend_attach()
1164 static int it930x_frontend_attach(struct dvb_usb_adapter *adap) it930x_frontend_attach() argument
1166 struct state *state = adap_to_priv(adap); it930x_frontend_attach()
1167 struct dvb_usb_device *d = adap_to_d(adap); it930x_frontend_attach()
1172 dev_dbg(&d->udev->dev, "adap->id=%d\n", adap->id); it930x_frontend_attach()
1176 si2168_config.fe = &adap->fe[0]; it930x_frontend_attach()
1179 state->af9033_config[adap->id].fe = &adap->fe[0]; it930x_frontend_attach()
1180 state->af9033_config[adap->id].ops = &state->ops; it930x_frontend_attach()
1186 if (adap->fe[0] == NULL) { it930x_frontend_attach()
1200 static int af9035_frontend_detach(struct dvb_usb_adapter *adap) af9035_frontend_detach() argument
1202 struct state *state = adap_to_priv(adap); af9035_frontend_detach()
1203 struct dvb_usb_device *d = adap_to_d(adap); af9035_frontend_detach()
1206 dev_dbg(&d->udev->dev, "%s: adap->id=%d\n", __func__, adap->id); af9035_frontend_detach()
1213 switch (state->af9033_config[adap->id].tuner) { af9035_frontend_detach()
1226 if (adap->id == 1) { af9035_frontend_detach()
1229 } else if (adap->id == 0) { af9035_frontend_detach()
1287 static int af9035_tuner_attach(struct dvb_usb_adapter *adap) af9035_tuner_attach() argument
1289 struct state *state = adap_to_priv(adap); af9035_tuner_attach()
1290 struct dvb_usb_device *d = adap_to_d(adap); af9035_tuner_attach()
1296 dev_dbg(&d->udev->dev, "%s: adap->id=%d\n", __func__, adap->id); af9035_tuner_attach()
1303 switch (state->af9033_config[adap->id].tuner) { af9035_tuner_attach()
1326 fe = dvb_attach(tua9001_attach, adap->fe[0], af9035_tuner_attach()
1330 fe = dvb_attach(fc0011_attach, adap->fe[0], af9035_tuner_attach()
1334 if (adap->id == 0) { af9035_tuner_attach()
1385 fe = dvb_attach(mxl5007t_attach, adap->fe[0], &d->i2c_adap, af9035_tuner_attach()
1386 tuner_addr, &af9035_mxl5007t_config[adap->id]); af9035_tuner_attach()
1390 fe = dvb_attach(tda18218_attach, adap->fe[0], af9035_tuner_attach()
1409 fe = dvb_attach(fc2580_attach, adap->fe[0], af9035_tuner_attach()
1419 if (adap->id == 0) { af9035_tuner_attach()
1449 fe = dvb_attach(fc0012_attach, adap->fe[0], &d->i2c_adap, af9035_tuner_attach()
1450 &af9035_fc0012_config[adap->id]); af9035_tuner_attach()
1457 .fe = adap->fe[0], af9035_tuner_attach()
1462 if (adap->id == 0) af9035_tuner_attach()
1469 state->af9033_i2c_addr[adap->id] >> 1, af9035_tuner_attach()
1474 fe = adap->fe[0]; af9035_tuner_attach()
1482 .fe = adap->fe[0], af9035_tuner_attach()
1487 if (adap->id == 0) af9035_tuner_attach()
1494 state->af9033_i2c_addr[adap->id] >> 1, af9035_tuner_attach()
1499 fe = adap->fe[0]; af9035_tuner_attach()
1519 static int it930x_tuner_attach(struct dvb_usb_adapter *adap) it930x_tuner_attach() argument
1521 struct state *state = adap_to_priv(adap); it930x_tuner_attach()
1522 struct dvb_usb_device *d = adap_to_d(adap); it930x_tuner_attach()
1526 dev_dbg(&d->udev->dev, "%s: adap->id=%d\n", __func__, adap->id); it930x_tuner_attach()
1571 si2157_config.fe = adap->fe[0]; it930x_tuner_attach()
1587 static int it930x_tuner_detach(struct dvb_usb_adapter *adap) it930x_tuner_detach() argument
1589 struct state *state = adap_to_priv(adap); it930x_tuner_detach()
1590 struct dvb_usb_device *d = adap_to_d(adap); it930x_tuner_detach()
1592 dev_dbg(&d->udev->dev, "adap->id=%d\n", adap->id); it930x_tuner_detach()
1594 if (adap->id == 1) { it930x_tuner_detach()
1597 } else if (adap->id == 0) { it930x_tuner_detach()
1606 static int af9035_tuner_detach(struct dvb_usb_adapter *adap) af9035_tuner_detach() argument
1608 struct state *state = adap_to_priv(adap); af9035_tuner_detach()
1609 struct dvb_usb_device *d = adap_to_d(adap); af9035_tuner_detach()
1611 dev_dbg(&d->udev->dev, "%s: adap->id=%d\n", __func__, adap->id); af9035_tuner_detach()
1613 switch (state->af9033_config[adap->id].tuner) { af9035_tuner_detach()
1620 if (adap->id == 1) { af9035_tuner_detach()
1623 } else if (adap->id == 0) { af9035_tuner_detach()
1857 dev_dbg(&d->udev->dev, "%s: adap=%d\n", __func__, fe_to_adap(fe)->id); af9035_get_stream_config()
1865 static int af9035_pid_filter_ctrl(struct dvb_usb_adapter *adap, int onoff) af9035_pid_filter_ctrl() argument
1867 struct state *state = adap_to_priv(adap); af9035_pid_filter_ctrl()
1869 return state->ops.pid_filter_ctrl(adap->fe[0], onoff); af9035_pid_filter_ctrl()
1872 static int af9035_pid_filter(struct dvb_usb_adapter *adap, int index, u16 pid, af9035_pid_filter() argument
1875 struct state *state = adap_to_priv(adap); af9035_pid_filter()
1877 return state->ops.pid_filter(adap->fe[0], index, pid, onoff); af9035_pid_filter()
H A Ddvbsky.c113 static int dvbsky_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msg[], dvbsky_i2c_xfer() argument
116 struct dvb_usb_device *d = i2c_get_adapdata(adap); dvbsky_i2c_xfer()
255 static int dvbsky_read_mac_addr(struct dvb_usb_adapter *adap, u8 mac[6]) dvbsky_read_mac_addr() argument
257 struct dvb_usb_device *d = adap_to_d(adap); dvbsky_read_mac_addr()
309 static int dvbsky_s960_attach(struct dvb_usb_adapter *adap) dvbsky_s960_attach() argument
311 struct dvbsky_state *state = adap_to_priv(adap); dvbsky_s960_attach()
312 struct dvb_usb_device *d = adap_to_d(adap); dvbsky_s960_attach()
322 adap->fe[0] = dvb_attach(m88ds3103_attach, dvbsky_s960_attach()
326 if (!adap->fe[0]) { dvbsky_s960_attach()
333 ts2020_config.fe = adap->fe[0]; dvbsky_s960_attach()
340 dvb_frontend_detach(adap->fe[0]); dvbsky_s960_attach()
347 dvb_frontend_detach(adap->fe[0]); dvbsky_s960_attach()
353 adap->fe[0]->ops.read_signal_strength = dvbsky_s960_attach()
354 adap->fe[0]->ops.tuner_ops.get_rf_strength; dvbsky_s960_attach()
357 state->fe_read_status = adap->fe[0]->ops.read_status; dvbsky_s960_attach()
358 adap->fe[0]->ops.read_status = dvbsky_usb_read_status; dvbsky_s960_attach()
361 state->fe_set_voltage = adap->fe[0]->ops.set_voltage; dvbsky_s960_attach()
362 adap->fe[0]->ops.set_voltage = dvbsky_usb_set_voltage; dvbsky_s960_attach()
430 static int dvbsky_s960c_attach(struct dvb_usb_adapter *adap) dvbsky_s960c_attach() argument
432 struct dvbsky_state *state = adap_to_priv(adap); dvbsky_s960c_attach()
433 struct dvb_usb_device *d = adap_to_d(adap); dvbsky_s960c_attach()
444 adap->fe[0] = dvb_attach(m88ds3103_attach, dvbsky_s960c_attach()
448 if (!adap->fe[0]) { dvbsky_s960c_attach()
455 ts2020_config.fe = adap->fe[0]; dvbsky_s960c_attach()
473 sp2_config.dvb_adap = &adap->dvb_adap; dvbsky_s960c_attach()
493 adap->fe[0]->ops.read_signal_strength = dvbsky_s960c_attach()
494 adap->fe[0]->ops.tuner_ops.get_rf_strength; dvbsky_s960c_attach()
497 state->fe_read_status = adap->fe[0]->ops.read_status; dvbsky_s960c_attach()
498 adap->fe[0]->ops.read_status = dvbsky_usb_read_status; dvbsky_s960c_attach()
501 state->fe_set_voltage = adap->fe[0]->ops.set_voltage; dvbsky_s960c_attach()
502 adap->fe[0]->ops.set_voltage = dvbsky_usb_ci_set_voltage; dvbsky_s960c_attach()
514 dvb_frontend_detach(adap->fe[0]); dvbsky_s960c_attach()
519 static int dvbsky_t680c_attach(struct dvb_usb_adapter *adap) dvbsky_t680c_attach() argument
521 struct dvbsky_state *state = adap_to_priv(adap); dvbsky_t680c_attach()
522 struct dvb_usb_device *d = adap_to_d(adap); dvbsky_t680c_attach()
534 si2168_config.fe = &adap->fe[0]; dvbsky_t680c_attach()
551 si2157_config.fe = adap->fe[0]; dvbsky_t680c_attach()
567 sp2_config.dvb_adap = &adap->dvb_adap; dvbsky_t680c_attach()
603 static int dvbsky_t330_attach(struct dvb_usb_adapter *adap) dvbsky_t330_attach() argument
605 struct dvbsky_state *state = adap_to_priv(adap); dvbsky_t330_attach()
606 struct dvb_usb_device *d = adap_to_d(adap); dvbsky_t330_attach()
617 si2168_config.fe = &adap->fe[0]; dvbsky_t330_attach()
634 si2157_config.fe = adap->fe[0]; dvbsky_t330_attach()
H A Daz6007.c87 struct dvb_usb_adapter *adap = fe->sec_priv; drxk_gate_ctrl() local
92 if (!adap || !st) drxk_gate_ctrl()
578 static int az6007_ci_init(struct dvb_usb_adapter *adap) az6007_ci_init() argument
580 struct dvb_usb_device *d = adap_to_d(adap); az6007_ci_init()
581 struct az6007_device_state *state = adap_to_priv(adap); az6007_ci_init()
598 ret = dvb_ca_en50221_init(&adap->dvb_adap, az6007_ci_init()
613 static int az6007_read_mac_addr(struct dvb_usb_adapter *adap, u8 mac[6]) az6007_read_mac_addr() argument
615 struct dvb_usb_device *d = adap_to_d(adap); az6007_read_mac_addr()
616 struct az6007_device_state *st = adap_to_priv(adap); az6007_read_mac_addr()
628 static int az6007_frontend_attach(struct dvb_usb_adapter *adap) az6007_frontend_attach() argument
630 struct az6007_device_state *st = adap_to_priv(adap); az6007_frontend_attach()
631 struct dvb_usb_device *d = adap_to_d(adap); az6007_frontend_attach()
635 adap->fe[0] = dvb_attach(drxk_attach, &terratec_h7_drxk, az6007_frontend_attach()
637 if (!adap->fe[0]) az6007_frontend_attach()
640 adap->fe[0]->sec_priv = adap; az6007_frontend_attach()
641 st->gate_ctrl = adap->fe[0]->ops.i2c_gate_ctrl; az6007_frontend_attach()
642 adap->fe[0]->ops.i2c_gate_ctrl = drxk_gate_ctrl; az6007_frontend_attach()
644 az6007_ci_init(adap); az6007_frontend_attach()
649 static int az6007_cablestar_hdci_frontend_attach(struct dvb_usb_adapter *adap) az6007_cablestar_hdci_frontend_attach() argument
651 struct az6007_device_state *st = adap_to_priv(adap); az6007_cablestar_hdci_frontend_attach()
652 struct dvb_usb_device *d = adap_to_d(adap); az6007_cablestar_hdci_frontend_attach()
656 adap->fe[0] = dvb_attach(drxk_attach, &cablestar_hdci_drxk, az6007_cablestar_hdci_frontend_attach()
658 if (!adap->fe[0]) az6007_cablestar_hdci_frontend_attach()
661 adap->fe[0]->sec_priv = adap; az6007_cablestar_hdci_frontend_attach()
662 st->gate_ctrl = adap->fe[0]->ops.i2c_gate_ctrl; az6007_cablestar_hdci_frontend_attach()
663 adap->fe[0]->ops.i2c_gate_ctrl = drxk_gate_ctrl; az6007_cablestar_hdci_frontend_attach()
665 az6007_ci_init(adap); az6007_cablestar_hdci_frontend_attach()
670 static int az6007_tuner_attach(struct dvb_usb_adapter *adap) az6007_tuner_attach() argument
672 struct dvb_usb_device *d = adap_to_d(adap); az6007_tuner_attach()
677 if (adap->fe[0]->ops.i2c_gate_ctrl) az6007_tuner_attach()
678 adap->fe[0]->ops.i2c_gate_ctrl(adap->fe[0], 1); az6007_tuner_attach()
679 if (!dvb_attach(mt2063_attach, adap->fe[0], az6007_tuner_attach()
684 if (adap->fe[0]->ops.i2c_gate_ctrl) az6007_tuner_attach()
685 adap->fe[0]->ops.i2c_gate_ctrl(adap->fe[0], 0); az6007_tuner_attach()
744 static int az6007_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], az6007_i2c_xfer() argument
747 struct dvb_usb_device *d = i2c_get_adapdata(adap); az6007_i2c_xfer()
956 struct dvb_usb_adapter *adap = &d->adapter[0]; az6007_resume() local
958 az6007_ci_init(adap); az6007_resume()
H A Dlmedm04.c262 struct dvb_usb_adapter *adap = lme_urb->context; lme2510_int_response() local
263 struct lme2510_state *st = adap_to_priv(adap); lme2510_int_response()
300 if (adap_to_d(adap)->rc_dev != NULL) lme2510_int_response()
301 rc_keydown(adap_to_d(adap)->rc_dev, lme2510_int_response()
359 static int lme2510_int_read(struct dvb_usb_adapter *adap) lme2510_int_read() argument
361 struct dvb_usb_device *d = adap_to_d(adap); lme2510_int_read()
362 struct lme2510_state *lme_int = adap_to_priv(adap); lme2510_int_read()
382 adap, lme2510_int_read()
399 static int lme2510_pid_filter_ctrl(struct dvb_usb_adapter *adap, int onoff) lme2510_pid_filter_ctrl() argument
401 struct dvb_usb_device *d = adap_to_d(adap); lme2510_pid_filter_ctrl()
402 struct lme2510_state *st = adap_to_priv(adap); lme2510_pid_filter_ctrl()
425 static int lme2510_pid_filter(struct dvb_usb_adapter *adap, int index, u16 pid, lme2510_pid_filter() argument
428 struct dvb_usb_device *d = adap_to_d(adap); lme2510_pid_filter()
473 static int lme2510_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msg[], lme2510_i2c_xfer() argument
476 struct dvb_usb_device *d = i2c_get_adapdata(adap); lme2510_i2c_xfer()
550 struct dvb_usb_adapter *adap = fe_to_adap(fe); lme2510_streaming_ctrl() local
551 struct dvb_usb_device *d = adap_to_d(adap); lme2510_streaming_ctrl()
552 struct lme2510_state *st = adap_to_priv(adap); lme2510_streaming_ctrl()
952 static int lme_name(struct dvb_usb_adapter *adap) lme_name() argument
954 struct dvb_usb_device *d = adap_to_d(adap); lme_name()
955 struct lme2510_state *st = adap_to_priv(adap); lme_name()
959 char *name = adap->fe[0]->ops.info.name; lme_name()
967 static int dm04_lme2510_frontend_attach(struct dvb_usb_adapter *adap) dm04_lme2510_frontend_attach() argument
969 struct dvb_usb_device *d = adap_to_d(adap); dm04_lme2510_frontend_attach()
978 adap->fe[0] = dvb_attach(tda10086_attach, dm04_lme2510_frontend_attach()
980 if (adap->fe[0]) { dm04_lme2510_frontend_attach()
994 adap->fe[0] = dvb_attach(stv0299_attach, dm04_lme2510_frontend_attach()
996 if (adap->fe[0]) { dm04_lme2510_frontend_attach()
1010 adap->fe[0] = dvb_attach(stv0288_attach, &lme_config, dm04_lme2510_frontend_attach()
1013 if (adap->fe[0]) { dm04_lme2510_frontend_attach()
1027 adap->fe[0] = dvb_attach(m88rs2000_attach, dm04_lme2510_frontend_attach()
1030 if (adap->fe[0]) { dm04_lme2510_frontend_attach()
1032 dvb_attach(ts2020_attach, adap->fe[0], &ts2020_config, dm04_lme2510_frontend_attach()
1039 adap->fe[0]->ops.set_voltage; dm04_lme2510_frontend_attach()
1044 if (adap->fe[0] == NULL) { dm04_lme2510_frontend_attach()
1050 if (adap->fe[0]) { dm04_lme2510_frontend_attach()
1051 dvb_frontend_detach(adap->fe[0]); dm04_lme2510_frontend_attach()
1052 adap->fe[0] = NULL; dm04_lme2510_frontend_attach()
1058 st->fe_read_status = adap->fe[0]->ops.read_status; dm04_lme2510_frontend_attach()
1059 st->fe_read_signal_strength = adap->fe[0]->ops.read_signal_strength; dm04_lme2510_frontend_attach()
1060 st->fe_read_snr = adap->fe[0]->ops.read_snr; dm04_lme2510_frontend_attach()
1061 st->fe_read_ber = adap->fe[0]->ops.read_ber; dm04_lme2510_frontend_attach()
1062 st->fe_read_ucblocks = adap->fe[0]->ops.read_ucblocks; dm04_lme2510_frontend_attach()
1064 adap->fe[0]->ops.read_status = dm04_read_status; dm04_lme2510_frontend_attach()
1065 adap->fe[0]->ops.read_signal_strength = dm04_read_signal_strength; dm04_lme2510_frontend_attach()
1066 adap->fe[0]->ops.read_snr = dm04_read_snr; dm04_lme2510_frontend_attach()
1067 adap->fe[0]->ops.read_ber = dm04_read_ber; dm04_lme2510_frontend_attach()
1068 adap->fe[0]->ops.read_ucblocks = dm04_read_ucblocks; dm04_lme2510_frontend_attach()
1069 adap->fe[0]->ops.set_voltage = dm04_lme2510_set_voltage; dm04_lme2510_frontend_attach()
1071 ret = lme_name(adap); dm04_lme2510_frontend_attach()
1075 static int dm04_lme2510_tuner(struct dvb_usb_adapter *adap) dm04_lme2510_tuner() argument
1077 struct dvb_usb_device *d = adap_to_d(adap); dm04_lme2510_tuner()
1078 struct lme2510_state *st = adap_to_priv(adap); dm04_lme2510_tuner()
1084 if (dvb_attach(tda826x_attach, adap->fe[0], 0x60, dm04_lme2510_tuner()
1089 if (dvb_attach(ix2505v_attach , adap->fe[0], &lme_tuner, dm04_lme2510_tuner()
1094 if (dvb_attach(dvb_pll_attach , adap->fe[0], 0x60, dm04_lme2510_tuner()
1114 ret = lme2510_int_read(adap); dm04_lme2510_tuner()
1172 struct dvb_usb_adapter *adap = fe_to_adap(fe); lme2510_get_stream_config() local
1175 if (adap == NULL) lme2510_get_stream_config()
1178 d = adap_to_d(adap); lme2510_get_stream_config()
1182 adap->pid_filtering = true; lme2510_get_stream_config()
1183 adap->max_feed_count = 15; lme2510_get_stream_config()
1203 struct dvb_usb_adapter *adap = &d->adapter[0]; lme2510_exit_int() local
1206 if (adap != NULL) { lme2510_exit_int()
1207 lme2510_kill_urb(&adap->stream); lme2510_exit_int()
H A Dmxl111sf.c422 static int mxl111sf_lgdt3305_frontend_attach(struct dvb_usb_adapter *adap, u8 fe_id) mxl111sf_lgdt3305_frontend_attach() argument
424 struct dvb_usb_device *d = adap_to_d(adap); mxl111sf_lgdt3305_frontend_attach()
469 adap->fe[fe_id] = dvb_attach(lgdt3305_attach, mxl111sf_lgdt3305_frontend_attach()
472 if (adap->fe[fe_id]) { mxl111sf_lgdt3305_frontend_attach()
474 adap_state->fe_init = adap->fe[fe_id]->ops.init; mxl111sf_lgdt3305_frontend_attach()
475 adap->fe[fe_id]->ops.init = mxl111sf_adap_fe_init; mxl111sf_lgdt3305_frontend_attach()
476 adap_state->fe_sleep = adap->fe[fe_id]->ops.sleep; mxl111sf_lgdt3305_frontend_attach()
477 adap->fe[fe_id]->ops.sleep = mxl111sf_adap_fe_sleep; mxl111sf_lgdt3305_frontend_attach()
493 static int mxl111sf_lg2160_frontend_attach(struct dvb_usb_adapter *adap, u8 fe_id) mxl111sf_lg2160_frontend_attach() argument
495 struct dvb_usb_device *d = adap_to_d(adap); mxl111sf_lg2160_frontend_attach()
544 adap->fe[fe_id] = dvb_attach(lg2160_attach, mxl111sf_lg2160_frontend_attach()
547 if (adap->fe[fe_id]) { mxl111sf_lg2160_frontend_attach()
549 adap_state->fe_init = adap->fe[fe_id]->ops.init; mxl111sf_lg2160_frontend_attach()
550 adap->fe[fe_id]->ops.init = mxl111sf_adap_fe_init; mxl111sf_lg2160_frontend_attach()
551 adap_state->fe_sleep = adap->fe[fe_id]->ops.sleep; mxl111sf_lg2160_frontend_attach()
552 adap->fe[fe_id]->ops.sleep = mxl111sf_adap_fe_sleep; mxl111sf_lg2160_frontend_attach()
578 static int mxl111sf_lg2161_frontend_attach(struct dvb_usb_adapter *adap, u8 fe_id) mxl111sf_lg2161_frontend_attach() argument
580 struct dvb_usb_device *d = adap_to_d(adap); mxl111sf_lg2161_frontend_attach()
629 adap->fe[fe_id] = dvb_attach(lg2160_attach, mxl111sf_lg2161_frontend_attach()
634 if (adap->fe[fe_id]) { mxl111sf_lg2161_frontend_attach()
636 adap_state->fe_init = adap->fe[fe_id]->ops.init; mxl111sf_lg2161_frontend_attach()
637 adap->fe[fe_id]->ops.init = mxl111sf_adap_fe_init; mxl111sf_lg2161_frontend_attach()
638 adap_state->fe_sleep = adap->fe[fe_id]->ops.sleep; mxl111sf_lg2161_frontend_attach()
639 adap->fe[fe_id]->ops.sleep = mxl111sf_adap_fe_sleep; mxl111sf_lg2161_frontend_attach()
665 static int mxl111sf_lg2161_ep6_frontend_attach(struct dvb_usb_adapter *adap, u8 fe_id) mxl111sf_lg2161_ep6_frontend_attach() argument
667 struct dvb_usb_device *d = adap_to_d(adap); mxl111sf_lg2161_ep6_frontend_attach()
716 adap->fe[fe_id] = dvb_attach(lg2160_attach, mxl111sf_lg2161_ep6_frontend_attach()
721 if (adap->fe[fe_id]) { mxl111sf_lg2161_ep6_frontend_attach()
723 adap_state->fe_init = adap->fe[fe_id]->ops.init; mxl111sf_lg2161_ep6_frontend_attach()
724 adap->fe[fe_id]->ops.init = mxl111sf_adap_fe_init; mxl111sf_lg2161_ep6_frontend_attach()
725 adap_state->fe_sleep = adap->fe[fe_id]->ops.sleep; mxl111sf_lg2161_ep6_frontend_attach()
726 adap->fe[fe_id]->ops.sleep = mxl111sf_adap_fe_sleep; mxl111sf_lg2161_ep6_frontend_attach()
740 static int mxl111sf_attach_demod(struct dvb_usb_adapter *adap, u8 fe_id) mxl111sf_attach_demod() argument
742 struct dvb_usb_device *d = adap_to_d(adap); mxl111sf_attach_demod()
783 adap->fe[fe_id] = dvb_attach(mxl111sf_demod_attach, state, mxl111sf_attach_demod()
785 if (adap->fe[fe_id]) { mxl111sf_attach_demod()
787 adap_state->fe_init = adap->fe[fe_id]->ops.init; mxl111sf_attach_demod()
788 adap->fe[fe_id]->ops.init = mxl111sf_adap_fe_init; mxl111sf_attach_demod()
789 adap_state->fe_sleep = adap->fe[fe_id]->ops.sleep; mxl111sf_attach_demod()
790 adap->fe[fe_id]->ops.sleep = mxl111sf_adap_fe_sleep; mxl111sf_attach_demod()
868 static int mxl111sf_attach_tuner(struct dvb_usb_adapter *adap) mxl111sf_attach_tuner() argument
870 struct mxl111sf_state *state = adap_to_priv(adap); mxl111sf_attach_tuner()
876 if (dvb_attach(mxl111sf_tuner_attach, adap->fe[i], state, mxl111sf_attach_tuner()
879 adap->fe[i]->ops.read_signal_strength = adap->fe[i]->ops.tuner_ops.get_rf_strength; mxl111sf_attach_tuner()
937 static int mxl111sf_frontend_attach_dvbt(struct dvb_usb_adapter *adap) mxl111sf_frontend_attach_dvbt() argument
939 return mxl111sf_attach_demod(adap, 0); mxl111sf_frontend_attach_dvbt()
942 static int mxl111sf_frontend_attach_atsc(struct dvb_usb_adapter *adap) mxl111sf_frontend_attach_atsc() argument
944 return mxl111sf_lgdt3305_frontend_attach(adap, 0); mxl111sf_frontend_attach_atsc()
947 static int mxl111sf_frontend_attach_mh(struct dvb_usb_adapter *adap) mxl111sf_frontend_attach_mh() argument
949 return mxl111sf_lg2160_frontend_attach(adap, 0); mxl111sf_frontend_attach_mh()
952 static int mxl111sf_frontend_attach_atsc_mh(struct dvb_usb_adapter *adap) mxl111sf_frontend_attach_atsc_mh() argument
957 ret = mxl111sf_lgdt3305_frontend_attach(adap, 0); mxl111sf_frontend_attach_atsc_mh()
961 ret = mxl111sf_attach_demod(adap, 1); mxl111sf_frontend_attach_atsc_mh()
965 ret = mxl111sf_lg2160_frontend_attach(adap, 2); mxl111sf_frontend_attach_atsc_mh()
972 static int mxl111sf_frontend_attach_mercury(struct dvb_usb_adapter *adap) mxl111sf_frontend_attach_mercury() argument
977 ret = mxl111sf_lgdt3305_frontend_attach(adap, 0); mxl111sf_frontend_attach_mercury()
981 ret = mxl111sf_attach_demod(adap, 1); mxl111sf_frontend_attach_mercury()
985 ret = mxl111sf_lg2161_ep6_frontend_attach(adap, 2); mxl111sf_frontend_attach_mercury()
992 static int mxl111sf_frontend_attach_mercury_mh(struct dvb_usb_adapter *adap) mxl111sf_frontend_attach_mercury_mh() argument
997 ret = mxl111sf_attach_demod(adap, 0); mxl111sf_frontend_attach_mercury_mh()
1002 ret = mxl111sf_lg2161_frontend_attach(adap, 1); mxl111sf_frontend_attach_mercury_mh()
1004 ret = mxl111sf_lg2161_ep6_frontend_attach(adap, 1); mxl111sf_frontend_attach_mercury_mh()
H A Daf9015.c207 static int af9015_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msg[], af9015_i2c_xfer() argument
210 struct dvb_usb_device *d = i2c_get_adapdata(adap); af9015_i2c_xfer()
612 dev_dbg(&d->udev->dev, "%s: adap=%d\n", __func__, fe_to_adap(fe)->id); af9015_get_stream_config()
810 static int af9015_af9013_frontend_attach(struct dvb_usb_adapter *adap) af9015_af9013_frontend_attach() argument
813 struct af9015_state *state = adap_to_priv(adap); af9015_af9013_frontend_attach()
815 if (adap->id == 0) { af9015_af9013_frontend_attach()
820 } else if (adap->id == 1) { af9015_af9013_frontend_attach()
828 ret = af9015_copy_firmware(adap_to_d(adap)); af9015_af9013_frontend_attach()
830 dev_err(&adap_to_d(adap)->udev->dev, af9015_af9013_frontend_attach()
843 adap->fe[0] = dvb_attach(af9013_attach, af9015_af9013_frontend_attach()
844 &state->af9013_config[adap->id], &adap_to_d(adap)->i2c_adap); af9015_af9013_frontend_attach()
853 if (adap->fe[0]) { af9015_af9013_frontend_attach()
854 state->set_frontend[adap->id] = af9015_af9013_frontend_attach()
855 adap->fe[0]->ops.set_frontend; af9015_af9013_frontend_attach()
856 adap->fe[0]->ops.set_frontend = af9015_af9013_frontend_attach()
859 state->read_status[adap->id] = af9015_af9013_frontend_attach()
860 adap->fe[0]->ops.read_status; af9015_af9013_frontend_attach()
861 adap->fe[0]->ops.read_status = af9015_af9013_frontend_attach()
864 state->init[adap->id] = adap->fe[0]->ops.init; af9015_af9013_frontend_attach()
865 adap->fe[0]->ops.init = af9015_af9013_init; af9015_af9013_frontend_attach()
867 state->sleep[adap->id] = adap->fe[0]->ops.sleep; af9015_af9013_frontend_attach()
868 adap->fe[0]->ops.sleep = af9015_af9013_sleep; af9015_af9013_frontend_attach()
871 return adap->fe[0] == NULL ? -ENODEV : 0; af9015_af9013_frontend_attach()
929 .i2c_wr_max = 21, /* max wr bytes AF9015 I2C adap can handle at once */
937 static int af9015_tuner_attach(struct dvb_usb_adapter *adap) af9015_tuner_attach() argument
939 struct dvb_usb_device *d = adap_to_d(adap); af9015_tuner_attach()
944 switch (state->af9013_config[adap->id].tuner) { af9015_tuner_attach()
947 ret = dvb_attach(mt2060_attach, adap->fe[0], af9015_tuner_attach()
948 &adap_to_d(adap)->i2c_adap, &af9015_mt2060_config, af9015_tuner_attach()
949 state->mt2060_if1[adap->id]) af9015_tuner_attach()
954 ret = dvb_attach(qt1010_attach, adap->fe[0], af9015_tuner_attach()
955 &adap_to_d(adap)->i2c_adap, af9015_tuner_attach()
959 ret = dvb_attach(tda18271_attach, adap->fe[0], 0xc0, af9015_tuner_attach()
960 &adap_to_d(adap)->i2c_adap, af9015_tuner_attach()
964 ret = dvb_attach(tda18218_attach, adap->fe[0], af9015_tuner_attach()
965 &adap_to_d(adap)->i2c_adap, af9015_tuner_attach()
969 ret = dvb_attach(mxl5005s_attach, adap->fe[0], af9015_tuner_attach()
970 &adap_to_d(adap)->i2c_adap, af9015_tuner_attach()
975 ret = dvb_attach(mxl5005s_attach, adap->fe[0], af9015_tuner_attach()
976 &adap_to_d(adap)->i2c_adap, af9015_tuner_attach()
980 ret = dvb_attach(dvb_pll_attach, adap->fe[0], 0xc0, af9015_tuner_attach()
981 &adap_to_d(adap)->i2c_adap, af9015_tuner_attach()
985 ret = dvb_attach(mc44s803_attach, adap->fe[0], af9015_tuner_attach()
986 &adap_to_d(adap)->i2c_adap, af9015_tuner_attach()
990 ret = dvb_attach(mxl5007t_attach, adap->fe[0], af9015_tuner_attach()
991 &adap_to_d(adap)->i2c_adap, af9015_tuner_attach()
998 state->af9013_config[adap->id].tuner); af9015_tuner_attach()
1002 if (adap->fe[0]->ops.tuner_ops.init) { af9015_tuner_attach()
1003 state->tuner_init[adap->id] = af9015_tuner_attach()
1004 adap->fe[0]->ops.tuner_ops.init; af9015_tuner_attach()
1005 adap->fe[0]->ops.tuner_ops.init = af9015_tuner_init; af9015_tuner_attach()
1008 if (adap->fe[0]->ops.tuner_ops.sleep) { af9015_tuner_attach()
1009 state->tuner_sleep[adap->id] = af9015_tuner_attach()
1010 adap->fe[0]->ops.tuner_ops.sleep; af9015_tuner_attach()
1011 adap->fe[0]->ops.tuner_ops.sleep = af9015_tuner_sleep; af9015_tuner_attach()
1017 static int af9015_pid_filter_ctrl(struct dvb_usb_adapter *adap, int onoff) af9015_pid_filter_ctrl() argument
1019 struct dvb_usb_device *d = adap_to_d(adap); af9015_pid_filter_ctrl()
1031 static int af9015_pid_filter(struct dvb_usb_adapter *adap, int index, u16 pid, af9015_pid_filter() argument
1034 struct dvb_usb_device *d = adap_to_d(adap); af9015_pid_filter()
H A Dau6610.c96 static int au6610_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msg[], au6610_i2c_xfer() argument
99 struct dvb_usb_device *d = i2c_get_adapdata(adap); au6610_i2c_xfer()
143 static int au6610_zl10353_frontend_attach(struct dvb_usb_adapter *adap) au6610_zl10353_frontend_attach() argument
145 adap->fe[0] = dvb_attach(zl10353_attach, &au6610_zl10353_config, au6610_zl10353_frontend_attach()
146 &adap_to_d(adap)->i2c_adap); au6610_zl10353_frontend_attach()
147 if (adap->fe[0] == NULL) au6610_zl10353_frontend_attach()
157 static int au6610_qt1010_tuner_attach(struct dvb_usb_adapter *adap) au6610_qt1010_tuner_attach() argument
159 return dvb_attach(qt1010_attach, adap->fe[0], au6610_qt1010_tuner_attach()
160 &adap_to_d(adap)->i2c_adap, au6610_qt1010_tuner_attach()
H A Danysee.c206 static int anysee_master_xfer(struct i2c_adapter *adap, struct i2c_msg *msg, anysee_master_xfer() argument
209 struct dvb_usb_device *d = i2c_get_adapdata(adap); anysee_master_xfer()
719 static int anysee_frontend_attach(struct dvb_usb_adapter *adap) anysee_frontend_attach() argument
721 struct anysee_state *state = adap_to_priv(adap); anysee_frontend_attach()
722 struct dvb_usb_device *d = adap_to_d(adap); anysee_frontend_attach()
744 adap->fe[0] = dvb_attach(mt352_attach, &anysee_mt352_config, anysee_frontend_attach()
746 if (adap->fe[0]) anysee_frontend_attach()
750 adap->fe[0] = dvb_attach(zl10353_attach, &anysee_zl10353_config, anysee_frontend_attach()
768 adap->fe[0] = dvb_attach(zl10353_attach, &anysee_zl10353_config, anysee_frontend_attach()
781 adap->fe[0] = dvb_attach(tda10023_attach, anysee_frontend_attach()
794 adap->fe[0] = dvb_attach(cx24116_attach, &anysee_cx24116_config, anysee_frontend_attach()
836 adap->fe[0] = dvb_attach(tda10023_attach, anysee_frontend_attach()
841 if (adap->fe[0]) anysee_frontend_attach()
842 adap->fe[0]->ops.i2c_gate_ctrl = anysee_frontend_attach()
846 adap->fe[0] = dvb_attach(tda10023_attach, anysee_frontend_attach()
852 if (!adap->fe[0]) anysee_frontend_attach()
868 adap->fe[1] = dvb_attach(zl10353_attach, anysee_frontend_attach()
873 if (adap->fe[1]) anysee_frontend_attach()
874 adap->fe[1]->ops.i2c_gate_ctrl = anysee_frontend_attach()
878 adap->fe[1] = dvb_attach(zl10353_attach, anysee_frontend_attach()
900 adap->fe[0] = dvb_attach(tda10023_attach, anysee_frontend_attach()
905 if (adap->fe[0]) anysee_frontend_attach()
906 adap->fe[0]->ops.i2c_gate_ctrl = anysee_i2c_gate_ctrl; anysee_frontend_attach()
909 if (!adap->fe[0]) anysee_frontend_attach()
923 adap->fe[1] = dvb_attach(zl10353_attach, anysee_frontend_attach()
928 if (adap->fe[1]) anysee_frontend_attach()
929 adap->fe[1]->ops.i2c_gate_ctrl = anysee_i2c_gate_ctrl; anysee_frontend_attach()
945 adap->fe[0] = dvb_attach(stv0900_attach, anysee_frontend_attach()
960 adap->fe[0] = dvb_attach(cxd2820r_attach, anysee_frontend_attach()
968 if (!adap->fe[0]) { anysee_frontend_attach()
979 static int anysee_tuner_attach(struct dvb_usb_adapter *adap) anysee_tuner_attach() argument
981 struct anysee_state *state = adap_to_priv(adap); anysee_tuner_attach()
982 struct dvb_usb_device *d = adap_to_d(adap); anysee_tuner_attach()
992 fe = dvb_attach(dvb_pll_attach, adap->fe[0], (0xc2 >> 1), NULL, anysee_tuner_attach()
1000 fe = dvb_attach(dvb_pll_attach, adap->fe[0], (0xc2 >> 1), anysee_tuner_attach()
1008 fe = dvb_attach(dvb_pll_attach, adap->fe[0], (0xc0 >> 1), anysee_tuner_attach()
1016 fe = dvb_attach(isl6423_attach, adap->fe[0], &d->i2c_adap, anysee_tuner_attach()
1032 tda18212_config.fe = adap->fe[0]; anysee_tuner_attach()
1039 if (adap->fe[1]) { anysee_tuner_attach()
1040 adap->fe[1]->tuner_priv = anysee_tuner_attach()
1041 adap->fe[0]->tuner_priv; anysee_tuner_attach()
1042 memcpy(&adap->fe[1]->ops.tuner_ops, anysee_tuner_attach()
1043 &adap->fe[0]->ops.tuner_ops, anysee_tuner_attach()
1050 fe = dvb_attach(dvb_pll_attach, adap->fe[0], anysee_tuner_attach()
1054 if (fe && adap->fe[1]) { anysee_tuner_attach()
1056 fe = dvb_attach(dvb_pll_attach, adap->fe[1], anysee_tuner_attach()
1070 tda18212_config.fe = adap->fe[0]; anysee_tuner_attach()
1076 if (adap->fe[1]) { anysee_tuner_attach()
1077 adap->fe[1]->tuner_priv = adap->fe[0]->tuner_priv; anysee_tuner_attach()
1078 memcpy(&adap->fe[1]->ops.tuner_ops, anysee_tuner_attach()
1079 &adap->fe[0]->ops.tuner_ops, anysee_tuner_attach()
1091 fe = dvb_attach(stv6110_attach, adap->fe[0], anysee_tuner_attach()
1096 fe = dvb_attach(isl6423_attach, adap->fe[0], anysee_tuner_attach()
1108 tda18212_config.fe = adap->fe[0]; anysee_tuner_attach()
H A Drtl28xxu.c143 static int rtl28xxu_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msg[], rtl28xxu_i2c_xfer() argument
147 struct dvb_usb_device *d = i2c_get_adapdata(adap); rtl28xxu_i2c_xfer()
601 static int rtl2831u_frontend_attach(struct dvb_usb_adapter *adap) rtl2831u_frontend_attach() argument
603 struct dvb_usb_device *d = adap_to_d(adap); rtl2831u_frontend_attach()
646 adap->fe[0] = pdata->get_dvb_frontend(client); rtl2831u_frontend_attach()
799 static int rtl2832u_frontend_attach(struct dvb_usb_adapter *adap) rtl2832u_frontend_attach() argument
801 struct dvb_usb_device *d = adap_to_d(adap); rtl2832u_frontend_attach()
855 adap->fe[0] = pdata->get_dvb_frontend(client); rtl2832u_frontend_attach()
861 adap->fe[0]->callback = rtl2832u_frontend_callback; rtl2832u_frontend_attach()
876 mn88472_config.fe = &adap->fe[1]; rtl2832u_frontend_attach()
901 mn88473_config.fe = &adap->fe[1]; rtl2832u_frontend_attach()
930 static int rtl28xxu_frontend_attach(struct dvb_usb_adapter *adap) rtl28xxu_frontend_attach() argument
932 struct rtl28xxu_dev *dev = adap_to_priv(adap); rtl28xxu_frontend_attach()
935 return rtl2831u_frontend_attach(adap); rtl28xxu_frontend_attach()
937 return rtl2832u_frontend_attach(adap); rtl28xxu_frontend_attach()
940 static int rtl28xxu_frontend_detach(struct dvb_usb_adapter *adap) rtl28xxu_frontend_detach() argument
942 struct dvb_usb_device *d = adap_to_d(adap); rtl28xxu_frontend_detach()
991 static int rtl2831u_tuner_attach(struct dvb_usb_adapter *adap) rtl2831u_tuner_attach() argument
994 struct dvb_usb_device *d = adap_to_d(adap); rtl2831u_tuner_attach()
1002 fe = dvb_attach(qt1010_attach, adap->fe[0], rtl2831u_tuner_attach()
1007 fe = dvb_attach(mt2060_attach, adap->fe[0], rtl2831u_tuner_attach()
1012 fe = dvb_attach(mxl5005s_attach, adap->fe[0], rtl2831u_tuner_attach()
1060 static int rtl2832u_tuner_attach(struct dvb_usb_adapter *adap) rtl2832u_tuner_attach() argument
1063 struct dvb_usb_device *d = adap_to_d(adap); rtl2832u_tuner_attach()
1079 fe = dvb_attach(fc0012_attach, adap->fe[0], rtl2832u_tuner_attach()
1084 adap->fe[0]->ops.read_signal_strength = rtl2832u_tuner_attach()
1085 adap->fe[0]->ops.tuner_ops.get_rf_strength; rtl2832u_tuner_attach()
1088 fe = dvb_attach(fc0013_attach, adap->fe[0], rtl2832u_tuner_attach()
1092 adap->fe[0]->ops.read_signal_strength = rtl2832u_tuner_attach()
1093 adap->fe[0]->ops.tuner_ops.get_rf_strength; rtl2832u_tuner_attach()
1097 .fe = adap->fe[0], rtl2832u_tuner_attach()
1120 fe = dvb_attach(fc2580_attach, adap->fe[0], rtl2832u_tuner_attach()
1134 fe = dvb_attach(tua9001_attach, adap->fe[0], rtl2832u_tuner_attach()
1139 fe = dvb_attach(r820t_attach, adap->fe[0], rtl2832u_tuner_attach()
1144 adap->fe[0]->ops.read_signal_strength = rtl2832u_tuner_attach()
1145 adap->fe[0]->ops.tuner_ops.get_rf_strength; rtl2832u_tuner_attach()
1148 fe = dvb_attach(r820t_attach, adap->fe[0], rtl2832u_tuner_attach()
1151 adap->fe[0]->ops.read_signal_strength = rtl2832u_tuner_attach()
1152 adap->fe[0]->ops.tuner_ops.get_rf_strength; rtl2832u_tuner_attach()
1154 if (adap->fe[1]) { rtl2832u_tuner_attach()
1155 fe = dvb_attach(r820t_attach, adap->fe[1], rtl2832u_tuner_attach()
1158 adap->fe[1]->ops.read_signal_strength = rtl2832u_tuner_attach()
1159 adap->fe[1]->ops.tuner_ops.get_rf_strength; rtl2832u_tuner_attach()
1183 pdata.dvb_frontend = adap->fe[0]; rtl2832u_tuner_attach()
1206 static int rtl28xxu_tuner_attach(struct dvb_usb_adapter *adap) rtl28xxu_tuner_attach() argument
1208 struct rtl28xxu_dev *dev = adap_to_priv(adap); rtl28xxu_tuner_attach()
1211 return rtl2831u_tuner_attach(adap); rtl28xxu_tuner_attach()
1213 return rtl2832u_tuner_attach(adap); rtl28xxu_tuner_attach()
1216 static int rtl28xxu_tuner_detach(struct dvb_usb_adapter *adap) rtl28xxu_tuner_detach() argument
1218 struct dvb_usb_device *d = adap_to_d(adap); rtl28xxu_tuner_detach()
1644 static int rtl28xxu_pid_filter_ctrl(struct dvb_usb_adapter *adap, int onoff) rtl28xxu_pid_filter_ctrl() argument
1646 struct rtl28xxu_dev *dev = adap_to_priv(adap); rtl28xxu_pid_filter_ctrl()
1651 return pdata->pid_filter_ctrl(adap->fe[0], onoff); rtl28xxu_pid_filter_ctrl()
1655 return pdata->pid_filter_ctrl(adap->fe[0], onoff); rtl28xxu_pid_filter_ctrl()
1659 static int rtl28xxu_pid_filter(struct dvb_usb_adapter *adap, int index, rtl28xxu_pid_filter() argument
1662 struct rtl28xxu_dev *dev = adap_to_priv(adap); rtl28xxu_pid_filter()
1667 return pdata->pid_filter(adap->fe[0], index, pid, onoff); rtl28xxu_pid_filter()
1671 return pdata->pid_filter(adap->fe[0], index, pid, onoff); rtl28xxu_pid_filter()
H A Dce6230.c99 static int ce6230_i2c_master_xfer(struct i2c_adapter *adap, ce6230_i2c_master_xfer() argument
102 struct dvb_usb_device *d = i2c_get_adapdata(adap); ce6230_i2c_master_xfer()
179 static int ce6230_zl10353_frontend_attach(struct dvb_usb_adapter *adap) ce6230_zl10353_frontend_attach() argument
181 struct dvb_usb_device *d = adap_to_d(adap); ce6230_zl10353_frontend_attach()
185 adap->fe[0] = dvb_attach(zl10353_attach, &ce6230_zl10353_config, ce6230_zl10353_frontend_attach()
187 if (adap->fe[0] == NULL) ce6230_zl10353_frontend_attach()
210 static int ce6230_mxl5003s_tuner_attach(struct dvb_usb_adapter *adap) ce6230_mxl5003s_tuner_attach() argument
212 struct dvb_usb_device *d = adap_to_d(adap); ce6230_mxl5003s_tuner_attach()
217 ret = dvb_attach(mxl5005s_attach, adap->fe[0], &d->i2c_adap, ce6230_mxl5003s_tuner_attach()
H A Dec168.c115 static int ec168_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msg[], ec168_i2c_xfer() argument
118 struct dvb_usb_device *d = i2c_get_adapdata(adap); ec168_i2c_xfer()
273 static int ec168_ec100_frontend_attach(struct dvb_usb_adapter *adap) ec168_ec100_frontend_attach() argument
275 struct dvb_usb_device *d = adap_to_d(adap); ec168_ec100_frontend_attach()
278 adap->fe[0] = dvb_attach(ec100_attach, &ec168_ec100_config, ec168_ec100_frontend_attach()
280 if (adap->fe[0] == NULL) ec168_ec100_frontend_attach()
303 static int ec168_mxl5003s_tuner_attach(struct dvb_usb_adapter *adap) ec168_mxl5003s_tuner_attach() argument
305 struct dvb_usb_device *d = adap_to_d(adap); ec168_mxl5003s_tuner_attach()
308 return dvb_attach(mxl5005s_attach, adap->fe[0], &d->i2c_adap, ec168_mxl5003s_tuner_attach()
H A Dmxl111sf-i2c.h26 int mxl111sf_i2c_xfer(struct i2c_adapter *adap,
H A Ddvb_usb.h52 * adap = pointer to adapter (struct dvb_usb_adapter *)
59 #define adap_to_d(adap) (container_of(adap, struct dvb_usb_device, \
60 adapter[adap->id]))
61 #define adap_to_priv(adap) (adap_to_d(adap)->priv)
/linux-4.1.27/drivers/media/usb/as102/
H A Das10x_cmd_stream.c22 * @adap: pointer to AS10x bus adapter
27 int as10x_cmd_add_PID_filter(struct as10x_bus_adapter_t *adap, as10x_cmd_add_PID_filter() argument
33 pcmd = adap->cmd; as10x_cmd_add_PID_filter()
34 prsp = adap->rsp; as10x_cmd_add_PID_filter()
37 as10x_cmd_build(pcmd, (++adap->cmd_xid), as10x_cmd_add_PID_filter()
52 if (adap->ops->xfer_cmd) { as10x_cmd_add_PID_filter()
53 error = adap->ops->xfer_cmd(adap, (uint8_t *) pcmd, as10x_cmd_add_PID_filter()
79 * @adap: pointer to AS10x bus adapte
84 int as10x_cmd_del_PID_filter(struct as10x_bus_adapter_t *adap, as10x_cmd_del_PID_filter() argument
90 pcmd = adap->cmd; as10x_cmd_del_PID_filter()
91 prsp = adap->rsp; as10x_cmd_del_PID_filter()
94 as10x_cmd_build(pcmd, (++adap->cmd_xid), as10x_cmd_del_PID_filter()
103 if (adap->ops->xfer_cmd) { as10x_cmd_del_PID_filter()
104 error = adap->ops->xfer_cmd(adap, (uint8_t *) pcmd, as10x_cmd_del_PID_filter()
125 * @adap: pointer to AS10x bus adapter
129 int as10x_cmd_start_streaming(struct as10x_bus_adapter_t *adap) as10x_cmd_start_streaming() argument
134 pcmd = adap->cmd; as10x_cmd_start_streaming()
135 prsp = adap->rsp; as10x_cmd_start_streaming()
138 as10x_cmd_build(pcmd, (++adap->cmd_xid), as10x_cmd_start_streaming()
146 if (adap->ops->xfer_cmd) { as10x_cmd_start_streaming()
147 error = adap->ops->xfer_cmd(adap, (uint8_t *) pcmd, as10x_cmd_start_streaming()
168 * @adap: pointer to AS10x bus adapter
172 int as10x_cmd_stop_streaming(struct as10x_bus_adapter_t *adap) as10x_cmd_stop_streaming() argument
177 pcmd = adap->cmd; as10x_cmd_stop_streaming()
178 prsp = adap->rsp; as10x_cmd_stop_streaming()
181 as10x_cmd_build(pcmd, (++adap->cmd_xid), as10x_cmd_stop_streaming()
189 if (adap->ops->xfer_cmd) { as10x_cmd_stop_streaming()
190 error = adap->ops->xfer_cmd(adap, (uint8_t *) pcmd, as10x_cmd_stop_streaming()
H A Das10x_cmd.c23 * @adap: pointer to AS10x bus adapter
27 int as10x_cmd_turn_on(struct as10x_bus_adapter_t *adap) as10x_cmd_turn_on() argument
32 pcmd = adap->cmd; as10x_cmd_turn_on()
33 prsp = adap->rsp; as10x_cmd_turn_on()
36 as10x_cmd_build(pcmd, (++adap->cmd_xid), as10x_cmd_turn_on()
43 if (adap->ops->xfer_cmd) { as10x_cmd_turn_on()
44 error = adap->ops->xfer_cmd(adap, (uint8_t *) pcmd, as10x_cmd_turn_on()
64 * @adap: pointer to AS10x bus adapter
68 int as10x_cmd_turn_off(struct as10x_bus_adapter_t *adap) as10x_cmd_turn_off() argument
73 pcmd = adap->cmd; as10x_cmd_turn_off()
74 prsp = adap->rsp; as10x_cmd_turn_off()
77 as10x_cmd_build(pcmd, (++adap->cmd_xid), as10x_cmd_turn_off()
84 if (adap->ops->xfer_cmd) { as10x_cmd_turn_off()
85 error = adap->ops->xfer_cmd( as10x_cmd_turn_off()
86 adap, (uint8_t *) pcmd, as10x_cmd_turn_off()
104 * @adap: pointer to AS10x bus adapter
109 int as10x_cmd_set_tune(struct as10x_bus_adapter_t *adap, as10x_cmd_set_tune() argument
115 preq = adap->cmd; as10x_cmd_set_tune()
116 prsp = adap->rsp; as10x_cmd_set_tune()
119 as10x_cmd_build(preq, (++adap->cmd_xid), as10x_cmd_set_tune()
137 if (adap->ops->xfer_cmd) { as10x_cmd_set_tune()
138 error = adap->ops->xfer_cmd(adap, as10x_cmd_set_tune()
159 * @adap: pointer to AS10x bus adapter
164 int as10x_cmd_get_tune_status(struct as10x_bus_adapter_t *adap, as10x_cmd_get_tune_status() argument
170 preq = adap->cmd; as10x_cmd_get_tune_status()
171 prsp = adap->rsp; as10x_cmd_get_tune_status()
174 as10x_cmd_build(preq, (++adap->cmd_xid), as10x_cmd_get_tune_status()
182 if (adap->ops->xfer_cmd) { as10x_cmd_get_tune_status()
183 error = adap->ops->xfer_cmd( as10x_cmd_get_tune_status()
184 adap, as10x_cmd_get_tune_status()
212 * @adap: pointer to AS10x handle
217 int as10x_cmd_get_tps(struct as10x_bus_adapter_t *adap, struct as10x_tps *ptps) as10x_cmd_get_tps() argument
222 pcmd = adap->cmd; as10x_cmd_get_tps()
223 prsp = adap->rsp; as10x_cmd_get_tps()
226 as10x_cmd_build(pcmd, (++adap->cmd_xid), as10x_cmd_get_tps()
234 if (adap->ops->xfer_cmd) { as10x_cmd_get_tps()
235 error = adap->ops->xfer_cmd(adap, as10x_cmd_get_tps()
270 * @adap: pointer to AS10x bus adapter
275 int as10x_cmd_get_demod_stats(struct as10x_bus_adapter_t *adap, as10x_cmd_get_demod_stats() argument
281 pcmd = adap->cmd; as10x_cmd_get_demod_stats()
282 prsp = adap->rsp; as10x_cmd_get_demod_stats()
285 as10x_cmd_build(pcmd, (++adap->cmd_xid), as10x_cmd_get_demod_stats()
293 if (adap->ops->xfer_cmd) { as10x_cmd_get_demod_stats()
294 error = adap->ops->xfer_cmd(adap, as10x_cmd_get_demod_stats()
329 * @adap: pointer to AS10x bus adapter
335 int as10x_cmd_get_impulse_resp(struct as10x_bus_adapter_t *adap, as10x_cmd_get_impulse_resp() argument
341 pcmd = adap->cmd; as10x_cmd_get_impulse_resp()
342 prsp = adap->rsp; as10x_cmd_get_impulse_resp()
345 as10x_cmd_build(pcmd, (++adap->cmd_xid), as10x_cmd_get_impulse_resp()
353 if (adap->ops->xfer_cmd) { as10x_cmd_get_impulse_resp()
354 error = adap->ops->xfer_cmd(adap, as10x_cmd_get_impulse_resp()
H A Das10x_cmd_cfg.c26 * @adap: pointer to AS10x bus adapter
32 int as10x_cmd_get_context(struct as10x_bus_adapter_t *adap, uint16_t tag, as10x_cmd_get_context() argument
38 pcmd = adap->cmd; as10x_cmd_get_context()
39 prsp = adap->rsp; as10x_cmd_get_context()
42 as10x_cmd_build(pcmd, (++adap->cmd_xid), as10x_cmd_get_context()
51 if (adap->ops->xfer_cmd) { as10x_cmd_get_context()
52 error = adap->ops->xfer_cmd(adap, as10x_cmd_get_context()
82 * @adap: pointer to AS10x bus adapter
88 int as10x_cmd_set_context(struct as10x_bus_adapter_t *adap, uint16_t tag, as10x_cmd_set_context() argument
94 pcmd = adap->cmd; as10x_cmd_set_context()
95 prsp = adap->rsp; as10x_cmd_set_context()
98 as10x_cmd_build(pcmd, (++adap->cmd_xid), as10x_cmd_set_context()
109 if (adap->ops->xfer_cmd) { as10x_cmd_set_context()
110 error = adap->ops->xfer_cmd(adap, as10x_cmd_set_context()
134 * @adap: pointer to AS10x bus adapter
143 int as10x_cmd_eLNA_change_mode(struct as10x_bus_adapter_t *adap, uint8_t mode) as10x_cmd_eLNA_change_mode() argument
148 pcmd = adap->cmd; as10x_cmd_eLNA_change_mode()
149 prsp = adap->rsp; as10x_cmd_eLNA_change_mode()
152 as10x_cmd_build(pcmd, (++adap->cmd_xid), as10x_cmd_eLNA_change_mode()
161 if (adap->ops->xfer_cmd) { as10x_cmd_eLNA_change_mode()
162 error = adap->ops->xfer_cmd(adap, (uint8_t *) pcmd, as10x_cmd_eLNA_change_mode()
H A Das10x_cmd.h486 int as10x_cmd_turn_on(struct as10x_bus_adapter_t *adap);
487 int as10x_cmd_turn_off(struct as10x_bus_adapter_t *adap);
489 int as10x_cmd_set_tune(struct as10x_bus_adapter_t *adap,
492 int as10x_cmd_get_tune_status(struct as10x_bus_adapter_t *adap,
495 int as10x_cmd_get_tps(struct as10x_bus_adapter_t *adap,
498 int as10x_cmd_get_demod_stats(struct as10x_bus_adapter_t *adap,
501 int as10x_cmd_get_impulse_resp(struct as10x_bus_adapter_t *adap,
505 int as10x_cmd_add_PID_filter(struct as10x_bus_adapter_t *adap,
507 int as10x_cmd_del_PID_filter(struct as10x_bus_adapter_t *adap,
510 int as10x_cmd_start_streaming(struct as10x_bus_adapter_t *adap);
511 int as10x_cmd_stop_streaming(struct as10x_bus_adapter_t *adap);
514 int as10x_cmd_set_context(struct as10x_bus_adapter_t *adap,
517 int as10x_cmd_get_context(struct as10x_bus_adapter_t *adap,
521 int as10x_cmd_eLNA_change_mode(struct as10x_bus_adapter_t *adap, uint8_t mode);
/linux-4.1.27/drivers/net/ethernet/chelsio/cxgb4/
H A Dcxgb4_main.c300 struct adapter *adap = pi->adapter; dcb_tx_queue_prio_enable() local
301 struct sge_eth_txq *txq = &adap->sge.ethtxq[pi->first_qset]; dcb_tx_queue_prio_enable()
321 err = t4_set_params_nosleep(adap, adap->mbox, adap->fn, 0, 1, dcb_tx_queue_prio_enable()
325 dev_err(adap->pdev_dev, dcb_tx_queue_prio_enable()
354 void t4_os_portmod_changed(const struct adapter *adap, int port_id) t4_os_portmod_changed() argument
360 const struct net_device *dev = adap->port[port_id]; t4_os_portmod_changed()
507 static void dcb_rpl(struct adapter *adap, const struct fw_port_cmd *pcmd) dcb_rpl() argument
510 struct net_device *dev = adap->port[port]; dcb_rpl()
514 cxgb4_dcb_handle_fw_update(adap, pcmd); dcb_rpl()
529 static void clear_filter(struct adapter *adap, struct filter_entry *f) clear_filter() argument
549 static void filter_rpl(struct adapter *adap, const struct cpl_set_tcb_rpl *rpl) filter_rpl() argument
552 unsigned int nidx = idx - adap->tids.ftid_base; filter_rpl()
556 if (idx >= adap->tids.ftid_base && nidx < filter_rpl()
557 (adap->tids.nftids + adap->tids.nsftids)) { filter_rpl()
560 f = &adap->tids.ftid_tab[idx]; filter_rpl()
566 clear_filter(adap, f); filter_rpl()
568 dev_err(adap->pdev_dev, "filter %u setup failed due to full SMT\n", filter_rpl()
570 clear_filter(adap, f); filter_rpl()
579 dev_err(adap->pdev_dev, "filter %u setup failed with error %u\n", filter_rpl()
581 clear_filter(adap, f); filter_rpl()
603 dev_err(q->adap->pdev_dev, "unexpected FW4/CPL %#x on FW event queue\n" fwevtq_handler()
614 txq = q->adap->sge.egr_map[qid - q->adap->sge.egr_start]; fwevtq_handler()
616 if ((u8 *)txq < (u8 *)q->adap->sge.ofldtxq) { fwevtq_handler()
640 struct net_device *dev = q->adap->port[port]; fwevtq_handler()
651 dcb_rpl(q->adap, pcmd); fwevtq_handler()
655 t4_handle_fw_rpl(q->adap, p->data); fwevtq_handler()
659 do_l2t_write_rpl(q->adap, p); fwevtq_handler()
663 filter_rpl(q->adap, p); fwevtq_handler()
665 dev_err(q->adap->pdev_dev, fwevtq_handler()
691 if (ulds[q->uld].rx_handler(q->adap->uld_handle[q->uld], rsp, gl)) { uldrx_handler()
720 struct adapter *adap = cookie; t4_nondata_intr() local
721 u32 v = t4_read_reg(adap, MYPF_REG(PL_PF_INT_CAUSE_A)); t4_nondata_intr()
724 adap->swintr = 1; t4_nondata_intr()
725 t4_write_reg(adap, MYPF_REG(PL_PF_INT_CAUSE_A), v); t4_nondata_intr()
727 if (adap->flags & MASTER_PF) t4_nondata_intr()
728 t4_slow_intr_handler(adap); t4_nondata_intr()
735 static void name_msix_vecs(struct adapter *adap) name_msix_vecs() argument
737 int i, j, msi_idx = 2, n = sizeof(adap->msix_info[0].desc); name_msix_vecs()
740 snprintf(adap->msix_info[0].desc, n, "%s", adap->port[0]->name); name_msix_vecs()
743 snprintf(adap->msix_info[1].desc, n, "%s-FWeventq", name_msix_vecs()
744 adap->port[0]->name); name_msix_vecs()
747 for_each_port(adap, j) { for_each_port()
748 struct net_device *d = adap->port[j]; for_each_port()
752 snprintf(adap->msix_info[msi_idx].desc, n, "%s-Rx%d", for_each_port()
757 for_each_ofldrxq(&adap->sge, i)
758 snprintf(adap->msix_info[msi_idx++].desc, n, "%s-ofld%d",
759 adap->port[0]->name, i);
761 for_each_rdmarxq(&adap->sge, i)
762 snprintf(adap->msix_info[msi_idx++].desc, n, "%s-rdma%d",
763 adap->port[0]->name, i);
765 for_each_rdmaciq(&adap->sge, i)
766 snprintf(adap->msix_info[msi_idx++].desc, n, "%s-rdma-ciq%d",
767 adap->port[0]->name, i);
770 static int request_msix_queue_irqs(struct adapter *adap) request_msix_queue_irqs() argument
772 struct sge *s = &adap->sge; request_msix_queue_irqs()
776 err = request_irq(adap->msix_info[1].vec, t4_sge_intr_msix, 0, request_msix_queue_irqs()
777 adap->msix_info[1].desc, &s->fw_evtq); request_msix_queue_irqs()
782 err = request_irq(adap->msix_info[msi_index].vec, for_each_ethrxq()
784 adap->msix_info[msi_index].desc, for_each_ethrxq()
791 err = request_irq(adap->msix_info[msi_index].vec, for_each_ofldrxq()
793 adap->msix_info[msi_index].desc, for_each_ofldrxq()
800 err = request_irq(adap->msix_info[msi_index].vec, for_each_rdmarxq()
802 adap->msix_info[msi_index].desc, for_each_rdmarxq()
809 err = request_irq(adap->msix_info[msi_index].vec, for_each_rdmaciq()
811 adap->msix_info[msi_index].desc, for_each_rdmaciq()
821 free_irq(adap->msix_info[--msi_index].vec,
824 free_irq(adap->msix_info[--msi_index].vec,
827 free_irq(adap->msix_info[--msi_index].vec,
830 free_irq(adap->msix_info[--msi_index].vec,
832 free_irq(adap->msix_info[1].vec, &s->fw_evtq);
836 static void free_msix_queue_irqs(struct adapter *adap) free_msix_queue_irqs() argument
839 struct sge *s = &adap->sge; free_msix_queue_irqs()
841 free_irq(adap->msix_info[1].vec, &s->fw_evtq); free_msix_queue_irqs()
843 free_irq(adap->msix_info[msi_index++].vec, &s->ethrxq[i].rspq); free_msix_queue_irqs()
845 free_irq(adap->msix_info[msi_index++].vec, &s->ofldrxq[i].rspq); free_msix_queue_irqs()
847 free_irq(adap->msix_info[msi_index++].vec, &s->rdmarxq[i].rspq); free_msix_queue_irqs()
849 free_irq(adap->msix_info[msi_index++].vec, &s->rdmaciq[i].rspq); free_msix_queue_irqs()
882 * @adap: the adapter
886 static int setup_rss(struct adapter *adap) setup_rss() argument
890 for_each_port(adap, i) { for_each_port()
891 const struct port_info *pi = adap2pinfo(adap, i); for_each_port()
912 static void quiesce_rx(struct adapter *adap) quiesce_rx() argument
916 for (i = 0; i < adap->sge.ingr_sz; i++) { quiesce_rx()
917 struct sge_rspq *q = adap->sge.ingr_map[i]; quiesce_rx()
931 static void disable_interrupts(struct adapter *adap) disable_interrupts() argument
933 if (adap->flags & FULL_INIT_DONE) { disable_interrupts()
934 t4_intr_disable(adap); disable_interrupts()
935 if (adap->flags & USING_MSIX) { disable_interrupts()
936 free_msix_queue_irqs(adap); disable_interrupts()
937 free_irq(adap->msix_info[0].vec, adap); disable_interrupts()
939 free_irq(adap->pdev->irq, adap); disable_interrupts()
941 quiesce_rx(adap); disable_interrupts()
948 static void enable_rx(struct adapter *adap) enable_rx() argument
952 for (i = 0; i < adap->sge.ingr_sz; i++) { enable_rx()
953 struct sge_rspq *q = adap->sge.ingr_map[i]; enable_rx()
962 t4_write_reg(adap, MYPF_REG(SGE_PF_GTS_A), enable_rx()
968 static int alloc_ofld_rxqs(struct adapter *adap, struct sge_ofld_rxq *q, alloc_ofld_rxqs() argument
977 err = t4_sge_alloc_rxq(adap, &q->rspq, false, alloc_ofld_rxqs()
978 adap->port[i / per_chan], alloc_ofld_rxqs()
992 * @adap: the adapter
998 static int setup_sge_queues(struct adapter *adap) setup_sge_queues() argument
1001 struct sge *s = &adap->sge; setup_sge_queues()
1006 if (adap->flags & USING_MSIX) setup_sge_queues()
1009 err = t4_sge_alloc_rxq(adap, &s->intrq, false, adap->port[0], 0, setup_sge_queues()
1029 err = t4_sge_alloc_rxq(adap, &s->fw_evtq, true, adap->port[0], setup_sge_queues()
1032 freeout: t4_free_sge_resources(adap); setup_sge_queues()
1036 for_each_port(adap, i) { for_each_port()
1037 struct net_device *dev = adap->port[i]; for_each_port()
1045 err = t4_sge_alloc_rxq(adap, &q->rspq, false, dev, for_each_port()
1054 err = t4_sge_alloc_eth_txq(adap, t, dev, for_each_port()
1062 j = s->ofldqsets / adap->params.nports; /* ofld queues per channel */ for_each_ofldrxq()
1064 err = t4_sge_alloc_ofld_txq(adap, &s->ofldtxq[i], for_each_ofldrxq()
1065 adap->port[i / j], for_each_ofldrxq()
1072 err = alloc_ofld_rxqs(adap, firstq, nq, per_chan, msi_idx, ids); \
1081 j = s->rdmaciqs / adap->params.nports; /* rdmaq queues per channel */
1086 for_each_port(adap, i) { for_each_port()
1091 err = t4_sge_alloc_ctrl_txq(adap, &s->ctrlq[i], adap->port[i], for_each_port()
1098 t4_write_reg(adap, is_t4(adap->params.chip) ?
1101 RSSCONTROL_V(netdev2pinfo(adap->port[0])->tx_chan) |
1327 static inline int is_offload(const struct adapter *adap) is_offload() argument
1329 return adap->params.offload; is_offload()
1376 struct adapter *adap = q->adap; cxgb4_set_rspq_intr_params() local
1385 new_idx = closest_thres(&adap->sge, cnt); cxgb4_set_rspq_intr_params()
1392 err = t4_set_params(adap, adap->fn, adap->fn, 0, 1, &v, cxgb4_set_rspq_intr_params()
1400 us = us == 0 ? 6 : closest_timer(&adap->sge, us); cxgb4_set_rspq_intr_params()
1422 static int setup_debugfs(struct adapter *adap) setup_debugfs() argument
1424 if (IS_ERR_OR_NULL(adap->debugfs_root)) setup_debugfs()
1428 t4_setup_debugfs(adap); setup_debugfs()
1585 struct adapter *adap = container_of(t, struct adapter, tids); cxgb4_queue_tid_release() local
1587 spin_lock_bh(&adap->tid_release_lock); cxgb4_queue_tid_release()
1588 *p = adap->tid_release_head; cxgb4_queue_tid_release()
1590 adap->tid_release_head = (void **)((uintptr_t)p | chan); cxgb4_queue_tid_release()
1591 if (!adap->tid_release_task_busy) { cxgb4_queue_tid_release()
1592 adap->tid_release_task_busy = true; cxgb4_queue_tid_release()
1593 queue_work(adap->workq, &adap->tid_release_task); cxgb4_queue_tid_release()
1595 spin_unlock_bh(&adap->tid_release_lock); cxgb4_queue_tid_release()
1604 struct adapter *adap; process_tid_release_list() local
1606 adap = container_of(work, struct adapter, tid_release_task); process_tid_release_list()
1608 spin_lock_bh(&adap->tid_release_lock); process_tid_release_list()
1609 while (adap->tid_release_head) { process_tid_release_list()
1610 void **p = adap->tid_release_head; process_tid_release_list()
1614 adap->tid_release_head = *p; process_tid_release_list()
1616 spin_unlock_bh(&adap->tid_release_lock); process_tid_release_list()
1622 mk_tid_release(skb, chan, p - adap->tids.tid_tab); process_tid_release_list()
1623 t4_ofld_send(adap, skb); process_tid_release_list()
1624 spin_lock_bh(&adap->tid_release_lock); process_tid_release_list()
1626 adap->tid_release_task_busy = false; process_tid_release_list()
1627 spin_unlock_bh(&adap->tid_release_lock); process_tid_release_list()
1638 struct adapter *adap = container_of(t, struct adapter, tids); cxgb4_remove_tid() local
1645 t4_ofld_send(adap, skb); cxgb4_remove_tid()
1661 struct adapter *adap = container_of(t, struct adapter, tids); tid_init() local
1697 (is_t4(adap->params.chip) || is_t5(adap->params.chip))) tid_init()
1720 struct adapter *adap; cxgb4_create_server() local
1728 adap = netdev2adap(dev); cxgb4_create_server()
1736 chan = rxq_to_chan(&adap->sge, queue); cxgb4_create_server()
1740 ret = t4_mgmt_tx(adap, skb); cxgb4_create_server()
1761 struct adapter *adap; cxgb4_create_server6() local
1769 adap = netdev2adap(dev); cxgb4_create_server6()
1779 chan = rxq_to_chan(&adap->sge, queue); cxgb4_create_server6()
1783 ret = t4_mgmt_tx(adap, skb); cxgb4_create_server6()
1792 struct adapter *adap; cxgb4_remove_server() local
1796 adap = netdev2adap(dev); cxgb4_remove_server()
1807 ret = t4_mgmt_tx(adap, skb); cxgb4_remove_server()
1920 struct adapter *adap = netdev2adap(dev); cxgb4_dbfifo_count() local
1923 v1 = t4_read_reg(adap, SGE_DBFIFO_STATUS_A); cxgb4_dbfifo_count()
1924 v2 = t4_read_reg(adap, SGE_DBFIFO_STATUS2_A); cxgb4_dbfifo_count()
1925 if (is_t4(adap->params.chip)) { cxgb4_dbfifo_count()
1963 struct adapter *adap = pci_get_drvdata(pdev); cxgb4_get_tcp_stats() local
1965 spin_lock(&adap->stats_lock); cxgb4_get_tcp_stats()
1966 t4_tp_get_tcp_stats(adap, v4, v6); cxgb4_get_tcp_stats()
1967 spin_unlock(&adap->stats_lock); cxgb4_get_tcp_stats()
1974 struct adapter *adap = netdev2adap(dev); cxgb4_iscsi_init() local
1976 t4_write_reg(adap, ULP_RX_ISCSI_TAGMASK_A, tag_mask); cxgb4_iscsi_init()
1977 t4_write_reg(adap, ULP_RX_ISCSI_PSZ_A, HPZ0_V(pgsz_order[0]) | cxgb4_iscsi_init()
1985 struct adapter *adap = netdev2adap(dev); cxgb4_flush_eq_cache() local
1988 ret = t4_fwaddrspace_write(adap, adap->mbox, cxgb4_flush_eq_cache()
1994 static int read_eq_indices(struct adapter *adap, u16 qid, u16 *pidx, u16 *cidx) read_eq_indices() argument
1996 u32 addr = t4_read_reg(adap, SGE_DBQ_CTXT_BADDR_A) + 24 * qid + 8; read_eq_indices()
2000 spin_lock(&adap->win0_lock); read_eq_indices()
2001 ret = t4_memory_rw(adap, 0, MEM_EDC0, addr, read_eq_indices()
2004 spin_unlock(&adap->win0_lock); read_eq_indices()
2015 struct adapter *adap = netdev2adap(dev); cxgb4_sync_txq_pidx() local
2019 ret = read_eq_indices(adap, qid, &hw_pidx, &hw_cidx); cxgb4_sync_txq_pidx()
2032 if (is_t4(adap->params.chip)) cxgb4_sync_txq_pidx()
2037 t4_write_reg(adap, MYPF_REG(SGE_PF_KDOORBELL_A), cxgb4_sync_txq_pidx()
2047 struct adapter *adap; cxgb4_disable_db_coalescing() local
2049 adap = netdev2adap(dev); cxgb4_disable_db_coalescing()
2050 t4_set_reg_field(adap, SGE_DOORBELL_CONTROL_A, NOCOALESCE_F, cxgb4_disable_db_coalescing()
2057 struct adapter *adap; cxgb4_enable_db_coalescing() local
2059 adap = netdev2adap(dev); cxgb4_enable_db_coalescing()
2060 t4_set_reg_field(adap, SGE_DOORBELL_CONTROL_A, NOCOALESCE_F, 0); cxgb4_enable_db_coalescing()
2066 struct adapter *adap; cxgb4_read_tpte() local
2072 adap = netdev2adap(dev); cxgb4_read_tpte()
2074 offset = ((stag >> 8) * 32) + adap->vres.stag.start; cxgb4_read_tpte()
2082 size = t4_read_reg(adap, MA_EDRAM0_BAR_A); cxgb4_read_tpte()
2084 size = t4_read_reg(adap, MA_EDRAM1_BAR_A); cxgb4_read_tpte()
2086 size = t4_read_reg(adap, MA_EXT_MEMORY0_BAR_A); cxgb4_read_tpte()
2103 } else if (is_t4(adap->params.chip)) { cxgb4_read_tpte()
2107 size = t4_read_reg(adap, MA_EXT_MEMORY1_BAR_A); cxgb4_read_tpte()
2120 spin_lock(&adap->win0_lock); cxgb4_read_tpte()
2121 ret = t4_memory_rw(adap, 0, memtype, memaddr, 32, tpte, T4_MEMORY_READ); cxgb4_read_tpte()
2122 spin_unlock(&adap->win0_lock); cxgb4_read_tpte()
2126 dev_err(adap->pdev_dev, "stag %#x, offset %#x out of range\n", cxgb4_read_tpte()
2135 struct adapter *adap; cxgb4_read_sge_timestamp() local
2137 adap = netdev2adap(dev); cxgb4_read_sge_timestamp()
2138 lo = t4_read_reg(adap, SGE_TIMESTAMP_LO_A); cxgb4_read_sge_timestamp()
2139 hi = TSVAL_G(t4_read_reg(adap, SGE_TIMESTAMP_HI_A)); cxgb4_read_sge_timestamp()
2194 static void drain_db_fifo(struct adapter *adap, int usecs) drain_db_fifo() argument
2199 v1 = t4_read_reg(adap, SGE_DBFIFO_STATUS_A); drain_db_fifo()
2200 v2 = t4_read_reg(adap, SGE_DBFIFO_STATUS2_A); drain_db_fifo()
2201 if (is_t4(adap->params.chip)) { drain_db_fifo()
2225 static void enable_txq_db(struct adapter *adap, struct sge_txq *q) enable_txq_db() argument
2233 t4_write_reg(adap, MYPF_REG(SGE_PF_KDOORBELL_A), enable_txq_db()
2241 static void disable_dbs(struct adapter *adap) disable_dbs() argument
2245 for_each_ethrxq(&adap->sge, i) disable_dbs()
2246 disable_txq_db(&adap->sge.ethtxq[i].q); disable_dbs()
2247 for_each_ofldrxq(&adap->sge, i) disable_dbs()
2248 disable_txq_db(&adap->sge.ofldtxq[i].q); disable_dbs()
2249 for_each_port(adap, i) disable_dbs()
2250 disable_txq_db(&adap->sge.ctrlq[i].q); disable_dbs()
2253 static void enable_dbs(struct adapter *adap) enable_dbs() argument
2257 for_each_ethrxq(&adap->sge, i) enable_dbs()
2258 enable_txq_db(adap, &adap->sge.ethtxq[i].q); enable_dbs()
2259 for_each_ofldrxq(&adap->sge, i) enable_dbs()
2260 enable_txq_db(adap, &adap->sge.ofldtxq[i].q); enable_dbs()
2261 for_each_port(adap, i) enable_dbs()
2262 enable_txq_db(adap, &adap->sge.ctrlq[i].q); enable_dbs()
2265 static void notify_rdma_uld(struct adapter *adap, enum cxgb4_control cmd) notify_rdma_uld() argument
2267 if (adap->uld_handle[CXGB4_ULD_RDMA]) notify_rdma_uld()
2268 ulds[CXGB4_ULD_RDMA].control(adap->uld_handle[CXGB4_ULD_RDMA], notify_rdma_uld()
2274 struct adapter *adap; process_db_full() local
2276 adap = container_of(work, struct adapter, db_full_task); process_db_full()
2278 drain_db_fifo(adap, dbfifo_drain_delay); process_db_full()
2279 enable_dbs(adap); process_db_full()
2280 notify_rdma_uld(adap, CXGB4_CONTROL_DB_EMPTY); process_db_full()
2281 t4_set_reg_field(adap, SGE_INT_ENABLE3_A, process_db_full()
2286 static void sync_txq_pidx(struct adapter *adap, struct sge_txq *q) sync_txq_pidx() argument
2292 ret = read_eq_indices(adap, (u16)q->cntxt_id, &hw_pidx, &hw_cidx); sync_txq_pidx()
2304 if (is_t4(adap->params.chip)) sync_txq_pidx()
2309 t4_write_reg(adap, MYPF_REG(SGE_PF_KDOORBELL_A), sync_txq_pidx()
2317 CH_WARN(adap, "DB drop recovery failed.\n"); sync_txq_pidx()
2319 static void recover_all_queues(struct adapter *adap) recover_all_queues() argument
2323 for_each_ethrxq(&adap->sge, i) recover_all_queues()
2324 sync_txq_pidx(adap, &adap->sge.ethtxq[i].q); recover_all_queues()
2325 for_each_ofldrxq(&adap->sge, i) recover_all_queues()
2326 sync_txq_pidx(adap, &adap->sge.ofldtxq[i].q); recover_all_queues()
2327 for_each_port(adap, i) recover_all_queues()
2328 sync_txq_pidx(adap, &adap->sge.ctrlq[i].q); recover_all_queues()
2333 struct adapter *adap; process_db_drop() local
2335 adap = container_of(work, struct adapter, db_drop_task); process_db_drop()
2337 if (is_t4(adap->params.chip)) { process_db_drop()
2338 drain_db_fifo(adap, dbfifo_drain_delay); process_db_drop()
2339 notify_rdma_uld(adap, CXGB4_CONTROL_DB_DROP); process_db_drop()
2340 drain_db_fifo(adap, dbfifo_drain_delay); process_db_drop()
2341 recover_all_queues(adap); process_db_drop()
2342 drain_db_fifo(adap, dbfifo_drain_delay); process_db_drop()
2343 enable_dbs(adap); process_db_drop()
2344 notify_rdma_uld(adap, CXGB4_CONTROL_DB_EMPTY); process_db_drop()
2346 u32 dropped_db = t4_read_reg(adap, 0x010ac); process_db_drop()
2353 ret = cxgb4_t4_bar2_sge_qregs(adap, qid, T4_BAR2_QTYPE_EGRESS, process_db_drop()
2356 dev_err(adap->pdev_dev, "doorbell drop recovery: " process_db_drop()
2360 adap->bar2 + bar2_qoffset + SGE_UDB_KDOORBELL); process_db_drop()
2363 t4_set_reg_field(adap, 0x10b0, 1<<15, 1<<15); process_db_drop()
2366 t4_set_reg_field(adap, SGE_DOORBELL_CONTROL_A, DROPPED_DB_F, 0); process_db_drop()
2369 void t4_db_full(struct adapter *adap) t4_db_full() argument
2371 if (is_t4(adap->params.chip)) { t4_db_full()
2372 disable_dbs(adap); t4_db_full()
2373 notify_rdma_uld(adap, CXGB4_CONTROL_DB_FULL); t4_db_full()
2374 t4_set_reg_field(adap, SGE_INT_ENABLE3_A, t4_db_full()
2376 queue_work(adap->workq, &adap->db_full_task); t4_db_full()
2380 void t4_db_dropped(struct adapter *adap) t4_db_dropped() argument
2382 if (is_t4(adap->params.chip)) { t4_db_dropped()
2383 disable_dbs(adap); t4_db_dropped()
2384 notify_rdma_uld(adap, CXGB4_CONTROL_DB_FULL); t4_db_dropped()
2386 queue_work(adap->workq, &adap->db_drop_task); t4_db_dropped()
2389 static void uld_attach(struct adapter *adap, unsigned int uld) uld_attach() argument
2395 lli.pdev = adap->pdev; uld_attach()
2396 lli.pf = adap->fn; uld_attach()
2397 lli.l2t = adap->l2t; uld_attach()
2398 lli.tids = &adap->tids; uld_attach()
2399 lli.ports = adap->port; uld_attach()
2400 lli.vr = &adap->vres; uld_attach()
2401 lli.mtus = adap->params.mtus; uld_attach()
2403 lli.rxq_ids = adap->sge.rdma_rxq; uld_attach()
2404 lli.ciq_ids = adap->sge.rdma_ciq; uld_attach()
2405 lli.nrxq = adap->sge.rdmaqs; uld_attach()
2406 lli.nciq = adap->sge.rdmaciqs; uld_attach()
2408 lli.rxq_ids = adap->sge.ofld_rxq; uld_attach()
2409 lli.nrxq = adap->sge.ofldqsets; uld_attach()
2411 lli.ntxq = adap->sge.ofldqsets; uld_attach()
2412 lli.nchan = adap->params.nports; uld_attach()
2413 lli.nports = adap->params.nports; uld_attach()
2414 lli.wr_cred = adap->params.ofldq_wr_cred; uld_attach()
2415 lli.adapter_type = adap->params.chip; uld_attach()
2416 lli.iscsi_iolen = MAXRXDATA_G(t4_read_reg(adap, TP_PARA_REG2_A)); uld_attach()
2417 lli.cclk_ps = 1000000000 / adap->params.vpd.cclk; uld_attach()
2418 lli.udb_density = 1 << adap->params.sge.eq_qpp; uld_attach()
2419 lli.ucq_density = 1 << adap->params.sge.iq_qpp; uld_attach()
2420 lli.filt_mode = adap->params.tp.vlan_pri_map; uld_attach()
2424 lli.gts_reg = adap->regs + MYPF_REG(SGE_PF_GTS_A); uld_attach()
2425 lli.db_reg = adap->regs + MYPF_REG(SGE_PF_KDOORBELL_A); uld_attach()
2426 lli.fw_vers = adap->params.fw_vers; uld_attach()
2428 lli.sge_ingpadboundary = adap->sge.fl_align; uld_attach()
2429 lli.sge_egrstatuspagesize = adap->sge.stat_len; uld_attach()
2430 lli.sge_pktshift = adap->sge.pktshift; uld_attach()
2431 lli.enable_fw_ofld_conn = adap->flags & FW_OFLD_CONN; uld_attach()
2432 lli.max_ordird_qp = adap->params.max_ordird_qp; uld_attach()
2433 lli.max_ird_adapter = adap->params.max_ird_adapter; uld_attach()
2434 lli.ulptx_memwrite_dsgl = adap->params.ulptx_memwrite_dsgl; uld_attach()
2438 dev_warn(adap->pdev_dev, uld_attach()
2444 adap->uld_handle[uld] = handle; uld_attach()
2451 if (adap->flags & FULL_INIT_DONE) uld_attach()
2455 static void attach_ulds(struct adapter *adap) attach_ulds() argument
2460 list_add_tail_rcu(&adap->rcu_node, &adap_rcu_list); attach_ulds()
2464 list_add_tail(&adap->list_node, &adapter_list); attach_ulds()
2467 uld_attach(adap, i); attach_ulds()
2471 static void detach_ulds(struct adapter *adap) detach_ulds() argument
2476 list_del(&adap->list_node); detach_ulds()
2478 if (adap->uld_handle[i]) { detach_ulds()
2479 ulds[i].state_change(adap->uld_handle[i], detach_ulds()
2481 adap->uld_handle[i] = NULL; detach_ulds()
2490 list_del_rcu(&adap->rcu_node); detach_ulds()
2494 static void notify_ulds(struct adapter *adap, enum cxgb4_state new_state) notify_ulds() argument
2500 if (adap->uld_handle[i]) notify_ulds()
2501 ulds[i].state_change(adap->uld_handle[i], new_state); notify_ulds()
2517 struct adapter *adap; cxgb4_register_uld() local
2527 list_for_each_entry(adap, &adapter_list, list_node) cxgb4_register_uld()
2528 uld_attach(adap, type); cxgb4_register_uld()
2542 struct adapter *adap; cxgb4_unregister_uld() local
2547 list_for_each_entry(adap, &adapter_list, list_node) cxgb4_unregister_uld()
2548 adap->uld_handle[type] = NULL; cxgb4_unregister_uld()
2563 struct adapter *adap; cxgb4_inet6addr_handler() local
2569 list_for_each_entry(adap, &adapter_list, list_node) { cxgb4_inet6addr_handler()
2572 cxgb4_clip_get(adap->port[0], cxgb4_inet6addr_handler()
2576 cxgb4_clip_release(adap->port[0], cxgb4_inet6addr_handler()
2610 static void update_clip(const struct adapter *adap) update_clip() argument
2619 dev = adap->port[i]; update_clip()
2634 * @adap: adapter being enabled
2642 static int cxgb_up(struct adapter *adap) cxgb_up() argument
2646 err = setup_sge_queues(adap); cxgb_up()
2649 err = setup_rss(adap); cxgb_up()
2653 if (adap->flags & USING_MSIX) { cxgb_up()
2654 name_msix_vecs(adap); cxgb_up()
2655 err = request_irq(adap->msix_info[0].vec, t4_nondata_intr, 0, cxgb_up()
2656 adap->msix_info[0].desc, adap); cxgb_up()
2660 err = request_msix_queue_irqs(adap); cxgb_up()
2662 free_irq(adap->msix_info[0].vec, adap); cxgb_up()
2666 err = request_irq(adap->pdev->irq, t4_intr_handler(adap), cxgb_up()
2667 (adap->flags & USING_MSI) ? 0 : IRQF_SHARED, cxgb_up()
2668 adap->port[0]->name, adap); cxgb_up()
2672 enable_rx(adap); cxgb_up()
2673 t4_sge_start(adap); cxgb_up()
2674 t4_intr_enable(adap); cxgb_up()
2675 adap->flags |= FULL_INIT_DONE; cxgb_up()
2676 notify_ulds(adap, CXGB4_STATE_UP); cxgb_up()
2678 update_clip(adap); cxgb_up()
2683 dev_err(adap->pdev_dev, "request_irq failed, err %d\n", err); cxgb_up()
2685 t4_free_sge_resources(adap); cxgb_up()
2775 struct adapter *adap; cxgb4_create_server_filter() local
2779 adap = netdev2adap(dev); cxgb4_create_server_filter()
2782 stid -= adap->tids.sftid_base; cxgb4_create_server_filter()
2783 stid += adap->tids.nftids; cxgb4_create_server_filter()
2787 f = &adap->tids.ftid_tab[stid]; cxgb4_create_server_filter()
2796 clear_filter(adap, f); cxgb4_create_server_filter()
2808 if (adap->params.tp.vlan_pri_map & PORT_F) { cxgb4_create_server_filter()
2814 if (adap->params.tp.vlan_pri_map & PROTOCOL_F) { cxgb4_create_server_filter()
2825 ret = set_filter_wr(adap, stid); cxgb4_create_server_filter()
2827 clear_filter(adap, f); cxgb4_create_server_filter()
2840 struct adapter *adap; cxgb4_remove_server_filter() local
2842 adap = netdev2adap(dev); cxgb4_remove_server_filter()
2845 stid -= adap->tids.sftid_base; cxgb4_remove_server_filter()
2846 stid += adap->tids.nftids; cxgb4_remove_server_filter()
2848 f = &adap->tids.ftid_tab[stid]; cxgb4_remove_server_filter()
2852 ret = delete_filter(adap, stid); cxgb4_remove_server_filter()
2992 struct adapter *adap = pi->adapter; cxgb_netpoll() local
2994 if (adap->flags & USING_MSIX) { cxgb_netpoll()
2996 struct sge_eth_rxq *rx = &adap->sge.ethrxq[pi->first_qset]; cxgb_netpoll()
3001 t4_intr_handler(adap)(0, adap); cxgb_netpoll()
3030 void t4_fatal_err(struct adapter *adap) t4_fatal_err() argument
3032 t4_set_reg_field(adap, SGE_CONTROL_A, GLOBALENABLE_F, 0); t4_fatal_err()
3033 t4_intr_disable(adap); t4_fatal_err()
3034 dev_alert(adap->pdev_dev, "encountered fatal error, adapter stopped\n"); t4_fatal_err()
3042 static u32 t4_read_pcie_cfg4(struct adapter *adap, int reg) t4_read_pcie_cfg4() argument
3060 (FW_LDST_CMD_LC_F | FW_LDST_CMD_FN_V(adap->fn)); t4_read_pcie_cfg4()
3062 ret = t4_wr_mbox(adap, adap->mbox, &ldst_cmd, sizeof(ldst_cmd), t4_read_pcie_cfg4()
3071 t4_hw_pci_read_cfg4(adap, reg, &val); t4_read_pcie_cfg4()
3076 static void setup_memwin(struct adapter *adap) setup_memwin() argument
3080 if (is_t4(adap->params.chip)) { setup_memwin()
3092 bar0 = t4_read_pcie_cfg4(adap, PCI_BASE_ADDRESS_0); setup_memwin()
3094 adap->t4_bar0 = bar0; setup_memwin()
3107 t4_write_reg(adap, PCIE_MEM_ACCESS_REG(PCIE_MEM_ACCESS_BASE_WIN_A, 0), setup_memwin()
3110 t4_write_reg(adap, PCIE_MEM_ACCESS_REG(PCIE_MEM_ACCESS_BASE_WIN_A, 1), setup_memwin()
3113 t4_write_reg(adap, PCIE_MEM_ACCESS_REG(PCIE_MEM_ACCESS_BASE_WIN_A, 2), setup_memwin()
3116 t4_read_reg(adap, PCIE_MEM_ACCESS_REG(PCIE_MEM_ACCESS_BASE_WIN_A, 2)); setup_memwin()
3119 static void setup_memwin_rdma(struct adapter *adap) setup_memwin_rdma() argument
3121 if (adap->vres.ocq.size) { setup_memwin_rdma()
3125 start = t4_read_pcie_cfg4(adap, PCI_BASE_ADDRESS_2); setup_memwin_rdma()
3127 start += OCQ_WIN_OFFSET(adap->pdev, &adap->vres); setup_memwin_rdma()
3128 sz_kb = roundup_pow_of_two(adap->vres.ocq.size) >> 10; setup_memwin_rdma()
3129 t4_write_reg(adap, setup_memwin_rdma()
3132 t4_write_reg(adap, setup_memwin_rdma()
3134 adap->vres.ocq.start); setup_memwin_rdma()
3135 t4_read_reg(adap, setup_memwin_rdma()
3140 static int adap_init1(struct adapter *adap, struct fw_caps_config_cmd *c) adap_init1() argument
3150 ret = t4_wr_mbox(adap, adap->fn, c, sizeof(*c), c); adap_init1()
3161 dev_err(adap->pdev_dev, "virtualization ACLs not supported"); adap_init1()
3166 ret = t4_wr_mbox(adap, adap->fn, c, sizeof(*c), NULL); adap_init1()
3170 ret = t4_config_glbl_rss(adap, adap->fn, adap_init1()
3177 ret = t4_cfg_pfvf(adap, adap->fn, adap->fn, 0, adap->sge.egr_sz, 64, adap_init1()
3183 t4_sge_init(adap); adap_init1()
3186 t4_write_reg(adap, TP_SHIFT_CNT_A, 0x64f8849); adap_init1()
3187 t4_write_reg(adap, ULP_RX_TDDP_PSZ_A, HPZ0_V(PAGE_SHIFT - 12)); adap_init1()
3188 t4_write_reg(adap, TP_PIO_ADDR_A, TP_INGRESS_CONFIG_A); adap_init1()
3189 v = t4_read_reg(adap, TP_PIO_DATA_A); adap_init1()
3190 t4_write_reg(adap, TP_PIO_DATA_A, v & ~CSUM_HAS_PSEUDO_HDR_F); adap_init1()
3193 adap->params.tp.tx_modq_map = 0xE4; adap_init1()
3194 t4_write_reg(adap, TP_TX_MOD_QUEUE_REQ_MAP_A, adap_init1()
3195 TX_MOD_QUEUE_REQ_MAP_V(adap->params.tp.tx_modq_map)); adap_init1()
3199 t4_write_indirect(adap, TP_PIO_ADDR_A, TP_PIO_DATA_A, adap_init1()
3201 t4_write_indirect(adap, TP_PIO_ADDR_A, TP_PIO_DATA_A, adap_init1()
3203 t4_write_indirect(adap, TP_PIO_ADDR_A, TP_PIO_DATA_A, adap_init1()
3207 if (is_offload(adap)) { adap_init1()
3208 t4_write_reg(adap, TP_TX_MOD_QUEUE_WEIGHT0_A, adap_init1()
3213 t4_write_reg(adap, TP_TX_MOD_CHANNEL_WEIGHT_A, adap_init1()
3221 return t4_early_init(adap, adap->fn); adap_init1()
3526 static int adap_init0(struct adapter *adap) adap_init0() argument
3538 ret = t4_init_devlog_params(adap); adap_init0()
3543 ret = t4_fw_hello(adap, adap->mbox, adap->mbox, MASTER_MAY, &state); adap_init0()
3545 dev_err(adap->pdev_dev, "could not connect to FW, error %d\n", adap_init0()
3549 if (ret == adap->mbox) adap_init0()
3550 adap->flags |= MASTER_PF; adap_init0()
3559 t4_get_fw_version(adap, &adap->params.fw_vers); adap_init0()
3560 t4_get_tp_version(adap, &adap->params.tp_vers); adap_init0()
3561 if ((adap->flags & MASTER_PF) && state != DEV_STATE_INIT) { adap_init0()
3571 fw_info = find_fw_info(CHELSIO_CHIP_VERSION(adap->params.chip)); adap_init0()
3573 dev_err(adap->pdev_dev, adap_init0()
3575 CHELSIO_CHIP_VERSION(adap->params.chip)); adap_init0()
3586 adap->pdev_dev); adap_init0()
3588 dev_err(adap->pdev_dev, adap_init0()
3597 ret = t4_prep_fw(adap, fw_info, fw_data, fw_size, card_fw, adap_init0()
3615 ret = get_vpd_params(adap, &adap->params.vpd); adap_init0()
3627 ret = t4_query_params(adap, adap->mbox, adap->fn, 0, 1, &v, &port_vec); adap_init0()
3631 adap->params.nports = hweight32(port_vec); adap_init0()
3632 adap->params.portvec = port_vec; adap_init0()
3638 dev_info(adap->pdev_dev, "Coming up as %s: "\ adap_init0()
3640 adap->flags & MASTER_PF ? "MASTER" : "SLAVE"); adap_init0()
3642 dev_info(adap->pdev_dev, "Coming up as MASTER: "\ adap_init0()
3650 ret = t4_query_params(adap, adap->mbox, adap->fn, 0, 1, adap_init0()
3657 dev_err(adap->pdev_dev, "firmware doesn't support " adap_init0()
3666 ret = adap_init0_config(adap, reset); adap_init0()
3668 dev_err(adap->pdev_dev, "no Configuration File " adap_init0()
3673 dev_err(adap->pdev_dev, "could not initialize " adap_init0()
3683 ret = t4_sge_init(adap); adap_init0()
3687 if (is_bypass_device(adap->pdev->device)) adap_init0()
3688 adap->params.bypass = 1; adap_init0()
3709 ret = t4_query_params(adap, adap->mbox, adap->fn, 0, 6, params, val); adap_init0()
3712 adap->sge.egr_start = val[0]; adap_init0()
3713 adap->l2t_start = val[1]; adap_init0()
3714 adap->l2t_end = val[2]; adap_init0()
3715 adap->tids.ftid_base = val[3]; adap_init0()
3716 adap->tids.nftids = val[4] - val[3] + 1; adap_init0()
3717 adap->sge.ingr_start = val[5]; adap_init0()
3727 ret = t4_query_params(adap, adap->mbox, adap->fn, 0, 2, params, val); adap_init0()
3730 adap->sge.egr_sz = val[0] - adap->sge.egr_start + 1; adap_init0()
3731 adap->sge.ingr_sz = val[1] - adap->sge.ingr_start + 1; adap_init0()
3733 adap->sge.egr_map = kcalloc(adap->sge.egr_sz, adap_init0()
3734 sizeof(*adap->sge.egr_map), GFP_KERNEL); adap_init0()
3735 if (!adap->sge.egr_map) { adap_init0()
3740 adap->sge.ingr_map = kcalloc(adap->sge.ingr_sz, adap_init0()
3741 sizeof(*adap->sge.ingr_map), GFP_KERNEL); adap_init0()
3742 if (!adap->sge.ingr_map) { adap_init0()
3750 adap->sge.starving_fl = kcalloc(BITS_TO_LONGS(adap->sge.egr_sz), adap_init0()
3752 if (!adap->sge.starving_fl) { adap_init0()
3757 adap->sge.txq_maperr = kcalloc(BITS_TO_LONGS(adap->sge.egr_sz), adap_init0()
3759 if (!adap->sge.txq_maperr) { adap_init0()
3766 ret = t4_query_params(adap, adap->mbox, adap->fn, 0, 2, params, val); adap_init0()
3769 adap->clipt_start = val[0]; adap_init0()
3770 adap->clipt_end = val[1]; adap_init0()
3775 ret = t4_query_params(adap, adap->mbox, adap->fn, 0, 2, params, val); adap_init0()
3780 adap->flags |= FW_OFLD_CONN; adap_init0()
3781 adap->tids.aftid_base = val[0]; adap_init0()
3782 adap->tids.aftid_end = val[1]; adap_init0()
3792 (void) t4_set_params(adap, adap->mbox, adap->fn, 0, 1, params, val); adap_init0()
3800 if (is_t4(adap->params.chip)) { adap_init0()
3801 adap->params.ulptx_memwrite_dsgl = false; adap_init0()
3804 ret = t4_query_params(adap, adap->mbox, adap->fn, 0, adap_init0()
3806 adap->params.ulptx_memwrite_dsgl = (ret == 0 && val[0] != 0); adap_init0()
3817 ret = t4_wr_mbox(adap, adap->mbox, &caps_cmd, sizeof(caps_cmd), adap_init0()
3830 ret = t4_query_params(adap, adap->mbox, adap->fn, 0, 6, adap_init0()
3834 adap->tids.ntids = val[0]; adap_init0()
3835 adap->tids.natids = min(adap->tids.ntids / 2, MAX_ATIDS); adap_init0()
3836 adap->tids.stid_base = val[1]; adap_init0()
3837 adap->tids.nstids = val[2] - val[1] + 1; adap_init0()
3847 if (adap->flags & FW_OFLD_CONN && !is_bypass(adap)) { adap_init0()
3848 adap->tids.sftid_base = adap->tids.ftid_base + adap_init0()
3849 DIV_ROUND_UP(adap->tids.nftids, 3); adap_init0()
3850 adap->tids.nsftids = adap->tids.nftids - adap_init0()
3851 DIV_ROUND_UP(adap->tids.nftids, 3); adap_init0()
3852 adap->tids.nftids = adap->tids.sftid_base - adap_init0()
3853 adap->tids.ftid_base; adap_init0()
3855 adap->vres.ddp.start = val[3]; adap_init0()
3856 adap->vres.ddp.size = val[4] - val[3] + 1; adap_init0()
3857 adap->params.ofldq_wr_cred = val[5]; adap_init0()
3859 adap->params.offload = 1; adap_init0()
3868 ret = t4_query_params(adap, adap->mbox, adap->fn, 0, 6, adap_init0()
3872 adap->vres.stag.start = val[0]; adap_init0()
3873 adap->vres.stag.size = val[1] - val[0] + 1; adap_init0()
3874 adap->vres.rq.start = val[2]; adap_init0()
3875 adap->vres.rq.size = val[3] - val[2] + 1; adap_init0()
3876 adap->vres.pbl.start = val[4]; adap_init0()
3877 adap->vres.pbl.size = val[5] - val[4] + 1; adap_init0()
3885 ret = t4_query_params(adap, adap->mbox, adap->fn, 0, 6, params, adap_init0()
3889 adap->vres.qp.start = val[0]; adap_init0()
3890 adap->vres.qp.size = val[1] - val[0] + 1; adap_init0()
3891 adap->vres.cq.start = val[2]; adap_init0()
3892 adap->vres.cq.size = val[3] - val[2] + 1; adap_init0()
3893 adap->vres.ocq.start = val[4]; adap_init0()
3894 adap->vres.ocq.size = val[5] - val[4] + 1; adap_init0()
3898 ret = t4_query_params(adap, adap->mbox, adap->fn, 0, 2, params, adap_init0()
3901 adap->params.max_ordird_qp = 8; adap_init0()
3902 adap->params.max_ird_adapter = 32 * adap->tids.ntids; adap_init0()
3905 adap->params.max_ordird_qp = val[0]; adap_init0()
3906 adap->params.max_ird_adapter = val[1]; adap_init0()
3908 dev_info(adap->pdev_dev, adap_init0()
3910 adap->params.max_ordird_qp, adap_init0()
3911 adap->params.max_ird_adapter); adap_init0()
3916 ret = t4_query_params(adap, adap->mbox, adap->fn, 0, 2, adap_init0()
3920 adap->vres.iscsi.start = val[0]; adap_init0()
3921 adap->vres.iscsi.size = val[1] - val[0] + 1; adap_init0()
3931 t4_read_mtu_tbl(adap, adap->params.mtus, NULL); adap_init0()
3953 if (adap->params.mtus[i] == 1492) { adap_init0()
3954 adap->params.mtus[i] = 1488; adap_init0()
3958 t4_load_mtus(adap, adap->params.mtus, adap->params.a_wnd, adap_init0()
3959 adap->params.b_wnd); adap_init0()
3961 t4_init_sge_params(adap); adap_init0()
3962 t4_init_tp_params(adap); adap_init0()
3963 adap->flags |= FW_OK; adap_init0()
3972 kfree(adap->sge.egr_map); adap_init0()
3973 kfree(adap->sge.ingr_map); adap_init0()
3974 kfree(adap->sge.starving_fl); adap_init0()
3975 kfree(adap->sge.txq_maperr); adap_init0()
3977 t4_fw_bye(adap, adap->mbox); adap_init0()
3987 struct adapter *adap = pci_get_drvdata(pdev); eeh_err_detected() local
3989 if (!adap) eeh_err_detected()
3993 adap->flags &= ~FW_OK; eeh_err_detected()
3994 notify_ulds(adap, CXGB4_STATE_START_RECOVERY); eeh_err_detected()
3995 spin_lock(&adap->stats_lock); for_each_port()
3996 for_each_port(adap, i) { for_each_port()
3997 struct net_device *dev = adap->port[i]; for_each_port()
4002 spin_unlock(&adap->stats_lock);
4003 disable_interrupts(adap);
4004 if (adap->flags & FULL_INIT_DONE)
4005 cxgb_down(adap);
4007 if ((adap->flags & DEV_ENABLED)) {
4009 adap->flags &= ~DEV_ENABLED;
4019 struct adapter *adap = pci_get_drvdata(pdev); eeh_slot_reset() local
4021 if (!adap) { eeh_slot_reset()
4027 if (!(adap->flags & DEV_ENABLED)) { eeh_slot_reset()
4033 adap->flags |= DEV_ENABLED; eeh_slot_reset()
4041 if (t4_wait_dev_ready(adap->regs) < 0) eeh_slot_reset()
4043 if (t4_fw_hello(adap, adap->fn, adap->fn, MASTER_MUST, NULL) < 0) eeh_slot_reset()
4045 adap->flags |= FW_OK; eeh_slot_reset()
4046 if (adap_init1(adap, &c)) eeh_slot_reset()
4049 for_each_port(adap, i) { for_each_port()
4050 struct port_info *p = adap2pinfo(adap, i); for_each_port()
4052 ret = t4_alloc_vi(adap, adap->fn, p->tx_chan, adap->fn, 0, 1, for_each_port()
4060 t4_load_mtus(adap, adap->params.mtus, adap->params.a_wnd,
4061 adap->params.b_wnd);
4062 setup_memwin(adap);
4063 if (cxgb_up(adap))
4071 struct adapter *adap = pci_get_drvdata(pdev); eeh_resume() local
4073 if (!adap) eeh_resume()
4077 for_each_port(adap, i) { for_each_port()
4078 struct net_device *dev = adap->port[i]; for_each_port()
4101 static inline void init_rspq(struct adapter *adap, struct sge_rspq *q, init_rspq() argument
4105 q->adap = adap; init_rspq()
4116 static void cfg_queues(struct adapter *adap) cfg_queues() argument
4118 struct sge *s = &adap->sge; cfg_queues()
4125 for_each_port(adap, i) cfg_queues()
4126 n10g += is_x_10g_port(&adap2pinfo(adap, i)->link_cfg); cfg_queues()
4132 if (adap->params.nports * 8 > MAX_ETH_QSETS) { cfg_queues()
4133 dev_err(adap->pdev_dev, "MAX_ETH_QSETS=%d < %d!\n", cfg_queues()
4134 MAX_ETH_QSETS, adap->params.nports * 8); cfg_queues()
4138 for_each_port(adap, i) { for_each_port()
4139 struct port_info *pi = adap2pinfo(adap, i); for_each_port()
4151 q10g = (MAX_ETH_QSETS - (adap->params.nports - n10g)) / n10g;
4155 for_each_port(adap, i) { for_each_port()
4156 struct port_info *pi = adap2pinfo(adap, i); for_each_port()
4167 if (is_offload(adap)) {
4176 s->ofldqsets = roundup(i, adap->params.nports);
4178 s->ofldqsets = adap->params.nports;
4180 s->rdmaqs = adap->params.nports;
4188 s->rdmaciqs = (s->rdmaciqs / adap->params.nports) *
4189 adap->params.nports;
4190 s->rdmaciqs = max_t(int, s->rdmaciqs, adap->params.nports);
4196 init_rspq(adap, &r->rspq, 5, 10, 1024, 64);
4212 init_rspq(adap, &r->rspq, 5, 1, 1024, 64);
4220 init_rspq(adap, &r->rspq, 5, 1, 511, 64);
4225 ciq_size = 64 + adap->vres.cq.size + adap->tids.nftids;
4227 CH_WARN(adap, "CIQ size too small for available IQs\n");
4234 init_rspq(adap, &r->rspq, 5, 1, ciq_size, 64);
4238 init_rspq(adap, &s->fw_evtq, 0, 1, 1024, 64);
4239 init_rspq(adap, &s->intrq, 0, 1, 2 * MAX_INGQ, 64);
4246 static void reduce_ethqs(struct adapter *adap, int n) reduce_ethqs() argument
4251 while (n < adap->sge.ethqsets) for_each_port()
4252 for_each_port(adap, i) { for_each_port()
4253 pi = adap2pinfo(adap, i); for_each_port()
4256 adap->sge.ethqsets--; for_each_port()
4257 if (adap->sge.ethqsets <= n) for_each_port()
4263 for_each_port(adap, i) { for_each_port()
4264 pi = adap2pinfo(adap, i); for_each_port()
4273 static int enable_msix(struct adapter *adap) enable_msix() argument
4277 struct sge *s = &adap->sge; enable_msix()
4278 unsigned int nchan = adap->params.nports; enable_msix()
4290 if (is_offload(adap)) { enable_msix()
4299 need = 8 * adap->params.nports + EXTRA_VECS + ofld_need; enable_msix()
4301 need = adap->params.nports + EXTRA_VECS + ofld_need; enable_msix()
4303 allocated = pci_enable_msix_range(adap->pdev, entries, need, want); enable_msix()
4305 dev_info(adap->pdev_dev, "not enough MSI-X vectors left," enable_msix()
4319 reduce_ethqs(adap, i); enable_msix()
4321 if (is_offload(adap)) { enable_msix()
4333 adap->msix_info[i].vec = entries[i].vector; enable_msix()
4341 static int init_rss(struct adapter *adap) init_rss() argument
4345 for_each_port(adap, i) { for_each_port()
4346 struct port_info *pi = adap2pinfo(adap, i); for_each_port()
4363 const struct adapter *adap = pi->adapter; print_port_info() local
4365 if (adap->params.pci.speed == PCI_EXP_LNKSTA_CLS_2_5GB) print_port_info()
4367 else if (adap->params.pci.speed == PCI_EXP_LNKSTA_CLS_5_0GB) print_port_info()
4369 else if (adap->params.pci.speed == PCI_EXP_LNKSTA_CLS_8_0GB) print_port_info()
4385 adap->params.vpd.id, print_port_info()
4386 CHELSIO_CHIP_RELEASE(adap->params.chip), buf, print_port_info()
4387 is_offload(adap) ? "R" : "", adap->params.pci.width, spd, print_port_info()
4388 (adap->flags & USING_MSIX) ? " MSI-X" : print_port_info()
4389 (adap->flags & USING_MSI) ? " MSI" : ""); print_port_info()
4391 adap->params.vpd.sn, adap->params.vpd.pn); print_port_info()
H A Dsge.c390 static void free_tx_desc(struct adapter *adap, struct sge_txq *q, free_tx_desc() argument
395 struct device *dev = adap->pdev_dev; free_tx_desc()
426 * @adap: the adapter
434 static inline void reclaim_completed_tx(struct adapter *adap, struct sge_txq *q, reclaim_completed_tx() argument
447 free_tx_desc(adap, q, avail, unmap); reclaim_completed_tx()
485 * @adap: the adapter
492 static void free_rx_bufs(struct adapter *adap, struct sge_fl *q, int n) free_rx_bufs() argument
498 dma_unmap_page(adap->pdev_dev, get_buf_addr(d), free_rx_bufs()
499 get_buf_size(adap, d), free_rx_bufs()
511 * @adap: the adapter
520 static void unmap_rx_buf(struct adapter *adap, struct sge_fl *q) unmap_rx_buf() argument
525 dma_unmap_page(adap->pdev_dev, get_buf_addr(d), unmap_rx_buf()
526 get_buf_size(adap, d), PCI_DMA_FROMDEVICE); unmap_rx_buf()
533 static inline void ring_fl_db(struct adapter *adap, struct sge_fl *q) ring_fl_db() argument
537 if (is_t4(adap->params.chip)) ring_fl_db()
550 t4_write_reg(adap, MYPF_REG(SGE_PF_KDOORBELL_A), ring_fl_db()
574 * @adap: the adapter
586 static unsigned int refill_fl(struct adapter *adap, struct sge_fl *q, int n, refill_fl() argument
589 struct sge *s = &adap->sge; refill_fl()
598 node = dev_to_node(adap->pdev_dev); refill_fl()
613 mapping = dma_map_page(adap->pdev_dev, pg, 0, refill_fl()
616 if (unlikely(dma_mapping_error(adap->pdev_dev, mapping))) { refill_fl()
643 mapping = dma_map_page(adap->pdev_dev, pg, 0, PAGE_SIZE, refill_fl()
645 if (unlikely(dma_mapping_error(adap->pdev_dev, mapping))) { refill_fl()
664 ring_fl_db(adap, q); refill_fl()
666 if (unlikely(fl_starving(adap, q))) { refill_fl()
668 set_bit(q->cntxt_id - adap->sge.egr_start, refill_fl()
669 adap->sge.starving_fl); refill_fl()
675 static inline void __refill_fl(struct adapter *adap, struct sge_fl *fl) __refill_fl() argument
677 refill_fl(adap, fl, min(MAX_RX_REFILL, fl_cap(fl) - fl->avail), __refill_fl()
925 * @adap: the adapter
931 static inline void ring_tx_db(struct adapter *adap, struct sge_txq *q, int n) ring_tx_db() argument
947 t4_write_reg(adap, MYPF_REG(SGE_PF_KDOORBELL_A), ring_tx_db()
1094 cxgb_fcoe_offload(struct sk_buff *skb, struct adapter *adap, cxgb_fcoe_offload() argument
1111 if (!cxgb_fcoe_sof_eof_supported(adap, skb)) cxgb_fcoe_offload()
1138 struct adapter *adap; t4_eth_xmit() local
1160 adap = pi->adapter; t4_eth_xmit()
1162 q = &adap->sge.ethtxq[qidx + pi->first_qset]; t4_eth_xmit()
1164 reclaim_completed_tx(adap, &q->q, true); t4_eth_xmit()
1168 err = cxgb_fcoe_offload(skb, adap, pi, &cntrl); t4_eth_xmit()
1179 dev_err(adap->pdev_dev, t4_eth_xmit()
1189 unlikely(map_skb(adap->pdev_dev, skb, addr) < 0)) { t4_eth_xmit()
1225 if (is_t4(adap->params.chip)) t4_eth_xmit()
1257 TXPKT_INTF(pi->tx_chan) | TXPKT_PF(adap->fn)); t4_eth_xmit()
1281 ring_tx_db(adap, &q->q, ndesc); t4_eth_xmit()
1372 ring_tx_db(q->adap, &q->q, ndesc); ctrl_xmit()
1421 ring_tx_db(q->adap, &q->q, written); restart_ctrlq()
1428 ring_tx_db(q->adap, &q->q, written); restart_ctrlq()
1434 * @adap: the adapter
1439 int t4_mgmt_tx(struct adapter *adap, struct sk_buff *skb) t4_mgmt_tx() argument
1444 ret = ctrl_xmit(&adap->sge.ctrlq[0], skb); t4_mgmt_tx()
1485 * @adap: the adapter
1496 set_bit(q->q.cntxt_id - q->adap->sge.egr_start, txq_stop_maperr()
1497 q->adap->sge.txq_maperr); txq_stop_maperr()
1539 reclaim_completed_tx(q->adap, &q->q, false); service_ofldq()
1551 else if (map_skb(q->adap->pdev_dev, skb, service_ofldq()
1564 skb->dev = q->adap->port[0]; service_ofldq()
1576 ring_tx_db(q->adap, &q->q, written); service_ofldq()
1586 ring_tx_db(q->adap, &q->q, written); service_ofldq()
1647 static inline int ofld_send(struct adapter *adap, struct sk_buff *skb) ofld_send() argument
1653 if (adap->tids.nsftids) ofld_send()
1655 return ctrl_xmit(&adap->sge.ctrlq[idx], skb); ofld_send()
1657 return ofld_xmit(&adap->sge.ofldtxq[idx], skb); ofld_send()
1662 * @adap: the adapter
1669 int t4_ofld_send(struct adapter *adap, struct sk_buff *skb) t4_ofld_send() argument
1674 ret = ofld_send(adap, skb); t4_ofld_send()
1773 static noinline int handle_trace_pkt(struct adapter *adap, handle_trace_pkt() argument
1784 if (is_t4(adap->params.chip)) handle_trace_pkt()
1791 skb->dev = adap->port[0]; handle_trace_pkt()
1799 struct adapter *adapter = rxq->rspq.adap; do_gro()
1850 struct sge *s = &q->adap->sge; t4_ethrx_handler()
1851 int cpl_trace_pkt = is_t4(q->adap->params.chip) ? t4_ethrx_handler()
1858 return handle_trace_pkt(q->adap, si); t4_ethrx_handler()
2005 struct adapter *adapter = q->adap; process_responses()
2023 free_rx_bufs(q->adap, &rxq->fl, 1); process_responses()
2040 unmap_rx_buf(q->adap, &rxq->fl); process_responses()
2047 dma_sync_single_for_cpu(q->adap->pdev_dev, process_responses()
2078 __refill_fl(q->adap, &rxq->fl); process_responses()
2101 t4_write_reg(q->adap, MYPF_REG(SGE_PF_GTS_A), cxgb_busy_poll()
2166 t4_write_reg(q->adap, MYPF_REG(SGE_PF_GTS_A), napi_rx_handler()
2192 static unsigned int process_intrq(struct adapter *adap) process_intrq() argument
2196 struct sge_rspq *q = &adap->sge.intrq; process_intrq()
2199 spin_lock(&adap->sge.intrq_lock); process_intrq()
2209 qid -= adap->sge.ingr_start; process_intrq()
2210 napi_schedule(&adap->sge.ingr_map[qid]->napi); process_intrq()
2222 t4_write_reg(adap, MYPF_REG(SGE_PF_GTS_A), process_intrq()
2229 spin_unlock(&adap->sge.intrq_lock); process_intrq()
2239 struct adapter *adap = cookie; t4_intr_msi() local
2241 if (adap->flags & MASTER_PF) t4_intr_msi()
2242 t4_slow_intr_handler(adap); t4_intr_msi()
2243 process_intrq(adap); t4_intr_msi()
2254 struct adapter *adap = cookie; t4_intr_intx() local
2256 t4_write_reg(adap, MYPF_REG(PCIE_PF_CLI_A), 0); t4_intr_intx()
2257 if (((adap->flags & MASTER_PF) && t4_slow_intr_handler(adap)) | t4_intr_intx()
2258 process_intrq(adap)) t4_intr_intx()
2265 * @adap: the adapter
2270 irq_handler_t t4_intr_handler(struct adapter *adap) t4_intr_handler() argument
2272 if (adap->flags & USING_MSIX) t4_intr_handler()
2274 if (adap->flags & USING_MSI) t4_intr_handler()
2283 struct adapter *adap = (struct adapter *)data; sge_rx_timer_cb() local
2284 struct sge *s = &adap->sge; sge_rx_timer_cb()
2295 if (fl_starving(adap, fl)) { sge_rx_timer_cb()
2304 t4_write_reg(adap, SGE_DEBUG_INDEX_A, 13); sge_rx_timer_cb()
2305 idma_same_state_cnt[0] = t4_read_reg(adap, SGE_DEBUG_DATA_HIGH_A); sge_rx_timer_cb()
2306 idma_same_state_cnt[1] = t4_read_reg(adap, SGE_DEBUG_DATA_LOW_A); sge_rx_timer_cb()
2319 CH_WARN(adap, "SGE idma%d, queue%u,resumed after %d sec\n", sge_rx_timer_cb()
2350 t4_write_reg(adap, SGE_DEBUG_INDEX_A, 0); sge_rx_timer_cb()
2351 debug0 = t4_read_reg(adap, SGE_DEBUG_DATA_LOW_A); sge_rx_timer_cb()
2354 t4_write_reg(adap, SGE_DEBUG_INDEX_A, 11); sge_rx_timer_cb()
2355 debug11 = t4_read_reg(adap, SGE_DEBUG_DATA_LOW_A); sge_rx_timer_cb()
2358 CH_WARN(adap, "SGE idma%u, queue%u, maybe stuck state%u %dsecs (debug0=%#x, debug11=%#x)\n", sge_rx_timer_cb()
2361 t4_sge_decode_idma_state(adap, s->idma_state[i]); sge_rx_timer_cb()
2371 struct adapter *adap = (struct adapter *)data; sge_tx_timer_cb() local
2372 struct sge *s = &adap->sge; sge_tx_timer_cb()
2397 free_tx_desc(adap, &q->q, avail, true); sge_tx_timer_cb()
2440 int t4_sge_alloc_rxq(struct adapter *adap, struct sge_rspq *iq, bool fwevtq, t4_sge_alloc_rxq() argument
2446 struct sge *s = &adap->sge; t4_sge_alloc_rxq()
2452 iq->desc = alloc_ring(adap->pdev_dev, iq->size, iq->iqe_len, 0, t4_sge_alloc_rxq()
2460 FW_IQ_CMD_PFN_V(adap->fn) | FW_IQ_CMD_VFN_V(0)); t4_sge_alloc_rxq()
2477 fl->desc = alloc_ring(adap->pdev_dev, fl->size, sizeof(__be64), t4_sge_alloc_rxq()
2494 ret = t4_wr_mbox(adap, adap->fn, &c, sizeof(c), &c); t4_sge_alloc_rxq()
2506 iq->bar2_addr = bar2_address(adap, t4_sge_alloc_rxq()
2517 adap->sge.ingr_map[iq->cntxt_id - adap->sge.ingr_start] = iq; t4_sge_alloc_rxq()
2524 adap->sge.egr_map[fl->cntxt_id - adap->sge.egr_start] = fl; t4_sge_alloc_rxq()
2529 fl->bar2_addr = bar2_address(adap, t4_sge_alloc_rxq()
2533 refill_fl(adap, fl, fl_cap(fl), GFP_KERNEL); t4_sge_alloc_rxq()
2541 dma_free_coherent(adap->pdev_dev, iq->size * iq->iqe_len, t4_sge_alloc_rxq()
2548 dma_free_coherent(adap->pdev_dev, flsz * sizeof(struct tx_desc), t4_sge_alloc_rxq()
2555 static void init_txq(struct adapter *adap, struct sge_txq *q, unsigned int id) init_txq() argument
2558 q->bar2_addr = bar2_address(adap, init_txq()
2567 adap->sge.egr_map[id - adap->sge.egr_start] = q; init_txq()
2570 int t4_sge_alloc_eth_txq(struct adapter *adap, struct sge_eth_txq *txq, t4_sge_alloc_eth_txq() argument
2576 struct sge *s = &adap->sge; t4_sge_alloc_eth_txq()
2582 txq->q.desc = alloc_ring(adap->pdev_dev, txq->q.size, t4_sge_alloc_eth_txq()
2592 FW_EQ_ETH_CMD_PFN_V(adap->fn) | t4_sge_alloc_eth_txq()
2608 ret = t4_wr_mbox(adap, adap->fn, &c, sizeof(c), &c); t4_sge_alloc_eth_txq()
2612 dma_free_coherent(adap->pdev_dev, t4_sge_alloc_eth_txq()
2619 init_txq(adap, &txq->q, FW_EQ_ETH_CMD_EQID_G(ntohl(c.eqid_pkd))); t4_sge_alloc_eth_txq()
2626 int t4_sge_alloc_ctrl_txq(struct adapter *adap, struct sge_ctrl_txq *txq, t4_sge_alloc_ctrl_txq() argument
2632 struct sge *s = &adap->sge; t4_sge_alloc_ctrl_txq()
2638 txq->q.desc = alloc_ring(adap->pdev_dev, nentries, t4_sge_alloc_ctrl_txq()
2646 FW_EQ_CTRL_CMD_PFN_V(adap->fn) | t4_sge_alloc_ctrl_txq()
2662 ret = t4_wr_mbox(adap, adap->fn, &c, sizeof(c), &c); t4_sge_alloc_ctrl_txq()
2664 dma_free_coherent(adap->pdev_dev, t4_sge_alloc_ctrl_txq()
2671 init_txq(adap, &txq->q, FW_EQ_CTRL_CMD_EQID_G(ntohl(c.cmpliqid_eqid))); t4_sge_alloc_ctrl_txq()
2672 txq->adap = adap; t4_sge_alloc_ctrl_txq()
2679 int t4_sge_alloc_ofld_txq(struct adapter *adap, struct sge_ofld_txq *txq, t4_sge_alloc_ofld_txq() argument
2684 struct sge *s = &adap->sge; t4_sge_alloc_ofld_txq()
2690 txq->q.desc = alloc_ring(adap->pdev_dev, txq->q.size, t4_sge_alloc_ofld_txq()
2700 FW_EQ_OFLD_CMD_PFN_V(adap->fn) | t4_sge_alloc_ofld_txq()
2714 ret = t4_wr_mbox(adap, adap->fn, &c, sizeof(c), &c); t4_sge_alloc_ofld_txq()
2718 dma_free_coherent(adap->pdev_dev, t4_sge_alloc_ofld_txq()
2725 init_txq(adap, &txq->q, FW_EQ_OFLD_CMD_EQID_G(ntohl(c.eqid_pkd))); t4_sge_alloc_ofld_txq()
2726 txq->adap = adap; t4_sge_alloc_ofld_txq()
2734 static void free_txq(struct adapter *adap, struct sge_txq *q) free_txq() argument
2736 struct sge *s = &adap->sge; free_txq()
2738 dma_free_coherent(adap->pdev_dev, free_txq()
2746 static void free_rspq_fl(struct adapter *adap, struct sge_rspq *rq, free_rspq_fl() argument
2749 struct sge *s = &adap->sge; free_rspq_fl()
2752 adap->sge.ingr_map[rq->cntxt_id - adap->sge.ingr_start] = NULL; free_rspq_fl()
2753 t4_iq_free(adap, adap->fn, adap->fn, 0, FW_IQ_TYPE_FL_INT_CAP, free_rspq_fl()
2755 dma_free_coherent(adap->pdev_dev, (rq->size + 1) * rq->iqe_len, free_rspq_fl()
2764 free_rx_bufs(adap, fl, fl->avail); free_rspq_fl()
2765 dma_free_coherent(adap->pdev_dev, fl->size * 8 + s->stat_len, free_rspq_fl()
2776 * @adap: the adapter
2782 void t4_free_ofld_rxqs(struct adapter *adap, int n, struct sge_ofld_rxq *q) t4_free_ofld_rxqs() argument
2786 free_rspq_fl(adap, &q->rspq, t4_free_ofld_rxqs()
2792 * @adap: the adapter
2796 void t4_free_sge_resources(struct adapter *adap) t4_free_sge_resources() argument
2799 struct sge_eth_rxq *eq = adap->sge.ethrxq; t4_free_sge_resources()
2800 struct sge_eth_txq *etq = adap->sge.ethtxq; t4_free_sge_resources()
2803 for (i = 0; i < adap->sge.ethqsets; i++, eq++, etq++) { t4_free_sge_resources()
2805 free_rspq_fl(adap, &eq->rspq, t4_free_sge_resources()
2808 t4_eth_eq_free(adap, adap->fn, adap->fn, 0, t4_free_sge_resources()
2810 free_tx_desc(adap, &etq->q, etq->q.in_use, true); t4_free_sge_resources()
2812 free_txq(adap, &etq->q); t4_free_sge_resources()
2817 t4_free_ofld_rxqs(adap, adap->sge.ofldqsets, adap->sge.ofldrxq); t4_free_sge_resources()
2818 t4_free_ofld_rxqs(adap, adap->sge.rdmaqs, adap->sge.rdmarxq); t4_free_sge_resources()
2819 t4_free_ofld_rxqs(adap, adap->sge.rdmaciqs, adap->sge.rdmaciq); t4_free_sge_resources()
2822 for (i = 0; i < ARRAY_SIZE(adap->sge.ofldtxq); i++) { t4_free_sge_resources()
2823 struct sge_ofld_txq *q = &adap->sge.ofldtxq[i]; t4_free_sge_resources()
2827 t4_ofld_eq_free(adap, adap->fn, adap->fn, 0, t4_free_sge_resources()
2829 free_tx_desc(adap, &q->q, q->q.in_use, false); t4_free_sge_resources()
2832 free_txq(adap, &q->q); t4_free_sge_resources()
2837 for (i = 0; i < ARRAY_SIZE(adap->sge.ctrlq); i++) { t4_free_sge_resources()
2838 struct sge_ctrl_txq *cq = &adap->sge.ctrlq[i]; t4_free_sge_resources()
2842 t4_ctrl_eq_free(adap, adap->fn, adap->fn, 0, t4_free_sge_resources()
2845 free_txq(adap, &cq->q); t4_free_sge_resources()
2849 if (adap->sge.fw_evtq.desc) t4_free_sge_resources()
2850 free_rspq_fl(adap, &adap->sge.fw_evtq, NULL); t4_free_sge_resources()
2852 if (adap->sge.intrq.desc) t4_free_sge_resources()
2853 free_rspq_fl(adap, &adap->sge.intrq, NULL); t4_free_sge_resources()
2856 memset(adap->sge.egr_map, 0, t4_free_sge_resources()
2857 adap->sge.egr_sz * sizeof(*adap->sge.egr_map)); t4_free_sge_resources()
2860 void t4_sge_start(struct adapter *adap) t4_sge_start() argument
2862 adap->sge.ethtxq_rover = 0; t4_sge_start()
2863 mod_timer(&adap->sge.rx_timer, jiffies + RX_QCHECK_PERIOD); t4_sge_start()
2864 mod_timer(&adap->sge.tx_timer, jiffies + TX_QCHECK_PERIOD); t4_sge_start()
2869 * @adap: the adapter
2875 void t4_sge_stop(struct adapter *adap) t4_sge_stop() argument
2878 struct sge *s = &adap->sge; t4_sge_stop()
2904 * @adap: the adapter
2910 static int t4_sge_init_soft(struct adapter *adap) t4_sge_init_soft() argument
2912 struct sge *s = &adap->sge; t4_sge_init_soft()
2922 if ((t4_read_reg(adap, SGE_CONTROL_A) & RXPKTCPLMODE_F) != t4_sge_init_soft()
2924 dev_err(adap->pdev_dev, "bad SGE CPL MODE\n"); t4_sge_init_soft()
2937 t4_read_reg(adap, SGE_FL_BUFFER_SIZE0_A+(x)*sizeof(u32)) t4_sge_init_soft()
2957 dev_err(adap->pdev_dev, "bad SGE FL page buffer sizes [%d, %d]\n", t4_sge_init_soft()
2964 if (fl_small_mtu < FL_MTU_SMALL_BUFSIZE(adap) || t4_sge_init_soft()
2965 fl_large_mtu < FL_MTU_LARGE_BUFSIZE(adap)) { t4_sge_init_soft()
2966 dev_err(adap->pdev_dev, "bad SGE FL MTU sizes [%d, %d]\n", t4_sge_init_soft()
2975 timer_value_0_and_1 = t4_read_reg(adap, SGE_TIMER_VALUE_0_AND_1_A); t4_sge_init_soft()
2976 timer_value_2_and_3 = t4_read_reg(adap, SGE_TIMER_VALUE_2_AND_3_A); t4_sge_init_soft()
2977 timer_value_4_and_5 = t4_read_reg(adap, SGE_TIMER_VALUE_4_AND_5_A); t4_sge_init_soft()
2978 s->timer_val[0] = core_ticks_to_us(adap, t4_sge_init_soft()
2980 s->timer_val[1] = core_ticks_to_us(adap, t4_sge_init_soft()
2982 s->timer_val[2] = core_ticks_to_us(adap, t4_sge_init_soft()
2984 s->timer_val[3] = core_ticks_to_us(adap, t4_sge_init_soft()
2986 s->timer_val[4] = core_ticks_to_us(adap, t4_sge_init_soft()
2988 s->timer_val[5] = core_ticks_to_us(adap, t4_sge_init_soft()
2991 ingress_rx_threshold = t4_read_reg(adap, SGE_INGRESS_RX_THRESHOLD_A); t4_sge_init_soft()
3002 * @adap: the adapter
3007 int t4_sge_init(struct adapter *adap) t4_sge_init() argument
3009 struct sge *s = &adap->sge; t4_sge_init()
3018 sge_control = t4_read_reg(adap, SGE_CONTROL_A); t4_sge_init()
3030 if (is_t4(adap->params.chip)) { t4_sge_init()
3036 sge_control2 = t4_read_reg(adap, SGE_CONTROL2_A); t4_sge_init()
3047 ret = t4_sge_init_soft(adap); t4_sge_init()
3063 sge_conm_ctrl = t4_read_reg(adap, SGE_CONM_CTRL_A); t4_sge_init()
3064 if (is_t4(adap->params.chip)) t4_sge_init()
3070 setup_timer(&s->rx_timer, sge_rx_timer_cb, (unsigned long)adap); t4_sge_init()
3071 setup_timer(&s->tx_timer, sge_tx_timer_cb, (unsigned long)adap); t4_sge_init()
3072 s->idma_1s_thresh = core_ticks_per_usec(adap) * 1000000; /* 1 s */ t4_sge_init()
H A Dt4_hw.c102 * @adap: the adapter
112 void t4_read_indirect(struct adapter *adap, unsigned int addr_reg, t4_read_indirect() argument
117 t4_write_reg(adap, addr_reg, start_idx); t4_read_indirect()
118 *vals++ = t4_read_reg(adap, data_reg); t4_read_indirect()
125 * @adap: the adapter
135 void t4_write_indirect(struct adapter *adap, unsigned int addr_reg, t4_write_indirect() argument
140 t4_write_reg(adap, addr_reg, start_idx++); t4_write_indirect()
141 t4_write_reg(adap, data_reg, *vals++); t4_write_indirect()
151 void t4_hw_pci_read_cfg4(struct adapter *adap, int reg, u32 *val) t4_hw_pci_read_cfg4() argument
153 u32 req = ENABLE_F | FUNCTION_V(adap->fn) | REGISTER_V(reg); t4_hw_pci_read_cfg4()
155 if (is_t4(adap->params.chip)) t4_hw_pci_read_cfg4()
158 t4_write_reg(adap, PCIE_CFG_SPACE_REQ_A, req); t4_hw_pci_read_cfg4()
159 *val = t4_read_reg(adap, PCIE_CFG_SPACE_DATA_A); t4_hw_pci_read_cfg4()
166 t4_write_reg(adap, PCIE_CFG_SPACE_REQ_A, 0); t4_hw_pci_read_cfg4()
171 * @adap: the adapter
177 static void t4_report_fw_error(struct adapter *adap) t4_report_fw_error() argument
191 pcie_fw = t4_read_reg(adap, PCIE_FW_A); t4_report_fw_error()
193 dev_err(adap->pdev_dev, "Firmware reports adapter error: %s\n", t4_report_fw_error()
200 static void get_mbox_rpl(struct adapter *adap, __be64 *rpl, int nflit, get_mbox_rpl() argument
204 *rpl++ = cpu_to_be64(t4_read_reg64(adap, mbox_addr)); get_mbox_rpl()
210 static void fw_asrt(struct adapter *adap, u32 mbox_addr) fw_asrt() argument
214 get_mbox_rpl(adap, (__be64 *)&asrt, sizeof(asrt) / 8, mbox_addr); fw_asrt()
215 dev_alert(adap->pdev_dev, fw_asrt()
221 static void dump_mbox(struct adapter *adap, int mbox, u32 data_reg) dump_mbox() argument
223 dev_err(adap->pdev_dev, dump_mbox()
225 (unsigned long long)t4_read_reg64(adap, data_reg), dump_mbox()
226 (unsigned long long)t4_read_reg64(adap, data_reg + 8), dump_mbox()
227 (unsigned long long)t4_read_reg64(adap, data_reg + 16), dump_mbox()
228 (unsigned long long)t4_read_reg64(adap, data_reg + 24), dump_mbox()
229 (unsigned long long)t4_read_reg64(adap, data_reg + 32), dump_mbox()
230 (unsigned long long)t4_read_reg64(adap, data_reg + 40), dump_mbox()
231 (unsigned long long)t4_read_reg64(adap, data_reg + 48), dump_mbox()
232 (unsigned long long)t4_read_reg64(adap, data_reg + 56)); dump_mbox()
237 * @adap: the adapter
257 int t4_wr_mbox_meat(struct adapter *adap, int mbox, const void *cmd, int size, t4_wr_mbox_meat() argument
278 if (adap->pdev->error_state != pci_channel_io_normal) t4_wr_mbox_meat()
281 v = MBOWNER_G(t4_read_reg(adap, ctl_reg)); t4_wr_mbox_meat()
283 v = MBOWNER_G(t4_read_reg(adap, ctl_reg)); t4_wr_mbox_meat()
289 t4_write_reg64(adap, data_reg + i, be64_to_cpu(*p++)); t4_wr_mbox_meat()
291 t4_write_reg(adap, ctl_reg, MBMSGVALID_F | MBOWNER_V(MBOX_OWNER_FW)); t4_wr_mbox_meat()
292 t4_read_reg(adap, ctl_reg); /* flush write */ t4_wr_mbox_meat()
306 v = t4_read_reg(adap, ctl_reg); t4_wr_mbox_meat()
309 t4_write_reg(adap, ctl_reg, 0); t4_wr_mbox_meat()
313 res = t4_read_reg64(adap, data_reg); t4_wr_mbox_meat()
315 fw_asrt(adap, data_reg); t4_wr_mbox_meat()
318 get_mbox_rpl(adap, rpl, size / 8, data_reg); t4_wr_mbox_meat()
322 dump_mbox(adap, mbox, data_reg); t4_wr_mbox_meat()
323 t4_write_reg(adap, ctl_reg, 0); t4_wr_mbox_meat()
328 dump_mbox(adap, mbox, data_reg); t4_wr_mbox_meat()
329 dev_err(adap->pdev_dev, "command %#x in mailbox %d timed out\n", t4_wr_mbox_meat()
331 t4_report_fw_error(adap); t4_wr_mbox_meat()
337 * @adap: the adapter
347 int t4_mc_read(struct adapter *adap, int idx, u32 addr, __be32 *data, u64 *ecc) t4_mc_read() argument
353 if (is_t4(adap->params.chip)) { t4_mc_read()
367 if (t4_read_reg(adap, mc_bist_cmd) & START_BIST_F) t4_mc_read()
369 t4_write_reg(adap, mc_bist_cmd_addr, addr & ~0x3fU); t4_mc_read()
370 t4_write_reg(adap, mc_bist_cmd_len, 64); t4_mc_read()
371 t4_write_reg(adap, mc_bist_data_pattern, 0xc); t4_mc_read()
372 t4_write_reg(adap, mc_bist_cmd, BIST_OPCODE_V(1) | START_BIST_F | t4_mc_read()
374 i = t4_wait_op_done(adap, mc_bist_cmd, START_BIST_F, 0, 10, 1); t4_mc_read()
381 *data++ = htonl(t4_read_reg(adap, MC_DATA(i))); t4_mc_read()
383 *ecc = t4_read_reg64(adap, MC_DATA(16)); t4_mc_read()
390 * @adap: the adapter
400 int t4_edc_read(struct adapter *adap, int idx, u32 addr, __be32 *data, u64 *ecc) t4_edc_read() argument
406 if (is_t4(adap->params.chip)) { t4_edc_read()
424 if (t4_read_reg(adap, edc_bist_cmd) & START_BIST_F) t4_edc_read()
426 t4_write_reg(adap, edc_bist_cmd_addr, addr & ~0x3fU); t4_edc_read()
427 t4_write_reg(adap, edc_bist_cmd_len, 64); t4_edc_read()
428 t4_write_reg(adap, edc_bist_cmd_data_pattern, 0xc); t4_edc_read()
429 t4_write_reg(adap, edc_bist_cmd, t4_edc_read()
431 i = t4_wait_op_done(adap, edc_bist_cmd, START_BIST_F, 0, 10, 1); t4_edc_read()
438 *data++ = htonl(t4_read_reg(adap, EDC_DATA(i))); t4_edc_read()
440 *ecc = t4_read_reg64(adap, EDC_DATA(16)); t4_edc_read()
447 * @adap: the adapter
462 int t4_memory_rw(struct adapter *adap, int win, int mtype, u32 addr, t4_memory_rw() argument
490 edc_size = EDRAM0_SIZE_G(t4_read_reg(adap, MA_EDRAM0_BAR_A)); t4_memory_rw()
494 mc_size = EXT_MEM0_SIZE_G(t4_read_reg(adap, t4_memory_rw()
510 mem_reg = t4_read_reg(adap, t4_memory_rw()
515 if (is_t4(adap->params.chip)) t4_memory_rw()
516 mem_base -= adap->t4_bar0; t4_memory_rw()
517 win_pf = is_t4(adap->params.chip) ? 0 : PFNUM_V(adap->fn); t4_memory_rw()
529 t4_write_reg(adap, t4_memory_rw()
532 t4_read_reg(adap, t4_memory_rw()
571 *buf++ = le32_to_cpu((__force __le32)t4_read_reg(adap, t4_memory_rw()
574 t4_write_reg(adap, mem_base + offset, t4_memory_rw()
588 t4_write_reg(adap, t4_memory_rw()
591 t4_read_reg(adap, t4_memory_rw()
612 (__force __le32)t4_read_reg(adap, t4_memory_rw()
620 t4_write_reg(adap, mem_base + offset, t4_memory_rw()
653 * @adap: the adapter
661 void t4_get_regs(struct adapter *adap, void *buf, size_t buf_size) t4_get_regs() argument
1315 unsigned int chip_version = CHELSIO_CHIP_VERSION(adap->params.chip); t4_get_regs()
1332 dev_err(adap->pdev_dev, t4_get_regs()
1350 *bufp++ = t4_read_reg(adap, reg); t4_get_regs()
1723 int t4_get_exprom_version(struct adapter *adap, u32 *vers) t4_get_exprom_version() argument
1733 ret = t4_read_flash(adap, FLASH_EXP_ROM_START, t4_get_exprom_version()
1773 static int should_install_fs_fw(struct adapter *adap, int card_fw_usable, should_install_fs_fw() argument
1791 dev_err(adap->pdev_dev, "firmware on card (%u.%u.%u.%u) is %s, " should_install_fs_fw()
1801 int t4_prep_fw(struct adapter *adap, struct fw_info *fw_info, t4_prep_fw() argument
1813 ret = -t4_read_flash(adap, FLASH_FW_START, t4_prep_fw()
1819 dev_err(adap->pdev_dev, t4_prep_fw()
1839 should_install_fs_fw(adap, card_fw_usable, t4_prep_fw()
1842 ret = -t4_fw_upgrade(adap, adap->mbox, fw_data, t4_prep_fw()
1845 dev_err(adap->pdev_dev, t4_prep_fw()
1863 dev_err(adap->pdev_dev, "Cannot find a usable firmware: " t4_prep_fw()
1879 adap->params.fw_vers = be32_to_cpu(card_fw->fw_ver); t4_prep_fw()
1880 adap->params.tp_vers = be32_to_cpu(card_fw->tp_microcode_ver); t4_prep_fw()
1937 static bool t4_fw_matches_chip(const struct adapter *adap, t4_fw_matches_chip() argument
1943 if ((is_t4(adap->params.chip) && hdr->chip == FW_HDR_CHIP_T4) || t4_fw_matches_chip()
1944 (is_t5(adap->params.chip) && hdr->chip == FW_HDR_CHIP_T5)) t4_fw_matches_chip()
1947 dev_err(adap->pdev_dev, t4_fw_matches_chip()
1949 hdr->chip, CHELSIO_CHIP_VERSION(adap->params.chip)); t4_fw_matches_chip()
1955 * @adap: the adapter
1961 int t4_load_fw(struct adapter *adap, const u8 *fw_data, unsigned int size) t4_load_fw() argument
1969 unsigned int sf_sec_size = adap->params.sf_size / adap->params.sf_nsec; t4_load_fw()
1970 unsigned int fw_img_start = adap->params.sf_fw_start; t4_load_fw()
1974 dev_err(adap->pdev_dev, "FW image has no data\n"); t4_load_fw()
1978 dev_err(adap->pdev_dev, t4_load_fw()
1983 dev_err(adap->pdev_dev, t4_load_fw()
1988 dev_err(adap->pdev_dev, "FW image too large, max is %u bytes\n", t4_load_fw()
1992 if (!t4_fw_matches_chip(adap, hdr)) t4_load_fw()
1999 dev_err(adap->pdev_dev, t4_load_fw()
2005 ret = t4_flash_erase_sectors(adap, fw_start_sec, fw_start_sec + i - 1); t4_load_fw()
2016 ret = t4_write_flash(adap, fw_img_start, SF_PAGE_SIZE, first_page); t4_load_fw()
2024 ret = t4_write_flash(adap, addr, SF_PAGE_SIZE, fw_data); t4_load_fw()
2029 ret = t4_write_flash(adap, t4_load_fw()
2034 dev_err(adap->pdev_dev, "firmware download failed, error %d\n", t4_load_fw()
2037 ret = t4_get_fw_version(adap, &adap->params.fw_vers); t4_load_fw()
2043 * @adap: the adapter
2046 int t4_fwcache(struct adapter *adap, enum fw_params_param_dev_fwcache op) t4_fwcache() argument
2054 FW_PARAMS_CMD_PFN_V(adap->fn) | t4_fwcache()
2062 return t4_wr_mbox(adap, adap->mbox, &c, sizeof(c), NULL); t4_fwcache()
2065 void t4_ulprx_read_la(struct adapter *adap, u32 *la_buf) t4_ulprx_read_la() argument
2072 t4_write_reg(adap, ULP_RX_LA_CTL_A, i); t4_ulprx_read_la()
2073 j = t4_read_reg(adap, ULP_RX_LA_WRPTR_A); t4_ulprx_read_la()
2074 t4_write_reg(adap, ULP_RX_LA_RDPTR_A, j); t4_ulprx_read_la()
2076 *p = t4_read_reg(adap, ULP_RX_LA_RDDATA_A); t4_ulprx_read_la()
2097 int t4_link_start(struct adapter *adap, unsigned int mbox, unsigned int port, t4_link_start() argument
2124 return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL); t4_link_start()
2129 * @adap: the adapter
2135 int t4_restart_aneg(struct adapter *adap, unsigned int mbox, unsigned int port) t4_restart_aneg() argument
2145 return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL); t4_restart_aneg()
2148 typedef void (*int_handler_t)(struct adapter *adap);
2548 static void le_intr_handler(struct adapter *adap) le_intr_handler() argument
2559 if (t4_handle_intr_status(adap, LE_DB_INT_CAUSE_A, le_intr_info)) le_intr_handler()
2560 t4_fatal_err(adap); le_intr_handler()
2686 static void ma_intr_handler(struct adapter *adap) ma_intr_handler() argument
2688 u32 v, status = t4_read_reg(adap, MA_INT_CAUSE_A); ma_intr_handler()
2691 dev_alert(adap->pdev_dev, ma_intr_handler()
2693 t4_read_reg(adap, MA_PARITY_ERROR_STATUS1_A)); ma_intr_handler()
2694 if (is_t5(adap->params.chip)) ma_intr_handler()
2695 dev_alert(adap->pdev_dev, ma_intr_handler()
2697 t4_read_reg(adap, ma_intr_handler()
2701 v = t4_read_reg(adap, MA_INT_WRAP_STATUS_A); ma_intr_handler()
2702 dev_alert(adap->pdev_dev, "MA address wrap-around error by " ma_intr_handler()
2707 t4_write_reg(adap, MA_INT_CAUSE_A, status); ma_intr_handler()
2708 t4_fatal_err(adap); ma_intr_handler()
2714 static void smb_intr_handler(struct adapter *adap) smb_intr_handler() argument
2723 if (t4_handle_intr_status(adap, SMB_INT_CAUSE_A, smb_intr_info)) smb_intr_handler()
2724 t4_fatal_err(adap); smb_intr_handler()
2730 static void ncsi_intr_handler(struct adapter *adap) ncsi_intr_handler() argument
2740 if (t4_handle_intr_status(adap, NCSI_INT_CAUSE_A, ncsi_intr_info)) ncsi_intr_handler()
2741 t4_fatal_err(adap); ncsi_intr_handler()
2747 static void xgmac_intr_handler(struct adapter *adap, int port) xgmac_intr_handler() argument
2751 if (is_t4(adap->params.chip)) xgmac_intr_handler()
2756 v = t4_read_reg(adap, int_cause_reg); xgmac_intr_handler()
2763 dev_alert(adap->pdev_dev, "XGMAC %d Tx FIFO parity error\n", xgmac_intr_handler()
2766 dev_alert(adap->pdev_dev, "XGMAC %d Rx FIFO parity error\n", xgmac_intr_handler()
2768 t4_write_reg(adap, PORT_REG(port, XGMAC_PORT_INT_CAUSE_A), v); xgmac_intr_handler()
2769 t4_fatal_err(adap); xgmac_intr_handler()
2775 static void pl_intr_handler(struct adapter *adap) pl_intr_handler() argument
2783 if (t4_handle_intr_status(adap, PL_PL_INT_CAUSE_A, pl_intr_info)) pl_intr_handler()
2784 t4_fatal_err(adap); pl_intr_handler()
3018 static int rd_rss_row(struct adapter *adap, int row, u32 *val) rd_rss_row() argument
3020 t4_write_reg(adap, TP_RSS_LKP_TABLE_A, 0xfff00000 | row); rd_rss_row()
3021 return t4_wait_op_done_val(adap, TP_RSS_LKP_TABLE_A, LKPTBLROWVLD_F, 1, rd_rss_row()
3049 * @adap: the adapter
3054 void t4_read_rss_key(struct adapter *adap, u32 *key) t4_read_rss_key() argument
3056 t4_read_indirect(adap, TP_PIO_ADDR_A, TP_PIO_DATA_A, key, 10, t4_read_rss_key()
3062 * @adap: the adapter
3070 void t4_write_rss_key(struct adapter *adap, const u32 *key, int idx) t4_write_rss_key() argument
3072 t4_write_indirect(adap, TP_PIO_ADDR_A, TP_PIO_DATA_A, key, 10, t4_write_rss_key()
3075 t4_write_reg(adap, TP_RSS_CONFIG_VRT_A, t4_write_rss_key()
3160 * @adap: the adapter
3167 void t4_tp_get_tcp_stats(struct adapter *adap, struct tp_tcp_stats *v4, t4_tp_get_tcp_stats() argument
3177 t4_read_indirect(adap, TP_MIB_INDEX_A, TP_MIB_DATA_A, val, t4_tp_get_tcp_stats()
3185 t4_read_indirect(adap, TP_MIB_INDEX_A, TP_MIB_DATA_A, val, t4_tp_get_tcp_stats()
3199 * @adap: the adapter
3205 void t4_read_mtu_tbl(struct adapter *adap, u16 *mtus, u8 *mtu_log) t4_read_mtu_tbl() argument
3211 t4_write_reg(adap, TP_MTU_TABLE_A, t4_read_mtu_tbl()
3213 v = t4_read_reg(adap, TP_MTU_TABLE_A); t4_read_mtu_tbl()
3222 * @adap: the adapter
3228 void t4_read_cong_tbl(struct adapter *adap, u16 incr[NMTUS][NCCTRL_WIN]) t4_read_cong_tbl() argument
3234 t4_write_reg(adap, TP_CCTRL_TABLE_A, t4_read_cong_tbl()
3236 incr[mtu][w] = (u16)t4_read_reg(adap, t4_read_cong_tbl()
3243 * @adap: the adapter
3250 void t4_tp_wr_bits_indirect(struct adapter *adap, unsigned int addr, t4_tp_wr_bits_indirect() argument
3253 t4_write_reg(adap, TP_PIO_ADDR_A, addr); t4_tp_wr_bits_indirect()
3254 val |= t4_read_reg(adap, TP_PIO_DATA_A) & ~mask; t4_tp_wr_bits_indirect()
3255 t4_write_reg(adap, TP_PIO_DATA_A, val); t4_tp_wr_bits_indirect()
3307 * @adap: the adapter
3317 void t4_load_mtus(struct adapter *adap, const unsigned short *mtus, t4_load_mtus() argument
3334 t4_write_reg(adap, TP_MTU_TABLE_A, MTUINDEX_V(i) | t4_load_mtus()
3343 t4_write_reg(adap, TP_CCTRL_TABLE_A, (i << 21) | t4_load_mtus()
3351 * @adap: the adapter
3357 void t4_pmtx_get_stats(struct adapter *adap, u32 cnt[], u64 cycles[]) t4_pmtx_get_stats() argument
3363 t4_write_reg(adap, PM_TX_STAT_CONFIG_A, i + 1); t4_pmtx_get_stats()
3364 cnt[i] = t4_read_reg(adap, PM_TX_STAT_COUNT_A); t4_pmtx_get_stats()
3365 if (is_t4(adap->params.chip)) { t4_pmtx_get_stats()
3366 cycles[i] = t4_read_reg64(adap, PM_TX_STAT_LSB_A); t4_pmtx_get_stats()
3368 t4_read_indirect(adap, PM_TX_DBG_CTRL_A, t4_pmtx_get_stats()
3378 * @adap: the adapter
3384 void t4_pmrx_get_stats(struct adapter *adap, u32 cnt[], u64 cycles[]) t4_pmrx_get_stats() argument
3390 t4_write_reg(adap, PM_RX_STAT_CONFIG_A, i + 1); t4_pmrx_get_stats()
3391 cnt[i] = t4_read_reg(adap, PM_RX_STAT_COUNT_A); t4_pmrx_get_stats()
3392 if (is_t4(adap->params.chip)) { t4_pmrx_get_stats()
3393 cycles[i] = t4_read_reg64(adap, PM_RX_STAT_LSB_A); t4_pmrx_get_stats()
3395 t4_read_indirect(adap, PM_RX_DBG_CTRL_A, t4_pmrx_get_stats()
3405 * @adap: the adapter
3412 static unsigned int get_mps_bg_map(struct adapter *adap, int idx) get_mps_bg_map() argument
3414 u32 n = NUMPORTS_G(t4_read_reg(adap, MPS_CMN_CTL_A)); get_mps_bg_map()
3455 * @adap: the adapter
3461 void t4_get_port_stats(struct adapter *adap, int idx, struct port_stats *p) t4_get_port_stats() argument
3463 u32 bgmap = get_mps_bg_map(adap, idx); t4_get_port_stats()
3466 t4_read_reg64(adap, \ t4_get_port_stats()
3467 (is_t4(adap->params.chip) ? PORT_REG(idx, MPS_PORT_STAT_##name##_L) : \ t4_get_port_stats()
3469 #define GET_STAT_COM(name) t4_read_reg64(adap, MPS_STAT_##name##_L) t4_get_port_stats()
3538 * @adap: the adapter
3544 void t4_wol_magic_enable(struct adapter *adap, unsigned int port, t4_wol_magic_enable() argument
3549 if (is_t4(adap->params.chip)) { t4_wol_magic_enable()
3560 t4_write_reg(adap, mag_id_reg_l, t4_wol_magic_enable()
3563 t4_write_reg(adap, mag_id_reg_h, t4_wol_magic_enable()
3566 t4_set_reg_field(adap, port_cfg_reg, MAGICEN_F, t4_wol_magic_enable()
3572 * @adap: the adapter
3585 int t4_wol_pat_enable(struct adapter *adap, unsigned int port, unsigned int map, t4_wol_pat_enable() argument
3591 if (is_t4(adap->params.chip)) t4_wol_pat_enable()
3597 t4_set_reg_field(adap, port_cfg_reg, PATEN_F, 0); t4_wol_pat_enable()
3604 (is_t4(adap->params.chip) ? \ t4_wol_pat_enable()
3608 t4_write_reg(adap, EPIO_REG(DATA1), mask0 >> 32); t4_wol_pat_enable()
3609 t4_write_reg(adap, EPIO_REG(DATA2), mask1); t4_wol_pat_enable()
3610 t4_write_reg(adap, EPIO_REG(DATA3), mask1 >> 32); t4_wol_pat_enable()
3617 t4_write_reg(adap, EPIO_REG(DATA0), mask0); t4_wol_pat_enable()
3618 t4_write_reg(adap, EPIO_REG(OP), ADDRESS_V(i) | EPIOWR_F); t4_wol_pat_enable()
3619 t4_read_reg(adap, EPIO_REG(OP)); /* flush */ t4_wol_pat_enable()
3620 if (t4_read_reg(adap, EPIO_REG(OP)) & SF_BUSY_F) t4_wol_pat_enable()
3624 t4_write_reg(adap, EPIO_REG(DATA0), crc); t4_wol_pat_enable()
3625 t4_write_reg(adap, EPIO_REG(OP), ADDRESS_V(i + 32) | EPIOWR_F); t4_wol_pat_enable()
3626 t4_read_reg(adap, EPIO_REG(OP)); /* flush */ t4_wol_pat_enable()
3627 if (t4_read_reg(adap, EPIO_REG(OP)) & SF_BUSY_F) t4_wol_pat_enable()
3632 t4_set_reg_field(adap, PORT_REG(port, XGMAC_PORT_CFG2_A), 0, PATEN_F); t4_wol_pat_enable()
3662 int t4_fwaddrspace_write(struct adapter *adap, unsigned int mbox, t4_fwaddrspace_write() argument
3675 return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL); t4_fwaddrspace_write()
3680 * @adap: the adapter
3689 int t4_mdio_rd(struct adapter *adap, unsigned int mbox, unsigned int phy_addr, t4_mdio_rd() argument
3703 ret = t4_wr_mbox(adap, mbox, &c, sizeof(c), &c); t4_mdio_rd()
3711 * @adap: the adapter
3720 int t4_mdio_wr(struct adapter *adap, unsigned int mbox, unsigned int phy_addr, t4_mdio_wr() argument
3734 return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL); t4_mdio_wr()
3739 * @adap: the adapter
3845 * @adap: the adapter
3854 int t4_fw_hello(struct adapter *adap, unsigned int mbox, unsigned int evt_mbox, t4_fw_hello() argument
3882 ret = t4_wr_mbox(adap, mbox, &c, sizeof(c), &c); t4_fw_hello()
3886 if (t4_read_reg(adap, PCIE_FW_A) & PCIE_FW_ERR_F) t4_fw_hello()
3887 t4_report_fw_error(adap); t4_fw_hello()
3936 pcie_fw = t4_read_reg(adap, PCIE_FW_A); t4_fw_hello()
3975 * @adap: the adapter
3980 int t4_fw_bye(struct adapter *adap, unsigned int mbox) t4_fw_bye() argument
3986 return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL); t4_fw_bye()
3991 * @adap: the adapter
3997 int t4_early_init(struct adapter *adap, unsigned int mbox) t4_early_init() argument
4003 return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL); t4_early_init()
4008 * @adap: the adapter
4014 int t4_fw_reset(struct adapter *adap, unsigned int mbox, int reset) t4_fw_reset() argument
4021 return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL); t4_fw_reset()
4026 * @adap: the adapter
4040 static int t4_fw_halt(struct adapter *adap, unsigned int mbox, int force) t4_fw_halt() argument
4055 ret = t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL); t4_fw_halt()
4072 t4_set_reg_field(adap, CIM_BOOT_CFG_A, UPCRST_F, UPCRST_F); t4_fw_halt()
4073 t4_set_reg_field(adap, PCIE_FW_A, PCIE_FW_HALT_F, t4_fw_halt()
4086 * @adap: the adapter
4105 static int t4_fw_restart(struct adapter *adap, unsigned int mbox, int reset) t4_fw_restart() argument
4113 t4_set_reg_field(adap, PCIE_FW_A, PCIE_FW_HALT_F, 0); t4_fw_restart()
4123 t4_set_reg_field(adap, CIM_BOOT_CFG_A, UPCRST_F, 0); t4_fw_restart()
4125 if (t4_fw_reset(adap, mbox, t4_fw_restart()
4130 t4_write_reg(adap, PL_RST_A, PIORST_F | PIORSTMODE_F); t4_fw_restart()
4135 t4_set_reg_field(adap, CIM_BOOT_CFG_A, UPCRST_F, 0); t4_fw_restart()
4137 if (!(t4_read_reg(adap, PCIE_FW_A) & PCIE_FW_HALT_F)) t4_fw_restart()
4149 * @adap: the adapter
4168 int t4_fw_upgrade(struct adapter *adap, unsigned int mbox, t4_fw_upgrade() argument
4174 if (!t4_fw_matches_chip(adap, fw_hdr)) t4_fw_upgrade()
4177 ret = t4_fw_halt(adap, mbox, force); t4_fw_upgrade()
4181 ret = t4_load_fw(adap, fw_data, size); t4_fw_upgrade()
4194 return t4_fw_restart(adap, mbox, reset); t4_fw_upgrade()
4199 * @adap: the adapter
4207 int t4_fixup_host_params(struct adapter *adap, unsigned int page_size, t4_fixup_host_params() argument
4216 t4_write_reg(adap, SGE_HOST_PAGE_SIZE_A, t4_fixup_host_params()
4226 if (is_t4(adap->params.chip)) { t4_fixup_host_params()
4227 t4_set_reg_field(adap, SGE_CONTROL_A, t4_fixup_host_params()
4262 t4_set_reg_field(adap, SGE_CONTROL_A, t4_fixup_host_params()
4267 t4_set_reg_field(adap, SGE_CONTROL2_A, t4_fixup_host_params()
4293 t4_write_reg(adap, SGE_FL_BUFFER_SIZE0_A, page_size); t4_fixup_host_params()
4294 t4_write_reg(adap, SGE_FL_BUFFER_SIZE2_A, t4_fixup_host_params()
4295 (t4_read_reg(adap, SGE_FL_BUFFER_SIZE2_A) + fl_align-1) t4_fixup_host_params()
4297 t4_write_reg(adap, SGE_FL_BUFFER_SIZE3_A, t4_fixup_host_params()
4298 (t4_read_reg(adap, SGE_FL_BUFFER_SIZE3_A) + fl_align-1) t4_fixup_host_params()
4301 t4_write_reg(adap, ULP_RX_TDDP_PSZ_A, HPZ0_V(page_shift - 12)); t4_fixup_host_params()
4308 * @adap: the adapter
4314 int t4_fw_initialize(struct adapter *adap, unsigned int mbox) t4_fw_initialize() argument
4320 return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL); t4_fw_initialize()
4325 * @adap: the adapter
4336 int t4_query_params(struct adapter *adap, unsigned int mbox, unsigned int pf, t4_query_params() argument
4355 ret = t4_wr_mbox(adap, mbox, &c, sizeof(c), &c); t4_query_params()
4364 * @adap: the adapter
4376 int t4_set_params_nosleep(struct adapter *adap, unsigned int mbox, t4_set_params_nosleep() argument
4399 return t4_wr_mbox_ns(adap, mbox, &c, sizeof(c), NULL); t4_set_params_nosleep()
4404 * @adap: the adapter
4415 int t4_set_params(struct adapter *adap, unsigned int mbox, unsigned int pf, t4_set_params() argument
4435 return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL); t4_set_params()
4440 * @adap: the adapter
4459 int t4_cfg_pfvf(struct adapter *adap, unsigned int mbox, unsigned int pf, t4_cfg_pfvf() argument
4482 return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL); t4_cfg_pfvf()
4487 * @adap: the adapter
4502 int t4_alloc_vi(struct adapter *adap, unsigned int mbox, unsigned int port, t4_alloc_vi() argument
4517 ret = t4_wr_mbox(adap, mbox, &c, sizeof(c), &c); t4_alloc_vi()
4541 * @adap: the adapter
4553 int t4_set_rxmode(struct adapter *adap, unsigned int mbox, unsigned int viid, t4_set_rxmode() argument
4580 return t4_wr_mbox_meat(adap, mbox, &c, sizeof(c), NULL, sleep_ok); t4_set_rxmode()
4585 * @adap: the adapter
4605 int t4_alloc_mac_filt(struct adapter *adap, unsigned int mbox, t4_alloc_mac_filt() argument
4612 unsigned int max_naddr = is_t4(adap->params.chip) ? t4_alloc_mac_filt()
4632 ret = t4_wr_mbox_meat(adap, mbox, &c, sizeof(c), &c, sleep_ok); t4_alloc_mac_filt()
4651 * @adap: the adapter
4668 int t4_change_mac(struct adapter *adap, unsigned int mbox, unsigned int viid, t4_change_mac() argument
4674 unsigned int max_mac_addr = is_t4(adap->params.chip) ? t4_change_mac()
4691 ret = t4_wr_mbox(adap, mbox, &c, sizeof(c), &c); t4_change_mac()
4702 * @adap: the adapter
4711 int t4_set_addr_hash(struct adapter *adap, unsigned int mbox, unsigned int viid, t4_set_addr_hash() argument
4723 return t4_wr_mbox_meat(adap, mbox, &c, sizeof(c), NULL, sleep_ok); t4_set_addr_hash()
4728 * @adap: the adapter
4738 int t4_enable_vi_params(struct adapter *adap, unsigned int mbox, t4_enable_vi_params() argument
4750 return t4_wr_mbox_ns(adap, mbox, &c, sizeof(c), NULL); t4_enable_vi_params()
4755 * @adap: the adapter
4763 int t4_enable_vi(struct adapter *adap, unsigned int mbox, unsigned int viid, t4_enable_vi() argument
4766 return t4_enable_vi_params(adap, mbox, viid, rx_en, tx_en, 0); t4_enable_vi()
4771 * @adap: the adapter
4778 int t4_identify_port(struct adapter *adap, unsigned int mbox, unsigned int viid, t4_identify_port() argument
4788 return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL); t4_identify_port()
4793 * @adap: the adapter
4804 int t4_iq_free(struct adapter *adap, unsigned int mbox, unsigned int pf, t4_iq_free() argument
4819 return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL); t4_iq_free()
4824 * @adap: the adapter
4832 int t4_eth_eq_free(struct adapter *adap, unsigned int mbox, unsigned int pf, t4_eth_eq_free() argument
4843 return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL); t4_eth_eq_free()
4848 * @adap: the adapter
4856 int t4_ctrl_eq_free(struct adapter *adap, unsigned int mbox, unsigned int pf, t4_ctrl_eq_free() argument
4867 return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL); t4_ctrl_eq_free()
4872 * @adap: the adapter
4880 int t4_ofld_eq_free(struct adapter *adap, unsigned int mbox, unsigned int pf, t4_ofld_eq_free() argument
4891 return t4_wr_mbox(adap, mbox, &c, sizeof(c), NULL); t4_ofld_eq_free()
4896 * @adap: the adapter
4901 int t4_handle_fw_rpl(struct adapter *adap, const __be64 *rpl) t4_handle_fw_rpl() argument
4909 int port = adap->chan_map[chan]; t4_handle_fw_rpl()
4910 struct port_info *pi = adap2pinfo(adap, port); t4_handle_fw_rpl()
4935 t4_os_link_changed(adap, port, link_ok); t4_handle_fw_rpl()
4939 t4_os_portmod_changed(adap, port); t4_handle_fw_rpl()
5000 static int get_flash_params(struct adapter *adap) get_flash_params() argument
5012 ret = sf1_write(adap, 1, 1, 0, SF_RD_ID); get_flash_params()
5014 ret = sf1_read(adap, 3, 0, 1, &info); get_flash_params()
5015 t4_write_reg(adap, SF_OP_A, 0); /* unlock SF */ get_flash_params()
5021 adap->params.sf_size = supported_flash[ret].size_mb; get_flash_params()
5022 adap->params.sf_nsec = get_flash_params()
5023 adap->params.sf_size / SF_SEC_SIZE; get_flash_params()
5031 adap->params.sf_nsec = 1 << (info - 16); get_flash_params()
5033 adap->params.sf_nsec = 64; get_flash_params()
5036 adap->params.sf_size = 1 << info; get_flash_params()
5037 adap->params.sf_fw_start = get_flash_params()
5038 t4_read_reg(adap, CIM_BOOT_CFG_A) & BOOTADDR_M; get_flash_params()
5040 if (adap->params.sf_size < FLASH_MIN_SIZE) get_flash_params()
5041 dev_warn(adap->pdev_dev, "WARNING!!! FLASH size %#x < %#x!!!\n", get_flash_params()
5042 adap->params.sf_size, FLASH_MIN_SIZE); get_flash_params()
5191 * @adap: the adapter
5196 int t4_init_devlog_params(struct adapter *adap) t4_init_devlog_params() argument
5198 struct devlog_params *dparams = &adap->params.devlog; t4_init_devlog_params()
5209 t4_read_reg(adap, PCIE_FW_REG(PCIE_FW_PF_A, PCIE_FW_PF_DEVLOG)); t4_init_devlog_params()
5229 ret = t4_wr_mbox(adap, adap->mbox, &devlog_cmd, sizeof(devlog_cmd), t4_init_devlog_params()
5243 * t4_init_sge_params - initialize adap->params.sge
5274 * t4_init_tp_params - initialize adap->params.tp
5275 * @adap: the adapter
5279 int t4_init_tp_params(struct adapter *adap) t4_init_tp_params() argument
5284 v = t4_read_reg(adap, TP_TIMER_RESOLUTION_A); t4_init_tp_params()
5285 adap->params.tp.tre = TIMERRESOLUTION_G(v); t4_init_tp_params()
5286 adap->params.tp.dack_re = DELAYEDACKRESOLUTION_G(v); t4_init_tp_params()
5290 adap->params.tp.tx_modq[chan] = chan; t4_init_tp_params()
5295 t4_read_indirect(adap, TP_PIO_ADDR_A, TP_PIO_DATA_A, t4_init_tp_params()
5296 &adap->params.tp.vlan_pri_map, 1, t4_init_tp_params()
5298 t4_read_indirect(adap, TP_PIO_ADDR_A, TP_PIO_DATA_A, t4_init_tp_params()
5299 &adap->params.tp.ingress_config, 1, t4_init_tp_params()
5306 adap->params.tp.vlan_shift = t4_filter_field_shift(adap, VLAN_F); t4_init_tp_params()
5307 adap->params.tp.vnic_shift = t4_filter_field_shift(adap, VNIC_ID_F); t4_init_tp_params()
5308 adap->params.tp.port_shift = t4_filter_field_shift(adap, PORT_F); t4_init_tp_params()
5309 adap->params.tp.protocol_shift = t4_filter_field_shift(adap, t4_init_tp_params()
5315 if ((adap->params.tp.ingress_config & VNIC_F) == 0) t4_init_tp_params()
5316 adap->params.tp.vnic_shift = -1; t4_init_tp_params()
5323 * @adap: the adapter
5330 int t4_filter_field_shift(const struct adapter *adap, int filter_sel) t4_filter_field_shift() argument
5332 unsigned int filter_mode = adap->params.tp.vlan_pri_map; t4_filter_field_shift()
5376 int t4_port_init(struct adapter *adap, int mbox, int pf, int vf) t4_port_init() argument
5386 for_each_port(adap, i) { for_each_port()
5388 struct port_info *p = adap2pinfo(adap, i); for_each_port()
5390 while ((adap->params.portvec & (1 << j)) == 0) for_each_port()
5399 ret = t4_wr_mbox(adap, mbox, &c, sizeof(c), &c); for_each_port()
5403 ret = t4_alloc_vi(adap, mbox, j, pf, vf, 1, addr, &rss_size); for_each_port()
5411 memcpy(adap->port[i]->dev_addr, addr, ETH_ALEN); for_each_port()
5412 adap->port[i]->dev_port = j; for_each_port()
5424 ret = t4_wr_mbox(adap, mbox, &rvc, sizeof(rvc), &rvc); for_each_port()
5437 * @adap: the adapter
5445 void t4_read_cimq_cfg(struct adapter *adap, u16 *base, u16 *size, u16 *thres) t4_read_cimq_cfg() argument
5448 int cim_num_obq = is_t4(adap->params.chip) ? t4_read_cimq_cfg()
5452 t4_write_reg(adap, CIM_QUEUE_CONFIG_REF_A, IBQSELECT_F | t4_read_cimq_cfg()
5454 v = t4_read_reg(adap, CIM_QUEUE_CONFIG_CTRL_A); t4_read_cimq_cfg()
5461 t4_write_reg(adap, CIM_QUEUE_CONFIG_REF_A, OBQSELECT_F | t4_read_cimq_cfg()
5463 v = t4_read_reg(adap, CIM_QUEUE_CONFIG_CTRL_A); t4_read_cimq_cfg()
5472 * @adap: the adapter
5481 int t4_read_cim_ibq(struct adapter *adap, unsigned int qid, u32 *data, size_t n) t4_read_cim_ibq() argument
5500 t4_write_reg(adap, CIM_IBQ_DBG_CFG_A, IBQDBGADDR_V(addr) | t4_read_cim_ibq()
5502 err = t4_wait_op_done(adap, CIM_IBQ_DBG_CFG_A, IBQDBGBUSY_F, 0, t4_read_cim_ibq()
5506 *data++ = t4_read_reg(adap, CIM_IBQ_DBG_DATA_A); t4_read_cim_ibq()
5508 t4_write_reg(adap, CIM_IBQ_DBG_CFG_A, 0); t4_read_cim_ibq()
5514 * @adap: the adapter
5523 int t4_read_cim_obq(struct adapter *adap, unsigned int qid, u32 *data, size_t n) t4_read_cim_obq() argument
5527 int cim_num_obq = is_t4(adap->params.chip) ? t4_read_cim_obq()
5533 t4_write_reg(adap, CIM_QUEUE_CONFIG_REF_A, OBQSELECT_F | t4_read_cim_obq()
5535 v = t4_read_reg(adap, CIM_QUEUE_CONFIG_CTRL_A); t4_read_cim_obq()
5543 t4_write_reg(adap, CIM_OBQ_DBG_CFG_A, OBQDBGADDR_V(addr) | t4_read_cim_obq()
5545 err = t4_wait_op_done(adap, CIM_OBQ_DBG_CFG_A, OBQDBGBUSY_F, 0, t4_read_cim_obq()
5549 *data++ = t4_read_reg(adap, CIM_OBQ_DBG_DATA_A); t4_read_cim_obq()
5551 t4_write_reg(adap, CIM_OBQ_DBG_CFG_A, 0); t4_read_cim_obq()
5557 * @adap: the adapter
5564 int t4_cim_read(struct adapter *adap, unsigned int addr, unsigned int n, t4_cim_read() argument
5569 if (t4_read_reg(adap, CIM_HOST_ACC_CTRL_A) & HOSTBUSY_F) t4_cim_read()
5573 t4_write_reg(adap, CIM_HOST_ACC_CTRL_A, addr); t4_cim_read()
5574 ret = t4_wait_op_done(adap, CIM_HOST_ACC_CTRL_A, HOSTBUSY_F, t4_cim_read()
5577 *valp++ = t4_read_reg(adap, CIM_HOST_ACC_DATA_A); t4_cim_read()
5584 * @adap: the adapter
5591 int t4_cim_write(struct adapter *adap, unsigned int addr, unsigned int n, t4_cim_write() argument
5596 if (t4_read_reg(adap, CIM_HOST_ACC_CTRL_A) & HOSTBUSY_F) t4_cim_write()
5600 t4_write_reg(adap, CIM_HOST_ACC_DATA_A, *valp++); t4_cim_write()
5601 t4_write_reg(adap, CIM_HOST_ACC_CTRL_A, addr | HOSTWRITE_F); t4_cim_write()
5602 ret = t4_wait_op_done(adap, CIM_HOST_ACC_CTRL_A, HOSTBUSY_F, t4_cim_write()
5608 static int t4_cim_write1(struct adapter *adap, unsigned int addr, t4_cim_write1() argument
5611 return t4_cim_write(adap, addr, 1, &val); t4_cim_write1()
5616 * @adap: the adapter
5624 int t4_cim_read_la(struct adapter *adap, u32 *la_buf, unsigned int *wrptr) t4_cim_read_la() argument
5629 ret = t4_cim_read(adap, UP_UP_DBG_LA_CFG_A, 1, &cfg); t4_cim_read_la()
5634 ret = t4_cim_write1(adap, UP_UP_DBG_LA_CFG_A, 0); t4_cim_read_la()
5639 ret = t4_cim_read(adap, UP_UP_DBG_LA_CFG_A, 1, &val); t4_cim_read_la()
5647 for (i = 0; i < adap->params.cim_la_size; i++) { t4_cim_read_la()
5648 ret = t4_cim_write1(adap, UP_UP_DBG_LA_CFG_A, t4_cim_read_la()
5652 ret = t4_cim_read(adap, UP_UP_DBG_LA_CFG_A, 1, &val); t4_cim_read_la()
5659 ret = t4_cim_read(adap, UP_UP_DBG_LA_DATA_A, 1, &la_buf[i]); t4_cim_read_la()
5666 int r = t4_cim_write1(adap, UP_UP_DBG_LA_CFG_A, t4_cim_read_la()
5676 * @adap: the adapter
5684 void t4_tp_read_la(struct adapter *adap, u64 *la_buf, unsigned int *wrptr) t4_tp_read_la() argument
5689 cfg = t4_read_reg(adap, TP_DBG_LA_CONFIG_A) & 0xffff; t4_tp_read_la()
5691 t4_write_reg(adap, TP_DBG_LA_CONFIG_A, t4_tp_read_la()
5692 adap->params.tp.la_mask | (cfg ^ DBGLAENABLE_F)); t4_tp_read_la()
5694 val = t4_read_reg(adap, TP_DBG_LA_CONFIG_A); t4_tp_read_la()
5704 val |= adap->params.tp.la_mask; t4_tp_read_la()
5707 t4_write_reg(adap, TP_DBG_LA_CONFIG_A, DBGLARPTR_V(idx) | val); t4_tp_read_la()
5708 la_buf[i] = t4_read_reg64(adap, TP_DBG_LA_DATAL_A); t4_tp_read_la()
5717 t4_write_reg(adap, TP_DBG_LA_CONFIG_A, t4_tp_read_la()
5718 cfg | adap->params.tp.la_mask); t4_tp_read_la()
H A Dcxgb4_debugfs.c159 struct adapter *adap = inode->i_private; cim_la_open() local
161 ret = t4_cim_read(adap, UP_UP_DBG_LA_CFG_A, 1, &cfg); cim_la_open()
165 p = seq_open_tab(file, adap->params.cim_la_size / 8, 8 * sizeof(u32), 1, cim_la_open()
171 ret = t4_cim_read_la(adap, (u32 *)p->data, NULL); cim_la_open()
194 struct adapter *adap = seq->private; cim_qcfg_show() local
202 int cim_num_obq = is_t4(adap->params.chip) ? cim_qcfg_show()
205 i = t4_cim_read(adap, is_t4(adap->params.chip) ? UP_IBQ_0_RDADDR_A : cim_qcfg_show()
209 if (is_t4(adap->params.chip)) { cim_qcfg_show()
210 i = t4_cim_read(adap, UP_OBQ_0_REALADDR_A, cim_qcfg_show()
214 i = t4_cim_read(adap, UP_OBQ_0_SHADOW_REALADDR_A, cim_qcfg_show()
222 t4_read_cimq_cfg(adap, base, size, thres); cim_qcfg_show()
268 struct adapter *adap = inode->i_private - qid; cim_ibq_open() local
274 ret = t4_read_cim_ibq(adap, qid, (u32 *)p->data, CIM_IBQ_SIZE * 4); cim_ibq_open()
295 struct adapter *adap = inode->i_private - qid; cim_obq_open() local
301 ret = t4_read_cim_obq(adap, qid, (u32 *)p->data, 6 * CIM_OBQ_SIZE * 4); cim_obq_open()
513 struct adapter *adap = inode->i_private; tp_la_open() local
515 switch (DBGLAMODE_G(t4_read_reg(adap, TP_DBG_LA_CONFIG_A))) { tp_la_open()
530 t4_tp_read_la(adap, (u64 *)p->data, NULL); tp_la_open()
541 struct adapter *adap = file_inode(file)->i_private; tp_la_write() local
551 adap->params.tp.la_mask = val << 16; tp_la_write()
552 t4_set_reg_field(adap, TP_DBG_LA_CONFIG_A, 0xffff0000U, tp_la_write()
553 adap->params.tp.la_mask); tp_la_write()
582 struct adapter *adap = inode->i_private; ulprx_la_open() local
589 t4_ulprx_read_la(adap, (u32 *)p->data); ulprx_la_open()
625 struct adapter *adap = seq->private; pm_stats_show() local
627 t4_pmtx_get_stats(adap, tx_cnt, tx_cyc); pm_stats_show()
628 t4_pmrx_get_stats(adap, rx_cnt, rx_cyc); pm_stats_show()
650 struct adapter *adap = file_inode(file)->i_private; pm_stats_clear() local
652 t4_write_reg(adap, PM_RX_STAT_CONFIG_A, 0); pm_stats_clear()
653 t4_write_reg(adap, PM_TX_STAT_CONFIG_A, 0); pm_stats_clear()
674 struct adapter *adap = seq->private; cctrl_tbl_show() local
680 t4_read_cong_tbl(adap, incr); cctrl_tbl_show()
689 adap->params.a_wnd[i], cctrl_tbl_show()
690 dec_fac[adap->params.b_wnd[i]]); cctrl_tbl_show()
720 struct adapter *adap = seq->private; clk_show() local
721 unsigned int cclk_ps = 1000000000 / adap->params.vpd.cclk; /* in ps */ clk_show()
722 u32 res = t4_read_reg(adap, TP_TIMER_RESOLUTION_A); clk_show()
738 t4_read_reg(adap, TP_DACK_TIMER_A)); clk_show()
740 tp_tick_us * t4_read_reg(adap, TP_RXT_MIN_A)); clk_show()
742 tp_tick_us * t4_read_reg(adap, TP_RXT_MAX_A)); clk_show()
744 tp_tick_us * t4_read_reg(adap, TP_PERS_MIN_A)); clk_show()
746 tp_tick_us * t4_read_reg(adap, TP_PERS_MAX_A)); clk_show()
748 tp_tick_us * t4_read_reg(adap, TP_KEEP_IDLE_A)); clk_show()
750 tp_tick_us * t4_read_reg(adap, TP_KEEP_INTVL_A)); clk_show()
752 tp_tick_us * INITSRTT_G(t4_read_reg(adap, TP_INIT_SRTT_A))); clk_show()
754 tp_tick_us * t4_read_reg(adap, TP_FINWAIT2_TIMER_A)); clk_show()
890 struct adapter *adap = inode->i_private; devlog_open() local
891 struct devlog_params *dparams = &adap->params.devlog; devlog_open()
914 spin_lock(&adap->win0_lock); devlog_open()
915 ret = t4_memory_rw(adap, adap->params.drv_memwin, dparams->memtype, devlog_open()
918 spin_unlock(&adap->win0_lock); devlog_open()
964 struct adapter *adap = seq->private - mbox; mbox_show() local
965 void __iomem *addr = adap->regs + PF_REG(mbox, CIM_PF_MAILBOX_DATA_A); mbox_show()
966 unsigned int ctrl_reg = (is_t4(adap->params.chip) mbox_show()
969 void __iomem *ctrl = adap->regs + PF_REG(mbox, ctrl_reg); mbox_show()
993 struct adapter *adap; mbox_write() local
1010 adap = ino->i_private - mbox; mbox_write()
1011 addr = adap->regs + PF_REG(mbox, CIM_PF_MAILBOX_DATA_A); mbox_write()
1038 struct adapter *adap = file->private_data; flash_read() local
1054 ret = t4_read_flash(adap, pos - ofst, (len + 3) / 4, flash_read()
1094 struct adapter *adap = seq->private; mps_tcam_show() local
1096 u64 tcamy = t4_read_reg64(adap, MPS_CLS_TCAM_Y_L(idx)); mps_tcam_show()
1097 u64 tcamx = t4_read_reg64(adap, MPS_CLS_TCAM_X_L(idx)); mps_tcam_show()
1098 u32 cls_lo = t4_read_reg(adap, MPS_CLS_SRAM_L(idx)); mps_tcam_show()
1099 u32 cls_hi = t4_read_reg(adap, MPS_CLS_SRAM_H(idx)); mps_tcam_show()
1122 ret = t4_wr_mbox(adap, adap->mbox, &ldst_cmd, mps_tcam_show()
1125 dev_warn(adap->pdev_dev, "Can't read MPS " mps_tcam_show()
1159 struct adapter *adap = seq->private; mps_tcam_get_idx() local
1160 int max_mac_addr = is_t4(adap->params.chip) ? mps_tcam_get_idx()
1212 struct adapter *adap = seq->private; sensors_show() local
1225 ret = t4_query_params(adap, adap->mbox, adap->fn, 0, 2, sensors_show()
1275 struct adapter *adap = inode->i_private; rss_open() local
1281 ret = t4_read_rss(adap, (u16 *)p->data); rss_open()
1482 struct adapter *adap = file_inode(file)->i_private; rss_key_write() local
1501 t4_write_rss_key(adap, key, -1); rss_key_write()
1661 * @adap: the adapter
1664 static inline struct port_info *ethqset2pinfo(struct adapter *adap, int qset) ethqset2pinfo() argument
1668 for_each_port(adap, pidx) { for_each_port()
1669 struct port_info *pi = adap2pinfo(adap, pidx); for_each_port()
1683 struct adapter *adap = seq->private; sge_qinfo_show() local
1684 int eth_entries = DIV_ROUND_UP(adap->sge.ethqsets, 4); sge_qinfo_show()
1685 int toe_entries = DIV_ROUND_UP(adap->sge.ofldqsets, 4); sge_qinfo_show()
1686 int rdma_entries = DIV_ROUND_UP(adap->sge.rdmaqs, 4); sge_qinfo_show()
1687 int ciq_entries = DIV_ROUND_UP(adap->sge.rdmaciqs, 4); sge_qinfo_show()
1712 const struct sge_eth_rxq *rx = &adap->sge.ethrxq[base_qset]; sge_qinfo_show()
1713 const struct sge_eth_txq *tx = &adap->sge.ethtxq[base_qset]; sge_qinfo_show()
1714 int n = min(4, adap->sge.ethqsets - 4 * r); sge_qinfo_show()
1727 (ethqset2pinfo(adap, base_qset + i)->dcb.pgid >> sge_qinfo_show()
1730 (ethqset2pinfo(adap, base_qset + i)->dcb.pfcen >> sge_qinfo_show()
1738 S3("u", "Intr delay:", qtimer_val(adap, &rx[i].rspq)); sge_qinfo_show()
1740 adap->sge.counter_val[rx[i].rspq.pktcnt_idx]); sge_qinfo_show()
1748 const struct sge_ofld_rxq *rx = &adap->sge.ofldrxq[toe_idx * 4]; sge_qinfo_show()
1749 const struct sge_ofld_txq *tx = &adap->sge.ofldtxq[toe_idx * 4]; sge_qinfo_show()
1750 int n = min(4, adap->sge.ofldqsets - 4 * toe_idx); sge_qinfo_show()
1763 S3("u", "Intr delay:", qtimer_val(adap, &rx[i].rspq)); sge_qinfo_show()
1765 adap->sge.counter_val[rx[i].rspq.pktcnt_idx]); sge_qinfo_show()
1774 &adap->sge.rdmarxq[rdma_idx * 4]; sge_qinfo_show()
1775 int n = min(4, adap->sge.rdmaqs - 4 * rdma_idx); sge_qinfo_show()
1785 S3("u", "Intr delay:", qtimer_val(adap, &rx[i].rspq)); sge_qinfo_show()
1787 adap->sge.counter_val[rx[i].rspq.pktcnt_idx]); sge_qinfo_show()
1795 const struct sge_ofld_rxq *rx = &adap->sge.rdmaciq[ciq_idx * 4]; sge_qinfo_show()
1796 int n = min(4, adap->sge.rdmaciqs - 4 * ciq_idx); sge_qinfo_show()
1806 S3("u", "Intr delay:", qtimer_val(adap, &rx[i].rspq)); sge_qinfo_show()
1808 adap->sge.counter_val[rx[i].rspq.pktcnt_idx]); sge_qinfo_show()
1810 const struct sge_ctrl_txq *tx = &adap->sge.ctrlq[ctrl_idx * 4]; sge_qinfo_show()
1811 int n = min(4, adap->params.nports - 4 * ctrl_idx); sge_qinfo_show()
1820 const struct sge_rspq *evtq = &adap->sge.fw_evtq; sge_qinfo_show()
1829 qtimer_val(adap, evtq)); sge_qinfo_show()
1831 adap->sge.counter_val[evtq->pktcnt_idx]); sge_qinfo_show()
1840 static int sge_queue_entries(const struct adapter *adap) sge_queue_entries() argument
1842 return DIV_ROUND_UP(adap->sge.ethqsets, 4) + sge_queue_entries()
1843 DIV_ROUND_UP(adap->sge.ofldqsets, 4) + sge_queue_entries()
1844 DIV_ROUND_UP(adap->sge.rdmaqs, 4) + sge_queue_entries()
1845 DIV_ROUND_UP(adap->sge.rdmaciqs, 4) + sge_queue_entries()
1898 struct adapter *adap; mem_open() local
1903 adap = file->private_data - mem; mem_open()
1905 (void)t4_fwcache(adap, FW_PARAM_DEV_FWCACHE_FLUSH); mem_open()
1916 struct adapter *adap = file->private_data - mem; mem_read() local
1931 spin_lock(&adap->win0_lock); mem_read()
1932 ret = t4_memory_rw(adap, 0, mem, pos, count, data, T4_MEMORY_READ); mem_read()
1933 spin_unlock(&adap->win0_lock); mem_read()
1954 static void add_debugfs_mem(struct adapter *adap, const char *name, add_debugfs_mem() argument
1957 debugfs_create_file_size(name, S_IRUSR, adap->debugfs_root, add_debugfs_mem()
1958 (void *)adap + idx, &mem_debugfs_fops, add_debugfs_mem()
1964 void add_debugfs_files(struct adapter *adap, add_debugfs_files() argument
1973 adap->debugfs_root, add_debugfs_files()
1974 (void *)adap + files[i].data, add_debugfs_files()
1978 int t4_setup_debugfs(struct adapter *adap) t4_setup_debugfs() argument
2034 add_debugfs_files(adap, t4_setup_debugfs()
2037 if (!is_t4(adap->params.chip)) t4_setup_debugfs()
2038 add_debugfs_files(adap, t4_setup_debugfs()
2042 i = t4_read_reg(adap, MA_TARGET_MEM_ENABLE_A); t4_setup_debugfs()
2044 size = t4_read_reg(adap, MA_EDRAM0_BAR_A); t4_setup_debugfs()
2045 add_debugfs_mem(adap, "edc0", MEM_EDC0, EDRAM0_SIZE_G(size)); t4_setup_debugfs()
2048 size = t4_read_reg(adap, MA_EDRAM1_BAR_A); t4_setup_debugfs()
2049 add_debugfs_mem(adap, "edc1", MEM_EDC1, EDRAM1_SIZE_G(size)); t4_setup_debugfs()
2051 if (is_t4(adap->params.chip)) { t4_setup_debugfs()
2052 size = t4_read_reg(adap, MA_EXT_MEMORY_BAR_A); t4_setup_debugfs()
2054 add_debugfs_mem(adap, "mc", MEM_MC, t4_setup_debugfs()
2058 size = t4_read_reg(adap, MA_EXT_MEMORY0_BAR_A); t4_setup_debugfs()
2059 add_debugfs_mem(adap, "mc0", MEM_MC0, t4_setup_debugfs()
2063 size = t4_read_reg(adap, MA_EXT_MEMORY1_BAR_A); t4_setup_debugfs()
2064 add_debugfs_mem(adap, "mc1", MEM_MC1, t4_setup_debugfs()
2069 de = debugfs_create_file_size("flash", S_IRUSR, adap->debugfs_root, adap, t4_setup_debugfs()
2070 &flash_debugfs_fops, adap->params.sf_size); t4_setup_debugfs()
H A Dcxgb4.h52 #define CH_WARN(adap, fmt, ...) dev_warn(adap->pdev_dev, fmt, ## __VA_ARGS__)
498 struct adapter *adap; member in struct:sge_rspq
587 struct adapter *adap; member in struct:sge_ofld_txq
596 struct adapter *adap; member in struct:sge_ctrl_txq
856 static inline u32 t4_read_reg(struct adapter *adap, u32 reg_addr) t4_read_reg() argument
858 return readl(adap->regs + reg_addr); t4_read_reg()
861 static inline void t4_write_reg(struct adapter *adap, u32 reg_addr, u32 val) t4_write_reg() argument
863 writel(val, adap->regs + reg_addr); t4_write_reg()
879 static inline u64 t4_read_reg64(struct adapter *adap, u32 reg_addr) t4_read_reg64() argument
881 return readq(adap->regs + reg_addr); t4_read_reg64()
884 static inline void t4_write_reg64(struct adapter *adap, u32 reg_addr, u64 val) t4_write_reg64() argument
886 writeq(val, adap->regs + reg_addr); t4_write_reg64()
902 * @adap: the adapter
907 static inline struct port_info *adap2pinfo(struct adapter *adap, int idx) adap2pinfo() argument
909 return netdev_priv(adap->port[idx]); adap2pinfo()
1031 static inline unsigned int qtimer_val(const struct adapter *adap, qtimer_val() argument
1036 return idx < SGE_NTIMERS ? adap->sge.timer_val[idx] : 0; qtimer_val()
1043 void t4_os_portmod_changed(const struct adapter *adap, int port_id);
1044 void t4_os_link_changed(struct adapter *adap, int port_id, int link_stat);
1048 void t4_free_sge_resources(struct adapter *adap);
1049 void t4_free_ofld_rxqs(struct adapter *adap, int n, struct sge_ofld_rxq *q);
1050 irq_handler_t t4_intr_handler(struct adapter *adap);
1054 int t4_mgmt_tx(struct adapter *adap, struct sk_buff *skb);
1055 int t4_ofld_send(struct adapter *adap, struct sk_buff *skb);
1056 int t4_sge_alloc_rxq(struct adapter *adap, struct sge_rspq *iq, bool fwevtq,
1059 int t4_sge_alloc_eth_txq(struct adapter *adap, struct sge_eth_txq *txq,
1062 int t4_sge_alloc_ctrl_txq(struct adapter *adap, struct sge_ctrl_txq *txq,
1065 int t4_sge_alloc_ofld_txq(struct adapter *adap, struct sge_ofld_txq *txq,
1068 int t4_sge_init(struct adapter *adap);
1069 void t4_sge_start(struct adapter *adap);
1070 void t4_sge_stop(struct adapter *adap);
1081 static inline int is_bypass(struct adapter *adap) is_bypass() argument
1083 return adap->params.bypass; is_bypass()
1098 static inline unsigned int core_ticks_per_usec(const struct adapter *adap) core_ticks_per_usec() argument
1100 return adap->params.vpd.cclk / 1000; core_ticks_per_usec()
1103 static inline unsigned int us_to_core_ticks(const struct adapter *adap, us_to_core_ticks() argument
1106 return (us * adap->params.vpd.cclk) / 1000; us_to_core_ticks()
1117 void t4_set_reg_field(struct adapter *adap, unsigned int addr, u32 mask,
1120 int t4_wr_mbox_meat(struct adapter *adap, int mbox, const void *cmd, int size,
1123 static inline int t4_wr_mbox(struct adapter *adap, int mbox, const void *cmd, t4_wr_mbox() argument
1126 return t4_wr_mbox_meat(adap, mbox, cmd, size, rpl, true); t4_wr_mbox()
1129 static inline int t4_wr_mbox_ns(struct adapter *adap, int mbox, const void *cmd, t4_wr_mbox_ns() argument
1132 return t4_wr_mbox_meat(adap, mbox, cmd, size, rpl, false); t4_wr_mbox_ns()
1135 void t4_write_indirect(struct adapter *adap, unsigned int addr_reg,
1138 void t4_read_indirect(struct adapter *adap, unsigned int addr_reg,
1150 int t4_link_start(struct adapter *adap, unsigned int mbox, unsigned int port,
1152 int t4_restart_aneg(struct adapter *adap, unsigned int mbox, unsigned int port);
1156 int t4_memory_rw(struct adapter *adap, int win, int mtype, u32 addr, u32 len,
1158 static inline int t4_memory_write(struct adapter *adap, int mtype, u32 addr, t4_memory_write() argument
1161 return t4_memory_rw(adap, 0, mtype, addr, len, buf, 0); t4_memory_write()
1165 void t4_get_regs(struct adapter *adap, void *buf, size_t buf_size);
1172 int t4_fwcache(struct adapter *adap, enum fw_params_param_dev_fwcache op);
1173 int t4_fw_upgrade(struct adapter *adap, unsigned int mbox,
1179 int t4_prep_fw(struct adapter *adap, struct fw_info *fw_info,
1191 unsigned int qtimer_val(const struct adapter *adap,
1196 int t4_init_tp_params(struct adapter *adap);
1197 int t4_filter_field_shift(const struct adapter *adap, int filter_sel);
1198 int t4_port_init(struct adapter *adap, int mbox, int pf, int vf);
1206 void t4_write_rss_key(struct adapter *adap, const u32 *key, int idx);
1214 int t4_mc_read(struct adapter *adap, int idx, u32 addr, __be32 *data,
1216 int t4_edc_read(struct adapter *adap, int idx, u32 addr, __be32 *data,
1218 void t4_pmtx_get_stats(struct adapter *adap, u32 cnt[], u64 cycles[]);
1219 void t4_pmrx_get_stats(struct adapter *adap, u32 cnt[], u64 cycles[]);
1220 int t4_read_cim_ibq(struct adapter *adap, unsigned int qid, u32 *data,
1222 int t4_read_cim_obq(struct adapter *adap, unsigned int qid, u32 *data,
1224 int t4_cim_read(struct adapter *adap, unsigned int addr, unsigned int n,
1226 int t4_cim_write(struct adapter *adap, unsigned int addr, unsigned int n,
1228 int t4_cim_read_la(struct adapter *adap, u32 *la_buf, unsigned int *wrptr);
1229 void t4_read_cimq_cfg(struct adapter *adap, u16 *base, u16 *size, u16 *thres);
1231 void t4_get_port_stats(struct adapter *adap, int idx, struct port_stats *p);
1232 void t4_read_mtu_tbl(struct adapter *adap, u16 *mtus, u8 *mtu_log);
1233 void t4_read_cong_tbl(struct adapter *adap, u16 incr[NMTUS][NCCTRL_WIN]);
1234 void t4_tp_wr_bits_indirect(struct adapter *adap, unsigned int addr,
1236 void t4_tp_read_la(struct adapter *adap, u64 *la_buf, unsigned int *wrptr);
1237 void t4_tp_get_tcp_stats(struct adapter *adap, struct tp_tcp_stats *v4,
1239 void t4_load_mtus(struct adapter *adap, const unsigned short *mtus,
1242 void t4_ulprx_read_la(struct adapter *adap, u32 *la_buf);
1246 void t4_wol_magic_enable(struct adapter *adap, unsigned int port,
1248 int t4_wol_pat_enable(struct adapter *adap, unsigned int port, unsigned int map,
1251 int t4_fw_hello(struct adapter *adap, unsigned int mbox, unsigned int evt_mbox,
1253 int t4_fw_bye(struct adapter *adap, unsigned int mbox);
1254 int t4_early_init(struct adapter *adap, unsigned int mbox);
1255 int t4_fw_reset(struct adapter *adap, unsigned int mbox, int reset);
1256 int t4_fixup_host_params(struct adapter *adap, unsigned int page_size,
1258 int t4_fw_initialize(struct adapter *adap, unsigned int mbox);
1259 int t4_query_params(struct adapter *adap, unsigned int mbox, unsigned int pf,
1262 int t4_set_params(struct adapter *adap, unsigned int mbox, unsigned int pf,
1265 int t4_set_params_nosleep(struct adapter *adap, unsigned int mbox,
1269 int t4_cfg_pfvf(struct adapter *adap, unsigned int mbox, unsigned int pf,
1274 int t4_alloc_vi(struct adapter *adap, unsigned int mbox, unsigned int port,
1277 int t4_set_rxmode(struct adapter *adap, unsigned int mbox, unsigned int viid,
1280 int t4_alloc_mac_filt(struct adapter *adap, unsigned int mbox,
1283 int t4_change_mac(struct adapter *adap, unsigned int mbox, unsigned int viid,
1285 int t4_set_addr_hash(struct adapter *adap, unsigned int mbox, unsigned int viid,
1287 int t4_enable_vi_params(struct adapter *adap, unsigned int mbox,
1289 int t4_enable_vi(struct adapter *adap, unsigned int mbox, unsigned int viid,
1291 int t4_identify_port(struct adapter *adap, unsigned int mbox, unsigned int viid,
1293 int t4_mdio_rd(struct adapter *adap, unsigned int mbox, unsigned int phy_addr,
1295 int t4_mdio_wr(struct adapter *adap, unsigned int mbox, unsigned int phy_addr,
1297 int t4_iq_free(struct adapter *adap, unsigned int mbox, unsigned int pf,
1300 int t4_eth_eq_free(struct adapter *adap, unsigned int mbox, unsigned int pf,
1302 int t4_ctrl_eq_free(struct adapter *adap, unsigned int mbox, unsigned int pf,
1304 int t4_ofld_eq_free(struct adapter *adap, unsigned int mbox, unsigned int pf,
1306 int t4_handle_fw_rpl(struct adapter *adap, const __be64 *rpl);
1309 int t4_fwaddrspace_write(struct adapter *adap, unsigned int mbox,
H A Dcxgb4_fcoe.c41 bool cxgb_fcoe_sof_eof_supported(struct adapter *adap, struct sk_buff *skb) cxgb_fcoe_sof_eof_supported() argument
48 dev_err(adap->pdev_dev, "Unsupported SOF 0x%x\n", sof); cxgb_fcoe_sof_eof_supported()
55 dev_err(adap->pdev_dev, "Unsupported EOF 0x%x\n", eof); cxgb_fcoe_sof_eof_supported()
71 struct adapter *adap = pi->adapter; cxgb_fcoe_enable() local
74 if (is_t4(adap->params.chip)) cxgb_fcoe_enable()
77 if (!(adap->flags & FULL_INIT_DONE)) cxgb_fcoe_enable()
80 dev_info(adap->pdev_dev, "Enabling FCoE offload features\n"); cxgb_fcoe_enable()
103 struct adapter *adap = pi->adapter; cxgb_fcoe_disable() local
109 dev_info(adap->pdev_dev, "Disabling FCoE offload features\n"); cxgb_fcoe_disable()
H A Dcxgb4_dcb.c66 struct adapter *adap = pi->adapter; cxgb4_dcb_cleanup_apps() local
91 dev_err(adap->pdev_dev, cxgb4_dcb_cleanup_apps()
107 struct adapter *adap = pi->adapter; cxgb4_dcb_state_fsm() local
231 dev_err(adap->pdev_dev, "cxgb4_dcb_state_fsm: illegal input symbol %d\n", cxgb4_dcb_state_fsm()
236 dev_err(adap->pdev_dev, "cxgb4_dcb_state_fsm: bad state transition, state = %d, input = %d\n", cxgb4_dcb_state_fsm()
242 void cxgb4_dcb_handle_fw_update(struct adapter *adap, cxgb4_dcb_handle_fw_update() argument
247 struct net_device *dev = adap->port[port]; cxgb4_dcb_handle_fw_update()
270 dev_warn(adap->pdev_dev, "Interface %s is running %s\n", cxgb4_dcb_handle_fw_update()
274 dev_warn(adap->pdev_dev, cxgb4_dcb_handle_fw_update()
293 dev_err(adap->pdev_dev, "Receiving Firmware DCB messages in State %d\n", cxgb4_dcb_handle_fw_update()
356 dev_err(adap->pdev_dev, cxgb4_dcb_handle_fw_update()
368 dev_err(adap->pdev_dev, "Unknown DCB update type received %x\n", cxgb4_dcb_handle_fw_update()
413 struct adapter *adap = pi->adapter; cxgb4_getpgtccfg() local
424 err = t4_wr_mbox(adap, adap->mbox, &pcmd, sizeof(pcmd), &pcmd); cxgb4_getpgtccfg()
426 dev_err(adap->pdev_dev, "DCB read PGID failed with %d\n", -err); cxgb4_getpgtccfg()
436 err = t4_wr_mbox(adap, adap->mbox, &pcmd, sizeof(pcmd), &pcmd); cxgb4_getpgtccfg()
438 dev_err(adap->pdev_dev, "DCB read PGRATE failed with %d\n", cxgb4_getpgtccfg()
476 struct adapter *adap = pi->adapter; cxgb4_setpgtccfg_tx() local
489 err = t4_wr_mbox(adap, adap->mbox, &pcmd, sizeof(pcmd), &pcmd); cxgb4_setpgtccfg_tx()
491 dev_err(adap->pdev_dev, "DCB read PGID failed with %d\n", -err); cxgb4_setpgtccfg_tx()
502 err = t4_wr_mbox(adap, adap->mbox, &pcmd, sizeof(pcmd), &pcmd); cxgb4_setpgtccfg_tx()
504 dev_err(adap->pdev_dev, "DCB write PGID failed with %d\n", cxgb4_setpgtccfg_tx()
514 err = t4_wr_mbox(adap, adap->mbox, &pcmd, sizeof(pcmd), &pcmd); cxgb4_setpgtccfg_tx()
516 dev_err(adap->pdev_dev, "DCB read PGRATE failed with %d\n", cxgb4_setpgtccfg_tx()
527 err = t4_wr_mbox(adap, adap->mbox, &pcmd, sizeof(pcmd), &pcmd); cxgb4_setpgtccfg_tx()
529 dev_err(adap->pdev_dev, "DCB write PGRATE failed with %d\n", cxgb4_setpgtccfg_tx()
538 struct adapter *adap = pi->adapter; cxgb4_getpgbwgcfg() local
547 err = t4_wr_mbox(adap, adap->mbox, &pcmd, sizeof(pcmd), &pcmd); cxgb4_getpgbwgcfg()
549 dev_err(adap->pdev_dev, "DCB read PGRATE failed with %d\n", cxgb4_getpgbwgcfg()
572 struct adapter *adap = pi->adapter; cxgb4_setpgbwgcfg_tx() local
578 err = t4_wr_mbox(adap, adap->mbox, &pcmd, sizeof(pcmd), &pcmd); cxgb4_setpgbwgcfg_tx()
580 dev_err(adap->pdev_dev, "DCB read PGRATE failed with %d\n", cxgb4_setpgbwgcfg_tx()
591 err = t4_wr_mbox(adap, adap->mbox, &pcmd, sizeof(pcmd), &pcmd); cxgb4_setpgbwgcfg_tx()
594 dev_err(adap->pdev_dev, "DCB write PGRATE failed with %d\n", cxgb4_setpgbwgcfg_tx()
620 struct adapter *adap = pi->adapter; cxgb4_setpfccfg() local
639 err = t4_wr_mbox(adap, adap->mbox, &pcmd, sizeof(pcmd), &pcmd); cxgb4_setpfccfg()
641 dev_err(adap->pdev_dev, "DCB PFC write failed with %d\n", -err); cxgb4_setpfccfg()
756 struct adapter *adap = pi->adapter; __cxgb4_getapp() local
774 err = t4_wr_mbox(adap, adap->mbox, &pcmd, sizeof(pcmd), &pcmd); __cxgb4_getapp()
776 dev_err(adap->pdev_dev, "DCB APP read failed with %d\n", __cxgb4_getapp()
807 struct adapter *adap = pi->adapter; __cxgb4_setapp() local
822 err = t4_wr_mbox(adap, adap->mbox, &pcmd, sizeof(pcmd), &pcmd); __cxgb4_setapp()
825 dev_err(adap->pdev_dev, "DCB app table read failed with %d\n", __cxgb4_setapp()
841 dev_err(adap->pdev_dev, "DCB app table full\n"); __cxgb4_setapp()
856 err = t4_wr_mbox(adap, adap->mbox, &pcmd, sizeof(pcmd), &pcmd); __cxgb4_setapp()
858 dev_err(adap->pdev_dev, "DCB app table write failed with %d\n", __cxgb4_setapp()
911 struct adapter *adap = pi->adapter; cxgb4_ieee_read_ets() local
929 err = t4_wr_mbox(adap, adap->mbox, &pcmd, sizeof(pcmd), &pcmd); cxgb4_ieee_read_ets()
931 dev_err(adap->pdev_dev, "DCB read PGID failed with %d\n", -err); cxgb4_ieee_read_ets()
943 err = t4_wr_mbox(adap, adap->mbox, &pcmd, sizeof(pcmd), &pcmd); cxgb4_ieee_read_ets()
945 dev_err(adap->pdev_dev, "DCB read PGRATE failed with %d\n", cxgb4_ieee_read_ets()
1080 struct adapter *adap = pi->adapter; cxgb4_getpeer_app() local
1094 err = t4_wr_mbox(adap, adap->mbox, &pcmd, sizeof(pcmd), &pcmd); cxgb4_getpeer_app()
1097 dev_err(adap->pdev_dev, "DCB app table read failed with %d\n", cxgb4_getpeer_app()
1114 struct adapter *adap = pi->adapter; cxgb4_getpeerapp_tbl() local
1124 err = t4_wr_mbox(adap, adap->mbox, &pcmd, sizeof(pcmd), &pcmd); cxgb4_getpeerapp_tbl()
1127 dev_err(adap->pdev_dev, "DCB app table read failed with %d\n", cxgb4_getpeerapp_tbl()
1151 struct adapter *adap = pi->adapter; cxgb4_cee_peer_getpg() local
1162 err = t4_wr_mbox(adap, adap->mbox, &pcmd, sizeof(pcmd), &pcmd); cxgb4_cee_peer_getpg()
1164 dev_err(adap->pdev_dev, "DCB read PGID failed with %d\n", -err); cxgb4_cee_peer_getpg()
1174 err = t4_wr_mbox(adap, adap->mbox, &pcmd, sizeof(pcmd), &pcmd); cxgb4_cee_peer_getpg()
1176 dev_err(adap->pdev_dev, "DCB read PGRATE failed with %d\n", cxgb4_cee_peer_getpg()
H A Dcxgb4_ethtool.c127 struct adapter *adap = netdev2adap(dev); get_regs_len() local
129 return t4_get_regs_len(adap); get_regs_len()
188 static void collect_sge_port_stats(const struct adapter *adap, collect_sge_port_stats() argument
193 const struct sge_eth_txq *tx = &adap->sge.ethtxq[p->first_qset]; collect_sge_port_stats()
194 const struct sge_eth_rxq *rx = &adap->sge.ethrxq[p->first_qset]; collect_sge_port_stats()
237 struct adapter *adap = netdev2adap(dev); get_regs() local
240 buf_size = t4_get_regs_len(adap); get_regs()
241 regs->version = mk_adap_vers(adap); get_regs()
242 t4_get_regs(adap, buf, buf_size); get_regs()
261 struct adapter *adap = netdev2adap(dev); identify_port() local
270 return t4_identify_port(adap, adap->fn, netdev2pinfo(dev)->viid, val); identify_port()
534 struct adapter *adap = pi->adapter; set_rx_intr_params() local
535 struct sge_eth_rxq *q = &adap->sge.ethrxq[pi->first_qset]; set_rx_intr_params()
549 struct adapter *adap = pi->adapter; set_adaptive_rx_setting() local
550 struct sge_eth_rxq *q = &adap->sge.ethrxq[pi->first_qset]; set_adaptive_rx_setting()
561 struct adapter *adap = pi->adapter; get_adaptive_rx_setting() local
562 struct sge_eth_rxq *q = &adap->sge.ethrxq[pi->first_qset]; get_adaptive_rx_setting()
577 const struct adapter *adap = pi->adapter; get_coalesce() local
578 const struct sge_rspq *rq = &adap->sge.ethrxq[pi->first_qset].rspq; get_coalesce()
580 c->rx_coalesce_usecs = qtimer_val(adap, rq); get_coalesce()
582 adap->sge.counter_val[rq->pktcnt_idx] : 0; get_coalesce()
618 static int eeprom_rd_phys(struct adapter *adap, unsigned int phys_addr, u32 *v) eeprom_rd_phys() argument
620 int vaddr = eeprom_ptov(phys_addr, adap->fn, EEPROMPFSIZE); eeprom_rd_phys()
623 vaddr = pci_read_vpd(adap->pdev, vaddr, sizeof(u32), v); eeprom_rd_phys()
627 static int eeprom_wr_phys(struct adapter *adap, unsigned int phys_addr, u32 v) eeprom_wr_phys() argument
629 int vaddr = eeprom_ptov(phys_addr, adap->fn, EEPROMPFSIZE); eeprom_wr_phys()
632 vaddr = pci_write_vpd(adap->pdev, vaddr, sizeof(u32), &v); eeprom_wr_phys()
719 struct adapter *adap = netdev2adap(netdev); set_flash() local
723 ret = request_firmware(&fw, ef->data, adap->pdev_dev); set_flash()
732 if (adap->flags & FULL_INIT_DONE) set_flash()
733 mbox = adap->mbox; set_flash()
735 ret = t4_fw_upgrade(adap, mbox, fw->data, fw->size, 1); set_flash()
738 dev_info(adap->pdev_dev, set_flash()
H A Dclip_tbl.c47 struct adapter *adap = netdev2adap(dev); clip6_get_mbox() local
56 return t4_wr_mbox_meat(adap, adap->mbox, &c, sizeof(c), &c, false); clip6_get_mbox()
62 struct adapter *adap = netdev2adap(dev); clip6_release_mbox() local
71 return t4_wr_mbox_meat(adap, adap->mbox, &c, sizeof(c), &c, false); clip6_release_mbox()
76 struct adapter *adap = netdev2adap(dev); cxgb4_clip_get() local
77 struct clip_tbl *ctbl = adap->clipt; cxgb4_clip_get()
142 struct adapter *adap = netdev2adap(dev); cxgb4_clip_release() local
143 struct clip_tbl *ctbl = adap->clipt; cxgb4_clip_release()
308 void t4_cleanup_clip_tbl(struct adapter *adap) t4_cleanup_clip_tbl() argument
310 struct clip_tbl *ctbl = adap->clipt; t4_cleanup_clip_tbl()
H A Dl2t.c140 static int write_l2e(struct adapter *adap, struct l2t_entry *e, int sync) write_l2e() argument
154 TID_QID_V(adap->sge.fw_evtq.abs_id))); write_l2e()
163 t4_ofld_send(adap, skb); write_l2e()
174 static void send_pending(struct adapter *adap, struct l2t_entry *e) send_pending() argument
181 t4_ofld_send(adap, skb); send_pending()
191 void do_l2t_write_rpl(struct adapter *adap, const struct cpl_l2t_write_rpl *rpl) do_l2t_write_rpl() argument
197 dev_err(adap->pdev_dev, do_l2t_write_rpl()
204 struct l2t_entry *e = &adap->l2t->l2tab[idx]; do_l2t_write_rpl()
208 send_pending(adap, e); do_l2t_write_rpl()
233 struct adapter *adap = netdev2adap(dev); cxgb4_l2t_send() local
244 return t4_ofld_send(adap, skb); cxgb4_l2t_send()
260 write_l2e(adap, e, 1); cxgb4_l2t_send()
421 struct adapter *adap = netdev2adap(dev); cxgb4_select_ntuple() local
422 struct tp_params *tp = &adap->params.tp; cxgb4_select_ntuple()
457 static void handle_failed_resolution(struct adapter *adap, struct sk_buff *arpq) handle_failed_resolution() argument
468 t4_ofld_send(adap, skb); handle_failed_resolution()
476 void t4_l2t_update(struct adapter *adap, struct neighbour *neigh) t4_l2t_update() argument
480 struct l2t_data *d = adap->l2t; t4_l2t_update()
510 write_l2e(adap, e, 1); t4_l2t_update()
516 write_l2e(adap, e, 0); t4_l2t_update()
522 handle_failed_resolution(adap, arpq); t4_l2t_update()
548 int t4_l2t_set_switching(struct adapter *adap, struct l2t_entry *e, u16 vlan, t4_l2t_set_switching() argument
554 return write_l2e(adap, e, 0); t4_l2t_set_switching()
652 struct adapter *adap = inode->i_private; l2t_seq_open() local
655 seq->private = adap->l2t->l2tab; l2t_seq_open()
H A Dclip_tbl.h43 void t4_cleanup_clip_tbl(struct adapter *adap);
H A Dcxgb4_debugfs.h77 int t4_setup_debugfs(struct adapter *adap);
78 void add_debugfs_files(struct adapter *adap,
H A Dl2t.h103 void t4_l2t_update(struct adapter *adap, struct neighbour *neigh);
105 int t4_l2t_set_switching(struct adapter *adap, struct l2t_entry *e, u16 vlan,
/linux-4.1.27/drivers/i2c/busses/
H A Di2c-eg20t.c119 #define pch_dbg(adap, fmt, arg...) \
120 dev_dbg(adap->pch_adapter.dev.parent, "%s :" fmt, __func__, ##arg)
122 #define pch_err(adap, fmt, arg...) \
123 dev_err(adap->pch_adapter.dev.parent, "%s :" fmt, __func__, ##arg)
213 * @adap: Pointer to struct i2c_algo_pch_data.
215 static void pch_i2c_init(struct i2c_algo_pch_data *adap) pch_i2c_init() argument
217 void __iomem *p = adap->pch_base_address; pch_i2c_init()
230 pch_setbit(adap->pch_base_address, PCH_I2CCTL, PCH_I2CCTL_I2CMEN); pch_i2c_init()
238 pch_dbg(adap, "Fast mode enabled\n"); pch_i2c_init()
254 pch_dbg(adap, pch_i2c_init()
263 * @adap: Pointer to struct i2c_algo_pch_data.
266 static s32 pch_i2c_wait_for_bus_idle(struct i2c_algo_pch_data *adap, pch_i2c_wait_for_bus_idle() argument
269 void __iomem *p = adap->pch_base_address; pch_i2c_wait_for_bus_idle()
275 pch_dbg(adap, "I2CSR = %x\n", ioread32(p + PCH_I2CSR)); pch_i2c_wait_for_bus_idle()
276 pch_err(adap, "%s: Timeout Error.return%d\n", pch_i2c_wait_for_bus_idle()
278 pch_i2c_init(adap); pch_i2c_wait_for_bus_idle()
298 * @adap: Pointer to struct i2c_algo_pch_data.
302 static void pch_i2c_start(struct i2c_algo_pch_data *adap) pch_i2c_start() argument
304 void __iomem *p = adap->pch_base_address; pch_i2c_start()
305 pch_dbg(adap, "I2CCTL = %x\n", ioread32(p + PCH_I2CCTL)); pch_i2c_start()
306 pch_setbit(adap->pch_base_address, PCH_I2CCTL, PCH_START); pch_i2c_start()
311 * @adap: Pointer to struct i2c_algo_pch_data.
313 static void pch_i2c_stop(struct i2c_algo_pch_data *adap) pch_i2c_stop() argument
315 void __iomem *p = adap->pch_base_address; pch_i2c_stop()
316 pch_dbg(adap, "I2CCTL = %x\n", ioread32(p + PCH_I2CCTL)); pch_i2c_stop()
318 pch_clrbit(adap->pch_base_address, PCH_I2CCTL, PCH_START); pch_i2c_stop()
321 static int pch_i2c_wait_for_check_xfer(struct i2c_algo_pch_data *adap) pch_i2c_wait_for_check_xfer() argument
324 void __iomem *p = adap->pch_base_address; pch_i2c_wait_for_check_xfer()
327 (adap->pch_event_flag != 0), msecs_to_jiffies(1000)); pch_i2c_wait_for_check_xfer()
329 pch_err(adap, "%s:wait-event timeout\n", __func__); pch_i2c_wait_for_check_xfer()
330 adap->pch_event_flag = 0; pch_i2c_wait_for_check_xfer()
331 pch_i2c_stop(adap); pch_i2c_wait_for_check_xfer()
332 pch_i2c_init(adap); pch_i2c_wait_for_check_xfer()
336 if (adap->pch_event_flag & I2C_ERROR_MASK) { pch_i2c_wait_for_check_xfer()
337 pch_err(adap, "Lost Arbitration\n"); pch_i2c_wait_for_check_xfer()
338 adap->pch_event_flag = 0; pch_i2c_wait_for_check_xfer()
339 pch_clrbit(adap->pch_base_address, PCH_I2CSR, I2CMAL_BIT); pch_i2c_wait_for_check_xfer()
340 pch_clrbit(adap->pch_base_address, PCH_I2CSR, I2CMIF_BIT); pch_i2c_wait_for_check_xfer()
341 pch_i2c_init(adap); pch_i2c_wait_for_check_xfer()
345 adap->pch_event_flag = 0; pch_i2c_wait_for_check_xfer()
348 pch_dbg(adap, "Receive NACK for slave address setting\n"); pch_i2c_wait_for_check_xfer()
357 * @adap: Pointer to struct i2c_algo_pch_data.
359 static void pch_i2c_repstart(struct i2c_algo_pch_data *adap) pch_i2c_repstart() argument
361 void __iomem *p = adap->pch_base_address; pch_i2c_repstart()
362 pch_dbg(adap, "I2CCTL = %x\n", ioread32(p + PCH_I2CCTL)); pch_i2c_repstart()
363 pch_setbit(adap->pch_base_address, PCH_I2CCTL, PCH_REPSTART); pch_i2c_repstart()
378 struct i2c_algo_pch_data *adap = i2c_adap->algo_data; pch_i2c_writebytes() local
386 void __iomem *p = adap->pch_base_address; pch_i2c_writebytes()
393 pch_setbit(adap->pch_base_address, PCH_I2CCTL, I2C_TX_MODE); pch_i2c_writebytes()
395 pch_dbg(adap, "I2CCTL = %x msgs->len = %d\n", ioread32(p + PCH_I2CCTL), pch_i2c_writebytes()
399 if (pch_i2c_wait_for_bus_idle(adap, BUS_IDLE_TIMEOUT) == -ETIME) pch_i2c_writebytes()
407 pch_i2c_start(adap); pch_i2c_writebytes()
409 rtn = pch_i2c_wait_for_check_xfer(adap); pch_i2c_writebytes()
419 pch_i2c_start(adap); pch_i2c_writebytes()
422 rtn = pch_i2c_wait_for_check_xfer(adap); pch_i2c_writebytes()
429 pch_dbg(adap, "writing %x to Data register\n", buf[wrcount]); pch_i2c_writebytes()
431 rtn = pch_i2c_wait_for_check_xfer(adap); pch_i2c_writebytes()
435 pch_clrbit(adap->pch_base_address, PCH_I2CSR, I2CMCF_BIT); pch_i2c_writebytes()
436 pch_clrbit(adap->pch_base_address, PCH_I2CSR, I2CMIF_BIT); pch_i2c_writebytes()
441 pch_i2c_stop(adap); pch_i2c_writebytes()
443 pch_i2c_repstart(adap); pch_i2c_writebytes()
445 pch_dbg(adap, "return=%d\n", wrcount); pch_i2c_writebytes()
452 * @adap: Pointer to struct i2c_algo_pch_data.
454 static void pch_i2c_sendack(struct i2c_algo_pch_data *adap) pch_i2c_sendack() argument
456 void __iomem *p = adap->pch_base_address; pch_i2c_sendack()
457 pch_dbg(adap, "I2CCTL = %x\n", ioread32(p + PCH_I2CCTL)); pch_i2c_sendack()
458 pch_clrbit(adap->pch_base_address, PCH_I2CCTL, PCH_ACK); pch_i2c_sendack()
463 * @adap: Pointer to struct i2c_algo_pch_data.
465 static void pch_i2c_sendnack(struct i2c_algo_pch_data *adap) pch_i2c_sendnack() argument
467 void __iomem *p = adap->pch_base_address; pch_i2c_sendnack()
468 pch_dbg(adap, "I2CCTL = %x\n", ioread32(p + PCH_I2CCTL)); pch_i2c_sendnack()
469 pch_setbit(adap->pch_base_address, PCH_I2CCTL, PCH_ACK); pch_i2c_sendnack()
474 * @adap: Pointer to struct i2c_algo_pch_data.
478 static void pch_i2c_restart(struct i2c_algo_pch_data *adap) pch_i2c_restart() argument
480 void __iomem *p = adap->pch_base_address; pch_i2c_restart()
481 pch_dbg(adap, "I2CCTL = %x\n", ioread32(p + PCH_I2CCTL)); pch_i2c_restart()
482 pch_setbit(adap->pch_base_address, PCH_I2CCTL, PCH_RESTART); pch_i2c_restart()
495 struct i2c_algo_pch_data *adap = i2c_adap->algo_data; pch_i2c_readbytes() local
503 void __iomem *p = adap->pch_base_address; pch_i2c_readbytes()
511 pch_clrbit(adap->pch_base_address, PCH_I2CCTL, I2C_TX_MODE); pch_i2c_readbytes()
514 if (pch_i2c_wait_for_bus_idle(adap, BUS_IDLE_TIMEOUT) == -ETIME) pch_i2c_readbytes()
522 pch_i2c_start(adap); pch_i2c_readbytes()
524 rtn = pch_i2c_wait_for_check_xfer(adap); pch_i2c_readbytes()
531 pch_i2c_restart(adap); pch_i2c_readbytes()
533 rtn = pch_i2c_wait_for_check_xfer(adap); pch_i2c_readbytes()
547 pch_i2c_start(adap); pch_i2c_readbytes()
549 rtn = pch_i2c_wait_for_check_xfer(adap); pch_i2c_readbytes()
554 pch_i2c_stop(adap); pch_i2c_readbytes()
561 pch_i2c_sendack(adap); pch_i2c_readbytes()
570 rtn = pch_i2c_wait_for_check_xfer(adap); pch_i2c_readbytes()
575 pch_i2c_sendnack(adap); pch_i2c_readbytes()
582 rtn = pch_i2c_wait_for_check_xfer(adap); pch_i2c_readbytes()
587 pch_i2c_stop(adap); pch_i2c_readbytes()
589 pch_i2c_repstart(adap); pch_i2c_readbytes()
600 * @adap: Pointer to struct i2c_algo_pch_data.
602 static void pch_i2c_cb(struct i2c_algo_pch_data *adap) pch_i2c_cb() argument
605 void __iomem *p = adap->pch_base_address; pch_i2c_cb()
610 adap->pch_event_flag |= I2CMAL_EVENT; pch_i2c_cb()
613 adap->pch_event_flag |= I2CMCF_EVENT; pch_i2c_cb()
616 pch_clrbit(adap->pch_base_address, PCH_I2CSR, sts); pch_i2c_cb()
618 pch_dbg(adap, "PCH_I2CSR = %x\n", ioread32(p + PCH_I2CSR)); pch_i2c_cb()
670 struct i2c_algo_pch_data *adap = i2c_adap->algo_data; pch_i2c_xfer() local
676 if (adap->p_adapter_info->pch_i2c_suspended) { pch_i2c_xfer()
681 pch_dbg(adap, "adap->p_adapter_info->pch_i2c_suspended is %d\n", pch_i2c_xfer()
682 adap->p_adapter_info->pch_i2c_suspended); pch_i2c_xfer()
684 adap->pch_i2c_xfer_in_progress = true; pch_i2c_xfer()
688 pmsg->flags |= adap->pch_buff_mode_en; pch_i2c_xfer()
690 pch_dbg(adap, pch_i2c_xfer()
702 adap->pch_i2c_xfer_in_progress = false; /* transfer completed */ pch_i2c_xfer()
711 * @adap: Pointer to struct i2c_algo_pch_data.
713 static u32 pch_i2c_func(struct i2c_adapter *adap) pch_i2c_func() argument
725 * @adap: Pointer to struct i2c_algo_pch_data.
727 static void pch_i2c_disbl_int(struct i2c_algo_pch_data *adap) pch_i2c_disbl_int() argument
729 void __iomem *p = adap->pch_base_address; pch_i2c_disbl_int()
731 pch_clrbit(adap->pch_base_address, PCH_I2CCTL, NORMAL_INTR_ENBL); pch_i2c_disbl_int()
H A Di2c-au1550.c50 struct i2c_adapter adap; member in struct:i2c_au1550_data
65 static int wait_xfer_done(struct i2c_au1550_data *adap) wait_xfer_done() argument
70 for (i = 0; i < adap->xfer_timeout; i++) { wait_xfer_done()
71 if (RD(adap, PSC_SMBSTAT) & PSC_SMBSTAT_TE) wait_xfer_done()
80 static int wait_ack(struct i2c_au1550_data *adap) wait_ack() argument
84 if (wait_xfer_done(adap)) wait_ack()
87 stat = RD(adap, PSC_SMBEVNT); wait_ack()
94 static int wait_master_done(struct i2c_au1550_data *adap) wait_master_done() argument
99 for (i = 0; i < 2 * adap->xfer_timeout; i++) { wait_master_done()
100 if ((RD(adap, PSC_SMBEVNT) & PSC_SMBEVNT_MD) != 0) wait_master_done()
109 do_address(struct i2c_au1550_data *adap, unsigned int addr, int rd, int q) do_address() argument
114 stat = RD(adap, PSC_SMBSTAT); do_address()
115 WR(adap, PSC_SMBEVNT, PSC_SMBEVNT_ALLCLR); do_address()
118 WR(adap, PSC_SMBPCR, PSC_SMBPCR_DC); do_address()
119 while ((RD(adap, PSC_SMBPCR) & PSC_SMBPCR_DC) != 0) do_address()
134 WR(adap, PSC_SMBTXRX, addr); do_address()
135 WR(adap, PSC_SMBPCR, PSC_SMBPCR_MS); do_address()
136 if (wait_ack(adap)) do_address()
138 return (q) ? wait_master_done(adap) : 0; do_address()
141 static int wait_for_rx_byte(struct i2c_au1550_data *adap, unsigned char *out) wait_for_rx_byte() argument
145 if (wait_xfer_done(adap)) wait_for_rx_byte()
148 j = adap->xfer_timeout * 100; wait_for_rx_byte()
154 if ((RD(adap, PSC_SMBSTAT) & PSC_SMBSTAT_RE) == 0) wait_for_rx_byte()
160 *out = RD(adap, PSC_SMBTXRX); wait_for_rx_byte()
165 static int i2c_read(struct i2c_au1550_data *adap, unsigned char *buf, i2c_read() argument
179 WR(adap, PSC_SMBTXRX, 0); i2c_read()
180 if (wait_for_rx_byte(adap, &buf[i])) i2c_read()
187 WR(adap, PSC_SMBTXRX, PSC_SMBTXRX_STP); i2c_read()
188 if (wait_master_done(adap)) i2c_read()
191 buf[i] = (unsigned char)(RD(adap, PSC_SMBTXRX) & 0xff); i2c_read()
195 static int i2c_write(struct i2c_au1550_data *adap, unsigned char *buf, i2c_write() argument
207 WR(adap, PSC_SMBTXRX, data); i2c_write()
208 if (wait_ack(adap)) i2c_write()
216 WR(adap, PSC_SMBTXRX, data); i2c_write()
217 if (wait_master_done(adap)) i2c_write()
225 struct i2c_au1550_data *adap = i2c_adap->algo_data; au1550_xfer() local
229 WR(adap, PSC_CTRL, PSC_CTRL_ENABLE); au1550_xfer()
233 err = do_address(adap, p->addr, p->flags & I2C_M_RD, au1550_xfer()
238 err = i2c_read(adap, p->buf, p->len); au1550_xfer()
240 err = i2c_write(adap, p->buf, p->len); au1550_xfer()
248 WR(adap, PSC_CTRL, PSC_CTRL_SUSPEND); au1550_xfer()
253 static u32 au1550_func(struct i2c_adapter *adap) au1550_func() argument
344 priv->adap.nr = pdev->id; i2c_au1550_probe()
345 priv->adap.algo = &au1550_algo; i2c_au1550_probe()
346 priv->adap.algo_data = priv; i2c_au1550_probe()
347 priv->adap.dev.parent = &pdev->dev; i2c_au1550_probe()
348 strlcpy(priv->adap.name, "Au1xxx PSC I2C", sizeof(priv->adap.name)); i2c_au1550_probe()
353 ret = i2c_add_numbered_adapter(&priv->adap); i2c_au1550_probe()
374 i2c_del_adapter(&priv->adap); i2c_au1550_remove()
H A Di2c-sibyte.c40 struct i2c_algo_sibyte_data *adap = i2c_adap->algo_data; smbus_xfer() local
44 while (csr_in32(SMB_CSR(adap, R_SMB_STATUS)) & M_SMB_BUSY) smbus_xfer()
51 V_SMB_TT_QUICKCMD), SMB_CSR(adap, R_SMB_START)); smbus_xfer()
56 SMB_CSR(adap, R_SMB_START)); smbus_xfer()
59 csr_out32(V_SMB_CMD(command), SMB_CSR(adap, R_SMB_CMD)); smbus_xfer()
61 SMB_CSR(adap, R_SMB_START)); smbus_xfer()
65 csr_out32(V_SMB_CMD(command), SMB_CSR(adap, R_SMB_CMD)); smbus_xfer()
68 SMB_CSR(adap, R_SMB_START)); smbus_xfer()
72 SMB_CSR(adap, R_SMB_DATA)); smbus_xfer()
74 SMB_CSR(adap, R_SMB_START)); smbus_xfer()
78 csr_out32(V_SMB_CMD(command), SMB_CSR(adap, R_SMB_CMD)); smbus_xfer()
81 SMB_CSR(adap, R_SMB_START)); smbus_xfer()
85 SMB_CSR(adap, R_SMB_DATA)); smbus_xfer()
87 SMB_CSR(adap, R_SMB_DATA)); smbus_xfer()
89 SMB_CSR(adap, R_SMB_START)); smbus_xfer()
96 while (csr_in32(SMB_CSR(adap, R_SMB_STATUS)) & M_SMB_BUSY) smbus_xfer()
99 error = csr_in32(SMB_CSR(adap, R_SMB_STATUS)); smbus_xfer()
102 csr_out32(M_SMB_ERROR, SMB_CSR(adap, R_SMB_STATUS)); smbus_xfer()
107 data->byte = csr_in32(SMB_CSR(adap, R_SMB_DATA)) & 0xff; smbus_xfer()
109 data->word = csr_in32(SMB_CSR(adap, R_SMB_DATA)) & 0xffff; smbus_xfer()
114 static u32 bit_func(struct i2c_adapter *adap) bit_func() argument
133 struct i2c_algo_sibyte_data *adap = i2c_adap->algo_data; i2c_sibyte_add_bus() local
139 csr_out32(speed, SMB_CSR(adap,R_SMB_FREQ)); i2c_sibyte_add_bus()
140 csr_out32(0, SMB_CSR(adap,R_SMB_CONTROL)); i2c_sibyte_add_bus()
H A Di2c-xlr.c67 struct i2c_adapter adap; member in struct:xlr_i2c_private
74 struct i2c_adapter *adap = &priv->adap; xlr_i2c_tx() local
127 dev_err(&adap->dev, "I2C transmit timeout\n"); xlr_i2c_tx()
133 struct i2c_adapter *adap = &priv->adap; xlr_i2c_rx() local
181 dev_err(&adap->dev, "I2C receive timeout\n"); xlr_i2c_rx()
185 static int xlr_i2c_xfer(struct i2c_adapter *adap, xlr_i2c_xfer() argument
191 struct xlr_i2c_private *priv = i2c_get_adapdata(adap); xlr_i2c_xfer()
206 static u32 xlr_func(struct i2c_adapter *adap) xlr_func() argument
232 priv->adap.dev.parent = &pdev->dev; xlr_i2c_probe()
233 priv->adap.owner = THIS_MODULE; xlr_i2c_probe()
234 priv->adap.algo_data = priv; xlr_i2c_probe()
235 priv->adap.algo = &xlr_i2c_algo; xlr_i2c_probe()
236 priv->adap.nr = pdev->id; xlr_i2c_probe()
237 priv->adap.class = I2C_CLASS_HWMON; xlr_i2c_probe()
238 snprintf(priv->adap.name, sizeof(priv->adap.name), "xlr-i2c"); xlr_i2c_probe()
240 i2c_set_adapdata(&priv->adap, priv); xlr_i2c_probe()
241 ret = i2c_add_numbered_adapter(&priv->adap); xlr_i2c_probe()
243 dev_err(&priv->adap.dev, "Failed to add i2c bus.\n"); xlr_i2c_probe()
248 dev_info(&priv->adap.dev, "Added I2C Bus.\n"); xlr_i2c_probe()
257 i2c_del_adapter(&priv->adap); xlr_i2c_remove()
H A Di2c-versatile.c27 struct i2c_adapter adap; member in struct:i2c_versatile
98 i2c->adap.owner = THIS_MODULE; i2c_versatile_probe()
99 strlcpy(i2c->adap.name, "Versatile I2C adapter", sizeof(i2c->adap.name)); i2c_versatile_probe()
100 i2c->adap.algo_data = &i2c->algo; i2c_versatile_probe()
101 i2c->adap.dev.parent = &dev->dev; i2c_versatile_probe()
102 i2c->adap.dev.of_node = dev->dev.of_node; i2c_versatile_probe()
106 i2c->adap.nr = dev->id; i2c_versatile_probe()
107 ret = i2c_bit_add_numbered_bus(&i2c->adap); i2c_versatile_probe()
126 i2c_del_adapter(&i2c->adap); i2c_versatile_remove()
H A Di2c-sis630.c129 static int sis630_transaction_start(struct i2c_adapter *adap, int size, sis630_transaction_start() argument
137 dev_dbg(&adap->dev, "SMBus busy (%02x). Resetting...\n", temp); sis630_transaction_start()
143 dev_dbg(&adap->dev, "Failed! (%02x)\n", temp); sis630_transaction_start()
146 dev_dbg(&adap->dev, "Successful!\n"); sis630_transaction_start()
153 dev_dbg(&adap->dev, "saved clock 0x%02x\n", *oldclock); sis630_transaction_start()
172 static int sis630_transaction_wait(struct i2c_adapter *adap, int size) sis630_transaction_wait() argument
187 dev_dbg(&adap->dev, "SMBus Timeout!\n"); sis630_transaction_wait()
192 dev_dbg(&adap->dev, "Error: Failed bus transaction\n"); sis630_transaction_wait()
197 dev_err(&adap->dev, "Bus collision!\n"); sis630_transaction_wait()
204 static void sis630_transaction_end(struct i2c_adapter *adap, u8 oldclock) sis630_transaction_end() argument
209 dev_dbg(&adap->dev, sis630_transaction_end()
219 dev_dbg(&adap->dev, sis630_transaction_end()
223 static int sis630_transaction(struct i2c_adapter *adap, int size) sis630_transaction() argument
228 result = sis630_transaction_start(adap, size, &oldclock); sis630_transaction()
230 result = sis630_transaction_wait(adap, size); sis630_transaction()
231 sis630_transaction_end(adap, oldclock); sis630_transaction()
237 static int sis630_block_data(struct i2c_adapter *adap, sis630_block_data() argument
251 dev_dbg(&adap->dev, sis630_block_data()
256 dev_dbg(&adap->dev, sis630_block_data()
259 rc = sis630_transaction_start(adap, sis630_block_data()
264 dev_dbg(&adap->dev, sis630_block_data()
267 dev_dbg(&adap->dev, sis630_block_data()
277 rc = sis630_transaction_wait(adap, sis630_block_data()
280 dev_dbg(&adap->dev, sis630_block_data()
289 rc = sis630_transaction_start(adap, sis630_block_data()
294 rc = sis630_transaction_wait(adap, SIS630_BLOCK_DATA); sis630_block_data()
296 dev_dbg(&adap->dev, "trans_wait failed\n"); sis630_block_data()
307 dev_dbg(&adap->dev, sis630_block_data()
311 dev_dbg(&adap->dev, sis630_block_data()
317 dev_dbg(&adap->dev, sis630_block_data()
325 sis630_transaction_end(adap, oldclock); sis630_block_data()
331 static s32 sis630_access(struct i2c_adapter *adap, u16 addr, sis630_access() argument
375 return sis630_block_data(adap, data, read_write); sis630_access()
377 dev_warn(&adap->dev, "Unsupported transaction %d\n", size); sis630_access()
381 status = sis630_transaction(adap, size); sis630_access()
H A Di2c-powermac.c36 static s32 i2c_powermac_smbus_xfer( struct i2c_adapter* adap, i2c_powermac_smbus_xfer() argument
44 struct pmac_i2c_bus *bus = i2c_get_adapdata(adap); i2c_powermac_smbus_xfer()
108 dev_err(&adap->dev, "Failed to open I2C, err %d\n", rc); i2c_powermac_smbus_xfer()
114 dev_err(&adap->dev, "Failed to set I2C mode %d, err %d\n", i2c_powermac_smbus_xfer()
122 dev_dbg(&adap->dev, i2c_powermac_smbus_xfer()
126 dev_err(&adap->dev, i2c_powermac_smbus_xfer()
147 static int i2c_powermac_master_xfer( struct i2c_adapter *adap, i2c_powermac_master_xfer() argument
151 struct pmac_i2c_bus *bus = i2c_get_adapdata(adap); i2c_powermac_master_xfer()
163 dev_err(&adap->dev, "Failed to open I2C, err %d\n", rc); i2c_powermac_master_xfer()
168 dev_err(&adap->dev, "Failed to set I2C mode %d, err %d\n", i2c_powermac_master_xfer()
175 dev_dbg(&adap->dev, "I2C %s 0x%02x failed, err %d\n", i2c_powermac_master_xfer()
179 dev_err(&adap->dev, "I2C %s 0x%02x failed, err %d\n", i2c_powermac_master_xfer()
216 static u32 i2c_powermac_get_addr(struct i2c_adapter *adap, i2c_powermac_get_addr() argument
239 dev_warn(&adap->dev, "No i2c address for %s\n", node->full_name); i2c_powermac_get_addr()
244 static void i2c_powermac_create_one(struct i2c_adapter *adap, i2c_powermac_create_one() argument
253 newdev = i2c_new_device(adap, &info); i2c_powermac_create_one()
255 dev_err(&adap->dev, i2c_powermac_create_one()
260 static void i2c_powermac_add_missing(struct i2c_adapter *adap, i2c_powermac_add_missing() argument
272 rc = i2c_smbus_xfer(adap, 0x46, 0, I2C_SMBUS_READ, i2c_powermac_add_missing()
276 i2c_powermac_create_one(adap, "MAC,pcm3052", 0x46); i2c_powermac_add_missing()
278 rc = i2c_smbus_xfer(adap, 0x47, 0, I2C_SMBUS_READ, i2c_powermac_add_missing()
282 i2c_powermac_create_one(adap, "MAC,pcm3052", 0x47); i2c_powermac_add_missing()
286 static bool i2c_powermac_get_type(struct i2c_adapter *adap, i2c_powermac_get_type() argument
320 dev_err(&adap->dev, "i2c-powermac: modalias failure" i2c_powermac_get_type()
325 static void i2c_powermac_register_devices(struct i2c_adapter *adap, i2c_powermac_register_devices() argument
337 if (!strcmp(adap->dev.of_node->name, "via-pmu")) i2c_powermac_register_devices()
340 for_each_child_of_node(adap->dev.of_node, node) { i2c_powermac_register_devices()
345 addr = i2c_powermac_get_addr(adap, bus, node); i2c_powermac_register_devices()
350 if (!pmac_i2c_match_adapter(node, adap)) i2c_powermac_register_devices()
353 dev_dbg(&adap->dev, "i2c-powermac: register %s\n", i2c_powermac_register_devices()
364 if (!i2c_powermac_get_type(adap, node, addr, i2c_powermac_register_devices()
374 newdev = i2c_new_device(adap, &info); i2c_powermac_register_devices()
376 dev_err(&adap->dev, "i2c-powermac: Failure to register" i2c_powermac_register_devices()
389 i2c_powermac_add_missing(adap, bus, found_onyx); i2c_powermac_register_devices()
H A Di2c-gpio.c22 struct i2c_adapter adap; member in struct:i2c_gpio_private_data
132 struct i2c_adapter *adap; i2c_gpio_probe() local
166 adap = &priv->adap; i2c_gpio_probe()
212 adap->owner = THIS_MODULE; i2c_gpio_probe()
214 strlcpy(adap->name, dev_name(&pdev->dev), sizeof(adap->name)); i2c_gpio_probe()
216 snprintf(adap->name, sizeof(adap->name), "i2c-gpio%d", pdev->id); i2c_gpio_probe()
218 adap->algo_data = bit_data; i2c_gpio_probe()
219 adap->class = I2C_CLASS_HWMON | I2C_CLASS_SPD; i2c_gpio_probe()
220 adap->dev.parent = &pdev->dev; i2c_gpio_probe()
221 adap->dev.of_node = pdev->dev.of_node; i2c_gpio_probe()
223 adap->nr = pdev->id; i2c_gpio_probe()
224 ret = i2c_bit_add_numbered_bus(adap); i2c_gpio_probe()
241 struct i2c_adapter *adap; i2c_gpio_remove() local
244 adap = &priv->adap; i2c_gpio_remove()
246 i2c_del_adapter(adap); i2c_gpio_remove()
H A Di2c-simtec.c30 struct i2c_adapter adap; member in struct:simtec_i2c_data
106 pd->adap.owner = THIS_MODULE; simtec_i2c_probe()
107 pd->adap.algo_data = &pd->bit; simtec_i2c_probe()
108 pd->adap.dev.parent = &dev->dev; simtec_i2c_probe()
110 strlcpy(pd->adap.name, "Simtec I2C", sizeof(pd->adap.name)); simtec_i2c_probe()
120 ret = i2c_bit_add_bus(&pd->adap); simtec_i2c_probe()
142 i2c_del_adapter(&pd->adap); simtec_i2c_remove()
H A Di2c-pca-platform.c34 struct i2c_adapter adap; member in struct:i2c_pca_pf_data
88 & I2C_PCA_CON_SI, i2c->adap.timeout); i2c_pca_pf_waitforcompletion()
91 timeout = jiffies + i2c->adap.timeout; i2c_pca_pf_waitforcompletion()
108 i2c->adap.name); i2c_pca_pf_dummyreset()
173 i2c->adap.nr = pdev->id; i2c_pca_pf_probe()
174 i2c->adap.owner = THIS_MODULE; i2c_pca_pf_probe()
175 snprintf(i2c->adap.name, sizeof(i2c->adap.name), i2c_pca_pf_probe()
178 i2c->adap.algo_data = &i2c->algo_data; i2c_pca_pf_probe()
179 i2c->adap.dev.parent = &pdev->dev; i2c_pca_pf_probe()
182 i2c->adap.timeout = platform_data->timeout; i2c_pca_pf_probe()
186 i2c->adap.timeout = HZ; i2c_pca_pf_probe()
213 ret = gpio_request(i2c->gpio, i2c->adap.name); i2c_pca_pf_probe()
219 i2c->adap.name); i2c_pca_pf_probe()
231 if (i2c_pca_add_numbered_bus(&i2c->adap) < 0) { i2c_pca_pf_probe()
238 printk(KERN_INFO "%s registered.\n", i2c->adap.name); i2c_pca_pf_probe()
263 i2c_del_adapter(&i2c->adap); i2c_pca_pf_remove()
H A Di2c-cpm.c105 struct i2c_adapter adap; member in struct:cpm_i2c
127 struct i2c_adapter *adap = dev_id; cpm_i2c_interrupt() local
137 dev_dbg(&adap->dev, "Interrupt: %x\n", i); cpm_i2c_interrupt()
174 static void cpm_i2c_force_close(struct i2c_adapter *adap) cpm_i2c_force_close() argument
176 struct cpm_i2c *cpm = i2c_get_adapdata(adap); cpm_i2c_force_close()
179 dev_dbg(&adap->dev, "cpm_i2c_force_close()\n"); cpm_i2c_force_close()
187 static void cpm_i2c_parse_message(struct i2c_adapter *adap, cpm_i2c_parse_message() argument
195 struct cpm_i2c *cpm = i2c_get_adapdata(adap); cpm_i2c_parse_message()
228 dev_dbg(&adap->dev, "cpm_i2c_read(abyte=0x%x)\n", addr); cpm_i2c_parse_message()
239 dev_dbg(&adap->dev, "cpm_i2c_write(abyte=0x%x)\n", addr); cpm_i2c_parse_message()
248 static int cpm_i2c_check_message(struct i2c_adapter *adap, cpm_i2c_check_message() argument
255 struct cpm_i2c *cpm = i2c_get_adapdata(adap); cpm_i2c_check_message()
268 dev_dbg(&adap->dev, "tx sc 0x%04x, rx sc 0x%04x\n", cpm_i2c_check_message()
272 dev_dbg(&adap->dev, "I2C read; No ack\n"); cpm_i2c_check_message()
276 dev_err(&adap->dev, cpm_i2c_check_message()
281 dev_err(&adap->dev, "I2C read; Overrun\n"); cpm_i2c_check_message()
286 dev_dbg(&adap->dev, "tx sc %d 0x%04x\n", tx, cpm_i2c_check_message()
290 dev_dbg(&adap->dev, "I2C write; No ack\n"); cpm_i2c_check_message()
294 dev_err(&adap->dev, "I2C write; Underrun\n"); cpm_i2c_check_message()
298 dev_err(&adap->dev, "I2C write; Collision\n"); cpm_i2c_check_message()
305 static int cpm_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num) cpm_i2c_xfer() argument
307 struct cpm_i2c *cpm = i2c_get_adapdata(adap); cpm_i2c_xfer()
337 dev_dbg(&adap->dev, "R: %d T: %d\n", rptr, tptr); cpm_i2c_xfer()
339 cpm_i2c_parse_message(adap, pmsg, num, tptr, rptr); cpm_i2c_xfer()
358 dev_dbg(&adap->dev, "test ready.\n"); cpm_i2c_xfer()
371 dev_err(&adap->dev, "I2C transfer: timeout\n"); cpm_i2c_xfer()
375 dev_dbg(&adap->dev, "ready.\n"); cpm_i2c_xfer()
376 ret = cpm_i2c_check_message(adap, pmsg, tptr, rptr); cpm_i2c_xfer()
395 cpm_i2c_force_close(adap); cpm_i2c_xfer()
405 static u32 cpm_i2c_func(struct i2c_adapter *adap) cpm_i2c_func() argument
451 &cpm->adap); cpm_i2c_setup()
509 cpm->adap.class = *data; cpm_i2c_setup()
605 free_irq(cpm->irq, &cpm->adap); cpm_i2c_setup()
620 free_irq(cpm->irq, &cpm->adap); cpm_i2c_shutdown()
653 cpm->adap = cpm_ops; cpm_i2c_probe()
654 i2c_set_adapdata(&cpm->adap, cpm); cpm_i2c_probe()
655 cpm->adap.dev.parent = &ofdev->dev; cpm_i2c_probe()
656 cpm->adap.dev.of_node = of_node_get(ofdev->dev.of_node); cpm_i2c_probe()
667 cpm->adap.nr = (data && len == 4) ? be32_to_cpup(data) : -1; cpm_i2c_probe()
668 result = i2c_add_numbered_adapter(&cpm->adap); cpm_i2c_probe()
676 cpm->adap.name); cpm_i2c_probe()
691 i2c_del_adapter(&cpm->adap); cpm_i2c_remove()
H A Di2c-davinci.c261 static void davinci_i2c_prepare_recovery(struct i2c_adapter *adap) davinci_i2c_prepare_recovery() argument
263 struct davinci_i2c_dev *dev = i2c_get_adapdata(adap); davinci_i2c_prepare_recovery()
272 static void davinci_i2c_unprepare_recovery(struct i2c_adapter *adap) davinci_i2c_unprepare_recovery() argument
274 struct davinci_i2c_dev *dev = i2c_get_adapdata(adap); davinci_i2c_unprepare_recovery()
285 static void davinci_i2c_set_scl(struct i2c_adapter *adap, int val) davinci_i2c_set_scl() argument
287 struct davinci_i2c_dev *dev = i2c_get_adapdata(adap); davinci_i2c_set_scl()
297 static int davinci_i2c_get_scl(struct i2c_adapter *adap) davinci_i2c_get_scl() argument
299 struct davinci_i2c_dev *dev = i2c_get_adapdata(adap); davinci_i2c_get_scl()
307 static int davinci_i2c_get_sda(struct i2c_adapter *adap) davinci_i2c_get_sda() argument
309 struct davinci_i2c_dev *dev = i2c_get_adapdata(adap); davinci_i2c_get_sda()
317 static void davinci_i2c_scl_prepare_recovery(struct i2c_adapter *adap) davinci_i2c_scl_prepare_recovery() argument
319 struct davinci_i2c_dev *dev = i2c_get_adapdata(adap); davinci_i2c_scl_prepare_recovery()
321 davinci_i2c_prepare_recovery(adap); davinci_i2c_scl_prepare_recovery()
331 static void davinci_i2c_scl_unprepare_recovery(struct i2c_adapter *adap) davinci_i2c_scl_unprepare_recovery() argument
333 struct davinci_i2c_dev *dev = i2c_get_adapdata(adap); davinci_i2c_scl_unprepare_recovery()
338 davinci_i2c_unprepare_recovery(adap); davinci_i2c_scl_unprepare_recovery()
385 i2c_davinci_xfer_msg(struct i2c_adapter *adap, struct i2c_msg *msg, int stop) i2c_davinci_xfer_msg() argument
387 struct davinci_i2c_dev *dev = i2c_get_adapdata(adap); i2c_davinci_xfer_msg()
459 i2c_recover_bus(adap); i2c_davinci_xfer_msg()
500 i2c_davinci_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num) i2c_davinci_xfer() argument
502 struct davinci_i2c_dev *dev = i2c_get_adapdata(adap); i2c_davinci_xfer()
515 ret = i2c_davinci_xfer_msg(adap, &msgs[i], (i == (num - 1))); i2c_davinci_xfer()
529 static u32 i2c_davinci_func(struct i2c_adapter *adap) i2c_davinci_func() argument
714 struct i2c_adapter *adap; davinci_i2c_probe() local
792 adap = &dev->adapter; davinci_i2c_probe()
793 i2c_set_adapdata(adap, dev); davinci_i2c_probe()
794 adap->owner = THIS_MODULE; davinci_i2c_probe()
795 adap->class = I2C_CLASS_DEPRECATED; davinci_i2c_probe()
796 strlcpy(adap->name, "DaVinci I2C adapter", sizeof(adap->name)); davinci_i2c_probe()
797 adap->algo = &i2c_davinci_algo; davinci_i2c_probe()
798 adap->dev.parent = &pdev->dev; davinci_i2c_probe()
799 adap->timeout = DAVINCI_I2C_TIMEOUT; davinci_i2c_probe()
800 adap->dev.of_node = pdev->dev.of_node; davinci_i2c_probe()
803 adap->bus_recovery_info = &davinci_i2c_scl_recovery_info; davinci_i2c_probe()
805 adap->bus_recovery_info = &davinci_i2c_gpio_recovery_info; davinci_i2c_probe()
806 adap->bus_recovery_info->scl_gpio = dev->pdata->scl_pin; davinci_i2c_probe()
807 adap->bus_recovery_info->sda_gpio = dev->pdata->sda_pin; davinci_i2c_probe()
810 adap->nr = pdev->id; davinci_i2c_probe()
811 r = i2c_add_numbered_adapter(adap); davinci_i2c_probe()
H A Di2c-cros-ec-tunnel.c25 * @adap: I2C adapter
34 struct i2c_adapter adap; member in struct:ec_i2c_device
177 static int ec_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg i2c_msgs[], ec_i2c_xfer() argument
180 struct ec_i2c_device *bus = adap->algo_data; ec_i2c_xfer()
222 static u32 ec_i2c_functionality(struct i2c_adapter *adap) ec_i2c_functionality() argument
260 bus->adap.owner = THIS_MODULE; ec_i2c_probe()
261 strlcpy(bus->adap.name, "cros-ec-i2c-tunnel", sizeof(bus->adap.name)); ec_i2c_probe()
262 bus->adap.algo = &ec_i2c_algorithm; ec_i2c_probe()
263 bus->adap.algo_data = bus; ec_i2c_probe()
264 bus->adap.dev.parent = &pdev->dev; ec_i2c_probe()
265 bus->adap.dev.of_node = np; ec_i2c_probe()
266 bus->adap.retries = I2C_MAX_RETRIES; ec_i2c_probe()
268 err = i2c_add_adapter(&bus->adap); ec_i2c_probe()
282 i2c_del_adapter(&bus->adap); ec_i2c_remove()
H A Di2c-bcm2835.c193 static int bcm2835_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], bcm2835_i2c_xfer() argument
196 struct bcm2835_i2c_dev *i2c_dev = i2c_get_adapdata(adap); bcm2835_i2c_xfer()
209 static u32 bcm2835_i2c_func(struct i2c_adapter *adap) bcm2835_i2c_func() argument
225 struct i2c_adapter *adap; bcm2835_i2c_probe() local
277 adap = &i2c_dev->adapter; bcm2835_i2c_probe()
278 i2c_set_adapdata(adap, i2c_dev); bcm2835_i2c_probe()
279 adap->owner = THIS_MODULE; bcm2835_i2c_probe()
280 adap->class = I2C_CLASS_DEPRECATED; bcm2835_i2c_probe()
281 strlcpy(adap->name, "bcm2835 I2C adapter", sizeof(adap->name)); bcm2835_i2c_probe()
282 adap->algo = &bcm2835_i2c_algo; bcm2835_i2c_probe()
283 adap->dev.parent = &pdev->dev; bcm2835_i2c_probe()
284 adap->dev.of_node = pdev->dev.of_node; bcm2835_i2c_probe()
288 ret = i2c_add_adapter(adap); bcm2835_i2c_probe()
H A Di2c-nforce2.c134 static void nforce2_set_reference(struct i2c_adapter *adap) nforce2_set_reference() argument
136 nforce2_smbus = adap; nforce2_set_reference()
139 static inline void nforce2_set_reference(struct i2c_adapter *adap) { } nforce2_set_reference() argument
142 static void nforce2_abort(struct i2c_adapter *adap) nforce2_abort() argument
144 struct nforce2_smbus *smbus = adap->algo_data; nforce2_abort()
148 dev_dbg(&adap->dev, "Aborting current transaction\n"); nforce2_abort()
157 dev_err(&adap->dev, "Can't reset the smbus\n"); nforce2_abort()
161 static int nforce2_check_status(struct i2c_adapter *adap) nforce2_check_status() argument
163 struct nforce2_smbus *smbus = adap->algo_data; nforce2_check_status()
173 dev_dbg(&adap->dev, "SMBus Timeout!\n"); nforce2_check_status()
175 nforce2_abort(adap); nforce2_check_status()
179 dev_dbg(&adap->dev, "Transaction failed (0x%02x)!\n", temp); nforce2_check_status()
186 static s32 nforce2_access(struct i2c_adapter *adap, u16 addr, nforce2_access() argument
190 struct nforce2_smbus *smbus = adap->algo_data; nforce2_access()
232 dev_err(&adap->dev, nforce2_access()
246 dev_err(&adap->dev, "Unsupported transaction %d\n", size); nforce2_access()
253 status = nforce2_check_status(adap); nforce2_access()
274 dev_err(&adap->dev, nforce2_access()
H A Di2c-wmt.c126 static int wmt_i2c_write(struct i2c_adapter *adap, struct i2c_msg *pmsg, wmt_i2c_write() argument
129 struct wmt_i2c_dev *i2c_dev = i2c_get_adapdata(adap); wmt_i2c_write()
217 static int wmt_i2c_read(struct i2c_adapter *adap, struct i2c_msg *pmsg, wmt_i2c_read() argument
220 struct wmt_i2c_dev *i2c_dev = i2c_get_adapdata(adap); wmt_i2c_read()
297 static int wmt_i2c_xfer(struct i2c_adapter *adap, wmt_i2c_xfer() argument
310 ret = wmt_i2c_read(adap, pmsg, is_last); wmt_i2c_xfer()
312 ret = wmt_i2c_write(adap, pmsg, is_last); wmt_i2c_xfer()
318 static u32 wmt_i2c_func(struct i2c_adapter *adap) wmt_i2c_func() argument
378 struct i2c_adapter *adap; wmt_i2c_probe() local
418 adap = &i2c_dev->adapter; wmt_i2c_probe()
419 i2c_set_adapdata(adap, i2c_dev); wmt_i2c_probe()
420 strlcpy(adap->name, "WMT I2C adapter", sizeof(adap->name)); wmt_i2c_probe()
421 adap->owner = THIS_MODULE; wmt_i2c_probe()
422 adap->algo = &wmt_i2c_algo; wmt_i2c_probe()
423 adap->dev.parent = &pdev->dev; wmt_i2c_probe()
424 adap->dev.of_node = pdev->dev.of_node; wmt_i2c_probe()
434 err = i2c_add_adapter(adap); wmt_i2c_probe()
H A Di2c-pxa.c15 * Jun 2002: Properly separated algo/adap [FB]
136 struct i2c_adapter adap; member in struct:pxa_i2c
247 dev_dbg(&i2c->adap.dev, "state:%s:%d: ISR=%08x, ICR=%08x, IBMR=%02x\n", fname, lno, i2c_pxa_show_state()
291 dev_dbg(&i2c->adap.dev, "%s: called in slave mode\n", __func__); i2c_pxa_abort()
337 dev_dbg(&i2c->adap.dev, "%s: %ld: ISR=%08x, ICR=%08x, IBMR=%02x\n", i2c_pxa_wait_master()
342 dev_dbg(&i2c->adap.dev, "%s: Slave detected\n", __func__); i2c_pxa_wait_master()
352 dev_dbg(&i2c->adap.dev, "%s: done\n", __func__); i2c_pxa_wait_master()
360 dev_dbg(&i2c->adap.dev, "%s: did not free\n", __func__); i2c_pxa_wait_master()
368 dev_dbg(&i2c->adap.dev, "setting to bus master\n"); i2c_pxa_set_master()
371 dev_dbg(&i2c->adap.dev, "%s: unit is busy\n", __func__); i2c_pxa_set_master()
373 dev_dbg(&i2c->adap.dev, "%s: error: unit busy\n", __func__); i2c_pxa_set_master()
393 dev_dbg(&i2c->adap.dev, "%s: %ld: ISR=%08x, ICR=%08x, IBMR=%02x\n", i2c_pxa_wait_slave()
400 dev_dbg(&i2c->adap.dev, "%s: done\n", __func__); i2c_pxa_wait_slave()
408 dev_dbg(&i2c->adap.dev, "%s: did not free\n", __func__); i2c_pxa_wait_slave()
432 dev_err(&i2c->adap.dev, "%s: wait timedout\n", i2c_pxa_set_slave()
442 dev_dbg(&i2c->adap.dev, "ICR now %08x, ISR %08x\n", readl(_ICR(i2c)), readl(_ISR(i2c))); i2c_pxa_set_slave()
470 dev_info(&i2c->adap.dev, "Enabling slave mode\n"); i2c_pxa_reset()
517 dev_dbg(&i2c->adap.dev, "SAD, mode is slave-%cx\n", i2c_pxa_slave_start()
541 dev_err(&i2c->adap.dev, "timeout waiting for SCL high\n"); i2c_pxa_slave_start()
552 dev_dbg(&i2c->adap.dev, "ISR: SSD (Slave Stop)\n"); i2c_pxa_slave_stop()
558 dev_dbg(&i2c->adap.dev, "ISR: SSD (Slave Stop) acked\n"); i2c_pxa_slave_stop()
604 dev_err(&i2c->adap.dev, "timeout waiting for SCL high\n"); i2c_pxa_slave_start()
676 dev_err(&i2c->adap.dev, i2c_pxa_pio_set_master()
767 dev_err(&i2c->adap.dev, "i2c_pxa: timeout waiting for bus free\n"); i2c_pxa_do_xfer()
776 dev_err(&i2c->adap.dev, "i2c_pxa_set_master: error %d\n", ret); i2c_pxa_do_xfer()
783 dev_err(&i2c->adap.dev, "i2c_pxa_send_mastercode timeout\n"); i2c_pxa_do_xfer()
820 static int i2c_pxa_pio_xfer(struct i2c_adapter *adap, i2c_pxa_pio_xfer() argument
823 struct pxa_i2c *i2c = adap->algo_data; i2c_pxa_pio_xfer()
833 for (i = adap->retries; i >= 0; i--) { i2c_pxa_pio_xfer()
839 dev_dbg(&adap->dev, "Retrying transmission\n"); i2c_pxa_pio_xfer()
1014 dev_dbg(&i2c->adap.dev, "%s: ISR=%08x, ICR=%08x, IBMR=%02x\n", i2c_pxa_handler()
1055 static int i2c_pxa_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num) i2c_pxa_xfer() argument
1057 struct pxa_i2c *i2c = adap->algo_data; i2c_pxa_xfer()
1060 for (i = adap->retries; i >= 0; i--) { i2c_pxa_xfer()
1066 dev_dbg(&adap->dev, "Retrying transmission\n"); i2c_pxa_xfer()
1076 static u32 i2c_pxa_functionality(struct i2c_adapter *adap) i2c_pxa_functionality() argument
1111 i2c->adap.nr = -1; i2c_pxa_probe_dt()
1156 i2c->adap.nr = dev->id; i2c_pxa_probe()
1176 i2c->adap.owner = THIS_MODULE; i2c_pxa_probe()
1177 i2c->adap.retries = 5; i2c_pxa_probe()
1182 strlcpy(i2c->adap.name, "pxa_i2c-i2c", sizeof(i2c->adap.name)); i2c_pxa_probe()
1216 i2c->adap.class = plat->class; i2c_pxa_probe()
1223 i2c->adap.name, clk_get_rate(i2c->clk)); i2c_pxa_probe()
1226 i2c->adap.name); i2c_pxa_probe()
1232 i2c->adap.algo = &i2c_pxa_pio_algorithm; i2c_pxa_probe()
1234 i2c->adap.algo = &i2c_pxa_algorithm; i2c_pxa_probe()
1243 i2c->adap.algo_data = i2c; i2c_pxa_probe()
1244 i2c->adap.dev.parent = &dev->dev; i2c_pxa_probe()
1246 i2c->adap.dev.of_node = dev->dev.of_node; i2c_pxa_probe()
1249 ret = i2c_add_numbered_adapter(&i2c->adap); i2c_pxa_probe()
1259 dev_name(&i2c->adap.dev), i2c->slave_addr); i2c_pxa_probe()
1262 dev_name(&i2c->adap.dev)); i2c_pxa_probe()
1285 i2c_del_adapter(&i2c->adap); i2c_pxa_remove()
H A Di2c-amd756-s4882.c47 static s32 amd756_access_virt0(struct i2c_adapter * adap, u16 addr, amd756_access_virt0() argument
61 error = amd756_smbus.algo->smbus_xfer(adap, addr, flags, read_write, amd756_access_virt0()
75 static inline s32 amd756_access_channel(struct i2c_adapter * adap, u16 addr, amd756_access_channel() argument
93 error = amd756_smbus.algo->smbus_xfer(adap, 0x18, 0, amd756_access_channel()
101 error = amd756_smbus.algo->smbus_xfer(adap, addr, flags, read_write, amd756_access_channel()
109 static s32 amd756_access_virt1(struct i2c_adapter * adap, u16 addr, amd756_access_virt1() argument
115 return amd756_access_channel(adap, addr, flags, read_write, command, amd756_access_virt1()
119 static s32 amd756_access_virt2(struct i2c_adapter * adap, u16 addr, amd756_access_virt2() argument
125 return amd756_access_channel(adap, addr, flags, read_write, command, amd756_access_virt2()
129 static s32 amd756_access_virt3(struct i2c_adapter * adap, u16 addr, amd756_access_virt3() argument
135 return amd756_access_channel(adap, addr, flags, read_write, command, amd756_access_virt3()
139 static s32 amd756_access_virt4(struct i2c_adapter * adap, u16 addr, amd756_access_virt4() argument
145 return amd756_access_channel(adap, addr, flags, read_write, command, amd756_access_virt4()
H A Di2c-digicolor.c51 struct i2c_adapter adap; member in struct:dc_i2c
248 static int dc_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num) dc_i2c_xfer() argument
250 struct dc_i2c *i2c = adap->algo_data; dc_i2c_xfer()
283 static u32 dc_i2c_func(struct i2c_adapter *adap) dc_i2c_func() argument
332 strlcpy(i2c->adap.name, "Conexant Digicolor I2C adapter", dc_i2c_probe()
333 sizeof(i2c->adap.name)); dc_i2c_probe()
334 i2c->adap.owner = THIS_MODULE; dc_i2c_probe()
335 i2c->adap.algo = &dc_i2c_algorithm; dc_i2c_probe()
336 i2c->adap.dev.parent = &pdev->dev; dc_i2c_probe()
337 i2c->adap.dev.of_node = np; dc_i2c_probe()
338 i2c->adap.algo_data = i2c; dc_i2c_probe()
348 ret = i2c_add_adapter(&i2c->adap); dc_i2c_probe()
361 i2c_del_adapter(&i2c->adap); dc_i2c_remove()
H A Di2c-nforce2-s4985.c45 static s32 nforce2_access_virt0(struct i2c_adapter *adap, u16 addr, nforce2_access_virt0() argument
58 error = nforce2_smbus->algo->smbus_xfer(adap, addr, flags, read_write, nforce2_access_virt0()
71 static inline s32 nforce2_access_channel(struct i2c_adapter *adap, u16 addr, nforce2_access_channel() argument
88 error = nforce2_smbus->algo->smbus_xfer(adap, 0x18, 0, nforce2_access_channel()
96 error = nforce2_smbus->algo->smbus_xfer(adap, addr, flags, read_write, nforce2_access_channel()
104 static s32 nforce2_access_virt1(struct i2c_adapter *adap, u16 addr, nforce2_access_virt1() argument
110 return nforce2_access_channel(adap, addr, flags, read_write, command, nforce2_access_virt1()
114 static s32 nforce2_access_virt2(struct i2c_adapter *adap, u16 addr, nforce2_access_virt2() argument
120 return nforce2_access_channel(adap, addr, flags, read_write, command, nforce2_access_virt2()
124 static s32 nforce2_access_virt3(struct i2c_adapter *adap, u16 addr, nforce2_access_virt3() argument
130 return nforce2_access_channel(adap, addr, flags, read_write, command, nforce2_access_virt3()
134 static s32 nforce2_access_virt4(struct i2c_adapter *adap, u16 addr, nforce2_access_virt4() argument
140 return nforce2_access_channel(adap, addr, flags, read_write, command, nforce2_access_virt4()
H A Di2c-sirf.c235 static u32 i2c_sirfsoc_func(struct i2c_adapter *adap) i2c_sirfsoc_func() argument
240 static int i2c_sirfsoc_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs, i2c_sirfsoc_xfer() argument
243 struct sirfsoc_i2c *siic = adap->algo_data; i2c_sirfsoc_xfer()
277 struct i2c_adapter *adap; i2c_sirfsoc_probe() local
313 adap = &siic->adapter; i2c_sirfsoc_probe()
314 adap->class = I2C_CLASS_DEPRECATED; i2c_sirfsoc_probe()
333 adap->algo = &i2c_sirfsoc_algo; i2c_sirfsoc_probe()
334 adap->algo_data = siic; i2c_sirfsoc_probe()
335 adap->retries = 3; i2c_sirfsoc_probe()
337 adap->dev.of_node = pdev->dev.of_node; i2c_sirfsoc_probe()
338 adap->dev.parent = &pdev->dev; i2c_sirfsoc_probe()
339 adap->nr = pdev->id; i2c_sirfsoc_probe()
341 strlcpy(adap->name, "sirfsoc-i2c", sizeof(adap->name)); i2c_sirfsoc_probe()
343 platform_set_drvdata(pdev, adap); i2c_sirfsoc_probe()
373 err = i2c_add_numbered_adapter(adap); i2c_sirfsoc_probe()
H A Di2c-xiic.c58 * @adap: Kernel adapter representation
70 struct i2c_adapter adap; member in struct:xiic_i2c
306 dev_dbg(i2c->adap.dev.parent, xiic_read_rx()
337 dev_dbg(i2c->adap.dev.parent, "%s entry, len: %d, fifo space: %d\n", xiic_fill_tx_fifo()
345 dev_dbg(i2c->adap.dev.parent, "%s TX STOP\n", __func__); xiic_fill_tx_fifo()
374 dev_dbg(i2c->adap.dev.parent, "%s: IER: 0x%x, ISR: 0x%x, pend: 0x%x\n", xiic_process()
376 dev_dbg(i2c->adap.dev.parent, "%s: SR: 0x%x, msg: %p, nmsgs: %d\n", xiic_process()
396 dev_dbg(i2c->adap.dev.parent, "%s error\n", __func__); xiic_process()
412 dev_dbg(i2c->adap.dev.parent, xiic_process()
426 dev_dbg(i2c->adap.dev.parent, xiic_process()
437 dev_dbg(i2c->adap.dev.parent, xiic_process()
466 dev_dbg(i2c->adap.dev.parent, xiic_process()
475 dev_dbg(i2c->adap.dev.parent, xiic_process()
485 dev_dbg(i2c->adap.dev.parent, xiic_process()
496 dev_err(i2c->adap.dev.parent, "%s Got unexpected IRQ\n", xiic_process()
501 dev_dbg(i2c->adap.dev.parent, "%s clr: 0x%x\n", __func__, clr); xiic_process()
577 dev_dbg(i2c->adap.dev.parent, "%s entry, msg: %p, len: %d", xiic_start_send()
579 dev_dbg(i2c->adap.dev.parent, "%s entry, ISR: 0x%x, CR: 0x%x\n", xiic_start_send()
609 dev_dbg(i2c->adap.dev.parent, "%s entry\n", __func__); xiic_isr()
623 dev_dbg(i2c->adap.dev.parent, "%s entry, msg: %p, fifos space: %d\n", __xiic_start_xfer()
677 static int xiic_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num) xiic_xfer() argument
679 struct xiic_i2c *i2c = i2c_get_adapdata(adap); xiic_xfer()
682 dev_dbg(adap->dev.parent, "%s entry SR: 0x%x\n", __func__, xiic_xfer()
705 static u32 xiic_func(struct i2c_adapter *adap) xiic_func() argument
749 i2c->adap = xiic_adapter; xiic_i2c_probe()
750 i2c_set_adapdata(&i2c->adap, i2c); xiic_i2c_probe()
751 i2c->adap.dev.parent = &pdev->dev; xiic_i2c_probe()
752 i2c->adap.dev.of_node = pdev->dev.of_node; xiic_i2c_probe()
778 ret = i2c_add_adapter(&i2c->adap); xiic_i2c_probe()
788 i2c_new_device(&i2c->adap, pdata->devices + i); xiic_i2c_probe()
799 i2c_del_adapter(&i2c->adap); xiic_i2c_remove()
H A Di2c-designware-pcidrv.c195 struct i2c_adapter *adap; i2c_dw_pci_probe() local
253 adap = &dev->adapter; i2c_dw_pci_probe()
254 i2c_set_adapdata(adap, dev); i2c_dw_pci_probe()
255 adap->owner = THIS_MODULE; i2c_dw_pci_probe()
256 adap->class = 0; i2c_dw_pci_probe()
257 adap->algo = &i2c_dw_algo; i2c_dw_pci_probe()
258 adap->dev.parent = &pdev->dev; i2c_dw_pci_probe()
259 adap->nr = controller->bus_num; i2c_dw_pci_probe()
261 snprintf(adap->name, sizeof(adap->name), "i2c-designware-pci"); i2c_dw_pci_probe()
264 adap->name, dev); i2c_dw_pci_probe()
272 r = i2c_add_numbered_adapter(adap); i2c_dw_pci_probe()
H A Di2c-bfin-twi.c118 dev_dbg(&iface->adap.dev, "Lost Arbitration\n"); bfin_twi_handle_interrupt()
120 dev_dbg(&iface->adap.dev, "Address Not Acknowledged\n"); bfin_twi_handle_interrupt()
122 dev_dbg(&iface->adap.dev, "Data Not Acknowledged\n"); bfin_twi_handle_interrupt()
124 dev_dbg(&iface->adap.dev, "Buffer Read Error\n"); bfin_twi_handle_interrupt()
126 dev_dbg(&iface->adap.dev, "Buffer Write Error\n"); bfin_twi_handle_interrupt()
258 static int bfin_twi_do_master_xfer(struct i2c_adapter *adap, bfin_twi_do_master_xfer() argument
261 struct bfin_twi_iface *iface = adap->algo_data; bfin_twi_do_master_xfer()
277 dev_err(&adap->dev, "10 bits addr not supported!\n"); bfin_twi_do_master_xfer()
329 adap->timeout)) { bfin_twi_do_master_xfer()
331 dev_err(&adap->dev, "master transfer timeout\n"); bfin_twi_do_master_xfer()
346 static int bfin_twi_master_xfer(struct i2c_adapter *adap, bfin_twi_master_xfer() argument
349 return bfin_twi_do_master_xfer(adap, msgs, num); bfin_twi_master_xfer()
355 int bfin_twi_do_smbus_xfer(struct i2c_adapter *adap, u16 addr, bfin_twi_do_smbus_xfer() argument
359 struct bfin_twi_iface *iface = adap->algo_data; bfin_twi_do_smbus_xfer()
533 adap->timeout)) { bfin_twi_do_smbus_xfer()
535 dev_err(&adap->dev, "smbus transfer timeout\n"); bfin_twi_do_smbus_xfer()
547 int bfin_twi_smbus_xfer(struct i2c_adapter *adap, u16 addr, bfin_twi_smbus_xfer() argument
551 return bfin_twi_do_smbus_xfer(adap, addr, flags, bfin_twi_smbus_xfer()
558 static u32 bfin_twi_functionality(struct i2c_adapter *adap) bfin_twi_functionality() argument
646 p_adap = &iface->adap; i2c_bfin_twi_probe()
709 i2c_del_adapter(&(iface->adap)); i2c_bfin_twi_remove()
H A Di2c-jz4780.c153 struct i2c_adapter adap; member in struct:jz4780_i2c
206 dev_err(&i2c->adap.dev, "disable failed: ENSTA=0x%04x\n", regval); jz4780_i2c_disable()
225 dev_err(&i2c->adap.dev, "enable failed: ENSTA=0x%04x\n", regval); jz4780_i2c_enable()
248 dev_err(&i2c->adap.dev, jz4780_i2c_set_target()
267 dev_dbg(&i2c->adap.dev, "i2c not disabled\n"); jz4780_i2c_set_speed()
394 dev_err(&i2c->adap.dev, jz4780_i2c_cleanup()
399 dev_err(&i2c->adap.dev, jz4780_i2c_cleanup()
445 dev_dbg(&i2c->adap.dev, "received fifo overflow!\n"); jz4780_i2c_irq()
543 dev_err(&i2c->adap.dev, "txabrt: 0x%08x\n", src); jz4780_i2c_txabrt()
544 dev_err(&i2c->adap.dev, "device addr=%x\n", jz4780_i2c_txabrt()
546 dev_err(&i2c->adap.dev, "send cmd count:%d %d\n", jz4780_i2c_txabrt()
548 dev_err(&i2c->adap.dev, "receive data count:%d %d\n", jz4780_i2c_txabrt()
553 dev_dbg(&i2c->adap.dev, "I2C TXABRT[%d]=%s\n", jz4780_i2c_txabrt()
600 dev_err(&i2c->adap.dev, "irq read timeout\n"); jz4780_i2c_xfer_read()
601 dev_dbg(&i2c->adap.dev, "send cmd count:%d %d\n", jz4780_i2c_xfer_read()
603 dev_dbg(&i2c->adap.dev, "receive data count:%d %d\n", jz4780_i2c_xfer_read()
668 dev_err(&i2c->adap.dev, "write wait timeout\n"); jz4780_i2c_xfer_write()
681 static int jz4780_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg *msg, jz4780_i2c_xfer() argument
686 struct jz4780_i2c *i2c = adap->algo_data; jz4780_i2c_xfer()
690 dev_err(&i2c->adap.dev, "I2C prepare failed\n"); jz4780_i2c_xfer()
718 static u32 jz4780_i2c_functionality(struct i2c_adapter *adap) jz4780_i2c_functionality() argument
745 i2c->adap.owner = THIS_MODULE; jz4780_i2c_probe()
746 i2c->adap.algo = &jz4780_i2c_algorithm; jz4780_i2c_probe()
747 i2c->adap.algo_data = i2c; jz4780_i2c_probe()
748 i2c->adap.retries = 5; jz4780_i2c_probe()
749 i2c->adap.dev.parent = &pdev->dev; jz4780_i2c_probe()
750 i2c->adap.dev.of_node = pdev->dev.of_node; jz4780_i2c_probe()
751 sprintf(i2c->adap.name, "%s", pdev->name); jz4780_i2c_probe()
798 ret = i2c_add_adapter(&i2c->adap); jz4780_i2c_probe()
816 i2c_del_adapter(&i2c->adap); jz4780_i2c_remove()
H A Di2c-amd756.c104 static int amd756_transaction(struct i2c_adapter *adap) amd756_transaction() argument
110 dev_dbg(&adap->dev, "Transaction (pre): GS=%04x, GE=%04x, ADD=%04x, " amd756_transaction()
117 dev_dbg(&adap->dev, "SMBus busy (%04x). Waiting...\n", temp); amd756_transaction()
125 dev_dbg(&adap->dev, "Busy wait timeout (%04x)\n", temp); amd756_transaction()
142 dev_dbg(&adap->dev, "Completion timeout!\n"); amd756_transaction()
148 dev_dbg(&adap->dev, "SMBus Protocol error (no response)!\n"); amd756_transaction()
153 dev_warn(&adap->dev, "SMBus collision!\n"); amd756_transaction()
158 dev_dbg(&adap->dev, "SMBus protocol timeout!\n"); amd756_transaction()
162 dev_dbg(&adap->dev, "SMBus protocol success!\n"); amd756_transaction()
168 dev_dbg(&adap->dev, amd756_transaction()
173 dev_dbg(&adap->dev, amd756_transaction()
181 dev_warn(&adap->dev, "Sending abort\n"); amd756_transaction()
189 static s32 amd756_access(struct i2c_adapter * adap, u16 addr, amd756_access() argument
244 dev_warn(&adap->dev, "Unsupported transaction %d\n", size); amd756_access()
251 status = amd756_transaction(adap); amd756_access()
H A Di2c-designware-platdrv.c159 struct i2c_adapter *adap; dw_i2c_probe() local
266 adap = &dev->adapter; dw_i2c_probe()
267 i2c_set_adapdata(adap, dev); dw_i2c_probe()
268 adap->owner = THIS_MODULE; dw_i2c_probe()
269 adap->class = I2C_CLASS_DEPRECATED; dw_i2c_probe()
270 strlcpy(adap->name, "Synopsys DesignWare I2C adapter", dw_i2c_probe()
271 sizeof(adap->name)); dw_i2c_probe()
272 adap->algo = &i2c_dw_algo; dw_i2c_probe()
273 adap->dev.parent = &pdev->dev; dw_i2c_probe()
274 adap->dev.of_node = pdev->dev.of_node; dw_i2c_probe()
285 r = i2c_add_numbered_adapter(adap); dw_i2c_probe()
H A Di2c-meson.c63 * @adap: I2C adapter instance
81 struct i2c_adapter adap; member in struct:meson_i2c
358 static int meson_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs, meson_i2c_xfer() argument
361 struct meson_i2c *i2c = adap->algo_data; meson_i2c_xfer()
379 static u32 meson_i2c_func(struct i2c_adapter *adap) meson_i2c_func() argument
440 strlcpy(i2c->adap.name, "Meson I2C adapter", meson_i2c_probe()
441 sizeof(i2c->adap.name)); meson_i2c_probe()
442 i2c->adap.owner = THIS_MODULE; meson_i2c_probe()
443 i2c->adap.algo = &meson_i2c_algorithm; meson_i2c_probe()
444 i2c->adap.dev.parent = &pdev->dev; meson_i2c_probe()
445 i2c->adap.dev.of_node = np; meson_i2c_probe()
446 i2c->adap.algo_data = i2c; meson_i2c_probe()
454 ret = i2c_add_adapter(&i2c->adap); meson_i2c_probe()
468 i2c_del_adapter(&i2c->adap); meson_i2c_remove()
H A Di2c-sh7760.c83 struct i2c_adapter adap; member in struct:cami2c
303 static int sh7760_i2c_master_xfer(struct i2c_adapter *adap, sh7760_i2c_master_xfer() argument
307 struct cami2c *id = adap->algo_data; sh7760_i2c_master_xfer()
311 dev_err(&adap->dev, "sh7760-i2c%d: bus busy!\n", adap->nr); sh7760_i2c_master_xfer()
317 retr = adap->retries; sh7760_i2c_master_xfer()
376 static u32 sh7760_i2c_func(struct i2c_adapter *adap) sh7760_i2c_func() argument
476 id->adap.nr = pdev->id; sh7760_i2c_probe()
477 id->adap.algo = &sh7760_i2c_algo; sh7760_i2c_probe()
478 id->adap.class = I2C_CLASS_HWMON | I2C_CLASS_SPD; sh7760_i2c_probe()
479 id->adap.retries = 3; sh7760_i2c_probe()
480 id->adap.algo_data = id; sh7760_i2c_probe()
481 id->adap.dev.parent = &pdev->dev; sh7760_i2c_probe()
482 snprintf(id->adap.name, sizeof(id->adap.name), sh7760_i2c_probe()
512 ret = i2c_add_numbered_adapter(&id->adap); sh7760_i2c_probe()
514 dev_err(&pdev->dev, "reg adap failed: %d\n", ret); sh7760_i2c_probe()
542 i2c_del_adapter(&id->adap); sh7760_i2c_remove()
H A Di2c-kempld.c66 struct i2c_adapter adap; member in struct:kempld_i2c_data
195 static int kempld_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs, kempld_i2c_xfer() argument
198 struct kempld_i2c_data *i2c = i2c_get_adapdata(adap); kempld_i2c_xfer()
282 static u32 kempld_i2c_func(struct i2c_adapter *adap) kempld_i2c_func() argument
312 i2c->adap = kempld_i2c_adapter; kempld_i2c_probe()
313 i2c->adap.dev.parent = i2c->dev; kempld_i2c_probe()
314 i2c_set_adapdata(&i2c->adap, i2c); kempld_i2c_probe()
328 i2c->adap.nr = i2c_bus; kempld_i2c_probe()
329 ret = i2c_add_numbered_adapter(&i2c->adap); kempld_i2c_probe()
357 i2c_del_adapter(&i2c->adap); kempld_i2c_remove()
H A Di2c-puv3.c50 static int xfer_read(struct i2c_adapter *adap, unsigned char *buf, int length) xfer_read() argument
57 dev_dbg(&adap->dev, "Tx FIFO Not Full timeout\n"); xfer_read()
72 dev_dbg(&adap->dev, "RXRDY timeout\n"); xfer_read()
84 static int xfer_write(struct i2c_adapter *adap, unsigned char *buf, int length) xfer_write() argument
121 static int puv3_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg *pmsg, puv3_i2c_xfer() argument
138 dev_dbg(&adap->dev, "puv3_i2c_xfer: processing %d messages:\n", num); puv3_i2c_xfer()
141 dev_dbg(&adap->dev, " #%d: %sing %d byte%s %s 0x%02x\n", i, puv3_i2c_xfer()
148 ret = xfer_read(adap, pmsg->buf, pmsg->len); puv3_i2c_xfer()
150 ret = xfer_write(adap, pmsg->buf, pmsg->len); puv3_i2c_xfer()
156 dev_dbg(&adap->dev, "transfer complete\n"); puv3_i2c_xfer()
H A Di2c-highlander.c278 static int highlander_i2c_smbus_xfer(struct i2c_adapter *adap, u16 addr, highlander_i2c_smbus_xfer() argument
283 struct highlander_i2c_dev *dev = i2c_get_adapdata(adap); highlander_i2c_smbus_xfer()
361 struct i2c_adapter *adap; highlander_i2c_probe() local
404 adap = &dev->adapter; highlander_i2c_probe()
405 i2c_set_adapdata(adap, dev); highlander_i2c_probe()
406 adap->owner = THIS_MODULE; highlander_i2c_probe()
407 adap->class = I2C_CLASS_HWMON; highlander_i2c_probe()
408 strlcpy(adap->name, "HL FPGA I2C adapter", sizeof(adap->name)); highlander_i2c_probe()
409 adap->algo = &highlander_i2c_algo; highlander_i2c_probe()
410 adap->dev.parent = &pdev->dev; highlander_i2c_probe()
411 adap->nr = pdev->id; highlander_i2c_probe()
422 ret = i2c_add_numbered_adapter(adap); highlander_i2c_probe()
H A Di2c-riic.c118 static int riic_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num) riic_xfer() argument
120 struct riic_dev *riic = i2c_get_adapdata(adap); riic_xfer()
262 static u32 riic_func(struct i2c_adapter *adap) riic_func() argument
336 struct i2c_adapter *adap; riic_i2c_probe() local
369 adap = &riic->adapter; riic_i2c_probe()
370 i2c_set_adapdata(adap, riic); riic_i2c_probe()
371 strlcpy(adap->name, "Renesas RIIC adapter", sizeof(adap->name)); riic_i2c_probe()
372 adap->owner = THIS_MODULE; riic_i2c_probe()
373 adap->algo = &riic_algo; riic_i2c_probe()
374 adap->dev.parent = &pdev->dev; riic_i2c_probe()
375 adap->dev.of_node = pdev->dev.of_node; riic_i2c_probe()
385 ret = i2c_add_adapter(adap); riic_i2c_probe()
H A Di2c-hix5hd2.c87 struct i2c_adapter adap; member in struct:hix5hd2_i2c_priv
342 priv->adap.timeout); hix5hd2_i2c_xfer_msg()
348 priv->adap.timeout); hix5hd2_i2c_xfer_msg()
365 static int hix5hd2_i2c_xfer(struct i2c_adapter *adap, hix5hd2_i2c_xfer() argument
368 struct hix5hd2_i2c_priv *priv = i2c_get_adapdata(adap); hix5hd2_i2c_xfer()
398 static u32 hix5hd2_i2c_func(struct i2c_adapter *adap) hix5hd2_i2c_func() argument
451 strlcpy(priv->adap.name, "hix5hd2-i2c", sizeof(priv->adap.name)); hix5hd2_i2c_probe()
453 priv->adap.owner = THIS_MODULE; hix5hd2_i2c_probe()
454 priv->adap.algo = &hix5hd2_i2c_algorithm; hix5hd2_i2c_probe()
455 priv->adap.retries = 3; hix5hd2_i2c_probe()
456 priv->adap.dev.of_node = np; hix5hd2_i2c_probe()
457 priv->adap.algo_data = priv; hix5hd2_i2c_probe()
458 priv->adap.dev.parent = &pdev->dev; hix5hd2_i2c_probe()
459 i2c_set_adapdata(&priv->adap, priv); hix5hd2_i2c_probe()
480 ret = i2c_add_adapter(&priv->adap); hix5hd2_i2c_probe()
500 i2c_del_adapter(&priv->adap); hix5hd2_i2c_remove()
H A Di2c-piix4.c437 static s32 piix4_access(struct i2c_adapter * adap, u16 addr, piix4_access() argument
441 struct i2c_piix4_adapdata *adapdata = i2c_get_adapdata(adap); piix4_access()
493 dev_warn(&adap->dev, "Unsupported transaction %d\n", size); piix4_access()
499 status = piix4_transaction(adap); piix4_access()
570 struct i2c_adapter *adap; piix4_add_adapter() local
574 adap = kzalloc(sizeof(*adap), GFP_KERNEL); piix4_add_adapter()
575 if (adap == NULL) { piix4_add_adapter()
580 adap->owner = THIS_MODULE; piix4_add_adapter()
581 adap->class = I2C_CLASS_HWMON | I2C_CLASS_SPD; piix4_add_adapter()
582 adap->algo = &smbus_algorithm; piix4_add_adapter()
586 kfree(adap); piix4_add_adapter()
594 adap->dev.parent = &dev->dev; piix4_add_adapter()
596 snprintf(adap->name, sizeof(adap->name), piix4_add_adapter()
599 i2c_set_adapdata(adap, adapdata); piix4_add_adapter()
601 retval = i2c_add_adapter(adap); piix4_add_adapter()
605 kfree(adap); piix4_add_adapter()
610 *padap = adap; piix4_add_adapter()
663 static void piix4_adap_remove(struct i2c_adapter *adap) piix4_adap_remove() argument
665 struct i2c_piix4_adapdata *adapdata = i2c_get_adapdata(adap); piix4_adap_remove()
668 i2c_del_adapter(adap); piix4_adap_remove()
671 kfree(adap); piix4_adap_remove()
H A Di2c-mxs.c177 static int mxs_i2c_dma_setup_xfer(struct i2c_adapter *adap, mxs_i2c_dma_setup_xfer() argument
181 struct mxs_i2c_dev *i2c = i2c_get_adapdata(adap); mxs_i2c_dma_setup_xfer()
370 static int mxs_i2c_pio_setup_xfer(struct i2c_adapter *adap, mxs_i2c_pio_setup_xfer() argument
373 struct mxs_i2c_dev *i2c = i2c_get_adapdata(adap); mxs_i2c_pio_setup_xfer()
564 static int mxs_i2c_xfer_msg(struct i2c_adapter *adap, struct i2c_msg *msg, mxs_i2c_xfer_msg() argument
567 struct mxs_i2c_dev *i2c = i2c_get_adapdata(adap); mxs_i2c_xfer_msg()
593 ret = mxs_i2c_pio_setup_xfer(adap, msg, flags); mxs_i2c_xfer_msg()
599 ret = mxs_i2c_dma_setup_xfer(adap, msg, flags); mxs_i2c_xfer_msg()
648 static int mxs_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], mxs_i2c_xfer() argument
655 err = mxs_i2c_xfer_msg(adap, &msgs[i], i == (num - 1)); mxs_i2c_xfer()
663 static u32 mxs_i2c_func(struct i2c_adapter *adap) mxs_i2c_func() argument
811 struct i2c_adapter *adap; mxs_i2c_probe() local
861 adap = &i2c->adapter; mxs_i2c_probe()
862 strlcpy(adap->name, "MXS I2C adapter", sizeof(adap->name)); mxs_i2c_probe()
863 adap->owner = THIS_MODULE; mxs_i2c_probe()
864 adap->algo = &mxs_i2c_algo; mxs_i2c_probe()
865 adap->dev.parent = dev; mxs_i2c_probe()
866 adap->nr = pdev->id; mxs_i2c_probe()
867 adap->dev.of_node = pdev->dev.of_node; mxs_i2c_probe()
868 i2c_set_adapdata(adap, i2c); mxs_i2c_probe()
869 err = i2c_add_numbered_adapter(adap); mxs_i2c_probe()
H A Di2c-bcm-iproc.c272 static uint32_t bcm_iproc_i2c_functionality(struct i2c_adapter *adap) bcm_iproc_i2c_functionality() argument
369 struct i2c_adapter *adap; bcm_iproc_i2c_probe() local
410 adap = &iproc_i2c->adapter; bcm_iproc_i2c_probe()
411 i2c_set_adapdata(adap, iproc_i2c); bcm_iproc_i2c_probe()
412 strlcpy(adap->name, "Broadcom iProc I2C adapter", sizeof(adap->name)); bcm_iproc_i2c_probe()
413 adap->algo = &bcm_iproc_algo; bcm_iproc_i2c_probe()
414 adap->quirks = &bcm_iproc_i2c_quirks; bcm_iproc_i2c_probe()
415 adap->dev.parent = &pdev->dev; bcm_iproc_i2c_probe()
416 adap->dev.of_node = pdev->dev.of_node; bcm_iproc_i2c_probe()
418 ret = i2c_add_adapter(adap); bcm_iproc_i2c_probe()
H A Di2c-sis5595.c225 static int sis5595_transaction(struct i2c_adapter *adap) sis5595_transaction() argument
234 dev_dbg(&adap->dev, "SMBus busy (%04x). Resetting...\n", temp); sis5595_transaction()
238 dev_dbg(&adap->dev, "Failed! (%02x)\n", temp); sis5595_transaction()
241 dev_dbg(&adap->dev, "Successful!\n"); sis5595_transaction()
256 dev_dbg(&adap->dev, "SMBus Timeout!\n"); sis5595_transaction()
261 dev_dbg(&adap->dev, "Error: Failed bus transaction\n"); sis5595_transaction()
266 dev_err(&adap->dev, "Bus collision! SMBus may be locked until " sis5595_transaction()
280 dev_dbg(&adap->dev, "Failed reset at end of transaction (%02x)\n", temp); sis5595_transaction()
286 static s32 sis5595_access(struct i2c_adapter *adap, u16 addr, sis5595_access() argument
322 dev_warn(&adap->dev, "Unsupported transaction %d\n", size); sis5595_access()
328 status = sis5595_transaction(adap); sis5595_access()
H A Di2c-ali15x3.c227 static int ali15x3_transaction(struct i2c_adapter *adap) ali15x3_transaction() argument
233 dev_dbg(&adap->dev, "Transaction (pre): STS=%02x, CNT=%02x, CMD=%02x, " ali15x3_transaction()
265 dev_info(&adap->dev, "Resetting entire SMB Bus to " ali15x3_transaction()
280 dev_err(&adap->dev, "SMBus reset failed! (0x%02x) - " ali15x3_transaction()
306 dev_err(&adap->dev, "SMBus Timeout!\n"); ali15x3_transaction()
311 dev_dbg(&adap->dev, "Error: Failed bus transaction\n"); ali15x3_transaction()
322 dev_dbg(&adap->dev, ali15x3_transaction()
330 dev_err(&adap->dev, "Error: device error\n"); ali15x3_transaction()
332 dev_dbg(&adap->dev, "Transaction (post): STS=%02x, CNT=%02x, CMD=%02x, " ali15x3_transaction()
340 static s32 ali15x3_access(struct i2c_adapter * adap, u16 addr, ali15x3_access() argument
359 dev_err(&adap->dev, "Idle wait Timeout! STS=0x%02x\n", temp); ali15x3_access()
416 dev_warn(&adap->dev, "Unsupported transaction %d\n", size); ali15x3_access()
422 temp = ali15x3_transaction(adap); ali15x3_access()
449 dev_dbg(&adap->dev, "Blk: len=%d, i=%d, data=%02x\n", ali15x3_access()
H A Di2c-rcar.c110 struct i2c_adapter adap; member in struct:rcar_i2c_priv
124 #define rcar_i2c_priv_to_dev(p) ((p)->adap.dev.parent)
486 static int rcar_i2c_master_xfer(struct i2c_adapter *adap, rcar_i2c_master_xfer() argument
490 struct rcar_i2c_priv *priv = i2c_get_adapdata(adap); rcar_i2c_master_xfer()
604 static u32 rcar_i2c_func(struct i2c_adapter *adap) rcar_i2c_func() argument
634 struct i2c_adapter *adap; rcar_i2c_probe() local
674 adap = &priv->adap; rcar_i2c_probe()
675 adap->nr = pdev->id; rcar_i2c_probe()
676 adap->algo = &rcar_i2c_algo; rcar_i2c_probe()
677 adap->class = I2C_CLASS_DEPRECATED; rcar_i2c_probe()
678 adap->retries = 3; rcar_i2c_probe()
679 adap->dev.parent = dev; rcar_i2c_probe()
680 adap->dev.of_node = dev->of_node; rcar_i2c_probe()
681 i2c_set_adapdata(adap, priv); rcar_i2c_probe()
682 strlcpy(adap->name, pdev->name, sizeof(adap->name)); rcar_i2c_probe()
694 ret = i2c_add_numbered_adapter(adap); rcar_i2c_probe()
696 dev_err(dev, "reg adap failed: %d\n", ret); rcar_i2c_probe()
711 i2c_del_adapter(&priv->adap); rcar_i2c_remove()
H A Di2c-st.c174 * @adap: I2C adapter for this controller
187 struct i2c_adapter adap; member in struct:st_i2c_dev
654 i2c_dev->adap.timeout); st_i2c_xfer_msg()
738 static u32 st_i2c_func(struct i2c_adapter *adap) st_i2c_func() argument
776 struct i2c_adapter *adap; st_i2c_probe() local
823 adap = &i2c_dev->adap; st_i2c_probe()
824 i2c_set_adapdata(adap, i2c_dev); st_i2c_probe()
825 snprintf(adap->name, sizeof(adap->name), "ST I2C(0x%pa)", &res->start); st_i2c_probe()
826 adap->owner = THIS_MODULE; st_i2c_probe()
827 adap->timeout = 2 * HZ; st_i2c_probe()
828 adap->retries = 0; st_i2c_probe()
829 adap->algo = &st_i2c_algo; st_i2c_probe()
830 adap->dev.parent = &pdev->dev; st_i2c_probe()
831 adap->dev.of_node = pdev->dev.of_node; st_i2c_probe()
835 ret = i2c_add_adapter(adap); st_i2c_probe()
843 dev_info(i2c_dev->dev, "%s initialized\n", adap->name); st_i2c_probe()
852 i2c_del_adapter(&i2c_dev->adap); st_i2c_remove()
H A Di2c-cadence.c122 * @adap: I2C adapter instance
141 struct i2c_adapter adap; member in struct:cdns_i2c
448 * @adap: pointer to the i2c adapter driver instance
453 static void cdns_i2c_master_reset(struct i2c_adapter *adap) cdns_i2c_master_reset() argument
455 struct cdns_i2c *id = adap->algo_data; cdns_i2c_master_reset()
476 struct i2c_adapter *adap) cdns_i2c_process_msg()
504 time_left = wait_for_completion_timeout(&id->xfer_done, adap->timeout); cdns_i2c_process_msg()
506 cdns_i2c_master_reset(adap); cdns_i2c_process_msg()
507 dev_err(id->adap.dev.parent, cdns_i2c_process_msg()
524 * @adap: pointer to the i2c adapter driver instance
532 static int cdns_i2c_master_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs, cdns_i2c_master_xfer() argument
537 struct cdns_i2c *id = adap->algo_data; cdns_i2c_master_xfer()
557 dev_warn(adap->dev.parent, cdns_i2c_master_xfer()
575 ret = cdns_i2c_process_msg(id, msgs, adap); cdns_i2c_master_xfer()
581 cdns_i2c_master_reset(adap); cdns_i2c_master_xfer()
595 * @adap: pointer to the i2c adapter structure
599 static u32 cdns_i2c_func(struct i2c_adapter *adap) cdns_i2c_func() argument
742 dev_warn(id->adap.dev.parent, cdns_i2c_clk_notifier_cb()
847 id->adap.dev.of_node = pdev->dev.of_node; cdns_i2c_probe()
848 id->adap.algo = &cdns_i2c_algo; cdns_i2c_probe()
849 id->adap.timeout = CDNS_I2C_TIMEOUT; cdns_i2c_probe()
850 id->adap.retries = 3; /* Default retry value. */ cdns_i2c_probe()
851 id->adap.algo_data = id; cdns_i2c_probe()
852 id->adap.dev.parent = &pdev->dev; cdns_i2c_probe()
854 snprintf(id->adap.name, sizeof(id->adap.name), cdns_i2c_probe()
894 ret = i2c_add_adapter(&id->adap); cdns_i2c_probe()
896 dev_err(&pdev->dev, "reg adap failed: %d\n", ret); cdns_i2c_probe()
931 i2c_del_adapter(&id->adap); cdns_i2c_remove()
475 cdns_i2c_process_msg(struct cdns_i2c *id, struct i2c_msg *msg, struct i2c_adapter *adap) cdns_i2c_process_msg() argument
H A Di2c-ibm_iic.c418 !(in_8(&iic->sts) & STS_PT), dev->adap.timeout); iic_wait_for_tc()
429 unsigned long x = jiffies + dev->adap.timeout; iic_wait_for_tc()
554 static int iic_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num) iic_xfer() argument
556 struct ibm_iic_private* dev = (struct ibm_iic_private*)(i2c_get_adapdata(adap)); iic_xfer()
626 static u32 iic_func(struct i2c_adapter *adap) iic_func() argument
698 struct i2c_adapter *adap; iic_probe() local
744 adap = &dev->adap; iic_probe()
745 adap->dev.parent = &ofdev->dev; iic_probe()
746 adap->dev.of_node = of_node_get(np); iic_probe()
747 strlcpy(adap->name, "IBM IIC", sizeof(adap->name)); iic_probe()
748 i2c_set_adapdata(adap, dev); iic_probe()
749 adap->class = I2C_CLASS_HWMON | I2C_CLASS_SPD; iic_probe()
750 adap->algo = &iic_algo; iic_probe()
751 adap->timeout = HZ; iic_probe()
753 ret = i2c_add_adapter(adap); iic_probe()
784 i2c_del_adapter(&dev->adap); iic_remove()
H A Di2c-sun6i-p2wi.c112 static u32 p2wi_functionality(struct i2c_adapter *adap) p2wi_functionality() argument
117 static int p2wi_smbus_xfer(struct i2c_adapter *adap, u16 addr, p2wi_smbus_xfer() argument
121 struct p2wi *p2wi = i2c_get_adapdata(adap); p2wi_smbus_xfer()
125 dev_err(&adap->dev, "invalid P2WI address\n"); p2wi_smbus_xfer()
142 dev_err(&adap->dev, "P2WI bus busy\n"); p2wi_smbus_xfer()
157 dev_err(&adap->dev, "P2WI bus busy\n"); p2wi_smbus_xfer()
162 dev_err(&adap->dev, "P2WI bus xfer error\n"); p2wi_smbus_xfer()
H A Di2c-octeon.c65 struct i2c_adapter adap; member in struct:octeon_i2c
209 i2c->adap.timeout); octeon_i2c_wait()
393 * @adap: Pointer to the i2c_adapter structure.
400 static int octeon_i2c_xfer(struct i2c_adapter *adap, octeon_i2c_xfer() argument
407 struct octeon_i2c *i2c = i2c_get_adapdata(adap); octeon_i2c_xfer()
427 static u32 octeon_i2c_functionality(struct i2c_adapter *adap) octeon_i2c_functionality() argument
587 i2c->adap = octeon_i2c_ops; octeon_i2c_probe()
588 i2c->adap.dev.parent = &pdev->dev; octeon_i2c_probe()
589 i2c->adap.dev.of_node = pdev->dev.of_node; octeon_i2c_probe()
590 i2c_set_adapdata(&i2c->adap, i2c); octeon_i2c_probe()
593 result = i2c_add_adapter(&i2c->adap); octeon_i2c_probe()
610 i2c_del_adapter(&i2c->adap); octeon_i2c_remove()
H A Di2c-s3c2410.c123 struct i2c_adapter adap; member in struct:s3c24xx_i2c
780 static int s3c24xx_i2c_xfer(struct i2c_adapter *adap, s3c24xx_i2c_xfer() argument
783 struct s3c24xx_i2c *i2c = (struct s3c24xx_i2c *)adap->algo_data; s3c24xx_i2c_xfer()
787 pm_runtime_get_sync(&adap->dev); s3c24xx_i2c_xfer()
792 for (retry = 0; retry < adap->retries; retry++) { s3c24xx_i2c_xfer()
798 pm_runtime_put(&adap->dev); s3c24xx_i2c_xfer()
808 pm_runtime_put(&adap->dev); s3c24xx_i2c_xfer()
813 static u32 s3c24xx_i2c_func(struct i2c_adapter *adap) s3c24xx_i2c_func() argument
945 i2c_lock_adapter(&i2c->adap); s3c24xx_i2c_cpufreq_transition()
947 i2c_unlock_adapter(&i2c->adap); s3c24xx_i2c_cpufreq_transition()
1152 strlcpy(i2c->adap.name, "s3c2410-i2c", sizeof(i2c->adap.name)); s3c24xx_i2c_probe()
1153 i2c->adap.owner = THIS_MODULE; s3c24xx_i2c_probe()
1154 i2c->adap.algo = &s3c24xx_i2c_algorithm; s3c24xx_i2c_probe()
1155 i2c->adap.retries = 2; s3c24xx_i2c_probe()
1156 i2c->adap.class = I2C_CLASS_DEPRECATED; s3c24xx_i2c_probe()
1186 i2c->adap.algo_data = i2c; s3c24xx_i2c_probe()
1187 i2c->adap.dev.parent = &pdev->dev; s3c24xx_i2c_probe()
1243 i2c->adap.nr = i2c->pdata->bus_num; s3c24xx_i2c_probe()
1244 i2c->adap.dev.of_node = pdev->dev.of_node; s3c24xx_i2c_probe()
1250 ret = i2c_add_numbered_adapter(&i2c->adap); s3c24xx_i2c_probe()
1259 pm_runtime_enable(&i2c->adap.dev); s3c24xx_i2c_probe()
1261 dev_info(&pdev->dev, "%s: S3C I2C adapter\n", dev_name(&i2c->adap.dev)); s3c24xx_i2c_probe()
1276 pm_runtime_disable(&i2c->adap.dev); s3c24xx_i2c_remove()
1281 i2c_del_adapter(&i2c->adap); s3c24xx_i2c_remove()
H A Di2c-ocores.c34 struct i2c_adapter adap; member in struct:ocores_i2c
199 static int ocores_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num) ocores_xfer() argument
201 struct ocores_i2c *i2c = i2c_get_adapdata(adap); ocores_xfer()
252 static u32 ocores_func(struct i2c_adapter *adap) ocores_func() argument
468 i2c->adap = ocores_adapter; ocores_i2c_probe()
469 i2c_set_adapdata(&i2c->adap, i2c); ocores_i2c_probe()
470 i2c->adap.dev.parent = &pdev->dev; ocores_i2c_probe()
471 i2c->adap.dev.of_node = pdev->dev.of_node; ocores_i2c_probe()
474 ret = i2c_add_adapter(&i2c->adap); ocores_i2c_probe()
483 i2c_new_device(&i2c->adap, pdata->devices + i); ocores_i2c_probe()
498 i2c_del_adapter(&i2c->adap); ocores_i2c_remove()
H A Di2c-ali1535.c221 static int ali1535_transaction(struct i2c_adapter *adap) ali1535_transaction() argument
227 dev_dbg(&adap->dev, "Transaction (pre): STS=%02x, TYP=%02x, " ali1535_transaction()
257 dev_info(&adap->dev, ali1535_transaction()
274 dev_err(&adap->dev, ali1535_transaction()
299 dev_err(&adap->dev, "SMBus Timeout!\n"); ali1535_transaction()
304 dev_dbg(&adap->dev, "Error: Failed bus transaction\n"); ali1535_transaction()
313 dev_dbg(&adap->dev, ali1535_transaction()
321 dev_err(&adap->dev, "Error: device error\n"); ali1535_transaction()
327 dev_err(&adap->dev, "Error: command never completed\n"); ali1535_transaction()
330 dev_dbg(&adap->dev, "Transaction (post): STS=%02x, TYP=%02x, " ali1535_transaction()
350 static s32 ali1535_access(struct i2c_adapter *adap, u16 addr, ali1535_access() argument
368 dev_warn(&adap->dev, "Idle wait Timeout! STS=0x%02x\n", temp); ali1535_access()
432 dev_warn(&adap->dev, "Unsupported transaction %d\n", size); ali1535_access()
437 result = ali1535_transaction(adap); ali1535_access()
465 dev_dbg(&adap->dev, "Blk: len=%d, i=%d, data=%02x\n", ali1535_access()
H A Di2c-exynos5.c159 struct i2c_adapter adap; member in struct:exynos5_i2c
393 writel(HSI2C_MASTER_ID(MASTER_ID(i2c->adap.nr)), exynos5_i2c_init()
663 static int exynos5_i2c_xfer(struct i2c_adapter *adap, exynos5_i2c_xfer() argument
666 struct exynos5_i2c *i2c = adap->algo_data; exynos5_i2c_xfer()
702 static u32 exynos5_i2c_func(struct i2c_adapter *adap) exynos5_i2c_func() argument
738 strlcpy(i2c->adap.name, "exynos5-i2c", sizeof(i2c->adap.name)); exynos5_i2c_probe()
739 i2c->adap.owner = THIS_MODULE; exynos5_i2c_probe()
740 i2c->adap.algo = &exynos5_i2c_algorithm; exynos5_i2c_probe()
741 i2c->adap.retries = 3; exynos5_i2c_probe()
759 i2c->adap.dev.of_node = np; exynos5_i2c_probe()
760 i2c->adap.algo_data = i2c; exynos5_i2c_probe()
761 i2c->adap.dev.parent = &pdev->dev; exynos5_i2c_probe()
794 ret = i2c_add_adapter(&i2c->adap); exynos5_i2c_probe()
811 i2c_del_adapter(&i2c->adap); exynos5_i2c_remove()
H A Di2c-nomadik.c157 * @adap: corresponding I2C adapter.
174 struct i2c_adapter adap; member in struct:nmk_i2c_dev
233 timeout = jiffies + dev->adap.timeout; flush_i2c_fifo()
480 &dev->xfer_complete, dev->adap.timeout); read_i2c()
560 &dev->xfer_complete, dev->adap.timeout); write_i2c()
646 * i2c_transfer(adap, msg, 2);
658 * i2c_transfer(adap, msg, 1);
940 static unsigned int nmk_i2c_functionality(struct i2c_adapter *adap) nmk_i2c_functionality() argument
972 struct i2c_adapter *adap; nmk_i2c_probe() local
1032 adap = &dev->adap; nmk_i2c_probe()
1033 adap->dev.of_node = np; nmk_i2c_probe()
1034 adap->dev.parent = &adev->dev; nmk_i2c_probe()
1035 adap->owner = THIS_MODULE; nmk_i2c_probe()
1036 adap->class = I2C_CLASS_DEPRECATED; nmk_i2c_probe()
1037 adap->algo = &nmk_i2c_algo; nmk_i2c_probe()
1038 adap->timeout = msecs_to_jiffies(dev->timeout); nmk_i2c_probe()
1039 snprintf(adap->name, sizeof(adap->name), nmk_i2c_probe()
1042 i2c_set_adapdata(adap, dev); nmk_i2c_probe()
1046 adap->name, dev->virtbase); nmk_i2c_probe()
1048 ret = i2c_add_adapter(adap); nmk_i2c_probe()
1070 i2c_del_adapter(&dev->adap); nmk_i2c_remove()
H A Di2c-mpc.c66 struct i2c_adapter adap; member in struct:mpc_i2c
465 unsigned timeout = i2c->adap.timeout; mpc_write()
492 unsigned timeout = i2c->adap.timeout; mpc_read()
560 static int mpc_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num) mpc_xfer() argument
566 struct mpc_i2c *i2c = i2c_get_adapdata(adap); mpc_xfer()
629 static u32 mpc_functionality(struct i2c_adapter *adap) mpc_functionality() argument
731 i2c->adap = mpc_ops; fsl_i2c_probe()
733 scnprintf(i2c->adap.name, sizeof(i2c->adap.name), fsl_i2c_probe()
735 i2c_set_adapdata(&i2c->adap, i2c); fsl_i2c_probe()
736 i2c->adap.dev.parent = &op->dev; fsl_i2c_probe()
737 i2c->adap.dev.of_node = of_node_get(op->dev.of_node); fsl_i2c_probe()
739 result = i2c_add_adapter(&i2c->adap); fsl_i2c_probe()
763 i2c_del_adapter(&i2c->adap); fsl_i2c_remove()
H A Di2c-qup.c108 struct i2c_adapter adap; member in struct:qup_i2c_dev
463 static int qup_i2c_xfer(struct i2c_adapter *adap, qup_i2c_xfer() argument
467 struct qup_i2c_dev *qup = i2c_get_adapdata(adap); qup_i2c_xfer()
516 static u32 qup_i2c_func(struct i2c_adapter *adap) qup_i2c_func() argument
669 i2c_set_adapdata(&qup->adap, qup); qup_i2c_probe()
670 qup->adap.algo = &qup_i2c_algo; qup_i2c_probe()
671 qup->adap.quirks = &qup_i2c_quirks; qup_i2c_probe()
672 qup->adap.dev.parent = qup->dev; qup_i2c_probe()
673 qup->adap.dev.of_node = pdev->dev.of_node; qup_i2c_probe()
674 strlcpy(qup->adap.name, "QUP I2C adapter", sizeof(qup->adap.name)); qup_i2c_probe()
681 ret = i2c_add_adapter(&qup->adap); qup_i2c_probe()
701 i2c_del_adapter(&qup->adap); qup_i2c_remove()
H A Di2c-scmi.c80 acpi_smbus_cmi_access(struct i2c_adapter *adap, u16 addr, unsigned short flags, acpi_smbus_cmi_access() argument
85 struct acpi_smbus_cmi *smbus_cmi = adap->algo_data; acpi_smbus_cmi_access()
96 dev_dbg(&adap->dev, "access size: %d %s\n", size, acpi_smbus_cmi_access()
156 dev_warn(&adap->dev, "Unsupported transaction %d\n", size); acpi_smbus_cmi_access()
262 dev_dbg(&adap->dev, "Transaction status: %i\n", result); acpi_smbus_cmi_access()
H A Di2c-omap.c621 static int omap_i2c_xfer_msg(struct i2c_adapter *adap, omap_i2c_xfer_msg() argument
624 struct omap_i2c_dev *dev = i2c_get_adapdata(adap); omap_i2c_xfer_msg()
745 omap_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num) omap_i2c_xfer() argument
747 struct omap_i2c_dev *dev = i2c_get_adapdata(adap); omap_i2c_xfer()
767 r = omap_i2c_xfer_msg(adap, &msgs[i], (i == (num - 1))); omap_i2c_xfer()
787 omap_i2c_func(struct i2c_adapter *adap) omap_i2c_func() argument
1216 struct i2c_adapter *adap; omap_i2c_probe() local
1353 adap = &dev->adapter; omap_i2c_probe()
1354 i2c_set_adapdata(adap, dev); omap_i2c_probe()
1355 adap->owner = THIS_MODULE; omap_i2c_probe()
1356 adap->class = I2C_CLASS_DEPRECATED; omap_i2c_probe()
1357 strlcpy(adap->name, "OMAP I2C adapter", sizeof(adap->name)); omap_i2c_probe()
1358 adap->algo = &omap_i2c_algo; omap_i2c_probe()
1359 adap->dev.parent = &pdev->dev; omap_i2c_probe()
1360 adap->dev.of_node = pdev->dev.of_node; omap_i2c_probe()
1363 adap->nr = pdev->id; omap_i2c_probe()
1364 r = i2c_add_numbered_adapter(adap); omap_i2c_probe()
1370 dev_info(dev->dev, "bus %d rev%d.%d at %d kHz\n", adap->nr, omap_i2c_probe()
H A Di2c-img-scb.c366 struct i2c_adapter adap; member in struct:img_i2c
486 dev_dbg(i2c->adap.dev.parent, img_i2c_atomic_op()
736 dev_dbg(i2c->adap.dev.parent, "abort condition detected\n"); img_i2c_atomic()
799 dev_err(i2c->adap.dev.parent, "bad atomic command %d\n", img_i2c_atomic()
832 dev_dbg(i2c->adap.dev.parent, img_i2c_check_timer()
850 dev_dbg(i2c->adap.dev.parent, "abort condition detected\n"); img_i2c_auto()
933 dev_crit(i2c->adap.dev.parent, img_i2c_isr()
1005 static int img_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs, img_i2c_xfer() argument
1008 struct img_i2c *i2c = i2c_get_adapdata(adap); img_i2c_xfer()
1078 dev_err(adap->dev.parent, "i2c transfer timed out\n"); img_i2c_xfer()
1092 static u32 img_i2c_func(struct i2c_adapter *adap) img_i2c_func() argument
1115 dev_info(i2c->adap.dev.parent, img_i2c_init()
1125 dev_info(i2c->adap.dev.parent, "fence quirk enabled"); img_i2c_init()
1320 i2c_set_adapdata(&i2c->adap, i2c); img_i2c_probe()
1321 i2c->adap.dev.parent = &pdev->dev; img_i2c_probe()
1322 i2c->adap.dev.of_node = node; img_i2c_probe()
1323 i2c->adap.owner = THIS_MODULE; img_i2c_probe()
1324 i2c->adap.algo = &img_i2c_algo; img_i2c_probe()
1325 i2c->adap.retries = 5; img_i2c_probe()
1326 i2c->adap.nr = pdev->id; img_i2c_probe()
1327 snprintf(i2c->adap.name, sizeof(i2c->adap.name), "IMG SCB I2C"); img_i2c_probe()
1343 ret = i2c_add_numbered_adapter(&i2c->adap); img_i2c_probe()
1360 i2c_del_adapter(&i2c->adap); img_i2c_remove()
H A Di2c-stu300.c653 static int stu300_xfer_msg(struct i2c_adapter *adap, stu300_xfer_msg() argument
661 struct stu300_dev *dev = i2c_get_adapdata(adap); stu300_xfer_msg()
821 static int stu300_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs, stu300_xfer() argument
827 struct stu300_dev *dev = i2c_get_adapdata(adap); stu300_xfer()
840 ret = stu300_xfer_msg(adap, &msgs[i], (i == (num - 1))); stu300_xfer()
851 static u32 stu300_func(struct i2c_adapter *adap) stu300_func() argument
865 struct i2c_adapter *adap; stu300_probe() local
909 adap = &dev->adapter; stu300_probe()
910 adap->owner = THIS_MODULE; stu300_probe()
912 adap->class = I2C_CLASS_DEPRECATED; stu300_probe()
913 strlcpy(adap->name, "ST Microelectronics DDC I2C adapter", stu300_probe()
914 sizeof(adap->name)); stu300_probe()
915 adap->nr = bus_nr; stu300_probe()
916 adap->algo = &stu300_algo; stu300_probe()
917 adap->dev.parent = &pdev->dev; stu300_probe()
918 adap->dev.of_node = pdev->dev.of_node; stu300_probe()
919 i2c_set_adapdata(adap, dev); stu300_probe()
922 ret = i2c_add_numbered_adapter(adap); stu300_probe()
H A Di2c-bcm-kona.c706 static uint32_t bcm_kona_i2c_functionality(struct i2c_adapter *adap) bcm_kona_i2c_functionality() argument
755 struct i2c_adapter *adap; bcm_kona_i2c_probe() local
855 adap = &dev->adapter; bcm_kona_i2c_probe()
856 i2c_set_adapdata(adap, dev); bcm_kona_i2c_probe()
857 adap->owner = THIS_MODULE; bcm_kona_i2c_probe()
858 strlcpy(adap->name, "Broadcom I2C adapter", sizeof(adap->name)); bcm_kona_i2c_probe()
859 adap->algo = &bcm_algo; bcm_kona_i2c_probe()
860 adap->dev.parent = &pdev->dev; bcm_kona_i2c_probe()
861 adap->dev.of_node = pdev->dev.of_node; bcm_kona_i2c_probe()
863 rc = i2c_add_adapter(adap); bcm_kona_i2c_probe()
H A Di2c-opal.c85 static int i2c_opal_master_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs, i2c_opal_master_xfer() argument
88 unsigned long opal_id = (unsigned long)adap->algo_data; i2c_opal_master_xfer()
128 static int i2c_opal_smbus_xfer(struct i2c_adapter *adap, u16 addr, i2c_opal_smbus_xfer() argument
132 unsigned long opal_id = (unsigned long)adap->algo_data; i2c_opal_smbus_xfer()
H A Di2c-sh_mobile.c127 struct i2c_adapter adap; member in struct:sh_mobile_i2c_data
844 struct i2c_adapter *adap; sh_mobile_i2c_probe() local
925 adap = &pd->adap; sh_mobile_i2c_probe()
926 i2c_set_adapdata(adap, pd); sh_mobile_i2c_probe()
928 adap->owner = THIS_MODULE; sh_mobile_i2c_probe()
929 adap->algo = &sh_mobile_i2c_algorithm; sh_mobile_i2c_probe()
930 adap->dev.parent = &dev->dev; sh_mobile_i2c_probe()
931 adap->retries = 5; sh_mobile_i2c_probe()
932 adap->nr = dev->id; sh_mobile_i2c_probe()
933 adap->dev.of_node = dev->dev.of_node; sh_mobile_i2c_probe()
935 strlcpy(adap->name, dev->name, sizeof(adap->name)); sh_mobile_i2c_probe()
940 ret = i2c_add_numbered_adapter(adap); sh_mobile_i2c_probe()
947 dev_info(&dev->dev, "I2C adapter %d, bus speed %lu Hz\n", adap->nr, pd->bus_speed); sh_mobile_i2c_probe()
956 i2c_del_adapter(&pd->adap); sh_mobile_i2c_remove()
H A Di2c-rk3x.c94 struct i2c_adapter adap; member in struct:rk3x_i2c
775 static int rk3x_i2c_xfer(struct i2c_adapter *adap, rk3x_i2c_xfer() argument
778 struct rk3x_i2c *i2c = (struct rk3x_i2c *)adap->algo_data; rk3x_i2c_xfer()
839 static u32 rk3x_i2c_func(struct i2c_adapter *adap) rk3x_i2c_func() argument
913 strlcpy(i2c->adap.name, "rk3x-i2c", sizeof(i2c->adap.name)); rk3x_i2c_probe()
914 i2c->adap.owner = THIS_MODULE; rk3x_i2c_probe()
915 i2c->adap.algo = &rk3x_i2c_algorithm; rk3x_i2c_probe()
916 i2c->adap.retries = 3; rk3x_i2c_probe()
917 i2c->adap.dev.of_node = np; rk3x_i2c_probe()
918 i2c->adap.algo_data = i2c; rk3x_i2c_probe()
919 i2c->adap.dev.parent = &pdev->dev; rk3x_i2c_probe()
1001 ret = i2c_add_adapter(&i2c->adap); rk3x_i2c_probe()
1022 i2c_del_adapter(&i2c->adap); rk3x_i2c_remove()
H A Di2c-designware-core.h118 extern int i2c_dw_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[],
120 extern u32 i2c_dw_func(struct i2c_adapter *adap);
H A Di2c-ibm_iic.h46 struct i2c_adapter adap; member in struct:ibm_iic_private
H A Di2c-isch.c141 * adap is i2c_adapter pointer, addr is the i2c device bus address, read_write
146 static s32 sch_access(struct i2c_adapter *adap, u16 addr, sch_access() argument
214 dev_warn(&adap->dev, "Unsupported transaction %d\n", size); sch_access()
H A Di2c-pnx.c123 * @adap: pointer to adapter structure
179 * @adap: pointer to I2C adapter structure
208 * @adap: pointer to I2C adapter structure
278 * @adap: pointer to I2C adapter structure
487 * @adap: pointer to I2C adapter structure
494 i2c_pnx_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num) i2c_pnx_xfer() argument
498 struct i2c_pnx_algo_data *alg_data = adap->algo_data; i2c_pnx_xfer()
H A Di2c-i801.c378 const struct i2c_adapter *adap = &priv->adapter; i801_transaction() local
389 adap->timeout); i801_transaction()
539 const struct i2c_adapter *adap = &priv->adapter; i801_block_transaction_byte_by_byte() local
570 adap->timeout); i801_block_transaction_byte_by_byte()
687 static s32 i801_access(struct i2c_adapter *adap, u16 addr, i801_access() argument
694 struct i801_priv *priv = i2c_get_adapdata(adap); i801_access()
900 struct i2c_adapter *adap) dmi_check_onboard_device()
915 i2c_new_device(adap, &info); dmi_check_onboard_device()
923 static void dmi_check_onboard_devices(const struct dmi_header *dm, void *adap) dmi_check_onboard_devices() argument
947 dmi_check_onboard_device(type, name, adap); dmi_check_onboard_devices()
899 dmi_check_onboard_device(u8 type, const char *name, struct i2c_adapter *adap) dmi_check_onboard_device() argument
H A Di2c-amd8111.c192 static s32 amd8111_access(struct i2c_adapter * adap, u16 addr, amd8111_access() argument
196 struct amd_smbus *smbus = adap->algo_data; amd8111_access()
327 dev_warn(&adap->dev, "Unsupported transaction %d\n", size); amd8111_access()
/linux-4.1.27/drivers/media/pci/pt1/
H A Dpt1.c98 struct dvb_adapter adap; member in struct:pt1_adapter
264 struct pt1_adapter *adap; pt1_filter() local
278 adap = pt1->adaps[index]; pt1_filter()
280 adap->upacket_count = 0; pt1_filter()
281 else if (!adap->upacket_count) pt1_filter()
289 if (adap->st_count != -1 && sc != ((adap->st_count + 1) & 0x7)) pt1_filter()
292 adap->st_count = sc; pt1_filter()
294 buf = adap->buf; pt1_filter()
295 offset = adap->packet_count * 188 + adap->upacket_count * 3; pt1_filter()
298 if (adap->upacket_count != 62) pt1_filter()
301 if (++adap->upacket_count >= 63) { pt1_filter()
302 adap->upacket_count = 0; pt1_filter()
303 if (++adap->packet_count >= 21) { pt1_filter()
304 dvb_dmx_swfilter_packets(&adap->demux, buf, 21); pt1_filter()
305 adap->packet_count = 0; pt1_filter()
504 struct pt1_adapter *adap; pt1_start_feed() local
505 adap = container_of(feed->demux, struct pt1_adapter, demux); pt1_start_feed()
506 if (!adap->users++) { pt1_start_feed()
509 ret = pt1_start_polling(adap->pt1); pt1_start_feed()
512 pt1_set_stream(adap->pt1, adap->index, 1); pt1_start_feed()
534 struct pt1_adapter *adap; pt1_stop_feed() local
535 adap = container_of(feed->demux, struct pt1_adapter, demux); pt1_stop_feed()
536 if (!--adap->users) { pt1_stop_feed()
537 pt1_set_stream(adap->pt1, adap->index, 0); pt1_stop_feed()
538 pt1_stop_polling(adap->pt1); pt1_stop_feed()
548 struct pt1_adapter *adap; pt1_update_power() local
559 adap = pt1->adaps[i]; pt1_update_power()
560 switch (adap->voltage) { pt1_update_power()
571 /* XXX: The bits should be changed depending on adap->sleep. */ pt1_update_power()
580 struct pt1_adapter *adap; pt1_set_voltage() local
582 adap = container_of(fe->dvb, struct pt1_adapter, adap); pt1_set_voltage()
583 adap->voltage = voltage; pt1_set_voltage()
584 pt1_update_power(adap->pt1); pt1_set_voltage()
586 if (adap->orig_set_voltage) pt1_set_voltage()
587 return adap->orig_set_voltage(fe, voltage); pt1_set_voltage()
594 struct pt1_adapter *adap; pt1_sleep() local
596 adap = container_of(fe->dvb, struct pt1_adapter, adap); pt1_sleep()
597 adap->sleep = 1; pt1_sleep()
598 pt1_update_power(adap->pt1); pt1_sleep()
600 if (adap->orig_sleep) pt1_sleep()
601 return adap->orig_sleep(fe); pt1_sleep()
608 struct pt1_adapter *adap; pt1_wakeup() local
610 adap = container_of(fe->dvb, struct pt1_adapter, adap); pt1_wakeup()
611 adap->sleep = 0; pt1_wakeup()
612 pt1_update_power(adap->pt1); pt1_wakeup()
615 if (adap->orig_init) pt1_wakeup()
616 return adap->orig_init(fe); pt1_wakeup()
621 static void pt1_free_adapter(struct pt1_adapter *adap) pt1_free_adapter() argument
623 adap->demux.dmx.close(&adap->demux.dmx); pt1_free_adapter()
624 dvb_dmxdev_release(&adap->dmxdev); pt1_free_adapter()
625 dvb_dmx_release(&adap->demux); pt1_free_adapter()
626 dvb_unregister_adapter(&adap->adap); pt1_free_adapter()
627 free_page((unsigned long)adap->buf); pt1_free_adapter()
628 kfree(adap); pt1_free_adapter()
636 struct pt1_adapter *adap; pt1_alloc_adapter() local
643 adap = kzalloc(sizeof(struct pt1_adapter), GFP_KERNEL); pt1_alloc_adapter()
644 if (!adap) { pt1_alloc_adapter()
649 adap->pt1 = pt1; pt1_alloc_adapter()
651 adap->voltage = SEC_VOLTAGE_OFF; pt1_alloc_adapter()
652 adap->sleep = 1; pt1_alloc_adapter()
660 adap->buf = buf; pt1_alloc_adapter()
661 adap->upacket_count = 0; pt1_alloc_adapter()
662 adap->packet_count = 0; pt1_alloc_adapter()
663 adap->st_count = -1; pt1_alloc_adapter()
665 dvb_adap = &adap->adap; pt1_alloc_adapter()
666 dvb_adap->priv = adap; pt1_alloc_adapter()
672 demux = &adap->demux; pt1_alloc_adapter()
674 demux->priv = adap; pt1_alloc_adapter()
684 dmxdev = &adap->dmxdev; pt1_alloc_adapter()
692 return adap; pt1_alloc_adapter()
701 kfree(adap); pt1_alloc_adapter()
716 struct pt1_adapter *adap; pt1_init_adapters() local
720 adap = pt1_alloc_adapter(pt1); pt1_init_adapters()
721 if (IS_ERR(adap)) { pt1_init_adapters()
722 ret = PTR_ERR(adap); pt1_init_adapters()
726 adap->index = i; pt1_init_adapters()
727 pt1->adaps[i] = adap; pt1_init_adapters()
738 static void pt1_cleanup_frontend(struct pt1_adapter *adap) pt1_cleanup_frontend() argument
740 dvb_unregister_frontend(adap->fe); pt1_cleanup_frontend()
743 static int pt1_init_frontend(struct pt1_adapter *adap, struct dvb_frontend *fe) pt1_init_frontend() argument
747 adap->orig_set_voltage = fe->ops.set_voltage; pt1_init_frontend()
748 adap->orig_sleep = fe->ops.sleep; pt1_init_frontend()
749 adap->orig_init = fe->ops.init; pt1_init_frontend()
754 ret = dvb_register_frontend(&adap->adap, fe); pt1_init_frontend()
758 adap->fe = fe; pt1_init_frontend()
982 static int pt1_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num) pt1_i2c_xfer() argument
991 pt1 = i2c_get_adapdata(adap); pt1_i2c_xfer()
1034 static u32 pt1_i2c_func(struct i2c_adapter *adap) pt1_i2c_func() argument
H A Dva1j5jf8007s.c46 struct i2c_adapter *adap; member in struct:va1j5jf8007s_state
77 if (i2c_transfer(state->adap, msgs, 2) != 2) va1j5jf8007s_read_snr()
199 if (i2c_transfer(state->adap, &msg, 1) != 1) va1j5jf8007s_set_frequency_1()
219 if (i2c_transfer(state->adap, &msg, 1) != 1) va1j5jf8007s_set_frequency_2()
243 if (i2c_transfer(state->adap, &msg, 1) != 1) va1j5jf8007s_set_frequency_3()
271 if (i2c_transfer(state->adap, msgs, 2) != 2) va1j5jf8007s_check_frequency()
291 if (i2c_transfer(state->adap, &msg, 1) != 1) va1j5jf8007s_set_modulation()
318 if (i2c_transfer(state->adap, msgs, 2) != 2) va1j5jf8007s_check_modulation()
345 if (i2c_transfer(state->adap, &msg, 1) != 1) va1j5jf8007s_set_ts_id()
379 if (i2c_transfer(state->adap, msgs, 2) != 2) va1j5jf8007s_check_ts_id()
525 if (i2c_transfer(state->adap, &msg, 1) != 1) va1j5jf8007s_init_frequency()
544 if (i2c_transfer(state->adap, &msg, 1) != 1) va1j5jf8007s_set_sleep()
623 if (i2c_transfer(state->adap, msgs, 2) != 2) va1j5jf8007s_prepare_1()
676 if (i2c_transfer(state->adap, &msg, 1) != 1) va1j5jf8007s_prepare_2()
704 struct i2c_adapter *adap) va1j5jf8007s_attach()
716 state->adap = adap; va1j5jf8007s_attach()
730 if (i2c_transfer(state->adap, &msg, 1) != 1) { va1j5jf8007s_attach()
703 va1j5jf8007s_attach(const struct va1j5jf8007s_config *config, struct i2c_adapter *adap) va1j5jf8007s_attach() argument
H A Dva1j5jf8007t.c44 struct i2c_adapter *adap; member in struct:va1j5jf8007t_state
75 if (i2c_transfer(state->adap, msgs, 2) != 2) va1j5jf8007t_read_snr()
182 if (i2c_transfer(state->adap, &msg, 1) != 1) va1j5jf8007t_set_frequency()
210 if (i2c_transfer(state->adap, msgs, 2) != 2) va1j5jf8007t_check_frequency()
230 if (i2c_transfer(state->adap, &msg, 1) != 1) va1j5jf8007t_set_modulation()
257 if (i2c_transfer(state->adap, msgs, 2) != 2) va1j5jf8007t_check_modulation()
374 if (i2c_transfer(state->adap, &msg, 1) != 1) va1j5jf8007t_init_frequency()
393 if (i2c_transfer(state->adap, &msg, 1) != 1) va1j5jf8007t_set_sleep()
495 if (i2c_transfer(state->adap, &msg, 1) != 1) va1j5jf8007t_prepare()
504 struct i2c_adapter *adap) va1j5jf8007t_attach()
516 state->adap = adap; va1j5jf8007t_attach()
530 if (i2c_transfer(state->adap, &msg, 1) != 1) { va1j5jf8007t_attach()
503 va1j5jf8007t_attach(const struct va1j5jf8007t_config *config, struct i2c_adapter *adap) va1j5jf8007t_attach() argument
H A Dva1j5jf8007s.h41 struct i2c_adapter *adap);
H A Dva1j5jf8007t.h41 struct i2c_adapter *adap);
/linux-4.1.27/drivers/i2c/
H A Di2c-mux.c31 struct i2c_adapter adap; member in struct:i2c_mux_priv
43 static int i2c_mux_master_xfer(struct i2c_adapter *adap, i2c_mux_master_xfer() argument
46 struct i2c_mux_priv *priv = adap->algo_data; i2c_mux_master_xfer()
61 static int i2c_mux_smbus_xfer(struct i2c_adapter *adap, i2c_mux_smbus_xfer() argument
66 struct i2c_mux_priv *priv = adap->algo_data; i2c_mux_smbus_xfer()
83 static u32 i2c_mux_functionality(struct i2c_adapter *adap) i2c_mux_functionality() argument
85 struct i2c_mux_priv *priv = adap->algo_data; i2c_mux_functionality()
139 snprintf(priv->adap.name, sizeof(priv->adap.name), i2c_add_mux_adapter()
141 priv->adap.owner = THIS_MODULE; i2c_add_mux_adapter()
142 priv->adap.algo = &priv->algo; i2c_add_mux_adapter()
143 priv->adap.algo_data = priv; i2c_add_mux_adapter()
144 priv->adap.dev.parent = &parent->dev; i2c_add_mux_adapter()
145 priv->adap.retries = parent->retries; i2c_add_mux_adapter()
146 priv->adap.timeout = parent->timeout; i2c_add_mux_adapter()
147 priv->adap.quirks = parent->quirks; i2c_add_mux_adapter()
155 priv->adap.class = class; i2c_add_mux_adapter()
170 priv->adap.dev.of_node = child; i2c_add_mux_adapter()
177 priv->adap.nr = force_nr; i2c_add_mux_adapter()
178 ret = i2c_add_numbered_adapter(&priv->adap); i2c_add_mux_adapter()
180 ret = i2c_add_adapter(&priv->adap); i2c_add_mux_adapter()
190 WARN(sysfs_create_link(&priv->adap.dev.kobj, &mux_dev->kobj, "mux_device"), i2c_add_mux_adapter()
194 WARN(sysfs_create_link(&mux_dev->kobj, &priv->adap.dev.kobj, symlink_name), i2c_add_mux_adapter()
197 i2c_adapter_id(&priv->adap)); i2c_add_mux_adapter()
199 return &priv->adap; i2c_add_mux_adapter()
203 void i2c_del_mux_adapter(struct i2c_adapter *adap) i2c_del_mux_adapter() argument
205 struct i2c_mux_priv *priv = adap->algo_data; i2c_del_mux_adapter()
211 sysfs_remove_link(&priv->adap.dev.kobj, "mux_device"); i2c_del_mux_adapter()
212 i2c_del_adapter(adap); i2c_del_mux_adapter()
H A Di2c-core.c161 * @adap: pointer to adapter
167 static void acpi_i2c_register_devices(struct i2c_adapter *adap) acpi_i2c_register_devices() argument
172 if (!adap->dev.parent) acpi_i2c_register_devices()
175 handle = ACPI_HANDLE(adap->dev.parent); acpi_i2c_register_devices()
181 adap, NULL); acpi_i2c_register_devices()
183 dev_warn(&adap->dev, "failed to enumerate I2C slaves\n"); acpi_i2c_register_devices()
187 static inline void acpi_i2c_register_devices(struct i2c_adapter *adap) { } acpi_i2c_register_devices() argument
500 static int get_scl_gpio_value(struct i2c_adapter *adap) get_scl_gpio_value() argument
502 return gpio_get_value(adap->bus_recovery_info->scl_gpio); get_scl_gpio_value()
505 static void set_scl_gpio_value(struct i2c_adapter *adap, int val) set_scl_gpio_value() argument
507 gpio_set_value(adap->bus_recovery_info->scl_gpio, val); set_scl_gpio_value()
510 static int get_sda_gpio_value(struct i2c_adapter *adap) get_sda_gpio_value() argument
512 return gpio_get_value(adap->bus_recovery_info->sda_gpio); get_sda_gpio_value()
515 static int i2c_get_gpios_for_recovery(struct i2c_adapter *adap) i2c_get_gpios_for_recovery() argument
517 struct i2c_bus_recovery_info *bri = adap->bus_recovery_info; i2c_get_gpios_for_recovery()
518 struct device *dev = &adap->dev; i2c_get_gpios_for_recovery()
540 static void i2c_put_gpios_for_recovery(struct i2c_adapter *adap) i2c_put_gpios_for_recovery() argument
542 struct i2c_bus_recovery_info *bri = adap->bus_recovery_info; i2c_put_gpios_for_recovery()
558 static int i2c_generic_recovery(struct i2c_adapter *adap) i2c_generic_recovery() argument
560 struct i2c_bus_recovery_info *bri = adap->bus_recovery_info; i2c_generic_recovery()
564 bri->prepare_recovery(adap); i2c_generic_recovery()
572 if (bri->get_sda && bri->get_sda(adap)) i2c_generic_recovery()
575 if (!bri->get_scl(adap)) { i2c_generic_recovery()
576 dev_err(&adap->dev, i2c_generic_recovery()
584 bri->set_scl(adap, val); i2c_generic_recovery()
589 bri->unprepare_recovery(adap); i2c_generic_recovery()
594 int i2c_generic_scl_recovery(struct i2c_adapter *adap) i2c_generic_scl_recovery() argument
596 adap->bus_recovery_info->set_scl(adap, 1); i2c_generic_scl_recovery()
597 return i2c_generic_recovery(adap); i2c_generic_scl_recovery()
601 int i2c_generic_gpio_recovery(struct i2c_adapter *adap) i2c_generic_gpio_recovery() argument
605 ret = i2c_get_gpios_for_recovery(adap); i2c_generic_gpio_recovery()
609 ret = i2c_generic_recovery(adap); i2c_generic_gpio_recovery()
610 i2c_put_gpios_for_recovery(adap); i2c_generic_gpio_recovery()
616 int i2c_recover_bus(struct i2c_adapter *adap) i2c_recover_bus() argument
618 if (!adap->bus_recovery_info) i2c_recover_bus()
621 dev_dbg(&adap->dev, "Trying i2c bus recovery\n"); i2c_recover_bus()
622 return adap->bus_recovery_info->recover_bus(adap); i2c_recover_bus()
905 static void i2c_dev_set_name(struct i2c_adapter *adap, i2c_dev_set_name() argument
916 dev_set_name(&client->dev, "%d-%04x", i2c_adapter_id(adap), i2c_dev_set_name()
923 * @adap: the adapter managing the device
938 i2c_new_device(struct i2c_adapter *adap, struct i2c_board_info const *info) i2c_new_device() argument
947 client->adapter = adap; i2c_new_device()
963 dev_err(&adap->dev, "Invalid %d-bit I2C address 0x%02hx\n", i2c_new_device()
969 status = i2c_check_addr_busy(adap, client->addr); i2c_new_device()
979 i2c_dev_set_name(adap, client); i2c_new_device()
984 dev_dbg(&adap->dev, "client [%s] registered with bus id %s\n", i2c_new_device()
990 dev_err(&adap->dev, "Failed to register i2c client %s at 0x%02x " i2c_new_device()
1068 struct i2c_adapter *adap = to_i2c_adapter(dev); i2c_adapter_dev_release() local
1069 complete(&adap->dev_released); i2c_adapter_dev_release()
1102 struct i2c_adapter *adap = to_i2c_adapter(dev); i2c_sysfs_new_device() local
1132 client = i2c_new_device(adap, &info); i2c_sysfs_new_device()
1137 mutex_lock(&adap->userspace_clients_lock); i2c_sysfs_new_device()
1138 list_add_tail(&client->detected, &adap->userspace_clients); i2c_sysfs_new_device()
1139 mutex_unlock(&adap->userspace_clients_lock); i2c_sysfs_new_device()
1160 struct i2c_adapter *adap = to_i2c_adapter(dev); i2c_sysfs_delete_device() local
1179 mutex_lock_nested(&adap->userspace_clients_lock, i2c_sysfs_delete_device()
1180 i2c_adapter_depth(adap)); i2c_sysfs_delete_device()
1181 list_for_each_entry_safe(client, next, &adap->userspace_clients, i2c_sysfs_delete_device()
1193 mutex_unlock(&adap->userspace_clients_lock); i2c_sysfs_delete_device()
1257 static struct i2c_client *of_i2c_register_device(struct i2c_adapter *adap, of_i2c_register_device() argument
1266 dev_dbg(&adap->dev, "of_i2c: register %s\n", node->full_name); of_i2c_register_device()
1269 dev_err(&adap->dev, "of_i2c: modalias failure on %s\n", of_i2c_register_device()
1276 dev_err(&adap->dev, "of_i2c: invalid reg on %s\n", of_i2c_register_device()
1283 dev_err(&adap->dev, "of_i2c: invalid addr=%x on %s\n", of_i2c_register_device()
1294 result = i2c_new_device(adap, &info); of_i2c_register_device()
1296 dev_err(&adap->dev, "of_i2c: Failure registering %s\n", of_i2c_register_device()
1304 static void of_i2c_register_devices(struct i2c_adapter *adap) of_i2c_register_devices() argument
1309 if (!adap->dev.of_node) of_i2c_register_devices()
1312 dev_dbg(&adap->dev, "of_i2c: walking child nodes\n"); of_i2c_register_devices()
1314 for_each_available_child_of_node(adap->dev.of_node, node) of_i2c_register_devices()
1315 of_i2c_register_device(adap, node); of_i2c_register_devices()
1351 static void of_i2c_register_devices(struct i2c_adapter *adap) { } of_i2c_register_devices() argument
1355 struct i2c_adapter *adap) i2c_do_add_adapter()
1358 i2c_detect(adap, driver); i2c_do_add_adapter()
1362 dev_warn(&adap->dev, "%s: attach_adapter method is deprecated\n", i2c_do_add_adapter()
1364 dev_warn(&adap->dev, "Please use another way to instantiate " i2c_do_add_adapter()
1367 driver->attach_adapter(adap); i2c_do_add_adapter()
1377 static int i2c_register_adapter(struct i2c_adapter *adap) i2c_register_adapter() argument
1388 if (unlikely(adap->name[0] == '\0')) { i2c_register_adapter()
1393 if (unlikely(!adap->algo)) { i2c_register_adapter()
1395 "no algo!\n", adap->name); i2c_register_adapter()
1399 rt_mutex_init(&adap->bus_lock); i2c_register_adapter()
1400 mutex_init(&adap->userspace_clients_lock); i2c_register_adapter()
1401 INIT_LIST_HEAD(&adap->userspace_clients); i2c_register_adapter()
1404 if (adap->timeout == 0) i2c_register_adapter()
1405 adap->timeout = HZ; i2c_register_adapter()
1407 dev_set_name(&adap->dev, "i2c-%d", adap->nr); i2c_register_adapter()
1408 adap->dev.bus = &i2c_bus_type; i2c_register_adapter()
1409 adap->dev.type = &i2c_adapter_type; i2c_register_adapter()
1410 res = device_register(&adap->dev); i2c_register_adapter()
1414 dev_dbg(&adap->dev, "adapter [%s] registered\n", adap->name); i2c_register_adapter()
1416 pm_runtime_no_callbacks(&adap->dev); i2c_register_adapter()
1419 res = class_compat_create_link(i2c_adapter_compat_class, &adap->dev, i2c_register_adapter()
1420 adap->dev.parent); i2c_register_adapter()
1422 dev_warn(&adap->dev, i2c_register_adapter()
1427 if (adap->bus_recovery_info) { i2c_register_adapter()
1428 struct i2c_bus_recovery_info *bri = adap->bus_recovery_info; i2c_register_adapter()
1431 dev_err(&adap->dev, "No recover_bus() found, not using recovery\n"); i2c_register_adapter()
1432 adap->bus_recovery_info = NULL; i2c_register_adapter()
1439 dev_err(&adap->dev, "Invalid SCL gpio, not using recovery\n"); i2c_register_adapter()
1440 adap->bus_recovery_info = NULL; i2c_register_adapter()
1453 dev_err(&adap->dev, "No {get|set}_gpio() found, not using recovery\n"); i2c_register_adapter()
1454 adap->bus_recovery_info = NULL; i2c_register_adapter()
1460 of_i2c_register_devices(adap); i2c_register_adapter()
1461 acpi_i2c_register_devices(adap); i2c_register_adapter()
1462 acpi_i2c_install_space_handler(adap); i2c_register_adapter()
1464 if (adap->nr < __i2c_first_dynamic_bus_num) i2c_register_adapter()
1465 i2c_scan_static_board_info(adap); i2c_register_adapter()
1469 bus_for_each_drv(&i2c_bus_type, NULL, adap, __process_new_adapter); i2c_register_adapter()
1476 idr_remove(&i2c_adapter_idr, adap->nr); i2c_register_adapter()
1483 * @adap: the adapter to register (with adap->nr initialized)
1488 static int __i2c_add_numbered_adapter(struct i2c_adapter *adap) __i2c_add_numbered_adapter() argument
1493 id = idr_alloc(&i2c_adapter_idr, adap, adap->nr, adap->nr + 1, __i2c_add_numbered_adapter()
1499 return i2c_register_adapter(adap); __i2c_add_numbered_adapter()
1513 * in adap->nr, and the specified adapter became available for clients.
1544 * @adap: the adapter to register (with adap->nr initialized)
1560 * clients using the bus number provided in adap->nr. Also, the table
1565 int i2c_add_numbered_adapter(struct i2c_adapter *adap) i2c_add_numbered_adapter() argument
1567 if (adap->nr == -1) /* -1 means dynamically assign bus id */ i2c_add_numbered_adapter()
1568 return i2c_add_adapter(adap); i2c_add_numbered_adapter()
1570 return __i2c_add_numbered_adapter(adap); i2c_add_numbered_adapter()
1615 * @adap: the adapter being unregistered
1621 void i2c_del_adapter(struct i2c_adapter *adap) i2c_del_adapter() argument
1628 found = idr_find(&i2c_adapter_idr, adap->nr); i2c_del_adapter()
1630 if (found != adap) { i2c_del_adapter()
1632 "adapter [%s]\n", adap->name); i2c_del_adapter()
1636 acpi_i2c_remove_space_handler(adap); i2c_del_adapter()
1639 bus_for_each_drv(&i2c_bus_type, NULL, adap, i2c_del_adapter()
1644 mutex_lock_nested(&adap->userspace_clients_lock, i2c_del_adapter()
1645 i2c_adapter_depth(adap)); i2c_del_adapter()
1646 list_for_each_entry_safe(client, next, &adap->userspace_clients, i2c_del_adapter()
1648 dev_dbg(&adap->dev, "Removing %s at 0x%x\n", client->name, i2c_del_adapter()
1653 mutex_unlock(&adap->userspace_clients_lock); i2c_del_adapter()
1660 device_for_each_child(&adap->dev, NULL, __unregister_client); i2c_del_adapter()
1661 device_for_each_child(&adap->dev, NULL, __unregister_dummy); i2c_del_adapter()
1664 class_compat_remove_link(i2c_adapter_compat_class, &adap->dev, i2c_del_adapter()
1665 adap->dev.parent); i2c_del_adapter()
1669 dev_dbg(&adap->dev, "adapter [%s] unregistered\n", adap->name); i2c_del_adapter()
1678 init_completion(&adap->dev_released); i2c_del_adapter()
1679 device_unregister(&adap->dev); i2c_del_adapter()
1680 wait_for_completion(&adap->dev_released); i2c_del_adapter()
1684 idr_remove(&i2c_adapter_idr, adap->nr); i2c_del_adapter()
1689 memset(&adap->dev, 0, sizeof(adap->dev)); i2c_del_adapter()
1823 void i2c_clients_command(struct i2c_adapter *adap, unsigned int cmd, void *arg) i2c_clients_command() argument
1829 device_for_each_child(&adap->dev, &cmd_arg, i2c_cmd); i2c_clients_command()
1838 struct i2c_adapter *adap; of_i2c_notify() local
1843 adap = of_find_i2c_adapter_by_node(rd->dn->parent); of_i2c_notify()
1844 if (adap == NULL) of_i2c_notify()
1847 client = of_i2c_register_device(adap, rd->dn); of_i2c_notify()
1848 put_device(&adap->dev); of_i2c_notify()
1944 static int i2c_quirk_error(struct i2c_adapter *adap, struct i2c_msg *msg, char *err_msg) i2c_quirk_error() argument
1946 dev_err_ratelimited(&adap->dev, "adapter quirk: %s (addr 0x%04x, size %u, %s)\n", i2c_quirk_error()
1952 static int i2c_check_for_quirks(struct i2c_adapter *adap, struct i2c_msg *msgs, int num) i2c_check_for_quirks() argument
1954 const struct i2c_adapter_quirks *q = adap->quirks; i2c_check_for_quirks()
1964 return i2c_quirk_error(adap, &msgs[0], "1st comb msg must be write"); i2c_check_for_quirks()
1967 return i2c_quirk_error(adap, &msgs[1], "2nd comb msg must be read"); i2c_check_for_quirks()
1970 return i2c_quirk_error(adap, &msgs[0], "comb msg only to same addr"); i2c_check_for_quirks()
1973 return i2c_quirk_error(adap, &msgs[0], "msg too long"); i2c_check_for_quirks()
1976 return i2c_quirk_error(adap, &msgs[1], "msg too long"); i2c_check_for_quirks()
1983 return i2c_quirk_error(adap, &msgs[0], "too many messages"); i2c_check_for_quirks()
1990 return i2c_quirk_error(adap, &msgs[i], "msg too long"); i2c_check_for_quirks()
1993 return i2c_quirk_error(adap, &msgs[i], "msg too long"); i2c_check_for_quirks()
2002 * @adap: Handle to I2C bus
2010 * takes place. adap->algo->master_xfer existence isn't checked.
2012 int __i2c_transfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num) __i2c_transfer() argument
2017 if (adap->quirks && i2c_check_for_quirks(adap, msgs, num)) __i2c_transfer()
2028 trace_i2c_read(adap, &msgs[i], i); __i2c_transfer()
2030 trace_i2c_write(adap, &msgs[i], i); __i2c_transfer()
2035 for (ret = 0, try = 0; try <= adap->retries; try++) { __i2c_transfer()
2036 ret = adap->algo->master_xfer(adap, msgs, num); __i2c_transfer()
2039 if (time_after(jiffies, orig_jiffies + adap->timeout)) __i2c_transfer()
2047 trace_i2c_reply(adap, &msgs[i], i); __i2c_transfer()
2048 trace_i2c_result(adap, i, ret); __i2c_transfer()
2057 * @adap: Handle to I2C bus
2067 int i2c_transfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num) i2c_transfer() argument
2088 if (adap->algo->master_xfer) { i2c_transfer()
2091 dev_dbg(&adap->dev, "master_xfer[%d] %c, addr=0x%02x, " i2c_transfer()
2099 ret = i2c_trylock_adapter(adap); i2c_transfer()
2104 i2c_lock_adapter(adap); i2c_transfer()
2107 ret = __i2c_transfer(adap, msgs, num); i2c_transfer()
2108 i2c_unlock_adapter(adap); i2c_transfer()
2112 dev_dbg(&adap->dev, "I2C level transfers not supported\n"); i2c_transfer()
2129 struct i2c_adapter *adap = client->adapter; i2c_master_send() local
2137 ret = i2c_transfer(adap, &msg, 1); i2c_master_send()
2157 struct i2c_adapter *adap = client->adapter; i2c_master_recv() local
2167 ret = i2c_transfer(adap, &msg, 1); i2c_master_recv()
2195 static int i2c_default_probe(struct i2c_adapter *adap, unsigned short addr) i2c_default_probe() argument
2201 if (addr == 0x73 && (adap->class & I2C_CLASS_HWMON) i2c_default_probe()
2202 && i2c_check_functionality(adap, I2C_FUNC_SMBUS_READ_BYTE_DATA)) i2c_default_probe()
2203 err = i2c_smbus_xfer(adap, addr, 0, I2C_SMBUS_READ, 0, i2c_default_probe()
2208 && i2c_check_functionality(adap, I2C_FUNC_SMBUS_QUICK)) i2c_default_probe()
2209 err = i2c_smbus_xfer(adap, addr, 0, I2C_SMBUS_WRITE, 0, i2c_default_probe()
2211 else if (i2c_check_functionality(adap, I2C_FUNC_SMBUS_READ_BYTE)) i2c_default_probe()
2212 err = i2c_smbus_xfer(adap, addr, 0, I2C_SMBUS_READ, 0, i2c_default_probe()
2215 dev_warn(&adap->dev, "No suitable probing method supported for address 0x%02X\n", i2c_default_probe()
2329 int i2c_probe_func_quick_read(struct i2c_adapter *adap, unsigned short addr) i2c_probe_func_quick_read() argument
2331 return i2c_smbus_xfer(adap, addr, 0, I2C_SMBUS_READ, 0, i2c_probe_func_quick_read()
2337 i2c_new_probed_device(struct i2c_adapter *adap, i2c_new_probed_device() argument
2350 dev_warn(&adap->dev, "Invalid 7-bit address " i2c_new_probed_device()
2356 if (i2c_check_addr_busy(adap, addr_list[i])) { i2c_new_probed_device()
2357 dev_dbg(&adap->dev, "Address 0x%02x already in " i2c_new_probed_device()
2363 if (probe(adap, addr_list[i])) i2c_new_probed_device()
2368 dev_dbg(&adap->dev, "Probing failed, no device found\n"); i2c_new_probed_device()
2373 return i2c_new_device(adap, info); i2c_new_probed_device()
2391 void i2c_put_adapter(struct i2c_adapter *adap) i2c_put_adapter() argument
2393 if (adap) i2c_put_adapter()
2394 module_put(adap->owner); i2c_put_adapter()
1354 i2c_do_add_adapter(struct i2c_driver *driver, struct i2c_adapter *adap) i2c_do_add_adapter() argument
H A Di2c-stub.c131 static s32 stub_xfer(struct i2c_adapter *adap, u16 addr, unsigned short flags, stub_xfer() argument
153 dev_dbg(&adap->dev, "smbus quick - addr 0x%02x\n", addr); stub_xfer()
160 dev_dbg(&adap->dev, stub_xfer()
166 dev_dbg(&adap->dev, stub_xfer()
179 dev_dbg(&adap->dev, stub_xfer()
188 dev_dbg(&adap->dev, stub_xfer()
194 dev_dbg(&adap->dev, stub_xfer()
207 dev_dbg(&adap->dev, stub_xfer()
212 dev_dbg(&adap->dev, stub_xfer()
233 dev_dbg(&adap->dev, stub_xfer()
241 dev_dbg(&adap->dev, stub_xfer()
254 b = stub_find_block(&adap->dev, chip, command, false); stub_xfer()
262 b = stub_find_block(&adap->dev, chip, command, stub_xfer()
276 dev_dbg(&adap->dev, stub_xfer()
281 dev_dbg(&adap->dev, stub_xfer()
290 dev_dbg(&adap->dev, stub_xfer()
299 dev_dbg(&adap->dev, "Unsupported I2C/SMBus command\n"); stub_xfer()
H A Di2c-dev.c48 struct i2c_adapter *adap; member in struct:i2c_dev
62 if (i2c_dev->adap->nr == index) i2c_dev_get_by_minor()
71 static struct i2c_dev *get_free_i2c_dev(struct i2c_adapter *adap) get_free_i2c_dev() argument
75 if (adap->nr >= I2C_MINORS) { get_free_i2c_dev()
77 adap->nr); get_free_i2c_dev()
84 i2c_dev->adap = adap; get_free_i2c_dev()
107 return sprintf(buf, "%s\n", i2c_dev->adap->name); name_show()
488 struct i2c_adapter *adap; i2cdev_open() local
495 adap = i2c_get_adapter(i2c_dev->adap->nr); i2cdev_open()
496 if (!adap) i2cdev_open()
508 i2c_put_adapter(adap); i2cdev_open()
511 snprintf(client->name, I2C_NAME_SIZE, "i2c-dev %d", adap->nr); i2cdev_open()
513 client->adapter = adap; i2cdev_open()
546 struct i2c_adapter *adap; i2cdev_attach_adapter() local
552 adap = to_i2c_adapter(dev); i2cdev_attach_adapter()
554 i2c_dev = get_free_i2c_dev(adap); i2cdev_attach_adapter()
559 i2c_dev->dev = device_create(i2c_dev_class, &adap->dev, i2cdev_attach_adapter()
560 MKDEV(I2C_MAJOR, adap->nr), NULL, i2cdev_attach_adapter()
561 "i2c-%d", adap->nr); i2cdev_attach_adapter()
568 adap->name, adap->nr); i2cdev_attach_adapter()
577 struct i2c_adapter *adap; i2cdev_detach_adapter() local
582 adap = to_i2c_adapter(dev); i2cdev_detach_adapter()
584 i2c_dev = i2c_dev_get_by_minor(adap->nr); i2cdev_detach_adapter()
589 device_destroy(i2c_dev_class, MKDEV(I2C_MAJOR, adap->nr)); i2cdev_detach_adapter()
591 pr_debug("i2c-dev: adapter [%s] unregistered\n", adap->name); i2cdev_detach_adapter()
/linux-4.1.27/include/sound/
H A Dl3.h16 int l3_write(struct l3_pins *adap, u8 addr, u8 *data, int len);
/linux-4.1.27/include/trace/events/
H A Di2c.h30 TP_PROTO(const struct i2c_adapter *adap, const struct i2c_msg *msg,
32 TP_ARGS(adap, msg, num),
41 __entry->adapter_nr = adap->nr;
63 TP_PROTO(const struct i2c_adapter *adap, const struct i2c_msg *msg,
65 TP_ARGS(adap, msg, num),
74 __entry->adapter_nr = adap->nr;
94 TP_PROTO(const struct i2c_adapter *adap, const struct i2c_msg *msg,
96 TP_ARGS(adap, msg, num),
105 __entry->adapter_nr = adap->nr;
127 TP_PROTO(const struct i2c_adapter *adap, int num, int ret),
128 TP_ARGS(adap, num, ret),
135 __entry->adapter_nr = adap->nr;
151 TP_PROTO(const struct i2c_adapter *adap,
155 TP_ARGS(adap, addr, flags, read_write, command, protocol, data),
168 __entry->adapter_nr = adap->nr;
219 TP_PROTO(const struct i2c_adapter *adap,
222 TP_ARGS(adap, addr, flags, read_write, command, protocol),
234 __entry->adapter_nr = adap->nr;
261 TP_PROTO(const struct i2c_adapter *adap,
265 TP_ARGS(adap, addr, flags, read_write, command, protocol, data),
276 __entry->adapter_nr = adap->nr;
327 TP_PROTO(const struct i2c_adapter *adap,
331 TP_ARGS(adap, addr, flags, read_write, command, protocol, res),
342 __entry->adapter_nr = adap->nr;
/linux-4.1.27/drivers/gpu/drm/armada/
H A Darmada_slave.c71 struct i2c_adapter *adap; armada_drm_conn_slave_create() local
86 adap = i2c_get_adapter(config->i2c_adapter_id); armada_drm_conn_slave_create()
87 if (!adap) { armada_drm_conn_slave_create()
97 i2c_put_adapter(adap); armada_drm_conn_slave_create()
102 ret = drm_i2c_encoder_init(conn->dev, slave, adap, &config->info); armada_drm_conn_slave_create()
103 i2c_put_adapter(adap); armada_drm_conn_slave_create()
/linux-4.1.27/drivers/media/pci/cx88/
H A Dcx88-vp3054-i2c.c123 vp3054_i2c->adap.dev.parent = &dev->pci->dev; vp3054_i2c_probe()
124 strlcpy(vp3054_i2c->adap.name, core->name, vp3054_i2c_probe()
125 sizeof(vp3054_i2c->adap.name)); vp3054_i2c_probe()
126 vp3054_i2c->adap.owner = THIS_MODULE; vp3054_i2c_probe()
128 i2c_set_adapdata(&vp3054_i2c->adap, dev); vp3054_i2c_probe()
129 vp3054_i2c->adap.algo_data = &vp3054_i2c->algo; vp3054_i2c_probe()
134 rc = i2c_bit_add_bus(&vp3054_i2c->adap); vp3054_i2c_probe()
153 i2c_del_adapter(&vp3054_i2c->adap); vp3054_i2c_remove()
H A Dcx88-vp3054-i2c.h27 struct i2c_adapter adap; member in struct:vp3054_i2c_state
/linux-4.1.27/drivers/media/dvb-core/
H A Ddvbdev.c167 static int dvbdev_get_free_id (struct dvb_adapter *adap, int type) dvbdev_get_free_id() argument
173 list_for_each_entry(dev, &adap->device_list, list_head) dvbdev_get_free_id()
271 int dvb_register_device(struct dvb_adapter *adap, struct dvb_device **pdvbdev, dvb_register_device() argument
282 if ((id = dvbdev_get_free_id (adap, type)) < 0){ dvb_register_device()
307 dvbdev->adapter = adap; dvb_register_device()
313 dvbdevfops->owner = adap->module; dvb_register_device()
315 list_add_tail (&dvbdev->list_head, &adap->device_list); dvb_register_device()
331 minor = nums2minor(adap->num, type, id); dvb_register_device()
340 clsdev = device_create(dvb_class, adap->device, dvb_register_device()
342 dvbdev, "dvb%d.%s%d", adap->num, dnames[type], id); dvb_register_device()
345 __func__, adap->num, dnames[type], id, PTR_ERR(clsdev)); dvb_register_device()
349 adap->num, dnames[type], id, minor, minor); dvb_register_device()
385 void dvb_create_media_graph(struct dvb_adapter *adap) dvb_create_media_graph() argument
387 struct media_device *mdev = adap->mdev; dvb_create_media_graph()
433 struct dvb_adapter *adap; dvbdev_check_free_adapter_num() local
434 adap = list_entry(entry, struct dvb_adapter, list_head); dvbdev_check_free_adapter_num()
435 if (adap->num == num) dvbdev_check_free_adapter_num()
455 int dvb_register_adapter(struct dvb_adapter *adap, const char *name, dvb_register_adapter() argument
481 memset (adap, 0, sizeof(struct dvb_adapter)); dvb_register_adapter()
482 INIT_LIST_HEAD (&adap->device_list); dvb_register_adapter()
486 adap->num = num; dvb_register_adapter()
487 adap->name = name; dvb_register_adapter()
488 adap->module = module; dvb_register_adapter()
489 adap->device = device; dvb_register_adapter()
490 adap->mfe_shared = 0; dvb_register_adapter()
491 adap->mfe_dvbdev = NULL; dvb_register_adapter()
492 mutex_init (&adap->mfe_lock); dvb_register_adapter()
494 list_add_tail (&adap->list_head, &dvb_adapter_list); dvb_register_adapter()
503 int dvb_unregister_adapter(struct dvb_adapter *adap) dvb_unregister_adapter() argument
506 list_del (&adap->list_head); dvb_unregister_adapter()
H A Ddvbdev.h113 extern int dvb_register_adapter(struct dvb_adapter *adap, const char *name,
116 extern int dvb_unregister_adapter (struct dvb_adapter *adap);
118 extern int dvb_register_device (struct dvb_adapter *adap,
127 void dvb_create_media_graph(struct dvb_adapter *adap); dvb_register_media_controller()
128 static inline void dvb_register_media_controller(struct dvb_adapter *adap, dvb_register_media_controller() argument
131 adap->mdev = mdev; dvb_register_media_controller()
135 static inline void dvb_create_media_graph(struct dvb_adapter *adap) {} dvb_create_media_graph() argument
H A Ddvb_net.h59 static inline int dvb_net_init(struct dvb_adapter *adap, dvb_net_init() argument
/linux-4.1.27/drivers/video/fbdev/via/
H A Dvia_aux.c28 struct via_aux_bus *via_aux_probe(struct i2c_adapter *adap) via_aux_probe() argument
32 if (!adap) via_aux_probe()
39 bus->adap = adap; via_aux_probe()
H A Dvia_i2c.c121 int viafb_i2c_readbyte(u8 adap, u8 slave_addr, u8 index, u8 *pdata) viafb_i2c_readbyte() argument
127 if (!via_i2c_par[adap].is_active) viafb_i2c_readbyte()
136 ret = i2c_transfer(&via_i2c_par[adap].adapter, msgs, 2); viafb_i2c_readbyte()
145 int viafb_i2c_writebyte(u8 adap, u8 slave_addr, u8 index, u8 data) viafb_i2c_writebyte() argument
151 if (!via_i2c_par[adap].is_active) viafb_i2c_writebyte()
157 ret = i2c_transfer(&via_i2c_par[adap].adapter, &msgs, 1); viafb_i2c_writebyte()
166 int viafb_i2c_readbytes(u8 adap, u8 slave_addr, u8 index, u8 *buff, int buff_len) viafb_i2c_readbytes() argument
172 if (!via_i2c_par[adap].is_active) viafb_i2c_readbytes()
180 ret = i2c_transfer(&via_i2c_par[adap].adapter, msgs, 2); viafb_i2c_readbytes()
H A Dvia_aux.h34 struct i2c_adapter *adap; /* the I2C device to access the bus */ member in struct:via_aux_bus
53 struct via_aux_bus *via_aux_probe(struct i2c_adapter *adap);
77 return i2c_transfer(drv->bus->adap, msg, 2) == 2; via_aux_read()
/linux-4.1.27/drivers/media/tuners/
H A Dtuner-i2c.h29 struct i2c_adapter *adap; member in struct:tuner_i2c_props
40 int ret = i2c_transfer(props->adap, &msg, 1); tuner_i2c_xfer_send()
49 int ret = i2c_transfer(props->adap, &msg, 1); tuner_i2c_xfer_recv()
62 int ret = i2c_transfer(props->adap, msg, 2); tuner_i2c_xfer_send_recv()
87 i2cprops.adap ? \
88 i2c_adapter_id(i2cprops.adap) : -1, \
133 if (((i2cadap) && (state->i2c_props.adap)) && \
134 ((i2c_adapter_id(state->i2c_props.adap) == \
149 state->i2c_props.adap = i2cadap; \
H A Dtda8290.c480 i2c_transfer(priv->i2c_props.adap, &msg, 1); tda8290_standby()
553 i2c_transfer(priv->i2c_props.adap, &msg, 1); tda8290_init_tuner()
594 ret = i2c_transfer(priv->i2c_props.adap, &msg, 1); tda829x_find_tuner()
611 ret = i2c_transfer(priv->i2c_props.adap, &msg, 1); tda829x_find_tuner()
631 ret = i2c_transfer(priv->i2c_props.adap, &msg, 1); tda829x_find_tuner()
645 priv->i2c_props.adap, &tda829x_tda18271_config); tda829x_find_tuner()
653 priv->i2c_props.adap, &priv->cfg); tda829x_find_tuner()
678 if (i2c_transfer(i2c_props->adap, msg_read, 2) != 2) { tda8290_probe()
687 __func__, i2c_adapter_id(i2c_props->adap), tda8290_probe()
705 if (i2c_transfer(i2c_props->adap, msg_read, 2) != 2) { tda8295_probe()
716 i2c_adapter_id(i2c_props->adap), tda8295_probe()
753 priv->i2c_props.adap = i2c_adap; tda829x_attach()
833 .adap = i2c_adap, tda829x_probe()
H A Dtda18271-common.c137 ret = i2c_transfer(priv->i2c_props.adap, msg, 2); tda18271_read_regs()
167 ret = i2c_transfer(priv->i2c_props.adap, msg, 2); tda18271_read_extended()
228 i2c_lock_adapter(priv->i2c_props.adap); __tda18271_write_regs()
241 ret = __i2c_transfer(priv->i2c_props.adap, &msg, 1); __tda18271_write_regs()
249 i2c_unlock_adapter(priv->i2c_props.adap); __tda18271_write_regs()
295 i2c_adapter_id(priv->i2c_props.adap), tda18271_init_regs()
303 i2c_lock_adapter(priv->i2c_props.adap); tda18271_init_regs()
519 i2c_unlock_adapter(priv->i2c_props.adap); tda18271_init_regs()
730 level, func, i2c_adapter_id(state->i2c_props.adap), _tda_printk()
H A Dmxl301rf.c233 dev_warn(&state->i2c->dev, "(%s) failed. [adap%d-fe%d]\n", mxl301rf_set_params()
251 dev_warn(&state->i2c->dev, "(%s) failed. [adap%d-fe%d]\n", mxl301rf_sleep()
270 dev_warn(&state->i2c->dev, "(%s) failed. [adap%d-fe%d]\n", mxl301rf_init()
/linux-4.1.27/drivers/i2c/muxes/
H A Di2c-mux-pca9541.c94 struct i2c_adapter *adap = client->adapter; pca9541_reg_write() local
97 if (adap->algo->master_xfer) { pca9541_reg_write()
107 ret = __i2c_transfer(adap, &msg, 1); pca9541_reg_write()
112 ret = adap->algo->smbus_xfer(adap, client->addr, pca9541_reg_write()
128 struct i2c_adapter *adap = client->adapter; pca9541_reg_read() local
132 if (adap->algo->master_xfer) { pca9541_reg_read()
147 ret = __i2c_transfer(adap, msg, 2); pca9541_reg_read()
155 ret = adap->algo->smbus_xfer(adap, client->addr, pca9541_reg_read()
288 static int pca9541_select_chan(struct i2c_adapter *adap, void *client, u32 chan) pca9541_select_chan() argument
312 static int pca9541_release_chan(struct i2c_adapter *adap, pca9541_release_chan() argument
325 struct i2c_adapter *adap = client->adapter; pca9541_probe() local
331 if (!i2c_check_functionality(adap, I2C_FUNC_SMBUS_BYTE_DATA)) pca9541_probe()
346 i2c_lock_adapter(adap); pca9541_probe()
348 i2c_unlock_adapter(adap); pca9541_probe()
355 data->mux_adap = i2c_add_mux_adapter(adap, &client->dev, client, pca9541_probe()
H A Di2c-mux-pca954x.c123 static int pca954x_reg_write(struct i2c_adapter *adap, pca954x_reg_write() argument
128 if (adap->algo->master_xfer) { pca954x_reg_write()
137 ret = __i2c_transfer(adap, &msg, 1); pca954x_reg_write()
140 ret = adap->algo->smbus_xfer(adap, client->addr, pca954x_reg_write()
149 static int pca954x_select_chan(struct i2c_adapter *adap, pca954x_select_chan() argument
165 ret = pca954x_reg_write(adap, client, regval); pca954x_select_chan()
172 static int pca954x_deselect_mux(struct i2c_adapter *adap, pca954x_deselect_mux() argument
179 return pca954x_reg_write(adap, client, data->last_chan); pca954x_deselect_mux()
188 struct i2c_adapter *adap = to_i2c_adapter(client->dev.parent); pca954x_probe() local
197 if (!i2c_check_functionality(adap, I2C_FUNC_SMBUS_BYTE)) pca954x_probe()
230 force = 0; /* dynamic adap number */ pca954x_probe()
244 i2c_add_mux_adapter(adap, &client->dev, client, pca954x_probe()
H A Di2c-mux-gpio.c22 struct i2c_adapter **adap; /* child busses */ member in struct:gpiomux
36 static int i2c_mux_gpio_select(struct i2c_adapter *adap, void *data, u32 chan) i2c_mux_gpio_select() argument
45 static int i2c_mux_gpio_deselect(struct i2c_adapter *adap, void *data, u32 chan) i2c_mux_gpio_deselect() argument
185 mux->adap = devm_kzalloc(&pdev->dev, i2c_mux_gpio_probe()
186 sizeof(*mux->adap) * mux->data.n_values, i2c_mux_gpio_probe()
188 if (!mux->adap) { i2c_mux_gpio_probe()
225 mux->adap[i] = i2c_add_mux_adapter(parent, &pdev->dev, mux, nr, i2c_mux_gpio_probe()
228 if (!mux->adap[i]) { i2c_mux_gpio_probe()
242 i2c_del_mux_adapter(mux->adap[i - 1]); i2c_mux_gpio_probe()
259 i2c_del_mux_adapter(mux->adap[i]); i2c_mux_gpio_remove()
H A Di2c-arb-gpio-challenge.c62 static int i2c_arbitrator_select(struct i2c_adapter *adap, void *data, u32 chan) i2c_arbitrator_select() argument
96 dev_err(&adap->dev, "Could not claim bus, timeout\n"); i2c_arbitrator_select()
105 static int i2c_arbitrator_deselect(struct i2c_adapter *adap, void *data, i2c_arbitrator_deselect() argument
/linux-4.1.27/drivers/media/pci/ngene/
H A Dngene-i2c.c152 static u32 ngene_i2c_functionality(struct i2c_adapter *adap) ngene_i2c_functionality() argument
164 struct i2c_adapter *adap = &(dev->channel[dev_nr].i2c_adapter); ngene_i2c_init() local
166 i2c_set_adapdata(adap, &(dev->channel[dev_nr])); ngene_i2c_init()
168 strcpy(adap->name, "nGene"); ngene_i2c_init()
170 adap->algo = &ngene_i2c_algo; ngene_i2c_init()
171 adap->algo_data = (void *)&(dev->channel[dev_nr]); ngene_i2c_init()
172 adap->dev.parent = &dev->pci_dev->dev; ngene_i2c_init()
174 return i2c_add_adapter(adap); ngene_i2c_init()
/linux-4.1.27/drivers/media/pci/solo6x10/
H A Dsolo6x10-i2c.c213 static int solo_i2c_master_xfer(struct i2c_adapter *adap, solo_i2c_master_xfer() argument
216 struct solo_dev *solo_dev = adap->algo_data; solo_i2c_master_xfer()
223 if (&solo_dev->i2c_adap[i] == adap) solo_i2c_master_xfer()
267 static u32 solo_i2c_functionality(struct i2c_adapter *adap) solo_i2c_functionality() argument
291 struct i2c_adapter *adap = &solo_dev->i2c_adap[i]; solo_i2c_init() local
293 snprintf(adap->name, I2C_NAME_SIZE, "%s I2C %d", solo_i2c_init()
295 adap->algo = &solo_i2c_algo; solo_i2c_init()
296 adap->algo_data = solo_dev; solo_i2c_init()
297 adap->retries = 1; solo_i2c_init()
298 adap->dev.parent = &solo_dev->pdev->dev; solo_i2c_init()
300 ret = i2c_add_adapter(adap); solo_i2c_init()
302 adap->algo_data = NULL; solo_i2c_init()
/linux-4.1.27/include/linux/
H A Dvia_i2c.h35 int viafb_i2c_readbyte(u8 adap, u8 slave_addr, u8 index, u8 *pdata);
36 int viafb_i2c_writebyte(u8 adap, u8 slave_addr, u8 index, u8 data);
37 int viafb_i2c_readbytes(u8 adap, u8 slave_addr, u8 index, u8 *buff, int buff_len);
H A Di2c.h69 extern int i2c_transfer(struct i2c_adapter *adap, struct i2c_msg *msgs,
72 extern int __i2c_transfer(struct i2c_adapter *adap, struct i2c_msg *msgs,
326 i2c_new_device(struct i2c_adapter *adap, struct i2c_board_info const *info);
335 i2c_new_probed_device(struct i2c_adapter *adap,
347 i2c_new_dummy(struct i2c_adapter *adap, u16 address);
373 * the adapter specified by adap.
398 int (*master_xfer)(struct i2c_adapter *adap, struct i2c_msg *msgs,
400 int (*smbus_xfer) (struct i2c_adapter *adap, u16 addr,
446 int i2c_recover_bus(struct i2c_adapter *adap);
449 int i2c_generic_gpio_recovery(struct i2c_adapter *adap);
450 int i2c_generic_scl_recovery(struct i2c_adapter *adap);
595 extern void i2c_clients_command(struct i2c_adapter *adap,
599 extern void i2c_put_adapter(struct i2c_adapter *adap);
603 static inline u32 i2c_get_functionality(struct i2c_adapter *adap) i2c_get_functionality() argument
605 return adap->algo->functionality(adap); i2c_get_functionality()
609 static inline int i2c_check_functionality(struct i2c_adapter *adap, u32 func) i2c_check_functionality() argument
611 return (func & i2c_get_functionality(adap)) == func; i2c_check_functionality()
615 static inline int i2c_adapter_id(struct i2c_adapter *adap) i2c_adapter_id() argument
617 return adap->nr; i2c_adapter_id()
H A Di2c-algo-pcf.h2 /* adap-pcf.h i2c driver algorithms for PCF8584 adapters */
H A Di2c-mux.h45 void i2c_del_mux_adapter(struct i2c_adapter *adap);
/linux-4.1.27/arch/arm/mach-omap1/
H A Dboard-sx1.c51 struct i2c_adapter *adap; sx1_i2c_write_byte() local
56 adap = i2c_get_adapter(0); sx1_i2c_write_byte()
57 if (!adap) sx1_i2c_write_byte()
65 err = i2c_transfer(adap, msg, 1); sx1_i2c_write_byte()
66 i2c_put_adapter(adap); sx1_i2c_write_byte()
75 struct i2c_adapter *adap; sx1_i2c_read_byte() local
80 adap = i2c_get_adapter(0); sx1_i2c_read_byte()
81 if (!adap) sx1_i2c_read_byte()
89 err = i2c_transfer(adap, msg, 1); sx1_i2c_read_byte()
95 err = i2c_transfer(adap, msg, 1); sx1_i2c_read_byte()
97 i2c_put_adapter(adap); sx1_i2c_read_byte()
/linux-4.1.27/drivers/mfd/
H A D88pm860x-i2c.c91 struct i2c_adapter *adap = i2c->adapter; read_device() local
115 ret = adap->algo->master_xfer(adap, msg, num); read_device()
126 struct i2c_adapter *adap = i2c->adapter; write_device() local
137 ret = adap->algo->master_xfer(adap, &msg, 1); write_device()
/linux-4.1.27/drivers/gpu/drm/gma500/
H A Doaktrail_hdmi_i2c.c69 struct i2c_adapter *adap; member in struct:hdmi_i2c_dev
93 static int xfer_read(struct i2c_adapter *adap, struct i2c_msg *pmsg) xfer_read() argument
95 struct oaktrail_hdmi_dev *hdmi_dev = i2c_get_adapdata(adap); xfer_read()
116 static int xfer_write(struct i2c_adapter *adap, struct i2c_msg *pmsg) xfer_write() argument
124 static int oaktrail_hdmi_i2c_access(struct i2c_adapter *adap, oaktrail_hdmi_i2c_access() argument
128 struct oaktrail_hdmi_dev *hdmi_dev = i2c_get_adapdata(adap); oaktrail_hdmi_i2c_access()
142 xfer_read(adap, pmsg); oaktrail_hdmi_i2c_access()
144 xfer_write(adap, pmsg); oaktrail_hdmi_i2c_access()
288 i2c_dev->adap = &oaktrail_hdmi_i2c_adapter; oaktrail_hdmi_i2c_init()
/linux-4.1.27/drivers/media/pci/ddbridge/
H A Dddbridge-core.c147 static u32 ddb_i2c_functionality(struct i2c_adapter *adap) ddb_i2c_functionality() argument
161 struct i2c_adapter *adap; ddb_i2c_release() local
165 adap = &i2c->adap; ddb_i2c_release()
166 i2c_del_adapter(adap); ddb_i2c_release()
174 struct i2c_adapter *adap; ddb_i2c_init() local
188 adap = &i2c->adap; ddb_i2c_init()
189 i2c_set_adapdata(adap, i2c); ddb_i2c_init()
191 adap->class = I2C_ADAP_CLASS_TV_DIGITAL|I2C_CLASS_TV_ANALOG; ddb_i2c_init()
194 adap->class = I2C_CLASS_TV_ANALOG; ddb_i2c_init()
197 strcpy(adap->name, "ddbridge"); ddb_i2c_init()
198 adap->algo = &ddb_i2c_algo; ddb_i2c_init()
199 adap->algo_data = (void *)i2c; ddb_i2c_init()
200 adap->dev.parent = &dev->pdev->dev; ddb_i2c_init()
201 stat = i2c_add_adapter(adap); ddb_i2c_init()
208 adap = &i2c->adap; ddb_i2c_init()
209 i2c_del_adapter(adap); ddb_i2c_init()
575 struct i2c_adapter *i2c = &input->port->i2c->adap; demod_attach_drxk()
597 struct i2c_adapter *i2c = &input->port->i2c->adap; tuner_attach_tda18271()
668 struct i2c_adapter *i2c = &input->port->i2c->adap; demod_attach_stv0900()
689 struct i2c_adapter *i2c = &input->port->i2c->adap; tuner_attach_stv6110()
784 struct dvb_adapter *adap = &input->adap; dvb_input_detach() local
811 dvb_unregister_adapter(adap); dvb_input_detach()
820 struct dvb_adapter *adap = &input->adap; dvb_input_attach() local
823 ret = dvb_register_adapter(adap, "DDBridge", THIS_MODULE, dvb_input_attach()
842 &input->mem_frontend, adap); dvb_input_attach()
847 ret = dvb_net_init(adap, &input->dvbnet, input->dmxdev.demux); dvb_input_attach()
860 if (dvb_register_frontend(adap, input->fe) < 0) dvb_input_attach()
870 if (dvb_register_frontend(adap, input->fe) < 0) dvb_input_attach()
879 if (dvb_register_frontend(adap, input->fe) < 0) dvb_input_attach()
882 if (dvb_register_frontend(adap, input->fe2) < 0) dvb_input_attach()
1050 ret = dvb_register_adapter(&port->output->adap, ddb_ci_attach()
1057 port->en = cxd2099_attach(&cxd_cfg, port, &port->i2c->adap); ddb_ci_attach()
1059 dvb_unregister_adapter(&port->output->adap); ddb_ci_attach()
1064 dvb_ca_en50221_init(&port->output->adap, ddb_ci_attach()
1066 ret = dvb_register_device(&port->output->adap, &port->output->dev, ddb_ci_attach()
1128 dvb_unregister_adapter(&port->output->adap); ddb_ports_detach()
1141 return i2c_read_reg(&port->i2c->adap, 0x40, 0, &val) ? 0 : 1; port_has_ci()
1147 if (i2c_read_reg16(&port->i2c->adap, 0x69, 0xf100, &val) < 0) port_has_stv0900()
1155 if (i2c_read_reg16(&port->i2c->adap, 0x68, 0xf100, &val) < 0) port_has_stv0900_aa()
1163 if (i2c_read(&port->i2c->adap, 0x29, &val) < 0) port_has_drxks()
1165 if (i2c_read(&port->i2c->adap, 0x2a, &val) < 0) port_has_drxks()
H A Dddbridge.h91 struct dvb_adapter adap; member in struct:ddb_input
119 struct dvb_adapter adap; member in struct:ddb_output
126 struct i2c_adapter adap; member in struct:ddb_i2c
/linux-4.1.27/drivers/media/pci/cx18/
H A Dcx18-i2c.c86 static int cx18_i2c_new_ir(struct cx18 *cx, struct i2c_adapter *adap, u32 hw, cx18_i2c_new_ir() argument
107 return i2c_new_probed_device(adap, &info, addr_list, NULL) == NULL ? cx18_i2c_new_ir()
115 struct i2c_adapter *adap = &cx->i2c_adap[bus]; cx18_i2c_register() local
122 adap, type, 0, cx->card_i2c->radio); cx18_i2c_register()
126 adap, type, 0, cx->card_i2c->demod); cx18_i2c_register()
130 adap, type, 0, cx->card_i2c->tv); cx18_i2c_register()
137 return cx18_i2c_new_ir(cx, adap, hw, type, hw_addrs[idx]); cx18_i2c_register()
144 sd = v4l2_i2c_new_subdev(&cx->v4l2_dev, adap, type, hw_addrs[idx], cx18_i2c_register()
/linux-4.1.27/include/media/
H A Dv4l2-clk.h68 #define v4l2_clk_name_i2c(name, size, adap, client) snprintf(name, size, \
69 "%d-%04x", adap, client)
/linux-4.1.27/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/
H A Daux.c57 aux_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num) aux_xfer() argument
59 struct nvkm_i2c_port *port = adap->algo_data; aux_xfer()
105 aux_func(struct i2c_adapter *adap) aux_func() argument
H A Dbit.c183 i2c_bit_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num) i2c_bit_xfer() argument
185 struct nvkm_i2c_port *port = adap->algo_data; i2c_bit_xfer()
218 i2c_bit_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num) i2c_bit_xfer() argument
225 i2c_bit_func(struct i2c_adapter *adap) i2c_bit_func() argument
H A Danx9805.c171 anx9805_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num) anx9805_xfer() argument
173 struct anx9805_i2c_port *port = adap->algo_data; anx9805_xfer()
225 anx9805_func(struct i2c_adapter *adap) anx9805_func() argument
/linux-4.1.27/drivers/media/dvb-frontends/
H A Dtc90522.c516 dev_warn(&state->tuner_i2c.dev, "(%s) failed. [adap%d-fe%d]\n", tc90522_set_frontend()
592 "(%s) failed. [adap%d-fe%d]\n", tc90522_sleep()
625 "(%s) failed. [adap%d-fe%d]\n", tc90522_init()
642 tc90522_master_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num) tc90522_master_xfer() argument
662 state = i2c_get_adapdata(adap); tc90522_master_xfer()
706 static u32 tc90522_functionality(struct i2c_adapter *adap) tc90522_functionality() argument
773 struct i2c_adapter *adap; tc90522_probe() local
788 adap = &state->tuner_i2c; tc90522_probe()
789 adap->owner = THIS_MODULE; tc90522_probe()
790 adap->algo = &tc90522_tuner_i2c_algo; tc90522_probe()
791 adap->dev.parent = &client->dev; tc90522_probe()
792 strlcpy(adap->name, "tc90522_sub", sizeof(adap->name)); tc90522_probe()
793 i2c_set_adapdata(adap, state); tc90522_probe()
794 ret = i2c_add_adapter(adap); tc90522_probe()
797 cfg->tuner_i2c = state->cfg.tuner_i2c = adap; tc90522_probe()
H A Dsp2.c30 struct i2c_adapter *adap = client->adapter; sp2_read_i2c() local
45 ret = i2c_transfer(adap, msg, 2); sp2_read_i2c()
67 struct i2c_adapter *adap = client->adapter; sp2_write_i2c() local
84 ret = i2c_transfer(adap, &msg, 1); sp2_write_i2c()
/linux-4.1.27/drivers/net/ethernet/chelsio/cxgb/
H A Dcommon.h305 #define t1_is_T1B(adap) adapter_matches_type(adap, CHBT_TERM_T1, TERM_T1B)
306 #define is_T2(adap) adapter_matches_type(adap, CHBT_TERM_T2, TERM_T2)
320 static inline unsigned int core_ticks_per_usec(const adapter_t *adap) core_ticks_per_usec() argument
322 return board_info(adap)->clock_core / 1000000; core_ticks_per_usec()
H A Dtp.h67 void t1_tp_get_mib_statistics(adapter_t *adap, struct tp_mib_statistics *tps);
/linux-4.1.27/drivers/of/
H A Dunittest.c1541 struct i2c_adapter adap; member in struct:unittest_i2c_bus_data
1544 static int unittest_i2c_master_xfer(struct i2c_adapter *adap, unittest_i2c_master_xfer() argument
1547 struct unittest_i2c_bus_data *std = i2c_get_adapdata(adap); unittest_i2c_master_xfer()
1554 static u32 unittest_i2c_functionality(struct i2c_adapter *adap) unittest_i2c_functionality() argument
1569 struct i2c_adapter *adap; unittest_i2c_bus_probe() local
1590 adap = &std->adap; unittest_i2c_bus_probe()
1591 i2c_set_adapdata(adap, std); unittest_i2c_bus_probe()
1592 adap->nr = -1; unittest_i2c_bus_probe()
1593 strlcpy(adap->name, pdev->name, sizeof(adap->name)); unittest_i2c_bus_probe()
1594 adap->class = I2C_CLASS_DEPRECATED; unittest_i2c_bus_probe()
1595 adap->algo = &unittest_i2c_algo; unittest_i2c_bus_probe()
1596 adap->dev.parent = dev; unittest_i2c_bus_probe()
1597 adap->dev.of_node = dev->of_node; unittest_i2c_bus_probe()
1598 adap->timeout = 5 * HZ; unittest_i2c_bus_probe()
1599 adap->retries = 3; unittest_i2c_bus_probe()
1601 ret = i2c_add_numbered_adapter(adap); unittest_i2c_bus_probe()
1617 i2c_del_adapter(&std->adap); unittest_i2c_bus_remove()
1680 struct i2c_adapter *adap[]; member in struct:unittest_i2c_mux_data
1683 static int unittest_i2c_mux_select_chan(struct i2c_adapter *adap, unittest_i2c_mux_select_chan() argument
1694 struct i2c_adapter *adap = to_i2c_adapter(dev->parent); unittest_i2c_mux_probe() local
1720 size = offsetof(struct unittest_i2c_mux_data, adap[nchans]);
1728 stm->adap[i] = i2c_add_mux_adapter(adap, dev, client,
1730 if (!stm->adap[i]) {
1733 i2c_del_mux_adapter(stm->adap[i]);
1752 i2c_del_mux_adapter(stm->adap[i]); unittest_i2c_mux_remove()
/linux-4.1.27/drivers/gpu/drm/
H A Ddrm_encoder_slave.c36 * @adap: I2C adapter that will be used to communicate with
54 struct i2c_adapter *adap, drm_i2c_encoder_init()
64 client = i2c_new_device(adap, info); drm_i2c_encoder_init()
52 drm_i2c_encoder_init(struct drm_device *dev, struct drm_encoder_slave *encoder, struct i2c_adapter *adap, const struct i2c_board_info *info) drm_i2c_encoder_init() argument
/linux-4.1.27/drivers/media/pci/ivtv/
H A Divtv-i2c.c180 struct i2c_adapter *adap = &itv->i2c_adap; ivtv_i2c_new_ir() local
190 return i2c_new_probed_device(adap, &info, addr_list, NULL) ivtv_i2c_new_ir()
234 return i2c_new_probed_device(adap, &info, addr_list, NULL) == NULL ? ivtv_i2c_new_ir()
267 struct i2c_adapter *adap = &itv->i2c_adap; ivtv_i2c_register() local
273 sd = v4l2_i2c_new_subdev(&itv->v4l2_dev, adap, type, 0, ivtv_i2c_register()
277 sd = v4l2_i2c_new_subdev(&itv->v4l2_dev, adap, type, 0, ivtv_i2c_register()
281 sd = v4l2_i2c_new_subdev(&itv->v4l2_dev, adap, type, 0, ivtv_i2c_register()
298 adap, type, 0, I2C_ADDRS(hw_addrs[idx])); ivtv_i2c_register()
308 sd = v4l2_i2c_new_subdev_board(&itv->v4l2_dev, adap, ivtv_i2c_register()
312 adap, type, hw_addrs[idx], NULL); ivtv_i2c_register()
623 static u32 ivtv_functionality(struct i2c_adapter *adap) ivtv_functionality() argument
/linux-4.1.27/drivers/media/platform/marvell-ccic/
H A Dcafe-driver.c336 struct i2c_adapter *adap; cafe_smbus_setup() local
339 adap = kzalloc(sizeof(*adap), GFP_KERNEL); cafe_smbus_setup()
340 if (adap == NULL) cafe_smbus_setup()
342 cam->mcam.i2c_adapter = adap; cafe_smbus_setup()
344 adap->owner = THIS_MODULE; cafe_smbus_setup()
345 adap->algo = &cafe_smbus_algo; cafe_smbus_setup()
346 strcpy(adap->name, "cafe_ccic"); cafe_smbus_setup()
347 adap->dev.parent = &cam->pdev->dev; cafe_smbus_setup()
348 i2c_set_adapdata(adap, cam); cafe_smbus_setup()
349 ret = i2c_add_adapter(adap); cafe_smbus_setup()
/linux-4.1.27/drivers/hid/
H A Dhid-cp2112.c154 struct i2c_adapter adap; member in struct:cp2112_device
449 static int cp2112_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs, cp2112_i2c_xfer() argument
452 struct cp2112_device *dev = (struct cp2112_device *)adap->algo_data; cp2112_i2c_xfer()
533 static int cp2112_xfer(struct i2c_adapter *adap, u16 addr, cp2112_xfer() argument
537 struct cp2112_device *dev = (struct cp2112_device *)adap->algo_data; cp2112_xfer()
697 static u32 cp2112_functionality(struct i2c_adapter *adap) cp2112_functionality() argument
1026 dev->adap.owner = THIS_MODULE; cp2112_probe()
1027 dev->adap.class = I2C_CLASS_HWMON; cp2112_probe()
1028 dev->adap.algo = &smbus_algorithm; cp2112_probe()
1029 dev->adap.algo_data = dev; cp2112_probe()
1030 dev->adap.dev.parent = &hdev->dev; cp2112_probe()
1031 snprintf(dev->adap.name, sizeof(dev->adap.name), cp2112_probe()
1036 ret = i2c_add_adapter(&dev->adap); cp2112_probe()
1076 i2c_del_adapter(&dev->adap); cp2112_probe()
1094 i2c_del_adapter(&dev->adap); cp2112_remove()
1098 * waited for device_unregister(&adap->dev) to complete. Therefore we cp2112_remove()
/linux-4.1.27/sound/pci/asihpi/
H A Dhpicmn.c213 "adap %d control index %d out of range, cache not ready?\n", control_cache_alloc_check()
221 "adap %d cache not ready?\n", control_cache_alloc_check()
230 "adap %d zero size cache entry %d\n", control_cache_alloc_check()
263 "adap %d bytecount %d != cache size %d\n", control_cache_alloc_check()
268 "adap %d cache good, bytecount == cache size = %d\n", control_cache_alloc_check()
545 "HPICMN find_control() failed for adap %d\n", hpi_check_control_cache()
633 "HPICMN find_control() failed for adap %d\n", hpi_cmn_control_cache_sync_to_msg()
/linux-4.1.27/drivers/xen/xenbus/
H A Dxenbus_dev_frontend.c264 struct watch_adapter *adap; watch_fired() local
271 adap = container_of(watch, struct watch_adapter, watch); watch_fired()
274 token = adap->token; watch_fired()
285 mutex_lock(&adap->dev_data->reply_mutex); watch_fired()
297 list_splice_tail(&staging_q, &adap->dev_data->read_buffers); watch_fired()
298 wake_up(&adap->dev_data->read_waitq); watch_fired()
302 mutex_unlock(&adap->dev_data->reply_mutex); watch_fired()
/linux-4.1.27/drivers/staging/media/lirc/
H A Dlirc_zilog.c1452 struct i2c_adapter *adap = client->adapter; ir_probe() local
1457 __func__, id->name, adap->nr, adap->name, client->addr); ir_probe()
1470 tx_probe ? "Tx" : "Rx", adap->name, adap->nr); ir_probe()
1475 ir = get_ir_device_by_adapter(adap); ir_probe()
1488 ir->adapter = adap; ir_probe()
1505 ir->l.dev = &adap->dev; ir_probe()
1553 adap->name, adap->nr); ir_probe()
1588 "zilog-rx-i2c-%d", adap->nr); ir_probe()
1606 adap->name, adap->nr); ir_probe()
1623 adap->name, adap->nr, ir->l.minor); ir_probe()
1633 tx_probe ? "Tx" : "Rx", adap->name, adap->nr); ir_probe()
1647 __func__, tx_probe ? "Tx" : "Rx", adap->name, adap->nr, ret); ir_probe()
/linux-4.1.27/drivers/video/backlight/
H A Dtosa_lcd.c105 struct i2c_adapter *adap = i2c_get_adapter(0); tosa_lcd_tg_on() local
111 data->i2c = i2c_new_device(adap, &info); tosa_lcd_tg_on()
/linux-4.1.27/drivers/media/usb/em28xx/
H A Dem28xx-camera.c327 struct i2c_adapter *adap = &dev->i2c_adap[dev->def_i2c_bus]; em28xx_init_camera() local
332 i2c_adapter_id(adap), client->addr); em28xx_init_camera()
364 v4l2_i2c_new_subdev_board(&v4l2->v4l2_dev, adap, em28xx_init_camera()
421 v4l2_i2c_new_subdev_board(&v4l2->v4l2_dev, adap, em28xx_init_camera()
/linux-4.1.27/drivers/gpu/drm/i2c/
H A Dsil164_drv.c391 struct i2c_adapter *adap = client->adapter; sil164_detect_slave() local
400 if (i2c_transfer(adap, &msg, 1) != 1) { sil164_detect_slave()
401 sil164_dbg(adap, "No dual-link slave found."); sil164_detect_slave()
405 return i2c_new_device(adap, &info); sil164_detect_slave()

Completed in 3939 milliseconds

12