/linux-4.1.27/drivers/media/usb/dvb-usb/ |
H A D | dvb-usb-dvb.c | 14 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 D | dvb-usb-urb.c | 71 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 D | dib0700_devices.c | 86 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 D | dibusb-common.c | 26 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 D | vp702x.c | 155 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 D | dvb-usb-init.c | 31 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 D | dvb-usb-common.h | 37 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 D | cxusb.c | 150 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 D | dibusb-mb.c | 21 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 D | ttusb2.c | 368 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 D | digitv.c | 50 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 D | dtv5100.c | 70 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 D | friio.c | 109 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 D | m920x.c | 256 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 D | az6027.c | 366 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 D | umt-010.c | 55 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 D | cinergyT2-core.c | 51 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 D | dib0700_core.c | 164 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 D | opera1.c | 134 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 D | dtt200u.c | 33 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 D | vp7045.c | 198 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 D | dw2102.c | 165 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 D | af9005.c | 413 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 D | gp8psk.c | 226 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 D | dib0700.h | 63 extern int dib0700_streaming_ctrl(struct dvb_usb_adapter *adap, int onoff);
|
/linux-4.1.27/sound/soc/codecs/ |
H A D | l3.c | 30 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 D | pt3_dma.c | 33 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 D | pt3.c | 100 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 D | pt3.h | 173 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 D | pt3_i2c.c | 202 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 D | pvrusb2-dvb.c | 34 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 D | pvrusb2-devattr.c | 194 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 D | mb862xx-i2c.c | 21 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 D | mc5.c | 128 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 D | xgmac.c | 54 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 D | cxgb3_main.c | 199 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 D | t3_hw.c | 114 * @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 D | sge.c | 480 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 D | adapter.h | 201 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 D | common.h | 44 #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 D | i2c-algo-pca.c | 35 #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 D | i2c-algo-pcf.c | 47 #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 D | i2c-algo-bit.c | 57 #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 D | dvb_usb_core.c | 218 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 D | gl861.c | 53 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 D | af9035.c | 282 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 D | dvbsky.c | 113 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 D | az6007.c | 87 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 D | lmedm04.c | 262 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 D | mxl111sf.c | 422 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 D | af9015.c | 207 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 D | au6610.c | 96 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 D | anysee.c | 206 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 D | rtl28xxu.c | 143 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 D | ce6230.c | 99 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 D | ec168.c | 115 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 D | mxl111sf-i2c.h | 26 int mxl111sf_i2c_xfer(struct i2c_adapter *adap,
|
H A D | dvb_usb.h | 52 * 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 D | as10x_cmd_stream.c | 22 * @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 D | as10x_cmd.c | 23 * @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 D | as10x_cmd_cfg.c | 26 * @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 D | as10x_cmd.h | 486 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 D | cxgb4_main.c | 300 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 D | sge.c | 390 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 D | t4_hw.c | 102 * @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 D | cxgb4_debugfs.c | 159 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 D | cxgb4.h | 52 #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 D | cxgb4_fcoe.c | 41 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 D | cxgb4_dcb.c | 66 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 D | cxgb4_ethtool.c | 127 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 D | clip_tbl.c | 47 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 D | l2t.c | 140 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 D | clip_tbl.h | 43 void t4_cleanup_clip_tbl(struct adapter *adap);
|
H A D | cxgb4_debugfs.h | 77 int t4_setup_debugfs(struct adapter *adap); 78 void add_debugfs_files(struct adapter *adap,
|
H A D | l2t.h | 103 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 D | i2c-eg20t.c | 119 #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 D | i2c-au1550.c | 50 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 D | i2c-sibyte.c | 40 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 D | i2c-xlr.c | 67 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 D | i2c-versatile.c | 27 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 D | i2c-sis630.c | 129 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 D | i2c-powermac.c | 36 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 D | i2c-gpio.c | 22 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 D | i2c-simtec.c | 30 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 D | i2c-pca-platform.c | 34 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 D | i2c-cpm.c | 105 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 D | i2c-davinci.c | 261 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 D | i2c-cros-ec-tunnel.c | 25 * @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 D | i2c-bcm2835.c | 193 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 D | i2c-nforce2.c | 134 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 D | i2c-wmt.c | 126 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 D | i2c-pxa.c | 15 * 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 D | i2c-amd756-s4882.c | 47 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 D | i2c-digicolor.c | 51 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 D | i2c-nforce2-s4985.c | 45 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 D | i2c-sirf.c | 235 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 D | i2c-xiic.c | 58 * @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 D | i2c-designware-pcidrv.c | 195 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 D | i2c-bfin-twi.c | 118 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 D | i2c-jz4780.c | 153 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 D | i2c-amd756.c | 104 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 D | i2c-designware-platdrv.c | 159 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 D | i2c-meson.c | 63 * @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 D | i2c-sh7760.c | 83 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 D | i2c-kempld.c | 66 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 D | i2c-puv3.c | 50 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 D | i2c-highlander.c | 278 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 D | i2c-riic.c | 118 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 D | i2c-hix5hd2.c | 87 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 D | i2c-piix4.c | 437 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 D | i2c-mxs.c | 177 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 D | i2c-bcm-iproc.c | 272 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 D | i2c-sis5595.c | 225 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 D | i2c-ali15x3.c | 227 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 D | i2c-rcar.c | 110 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 D | i2c-st.c | 174 * @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 D | i2c-cadence.c | 122 * @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 D | i2c-ibm_iic.c | 418 !(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 D | i2c-sun6i-p2wi.c | 112 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 D | i2c-octeon.c | 65 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 D | i2c-s3c2410.c | 123 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 D | i2c-ocores.c | 34 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 D | i2c-ali1535.c | 221 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 D | i2c-exynos5.c | 159 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 D | i2c-nomadik.c | 157 * @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 D | i2c-mpc.c | 66 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 D | i2c-qup.c | 108 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 D | i2c-scmi.c | 80 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 D | i2c-omap.c | 621 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 D | i2c-img-scb.c | 366 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 D | i2c-stu300.c | 653 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 D | i2c-bcm-kona.c | 706 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 D | i2c-opal.c | 85 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 D | i2c-sh_mobile.c | 127 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 D | i2c-rk3x.c | 94 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 D | i2c-designware-core.h | 118 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 D | i2c-ibm_iic.h | 46 struct i2c_adapter adap; member in struct:ibm_iic_private
|
H A D | i2c-isch.c | 141 * 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 D | i2c-pnx.c | 123 * @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 D | i2c-i801.c | 378 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 D | i2c-amd8111.c | 192 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 D | pt1.c | 98 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 D | va1j5jf8007s.c | 46 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 D | va1j5jf8007t.c | 44 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 D | va1j5jf8007s.h | 41 struct i2c_adapter *adap);
|
H A D | va1j5jf8007t.h | 41 struct i2c_adapter *adap);
|
/linux-4.1.27/drivers/i2c/ |
H A D | i2c-mux.c | 31 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 D | i2c-core.c | 161 * @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 D | i2c-stub.c | 131 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 D | i2c-dev.c | 48 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 D | l3.h | 16 int l3_write(struct l3_pins *adap, u8 addr, u8 *data, int len);
|
/linux-4.1.27/include/trace/events/ |
H A D | i2c.h | 30 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 D | armada_slave.c | 71 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 D | cx88-vp3054-i2c.c | 123 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 D | cx88-vp3054-i2c.h | 27 struct i2c_adapter adap; member in struct:vp3054_i2c_state
|
/linux-4.1.27/drivers/media/dvb-core/ |
H A D | dvbdev.c | 167 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 D | dvbdev.h | 113 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 D | dvb_net.h | 59 static inline int dvb_net_init(struct dvb_adapter *adap, dvb_net_init() argument
|
/linux-4.1.27/drivers/video/fbdev/via/ |
H A D | via_aux.c | 28 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 D | via_i2c.c | 121 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 D | via_aux.h | 34 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 D | tuner-i2c.h | 29 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 D | tda8290.c | 480 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 D | tda18271-common.c | 137 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 D | mxl301rf.c | 233 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 D | i2c-mux-pca9541.c | 94 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 D | i2c-mux-pca954x.c | 123 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 D | i2c-mux-gpio.c | 22 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 D | i2c-arb-gpio-challenge.c | 62 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 D | ngene-i2c.c | 152 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 D | solo6x10-i2c.c | 213 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 D | via_i2c.h | 35 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 D | i2c.h | 69 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 D | i2c-algo-pcf.h | 2 /* adap-pcf.h i2c driver algorithms for PCF8584 adapters */
|
H A D | i2c-mux.h | 45 void i2c_del_mux_adapter(struct i2c_adapter *adap);
|
/linux-4.1.27/arch/arm/mach-omap1/ |
H A D | board-sx1.c | 51 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 D | 88pm860x-i2c.c | 91 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 D | oaktrail_hdmi_i2c.c | 69 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 D | ddbridge-core.c | 147 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 D | ddbridge.h | 91 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 D | cx18-i2c.c | 86 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 D | v4l2-clk.h | 68 #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 D | aux.c | 57 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 D | bit.c | 183 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 D | anx9805.c | 171 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 D | tc90522.c | 516 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 D | sp2.c | 30 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 D | common.h | 305 #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 D | tp.h | 67 void t1_tp_get_mib_statistics(adapter_t *adap, struct tp_mib_statistics *tps);
|
/linux-4.1.27/drivers/of/ |
H A D | unittest.c | 1541 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 D | drm_encoder_slave.c | 36 * @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 D | ivtv-i2c.c | 180 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 D | cafe-driver.c | 336 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 D | hid-cp2112.c | 154 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 D | hpicmn.c | 213 "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 D | xenbus_dev_frontend.c | 264 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 D | lirc_zilog.c | 1452 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 D | tosa_lcd.c | 105 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 D | em28xx-camera.c | 327 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 D | sil164_drv.c | 391 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()
|