arch/powerpc/kernel/prom_init.c
2591
char *namep, *prev_name, *sstart, *p, *ep, *lp, *path;
arch/powerpc/kernel/prom_init.c
2618
for (lp = p = namep, ep = namep + l; p < ep; p++) {
arch/powerpc/platforms/powermac/bootx_init.c
281
char *namep, *p, *ep, *lp;
arch/powerpc/platforms/powermac/bootx_init.c
300
for (lp = p = namep, ep = namep + l; p < ep; p++) {
arch/sparc/kernel/mdesc.c
632
struct mdesc_elem *ep = node_block(&hp->mdesc);
arch/sparc/kernel/mdesc.c
642
ret = ep[from_node].d.val;
arch/sparc/kernel/mdesc.c
646
if (ep[ret].tag != MD_NODE)
arch/sparc/kernel/mdesc.c
648
if (!strcmp(names + ep[ret].name_offset, name))
arch/sparc/kernel/mdesc.c
650
ret = ep[ret].d.val;
arch/sparc/kernel/mdesc.c
664
struct mdesc_elem *ep;
arch/sparc/kernel/mdesc.c
669
ep = node_block(&hp->mdesc) + node;
arch/sparc/kernel/mdesc.c
670
ep++;
arch/sparc/kernel/mdesc.c
671
for (; ep->tag != MD_NODE_END; ep++) {
arch/sparc/kernel/mdesc.c
675
switch (ep->tag) {
arch/sparc/kernel/mdesc.c
677
val = &ep->d.val;
arch/sparc/kernel/mdesc.c
683
val = data + ep->d.data.data_offset;
arch/sparc/kernel/mdesc.c
684
len = ep->d.data.data_len;
arch/sparc/kernel/mdesc.c
693
if (!strcmp(names + ep->name_offset, name)) {
arch/sparc/kernel/mdesc.c
706
struct mdesc_elem *ep, *base = node_block(&hp->mdesc);
arch/sparc/kernel/mdesc.c
713
ep = base + from;
arch/sparc/kernel/mdesc.c
715
ep++;
arch/sparc/kernel/mdesc.c
716
for (; ep->tag != MD_NODE_END; ep++) {
arch/sparc/kernel/mdesc.c
717
if (ep->tag != MD_PROP_ARC)
arch/sparc/kernel/mdesc.c
720
if (strcmp(names + ep->name_offset, arc_type))
arch/sparc/kernel/mdesc.c
723
return ep - base;
arch/sparc/kernel/mdesc.c
732
struct mdesc_elem *ep, *base = node_block(&hp->mdesc);
arch/sparc/kernel/mdesc.c
734
ep = base + arc;
arch/sparc/kernel/mdesc.c
736
return ep->d.val;
arch/sparc/kernel/mdesc.c
742
struct mdesc_elem *ep, *base = node_block(&hp->mdesc);
arch/sparc/kernel/mdesc.c
749
ep = base + node;
arch/sparc/kernel/mdesc.c
750
if (ep->tag != MD_NODE)
arch/sparc/kernel/mdesc.c
753
return names + ep->name_offset;
arch/sparc/kernel/pci_fire.c
162
struct pci_msiq_entry *base, *ep;
arch/sparc/kernel/pci_fire.c
165
ep = &base[*head];
arch/sparc/kernel/pci_fire.c
167
if ((ep->word0 & MSIQ_WORD0_FMT_TYPE) == 0)
arch/sparc/kernel/pci_fire.c
170
type_fmt = ((ep->word0 & MSIQ_WORD0_FMT_TYPE) >>
arch/sparc/kernel/pci_fire.c
177
*msi = msi_num = ((ep->word0 & MSIQ_WORD0_DATA0) >>
arch/sparc/kernel/pci_fire.c
183
ep->word0 &= ~MSIQ_WORD0_FMT_TYPE;
arch/sparc/kernel/pci_sun4v.c
1001
type = (ep->version_type & MSIQ_TYPE_MASK) >> MSIQ_TYPE_SHIFT;
arch/sparc/kernel/pci_sun4v.c
1006
*msi = ep->msi_data;
arch/sparc/kernel/pci_sun4v.c
1009
ep->msi_data /* msi_num */,
arch/sparc/kernel/pci_sun4v.c
1015
ep->version_type &= ~MSIQ_TYPE_MASK;
arch/sparc/kernel/pci_sun4v.c
989
struct pci_sun4v_msiq_entry *ep;
arch/sparc/kernel/pci_sun4v.c
993
ep = (pbm->msi_queues + ((msiqid - pbm->msiq_first) *
arch/sparc/kernel/pci_sun4v.c
998
if ((ep->version_type & MSIQ_TYPE_MASK) == 0)
arch/x86/kernel/dumpstack_64.c
119
ep = &estack_pages[k];
arch/x86/kernel/dumpstack_64.c
121
if (!ep->size)
arch/x86/kernel/dumpstack_64.c
124
begin += (unsigned long)ep->offs;
arch/x86/kernel/dumpstack_64.c
125
end = begin + (unsigned long)ep->size;
arch/x86/kernel/dumpstack_64.c
128
info->type = ep->type;
arch/x86/kernel/dumpstack_64.c
97
const struct estack_pages *ep;
arch/x86/platform/pvh/enlighten.c
44
struct hvm_memmap_table_entry *ep;
arch/x86/platform/pvh/enlighten.c
47
ep = __va(pvh_start_info.memmap_paddr);
arch/x86/platform/pvh/enlighten.c
50
for (i = 0; i < pvh_bootparams.e820_entries ; i++, ep++) {
arch/x86/platform/pvh/enlighten.c
51
pvh_bootparams.e820_table[i].addr = ep->addr;
arch/x86/platform/pvh/enlighten.c
52
pvh_bootparams.e820_table[i].size = ep->size;
arch/x86/platform/pvh/enlighten.c
53
pvh_bootparams.e820_table[i].type = ep->type;
drivers/acpi/nhlt.c
100
if (acpi_nhlt_endpoint_match(ep, link_type, dev_type, dir, bus_id))
drivers/acpi/nhlt.c
101
return ep;
drivers/acpi/nhlt.c
140
acpi_nhlt_endpoint_find_fmtcfg(const struct acpi_nhlt_endpoint *ep,
drivers/acpi/nhlt.c
146
for_each_nhlt_endpoint_fmtcfg(ep, fmt) {
drivers/acpi/nhlt.c
185
struct acpi_nhlt_endpoint *ep;
drivers/acpi/nhlt.c
187
for_each_nhlt_endpoint(tb, ep) {
drivers/acpi/nhlt.c
188
if (!acpi_nhlt_endpoint_match(ep, link_type, dev_type, dir, bus_id))
drivers/acpi/nhlt.c
191
fmt = acpi_nhlt_endpoint_find_fmtcfg(ep, ch, rate, vbps, bps);
drivers/acpi/nhlt.c
247
int acpi_nhlt_endpoint_mic_count(const struct acpi_nhlt_endpoint *ep)
drivers/acpi/nhlt.c
254
if (!ep || ep->link_type != ACPI_NHLT_LINKTYPE_PDM)
drivers/acpi/nhlt.c
258
for_each_nhlt_endpoint_fmtcfg(ep, fmt)
drivers/acpi/nhlt.c
261
cfg = __acpi_nhlt_endpoint_config(ep);
drivers/acpi/nhlt.c
68
bool acpi_nhlt_endpoint_match(const struct acpi_nhlt_endpoint *ep,
drivers/acpi/nhlt.c
71
return ep &&
drivers/acpi/nhlt.c
72
(link_type < 0 || ep->link_type == link_type) &&
drivers/acpi/nhlt.c
73
(dev_type < 0 || ep->device_type == dev_type) &&
drivers/acpi/nhlt.c
74
(bus_id < 0 || ep->virtual_bus_id == bus_id) &&
drivers/acpi/nhlt.c
75
(dir < 0 || ep->direction == dir);
drivers/acpi/nhlt.c
97
struct acpi_nhlt_endpoint *ep;
drivers/acpi/nhlt.c
99
for_each_nhlt_endpoint(tb, ep)
drivers/acpi/viot.c
183
struct viot_endpoint *ep;
drivers/acpi/viot.c
196
ep = kzalloc_obj(*ep);
drivers/acpi/viot.c
197
if (!ep)
drivers/acpi/viot.c
207
ep->segment_start = node->pci.segment_start;
drivers/acpi/viot.c
208
ep->segment_end = node->pci.segment_end;
drivers/acpi/viot.c
209
ep->bdf_start = node->pci.bdf_start;
drivers/acpi/viot.c
210
ep->bdf_end = node->pci.bdf_end;
drivers/acpi/viot.c
211
ep->endpoint_id = node->pci.endpoint_start;
drivers/acpi/viot.c
212
ep->viommu = viot_get_iommu(node->pci.output_node);
drivers/acpi/viot.c
221
ep->address = node->mmio.base_address;
drivers/acpi/viot.c
222
ep->endpoint_id = node->mmio.endpoint;
drivers/acpi/viot.c
223
ep->viommu = viot_get_iommu(node->mmio.output_node);
drivers/acpi/viot.c
232
if (!ep->viommu) {
drivers/acpi/viot.c
242
list_add(&ep->list, list);
drivers/acpi/viot.c
246
kfree(ep);
drivers/acpi/viot.c
323
struct viot_endpoint *ep;
drivers/acpi/viot.c
327
list_for_each_entry(ep, &viot_pci_ranges, list) {
drivers/acpi/viot.c
328
if (domain_nr >= ep->segment_start &&
drivers/acpi/viot.c
329
domain_nr <= ep->segment_end &&
drivers/acpi/viot.c
330
dev_id >= ep->bdf_start &&
drivers/acpi/viot.c
331
dev_id <= ep->bdf_end) {
drivers/acpi/viot.c
332
epid = ((domain_nr - ep->segment_start) << 16) +
drivers/acpi/viot.c
333
dev_id - ep->bdf_start + ep->endpoint_id;
drivers/acpi/viot.c
335
return viot_dev_iommu_init(aliased_dev, ep->viommu,
drivers/acpi/viot.c
345
struct viot_endpoint *ep;
drivers/acpi/viot.c
351
list_for_each_entry(ep, &viot_mmio_endpoints, list) {
drivers/acpi/viot.c
352
if (ep->address == mem->start)
drivers/acpi/viot.c
353
return viot_dev_iommu_init(&pdev->dev, ep->viommu,
drivers/acpi/viot.c
354
ep->endpoint_id);
drivers/base/property.c
1108
struct fwnode_handle *ep, *port_parent = NULL;
drivers/base/property.c
1125
ep = fwnode_call_ptr_op(parent, graph_get_next_endpoint, prev);
drivers/base/property.c
1126
if (ep)
drivers/base/property.c
1129
ep = fwnode_graph_get_next_endpoint(parent->secondary, NULL);
drivers/base/property.c
1133
return ep;
drivers/base/property.c
1215
static bool fwnode_graph_remote_available(struct fwnode_handle *ep)
drivers/base/property.c
1220
dev_node = fwnode_graph_get_remote_port_parent(ep);
drivers/base/property.c
1251
struct fwnode_handle *ep, *best_ep = NULL;
drivers/base/property.c
1256
fwnode_graph_for_each_endpoint(fwnode, ep) {
drivers/base/property.c
1260
if (enabled_only && !fwnode_graph_remote_available(ep))
drivers/base/property.c
1263
ret = fwnode_graph_parse_endpoint(ep, &fwnode_ep);
drivers/base/property.c
1271
return ep;
drivers/base/property.c
1286
best_ep = fwnode_handle_get(ep);
drivers/base/property.c
1306
struct fwnode_handle *ep;
drivers/base/property.c
1309
fwnode_graph_for_each_endpoint(fwnode, ep) {
drivers/base/property.c
1311
fwnode_graph_remote_available(ep))
drivers/base/property.c
1350
struct fwnode_handle *ep;
drivers/base/property.c
1354
fwnode_graph_for_each_endpoint(fwnode, ep) {
drivers/base/property.c
1356
fwnode_handle_put(ep);
drivers/base/property.c
1360
node = fwnode_graph_get_remote_port_parent(ep);
drivers/block/drbd/drbd_int.h
1621
enum drbd_io_error_p ep;
drivers/block/drbd/drbd_int.h
1624
ep = rcu_dereference(device->ldev->disk_conf)->on_io_error;
drivers/block/drbd/drbd_int.h
1626
switch (ep) {
drivers/char/lp.c
1092
char *ep;
drivers/char/lp.c
1093
unsigned long r = simple_strtoul(parport[n], &ep, 0);
drivers/char/lp.c
1094
if (ep != parport[n])
drivers/char/xillybus/xillybus_core.c
114
struct xilly_endpoint *ep = data;
drivers/char/xillybus/xillybus_core.c
122
buf = ep->msgbuf_addr;
drivers/char/xillybus/xillybus_core.c
123
buf_size = ep->msg_buf_size/sizeof(u32);
drivers/char/xillybus/xillybus_core.c
125
dma_sync_single_for_cpu(ep->dev, ep->msgbuf_dma_addr,
drivers/char/xillybus/xillybus_core.c
126
ep->msg_buf_size, DMA_FROM_DEVICE);
drivers/char/xillybus/xillybus_core.c
129
if (((buf[i+1] >> 28) & 0xf) != ep->msg_counter) {
drivers/char/xillybus/xillybus_core.c
130
malformed_message(ep, &buf[i]);
drivers/char/xillybus/xillybus_core.c
131
dev_warn(ep->dev,
drivers/char/xillybus/xillybus_core.c
134
ep->msg_counter,
drivers/char/xillybus/xillybus_core.c
137
if (++ep->failed_messages > 10) {
drivers/char/xillybus/xillybus_core.c
138
dev_err(ep->dev,
drivers/char/xillybus/xillybus_core.c
141
dma_sync_single_for_device(ep->dev,
drivers/char/xillybus/xillybus_core.c
142
ep->msgbuf_dma_addr,
drivers/char/xillybus/xillybus_core.c
143
ep->msg_buf_size,
drivers/char/xillybus/xillybus_core.c
147
ep->registers + fpga_msg_ctrl_reg);
drivers/char/xillybus/xillybus_core.c
155
dev_err(ep->dev, "Bad interrupt message. Stopping.\n");
drivers/char/xillybus/xillybus_core.c
171
if ((msg_channel > ep->num_channels) ||
drivers/char/xillybus/xillybus_core.c
173
malformed_message(ep, &buf[i]);
drivers/char/xillybus/xillybus_core.c
177
channel = ep->channels[msg_channel];
drivers/char/xillybus/xillybus_core.c
181
malformed_message(ep, &buf[i]);
drivers/char/xillybus/xillybus_core.c
198
malformed_message(ep, &buf[i]);
drivers/char/xillybus/xillybus_core.c
217
if ((msg_channel > ep->num_channels) ||
drivers/char/xillybus/xillybus_core.c
219
!ep->channels[msg_channel]->wr_supports_nonempty) {
drivers/char/xillybus/xillybus_core.c
220
malformed_message(ep, &buf[i]);
drivers/char/xillybus/xillybus_core.c
224
channel = ep->channels[msg_channel];
drivers/char/xillybus/xillybus_core.c
227
malformed_message(ep, &buf[i]);
drivers/char/xillybus/xillybus_core.c
239
ep->idtlen = msg_data;
drivers/char/xillybus/xillybus_core.c
240
wake_up_interruptible(&ep->ep_wait);
drivers/char/xillybus/xillybus_core.c
244
if ((msg_channel > ep->num_channels) ||
drivers/char/xillybus/xillybus_core.c
246
!ep->channels[msg_channel]->num_wr_buffers) {
drivers/char/xillybus/xillybus_core.c
247
malformed_message(ep, &buf[i]);
drivers/char/xillybus/xillybus_core.c
250
channel = ep->channels[msg_channel];
drivers/char/xillybus/xillybus_core.c
264
ep->fatal_error = 1;
drivers/char/xillybus/xillybus_core.c
265
wake_up_interruptible(&ep->ep_wait); /* For select() */
drivers/char/xillybus/xillybus_core.c
266
dev_err(ep->dev,
drivers/char/xillybus/xillybus_core.c
270
malformed_message(ep, &buf[i]);
drivers/char/xillybus/xillybus_core.c
275
dma_sync_single_for_device(ep->dev, ep->msgbuf_dma_addr,
drivers/char/xillybus/xillybus_core.c
276
ep->msg_buf_size, DMA_FROM_DEVICE);
drivers/char/xillybus/xillybus_core.c
278
ep->msg_counter = (ep->msg_counter + 1) & 0xf;
drivers/char/xillybus/xillybus_core.c
279
ep->failed_messages = 0;
drivers/char/xillybus/xillybus_core.c
280
iowrite32(0x03, ep->registers + fpga_msg_ctrl_reg); /* Message ACK */
drivers/char/xillybus/xillybus_core.c
312
static int xilly_map_single(struct xilly_endpoint *ep,
drivers/char/xillybus/xillybus_core.c
326
addr = dma_map_single(ep->dev, ptr, size, direction);
drivers/char/xillybus/xillybus_core.c
328
if (dma_mapping_error(ep->dev, addr)) {
drivers/char/xillybus/xillybus_core.c
333
this->device = ep->dev;
drivers/char/xillybus/xillybus_core.c
340
return devm_add_action_or_reset(ep->dev, xilly_unmap, this);
drivers/char/xillybus/xillybus_core.c
343
static int xilly_get_dma_buffers(struct xilly_endpoint *ep,
drivers/char/xillybus/xillybus_core.c
350
struct device *dev = ep->dev;
drivers/char/xillybus/xillybus_core.c
369
dev_err(ep->dev,
drivers/char/xillybus/xillybus_core.c
394
rc = xilly_map_single(ep, s->salami,
drivers/char/xillybus/xillybus_core.c
401
ep->registers + fpga_dma_bufaddr_lowaddr_reg);
drivers/char/xillybus/xillybus_core.c
403
ep->registers + fpga_dma_bufaddr_highaddr_reg);
drivers/char/xillybus/xillybus_core.c
411
ep->registers + fpga_dma_bufno_reg);
drivers/char/xillybus/xillybus_core.c
413
ep->msgbuf_addr = s->salami;
drivers/char/xillybus/xillybus_core.c
414
ep->msgbuf_dma_addr = dma_addr;
drivers/char/xillybus/xillybus_core.c
415
ep->msg_buf_size = bytebufsize;
drivers/char/xillybus/xillybus_core.c
418
ep->registers + fpga_dma_bufno_reg);
drivers/char/xillybus/xillybus_core.c
427
static int xilly_setupchannels(struct xilly_endpoint *ep,
drivers/char/xillybus/xillybus_core.c
431
struct device *dev = ep->dev;
drivers/char/xillybus/xillybus_core.c
456
channel = devm_kcalloc(dev, ep->num_channels,
drivers/char/xillybus/xillybus_core.c
461
ep->channels = devm_kcalloc(dev, ep->num_channels + 1,
drivers/char/xillybus/xillybus_core.c
464
if (!ep->channels)
drivers/char/xillybus/xillybus_core.c
467
ep->channels[0] = NULL; /* Channel 0 is message buf. */
drivers/char/xillybus/xillybus_core.c
471
for (i = 1; i <= ep->num_channels; i++) {
drivers/char/xillybus/xillybus_core.c
499
channel->endpoint = ep;
drivers/char/xillybus/xillybus_core.c
504
ep->channels[i] = channel++;
drivers/char/xillybus/xillybus_core.c
521
if ((channelnum > ep->num_channels) ||
drivers/char/xillybus/xillybus_core.c
523
dev_err(ep->dev,
drivers/char/xillybus/xillybus_core.c
528
channel = ep->channels[channelnum]; /* NULL for msg channel */
drivers/char/xillybus/xillybus_core.c
555
rc = xilly_get_dma_buffers(ep, &rd_alloc, buffers,
drivers/char/xillybus/xillybus_core.c
569
rc = xilly_get_dma_buffers(ep, &wr_alloc, buffers,
drivers/char/xillybus/xillybus_core.c
572
rc = xilly_get_dma_buffers(ep, &wr_alloc, NULL,
drivers/char/xillybus/xillybus_core.c
582
dev_err(ep->dev,
drivers/char/xillybus/xillyusb.c
1026
struct xillyusb_endpoint *ep =
drivers/char/xillybus/xillyusb.c
1028
struct xillyusb_dev *xdev = ep->xdev;
drivers/char/xillybus/xillyusb.c
1036
spin_lock_irqsave(&ep->buffers_lock, flags);
drivers/char/xillybus/xillyusb.c
1039
if (rc || list_empty(&ep->filled_buffers)) {
drivers/char/xillybus/xillyusb.c
1040
spin_unlock_irqrestore(&ep->buffers_lock, flags);
drivers/char/xillybus/xillyusb.c
1046
try_queue_bulk_in(ep);
drivers/char/xillybus/xillyusb.c
1051
xb = list_first_entry(&ep->filled_buffers, struct xillybuffer,
drivers/char/xillybus/xillyusb.c
1055
spin_unlock_irqrestore(&ep->buffers_lock, flags);
drivers/char/xillybus/xillyusb.c
1062
spin_lock_irqsave(&ep->buffers_lock, flags);
drivers/char/xillybus/xillyusb.c
1063
list_add_tail(&xb->entry, &ep->buffers);
drivers/char/xillybus/xillyusb.c
1064
ep->outstanding_urbs--;
drivers/char/xillybus/xillyusb.c
1071
struct xillyusb_endpoint *ep = xdev->msg_ep;
drivers/char/xillybus/xillyusb.c
1072
struct xillyfifo *fifo = &ep->fifo;
drivers/char/xillybus/xillyusb.c
1103
try_queue_bulk_out(ep);
drivers/char/xillybus/xillyusb.c
159
struct xillyusb_endpoint *ep;
drivers/char/xillybus/xillyusb.c
1744
struct xillyusb_endpoint *ep = chan->out_ep;
drivers/char/xillybus/xillyusb.c
1760
endpoint_quiesce(ep);
drivers/char/xillybus/xillyusb.c
1761
endpoint_dealloc(ep);
drivers/char/xillybus/xillyusb.c
452
static void endpoint_quiesce(struct xillyusb_endpoint *ep)
drivers/char/xillybus/xillyusb.c
454
mutex_lock(&ep->ep_mutex);
drivers/char/xillybus/xillyusb.c
455
ep->shutting_down = true;
drivers/char/xillybus/xillyusb.c
456
mutex_unlock(&ep->ep_mutex);
drivers/char/xillybus/xillyusb.c
458
usb_kill_anchored_urbs(&ep->anchor);
drivers/char/xillybus/xillyusb.c
459
cancel_work_sync(&ep->workitem);
drivers/char/xillybus/xillyusb.c
467
static void endpoint_dealloc(struct xillyusb_endpoint *ep)
drivers/char/xillybus/xillyusb.c
471
fifo_mem_release(&ep->fifo);
drivers/char/xillybus/xillyusb.c
474
list_splice(&ep->filled_buffers, &ep->buffers);
drivers/char/xillybus/xillyusb.c
476
list_for_each_safe(this, next, &ep->buffers) {
drivers/char/xillybus/xillyusb.c
480
free_pages((unsigned long)xb->buf, ep->order);
drivers/char/xillybus/xillyusb.c
484
kfree(ep);
drivers/char/xillybus/xillyusb.c
496
struct xillyusb_endpoint *ep;
drivers/char/xillybus/xillyusb.c
498
ep = kzalloc_obj(*ep);
drivers/char/xillybus/xillyusb.c
500
if (!ep)
drivers/char/xillybus/xillyusb.c
503
INIT_LIST_HEAD(&ep->buffers);
drivers/char/xillybus/xillyusb.c
504
INIT_LIST_HEAD(&ep->filled_buffers);
drivers/char/xillybus/xillyusb.c
506
spin_lock_init(&ep->buffers_lock);
drivers/char/xillybus/xillyusb.c
507
mutex_init(&ep->ep_mutex);
drivers/char/xillybus/xillyusb.c
509
init_usb_anchor(&ep->anchor);
drivers/char/xillybus/xillyusb.c
510
INIT_WORK(&ep->workitem, work);
drivers/char/xillybus/xillyusb.c
512
ep->order = order;
drivers/char/xillybus/xillyusb.c
513
ep->buffer_size = 1 << (PAGE_SHIFT + order);
drivers/char/xillybus/xillyusb.c
514
ep->outstanding_urbs = 0;
drivers/char/xillybus/xillyusb.c
515
ep->drained = true;
drivers/char/xillybus/xillyusb.c
516
ep->wake_on_drain = false;
drivers/char/xillybus/xillyusb.c
517
ep->xdev = xdev;
drivers/char/xillybus/xillyusb.c
518
ep->ep_num = ep_num;
drivers/char/xillybus/xillyusb.c
519
ep->shutting_down = false;
drivers/char/xillybus/xillyusb.c
528
endpoint_dealloc(ep);
drivers/char/xillybus/xillyusb.c
536
endpoint_dealloc(ep);
drivers/char/xillybus/xillyusb.c
541
xb->ep = ep;
drivers/char/xillybus/xillyusb.c
542
list_add_tail(&xb->entry, &ep->buffers);
drivers/char/xillybus/xillyusb.c
544
return ep;
drivers/char/xillybus/xillyusb.c
649
struct xillyusb_endpoint *ep = xb->ep;
drivers/char/xillybus/xillyusb.c
656
report_io_error(ep->xdev, -EIO);
drivers/char/xillybus/xillyusb.c
658
spin_lock_irqsave(&ep->buffers_lock, flags);
drivers/char/xillybus/xillyusb.c
659
list_add_tail(&xb->entry, &ep->buffers);
drivers/char/xillybus/xillyusb.c
660
ep->outstanding_urbs--;
drivers/char/xillybus/xillyusb.c
661
spin_unlock_irqrestore(&ep->buffers_lock, flags);
drivers/char/xillybus/xillyusb.c
668
spin_lock_irqsave(&ep->buffers_lock, flags);
drivers/char/xillybus/xillyusb.c
669
list_add_tail(&xb->entry, &ep->filled_buffers);
drivers/char/xillybus/xillyusb.c
670
spin_unlock_irqrestore(&ep->buffers_lock, flags);
drivers/char/xillybus/xillyusb.c
672
if (!ep->shutting_down)
drivers/char/xillybus/xillyusb.c
673
queue_work(ep->xdev->workq, &ep->workitem);
drivers/char/xillybus/xillyusb.c
679
struct xillyusb_endpoint *ep = xb->ep;
drivers/char/xillybus/xillyusb.c
686
report_io_error(ep->xdev, -EIO);
drivers/char/xillybus/xillyusb.c
688
spin_lock_irqsave(&ep->buffers_lock, flags);
drivers/char/xillybus/xillyusb.c
689
list_add_tail(&xb->entry, &ep->buffers);
drivers/char/xillybus/xillyusb.c
690
ep->outstanding_urbs--;
drivers/char/xillybus/xillyusb.c
691
spin_unlock_irqrestore(&ep->buffers_lock, flags);
drivers/char/xillybus/xillyusb.c
693
if (!ep->shutting_down)
drivers/char/xillybus/xillyusb.c
694
queue_work(ep->xdev->workq, &ep->workitem);
drivers/char/xillybus/xillyusb.c
697
static void try_queue_bulk_in(struct xillyusb_endpoint *ep)
drivers/char/xillybus/xillyusb.c
699
struct xillyusb_dev *xdev = ep->xdev;
drivers/char/xillybus/xillyusb.c
705
unsigned int bufsize = ep->buffer_size;
drivers/char/xillybus/xillyusb.c
707
mutex_lock(&ep->ep_mutex);
drivers/char/xillybus/xillyusb.c
709
if (ep->shutting_down || xdev->error)
drivers/char/xillybus/xillyusb.c
713
spin_lock_irqsave(&ep->buffers_lock, flags);
drivers/char/xillybus/xillyusb.c
715
if (list_empty(&ep->buffers)) {
drivers/char/xillybus/xillyusb.c
716
spin_unlock_irqrestore(&ep->buffers_lock, flags);
drivers/char/xillybus/xillyusb.c
720
xb = list_first_entry(&ep->buffers, struct xillybuffer, entry);
drivers/char/xillybus/xillyusb.c
722
ep->outstanding_urbs++;
drivers/char/xillybus/xillyusb.c
724
spin_unlock_irqrestore(&ep->buffers_lock, flags);
drivers/char/xillybus/xillyusb.c
733
usb_rcvbulkpipe(xdev->udev, ep->ep_num),
drivers/char/xillybus/xillyusb.c
736
usb_anchor_urb(urb, &ep->anchor);
drivers/char/xillybus/xillyusb.c
754
spin_lock_irqsave(&ep->buffers_lock, flags);
drivers/char/xillybus/xillyusb.c
755
list_add_tail(&xb->entry, &ep->buffers);
drivers/char/xillybus/xillyusb.c
756
ep->outstanding_urbs--;
drivers/char/xillybus/xillyusb.c
757
spin_unlock_irqrestore(&ep->buffers_lock, flags);
drivers/char/xillybus/xillyusb.c
760
mutex_unlock(&ep->ep_mutex);
drivers/char/xillybus/xillyusb.c
763
static void try_queue_bulk_out(struct xillyusb_endpoint *ep)
drivers/char/xillybus/xillyusb.c
765
struct xillyfifo *fifo = &ep->fifo;
drivers/char/xillybus/xillyusb.c
766
struct xillyusb_dev *xdev = ep->xdev;
drivers/char/xillybus/xillyusb.c
775
mutex_lock(&ep->ep_mutex);
drivers/char/xillybus/xillyusb.c
777
if (ep->shutting_down || xdev->error)
drivers/char/xillybus/xillyusb.c
780
fill = READ_ONCE(fifo->fill) & ep->fill_mask;
drivers/char/xillybus/xillyusb.c
786
spin_lock_irqsave(&ep->buffers_lock, flags);
drivers/char/xillybus/xillyusb.c
799
ep->drained = !ep->outstanding_urbs;
drivers/char/xillybus/xillyusb.c
800
if (ep->drained && ep->wake_on_drain)
drivers/char/xillybus/xillyusb.c
803
spin_unlock_irqrestore(&ep->buffers_lock, flags);
drivers/char/xillybus/xillyusb.c
807
ep->drained = false;
drivers/char/xillybus/xillyusb.c
809
if ((fill < ep->buffer_size && ep->outstanding_urbs) ||
drivers/char/xillybus/xillyusb.c
810
list_empty(&ep->buffers)) {
drivers/char/xillybus/xillyusb.c
811
spin_unlock_irqrestore(&ep->buffers_lock, flags);
drivers/char/xillybus/xillyusb.c
815
xb = list_first_entry(&ep->buffers, struct xillybuffer, entry);
drivers/char/xillybus/xillyusb.c
817
ep->outstanding_urbs++;
drivers/char/xillybus/xillyusb.c
819
spin_unlock_irqrestore(&ep->buffers_lock, flags);
drivers/char/xillybus/xillyusb.c
821
max_read = min(fill, ep->buffer_size);
drivers/char/xillybus/xillyusb.c
823
count = fifo_read(&ep->fifo, xb->buf, max_read, xilly_memcpy);
drivers/char/xillybus/xillyusb.c
837
usb_sndbulkpipe(xdev->udev, ep->ep_num),
drivers/char/xillybus/xillyusb.c
840
usb_anchor_urb(urb, &ep->anchor);
drivers/char/xillybus/xillyusb.c
861
spin_lock_irqsave(&ep->buffers_lock, flags);
drivers/char/xillybus/xillyusb.c
862
list_add_tail(&xb->entry, &ep->buffers);
drivers/char/xillybus/xillyusb.c
863
ep->outstanding_urbs--;
drivers/char/xillybus/xillyusb.c
864
spin_unlock_irqrestore(&ep->buffers_lock, flags);
drivers/char/xillybus/xillyusb.c
867
mutex_unlock(&ep->ep_mutex);
drivers/char/xillybus/xillyusb.c
875
struct xillyusb_endpoint *ep = container_of(work,
drivers/char/xillybus/xillyusb.c
878
try_queue_bulk_out(ep);
drivers/char/xillybus/xillyusb.c
936
struct xillyusb_endpoint *ep = xb->ep;
drivers/char/xillybus/xillyusb.c
937
struct xillyusb_dev *xdev = ep->xdev;
drivers/clk/at91/sama7d65.c
1240
u8 pll_id = sama7d65_mckx[i].ep[j].pll_id;
drivers/clk/at91/sama7d65.c
1241
u8 pll_compid = sama7d65_mckx[i].ep[j].pll_compid;
drivers/clk/at91/sama7d65.c
457
} ep[4];
drivers/clk/at91/sama7d65.c
469
.ep = { PLL_IDS_TO_ARR_ENTRY(SYS, DIV0), },
drivers/clk/at91/sama7d65.c
478
.ep = { PLL_IDS_TO_ARR_ENTRY(SYS, DIV0), PLL_IDS_TO_ARR_ENTRY(DDR, DIV0), },
drivers/clk/at91/sama7d65.c
486
.ep = { PLL_IDS_TO_ARR_ENTRY(SYS, DIV0), PLL_IDS_TO_ARR_ENTRY(DDR, DIV0), },
drivers/clk/at91/sama7d65.c
495
.ep = { PLL_IDS_TO_ARR_ENTRY(SYS, DIV0), },
drivers/clk/at91/sama7d65.c
503
.ep = { PLL_IDS_TO_ARR_ENTRY(SYS, DIV0), },
drivers/clk/at91/sama7d65.c
512
.ep = { PLL_IDS_TO_ARR_ENTRY(SYS, DIV0), },
drivers/clk/at91/sama7d65.c
520
.ep = { PLL_IDS_TO_ARR_ENTRY(SYS, DIV0), },
drivers/clk/at91/sama7d65.c
527
.ep = { PLL_IDS_TO_ARR_ENTRY(SYS, DIV0), },
drivers/clk/at91/sama7d65.c
534
.ep = { PLL_IDS_TO_ARR_ENTRY(SYS, DIV0), },
drivers/clk/at91/sama7g5.c
1114
u8 pll_id = sama7g5_mckx[i].ep[j].pll_id;
drivers/clk/at91/sama7g5.c
1115
u8 pll_compid = sama7g5_mckx[i].ep[j].pll_compid;
drivers/clk/at91/sama7g5.c
368
} ep[4];
drivers/clk/at91/sama7g5.c
380
.ep = { PLL_IDS_TO_ARR_ENTRY(SYS, DIV0), },
drivers/clk/at91/sama7g5.c
389
.ep = { PLL_IDS_TO_ARR_ENTRY(DDR, DIV0), },
drivers/clk/at91/sama7g5.c
397
.ep = { PLL_IDS_TO_ARR_ENTRY(SYS, DIV0), PLL_IDS_TO_ARR_ENTRY(DDR, DIV0),
drivers/clk/at91/sama7g5.c
405
.ep = { PLL_IDS_TO_ARR_ENTRY(SYS, DIV0), },
drivers/comedi/drivers/dt9812.c
690
struct usb_endpoint_descriptor *ep;
drivers/comedi/drivers/dt9812.c
701
ep = &host->endpoint[i].desc;
drivers/comedi/drivers/dt9812.c
709
devpriv->cmd_wr.addr = ep->bEndpointAddress;
drivers/comedi/drivers/dt9812.c
710
devpriv->cmd_wr.size = usb_endpoint_maxp(ep);
drivers/comedi/drivers/dt9812.c
714
devpriv->cmd_rd.addr = ep->bEndpointAddress;
drivers/comedi/drivers/dt9812.c
715
devpriv->cmd_rd.size = usb_endpoint_maxp(ep);
drivers/comedi/drivers/dt9812.c
726
if ((ep->bEndpointAddress & USB_DIR_IN) != dir) {
drivers/comedi/drivers/vmk80xx.c
183
struct usb_endpoint_descriptor *ep;
drivers/comedi/drivers/vmk80xx.c
191
ep = devpriv->ep_rx;
drivers/comedi/drivers/vmk80xx.c
192
pipe = usb_rcvintpipe(usb, ep->bEndpointAddress);
drivers/comedi/drivers/vmk80xx.c
194
usb_endpoint_maxp(ep), NULL,
drivers/comedi/drivers/vmk80xx.c
202
struct usb_endpoint_descriptor *ep;
drivers/comedi/drivers/vmk80xx.c
212
ep = devpriv->ep_tx;
drivers/comedi/drivers/vmk80xx.c
213
pipe = usb_sndintpipe(usb, ep->bEndpointAddress);
drivers/comedi/drivers/vmk80xx.c
215
usb_endpoint_maxp(ep), NULL,
drivers/cxl/core/port.c
1325
return xa_insert(&port->endpoints, (unsigned long)new->ep,
drivers/cxl/core/port.c
1340
struct cxl_ep *ep;
drivers/cxl/core/port.c
1343
ep = kzalloc_obj(*ep);
drivers/cxl/core/port.c
1344
if (!ep)
drivers/cxl/core/port.c
1347
ep->ep = get_device(ep_dev);
drivers/cxl/core/port.c
1348
ep->dport = dport;
drivers/cxl/core/port.c
1350
rc = add_ep(ep);
drivers/cxl/core/port.c
1352
cxl_ep_release(ep);
drivers/cxl/core/port.c
1507
struct cxl_ep *ep;
drivers/cxl/core/port.c
1519
ep = cxl_ep_load(port, cxlmd);
drivers/cxl/core/port.c
1521
ep ? dev_name(ep->ep) : "", dev_name(&port->dev));
drivers/cxl/core/port.c
1522
cxl_ep_remove(port, ep);
drivers/cxl/core/port.c
1523
if (ep && !port->dead && xa_empty(&port->endpoints) &&
drivers/cxl/core/port.c
529
static void cxl_ep_release(struct cxl_ep *ep)
drivers/cxl/core/port.c
531
put_device(ep->ep);
drivers/cxl/core/port.c
532
kfree(ep);
drivers/cxl/core/port.c
535
static void cxl_ep_remove(struct cxl_port *port, struct cxl_ep *ep)
drivers/cxl/core/port.c
537
if (!ep)
drivers/cxl/core/port.c
539
xa_erase(&port->endpoints, (unsigned long) ep->ep);
drivers/cxl/core/port.c
540
cxl_ep_release(ep);
drivers/cxl/core/port.c
547
struct cxl_ep *ep;
drivers/cxl/core/port.c
549
xa_for_each(&port->endpoints, index, ep)
drivers/cxl/core/port.c
550
cxl_ep_remove(port, ep);
drivers/cxl/core/region.c
1054
struct cxl_ep *ep = cxl_ep_load(port, cxled_to_memdev(cxled));
drivers/cxl/core/region.c
1056
if (ep) {
drivers/cxl/core/region.c
1057
rc = xa_insert(&cxl_rr->endpoints, (unsigned long)cxled, ep,
drivers/cxl/core/region.c
1141
struct cxl_ep *ep = cxl_ep_load(port, cxlmd);
drivers/cxl/core/region.c
1162
if (ep_iter == ep)
drivers/cxl/core/region.c
1164
if (ep_iter->next == ep->next) {
drivers/cxl/core/region.c
1174
if (!found || !ep->next) {
drivers/cxl/core/region.c
1239
ep ? ep->next ? dev_name(ep->next->uport_dev) :
drivers/cxl/core/region.c
1258
struct cxl_ep *ep = NULL;
drivers/cxl/core/region.c
1273
ep = xa_erase(&cxl_rr->endpoints, (unsigned long)cxled);
drivers/cxl/core/region.c
1274
if (ep) {
drivers/cxl/core/region.c
1281
if (ep_iter->next == ep->next) {
drivers/cxl/core/region.c
1295
struct cxl_ep *ep, struct cxl_region_ref *cxl_rr,
drivers/cxl/core/region.c
1321
if (ep->dport != ep_peer->dport) {
drivers/cxl/core/region.c
1387
struct cxl_ep *ep = cxl_ep_load(port, cxlmd);
drivers/cxl/core/region.c
1429
if (ep->dport == cxlsd->target[i]) {
drivers/cxl/core/region.c
1430
rc = check_last_peer(cxled, ep, cxl_rr,
drivers/cxl/core/region.c
1563
if (cxlsd->target[cxl_rr->nr_targets_set] != ep->dport) {
drivers/cxl/core/region.c
1567
dev_name(ep->dport->dport_dev),
drivers/cxl/core/region.c
1572
cxlsd->target[cxl_rr->nr_targets_set] = ep->dport;
drivers/cxl/core/region.c
1573
cxlsd->cxld.target_map[cxl_rr->nr_targets_set] = ep->dport->port_id;
drivers/cxl/core/region.c
1579
cxl_rr->nr_targets_set - 1, dev_name(ep->dport->dport_dev),
drivers/cxl/core/region.c
1613
struct cxl_ep *ep;
drivers/cxl/core/region.c
1635
for (ep = cxl_ep_load(iter, cxlmd); iter;
drivers/cxl/core/region.c
1636
iter = ep->next, ep = cxl_ep_load(iter, cxlmd))
drivers/cxl/core/region.c
1649
struct cxl_ep *ep;
drivers/cxl/core/region.c
1672
for (ep = cxl_ep_load(iter, cxlmd); iter;
drivers/cxl/core/region.c
1673
iter = ep->next, ep = cxl_ep_load(iter, cxlmd)) {
drivers/cxl/core/region.c
266
struct cxl_ep *ep;
drivers/cxl/core/region.c
274
for (ep = cxl_ep_load(iter, cxlmd); iter;
drivers/cxl/core/region.c
275
iter = ep->next, ep = cxl_ep_load(iter, cxlmd)) {
drivers/cxl/core/region.c
322
struct cxl_ep *ep;
drivers/cxl/core/region.c
336
for (ep = cxl_ep_load(iter, cxlmd); ep && iter;
drivers/cxl/core/region.c
337
iter = ep->next, ep = cxl_ep_load(iter, cxlmd)) {
drivers/cxl/cxl.h
734
struct device *ep;
drivers/cxl/port.c
299
struct cxl_ep *ep;
drivers/cxl/port.c
301
ep = cxl_ep_load(iter, cxlmd);
drivers/cxl/port.c
302
ep->next = down;
drivers/firmware/efi/libstub/x86-stub.c
236
static bool verify_ep_integrity(const struct smbios_entry_point *ep)
drivers/firmware/efi/libstub/x86-stub.c
238
if (memcmp(ep->anchor, "_SM_", sizeof(ep->anchor)) != 0)
drivers/firmware/efi/libstub/x86-stub.c
241
if (memcmp(ep->intm.anchor, "_DMI_", sizeof(ep->intm.anchor)) != 0)
drivers/firmware/efi/libstub/x86-stub.c
244
if (!verify_ep_checksum(ep, ep->ep_length) ||
drivers/firmware/efi/libstub/x86-stub.c
245
!verify_ep_checksum(&ep->intm, sizeof(ep->intm)))
drivers/firmware/efi/libstub/x86-stub.c
287
const struct smbios_entry_point *ep;
drivers/firmware/efi/libstub/x86-stub.c
293
ep = get_efi_config_table(SMBIOS_TABLE_GUID);
drivers/firmware/efi/libstub/x86-stub.c
294
if (!ep)
drivers/firmware/efi/libstub/x86-stub.c
297
if (!verify_ep_integrity(ep))
drivers/firmware/efi/libstub/x86-stub.c
300
return search_record((void *)(unsigned long)ep->intm.st_address,
drivers/firmware/efi/libstub/x86-stub.c
301
ep->intm.st_length, type);
drivers/fwctl/pds/main.c
212
dma_addr_t *pa, u32 ep)
drivers/fwctl/pds/main.c
238
.ep = cpu_to_le32(ep),
drivers/fwctl/pds/main.c
275
ep, le32_to_cpu(entries[i].id), entries[i].scope);
drivers/fwctl/pds/main.c
308
if (pdsfc->endpoint_info[i].endpoint == rpc->in.ep) {
drivers/fwctl/pds/main.c
314
dev_dbg(dev, "Invalid endpoint %d\n", rpc->in.ep);
drivers/fwctl/pds/main.c
325
rpc->in.ep);
drivers/fwctl/pds/main.c
345
dev_dbg(dev, "Invalid operation %d for endpoint %d\n", rpc->in.op, rpc->in.ep);
drivers/fwctl/pds/main.c
406
.ep = cpu_to_le32(rpc->in.ep),
drivers/fwctl/pds/main.c
418
__func__, rpc->in.ep, rpc->in.op,
drivers/gpio/gpiolib-acpi-core.c
500
struct acpi_gpio_event *event, *ep;
drivers/gpio/gpiolib-acpi-core.c
517
list_for_each_entry_safe_reverse(event, ep, &acpi_gpio->events, node) {
drivers/gpu/drm/armada/armada_drv.c
177
struct device_node *ep, *remote;
drivers/gpu/drm/armada/armada_drv.c
179
for_each_endpoint_of_node(dev_node, ep) {
drivers/gpu/drm/armada/armada_drv.c
180
remote = of_graph_get_remote_port_parent(ep);
drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_output.c
43
static int atmel_hlcdc_of_bus_fmt(const struct device_node *ep)
drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_output.c
48
ret = of_property_read_u32(ep, "bus-width", &bus_width);
drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_output.c
71
struct device_node *ep;
drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_output.c
86
ep = of_graph_get_endpoint_by_regs(dev->dev->of_node, 0, endpoint);
drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_output.c
87
if (!ep)
drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_output.c
90
output->bus_fmt = atmel_hlcdc_of_bus_fmt(ep);
drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_output.c
91
of_node_put(ep);
drivers/gpu/drm/bridge/imx/imx8qxp-ldb.c
426
struct device_node *ep, *remote;
drivers/gpu/drm/bridge/imx/imx8qxp-ldb.c
431
ep = of_graph_get_endpoint_by_regs(ldb_ch->np, 0, -1);
drivers/gpu/drm/bridge/imx/imx8qxp-ldb.c
432
if (!ep) {
drivers/gpu/drm/bridge/imx/imx8qxp-ldb.c
437
remote = of_graph_get_remote_endpoint(ep);
drivers/gpu/drm/bridge/imx/imx8qxp-ldb.c
438
of_node_put(ep);
drivers/gpu/drm/bridge/imx/imx8qxp-pxl2dpi.c
229
struct device_node *port, *ep;
drivers/gpu/drm/bridge/imx/imx8qxp-pxl2dpi.c
242
ep = ERR_PTR(-ENODEV);
drivers/gpu/drm/bridge/imx/imx8qxp-pxl2dpi.c
248
ep = ERR_PTR(-EINVAL);
drivers/gpu/drm/bridge/imx/imx8qxp-pxl2dpi.c
252
ep = of_get_next_available_child(port, NULL);
drivers/gpu/drm/bridge/imx/imx8qxp-pxl2dpi.c
253
if (!ep) {
drivers/gpu/drm/bridge/imx/imx8qxp-pxl2dpi.c
257
ep = ERR_PTR(-ENODEV);
drivers/gpu/drm/bridge/imx/imx8qxp-pxl2dpi.c
262
return ep;
drivers/gpu/drm/bridge/imx/imx8qxp-pxl2dpi.c
267
struct device_node *ep __free(device_node) =
drivers/gpu/drm/bridge/imx/imx8qxp-pxl2dpi.c
269
if (IS_ERR(ep))
drivers/gpu/drm/bridge/imx/imx8qxp-pxl2dpi.c
270
return PTR_ERR(ep);
drivers/gpu/drm/bridge/imx/imx8qxp-pxl2dpi.c
272
struct device_node *remote __free(device_node) = of_graph_get_remote_port_parent(ep);
drivers/gpu/drm/bridge/imx/imx8qxp-pxl2dpi.c
290
struct device_node *ep;
drivers/gpu/drm/bridge/imx/imx8qxp-pxl2dpi.c
294
ep = imx8qxp_pxl2dpi_get_available_ep_from_port(p2d, 0);
drivers/gpu/drm/bridge/imx/imx8qxp-pxl2dpi.c
295
if (IS_ERR(ep))
drivers/gpu/drm/bridge/imx/imx8qxp-pxl2dpi.c
296
return PTR_ERR(ep);
drivers/gpu/drm/bridge/imx/imx8qxp-pxl2dpi.c
298
ret = of_graph_parse_endpoint(ep, &endpoint);
drivers/gpu/drm/bridge/imx/imx8qxp-pxl2dpi.c
307
of_node_put(ep);
drivers/gpu/drm/bridge/ite-it6505.c
3321
struct device_node *np = dev->of_node, *ep = NULL;
drivers/gpu/drm/bridge/ite-it6505.c
3344
ep = of_graph_get_endpoint_by_regs(np, 1, 0);
drivers/gpu/drm/bridge/ite-it6505.c
3345
of_node_put(ep);
drivers/gpu/drm/bridge/ite-it6505.c
3347
if (ep) {
drivers/gpu/drm/bridge/ite-it6505.c
3348
len = it6505_get_data_lanes_count(ep, 1, 4);
drivers/gpu/drm/bridge/ite-it6505.c
3351
of_property_read_u32_array(ep, "data-lanes",
drivers/gpu/drm/bridge/ite-it6505.c
3363
ep = of_graph_get_endpoint_by_regs(np, 0, 0);
drivers/gpu/drm/bridge/ite-it6505.c
3364
of_node_put(ep);
drivers/gpu/drm/bridge/ite-it6505.c
3366
if (ep) {
drivers/gpu/drm/bridge/ite-it6505.c
3367
len = of_property_read_variable_u64_array(ep,
drivers/gpu/drm/bridge/ite-it66121.c
1510
struct device_node *ep;
drivers/gpu/drm/bridge/ite-it66121.c
1526
ep = of_graph_get_endpoint_by_regs(dev->of_node, 0, 0);
drivers/gpu/drm/bridge/ite-it66121.c
1527
if (!ep)
drivers/gpu/drm/bridge/ite-it66121.c
1533
of_property_read_u32(ep, "bus-width", &ctx->bus_width);
drivers/gpu/drm/bridge/ite-it66121.c
1534
of_node_put(ep);
drivers/gpu/drm/bridge/ite-it66121.c
1539
ep = of_graph_get_remote_node(dev->of_node, 1, -1);
drivers/gpu/drm/bridge/ite-it66121.c
1540
if (!ep) {
drivers/gpu/drm/bridge/ite-it66121.c
1545
ctx->bridge.next_bridge = of_drm_find_and_get_bridge(ep);
drivers/gpu/drm/bridge/ite-it66121.c
1546
of_node_put(ep);
drivers/gpu/drm/bridge/ssd2825.c
282
struct device_node *ep;
drivers/gpu/drm/bridge/ssd2825.c
317
ep = of_graph_get_endpoint_by_regs(host->dev->of_node, 0, 0);
drivers/gpu/drm/bridge/ssd2825.c
318
if (ep) {
drivers/gpu/drm/bridge/ssd2825.c
319
ret = of_property_read_u32(ep, "bus-width", &priv->pd_lines);
drivers/gpu/drm/bridge/ssd2825.c
320
of_node_put(ep);
drivers/gpu/drm/bridge/tc358768.c
414
struct device_node *ep;
drivers/gpu/drm/bridge/tc358768.c
462
ep = of_graph_get_endpoint_by_regs(host->dev->of_node, 0, 0);
drivers/gpu/drm/bridge/tc358768.c
463
if (ep) {
drivers/gpu/drm/bridge/tc358768.c
464
ret = of_property_read_u32(ep, "bus-width", &priv->pd_lines);
drivers/gpu/drm/bridge/tc358768.c
466
ret = of_property_read_u32(ep, "data-lines", &priv->pd_lines);
drivers/gpu/drm/bridge/tc358768.c
468
of_node_put(ep);
drivers/gpu/drm/bridge/ti-tfp410.c
265
struct device_node *ep;
drivers/gpu/drm/bridge/ti-tfp410.c
286
ep = of_graph_get_endpoint_by_regs(dvi->dev->of_node, 0, 0);
drivers/gpu/drm/bridge/ti-tfp410.c
287
if (!ep)
drivers/gpu/drm/bridge/ti-tfp410.c
291
of_property_read_u32(ep, "pclk-sample", &pclk_sample);
drivers/gpu/drm/bridge/ti-tfp410.c
292
of_property_read_u32(ep, "bus-width", &bus_width);
drivers/gpu/drm/bridge/ti-tfp410.c
293
of_node_put(ep);
drivers/gpu/drm/drm_of.c
120
struct device_node *ep, *port, *remote;
drivers/gpu/drm/drm_of.c
166
for_each_child_of_node(port, ep) {
drivers/gpu/drm/drm_of.c
167
remote = of_graph_get_remote_port_parent(ep);
drivers/gpu/drm/drm_of.c
201
struct device_node *ep;
drivers/gpu/drm/drm_of.c
209
for_each_endpoint_of_node(node, ep) {
drivers/gpu/drm/drm_of.c
210
port = of_graph_get_remote_port(ep);
drivers/gpu/drm/drm_of.c
213
ret = of_graph_parse_endpoint(ep, endpoint);
drivers/gpu/drm/drm_of.c
214
of_node_put(ep);
drivers/gpu/drm/drm_of.c
64
struct device_node *remote_port, *ep;
drivers/gpu/drm/drm_of.c
67
for_each_endpoint_of_node(port, ep) {
drivers/gpu/drm/drm_of.c
68
remote_port = of_graph_get_remote_port(ep);
drivers/gpu/drm/drm_of.c
70
of_node_put(ep);
drivers/gpu/drm/exynos/exynos_hdmi.c
1769
struct device_node *ep, *np;
drivers/gpu/drm/exynos/exynos_hdmi.c
1771
ep = of_graph_get_endpoint_by_regs(dev->of_node, 1, -1);
drivers/gpu/drm/exynos/exynos_hdmi.c
1772
if (!ep)
drivers/gpu/drm/exynos/exynos_hdmi.c
1775
np = of_graph_get_remote_port_parent(ep);
drivers/gpu/drm/exynos/exynos_hdmi.c
1776
of_node_put(ep);
drivers/gpu/drm/meson/meson_drv.c
114
struct device_node *ep, *remote;
drivers/gpu/drm/meson/meson_drv.c
117
for_each_endpoint_of_node(dev->of_node, ep) {
drivers/gpu/drm/meson/meson_drv.c
119
remote = of_graph_get_remote_port(ep);
drivers/gpu/drm/meson/meson_drv.c
122
of_node_put(ep);
drivers/gpu/drm/meson/meson_drv.c
481
struct device_node *ep, *remote;
drivers/gpu/drm/meson/meson_drv.c
484
for_each_endpoint_of_node(np, ep) {
drivers/gpu/drm/meson/meson_drv.c
485
remote = of_graph_get_remote_port_parent(ep);
drivers/gpu/drm/msm/dsi/dsi_host.c
1769
struct device_node *ep)
drivers/gpu/drm/msm/dsi/dsi_host.c
1776
prop = of_find_property(ep, "data-lanes", &len);
drivers/gpu/drm/msm/dsi/dsi_host.c
1785
num_lanes = drm_of_get_data_lanes_count(ep, 1, 4);
drivers/gpu/drm/msm/dsi/dsi_host.c
1793
ret = of_property_read_u32_array(ep, "data-lanes", lane_map,
drivers/gpu/drm/msm/msm_drv.c
916
struct of_endpoint ep;
drivers/gpu/drm/msm/msm_drv.c
919
ret = of_graph_parse_endpoint(ep_node, &ep);
drivers/gpu/drm/msm/msm_drv.c
931
ep.port == 0)
drivers/gpu/drm/mxsfb/lcdif_drv.c
102
of_node_put(ep);
drivers/gpu/drm/mxsfb/lcdif_drv.c
51
struct device_node *ep;
drivers/gpu/drm/mxsfb/lcdif_drv.c
55
for_each_endpoint_of_node(dev->of_node, ep) {
drivers/gpu/drm/mxsfb/lcdif_drv.c
60
remote = of_graph_get_remote_port_parent(ep);
drivers/gpu/drm/mxsfb/lcdif_drv.c
67
ret = of_graph_parse_endpoint(ep, &of_ep);
drivers/gpu/drm/mxsfb/lcdif_drv.c
69
dev_err(dev, "Failed to parse endpoint %pOF\n", ep);
drivers/gpu/drm/mxsfb/lcdif_drv.c
70
of_node_put(ep);
drivers/gpu/drm/mxsfb/lcdif_drv.c
76
of_node_put(ep);
drivers/gpu/drm/mxsfb/lcdif_drv.c
86
of_node_put(ep);
drivers/gpu/drm/mxsfb/lcdif_drv.c
96
of_node_put(ep);
drivers/gpu/drm/omapdrm/dss/dpi.c
705
struct device_node *ep;
drivers/gpu/drm/omapdrm/dss/dpi.c
713
ep = of_graph_get_next_port_endpoint(port, NULL);
drivers/gpu/drm/omapdrm/dss/dpi.c
714
if (!ep)
drivers/gpu/drm/omapdrm/dss/dpi.c
717
r = of_property_read_u32(ep, "data-lines", &datalines);
drivers/gpu/drm/omapdrm/dss/dpi.c
718
of_node_put(ep);
drivers/gpu/drm/omapdrm/dss/dsi.c
4766
struct device_node *ep;
drivers/gpu/drm/omapdrm/dss/dsi.c
4768
ep = of_graph_get_endpoint_by_regs(node, 0, 0);
drivers/gpu/drm/omapdrm/dss/dsi.c
4769
if (!ep)
drivers/gpu/drm/omapdrm/dss/dsi.c
4772
prop = of_find_property(ep, "lanes", &len);
drivers/gpu/drm/omapdrm/dss/dsi.c
4788
r = of_property_read_u32_array(ep, "lanes", lane_arr, num_pins);
drivers/gpu/drm/omapdrm/dss/dsi.c
4800
of_node_put(ep);
drivers/gpu/drm/omapdrm/dss/dsi.c
4805
of_node_put(ep);
drivers/gpu/drm/omapdrm/dss/hdmi.h
332
int hdmi_parse_lanes_of(struct platform_device *pdev, struct device_node *ep,
drivers/gpu/drm/omapdrm/dss/hdmi4.c
746
struct device_node *ep;
drivers/gpu/drm/omapdrm/dss/hdmi4.c
749
ep = of_graph_get_endpoint_by_regs(node, 0, 0);
drivers/gpu/drm/omapdrm/dss/hdmi4.c
750
if (!ep)
drivers/gpu/drm/omapdrm/dss/hdmi4.c
753
r = hdmi_parse_lanes_of(pdev, ep, &hdmi->phy);
drivers/gpu/drm/omapdrm/dss/hdmi4.c
754
of_node_put(ep);
drivers/gpu/drm/omapdrm/dss/hdmi5.c
711
struct device_node *ep;
drivers/gpu/drm/omapdrm/dss/hdmi5.c
714
ep = of_graph_get_endpoint_by_regs(node, 0, 0);
drivers/gpu/drm/omapdrm/dss/hdmi5.c
715
if (!ep)
drivers/gpu/drm/omapdrm/dss/hdmi5.c
718
r = hdmi_parse_lanes_of(pdev, ep, &hdmi->phy);
drivers/gpu/drm/omapdrm/dss/hdmi5.c
719
of_node_put(ep);
drivers/gpu/drm/omapdrm/dss/hdmi_common.c
12
int hdmi_parse_lanes_of(struct platform_device *pdev, struct device_node *ep,
drivers/gpu/drm/omapdrm/dss/hdmi_common.c
18
prop = of_find_property(ep, "lanes", &len);
drivers/gpu/drm/omapdrm/dss/hdmi_common.c
27
r = of_property_read_u32_array(ep, "lanes", lanes,
drivers/gpu/drm/omapdrm/dss/sdi.c
342
struct device_node *ep;
drivers/gpu/drm/omapdrm/dss/sdi.c
350
ep = of_graph_get_next_port_endpoint(port, NULL);
drivers/gpu/drm/omapdrm/dss/sdi.c
351
if (!ep)
drivers/gpu/drm/omapdrm/dss/sdi.c
354
r = of_property_read_u32(ep, "datapairs", &datapairs);
drivers/gpu/drm/omapdrm/dss/sdi.c
355
of_node_put(ep);
drivers/gpu/drm/omapdrm/dss/venc.c
760
struct device_node *ep;
drivers/gpu/drm/omapdrm/dss/venc.c
764
ep = of_graph_get_endpoint_by_regs(node, 0, 0);
drivers/gpu/drm/omapdrm/dss/venc.c
765
if (!ep)
drivers/gpu/drm/omapdrm/dss/venc.c
768
venc->invert_polarity = of_property_read_bool(ep, "ti,invert-polarity");
drivers/gpu/drm/omapdrm/dss/venc.c
770
r = of_property_read_u32(ep, "ti,channels", &channels);
drivers/gpu/drm/omapdrm/dss/venc.c
791
of_node_put(ep);
drivers/gpu/drm/omapdrm/dss/venc.c
796
of_node_put(ep);
drivers/gpu/drm/renesas/rcar-du/rcar_du_kms.c
574
struct of_endpoint *ep)
drivers/gpu/drm/renesas/rcar-du/rcar_du_kms.c
580
entity = of_graph_get_remote_port_parent(ep->local_node);
drivers/gpu/drm/renesas/rcar-du/rcar_du_kms.c
583
ep->local_node);
drivers/gpu/drm/renesas/rcar-du/rcar_du_kms.c
618
struct of_endpoint ep;
drivers/gpu/drm/renesas/rcar-du/rcar_du_kms.c
622
ret = of_graph_parse_endpoint(ep_node, &ep);
drivers/gpu/drm/renesas/rcar-du/rcar_du_kms.c
631
rcdu->info->routes[i].port == ep.port) {
drivers/gpu/drm/renesas/rcar-du/rcar_du_kms.c
640
ep.port);
drivers/gpu/drm/renesas/rcar-du/rcar_du_kms.c
645
ret = rcar_du_encoders_init_one(rcdu, output, &ep);
drivers/gpu/drm/renesas/rz-du/rzg2l_du_kms.c
237
struct of_endpoint *ep)
drivers/gpu/drm/renesas/rz-du/rzg2l_du_kms.c
243
entity = of_graph_get_remote_port_parent(ep->local_node);
drivers/gpu/drm/renesas/rz-du/rzg2l_du_kms.c
246
ep->local_node);
drivers/gpu/drm/renesas/rz-du/rzg2l_du_kms.c
281
struct of_endpoint ep;
drivers/gpu/drm/renesas/rz-du/rzg2l_du_kms.c
285
ret = of_graph_parse_endpoint(ep_node, &ep);
drivers/gpu/drm/renesas/rz-du/rzg2l_du_kms.c
294
rcdu->info->routes[i].port == ep.port) {
drivers/gpu/drm/renesas/rz-du/rzg2l_du_kms.c
303
ep.port);
drivers/gpu/drm/renesas/rz-du/rzg2l_du_kms.c
308
ret = rzg2l_du_encoders_init_one(rcdu, output, &ep);
drivers/gpu/drm/rockchip/rockchip_drm_drv.c
282
struct of_endpoint ep;
drivers/gpu/drm/rockchip/rockchip_drm_drv.c
294
ret = of_graph_parse_endpoint(ren, &ep);
drivers/gpu/drm/rockchip/rockchip_drm_drv.c
298
rkencoder->crtc_endpoint_id = ep.id;
drivers/gpu/drm/rockchip/rockchip_drm_drv.c
313
int rockchip_drm_endpoint_is_subdriver(struct device_node *ep)
drivers/gpu/drm/rockchip/rockchip_drm_drv.c
315
struct device_node *node = of_graph_get_remote_port_parent(ep);
drivers/gpu/drm/rockchip/rockchip_drm_drv.h
88
int rockchip_drm_endpoint_is_subdriver(struct device_node *ep);
drivers/gpu/drm/sun4i/sun4i_backend.c
715
struct device_node *ep, *remote;
drivers/gpu/drm/sun4i/sun4i_backend.c
719
ep = of_graph_get_endpoint_by_regs(node, 0, -1);
drivers/gpu/drm/sun4i/sun4i_backend.c
720
if (!ep)
drivers/gpu/drm/sun4i/sun4i_backend.c
723
remote = of_graph_get_remote_endpoint(ep);
drivers/gpu/drm/sun4i/sun4i_backend.c
724
of_node_put(ep);
drivers/gpu/drm/sun4i/sun4i_backend.c
737
struct device_node *port, *ep, *remote;
drivers/gpu/drm/sun4i/sun4i_backend.c
744
for_each_available_child_of_node(port, ep) {
drivers/gpu/drm/sun4i/sun4i_backend.c
745
remote = of_graph_get_remote_port_parent(ep);
drivers/gpu/drm/sun4i/sun4i_backend.c
754
of_node_put(ep);
drivers/gpu/drm/sun4i/sun4i_drv.c
240
struct device_node *ep, *remote, *port;
drivers/gpu/drm/sun4i/sun4i_drv.c
248
for_each_available_child_of_node(port, ep) {
drivers/gpu/drm/sun4i/sun4i_drv.c
249
remote = of_graph_get_remote_port_parent(ep);
drivers/gpu/drm/sun4i/sun4i_drv.c
276
if (of_graph_parse_endpoint(ep, &endpoint)) {
drivers/gpu/drm/sun4i/sun4i_tcon.c
888
struct device_node *port, *ep, *remote;
drivers/gpu/drm/sun4i/sun4i_tcon.c
909
ep = of_get_next_available_child(port, NULL);
drivers/gpu/drm/sun4i/sun4i_tcon.c
910
if (!ep)
drivers/gpu/drm/sun4i/sun4i_tcon.c
913
remote = of_graph_get_remote_port_parent(ep);
drivers/gpu/drm/sun4i/sun4i_tcon.c
931
port = of_graph_get_remote_port(ep);
drivers/gpu/drm/sun4i/sun4i_tcon.c
941
of_node_put(ep);
drivers/gpu/drm/sun4i/sun4i_tcon.c
960
struct device_node *ep;
drivers/gpu/drm/sun4i/sun4i_tcon.c
964
for_each_available_child_of_node(port, ep) {
drivers/gpu/drm/sun4i/sun4i_tcon.c
968
remote = of_graph_get_remote_endpoint(ep);
drivers/gpu/drm/sun4i/sun8i_dw_hdmi.c
67
struct device_node *port, *ep, *remote, *remote_port;
drivers/gpu/drm/sun4i/sun8i_dw_hdmi.c
79
for_each_child_of_node(port, ep) {
drivers/gpu/drm/sun4i/sun8i_dw_hdmi.c
80
remote_port = of_graph_get_remote_port(ep);
drivers/gpu/drm/sun4i/sun8i_mixer.c
447
struct device_node *ep, *remote;
drivers/gpu/drm/sun4i/sun8i_mixer.c
451
ep = of_graph_get_endpoint_by_regs(node, 1, -1);
drivers/gpu/drm/sun4i/sun8i_mixer.c
452
if (!ep)
drivers/gpu/drm/sun4i/sun8i_mixer.c
455
remote = of_graph_get_remote_endpoint(ep);
drivers/gpu/drm/sun4i/sun8i_mixer.c
456
of_node_put(ep);
drivers/gpu/drm/tidss/tidss_oldi.c
421
struct device_node *ep, *dss_port;
drivers/gpu/drm/tidss/tidss_oldi.c
424
ep = of_graph_get_endpoint_by_regs(oldi_tx, OLDI_INPUT_PORT, -1);
drivers/gpu/drm/tidss/tidss_oldi.c
425
if (ep) {
drivers/gpu/drm/tidss/tidss_oldi.c
426
dss_port = of_graph_get_remote_port(ep);
drivers/gpu/drm/tidss/tidss_oldi.c
436
of_node_put(ep);
drivers/gpu/drm/xe/xe_i2c.c
161
return xe->i2c && xe->i2c->ep.cookie == XE_I2C_EP_COOKIE_DEVICE;
drivers/gpu/drm/xe/xe_i2c.c
222
if (!(i2c->ep.capabilities & XE_I2C_EP_CAP_IRQ) ||
drivers/gpu/drm/xe/xe_i2c.c
320
struct xe_i2c_endpoint ep;
drivers/gpu/drm/xe/xe_i2c.c
331
xe_i2c_read_endpoint(xe_root_tile_mmio(xe), &ep);
drivers/gpu/drm/xe/xe_i2c.c
332
if (ep.cookie != XE_I2C_EP_COOKIE_DEVICE)
drivers/gpu/drm/xe/xe_i2c.c
342
i2c->ep = ep;
drivers/gpu/drm/xe/xe_i2c.c
56
static inline void xe_i2c_read_endpoint(struct xe_mmio *mmio, void *ep)
drivers/gpu/drm/xe/xe_i2c.c
58
u32 *val = ep;
drivers/gpu/drm/xe/xe_i2c.c
70
.addr = i2c->ep.addr[1],
drivers/gpu/drm/xe/xe_i2c.h
44
struct xe_i2c_endpoint ep;
drivers/hid/hid-thrustmaster.c
154
struct usb_host_endpoint *ep;
drivers/hid/hid-thrustmaster.c
170
ep = &usbif->cur_altsetting->endpoint[1];
drivers/hid/hid-thrustmaster.c
171
b_ep = ep->desc.bEndpointAddress;
drivers/hid/hid-u2fzero.c
274
struct usb_host_endpoint *ep;
drivers/hid/hid-u2fzero.c
284
ep = usb_pipe_endpoint(udev, usbhid->urbin->pipe);
drivers/hid/hid-u2fzero.c
285
if (!ep)
drivers/hid/hid-u2fzero.c
301
ep->desc.bInterval);
drivers/hwtracing/coresight/coresight-platform.c
142
static bool of_coresight_legacy_ep_is_input(struct device_node *ep)
drivers/hwtracing/coresight/coresight-platform.c
144
return of_property_read_bool(ep, "slave-mode");
drivers/hwtracing/coresight/coresight-platform.c
147
static struct device_node *of_coresight_get_port_parent(struct device_node *ep)
drivers/hwtracing/coresight/coresight-platform.c
149
struct device_node *parent = of_graph_get_port_parent(ep);
drivers/hwtracing/coresight/coresight-platform.c
197
struct device_node *ep,
drivers/hwtracing/coresight/coresight-platform.c
211
if (of_graph_parse_endpoint(ep, &endpoint))
drivers/hwtracing/coresight/coresight-platform.c
217
rep = of_graph_get_remote_endpoint(ep);
drivers/hwtracing/coresight/coresight-platform.c
252
fwnode_find_reference(&ep->fwnode, "filter-source", 0);
drivers/hwtracing/coresight/coresight-platform.c
286
struct device_node *ep = NULL;
drivers/hwtracing/coresight/coresight-platform.c
310
for_each_endpoint_of_node(parent, ep) {
drivers/hwtracing/coresight/coresight-platform.c
317
if (legacy_binding && of_coresight_legacy_ep_is_input(ep))
drivers/hwtracing/coresight/coresight-platform.c
320
ret = of_coresight_parse_endpoint(dev, ep, pdata);
drivers/hwtracing/coresight/coresight-platform.c
322
of_node_put(ep);
drivers/infiniband/hw/cxgb4/cm.c
1001
pr_debug("initiator ird %u ord %u\n", ep->ird,
drivers/infiniband/hw/cxgb4/cm.c
1002
ep->ord);
drivers/infiniband/hw/cxgb4/cm.c
1003
mpa_v2_params.ird = htons((u16)ep->ird);
drivers/infiniband/hw/cxgb4/cm.c
1004
mpa_v2_params.ord = htons((u16)ep->ord);
drivers/infiniband/hw/cxgb4/cm.c
1018
if (ep->plen)
drivers/infiniband/hw/cxgb4/cm.c
1021
ep->mpa_pkt + sizeof(*mpa), ep->plen);
drivers/infiniband/hw/cxgb4/cm.c
1023
if (ep->plen)
drivers/infiniband/hw/cxgb4/cm.c
1025
ep->mpa_pkt + sizeof(*mpa), ep->plen);
drivers/infiniband/hw/cxgb4/cm.c
1034
ep->mpa_skb = skb;
drivers/infiniband/hw/cxgb4/cm.c
1035
ret = c4iw_l2t_send(&ep->com.dev->rdev, skb, ep->l2t);
drivers/infiniband/hw/cxgb4/cm.c
1038
start_ep_timer(ep);
drivers/infiniband/hw/cxgb4/cm.c
1039
__state_set(&ep->com, MPA_REQ_SENT);
drivers/infiniband/hw/cxgb4/cm.c
1040
ep->mpa_attr.initiator = 1;
drivers/infiniband/hw/cxgb4/cm.c
1041
ep->snd_seq += mpalen;
drivers/infiniband/hw/cxgb4/cm.c
1045
static int send_mpa_reject(struct c4iw_ep *ep, const void *pdata, u8 plen)
drivers/infiniband/hw/cxgb4/cm.c
1054
ep, ep->hwtid, ep->plen);
drivers/infiniband/hw/cxgb4/cm.c
1057
if (ep->mpa_attr.version == 2 && ep->mpa_attr.enhanced_rdma_conn)
drivers/infiniband/hw/cxgb4/cm.c
1066
set_wr_txq(skb, CPL_PRIORITY_DATA, ep->txq_idx);
drivers/infiniband/hw/cxgb4/cm.c
1074
FW_WR_FLOWID_V(ep->hwtid) |
drivers/infiniband/hw/cxgb4/cm.c
1085
mpa->revision = ep->mpa_attr.version;
drivers/infiniband/hw/cxgb4/cm.c
1088
if (ep->mpa_attr.version == 2 && ep->mpa_attr.enhanced_rdma_conn) {
drivers/infiniband/hw/cxgb4/cm.c
1093
mpa_v2_params.ird = htons(((u16)ep->ird) |
drivers/infiniband/hw/cxgb4/cm.c
1096
mpa_v2_params.ord = htons(((u16)ep->ord) | (peer2peer ?
drivers/infiniband/hw/cxgb4/cm.c
1105
if (ep->plen)
drivers/infiniband/hw/cxgb4/cm.c
1118
set_wr_txq(skb, CPL_PRIORITY_DATA, ep->txq_idx);
drivers/infiniband/hw/cxgb4/cm.c
1120
ep->mpa_skb = skb;
drivers/infiniband/hw/cxgb4/cm.c
1121
ep->snd_seq += mpalen;
drivers/infiniband/hw/cxgb4/cm.c
1122
return c4iw_l2t_send(&ep->com.dev->rdev, skb, ep->l2t);
drivers/infiniband/hw/cxgb4/cm.c
1125
static int send_mpa_reply(struct c4iw_ep *ep, const void *pdata, u8 plen)
drivers/infiniband/hw/cxgb4/cm.c
1134
ep, ep->hwtid, ep->plen);
drivers/infiniband/hw/cxgb4/cm.c
1137
if (ep->mpa_attr.version == 2 && ep->mpa_attr.enhanced_rdma_conn)
drivers/infiniband/hw/cxgb4/cm.c
1146
set_wr_txq(skb, CPL_PRIORITY_DATA, ep->txq_idx);
drivers/infiniband/hw/cxgb4/cm.c
1154
FW_WR_FLOWID_V(ep->hwtid) |
drivers/infiniband/hw/cxgb4/cm.c
1165
if (ep->mpa_attr.crc_enabled)
drivers/infiniband/hw/cxgb4/cm.c
1167
if (ep->mpa_attr.recv_marker_enabled)
drivers/infiniband/hw/cxgb4/cm.c
1169
mpa->revision = ep->mpa_attr.version;
drivers/infiniband/hw/cxgb4/cm.c
1172
if (ep->mpa_attr.version == 2 && ep->mpa_attr.enhanced_rdma_conn) {
drivers/infiniband/hw/cxgb4/cm.c
1177
mpa_v2_params.ird = htons((u16)ep->ird);
drivers/infiniband/hw/cxgb4/cm.c
1178
mpa_v2_params.ord = htons((u16)ep->ord);
drivers/infiniband/hw/cxgb4/cm.c
1179
if (peer2peer && (ep->mpa_attr.p2p_type !=
drivers/infiniband/hw/cxgb4/cm.c
1194
if (ep->plen)
drivers/infiniband/hw/cxgb4/cm.c
1208
ep->mpa_skb = skb;
drivers/infiniband/hw/cxgb4/cm.c
1209
__state_set(&ep->com, MPA_REP_SENT);
drivers/infiniband/hw/cxgb4/cm.c
1210
ep->snd_seq += mpalen;
drivers/infiniband/hw/cxgb4/cm.c
1211
return c4iw_l2t_send(&ep->com.dev->rdev, skb, ep->l2t);
drivers/infiniband/hw/cxgb4/cm.c
1216
struct c4iw_ep *ep;
drivers/infiniband/hw/cxgb4/cm.c
1224
ep = lookup_atid(t, atid);
drivers/infiniband/hw/cxgb4/cm.c
1225
if (!ep)
drivers/infiniband/hw/cxgb4/cm.c
1228
pr_debug("ep %p tid %u snd_isn %u rcv_isn %u\n", ep, tid,
drivers/infiniband/hw/cxgb4/cm.c
1231
mutex_lock(&ep->com.mutex);
drivers/infiniband/hw/cxgb4/cm.c
1232
dst_confirm(ep->dst);
drivers/infiniband/hw/cxgb4/cm.c
1235
ep->hwtid = tid;
drivers/infiniband/hw/cxgb4/cm.c
1236
cxgb4_insert_tid(t, ep, tid, ep->com.local_addr.ss_family);
drivers/infiniband/hw/cxgb4/cm.c
1237
insert_ep_tid(ep);
drivers/infiniband/hw/cxgb4/cm.c
1239
ep->snd_seq = be32_to_cpu(req->snd_isn);
drivers/infiniband/hw/cxgb4/cm.c
1240
ep->rcv_seq = be32_to_cpu(req->rcv_isn);
drivers/infiniband/hw/cxgb4/cm.c
1241
ep->snd_wscale = TCPOPT_SND_WSCALE_G(tcp_opt);
drivers/infiniband/hw/cxgb4/cm.c
1243
set_emss(ep, tcp_opt);
drivers/infiniband/hw/cxgb4/cm.c
1246
xa_erase_irq(&ep->com.dev->atids, atid);
drivers/infiniband/hw/cxgb4/cm.c
1248
set_bit(ACT_ESTAB, &ep->com.history);
drivers/infiniband/hw/cxgb4/cm.c
1251
ret = send_flowc(ep);
drivers/infiniband/hw/cxgb4/cm.c
1254
if (ep->retry_with_mpa_v1)
drivers/infiniband/hw/cxgb4/cm.c
1255
ret = send_mpa_req(ep, skb, 1);
drivers/infiniband/hw/cxgb4/cm.c
1257
ret = send_mpa_req(ep, skb, mpa_rev);
drivers/infiniband/hw/cxgb4/cm.c
1260
mutex_unlock(&ep->com.mutex);
drivers/infiniband/hw/cxgb4/cm.c
1263
mutex_unlock(&ep->com.mutex);
drivers/infiniband/hw/cxgb4/cm.c
1264
connect_reply_upcall(ep, -ENOMEM);
drivers/infiniband/hw/cxgb4/cm.c
1265
c4iw_ep_disconnect(ep, 0, GFP_KERNEL);
drivers/infiniband/hw/cxgb4/cm.c
1269
static void close_complete_upcall(struct c4iw_ep *ep, int status)
drivers/infiniband/hw/cxgb4/cm.c
1273
pr_debug("ep %p tid %u\n", ep, ep->hwtid);
drivers/infiniband/hw/cxgb4/cm.c
1277
if (ep->com.cm_id) {
drivers/infiniband/hw/cxgb4/cm.c
1279
ep, ep->com.cm_id, ep->hwtid);
drivers/infiniband/hw/cxgb4/cm.c
1280
ep->com.cm_id->event_handler(ep->com.cm_id, &event);
drivers/infiniband/hw/cxgb4/cm.c
1281
deref_cm_id(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
1282
set_bit(CLOSE_UPCALL, &ep->com.history);
drivers/infiniband/hw/cxgb4/cm.c
1286
static void peer_close_upcall(struct c4iw_ep *ep)
drivers/infiniband/hw/cxgb4/cm.c
1290
pr_debug("ep %p tid %u\n", ep, ep->hwtid);
drivers/infiniband/hw/cxgb4/cm.c
1293
if (ep->com.cm_id) {
drivers/infiniband/hw/cxgb4/cm.c
1295
ep, ep->com.cm_id, ep->hwtid);
drivers/infiniband/hw/cxgb4/cm.c
1296
ep->com.cm_id->event_handler(ep->com.cm_id, &event);
drivers/infiniband/hw/cxgb4/cm.c
1297
set_bit(DISCONN_UPCALL, &ep->com.history);
drivers/infiniband/hw/cxgb4/cm.c
1301
static void peer_abort_upcall(struct c4iw_ep *ep)
drivers/infiniband/hw/cxgb4/cm.c
1305
pr_debug("ep %p tid %u\n", ep, ep->hwtid);
drivers/infiniband/hw/cxgb4/cm.c
1309
if (ep->com.cm_id) {
drivers/infiniband/hw/cxgb4/cm.c
1310
pr_debug("abort delivered ep %p cm_id %p tid %u\n", ep,
drivers/infiniband/hw/cxgb4/cm.c
1311
ep->com.cm_id, ep->hwtid);
drivers/infiniband/hw/cxgb4/cm.c
1312
ep->com.cm_id->event_handler(ep->com.cm_id, &event);
drivers/infiniband/hw/cxgb4/cm.c
1313
deref_cm_id(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
1314
set_bit(ABORT_UPCALL, &ep->com.history);
drivers/infiniband/hw/cxgb4/cm.c
1318
static void connect_reply_upcall(struct c4iw_ep *ep, int status)
drivers/infiniband/hw/cxgb4/cm.c
1323
ep, ep->hwtid, status);
drivers/infiniband/hw/cxgb4/cm.c
1327
memcpy(&event.local_addr, &ep->com.local_addr,
drivers/infiniband/hw/cxgb4/cm.c
1328
sizeof(ep->com.local_addr));
drivers/infiniband/hw/cxgb4/cm.c
1329
memcpy(&event.remote_addr, &ep->com.remote_addr,
drivers/infiniband/hw/cxgb4/cm.c
1330
sizeof(ep->com.remote_addr));
drivers/infiniband/hw/cxgb4/cm.c
1333
if (!ep->tried_with_mpa_v1) {
drivers/infiniband/hw/cxgb4/cm.c
1335
event.ord = ep->ird;
drivers/infiniband/hw/cxgb4/cm.c
1336
event.ird = ep->ord;
drivers/infiniband/hw/cxgb4/cm.c
1337
event.private_data_len = ep->plen -
drivers/infiniband/hw/cxgb4/cm.c
1339
event.private_data = ep->mpa_pkt +
drivers/infiniband/hw/cxgb4/cm.c
1344
event.ord = cur_max_read_depth(ep->com.dev);
drivers/infiniband/hw/cxgb4/cm.c
1345
event.ird = cur_max_read_depth(ep->com.dev);
drivers/infiniband/hw/cxgb4/cm.c
1346
event.private_data_len = ep->plen;
drivers/infiniband/hw/cxgb4/cm.c
1347
event.private_data = ep->mpa_pkt +
drivers/infiniband/hw/cxgb4/cm.c
1352
pr_debug("ep %p tid %u status %d\n", ep,
drivers/infiniband/hw/cxgb4/cm.c
1353
ep->hwtid, status);
drivers/infiniband/hw/cxgb4/cm.c
1354
set_bit(CONN_RPL_UPCALL, &ep->com.history);
drivers/infiniband/hw/cxgb4/cm.c
1355
ep->com.cm_id->event_handler(ep->com.cm_id, &event);
drivers/infiniband/hw/cxgb4/cm.c
1358
deref_cm_id(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
1361
static int connect_request_upcall(struct c4iw_ep *ep)
drivers/infiniband/hw/cxgb4/cm.c
1366
pr_debug("ep %p tid %u\n", ep, ep->hwtid);
drivers/infiniband/hw/cxgb4/cm.c
1369
memcpy(&event.local_addr, &ep->com.local_addr,
drivers/infiniband/hw/cxgb4/cm.c
1370
sizeof(ep->com.local_addr));
drivers/infiniband/hw/cxgb4/cm.c
1371
memcpy(&event.remote_addr, &ep->com.remote_addr,
drivers/infiniband/hw/cxgb4/cm.c
1372
sizeof(ep->com.remote_addr));
drivers/infiniband/hw/cxgb4/cm.c
1373
event.provider_data = ep;
drivers/infiniband/hw/cxgb4/cm.c
1374
if (!ep->tried_with_mpa_v1) {
drivers/infiniband/hw/cxgb4/cm.c
1376
event.ord = ep->ord;
drivers/infiniband/hw/cxgb4/cm.c
1377
event.ird = ep->ird;
drivers/infiniband/hw/cxgb4/cm.c
1378
event.private_data_len = ep->plen -
drivers/infiniband/hw/cxgb4/cm.c
1380
event.private_data = ep->mpa_pkt + sizeof(struct mpa_message) +
drivers/infiniband/hw/cxgb4/cm.c
1384
event.ord = cur_max_read_depth(ep->com.dev);
drivers/infiniband/hw/cxgb4/cm.c
1385
event.ird = cur_max_read_depth(ep->com.dev);
drivers/infiniband/hw/cxgb4/cm.c
1386
event.private_data_len = ep->plen;
drivers/infiniband/hw/cxgb4/cm.c
1387
event.private_data = ep->mpa_pkt + sizeof(struct mpa_message);
drivers/infiniband/hw/cxgb4/cm.c
1389
c4iw_get_ep(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
1390
ret = ep->parent_ep->com.cm_id->event_handler(ep->parent_ep->com.cm_id,
drivers/infiniband/hw/cxgb4/cm.c
1393
c4iw_put_ep(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
1394
set_bit(CONNREQ_UPCALL, &ep->com.history);
drivers/infiniband/hw/cxgb4/cm.c
1395
c4iw_put_ep(&ep->parent_ep->com);
drivers/infiniband/hw/cxgb4/cm.c
1399
static void established_upcall(struct c4iw_ep *ep)
drivers/infiniband/hw/cxgb4/cm.c
1403
pr_debug("ep %p tid %u\n", ep, ep->hwtid);
drivers/infiniband/hw/cxgb4/cm.c
1406
event.ird = ep->ord;
drivers/infiniband/hw/cxgb4/cm.c
1407
event.ord = ep->ird;
drivers/infiniband/hw/cxgb4/cm.c
1408
if (ep->com.cm_id) {
drivers/infiniband/hw/cxgb4/cm.c
1409
pr_debug("ep %p tid %u\n", ep, ep->hwtid);
drivers/infiniband/hw/cxgb4/cm.c
1410
ep->com.cm_id->event_handler(ep->com.cm_id, &event);
drivers/infiniband/hw/cxgb4/cm.c
1411
set_bit(ESTAB_UPCALL, &ep->com.history);
drivers/infiniband/hw/cxgb4/cm.c
1415
static int update_rx_credits(struct c4iw_ep *ep, u32 credits)
drivers/infiniband/hw/cxgb4/cm.c
1422
ep, ep->hwtid, credits);
drivers/infiniband/hw/cxgb4/cm.c
1434
if (ep->rcv_win > RCV_BUFSIZ_M * 1024)
drivers/infiniband/hw/cxgb4/cm.c
1435
credits += ep->rcv_win - RCV_BUFSIZ_M * 1024;
drivers/infiniband/hw/cxgb4/cm.c
144
static void connect_reply_upcall(struct c4iw_ep *ep, int status);
drivers/infiniband/hw/cxgb4/cm.c
1440
cxgb_mk_rx_data_ack(skb, wrlen, ep->hwtid, ep->ctrlq_idx,
drivers/infiniband/hw/cxgb4/cm.c
1443
c4iw_ofld_send(&ep->com.dev->rdev, skb);
drivers/infiniband/hw/cxgb4/cm.c
1461
static int process_mpa_reply(struct c4iw_ep *ep, struct sk_buff *skb)
drivers/infiniband/hw/cxgb4/cm.c
1473
pr_debug("ep %p tid %u\n", ep, ep->hwtid);
drivers/infiniband/hw/cxgb4/cm.c
1479
if (ep->mpa_pkt_len + skb->len > sizeof(ep->mpa_pkt)) {
drivers/infiniband/hw/cxgb4/cm.c
1487
skb_copy_from_linear_data(skb, &(ep->mpa_pkt[ep->mpa_pkt_len]),
drivers/infiniband/hw/cxgb4/cm.c
1489
ep->mpa_pkt_len += skb->len;
drivers/infiniband/hw/cxgb4/cm.c
1494
if (ep->mpa_pkt_len < sizeof(*mpa))
drivers/infiniband/hw/cxgb4/cm.c
1496
mpa = (struct mpa_message *) ep->mpa_pkt;
drivers/infiniband/hw/cxgb4/cm.c
1523
if (ep->mpa_pkt_len > (sizeof(*mpa) + plen)) {
drivers/infiniband/hw/cxgb4/cm.c
1528
ep->plen = (u8) plen;
drivers/infiniband/hw/cxgb4/cm.c
1534
if (ep->mpa_pkt_len < (sizeof(*mpa) + plen))
drivers/infiniband/hw/cxgb4/cm.c
1547
if (stop_ep_timer(ep))
drivers/infiniband/hw/cxgb4/cm.c
1555
__state_set(&ep->com, FPDU_MODE);
drivers/infiniband/hw/cxgb4/cm.c
1556
ep->mpa_attr.crc_enabled = (mpa->flags & MPA_CRC) | crc_enabled ? 1 : 0;
drivers/infiniband/hw/cxgb4/cm.c
1557
ep->mpa_attr.xmit_marker_enabled = mpa->flags & MPA_MARKERS ? 1 : 0;
drivers/infiniband/hw/cxgb4/cm.c
1558
ep->mpa_attr.version = mpa->revision;
drivers/infiniband/hw/cxgb4/cm.c
1559
ep->mpa_attr.p2p_type = FW_RI_INIT_P2PTYPE_DISABLED;
drivers/infiniband/hw/cxgb4/cm.c
1562
ep->mpa_attr.enhanced_rdma_conn =
drivers/infiniband/hw/cxgb4/cm.c
1564
if (ep->mpa_attr.enhanced_rdma_conn) {
drivers/infiniband/hw/cxgb4/cm.c
1566
(ep->mpa_pkt + sizeof(*mpa));
drivers/infiniband/hw/cxgb4/cm.c
1572
resp_ird, resp_ord, ep->ird, ep->ord);
drivers/infiniband/hw/cxgb4/cm.c
1579
if (ep->ird < resp_ord) {
drivers/infiniband/hw/cxgb4/cm.c
1581
ep->com.dev->rdev.lldi.max_ordird_qp)
drivers/infiniband/hw/cxgb4/cm.c
1582
ep->ird = resp_ord;
drivers/infiniband/hw/cxgb4/cm.c
1585
} else if (ep->ird > resp_ord) {
drivers/infiniband/hw/cxgb4/cm.c
1586
ep->ird = resp_ord;
drivers/infiniband/hw/cxgb4/cm.c
1588
if (ep->ord > resp_ird) {
drivers/infiniband/hw/cxgb4/cm.c
1590
ep->ord = resp_ird;
drivers/infiniband/hw/cxgb4/cm.c
1596
ep->ird = resp_ord;
drivers/infiniband/hw/cxgb4/cm.c
1597
ep->ord = resp_ird;
drivers/infiniband/hw/cxgb4/cm.c
1604
ep->mpa_attr.p2p_type =
drivers/infiniband/hw/cxgb4/cm.c
1608
ep->mpa_attr.p2p_type =
drivers/infiniband/hw/cxgb4/cm.c
1614
ep->mpa_attr.p2p_type = p2p_type;
drivers/infiniband/hw/cxgb4/cm.c
1617
ep->mpa_attr.crc_enabled,
drivers/infiniband/hw/cxgb4/cm.c
1618
ep->mpa_attr.recv_marker_enabled,
drivers/infiniband/hw/cxgb4/cm.c
1619
ep->mpa_attr.xmit_marker_enabled, ep->mpa_attr.version,
drivers/infiniband/hw/cxgb4/cm.c
1620
ep->mpa_attr.p2p_type, p2p_type);
drivers/infiniband/hw/cxgb4/cm.c
1628
if ((ep->mpa_attr.version == 2) && peer2peer &&
drivers/infiniband/hw/cxgb4/cm.c
1629
(ep->mpa_attr.p2p_type != p2p_type)) {
drivers/infiniband/hw/cxgb4/cm.c
163
static void deref_qp(struct c4iw_ep *ep)
drivers/infiniband/hw/cxgb4/cm.c
1630
ep->mpa_attr.p2p_type = FW_RI_INIT_P2PTYPE_DISABLED;
drivers/infiniband/hw/cxgb4/cm.c
1634
attrs.mpa_attr = ep->mpa_attr;
drivers/infiniband/hw/cxgb4/cm.c
1635
attrs.max_ird = ep->ird;
drivers/infiniband/hw/cxgb4/cm.c
1636
attrs.max_ord = ep->ord;
drivers/infiniband/hw/cxgb4/cm.c
1637
attrs.llp_stream_handle = ep;
drivers/infiniband/hw/cxgb4/cm.c
1645
err = c4iw_modify_qp(ep->com.qp->rhp,
drivers/infiniband/hw/cxgb4/cm.c
1646
ep->com.qp, mask, &attrs, 1);
drivers/infiniband/hw/cxgb4/cm.c
165
c4iw_qp_rem_ref(&ep->com.qp->ibqp);
drivers/infiniband/hw/cxgb4/cm.c
166
clear_bit(QP_REFERENCED, &ep->com.flags);
drivers/infiniband/hw/cxgb4/cm.c
1660
err = c4iw_modify_qp(ep->com.qp->rhp, ep->com.qp,
drivers/infiniband/hw/cxgb4/cm.c
167
set_bit(QP_DEREFED, &ep->com.history);
drivers/infiniband/hw/cxgb4/cm.c
1679
err = c4iw_modify_qp(ep->com.qp->rhp, ep->com.qp,
drivers/infiniband/hw/cxgb4/cm.c
1687
stop_ep_timer(ep);
drivers/infiniband/hw/cxgb4/cm.c
1691
connect_reply_upcall(ep, err);
drivers/infiniband/hw/cxgb4/cm.c
170
static void ref_qp(struct c4iw_ep *ep)
drivers/infiniband/hw/cxgb4/cm.c
1707
static int process_mpa_request(struct c4iw_ep *ep, struct sk_buff *skb)
drivers/infiniband/hw/cxgb4/cm.c
1713
pr_debug("ep %p tid %u\n", ep, ep->hwtid);
drivers/infiniband/hw/cxgb4/cm.c
1719
if (ep->mpa_pkt_len + skb->len > sizeof(ep->mpa_pkt))
drivers/infiniband/hw/cxgb4/cm.c
172
set_bit(QP_REFERENCED, &ep->com.flags);
drivers/infiniband/hw/cxgb4/cm.c
1727
skb_copy_from_linear_data(skb, &(ep->mpa_pkt[ep->mpa_pkt_len]),
drivers/infiniband/hw/cxgb4/cm.c
1729
ep->mpa_pkt_len += skb->len;
drivers/infiniband/hw/cxgb4/cm.c
173
set_bit(QP_REFED, &ep->com.history);
drivers/infiniband/hw/cxgb4/cm.c
1735
if (ep->mpa_pkt_len < sizeof(*mpa))
drivers/infiniband/hw/cxgb4/cm.c
1739
mpa = (struct mpa_message *) ep->mpa_pkt;
drivers/infiniband/hw/cxgb4/cm.c
174
c4iw_qp_add_ref(&ep->com.qp->ibqp);
drivers/infiniband/hw/cxgb4/cm.c
1764
if (ep->mpa_pkt_len > (sizeof(*mpa) + plen))
drivers/infiniband/hw/cxgb4/cm.c
1766
ep->plen = (u8) plen;
drivers/infiniband/hw/cxgb4/cm.c
177
static void start_ep_timer(struct c4iw_ep *ep)
drivers/infiniband/hw/cxgb4/cm.c
1771
if (ep->mpa_pkt_len < (sizeof(*mpa) + plen))
drivers/infiniband/hw/cxgb4/cm.c
1778
ep->mpa_attr.initiator = 0;
drivers/infiniband/hw/cxgb4/cm.c
1779
ep->mpa_attr.crc_enabled = (mpa->flags & MPA_CRC) | crc_enabled ? 1 : 0;
drivers/infiniband/hw/cxgb4/cm.c
1780
ep->mpa_attr.recv_marker_enabled = markers_enabled;
drivers/infiniband/hw/cxgb4/cm.c
1781
ep->mpa_attr.xmit_marker_enabled = mpa->flags & MPA_MARKERS ? 1 : 0;
drivers/infiniband/hw/cxgb4/cm.c
1782
ep->mpa_attr.version = mpa->revision;
drivers/infiniband/hw/cxgb4/cm.c
1784
ep->tried_with_mpa_v1 = 1;
drivers/infiniband/hw/cxgb4/cm.c
1785
ep->mpa_attr.p2p_type = FW_RI_INIT_P2PTYPE_DISABLED;
drivers/infiniband/hw/cxgb4/cm.c
1788
ep->mpa_attr.enhanced_rdma_conn =
drivers/infiniband/hw/cxgb4/cm.c
179
pr_debug("ep %p\n", ep);
drivers/infiniband/hw/cxgb4/cm.c
1790
if (ep->mpa_attr.enhanced_rdma_conn) {
drivers/infiniband/hw/cxgb4/cm.c
1792
(ep->mpa_pkt + sizeof(*mpa));
drivers/infiniband/hw/cxgb4/cm.c
1793
ep->ird = ntohs(mpa_v2_params->ird) &
drivers/infiniband/hw/cxgb4/cm.c
1795
ep->ird = min_t(u32, ep->ird,
drivers/infiniband/hw/cxgb4/cm.c
1796
cur_max_read_depth(ep->com.dev));
drivers/infiniband/hw/cxgb4/cm.c
1797
ep->ord = ntohs(mpa_v2_params->ord) &
drivers/infiniband/hw/cxgb4/cm.c
1799
ep->ord = min_t(u32, ep->ord,
drivers/infiniband/hw/cxgb4/cm.c
180
if (timer_pending(&ep->timer)) {
drivers/infiniband/hw/cxgb4/cm.c
1800
cur_max_read_depth(ep->com.dev));
drivers/infiniband/hw/cxgb4/cm.c
1802
ep->ird, ep->ord);
drivers/infiniband/hw/cxgb4/cm.c
1807
ep->mpa_attr.p2p_type =
drivers/infiniband/hw/cxgb4/cm.c
1811
ep->mpa_attr.p2p_type =
drivers/infiniband/hw/cxgb4/cm.c
1817
ep->mpa_attr.p2p_type = p2p_type;
drivers/infiniband/hw/cxgb4/cm.c
182
__func__, ep);
drivers/infiniband/hw/cxgb4/cm.c
1820
ep->mpa_attr.crc_enabled, ep->mpa_attr.recv_marker_enabled,
drivers/infiniband/hw/cxgb4/cm.c
1821
ep->mpa_attr.xmit_marker_enabled, ep->mpa_attr.version,
drivers/infiniband/hw/cxgb4/cm.c
1822
ep->mpa_attr.p2p_type);
drivers/infiniband/hw/cxgb4/cm.c
1824
__state_set(&ep->com, MPA_REQ_RCVD);
drivers/infiniband/hw/cxgb4/cm.c
1827
mutex_lock_nested(&ep->parent_ep->com.mutex, SINGLE_DEPTH_NESTING);
drivers/infiniband/hw/cxgb4/cm.c
1828
if (ep->parent_ep->com.state != DEAD) {
drivers/infiniband/hw/cxgb4/cm.c
1829
if (connect_request_upcall(ep))
drivers/infiniband/hw/cxgb4/cm.c
1834
mutex_unlock(&ep->parent_ep->com.mutex);
drivers/infiniband/hw/cxgb4/cm.c
1838
mutex_unlock(&ep->parent_ep->com.mutex);
drivers/infiniband/hw/cxgb4/cm.c
1841
(void)stop_ep_timer(ep);
drivers/infiniband/hw/cxgb4/cm.c
1848
struct c4iw_ep *ep;
drivers/infiniband/hw/cxgb4/cm.c
185
clear_bit(TIMEOUT, &ep->com.flags);
drivers/infiniband/hw/cxgb4/cm.c
1855
ep = get_ep_from_tid(dev, tid);
drivers/infiniband/hw/cxgb4/cm.c
1856
if (!ep)
drivers/infiniband/hw/cxgb4/cm.c
1858
pr_debug("ep %p tid %u dlen %u\n", ep, ep->hwtid, dlen);
drivers/infiniband/hw/cxgb4/cm.c
186
c4iw_get_ep(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
1861
mutex_lock(&ep->com.mutex);
drivers/infiniband/hw/cxgb4/cm.c
1863
switch (ep->com.state) {
drivers/infiniband/hw/cxgb4/cm.c
1865
update_rx_credits(ep, dlen);
drivers/infiniband/hw/cxgb4/cm.c
1866
ep->rcv_seq += dlen;
drivers/infiniband/hw/cxgb4/cm.c
1867
disconnect = process_mpa_reply(ep, skb);
drivers/infiniband/hw/cxgb4/cm.c
187
ep->timer.expires = jiffies + ep_timeout_secs * HZ;
drivers/infiniband/hw/cxgb4/cm.c
1870
update_rx_credits(ep, dlen);
drivers/infiniband/hw/cxgb4/cm.c
1871
ep->rcv_seq += dlen;
drivers/infiniband/hw/cxgb4/cm.c
1872
disconnect = process_mpa_request(ep, skb);
drivers/infiniband/hw/cxgb4/cm.c
1877
update_rx_credits(ep, dlen);
drivers/infiniband/hw/cxgb4/cm.c
188
add_timer(&ep->timer);
drivers/infiniband/hw/cxgb4/cm.c
1881
__func__, ep->com.qp->wq.sq.qid, ep,
drivers/infiniband/hw/cxgb4/cm.c
1882
ep->com.state, ep->hwtid, status);
drivers/infiniband/hw/cxgb4/cm.c
1884
c4iw_modify_qp(ep->com.qp->rhp, ep->com.qp,
drivers/infiniband/hw/cxgb4/cm.c
1892
mutex_unlock(&ep->com.mutex);
drivers/infiniband/hw/cxgb4/cm.c
1894
c4iw_ep_disconnect(ep, disconnect == 2, GFP_KERNEL);
drivers/infiniband/hw/cxgb4/cm.c
1895
c4iw_put_ep(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
1899
static void complete_cached_srq_buffers(struct c4iw_ep *ep, u32 srqidx)
drivers/infiniband/hw/cxgb4/cm.c
1903
adapter_type = ep->com.dev->rdev.lldi.adapter_type;
drivers/infiniband/hw/cxgb4/cm.c
191
static int stop_ep_timer(struct c4iw_ep *ep)
drivers/infiniband/hw/cxgb4/cm.c
1912
if (ep->com.qp->ibqp.uobject)
drivers/infiniband/hw/cxgb4/cm.c
1913
t4_set_wq_in_error(&ep->com.qp->wq, srqidx);
drivers/infiniband/hw/cxgb4/cm.c
1915
c4iw_flush_srqidx(ep->com.qp, srqidx);
drivers/infiniband/hw/cxgb4/cm.c
1922
struct c4iw_ep *ep;
drivers/infiniband/hw/cxgb4/cm.c
1927
ep = get_ep_from_tid(dev, tid);
drivers/infiniband/hw/cxgb4/cm.c
1928
if (!ep) {
drivers/infiniband/hw/cxgb4/cm.c
193
pr_debug("ep %p stopping\n", ep);
drivers/infiniband/hw/cxgb4/cm.c
1933
if (ep->com.qp && ep->com.qp->srq) {
drivers/infiniband/hw/cxgb4/cm.c
1935
complete_cached_srq_buffers(ep, srqidx ? srqidx : ep->srqe_idx);
drivers/infiniband/hw/cxgb4/cm.c
1938
pr_debug("ep %p tid %u\n", ep, ep->hwtid);
drivers/infiniband/hw/cxgb4/cm.c
1939
mutex_lock(&ep->com.mutex);
drivers/infiniband/hw/cxgb4/cm.c
194
timer_delete_sync(&ep->timer);
drivers/infiniband/hw/cxgb4/cm.c
1940
switch (ep->com.state) {
drivers/infiniband/hw/cxgb4/cm.c
1942
c4iw_wake_up_noref(ep->com.wr_waitp, -ECONNRESET);
drivers/infiniband/hw/cxgb4/cm.c
1943
__state_set(&ep->com, DEAD);
drivers/infiniband/hw/cxgb4/cm.c
1947
pr_err("%s ep %p state %d\n", __func__, ep, ep->com.state);
drivers/infiniband/hw/cxgb4/cm.c
195
if (!test_and_set_bit(TIMEOUT, &ep->com.flags)) {
drivers/infiniband/hw/cxgb4/cm.c
1950
mutex_unlock(&ep->com.mutex);
drivers/infiniband/hw/cxgb4/cm.c
1953
close_complete_upcall(ep, -ECONNRESET);
drivers/infiniband/hw/cxgb4/cm.c
1954
release_ep_resources(ep);
drivers/infiniband/hw/cxgb4/cm.c
1956
c4iw_put_ep(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
196
c4iw_put_ep(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
1960
static int send_fw_act_open_req(struct c4iw_ep *ep, unsigned int atid)
drivers/infiniband/hw/cxgb4/cm.c
1977
ep->com.dev->rdev.lldi.ports[0],
drivers/infiniband/hw/cxgb4/cm.c
1978
ep->l2t));
drivers/infiniband/hw/cxgb4/cm.c
1979
sin = (struct sockaddr_in *)&ep->com.local_addr;
drivers/infiniband/hw/cxgb4/cm.c
1982
sin = (struct sockaddr_in *)&ep->com.remote_addr;
drivers/infiniband/hw/cxgb4/cm.c
1992
cxgb_best_mtu(ep->com.dev->rdev.lldi.mtus, ep->mtu, &mtu_idx,
drivers/infiniband/hw/cxgb4/cm.c
1994
(ep->com.remote_addr.ss_family == AF_INET) ? 0 : 1);
drivers/infiniband/hw/cxgb4/cm.c
2001
win = ep->rcv_win >> 10;
drivers/infiniband/hw/cxgb4/cm.c
2011
L2T_IDX_V(ep->l2t->idx) |
drivers/infiniband/hw/cxgb4/cm.c
2012
TX_CHAN_V(ep->tx_chan) |
drivers/infiniband/hw/cxgb4/cm.c
2013
SMAC_SEL_V(ep->smac_idx) |
drivers/infiniband/hw/cxgb4/cm.c
2014
DSCP_V(ep->tos >> 2) |
drivers/infiniband/hw/cxgb4/cm.c
2018
TX_QUEUE_V(ep->com.dev->rdev.lldi.tx_modq[ep->tx_chan]) |
drivers/infiniband/hw/cxgb4/cm.c
2021
RSS_QUEUE_VALID_F | RSS_QUEUE_V(ep->rss_qid));
drivers/infiniband/hw/cxgb4/cm.c
2030
set_wr_txq(skb, CPL_PRIORITY_CONTROL, ep->ctrlq_idx);
drivers/infiniband/hw/cxgb4/cm.c
2031
set_bit(ACT_OFLD_CONN, &ep->com.history);
drivers/infiniband/hw/cxgb4/cm.c
2032
return c4iw_l2t_send(&ep->com.dev->rdev, skb, ep->l2t);
drivers/infiniband/hw/cxgb4/cm.c
2063
static void set_tcp_window(struct c4iw_ep *ep, struct port_info *pi)
drivers/infiniband/hw/cxgb4/cm.c
2065
ep->snd_win = snd_win;
drivers/infiniband/hw/cxgb4/cm.c
2066
ep->rcv_win = rcv_win;
drivers/infiniband/hw/cxgb4/cm.c
2068
ep->snd_win, ep->rcv_win);
drivers/infiniband/hw/cxgb4/cm.c
2073
static int import_ep(struct c4iw_ep *ep, int iptype, __u8 *peer_ip,
drivers/infiniband/hw/cxgb4/cm.c
2106
ep->l2t = cxgb4_l2t_get(cdev->rdev.lldi.l2t,
drivers/infiniband/hw/cxgb4/cm.c
2108
if (!ep->l2t)
drivers/infiniband/hw/cxgb4/cm.c
2110
ep->mtu = pdev->mtu;
drivers/infiniband/hw/cxgb4/cm.c
2111
ep->tx_chan = cxgb4_port_chan(pdev);
drivers/infiniband/hw/cxgb4/cm.c
2112
ep->smac_idx = ((struct port_info *)netdev_priv(pdev))->smt_idx;
drivers/infiniband/hw/cxgb4/cm.c
2115
ep->txq_idx = cxgb4_port_idx(pdev) * step;
drivers/infiniband/hw/cxgb4/cm.c
2118
ep->ctrlq_idx = cxgb4_port_idx(pdev);
drivers/infiniband/hw/cxgb4/cm.c
2119
ep->rss_qid = cdev->rdev.lldi.rxq_ids[
drivers/infiniband/hw/cxgb4/cm.c
2121
set_tcp_window(ep, (struct port_info *)netdev_priv(pdev));
drivers/infiniband/hw/cxgb4/cm.c
2124
ep->l2t = cxgb4_l2t_get(cdev->rdev.lldi.l2t,
drivers/infiniband/hw/cxgb4/cm.c
2126
if (!ep->l2t)
drivers/infiniband/hw/cxgb4/cm.c
2128
ep->mtu = dst_mtu(dst);
drivers/infiniband/hw/cxgb4/cm.c
2129
ep->tx_chan = cxgb4_port_chan(pdev);
drivers/infiniband/hw/cxgb4/cm.c
2130
ep->smac_idx = ((struct port_info *)netdev_priv(pdev))->smt_idx;
drivers/infiniband/hw/cxgb4/cm.c
2133
ep->txq_idx = cxgb4_port_idx(pdev) * step;
drivers/infiniband/hw/cxgb4/cm.c
2134
ep->ctrlq_idx = cxgb4_port_idx(pdev);
drivers/infiniband/hw/cxgb4/cm.c
2137
ep->rss_qid = cdev->rdev.lldi.rxq_ids[
drivers/infiniband/hw/cxgb4/cm.c
2139
set_tcp_window(ep, (struct port_info *)netdev_priv(pdev));
drivers/infiniband/hw/cxgb4/cm.c
2142
ep->retry_with_mpa_v1 = 0;
drivers/infiniband/hw/cxgb4/cm.c
2143
ep->tried_with_mpa_v1 = 0;
drivers/infiniband/hw/cxgb4/cm.c
2155
static int c4iw_reconnect(struct c4iw_ep *ep)
drivers/infiniband/hw/cxgb4/cm.c
2160
&ep->com.cm_id->m_local_addr;
drivers/infiniband/hw/cxgb4/cm.c
2162
&ep->com.cm_id->m_remote_addr;
drivers/infiniband/hw/cxgb4/cm.c
2164
&ep->com.cm_id->m_local_addr;
drivers/infiniband/hw/cxgb4/cm.c
2166
&ep->com.cm_id->m_remote_addr;
drivers/infiniband/hw/cxgb4/cm.c
2170
pr_debug("qp %p cm_id %p\n", ep->com.qp, ep->com.cm_id);
drivers/infiniband/hw/cxgb4/cm.c
2171
c4iw_init_wr_wait(ep->com.wr_waitp);
drivers/infiniband/hw/cxgb4/cm.c
2182
size = (CN_MAX_CON_BUF - skb_queue_len(&ep->com.ep_skb_list));
drivers/infiniband/hw/cxgb4/cm.c
2183
if (alloc_ep_skb_list(&ep->com.ep_skb_list, size)) {
drivers/infiniband/hw/cxgb4/cm.c
2191
ep->atid = cxgb4_alloc_atid(ep->com.dev->rdev.lldi.tids, ep);
drivers/infiniband/hw/cxgb4/cm.c
2192
if (ep->atid == -1) {
drivers/infiniband/hw/cxgb4/cm.c
2197
err = xa_insert_irq(&ep->com.dev->atids, ep->atid, ep, GFP_KERNEL);
drivers/infiniband/hw/cxgb4/cm.c
2202
if (ep->com.cm_id->m_local_addr.ss_family == AF_INET) {
drivers/infiniband/hw/cxgb4/cm.c
2203
ep->dst = cxgb_find_route(&ep->com.dev->rdev.lldi, get_real_dev,
drivers/infiniband/hw/cxgb4/cm.c
2207
raddr->sin_port, ep->com.cm_id->tos);
drivers/infiniband/hw/cxgb4/cm.c
2211
ep->dst = cxgb_find_route6(&ep->com.dev->rdev.lldi,
drivers/infiniband/hw/cxgb4/cm.c
2217
ep->com.cm_id->tos,
drivers/infiniband/hw/cxgb4/cm.c
2222
if (!ep->dst) {
drivers/infiniband/hw/cxgb4/cm.c
2227
err = import_ep(ep, iptype, ra, ep->dst, ep->com.dev, false,
drivers/infiniband/hw/cxgb4/cm.c
2228
ep->com.dev->rdev.lldi.adapter_type,
drivers/infiniband/hw/cxgb4/cm.c
2229
ep->com.cm_id->tos);
drivers/infiniband/hw/cxgb4/cm.c
2236
ep->txq_idx, ep->tx_chan, ep->smac_idx, ep->rss_qid,
drivers/infiniband/hw/cxgb4/cm.c
2237
ep->l2t->idx);
drivers/infiniband/hw/cxgb4/cm.c
2239
state_set(&ep->com, CONNECTING);
drivers/infiniband/hw/cxgb4/cm.c
2240
ep->tos = ep->com.cm_id->tos;
drivers/infiniband/hw/cxgb4/cm.c
2243
err = send_connect(ep);
drivers/infiniband/hw/cxgb4/cm.c
2247
cxgb4_l2t_release(ep->l2t);
drivers/infiniband/hw/cxgb4/cm.c
2249
dst_release(ep->dst);
drivers/infiniband/hw/cxgb4/cm.c
2251
xa_erase_irq(&ep->com.dev->atids, ep->atid);
drivers/infiniband/hw/cxgb4/cm.c
2253
cxgb4_free_atid(ep->com.dev->rdev.lldi.tids, ep->atid);
drivers/infiniband/hw/cxgb4/cm.c
2261
connect_reply_upcall(ep, -ECONNRESET);
drivers/infiniband/hw/cxgb4/cm.c
2263
c4iw_put_ep(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
2270
struct c4iw_ep *ep;
drivers/infiniband/hw/cxgb4/cm.c
2282
ep = lookup_atid(t, atid);
drivers/infiniband/hw/cxgb4/cm.c
2283
if (!ep)
drivers/infiniband/hw/cxgb4/cm.c
2286
la = (struct sockaddr_in *)&ep->com.local_addr;
drivers/infiniband/hw/cxgb4/cm.c
2287
ra = (struct sockaddr_in *)&ep->com.remote_addr;
drivers/infiniband/hw/cxgb4/cm.c
2288
la6 = (struct sockaddr_in6 *)&ep->com.local_addr;
drivers/infiniband/hw/cxgb4/cm.c
2289
ra6 = (struct sockaddr_in6 *)&ep->com.remote_addr;
drivers/infiniband/hw/cxgb4/cm.c
2291
pr_debug("ep %p atid %u status %u errno %d\n", ep, atid,
drivers/infiniband/hw/cxgb4/cm.c
2297
ep->stats.connect_neg_adv++;
drivers/infiniband/hw/cxgb4/cm.c
2304
set_bit(ACT_OPEN_RPL, &ep->com.history);
drivers/infiniband/hw/cxgb4/cm.c
2317
if (ep->com.local_addr.ss_family == AF_INET &&
drivers/infiniband/hw/cxgb4/cm.c
2319
ret = send_fw_act_open_req(ep, TID_TID_G(AOPEN_ATID_G(
drivers/infiniband/hw/cxgb4/cm.c
2327
if (ep->retry_count++ < ACT_OPEN_RETRY_COUNT) {
drivers/infiniband/hw/cxgb4/cm.c
2328
set_bit(ACT_RETRY_INUSE, &ep->com.history);
drivers/infiniband/hw/cxgb4/cm.c
2329
if (ep->com.remote_addr.ss_family == AF_INET6) {
drivers/infiniband/hw/cxgb4/cm.c
2332
&ep->com.local_addr;
drivers/infiniband/hw/cxgb4/cm.c
2334
ep->com.dev->rdev.lldi.ports[0],
drivers/infiniband/hw/cxgb4/cm.c
2338
xa_erase_irq(&ep->com.dev->atids, atid);
drivers/infiniband/hw/cxgb4/cm.c
2340
dst_release(ep->dst);
drivers/infiniband/hw/cxgb4/cm.c
2341
cxgb4_l2t_release(ep->l2t);
drivers/infiniband/hw/cxgb4/cm.c
2342
c4iw_reconnect(ep);
drivers/infiniband/hw/cxgb4/cm.c
2347
if (ep->com.local_addr.ss_family == AF_INET) {
drivers/infiniband/hw/cxgb4/cm.c
2362
connect_reply_upcall(ep, status2errno(status));
drivers/infiniband/hw/cxgb4/cm.c
2363
state_set(&ep->com, DEAD);
drivers/infiniband/hw/cxgb4/cm.c
2365
if (ep->com.remote_addr.ss_family == AF_INET6) {
drivers/infiniband/hw/cxgb4/cm.c
2367
(struct sockaddr_in6 *)&ep->com.local_addr;
drivers/infiniband/hw/cxgb4/cm.c
2368
cxgb4_clip_release(ep->com.dev->rdev.lldi.ports[0],
drivers/infiniband/hw/cxgb4/cm.c
2372
cxgb4_remove_tid(ep->com.dev->rdev.lldi.tids, 0, GET_TID(rpl),
drivers/infiniband/hw/cxgb4/cm.c
2373
ep->com.local_addr.ss_family);
drivers/infiniband/hw/cxgb4/cm.c
2375
xa_erase_irq(&ep->com.dev->atids, atid);
drivers/infiniband/hw/cxgb4/cm.c
2377
dst_release(ep->dst);
drivers/infiniband/hw/cxgb4/cm.c
2378
cxgb4_l2t_release(ep->l2t);
drivers/infiniband/hw/cxgb4/cm.c
2379
c4iw_put_ep(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
2388
struct c4iw_listen_ep *ep = get_ep_from_stid(dev, stid);
drivers/infiniband/hw/cxgb4/cm.c
2390
if (!ep) {
drivers/infiniband/hw/cxgb4/cm.c
2394
pr_debug("ep %p status %d error %d\n", ep,
drivers/infiniband/hw/cxgb4/cm.c
2396
c4iw_wake_up_noref(ep->com.wr_waitp, status2errno(rpl->status));
drivers/infiniband/hw/cxgb4/cm.c
2397
c4iw_put_ep(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
2406
struct c4iw_listen_ep *ep = get_ep_from_stid(dev, stid);
drivers/infiniband/hw/cxgb4/cm.c
2408
if (!ep) {
drivers/infiniband/hw/cxgb4/cm.c
2412
pr_debug("ep %p\n", ep);
drivers/infiniband/hw/cxgb4/cm.c
2413
c4iw_wake_up_noref(ep->com.wr_waitp, status2errno(rpl->status));
drivers/infiniband/hw/cxgb4/cm.c
2414
c4iw_put_ep(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
2419
static int accept_cr(struct c4iw_ep *ep, struct sk_buff *skb,
drivers/infiniband/hw/cxgb4/cm.c
2429
enum chip_type adapter_type = ep->com.dev->rdev.lldi.adapter_type;
drivers/infiniband/hw/cxgb4/cm.c
2431
pr_debug("ep %p tid %u\n", ep, ep->hwtid);
drivers/infiniband/hw/cxgb4/cm.c
2432
cxgb_best_mtu(ep->com.dev->rdev.lldi.mtus, ep->mtu, &mtu_idx,
drivers/infiniband/hw/cxgb4/cm.c
2434
(ep->com.remote_addr.ss_family == AF_INET) ? 0 : 1);
drivers/infiniband/hw/cxgb4/cm.c
2441
win = ep->rcv_win >> 10;
drivers/infiniband/hw/cxgb4/cm.c
2449
L2T_IDX_V(ep->l2t->idx) |
drivers/infiniband/hw/cxgb4/cm.c
2450
TX_CHAN_V(ep->tx_chan) |
drivers/infiniband/hw/cxgb4/cm.c
2451
SMAC_SEL_V(ep->smac_idx) |
drivers/infiniband/hw/cxgb4/cm.c
2452
DSCP_V(ep->tos >> 2) |
drivers/infiniband/hw/cxgb4/cm.c
2456
RSS_QUEUE_VALID_F | RSS_QUEUE_V(ep->rss_qid);
drivers/infiniband/hw/cxgb4/cm.c
248
static void set_emss(struct c4iw_ep *ep, u16 opt)
drivers/infiniband/hw/cxgb4/cm.c
2484
INIT_TP_WR_CPL(rpl5, CPL_PASS_ACCEPT_RPL, ep->hwtid);
drivers/infiniband/hw/cxgb4/cm.c
2495
INIT_TP_WR_CPL(rpl, CPL_PASS_ACCEPT_RPL, ep->hwtid);
drivers/infiniband/hw/cxgb4/cm.c
250
ep->emss = ep->com.dev->rdev.lldi.mtus[TCPOPT_MSS_G(opt)] -
drivers/infiniband/hw/cxgb4/cm.c
2500
set_wr_txq(skb, CPL_PRIORITY_SETUP, ep->ctrlq_idx);
drivers/infiniband/hw/cxgb4/cm.c
2501
t4_set_arp_err_handler(skb, ep, pass_accept_rpl_arp_failure);
drivers/infiniband/hw/cxgb4/cm.c
2503
return c4iw_l2t_send(&ep->com.dev->rdev, skb, ep->l2t);
drivers/infiniband/hw/cxgb4/cm.c
251
((AF_INET == ep->com.remote_addr.ss_family) ?
drivers/infiniband/hw/cxgb4/cm.c
254
ep->mss = ep->emss;
drivers/infiniband/hw/cxgb4/cm.c
256
ep->emss -= round_up(TCPOLEN_TIMESTAMP, 4);
drivers/infiniband/hw/cxgb4/cm.c
257
if (ep->emss < 128)
drivers/infiniband/hw/cxgb4/cm.c
258
ep->emss = 128;
drivers/infiniband/hw/cxgb4/cm.c
259
if (ep->emss & 7)
drivers/infiniband/hw/cxgb4/cm.c
261
TCPOPT_MSS_G(opt), ep->mss, ep->emss);
drivers/infiniband/hw/cxgb4/cm.c
262
pr_debug("mss_idx %u mss %u emss=%u\n", TCPOPT_MSS_G(opt), ep->mss,
drivers/infiniband/hw/cxgb4/cm.c
263
ep->emss);
drivers/infiniband/hw/cxgb4/cm.c
2679
struct c4iw_ep *ep;
drivers/infiniband/hw/cxgb4/cm.c
2685
ep = get_ep_from_tid(dev, tid);
drivers/infiniband/hw/cxgb4/cm.c
2686
if (!ep)
drivers/infiniband/hw/cxgb4/cm.c
2689
pr_debug("ep %p tid %u\n", ep, ep->hwtid);
drivers/infiniband/hw/cxgb4/cm.c
2690
ep->snd_seq = be32_to_cpu(req->snd_isn);
drivers/infiniband/hw/cxgb4/cm.c
2691
ep->rcv_seq = be32_to_cpu(req->rcv_isn);
drivers/infiniband/hw/cxgb4/cm.c
2692
ep->snd_wscale = TCPOPT_SND_WSCALE_G(tcp_opt);
drivers/infiniband/hw/cxgb4/cm.c
2694
pr_debug("ep %p hwtid %u tcp_opt 0x%02x\n", ep, tid, tcp_opt);
drivers/infiniband/hw/cxgb4/cm.c
2696
set_emss(ep, tcp_opt);
drivers/infiniband/hw/cxgb4/cm.c
2698
dst_confirm(ep->dst);
drivers/infiniband/hw/cxgb4/cm.c
2699
mutex_lock(&ep->com.mutex);
drivers/infiniband/hw/cxgb4/cm.c
2700
ep->com.state = MPA_REQ_WAIT;
drivers/infiniband/hw/cxgb4/cm.c
2701
start_ep_timer(ep);
drivers/infiniband/hw/cxgb4/cm.c
2702
set_bit(PASS_ESTAB, &ep->com.history);
drivers/infiniband/hw/cxgb4/cm.c
2703
ret = send_flowc(ep);
drivers/infiniband/hw/cxgb4/cm.c
2704
mutex_unlock(&ep->com.mutex);
drivers/infiniband/hw/cxgb4/cm.c
2706
c4iw_ep_disconnect(ep, 1, GFP_KERNEL);
drivers/infiniband/hw/cxgb4/cm.c
2707
c4iw_put_ep(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
2715
struct c4iw_ep *ep;
drivers/infiniband/hw/cxgb4/cm.c
2722
ep = get_ep_from_tid(dev, tid);
drivers/infiniband/hw/cxgb4/cm.c
2723
if (!ep)
drivers/infiniband/hw/cxgb4/cm.c
2726
pr_debug("ep %p tid %u\n", ep, ep->hwtid);
drivers/infiniband/hw/cxgb4/cm.c
2727
dst_confirm(ep->dst);
drivers/infiniband/hw/cxgb4/cm.c
2729
set_bit(PEER_CLOSE, &ep->com.history);
drivers/infiniband/hw/cxgb4/cm.c
2730
mutex_lock(&ep->com.mutex);
drivers/infiniband/hw/cxgb4/cm.c
2731
switch (ep->com.state) {
drivers/infiniband/hw/cxgb4/cm.c
2733
__state_set(&ep->com, CLOSING);
drivers/infiniband/hw/cxgb4/cm.c
2736
__state_set(&ep->com, CLOSING);
drivers/infiniband/hw/cxgb4/cm.c
2737
connect_reply_upcall(ep, -ECONNRESET);
drivers/infiniband/hw/cxgb4/cm.c
2747
__state_set(&ep->com, CLOSING);
drivers/infiniband/hw/cxgb4/cm.c
2748
pr_debug("waking up ep %p tid %u\n", ep, ep->hwtid);
drivers/infiniband/hw/cxgb4/cm.c
2749
c4iw_wake_up_noref(ep->com.wr_waitp, -ECONNRESET);
drivers/infiniband/hw/cxgb4/cm.c
2752
__state_set(&ep->com, CLOSING);
drivers/infiniband/hw/cxgb4/cm.c
2753
pr_debug("waking up ep %p tid %u\n", ep, ep->hwtid);
drivers/infiniband/hw/cxgb4/cm.c
2754
c4iw_wake_up_noref(ep->com.wr_waitp, -ECONNRESET);
drivers/infiniband/hw/cxgb4/cm.c
2757
start_ep_timer(ep);
drivers/infiniband/hw/cxgb4/cm.c
2758
__state_set(&ep->com, CLOSING);
drivers/infiniband/hw/cxgb4/cm.c
2760
ret = c4iw_modify_qp(ep->com.qp->rhp, ep->com.qp,
drivers/infiniband/hw/cxgb4/cm.c
2763
peer_close_upcall(ep);
drivers/infiniband/hw/cxgb4/cm.c
2771
__state_set(&ep->com, MORIBUND);
drivers/infiniband/hw/cxgb4/cm.c
2775
(void)stop_ep_timer(ep);
drivers/infiniband/hw/cxgb4/cm.c
2776
if (ep->com.cm_id && ep->com.qp) {
drivers/infiniband/hw/cxgb4/cm.c
2778
c4iw_modify_qp(ep->com.qp->rhp, ep->com.qp,
drivers/infiniband/hw/cxgb4/cm.c
2781
close_complete_upcall(ep, 0);
drivers/infiniband/hw/cxgb4/cm.c
2782
__state_set(&ep->com, DEAD);
drivers/infiniband/hw/cxgb4/cm.c
2790
WARN_ONCE(1, "Bad endpoint state %u\n", ep->com.state);
drivers/infiniband/hw/cxgb4/cm.c
2792
mutex_unlock(&ep->com.mutex);
drivers/infiniband/hw/cxgb4/cm.c
2794
c4iw_ep_disconnect(ep, 0, GFP_KERNEL);
drivers/infiniband/hw/cxgb4/cm.c
2796
release_ep_resources(ep);
drivers/infiniband/hw/cxgb4/cm.c
2797
c4iw_put_ep(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
2801
static void finish_peer_abort(struct c4iw_dev *dev, struct c4iw_ep *ep)
drivers/infiniband/hw/cxgb4/cm.c
2803
complete_cached_srq_buffers(ep, ep->srqe_idx);
drivers/infiniband/hw/cxgb4/cm.c
2804
if (ep->com.cm_id && ep->com.qp) {
drivers/infiniband/hw/cxgb4/cm.c
2808
c4iw_modify_qp(ep->com.qp->rhp, ep->com.qp,
drivers/infiniband/hw/cxgb4/cm.c
2811
peer_abort_upcall(ep);
drivers/infiniband/hw/cxgb4/cm.c
2812
release_ep_resources(ep);
drivers/infiniband/hw/cxgb4/cm.c
2813
c4iw_put_ep(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
2819
struct c4iw_ep *ep;
drivers/infiniband/hw/cxgb4/cm.c
2830
ep = get_ep_from_tid(dev, tid);
drivers/infiniband/hw/cxgb4/cm.c
2831
if (!ep)
drivers/infiniband/hw/cxgb4/cm.c
2838
ep->hwtid, status, neg_adv_str(status));
drivers/infiniband/hw/cxgb4/cm.c
2839
ep->stats.abort_neg_adv++;
drivers/infiniband/hw/cxgb4/cm.c
2846
pr_debug("ep %p tid %u state %u\n", ep, ep->hwtid,
drivers/infiniband/hw/cxgb4/cm.c
2847
ep->com.state);
drivers/infiniband/hw/cxgb4/cm.c
2848
set_bit(PEER_ABORT, &ep->com.history);
drivers/infiniband/hw/cxgb4/cm.c
2855
if (ep->com.state != MPA_REQ_SENT)
drivers/infiniband/hw/cxgb4/cm.c
2856
c4iw_wake_up_noref(ep->com.wr_waitp, -ECONNRESET);
drivers/infiniband/hw/cxgb4/cm.c
2858
mutex_lock(&ep->com.mutex);
drivers/infiniband/hw/cxgb4/cm.c
2859
switch (ep->com.state) {
drivers/infiniband/hw/cxgb4/cm.c
2861
c4iw_put_ep(&ep->parent_ep->com);
drivers/infiniband/hw/cxgb4/cm.c
2864
(void)stop_ep_timer(ep);
drivers/infiniband/hw/cxgb4/cm.c
2867
(void)stop_ep_timer(ep);
drivers/infiniband/hw/cxgb4/cm.c
2869
(mpa_rev == 2 && ep->tried_with_mpa_v1))
drivers/infiniband/hw/cxgb4/cm.c
2870
connect_reply_upcall(ep, -ECONNRESET);
drivers/infiniband/hw/cxgb4/cm.c
2882
ep->retry_with_mpa_v1 = 1;
drivers/infiniband/hw/cxgb4/cm.c
2891
stop_ep_timer(ep);
drivers/infiniband/hw/cxgb4/cm.c
2894
if (ep->com.qp && ep->com.qp->srq) {
drivers/infiniband/hw/cxgb4/cm.c
2898
complete_cached_srq_buffers(ep, srqidx);
drivers/infiniband/hw/cxgb4/cm.c
2901
c4iw_get_ep(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
2902
__state_set(&ep->com, ABORTING);
drivers/infiniband/hw/cxgb4/cm.c
2903
set_bit(PEER_ABORT_IN_PROGRESS, &ep->com.flags);
drivers/infiniband/hw/cxgb4/cm.c
2904
read_tcb(ep);
drivers/infiniband/hw/cxgb4/cm.c
2910
if (ep->com.cm_id && ep->com.qp) {
drivers/infiniband/hw/cxgb4/cm.c
2912
ret = c4iw_modify_qp(ep->com.qp->rhp,
drivers/infiniband/hw/cxgb4/cm.c
2913
ep->com.qp, C4IW_QP_ATTR_NEXT_STATE,
drivers/infiniband/hw/cxgb4/cm.c
2918
peer_abort_upcall(ep);
drivers/infiniband/hw/cxgb4/cm.c
2924
mutex_unlock(&ep->com.mutex);
drivers/infiniband/hw/cxgb4/cm.c
2927
WARN_ONCE(1, "Bad endpoint state %u\n", ep->com.state);
drivers/infiniband/hw/cxgb4/cm.c
2930
dst_confirm(ep->dst);
drivers/infiniband/hw/cxgb4/cm.c
2931
if (ep->com.state != ABORTING) {
drivers/infiniband/hw/cxgb4/cm.c
2932
__state_set(&ep->com, DEAD);
drivers/infiniband/hw/cxgb4/cm.c
2934
if (!ep->retry_with_mpa_v1)
drivers/infiniband/hw/cxgb4/cm.c
2937
mutex_unlock(&ep->com.mutex);
drivers/infiniband/hw/cxgb4/cm.c
2939
rpl_skb = skb_dequeue(&ep->com.ep_skb_list);
drivers/infiniband/hw/cxgb4/cm.c
2945
cxgb_mk_abort_rpl(rpl_skb, len, ep->hwtid, ep->txq_idx);
drivers/infiniband/hw/cxgb4/cm.c
2947
c4iw_ofld_send(&ep->com.dev->rdev, rpl_skb);
drivers/infiniband/hw/cxgb4/cm.c
2950
release_ep_resources(ep);
drivers/infiniband/hw/cxgb4/cm.c
2951
else if (ep->retry_with_mpa_v1) {
drivers/infiniband/hw/cxgb4/cm.c
2952
if (ep->com.remote_addr.ss_family == AF_INET6) {
drivers/infiniband/hw/cxgb4/cm.c
2955
&ep->com.local_addr;
drivers/infiniband/hw/cxgb4/cm.c
2957
ep->com.dev->rdev.lldi.ports[0],
drivers/infiniband/hw/cxgb4/cm.c
2961
xa_erase_irq(&ep->com.dev->hwtids, ep->hwtid);
drivers/infiniband/hw/cxgb4/cm.c
2962
cxgb4_remove_tid(ep->com.dev->rdev.lldi.tids, 0, ep->hwtid,
drivers/infiniband/hw/cxgb4/cm.c
2963
ep->com.local_addr.ss_family);
drivers/infiniband/hw/cxgb4/cm.c
2964
dst_release(ep->dst);
drivers/infiniband/hw/cxgb4/cm.c
2965
cxgb4_l2t_release(ep->l2t);
drivers/infiniband/hw/cxgb4/cm.c
2966
c4iw_reconnect(ep);
drivers/infiniband/hw/cxgb4/cm.c
2970
c4iw_put_ep(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
2972
c4iw_put_ep(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
2978
struct c4iw_ep *ep;
drivers/infiniband/hw/cxgb4/cm.c
2984
ep = get_ep_from_tid(dev, tid);
drivers/infiniband/hw/cxgb4/cm.c
2985
if (!ep)
drivers/infiniband/hw/cxgb4/cm.c
2988
pr_debug("ep %p tid %u\n", ep, ep->hwtid);
drivers/infiniband/hw/cxgb4/cm.c
2991
mutex_lock(&ep->com.mutex);
drivers/infiniband/hw/cxgb4/cm.c
2992
set_bit(CLOSE_CON_RPL, &ep->com.history);
drivers/infiniband/hw/cxgb4/cm.c
2993
switch (ep->com.state) {
drivers/infiniband/hw/cxgb4/cm.c
2995
__state_set(&ep->com, MORIBUND);
drivers/infiniband/hw/cxgb4/cm.c
2998
(void)stop_ep_timer(ep);
drivers/infiniband/hw/cxgb4/cm.c
2999
if ((ep->com.cm_id) && (ep->com.qp)) {
drivers/infiniband/hw/cxgb4/cm.c
3001
c4iw_modify_qp(ep->com.qp->rhp,
drivers/infiniband/hw/cxgb4/cm.c
3002
ep->com.qp,
drivers/infiniband/hw/cxgb4/cm.c
3006
close_complete_upcall(ep, 0);
drivers/infiniband/hw/cxgb4/cm.c
3007
__state_set(&ep->com, DEAD);
drivers/infiniband/hw/cxgb4/cm.c
3014
WARN_ONCE(1, "Bad endpoint state %u\n", ep->com.state);
drivers/infiniband/hw/cxgb4/cm.c
3017
mutex_unlock(&ep->com.mutex);
drivers/infiniband/hw/cxgb4/cm.c
3019
release_ep_resources(ep);
drivers/infiniband/hw/cxgb4/cm.c
3020
c4iw_put_ep(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
3028
struct c4iw_ep *ep;
drivers/infiniband/hw/cxgb4/cm.c
3031
ep = get_ep_from_tid(dev, tid);
drivers/infiniband/hw/cxgb4/cm.c
3033
if (ep) {
drivers/infiniband/hw/cxgb4/cm.c
3034
if (ep->com.qp) {
drivers/infiniband/hw/cxgb4/cm.c
3036
ep->com.qp->wq.sq.qid);
drivers/infiniband/hw/cxgb4/cm.c
3038
c4iw_modify_qp(ep->com.qp->rhp, ep->com.qp,
drivers/infiniband/hw/cxgb4/cm.c
3045
c4iw_ep_disconnect(ep, 1, GFP_KERNEL);
drivers/infiniband/hw/cxgb4/cm.c
3046
c4iw_put_ep(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
3060
struct c4iw_ep *ep;
drivers/infiniband/hw/cxgb4/cm.c
3066
ep = get_ep_from_tid(dev, tid);
drivers/infiniband/hw/cxgb4/cm.c
3067
if (!ep)
drivers/infiniband/hw/cxgb4/cm.c
3070
ep, ep->hwtid, credits);
drivers/infiniband/hw/cxgb4/cm.c
3073
ep, ep->hwtid, state_read(&ep->com));
drivers/infiniband/hw/cxgb4/cm.c
3077
dst_confirm(ep->dst);
drivers/infiniband/hw/cxgb4/cm.c
3078
if (ep->mpa_skb) {
drivers/infiniband/hw/cxgb4/cm.c
3080
ep, ep->hwtid, state_read(&ep->com),
drivers/infiniband/hw/cxgb4/cm.c
3081
ep->mpa_attr.initiator ? 1 : 0);
drivers/infiniband/hw/cxgb4/cm.c
3082
mutex_lock(&ep->com.mutex);
drivers/infiniband/hw/cxgb4/cm.c
3083
kfree_skb(ep->mpa_skb);
drivers/infiniband/hw/cxgb4/cm.c
3084
ep->mpa_skb = NULL;
drivers/infiniband/hw/cxgb4/cm.c
3085
if (test_bit(STOP_MPA_TIMER, &ep->com.flags))
drivers/infiniband/hw/cxgb4/cm.c
3086
stop_ep_timer(ep);
drivers/infiniband/hw/cxgb4/cm.c
3087
mutex_unlock(&ep->com.mutex);
drivers/infiniband/hw/cxgb4/cm.c
3090
c4iw_put_ep(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
3097
struct c4iw_ep *ep = to_ep(cm_id);
drivers/infiniband/hw/cxgb4/cm.c
3099
pr_debug("ep %p tid %u\n", ep, ep->hwtid);
drivers/infiniband/hw/cxgb4/cm.c
3101
mutex_lock(&ep->com.mutex);
drivers/infiniband/hw/cxgb4/cm.c
3102
if (ep->com.state != MPA_REQ_RCVD) {
drivers/infiniband/hw/cxgb4/cm.c
3103
mutex_unlock(&ep->com.mutex);
drivers/infiniband/hw/cxgb4/cm.c
3104
c4iw_put_ep(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
3107
set_bit(ULP_REJECT, &ep->com.history);
drivers/infiniband/hw/cxgb4/cm.c
3111
abort = send_mpa_reject(ep, pdata, pdata_len);
drivers/infiniband/hw/cxgb4/cm.c
3112
mutex_unlock(&ep->com.mutex);
drivers/infiniband/hw/cxgb4/cm.c
3114
stop_ep_timer(ep);
drivers/infiniband/hw/cxgb4/cm.c
3115
c4iw_ep_disconnect(ep, abort != 0, GFP_KERNEL);
drivers/infiniband/hw/cxgb4/cm.c
3116
c4iw_put_ep(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
3125
struct c4iw_ep *ep = to_ep(cm_id);
drivers/infiniband/hw/cxgb4/cm.c
3130
pr_debug("ep %p tid %u\n", ep, ep->hwtid);
drivers/infiniband/hw/cxgb4/cm.c
3132
mutex_lock(&ep->com.mutex);
drivers/infiniband/hw/cxgb4/cm.c
3133
if (ep->com.state != MPA_REQ_RCVD) {
drivers/infiniband/hw/cxgb4/cm.c
3143
set_bit(ULP_ACCEPT, &ep->com.history);
drivers/infiniband/hw/cxgb4/cm.c
3144
if ((conn_param->ord > cur_max_read_depth(ep->com.dev)) ||
drivers/infiniband/hw/cxgb4/cm.c
3145
(conn_param->ird > cur_max_read_depth(ep->com.dev))) {
drivers/infiniband/hw/cxgb4/cm.c
3150
if (ep->mpa_attr.version == 2 && ep->mpa_attr.enhanced_rdma_conn) {
drivers/infiniband/hw/cxgb4/cm.c
3151
if (conn_param->ord > ep->ird) {
drivers/infiniband/hw/cxgb4/cm.c
3153
conn_param->ord = ep->ird;
drivers/infiniband/hw/cxgb4/cm.c
3155
ep->ird = conn_param->ird;
drivers/infiniband/hw/cxgb4/cm.c
3156
ep->ord = conn_param->ord;
drivers/infiniband/hw/cxgb4/cm.c
3157
send_mpa_reject(ep, conn_param->private_data,
drivers/infiniband/hw/cxgb4/cm.c
3163
if (conn_param->ird < ep->ord) {
drivers/infiniband/hw/cxgb4/cm.c
3165
ep->ord <= h->rdev.lldi.max_ordird_qp) {
drivers/infiniband/hw/cxgb4/cm.c
3166
conn_param->ird = ep->ord;
drivers/infiniband/hw/cxgb4/cm.c
3173
ep->ird = conn_param->ird;
drivers/infiniband/hw/cxgb4/cm.c
3174
ep->ord = conn_param->ord;
drivers/infiniband/hw/cxgb4/cm.c
3176
if (ep->mpa_attr.version == 1) {
drivers/infiniband/hw/cxgb4/cm.c
3177
if (peer2peer && ep->ird == 0)
drivers/infiniband/hw/cxgb4/cm.c
3178
ep->ird = 1;
drivers/infiniband/hw/cxgb4/cm.c
3181
(ep->mpa_attr.p2p_type != FW_RI_INIT_P2PTYPE_DISABLED) &&
drivers/infiniband/hw/cxgb4/cm.c
3182
(p2p_type == FW_RI_INIT_P2PTYPE_READ_REQ) && ep->ird == 0)
drivers/infiniband/hw/cxgb4/cm.c
3183
ep->ird = 1;
drivers/infiniband/hw/cxgb4/cm.c
3186
pr_debug("ird %d ord %d\n", ep->ird, ep->ord);
drivers/infiniband/hw/cxgb4/cm.c
3188
ep->com.cm_id = cm_id;
drivers/infiniband/hw/cxgb4/cm.c
3189
ref_cm_id(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
3190
ep->com.qp = qp;
drivers/infiniband/hw/cxgb4/cm.c
3191
ref_qp(ep);
drivers/infiniband/hw/cxgb4/cm.c
3194
attrs.mpa_attr = ep->mpa_attr;
drivers/infiniband/hw/cxgb4/cm.c
3195
attrs.max_ird = ep->ird;
drivers/infiniband/hw/cxgb4/cm.c
3196
attrs.max_ord = ep->ord;
drivers/infiniband/hw/cxgb4/cm.c
3197
attrs.llp_stream_handle = ep;
drivers/infiniband/hw/cxgb4/cm.c
3207
err = c4iw_modify_qp(ep->com.qp->rhp,
drivers/infiniband/hw/cxgb4/cm.c
3208
ep->com.qp, mask, &attrs, 1);
drivers/infiniband/hw/cxgb4/cm.c
3212
set_bit(STOP_MPA_TIMER, &ep->com.flags);
drivers/infiniband/hw/cxgb4/cm.c
3213
err = send_mpa_reply(ep, conn_param->private_data,
drivers/infiniband/hw/cxgb4/cm.c
3218
__state_set(&ep->com, FPDU_MODE);
drivers/infiniband/hw/cxgb4/cm.c
3219
established_upcall(ep);
drivers/infiniband/hw/cxgb4/cm.c
3220
mutex_unlock(&ep->com.mutex);
drivers/infiniband/hw/cxgb4/cm.c
3221
c4iw_put_ep(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
3224
deref_cm_id(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
3228
mutex_unlock(&ep->com.mutex);
drivers/infiniband/hw/cxgb4/cm.c
3230
c4iw_ep_disconnect(ep, 1, GFP_KERNEL);
drivers/infiniband/hw/cxgb4/cm.c
3231
c4iw_put_ep(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
330
static void remove_ep_tid(struct c4iw_ep *ep)
drivers/infiniband/hw/cxgb4/cm.c
3304
struct c4iw_ep *ep;
drivers/infiniband/hw/cxgb4/cm.c
3318
ep = alloc_ep(sizeof(*ep), GFP_KERNEL);
drivers/infiniband/hw/cxgb4/cm.c
3319
if (!ep) {
drivers/infiniband/hw/cxgb4/cm.c
3325
skb_queue_head_init(&ep->com.ep_skb_list);
drivers/infiniband/hw/cxgb4/cm.c
3326
if (alloc_ep_skb_list(&ep->com.ep_skb_list, CN_MAX_CON_BUF)) {
drivers/infiniband/hw/cxgb4/cm.c
3331
timer_setup(&ep->timer, ep_timeout, 0);
drivers/infiniband/hw/cxgb4/cm.c
3332
ep->plen = conn_param->private_data_len;
drivers/infiniband/hw/cxgb4/cm.c
3333
if (ep->plen)
drivers/infiniband/hw/cxgb4/cm.c
3334
memcpy(ep->mpa_pkt + sizeof(struct mpa_message),
drivers/infiniband/hw/cxgb4/cm.c
3335
conn_param->private_data, ep->plen);
drivers/infiniband/hw/cxgb4/cm.c
3336
ep->ird = conn_param->ird;
drivers/infiniband/hw/cxgb4/cm.c
3337
ep->ord = conn_param->ord;
drivers/infiniband/hw/cxgb4/cm.c
3339
if (peer2peer && ep->ord == 0)
drivers/infiniband/hw/cxgb4/cm.c
334
xa_lock_irqsave(&ep->com.dev->hwtids, flags);
drivers/infiniband/hw/cxgb4/cm.c
3340
ep->ord = 1;
drivers/infiniband/hw/cxgb4/cm.c
3342
ep->com.cm_id = cm_id;
drivers/infiniband/hw/cxgb4/cm.c
3343
ref_cm_id(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
3344
cm_id->provider_data = ep;
drivers/infiniband/hw/cxgb4/cm.c
3345
ep->com.dev = dev;
drivers/infiniband/hw/cxgb4/cm.c
3346
ep->com.qp = get_qhp(dev, conn_param->qpn);
drivers/infiniband/hw/cxgb4/cm.c
3347
if (!ep->com.qp) {
drivers/infiniband/hw/cxgb4/cm.c
335
__xa_erase(&ep->com.dev->hwtids, ep->hwtid);
drivers/infiniband/hw/cxgb4/cm.c
3352
ref_qp(ep);
drivers/infiniband/hw/cxgb4/cm.c
3354
ep->com.qp, cm_id);
drivers/infiniband/hw/cxgb4/cm.c
3359
ep->atid = cxgb4_alloc_atid(dev->rdev.lldi.tids, ep);
drivers/infiniband/hw/cxgb4/cm.c
336
if (xa_empty(&ep->com.dev->hwtids))
drivers/infiniband/hw/cxgb4/cm.c
3360
if (ep->atid == -1) {
drivers/infiniband/hw/cxgb4/cm.c
3365
err = xa_insert_irq(&dev->atids, ep->atid, ep, GFP_KERNEL);
drivers/infiniband/hw/cxgb4/cm.c
3369
memcpy(&ep->com.local_addr, &cm_id->m_local_addr,
drivers/infiniband/hw/cxgb4/cm.c
337
wake_up(&ep->com.dev->wait);
drivers/infiniband/hw/cxgb4/cm.c
3370
sizeof(ep->com.local_addr));
drivers/infiniband/hw/cxgb4/cm.c
3371
memcpy(&ep->com.remote_addr, &cm_id->m_remote_addr,
drivers/infiniband/hw/cxgb4/cm.c
3372
sizeof(ep->com.remote_addr));
drivers/infiniband/hw/cxgb4/cm.c
3374
laddr = (struct sockaddr_in *)&ep->com.local_addr;
drivers/infiniband/hw/cxgb4/cm.c
3375
raddr = (struct sockaddr_in *)&ep->com.remote_addr;
drivers/infiniband/hw/cxgb4/cm.c
3376
laddr6 = (struct sockaddr_in6 *)&ep->com.local_addr;
drivers/infiniband/hw/cxgb4/cm.c
3377
raddr6 = (struct sockaddr_in6 *) &ep->com.remote_addr;
drivers/infiniband/hw/cxgb4/cm.c
338
xa_unlock_irqrestore(&ep->com.dev->hwtids, flags);
drivers/infiniband/hw/cxgb4/cm.c
3396
ep->dst = cxgb_find_route(&dev->rdev.lldi, get_real_dev,
drivers/infiniband/hw/cxgb4/cm.c
341
static int insert_ep_tid(struct c4iw_ep *ep)
drivers/infiniband/hw/cxgb4/cm.c
3419
ep->dst = cxgb_find_route6(&dev->rdev.lldi, get_real_dev,
drivers/infiniband/hw/cxgb4/cm.c
3426
if (!ep->dst) {
drivers/infiniband/hw/cxgb4/cm.c
3432
err = import_ep(ep, iptype, ra, ep->dst, ep->com.dev, true,
drivers/infiniband/hw/cxgb4/cm.c
3433
ep->com.dev->rdev.lldi.adapter_type, cm_id->tos);
drivers/infiniband/hw/cxgb4/cm.c
3440
ep->txq_idx, ep->tx_chan, ep->smac_idx, ep->rss_qid,
drivers/infiniband/hw/cxgb4/cm.c
3441
ep->l2t->idx);
drivers/infiniband/hw/cxgb4/cm.c
3443
state_set(&ep->com, CONNECTING);
drivers/infiniband/hw/cxgb4/cm.c
3444
ep->tos = cm_id->tos;
drivers/infiniband/hw/cxgb4/cm.c
3447
err = send_connect(ep);
drivers/infiniband/hw/cxgb4/cm.c
3451
cxgb4_l2t_release(ep->l2t);
drivers/infiniband/hw/cxgb4/cm.c
3453
dst_release(ep->dst);
drivers/infiniband/hw/cxgb4/cm.c
3455
xa_erase_irq(&ep->com.dev->atids, ep->atid);
drivers/infiniband/hw/cxgb4/cm.c
3457
cxgb4_free_atid(ep->com.dev->rdev.lldi.tids, ep->atid);
drivers/infiniband/hw/cxgb4/cm.c
3459
skb_queue_purge(&ep->com.ep_skb_list);
drivers/infiniband/hw/cxgb4/cm.c
346
xa_lock_irqsave(&ep->com.dev->hwtids, flags);
drivers/infiniband/hw/cxgb4/cm.c
3460
deref_cm_id(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
3462
c4iw_put_ep(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
3467
static int create_server6(struct c4iw_dev *dev, struct c4iw_listen_ep *ep)
drivers/infiniband/hw/cxgb4/cm.c
347
err = __xa_insert(&ep->com.dev->hwtids, ep->hwtid, ep, GFP_KERNEL);
drivers/infiniband/hw/cxgb4/cm.c
3471
&ep->com.local_addr;
drivers/infiniband/hw/cxgb4/cm.c
3474
err = cxgb4_clip_get(ep->com.dev->rdev.lldi.ports[0],
drivers/infiniband/hw/cxgb4/cm.c
3479
c4iw_init_wr_wait(ep->com.wr_waitp);
drivers/infiniband/hw/cxgb4/cm.c
348
xa_unlock_irqrestore(&ep->com.dev->hwtids, flags);
drivers/infiniband/hw/cxgb4/cm.c
3480
err = cxgb4_create_server6(ep->com.dev->rdev.lldi.ports[0],
drivers/infiniband/hw/cxgb4/cm.c
3481
ep->stid, &sin6->sin6_addr,
drivers/infiniband/hw/cxgb4/cm.c
3483
ep->com.dev->rdev.lldi.rxq_ids[0]);
drivers/infiniband/hw/cxgb4/cm.c
3485
err = c4iw_wait_for_reply(&ep->com.dev->rdev,
drivers/infiniband/hw/cxgb4/cm.c
3486
ep->com.wr_waitp,
drivers/infiniband/hw/cxgb4/cm.c
3491
cxgb4_clip_release(ep->com.dev->rdev.lldi.ports[0],
drivers/infiniband/hw/cxgb4/cm.c
3494
err, ep->stid,
drivers/infiniband/hw/cxgb4/cm.c
3500
static int create_server4(struct c4iw_dev *dev, struct c4iw_listen_ep *ep)
drivers/infiniband/hw/cxgb4/cm.c
3504
&ep->com.local_addr;
drivers/infiniband/hw/cxgb4/cm.c
3509
ep->com.dev->rdev.lldi.ports[0], ep->stid,
drivers/infiniband/hw/cxgb4/cm.c
3511
ep->com.dev->rdev.lldi.rxq_ids[0], 0, 0);
drivers/infiniband/hw/cxgb4/cm.c
3513
if (c4iw_fatal_error(&ep->com.dev->rdev)) {
drivers/infiniband/hw/cxgb4/cm.c
3522
c4iw_init_wr_wait(ep->com.wr_waitp);
drivers/infiniband/hw/cxgb4/cm.c
3523
err = cxgb4_create_server(ep->com.dev->rdev.lldi.ports[0],
drivers/infiniband/hw/cxgb4/cm.c
3524
ep->stid, sin->sin_addr.s_addr, sin->sin_port,
drivers/infiniband/hw/cxgb4/cm.c
3525
0, ep->com.dev->rdev.lldi.rxq_ids[0]);
drivers/infiniband/hw/cxgb4/cm.c
3527
err = c4iw_wait_for_reply(&ep->com.dev->rdev,
drivers/infiniband/hw/cxgb4/cm.c
3528
ep->com.wr_waitp,
drivers/infiniband/hw/cxgb4/cm.c
3535
, err, ep->stid,
drivers/infiniband/hw/cxgb4/cm.c
3544
struct c4iw_listen_ep *ep;
drivers/infiniband/hw/cxgb4/cm.c
3548
ep = alloc_ep(sizeof(*ep), GFP_KERNEL);
drivers/infiniband/hw/cxgb4/cm.c
3549
if (!ep) {
drivers/infiniband/hw/cxgb4/cm.c
3554
skb_queue_head_init(&ep->com.ep_skb_list);
drivers/infiniband/hw/cxgb4/cm.c
3555
pr_debug("ep %p\n", ep);
drivers/infiniband/hw/cxgb4/cm.c
3556
ep->com.cm_id = cm_id;
drivers/infiniband/hw/cxgb4/cm.c
3557
ref_cm_id(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
3558
ep->com.dev = dev;
drivers/infiniband/hw/cxgb4/cm.c
3559
ep->backlog = backlog;
drivers/infiniband/hw/cxgb4/cm.c
3560
memcpy(&ep->com.local_addr, &cm_id->m_local_addr,
drivers/infiniband/hw/cxgb4/cm.c
3561
sizeof(ep->com.local_addr));
drivers/infiniband/hw/cxgb4/cm.c
3567
ep->com.local_addr.ss_family == AF_INET)
drivers/infiniband/hw/cxgb4/cm.c
3568
ep->stid = cxgb4_alloc_sftid(dev->rdev.lldi.tids,
drivers/infiniband/hw/cxgb4/cm.c
3569
cm_id->m_local_addr.ss_family, ep);
drivers/infiniband/hw/cxgb4/cm.c
3571
ep->stid = cxgb4_alloc_stid(dev->rdev.lldi.tids,
drivers/infiniband/hw/cxgb4/cm.c
3572
cm_id->m_local_addr.ss_family, ep);
drivers/infiniband/hw/cxgb4/cm.c
3574
if (ep->stid == -1) {
drivers/infiniband/hw/cxgb4/cm.c
3579
err = xa_insert_irq(&dev->stids, ep->stid, ep, GFP_KERNEL);
drivers/infiniband/hw/cxgb4/cm.c
358
struct c4iw_ep *ep;
drivers/infiniband/hw/cxgb4/cm.c
3583
state_set(&ep->com, LISTEN);
drivers/infiniband/hw/cxgb4/cm.c
3584
if (ep->com.local_addr.ss_family == AF_INET)
drivers/infiniband/hw/cxgb4/cm.c
3585
err = create_server4(dev, ep);
drivers/infiniband/hw/cxgb4/cm.c
3587
err = create_server6(dev, ep);
drivers/infiniband/hw/cxgb4/cm.c
3589
cm_id->provider_data = ep;
drivers/infiniband/hw/cxgb4/cm.c
3592
xa_erase_irq(&ep->com.dev->stids, ep->stid);
drivers/infiniband/hw/cxgb4/cm.c
3594
cxgb4_free_stid(ep->com.dev->rdev.lldi.tids, ep->stid,
drivers/infiniband/hw/cxgb4/cm.c
3595
ep->com.local_addr.ss_family);
drivers/infiniband/hw/cxgb4/cm.c
3597
deref_cm_id(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
3598
c4iw_put_ep(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
3607
struct c4iw_listen_ep *ep = to_listen_ep(cm_id);
drivers/infiniband/hw/cxgb4/cm.c
3609
pr_debug("ep %p\n", ep);
drivers/infiniband/hw/cxgb4/cm.c
3612
state_set(&ep->com, DEAD);
drivers/infiniband/hw/cxgb4/cm.c
3613
if (ep->com.dev->rdev.lldi.enable_fw_ofld_conn &&
drivers/infiniband/hw/cxgb4/cm.c
3614
ep->com.local_addr.ss_family == AF_INET) {
drivers/infiniband/hw/cxgb4/cm.c
3616
ep->com.dev->rdev.lldi.ports[0], ep->stid,
drivers/infiniband/hw/cxgb4/cm.c
3617
ep->com.dev->rdev.lldi.rxq_ids[0], false);
drivers/infiniband/hw/cxgb4/cm.c
362
ep = xa_load(&dev->hwtids, tid);
drivers/infiniband/hw/cxgb4/cm.c
3620
c4iw_init_wr_wait(ep->com.wr_waitp);
drivers/infiniband/hw/cxgb4/cm.c
3622
ep->com.dev->rdev.lldi.ports[0], ep->stid,
drivers/infiniband/hw/cxgb4/cm.c
3623
ep->com.dev->rdev.lldi.rxq_ids[0],
drivers/infiniband/hw/cxgb4/cm.c
3624
ep->com.local_addr.ss_family == AF_INET6);
drivers/infiniband/hw/cxgb4/cm.c
3627
err = c4iw_wait_for_reply(&ep->com.dev->rdev, ep->com.wr_waitp,
drivers/infiniband/hw/cxgb4/cm.c
3629
sin6 = (struct sockaddr_in6 *)&ep->com.local_addr;
drivers/infiniband/hw/cxgb4/cm.c
363
if (ep)
drivers/infiniband/hw/cxgb4/cm.c
3630
cxgb4_clip_release(ep->com.dev->rdev.lldi.ports[0],
drivers/infiniband/hw/cxgb4/cm.c
3633
xa_erase_irq(&ep->com.dev->stids, ep->stid);
drivers/infiniband/hw/cxgb4/cm.c
3634
cxgb4_free_stid(ep->com.dev->rdev.lldi.tids, ep->stid,
drivers/infiniband/hw/cxgb4/cm.c
3635
ep->com.local_addr.ss_family);
drivers/infiniband/hw/cxgb4/cm.c
3637
deref_cm_id(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
3638
c4iw_put_ep(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
364
c4iw_get_ep(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
3642
int c4iw_ep_disconnect(struct c4iw_ep *ep, int abrupt, gfp_t gfp)
drivers/infiniband/hw/cxgb4/cm.c
3649
mutex_lock(&ep->com.mutex);
drivers/infiniband/hw/cxgb4/cm.c
3651
pr_debug("ep %p state %s, abrupt %d\n", ep,
drivers/infiniband/hw/cxgb4/cm.c
3652
states[ep->com.state], abrupt);
drivers/infiniband/hw/cxgb4/cm.c
3658
c4iw_get_ep(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
366
return ep;
drivers/infiniband/hw/cxgb4/cm.c
3660
rdev = &ep->com.dev->rdev;
drivers/infiniband/hw/cxgb4/cm.c
3663
close_complete_upcall(ep, -EIO);
drivers/infiniband/hw/cxgb4/cm.c
3664
ep->com.state = DEAD;
drivers/infiniband/hw/cxgb4/cm.c
3666
switch (ep->com.state) {
drivers/infiniband/hw/cxgb4/cm.c
3675
ep->com.state = ABORTING;
drivers/infiniband/hw/cxgb4/cm.c
3677
ep->com.state = CLOSING;
drivers/infiniband/hw/cxgb4/cm.c
3683
if (ep->mpa_skb &&
drivers/infiniband/hw/cxgb4/cm.c
3684
test_bit(STOP_MPA_TIMER, &ep->com.flags)) {
drivers/infiniband/hw/cxgb4/cm.c
3685
clear_bit(STOP_MPA_TIMER, &ep->com.flags);
drivers/infiniband/hw/cxgb4/cm.c
3686
stop_ep_timer(ep);
drivers/infiniband/hw/cxgb4/cm.c
3688
start_ep_timer(ep);
drivers/infiniband/hw/cxgb4/cm.c
3690
set_bit(CLOSE_SENT, &ep->com.flags);
drivers/infiniband/hw/cxgb4/cm.c
3693
if (!test_and_set_bit(CLOSE_SENT, &ep->com.flags)) {
drivers/infiniband/hw/cxgb4/cm.c
3696
(void)stop_ep_timer(ep);
drivers/infiniband/hw/cxgb4/cm.c
3697
ep->com.state = ABORTING;
drivers/infiniband/hw/cxgb4/cm.c
3699
ep->com.state = MORIBUND;
drivers/infiniband/hw/cxgb4/cm.c
3706
ep, ep->com.state);
drivers/infiniband/hw/cxgb4/cm.c
3709
WARN_ONCE(1, "Bad endpoint state %u\n", ep->com.state);
drivers/infiniband/hw/cxgb4/cm.c
3715
set_bit(EP_DISC_ABORT, &ep->com.history);
drivers/infiniband/hw/cxgb4/cm.c
3716
ret = send_abort(ep);
drivers/infiniband/hw/cxgb4/cm.c
3718
set_bit(EP_DISC_CLOSE, &ep->com.history);
drivers/infiniband/hw/cxgb4/cm.c
3719
ret = send_halfclose(ep);
drivers/infiniband/hw/cxgb4/cm.c
3722
set_bit(EP_DISC_FAIL, &ep->com.history);
drivers/infiniband/hw/cxgb4/cm.c
3724
stop_ep_timer(ep);
drivers/infiniband/hw/cxgb4/cm.c
3725
close_complete_upcall(ep, -EIO);
drivers/infiniband/hw/cxgb4/cm.c
3727
if (ep->com.qp) {
drivers/infiniband/hw/cxgb4/cm.c
3731
ret = c4iw_modify_qp(ep->com.qp->rhp,
drivers/infiniband/hw/cxgb4/cm.c
3732
ep->com.qp,
drivers/infiniband/hw/cxgb4/cm.c
3742
mutex_unlock(&ep->com.mutex);
drivers/infiniband/hw/cxgb4/cm.c
3743
c4iw_put_ep(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
3745
release_ep_resources(ep);
drivers/infiniband/hw/cxgb4/cm.c
375
struct c4iw_listen_ep *ep;
drivers/infiniband/hw/cxgb4/cm.c
3752
struct c4iw_ep *ep;
drivers/infiniband/hw/cxgb4/cm.c
3755
ep = (struct c4iw_ep *)lookup_atid(dev->rdev.lldi.tids,
drivers/infiniband/hw/cxgb4/cm.c
3757
if (!ep)
drivers/infiniband/hw/cxgb4/cm.c
3762
set_bit(ACT_RETRY_NOMEM, &ep->com.history);
drivers/infiniband/hw/cxgb4/cm.c
3763
if (ep->retry_count++ < ACT_OPEN_RETRY_COUNT) {
drivers/infiniband/hw/cxgb4/cm.c
3764
send_fw_act_open_req(ep, atid);
drivers/infiniband/hw/cxgb4/cm.c
3769
set_bit(ACT_RETRY_INUSE, &ep->com.history);
drivers/infiniband/hw/cxgb4/cm.c
3770
if (ep->retry_count++ < ACT_OPEN_RETRY_COUNT) {
drivers/infiniband/hw/cxgb4/cm.c
3771
send_fw_act_open_req(ep, atid);
drivers/infiniband/hw/cxgb4/cm.c
3785
connect_reply_upcall(ep, status2errno(req->retval));
drivers/infiniband/hw/cxgb4/cm.c
3786
state_set(&ep->com, DEAD);
drivers/infiniband/hw/cxgb4/cm.c
3787
if (ep->com.remote_addr.ss_family == AF_INET6) {
drivers/infiniband/hw/cxgb4/cm.c
3789
(struct sockaddr_in6 *)&ep->com.local_addr;
drivers/infiniband/hw/cxgb4/cm.c
379
ep = xa_load(&dev->stids, stid);
drivers/infiniband/hw/cxgb4/cm.c
3790
cxgb4_clip_release(ep->com.dev->rdev.lldi.ports[0],
drivers/infiniband/hw/cxgb4/cm.c
3795
dst_release(ep->dst);
drivers/infiniband/hw/cxgb4/cm.c
3796
cxgb4_l2t_release(ep->l2t);
drivers/infiniband/hw/cxgb4/cm.c
3797
c4iw_put_ep(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
380
if (ep)
drivers/infiniband/hw/cxgb4/cm.c
381
c4iw_get_ep(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
383
return ep;
drivers/infiniband/hw/cxgb4/cm.c
3854
struct c4iw_ep *ep;
drivers/infiniband/hw/cxgb4/cm.c
3858
ep = get_ep_from_tid(dev, tid);
drivers/infiniband/hw/cxgb4/cm.c
3859
if (!ep)
drivers/infiniband/hw/cxgb4/cm.c
3872
c4iw_put_ep(&ep->com); /* from get_ep_from_tid() */
drivers/infiniband/hw/cxgb4/cm.c
3873
c4iw_put_ep(&ep->com); /* from read_tcb() */
drivers/infiniband/hw/cxgb4/cm.c
3877
if (++ep->rx_pdu_out_cnt >= 2) {
drivers/infiniband/hw/cxgb4/cm.c
388
struct c4iw_ep *ep;
drivers/infiniband/hw/cxgb4/cm.c
3881
read_tcb(ep);
drivers/infiniband/hw/cxgb4/cm.c
3885
ep->srqe_idx = t4_tcb_get_field32(tcb, TCB_RQ_START_W, TCB_RQ_START_M,
drivers/infiniband/hw/cxgb4/cm.c
3888
pr_debug("ep %p tid %u %016x\n", ep, ep->hwtid, ep->srqe_idx);
drivers/infiniband/hw/cxgb4/cm.c
3890
if (test_bit(PEER_ABORT_IN_PROGRESS, &ep->com.flags))
drivers/infiniband/hw/cxgb4/cm.c
3891
finish_peer_abort(dev, ep);
drivers/infiniband/hw/cxgb4/cm.c
3892
else if (test_bit(ABORT_REQ_IN_PROGRESS, &ep->com.flags))
drivers/infiniband/hw/cxgb4/cm.c
3893
send_abort_req(ep);
drivers/infiniband/hw/cxgb4/cm.c
390
ep = container_of(kref, struct c4iw_ep, com.kref);
drivers/infiniband/hw/cxgb4/cm.c
391
pr_debug("ep %p state %s\n", ep, states[ep->com.state]);
drivers/infiniband/hw/cxgb4/cm.c
392
if (test_bit(QP_REFERENCED, &ep->com.flags))
drivers/infiniband/hw/cxgb4/cm.c
393
deref_qp(ep);
drivers/infiniband/hw/cxgb4/cm.c
394
if (test_bit(RELEASE_RESOURCES, &ep->com.flags)) {
drivers/infiniband/hw/cxgb4/cm.c
395
if (ep->com.remote_addr.ss_family == AF_INET6) {
drivers/infiniband/hw/cxgb4/cm.c
398
&ep->com.local_addr;
drivers/infiniband/hw/cxgb4/cm.c
401
ep->com.dev->rdev.lldi.ports[0],
drivers/infiniband/hw/cxgb4/cm.c
405
cxgb4_remove_tid(ep->com.dev->rdev.lldi.tids, 0, ep->hwtid,
drivers/infiniband/hw/cxgb4/cm.c
406
ep->com.local_addr.ss_family);
drivers/infiniband/hw/cxgb4/cm.c
407
dst_release(ep->dst);
drivers/infiniband/hw/cxgb4/cm.c
408
cxgb4_l2t_release(ep->l2t);
drivers/infiniband/hw/cxgb4/cm.c
409
kfree_skb(ep->mpa_skb);
drivers/infiniband/hw/cxgb4/cm.c
411
if (!skb_queue_empty(&ep->com.ep_skb_list))
drivers/infiniband/hw/cxgb4/cm.c
412
skb_queue_purge(&ep->com.ep_skb_list);
drivers/infiniband/hw/cxgb4/cm.c
413
c4iw_put_wr_wait(ep->com.wr_waitp);
drivers/infiniband/hw/cxgb4/cm.c
414
kfree(ep);
drivers/infiniband/hw/cxgb4/cm.c
417
static void release_ep_resources(struct c4iw_ep *ep)
drivers/infiniband/hw/cxgb4/cm.c
419
set_bit(RELEASE_RESOURCES, &ep->com.flags);
drivers/infiniband/hw/cxgb4/cm.c
4231
static void process_timeout(struct c4iw_ep *ep)
drivers/infiniband/hw/cxgb4/cm.c
4236
mutex_lock(&ep->com.mutex);
drivers/infiniband/hw/cxgb4/cm.c
4237
pr_debug("ep %p tid %u state %d\n", ep, ep->hwtid, ep->com.state);
drivers/infiniband/hw/cxgb4/cm.c
4238
set_bit(TIMEDOUT, &ep->com.history);
drivers/infiniband/hw/cxgb4/cm.c
4239
switch (ep->com.state) {
drivers/infiniband/hw/cxgb4/cm.c
4241
connect_reply_upcall(ep, -ETIMEDOUT);
drivers/infiniband/hw/cxgb4/cm.c
4250
if (ep->com.cm_id && ep->com.qp) {
drivers/infiniband/hw/cxgb4/cm.c
4252
c4iw_modify_qp(ep->com.qp->rhp,
drivers/infiniband/hw/cxgb4/cm.c
4253
ep->com.qp, C4IW_QP_ATTR_NEXT_STATE,
drivers/infiniband/hw/cxgb4/cm.c
4256
close_complete_upcall(ep, -ETIMEDOUT);
drivers/infiniband/hw/cxgb4/cm.c
427
if (ep->hwtid != -1)
drivers/infiniband/hw/cxgb4/cm.c
4270
__func__, ep, ep->hwtid, ep->com.state);
drivers/infiniband/hw/cxgb4/cm.c
4273
mutex_unlock(&ep->com.mutex);
drivers/infiniband/hw/cxgb4/cm.c
4275
c4iw_ep_disconnect(ep, 1, GFP_KERNEL);
drivers/infiniband/hw/cxgb4/cm.c
4276
c4iw_put_ep(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
428
remove_ep_tid(ep);
drivers/infiniband/hw/cxgb4/cm.c
4281
struct c4iw_ep *ep;
drivers/infiniband/hw/cxgb4/cm.c
429
c4iw_put_ep(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
4292
ep = list_entry(tmp, struct c4iw_ep, entry);
drivers/infiniband/hw/cxgb4/cm.c
4293
process_timeout(ep);
drivers/infiniband/hw/cxgb4/cm.c
4330
struct c4iw_ep *ep = timer_container_of(ep, t, timer);
drivers/infiniband/hw/cxgb4/cm.c
4334
if (!test_and_set_bit(TIMEOUT, &ep->com.flags)) {
drivers/infiniband/hw/cxgb4/cm.c
4338
if (!ep->entry.next) {
drivers/infiniband/hw/cxgb4/cm.c
4339
list_add_tail(&ep->entry, &timeout_list);
drivers/infiniband/hw/cxgb4/cm.c
4412
struct c4iw_ep *ep;
drivers/infiniband/hw/cxgb4/cm.c
4415
ep = get_ep_from_tid(dev, tid);
drivers/infiniband/hw/cxgb4/cm.c
4417
if (!ep) {
drivers/infiniband/hw/cxgb4/cm.c
4424
ep->hwtid, req->status,
drivers/infiniband/hw/cxgb4/cm.c
4428
pr_debug("ep %p tid %u state %u\n", ep, ep->hwtid, ep->com.state);
drivers/infiniband/hw/cxgb4/cm.c
4430
c4iw_wake_up_noref(ep->com.wr_waitp, -ECONNRESET);
drivers/infiniband/hw/cxgb4/cm.c
494
struct c4iw_ep *ep;
drivers/infiniband/hw/cxgb4/cm.c
496
ep = *((struct c4iw_ep **)(skb->cb + 2 * sizeof(void *)));
drivers/infiniband/hw/cxgb4/cm.c
497
release_ep_resources(ep);
drivers/infiniband/hw/cxgb4/cm.c
503
struct c4iw_ep *ep;
drivers/infiniband/hw/cxgb4/cm.c
505
ep = *((struct c4iw_ep **)(skb->cb + 2 * sizeof(void *)));
drivers/infiniband/hw/cxgb4/cm.c
506
c4iw_put_ep(&ep->parent_ep->com);
drivers/infiniband/hw/cxgb4/cm.c
507
release_ep_resources(ep);
drivers/infiniband/hw/cxgb4/cm.c
517
static void queue_arp_failure_cpl(struct c4iw_ep *ep, struct sk_buff *skb,
drivers/infiniband/hw/cxgb4/cm.c
529
*((struct c4iw_ep **)(skb->cb + 2 * sizeof(void *))) = ep;
drivers/infiniband/hw/cxgb4/cm.c
530
sched(ep->com.dev, skb);
drivers/infiniband/hw/cxgb4/cm.c
536
struct c4iw_ep *ep = handle;
drivers/infiniband/hw/cxgb4/cm.c
539
ep->hwtid);
drivers/infiniband/hw/cxgb4/cm.c
541
__state_set(&ep->com, DEAD);
drivers/infiniband/hw/cxgb4/cm.c
542
queue_arp_failure_cpl(ep, skb, FAKE_CPL_PASS_PUT_EP_SAFE);
drivers/infiniband/hw/cxgb4/cm.c
550
struct c4iw_ep *ep = handle;
drivers/infiniband/hw/cxgb4/cm.c
553
connect_reply_upcall(ep, -EHOSTUNREACH);
drivers/infiniband/hw/cxgb4/cm.c
554
__state_set(&ep->com, DEAD);
drivers/infiniband/hw/cxgb4/cm.c
555
if (ep->com.remote_addr.ss_family == AF_INET6) {
drivers/infiniband/hw/cxgb4/cm.c
557
(struct sockaddr_in6 *)&ep->com.local_addr;
drivers/infiniband/hw/cxgb4/cm.c
558
cxgb4_clip_release(ep->com.dev->rdev.lldi.ports[0],
drivers/infiniband/hw/cxgb4/cm.c
561
xa_erase_irq(&ep->com.dev->atids, ep->atid);
drivers/infiniband/hw/cxgb4/cm.c
562
cxgb4_free_atid(ep->com.dev->rdev.lldi.tids, ep->atid);
drivers/infiniband/hw/cxgb4/cm.c
563
queue_arp_failure_cpl(ep, skb, FAKE_CPL_PUT_EP_SAFE);
drivers/infiniband/hw/cxgb4/cm.c
573
struct c4iw_ep *ep = handle;
drivers/infiniband/hw/cxgb4/cm.c
574
struct c4iw_rdev *rdev = &ep->com.dev->rdev;
drivers/infiniband/hw/cxgb4/cm.c
582
__state_set(&ep->com, DEAD);
drivers/infiniband/hw/cxgb4/cm.c
583
queue_arp_failure_cpl(ep, skb, FAKE_CPL_PUT_EP_SAFE);
drivers/infiniband/hw/cxgb4/cm.c
588
static int send_flowc(struct c4iw_ep *ep)
drivers/infiniband/hw/cxgb4/cm.c
591
struct sk_buff *skb = skb_dequeue(&ep->com.ep_skb_list);
drivers/infiniband/hw/cxgb4/cm.c
592
u16 vlan = ep->l2t->vlan;
drivers/infiniband/hw/cxgb4/cm.c
614
FW_WR_FLOWID_V(ep->hwtid));
drivers/infiniband/hw/cxgb4/cm.c
618
(ep->com.dev->rdev.lldi.pf));
drivers/infiniband/hw/cxgb4/cm.c
620
flowc->mnemval[1].val = cpu_to_be32(ep->tx_chan);
drivers/infiniband/hw/cxgb4/cm.c
622
flowc->mnemval[2].val = cpu_to_be32(ep->tx_chan);
drivers/infiniband/hw/cxgb4/cm.c
624
flowc->mnemval[3].val = cpu_to_be32(ep->rss_qid);
drivers/infiniband/hw/cxgb4/cm.c
626
flowc->mnemval[4].val = cpu_to_be32(ep->snd_seq);
drivers/infiniband/hw/cxgb4/cm.c
628
flowc->mnemval[5].val = cpu_to_be32(ep->rcv_seq);
drivers/infiniband/hw/cxgb4/cm.c
630
flowc->mnemval[6].val = cpu_to_be32(ep->snd_win);
drivers/infiniband/hw/cxgb4/cm.c
632
flowc->mnemval[7].val = cpu_to_be32(ep->emss);
drivers/infiniband/hw/cxgb4/cm.c
634
flowc->mnemval[8].val = cpu_to_be32(ep->snd_wscale);
drivers/infiniband/hw/cxgb4/cm.c
642
set_wr_txq(skb, CPL_PRIORITY_DATA, ep->txq_idx);
drivers/infiniband/hw/cxgb4/cm.c
643
return c4iw_ofld_send(&ep->com.dev->rdev, skb);
drivers/infiniband/hw/cxgb4/cm.c
646
static int send_halfclose(struct c4iw_ep *ep)
drivers/infiniband/hw/cxgb4/cm.c
648
struct sk_buff *skb = skb_dequeue(&ep->com.ep_skb_list);
drivers/infiniband/hw/cxgb4/cm.c
651
pr_debug("ep %p tid %u\n", ep, ep->hwtid);
drivers/infiniband/hw/cxgb4/cm.c
655
cxgb_mk_close_con_req(skb, wrlen, ep->hwtid, ep->txq_idx,
drivers/infiniband/hw/cxgb4/cm.c
658
return c4iw_l2t_send(&ep->com.dev->rdev, skb, ep->l2t);
drivers/infiniband/hw/cxgb4/cm.c
661
static void read_tcb(struct c4iw_ep *ep)
drivers/infiniband/hw/cxgb4/cm.c
671
set_wr_txq(skb, CPL_PRIORITY_CONTROL, ep->ctrlq_idx);
drivers/infiniband/hw/cxgb4/cm.c
674
INIT_TP_WR(req, ep->hwtid);
drivers/infiniband/hw/cxgb4/cm.c
675
OPCODE_TID(req) = cpu_to_be32(MK_OPCODE_TID(CPL_GET_TCB, ep->hwtid));
drivers/infiniband/hw/cxgb4/cm.c
676
req->reply_ctrl = htons(REPLY_CHAN_V(0) | QUEUENO_V(ep->rss_qid));
drivers/infiniband/hw/cxgb4/cm.c
682
c4iw_get_ep(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
683
if (WARN_ON(c4iw_ofld_send(&ep->com.dev->rdev, skb)))
drivers/infiniband/hw/cxgb4/cm.c
684
c4iw_put_ep(&ep->com);
drivers/infiniband/hw/cxgb4/cm.c
687
static int send_abort_req(struct c4iw_ep *ep)
drivers/infiniband/hw/cxgb4/cm.c
690
struct sk_buff *req_skb = skb_dequeue(&ep->com.ep_skb_list);
drivers/infiniband/hw/cxgb4/cm.c
692
pr_debug("ep %p tid %u\n", ep, ep->hwtid);
drivers/infiniband/hw/cxgb4/cm.c
696
cxgb_mk_abort_req(req_skb, wrlen, ep->hwtid, ep->txq_idx,
drivers/infiniband/hw/cxgb4/cm.c
697
ep, abort_arp_failure);
drivers/infiniband/hw/cxgb4/cm.c
699
return c4iw_l2t_send(&ep->com.dev->rdev, req_skb, ep->l2t);
drivers/infiniband/hw/cxgb4/cm.c
702
static int send_abort(struct c4iw_ep *ep)
drivers/infiniband/hw/cxgb4/cm.c
704
if (!ep->com.qp || !ep->com.qp->srq) {
drivers/infiniband/hw/cxgb4/cm.c
705
send_abort_req(ep);
drivers/infiniband/hw/cxgb4/cm.c
708
set_bit(ABORT_REQ_IN_PROGRESS, &ep->com.flags);
drivers/infiniband/hw/cxgb4/cm.c
709
read_tcb(ep);
drivers/infiniband/hw/cxgb4/cm.c
713
static int send_connect(struct c4iw_ep *ep)
drivers/infiniband/hw/cxgb4/cm.c
728
&ep->com.local_addr;
drivers/infiniband/hw/cxgb4/cm.c
730
&ep->com.remote_addr;
drivers/infiniband/hw/cxgb4/cm.c
732
&ep->com.local_addr;
drivers/infiniband/hw/cxgb4/cm.c
734
&ep->com.remote_addr;
drivers/infiniband/hw/cxgb4/cm.c
736
enum chip_type adapter_type = ep->com.dev->rdev.lldi.adapter_type;
drivers/infiniband/hw/cxgb4/cm.c
741
netdev = ep->com.dev->rdev.lldi.ports[0];
drivers/infiniband/hw/cxgb4/cm.c
762
wrlen = (ep->com.remote_addr.ss_family == AF_INET) ?
drivers/infiniband/hw/cxgb4/cm.c
766
pr_debug("ep %p atid %u\n", ep, ep->atid);
drivers/infiniband/hw/cxgb4/cm.c
773
set_wr_txq(skb, CPL_PRIORITY_SETUP, ep->ctrlq_idx);
drivers/infiniband/hw/cxgb4/cm.c
775
cxgb_best_mtu(ep->com.dev->rdev.lldi.mtus, ep->mtu, &mtu_idx,
drivers/infiniband/hw/cxgb4/cm.c
777
(ep->com.remote_addr.ss_family == AF_INET) ? 0 : 1);
drivers/infiniband/hw/cxgb4/cm.c
784
win = ep->rcv_win >> 10;
drivers/infiniband/hw/cxgb4/cm.c
793
L2T_IDX_V(ep->l2t->idx) |
drivers/infiniband/hw/cxgb4/cm.c
794
TX_CHAN_V(ep->tx_chan) |
drivers/infiniband/hw/cxgb4/cm.c
795
SMAC_SEL_V(ep->smac_idx) |
drivers/infiniband/hw/cxgb4/cm.c
796
DSCP_V(ep->tos >> 2) |
drivers/infiniband/hw/cxgb4/cm.c
801
RSS_QUEUE_VALID_F | RSS_QUEUE_V(ep->rss_qid);
drivers/infiniband/hw/cxgb4/cm.c
817
params = cxgb4_select_ntuple(netdev, ep->l2t);
drivers/infiniband/hw/cxgb4/cm.c
819
if (ep->com.remote_addr.ss_family == AF_INET6)
drivers/infiniband/hw/cxgb4/cm.c
820
cxgb4_clip_get(ep->com.dev->rdev.lldi.ports[0],
drivers/infiniband/hw/cxgb4/cm.c
823
t4_set_arp_err_handler(skb, ep, act_open_req_arp_failure);
drivers/infiniband/hw/cxgb4/cm.c
825
if (ep->com.remote_addr.ss_family == AF_INET) {
drivers/infiniband/hw/cxgb4/cm.c
850
((ep->rss_qid<<14) | ep->atid)));
drivers/infiniband/hw/cxgb4/cm.c
857
if (is_t4(ep->com.dev->rdev.lldi.adapter_type)) {
drivers/infiniband/hw/cxgb4/cm.c
861
if (is_t5(ep->com.dev->rdev.lldi.adapter_type)) {
drivers/infiniband/hw/cxgb4/cm.c
900
((ep->rss_qid<<14)|ep->atid)));
drivers/infiniband/hw/cxgb4/cm.c
909
if (is_t4(ep->com.dev->rdev.lldi.adapter_type)) {
drivers/infiniband/hw/cxgb4/cm.c
911
ep->l2t));
drivers/infiniband/hw/cxgb4/cm.c
914
if (is_t5(ep->com.dev->rdev.lldi.adapter_type)) {
drivers/infiniband/hw/cxgb4/cm.c
931
set_bit(ACT_OPEN_REQ, &ep->com.history);
drivers/infiniband/hw/cxgb4/cm.c
932
ret = c4iw_l2t_send(&ep->com.dev->rdev, skb, ep->l2t);
drivers/infiniband/hw/cxgb4/cm.c
934
if (ret && ep->com.remote_addr.ss_family == AF_INET6)
drivers/infiniband/hw/cxgb4/cm.c
935
cxgb4_clip_release(ep->com.dev->rdev.lldi.ports[0],
drivers/infiniband/hw/cxgb4/cm.c
940
static int send_mpa_req(struct c4iw_ep *ep, struct sk_buff *skb,
drivers/infiniband/hw/cxgb4/cm.c
949
ep, ep->hwtid, ep->plen);
drivers/infiniband/hw/cxgb4/cm.c
951
mpalen = sizeof(*mpa) + ep->plen;
drivers/infiniband/hw/cxgb4/cm.c
957
connect_reply_upcall(ep, -ENOMEM);
drivers/infiniband/hw/cxgb4/cm.c
960
set_wr_txq(skb, CPL_PRIORITY_DATA, ep->txq_idx);
drivers/infiniband/hw/cxgb4/cm.c
968
FW_WR_FLOWID_V(ep->hwtid) |
drivers/infiniband/hw/cxgb4/cm.c
983
ep->mpa_attr.recv_marker_enabled = 1;
drivers/infiniband/hw/cxgb4/cm.c
985
ep->mpa_attr.recv_marker_enabled = 0;
drivers/infiniband/hw/cxgb4/cm.c
990
mpa->private_data_size = htons(ep->plen);
drivers/infiniband/hw/cxgb4/cm.c
993
ep->tried_with_mpa_v1 = 1;
drivers/infiniband/hw/cxgb4/cm.c
994
ep->retry_with_mpa_v1 = 0;
drivers/infiniband/hw/cxgb4/device.c
207
static void set_ep_sin_addrs(struct c4iw_ep *ep,
drivers/infiniband/hw/cxgb4/device.c
213
struct iw_cm_id *id = ep->com.cm_id;
drivers/infiniband/hw/cxgb4/device.c
215
*m_lsin = (struct sockaddr_in *)&ep->com.local_addr;
drivers/infiniband/hw/cxgb4/device.c
216
*m_rsin = (struct sockaddr_in *)&ep->com.remote_addr;
drivers/infiniband/hw/cxgb4/device.c
226
static void set_ep_sin6_addrs(struct c4iw_ep *ep,
drivers/infiniband/hw/cxgb4/device.c
232
struct iw_cm_id *id = ep->com.cm_id;
drivers/infiniband/hw/cxgb4/device.c
234
*m_lsin6 = (struct sockaddr_in6 *)&ep->com.local_addr;
drivers/infiniband/hw/cxgb4/device.c
235
*m_rsin6 = (struct sockaddr_in6 *)&ep->com.remote_addr;
drivers/infiniband/hw/cxgb4/device.c
257
if (qp->ep) {
drivers/infiniband/hw/cxgb4/device.c
258
struct c4iw_ep *ep = qp->ep;
drivers/infiniband/hw/cxgb4/device.c
260
if (ep->com.local_addr.ss_family == AF_INET) {
drivers/infiniband/hw/cxgb4/device.c
266
set_ep_sin_addrs(ep, &lsin, &rsin, &m_lsin, &m_rsin);
drivers/infiniband/hw/cxgb4/device.c
275
ep->hwtid, (int)ep->com.state,
drivers/infiniband/hw/cxgb4/device.c
286
set_ep_sin6_addrs(ep, &lsin6, &rsin6, &m_lsin6,
drivers/infiniband/hw/cxgb4/device.c
295
ep->hwtid, (int)ep->com.state,
drivers/infiniband/hw/cxgb4/device.c
558
static int dump_ep(struct c4iw_ep *ep, struct c4iw_debugfs_data *epd)
drivers/infiniband/hw/cxgb4/device.c
567
if (ep->com.local_addr.ss_family == AF_INET) {
drivers/infiniband/hw/cxgb4/device.c
573
set_ep_sin_addrs(ep, &lsin, &rsin, &m_lsin, &m_rsin);
drivers/infiniband/hw/cxgb4/device.c
579
ep, ep->com.cm_id, ep->com.qp,
drivers/infiniband/hw/cxgb4/device.c
580
(int)ep->com.state, ep->com.flags,
drivers/infiniband/hw/cxgb4/device.c
581
ep->com.history, ep->hwtid, ep->atid,
drivers/infiniband/hw/cxgb4/device.c
582
ep->stats.connect_neg_adv,
drivers/infiniband/hw/cxgb4/device.c
583
ep->stats.abort_neg_adv,
drivers/infiniband/hw/cxgb4/device.c
594
set_ep_sin6_addrs(ep, &lsin6, &rsin6, &m_lsin6, &m_rsin6);
drivers/infiniband/hw/cxgb4/device.c
600
ep, ep->com.cm_id, ep->com.qp,
drivers/infiniband/hw/cxgb4/device.c
601
(int)ep->com.state, ep->com.flags,
drivers/infiniband/hw/cxgb4/device.c
602
ep->com.history, ep->hwtid, ep->atid,
drivers/infiniband/hw/cxgb4/device.c
603
ep->stats.connect_neg_adv,
drivers/infiniband/hw/cxgb4/device.c
604
ep->stats.abort_neg_adv,
drivers/infiniband/hw/cxgb4/device.c
616
int dump_listen_ep(struct c4iw_listen_ep *ep, struct c4iw_debugfs_data *epd)
drivers/infiniband/hw/cxgb4/device.c
625
if (ep->com.local_addr.ss_family == AF_INET) {
drivers/infiniband/hw/cxgb4/device.c
627
&ep->com.cm_id->local_addr;
drivers/infiniband/hw/cxgb4/device.c
629
&ep->com.cm_id->m_local_addr;
drivers/infiniband/hw/cxgb4/device.c
634
ep, ep->com.cm_id, (int)ep->com.state,
drivers/infiniband/hw/cxgb4/device.c
635
ep->com.flags, ep->stid, ep->backlog,
drivers/infiniband/hw/cxgb4/device.c
640
&ep->com.cm_id->local_addr;
drivers/infiniband/hw/cxgb4/device.c
642
&ep->com.cm_id->m_local_addr;
drivers/infiniband/hw/cxgb4/device.c
647
ep, ep->com.cm_id, (int)ep->com.state,
drivers/infiniband/hw/cxgb4/device.c
648
ep->com.flags, ep->stid, ep->backlog,
drivers/infiniband/hw/cxgb4/device.c
671
struct c4iw_ep *ep;
drivers/infiniband/hw/cxgb4/device.c
686
xa_for_each(&epd->devp->hwtids, index, ep)
drivers/infiniband/hw/cxgb4/device.c
688
xa_for_each(&epd->devp->atids, index, ep)
drivers/infiniband/hw/cxgb4/device.c
701
xa_for_each(&epd->devp->hwtids, index, ep)
drivers/infiniband/hw/cxgb4/device.c
702
dump_ep(ep, epd);
drivers/infiniband/hw/cxgb4/device.c
705
xa_for_each(&epd->devp->atids, index, ep)
drivers/infiniband/hw/cxgb4/device.c
706
dump_ep(ep, epd);
drivers/infiniband/hw/cxgb4/iw_cxgb4.h
1040
int c4iw_ep_disconnect(struct c4iw_ep *ep, int abrupt, gfp_t gfp);
drivers/infiniband/hw/cxgb4/iw_cxgb4.h
482
struct c4iw_ep *ep;
drivers/infiniband/hw/cxgb4/iw_cxgb4.h
715
#define c4iw_put_ep(ep) { \
drivers/infiniband/hw/cxgb4/iw_cxgb4.h
717
ep, kref_read(&((ep)->kref))); \
drivers/infiniband/hw/cxgb4/iw_cxgb4.h
718
WARN_ON(kref_read(&((ep)->kref)) < 1); \
drivers/infiniband/hw/cxgb4/iw_cxgb4.h
719
kref_put(&((ep)->kref), _c4iw_free_ep); \
drivers/infiniband/hw/cxgb4/iw_cxgb4.h
722
#define c4iw_get_ep(ep) { \
drivers/infiniband/hw/cxgb4/iw_cxgb4.h
724
ep, kref_read(&((ep)->kref))); \
drivers/infiniband/hw/cxgb4/iw_cxgb4.h
725
kref_get(&((ep)->kref)); \
drivers/infiniband/hw/cxgb4/qp.c
1565
qhp->ep->hwtid);
drivers/infiniband/hw/cxgb4/qp.c
1567
skb = skb_dequeue(&qhp->ep->com.ep_skb_list);
drivers/infiniband/hw/cxgb4/qp.c
1571
set_wr_txq(skb, CPL_PRIORITY_DATA, qhp->ep->txq_idx);
drivers/infiniband/hw/cxgb4/qp.c
1576
FW_WR_FLOWID_V(qhp->ep->hwtid) |
drivers/infiniband/hw/cxgb4/qp.c
1698
struct c4iw_ep *ep)
drivers/infiniband/hw/cxgb4/qp.c
1704
pr_debug("qhp %p qid 0x%x tid %u\n", qhp, qhp->wq.sq.qid, ep->hwtid);
drivers/infiniband/hw/cxgb4/qp.c
1706
skb = skb_dequeue(&ep->com.ep_skb_list);
drivers/infiniband/hw/cxgb4/qp.c
1710
set_wr_txq(skb, CPL_PRIORITY_DATA, ep->txq_idx);
drivers/infiniband/hw/cxgb4/qp.c
1717
FW_WR_FLOWID_V(ep->hwtid) |
drivers/infiniband/hw/cxgb4/qp.c
1719
wqe->cookie = (uintptr_t)ep->com.wr_waitp;
drivers/infiniband/hw/cxgb4/qp.c
1723
ret = c4iw_ref_send_wait(&rhp->rdev, skb, ep->com.wr_waitp,
drivers/infiniband/hw/cxgb4/qp.c
1724
qhp->ep->hwtid, qhp->wq.sq.qid, __func__);
drivers/infiniband/hw/cxgb4/qp.c
1761
qhp->wq.sq.qid, qhp->ep->hwtid, qhp->ep->ird, qhp->ep->ord);
drivers/infiniband/hw/cxgb4/qp.c
1774
set_wr_txq(skb, CPL_PRIORITY_DATA, qhp->ep->txq_idx);
drivers/infiniband/hw/cxgb4/qp.c
1781
FW_WR_FLOWID_V(qhp->ep->hwtid) |
drivers/infiniband/hw/cxgb4/qp.c
1784
wqe->cookie = (uintptr_t)qhp->ep->com.wr_waitp;
drivers/infiniband/hw/cxgb4/qp.c
1821
wqe->u.init.iss = cpu_to_be32(qhp->ep->snd_seq);
drivers/infiniband/hw/cxgb4/qp.c
1822
wqe->u.init.irs = cpu_to_be32(qhp->ep->rcv_seq);
drivers/infiniband/hw/cxgb4/qp.c
1826
ret = c4iw_ref_send_wait(&rhp->rdev, skb, qhp->ep->com.wr_waitp,
drivers/infiniband/hw/cxgb4/qp.c
1827
qhp->ep->hwtid, qhp->wq.sq.qid, __func__);
drivers/infiniband/hw/cxgb4/qp.c
1848
struct c4iw_ep *ep = NULL;
drivers/infiniband/hw/cxgb4/qp.c
1851
qhp, qhp->wq.sq.qid, qhp->wq.rq.qid, qhp->ep, qhp->attr.state,
drivers/infiniband/hw/cxgb4/qp.c
1913
qhp->ep = qhp->attr.llp_stream_handle;
drivers/infiniband/hw/cxgb4/qp.c
1922
c4iw_get_ep(&qhp->ep->com);
drivers/infiniband/hw/cxgb4/qp.c
1941
ep = qhp->ep;
drivers/infiniband/hw/cxgb4/qp.c
1945
c4iw_get_ep(&qhp->ep->com);
drivers/infiniband/hw/cxgb4/qp.c
1947
ret = rdma_fini(rhp, qhp, ep);
drivers/infiniband/hw/cxgb4/qp.c
1956
ep = qhp->ep;
drivers/infiniband/hw/cxgb4/qp.c
1958
c4iw_get_ep(&ep->com);
drivers/infiniband/hw/cxgb4/qp.c
1963
ret = rdma_fini(rhp, qhp, ep);
drivers/infiniband/hw/cxgb4/qp.c
1973
ep = qhp->ep;
drivers/infiniband/hw/cxgb4/qp.c
1974
c4iw_get_ep(&qhp->ep->com);
drivers/infiniband/hw/cxgb4/qp.c
1998
c4iw_put_ep(&qhp->ep->com);
drivers/infiniband/hw/cxgb4/qp.c
1999
qhp->ep = NULL;
drivers/infiniband/hw/cxgb4/qp.c
2035
pr_debug("disassociating ep %p qpid 0x%x\n", qhp->ep,
drivers/infiniband/hw/cxgb4/qp.c
2040
if (!ep)
drivers/infiniband/hw/cxgb4/qp.c
2041
ep = qhp->ep;
drivers/infiniband/hw/cxgb4/qp.c
2042
qhp->ep = NULL;
drivers/infiniband/hw/cxgb4/qp.c
2060
c4iw_ep_disconnect(ep, abort, internal ? GFP_ATOMIC :
drivers/infiniband/hw/cxgb4/qp.c
2062
c4iw_put_ep(&ep->com);
drivers/infiniband/hw/cxgb4/qp.c
2070
c4iw_put_ep(&ep->com);
drivers/infiniband/hw/cxgb4/qp.c
2091
wait_event(qhp->wait, !qhp->ep);
drivers/infiniband/hw/cxgb4/restrack.c
193
struct c4iw_ep ep;
drivers/infiniband/hw/cxgb4/restrack.c
202
struct c4iw_ep *ep = NULL;
drivers/infiniband/hw/cxgb4/restrack.c
228
uep->ep = *(struct c4iw_ep *)epcp;
drivers/infiniband/hw/cxgb4/restrack.c
230
ep = &uep->ep;
drivers/infiniband/hw/cxgb4/restrack.c
231
epcp = &ep->com;
drivers/infiniband/hw/cxgb4/restrack.c
247
if (rdma_nl_put_driver_u32(msg, "hwtid", ep->hwtid))
drivers/infiniband/hw/cxgb4/restrack.c
249
if (rdma_nl_put_driver_u32(msg, "ord", ep->ord))
drivers/infiniband/hw/cxgb4/restrack.c
251
if (rdma_nl_put_driver_u32(msg, "ird", ep->ird))
drivers/infiniband/hw/cxgb4/restrack.c
253
if (rdma_nl_put_driver_u32(msg, "emss", ep->emss))
drivers/infiniband/hw/cxgb4/restrack.c
256
if (!ep->parent_ep && rdma_nl_put_driver_u32(msg, "atid",
drivers/infiniband/hw/cxgb4/restrack.c
257
ep->atid))
drivers/infiniband/hw/qedr/qedr_iw_cm.c
100
kfree(ep);
drivers/infiniband/hw/qedr/qedr_iw_cm.c
109
struct qedr_iw_ep *ep;
drivers/infiniband/hw/qedr/qedr_iw_cm.c
111
ep = kzalloc_obj(*ep, GFP_ATOMIC);
drivers/infiniband/hw/qedr/qedr_iw_cm.c
112
if (!ep)
drivers/infiniband/hw/qedr/qedr_iw_cm.c
115
ep->dev = dev;
drivers/infiniband/hw/qedr/qedr_iw_cm.c
116
ep->qed_context = params->ep_context;
drivers/infiniband/hw/qedr/qedr_iw_cm.c
117
kref_init(&ep->refcnt);
drivers/infiniband/hw/qedr/qedr_iw_cm.c
129
event.provider_data = (void *)ep;
drivers/infiniband/hw/qedr/qedr_iw_cm.c
143
struct qedr_iw_ep *ep = (struct qedr_iw_ep *)context;
drivers/infiniband/hw/qedr/qedr_iw_cm.c
166
if (ep->cm_id)
drivers/infiniband/hw/qedr/qedr_iw_cm.c
167
ep->cm_id->event_handler(ep->cm_id, &event);
drivers/infiniband/hw/qedr/qedr_iw_cm.c
173
struct qedr_iw_ep *ep = (struct qedr_iw_ep *)context;
drivers/infiniband/hw/qedr/qedr_iw_cm.c
175
if (ep->cm_id)
drivers/infiniband/hw/qedr/qedr_iw_cm.c
178
kref_put(&ep->refcnt, qedr_iw_free_ep);
drivers/infiniband/hw/qedr/qedr_iw_cm.c
186
struct qedr_iw_ep *ep = (struct qedr_iw_ep *)context;
drivers/infiniband/hw/qedr/qedr_iw_cm.c
187
struct qedr_dev *dev = ep->dev;
drivers/infiniband/hw/qedr/qedr_iw_cm.c
188
struct ib_qp *ibqp = &ep->qp->ibqp;
drivers/infiniband/hw/qedr/qedr_iw_cm.c
203
struct qedr_iw_ep *ep;
drivers/infiniband/hw/qedr/qedr_iw_cm.c
213
struct qedr_iw_ep *ep = dwork->ep;
drivers/infiniband/hw/qedr/qedr_iw_cm.c
214
struct qedr_dev *dev = ep->dev;
drivers/infiniband/hw/qedr/qedr_iw_cm.c
215
struct qedr_qp *qp = ep->qp;
drivers/infiniband/hw/qedr/qedr_iw_cm.c
239
if (ep->cm_id)
drivers/infiniband/hw/qedr/qedr_iw_cm.c
240
ep->cm_id->event_handler(ep->cm_id, &event);
drivers/infiniband/hw/qedr/qedr_iw_cm.c
247
complete(&ep->qp->iwarp_cm_comp);
drivers/infiniband/hw/qedr/qedr_iw_cm.c
250
kref_put(&ep->refcnt, qedr_iw_free_ep);
drivers/infiniband/hw/qedr/qedr_iw_cm.c
258
struct qedr_iw_ep *ep = (struct qedr_iw_ep *)context;
drivers/infiniband/hw/qedr/qedr_iw_cm.c
259
struct qedr_dev *dev = ep->dev;
drivers/infiniband/hw/qedr/qedr_iw_cm.c
269
kref_get(&ep->refcnt);
drivers/infiniband/hw/qedr/qedr_iw_cm.c
271
work->ep = ep;
drivers/infiniband/hw/qedr/qedr_iw_cm.c
283
struct qedr_iw_ep *ep = (struct qedr_iw_ep *)context;
drivers/infiniband/hw/qedr/qedr_iw_cm.c
284
struct qedr_dev *dev = ep->dev;
drivers/infiniband/hw/qedr/qedr_iw_cm.c
289
if ((params->status == -ECONNREFUSED) && (!ep->qp)) {
drivers/infiniband/hw/qedr/qedr_iw_cm.c
292
kref_put(&ep->refcnt, qedr_iw_free_ep);
drivers/infiniband/hw/qedr/qedr_iw_cm.c
296
complete(&ep->qp->iwarp_cm_comp);
drivers/infiniband/hw/qedr/qedr_iw_cm.c
307
struct qedr_iw_ep *ep = (struct qedr_iw_ep *)context;
drivers/infiniband/hw/qedr/qedr_iw_cm.c
309
complete(&ep->qp->iwarp_cm_comp);
drivers/infiniband/hw/qedr/qedr_iw_cm.c
313
kref_put(&ep->refcnt, qedr_iw_free_ep);
drivers/infiniband/hw/qedr/qedr_iw_cm.c
319
struct qedr_iw_ep *ep = (struct qedr_iw_ep *)context;
drivers/infiniband/hw/qedr/qedr_iw_cm.c
320
struct qedr_dev *dev = ep->dev;
drivers/infiniband/hw/qedr/qedr_iw_cm.c
331
struct qedr_iw_ep *ep = (struct qedr_iw_ep *)context;
drivers/infiniband/hw/qedr/qedr_iw_cm.c
332
struct qedr_dev *dev = ep->dev;
drivers/infiniband/hw/qedr/qedr_iw_cm.c
542
struct qedr_iw_ep *ep;
drivers/infiniband/hw/qedr/qedr_iw_cm.c
563
ep = kzalloc_obj(*ep);
drivers/infiniband/hw/qedr/qedr_iw_cm.c
564
if (!ep)
drivers/infiniband/hw/qedr/qedr_iw_cm.c
567
ep->dev = dev;
drivers/infiniband/hw/qedr/qedr_iw_cm.c
568
kref_init(&ep->refcnt);
drivers/infiniband/hw/qedr/qedr_iw_cm.c
576
ep->qp = qp;
drivers/infiniband/hw/qedr/qedr_iw_cm.c
578
ep->cm_id = cm_id;
drivers/infiniband/hw/qedr/qedr_iw_cm.c
581
in_params.cb_context = ep;
drivers/infiniband/hw/qedr/qedr_iw_cm.c
654
kref_put(&ep->refcnt, qedr_iw_free_ep);
drivers/infiniband/hw/qedr/qedr_iw_cm.c
739
struct qedr_iw_ep *ep = (struct qedr_iw_ep *)cm_id->provider_data;
drivers/infiniband/hw/qedr/qedr_iw_cm.c
740
struct qedr_dev *dev = ep->dev;
drivers/infiniband/hw/qedr/qedr_iw_cm.c
753
ep->qp = qp;
drivers/infiniband/hw/qedr/qedr_iw_cm.c
755
ep->cm_id = cm_id;
drivers/infiniband/hw/qedr/qedr_iw_cm.c
757
params.ep_context = ep->qed_context;
drivers/infiniband/hw/qedr/qedr_iw_cm.c
758
params.cb_context = ep;
drivers/infiniband/hw/qedr/qedr_iw_cm.c
759
params.qp = ep->qp->qed_qp;
drivers/infiniband/hw/qedr/qedr_iw_cm.c
780
kref_put(&ep->refcnt, qedr_iw_free_ep);
drivers/infiniband/hw/qedr/qedr_iw_cm.c
787
struct qedr_iw_ep *ep = (struct qedr_iw_ep *)cm_id->provider_data;
drivers/infiniband/hw/qedr/qedr_iw_cm.c
788
struct qedr_dev *dev = ep->dev;
drivers/infiniband/hw/qedr/qedr_iw_cm.c
791
params.ep_context = ep->qed_context;
drivers/infiniband/hw/qedr/qedr_iw_cm.c
792
params.cb_context = ep;
drivers/infiniband/hw/qedr/qedr_iw_cm.c
795
ep->qp = NULL;
drivers/infiniband/hw/qedr/qedr_iw_cm.c
92
struct qedr_iw_ep *ep = container_of(ref, struct qedr_iw_ep, refcnt);
drivers/infiniband/hw/qedr/qedr_iw_cm.c
94
if (ep->qp)
drivers/infiniband/hw/qedr/qedr_iw_cm.c
95
kref_put(&ep->qp->refcnt, qedr_iw_free_qp);
drivers/infiniband/hw/qedr/qedr_iw_cm.c
97
if (ep->cm_id)
drivers/infiniband/hw/qedr/qedr_iw_cm.c
98
ep->cm_id->rem_ref(ep->cm_id);
drivers/infiniband/ulp/iser/iscsi_iser.c
454
struct iscsi_endpoint *ep;
drivers/infiniband/ulp/iser/iscsi_iser.c
463
ep = iscsi_lookup_endpoint(transport_eph);
drivers/infiniband/ulp/iser/iscsi_iser.c
464
if (!ep) {
drivers/infiniband/ulp/iser/iscsi_iser.c
469
iser_conn = ep->dd_data;
drivers/infiniband/ulp/iser/iscsi_iser.c
492
iscsi_put_endpoint(ep);
drivers/infiniband/ulp/iser/iscsi_iser.c
600
iscsi_iser_session_create(struct iscsi_endpoint *ep,
drivers/infiniband/ulp/iser/iscsi_iser.c
625
if (ep) {
drivers/infiniband/ulp/iser/iscsi_iser.c
626
iser_conn = ep->dd_data;
drivers/infiniband/ulp/iser/iscsi_iser.c
758
static int iscsi_iser_get_ep_param(struct iscsi_endpoint *ep,
drivers/infiniband/ulp/iser/iscsi_iser.c
761
struct iser_conn *iser_conn = ep->dd_data;
drivers/infiniband/ulp/iser/iscsi_iser.c
799
struct iscsi_endpoint *ep;
drivers/infiniband/ulp/iser/iscsi_iser.c
801
ep = iscsi_create_endpoint(0);
drivers/infiniband/ulp/iser/iscsi_iser.c
802
if (!ep)
drivers/infiniband/ulp/iser/iscsi_iser.c
811
ep->dd_data = iser_conn;
drivers/infiniband/ulp/iser/iscsi_iser.c
812
iser_conn->ep = ep;
drivers/infiniband/ulp/iser/iscsi_iser.c
819
return ep;
drivers/infiniband/ulp/iser/iscsi_iser.c
821
iscsi_destroy_endpoint(ep);
drivers/infiniband/ulp/iser/iscsi_iser.c
838
static int iscsi_iser_ep_poll(struct iscsi_endpoint *ep, int timeout_ms)
drivers/infiniband/ulp/iser/iscsi_iser.c
840
struct iser_conn *iser_conn = ep->dd_data;
drivers/infiniband/ulp/iser/iscsi_iser.c
873
static void iscsi_iser_ep_disconnect(struct iscsi_endpoint *ep)
drivers/infiniband/ulp/iser/iscsi_iser.c
875
struct iser_conn *iser_conn = ep->dd_data;
drivers/infiniband/ulp/iser/iscsi_iser.c
877
iser_info("ep %p iser conn %p\n", ep, iser_conn);
drivers/infiniband/ulp/iser/iscsi_iser.c
898
iscsi_destroy_endpoint(ep);
drivers/infiniband/ulp/iser/iscsi_iser.h
406
struct iscsi_endpoint *ep;
drivers/infiniband/ulp/iser/iser_verbs.c
414
iscsi_destroy_endpoint(iser_conn->ep);
drivers/input/joystick/xpad.c
2150
struct usb_endpoint_descriptor *ep =
drivers/input/joystick/xpad.c
2153
if (usb_endpoint_xfer_int(ep)) {
drivers/input/joystick/xpad.c
2154
if (usb_endpoint_dir_in(ep))
drivers/input/joystick/xpad.c
2155
ep_irq_in = ep;
drivers/input/joystick/xpad.c
2157
ep_irq_out = ep;
drivers/input/misc/ati_remote2.c
187
struct usb_endpoint_descriptor *ep[2];
drivers/input/misc/ati_remote2.c
612
pipe = usb_rcvintpipe(udev, ar2->ep[i]->bEndpointAddress);
drivers/input/misc/ati_remote2.c
618
ar2, ar2->ep[i]->bInterval);
drivers/input/misc/ati_remote2.c
789
ar2->ep[0] = &alt->endpoint[0].desc;
drivers/input/misc/ati_remote2.c
812
ar2->ep[1] = &alt->endpoint[0].desc;
drivers/input/mouse/synaptics_usb.c
295
struct usb_endpoint_descriptor *ep;
drivers/input/mouse/synaptics_usb.c
310
ep = synusb_get_in_endpoint(intf->cur_altsetting);
drivers/input/mouse/synaptics_usb.c
311
if (!ep)
drivers/input/mouse/synaptics_usb.c
350
usb_rcvintpipe(udev, ep->bEndpointAddress),
drivers/input/mouse/synaptics_usb.c
353
ep->bInterval);
drivers/interconnect/mediatek/icc-emi.c
48
switch (node->ep) {
drivers/interconnect/mediatek/icc-emi.c
72
dev_err(src->provider->dev, "Unknown endpoint %u\n", node->ep);
drivers/interconnect/mediatek/icc-emi.h
23
int ep;
drivers/interconnect/mediatek/mt8183.c
21
.ep = 1,
drivers/interconnect/mediatek/mt8183.c
27
.ep = 0,
drivers/interconnect/mediatek/mt8183.c
35
.ep = 0,
drivers/interconnect/mediatek/mt8183.c
43
.ep = 0,
drivers/interconnect/mediatek/mt8183.c
51
.ep = 0,
drivers/interconnect/mediatek/mt8183.c
59
.ep = 0,
drivers/interconnect/mediatek/mt8183.c
67
.ep = 0,
drivers/interconnect/mediatek/mt8183.c
75
.ep = 0,
drivers/interconnect/mediatek/mt8183.c
83
.ep = 0,
drivers/interconnect/mediatek/mt8183.c
91
.ep = 0,
drivers/interconnect/mediatek/mt8183.c
99
.ep = 0,
drivers/interconnect/mediatek/mt8195.c
107
.ep = 0,
drivers/interconnect/mediatek/mt8195.c
115
.ep = 0,
drivers/interconnect/mediatek/mt8195.c
123
.ep = 0,
drivers/interconnect/mediatek/mt8195.c
131
.ep = 0,
drivers/interconnect/mediatek/mt8195.c
139
.ep = 0,
drivers/interconnect/mediatek/mt8195.c
147
.ep = 0,
drivers/interconnect/mediatek/mt8195.c
155
.ep = 0,
drivers/interconnect/mediatek/mt8195.c
163
.ep = 0,
drivers/interconnect/mediatek/mt8195.c
171
.ep = 0,
drivers/interconnect/mediatek/mt8195.c
179
.ep = 0,
drivers/interconnect/mediatek/mt8195.c
187
.ep = 0,
drivers/interconnect/mediatek/mt8195.c
195
.ep = 0,
drivers/interconnect/mediatek/mt8195.c
203
.ep = 0,
drivers/interconnect/mediatek/mt8195.c
21
.ep = 1,
drivers/interconnect/mediatek/mt8195.c
211
.ep = 2,
drivers/interconnect/mediatek/mt8195.c
217
.ep = 0,
drivers/interconnect/mediatek/mt8195.c
225
.ep = 0,
drivers/interconnect/mediatek/mt8195.c
233
.ep = 0,
drivers/interconnect/mediatek/mt8195.c
241
.ep = 0,
drivers/interconnect/mediatek/mt8195.c
249
.ep = 0,
drivers/interconnect/mediatek/mt8195.c
257
.ep = 0,
drivers/interconnect/mediatek/mt8195.c
265
.ep = 0,
drivers/interconnect/mediatek/mt8195.c
27
.ep = 0,
drivers/interconnect/mediatek/mt8195.c
273
.ep = 0,
drivers/interconnect/mediatek/mt8195.c
35
.ep = 0,
drivers/interconnect/mediatek/mt8195.c
43
.ep = 0,
drivers/interconnect/mediatek/mt8195.c
51
.ep = 0,
drivers/interconnect/mediatek/mt8195.c
59
.ep = 0,
drivers/interconnect/mediatek/mt8195.c
67
.ep = 0,
drivers/interconnect/mediatek/mt8195.c
75
.ep = 0,
drivers/interconnect/mediatek/mt8195.c
83
.ep = 0,
drivers/interconnect/mediatek/mt8195.c
91
.ep = 0,
drivers/interconnect/mediatek/mt8195.c
99
.ep = 0,
drivers/interconnect/mediatek/mt8196.c
106
.ep = 0,
drivers/interconnect/mediatek/mt8196.c
114
.ep = 0,
drivers/interconnect/mediatek/mt8196.c
122
.ep = 0,
drivers/interconnect/mediatek/mt8196.c
130
.ep = 0,
drivers/interconnect/mediatek/mt8196.c
138
.ep = 0,
drivers/interconnect/mediatek/mt8196.c
146
.ep = 0,
drivers/interconnect/mediatek/mt8196.c
154
.ep = 0,
drivers/interconnect/mediatek/mt8196.c
162
.ep = 0,
drivers/interconnect/mediatek/mt8196.c
170
.ep = 0,
drivers/interconnect/mediatek/mt8196.c
178
.ep = 0,
drivers/interconnect/mediatek/mt8196.c
186
.ep = 0,
drivers/interconnect/mediatek/mt8196.c
194
.ep = 0,
drivers/interconnect/mediatek/mt8196.c
20
.ep = 1,
drivers/interconnect/mediatek/mt8196.c
202
.ep = 0,
drivers/interconnect/mediatek/mt8196.c
210
.ep = 0,
drivers/interconnect/mediatek/mt8196.c
218
.ep = 0,
drivers/interconnect/mediatek/mt8196.c
226
.ep = 0,
drivers/interconnect/mediatek/mt8196.c
234
.ep = 0,
drivers/interconnect/mediatek/mt8196.c
242
.ep = 2,
drivers/interconnect/mediatek/mt8196.c
248
.ep = 0,
drivers/interconnect/mediatek/mt8196.c
256
.ep = 0,
drivers/interconnect/mediatek/mt8196.c
26
.ep = 0,
drivers/interconnect/mediatek/mt8196.c
264
.ep = 0,
drivers/interconnect/mediatek/mt8196.c
272
.ep = 0,
drivers/interconnect/mediatek/mt8196.c
280
.ep = 0,
drivers/interconnect/mediatek/mt8196.c
288
.ep = 0,
drivers/interconnect/mediatek/mt8196.c
296
.ep = 0,
drivers/interconnect/mediatek/mt8196.c
304
.ep = 0,
drivers/interconnect/mediatek/mt8196.c
312
.ep = 0,
drivers/interconnect/mediatek/mt8196.c
34
.ep = 0,
drivers/interconnect/mediatek/mt8196.c
42
.ep = 0,
drivers/interconnect/mediatek/mt8196.c
50
.ep = 0,
drivers/interconnect/mediatek/mt8196.c
58
.ep = 0,
drivers/interconnect/mediatek/mt8196.c
66
.ep = 0,
drivers/interconnect/mediatek/mt8196.c
74
.ep = 0,
drivers/interconnect/mediatek/mt8196.c
82
.ep = 0,
drivers/interconnect/mediatek/mt8196.c
90
.ep = 0,
drivers/interconnect/mediatek/mt8196.c
98
.ep = 0,
drivers/isdn/hardware/mISDN/hfcsusb.c
1918
struct usb_host_endpoint *ep;
drivers/isdn/hardware/mISDN/hfcsusb.c
1963
ep = iface->endpoint;
drivers/isdn/hardware/mISDN/hfcsusb.c
1968
ep_addr = ep->desc.bEndpointAddress;
drivers/isdn/hardware/mISDN/hfcsusb.c
1977
attr = ep->desc.bmAttributes;
drivers/isdn/hardware/mISDN/hfcsusb.c
1993
ep->desc.bInterval < vcf[17]) {
drivers/isdn/hardware/mISDN/hfcsusb.c
1997
ep++;
drivers/isdn/hardware/mISDN/hfcsusb.c
2026
ep = iface->endpoint;
drivers/isdn/hardware/mISDN/hfcsusb.c
2032
ep_addr = ep->desc.bEndpointAddress;
drivers/isdn/hardware/mISDN/hfcsusb.c
2041
ep++;
drivers/isdn/hardware/mISDN/hfcsusb.c
2044
switch (ep->desc.bmAttributes) {
drivers/isdn/hardware/mISDN/hfcsusb.c
2047
ep->desc.bEndpointAddress);
drivers/isdn/hardware/mISDN/hfcsusb.c
2049
packet_size = le16_to_cpu(ep->desc.wMaxPacketSize);
drivers/isdn/hardware/mISDN/hfcsusb.c
2054
ep->desc.bEndpointAddress);
drivers/isdn/hardware/mISDN/hfcsusb.c
2057
ep->desc.bEndpointAddress);
drivers/isdn/hardware/mISDN/hfcsusb.c
2059
packet_size = le16_to_cpu(ep->desc.wMaxPacketSize);
drivers/isdn/hardware/mISDN/hfcsusb.c
2064
ep->desc.bEndpointAddress);
drivers/isdn/hardware/mISDN/hfcsusb.c
2067
ep->desc.bEndpointAddress);
drivers/isdn/hardware/mISDN/hfcsusb.c
2069
iso_packet_size = le16_to_cpu(ep->desc.wMaxPacketSize);
drivers/isdn/hardware/mISDN/hfcsusb.c
2079
le16_to_cpu(ep->desc.wMaxPacketSize);
drivers/isdn/hardware/mISDN/hfcsusb.c
2080
f->intervall = ep->desc.bInterval;
drivers/isdn/hardware/mISDN/hfcsusb.c
2082
ep++;
drivers/media/i2c/adv748x/adv748x-core.c
610
struct device_node *ep)
drivers/media/i2c/adv748x/adv748x-core.c
619
ret = v4l2_fwnode_endpoint_parse(of_fwnode_handle(ep), &vep);
drivers/media/i2c/adv748x/adv748x-core.c
655
struct of_endpoint ep;
drivers/media/i2c/adv748x/adv748x-core.c
661
of_graph_parse_endpoint(ep_np, &ep);
drivers/media/i2c/adv748x/adv748x-core.c
662
adv_info(state, "Endpoint %pOF on port %d", ep.local_node,
drivers/media/i2c/adv748x/adv748x-core.c
663
ep.port);
drivers/media/i2c/adv748x/adv748x-core.c
665
if (ep.port >= ADV748X_PORT_MAX) {
drivers/media/i2c/adv748x/adv748x-core.c
667
ep.local_node, ep.port);
drivers/media/i2c/adv748x/adv748x-core.c
672
if (state->endpoints[ep.port]) {
drivers/media/i2c/adv748x/adv748x-core.c
679
state->endpoints[ep.port] = ep_np;
drivers/media/i2c/adv748x/adv748x-core.c
685
if (ep.port < ADV748X_PORT_TXA)
drivers/media/i2c/adv748x/adv748x-core.c
691
ret = adv748x_parse_csi2_lanes(state, ep.port, ep_np);
drivers/media/i2c/alvium-csi2.c
2323
v4l2_fwnode_endpoint_free(&alvium->ep);
drivers/media/i2c/alvium-csi2.c
2339
alvium->ep.bus_type = V4L2_MBUS_CSI2_DPHY;
drivers/media/i2c/alvium-csi2.c
2347
if (v4l2_fwnode_endpoint_alloc_parse(endpoint, &alvium->ep)) {
drivers/media/i2c/alvium-csi2.c
2352
if (!alvium->ep.nr_of_link_frequencies) {
drivers/media/i2c/alvium-csi2.c
2360
v4l2_fwnode_endpoint_free(&alvium->ep);
drivers/media/i2c/alvium-csi2.c
575
num_lanes = alvium->ep.bus.mipi_csi2.num_data_lanes;
drivers/media/i2c/alvium-csi2.c
637
csi_clk = clamp(alvium->ep.link_frequencies[0],
drivers/media/i2c/alvium-csi2.c
640
if (alvium->ep.link_frequencies[0] != (u64)csi_clk) {
drivers/media/i2c/alvium-csi2.c
643
alvium->ep.link_frequencies[0],
drivers/media/i2c/alvium-csi2.h
381
struct v4l2_fwnode_endpoint ep;
drivers/media/i2c/ar0521.c
1032
struct v4l2_fwnode_endpoint ep = {
drivers/media/i2c/ar0521.c
1056
ret = v4l2_fwnode_endpoint_parse(endpoint, &ep);
drivers/media/i2c/ar0521.c
1063
if (ep.bus_type != V4L2_MBUS_CSI2_DPHY) {
drivers/media/i2c/ar0521.c
1068
sensor->lane_count = ep.bus.mipi_csi2.num_data_lanes;
drivers/media/i2c/ccs/ccs-core.c
3152
struct fwnode_handle *fwnode = dev_fwnode(dev), *ep;
drivers/media/i2c/ccs/ccs-core.c
3156
ep = fwnode_graph_get_endpoint_by_id(fwnode, 0, 0,
drivers/media/i2c/ccs/ccs-core.c
3158
if (!ep)
drivers/media/i2c/ccs/ccs-core.c
3165
rval = v4l2_fwnode_endpoint_alloc_parse(ep, &bus_cfg);
drivers/media/i2c/ccs/ccs-core.c
3218
fwnode_handle_put(ep);
drivers/media/i2c/gc0308.c
1206
struct fwnode_handle *ep;
drivers/media/i2c/gc0308.c
1209
ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(dev), 0, 0, 0);
drivers/media/i2c/gc0308.c
1210
if (!ep)
drivers/media/i2c/gc0308.c
1213
ret = v4l2_fwnode_endpoint_parse(ep, &bus_cfg);
drivers/media/i2c/gc0308.c
1214
fwnode_handle_put(ep);
drivers/media/i2c/hi556.c
1211
struct fwnode_handle *ep;
drivers/media/i2c/hi556.c
1223
ep = fwnode_graph_get_next_endpoint(fwnode, NULL);
drivers/media/i2c/hi556.c
1224
if (!ep)
drivers/media/i2c/hi556.c
1228
ret = v4l2_fwnode_endpoint_alloc_parse(ep, &bus_cfg);
drivers/media/i2c/hi556.c
1229
fwnode_handle_put(ep);
drivers/media/i2c/hi846.c
1949
struct v4l2_fwnode_endpoint *ep)
drivers/media/i2c/hi846.c
1956
for (j = 0; j < ep->nr_of_link_frequencies; j++)
drivers/media/i2c/hi846.c
1957
if (freqs[i] == ep->link_frequencies[j])
drivers/media/i2c/hi846.c
1959
if (j == ep->nr_of_link_frequencies)
drivers/media/i2c/hi846.c
1968
struct fwnode_handle *ep;
drivers/media/i2c/hi846.c
1976
ep = fwnode_graph_get_next_endpoint(fwnode, NULL);
drivers/media/i2c/hi846.c
1977
if (!ep) {
drivers/media/i2c/hi846.c
1982
ret = v4l2_fwnode_endpoint_alloc_parse(ep, &bus_cfg);
drivers/media/i2c/hi846.c
1983
fwnode_handle_put(ep);
drivers/media/i2c/hi847.c
2789
struct fwnode_handle *ep;
drivers/media/i2c/hi847.c
2800
ep = fwnode_graph_get_next_endpoint(fwnode, NULL);
drivers/media/i2c/hi847.c
2801
if (!ep)
drivers/media/i2c/hi847.c
2804
ret = v4l2_fwnode_endpoint_alloc_parse(ep, &bus_cfg);
drivers/media/i2c/hi847.c
2805
fwnode_handle_put(ep);
drivers/media/i2c/imx111.c
1436
struct fwnode_handle *ep;
drivers/media/i2c/imx111.c
1439
ep = fwnode_graph_get_next_endpoint(fwnode, NULL);
drivers/media/i2c/imx111.c
1440
if (!ep) {
drivers/media/i2c/imx111.c
1445
ret = v4l2_fwnode_endpoint_alloc_parse(ep, &sensor->bus_cfg);
drivers/media/i2c/imx111.c
1446
fwnode_handle_put(ep);
drivers/media/i2c/imx258.c
1354
struct v4l2_fwnode_endpoint ep = {
drivers/media/i2c/imx258.c
1407
ret = v4l2_fwnode_endpoint_alloc_parse(endpoint, &ep);
drivers/media/i2c/imx258.c
1415
ep.link_frequencies,
drivers/media/i2c/imx258.c
1416
ep.nr_of_link_frequencies,
drivers/media/i2c/imx258.c
1426
switch (ep.bus.mipi_csi2.num_data_lanes) {
drivers/media/i2c/imx258.c
1435
ep.bus.mipi_csi2.num_data_lanes);
drivers/media/i2c/imx258.c
1440
imx258->csi2_flags = ep.bus.mipi_csi2.flags;
drivers/media/i2c/imx258.c
1485
v4l2_fwnode_endpoint_free(&ep);
drivers/media/i2c/imx258.c
1499
v4l2_fwnode_endpoint_free(&ep);
drivers/media/i2c/imx274.c
1963
struct v4l2_fwnode_endpoint ep = {
drivers/media/i2c/imx274.c
1974
ret = v4l2_fwnode_endpoint_parse(endpoint, &ep);
drivers/media/i2c/imx274.c
1985
if (ep.bus.mipi_csi2.num_data_lanes != 4) {
drivers/media/i2c/imx274.c
1987
ep.bus.mipi_csi2.num_data_lanes);
drivers/media/i2c/imx283.c
1406
struct fwnode_handle *ep;
drivers/media/i2c/imx283.c
1410
ep = fwnode_graph_get_next_endpoint(fwnode, NULL);
drivers/media/i2c/imx283.c
1411
if (!ep) {
drivers/media/i2c/imx283.c
1416
ret = v4l2_fwnode_endpoint_alloc_parse(ep, &bus_cfg);
drivers/media/i2c/imx283.c
1417
fwnode_handle_put(ep);
drivers/media/i2c/imx290.c
1457
const struct v4l2_fwnode_endpoint *ep)
drivers/media/i2c/imx290.c
1464
for (j = 0; j < ep->nr_of_link_frequencies; j++)
drivers/media/i2c/imx290.c
1465
if (freqs[i] == ep->link_frequencies[j])
drivers/media/i2c/imx290.c
1467
if (j == ep->nr_of_link_frequencies)
drivers/media/i2c/imx290.c
1514
struct v4l2_fwnode_endpoint ep = {
drivers/media/i2c/imx290.c
1529
ret = v4l2_fwnode_endpoint_alloc_parse(endpoint, &ep);
drivers/media/i2c/imx290.c
1540
imx290->nlanes = ep.bus.mipi_csi2.num_data_lanes;
drivers/media/i2c/imx290.c
1549
if (!ep.nr_of_link_frequencies) {
drivers/media/i2c/imx290.c
1556
fq = imx290_check_link_freqs(imx290, &ep);
drivers/media/i2c/imx290.c
1567
v4l2_fwnode_endpoint_free(&ep);
drivers/media/i2c/imx319.c
2331
struct fwnode_handle *ep;
drivers/media/i2c/imx319.c
2338
ep = fwnode_graph_get_next_endpoint(fwnode, NULL);
drivers/media/i2c/imx319.c
2339
if (!ep)
drivers/media/i2c/imx319.c
2342
ret = v4l2_fwnode_endpoint_alloc_parse(ep, &bus_cfg);
drivers/media/i2c/imx319.c
2359
fwnode_handle_put(ep);
drivers/media/i2c/imx319.c
2364
fwnode_handle_put(ep);
drivers/media/i2c/imx334.c
1019
ep = fwnode_graph_get_next_endpoint(fwnode, NULL);
drivers/media/i2c/imx334.c
1020
if (!ep)
drivers/media/i2c/imx334.c
1023
ret = v4l2_fwnode_endpoint_alloc_parse(ep, &bus_cfg);
drivers/media/i2c/imx334.c
1024
fwnode_handle_put(ep);
drivers/media/i2c/imx334.c
994
struct fwnode_handle *ep;
drivers/media/i2c/imx335.c
1159
struct fwnode_handle *ep;
drivers/media/i2c/imx335.c
1199
ep = fwnode_graph_get_next_endpoint(fwnode, NULL);
drivers/media/i2c/imx335.c
1200
if (!ep) {
drivers/media/i2c/imx335.c
1205
ret = v4l2_fwnode_endpoint_alloc_parse(ep, &bus_cfg);
drivers/media/i2c/imx335.c
1206
fwnode_handle_put(ep);
drivers/media/i2c/imx355.c
1630
struct fwnode_handle *ep;
drivers/media/i2c/imx355.c
1637
ep = fwnode_graph_get_next_endpoint(fwnode, NULL);
drivers/media/i2c/imx355.c
1638
if (!ep)
drivers/media/i2c/imx355.c
1641
ret = v4l2_fwnode_endpoint_alloc_parse(ep, &bus_cfg);
drivers/media/i2c/imx355.c
1658
fwnode_handle_put(ep);
drivers/media/i2c/imx355.c
1663
fwnode_handle_put(ep);
drivers/media/i2c/imx412.c
918
struct fwnode_handle *ep;
drivers/media/i2c/imx412.c
957
ep = fwnode_graph_get_next_endpoint(fwnode, NULL);
drivers/media/i2c/imx412.c
958
if (!ep)
drivers/media/i2c/imx412.c
961
ret = v4l2_fwnode_endpoint_alloc_parse(ep, &bus_cfg);
drivers/media/i2c/imx412.c
962
fwnode_handle_put(ep);
drivers/media/i2c/imx415.c
1232
struct fwnode_handle *ep;
drivers/media/i2c/imx415.c
1258
ep = fwnode_graph_get_next_endpoint(dev_fwnode(sensor->dev), NULL);
drivers/media/i2c/imx415.c
1259
if (!ep)
drivers/media/i2c/imx415.c
1262
ret = v4l2_fwnode_endpoint_alloc_parse(ep, &bus_cfg);
drivers/media/i2c/imx415.c
1263
fwnode_handle_put(ep);
drivers/media/i2c/isl7998x.c
1457
struct fwnode_handle *ep;
drivers/media/i2c/isl7998x.c
1491
ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(dev),
drivers/media/i2c/isl7998x.c
1493
if (!ep)
drivers/media/i2c/isl7998x.c
1496
ret = v4l2_fwnode_endpoint_parse(ep, &endpoint);
drivers/media/i2c/isl7998x.c
1497
fwnode_handle_put(ep);
drivers/media/i2c/max9286.c
1430
struct of_endpoint ep;
drivers/media/i2c/max9286.c
1432
of_graph_parse_endpoint(node, &ep);
drivers/media/i2c/max9286.c
1434
ep.local_node, ep.port);
drivers/media/i2c/max9286.c
1436
if (ep.port > MAX9286_NUM_GMSL) {
drivers/media/i2c/max9286.c
1438
of_node_full_name(ep.local_node), ep.port);
drivers/media/i2c/max9286.c
1443
if (ep.port == MAX9286_SRC_PAD) {
drivers/media/i2c/max9286.c
1463
if (!(i2c_mux_mask & BIT(ep.port)))
drivers/media/i2c/max9286.c
1466
if (priv->sources[ep.port].fwnode) {
drivers/media/i2c/max9286.c
1469
ep.port);
drivers/media/i2c/max9286.c
1474
source = &priv->sources[ep.port];
drivers/media/i2c/max9286.c
1480
ep.local_node);
drivers/media/i2c/max9286.c
1485
priv->source_mask |= BIT(ep.port);
drivers/media/i2c/mt9m114.c
2460
struct fwnode_handle *ep;
drivers/media/i2c/mt9m114.c
2470
ep = fwnode_graph_get_next_endpoint(fwnode, NULL);
drivers/media/i2c/mt9m114.c
2471
if (!ep)
drivers/media/i2c/mt9m114.c
2476
ret = v4l2_fwnode_endpoint_alloc_parse(ep, &sensor->bus_cfg);
drivers/media/i2c/mt9m114.c
2477
fwnode_handle_put(ep);
drivers/media/i2c/og01a1b.c
908
struct fwnode_handle *ep;
drivers/media/i2c/og01a1b.c
919
ep = fwnode_graph_get_next_endpoint(fwnode, NULL);
drivers/media/i2c/og01a1b.c
920
if (!ep)
drivers/media/i2c/og01a1b.c
923
ret = v4l2_fwnode_endpoint_alloc_parse(ep, &bus_cfg);
drivers/media/i2c/og01a1b.c
924
fwnode_handle_put(ep);
drivers/media/i2c/og0ve1b.c
605
struct fwnode_handle *fwnode = dev_fwnode(og0ve1b->dev), *ep;
drivers/media/i2c/og0ve1b.c
615
ep = fwnode_graph_get_next_endpoint(fwnode, NULL);
drivers/media/i2c/og0ve1b.c
616
if (!ep)
drivers/media/i2c/og0ve1b.c
619
ret = v4l2_fwnode_endpoint_alloc_parse(ep, &bus_cfg);
drivers/media/i2c/og0ve1b.c
620
fwnode_handle_put(ep);
drivers/media/i2c/os05b10.c
843
struct fwnode_handle *ep;
drivers/media/i2c/os05b10.c
846
ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(os05b10->dev), 0, 0, 0);
drivers/media/i2c/os05b10.c
847
if (!ep) {
drivers/media/i2c/os05b10.c
852
ret = v4l2_fwnode_endpoint_alloc_parse(ep, &bus_cfg);
drivers/media/i2c/os05b10.c
853
fwnode_handle_put(ep);
drivers/media/i2c/ov01a10.c
935
struct fwnode_handle *ep, *fwnode = dev_fwnode(ov01a10->dev);
drivers/media/i2c/ov01a10.c
943
ep = fwnode_graph_get_endpoint_by_id(fwnode, 0, 0, 0);
drivers/media/i2c/ov01a10.c
944
if (!ep)
drivers/media/i2c/ov01a10.c
948
ret = v4l2_fwnode_endpoint_alloc_parse(ep, &bus_cfg);
drivers/media/i2c/ov01a10.c
949
fwnode_handle_put(ep);
drivers/media/i2c/ov02a10.c
807
struct fwnode_handle *ep;
drivers/media/i2c/ov02a10.c
819
ep = fwnode_graph_get_next_endpoint(fwnode, NULL);
drivers/media/i2c/ov02a10.c
820
if (!ep)
drivers/media/i2c/ov02a10.c
823
ret = v4l2_fwnode_endpoint_alloc_parse(ep, &bus_cfg);
drivers/media/i2c/ov02a10.c
824
fwnode_handle_put(ep);
drivers/media/i2c/ov02a10.c
829
ret = fwnode_property_read_u32(ep, "ovti,mipi-clock-voltage",
drivers/media/i2c/ov02c10.c
817
struct fwnode_handle *ep, *fwnode = dev_fwnode(dev);
drivers/media/i2c/ov02c10.c
825
ep = fwnode_graph_get_endpoint_by_id(fwnode, 0, 0, 0);
drivers/media/i2c/ov02c10.c
826
if (!ep)
drivers/media/i2c/ov02c10.c
830
ret = v4l2_fwnode_endpoint_alloc_parse(ep, &bus_cfg);
drivers/media/i2c/ov02c10.c
831
fwnode_handle_put(ep);
drivers/media/i2c/ov02e10.c
749
struct fwnode_handle *ep;
drivers/media/i2c/ov02e10.c
754
ep = fwnode_graph_get_next_endpoint(fwnode, NULL);
drivers/media/i2c/ov02e10.c
755
if (!ep)
drivers/media/i2c/ov02e10.c
759
ret = v4l2_fwnode_endpoint_alloc_parse(ep, &bus_cfg);
drivers/media/i2c/ov02e10.c
760
fwnode_handle_put(ep);
drivers/media/i2c/ov08d10.c
1306
struct fwnode_handle *ep;
drivers/media/i2c/ov08d10.c
1317
ep = fwnode_graph_get_next_endpoint(fwnode, NULL);
drivers/media/i2c/ov08d10.c
1318
if (!ep)
drivers/media/i2c/ov08d10.c
1321
ret = v4l2_fwnode_endpoint_alloc_parse(ep, &bus_cfg);
drivers/media/i2c/ov08d10.c
1322
fwnode_handle_put(ep);
drivers/media/i2c/ov08x40.c
2197
struct fwnode_handle *ep;
drivers/media/i2c/ov08x40.c
2207
ep = fwnode_graph_get_next_endpoint(fwnode, NULL);
drivers/media/i2c/ov08x40.c
2208
if (!ep)
drivers/media/i2c/ov08x40.c
2212
ret = v4l2_fwnode_endpoint_alloc_parse(ep, &bus_cfg);
drivers/media/i2c/ov08x40.c
2213
fwnode_handle_put(ep);
drivers/media/i2c/ov13b10.c
1512
struct fwnode_handle *ep;
drivers/media/i2c/ov13b10.c
1521
ep = fwnode_graph_get_next_endpoint(fwnode, NULL);
drivers/media/i2c/ov13b10.c
1522
if (!ep)
drivers/media/i2c/ov13b10.c
1525
ret = v4l2_fwnode_endpoint_alloc_parse(ep, &bus_cfg);
drivers/media/i2c/ov13b10.c
1526
fwnode_handle_put(ep);
drivers/media/i2c/ov2735.c
906
struct fwnode_handle *ep;
drivers/media/i2c/ov2735.c
910
ep = fwnode_graph_get_next_endpoint(dev_fwnode(ov2735->dev), NULL);
drivers/media/i2c/ov2735.c
911
if (!ep)
drivers/media/i2c/ov2735.c
915
ret = v4l2_fwnode_endpoint_alloc_parse(ep, &bus_cfg);
drivers/media/i2c/ov2735.c
916
fwnode_handle_put(ep);
drivers/media/i2c/ov2740.c
1131
struct fwnode_handle *ep;
drivers/media/i2c/ov2740.c
1143
ep = fwnode_graph_get_next_endpoint(fwnode, NULL);
drivers/media/i2c/ov2740.c
1144
if (!ep)
drivers/media/i2c/ov2740.c
1148
ret = v4l2_fwnode_endpoint_alloc_parse(ep, &bus_cfg);
drivers/media/i2c/ov2740.c
1149
fwnode_handle_put(ep);
drivers/media/i2c/ov4689.c
842
static u64 ov4689_check_link_frequency(struct v4l2_fwnode_endpoint *ep)
drivers/media/i2c/ov4689.c
848
for (j = 0; j < ep->nr_of_link_frequencies; j++)
drivers/media/i2c/ov4689.c
849
if (freqs[i] == ep->link_frequencies[j])
drivers/media/i2c/ov5640.c
1519
num_lanes = sensor->ep.bus.mipi_csi2.num_data_lanes;
drivers/media/i2c/ov5640.c
1587
rate /= sensor->ep.bus.parallel.bus_width;
drivers/media/i2c/ov5640.c
2580
unsigned int flags = sensor->ep.bus.parallel.flags;
drivers/media/i2c/ov5640.c
2581
bool bt656 = sensor->ep.bus_type == V4L2_MBUS_BT656;
drivers/media/i2c/ov5640.c
2713
if (sensor->ep.bus_type == V4L2_MBUS_CSI2_DPHY)
drivers/media/i2c/ov5640.c
2899
num_lanes = sensor->ep.bus.mipi_csi2.num_data_lanes;
drivers/media/i2c/ov5640.c
3880
ret = v4l2_fwnode_endpoint_parse(endpoint, &sensor->ep);
drivers/media/i2c/ov5640.c
3887
if (sensor->ep.bus_type != V4L2_MBUS_PARALLEL &&
drivers/media/i2c/ov5640.c
3888
sensor->ep.bus_type != V4L2_MBUS_CSI2_DPHY &&
drivers/media/i2c/ov5640.c
3889
sensor->ep.bus_type != V4L2_MBUS_BT656) {
drivers/media/i2c/ov5640.c
3890
dev_err(dev, "Unsupported bus type %d\n", sensor->ep.bus_type);
drivers/media/i2c/ov5640.c
440
struct v4l2_fwnode_endpoint ep; /* the parsed DT endpoint info */
drivers/media/i2c/ov5640.c
483
return sensor->ep.bus_type == V4L2_MBUS_CSI2_DPHY;
drivers/media/i2c/ov5645.c
1032
&ov5645->ep);
drivers/media/i2c/ov5645.c
1040
if (ov5645->ep.bus_type != V4L2_MBUS_CSI2_DPHY)
drivers/media/i2c/ov5645.c
90
struct v4l2_fwnode_endpoint ep;
drivers/media/i2c/ov5647.c
1138
struct device_node *ep __free(device_node) =
drivers/media/i2c/ov5647.c
1142
if (!ep)
drivers/media/i2c/ov5647.c
1145
ret = v4l2_fwnode_endpoint_parse(of_fwnode_handle(ep), &bus_cfg);
drivers/media/i2c/ov5675.c
1172
struct fwnode_handle *ep;
drivers/media/i2c/ov5675.c
1213
ep = fwnode_graph_get_next_endpoint(fwnode, NULL);
drivers/media/i2c/ov5675.c
1214
if (!ep)
drivers/media/i2c/ov5675.c
1217
ret = v4l2_fwnode_endpoint_alloc_parse(ep, &bus_cfg);
drivers/media/i2c/ov5675.c
1218
fwnode_handle_put(ep);
drivers/media/i2c/ov6211.c
583
struct fwnode_handle *fwnode = dev_fwnode(ov6211->dev), *ep;
drivers/media/i2c/ov6211.c
593
ep = fwnode_graph_get_next_endpoint(fwnode, NULL);
drivers/media/i2c/ov6211.c
594
if (!ep)
drivers/media/i2c/ov6211.c
597
ret = v4l2_fwnode_endpoint_alloc_parse(ep, &bus_cfg);
drivers/media/i2c/ov6211.c
598
fwnode_handle_put(ep);
drivers/media/i2c/ov7251.c
130
struct v4l2_fwnode_endpoint ep;
drivers/media/i2c/ov7670.c
1796
struct fwnode_handle *ep;
drivers/media/i2c/ov7670.c
1806
ep = fwnode_graph_get_next_endpoint(fwnode, NULL);
drivers/media/i2c/ov7670.c
1807
if (!ep)
drivers/media/i2c/ov7670.c
1810
ret = v4l2_fwnode_endpoint_parse(ep, &bus_cfg);
drivers/media/i2c/ov7670.c
1811
fwnode_handle_put(ep);
drivers/media/i2c/ov772x.c
1392
struct fwnode_handle *ep;
drivers/media/i2c/ov772x.c
1395
ep = fwnode_graph_get_next_endpoint(dev_fwnode(&client->dev), NULL);
drivers/media/i2c/ov772x.c
1396
if (!ep) {
drivers/media/i2c/ov772x.c
1408
ret = v4l2_fwnode_endpoint_alloc_parse(ep, &bus_cfg);
drivers/media/i2c/ov772x.c
1412
ret = v4l2_fwnode_endpoint_alloc_parse(ep, &bus_cfg);
drivers/media/i2c/ov772x.c
1421
fwnode_handle_put(ep);
drivers/media/i2c/ov8856.c
2257
struct fwnode_handle *ep;
drivers/media/i2c/ov8856.c
2295
ep = fwnode_graph_get_next_endpoint(fwnode, NULL);
drivers/media/i2c/ov8856.c
2296
if (!ep)
drivers/media/i2c/ov8856.c
2299
ret = v4l2_fwnode_endpoint_alloc_parse(ep, &bus_cfg);
drivers/media/i2c/ov8856.c
2300
fwnode_handle_put(ep);
drivers/media/i2c/ov9282.c
1270
struct fwnode_handle *ep;
drivers/media/i2c/ov9282.c
1304
ep = fwnode_graph_get_next_endpoint(fwnode, NULL);
drivers/media/i2c/ov9282.c
1305
if (!ep)
drivers/media/i2c/ov9282.c
1308
ret = v4l2_fwnode_endpoint_alloc_parse(ep, &bus_cfg);
drivers/media/i2c/ov9282.c
1309
fwnode_handle_put(ep);
drivers/media/i2c/ov9734.c
828
struct fwnode_handle *ep;
drivers/media/i2c/ov9734.c
839
ep = fwnode_graph_get_next_endpoint(fwnode, NULL);
drivers/media/i2c/ov9734.c
840
if (!ep)
drivers/media/i2c/ov9734.c
843
ret = v4l2_fwnode_endpoint_alloc_parse(ep, &bus_cfg);
drivers/media/i2c/ov9734.c
844
fwnode_handle_put(ep);
drivers/media/i2c/s5c73m3/s5c73m3-core.c
1549
struct v4l2_fwnode_endpoint ep = { .bus_type = 0 };
drivers/media/i2c/s5c73m3/s5c73m3-core.c
1581
ret = v4l2_fwnode_endpoint_parse(of_fwnode_handle(node_ep), &ep);
drivers/media/i2c/s5c73m3/s5c73m3-core.c
1586
if (ep.bus_type != V4L2_MBUS_CSI2_DPHY) {
drivers/media/i2c/s5c73m3/s5c73m3-core.c
1594
if (ep.bus.mipi_csi2.num_data_lanes != S5C73M3_MIPI_DATA_LANES)
drivers/media/i2c/s5k3m5.c
1132
struct fwnode_handle *fwnode = dev_fwnode(s5k3m5->dev), *ep;
drivers/media/i2c/s5k3m5.c
1147
ep = fwnode_graph_get_next_endpoint(fwnode, NULL);
drivers/media/i2c/s5k3m5.c
1148
if (!ep)
drivers/media/i2c/s5k3m5.c
1151
ret = v4l2_fwnode_endpoint_alloc_parse(ep, &bus_cfg);
drivers/media/i2c/s5k3m5.c
1152
fwnode_handle_put(ep);
drivers/media/i2c/s5k5baf.c
1831
struct v4l2_fwnode_endpoint ep = { .bus_type = 0 };
drivers/media/i2c/s5k5baf.c
1845
ret = v4l2_fwnode_endpoint_parse(of_fwnode_handle(node_ep), &ep);
drivers/media/i2c/s5k5baf.c
1850
state->bus_type = ep.bus_type;
drivers/media/i2c/s5k5baf.c
1854
state->nlanes = ep.bus.mipi_csi2.num_data_lanes;
drivers/media/i2c/s5kjn1.c
1159
struct fwnode_handle *fwnode = dev_fwnode(s5kjn1->dev), *ep;
drivers/media/i2c/s5kjn1.c
1174
ep = fwnode_graph_get_next_endpoint(fwnode, NULL);
drivers/media/i2c/s5kjn1.c
1175
if (!ep)
drivers/media/i2c/s5kjn1.c
1178
ret = v4l2_fwnode_endpoint_alloc_parse(ep, &bus_cfg);
drivers/media/i2c/s5kjn1.c
1179
fwnode_handle_put(ep);
drivers/media/i2c/st-mipid02.c
307
struct v4l2_fwnode_endpoint *ep = &bridge->rx;
drivers/media/i2c/st-mipid02.c
317
2 * ep->bus.mipi_csi2.num_data_lanes);
drivers/media/i2c/st-mipid02.c
333
struct v4l2_fwnode_endpoint *ep = &bridge->rx;
drivers/media/i2c/st-mipid02.c
334
bool *polarities = ep->bus.mipi_csi2.lane_polarities;
drivers/media/i2c/st-mipid02.c
337
if (ep->bus.mipi_csi2.clock_lane != 0) {
drivers/media/i2c/st-mipid02.c
383
struct v4l2_fwnode_endpoint *ep = &bridge->rx;
drivers/media/i2c/st-mipid02.c
384
bool are_lanes_swap = ep->bus.mipi_csi2.data_lanes[0] == 2;
drivers/media/i2c/st-mipid02.c
385
bool *polarities = ep->bus.mipi_csi2.lane_polarities;
drivers/media/i2c/st-mipid02.c
386
int nb = ep->bus.mipi_csi2.num_data_lanes;
drivers/media/i2c/st-mipid02.c
411
struct v4l2_fwnode_endpoint *ep = &bridge->tx;
drivers/media/i2c/st-mipid02.c
414
bridge->r.pix_width_ctrl = ep->bus.parallel.bus_width;
drivers/media/i2c/st-mipid02.c
415
bridge->r.pix_width_ctrl_emb = ep->bus.parallel.bus_width;
drivers/media/i2c/st-mipid02.c
416
if (ep->bus.parallel.flags & V4L2_MBUS_HSYNC_ACTIVE_HIGH)
drivers/media/i2c/st-mipid02.c
418
if (ep->bus.parallel.flags & V4L2_MBUS_VSYNC_ACTIVE_HIGH)
drivers/media/i2c/st-mipid02.c
420
if (ep->bus.parallel.flags & V4L2_MBUS_PCLK_SAMPLE_RISING)
drivers/media/i2c/st-mipid02.c
709
struct v4l2_fwnode_endpoint ep = { .bus_type = V4L2_MBUS_CSI2_DPHY };
drivers/media/i2c/st-mipid02.c
724
ret = v4l2_fwnode_endpoint_parse(of_fwnode_handle(ep_node), &ep);
drivers/media/i2c/st-mipid02.c
732
if (ep.bus.mipi_csi2.num_data_lanes > 2) {
drivers/media/i2c/st-mipid02.c
734
ep.bus.mipi_csi2.num_data_lanes);
drivers/media/i2c/st-mipid02.c
740
bridge->rx = ep;
drivers/media/i2c/st-mipid02.c
771
struct v4l2_fwnode_endpoint ep = { .bus_type = V4L2_MBUS_PARALLEL };
drivers/media/i2c/st-mipid02.c
785
ret = v4l2_fwnode_endpoint_parse(of_fwnode_handle(ep_node), &ep);
drivers/media/i2c/st-mipid02.c
792
bridge->tx = ep;
drivers/media/i2c/tc358743.c
2011
struct device_node *ep;
drivers/media/i2c/tc358743.c
2021
ep = of_graph_get_endpoint_by_regs(dev->of_node, 0, -1);
drivers/media/i2c/tc358743.c
2022
if (!ep) {
drivers/media/i2c/tc358743.c
2027
ret = v4l2_fwnode_endpoint_alloc_parse(of_fwnode_handle(ep), &endpoint);
drivers/media/i2c/tc358743.c
2160
of_node_put(ep);
drivers/media/i2c/tc358746.c
1323
struct fwnode_handle *ep;
drivers/media/i2c/tc358746.c
1327
ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(dev), TC358746_SOURCE,
drivers/media/i2c/tc358746.c
1329
if (!ep) {
drivers/media/i2c/tc358746.c
1337
err = v4l2_fwnode_endpoint_alloc_parse(ep, vep);
drivers/media/i2c/tc358746.c
1338
fwnode_handle_put(ep);
drivers/media/i2c/tc358746.c
1464
struct fwnode_handle *ep;
drivers/media/i2c/tc358746.c
1467
ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(tc358746->sd.dev),
drivers/media/i2c/tc358746.c
1469
if (!ep)
drivers/media/i2c/tc358746.c
1472
err = v4l2_fwnode_endpoint_parse(ep, &vep);
drivers/media/i2c/tc358746.c
1474
fwnode_handle_put(ep);
drivers/media/i2c/tc358746.c
1479
asd = v4l2_async_nf_add_fwnode_remote(&tc358746->notifier, ep,
drivers/media/i2c/tc358746.c
1481
fwnode_handle_put(ep);
drivers/media/i2c/tda1997x.c
2294
struct device_node *ep;
drivers/media/i2c/tda1997x.c
2313
ep = of_graph_get_endpoint_by_regs(np, 0, -1);
drivers/media/i2c/tda1997x.c
2314
if (!ep)
drivers/media/i2c/tda1997x.c
2317
ret = v4l2_fwnode_endpoint_parse(of_fwnode_handle(ep), &bus_cfg);
drivers/media/i2c/tda1997x.c
2318
of_node_put(ep);
drivers/media/i2c/thp7312.c
2017
struct v4l2_fwnode_endpoint ep = {
drivers/media/i2c/thp7312.c
2031
ret = v4l2_fwnode_endpoint_parse(endpoint, &ep);
drivers/media/i2c/thp7312.c
2037
ep.bus.mipi_csi2.data_lanes,
drivers/media/i2c/thp7312.c
2038
ep.bus.mipi_csi2.num_data_lanes);
drivers/media/i2c/tvp5150.c
2023
struct of_endpoint ep;
drivers/media/i2c/tvp5150.c
2025
of_graph_parse_endpoint(ep_np, &ep);
drivers/media/i2c/tvp5150.c
2026
if (ep.port > 1 || ep.id > 1) {
drivers/media/i2c/tvp5150.c
2028
ep.port, ep.id);
drivers/media/i2c/tvp5150.c
2035
if (ep.port == 0 || (ep.port == 1 && ep.id == 0)) {
drivers/media/i2c/vd55g1.c
1752
struct v4l2_fwnode_endpoint ep = { .bus_type = V4L2_MBUS_CSI2_DPHY };
drivers/media/i2c/vd55g1.c
1756
ret = v4l2_fwnode_endpoint_alloc_parse(endpoint, &ep);
drivers/media/i2c/vd55g1.c
1761
n_lanes = ep.bus.mipi_csi2.num_data_lanes;
drivers/media/i2c/vd55g1.c
1770
if (ep.bus.mipi_csi2.clock_lane != 0) {
drivers/media/i2c/vd55g1.c
1777
sensor->oif_ctrl = (ep.bus.mipi_csi2.lane_polarities[0] << 3) |
drivers/media/i2c/vd55g1.c
1778
(ep.bus.mipi_csi2.lane_polarities[1] << 6);
drivers/media/i2c/vd55g1.c
1781
if (!ep.nr_of_link_frequencies) {
drivers/media/i2c/vd55g1.c
1786
if (ep.nr_of_link_frequencies != 1) {
drivers/media/i2c/vd55g1.c
1791
sensor->link_freq = ep.link_frequencies[0];
drivers/media/i2c/vd55g1.c
1794
v4l2_fwnode_endpoint_free(&ep);
drivers/media/i2c/vd56g3.c
1147
struct v4l2_fwnode_endpoint ep = { .bus_type = V4L2_MBUS_CSI2_DPHY };
drivers/media/i2c/vd56g3.c
1154
ret = v4l2_fwnode_endpoint_alloc_parse(endpoint, &ep);
drivers/media/i2c/vd56g3.c
1159
n_lanes = ep.bus.mipi_csi2.num_data_lanes;
drivers/media/i2c/vd56g3.c
1168
if (ep.bus.mipi_csi2.clock_lane != 0) {
drivers/media/i2c/vd56g3.c
1179
phy_data_lanes[ep.bus.mipi_csi2.data_lanes[l] - 1] = l;
drivers/media/i2c/vd56g3.c
1187
(ep.bus.mipi_csi2.lane_polarities[0] << 3) |
drivers/media/i2c/vd56g3.c
1189
(ep.bus.mipi_csi2.lane_polarities[1] << 6) |
drivers/media/i2c/vd56g3.c
1191
(ep.bus.mipi_csi2.lane_polarities[2] << 9);
drivers/media/i2c/vd56g3.c
1194
if (!ep.nr_of_link_frequencies) {
drivers/media/i2c/vd56g3.c
1201
if (ep.nr_of_link_frequencies != 1 ||
drivers/media/i2c/vd56g3.c
1202
ep.link_frequencies[0] != frequency) {
drivers/media/i2c/vd56g3.c
1204
ep.link_frequencies[0]);
drivers/media/i2c/vd56g3.c
1210
v4l2_fwnode_endpoint_free(&ep);
drivers/media/i2c/vgxy61.c
1440
struct v4l2_fwnode_endpoint ep = { .bus_type = V4L2_MBUS_CSI2_DPHY };
drivers/media/i2c/vgxy61.c
1449
ret = v4l2_fwnode_endpoint_alloc_parse(handle, &ep);
drivers/media/i2c/vgxy61.c
1453
l_nb = ep.bus.mipi_csi2.num_data_lanes;
drivers/media/i2c/vgxy61.c
1460
log2phy[0] = ep.bus.mipi_csi2.clock_lane;
drivers/media/i2c/vgxy61.c
1463
log2phy[l] = ep.bus.mipi_csi2.data_lanes[l - 1];
drivers/media/i2c/vgxy61.c
1478
polarities[l] = ep.bus.mipi_csi2.lane_polarities[l];
drivers/media/i2c/vgxy61.c
1500
v4l2_fwnode_endpoint_free(&ep);
drivers/media/i2c/vgxy61.c
1505
v4l2_fwnode_endpoint_free(&ep);
drivers/media/pci/intel/ipu3/ipu3-cio2.c
1436
struct fwnode_handle *ep;
drivers/media/pci/intel/ipu3/ipu3-cio2.c
1438
ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(dev), i, 0,
drivers/media/pci/intel/ipu3/ipu3-cio2.c
1440
if (!ep)
drivers/media/pci/intel/ipu3/ipu3-cio2.c
1443
ret = v4l2_fwnode_endpoint_parse(ep, &vep);
drivers/media/pci/intel/ipu3/ipu3-cio2.c
1447
s_asd = v4l2_async_nf_add_fwnode_remote(&cio2->notifier, ep,
drivers/media/pci/intel/ipu3/ipu3-cio2.c
1458
fwnode_handle_put(ep);
drivers/media/pci/intel/ipu3/ipu3-cio2.c
1463
fwnode_handle_put(ep);
drivers/media/pci/intel/ipu6/ipu6-isys.c
731
struct fwnode_handle *ep;
drivers/media/pci/intel/ipu6/ipu6-isys.c
733
ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(dev), i, 0,
drivers/media/pci/intel/ipu6/ipu6-isys.c
735
if (!ep)
drivers/media/pci/intel/ipu6/ipu6-isys.c
738
ret = v4l2_fwnode_endpoint_parse(ep, &vep);
drivers/media/pci/intel/ipu6/ipu6-isys.c
744
s_asd = v4l2_async_nf_add_fwnode_remote(&isys->notifier, ep,
drivers/media/pci/intel/ipu6/ipu6-isys.c
758
fwnode_handle_put(ep);
drivers/media/pci/intel/ipu6/ipu6-isys.c
763
fwnode_handle_put(ep);
drivers/media/platform/amlogic/c3/isp/c3-isp-dev.c
122
struct fwnode_handle *ep;
drivers/media/platform/amlogic/c3/isp/c3-isp-dev.c
127
ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(isp->dev), 0, 0,
drivers/media/platform/amlogic/c3/isp/c3-isp-dev.c
129
if (!ep)
drivers/media/platform/amlogic/c3/isp/c3-isp-dev.c
132
asc = v4l2_async_nf_add_fwnode_remote(&isp->notifier, ep,
drivers/media/platform/amlogic/c3/isp/c3-isp-dev.c
134
fwnode_handle_put(ep);
drivers/media/platform/amlogic/c3/mipi-adapter/c3-mipi-adap.c
686
struct fwnode_handle *ep;
drivers/media/platform/amlogic/c3/mipi-adapter/c3-mipi-adap.c
691
ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(adap->dev), 0, 0,
drivers/media/platform/amlogic/c3/mipi-adapter/c3-mipi-adap.c
693
if (!ep)
drivers/media/platform/amlogic/c3/mipi-adapter/c3-mipi-adap.c
696
asc = v4l2_async_nf_add_fwnode_remote(&adap->notifier, ep,
drivers/media/platform/amlogic/c3/mipi-adapter/c3-mipi-adap.c
712
fwnode_handle_put(ep);
drivers/media/platform/amlogic/c3/mipi-adapter/c3-mipi-adap.c
721
fwnode_handle_put(ep);
drivers/media/platform/amlogic/c3/mipi-csi2/c3-mipi-csi2.c
665
struct fwnode_handle *ep;
drivers/media/platform/amlogic/c3/mipi-csi2/c3-mipi-csi2.c
670
ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(csi->dev), 0, 0,
drivers/media/platform/amlogic/c3/mipi-csi2/c3-mipi-csi2.c
672
if (!ep)
drivers/media/platform/amlogic/c3/mipi-csi2/c3-mipi-csi2.c
675
ret = v4l2_fwnode_endpoint_parse(ep, &vep);
drivers/media/platform/amlogic/c3/mipi-csi2/c3-mipi-csi2.c
681
asc = v4l2_async_nf_add_fwnode_remote(&csi->notifier, ep,
drivers/media/platform/amlogic/c3/mipi-csi2/c3-mipi-csi2.c
697
fwnode_handle_put(ep);
drivers/media/platform/amlogic/c3/mipi-csi2/c3-mipi-csi2.c
706
fwnode_handle_put(ep);
drivers/media/platform/arm/mali-c55/mali-c55-core.c
417
struct fwnode_handle *ep;
drivers/media/platform/arm/mali-c55/mali-c55-core.c
425
ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(mali_c55->dev),
drivers/media/platform/arm/mali-c55/mali-c55-core.c
427
if (!ep) {
drivers/media/platform/arm/mali-c55/mali-c55-core.c
432
asc = v4l2_async_nf_add_fwnode_remote(&mali_c55->notifier, ep,
drivers/media/platform/arm/mali-c55/mali-c55-core.c
434
fwnode_handle_put(ep);
drivers/media/platform/atmel/atmel-isi.c
1152
struct device_node *ep;
drivers/media/platform/atmel/atmel-isi.c
1155
ep = of_graph_get_endpoint_by_regs(isi->dev->of_node, 0, -1);
drivers/media/platform/atmel/atmel-isi.c
1156
if (!ep)
drivers/media/platform/atmel/atmel-isi.c
1162
of_fwnode_handle(ep),
drivers/media/platform/atmel/atmel-isi.c
1164
of_node_put(ep);
drivers/media/platform/atmel/atmel-isi.c
828
struct v4l2_fwnode_endpoint ep = { .bus_type = 0 };
drivers/media/platform/atmel/atmel-isi.c
841
err = v4l2_fwnode_endpoint_parse(of_fwnode_handle(np), &ep);
drivers/media/platform/atmel/atmel-isi.c
848
switch (ep.bus.parallel.bus_width) {
drivers/media/platform/atmel/atmel-isi.c
858
ep.bus.parallel.bus_width);
drivers/media/platform/atmel/atmel-isi.c
862
if (ep.bus.parallel.flags & V4L2_MBUS_HSYNC_ACTIVE_LOW)
drivers/media/platform/atmel/atmel-isi.c
864
if (ep.bus.parallel.flags & V4L2_MBUS_VSYNC_ACTIVE_LOW)
drivers/media/platform/atmel/atmel-isi.c
866
if (ep.bus.parallel.flags & V4L2_MBUS_PCLK_SAMPLE_FALLING)
drivers/media/platform/atmel/atmel-isi.c
869
if (ep.bus_type == V4L2_MBUS_BT656)
drivers/media/platform/broadcom/bcm2835-unicam.c
2504
struct v4l2_fwnode_endpoint ep = { };
drivers/media/platform/broadcom/bcm2835-unicam.c
2525
ret = v4l2_fwnode_endpoint_parse(ep_handle, &ep);
drivers/media/platform/broadcom/bcm2835-unicam.c
2531
unicam->bus_type = ep.bus_type;
drivers/media/platform/broadcom/bcm2835-unicam.c
2533
switch (ep.bus_type) {
drivers/media/platform/broadcom/bcm2835-unicam.c
2535
unsigned int num_data_lanes = ep.bus.mipi_csi2.num_data_lanes;
drivers/media/platform/broadcom/bcm2835-unicam.c
2554
unicam->bus_flags = ep.bus.mipi_csi2.flags;
drivers/media/platform/broadcom/bcm2835-unicam.c
2560
unicam->bus_flags = ep.bus.mipi_csi1.strobe;
drivers/media/platform/broadcom/bcm2835-unicam.c
2565
dev_err(unicam->dev, "Unsupported bus type %u\n", ep.bus_type);
drivers/media/platform/cadence/cdns-csi2rx.c
770
struct device_node *ep;
drivers/media/platform/cadence/cdns-csi2rx.c
773
ep = of_graph_get_endpoint_by_regs(csi2rx->dev->of_node, 0, 0);
drivers/media/platform/cadence/cdns-csi2rx.c
774
if (!ep)
drivers/media/platform/cadence/cdns-csi2rx.c
777
fwh = of_fwnode_handle(ep);
drivers/media/platform/cadence/cdns-csi2rx.c
781
of_node_put(ep);
drivers/media/platform/cadence/cdns-csi2rx.c
788
of_node_put(ep);
drivers/media/platform/cadence/cdns-csi2rx.c
798
of_node_put(ep);
drivers/media/platform/cadence/cdns-csi2rx.c
806
of_node_put(ep);
drivers/media/platform/cadence/cdns-csi2tx.c
499
struct device_node *ep;
drivers/media/platform/cadence/cdns-csi2tx.c
502
ep = of_graph_get_endpoint_by_regs(csi2tx->dev->of_node, 0, 0);
drivers/media/platform/cadence/cdns-csi2tx.c
503
if (!ep)
drivers/media/platform/cadence/cdns-csi2tx.c
506
ret = v4l2_fwnode_endpoint_parse(of_fwnode_handle(ep), &v4l2_ep);
drivers/media/platform/cadence/cdns-csi2tx.c
540
of_node_put(ep);
drivers/media/platform/intel/pxa_camera.c
2201
struct v4l2_fwnode_endpoint ep = { .bus_type = 0 };
drivers/media/platform/intel/pxa_camera.c
2215
err = v4l2_fwnode_endpoint_parse(of_fwnode_handle(np), &ep);
drivers/media/platform/intel/pxa_camera.c
2221
switch (ep.bus.parallel.bus_width) {
drivers/media/platform/intel/pxa_camera.c
2241
if (ep.bus.parallel.flags & V4L2_MBUS_MASTER)
drivers/media/platform/intel/pxa_camera.c
2243
if (ep.bus.parallel.flags & V4L2_MBUS_HSYNC_ACTIVE_HIGH)
drivers/media/platform/intel/pxa_camera.c
2245
if (ep.bus.parallel.flags & V4L2_MBUS_VSYNC_ACTIVE_HIGH)
drivers/media/platform/intel/pxa_camera.c
2247
if (ep.bus.parallel.flags & V4L2_MBUS_PCLK_SAMPLE_RISING)
drivers/media/platform/intel/pxa_camera.c
2249
if (ep.bus.parallel.flags & V4L2_MBUS_PCLK_SAMPLE_FALLING)
drivers/media/platform/marvell/mmp-driver.c
182
struct fwnode_handle *ep;
drivers/media/platform/marvell/mmp-driver.c
245
ep = fwnode_graph_get_next_endpoint(of_fwnode_handle(pdev->dev.of_node),
drivers/media/platform/marvell/mmp-driver.c
247
if (!ep) {
drivers/media/platform/marvell/mmp-driver.c
254
asd = v4l2_async_nf_add_fwnode_remote(&mcam->notifier, ep,
drivers/media/platform/marvell/mmp-driver.c
256
fwnode_handle_put(ep);
drivers/media/platform/nxp/imx-mipi-csis.c
1358
struct fwnode_handle *ep __free(fwnode_handle) =
drivers/media/platform/nxp/imx-mipi-csis.c
1361
if (!ep)
drivers/media/platform/nxp/imx-mipi-csis.c
1364
ret = v4l2_fwnode_endpoint_parse(ep, &vep);
drivers/media/platform/nxp/imx-mipi-csis.c
1382
asd = v4l2_async_nf_add_fwnode_remote(&csis->notifier, ep,
drivers/media/platform/nxp/imx7-media-csi.c
2080
struct fwnode_handle *ep;
drivers/media/platform/nxp/imx7-media-csi.c
2085
ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(csi->dev), 0, 0,
drivers/media/platform/nxp/imx7-media-csi.c
2087
if (!ep) {
drivers/media/platform/nxp/imx7-media-csi.c
2093
asd = v4l2_async_nf_add_fwnode_remote(&csi->notifier, ep,
drivers/media/platform/nxp/imx7-media-csi.c
2096
fwnode_handle_put(ep);
drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c
184
struct fwnode_handle *ep;
drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c
186
ep = fwnode_graph_get_endpoint_by_id(node, i, 0,
drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c
189
if (!ep)
drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c
192
masd = v4l2_async_nf_add_fwnode_remote(&isi->notifier, ep,
drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c
194
fwnode_handle_put(ep);
drivers/media/platform/nxp/imx8mq-mipi-csi2.c
726
struct fwnode_handle *ep __free(fwnode_handle) =
drivers/media/platform/nxp/imx8mq-mipi-csi2.c
729
if (!ep)
drivers/media/platform/nxp/imx8mq-mipi-csi2.c
732
ret = v4l2_fwnode_endpoint_parse(ep, &vep);
drivers/media/platform/nxp/imx8mq-mipi-csi2.c
750
asd = v4l2_async_nf_add_fwnode_remote(&state->notifier, ep,
drivers/media/platform/qcom/camss/camss.c
4401
struct fwnode_handle *ep,
drivers/media/platform/qcom/camss/camss.c
4410
ret = v4l2_fwnode_endpoint_parse(ep, &vep);
drivers/media/platform/qcom/camss/camss.c
4453
struct fwnode_handle *fwnode = dev_fwnode(dev), *ep;
drivers/media/platform/qcom/camss/camss.c
4456
fwnode_graph_for_each_endpoint(fwnode, ep) {
drivers/media/platform/qcom/camss/camss.c
4459
csd = v4l2_async_nf_add_fwnode_remote(&camss->notifier, ep,
drivers/media/platform/qcom/camss/camss.c
4466
ret = camss_parse_endpoint_node(dev, ep, csd);
drivers/media/platform/qcom/camss/camss.c
4474
fwnode_handle_put(ep);
drivers/media/platform/raspberrypi/rp1-cfe/cfe.c
2215
struct v4l2_fwnode_endpoint ep = { .bus_type = V4L2_MBUS_CSI2_DPHY };
drivers/media/platform/raspberrypi/rp1-cfe/cfe.c
2228
ret = v4l2_fwnode_endpoint_parse(local_ep_fwnode, &ep);
drivers/media/platform/raspberrypi/rp1-cfe/cfe.c
2234
for (unsigned int lane = 0; lane < ep.bus.mipi_csi2.num_data_lanes;
drivers/media/platform/raspberrypi/rp1-cfe/cfe.c
2236
if (ep.bus.mipi_csi2.data_lanes[lane] != lane + 1) {
drivers/media/platform/raspberrypi/rp1-cfe/cfe.c
2243
cfe->csi2.dphy.max_lanes = ep.bus.mipi_csi2.num_data_lanes;
drivers/media/platform/raspberrypi/rp1-cfe/cfe.c
2244
cfe->csi2.bus_flags = ep.bus.mipi_csi2.flags;
drivers/media/platform/renesas/rcar-csi2.c
2092
struct fwnode_handle *ep;
drivers/media/platform/renesas/rcar-csi2.c
2098
ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(priv->dev), 0, 0, 0);
drivers/media/platform/renesas/rcar-csi2.c
2099
if (!ep) {
drivers/media/platform/renesas/rcar-csi2.c
2104
ret = v4l2_fwnode_endpoint_parse(ep, &v4l2_ep);
drivers/media/platform/renesas/rcar-csi2.c
2107
fwnode_handle_put(ep);
drivers/media/platform/renesas/rcar-csi2.c
2113
fwnode_handle_put(ep);
drivers/media/platform/renesas/rcar-csi2.c
2117
fwnode = fwnode_graph_get_remote_endpoint(ep);
drivers/media/platform/renesas/rcar-csi2.c
2118
fwnode_handle_put(ep);
drivers/media/platform/renesas/rcar-isp/csisp.c
417
struct fwnode_handle *ep;
drivers/media/platform/renesas/rcar-isp/csisp.c
422
ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(isp->dev),
drivers/media/platform/renesas/rcar-isp/csisp.c
424
if (ep)
drivers/media/platform/renesas/rcar-isp/csisp.c
428
if (!ep) {
drivers/media/platform/renesas/rcar-isp/csisp.c
436
fwnode = fwnode_graph_get_remote_endpoint(ep);
drivers/media/platform/renesas/rcar-isp/csisp.c
437
fwnode_handle_put(ep);
drivers/media/platform/renesas/rcar-vin/rcar-core.c
324
struct fwnode_handle *ep, *fwnode;
drivers/media/platform/renesas/rcar-vin/rcar-core.c
331
ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(vin->dev), port, id, 0);
drivers/media/platform/renesas/rcar-vin/rcar-core.c
332
if (!ep)
drivers/media/platform/renesas/rcar-vin/rcar-core.c
335
fwnode = fwnode_graph_get_remote_endpoint(ep);
drivers/media/platform/renesas/rcar-vin/rcar-core.c
336
ret = v4l2_fwnode_endpoint_parse(ep, &vep);
drivers/media/platform/renesas/rcar-vin/rcar-core.c
337
fwnode_handle_put(ep);
drivers/media/platform/renesas/rcar-vin/rcar-core.c
364
struct fwnode_handle *ep __free(fwnode_handle) = NULL;
drivers/media/platform/renesas/rcar-vin/rcar-core.c
370
ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(vin->dev), 0, 0, 0);
drivers/media/platform/renesas/rcar-vin/rcar-core.c
371
if (!ep)
drivers/media/platform/renesas/rcar-vin/rcar-core.c
374
if (v4l2_fwnode_endpoint_parse(ep, &vep)) {
drivers/media/platform/renesas/rcar-vin/rcar-core.c
375
vin_err(vin, "Failed to parse %pOF\n", to_of_node(ep));
drivers/media/platform/renesas/rcar-vin/rcar-core.c
393
fwnode = fwnode_graph_get_remote_endpoint(ep);
drivers/media/platform/renesas/rcar_drif.c
1000
return v4l2_subdev_call(sdr->ep.subdev, tuner, s_frequency, f);
drivers/media/platform/renesas/rcar_drif.c
1008
return v4l2_subdev_call(sdr->ep.subdev, tuner, g_tuner, vt);
drivers/media/platform/renesas/rcar_drif.c
1016
return v4l2_subdev_call(sdr->ep.subdev, tuner, s_tuner, vt);
drivers/media/platform/renesas/rcar_drif.c
1104
sdr->ep.subdev = subdev;
drivers/media/platform/renesas/rcar_drif.c
1118
if (sdr->ep.subdev != subdev) {
drivers/media/platform/renesas/rcar_drif.c
1126
sdr->ep.subdev = NULL;
drivers/media/platform/renesas/rcar_drif.c
1157
sdr->ep.subdev->ctrl_handler, NULL, true);
drivers/media/platform/renesas/rcar_drif.c
1205
struct fwnode_handle *fwnode, *ep;
drivers/media/platform/renesas/rcar_drif.c
1210
ep = fwnode_graph_get_next_endpoint(of_fwnode_handle(sdr->dev->of_node),
drivers/media/platform/renesas/rcar_drif.c
1212
if (!ep)
drivers/media/platform/renesas/rcar_drif.c
1216
rcar_drif_get_ep_properties(sdr, ep);
drivers/media/platform/renesas/rcar_drif.c
1218
fwnode = fwnode_graph_get_remote_port_parent(ep);
drivers/media/platform/renesas/rcar_drif.c
1219
fwnode_handle_put(ep);
drivers/media/platform/renesas/rcar_drif.c
222
struct rcar_drif_graph_ep ep; /* Endpoint V4L2 async data */
drivers/media/platform/renesas/rcar_drif.c
984
return v4l2_subdev_call(sdr->ep.subdev, tuner, enum_freq_bands, band);
drivers/media/platform/renesas/rcar_drif.c
992
return v4l2_subdev_call(sdr->ep.subdev, tuner, g_frequency, f);
drivers/media/platform/renesas/renesas-ceu.c
1521
struct device_node *ep;
drivers/media/platform/renesas/renesas-ceu.c
1547
ep = of_graph_get_endpoint_by_regs(of, 0, i);
drivers/media/platform/renesas/renesas-ceu.c
1548
if (!ep) {
drivers/media/platform/renesas/renesas-ceu.c
1555
ret = v4l2_fwnode_endpoint_parse(of_fwnode_handle(ep), &fw_ep);
drivers/media/platform/renesas/renesas-ceu.c
1564
of_fwnode_handle(ep),
drivers/media/platform/renesas/renesas-ceu.c
1573
of_node_put(ep);
drivers/media/platform/renesas/renesas-ceu.c
1580
of_node_put(ep);
drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c
140
struct fwnode_handle *ep, *fwnode;
drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c
144
ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(cru->dev), 1, 0, 0);
drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c
145
if (!ep)
drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c
148
fwnode = fwnode_graph_get_remote_endpoint(ep);
drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c
149
ret = v4l2_fwnode_endpoint_parse(ep, &vep);
drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c
150
fwnode_handle_put(ep);
drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c
822
struct fwnode_handle *ep;
drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c
825
ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(csi2->dev), 0, 0, 0);
drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c
826
if (!ep) {
drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c
831
ret = v4l2_fwnode_endpoint_parse(ep, &v4l2_ep);
drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c
834
fwnode_handle_put(ep);
drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c
840
fwnode_handle_put(ep);
drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c
844
fwnode = fwnode_graph_get_remote_endpoint(ep);
drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c
845
fwnode_handle_put(ep);
drivers/media/platform/rockchip/rkcif/rkcif-interface.c
314
struct fwnode_handle *ep;
drivers/media/platform/rockchip/rkcif/rkcif-interface.c
318
ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(dev), interface->index,
drivers/media/platform/rockchip/rkcif/rkcif-interface.c
320
if (!ep)
drivers/media/platform/rockchip/rkcif/rkcif-interface.c
324
ret = v4l2_fwnode_endpoint_parse(ep, vep);
drivers/media/platform/rockchip/rkcif/rkcif-interface.c
336
fwnode_property_read_u32(ep, "rockchip,dvp-clk-delay",
drivers/media/platform/rockchip/rkcif/rkcif-interface.c
341
remote = v4l2_async_nf_add_fwnode_remote(ntf, ep, struct rkcif_remote);
drivers/media/platform/rockchip/rkcif/rkcif-interface.c
353
fwnode_handle_put(ep);
drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c
190
struct fwnode_handle *ep;
drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c
198
fwnode_graph_for_each_endpoint(fwnode, ep) {
drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c
206
port = fwnode_get_parent(ep);
drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c
237
ret = v4l2_fwnode_endpoint_parse(ep, &vep);
drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c
240
ep);
drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c
255
source = fwnode_graph_get_remote_endpoint(ep);
drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c
259
ep);
drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c
289
fwnode_handle_put(ep);
drivers/media/platform/samsung/exynos4-is/fimc-is.c
167
struct device_node *ep, *port;
drivers/media/platform/samsung/exynos4-is/fimc-is.c
178
ep = of_graph_get_endpoint_by_regs(node, 0, -1);
drivers/media/platform/samsung/exynos4-is/fimc-is.c
179
if (!ep)
drivers/media/platform/samsung/exynos4-is/fimc-is.c
182
port = of_graph_get_remote_port(ep);
drivers/media/platform/samsung/exynos4-is/fimc-is.c
183
of_node_put(ep);
drivers/media/platform/samsung/exynos4-is/media-dev.c
193
static int __fimc_pipeline_enable(struct exynos_media_pipeline *ep,
drivers/media/platform/samsung/exynos4-is/media-dev.c
196
struct fimc_pipeline *p = to_fimc_pipeline(ep);
drivers/media/platform/samsung/exynos4-is/media-dev.c
225
static int __fimc_pipeline_open(struct exynos_media_pipeline *ep,
drivers/media/platform/samsung/exynos4-is/media-dev.c
229
struct fimc_pipeline *p = to_fimc_pipeline(ep);
drivers/media/platform/samsung/exynos4-is/media-dev.c
248
return __fimc_pipeline_enable(ep, fmd);
drivers/media/platform/samsung/exynos4-is/media-dev.c
257
static int __fimc_pipeline_close(struct exynos_media_pipeline *ep)
drivers/media/platform/samsung/exynos4-is/media-dev.c
259
struct fimc_pipeline *p = to_fimc_pipeline(ep);
drivers/media/platform/samsung/exynos4-is/media-dev.c
285
static int __fimc_pipeline_s_stream(struct exynos_media_pipeline *ep, bool on)
drivers/media/platform/samsung/exynos4-is/media-dev.c
291
struct fimc_pipeline *p = to_fimc_pipeline(ep);
drivers/media/platform/samsung/exynos4-is/media-dev.c
339
ret = __fimc_pipeline_enable(ep, fmd);
drivers/media/platform/samsung/exynos4-is/media-dev.c
382
p->ep.ops = &fimc_pipeline_ops;
drivers/media/platform/samsung/exynos4-is/media-dev.c
383
return &p->ep;
drivers/media/platform/samsung/exynos4-is/media-dev.c
398
struct device_node *ep)
drivers/media/platform/samsung/exynos4-is/media-dev.c
407
ret = v4l2_fwnode_endpoint_parse(of_fwnode_handle(ep), &endpoint);
drivers/media/platform/samsung/exynos4-is/media-dev.c
409
of_node_put(ep);
drivers/media/platform/samsung/exynos4-is/media-dev.c
414
of_node_put(ep);
drivers/media/platform/samsung/exynos4-is/media-dev.c
420
rem = of_graph_get_remote_port_parent(ep);
drivers/media/platform/samsung/exynos4-is/media-dev.c
423
ep);
drivers/media/platform/samsung/exynos4-is/media-dev.c
424
of_node_put(ep);
drivers/media/platform/samsung/exynos4-is/media-dev.c
462
of_node_put(ep);
drivers/media/platform/samsung/exynos4-is/media-dev.c
467
of_fwnode_handle(ep),
drivers/media/platform/samsung/exynos4-is/media-dev.c
470
of_node_put(ep);
drivers/media/platform/samsung/exynos4-is/media-dev.c
487
for_each_child_of_node_scoped(port, ep) {
drivers/media/platform/samsung/exynos4-is/media-dev.c
488
ret = fimc_md_parse_one_endpoint(fmd, ep);
drivers/media/platform/samsung/exynos4-is/media-dev.c
575
struct exynos_media_pipeline *ep;
drivers/media/platform/samsung/exynos4-is/media-dev.c
585
ep = fimc_md_pipeline_create(fmd);
drivers/media/platform/samsung/exynos4-is/media-dev.c
586
if (!ep)
drivers/media/platform/samsung/exynos4-is/media-dev.c
589
v4l2_set_subdev_hostdata(sd, ep);
drivers/media/platform/samsung/exynos4-is/media-dev.c
603
struct exynos_media_pipeline *ep;
drivers/media/platform/samsung/exynos4-is/media-dev.c
612
ep = fimc_md_pipeline_create(fmd);
drivers/media/platform/samsung/exynos4-is/media-dev.c
613
if (!ep)
drivers/media/platform/samsung/exynos4-is/media-dev.c
616
v4l2_set_subdev_hostdata(sd, ep);
drivers/media/platform/samsung/exynos4-is/media-dev.c
659
struct exynos_media_pipeline *ep;
drivers/media/platform/samsung/exynos4-is/media-dev.c
663
ep = fimc_md_pipeline_create(fmd);
drivers/media/platform/samsung/exynos4-is/media-dev.c
664
if (!ep)
drivers/media/platform/samsung/exynos4-is/media-dev.c
667
v4l2_set_subdev_hostdata(sd, ep);
drivers/media/platform/samsung/exynos4-is/media-dev.h
190
struct exynos_media_pipeline *ep,
drivers/media/platform/samsung/exynos4-is/media-dev.h
193
struct fimc_pipeline *p = to_fimc_pipeline(ep);
drivers/media/platform/samsung/exynos4-is/media-dev.h
55
struct exynos_media_pipeline ep;
drivers/media/platform/samsung/exynos4-is/media-dev.h
61
#define to_fimc_pipeline(_ep) container_of(_ep, struct fimc_pipeline, ep)
drivers/media/platform/st/stm32/stm32-csi.c
926
struct fwnode_handle *ep;
drivers/media/platform/st/stm32/stm32-csi.c
930
ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(csidev->dev), 0, 0,
drivers/media/platform/st/stm32/stm32-csi.c
932
if (!ep) {
drivers/media/platform/st/stm32/stm32-csi.c
937
ret = v4l2_fwnode_endpoint_parse(ep, &v4l2_ep);
drivers/media/platform/st/stm32/stm32-csi.c
956
asd = v4l2_async_nf_add_fwnode_remote(&csidev->notifier, ep,
drivers/media/platform/st/stm32/stm32-csi.c
976
fwnode_handle_put(ep);
drivers/media/platform/st/stm32/stm32-dcmi.c
1849
struct device_node *ep;
drivers/media/platform/st/stm32/stm32-dcmi.c
1852
ep = of_graph_get_endpoint_by_regs(dcmi->dev->of_node, 0, -1);
drivers/media/platform/st/stm32/stm32-dcmi.c
1853
if (!ep) {
drivers/media/platform/st/stm32/stm32-dcmi.c
1861
of_fwnode_handle(ep),
drivers/media/platform/st/stm32/stm32-dcmi.c
1864
of_node_put(ep);
drivers/media/platform/st/stm32/stm32-dcmi.c
1886
struct v4l2_fwnode_endpoint ep = { .bus_type = 0 };
drivers/media/platform/st/stm32/stm32-dcmi.c
1910
ret = v4l2_fwnode_endpoint_parse(of_fwnode_handle(np), &ep);
drivers/media/platform/st/stm32/stm32-dcmi.c
1917
if (ep.bus_type == V4L2_MBUS_CSI2_DPHY) {
drivers/media/platform/st/stm32/stm32-dcmi.c
1922
if (ep.bus_type == V4L2_MBUS_BT656 &&
drivers/media/platform/st/stm32/stm32-dcmi.c
1923
ep.bus.parallel.bus_width != 8) {
drivers/media/platform/st/stm32/stm32-dcmi.c
1925
ep.bus.parallel.bus_width);
drivers/media/platform/st/stm32/stm32-dcmi.c
1929
dcmi->bus.flags = ep.bus.parallel.flags;
drivers/media/platform/st/stm32/stm32-dcmi.c
1930
dcmi->bus.bus_width = ep.bus.parallel.bus_width;
drivers/media/platform/st/stm32/stm32-dcmi.c
1931
dcmi->bus.data_shift = ep.bus.parallel.data_shift;
drivers/media/platform/st/stm32/stm32-dcmi.c
1932
dcmi->bus_type = ep.bus_type;
drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-core.c
307
struct fwnode_handle *ep;
drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-core.c
323
ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(dcmipp->dev), 0, 0,
drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-core.c
325
if (!ep) {
drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-core.c
338
ret = v4l2_fwnode_endpoint_parse(ep, &vep);
drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-core.c
343
fwnode_handle_put(ep);
drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-core.c
432
struct fwnode_handle *ep;
drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-core.c
435
ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(dcmipp->dev), 0, 0,
drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-core.c
437
if (!ep) {
drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-core.c
444
asd = v4l2_async_nf_add_fwnode_remote(&dcmipp->notifier, ep,
drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-core.c
447
fwnode_handle_put(ep);
drivers/media/platform/sunxi/sun4i-csi/sun4i_csi.c
132
struct fwnode_handle *ep;
drivers/media/platform/sunxi/sun4i-csi/sun4i_csi.c
137
ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(csi->dev), 0, 0,
drivers/media/platform/sunxi/sun4i-csi/sun4i_csi.c
139
if (!ep)
drivers/media/platform/sunxi/sun4i-csi/sun4i_csi.c
142
ret = v4l2_fwnode_endpoint_parse(ep, &vep);
drivers/media/platform/sunxi/sun4i-csi/sun4i_csi.c
148
asd = v4l2_async_nf_add_fwnode_remote(&csi->notifier, ep,
drivers/media/platform/sunxi/sun4i-csi/sun4i_csi.c
158
fwnode_handle_put(ep);
drivers/media/platform/synopsys/dw-mipi-csi2rx.c
506
struct fwnode_handle *ep __free(fwnode_handle) =
drivers/media/platform/synopsys/dw-mipi-csi2rx.c
508
if (!ep)
drivers/media/platform/synopsys/dw-mipi-csi2rx.c
512
ret = v4l2_fwnode_endpoint_parse(ep, &vep);
drivers/media/platform/synopsys/dw-mipi-csi2rx.c
527
asd = v4l2_async_nf_add_fwnode_remote(ntf, ep,
drivers/media/platform/ti/omap3isp/isp.c
2121
struct fwnode_handle *ep;
drivers/media/platform/ti/omap3isp/isp.c
2125
ep = fwnode_graph_get_endpoint_by_id(
drivers/media/platform/ti/omap3isp/isp.c
2129
if (ep) {
drivers/media/platform/ti/omap3isp/isp.c
2137
ret = v4l2_fwnode_endpoint_parse(ep, &vep);
drivers/media/platform/ti/omap3isp/isp.c
2141
ep, struct
drivers/media/platform/ti/omap3isp/isp.c
2147
fwnode_handle_put(ep);
drivers/media/platform/ti/omap3isp/isp.c
2156
ep = fwnode_graph_get_endpoint_by_id(
drivers/media/platform/ti/omap3isp/isp.c
2160
if (!ep)
drivers/media/platform/ti/omap3isp/isp.c
2164
to_of_node(ep));
drivers/media/platform/ti/omap3isp/isp.c
2166
ret = v4l2_fwnode_endpoint_parse(ep, &vep);
drivers/media/platform/ti/omap3isp/isp.c
2170
ret = v4l2_fwnode_endpoint_parse(ep, &vep);
drivers/media/platform/ti/omap3isp/isp.c
2175
ret = v4l2_fwnode_endpoint_parse(ep, &vep);
drivers/media/platform/ti/omap3isp/isp.c
2181
ep,
drivers/media/platform/ti/omap3isp/isp.c
2205
fwnode_handle_put(ep);
drivers/media/platform/ti/vpe/vip.c
3322
struct fwnode_handle *ep)
drivers/media/platform/ti/vpe/vip.c
3333
subdev = fwnode_graph_get_remote_port_parent(ep);
drivers/media/platform/ti/vpe/vip.c
3339
ret = v4l2_fwnode_endpoint_parse(ep, vep);
drivers/media/platform/ti/vpe/vip.c
3370
struct device_node *ep = NULL;
drivers/media/platform/ti/vpe/vip.c
3374
ep = of_graph_get_endpoint_by_regs(parent, p, 0);
drivers/media/platform/ti/vpe/vip.c
3375
if (!ep)
drivers/media/platform/ti/vpe/vip.c
3379
of_node_put(ep);
drivers/media/platform/ti/vpe/vip.c
3392
struct fwnode_handle *ep = NULL;
drivers/media/platform/ti/vpe/vip.c
3414
ep = fwnode_graph_get_next_endpoint_by_regs(of_fwnode_handle(parent),
drivers/media/platform/ti/vpe/vip.c
3416
if (!ep)
drivers/media/platform/ti/vpe/vip.c
3449
vip_register_subdev_notify(port, ep);
drivers/media/platform/ti/vpe/vip.c
3450
fwnode_handle_put(ep);
drivers/media/platform/video-mux.c
341
struct fwnode_handle *ep, *remote_ep;
drivers/media/platform/video-mux.c
343
ep = fwnode_graph_get_endpoint_by_id(
drivers/media/platform/video-mux.c
346
if (!ep)
drivers/media/platform/video-mux.c
350
remote_ep = fwnode_graph_get_remote_endpoint(ep);
drivers/media/platform/video-mux.c
352
fwnode_handle_put(ep);
drivers/media/platform/video-mux.c
357
asd = v4l2_async_nf_add_fwnode_remote(&vmux->notifier, ep,
drivers/media/platform/video-mux.c
360
fwnode_handle_put(ep);
drivers/media/platform/video-mux.c
393
struct device_node *ep;
drivers/media/platform/video-mux.c
415
for_each_endpoint_of_node(np, ep) {
drivers/media/platform/video-mux.c
418
of_graph_parse_endpoint(ep, &endpoint);
drivers/media/platform/xilinx/xilinx-csi2rxss.c
804
struct fwnode_handle *ep;
drivers/media/platform/xilinx/xilinx-csi2rxss.c
861
ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(dev),
drivers/media/platform/xilinx/xilinx-csi2rxss.c
864
if (!ep) {
drivers/media/platform/xilinx/xilinx-csi2rxss.c
869
ret = v4l2_fwnode_endpoint_parse(ep, &vep);
drivers/media/platform/xilinx/xilinx-csi2rxss.c
870
fwnode_handle_put(ep);
drivers/media/platform/xilinx/xilinx-csi2rxss.c
881
ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(dev),
drivers/media/platform/xilinx/xilinx-csi2rxss.c
884
if (!ep) {
drivers/media/platform/xilinx/xilinx-csi2rxss.c
889
fwnode_handle_put(ep);
drivers/media/platform/xilinx/xilinx-vipp.c
102
ep);
drivers/media/platform/xilinx/xilinx-vipp.c
175
fwnode_handle_put(ep);
drivers/media/platform/xilinx/xilinx-vipp.c
202
struct device_node *ep;
drivers/media/platform/xilinx/xilinx-vipp.c
208
for_each_endpoint_of_node(node, ep) {
drivers/media/platform/xilinx/xilinx-vipp.c
209
dev_dbg(xdev->dev, "processing endpoint %pOF\n", ep);
drivers/media/platform/xilinx/xilinx-vipp.c
211
ret = v4l2_fwnode_parse_link(of_fwnode_handle(ep), &link);
drivers/media/platform/xilinx/xilinx-vipp.c
214
ep);
drivers/media/platform/xilinx/xilinx-vipp.c
281
of_node_put(ep);
drivers/media/platform/xilinx/xilinx-vipp.c
336
struct fwnode_handle *ep = NULL;
drivers/media/platform/xilinx/xilinx-vipp.c
344
ep = fwnode_graph_get_next_endpoint(fwnode, ep);
drivers/media/platform/xilinx/xilinx-vipp.c
345
if (ep == NULL)
drivers/media/platform/xilinx/xilinx-vipp.c
348
dev_dbg(xdev->dev, "handling endpoint %p\n", ep);
drivers/media/platform/xilinx/xilinx-vipp.c
350
remote = fwnode_graph_get_remote_port_parent(ep);
drivers/media/platform/xilinx/xilinx-vipp.c
356
fwnode_handle_put(ep);
drivers/media/platform/xilinx/xilinx-vipp.c
378
fwnode_handle_put(ep);
drivers/media/platform/xilinx/xilinx-vipp.c
85
struct fwnode_handle *ep = NULL;
drivers/media/platform/xilinx/xilinx-vipp.c
92
ep = fwnode_graph_get_next_endpoint(entity->asd.match.fwnode,
drivers/media/platform/xilinx/xilinx-vipp.c
93
ep);
drivers/media/platform/xilinx/xilinx-vipp.c
94
if (ep == NULL)
drivers/media/platform/xilinx/xilinx-vipp.c
97
dev_dbg(xdev->dev, "processing endpoint %p\n", ep);
drivers/media/platform/xilinx/xilinx-vipp.c
99
ret = v4l2_fwnode_parse_link(ep, &link);
drivers/media/rc/igorplugusb.c
144
struct usb_endpoint_descriptor *ep;
drivers/media/rc/igorplugusb.c
157
ep = &idesc->endpoint[0].desc;
drivers/media/rc/igorplugusb.c
158
if (!usb_endpoint_dir_in(ep) || !usb_endpoint_xfer_control(ep)) {
drivers/media/rc/imon.c
2137
struct usb_endpoint_descriptor *ep;
drivers/media/rc/imon.c
2153
ep = &iface_desc->endpoint[i].desc;
drivers/media/rc/imon.c
2154
ep_dir = ep->bEndpointAddress & USB_ENDPOINT_DIR_MASK;
drivers/media/rc/imon.c
2155
ep_type = usb_endpoint_type(ep);
drivers/media/rc/imon.c
2160
rx_endpoint = ep;
drivers/media/rc/imon.c
2166
tx_endpoint = ep;
drivers/media/rc/imon_raw.c
119
struct usb_endpoint_descriptor *ep = &idesc->endpoint[i].desc;
drivers/media/rc/imon_raw.c
121
if (usb_endpoint_is_int_in(ep)) {
drivers/media/rc/imon_raw.c
122
ir_ep = ep;
drivers/media/rc/ir_toy.c
398
struct usb_endpoint_descriptor *ep = NULL;
drivers/media/rc/ir_toy.c
405
ep = &idesc->endpoint[i].desc;
drivers/media/rc/ir_toy.c
407
if (!ep_in && usb_endpoint_is_bulk_in(ep) &&
drivers/media/rc/ir_toy.c
408
usb_endpoint_maxp(ep) == MAX_PACKET)
drivers/media/rc/ir_toy.c
409
ep_in = ep;
drivers/media/rc/ir_toy.c
411
if (!ep_out && usb_endpoint_is_bulk_out(ep) &&
drivers/media/rc/ir_toy.c
412
usb_endpoint_maxp(ep) == MAX_PACKET)
drivers/media/rc/ir_toy.c
413
ep_out = ep;
drivers/media/rc/mceusb.c
1656
struct usb_endpoint_descriptor *ep = NULL;
drivers/media/rc/mceusb.c
1683
ep = &idesc->endpoint[i].desc;
drivers/media/rc/mceusb.c
1686
if (usb_endpoint_is_bulk_in(ep)) {
drivers/media/rc/mceusb.c
1687
ep_in = ep;
drivers/media/rc/mceusb.c
1689
} else if (usb_endpoint_is_int_in(ep)) {
drivers/media/rc/mceusb.c
1690
ep_in = ep;
drivers/media/rc/mceusb.c
1697
if (usb_endpoint_is_bulk_out(ep)) {
drivers/media/rc/mceusb.c
1698
ep_out = ep;
drivers/media/rc/mceusb.c
1700
} else if (usb_endpoint_is_int_out(ep)) {
drivers/media/rc/mceusb.c
1701
ep_out = ep;
drivers/media/rc/redrat3.c
1000
if (ep->bEndpointAddress == RR3_NARROW_IN_EP_ADDR)
drivers/media/rc/redrat3.c
1001
ep_narrow = ep;
drivers/media/rc/redrat3.c
1002
if (ep->bEndpointAddress == RR3_WIDE_IN_EP_ADDR)
drivers/media/rc/redrat3.c
1003
ep_wide = ep;
drivers/media/rc/redrat3.c
1011
ep->bEndpointAddress);
drivers/media/rc/redrat3.c
1012
ep_out = ep;
drivers/media/rc/redrat3.c
978
struct usb_endpoint_descriptor *ep;
drivers/media/rc/redrat3.c
990
ep = &uhi->endpoint[i].desc;
drivers/media/rc/redrat3.c
991
addr = ep->bEndpointAddress;
drivers/media/rc/redrat3.c
992
attrs = ep->bmAttributes;
drivers/media/rc/redrat3.c
998
ep->bEndpointAddress);
drivers/media/usb/dvb-usb-v2/lmedm04.c
375
struct usb_host_endpoint *ep;
drivers/media/usb/dvb-usb-v2/lmedm04.c
393
ep = usb_pipe_endpoint(d->udev, lme_int->lme_urb->pipe);
drivers/media/usb/dvb-usb-v2/lmedm04.c
394
if (!ep) {
drivers/media/usb/dvb-usb-v2/lmedm04.c
399
if (usb_endpoint_type(&ep->desc) == USB_ENDPOINT_XFER_BULK)
drivers/media/usb/dvb-usb/cxusb.c
456
int ep = d->props.generic_bulk_ctrl_endpoint;
drivers/media/usb/dvb-usb/cxusb.c
468
usb_rcvbulkpipe(d->udev, ep),
drivers/media/usb/dvb-usb/dib0700_devices.c
4017
#define DIB0700_DEFAULT_STREAMING_CONFIG(ep) \
drivers/media/usb/dvb-usb/dib0700_devices.c
4022
.endpoint = ep, \
drivers/media/usb/dvb-usb/m920x.c
351
int ep = adap->props.fe[0].stream.endpoint;
drivers/media/usb/dvb-usb/m920x.c
358
if ((ret = m920x_set_filter(adap->dev, ep, 1, enabled)) != 0)
drivers/media/usb/dvb-usb/m920x.c
362
if ((ret = m920x_set_filter(adap->dev, ep, i + 2, 0)) != 0)
drivers/media/usb/dvb-usb/m920x.c
371
if ((ret = m920x_set_filter(adap->dev, ep, filter + 2, m->filters[adap->id][i])) != 0)
drivers/media/usb/em28xx/em28xx-audio.c
661
struct usb_endpoint_descriptor *e, *ep = NULL;
drivers/media/usb/em28xx/em28xx-audio.c
685
ep = e;
drivers/media/usb/em28xx/em28xx-audio.c
690
if (!ep) {
drivers/media/usb/em28xx/em28xx-audio.c
695
ep_size = em28xx_audio_ep_packet_size(udev, ep);
drivers/media/usb/em28xx/em28xx-audio.c
696
interval = 1 << (ep->bInterval - 1);
drivers/media/usb/em28xx/em28xx-cards.c
3763
int alt, int ep,
drivers/media/usb/em28xx/em28xx-cards.c
3796
e = &intf->altsetting[alt].endpoint[ep].desc;
drivers/media/usb/em28xx/em28xx-cards.c
3926
int ep;
drivers/media/usb/em28xx/em28xx-cards.c
3928
for (ep = 0;
drivers/media/usb/em28xx/em28xx-cards.c
3929
ep < intf->altsetting[i].desc.bNumEndpoints;
drivers/media/usb/em28xx/em28xx-cards.c
3930
ep++)
drivers/media/usb/em28xx/em28xx-cards.c
3932
i, ep,
drivers/media/usb/go7007/go7007-usb.c
1047
struct usb_host_endpoint *ep;
drivers/media/usb/go7007/go7007-usb.c
1135
ep = usb->usbdev->ep_in[4];
drivers/media/usb/go7007/go7007-usb.c
1136
if (!ep)
drivers/media/usb/go7007/go7007-usb.c
1148
if (usb_endpoint_type(&ep->desc) == USB_ENDPOINT_XFER_BULK)
drivers/media/usb/gspca/gspca.c
155
struct usb_endpoint_descriptor *ep)
drivers/media/usb/gspca/gspca.c
164
buffer_len = le16_to_cpu(ep->wMaxPacketSize);
drivers/media/usb/gspca/gspca.c
165
interval = ep->bInterval;
drivers/media/usb/gspca/gspca.c
167
ep->bEndpointAddress, buffer_len, interval);
drivers/media/usb/gspca/gspca.c
184
usb_rcvintpipe(dev, ep->bEndpointAddress),
drivers/media/usb/gspca/gspca.c
212
struct usb_endpoint_descriptor *ep;
drivers/media/usb/gspca/gspca.c
219
ep = &intf_desc->endpoint[i].desc;
drivers/media/usb/gspca/gspca.c
220
if (usb_endpoint_dir_in(ep) &&
drivers/media/usb/gspca/gspca.c
221
usb_endpoint_xfer_int(ep)) {
drivers/media/usb/gspca/gspca.c
223
alloc_and_submit_int_urb(gspca_dev, ep);
drivers/media/usb/gspca/gspca.c
515
struct usb_host_endpoint *ep;
drivers/media/usb/gspca/gspca.c
519
ep = &alt->endpoint[i];
drivers/media/usb/gspca/gspca.c
520
attr = ep->desc.bmAttributes & USB_ENDPOINT_XFERTYPE_MASK;
drivers/media/usb/gspca/gspca.c
522
&& ep->desc.wMaxPacketSize != 0
drivers/media/usb/gspca/gspca.c
523
&& usb_endpoint_dir_in(&ep->desc)
drivers/media/usb/gspca/gspca.c
524
&& (xfer_ep < 0 || ep->desc.bEndpointAddress == xfer_ep))
drivers/media/usb/gspca/gspca.c
525
return ep;
drivers/media/usb/gspca/gspca.c
581
struct usb_host_endpoint *ep;
drivers/media/usb/gspca/gspca.c
596
ep = alt_xfer(&intf->altsetting[j],
drivers/media/usb/gspca/gspca.c
599
if (ep == NULL)
drivers/media/usb/gspca/gspca.c
601
if (ep->desc.bInterval == 0) {
drivers/media/usb/gspca/gspca.c
605
psize = le16_to_cpu(ep->desc.wMaxPacketSize);
drivers/media/usb/gspca/gspca.c
611
bandwidth /= 1 << (ep->desc.bInterval - 1);
drivers/media/usb/gspca/gspca.c
662
struct usb_host_endpoint *ep)
drivers/media/usb/gspca/gspca.c
668
psize = le16_to_cpu(ep->desc.wMaxPacketSize);
drivers/media/usb/gspca/gspca.c
716
ep->desc.bEndpointAddress);
drivers/media/usb/gspca/gspca.c
719
urb->interval = 1 << (ep->desc.bInterval - 1);
drivers/media/usb/gspca/gspca.c
728
ep->desc.bEndpointAddress);
drivers/media/usb/gspca/gspca.c
759
struct usb_host_endpoint *ep;
drivers/media/usb/gspca/gspca.c
785
ep = alt_xfer(&intf->altsetting[gspca_dev->alt], xfer,
drivers/media/usb/gspca/gspca.c
787
if (ep == NULL) {
drivers/media/usb/usbtv/usbtv-core.c
74
struct usb_host_endpoint *ep;
drivers/media/usb/usbtv/usbtv-core.c
82
ep = &intf->altsetting[1].endpoint[0];
drivers/media/usb/usbtv/usbtv-core.c
86
size = usb_endpoint_maxp(&ep->desc);
drivers/media/usb/usbtv/usbtv-core.c
87
size = size * usb_endpoint_maxp_mult(&ep->desc);
drivers/media/usb/uvc/uvc_driver.c
1271
struct usb_host_endpoint *ep = &alts->endpoint[0];
drivers/media/usb/uvc/uvc_driver.c
1272
struct usb_endpoint_descriptor *desc = &ep->desc;
drivers/media/usb/uvc/uvc_driver.c
1280
dev->int_ep = ep;
drivers/media/usb/uvc/uvc_driver.c
49
struct usb_host_endpoint *ep;
drivers/media/usb/uvc/uvc_driver.c
53
ep = &alts->endpoint[i];
drivers/media/usb/uvc/uvc_driver.c
54
if (ep->desc.bEndpointAddress == epaddr)
drivers/media/usb/uvc/uvc_driver.c
55
return ep;
drivers/media/usb/uvc/uvc_driver.c
575
struct usb_host_endpoint *ep = &alts->endpoint[i];
drivers/media/usb/uvc/uvc_driver.c
577
if (ep->extralen == 0)
drivers/media/usb/uvc/uvc_driver.c
580
if (ep->extralen > 2 &&
drivers/media/usb/uvc/uvc_driver.c
581
ep->extra[1] == USB_DT_CS_INTERFACE) {
drivers/media/usb/uvc/uvc_driver.c
772
struct usb_host_endpoint *ep;
drivers/media/usb/uvc/uvc_driver.c
775
ep = uvc_find_endpoint(alts,
drivers/media/usb/uvc/uvc_driver.c
777
if (ep == NULL)
drivers/media/usb/uvc/uvc_driver.c
779
psize = usb_endpoint_max_periodic_payload(dev->udev, ep);
drivers/media/usb/uvc/uvc_status.c
257
struct usb_host_endpoint *ep = dev->int_ep;
drivers/media/usb/uvc/uvc_status.c
263
if (ep == NULL)
drivers/media/usb/uvc/uvc_status.c
277
pipe = usb_rcvintpipe(dev->udev, ep->desc.bEndpointAddress);
drivers/media/usb/uvc/uvc_status.c
283
interval = ep->desc.bInterval;
drivers/media/usb/uvc/uvc_video.c
1880
struct usb_host_endpoint *ep, gfp_t gfp_flags)
drivers/media/usb/uvc/uvc_video.c
1888
psize = usb_endpoint_max_periodic_payload(stream->dev->udev, ep);
drivers/media/usb/uvc/uvc_video.c
1907
ep->desc.bEndpointAddress);
drivers/media/usb/uvc/uvc_video.c
1910
urb->interval = ep->desc.bInterval;
drivers/media/usb/uvc/uvc_video.c
1933
struct usb_host_endpoint *ep, gfp_t gfp_flags)
drivers/media/usb/uvc/uvc_video.c
1941
psize = usb_endpoint_maxp(&ep->desc);
drivers/media/usb/uvc/uvc_video.c
1951
if (usb_endpoint_dir_in(&ep->desc))
drivers/media/usb/uvc/uvc_video.c
1953
ep->desc.bEndpointAddress);
drivers/media/usb/uvc/uvc_video.c
1956
ep->desc.bEndpointAddress);
drivers/media/usb/uvc/uvc_video.c
1987
struct usb_host_endpoint *ep;
drivers/media/usb/uvc/uvc_video.c
2025
ep = uvc_find_endpoint(alts,
drivers/media/usb/uvc/uvc_video.c
2027
if (ep == NULL)
drivers/media/usb/uvc/uvc_video.c
2031
psize = usb_endpoint_max_periodic_payload(stream->dev->udev, ep);
drivers/media/usb/uvc/uvc_video.c
2035
best_ep = ep;
drivers/media/usb/uvc/uvc_video.c
2067
ep = uvc_find_endpoint(&intf->altsetting[0],
drivers/media/usb/uvc/uvc_video.c
2069
if (ep == NULL)
drivers/media/usb/uvc/uvc_video.c
2073
if (usb_endpoint_maxp(&ep->desc) == 0)
drivers/media/usb/uvc/uvc_video.c
2076
ret = uvc_init_video_bulk(stream, ep, gfp_flags);
drivers/misc/vmw_vmci/vmci_queue_pair.c
2400
struct qp_guest_endpoint *ep;
drivers/misc/vmw_vmci/vmci_queue_pair.c
2405
ep = (struct qp_guest_endpoint *)entry;
drivers/misc/vmw_vmci/vmci_queue_pair.c
2415
qp_guest_endpoint_destroy(ep);
drivers/most/most_usb.c
183
static inline int start_sync_ep(struct usb_device *usb_dev, u16 ep)
drivers/most/most_usb.c
185
return drci_wr_reg(usb_dev, DRCI_REG_BASE + DRCI_COMMAND + ep * 16, 1);
drivers/most/most_usb.c
629
u16 ep = mdev->ep_address[channel];
drivers/most/most_usb.c
631
if (start_sync_ep(mdev->usb_device, ep) < 0)
drivers/most/most_usb.c
632
dev_warn(dev, "sync for ep%02x failed", ep);
drivers/mtd/nand/raw/nand_onfi.c
106
kfree(ep);
drivers/mtd/nand/raw/nand_onfi.c
39
struct onfi_ext_param_page *ep;
drivers/mtd/nand/raw/nand_onfi.c
48
ep = kmalloc(len, GFP_KERNEL);
drivers/mtd/nand/raw/nand_onfi.c
49
if (!ep)
drivers/mtd/nand/raw/nand_onfi.c
58
ep, len, true);
drivers/mtd/nand/raw/nand_onfi.c
63
if ((onfi_crc16(ONFI_CRC_BASE, ((uint8_t *)ep) + 2, len - 2)
drivers/mtd/nand/raw/nand_onfi.c
64
!= le16_to_cpu(ep->crc))) {
drivers/mtd/nand/raw/nand_onfi.c
73
if (strncmp(ep->sig, "EPPS", 4)) {
drivers/mtd/nand/raw/nand_onfi.c
79
cursor = (uint8_t *)(ep + 1);
drivers/mtd/nand/raw/nand_onfi.c
81
s = ep->sections + i;
drivers/net/bonding/bond_main.c
4104
struct ethhdr *ep;
drivers/net/bonding/bond_main.c
4110
ep = (struct ethhdr *)(data + mhoff);
drivers/net/bonding/bond_main.c
4111
return ep->h_dest[5] ^ ep->h_source[5] ^ be16_to_cpu(ep->h_proto);
drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c
1738
struct usb_endpoint_descriptor *ep;
drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c
1744
ep = &iface_desc->endpoint[i].desc;
drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c
1746
if (!dev->bulk_in && usb_endpoint_is_bulk_in(ep) &&
drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c
1747
ep->bEndpointAddress == KVASER_USB_HYDRA_BULK_EP_IN_ADDR)
drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c
1748
dev->bulk_in = ep;
drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c
1750
if (!dev->bulk_out && usb_endpoint_is_bulk_out(ep) &&
drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c
1751
ep->bEndpointAddress == KVASER_USB_HYDRA_BULK_EP_OUT_ADDR)
drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c
1752
dev->bulk_out = ep;
drivers/net/can/usb/peak_usb/pcan_usb.c
940
struct usb_endpoint_descriptor *ep = &if_desc->endpoint[i].desc;
drivers/net/can/usb/peak_usb/pcan_usb.c
942
switch (ep->bEndpointAddress) {
drivers/net/can/usb/peak_usb/pcan_usb_pro.c
989
struct usb_endpoint_descriptor *ep = &if_desc->endpoint[i].desc;
drivers/net/can/usb/peak_usb/pcan_usb_pro.c
995
switch (ep->bEndpointAddress) {
drivers/net/can/usb/ucan.c
1311
struct usb_endpoint_descriptor *ep;
drivers/net/can/usb/ucan.c
1351
ep = &iface_desc->endpoint[i].desc;
drivers/net/can/usb/ucan.c
1353
if (((ep->bEndpointAddress & USB_ENDPOINT_DIR_MASK) != 0) &&
drivers/net/can/usb/ucan.c
1354
((ep->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) ==
drivers/net/can/usb/ucan.c
1357
in_ep_addr = ep->bEndpointAddress;
drivers/net/can/usb/ucan.c
1359
in_ep_size = le16_to_cpu(ep->wMaxPacketSize);
drivers/net/can/usb/ucan.c
1360
} else if (((ep->bEndpointAddress & USB_ENDPOINT_DIR_MASK) ==
drivers/net/can/usb/ucan.c
1362
((ep->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) ==
drivers/net/can/usb/ucan.c
1365
out_ep_addr = ep->bEndpointAddress;
drivers/net/can/usb/ucan.c
1367
out_ep_size = le16_to_cpu(ep->wMaxPacketSize);
drivers/net/ethernet/cirrus/ep93xx_eth.c
176
#define rdb(ep, off) __raw_readb((ep)->base_addr + (off))
drivers/net/ethernet/cirrus/ep93xx_eth.c
177
#define rdw(ep, off) __raw_readw((ep)->base_addr + (off))
drivers/net/ethernet/cirrus/ep93xx_eth.c
178
#define rdl(ep, off) __raw_readl((ep)->base_addr + (off))
drivers/net/ethernet/cirrus/ep93xx_eth.c
179
#define wrb(ep, off, val) __raw_writeb((val), (ep)->base_addr + (off))
drivers/net/ethernet/cirrus/ep93xx_eth.c
180
#define wrw(ep, off, val) __raw_writew((val), (ep)->base_addr + (off))
drivers/net/ethernet/cirrus/ep93xx_eth.c
181
#define wrl(ep, off, val) __raw_writel((val), (ep)->base_addr + (off))
drivers/net/ethernet/cirrus/ep93xx_eth.c
185
struct ep93xx_priv *ep = netdev_priv(dev);
drivers/net/ethernet/cirrus/ep93xx_eth.c
189
wrl(ep, REG_MIICMD, REG_MIICMD_READ | (phy_id << 5) | reg);
drivers/net/ethernet/cirrus/ep93xx_eth.c
192
if ((rdl(ep, REG_MIISTS) & REG_MIISTS_BUSY) == 0)
drivers/net/ethernet/cirrus/ep93xx_eth.c
201
data = rdl(ep, REG_MIIDATA);
drivers/net/ethernet/cirrus/ep93xx_eth.c
209
struct ep93xx_priv *ep = netdev_priv(dev);
drivers/net/ethernet/cirrus/ep93xx_eth.c
212
wrl(ep, REG_MIIDATA, data);
drivers/net/ethernet/cirrus/ep93xx_eth.c
213
wrl(ep, REG_MIICMD, REG_MIICMD_WRITE | (phy_id << 5) | reg);
drivers/net/ethernet/cirrus/ep93xx_eth.c
216
if ((rdl(ep, REG_MIISTS) & REG_MIISTS_BUSY) == 0)
drivers/net/ethernet/cirrus/ep93xx_eth.c
227
struct ep93xx_priv *ep = netdev_priv(dev);
drivers/net/ethernet/cirrus/ep93xx_eth.c
238
entry = ep->rx_pointer;
drivers/net/ethernet/cirrus/ep93xx_eth.c
239
rstat = ep->descs->rstat + entry;
drivers/net/ethernet/cirrus/ep93xx_eth.c
281
struct ep93xx_rdesc *rxd = &ep->descs->rdesc[entry];
drivers/net/ethernet/cirrus/ep93xx_eth.c
285
skb_copy_to_linear_data(skb, ep->rx_buf[entry], length);
drivers/net/ethernet/cirrus/ep93xx_eth.c
292
napi_gro_receive(&ep->napi, skb);
drivers/net/ethernet/cirrus/ep93xx_eth.c
301
ep->rx_pointer = (entry + 1) & (RX_QUEUE_ENTRIES - 1);
drivers/net/ethernet/cirrus/ep93xx_eth.c
310
struct ep93xx_priv *ep = container_of(napi, struct ep93xx_priv, napi);
drivers/net/ethernet/cirrus/ep93xx_eth.c
311
struct net_device *dev = ep->dev;
drivers/net/ethernet/cirrus/ep93xx_eth.c
316
spin_lock_irq(&ep->rx_lock);
drivers/net/ethernet/cirrus/ep93xx_eth.c
317
wrl(ep, REG_INTEN, REG_INTEN_TX | REG_INTEN_RX);
drivers/net/ethernet/cirrus/ep93xx_eth.c
318
spin_unlock_irq(&ep->rx_lock);
drivers/net/ethernet/cirrus/ep93xx_eth.c
322
wrw(ep, REG_RXDENQ, rx);
drivers/net/ethernet/cirrus/ep93xx_eth.c
323
wrw(ep, REG_RXSTSENQ, rx);
drivers/net/ethernet/cirrus/ep93xx_eth.c
331
struct ep93xx_priv *ep = netdev_priv(dev);
drivers/net/ethernet/cirrus/ep93xx_eth.c
341
entry = ep->tx_pointer;
drivers/net/ethernet/cirrus/ep93xx_eth.c
342
ep->tx_pointer = (ep->tx_pointer + 1) & (TX_QUEUE_ENTRIES - 1);
drivers/net/ethernet/cirrus/ep93xx_eth.c
344
txd = &ep->descs->tdesc[entry];
drivers/net/ethernet/cirrus/ep93xx_eth.c
349
skb_copy_and_csum_dev(skb, ep->tx_buf[entry]);
drivers/net/ethernet/cirrus/ep93xx_eth.c
354
spin_lock_irq(&ep->tx_pending_lock);
drivers/net/ethernet/cirrus/ep93xx_eth.c
355
ep->tx_pending++;
drivers/net/ethernet/cirrus/ep93xx_eth.c
356
if (ep->tx_pending == TX_QUEUE_ENTRIES)
drivers/net/ethernet/cirrus/ep93xx_eth.c
358
spin_unlock_irq(&ep->tx_pending_lock);
drivers/net/ethernet/cirrus/ep93xx_eth.c
360
wrl(ep, REG_TXDENQ, 1);
drivers/net/ethernet/cirrus/ep93xx_eth.c
367
struct ep93xx_priv *ep = netdev_priv(dev);
drivers/net/ethernet/cirrus/ep93xx_eth.c
372
spin_lock(&ep->tx_pending_lock);
drivers/net/ethernet/cirrus/ep93xx_eth.c
378
entry = ep->tx_clean_pointer;
drivers/net/ethernet/cirrus/ep93xx_eth.c
379
tstat = ep->descs->tstat + entry;
drivers/net/ethernet/cirrus/ep93xx_eth.c
393
int length = ep->descs->tdesc[entry].tdesc1 & 0xfff;
drivers/net/ethernet/cirrus/ep93xx_eth.c
407
ep->tx_clean_pointer = (entry + 1) & (TX_QUEUE_ENTRIES - 1);
drivers/net/ethernet/cirrus/ep93xx_eth.c
408
if (ep->tx_pending == TX_QUEUE_ENTRIES)
drivers/net/ethernet/cirrus/ep93xx_eth.c
410
ep->tx_pending--;
drivers/net/ethernet/cirrus/ep93xx_eth.c
412
spin_unlock(&ep->tx_pending_lock);
drivers/net/ethernet/cirrus/ep93xx_eth.c
421
struct ep93xx_priv *ep = netdev_priv(dev);
drivers/net/ethernet/cirrus/ep93xx_eth.c
424
status = rdl(ep, REG_INTSTSC);
drivers/net/ethernet/cirrus/ep93xx_eth.c
429
spin_lock(&ep->rx_lock);
drivers/net/ethernet/cirrus/ep93xx_eth.c
430
if (likely(napi_schedule_prep(&ep->napi))) {
drivers/net/ethernet/cirrus/ep93xx_eth.c
431
wrl(ep, REG_INTEN, REG_INTEN_TX);
drivers/net/ethernet/cirrus/ep93xx_eth.c
432
__napi_schedule(&ep->napi);
drivers/net/ethernet/cirrus/ep93xx_eth.c
434
spin_unlock(&ep->rx_lock);
drivers/net/ethernet/cirrus/ep93xx_eth.c
443
static void ep93xx_free_buffers(struct ep93xx_priv *ep)
drivers/net/ethernet/cirrus/ep93xx_eth.c
445
struct device *dev = ep->dev->dev.parent;
drivers/net/ethernet/cirrus/ep93xx_eth.c
448
if (!ep->descs)
drivers/net/ethernet/cirrus/ep93xx_eth.c
454
d = ep->descs->rdesc[i].buf_addr;
drivers/net/ethernet/cirrus/ep93xx_eth.c
458
kfree(ep->rx_buf[i]);
drivers/net/ethernet/cirrus/ep93xx_eth.c
464
d = ep->descs->tdesc[i].buf_addr;
drivers/net/ethernet/cirrus/ep93xx_eth.c
468
kfree(ep->tx_buf[i]);
drivers/net/ethernet/cirrus/ep93xx_eth.c
471
dma_free_coherent(dev, sizeof(struct ep93xx_descs), ep->descs,
drivers/net/ethernet/cirrus/ep93xx_eth.c
472
ep->descs_dma_addr);
drivers/net/ethernet/cirrus/ep93xx_eth.c
473
ep->descs = NULL;
drivers/net/ethernet/cirrus/ep93xx_eth.c
476
static int ep93xx_alloc_buffers(struct ep93xx_priv *ep)
drivers/net/ethernet/cirrus/ep93xx_eth.c
478
struct device *dev = ep->dev->dev.parent;
drivers/net/ethernet/cirrus/ep93xx_eth.c
481
ep->descs = dma_alloc_coherent(dev, sizeof(struct ep93xx_descs),
drivers/net/ethernet/cirrus/ep93xx_eth.c
482
&ep->descs_dma_addr, GFP_KERNEL);
drivers/net/ethernet/cirrus/ep93xx_eth.c
483
if (ep->descs == NULL)
drivers/net/ethernet/cirrus/ep93xx_eth.c
500
ep->rx_buf[i] = buf;
drivers/net/ethernet/cirrus/ep93xx_eth.c
501
ep->descs->rdesc[i].buf_addr = d;
drivers/net/ethernet/cirrus/ep93xx_eth.c
502
ep->descs->rdesc[i].rdesc1 = (i << 16) | PKT_BUF_SIZE;
drivers/net/ethernet/cirrus/ep93xx_eth.c
519
ep->tx_buf[i] = buf;
drivers/net/ethernet/cirrus/ep93xx_eth.c
520
ep->descs->tdesc[i].buf_addr = d;
drivers/net/ethernet/cirrus/ep93xx_eth.c
526
ep93xx_free_buffers(ep);
drivers/net/ethernet/cirrus/ep93xx_eth.c
532
struct ep93xx_priv *ep = netdev_priv(dev);
drivers/net/ethernet/cirrus/ep93xx_eth.c
536
wrl(ep, REG_SELFCTL, REG_SELFCTL_RESET);
drivers/net/ethernet/cirrus/ep93xx_eth.c
538
if ((rdl(ep, REG_SELFCTL) & REG_SELFCTL_RESET) == 0)
drivers/net/ethernet/cirrus/ep93xx_eth.c
548
wrl(ep, REG_SELFCTL, ((ep->mdc_divisor - 1) << 9));
drivers/net/ethernet/cirrus/ep93xx_eth.c
551
if ((ep93xx_mdio_read(dev, ep->mii.phy_id, MII_BMSR) & 0x0040) != 0)
drivers/net/ethernet/cirrus/ep93xx_eth.c
552
wrl(ep, REG_SELFCTL, ((ep->mdc_divisor - 1) << 9) | (1 << 8));
drivers/net/ethernet/cirrus/ep93xx_eth.c
555
addr = ep->descs_dma_addr + offsetof(struct ep93xx_descs, rdesc);
drivers/net/ethernet/cirrus/ep93xx_eth.c
556
wrl(ep, REG_RXDQBADD, addr);
drivers/net/ethernet/cirrus/ep93xx_eth.c
557
wrl(ep, REG_RXDCURADD, addr);
drivers/net/ethernet/cirrus/ep93xx_eth.c
558
wrw(ep, REG_RXDQBLEN, RX_QUEUE_ENTRIES * sizeof(struct ep93xx_rdesc));
drivers/net/ethernet/cirrus/ep93xx_eth.c
561
addr = ep->descs_dma_addr + offsetof(struct ep93xx_descs, rstat);
drivers/net/ethernet/cirrus/ep93xx_eth.c
562
wrl(ep, REG_RXSTSQBADD, addr);
drivers/net/ethernet/cirrus/ep93xx_eth.c
563
wrl(ep, REG_RXSTSQCURADD, addr);
drivers/net/ethernet/cirrus/ep93xx_eth.c
564
wrw(ep, REG_RXSTSQBLEN, RX_QUEUE_ENTRIES * sizeof(struct ep93xx_rstat));
drivers/net/ethernet/cirrus/ep93xx_eth.c
567
addr = ep->descs_dma_addr + offsetof(struct ep93xx_descs, tdesc);
drivers/net/ethernet/cirrus/ep93xx_eth.c
568
wrl(ep, REG_TXDQBADD, addr);
drivers/net/ethernet/cirrus/ep93xx_eth.c
569
wrl(ep, REG_TXDQCURADD, addr);
drivers/net/ethernet/cirrus/ep93xx_eth.c
570
wrw(ep, REG_TXDQBLEN, TX_QUEUE_ENTRIES * sizeof(struct ep93xx_tdesc));
drivers/net/ethernet/cirrus/ep93xx_eth.c
573
addr = ep->descs_dma_addr + offsetof(struct ep93xx_descs, tstat);
drivers/net/ethernet/cirrus/ep93xx_eth.c
574
wrl(ep, REG_TXSTSQBADD, addr);
drivers/net/ethernet/cirrus/ep93xx_eth.c
575
wrl(ep, REG_TXSTSQCURADD, addr);
drivers/net/ethernet/cirrus/ep93xx_eth.c
576
wrw(ep, REG_TXSTSQBLEN, TX_QUEUE_ENTRIES * sizeof(struct ep93xx_tstat));
drivers/net/ethernet/cirrus/ep93xx_eth.c
578
wrl(ep, REG_BMCTL, REG_BMCTL_ENABLE_TX | REG_BMCTL_ENABLE_RX);
drivers/net/ethernet/cirrus/ep93xx_eth.c
579
wrl(ep, REG_INTEN, REG_INTEN_TX | REG_INTEN_RX);
drivers/net/ethernet/cirrus/ep93xx_eth.c
580
wrl(ep, REG_GIINTMSK, 0);
drivers/net/ethernet/cirrus/ep93xx_eth.c
583
if ((rdl(ep, REG_BMSTS) & REG_BMSTS_RX_ACTIVE) != 0)
drivers/net/ethernet/cirrus/ep93xx_eth.c
593
wrl(ep, REG_RXDENQ, RX_QUEUE_ENTRIES);
drivers/net/ethernet/cirrus/ep93xx_eth.c
594
wrl(ep, REG_RXSTSENQ, RX_QUEUE_ENTRIES);
drivers/net/ethernet/cirrus/ep93xx_eth.c
596
wrb(ep, REG_INDAD0, dev->dev_addr[0]);
drivers/net/ethernet/cirrus/ep93xx_eth.c
597
wrb(ep, REG_INDAD1, dev->dev_addr[1]);
drivers/net/ethernet/cirrus/ep93xx_eth.c
598
wrb(ep, REG_INDAD2, dev->dev_addr[2]);
drivers/net/ethernet/cirrus/ep93xx_eth.c
599
wrb(ep, REG_INDAD3, dev->dev_addr[3]);
drivers/net/ethernet/cirrus/ep93xx_eth.c
600
wrb(ep, REG_INDAD4, dev->dev_addr[4]);
drivers/net/ethernet/cirrus/ep93xx_eth.c
601
wrb(ep, REG_INDAD5, dev->dev_addr[5]);
drivers/net/ethernet/cirrus/ep93xx_eth.c
602
wrl(ep, REG_AFP, 0);
drivers/net/ethernet/cirrus/ep93xx_eth.c
604
wrl(ep, REG_MAXFRMLEN, (MAX_PKT_SIZE << 16) | MAX_PKT_SIZE);
drivers/net/ethernet/cirrus/ep93xx_eth.c
606
wrl(ep, REG_RXCTL, REG_RXCTL_DEFAULT);
drivers/net/ethernet/cirrus/ep93xx_eth.c
607
wrl(ep, REG_TXCTL, REG_TXCTL_ENABLE);
drivers/net/ethernet/cirrus/ep93xx_eth.c
614
struct ep93xx_priv *ep = netdev_priv(dev);
drivers/net/ethernet/cirrus/ep93xx_eth.c
617
wrl(ep, REG_SELFCTL, REG_SELFCTL_RESET);
drivers/net/ethernet/cirrus/ep93xx_eth.c
619
if ((rdl(ep, REG_SELFCTL) & REG_SELFCTL_RESET) == 0)
drivers/net/ethernet/cirrus/ep93xx_eth.c
630
struct ep93xx_priv *ep = netdev_priv(dev);
drivers/net/ethernet/cirrus/ep93xx_eth.c
633
if (ep93xx_alloc_buffers(ep))
drivers/net/ethernet/cirrus/ep93xx_eth.c
636
napi_enable(&ep->napi);
drivers/net/ethernet/cirrus/ep93xx_eth.c
639
napi_disable(&ep->napi);
drivers/net/ethernet/cirrus/ep93xx_eth.c
640
ep93xx_free_buffers(ep);
drivers/net/ethernet/cirrus/ep93xx_eth.c
644
spin_lock_init(&ep->rx_lock);
drivers/net/ethernet/cirrus/ep93xx_eth.c
645
ep->rx_pointer = 0;
drivers/net/ethernet/cirrus/ep93xx_eth.c
646
ep->tx_clean_pointer = 0;
drivers/net/ethernet/cirrus/ep93xx_eth.c
647
ep->tx_pointer = 0;
drivers/net/ethernet/cirrus/ep93xx_eth.c
648
spin_lock_init(&ep->tx_pending_lock);
drivers/net/ethernet/cirrus/ep93xx_eth.c
649
ep->tx_pending = 0;
drivers/net/ethernet/cirrus/ep93xx_eth.c
651
err = request_irq(ep->irq, ep93xx_irq, IRQF_SHARED, dev->name, dev);
drivers/net/ethernet/cirrus/ep93xx_eth.c
653
napi_disable(&ep->napi);
drivers/net/ethernet/cirrus/ep93xx_eth.c
655
ep93xx_free_buffers(ep);
drivers/net/ethernet/cirrus/ep93xx_eth.c
659
wrl(ep, REG_GIINTMSK, REG_GIINTMSK_ENABLE);
drivers/net/ethernet/cirrus/ep93xx_eth.c
668
struct ep93xx_priv *ep = netdev_priv(dev);
drivers/net/ethernet/cirrus/ep93xx_eth.c
670
napi_disable(&ep->napi);
drivers/net/ethernet/cirrus/ep93xx_eth.c
673
wrl(ep, REG_GIINTMSK, 0);
drivers/net/ethernet/cirrus/ep93xx_eth.c
674
free_irq(ep->irq, dev);
drivers/net/ethernet/cirrus/ep93xx_eth.c
676
ep93xx_free_buffers(ep);
drivers/net/ethernet/cirrus/ep93xx_eth.c
683
struct ep93xx_priv *ep = netdev_priv(dev);
drivers/net/ethernet/cirrus/ep93xx_eth.c
686
return generic_mii_ioctl(&ep->mii, data, cmd, NULL);
drivers/net/ethernet/cirrus/ep93xx_eth.c
697
struct ep93xx_priv *ep = netdev_priv(dev);
drivers/net/ethernet/cirrus/ep93xx_eth.c
699
mii_ethtool_get_link_ksettings(&ep->mii, cmd);
drivers/net/ethernet/cirrus/ep93xx_eth.c
707
struct ep93xx_priv *ep = netdev_priv(dev);
drivers/net/ethernet/cirrus/ep93xx_eth.c
708
return mii_ethtool_set_link_ksettings(&ep->mii, cmd);
drivers/net/ethernet/cirrus/ep93xx_eth.c
713
struct ep93xx_priv *ep = netdev_priv(dev);
drivers/net/ethernet/cirrus/ep93xx_eth.c
714
return mii_nway_restart(&ep->mii);
drivers/net/ethernet/cirrus/ep93xx_eth.c
719
struct ep93xx_priv *ep = netdev_priv(dev);
drivers/net/ethernet/cirrus/ep93xx_eth.c
720
return mii_link_ok(&ep->mii);
drivers/net/ethernet/cirrus/ep93xx_eth.c
743
struct ep93xx_priv *ep;
drivers/net/ethernet/cirrus/ep93xx_eth.c
750
ep = netdev_priv(dev);
drivers/net/ethernet/cirrus/ep93xx_eth.c
754
ep93xx_free_buffers(ep);
drivers/net/ethernet/cirrus/ep93xx_eth.c
756
if (ep->base_addr != NULL)
drivers/net/ethernet/cirrus/ep93xx_eth.c
757
iounmap(ep->base_addr);
drivers/net/ethernet/cirrus/ep93xx_eth.c
759
if (ep->res != NULL) {
drivers/net/ethernet/cirrus/ep93xx_eth.c
770
struct ep93xx_priv *ep;
drivers/net/ethernet/cirrus/ep93xx_eth.c
812
ep = netdev_priv(dev);
drivers/net/ethernet/cirrus/ep93xx_eth.c
813
ep->dev = dev;
drivers/net/ethernet/cirrus/ep93xx_eth.c
815
netif_napi_add(dev, &ep->napi, ep93xx_poll);
drivers/net/ethernet/cirrus/ep93xx_eth.c
819
ep->res = request_mem_region(mem->start, resource_size(mem),
drivers/net/ethernet/cirrus/ep93xx_eth.c
821
if (ep->res == NULL) {
drivers/net/ethernet/cirrus/ep93xx_eth.c
827
ep->base_addr = base_addr;
drivers/net/ethernet/cirrus/ep93xx_eth.c
828
ep->irq = irq;
drivers/net/ethernet/cirrus/ep93xx_eth.c
830
ep->mii.phy_id = phy_id;
drivers/net/ethernet/cirrus/ep93xx_eth.c
831
ep->mii.phy_id_mask = 0x1f;
drivers/net/ethernet/cirrus/ep93xx_eth.c
832
ep->mii.reg_num_mask = 0x1f;
drivers/net/ethernet/cirrus/ep93xx_eth.c
833
ep->mii.dev = dev;
drivers/net/ethernet/cirrus/ep93xx_eth.c
834
ep->mii.mdio_read = ep93xx_mdio_read;
drivers/net/ethernet/cirrus/ep93xx_eth.c
835
ep->mii.mdio_write = ep93xx_mdio_write;
drivers/net/ethernet/cirrus/ep93xx_eth.c
836
ep->mdc_divisor = 40; /* Max HCLK 100 MHz, min MDIO clk 2.5 MHz. */
drivers/net/ethernet/cirrus/ep93xx_eth.c
848
dev->name, ep->irq, dev->dev_addr);
drivers/net/ethernet/fealnx.c
1335
next->buffer = dma_map_single(&ep->pci_dev->dev,
drivers/net/ethernet/freescale/fs_enet/fs_enet.h
166
void __iomem *ep; /* parameter ram */
drivers/net/ethernet/freescale/fs_enet/fs_enet.h
175
void __iomem *ep; /* parameter ram */
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
114
iounmap(fep->fcc.ep);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
181
fcc_enet_t __iomem *ep = fep->fcc.ep;
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
183
W32(ep, fen_gaddrh, 0);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
184
W32(ep, fen_gaddrl, 0);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
190
fcc_enet_t __iomem *ep = fep->fcc.ep;
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
197
W16(ep, fen_taddrh, taddrh);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
198
W16(ep, fen_taddrm, taddrm);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
199
W16(ep, fen_taddrl, taddrl);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
207
fcc_enet_t __iomem *ep = fep->fcc.ep;
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
216
W32(ep, fen_gaddrh, 0xffffffff);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
217
W32(ep, fen_gaddrl, 0xffffffff);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
221
fep->fcc.gaddrh = R32(ep, fen_gaddrh);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
222
fep->fcc.gaddrl = R32(ep, fen_gaddrl);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
245
fcc_enet_t __iomem *ep = fep->fcc.ep;
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
254
for (i = 0; i < sizeof(*ep); i++)
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
255
out_8((u8 __iomem *)ep + i, 0);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
262
W32(ep, fen_genfcc.fcc_rbase, rx_bd_base_phys);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
263
W32(ep, fen_genfcc.fcc_tbase, tx_bd_base_phys);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
268
W16(ep, fen_genfcc.fcc_mrblr, PKT_MAXBLR_SIZE);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
270
W32(ep, fen_genfcc.fcc_rstate, (CPMFCR_GBL | CPMFCR_EB) << 24);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
271
W32(ep, fen_genfcc.fcc_tstate, (CPMFCR_GBL | CPMFCR_EB) << 24);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
279
W16(ep, fen_genfcc.fcc_riptr, fpi->dpram_offset);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
280
W16(ep, fen_genfcc.fcc_tiptr, fpi->dpram_offset + 32);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
282
W16(ep, fen_padptr, fpi->dpram_offset + 64);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
287
W32(ep, fen_genfcc.fcc_rbptr, 0);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
288
W32(ep, fen_genfcc.fcc_tbptr, 0);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
289
W32(ep, fen_genfcc.fcc_rcrc, 0);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
290
W32(ep, fen_genfcc.fcc_tcrc, 0);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
291
W16(ep, fen_genfcc.fcc_res1, 0);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
292
W32(ep, fen_genfcc.fcc_res2, 0);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
295
W32(ep, fen_camptr, 0);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
298
W32(ep, fen_cmask, 0xdebb20e3);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
299
W32(ep, fen_cpres, 0xffffffff);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
301
W32(ep, fen_crcec, 0); /* CRC Error counter */
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
302
W32(ep, fen_alec, 0); /* alignment error counter */
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
303
W32(ep, fen_disfc, 0); /* discard frame counter */
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
304
W16(ep, fen_retlim, 15); /* Retry limit threshold */
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
305
W16(ep, fen_pper, 0); /* Normal persistence */
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
308
W32(ep, fen_gaddrh, fep->fcc.gaddrh);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
309
W32(ep, fen_gaddrl, fep->fcc.gaddrh);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
312
W32(ep, fen_iaddrh, 0);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
313
W32(ep, fen_iaddrl, 0);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
316
W16(ep, fen_tfcstat, 0);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
317
W16(ep, fen_tfclen, 0);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
318
W32(ep, fen_tfcptr, 0);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
320
W16(ep, fen_mflr, PKT_MAXBUF_SIZE); /* maximum frame length register */
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
321
W16(ep, fen_minflr, PKT_MINBUF_SIZE); /* minimum frame length register */
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
329
W16(ep, fen_paddrh, paddrh);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
330
W16(ep, fen_paddrm, paddrm);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
331
W16(ep, fen_paddrl, paddrl);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
333
W16(ep, fen_taddrh, 0);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
334
W16(ep, fen_taddrm, 0);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
335
W16(ep, fen_taddrl, 0);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
337
W16(ep, fen_maxd1, 1520); /* maximum DMA1 length */
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
338
W16(ep, fen_maxd2, 1520); /* maximum DMA2 length */
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
341
W32(ep, fen_octc, 0);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
342
W32(ep, fen_colc, 0);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
343
W32(ep, fen_broc, 0);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
344
W32(ep, fen_mulc, 0);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
345
W32(ep, fen_uspc, 0);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
346
W32(ep, fen_frgc, 0);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
347
W32(ep, fen_ospc, 0);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
348
W32(ep, fen_jbrc, 0);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
349
W32(ep, fen_p64c, 0);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
350
W32(ep, fen_p65c, 0);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
351
W32(ep, fen_p128c, 0);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
352
W32(ep, fen_p256c, 0);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
353
W32(ep, fen_p512c, 0);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
354
W32(ep, fen_p1024c, 0);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
356
W16(ep, fen_rfthr, 0); /* Suggested by manual */
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
357
W16(ep, fen_rfcnt, 0);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
358
W16(ep, fen_cftype, 0);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
488
memcpy_fromio(p, fep->fcc.ep, sizeof(fcc_enet_t));
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
516
fcc_enet_t __iomem *ep = fep->fcc.ep;
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
526
((R32(ep, fen_genfcc.fcc_tbptr) - fep->ring_mem_addr) +
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
545
W32(ep, fen_genfcc.fcc_tbptr,
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
94
fep->fcc.ep = of_iomap(ofdev->dev.of_node, 1);
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
95
if (!fep->fcc.ep)
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
167
scc_enet_t __iomem *ep = fep->scc.ep;
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
169
W16(ep, sen_gaddr1, 0);
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
170
W16(ep, sen_gaddr2, 0);
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
171
W16(ep, sen_gaddr3, 0);
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
172
W16(ep, sen_gaddr4, 0);
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
178
scc_enet_t __iomem *ep = fep->scc.ep;
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
185
W16(ep, sen_taddrh, taddrh);
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
186
W16(ep, sen_taddrm, taddrm);
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
187
W16(ep, sen_taddrl, taddrl);
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
195
scc_enet_t __iomem *ep = fep->scc.ep;
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
204
W16(ep, sen_gaddr1, 0xffff);
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
205
W16(ep, sen_gaddr2, 0xffff);
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
206
W16(ep, sen_gaddr3, 0xffff);
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
207
W16(ep, sen_gaddr4, 0xffff);
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
234
scc_enet_t __iomem *ep = fep->scc.ep;
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
243
for (i = 0; i < sizeof(*ep); i++)
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
244
__fs_out8((u8 __iomem *)ep + i, 0);
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
247
W16(ep, sen_genscc.scc_rbase, fpi->dpram_offset);
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
248
W16(ep, sen_genscc.scc_tbase,
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
254
W8(ep, sen_genscc.scc_rfcr, SCC_EB | SCC_GBL);
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
255
W8(ep, sen_genscc.scc_tfcr, SCC_EB | SCC_GBL);
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
257
W8(ep, sen_genscc.scc_rfcr, SCC_EB);
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
258
W8(ep, sen_genscc.scc_tfcr, SCC_EB);
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
265
W16(ep, sen_genscc.scc_mrblr, 0x5f0);
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
269
W32(ep, sen_cpres, 0xffffffff);
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
270
W32(ep, sen_cmask, 0xdebb20e3);
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
272
W32(ep, sen_crcec, 0); /* CRC Error counter */
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
273
W32(ep, sen_alec, 0); /* alignment error counter */
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
274
W32(ep, sen_disfc, 0); /* discard frame counter */
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
276
W16(ep, sen_pads, 0x8888); /* Tx short frame pad character */
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
277
W16(ep, sen_retlim, 15); /* Retry limit threshold */
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
279
W16(ep, sen_maxflr, 0x5ee); /* maximum frame length register */
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
281
W16(ep, sen_minflr, PKT_MINBUF_SIZE); /* minimum frame length register */
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
283
W16(ep, sen_maxd1, 0x000005f0); /* maximum DMA1 length */
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
284
W16(ep, sen_maxd2, 0x000005f0); /* maximum DMA2 length */
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
288
W16(ep, sen_gaddr1, 0);
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
289
W16(ep, sen_gaddr2, 0);
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
290
W16(ep, sen_gaddr3, 0);
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
291
W16(ep, sen_gaddr4, 0);
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
292
W16(ep, sen_iaddr1, 0);
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
293
W16(ep, sen_iaddr2, 0);
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
294
W16(ep, sen_iaddr3, 0);
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
295
W16(ep, sen_iaddr4, 0);
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
304
W16(ep, sen_paddrh, paddrh);
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
305
W16(ep, sen_paddrm, paddrm);
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
306
W16(ep, sen_paddrl, paddrl);
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
308
W16(ep, sen_pper, 0);
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
309
W16(ep, sen_taddrl, 0);
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
310
W16(ep, sen_taddrm, 0);
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
311
W16(ep, sen_taddrh, 0);
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
435
memcpy_fromio(p, fep->scc.ep, sizeof(scc_enet_t __iomem *));
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
98
fep->scc.ep = of_iomap(ofdev->dev.of_node, 1);
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
99
if (!fep->scc.ep) {
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
5359
rule->ep.user_def.layer == HCLGE_FD_USER_DEF_NONE)
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
5363
cfg = &hdev->fd_cfg.user_def_cfg[rule->ep.user_def.layer - 1];
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
5364
info = &rule->ep.user_def;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
5374
old_info = &fd_rule->ep.user_def;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
5392
rule->ep.user_def.layer == HCLGE_FD_USER_DEF_NONE)
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
5395
cfg = &hdev->fd_cfg.user_def_cfg[rule->ep.user_def.layer - 1];
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
5397
cfg->offset = rule->ep.user_def.offset;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
5409
rule->ep.user_def.layer == HCLGE_FD_USER_DEF_NONE)
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
5412
cfg = &hdev->fd_cfg.user_def_cfg[rule->ep.user_def.layer - 1];
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6397
rule->ep.user_def = *info;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6867
fs->h_ext.data[0] = cpu_to_be32(rule->ep.user_def.offset);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6868
fs->h_ext.data[1] = cpu_to_be32(rule->ep.user_def.data);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
6871
fs->m_ext.data[1] = cpu_to_be32(rule->ep.user_def.data_mask);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.h
759
} ep;
drivers/net/ethernet/intel/ice/ice_arfs.c
145
struct ice_arfs_entry_ptr *ep;
drivers/net/ethernet/intel/ice/ice_arfs.c
151
hlist_for_each_entry_safe(ep, n, add_list_head, list_entry) {
drivers/net/ethernet/intel/ice/ice_arfs.c
155
&ep->arfs_entry->fltr_info, true,
drivers/net/ethernet/intel/ice/ice_arfs.c
158
ice_arfs_update_active_fltr_cntrs(vsi, ep->arfs_entry,
drivers/net/ethernet/intel/ice/ice_arfs.c
162
result, ep->arfs_entry->fltr_state,
drivers/net/ethernet/intel/ice/ice_arfs.c
163
ep->arfs_entry->fltr_info.fltr_id,
drivers/net/ethernet/intel/ice/ice_arfs.c
164
ep->arfs_entry->flow_id,
drivers/net/ethernet/intel/ice/ice_arfs.c
165
ep->arfs_entry->fltr_info.q_index);
drivers/net/ethernet/intel/ice/ice_arfs.c
167
hlist_del(&ep->list_entry);
drivers/net/ethernet/intel/ice/ice_arfs.c
168
devm_kfree(dev, ep);
drivers/net/ethernet/intel/ice/ice_arfs.c
230
struct ice_arfs_entry_ptr *ep =
drivers/net/ethernet/intel/ice/ice_arfs.c
231
devm_kzalloc(dev, sizeof(*ep), GFP_ATOMIC);
drivers/net/ethernet/intel/ice/ice_arfs.c
233
if (!ep)
drivers/net/ethernet/intel/ice/ice_arfs.c
235
INIT_HLIST_NODE(&ep->list_entry);
drivers/net/ethernet/intel/ice/ice_arfs.c
237
ep->arfs_entry = e;
drivers/net/ethernet/intel/ice/ice_arfs.c
238
hlist_add_head(&ep->list_entry, add_list);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1003
struct qed_iwarp_ep *ep, u8 fw_return_code)
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1007
if (ep->connect_mode == TCP_CONNECT_ACTIVE)
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1012
if (ep->connect_mode == TCP_CONNECT_ACTIVE && !ep->mpa_reply_processed)
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1013
qed_iwarp_parse_private_data(p_hwfn, ep);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1017
ep->mpa_rev, ep->cm_info.ord, ep->cm_info.ird);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1019
params.cm_info = &ep->cm_info;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1021
params.ep_context = ep;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1025
ep->qp->max_rd_atomic_req = ep->cm_info.ord;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1026
ep->qp->max_rd_atomic_resp = ep->cm_info.ird;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1027
qed_iwarp_modify_qp(p_hwfn, ep->qp, QED_IWARP_QP_STATE_RTS, 1);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1028
ep->state = QED_IWARP_EP_ESTABLISHED;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1033
QED_IWARP_CONNECT_MODE_STRING(ep), ep->cid);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1038
QED_IWARP_CONNECT_MODE_STRING(ep), ep->cid);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1043
QED_IWARP_CONNECT_MODE_STRING(ep), ep->cid,
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1044
ep->tcp_cid);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1049
QED_IWARP_CONNECT_MODE_STRING(ep), ep->cid);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1054
QED_IWARP_CONNECT_MODE_STRING(ep), ep->cid);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1059
QED_IWARP_CONNECT_MODE_STRING(ep), ep->cid);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1064
QED_IWARP_CONNECT_MODE_STRING(ep), ep->cid);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1069
QED_IWARP_CONNECT_MODE_STRING(ep), ep->cid);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1074
QED_IWARP_CONNECT_MODE_STRING(ep), ep->cid);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1084
smp_store_release(&ep->state, QED_IWARP_EP_CLOSED);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1086
ep->event_cb(ep->cb_context, ¶ms);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1094
ep->tcp_cid = QED_IWARP_INVALID_TCP_CID;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1095
if ((ep->connect_mode == TCP_CONNECT_PASSIVE) &&
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1096
(!ep->qp)) { /* Rejected */
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1097
qed_iwarp_return_ep(p_hwfn, ep);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1100
list_del(&ep->list_entry);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1108
struct qed_iwarp_ep *ep, u8 *mpa_data_size)
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1114
if (MPA_REV2(ep->mpa_rev)) {
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1116
(struct mpa_v2_hdr *)ep->ep_buffer_virt->out_pdata;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1119
mpa_ird = (u16)ep->cm_info.ird;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1120
mpa_ord = (u16)ep->cm_info.ord;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1122
if (ep->rtr_type != MPA_RTR_TYPE_NONE) {
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1125
if (ep->rtr_type & MPA_RTR_TYPE_ZERO_SEND)
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1128
if (ep->rtr_type & MPA_RTR_TYPE_ZERO_WRITE)
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1131
if (ep->rtr_type & MPA_RTR_TYPE_ZERO_READ)
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1159
struct qed_iwarp_ep *ep;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1181
rc = qed_iwarp_create_ep(p_hwfn, &ep);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1185
ep->tcp_cid = cid;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1188
list_add_tail(&ep->list_entry, &p_hwfn->p_rdma_info->iwarp.ep_list);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1191
ep->qp = iparams->qp;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1192
ep->qp->ep = ep;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1193
ether_addr_copy(ep->remote_mac_addr, iparams->remote_mac_addr);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1194
ether_addr_copy(ep->local_mac_addr, iparams->local_mac_addr);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1195
memcpy(&ep->cm_info, &iparams->cm_info, sizeof(ep->cm_info));
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1197
ep->cm_info.ord = iparams->cm_info.ord;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1198
ep->cm_info.ird = iparams->cm_info.ird;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1200
ep->rtr_type = iwarp_info->rtr_type;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1202
ep->rtr_type = MPA_RTR_TYPE_NONE;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1204
if ((ep->rtr_type & MPA_RTR_TYPE_ZERO_READ) && (ep->cm_info.ord == 0))
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1205
ep->cm_info.ord = 1;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1207
ep->mpa_rev = iwarp_info->mpa_rev;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1209
qed_iwarp_mpa_v2_set_private(p_hwfn, ep, &mpa_data_size);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1211
ep->cm_info.private_data = ep->ep_buffer_virt->out_pdata;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1212
ep->cm_info.private_data_len = iparams->cm_info.private_data_len +
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1215
memcpy((u8 *)ep->ep_buffer_virt->out_pdata + mpa_data_size,
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1219
ep->mss = iparams->mss;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1220
ep->mss = min_t(u16, QED_IWARP_MAX_FW_MSS, ep->mss);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1222
ep->event_cb = iparams->event_cb;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1223
ep->cb_context = iparams->cb_context;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1224
ep->connect_mode = TCP_CONNECT_ACTIVE;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1226
oparams->ep_context = ep;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1228
rc = qed_iwarp_tcp_offload(p_hwfn, ep);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1231
iparams->qp->icid, ep->tcp_cid, rc);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1234
qed_iwarp_destroy_ep(p_hwfn, ep, true);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1247
struct qed_iwarp_ep *ep = NULL;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1257
ep = list_first_entry(&p_hwfn->p_rdma_info->iwarp.ep_free_list,
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1263
if (ep->tcp_cid == QED_IWARP_INVALID_TCP_CID) {
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1264
rc = qed_iwarp_alloc_tcp_cid(p_hwfn, &ep->tcp_cid);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1271
ep->tcp_cid = QED_IWARP_INVALID_TCP_CID;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1272
ep = NULL;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1277
list_del(&ep->list_entry);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1281
return ep;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1352
struct qed_iwarp_ep *ep;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1357
ep = list_first_entry(&p_hwfn->p_rdma_info->iwarp.ep_free_list,
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1360
if (!ep) {
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1364
list_del(&ep->list_entry);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1368
if (ep->tcp_cid != QED_IWARP_INVALID_TCP_CID)
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1369
qed_iwarp_cid_cleaned(p_hwfn, ep->tcp_cid);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1371
qed_iwarp_destroy_ep(p_hwfn, ep, false);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1377
struct qed_iwarp_ep *ep;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1385
rc = qed_iwarp_create_ep(p_hwfn, &ep);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1405
ep->tcp_cid = cid;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1408
list_add_tail(&ep->list_entry,
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1416
qed_iwarp_destroy_ep(p_hwfn, ep, false);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1461
struct qed_iwarp_ep *ep;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1465
ep = iparams->ep_context;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1466
if (!ep) {
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1472
iparams->qp->icid, ep->tcp_cid);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1480
ep->tcp_cid, iparams->ord, iparams->ord);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1486
ep->cb_context = iparams->cb_context;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1487
ep->qp = iparams->qp;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1488
ep->qp->ep = ep;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1490
if (ep->mpa_rev == MPA_NEGOTIATION_TYPE_ENHANCED) {
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1494
if (iparams->ord > ep->cm_info.ird)
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1495
iparams->ord = ep->cm_info.ird;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1497
if ((ep->rtr_type & MPA_RTR_TYPE_ZERO_READ) &&
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1503
ep->cm_info.ord = iparams->ord;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1504
ep->cm_info.ird = iparams->ird;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1506
qed_iwarp_mpa_v2_set_private(p_hwfn, ep, &mpa_data_size);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1508
ep->cm_info.private_data = ep->ep_buffer_virt->out_pdata;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1509
ep->cm_info.private_data_len = iparams->private_data_len +
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1512
memcpy((u8 *)ep->ep_buffer_virt->out_pdata + mpa_data_size,
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1515
rc = qed_iwarp_mpa_offload(p_hwfn, ep);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1526
struct qed_iwarp_ep *ep;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1529
ep = iparams->ep_context;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1530
if (!ep) {
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1535
DP_VERBOSE(p_hwfn, QED_MSG_RDMA, "EP(0x%x)\n", ep->tcp_cid);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1537
ep->cb_context = iparams->cb_context;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1538
ep->qp = NULL;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1540
qed_iwarp_mpa_v2_set_private(p_hwfn, ep, &mpa_data_size);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1542
ep->cm_info.private_data = ep->ep_buffer_virt->out_pdata;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1543
ep->cm_info.private_data_len = iparams->private_data_len +
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1546
memcpy((u8 *)ep->ep_buffer_virt->out_pdata + mpa_data_size,
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1549
return qed_iwarp_mpa_offload(p_hwfn, ep);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1600
struct qed_iwarp_ep *ep = NULL;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1603
list_for_each_entry(ep,
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1606
if ((ep->cm_info.local_port == cm_info->local_port) &&
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1607
(ep->cm_info.remote_port == cm_info->remote_port) &&
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1608
(ep->cm_info.vlan == cm_info->vlan) &&
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1609
!memcmp(&ep->cm_info.local_ip, cm_info->local_ip,
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
1611
!memcmp(&ep->cm_info.remote_ip, cm_info->remote_ip,
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
2364
struct qed_iwarp_ep *ep;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
2430
ep = qed_iwarp_get_free_ep(p_hwfn);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
2431
if (!ep)
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
2435
list_add_tail(&ep->list_entry, &p_hwfn->p_rdma_info->iwarp.ep_list);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
2438
ether_addr_copy(ep->remote_mac_addr, remote_mac_addr);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
2439
ether_addr_copy(ep->local_mac_addr, local_mac_addr);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
2441
memcpy(&ep->cm_info, &cm_info, sizeof(ep->cm_info));
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
2444
ep->mss = p_hwfn->p_rdma_info->iwarp.max_mtu - hdr_size;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
2445
ep->mss = min_t(u16, QED_IWARP_MAX_FW_MSS, ep->mss);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
2447
ep->event_cb = listener->event_cb;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
2448
ep->cb_context = listener->cb_context;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
2449
ep->connect_mode = TCP_CONNECT_PASSIVE;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
2451
ep->syn = buf;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
2452
ep->syn_ip_payload_length = (u16)payload_len;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
2453
ep->syn_phy_addr = buf->data_phys_addr + data->u.placement_offset +
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
2456
rc = qed_iwarp_tcp_offload(p_hwfn, ep);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
2458
qed_iwarp_return_ep(p_hwfn, ep);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
2863
struct qed_iwarp_ep *ep,
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
2868
qed_iwarp_modify_qp(p_hwfn, ep->qp, QED_IWARP_QP_STATE_ERROR, true);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
2871
params.ep_context = ep;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
2872
params.cm_info = &ep->cm_info;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
2877
smp_store_release(&ep->state, QED_IWARP_EP_CLOSED);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
2880
list_del(&ep->list_entry);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
2883
ep->event_cb(ep->cb_context, ¶ms);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
2887
struct qed_iwarp_ep *ep,
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
2894
ep->cid, fw_ret_code);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
2951
params.ep_context = ep;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
2952
params.cm_info = &ep->cm_info;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
2953
ep->event_cb(ep->cb_context, ¶ms);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
2959
struct qed_iwarp_ep *ep, u8 fw_return_code)
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
2965
params.ep_context = ep;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
2966
params.cm_info = &ep->cm_info;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
2968
smp_store_release(&ep->state, QED_IWARP_EP_CLOSED);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
2974
QED_IWARP_CONNECT_MODE_STRING(ep), ep->tcp_cid);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
2980
QED_IWARP_CONNECT_MODE_STRING(ep), ep->tcp_cid);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
2985
QED_IWARP_CONNECT_MODE_STRING(ep), ep->tcp_cid);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
2990
QED_IWARP_CONNECT_MODE_STRING(ep), ep->tcp_cid);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
2995
QED_IWARP_CONNECT_MODE_STRING(ep), ep->tcp_cid);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
3001
QED_IWARP_CONNECT_MODE_STRING(ep),
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
3002
ep->tcp_cid, fw_return_code);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
3007
if (ep->connect_mode == TCP_CONNECT_PASSIVE) {
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
3008
ep->tcp_cid = QED_IWARP_INVALID_TCP_CID;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
3009
qed_iwarp_return_ep(p_hwfn, ep);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
3011
ep->event_cb(ep->cb_context, ¶ms);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
3013
list_del(&ep->list_entry);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
3020
struct qed_iwarp_ep *ep, u8 fw_return_code)
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
3024
if (ep->connect_mode == TCP_CONNECT_PASSIVE) {
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
3026
qed_iwarp_ll2_post_rx(p_hwfn, ep->syn, ll2_syn_handle);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
3028
ep->syn = NULL;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
3032
qed_iwarp_mpa_received(p_hwfn, ep);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
3034
qed_iwarp_tcp_connect_unsuccessful(p_hwfn, ep,
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
3038
qed_iwarp_mpa_offload(p_hwfn, ep);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
3040
qed_iwarp_tcp_connect_unsuccessful(p_hwfn, ep,
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
3046
qed_iwarp_check_ep_ok(struct qed_hwfn *p_hwfn, struct qed_iwarp_ep *ep)
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
3048
if (!ep || (ep->sig != QED_EP_SIG)) {
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
3049
DP_ERR(p_hwfn, "ERROR ON ASYNC ep=%p\n", ep);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
3062
struct qed_iwarp_ep *ep = NULL;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
3067
ep = (struct qed_iwarp_ep *)(uintptr_t)HILO_64(fw_handle->hi,
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
3073
if (!qed_iwarp_check_ep_ok(p_hwfn, ep))
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
3078
ep->tcp_cid, fw_return_code);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
3079
qed_iwarp_connect_complete(p_hwfn, ep, fw_return_code);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
3082
if (!qed_iwarp_check_ep_ok(p_hwfn, ep))
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
3087
ep->cid, fw_return_code);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
3088
qed_iwarp_exception_received(p_hwfn, ep, fw_return_code);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
3092
if (!qed_iwarp_check_ep_ok(p_hwfn, ep))
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
3097
ep->cid, fw_return_code);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
3098
qed_iwarp_qp_in_error(p_hwfn, ep, fw_return_code);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
3102
if (!qed_iwarp_check_ep_ok(p_hwfn, ep))
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
3107
ep->cid, fw_return_code);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
3108
qed_iwarp_mpa_reply_arrived(p_hwfn, ep);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
3111
if (!qed_iwarp_check_ep_ok(p_hwfn, ep))
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
3116
ep->cid, fw_return_code);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
3117
qed_iwarp_mpa_complete(p_hwfn, ep, fw_return_code);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
3221
struct qed_iwarp_ep *ep;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
3225
ep = iparams->ep_context;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
3226
if (!ep) {
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
3231
qp = ep->qp;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
3234
qp->icid, ep->tcp_cid);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
488
struct qed_iwarp_ep *ep,
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
492
sizeof(*ep->ep_buffer_virt),
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
493
ep->ep_buffer_virt, ep->ep_buffer_phys);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
497
list_del(&ep->list_entry);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
501
if (ep->qp)
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
502
ep->qp->ep = NULL;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
504
kfree(ep);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
509
struct qed_iwarp_ep *ep = qp->ep;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
521
if (ep) {
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
522
while (READ_ONCE(ep->state) != QED_IWARP_EP_CLOSED &&
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
526
if (ep->state != QED_IWARP_EP_CLOSED)
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
528
ep->state);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
530
qed_iwarp_destroy_ep(p_hwfn, ep, false);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
546
struct qed_iwarp_ep *ep;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
549
ep = kzalloc_obj(*ep);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
550
if (!ep)
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
553
ep->state = QED_IWARP_EP_INIT;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
555
ep->ep_buffer_virt = dma_alloc_coherent(&p_hwfn->cdev->pdev->dev,
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
556
sizeof(*ep->ep_buffer_virt),
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
557
&ep->ep_buffer_phys,
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
559
if (!ep->ep_buffer_virt) {
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
564
ep->sig = QED_EP_SIG;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
566
*ep_out = ep;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
571
kfree(ep);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
622
qed_iwarp_tcp_offload(struct qed_hwfn *p_hwfn, struct qed_iwarp_ep *ep)
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
638
init_data.cid = ep->tcp_cid;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
640
if (ep->connect_mode == TCP_CONNECT_PASSIVE)
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
653
in_pdata_phys = ep->ep_buffer_phys +
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
659
cpu_to_le16(sizeof(ep->ep_buffer_virt->in_pdata));
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
661
async_output_phys = ep->ep_buffer_phys +
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
666
p_tcp_ramrod->iwarp.handle_for_async.hi = cpu_to_le32(PTR_HI(ep));
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
667
p_tcp_ramrod->iwarp.handle_for_async.lo = cpu_to_le32(PTR_LO(ep));
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
678
&tcp->remote_mac_addr_lo, ep->remote_mac_addr);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
680
&tcp->local_mac_addr_lo, ep->local_mac_addr);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
682
tcp->vlan_id = cpu_to_le16(ep->cm_info.vlan);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
693
tcp->ip_version = ep->cm_info.ip_version;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
696
tcp->remote_ip[i] = cpu_to_le32(ep->cm_info.remote_ip[i]);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
697
tcp->local_ip[i] = cpu_to_le32(ep->cm_info.local_ip[i]);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
700
tcp->remote_port = cpu_to_le16(ep->cm_info.remote_port);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
701
tcp->local_port = cpu_to_le16(ep->cm_info.local_port);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
702
tcp->mss = cpu_to_le16(ep->mss);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
708
tcp->cwnd = cpu_to_le32(QED_IWARP_DEF_CWND_FACTOR * ep->mss);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
714
tcp->connect_mode = ep->connect_mode;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
716
if (ep->connect_mode == TCP_CONNECT_PASSIVE) {
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
718
cpu_to_le16(ep->syn_ip_payload_length);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
719
tcp->syn_phy_addr_hi = DMA_HI_LE(ep->syn_phy_addr);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
720
tcp->syn_phy_addr_lo = DMA_LO_LE(ep->syn_phy_addr);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
728
"EP(0x%x) Offload completed rc=%d\n", ep->tcp_cid, rc);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
734
qed_iwarp_mpa_received(struct qed_hwfn *p_hwfn, struct qed_iwarp_ep *ep)
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
745
async_data = &ep->ep_buffer_virt->async_output;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
751
mpa_rev, *((u32 *)(ep->ep_buffer_virt->in_pdata)));
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
755
mpa_v2 = (struct mpa_v2_hdr *)ep->ep_buffer_virt->in_pdata;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
764
ep->cm_info.ord = (u8)min_t(u16,
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
768
ep->cm_info.ird = (u8)min_t(u16,
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
773
ep->rtr_type = MPA_RTR_TYPE_NONE;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
776
ep->rtr_type |= MPA_RTR_TYPE_ZERO_WRITE;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
779
ep->rtr_type |= MPA_RTR_TYPE_ZERO_READ;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
782
ep->rtr_type |= MPA_RTR_TYPE_ZERO_SEND;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
784
ep->rtr_type &= iwarp_info->rtr_type;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
787
if (ep->rtr_type == MPA_RTR_TYPE_NONE)
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
788
ep->rtr_type = iwarp_info->rtr_type;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
791
ep->mpa_rev = MPA_NEGOTIATION_TYPE_ENHANCED;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
793
ep->cm_info.ord = QED_IWARP_ORD_DEFAULT;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
794
ep->cm_info.ird = QED_IWARP_IRD_DEFAULT;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
795
ep->mpa_rev = MPA_NEGOTIATION_TYPE_BASIC;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
800
mpa_rev, ep->cm_info.ord, ep->cm_info.ird, ep->rtr_type,
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
804
ep->cm_info.private_data = ep->ep_buffer_virt->in_pdata + mpa_hdr_size;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
807
ep->cm_info.private_data_len = ulp_data_len - mpa_hdr_size;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
810
params.cm_info = &ep->cm_info;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
811
params.ep_context = ep;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
814
ep->state = QED_IWARP_EP_MPA_REQ_RCVD;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
815
ep->event_cb(ep->cb_context, ¶ms);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
819
qed_iwarp_mpa_offload(struct qed_hwfn *p_hwfn, struct qed_iwarp_ep *ep)
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
834
if (!ep)
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
837
qp = ep->qp;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
841
init_data.cid = reject ? ep->tcp_cid : qp->icid;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
844
if (ep->connect_mode == TCP_CONNECT_ACTIVE)
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
858
out_pdata_phys = ep->ep_buffer_phys +
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
862
val = ep->cm_info.private_data_len;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
866
common->out_rq.ord = cpu_to_le32(ep->cm_info.ord);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
867
common->out_rq.ird = cpu_to_le32(ep->cm_info.ird);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
869
val = p_hwfn->hw_info.opaque_fid << 16 | ep->tcp_cid;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
872
in_pdata_phys = ep->ep_buffer_phys +
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
874
p_mpa_ramrod->tcp_connect_side = ep->connect_mode;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
878
cpu_to_le16(sizeof(ep->ep_buffer_virt->in_pdata));
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
879
async_output_phys = ep->ep_buffer_phys +
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
883
p_mpa_ramrod->handle_for_async.hi = cpu_to_le32(PTR_HI(ep));
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
884
p_mpa_ramrod->handle_for_async.lo = cpu_to_le32(PTR_LO(ep));
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
897
p_mpa_ramrod->mode = ep->mpa_rev;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
899
IWARP_MPA_OFFLOAD_RAMROD_DATA_RTR_SUPPORTED, ep->rtr_type);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
901
ep->state = QED_IWARP_EP_MPA_OFFLOADED;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
904
ep->cid = qp->icid; /* Now they're migrated. */
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
910
ep->tcp_cid,
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
912
ep->cm_info.ird,
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
913
ep->cm_info.ord, ep->rtr_type, ep->mpa_rev, reject);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
918
qed_iwarp_return_ep(struct qed_hwfn *p_hwfn, struct qed_iwarp_ep *ep)
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
920
ep->state = QED_IWARP_EP_INIT;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
921
if (ep->qp)
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
922
ep->qp->ep = NULL;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
923
ep->qp = NULL;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
924
memset(&ep->cm_info, 0, sizeof(ep->cm_info));
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
926
if (ep->tcp_cid == QED_IWARP_INVALID_TCP_CID) {
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
930
qed_iwarp_alloc_tcp_cid(p_hwfn, &ep->tcp_cid);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
934
list_move_tail(&ep->list_entry,
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
941
qed_iwarp_parse_private_data(struct qed_hwfn *p_hwfn, struct qed_iwarp_ep *ep)
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
951
(struct mpa_v2_hdr *)(ep->ep_buffer_virt->in_pdata);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
956
ep->cm_info.ird = (u8)(mpa_ord & MPA_V2_IRD_ORD_MASK);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
957
ep->cm_info.ord = (u8)(mpa_ird & MPA_V2_IRD_ORD_MASK);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
960
async_data = &ep->ep_buffer_virt->async_output;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
961
ep->cm_info.private_data = ep->ep_buffer_virt->in_pdata + mpa_data_size;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
964
ep->cm_info.private_data_len = ulp_data_len - mpa_data_size;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
968
qed_iwarp_mpa_reply_arrived(struct qed_hwfn *p_hwfn, struct qed_iwarp_ep *ep)
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
972
if (ep->connect_mode == TCP_CONNECT_PASSIVE) {
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
980
qed_iwarp_parse_private_data(p_hwfn, ep);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
984
ep->mpa_rev, ep->cm_info.ord, ep->cm_info.ird);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
986
params.cm_info = &ep->cm_info;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
987
params.ep_context = ep;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
990
ep->mpa_reply_processed = true;
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
992
ep->event_cb(ep->cb_context, ¶ms);
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
995
#define QED_IWARP_CONNECT_MODE_STRING(ep) \
drivers/net/ethernet/qlogic/qed/qed_iwarp.c
996
((ep)->connect_mode == TCP_CONNECT_PASSIVE) ? "Passive" : "Active"
drivers/net/ethernet/qlogic/qed/qed_rdma.h
159
struct qed_iwarp_ep *ep;
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
130
struct rmnet_endpoint *ep;
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
146
ep = kzalloc_obj(*ep);
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
147
if (!ep)
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
157
err = rmnet_vnd_newlink(mux_id, dev, port, real_dev, ep, extack);
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
168
hlist_add_head_rcu(&ep->hlnode, &port->muxed_ep[mux_id]);
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
185
rmnet_vnd_dellink(mux_id, port, ep);
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
189
kfree(ep);
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
198
struct rmnet_endpoint *ep;
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
213
ep = rmnet_get_endpoint(real_port, mux_id);
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
214
if (ep) {
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
215
hlist_del_init_rcu(&ep->hlnode);
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
216
rmnet_vnd_dellink(mux_id, real_port, ep);
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
217
kfree(ep);
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
228
struct rmnet_endpoint *ep;
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
238
hash_for_each_safe(port->muxed_ep, bkt_ep, tmp_ep, ep, hlnode) {
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
239
unregister_netdevice_queue(ep->egress_dev, &list);
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
240
netdev_upper_dev_unlink(real_dev, ep->egress_dev);
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
241
rmnet_vnd_dellink(ep->mux_id, port, ep);
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
242
hlist_del_init_rcu(&ep->hlnode);
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
243
kfree(ep);
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
321
struct rmnet_endpoint *ep;
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
323
ep = rmnet_get_endpoint(port, priv->mux_id);
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
324
if (!ep)
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
333
hlist_del_init_rcu(&ep->hlnode);
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
334
hlist_add_head_rcu(&ep->hlnode,
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
337
ep->mux_id = mux_id;
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
424
struct rmnet_endpoint *ep;
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
426
hlist_for_each_entry_rcu(ep, &port->muxed_ep[mux_id], hlnode) {
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
427
if (ep->mux_id == mux_id)
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
428
return ep;
drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c
60
struct rmnet_endpoint *ep;
drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c
79
ep = rmnet_get_endpoint(port, mux_id);
drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c
80
if (!ep)
drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c
83
skb->dev = ep->egress_dev;
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_command.c
16
struct rmnet_endpoint *ep;
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_command.c
28
ep = rmnet_get_endpoint(port, mux_id);
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_command.c
29
if (!ep) {
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_command.c
34
vnd = ep->egress_dev;
drivers/net/ethernet/qualcomm/rmnet/rmnet_vnd.c
301
struct rmnet_endpoint *ep,
drivers/net/ethernet/qualcomm/rmnet/rmnet_vnd.c
329
ep->egress_dev = rmnet_dev;
drivers/net/ethernet/qualcomm/rmnet/rmnet_vnd.c
330
ep->mux_id = id;
drivers/net/ethernet/qualcomm/rmnet/rmnet_vnd.c
344
struct rmnet_endpoint *ep)
drivers/net/ethernet/qualcomm/rmnet/rmnet_vnd.c
346
if (id >= RMNET_MAX_LOGICAL_EP || !ep->egress_dev)
drivers/net/ethernet/qualcomm/rmnet/rmnet_vnd.c
349
ep->egress_dev = NULL;
drivers/net/ethernet/qualcomm/rmnet/rmnet_vnd.c
372
struct rmnet_endpoint *ep;
drivers/net/ethernet/qualcomm/rmnet/rmnet_vnd.c
381
hash_for_each_safe(port->muxed_ep, bkt_ep, tmp_ep, ep, hlnode) {
drivers/net/ethernet/qualcomm/rmnet/rmnet_vnd.c
382
if (ep->egress_dev->mtu > (real_dev->mtu - headroom))
drivers/net/ethernet/qualcomm/rmnet/rmnet_vnd.c
393
struct rmnet_endpoint *ep;
drivers/net/ethernet/qualcomm/rmnet/rmnet_vnd.c
399
hash_for_each_safe(port->muxed_ep, bkt_ep, tmp_ep, ep, hlnode) {
drivers/net/ethernet/qualcomm/rmnet/rmnet_vnd.c
400
if (ep->egress_dev->mtu <= (real_dev->mtu - headroom))
drivers/net/ethernet/qualcomm/rmnet/rmnet_vnd.c
403
if (rmnet_vnd_change_mtu(ep->egress_dev,
drivers/net/ethernet/qualcomm/rmnet/rmnet_vnd.h
14
struct rmnet_endpoint *ep,
drivers/net/ethernet/qualcomm/rmnet/rmnet_vnd.h
17
struct rmnet_endpoint *ep);
drivers/net/ethernet/smsc/epic100.c
1009
static void epic_tx(struct net_device *dev, struct epic_private *ep)
drivers/net/ethernet/smsc/epic100.c
1017
cur_tx = ep->cur_tx;
drivers/net/ethernet/smsc/epic100.c
1018
for (dirty_tx = ep->dirty_tx; cur_tx - dirty_tx > 0; dirty_tx++) {
drivers/net/ethernet/smsc/epic100.c
1021
int txstatus = ep->tx_ring[entry].txstatus;
drivers/net/ethernet/smsc/epic100.c
1029
dev->stats.tx_bytes += ep->tx_skbuff[entry]->len;
drivers/net/ethernet/smsc/epic100.c
1031
epic_tx_error(dev, ep, txstatus);
drivers/net/ethernet/smsc/epic100.c
1034
skb = ep->tx_skbuff[entry];
drivers/net/ethernet/smsc/epic100.c
1035
dma_unmap_single(&ep->pci_dev->dev,
drivers/net/ethernet/smsc/epic100.c
1036
ep->tx_ring[entry].bufaddr, skb->len,
drivers/net/ethernet/smsc/epic100.c
1039
ep->tx_skbuff[entry] = NULL;
drivers/net/ethernet/smsc/epic100.c
1045
dirty_tx, cur_tx, ep->tx_full);
drivers/net/ethernet/smsc/epic100.c
1049
ep->dirty_tx = dirty_tx;
drivers/net/ethernet/smsc/epic100.c
1050
if (ep->tx_full && cur_tx - dirty_tx < TX_QUEUE_LEN - 4) {
drivers/net/ethernet/smsc/epic100.c
1052
ep->tx_full = 0;
drivers/net/ethernet/smsc/epic100.c
1062
struct epic_private *ep = netdev_priv(dev);
drivers/net/ethernet/smsc/epic100.c
1063
void __iomem *ioaddr = ep->ioaddr;
drivers/net/ethernet/smsc/epic100.c
1082
spin_lock(&ep->napi_lock);
drivers/net/ethernet/smsc/epic100.c
1083
if (napi_schedule_prep(&ep->napi)) {
drivers/net/ethernet/smsc/epic100.c
1084
epic_napi_irq_off(dev, ep);
drivers/net/ethernet/smsc/epic100.c
1085
__napi_schedule(&ep->napi);
drivers/net/ethernet/smsc/epic100.c
1087
spin_unlock(&ep->napi_lock);
drivers/net/ethernet/smsc/epic100.c
1105
ew32(TxThresh, ep->tx_threshold += 128);
drivers/net/ethernet/smsc/epic100.c
1130
struct epic_private *ep = netdev_priv(dev);
drivers/net/ethernet/smsc/epic100.c
1131
int entry = ep->cur_rx % RX_RING_SIZE;
drivers/net/ethernet/smsc/epic100.c
1132
int rx_work_limit = ep->dirty_rx + RX_RING_SIZE - ep->cur_rx;
drivers/net/ethernet/smsc/epic100.c
1137
ep->rx_ring[entry].rxstatus);
drivers/net/ethernet/smsc/epic100.c
1143
while ((ep->rx_ring[entry].rxstatus & DescOwn) == 0) {
drivers/net/ethernet/smsc/epic100.c
1144
int status = ep->rx_ring[entry].rxstatus;
drivers/net/ethernet/smsc/epic100.c
1178
dma_sync_single_for_cpu(&ep->pci_dev->dev,
drivers/net/ethernet/smsc/epic100.c
1179
ep->rx_ring[entry].bufaddr,
drivers/net/ethernet/smsc/epic100.c
1180
ep->rx_buf_sz,
drivers/net/ethernet/smsc/epic100.c
1182
skb_copy_to_linear_data(skb, ep->rx_skbuff[entry]->data, pkt_len);
drivers/net/ethernet/smsc/epic100.c
1184
dma_sync_single_for_device(&ep->pci_dev->dev,
drivers/net/ethernet/smsc/epic100.c
1185
ep->rx_ring[entry].bufaddr,
drivers/net/ethernet/smsc/epic100.c
1186
ep->rx_buf_sz,
drivers/net/ethernet/smsc/epic100.c
1189
dma_unmap_single(&ep->pci_dev->dev,
drivers/net/ethernet/smsc/epic100.c
1190
ep->rx_ring[entry].bufaddr,
drivers/net/ethernet/smsc/epic100.c
1191
ep->rx_buf_sz,
drivers/net/ethernet/smsc/epic100.c
1193
skb_put(skb = ep->rx_skbuff[entry], pkt_len);
drivers/net/ethernet/smsc/epic100.c
1194
ep->rx_skbuff[entry] = NULL;
drivers/net/ethernet/smsc/epic100.c
1202
entry = (++ep->cur_rx) % RX_RING_SIZE;
drivers/net/ethernet/smsc/epic100.c
1206
for (; ep->cur_rx - ep->dirty_rx > 0; ep->dirty_rx++) {
drivers/net/ethernet/smsc/epic100.c
1207
entry = ep->dirty_rx % RX_RING_SIZE;
drivers/net/ethernet/smsc/epic100.c
1208
if (ep->rx_skbuff[entry] == NULL) {
drivers/net/ethernet/smsc/epic100.c
1210
skb = ep->rx_skbuff[entry] = netdev_alloc_skb(dev, ep->rx_buf_sz + 2);
drivers/net/ethernet/smsc/epic100.c
1214
ep->rx_ring[entry].bufaddr = dma_map_single(&ep->pci_dev->dev,
drivers/net/ethernet/smsc/epic100.c
1216
ep->rx_buf_sz,
drivers/net/ethernet/smsc/epic100.c
1221
ep->rx_ring[entry].rxstatus = DescOwn;
drivers/net/ethernet/smsc/epic100.c
1226
static void epic_rx_err(struct net_device *dev, struct epic_private *ep)
drivers/net/ethernet/smsc/epic100.c
1228
void __iomem *ioaddr = ep->ioaddr;
drivers/net/ethernet/smsc/epic100.c
1243
struct epic_private *ep = container_of(napi, struct epic_private, napi);
drivers/net/ethernet/smsc/epic100.c
1244
struct net_device *dev = ep->mii.dev;
drivers/net/ethernet/smsc/epic100.c
1245
void __iomem *ioaddr = ep->ioaddr;
drivers/net/ethernet/smsc/epic100.c
1248
epic_tx(dev, ep);
drivers/net/ethernet/smsc/epic100.c
1252
epic_rx_err(dev, ep);
drivers/net/ethernet/smsc/epic100.c
1257
spin_lock_irqsave(&ep->napi_lock, flags);
drivers/net/ethernet/smsc/epic100.c
1260
epic_napi_irq_on(dev, ep);
drivers/net/ethernet/smsc/epic100.c
1261
spin_unlock_irqrestore(&ep->napi_lock, flags);
drivers/net/ethernet/smsc/epic100.c
1269
struct epic_private *ep = netdev_priv(dev);
drivers/net/ethernet/smsc/epic100.c
1270
struct pci_dev *pdev = ep->pci_dev;
drivers/net/ethernet/smsc/epic100.c
1271
void __iomem *ioaddr = ep->ioaddr;
drivers/net/ethernet/smsc/epic100.c
1276
napi_disable(&ep->napi);
drivers/net/ethernet/smsc/epic100.c
1282
timer_delete_sync(&ep->timer);
drivers/net/ethernet/smsc/epic100.c
1284
epic_disable_int(dev, ep);
drivers/net/ethernet/smsc/epic100.c
1292
skb = ep->rx_skbuff[i];
drivers/net/ethernet/smsc/epic100.c
1293
ep->rx_skbuff[i] = NULL;
drivers/net/ethernet/smsc/epic100.c
1294
ep->rx_ring[i].rxstatus = 0; /* Not owned by Epic chip. */
drivers/net/ethernet/smsc/epic100.c
1295
ep->rx_ring[i].buflength = 0;
drivers/net/ethernet/smsc/epic100.c
1297
dma_unmap_single(&pdev->dev, ep->rx_ring[i].bufaddr,
drivers/net/ethernet/smsc/epic100.c
1298
ep->rx_buf_sz, DMA_FROM_DEVICE);
drivers/net/ethernet/smsc/epic100.c
1301
ep->rx_ring[i].bufaddr = 0xBADF00D0; /* An invalid address. */
drivers/net/ethernet/smsc/epic100.c
1304
skb = ep->tx_skbuff[i];
drivers/net/ethernet/smsc/epic100.c
1305
ep->tx_skbuff[i] = NULL;
drivers/net/ethernet/smsc/epic100.c
1308
dma_unmap_single(&pdev->dev, ep->tx_ring[i].bufaddr, skb->len,
drivers/net/ethernet/smsc/epic100.c
1321
struct epic_private *ep = netdev_priv(dev);
drivers/net/ethernet/smsc/epic100.c
1322
void __iomem *ioaddr = ep->ioaddr;
drivers/net/ethernet/smsc/epic100.c
1342
struct epic_private *ep = netdev_priv(dev);
drivers/net/ethernet/smsc/epic100.c
1343
void __iomem *ioaddr = ep->ioaddr;
drivers/net/ethernet/smsc/epic100.c
1371
if (memcmp(mc_filter, ep->mc_filter, sizeof(mc_filter))) {
drivers/net/ethernet/smsc/epic100.c
1374
memcpy(ep->mc_filter, mc_filter, sizeof(mc_filter));
drivers/net/ethernet/smsc/epic100.c
1435
struct epic_private *ep = netdev_priv(dev);
drivers/net/ethernet/smsc/epic100.c
1436
void __iomem *ioaddr = ep->ioaddr;
drivers/net/ethernet/smsc/epic100.c
1438
if (ep->ethtool_ops_nesting == U32_MAX)
drivers/net/ethernet/smsc/epic100.c
1441
if (!ep->ethtool_ops_nesting++ && !netif_running(dev)) {
drivers/net/ethernet/smsc/epic100.c
1450
struct epic_private *ep = netdev_priv(dev);
drivers/net/ethernet/smsc/epic100.c
1451
void __iomem *ioaddr = ep->ioaddr;
drivers/net/ethernet/smsc/epic100.c
1454
if (!--ep->ethtool_ops_nesting && !netif_running(dev)) {
drivers/net/ethernet/smsc/epic100.c
1502
struct epic_private *ep = netdev_priv(dev);
drivers/net/ethernet/smsc/epic100.c
1505
dma_free_coherent(&pdev->dev, TX_TOTAL_SIZE, ep->tx_ring,
drivers/net/ethernet/smsc/epic100.c
1506
ep->tx_ring_dma);
drivers/net/ethernet/smsc/epic100.c
1507
dma_free_coherent(&pdev->dev, RX_TOTAL_SIZE, ep->rx_ring,
drivers/net/ethernet/smsc/epic100.c
1508
ep->rx_ring_dma);
drivers/net/ethernet/smsc/epic100.c
1509
pci_iounmap(pdev, ep->ioaddr);
drivers/net/ethernet/smsc/epic100.c
1519
struct epic_private *ep = netdev_priv(dev);
drivers/net/ethernet/smsc/epic100.c
1520
void __iomem *ioaddr = ep->ioaddr;
drivers/net/ethernet/smsc/epic100.c
318
struct epic_private *ep;
drivers/net/ethernet/smsc/epic100.c
344
dev = alloc_etherdev(sizeof (*ep));
drivers/net/ethernet/smsc/epic100.c
357
ep = netdev_priv(dev);
drivers/net/ethernet/smsc/epic100.c
358
ep->ioaddr = ioaddr;
drivers/net/ethernet/smsc/epic100.c
359
ep->mii.dev = dev;
drivers/net/ethernet/smsc/epic100.c
360
ep->mii.mdio_read = mdio_read;
drivers/net/ethernet/smsc/epic100.c
361
ep->mii.mdio_write = mdio_write;
drivers/net/ethernet/smsc/epic100.c
362
ep->mii.phy_id_mask = 0x1f;
drivers/net/ethernet/smsc/epic100.c
363
ep->mii.reg_num_mask = 0x1f;
drivers/net/ethernet/smsc/epic100.c
369
ep->tx_ring = ring_space;
drivers/net/ethernet/smsc/epic100.c
370
ep->tx_ring_dma = ring_dma;
drivers/net/ethernet/smsc/epic100.c
376
ep->rx_ring = ring_space;
drivers/net/ethernet/smsc/epic100.c
377
ep->rx_ring_dma = ring_dma;
drivers/net/ethernet/smsc/epic100.c
389
spin_lock_init(&ep->lock);
drivers/net/ethernet/smsc/epic100.c
390
spin_lock_init(&ep->napi_lock);
drivers/net/ethernet/smsc/epic100.c
413
pr_cont(" %4.4x%s", read_eeprom(ep, i),
drivers/net/ethernet/smsc/epic100.c
417
ep->pci_dev = pdev;
drivers/net/ethernet/smsc/epic100.c
418
ep->chip_id = chip_idx;
drivers/net/ethernet/smsc/epic100.c
419
ep->chip_flags = pci_id_tbl[chip_idx].drv_flags;
drivers/net/ethernet/smsc/epic100.c
420
ep->irq_mask =
drivers/net/ethernet/smsc/epic100.c
421
(ep->chip_flags & TYPE2_INTR ? PCIBusErr175 : PCIBusErr170)
drivers/net/ethernet/smsc/epic100.c
429
for (phy = 1; phy < 32 && phy_idx < sizeof(ep->phys); phy++) {
drivers/net/ethernet/smsc/epic100.c
432
ep->phys[phy_idx++] = phy;
drivers/net/ethernet/smsc/epic100.c
439
ep->mii_phy_cnt = phy_idx;
drivers/net/ethernet/smsc/epic100.c
441
phy = ep->phys[0];
drivers/net/ethernet/smsc/epic100.c
442
ep->mii.advertising = mdio_read(dev, phy, MII_ADVERTISE);
drivers/net/ethernet/smsc/epic100.c
446
ep->mii.advertising, mdio_read(dev, phy, 5));
drivers/net/ethernet/smsc/epic100.c
447
} else if ( ! (ep->chip_flags & NO_MII)) {
drivers/net/ethernet/smsc/epic100.c
451
ep->phys[0] = 3;
drivers/net/ethernet/smsc/epic100.c
453
ep->mii.phy_id = ep->phys[0];
drivers/net/ethernet/smsc/epic100.c
457
if (ep->chip_flags & MII_PWRDWN)
drivers/net/ethernet/smsc/epic100.c
463
ep->mii.force_media = ep->mii.full_duplex = 1;
drivers/net/ethernet/smsc/epic100.c
466
dev->if_port = ep->default_port = option;
drivers/net/ethernet/smsc/epic100.c
472
netif_napi_add(dev, &ep->napi, epic_poll);
drivers/net/ethernet/smsc/epic100.c
487
dma_free_coherent(&pdev->dev, RX_TOTAL_SIZE, ep->rx_ring,
drivers/net/ethernet/smsc/epic100.c
488
ep->rx_ring_dma);
drivers/net/ethernet/smsc/epic100.c
490
dma_free_coherent(&pdev->dev, TX_TOTAL_SIZE, ep->tx_ring,
drivers/net/ethernet/smsc/epic100.c
491
ep->tx_ring_dma);
drivers/net/ethernet/smsc/epic100.c
526
static void epic_disable_int(struct net_device *dev, struct epic_private *ep)
drivers/net/ethernet/smsc/epic100.c
528
void __iomem *ioaddr = ep->ioaddr;
drivers/net/ethernet/smsc/epic100.c
541
struct epic_private *ep)
drivers/net/ethernet/smsc/epic100.c
543
void __iomem *ioaddr = ep->ioaddr;
drivers/net/ethernet/smsc/epic100.c
545
ew32(INTMASK, ep->irq_mask & ~EpicNapiEvent);
drivers/net/ethernet/smsc/epic100.c
550
struct epic_private *ep)
drivers/net/ethernet/smsc/epic100.c
552
void __iomem *ioaddr = ep->ioaddr;
drivers/net/ethernet/smsc/epic100.c
555
ew32(INTMASK, ep->irq_mask | EpicNapiEvent);
drivers/net/ethernet/smsc/epic100.c
558
static int read_eeprom(struct epic_private *ep, int location)
drivers/net/ethernet/smsc/epic100.c
560
void __iomem *ioaddr = ep->ioaddr;
drivers/net/ethernet/smsc/epic100.c
596
struct epic_private *ep = netdev_priv(dev);
drivers/net/ethernet/smsc/epic100.c
597
void __iomem *ioaddr = ep->ioaddr;
drivers/net/ethernet/smsc/epic100.c
620
struct epic_private *ep = netdev_priv(dev);
drivers/net/ethernet/smsc/epic100.c
621
void __iomem *ioaddr = ep->ioaddr;
drivers/net/ethernet/smsc/epic100.c
636
struct epic_private *ep = netdev_priv(dev);
drivers/net/ethernet/smsc/epic100.c
637
void __iomem *ioaddr = ep->ioaddr;
drivers/net/ethernet/smsc/epic100.c
638
const int irq = ep->pci_dev->irq;
drivers/net/ethernet/smsc/epic100.c
644
napi_enable(&ep->napi);
drivers/net/ethernet/smsc/epic100.c
647
napi_disable(&ep->napi);
drivers/net/ethernet/smsc/epic100.c
666
if (ep->chip_flags & MII_PWRDWN)
drivers/net/ethernet/smsc/epic100.c
685
ep->tx_threshold = TX_FIFO_THRESH;
drivers/net/ethernet/smsc/epic100.c
686
ew32(TxThresh, ep->tx_threshold);
drivers/net/ethernet/smsc/epic100.c
689
if (ep->mii_phy_cnt)
drivers/net/ethernet/smsc/epic100.c
690
mdio_write(dev, ep->phys[0], MII_BMCR, media2miictl[dev->if_port&15]);
drivers/net/ethernet/smsc/epic100.c
694
mdio_read(dev, ep->phys[0], MII_BMSR));
drivers/net/ethernet/smsc/epic100.c
697
int mii_lpa = mdio_read(dev, ep->phys[0], MII_LPA);
drivers/net/ethernet/smsc/epic100.c
700
ep->mii.full_duplex = 1;
drivers/net/ethernet/smsc/epic100.c
702
mdio_write(dev, ep->phys[0], MII_BMCR, BMCR_ANENABLE|BMCR_ANRESTART);
drivers/net/ethernet/smsc/epic100.c
705
ep->mii.full_duplex ? "full"
drivers/net/ethernet/smsc/epic100.c
707
ep->phys[0], mii_lpa);
drivers/net/ethernet/smsc/epic100.c
711
ew32(TxCtrl, ep->mii.full_duplex ? 0x7f : 0x79);
drivers/net/ethernet/smsc/epic100.c
712
ew32(PRxCDAR, ep->rx_ring_dma);
drivers/net/ethernet/smsc/epic100.c
713
ew32(PTxCDAR, ep->tx_ring_dma);
drivers/net/ethernet/smsc/epic100.c
723
((ep->chip_flags & TYPE2_INTR) ? PCIBusErr175 : PCIBusErr170) |
drivers/net/ethernet/smsc/epic100.c
729
ep->mii.full_duplex ? "full" : "half");
drivers/net/ethernet/smsc/epic100.c
734
timer_setup(&ep->timer, epic_timer, 0);
drivers/net/ethernet/smsc/epic100.c
735
ep->timer.expires = jiffies + 3*HZ;
drivers/net/ethernet/smsc/epic100.c
736
add_timer(&ep->timer);
drivers/net/ethernet/smsc/epic100.c
746
struct epic_private *ep = netdev_priv(dev);
drivers/net/ethernet/smsc/epic100.c
747
void __iomem *ioaddr = ep->ioaddr;
drivers/net/ethernet/smsc/epic100.c
769
struct epic_private *ep = netdev_priv(dev);
drivers/net/ethernet/smsc/epic100.c
770
void __iomem *ioaddr = ep->ioaddr;
drivers/net/ethernet/smsc/epic100.c
777
ep->cur_rx, ep->dirty_rx, ep->dirty_tx, ep->cur_tx);
drivers/net/ethernet/smsc/epic100.c
790
if (ep->chip_flags & MII_PWRDWN)
drivers/net/ethernet/smsc/epic100.c
796
ep->tx_threshold = TX_FIFO_THRESH;
drivers/net/ethernet/smsc/epic100.c
797
ew32(TxThresh, ep->tx_threshold);
drivers/net/ethernet/smsc/epic100.c
798
ew32(TxCtrl, ep->mii.full_duplex ? 0x7f : 0x79);
drivers/net/ethernet/smsc/epic100.c
799
ew32(PRxCDAR, ep->rx_ring_dma +
drivers/net/ethernet/smsc/epic100.c
800
(ep->cur_rx % RX_RING_SIZE) * sizeof(struct epic_rx_desc));
drivers/net/ethernet/smsc/epic100.c
801
ew32(PTxCDAR, ep->tx_ring_dma +
drivers/net/ethernet/smsc/epic100.c
802
(ep->dirty_tx % TX_RING_SIZE) * sizeof(struct epic_tx_desc));
drivers/net/ethernet/smsc/epic100.c
810
((ep->chip_flags & TYPE2_INTR) ? PCIBusErr175 : PCIBusErr170) |
drivers/net/ethernet/smsc/epic100.c
819
struct epic_private *ep = netdev_priv(dev);
drivers/net/ethernet/smsc/epic100.c
820
void __iomem *ioaddr = ep->ioaddr;
drivers/net/ethernet/smsc/epic100.c
821
int mii_lpa = ep->mii_phy_cnt ? mdio_read(dev, ep->phys[0], MII_LPA) : 0;
drivers/net/ethernet/smsc/epic100.c
822
int negotiated = mii_lpa & ep->mii.advertising;
drivers/net/ethernet/smsc/epic100.c
825
if (ep->mii.force_media)
drivers/net/ethernet/smsc/epic100.c
829
if (ep->mii.full_duplex != duplex) {
drivers/net/ethernet/smsc/epic100.c
830
ep->mii.full_duplex = duplex;
drivers/net/ethernet/smsc/epic100.c
832
ep->mii.full_duplex ? "full" : "half",
drivers/net/ethernet/smsc/epic100.c
833
ep->phys[0], mii_lpa);
drivers/net/ethernet/smsc/epic100.c
834
ew32(TxCtrl, ep->mii.full_duplex ? 0x7F : 0x79);
drivers/net/ethernet/smsc/epic100.c
840
struct epic_private *ep = timer_container_of(ep, t, timer);
drivers/net/ethernet/smsc/epic100.c
841
struct net_device *dev = ep->mii.dev;
drivers/net/ethernet/smsc/epic100.c
842
void __iomem *ioaddr = ep->ioaddr;
drivers/net/ethernet/smsc/epic100.c
854
ep->timer.expires = jiffies + next_tick;
drivers/net/ethernet/smsc/epic100.c
855
add_timer(&ep->timer);
drivers/net/ethernet/smsc/epic100.c
860
struct epic_private *ep = netdev_priv(dev);
drivers/net/ethernet/smsc/epic100.c
861
void __iomem *ioaddr = ep->ioaddr;
drivers/net/ethernet/smsc/epic100.c
868
ep->dirty_tx, ep->cur_tx);
drivers/net/ethernet/smsc/epic100.c
881
if (!ep->tx_full)
drivers/net/ethernet/smsc/epic100.c
888
struct epic_private *ep = netdev_priv(dev);
drivers/net/ethernet/smsc/epic100.c
891
ep->tx_full = 0;
drivers/net/ethernet/smsc/epic100.c
892
ep->dirty_tx = ep->cur_tx = 0;
drivers/net/ethernet/smsc/epic100.c
893
ep->cur_rx = ep->dirty_rx = 0;
drivers/net/ethernet/smsc/epic100.c
894
ep->rx_buf_sz = (dev->mtu <= 1500 ? PKT_BUF_SZ : dev->mtu + 32);
drivers/net/ethernet/smsc/epic100.c
898
ep->rx_ring[i].rxstatus = 0;
drivers/net/ethernet/smsc/epic100.c
899
ep->rx_ring[i].buflength = ep->rx_buf_sz;
drivers/net/ethernet/smsc/epic100.c
900
ep->rx_ring[i].next = ep->rx_ring_dma +
drivers/net/ethernet/smsc/epic100.c
902
ep->rx_skbuff[i] = NULL;
drivers/net/ethernet/smsc/epic100.c
905
ep->rx_ring[i-1].next = ep->rx_ring_dma;
drivers/net/ethernet/smsc/epic100.c
909
struct sk_buff *skb = netdev_alloc_skb(dev, ep->rx_buf_sz + 2);
drivers/net/ethernet/smsc/epic100.c
910
ep->rx_skbuff[i] = skb;
drivers/net/ethernet/smsc/epic100.c
914
ep->rx_ring[i].bufaddr = dma_map_single(&ep->pci_dev->dev,
drivers/net/ethernet/smsc/epic100.c
916
ep->rx_buf_sz,
drivers/net/ethernet/smsc/epic100.c
918
ep->rx_ring[i].rxstatus = DescOwn;
drivers/net/ethernet/smsc/epic100.c
920
ep->dirty_rx = (unsigned int)(i - RX_RING_SIZE);
drivers/net/ethernet/smsc/epic100.c
925
ep->tx_skbuff[i] = NULL;
drivers/net/ethernet/smsc/epic100.c
926
ep->tx_ring[i].txstatus = 0x0000;
drivers/net/ethernet/smsc/epic100.c
927
ep->tx_ring[i].next = ep->tx_ring_dma +
drivers/net/ethernet/smsc/epic100.c
930
ep->tx_ring[i-1].next = ep->tx_ring_dma;
drivers/net/ethernet/smsc/epic100.c
935
struct epic_private *ep = netdev_priv(dev);
drivers/net/ethernet/smsc/epic100.c
936
void __iomem *ioaddr = ep->ioaddr;
drivers/net/ethernet/smsc/epic100.c
948
spin_lock_irqsave(&ep->lock, flags);
drivers/net/ethernet/smsc/epic100.c
949
free_count = ep->cur_tx - ep->dirty_tx;
drivers/net/ethernet/smsc/epic100.c
950
entry = ep->cur_tx % TX_RING_SIZE;
drivers/net/ethernet/smsc/epic100.c
952
ep->tx_skbuff[entry] = skb;
drivers/net/ethernet/smsc/epic100.c
953
ep->tx_ring[entry].bufaddr = dma_map_single(&ep->pci_dev->dev,
drivers/net/ethernet/smsc/epic100.c
965
ep->tx_full = 1;
drivers/net/ethernet/smsc/epic100.c
967
ep->tx_ring[entry].buflength = ctrl_word | skb->len;
drivers/net/ethernet/smsc/epic100.c
968
ep->tx_ring[entry].txstatus =
drivers/net/ethernet/smsc/epic100.c
972
ep->cur_tx++;
drivers/net/ethernet/smsc/epic100.c
973
if (ep->tx_full)
drivers/net/ethernet/smsc/epic100.c
976
spin_unlock_irqrestore(&ep->lock, flags);
drivers/net/ethernet/smsc/epic100.c
987
static void epic_tx_error(struct net_device *dev, struct epic_private *ep,
drivers/net/ethernet/stmicro/stmmac/dwmac4_descs.c
446
struct dma_edesc *ep = (struct dma_edesc *)head;
drivers/net/ethernet/stmicro/stmmac/dwmac4_descs.c
449
dma_addr = dma_rx_phy + i * sizeof(*ep);
drivers/net/ethernet/stmicro/stmmac/dwmac4_descs.c
452
le32_to_cpu(ep->des4), le32_to_cpu(ep->des5),
drivers/net/ethernet/stmicro/stmmac/dwmac4_descs.c
453
le32_to_cpu(ep->des6), le32_to_cpu(ep->des7),
drivers/net/ethernet/stmicro/stmmac/dwmac4_descs.c
454
le32_to_cpu(ep->basic.des0), le32_to_cpu(ep->basic.des1),
drivers/net/ethernet/stmicro/stmmac/dwmac4_descs.c
455
le32_to_cpu(ep->basic.des2), le32_to_cpu(ep->basic.des3));
drivers/net/ethernet/stmicro/stmmac/dwmac4_descs.c
456
ep++;
drivers/net/ethernet/stmicro/stmmac/enh_desc.c
415
struct dma_extended_desc *ep = (struct dma_extended_desc *)head;
drivers/net/ethernet/stmicro/stmmac/enh_desc.c
423
dma_addr = dma_rx_phy + i * sizeof(*ep);
drivers/net/ethernet/stmicro/stmmac/enh_desc.c
425
x = *(u64 *)ep;
drivers/net/ethernet/stmicro/stmmac/enh_desc.c
429
ep->basic.des2, ep->basic.des3);
drivers/net/ethernet/stmicro/stmmac/enh_desc.c
430
ep++;
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
6433
struct dma_extended_desc *ep = (struct dma_extended_desc *)head;
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
6439
desc_size = extend_desc ? sizeof(*ep) : sizeof(*p);
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
6447
p = &(++ep)->basic;
drivers/net/ethernet/sun/cassini.c
671
const struct ethtool_link_ksettings *ep)
drivers/net/ethernet/sun/cassini.c
681
if (!ep)
drivers/net/ethernet/sun/cassini.c
684
if (ep->base.autoneg == AUTONEG_ENABLE) {
drivers/net/ethernet/sun/cassini.c
687
u32 speed = ep->base.speed;
drivers/net/ethernet/sun/cassini.c
693
if (ep->base.duplex == DUPLEX_FULL)
drivers/net/ethernet/sun/sungem.c
1237
const struct ethtool_link_ksettings *ep)
drivers/net/ethernet/sun/sungem.c
1245
if (ep)
drivers/net/ethernet/sun/sungem.c
1247
&advertising, ep->link_modes.advertising);
drivers/net/ethernet/sun/sungem.c
1268
if (!ep)
drivers/net/ethernet/sun/sungem.c
1270
if (ep->base.autoneg == AUTONEG_ENABLE) {
drivers/net/ethernet/sun/sungem.c
1275
speed = ep->base.speed;
drivers/net/ethernet/sun/sungem.c
1276
duplex = ep->base.duplex;
drivers/net/ethernet/sun/sunhme.c
608
const struct ethtool_link_ksettings *ep)
drivers/net/ethernet/sun/sunhme.c
621
if (!ep || ep->base.autoneg == AUTONEG_ENABLE) {
drivers/net/ethernet/sun/sunhme.c
691
if (!ep || ep->base.autoneg == AUTONEG_ENABLE) {
drivers/net/ethernet/sun/sunhme.c
694
if (ep->base.speed == SPEED_100)
drivers/net/ethernet/sun/sunhme.c
698
if (ep->base.duplex == DUPLEX_FULL)
drivers/net/fddi/skfp/h/skfbi.h
888
#define INC_PTR(sp,cp,ep) if (++cp == ep) cp = sp
drivers/net/usb/cdc_ncm.c
729
u8 ep;
drivers/net/usb/cdc_ncm.c
731
for (ep = 0; ep < intf->cur_altsetting->desc.bNumEndpoints; ep++) {
drivers/net/usb/cdc_ncm.c
732
e = intf->cur_altsetting->endpoint + ep;
drivers/net/usb/usbnet.c
107
for (ep = 0; ep < alt->desc.bNumEndpoints; ep++) {
drivers/net/usb/usbnet.c
111
e = alt->endpoint + ep;
drivers/net/usb/usbnet.c
98
unsigned ep;
drivers/net/wireless/ath/ath10k/htc.c
101
if (ep->tx_credit_flow_enabled && !ep->bundle_tx)
drivers/net/wireless/ath/ath10k/htc.c
1010
struct ath10k_htc_ep *ep = &ar->htc.endpoint[eid];
drivers/net/wireless/ath/ath10k/htc.c
1012
ep->tx_credit_flow_enabled = enable;
drivers/net/wireless/ath/ath10k/htc.c
1025
struct ath10k_htc_ep *ep;
drivers/net/wireless/ath/ath10k/htc.c
104
spin_lock_bh(&ep->htc->tx_lock);
drivers/net/wireless/ath/ath10k/htc.c
105
hdr->seq_no = ep->seq_no++;
drivers/net/wireless/ath/ath10k/htc.c
106
spin_unlock_bh(&ep->htc->tx_lock);
drivers/net/wireless/ath/ath10k/htc.c
109
static int ath10k_htc_consume_credit(struct ath10k_htc_ep *ep,
drivers/net/wireless/ath/ath10k/htc.c
113
struct ath10k_htc *htc = ep->htc;
drivers/net/wireless/ath/ath10k/htc.c
1131
ep = &htc->endpoint[assigned_eid];
drivers/net/wireless/ath/ath10k/htc.c
1132
ep->eid = assigned_eid;
drivers/net/wireless/ath/ath10k/htc.c
1134
if (ep->service_id != ATH10K_HTC_SVC_ID_UNUSED)
drivers/net/wireless/ath/ath10k/htc.c
1142
ep->service_id = conn_req->service_id;
drivers/net/wireless/ath/ath10k/htc.c
1143
ep->max_tx_queue_depth = conn_req->max_send_queue_depth;
drivers/net/wireless/ath/ath10k/htc.c
1144
ep->max_ep_message_len = __le16_to_cpu(resp_msg->max_msg_size);
drivers/net/wireless/ath/ath10k/htc.c
1145
ep->tx_credits = tx_alloc;
drivers/net/wireless/ath/ath10k/htc.c
1146
ep->tx_credit_size = htc->target_credit_size;
drivers/net/wireless/ath/ath10k/htc.c
115
enum ath10k_htc_ep_id eid = ep->eid;
drivers/net/wireless/ath/ath10k/htc.c
1150
ep->tx_credit_size = htc->alt_data_credit_size;
drivers/net/wireless/ath/ath10k/htc.c
1153
ep->ep_ops = conn_req->ep_ops;
drivers/net/wireless/ath/ath10k/htc.c
1156
ep->service_id,
drivers/net/wireless/ath/ath10k/htc.c
1157
&ep->ul_pipe_id,
drivers/net/wireless/ath/ath10k/htc.c
1158
&ep->dl_pipe_id);
drivers/net/wireless/ath/ath10k/htc.c
1161
ep->service_id);
drivers/net/wireless/ath/ath10k/htc.c
1167
htc_service_name(ep->service_id), ep->ul_pipe_id,
drivers/net/wireless/ath/ath10k/htc.c
1168
ep->dl_pipe_id, ep->eid);
drivers/net/wireless/ath/ath10k/htc.c
1170
if (disable_credit_flow_ctrl && ep->tx_credit_flow_enabled) {
drivers/net/wireless/ath/ath10k/htc.c
1171
ep->tx_credit_flow_enabled = false;
drivers/net/wireless/ath/ath10k/htc.c
1174
htc_service_name(ep->service_id), assigned_eid);
drivers/net/wireless/ath/ath10k/htc.c
118
if (!ep->tx_credit_flow_enabled)
drivers/net/wireless/ath/ath10k/htc.c
121
credits = DIV_ROUND_UP(len, ep->tx_credit_size);
drivers/net/wireless/ath/ath10k/htc.c
124
if (ep->tx_credits < credits) {
drivers/net/wireless/ath/ath10k/htc.c
127
eid, credits, ep->tx_credits, consume);
drivers/net/wireless/ath/ath10k/htc.c
133
ep->tx_credits -= credits;
drivers/net/wireless/ath/ath10k/htc.c
136
eid, credits, ep->tx_credits);
drivers/net/wireless/ath/ath10k/htc.c
144
static void ath10k_htc_release_credit(struct ath10k_htc_ep *ep, unsigned int len)
drivers/net/wireless/ath/ath10k/htc.c
146
struct ath10k_htc *htc = ep->htc;
drivers/net/wireless/ath/ath10k/htc.c
148
enum ath10k_htc_ep_id eid = ep->eid;
drivers/net/wireless/ath/ath10k/htc.c
151
if (!ep->tx_credit_flow_enabled)
drivers/net/wireless/ath/ath10k/htc.c
154
credits = DIV_ROUND_UP(len, ep->tx_credit_size);
drivers/net/wireless/ath/ath10k/htc.c
156
ep->tx_credits += credits;
drivers/net/wireless/ath/ath10k/htc.c
159
eid, credits, ep->tx_credits);
drivers/net/wireless/ath/ath10k/htc.c
162
if (ep->ep_ops.ep_tx_credits)
drivers/net/wireless/ath/ath10k/htc.c
163
ep->ep_ops.ep_tx_credits(htc->ar);
drivers/net/wireless/ath/ath10k/htc.c
171
struct ath10k_htc_ep *ep = &htc->endpoint[eid];
drivers/net/wireless/ath/ath10k/htc.c
189
ret = ath10k_htc_consume_credit(ep, skb_len, true);
drivers/net/wireless/ath/ath10k/htc.c
193
ath10k_htc_prepare_tx_skb(ep, skb);
drivers/net/wireless/ath/ath10k/htc.c
206
sg_item.transfer_id = ep->eid;
drivers/net/wireless/ath/ath10k/htc.c
212
ret = ath10k_hif_tx_sg(htc->ar, ep->ul_pipe_id, &sg_item, 1);
drivers/net/wireless/ath/ath10k/htc.c
222
ath10k_htc_release_credit(ep, skb_len);
drivers/net/wireless/ath/ath10k/htc.c
232
struct ath10k_htc_ep *ep;
drivers/net/wireless/ath/ath10k/htc.c
238
ep = &htc->endpoint[skb_cb->eid];
drivers/net/wireless/ath/ath10k/htc.c
240
ath10k_htc_notify_tx_completion(ep, skb);
drivers/net/wireless/ath/ath10k/htc.c
256
struct ath10k_htc_ep *ep;
drivers/net/wireless/ath/ath10k/htc.c
269
ep = &htc->endpoint[report->eid];
drivers/net/wireless/ath/ath10k/htc.c
270
ep->tx_credits += report->credits;
drivers/net/wireless/ath/ath10k/htc.c
273
report->eid, report->credits, ep->tx_credits);
drivers/net/wireless/ath/ath10k/htc.c
275
if (ep->ep_ops.ep_tx_credits) {
drivers/net/wireless/ath/ath10k/htc.c
277
ep->ep_ops.ep_tx_credits(htc->ar);
drivers/net/wireless/ath/ath10k/htc.c
445
struct ath10k_htc_ep *ep;
drivers/net/wireless/ath/ath10k/htc.c
464
ep = &htc->endpoint[eid];
drivers/net/wireless/ath/ath10k/htc.c
465
if (ep->service_id == ATH10K_HTC_SVC_ID_UNUSED) {
drivers/net/wireless/ath/ath10k/htc.c
523
ep->ep_ops.ep_rx_complete(ar, skb);
drivers/net/wireless/ath/ath10k/htc.c
54
void ath10k_htc_notify_tx_completion(struct ath10k_htc_ep *ep,
drivers/net/wireless/ath/ath10k/htc.c
57
struct ath10k *ar = ep->htc->ar;
drivers/net/wireless/ath/ath10k/htc.c
61
ep->eid, skb);
drivers/net/wireless/ath/ath10k/htc.c
614
struct ath10k_htc_ep *ep;
drivers/net/wireless/ath/ath10k/htc.c
618
ep = &htc->endpoint[i];
drivers/net/wireless/ath/ath10k/htc.c
619
ep->service_id = ATH10K_HTC_SVC_ID_UNUSED;
drivers/net/wireless/ath/ath10k/htc.c
620
ep->max_ep_message_len = 0;
drivers/net/wireless/ath/ath10k/htc.c
621
ep->max_tx_queue_depth = 0;
drivers/net/wireless/ath/ath10k/htc.c
622
ep->eid = i;
drivers/net/wireless/ath/ath10k/htc.c
623
ep->htc = htc;
drivers/net/wireless/ath/ath10k/htc.c
624
ep->tx_credit_flow_enabled = true;
drivers/net/wireless/ath/ath10k/htc.c
642
static int ath10k_htc_send_bundle(struct ath10k_htc_ep *ep,
drivers/net/wireless/ath/ath10k/htc.c
647
struct ath10k_htc *htc = ep->htc;
drivers/net/wireless/ath/ath10k/htc.c
655
ret = ath10k_htc_consume_credit(ep, skb_len, true);
drivers/net/wireless/ath/ath10k/htc.c
658
sg_item.transfer_id = ep->eid;
drivers/net/wireless/ath/ath10k/htc.c
663
ret = ath10k_hif_tx_sg(htc->ar, ep->ul_pipe_id, &sg_item, 1);
drivers/net/wireless/ath/ath10k/htc.c
665
ath10k_htc_release_credit(ep, skb_len);
drivers/net/wireless/ath/ath10k/htc.c
674
skb_queue_head(&ep->tx_req_head, skb);
drivers/net/wireless/ath/ath10k/htc.c
676
skb_queue_tail(&ep->tx_complete_head, skb);
drivers/net/wireless/ath/ath10k/htc.c
685
ret, ep->eid, skb_queue_len(&ep->tx_req_head), cn, skb_len);
drivers/net/wireless/ath/ath10k/htc.c
689
static void ath10k_htc_send_one_skb(struct ath10k_htc_ep *ep, struct sk_buff *skb)
drivers/net/wireless/ath/ath10k/htc.c
69
ep->ul_pipe_id == 3)
drivers/net/wireless/ath/ath10k/htc.c
691
struct ath10k_htc *htc = ep->htc;
drivers/net/wireless/ath/ath10k/htc.c
695
ret = ath10k_htc_send(htc, ep->eid, skb);
drivers/net/wireless/ath/ath10k/htc.c
698
skb_queue_head(&ep->tx_req_head, skb);
drivers/net/wireless/ath/ath10k/htc.c
701
ret, ep->eid, skb->len, skb_queue_len(&ep->tx_req_head));
drivers/net/wireless/ath/ath10k/htc.c
704
static int ath10k_htc_send_bundle_skbs(struct ath10k_htc_ep *ep)
drivers/net/wireless/ath/ath10k/htc.c
706
struct ath10k_htc *htc = ep->htc;
drivers/net/wireless/ath/ath10k/htc.c
716
if (ep->tx_credit_flow_enabled &&
drivers/net/wireless/ath/ath10k/htc.c
717
ep->tx_credits < ATH10K_MIN_CREDIT_PER_HTC_TX_BUNDLE)
drivers/net/wireless/ath/ath10k/htc.c
720
bundles_left = ATH10K_MAX_MSG_PER_HTC_TX_BUNDLE * ep->tx_credit_size;
drivers/net/wireless/ath/ath10k/htc.c
73
ath10k_htc_restore_tx_skb(ep->htc, skb);
drivers/net/wireless/ath/ath10k/htc.c
730
skb = skb_dequeue(&ep->tx_req_head);
drivers/net/wireless/ath/ath10k/htc.c
736
credit_remainder = trans_len % ep->tx_credit_size;
drivers/net/wireless/ath/ath10k/htc.c
739
credit_pad = ep->tx_credit_size - credit_remainder;
drivers/net/wireless/ath/ath10k/htc.c
743
ret = ath10k_htc_consume_credit(ep,
drivers/net/wireless/ath/ath10k/htc.c
747
skb_queue_head(&ep->tx_req_head, skb);
drivers/net/wireless/ath/ath10k/htc.c
75
if (!ep->ep_ops.ep_tx_complete) {
drivers/net/wireless/ath/ath10k/htc.c
753
ret = ath10k_htc_send_bundle(ep, bundle_skb, &tx_save_head);
drivers/net/wireless/ath/ath10k/htc.c
756
skb_queue_head(&ep->tx_req_head, skb);
drivers/net/wireless/ath/ath10k/htc.c
76
ath10k_warn(ar, "no tx handler for eid %d\n", ep->eid);
drivers/net/wireless/ath/ath10k/htc.c
760
if (skb_queue_len(&ep->tx_req_head) == 0) {
drivers/net/wireless/ath/ath10k/htc.c
761
ath10k_htc_send_one_skb(ep, skb);
drivers/net/wireless/ath/ath10k/htc.c
765
if (ep->tx_credit_flow_enabled &&
drivers/net/wireless/ath/ath10k/htc.c
766
ep->tx_credits < ATH10K_MIN_CREDIT_PER_HTC_TX_BUNDLE) {
drivers/net/wireless/ath/ath10k/htc.c
767
skb_queue_head(&ep->tx_req_head, skb);
drivers/net/wireless/ath/ath10k/htc.c
772
ATH10K_MAX_MSG_PER_HTC_TX_BUNDLE * ep->tx_credit_size;
drivers/net/wireless/ath/ath10k/htc.c
776
skb_queue_head(&ep->tx_req_head, skb);
drivers/net/wireless/ath/ath10k/htc.c
784
ath10k_htc_prepare_tx_skb(ep, skb);
drivers/net/wireless/ath/ath10k/htc.c
797
ret = ath10k_htc_send_bundle(ep, bundle_skb, &tx_save_head);
drivers/net/wireless/ath/ath10k/htc.c
808
struct ath10k_htc_ep *ep;
drivers/net/wireless/ath/ath10k/htc.c
813
ep = &ar->htc.endpoint[i];
drivers/net/wireless/ath/ath10k/htc.c
815
if (!ep->bundle_tx)
drivers/net/wireless/ath/ath10k/htc.c
819
ep->eid, skb_queue_len(&ep->tx_req_head));
drivers/net/wireless/ath/ath10k/htc.c
821
if (skb_queue_len(&ep->tx_req_head) >=
drivers/net/wireless/ath/ath10k/htc.c
823
ath10k_htc_send_bundle_skbs(ep);
drivers/net/wireless/ath/ath10k/htc.c
825
skb = skb_dequeue(&ep->tx_req_head);
drivers/net/wireless/ath/ath10k/htc.c
829
ath10k_htc_send_one_skb(ep, skb);
drivers/net/wireless/ath/ath10k/htc.c
837
struct ath10k_htc_ep *ep;
drivers/net/wireless/ath/ath10k/htc.c
843
ep = &ar->htc.endpoint[i];
drivers/net/wireless/ath/ath10k/htc.c
844
eid = ep->eid;
drivers/net/wireless/ath/ath10k/htc.c
845
if (ep->bundle_tx && eid == ar->htt.eid) {
drivers/net/wireless/ath/ath10k/htc.c
847
ep->eid, skb_queue_len(&ep->tx_complete_head));
drivers/net/wireless/ath/ath10k/htc.c
850
skb = skb_dequeue(&ep->tx_complete_head);
drivers/net/wireless/ath/ath10k/htc.c
853
ath10k_htc_notify_tx_completion(ep, skb);
drivers/net/wireless/ath/ath10k/htc.c
86
ep->ep_ops.ep_tx_complete(ep->htc->ar, skb);
drivers/net/wireless/ath/ath10k/htc.c
863
struct ath10k_htc_ep *ep = &htc->endpoint[eid];
drivers/net/wireless/ath/ath10k/htc.c
866
if (sizeof(struct ath10k_htc_hdr) + skb->len > ep->tx_credit_size) {
drivers/net/wireless/ath/ath10k/htc.c
872
eid, ep->bundle_tx, skb_queue_len(&ep->tx_req_head), skb->len);
drivers/net/wireless/ath/ath10k/htc.c
874
if (ep->bundle_tx) {
drivers/net/wireless/ath/ath10k/htc.c
875
skb_queue_tail(&ep->tx_req_head, skb);
drivers/net/wireless/ath/ath10k/htc.c
883
void ath10k_htc_setup_tx_req(struct ath10k_htc_ep *ep)
drivers/net/wireless/ath/ath10k/htc.c
885
if (ep->htc->max_msgs_per_htc_bundle >= ATH10K_MIN_MSG_PER_HTC_TX_BUNDLE &&
drivers/net/wireless/ath/ath10k/htc.c
886
!ep->bundle_tx) {
drivers/net/wireless/ath/ath10k/htc.c
887
ep->bundle_tx = true;
drivers/net/wireless/ath/ath10k/htc.c
888
skb_queue_head_init(&ep->tx_req_head);
drivers/net/wireless/ath/ath10k/htc.c
889
skb_queue_head_init(&ep->tx_complete_head);
drivers/net/wireless/ath/ath10k/htc.c
895
struct ath10k_htc_ep *ep;
drivers/net/wireless/ath/ath10k/htc.c
90
static void ath10k_htc_prepare_tx_skb(struct ath10k_htc_ep *ep,
drivers/net/wireless/ath/ath10k/htc.c
902
ep = &ar->htc.endpoint[i];
drivers/net/wireless/ath/ath10k/htc.c
904
if (!ep->bundle_tx)
drivers/net/wireless/ath/ath10k/htc.c
908
ep->eid, skb_queue_len(&ep->tx_req_head));
drivers/net/wireless/ath/ath10k/htc.c
910
skb_queue_purge(&ep->tx_req_head);
drivers/net/wireless/ath/ath10k/htc.c
98
hdr->eid = ep->eid;
drivers/net/wireless/ath/ath10k/htc.h
395
void ath10k_htc_setup_tx_req(struct ath10k_htc_ep *ep);
drivers/net/wireless/ath/ath10k/htc.h
412
void ath10k_htc_notify_tx_completion(struct ath10k_htc_ep *ep,
drivers/net/wireless/ath/ath10k/htt.c
293
struct ath10k_htc_ep *ep;
drivers/net/wireless/ath/ath10k/htt.c
315
ep = &ar->htc.endpoint[htt->eid];
drivers/net/wireless/ath/ath10k/htt.c
316
ath10k_htc_setup_tx_req(ep);
drivers/net/wireless/ath/ath10k/htt_rx.c
4129
struct ath10k_htc_ep *ep = &ar->htc.endpoint[htt->eid];
drivers/net/wireless/ath/ath10k/htt_rx.c
4157
ep->tx_credits++;
drivers/net/wireless/ath/ath10k/htt_rx.c
4237
struct ath10k_htc_ep *ep = &ar->htc.endpoint[htt->eid];
drivers/net/wireless/ath/ath10k/htt_rx.c
4251
ep->tx_credits += htt_credit_delta;
drivers/net/wireless/ath/ath10k/htt_rx.c
4255
ep->tx_credits);
drivers/net/wireless/ath/ath10k/htt_rx.c
4256
ep->ep_ops.ep_tx_credits(htc->ar);
drivers/net/wireless/ath/ath10k/sdio.c
1326
struct ath10k_htc_ep *ep;
drivers/net/wireless/ath/ath10k/sdio.c
1337
ep = &ar->htc.endpoint[req->eid];
drivers/net/wireless/ath/ath10k/sdio.c
1338
ath10k_htc_notify_tx_completion(ep, skb);
drivers/net/wireless/ath/ath10k/sdio.c
1354
struct ath10k_htc_ep *ep;
drivers/net/wireless/ath/ath10k/sdio.c
1363
ep = &ar->htc.endpoint[cb->eid];
drivers/net/wireless/ath/ath10k/sdio.c
1364
ep->ep_ops.ep_rx_complete(ar, skb);
drivers/net/wireless/ath/ath10k/sdio.c
1985
struct ath10k_htc_ep *ep;
drivers/net/wireless/ath/ath10k/sdio.c
1990
ep = &ar->htc.endpoint[req->eid];
drivers/net/wireless/ath/ath10k/sdio.c
1991
ath10k_htc_notify_tx_completion(ep, req->skb);
drivers/net/wireless/ath/ath10k/sdio.c
425
struct ath10k_htc_ep *ep;
drivers/net/wireless/ath/ath10k/sdio.c
446
ep = &htc->endpoint[id];
drivers/net/wireless/ath/ath10k/sdio.c
448
if (ep->service_id == 0) {
drivers/net/wireless/ath/ath10k/usb.c
284
struct ath10k_htc_ep *ep;
drivers/net/wireless/ath/ath10k/usb.c
287
ep = &ar->htc.endpoint[htc_hdr->eid];
drivers/net/wireless/ath/ath10k/usb.c
288
ath10k_htc_notify_tx_completion(ep, skb);
drivers/net/wireless/ath/ath10k/usb.c
297
struct ath10k_htc_ep *ep;
drivers/net/wireless/ath/ath10k/usb.c
304
ep = &ar->htc.endpoint[eid];
drivers/net/wireless/ath/ath10k/usb.c
306
if (ep->service_id == 0) {
drivers/net/wireless/ath/ath10k/usb.c
345
ep->ep_ops.ep_rx_complete(ar, skb);
drivers/net/wireless/ath/ath11k/htc.c
100
eid, credits, ep->tx_credits);
drivers/net/wireless/ath/ath11k/htc.c
105
ep->tx_credits -= credits;
drivers/net/wireless/ath/ath11k/htc.c
108
eid, credits, ep->tx_credits);
drivers/net/wireless/ath/ath11k/htc.c
112
ath11k_htc_prepare_tx_skb(ep, skb);
drivers/net/wireless/ath/ath11k/htc.c
125
ret = ath11k_ce_send(htc->ab, skb, ep->ul_pipe_id, ep->eid);
drivers/net/wireless/ath/ath11k/htc.c
136
ep->tx_credits += credits;
drivers/net/wireless/ath/ath11k/htc.c
139
eid, credits, ep->tx_credits);
drivers/net/wireless/ath/ath11k/htc.c
142
if (ep->ep_ops.ep_tx_credits)
drivers/net/wireless/ath/ath11k/htc.c
143
ep->ep_ops.ep_tx_credits(htc->ab);
drivers/net/wireless/ath/ath11k/htc.c
157
struct ath11k_htc_ep *ep;
drivers/net/wireless/ath/ath11k/htc.c
170
ep = &htc->endpoint[report->eid];
drivers/net/wireless/ath/ath11k/htc.c
171
ep->tx_credits += report->credits;
drivers/net/wireless/ath/ath11k/htc.c
174
report->eid, report->credits, ep->tx_credits);
drivers/net/wireless/ath/ath11k/htc.c
176
if (ep->ep_ops.ep_tx_credits) {
drivers/net/wireless/ath/ath11k/htc.c
178
ep->ep_ops.ep_tx_credits(htc->ab);
drivers/net/wireless/ath/ath11k/htc.c
259
struct ath11k_htc_ep *ep;
drivers/net/wireless/ath/ath11k/htc.c
269
ep = &htc->endpoint[eid];
drivers/net/wireless/ath/ath11k/htc.c
271
ep_tx_complete = ep->ep_ops.ep_tx_complete;
drivers/net/wireless/ath/ath11k/htc.c
291
struct ath11k_htc_ep *ep;
drivers/net/wireless/ath/ath11k/htc.c
308
ep = &htc->endpoint[eid];
drivers/net/wireless/ath/ath11k/htc.c
407
ep->ep_ops.ep_rx_complete(ab, skb);
drivers/net/wireless/ath/ath11k/htc.c
410
ath11k_ce_poll_send_completed(ab, ep->ul_pipe_id);
drivers/net/wireless/ath/ath11k/htc.c
468
struct ath11k_htc_ep *ep;
drivers/net/wireless/ath/ath11k/htc.c
472
ep = &htc->endpoint[i];
drivers/net/wireless/ath/ath11k/htc.c
473
ep->service_id = ATH11K_HTC_SVC_ID_UNUSED;
drivers/net/wireless/ath/ath11k/htc.c
474
ep->max_ep_message_len = 0;
drivers/net/wireless/ath/ath11k/htc.c
475
ep->max_tx_queue_depth = 0;
drivers/net/wireless/ath/ath11k/htc.c
476
ep->eid = i;
drivers/net/wireless/ath/ath11k/htc.c
477
ep->htc = htc;
drivers/net/wireless/ath/ath11k/htc.c
478
ep->tx_credit_flow_enabled = true;
drivers/net/wireless/ath/ath11k/htc.c
53
static void ath11k_htc_prepare_tx_skb(struct ath11k_htc_ep *ep,
drivers/net/wireless/ath/ath11k/htc.c
605
struct ath11k_htc_ep *ep;
drivers/net/wireless/ath/ath11k/htc.c
61
hdr->htc_info = FIELD_PREP(HTC_HDR_ENDPOINTID, ep->eid) |
drivers/net/wireless/ath/ath11k/htc.c
65
if (ep->tx_credit_flow_enabled)
drivers/net/wireless/ath/ath11k/htc.c
69
spin_lock_bh(&ep->htc->tx_lock);
drivers/net/wireless/ath/ath11k/htc.c
70
hdr->ctrl_info = FIELD_PREP(HTC_HDR_CONTROLBYTES1, ep->seq_no++);
drivers/net/wireless/ath/ath11k/htc.c
71
spin_unlock_bh(&ep->htc->tx_lock);
drivers/net/wireless/ath/ath11k/htc.c
723
ep = &htc->endpoint[assigned_eid];
drivers/net/wireless/ath/ath11k/htc.c
724
ep->eid = assigned_eid;
drivers/net/wireless/ath/ath11k/htc.c
726
if (ep->service_id != ATH11K_HTC_SVC_ID_UNUSED)
drivers/net/wireless/ath/ath11k/htc.c
735
ep->service_id = conn_req->service_id;
drivers/net/wireless/ath/ath11k/htc.c
736
ep->max_tx_queue_depth = conn_req->max_send_queue_depth;
drivers/net/wireless/ath/ath11k/htc.c
737
ep->max_ep_message_len = FIELD_GET(HTC_SVC_RESP_MSG_MAXMSGSIZE,
drivers/net/wireless/ath/ath11k/htc.c
739
ep->tx_credits = tx_alloc;
drivers/net/wireless/ath/ath11k/htc.c
742
ep->ep_ops = conn_req->ep_ops;
drivers/net/wireless/ath/ath11k/htc.c
745
ep->service_id,
drivers/net/wireless/ath/ath11k/htc.c
746
&ep->ul_pipe_id,
drivers/net/wireless/ath/ath11k/htc.c
747
&ep->dl_pipe_id);
drivers/net/wireless/ath/ath11k/htc.c
753
htc_service_name(ep->service_id), ep->ul_pipe_id,
drivers/net/wireless/ath/ath11k/htc.c
754
ep->dl_pipe_id, ep->eid);
drivers/net/wireless/ath/ath11k/htc.c
756
if (disable_credit_flow_ctrl && ep->tx_credit_flow_enabled) {
drivers/net/wireless/ath/ath11k/htc.c
757
ep->tx_credit_flow_enabled = false;
drivers/net/wireless/ath/ath11k/htc.c
760
htc_service_name(ep->service_id), assigned_eid);
drivers/net/wireless/ath/ath11k/htc.c
78
struct ath11k_htc_ep *ep = &htc->endpoint[eid];
drivers/net/wireless/ath/ath11k/htc.c
85
ep->tx_credit_flow_enabled);
drivers/net/wireless/ath/ath11k/htc.c
97
if (ep->tx_credits < credits) {
drivers/net/wireless/ath/ath12k/htc.c
103
ep->tx_credits -= credits;
drivers/net/wireless/ath/ath12k/htc.c
106
eid, credits, ep->tx_credits);
drivers/net/wireless/ath/ath12k/htc.c
110
ath12k_htc_prepare_tx_skb(ep, skb);
drivers/net/wireless/ath/ath12k/htc.c
119
ret = ath12k_ce_send(htc->ab, skb, ep->ul_pipe_id, ep->eid);
drivers/net/wireless/ath/ath12k/htc.c
128
if (ep->tx_credit_flow_enabled) {
drivers/net/wireless/ath/ath12k/htc.c
130
ep->tx_credits += credits;
drivers/net/wireless/ath/ath12k/htc.c
133
eid, credits, ep->tx_credits);
drivers/net/wireless/ath/ath12k/htc.c
136
if (ep->ep_ops.ep_tx_credits)
drivers/net/wireless/ath/ath12k/htc.c
137
ep->ep_ops.ep_tx_credits(htc->ab);
drivers/net/wireless/ath/ath12k/htc.c
151
struct ath12k_htc_ep *ep;
drivers/net/wireless/ath/ath12k/htc.c
164
ep = &htc->endpoint[report->eid];
drivers/net/wireless/ath/ath12k/htc.c
165
ep->tx_credits += report->credits;
drivers/net/wireless/ath/ath12k/htc.c
168
report->eid, report->credits, ep->tx_credits);
drivers/net/wireless/ath/ath12k/htc.c
170
if (ep->ep_ops.ep_tx_credits) {
drivers/net/wireless/ath/ath12k/htc.c
172
ep->ep_ops.ep_tx_credits(htc->ab);
drivers/net/wireless/ath/ath12k/htc.c
258
struct ath12k_htc_ep *ep;
drivers/net/wireless/ath/ath12k/htc.c
275
ep = &htc->endpoint[eid];
drivers/net/wireless/ath/ath12k/htc.c
369
ep->ep_ops.ep_rx_complete(ab, skb);
drivers/net/wireless/ath/ath12k/htc.c
372
ath12k_ce_poll_send_completed(ab, ep->ul_pipe_id);
drivers/net/wireless/ath/ath12k/htc.c
433
struct ath12k_htc_ep *ep;
drivers/net/wireless/ath/ath12k/htc.c
437
ep = &htc->endpoint[i];
drivers/net/wireless/ath/ath12k/htc.c
438
ep->service_id = ATH12K_HTC_SVC_ID_UNUSED;
drivers/net/wireless/ath/ath12k/htc.c
439
ep->max_ep_message_len = 0;
drivers/net/wireless/ath/ath12k/htc.c
440
ep->max_tx_queue_depth = 0;
drivers/net/wireless/ath/ath12k/htc.c
441
ep->eid = i;
drivers/net/wireless/ath/ath12k/htc.c
442
ep->htc = htc;
drivers/net/wireless/ath/ath12k/htc.c
443
ep->tx_credit_flow_enabled = true;
drivers/net/wireless/ath/ath12k/htc.c
53
static void ath12k_htc_prepare_tx_skb(struct ath12k_htc_ep *ep,
drivers/net/wireless/ath/ath12k/htc.c
567
struct ath12k_htc_ep *ep;
drivers/net/wireless/ath/ath12k/htc.c
61
hdr->htc_info = le32_encode_bits(ep->eid, HTC_HDR_ENDPOINTID) |
drivers/net/wireless/ath/ath12k/htc.c
65
if (ep->tx_credit_flow_enabled)
drivers/net/wireless/ath/ath12k/htc.c
679
ep = &htc->endpoint[assigned_eid];
drivers/net/wireless/ath/ath12k/htc.c
680
ep->eid = assigned_eid;
drivers/net/wireless/ath/ath12k/htc.c
682
if (ep->service_id != ATH12K_HTC_SVC_ID_UNUSED)
drivers/net/wireless/ath/ath12k/htc.c
69
spin_lock_bh(&ep->htc->tx_lock);
drivers/net/wireless/ath/ath12k/htc.c
691
ep->service_id = conn_req->service_id;
drivers/net/wireless/ath/ath12k/htc.c
692
ep->max_tx_queue_depth = conn_req->max_send_queue_depth;
drivers/net/wireless/ath/ath12k/htc.c
693
ep->max_ep_message_len = le32_get_bits(resp_msg->flags_len,
drivers/net/wireless/ath/ath12k/htc.c
695
ep->tx_credits = tx_alloc;
drivers/net/wireless/ath/ath12k/htc.c
698
ep->ep_ops = conn_req->ep_ops;
drivers/net/wireless/ath/ath12k/htc.c
70
hdr->ctrl_info = le32_encode_bits(ep->seq_no++, HTC_HDR_CONTROLBYTES1);
drivers/net/wireless/ath/ath12k/htc.c
701
ep->service_id,
drivers/net/wireless/ath/ath12k/htc.c
702
&ep->ul_pipe_id,
drivers/net/wireless/ath/ath12k/htc.c
703
&ep->dl_pipe_id);
drivers/net/wireless/ath/ath12k/htc.c
709
htc_service_name(ep->service_id), ep->ul_pipe_id,
drivers/net/wireless/ath/ath12k/htc.c
71
spin_unlock_bh(&ep->htc->tx_lock);
drivers/net/wireless/ath/ath12k/htc.c
710
ep->dl_pipe_id, ep->eid);
drivers/net/wireless/ath/ath12k/htc.c
712
if (disable_credit_flow_ctrl && ep->tx_credit_flow_enabled) {
drivers/net/wireless/ath/ath12k/htc.c
713
ep->tx_credit_flow_enabled = false;
drivers/net/wireless/ath/ath12k/htc.c
716
htc_service_name(ep->service_id), assigned_eid);
drivers/net/wireless/ath/ath12k/htc.c
78
struct ath12k_htc_ep *ep = &htc->endpoint[eid];
drivers/net/wireless/ath/ath12k/htc.c
92
if (ep->tx_credit_flow_enabled) {
drivers/net/wireless/ath/ath12k/htc.c
95
if (ep->tx_credits < credits) {
drivers/net/wireless/ath/ath12k/htc.c
98
eid, credits, ep->tx_credits);
drivers/net/wireless/ath/ath5k/debug.c
888
struct eeprom_private *ep;
drivers/net/wireless/ath/ath5k/debug.c
931
ep = kmalloc_obj(*ep);
drivers/net/wireless/ath/ath5k/debug.c
932
if (!ep) {
drivers/net/wireless/ath/ath5k/debug.c
937
ep->buf = buf;
drivers/net/wireless/ath/ath5k/debug.c
938
ep->len = eesize * 2;
drivers/net/wireless/ath/ath5k/debug.c
940
file->private_data = (void *)ep;
drivers/net/wireless/ath/ath5k/debug.c
954
struct eeprom_private *ep = file->private_data;
drivers/net/wireless/ath/ath5k/debug.c
956
return simple_read_from_buffer(user_buf, count, ppos, ep->buf, ep->len);
drivers/net/wireless/ath/ath5k/debug.c
961
struct eeprom_private *ep = file->private_data;
drivers/net/wireless/ath/ath5k/debug.c
963
vfree(ep->buf);
drivers/net/wireless/ath/ath5k/debug.c
964
kfree(ep);
drivers/net/wireless/ath/ath6kl/htc_mbox.c
1097
int i, ep;
drivers/net/wireless/ath/ath6kl/htc_mbox.c
1105
for (ep = ENDPOINT_1; ep < ENDPOINT_MAX; ep++) {
drivers/net/wireless/ath/ath6kl/htc_mbox.c
1106
endpoint = &target->endpoint[ep];
drivers/net/wireless/ath/ath6kl/htc_mbox.c
1113
if (ep >= ENDPOINT_MAX) {
drivers/net/wireless/ath/ath6kl/htc_mbox.c
1279
struct htc_endpoint *ep)
drivers/net/wireless/ath/ath6kl/htc_mbox.c
1284
ep->ep_cb.rx(ep->target, packet);
drivers/net/wireless/ath/ath6kl/htc_mbox.c
1366
struct htc_endpoint *ep,
drivers/net/wireless/ath/ath6kl/htc_mbox.c
1380
if (!htc_valid_rx_frame_len(target, ep->eid, full_len)) {
drivers/net/wireless/ath/ath6kl/htc_mbox.c
1387
ep_cb = ep->ep_cb;
drivers/net/wireless/ath/ath6kl/htc_mbox.c
1398
ep->ep_st.rx_alloc_thresh_hit += 1;
drivers/net/wireless/ath/ath6kl/htc_mbox.c
1399
ep->ep_st.rxalloc_thresh_byte +=
drivers/net/wireless/ath/ath6kl/htc_mbox.c
1405
packet = ep_cb.rx_allocthresh(ep->target, ep->eid,
drivers/net/wireless/ath/ath6kl/htc_mbox.c
1410
if (list_empty(&ep->rx_bufq)) {
drivers/net/wireless/ath/ath6kl/htc_mbox.c
1413
ep_cb.rx_refill(ep->target, ep->eid);
drivers/net/wireless/ath/ath6kl/htc_mbox.c
1418
if (list_empty(&ep->rx_bufq)) {
drivers/net/wireless/ath/ath6kl/htc_mbox.c
1421
packet = list_first_entry(&ep->rx_bufq,
drivers/net/wireless/ath/ath6kl/htc_mbox.c
1429
target->ep_waiting = ep->eid;
drivers/net/wireless/ath/ath6kl/htc_mbox.c
2008
struct htc_endpoint *ep;
drivers/net/wireless/ath/ath6kl/htc_mbox.c
2012
ep = &target->endpoint[packet->endpoint];
drivers/net/wireless/ath/ath6kl/htc_mbox.c
2032
ep, packet);
drivers/net/wireless/ath/ath6kl/htc_mbox.c
2041
ath6kl_htc_rx_update_stats(ep, *n_lk_ahd);
drivers/net/wireless/ath/ath6kl/htc_mbox.c
2044
ep->ep_st.rx_bundl += 1;
drivers/net/wireless/ath/ath6kl/htc_mbox.c
2046
ath6kl_htc_rx_complete(ep, packet);
drivers/net/wireless/ath/ath6kl/htc_mbox.c
546
struct htc_endpoint *ep, u8 *flags,
drivers/net/wireless/ath/ath6kl/htc_mbox.c
554
*req_cred, ep->cred_dist.credits);
drivers/net/wireless/ath/ath6kl/htc_mbox.c
556
if (ep->cred_dist.credits < *req_cred) {
drivers/net/wireless/ath/ath6kl/htc_mbox.c
561
ep->cred_dist.seek_cred = *req_cred - ep->cred_dist.credits;
drivers/net/wireless/ath/ath6kl/htc_mbox.c
563
ath6kl_credit_seek(target->credit_info, &ep->cred_dist);
drivers/net/wireless/ath/ath6kl/htc_mbox.c
565
ep->cred_dist.seek_cred = 0;
drivers/net/wireless/ath/ath6kl/htc_mbox.c
567
if (ep->cred_dist.credits < *req_cred) {
drivers/net/wireless/ath/ath6kl/htc_mbox.c
575
ep->cred_dist.credits -= *req_cred;
drivers/net/wireless/ath/ath6kl/htc_mbox.c
576
ep->ep_st.cred_cosumd += *req_cred;
drivers/net/wireless/ath/ath6kl/htc_mbox.c
579
if (ep->cred_dist.credits < ep->cred_dist.cred_per_msg) {
drivers/net/wireless/ath/ath6kl/htc_mbox.c
580
ep->cred_dist.seek_cred =
drivers/net/wireless/ath/ath6kl/htc_mbox.c
581
ep->cred_dist.cred_per_msg - ep->cred_dist.credits;
drivers/net/wireless/ath/ath6kl/htc_mbox.c
583
ath6kl_credit_seek(target->credit_info, &ep->cred_dist);
drivers/net/wireless/ath/ath6kl/htc_mbox.c
586
if (ep->cred_dist.credits < ep->cred_dist.cred_per_msg) {
drivers/net/wireless/ath/ath6kl/htc_mbox.c
589
ep->ep_st.cred_low_indicate += 1;
drivers/net/wireless/ath/ath6kl/htc_mbox.c
648
struct htc_endpoint *ep)
drivers/net/wireless/ath/ath6kl/htc_mbox.c
658
if (!(ep->conn_flags & HTC_FLGS_TX_BNDL_PAD_EN))
drivers/net/wireless/ath/ath6kl/htc_pipe.c
106
if (list_empty(&ep->txq))
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1082
recv_packet_completion(target, ep, packet);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1095
struct htc_endpoint *ep)
drivers/net/wireless/ath/ath6kl/htc_pipe.c
110
packet = list_first_entry(&ep->txq, struct htc_packet, list);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1103
if (list_empty(&ep->rx_bufq))
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1106
packet = list_first_entry(&ep->rx_bufq,
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1123
do_recv_completion(ep, &container);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
114
__func__, packet, get_queue_depth(&ep->txq));
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1173
struct htc_endpoint *ep;
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1177
ep = &target->endpoint[i];
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1178
ep->svc_id = 0;
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1179
ep->len_max = 0;
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1180
ep->max_txq_depth = 0;
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1181
ep->eid = i;
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1182
INIT_LIST_HEAD(&ep->txq);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1183
INIT_LIST_HEAD(&ep->pipe.tx_lookup_queue);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1184
INIT_LIST_HEAD(&ep->rx_bufq);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1185
ep->target = target;
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1186
ep->pipe.tx_credit_flow_enabled = true;
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1228
struct htc_endpoint *ep;
drivers/net/wireless/ath/ath6kl/htc_pipe.c
130
__func__, credits_required, ep->cred_dist.credits);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
132
if (ep->eid == ENDPOINT_0) {
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1351
ep = &target->endpoint[assigned_epid];
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1352
ep->eid = assigned_epid;
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1353
if (ep->svc_id != 0) {
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1364
ep->svc_id = conn_req->svc_id; /* this marks ep in use */
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1365
ep->max_txq_depth = conn_req->max_txq_depth;
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1366
ep->len_max = max_msg_size;
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1367
ep->cred_dist.credits = tx_alloc;
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1368
ep->cred_dist.cred_sz = target->tgt_cred_sz;
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1369
ep->cred_dist.cred_per_msg = max_msg_size / target->tgt_cred_sz;
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1371
ep->cred_dist.cred_per_msg++;
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1374
ep->ep_cb = conn_req->ep_cb;
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1377
ep->tx_drop_packet_threshold = MAX_HI_COOKIE_NUM;
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1379
status = ath6kl_hif_pipe_map_service(ar, ep->svc_id,
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1380
&ep->pipe.pipeid_ul,
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1381
&ep->pipe.pipeid_dl);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1387
ep->svc_id, ep->pipe.pipeid_ul,
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1388
ep->pipe.pipeid_dl, ep->eid);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1390
if (disable_credit_flowctrl && ep->pipe.tx_credit_flow_enabled) {
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1391
ep->pipe.tx_credit_flow_enabled = false;
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1394
ep->svc_id, assigned_epid);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
140
if (ep->cred_dist.credits < credits_required)
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1407
struct htc_endpoint *ep = NULL;
drivers/net/wireless/ath/ath6kl/htc_pipe.c
143
ep->cred_dist.credits -= credits_required;
drivers/net/wireless/ath/ath6kl/htc_pipe.c
144
ep->ep_st.cred_cosumd += credits_required;
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1442
ep = &target->endpoint[ENDPOINT_0];
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1444
ath6kl_hif_pipe_get_default(ar, &ep->pipe.pipeid_ul,
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1445
&ep->pipe.pipeid_dl);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
147
if (ep->cred_dist.credits <
drivers/net/wireless/ath/ath6kl/htc_pipe.c
148
ep->cred_dist.cred_per_msg) {
drivers/net/wireless/ath/ath6kl/htc_pipe.c
151
ep->ep_st.cred_low_indicate += 1;
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1513
struct htc_endpoint *ep;
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1517
ep = &target->endpoint[i];
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1518
htc_flush_rx_queue(target, ep);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1519
htc_flush_tx_endpoint(target, ep, HTC_TX_PACKET_TAG_ALL);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
159
packet = list_first_entry(&ep->txq, struct htc_packet, list);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1610
struct htc_endpoint *ep = &target->endpoint[endpoint];
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1612
if (ep->svc_id == 0) {
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1618
htc_flush_tx_endpoint(target, ep, tag);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1625
struct htc_endpoint *ep;
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1642
ep = &target->endpoint[first->endpoint];
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1647
list_splice_tail_init(pkt_queue, &ep->rx_bufq);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1657
do_recv_completion(ep, pkt_queue);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
166
packet->info.tx.seqno = ep->seqno;
drivers/net/wireless/ath/ath6kl/htc_pipe.c
1664
enum htc_endpoint_id ep,
drivers/net/wireless/ath/ath6kl/htc_pipe.c
167
ep->seqno++;
drivers/net/wireless/ath/ath6kl/htc_pipe.c
174
struct htc_endpoint *ep,
drivers/net/wireless/ath/ath6kl/htc_pipe.c
183
if (list_empty(&ep->txq))
drivers/net/wireless/ath/ath6kl/htc_pipe.c
186
packet = list_first_entry(&ep->txq, struct htc_packet, list);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
191
__func__, packet, get_queue_depth(&ep->txq));
drivers/net/wireless/ath/ath6kl/htc_pipe.c
192
packet->info.tx.seqno = ep->seqno;
drivers/net/wireless/ath/ath6kl/htc_pipe.c
195
ep->seqno++;
drivers/net/wireless/ath/ath6kl/htc_pipe.c
204
struct htc_endpoint *ep,
drivers/net/wireless/ath/ath6kl/htc_pipe.c
249
list_add_tail(&packet->list, &ep->pipe.tx_lookup_queue);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
250
ep->ep_st.tx_issued += 1;
drivers/net/wireless/ath/ath6kl/htc_pipe.c
254
ep->pipe.pipeid_ul, NULL, skb);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
271
ep->cred_dist.credits += packet->info.tx.cred_used;
drivers/net/wireless/ath/ath6kl/htc_pipe.c
300
struct htc_endpoint *ep,
drivers/net/wireless/ath/ath6kl/htc_pipe.c
329
txqueue_depth = get_queue_depth(&ep->txq);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
332
if (txqueue_depth >= ep->max_txq_depth) {
drivers/net/wireless/ath/ath6kl/htc_pipe.c
340
overflow -= ep->max_txq_depth;
drivers/net/wireless/ath/ath6kl/htc_pipe.c
347
__func__, ep->eid, overflow, txqueue_depth,
drivers/net/wireless/ath/ath6kl/htc_pipe.c
348
ep->max_txq_depth);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
351
(ep->ep_cb.tx_full == NULL)) {
drivers/net/wireless/ath/ath6kl/htc_pipe.c
37
static void do_send_completion(struct htc_endpoint *ep,
drivers/net/wireless/ath/ath6kl/htc_pipe.c
386
action = ep->ep_cb.tx_full(ep->target, packet);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
389
ep->ep_st.tx_dropped += 1;
drivers/net/wireless/ath/ath6kl/htc_pipe.c
409
if (!ep->pipe.tx_credit_flow_enabled) {
drivers/net/wireless/ath/ath6kl/htc_pipe.c
412
ep->pipe.pipeid_ul);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
420
list_splice_tail_init(&send_queue, &ep->txq);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
430
ep->tx_proc_cnt++;
drivers/net/wireless/ath/ath6kl/htc_pipe.c
432
if (ep->tx_proc_cnt > 1) {
drivers/net/wireless/ath/ath6kl/htc_pipe.c
438
ep->tx_proc_cnt--;
drivers/net/wireless/ath/ath6kl/htc_pipe.c
450
if (get_queue_depth(&ep->txq) == 0)
drivers/net/wireless/ath/ath6kl/htc_pipe.c
453
if (ep->pipe.tx_credit_flow_enabled) {
drivers/net/wireless/ath/ath6kl/htc_pipe.c
461
get_htc_packet_credit_based(target, ep, &send_queue);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
467
get_htc_packet(target, ep, &send_queue, tx_resources);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
47
if (ep->ep_cb.tx_comp_multi != NULL) {
drivers/net/wireless/ath/ath6kl/htc_pipe.c
481
htc_issue_packets(target, ep, &send_queue);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
483
if (!ep->pipe.tx_credit_flow_enabled) {
drivers/net/wireless/ath/ath6kl/htc_pipe.c
484
pipeid = ep->pipe.pipeid_ul;
drivers/net/wireless/ath/ath6kl/htc_pipe.c
493
ep->tx_proc_cnt = 0;
drivers/net/wireless/ath/ath6kl/htc_pipe.c
50
__func__, ep->eid,
drivers/net/wireless/ath/ath6kl/htc_pipe.c
56
ep->ep_cb.tx_comp_multi(ep->target, queue_to_indicate);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
659
struct htc_endpoint *ep;
drivers/net/wireless/ath/ath6kl/htc_pipe.c
671
ep = &target->endpoint[rpt->eid];
drivers/net/wireless/ath/ath6kl/htc_pipe.c
672
ep->cred_dist.credits += rpt->credits;
drivers/net/wireless/ath/ath6kl/htc_pipe.c
674
if (ep->cred_dist.credits && get_queue_depth(&ep->txq)) {
drivers/net/wireless/ath/ath6kl/htc_pipe.c
676
htc_try_send(target, ep, NULL);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
691
struct htc_endpoint *ep, u16 tag)
drivers/net/wireless/ath/ath6kl/htc_pipe.c
696
while (get_queue_depth(&ep->txq)) {
drivers/net/wireless/ath/ath6kl/htc_pipe.c
697
packet = list_first_entry(&ep->txq, struct htc_packet, list);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
71
__func__, ep->eid, packet);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
713
struct htc_endpoint *ep,
drivers/net/wireless/ath/ath6kl/htc_pipe.c
72
ep->ep_cb.tx_complete(ep->target, packet);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
725
list_for_each_entry_safe(packet, tmp_pkt, &ep->pipe.tx_lookup_queue,
drivers/net/wireless/ath/ath6kl/htc_pipe.c
745
struct htc_endpoint *ep;
drivers/net/wireless/ath/ath6kl/htc_pipe.c
754
ep = &target->endpoint[ep_id];
drivers/net/wireless/ath/ath6kl/htc_pipe.c
756
packet = htc_lookup_tx_packet(target, ep, skb);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
767
if (!ep->pipe.tx_credit_flow_enabled) {
drivers/net/wireless/ath/ath6kl/htc_pipe.c
773
htc_try_send(target, ep, NULL);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
782
struct htc_endpoint *ep;
drivers/net/wireless/ath/ath6kl/htc_pipe.c
795
ep = &target->endpoint[packet->endpoint];
drivers/net/wireless/ath/ath6kl/htc_pipe.c
797
htc_try_send(target, ep, pkt_queue);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
80
struct htc_endpoint *ep = &target->endpoint[packet->endpoint];
drivers/net/wireless/ath/ath6kl/htc_pipe.c
805
do_send_completion(ep, pkt_queue);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
88
do_send_completion(ep, &container);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
908
static void do_recv_completion(struct htc_endpoint *ep,
drivers/net/wireless/ath/ath6kl/htc_pipe.c
92
struct htc_endpoint *ep,
drivers/net/wireless/ath/ath6kl/htc_pipe.c
923
ep->ep_cb.rx(ep->target, packet);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
930
struct htc_endpoint *ep,
drivers/net/wireless/ath/ath6kl/htc_pipe.c
938
do_recv_completion(ep, &container);
drivers/net/wireless/ath/ath6kl/htc_pipe.c
949
struct htc_endpoint *ep;
drivers/net/wireless/ath/ath6kl/htc_pipe.c
981
ep = &target->endpoint[htc_hdr->eid];
drivers/net/wireless/ath/ath6kl/init.c
275
enum htc_endpoint_id ep)
drivers/net/wireless/ath/ath6kl/init.c
277
ar->ac2ep_map[ac] = ep;
drivers/net/wireless/ath/ath6kl/init.c
278
ar->ep2ac_map[ep] = ac;
drivers/net/wireless/ath/carl9170/usb.c
1046
struct usb_endpoint_descriptor *ep;
drivers/net/wireless/ath/carl9170/usb.c
1071
ep = &intf->cur_altsetting->endpoint[i].desc;
drivers/net/wireless/ath/carl9170/usb.c
1073
if (usb_endpoint_num(ep) == AR9170_USB_EP_CMD &&
drivers/net/wireless/ath/carl9170/usb.c
1074
usb_endpoint_dir_out(ep) &&
drivers/net/wireless/ath/carl9170/usb.c
1075
usb_endpoint_type(ep) == USB_ENDPOINT_XFER_BULK)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c
1350
u8 endpoint_num, ep;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c
1406
for (ep = 0; ep < num_of_eps; ep++) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c
1407
endpoint = &intf->cur_altsetting->endpoint[ep].desc;
drivers/net/wireless/intersil/p54/p54usb.c
397
unsigned int ep;
drivers/net/wireless/intersil/p54/p54usb.c
401
ep = usb_sndbulkpipe(priv->udev, P54U_PIPE_DEV);
drivers/net/wireless/intersil/p54/p54usb.c
403
ep = usb_sndbulkpipe(priv->udev, P54U_PIPE_BRG);
drivers/net/wireless/intersil/p54/p54usb.c
409
return usb_bulk_msg(priv->udev, ep, buf, sizeof(*buf), &alen, 1000);
drivers/net/wireless/intersil/p54/p54usb.c
418
unsigned int ep;
drivers/net/wireless/intersil/p54/p54usb.c
422
ep = P54U_PIPE_DEV;
drivers/net/wireless/intersil/p54/p54usb.c
424
ep = P54U_PIPE_BRG;
drivers/net/wireless/intersil/p54/p54usb.c
429
err = usb_bulk_msg(priv->udev, usb_sndbulkpipe(priv->udev, ep),
drivers/net/wireless/intersil/p54/p54usb.c
434
err = usb_bulk_msg(priv->udev, usb_rcvbulkpipe(priv->udev, ep),
drivers/net/wireless/intersil/p54/p54usb.c
443
static int p54u_bulk_msg(struct p54u_priv *priv, unsigned int ep,
drivers/net/wireless/intersil/p54/p54usb.c
447
return usb_bulk_msg(priv->udev, usb_sndbulkpipe(priv->udev, ep),
drivers/net/wireless/marvell/mwifiex/sta_event.c
465
u8 ep;
drivers/net/wireless/marvell/mwifiex/sta_event.c
467
ep = grp_info->hid_num.usb_ep_num;
drivers/net/wireless/marvell/mwifiex/sta_event.c
468
if (ep == MWIFIEX_USB_EP_DATA ||
drivers/net/wireless/marvell/mwifiex/sta_event.c
469
ep == MWIFIEX_USB_EP_DATA_CH2)
drivers/net/wireless/marvell/mwifiex/sta_event.c
470
intf_priv->usb_port = ep;
drivers/net/wireless/marvell/mwifiex/usb.c
1070
ret = mwifiex_usb_construct_send_urb(adapter, port, ep,
drivers/net/wireless/marvell/mwifiex/usb.c
1100
return mwifiex_usb_construct_send_urb(adapter, port, ep,
drivers/net/wireless/marvell/mwifiex/usb.c
1164
static int mwifiex_usb_host_to_card(struct mwifiex_adapter *adapter, u8 ep,
drivers/net/wireless/marvell/mwifiex/usb.c
1184
mwifiex_dbg(adapter, INFO, "%s: ep=%d\n", __func__, ep);
drivers/net/wireless/marvell/mwifiex/usb.c
1186
if (ep == card->tx_cmd_ep) {
drivers/net/wireless/marvell/mwifiex/usb.c
1191
if (ep == card->port[idx].tx_data_ep) {
drivers/net/wireless/marvell/mwifiex/usb.c
1213
ret = mwifiex_usb_aggr_tx_data(adapter, ep, skb,
drivers/net/wireless/marvell/mwifiex/usb.c
1222
return mwifiex_usb_construct_send_urb(adapter, port, ep, context, skb);
drivers/net/wireless/marvell/mwifiex/usb.c
1232
card->tx_cmd.ep = card->tx_cmd_ep;
drivers/net/wireless/marvell/mwifiex/usb.c
1250
port->tx_data_list[j].ep = port->tx_data_ep;
drivers/net/wireless/marvell/mwifiex/usb.c
1274
card->rx_cmd.ep = card->rx_cmd_ep;
drivers/net/wireless/marvell/mwifiex/usb.c
1289
card->rx_data_list[i].ep = card->rx_data_ep;
drivers/net/wireless/marvell/mwifiex/usb.c
139
"%s: unknown endport %#x\n", __func__, ep);
drivers/net/wireless/marvell/mwifiex/usb.c
1534
static void mwifiex_submit_rx_urb(struct mwifiex_adapter *adapter, u8 ep)
drivers/net/wireless/marvell/mwifiex/usb.c
1539
if ((ep == card->rx_cmd_ep) &&
drivers/net/wireless/marvell/mwifiex/usb.c
167
if (card->rx_cmd_ep == context->ep)
drivers/net/wireless/marvell/mwifiex/usb.c
178
if (card->rx_cmd_ep != context->ep)
drivers/net/wireless/marvell/mwifiex/usb.c
187
status = mwifiex_usb_recv(adapter, skb, context->ep);
drivers/net/wireless/marvell/mwifiex/usb.c
199
if (card->rx_cmd_ep == context->ep)
drivers/net/wireless/marvell/mwifiex/usb.c
207
if (card->rx_cmd_ep != context->ep)
drivers/net/wireless/marvell/mwifiex/usb.c
220
if (card->rx_cmd_ep != context->ep)
drivers/net/wireless/marvell/mwifiex/usb.c
227
if (card->rx_cmd_ep == context->ep)
drivers/net/wireless/marvell/mwifiex/usb.c
232
if (card->rx_cmd_ep == context->ep) {
drivers/net/wireless/marvell/mwifiex/usb.c
256
if (context->ep == card->tx_cmd_ep) {
drivers/net/wireless/marvell/mwifiex/usb.c
268
if (context->ep == port->tx_data_ep) {
drivers/net/wireless/marvell/mwifiex/usb.c
291
if (card->rx_cmd_ep == ctx->ep) {
drivers/net/wireless/marvell/mwifiex/usb.c
299
__func__, ctx->ep);
drivers/net/wireless/marvell/mwifiex/usb.c
303
if (card->rx_cmd_ep != ctx->ep) {
drivers/net/wireless/marvell/mwifiex/usb.c
312
if (card->rx_cmd_ep == ctx->ep &&
drivers/net/wireless/marvell/mwifiex/usb.c
315
usb_rcvintpipe(card->udev, ctx->ep),
drivers/net/wireless/marvell/mwifiex/usb.c
320
usb_rcvbulkpipe(card->udev, ctx->ep),
drivers/net/wireless/marvell/mwifiex/usb.c
324
if (card->rx_cmd_ep == ctx->ep)
drivers/net/wireless/marvell/mwifiex/usb.c
334
if (card->rx_cmd_ep == ctx->ep)
drivers/net/wireless/marvell/mwifiex/usb.c
47
struct sk_buff *skb, u8 ep)
drivers/net/wireless/marvell/mwifiex/usb.c
62
switch (ep) {
drivers/net/wireless/marvell/mwifiex/usb.c
696
u32 *len, u8 ep, u32 timeout)
drivers/net/wireless/marvell/mwifiex/usb.c
705
ret = usb_bulk_msg(card->udev, usb_sndbulkpipe(card->udev, ep), pbuf,
drivers/net/wireless/marvell/mwifiex/usb.c
719
u32 *len, u8 ep, u32 timeout)
drivers/net/wireless/marvell/mwifiex/usb.c
725
ret = usb_bulk_msg(card->udev, usb_rcvbulkpipe(card->udev, ep), pbuf,
drivers/net/wireless/marvell/mwifiex/usb.c
806
struct usb_tx_data_port *port, u8 ep,
drivers/net/wireless/marvell/mwifiex/usb.c
815
context->ep = ep;
drivers/net/wireless/marvell/mwifiex/usb.c
819
if (ep == card->tx_cmd_ep &&
drivers/net/wireless/marvell/mwifiex/usb.c
822
usb_sndintpipe(card->udev, ep), skb_send->data,
drivers/net/wireless/marvell/mwifiex/usb.c
827
usb_sndbulkpipe(card->udev, ep),
drivers/net/wireless/marvell/mwifiex/usb.c
833
if (ep == card->tx_cmd_ep)
drivers/net/wireless/marvell/mwifiex/usb.c
838
if (ep != card->tx_cmd_ep &&
drivers/net/wireless/marvell/mwifiex/usb.c
849
if (ep == card->tx_cmd_ep) {
drivers/net/wireless/marvell/mwifiex/usb.c
951
static int mwifiex_usb_aggr_tx_data(struct mwifiex_adapter *adapter, u8 ep,
drivers/net/wireless/marvell/mwifiex/usb.h
52
u8 ep;
drivers/net/wireless/mediatek/mt76/mt76.h
1801
int timeout, int ep)
drivers/net/wireless/mediatek/mt76/mt76.h
1809
pipe = usb_rcvbulkpipe(udev, usb->in_ep[ep]);
drivers/net/wireless/mediatek/mt76/mt76.h
1811
pipe = usb_sndbulkpipe(udev, usb->out_ep[ep]);
drivers/net/wireless/mediatek/mt76/mt76.h
246
u8 ep;
drivers/net/wireless/mediatek/mt76/mt7615/usb_mcu.c
21
int ret, ep, len, pad;
drivers/net/wireless/mediatek/mt76/mt7615/usb_mcu.c
25
ep = MT_EP_OUT_INBAND_CMD;
drivers/net/wireless/mediatek/mt76/mt7615/usb_mcu.c
27
ep = MT_EP_OUT_AC_BE;
drivers/net/wireless/mediatek/mt76/mt7615/usb_mcu.c
37
1000, ep);
drivers/net/wireless/mediatek/mt76/mt76x02_usb_core.c
70
int pid, len = tx_info->skb->len, ep = dev->mphy.q_tx[qid]->ep;
drivers/net/wireless/mediatek/mt76/mt76x02_usb_core.c
94
if ((mt76_is_skb_pktid(pid) && ampdu) || ep == MT_EP_OUT_HCCA)
drivers/net/wireless/mediatek/mt76/mt7921/usb.c
38
u32 pad, ep;
drivers/net/wireless/mediatek/mt76/mt7921/usb.c
48
ep = MT_EP_OUT_INBAND_CMD;
drivers/net/wireless/mediatek/mt76/mt7921/usb.c
50
ep = MT_EP_OUT_AC_BE;
drivers/net/wireless/mediatek/mt76/mt7921/usb.c
57
1000, ep);
drivers/net/wireless/mediatek/mt76/mt7925/usb.c
26
u32 pad, ep;
drivers/net/wireless/mediatek/mt76/mt7925/usb.c
36
ep = MT_EP_OUT_INBAND_CMD;
drivers/net/wireless/mediatek/mt76/mt7925/usb.c
38
ep = MT_EP_OUT_AC_BE;
drivers/net/wireless/mediatek/mt76/mt7925/usb.c
45
1000, ep);
drivers/net/wireless/mediatek/mt76/usb.c
592
int ep = qid == MT_RXQ_MAIN ? MT_EP_IN_PKT_RX : MT_EP_IN_CMD_RESP;
drivers/net/wireless/mediatek/mt76/usb.c
594
mt76u_fill_bulk_urb(dev, USB_DIR_IN, ep, urb,
drivers/net/wireless/mediatek/mt76/usb.c
876
mt76u_fill_bulk_urb(dev, USB_DIR_OUT, q->ep, q->entry[idx].urb,
drivers/net/wireless/mediatek/mt76/usb.c
925
q->ep = q->hw_idx + 1;
drivers/net/wireless/mediatek/mt76/usb.c
931
q->ep = qid == MT_TXQ_PSD ? MT_EP_OUT_HCCA : q->hw_idx + 1;
drivers/net/wireless/mediatek/mt76/usb.c
935
q->ep = q->hw_idx + 1;
drivers/net/wireless/mediatek/mt7601u/dma.c
307
struct sk_buff *skb, u8 ep)
drivers/net/wireless/mediatek/mt7601u/dma.c
310
unsigned snd_pipe = usb_sndbulkpipe(usb_dev, dev->out_eps[ep]);
drivers/net/wireless/mediatek/mt7601u/dma.c
312
struct mt7601u_tx_queue *q = &dev->tx_q[ep];
drivers/net/wireless/mediatek/mt7601u/dma.c
359
static enum mt76_qsel ep2dmaq(u8 ep)
drivers/net/wireless/mediatek/mt7601u/dma.c
361
if (ep == 5)
drivers/net/wireless/mediatek/mt7601u/dma.c
369
u8 ep = q2ep(hw_q);
drivers/net/wireless/mediatek/mt7601u/dma.c
377
ret = mt7601u_dma_skb_wrap_pkt(skb, ep2dmaq(ep), dma_flags);
drivers/net/wireless/mediatek/mt7601u/dma.c
381
ret = mt7601u_dma_submit_tx(dev, skb, ep);
drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c
234
unsigned int ep;
drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c
285
ep = 2;
drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c
305
ep = 12;
drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c
307
ep = epmap[skb_get_queue_mapping(skb)];
drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c
313
usb_fill_bulk_urb(urb, priv->udev, usb_sndbulkpipe(priv->udev, ep),
drivers/net/wireless/realtek/rtw88/usb.c
373
int ep = qsel_to_ep(rtwusb, qsel);
drivers/net/wireless/realtek/rtw88/usb.c
375
if (ep < 0)
drivers/net/wireless/realtek/rtw88/usb.c
376
return ep;
drivers/net/wireless/realtek/rtw88/usb.c
378
pipe = usb_sndbulkpipe(usbd, rtwusb->out_ep[ep]);
drivers/net/wireless/realtek/rtw88/usb.c
578
int ep;
drivers/net/wireless/realtek/rtw88/usb.c
583
ep = qsel_to_ep(rtwusb, pkt_info->qsel);
drivers/net/wireless/realtek/rtw88/usb.c
589
skb_queue_tail(&rtwusb->tx_queue[ep], skb);
drivers/net/wireless/realtek/rtw89/usb.c
753
u32 ep;
drivers/net/wireless/realtek/rtw89/usb.c
767
for (ep = 5; ep <= 12; ep++) {
drivers/net/wireless/realtek/rtw89/usb.c
768
if (ep == 8)
drivers/net/wireless/realtek/rtw89/usb.c
772
B_AX_EP_IDX, ep);
drivers/net/wireless/rsi/rsi_91x_usb.c
50
int ep = dev->bulkout_endpoint_addr[endpoint - 1];
drivers/net/wireless/rsi/rsi_91x_usb.c
57
usb_sndbulkpipe(dev->usbdev, ep),
drivers/net/wireless/zydas/zd1211rw/zd_usb.c
1581
struct usb_host_endpoint *ep;
drivers/net/wireless/zydas/zd1211rw/zd_usb.c
1585
ep = usb_pipe_endpoint(udev, pipe);
drivers/net/wireless/zydas/zd1211rw/zd_usb.c
1586
if (!ep)
drivers/net/wireless/zydas/zd1211rw/zd_usb.c
1589
if (usb_endpoint_xfer_int(&ep->desc)) {
drivers/net/wireless/zydas/zd1211rw/zd_usb.c
1868
struct usb_host_endpoint *ep;
drivers/net/wireless/zydas/zd1211rw/zd_usb.c
1884
ep = usb_pipe_endpoint(udev, usb_sndintpipe(udev, EP_REGS_OUT));
drivers/net/wireless/zydas/zd1211rw/zd_usb.c
1885
if (!ep)
drivers/net/wireless/zydas/zd1211rw/zd_usb.c
1909
if (usb_endpoint_xfer_int(&ep->desc))
drivers/net/wireless/zydas/zd1211rw/zd_usb.c
1912
ep->desc.bInterval);
drivers/parport/parport_pc.c
3161
char *ep;
drivers/parport/parport_pc.c
3162
unsigned long r = simple_strtoul(s, &ep, 0);
drivers/parport/parport_pc.c
3163
if (ep != s)
drivers/pci/controller/cadence/pci-j721e.c
479
struct cdns_pcie_ep *ep = NULL;
drivers/pci/controller/cadence/pci-j721e.c
520
ep = devm_kzalloc(dev, sizeof(*ep), GFP_KERNEL);
drivers/pci/controller/cadence/pci-j721e.c
521
if (!ep)
drivers/pci/controller/cadence/pci-j721e.c
524
ep->quirk_detect_quiet_flag = data->quirk_detect_quiet_flag;
drivers/pci/controller/cadence/pci-j721e.c
525
ep->quirk_disable_flr = data->quirk_disable_flr;
drivers/pci/controller/cadence/pci-j721e.c
527
cdns_pcie = &ep->pcie;
drivers/pci/controller/cadence/pci-j721e.c
638
ret = cdns_pcie_ep_setup(ep);
drivers/pci/controller/cadence/pci-j721e.c
663
struct cdns_pcie_ep *ep;
drivers/pci/controller/cadence/pci-j721e.c
671
ep = container_of(cdns_pcie, struct cdns_pcie_ep, pcie);
drivers/pci/controller/cadence/pci-j721e.c
672
cdns_pcie_ep_disable(ep);
drivers/pci/controller/cadence/pcie-cadence-ep.c
155
struct cdns_pcie_ep *ep = epc_get_drvdata(epc);
drivers/pci/controller/cadence/pcie-cadence-ep.c
156
struct cdns_pcie_epf *epf = &ep->epf[fn];
drivers/pci/controller/cadence/pcie-cadence-ep.c
157
struct cdns_pcie *pcie = &ep->pcie;
drivers/pci/controller/cadence/pcie-cadence-ep.c
188
struct cdns_pcie_ep *ep = epc_get_drvdata(epc);
drivers/pci/controller/cadence/pcie-cadence-ep.c
189
struct cdns_pcie *pcie = &ep->pcie;
drivers/pci/controller/cadence/pcie-cadence-ep.c
192
r = find_first_zero_bit(&ep->ob_region_map, BITS_PER_LONG);
drivers/pci/controller/cadence/pcie-cadence-ep.c
193
if (r >= ep->max_regions - 1) {
drivers/pci/controller/cadence/pcie-cadence-ep.c
201
set_bit(r, &ep->ob_region_map);
drivers/pci/controller/cadence/pcie-cadence-ep.c
202
ep->ob_addr[r] = addr;
drivers/pci/controller/cadence/pcie-cadence-ep.c
210
struct cdns_pcie_ep *ep = epc_get_drvdata(epc);
drivers/pci/controller/cadence/pcie-cadence-ep.c
211
struct cdns_pcie *pcie = &ep->pcie;
drivers/pci/controller/cadence/pcie-cadence-ep.c
214
for (r = 0; r < ep->max_regions - 1; r++)
drivers/pci/controller/cadence/pcie-cadence-ep.c
215
if (ep->ob_addr[r] == addr)
drivers/pci/controller/cadence/pcie-cadence-ep.c
218
if (r == ep->max_regions - 1)
drivers/pci/controller/cadence/pcie-cadence-ep.c
223
ep->ob_addr[r] = 0;
drivers/pci/controller/cadence/pcie-cadence-ep.c
224
clear_bit(r, &ep->ob_region_map);
drivers/pci/controller/cadence/pcie-cadence-ep.c
229
struct cdns_pcie_ep *ep = epc_get_drvdata(epc);
drivers/pci/controller/cadence/pcie-cadence-ep.c
230
struct cdns_pcie *pcie = &ep->pcie;
drivers/pci/controller/cadence/pcie-cadence-ep.c
253
struct cdns_pcie_ep *ep = epc_get_drvdata(epc);
drivers/pci/controller/cadence/pcie-cadence-ep.c
254
struct cdns_pcie *pcie = &ep->pcie;
drivers/pci/controller/cadence/pcie-cadence-ep.c
277
struct cdns_pcie_ep *ep = epc_get_drvdata(epc);
drivers/pci/controller/cadence/pcie-cadence-ep.c
278
struct cdns_pcie *pcie = &ep->pcie;
drivers/pci/controller/cadence/pcie-cadence-ep.c
298
struct cdns_pcie_ep *ep = epc_get_drvdata(epc);
drivers/pci/controller/cadence/pcie-cadence-ep.c
299
struct cdns_pcie *pcie = &ep->pcie;
drivers/pci/controller/cadence/pcie-cadence-ep.c
325
static void cdns_pcie_ep_assert_intx(struct cdns_pcie_ep *ep, u8 fn, u8 intx,
drivers/pci/controller/cadence/pcie-cadence-ep.c
328
struct cdns_pcie *pcie = &ep->pcie;
drivers/pci/controller/cadence/pcie-cadence-ep.c
337
if (unlikely(ep->irq_pci_addr != CDNS_PCIE_EP_IRQ_PCI_ADDR_LEGACY ||
drivers/pci/controller/cadence/pcie-cadence-ep.c
338
ep->irq_pci_fn != fn)) {
drivers/pci/controller/cadence/pcie-cadence-ep.c
341
ep->irq_phys_addr);
drivers/pci/controller/cadence/pcie-cadence-ep.c
342
ep->irq_pci_addr = CDNS_PCIE_EP_IRQ_PCI_ADDR_LEGACY;
drivers/pci/controller/cadence/pcie-cadence-ep.c
343
ep->irq_pci_fn = fn;
drivers/pci/controller/cadence/pcie-cadence-ep.c
347
ep->irq_pending |= BIT(intx);
drivers/pci/controller/cadence/pcie-cadence-ep.c
350
ep->irq_pending &= ~BIT(intx);
drivers/pci/controller/cadence/pcie-cadence-ep.c
354
spin_lock_irqsave(&ep->lock, flags);
drivers/pci/controller/cadence/pcie-cadence-ep.c
356
if (((status & PCI_STATUS_INTERRUPT) != 0) ^ (ep->irq_pending != 0)) {
drivers/pci/controller/cadence/pcie-cadence-ep.c
360
spin_unlock_irqrestore(&ep->lock, flags);
drivers/pci/controller/cadence/pcie-cadence-ep.c
364
writel(0, ep->irq_cpu_addr + offset);
drivers/pci/controller/cadence/pcie-cadence-ep.c
367
static int cdns_pcie_ep_send_intx_irq(struct cdns_pcie_ep *ep, u8 fn, u8 vfn,
drivers/pci/controller/cadence/pcie-cadence-ep.c
372
cmd = cdns_pcie_ep_fn_readw(&ep->pcie, fn, PCI_COMMAND);
drivers/pci/controller/cadence/pcie-cadence-ep.c
376
cdns_pcie_ep_assert_intx(ep, fn, intx, true);
drivers/pci/controller/cadence/pcie-cadence-ep.c
381
cdns_pcie_ep_assert_intx(ep, fn, intx, false);
drivers/pci/controller/cadence/pcie-cadence-ep.c
385
static int cdns_pcie_ep_send_msi_irq(struct cdns_pcie_ep *ep, u8 fn, u8 vfn,
drivers/pci/controller/cadence/pcie-cadence-ep.c
388
struct cdns_pcie *pcie = &ep->pcie;
drivers/pci/controller/cadence/pcie-cadence-ep.c
41
struct cdns_pcie_ep *ep = epc_get_drvdata(epc);
drivers/pci/controller/cadence/pcie-cadence-ep.c
419
if (unlikely(ep->irq_pci_addr != (pci_addr & ~pci_addr_mask) ||
drivers/pci/controller/cadence/pcie-cadence-ep.c
42
struct cdns_pcie *pcie = &ep->pcie;
drivers/pci/controller/cadence/pcie-cadence-ep.c
420
ep->irq_pci_fn != fn)) {
drivers/pci/controller/cadence/pcie-cadence-ep.c
424
ep->irq_phys_addr,
drivers/pci/controller/cadence/pcie-cadence-ep.c
427
ep->irq_pci_addr = (pci_addr & ~pci_addr_mask);
drivers/pci/controller/cadence/pcie-cadence-ep.c
428
ep->irq_pci_fn = fn;
drivers/pci/controller/cadence/pcie-cadence-ep.c
430
writel(data, ep->irq_cpu_addr + (pci_addr & pci_addr_mask));
drivers/pci/controller/cadence/pcie-cadence-ep.c
440
struct cdns_pcie_ep *ep = epc_get_drvdata(epc);
drivers/pci/controller/cadence/pcie-cadence-ep.c
441
struct cdns_pcie *pcie = &ep->pcie;
drivers/pci/controller/cadence/pcie-cadence-ep.c
488
static int cdns_pcie_ep_send_msix_irq(struct cdns_pcie_ep *ep, u8 fn, u8 vfn,
drivers/pci/controller/cadence/pcie-cadence-ep.c
492
struct cdns_pcie *pcie = &ep->pcie;
drivers/pci/controller/cadence/pcie-cadence-ep.c
501
epf = &ep->epf[fn];
drivers/pci/controller/cadence/pcie-cadence-ep.c
522
if (ep->irq_pci_addr != (msg_addr & ~pci_addr_mask) ||
drivers/pci/controller/cadence/pcie-cadence-ep.c
523
ep->irq_pci_fn != fn) {
drivers/pci/controller/cadence/pcie-cadence-ep.c
527
ep->irq_phys_addr,
drivers/pci/controller/cadence/pcie-cadence-ep.c
530
ep->irq_pci_addr = (msg_addr & ~pci_addr_mask);
drivers/pci/controller/cadence/pcie-cadence-ep.c
531
ep->irq_pci_fn = fn;
drivers/pci/controller/cadence/pcie-cadence-ep.c
533
writel(msg_data, ep->irq_cpu_addr + (msg_addr & pci_addr_mask));
drivers/pci/controller/cadence/pcie-cadence-ep.c
541
struct cdns_pcie_ep *ep = epc_get_drvdata(epc);
drivers/pci/controller/cadence/pcie-cadence-ep.c
542
struct cdns_pcie *pcie = &ep->pcie;
drivers/pci/controller/cadence/pcie-cadence-ep.c
551
return cdns_pcie_ep_send_intx_irq(ep, fn, vfn, 0);
drivers/pci/controller/cadence/pcie-cadence-ep.c
554
return cdns_pcie_ep_send_msi_irq(ep, fn, vfn, interrupt_num);
drivers/pci/controller/cadence/pcie-cadence-ep.c
557
return cdns_pcie_ep_send_msix_irq(ep, fn, vfn, interrupt_num);
drivers/pci/controller/cadence/pcie-cadence-ep.c
568
struct cdns_pcie_ep *ep = epc_get_drvdata(epc);
drivers/pci/controller/cadence/pcie-cadence-ep.c
569
struct cdns_pcie *pcie = &ep->pcie;
drivers/pci/controller/cadence/pcie-cadence-ep.c
594
if (ep->quirk_disable_flr) {
drivers/pci/controller/cadence/pcie-cadence-ep.c
653
void cdns_pcie_ep_disable(struct cdns_pcie_ep *ep)
drivers/pci/controller/cadence/pcie-cadence-ep.c
655
struct device *dev = ep->pcie.dev;
drivers/pci/controller/cadence/pcie-cadence-ep.c
659
pci_epc_mem_free_addr(epc, ep->irq_phys_addr, ep->irq_cpu_addr,
drivers/pci/controller/cadence/pcie-cadence-ep.c
665
int cdns_pcie_ep_setup(struct cdns_pcie_ep *ep)
drivers/pci/controller/cadence/pcie-cadence-ep.c
667
struct device *dev = ep->pcie.dev;
drivers/pci/controller/cadence/pcie-cadence-ep.c
670
struct cdns_pcie *pcie = &ep->pcie;
drivers/pci/controller/cadence/pcie-cadence-ep.c
692
ep->max_regions = CDNS_PCIE_MAX_OB;
drivers/pci/controller/cadence/pcie-cadence-ep.c
693
of_property_read_u32(np, "cdns,max-outbound-regions", &ep->max_regions);
drivers/pci/controller/cadence/pcie-cadence-ep.c
695
ep->ob_addr = devm_kcalloc(dev,
drivers/pci/controller/cadence/pcie-cadence-ep.c
696
ep->max_regions, sizeof(*ep->ob_addr),
drivers/pci/controller/cadence/pcie-cadence-ep.c
698
if (!ep->ob_addr)
drivers/pci/controller/cadence/pcie-cadence-ep.c
710
epc_set_drvdata(epc, ep);
drivers/pci/controller/cadence/pcie-cadence-ep.c
715
ep->epf = devm_kcalloc(dev, epc->max_functions, sizeof(*ep->epf),
drivers/pci/controller/cadence/pcie-cadence-ep.c
717
if (!ep->epf)
drivers/pci/controller/cadence/pcie-cadence-ep.c
729
epf = &ep->epf[i];
drivers/pci/controller/cadence/pcie-cadence-ep.c
733
sizeof(*ep->epf), GFP_KERNEL);
drivers/pci/controller/cadence/pcie-cadence-ep.c
746
ep->irq_cpu_addr = pci_epc_mem_alloc_addr(epc, &ep->irq_phys_addr,
drivers/pci/controller/cadence/pcie-cadence-ep.c
748
if (!ep->irq_cpu_addr) {
drivers/pci/controller/cadence/pcie-cadence-ep.c
753
ep->irq_pci_addr = CDNS_PCIE_EP_IRQ_PCI_ADDR_NONE;
drivers/pci/controller/cadence/pcie-cadence-ep.c
755
set_bit(0, &ep->ob_region_map);
drivers/pci/controller/cadence/pcie-cadence-ep.c
757
if (ep->quirk_detect_quiet_flag)
drivers/pci/controller/cadence/pcie-cadence-ep.c
758
cdns_pcie_detect_quiet_min_delay_set(&ep->pcie);
drivers/pci/controller/cadence/pcie-cadence-ep.c
760
spin_lock_init(&ep->lock);
drivers/pci/controller/cadence/pcie-cadence-ep.c
84
struct cdns_pcie_ep *ep = epc_get_drvdata(epc);
drivers/pci/controller/cadence/pcie-cadence-ep.c
85
struct cdns_pcie_epf *epf = &ep->epf[fn];
drivers/pci/controller/cadence/pcie-cadence-ep.c
86
struct cdns_pcie *pcie = &ep->pcie;
drivers/pci/controller/cadence/pcie-cadence-plat.c
113
ret = cdns_pcie_ep_setup(ep);
drivers/pci/controller/cadence/pcie-cadence-plat.c
42
struct cdns_pcie_ep *ep;
drivers/pci/controller/cadence/pcie-cadence-plat.c
92
ep = devm_kzalloc(dev, sizeof(*ep), GFP_KERNEL);
drivers/pci/controller/cadence/pcie-cadence-plat.c
93
if (!ep)
drivers/pci/controller/cadence/pcie-cadence-plat.c
96
ep->pcie.dev = dev;
drivers/pci/controller/cadence/pcie-cadence-plat.c
97
ep->pcie.ops = &cdns_plat_ops;
drivers/pci/controller/cadence/pcie-cadence-plat.c
98
cdns_plat_pcie->pcie = &ep->pcie;
drivers/pci/controller/cadence/pcie-cadence.h
468
int cdns_pcie_ep_setup(struct cdns_pcie_ep *ep);
drivers/pci/controller/cadence/pcie-cadence.h
469
void cdns_pcie_ep_disable(struct cdns_pcie_ep *ep);
drivers/pci/controller/cadence/pcie-cadence.h
470
int cdns_pcie_hpa_ep_setup(struct cdns_pcie_ep *ep);
drivers/pci/controller/cadence/pcie-cadence.h
472
static inline int cdns_pcie_ep_setup(struct cdns_pcie_ep *ep)
drivers/pci/controller/cadence/pcie-cadence.h
477
static inline void cdns_pcie_ep_disable(struct cdns_pcie_ep *ep)
drivers/pci/controller/cadence/pcie-cadence.h
481
static inline int cdns_pcie_hpa_ep_setup(struct cdns_pcie_ep *ep)
drivers/pci/controller/dwc/pci-dra7xx.c
293
struct dw_pcie_ep *ep = &pci->ep;
drivers/pci/controller/dwc/pci-dra7xx.c
332
dw_pcie_ep_linkup(ep);
drivers/pci/controller/dwc/pci-dra7xx.c
377
static void dra7xx_pcie_ep_init(struct dw_pcie_ep *ep)
drivers/pci/controller/dwc/pci-dra7xx.c
379
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pci-dra7xx.c
406
static int dra7xx_pcie_raise_irq(struct dw_pcie_ep *ep, u8 func_no,
drivers/pci/controller/dwc/pci-dra7xx.c
409
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pci-dra7xx.c
433
dra7xx_pcie_get_features(struct dw_pcie_ep *ep)
drivers/pci/controller/dwc/pci-dra7xx.c
448
struct dw_pcie_ep *ep;
drivers/pci/controller/dwc/pci-dra7xx.c
452
ep = &pci->ep;
drivers/pci/controller/dwc/pci-dra7xx.c
453
ep->ops = &pcie_ep_ops;
drivers/pci/controller/dwc/pci-dra7xx.c
464
ret = dw_pcie_ep_init(ep);
drivers/pci/controller/dwc/pci-dra7xx.c
470
ret = dw_pcie_ep_init_registers(ep);
drivers/pci/controller/dwc/pci-dra7xx.c
473
dw_pcie_ep_deinit(ep);
drivers/pci/controller/dwc/pci-dra7xx.c
477
pci_epc_init_notify(ep->epc);
drivers/pci/controller/dwc/pci-dra7xx.c
851
dw_pcie_ep_deinit(&dra7xx->pci->ep);
drivers/pci/controller/dwc/pci-exynos.c
109
static void exynos_pcie_deassert_core_reset(struct exynos_pcie *ep)
drivers/pci/controller/dwc/pci-exynos.c
111
struct dw_pcie *pci = &ep->pci;
drivers/pci/controller/dwc/pci-exynos.c
138
static void exynos_pcie_clear_irq_pulse(struct exynos_pcie *ep)
drivers/pci/controller/dwc/pci-exynos.c
140
struct dw_pcie *pci = &ep->pci;
drivers/pci/controller/dwc/pci-exynos.c
149
struct exynos_pcie *ep = arg;
drivers/pci/controller/dwc/pci-exynos.c
151
exynos_pcie_clear_irq_pulse(ep);
drivers/pci/controller/dwc/pci-exynos.c
155
static void exynos_pcie_enable_irq_pulse(struct exynos_pcie *ep)
drivers/pci/controller/dwc/pci-exynos.c
157
struct dw_pcie *pci = &ep->pci;
drivers/pci/controller/dwc/pci-exynos.c
170
struct exynos_pcie *ep = to_exynos_pcie(pci);
drivers/pci/controller/dwc/pci-exynos.c
173
exynos_pcie_sideband_dbi_r_mode(ep, true);
drivers/pci/controller/dwc/pci-exynos.c
175
exynos_pcie_sideband_dbi_r_mode(ep, false);
drivers/pci/controller/dwc/pci-exynos.c
182
struct exynos_pcie *ep = to_exynos_pcie(pci);
drivers/pci/controller/dwc/pci-exynos.c
184
exynos_pcie_sideband_dbi_w_mode(ep, true);
drivers/pci/controller/dwc/pci-exynos.c
186
exynos_pcie_sideband_dbi_w_mode(ep, false);
drivers/pci/controller/dwc/pci-exynos.c
228
struct exynos_pcie *ep = to_exynos_pcie(pci);
drivers/pci/controller/dwc/pci-exynos.c
232
exynos_pcie_assert_core_reset(ep);
drivers/pci/controller/dwc/pci-exynos.c
234
phy_init(ep->phy);
drivers/pci/controller/dwc/pci-exynos.c
235
phy_power_on(ep->phy);
drivers/pci/controller/dwc/pci-exynos.c
237
exynos_pcie_deassert_core_reset(ep);
drivers/pci/controller/dwc/pci-exynos.c
238
exynos_pcie_enable_irq_pulse(ep);
drivers/pci/controller/dwc/pci-exynos.c
247
static int exynos_add_pcie_port(struct exynos_pcie *ep,
drivers/pci/controller/dwc/pci-exynos.c
250
struct dw_pcie *pci = &ep->pci;
drivers/pci/controller/dwc/pci-exynos.c
260
IRQF_SHARED, "exynos-pcie", ep);
drivers/pci/controller/dwc/pci-exynos.c
288
struct exynos_pcie *ep;
drivers/pci/controller/dwc/pci-exynos.c
292
ep = devm_kzalloc(dev, sizeof(*ep), GFP_KERNEL);
drivers/pci/controller/dwc/pci-exynos.c
293
if (!ep)
drivers/pci/controller/dwc/pci-exynos.c
296
ep->pci.dev = dev;
drivers/pci/controller/dwc/pci-exynos.c
297
ep->pci.ops = &dw_pcie_ops;
drivers/pci/controller/dwc/pci-exynos.c
299
ep->phy = devm_of_phy_get(dev, np, NULL);
drivers/pci/controller/dwc/pci-exynos.c
300
if (IS_ERR(ep->phy))
drivers/pci/controller/dwc/pci-exynos.c
301
return PTR_ERR(ep->phy);
drivers/pci/controller/dwc/pci-exynos.c
303
ret = devm_clk_bulk_get_all_enabled(dev, &ep->clks);
drivers/pci/controller/dwc/pci-exynos.c
307
ep->supplies[0].supply = "vdd18";
drivers/pci/controller/dwc/pci-exynos.c
308
ep->supplies[1].supply = "vdd10";
drivers/pci/controller/dwc/pci-exynos.c
309
ret = devm_regulator_bulk_get(dev, ARRAY_SIZE(ep->supplies),
drivers/pci/controller/dwc/pci-exynos.c
310
ep->supplies);
drivers/pci/controller/dwc/pci-exynos.c
314
ret = regulator_bulk_enable(ARRAY_SIZE(ep->supplies), ep->supplies);
drivers/pci/controller/dwc/pci-exynos.c
318
platform_set_drvdata(pdev, ep);
drivers/pci/controller/dwc/pci-exynos.c
320
ret = exynos_add_pcie_port(ep, pdev);
drivers/pci/controller/dwc/pci-exynos.c
327
phy_exit(ep->phy);
drivers/pci/controller/dwc/pci-exynos.c
328
regulator_bulk_disable(ARRAY_SIZE(ep->supplies), ep->supplies);
drivers/pci/controller/dwc/pci-exynos.c
335
struct exynos_pcie *ep = platform_get_drvdata(pdev);
drivers/pci/controller/dwc/pci-exynos.c
337
dw_pcie_host_deinit(&ep->pci.pp);
drivers/pci/controller/dwc/pci-exynos.c
338
exynos_pcie_assert_core_reset(ep);
drivers/pci/controller/dwc/pci-exynos.c
339
phy_power_off(ep->phy);
drivers/pci/controller/dwc/pci-exynos.c
340
phy_exit(ep->phy);
drivers/pci/controller/dwc/pci-exynos.c
341
regulator_bulk_disable(ARRAY_SIZE(ep->supplies), ep->supplies);
drivers/pci/controller/dwc/pci-exynos.c
346
struct exynos_pcie *ep = dev_get_drvdata(dev);
drivers/pci/controller/dwc/pci-exynos.c
348
exynos_pcie_assert_core_reset(ep);
drivers/pci/controller/dwc/pci-exynos.c
349
phy_power_off(ep->phy);
drivers/pci/controller/dwc/pci-exynos.c
350
phy_exit(ep->phy);
drivers/pci/controller/dwc/pci-exynos.c
351
regulator_bulk_disable(ARRAY_SIZE(ep->supplies), ep->supplies);
drivers/pci/controller/dwc/pci-exynos.c
358
struct exynos_pcie *ep = dev_get_drvdata(dev);
drivers/pci/controller/dwc/pci-exynos.c
359
struct dw_pcie *pci = &ep->pci;
drivers/pci/controller/dwc/pci-exynos.c
363
ret = regulator_bulk_enable(ARRAY_SIZE(ep->supplies), ep->supplies);
drivers/pci/controller/dwc/pci-exynos.c
71
static void exynos_pcie_sideband_dbi_w_mode(struct exynos_pcie *ep, bool on)
drivers/pci/controller/dwc/pci-exynos.c
73
struct dw_pcie *pci = &ep->pci;
drivers/pci/controller/dwc/pci-exynos.c
84
static void exynos_pcie_sideband_dbi_r_mode(struct exynos_pcie *ep, bool on)
drivers/pci/controller/dwc/pci-exynos.c
86
struct dw_pcie *pci = &ep->pci;
drivers/pci/controller/dwc/pci-exynos.c
97
static void exynos_pcie_assert_core_reset(struct exynos_pcie *ep)
drivers/pci/controller/dwc/pci-exynos.c
99
struct dw_pcie *pci = &ep->pci;
drivers/pci/controller/dwc/pci-imx6.c
1404
static void imx_pcie_ep_init(struct dw_pcie_ep *ep)
drivers/pci/controller/dwc/pci-imx6.c
1407
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pci-imx6.c
1413
static int imx_pcie_ep_raise_irq(struct dw_pcie_ep *ep, u8 func_no,
drivers/pci/controller/dwc/pci-imx6.c
1416
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pci-imx6.c
1420
return dw_pcie_ep_raise_intx_irq(ep, func_no);
drivers/pci/controller/dwc/pci-imx6.c
1422
return dw_pcie_ep_raise_msi_irq(ep, func_no, interrupt_num);
drivers/pci/controller/dwc/pci-imx6.c
1424
return dw_pcie_ep_raise_msix_irq(ep, func_no, interrupt_num);
drivers/pci/controller/dwc/pci-imx6.c
1472
imx_pcie_ep_get_features(struct dw_pcie_ep *ep)
drivers/pci/controller/dwc/pci-imx6.c
1474
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pci-imx6.c
1490
struct dw_pcie_ep *ep;
drivers/pci/controller/dwc/pci-imx6.c
1496
ep = &pci->ep;
drivers/pci/controller/dwc/pci-imx6.c
1497
ep->ops = &pcie_ep_ops;
drivers/pci/controller/dwc/pci-imx6.c
1502
ep->page_size = imx_pcie->drvdata->epc_features->align;
drivers/pci/controller/dwc/pci-imx6.c
1504
ret = dw_pcie_ep_init(ep);
drivers/pci/controller/dwc/pci-imx6.c
1511
ret = dw_pcie_ep_init_registers(ep);
drivers/pci/controller/dwc/pci-imx6.c
1514
dw_pcie_ep_deinit(ep);
drivers/pci/controller/dwc/pci-imx6.c
1518
pci_epc_init_notify(ep->epc);
drivers/pci/controller/dwc/pci-keystone.c
1296
pci->ep.ops = ep_ops;
drivers/pci/controller/dwc/pci-keystone.c
1297
ret = dw_pcie_ep_init(&pci->ep);
drivers/pci/controller/dwc/pci-keystone.c
1301
ret = dw_pcie_ep_init_registers(&pci->ep);
drivers/pci/controller/dwc/pci-keystone.c
1307
pci_epc_init_notify(pci->ep.epc);
drivers/pci/controller/dwc/pci-keystone.c
1321
dw_pcie_ep_deinit(&pci->ep);
drivers/pci/controller/dwc/pci-keystone.c
879
static void ks_pcie_am654_ep_init(struct dw_pcie_ep *ep)
drivers/pci/controller/dwc/pci-keystone.c
881
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pci-keystone.c
884
ep->page_size = AM654_WIN_SIZE;
drivers/pci/controller/dwc/pci-keystone.c
908
static int ks_pcie_am654_raise_irq(struct dw_pcie_ep *ep, u8 func_no,
drivers/pci/controller/dwc/pci-keystone.c
911
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pci-keystone.c
919
dw_pcie_ep_raise_msi_irq(ep, func_no, interrupt_num);
drivers/pci/controller/dwc/pci-keystone.c
922
dw_pcie_ep_raise_msix_irq(ep, func_no, interrupt_num);
drivers/pci/controller/dwc/pci-keystone.c
946
ks_pcie_am654_get_features(struct dw_pcie_ep *ep)
drivers/pci/controller/dwc/pci-layerscape-ep.c
102
dw_pcie_ep_linkup(&pci->ep);
drivers/pci/controller/dwc/pci-layerscape-ep.c
107
dw_pcie_ep_linkdown(&pci->ep);
drivers/pci/controller/dwc/pci-layerscape-ep.c
142
ls_pcie_ep_get_features(struct dw_pcie_ep *ep)
drivers/pci/controller/dwc/pci-layerscape-ep.c
144
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pci-layerscape-ep.c
150
static void ls_pcie_ep_init(struct dw_pcie_ep *ep)
drivers/pci/controller/dwc/pci-layerscape-ep.c
152
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pci-layerscape-ep.c
157
ep_func = dw_pcie_ep_get_func_from_ep(ep, 0);
drivers/pci/controller/dwc/pci-layerscape-ep.c
168
static int ls_pcie_ep_raise_irq(struct dw_pcie_ep *ep, u8 func_no,
drivers/pci/controller/dwc/pci-layerscape-ep.c
171
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pci-layerscape-ep.c
175
return dw_pcie_ep_raise_intx_irq(ep, func_no);
drivers/pci/controller/dwc/pci-layerscape-ep.c
177
return dw_pcie_ep_raise_msi_irq(ep, func_no, interrupt_num);
drivers/pci/controller/dwc/pci-layerscape-ep.c
179
return dw_pcie_ep_raise_msix_irq_doorbell(ep, func_no,
drivers/pci/controller/dwc/pci-layerscape-ep.c
187
static unsigned int ls_pcie_ep_get_dbi_offset(struct dw_pcie_ep *ep, u8 func_no)
drivers/pci/controller/dwc/pci-layerscape-ep.c
189
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pci-layerscape-ep.c
267
pci->ep.ops = &ls_pcie_ep_ops;
drivers/pci/controller/dwc/pci-layerscape-ep.c
278
ret = dw_pcie_ep_init(&pci->ep);
drivers/pci/controller/dwc/pci-layerscape-ep.c
282
ret = dw_pcie_ep_init_registers(&pci->ep);
drivers/pci/controller/dwc/pci-layerscape-ep.c
285
dw_pcie_ep_deinit(&pci->ep);
drivers/pci/controller/dwc/pci-layerscape-ep.c
289
pci_epc_init_notify(pci->ep.epc);
drivers/pci/controller/dwc/pcie-artpec6.c
101
struct dw_pcie_ep *ep = &pci->ep;
drivers/pci/controller/dwc/pcie-artpec6.c
107
return cpu_addr - ep->phys_base;
drivers/pci/controller/dwc/pcie-artpec6.c
339
static void artpec6_pcie_ep_init(struct dw_pcie_ep *ep)
drivers/pci/controller/dwc/pcie-artpec6.c
341
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-artpec6.c
354
static int artpec6_pcie_raise_irq(struct dw_pcie_ep *ep, u8 func_no,
drivers/pci/controller/dwc/pcie-artpec6.c
357
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-artpec6.c
364
return dw_pcie_ep_raise_msi_irq(ep, func_no, interrupt_num);
drivers/pci/controller/dwc/pcie-artpec6.c
378
artpec6_pcie_get_features(struct dw_pcie_ep *ep)
drivers/pci/controller/dwc/pcie-artpec6.c
454
pci->ep.ops = &pcie_ep_ops;
drivers/pci/controller/dwc/pcie-artpec6.c
456
ret = dw_pcie_ep_init(&pci->ep);
drivers/pci/controller/dwc/pcie-artpec6.c
460
ret = dw_pcie_ep_init_registers(&pci->ep);
drivers/pci/controller/dwc/pcie-artpec6.c
463
dw_pcie_ep_deinit(&pci->ep);
drivers/pci/controller/dwc/pcie-artpec6.c
467
pci_epc_init_notify(pci->ep.epc);
drivers/pci/controller/dwc/pcie-designware-ep.c
100
dw_pcie_ep_writew_dbi(ep, func_no, PCI_SUBSYSTEM_VENDOR_ID,
drivers/pci/controller/dwc/pcie-designware-ep.c
1010
ret = dw_pcie_ep_map_addr(epc, func_no, 0, ep->msi_mem_phys, msg_addr,
drivers/pci/controller/dwc/pcie-designware-ep.c
1015
writel(msg_data, ep->msi_mem + offset);
drivers/pci/controller/dwc/pcie-designware-ep.c
1018
readl(ep->msi_mem + offset);
drivers/pci/controller/dwc/pcie-designware-ep.c
102
dw_pcie_ep_writew_dbi(ep, func_no, PCI_SUBSYSTEM_ID, hdr->subsys_id);
drivers/pci/controller/dwc/pcie-designware-ep.c
1020
dw_pcie_ep_unmap_addr(epc, func_no, 0, ep->msi_mem_phys);
drivers/pci/controller/dwc/pcie-designware-ep.c
103
dw_pcie_ep_writeb_dbi(ep, func_no, PCI_INTERRUPT_PIN,
drivers/pci/controller/dwc/pcie-designware-ep.c
1034
void dw_pcie_ep_cleanup(struct dw_pcie_ep *ep)
drivers/pci/controller/dwc/pcie-designware-ep.c
1036
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-designware-ep.c
1050
void dw_pcie_ep_deinit(struct dw_pcie_ep *ep)
drivers/pci/controller/dwc/pcie-designware-ep.c
1052
struct pci_epc *epc = ep->epc;
drivers/pci/controller/dwc/pcie-designware-ep.c
1054
dw_pcie_ep_cleanup(ep);
drivers/pci/controller/dwc/pcie-designware-ep.c
1056
pci_epc_mem_free_addr(epc, ep->msi_mem_phys, ep->msi_mem,
drivers/pci/controller/dwc/pcie-designware-ep.c
1063
static void dw_pcie_ep_init_rebar_registers(struct dw_pcie_ep *ep, u8 func_no)
drivers/pci/controller/dwc/pcie-designware-ep.c
1065
struct dw_pcie_ep_func *ep_func = dw_pcie_ep_get_func_from_ep(ep, func_no);
drivers/pci/controller/dwc/pcie-designware-ep.c
1073
offset = dw_pcie_ep_find_ext_capability(ep, func_no, PCI_EXT_CAP_ID_REBAR);
drivers/pci/controller/dwc/pcie-designware-ep.c
1076
reg = dw_pcie_ep_readl_dbi(ep, func_no, offset + PCI_REBAR_CTRL);
drivers/pci/controller/dwc/pcie-designware-ep.c
1097
val = dw_pcie_ep_readl_dbi(ep, func_no, offset + PCI_REBAR_CTRL);
drivers/pci/controller/dwc/pcie-designware-ep.c
1104
dw_pcie_ep_writel_dbi(ep, func_no, offset + PCI_REBAR_CAP, val);
drivers/pci/controller/dwc/pcie-designware-ep.c
111
static int dw_pcie_ep_ib_atu_bar(struct dw_pcie_ep *ep, u8 func_no, int type,
drivers/pci/controller/dwc/pcie-designware-ep.c
1111
struct dw_pcie_ep *ep = &pci->ep;
drivers/pci/controller/dwc/pcie-designware-ep.c
1112
u8 funcs = ep->epc->max_functions;
drivers/pci/controller/dwc/pcie-designware-ep.c
1118
dw_pcie_ep_init_rebar_registers(ep, func_no);
drivers/pci/controller/dwc/pcie-designware-ep.c
1132
int dw_pcie_ep_init_registers(struct dw_pcie_ep *ep)
drivers/pci/controller/dwc/pcie-designware-ep.c
1134
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-designware-ep.c
1137
struct pci_epc *epc = ep->epc;
drivers/pci/controller/dwc/pcie-designware-ep.c
1162
if (!ep->ib_window_map) {
drivers/pci/controller/dwc/pcie-designware-ep.c
1163
ep->ib_window_map = devm_bitmap_zalloc(dev, pci->num_ib_windows,
drivers/pci/controller/dwc/pcie-designware-ep.c
1165
if (!ep->ib_window_map)
drivers/pci/controller/dwc/pcie-designware-ep.c
1169
if (!ep->ob_window_map) {
drivers/pci/controller/dwc/pcie-designware-ep.c
117
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-designware-ep.c
1170
ep->ob_window_map = devm_bitmap_zalloc(dev, pci->num_ob_windows,
drivers/pci/controller/dwc/pcie-designware-ep.c
1172
if (!ep->ob_window_map)
drivers/pci/controller/dwc/pcie-designware-ep.c
1176
if (!ep->outbound_addr) {
drivers/pci/controller/dwc/pcie-designware-ep.c
118
struct dw_pcie_ep_func *ep_func = dw_pcie_ep_get_func_from_ep(ep, func_no);
drivers/pci/controller/dwc/pcie-designware-ep.c
1181
ep->outbound_addr = addr;
drivers/pci/controller/dwc/pcie-designware-ep.c
1186
ep_func = dw_pcie_ep_get_func_from_ep(ep, func_no);
drivers/pci/controller/dwc/pcie-designware-ep.c
1195
ep_func->msi_cap = dw_pcie_ep_find_capability(ep, func_no,
drivers/pci/controller/dwc/pcie-designware-ep.c
1197
ep_func->msix_cap = dw_pcie_ep_find_capability(ep, func_no,
drivers/pci/controller/dwc/pcie-designware-ep.c
1200
list_add_tail(&ep_func->list, &ep->func_list);
drivers/pci/controller/dwc/pcie-designware-ep.c
1203
if (ep->ops->init)
drivers/pci/controller/dwc/pcie-designware-ep.c
1204
ep->ops->init(ep);
drivers/pci/controller/dwc/pcie-designware-ep.c
124
free_win = find_first_zero_bit(ep->ib_window_map, pci->num_ib_windows);
drivers/pci/controller/dwc/pcie-designware-ep.c
1253
void dw_pcie_ep_linkup(struct dw_pcie_ep *ep)
drivers/pci/controller/dwc/pcie-designware-ep.c
1255
struct pci_epc *epc = ep->epc;
drivers/pci/controller/dwc/pcie-designware-ep.c
1269
void dw_pcie_ep_linkdown(struct dw_pcie_ep *ep)
drivers/pci/controller/dwc/pcie-designware-ep.c
1271
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-designware-ep.c
1272
struct pci_epc *epc = ep->epc;
drivers/pci/controller/dwc/pcie-designware-ep.c
1286
static int dw_pcie_ep_get_resources(struct dw_pcie_ep *ep)
drivers/pci/controller/dwc/pcie-designware-ep.c
1288
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-designware-ep.c
1292
struct pci_epc *epc = ep->epc;
drivers/pci/controller/dwc/pcie-designware-ep.c
1304
ep->phys_base = res->start;
drivers/pci/controller/dwc/pcie-designware-ep.c
1305
ep->addr_size = resource_size(res);
drivers/pci/controller/dwc/pcie-designware-ep.c
1312
ep->phys_base);
drivers/pci/controller/dwc/pcie-designware-ep.c
1330
int dw_pcie_ep_init(struct dw_pcie_ep *ep)
drivers/pci/controller/dwc/pcie-designware-ep.c
1334
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-designware-ep.c
1337
INIT_LIST_HEAD(&ep->func_list);
drivers/pci/controller/dwc/pcie-designware-ep.c
1338
ep->msi_iatu_mapped = false;
drivers/pci/controller/dwc/pcie-designware-ep.c
1339
ep->msi_msg_addr = 0;
drivers/pci/controller/dwc/pcie-designware-ep.c
1340
ep->msi_map_size = 0;
drivers/pci/controller/dwc/pcie-designware-ep.c
1348
ep->epc = epc;
drivers/pci/controller/dwc/pcie-designware-ep.c
1349
epc_set_drvdata(epc, ep);
drivers/pci/controller/dwc/pcie-designware-ep.c
1351
ret = dw_pcie_ep_get_resources(ep);
drivers/pci/controller/dwc/pcie-designware-ep.c
1355
if (ep->ops->pre_init)
drivers/pci/controller/dwc/pcie-designware-ep.c
1356
ep->ops->pre_init(ep);
drivers/pci/controller/dwc/pcie-designware-ep.c
1358
ret = pci_epc_mem_init(epc, ep->phys_base, ep->addr_size,
drivers/pci/controller/dwc/pcie-designware-ep.c
1359
ep->page_size);
drivers/pci/controller/dwc/pcie-designware-ep.c
1365
ep->msi_mem = pci_epc_mem_alloc_addr(epc, &ep->msi_mem_phys,
drivers/pci/controller/dwc/pcie-designware-ep.c
1367
if (!ep->msi_mem) {
drivers/pci/controller/dwc/pcie-designware-ep.c
145
set_bit(free_win, ep->ib_window_map);
drivers/pci/controller/dwc/pcie-designware-ep.c
150
static void dw_pcie_ep_clear_ib_maps(struct dw_pcie_ep *ep, u8 func_no, enum pci_barno bar)
drivers/pci/controller/dwc/pcie-designware-ep.c
152
struct dw_pcie_ep_func *ep_func = dw_pcie_ep_get_func_from_ep(ep, func_no);
drivers/pci/controller/dwc/pcie-designware-ep.c
153
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-designware-ep.c
166
clear_bit(atu_index, ep->ib_window_map);
drivers/pci/controller/dwc/pcie-designware-ep.c
180
clear_bit(indexes[i], ep->ib_window_map);
drivers/pci/controller/dwc/pcie-designware-ep.c
185
static u64 dw_pcie_ep_read_bar_assigned(struct dw_pcie_ep *ep, u8 func_no,
drivers/pci/controller/dwc/pcie-designware-ep.c
192
lo = dw_pcie_ep_readl_dbi(ep, func_no, reg);
drivers/pci/controller/dwc/pcie-designware-ep.c
201
hi = dw_pcie_ep_readl_dbi(ep, func_no, reg + 4);
drivers/pci/controller/dwc/pcie-designware-ep.c
205
static int dw_pcie_ep_validate_submap(struct dw_pcie_ep *ep,
drivers/pci/controller/dwc/pcie-designware-ep.c
209
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-designware-ep.c
257
static int dw_pcie_ep_ib_atu_addr(struct dw_pcie_ep *ep, u8 func_no, int type,
drivers/pci/controller/dwc/pcie-designware-ep.c
260
struct dw_pcie_ep_func *ep_func = dw_pcie_ep_get_func_from_ep(ep, func_no);
drivers/pci/controller/dwc/pcie-designware-ep.c
262
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-designware-ep.c
27
dw_pcie_ep_get_func_from_ep(struct dw_pcie_ep *ep, u8 func_no)
drivers/pci/controller/dwc/pcie-designware-ep.c
274
ret = dw_pcie_ep_validate_submap(ep, submap, epf_bar->num_submap,
drivers/pci/controller/dwc/pcie-designware-ep.c
279
base = dw_pcie_ep_read_bar_assigned(ep, func_no, bar, epf_bar->flags);
drivers/pci/controller/dwc/pcie-designware-ep.c
307
free_win = find_first_zero_bit(ep->ib_window_map,
drivers/pci/controller/dwc/pcie-designware-ep.c
31
list_for_each_entry(ep_func, &ep->func_list, list) {
drivers/pci/controller/dwc/pcie-designware-ep.c
319
set_bit(free_win, ep->ib_window_map);
drivers/pci/controller/dwc/pcie-designware-ep.c
325
dw_pcie_ep_clear_ib_maps(ep, func_no, bar);
drivers/pci/controller/dwc/pcie-designware-ep.c
329
static int dw_pcie_ep_outbound_atu(struct dw_pcie_ep *ep,
drivers/pci/controller/dwc/pcie-designware-ep.c
332
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-designware-ep.c
336
free_win = find_first_zero_bit(ep->ob_window_map, pci->num_ob_windows);
drivers/pci/controller/dwc/pcie-designware-ep.c
347
set_bit(free_win, ep->ob_window_map);
drivers/pci/controller/dwc/pcie-designware-ep.c
348
ep->outbound_addr[free_win] = atu->parent_bus_addr;
drivers/pci/controller/dwc/pcie-designware-ep.c
356
struct dw_pcie_ep *ep = epc_get_drvdata(epc);
drivers/pci/controller/dwc/pcie-designware-ep.c
357
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-designware-ep.c
359
struct dw_pcie_ep_func *ep_func = dw_pcie_ep_get_func_from_ep(ep, func_no);
drivers/pci/controller/dwc/pcie-designware-ep.c
366
dw_pcie_ep_clear_ib_maps(ep, func_no, bar);
drivers/pci/controller/dwc/pcie-designware-ep.c
371
static unsigned int dw_pcie_ep_get_rebar_offset(struct dw_pcie_ep *ep, u8 func_no,
drivers/pci/controller/dwc/pcie-designware-ep.c
378
offset = dw_pcie_ep_find_ext_capability(ep, func_no, PCI_EXT_CAP_ID_REBAR);
drivers/pci/controller/dwc/pcie-designware-ep.c
382
reg = dw_pcie_ep_readl_dbi(ep, func_no, offset + PCI_REBAR_CTRL);
drivers/pci/controller/dwc/pcie-designware-ep.c
386
reg = dw_pcie_ep_readl_dbi(ep, func_no, offset + PCI_REBAR_CTRL);
drivers/pci/controller/dwc/pcie-designware-ep.c
395
static int dw_pcie_ep_set_bar_resizable(struct dw_pcie_ep *ep, u8 func_no,
drivers/pci/controller/dwc/pcie-designware-ep.c
398
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-designware-ep.c
407
rebar_offset = dw_pcie_ep_get_rebar_offset(ep, func_no, bar);
drivers/pci/controller/dwc/pcie-designware-ep.c
42
struct dw_pcie_ep *ep = &pci->ep;
drivers/pci/controller/dwc/pcie-designware-ep.c
424
dw_pcie_ep_writel_dbi2(ep, func_no, reg, BIT(0));
drivers/pci/controller/dwc/pcie-designware-ep.c
425
dw_pcie_ep_writel_dbi(ep, func_no, reg, flags);
drivers/pci/controller/dwc/pcie-designware-ep.c
428
dw_pcie_ep_writel_dbi2(ep, func_no, reg + 4, 0);
drivers/pci/controller/dwc/pcie-designware-ep.c
429
dw_pcie_ep_writel_dbi(ep, func_no, reg + 4, 0);
drivers/pci/controller/dwc/pcie-designware-ep.c
437
rebar_ctrl = dw_pcie_ep_readl_dbi(ep, func_no, rebar_offset + PCI_REBAR_CTRL);
drivers/pci/controller/dwc/pcie-designware-ep.c
439
dw_pcie_ep_writel_dbi(ep, func_no, rebar_offset + PCI_REBAR_CTRL, rebar_ctrl);
drivers/pci/controller/dwc/pcie-designware-ep.c
446
dw_pcie_ep_writel_dbi(ep, func_no, rebar_offset + PCI_REBAR_CAP, rebar_cap);
drivers/pci/controller/dwc/pcie-designware-ep.c
453
static int dw_pcie_ep_set_bar_programmable(struct dw_pcie_ep *ep, u8 func_no,
drivers/pci/controller/dwc/pcie-designware-ep.c
456
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-designware-ep.c
464
dw_pcie_ep_writel_dbi2(ep, func_no, reg, lower_32_bits(size - 1));
drivers/pci/controller/dwc/pcie-designware-ep.c
465
dw_pcie_ep_writel_dbi(ep, func_no, reg, flags);
drivers/pci/controller/dwc/pcie-designware-ep.c
468
dw_pcie_ep_writel_dbi2(ep, func_no, reg + 4, upper_32_bits(size - 1));
drivers/pci/controller/dwc/pcie-designware-ep.c
469
dw_pcie_ep_writel_dbi(ep, func_no, reg + 4, 0);
drivers/pci/controller/dwc/pcie-designware-ep.c
47
dw_pcie_ep_writel_dbi2(ep, func_no, reg, 0x0);
drivers/pci/controller/dwc/pcie-designware-ep.c
477
static enum pci_epc_bar_type dw_pcie_ep_get_bar_type(struct dw_pcie_ep *ep,
drivers/pci/controller/dwc/pcie-designware-ep.c
48
dw_pcie_ep_writel_dbi(ep, func_no, reg, 0x0);
drivers/pci/controller/dwc/pcie-designware-ep.c
482
if (!ep->ops->get_features)
drivers/pci/controller/dwc/pcie-designware-ep.c
485
epc_features = ep->ops->get_features(ep);
drivers/pci/controller/dwc/pcie-designware-ep.c
493
struct dw_pcie_ep *ep = epc_get_drvdata(epc);
drivers/pci/controller/dwc/pcie-designware-ep.c
494
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-designware-ep.c
495
struct dw_pcie_ep_func *ep_func = dw_pcie_ep_get_func_from_ep(ep, func_no);
drivers/pci/controller/dwc/pcie-designware-ep.c
50
dw_pcie_ep_writel_dbi2(ep, func_no, reg + 4, 0x0);
drivers/pci/controller/dwc/pcie-designware-ep.c
51
dw_pcie_ep_writel_dbi(ep, func_no, reg + 4, 0x0);
drivers/pci/controller/dwc/pcie-designware-ep.c
541
dw_pcie_ep_clear_ib_maps(ep, func_no, bar);
drivers/pci/controller/dwc/pcie-designware-ep.c
560
bar_type = dw_pcie_ep_get_bar_type(ep, bar);
drivers/pci/controller/dwc/pcie-designware-ep.c
571
ret = dw_pcie_ep_set_bar_programmable(ep, func_no, epf_bar);
drivers/pci/controller/dwc/pcie-designware-ep.c
574
ret = dw_pcie_ep_set_bar_resizable(ep, func_no, epf_bar);
drivers/pci/controller/dwc/pcie-designware-ep.c
592
ret = dw_pcie_ep_ib_atu_addr(ep, func_no, type, epf_bar);
drivers/pci/controller/dwc/pcie-designware-ep.c
594
ret = dw_pcie_ep_ib_atu_bar(ep, func_no, type,
drivers/pci/controller/dwc/pcie-designware-ep.c
605
static int dw_pcie_find_index(struct dw_pcie_ep *ep, phys_addr_t addr,
drivers/pci/controller/dwc/pcie-designware-ep.c
609
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-designware-ep.c
611
for_each_set_bit(index, ep->ob_window_map, pci->num_ob_windows) {
drivers/pci/controller/dwc/pcie-designware-ep.c
612
if (ep->outbound_addr[index] != addr)
drivers/pci/controller/dwc/pcie-designware-ep.c
624
struct dw_pcie_ep *ep = epc_get_drvdata(epc);
drivers/pci/controller/dwc/pcie-designware-ep.c
625
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-designware-ep.c
640
struct dw_pcie_ep *ep = epc_get_drvdata(epc);
drivers/pci/controller/dwc/pcie-designware-ep.c
641
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-designware-ep.c
643
ret = dw_pcie_find_index(ep, addr - pci->parent_bus_offset,
drivers/pci/controller/dwc/pcie-designware-ep.c
648
ep->outbound_addr[atu_index] = 0;
drivers/pci/controller/dwc/pcie-designware-ep.c
65
funcs = pci->ep.epc->max_functions;
drivers/pci/controller/dwc/pcie-designware-ep.c
650
clear_bit(atu_index, ep->ob_window_map);
drivers/pci/controller/dwc/pcie-designware-ep.c
657
struct dw_pcie_ep *ep = epc_get_drvdata(epc);
drivers/pci/controller/dwc/pcie-designware-ep.c
658
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-designware-ep.c
666
ret = dw_pcie_ep_outbound_atu(ep, &atu);
drivers/pci/controller/dwc/pcie-designware-ep.c
677
struct dw_pcie_ep *ep = epc_get_drvdata(epc);
drivers/pci/controller/dwc/pcie-designware-ep.c
681
ep_func = dw_pcie_ep_get_func_from_ep(ep, func_no);
drivers/pci/controller/dwc/pcie-designware-ep.c
686
val = dw_pcie_ep_readw_dbi(ep, func_no, reg);
drivers/pci/controller/dwc/pcie-designware-ep.c
698
struct dw_pcie_ep *ep = epc_get_drvdata(epc);
drivers/pci/controller/dwc/pcie-designware-ep.c
699
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-designware-ep.c
704
ep_func = dw_pcie_ep_get_func_from_ep(ep, func_no);
drivers/pci/controller/dwc/pcie-designware-ep.c
709
val = dw_pcie_ep_readw_dbi(ep, func_no, reg);
drivers/pci/controller/dwc/pcie-designware-ep.c
713
dw_pcie_ep_writew_dbi(ep, func_no, reg, val);
drivers/pci/controller/dwc/pcie-designware-ep.c
72
static u8 dw_pcie_ep_find_capability(struct dw_pcie_ep *ep, u8 func_no, u8 cap)
drivers/pci/controller/dwc/pcie-designware-ep.c
721
struct dw_pcie_ep *ep = epc_get_drvdata(epc);
drivers/pci/controller/dwc/pcie-designware-ep.c
725
ep_func = dw_pcie_ep_get_func_from_ep(ep, func_no);
drivers/pci/controller/dwc/pcie-designware-ep.c
730
val = dw_pcie_ep_readw_dbi(ep, func_no, reg);
drivers/pci/controller/dwc/pcie-designware-ep.c
742
struct dw_pcie_ep *ep = epc_get_drvdata(epc);
drivers/pci/controller/dwc/pcie-designware-ep.c
743
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-designware-ep.c
747
ep_func = dw_pcie_ep_get_func_from_ep(ep, func_no);
drivers/pci/controller/dwc/pcie-designware-ep.c
75
cap, NULL, ep, func_no);
drivers/pci/controller/dwc/pcie-designware-ep.c
754
val = dw_pcie_ep_readw_dbi(ep, func_no, reg);
drivers/pci/controller/dwc/pcie-designware-ep.c
761
dw_pcie_ep_writel_dbi(ep, func_no, reg, val);
drivers/pci/controller/dwc/pcie-designware-ep.c
765
dw_pcie_ep_writel_dbi(ep, func_no, reg, val);
drivers/pci/controller/dwc/pcie-designware-ep.c
775
struct dw_pcie_ep *ep = epc_get_drvdata(epc);
drivers/pci/controller/dwc/pcie-designware-ep.c
777
if (!ep->ops->raise_irq)
drivers/pci/controller/dwc/pcie-designware-ep.c
78
static u16 dw_pcie_ep_find_ext_capability(struct dw_pcie_ep *ep,
drivers/pci/controller/dwc/pcie-designware-ep.c
780
return ep->ops->raise_irq(ep, func_no, type, interrupt_num);
drivers/pci/controller/dwc/pcie-designware-ep.c
785
struct dw_pcie_ep *ep = epc_get_drvdata(epc);
drivers/pci/controller/dwc/pcie-designware-ep.c
786
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-designware-ep.c
793
if (ep->msi_iatu_mapped) {
drivers/pci/controller/dwc/pcie-designware-ep.c
794
dw_pcie_ep_unmap_addr(epc, 0, 0, ep->msi_mem_phys);
drivers/pci/controller/dwc/pcie-designware-ep.c
795
ep->msi_iatu_mapped = false;
drivers/pci/controller/dwc/pcie-designware-ep.c
803
struct dw_pcie_ep *ep = epc_get_drvdata(epc);
drivers/pci/controller/dwc/pcie-designware-ep.c
804
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-designware-ep.c
812
struct dw_pcie_ep *ep = epc_get_drvdata(epc);
drivers/pci/controller/dwc/pcie-designware-ep.c
814
if (!ep->ops->get_features)
drivers/pci/controller/dwc/pcie-designware-ep.c
817
return ep->ops->get_features(ep);
drivers/pci/controller/dwc/pcie-designware-ep.c
82
cap, NULL, ep, func_no);
drivers/pci/controller/dwc/pcie-designware-ep.c
844
int dw_pcie_ep_raise_intx_irq(struct dw_pcie_ep *ep, u8 func_no)
drivers/pci/controller/dwc/pcie-designware-ep.c
846
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-designware-ep.c
863
int dw_pcie_ep_raise_msi_irq(struct dw_pcie_ep *ep, u8 func_no,
drivers/pci/controller/dwc/pcie-designware-ep.c
868
struct pci_epc *epc = ep->epc;
drivers/pci/controller/dwc/pcie-designware-ep.c
876
ep_func = dw_pcie_ep_get_func_from_ep(ep, func_no);
drivers/pci/controller/dwc/pcie-designware-ep.c
88
struct dw_pcie_ep *ep = epc_get_drvdata(epc);
drivers/pci/controller/dwc/pcie-designware-ep.c
882
msg_ctrl = dw_pcie_ep_readw_dbi(ep, func_no, reg);
drivers/pci/controller/dwc/pcie-designware-ep.c
885
msg_addr_lower = dw_pcie_ep_readl_dbi(ep, func_no, reg);
drivers/pci/controller/dwc/pcie-designware-ep.c
888
msg_addr_upper = dw_pcie_ep_readl_dbi(ep, func_no, reg);
drivers/pci/controller/dwc/pcie-designware-ep.c
89
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-designware-ep.c
890
msg_data = dw_pcie_ep_readw_dbi(ep, func_no, reg);
drivers/pci/controller/dwc/pcie-designware-ep.c
894
msg_data = dw_pcie_ep_readw_dbi(ep, func_no, reg);
drivers/pci/controller/dwc/pcie-designware-ep.c
908
if (ep->msi_iatu_mapped && (ep->msi_msg_addr != msg_addr ||
drivers/pci/controller/dwc/pcie-designware-ep.c
909
ep->msi_map_size != map_size)) {
drivers/pci/controller/dwc/pcie-designware-ep.c
917
dw_pcie_ep_unmap_addr(epc, func_no, 0, ep->msi_mem_phys);
drivers/pci/controller/dwc/pcie-designware-ep.c
918
ep->msi_iatu_mapped = false;
drivers/pci/controller/dwc/pcie-designware-ep.c
92
dw_pcie_ep_writew_dbi(ep, func_no, PCI_VENDOR_ID, hdr->vendorid);
drivers/pci/controller/dwc/pcie-designware-ep.c
921
if (!ep->msi_iatu_mapped) {
drivers/pci/controller/dwc/pcie-designware-ep.c
923
ep->msi_mem_phys, msg_addr,
drivers/pci/controller/dwc/pcie-designware-ep.c
928
ep->msi_iatu_mapped = true;
drivers/pci/controller/dwc/pcie-designware-ep.c
929
ep->msi_msg_addr = msg_addr;
drivers/pci/controller/dwc/pcie-designware-ep.c
93
dw_pcie_ep_writew_dbi(ep, func_no, PCI_DEVICE_ID, hdr->deviceid);
drivers/pci/controller/dwc/pcie-designware-ep.c
930
ep->msi_map_size = map_size;
drivers/pci/controller/dwc/pcie-designware-ep.c
933
writel(msg_data | (interrupt_num - 1), ep->msi_mem + offset);
drivers/pci/controller/dwc/pcie-designware-ep.c
94
dw_pcie_ep_writeb_dbi(ep, func_no, PCI_REVISION_ID, hdr->revid);
drivers/pci/controller/dwc/pcie-designware-ep.c
948
int dw_pcie_ep_raise_msix_irq_doorbell(struct dw_pcie_ep *ep, u8 func_no,
drivers/pci/controller/dwc/pcie-designware-ep.c
95
dw_pcie_ep_writeb_dbi(ep, func_no, PCI_CLASS_PROG, hdr->progif_code);
drivers/pci/controller/dwc/pcie-designware-ep.c
951
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-designware-ep.c
955
ep_func = dw_pcie_ep_get_func_from_ep(ep, func_no);
drivers/pci/controller/dwc/pcie-designware-ep.c
96
dw_pcie_ep_writew_dbi(ep, func_no, PCI_CLASS_DEVICE,
drivers/pci/controller/dwc/pcie-designware-ep.c
975
int dw_pcie_ep_raise_msix_irq(struct dw_pcie_ep *ep, u8 func_no,
drivers/pci/controller/dwc/pcie-designware-ep.c
978
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-designware-ep.c
98
dw_pcie_ep_writeb_dbi(ep, func_no, PCI_CACHE_LINE_SIZE,
drivers/pci/controller/dwc/pcie-designware-ep.c
981
struct pci_epc *epc = ep->epc;
drivers/pci/controller/dwc/pcie-designware-ep.c
990
ep_func = dw_pcie_ep_get_func_from_ep(ep, func_no);
drivers/pci/controller/dwc/pcie-designware-ep.c
995
tbl_offset = dw_pcie_ep_readl_dbi(ep, func_no, reg);
drivers/pci/controller/dwc/pcie-designware-plat.c
146
pci->ep.ops = &pcie_ep_ops;
drivers/pci/controller/dwc/pcie-designware-plat.c
147
ret = dw_pcie_ep_init(&pci->ep);
drivers/pci/controller/dwc/pcie-designware-plat.c
151
ret = dw_pcie_ep_init_registers(&pci->ep);
drivers/pci/controller/dwc/pcie-designware-plat.c
154
dw_pcie_ep_deinit(&pci->ep);
drivers/pci/controller/dwc/pcie-designware-plat.c
157
pci_epc_init_notify(pci->ep.epc);
drivers/pci/controller/dwc/pcie-designware-plat.c
35
static void dw_plat_pcie_ep_init(struct dw_pcie_ep *ep)
drivers/pci/controller/dwc/pcie-designware-plat.c
37
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-designware-plat.c
44
static int dw_plat_pcie_ep_raise_irq(struct dw_pcie_ep *ep, u8 func_no,
drivers/pci/controller/dwc/pcie-designware-plat.c
47
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-designware-plat.c
51
return dw_pcie_ep_raise_intx_irq(ep, func_no);
drivers/pci/controller/dwc/pcie-designware-plat.c
53
return dw_pcie_ep_raise_msi_irq(ep, func_no, interrupt_num);
drivers/pci/controller/dwc/pcie-designware-plat.c
55
return dw_pcie_ep_raise_msix_irq(ep, func_no, interrupt_num);
drivers/pci/controller/dwc/pcie-designware-plat.c
70
dw_plat_pcie_get_features(struct dw_pcie_ep *ep)
drivers/pci/controller/dwc/pcie-designware.h
453
void (*pre_init)(struct dw_pcie_ep *ep);
drivers/pci/controller/dwc/pcie-designware.h
454
void (*init)(struct dw_pcie_ep *ep);
drivers/pci/controller/dwc/pcie-designware.h
455
int (*raise_irq)(struct dw_pcie_ep *ep, u8 func_no,
drivers/pci/controller/dwc/pcie-designware.h
457
const struct pci_epc_features* (*get_features)(struct dw_pcie_ep *ep);
drivers/pci/controller/dwc/pcie-designware.h
465
unsigned int (*get_dbi_offset)(struct dw_pcie_ep *ep, u8 func_no);
drivers/pci/controller/dwc/pcie-designware.h
466
unsigned int (*get_dbi2_offset)(struct dw_pcie_ep *ep, u8 func_no);
drivers/pci/controller/dwc/pcie-designware.h
535
struct dw_pcie_ep ep;
drivers/pci/controller/dwc/pcie-designware.h
573
container_of((endpoint), struct dw_pcie, ep)
drivers/pci/controller/dwc/pcie-designware.h
669
static inline unsigned int dw_pcie_ep_get_dbi_offset(struct dw_pcie_ep *ep,
drivers/pci/controller/dwc/pcie-designware.h
674
if (ep->ops->get_dbi_offset)
drivers/pci/controller/dwc/pcie-designware.h
675
dbi_offset = ep->ops->get_dbi_offset(ep, func_no);
drivers/pci/controller/dwc/pcie-designware.h
680
static inline u32 dw_pcie_ep_read_dbi(struct dw_pcie_ep *ep, u8 func_no,
drivers/pci/controller/dwc/pcie-designware.h
683
unsigned int offset = dw_pcie_ep_get_dbi_offset(ep, func_no);
drivers/pci/controller/dwc/pcie-designware.h
684
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-designware.h
689
static inline void dw_pcie_ep_write_dbi(struct dw_pcie_ep *ep, u8 func_no,
drivers/pci/controller/dwc/pcie-designware.h
692
unsigned int offset = dw_pcie_ep_get_dbi_offset(ep, func_no);
drivers/pci/controller/dwc/pcie-designware.h
693
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-designware.h
698
static inline void dw_pcie_ep_writel_dbi(struct dw_pcie_ep *ep, u8 func_no,
drivers/pci/controller/dwc/pcie-designware.h
701
dw_pcie_ep_write_dbi(ep, func_no, reg, 0x4, val);
drivers/pci/controller/dwc/pcie-designware.h
704
static inline u32 dw_pcie_ep_readl_dbi(struct dw_pcie_ep *ep, u8 func_no,
drivers/pci/controller/dwc/pcie-designware.h
707
return dw_pcie_ep_read_dbi(ep, func_no, reg, 0x4);
drivers/pci/controller/dwc/pcie-designware.h
710
static inline void dw_pcie_ep_writew_dbi(struct dw_pcie_ep *ep, u8 func_no,
drivers/pci/controller/dwc/pcie-designware.h
713
dw_pcie_ep_write_dbi(ep, func_no, reg, 0x2, val);
drivers/pci/controller/dwc/pcie-designware.h
716
static inline u16 dw_pcie_ep_readw_dbi(struct dw_pcie_ep *ep, u8 func_no,
drivers/pci/controller/dwc/pcie-designware.h
719
return dw_pcie_ep_read_dbi(ep, func_no, reg, 0x2);
drivers/pci/controller/dwc/pcie-designware.h
722
static inline void dw_pcie_ep_writeb_dbi(struct dw_pcie_ep *ep, u8 func_no,
drivers/pci/controller/dwc/pcie-designware.h
725
dw_pcie_ep_write_dbi(ep, func_no, reg, 0x1, val);
drivers/pci/controller/dwc/pcie-designware.h
728
static inline u8 dw_pcie_ep_readb_dbi(struct dw_pcie_ep *ep, u8 func_no,
drivers/pci/controller/dwc/pcie-designware.h
731
return dw_pcie_ep_read_dbi(ep, func_no, reg, 0x1);
drivers/pci/controller/dwc/pcie-designware.h
734
static inline int dw_pcie_ep_read_cfg_byte(struct dw_pcie_ep *ep, u8 func_no,
drivers/pci/controller/dwc/pcie-designware.h
737
*val = dw_pcie_ep_readb_dbi(ep, func_no, where);
drivers/pci/controller/dwc/pcie-designware.h
741
static inline int dw_pcie_ep_read_cfg_word(struct dw_pcie_ep *ep, u8 func_no,
drivers/pci/controller/dwc/pcie-designware.h
744
*val = dw_pcie_ep_readw_dbi(ep, func_no, where);
drivers/pci/controller/dwc/pcie-designware.h
748
static inline int dw_pcie_ep_read_cfg_dword(struct dw_pcie_ep *ep, u8 func_no,
drivers/pci/controller/dwc/pcie-designware.h
751
*val = dw_pcie_ep_readl_dbi(ep, func_no, where);
drivers/pci/controller/dwc/pcie-designware.h
755
static inline unsigned int dw_pcie_ep_get_dbi2_offset(struct dw_pcie_ep *ep,
drivers/pci/controller/dwc/pcie-designware.h
760
if (ep->ops->get_dbi2_offset)
drivers/pci/controller/dwc/pcie-designware.h
761
dbi2_offset = ep->ops->get_dbi2_offset(ep, func_no);
drivers/pci/controller/dwc/pcie-designware.h
762
else if (ep->ops->get_dbi_offset) /* for backward compatibility */
drivers/pci/controller/dwc/pcie-designware.h
763
dbi2_offset = ep->ops->get_dbi_offset(ep, func_no);
drivers/pci/controller/dwc/pcie-designware.h
768
static inline void dw_pcie_ep_write_dbi2(struct dw_pcie_ep *ep, u8 func_no,
drivers/pci/controller/dwc/pcie-designware.h
771
unsigned int offset = dw_pcie_ep_get_dbi2_offset(ep, func_no);
drivers/pci/controller/dwc/pcie-designware.h
772
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-designware.h
777
static inline void dw_pcie_ep_writel_dbi2(struct dw_pcie_ep *ep, u8 func_no,
drivers/pci/controller/dwc/pcie-designware.h
780
dw_pcie_ep_write_dbi2(ep, func_no, reg, 0x4, val);
drivers/pci/controller/dwc/pcie-designware.h
897
void dw_pcie_ep_linkup(struct dw_pcie_ep *ep);
drivers/pci/controller/dwc/pcie-designware.h
898
void dw_pcie_ep_linkdown(struct dw_pcie_ep *ep);
drivers/pci/controller/dwc/pcie-designware.h
899
int dw_pcie_ep_init(struct dw_pcie_ep *ep);
drivers/pci/controller/dwc/pcie-designware.h
900
int dw_pcie_ep_init_registers(struct dw_pcie_ep *ep);
drivers/pci/controller/dwc/pcie-designware.h
901
void dw_pcie_ep_deinit(struct dw_pcie_ep *ep);
drivers/pci/controller/dwc/pcie-designware.h
902
void dw_pcie_ep_cleanup(struct dw_pcie_ep *ep);
drivers/pci/controller/dwc/pcie-designware.h
903
int dw_pcie_ep_raise_intx_irq(struct dw_pcie_ep *ep, u8 func_no);
drivers/pci/controller/dwc/pcie-designware.h
904
int dw_pcie_ep_raise_msi_irq(struct dw_pcie_ep *ep, u8 func_no,
drivers/pci/controller/dwc/pcie-designware.h
906
int dw_pcie_ep_raise_msix_irq(struct dw_pcie_ep *ep, u8 func_no,
drivers/pci/controller/dwc/pcie-designware.h
908
int dw_pcie_ep_raise_msix_irq_doorbell(struct dw_pcie_ep *ep, u8 func_no,
drivers/pci/controller/dwc/pcie-designware.h
912
dw_pcie_ep_get_func_from_ep(struct dw_pcie_ep *ep, u8 func_no);
drivers/pci/controller/dwc/pcie-designware.h
914
static inline void dw_pcie_ep_linkup(struct dw_pcie_ep *ep)
drivers/pci/controller/dwc/pcie-designware.h
918
static inline void dw_pcie_ep_linkdown(struct dw_pcie_ep *ep)
drivers/pci/controller/dwc/pcie-designware.h
922
static inline int dw_pcie_ep_init(struct dw_pcie_ep *ep)
drivers/pci/controller/dwc/pcie-designware.h
927
static inline int dw_pcie_ep_init_registers(struct dw_pcie_ep *ep)
drivers/pci/controller/dwc/pcie-designware.h
932
static inline void dw_pcie_ep_deinit(struct dw_pcie_ep *ep)
drivers/pci/controller/dwc/pcie-designware.h
936
static inline void dw_pcie_ep_cleanup(struct dw_pcie_ep *ep)
drivers/pci/controller/dwc/pcie-designware.h
940
static inline int dw_pcie_ep_raise_intx_irq(struct dw_pcie_ep *ep, u8 func_no)
drivers/pci/controller/dwc/pcie-designware.h
945
static inline int dw_pcie_ep_raise_msi_irq(struct dw_pcie_ep *ep, u8 func_no,
drivers/pci/controller/dwc/pcie-designware.h
951
static inline int dw_pcie_ep_raise_msix_irq(struct dw_pcie_ep *ep, u8 func_no,
drivers/pci/controller/dwc/pcie-designware.h
957
static inline int dw_pcie_ep_raise_msix_irq_doorbell(struct dw_pcie_ep *ep,
drivers/pci/controller/dwc/pcie-designware.h
969
dw_pcie_ep_get_func_from_ep(struct dw_pcie_ep *ep, u8 func_no)
drivers/pci/controller/dwc/pcie-dw-rockchip.c
349
static void rockchip_pcie_ep_hide_broken_ats_cap_rk3588(struct dw_pcie_ep *ep)
drivers/pci/controller/dwc/pcie-dw-rockchip.c
351
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-dw-rockchip.c
361
static void rockchip_pcie_ep_init(struct dw_pcie_ep *ep)
drivers/pci/controller/dwc/pcie-dw-rockchip.c
363
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-dw-rockchip.c
367
rockchip_pcie_ep_hide_broken_ats_cap_rk3588(ep);
drivers/pci/controller/dwc/pcie-dw-rockchip.c
373
static int rockchip_pcie_raise_irq(struct dw_pcie_ep *ep, u8 func_no,
drivers/pci/controller/dwc/pcie-dw-rockchip.c
376
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-dw-rockchip.c
380
return dw_pcie_ep_raise_intx_irq(ep, func_no);
drivers/pci/controller/dwc/pcie-dw-rockchip.c
382
return dw_pcie_ep_raise_msi_irq(ep, func_no, interrupt_num);
drivers/pci/controller/dwc/pcie-dw-rockchip.c
384
return dw_pcie_ep_raise_msix_irq(ep, func_no, interrupt_num);
drivers/pci/controller/dwc/pcie-dw-rockchip.c
428
rockchip_pcie_get_features(struct dw_pcie_ep *ep)
drivers/pci/controller/dwc/pcie-dw-rockchip.c
430
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-dw-rockchip.c
534
dw_pcie_ep_linkdown(&pci->ep);
drivers/pci/controller/dwc/pcie-dw-rockchip.c
544
dw_pcie_ep_linkup(&pci->ep);
drivers/pci/controller/dwc/pcie-dw-rockchip.c
607
rockchip->pci.ep.ops = &rockchip_pcie_ep_ops;
drivers/pci/controller/dwc/pcie-dw-rockchip.c
608
rockchip->pci.ep.page_size = SZ_64K;
drivers/pci/controller/dwc/pcie-dw-rockchip.c
612
ret = dw_pcie_ep_init(&rockchip->pci.ep);
drivers/pci/controller/dwc/pcie-dw-rockchip.c
618
ret = dw_pcie_ep_init_registers(&rockchip->pci.ep);
drivers/pci/controller/dwc/pcie-dw-rockchip.c
621
dw_pcie_ep_deinit(&rockchip->pci.ep);
drivers/pci/controller/dwc/pcie-dw-rockchip.c
625
pci_epc_init_notify(rockchip->pci.ep.epc);
drivers/pci/controller/dwc/pcie-keembay.c
283
static void keembay_pcie_ep_init(struct dw_pcie_ep *ep)
drivers/pci/controller/dwc/pcie-keembay.c
285
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-keembay.c
291
static int keembay_pcie_ep_raise_irq(struct dw_pcie_ep *ep, u8 func_no,
drivers/pci/controller/dwc/pcie-keembay.c
294
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-keembay.c
302
return dw_pcie_ep_raise_msi_irq(ep, func_no, interrupt_num);
drivers/pci/controller/dwc/pcie-keembay.c
304
return dw_pcie_ep_raise_msix_irq(ep, func_no, interrupt_num);
drivers/pci/controller/dwc/pcie-keembay.c
325
keembay_pcie_get_features(struct dw_pcie_ep *ep)
drivers/pci/controller/dwc/pcie-keembay.c
433
pci->ep.ops = &keembay_pcie_ep_ops;
drivers/pci/controller/dwc/pcie-keembay.c
434
ret = dw_pcie_ep_init(&pci->ep);
drivers/pci/controller/dwc/pcie-keembay.c
438
ret = dw_pcie_ep_init_registers(&pci->ep);
drivers/pci/controller/dwc/pcie-keembay.c
441
dw_pcie_ep_deinit(&pci->ep);
drivers/pci/controller/dwc/pcie-keembay.c
445
pci_epc_init_notify(pci->ep.epc);
drivers/pci/controller/dwc/pcie-qcom-ep.c
422
pci_epc_deinit_notify(pci->ep.epc);
drivers/pci/controller/dwc/pcie-qcom-ep.c
423
dw_pcie_ep_cleanup(&pci->ep);
drivers/pci/controller/dwc/pcie-qcom-ep.c
526
ret = dw_pcie_ep_init_registers(&pcie_ep->pci.ep);
drivers/pci/controller/dwc/pcie-qcom-ep.c
550
pci_epc_init_notify(pcie_ep->pci.ep.epc);
drivers/pci/controller/dwc/pcie-qcom-ep.c
701
dw_pcie_ep_linkdown(&pci->ep);
drivers/pci/controller/dwc/pcie-qcom-ep.c
706
pci_epc_bus_master_enable_notify(pci->ep.epc);
drivers/pci/controller/dwc/pcie-qcom-ep.c
723
dw_pcie_ep_linkup(&pci->ep);
drivers/pci/controller/dwc/pcie-qcom-ep.c
763
pcie_ep->pci.ep.epc->domain_nr);
drivers/pci/controller/dwc/pcie-qcom-ep.c
781
pcie_ep->pci.ep.epc->domain_nr);
drivers/pci/controller/dwc/pcie-qcom-ep.c
800
static int qcom_pcie_ep_raise_irq(struct dw_pcie_ep *ep, u8 func_no,
drivers/pci/controller/dwc/pcie-qcom-ep.c
803
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-qcom-ep.c
807
return dw_pcie_ep_raise_intx_irq(ep, func_no);
drivers/pci/controller/dwc/pcie-qcom-ep.c
809
return dw_pcie_ep_raise_msi_irq(ep, func_no, interrupt_num);
drivers/pci/controller/dwc/pcie-qcom-ep.c
864
static void qcom_pcie_ep_init(struct dw_pcie_ep *ep)
drivers/pci/controller/dwc/pcie-qcom-ep.c
866
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-qcom-ep.c
892
pcie_ep->pci.ep.ops = &pci_ep_ops;
drivers/pci/controller/dwc/pcie-qcom-ep.c
913
ret = dw_pcie_ep_init(&pcie_ep->pci.ep);
drivers/pci/controller/dwc/pcie-qcom-ep.c
945
dw_pcie_ep_deinit(&pcie_ep->pci.ep);
drivers/pci/controller/dwc/pcie-rcar-gen4.c
376
static void rcar_gen4_pcie_ep_pre_init(struct dw_pcie_ep *ep)
drivers/pci/controller/dwc/pcie-rcar-gen4.c
378
struct dw_pcie *dw = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-rcar-gen4.c
389
static void rcar_gen4_pcie_ep_init(struct dw_pcie_ep *ep)
drivers/pci/controller/dwc/pcie-rcar-gen4.c
391
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-rcar-gen4.c
404
static int rcar_gen4_pcie_ep_raise_irq(struct dw_pcie_ep *ep, u8 func_no,
drivers/pci/controller/dwc/pcie-rcar-gen4.c
407
struct dw_pcie *dw = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-rcar-gen4.c
411
return dw_pcie_ep_raise_intx_irq(ep, func_no);
drivers/pci/controller/dwc/pcie-rcar-gen4.c
413
return dw_pcie_ep_raise_msi_irq(ep, func_no, interrupt_num);
drivers/pci/controller/dwc/pcie-rcar-gen4.c
433
rcar_gen4_pcie_ep_get_features(struct dw_pcie_ep *ep)
drivers/pci/controller/dwc/pcie-rcar-gen4.c
438
static unsigned int rcar_gen4_pcie_ep_get_dbi_offset(struct dw_pcie_ep *ep,
drivers/pci/controller/dwc/pcie-rcar-gen4.c
444
static unsigned int rcar_gen4_pcie_ep_get_dbi2_offset(struct dw_pcie_ep *ep,
drivers/pci/controller/dwc/pcie-rcar-gen4.c
461
struct dw_pcie_ep *ep = &rcar->dw.ep;
drivers/pci/controller/dwc/pcie-rcar-gen4.c
468
ep->ops = &pcie_ep_ops;
drivers/pci/controller/dwc/pcie-rcar-gen4.c
470
ret = dw_pcie_ep_init(ep);
drivers/pci/controller/dwc/pcie-rcar-gen4.c
476
ret = dw_pcie_ep_init_registers(ep);
drivers/pci/controller/dwc/pcie-rcar-gen4.c
479
dw_pcie_ep_deinit(ep);
drivers/pci/controller/dwc/pcie-rcar-gen4.c
483
pci_epc_init_notify(ep->epc);
drivers/pci/controller/dwc/pcie-rcar-gen4.c
490
dw_pcie_ep_deinit(&rcar->dw.ep);
drivers/pci/controller/dwc/pcie-stm32-ep.c
120
struct dw_pcie_ep *ep = &stm32_pcie->pci.ep;
drivers/pci/controller/dwc/pcie-stm32-ep.c
128
pci_epc_deinit_notify(ep->epc);
drivers/pci/controller/dwc/pcie-stm32-ep.c
139
struct dw_pcie_ep *ep = &pci->ep;
drivers/pci/controller/dwc/pcie-stm32-ep.c
160
ret = dw_pcie_ep_init_registers(ep);
drivers/pci/controller/dwc/pcie-stm32-ep.c
166
pci_epc_init_notify(ep->epc);
drivers/pci/controller/dwc/pcie-stm32-ep.c
203
struct dw_pcie_ep *ep = &stm32_pcie->pci.ep;
drivers/pci/controller/dwc/pcie-stm32-ep.c
216
ep->ops = &stm32_pcie_ep_ops;
drivers/pci/controller/dwc/pcie-stm32-ep.c
218
ep->page_size = stm32_pcie_epc_features.align;
drivers/pci/controller/dwc/pcie-stm32-ep.c
220
ret = dw_pcie_ep_init(ep);
drivers/pci/controller/dwc/pcie-stm32-ep.c
229
dw_pcie_ep_deinit(ep);
drivers/pci/controller/dwc/pcie-stm32-ep.c
31
static void stm32_pcie_ep_init(struct dw_pcie_ep *ep)
drivers/pci/controller/dwc/pcie-stm32-ep.c
313
struct dw_pcie_ep *ep = &pci->ep;
drivers/pci/controller/dwc/pcie-stm32-ep.c
317
pci_epc_deinit_notify(ep->epc);
drivers/pci/controller/dwc/pcie-stm32-ep.c
318
dw_pcie_ep_deinit(ep);
drivers/pci/controller/dwc/pcie-stm32-ep.c
33
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-stm32-ep.c
56
static int stm32_pcie_raise_irq(struct dw_pcie_ep *ep, u8 func_no,
drivers/pci/controller/dwc/pcie-stm32-ep.c
59
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-stm32-ep.c
63
return dw_pcie_ep_raise_intx_irq(ep, func_no);
drivers/pci/controller/dwc/pcie-stm32-ep.c
65
return dw_pcie_ep_raise_msi_irq(ep, func_no, interrupt_num);
drivers/pci/controller/dwc/pcie-stm32-ep.c
79
stm32_pcie_get_features(struct dw_pcie_ep *ep)
drivers/pci/controller/dwc/pcie-tegra194.c
1724
struct dw_pcie_ep *ep = &pci->ep;
drivers/pci/controller/dwc/pcie-tegra194.c
1775
pci_epc_deinit_notify(pcie->pci.ep.epc);
drivers/pci/controller/dwc/pcie-tegra194.c
1776
dw_pcie_ep_cleanup(&pcie->pci.ep);
drivers/pci/controller/dwc/pcie-tegra194.c
1868
val = (ep->msi_mem_phys & MSIX_ADDR_MATCH_LOW_OFF_MASK);
drivers/pci/controller/dwc/pcie-tegra194.c
1871
val = (upper_32_bits(ep->msi_mem_phys) & MSIX_ADDR_MATCH_HIGH_OFF_MASK);
drivers/pci/controller/dwc/pcie-tegra194.c
1874
ret = dw_pcie_ep_init_registers(ep);
drivers/pci/controller/dwc/pcie-tegra194.c
1880
pci_epc_init_notify(ep->epc);
drivers/pci/controller/dwc/pcie-tegra194.c
1926
static void tegra_pcie_ep_init(struct dw_pcie_ep *ep)
drivers/pci/controller/dwc/pcie-tegra194.c
1928
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-tegra194.c
1959
struct dw_pcie_ep *ep = &pcie->pci.ep;
drivers/pci/controller/dwc/pcie-tegra194.c
1961
writel(irq, ep->msi_mem);
drivers/pci/controller/dwc/pcie-tegra194.c
1966
static int tegra_pcie_ep_raise_irq(struct dw_pcie_ep *ep, u8 func_no,
drivers/pci/controller/dwc/pcie-tegra194.c
1969
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-tegra194.c
2005
tegra_pcie_ep_get_features(struct dw_pcie_ep *ep)
drivers/pci/controller/dwc/pcie-tegra194.c
2021
struct dw_pcie_ep *ep;
drivers/pci/controller/dwc/pcie-tegra194.c
2025
ep = &pci->ep;
drivers/pci/controller/dwc/pcie-tegra194.c
2026
ep->ops = &pcie_ep_ops;
drivers/pci/controller/dwc/pcie-tegra194.c
2028
ep->page_size = SZ_64K;
drivers/pci/controller/dwc/pcie-tegra194.c
2067
ret = dw_pcie_ep_init(ep);
drivers/pci/controller/dwc/pcie-tegra194.c
464
struct dw_pcie_ep *ep = &pcie->pci.ep;
drivers/pci/controller/dwc/pcie-tegra194.c
469
dw_pcie_ep_linkup(ep);
drivers/pci/controller/dwc/pcie-uniphier-ep.c
206
static void uniphier_pcie_ep_init(struct dw_pcie_ep *ep)
drivers/pci/controller/dwc/pcie-uniphier-ep.c
208
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-uniphier-ep.c
215
static int uniphier_pcie_ep_raise_intx_irq(struct dw_pcie_ep *ep)
drivers/pci/controller/dwc/pcie-uniphier-ep.c
217
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-uniphier-ep.c
240
static int uniphier_pcie_ep_raise_msi_irq(struct dw_pcie_ep *ep,
drivers/pci/controller/dwc/pcie-uniphier-ep.c
243
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-uniphier-ep.c
258
static int uniphier_pcie_ep_raise_irq(struct dw_pcie_ep *ep, u8 func_no,
drivers/pci/controller/dwc/pcie-uniphier-ep.c
261
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-uniphier-ep.c
265
return uniphier_pcie_ep_raise_intx_irq(ep);
drivers/pci/controller/dwc/pcie-uniphier-ep.c
267
return uniphier_pcie_ep_raise_msi_irq(ep, func_no,
drivers/pci/controller/dwc/pcie-uniphier-ep.c
277
uniphier_pcie_get_features(struct dw_pcie_ep *ep)
drivers/pci/controller/dwc/pcie-uniphier-ep.c
279
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
drivers/pci/controller/dwc/pcie-uniphier-ep.c
401
priv->pci.ep.ops = &uniphier_pcie_ep_ops;
drivers/pci/controller/dwc/pcie-uniphier-ep.c
402
ret = dw_pcie_ep_init(&priv->pci.ep);
drivers/pci/controller/dwc/pcie-uniphier-ep.c
406
ret = dw_pcie_ep_init_registers(&priv->pci.ep);
drivers/pci/controller/dwc/pcie-uniphier-ep.c
409
dw_pcie_ep_deinit(&priv->pci.ep);
drivers/pci/controller/dwc/pcie-uniphier-ep.c
413
pci_epc_init_notify(priv->pci.ep.epc);
drivers/pci/controller/pcie-rcar-ep.c
116
ep->ob_window[i].phys_base = res->start;
drivers/pci/controller/pcie-rcar-ep.c
117
ep->ob_window[i].size = resource_size(res);
drivers/pci/controller/pcie-rcar-ep.c
121
ep->ob_window[i].page_size = resource_size(res);
drivers/pci/controller/pcie-rcar-ep.c
123
ep->num_ob_windows = i;
drivers/pci/controller/pcie-rcar-ep.c
128
static int rcar_pcie_ep_get_pdata(struct rcar_pcie_endpoint *ep,
drivers/pci/controller/pcie-rcar-ep.c
131
struct rcar_pcie *pcie = &ep->pcie;
drivers/pci/controller/pcie-rcar-ep.c
144
ep->ob_window = devm_kcalloc(dev, RCAR_PCI_MAX_RESOURCES,
drivers/pci/controller/pcie-rcar-ep.c
146
if (!ep->ob_window)
drivers/pci/controller/pcie-rcar-ep.c
149
rcar_pcie_parse_outbound_ranges(ep, pdev);
drivers/pci/controller/pcie-rcar-ep.c
152
&ep->max_functions);
drivers/pci/controller/pcie-rcar-ep.c
153
if (err < 0 || ep->max_functions > RCAR_EPC_MAX_FUNCTIONS)
drivers/pci/controller/pcie-rcar-ep.c
154
ep->max_functions = RCAR_EPC_MAX_FUNCTIONS;
drivers/pci/controller/pcie-rcar-ep.c
162
struct rcar_pcie_endpoint *ep = epc_get_drvdata(epc);
drivers/pci/controller/pcie-rcar-ep.c
163
struct rcar_pcie *pcie = &ep->pcie;
drivers/pci/controller/pcie-rcar-ep.c
199
struct rcar_pcie_endpoint *ep = epc_get_drvdata(epc);
drivers/pci/controller/pcie-rcar-ep.c
203
struct rcar_pcie *pcie = &ep->pcie;
drivers/pci/controller/pcie-rcar-ep.c
208
idx = find_first_zero_bit(ep->ib_window_map, ep->num_ib_windows);
drivers/pci/controller/pcie-rcar-ep.c
209
if (idx >= ep->num_ib_windows) {
drivers/pci/controller/pcie-rcar-ep.c
217
ep->bar_to_atu[bar] = idx;
drivers/pci/controller/pcie-rcar-ep.c
219
set_bit(idx, ep->ib_window_map);
drivers/pci/controller/pcie-rcar-ep.c
220
set_bit(idx + 1, ep->ib_window_map);
drivers/pci/controller/pcie-rcar-ep.c
249
struct rcar_pcie_endpoint *ep = epc_get_drvdata(epc);
drivers/pci/controller/pcie-rcar-ep.c
251
u32 atu_index = ep->bar_to_atu[bar];
drivers/pci/controller/pcie-rcar-ep.c
253
rcar_pcie_set_inbound(&ep->pcie, 0x0, 0x0, 0x0, bar, false);
drivers/pci/controller/pcie-rcar-ep.c
255
clear_bit(atu_index, ep->ib_window_map);
drivers/pci/controller/pcie-rcar-ep.c
256
clear_bit(atu_index + 1, ep->ib_window_map);
drivers/pci/controller/pcie-rcar-ep.c
261
struct rcar_pcie_endpoint *ep = epc_get_drvdata(epc);
drivers/pci/controller/pcie-rcar-ep.c
262
struct rcar_pcie *pcie = &ep->pcie;
drivers/pci/controller/pcie-rcar-ep.c
275
struct rcar_pcie_endpoint *ep = epc_get_drvdata(epc);
drivers/pci/controller/pcie-rcar-ep.c
276
struct rcar_pcie *pcie = &ep->pcie;
drivers/pci/controller/pcie-rcar-ep.c
289
struct rcar_pcie_endpoint *ep = epc_get_drvdata(epc);
drivers/pci/controller/pcie-rcar-ep.c
290
struct rcar_pcie *pcie = &ep->pcie;
drivers/pci/controller/pcie-rcar-ep.c
303
window = rcar_pcie_ep_get_window(ep, addr);
drivers/pci/controller/pcie-rcar-ep.c
318
ep->ob_mapped_addr[window] = addr;
drivers/pci/controller/pcie-rcar-ep.c
326
struct rcar_pcie_endpoint *ep = epc_get_drvdata(epc);
drivers/pci/controller/pcie-rcar-ep.c
331
for (idx = 0; idx < ep->num_ob_windows; idx++)
drivers/pci/controller/pcie-rcar-ep.c
332
if (ep->ob_mapped_addr[idx] == addr)
drivers/pci/controller/pcie-rcar-ep.c
335
if (idx >= ep->num_ob_windows)
drivers/pci/controller/pcie-rcar-ep.c
341
rcar_pcie_set_outbound(&ep->pcie, idx, &win);
drivers/pci/controller/pcie-rcar-ep.c
343
ep->ob_mapped_addr[idx] = 0;
drivers/pci/controller/pcie-rcar-ep.c
346
static int rcar_pcie_ep_assert_intx(struct rcar_pcie_endpoint *ep,
drivers/pci/controller/pcie-rcar-ep.c
349
struct rcar_pcie *pcie = &ep->pcie;
drivers/pci/controller/pcie-rcar-ep.c
407
struct rcar_pcie_endpoint *ep = epc_get_drvdata(epc);
drivers/pci/controller/pcie-rcar-ep.c
411
return rcar_pcie_ep_assert_intx(ep, fn, 0);
drivers/pci/controller/pcie-rcar-ep.c
414
return rcar_pcie_ep_assert_msi(&ep->pcie, fn, interrupt_num);
drivers/pci/controller/pcie-rcar-ep.c
423
struct rcar_pcie_endpoint *ep = epc_get_drvdata(epc);
drivers/pci/controller/pcie-rcar-ep.c
425
rcar_pci_write_reg(&ep->pcie, MACCTLR_INIT_VAL, MACCTLR);
drivers/pci/controller/pcie-rcar-ep.c
426
rcar_pci_write_reg(&ep->pcie, CFINIT, PCIETCTLR);
drivers/pci/controller/pcie-rcar-ep.c
433
struct rcar_pcie_endpoint *ep = epc_get_drvdata(epc);
drivers/pci/controller/pcie-rcar-ep.c
435
rcar_pci_write_reg(&ep->pcie, 0, PCIETCTLR);
drivers/pci/controller/pcie-rcar-ep.c
481
struct rcar_pcie_endpoint *ep;
drivers/pci/controller/pcie-rcar-ep.c
486
ep = devm_kzalloc(dev, sizeof(*ep), GFP_KERNEL);
drivers/pci/controller/pcie-rcar-ep.c
487
if (!ep)
drivers/pci/controller/pcie-rcar-ep.c
490
pcie = &ep->pcie;
drivers/pci/controller/pcie-rcar-ep.c
500
err = rcar_pcie_ep_get_pdata(ep, pdev);
drivers/pci/controller/pcie-rcar-ep.c
506
ep->num_ib_windows = MAX_NR_INBOUND_MAPS;
drivers/pci/controller/pcie-rcar-ep.c
507
ep->ib_window_map =
drivers/pci/controller/pcie-rcar-ep.c
508
devm_kcalloc(dev, BITS_TO_LONGS(ep->num_ib_windows),
drivers/pci/controller/pcie-rcar-ep.c
510
if (!ep->ib_window_map) {
drivers/pci/controller/pcie-rcar-ep.c
516
ep->ob_mapped_addr = devm_kcalloc(dev, ep->num_ob_windows,
drivers/pci/controller/pcie-rcar-ep.c
517
sizeof(*ep->ob_mapped_addr),
drivers/pci/controller/pcie-rcar-ep.c
519
if (!ep->ob_mapped_addr) {
drivers/pci/controller/pcie-rcar-ep.c
532
epc->max_functions = ep->max_functions;
drivers/pci/controller/pcie-rcar-ep.c
533
epc_set_drvdata(epc, ep);
drivers/pci/controller/pcie-rcar-ep.c
537
err = pci_epc_multi_mem_init(epc, ep->ob_window, ep->num_ob_windows);
drivers/pci/controller/pcie-rcar-ep.c
78
static int rcar_pcie_ep_get_window(struct rcar_pcie_endpoint *ep,
drivers/pci/controller/pcie-rcar-ep.c
83
for (i = 0; i < ep->num_ob_windows; i++)
drivers/pci/controller/pcie-rcar-ep.c
84
if (ep->ob_window[i].phys_base == addr)
drivers/pci/controller/pcie-rcar-ep.c
90
static int rcar_pcie_parse_outbound_ranges(struct rcar_pcie_endpoint *ep,
drivers/pci/controller/pcie-rcar-ep.c
93
struct rcar_pcie *pcie = &ep->pcie;
drivers/pci/controller/pcie-rcar-ep.c
98
ep->num_ob_windows = 0;
drivers/pci/controller/pcie-rockchip-ep.c
118
struct rockchip_pcie_ep *ep = epc_get_drvdata(epc);
drivers/pci/controller/pcie-rockchip-ep.c
119
struct rockchip_pcie *rockchip = &ep->rockchip;
drivers/pci/controller/pcie-rockchip-ep.c
154
struct rockchip_pcie_ep *ep = epc_get_drvdata(epc);
drivers/pci/controller/pcie-rockchip-ep.c
155
struct rockchip_pcie *rockchip = &ep->rockchip;
drivers/pci/controller/pcie-rockchip-ep.c
222
struct rockchip_pcie_ep *ep = epc_get_drvdata(epc);
drivers/pci/controller/pcie-rockchip-ep.c
223
struct rockchip_pcie *rockchip = &ep->rockchip;
drivers/pci/controller/pcie-rockchip-ep.c
256
struct rockchip_pcie_ep *ep = epc_get_drvdata(epc);
drivers/pci/controller/pcie-rockchip-ep.c
261
num_bits = rockchip_pcie_ep_ob_atu_num_bits(&ep->rockchip,
drivers/pci/controller/pcie-rockchip-ep.c
279
struct rockchip_pcie_ep *ep = epc_get_drvdata(epc);
drivers/pci/controller/pcie-rockchip-ep.c
280
struct rockchip_pcie *pcie = &ep->rockchip;
drivers/pci/controller/pcie-rockchip-ep.c
283
if (test_bit(r, &ep->ob_region_map))
drivers/pci/controller/pcie-rockchip-ep.c
288
set_bit(r, &ep->ob_region_map);
drivers/pci/controller/pcie-rockchip-ep.c
289
ep->ob_addr[r] = addr;
drivers/pci/controller/pcie-rockchip-ep.c
297
struct rockchip_pcie_ep *ep = epc_get_drvdata(epc);
drivers/pci/controller/pcie-rockchip-ep.c
298
struct rockchip_pcie *rockchip = &ep->rockchip;
drivers/pci/controller/pcie-rockchip-ep.c
301
if (addr != ep->ob_addr[r] || !test_bit(r, &ep->ob_region_map))
drivers/pci/controller/pcie-rockchip-ep.c
306
ep->ob_addr[r] = 0;
drivers/pci/controller/pcie-rockchip-ep.c
307
clear_bit(r, &ep->ob_region_map);
drivers/pci/controller/pcie-rockchip-ep.c
313
struct rockchip_pcie_ep *ep = epc_get_drvdata(epc);
drivers/pci/controller/pcie-rockchip-ep.c
314
struct rockchip_pcie *rockchip = &ep->rockchip;
drivers/pci/controller/pcie-rockchip-ep.c
334
struct rockchip_pcie_ep *ep = epc_get_drvdata(epc);
drivers/pci/controller/pcie-rockchip-ep.c
335
struct rockchip_pcie *rockchip = &ep->rockchip;
drivers/pci/controller/pcie-rockchip-ep.c
348
static void rockchip_pcie_ep_assert_intx(struct rockchip_pcie_ep *ep, u8 fn,
drivers/pci/controller/pcie-rockchip-ep.c
351
struct rockchip_pcie *rockchip = &ep->rockchip;
drivers/pci/controller/pcie-rockchip-ep.c
356
ep->irq_pending |= BIT(intx);
drivers/pci/controller/pcie-rockchip-ep.c
362
ep->irq_pending &= ~BIT(intx);
drivers/pci/controller/pcie-rockchip-ep.c
370
static int rockchip_pcie_ep_send_intx_irq(struct rockchip_pcie_ep *ep, u8 fn,
drivers/pci/controller/pcie-rockchip-ep.c
375
cmd = rockchip_pcie_read(&ep->rockchip,
drivers/pci/controller/pcie-rockchip-ep.c
387
rockchip_pcie_ep_assert_intx(ep, fn, intx, true);
drivers/pci/controller/pcie-rockchip-ep.c
389
rockchip_pcie_ep_assert_intx(ep, fn, intx, false);
drivers/pci/controller/pcie-rockchip-ep.c
393
static int rockchip_pcie_ep_send_msi_irq(struct rockchip_pcie_ep *ep, u8 fn,
drivers/pci/controller/pcie-rockchip-ep.c
396
struct rockchip_pcie *rockchip = &ep->rockchip;
drivers/pci/controller/pcie-rockchip-ep.c
404
flags = rockchip_pcie_read(&ep->rockchip,
drivers/pci/controller/pcie-rockchip-ep.c
438
irq_pci_addr = rockchip_pcie_ep_align_addr(ep->epc,
drivers/pci/controller/pcie-rockchip-ep.c
441
if (unlikely(ep->irq_pci_addr != irq_pci_addr ||
drivers/pci/controller/pcie-rockchip-ep.c
442
ep->irq_pci_fn != fn)) {
drivers/pci/controller/pcie-rockchip-ep.c
444
rockchip_ob_region(ep->irq_phys_addr),
drivers/pci/controller/pcie-rockchip-ep.c
445
ep->irq_phys_addr,
drivers/pci/controller/pcie-rockchip-ep.c
447
ep->irq_pci_addr = irq_pci_addr;
drivers/pci/controller/pcie-rockchip-ep.c
448
ep->irq_pci_fn = fn;
drivers/pci/controller/pcie-rockchip-ep.c
451
writew(data, ep->irq_cpu_addr + offset + (pci_addr & ~PCIE_ADDR_MASK));
drivers/pci/controller/pcie-rockchip-ep.c
458
struct rockchip_pcie_ep *ep = epc_get_drvdata(epc);
drivers/pci/controller/pcie-rockchip-ep.c
462
return rockchip_pcie_ep_send_intx_irq(ep, fn, 0);
drivers/pci/controller/pcie-rockchip-ep.c
464
return rockchip_pcie_ep_send_msi_irq(ep, fn, interrupt_num);
drivers/pci/controller/pcie-rockchip-ep.c
472
struct rockchip_pcie_ep *ep = epc_get_drvdata(epc);
drivers/pci/controller/pcie-rockchip-ep.c
473
struct rockchip_pcie *rockchip = &ep->rockchip;
drivers/pci/controller/pcie-rockchip-ep.c
484
enable_irq(ep->perst_irq);
drivers/pci/controller/pcie-rockchip-ep.c
493
schedule_delayed_work(&ep->link_training, 0);
drivers/pci/controller/pcie-rockchip-ep.c
500
struct rockchip_pcie_ep *ep = epc_get_drvdata(epc);
drivers/pci/controller/pcie-rockchip-ep.c
501
struct rockchip_pcie *rockchip = &ep->rockchip;
drivers/pci/controller/pcie-rockchip-ep.c
504
ep->perst_asserted = true;
drivers/pci/controller/pcie-rockchip-ep.c
505
disable_irq(ep->perst_irq);
drivers/pci/controller/pcie-rockchip-ep.c
508
cancel_delayed_work_sync(&ep->link_training);
drivers/pci/controller/pcie-rockchip-ep.c
535
struct rockchip_pcie_ep *ep =
drivers/pci/controller/pcie-rockchip-ep.c
537
struct rockchip_pcie *rockchip = &ep->rockchip;
drivers/pci/controller/pcie-rockchip-ep.c
577
if (ep->perst_asserted)
drivers/pci/controller/pcie-rockchip-ep.c
588
pci_epc_linkup(ep->epc);
drivers/pci/controller/pcie-rockchip-ep.c
589
ep->link_up = true;
drivers/pci/controller/pcie-rockchip-ep.c
594
schedule_delayed_work(&ep->link_training, msecs_to_jiffies(5));
drivers/pci/controller/pcie-rockchip-ep.c
597
static void rockchip_pcie_ep_perst_assert(struct rockchip_pcie_ep *ep)
drivers/pci/controller/pcie-rockchip-ep.c
599
struct rockchip_pcie *rockchip = &ep->rockchip;
drivers/pci/controller/pcie-rockchip-ep.c
603
if (ep->perst_asserted)
drivers/pci/controller/pcie-rockchip-ep.c
606
ep->perst_asserted = true;
drivers/pci/controller/pcie-rockchip-ep.c
608
cancel_delayed_work_sync(&ep->link_training);
drivers/pci/controller/pcie-rockchip-ep.c
610
if (ep->link_up) {
drivers/pci/controller/pcie-rockchip-ep.c
611
pci_epc_linkdown(ep->epc);
drivers/pci/controller/pcie-rockchip-ep.c
612
ep->link_up = false;
drivers/pci/controller/pcie-rockchip-ep.c
616
static void rockchip_pcie_ep_perst_deassert(struct rockchip_pcie_ep *ep)
drivers/pci/controller/pcie-rockchip-ep.c
618
struct rockchip_pcie *rockchip = &ep->rockchip;
drivers/pci/controller/pcie-rockchip-ep.c
622
if (!ep->perst_asserted)
drivers/pci/controller/pcie-rockchip-ep.c
625
ep->perst_asserted = false;
drivers/pci/controller/pcie-rockchip-ep.c
631
schedule_delayed_work(&ep->link_training, 0);
drivers/pci/controller/pcie-rockchip-ep.c
637
struct rockchip_pcie_ep *ep = epc_get_drvdata(epc);
drivers/pci/controller/pcie-rockchip-ep.c
638
struct rockchip_pcie *rockchip = &ep->rockchip;
drivers/pci/controller/pcie-rockchip-ep.c
642
rockchip_pcie_ep_perst_assert(ep);
drivers/pci/controller/pcie-rockchip-ep.c
644
rockchip_pcie_ep_perst_deassert(ep);
drivers/pci/controller/pcie-rockchip-ep.c
646
irq_set_irq_type(ep->perst_irq,
drivers/pci/controller/pcie-rockchip-ep.c
654
struct rockchip_pcie_ep *ep = epc_get_drvdata(epc);
drivers/pci/controller/pcie-rockchip-ep.c
655
struct rockchip_pcie *rockchip = &ep->rockchip;
drivers/pci/controller/pcie-rockchip-ep.c
663
ep->perst_irq = gpiod_to_irq(rockchip->perst_gpio);
drivers/pci/controller/pcie-rockchip-ep.c
664
if (ep->perst_irq < 0) {
drivers/pci/controller/pcie-rockchip-ep.c
667
ep->perst_irq);
drivers/pci/controller/pcie-rockchip-ep.c
669
return ep->perst_irq;
drivers/pci/controller/pcie-rockchip-ep.c
677
ep->perst_asserted = true;
drivers/pci/controller/pcie-rockchip-ep.c
678
irq_set_status_flags(ep->perst_irq, IRQ_NOAUTOEN);
drivers/pci/controller/pcie-rockchip-ep.c
679
ret = devm_request_threaded_irq(dev, ep->perst_irq, NULL,
drivers/pci/controller/pcie-rockchip-ep.c
723
struct rockchip_pcie_ep *ep)
drivers/pci/controller/pcie-rockchip-ep.c
738
&ep->max_regions);
drivers/pci/controller/pcie-rockchip-ep.c
739
if (err < 0 || ep->max_regions > MAX_REGION_LIMIT)
drivers/pci/controller/pcie-rockchip-ep.c
740
ep->max_regions = MAX_REGION_LIMIT;
drivers/pci/controller/pcie-rockchip-ep.c
742
ep->ob_region_map = 0;
drivers/pci/controller/pcie-rockchip-ep.c
745
&ep->epc->max_functions);
drivers/pci/controller/pcie-rockchip-ep.c
747
ep->epc->max_functions = 1;
drivers/pci/controller/pcie-rockchip-ep.c
757
static int rockchip_pcie_ep_init_ob_mem(struct rockchip_pcie_ep *ep)
drivers/pci/controller/pcie-rockchip-ep.c
759
struct rockchip_pcie *rockchip = &ep->rockchip;
drivers/pci/controller/pcie-rockchip-ep.c
764
ep->ob_addr = devm_kcalloc(dev, ep->max_regions, sizeof(*ep->ob_addr),
drivers/pci/controller/pcie-rockchip-ep.c
767
if (!ep->ob_addr)
drivers/pci/controller/pcie-rockchip-ep.c
770
windows = devm_kcalloc(dev, ep->max_regions,
drivers/pci/controller/pcie-rockchip-ep.c
775
for (i = 0; i < ep->max_regions; i++) {
drivers/pci/controller/pcie-rockchip-ep.c
780
err = pci_epc_multi_mem_init(ep->epc, windows, ep->max_regions);
drivers/pci/controller/pcie-rockchip-ep.c
788
ep->irq_cpu_addr = pci_epc_mem_alloc_addr(ep->epc, &ep->irq_phys_addr,
drivers/pci/controller/pcie-rockchip-ep.c
790
if (!ep->irq_cpu_addr) {
drivers/pci/controller/pcie-rockchip-ep.c
796
ep->irq_pci_addr = ROCKCHIP_PCIE_EP_DUMMY_IRQ_ADDR;
drivers/pci/controller/pcie-rockchip-ep.c
801
pci_epc_mem_exit(ep->epc);
drivers/pci/controller/pcie-rockchip-ep.c
806
static void rockchip_pcie_ep_exit_ob_mem(struct rockchip_pcie_ep *ep)
drivers/pci/controller/pcie-rockchip-ep.c
808
pci_epc_mem_exit(ep->epc);
drivers/pci/controller/pcie-rockchip-ep.c
842
struct rockchip_pcie_ep *ep;
drivers/pci/controller/pcie-rockchip-ep.c
847
ep = devm_kzalloc(dev, sizeof(*ep), GFP_KERNEL);
drivers/pci/controller/pcie-rockchip-ep.c
848
if (!ep)
drivers/pci/controller/pcie-rockchip-ep.c
851
rockchip = &ep->rockchip;
drivers/pci/controller/pcie-rockchip-ep.c
854
INIT_DELAYED_WORK(&ep->link_training, rockchip_pcie_ep_link_training);
drivers/pci/controller/pcie-rockchip-ep.c
862
ep->epc = epc;
drivers/pci/controller/pcie-rockchip-ep.c
863
epc_set_drvdata(epc, ep);
drivers/pci/controller/pcie-rockchip-ep.c
865
err = rockchip_pcie_ep_get_resources(rockchip, ep);
drivers/pci/controller/pcie-rockchip-ep.c
869
err = rockchip_pcie_ep_init_ob_mem(ep);
drivers/pci/controller/pcie-rockchip-ep.c
898
rockchip_pcie_ep_exit_ob_mem(ep);
drivers/phy/qualcomm/phy-qcom-qmp-combo.c
4787
struct device_node *ep __free(device_node) = NULL;
drivers/phy/qualcomm/phy-qcom-qmp-combo.c
4790
ep = of_graph_get_endpoint_by_regs(dev->of_node, 0, endpoint);
drivers/phy/qualcomm/phy-qcom-qmp-combo.c
4791
if (!ep)
drivers/phy/qualcomm/phy-qcom-qmp-combo.c
4794
ret = of_property_count_u32_elems(ep, "data-lanes");
drivers/phy/qualcomm/phy-qcom-qmp-combo.c
4802
return of_property_read_u32_array(ep, "data-lanes", data_lanes,
drivers/phy/samsung/phy-exynos-pcie.c
100
exynos_pcie_phy_writel(ep->base, 0x4C, PCIE_PHY_OFFSET(0x24));
drivers/phy/samsung/phy-exynos-pcie.c
102
exynos_pcie_phy_writel(ep->base, 0x0E, PCIE_PHY_OFFSET(0x26));
drivers/phy/samsung/phy-exynos-pcie.c
103
exynos_pcie_phy_writel(ep->base, 0x14, PCIE_PHY_OFFSET(0x7));
drivers/phy/samsung/phy-exynos-pcie.c
104
exynos_pcie_phy_writel(ep->base, 0x48, PCIE_PHY_OFFSET(0x43));
drivers/phy/samsung/phy-exynos-pcie.c
105
exynos_pcie_phy_writel(ep->base, 0x44, PCIE_PHY_OFFSET(0x44));
drivers/phy/samsung/phy-exynos-pcie.c
106
exynos_pcie_phy_writel(ep->base, 0x03, PCIE_PHY_OFFSET(0x45));
drivers/phy/samsung/phy-exynos-pcie.c
107
exynos_pcie_phy_writel(ep->base, 0xA7, PCIE_PHY_OFFSET(0x48));
drivers/phy/samsung/phy-exynos-pcie.c
108
exynos_pcie_phy_writel(ep->base, 0x13, PCIE_PHY_OFFSET(0x54));
drivers/phy/samsung/phy-exynos-pcie.c
109
exynos_pcie_phy_writel(ep->base, 0x04, PCIE_PHY_OFFSET(0x31));
drivers/phy/samsung/phy-exynos-pcie.c
110
exynos_pcie_phy_writel(ep->base, 0, PCIE_PHY_OFFSET(0x32));
drivers/phy/samsung/phy-exynos-pcie.c
112
regmap_update_bits(ep->fsysreg, PCIE_EXYNOS5433_PHY_COMMON_RESET,
drivers/phy/samsung/phy-exynos-pcie.c
114
regmap_update_bits(ep->fsysreg, PCIE_EXYNOS5433_PHY_MAC_RESET,
drivers/phy/samsung/phy-exynos-pcie.c
121
struct exynos_pcie_phy *ep = phy_get_drvdata(phy);
drivers/phy/samsung/phy-exynos-pcie.c
123
regmap_update_bits(ep->fsysreg, PCIE_EXYNOS5433_PHY_L1SUB_CM_CON,
drivers/phy/samsung/phy-exynos-pcie.c
125
regmap_update_bits(ep->pmureg, EXYNOS5433_PMU_PCIE_PHY_OFFSET,
drivers/phy/samsung/phy-exynos-pcie.c
52
struct exynos_pcie_phy *ep = phy_get_drvdata(phy);
drivers/phy/samsung/phy-exynos-pcie.c
54
regmap_update_bits(ep->pmureg, EXYNOS5433_PMU_PCIE_PHY_OFFSET,
drivers/phy/samsung/phy-exynos-pcie.c
56
regmap_update_bits(ep->fsysreg, PCIE_EXYNOS5433_PHY_GLOBAL_RESET,
drivers/phy/samsung/phy-exynos-pcie.c
58
regmap_update_bits(ep->fsysreg, PCIE_EXYNOS5433_PHY_L1SUB_CM_CON,
drivers/phy/samsung/phy-exynos-pcie.c
61
regmap_update_bits(ep->fsysreg, PCIE_EXYNOS5433_PHY_COMMON_RESET,
drivers/phy/samsung/phy-exynos-pcie.c
63
regmap_update_bits(ep->fsysreg, PCIE_EXYNOS5433_PHY_MAC_RESET,
drivers/phy/samsung/phy-exynos-pcie.c
67
regmap_update_bits(ep->fsysreg, PCIE_EXYNOS5433_PHY_GLOBAL_RESET,
drivers/phy/samsung/phy-exynos-pcie.c
69
regmap_update_bits(ep->fsysreg, PCIE_EXYNOS5433_PHY_GLOBAL_RESET,
drivers/phy/samsung/phy-exynos-pcie.c
73
exynos_pcie_phy_writel(ep->base, 0x11, PCIE_PHY_OFFSET(0x3));
drivers/phy/samsung/phy-exynos-pcie.c
76
exynos_pcie_phy_writel(ep->base, 0, PCIE_PHY_OFFSET(0x20));
drivers/phy/samsung/phy-exynos-pcie.c
77
exynos_pcie_phy_writel(ep->base, 0, PCIE_PHY_OFFSET(0x4b));
drivers/phy/samsung/phy-exynos-pcie.c
80
exynos_pcie_phy_writel(ep->base, 0x34, PCIE_PHY_OFFSET(0x4));
drivers/phy/samsung/phy-exynos-pcie.c
81
exynos_pcie_phy_writel(ep->base, 0x02, PCIE_PHY_OFFSET(0x7));
drivers/phy/samsung/phy-exynos-pcie.c
82
exynos_pcie_phy_writel(ep->base, 0x41, PCIE_PHY_OFFSET(0x21));
drivers/phy/samsung/phy-exynos-pcie.c
83
exynos_pcie_phy_writel(ep->base, 0x7F, PCIE_PHY_OFFSET(0x14));
drivers/phy/samsung/phy-exynos-pcie.c
84
exynos_pcie_phy_writel(ep->base, 0xC0, PCIE_PHY_OFFSET(0x15));
drivers/phy/samsung/phy-exynos-pcie.c
85
exynos_pcie_phy_writel(ep->base, 0x61, PCIE_PHY_OFFSET(0x36));
drivers/phy/samsung/phy-exynos-pcie.c
88
exynos_pcie_phy_writel(ep->base, 0x44, PCIE_PHY_OFFSET(0x3D));
drivers/phy/samsung/phy-exynos-pcie.c
91
exynos_pcie_phy_writel(ep->base, 0x94, PCIE_PHY_OFFSET(0x8));
drivers/phy/samsung/phy-exynos-pcie.c
92
exynos_pcie_phy_writel(ep->base, 0xA7, PCIE_PHY_OFFSET(0x9));
drivers/phy/samsung/phy-exynos-pcie.c
93
exynos_pcie_phy_writel(ep->base, 0x93, PCIE_PHY_OFFSET(0xA));
drivers/phy/samsung/phy-exynos-pcie.c
94
exynos_pcie_phy_writel(ep->base, 0x6B, PCIE_PHY_OFFSET(0xC));
drivers/phy/samsung/phy-exynos-pcie.c
95
exynos_pcie_phy_writel(ep->base, 0xA5, PCIE_PHY_OFFSET(0xF));
drivers/phy/samsung/phy-exynos-pcie.c
96
exynos_pcie_phy_writel(ep->base, 0x34, PCIE_PHY_OFFSET(0x16));
drivers/phy/samsung/phy-exynos-pcie.c
97
exynos_pcie_phy_writel(ep->base, 0xA3, PCIE_PHY_OFFSET(0x17));
drivers/phy/samsung/phy-exynos-pcie.c
98
exynos_pcie_phy_writel(ep->base, 0xA7, PCIE_PHY_OFFSET(0x1A));
drivers/phy/samsung/phy-exynos-pcie.c
99
exynos_pcie_phy_writel(ep->base, 0x71, PCIE_PHY_OFFSET(0x23));
drivers/platform/x86/intel/pmc/core.c
1314
struct telem_endpoint *ep;
drivers/platform/x86/intel/pmc/core.c
1318
ep = pmt_telem_find_and_register_endpoint(pcidev, guids[i], 0);
drivers/platform/x86/intel/pmc/core.c
1319
if (!IS_ERR(ep))
drivers/platform/x86/intel/pmc/core.c
1320
return ep;
drivers/platform/x86/intel/pmc/core.c
1327
struct telem_endpoint *ep;
drivers/platform/x86/intel/pmc/core.c
1336
ep = pmc_core_register_endpoint(pcidev, guids);
drivers/platform/x86/intel/pmc/core.c
1338
if (IS_ERR(ep)) {
drivers/platform/x86/intel/pmc/core.c
1341
PTR_ERR(ep));
drivers/platform/x86/intel/pmc/core.c
1345
pmcdev->punit_ep = ep;
drivers/platform/x86/intel/pmc/core.c
1516
int pmc_core_pmt_get_lpm_req(struct pmc_dev *pmcdev, struct pmc *pmc, struct telem_endpoint *ep)
drivers/platform/x86/intel/pmc/core.c
1541
ret = pmt_telem_read32(ep, sample_id, req_offset, 1);
drivers/platform/x86/intel/pmc/core.c
1555
struct telem_endpoint *ep)
drivers/platform/x86/intel/pmc/core.c
1572
ret = pmt_telem_read32(ep, index + sample_offset, req_offset, 1);
drivers/platform/x86/intel/pmc/core.c
1585
struct telem_endpoint *ep;
drivers/platform/x86/intel/pmc/core.c
1603
ep = pmt_telem_find_and_register_endpoint(pcidev, pmc->map->lpm_req_guid, 0);
drivers/platform/x86/intel/pmc/core.c
1604
if (IS_ERR(ep)) {
drivers/platform/x86/intel/pmc/core.c
1605
dev_dbg(&pmcdev->pdev->dev, "couldn't get telem endpoint %pe", ep);
drivers/platform/x86/intel/pmc/core.c
1609
ret = pmc_dev_info->sub_req(pmcdev, pmc, ep);
drivers/platform/x86/intel/pmc/core.c
1610
pmt_telem_unregister_endpoint(ep);
drivers/platform/x86/intel/pmc/core.h
509
int (*sub_req)(struct pmc_dev *pmcdev, struct pmc *pmc, struct telem_endpoint *ep);
drivers/platform/x86/intel/pmc/core.h
558
int pmc_core_pmt_get_lpm_req(struct pmc_dev *pmcdev, struct pmc *pmc, struct telem_endpoint *ep);
drivers/platform/x86/intel/pmc/core.h
560
struct telem_endpoint *ep);
drivers/platform/x86/intel/pmt/class.h
42
struct telem_endpoint *ep;
drivers/platform/x86/intel/pmt/discovery.c
612
if (feature->priv->parent != &entry->ep->pcidev->dev)
drivers/platform/x86/intel/pmt/telemetry.c
107
struct telem_endpoint *ep;
drivers/platform/x86/intel/pmt/telemetry.c
110
entry->ep = kzalloc_obj(*(entry->ep));
drivers/platform/x86/intel/pmt/telemetry.c
111
if (!entry->ep)
drivers/platform/x86/intel/pmt/telemetry.c
114
ep = entry->ep;
drivers/platform/x86/intel/pmt/telemetry.c
115
ep->pcidev = ivdev->pcidev;
drivers/platform/x86/intel/pmt/telemetry.c
116
ep->header.access_type = entry->header.access_type;
drivers/platform/x86/intel/pmt/telemetry.c
117
ep->header.guid = entry->header.guid;
drivers/platform/x86/intel/pmt/telemetry.c
118
ep->header.base_offset = entry->header.base_offset;
drivers/platform/x86/intel/pmt/telemetry.c
119
ep->header.size = entry->header.size;
drivers/platform/x86/intel/pmt/telemetry.c
120
ep->base = entry->base;
drivers/platform/x86/intel/pmt/telemetry.c
121
ep->present = true;
drivers/platform/x86/intel/pmt/telemetry.c
122
ep->cb = ivdev->priv_data;
drivers/platform/x86/intel/pmt/telemetry.c
124
kref_init(&ep->kref);
drivers/platform/x86/intel/pmt/telemetry.c
140
struct telem_endpoint *ep;
drivers/platform/x86/intel/pmt/telemetry.c
142
ep = container_of(kref, struct telem_endpoint, kref);
drivers/platform/x86/intel/pmt/telemetry.c
143
kfree(ep);
drivers/platform/x86/intel/pmt/telemetry.c
178
kref_get(&entry->ep->kref);
drivers/platform/x86/intel/pmt/telemetry.c
181
return entry->ep;
drivers/platform/x86/intel/pmt/telemetry.c
185
void pmt_telem_unregister_endpoint(struct telem_endpoint *ep)
drivers/platform/x86/intel/pmt/telemetry.c
187
kref_put(&ep->kref, pmt_telem_ep_release);
drivers/platform/x86/intel/pmt/telemetry.c
207
info->pdev = entry->ep->pcidev;
drivers/platform/x86/intel/pmt/telemetry.c
208
info->header = entry->ep->header;
drivers/platform/x86/intel/pmt/telemetry.c
223
plat_info = intel_vsec_get_mapping(entry->ep->pcidev);
drivers/platform/x86/intel/pmt/telemetry.c
229
region->addr = entry->ep->base;
drivers/platform/x86/intel/pmt/telemetry.c
298
int pmt_telem_read(struct telem_endpoint *ep, u32 id, u64 *data, u32 count)
drivers/platform/x86/intel/pmt/telemetry.c
302
if (!ep->present)
drivers/platform/x86/intel/pmt/telemetry.c
306
size = ep->header.size;
drivers/platform/x86/intel/pmt/telemetry.c
311
pmt_telem_read_mmio(ep->pcidev, ep->cb, ep->header.guid, data, ep->base, offset,
drivers/platform/x86/intel/pmt/telemetry.c
314
return ep->present ? 0 : -EPIPE;
drivers/platform/x86/intel/pmt/telemetry.c
318
int pmt_telem_read32(struct telem_endpoint *ep, u32 id, u32 *data, u32 count)
drivers/platform/x86/intel/pmt/telemetry.c
322
if (!ep->present)
drivers/platform/x86/intel/pmt/telemetry.c
326
size = ep->header.size;
drivers/platform/x86/intel/pmt/telemetry.c
331
memcpy_fromio(data, ep->base + offset, NUM_BYTES_DWORD(count));
drivers/platform/x86/intel/pmt/telemetry.c
333
return ep->present ? 0 : -EPIPE;
drivers/platform/x86/intel/pmt/telemetry.c
371
kref_put(&entry->ep->kref, pmt_telem_ep_release);
drivers/platform/x86/intel/pmt/telemetry.h
104
int pmt_telem_read(struct telem_endpoint *ep, u32 id, u64 *data, u32 count);
drivers/platform/x86/intel/pmt/telemetry.h
124
int pmt_telem_read32(struct telem_endpoint *ep, u32 id, u32 *data, u32 count);
drivers/platform/x86/intel/pmt/telemetry.h
58
void pmt_telem_unregister_endpoint(struct telem_endpoint *ep);
drivers/scsi/advansys.c
10835
ASCEEP_CONFIG *ep;
drivers/scsi/advansys.c
10846
ep = &boardp->eep_config.asc_eep;
drivers/scsi/advansys.c
10848
ep->init_sdtr = asc_dvc_varp->cfg->sdtr_enable;
drivers/scsi/advansys.c
10849
ep->disc_enable = asc_dvc_varp->cfg->disc_enable;
drivers/scsi/advansys.c
10850
ep->use_cmd_qng = asc_dvc_varp->cfg->cmd_qng_enabled;
drivers/scsi/advansys.c
10851
ASC_EEP_SET_DMA_SPD(ep, ASC_DEF_ISA_DMA_SPEED);
drivers/scsi/advansys.c
10852
ep->start_motor = asc_dvc_varp->start_motor;
drivers/scsi/advansys.c
10853
ep->cntl = asc_dvc_varp->dvc_cntl;
drivers/scsi/advansys.c
10854
ep->no_scam = asc_dvc_varp->no_scam;
drivers/scsi/advansys.c
10855
ep->max_total_qng = asc_dvc_varp->max_total_qng;
drivers/scsi/advansys.c
10856
ASC_EEP_SET_CHIP_ID(ep, asc_dvc_varp->cfg->chip_scsi_id);
drivers/scsi/advansys.c
10858
ep->max_tag_qng = asc_dvc_varp->cfg->max_tag_qng[0];
drivers/scsi/advansys.c
10859
ep->adapter_info[0] = asc_dvc_varp->cfg->adapter_info[0];
drivers/scsi/advansys.c
10860
ep->adapter_info[1] = asc_dvc_varp->cfg->adapter_info[1];
drivers/scsi/advansys.c
10861
ep->adapter_info[2] = asc_dvc_varp->cfg->adapter_info[2];
drivers/scsi/advansys.c
10862
ep->adapter_info[3] = asc_dvc_varp->cfg->adapter_info[3];
drivers/scsi/advansys.c
10863
ep->adapter_info[4] = asc_dvc_varp->cfg->adapter_info[4];
drivers/scsi/advansys.c
10864
ep->adapter_info[5] = asc_dvc_varp->cfg->adapter_info[5];
drivers/scsi/advansys.c
2853
ASCEEP_CONFIG *ep;
drivers/scsi/advansys.c
2857
ep = &boardp->eep_config.asc_eep;
drivers/scsi/advansys.c
2863
if (asc_get_eeprom_string((ushort *)&ep->adapter_info[0], serialstr)
drivers/scsi/advansys.c
2866
else if (ep->adapter_info[5] == 0xBB)
drivers/scsi/advansys.c
2874
ASC_EEP_GET_CHIP_ID(ep), ep->max_total_qng,
drivers/scsi/advansys.c
2875
ep->max_tag_qng);
drivers/scsi/advansys.c
2878
" cntl 0x%x, no_scam 0x%x\n", ep->cntl, ep->no_scam);
drivers/scsi/advansys.c
2887
(ep->disc_enable & ADV_TID_TO_TIDMASK(i)) ? 'Y' : 'N');
drivers/scsi/advansys.c
2892
(ep->use_cmd_qng & ADV_TID_TO_TIDMASK(i)) ? 'Y' : 'N');
drivers/scsi/advansys.c
2897
(ep->start_motor & ADV_TID_TO_TIDMASK(i)) ? 'Y' : 'N');
drivers/scsi/advansys.c
2902
(ep->init_sdtr & ADV_TID_TO_TIDMASK(i)) ? 'Y' : 'N');
drivers/scsi/be2iscsi/be_iscsi.c
1050
static int beiscsi_open_conn(struct iscsi_endpoint *ep,
drivers/scsi/be2iscsi/be_iscsi.c
1054
struct beiscsi_endpoint *beiscsi_ep = ep->dd_data;
drivers/scsi/be2iscsi/be_iscsi.c
1076
(beiscsi_ep->ep_cid)] = ep;
drivers/scsi/be2iscsi/be_iscsi.c
1127
beiscsi_ep = ep->dd_data;
drivers/scsi/be2iscsi/be_iscsi.c
1152
struct iscsi_endpoint *ep;
drivers/scsi/be2iscsi/be_iscsi.c
1175
ep = iscsi_create_endpoint(sizeof(struct beiscsi_endpoint));
drivers/scsi/be2iscsi/be_iscsi.c
1176
if (!ep) {
drivers/scsi/be2iscsi/be_iscsi.c
1181
beiscsi_ep = ep->dd_data;
drivers/scsi/be2iscsi/be_iscsi.c
1183
beiscsi_ep->openiscsi_ep = ep;
drivers/scsi/be2iscsi/be_iscsi.c
1184
ret = beiscsi_open_conn(ep, NULL, dst_addr, non_blocking);
drivers/scsi/be2iscsi/be_iscsi.c
1191
return ep;
drivers/scsi/be2iscsi/be_iscsi.c
1194
iscsi_destroy_endpoint(ep);
drivers/scsi/be2iscsi/be_iscsi.c
1205
int beiscsi_ep_poll(struct iscsi_endpoint *ep, int timeout_ms)
drivers/scsi/be2iscsi/be_iscsi.c
1207
struct beiscsi_endpoint *beiscsi_ep = ep->dd_data;
drivers/scsi/be2iscsi/be_iscsi.c
1304
void beiscsi_ep_disconnect(struct iscsi_endpoint *ep)
drivers/scsi/be2iscsi/be_iscsi.c
1310
beiscsi_ep = ep->dd_data;
drivers/scsi/be2iscsi/be_iscsi.c
154
beiscsi_conn->ep = NULL;
drivers/scsi/be2iscsi/be_iscsi.c
183
struct iscsi_endpoint *ep;
drivers/scsi/be2iscsi/be_iscsi.c
187
ep = iscsi_lookup_endpoint(transport_fd);
drivers/scsi/be2iscsi/be_iscsi.c
188
if (!ep)
drivers/scsi/be2iscsi/be_iscsi.c
191
beiscsi_ep = ep->dd_data;
drivers/scsi/be2iscsi/be_iscsi.c
208
beiscsi_ep != phba->conn_table[cri_index]->ep) {
drivers/scsi/be2iscsi/be_iscsi.c
221
beiscsi_conn->ep = beiscsi_ep;
drivers/scsi/be2iscsi/be_iscsi.c
235
iscsi_put_endpoint(ep);
drivers/scsi/be2iscsi/be_iscsi.c
35
struct iscsi_cls_session *beiscsi_session_create(struct iscsi_endpoint *ep,
drivers/scsi/be2iscsi/be_iscsi.c
49
if (!ep) {
drivers/scsi/be2iscsi/be_iscsi.c
53
beiscsi_ep = ep->dd_data;
drivers/scsi/be2iscsi/be_iscsi.c
628
int beiscsi_ep_get_param(struct iscsi_endpoint *ep,
drivers/scsi/be2iscsi/be_iscsi.c
631
struct beiscsi_endpoint *beiscsi_ep = ep->dd_data;
drivers/scsi/be2iscsi/be_iscsi.c
921
beiscsi_ep = beiscsi_conn->ep;
drivers/scsi/be2iscsi/be_iscsi.h
36
struct iscsi_cls_session *beiscsi_session_create(struct iscsi_endpoint *ep,
drivers/scsi/be2iscsi/be_iscsi.h
52
int beiscsi_ep_get_param(struct iscsi_endpoint *ep, enum iscsi_param param,
drivers/scsi/be2iscsi/be_iscsi.h
69
int beiscsi_ep_poll(struct iscsi_endpoint *ep, int timeout_ms);
drivers/scsi/be2iscsi/be_iscsi.h
71
void beiscsi_ep_disconnect(struct iscsi_endpoint *ep);
drivers/scsi/be2iscsi/be_main.c
1876
struct iscsi_endpoint *ep;
drivers/scsi/be2iscsi/be_main.c
1909
ep = phba->ep_array[cri_index];
drivers/scsi/be2iscsi/be_main.c
1911
if (ep == NULL) {
drivers/scsi/be2iscsi/be_main.c
1922
beiscsi_ep = ep->dd_data;
drivers/scsi/be2iscsi/be_main.h
412
struct beiscsi_endpoint *ep;
drivers/scsi/bnx2i/bnx2i.h
296
struct bnx2i_endpoint *ep;
drivers/scsi/bnx2i/bnx2i.h
847
struct bnx2i_endpoint *ep);
drivers/scsi/bnx2i/bnx2i.h
850
struct bnx2i_endpoint *ep);
drivers/scsi/bnx2i/bnx2i.h
853
struct bnx2i_endpoint *ep);
drivers/scsi/bnx2i/bnx2i.h
855
struct bnx2i_endpoint *ep);
drivers/scsi/bnx2i/bnx2i.h
862
extern int bnx2i_map_ep_dbell_regs(struct bnx2i_endpoint *ep);
drivers/scsi/bnx2i/bnx2i.h
863
extern int bnx2i_arm_cq_event_coalescing(struct bnx2i_endpoint *ep, u8 action);
drivers/scsi/bnx2i/bnx2i_hwi.c
1004
memset(ep->qp.cq_pgtbl_virt, 0, ep->qp.cq_pgtbl_size);
drivers/scsi/bnx2i/bnx2i_hwi.c
1005
num_pages = ep->qp.cq_mem_size / CNIC_PAGE_SIZE;
drivers/scsi/bnx2i/bnx2i_hwi.c
1006
page = ep->qp.cq_phys;
drivers/scsi/bnx2i/bnx2i_hwi.c
1009
ptbl = (u32 *)((u8 *)ep->qp.cq_pgtbl_virt + ISCSI_CQ_DB_SIZE);
drivers/scsi/bnx2i/bnx2i_hwi.c
1011
ptbl = (u32 *) ep->qp.cq_pgtbl_virt;
drivers/scsi/bnx2i/bnx2i_hwi.c
1043
int bnx2i_alloc_qp_resc(struct bnx2i_hba *hba, struct bnx2i_endpoint *ep)
drivers/scsi/bnx2i/bnx2i_hwi.c
1047
ep->hba = hba;
drivers/scsi/bnx2i/bnx2i_hwi.c
1048
ep->conn = NULL;
drivers/scsi/bnx2i/bnx2i_hwi.c
1049
ep->ep_cid = ep->ep_iscsi_cid = ep->ep_pg_cid = 0;
drivers/scsi/bnx2i/bnx2i_hwi.c
1052
ep->qp.sq_mem_size = hba->max_sqes * BNX2I_SQ_WQE_SIZE;
drivers/scsi/bnx2i/bnx2i_hwi.c
1053
ep->qp.sq_mem_size =
drivers/scsi/bnx2i/bnx2i_hwi.c
1054
(ep->qp.sq_mem_size + (CNIC_PAGE_SIZE - 1)) & CNIC_PAGE_MASK;
drivers/scsi/bnx2i/bnx2i_hwi.c
1055
ep->qp.sq_pgtbl_size =
drivers/scsi/bnx2i/bnx2i_hwi.c
1056
(ep->qp.sq_mem_size / CNIC_PAGE_SIZE) * sizeof(void *);
drivers/scsi/bnx2i/bnx2i_hwi.c
1057
ep->qp.sq_pgtbl_size =
drivers/scsi/bnx2i/bnx2i_hwi.c
1058
(ep->qp.sq_pgtbl_size + (CNIC_PAGE_SIZE - 1)) & CNIC_PAGE_MASK;
drivers/scsi/bnx2i/bnx2i_hwi.c
1060
ep->qp.sq_pgtbl_virt =
drivers/scsi/bnx2i/bnx2i_hwi.c
1061
dma_alloc_coherent(&hba->pcidev->dev, ep->qp.sq_pgtbl_size,
drivers/scsi/bnx2i/bnx2i_hwi.c
1062
&ep->qp.sq_pgtbl_phys, GFP_KERNEL);
drivers/scsi/bnx2i/bnx2i_hwi.c
1063
if (!ep->qp.sq_pgtbl_virt) {
drivers/scsi/bnx2i/bnx2i_hwi.c
1065
ep->qp.sq_pgtbl_size);
drivers/scsi/bnx2i/bnx2i_hwi.c
1070
ep->qp.sq_virt =
drivers/scsi/bnx2i/bnx2i_hwi.c
1071
dma_alloc_coherent(&hba->pcidev->dev, ep->qp.sq_mem_size,
drivers/scsi/bnx2i/bnx2i_hwi.c
1072
&ep->qp.sq_phys, GFP_KERNEL);
drivers/scsi/bnx2i/bnx2i_hwi.c
1073
if (!ep->qp.sq_virt) {
drivers/scsi/bnx2i/bnx2i_hwi.c
1075
ep->qp.sq_mem_size);
drivers/scsi/bnx2i/bnx2i_hwi.c
1079
ep->qp.sq_first_qe = ep->qp.sq_virt;
drivers/scsi/bnx2i/bnx2i_hwi.c
1080
ep->qp.sq_prod_qe = ep->qp.sq_first_qe;
drivers/scsi/bnx2i/bnx2i_hwi.c
1081
ep->qp.sq_cons_qe = ep->qp.sq_first_qe;
drivers/scsi/bnx2i/bnx2i_hwi.c
1082
ep->qp.sq_last_qe = &ep->qp.sq_first_qe[hba->max_sqes - 1];
drivers/scsi/bnx2i/bnx2i_hwi.c
1083
ep->qp.sq_prod_idx = 0;
drivers/scsi/bnx2i/bnx2i_hwi.c
1084
ep->qp.sq_cons_idx = 0;
drivers/scsi/bnx2i/bnx2i_hwi.c
1085
ep->qp.sqe_left = hba->max_sqes;
drivers/scsi/bnx2i/bnx2i_hwi.c
1088
ep->qp.cq_mem_size = hba->max_cqes * BNX2I_CQE_SIZE;
drivers/scsi/bnx2i/bnx2i_hwi.c
1089
ep->qp.cq_mem_size =
drivers/scsi/bnx2i/bnx2i_hwi.c
1090
(ep->qp.cq_mem_size + (CNIC_PAGE_SIZE - 1)) & CNIC_PAGE_MASK;
drivers/scsi/bnx2i/bnx2i_hwi.c
1091
ep->qp.cq_pgtbl_size =
drivers/scsi/bnx2i/bnx2i_hwi.c
1092
(ep->qp.cq_mem_size / CNIC_PAGE_SIZE) * sizeof(void *);
drivers/scsi/bnx2i/bnx2i_hwi.c
1093
ep->qp.cq_pgtbl_size =
drivers/scsi/bnx2i/bnx2i_hwi.c
1094
(ep->qp.cq_pgtbl_size + (CNIC_PAGE_SIZE - 1)) & CNIC_PAGE_MASK;
drivers/scsi/bnx2i/bnx2i_hwi.c
1096
ep->qp.cq_pgtbl_virt =
drivers/scsi/bnx2i/bnx2i_hwi.c
1097
dma_alloc_coherent(&hba->pcidev->dev, ep->qp.cq_pgtbl_size,
drivers/scsi/bnx2i/bnx2i_hwi.c
1098
&ep->qp.cq_pgtbl_phys, GFP_KERNEL);
drivers/scsi/bnx2i/bnx2i_hwi.c
1099
if (!ep->qp.cq_pgtbl_virt) {
drivers/scsi/bnx2i/bnx2i_hwi.c
1101
ep->qp.cq_pgtbl_size);
drivers/scsi/bnx2i/bnx2i_hwi.c
1106
ep->qp.cq_virt =
drivers/scsi/bnx2i/bnx2i_hwi.c
1107
dma_alloc_coherent(&hba->pcidev->dev, ep->qp.cq_mem_size,
drivers/scsi/bnx2i/bnx2i_hwi.c
1108
&ep->qp.cq_phys, GFP_KERNEL);
drivers/scsi/bnx2i/bnx2i_hwi.c
1109
if (!ep->qp.cq_virt) {
drivers/scsi/bnx2i/bnx2i_hwi.c
1111
ep->qp.cq_mem_size);
drivers/scsi/bnx2i/bnx2i_hwi.c
1115
ep->qp.cq_first_qe = ep->qp.cq_virt;
drivers/scsi/bnx2i/bnx2i_hwi.c
1116
ep->qp.cq_prod_qe = ep->qp.cq_first_qe;
drivers/scsi/bnx2i/bnx2i_hwi.c
1117
ep->qp.cq_cons_qe = ep->qp.cq_first_qe;
drivers/scsi/bnx2i/bnx2i_hwi.c
1118
ep->qp.cq_last_qe = &ep->qp.cq_first_qe[hba->max_cqes - 1];
drivers/scsi/bnx2i/bnx2i_hwi.c
1119
ep->qp.cq_prod_idx = 0;
drivers/scsi/bnx2i/bnx2i_hwi.c
1120
ep->qp.cq_cons_idx = 0;
drivers/scsi/bnx2i/bnx2i_hwi.c
1121
ep->qp.cqe_left = hba->max_cqes;
drivers/scsi/bnx2i/bnx2i_hwi.c
1122
ep->qp.cqe_exp_seq_sn = ISCSI_INITIAL_SN;
drivers/scsi/bnx2i/bnx2i_hwi.c
1123
ep->qp.cqe_size = hba->max_cqes;
drivers/scsi/bnx2i/bnx2i_hwi.c
1126
cq_db = (struct bnx2i_5771x_cq_db *) ep->qp.cq_pgtbl_virt;
drivers/scsi/bnx2i/bnx2i_hwi.c
1130
ep->qp.rq_mem_size = hba->max_rqes * BNX2I_RQ_WQE_SIZE;
drivers/scsi/bnx2i/bnx2i_hwi.c
1131
ep->qp.rq_mem_size =
drivers/scsi/bnx2i/bnx2i_hwi.c
1132
(ep->qp.rq_mem_size + (CNIC_PAGE_SIZE - 1)) & CNIC_PAGE_MASK;
drivers/scsi/bnx2i/bnx2i_hwi.c
1133
ep->qp.rq_pgtbl_size =
drivers/scsi/bnx2i/bnx2i_hwi.c
1134
(ep->qp.rq_mem_size / CNIC_PAGE_SIZE) * sizeof(void *);
drivers/scsi/bnx2i/bnx2i_hwi.c
1135
ep->qp.rq_pgtbl_size =
drivers/scsi/bnx2i/bnx2i_hwi.c
1136
(ep->qp.rq_pgtbl_size + (CNIC_PAGE_SIZE - 1)) & CNIC_PAGE_MASK;
drivers/scsi/bnx2i/bnx2i_hwi.c
1138
ep->qp.rq_pgtbl_virt =
drivers/scsi/bnx2i/bnx2i_hwi.c
1139
dma_alloc_coherent(&hba->pcidev->dev, ep->qp.rq_pgtbl_size,
drivers/scsi/bnx2i/bnx2i_hwi.c
1140
&ep->qp.rq_pgtbl_phys, GFP_KERNEL);
drivers/scsi/bnx2i/bnx2i_hwi.c
1141
if (!ep->qp.rq_pgtbl_virt) {
drivers/scsi/bnx2i/bnx2i_hwi.c
1143
ep->qp.rq_pgtbl_size);
drivers/scsi/bnx2i/bnx2i_hwi.c
1148
ep->qp.rq_virt =
drivers/scsi/bnx2i/bnx2i_hwi.c
1149
dma_alloc_coherent(&hba->pcidev->dev, ep->qp.rq_mem_size,
drivers/scsi/bnx2i/bnx2i_hwi.c
1150
&ep->qp.rq_phys, GFP_KERNEL);
drivers/scsi/bnx2i/bnx2i_hwi.c
1151
if (!ep->qp.rq_virt) {
drivers/scsi/bnx2i/bnx2i_hwi.c
1153
ep->qp.rq_mem_size);
drivers/scsi/bnx2i/bnx2i_hwi.c
1157
ep->qp.rq_first_qe = ep->qp.rq_virt;
drivers/scsi/bnx2i/bnx2i_hwi.c
1158
ep->qp.rq_prod_qe = ep->qp.rq_first_qe;
drivers/scsi/bnx2i/bnx2i_hwi.c
1159
ep->qp.rq_cons_qe = ep->qp.rq_first_qe;
drivers/scsi/bnx2i/bnx2i_hwi.c
1160
ep->qp.rq_last_qe = &ep->qp.rq_first_qe[hba->max_rqes - 1];
drivers/scsi/bnx2i/bnx2i_hwi.c
1161
ep->qp.rq_prod_idx = 0x8000;
drivers/scsi/bnx2i/bnx2i_hwi.c
1162
ep->qp.rq_cons_idx = 0;
drivers/scsi/bnx2i/bnx2i_hwi.c
1163
ep->qp.rqe_left = hba->max_rqes;
drivers/scsi/bnx2i/bnx2i_hwi.c
1165
setup_qp_page_tables(ep);
drivers/scsi/bnx2i/bnx2i_hwi.c
1170
bnx2i_free_qp_resc(hba, ep);
drivers/scsi/bnx2i/bnx2i_hwi.c
1183
void bnx2i_free_qp_resc(struct bnx2i_hba *hba, struct bnx2i_endpoint *ep)
drivers/scsi/bnx2i/bnx2i_hwi.c
1185
if (ep->qp.ctx_base) {
drivers/scsi/bnx2i/bnx2i_hwi.c
1186
iounmap(ep->qp.ctx_base);
drivers/scsi/bnx2i/bnx2i_hwi.c
1187
ep->qp.ctx_base = NULL;
drivers/scsi/bnx2i/bnx2i_hwi.c
1190
if (ep->qp.sq_pgtbl_virt) {
drivers/scsi/bnx2i/bnx2i_hwi.c
1191
dma_free_coherent(&hba->pcidev->dev, ep->qp.sq_pgtbl_size,
drivers/scsi/bnx2i/bnx2i_hwi.c
1192
ep->qp.sq_pgtbl_virt, ep->qp.sq_pgtbl_phys);
drivers/scsi/bnx2i/bnx2i_hwi.c
1193
ep->qp.sq_pgtbl_virt = NULL;
drivers/scsi/bnx2i/bnx2i_hwi.c
1194
ep->qp.sq_pgtbl_phys = 0;
drivers/scsi/bnx2i/bnx2i_hwi.c
1196
if (ep->qp.sq_virt) {
drivers/scsi/bnx2i/bnx2i_hwi.c
1197
dma_free_coherent(&hba->pcidev->dev, ep->qp.sq_mem_size,
drivers/scsi/bnx2i/bnx2i_hwi.c
1198
ep->qp.sq_virt, ep->qp.sq_phys);
drivers/scsi/bnx2i/bnx2i_hwi.c
1199
ep->qp.sq_virt = NULL;
drivers/scsi/bnx2i/bnx2i_hwi.c
1200
ep->qp.sq_phys = 0;
drivers/scsi/bnx2i/bnx2i_hwi.c
1204
if (ep->qp.rq_pgtbl_virt) {
drivers/scsi/bnx2i/bnx2i_hwi.c
1205
dma_free_coherent(&hba->pcidev->dev, ep->qp.rq_pgtbl_size,
drivers/scsi/bnx2i/bnx2i_hwi.c
1206
ep->qp.rq_pgtbl_virt, ep->qp.rq_pgtbl_phys);
drivers/scsi/bnx2i/bnx2i_hwi.c
1207
ep->qp.rq_pgtbl_virt = NULL;
drivers/scsi/bnx2i/bnx2i_hwi.c
1208
ep->qp.rq_pgtbl_phys = 0;
drivers/scsi/bnx2i/bnx2i_hwi.c
1210
if (ep->qp.rq_virt) {
drivers/scsi/bnx2i/bnx2i_hwi.c
1211
dma_free_coherent(&hba->pcidev->dev, ep->qp.rq_mem_size,
drivers/scsi/bnx2i/bnx2i_hwi.c
1212
ep->qp.rq_virt, ep->qp.rq_phys);
drivers/scsi/bnx2i/bnx2i_hwi.c
1213
ep->qp.rq_virt = NULL;
drivers/scsi/bnx2i/bnx2i_hwi.c
1214
ep->qp.rq_phys = 0;
drivers/scsi/bnx2i/bnx2i_hwi.c
1218
if (ep->qp.cq_pgtbl_virt) {
drivers/scsi/bnx2i/bnx2i_hwi.c
1219
dma_free_coherent(&hba->pcidev->dev, ep->qp.cq_pgtbl_size,
drivers/scsi/bnx2i/bnx2i_hwi.c
1220
ep->qp.cq_pgtbl_virt, ep->qp.cq_pgtbl_phys);
drivers/scsi/bnx2i/bnx2i_hwi.c
1221
ep->qp.cq_pgtbl_virt = NULL;
drivers/scsi/bnx2i/bnx2i_hwi.c
1222
ep->qp.cq_pgtbl_phys = 0;
drivers/scsi/bnx2i/bnx2i_hwi.c
1224
if (ep->qp.cq_virt) {
drivers/scsi/bnx2i/bnx2i_hwi.c
1225
dma_free_coherent(&hba->pcidev->dev, ep->qp.cq_mem_size,
drivers/scsi/bnx2i/bnx2i_hwi.c
1226
ep->qp.cq_virt, ep->qp.cq_phys);
drivers/scsi/bnx2i/bnx2i_hwi.c
1227
ep->qp.cq_virt = NULL;
drivers/scsi/bnx2i/bnx2i_hwi.c
1228
ep->qp.cq_phys = 0;
drivers/scsi/bnx2i/bnx2i_hwi.c
138
int bnx2i_arm_cq_event_coalescing(struct bnx2i_endpoint *ep, u8 action)
drivers/scsi/bnx2i/bnx2i_hwi.c
146
if (!test_bit(BNX2I_NX2_DEV_57710, &ep->hba->cnic_dev_type))
drivers/scsi/bnx2i/bnx2i_hwi.c
153
cq_db = (struct bnx2i_5771x_cq_db *) ep->qp.cq_pgtbl_virt;
drivers/scsi/bnx2i/bnx2i_hwi.c
160
num_active_cmds = atomic_read(&ep->num_active_cmds);
drivers/scsi/bnx2i/bnx2i_hwi.c
1633
bnx2i_conn->ep->state = EP_STATE_LOGOUT_RESP_RCVD;
drivers/scsi/bnx2i/bnx2i_hwi.c
164
next_index = num_active_cmds >> ep->ec_shift;
drivers/scsi/bnx2i/bnx2i_hwi.c
170
cq_index = ep->qp.cqe_exp_seq_sn + next_index - 1;
drivers/scsi/bnx2i/bnx2i_hwi.c
171
if (cq_index > ep->qp.cqe_size * 2)
drivers/scsi/bnx2i/bnx2i_hwi.c
172
cq_index -= ep->qp.cqe_size * 2;
drivers/scsi/bnx2i/bnx2i_hwi.c
195
if (!bnx2i_conn->ep->qp.rqe_left)
drivers/scsi/bnx2i/bnx2i_hwi.c
1965
if (bnx2i_conn->ep == NULL)
drivers/scsi/bnx2i/bnx2i_hwi.c
1968
qp = &bnx2i_conn->ep->qp;
drivers/scsi/bnx2i/bnx2i_hwi.c
198
bnx2i_conn->ep->qp.rqe_left--;
drivers/scsi/bnx2i/bnx2i_hwi.c
199
memcpy(ptr, (u8 *) bnx2i_conn->ep->qp.rq_cons_qe, len);
drivers/scsi/bnx2i/bnx2i_hwi.c
200
if (bnx2i_conn->ep->qp.rq_cons_qe == bnx2i_conn->ep->qp.rq_last_qe) {
drivers/scsi/bnx2i/bnx2i_hwi.c
201
bnx2i_conn->ep->qp.rq_cons_qe = bnx2i_conn->ep->qp.rq_first_qe;
drivers/scsi/bnx2i/bnx2i_hwi.c
202
bnx2i_conn->ep->qp.rq_cons_idx = 0;
drivers/scsi/bnx2i/bnx2i_hwi.c
204
bnx2i_conn->ep->qp.rq_cons_qe++;
drivers/scsi/bnx2i/bnx2i_hwi.c
2048
if (!atomic_read(&bnx2i_conn->ep->num_active_cmds))
drivers/scsi/bnx2i/bnx2i_hwi.c
205
bnx2i_conn->ep->qp.rq_cons_idx++;
drivers/scsi/bnx2i/bnx2i_hwi.c
2054
atomic_dec(&bnx2i_conn->ep->num_active_cmds);
drivers/scsi/bnx2i/bnx2i_hwi.c
2100
if (!bnx2i_conn->ep) {
drivers/scsi/bnx2i/bnx2i_hwi.c
2106
nxt_idx = bnx2i_arm_cq_event_coalescing(bnx2i_conn->ep,
drivers/scsi/bnx2i/bnx2i_hwi.c
2109
bnx2i_arm_cq_event_coalescing(bnx2i_conn->ep, CNIC_ARM_CQE_FP);
drivers/scsi/bnx2i/bnx2i_hwi.c
2133
if (!conn->ep) {
drivers/scsi/bnx2i/bnx2i_hwi.c
2140
conn->ep->state = EP_STATE_ULP_UPDATE_FAILED;
drivers/scsi/bnx2i/bnx2i_hwi.c
2142
conn->ep->state = EP_STATE_ULP_UPDATE_COMPL;
drivers/scsi/bnx2i/bnx2i_hwi.c
2144
wake_up_interruptible(&conn->ep->ofld_wait);
drivers/scsi/bnx2i/bnx2i_hwi.c
220
writel(cpu_to_le32(msg), conn->ep->qp.ctx_base);
drivers/scsi/bnx2i/bnx2i_hwi.c
234
u16 hi_bit = (bnx2i_conn->ep->qp.rq_prod_idx & 0x8000);
drivers/scsi/bnx2i/bnx2i_hwi.c
235
struct bnx2i_endpoint *ep = bnx2i_conn->ep;
drivers/scsi/bnx2i/bnx2i_hwi.c
2368
bnx2i_conn, bnx2i_conn->ep->ep_iscsi_cid,
drivers/scsi/bnx2i/bnx2i_hwi.c
2369
bnx2i_conn->ep->ep_cid);
drivers/scsi/bnx2i/bnx2i_hwi.c
237
ep->qp.rqe_left += count;
drivers/scsi/bnx2i/bnx2i_hwi.c
238
ep->qp.rq_prod_idx &= 0x7FFF;
drivers/scsi/bnx2i/bnx2i_hwi.c
239
ep->qp.rq_prod_idx += count;
drivers/scsi/bnx2i/bnx2i_hwi.c
2391
struct bnx2i_endpoint *ep;
drivers/scsi/bnx2i/bnx2i_hwi.c
2393
ep = bnx2i_find_ep_in_destroy_list(hba, conn_destroy->iscsi_conn_id);
drivers/scsi/bnx2i/bnx2i_hwi.c
2394
if (!ep) {
drivers/scsi/bnx2i/bnx2i_hwi.c
2400
if (hba != ep->hba) {
drivers/scsi/bnx2i/bnx2i_hwi.c
2407
ep->state = EP_STATE_CLEANUP_FAILED;
drivers/scsi/bnx2i/bnx2i_hwi.c
2409
ep->state = EP_STATE_CLEANUP_CMPL;
drivers/scsi/bnx2i/bnx2i_hwi.c
241
if (ep->qp.rq_prod_idx > bnx2i_conn->hba->max_rqes) {
drivers/scsi/bnx2i/bnx2i_hwi.c
2410
wake_up_interruptible(&ep->ofld_wait);
drivers/scsi/bnx2i/bnx2i_hwi.c
242
ep->qp.rq_prod_idx %= bnx2i_conn->hba->max_rqes;
drivers/scsi/bnx2i/bnx2i_hwi.c
2426
struct bnx2i_endpoint *ep;
drivers/scsi/bnx2i/bnx2i_hwi.c
2428
ep = bnx2i_find_ep_in_ofld_list(hba, ofld_kcqe->iscsi_conn_id);
drivers/scsi/bnx2i/bnx2i_hwi.c
2429
if (!ep) {
drivers/scsi/bnx2i/bnx2i_hwi.c
2434
if (hba != ep->hba) {
drivers/scsi/bnx2i/bnx2i_hwi.c
244
ep->qp.rq_prod_idx |= 0x8000;
drivers/scsi/bnx2i/bnx2i_hwi.c
2440
ep->state = EP_STATE_OFLD_FAILED;
drivers/scsi/bnx2i/bnx2i_hwi.c
2453
ep->state = EP_STATE_OFLD_FAILED_CID_BUSY;
drivers/scsi/bnx2i/bnx2i_hwi.c
2459
ep->state = EP_STATE_OFLD_COMPL;
drivers/scsi/bnx2i/bnx2i_hwi.c
246
ep->qp.rq_prod_idx |= hi_bit;
drivers/scsi/bnx2i/bnx2i_hwi.c
2461
ep->ep_cid = cid_addr;
drivers/scsi/bnx2i/bnx2i_hwi.c
2462
ep->qp.ctx_base = NULL;
drivers/scsi/bnx2i/bnx2i_hwi.c
2464
wake_up_interruptible(&ep->ofld_wait);
drivers/scsi/bnx2i/bnx2i_hwi.c
248
if (test_bit(BNX2I_NX2_DEV_57710, &ep->hba->cnic_dev_type)) {
drivers/scsi/bnx2i/bnx2i_hwi.c
249
rq_db = (struct bnx2i_5771x_sq_rq_db *) ep->qp.rq_pgtbl_virt;
drivers/scsi/bnx2i/bnx2i_hwi.c
250
rq_db->prod_idx = ep->qp.rq_prod_idx;
drivers/scsi/bnx2i/bnx2i_hwi.c
253
writew(ep->qp.rq_prod_idx,
drivers/scsi/bnx2i/bnx2i_hwi.c
254
ep->qp.ctx_base + CNIC_RECV_DOORBELL);
drivers/scsi/bnx2i/bnx2i_hwi.c
2571
struct bnx2i_endpoint *ep = (struct bnx2i_endpoint *) cm_sk->context;
drivers/scsi/bnx2i/bnx2i_hwi.c
2573
if (test_bit(ADAPTER_STATE_GOING_DOWN, &ep->hba->adapter_state))
drivers/scsi/bnx2i/bnx2i_hwi.c
2574
ep->state = EP_STATE_CONNECT_FAILED;
drivers/scsi/bnx2i/bnx2i_hwi.c
2576
ep->state = EP_STATE_CONNECT_COMPL;
drivers/scsi/bnx2i/bnx2i_hwi.c
2578
ep->state = EP_STATE_CONNECT_FAILED;
drivers/scsi/bnx2i/bnx2i_hwi.c
2580
wake_up_interruptible(&ep->ofld_wait);
drivers/scsi/bnx2i/bnx2i_hwi.c
2593
struct bnx2i_endpoint *ep = (struct bnx2i_endpoint *) cm_sk->context;
drivers/scsi/bnx2i/bnx2i_hwi.c
2595
ep->state = EP_STATE_DISCONN_COMPL;
drivers/scsi/bnx2i/bnx2i_hwi.c
2596
wake_up_interruptible(&ep->ofld_wait);
drivers/scsi/bnx2i/bnx2i_hwi.c
2609
struct bnx2i_endpoint *ep = (struct bnx2i_endpoint *) cm_sk->context;
drivers/scsi/bnx2i/bnx2i_hwi.c
2611
ep->state = EP_STATE_DISCONN_COMPL;
drivers/scsi/bnx2i/bnx2i_hwi.c
2612
wake_up_interruptible(&ep->ofld_wait);
drivers/scsi/bnx2i/bnx2i_hwi.c
2625
struct bnx2i_endpoint *ep = (struct bnx2i_endpoint *) cm_sk->context;
drivers/scsi/bnx2i/bnx2i_hwi.c
2627
ep->state = EP_STATE_TCP_FIN_RCVD;
drivers/scsi/bnx2i/bnx2i_hwi.c
2628
if (ep->conn)
drivers/scsi/bnx2i/bnx2i_hwi.c
2629
bnx2i_recovery_que_add_conn(ep->hba, ep->conn);
drivers/scsi/bnx2i/bnx2i_hwi.c
2641
struct bnx2i_endpoint *ep = (struct bnx2i_endpoint *) cm_sk->context;
drivers/scsi/bnx2i/bnx2i_hwi.c
2642
u32 old_state = ep->state;
drivers/scsi/bnx2i/bnx2i_hwi.c
2644
ep->state = EP_STATE_TCP_RST_RCVD;
drivers/scsi/bnx2i/bnx2i_hwi.c
2646
wake_up_interruptible(&ep->ofld_wait);
drivers/scsi/bnx2i/bnx2i_hwi.c
2648
if (ep->conn)
drivers/scsi/bnx2i/bnx2i_hwi.c
2649
bnx2i_recovery_que_add_conn(ep->hba, ep->conn);
drivers/scsi/bnx2i/bnx2i_hwi.c
2701
int bnx2i_map_ep_dbell_regs(struct bnx2i_endpoint *ep)
drivers/scsi/bnx2i/bnx2i_hwi.c
271
struct bnx2i_endpoint *ep = bnx2i_conn->ep;
drivers/scsi/bnx2i/bnx2i_hwi.c
2710
cid_num = bnx2i_get_cid_num(ep);
drivers/scsi/bnx2i/bnx2i_hwi.c
2712
if (test_bit(BNX2I_NX2_DEV_57710, &ep->hba->cnic_dev_type)) {
drivers/scsi/bnx2i/bnx2i_hwi.c
2713
reg_base = pci_resource_start(ep->hba->pcidev,
drivers/scsi/bnx2i/bnx2i_hwi.c
2716
ep->qp.ctx_base = ioremap(reg_base + reg_off, 4);
drivers/scsi/bnx2i/bnx2i_hwi.c
2717
if (!ep->qp.ctx_base)
drivers/scsi/bnx2i/bnx2i_hwi.c
2722
if ((test_bit(BNX2I_NX2_DEV_5709, &ep->hba->cnic_dev_type)) &&
drivers/scsi/bnx2i/bnx2i_hwi.c
2723
(ep->hba->mail_queue_access == BNX2I_MQ_BIN_MODE)) {
drivers/scsi/bnx2i/bnx2i_hwi.c
2724
config2 = REG_RD(ep->hba, BNX2_MQ_CONFIG2);
drivers/scsi/bnx2i/bnx2i_hwi.c
273
atomic_inc(&ep->num_active_cmds);
drivers/scsi/bnx2i/bnx2i_hwi.c
2737
ep->qp.ctx_base = ioremap(ep->hba->reg_base + reg_off,
drivers/scsi/bnx2i/bnx2i_hwi.c
2739
if (!ep->qp.ctx_base)
drivers/scsi/bnx2i/bnx2i_hwi.c
2743
bnx2i_arm_cq_event_coalescing(ep, CNIC_ARM_CQE);
drivers/scsi/bnx2i/bnx2i_hwi.c
275
if (test_bit(BNX2I_NX2_DEV_57710, &ep->hba->cnic_dev_type)) {
drivers/scsi/bnx2i/bnx2i_hwi.c
276
sq_db = (struct bnx2i_5771x_sq_rq_db *) ep->qp.sq_pgtbl_virt;
drivers/scsi/bnx2i/bnx2i_hwi.c
277
sq_db->prod_idx = ep->qp.sq_prod_idx;
drivers/scsi/bnx2i/bnx2i_hwi.c
280
writew(count, ep->qp.ctx_base + CNIC_SEND_DOORBELL);
drivers/scsi/bnx2i/bnx2i_hwi.c
297
if (bnx2i_conn->ep->qp.sq_prod_qe ==
drivers/scsi/bnx2i/bnx2i_hwi.c
298
bnx2i_conn->ep->qp.sq_last_qe)
drivers/scsi/bnx2i/bnx2i_hwi.c
299
bnx2i_conn->ep->qp.sq_prod_qe =
drivers/scsi/bnx2i/bnx2i_hwi.c
30
static u32 bnx2i_get_cid_num(struct bnx2i_endpoint *ep)
drivers/scsi/bnx2i/bnx2i_hwi.c
300
bnx2i_conn->ep->qp.sq_first_qe;
drivers/scsi/bnx2i/bnx2i_hwi.c
302
bnx2i_conn->ep->qp.sq_prod_qe++;
drivers/scsi/bnx2i/bnx2i_hwi.c
304
if ((bnx2i_conn->ep->qp.sq_prod_qe + count) <=
drivers/scsi/bnx2i/bnx2i_hwi.c
305
bnx2i_conn->ep->qp.sq_last_qe)
drivers/scsi/bnx2i/bnx2i_hwi.c
306
bnx2i_conn->ep->qp.sq_prod_qe += count;
drivers/scsi/bnx2i/bnx2i_hwi.c
308
tmp_cnt = bnx2i_conn->ep->qp.sq_last_qe -
drivers/scsi/bnx2i/bnx2i_hwi.c
309
bnx2i_conn->ep->qp.sq_prod_qe;
drivers/scsi/bnx2i/bnx2i_hwi.c
310
bnx2i_conn->ep->qp.sq_prod_qe =
drivers/scsi/bnx2i/bnx2i_hwi.c
311
&bnx2i_conn->ep->qp.sq_first_qe[count -
drivers/scsi/bnx2i/bnx2i_hwi.c
315
bnx2i_conn->ep->qp.sq_prod_idx += count;
drivers/scsi/bnx2i/bnx2i_hwi.c
317
bnx2i_ring_sq_dbell(bnx2i_conn, bnx2i_conn->ep->qp.sq_prod_idx);
drivers/scsi/bnx2i/bnx2i_hwi.c
338
bnx2i_conn->ep->qp.sq_prod_qe;
drivers/scsi/bnx2i/bnx2i_hwi.c
34
if (test_bit(BNX2I_NX2_DEV_57710, &ep->hba->cnic_dev_type))
drivers/scsi/bnx2i/bnx2i_hwi.c
35
cid = ep->ep_cid;
drivers/scsi/bnx2i/bnx2i_hwi.c
37
cid = GET_CID_NUM(ep->ep_cid);
drivers/scsi/bnx2i/bnx2i_hwi.c
395
bnx2i_conn->ep->qp.sq_prod_qe;
drivers/scsi/bnx2i/bnx2i_hwi.c
464
text_wqe = (struct bnx2i_text_request *) bnx2i_conn->ep->qp.sq_prod_qe;
drivers/scsi/bnx2i/bnx2i_hwi.c
510
bnx2i_conn->ep->qp.sq_prod_qe;
drivers/scsi/bnx2i/bnx2i_hwi.c
534
struct bnx2i_endpoint *ep = bnx2i_conn->ep;
drivers/scsi/bnx2i/bnx2i_hwi.c
539
nopout_wqe = (struct bnx2i_nop_out_request *)ep->qp.sq_prod_qe;
drivers/scsi/bnx2i/bnx2i_hwi.c
548
if (test_bit(BNX2I_NX2_DEV_57710, &ep->hba->cnic_dev_type))
drivers/scsi/bnx2i/bnx2i_hwi.c
597
bnx2i_conn->ep->qp.sq_prod_qe;
drivers/scsi/bnx2i/bnx2i_hwi.c
616
bnx2i_conn->ep->state = EP_STATE_LOGOUT_SENT;
drivers/scsi/bnx2i/bnx2i_hwi.c
644
if (test_bit(BNX2I_NX2_DEV_57710, &bnx2i_conn->ep->hba->cnic_dev_type))
drivers/scsi/bnx2i/bnx2i_hwi.c
645
update_wqe->context_id = bnx2i_conn->ep->ep_cid;
drivers/scsi/bnx2i/bnx2i_hwi.c
647
update_wqe->context_id = (bnx2i_conn->ep->ep_cid >> 7);
drivers/scsi/bnx2i/bnx2i_hwi.c
688
struct bnx2i_endpoint *ep = timer_container_of(ep, t, ofld_timer);
drivers/scsi/bnx2i/bnx2i_hwi.c
690
if (ep->state == EP_STATE_OFLD_START) {
drivers/scsi/bnx2i/bnx2i_hwi.c
692
ep->state = EP_STATE_OFLD_FAILED;
drivers/scsi/bnx2i/bnx2i_hwi.c
693
} else if (ep->state == EP_STATE_DISCONN_START) {
drivers/scsi/bnx2i/bnx2i_hwi.c
695
ep->state = EP_STATE_DISCONN_TIMEDOUT;
drivers/scsi/bnx2i/bnx2i_hwi.c
696
} else if (ep->state == EP_STATE_CLEANUP_START) {
drivers/scsi/bnx2i/bnx2i_hwi.c
698
ep->state = EP_STATE_CLEANUP_FAILED;
drivers/scsi/bnx2i/bnx2i_hwi.c
701
wake_up_interruptible(&ep->ofld_wait);
drivers/scsi/bnx2i/bnx2i_hwi.c
732
(struct bnx2i_cleanup_request *)cmd->conn->ep->qp.sq_prod_qe;
drivers/scsi/bnx2i/bnx2i_hwi.c
751
int bnx2i_send_conn_destroy(struct bnx2i_hba *hba, struct bnx2i_endpoint *ep)
drivers/scsi/bnx2i/bnx2i_hwi.c
763
if (test_bit(BNX2I_NX2_DEV_57710, &ep->hba->cnic_dev_type))
drivers/scsi/bnx2i/bnx2i_hwi.c
764
conn_cleanup.context_id = ep->ep_cid;
drivers/scsi/bnx2i/bnx2i_hwi.c
766
conn_cleanup.context_id = (ep->ep_cid >> 7);
drivers/scsi/bnx2i/bnx2i_hwi.c
768
conn_cleanup.reserved0 = (u16)ep->ep_iscsi_cid;
drivers/scsi/bnx2i/bnx2i_hwi.c
786
struct bnx2i_endpoint *ep)
drivers/scsi/bnx2i/bnx2i_hwi.c
800
ofld_req1.iscsi_conn_id = (u16) ep->ep_iscsi_cid;
drivers/scsi/bnx2i/bnx2i_hwi.c
802
dma_addr = ep->qp.sq_pgtbl_phys;
drivers/scsi/bnx2i/bnx2i_hwi.c
806
dma_addr = ep->qp.cq_pgtbl_phys;
drivers/scsi/bnx2i/bnx2i_hwi.c
814
dma_addr = ep->qp.rq_pgtbl_phys;
drivers/scsi/bnx2i/bnx2i_hwi.c
818
ptbl = (u32 *) ep->qp.sq_pgtbl_virt;
drivers/scsi/bnx2i/bnx2i_hwi.c
823
ptbl = (u32 *) ep->qp.cq_pgtbl_virt;
drivers/scsi/bnx2i/bnx2i_hwi.c
846
struct bnx2i_endpoint *ep)
drivers/scsi/bnx2i/bnx2i_hwi.c
861
ofld_req1.iscsi_conn_id = (u16) ep->ep_iscsi_cid;
drivers/scsi/bnx2i/bnx2i_hwi.c
863
dma_addr = ep->qp.sq_pgtbl_phys + ISCSI_SQ_DB_SIZE;
drivers/scsi/bnx2i/bnx2i_hwi.c
867
dma_addr = ep->qp.cq_pgtbl_phys + ISCSI_CQ_DB_SIZE;
drivers/scsi/bnx2i/bnx2i_hwi.c
875
dma_addr = ep->qp.rq_pgtbl_phys + ISCSI_RQ_DB_SIZE;
drivers/scsi/bnx2i/bnx2i_hwi.c
879
ptbl = (u32 *)((u8 *)ep->qp.sq_pgtbl_virt + ISCSI_SQ_DB_SIZE);
drivers/scsi/bnx2i/bnx2i_hwi.c
883
ptbl = (u32 *)((u8 *)ep->qp.cq_pgtbl_virt + ISCSI_CQ_DB_SIZE);
drivers/scsi/bnx2i/bnx2i_hwi.c
892
ptbl = (u32 *)((u8 *)ep->qp.rq_pgtbl_virt + ISCSI_RQ_DB_SIZE);
drivers/scsi/bnx2i/bnx2i_hwi.c
914
int bnx2i_send_conn_ofld_req(struct bnx2i_hba *hba, struct bnx2i_endpoint *ep)
drivers/scsi/bnx2i/bnx2i_hwi.c
919
rc = bnx2i_5771x_send_conn_ofld_req(hba, ep);
drivers/scsi/bnx2i/bnx2i_hwi.c
921
rc = bnx2i_570x_send_conn_ofld_req(hba, ep);
drivers/scsi/bnx2i/bnx2i_hwi.c
935
static void setup_qp_page_tables(struct bnx2i_endpoint *ep)
drivers/scsi/bnx2i/bnx2i_hwi.c
942
if (test_bit(BNX2I_NX2_DEV_57710, &ep->hba->cnic_dev_type))
drivers/scsi/bnx2i/bnx2i_hwi.c
948
memset(ep->qp.sq_pgtbl_virt, 0, ep->qp.sq_pgtbl_size);
drivers/scsi/bnx2i/bnx2i_hwi.c
949
num_pages = ep->qp.sq_mem_size / CNIC_PAGE_SIZE;
drivers/scsi/bnx2i/bnx2i_hwi.c
950
page = ep->qp.sq_phys;
drivers/scsi/bnx2i/bnx2i_hwi.c
953
ptbl = (u32 *)((u8 *)ep->qp.sq_pgtbl_virt + ISCSI_SQ_DB_SIZE);
drivers/scsi/bnx2i/bnx2i_hwi.c
955
ptbl = (u32 *) ep->qp.sq_pgtbl_virt;
drivers/scsi/bnx2i/bnx2i_hwi.c
976
memset(ep->qp.rq_pgtbl_virt, 0, ep->qp.rq_pgtbl_size);
drivers/scsi/bnx2i/bnx2i_hwi.c
977
num_pages = ep->qp.rq_mem_size / CNIC_PAGE_SIZE;
drivers/scsi/bnx2i/bnx2i_hwi.c
978
page = ep->qp.rq_phys;
drivers/scsi/bnx2i/bnx2i_hwi.c
981
ptbl = (u32 *)((u8 *)ep->qp.rq_pgtbl_virt + ISCSI_RQ_DB_SIZE);
drivers/scsi/bnx2i/bnx2i_hwi.c
983
ptbl = (u32 *) ep->qp.rq_pgtbl_virt;
drivers/scsi/bnx2i/bnx2i_iscsi.c
1230
if (atomic_read(&bnx2i_conn->ep->num_active_cmds) + 1 >
drivers/scsi/bnx2i/bnx2i_iscsi.c
1284
bnx2i_session_create(struct iscsi_endpoint *ep,
drivers/scsi/bnx2i/bnx2i_iscsi.c
1293
if (!ep) {
drivers/scsi/bnx2i/bnx2i_iscsi.c
1298
bnx2i_ep = ep->dd_data;
drivers/scsi/bnx2i/bnx2i_iscsi.c
1376
bnx2i_conn->ep = NULL;
drivers/scsi/bnx2i/bnx2i_iscsi.c
1413
struct iscsi_endpoint *ep;
drivers/scsi/bnx2i/bnx2i_iscsi.c
1416
ep = iscsi_lookup_endpoint(transport_fd);
drivers/scsi/bnx2i/bnx2i_iscsi.c
1417
if (!ep)
drivers/scsi/bnx2i/bnx2i_iscsi.c
1428
bnx2i_ep = ep->dd_data;
drivers/scsi/bnx2i/bnx2i_iscsi.c
1454
bnx2i_conn->ep = bnx2i_ep;
drivers/scsi/bnx2i/bnx2i_iscsi.c
1467
bnx2i_arm_cq_event_coalescing(bnx2i_conn->ep, CNIC_ARM_CQE);
drivers/scsi/bnx2i/bnx2i_iscsi.c
1469
iscsi_put_endpoint(ep);
drivers/scsi/bnx2i/bnx2i_iscsi.c
1527
static int bnx2i_ep_get_param(struct iscsi_endpoint *ep,
drivers/scsi/bnx2i/bnx2i_iscsi.c
1530
struct bnx2i_endpoint *bnx2i_ep = ep->dd_data;
drivers/scsi/bnx2i/bnx2i_iscsi.c
1613
bnx2i_conn->ep->state = EP_STATE_ULP_UPDATE_START;
drivers/scsi/bnx2i/bnx2i_iscsi.c
1620
timer_setup(&bnx2i_conn->ep->ofld_timer, bnx2i_ep_ofld_timer, 0);
drivers/scsi/bnx2i/bnx2i_iscsi.c
1621
bnx2i_conn->ep->ofld_timer.expires = 1 * HZ + jiffies;
drivers/scsi/bnx2i/bnx2i_iscsi.c
1622
add_timer(&bnx2i_conn->ep->ofld_timer);
drivers/scsi/bnx2i/bnx2i_iscsi.c
1624
wait_event_interruptible(bnx2i_conn->ep->ofld_wait,
drivers/scsi/bnx2i/bnx2i_iscsi.c
1625
bnx2i_conn->ep->state != EP_STATE_ULP_UPDATE_START);
drivers/scsi/bnx2i/bnx2i_iscsi.c
1629
timer_delete_sync(&bnx2i_conn->ep->ofld_timer);
drivers/scsi/bnx2i/bnx2i_iscsi.c
1712
struct bnx2i_endpoint *ep)
drivers/scsi/bnx2i/bnx2i_iscsi.c
1714
if (test_bit(BNX2I_CNIC_REGISTERED, &hba->reg_with_cnic) && ep->cm_sk)
drivers/scsi/bnx2i/bnx2i_iscsi.c
1715
hba->cnic->cm_destroy(ep->cm_sk);
drivers/scsi/bnx2i/bnx2i_iscsi.c
1718
ep->state == EP_STATE_DISCONN_TIMEDOUT) {
drivers/scsi/bnx2i/bnx2i_iscsi.c
1719
if (ep->conn && ep->conn->cls_conn &&
drivers/scsi/bnx2i/bnx2i_iscsi.c
1720
ep->conn->cls_conn->dd_data) {
drivers/scsi/bnx2i/bnx2i_iscsi.c
1721
struct iscsi_conn *conn = ep->conn->cls_conn->dd_data;
drivers/scsi/bnx2i/bnx2i_iscsi.c
1736
ep->state = EP_STATE_CLEANUP_START;
drivers/scsi/bnx2i/bnx2i_iscsi.c
1737
timer_setup(&ep->ofld_timer, bnx2i_ep_ofld_timer, 0);
drivers/scsi/bnx2i/bnx2i_iscsi.c
1738
ep->ofld_timer.expires = hba->conn_ctx_destroy_tmo + jiffies;
drivers/scsi/bnx2i/bnx2i_iscsi.c
1739
add_timer(&ep->ofld_timer);
drivers/scsi/bnx2i/bnx2i_iscsi.c
1741
bnx2i_ep_destroy_list_add(hba, ep);
drivers/scsi/bnx2i/bnx2i_iscsi.c
1744
if (bnx2i_send_conn_destroy(hba, ep))
drivers/scsi/bnx2i/bnx2i_iscsi.c
1745
ep->state = EP_STATE_CLEANUP_CMPL;
drivers/scsi/bnx2i/bnx2i_iscsi.c
1747
wait_event_interruptible(ep->ofld_wait,
drivers/scsi/bnx2i/bnx2i_iscsi.c
1748
(ep->state != EP_STATE_CLEANUP_START));
drivers/scsi/bnx2i/bnx2i_iscsi.c
1752
timer_delete_sync(&ep->ofld_timer);
drivers/scsi/bnx2i/bnx2i_iscsi.c
1754
bnx2i_ep_destroy_list_del(hba, ep);
drivers/scsi/bnx2i/bnx2i_iscsi.c
1756
if (ep->state != EP_STATE_CLEANUP_CMPL)
drivers/scsi/bnx2i/bnx2i_iscsi.c
1787
struct iscsi_endpoint *ep;
drivers/scsi/bnx2i/bnx2i_iscsi.c
1811
ep = bnx2i_alloc_ep(hba);
drivers/scsi/bnx2i/bnx2i_iscsi.c
1812
if (!ep) {
drivers/scsi/bnx2i/bnx2i_iscsi.c
1816
bnx2i_ep = ep->dd_data;
drivers/scsi/bnx2i/bnx2i_iscsi.c
1824
bnx2i_free_ep(ep);
drivers/scsi/bnx2i/bnx2i_iscsi.c
1918
return ep;
drivers/scsi/bnx2i/bnx2i_iscsi.c
1930
bnx2i_free_ep(ep);
drivers/scsi/bnx2i/bnx2i_iscsi.c
1945
static int bnx2i_ep_poll(struct iscsi_endpoint *ep, int timeout_ms)
drivers/scsi/bnx2i/bnx2i_iscsi.c
1950
bnx2i_ep = ep->dd_data;
drivers/scsi/bnx2i/bnx2i_iscsi.c
2121
static void bnx2i_ep_disconnect(struct iscsi_endpoint *ep)
drivers/scsi/bnx2i/bnx2i_iscsi.c
2127
bnx2i_ep = ep->dd_data;
drivers/scsi/bnx2i/bnx2i_iscsi.c
2164
bnx2i_conn->ep = NULL;
drivers/scsi/bnx2i/bnx2i_iscsi.c
2166
bnx2i_free_ep(ep);
drivers/scsi/bnx2i/bnx2i_iscsi.c
383
struct iscsi_endpoint *ep;
drivers/scsi/bnx2i/bnx2i_iscsi.c
387
ep = iscsi_create_endpoint(sizeof(*bnx2i_ep));
drivers/scsi/bnx2i/bnx2i_iscsi.c
388
if (!ep) {
drivers/scsi/bnx2i/bnx2i_iscsi.c
393
bnx2i_ep = ep->dd_data;
drivers/scsi/bnx2i/bnx2i_iscsi.c
394
bnx2i_ep->cls_ep = ep;
drivers/scsi/bnx2i/bnx2i_iscsi.c
407
return ep;
drivers/scsi/bnx2i/bnx2i_iscsi.c
415
static void bnx2i_free_ep(struct iscsi_endpoint *ep)
drivers/scsi/bnx2i/bnx2i_iscsi.c
417
struct bnx2i_endpoint *bnx2i_ep = ep->dd_data;
drivers/scsi/bnx2i/bnx2i_iscsi.c
428
bnx2i_ep->conn->ep = NULL;
drivers/scsi/bnx2i/bnx2i_iscsi.c
434
iscsi_destroy_endpoint(ep);
drivers/scsi/bnx2i/bnx2i_iscsi.c
605
struct bnx2i_endpoint *ep)
drivers/scsi/bnx2i/bnx2i_iscsi.c
608
list_add_tail(&ep->link, &hba->ep_destroy_list);
drivers/scsi/bnx2i/bnx2i_iscsi.c
622
struct bnx2i_endpoint *ep)
drivers/scsi/bnx2i/bnx2i_iscsi.c
625
list_del_init(&ep->link);
drivers/scsi/bnx2i/bnx2i_iscsi.c
639
struct bnx2i_endpoint *ep)
drivers/scsi/bnx2i/bnx2i_iscsi.c
642
list_add_tail(&ep->link, &hba->ep_ofld_list);
drivers/scsi/bnx2i/bnx2i_iscsi.c
655
struct bnx2i_endpoint *ep)
drivers/scsi/bnx2i/bnx2i_iscsi.c
658
list_del_init(&ep->link);
drivers/scsi/bnx2i/bnx2i_iscsi.c
676
struct bnx2i_endpoint *ep = NULL;
drivers/scsi/bnx2i/bnx2i_iscsi.c
680
ep = (struct bnx2i_endpoint *)list;
drivers/scsi/bnx2i/bnx2i_iscsi.c
682
if (ep->ep_iscsi_cid == iscsi_cid)
drivers/scsi/bnx2i/bnx2i_iscsi.c
684
ep = NULL;
drivers/scsi/bnx2i/bnx2i_iscsi.c
688
if (!ep)
drivers/scsi/bnx2i/bnx2i_iscsi.c
690
return ep;
drivers/scsi/bnx2i/bnx2i_iscsi.c
704
struct bnx2i_endpoint *ep = NULL;
drivers/scsi/bnx2i/bnx2i_iscsi.c
708
ep = (struct bnx2i_endpoint *)list;
drivers/scsi/bnx2i/bnx2i_iscsi.c
710
if (ep->ep_iscsi_cid == iscsi_cid)
drivers/scsi/bnx2i/bnx2i_iscsi.c
712
ep = NULL;
drivers/scsi/bnx2i/bnx2i_iscsi.c
716
if (!ep)
drivers/scsi/bnx2i/bnx2i_iscsi.c
719
return ep;
drivers/scsi/bnx2i/bnx2i_iscsi.c
730
struct bnx2i_endpoint *ep)
drivers/scsi/bnx2i/bnx2i_iscsi.c
733
list_add_tail(&ep->link, &hba->ep_active_list);
drivers/scsi/bnx2i/bnx2i_iscsi.c
746
struct bnx2i_endpoint *ep)
drivers/scsi/bnx2i/bnx2i_iscsi.c
749
list_del_init(&ep->link);
drivers/scsi/cxgbi/libcxgbi.c
2615
int cxgbi_get_ep_param(struct iscsi_endpoint *ep, enum iscsi_param param,
drivers/scsi/cxgbi/libcxgbi.c
2618
struct cxgbi_endpoint *cep = ep->dd_data;
drivers/scsi/cxgbi/libcxgbi.c
2622
"cls_conn 0x%p, param %d.\n", ep, param);
drivers/scsi/cxgbi/libcxgbi.c
2676
struct iscsi_endpoint *ep;
drivers/scsi/cxgbi/libcxgbi.c
2681
ep = iscsi_lookup_endpoint(transport_eph);
drivers/scsi/cxgbi/libcxgbi.c
2682
if (!ep)
drivers/scsi/cxgbi/libcxgbi.c
2686
cep = ep->dd_data;
drivers/scsi/cxgbi/libcxgbi.c
2716
cls_session, cls_conn, ep, cconn, csk);
drivers/scsi/cxgbi/libcxgbi.c
2721
iscsi_put_endpoint(ep);
drivers/scsi/cxgbi/libcxgbi.c
2726
struct iscsi_cls_session *cxgbi_create_session(struct iscsi_endpoint *ep,
drivers/scsi/cxgbi/libcxgbi.c
2736
if (!ep) {
drivers/scsi/cxgbi/libcxgbi.c
2741
cep = ep->dd_data;
drivers/scsi/cxgbi/libcxgbi.c
2760
"ep 0x%p, cls sess 0x%p.\n", ep, cls_session);
drivers/scsi/cxgbi/libcxgbi.c
2859
struct iscsi_endpoint *ep;
drivers/scsi/cxgbi/libcxgbi.c
2929
ep = iscsi_create_endpoint(sizeof(*cep));
drivers/scsi/cxgbi/libcxgbi.c
2930
if (!ep) {
drivers/scsi/cxgbi/libcxgbi.c
2936
cep = ep->dd_data;
drivers/scsi/cxgbi/libcxgbi.c
2942
ep, cep, csk, hba, hba->ndev->name);
drivers/scsi/cxgbi/libcxgbi.c
2943
return ep;
drivers/scsi/cxgbi/libcxgbi.c
2953
int cxgbi_ep_poll(struct iscsi_endpoint *ep, int timeout_ms)
drivers/scsi/cxgbi/libcxgbi.c
2955
struct cxgbi_endpoint *cep = ep->dd_data;
drivers/scsi/cxgbi/libcxgbi.c
2964
void cxgbi_ep_disconnect(struct iscsi_endpoint *ep)
drivers/scsi/cxgbi/libcxgbi.c
2966
struct cxgbi_endpoint *cep = ep->dd_data;
drivers/scsi/cxgbi/libcxgbi.c
2972
ep, cep, cconn, csk, csk->state, csk->flags);
drivers/scsi/cxgbi/libcxgbi.c
2980
iscsi_destroy_endpoint(ep);
drivers/scsi/cxgbi/libcxgbi.h
611
int cxgbi_get_ep_param(struct iscsi_endpoint *ep, enum iscsi_param, char *);
drivers/scsi/iscsi_tcp.c
878
iscsi_sw_tcp_session_create(struct iscsi_endpoint *ep, uint16_t cmds_max,
drivers/scsi/iscsi_tcp.c
887
if (ep) {
drivers/scsi/iscsi_tcp.c
888
printk(KERN_ERR "iscsi_tcp: invalid ep %p.\n", ep);
drivers/scsi/libfc/fc_encode.h
857
struct fc_exch *ep = fc_seq_exch(fr_seq(fp));
drivers/scsi/libfc/fc_encode.h
863
rec->rec_ox_id = htons(ep->oxid);
drivers/scsi/libfc/fc_encode.h
864
rec->rec_rx_id = htons(ep->rxid);
drivers/scsi/libfc/fc_exch.c
1004
ep->f_ctl |= FC_FC_EX_CTX; /* we're responding */
drivers/scsi/libfc/fc_exch.c
1005
ep->f_ctl &= ~FC_FC_FIRST_SEQ; /* not new */
drivers/scsi/libfc/fc_exch.c
1007
ep->sid = ntoh24(fh->fh_d_id);
drivers/scsi/libfc/fc_exch.c
1008
ep->did = ntoh24(fh->fh_s_id);
drivers/scsi/libfc/fc_exch.c
1009
ep->oid = ep->did;
drivers/scsi/libfc/fc_exch.c
1016
ep->rxid = ep->xid;
drivers/scsi/libfc/fc_exch.c
1017
ep->oxid = ntohs(fh->fh_ox_id);
drivers/scsi/libfc/fc_exch.c
1018
ep->esb_stat |= ESB_ST_RESP | ESB_ST_SEQ_INIT;
drivers/scsi/libfc/fc_exch.c
1020
ep->esb_stat &= ~ESB_ST_SEQ_INIT;
drivers/scsi/libfc/fc_exch.c
1022
fc_exch_hold(ep); /* hold for caller */
drivers/scsi/libfc/fc_exch.c
1023
spin_unlock_bh(&ep->ex_lock); /* lock from fc_exch_alloc */
drivers/scsi/libfc/fc_exch.c
1025
return ep;
drivers/scsi/libfc/fc_exch.c
1043
struct fc_exch *ep = NULL;
drivers/scsi/libfc/fc_exch.c
1057
ep = fc_exch_find(mp, xid);
drivers/scsi/libfc/fc_exch.c
1058
if (!ep) {
drivers/scsi/libfc/fc_exch.c
1063
if (ep->rxid == FC_XID_UNKNOWN)
drivers/scsi/libfc/fc_exch.c
1064
ep->rxid = ntohs(fh->fh_rx_id);
drivers/scsi/libfc/fc_exch.c
1065
else if (ep->rxid != ntohs(fh->fh_rx_id)) {
drivers/scsi/libfc/fc_exch.c
1086
ep = fc_exch_find(mp, xid);
drivers/scsi/libfc/fc_exch.c
1088
if (ep) {
drivers/scsi/libfc/fc_exch.c
1093
ep = fc_exch_resp(lport, mp, fp);
drivers/scsi/libfc/fc_exch.c
1094
if (!ep) {
drivers/scsi/libfc/fc_exch.c
1098
xid = ep->xid; /* get our XID */
drivers/scsi/libfc/fc_exch.c
1099
} else if (!ep) {
drivers/scsi/libfc/fc_exch.c
1106
spin_lock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
1112
sp = &ep->seq;
drivers/scsi/libfc/fc_exch.c
1116
sp = &ep->seq;
drivers/scsi/libfc/fc_exch.c
1137
spin_unlock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
1145
WARN_ON(ep != fc_seq_exch(sp));
drivers/scsi/libfc/fc_exch.c
1148
ep->esb_stat |= ESB_ST_SEQ_INIT;
drivers/scsi/libfc/fc_exch.c
1149
spin_unlock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
1155
fc_exch_done(&ep->seq);
drivers/scsi/libfc/fc_exch.c
1156
fc_exch_release(ep); /* hold from fc_exch_find/fc_exch_resp */
drivers/scsi/libfc/fc_exch.c
1172
struct fc_exch *ep;
drivers/scsi/libfc/fc_exch.c
1180
ep = fc_exch_find(mp, xid);
drivers/scsi/libfc/fc_exch.c
1181
if (!ep)
drivers/scsi/libfc/fc_exch.c
1183
if (ep->seq.id == fh->fh_seq_id) {
drivers/scsi/libfc/fc_exch.c
1187
sp = &ep->seq;
drivers/scsi/libfc/fc_exch.c
1189
ep->rxid == FC_XID_UNKNOWN) {
drivers/scsi/libfc/fc_exch.c
1190
ep->rxid = ntohs(fh->fh_rx_id);
drivers/scsi/libfc/fc_exch.c
1193
fc_exch_release(ep);
drivers/scsi/libfc/fc_exch.c
1205
static void fc_exch_set_addr(struct fc_exch *ep,
drivers/scsi/libfc/fc_exch.c
1208
ep->oid = orig_id;
drivers/scsi/libfc/fc_exch.c
1209
if (ep->esb_stat & ESB_ST_RESP) {
drivers/scsi/libfc/fc_exch.c
1210
ep->sid = resp_id;
drivers/scsi/libfc/fc_exch.c
1211
ep->did = orig_id;
drivers/scsi/libfc/fc_exch.c
1213
ep->sid = orig_id;
drivers/scsi/libfc/fc_exch.c
1214
ep->did = resp_id;
drivers/scsi/libfc/fc_exch.c
1260
struct fc_exch *ep = fc_seq_exch(sp);
drivers/scsi/libfc/fc_exch.c
1263
f_ctl |= ep->f_ctl;
drivers/scsi/libfc/fc_exch.c
1264
fc_fill_fc_hdr(fp, rctl, ep->did, ep->sid, fh_type, f_ctl, 0);
drivers/scsi/libfc/fc_exch.c
1265
fc_seq_send_locked(ep->lp, sp, fp);
drivers/scsi/libfc/fc_exch.c
1280
struct fc_exch *ep = fc_seq_exch(sp);
drivers/scsi/libfc/fc_exch.c
1281
struct fc_lport *lport = ep->lp;
drivers/scsi/libfc/fc_exch.c
1290
FC_EXCH_DBG(ep, "Drop ACK request, out of memory\n");
drivers/scsi/libfc/fc_exch.c
1314
fc_exch_setup_hdr(ep, fp, f_ctl);
drivers/scsi/libfc/fc_exch.c
1411
static void fc_exch_recv_abts(struct fc_exch *ep, struct fc_frame *rx_fp)
drivers/scsi/libfc/fc_exch.c
1418
if (!ep)
drivers/scsi/libfc/fc_exch.c
1421
FC_EXCH_DBG(ep, "exch: ABTS received\n");
drivers/scsi/libfc/fc_exch.c
1422
fp = fc_frame_alloc(ep->lp, sizeof(*ap));
drivers/scsi/libfc/fc_exch.c
1424
FC_EXCH_DBG(ep, "Drop ABTS request, out of memory\n");
drivers/scsi/libfc/fc_exch.c
1428
spin_lock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
1429
if (ep->esb_stat & ESB_ST_COMPLETE) {
drivers/scsi/libfc/fc_exch.c
1430
spin_unlock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
1431
FC_EXCH_DBG(ep, "exch: ABTS rejected, exchange complete\n");
drivers/scsi/libfc/fc_exch.c
1435
if (!(ep->esb_stat & ESB_ST_REC_QUAL)) {
drivers/scsi/libfc/fc_exch.c
1436
ep->esb_stat |= ESB_ST_REC_QUAL;
drivers/scsi/libfc/fc_exch.c
1437
fc_exch_hold(ep); /* hold for REC_QUAL */
drivers/scsi/libfc/fc_exch.c
1439
fc_exch_timer_set_locked(ep, ep->r_a_tov);
drivers/scsi/libfc/fc_exch.c
1443
sp = &ep->seq;
drivers/scsi/libfc/fc_exch.c
1453
ep->esb_stat |= ESB_ST_ABNORMAL;
drivers/scsi/libfc/fc_exch.c
1454
spin_unlock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
1514
struct fc_exch *ep = NULL;
drivers/scsi/libfc/fc_exch.c
1539
ep = fc_seq_exch(sp);
drivers/scsi/libfc/fc_exch.c
1541
ep->encaps = fr_encaps(fp);
drivers/scsi/libfc/fc_exch.c
1554
if (!fc_invoke_resp(ep, sp, fp))
drivers/scsi/libfc/fc_exch.c
1556
fc_exch_release(ep); /* release from lookup */
drivers/scsi/libfc/fc_exch.c
1575
struct fc_exch *ep;
drivers/scsi/libfc/fc_exch.c
1580
ep = fc_exch_find(mp, ntohs(fh->fh_ox_id));
drivers/scsi/libfc/fc_exch.c
1581
if (!ep) {
drivers/scsi/libfc/fc_exch.c
1585
if (ep->esb_stat & ESB_ST_COMPLETE) {
drivers/scsi/libfc/fc_exch.c
1589
if (ep->rxid == FC_XID_UNKNOWN)
drivers/scsi/libfc/fc_exch.c
1590
ep->rxid = ntohs(fh->fh_rx_id);
drivers/scsi/libfc/fc_exch.c
1591
if (ep->sid != 0 && ep->sid != ntoh24(fh->fh_d_id)) {
drivers/scsi/libfc/fc_exch.c
1595
if (ep->did != ntoh24(fh->fh_s_id) &&
drivers/scsi/libfc/fc_exch.c
1596
ep->did != FC_FID_FLOGI) {
drivers/scsi/libfc/fc_exch.c
1601
sp = &ep->seq;
drivers/scsi/libfc/fc_exch.c
1610
spin_lock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
1612
ep->esb_stat |= ESB_ST_SEQ_INIT;
drivers/scsi/libfc/fc_exch.c
1613
spin_unlock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
1621
spin_lock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
1622
rc = fc_exch_done_locked(ep);
drivers/scsi/libfc/fc_exch.c
1623
WARN_ON(fc_seq_exch(sp) != ep);
drivers/scsi/libfc/fc_exch.c
1624
spin_unlock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
1626
fc_exch_delete(ep);
drivers/scsi/libfc/fc_exch.c
1628
FC_EXCH_DBG(ep, "ep is completed already,"
drivers/scsi/libfc/fc_exch.c
1647
if (!fc_invoke_resp(ep, sp, fp))
drivers/scsi/libfc/fc_exch.c
1651
fc_exch_release(ep);
drivers/scsi/libfc/fc_exch.c
1654
fc_exch_release(ep);
drivers/scsi/libfc/fc_exch.c
1687
static void fc_exch_abts_resp(struct fc_exch *ep, struct fc_frame *fp)
drivers/scsi/libfc/fc_exch.c
1697
FC_EXCH_DBG(ep, "exch: BLS rctl %x - %s\n", fh->fh_r_ctl,
drivers/scsi/libfc/fc_exch.c
1700
if (cancel_delayed_work_sync(&ep->timeout_work)) {
drivers/scsi/libfc/fc_exch.c
1701
FC_EXCH_DBG(ep, "Exchange timer canceled due to ABTS response\n");
drivers/scsi/libfc/fc_exch.c
1702
fc_exch_release(ep); /* release from pending timer hold */
drivers/scsi/libfc/fc_exch.c
1706
spin_lock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
1720
if ((ep->esb_stat & ESB_ST_REC_QUAL) == 0 &&
drivers/scsi/libfc/fc_exch.c
1722
ap->ba_seq_id == ep->seq_id) && low != high) {
drivers/scsi/libfc/fc_exch.c
1723
ep->esb_stat |= ESB_ST_REC_QUAL;
drivers/scsi/libfc/fc_exch.c
1724
fc_exch_hold(ep); /* hold for recovery qualifier */
drivers/scsi/libfc/fc_exch.c
1737
sp = &ep->seq;
drivers/scsi/libfc/fc_exch.c
1741
if (ep->fh_type != FC_TYPE_FCP &&
drivers/scsi/libfc/fc_exch.c
1743
rc = fc_exch_done_locked(ep);
drivers/scsi/libfc/fc_exch.c
1744
spin_unlock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
1746
fc_exch_hold(ep);
drivers/scsi/libfc/fc_exch.c
1748
fc_exch_delete(ep);
drivers/scsi/libfc/fc_exch.c
1749
if (!fc_invoke_resp(ep, sp, fp))
drivers/scsi/libfc/fc_exch.c
1752
fc_exch_timer_set(ep, ep->r_a_tov);
drivers/scsi/libfc/fc_exch.c
1753
fc_exch_release(ep);
drivers/scsi/libfc/fc_exch.c
1767
struct fc_exch *ep;
drivers/scsi/libfc/fc_exch.c
1774
ep = fc_exch_find(mp, (f_ctl & FC_FC_EX_CTX) ?
drivers/scsi/libfc/fc_exch.c
1776
if (ep && (f_ctl & FC_FC_SEQ_INIT)) {
drivers/scsi/libfc/fc_exch.c
1777
spin_lock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
1778
ep->esb_stat |= ESB_ST_SEQ_INIT;
drivers/scsi/libfc/fc_exch.c
1779
spin_unlock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
1791
if (ep)
drivers/scsi/libfc/fc_exch.c
1792
FC_EXCH_DBG(ep, "BLS rctl %x - %s received\n",
drivers/scsi/libfc/fc_exch.c
1802
if (ep)
drivers/scsi/libfc/fc_exch.c
1803
fc_exch_abts_resp(ep, fp);
drivers/scsi/libfc/fc_exch.c
1808
if (ep)
drivers/scsi/libfc/fc_exch.c
1809
fc_exch_recv_abts(ep, fp);
drivers/scsi/libfc/fc_exch.c
1818
if (ep)
drivers/scsi/libfc/fc_exch.c
1819
fc_exch_release(ep); /* release hold taken by fc_exch_find */
drivers/scsi/libfc/fc_exch.c
1891
static void fc_exch_reset(struct fc_exch *ep)
drivers/scsi/libfc/fc_exch.c
1896
spin_lock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
1897
ep->state |= FC_EX_RST_CLEANUP;
drivers/scsi/libfc/fc_exch.c
1898
fc_exch_timer_cancel(ep);
drivers/scsi/libfc/fc_exch.c
1899
if (ep->esb_stat & ESB_ST_REC_QUAL)
drivers/scsi/libfc/fc_exch.c
1900
atomic_dec(&ep->ex_refcnt); /* drop hold for rec_qual */
drivers/scsi/libfc/fc_exch.c
1901
ep->esb_stat &= ~ESB_ST_REC_QUAL;
drivers/scsi/libfc/fc_exch.c
1902
sp = &ep->seq;
drivers/scsi/libfc/fc_exch.c
1903
rc = fc_exch_done_locked(ep);
drivers/scsi/libfc/fc_exch.c
1904
spin_unlock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
1906
fc_exch_hold(ep);
drivers/scsi/libfc/fc_exch.c
1909
fc_exch_delete(ep);
drivers/scsi/libfc/fc_exch.c
1911
FC_EXCH_DBG(ep, "ep is completed already,"
drivers/scsi/libfc/fc_exch.c
1916
fc_invoke_resp(ep, sp, ERR_PTR(-FC_EX_CLOSED));
drivers/scsi/libfc/fc_exch.c
1918
fc_seq_set_resp(sp, NULL, ep->arg);
drivers/scsi/libfc/fc_exch.c
1919
fc_exch_release(ep);
drivers/scsi/libfc/fc_exch.c
1938
struct fc_exch *ep;
drivers/scsi/libfc/fc_exch.c
1943
list_for_each_entry_safe(ep, next, &pool->ex_list, ex_list) {
drivers/scsi/libfc/fc_exch.c
1944
if ((lport == ep->lp) &&
drivers/scsi/libfc/fc_exch.c
1945
(sid == 0 || sid == ep->sid) &&
drivers/scsi/libfc/fc_exch.c
1946
(did == 0 || did == ep->did)) {
drivers/scsi/libfc/fc_exch.c
1947
fc_exch_hold(ep);
drivers/scsi/libfc/fc_exch.c
1950
fc_exch_reset(ep);
drivers/scsi/libfc/fc_exch.c
1952
fc_exch_release(ep);
drivers/scsi/libfc/fc_exch.c
2020
struct fc_exch *ep;
drivers/scsi/libfc/fc_exch.c
2048
ep = fc_exch_lookup(lport, xid);
drivers/scsi/libfc/fc_exch.c
2049
if (!ep) {
drivers/scsi/libfc/fc_exch.c
2055
FC_EXCH_DBG(ep, "REC request from %x: rxid %x oxid %x\n",
drivers/scsi/libfc/fc_exch.c
2057
if (ep->oid != sid || oxid != ep->oxid)
drivers/scsi/libfc/fc_exch.c
2059
if (rxid != FC_XID_UNKNOWN && rxid != ep->rxid)
drivers/scsi/libfc/fc_exch.c
2063
FC_EXCH_DBG(ep, "Drop REC request, out of memory\n");
drivers/scsi/libfc/fc_exch.c
2072
acc->reca_rx_id = htons(ep->rxid);
drivers/scsi/libfc/fc_exch.c
2073
if (ep->sid == ep->oid)
drivers/scsi/libfc/fc_exch.c
2074
hton24(acc->reca_rfid, ep->did);
drivers/scsi/libfc/fc_exch.c
2076
hton24(acc->reca_rfid, ep->sid);
drivers/scsi/libfc/fc_exch.c
2077
acc->reca_fc4value = htonl(ep->seq.rec_data);
drivers/scsi/libfc/fc_exch.c
2078
acc->reca_e_stat = htonl(ep->esb_stat & (ESB_ST_RESP |
drivers/scsi/libfc/fc_exch.c
2084
fc_exch_release(ep);
drivers/scsi/libfc/fc_exch.c
2088
fc_exch_release(ep);
drivers/scsi/libfc/fc_exch.c
2183
struct fc_exch *ep;
drivers/scsi/libfc/fc_exch.c
2189
ep = fc_exch_alloc(lport, fp);
drivers/scsi/libfc/fc_exch.c
2190
if (!ep) {
drivers/scsi/libfc/fc_exch.c
2194
ep->esb_stat |= ESB_ST_SEQ_INIT;
drivers/scsi/libfc/fc_exch.c
2196
fc_exch_set_addr(ep, ntoh24(fh->fh_s_id), ntoh24(fh->fh_d_id));
drivers/scsi/libfc/fc_exch.c
2197
ep->resp = resp;
drivers/scsi/libfc/fc_exch.c
2198
ep->destructor = destructor;
drivers/scsi/libfc/fc_exch.c
2199
ep->arg = arg;
drivers/scsi/libfc/fc_exch.c
2200
ep->r_a_tov = lport->r_a_tov;
drivers/scsi/libfc/fc_exch.c
2201
ep->lp = lport;
drivers/scsi/libfc/fc_exch.c
2202
sp = &ep->seq;
drivers/scsi/libfc/fc_exch.c
2204
ep->fh_type = fh->fh_type; /* save for possbile timeout handling */
drivers/scsi/libfc/fc_exch.c
2205
ep->f_ctl = ntoh24(fh->fh_f_ctl);
drivers/scsi/libfc/fc_exch.c
2206
fc_exch_setup_hdr(ep, fp, ep->f_ctl);
drivers/scsi/libfc/fc_exch.c
2209
if (ep->xid <= lport->lro_xid && fh->fh_r_ctl == FC_RCTL_DD_UNSOL_CMD) {
drivers/scsi/libfc/fc_exch.c
2211
fc_fcp_ddp_setup(fr_fsp(fp), ep->xid);
drivers/scsi/libfc/fc_exch.c
2218
fc_exch_timer_set_locked(ep, timer_msec);
drivers/scsi/libfc/fc_exch.c
2219
ep->f_ctl &= ~FC_FC_FIRST_SEQ; /* not first seq */
drivers/scsi/libfc/fc_exch.c
2221
if (ep->f_ctl & FC_FC_SEQ_INIT)
drivers/scsi/libfc/fc_exch.c
2222
ep->esb_stat &= ~ESB_ST_SEQ_INIT;
drivers/scsi/libfc/fc_exch.c
2223
spin_unlock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
2228
rc = fc_exch_done_locked(ep);
drivers/scsi/libfc/fc_exch.c
2229
spin_unlock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
2231
fc_exch_delete(ep);
drivers/scsi/libfc/fc_exch.c
2243
static void fc_exch_rrq(struct fc_exch *ep)
drivers/scsi/libfc/fc_exch.c
2250
lport = ep->lp;
drivers/scsi/libfc/fc_exch.c
2259
hton24(rrq->rrq_s_id, ep->sid);
drivers/scsi/libfc/fc_exch.c
2260
rrq->rrq_ox_id = htons(ep->oxid);
drivers/scsi/libfc/fc_exch.c
2261
rrq->rrq_rx_id = htons(ep->rxid);
drivers/scsi/libfc/fc_exch.c
2263
did = ep->did;
drivers/scsi/libfc/fc_exch.c
2264
if (ep->esb_stat & ESB_ST_RESP)
drivers/scsi/libfc/fc_exch.c
2265
did = ep->sid;
drivers/scsi/libfc/fc_exch.c
2271
if (fc_exch_seq_send(lport, fp, fc_exch_rrq_resp, NULL, ep,
drivers/scsi/libfc/fc_exch.c
2276
FC_EXCH_DBG(ep, "exch: RRQ send failed\n");
drivers/scsi/libfc/fc_exch.c
2277
spin_lock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
2278
if (ep->state & (FC_EX_RST_CLEANUP | FC_EX_DONE)) {
drivers/scsi/libfc/fc_exch.c
2279
spin_unlock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
2281
fc_exch_release(ep);
drivers/scsi/libfc/fc_exch.c
2284
ep->esb_stat |= ESB_ST_REC_QUAL;
drivers/scsi/libfc/fc_exch.c
2285
fc_exch_timer_set_locked(ep, ep->r_a_tov);
drivers/scsi/libfc/fc_exch.c
2286
spin_unlock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
2296
struct fc_exch *ep = NULL; /* request or subject exchange */
drivers/scsi/libfc/fc_exch.c
2314
ep = fc_exch_lookup(lport, xid);
drivers/scsi/libfc/fc_exch.c
2316
if (!ep)
drivers/scsi/libfc/fc_exch.c
2318
spin_lock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
2319
FC_EXCH_DBG(ep, "RRQ request from %x: xid %x rxid %x oxid %x\n",
drivers/scsi/libfc/fc_exch.c
2321
if (ep->oxid != ntohs(rp->rrq_ox_id))
drivers/scsi/libfc/fc_exch.c
2323
if (ep->rxid != ntohs(rp->rrq_rx_id) &&
drivers/scsi/libfc/fc_exch.c
2324
ep->rxid != FC_XID_UNKNOWN)
drivers/scsi/libfc/fc_exch.c
2327
if (ep->sid != sid)
drivers/scsi/libfc/fc_exch.c
2333
if (ep->esb_stat & ESB_ST_REC_QUAL) {
drivers/scsi/libfc/fc_exch.c
2334
ep->esb_stat &= ~ESB_ST_REC_QUAL;
drivers/scsi/libfc/fc_exch.c
2335
atomic_dec(&ep->ex_refcnt); /* drop hold for rec qual */
drivers/scsi/libfc/fc_exch.c
2337
if (ep->esb_stat & ESB_ST_COMPLETE)
drivers/scsi/libfc/fc_exch.c
2338
fc_exch_timer_cancel(ep);
drivers/scsi/libfc/fc_exch.c
2340
spin_unlock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
2349
spin_unlock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
2353
if (ep)
drivers/scsi/libfc/fc_exch.c
2354
fc_exch_release(ep); /* drop hold from fc_exch_find */
drivers/scsi/libfc/fc_exch.c
247
static inline void fc_exch_hold(struct fc_exch *ep)
drivers/scsi/libfc/fc_exch.c
249
atomic_inc(&ep->ex_refcnt);
drivers/scsi/libfc/fc_exch.c
262
static void fc_exch_setup_hdr(struct fc_exch *ep, struct fc_frame *fp,
drivers/scsi/libfc/fc_exch.c
268
fr_sof(fp) = ep->class;
drivers/scsi/libfc/fc_exch.c
269
if (ep->seq.cnt)
drivers/scsi/libfc/fc_exch.c
270
fr_sof(fp) = fc_sof_normal(ep->class);
drivers/scsi/libfc/fc_exch.c
274
if (fc_sof_needs_ack((enum fc_sof)ep->class))
drivers/scsi/libfc/fc_exch.c
298
fh->fh_ox_id = htons(ep->oxid);
drivers/scsi/libfc/fc_exch.c
299
fh->fh_rx_id = htons(ep->rxid);
drivers/scsi/libfc/fc_exch.c
300
fh->fh_seq_id = ep->seq.id;
drivers/scsi/libfc/fc_exch.c
301
fh->fh_seq_cnt = htons(ep->seq.cnt);
drivers/scsi/libfc/fc_exch.c
311
static void fc_exch_release(struct fc_exch *ep)
drivers/scsi/libfc/fc_exch.c
315
if (atomic_dec_and_test(&ep->ex_refcnt)) {
drivers/scsi/libfc/fc_exch.c
316
mp = ep->em;
drivers/scsi/libfc/fc_exch.c
317
if (ep->destructor)
drivers/scsi/libfc/fc_exch.c
318
ep->destructor(&ep->seq, ep->arg);
drivers/scsi/libfc/fc_exch.c
319
WARN_ON(!(ep->esb_stat & ESB_ST_COMPLETE));
drivers/scsi/libfc/fc_exch.c
320
mempool_free(ep, mp->ep_pool);
drivers/scsi/libfc/fc_exch.c
328
static inline void fc_exch_timer_cancel(struct fc_exch *ep)
drivers/scsi/libfc/fc_exch.c
330
if (cancel_delayed_work(&ep->timeout_work)) {
drivers/scsi/libfc/fc_exch.c
331
FC_EXCH_DBG(ep, "Exchange timer canceled\n");
drivers/scsi/libfc/fc_exch.c
332
atomic_dec(&ep->ex_refcnt); /* drop hold for timer */
drivers/scsi/libfc/fc_exch.c
345
static inline void fc_exch_timer_set_locked(struct fc_exch *ep,
drivers/scsi/libfc/fc_exch.c
348
if (ep->state & (FC_EX_RST_CLEANUP | FC_EX_DONE))
drivers/scsi/libfc/fc_exch.c
351
FC_EXCH_DBG(ep, "Exchange timer armed : %d msecs\n", timer_msec);
drivers/scsi/libfc/fc_exch.c
353
fc_exch_hold(ep); /* hold for timer */
drivers/scsi/libfc/fc_exch.c
354
if (!queue_delayed_work(fc_exch_workqueue, &ep->timeout_work,
drivers/scsi/libfc/fc_exch.c
356
FC_EXCH_DBG(ep, "Exchange already queued\n");
drivers/scsi/libfc/fc_exch.c
357
fc_exch_release(ep);
drivers/scsi/libfc/fc_exch.c
366
static void fc_exch_timer_set(struct fc_exch *ep, unsigned int timer_msec)
drivers/scsi/libfc/fc_exch.c
368
spin_lock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
369
fc_exch_timer_set_locked(ep, timer_msec);
drivers/scsi/libfc/fc_exch.c
370
spin_unlock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
379
static int fc_exch_done_locked(struct fc_exch *ep)
drivers/scsi/libfc/fc_exch.c
389
if (ep->state & FC_EX_DONE)
drivers/scsi/libfc/fc_exch.c
391
ep->esb_stat |= ESB_ST_COMPLETE;
drivers/scsi/libfc/fc_exch.c
393
if (!(ep->esb_stat & ESB_ST_REC_QUAL)) {
drivers/scsi/libfc/fc_exch.c
394
ep->state |= FC_EX_DONE;
drivers/scsi/libfc/fc_exch.c
395
fc_exch_timer_cancel(ep);
drivers/scsi/libfc/fc_exch.c
426
struct fc_exch *ep)
drivers/scsi/libfc/fc_exch.c
428
((struct fc_exch **)(pool + 1))[index] = ep;
drivers/scsi/libfc/fc_exch.c
435
static void fc_exch_delete(struct fc_exch *ep)
drivers/scsi/libfc/fc_exch.c
440
pool = ep->pool;
drivers/scsi/libfc/fc_exch.c
446
index = (ep->xid - ep->em->min_xid) >> fc_cpu_order;
drivers/scsi/libfc/fc_exch.c
447
if (!(ep->state & FC_EX_QUARANTINE)) {
drivers/scsi/libfc/fc_exch.c
458
list_del(&ep->ex_list);
drivers/scsi/libfc/fc_exch.c
460
fc_exch_release(ep); /* drop hold for exch in mp */
drivers/scsi/libfc/fc_exch.c
466
struct fc_exch *ep;
drivers/scsi/libfc/fc_exch.c
472
ep = fc_seq_exch(sp);
drivers/scsi/libfc/fc_exch.c
474
if (ep->esb_stat & (ESB_ST_COMPLETE | ESB_ST_ABNORMAL)) {
drivers/scsi/libfc/fc_exch.c
479
WARN_ON(!(ep->esb_stat & ESB_ST_SEQ_INIT));
drivers/scsi/libfc/fc_exch.c
482
fc_exch_setup_hdr(ep, fp, f_ctl);
drivers/scsi/libfc/fc_exch.c
483
fr_encaps(fp) = ep->encaps;
drivers/scsi/libfc/fc_exch.c
509
ep->f_ctl = f_ctl & ~FC_FC_FIRST_SEQ; /* not first seq */
drivers/scsi/libfc/fc_exch.c
511
ep->esb_stat &= ~ESB_ST_SEQ_INIT;
drivers/scsi/libfc/fc_exch.c
527
struct fc_exch *ep;
drivers/scsi/libfc/fc_exch.c
529
ep = fc_seq_exch(sp);
drivers/scsi/libfc/fc_exch.c
530
spin_lock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
532
spin_unlock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
546
static struct fc_seq *fc_seq_alloc(struct fc_exch *ep, u8 seq_id)
drivers/scsi/libfc/fc_exch.c
550
sp = &ep->seq;
drivers/scsi/libfc/fc_exch.c
564
struct fc_exch *ep = fc_seq_exch(sp);
drivers/scsi/libfc/fc_exch.c
566
sp = fc_seq_alloc(ep, ep->seq_id++);
drivers/scsi/libfc/fc_exch.c
567
FC_EXCH_DBG(ep, "f_ctl %6x seq %2x\n",
drivers/scsi/libfc/fc_exch.c
568
ep->f_ctl, sp->id);
drivers/scsi/libfc/fc_exch.c
579
struct fc_exch *ep = fc_seq_exch(sp);
drivers/scsi/libfc/fc_exch.c
581
spin_lock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
583
spin_unlock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
598
struct fc_exch *ep = fc_seq_exch(sp);
drivers/scsi/libfc/fc_exch.c
601
spin_lock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
602
while (ep->resp_active && ep->resp_task != current) {
drivers/scsi/libfc/fc_exch.c
603
prepare_to_wait(&ep->resp_wq, &wait, TASK_UNINTERRUPTIBLE);
drivers/scsi/libfc/fc_exch.c
604
spin_unlock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
608
spin_lock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
610
finish_wait(&ep->resp_wq, &wait);
drivers/scsi/libfc/fc_exch.c
611
ep->resp = resp;
drivers/scsi/libfc/fc_exch.c
612
ep->arg = arg;
drivers/scsi/libfc/fc_exch.c
613
spin_unlock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
633
static int fc_exch_abort_locked(struct fc_exch *ep,
drivers/scsi/libfc/fc_exch.c
640
FC_EXCH_DBG(ep, "exch: abort, time %d msecs\n", timer_msec);
drivers/scsi/libfc/fc_exch.c
641
if (ep->esb_stat & (ESB_ST_COMPLETE | ESB_ST_ABNORMAL) ||
drivers/scsi/libfc/fc_exch.c
642
ep->state & (FC_EX_DONE | FC_EX_RST_CLEANUP)) {
drivers/scsi/libfc/fc_exch.c
643
FC_EXCH_DBG(ep, "exch: already completed esb %x state %x\n",
drivers/scsi/libfc/fc_exch.c
644
ep->esb_stat, ep->state);
drivers/scsi/libfc/fc_exch.c
651
sp = fc_seq_start_next_locked(&ep->seq);
drivers/scsi/libfc/fc_exch.c
656
fc_exch_timer_set_locked(ep, timer_msec);
drivers/scsi/libfc/fc_exch.c
658
if (ep->sid) {
drivers/scsi/libfc/fc_exch.c
662
fp = fc_frame_alloc(ep->lp, 0);
drivers/scsi/libfc/fc_exch.c
664
ep->esb_stat |= ESB_ST_SEQ_INIT;
drivers/scsi/libfc/fc_exch.c
665
fc_fill_fc_hdr(fp, FC_RCTL_BA_ABTS, ep->did, ep->sid,
drivers/scsi/libfc/fc_exch.c
668
error = fc_seq_send_locked(ep->lp, sp, fp);
drivers/scsi/libfc/fc_exch.c
679
ep->esb_stat |= ESB_ST_ABNORMAL;
drivers/scsi/libfc/fc_exch.c
694
struct fc_exch *ep;
drivers/scsi/libfc/fc_exch.c
697
ep = fc_seq_exch(req_sp);
drivers/scsi/libfc/fc_exch.c
698
spin_lock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
699
error = fc_exch_abort_locked(ep, timer_msec);
drivers/scsi/libfc/fc_exch.c
700
spin_unlock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
729
static bool fc_invoke_resp(struct fc_exch *ep, struct fc_seq *sp,
drivers/scsi/libfc/fc_exch.c
736
spin_lock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
737
ep->resp_active++;
drivers/scsi/libfc/fc_exch.c
738
if (ep->resp_task != current)
drivers/scsi/libfc/fc_exch.c
739
ep->resp_task = !ep->resp_task ? current : NULL;
drivers/scsi/libfc/fc_exch.c
740
resp = ep->resp;
drivers/scsi/libfc/fc_exch.c
741
arg = ep->arg;
drivers/scsi/libfc/fc_exch.c
742
spin_unlock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
749
spin_lock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
750
if (--ep->resp_active == 0)
drivers/scsi/libfc/fc_exch.c
751
ep->resp_task = NULL;
drivers/scsi/libfc/fc_exch.c
752
spin_unlock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
754
if (ep->resp_active == 0)
drivers/scsi/libfc/fc_exch.c
755
wake_up(&ep->resp_wq);
drivers/scsi/libfc/fc_exch.c
766
struct fc_exch *ep = container_of(work, struct fc_exch,
drivers/scsi/libfc/fc_exch.c
768
struct fc_seq *sp = &ep->seq;
drivers/scsi/libfc/fc_exch.c
772
FC_EXCH_DBG(ep, "Exchange timed out state %x\n", ep->state);
drivers/scsi/libfc/fc_exch.c
774
spin_lock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
775
if (ep->state & (FC_EX_RST_CLEANUP | FC_EX_DONE))
drivers/scsi/libfc/fc_exch.c
778
e_stat = ep->esb_stat;
drivers/scsi/libfc/fc_exch.c
780
ep->esb_stat = e_stat & ~ESB_ST_REC_QUAL;
drivers/scsi/libfc/fc_exch.c
781
spin_unlock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
783
fc_exch_rrq(ep);
drivers/scsi/libfc/fc_exch.c
787
rc = fc_exch_done_locked(ep);
drivers/scsi/libfc/fc_exch.c
788
spin_unlock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
790
fc_exch_delete(ep);
drivers/scsi/libfc/fc_exch.c
791
fc_invoke_resp(ep, sp, ERR_PTR(-FC_EX_TIMEOUT));
drivers/scsi/libfc/fc_exch.c
792
fc_seq_set_resp(sp, NULL, ep->arg);
drivers/scsi/libfc/fc_exch.c
793
fc_seq_exch_abort(sp, 2 * ep->r_a_tov);
drivers/scsi/libfc/fc_exch.c
797
spin_unlock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
802
fc_exch_release(ep);
drivers/scsi/libfc/fc_exch.c
815
struct fc_exch *ep;
drivers/scsi/libfc/fc_exch.c
821
ep = mempool_alloc(mp->ep_pool, GFP_ATOMIC);
drivers/scsi/libfc/fc_exch.c
822
if (!ep) {
drivers/scsi/libfc/fc_exch.c
826
memset(ep, 0, sizeof(*ep));
drivers/scsi/libfc/fc_exch.c
857
fc_exch_hold(ep); /* hold for exch in mp */
drivers/scsi/libfc/fc_exch.c
858
spin_lock_init(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
864
spin_lock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
866
fc_exch_ptr_set(pool, index, ep);
drivers/scsi/libfc/fc_exch.c
867
list_add_tail(&ep->ex_list, &pool->ex_list);
drivers/scsi/libfc/fc_exch.c
868
fc_seq_alloc(ep, ep->seq_id++);
drivers/scsi/libfc/fc_exch.c
875
ep->oxid = ep->xid = (index << fc_cpu_order | cpu) + mp->min_xid;
drivers/scsi/libfc/fc_exch.c
876
ep->em = mp;
drivers/scsi/libfc/fc_exch.c
877
ep->pool = pool;
drivers/scsi/libfc/fc_exch.c
878
ep->lp = lport;
drivers/scsi/libfc/fc_exch.c
879
ep->f_ctl = FC_FC_FIRST_SEQ; /* next seq is first seq */
drivers/scsi/libfc/fc_exch.c
880
ep->rxid = FC_XID_UNKNOWN;
drivers/scsi/libfc/fc_exch.c
881
ep->class = mp->class;
drivers/scsi/libfc/fc_exch.c
882
ep->resp_active = 0;
drivers/scsi/libfc/fc_exch.c
883
init_waitqueue_head(&ep->resp_wq);
drivers/scsi/libfc/fc_exch.c
884
INIT_DELAYED_WORK(&ep->timeout_work, fc_exch_timeout);
drivers/scsi/libfc/fc_exch.c
886
return ep;
drivers/scsi/libfc/fc_exch.c
890
mempool_free(ep, mp->ep_pool);
drivers/scsi/libfc/fc_exch.c
909
struct fc_exch *ep;
drivers/scsi/libfc/fc_exch.c
913
ep = fc_exch_em_alloc(lport, ema->mp);
drivers/scsi/libfc/fc_exch.c
914
if (ep)
drivers/scsi/libfc/fc_exch.c
915
return ep;
drivers/scsi/libfc/fc_exch.c
930
struct fc_exch *ep = NULL;
drivers/scsi/libfc/fc_exch.c
945
ep = fc_exch_ptr_get(pool, (xid - mp->min_xid) >> fc_cpu_order);
drivers/scsi/libfc/fc_exch.c
946
if (ep == &fc_quarantine_exch) {
drivers/scsi/libfc/fc_exch.c
948
ep = NULL;
drivers/scsi/libfc/fc_exch.c
950
if (ep) {
drivers/scsi/libfc/fc_exch.c
951
WARN_ON(ep->xid != xid);
drivers/scsi/libfc/fc_exch.c
952
fc_exch_hold(ep);
drivers/scsi/libfc/fc_exch.c
956
return ep;
drivers/scsi/libfc/fc_exch.c
969
struct fc_exch *ep = fc_seq_exch(sp);
drivers/scsi/libfc/fc_exch.c
972
spin_lock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
973
rc = fc_exch_done_locked(ep);
drivers/scsi/libfc/fc_exch.c
974
spin_unlock_bh(&ep->ex_lock);
drivers/scsi/libfc/fc_exch.c
976
fc_seq_set_resp(sp, NULL, ep->arg);
drivers/scsi/libfc/fc_exch.c
978
fc_exch_delete(ep);
drivers/scsi/libfc/fc_exch.c
994
struct fc_exch *ep;
drivers/scsi/libfc/fc_exch.c
997
ep = fc_exch_alloc(lport, fp);
drivers/scsi/libfc/fc_exch.c
998
if (ep) {
drivers/scsi/libfc/fc_exch.c
999
ep->class = fc_frame_class(fp);
drivers/scsi/libfc/fc_fcp.c
1018
ep = fc_seq_exch(seq);
drivers/scsi/libfc/fc_fcp.c
1020
ep->did, ep->sid,
drivers/scsi/libfc/fc_fcp.c
1557
struct fc_exch *ep = fc_seq_exch(fsp->seq_ptr);
drivers/scsi/libfc/fc_fcp.c
1558
ep->state |= FC_EX_QUARANTINE;
drivers/scsi/libfc/fc_fcp.c
1719
struct fc_exch *ep = fc_seq_exch(fsp->seq_ptr);
drivers/scsi/libfc/fc_fcp.c
1737
srr->srr_ox_id = htons(ep->oxid);
drivers/scsi/libfc/fc_fcp.c
1738
srr->srr_rx_id = htons(ep->rxid);
drivers/scsi/libfc/fc_fcp.c
592
struct fc_exch *ep;
drivers/scsi/libfc/fc_fcp.c
713
ep = fc_seq_exch(seq);
drivers/scsi/libfc/fc_fcp.c
714
fc_fill_fc_hdr(fp, FC_RCTL_DD_SOL_DATA, ep->did, ep->sid,
drivers/scsi/libfc/fc_fcp.c
982
struct fc_exch *ep;
drivers/scsi/lpfc/lpfc_nvme.c
1009
ep = (struct nvme_fc_ersp_iu *)nCmd->rspaddr;
drivers/scsi/lpfc/lpfc_nvme.c
1027
ep->iu_len = cpu_to_be16(8);
drivers/scsi/lpfc/lpfc_nvme.c
1028
ep->rsn = wcqe->parameter;
drivers/scsi/lpfc/lpfc_nvme.c
1029
ep->xfrd_len = cpu_to_be32(nCmd->payload_length);
drivers/scsi/lpfc/lpfc_nvme.c
1030
ep->rsvd12 = 0;
drivers/scsi/lpfc/lpfc_nvme.c
1031
ptr = (uint32_t *)&ep->cqe.result.u64;
drivers/scsi/lpfc/lpfc_nvme.c
1035
ep->cqe.sq_head = sqhd;
drivers/scsi/lpfc/lpfc_nvme.c
1036
ep->cqe.sq_id = nCmd->sqid;
drivers/scsi/lpfc/lpfc_nvme.c
1037
ep->cqe.command_id = cid;
drivers/scsi/lpfc/lpfc_nvme.c
1038
ep->cqe.status = 0;
drivers/scsi/lpfc/lpfc_nvme.c
1072
ep = (struct nvme_fc_ersp_iu *)nCmd->rspaddr;
drivers/scsi/lpfc/lpfc_nvme.c
1087
ep->cqe.status);
drivers/scsi/lpfc/lpfc_nvme.c
1100
ep->cqe.status);
drivers/scsi/lpfc/lpfc_nvme.c
940
struct nvme_fc_ersp_iu *ep;
drivers/scsi/ncr53c8xx.c
795
char *ep;
drivers/scsi/ncr53c8xx.c
801
v = simple_strtoul(p, &ep, 0);
drivers/scsi/ncr53c8xx.c
830
p = ep;
drivers/scsi/qedi/qedi_fw.c
1042
task_params.sqe = &ep->sq[sq_idx];
drivers/scsi/qedi/qedi_fw.c
1073
struct qedi_endpoint *ep;
drivers/scsi/qedi/qedi_fw.c
1080
ep = qedi_conn->ep;
drivers/scsi/qedi/qedi_fw.c
1116
task_params.sqe = &ep->sq[sq_idx];
drivers/scsi/qedi/qedi_fw.c
1258
qedi_ep = qedi_conn->ep;
drivers/scsi/qedi/qedi_fw.c
1432
struct qedi_endpoint *ep;
drivers/scsi/qedi/qedi_fw.c
1439
ep = qedi_conn->ep;
drivers/scsi/qedi/qedi_fw.c
1440
if (!ep)
drivers/scsi/qedi/qedi_fw.c
1490
task_params.sqe = &ep->sq[sq_idx];
drivers/scsi/qedi/qedi_fw.c
1548
struct qedi_endpoint *ep;
drivers/scsi/qedi/qedi_fw.c
1557
ep = qedi_conn->ep;
drivers/scsi/qedi/qedi_fw.c
1614
task_params.sqe = &ep->sq[sq_idx];
drivers/scsi/qedi/qedi_fw.c
1647
struct qedi_endpoint *ep;
drivers/scsi/qedi/qedi_fw.c
1656
ep = qedi_conn->ep;
drivers/scsi/qedi/qedi_fw.c
1731
task_params.sqe = &ep->sq[sq_idx];
drivers/scsi/qedi/qedi_fw.c
1989
struct qedi_endpoint *ep;
drivers/scsi/qedi/qedi_fw.c
1996
ep = qedi_conn->ep;
drivers/scsi/qedi/qedi_fw.c
2093
task_params.sqe = &ep->sq[sq_idx];
drivers/scsi/qedi/qedi_fw.c
2131
struct qedi_endpoint *ep;
drivers/scsi/qedi/qedi_fw.c
2144
ep = qedi_conn->ep;
drivers/scsi/qedi/qedi_fw.c
2148
task_params.sqe = &ep->sq[sq_idx];
drivers/scsi/qedi/qedi_fw.c
925
qedi_conn->ep->db_data.sq_prod = qedi_conn->ep->fw_sq_prod_idx;
drivers/scsi/qedi/qedi_fw.c
929
writel(*(u32 *)&qedi_conn->ep->db_data, qedi_conn->ep->p_doorbell);
drivers/scsi/qedi/qedi_fw.c
938
qedi_conn->ep->sq_prod_idx, qedi_conn->ep->fw_sq_prod_idx,
drivers/scsi/qedi/qedi_fw.c
944
struct qedi_endpoint *ep;
drivers/scsi/qedi/qedi_fw.c
947
ep = qedi_conn->ep;
drivers/scsi/qedi/qedi_fw.c
948
rval = ep->sq_prod_idx;
drivers/scsi/qedi/qedi_fw.c
951
ep->sq_prod_idx++;
drivers/scsi/qedi/qedi_fw.c
952
ep->fw_sq_prod_idx++;
drivers/scsi/qedi/qedi_fw.c
953
if (ep->sq_prod_idx == QEDI_SQ_SIZE)
drivers/scsi/qedi/qedi_fw.c
954
ep->sq_prod_idx = 0;
drivers/scsi/qedi/qedi_fw.c
971
struct qedi_endpoint *ep;
drivers/scsi/qedi/qedi_fw.c
978
ep = qedi_conn->ep;
drivers/scsi/qedi/qedi_gbl.h
27
int qedi_alloc_sq(struct qedi_ctx *qedi, struct qedi_endpoint *ep);
drivers/scsi/qedi/qedi_gbl.h
28
void qedi_free_sq(struct qedi_ctx *qedi, struct qedi_endpoint *ep);
drivers/scsi/qedi/qedi_gbl.h
49
void qedi_process_iscsi_error(struct qedi_endpoint *ep,
drivers/scsi/qedi/qedi_gbl.h
54
void qedi_process_tcp_error(struct qedi_endpoint *ep,
drivers/scsi/qedi/qedi_iscsi.c
1018
return ep;
drivers/scsi/qedi/qedi_iscsi.c
1029
iscsi_destroy_endpoint(ep);
drivers/scsi/qedi/qedi_iscsi.c
1033
static int qedi_ep_poll(struct iscsi_endpoint *ep, int timeout_ms)
drivers/scsi/qedi/qedi_iscsi.c
1041
qedi_ep = ep->dd_data;
drivers/scsi/qedi/qedi_iscsi.c
1078
static void qedi_ep_disconnect(struct iscsi_endpoint *ep)
drivers/scsi/qedi/qedi_iscsi.c
1088
qedi_ep = ep->dd_data;
drivers/scsi/qedi/qedi_iscsi.c
1207
qedi_conn->ep = NULL;
drivers/scsi/qedi/qedi_iscsi.c
1213
iscsi_destroy_endpoint(ep);
drivers/scsi/qedi/qedi_iscsi.c
1647
void qedi_process_iscsi_error(struct qedi_endpoint *ep,
drivers/scsi/qedi/qedi_iscsi.c
1660
if (!ep)
drivers/scsi/qedi/qedi_iscsi.c
1663
qedi_conn = ep->conn;
drivers/scsi/qedi/qedi_iscsi.c
1667
qedi = ep->qedi;
drivers/scsi/qedi/qedi_iscsi.c
1694
void qedi_process_tcp_error(struct qedi_endpoint *ep,
drivers/scsi/qedi/qedi_iscsi.c
1699
if (!ep)
drivers/scsi/qedi/qedi_iscsi.c
1702
qedi_conn = ep->conn;
drivers/scsi/qedi/qedi_iscsi.c
1706
QEDI_ERR(&ep->qedi->dbg_ctx, "async event TCP error:0x%x\n",
drivers/scsi/qedi/qedi_iscsi.c
239
qedi_session_create(struct iscsi_endpoint *ep, u16 cmds_max,
drivers/scsi/qedi/qedi_iscsi.c
247
if (!ep)
drivers/scsi/qedi/qedi_iscsi.c
250
qedi_ep = ep->dd_data;
drivers/scsi/qedi/qedi_iscsi.c
313
qedi_conn->ep = NULL;
drivers/scsi/qedi/qedi_iscsi.c
390
struct iscsi_endpoint *ep;
drivers/scsi/qedi/qedi_iscsi.c
393
ep = iscsi_lookup_endpoint(transport_fd);
drivers/scsi/qedi/qedi_iscsi.c
394
if (!ep)
drivers/scsi/qedi/qedi_iscsi.c
397
qedi_ep = ep->dd_data;
drivers/scsi/qedi/qedi_iscsi.c
411
qedi_conn->ep = qedi_ep;
drivers/scsi/qedi/qedi_iscsi.c
412
qedi_conn->iscsi_ep = ep;
drivers/scsi/qedi/qedi_iscsi.c
428
iscsi_put_endpoint(ep);
drivers/scsi/qedi/qedi_iscsi.c
441
qedi_ep = qedi_conn->ep;
drivers/scsi/qedi/qedi_iscsi.c
665
static int qedi_ep_get_param(struct iscsi_endpoint *ep,
drivers/scsi/qedi/qedi_iscsi.c
668
struct qedi_endpoint *qedi_ep = ep->dd_data;
drivers/scsi/qedi/qedi_iscsi.c
899
struct iscsi_endpoint *ep;
drivers/scsi/qedi/qedi_iscsi.c
934
ep = iscsi_create_endpoint(sizeof(struct qedi_endpoint));
drivers/scsi/qedi/qedi_iscsi.c
935
if (!ep) {
drivers/scsi/qedi/qedi_iscsi.c
940
qedi_ep = ep->dd_data;
drivers/scsi/qedi/qedi_iscsi.h
152
struct qedi_endpoint *ep;
drivers/scsi/qedi/qedi_main.c
1756
int qedi_alloc_sq(struct qedi_ctx *qedi, struct qedi_endpoint *ep)
drivers/scsi/qedi/qedi_main.c
1763
if (!ep)
drivers/scsi/qedi/qedi_main.c
1767
ep->sq_mem_size = QEDI_SQ_SIZE * sizeof(struct iscsi_wqe);
drivers/scsi/qedi/qedi_main.c
1768
ep->sq_mem_size += QEDI_PAGE_SIZE - 1;
drivers/scsi/qedi/qedi_main.c
1770
ep->sq_pbl_size = (ep->sq_mem_size / QEDI_PAGE_SIZE) * sizeof(void *);
drivers/scsi/qedi/qedi_main.c
1771
ep->sq_pbl_size = ep->sq_pbl_size + QEDI_PAGE_SIZE;
drivers/scsi/qedi/qedi_main.c
1773
ep->sq = dma_alloc_coherent(&qedi->pdev->dev, ep->sq_mem_size,
drivers/scsi/qedi/qedi_main.c
1774
&ep->sq_dma, GFP_KERNEL);
drivers/scsi/qedi/qedi_main.c
1775
if (!ep->sq) {
drivers/scsi/qedi/qedi_main.c
1781
ep->sq_pbl = dma_alloc_coherent(&qedi->pdev->dev, ep->sq_pbl_size,
drivers/scsi/qedi/qedi_main.c
1782
&ep->sq_pbl_dma, GFP_KERNEL);
drivers/scsi/qedi/qedi_main.c
1783
if (!ep->sq_pbl) {
drivers/scsi/qedi/qedi_main.c
1791
num_pages = ep->sq_mem_size / QEDI_PAGE_SIZE;
drivers/scsi/qedi/qedi_main.c
1792
page = ep->sq_dma;
drivers/scsi/qedi/qedi_main.c
1793
pbl = (u32 *)ep->sq_pbl;
drivers/scsi/qedi/qedi_main.c
1806
dma_free_coherent(&qedi->pdev->dev, ep->sq_mem_size, ep->sq,
drivers/scsi/qedi/qedi_main.c
1807
ep->sq_dma);
drivers/scsi/qedi/qedi_main.c
1812
void qedi_free_sq(struct qedi_ctx *qedi, struct qedi_endpoint *ep)
drivers/scsi/qedi/qedi_main.c
1814
if (ep->sq_pbl)
drivers/scsi/qedi/qedi_main.c
1815
dma_free_coherent(&qedi->pdev->dev, ep->sq_pbl_size, ep->sq_pbl,
drivers/scsi/qedi/qedi_main.c
1816
ep->sq_pbl_dma);
drivers/scsi/qedi/qedi_main.c
1817
if (ep->sq)
drivers/scsi/qedi/qedi_main.c
1818
dma_free_coherent(&qedi->pdev->dev, ep->sq_mem_size, ep->sq,
drivers/scsi/qedi/qedi_main.c
1819
ep->sq_dma);
drivers/scsi/qedi/qedi_main.c
980
if (qedi_conn->ep->ip_type == TCP_IPV4)
drivers/scsi/qedi/qedi_main.c
982
qedi_conn->ep->dst_addr);
drivers/scsi/qedi/qedi_main.c
985
qedi_conn->ep->dst_addr);
drivers/scsi/qla2xxx/qla_isr.c
3051
uint8_t *ep = &sts24->data[20];
drivers/scsi/qla2xxx/qla_isr.c
3063
e_guard = get_unaligned_le16(ep + 2);
drivers/scsi/qla2xxx/qla_isr.c
3064
e_app_tag = get_unaligned_le16(ep + 0);
drivers/scsi/qla2xxx/qla_isr.c
3065
e_ref_tag = get_unaligned_le32(ep + 4);
drivers/scsi/qla2xxx/qla_target.c
3470
uint8_t *ep = &sts->expected_dif[0];
drivers/scsi/qla2xxx/qla_target.c
3481
cmd->e_guard = get_unaligned_be16(ep + 0);
drivers/scsi/qla2xxx/qla_target.c
3482
cmd->e_app_tag = get_unaligned_be16(ep + 2);
drivers/scsi/qla2xxx/qla_target.c
3483
cmd->e_ref_tag = get_unaligned_be32(ep + 4);
drivers/scsi/qla4xxx/ql4_os.c
123
static int qla4xxx_ep_poll(struct iscsi_endpoint *ep, int timeout_ms);
drivers/scsi/qla4xxx/ql4_os.c
124
static void qla4xxx_ep_disconnect(struct iscsi_endpoint *ep);
drivers/scsi/qla4xxx/ql4_os.c
125
static int qla4xxx_get_ep_param(struct iscsi_endpoint *ep,
drivers/scsi/qla4xxx/ql4_os.c
135
qla4xxx_session_create(struct iscsi_endpoint *ep, uint16_t cmds_max,
drivers/scsi/qla4xxx/ql4_os.c
1713
struct iscsi_endpoint *ep;
drivers/scsi/qla4xxx/ql4_os.c
1726
ep = iscsi_create_endpoint(sizeof(struct qla_endpoint));
drivers/scsi/qla4xxx/ql4_os.c
1727
if (!ep) {
drivers/scsi/qla4xxx/ql4_os.c
1732
qla_ep = ep->dd_data;
drivers/scsi/qla4xxx/ql4_os.c
1752
return ep;
drivers/scsi/qla4xxx/ql4_os.c
1755
static int qla4xxx_ep_poll(struct iscsi_endpoint *ep, int timeout_ms)
drivers/scsi/qla4xxx/ql4_os.c
1761
qla_ep = ep->dd_data;
drivers/scsi/qla4xxx/ql4_os.c
1771
static void qla4xxx_ep_disconnect(struct iscsi_endpoint *ep)
drivers/scsi/qla4xxx/ql4_os.c
1776
qla_ep = ep->dd_data;
drivers/scsi/qla4xxx/ql4_os.c
1780
iscsi_destroy_endpoint(ep);
drivers/scsi/qla4xxx/ql4_os.c
1783
static int qla4xxx_get_ep_param(struct iscsi_endpoint *ep,
drivers/scsi/qla4xxx/ql4_os.c
1787
struct qla_endpoint *qla_ep = ep->dd_data;
drivers/scsi/qla4xxx/ql4_os.c
3090
qla4xxx_session_create(struct iscsi_endpoint *ep,
drivers/scsi/qla4xxx/ql4_os.c
3102
if (!ep) {
drivers/scsi/qla4xxx/ql4_os.c
3107
qla_ep = ep->dd_data;
drivers/scsi/qla4xxx/ql4_os.c
3227
struct iscsi_endpoint *ep;
drivers/scsi/qla4xxx/ql4_os.c
3241
ep = iscsi_lookup_endpoint(transport_fd);
drivers/scsi/qla4xxx/ql4_os.c
3242
if (!ep)
drivers/scsi/qla4xxx/ql4_os.c
3246
qla_conn->qla_ep = ep->dd_data;
drivers/scsi/qla4xxx/ql4_os.c
3247
iscsi_put_endpoint(ep);
drivers/scsi/qla4xxx/ql4_os.c
6580
struct iscsi_endpoint *ep;
drivers/scsi/qla4xxx/ql4_os.c
6609
ep = qla4xxx_ep_connect(ha->host, (struct sockaddr *)dst_addr, 0);
drivers/scsi/qla4xxx/ql4_os.c
6611
if (IS_ERR(ep))
drivers/scsi/qla4xxx/ql4_os.c
6613
return ep;
drivers/scsi/qla4xxx/ql4_os.c
6910
struct iscsi_endpoint *ep;
drivers/scsi/qla4xxx/ql4_os.c
6955
ep = qla4xxx_get_ep_fwdb(ha, fw_ddb_entry);
drivers/scsi/qla4xxx/ql4_os.c
6956
if (ep) {
drivers/scsi/qla4xxx/ql4_os.c
6957
ep->conn = cls_conn;
drivers/scsi/qla4xxx/ql4_os.c
6958
cls_conn->ep = ep;
drivers/scsi/qla4xxx/ql4_os.c
7719
iscsi_destroy_endpoint(ddb_entry->conn->ep);
drivers/scsi/qla4xxx/ql4_os.c
9002
iscsi_destroy_endpoint(ddb_entry->conn->ep);
drivers/scsi/scsi_transport_iscsi.c
173
struct iscsi_endpoint *ep = iscsi_dev_to_endpoint(dev);
drivers/scsi/scsi_transport_iscsi.c
176
idr_remove(&iscsi_ep_idr, ep->id);
drivers/scsi/scsi_transport_iscsi.c
179
kfree(ep);
drivers/scsi/scsi_transport_iscsi.c
190
struct iscsi_endpoint *ep = iscsi_dev_to_endpoint(dev);
drivers/scsi/scsi_transport_iscsi.c
191
return sysfs_emit(buf, "%d\n", ep->id);
drivers/scsi/scsi_transport_iscsi.c
193
static ISCSI_ATTR(ep, handle, S_IRUGO, show_ep_handle, NULL);
drivers/scsi/scsi_transport_iscsi.c
207
struct iscsi_endpoint *ep;
drivers/scsi/scsi_transport_iscsi.c
210
ep = kzalloc(sizeof(*ep) + dd_size, GFP_KERNEL);
drivers/scsi/scsi_transport_iscsi.c
211
if (!ep)
drivers/scsi/scsi_transport_iscsi.c
220
id = idr_alloc(&iscsi_ep_idr, ep, 1, -1, GFP_NOIO);
drivers/scsi/scsi_transport_iscsi.c
2227
struct iscsi_endpoint *ep;
drivers/scsi/scsi_transport_iscsi.c
2232
if (!conn->ep || !session->transport->ep_disconnect)
drivers/scsi/scsi_transport_iscsi.c
2235
ep = conn->ep;
drivers/scsi/scsi_transport_iscsi.c
2236
conn->ep = NULL;
drivers/scsi/scsi_transport_iscsi.c
2239
session->transport->ep_disconnect(ep);
drivers/scsi/scsi_transport_iscsi.c
2244
struct iscsi_endpoint *ep,
drivers/scsi/scsi_transport_iscsi.c
2262
iscsi_put_endpoint(ep);
drivers/scsi/scsi_transport_iscsi.c
2276
if (conn->ep)
drivers/scsi/scsi_transport_iscsi.c
2277
iscsi_if_disconnect_bound_ep(conn, conn->ep, true);
drivers/scsi/scsi_transport_iscsi.c
229
ep->id = id;
drivers/scsi/scsi_transport_iscsi.c
230
ep->dev.class = &iscsi_endpoint_class;
drivers/scsi/scsi_transport_iscsi.c
231
dev_set_name(&ep->dev, "ep-%d", id);
drivers/scsi/scsi_transport_iscsi.c
232
err = device_register(&ep->dev);
drivers/scsi/scsi_transport_iscsi.c
2325
if (conn->ep)
drivers/scsi/scsi_transport_iscsi.c
2326
get_device(&conn->ep->dev);
drivers/scsi/scsi_transport_iscsi.c
236
err = sysfs_create_group(&ep->dev.kobj, &iscsi_endpoint_group);
drivers/scsi/scsi_transport_iscsi.c
241
ep->dd_data = &ep[1];
drivers/scsi/scsi_transport_iscsi.c
242
return ep;
drivers/scsi/scsi_transport_iscsi.c
245
device_unregister(&ep->dev);
drivers/scsi/scsi_transport_iscsi.c
252
put_device(&ep->dev);
drivers/scsi/scsi_transport_iscsi.c
255
kfree(ep);
drivers/scsi/scsi_transport_iscsi.c
260
void iscsi_destroy_endpoint(struct iscsi_endpoint *ep)
drivers/scsi/scsi_transport_iscsi.c
262
sysfs_remove_group(&ep->dev.kobj, &iscsi_endpoint_group);
drivers/scsi/scsi_transport_iscsi.c
263
device_unregister(&ep->dev);
drivers/scsi/scsi_transport_iscsi.c
267
void iscsi_put_endpoint(struct iscsi_endpoint *ep)
drivers/scsi/scsi_transport_iscsi.c
269
put_device(&ep->dev);
drivers/scsi/scsi_transport_iscsi.c
281
struct iscsi_endpoint *ep;
drivers/scsi/scsi_transport_iscsi.c
284
ep = idr_find(&iscsi_ep_idr, handle);
drivers/scsi/scsi_transport_iscsi.c
285
if (!ep)
drivers/scsi/scsi_transport_iscsi.c
288
get_device(&ep->dev);
drivers/scsi/scsi_transport_iscsi.c
291
return ep;
drivers/scsi/scsi_transport_iscsi.c
2924
iscsi_if_create_session(struct iscsi_internal *priv, struct iscsi_endpoint *ep,
drivers/scsi/scsi_transport_iscsi.c
2933
session = transport->create_session(ep, cmds_max, queue_depth,
drivers/scsi/scsi_transport_iscsi.c
3035
struct iscsi_endpoint *ep;
drivers/scsi/scsi_transport_iscsi.c
3056
ep = transport->ep_connect(shost, dst_addr, non_blocking);
drivers/scsi/scsi_transport_iscsi.c
3057
if (IS_ERR(ep)) {
drivers/scsi/scsi_transport_iscsi.c
3058
err = PTR_ERR(ep);
drivers/scsi/scsi_transport_iscsi.c
3062
ev->r.ep_connect_ret.handle = ep->id;
drivers/scsi/scsi_transport_iscsi.c
3073
struct iscsi_endpoint *ep;
drivers/scsi/scsi_transport_iscsi.c
3078
ep = iscsi_lookup_endpoint(ep_handle);
drivers/scsi/scsi_transport_iscsi.c
3079
if (!ep)
drivers/scsi/scsi_transport_iscsi.c
3082
conn = ep->conn;
drivers/scsi/scsi_transport_iscsi.c
3088
transport->ep_disconnect(ep);
drivers/scsi/scsi_transport_iscsi.c
3093
iscsi_if_disconnect_bound_ep(conn, ep, false);
drivers/scsi/scsi_transport_iscsi.c
3096
iscsi_put_endpoint(ep);
drivers/scsi/scsi_transport_iscsi.c
3104
struct iscsi_endpoint *ep;
drivers/scsi/scsi_transport_iscsi.c
3119
ep = iscsi_lookup_endpoint(ev->u.ep_poll.ep_handle);
drivers/scsi/scsi_transport_iscsi.c
3120
if (!ep)
drivers/scsi/scsi_transport_iscsi.c
3123
ev->r.retcode = transport->ep_poll(ep,
drivers/scsi/scsi_transport_iscsi.c
3125
iscsi_put_endpoint(ep);
drivers/scsi/scsi_transport_iscsi.c
3778
struct iscsi_endpoint *ep;
drivers/scsi/scsi_transport_iscsi.c
3845
ep = iscsi_lookup_endpoint(ev->u.b_conn.transport_eph);
drivers/scsi/scsi_transport_iscsi.c
3846
if (ep) {
drivers/scsi/scsi_transport_iscsi.c
3847
ep->conn = conn;
drivers/scsi/scsi_transport_iscsi.c
3848
conn->ep = ep;
drivers/scsi/scsi_transport_iscsi.c
3849
iscsi_put_endpoint(ep);
drivers/scsi/scsi_transport_iscsi.c
3891
struct iscsi_endpoint *ep = NULL;
drivers/scsi/scsi_transport_iscsi.c
3921
err = iscsi_if_create_session(priv, ep, ev,
drivers/scsi/scsi_transport_iscsi.c
3928
ep = iscsi_lookup_endpoint(ev->u.c_bound_session.ep_handle);
drivers/scsi/scsi_transport_iscsi.c
3929
if (!ep) {
drivers/scsi/scsi_transport_iscsi.c
3934
err = iscsi_if_create_session(priv, ep, ev,
drivers/scsi/scsi_transport_iscsi.c
3939
iscsi_put_endpoint(ep);
drivers/scsi/scsi_transport_iscsi.c
4188
struct iscsi_endpoint *ep; \
drivers/scsi/scsi_transport_iscsi.c
4196
ep = conn->ep; \
drivers/scsi/scsi_transport_iscsi.c
4197
if (!ep && t->ep_connect) { \
drivers/scsi/scsi_transport_iscsi.c
4202
if (ep) \
drivers/scsi/scsi_transport_iscsi.c
4203
rc = t->get_ep_param(ep, param, buf); \
drivers/soc/apple/rtkit.c
156
int i, ep;
drivers/soc/apple/rtkit.c
166
ep = 32 * base + i;
drivers/soc/apple/rtkit.c
167
dev_dbg(rtk->dev, "RTKit: Discovered endpoint 0x%02x\n", ep);
drivers/soc/apple/rtkit.c
168
set_bit(ep, rtk->endpoints);
drivers/soc/apple/rtkit.c
182
for_each_set_bit(ep, rtk->endpoints, APPLE_RTKIT_APP_ENDPOINT_START) {
drivers/soc/apple/rtkit.c
183
switch (ep) {
drivers/soc/apple/rtkit.c
195
"RTKit: Starting system endpoint 0x%02x\n", ep);
drivers/soc/apple/rtkit.c
196
apple_rtkit_start_ep(rtk, ep);
drivers/soc/apple/rtkit.c
202
ep);
drivers/soc/apple/rtkit.c
261
u8 ep, u64 msg)
drivers/soc/apple/rtkit.c
267
if (ep == APPLE_RTKIT_EP_OSLOG) {
drivers/soc/apple/rtkit.c
302
if (ep == APPLE_RTKIT_EP_OSLOG) {
drivers/soc/apple/rtkit.c
316
apple_rtkit_send_message(rtk, ep, reply, NULL, false);
drivers/soc/apple/rtkit.c
534
switch (rtk_work->ep) {
drivers/soc/apple/rtkit.c
552
rtk->ops->recv_message(rtk->cookie, rtk_work->ep,
drivers/soc/apple/rtkit.c
558
rtk_work->ep, rtk_work->msg);
drivers/soc/apple/rtkit.c
563
rtk_work->ep, rtk_work->msg);
drivers/soc/apple/rtkit.c
574
u8 ep = msg.msg1;
drivers/soc/apple/rtkit.c
583
if (!test_bit(ep, rtk->endpoints))
drivers/soc/apple/rtkit.c
586
ep);
drivers/soc/apple/rtkit.c
588
if (ep >= APPLE_RTKIT_APP_ENDPOINT_START &&
drivers/soc/apple/rtkit.c
590
rtk->ops->recv_message_early(rtk->cookie, ep, msg.msg0))
drivers/soc/apple/rtkit.c
598
work->ep = ep;
drivers/soc/apple/rtkit.c
604
int apple_rtkit_send_message(struct apple_rtkit *rtk, u8 ep, u64 message,
drivers/soc/apple/rtkit.c
609
.msg1 = ep,
drivers/soc/apple/rtkit.c
618
if (ep >= APPLE_RTKIT_APP_ENDPOINT_START &&
drivers/soc/apple/rtkit.c
621
"RTKit: Endpoint 0x%02x is not running, cannot send message\n", ep);
drivers/soc/apple/rtkit.c
79
u8 ep;
drivers/soc/fsl/dpio/qbman-portal.c
212
int dp, int de, int ep)
drivers/soc/fsl/dpio/qbman-portal.c
225
ep << SWP_CFG_EP_SHIFT);
drivers/staging/media/atomisp/pci/atomisp_csi2_bridge.c
516
struct fwnode_handle *ep;
drivers/staging/media/atomisp/pci/atomisp_csi2_bridge.c
518
ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(isp->dev), i, 0,
drivers/staging/media/atomisp/pci/atomisp_csi2_bridge.c
520
if (!ep)
drivers/staging/media/atomisp/pci/atomisp_csi2_bridge.c
523
ret = v4l2_fwnode_endpoint_parse(ep, &vep);
drivers/staging/media/atomisp/pci/atomisp_csi2_bridge.c
536
s_asd = v4l2_async_nf_add_fwnode_remote(&isp->notifier, ep,
drivers/staging/media/atomisp/pci/atomisp_csi2_bridge.c
545
fwnode_handle_put(ep);
drivers/staging/media/atomisp/pci/atomisp_csi2_bridge.c
549
fwnode_handle_put(ep);
drivers/staging/media/imx/imx-media-csi.c
1925
struct fwnode_handle *ep;
drivers/staging/media/imx/imx-media-csi.c
1936
ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(priv->dev->parent),
drivers/staging/media/imx/imx-media-csi.c
1939
if (ep) {
drivers/staging/media/imx/imx-media-csi.c
1940
asd = v4l2_async_nf_add_fwnode_remote(&priv->notifier, ep,
drivers/staging/media/imx/imx-media-csi.c
1943
fwnode_handle_put(ep);
drivers/staging/media/imx/imx6-mipi-csi2.c
680
struct fwnode_handle *ep;
drivers/staging/media/imx/imx6-mipi-csi2.c
685
ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(csi2->dev), 0, 0,
drivers/staging/media/imx/imx6-mipi-csi2.c
687
if (!ep)
drivers/staging/media/imx/imx6-mipi-csi2.c
690
ret = v4l2_fwnode_endpoint_parse(ep, &vep);
drivers/staging/media/imx/imx6-mipi-csi2.c
699
asd = v4l2_async_nf_add_fwnode_remote(&csi2->notifier, ep,
drivers/staging/media/imx/imx6-mipi-csi2.c
701
fwnode_handle_put(ep);
drivers/staging/media/imx/imx6-mipi-csi2.c
715
fwnode_handle_put(ep);
drivers/staging/media/ipu7/ipu7-isys.c
199
struct fwnode_handle *ep;
drivers/staging/media/ipu7/ipu7-isys.c
201
ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(dev), i, 0,
drivers/staging/media/ipu7/ipu7-isys.c
203
if (!ep)
drivers/staging/media/ipu7/ipu7-isys.c
206
ret = v4l2_fwnode_endpoint_parse(ep, &vep);
drivers/staging/media/ipu7/ipu7-isys.c
218
s_asd = v4l2_async_nf_add_fwnode_remote(&isys->notifier, ep,
drivers/staging/media/ipu7/ipu7-isys.c
230
fwnode_handle_put(ep);
drivers/staging/media/ipu7/ipu7-isys.c
235
fwnode_handle_put(ep);
drivers/staging/media/max96712/max96712.c
356
struct fwnode_handle *ep;
drivers/staging/media/max96712/max96712.c
363
ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(&priv->client->dev), 4,
drivers/staging/media/max96712/max96712.c
365
if (!ep) {
drivers/staging/media/max96712/max96712.c
370
ret = v4l2_fwnode_endpoint_parse(ep, &v4l2_ep);
drivers/staging/media/max96712/max96712.c
371
fwnode_handle_put(ep);
drivers/staging/media/tegra-video/csi.c
534
struct device_node *ep;
drivers/staging/media/tegra-video/csi.c
553
ep = of_graph_get_endpoint_by_regs(channel, 0, 0);
drivers/staging/media/tegra-video/csi.c
554
if (!ep)
drivers/staging/media/tegra-video/csi.c
557
fwh = of_fwnode_handle(ep);
drivers/staging/media/tegra-video/csi.c
559
of_node_put(ep);
drivers/staging/media/tegra-video/vi.c
1256
struct device_node *ep = NULL;
drivers/staging/media/tegra-video/vi.c
1284
ep = of_get_child_by_name(port, "endpoint");
drivers/staging/media/tegra-video/vi.c
1285
if (!ep)
drivers/staging/media/tegra-video/vi.c
1288
parent = of_graph_get_remote_port_parent(ep);
drivers/staging/media/tegra-video/vi.c
1289
of_node_put(ep);
drivers/staging/media/tegra-video/vi.c
1293
ep = of_graph_get_endpoint_by_regs(parent, 0, 0);
drivers/staging/media/tegra-video/vi.c
1295
ret = v4l2_fwnode_endpoint_parse(of_fwnode_handle(ep),
drivers/staging/media/tegra-video/vi.c
1297
of_node_put(ep);
drivers/staging/media/tegra-video/vi.c
1485
struct fwnode_handle *ep = NULL;
drivers/staging/media/tegra-video/vi.c
1497
ep = fwnode_graph_get_next_endpoint(entity->asd.match.fwnode,
drivers/staging/media/tegra-video/vi.c
1498
ep);
drivers/staging/media/tegra-video/vi.c
1499
if (!ep)
drivers/staging/media/tegra-video/vi.c
1502
ret = v4l2_fwnode_parse_link(ep, &link);
drivers/staging/media/tegra-video/vi.c
1505
to_of_node(ep), ret);
drivers/staging/media/tegra-video/vi.c
1579
fwnode_handle_put(ep);
drivers/staging/media/tegra-video/vi.c
1701
struct fwnode_handle *ep = NULL;
drivers/staging/media/tegra-video/vi.c
1711
ep = of_fwnode_handle(node);
drivers/staging/media/tegra-video/vi.c
1712
remote = fwnode_graph_get_remote_port_parent(ep);
drivers/staging/media/tegra-video/vi.c
1772
struct fwnode_handle *ep, *remote;
drivers/staging/media/tegra-video/vi.c
1774
ep = fwnode_graph_get_endpoint_by_id(fwnode,
drivers/staging/media/tegra-video/vi.c
1776
if (!ep)
drivers/staging/media/tegra-video/vi.c
1779
remote = fwnode_graph_get_remote_port_parent(ep);
drivers/staging/media/tegra-video/vi.c
1780
fwnode_handle_put(ep);
drivers/staging/media/tegra-video/vip.c
119
struct device_node *ep;
drivers/staging/media/tegra-video/vip.c
125
ep = of_graph_get_endpoint_by_regs(np, 0, 0);
drivers/staging/media/tegra-video/vip.c
126
if (!ep) {
drivers/staging/media/tegra-video/vip.c
132
fwh = of_fwnode_handle(ep);
drivers/staging/media/tegra-video/vip.c
134
of_node_put(ep);
drivers/target/tcm_fc/tfc_cmd.c
106
struct fc_exch *ep;
drivers/target/tcm_fc/tfc_cmd.c
113
ep = fc_seq_exch(cmd->seq);
drivers/target/tcm_fc/tfc_cmd.c
114
lport = ep->lp;
drivers/target/tcm_fc/tfc_cmd.c
149
fc_fill_fc_hdr(fp, FC_RCTL_DD_CMD_STATUS, ep->did, ep->sid, FC_TYPE_FCP,
drivers/target/tcm_fc/tfc_cmd.c
155
"xid <0x%x>\n", __func__, fp, ep->xid);
drivers/target/tcm_fc/tfc_cmd.c
183
struct fc_exch *ep;
drivers/target/tcm_fc/tfc_cmd.c
191
ep = fc_seq_exch(cmd->seq);
drivers/target/tcm_fc/tfc_cmd.c
192
lport = ep->lp;
drivers/target/tcm_fc/tfc_cmd.c
202
fc_fill_fc_hdr(fp, FC_RCTL_DD_DATA_DESC, ep->did, ep->sid, FC_TYPE_FCP,
drivers/target/tcm_fc/tfc_cmd.c
213
if ((ep->xid <= lport->lro_xid) &&
drivers/target/tcm_fc/tfc_cmd.c
216
lport->tt.ddp_target(lport, ep->xid,
drivers/target/tcm_fc/tfc_cmd.c
33
struct fc_exch *ep;
drivers/target/tcm_fc/tfc_cmd.c
55
ep = fc_seq_exch(sp);
drivers/target/tcm_fc/tfc_cmd.c
58
caller, cmd, ep->sid, ep->did, ep->oxid, ep->rxid,
drivers/target/tcm_fc/tfc_cmd.c
59
sp->id, ep->esb_stat);
drivers/target/tcm_fc/tfc_io.c
161
fc_fill_fc_hdr(fp, FC_RCTL_DD_SOL_DATA, ep->did, ep->sid,
drivers/target/tcm_fc/tfc_io.c
168
__func__, fp, ep->xid,
drivers/target/tcm_fc/tfc_io.c
199
struct fc_exch *ep;
drivers/target/tcm_fc/tfc_io.c
220
ep = fc_seq_exch(seq);
drivers/target/tcm_fc/tfc_io.c
221
lport = ep->lp;
drivers/target/tcm_fc/tfc_io.c
235
"not set\n", __func__, ep->xid, f_ctl,
drivers/target/tcm_fc/tfc_io.c
330
struct fc_exch *ep = NULL;
drivers/target/tcm_fc/tfc_io.c
338
ep = fc_seq_exch(seq);
drivers/target/tcm_fc/tfc_io.c
339
if (ep) {
drivers/target/tcm_fc/tfc_io.c
340
lport = ep->lp;
drivers/target/tcm_fc/tfc_io.c
341
if (lport && (ep->xid <= lport->lro_xid)) {
drivers/target/tcm_fc/tfc_io.c
347
ep->xid);
drivers/target/tcm_fc/tfc_io.c
45
struct fc_exch *ep;
drivers/target/tcm_fc/tfc_io.c
70
ep = fc_seq_exch(cmd->seq);
drivers/target/tcm_fc/tfc_io.c
71
lport = ep->lp;
drivers/target/tcm_fc/tfc_io.c
95
__func__, ep->xid);
drivers/thunderbolt/icm.c
157
const struct ep_name_entry *ep = ep_name;
drivers/thunderbolt/icm.c
159
if (!ep->len)
drivers/thunderbolt/icm.c
161
if (ep_name + ep->len > end)
drivers/thunderbolt/icm.c
164
if (ep->type == EP_NAME_INTEL_VSS)
drivers/thunderbolt/icm.c
165
return (const struct intel_vss *)ep->data;
drivers/thunderbolt/icm.c
167
ep_name += ep->len;
drivers/usb/atm/xusbatm.c
38
static struct usb_interface *xusbatm_find_intf(struct usb_device *usb_dev, int altsetting, u8 ep)
drivers/usb/atm/xusbatm.c
47
if (alt->endpoint[j].desc.bEndpointAddress == ep)
drivers/usb/c67x00/c67x00-hcd.h
110
struct usb_host_endpoint *ep);
drivers/usb/c67x00/c67x00-sched.c
233
struct usb_host_endpoint *hep = urb->ep;
drivers/usb/c67x00/c67x00-sched.c
305
void c67x00_endpoint_disable(struct usb_hcd *hcd, struct usb_host_endpoint *ep)
drivers/usb/c67x00/c67x00-sched.c
310
if (!list_empty(&ep->urb_list))
drivers/usb/c67x00/c67x00-sched.c
316
while (c67x00_ep_data_free(ep)) {
drivers/usb/c67x00/c67x00.h
91
#define DEVICE_N_ENDPOINT_N_CTL_REG(dev, ep) ((dev) \
drivers/usb/c67x00/c67x00.h
92
? (0x0280 + (ep << 4)) \
drivers/usb/c67x00/c67x00.h
93
: (0x0200 + (ep << 4)))
drivers/usb/c67x00/c67x00.h
94
#define DEVICE_N_ENDPOINT_N_STAT_REG(dev, ep) ((dev) \
drivers/usb/c67x00/c67x00.h
95
? (0x0286 + (ep << 4)) \
drivers/usb/c67x00/c67x00.h
96
: (0x0206 + (ep << 4)))
drivers/usb/cdns3/cdns3-ep0.c
648
static int cdns3_gadget_ep0_enable(struct usb_ep *ep,
drivers/usb/cdns3/cdns3-ep0.c
661
static int cdns3_gadget_ep0_disable(struct usb_ep *ep)
drivers/usb/cdns3/cdns3-ep0.c
673
static int cdns3_gadget_ep0_set_halt(struct usb_ep *ep, int value)
drivers/usb/cdns3/cdns3-ep0.c
687
static int cdns3_gadget_ep0_queue(struct usb_ep *ep,
drivers/usb/cdns3/cdns3-ep0.c
691
struct cdns3_endpoint *priv_ep = ep_to_cdns3_ep(ep);
drivers/usb/cdns3/cdns3-ep0.c
765
(request->length % ep->maxpacket == 0))
drivers/usb/cdns3/cdns3-ep0.c
781
int cdns3_gadget_ep_set_wedge(struct usb_ep *ep)
drivers/usb/cdns3/cdns3-ep0.c
783
struct cdns3_endpoint *priv_ep = ep_to_cdns3_ep(ep);
drivers/usb/cdns3/cdns3-ep0.c
786
dev_dbg(priv_dev->dev, "Wedge for %s\n", ep->name);
drivers/usb/cdns3/cdns3-ep0.c
787
cdns3_gadget_ep_set_halt(ep, 1);
drivers/usb/cdns3/cdns3-gadget.c
1424
struct usb_ep *ep;
drivers/usb/cdns3/cdns3-gadget.c
1436
list_for_each_entry(ep, &priv_dev->gadget.ep_list, ep_list) {
drivers/usb/cdns3/cdns3-gadget.c
1437
if (ep->enabled) {
drivers/usb/cdns3/cdns3-gadget.c
1438
priv_ep = ep_to_cdns3_ep(ep);
drivers/usb/cdns3/cdns3-gadget.c
163
void cdns3_select_ep(struct cdns3_device *priv_dev, u32 ep)
drivers/usb/cdns3/cdns3-gadget.c
165
if (priv_dev->selected_ep == ep)
drivers/usb/cdns3/cdns3-gadget.c
168
priv_dev->selected_ep = ep;
drivers/usb/cdns3/cdns3-gadget.c
169
writel(ep, &priv_dev->regs->ep_sel);
drivers/usb/cdns3/cdns3-gadget.c
2229
struct usb_ep *ep;
drivers/usb/cdns3/cdns3-gadget.c
2232
list_for_each_entry(ep, &priv_dev->gadget.ep_list, ep_list) {
drivers/usb/cdns3/cdns3-gadget.c
2236
char c[2] = {ep->name[2], '\0'};
drivers/usb/cdns3/cdns3-gadget.c
2242
priv_ep = ep_to_cdns3_ep(ep);
drivers/usb/cdns3/cdns3-gadget.c
2312
struct usb_request *cdns3_gadget_ep_alloc_request(struct usb_ep *ep,
drivers/usb/cdns3/cdns3-gadget.c
2315
struct cdns3_endpoint *priv_ep = ep_to_cdns3_ep(ep);
drivers/usb/cdns3/cdns3-gadget.c
2333
void cdns3_gadget_ep_free_request(struct usb_ep *ep,
drivers/usb/cdns3/cdns3-gadget.c
2352
static int cdns3_gadget_ep_enable(struct usb_ep *ep,
drivers/usb/cdns3/cdns3-gadget.c
2365
if (!ep) {
drivers/usb/cdns3/cdns3-gadget.c
2370
priv_ep = ep_to_cdns3_ep(ep);
drivers/usb/cdns3/cdns3-gadget.c
2467
ep->desc = desc;
drivers/usb/cdns3/cdns3-gadget.c
2491
static int cdns3_gadget_ep_disable(struct usb_ep *ep)
drivers/usb/cdns3/cdns3-gadget.c
2502
if (!ep) {
drivers/usb/cdns3/cdns3-gadget.c
2507
priv_ep = ep_to_cdns3_ep(ep);
drivers/usb/cdns3/cdns3-gadget.c
2518
cdns3_select_ep(priv_dev, ep->desc->bEndpointAddress);
drivers/usb/cdns3/cdns3-gadget.c
2566
ep->desc = NULL;
drivers/usb/cdns3/cdns3-gadget.c
2583
static int __cdns3_gadget_ep_queue(struct usb_ep *ep,
drivers/usb/cdns3/cdns3-gadget.c
2587
struct cdns3_endpoint *priv_ep = ep_to_cdns3_ep(ep);
drivers/usb/cdns3/cdns3-gadget.c
2592
if (!ep->desc)
drivers/usb/cdns3/cdns3-gadget.c
2614
usb_endpoint_dir_in(ep->desc));
drivers/usb/cdns3/cdns3-gadget.c
2641
static int cdns3_gadget_ep_queue(struct usb_ep *ep, struct usb_request *request,
drivers/usb/cdns3/cdns3-gadget.c
2650
if (!request || !ep)
drivers/usb/cdns3/cdns3-gadget.c
2653
priv_ep = ep_to_cdns3_ep(ep);
drivers/usb/cdns3/cdns3-gadget.c
2658
ret = __cdns3_gadget_ep_queue(ep, request, gfp_flags);
drivers/usb/cdns3/cdns3-gadget.c
2661
(request->length % ep->maxpacket == 0)) {
drivers/usb/cdns3/cdns3-gadget.c
2664
zlp_request = cdns3_gadget_ep_alloc_request(ep, GFP_ATOMIC);
drivers/usb/cdns3/cdns3-gadget.c
2673
ret = __cdns3_gadget_ep_queue(ep, zlp_request, gfp_flags);
drivers/usb/cdns3/cdns3-gadget.c
2687
int cdns3_gadget_ep_dequeue(struct usb_ep *ep,
drivers/usb/cdns3/cdns3-gadget.c
2690
struct cdns3_endpoint *priv_ep = ep_to_cdns3_ep(ep);
drivers/usb/cdns3/cdns3-gadget.c
2700
if (!ep || !request || !ep->desc)
drivers/usb/cdns3/cdns3-gadget.c
2711
cdns3_select_ep(priv_dev, ep->desc->bEndpointAddress);
drivers/usb/cdns3/cdns3-gadget.c
2837
int cdns3_gadget_ep_set_halt(struct usb_ep *ep, int value)
drivers/usb/cdns3/cdns3-gadget.c
2839
struct cdns3_endpoint *priv_ep = ep_to_cdns3_ep(ep);
drivers/usb/cdns3/cdns3-gadget.c
2849
cdns3_select_ep(priv_dev, ep->desc->bEndpointAddress);
drivers/usb/cdns3/cdns3-gadget.c
3042
struct usb_ep *ep;
drivers/usb/cdns3/cdns3-gadget.c
3051
list_for_each_entry(ep, &priv_dev->gadget.ep_list, ep_list) {
drivers/usb/cdns3/cdns3-gadget.c
3052
priv_ep = ep_to_cdns3_ep(ep);
drivers/usb/cdns3/cdns3-gadget.c
3084
struct usb_ep *ep;
drivers/usb/cdns3/cdns3-gadget.c
3091
list_for_each_entry(ep, &gadget->ep_list, ep_list) {
drivers/usb/cdns3/cdns3-gadget.c
3092
priv_ep = ep_to_cdns3_ep(ep);
drivers/usb/cdns3/cdns3-gadget.c
3097
if (ep->address & USB_DIR_IN) {
drivers/usb/cdns3/cdns3-gadget.c
72
static int __cdns3_gadget_ep_queue(struct usb_ep *ep,
drivers/usb/cdns3/cdns3-gadget.h
1351
void cdns3_select_ep(struct cdns3_device *priv_dev, u32 ep);
drivers/usb/cdns3/cdns3-gadget.h
1357
int cdns3_gadget_ep_set_wedge(struct usb_ep *ep);
drivers/usb/cdns3/cdns3-gadget.h
1358
int cdns3_gadget_ep_set_halt(struct usb_ep *ep, int value);
drivers/usb/cdns3/cdns3-gadget.h
1361
struct usb_request *cdns3_gadget_ep_alloc_request(struct usb_ep *ep,
drivers/usb/cdns3/cdns3-gadget.h
1363
void cdns3_gadget_ep_free_request(struct usb_ep *ep,
drivers/usb/cdns3/cdns3-gadget.h
1365
int cdns3_gadget_ep_dequeue(struct usb_ep *ep, struct usb_request *request);
drivers/usb/cdns3/cdns3-gadget.h
967
#define ep_to_cdns3_ep(ep) (container_of(ep, struct cdns3_endpoint, endpoint))
drivers/usb/cdns3/cdnsp-gadget.c
1038
static int cdnsp_gadget_ep_disable(struct usb_ep *ep)
drivers/usb/cdns3/cdnsp-gadget.c
1048
if (!ep)
drivers/usb/cdns3/cdnsp-gadget.c
1051
pep = to_cdnsp_ep(ep);
drivers/usb/cdns3/cdnsp-gadget.c
1099
static struct usb_request *cdnsp_gadget_ep_alloc_request(struct usb_ep *ep,
drivers/usb/cdns3/cdnsp-gadget.c
1102
struct cdnsp_ep *pep = to_cdnsp_ep(ep);
drivers/usb/cdns3/cdnsp-gadget.c
1117
static void cdnsp_gadget_ep_free_request(struct usb_ep *ep,
drivers/usb/cdns3/cdnsp-gadget.c
1126
static int cdnsp_gadget_ep_queue(struct usb_ep *ep,
drivers/usb/cdns3/cdnsp-gadget.c
1136
if (!request || !ep)
drivers/usb/cdns3/cdnsp-gadget.c
1139
pep = to_cdnsp_ep(ep);
drivers/usb/cdns3/cdnsp-gadget.c
1156
static int cdnsp_gadget_ep_dequeue(struct usb_ep *ep,
drivers/usb/cdns3/cdnsp-gadget.c
1159
struct cdnsp_ep *pep = to_cdnsp_ep(ep);
drivers/usb/cdns3/cdnsp-gadget.c
1185
static int cdnsp_gadget_ep_set_halt(struct usb_ep *ep, int value)
drivers/usb/cdns3/cdnsp-gadget.c
1187
struct cdnsp_ep *pep = to_cdnsp_ep(ep);
drivers/usb/cdns3/cdnsp-gadget.c
1211
static int cdnsp_gadget_ep_set_wedge(struct usb_ep *ep)
drivers/usb/cdns3/cdnsp-gadget.c
1213
struct cdnsp_ep *pep = to_cdnsp_ep(ep);
drivers/usb/cdns3/cdnsp-gadget.c
964
static int cdnsp_gadget_ep_enable(struct usb_ep *ep,
drivers/usb/cdns3/cdnsp-gadget.c
974
if (!ep || !desc || desc->bDescriptorType != USB_DT_ENDPOINT ||
drivers/usb/cdns3/cdnsp-gadget.c
978
pep = to_cdnsp_ep(ep);
drivers/usb/cdns3/cdnsp-gadget.h
1505
void cdnsp_endpoint_zero(struct cdnsp_device *pdev, struct cdnsp_ep *ep);
drivers/usb/cdns3/cdnsp-gadget.h
1512
struct cdnsp_ring *cdnsp_dma_to_transfer_ring(struct cdnsp_ep *ep, u64 address);
drivers/usb/cdns3/cdnsp-gadget.h
1608
#define to_cdnsp_ep(ep) (container_of(ep, struct cdnsp_ep, endpoint))
drivers/usb/cdns3/cdnsp-gadget.h
549
#define DB_VALUE(ep, stream) ((((ep) + 1) & 0xff) | ((stream) << 16))
drivers/usb/cdns3/cdnsp-gadget.h
550
#define DB_VALUE_EP0_OUT(ep, stream) ((ep) & 0xff)
drivers/usb/cdns3/cdnsp-ring.c
1137
struct cdnsp_ep *ep,
drivers/usb/cdns3/cdnsp-ring.c
1144
ep_ring = cdnsp_dma_to_transfer_ring(ep, le64_to_cpu(event->buffer));
drivers/usb/cdns3/cdnsp-ring.c
1173
ep->stream_info.drbls_count--;
drivers/usb/cdns3/cdnsp-ring.c
1175
cdnsp_finish_td(pdev, td, event, ep, status);
drivers/usb/cdns3/cdnsp-ring.c
923
struct cdnsp_ep *ep,
drivers/usb/cdns3/cdnsp-ring.c
929
ep_ring = cdnsp_dma_to_transfer_ring(ep, le64_to_cpu(event->buffer));
drivers/usb/chipidea/ci.h
90
struct usb_ep ep;
drivers/usb/chipidea/trace.h
61
__entry->type = usb_endpoint_type(hwep->ep.desc);
drivers/usb/chipidea/udc.c
1000
struct usb_ep *ep;
drivers/usb/chipidea/udc.c
1005
gadget_for_each_ep(ep, gadget) {
drivers/usb/chipidea/udc.c
1006
usb_ep_fifo_flush(ep);
drivers/usb/chipidea/udc.c
1008
usb_ep_fifo_flush(&ci->ep0out->ep);
drivers/usb/chipidea/udc.c
1009
usb_ep_fifo_flush(&ci->ep0in->ep);
drivers/usb/chipidea/udc.c
1012
gadget_for_each_ep(ep, gadget) {
drivers/usb/chipidea/udc.c
1013
usb_ep_disable(ep);
drivers/usb/chipidea/udc.c
1017
usb_ep_free_request(&ci->ep0in->ep, ci->status);
drivers/usb/chipidea/udc.c
1063
ci->status = usb_ep_alloc_request(&ci->ep0in->ep, GFP_ATOMIC);
drivers/usb/chipidea/udc.c
1081
static void isr_get_status_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/chipidea/udc.c
1083
if (ep == NULL || req == NULL)
drivers/usb/chipidea/udc.c
1087
usb_ep_free_request(ep, req);
drivers/usb/chipidea/udc.c
1099
static int _ep_queue(struct usb_ep *ep, struct usb_request *req,
drivers/usb/chipidea/udc.c
1102
struct ci_hw_ep *hwep = container_of(ep, struct ci_hw_ep, ep);
drivers/usb/chipidea/udc.c
1107
if (ep == NULL || req == NULL || hwep->ep.desc == NULL)
drivers/usb/chipidea/udc.c
1121
if (usb_endpoint_xfer_isoc(hwep->ep.desc) &&
drivers/usb/chipidea/udc.c
1122
hwreq->req.length > hwep->ep.mult * hwep->ep.maxpacket) {
drivers/usb/chipidea/udc.c
1174
req = usb_ep_alloc_request(&hwep->ep, gfp_flags);
drivers/usb/chipidea/udc.c
1199
retval = _ep_queue(&hwep->ep, req, gfp_flags);
drivers/usb/chipidea/udc.c
1209
usb_ep_free_request(&hwep->ep, req);
drivers/usb/chipidea/udc.c
1223
isr_setup_status_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/chipidea/udc.c
1267
return _ep_queue(&hwep->ep, ci->status, GFP_ATOMIC);
drivers/usb/chipidea/udc.c
1296
usb_gadget_giveback_request(&hweptemp->ep, &hwreq->req);
drivers/usb/chipidea/udc.c
1361
&ci->ci_hw_ep[num].ep);
drivers/usb/chipidea/udc.c
1412
err = _ep_set_halt(&ci->ci_hw_ep[num].ep, 1, false);
drivers/usb/chipidea/udc.c
1478
if (_ep_set_halt(&hwep->ep, 1, false))
drivers/usb/chipidea/udc.c
1500
if (hwep->ep.desc == NULL)
drivers/usb/chipidea/udc.c
1510
if (_ep_set_halt(&hwep->ep, 1, false))
drivers/usb/chipidea/udc.c
1533
static int ep_enable(struct usb_ep *ep,
drivers/usb/chipidea/udc.c
1536
struct ci_hw_ep *hwep = container_of(ep, struct ci_hw_ep, ep);
drivers/usb/chipidea/udc.c
1541
if (ep == NULL || desc == NULL)
drivers/usb/chipidea/udc.c
1554
hwep->ep.desc = desc;
drivers/usb/chipidea/udc.c
1560
hwep->ep.maxpacket = usb_endpoint_maxp(desc);
drivers/usb/chipidea/udc.c
1561
hwep->ep.mult = usb_endpoint_maxp_mult(desc);
drivers/usb/chipidea/udc.c
1567
cap |= (hwep->ep.maxpacket << __ffs(QH_MAX_PKT)) & QH_MAX_PKT;
drivers/usb/chipidea/udc.c
1601
static int ep_disable(struct usb_ep *ep)
drivers/usb/chipidea/udc.c
1603
struct ci_hw_ep *hwep = container_of(ep, struct ci_hw_ep, ep);
drivers/usb/chipidea/udc.c
1607
if (ep == NULL)
drivers/usb/chipidea/udc.c
1609
else if (hwep->ep.desc == NULL)
drivers/usb/chipidea/udc.c
1630
hwep->ep.desc = NULL;
drivers/usb/chipidea/udc.c
1641
static struct usb_request *ep_alloc_request(struct usb_ep *ep, gfp_t gfp_flags)
drivers/usb/chipidea/udc.c
1645
if (ep == NULL)
drivers/usb/chipidea/udc.c
1662
static void ep_free_request(struct usb_ep *ep, struct usb_request *req)
drivers/usb/chipidea/udc.c
1664
struct ci_hw_ep *hwep = container_of(ep, struct ci_hw_ep, ep);
drivers/usb/chipidea/udc.c
1669
if (ep == NULL || req == NULL) {
drivers/usb/chipidea/udc.c
1695
static int ep_queue(struct usb_ep *ep, struct usb_request *req,
drivers/usb/chipidea/udc.c
1698
struct ci_hw_ep *hwep = container_of(ep, struct ci_hw_ep, ep);
drivers/usb/chipidea/udc.c
1702
if (ep == NULL || req == NULL || hwep->ep.desc == NULL)
drivers/usb/chipidea/udc.c
1710
retval = _ep_queue(ep, req, gfp_flags);
drivers/usb/chipidea/udc.c
1720
static int ep_dequeue(struct usb_ep *ep, struct usb_request *req)
drivers/usb/chipidea/udc.c
1722
struct ci_hw_ep *hwep = container_of(ep, struct ci_hw_ep, ep);
drivers/usb/chipidea/udc.c
1727
if (ep == NULL || req == NULL || hwreq->req.status != -EALREADY ||
drivers/usb/chipidea/udc.c
1728
hwep->ep.desc == NULL || list_empty(&hwreq->queue) ||
drivers/usb/chipidea/udc.c
1754
usb_gadget_giveback_request(&hwep->ep, &hwreq->req);
drivers/usb/chipidea/udc.c
1767
static int ep_set_halt(struct usb_ep *ep, int value)
drivers/usb/chipidea/udc.c
1769
return _ep_set_halt(ep, value, true);
drivers/usb/chipidea/udc.c
1777
static int ep_set_wedge(struct usb_ep *ep)
drivers/usb/chipidea/udc.c
1779
struct ci_hw_ep *hwep = container_of(ep, struct ci_hw_ep, ep);
drivers/usb/chipidea/udc.c
1782
if (ep == NULL || hwep->ep.desc == NULL)
drivers/usb/chipidea/udc.c
1789
return usb_ep_set_halt(ep);
drivers/usb/chipidea/udc.c
1797
static void ep_fifo_flush(struct usb_ep *ep)
drivers/usb/chipidea/udc.c
1799
struct ci_hw_ep *hwep = container_of(ep, struct ci_hw_ep, ep);
drivers/usb/chipidea/udc.c
1802
if (ep == NULL) {
drivers/usb/chipidea/udc.c
2000
struct usb_ep *ep;
drivers/usb/chipidea/udc.c
2003
list_for_each_entry_reverse(ep, &ci->gadget.ep_list, ep_list) {
drivers/usb/chipidea/udc.c
2004
if (ep->caps.dir_in && !ep->claimed)
drivers/usb/chipidea/udc.c
2005
return ep;
drivers/usb/chipidea/udc.c
2045
hwep->ep.name = hwep->name;
drivers/usb/chipidea/udc.c
2046
hwep->ep.ops = &usb_ep_ops;
drivers/usb/chipidea/udc.c
2049
hwep->ep.caps.type_control = true;
drivers/usb/chipidea/udc.c
2051
hwep->ep.caps.type_iso = true;
drivers/usb/chipidea/udc.c
2052
hwep->ep.caps.type_bulk = true;
drivers/usb/chipidea/udc.c
2053
hwep->ep.caps.type_int = true;
drivers/usb/chipidea/udc.c
2057
hwep->ep.caps.dir_in = true;
drivers/usb/chipidea/udc.c
2059
hwep->ep.caps.dir_out = true;
drivers/usb/chipidea/udc.c
2066
usb_ep_set_maxpacket_limit(&hwep->ep, (unsigned short)~0);
drivers/usb/chipidea/udc.c
2084
usb_ep_set_maxpacket_limit(&hwep->ep, CTRL_PAYLOAD_MAX);
drivers/usb/chipidea/udc.c
2088
list_add_tail(&hwep->ep.ep_list, &ci->gadget.ep_list);
drivers/usb/chipidea/udc.c
2123
ci->ep0out->ep.desc = &ctrl_endpt_out_desc;
drivers/usb/chipidea/udc.c
2124
retval = usb_ep_enable(&ci->ep0out->ep);
drivers/usb/chipidea/udc.c
2128
ci->ep0in->ep.desc = &ctrl_endpt_in_desc;
drivers/usb/chipidea/udc.c
2129
retval = usb_ep_enable(&ci->ep0in->ep);
drivers/usb/chipidea/udc.c
2314
ci->gadget.ep0 = &ci->ep0in->ep;
drivers/usb/chipidea/udc.c
379
u32 mul = hwreq->req.length / hwep->ep.maxpacket;
drivers/usb/chipidea/udc.c
382
|| hwreq->req.length % hwep->ep.maxpacket)
drivers/usb/chipidea/udc.c
422
static inline u8 _usb_addr(struct ci_hw_ep *ep)
drivers/usb/chipidea/udc.c
424
return ((ep->dir == TX) ? USB_ENDPOINT_DIR_MASK : 0) | ep->num;
drivers/usb/chipidea/udc.c
459
&& (hwreq->req.length % hwep->ep.maxpacket == 0)) {
drivers/usb/chipidea/udc.c
775
u32 mul = hwreq->req.length / hwep->ep.maxpacket;
drivers/usb/chipidea/udc.c
778
|| hwreq->req.length % hwep->ep.maxpacket)
drivers/usb/chipidea/udc.c
943
usb_gadget_giveback_request(&hwep->ep, &hwreq->req);
drivers/usb/chipidea/udc.c
954
static int _ep_set_halt(struct usb_ep *ep, int value, bool check_transfer)
drivers/usb/chipidea/udc.c
956
struct ci_hw_ep *hwep = container_of(ep, struct ci_hw_ep, ep);
drivers/usb/chipidea/udc.c
960
if (ep == NULL || hwep->ep.desc == NULL)
drivers/usb/chipidea/udc.c
963
if (usb_endpoint_xfer_isoc(hwep->ep.desc))
drivers/usb/chipidea/udc.c
970
!usb_endpoint_xfer_control(hwep->ep.desc)) {
drivers/usb/class/cdc-wdm.c
1025
static int wdm_create(struct usb_interface *intf, struct usb_endpoint_descriptor *ep,
drivers/usb/class/cdc-wdm.c
1048
if (!usb_endpoint_is_int_in(ep)) {
drivers/usb/class/cdc-wdm.c
1053
desc->wMaxPacketSize = usb_endpoint_maxp(ep);
drivers/usb/class/cdc-wdm.c
1089
usb_rcvintpipe(interface_to_usbdev(intf), ep->bEndpointAddress),
drivers/usb/class/cdc-wdm.c
1094
ep->bInterval
drivers/usb/class/cdc-wdm.c
1154
struct usb_endpoint_descriptor *ep;
drivers/usb/class/cdc-wdm.c
1171
ep = &iface->endpoint[0].desc;
drivers/usb/class/cdc-wdm.c
1173
rv = wdm_create(intf, ep, maxcom, WWAN_PORT_UNKNOWN, &wdm_manage_power);
drivers/usb/class/cdc-wdm.c
1201
struct usb_endpoint_descriptor *ep,
drivers/usb/class/cdc-wdm.c
1207
rv = wdm_create(intf, ep, bufsize, type, manage_power);
drivers/usb/core/config.c
121
cfgno, inum, asnum, ep->desc.bEndpointAddress);
drivers/usb/core/config.c
130
ep->ss_ep_comp.bLength = USB_DT_SS_EP_COMP_SIZE;
drivers/usb/core/config.c
131
ep->ss_ep_comp.bDescriptorType = USB_DT_SS_ENDPOINT_COMP;
drivers/usb/core/config.c
132
if (usb_endpoint_xfer_isoc(&ep->desc) ||
drivers/usb/core/config.c
133
usb_endpoint_xfer_int(&ep->desc))
drivers/usb/core/config.c
134
ep->ss_ep_comp.wBytesPerInterval =
drivers/usb/core/config.c
135
ep->desc.wMaxPacketSize;
drivers/usb/core/config.c
140
memcpy(&ep->ss_ep_comp, desc, USB_DT_SS_EP_COMP_SIZE);
drivers/usb/core/config.c
143
if (usb_endpoint_xfer_control(&ep->desc) && desc->bMaxBurst != 0) {
drivers/usb/core/config.c
147
cfgno, inum, asnum, ep->desc.bEndpointAddress);
drivers/usb/core/config.c
148
ep->ss_ep_comp.bMaxBurst = 0;
drivers/usb/core/config.c
153
cfgno, inum, asnum, ep->desc.bEndpointAddress);
drivers/usb/core/config.c
154
ep->ss_ep_comp.bMaxBurst = 15;
drivers/usb/core/config.c
157
if ((usb_endpoint_xfer_control(&ep->desc) ||
drivers/usb/core/config.c
158
usb_endpoint_xfer_int(&ep->desc)) &&
drivers/usb/core/config.c
163
usb_endpoint_xfer_control(&ep->desc) ? "Control" : "Bulk",
drivers/usb/core/config.c
165
cfgno, inum, asnum, ep->desc.bEndpointAddress);
drivers/usb/core/config.c
166
ep->ss_ep_comp.bmAttributes = 0;
drivers/usb/core/config.c
167
} else if (usb_endpoint_xfer_bulk(&ep->desc) &&
drivers/usb/core/config.c
172
cfgno, inum, asnum, ep->desc.bEndpointAddress);
drivers/usb/core/config.c
173
ep->ss_ep_comp.bmAttributes = 16;
drivers/usb/core/config.c
174
} else if (usb_endpoint_xfer_isoc(&ep->desc) &&
drivers/usb/core/config.c
181
cfgno, inum, asnum, ep->desc.bEndpointAddress);
drivers/usb/core/config.c
182
ep->ss_ep_comp.bmAttributes = 2;
drivers/usb/core/config.c
185
if (usb_endpoint_xfer_isoc(&ep->desc))
drivers/usb/core/config.c
188
usb_endpoint_maxp(&ep->desc);
drivers/usb/core/config.c
189
else if (usb_endpoint_xfer_int(&ep->desc))
drivers/usb/core/config.c
190
max_tx = usb_endpoint_maxp(&ep->desc) *
drivers/usb/core/config.c
198
usb_endpoint_xfer_isoc(&ep->desc) ? "Isoc" : "Int",
drivers/usb/core/config.c
200
cfgno, inum, asnum, ep->desc.bEndpointAddress,
drivers/usb/core/config.c
202
ep->ss_ep_comp.wBytesPerInterval = cpu_to_le16(max_tx);
drivers/usb/core/config.c
205
if (usb_endpoint_xfer_isoc(&ep->desc) &&
drivers/usb/core/config.c
208
ep, buffer, size);
drivers/usb/core/config.c
47
int cfgno, int inum, int asnum, struct usb_host_endpoint *ep,
drivers/usb/core/config.c
61
cfgno, inum, asnum, ep->desc.bEndpointAddress);
drivers/usb/core/config.c
64
memcpy(&ep->ssp_isoc_ep_comp, desc, USB_DT_SSP_ISOC_EP_COMP_SIZE);
drivers/usb/core/config.c
68
int cfgno, int inum, int asnum, struct usb_host_endpoint *ep,
drivers/usb/core/config.c
83
ep->eusb2_isoc_ep_comp = *desc;
drivers/usb/core/config.c
95
ep->desc.bEndpointAddress, cfgno, inum, asnum);
drivers/usb/core/config.c
99
int inum, int asnum, struct usb_host_endpoint *ep,
drivers/usb/core/devio.c
1291
struct usb_host_endpoint *ep;
drivers/usb/core/devio.c
1293
ret = findintfep(ps->dev, bulk->ep);
drivers/usb/core/devio.c
1304
if (bulk->ep & USB_DIR_IN)
drivers/usb/core/devio.c
1305
pipe = usb_rcvbulkpipe(dev, bulk->ep & 0x7f);
drivers/usb/core/devio.c
1307
pipe = usb_sndbulkpipe(dev, bulk->ep & 0x7f);
drivers/usb/core/devio.c
1308
ep = usb_pipe_endpoint(dev, pipe);
drivers/usb/core/devio.c
1309
if (!ep || !usb_endpoint_maxp(&ep->desc))
drivers/usb/core/devio.c
1327
if ((ep->desc.bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) ==
drivers/usb/core/devio.c
1331
NULL, NULL, ep->desc.bInterval);
drivers/usb/core/devio.c
1337
if (bulk->ep & 0x80) {
drivers/usb/core/devio.c
1386
struct usb_host_endpoint *ep;
drivers/usb/core/devio.c
1389
ep = eps[epnum & 0x0f];
drivers/usb/core/devio.c
1390
if (ep && !list_empty(&ep->urb_list))
drivers/usb/core/devio.c
1398
unsigned int ep;
drivers/usb/core/devio.c
1401
if (get_user(ep, (unsigned int __user *)arg))
drivers/usb/core/devio.c
1403
ret = findintfep(ps->dev, ep);
drivers/usb/core/devio.c
1409
check_reset_of_active_ep(ps->dev, ep, "RESETEP");
drivers/usb/core/devio.c
1410
usb_reset_endpoint(ps->dev, ep);
drivers/usb/core/devio.c
1416
unsigned int ep;
drivers/usb/core/devio.c
1420
if (get_user(ep, (unsigned int __user *)arg))
drivers/usb/core/devio.c
1422
ret = findintfep(ps->dev, ep);
drivers/usb/core/devio.c
1428
check_reset_of_active_ep(ps->dev, ep, "CLEAR_HALT");
drivers/usb/core/devio.c
1429
if (ep & USB_DIR_IN)
drivers/usb/core/devio.c
1430
pipe = usb_rcvbulkpipe(ps->dev, ep & 0x7f);
drivers/usb/core/devio.c
1432
pipe = usb_sndbulkpipe(ps->dev, ep & 0x7f);
drivers/usb/core/devio.c
1624
struct usb_host_endpoint *ep;
drivers/usb/core/devio.c
1660
ep = ep_to_host_endpoint(ps->dev, uurb->endpoint);
drivers/usb/core/devio.c
1661
if (!ep)
drivers/usb/core/devio.c
1668
if (!usb_endpoint_xfer_control(&ep->desc))
drivers/usb/core/devio.c
1714
switch (usb_endpoint_type(&ep->desc)) {
drivers/usb/core/devio.c
1726
if (ep->streams)
drivers/usb/core/devio.c
1731
if (!usb_endpoint_xfer_int(&ep->desc))
drivers/usb/core/devio.c
1745
if (!usb_endpoint_xfer_isoc(&ep->desc))
drivers/usb/core/devio.c
1900
if (ep->desc.bInterval) {
drivers/usb/core/devio.c
1905
min(15, ep->desc.bInterval - 1);
drivers/usb/core/devio.c
1907
as->urb->interval = ep->desc.bInterval;
drivers/usb/core/devio.c
1942
if (usb_endpoint_xfer_bulk(&ep->desc)) {
drivers/usb/core/devio.c
1949
as->bulk_addr = usb_endpoint_num(&ep->desc) |
drivers/usb/core/devio.c
1950
((ep->desc.bEndpointAddress & USB_ENDPOINT_DIR_MASK)
drivers/usb/core/devio.c
2061
if (usb_endpoint_xfer_isoc(&urb->ep->desc)) {
drivers/usb/core/devio.c
2156
if (get_user(bulk.ep, &p32->ep) ||
drivers/usb/core/devio.c
2232
if (usb_endpoint_xfer_isoc(&urb->ep->desc)) {
drivers/usb/core/devio.c
496
int ep;
drivers/usb/core/devio.c
502
ep = usb_pipeendpoint(pipe);
drivers/usb/core/devio.c
510
userurb, ep, t, d, length);
drivers/usb/core/devio.c
514
userurb, ep, t, d, length,
drivers/usb/core/devio.c
520
ep, t, d, length, timeout_or_status);
drivers/usb/core/devio.c
524
ep, t, d, length, timeout_or_status);
drivers/usb/core/devio.c
856
static int findintfep(struct usb_device *dev, unsigned int ep)
drivers/usb/core/devio.c
863
if (ep & ~(USB_DIR_IN|0xf))
drivers/usb/core/devio.c
873
if (endpt->bEndpointAddress == ep)
drivers/usb/core/devio.c
941
unsigned char ep)
drivers/usb/core/devio.c
943
if (ep & USB_ENDPOINT_DIR_MASK)
drivers/usb/core/devio.c
944
return dev->ep_in[ep & USB_ENDPOINT_NUMBER_MASK];
drivers/usb/core/devio.c
946
return dev->ep_out[ep & USB_ENDPOINT_NUMBER_MASK];
drivers/usb/core/devio.c
959
unsigned char ep;
drivers/usb/core/devio.c
978
if (get_user(ep, &streams->eps[i])) {
drivers/usb/core/devio.c
982
eps[i] = ep_to_host_endpoint(ps->dev, ep);
drivers/usb/core/devio.c
989
ifnum = findintfep(ps->dev, ep);
drivers/usb/core/driver.c
432
struct usb_host_endpoint *ep, **eps = NULL;
drivers/usb/core/driver.c
462
ep = &intf->cur_altsetting->endpoint[i];
drivers/usb/core/driver.c
463
if (ep->streams == 0)
drivers/usb/core/driver.c
471
eps[j++] = ep;
drivers/usb/core/endpoint.c
106
struct ep_device *ep = to_ep_device(dev);
drivers/usb/core/endpoint.c
109
if (usb_endpoint_xfer_control(ep->desc))
drivers/usb/core/endpoint.c
111
else if (usb_endpoint_dir_in(ep->desc))
drivers/usb/core/endpoint.c
42
struct ep_device *ep = to_ep_device(dev); \
drivers/usb/core/endpoint.c
43
return sysfs_emit(buf, format_string, ep->desc->field); \
drivers/usb/core/endpoint.c
55
struct ep_device *ep = to_ep_device(dev);
drivers/usb/core/endpoint.c
56
return sysfs_emit(buf, "%04x\n", usb_endpoint_maxp(ep->desc));
drivers/usb/core/endpoint.c
63
struct ep_device *ep = to_ep_device(dev);
drivers/usb/core/endpoint.c
66
switch (usb_endpoint_type(ep->desc)) {
drivers/usb/core/endpoint.c
87
struct ep_device *ep = to_ep_device(dev);
drivers/usb/core/endpoint.c
91
interval = usb_decode_interval(ep->desc, ep->udev->speed);
drivers/usb/core/hcd.c
1138
if (unlikely(!urb->ep->enabled)) {
drivers/usb/core/hcd.c
1154
list_add_tail(&urb->urb_list, &urb->ep->urb_list);
drivers/usb/core/hcd.c
1190
list_for_each(tmp, &urb->ep->urb_list) {
drivers/usb/core/hcd.c
1398
if (usb_endpoint_xfer_control(&urb->ep->desc)) {
drivers/usb/core/hcd.c
1453
if (usb_endpoint_xfer_isoc(&urb->ep->desc)) {
drivers/usb/core/hcd.c
1690
bh->completing_ep = urb->ep;
drivers/usb/core/hcd.c
1771
struct usb_host_endpoint *ep)
drivers/usb/core/hcd.c
1776
if (!ep)
drivers/usb/core/hcd.c
1784
list_for_each_entry_reverse(urb, &ep->urb_list, urb_list) {
drivers/usb/core/hcd.c
1797
urb, usb_endpoint_num(&ep->desc),
drivers/usb/core/hcd.c
1799
usb_ep_type_string(usb_endpoint_type(&ep->desc)));
drivers/usb/core/hcd.c
1809
while (!list_empty (&ep->urb_list)) {
drivers/usb/core/hcd.c
1814
if (!list_empty (&ep->urb_list)) {
drivers/usb/core/hcd.c
1815
urb = list_entry (ep->urb_list.prev, struct urb,
drivers/usb/core/hcd.c
1858
struct usb_host_endpoint *ep;
drivers/usb/core/hcd.c
1867
ep = udev->ep_out[i];
drivers/usb/core/hcd.c
1868
if (ep)
drivers/usb/core/hcd.c
1869
hcd->driver->drop_endpoint(hcd, udev, ep);
drivers/usb/core/hcd.c
1870
ep = udev->ep_in[i];
drivers/usb/core/hcd.c
1871
if (ep)
drivers/usb/core/hcd.c
1872
hcd->driver->drop_endpoint(hcd, udev, ep);
drivers/usb/core/hcd.c
1888
ep = udev->ep_out[i];
drivers/usb/core/hcd.c
1889
if (ep) {
drivers/usb/core/hcd.c
1890
ret = hcd->driver->drop_endpoint(hcd, udev, ep);
drivers/usb/core/hcd.c
1894
ep = udev->ep_in[i];
drivers/usb/core/hcd.c
1895
if (ep) {
drivers/usb/core/hcd.c
1896
ret = hcd->driver->drop_endpoint(hcd, udev, ep);
drivers/usb/core/hcd.c
1972
struct usb_host_endpoint *ep)
drivers/usb/core/hcd.c
1979
hcd->driver->endpoint_disable(hcd, ep);
drivers/usb/core/hcd.c
1991
struct usb_host_endpoint *ep)
drivers/usb/core/hcd.c
1996
hcd->driver->endpoint_reset(hcd, ep);
drivers/usb/core/hcd.c
1998
int epnum = usb_endpoint_num(&ep->desc);
drivers/usb/core/hcd.c
1999
int is_out = usb_endpoint_dir_out(&ep->desc);
drivers/usb/core/hcd.c
2000
int is_control = usb_endpoint_xfer_control(&ep->desc);
drivers/usb/core/hcd.c
2155
urb->ep = &udev->ep0;
drivers/usb/core/hcd.c
814
if (usb_endpoint_xfer_int(&urb->ep->desc))
drivers/usb/core/hcd.c
816
if (usb_endpoint_xfer_control(&urb->ep->desc))
drivers/usb/core/hcd.c
836
if (usb_endpoint_num(&urb->ep->desc) == 0) { /* Control URB */
drivers/usb/core/hub.c
866
(drv->clear_tt_buffer_complete)(clear->hcd, clear->ep);
drivers/usb/core/hub.c
951
clear->ep = urb->ep;
drivers/usb/core/message.c
1344
struct usb_host_endpoint *ep;
drivers/usb/core/message.c
1350
ep = dev->ep_out[epnum];
drivers/usb/core/message.c
1354
ep = dev->ep_in[epnum];
drivers/usb/core/message.c
1358
if (ep) {
drivers/usb/core/message.c
1359
ep->enabled = 0;
drivers/usb/core/message.c
1360
usb_hcd_flush_endpoint(dev, ep);
drivers/usb/core/message.c
1362
usb_hcd_disable_endpoint(dev, ep);
drivers/usb/core/message.c
1378
struct usb_host_endpoint *ep;
drivers/usb/core/message.c
1381
ep = dev->ep_out[epnum];
drivers/usb/core/message.c
1383
ep = dev->ep_in[epnum];
drivers/usb/core/message.c
1384
if (ep)
drivers/usb/core/message.c
1385
usb_hcd_reset_endpoint(dev, ep);
drivers/usb/core/message.c
1511
void usb_enable_endpoint(struct usb_device *dev, struct usb_host_endpoint *ep,
drivers/usb/core/message.c
1514
int epnum = usb_endpoint_num(&ep->desc);
drivers/usb/core/message.c
1515
int is_out = usb_endpoint_dir_out(&ep->desc);
drivers/usb/core/message.c
1516
int is_control = usb_endpoint_xfer_control(&ep->desc);
drivers/usb/core/message.c
1519
usb_hcd_reset_endpoint(dev, ep);
drivers/usb/core/message.c
1521
dev->ep_out[epnum] = ep;
drivers/usb/core/message.c
1523
dev->ep_in[epnum] = ep;
drivers/usb/core/message.c
1524
ep->enabled = 1;
drivers/usb/core/message.c
377
struct usb_host_endpoint *ep;
drivers/usb/core/message.c
379
ep = usb_pipe_endpoint(usb_dev, pipe);
drivers/usb/core/message.c
380
if (!ep || len < 0)
drivers/usb/core/message.c
387
if ((ep->desc.bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) ==
drivers/usb/core/message.c
392
ep->desc.bInterval);
drivers/usb/core/message.c
426
struct usb_host_endpoint *ep;
drivers/usb/core/message.c
428
ep = usb_pipe_endpoint(usb_dev, pipe);
drivers/usb/core/message.c
429
if (!ep || len < 0)
drivers/usb/core/message.c
436
if ((ep->desc.bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) ==
drivers/usb/core/message.c
441
ep->desc.bInterval);
drivers/usb/core/message.c
488
usb_endpoint_num(&urb->ep->desc),
drivers/usb/core/message.c
85
usb_endpoint_num(&urb->ep->desc),
drivers/usb/core/of.c
113
struct device_node *np, *child, *ep, *remote_np;
drivers/usb/core/of.c
129
ep = of_graph_get_endpoint_by_regs(np, port1, -1);
drivers/usb/core/of.c
130
if (ep) {
drivers/usb/core/of.c
131
remote_np = of_graph_get_remote_port_parent(ep);
drivers/usb/core/of.c
132
of_node_put(ep);
drivers/usb/core/urb.c
205
const struct usb_host_endpoint *ep;
drivers/usb/core/urb.c
207
ep = usb_pipe_endpoint(dev, pipe);
drivers/usb/core/urb.c
208
if (!ep)
drivers/usb/core/urb.c
210
if (usb_pipetype(pipe) != pipetypes[usb_endpoint_type(&ep->desc)])
drivers/usb/core/urb.c
371
struct usb_host_endpoint *ep;
drivers/usb/core/urb.c
391
ep = usb_pipe_endpoint(dev, urb->pipe);
drivers/usb/core/urb.c
392
if (!ep)
drivers/usb/core/urb.c
395
urb->ep = ep;
drivers/usb/core/urb.c
402
xfertype = usb_endpoint_type(&ep->desc);
drivers/usb/core/urb.c
421
is_out = usb_endpoint_dir_out(&ep->desc);
drivers/usb/core/urb.c
436
max = usb_endpoint_maxp(&ep->desc);
drivers/usb/core/urb.c
437
is_eusb2_isoch_double = usb_endpoint_is_hs_isoc_double(dev, ep);
drivers/usb/core/urb.c
441
usb_endpoint_num(&ep->desc), is_out ? "out" : "in",
drivers/usb/core/urb.c
457
int burst = 1 + ep->ss_ep_comp.bMaxBurst;
drivers/usb/core/urb.c
458
int mult = USB_SS_MULT(ep->ss_ep_comp.bmAttributes);
drivers/usb/core/urb.c
464
USB_SS_SSP_ISOC_COMP(ep->ss_ep_comp.bmAttributes)) {
drivers/usb/core/urb.c
467
isoc_ep_comp = &ep->ssp_isoc_ep_comp;
drivers/usb/core/urb.c
474
max = le32_to_cpu(ep->eusb2_isoc_ep_comp.dwBytesPerInterval);
drivers/usb/core/urb.c
476
max *= usb_endpoint_maxp_mult(&ep->desc);
drivers/usb/core/urb.c
670
if (!urb->ep)
drivers/usb/core/urb.c
706
if (!(urb && urb->dev && urb->ep))
drivers/usb/core/urb.c
763
if (!urb->dev || !urb->ep)
drivers/usb/core/usb.c
1127
const struct usb_host_endpoint *ep)
drivers/usb/core/usb.c
1129
if (!usb_endpoint_xfer_isoc(&ep->desc) &&
drivers/usb/core/usb.c
1130
!usb_endpoint_xfer_int(&ep->desc))
drivers/usb/core/usb.c
1135
if (USB_SS_SSP_ISOC_COMP(ep->ss_ep_comp.bmAttributes))
drivers/usb/core/usb.c
1136
return le32_to_cpu(ep->ssp_isoc_ep_comp.dwBytesPerInterval);
drivers/usb/core/usb.c
1139
return le16_to_cpu(ep->ss_ep_comp.wBytesPerInterval);
drivers/usb/core/usb.c
1141
if (usb_endpoint_is_hs_isoc_double(udev, ep))
drivers/usb/core/usb.c
1142
return le32_to_cpu(ep->eusb2_isoc_ep_comp.dwBytesPerInterval);
drivers/usb/core/usb.c
1143
return usb_endpoint_maxp(&ep->desc) * usb_endpoint_maxp_mult(&ep->desc);
drivers/usb/core/usb.c
1158
const struct usb_host_endpoint *ep)
drivers/usb/core/usb.c
1160
return ep->eusb2_isoc_ep_comp.bDescriptorType &&
drivers/usb/core/usb.c
1162
usb_endpoint_is_isoc_in(&ep->desc) &&
drivers/usb/core/usb.c
1163
!le16_to_cpu(ep->desc.wMaxPacketSize);
drivers/usb/core/usb.c
225
const struct usb_host_endpoint *ep;
drivers/usb/core/usb.c
228
ep = intf->cur_altsetting->endpoint;
drivers/usb/core/usb.c
229
for (; n > 0; (--n, ++ep)) {
drivers/usb/core/usb.c
230
if (ep->desc.bEndpointAddress == ep_addr)
drivers/usb/core/usb.c
231
return ep;
drivers/usb/core/usb.c
250
const struct usb_host_endpoint *ep;
drivers/usb/core/usb.c
253
ep = usb_find_endpoint(intf, *ep_addrs);
drivers/usb/core/usb.c
254
if (!ep || !usb_endpoint_xfer_bulk(&ep->desc))
drivers/usb/core/usb.c
276
const struct usb_host_endpoint *ep;
drivers/usb/core/usb.c
279
ep = usb_find_endpoint(intf, *ep_addrs);
drivers/usb/core/usb.c
280
if (!ep || !usb_endpoint_xfer_int(&ep->desc))
drivers/usb/core/usb.h
25
struct usb_host_endpoint *ep, bool reset_toggle);
drivers/usb/dwc2/core.h
123
struct usb_ep ep;
drivers/usb/dwc2/debugfs.c
227
struct dwc2_hsotg_ep *ep = seq->private;
drivers/usb/dwc2/debugfs.c
228
struct dwc2_hsotg *hsotg = ep->parent;
drivers/usb/dwc2/debugfs.c
230
int index = ep->index;
drivers/usb/dwc2/debugfs.c
235
ep->index, ep->ep.name, decode_direction(ep->dir_in));
drivers/usb/dwc2/debugfs.c
256
seq_printf(seq, "mps %d\n", ep->ep.maxpacket);
drivers/usb/dwc2/debugfs.c
257
seq_printf(seq, "total_data=%ld\n", ep->total_data);
drivers/usb/dwc2/debugfs.c
260
ep->queue.next, ep->queue.prev);
drivers/usb/dwc2/debugfs.c
264
list_for_each_entry(req, &ep->queue, queue) {
drivers/usb/dwc2/debugfs.c
271
req == ep->req ? '*' : ' ',
drivers/usb/dwc2/debugfs.c
281
DEFINE_SHOW_ATTRIBUTE(ep);
drivers/usb/dwc2/debugfs.c
306
struct dwc2_hsotg_ep *ep;
drivers/usb/dwc2/debugfs.c
308
ep = hsotg->eps_out[epidx];
drivers/usb/dwc2/debugfs.c
309
if (ep)
drivers/usb/dwc2/debugfs.c
310
debugfs_create_file(ep->name, 0444, root, ep, &ep_fops);
drivers/usb/dwc2/debugfs.c
314
struct dwc2_hsotg_ep *ep;
drivers/usb/dwc2/debugfs.c
316
ep = hsotg->eps_in[epidx];
drivers/usb/dwc2/debugfs.c
317
if (ep)
drivers/usb/dwc2/debugfs.c
318
debugfs_create_file(ep->name, 0444, root, ep, &ep_fops);
drivers/usb/dwc2/gadget.c
1104
int round = maxreq % hs_ep->ep.maxpacket;
drivers/usb/dwc2/gadget.c
1117
packets = DIV_ROUND_UP(length, hs_ep->ep.maxpacket);
drivers/usb/dwc2/gadget.c
1135
if ((ureq->length >= hs_ep->ep.maxpacket) &&
drivers/usb/dwc2/gadget.c
1136
!(ureq->length % hs_ep->ep.maxpacket))
drivers/usb/dwc2/gadget.c
1151
u32 mps = hs_ep->ep.maxpacket;
drivers/usb/dwc2/gadget.c
1296
hs_ep->ep.name, req_buf, hs_req->req.length);
drivers/usb/dwc2/gadget.c
1325
hs_ep->ep.name, hs_req->req.status, hs_req->req.actual);
drivers/usb/dwc2/gadget.c
1402
static int dwc2_hsotg_ep_queue(struct usb_ep *ep, struct usb_request *req,
drivers/usb/dwc2/gadget.c
1406
struct dwc2_hsotg_ep *hs_ep = our_ep(ep);
drivers/usb/dwc2/gadget.c
1415
ep->name, req, req->length, req->buf, req->no_interrupt,
drivers/usb/dwc2/gadget.c
1436
req->length > (hs_ep->mc * hs_ep->ep.maxpacket)) {
drivers/usb/dwc2/gadget.c
1452
if (!hs_ep->dir_in && req->length > hs_ep->ep.maxpacket) {
drivers/usb/dwc2/gadget.c
1454
req->length, hs_ep->ep.maxpacket);
drivers/usb/dwc2/gadget.c
1526
static int dwc2_hsotg_ep_queue_lock(struct usb_ep *ep, struct usb_request *req,
drivers/usb/dwc2/gadget.c
1529
struct dwc2_hsotg_ep *hs_ep = our_ep(ep);
drivers/usb/dwc2/gadget.c
1535
ret = dwc2_hsotg_ep_queue(ep, req, gfp_flags);
drivers/usb/dwc2/gadget.c
1541
static void dwc2_hsotg_ep_free_request(struct usb_ep *ep,
drivers/usb/dwc2/gadget.c
1557
static void dwc2_hsotg_complete_oursetup(struct usb_ep *ep,
drivers/usb/dwc2/gadget.c
1560
struct dwc2_hsotg_ep *hs_ep = our_ep(ep);
drivers/usb/dwc2/gadget.c
1563
dev_dbg(hsotg->dev, "%s: ep %p, req %p\n", __func__, ep, req);
drivers/usb/dwc2/gadget.c
1565
dwc2_hsotg_ep_free_request(ep, req);
drivers/usb/dwc2/gadget.c
1628
struct dwc2_hsotg_ep *ep,
drivers/usb/dwc2/gadget.c
1637
req = dwc2_hsotg_ep_alloc_request(&ep->ep, GFP_ATOMIC);
drivers/usb/dwc2/gadget.c
1656
ret = dwc2_hsotg_ep_queue(&ep->ep, req, GFP_ATOMIC);
drivers/usb/dwc2/gadget.c
1674
struct dwc2_hsotg_ep *ep;
drivers/usb/dwc2/gadget.c
1701
ep = ep_from_windex(hsotg, le16_to_cpu(ctrl->wIndex));
drivers/usb/dwc2/gadget.c
1702
if (!ep)
drivers/usb/dwc2/gadget.c
1705
reply = cpu_to_le16(ep->halted ? 1 : 0);
drivers/usb/dwc2/gadget.c
1724
static int dwc2_hsotg_ep_sethalt(struct usb_ep *ep, int value, bool now);
drivers/usb/dwc2/gadget.c
1780
struct dwc2_hsotg_ep *ep;
drivers/usb/dwc2/gadget.c
1825
ep = ep_from_windex(hsotg, wIndex);
drivers/usb/dwc2/gadget.c
1826
if (!ep) {
drivers/usb/dwc2/gadget.c
1834
halted = ep->halted;
drivers/usb/dwc2/gadget.c
1836
if (!ep->wedged)
drivers/usb/dwc2/gadget.c
1837
dwc2_hsotg_ep_sethalt(&ep->ep, set, true);
drivers/usb/dwc2/gadget.c
1856
if (ep->req) {
drivers/usb/dwc2/gadget.c
1857
hs_req = ep->req;
drivers/usb/dwc2/gadget.c
1858
ep->req = NULL;
drivers/usb/dwc2/gadget.c
1863
&ep->ep, &hs_req->req);
drivers/usb/dwc2/gadget.c
1869
if (!ep->req)
drivers/usb/dwc2/gadget.c
1870
dwc2_gadget_start_next_request(ep);
drivers/usb/dwc2/gadget.c
201
unsigned int ep, unsigned int dir_in,
drivers/usb/dwc2/gadget.c
2012
static void dwc2_hsotg_complete_setup(struct usb_ep *ep,
drivers/usb/dwc2/gadget.c
2015
struct dwc2_hsotg_ep *hs_ep = our_ep(ep);
drivers/usb/dwc2/gadget.c
205
u32 bit = 1 << ep;
drivers/usb/dwc2/gadget.c
2060
ret = dwc2_hsotg_ep_queue(&hsotg->eps_out[0]->ep, req, GFP_ATOMIC);
drivers/usb/dwc2/gadget.c
2129
hs_ep, hs_ep->ep.name, hs_req, result, hs_req->req.complete);
drivers/usb/dwc2/gadget.c
2154
usb_gadget_giveback_request(&hs_ep->ep, &hs_req->req);
drivers/usb/dwc2/gadget.c
2345
const struct usb_endpoint_descriptor *ep_desc = hs_ep->ep.desc;
drivers/usb/dwc2/gadget.c
2352
u32 mps = hs_ep->ep.maxpacket;
drivers/usb/dwc2/gadget.c
2582
unsigned int ep, unsigned int mps,
drivers/usb/dwc2/gadget.c
2588
hs_ep = index_to_ep(hsotg, ep, dir_in);
drivers/usb/dwc2/gadget.c
2592
if (ep == 0) {
drivers/usb/dwc2/gadget.c
2599
hs_ep->ep.maxpacket = mps_bytes;
drivers/usb/dwc2/gadget.c
2607
hs_ep->ep.maxpacket = mps;
drivers/usb/dwc2/gadget.c
2611
reg = dwc2_readl(hsotg, DIEPCTL(ep));
drivers/usb/dwc2/gadget.c
2614
dwc2_writel(hsotg, reg, DIEPCTL(ep));
drivers/usb/dwc2/gadget.c
2616
reg = dwc2_readl(hsotg, DOEPCTL(ep));
drivers/usb/dwc2/gadget.c
2619
dwc2_writel(hsotg, reg, DOEPCTL(ep));
drivers/usb/dwc2/gadget.c
2625
dev_err(hsotg->dev, "ep%d: bad mps of %d\n", ep, mps);
drivers/usb/dwc2/gadget.c
2888
static void dwc2_gadget_handle_out_token_ep_disabled(struct dwc2_hsotg_ep *ep)
drivers/usb/dwc2/gadget.c
2890
struct dwc2_hsotg *hsotg = ep->parent;
drivers/usb/dwc2/gadget.c
2892
int dir_in = ep->dir_in;
drivers/usb/dwc2/gadget.c
2894
if (dir_in || !ep->isochronous)
drivers/usb/dwc2/gadget.c
2898
if (ep->target_frame == TARGET_FRAME_INITIAL) {
drivers/usb/dwc2/gadget.c
2900
ep->target_frame = hsotg->frame_number;
drivers/usb/dwc2/gadget.c
2901
dwc2_gadget_start_isoc_ddma(ep);
drivers/usb/dwc2/gadget.c
2906
if (ep->target_frame == TARGET_FRAME_INITIAL) {
drivers/usb/dwc2/gadget.c
2909
ep->target_frame = hsotg->frame_number;
drivers/usb/dwc2/gadget.c
2910
if (ep->interval > 1) {
drivers/usb/dwc2/gadget.c
2911
ctrl = dwc2_readl(hsotg, DOEPCTL(ep->index));
drivers/usb/dwc2/gadget.c
2912
if (ep->target_frame & 0x1)
drivers/usb/dwc2/gadget.c
2917
dwc2_writel(hsotg, ctrl, DOEPCTL(ep->index));
drivers/usb/dwc2/gadget.c
2921
while (dwc2_gadget_target_frame_elapsed(ep)) {
drivers/usb/dwc2/gadget.c
2922
hs_req = get_ep_head(ep);
drivers/usb/dwc2/gadget.c
2924
hs_req->req.frame_number = ep->target_frame;
drivers/usb/dwc2/gadget.c
2926
dwc2_hsotg_complete_request(hsotg, ep, hs_req, -ENODATA);
drivers/usb/dwc2/gadget.c
2929
dwc2_gadget_incr_frame_num(ep);
drivers/usb/dwc2/gadget.c
2934
if (!ep->req)
drivers/usb/dwc2/gadget.c
2935
dwc2_gadget_start_next_request(ep);
drivers/usb/dwc2/gadget.c
310
unsigned int ep;
drivers/usb/dwc2/gadget.c
3287
struct dwc2_hsotg_ep *ep,
drivers/usb/dwc2/gadget.c
3292
ep->req = NULL;
drivers/usb/dwc2/gadget.c
3294
while (!list_empty(&ep->queue)) {
drivers/usb/dwc2/gadget.c
3295
struct dwc2_hsotg_req *req = get_ep_head(ep);
drivers/usb/dwc2/gadget.c
3297
dwc2_hsotg_complete_request(hsotg, ep, req, result);
drivers/usb/dwc2/gadget.c
3302
size = (dwc2_readl(hsotg, DTXFSTS(ep->fifo_index)) & 0xffff) * 4;
drivers/usb/dwc2/gadget.c
3303
if (size < ep->fifo_size)
drivers/usb/dwc2/gadget.c
3304
dwc2_hsotg_txfifo_flush(hsotg, ep->fifo_index);
drivers/usb/dwc2/gadget.c
3317
unsigned int ep;
drivers/usb/dwc2/gadget.c
3326
for (ep = 0; ep < hsotg->num_of_eps; ep++) {
drivers/usb/dwc2/gadget.c
3327
if (hsotg->eps_in[ep])
drivers/usb/dwc2/gadget.c
3328
kill_all_requests(hsotg, hsotg->eps_in[ep],
drivers/usb/dwc2/gadget.c
3330
if (hsotg->eps_out[ep])
drivers/usb/dwc2/gadget.c
3331
kill_all_requests(hsotg, hsotg->eps_out[ep],
drivers/usb/dwc2/gadget.c
3348
struct dwc2_hsotg_ep *ep;
drivers/usb/dwc2/gadget.c
3353
ep = index_to_ep(hsotg, epno, 1);
drivers/usb/dwc2/gadget.c
3355
if (!ep)
drivers/usb/dwc2/gadget.c
3358
if (!ep->dir_in)
drivers/usb/dwc2/gadget.c
3361
if ((periodic && !ep->periodic) ||
drivers/usb/dwc2/gadget.c
3362
(!periodic && ep->periodic))
drivers/usb/dwc2/gadget.c
3365
ret = dwc2_hsotg_trytx(hsotg, ep);
drivers/usb/dwc2/gadget.c
3376
static int dwc2_hsotg_ep_disable(struct usb_ep *ep);
drivers/usb/dwc2/gadget.c
3391
int ep;
drivers/usb/dwc2/gadget.c
3401
for (ep = 1; ep < hsotg->num_of_eps; ep++) {
drivers/usb/dwc2/gadget.c
3402
if (hsotg->eps_in[ep])
drivers/usb/dwc2/gadget.c
3403
dwc2_hsotg_ep_disable(&hsotg->eps_in[ep]->ep);
drivers/usb/dwc2/gadget.c
3404
if (hsotg->eps_out[ep])
drivers/usb/dwc2/gadget.c
3405
dwc2_hsotg_ep_disable(&hsotg->eps_out[ep]->ep);
drivers/usb/dwc2/gadget.c
343
for (ep = 1; ep < MAX_EPS_CHANNELS; ep++) {
drivers/usb/dwc2/gadget.c
344
if (!txfsz[ep])
drivers/usb/dwc2/gadget.c
347
val |= txfsz[ep] << FIFOSIZE_DEPTH_SHIFT;
drivers/usb/dwc2/gadget.c
348
WARN_ONCE(addr + txfsz[ep] > hsotg->fifo_mem,
drivers/usb/dwc2/gadget.c
350
addr += txfsz[ep];
drivers/usb/dwc2/gadget.c
352
dwc2_writel(hsotg, val, DPTXFSIZN(ep));
drivers/usb/dwc2/gadget.c
353
val = dwc2_readl(hsotg, DPTXFSIZN(ep));
drivers/usb/dwc2/gadget.c
3560
dwc2_writel(hsotg, dwc2_hsotg_ep0_mps(hsotg->eps_out[0]->ep.maxpacket) |
drivers/usb/dwc2/gadget.c
3566
dwc2_writel(hsotg, dwc2_hsotg_ep0_mps(hsotg->eps_out[0]->ep.maxpacket) |
drivers/usb/dwc2/gadget.c
3776
int ep;
drivers/usb/dwc2/gadget.c
3784
for (ep = 0; ep < hsotg->num_of_eps && daint_out;
drivers/usb/dwc2/gadget.c
3785
ep++, daint_out >>= 1) {
drivers/usb/dwc2/gadget.c
3787
dwc2_hsotg_epint(hsotg, ep, 0);
drivers/usb/dwc2/gadget.c
3790
for (ep = 0; ep < hsotg->num_of_eps && daint_in;
drivers/usb/dwc2/gadget.c
3791
ep++, daint_in >>= 1) {
drivers/usb/dwc2/gadget.c
3793
dwc2_hsotg_epint(hsotg, ep, 1);
drivers/usb/dwc2/gadget.c
395
static struct usb_request *dwc2_hsotg_ep_alloc_request(struct usb_ep *ep,
drivers/usb/dwc2/gadget.c
4017
static int dwc2_hsotg_ep_enable(struct usb_ep *ep,
drivers/usb/dwc2/gadget.c
4020
struct dwc2_hsotg_ep *hs_ep = our_ep(ep);
drivers/usb/dwc2/gadget.c
4037
__func__, ep->name, desc->bEndpointAddress, desc->bmAttributes,
drivers/usb/dwc2/gadget.c
41
static inline struct dwc2_hsotg_ep *our_ep(struct usb_ep *ep)
drivers/usb/dwc2/gadget.c
4167
size = hs_ep->ep.maxpacket * hs_ep->mc;
drivers/usb/dwc2/gadget.c
4247
static int dwc2_hsotg_ep_disable(struct usb_ep *ep)
drivers/usb/dwc2/gadget.c
4249
struct dwc2_hsotg_ep *hs_ep = our_ep(ep);
drivers/usb/dwc2/gadget.c
4256
dev_dbg(hsotg->dev, "%s(ep %p)\n", __func__, ep);
drivers/usb/dwc2/gadget.c
4258
if (ep == &hsotg->eps_out[0]->ep) {
drivers/usb/dwc2/gadget.c
4295
static int dwc2_hsotg_ep_disable_lock(struct usb_ep *ep)
drivers/usb/dwc2/gadget.c
4297
struct dwc2_hsotg_ep *hs_ep = our_ep(ep);
drivers/usb/dwc2/gadget.c
43
return container_of(ep, struct dwc2_hsotg_ep, ep);
drivers/usb/dwc2/gadget.c
4303
ret = dwc2_hsotg_ep_disable(ep);
drivers/usb/dwc2/gadget.c
4313
static bool on_list(struct dwc2_hsotg_ep *ep, struct dwc2_hsotg_req *test)
drivers/usb/dwc2/gadget.c
4317
list_for_each_entry_safe(req, treq, &ep->queue, queue) {
drivers/usb/dwc2/gadget.c
4330
static int dwc2_hsotg_ep_dequeue(struct usb_ep *ep, struct usb_request *req)
drivers/usb/dwc2/gadget.c
4333
struct dwc2_hsotg_ep *hs_ep = our_ep(ep);
drivers/usb/dwc2/gadget.c
4337
dev_dbg(hs->dev, "ep_dequeue(%p,%p)\n", ep, req);
drivers/usb/dwc2/gadget.c
4361
static int dwc2_gadget_ep_set_wedge(struct usb_ep *ep)
drivers/usb/dwc2/gadget.c
4363
struct dwc2_hsotg_ep *hs_ep = our_ep(ep);
drivers/usb/dwc2/gadget.c
4371
ret = dwc2_hsotg_ep_sethalt(ep, 1, false);
drivers/usb/dwc2/gadget.c
4387
static int dwc2_hsotg_ep_sethalt(struct usb_ep *ep, int value, bool now)
drivers/usb/dwc2/gadget.c
4389
struct dwc2_hsotg_ep *hs_ep = our_ep(ep);
drivers/usb/dwc2/gadget.c
4396
dev_info(hs->dev, "%s(ep %p %s, %d)\n", __func__, ep, ep->name, value);
drivers/usb/dwc2/gadget.c
4408
dev_err(hs->dev, "%s is Isochronous Endpoint\n", ep->name);
drivers/usb/dwc2/gadget.c
4414
ep->name);
drivers/usb/dwc2/gadget.c
4466
static int dwc2_hsotg_ep_sethalt_lock(struct usb_ep *ep, int value)
drivers/usb/dwc2/gadget.c
4468
struct dwc2_hsotg_ep *hs_ep = our_ep(ep);
drivers/usb/dwc2/gadget.c
4474
ret = dwc2_hsotg_ep_sethalt(ep, value, false);
drivers/usb/dwc2/gadget.c
4602
int ep;
drivers/usb/dwc2/gadget.c
4616
for (ep = 1; ep < hsotg->num_of_eps; ep++) {
drivers/usb/dwc2/gadget.c
4617
if (hsotg->eps_in[ep])
drivers/usb/dwc2/gadget.c
4618
dwc2_hsotg_ep_disable_lock(&hsotg->eps_in[ep]->ep);
drivers/usb/dwc2/gadget.c
4619
if (hsotg->eps_out[ep])
drivers/usb/dwc2/gadget.c
4620
dwc2_hsotg_ep_disable_lock(&hsotg->eps_out[ep]->ep);
drivers/usb/dwc2/gadget.c
4829
INIT_LIST_HEAD(&hs_ep->ep.ep_list);
drivers/usb/dwc2/gadget.c
4833
list_add_tail(&hs_ep->ep.ep_list, &hsotg->gadget.ep_list);
drivers/usb/dwc2/gadget.c
4836
hs_ep->ep.name = hs_ep->name;
drivers/usb/dwc2/gadget.c
4839
usb_ep_set_maxpacket_limit(&hs_ep->ep, 8);
drivers/usb/dwc2/gadget.c
4841
usb_ep_set_maxpacket_limit(&hs_ep->ep,
drivers/usb/dwc2/gadget.c
4843
hs_ep->ep.ops = &dwc2_hsotg_ep_ops;
drivers/usb/dwc2/gadget.c
4846
hs_ep->ep.caps.type_control = true;
drivers/usb/dwc2/gadget.c
4849
hs_ep->ep.caps.type_iso = true;
drivers/usb/dwc2/gadget.c
4850
hs_ep->ep.caps.type_bulk = true;
drivers/usb/dwc2/gadget.c
4852
hs_ep->ep.caps.type_int = true;
drivers/usb/dwc2/gadget.c
4856
hs_ep->ep.caps.dir_in = true;
drivers/usb/dwc2/gadget.c
4858
hs_ep->ep.caps.dir_out = true;
drivers/usb/dwc2/gadget.c
5062
hsotg->gadget.ep0 = &hsotg->eps_out[0]->ep;
drivers/usb/dwc2/gadget.c
5066
hsotg->ctrl_req = dwc2_hsotg_ep_alloc_request(&hsotg->eps_out[0]->ep,
drivers/usb/dwc2/gadget.c
5096
dwc2_hsotg_ep_free_request(&hsotg->eps_out[0]->ep, hsotg->ctrl_req);
drivers/usb/dwc2/gadget.c
5109
int ep;
drivers/usb/dwc2/gadget.c
5121
for (ep = 1; ep < hsotg->num_of_eps; ep++) {
drivers/usb/dwc2/gadget.c
5122
if (hsotg->eps_in[ep])
drivers/usb/dwc2/gadget.c
5123
dwc2_hsotg_ep_disable_lock(&hsotg->eps_in[ep]->ep);
drivers/usb/dwc2/gadget.c
5124
if (hsotg->eps_out[ep])
drivers/usb/dwc2/gadget.c
5125
dwc2_hsotg_ep_disable_lock(&hsotg->eps_out[ep]->ep);
drivers/usb/dwc2/gadget.c
583
max_transfer = hs_ep->ep.maxpacket * hs_ep->mc;
drivers/usb/dwc2/gadget.c
693
if ((maxpkt * hs_ep->ep.maxpacket) < maxsize)
drivers/usb/dwc2/gadget.c
694
maxsize = maxpkt * hs_ep->ep.maxpacket;
drivers/usb/dwc2/gadget.c
727
const struct usb_endpoint_descriptor *ep_desc = hs_ep->ep.desc;
drivers/usb/dwc2/gadget.c
730
u32 mps = hs_ep->ep.maxpacket;
drivers/usb/dwc2/gadget.c
767
const struct usb_endpoint_descriptor *ep_desc = hs_ep->ep.desc;
drivers/usb/dwc2/gadget.c
768
u32 mps = hs_ep->ep.maxpacket;
drivers/usb/dwc2/gadget.c
808
u32 mps = hs_ep->ep.maxpacket;
drivers/usb/dwc2/gadget.c
946
pid = DIV_ROUND_UP(len, hs_ep->ep.maxpacket);
drivers/usb/dwc2/gadget.c
951
((len % hs_ep->ep.maxpacket) ?
drivers/usb/dwc2/hcd.c
1963
struct usb_host_endpoint *ep, int retry)
drivers/usb/dwc2/hcd.c
1972
qh = ep->hcpriv;
drivers/usb/dwc2/hcd.c
1989
qh = ep->hcpriv;
drivers/usb/dwc2/hcd.c
2002
ep->hcpriv = NULL;
drivers/usb/dwc2/hcd.c
2014
ep->hcpriv = NULL;
drivers/usb/dwc2/hcd.c
2022
struct usb_host_endpoint *ep)
drivers/usb/dwc2/hcd.c
2024
struct dwc2_qh *qh = ep->hcpriv;
drivers/usb/dwc2/hcd.c
4175
struct usb_host_endpoint *ep = urb->ep;
drivers/usb/dwc2/hcd.c
4177
if (ep)
drivers/usb/dwc2/hcd.c
4179
dwc2_hcd_get_ep_bandwidth(hsotg, ep),
drivers/usb/dwc2/hcd.c
4584
usb_endpoint_maxp(&urb->ep->desc),
drivers/usb/dwc2/hcd.c
4585
usb_endpoint_maxp_mult(&urb->ep->desc));
drivers/usb/dwc2/hcd.c
4617
struct usb_host_endpoint *ep = urb->ep;
drivers/usb/dwc2/hcd.c
4664
if (!ep)
drivers/usb/dwc2/hcd.c
4670
if (!dwc2_hcd_is_bandwidth_allocated(hsotg, ep))
drivers/usb/dwc2/hcd.c
4698
usb_endpoint_maxp(&ep->desc),
drivers/usb/dwc2/hcd.c
4699
usb_endpoint_maxp_mult(&ep->desc));
drivers/usb/dwc2/hcd.c
4734
qh = (struct dwc2_qh *)ep->hcpriv;
drivers/usb/dwc2/hcd.c
4742
ep->hcpriv = qh;
drivers/usb/dwc2/hcd.c
4763
dwc2_hcd_get_ep_bandwidth(hsotg, ep),
drivers/usb/dwc2/hcd.c
4784
ep->hcpriv = NULL;
drivers/usb/dwc2/hcd.c
4848
struct usb_host_endpoint *ep)
drivers/usb/dwc2/hcd.c
4854
ep->desc.bEndpointAddress, ep->hcpriv);
drivers/usb/dwc2/hcd.c
4855
dwc2_hcd_endpoint_disable(hsotg, ep, 250);
drivers/usb/dwc2/hcd.c
4864
struct usb_host_endpoint *ep)
drivers/usb/dwc2/hcd.c
4871
ep->desc.bEndpointAddress);
drivers/usb/dwc2/hcd.c
4874
dwc2_hcd_endpoint_reset(hsotg, ep);
drivers/usb/dwc2/hcd.c
4917
struct usb_host_endpoint *ep)
drivers/usb/dwc2/hcd.c
4923
qh = ep->hcpriv;
drivers/usb/dwc2/hcd.h
706
struct usb_host_endpoint *ep)
drivers/usb/dwc2/hcd.h
708
struct dwc2_qh *qh = ep->hcpriv;
drivers/usb/dwc2/hcd.h
717
struct usb_host_endpoint *ep)
drivers/usb/dwc2/hcd.h
719
struct dwc2_qh *qh = ep->hcpriv;
drivers/usb/dwc3/ep0.c
191
int dwc3_gadget_ep0_queue(struct usb_ep *ep, struct usb_request *request,
drivers/usb/dwc3/ep0.c
195
struct dwc3_ep *dep = to_dwc3_ep(ep);
drivers/usb/dwc3/ep0.c
256
int __dwc3_gadget_ep0_set_halt(struct usb_ep *ep, int value)
drivers/usb/dwc3/ep0.c
258
struct dwc3_ep *dep = to_dwc3_ep(ep);
drivers/usb/dwc3/ep0.c
266
int dwc3_gadget_ep0_set_halt(struct usb_ep *ep, int value)
drivers/usb/dwc3/ep0.c
268
struct dwc3_ep *dep = to_dwc3_ep(ep);
drivers/usb/dwc3/ep0.c
274
ret = __dwc3_gadget_ep0_set_halt(ep, value);
drivers/usb/dwc3/ep0.c
333
static void dwc3_ep0_status_cmpl(struct usb_ep *ep, struct usb_request *req)
drivers/usb/dwc3/ep0.c
696
static void dwc3_ep0_set_sel_cmpl(struct usb_ep *ep, struct usb_request *req)
drivers/usb/dwc3/ep0.c
698
struct dwc3_ep *dep = to_dwc3_ep(ep);
drivers/usb/dwc3/gadget.c
1112
static int dwc3_gadget_ep0_enable(struct usb_ep *ep,
drivers/usb/dwc3/gadget.c
1118
static int dwc3_gadget_ep0_disable(struct usb_ep *ep)
drivers/usb/dwc3/gadget.c
1125
static int dwc3_gadget_ep_enable(struct usb_ep *ep,
drivers/usb/dwc3/gadget.c
1133
if (!ep || !desc || desc->bDescriptorType != USB_DT_ENDPOINT) {
drivers/usb/dwc3/gadget.c
1143
dep = to_dwc3_ep(ep);
drivers/usb/dwc3/gadget.c
1158
static int dwc3_gadget_ep_disable(struct usb_ep *ep)
drivers/usb/dwc3/gadget.c
1165
if (!ep) {
drivers/usb/dwc3/gadget.c
1170
dep = to_dwc3_ep(ep);
drivers/usb/dwc3/gadget.c
1185
static struct usb_request *dwc3_gadget_ep_alloc_request(struct usb_ep *ep,
drivers/usb/dwc3/gadget.c
1189
struct dwc3_ep *dep = to_dwc3_ep(ep);
drivers/usb/dwc3/gadget.c
1205
static void dwc3_gadget_ep_free_request(struct usb_ep *ep,
drivers/usb/dwc3/gadget.c
1343
struct usb_ep *ep = &dep->endpoint;
drivers/usb/dwc3/gadget.c
1345
unsigned int maxp = usb_endpoint_maxp(ep->desc);
drivers/usb/dwc3/gadget.c
2046
static int dwc3_gadget_ep_queue(struct usb_ep *ep, struct usb_request *request,
drivers/usb/dwc3/gadget.c
2050
struct dwc3_ep *dep = to_dwc3_ep(ep);
drivers/usb/dwc3/gadget.c
2125
static int dwc3_gadget_ep_dequeue(struct usb_ep *ep,
drivers/usb/dwc3/gadget.c
2131
struct dwc3_ep *dep = to_dwc3_ep(ep);
drivers/usb/dwc3/gadget.c
2185
request, ep->name);
drivers/usb/dwc3/gadget.c
2280
static int dwc3_gadget_ep_set_halt(struct usb_ep *ep, int value)
drivers/usb/dwc3/gadget.c
2282
struct dwc3_ep *dep = to_dwc3_ep(ep);
drivers/usb/dwc3/gadget.c
2296
static int dwc3_gadget_ep_set_wedge(struct usb_ep *ep)
drivers/usb/dwc3/gadget.c
2298
struct dwc3_ep *dep = to_dwc3_ep(ep);
drivers/usb/dwc3/gadget.c
2307
ret = __dwc3_gadget_ep0_set_halt(ep, 1);
drivers/usb/dwc3/gadget.c
3153
struct usb_ep *ep;
drivers/usb/dwc3/gadget.c
3161
list_for_each_entry(ep, &g->ep_list, ep_list) {
drivers/usb/dwc3/gadget.c
3163
if (ep->claimed && (ep->address & USB_DIR_IN))
drivers/usb/dwc3/gadget.h
115
int __dwc3_gadget_ep0_set_halt(struct usb_ep *ep, int value);
drivers/usb/dwc3/gadget.h
116
int dwc3_gadget_ep0_set_halt(struct usb_ep *ep, int value);
drivers/usb/dwc3/gadget.h
117
int dwc3_gadget_ep0_queue(struct usb_ep *ep, struct usb_request *request,
drivers/usb/dwc3/gadget.h
19
#define to_dwc3_ep(ep) (container_of(ep, struct dwc3_ep, endpoint))
drivers/usb/fotg210/fotg210-hcd.c
2089
struct usb_host_endpoint *ep)
drivers/usb/fotg210/fotg210-hcd.c
2092
struct fotg210_qh *qh = ep->hcpriv;
drivers/usb/fotg210/fotg210-hcd.c
2308
urb, usb_endpoint_num(&urb->ep->desc),
drivers/usb/fotg210/fotg210-hcd.c
2309
usb_endpoint_dir_in(&urb->ep->desc)
drivers/usb/fotg210/fotg210-hcd.c
2705
struct usb_host_endpoint *ep;
drivers/usb/fotg210/fotg210-hcd.c
2724
ep = usb_pipe_endpoint(urb->dev, urb->pipe);
drivers/usb/fotg210/fotg210-hcd.c
2725
maxp = usb_endpoint_maxp(&ep->desc);
drivers/usb/fotg210/fotg210-hcd.c
2726
mult = usb_endpoint_maxp_mult(&ep->desc);
drivers/usb/fotg210/fotg210-hcd.c
3018
epnum = urb->ep->desc.bEndpointAddress;
drivers/usb/fotg210/fotg210-hcd.c
3031
qtd, urb->ep->hcpriv);
drivers/usb/fotg210/fotg210-hcd.c
3044
qh = qh_append_tds(fotg210, urb, qtd_list, epnum, &urb->ep->hcpriv);
drivers/usb/fotg210/fotg210-hcd.c
3824
epnum = urb->ep->desc.bEndpointAddress;
drivers/usb/fotg210/fotg210-hcd.c
3838
qh = qh_append_tds(fotg210, urb, &empty, epnum, &urb->ep->hcpriv);
drivers/usb/fotg210/fotg210-hcd.c
3850
qh = qh_append_tds(fotg210, urb, qtd_list, epnum, &urb->ep->hcpriv);
drivers/usb/fotg210/fotg210-hcd.c
3920
struct usb_host_endpoint *ep;
drivers/usb/fotg210/fotg210-hcd.c
3928
ep = usb_pipe_endpoint(dev, pipe);
drivers/usb/fotg210/fotg210-hcd.c
3929
maxp = usb_endpoint_maxp(&ep->desc);
drivers/usb/fotg210/fotg210-hcd.c
3935
multi = usb_endpoint_maxp_mult(&ep->desc);
drivers/usb/fotg210/fotg210-hcd.c
3970
struct usb_host_endpoint *ep;
drivers/usb/fotg210/fotg210-hcd.c
3975
ep = urb->dev->ep_in[epnum];
drivers/usb/fotg210/fotg210-hcd.c
3977
ep = urb->dev->ep_out[epnum];
drivers/usb/fotg210/fotg210-hcd.c
3980
stream = ep->hcpriv;
drivers/usb/fotg210/fotg210-hcd.c
3985
ep->hcpriv = stream;
drivers/usb/fotg210/fotg210-hcd.c
3986
stream->ep = ep;
drivers/usb/fotg210/fotg210-hcd.c
5357
struct usb_host_endpoint *ep)
drivers/usb/fotg210/fotg210-hcd.c
5368
qh = ep->hcpriv;
drivers/usb/fotg210/fotg210-hcd.c
5376
struct fotg210_iso_stream *stream = ep->hcpriv;
drivers/usb/fotg210/fotg210-hcd.c
5420
qh, ep->desc.bEndpointAddress, qh->qh_state,
drivers/usb/fotg210/fotg210-hcd.c
5425
ep->hcpriv = NULL;
drivers/usb/fotg210/fotg210-hcd.c
5430
struct usb_host_endpoint *ep)
drivers/usb/fotg210/fotg210-hcd.c
5434
int eptype = usb_endpoint_type(&ep->desc);
drivers/usb/fotg210/fotg210-hcd.c
5435
int epnum = usb_endpoint_num(&ep->desc);
drivers/usb/fotg210/fotg210-hcd.c
5436
int is_out = usb_endpoint_dir_out(&ep->desc);
drivers/usb/fotg210/fotg210-hcd.c
5443
qh = ep->hcpriv;
drivers/usb/fotg210/fotg210-hcd.h
507
struct usb_host_endpoint *ep;
drivers/usb/fotg210/fotg210-udc.c
1164
fotg210_ep_free_request(&fotg210->ep[0]->ep, fotg210->ep0_req);
drivers/usb/fotg210/fotg210-udc.c
1166
kfree(fotg210->ep[i]);
drivers/usb/fotg210/fotg210-udc.c
121
static void fotg210_set_fifo_dir(struct fotg210_ep *ep, u32 epnum, u32 dir_in)
drivers/usb/fotg210/fotg210-udc.c
1210
fotg210->ep[i] = kzalloc_obj(struct fotg210_ep);
drivers/usb/fotg210/fotg210-udc.c
1211
if (!fotg210->ep[i])
drivers/usb/fotg210/fotg210-udc.c
123
struct fotg210_udc *fotg210 = ep->fotg210;
drivers/usb/fotg210/fotg210-udc.c
1231
struct fotg210_ep *ep = fotg210->ep[i];
drivers/usb/fotg210/fotg210-udc.c
1234
INIT_LIST_HEAD(&fotg210->ep[i]->ep.ep_list);
drivers/usb/fotg210/fotg210-udc.c
1235
list_add_tail(&fotg210->ep[i]->ep.ep_list,
drivers/usb/fotg210/fotg210-udc.c
1238
ep->fotg210 = fotg210;
drivers/usb/fotg210/fotg210-udc.c
1239
INIT_LIST_HEAD(&ep->queue);
drivers/usb/fotg210/fotg210-udc.c
1240
ep->ep.name = fotg210_ep_name[i];
drivers/usb/fotg210/fotg210-udc.c
1241
ep->ep.ops = &fotg210_ep_ops;
drivers/usb/fotg210/fotg210-udc.c
1242
usb_ep_set_maxpacket_limit(&ep->ep, (unsigned short) ~0);
drivers/usb/fotg210/fotg210-udc.c
1245
ep->ep.caps.type_control = true;
drivers/usb/fotg210/fotg210-udc.c
1247
ep->ep.caps.type_iso = true;
drivers/usb/fotg210/fotg210-udc.c
1248
ep->ep.caps.type_bulk = true;
drivers/usb/fotg210/fotg210-udc.c
1249
ep->ep.caps.type_int = true;
drivers/usb/fotg210/fotg210-udc.c
1252
ep->ep.caps.dir_in = true;
drivers/usb/fotg210/fotg210-udc.c
1253
ep->ep.caps.dir_out = true;
drivers/usb/fotg210/fotg210-udc.c
1255
usb_ep_set_maxpacket_limit(&fotg210->ep[0]->ep, 0x40);
drivers/usb/fotg210/fotg210-udc.c
1256
fotg210->gadget.ep0 = &fotg210->ep[0]->ep;
drivers/usb/fotg210/fotg210-udc.c
1259
fotg210->ep0_req = fotg210_ep_alloc_request(&fotg210->ep[0]->ep,
drivers/usb/fotg210/fotg210-udc.c
1294
fotg210_ep_free_request(&fotg210->ep[0]->ep, fotg210->ep0_req);
drivers/usb/fotg210/fotg210-udc.c
1301
kfree(fotg210->ep[i]);
drivers/usb/fotg210/fotg210-udc.c
131
static void fotg210_set_tfrtype(struct fotg210_ep *ep, u32 epnum, u32 type)
drivers/usb/fotg210/fotg210-udc.c
133
struct fotg210_udc *fotg210 = ep->fotg210;
drivers/usb/fotg210/fotg210-udc.c
141
static void fotg210_set_mps(struct fotg210_ep *ep, u32 epnum, u32 mps,
drivers/usb/fotg210/fotg210-udc.c
144
struct fotg210_udc *fotg210 = ep->fotg210;
drivers/usb/fotg210/fotg210-udc.c
154
static int fotg210_config_ep(struct fotg210_ep *ep,
drivers/usb/fotg210/fotg210-udc.c
157
struct fotg210_udc *fotg210 = ep->fotg210;
drivers/usb/fotg210/fotg210-udc.c
159
fotg210_set_fifo_dir(ep, ep->epnum, ep->dir_in);
drivers/usb/fotg210/fotg210-udc.c
160
fotg210_set_tfrtype(ep, ep->epnum, ep->type);
drivers/usb/fotg210/fotg210-udc.c
161
fotg210_set_mps(ep, ep->epnum, ep->ep.maxpacket, ep->dir_in);
drivers/usb/fotg210/fotg210-udc.c
162
fotg210_fifo_ep_mapping(ep, ep->epnum, ep->dir_in);
drivers/usb/fotg210/fotg210-udc.c
164
fotg210->ep[ep->epnum] = ep;
drivers/usb/fotg210/fotg210-udc.c
172
struct fotg210_ep *ep;
drivers/usb/fotg210/fotg210-udc.c
174
ep = container_of(_ep, struct fotg210_ep, ep);
drivers/usb/fotg210/fotg210-udc.c
176
ep->desc = desc;
drivers/usb/fotg210/fotg210-udc.c
177
ep->epnum = usb_endpoint_num(desc);
drivers/usb/fotg210/fotg210-udc.c
178
ep->type = usb_endpoint_type(desc);
drivers/usb/fotg210/fotg210-udc.c
179
ep->dir_in = usb_endpoint_dir_in(desc);
drivers/usb/fotg210/fotg210-udc.c
180
ep->ep.maxpacket = usb_endpoint_maxp(desc);
drivers/usb/fotg210/fotg210-udc.c
182
return fotg210_config_ep(ep, desc);
drivers/usb/fotg210/fotg210-udc.c
187
struct fotg210_ep *ep = fotg210->ep[epnum];
drivers/usb/fotg210/fotg210-udc.c
191
reg = (ep->dir_in) ?
drivers/usb/fotg210/fotg210-udc.c
208
static int fotg210_ep_release(struct fotg210_ep *ep)
drivers/usb/fotg210/fotg210-udc.c
210
if (!ep->epnum)
drivers/usb/fotg210/fotg210-udc.c
212
ep->epnum = 0;
drivers/usb/fotg210/fotg210-udc.c
213
ep->stall = 0;
drivers/usb/fotg210/fotg210-udc.c
214
ep->wedged = 0;
drivers/usb/fotg210/fotg210-udc.c
216
fotg210_reset_tseq(ep->fotg210, ep->epnum);
drivers/usb/fotg210/fotg210-udc.c
223
struct fotg210_ep *ep;
drivers/usb/fotg210/fotg210-udc.c
229
ep = container_of(_ep, struct fotg210_ep, ep);
drivers/usb/fotg210/fotg210-udc.c
231
while (!list_empty(&ep->queue)) {
drivers/usb/fotg210/fotg210-udc.c
232
req = list_entry(ep->queue.next,
drivers/usb/fotg210/fotg210-udc.c
234
spin_lock_irqsave(&ep->fotg210->lock, flags);
drivers/usb/fotg210/fotg210-udc.c
235
fotg210_done(ep, req, -ECONNRESET);
drivers/usb/fotg210/fotg210-udc.c
236
spin_unlock_irqrestore(&ep->fotg210->lock, flags);
drivers/usb/fotg210/fotg210-udc.c
239
return fotg210_ep_release(ep);
drivers/usb/fotg210/fotg210-udc.c
265
static void fotg210_enable_dma(struct fotg210_ep *ep,
drivers/usb/fotg210/fotg210-udc.c
269
struct fotg210_udc *fotg210 = ep->fotg210;
drivers/usb/fotg210/fotg210-udc.c
274
value |= DMACPSR1_DMA_LEN(len) | DMACPSR1_DMA_TYPE(ep->dir_in);
drivers/usb/fotg210/fotg210-udc.c
279
if (ep->epnum)
drivers/usb/fotg210/fotg210-udc.c
280
value |= DMATFNR_ACC_FN(ep->epnum - 1);
drivers/usb/fotg210/fotg210-udc.c
299
static void fotg210_disable_dma(struct fotg210_ep *ep)
drivers/usb/fotg210/fotg210-udc.c
301
iowrite32(DMATFNR_DISDMA, ep->fotg210->reg + FOTG210_DMATFNR);
drivers/usb/fotg210/fotg210-udc.c
304
static void fotg210_wait_dma_done(struct fotg210_ep *ep)
drivers/usb/fotg210/fotg210-udc.c
309
value = ioread32(ep->fotg210->reg + FOTG210_DISGR2);
drivers/usb/fotg210/fotg210-udc.c
315
fotg210_ack_int(ep->fotg210, FOTG210_DISGR2, DISGR2_DMA_CMPLT);
drivers/usb/fotg210/fotg210-udc.c
319
value = ioread32(ep->fotg210->reg + FOTG210_DMACPSR1);
drivers/usb/fotg210/fotg210-udc.c
321
iowrite32(value, ep->fotg210->reg + FOTG210_DMACPSR1);
drivers/usb/fotg210/fotg210-udc.c
324
if (ep->epnum) {
drivers/usb/fotg210/fotg210-udc.c
325
value = ioread32(ep->fotg210->reg +
drivers/usb/fotg210/fotg210-udc.c
326
FOTG210_FIBCR(ep->epnum - 1));
drivers/usb/fotg210/fotg210-udc.c
328
iowrite32(value, ep->fotg210->reg +
drivers/usb/fotg210/fotg210-udc.c
329
FOTG210_FIBCR(ep->epnum - 1));
drivers/usb/fotg210/fotg210-udc.c
331
value = ioread32(ep->fotg210->reg + FOTG210_DCFESR);
drivers/usb/fotg210/fotg210-udc.c
333
iowrite32(value, ep->fotg210->reg + FOTG210_DCFESR);
drivers/usb/fotg210/fotg210-udc.c
337
static void fotg210_start_dma(struct fotg210_ep *ep,
drivers/usb/fotg210/fotg210-udc.c
340
struct device *dev = &ep->fotg210->gadget.dev;
drivers/usb/fotg210/fotg210-udc.c
345
if (ep->epnum) {
drivers/usb/fotg210/fotg210-udc.c
346
if (ep->dir_in) {
drivers/usb/fotg210/fotg210-udc.c
351
length = ioread32(ep->fotg210->reg +
drivers/usb/fotg210/fotg210-udc.c
352
FOTG210_FIBCR(ep->epnum - 1)) & FIBCR_BCFX;
drivers/usb/fotg210/fotg210-udc.c
358
if (req->req.length - req->req.actual > ep->ep.maxpacket)
drivers/usb/fotg210/fotg210-udc.c
359
length = ep->ep.maxpacket;
drivers/usb/fotg210/fotg210-udc.c
365
ep->dir_in ? DMA_TO_DEVICE : DMA_FROM_DEVICE);
drivers/usb/fotg210/fotg210-udc.c
372
fotg210_enable_dma(ep, d, length);
drivers/usb/fotg210/fotg210-udc.c
375
fotg210_wait_dma_done(ep);
drivers/usb/fotg210/fotg210-udc.c
377
fotg210_disable_dma(ep);
drivers/usb/fotg210/fotg210-udc.c
385
static void fotg210_ep0_queue(struct fotg210_ep *ep,
drivers/usb/fotg210/fotg210-udc.c
389
fotg210_done(ep, req, 0);
drivers/usb/fotg210/fotg210-udc.c
392
if (ep->dir_in) { /* if IN */
drivers/usb/fotg210/fotg210-udc.c
393
fotg210_start_dma(ep, req);
drivers/usb/fotg210/fotg210-udc.c
395
fotg210_done(ep, req, 0);
drivers/usb/fotg210/fotg210-udc.c
397
u32 value = ioread32(ep->fotg210->reg + FOTG210_DMISGR0);
drivers/usb/fotg210/fotg210-udc.c
40
static void fotg210_disable_fifo_int(struct fotg210_ep *ep)
drivers/usb/fotg210/fotg210-udc.c
400
iowrite32(value, ep->fotg210->reg + FOTG210_DMISGR0);
drivers/usb/fotg210/fotg210-udc.c
407
struct fotg210_ep *ep;
drivers/usb/fotg210/fotg210-udc.c
412
ep = container_of(_ep, struct fotg210_ep, ep);
drivers/usb/fotg210/fotg210-udc.c
415
if (ep->fotg210->gadget.speed == USB_SPEED_UNKNOWN)
drivers/usb/fotg210/fotg210-udc.c
418
spin_lock_irqsave(&ep->fotg210->lock, flags);
drivers/usb/fotg210/fotg210-udc.c
42
u32 value = ioread32(ep->fotg210->reg + FOTG210_DMISGR1);
drivers/usb/fotg210/fotg210-udc.c
420
if (list_empty(&ep->queue))
drivers/usb/fotg210/fotg210-udc.c
423
list_add_tail(&req->queue, &ep->queue);
drivers/usb/fotg210/fotg210-udc.c
428
if (!ep->epnum) /* ep0 */
drivers/usb/fotg210/fotg210-udc.c
429
fotg210_ep0_queue(ep, req);
drivers/usb/fotg210/fotg210-udc.c
430
else if (request && !ep->stall)
drivers/usb/fotg210/fotg210-udc.c
431
fotg210_enable_fifo_int(ep);
drivers/usb/fotg210/fotg210-udc.c
433
spin_unlock_irqrestore(&ep->fotg210->lock, flags);
drivers/usb/fotg210/fotg210-udc.c
44
if (ep->dir_in)
drivers/usb/fotg210/fotg210-udc.c
440
struct fotg210_ep *ep;
drivers/usb/fotg210/fotg210-udc.c
444
ep = container_of(_ep, struct fotg210_ep, ep);
drivers/usb/fotg210/fotg210-udc.c
447
spin_lock_irqsave(&ep->fotg210->lock, flags);
drivers/usb/fotg210/fotg210-udc.c
448
if (!list_empty(&ep->queue))
drivers/usb/fotg210/fotg210-udc.c
449
fotg210_done(ep, req, -ECONNRESET);
drivers/usb/fotg210/fotg210-udc.c
45
value |= DMISGR1_MF_IN_INT(ep->epnum - 1);
drivers/usb/fotg210/fotg210-udc.c
450
spin_unlock_irqrestore(&ep->fotg210->lock, flags);
drivers/usb/fotg210/fotg210-udc.c
455
static void fotg210_set_epnstall(struct fotg210_ep *ep)
drivers/usb/fotg210/fotg210-udc.c
457
struct fotg210_udc *fotg210 = ep->fotg210;
drivers/usb/fotg210/fotg210-udc.c
462
if (ep->dir_in) {
drivers/usb/fotg210/fotg210-udc.c
465
} while (!(value & DCFESR_FIFO_EMPTY(ep->epnum - 1)));
drivers/usb/fotg210/fotg210-udc.c
468
reg = (ep->dir_in) ?
drivers/usb/fotg210/fotg210-udc.c
469
fotg210->reg + FOTG210_INEPMPSR(ep->epnum) :
drivers/usb/fotg210/fotg210-udc.c
47
value |= DMISGR1_MF_OUTSPK_INT(ep->epnum - 1);
drivers/usb/fotg210/fotg210-udc.c
470
fotg210->reg + FOTG210_OUTEPMPSR(ep->epnum);
drivers/usb/fotg210/fotg210-udc.c
476
static void fotg210_clear_epnstall(struct fotg210_ep *ep)
drivers/usb/fotg210/fotg210-udc.c
478
struct fotg210_udc *fotg210 = ep->fotg210;
drivers/usb/fotg210/fotg210-udc.c
48
iowrite32(value, ep->fotg210->reg + FOTG210_DMISGR1);
drivers/usb/fotg210/fotg210-udc.c
482
reg = (ep->dir_in) ?
drivers/usb/fotg210/fotg210-udc.c
483
fotg210->reg + FOTG210_INEPMPSR(ep->epnum) :
drivers/usb/fotg210/fotg210-udc.c
484
fotg210->reg + FOTG210_OUTEPMPSR(ep->epnum);
drivers/usb/fotg210/fotg210-udc.c
492
struct fotg210_ep *ep;
drivers/usb/fotg210/fotg210-udc.c
496
ep = container_of(_ep, struct fotg210_ep, ep);
drivers/usb/fotg210/fotg210-udc.c
498
fotg210 = ep->fotg210;
drivers/usb/fotg210/fotg210-udc.c
500
spin_lock_irqsave(&ep->fotg210->lock, flags);
drivers/usb/fotg210/fotg210-udc.c
503
fotg210_set_epnstall(ep);
drivers/usb/fotg210/fotg210-udc.c
504
ep->stall = 1;
drivers/usb/fotg210/fotg210-udc.c
506
ep->wedged = 1;
drivers/usb/fotg210/fotg210-udc.c
508
fotg210_reset_tseq(fotg210, ep->epnum);
drivers/usb/fotg210/fotg210-udc.c
509
fotg210_clear_epnstall(ep);
drivers/usb/fotg210/fotg210-udc.c
51
static void fotg210_enable_fifo_int(struct fotg210_ep *ep)
drivers/usb/fotg210/fotg210-udc.c
510
ep->stall = 0;
drivers/usb/fotg210/fotg210-udc.c
511
ep->wedged = 0;
drivers/usb/fotg210/fotg210-udc.c
512
if (!list_empty(&ep->queue))
drivers/usb/fotg210/fotg210-udc.c
513
fotg210_enable_fifo_int(ep);
drivers/usb/fotg210/fotg210-udc.c
516
spin_unlock_irqrestore(&ep->fotg210->lock, flags);
drivers/usb/fotg210/fotg210-udc.c
53
u32 value = ioread32(ep->fotg210->reg + FOTG210_DMISGR1);
drivers/usb/fotg210/fotg210-udc.c
55
if (ep->dir_in)
drivers/usb/fotg210/fotg210-udc.c
56
value &= ~DMISGR1_MF_IN_INT(ep->epnum - 1);
drivers/usb/fotg210/fotg210-udc.c
58
value &= ~DMISGR1_MF_OUTSPK_INT(ep->epnum - 1);
drivers/usb/fotg210/fotg210-udc.c
59
iowrite32(value, ep->fotg210->reg + FOTG210_DMISGR1);
drivers/usb/fotg210/fotg210-udc.c
665
fotg210_set_epnstall(fotg210->ep[epnum]);
drivers/usb/fotg210/fotg210-udc.c
680
struct fotg210_ep *ep =
drivers/usb/fotg210/fotg210-udc.c
681
fotg210->ep[ctrl->wIndex & USB_ENDPOINT_NUMBER_MASK];
drivers/usb/fotg210/fotg210-udc.c
692
if (ep->wedged) {
drivers/usb/fotg210/fotg210-udc.c
696
if (ep->stall)
drivers/usb/fotg210/fotg210-udc.c
697
fotg210_set_halt_and_wedge(&ep->ep, 0, 0);
drivers/usb/fotg210/fotg210-udc.c
70
static void fotg210_done(struct fotg210_ep *ep, struct fotg210_request *req,
drivers/usb/fotg210/fotg210-udc.c
707
static int fotg210_is_epnstall(struct fotg210_ep *ep)
drivers/usb/fotg210/fotg210-udc.c
709
struct fotg210_udc *fotg210 = ep->fotg210;
drivers/usb/fotg210/fotg210-udc.c
713
reg = (ep->dir_in) ?
drivers/usb/fotg210/fotg210-udc.c
714
fotg210->reg + FOTG210_INEPMPSR(ep->epnum) :
drivers/usb/fotg210/fotg210-udc.c
715
fotg210->reg + FOTG210_OUTEPMPSR(ep->epnum);
drivers/usb/fotg210/fotg210-udc.c
723
struct fotg210_ep *ep;
drivers/usb/fotg210/fotg210-udc.c
726
ep = container_of(_ep, struct fotg210_ep, ep);
drivers/usb/fotg210/fotg210-udc.c
727
fotg210 = ep->fotg210;
drivers/usb/fotg210/fotg210-udc.c
750
cpu_to_le16(fotg210_is_epnstall(fotg210->ep[epnum])
drivers/usb/fotg210/fotg210-udc.c
76
if (ep->fotg210->gadget.speed == USB_SPEED_UNKNOWN)
drivers/usb/fotg210/fotg210-udc.c
777
fotg210->ep[0]->dir_in = ctrl->bRequestType & USB_DIR_IN;
drivers/usb/fotg210/fotg210-udc.c
81
spin_unlock(&ep->fotg210->lock);
drivers/usb/fotg210/fotg210-udc.c
817
struct fotg210_ep *ep = fotg210->ep[0];
drivers/usb/fotg210/fotg210-udc.c
819
if (!list_empty(&ep->queue) && !ep->dir_in) {
drivers/usb/fotg210/fotg210-udc.c
82
usb_gadget_giveback_request(&ep->ep, &req->req);
drivers/usb/fotg210/fotg210-udc.c
822
req = list_first_entry(&ep->queue,
drivers/usb/fotg210/fotg210-udc.c
826
fotg210_start_dma(ep, req);
drivers/usb/fotg210/fotg210-udc.c
828
if ((req->req.length - req->req.actual) < ep->ep.maxpacket)
drivers/usb/fotg210/fotg210-udc.c
829
fotg210_done(ep, req, 0);
drivers/usb/fotg210/fotg210-udc.c
83
spin_lock(&ep->fotg210->lock);
drivers/usb/fotg210/fotg210-udc.c
837
struct fotg210_ep *ep = fotg210->ep[0];
drivers/usb/fotg210/fotg210-udc.c
839
if ((!list_empty(&ep->queue)) && (ep->dir_in)) {
drivers/usb/fotg210/fotg210-udc.c
842
req = list_entry(ep->queue.next,
drivers/usb/fotg210/fotg210-udc.c
846
fotg210_start_dma(ep, req);
drivers/usb/fotg210/fotg210-udc.c
849
fotg210_done(ep, req, 0);
drivers/usb/fotg210/fotg210-udc.c
85
if (ep->epnum) {
drivers/usb/fotg210/fotg210-udc.c
855
static void fotg210_in_fifo_handler(struct fotg210_ep *ep)
drivers/usb/fotg210/fotg210-udc.c
857
struct fotg210_request *req = list_entry(ep->queue.next,
drivers/usb/fotg210/fotg210-udc.c
86
if (list_empty(&ep->queue))
drivers/usb/fotg210/fotg210-udc.c
861
fotg210_start_dma(ep, req);
drivers/usb/fotg210/fotg210-udc.c
862
fotg210_done(ep, req, 0);
drivers/usb/fotg210/fotg210-udc.c
865
static void fotg210_out_fifo_handler(struct fotg210_ep *ep)
drivers/usb/fotg210/fotg210-udc.c
867
struct fotg210_request *req = list_entry(ep->queue.next,
drivers/usb/fotg210/fotg210-udc.c
869
int disgr1 = ioread32(ep->fotg210->reg + FOTG210_DISGR1);
drivers/usb/fotg210/fotg210-udc.c
87
fotg210_disable_fifo_int(ep);
drivers/usb/fotg210/fotg210-udc.c
871
fotg210_start_dma(ep, req);
drivers/usb/fotg210/fotg210-udc.c
878
(disgr1 & DISGR1_SPK_INT(ep->epnum - 1)))
drivers/usb/fotg210/fotg210-udc.c
879
fotg210_done(ep, req, 0);
drivers/usb/fotg210/fotg210-udc.c
89
fotg210_set_cxdone(ep->fotg210);
drivers/usb/fotg210/fotg210-udc.c
93
static void fotg210_fifo_ep_mapping(struct fotg210_ep *ep, u32 epnum,
drivers/usb/fotg210/fotg210-udc.c
96
struct fotg210_udc *fotg210 = ep->fotg210;
drivers/usb/fotg210/fotg210-udc.c
984
fotg210_in_fifo_handler(fotg210->ep[fifo + 1]);
drivers/usb/fotg210/fotg210-udc.c
988
fotg210_out_fifo_handler(fotg210->ep[fifo + 1]);
drivers/usb/fotg210/fotg210-udc.h
150
#define FOTG210_INEPMPSR(ep) (0x160 + 4 * ((ep) - 1))
drivers/usb/fotg210/fotg210-udc.h
156
#define FOTG210_OUTEPMPSR(ep) (0x180 + 4 * ((ep) - 1))
drivers/usb/fotg210/fotg210-udc.h
160
#define EPMAP_FIFONO(ep, dir) \
drivers/usb/fotg210/fotg210-udc.h
161
((((ep) - 1) << ((ep) - 1) * 8) << ((dir) ? 0 : 4))
drivers/usb/fotg210/fotg210-udc.h
162
#define EPMAP_FIFONOMSK(ep, dir) \
drivers/usb/fotg210/fotg210-udc.h
163
((3 << ((ep) - 1) * 8) << ((dir) ? 0 : 4))
drivers/usb/fotg210/fotg210-udc.h
171
#define FIFOMAP_EPNO(ep) ((ep) << ((ep) - 1) * 8)
drivers/usb/fotg210/fotg210-udc.h
172
#define FIFOMAP_EPNOMSK(ep) (0xF << ((ep) - 1) * 8)
drivers/usb/fotg210/fotg210-udc.h
218
struct usb_ep ep;
drivers/usb/fotg210/fotg210-udc.h
245
struct fotg210_ep *ep[FOTG210_MAX_NUM_EP];
drivers/usb/gadget/composite.c
1006
struct usb_endpoint_descriptor *ep;
drivers/usb/gadget/composite.c
1012
ep = (struct usb_endpoint_descriptor *)*descriptors;
drivers/usb/gadget/composite.c
1013
addr = ((ep->bEndpointAddress & 0x80) >> 3)
drivers/usb/gadget/composite.c
1014
| usb_endpoint_num(ep);
drivers/usb/gadget/composite.c
1549
static void composite_setup_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/composite.c
1554
DBG((struct usb_composite_dev *) ep->driver_data,
drivers/usb/gadget/composite.c
2484
struct usb_ep *ep, *tmp_ep;
drivers/usb/gadget/composite.c
2520
list_for_each_entry_safe(ep, tmp_ep,
drivers/usb/gadget/composite.c
2522
if (ep->ops->dispose)
drivers/usb/gadget/composite.c
2523
ep->ops->dispose(ep);
drivers/usb/gadget/epautoconf.c
109
ep->address = desc->bEndpointAddress;
drivers/usb/gadget/epautoconf.c
110
ep->desc = NULL;
drivers/usb/gadget/epautoconf.c
111
ep->comp_desc = NULL;
drivers/usb/gadget/epautoconf.c
112
ep->claimed = true;
drivers/usb/gadget/epautoconf.c
113
return ep;
drivers/usb/gadget/epautoconf.c
154
struct usb_ep *ep;
drivers/usb/gadget/epautoconf.c
157
ep = usb_ep_autoconfig_ss(gadget, desc, NULL);
drivers/usb/gadget/epautoconf.c
158
if (!ep)
drivers/usb/gadget/epautoconf.c
165
int size = ep->maxpacket_limit;
drivers/usb/gadget/epautoconf.c
173
return ep;
drivers/usb/gadget/epautoconf.c
187
void usb_ep_autoconfig_release(struct usb_ep *ep)
drivers/usb/gadget/epautoconf.c
189
ep->claimed = false;
drivers/usb/gadget/epautoconf.c
190
ep->driver_data = NULL;
drivers/usb/gadget/epautoconf.c
205
struct usb_ep *ep;
drivers/usb/gadget/epautoconf.c
207
list_for_each_entry (ep, &gadget->ep_list, ep_list) {
drivers/usb/gadget/epautoconf.c
208
ep->claimed = false;
drivers/usb/gadget/epautoconf.c
209
ep->driver_data = NULL;
drivers/usb/gadget/epautoconf.c
69
struct usb_ep *ep;
drivers/usb/gadget/epautoconf.c
72
ep = gadget->ops->match_ep(gadget, desc, ep_comp);
drivers/usb/gadget/epautoconf.c
73
if (ep)
drivers/usb/gadget/epautoconf.c
78
list_for_each_entry (ep, &gadget->ep_list, ep_list) {
drivers/usb/gadget/epautoconf.c
79
if (usb_gadget_ep_match_desc(gadget, ep, desc, ep_comp))
drivers/usb/gadget/epautoconf.c
92
desc->wMaxPacketSize = cpu_to_le16(ep->maxpacket_limit);
drivers/usb/gadget/epautoconf.c
96
if (isdigit(ep->name[2])) {
drivers/usb/gadget/epautoconf.c
97
u8 num = simple_strtoul(&ep->name[2], NULL, 10);
drivers/usb/gadget/function/f_acm.c
299
static void acm_complete_set_line_coding(struct usb_ep *ep,
drivers/usb/gadget/function/f_acm.c
302
struct f_acm *acm = ep->driver_data;
drivers/usb/gadget/function/f_acm.c
315
usb_ep_set_halt(ep);
drivers/usb/gadget/function/f_acm.c
499
struct usb_ep *ep = acm->notify;
drivers/usb/gadget/function/f_acm.c
524
status = usb_ep_queue(ep, req, GFP_ATOMIC);
drivers/usb/gadget/function/f_acm.c
558
static void acm_cdc_notify_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/f_acm.c
618
struct usb_ep *ep;
drivers/usb/gadget/function/f_acm.c
654
ep = usb_ep_autoconfig(cdev->gadget, &acm_fs_in_desc);
drivers/usb/gadget/function/f_acm.c
655
if (!ep)
drivers/usb/gadget/function/f_acm.c
657
acm->port.in = ep;
drivers/usb/gadget/function/f_acm.c
659
ep = usb_ep_autoconfig(cdev->gadget, &acm_fs_out_desc);
drivers/usb/gadget/function/f_acm.c
660
if (!ep)
drivers/usb/gadget/function/f_acm.c
662
acm->port.out = ep;
drivers/usb/gadget/function/f_acm.c
664
ep = usb_ep_autoconfig(cdev->gadget, &acm_fs_notify_desc);
drivers/usb/gadget/function/f_acm.c
665
if (!ep)
drivers/usb/gadget/function/f_acm.c
667
acm->notify = ep;
drivers/usb/gadget/function/f_acm.c
673
request = gs_alloc_req(ep,
drivers/usb/gadget/function/f_ecm.c
435
static void ecm_notify_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/f_ecm.c
681
struct usb_ep *ep;
drivers/usb/gadget/function/f_ecm.c
736
ep = usb_ep_autoconfig(cdev->gadget, &fs_ecm_in_desc);
drivers/usb/gadget/function/f_ecm.c
737
if (!ep)
drivers/usb/gadget/function/f_ecm.c
739
ecm->port.in_ep = ep;
drivers/usb/gadget/function/f_ecm.c
741
ep = usb_ep_autoconfig(cdev->gadget, &fs_ecm_out_desc);
drivers/usb/gadget/function/f_ecm.c
742
if (!ep)
drivers/usb/gadget/function/f_ecm.c
744
ecm->port.out_ep = ep;
drivers/usb/gadget/function/f_ecm.c
750
ep = usb_ep_autoconfig(cdev->gadget, &fs_ecm_notify_desc);
drivers/usb/gadget/function/f_ecm.c
751
if (!ep)
drivers/usb/gadget/function/f_ecm.c
753
ecm->notify = ep;
drivers/usb/gadget/function/f_ecm.c
756
request = usb_ep_alloc_request(ep, GFP_KERNEL);
drivers/usb/gadget/function/f_eem.c
252
struct usb_ep *ep;
drivers/usb/gadget/function/f_eem.c
286
ep = usb_ep_autoconfig(cdev->gadget, &eem_fs_in_desc);
drivers/usb/gadget/function/f_eem.c
287
if (!ep)
drivers/usb/gadget/function/f_eem.c
289
eem->port.in_ep = ep;
drivers/usb/gadget/function/f_eem.c
291
ep = usb_ep_autoconfig(cdev->gadget, &eem_fs_out_desc);
drivers/usb/gadget/function/f_eem.c
292
if (!ep)
drivers/usb/gadget/function/f_eem.c
294
eem->port.out_ep = ep;
drivers/usb/gadget/function/f_eem.c
319
static void eem_cmd_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/f_eem.c
325
usb_ep_free_request(ctx->ep, req);
drivers/usb/gadget/function/f_eem.c
36
struct usb_ep *ep;
drivers/usb/gadget/function/f_eem.c
416
struct usb_ep *ep;
drivers/usb/gadget/function/f_eem.c
446
ep = port->in_ep;
drivers/usb/gadget/function/f_eem.c
447
req = usb_ep_alloc_request(ep, GFP_ATOMIC);
drivers/usb/gadget/function/f_eem.c
455
usb_ep_free_request(ep, req);
drivers/usb/gadget/function/f_eem.c
463
usb_ep_free_request(ep, req);
drivers/usb/gadget/function/f_eem.c
468
ctx->ep = ep;
drivers/usb/gadget/function/f_eem.c
479
usb_ep_free_request(ep, req);
drivers/usb/gadget/function/f_fs.c
1004
struct ffs_ep *ep;
drivers/usb/gadget/function/f_fs.c
1013
ep = ffs_epfile_wait_ep(file);
drivers/usb/gadget/function/f_fs.c
1014
if (IS_ERR(ep))
drivers/usb/gadget/function/f_fs.c
1015
return PTR_ERR(ep);
drivers/usb/gadget/function/f_fs.c
1053
if (epfile->ep != ep) {
drivers/usb/gadget/function/f_fs.c
1063
data_len = usb_ep_align_maybe(gadget, ep->ep, data_len);
drivers/usb/gadget/function/f_fs.c
1082
if (epfile->ep != ep) {
drivers/usb/gadget/function/f_fs.c
1086
ret = usb_ep_set_halt(ep->ep);
drivers/usb/gadget/function/f_fs.c
1106
req = ep->req;
drivers/usb/gadget/function/f_fs.c
1123
ret = usb_ep_queue(ep->ep, req, GFP_ATOMIC);
drivers/usb/gadget/function/f_fs.c
1131
if (epfile->ep != ep) {
drivers/usb/gadget/function/f_fs.c
1141
usb_ep_dequeue(ep->ep, req);
drivers/usb/gadget/function/f_fs.c
1155
} else if (!(req = usb_ep_alloc_request(ep->ep, GFP_ATOMIC))) {
drivers/usb/gadget/function/f_fs.c
1169
io_data->ep = ep->ep;
drivers/usb/gadget/function/f_fs.c
1176
ret = usb_ep_queue(ep->ep, req, GFP_ATOMIC);
drivers/usb/gadget/function/f_fs.c
1179
usb_ep_free_request(ep->ep, req);
drivers/usb/gadget/function/f_fs.c
1234
if (io_data && io_data->ep && io_data->req)
drivers/usb/gadget/function/f_fs.c
1235
value = usb_ep_dequeue(io_data->ep, io_data->req);
drivers/usb/gadget/function/f_fs.c
127
struct usb_ep *ep; /* P: ffs->eps_lock */
drivers/usb/gadget/function/f_fs.c
1365
if (priv->ep && priv->req)
drivers/usb/gadget/function/f_fs.c
1366
usb_ep_dequeue(priv->ep, priv->req);
drivers/usb/gadget/function/f_fs.c
1413
static void ffs_epfile_dmabuf_io_complete(struct usb_ep *ep,
drivers/usb/gadget/function/f_fs.c
1418
usb_ep_free_request(ep, req);
drivers/usb/gadget/function/f_fs.c
146
struct usb_ep *ep; /* P: ffs->eps_lock */
drivers/usb/gadget/function/f_fs.c
1572
if (priv->ep && priv->req)
drivers/usb/gadget/function/f_fs.c
1573
usb_ep_dequeue(priv->ep, priv->req);
drivers/usb/gadget/function/f_fs.c
160
struct ffs_ep *ep; /* P: ffs->eps_lock */
drivers/usb/gadget/function/f_fs.c
1603
struct ffs_ep *ep;
drivers/usb/gadget/function/f_fs.c
1629
ep = ffs_epfile_wait_ep(file);
drivers/usb/gadget/function/f_fs.c
1630
if (IS_ERR(ep)) {
drivers/usb/gadget/function/f_fs.c
1631
ret = PTR_ERR(ep);
drivers/usb/gadget/function/f_fs.c
1666
if (epfile->ep != ep) {
drivers/usb/gadget/function/f_fs.c
1671
usb_req = usb_ep_alloc_request(ep->ep, GFP_ATOMIC);
drivers/usb/gadget/function/f_fs.c
1703
ret = usb_ep_queue(ep->ep, usb_req, GFP_ATOMIC);
drivers/usb/gadget/function/f_fs.c
1707
priv->ep = ep->ep;
drivers/usb/gadget/function/f_fs.c
1711
usb_ep_free_request(ep->ep, usb_req);
drivers/usb/gadget/function/f_fs.c
1736
struct ffs_ep *ep;
drivers/usb/gadget/function/f_fs.c
1775
ep = ffs_epfile_wait_ep(file);
drivers/usb/gadget/function/f_fs.c
1776
if (IS_ERR(ep))
drivers/usb/gadget/function/f_fs.c
1777
return PTR_ERR(ep);
drivers/usb/gadget/function/f_fs.c
1782
if (epfile->ep != ep) {
drivers/usb/gadget/function/f_fs.c
1789
ret = usb_ep_fifo_status(epfile->ep->ep);
drivers/usb/gadget/function/f_fs.c
1792
usb_ep_fifo_flush(epfile->ep->ep);
drivers/usb/gadget/function/f_fs.c
1796
ret = usb_ep_clear_halt(epfile->ep->ep);
drivers/usb/gadget/function/f_fs.c
1799
ret = epfile->ep->num;
drivers/usb/gadget/function/f_fs.c
1818
desc = epfile->ep->descs[desc_idx];
drivers/usb/gadget/function/f_fs.c
2380
struct ffs_ep *ep;
drivers/usb/gadget/function/f_fs.c
2388
ep = func->eps;
drivers/usb/gadget/function/f_fs.c
2391
if (ep->ep)
drivers/usb/gadget/function/f_fs.c
2392
usb_ep_disable(ep->ep);
drivers/usb/gadget/function/f_fs.c
2393
++ep;
drivers/usb/gadget/function/f_fs.c
2396
epfile->ep = NULL;
drivers/usb/gadget/function/f_fs.c
2407
struct ffs_ep *ep;
drivers/usb/gadget/function/f_fs.c
2415
ep = func->eps;
drivers/usb/gadget/function/f_fs.c
2424
ep->ep->driver_data = ep;
drivers/usb/gadget/function/f_fs.c
2426
ret = config_ep_by_speed(func->gadget, &func->function, ep->ep);
drivers/usb/gadget/function/f_fs.c
2429
__func__, ep->ep->name, ret);
drivers/usb/gadget/function/f_fs.c
2433
ret = usb_ep_enable(ep->ep);
drivers/usb/gadget/function/f_fs.c
2435
epfile->ep = ep;
drivers/usb/gadget/function/f_fs.c
2436
epfile->in = usb_endpoint_dir_in(ep->ep->desc);
drivers/usb/gadget/function/f_fs.c
2437
epfile->isoc = usb_endpoint_xfer_isoc(ep->ep->desc);
drivers/usb/gadget/function/f_fs.c
2442
++ep;
drivers/usb/gadget/function/f_fs.c
253
struct usb_ep *ep;
drivers/usb/gadget/function/f_fs.c
300
static void ffs_ep0_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/f_fs.c
3307
if (ffs_ep->ep) {
drivers/usb/gadget/function/f_fs.c
3313
struct usb_ep *ep;
drivers/usb/gadget/function/f_fs.c
3328
ep = usb_ep_autoconfig(func->gadget, ds);
drivers/usb/gadget/function/f_fs.c
3329
if (!ep)
drivers/usb/gadget/function/f_fs.c
3331
ep->driver_data = func->eps + idx;
drivers/usb/gadget/function/f_fs.c
3333
req = usb_ep_alloc_request(ep, GFP_KERNEL);
drivers/usb/gadget/function/f_fs.c
3337
ffs_ep->ep = ep;
drivers/usb/gadget/function/f_fs.c
3397
if (!func->eps[idx].ep)
drivers/usb/gadget/function/f_fs.c
4067
struct ffs_ep *ep = func->eps;
drivers/usb/gadget/function/f_fs.c
4086
if (ep->ep && ep->req)
drivers/usb/gadget/function/f_fs.c
4087
usb_ep_free_request(ep->ep, ep->req);
drivers/usb/gadget/function/f_fs.c
4088
ep->req = NULL;
drivers/usb/gadget/function/f_fs.c
4089
++ep;
drivers/usb/gadget/function/f_fs.c
877
usb_ep_free_request(io_data->ep, io_data->req);
drivers/usb/gadget/function/f_fs.c
982
struct ffs_ep *ep;
drivers/usb/gadget/function/f_fs.c
986
ep = epfile->ep;
drivers/usb/gadget/function/f_fs.c
987
if (!ep) {
drivers/usb/gadget/function/f_fs.c
992
epfile->ffs->wait, (ep = epfile->ep));
drivers/usb/gadget/function/f_fs.c
997
return ep;
drivers/usb/gadget/function/f_hid.c
1148
struct usb_ep *ep;
drivers/usb/gadget/function/f_hid.c
1177
ep = usb_ep_autoconfig(c->cdev->gadget, &hidg_fs_in_ep_desc);
drivers/usb/gadget/function/f_hid.c
1178
if (!ep)
drivers/usb/gadget/function/f_hid.c
1180
hidg->in_ep = ep;
drivers/usb/gadget/function/f_hid.c
1184
ep = usb_ep_autoconfig(c->cdev->gadget, &hidg_fs_out_ep_desc);
drivers/usb/gadget/function/f_hid.c
1185
if (!ep)
drivers/usb/gadget/function/f_hid.c
1187
hidg->out_ep = ep;
drivers/usb/gadget/function/f_hid.c
435
static void f_hidg_req_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/f_hid.c
437
struct f_hidg *hidg = (struct f_hidg *)ep->driver_data;
drivers/usb/gadget/function/f_hid.c
763
static inline struct usb_request *hidg_alloc_ep_req(struct usb_ep *ep,
drivers/usb/gadget/function/f_hid.c
766
return alloc_ep_req(ep, length);
drivers/usb/gadget/function/f_hid.c
769
static void hidg_intout_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/f_hid.c
799
free_ep_req(ep, req);
drivers/usb/gadget/function/f_hid.c
804
static void hidg_ssreport_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/f_hid.c
835
static void hidg_get_report_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/f_loopback.c
233
static void loopback_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/f_loopback.c
235
struct f_loopback *loop = ep->driver_data;
drivers/usb/gadget/function/f_loopback.c
241
if (ep == loop->out_ep) {
drivers/usb/gadget/function/f_loopback.c
250
ep = loop->in_ep;
drivers/usb/gadget/function/f_loopback.c
258
ep = loop->out_ep;
drivers/usb/gadget/function/f_loopback.c
262
status = usb_ep_queue(ep, req, GFP_ATOMIC);
drivers/usb/gadget/function/f_loopback.c
267
ep->name, status);
drivers/usb/gadget/function/f_loopback.c
273
ERROR(cdev, "%s loop complete --> %d, %d/%d\n", ep->name,
drivers/usb/gadget/function/f_loopback.c
286
usb_ep_free_request(ep == loop->in_ep ?
drivers/usb/gadget/function/f_loopback.c
289
free_ep_req(ep, req);
drivers/usb/gadget/function/f_loopback.c
303
static inline struct usb_request *lb_alloc_ep_req(struct usb_ep *ep, int len)
drivers/usb/gadget/function/f_loopback.c
305
return alloc_ep_req(ep, len);
drivers/usb/gadget/function/f_loopback.c
359
struct f_loopback *loop, struct usb_ep *ep)
drivers/usb/gadget/function/f_loopback.c
363
result = config_ep_by_speed(cdev->gadget, &(loop->function), ep);
drivers/usb/gadget/function/f_loopback.c
367
result = usb_ep_enable(ep);
drivers/usb/gadget/function/f_loopback.c
370
ep->driver_data = loop;
drivers/usb/gadget/function/f_mass_storage.c
2299
static int alloc_request(struct fsg_common *common, struct usb_ep *ep,
drivers/usb/gadget/function/f_mass_storage.c
2302
*preq = usb_ep_alloc_request(ep, GFP_ATOMIC);
drivers/usb/gadget/function/f_mass_storage.c
2305
ERROR(common, "can't allocate request for %s\n", ep->name);
drivers/usb/gadget/function/f_mass_storage.c
3037
struct usb_ep *ep;
drivers/usb/gadget/function/f_mass_storage.c
3082
ep = usb_ep_autoconfig(gadget, &fsg_fs_bulk_in_desc);
drivers/usb/gadget/function/f_mass_storage.c
3083
if (!ep)
drivers/usb/gadget/function/f_mass_storage.c
3085
fsg->bulk_in = ep;
drivers/usb/gadget/function/f_mass_storage.c
3087
ep = usb_ep_autoconfig(gadget, &fsg_fs_bulk_out_desc);
drivers/usb/gadget/function/f_mass_storage.c
3088
if (!ep)
drivers/usb/gadget/function/f_mass_storage.c
3090
fsg->bulk_out = ep;
drivers/usb/gadget/function/f_mass_storage.c
348
static int fsg_set_halt(struct fsg_dev *fsg, struct usb_ep *ep)
drivers/usb/gadget/function/f_mass_storage.c
352
if (ep == fsg->bulk_in)
drivers/usb/gadget/function/f_mass_storage.c
354
else if (ep == fsg->bulk_out)
drivers/usb/gadget/function/f_mass_storage.c
357
name = ep->name;
drivers/usb/gadget/function/f_mass_storage.c
359
return usb_ep_set_halt(ep);
drivers/usb/gadget/function/f_mass_storage.c
415
static void bulk_in_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/f_mass_storage.c
417
struct fsg_common *common = ep->driver_data;
drivers/usb/gadget/function/f_mass_storage.c
424
usb_ep_fifo_flush(ep);
drivers/usb/gadget/function/f_mass_storage.c
431
static void bulk_out_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/f_mass_storage.c
433
struct fsg_common *common = ep->driver_data;
drivers/usb/gadget/function/f_mass_storage.c
441
usb_ep_fifo_flush(ep);
drivers/usb/gadget/function/f_mass_storage.c
521
static int start_transfer(struct fsg_dev *fsg, struct usb_ep *ep,
drivers/usb/gadget/function/f_mass_storage.c
526
if (ep == fsg->bulk_in)
drivers/usb/gadget/function/f_mass_storage.c
529
rc = usb_ep_queue(ep, req, GFP_KERNEL);
drivers/usb/gadget/function/f_mass_storage.c
542
ep->name, rc);
drivers/usb/gadget/function/f_midi.c
228
static inline struct usb_request *midi_alloc_ep_req(struct usb_ep *ep,
drivers/usb/gadget/function/f_midi.c
231
return alloc_ep_req(ep, length);
drivers/usb/gadget/function/f_midi.c
241
static void f_midi_read_data(struct usb_ep *ep, int cable,
drivers/usb/gadget/function/f_midi.c
244
struct f_midi *midi = ep->driver_data;
drivers/usb/gadget/function/f_midi.c
257
static void f_midi_handle_out_data(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/f_midi.c
266
f_midi_read_data(ep, cable, &buf[i + 1], length);
drivers/usb/gadget/function/f_midi.c
271
f_midi_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/f_midi.c
273
struct f_midi *midi = ep->driver_data;
drivers/usb/gadget/function/f_midi.c
279
if (ep == midi->out_ep) {
drivers/usb/gadget/function/f_midi.c
281
f_midi_handle_out_data(ep, req);
drivers/usb/gadget/function/f_midi.c
282
} else if (ep == midi->in_ep) {
drivers/usb/gadget/function/f_midi.c
295
VDBG(cdev, "%s gone (%d), %d/%d\n", ep->name, status,
drivers/usb/gadget/function/f_midi.c
297
if (ep == midi->out_ep) {
drivers/usb/gadget/function/f_midi.c
298
f_midi_handle_out_data(ep, req);
drivers/usb/gadget/function/f_midi.c
301
free_ep_req(ep, req);
drivers/usb/gadget/function/f_midi.c
309
DBG(cdev, "%s complete --> %d, %d/%d\n", ep->name,
drivers/usb/gadget/function/f_midi.c
316
status = usb_ep_queue(ep, req, GFP_ATOMIC);
drivers/usb/gadget/function/f_midi.c
319
ep->name, req->length, status);
drivers/usb/gadget/function/f_midi.c
320
usb_ep_set_halt(ep);
drivers/usb/gadget/function/f_midi.c
340
struct usb_ep *ep)
drivers/usb/gadget/function/f_midi.c
345
usb_ep_disable(ep);
drivers/usb/gadget/function/f_midi.c
347
err = config_ep_by_speed(midi->gadget, f, ep);
drivers/usb/gadget/function/f_midi.c
349
ERROR(cdev, "can't configure %s: %d\n", ep->name, err);
drivers/usb/gadget/function/f_midi.c
353
err = usb_ep_enable(ep);
drivers/usb/gadget/function/f_midi.c
355
ERROR(cdev, "can't start %s: %d\n", ep->name, err);
drivers/usb/gadget/function/f_midi.c
359
ep->driver_data = midi;
drivers/usb/gadget/function/f_midi.c
607
static int f_midi_do_transmit(struct f_midi *midi, struct usb_ep *ep)
drivers/usb/gadget/function/f_midi.c
659
err = usb_ep_queue(ep, req, GFP_ATOMIC);
drivers/usb/gadget/function/f_midi.c
676
struct usb_ep *ep = midi->in_ep;
drivers/usb/gadget/function/f_midi.c
681
if (!ep || !ep->enabled)
drivers/usb/gadget/function/f_midi.c
687
ret = f_midi_do_transmit(midi, ep);
drivers/usb/gadget/function/f_midi2.c
1006
len = snd_ump_transmit(ep->ump, &ump, 4);
drivers/usb/gadget/function/f_midi2.c
1009
if (snd_ump_receive_ump_val(ep->ump, ump) <= 0)
drivers/usb/gadget/function/f_midi2.c
1011
size = snd_ump_convert_from_ump(ep->ump->input_buf, outbuf,
drivers/usb/gadget/function/f_midi2.c
1015
cable = ep->in_group_to_cable[group];
drivers/usb/gadget/function/f_midi2.c
102
struct f_midi2_ep *ep;
drivers/usb/gadget/function/f_midi2.c
1055
struct f_midi2_ep *ep;
drivers/usb/gadget/function/f_midi2.c
1073
ep = midi2->out_cable_mapping[cable].ep;
drivers/usb/gadget/function/f_midi2.c
1074
if (!ep)
drivers/usb/gadget/function/f_midi2.c
1080
to_ump_protocol(ep->info.protocol),
drivers/usb/gadget/function/f_midi2.c
1083
snd_ump_receive(ep->ump, cvt->ump,
drivers/usb/gadget/function/f_midi2.c
1175
static int f_midi2_init_ep(struct f_midi2 *midi2, struct f_midi2_ep *ep,
drivers/usb/gadget/function/f_midi2.c
1184
usb_ep->ep = ep;
drivers/usb/gadget/function/f_midi2.c
1279
struct f_midi2_ep *ep;
drivers/usb/gadget/function/f_midi2.c
1300
ep = &midi2->midi2_eps[i];
drivers/usb/gadget/function/f_midi2.c
1301
f_midi2_stop_eps(&ep->ep_in, &ep->ep_out);
drivers/usb/gadget/function/f_midi2.c
1311
ep = &midi2->midi2_eps[i];
drivers/usb/gadget/function/f_midi2.c
1313
err = f_midi2_start_eps(&ep->ep_in, &ep->ep_out, fn);
drivers/usb/gadget/function/f_midi2.c
1354
struct f_midi2_ep *ep;
drivers/usb/gadget/function/f_midi2.c
1375
ep = &midi2->midi2_eps[i];
drivers/usb/gadget/function/f_midi2.c
1376
for (blk = 0; blk < ep->num_blks; blk++) {
drivers/usb/gadget/function/f_midi2.c
1377
b = &ep->blks[blk].info;
drivers/usb/gadget/function/f_midi2.c
1381
desc->bGrpTrmBlkID = ep->blks[blk].gtb_id;
drivers/usb/gadget/function/f_midi2.c
1385
desc->iBlockItem = ep->blks[blk].string_id;
drivers/usb/gadget/function/f_midi2.c
1387
if (ep->info.protocol == 2)
drivers/usb/gadget/function/f_midi2.c
1454
struct f_midi2_ep *ep = ump->private_data;
drivers/usb/gadget/function/f_midi2.c
1455
struct f_midi2 *midi2 = ep->card;
drivers/usb/gadget/function/f_midi2.c
1463
process_ump_transmit(ep);
drivers/usb/gadget/function/f_midi2.c
1534
struct f_midi2_ep *ep;
drivers/usb/gadget/function/f_midi2.c
1550
ep = &midi2->midi2_eps[i];
drivers/usb/gadget/function/f_midi2.c
1557
ep->ump = ump;
drivers/usb/gadget/function/f_midi2.c
1559
ump->private_data = ep;
drivers/usb/gadget/function/f_midi2.c
1563
ump->info.protocol_caps = (ep->info.protocol_caps & 3) << 8;
drivers/usb/gadget/function/f_midi2.c
1564
ump->info.protocol = to_ump_protocol(ep->info.protocol);
drivers/usb/gadget/function/f_midi2.c
1566
ump->info.family_id = ep->info.family;
drivers/usb/gadget/function/f_midi2.c
1567
ump->info.model_id = ep->info.model;
drivers/usb/gadget/function/f_midi2.c
1568
ump->info.manufacturer_id = ep->info.manufacturer & 0xffffff;
drivers/usb/gadget/function/f_midi2.c
1569
sw = cpu_to_be32(ep->info.sw_revision);
drivers/usb/gadget/function/f_midi2.c
157
static const char *ump_ep_name(const struct f_midi2_ep *ep)
drivers/usb/gadget/function/f_midi2.c
1572
strscpy(ump->info.name, ump_ep_name(ep),
drivers/usb/gadget/function/f_midi2.c
1574
strscpy(ump->info.product_id, ump_product_id(ep),
drivers/usb/gadget/function/f_midi2.c
1578
for (blk = 0; blk < ep->num_blks; blk++) {
drivers/usb/gadget/function/f_midi2.c
1579
const struct f_midi2_block_info *b = &ep->blks[blk].info;
drivers/usb/gadget/function/f_midi2.c
1585
&ep->blks[blk].fb);
drivers/usb/gadget/function/f_midi2.c
1588
fb = ep->blks[blk].fb;
drivers/usb/gadget/function/f_midi2.c
159
return ep->info.ep_name ? ep->info.ep_name : "MIDI 2.0 Gadget";
drivers/usb/gadget/function/f_midi2.c
163
static const char *ump_product_id(const struct f_midi2_ep *ep)
drivers/usb/gadget/function/f_midi2.c
165
return ep->info.product_id ? ep->info.product_id : "Unique Product ID";
drivers/usb/gadget/function/f_midi2.c
1689
if (map->ep)
drivers/usb/gadget/function/f_midi2.c
1690
jack->iJack = map->ep->blks[map->block].string_id;
drivers/usb/gadget/function/f_midi2.c
1717
if (map->ep)
drivers/usb/gadget/function/f_midi2.c
1718
jack->iJack = map->ep->blks[map->block].string_id;
drivers/usb/gadget/function/f_midi2.c
1879
static void fill_midi2_class_desc(struct f_midi2_ep *ep,
drivers/usb/gadget/function/f_midi2.c
1884
cdesc->bLength = USB_DT_MS20_ENDPOINT_SIZE(ep->num_blks);
drivers/usb/gadget/function/f_midi2.c
1887
cdesc->bNumGrpTrmBlock = ep->num_blks;
drivers/usb/gadget/function/f_midi2.c
1888
for (blk = 0; blk < ep->num_blks; blk++)
drivers/usb/gadget/function/f_midi2.c
1889
cdesc->baAssoGrpTrmBlkID[blk] = ep->blks[blk].gtb_id;
drivers/usb/gadget/function/f_midi2.c
1895
struct f_midi2_ep *ep = &midi2->midi2_eps[index];
drivers/usb/gadget/function/f_midi2.c
1905
fill_midi2_class_desc(ep, &midi2_midi2_ep_in_class_desc[index]);
drivers/usb/gadget/function/f_midi2.c
1907
return f_midi2_init_ep(midi2, ep, &ep->ep_in, desc,
drivers/usb/gadget/function/f_midi2.c
1914
struct f_midi2_ep *ep = &midi2->midi2_eps[index];
drivers/usb/gadget/function/f_midi2.c
1922
fill_midi2_class_desc(ep, &midi2_midi2_ep_out_class_desc[index]);
drivers/usb/gadget/function/f_midi2.c
1924
return f_midi2_init_ep(midi2, ep, &ep->ep_out, desc,
drivers/usb/gadget/function/f_midi2.c
1933
struct f_midi2_ep *ep;
drivers/usb/gadget/function/f_midi2.c
1964
ep = &midi2->midi2_eps[i];
drivers/usb/gadget/function/f_midi2.c
1965
for (blk = 0; blk < ep->num_blks; blk++)
drivers/usb/gadget/function/f_midi2.c
1966
ep->blks[blk].string_id =
drivers/usb/gadget/function/f_midi2.c
1967
midi2->strings[gtb_to_str_id(ep->blks[blk].gtb_id)].id;
drivers/usb/gadget/function/f_midi2.c
2231
return f_midi2_opts_uint_show(opts->ep->opts, opts->info.name, \
drivers/usb/gadget/function/f_midi2.c
2239
return f_midi2_opts_uint_store(opts->ep->opts, &opts->info.name,\
drivers/usb/gadget/function/f_midi2.c
2251
return f_midi2_opts_uint_show(opts->ep->opts, opts->info.name, \
drivers/usb/gadget/function/f_midi2.c
2259
return f_midi2_opts_bool_store(opts->ep->opts, &opts->info.name,\
drivers/usb/gadget/function/f_midi2.c
2281
return f_midi2_opts_str_show(opts->ep->opts, opts->info.name, page);
drivers/usb/gadget/function/f_midi2.c
2289
return f_midi2_opts_str_store(opts->ep->opts, &opts->info.name, 128,
drivers/usb/gadget/function/f_midi2.c
2348
block_opts->ep = ep_opts;
drivers/usb/gadget/function/f_midi2.c
2402
mutex_lock(&block_opts->ep->opts->lock);
drivers/usb/gadget/function/f_midi2.c
2403
block_opts->ep->blks[block_opts->id] = NULL;
drivers/usb/gadget/function/f_midi2.c
2404
mutex_unlock(&block_opts->ep->opts->lock);
drivers/usb/gadget/function/f_midi2.c
2718
struct f_midi2_ep_info *ep;
drivers/usb/gadget/function/f_midi2.c
2731
ep = &opts->eps[i]->info;
drivers/usb/gadget/function/f_midi2.c
2732
if (!(ep->protocol_caps & ep->protocol)) {
drivers/usb/gadget/function/f_midi2.c
2734
ep->protocol, ep->protocol_caps, i);
drivers/usb/gadget/function/f_midi2.c
2768
struct f_midi2_ep *ep,
drivers/usb/gadget/function/f_midi2.c
2771
const struct f_midi2_block_info *binfo = &ep->blks[blk].info;
drivers/usb/gadget/function/f_midi2.c
2783
map->ep = ep;
drivers/usb/gadget/function/f_midi2.c
2788
ep->in_group_to_cable[group] = midi2->num_midi1_in;
drivers/usb/gadget/function/f_midi2.c
2798
map->ep = ep;
drivers/usb/gadget/function/f_midi2.c
2811
struct f_midi2_ep *ep;
drivers/usb/gadget/function/f_midi2.c
2845
ep = &midi2->midi2_eps[i];
drivers/usb/gadget/function/f_midi2.c
2846
ep->info = opts->eps[i]->info;
drivers/usb/gadget/function/f_midi2.c
2847
ep->card = midi2;
drivers/usb/gadget/function/f_midi2.c
2850
bp = &ep->blks[blk];
drivers/usb/gadget/function/f_midi2.c
2851
ep->num_blks++;
drivers/usb/gadget/function/f_midi2.c
2870
ep = &midi2->midi2_eps[i];
drivers/usb/gadget/function/f_midi2.c
2871
for (blk = 0; blk < ep->num_blks; blk++) {
drivers/usb/gadget/function/f_midi2.c
2872
bp = &ep->blks[blk];
drivers/usb/gadget/function/f_midi2.c
2876
fill_midi1_cable_mapping(midi2, ep, blk);
drivers/usb/gadget/function/f_midi2.c
39
struct f_midi2_ep *ep; /* belonging UMP EP (optional) */
drivers/usb/gadget/function/f_midi2.c
444
static int reply_ep_in(struct f_midi2_ep *ep, const void *buf, int len)
drivers/usb/gadget/function/f_midi2.c
446
struct f_midi2_usb_ep *usb_ep = &ep->ep_in;
drivers/usb/gadget/function/f_midi2.c
459
static void reply_ump_stream_ep_info(struct f_midi2_ep *ep)
drivers/usb/gadget/function/f_midi2.c
466
.num_function_blocks = ep->num_blks,
drivers/usb/gadget/function/f_midi2.c
467
.static_function_block = !!ep->card->info.static_block,
drivers/usb/gadget/function/f_midi2.c
472
reply_ep_in(ep, &rep, sizeof(rep));
drivers/usb/gadget/function/f_midi2.c
476
static void reply_ump_stream_ep_device(struct f_midi2_ep *ep)
drivers/usb/gadget/function/f_midi2.c
481
.manufacture_id = ep->info.manufacturer,
drivers/usb/gadget/function/f_midi2.c
482
.family_lsb = ep->info.family & 0xff,
drivers/usb/gadget/function/f_midi2.c
483
.family_msb = (ep->info.family >> 8) & 0xff,
drivers/usb/gadget/function/f_midi2.c
484
.model_lsb = ep->info.model & 0xff,
drivers/usb/gadget/function/f_midi2.c
485
.model_msb = (ep->info.model >> 8) & 0xff,
drivers/usb/gadget/function/f_midi2.c
486
.sw_revision = ep->info.sw_revision,
drivers/usb/gadget/function/f_midi2.c
489
reply_ep_in(ep, &rep, sizeof(rep));
drivers/usb/gadget/function/f_midi2.c
497
static void reply_ump_stream_string(struct f_midi2_ep *ep, const u8 *name,
drivers/usb/gadget/function/f_midi2.c
501
struct f_midi2_usb_ep *usb_ep = &ep->ep_in;
drivers/usb/gadget/function/f_midi2.c
502
struct f_midi2 *midi2 = ep->card;
drivers/usb/gadget/function/f_midi2.c
547
static void reply_ump_stream_ep_name(struct f_midi2_ep *ep)
drivers/usb/gadget/function/f_midi2.c
549
reply_ump_stream_string(ep, ump_ep_name(ep),
drivers/usb/gadget/function/f_midi2.c
555
static void reply_ump_stream_ep_pid(struct f_midi2_ep *ep)
drivers/usb/gadget/function/f_midi2.c
557
reply_ump_stream_string(ep, ump_product_id(ep),
drivers/usb/gadget/function/f_midi2.c
563
static void reply_ump_stream_ep_config(struct f_midi2_ep *ep)
drivers/usb/gadget/function/f_midi2.c
570
if (ep->info.protocol == 2)
drivers/usb/gadget/function/f_midi2.c
575
reply_ep_in(ep, &rep, sizeof(rep));
drivers/usb/gadget/function/f_midi2.c
579
static void reply_ump_stream_fb_info(struct f_midi2_ep *ep, int blk)
drivers/usb/gadget/function/f_midi2.c
581
struct f_midi2_block_info *b = &ep->blks[blk].info;
drivers/usb/gadget/function/f_midi2.c
596
reply_ep_in(ep, &rep, sizeof(rep));
drivers/usb/gadget/function/f_midi2.c
600
static void reply_ump_stream_fb_name(struct f_midi2_ep *ep, unsigned int blk)
drivers/usb/gadget/function/f_midi2.c
602
reply_ump_stream_string(ep, ump_fb_name(&ep->blks[blk].info),
drivers/usb/gadget/function/f_midi2.c
608
static void process_ump_stream_msg(struct f_midi2_ep *ep, const u32 *data)
drivers/usb/gadget/function/f_midi2.c
610
struct f_midi2 *midi2 = ep->card;
drivers/usb/gadget/function/f_midi2.c
620
reply_ump_stream_ep_info(ep);
drivers/usb/gadget/function/f_midi2.c
622
reply_ump_stream_ep_device(ep);
drivers/usb/gadget/function/f_midi2.c
624
reply_ump_stream_ep_name(ep);
drivers/usb/gadget/function/f_midi2.c
626
reply_ump_stream_ep_pid(ep);
drivers/usb/gadget/function/f_midi2.c
628
reply_ump_stream_ep_config(ep);
drivers/usb/gadget/function/f_midi2.c
632
ep->info.protocol = 2;
drivers/usb/gadget/function/f_midi2.c
635
ep->info.protocol = 1;
drivers/usb/gadget/function/f_midi2.c
638
snd_ump_switch_protocol(ep->ump, to_ump_protocol(ep->info.protocol));
drivers/usb/gadget/function/f_midi2.c
639
reply_ump_stream_ep_config(ep);
drivers/usb/gadget/function/f_midi2.c
647
for (blk = 0; blk < ep->num_blks; blk++) {
drivers/usb/gadget/function/f_midi2.c
649
reply_ump_stream_fb_info(ep, blk);
drivers/usb/gadget/function/f_midi2.c
651
reply_ump_stream_fb_name(ep, blk);
drivers/usb/gadget/function/f_midi2.c
653
} else if (blk < ep->num_blks) {
drivers/usb/gadget/function/f_midi2.c
656
reply_ump_stream_fb_info(ep, blk);
drivers/usb/gadget/function/f_midi2.c
658
reply_ump_stream_fb_name(ep, blk);
drivers/usb/gadget/function/f_midi2.c
665
static void process_ump(struct f_midi2_ep *ep, const struct usb_request *req)
drivers/usb/gadget/function/f_midi2.c
669
const u32 *in_buf = ep->ump->input_buf;
drivers/usb/gadget/function/f_midi2.c
672
if (snd_ump_receive_ump_val(ep->ump, *data) <= 0)
drivers/usb/gadget/function/f_midi2.c
675
process_ump_stream_msg(ep, in_buf);
drivers/usb/gadget/function/f_midi2.c
688
struct f_midi2_ep *ep = ctx->usb_ep->ep;
drivers/usb/gadget/function/f_midi2.c
689
struct f_midi2 *midi2 = ep->card;
drivers/usb/gadget/function/f_midi2.c
702
process_ump(ep, req);
drivers/usb/gadget/function/f_midi2.c
704
snd_ump_receive(ep->ump, req->buf, req->actual & ~3);
drivers/usb/gadget/function/f_midi2.c
718
static void process_ump_transmit(struct f_midi2_ep *ep)
drivers/usb/gadget/function/f_midi2.c
720
struct f_midi2_usb_ep *usb_ep = &ep->ep_in;
drivers/usb/gadget/function/f_midi2.c
721
struct f_midi2 *midi2 = ep->card;
drivers/usb/gadget/function/f_midi2.c
732
len = snd_ump_transmit(ep->ump, (u32 *)req->buf,
drivers/usb/gadget/function/f_midi2.c
750
struct f_midi2_ep *ep = ctx->usb_ep->ep;
drivers/usb/gadget/function/f_midi2.c
751
struct f_midi2 *midi2 = ep->card;
drivers/usb/gadget/function/f_midi2.c
762
process_ump_transmit(ep);
drivers/usb/gadget/function/f_midi2.c
985
struct f_midi2_ep *ep = &midi2->midi2_eps[0];
drivers/usb/gadget/function/f_ncm.c
1438
struct usb_ep *ep;
drivers/usb/gadget/function/f_ncm.c
1505
ep = usb_ep_autoconfig(cdev->gadget, &fs_ncm_in_desc);
drivers/usb/gadget/function/f_ncm.c
1506
if (!ep)
drivers/usb/gadget/function/f_ncm.c
1508
ncm->port.in_ep = ep;
drivers/usb/gadget/function/f_ncm.c
1510
ep = usb_ep_autoconfig(cdev->gadget, &fs_ncm_out_desc);
drivers/usb/gadget/function/f_ncm.c
1511
if (!ep)
drivers/usb/gadget/function/f_ncm.c
1513
ncm->port.out_ep = ep;
drivers/usb/gadget/function/f_ncm.c
1515
ep = usb_ep_autoconfig(cdev->gadget, &fs_ncm_notify_desc);
drivers/usb/gadget/function/f_ncm.c
1516
if (!ep)
drivers/usb/gadget/function/f_ncm.c
1518
ncm->notify = ep;
drivers/usb/gadget/function/f_ncm.c
1521
request = usb_ep_alloc_request(ep, GFP_KERNEL);
drivers/usb/gadget/function/f_ncm.c
621
static void ncm_notify_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/f_ncm.c
649
static void ncm_ep0out_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/f_ncm.c
675
usb_ep_set_halt(ep);
drivers/usb/gadget/function/f_obex.c
308
struct usb_ep *ep;
drivers/usb/gadget/function/f_obex.c
343
ep = usb_ep_autoconfig(cdev->gadget, &obex_fs_ep_in_desc);
drivers/usb/gadget/function/f_obex.c
344
if (!ep)
drivers/usb/gadget/function/f_obex.c
346
obex->port.in = ep;
drivers/usb/gadget/function/f_obex.c
348
ep = usb_ep_autoconfig(cdev->gadget, &obex_fs_ep_out_desc);
drivers/usb/gadget/function/f_obex.c
349
if (!ep)
drivers/usb/gadget/function/f_obex.c
351
obex->port.out = ep;
drivers/usb/gadget/function/f_phonet.c
200
static void pn_tx_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/f_phonet.c
202
struct f_phonet *fp = ep->driver_data;
drivers/usb/gadget/function/f_phonet.c
314
static void pn_rx_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/f_phonet.c
316
struct f_phonet *fp = ep->driver_data;
drivers/usb/gadget/function/f_phonet.c
486
struct usb_ep *ep;
drivers/usb/gadget/function/f_phonet.c
524
ep = usb_ep_autoconfig(gadget, &pn_fs_sink_desc);
drivers/usb/gadget/function/f_phonet.c
525
if (!ep)
drivers/usb/gadget/function/f_phonet.c
527
fp->out_ep = ep;
drivers/usb/gadget/function/f_phonet.c
529
ep = usb_ep_autoconfig(gadget, &pn_fs_source_desc);
drivers/usb/gadget/function/f_phonet.c
530
if (!ep)
drivers/usb/gadget/function/f_phonet.c
532
fp->in_ep = ep;
drivers/usb/gadget/function/f_printer.c
236
printer_req_alloc(struct usb_ep *ep, unsigned len, gfp_t gfp_flags)
drivers/usb/gadget/function/f_printer.c
240
req = usb_ep_alloc_request(ep, gfp_flags);
drivers/usb/gadget/function/f_printer.c
246
usb_ep_free_request(ep, req);
drivers/usb/gadget/function/f_printer.c
255
printer_req_free(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/f_printer.c
257
if (ep != NULL && req != NULL) {
drivers/usb/gadget/function/f_printer.c
259
usb_ep_free_request(ep, req);
drivers/usb/gadget/function/f_printer.c
265
static void rx_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/f_printer.c
267
struct printer_dev *dev = ep->driver_data;
drivers/usb/gadget/function/f_printer.c
296
DBG(dev, "rx %s reset\n", ep->name);
drivers/usb/gadget/function/f_printer.c
314
static void tx_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/f_printer.c
316
struct printer_dev *dev = ep->driver_data;
drivers/usb/gadget/function/f_rndis.c
401
static void rndis_response_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/f_rndis.c
419
ep->name, status,
drivers/usb/gadget/function/f_rndis.c
423
if (ep != rndis->notify)
drivers/usb/gadget/function/f_rndis.c
440
static void rndis_command_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/f_rndis.c
665
struct usb_ep *ep;
drivers/usb/gadget/function/f_rndis.c
728
ep = usb_ep_autoconfig(cdev->gadget, &fs_in_desc);
drivers/usb/gadget/function/f_rndis.c
729
if (!ep)
drivers/usb/gadget/function/f_rndis.c
731
rndis->port.in_ep = ep;
drivers/usb/gadget/function/f_rndis.c
733
ep = usb_ep_autoconfig(cdev->gadget, &fs_out_desc);
drivers/usb/gadget/function/f_rndis.c
734
if (!ep)
drivers/usb/gadget/function/f_rndis.c
736
rndis->port.out_ep = ep;
drivers/usb/gadget/function/f_rndis.c
742
ep = usb_ep_autoconfig(cdev->gadget, &fs_notify_desc);
drivers/usb/gadget/function/f_rndis.c
743
if (!ep)
drivers/usb/gadget/function/f_rndis.c
745
rndis->notify = ep;
drivers/usb/gadget/function/f_rndis.c
748
request = usb_ep_alloc_request(ep, GFP_KERNEL);
drivers/usb/gadget/function/f_serial.c
191
struct usb_ep *ep;
drivers/usb/gadget/function/f_serial.c
215
ep = usb_ep_autoconfig(cdev->gadget, &gser_fs_in_desc);
drivers/usb/gadget/function/f_serial.c
216
if (!ep)
drivers/usb/gadget/function/f_serial.c
218
gser->port.in = ep;
drivers/usb/gadget/function/f_serial.c
220
ep = usb_ep_autoconfig(cdev->gadget, &gser_fs_out_desc);
drivers/usb/gadget/function/f_serial.c
221
if (!ep)
drivers/usb/gadget/function/f_serial.c
223
gser->port.out = ep;
drivers/usb/gadget/function/f_sourcesink.c
291
static inline struct usb_request *ss_alloc_ep_req(struct usb_ep *ep, int len)
drivers/usb/gadget/function/f_sourcesink.c
293
return alloc_ep_req(ep, len);
drivers/usb/gadget/function/f_sourcesink.c
296
static void disable_ep(struct usb_composite_dev *cdev, struct usb_ep *ep)
drivers/usb/gadget/function/f_sourcesink.c
300
value = usb_ep_disable(ep);
drivers/usb/gadget/function/f_sourcesink.c
302
DBG(cdev, "disable %s --> %d\n", ep->name, value);
drivers/usb/gadget/function/f_sourcesink.c
507
static void reinit_write_data(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/f_sourcesink.c
511
int max_packet_size = le16_to_cpu(ep->desc->wMaxPacketSize);
drivers/usb/gadget/function/f_sourcesink.c
512
struct f_sourcesink *ss = ep->driver_data;
drivers/usb/gadget/function/f_sourcesink.c
527
static void source_sink_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/f_sourcesink.c
530
struct f_sourcesink *ss = ep->driver_data;
drivers/usb/gadget/function/f_sourcesink.c
542
if (ep == ss->out_ep) {
drivers/usb/gadget/function/f_sourcesink.c
553
VDBG(cdev, "%s gone (%d), %d/%d\n", ep->name, status,
drivers/usb/gadget/function/f_sourcesink.c
555
if (ep == ss->out_ep)
drivers/usb/gadget/function/f_sourcesink.c
557
free_ep_req(ep, req);
drivers/usb/gadget/function/f_sourcesink.c
566
DBG(cdev, "%s complete --> %d, %d/%d\n", ep->name,
drivers/usb/gadget/function/f_sourcesink.c
574
status = usb_ep_queue(ep, req, GFP_ATOMIC);
drivers/usb/gadget/function/f_sourcesink.c
577
ep->name, req->length, status);
drivers/usb/gadget/function/f_sourcesink.c
578
usb_ep_set_halt(ep);
drivers/usb/gadget/function/f_sourcesink.c
586
struct usb_ep *ep;
drivers/usb/gadget/function/f_sourcesink.c
606
ep = is_in ? ss->iso_in_ep : ss->iso_out_ep;
drivers/usb/gadget/function/f_sourcesink.c
609
ep = is_in ? ss->in_ep : ss->out_ep;
drivers/usb/gadget/function/f_sourcesink.c
615
req = ss_alloc_ep_req(ep, size);
drivers/usb/gadget/function/f_sourcesink.c
621
reinit_write_data(ep, req);
drivers/usb/gadget/function/f_sourcesink.c
625
status = usb_ep_queue(ep, req, GFP_ATOMIC);
drivers/usb/gadget/function/f_sourcesink.c
632
ep->name, status);
drivers/usb/gadget/function/f_sourcesink.c
633
free_ep_req(ep, req);
drivers/usb/gadget/function/f_sourcesink.c
657
struct usb_ep *ep;
drivers/usb/gadget/function/f_sourcesink.c
660
ep = ss->in_ep;
drivers/usb/gadget/function/f_sourcesink.c
661
result = config_ep_by_speed(cdev->gadget, &(ss->function), ep);
drivers/usb/gadget/function/f_sourcesink.c
664
result = usb_ep_enable(ep);
drivers/usb/gadget/function/f_sourcesink.c
667
ep->driver_data = ss;
drivers/usb/gadget/function/f_sourcesink.c
672
ep = ss->in_ep;
drivers/usb/gadget/function/f_sourcesink.c
673
usb_ep_disable(ep);
drivers/usb/gadget/function/f_sourcesink.c
678
ep = ss->out_ep;
drivers/usb/gadget/function/f_sourcesink.c
679
result = config_ep_by_speed(cdev->gadget, &(ss->function), ep);
drivers/usb/gadget/function/f_sourcesink.c
682
result = usb_ep_enable(ep);
drivers/usb/gadget/function/f_sourcesink.c
685
ep->driver_data = ss;
drivers/usb/gadget/function/f_sourcesink.c
690
ep = ss->out_ep;
drivers/usb/gadget/function/f_sourcesink.c
691
usb_ep_disable(ep);
drivers/usb/gadget/function/f_sourcesink.c
699
ep = ss->iso_in_ep;
drivers/usb/gadget/function/f_sourcesink.c
700
if (ep) {
drivers/usb/gadget/function/f_sourcesink.c
701
result = config_ep_by_speed(cdev->gadget, &(ss->function), ep);
drivers/usb/gadget/function/f_sourcesink.c
704
result = usb_ep_enable(ep);
drivers/usb/gadget/function/f_sourcesink.c
707
ep->driver_data = ss;
drivers/usb/gadget/function/f_sourcesink.c
712
ep = ss->iso_in_ep;
drivers/usb/gadget/function/f_sourcesink.c
713
if (ep)
drivers/usb/gadget/function/f_sourcesink.c
714
usb_ep_disable(ep);
drivers/usb/gadget/function/f_sourcesink.c
720
ep = ss->iso_out_ep;
drivers/usb/gadget/function/f_sourcesink.c
721
if (ep) {
drivers/usb/gadget/function/f_sourcesink.c
722
result = config_ep_by_speed(cdev->gadget, &(ss->function), ep);
drivers/usb/gadget/function/f_sourcesink.c
725
result = usb_ep_enable(ep);
drivers/usb/gadget/function/f_sourcesink.c
728
ep->driver_data = ss;
drivers/usb/gadget/function/f_sourcesink.c
732
usb_ep_disable(ep);
drivers/usb/gadget/function/f_subset.c
299
struct usb_ep *ep;
drivers/usb/gadget/function/f_subset.c
334
ep = usb_ep_autoconfig(cdev->gadget, &fs_subset_in_desc);
drivers/usb/gadget/function/f_subset.c
335
if (!ep)
drivers/usb/gadget/function/f_subset.c
337
geth->port.in_ep = ep;
drivers/usb/gadget/function/f_subset.c
339
ep = usb_ep_autoconfig(cdev->gadget, &fs_subset_out_desc);
drivers/usb/gadget/function/f_subset.c
340
if (!ep)
drivers/usb/gadget/function/f_subset.c
342
geth->port.out_ep = ep;
drivers/usb/gadget/function/f_tcm.c
100
if (cmd->data_len > ep->maxpacket) {
drivers/usb/gadget/function/f_tcm.c
101
req->length = ep->maxpacket;
drivers/usb/gadget/function/f_tcm.c
102
cmd->data_len -= ep->maxpacket;
drivers/usb/gadget/function/f_tcm.c
1077
static void usbg_data_write_cmpl(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/f_tcm.c
108
usb_ep_queue(ep, req, GFP_ATOMIC);
drivers/usb/gadget/function/f_tcm.c
119
struct usb_ep *ep;
drivers/usb/gadget/function/f_tcm.c
125
ep = fu->ep_in;
drivers/usb/gadget/function/f_tcm.c
128
ep = fu->ep_out;
drivers/usb/gadget/function/f_tcm.c
133
req->length = ep->maxpacket;
drivers/usb/gadget/function/f_tcm.c
134
cmd->data_len -= ep->maxpacket;
drivers/usb/gadget/function/f_tcm.c
142
usb_ep_queue(ep, req, GFP_KERNEL);
drivers/usb/gadget/function/f_tcm.c
194
static void bot_read_compl(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/f_tcm.c
2291
struct usb_ep *ep;
drivers/usb/gadget/function/f_tcm.c
2318
ep = usb_ep_autoconfig(gadget, &uasp_fs_bi_desc);
drivers/usb/gadget/function/f_tcm.c
2319
if (!ep)
drivers/usb/gadget/function/f_tcm.c
2322
fu->ep_in = ep;
drivers/usb/gadget/function/f_tcm.c
2324
ep = usb_ep_autoconfig(gadget, &uasp_fs_bo_desc);
drivers/usb/gadget/function/f_tcm.c
2325
if (!ep)
drivers/usb/gadget/function/f_tcm.c
2327
fu->ep_out = ep;
drivers/usb/gadget/function/f_tcm.c
2329
ep = usb_ep_autoconfig(gadget, &uasp_fs_status_desc);
drivers/usb/gadget/function/f_tcm.c
2330
if (!ep)
drivers/usb/gadget/function/f_tcm.c
2332
fu->ep_status = ep;
drivers/usb/gadget/function/f_tcm.c
2334
ep = usb_ep_autoconfig(gadget, &uasp_fs_cmd_desc);
drivers/usb/gadget/function/f_tcm.c
2335
if (!ep)
drivers/usb/gadget/function/f_tcm.c
2337
fu->ep_cmd = ep;
drivers/usb/gadget/function/f_tcm.c
276
static void bot_cmd_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/f_tcm.c
555
static void uasp_status_data_cmpl(struct usb_ep *ep, struct usb_request *req);
drivers/usb/gadget/function/f_tcm.c
60
static void bot_status_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/f_tcm.c
669
static void uasp_status_data_cmpl(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/f_tcm.c
862
static void uasp_cmd_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/f_tcm.c
91
static void bot_err_compl(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/f_uac1.c
1240
struct usb_ep *ep = NULL;
drivers/usb/gadget/function/f_uac1.c
1412
ep = usb_ep_autoconfig(cdev->gadget, &ac_int_ep_desc);
drivers/usb/gadget/function/f_uac1.c
1413
if (!ep)
drivers/usb/gadget/function/f_uac1.c
1415
uac1->int_ep = ep;
drivers/usb/gadget/function/f_uac1.c
1423
ep = usb_ep_autoconfig(cdev->gadget, &as_out_ep_desc);
drivers/usb/gadget/function/f_uac1.c
1424
if (!ep)
drivers/usb/gadget/function/f_uac1.c
1427
audio->out_ep = ep;
drivers/usb/gadget/function/f_uac1.c
1432
ep = usb_ep_autoconfig(cdev->gadget, &as_in_ep_desc);
drivers/usb/gadget/function/f_uac1.c
1433
if (!ep)
drivers/usb/gadget/function/f_uac1.c
1436
audio->in_ep = ep;
drivers/usb/gadget/function/f_uac1.c
399
static void uac_cs_attr_sample_rate(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/f_uac1.c
401
struct usb_function *fn = ep->driver_data;
drivers/usb/gadget/function/f_uac1.c
679
out_rq_cur_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/f_uac1.c
721
usb_ep_set_halt(ep);
drivers/usb/gadget/function/f_uac1.c
727
usb_ep_set_halt(ep);
drivers/usb/gadget/function/f_uac1.c
765
u8 ep = ((le16_to_cpu(ctrl->wIndex) >> 8) & 0xFF);
drivers/usb/gadget/function/f_uac1.c
770
ctrl->bRequest, w_value, len, ep);
drivers/usb/gadget/function/f_uac1.c
800
u16 ep = le16_to_cpu(ctrl->wIndex);
drivers/usb/gadget/function/f_uac1.c
806
ctrl->bRequest, w_value, len, ep);
drivers/usb/gadget/function/f_uac1.c
812
uac1->ctl_id = ep;
drivers/usb/gadget/function/f_uac1.c
846
u8 ep = le16_to_cpu(ctrl->wIndex);
drivers/usb/gadget/function/f_uac1.c
853
ctrl->bRequest, w_value, len, ep);
drivers/usb/gadget/function/f_uac1.c
858
if (ep == (USB_DIR_IN | 2))
drivers/usb/gadget/function/f_uac1.c
860
else if (ep == (USB_DIR_OUT | 1))
drivers/usb/gadget/function/f_uac1_legacy.c
321
static int f_audio_out_ep_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/f_uac1_legacy.c
352
err = usb_ep_queue(ep, req, GFP_ATOMIC);
drivers/usb/gadget/function/f_uac1_legacy.c
354
ERROR(cdev, "%s queue req: %d\n", ep->name, err);
drivers/usb/gadget/function/f_uac1_legacy.c
360
static void f_audio_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/f_uac1_legacy.c
367
if (ep == out_ep) {
drivers/usb/gadget/function/f_uac1_legacy.c
368
f_audio_out_ep_complete(ep, req);
drivers/usb/gadget/function/f_uac1_legacy.c
401
usb_ep_set_halt(ep);
drivers/usb/gadget/function/f_uac1_legacy.c
490
u16 ep = le16_to_cpu(ctrl->wIndex);
drivers/usb/gadget/function/f_uac1_legacy.c
495
ctrl->bRequest, w_value, len, ep);
drivers/usb/gadget/function/f_uac1_legacy.c
526
u8 ep = ((le16_to_cpu(ctrl->wIndex) >> 8) & 0xFF);
drivers/usb/gadget/function/f_uac1_legacy.c
531
ctrl->bRequest, w_value, len, ep);
drivers/usb/gadget/function/f_uac1_legacy.c
733
struct usb_ep *ep = NULL;
drivers/usb/gadget/function/f_uac1_legacy.c
778
ep = usb_ep_autoconfig(cdev->gadget, &as_out_ep_desc);
drivers/usb/gadget/function/f_uac1_legacy.c
779
if (!ep)
drivers/usb/gadget/function/f_uac1_legacy.c
781
audio->out_ep = ep;
drivers/usb/gadget/function/f_uac2.c
1703
static void uac2_cs_control_sam_freq(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/f_uac2.c
1705
struct usb_function *fn = ep->driver_data;
drivers/usb/gadget/function/f_uac2.c
1723
out_rq_cur_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/f_uac2.c
1765
usb_ep_set_halt(ep);
drivers/usb/gadget/function/f_uvc.c
205
uvc_function_ep0_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/f_uvc.c
270
if (disable_ep && uvc->video.ep)
drivers/usb/gadget/function/f_uvc.c
271
usb_ep_disable(uvc->video.ep);
drivers/usb/gadget/function/f_uvc.c
288
return uvc->video.ep->enabled ? 1 : 0;
drivers/usb/gadget/function/f_uvc.c
353
if (!uvc->video.ep)
drivers/usb/gadget/function/f_uvc.c
357
usb_ep_disable(uvc->video.ep);
drivers/usb/gadget/function/f_uvc.c
360
&(uvc->func), uvc->video.ep);
drivers/usb/gadget/function/f_uvc.c
363
usb_ep_enable(uvc->video.ep);
drivers/usb/gadget/function/f_uvc.c
365
uvc->video.max_req_size = uvc->video.ep->maxpacket
drivers/usb/gadget/function/f_uvc.c
366
* max_t(unsigned int, uvc->video.ep->maxburst, 1)
drivers/usb/gadget/function/f_uvc.c
367
* (uvc->video.ep->mult);
drivers/usb/gadget/function/f_uvc.c
393
usb_ep_disable(uvc->video.ep);
drivers/usb/gadget/function/f_uvc.c
655
uvc_streaming_header->bEndpointAddress = uvc->video.ep->address;
drivers/usb/gadget/function/f_uvc.c
672
struct usb_ep *ep;
drivers/usb/gadget/function/f_uvc.c
735
ep = usb_ep_autoconfig(cdev->gadget, &uvc_interrupt_ep);
drivers/usb/gadget/function/f_uvc.c
736
if (!ep) {
drivers/usb/gadget/function/f_uvc.c
740
uvc->interrupt_ep = ep;
drivers/usb/gadget/function/f_uvc.c
754
ep = usb_ep_autoconfig_ss(cdev->gadget, &uvc_ss_streaming_ep,
drivers/usb/gadget/function/f_uvc.c
757
ep = usb_ep_autoconfig(cdev->gadget, &uvc_hs_streaming_ep);
drivers/usb/gadget/function/f_uvc.c
759
ep = usb_ep_autoconfig(cdev->gadget, &uvc_fs_streaming_ep);
drivers/usb/gadget/function/f_uvc.c
761
if (!ep) {
drivers/usb/gadget/function/f_uvc.c
765
uvc->video.ep = ep;
drivers/usb/gadget/function/f_uvc.c
767
uvc_fs_streaming_ep.bEndpointAddress = uvc->video.ep->address;
drivers/usb/gadget/function/f_uvc.c
768
uvc_hs_streaming_ep.bEndpointAddress = uvc->video.ep->address;
drivers/usb/gadget/function/f_uvc.c
769
uvc_ss_streaming_ep.bEndpointAddress = uvc->video.ep->address;
drivers/usb/gadget/function/u_audio.c
149
static void u_audio_iso_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/u_audio.c
164
usb_ep_free_request(ep, req);
drivers/usb/gadget/function/u_audio.c
213
ep->maxpacket);
drivers/usb/gadget/function/u_audio.c
215
if (p_pktsize < ep->maxpacket) {
drivers/usb/gadget/function/u_audio.c
276
if (usb_ep_queue(ep, req, GFP_ATOMIC))
drivers/usb/gadget/function/u_audio.c
280
static void u_audio_iso_fback_complete(struct usb_ep *ep,
drivers/usb/gadget/function/u_audio.c
291
usb_ep_free_request(ep, req);
drivers/usb/gadget/function/u_audio.c
310
if (usb_ep_queue(ep, req, GFP_ATOMIC))
drivers/usb/gadget/function/u_audio.c
440
static inline void free_ep(struct uac_rtd_params *prm, struct usb_ep *ep)
drivers/usb/gadget/function/u_audio.c
455
if (usb_ep_dequeue(ep, prm->reqs[i]))
drivers/usb/gadget/function/u_audio.c
456
usb_ep_free_request(ep, prm->reqs[i]);
drivers/usb/gadget/function/u_audio.c
469
if (usb_ep_disable(ep))
drivers/usb/gadget/function/u_audio.c
473
static inline void free_ep_fback(struct uac_rtd_params *prm, struct usb_ep *ep)
drivers/usb/gadget/function/u_audio.c
481
if (usb_ep_dequeue(ep, prm->req_fback)) {
drivers/usb/gadget/function/u_audio.c
483
usb_ep_free_request(ep, prm->req_fback);
drivers/usb/gadget/function/u_audio.c
490
if (usb_ep_disable(ep))
drivers/usb/gadget/function/u_audio.c
592
struct usb_ep *ep, *ep_fback;
drivers/usb/gadget/function/u_audio.c
599
ep = audio_dev->out_ep;
drivers/usb/gadget/function/u_audio.c
600
ret = config_ep_by_speed(gadget, &audio_dev->func, ep);
drivers/usb/gadget/function/u_audio.c
606
req_len = ep->maxpacket;
drivers/usb/gadget/function/u_audio.c
609
ret = usb_ep_enable(ep);
drivers/usb/gadget/function/u_audio.c
617
req = usb_ep_alloc_request(ep, GFP_ATOMIC);
drivers/usb/gadget/function/u_audio.c
627
req->buf = prm->rbuf + i * ep->maxpacket;
drivers/usb/gadget/function/u_audio.c
630
if (usb_ep_queue(ep, prm->reqs[i], GFP_ATOMIC))
drivers/usb/gadget/function/u_audio.c
675
u_audio_set_fback_frequency(audio_dev->gadget->speed, ep,
drivers/usb/gadget/function/u_audio.c
703
struct usb_ep *ep;
drivers/usb/gadget/function/u_audio.c
713
ep = audio_dev->in_ep;
drivers/usb/gadget/function/u_audio.c
714
ret = config_ep_by_speed(gadget, &audio_dev->func, ep);
drivers/usb/gadget/function/u_audio.c
720
ep_desc = ep->desc;
drivers/usb/gadget/function/u_audio.c
739
ep->maxpacket);
drivers/usb/gadget/function/u_audio.c
745
ret = usb_ep_enable(ep);
drivers/usb/gadget/function/u_audio.c
753
req = usb_ep_alloc_request(ep, GFP_ATOMIC);
drivers/usb/gadget/function/u_audio.c
763
req->buf = prm->rbuf + i * ep->maxpacket;
drivers/usb/gadget/function/u_audio.c
766
if (usb_ep_queue(ep, prm->reqs[i], GFP_ATOMIC))
drivers/usb/gadget/function/u_ether.c
143
static void rx_complete(struct usb_ep *ep, struct usb_request *req);
drivers/usb/gadget/function/u_ether.c
224
static void rx_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/u_ether.c
227
struct eth_dev *dev = ep->driver_data;
drivers/usb/gadget/function/u_ether.c
286
DBG(dev, "rx %s reset\n", ep->name);
drivers/usb/gadget/function/u_ether.c
316
static int prealloc(struct list_head *list, struct usb_ep *ep, unsigned n)
drivers/usb/gadget/function/u_ether.c
331
req = usb_ep_alloc_request(ep, GFP_ATOMIC);
drivers/usb/gadget/function/u_ether.c
345
usb_ep_free_request(ep, req);
drivers/usb/gadget/function/u_ether.c
409
static void tx_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/u_ether.c
412
struct eth_dev *dev = ep->driver_data;
drivers/usb/gadget/function/u_midi2.h
56
struct f_midi2_ep_opts *ep;
drivers/usb/gadget/function/u_serial.c
1028
struct usb_ep *ep;
drivers/usb/gadget/function/u_serial.c
1033
ep = port->port_usb->in;
drivers/usb/gadget/function/u_serial.c
1034
req = gs_alloc_req(ep, ep->maxpacket, GFP_ATOMIC);
drivers/usb/gadget/function/u_serial.c
1043
cons->console.data = ep;
drivers/usb/gadget/function/u_serial.c
1057
struct usb_ep *ep;
drivers/usb/gadget/function/u_serial.c
1065
ep = cons->console.data;
drivers/usb/gadget/function/u_serial.c
1073
usb_ep_dequeue(ep, req);
drivers/usb/gadget/function/u_serial.c
1074
gs_free_req(ep, req);
drivers/usb/gadget/function/u_serial.c
169
gs_alloc_req(struct usb_ep *ep, unsigned len, gfp_t kmalloc_flags)
drivers/usb/gadget/function/u_serial.c
173
req = usb_ep_alloc_request(ep, kmalloc_flags);
drivers/usb/gadget/function/u_serial.c
179
usb_ep_free_request(ep, req);
drivers/usb/gadget/function/u_serial.c
193
void gs_free_req(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/u_serial.c
196
usb_ep_free_request(ep, req);
drivers/usb/gadget/function/u_serial.c
458
static void gs_read_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/u_serial.c
460
struct gs_port *port = ep->driver_data;
drivers/usb/gadget/function/u_serial.c
469
static void gs_write_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/u_serial.c
471
struct gs_port *port = ep->driver_data;
drivers/usb/gadget/function/u_serial.c
481
__func__, ep->name, req->status);
drivers/usb/gadget/function/u_serial.c
490
pr_vdebug("%s: %s shutdown\n", __func__, ep->name);
drivers/usb/gadget/function/u_serial.c
497
static void gs_free_requests(struct usb_ep *ep, struct list_head *head,
drivers/usb/gadget/function/u_serial.c
505
gs_free_req(ep, req);
drivers/usb/gadget/function/u_serial.c
511
static int gs_alloc_requests(struct usb_ep *ep, struct list_head *head,
drivers/usb/gadget/function/u_serial.c
524
req = gs_alloc_req(ep, ep->maxpacket, GFP_ATOMIC);
drivers/usb/gadget/function/u_serial.c
547
struct usb_ep *ep = port->port_usb->out;
drivers/usb/gadget/function/u_serial.c
557
status = gs_alloc_requests(ep, head, gs_read_complete,
drivers/usb/gadget/function/u_serial.c
565
gs_free_requests(ep, head, &port->read_allocated);
drivers/usb/gadget/function/u_serial.c
581
gs_free_requests(ep, head, &port->read_allocated);
drivers/usb/gadget/function/u_serial.c
930
static void gs_console_complete_out(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/u_serial.c
937
__func__, ep->name, req->status);
drivers/usb/gadget/function/u_serial.c
949
pr_vdebug("%s: %s shutdown\n", __func__, ep->name);
drivers/usb/gadget/function/u_serial.c
957
struct usb_ep *ep;
drivers/usb/gadget/function/u_serial.c
966
ep = cons->console.data;
drivers/usb/gadget/function/u_serial.c
967
size = kfifo_out(&cons->buf, req->buf, ep->maxpacket);
drivers/usb/gadget/function/u_serial.c
971
if (cons->missed && ep->maxpacket >= 64) {
drivers/usb/gadget/function/u_serial.c
983
if (usb_ep_queue(ep, req, GFP_ATOMIC))
drivers/usb/gadget/function/u_serial.h
57
struct usb_request *gs_alloc_req(struct usb_ep *ep, unsigned len, gfp_t flags);
drivers/usb/gadget/function/uvc.h
94
struct usb_ep *ep;
drivers/usb/gadget/function/uvc_video.c
239
uvc_video_free_request(struct uvc_request *ureq, struct usb_ep *ep)
drivers/usb/gadget/function/uvc_video.c
242
if (ureq->req && ep) {
drivers/usb/gadget/function/uvc_video.c
243
usb_ep_free_request(ep, ureq->req);
drivers/usb/gadget/function/uvc_video.c
260
ret = usb_ep_queue(video->ep, req, GFP_ATOMIC);
drivers/usb/gadget/function/uvc_video.c
266
if (video->ep->desc) {
drivers/usb/gadget/function/uvc_video.c
268
if (usb_endpoint_xfer_bulk(video->ep->desc))
drivers/usb/gadget/function/uvc_video.c
269
usb_ep_set_halt(video->ep);
drivers/usb/gadget/function/uvc_video.c
331
uvc_video_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/function/uvc_video.c
348
uvc_video_free_request(ureq, ep);
drivers/usb/gadget/function/uvc_video.c
393
uvc_video_free_request(ureq, ep);
drivers/usb/gadget/function/uvc_video.c
430
if (!video->ep->enabled)
drivers/usb/gadget/function/uvc_video.c
489
uvc_video_free_request(ureq, video->ep);
drivers/usb/gadget/function/uvc_video.c
508
if (!usb_endpoint_xfer_isoc(video->ep->desc)) {
drivers/usb/gadget/function/uvc_video.c
516
interval_duration = 1 << (video->ep->desc->bInterval - 1);
drivers/usb/gadget/function/uvc_video.c
574
ureq->req = usb_ep_alloc_request(video->ep, GFP_KERNEL);
drivers/usb/gadget/function/uvc_video.c
621
if (!video->ep->enabled)
drivers/usb/gadget/function/uvc_video.c
677
uvc_video_free_request(req->context, video->ep);
drivers/usb/gadget/function/uvc_video.c
693
if (video->ep == NULL) {
drivers/usb/gadget/function/uvc_video.c
733
uvc_video_free_request(req->context, video->ep);
drivers/usb/gadget/function/uvc_video.c
738
uvc_video_free_request(req->context, video->ep);
drivers/usb/gadget/function/uvc_video.c
767
if (video->ep == NULL) {
drivers/usb/gadget/legacy/dbgp.c
111
err = usb_ep_queue(ep, req, GFP_ATOMIC);
drivers/usb/gadget/legacy/dbgp.c
128
static int dbgp_enable_ep_req(struct usb_ep *ep)
drivers/usb/gadget/legacy/dbgp.c
133
req = usb_ep_alloc_request(ep, GFP_KERNEL);
drivers/usb/gadget/legacy/dbgp.c
149
err = usb_ep_queue(ep, req, GFP_ATOMIC);
drivers/usb/gadget/legacy/dbgp.c
167
static int __enable_ep(struct usb_ep *ep, struct usb_endpoint_descriptor *desc)
drivers/usb/gadget/legacy/dbgp.c
170
ep->desc = desc;
drivers/usb/gadget/legacy/dbgp.c
171
err = usb_ep_enable(ep);
drivers/usb/gadget/legacy/dbgp.c
330
static void dbgp_setup_complete(struct usb_ep *ep,
drivers/usb/gadget/legacy/dbgp.c
81
static void __disable_ep(struct usb_ep *ep)
drivers/usb/gadget/legacy/dbgp.c
83
usb_ep_disable(ep);
drivers/usb/gadget/legacy/dbgp.c
92
static void dbgp_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/legacy/dbgp.c
98
if (ep == dbgp.i_ep) {
drivers/usb/gadget/legacy/inode.c
1561
struct ep_data *ep;
drivers/usb/gadget/legacy/inode.c
1564
ep = list_first_entry (&dev->epfiles, struct ep_data, epfiles);
drivers/usb/gadget/legacy/inode.c
1565
list_del_init (&ep->epfiles);
drivers/usb/gadget/legacy/inode.c
1569
mutex_lock(&ep->lock);
drivers/usb/gadget/legacy/inode.c
1570
if (ep->state == STATE_EP_ENABLED)
drivers/usb/gadget/legacy/inode.c
1571
(void) usb_ep_disable (ep->ep);
drivers/usb/gadget/legacy/inode.c
1572
ep->state = STATE_EP_UNBOUND;
drivers/usb/gadget/legacy/inode.c
1573
usb_ep_free_request (ep->ep, ep->req);
drivers/usb/gadget/legacy/inode.c
1574
ep->ep = NULL;
drivers/usb/gadget/legacy/inode.c
1575
mutex_unlock(&ep->lock);
drivers/usb/gadget/legacy/inode.c
1577
wake_up (&ep->wait);
drivers/usb/gadget/legacy/inode.c
1580
simple_remove_by_name(dev->sb->s_root, ep->name, NULL);
drivers/usb/gadget/legacy/inode.c
1582
put_ep (ep);
drivers/usb/gadget/legacy/inode.c
1595
struct usb_ep *ep;
drivers/usb/gadget/legacy/inode.c
1599
gadget_for_each_ep (ep, dev->gadget) {
drivers/usb/gadget/legacy/inode.c
1608
strscpy(data->name, ep->name);
drivers/usb/gadget/legacy/inode.c
1613
data->ep = ep;
drivers/usb/gadget/legacy/inode.c
1614
ep->driver_data = data;
drivers/usb/gadget/legacy/inode.c
1616
data->req = usb_ep_alloc_request (ep, GFP_KERNEL);
drivers/usb/gadget/legacy/inode.c
1629
usb_ep_free_request (ep, data->req);
drivers/usb/gadget/legacy/inode.c
203
struct usb_ep *ep;
drivers/usb/gadget/legacy/inode.c
279
static void epio_complete (struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/legacy/inode.c
281
struct ep_data *epdata = ep->driver_data;
drivers/usb/gadget/legacy/inode.c
342
if (likely (epdata->ep != NULL)) {
drivers/usb/gadget/legacy/inode.c
349
value = usb_ep_queue (epdata->ep, req, GFP_ATOMIC);
drivers/usb/gadget/legacy/inode.c
358
if (likely (epdata->ep != NULL)) {
drivers/usb/gadget/legacy/inode.c
361
usb_ep_dequeue (epdata->ep, epdata->req);
drivers/usb/gadget/legacy/inode.c
395
usb_ep_disable(data->ep);
drivers/usb/gadget/legacy/inode.c
411
if (likely (data->ep != NULL)) {
drivers/usb/gadget/legacy/inode.c
414
status = usb_ep_fifo_status (data->ep);
drivers/usb/gadget/legacy/inode.c
417
usb_ep_fifo_flush (data->ep);
drivers/usb/gadget/legacy/inode.c
420
status = usb_ep_clear_halt (data->ep);
drivers/usb/gadget/legacy/inode.c
457
if (likely(epdata && epdata->ep && priv->req))
drivers/usb/gadget/legacy/inode.c
458
value = usb_ep_dequeue (epdata->ep, priv->req);
drivers/usb/gadget/legacy/inode.c
488
static void ep_aio_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/legacy/inode.c
514
ep->name, req->status, req->actual);
drivers/usb/gadget/legacy/inode.c
522
usb_ep_free_request(ep, req);
drivers/usb/gadget/legacy/inode.c
550
if (unlikely(epdata->ep == NULL))
drivers/usb/gadget/legacy/inode.c
553
req = usb_ep_alloc_request(epdata->ep, GFP_ATOMIC);
drivers/usb/gadget/legacy/inode.c
563
value = usb_ep_queue(epdata->ep, req, GFP_ATOMIC);
drivers/usb/gadget/legacy/inode.c
565
usb_ep_free_request(epdata->ep, req);
drivers/usb/gadget/legacy/inode.c
600
if (likely(epdata->ep != NULL))
drivers/usb/gadget/legacy/inode.c
601
usb_ep_set_halt(epdata->ep);
drivers/usb/gadget/legacy/inode.c
662
if (likely(epdata->ep != NULL))
drivers/usb/gadget/legacy/inode.c
663
usb_ep_set_halt(epdata->ep);
drivers/usb/gadget/legacy/inode.c
728
struct usb_ep *ep;
drivers/usb/gadget/legacy/inode.c
778
ep = data->ep;
drivers/usb/gadget/legacy/inode.c
779
if (ep == NULL) {
drivers/usb/gadget/legacy/inode.c
787
ep->desc = &data->desc;
drivers/usb/gadget/legacy/inode.c
791
ep->desc = &data->hs_desc;
drivers/usb/gadget/legacy/inode.c
799
value = usb_ep_enable(ep);
drivers/usb/gadget/legacy/inode.c
857
static void clean_req (struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/legacy/inode.c
859
struct dev_data *dev = ep->driver_data;
drivers/usb/gadget/legacy/inode.c
869
static void ep0_complete (struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/legacy/inode.c
871
struct dev_data *dev = ep->driver_data;
drivers/usb/gadget/legacy/inode.c
887
clean_req (ep, req);
drivers/usb/gadget/legacy/inode.c
892
static int setup_req (struct usb_ep *ep, struct usb_request *req, u16 len)
drivers/usb/gadget/legacy/inode.c
894
struct dev_data *dev = ep->driver_data;
drivers/usb/gadget/legacy/inode.c
942
struct usb_ep *ep = dev->gadget->ep0;
drivers/usb/gadget/legacy/inode.c
945
if ((retval = setup_req (ep, req, 0)) == 0) {
drivers/usb/gadget/legacy/inode.c
948
retval = usb_ep_queue (ep, req, GFP_KERNEL);
drivers/usb/gadget/legacy/raw_gadget.c
1013
if (usb_endpoint_xfer_isoc(dev->eps[i].ep->desc)) {
drivers/usb/gadget/legacy/raw_gadget.c
1021
ret = usb_ep_set_halt(dev->eps[i].ep);
drivers/usb/gadget/legacy/raw_gadget.c
1026
ret = usb_ep_clear_halt(dev->eps[i].ep);
drivers/usb/gadget/legacy/raw_gadget.c
1031
ret = usb_ep_set_wedge(dev->eps[i].ep);
drivers/usb/gadget/legacy/raw_gadget.c
1042
static void gadget_ep_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/legacy/raw_gadget.c
1044
struct raw_ep *r_ep = (struct raw_ep *)ep->driver_data;
drivers/usb/gadget/legacy/raw_gadget.c
1063
struct raw_ep *ep;
drivers/usb/gadget/legacy/raw_gadget.c
1077
if (io->ep >= dev->eps_num) {
drivers/usb/gadget/legacy/raw_gadget.c
1082
ep = &dev->eps[io->ep];
drivers/usb/gadget/legacy/raw_gadget.c
1083
if (ep->state != STATE_EP_ENABLED) {
drivers/usb/gadget/legacy/raw_gadget.c
1088
if (ep->disabling) {
drivers/usb/gadget/legacy/raw_gadget.c
1094
if (ep->urb_queued) {
drivers/usb/gadget/legacy/raw_gadget.c
1099
if (in != usb_endpoint_dir_in(ep->ep->desc)) {
drivers/usb/gadget/legacy/raw_gadget.c
1105
ep->dev = dev;
drivers/usb/gadget/legacy/raw_gadget.c
1106
ep->req->context = &done;
drivers/usb/gadget/legacy/raw_gadget.c
1107
ep->req->complete = gadget_ep_complete;
drivers/usb/gadget/legacy/raw_gadget.c
1108
ep->req->buf = data;
drivers/usb/gadget/legacy/raw_gadget.c
1109
ep->req->length = io->length;
drivers/usb/gadget/legacy/raw_gadget.c
1110
ep->req->zero = usb_raw_io_flags_zero(io->flags);
drivers/usb/gadget/legacy/raw_gadget.c
1111
ep->urb_queued = true;
drivers/usb/gadget/legacy/raw_gadget.c
1114
ret = usb_ep_queue(ep->ep, ep->req, GFP_KERNEL);
drivers/usb/gadget/legacy/raw_gadget.c
1125
usb_ep_dequeue(ep->ep, ep->req);
drivers/usb/gadget/legacy/raw_gadget.c
1128
if (ep->status == -ECONNRESET)
drivers/usb/gadget/legacy/raw_gadget.c
1129
ep->status = -EINTR;
drivers/usb/gadget/legacy/raw_gadget.c
1136
ret = ep->status;
drivers/usb/gadget/legacy/raw_gadget.c
1138
ep->urb_queued = false;
drivers/usb/gadget/legacy/raw_gadget.c
1241
static void fill_ep_limits(struct usb_ep *ep, struct usb_raw_ep_limits *limits)
drivers/usb/gadget/legacy/raw_gadget.c
1243
limits->maxpacket_limit = ep->maxpacket_limit;
drivers/usb/gadget/legacy/raw_gadget.c
1244
limits->max_streams = ep->max_streams;
drivers/usb/gadget/legacy/raw_gadget.c
1252
struct raw_ep *ep;
drivers/usb/gadget/legacy/raw_gadget.c
1275
ep = &dev->eps[i];
drivers/usb/gadget/legacy/raw_gadget.c
1276
strscpy(&info->eps[i].name[0], ep->ep->name,
drivers/usb/gadget/legacy/raw_gadget.c
1278
info->eps[i].addr = ep->addr;
drivers/usb/gadget/legacy/raw_gadget.c
1279
fill_ep_caps(&ep->ep->caps, &info->eps[i].caps);
drivers/usb/gadget/legacy/raw_gadget.c
1280
fill_ep_limits(ep->ep, &info->eps[i].limits);
drivers/usb/gadget/legacy/raw_gadget.c
142
struct usb_ep *ep;
drivers/usb/gadget/legacy/raw_gadget.c
224
usb_ep_disable(dev->eps[i].ep);
drivers/usb/gadget/legacy/raw_gadget.c
225
usb_ep_free_request(dev->eps[i].ep, dev->eps[i].req);
drivers/usb/gadget/legacy/raw_gadget.c
226
kfree(dev->eps[i].ep->desc);
drivers/usb/gadget/legacy/raw_gadget.c
249
static void gadget_ep0_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/legacy/raw_gadget.c
287
struct usb_ep *ep;
drivers/usb/gadget/legacy/raw_gadget.c
306
gadget_for_each_ep(ep, dev->gadget) {
drivers/usb/gadget/legacy/raw_gadget.c
307
dev->eps[i].ep = ep;
drivers/usb/gadget/legacy/raw_gadget.c
308
dev->eps[i].addr = get_ep_addr(ep->name);
drivers/usb/gadget/legacy/raw_gadget.c
667
if (io->ep >= USB_RAW_EPS_NUM_MAX)
drivers/usb/gadget/legacy/raw_gadget.c
845
struct raw_ep *ep;
drivers/usb/gadget/legacy/raw_gadget.c
875
ep = &dev->eps[i];
drivers/usb/gadget/legacy/raw_gadget.c
876
if (ep->addr != usb_endpoint_num(desc) &&
drivers/usb/gadget/legacy/raw_gadget.c
877
ep->addr != USB_RAW_EP_ADDR_ANY)
drivers/usb/gadget/legacy/raw_gadget.c
879
if (!usb_gadget_ep_match_desc(dev->gadget, ep->ep, desc, NULL))
drivers/usb/gadget/legacy/raw_gadget.c
882
if (ep->state != STATE_EP_DISABLED)
drivers/usb/gadget/legacy/raw_gadget.c
884
ep->ep->desc = desc;
drivers/usb/gadget/legacy/raw_gadget.c
885
ret = usb_ep_enable(ep->ep);
drivers/usb/gadget/legacy/raw_gadget.c
891
ep->req = usb_ep_alloc_request(ep->ep, GFP_ATOMIC);
drivers/usb/gadget/legacy/raw_gadget.c
892
if (!ep->req) {
drivers/usb/gadget/legacy/raw_gadget.c
895
usb_ep_disable(ep->ep);
drivers/usb/gadget/legacy/raw_gadget.c
899
ep->state = STATE_EP_ENABLED;
drivers/usb/gadget/legacy/raw_gadget.c
900
ep->ep->driver_data = ep;
drivers/usb/gadget/legacy/raw_gadget.c
961
usb_ep_disable(dev->eps[i].ep);
drivers/usb/gadget/legacy/raw_gadget.c
964
usb_ep_free_request(dev->eps[i].ep, dev->eps[i].req);
drivers/usb/gadget/legacy/raw_gadget.c
965
kfree(dev->eps[i].ep->desc);
drivers/usb/gadget/u_f.c
14
struct usb_request *alloc_ep_req(struct usb_ep *ep, size_t len)
drivers/usb/gadget/u_f.c
18
req = usb_ep_alloc_request(ep, GFP_ATOMIC);
drivers/usb/gadget/u_f.c
20
req->length = usb_endpoint_dir_out(ep->desc) ?
drivers/usb/gadget/u_f.c
21
usb_ep_align(ep, len) : len;
drivers/usb/gadget/u_f.c
24
usb_ep_free_request(ep, req);
drivers/usb/gadget/udc/amd5536udc.h
498
struct usb_ep ep;
drivers/usb/gadget/udc/amd5536udc.h
533
struct udc_ep ep[UDC_EP_NUM];
drivers/usb/gadget/udc/amd5536udc.h
591
void empty_req_queue(struct udc_ep *ep);
drivers/usb/gadget/udc/aspeed-vhub/core.c
30
void ast_vhub_done(struct ast_vhub_ep *ep, struct ast_vhub_req *req,
drivers/usb/gadget/udc/aspeed-vhub/core.c
34
struct ast_vhub *vhub = ep->vhub;
drivers/usb/gadget/udc/aspeed-vhub/core.c
36
EPVDBG(ep, "completing request @%p, status %d\n", req, status);
drivers/usb/gadget/udc/aspeed-vhub/core.c
44
if (!WARN_ON(!ep->dev))
drivers/usb/gadget/udc/aspeed-vhub/core.c
46
&req->req, ep->epn.is_in);
drivers/usb/gadget/udc/aspeed-vhub/core.c
55
spin_unlock(&ep->vhub->lock);
drivers/usb/gadget/udc/aspeed-vhub/core.c
56
usb_gadget_giveback_request(&ep->ep, &req->req);
drivers/usb/gadget/udc/aspeed-vhub/core.c
57
spin_lock(&ep->vhub->lock);
drivers/usb/gadget/udc/aspeed-vhub/core.c
61
void ast_vhub_nuke(struct ast_vhub_ep *ep, int status)
drivers/usb/gadget/udc/aspeed-vhub/core.c
67
while (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/aspeed-vhub/core.c
68
req = list_first_entry(&ep->queue, struct ast_vhub_req, queue);
drivers/usb/gadget/udc/aspeed-vhub/core.c
69
ast_vhub_done(ep, req, status);
drivers/usb/gadget/udc/aspeed-vhub/core.c
73
EPDBG(ep, "Nuked %d request(s)\n", count);
drivers/usb/gadget/udc/aspeed-vhub/dev.c
137
struct ast_vhub_ep *ep;
drivers/usb/gadget/udc/aspeed-vhub/dev.c
150
ep = d->epns[ep_num - 1];
drivers/usb/gadget/udc/aspeed-vhub/dev.c
151
if (WARN_ON(!ep))
drivers/usb/gadget/udc/aspeed-vhub/dev.c
154
if (!ep->epn.enabled || !ep->ep.desc || ep->epn.is_iso ||
drivers/usb/gadget/udc/aspeed-vhub/dev.c
155
ep->epn.is_in != !!(wIndex & USB_DIR_IN))
drivers/usb/gadget/udc/aspeed-vhub/dev.c
160
ep->epn.stalled = is_set;
drivers/usb/gadget/udc/aspeed-vhub/dev.c
161
ast_vhub_update_epn_stall(ep);
drivers/usb/gadget/udc/aspeed-vhub/dev.c
184
struct ast_vhub_ep *ep;
drivers/usb/gadget/udc/aspeed-vhub/dev.c
192
ep = d->epns[ep_num - 1];
drivers/usb/gadget/udc/aspeed-vhub/dev.c
193
if (!ep)
drivers/usb/gadget/udc/aspeed-vhub/dev.c
195
if (!ep->epn.enabled || !ep->ep.desc || ep->epn.is_iso ||
drivers/usb/gadget/udc/aspeed-vhub/dev.c
196
ep->epn.is_in != !!(wIndex & USB_DIR_IN))
drivers/usb/gadget/udc/aspeed-vhub/dev.c
198
if (ep->epn.stalled)
drivers/usb/gadget/udc/aspeed-vhub/dev.c
217
int ast_vhub_std_dev_request(struct ast_vhub_ep *ep,
drivers/usb/gadget/udc/aspeed-vhub/dev.c
220
struct ast_vhub_dev *d = ep->dev;
drivers/usb/gadget/udc/aspeed-vhub/dev.c
225
EPDBG(ep,
drivers/usb/gadget/udc/aspeed-vhub/dev.c
239
d->gadget.speed = ep->vhub->speed;
drivers/usb/gadget/udc/aspeed-vhub/dev.c
259
return ast_vhub_simple_reply(ep, 0, 0);
drivers/usb/gadget/udc/aspeed-vhub/dev.c
364
struct ast_vhub_ep *ep;
drivers/usb/gadget/udc/aspeed-vhub/dev.c
435
ep = ast_vhub_alloc_epn(d, addr);
drivers/usb/gadget/udc/aspeed-vhub/dev.c
436
if (!ep)
drivers/usb/gadget/udc/aspeed-vhub/dev.c
439
ep->epn.g_idx, addr);
drivers/usb/gadget/udc/aspeed-vhub/dev.c
441
return &ep->ep;
drivers/usb/gadget/udc/aspeed-vhub/dev.c
588
d->gadget.ep0 = &d->ep0.ep;
drivers/usb/gadget/udc/aspeed-vhub/dev.c
75
struct ast_vhub_ep *ep = d->epns[i];
drivers/usb/gadget/udc/aspeed-vhub/dev.c
77
if (ep && (ep->epn.stalled || ep->epn.wedged)) {
drivers/usb/gadget/udc/aspeed-vhub/dev.c
78
ep->epn.stalled = false;
drivers/usb/gadget/udc/aspeed-vhub/dev.c
79
ep->epn.wedged = false;
drivers/usb/gadget/udc/aspeed-vhub/dev.c
80
ast_vhub_update_epn_stall(ep);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
100
ep->ep0.state);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
112
if (ep->ep0.state != ep0_state_token &&
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
113
ep->ep0.state != ep0_state_stall) {
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
114
EPDBG(ep, "wrong state\n");
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
115
ast_vhub_nuke(ep, -EIO);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
119
ep->ep0.state = ep0_state_data;
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
120
ep->ep0.dir_in = !!(crq.bRequestType & USB_DIR_IN);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
124
if (ep->dev == NULL) {
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
126
std_req_rc = ast_vhub_std_hub_request(ep, &crq);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
128
std_req_rc = ast_vhub_class_hub_request(ep, &crq);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
132
std_req_rc = ast_vhub_std_dev_request(ep, &crq);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
147
if (WARN_ON(!ep->dev))
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
149
if (ep->dev->driver) {
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
150
EPDBG(ep, "forwarding to gadget...\n");
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
151
spin_unlock(&ep->vhub->lock);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
152
rc = ep->dev->driver->setup(&ep->dev->gadget, &crq);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
153
spin_lock(&ep->vhub->lock);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
154
EPDBG(ep, "driver returned %d\n", rc);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
156
EPDBG(ep, "no gadget for request !\n");
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
162
EPDBG(ep, "stalling\n");
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
163
writel(VHUB_EP0_CTRL_STALL, ep->ep0.ctlstat);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
164
ep->ep0.state = ep0_state_stall;
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
165
ep->ep0.dir_in = false;
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
169
EPVDBG(ep, "sending [in] status with no data\n");
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
170
writel(VHUB_EP0_TX_BUFF_RDY, ep->ep0.ctlstat);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
171
ep->ep0.state = ep0_state_status;
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
172
ep->ep0.dir_in = false;
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
176
static void ast_vhub_ep0_do_send(struct ast_vhub_ep *ep,
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
190
EPVDBG(ep, "complete send %d/%d\n",
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
192
ep->ep0.state = ep0_state_status;
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
193
writel(VHUB_EP0_RX_BUFF_RDY, ep->ep0.ctlstat);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
194
ast_vhub_done(ep, req, 0);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
203
if (chunk > ep->ep.maxpacket)
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
204
chunk = ep->ep.maxpacket;
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
205
else if ((chunk < ep->ep.maxpacket) || !req->req.zero)
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
208
EPVDBG(ep, "send chunk=%d last=%d, req->act=%d mp=%d\n",
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
209
chunk, req->last_desc, req->req.actual, ep->ep.maxpacket);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
216
memcpy(ep->buf, req->req.buf + req->req.actual, chunk);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
218
vhub_dma_workaround(ep->buf);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
222
writel(reg, ep->ep0.ctlstat);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
223
writel(reg | VHUB_EP0_TX_BUFF_RDY, ep->ep0.ctlstat);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
227
static void ast_vhub_ep0_rx_prime(struct ast_vhub_ep *ep)
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
229
EPVDBG(ep, "rx prime\n");
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
232
writel(VHUB_EP0_RX_BUFF_RDY, ep->ep0.ctlstat);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
235
static void ast_vhub_ep0_do_receive(struct ast_vhub_ep *ep, struct ast_vhub_req *req,
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
244
EPVDBG(ep, "receive got=%d remain=%d\n", len, remain);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
248
EPDBG(ep, "receiving too much (ovf: %d) !\n",
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
255
if (len < ep->ep.maxpacket && len != remain) {
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
256
EPDBG(ep, "using expected data len instead\n");
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
261
memcpy(req->req.buf + req->req.actual, ep->buf, len);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
265
if (len < ep->ep.maxpacket || len == remain) {
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
266
ep->ep0.state = ep0_state_status;
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
267
writel(VHUB_EP0_TX_BUFF_RDY, ep->ep0.ctlstat);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
268
ast_vhub_done(ep, req, rc);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
270
ast_vhub_ep0_rx_prime(ep);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
273
void ast_vhub_ep0_handle_ack(struct ast_vhub_ep *ep, bool in_ack)
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
276
struct ast_vhub *vhub = ep->vhub;
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
282
stat = readl(ep->ep0.ctlstat);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
285
req = list_first_entry_or_null(&ep->queue, struct ast_vhub_req, queue);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
287
EPVDBG(ep, "ACK status=%08x,state=%d is_in=%d in_ack=%d req=%p\n",
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
288
stat, ep->ep0.state, ep->ep0.dir_in, in_ack, req);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
29
int ast_vhub_reply(struct ast_vhub_ep *ep, char *ptr, int len)
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
290
switch(ep->ep0.state) {
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
295
ast_vhub_nuke(ep, -EINVAL);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
302
if ((ep->ep0.dir_in && (stat & VHUB_EP0_TX_BUFF_RDY)) ||
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
303
(!ep->ep0.dir_in && (stat & VHUB_EP0_RX_BUFF_RDY)) ||
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
304
(ep->ep0.dir_in != in_ack)) {
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
31
struct usb_request *req = &ep->ep0.req.req;
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
320
if (ep->ep0.dir_in)
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
321
ast_vhub_ep0_do_send(ep, req);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
323
ast_vhub_ep0_do_receive(ep, req, VHUB_EP0_RX_LEN(stat));
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
329
ast_vhub_nuke(ep, -EINVAL);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
337
if (ep->ep0.dir_in == in_ack) {
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
34
if (WARN_ON(ep->d_idx != 0))
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
347
ast_vhub_nuke(ep, -EIO);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
353
writel(VHUB_EP0_CTRL_STALL, ep->ep0.ctlstat);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
354
ep->ep0.state = ep0_state_stall;
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
356
ep->ep0.state = ep0_state_token;
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
36
if (WARN_ON(!ep->ep0.dir_in))
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
363
struct ast_vhub_ep *ep = to_ast_ep(u_ep);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
364
struct ast_vhub *vhub = ep->vhub;
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
379
if (WARN_ON(ep->d_idx != 0))
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
383
if (ep->dev && !ep->dev->enabled)
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
392
EPVDBG(ep, "enqueue req @%p\n", req);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
393
EPVDBG(ep, " l=%d zero=%d noshort=%d is_in=%d\n",
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
395
u_req->short_not_ok, ep->ep0.dir_in);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
406
if (!list_empty(&ep->queue) ||
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
407
ep->ep0.state == ep0_state_token ||
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
408
ep->ep0.state == ep0_state_stall) {
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
410
EPVDBG(ep, "EP0: list_empty=%d state=%d\n",
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
411
list_empty(&ep->queue), ep->ep0.state);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
417
list_add_tail(&req->queue, &ep->queue);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
419
if (ep->ep0.dir_in) {
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
421
ast_vhub_ep0_do_send(ep, req);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
424
EPVDBG(ep, "0-length rx completion\n");
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
425
ep->ep0.state = ep0_state_status;
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
426
writel(VHUB_EP0_TX_BUFF_RDY, ep->ep0.ctlstat);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
427
ast_vhub_done(ep, req, 0);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
430
ast_vhub_ep0_rx_prime(ep);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
440
struct ast_vhub_ep *ep = to_ast_ep(u_ep);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
441
struct ast_vhub *vhub = ep->vhub;
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
449
req = list_first_entry_or_null(&ep->queue, struct ast_vhub_req, queue);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
453
EPVDBG(ep, "dequeue req @%p\n", req);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
459
ast_vhub_done(ep, req, -ECONNRESET);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
462
writel(VHUB_EP0_CTRL_STALL, ep->ep0.ctlstat);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
463
ep->ep0.state = ep0_state_status;
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
464
ep->ep0.dir_in = false;
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
481
struct ast_vhub_ep *ep = &dev->ep0;
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
483
ast_vhub_nuke(ep, -EIO);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
484
ep->ep0.state = ep0_state_token;
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
488
void ast_vhub_init_ep0(struct ast_vhub *vhub, struct ast_vhub_ep *ep,
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
491
memset(ep, 0, sizeof(*ep));
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
493
INIT_LIST_HEAD(&ep->ep.ep_list);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
494
INIT_LIST_HEAD(&ep->queue);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
495
ep->ep.ops = &ast_vhub_ep0_ops;
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
496
ep->ep.name = "ep0";
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
497
ep->ep.caps.type_control = true;
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
498
usb_ep_set_maxpacket_limit(&ep->ep, AST_VHUB_EP0_MAX_PACKET);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
499
ep->d_idx = 0;
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
500
ep->dev = dev;
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
501
ep->vhub = vhub;
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
502
ep->ep0.state = ep0_state_token;
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
503
INIT_LIST_HEAD(&ep->ep0.req.queue);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
504
ep->ep0.req.internal = true;
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
508
ep->ep0.ctlstat = dev->regs + AST_VHUB_DEV_EP0_CTRL;
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
509
ep->ep0.setup = vhub->regs +
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
511
ep->buf = vhub->ep0_bufs +
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
513
ep->buf_dma = vhub->ep0_bufs_dma +
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
516
ep->ep0.ctlstat = vhub->regs + AST_VHUB_EP0_CTRL;
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
517
ep->ep0.setup = vhub->regs + AST_VHUB_SETUP0;
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
518
ep->buf = vhub->ep0_bufs;
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
519
ep->buf_dma = vhub->ep0_bufs_dma;
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
53
spin_unlock(&ep->vhub->lock);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
54
if (ep->ep.ops->queue(&ep->ep, req, GFP_ATOMIC))
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
58
spin_lock(&ep->vhub->lock);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
62
int __ast_vhub_simple_reply(struct ast_vhub_ep *ep, int len, ...)
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
64
u8 *buffer = ep->buf;
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
76
return ast_vhub_reply(ep, NULL, len);
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
79
void ast_vhub_ep0_handle_setup(struct ast_vhub_ep *ep)
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
85
if (WARN_ON(ep->d_idx != 0))
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
92
memcpy_fromio(&crq, ep->ep0.setup, sizeof(crq));
drivers/usb/gadget/udc/aspeed-vhub/ep0.c
94
EPDBG(ep, "SETUP packet %02x/%02x/%04x/%04x/%04x [%s] st=%d\n",
drivers/usb/gadget/udc/aspeed-vhub/epn.c
111
EPDBG(ep, "DMA read pointer not 0 !\n");
drivers/usb/gadget/udc/aspeed-vhub/epn.c
122
if (!req->req.dma && !ep->epn.is_in && len) {
drivers/usb/gadget/udc/aspeed-vhub/epn.c
128
memcpy(req->req.buf + req->req.actual, ep->buf, len);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
135
if (len < ep->ep.maxpacket)
drivers/usb/gadget/udc/aspeed-vhub/epn.c
141
ast_vhub_done(ep, req, status);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
142
req = list_first_entry_or_null(&ep->queue, struct ast_vhub_req,
drivers/usb/gadget/udc/aspeed-vhub/epn.c
154
ast_vhub_epn_kick(ep, req);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
157
static inline unsigned int ast_vhub_count_free_descs(struct ast_vhub_ep *ep)
drivers/usb/gadget/udc/aspeed-vhub/epn.c
164
return (ep->epn.d_last + AST_VHUB_DESCS_COUNT - ep->epn.d_next - 1) &
drivers/usb/gadget/udc/aspeed-vhub/epn.c
168
static void ast_vhub_epn_kick_desc(struct ast_vhub_ep *ep,
drivers/usb/gadget/udc/aspeed-vhub/epn.c
183
EPVDBG(ep, "kick act=%d/%d chunk_max=%d free_descs=%d\n",
drivers/usb/gadget/udc/aspeed-vhub/epn.c
184
act, len, ep->epn.chunk_max, ast_vhub_count_free_descs(ep));
drivers/usb/gadget/udc/aspeed-vhub/epn.c
187
while (ast_vhub_count_free_descs(ep) && req->last_desc < 0) {
drivers/usb/gadget/udc/aspeed-vhub/epn.c
191
d_num = ep->epn.d_next;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
192
desc = &ep->epn.descs[d_num];
drivers/usb/gadget/udc/aspeed-vhub/epn.c
193
ep->epn.d_next = (d_num + 1) & (AST_VHUB_DESCS_COUNT - 1);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
197
if (chunk <= ep->epn.chunk_max) {
drivers/usb/gadget/udc/aspeed-vhub/epn.c
206
if (!chunk || !req->req.zero || (chunk % ep->ep.maxpacket) != 0)
drivers/usb/gadget/udc/aspeed-vhub/epn.c
209
chunk = ep->epn.chunk_max;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
212
EPVDBG(ep, " chunk: act=%d/%d chunk=%d last=%d desc=%d free=%d\n",
drivers/usb/gadget/udc/aspeed-vhub/epn.c
214
ast_vhub_count_free_descs(ep));
drivers/usb/gadget/udc/aspeed-vhub/epn.c
230
if (req->last_desc >= 0 || !ast_vhub_count_free_descs(ep))
drivers/usb/gadget/udc/aspeed-vhub/epn.c
241
writel(VHUB_EP_DMA_SET_CPU_WPTR(ep->epn.d_next),
drivers/usb/gadget/udc/aspeed-vhub/epn.c
242
ep->epn.regs + AST_VHUB_EP_DESC_STATUS);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
244
EPVDBG(ep, "HW kicked, d_next=%d dstat=%08x\n",
drivers/usb/gadget/udc/aspeed-vhub/epn.c
245
ep->epn.d_next, readl(ep->epn.regs + AST_VHUB_EP_DESC_STATUS));
drivers/usb/gadget/udc/aspeed-vhub/epn.c
248
static void ast_vhub_epn_handle_ack_desc(struct ast_vhub_ep *ep)
drivers/usb/gadget/udc/aspeed-vhub/epn.c
256
stat = readl(ep->epn.regs + AST_VHUB_EP_DESC_STATUS);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
257
stat1 = readl(ep->epn.regs + AST_VHUB_EP_DESC_STATUS);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
264
req = list_first_entry_or_null(&ep->queue, struct ast_vhub_req, queue);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
266
EPVDBG(ep, "ACK status=%08x is_in=%d ep->d_last=%d..%d\n",
drivers/usb/gadget/udc/aspeed-vhub/epn.c
267
stat, ep->epn.is_in, ep->epn.d_last, d_last);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
270
while (ep->epn.d_last != d_last) {
drivers/usb/gadget/udc/aspeed-vhub/epn.c
276
d_num = ep->epn.d_last;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
277
desc = &ep->epn.descs[d_num];
drivers/usb/gadget/udc/aspeed-vhub/epn.c
278
ep->epn.d_last = (d_num + 1) & (AST_VHUB_DESCS_COUNT - 1);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
283
EPVDBG(ep, " desc %d len=%d req=%p (act=%d)\n",
drivers/usb/gadget/udc/aspeed-vhub/epn.c
295
CHECK(ep, is_last_desc == (len < ep->ep.maxpacket ||
drivers/usb/gadget/udc/aspeed-vhub/epn.c
301
req->req.zero, ep->ep.maxpacket);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
309
CHECK(ep, d_last == ep->epn.d_last,
drivers/usb/gadget/udc/aspeed-vhub/epn.c
311
d_last, ep->epn.d_last);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
314
ast_vhub_done(ep, req, 0);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
315
req = list_first_entry_or_null(&ep->queue,
drivers/usb/gadget/udc/aspeed-vhub/epn.c
32
#define CHECK(ep, expr, fmt...) \
drivers/usb/gadget/udc/aspeed-vhub/epn.c
324
ast_vhub_epn_kick_desc(ep, req);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
327
void ast_vhub_epn_ack_irq(struct ast_vhub_ep *ep)
drivers/usb/gadget/udc/aspeed-vhub/epn.c
329
if (ep->epn.desc_mode)
drivers/usb/gadget/udc/aspeed-vhub/epn.c
330
ast_vhub_epn_handle_ack_desc(ep);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
332
ast_vhub_epn_handle_ack(ep);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
339
struct ast_vhub_ep *ep = to_ast_ep(u_ep);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
34
if (!(expr)) EPDBG(ep, "CHECK:" fmt); \
drivers/usb/gadget/udc/aspeed-vhub/epn.c
340
struct ast_vhub *vhub = ep->vhub;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
356
if (!ep->epn.enabled || !u_ep->desc || !ep->dev || !ep->d_idx ||
drivers/usb/gadget/udc/aspeed-vhub/epn.c
357
!ep->dev->enabled) {
drivers/usb/gadget/udc/aspeed-vhub/epn.c
358
EPDBG(ep, "Enqueuing request on wrong or disabled EP\n");
drivers/usb/gadget/udc/aspeed-vhub/epn.c
37
#define CHECK(ep, expr, fmt...) do { } while(0)
drivers/usb/gadget/udc/aspeed-vhub/epn.c
378
if (ep->epn.desc_mode ||
drivers/usb/gadget/udc/aspeed-vhub/epn.c
380
(ep->epn.is_in || !(u_req->length & (u_ep->maxpacket - 1))))) {
drivers/usb/gadget/udc/aspeed-vhub/epn.c
382
ep->epn.is_in);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
391
EPVDBG(ep, "enqueue req @%p\n", req);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
392
EPVDBG(ep, " l=%d dma=0x%x zero=%d noshort=%d noirq=%d is_in=%d\n",
drivers/usb/gadget/udc/aspeed-vhub/epn.c
395
ep->epn.is_in);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
40
static void ast_vhub_epn_kick(struct ast_vhub_ep *ep, struct ast_vhub_req *req)
drivers/usb/gadget/udc/aspeed-vhub/epn.c
404
empty = list_empty(&ep->queue);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
407
list_add_tail(&req->queue, &ep->queue);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
409
if (ep->epn.desc_mode)
drivers/usb/gadget/udc/aspeed-vhub/epn.c
410
ast_vhub_epn_kick_desc(ep, req);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
412
ast_vhub_epn_kick(ep, req);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
419
static void ast_vhub_stop_active_req(struct ast_vhub_ep *ep,
drivers/usb/gadget/udc/aspeed-vhub/epn.c
425
if (ep->epn.desc_mode)
drivers/usb/gadget/udc/aspeed-vhub/epn.c
426
writel(VHUB_EP_DMA_CTRL_RESET, ep->epn.regs + AST_VHUB_EP_DMA_CTLSTAT);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
428
writel(0, ep->epn.regs + AST_VHUB_EP_DMA_CTLSTAT);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
432
state = readl(ep->epn.regs + AST_VHUB_EP_DMA_CTLSTAT);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
440
dev_warn(&ep->vhub->pdev->dev, "Timeout waiting for DMA\n");
drivers/usb/gadget/udc/aspeed-vhub/epn.c
447
if (ep->epn.desc_mode) {
drivers/usb/gadget/udc/aspeed-vhub/epn.c
458
reg = VHUB_EP_DMA_SET_RPTR(ep->epn.d_next) |
drivers/usb/gadget/udc/aspeed-vhub/epn.c
459
VHUB_EP_DMA_SET_CPU_WPTR(ep->epn.d_next);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
460
writel(reg, ep->epn.regs + AST_VHUB_EP_DESC_STATUS);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
463
writel(ep->epn.dma_conf,
drivers/usb/gadget/udc/aspeed-vhub/epn.c
464
ep->epn.regs + AST_VHUB_EP_DMA_CTLSTAT);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
467
writel(ep->epn.dma_conf,
drivers/usb/gadget/udc/aspeed-vhub/epn.c
468
ep->epn.regs + AST_VHUB_EP_DMA_CTLSTAT);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
474
struct ast_vhub_ep *ep = to_ast_ep(u_ep);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
475
struct ast_vhub *vhub = ep->vhub;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
483
list_for_each_entry(iter, &ep->queue, queue) {
drivers/usb/gadget/udc/aspeed-vhub/epn.c
491
EPVDBG(ep, "dequeue req @%p active=%d\n",
drivers/usb/gadget/udc/aspeed-vhub/epn.c
494
ast_vhub_stop_active_req(ep, true);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
495
ast_vhub_done(ep, req, -ECONNRESET);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
503
void ast_vhub_update_epn_stall(struct ast_vhub_ep *ep)
drivers/usb/gadget/udc/aspeed-vhub/epn.c
507
if (WARN_ON(ep->d_idx == 0))
drivers/usb/gadget/udc/aspeed-vhub/epn.c
509
reg = readl(ep->epn.regs + AST_VHUB_EP_CONFIG);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
51
if (chunk > ep->ep.maxpacket)
drivers/usb/gadget/udc/aspeed-vhub/epn.c
510
if (ep->epn.stalled || ep->epn.wedged)
drivers/usb/gadget/udc/aspeed-vhub/epn.c
514
writel(reg, ep->epn.regs + AST_VHUB_EP_CONFIG);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
516
if (!ep->epn.stalled && !ep->epn.wedged)
drivers/usb/gadget/udc/aspeed-vhub/epn.c
517
writel(VHUB_EP_TOGGLE_SET_EPNUM(ep->epn.g_idx),
drivers/usb/gadget/udc/aspeed-vhub/epn.c
518
ep->vhub->regs + AST_VHUB_EP_TOGGLE);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
52
chunk = ep->ep.maxpacket;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
524
struct ast_vhub_ep *ep = to_ast_ep(u_ep);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
525
struct ast_vhub *vhub = ep->vhub;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
528
EPDBG(ep, "Set halt (%d) & wedge (%d)\n", halt, wedge);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
53
else if ((chunk < ep->ep.maxpacket) || !req->req.zero)
drivers/usb/gadget/udc/aspeed-vhub/epn.c
532
if (ep->d_idx == 0)
drivers/usb/gadget/udc/aspeed-vhub/epn.c
534
if (ep->epn.is_iso)
drivers/usb/gadget/udc/aspeed-vhub/epn.c
540
if (halt && ep->epn.is_in && !list_empty(&ep->queue)) {
drivers/usb/gadget/udc/aspeed-vhub/epn.c
544
ep->epn.stalled = halt;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
545
ep->epn.wedged = wedge;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
546
ast_vhub_update_epn_stall(ep);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
56
EPVDBG(ep, "kick req %p act=%d/%d chunk=%d last=%d\n",
drivers/usb/gadget/udc/aspeed-vhub/epn.c
565
struct ast_vhub_ep *ep = to_ast_ep(u_ep);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
566
struct ast_vhub *vhub = ep->vhub;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
570
EPDBG(ep, "Disabling !\n");
drivers/usb/gadget/udc/aspeed-vhub/epn.c
574
ep->epn.enabled = false;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
577
ast_vhub_stop_active_req(ep, false);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
580
writel(0, ep->epn.regs + AST_VHUB_EP_CONFIG);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
583
imask = VHUB_EP_IRQ(ep->epn.g_idx);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
590
ast_vhub_nuke(ep, -ESHUTDOWN);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
593
ep->ep.desc = NULL;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
603
struct ast_vhub_ep *ep = to_ast_ep(u_ep);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
615
if (!ep->d_idx || !ep->dev ||
drivers/usb/gadget/udc/aspeed-vhub/epn.c
617
maxpacket == 0 || maxpacket > ep->ep.maxpacket) {
drivers/usb/gadget/udc/aspeed-vhub/epn.c
618
EPDBG(ep, "Invalid EP enable,d_idx=%d,dev=%p,type=%d,mp=%d/%d\n",
drivers/usb/gadget/udc/aspeed-vhub/epn.c
619
ep->d_idx, ep->dev, desc->bDescriptorType,
drivers/usb/gadget/udc/aspeed-vhub/epn.c
620
maxpacket, ep->ep.maxpacket);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
623
if (ep->d_idx != usb_endpoint_num(desc)) {
drivers/usb/gadget/udc/aspeed-vhub/epn.c
624
EPDBG(ep, "EP number mismatch !\n");
drivers/usb/gadget/udc/aspeed-vhub/epn.c
628
if (ep->epn.enabled) {
drivers/usb/gadget/udc/aspeed-vhub/epn.c
629
EPDBG(ep, "Already enabled\n");
drivers/usb/gadget/udc/aspeed-vhub/epn.c
63
if (ep->epn.is_in) {
drivers/usb/gadget/udc/aspeed-vhub/epn.c
632
dev = ep->dev;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
633
vhub = ep->vhub;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
637
EPDBG(ep, "Bogus device state: driver=%p speed=%d\n",
drivers/usb/gadget/udc/aspeed-vhub/epn.c
64
memcpy(ep->buf, req->req.buf + act, chunk);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
643
ep->epn.is_in = usb_endpoint_dir_in(desc);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
644
ep->ep.maxpacket = maxpacket;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
646
ep->epn.d_next = ep->epn.d_last = 0;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
647
ep->epn.is_iso = false;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
648
ep->epn.stalled = false;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
649
ep->epn.wedged = false;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
65
vhub_dma_workaround(ep->buf);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
651
EPDBG(ep, "Enabling [%s] %s num %d maxpacket=%d\n",
drivers/usb/gadget/udc/aspeed-vhub/epn.c
652
ep->epn.is_in ? "in" : "out", usb_ep_type_string(type),
drivers/usb/gadget/udc/aspeed-vhub/epn.c
656
ep->epn.desc_mode = ep->epn.descs && ep->epn.is_in;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
657
if (ep->epn.desc_mode)
drivers/usb/gadget/udc/aspeed-vhub/epn.c
658
memset(ep->epn.descs, 0, 8 * AST_VHUB_DESCS_COUNT);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
664
ep->epn.chunk_max = ep->ep.maxpacket;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
665
if (ep->epn.is_in) {
drivers/usb/gadget/udc/aspeed-vhub/epn.c
666
ep->epn.chunk_max <<= 3;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
667
while (ep->epn.chunk_max > 4095)
drivers/usb/gadget/udc/aspeed-vhub/epn.c
668
ep->epn.chunk_max -= ep->ep.maxpacket;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
67
writel(ep->buf_dma, ep->epn.regs + AST_VHUB_EP_DESC_BASE);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
673
EPDBG(ep, "Only one control endpoint\n");
drivers/usb/gadget/udc/aspeed-vhub/epn.c
683
ep->epn.is_iso = true;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
69
if (ep->epn.is_in)
drivers/usb/gadget/udc/aspeed-vhub/epn.c
692
if (!ep->epn.is_in)
drivers/usb/gadget/udc/aspeed-vhub/epn.c
697
EPVDBG(ep, "config=%08x\n", ep_conf);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
702
writel(0, ep->epn.regs + AST_VHUB_EP_CONFIG);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
704
ep->epn.regs + AST_VHUB_EP_DMA_CTLSTAT);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
707
writel(ep_conf, ep->epn.regs + AST_VHUB_EP_CONFIG);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
709
if (ep->epn.desc_mode) {
drivers/usb/gadget/udc/aspeed-vhub/epn.c
71
writel(req->req.dma + act, ep->epn.regs + AST_VHUB_EP_DESC_BASE);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
711
writel(0, ep->epn.regs + AST_VHUB_EP_DESC_STATUS);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
714
writel(ep->epn.descs_dma,
drivers/usb/gadget/udc/aspeed-vhub/epn.c
715
ep->epn.regs + AST_VHUB_EP_DESC_BASE);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
718
ep->epn.dma_conf = VHUB_EP_DMA_DESC_MODE;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
719
if (ep->epn.is_in)
drivers/usb/gadget/udc/aspeed-vhub/epn.c
720
ep->epn.dma_conf |= VHUB_EP_DMA_IN_LONG_MODE;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
723
writel(ep->epn.dma_conf | VHUB_EP_DMA_CTRL_RESET,
drivers/usb/gadget/udc/aspeed-vhub/epn.c
724
ep->epn.regs + AST_VHUB_EP_DMA_CTLSTAT);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
727
writel(ep->epn.dma_conf,
drivers/usb/gadget/udc/aspeed-vhub/epn.c
728
ep->epn.regs + AST_VHUB_EP_DMA_CTLSTAT);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
731
ep->epn.dma_conf = VHUB_EP_DMA_SINGLE_STAGE;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
734
writel(ep->epn.dma_conf | VHUB_EP_DMA_CTRL_RESET,
drivers/usb/gadget/udc/aspeed-vhub/epn.c
735
ep->epn.regs + AST_VHUB_EP_DMA_CTLSTAT);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
736
writel(ep->epn.dma_conf,
drivers/usb/gadget/udc/aspeed-vhub/epn.c
737
ep->epn.regs + AST_VHUB_EP_DMA_CTLSTAT);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
738
writel(0, ep->epn.regs + AST_VHUB_EP_DESC_STATUS);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
742
writel(VHUB_EP_TOGGLE_SET_EPNUM(ep->epn.g_idx),
drivers/usb/gadget/udc/aspeed-vhub/epn.c
746
imask = VHUB_EP_IRQ(ep->epn.g_idx);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
753
ep->epn.enabled = true;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
762
struct ast_vhub_ep *ep = to_ast_ep(u_ep);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
764
if (WARN_ON(!ep->dev || !ep->d_idx))
drivers/usb/gadget/udc/aspeed-vhub/epn.c
767
EPDBG(ep, "Releasing endpoint\n");
drivers/usb/gadget/udc/aspeed-vhub/epn.c
77
ep->epn.regs + AST_VHUB_EP_DESC_STATUS);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
770
list_del_init(&ep->ep.ep_list);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
773
ep->dev->epns[ep->d_idx - 1] = NULL;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
776
kfree(ep->ep.name);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
777
ep->ep.name = NULL;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
778
dma_free_coherent(&ep->vhub->pdev->dev,
drivers/usb/gadget/udc/aspeed-vhub/epn.c
781
ep->buf, ep->buf_dma);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
782
ep->buf = NULL;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
783
ep->epn.descs = NULL;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
786
ep->dev = NULL;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
79
ep->epn.regs + AST_VHUB_EP_DESC_STATUS);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
804
struct ast_vhub_ep *ep;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
819
ep = &vhub->epns[i];
drivers/usb/gadget/udc/aspeed-vhub/epn.c
82
static void ast_vhub_epn_handle_ack(struct ast_vhub_ep *ep)
drivers/usb/gadget/udc/aspeed-vhub/epn.c
820
ep->dev = d;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
824
INIT_LIST_HEAD(&ep->queue);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
825
ep->d_idx = addr;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
826
ep->vhub = vhub;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
827
ep->ep.ops = &ast_vhub_epn_ops;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
828
ep->ep.name = kasprintf(GFP_KERNEL, "ep%d", addr);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
829
d->epns[addr-1] = ep;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
830
ep->epn.g_idx = i;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
831
ep->epn.regs = vhub->regs + 0x200 + (i * 0x10);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
833
ep->buf = dma_alloc_coherent(&vhub->pdev->dev,
drivers/usb/gadget/udc/aspeed-vhub/epn.c
836
&ep->buf_dma, GFP_KERNEL);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
837
if (!ep->buf) {
drivers/usb/gadget/udc/aspeed-vhub/epn.c
838
kfree(ep->ep.name);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
839
ep->ep.name = NULL;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
842
ep->epn.descs = ep->buf + AST_VHUB_EPn_MAX_PACKET;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
843
ep->epn.descs_dma = ep->buf_dma + AST_VHUB_EPn_MAX_PACKET;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
845
usb_ep_set_maxpacket_limit(&ep->ep, AST_VHUB_EPn_MAX_PACKET);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
846
list_add_tail(&ep->ep.ep_list, &d->gadget.ep_list);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
847
ep->ep.caps.type_iso = true;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
848
ep->ep.caps.type_bulk = true;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
849
ep->ep.caps.type_int = true;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
850
ep->ep.caps.dir_in = true;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
851
ep->ep.caps.dir_out = true;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
853
return ep;
drivers/usb/gadget/udc/aspeed-vhub/epn.c
90
stat = readl(ep->epn.regs + AST_VHUB_EP_DESC_STATUS);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
93
req = list_first_entry_or_null(&ep->queue, struct ast_vhub_req, queue);
drivers/usb/gadget/udc/aspeed-vhub/epn.c
95
EPVDBG(ep, "ACK status=%08x is_in=%d, req=%p (active=%d)\n",
drivers/usb/gadget/udc/aspeed-vhub/epn.c
96
stat, ep->epn.is_in, req, req ? req->active : 0);
drivers/usb/gadget/udc/aspeed-vhub/hub.c
121
.ep = {
drivers/usb/gadget/udc/aspeed-vhub/hub.c
169
static int ast_vhub_hub_dev_status(struct ast_vhub_ep *ep,
drivers/usb/gadget/udc/aspeed-vhub/hub.c
174
EPDBG(ep, "GET_STATUS(dev)\n");
drivers/usb/gadget/udc/aspeed-vhub/hub.c
186
if (ep->vhub->wakeup_en)
drivers/usb/gadget/udc/aspeed-vhub/hub.c
189
return ast_vhub_simple_reply(ep, st0, 0);
drivers/usb/gadget/udc/aspeed-vhub/hub.c
192
static int ast_vhub_hub_ep_status(struct ast_vhub_ep *ep,
drivers/usb/gadget/udc/aspeed-vhub/hub.c
199
EPDBG(ep, "GET_STATUS(ep%d)\n", ep_num);
drivers/usb/gadget/udc/aspeed-vhub/hub.c
203
if (ep->vhub->ep1_stalled)
drivers/usb/gadget/udc/aspeed-vhub/hub.c
208
return ast_vhub_simple_reply(ep, st0, 0);
drivers/usb/gadget/udc/aspeed-vhub/hub.c
211
static int ast_vhub_hub_dev_feature(struct ast_vhub_ep *ep,
drivers/usb/gadget/udc/aspeed-vhub/hub.c
217
EPDBG(ep, "%s_FEATURE(dev val=%02x)\n",
drivers/usb/gadget/udc/aspeed-vhub/hub.c
221
ep->vhub->wakeup_en = is_set;
drivers/usb/gadget/udc/aspeed-vhub/hub.c
222
EPDBG(ep, "Hub remote wakeup %s\n",
drivers/usb/gadget/udc/aspeed-vhub/hub.c
228
val = readl(ep->vhub->regs + AST_VHUB_CTRL);
drivers/usb/gadget/udc/aspeed-vhub/hub.c
231
writel(val, ep->vhub->regs + AST_VHUB_CTRL);
drivers/usb/gadget/udc/aspeed-vhub/hub.c
239
static int ast_vhub_hub_ep_feature(struct ast_vhub_ep *ep,
drivers/usb/gadget/udc/aspeed-vhub/hub.c
247
EPDBG(ep, "%s_FEATURE(ep%d val=%02x)\n",
drivers/usb/gadget/udc/aspeed-vhub/hub.c
257
EPDBG(ep, "%s stall on EP 1\n",
drivers/usb/gadget/udc/aspeed-vhub/hub.c
260
ep->vhub->ep1_stalled = is_set;
drivers/usb/gadget/udc/aspeed-vhub/hub.c
261
reg = readl(ep->vhub->regs + AST_VHUB_EP1_CTRL);
drivers/usb/gadget/udc/aspeed-vhub/hub.c
268
writel(reg, ep->vhub->regs + AST_VHUB_EP1_CTRL);
drivers/usb/gadget/udc/aspeed-vhub/hub.c
273
static int ast_vhub_rep_desc(struct ast_vhub_ep *ep,
drivers/usb/gadget/udc/aspeed-vhub/hub.c
277
struct ast_vhub *vhub = ep->vhub;
drivers/usb/gadget/udc/aspeed-vhub/hub.c
279
EPDBG(ep, "GET_DESCRIPTOR(type:%d)\n", desc_type);
drivers/usb/gadget/udc/aspeed-vhub/hub.c
293
memcpy(ep->buf, &vhub->vhub_dev_desc, dsize);
drivers/usb/gadget/udc/aspeed-vhub/hub.c
300
memcpy(ep->buf, &vhub->vhub_conf_desc, dsize);
drivers/usb/gadget/udc/aspeed-vhub/hub.c
301
((u8 *)ep->buf)[1] = desc_type;
drivers/usb/gadget/udc/aspeed-vhub/hub.c
307
memcpy(ep->buf, &vhub->vhub_hub_desc, dsize);
drivers/usb/gadget/udc/aspeed-vhub/hub.c
313
memcpy(ep->buf, &vhub->vhub_qual_desc, dsize);
drivers/usb/gadget/udc/aspeed-vhub/hub.c
324
return ast_vhub_reply(ep, NULL, len);
drivers/usb/gadget/udc/aspeed-vhub/hub.c
374
static int ast_vhub_rep_string(struct ast_vhub_ep *ep,
drivers/usb/gadget/udc/aspeed-vhub/hub.c
380
struct ast_vhub *vhub = ep->vhub;
drivers/usb/gadget/udc/aspeed-vhub/hub.c
397
memcpy(ep->buf, buf, rc);
drivers/usb/gadget/udc/aspeed-vhub/hub.c
398
return ast_vhub_reply(ep, NULL, min_t(u16, rc, len));
drivers/usb/gadget/udc/aspeed-vhub/hub.c
401
enum std_req_rc ast_vhub_std_hub_request(struct ast_vhub_ep *ep,
drivers/usb/gadget/udc/aspeed-vhub/hub.c
404
struct ast_vhub *vhub = ep->vhub;
drivers/usb/gadget/udc/aspeed-vhub/hub.c
425
EPDBG(ep, "SET_ADDRESS: Got address %x\n", wValue);
drivers/usb/gadget/udc/aspeed-vhub/hub.c
431
return ast_vhub_hub_dev_status(ep, wIndex, wValue);
drivers/usb/gadget/udc/aspeed-vhub/hub.c
433
return ast_vhub_simple_reply(ep, 0, 0);
drivers/usb/gadget/udc/aspeed-vhub/hub.c
435
return ast_vhub_hub_ep_status(ep, wIndex, wValue);
drivers/usb/gadget/udc/aspeed-vhub/hub.c
439
return ast_vhub_hub_dev_feature(ep, wIndex, wValue, true);
drivers/usb/gadget/udc/aspeed-vhub/hub.c
441
return ast_vhub_hub_dev_feature(ep, wIndex, wValue, false);
drivers/usb/gadget/udc/aspeed-vhub/hub.c
443
return ast_vhub_hub_ep_feature(ep, wIndex, wValue, true);
drivers/usb/gadget/udc/aspeed-vhub/hub.c
445
return ast_vhub_hub_ep_feature(ep, wIndex, wValue, false);
drivers/usb/gadget/udc/aspeed-vhub/hub.c
449
return ast_vhub_simple_reply(ep, 1);
drivers/usb/gadget/udc/aspeed-vhub/hub.c
462
return ast_vhub_rep_desc(ep, wValue >> 8,
drivers/usb/gadget/udc/aspeed-vhub/hub.c
465
return ast_vhub_rep_string(ep, wValue & 0xff,
drivers/usb/gadget/udc/aspeed-vhub/hub.c
472
return ast_vhub_simple_reply(ep, 0);
drivers/usb/gadget/udc/aspeed-vhub/hub.c
652
static enum std_req_rc ast_vhub_set_port_feature(struct ast_vhub_ep *ep,
drivers/usb/gadget/udc/aspeed-vhub/hub.c
655
struct ast_vhub *vhub = ep->vhub;
drivers/usb/gadget/udc/aspeed-vhub/hub.c
673
EPDBG(ep, "Port reset !\n");
drivers/usb/gadget/udc/aspeed-vhub/hub.c
695
static enum std_req_rc ast_vhub_clr_port_feature(struct ast_vhub_ep *ep,
drivers/usb/gadget/udc/aspeed-vhub/hub.c
698
struct ast_vhub *vhub = ep->vhub;
drivers/usb/gadget/udc/aspeed-vhub/hub.c
741
static enum std_req_rc ast_vhub_get_port_stat(struct ast_vhub_ep *ep,
drivers/usb/gadget/udc/aspeed-vhub/hub.c
744
struct ast_vhub *vhub = ep->vhub;
drivers/usb/gadget/udc/aspeed-vhub/hub.c
757
EPDBG(ep, " port status=%04x change=%04x\n", stat, chg);
drivers/usb/gadget/udc/aspeed-vhub/hub.c
759
return ast_vhub_simple_reply(ep,
drivers/usb/gadget/udc/aspeed-vhub/hub.c
766
enum std_req_rc ast_vhub_class_hub_request(struct ast_vhub_ep *ep,
drivers/usb/gadget/udc/aspeed-vhub/hub.c
777
EPDBG(ep, "GetHubStatus\n");
drivers/usb/gadget/udc/aspeed-vhub/hub.c
778
return ast_vhub_simple_reply(ep, 0, 0, 0, 0);
drivers/usb/gadget/udc/aspeed-vhub/hub.c
780
EPDBG(ep, "GetPortStatus(%d)\n", wIndex & 0xff);
drivers/usb/gadget/udc/aspeed-vhub/hub.c
781
return ast_vhub_get_port_stat(ep, wIndex & 0xf);
drivers/usb/gadget/udc/aspeed-vhub/hub.c
785
EPDBG(ep, "GetHubDescriptor(%d)\n", wIndex & 0xff);
drivers/usb/gadget/udc/aspeed-vhub/hub.c
786
return ast_vhub_rep_desc(ep, USB_DT_HUB, wLength);
drivers/usb/gadget/udc/aspeed-vhub/hub.c
789
EPDBG(ep, "Get/SetHubFeature(%d)\n", wValue);
drivers/usb/gadget/udc/aspeed-vhub/hub.c
796
EPDBG(ep, "SetPortFeature(%d,%d)\n", wIndex & 0xf, wValue);
drivers/usb/gadget/udc/aspeed-vhub/hub.c
797
return ast_vhub_set_port_feature(ep, wIndex & 0xf, wValue);
drivers/usb/gadget/udc/aspeed-vhub/hub.c
799
EPDBG(ep, "ClearPortFeature(%d,%d)\n", wIndex & 0xf, wValue);
drivers/usb/gadget/udc/aspeed-vhub/hub.c
800
return ast_vhub_clr_port_feature(ep, wIndex & 0xf, wValue);
drivers/usb/gadget/udc/aspeed-vhub/hub.c
806
return ast_vhub_simple_reply(ep, 0, 0, 0, 0);
drivers/usb/gadget/udc/aspeed-vhub/hub.c
808
EPDBG(ep, "Unknown class request\n");
drivers/usb/gadget/udc/aspeed-vhub/vhub.h
269
struct usb_ep ep;
drivers/usb/gadget/udc/aspeed-vhub/vhub.h
338
#define to_ast_ep(__uep) container_of(__uep, struct ast_vhub_ep, ep)
drivers/usb/gadget/udc/aspeed-vhub/vhub.h
380
struct usb_endpoint_descriptor ep;
drivers/usb/gadget/udc/aspeed-vhub/vhub.h
443
#define EPVDBG(ep, fmt, ...) do { \
drivers/usb/gadget/udc/aspeed-vhub/vhub.h
444
dev_dbg(&(ep)->vhub->pdev->dev, \
drivers/usb/gadget/udc/aspeed-vhub/vhub.h
446
(ep)->dev ? (ep)->dev->name : "hub", \
drivers/usb/gadget/udc/aspeed-vhub/vhub.h
447
(ep)->d_idx, ##__VA_ARGS__); \
drivers/usb/gadget/udc/aspeed-vhub/vhub.h
458
#define EPVDBG(ep, fmt, ...) do { } while(0)
drivers/usb/gadget/udc/aspeed-vhub/vhub.h
465
#define EPDBG(ep, fmt, ...) do { \
drivers/usb/gadget/udc/aspeed-vhub/vhub.h
466
dev_dbg(&(ep)->vhub->pdev->dev, \
drivers/usb/gadget/udc/aspeed-vhub/vhub.h
468
(ep)->dev ? (ep)->dev->name : "hub", \
drivers/usb/gadget/udc/aspeed-vhub/vhub.h
469
(ep)->d_idx, ##__VA_ARGS__); \
drivers/usb/gadget/udc/aspeed-vhub/vhub.h
479
#define EPDBG(ep, fmt, ...) do { } while(0)
drivers/usb/gadget/udc/aspeed-vhub/vhub.h
517
void ast_vhub_done(struct ast_vhub_ep *ep, struct ast_vhub_req *req,
drivers/usb/gadget/udc/aspeed-vhub/vhub.h
519
void ast_vhub_nuke(struct ast_vhub_ep *ep, int status);
drivers/usb/gadget/udc/aspeed-vhub/vhub.h
526
void ast_vhub_ep0_handle_ack(struct ast_vhub_ep *ep, bool in_ack);
drivers/usb/gadget/udc/aspeed-vhub/vhub.h
527
void ast_vhub_ep0_handle_setup(struct ast_vhub_ep *ep);
drivers/usb/gadget/udc/aspeed-vhub/vhub.h
529
void ast_vhub_init_ep0(struct ast_vhub *vhub, struct ast_vhub_ep *ep,
drivers/usb/gadget/udc/aspeed-vhub/vhub.h
531
int ast_vhub_reply(struct ast_vhub_ep *ep, char *ptr, int len);
drivers/usb/gadget/udc/aspeed-vhub/vhub.h
532
int __ast_vhub_simple_reply(struct ast_vhub_ep *ep, int len, ...);
drivers/usb/gadget/udc/aspeed-vhub/vhub.h
540
enum std_req_rc ast_vhub_std_hub_request(struct ast_vhub_ep *ep,
drivers/usb/gadget/udc/aspeed-vhub/vhub.h
542
enum std_req_rc ast_vhub_class_hub_request(struct ast_vhub_ep *ep,
drivers/usb/gadget/udc/aspeed-vhub/vhub.h
555
int ast_vhub_std_dev_request(struct ast_vhub_ep *ep,
drivers/usb/gadget/udc/aspeed-vhub/vhub.h
559
void ast_vhub_epn_ack_irq(struct ast_vhub_ep *ep);
drivers/usb/gadget/udc/aspeed-vhub/vhub.h
560
void ast_vhub_update_epn_stall(struct ast_vhub_ep *ep);
drivers/usb/gadget/udc/aspeed_udc.c
1014
status = udc->ep[epnum].stopped;
drivers/usb/gadget/udc/aspeed_udc.c
1020
ep = &udc->ep[epnum];
drivers/usb/gadget/udc/aspeed_udc.c
1021
EP_DBG(ep, "status: 0x%x\n", status);
drivers/usb/gadget/udc/aspeed_udc.c
1027
EP_DBG(ep, "Can't respond request\n");
drivers/usb/gadget/udc/aspeed_udc.c
1034
struct ast_udc_ep *ep = &udc->ep[0];
drivers/usb/gadget/udc/aspeed_udc.c
1051
list_for_each_entry(req, &udc->ep[0].queue, queue) {
drivers/usb/gadget/udc/aspeed_udc.c
1053
EP_DBG(ep, "there is req %p in ep0 queue !\n", req);
drivers/usb/gadget/udc/aspeed_udc.c
1057
ast_udc_nuke(&udc->ep[0], -ETIMEDOUT);
drivers/usb/gadget/udc/aspeed_udc.c
1059
udc->ep[0].dir_in = crq.bRequestType & USB_DIR_IN;
drivers/usb/gadget/udc/aspeed_udc.c
1124
struct ast_udc_ep *ep;
drivers/usb/gadget/udc/aspeed_udc.c
1141
ep = &udc->ep[1];
drivers/usb/gadget/udc/aspeed_udc.c
1142
EP_DBG(ep, "dctrl:0x%x\n",
drivers/usb/gadget/udc/aspeed_udc.c
1143
ast_ep_read(ep, AST_UDC_EP_DMA_CTRL));
drivers/usb/gadget/udc/aspeed_udc.c
1200
ep = &udc->ep[i + 1];
drivers/usb/gadget/udc/aspeed_udc.c
1201
if (ep->desc_mode)
drivers/usb/gadget/udc/aspeed_udc.c
1297
struct ast_udc_ep *ep;
drivers/usb/gadget/udc/aspeed_udc.c
1308
ep = &udc->ep[i];
drivers/usb/gadget/udc/aspeed_udc.c
1309
ep->stopped = 0;
drivers/usb/gadget/udc/aspeed_udc.c
1355
struct ast_udc_ep *ep;
drivers/usb/gadget/udc/aspeed_udc.c
1359
ep = &udc->ep[i];
drivers/usb/gadget/udc/aspeed_udc.c
1360
ep->ep.name = ast_ep_name[i];
drivers/usb/gadget/udc/aspeed_udc.c
1362
ep->ep.caps.type_control = true;
drivers/usb/gadget/udc/aspeed_udc.c
1364
ep->ep.caps.type_iso = true;
drivers/usb/gadget/udc/aspeed_udc.c
1365
ep->ep.caps.type_bulk = true;
drivers/usb/gadget/udc/aspeed_udc.c
1366
ep->ep.caps.type_int = true;
drivers/usb/gadget/udc/aspeed_udc.c
1368
ep->ep.caps.dir_in = true;
drivers/usb/gadget/udc/aspeed_udc.c
1369
ep->ep.caps.dir_out = true;
drivers/usb/gadget/udc/aspeed_udc.c
1371
ep->ep.ops = &ast_udc_ep_ops;
drivers/usb/gadget/udc/aspeed_udc.c
1372
ep->udc = udc;
drivers/usb/gadget/udc/aspeed_udc.c
1374
INIT_LIST_HEAD(&ep->queue);
drivers/usb/gadget/udc/aspeed_udc.c
1377
usb_ep_set_maxpacket_limit(&ep->ep,
drivers/usb/gadget/udc/aspeed_udc.c
1382
ep->ep_reg = udc->reg + AST_UDC_EP_BASE +
drivers/usb/gadget/udc/aspeed_udc.c
1385
ep->epn_buf = udc->ep0_buf + (i * AST_UDC_EP_DMA_SIZE);
drivers/usb/gadget/udc/aspeed_udc.c
1386
ep->epn_buf_dma = udc->ep0_buf_dma + (i * AST_UDC_EP_DMA_SIZE);
drivers/usb/gadget/udc/aspeed_udc.c
1387
usb_ep_set_maxpacket_limit(&ep->ep, AST_UDC_EPn_MAX_PACKET);
drivers/usb/gadget/udc/aspeed_udc.c
1389
ep->descs = ep->epn_buf + AST_UDC_EPn_MAX_PACKET;
drivers/usb/gadget/udc/aspeed_udc.c
1390
ep->descs_dma = ep->epn_buf_dma + AST_UDC_EPn_MAX_PACKET;
drivers/usb/gadget/udc/aspeed_udc.c
1391
ep->descs_wptr = 0;
drivers/usb/gadget/udc/aspeed_udc.c
1393
list_add_tail(&ep->ep.ep_list, &udc->gadget.ep_list);
drivers/usb/gadget/udc/aspeed_udc.c
1491
udc->gadget.ep0 = &udc->ep[0].ep;
drivers/usb/gadget/udc/aspeed_udc.c
177
struct usb_ep ep;
drivers/usb/gadget/udc/aspeed_udc.c
199
#define to_ast_ep(__ep) container_of(__ep, struct ast_udc_ep, ep)
drivers/usb/gadget/udc/aspeed_udc.c
212
struct ast_udc_ep ep[AST_UDC_NUM_ENDPOINTS];
drivers/usb/gadget/udc/aspeed_udc.c
249
(e)->ep.name, ##__VA_ARGS__)
drivers/usb/gadget/udc/aspeed_udc.c
251
#define EP_DBG(ep, fmt, ...) ((void)(ep))
drivers/usb/gadget/udc/aspeed_udc.c
274
#define ast_ep_read(ep, reg) \
drivers/usb/gadget/udc/aspeed_udc.c
275
readl((ep)->ep_reg + (reg))
drivers/usb/gadget/udc/aspeed_udc.c
276
#define ast_ep_write(ep, val, reg) \
drivers/usb/gadget/udc/aspeed_udc.c
277
writel((val), (ep)->ep_reg + (reg))
drivers/usb/gadget/udc/aspeed_udc.c
281
static void ast_udc_done(struct ast_udc_ep *ep, struct ast_udc_request *req,
drivers/usb/gadget/udc/aspeed_udc.c
284
struct ast_udc_dev *udc = ep->udc;
drivers/usb/gadget/udc/aspeed_udc.c
286
EP_DBG(ep, "req @%p, len (%d/%d), buf:0x%x, dir:0x%x\n",
drivers/usb/gadget/udc/aspeed_udc.c
288
(u32)req->req.buf, ep->dir_in);
drivers/usb/gadget/udc/aspeed_udc.c
298
EP_DBG(ep, "done req:%p, status:%d\n", req, status);
drivers/usb/gadget/udc/aspeed_udc.c
301
usb_gadget_giveback_request(&ep->ep, &req->req);
drivers/usb/gadget/udc/aspeed_udc.c
305
static void ast_udc_nuke(struct ast_udc_ep *ep, int status)
drivers/usb/gadget/udc/aspeed_udc.c
309
while (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/aspeed_udc.c
312
req = list_entry(ep->queue.next, struct ast_udc_request,
drivers/usb/gadget/udc/aspeed_udc.c
314
ast_udc_done(ep, req, status);
drivers/usb/gadget/udc/aspeed_udc.c
319
EP_DBG(ep, "Nuked %d request(s)\n", count);
drivers/usb/gadget/udc/aspeed_udc.c
331
struct ast_udc_ep *ep;
drivers/usb/gadget/udc/aspeed_udc.c
335
ep = &udc->ep[i];
drivers/usb/gadget/udc/aspeed_udc.c
336
ep->stopped = 1;
drivers/usb/gadget/udc/aspeed_udc.c
337
ast_udc_nuke(ep, -ESHUTDOWN);
drivers/usb/gadget/udc/aspeed_udc.c
345
struct ast_udc_ep *ep = to_ast_ep(_ep);
drivers/usb/gadget/udc/aspeed_udc.c
346
struct ast_udc_dev *udc = ep->udc;
drivers/usb/gadget/udc/aspeed_udc.c
353
if (!_ep || !ep || !desc || desc->bDescriptorType != USB_DT_ENDPOINT ||
drivers/usb/gadget/udc/aspeed_udc.c
354
maxpacket == 0 || maxpacket > ep->ep.maxpacket) {
drivers/usb/gadget/udc/aspeed_udc.c
355
EP_DBG(ep, "Failed, invalid EP enable param\n");
drivers/usb/gadget/udc/aspeed_udc.c
360
EP_DBG(ep, "bogus device state\n");
drivers/usb/gadget/udc/aspeed_udc.c
364
EP_DBG(ep, "maxpacket:0x%x\n", maxpacket);
drivers/usb/gadget/udc/aspeed_udc.c
368
ep->desc = desc;
drivers/usb/gadget/udc/aspeed_udc.c
369
ep->stopped = 0;
drivers/usb/gadget/udc/aspeed_udc.c
370
ep->ep.maxpacket = maxpacket;
drivers/usb/gadget/udc/aspeed_udc.c
371
ep->chunk_max = AST_EP_DMA_DESC_MAX_LEN;
drivers/usb/gadget/udc/aspeed_udc.c
380
ep->dir_in = dir_in;
drivers/usb/gadget/udc/aspeed_udc.c
381
if (!ep->dir_in)
drivers/usb/gadget/udc/aspeed_udc.c
384
EP_DBG(ep, "type %d, dir_in %d\n", type, dir_in);
drivers/usb/gadget/udc/aspeed_udc.c
399
ep->desc_mode = udc->desc_mode && ep->descs_dma && ep->dir_in;
drivers/usb/gadget/udc/aspeed_udc.c
400
if (ep->desc_mode) {
drivers/usb/gadget/udc/aspeed_udc.c
401
ast_ep_write(ep, EP_DMA_CTRL_RESET, AST_UDC_EP_DMA_CTRL);
drivers/usb/gadget/udc/aspeed_udc.c
402
ast_ep_write(ep, 0, AST_UDC_EP_DMA_STS);
drivers/usb/gadget/udc/aspeed_udc.c
403
ast_ep_write(ep, ep->descs_dma, AST_UDC_EP_DMA_BUFF);
drivers/usb/gadget/udc/aspeed_udc.c
406
ast_ep_write(ep, EP_DMA_CTRL_IN_LONG_MODE | EP_DMA_DESC_MODE,
drivers/usb/gadget/udc/aspeed_udc.c
409
ep->descs_wptr = 0;
drivers/usb/gadget/udc/aspeed_udc.c
412
ast_ep_write(ep, EP_DMA_CTRL_RESET, AST_UDC_EP_DMA_CTRL);
drivers/usb/gadget/udc/aspeed_udc.c
413
ast_ep_write(ep, EP_DMA_SINGLE_STAGE, AST_UDC_EP_DMA_CTRL);
drivers/usb/gadget/udc/aspeed_udc.c
414
ast_ep_write(ep, 0, AST_UDC_EP_DMA_STS);
drivers/usb/gadget/udc/aspeed_udc.c
421
ast_ep_write(ep, ep_conf | EP_ENABLE, AST_UDC_EP_CONFIG);
drivers/usb/gadget/udc/aspeed_udc.c
423
EP_DBG(ep, "ep_config: 0x%x\n", ast_ep_read(ep, AST_UDC_EP_CONFIG));
drivers/usb/gadget/udc/aspeed_udc.c
432
struct ast_udc_ep *ep = to_ast_ep(_ep);
drivers/usb/gadget/udc/aspeed_udc.c
433
struct ast_udc_dev *udc = ep->udc;
drivers/usb/gadget/udc/aspeed_udc.c
438
ep->ep.desc = NULL;
drivers/usb/gadget/udc/aspeed_udc.c
439
ep->stopped = 1;
drivers/usb/gadget/udc/aspeed_udc.c
441
ast_udc_nuke(ep, -ESHUTDOWN);
drivers/usb/gadget/udc/aspeed_udc.c
442
ast_ep_write(ep, 0, AST_UDC_EP_CONFIG);
drivers/usb/gadget/udc/aspeed_udc.c
452
struct ast_udc_ep *ep = to_ast_ep(_ep);
drivers/usb/gadget/udc/aspeed_udc.c
457
EP_DBG(ep, "request allocation failed\n");
drivers/usb/gadget/udc/aspeed_udc.c
474
static int ast_dma_descriptor_setup(struct ast_udc_ep *ep, u32 dma_buf,
drivers/usb/gadget/udc/aspeed_udc.c
477
struct ast_udc_dev *udc = ep->udc;
drivers/usb/gadget/udc/aspeed_udc.c
483
if (!ep->descs) {
drivers/usb/gadget/udc/aspeed_udc.c
485
ep->ep.name);
drivers/usb/gadget/udc/aspeed_udc.c
492
EP_DBG(ep, "req @%p, %s:%d, %s:0x%x, %s:0x%x\n", req,
drivers/usb/gadget/udc/aspeed_udc.c
493
"wptr", ep->descs_wptr, "dma_buf", dma_buf,
drivers/usb/gadget/udc/aspeed_udc.c
499
ep->descs[ep->descs_wptr].des_0 = dma_buf + offset;
drivers/usb/gadget/udc/aspeed_udc.c
501
if (chunk > ep->chunk_max) {
drivers/usb/gadget/udc/aspeed_udc.c
502
ep->descs[ep->descs_wptr].des_1 = ep->chunk_max;
drivers/usb/gadget/udc/aspeed_udc.c
504
ep->descs[ep->descs_wptr].des_1 = chunk;
drivers/usb/gadget/udc/aspeed_udc.c
508
chunk -= ep->chunk_max;
drivers/usb/gadget/udc/aspeed_udc.c
510
EP_DBG(ep, "descs[%d]: 0x%x 0x%x\n",
drivers/usb/gadget/udc/aspeed_udc.c
511
ep->descs_wptr,
drivers/usb/gadget/udc/aspeed_udc.c
512
ep->descs[ep->descs_wptr].des_0,
drivers/usb/gadget/udc/aspeed_udc.c
513
ep->descs[ep->descs_wptr].des_1);
drivers/usb/gadget/udc/aspeed_udc.c
516
req->saved_dma_wptr = ep->descs_wptr;
drivers/usb/gadget/udc/aspeed_udc.c
518
ep->descs_wptr++;
drivers/usb/gadget/udc/aspeed_udc.c
521
if (ep->descs_wptr >= AST_UDC_DESCS_COUNT)
drivers/usb/gadget/udc/aspeed_udc.c
522
ep->descs_wptr = 0;
drivers/usb/gadget/udc/aspeed_udc.c
524
offset = ep->chunk_max * count;
drivers/usb/gadget/udc/aspeed_udc.c
530
static void ast_udc_epn_kick(struct ast_udc_ep *ep, struct ast_udc_request *req)
drivers/usb/gadget/udc/aspeed_udc.c
536
tx_len = last > ep->ep.maxpacket ? ep->ep.maxpacket : last;
drivers/usb/gadget/udc/aspeed_udc.c
538
EP_DBG(ep, "kick req @%p, len:%d, dir:%d\n",
drivers/usb/gadget/udc/aspeed_udc.c
539
req, tx_len, ep->dir_in);
drivers/usb/gadget/udc/aspeed_udc.c
541
ast_ep_write(ep, req->req.dma + req->req.actual, AST_UDC_EP_DMA_BUFF);
drivers/usb/gadget/udc/aspeed_udc.c
544
ast_ep_write(ep, EP_DMA_SET_TX_SIZE(tx_len), AST_UDC_EP_DMA_STS);
drivers/usb/gadget/udc/aspeed_udc.c
545
ast_ep_write(ep, EP_DMA_SET_TX_SIZE(tx_len) | EP_DMA_SINGLE_KICK,
drivers/usb/gadget/udc/aspeed_udc.c
549
static void ast_udc_epn_kick_desc(struct ast_udc_ep *ep,
drivers/usb/gadget/udc/aspeed_udc.c
561
EP_DBG(ep, "kick req @%p, %s:%d, %s:0x%x, %s:0x%x (%d/%d), %s:0x%x\n",
drivers/usb/gadget/udc/aspeed_udc.c
562
req, "tx_len", tx_len, "dir_in", ep->dir_in,
drivers/usb/gadget/udc/aspeed_udc.c
567
if (!ast_dma_descriptor_setup(ep, req->req.dma + req->req.actual,
drivers/usb/gadget/udc/aspeed_udc.c
574
ast_ep_write(ep, ep->descs_wptr, AST_UDC_EP_DMA_STS);
drivers/usb/gadget/udc/aspeed_udc.c
576
EP_DBG(ep, "descs_wptr:%d, dstat:0x%x, dctrl:0x%x\n",
drivers/usb/gadget/udc/aspeed_udc.c
577
ep->descs_wptr,
drivers/usb/gadget/udc/aspeed_udc.c
578
ast_ep_read(ep, AST_UDC_EP_DMA_STS),
drivers/usb/gadget/udc/aspeed_udc.c
579
ast_ep_read(ep, AST_UDC_EP_DMA_CTRL));
drivers/usb/gadget/udc/aspeed_udc.c
582
static void ast_udc_ep0_queue(struct ast_udc_ep *ep,
drivers/usb/gadget/udc/aspeed_udc.c
585
struct ast_udc_dev *udc = ep->udc;
drivers/usb/gadget/udc/aspeed_udc.c
590
tx_len = last > ep->ep.maxpacket ? ep->ep.maxpacket : last;
drivers/usb/gadget/udc/aspeed_udc.c
595
if (ep->dir_in) {
drivers/usb/gadget/udc/aspeed_udc.c
602
"dir_in", ep->dir_in);
drivers/usb/gadget/udc/aspeed_udc.c
615
"dir_in", ep->dir_in);
drivers/usb/gadget/udc/aspeed_udc.c
620
ep->dir_in = 0x1;
drivers/usb/gadget/udc/aspeed_udc.c
630
struct ast_udc_ep *ep = to_ast_ep(_ep);
drivers/usb/gadget/udc/aspeed_udc.c
631
struct ast_udc_dev *udc = ep->udc;
drivers/usb/gadget/udc/aspeed_udc.c
641
if (ep->stopped) {
drivers/usb/gadget/udc/aspeed_udc.c
648
list_add_tail(&req->queue, &ep->queue);
drivers/usb/gadget/udc/aspeed_udc.c
654
rc = usb_gadget_map_request(&udc->gadget, &req->req, ep->dir_in);
drivers/usb/gadget/udc/aspeed_udc.c
656
EP_DBG(ep, "Request mapping failure %d\n", rc);
drivers/usb/gadget/udc/aspeed_udc.c
661
EP_DBG(ep, "enqueue req @%p\n", req);
drivers/usb/gadget/udc/aspeed_udc.c
662
EP_DBG(ep, "l=%d, dma:0x%x, zero:%d, is_in:%d\n",
drivers/usb/gadget/udc/aspeed_udc.c
663
_req->length, _req->dma, _req->zero, ep->dir_in);
drivers/usb/gadget/udc/aspeed_udc.c
666
if (ep->ep.desc == NULL) {
drivers/usb/gadget/udc/aspeed_udc.c
673
ast_udc_ep0_queue(ep, req);
drivers/usb/gadget/udc/aspeed_udc.c
678
if (list_is_singular(&ep->queue)) {
drivers/usb/gadget/udc/aspeed_udc.c
679
if (ep->desc_mode)
drivers/usb/gadget/udc/aspeed_udc.c
680
ast_udc_epn_kick_desc(ep, req);
drivers/usb/gadget/udc/aspeed_udc.c
682
ast_udc_epn_kick(ep, req);
drivers/usb/gadget/udc/aspeed_udc.c
693
struct ast_udc_ep *ep = to_ast_ep(_ep);
drivers/usb/gadget/udc/aspeed_udc.c
694
struct ast_udc_dev *udc = ep->udc;
drivers/usb/gadget/udc/aspeed_udc.c
702
list_for_each_entry(req, &ep->queue, queue) {
drivers/usb/gadget/udc/aspeed_udc.c
705
ast_udc_done(ep, req, -ESHUTDOWN);
drivers/usb/gadget/udc/aspeed_udc.c
722
struct ast_udc_ep *ep = to_ast_ep(_ep);
drivers/usb/gadget/udc/aspeed_udc.c
723
struct ast_udc_dev *udc = ep->udc;
drivers/usb/gadget/udc/aspeed_udc.c
728
EP_DBG(ep, "val:%d\n", value);
drivers/usb/gadget/udc/aspeed_udc.c
732
epnum = usb_endpoint_num(ep->desc);
drivers/usb/gadget/udc/aspeed_udc.c
752
ast_ep_write(ep, ctrl, AST_UDC_EP_CONFIG);
drivers/usb/gadget/udc/aspeed_udc.c
755
ep->stopped = value ? 1 : 0;
drivers/usb/gadget/udc/aspeed_udc.c
789
struct ast_udc_ep *ep = &udc->ep[0];
drivers/usb/gadget/udc/aspeed_udc.c
793
if (list_empty(&ep->queue))
drivers/usb/gadget/udc/aspeed_udc.c
796
req = list_entry(ep->queue.next, struct ast_udc_request, queue);
drivers/usb/gadget/udc/aspeed_udc.c
804
if ((rx_len < ep->ep.maxpacket) ||
drivers/usb/gadget/udc/aspeed_udc.c
807
if (!ep->dir_in)
drivers/usb/gadget/udc/aspeed_udc.c
808
ast_udc_done(ep, req, 0);
drivers/usb/gadget/udc/aspeed_udc.c
816
ast_udc_done(ep, req, 0);
drivers/usb/gadget/udc/aspeed_udc.c
820
ep->dir_in = 0;
drivers/usb/gadget/udc/aspeed_udc.c
823
ast_udc_ep0_queue(ep, req);
drivers/usb/gadget/udc/aspeed_udc.c
829
struct ast_udc_ep *ep = &udc->ep[0];
drivers/usb/gadget/udc/aspeed_udc.c
832
if (list_empty(&ep->queue)) {
drivers/usb/gadget/udc/aspeed_udc.c
841
req = list_entry(ep->queue.next, struct ast_udc_request, queue);
drivers/usb/gadget/udc/aspeed_udc.c
850
if (ep->dir_in)
drivers/usb/gadget/udc/aspeed_udc.c
851
ast_udc_done(ep, req, 0);
drivers/usb/gadget/udc/aspeed_udc.c
855
ast_udc_ep0_queue(ep, req);
drivers/usb/gadget/udc/aspeed_udc.c
861
struct ast_udc_ep *ep = &udc->ep[ep_num];
drivers/usb/gadget/udc/aspeed_udc.c
865
if (list_empty(&ep->queue))
drivers/usb/gadget/udc/aspeed_udc.c
868
req = list_first_entry(&ep->queue, struct ast_udc_request, queue);
drivers/usb/gadget/udc/aspeed_udc.c
870
len = EP_DMA_GET_TX_SIZE(ast_ep_read(ep, AST_UDC_EP_DMA_STS));
drivers/usb/gadget/udc/aspeed_udc.c
873
EP_DBG(ep, "req @%p, length:(%d/%d), %s:0x%x\n", req,
drivers/usb/gadget/udc/aspeed_udc.c
878
ast_udc_done(ep, req, 0);
drivers/usb/gadget/udc/aspeed_udc.c
879
req = list_first_entry_or_null(&ep->queue,
drivers/usb/gadget/udc/aspeed_udc.c
885
if (len < ep->ep.maxpacket) {
drivers/usb/gadget/udc/aspeed_udc.c
886
ast_udc_done(ep, req, 0);
drivers/usb/gadget/udc/aspeed_udc.c
887
req = list_first_entry_or_null(&ep->queue,
drivers/usb/gadget/udc/aspeed_udc.c
895
ast_udc_epn_kick(ep, req);
drivers/usb/gadget/udc/aspeed_udc.c
900
struct ast_udc_ep *ep = &udc->ep[ep_num];
drivers/usb/gadget/udc/aspeed_udc.c
908
if (list_empty(&ep->queue)) {
drivers/usb/gadget/udc/aspeed_udc.c
909
dev_warn(dev, "%s request queue empty!\n", ep->ep.name);
drivers/usb/gadget/udc/aspeed_udc.c
913
req = list_first_entry(&ep->queue, struct ast_udc_request, queue);
drivers/usb/gadget/udc/aspeed_udc.c
915
ctrl = ast_ep_read(ep, AST_UDC_EP_DMA_CTRL);
drivers/usb/gadget/udc/aspeed_udc.c
922
ast_ep_read(ep, AST_UDC_EP_DMA_CTRL),
drivers/usb/gadget/udc/aspeed_udc.c
927
ctrl = ast_ep_read(ep, AST_UDC_EP_DMA_STS);
drivers/usb/gadget/udc/aspeed_udc.c
937
EP_DBG(ep, "rd_ptr:%d, wr_ptr:%d\n", rd_ptr, wr_ptr);
drivers/usb/gadget/udc/aspeed_udc.c
941
len_in_desc = EP_DESC1_IN_LEN(ep->descs[i].des_1);
drivers/usb/gadget/udc/aspeed_udc.c
942
EP_DBG(ep, "desc[%d] len: %d\n", i, len_in_desc);
drivers/usb/gadget/udc/aspeed_udc.c
952
EP_DBG(ep, "req @%p, length:(%d/%d), %s:0x%x\n", req,
drivers/usb/gadget/udc/aspeed_udc.c
957
ast_udc_done(ep, req, 0);
drivers/usb/gadget/udc/aspeed_udc.c
958
req = list_first_entry_or_null(&ep->queue,
drivers/usb/gadget/udc/aspeed_udc.c
964
if (total_len < ep->ep.maxpacket) {
drivers/usb/gadget/udc/aspeed_udc.c
965
ast_udc_done(ep, req, 0);
drivers/usb/gadget/udc/aspeed_udc.c
966
req = list_first_entry_or_null(&ep->queue,
drivers/usb/gadget/udc/aspeed_udc.c
974
EP_DBG(ep, "More requests\n");
drivers/usb/gadget/udc/aspeed_udc.c
975
ast_udc_epn_kick_desc(ep, req);
drivers/usb/gadget/udc/aspeed_udc.c
997
struct ast_udc_ep *ep;
drivers/usb/gadget/udc/at91_udc.c
1006
static int handle_ep(struct at91_ep *ep)
drivers/usb/gadget/udc/at91_udc.c
1009
u32 __iomem *creg = ep->creg;
drivers/usb/gadget/udc/at91_udc.c
1012
if (!list_empty(&ep->queue))
drivers/usb/gadget/udc/at91_udc.c
1013
req = list_entry(ep->queue.next,
drivers/usb/gadget/udc/at91_udc.c
1018
if (ep->is_in) {
drivers/usb/gadget/udc/at91_udc.c
1025
return write_fifo(ep, req);
drivers/usb/gadget/udc/at91_udc.c
1030
if (ep->is_iso && req)
drivers/usb/gadget/udc/at91_udc.c
1038
return read_fifo(ep, req);
drivers/usb/gadget/udc/at91_udc.c
1048
static void handle_setup(struct at91_udc *udc, struct at91_ep *ep, u32 csr)
drivers/usb/gadget/udc/at91_udc.c
1050
u32 __iomem *creg = ep->creg;
drivers/usb/gadget/udc/at91_udc.c
1051
u8 __iomem *dreg = ep->creg + (AT91_UDP_FDR(0) - AT91_UDP_CSR(0));
drivers/usb/gadget/udc/at91_udc.c
106
static void proc_ep_show(struct seq_file *s, struct at91_ep *ep)
drivers/usb/gadget/udc/at91_udc.c
1064
ep->is_in = 1;
drivers/usb/gadget/udc/at91_udc.c
1067
ep->is_in = 0;
drivers/usb/gadget/udc/at91_udc.c
1079
ep->stopped = 0;
drivers/usb/gadget/udc/at91_udc.c
115
struct at91_udc *udc = ep->udc;
drivers/usb/gadget/udc/at91_udc.c
1177
ep = &udc->ep[tmp];
drivers/usb/gadget/udc/at91_udc.c
1178
if (tmp >= NUM_ENDPOINTS || (tmp && !ep->ep.desc))
drivers/usb/gadget/udc/at91_udc.c
1183
if (!ep->is_in)
drivers/usb/gadget/udc/at91_udc.c
1185
} else if (ep->is_in)
drivers/usb/gadget/udc/at91_udc.c
1188
PACKET("get %s status\n", ep->ep.name);
drivers/usb/gadget/udc/at91_udc.c
1189
if (__raw_readl(ep->creg) & AT91_UDP_FORCESTALL)
drivers/usb/gadget/udc/at91_udc.c
119
csr = __raw_readl(ep->creg);
drivers/usb/gadget/udc/at91_udc.c
1200
ep = &udc->ep[tmp];
drivers/usb/gadget/udc/at91_udc.c
1203
if (!ep->ep.desc || ep->is_iso)
drivers/usb/gadget/udc/at91_udc.c
1206
if (!ep->is_in)
drivers/usb/gadget/udc/at91_udc.c
1208
} else if (ep->is_in)
drivers/usb/gadget/udc/at91_udc.c
1211
tmp = __raw_readl(ep->creg);
drivers/usb/gadget/udc/at91_udc.c
1214
__raw_writel(tmp, ep->creg);
drivers/usb/gadget/udc/at91_udc.c
1219
ep = &udc->ep[tmp];
drivers/usb/gadget/udc/at91_udc.c
1224
if (!ep->ep.desc || ep->is_iso)
drivers/usb/gadget/udc/at91_udc.c
1227
if (!ep->is_in)
drivers/usb/gadget/udc/at91_udc.c
1229
} else if (ep->is_in)
drivers/usb/gadget/udc/at91_udc.c
1232
at91_udp_write(udc, AT91_UDP_RST_EP, ep->int_mask);
drivers/usb/gadget/udc/at91_udc.c
1234
tmp = __raw_readl(ep->creg);
drivers/usb/gadget/udc/at91_udc.c
1237
__raw_writel(tmp, ep->creg);
drivers/usb/gadget/udc/at91_udc.c
1238
if (!list_empty(&ep->queue))
drivers/usb/gadget/udc/at91_udc.c
1239
handle_ep(ep);
drivers/usb/gadget/udc/at91_udc.c
125
ep->ep.name, ep->ep.maxpacket,
drivers/usb/gadget/udc/at91_udc.c
126
ep->is_in ? "in" : "out",
drivers/usb/gadget/udc/at91_udc.c
127
ep->is_iso ? " iso" : "",
drivers/usb/gadget/udc/at91_udc.c
1276
struct at91_ep *ep0 = &udc->ep[0];
drivers/usb/gadget/udc/at91_udc.c
128
ep->is_pingpong
drivers/usb/gadget/udc/at91_udc.c
129
? (ep->fifo_bank ? "pong" : "ping")
drivers/usb/gadget/udc/at91_udc.c
131
ep->stopped ? " stopped" : "");
drivers/usb/gadget/udc/at91_udc.c
1491
struct at91_ep *ep = &udc->ep[1];
drivers/usb/gadget/udc/at91_udc.c
1498
handle_ep(ep);
drivers/usb/gadget/udc/at91_udc.c
1499
ep++;
drivers/usb/gadget/udc/at91_udc.c
151
if (list_empty (&ep->queue))
drivers/usb/gadget/udc/at91_udc.c
154
else list_for_each_entry (req, &ep->queue, queue) {
drivers/usb/gadget/udc/at91_udc.c
1599
struct at91_ep *ep;
drivers/usb/gadget/udc/at91_udc.c
1603
ep = &udc->ep[i];
drivers/usb/gadget/udc/at91_udc.c
1608
ep->maxpacket = 8;
drivers/usb/gadget/udc/at91_udc.c
1611
ep->maxpacket = 64;
drivers/usb/gadget/udc/at91_udc.c
1614
ep->maxpacket = 256;
drivers/usb/gadget/udc/at91_udc.c
1642
struct at91_ep *ep;
drivers/usb/gadget/udc/at91_udc.c
1646
ep = &udc->ep[i];
drivers/usb/gadget/udc/at91_udc.c
1650
ep->maxpacket = 64;
drivers/usb/gadget/udc/at91_udc.c
1653
ep->maxpacket = 512;
drivers/usb/gadget/udc/at91_udc.c
1680
struct at91_ep *ep;
drivers/usb/gadget/udc/at91_udc.c
1684
ep = &udc->ep[i];
drivers/usb/gadget/udc/at91_udc.c
1688
ep->maxpacket = 8;
drivers/usb/gadget/udc/at91_udc.c
1691
ep->maxpacket = 64;
drivers/usb/gadget/udc/at91_udc.c
1694
ep->maxpacket = 256;
drivers/usb/gadget/udc/at91_udc.c
1722
struct at91_ep *ep;
drivers/usb/gadget/udc/at91_udc.c
1726
ep = &udc->ep[i];
drivers/usb/gadget/udc/at91_udc.c
1733
ep->maxpacket = 64;
drivers/usb/gadget/udc/at91_udc.c
1737
ep->maxpacket = 256;
drivers/usb/gadget/udc/at91_udc.c
1802
struct at91_ep *ep;
drivers/usb/gadget/udc/at91_udc.c
1817
udc->gadget.ep0 = &udc->ep[0].ep;
drivers/usb/gadget/udc/at91_udc.c
1822
ep = &udc->ep[i];
drivers/usb/gadget/udc/at91_udc.c
1823
ep->ep.name = ep_info[i].name;
drivers/usb/gadget/udc/at91_udc.c
1824
ep->ep.caps = ep_info[i].caps;
drivers/usb/gadget/udc/at91_udc.c
1825
ep->ep.ops = &at91_ep_ops;
drivers/usb/gadget/udc/at91_udc.c
1826
ep->udc = udc;
drivers/usb/gadget/udc/at91_udc.c
1827
ep->int_mask = BIT(i);
drivers/usb/gadget/udc/at91_udc.c
1829
ep->is_pingpong = 1;
drivers/usb/gadget/udc/at91_udc.c
186
struct at91_ep *ep;
drivers/usb/gadget/udc/at91_udc.c
229
proc_ep_show(s, &udc->ep[0]);
drivers/usb/gadget/udc/at91_udc.c
230
list_for_each_entry (ep, &udc->gadget.ep_list, ep.ep_list) {
drivers/usb/gadget/udc/at91_udc.c
231
if (ep->ep.desc)
drivers/usb/gadget/udc/at91_udc.c
232
proc_ep_show(s, ep);
drivers/usb/gadget/udc/at91_udc.c
260
static void done(struct at91_ep *ep, struct at91_request *req, int status)
drivers/usb/gadget/udc/at91_udc.c
262
unsigned stopped = ep->stopped;
drivers/usb/gadget/udc/at91_udc.c
263
struct at91_udc *udc = ep->udc;
drivers/usb/gadget/udc/at91_udc.c
271
VDBG("%s done %p, status %d\n", ep->ep.name, req, status);
drivers/usb/gadget/udc/at91_udc.c
273
ep->stopped = 1;
drivers/usb/gadget/udc/at91_udc.c
275
usb_gadget_giveback_request(&ep->ep, &req->req);
drivers/usb/gadget/udc/at91_udc.c
277
ep->stopped = stopped;
drivers/usb/gadget/udc/at91_udc.c
280
if (list_empty(&ep->queue) && ep->int_mask != (1 << 0))
drivers/usb/gadget/udc/at91_udc.c
281
at91_udp_write(udc, AT91_UDP_IDR, ep->int_mask);
drivers/usb/gadget/udc/at91_udc.c
311
static int read_fifo (struct at91_ep *ep, struct at91_request *req)
drivers/usb/gadget/udc/at91_udc.c
313
u32 __iomem *creg = ep->creg;
drivers/usb/gadget/udc/at91_udc.c
314
u8 __iomem *dreg = ep->creg + (AT91_UDP_FDR(0) - AT91_UDP_CSR(0));
drivers/usb/gadget/udc/at91_udc.c
332
if (count > ep->ep.maxpacket)
drivers/usb/gadget/udc/at91_udc.c
333
count = ep->ep.maxpacket;
drivers/usb/gadget/udc/at91_udc.c
335
DBG("%s buffer overflow\n", ep->ep.name);
drivers/usb/gadget/udc/at91_udc.c
343
if (ep->is_pingpong) {
drivers/usb/gadget/udc/at91_udc.c
344
if (ep->fifo_bank == 0) {
drivers/usb/gadget/udc/at91_udc.c
346
ep->fifo_bank = 1;
drivers/usb/gadget/udc/at91_udc.c
349
ep->fifo_bank = 0;
drivers/usb/gadget/udc/at91_udc.c
356
is_done = (count < ep->ep.maxpacket);
drivers/usb/gadget/udc/at91_udc.c
360
PACKET("%s %p out/%d%s\n", ep->ep.name, &req->req, count,
drivers/usb/gadget/udc/at91_udc.c
368
done(ep, req, 0);
drivers/usb/gadget/udc/at91_udc.c
369
else if (ep->is_pingpong) {
drivers/usb/gadget/udc/at91_udc.c
386
static int write_fifo(struct at91_ep *ep, struct at91_request *req)
drivers/usb/gadget/udc/at91_udc.c
388
u32 __iomem *creg = ep->creg;
drivers/usb/gadget/udc/at91_udc.c
390
u8 __iomem *dreg = ep->creg + (AT91_UDP_FDR(0) - AT91_UDP_CSR(0));
drivers/usb/gadget/udc/at91_udc.c
420
if (ep->ep.maxpacket < total) {
drivers/usb/gadget/udc/at91_udc.c
421
count = ep->ep.maxpacket;
drivers/usb/gadget/udc/at91_udc.c
425
is_last = (count < ep->ep.maxpacket) || !req->req.zero;
drivers/usb/gadget/udc/at91_udc.c
447
PACKET("%s %p in/%d%s\n", ep->ep.name, &req->req, count,
drivers/usb/gadget/udc/at91_udc.c
450
done(ep, req, 0);
drivers/usb/gadget/udc/at91_udc.c
454
static void nuke(struct at91_ep *ep, int status)
drivers/usb/gadget/udc/at91_udc.c
459
ep->stopped = 1;
drivers/usb/gadget/udc/at91_udc.c
460
if (list_empty(&ep->queue))
drivers/usb/gadget/udc/at91_udc.c
463
VDBG("%s %s\n", __func__, ep->ep.name);
drivers/usb/gadget/udc/at91_udc.c
464
while (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/at91_udc.c
465
req = list_entry(ep->queue.next, struct at91_request, queue);
drivers/usb/gadget/udc/at91_udc.c
466
done(ep, req, status);
drivers/usb/gadget/udc/at91_udc.c
475
struct at91_ep *ep = container_of(_ep, struct at91_ep, ep);
drivers/usb/gadget/udc/at91_udc.c
481
if (!_ep || !ep
drivers/usb/gadget/udc/at91_udc.c
485
|| maxpacket > ep->maxpacket) {
drivers/usb/gadget/udc/at91_udc.c
490
udc = ep->udc;
drivers/usb/gadget/udc/at91_udc.c
517
if (!ep->is_pingpong) {
drivers/usb/gadget/udc/at91_udc.c
528
ep->is_in = usb_endpoint_dir_in(desc);
drivers/usb/gadget/udc/at91_udc.c
529
ep->is_iso = (tmp == USB_ENDPOINT_XFER_ISOC);
drivers/usb/gadget/udc/at91_udc.c
530
ep->stopped = 0;
drivers/usb/gadget/udc/at91_udc.c
531
if (ep->is_in)
drivers/usb/gadget/udc/at91_udc.c
535
__raw_writel(tmp, ep->creg);
drivers/usb/gadget/udc/at91_udc.c
537
ep->ep.maxpacket = maxpacket;
drivers/usb/gadget/udc/at91_udc.c
543
at91_udp_write(udc, AT91_UDP_RST_EP, ep->int_mask);
drivers/usb/gadget/udc/at91_udc.c
552
struct at91_ep *ep = container_of(_ep, struct at91_ep, ep);
drivers/usb/gadget/udc/at91_udc.c
553
struct at91_udc *udc = ep->udc;
drivers/usb/gadget/udc/at91_udc.c
556
if (ep == &ep->udc->ep[0])
drivers/usb/gadget/udc/at91_udc.c
561
nuke(ep, -ESHUTDOWN);
drivers/usb/gadget/udc/at91_udc.c
564
ep->ep.desc = NULL;
drivers/usb/gadget/udc/at91_udc.c
565
ep->ep.maxpacket = ep->maxpacket;
drivers/usb/gadget/udc/at91_udc.c
568
if (ep->udc->clocked) {
drivers/usb/gadget/udc/at91_udc.c
569
at91_udp_write(udc, AT91_UDP_RST_EP, ep->int_mask);
drivers/usb/gadget/udc/at91_udc.c
571
__raw_writel(0, ep->creg);
drivers/usb/gadget/udc/at91_udc.c
609
struct at91_ep *ep;
drivers/usb/gadget/udc/at91_udc.c
615
ep = container_of(_ep, struct at91_ep, ep);
drivers/usb/gadget/udc/at91_udc.c
623
if (!_ep || (!ep->ep.desc && ep->ep.name != ep0name)) {
drivers/usb/gadget/udc/at91_udc.c
628
udc = ep->udc;
drivers/usb/gadget/udc/at91_udc.c
641
if (list_empty(&ep->queue) && !ep->stopped) {
drivers/usb/gadget/udc/at91_udc.c
652
is_ep0 = (ep->ep.name == ep0name);
drivers/usb/gadget/udc/at91_udc.c
675
tmp = __raw_readl(ep->creg);
drivers/usb/gadget/udc/at91_udc.c
678
__raw_writel(tmp, ep->creg);
drivers/usb/gadget/udc/at91_udc.c
684
if (ep->is_in)
drivers/usb/gadget/udc/at91_udc.c
685
status = write_fifo(ep, req);
drivers/usb/gadget/udc/at91_udc.c
687
status = read_fifo(ep, req);
drivers/usb/gadget/udc/at91_udc.c
697
list_add_tail (&req->queue, &ep->queue);
drivers/usb/gadget/udc/at91_udc.c
698
at91_udp_write(udc, AT91_UDP_IER, ep->int_mask);
drivers/usb/gadget/udc/at91_udc.c
707
struct at91_ep *ep;
drivers/usb/gadget/udc/at91_udc.c
712
ep = container_of(_ep, struct at91_ep, ep);
drivers/usb/gadget/udc/at91_udc.c
713
if (!_ep || ep->ep.name == ep0name)
drivers/usb/gadget/udc/at91_udc.c
716
udc = ep->udc;
drivers/usb/gadget/udc/at91_udc.c
721
list_for_each_entry(iter, &ep->queue, queue) {
drivers/usb/gadget/udc/at91_udc.c
732
done(ep, req, -ECONNRESET);
drivers/usb/gadget/udc/at91_udc.c
739
struct at91_ep *ep = container_of(_ep, struct at91_ep, ep);
drivers/usb/gadget/udc/at91_udc.c
740
struct at91_udc *udc = ep->udc;
drivers/usb/gadget/udc/at91_udc.c
746
if (!_ep || ep->is_iso || !ep->udc->clocked)
drivers/usb/gadget/udc/at91_udc.c
749
creg = ep->creg;
drivers/usb/gadget/udc/at91_udc.c
759
if (ep->is_in && (!list_empty(&ep->queue) || (csr >> 16) != 0))
drivers/usb/gadget/udc/at91_udc.c
766
VDBG("halt %s\n", ep->ep.name);
drivers/usb/gadget/udc/at91_udc.c
768
at91_udp_write(udc, AT91_UDP_RST_EP, ep->int_mask);
drivers/usb/gadget/udc/at91_udc.c
836
struct at91_ep *ep = &udc->ep[i];
drivers/usb/gadget/udc/at91_udc.c
839
list_add_tail(&ep->ep.ep_list, &udc->gadget.ep_list);
drivers/usb/gadget/udc/at91_udc.c
840
ep->ep.desc = NULL;
drivers/usb/gadget/udc/at91_udc.c
841
ep->stopped = 0;
drivers/usb/gadget/udc/at91_udc.c
842
ep->fifo_bank = 0;
drivers/usb/gadget/udc/at91_udc.c
843
usb_ep_set_maxpacket_limit(&ep->ep, ep->maxpacket);
drivers/usb/gadget/udc/at91_udc.c
844
ep->creg = (void __iomem *) udc->udp_baseaddr + AT91_UDP_CSR(i);
drivers/usb/gadget/udc/at91_udc.c
846
INIT_LIST_HEAD(&ep->queue);
drivers/usb/gadget/udc/at91_udc.c
861
struct at91_ep *ep = &udc->ep[i];
drivers/usb/gadget/udc/at91_udc.c
863
ep->stopped = 1;
drivers/usb/gadget/udc/at91_udc.c
864
nuke(ep, -ESHUTDOWN);
drivers/usb/gadget/udc/at91_udc.c
886
struct at91_ep *ep = &udc->ep[i];
drivers/usb/gadget/udc/at91_udc.c
887
ep->stopped = 1;
drivers/usb/gadget/udc/at91_udc.c
888
nuke(ep, -ESHUTDOWN);
drivers/usb/gadget/udc/at91_udc.h
123
struct at91_ep ep[NUM_ENDPOINTS];
drivers/usb/gadget/udc/at91_udc.h
91
struct usb_ep ep;
drivers/usb/gadget/udc/atmel_usba_udc.c
1042
struct usba_ep *ep;
drivers/usb/gadget/udc/atmel_usba_udc.c
1056
ep = to_usba_ep(_ep);
drivers/usb/gadget/udc/atmel_usba_udc.c
1060
ep->nr_banks = 1;
drivers/usb/gadget/udc/atmel_usba_udc.c
1064
ep->fifo_size = 1024;
drivers/usb/gadget/udc/atmel_usba_udc.c
1065
if (ep->udc->ep_prealloc)
drivers/usb/gadget/udc/atmel_usba_udc.c
1066
ep->nr_banks = 2;
drivers/usb/gadget/udc/atmel_usba_udc.c
1070
ep->fifo_size = 512;
drivers/usb/gadget/udc/atmel_usba_udc.c
1071
if (ep->udc->ep_prealloc)
drivers/usb/gadget/udc/atmel_usba_udc.c
1072
ep->nr_banks = 1;
drivers/usb/gadget/udc/atmel_usba_udc.c
1077
ep->fifo_size =
drivers/usb/gadget/udc/atmel_usba_udc.c
1080
ep->fifo_size =
drivers/usb/gadget/udc/atmel_usba_udc.c
1082
if (ep->udc->ep_prealloc)
drivers/usb/gadget/udc/atmel_usba_udc.c
1083
ep->nr_banks = 1;
drivers/usb/gadget/udc/atmel_usba_udc.c
1088
usb_ep_set_maxpacket_limit(&ep->ep, ep->fifo_size);
drivers/usb/gadget/udc/atmel_usba_udc.c
1091
if (ep->fifo_size <= 8)
drivers/usb/gadget/udc/atmel_usba_udc.c
1092
ep->ept_cfg = USBA_BF(EPT_SIZE, USBA_EPT_SIZE_8);
drivers/usb/gadget/udc/atmel_usba_udc.c
1095
ep->ept_cfg =
drivers/usb/gadget/udc/atmel_usba_udc.c
1096
USBA_BF(EPT_SIZE, fls(ep->fifo_size - 1) - 3);
drivers/usb/gadget/udc/atmel_usba_udc.c
1098
ep->ept_cfg |= USBA_BF(BK_NUMBER, ep->nr_banks);
drivers/usb/gadget/udc/atmel_usba_udc.c
1135
struct usba_ep *ep;
drivers/usb/gadget/udc/atmel_usba_udc.c
1140
ep = to_usba_ep(udc->gadget.ep0);
drivers/usb/gadget/udc/atmel_usba_udc.c
1141
list_for_each_entry_safe(req, tmp_req, &ep->queue, queue) {
drivers/usb/gadget/udc/atmel_usba_udc.c
1143
request_complete(ep, req, -ECONNRESET);
drivers/usb/gadget/udc/atmel_usba_udc.c
1149
struct usba_ep *ep;
drivers/usb/gadget/udc/atmel_usba_udc.c
1154
list_for_each_entry (ep, &udc->gadget.ep_list, ep.ep_list) {
drivers/usb/gadget/udc/atmel_usba_udc.c
1157
if (!ep->ep.desc)
drivers/usb/gadget/udc/atmel_usba_udc.c
1159
bEndpointAddress = ep->ep.desc->bEndpointAddress;
drivers/usb/gadget/udc/atmel_usba_udc.c
1164
return ep;
drivers/usb/gadget/udc/atmel_usba_udc.c
1171
static inline void set_protocol_stall(struct usba_udc *udc, struct usba_ep *ep)
drivers/usb/gadget/udc/atmel_usba_udc.c
1173
usba_ep_writel(ep, SET_STA, USBA_FORCE_STALL);
drivers/usb/gadget/udc/atmel_usba_udc.c
1174
ep->state = WAIT_FOR_SETUP;
drivers/usb/gadget/udc/atmel_usba_udc.c
1177
static inline int is_stalled(struct usba_udc *udc, struct usba_ep *ep)
drivers/usb/gadget/udc/atmel_usba_udc.c
1179
if (usba_ep_readl(ep, STA) & USBA_FORCE_STALL)
drivers/usb/gadget/udc/atmel_usba_udc.c
1211
struct usba_ep *ep;
drivers/usb/gadget/udc/atmel_usba_udc.c
1236
ep = &udc->usba_ep[0];
drivers/usb/gadget/udc/atmel_usba_udc.c
1239
usba_ep_writel(ep, CFG,
drivers/usb/gadget/udc/atmel_usba_udc.c
1244
if (!(usba_ep_readl(ep, CFG) & USBA_EPT_MAPPED)) {
drivers/usb/gadget/udc/atmel_usba_udc.c
1245
set_protocol_stall(udc, ep);
drivers/usb/gadget/udc/atmel_usba_udc.c
1248
usba_ep_writel(ep, CTL_ENB, USBA_EPT_ENABLE);
drivers/usb/gadget/udc/atmel_usba_udc.c
1254
ep = &udc->usba_ep[0];
drivers/usb/gadget/udc/atmel_usba_udc.c
1255
usba_ep_writel(ep, CFG,
drivers/usb/gadget/udc/atmel_usba_udc.c
1260
if (!(usba_ep_readl(ep, CFG) & USBA_EPT_MAPPED)) {
drivers/usb/gadget/udc/atmel_usba_udc.c
1261
set_protocol_stall(udc, ep);
drivers/usb/gadget/udc/atmel_usba_udc.c
1264
usba_ep_writel(ep, CTL_ENB, USBA_EPT_ENABLE);
drivers/usb/gadget/udc/atmel_usba_udc.c
1266
memcpy_toio(ep->fifo, test_packet_buffer,
drivers/usb/gadget/udc/atmel_usba_udc.c
1268
usba_ep_writel(ep, SET_STA, USBA_TX_PK_RDY);
drivers/usb/gadget/udc/atmel_usba_udc.c
1302
static int handle_ep0_setup(struct usba_udc *udc, struct usba_ep *ep,
drivers/usb/gadget/udc/atmel_usba_udc.c
1333
ep->state = DATA_STAGE_IN;
drivers/usb/gadget/udc/atmel_usba_udc.c
1334
writew_relaxed(status, ep->fifo);
drivers/usb/gadget/udc/atmel_usba_udc.c
1335
usba_ep_writel(ep, SET_STA, USBA_TX_PK_RDY);
drivers/usb/gadget/udc/atmel_usba_udc.c
1365
send_status(udc, ep);
drivers/usb/gadget/udc/atmel_usba_udc.c
1372
send_status(udc, ep);
drivers/usb/gadget/udc/atmel_usba_udc.c
1373
ep->state = STATUS_STAGE_TEST;
drivers/usb/gadget/udc/atmel_usba_udc.c
1396
send_status(udc, ep);
drivers/usb/gadget/udc/atmel_usba_udc.c
1405
send_status(udc, ep);
drivers/usb/gadget/udc/atmel_usba_udc.c
1406
ep->state = STATUS_STAGE_ADDR;
drivers/usb/gadget/udc/atmel_usba_udc.c
1421
ep->ep.name, crq->bRequestType, crq->bRequest,
drivers/usb/gadget/udc/atmel_usba_udc.c
1424
set_protocol_stall(udc, ep);
drivers/usb/gadget/udc/atmel_usba_udc.c
1428
static void usba_control_irq(struct usba_udc *udc, struct usba_ep *ep)
drivers/usb/gadget/udc/atmel_usba_udc.c
1435
epstatus = usba_ep_readl(ep, STA);
drivers/usb/gadget/udc/atmel_usba_udc.c
1436
epctrl = usba_ep_readl(ep, CTL);
drivers/usb/gadget/udc/atmel_usba_udc.c
1439
ep->ep.name, ep->state, epstatus, epctrl);
drivers/usb/gadget/udc/atmel_usba_udc.c
1442
if (!list_empty(&ep->queue))
drivers/usb/gadget/udc/atmel_usba_udc.c
1443
req = list_entry(ep->queue.next,
drivers/usb/gadget/udc/atmel_usba_udc.c
1448
next_fifo_transaction(ep, req);
drivers/usb/gadget/udc/atmel_usba_udc.c
1450
submit_request(ep, req);
drivers/usb/gadget/udc/atmel_usba_udc.c
1453
usba_ep_writel(ep, CTL_DIS, USBA_TX_PK_RDY);
drivers/usb/gadget/udc/atmel_usba_udc.c
1454
usba_ep_writel(ep, CTL_ENB, USBA_TX_COMPLETE);
drivers/usb/gadget/udc/atmel_usba_udc.c
1459
usba_ep_writel(ep, CLR_STA, USBA_TX_COMPLETE);
drivers/usb/gadget/udc/atmel_usba_udc.c
1461
switch (ep->state) {
drivers/usb/gadget/udc/atmel_usba_udc.c
1463
usba_ep_writel(ep, CTL_ENB, USBA_RX_BK_RDY);
drivers/usb/gadget/udc/atmel_usba_udc.c
1464
usba_ep_writel(ep, CTL_DIS, USBA_TX_COMPLETE);
drivers/usb/gadget/udc/atmel_usba_udc.c
1465
ep->state = STATUS_STAGE_OUT;
drivers/usb/gadget/udc/atmel_usba_udc.c
1471
usba_ep_writel(ep, CTL_DIS, USBA_TX_COMPLETE);
drivers/usb/gadget/udc/atmel_usba_udc.c
1472
ep->state = WAIT_FOR_SETUP;
drivers/usb/gadget/udc/atmel_usba_udc.c
1477
request_complete(ep, req, 0);
drivers/usb/gadget/udc/atmel_usba_udc.c
1478
submit_next_request(ep);
drivers/usb/gadget/udc/atmel_usba_udc.c
1480
usba_ep_writel(ep, CTL_DIS, USBA_TX_COMPLETE);
drivers/usb/gadget/udc/atmel_usba_udc.c
1481
ep->state = WAIT_FOR_SETUP;
drivers/usb/gadget/udc/atmel_usba_udc.c
1484
usba_ep_writel(ep, CTL_DIS, USBA_TX_COMPLETE);
drivers/usb/gadget/udc/atmel_usba_udc.c
1485
ep->state = WAIT_FOR_SETUP;
drivers/usb/gadget/udc/atmel_usba_udc.c
1487
set_protocol_stall(udc, ep);
drivers/usb/gadget/udc/atmel_usba_udc.c
1492
ep->ep.name, ep->state);
drivers/usb/gadget/udc/atmel_usba_udc.c
1493
set_protocol_stall(udc, ep);
drivers/usb/gadget/udc/atmel_usba_udc.c
1500
switch (ep->state) {
drivers/usb/gadget/udc/atmel_usba_udc.c
1502
usba_ep_writel(ep, CLR_STA, USBA_RX_BK_RDY);
drivers/usb/gadget/udc/atmel_usba_udc.c
1503
usba_ep_writel(ep, CTL_DIS, USBA_RX_BK_RDY);
drivers/usb/gadget/udc/atmel_usba_udc.c
1507
request_complete(ep, req, 0);
drivers/usb/gadget/udc/atmel_usba_udc.c
1509
ep->state = WAIT_FOR_SETUP;
drivers/usb/gadget/udc/atmel_usba_udc.c
1513
receive_data(ep);
drivers/usb/gadget/udc/atmel_usba_udc.c
1517
usba_ep_writel(ep, CLR_STA, USBA_RX_BK_RDY);
drivers/usb/gadget/udc/atmel_usba_udc.c
1518
usba_ep_writel(ep, CTL_DIS, USBA_RX_BK_RDY);
drivers/usb/gadget/udc/atmel_usba_udc.c
1521
ep->ep.name, ep->state);
drivers/usb/gadget/udc/atmel_usba_udc.c
1522
set_protocol_stall(udc, ep);
drivers/usb/gadget/udc/atmel_usba_udc.c
1536
if (ep->state != WAIT_FOR_SETUP) {
drivers/usb/gadget/udc/atmel_usba_udc.c
1549
if (ep->state == STATUS_STAGE_OUT
drivers/usb/gadget/udc/atmel_usba_udc.c
1550
|| ep->state == STATUS_STAGE_IN) {
drivers/usb/gadget/udc/atmel_usba_udc.c
1551
usba_ep_writel(ep, CTL_DIS, USBA_RX_BK_RDY);
drivers/usb/gadget/udc/atmel_usba_udc.c
1557
request_complete(ep, req, status);
drivers/usb/gadget/udc/atmel_usba_udc.c
1561
pkt_len = USBA_BFEXT(BYTE_COUNT, usba_ep_readl(ep, STA));
drivers/usb/gadget/udc/atmel_usba_udc.c
1566
set_protocol_stall(udc, ep);
drivers/usb/gadget/udc/atmel_usba_udc.c
1570
DBG(DBG_FIFO, "Copying ctrl request from 0x%p:\n", ep->fifo);
drivers/usb/gadget/udc/atmel_usba_udc.c
1571
memcpy_fromio(crq.data, ep->fifo, sizeof(crq));
drivers/usb/gadget/udc/atmel_usba_udc.c
1575
usba_ep_writel(ep, CLR_STA, USBA_RX_SETUP);
drivers/usb/gadget/udc/atmel_usba_udc.c
1588
ep->state = DATA_STAGE_IN;
drivers/usb/gadget/udc/atmel_usba_udc.c
1591
ep->state = DATA_STAGE_OUT;
drivers/usb/gadget/udc/atmel_usba_udc.c
1593
ep->state = STATUS_STAGE_IN;
drivers/usb/gadget/udc/atmel_usba_udc.c
1597
if (ep->index == 0)
drivers/usb/gadget/udc/atmel_usba_udc.c
1598
ret = handle_ep0_setup(udc, ep, &crq.crq);
drivers/usb/gadget/udc/atmel_usba_udc.c
1607
le16_to_cpu(crq.crq.wLength), ep->state, ret);
drivers/usb/gadget/udc/atmel_usba_udc.c
1611
set_protocol_stall(udc, ep);
drivers/usb/gadget/udc/atmel_usba_udc.c
1616
static void usba_ep_irq(struct usba_udc *udc, struct usba_ep *ep)
drivers/usb/gadget/udc/atmel_usba_udc.c
1622
epstatus = usba_ep_readl(ep, STA);
drivers/usb/gadget/udc/atmel_usba_udc.c
1623
epctrl = usba_ep_readl(ep, CTL);
drivers/usb/gadget/udc/atmel_usba_udc.c
1625
DBG(DBG_INT, "%s: interrupt, status: 0x%08x\n", ep->ep.name, epstatus);
drivers/usb/gadget/udc/atmel_usba_udc.c
1628
DBG(DBG_BUS, "%s: TX PK ready\n", ep->ep.name);
drivers/usb/gadget/udc/atmel_usba_udc.c
1630
if (list_empty(&ep->queue)) {
drivers/usb/gadget/udc/atmel_usba_udc.c
1632
usba_ep_writel(ep, CTL_DIS, USBA_TX_PK_RDY);
drivers/usb/gadget/udc/atmel_usba_udc.c
1636
req = list_entry(ep->queue.next, struct usba_request, queue);
drivers/usb/gadget/udc/atmel_usba_udc.c
1640
usba_ep_writel(ep, SET_STA,
drivers/usb/gadget/udc/atmel_usba_udc.c
1642
usba_ep_writel(ep, CTL_DIS,
drivers/usb/gadget/udc/atmel_usba_udc.c
1645
submit_next_request(ep);
drivers/usb/gadget/udc/atmel_usba_udc.c
1646
request_complete(ep, req, 0);
drivers/usb/gadget/udc/atmel_usba_udc.c
1649
next_fifo_transaction(ep, req);
drivers/usb/gadget/udc/atmel_usba_udc.c
1651
submit_request(ep, req);
drivers/usb/gadget/udc/atmel_usba_udc.c
1655
submit_next_request(ep);
drivers/usb/gadget/udc/atmel_usba_udc.c
1656
request_complete(ep, req, 0);
drivers/usb/gadget/udc/atmel_usba_udc.c
1660
epstatus = usba_ep_readl(ep, STA);
drivers/usb/gadget/udc/atmel_usba_udc.c
1661
epctrl = usba_ep_readl(ep, CTL);
drivers/usb/gadget/udc/atmel_usba_udc.c
1664
DBG(DBG_BUS, "%s: RX data ready\n", ep->ep.name);
drivers/usb/gadget/udc/atmel_usba_udc.c
1665
receive_data(ep);
drivers/usb/gadget/udc/atmel_usba_udc.c
1669
static void usba_dma_irq(struct usba_udc *udc, struct usba_ep *ep)
drivers/usb/gadget/udc/atmel_usba_udc.c
1674
status = usba_dma_readl(ep, STATUS);
drivers/usb/gadget/udc/atmel_usba_udc.c
1675
control = usba_dma_readl(ep, CONTROL);
drivers/usb/gadget/udc/atmel_usba_udc.c
1677
ep->last_dma_status = status;
drivers/usb/gadget/udc/atmel_usba_udc.c
1695
if (list_empty(&ep->queue))
drivers/usb/gadget/udc/atmel_usba_udc.c
1700
req = list_entry(ep->queue.next, struct usba_request, queue);
drivers/usb/gadget/udc/atmel_usba_udc.c
1701
usba_update_req(ep, req, status);
drivers/usb/gadget/udc/atmel_usba_udc.c
1704
submit_next_request(ep);
drivers/usb/gadget/udc/atmel_usba_udc.c
1705
request_complete(ep, req, 0);
drivers/usb/gadget/udc/atmel_usba_udc.c
1791
struct usba_ep *ep0, *ep;
drivers/usb/gadget/udc/atmel_usba_udc.c
1815
ep0->ep.desc = &usba_ep0_desc;
drivers/usb/gadget/udc/atmel_usba_udc.c
1841
ep = &udc->usba_ep[i];
drivers/usb/gadget/udc/atmel_usba_udc.c
1842
if (ep->ep.claimed) {
drivers/usb/gadget/udc/atmel_usba_udc.c
1843
usba_ep_writel(ep, CFG, ep->ept_cfg);
drivers/usb/gadget/udc/atmel_usba_udc.c
1844
if (!(usba_ep_readl(ep, CFG) & USBA_EPT_MAPPED))
drivers/usb/gadget/udc/atmel_usba_udc.c
203
struct usba_ep *ep)
drivers/usb/gadget/udc/atmel_usba_udc.c
207
ep_root = debugfs_create_dir(ep->ep.name, udc->debugfs_root);
drivers/usb/gadget/udc/atmel_usba_udc.c
208
ep->debugfs_dir = ep_root;
drivers/usb/gadget/udc/atmel_usba_udc.c
210
debugfs_create_file("queue", 0400, ep_root, ep, &queue_dbg_fops);
drivers/usb/gadget/udc/atmel_usba_udc.c
211
if (ep->can_dma)
drivers/usb/gadget/udc/atmel_usba_udc.c
213
&ep->last_dma_status);
drivers/usb/gadget/udc/atmel_usba_udc.c
214
if (ep_is_control(ep))
drivers/usb/gadget/udc/atmel_usba_udc.c
2140
struct usba_ep *eps, *ep;
drivers/usb/gadget/udc/atmel_usba_udc.c
215
debugfs_create_u32("state", 0400, ep_root, &ep->state);
drivers/usb/gadget/udc/atmel_usba_udc.c
218
static void usba_ep_cleanup_debugfs(struct usba_ep *ep)
drivers/usb/gadget/udc/atmel_usba_udc.c
2180
udc->gadget.ep0 = &eps[0].ep;
drivers/usb/gadget/udc/atmel_usba_udc.c
2182
INIT_LIST_HEAD(&eps[0].ep.ep_list);
drivers/usb/gadget/udc/atmel_usba_udc.c
2188
ep = &eps[i];
drivers/usb/gadget/udc/atmel_usba_udc.c
2190
ep->index = fifo_mode ? udc->fifo_cfg[i].hw_ep_num : i;
drivers/usb/gadget/udc/atmel_usba_udc.c
2193
if (ep->index == 0)
drivers/usb/gadget/udc/atmel_usba_udc.c
2194
ep->fifo_size = 64;
drivers/usb/gadget/udc/atmel_usba_udc.c
2196
ep->fifo_size = 1024;
drivers/usb/gadget/udc/atmel_usba_udc.c
2199
if (ep->fifo_size < udc->fifo_cfg[i].fifo_size)
drivers/usb/gadget/udc/atmel_usba_udc.c
220
debugfs_remove_recursive(ep->debugfs_dir);
drivers/usb/gadget/udc/atmel_usba_udc.c
2203
ep->fifo_size = udc->fifo_cfg[i].fifo_size;
drivers/usb/gadget/udc/atmel_usba_udc.c
2206
ep->nr_banks = ep_cfg->nr_banks;
drivers/usb/gadget/udc/atmel_usba_udc.c
2208
if (ep->nr_banks < udc->fifo_cfg[i].nr_banks)
drivers/usb/gadget/udc/atmel_usba_udc.c
2212
ep->nr_banks = udc->fifo_cfg[i].nr_banks;
drivers/usb/gadget/udc/atmel_usba_udc.c
2215
ep->can_dma = ep_cfg->can_dma;
drivers/usb/gadget/udc/atmel_usba_udc.c
2216
ep->can_isoc = ep_cfg->can_isoc;
drivers/usb/gadget/udc/atmel_usba_udc.c
2218
sprintf(ep->name, "ep%d", ep->index);
drivers/usb/gadget/udc/atmel_usba_udc.c
2219
ep->ep.name = ep->name;
drivers/usb/gadget/udc/atmel_usba_udc.c
2221
ep->ep_regs = udc->regs + USBA_EPT_BASE(i);
drivers/usb/gadget/udc/atmel_usba_udc.c
2222
ep->dma_regs = udc->regs + USBA_DMA_BASE(i);
drivers/usb/gadget/udc/atmel_usba_udc.c
2223
ep->fifo = udc->fifo + USBA_FIFO_BASE(i);
drivers/usb/gadget/udc/atmel_usba_udc.c
2224
ep->ep.ops = &usba_ep_ops;
drivers/usb/gadget/udc/atmel_usba_udc.c
2225
usb_ep_set_maxpacket_limit(&ep->ep, ep->fifo_size);
drivers/usb/gadget/udc/atmel_usba_udc.c
2226
ep->udc = udc;
drivers/usb/gadget/udc/atmel_usba_udc.c
2227
INIT_LIST_HEAD(&ep->queue);
drivers/usb/gadget/udc/atmel_usba_udc.c
2229
if (ep->index == 0) {
drivers/usb/gadget/udc/atmel_usba_udc.c
2230
ep->ep.caps.type_control = true;
drivers/usb/gadget/udc/atmel_usba_udc.c
2232
ep->ep.caps.type_iso = ep->can_isoc;
drivers/usb/gadget/udc/atmel_usba_udc.c
2233
ep->ep.caps.type_bulk = true;
drivers/usb/gadget/udc/atmel_usba_udc.c
2234
ep->ep.caps.type_int = true;
drivers/usb/gadget/udc/atmel_usba_udc.c
2237
ep->ep.caps.dir_in = true;
drivers/usb/gadget/udc/atmel_usba_udc.c
2238
ep->ep.caps.dir_out = true;
drivers/usb/gadget/udc/atmel_usba_udc.c
2245
if (ep->fifo_size <= 8)
drivers/usb/gadget/udc/atmel_usba_udc.c
2246
ep->ept_cfg = USBA_BF(EPT_SIZE, USBA_EPT_SIZE_8);
drivers/usb/gadget/udc/atmel_usba_udc.c
2249
ep->ept_cfg =
drivers/usb/gadget/udc/atmel_usba_udc.c
2250
USBA_BF(EPT_SIZE, fls(ep->fifo_size - 1) - 3);
drivers/usb/gadget/udc/atmel_usba_udc.c
2252
ep->ept_cfg |= USBA_BF(BK_NUMBER, ep->nr_banks);
drivers/usb/gadget/udc/atmel_usba_udc.c
2256
list_add_tail(&ep->ep.ep_list, &udc->gadget.ep_list);
drivers/usb/gadget/udc/atmel_usba_udc.c
250
struct usba_ep *ep)
drivers/usb/gadget/udc/atmel_usba_udc.c
255
static inline void usba_ep_cleanup_debugfs(struct usba_ep *ep)
drivers/usb/gadget/udc/atmel_usba_udc.c
39
struct usba_ep *ep = inode->i_private;
drivers/usb/gadget/udc/atmel_usba_udc.c
405
static void next_fifo_transaction(struct usba_ep *ep, struct usba_request *req)
drivers/usb/gadget/udc/atmel_usba_udc.c
411
if (transaction_len > ep->ep.maxpacket) {
drivers/usb/gadget/udc/atmel_usba_udc.c
412
transaction_len = ep->ep.maxpacket;
drivers/usb/gadget/udc/atmel_usba_udc.c
414
} else if (transaction_len == ep->ep.maxpacket && req->req.zero)
drivers/usb/gadget/udc/atmel_usba_udc.c
418
ep->ep.name, req, transaction_len,
drivers/usb/gadget/udc/atmel_usba_udc.c
421
memcpy_toio(ep->fifo, req->req.buf + req->req.actual, transaction_len);
drivers/usb/gadget/udc/atmel_usba_udc.c
422
usba_ep_writel(ep, SET_STA, USBA_TX_PK_RDY);
drivers/usb/gadget/udc/atmel_usba_udc.c
426
static void submit_request(struct usba_ep *ep, struct usba_request *req)
drivers/usb/gadget/udc/atmel_usba_udc.c
429
ep->ep.name, req, req->req.length);
drivers/usb/gadget/udc/atmel_usba_udc.c
436
usba_ep_writel(ep, CTL_ENB, USBA_TX_PK_RDY);
drivers/usb/gadget/udc/atmel_usba_udc.c
441
usba_ep_writel(ep, CTL_ENB, USBA_SHORT_PACKET);
drivers/usb/gadget/udc/atmel_usba_udc.c
443
usba_ep_writel(ep, CTL_DIS, USBA_SHORT_PACKET);
drivers/usb/gadget/udc/atmel_usba_udc.c
445
usba_dma_writel(ep, ADDRESS, req->req.dma);
drivers/usb/gadget/udc/atmel_usba_udc.c
446
usba_dma_writel(ep, CONTROL, req->ctrl);
drivers/usb/gadget/udc/atmel_usba_udc.c
448
next_fifo_transaction(ep, req);
drivers/usb/gadget/udc/atmel_usba_udc.c
450
usba_ep_writel(ep, CTL_DIS, USBA_TX_PK_RDY);
drivers/usb/gadget/udc/atmel_usba_udc.c
451
if (ep_is_control(ep))
drivers/usb/gadget/udc/atmel_usba_udc.c
452
usba_ep_writel(ep, CTL_ENB, USBA_TX_COMPLETE);
drivers/usb/gadget/udc/atmel_usba_udc.c
454
if (ep_is_control(ep))
drivers/usb/gadget/udc/atmel_usba_udc.c
455
usba_ep_writel(ep, CTL_DIS, USBA_TX_COMPLETE);
drivers/usb/gadget/udc/atmel_usba_udc.c
456
usba_ep_writel(ep, CTL_ENB, USBA_TX_PK_RDY);
drivers/usb/gadget/udc/atmel_usba_udc.c
461
static void submit_next_request(struct usba_ep *ep)
drivers/usb/gadget/udc/atmel_usba_udc.c
465
if (list_empty(&ep->queue)) {
drivers/usb/gadget/udc/atmel_usba_udc.c
466
usba_ep_writel(ep, CTL_DIS, USBA_TX_PK_RDY | USBA_RX_BK_RDY);
drivers/usb/gadget/udc/atmel_usba_udc.c
470
req = list_entry(ep->queue.next, struct usba_request, queue);
drivers/usb/gadget/udc/atmel_usba_udc.c
472
submit_request(ep, req);
drivers/usb/gadget/udc/atmel_usba_udc.c
475
static void send_status(struct usba_udc *udc, struct usba_ep *ep)
drivers/usb/gadget/udc/atmel_usba_udc.c
477
ep->state = STATUS_STAGE_IN;
drivers/usb/gadget/udc/atmel_usba_udc.c
478
usba_ep_writel(ep, SET_STA, USBA_TX_PK_RDY);
drivers/usb/gadget/udc/atmel_usba_udc.c
479
usba_ep_writel(ep, CTL_ENB, USBA_TX_COMPLETE);
drivers/usb/gadget/udc/atmel_usba_udc.c
48
spin_lock_irq(&ep->udc->lock);
drivers/usb/gadget/udc/atmel_usba_udc.c
482
static void receive_data(struct usba_ep *ep)
drivers/usb/gadget/udc/atmel_usba_udc.c
484
struct usba_udc *udc = ep->udc;
drivers/usb/gadget/udc/atmel_usba_udc.c
49
list_for_each_entry(req, &ep->queue, queue) {
drivers/usb/gadget/udc/atmel_usba_udc.c
490
status = usba_ep_readl(ep, STA);
drivers/usb/gadget/udc/atmel_usba_udc.c
496
if (list_empty(&ep->queue)) {
drivers/usb/gadget/udc/atmel_usba_udc.c
497
usba_ep_writel(ep, CTL_DIS, USBA_RX_BK_RDY);
drivers/usb/gadget/udc/atmel_usba_udc.c
500
req = list_entry(ep->queue.next,
drivers/usb/gadget/udc/atmel_usba_udc.c
513
ep->fifo, bytecount);
drivers/usb/gadget/udc/atmel_usba_udc.c
516
usba_ep_writel(ep, CLR_STA, USBA_RX_BK_RDY);
drivers/usb/gadget/udc/atmel_usba_udc.c
519
DBG(DBG_QUEUE, "%s: request done\n", ep->ep.name);
drivers/usb/gadget/udc/atmel_usba_udc.c
522
usba_ep_writel(ep, CTL_DIS, USBA_RX_BK_RDY);
drivers/usb/gadget/udc/atmel_usba_udc.c
524
usb_gadget_giveback_request(&ep->ep, &req->req);
drivers/usb/gadget/udc/atmel_usba_udc.c
528
status = usba_ep_readl(ep, STA);
drivers/usb/gadget/udc/atmel_usba_udc.c
531
if (is_complete && ep_is_control(ep)) {
drivers/usb/gadget/udc/atmel_usba_udc.c
532
send_status(udc, ep);
drivers/usb/gadget/udc/atmel_usba_udc.c
539
request_complete(struct usba_ep *ep, struct usba_request *req, int status)
drivers/usb/gadget/udc/atmel_usba_udc.c
541
struct usba_udc *udc = ep->udc;
drivers/usb/gadget/udc/atmel_usba_udc.c
549
usb_gadget_unmap_request(&udc->gadget, &req->req, ep->is_in);
drivers/usb/gadget/udc/atmel_usba_udc.c
55
spin_unlock_irq(&ep->udc->lock);
drivers/usb/gadget/udc/atmel_usba_udc.c
553
ep->ep.name, req, req->req.status, req->req.actual);
drivers/usb/gadget/udc/atmel_usba_udc.c
556
usb_gadget_giveback_request(&ep->ep, &req->req);
drivers/usb/gadget/udc/atmel_usba_udc.c
561
request_complete_list(struct usba_ep *ep, struct list_head *list, int status)
drivers/usb/gadget/udc/atmel_usba_udc.c
567
request_complete(ep, req, status);
drivers/usb/gadget/udc/atmel_usba_udc.c
574
struct usba_ep *ep = to_usba_ep(_ep);
drivers/usb/gadget/udc/atmel_usba_udc.c
575
struct usba_udc *udc = ep->udc;
drivers/usb/gadget/udc/atmel_usba_udc.c
579
DBG(DBG_GADGET, "%s: ep_enable: desc=%p\n", ep->ep.name, desc);
drivers/usb/gadget/udc/atmel_usba_udc.c
583
if (((desc->bEndpointAddress & USB_ENDPOINT_NUMBER_MASK) != ep->index)
drivers/usb/gadget/udc/atmel_usba_udc.c
584
|| ep->index == 0
drivers/usb/gadget/udc/atmel_usba_udc.c
587
|| maxpacket > ep->fifo_size) {
drivers/usb/gadget/udc/atmel_usba_udc.c
592
ep->is_isoc = 0;
drivers/usb/gadget/udc/atmel_usba_udc.c
593
ep->is_in = 0;
drivers/usb/gadget/udc/atmel_usba_udc.c
596
ep->ep.name, ep->ept_cfg, maxpacket);
drivers/usb/gadget/udc/atmel_usba_udc.c
599
ep->is_in = 1;
drivers/usb/gadget/udc/atmel_usba_udc.c
600
ep->ept_cfg |= USBA_EPT_DIR_IN;
drivers/usb/gadget/udc/atmel_usba_udc.c
605
ep->ept_cfg |= USBA_BF(EPT_TYPE, USBA_EPT_TYPE_CONTROL);
drivers/usb/gadget/udc/atmel_usba_udc.c
608
if (!ep->can_isoc) {
drivers/usb/gadget/udc/atmel_usba_udc.c
61
spin_unlock_irq(&ep->udc->lock);
drivers/usb/gadget/udc/atmel_usba_udc.c
610
ep->ep.name);
drivers/usb/gadget/udc/atmel_usba_udc.c
622
ep->is_isoc = 1;
drivers/usb/gadget/udc/atmel_usba_udc.c
623
ep->ept_cfg |= USBA_BF(EPT_TYPE, USBA_EPT_TYPE_ISO);
drivers/usb/gadget/udc/atmel_usba_udc.c
624
ep->ept_cfg |= USBA_BF(NB_TRANS, nr_trans);
drivers/usb/gadget/udc/atmel_usba_udc.c
628
ep->ept_cfg |= USBA_BF(EPT_TYPE, USBA_EPT_TYPE_BULK);
drivers/usb/gadget/udc/atmel_usba_udc.c
631
ep->ept_cfg |= USBA_BF(EPT_TYPE, USBA_EPT_TYPE_INT);
drivers/usb/gadget/udc/atmel_usba_udc.c
635
spin_lock_irqsave(&ep->udc->lock, flags);
drivers/usb/gadget/udc/atmel_usba_udc.c
637
ep->ep.desc = desc;
drivers/usb/gadget/udc/atmel_usba_udc.c
638
ep->ep.maxpacket = maxpacket;
drivers/usb/gadget/udc/atmel_usba_udc.c
640
usba_ep_writel(ep, CFG, ep->ept_cfg);
drivers/usb/gadget/udc/atmel_usba_udc.c
641
usba_ep_writel(ep, CTL_ENB, USBA_EPT_ENABLE);
drivers/usb/gadget/udc/atmel_usba_udc.c
643
if (ep->can_dma) {
drivers/usb/gadget/udc/atmel_usba_udc.c
646
usba_int_enb_set(udc, USBA_BF(EPT_INT, 1 << ep->index) |
drivers/usb/gadget/udc/atmel_usba_udc.c
647
USBA_BF(DMA_INT, 1 << ep->index));
drivers/usb/gadget/udc/atmel_usba_udc.c
649
usba_ep_writel(ep, CTL_ENB, ctrl);
drivers/usb/gadget/udc/atmel_usba_udc.c
651
usba_int_enb_set(udc, USBA_BF(EPT_INT, 1 << ep->index));
drivers/usb/gadget/udc/atmel_usba_udc.c
656
DBG(DBG_HW, "EPT_CFG%d after init: %#08lx\n", ep->index,
drivers/usb/gadget/udc/atmel_usba_udc.c
657
(unsigned long)usba_ep_readl(ep, CFG));
drivers/usb/gadget/udc/atmel_usba_udc.c
666
struct usba_ep *ep = to_usba_ep(_ep);
drivers/usb/gadget/udc/atmel_usba_udc.c
667
struct usba_udc *udc = ep->udc;
drivers/usb/gadget/udc/atmel_usba_udc.c
671
DBG(DBG_GADGET, "ep_disable: %s\n", ep->ep.name);
drivers/usb/gadget/udc/atmel_usba_udc.c
675
if (!ep->ep.desc) {
drivers/usb/gadget/udc/atmel_usba_udc.c
677
DBG(DBG_ERR, "ep_disable: %s not enabled\n", ep->ep.name);
drivers/usb/gadget/udc/atmel_usba_udc.c
680
ep->ep.desc = NULL;
drivers/usb/gadget/udc/atmel_usba_udc.c
682
list_splice_init(&ep->queue, &req_list);
drivers/usb/gadget/udc/atmel_usba_udc.c
683
if (ep->can_dma) {
drivers/usb/gadget/udc/atmel_usba_udc.c
684
usba_dma_writel(ep, CONTROL, 0);
drivers/usb/gadget/udc/atmel_usba_udc.c
685
usba_dma_writel(ep, ADDRESS, 0);
drivers/usb/gadget/udc/atmel_usba_udc.c
686
usba_dma_readl(ep, STATUS);
drivers/usb/gadget/udc/atmel_usba_udc.c
688
usba_ep_writel(ep, CTL_DIS, USBA_EPT_ENABLE);
drivers/usb/gadget/udc/atmel_usba_udc.c
689
usba_int_enb_clear(udc, USBA_BF(EPT_INT, 1 << ep->index));
drivers/usb/gadget/udc/atmel_usba_udc.c
691
request_complete_list(ep, &req_list, -ESHUTDOWN);
drivers/usb/gadget/udc/atmel_usba_udc.c
724
static int queue_dma(struct usba_udc *udc, struct usba_ep *ep,
drivers/usb/gadget/udc/atmel_usba_udc.c
731
ep->ep.name, req->req.length, &req->req.dma,
drivers/usb/gadget/udc/atmel_usba_udc.c
742
ret = usb_gadget_map_request(&udc->gadget, &req->req, ep->is_in);
drivers/usb/gadget/udc/atmel_usba_udc.c
751
if (!ep->is_in)
drivers/usb/gadget/udc/atmel_usba_udc.c
761
if (ep->ep.desc) {
drivers/usb/gadget/udc/atmel_usba_udc.c
762
if (list_empty(&ep->queue))
drivers/usb/gadget/udc/atmel_usba_udc.c
763
submit_request(ep, req);
drivers/usb/gadget/udc/atmel_usba_udc.c
765
list_add_tail(&req->queue, &ep->queue);
drivers/usb/gadget/udc/atmel_usba_udc.c
777
struct usba_ep *ep = to_usba_ep(_ep);
drivers/usb/gadget/udc/atmel_usba_udc.c
778
struct usba_udc *udc = ep->udc;
drivers/usb/gadget/udc/atmel_usba_udc.c
783
ep->ep.name, req, _req->length);
drivers/usb/gadget/udc/atmel_usba_udc.c
786
!ep->ep.desc)
drivers/usb/gadget/udc/atmel_usba_udc.c
796
if (ep->can_dma)
drivers/usb/gadget/udc/atmel_usba_udc.c
797
return queue_dma(udc, ep, req, gfp_flags);
drivers/usb/gadget/udc/atmel_usba_udc.c
802
if (ep->ep.desc) {
drivers/usb/gadget/udc/atmel_usba_udc.c
803
list_add_tail(&req->queue, &ep->queue);
drivers/usb/gadget/udc/atmel_usba_udc.c
805
if ((!ep_is_control(ep) && ep->is_in) ||
drivers/usb/gadget/udc/atmel_usba_udc.c
806
(ep_is_control(ep)
drivers/usb/gadget/udc/atmel_usba_udc.c
807
&& (ep->state == DATA_STAGE_IN
drivers/usb/gadget/udc/atmel_usba_udc.c
808
|| ep->state == STATUS_STAGE_IN)))
drivers/usb/gadget/udc/atmel_usba_udc.c
809
usba_ep_writel(ep, CTL_ENB, USBA_TX_PK_RDY);
drivers/usb/gadget/udc/atmel_usba_udc.c
811
usba_ep_writel(ep, CTL_ENB, USBA_RX_BK_RDY);
drivers/usb/gadget/udc/atmel_usba_udc.c
820
usba_update_req(struct usba_ep *ep, struct usba_request *req, u32 status)
drivers/usb/gadget/udc/atmel_usba_udc.c
825
static int stop_dma(struct usba_ep *ep, u32 *pstatus)
drivers/usb/gadget/udc/atmel_usba_udc.c
834
usba_dma_writel(ep, CONTROL, 0);
drivers/usb/gadget/udc/atmel_usba_udc.c
838
status = usba_dma_readl(ep, STATUS);
drivers/usb/gadget/udc/atmel_usba_udc.c
848
dev_err(&ep->udc->pdev->dev,
drivers/usb/gadget/udc/atmel_usba_udc.c
850
ep->ep.name);
drivers/usb/gadget/udc/atmel_usba_udc.c
859
struct usba_ep *ep = to_usba_ep(_ep);
drivers/usb/gadget/udc/atmel_usba_udc.c
860
struct usba_udc *udc = ep->udc;
drivers/usb/gadget/udc/atmel_usba_udc.c
867
ep->ep.name, _req);
drivers/usb/gadget/udc/atmel_usba_udc.c
871
list_for_each_entry(iter, &ep->queue, queue) {
drivers/usb/gadget/udc/atmel_usba_udc.c
888
if (ep->queue.next == &req->queue) {
drivers/usb/gadget/udc/atmel_usba_udc.c
889
status = usba_dma_readl(ep, STATUS);
drivers/usb/gadget/udc/atmel_usba_udc.c
891
stop_dma(ep, &status);
drivers/usb/gadget/udc/atmel_usba_udc.c
894
ep->last_dma_status = status;
drivers/usb/gadget/udc/atmel_usba_udc.c
897
usba_writel(udc, EPT_RST, 1 << ep->index);
drivers/usb/gadget/udc/atmel_usba_udc.c
899
usba_update_req(ep, req, status);
drivers/usb/gadget/udc/atmel_usba_udc.c
909
request_complete(ep, req, -ECONNRESET);
drivers/usb/gadget/udc/atmel_usba_udc.c
912
submit_next_request(ep);
drivers/usb/gadget/udc/atmel_usba_udc.c
920
struct usba_ep *ep = to_usba_ep(_ep);
drivers/usb/gadget/udc/atmel_usba_udc.c
921
struct usba_udc *udc = ep->udc;
drivers/usb/gadget/udc/atmel_usba_udc.c
925
DBG(DBG_GADGET, "endpoint %s: %s HALT\n", ep->ep.name,
drivers/usb/gadget/udc/atmel_usba_udc.c
928
if (!ep->ep.desc) {
drivers/usb/gadget/udc/atmel_usba_udc.c
930
ep->ep.name);
drivers/usb/gadget/udc/atmel_usba_udc.c
933
if (ep->is_isoc) {
drivers/usb/gadget/udc/atmel_usba_udc.c
935
ep->ep.name);
drivers/usb/gadget/udc/atmel_usba_udc.c
945
if (!list_empty(&ep->queue)
drivers/usb/gadget/udc/atmel_usba_udc.c
946
|| ((value && ep->is_in && (usba_ep_readl(ep, STA)
drivers/usb/gadget/udc/atmel_usba_udc.c
951
usba_ep_writel(ep, SET_STA, USBA_FORCE_STALL);
drivers/usb/gadget/udc/atmel_usba_udc.c
953
usba_ep_writel(ep, CLR_STA,
drivers/usb/gadget/udc/atmel_usba_udc.c
955
usba_ep_readl(ep, STA);
drivers/usb/gadget/udc/atmel_usba_udc.c
965
struct usba_ep *ep = to_usba_ep(_ep);
drivers/usb/gadget/udc/atmel_usba_udc.c
967
return USBA_BFEXT(BYTE_COUNT, usba_ep_readl(ep, STA));
drivers/usb/gadget/udc/atmel_usba_udc.c
972
struct usba_ep *ep = to_usba_ep(_ep);
drivers/usb/gadget/udc/atmel_usba_udc.c
973
struct usba_udc *udc = ep->udc;
drivers/usb/gadget/udc/atmel_usba_udc.c
975
usba_writel(udc, EPT_RST, 1 << ep->index);
drivers/usb/gadget/udc/atmel_usba_udc.h
192
#define usba_ep_readl(ep, reg) \
drivers/usb/gadget/udc/atmel_usba_udc.h
193
readl_relaxed((ep)->ep_regs + USBA_EPT_##reg)
drivers/usb/gadget/udc/atmel_usba_udc.h
194
#define usba_ep_writel(ep, reg, value) \
drivers/usb/gadget/udc/atmel_usba_udc.h
195
writel_relaxed((value), (ep)->ep_regs + USBA_EPT_##reg)
drivers/usb/gadget/udc/atmel_usba_udc.h
196
#define usba_dma_readl(ep, reg) \
drivers/usb/gadget/udc/atmel_usba_udc.h
197
readl_relaxed((ep)->dma_regs + USBA_DMA_##reg)
drivers/usb/gadget/udc/atmel_usba_udc.h
198
#define usba_dma_writel(ep, reg, value) \
drivers/usb/gadget/udc/atmel_usba_udc.h
199
writel_relaxed((value), (ep)->dma_regs + USBA_DMA_##reg)
drivers/usb/gadget/udc/atmel_usba_udc.h
274
struct usb_ep ep;
drivers/usb/gadget/udc/atmel_usba_udc.h
363
static inline struct usba_ep *to_usba_ep(struct usb_ep *ep)
drivers/usb/gadget/udc/atmel_usba_udc.h
365
return container_of(ep, struct usba_ep, ep);
drivers/usb/gadget/udc/atmel_usba_udc.h
378
#define ep_is_control(ep) ((ep)->index == 0)
drivers/usb/gadget/udc/atmel_usba_udc.h
379
#define ep_is_idle(ep) ((ep)->state == EP_STATE_IDLE)
drivers/usb/gadget/udc/bcm63xx_udc.c
1030
static int bcm63xx_ep_enable(struct usb_ep *ep,
drivers/usb/gadget/udc/bcm63xx_udc.c
1033
struct bcm63xx_ep *bep = our_ep(ep);
drivers/usb/gadget/udc/bcm63xx_udc.c
1038
if (!ep || !desc || ep->name == bcm63xx_ep0name)
drivers/usb/gadget/udc/bcm63xx_udc.c
1059
ep->desc = desc;
drivers/usb/gadget/udc/bcm63xx_udc.c
1060
ep->maxpacket = usb_endpoint_maxp(desc);
drivers/usb/gadget/udc/bcm63xx_udc.c
1070
static int bcm63xx_ep_disable(struct usb_ep *ep)
drivers/usb/gadget/udc/bcm63xx_udc.c
1072
struct bcm63xx_ep *bep = our_ep(ep);
drivers/usb/gadget/udc/bcm63xx_udc.c
1078
if (!ep || !ep->desc)
drivers/usb/gadget/udc/bcm63xx_udc.c
1098
usb_gadget_giveback_request(&iudma->bep->ep, &breq->req);
drivers/usb/gadget/udc/bcm63xx_udc.c
1102
ep->desc = NULL;
drivers/usb/gadget/udc/bcm63xx_udc.c
1113
static struct usb_request *bcm63xx_udc_alloc_request(struct usb_ep *ep,
drivers/usb/gadget/udc/bcm63xx_udc.c
1129
static void bcm63xx_udc_free_request(struct usb_ep *ep,
drivers/usb/gadget/udc/bcm63xx_udc.c
1150
static int bcm63xx_udc_queue(struct usb_ep *ep, struct usb_request *req,
drivers/usb/gadget/udc/bcm63xx_udc.c
1153
struct bcm63xx_ep *bep = our_ep(ep);
drivers/usb/gadget/udc/bcm63xx_udc.c
1159
if (unlikely(!req || !req->complete || !req->buf || !ep))
drivers/usb/gadget/udc/bcm63xx_udc.c
1203
static int bcm63xx_udc_dequeue(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/udc/bcm63xx_udc.c
1205
struct bcm63xx_ep *bep = our_ep(ep);
drivers/usb/gadget/udc/bcm63xx_udc.c
1239
req->complete(ep, req);
drivers/usb/gadget/udc/bcm63xx_udc.c
1251
static int bcm63xx_udc_set_halt(struct usb_ep *ep, int value)
drivers/usb/gadget/udc/bcm63xx_udc.c
1253
struct bcm63xx_ep *bep = our_ep(ep);
drivers/usb/gadget/udc/bcm63xx_udc.c
1271
static int bcm63xx_udc_set_wedge(struct usb_ep *ep)
drivers/usb/gadget/udc/bcm63xx_udc.c
1273
struct bcm63xx_ep *bep = our_ep(ep);
drivers/usb/gadget/udc/bcm63xx_udc.c
1410
req->complete(&udc->bep[0].ep, req);
drivers/usb/gadget/udc/bcm63xx_udc.c
2107
req->complete(&bep->ep, req);
drivers/usb/gadget/udc/bcm63xx_udc.c
241
struct usb_ep ep;
drivers/usb/gadget/udc/bcm63xx_udc.c
342
static inline struct bcm63xx_ep *our_ep(struct usb_ep *ep)
drivers/usb/gadget/udc/bcm63xx_udc.c
344
return container_of(ep, struct bcm63xx_ep, ep);
drivers/usb/gadget/udc/bcm63xx_udc.c
566
usb_ep_set_maxpacket_limit(&udc->bep[idx].ep, max_pkt);
drivers/usb/gadget/udc/bcm63xx_udc.c
955
bep->ep.name = bcm63xx_ep_info[i].name;
drivers/usb/gadget/udc/bcm63xx_udc.c
956
bep->ep.caps = bcm63xx_ep_info[i].caps;
drivers/usb/gadget/udc/bcm63xx_udc.c
958
bep->ep.ops = &bcm63xx_udc_ep_ops;
drivers/usb/gadget/udc/bcm63xx_udc.c
959
list_add_tail(&bep->ep.ep_list, &udc->gadget.ep_list);
drivers/usb/gadget/udc/bcm63xx_udc.c
961
usb_ep_set_maxpacket_limit(&bep->ep, BCM63XX_MAX_CTRL_PKT);
drivers/usb/gadget/udc/bcm63xx_udc.c
963
bep->ep.desc = NULL;
drivers/usb/gadget/udc/bcm63xx_udc.c
967
udc->gadget.ep0 = &udc->bep[0].ep;
drivers/usb/gadget/udc/bcm63xx_udc.c
968
list_del(&udc->bep[0].ep.ep_list);
drivers/usb/gadget/udc/bdc/bdc.h
336
struct bdc_ep *ep;
drivers/usb/gadget/udc/bdc/bdc_cmd.c
108
int bdc_dconfig_ep(struct bdc *bdc, struct bdc_ep *ep)
drivers/usb/gadget/udc/bdc/bdc_cmd.c
112
cmd_sc = BDC_SUB_CMD_DRP_EP|BDC_CMD_EPN(ep->ep_num)|BDC_CMD_EPC;
drivers/usb/gadget/udc/bdc/bdc_cmd.c
114
ep->ep_num, cmd_sc);
drivers/usb/gadget/udc/bdc/bdc_cmd.c
120
static void ep_bd_list_reinit(struct bdc_ep *ep)
drivers/usb/gadget/udc/bdc/bdc_cmd.c
122
struct bdc *bdc = ep->bdc;
drivers/usb/gadget/udc/bdc/bdc_cmd.c
125
ep->bd_list.eqp_bdi = 0;
drivers/usb/gadget/udc/bdc/bdc_cmd.c
126
ep->bd_list.hwd_bdi = 0;
drivers/usb/gadget/udc/bdc/bdc_cmd.c
127
bd = ep->bd_list.bd_table_array[0]->start_bd;
drivers/usb/gadget/udc/bdc/bdc_cmd.c
128
dev_dbg(bdc->dev, "%s ep:%p bd:%p\n", __func__, ep, bd);
drivers/usb/gadget/udc/bdc/bdc_cmd.c
134
int bdc_config_ep(struct bdc *bdc, struct bdc_ep *ep)
drivers/usb/gadget/udc/bdc/bdc_cmd.c
142
desc = ep->desc;
drivers/usb/gadget/udc/bdc/bdc_cmd.c
143
comp_desc = ep->comp_desc;
drivers/usb/gadget/udc/bdc/bdc_cmd.c
145
param0 = lower_32_bits(ep->bd_list.bd_table_array[0]->dma);
drivers/usb/gadget/udc/bdc/bdc_cmd.c
146
param1 = upper_32_bits(ep->bd_list.bd_table_array[0]->dma);
drivers/usb/gadget/udc/bdc/bdc_cmd.c
205
cmd_sc |= BDC_CMD_EPC|BDC_CMD_EPN(ep->ep_num)|BDC_SUB_CMD_ADD_EP;
drivers/usb/gadget/udc/bdc/bdc_cmd.c
213
ep_bd_list_reinit(ep);
drivers/usb/gadget/udc/bdc/bdc_cmd.c
222
int bdc_ep_bla(struct bdc *bdc, struct bdc_ep *ep, dma_addr_t dma_addr)
drivers/usb/gadget/udc/bdc/bdc_cmd.c
234
cmd_sc |= BDC_CMD_EPN(ep->ep_num)|BDC_CMD_BLA;
drivers/usb/gadget/udc/bdc/bdc_cmd.c
299
struct bdc_ep *ep;
drivers/usb/gadget/udc/bdc/bdc_cmd.c
304
ep = bdc->bdc_ep_array[epnum];
drivers/usb/gadget/udc/bdc/bdc_cmd.c
311
if (!(ep->flags & BDC_EP_STALL)) {
drivers/usb/gadget/udc/bdc/bdc_cmd.c
337
struct bdc_ep *ep;
drivers/usb/gadget/udc/bdc/bdc_cmd.c
341
ep = bdc->bdc_ep_array[epnum];
drivers/usb/gadget/udc/bdc/bdc_cmd.c
343
ep->name, ep->flags);
drivers/usb/gadget/udc/bdc/bdc_cmd.c
345
if (!(ep->flags & BDC_EP_ENABLED)) {
drivers/usb/gadget/udc/bdc/bdc_cmd.c
349
if ((ep->flags & BDC_EP_STALL) || (ep->flags & BDC_EP_STOP))
drivers/usb/gadget/udc/bdc/bdc_cmd.c
360
ret, ep->name);
drivers/usb/gadget/udc/bdc/bdc_cmd.c
363
ep->flags |= BDC_EP_STOP;
drivers/usb/gadget/udc/bdc/bdc_cmd.h
14
int bdc_config_ep(struct bdc *bdc, struct bdc_ep *ep);
drivers/usb/gadget/udc/bdc/bdc_cmd.h
15
int bdc_dconfig_ep(struct bdc *bdc, struct bdc_ep *ep);
drivers/usb/gadget/udc/bdc/bdc_cmd.h
19
int bdc_ep_bla(struct bdc *bdc, struct bdc_ep *ep, dma_addr_t dma_addr);
drivers/usb/gadget/udc/bdc/bdc_dbg.c
85
void bdc_dbg_bd_list(struct bdc *bdc, struct bdc_ep *ep)
drivers/usb/gadget/udc/bdc/bdc_dbg.c
87
struct bd_list *bd_list = &ep->bd_list;
drivers/usb/gadget/udc/bdc/bdc_dbg.c
96
ep->name, ep->ep_num);
drivers/usb/gadget/udc/bdc/bdc_dbg.h
15
void bdc_dbg_bd_list(struct bdc *bdc, struct bdc_ep *ep);
drivers/usb/gadget/udc/bdc/bdc_dbg.h
26
static inline void bdc_dbg_bd_list(struct bdc *bdc, struct bdc_ep *ep)
drivers/usb/gadget/udc/bdc/bdc_ep.c
1009
if (!(bdi_to_tbi(ep, start_bdi) ==
drivers/usb/gadget/udc/bdc/bdc_ep.c
1010
bdi_to_tbi(ep, short_bdi)))
drivers/usb/gadget/udc/bdc/bdc_ep.c
1026
end_bdi = find_end_bdi(ep, bd_xfr->next_hwd_bdi);
drivers/usb/gadget/udc/bdc/bdc_ep.c
1028
ep->ignore_next_sr = true;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1031
short_bd = bdi_to_bd(ep, short_bdi);
drivers/usb/gadget/udc/bdc/bdc_ep.c
1048
ep->bd_list.hwd_bdi = bd_xfr->next_hwd_bdi;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1050
dev_dbg(bdc->dev, "short xfr on %d\n", ep->ep_num);
drivers/usb/gadget/udc/bdc/bdc_ep.c
1054
bdc_req_complete(ep, bd_xfr->req, status);
drivers/usb/gadget/udc/bdc/bdc_ep.c
1089
struct bdc_ep *ep = bdc->bdc_ep_array[1];
drivers/usb/gadget/udc/bdc/bdc_ep.c
1094
ep_set_halt(ep, 1);
drivers/usb/gadget/udc/bdc/bdc_ep.c
1097
while (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/bdc/bdc_ep.c
1098
req = list_entry(ep->queue.next, struct bdc_req,
drivers/usb/gadget/udc/bdc/bdc_ep.c
1100
bdc_req_complete(ep, req, -ESHUTDOWN);
drivers/usb/gadget/udc/bdc/bdc_ep.c
121
static int ep_bd_list_alloc(struct bdc_ep *ep)
drivers/usb/gadget/udc/bdc/bdc_ep.c
1232
struct bdc_ep *ep;
drivers/usb/gadget/udc/bdc/bdc_ep.c
125
struct bdc *bdc = ep->bdc;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1289
ep = bdc->bdc_ep_array[epnum];
drivers/usb/gadget/udc/bdc/bdc_ep.c
129
if (usb_endpoint_xfer_isoc(ep->desc))
drivers/usb/gadget/udc/bdc/bdc_ep.c
1290
if (!ep)
drivers/usb/gadget/udc/bdc/bdc_ep.c
1293
return ep_set_halt(ep, set);
drivers/usb/gadget/udc/bdc/bdc_ep.c
1307
struct bdc_ep *ep;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1355
ep = bdc->bdc_ep_array[epnum];
drivers/usb/gadget/udc/bdc/bdc_ep.c
1356
if (!ep) {
drivers/usb/gadget/udc/bdc/bdc_ep.c
1360
if (ep->flags & BDC_EP_STALL)
drivers/usb/gadget/udc/bdc/bdc_ep.c
138
__func__, ep, num_tabs);
drivers/usb/gadget/udc/bdc/bdc_ep.c
1387
struct bdc_ep *ep;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1396
ep = bdc->bdc_ep_array[1];
drivers/usb/gadget/udc/bdc/bdc_ep.c
1397
bdc->ep0_req.ep = ep;
drivers/usb/gadget/udc/bdc/bdc_ep.c
141
ep->bd_list.bd_table_array = kzalloc_objs(struct bd_table *, num_tabs,
drivers/usb/gadget/udc/bdc/bdc_ep.c
1415
bdc->ep0_req.ep = bdc->bdc_ep_array[1];
drivers/usb/gadget/udc/bdc/bdc_ep.c
143
if (!ep->bd_list.bd_table_array)
drivers/usb/gadget/udc/bdc/bdc_ep.c
1511
struct bdc_ep *ep;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1515
ep = bdc->bdc_ep_array[1];
drivers/usb/gadget/udc/bdc/bdc_ep.c
1517
if (ep->flags & BDC_EP_STALL) {
drivers/usb/gadget/udc/bdc/bdc_ep.c
1518
ret = ep_set_halt(ep, 0);
drivers/usb/gadget/udc/bdc/bdc_ep.c
1550
struct bdc_ep *ep;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1556
ep = bdc->bdc_ep_array[1];
drivers/usb/gadget/udc/bdc/bdc_ep.c
1562
if (ep->flags & BDC_EP_STALL) {
drivers/usb/gadget/udc/bdc/bdc_ep.c
1563
ret = ep_set_halt(ep, 0);
drivers/usb/gadget/udc/bdc/bdc_ep.c
1645
struct bdc_ep *ep;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1650
ep = bdc->bdc_ep_array[ep_num];
drivers/usb/gadget/udc/bdc/bdc_ep.c
1651
if (!ep || !(ep->flags & BDC_EP_ENABLED)) {
drivers/usb/gadget/udc/bdc/bdc_ep.c
1666
__func__, sr_status, ep->name);
drivers/usb/gadget/udc/bdc/bdc_ep.c
1671
handle_xsr_succ_status(bdc, ep, sreport);
drivers/usb/gadget/udc/bdc/bdc_ep.c
168
ep->bd_list.bd_table_array[index] = bd_table;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1714
struct bdc_ep *ep;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1724
ep = to_bdc_ep(_ep);
drivers/usb/gadget/udc/bdc/bdc_ep.c
1726
bdc = ep->bdc;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1727
dev_dbg(bdc->dev, "%s ep:%p req:%p\n", __func__, ep, req);
drivers/usb/gadget/udc/bdc/bdc_ep.c
1729
_req, ep->name, _req->length, _req->zero);
drivers/usb/gadget/udc/bdc/bdc_ep.c
1731
if (!ep->usb_ep.desc) {
drivers/usb/gadget/udc/bdc/bdc_ep.c
1734
_req, ep->name);
drivers/usb/gadget/udc/bdc/bdc_ep.c
174
chain_table(prev_table, ep->bd_list.bd_table_array[0], bd_p_tab);
drivers/usb/gadget/udc/bdc/bdc_ep.c
1745
if (ep == bdc->bdc_ep_array[1])
drivers/usb/gadget/udc/bdc/bdc_ep.c
1746
ret = ep0_queue(ep, req);
drivers/usb/gadget/udc/bdc/bdc_ep.c
1748
ret = ep_queue(ep, req);
drivers/usb/gadget/udc/bdc/bdc_ep.c
176
ep->bd_list.num_tabs = num_tabs;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1761
struct bdc_ep *ep;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1768
ep = to_bdc_ep(_ep);
drivers/usb/gadget/udc/bdc/bdc_ep.c
177
ep->bd_list.max_bdi = (num_tabs * bd_p_tab) - 1;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1770
bdc = ep->bdc;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1771
dev_dbg(bdc->dev, "%s ep:%s req:%p\n", __func__, ep->name, req);
drivers/usb/gadget/udc/bdc/bdc_ep.c
1772
bdc_dbg_bd_list(bdc, ep);
drivers/usb/gadget/udc/bdc/bdc_ep.c
1777
list_for_each_entry(iter, &ep->queue, queue) {
drivers/usb/gadget/udc/bdc/bdc_ep.c
178
ep->bd_list.num_tabs = num_tabs;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1788
ret = ep_dequeue(ep, req);
drivers/usb/gadget/udc/bdc/bdc_ep.c
179
ep->bd_list.num_bds_table = bd_p_tab;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1793
bdc_req_complete(ep, req, -ECONNRESET);
drivers/usb/gadget/udc/bdc/bdc_ep.c
1796
bdc_dbg_bd_list(bdc, ep);
drivers/usb/gadget/udc/bdc/bdc_ep.c
180
ep->bd_list.eqp_bdi = 0;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1805
struct bdc_ep *ep;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1809
ep = to_bdc_ep(_ep);
drivers/usb/gadget/udc/bdc/bdc_ep.c
181
ep->bd_list.hwd_bdi = 0;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1810
bdc = ep->bdc;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1811
dev_dbg(bdc->dev, "%s ep:%s value=%d\n", __func__, ep->name, value);
drivers/usb/gadget/udc/bdc/bdc_ep.c
1813
if (usb_endpoint_xfer_isoc(ep->usb_ep.desc))
drivers/usb/gadget/udc/bdc/bdc_ep.c
1815
else if (!list_empty(&ep->queue))
drivers/usb/gadget/udc/bdc/bdc_ep.c
1818
ret = ep_set_halt(ep, value);
drivers/usb/gadget/udc/bdc/bdc_ep.c
1829
struct bdc_ep *ep;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1835
ep = to_bdc_ep(_ep);
drivers/usb/gadget/udc/bdc/bdc_ep.c
1836
req->ep = ep;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1837
req->epnum = ep->ep_num;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1839
dev_dbg(ep->bdc->dev, "%s ep:%s req:%p\n", __func__, ep->name, req);
drivers/usb/gadget/udc/bdc/bdc_ep.c
186
ep_bd_list_free(ep, num_tabs);
drivers/usb/gadget/udc/bdc/bdc_ep.c
1860
struct bdc_ep *ep;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1874
ep = to_bdc_ep(_ep);
drivers/usb/gadget/udc/bdc/bdc_ep.c
1875
bdc = ep->bdc;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1878
if (ep == bdc->bdc_ep_array[1])
drivers/usb/gadget/udc/bdc/bdc_ep.c
1886
dev_dbg(bdc->dev, "%s Enabling %s\n", __func__, ep->name);
drivers/usb/gadget/udc/bdc/bdc_ep.c
1888
ep->desc = desc;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1889
ep->comp_desc = _ep->comp_desc;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1890
ret = bdc_ep_enable(ep);
drivers/usb/gadget/udc/bdc/bdc_ep.c
1899
struct bdc_ep *ep;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1907
ep = to_bdc_ep(_ep);
drivers/usb/gadget/udc/bdc/bdc_ep.c
1908
bdc = ep->bdc;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1911
if (ep == bdc->bdc_ep_array[1]) {
drivers/usb/gadget/udc/bdc/bdc_ep.c
1917
__func__, ep->name, ep->flags);
drivers/usb/gadget/udc/bdc/bdc_ep.c
1919
if (!(ep->flags & BDC_EP_ENABLED)) {
drivers/usb/gadget/udc/bdc/bdc_ep.c
1922
ep->name);
drivers/usb/gadget/udc/bdc/bdc_ep.c
1926
ret = bdc_ep_disable(ep);
drivers/usb/gadget/udc/bdc/bdc_ep.c
1945
struct bdc_ep *ep;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1948
ep = kzalloc_obj(*ep);
drivers/usb/gadget/udc/bdc/bdc_ep.c
1949
if (!ep)
drivers/usb/gadget/udc/bdc/bdc_ep.c
1952
ep->bdc = bdc;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1953
ep->dir = dir;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1956
ep->usb_ep.caps.dir_in = true;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1958
ep->usb_ep.caps.dir_out = true;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1962
ep->ep_num = 1;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1963
bdc->bdc_ep_array[ep->ep_num] = ep;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1964
snprintf(ep->name, sizeof(ep->name), "ep%d", epnum - 1);
drivers/usb/gadget/udc/bdc/bdc_ep.c
1965
usb_ep_set_maxpacket_limit(&ep->usb_ep, EP0_MAX_PKT_SIZE);
drivers/usb/gadget/udc/bdc/bdc_ep.c
1966
ep->usb_ep.caps.type_control = true;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1967
ep->comp_desc = NULL;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1968
bdc->gadget.ep0 = &ep->usb_ep;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1971
ep->ep_num = epnum * 2 - 1;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1973
ep->ep_num = epnum * 2 - 2;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1975
bdc->bdc_ep_array[ep->ep_num] = ep;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1976
snprintf(ep->name, sizeof(ep->name), "ep%d%s", epnum - 1,
drivers/usb/gadget/udc/bdc/bdc_ep.c
1979
usb_ep_set_maxpacket_limit(&ep->usb_ep, 1024);
drivers/usb/gadget/udc/bdc/bdc_ep.c
1980
ep->usb_ep.caps.type_iso = true;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1981
ep->usb_ep.caps.type_bulk = true;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1982
ep->usb_ep.caps.type_int = true;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1983
ep->usb_ep.max_streams = 0;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1984
list_add_tail(&ep->usb_ep.ep_list, &bdc->gadget.ep_list);
drivers/usb/gadget/udc/bdc/bdc_ep.c
1986
ep->usb_ep.ops = &bdc_gadget_ep_ops;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1987
ep->usb_ep.name = ep->name;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1988
ep->flags = 0;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1989
ep->ignore_next_sr = false;
drivers/usb/gadget/udc/bdc/bdc_ep.c
1991
ep, ep->usb_ep.name, epnum, ep->ep_num);
drivers/usb/gadget/udc/bdc/bdc_ep.c
1993
INIT_LIST_HEAD(&ep->queue);
drivers/usb/gadget/udc/bdc/bdc_ep.c
214
static int bd_add_to_bdi(struct bdc_ep *ep, dma_addr_t bd_dma_addr)
drivers/usb/gadget/udc/bdc/bdc_ep.c
216
struct bd_list *bd_list = &ep->bd_list;
drivers/usb/gadget/udc/bdc/bdc_ep.c
218
struct bdc *bdc = ep->bdc;
drivers/usb/gadget/udc/bdc/bdc_ep.c
257
static int bdi_to_tbi(struct bdc_ep *ep, int bdi)
drivers/usb/gadget/udc/bdc/bdc_ep.c
261
tbi = bdi / ep->bd_list.num_bds_table;
drivers/usb/gadget/udc/bdc/bdc_ep.c
262
dev_vdbg(ep->bdc->dev,
drivers/usb/gadget/udc/bdc/bdc_ep.c
264
bdi, ep->bd_list.num_bds_table, tbi);
drivers/usb/gadget/udc/bdc/bdc_ep.c
270
static inline int find_end_bdi(struct bdc_ep *ep, int next_hwd_bdi)
drivers/usb/gadget/udc/bdc/bdc_ep.c
276
end_bdi = ep->bd_list.max_bdi - 1;
drivers/usb/gadget/udc/bdc/bdc_ep.c
277
else if ((end_bdi % (ep->bd_list.num_bds_table-1)) == 0)
drivers/usb/gadget/udc/bdc/bdc_ep.c
287
static int bd_available_ep(struct bdc_ep *ep)
drivers/usb/gadget/udc/bdc/bdc_ep.c
289
struct bd_list *bd_list = &ep->bd_list;
drivers/usb/gadget/udc/bdc/bdc_ep.c
291
struct bdc *bdc = ep->bdc;
drivers/usb/gadget/udc/bdc/bdc_ep.c
320
if (!(bdi_to_tbi(ep, bd_list->hwd_bdi)
drivers/usb/gadget/udc/bdc/bdc_ep.c
321
== bdi_to_tbi(ep, bd_list->eqp_bdi))) {
drivers/usb/gadget/udc/bdc/bdc_ep.c
342
struct bdc_ep *ep = bdc->bdc_ep_array[epnum];
drivers/usb/gadget/udc/bdc/bdc_ep.c
349
if (unlikely(ep->flags & BDC_EP_STOP))
drivers/usb/gadget/udc/bdc/bdc_ep.c
350
ep->flags &= ~BDC_EP_STOP;
drivers/usb/gadget/udc/bdc/bdc_ep.c
356
static struct bdc_bd *bdi_to_bd(struct bdc_ep *ep, int bdi)
drivers/usb/gadget/udc/bdc/bdc_ep.c
358
int tbi = bdi_to_tbi(ep, bdi);
drivers/usb/gadget/udc/bdc/bdc_ep.c
361
local_bdi = bdi - (tbi * ep->bd_list.num_bds_table);
drivers/usb/gadget/udc/bdc/bdc_ep.c
362
dev_vdbg(ep->bdc->dev,
drivers/usb/gadget/udc/bdc/bdc_ep.c
366
return (ep->bd_list.bd_table_array[tbi]->start_bd + local_bdi);
drivers/usb/gadget/udc/bdc/bdc_ep.c
370
static void ep_bdlist_eqp_adv(struct bdc_ep *ep)
drivers/usb/gadget/udc/bdc/bdc_ep.c
372
ep->bd_list.eqp_bdi++;
drivers/usb/gadget/udc/bdc/bdc_ep.c
374
if (((ep->bd_list.eqp_bdi + 1) % ep->bd_list.num_bds_table) == 0)
drivers/usb/gadget/udc/bdc/bdc_ep.c
375
ep->bd_list.eqp_bdi++;
drivers/usb/gadget/udc/bdc/bdc_ep.c
378
if (ep->bd_list.eqp_bdi == (ep->bd_list.max_bdi + 1))
drivers/usb/gadget/udc/bdc/bdc_ep.c
379
ep->bd_list.eqp_bdi = 0;
drivers/usb/gadget/udc/bdc/bdc_ep.c
388
req->ep->dir = 0;
drivers/usb/gadget/udc/bdc/bdc_ep.c
430
struct bdc_ep *ep;
drivers/usb/gadget/udc/bdc/bdc_ep.c
435
ep = req->ep;
drivers/usb/gadget/udc/bdc/bdc_ep.c
436
bd_list = &ep->bd_list;
drivers/usb/gadget/udc/bdc/bdc_ep.c
440
bd = bdi_to_bd(ep, bd_list->eqp_bdi);
drivers/usb/gadget/udc/bdc/bdc_ep.c
442
maxp = usb_endpoint_maxp(ep->desc);
drivers/usb/gadget/udc/bdc/bdc_ep.c
446
__func__, ep->name, num_bds, tfs, req_len, bd);
drivers/usb/gadget/udc/bdc/bdc_ep.c
455
if (ep->ep_num == 1) {
drivers/usb/gadget/udc/bdc/bdc_ep.c
461
if (!req->ep->dir)
drivers/usb/gadget/udc/bdc/bdc_ep.c
475
bd = bdi_to_bd(ep, ep->bd_list.eqp_bdi);
drivers/usb/gadget/udc/bdc/bdc_ep.c
486
ep_bdlist_eqp_adv(ep);
drivers/usb/gadget/udc/bdc/bdc_ep.c
491
ep->bd_list.eqp_bdi);
drivers/usb/gadget/udc/bdc/bdc_ep.c
492
bd = bdi_to_bd(ep, ep->bd_list.eqp_bdi);
drivers/usb/gadget/udc/bdc/bdc_ep.c
496
bd = bdi_to_bd(ep, bd_xfr->start_bdi);
drivers/usb/gadget/udc/bdc/bdc_ep.c
500
bd_xfr->next_hwd_bdi = ep->bd_list.eqp_bdi;
drivers/usb/gadget/udc/bdc/bdc_ep.c
511
struct bdc_ep *ep;
drivers/usb/gadget/udc/bdc/bdc_ep.c
514
ep = req->ep;
drivers/usb/gadget/udc/bdc/bdc_ep.c
517
ep->bd_list.eqp_bdi, ep->bd_list.hwd_bdi);
drivers/usb/gadget/udc/bdc/bdc_ep.c
52
static void ep_bd_list_free(struct bdc_ep *ep, u32 num_tabs)
drivers/usb/gadget/udc/bdc/bdc_ep.c
520
bd_available = bd_available_ep(ep);
drivers/usb/gadget/udc/bdc/bdc_ep.c
529
list_add_tail(&req->queue, &ep->queue);
drivers/usb/gadget/udc/bdc/bdc_ep.c
530
bdc_dbg_bd_list(bdc, ep);
drivers/usb/gadget/udc/bdc/bdc_ep.c
531
bdc_notify_xfr(bdc, ep->ep_num);
drivers/usb/gadget/udc/bdc/bdc_ep.c
537
static void bdc_req_complete(struct bdc_ep *ep, struct bdc_req *req,
drivers/usb/gadget/udc/bdc/bdc_ep.c
54
struct bd_list *bd_list = &ep->bd_list;
drivers/usb/gadget/udc/bdc/bdc_ep.c
540
struct bdc *bdc = ep->bdc;
drivers/usb/gadget/udc/bdc/bdc_ep.c
545
dev_dbg(bdc->dev, "%s ep:%s status:%d\n", __func__, ep->name, status);
drivers/usb/gadget/udc/bdc/bdc_ep.c
548
usb_gadget_unmap_request(&bdc->gadget, &req->usb_req, ep->dir);
drivers/usb/gadget/udc/bdc/bdc_ep.c
55
struct bdc *bdc = ep->bdc;
drivers/usb/gadget/udc/bdc/bdc_ep.c
551
usb_gadget_giveback_request(&ep->usb_ep, &req->usb_req);
drivers/usb/gadget/udc/bdc/bdc_ep.c
557
int bdc_ep_disable(struct bdc_ep *ep)
drivers/usb/gadget/udc/bdc/bdc_ep.c
564
bdc = ep->bdc;
drivers/usb/gadget/udc/bdc/bdc_ep.c
565
dev_dbg(bdc->dev, "%s() ep->ep_num=%d\n", __func__, ep->ep_num);
drivers/usb/gadget/udc/bdc/bdc_ep.c
567
ret = bdc_stop_ep(bdc, ep->ep_num);
drivers/usb/gadget/udc/bdc/bdc_ep.c
574
while (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/bdc/bdc_ep.c
575
req = list_entry(ep->queue.next, struct bdc_req,
drivers/usb/gadget/udc/bdc/bdc_ep.c
577
bdc_req_complete(ep, req, -ESHUTDOWN);
drivers/usb/gadget/udc/bdc/bdc_ep.c
580
ret = bdc_dconfig_ep(bdc, ep);
drivers/usb/gadget/udc/bdc/bdc_ep.c
585
ep->flags = 0;
drivers/usb/gadget/udc/bdc/bdc_ep.c
587
if (ep->ep_num == 1)
drivers/usb/gadget/udc/bdc/bdc_ep.c
591
ep_bd_list_free(ep, ep->bd_list.num_tabs);
drivers/usb/gadget/udc/bdc/bdc_ep.c
592
ep->desc = NULL;
drivers/usb/gadget/udc/bdc/bdc_ep.c
593
ep->comp_desc = NULL;
drivers/usb/gadget/udc/bdc/bdc_ep.c
594
ep->usb_ep.desc = NULL;
drivers/usb/gadget/udc/bdc/bdc_ep.c
595
ep->ep_type = 0;
drivers/usb/gadget/udc/bdc/bdc_ep.c
60
__func__, ep->name, num_tabs);
drivers/usb/gadget/udc/bdc/bdc_ep.c
601
int bdc_ep_enable(struct bdc_ep *ep)
drivers/usb/gadget/udc/bdc/bdc_ep.c
606
bdc = ep->bdc;
drivers/usb/gadget/udc/bdc/bdc_ep.c
610
ret = ep_bd_list_alloc(ep);
drivers/usb/gadget/udc/bdc/bdc_ep.c
615
bdc_dbg_bd_list(bdc, ep);
drivers/usb/gadget/udc/bdc/bdc_ep.c
617
if (ep->ep_num == 1)
drivers/usb/gadget/udc/bdc/bdc_ep.c
621
ret = bdc_config_ep(bdc, ep);
drivers/usb/gadget/udc/bdc/bdc_ep.c
625
ep->usb_ep.maxpacket = usb_endpoint_maxp(ep->desc);
drivers/usb/gadget/udc/bdc/bdc_ep.c
626
ep->usb_ep.desc = ep->desc;
drivers/usb/gadget/udc/bdc/bdc_ep.c
627
ep->usb_ep.comp_desc = ep->comp_desc;
drivers/usb/gadget/udc/bdc/bdc_ep.c
628
ep->ep_type = usb_endpoint_type(ep->desc);
drivers/usb/gadget/udc/bdc/bdc_ep.c
629
ep->flags |= BDC_EP_ENABLED;
drivers/usb/gadget/udc/bdc/bdc_ep.c
63
dev_dbg(bdc->dev, "%s already freed\n", ep->name);
drivers/usb/gadget/udc/bdc/bdc_ep.c
640
struct bdc_ep *ep;
drivers/usb/gadget/udc/bdc/bdc_ep.c
643
ep = bdc->bdc_ep_array[1];
drivers/usb/gadget/udc/bdc/bdc_ep.c
644
status_req->ep = ep;
drivers/usb/gadget/udc/bdc/bdc_ep.c
655
static int ep0_queue(struct bdc_ep *ep, struct bdc_req *req)
drivers/usb/gadget/udc/bdc/bdc_ep.c
660
bdc = ep->bdc;
drivers/usb/gadget/udc/bdc/bdc_ep.c
664
req->epnum = ep->ep_num;
drivers/usb/gadget/udc/bdc/bdc_ep.c
685
ret = usb_gadget_map_request(&bdc->gadget, &req->usb_req, ep->dir);
drivers/usb/gadget/udc/bdc/bdc_ep.c
687
dev_err(bdc->dev, "dma mapping failed %s\n", ep->name);
drivers/usb/gadget/udc/bdc/bdc_ep.c
697
struct bdc_ep *ep;
drivers/usb/gadget/udc/bdc/bdc_ep.c
700
ep = bdc->bdc_ep_array[1];
drivers/usb/gadget/udc/bdc/bdc_ep.c
701
bdc->ep0_req.ep = ep;
drivers/usb/gadget/udc/bdc/bdc_ep.c
704
return ep0_queue(ep, &bdc->ep0_req);
drivers/usb/gadget/udc/bdc/bdc_ep.c
708
static int ep_queue(struct bdc_ep *ep, struct bdc_req *req)
drivers/usb/gadget/udc/bdc/bdc_ep.c
713
if (!req || !ep->usb_ep.desc)
drivers/usb/gadget/udc/bdc/bdc_ep.c
716
bdc = ep->bdc;
drivers/usb/gadget/udc/bdc/bdc_ep.c
720
req->epnum = ep->ep_num;
drivers/usb/gadget/udc/bdc/bdc_ep.c
722
ret = usb_gadget_map_request(&bdc->gadget, &req->usb_req, ep->dir);
drivers/usb/gadget/udc/bdc/bdc_ep.c
732
static int ep_dequeue(struct bdc_ep *ep, struct bdc_req *req)
drivers/usb/gadget/udc/bdc/bdc_ep.c
746
bdc = ep->bdc;
drivers/usb/gadget/udc/bdc/bdc_ep.c
748
eqp_bdi = ep->bd_list.eqp_bdi - 1;
drivers/usb/gadget/udc/bdc/bdc_ep.c
751
eqp_bdi = ep->bd_list.max_bdi;
drivers/usb/gadget/udc/bdc/bdc_ep.c
754
end_bdi = find_end_bdi(ep, req->bd_xfr.next_hwd_bdi);
drivers/usb/gadget/udc/bdc/bdc_ep.c
757
__func__, ep->name, start_bdi, end_bdi);
drivers/usb/gadget/udc/bdc/bdc_ep.c
759
ep, (void *)ep->usb_ep.desc);
drivers/usb/gadget/udc/bdc/bdc_ep.c
762
ret = bdc_stop_ep(bdc, ep->ep_num);
drivers/usb/gadget/udc/bdc/bdc_ep.c
781
curr_hw_dqpi = bd_add_to_bdi(ep, deq_ptr_64);
drivers/usb/gadget/udc/bdc/bdc_ep.c
821
tbi = bdi_to_tbi(ep, req->bd_xfr.next_hwd_bdi);
drivers/usb/gadget/udc/bdc/bdc_ep.c
822
table = ep->bd_list.bd_table_array[tbi];
drivers/usb/gadget/udc/bdc/bdc_ep.c
825
tbi * ep->bd_list.num_bds_table);
drivers/usb/gadget/udc/bdc/bdc_ep.c
827
first_req = list_first_entry(&ep->queue, struct bdc_req,
drivers/usb/gadget/udc/bdc/bdc_ep.c
843
bd_start = bdi_to_bd(ep, start_bdi);
drivers/usb/gadget/udc/bdc/bdc_ep.c
848
bdc_dbg_bd_list(bdc, ep);
drivers/usb/gadget/udc/bdc/bdc_ep.c
854
ret = bdc_ep_bla(bdc, ep, next_bd_dma);
drivers/usb/gadget/udc/bdc/bdc_ep.c
865
static int ep_set_halt(struct bdc_ep *ep, u32 value)
drivers/usb/gadget/udc/bdc/bdc_ep.c
870
bdc = ep->bdc;
drivers/usb/gadget/udc/bdc/bdc_ep.c
871
dev_dbg(bdc->dev, "%s ep:%s value=%d\n", __func__, ep->name, value);
drivers/usb/gadget/udc/bdc/bdc_ep.c
875
if (ep->ep_num == 1)
drivers/usb/gadget/udc/bdc/bdc_ep.c
878
ret = bdc_ep_set_stall(bdc, ep->ep_num);
drivers/usb/gadget/udc/bdc/bdc_ep.c
881
ep->name);
drivers/usb/gadget/udc/bdc/bdc_ep.c
883
ep->flags |= BDC_EP_STALL;
drivers/usb/gadget/udc/bdc/bdc_ep.c
887
ret = bdc_ep_clear_stall(bdc, ep->ep_num);
drivers/usb/gadget/udc/bdc/bdc_ep.c
890
ep->name);
drivers/usb/gadget/udc/bdc/bdc_ep.c
892
ep->flags &= ~BDC_EP_STALL;
drivers/usb/gadget/udc/bdc/bdc_ep.c
902
struct bdc_ep *ep;
drivers/usb/gadget/udc/bdc/bdc_ep.c
907
ep = bdc->bdc_ep_array[epnum];
drivers/usb/gadget/udc/bdc/bdc_ep.c
908
if (!ep)
drivers/usb/gadget/udc/bdc/bdc_ep.c
911
if (ep->flags & BDC_EP_ENABLED)
drivers/usb/gadget/udc/bdc/bdc_ep.c
912
ep_bd_list_free(ep, ep->bd_list.num_tabs);
drivers/usb/gadget/udc/bdc/bdc_ep.c
916
list_del(&ep->usb_ep.ep_list);
drivers/usb/gadget/udc/bdc/bdc_ep.c
918
kfree(ep);
drivers/usb/gadget/udc/bdc/bdc_ep.c
95
kfree(ep->bd_list.bd_table_array);
drivers/usb/gadget/udc/bdc/bdc_ep.c
951
static void handle_xsr_succ_status(struct bdc *bdc, struct bdc_ep *ep,
drivers/usb/gadget/udc/bdc/bdc_ep.c
955
struct bd_list *bd_list = &ep->bd_list;
drivers/usb/gadget/udc/bdc/bdc_ep.c
965
dev_dbg(bdc->dev, "%s ep:%p\n", __func__, ep);
drivers/usb/gadget/udc/bdc/bdc_ep.c
968
if (ep->ignore_next_sr) {
drivers/usb/gadget/udc/bdc/bdc_ep.c
969
ep->ignore_next_sr = false;
drivers/usb/gadget/udc/bdc/bdc_ep.c
973
if (unlikely(list_empty(&ep->queue))) {
drivers/usb/gadget/udc/bdc/bdc_ep.c
977
req = list_entry(ep->queue.next, struct bdc_req,
drivers/usb/gadget/udc/bdc/bdc_ep.c
997
short_bdi = bd_add_to_bdi(ep, deq_ptr_64);
drivers/usb/gadget/udc/bdc/bdc_ep.h
13
int bdc_ep_disable(struct bdc_ep *ep);
drivers/usb/gadget/udc/bdc/bdc_ep.h
14
int bdc_ep_enable(struct bdc_ep *ep);
drivers/usb/gadget/udc/bdc/bdc_udc.c
131
struct bdc_ep *ep;
drivers/usb/gadget/udc/bdc/bdc_udc.c
138
ep = bdc->bdc_ep_array[1];
drivers/usb/gadget/udc/bdc/bdc_udc.c
139
if (ep && (ep->flags & BDC_EP_ENABLED))
drivers/usb/gadget/udc/bdc/bdc_udc.c
141
bdc_ep_disable(ep);
drivers/usb/gadget/udc/cdns2/cdns2-ep0.c
500
static int cdns2_gadget_ep0_enable(struct usb_ep *ep,
drivers/usb/gadget/udc/cdns2/cdns2-ep0.c
510
static int cdns2_gadget_ep0_disable(struct usb_ep *ep)
drivers/usb/gadget/udc/cdns2/cdns2-ep0.c
515
static int cdns2_gadget_ep0_set_halt(struct usb_ep *ep, int value)
drivers/usb/gadget/udc/cdns2/cdns2-ep0.c
517
struct cdns2_endpoint *pep = ep_to_cdns2_ep(ep);
drivers/usb/gadget/udc/cdns2/cdns2-ep0.c
531
static int cdns2_gadget_ep0_set_wedge(struct usb_ep *ep)
drivers/usb/gadget/udc/cdns2/cdns2-ep0.c
533
return cdns2_gadget_ep0_set_halt(ep, 1);
drivers/usb/gadget/udc/cdns2/cdns2-ep0.c
536
static int cdns2_gadget_ep0_queue(struct usb_ep *ep,
drivers/usb/gadget/udc/cdns2/cdns2-ep0.c
540
struct cdns2_endpoint *pep = ep_to_cdns2_ep(ep);
drivers/usb/gadget/udc/cdns2/cdns2-ep0.c
598
(request->length % ep->maxpacket == 0))
drivers/usb/gadget/udc/cdns2/cdns2-gadget.c
1092
cs = pep->dir ? readb(&pdev->epx_regs->ep[pep->num - 1].txcs) :
drivers/usb/gadget/udc/cdns2/cdns2-gadget.c
1093
readb(&pdev->epx_regs->ep[pep->num - 1].rxcs);
drivers/usb/gadget/udc/cdns2/cdns2-gadget.c
1459
writeb(ep_cfg, &pdev->epx_regs->ep[pep->num - 1].txcon);
drivers/usb/gadget/udc/cdns2/cdns2-gadget.c
1462
writeb(ep_cfg, &pdev->epx_regs->ep[pep->num - 1].rxcon);
drivers/usb/gadget/udc/cdns2/cdns2-gadget.c
1502
struct usb_request *cdns2_gadget_ep_alloc_request(struct usb_ep *ep,
drivers/usb/gadget/udc/cdns2/cdns2-gadget.c
1505
struct cdns2_endpoint *pep = ep_to_cdns2_ep(ep);
drivers/usb/gadget/udc/cdns2/cdns2-gadget.c
1519
void cdns2_gadget_ep_free_request(struct usb_ep *ep,
drivers/usb/gadget/udc/cdns2/cdns2-gadget.c
1528
static int cdns2_gadget_ep_enable(struct usb_ep *ep,
drivers/usb/gadget/udc/cdns2/cdns2-gadget.c
1538
if (!ep || !desc || desc->bDescriptorType != USB_DT_ENDPOINT ||
drivers/usb/gadget/udc/cdns2/cdns2-gadget.c
1543
pep = ep_to_cdns2_ep(ep);
drivers/usb/gadget/udc/cdns2/cdns2-gadget.c
1612
static int cdns2_gadget_ep_disable(struct usb_ep *ep)
drivers/usb/gadget/udc/cdns2/cdns2-gadget.c
1620
if (!ep)
drivers/usb/gadget/udc/cdns2/cdns2-gadget.c
1623
pep = ep_to_cdns2_ep(ep);
drivers/usb/gadget/udc/cdns2/cdns2-gadget.c
1634
cdns2_select_ep(pdev, ep->desc->bEndpointAddress);
drivers/usb/gadget/udc/cdns2/cdns2-gadget.c
1661
ep->desc = NULL;
drivers/usb/gadget/udc/cdns2/cdns2-gadget.c
1696
static int cdns2_gadget_ep_queue(struct usb_ep *ep, struct usb_request *request,
drivers/usb/gadget/udc/cdns2/cdns2-gadget.c
1706
if (!request || !ep)
drivers/usb/gadget/udc/cdns2/cdns2-gadget.c
1709
pep = ep_to_cdns2_ep(ep);
drivers/usb/gadget/udc/cdns2/cdns2-gadget.c
1724
(request->length % ep->maxpacket == 0)) {
drivers/usb/gadget/udc/cdns2/cdns2-gadget.c
1727
zlp_request = cdns2_gadget_ep_alloc_request(ep, GFP_ATOMIC);
drivers/usb/gadget/udc/cdns2/cdns2-gadget.c
1739
int cdns2_gadget_ep_dequeue(struct usb_ep *ep,
drivers/usb/gadget/udc/cdns2/cdns2-gadget.c
1750
if (!ep || !request || !ep->desc)
drivers/usb/gadget/udc/cdns2/cdns2-gadget.c
1753
pep = ep_to_cdns2_ep(ep);
drivers/usb/gadget/udc/cdns2/cdns2-gadget.c
1835
conf = &pdev->epx_regs->ep[pep->num - 1].txcon;
drivers/usb/gadget/udc/cdns2/cdns2-gadget.c
1837
conf = &pdev->epx_regs->ep[pep->num - 1].rxcon;
drivers/usb/gadget/udc/cdns2/cdns2-gadget.c
1886
static int cdns2_gadget_ep_set_halt(struct usb_ep *ep, int value)
drivers/usb/gadget/udc/cdns2/cdns2-gadget.c
1888
struct cdns2_endpoint *pep = ep_to_cdns2_ep(ep);
drivers/usb/gadget/udc/cdns2/cdns2-gadget.c
1913
static int cdns2_gadget_ep_set_wedge(struct usb_ep *ep)
drivers/usb/gadget/udc/cdns2/cdns2-gadget.c
1915
struct cdns2_endpoint *pep = ep_to_cdns2_ep(ep);
drivers/usb/gadget/udc/cdns2/cdns2-gadget.c
1917
cdns2_gadget_ep_set_halt(ep, 1);
drivers/usb/gadget/udc/cdns2/cdns2-gadget.c
1928
struct usb_ep *ep;
drivers/usb/gadget/udc/cdns2/cdns2-gadget.c
1931
list_for_each_entry(ep, &pdev->gadget.ep_list, ep_list) {
drivers/usb/gadget/udc/cdns2/cdns2-gadget.c
1935
char c[2] = {ep->name[2], '\0'};
drivers/usb/gadget/udc/cdns2/cdns2-gadget.c
1940
pep = ep_to_cdns2_ep(ep);
drivers/usb/gadget/udc/cdns2/cdns2-gadget.c
2133
struct usb_ep *ep;
drivers/usb/gadget/udc/cdns2/cdns2-gadget.c
2139
list_for_each_entry(ep, &pdev->gadget.ep_list, ep_list) {
drivers/usb/gadget/udc/cdns2/cdns2-gadget.c
2140
pep = ep_to_cdns2_ep(ep);
drivers/usb/gadget/udc/cdns2/cdns2-gadget.c
91
void cdns2_select_ep(struct cdns2_device *pdev, u32 ep)
drivers/usb/gadget/udc/cdns2/cdns2-gadget.c
93
if (pdev->selected_ep == ep)
drivers/usb/gadget/udc/cdns2/cdns2-gadget.c
96
pdev->selected_ep = ep;
drivers/usb/gadget/udc/cdns2/cdns2-gadget.c
97
writel(ep, &pdev->adma_regs->ep_sel);
drivers/usb/gadget/udc/cdns2/cdns2-gadget.h
133
struct cdns2_epx_base ep[15];
drivers/usb/gadget/udc/cdns2/cdns2-gadget.h
414
#define ep_to_cdns2_ep(ep) (container_of(ep, struct cdns2_endpoint, endpoint))
drivers/usb/gadget/udc/cdns2/cdns2-gadget.h
694
void cdns2_select_ep(struct cdns2_device *pdev, u32 ep);
drivers/usb/gadget/udc/cdns2/cdns2-gadget.h
696
struct usb_request *cdns2_gadget_ep_alloc_request(struct usb_ep *ep,
drivers/usb/gadget/udc/cdns2/cdns2-gadget.h
698
void cdns2_gadget_ep_free_request(struct usb_ep *ep,
drivers/usb/gadget/udc/cdns2/cdns2-gadget.h
700
int cdns2_gadget_ep_dequeue(struct usb_ep *ep, struct usb_request *request);
drivers/usb/gadget/udc/cdns2/cdns2-trace.h
506
__entry->con_reg = pep->dir ? readb(&pdev->epx_regs->ep[pep->num - 1].txcon) :
drivers/usb/gadget/udc/cdns2/cdns2-trace.h
507
readb(&pdev->epx_regs->ep[pep->num - 1].rxcon);
drivers/usb/gadget/udc/core.c
1000
trace_usb_gadget_giveback_request(ep, req, 0);
drivers/usb/gadget/udc/core.c
1002
req->complete(ep, req);
drivers/usb/gadget/udc/core.c
1016
struct usb_ep *ep;
drivers/usb/gadget/udc/core.c
1018
gadget_for_each_ep(ep, g) {
drivers/usb/gadget/udc/core.c
1019
if (!strcmp(ep->name, name))
drivers/usb/gadget/udc/core.c
1020
return ep;
drivers/usb/gadget/udc/core.c
1030
struct usb_ep *ep, struct usb_endpoint_descriptor *desc,
drivers/usb/gadget/udc/core.c
1038
if (ep->claimed)
drivers/usb/gadget/udc/core.c
1044
if (usb_endpoint_dir_in(desc) && !ep->caps.dir_in)
drivers/usb/gadget/udc/core.c
1046
if (usb_endpoint_dir_out(desc) && !ep->caps.dir_out)
drivers/usb/gadget/udc/core.c
1049
if (max > ep->maxpacket_limit)
drivers/usb/gadget/udc/core.c
1061
if (!ep->caps.type_iso)
drivers/usb/gadget/udc/core.c
1068
if (!ep->caps.type_bulk)
drivers/usb/gadget/udc/core.c
1076
if (num_req_streams > ep->max_streams)
drivers/usb/gadget/udc/core.c
1084
if (!ep->caps.type_int && !ep->caps.type_bulk)
drivers/usb/gadget/udc/core.c
113
int usb_ep_enable(struct usb_ep *ep)
drivers/usb/gadget/udc/core.c
117
if (ep->enabled)
drivers/usb/gadget/udc/core.c
121
if (!ep->desc || usb_endpoint_maxp(ep->desc) == 0) {
drivers/usb/gadget/udc/core.c
122
WARN_ONCE(1, "%s: ep%d (%s) has %s\n", __func__, ep->address, ep->name,
drivers/usb/gadget/udc/core.c
123
(!ep->desc) ? "NULL descriptor" : "maxpacket 0");
drivers/usb/gadget/udc/core.c
129
ret = ep->ops->enable(ep, ep->desc);
drivers/usb/gadget/udc/core.c
133
ep->enabled = true;
drivers/usb/gadget/udc/core.c
136
trace_usb_ep_enable(ep, ret);
drivers/usb/gadget/udc/core.c
156
int usb_ep_disable(struct usb_ep *ep)
drivers/usb/gadget/udc/core.c
160
if (!ep->enabled)
drivers/usb/gadget/udc/core.c
163
ret = ep->ops->disable(ep);
drivers/usb/gadget/udc/core.c
167
ep->enabled = false;
drivers/usb/gadget/udc/core.c
170
trace_usb_ep_disable(ep, ret);
drivers/usb/gadget/udc/core.c
190
struct usb_request *usb_ep_alloc_request(struct usb_ep *ep,
drivers/usb/gadget/udc/core.c
195
req = ep->ops->alloc_request(ep, gfp_flags);
drivers/usb/gadget/udc/core.c
198
req->ep = ep;
drivers/usb/gadget/udc/core.c
200
trace_usb_ep_alloc_request(ep, req, req ? 0 : -ENOMEM);
drivers/usb/gadget/udc/core.c
215
void usb_ep_free_request(struct usb_ep *ep,
drivers/usb/gadget/udc/core.c
218
trace_usb_ep_free_request(ep, req, 0);
drivers/usb/gadget/udc/core.c
219
ep->ops->free_request(ep, req);
drivers/usb/gadget/udc/core.c
291
int usb_ep_queue(struct usb_ep *ep,
drivers/usb/gadget/udc/core.c
296
if (!ep->enabled && ep->address) {
drivers/usb/gadget/udc/core.c
298
ep->address, ep->name);
drivers/usb/gadget/udc/core.c
303
ret = ep->ops->queue(ep, req, gfp_flags);
drivers/usb/gadget/udc/core.c
306
trace_usb_ep_queue(ep, req, ret);
drivers/usb/gadget/udc/core.c
329
int usb_ep_dequeue(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/udc/core.c
333
ret = ep->ops->dequeue(ep, req);
drivers/usb/gadget/udc/core.c
334
trace_usb_ep_dequeue(ep, req, ret);
drivers/usb/gadget/udc/core.c
363
int usb_ep_set_halt(struct usb_ep *ep)
drivers/usb/gadget/udc/core.c
367
ret = ep->ops->set_halt(ep, 1);
drivers/usb/gadget/udc/core.c
368
trace_usb_ep_set_halt(ep, ret);
drivers/usb/gadget/udc/core.c
389
int usb_ep_clear_halt(struct usb_ep *ep)
drivers/usb/gadget/udc/core.c
393
ret = ep->ops->set_halt(ep, 0);
drivers/usb/gadget/udc/core.c
394
trace_usb_ep_clear_halt(ep, ret);
drivers/usb/gadget/udc/core.c
412
int usb_ep_set_wedge(struct usb_ep *ep)
drivers/usb/gadget/udc/core.c
416
if (ep->ops->set_wedge)
drivers/usb/gadget/udc/core.c
417
ret = ep->ops->set_wedge(ep);
drivers/usb/gadget/udc/core.c
419
ret = ep->ops->set_halt(ep, 1);
drivers/usb/gadget/udc/core.c
421
trace_usb_ep_set_wedge(ep, ret);
drivers/usb/gadget/udc/core.c
444
int usb_ep_fifo_status(struct usb_ep *ep)
drivers/usb/gadget/udc/core.c
448
if (ep->ops->fifo_status)
drivers/usb/gadget/udc/core.c
449
ret = ep->ops->fifo_status(ep);
drivers/usb/gadget/udc/core.c
453
trace_usb_ep_fifo_status(ep, ret);
drivers/usb/gadget/udc/core.c
470
void usb_ep_fifo_flush(struct usb_ep *ep)
drivers/usb/gadget/udc/core.c
472
if (ep->ops->fifo_flush)
drivers/usb/gadget/udc/core.c
473
ep->ops->fifo_flush(ep);
drivers/usb/gadget/udc/core.c
475
trace_usb_ep_fifo_flush(ep, 0);
drivers/usb/gadget/udc/core.c
81
void usb_ep_set_maxpacket_limit(struct usb_ep *ep,
drivers/usb/gadget/udc/core.c
84
ep->maxpacket_limit = maxpacket_limit;
drivers/usb/gadget/udc/core.c
85
ep->maxpacket = maxpacket_limit;
drivers/usb/gadget/udc/core.c
87
trace_usb_ep_set_maxpacket_limit(ep, 0);
drivers/usb/gadget/udc/core.c
994
void usb_gadget_giveback_request(struct usb_ep *ep,
drivers/usb/gadget/udc/dummy_hcd.c
105
return container_of(_ep, struct dummy_ep, ep);
drivers/usb/gadget/udc/dummy_hcd.c
1056
struct dummy_ep *ep = &dum->ep[i];
drivers/usb/gadget/udc/dummy_hcd.c
1060
ep->ep.name = ep_info[i].name;
drivers/usb/gadget/udc/dummy_hcd.c
1061
ep->ep.caps = ep_info[i].caps;
drivers/usb/gadget/udc/dummy_hcd.c
1062
ep->ep.ops = &dummy_ep_ops;
drivers/usb/gadget/udc/dummy_hcd.c
1063
list_add_tail(&ep->ep.ep_list, &dum->gadget.ep_list);
drivers/usb/gadget/udc/dummy_hcd.c
1064
ep->halted = ep->wedged = ep->already_seen =
drivers/usb/gadget/udc/dummy_hcd.c
1065
ep->setup_stage = 0;
drivers/usb/gadget/udc/dummy_hcd.c
1066
usb_ep_set_maxpacket_limit(&ep->ep, ~0);
drivers/usb/gadget/udc/dummy_hcd.c
1067
ep->ep.max_streams = 16;
drivers/usb/gadget/udc/dummy_hcd.c
1068
ep->last_io = jiffies;
drivers/usb/gadget/udc/dummy_hcd.c
1069
ep->gadget = &dum->gadget;
drivers/usb/gadget/udc/dummy_hcd.c
1070
ep->desc = NULL;
drivers/usb/gadget/udc/dummy_hcd.c
1071
INIT_LIST_HEAD(&ep->queue);
drivers/usb/gadget/udc/dummy_hcd.c
1074
dum->gadget.ep0 = &dum->ep[0].ep;
drivers/usb/gadget/udc/dummy_hcd.c
1075
list_del_init(&dum->ep[0].ep.ep_list);
drivers/usb/gadget/udc/dummy_hcd.c
1194
const struct usb_endpoint_descriptor *desc = &urb->ep->desc;
drivers/usb/gadget/udc/dummy_hcd.c
1412
struct dummy_ep *ep, int limit, int *status)
drivers/usb/gadget/udc/dummy_hcd.c
1420
list_for_each_entry(req, &ep->queue, queue) {
drivers/usb/gadget/udc/dummy_hcd.c
1448
if (limit < ep->ep.maxpacket && limit < len)
drivers/usb/gadget/udc/dummy_hcd.c
1455
if (len >= ep->ep.maxpacket) {
drivers/usb/gadget/udc/dummy_hcd.c
1457
if (len % ep->ep.maxpacket)
drivers/usb/gadget/udc/dummy_hcd.c
1459
len -= len % ep->ep.maxpacket;
drivers/usb/gadget/udc/dummy_hcd.c
1466
ep->last_io = jiffies;
drivers/usb/gadget/udc/dummy_hcd.c
1527
usb_gadget_giveback_request(&ep->ep, &req->req);
drivers/usb/gadget/udc/dummy_hcd.c
1551
static int periodic_bytes(struct dummy *dum, struct dummy_ep *ep)
drivers/usb/gadget/udc/dummy_hcd.c
1553
int limit = ep->ep.maxpacket;
drivers/usb/gadget/udc/dummy_hcd.c
1559
tmp = usb_endpoint_maxp_mult(ep->desc);
drivers/usb/gadget/udc/dummy_hcd.c
1564
switch (usb_endpoint_type(ep->desc)) {
drivers/usb/gadget/udc/dummy_hcd.c
1596
return &dum->ep[0];
drivers/usb/gadget/udc/dummy_hcd.c
1598
struct dummy_ep *ep = &dum->ep[i];
drivers/usb/gadget/udc/dummy_hcd.c
1600
if (!ep->desc)
drivers/usb/gadget/udc/dummy_hcd.c
1602
if (ep->desc->bEndpointAddress == address)
drivers/usb/gadget/udc/dummy_hcd.c
1603
return ep;
drivers/usb/gadget/udc/dummy_hcd.c
1698
if (!ep2 || ep2->ep.name == ep0name) {
drivers/usb/gadget/udc/dummy_hcd.c
1845
dum->ep[i].already_seen = 0;
drivers/usb/gadget/udc/dummy_hcd.c
1853
struct dummy_ep *ep = NULL;
drivers/usb/gadget/udc/dummy_hcd.c
1874
ep = find_endpoint(dum, address);
drivers/usb/gadget/udc/dummy_hcd.c
1875
if (!ep) {
drivers/usb/gadget/udc/dummy_hcd.c
1884
if (ep->already_seen)
drivers/usb/gadget/udc/dummy_hcd.c
1886
ep->already_seen = 1;
drivers/usb/gadget/udc/dummy_hcd.c
1887
if (ep == &dum->ep[0] && urb->error_count) {
drivers/usb/gadget/udc/dummy_hcd.c
1888
ep->setup_stage = 1; /* a new urb */
drivers/usb/gadget/udc/dummy_hcd.c
1891
if (ep->halted && !ep->setup_stage) {
drivers/usb/gadget/udc/dummy_hcd.c
1894
ep->ep.name, urb);
drivers/usb/gadget/udc/dummy_hcd.c
1901
if (ep == &dum->ep[0] && ep->setup_stage) {
drivers/usb/gadget/udc/dummy_hcd.c
1907
list_for_each_entry(req, &ep->queue, queue) {
drivers/usb/gadget/udc/dummy_hcd.c
1914
usb_gadget_giveback_request(&ep->ep, &req->req);
drivers/usb/gadget/udc/dummy_hcd.c
1916
ep->already_seen = 0;
drivers/usb/gadget/udc/dummy_hcd.c
1924
ep->last_io = jiffies;
drivers/usb/gadget/udc/dummy_hcd.c
1925
ep->setup_stage = 0;
drivers/usb/gadget/udc/dummy_hcd.c
1926
ep->halted = 0;
drivers/usb/gadget/udc/dummy_hcd.c
1975
limit = max(limit, periodic_bytes(dum, ep));
drivers/usb/gadget/udc/dummy_hcd.c
1983
limit = max(limit, periodic_bytes(dum, ep));
drivers/usb/gadget/udc/dummy_hcd.c
1988
ep->last_io = jiffies;
drivers/usb/gadget/udc/dummy_hcd.c
1989
total -= transfer(dum_hcd, urb, ep, limit, &status);
drivers/usb/gadget/udc/dummy_hcd.c
2000
if (ep)
drivers/usb/gadget/udc/dummy_hcd.c
2001
ep->already_seen = ep->setup_stage = 0;
drivers/usb/gadget/udc/dummy_hcd.c
2426
int ep = usb_pipeendpoint(urb->pipe);
drivers/usb/gadget/udc/dummy_hcd.c
2449
ep, ep ? (usb_urb_dir_in(urb) ? "in" : "out") : "",
drivers/usb/gadget/udc/dummy_hcd.c
270
struct dummy_ep ep[DUMMY_ENDPOINTS];
drivers/usb/gadget/udc/dummy_hcd.c
309
static inline struct dummy *ep_to_dummy(struct dummy_ep *ep)
drivers/usb/gadget/udc/dummy_hcd.c
311
return container_of(ep->gadget, struct dummy, gadget);
drivers/usb/gadget/udc/dummy_hcd.c
333
static void nuke(struct dummy *dum, struct dummy_ep *ep)
drivers/usb/gadget/udc/dummy_hcd.c
335
while (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/dummy_hcd.c
338
req = list_entry(ep->queue.next, struct dummy_request, queue);
drivers/usb/gadget/udc/dummy_hcd.c
343
usb_gadget_giveback_request(&ep->ep, &req->req);
drivers/usb/gadget/udc/dummy_hcd.c
360
nuke(dum, &dum->ep[i]);
drivers/usb/gadget/udc/dummy_hcd.c
513
struct dummy_ep *ep;
drivers/usb/gadget/udc/dummy_hcd.c
517
ep = usb_ep_to_dummy_ep(_ep);
drivers/usb/gadget/udc/dummy_hcd.c
518
if (!_ep || !desc || ep->desc || _ep->name == ep0name
drivers/usb/gadget/udc/dummy_hcd.c
521
dum = ep_to_dummy(ep);
drivers/usb/gadget/udc/dummy_hcd.c
547
if (strstr(ep->ep.name, "-iso")
drivers/usb/gadget/udc/dummy_hcd.c
548
|| strstr(ep->ep.name, "-int")) {
drivers/usb/gadget/udc/dummy_hcd.c
571
if (strstr(ep->ep.name, "-iso")) /* bulk is ok */
drivers/usb/gadget/udc/dummy_hcd.c
593
if (strstr(ep->ep.name, "-bulk")
drivers/usb/gadget/udc/dummy_hcd.c
594
|| strstr(ep->ep.name, "-int"))
drivers/usb/gadget/udc/dummy_hcd.c
625
ep->stream_en = 1;
drivers/usb/gadget/udc/dummy_hcd.c
627
ep->desc = desc;
drivers/usb/gadget/udc/dummy_hcd.c
634
max, str_enabled_disabled(ep->stream_en));
drivers/usb/gadget/udc/dummy_hcd.c
639
ep->halted = ep->wedged = 0;
drivers/usb/gadget/udc/dummy_hcd.c
647
struct dummy_ep *ep;
drivers/usb/gadget/udc/dummy_hcd.c
651
ep = usb_ep_to_dummy_ep(_ep);
drivers/usb/gadget/udc/dummy_hcd.c
652
if (!_ep || !ep->desc || _ep->name == ep0name)
drivers/usb/gadget/udc/dummy_hcd.c
654
dum = ep_to_dummy(ep);
drivers/usb/gadget/udc/dummy_hcd.c
657
ep->desc = NULL;
drivers/usb/gadget/udc/dummy_hcd.c
658
ep->stream_en = 0;
drivers/usb/gadget/udc/dummy_hcd.c
659
nuke(dum, ep);
drivers/usb/gadget/udc/dummy_hcd.c
695
static void fifo_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/udc/dummy_hcd.c
702
struct dummy_ep *ep;
drivers/usb/gadget/udc/dummy_hcd.c
712
ep = usb_ep_to_dummy_ep(_ep);
drivers/usb/gadget/udc/dummy_hcd.c
713
if (!_ep || (!ep->desc && _ep->name != ep0name))
drivers/usb/gadget/udc/dummy_hcd.c
716
dum = ep_to_dummy(ep);
drivers/usb/gadget/udc/dummy_hcd.c
723
ep, _req, _ep->name, _req->length, _req->buf);
drivers/usb/gadget/udc/dummy_hcd.c
730
if (ep->desc && (ep->desc->bEndpointAddress & USB_DIR_IN) &&
drivers/usb/gadget/udc/dummy_hcd.c
732
list_empty(&ep->queue) &&
drivers/usb/gadget/udc/dummy_hcd.c
741
list_add_tail(&req->queue, &ep->queue);
drivers/usb/gadget/udc/dummy_hcd.c
748
list_add_tail(&req->queue, &ep->queue);
drivers/usb/gadget/udc/dummy_hcd.c
759
struct dummy_ep *ep;
drivers/usb/gadget/udc/dummy_hcd.c
767
ep = usb_ep_to_dummy_ep(_ep);
drivers/usb/gadget/udc/dummy_hcd.c
768
dum = ep_to_dummy(ep);
drivers/usb/gadget/udc/dummy_hcd.c
774
list_for_each_entry(iter, &ep->queue, queue) {
drivers/usb/gadget/udc/dummy_hcd.c
799
struct dummy_ep *ep;
drivers/usb/gadget/udc/dummy_hcd.c
804
ep = usb_ep_to_dummy_ep(_ep);
drivers/usb/gadget/udc/dummy_hcd.c
805
dum = ep_to_dummy(ep);
drivers/usb/gadget/udc/dummy_hcd.c
809
ep->halted = ep->wedged = 0;
drivers/usb/gadget/udc/dummy_hcd.c
810
else if (ep->desc && (ep->desc->bEndpointAddress & USB_DIR_IN) &&
drivers/usb/gadget/udc/dummy_hcd.c
811
!list_empty(&ep->queue))
drivers/usb/gadget/udc/dummy_hcd.c
814
ep->halted = 1;
drivers/usb/gadget/udc/dummy_hcd.c
816
ep->wedged = 1;
drivers/usb/gadget/udc/dummy_hcd.c
899
dum->ep[0].ep.maxpacket = 9;
drivers/usb/gadget/udc/dummy_hcd.c
90
struct usb_ep ep;
drivers/usb/gadget/udc/dummy_hcd.c
901
dum->ep[0].ep.maxpacket = 64;
drivers/usb/gadget/udc/fsl_qe_udc.c
1002
bd = ep->rxbase;
drivers/usb/gadget/udc/fsl_qe_udc.c
1010
ep->n_rxbd = bd;
drivers/usb/gadget/udc/fsl_qe_udc.c
1012
if (ep->localnack)
drivers/usb/gadget/udc/fsl_qe_udc.c
1013
ep_recycle_rxbds(ep);
drivers/usb/gadget/udc/fsl_qe_udc.c
1015
ep->enable_tasklet = 0;
drivers/usb/gadget/udc/fsl_qe_udc.c
1021
static int qe_ep_rx(struct qe_ep *ep)
drivers/usb/gadget/udc/fsl_qe_udc.c
1028
udc = ep->udc;
drivers/usb/gadget/udc/fsl_qe_udc.c
1029
pframe = ep->rxframe;
drivers/usb/gadget/udc/fsl_qe_udc.c
1031
if (ep->dir == USB_DIR_IN) {
drivers/usb/gadget/udc/fsl_qe_udc.c
1036
bd = ep->n_rxbd;
drivers/usb/gadget/udc/fsl_qe_udc.c
1038
swoffs = (u16)(bd - ep->rxbase);
drivers/usb/gadget/udc/fsl_qe_udc.c
1039
ucoffs = (u16)((in_be16(&udc->ep_param[ep->epnum]->rbptr) -
drivers/usb/gadget/udc/fsl_qe_udc.c
1040
in_be16(&udc->ep_param[ep->epnum]->rbase)) >> 3);
drivers/usb/gadget/udc/fsl_qe_udc.c
1047
qe_eprx_nack(ep);
drivers/usb/gadget/udc/fsl_qe_udc.c
1048
ep->localnack = 1;
drivers/usb/gadget/udc/fsl_qe_udc.c
105
ep_is_in(ep)
drivers/usb/gadget/udc/fsl_qe_udc.c
1051
ep->has_data = USB_BDRING_LEN_RX - emptybds;
drivers/usb/gadget/udc/fsl_qe_udc.c
1053
if (list_empty(&ep->queue)) {
drivers/usb/gadget/udc/fsl_qe_udc.c
1054
qe_eprx_nack(ep);
drivers/usb/gadget/udc/fsl_qe_udc.c
1056
ep->has_data);
drivers/usb/gadget/udc/fsl_qe_udc.c
1061
ep->enable_tasklet = 1;
drivers/usb/gadget/udc/fsl_qe_udc.c
1067
static int qe_ep_tx(struct qe_ep *ep, struct qe_frame *frame)
drivers/usb/gadget/udc/fsl_qe_udc.c
1069
struct qe_udc *udc = ep->udc;
drivers/usb/gadget/udc/fsl_qe_udc.c
1075
if (ep->dir == USB_DIR_OUT) {
drivers/usb/gadget/udc/fsl_qe_udc.c
1085
bd = ep->n_txbd;
drivers/usb/gadget/udc/fsl_qe_udc.c
1105
if ((ep->epnum == 0) && (udc->ep0_state == DATA_STATE_NEED_ZLP))
drivers/usb/gadget/udc/fsl_qe_udc.c
1106
ep->data01 = 0x1;
drivers/usb/gadget/udc/fsl_qe_udc.c
1108
if (ep->data01) {
drivers/usb/gadget/udc/fsl_qe_udc.c
111
ep->ep.name, &req->req, status,
drivers/usb/gadget/udc/fsl_qe_udc.c
1118
qe_ep_filltxfifo(ep);
drivers/usb/gadget/udc/fsl_qe_udc.c
1123
qe_ep_toggledata01(ep);
drivers/usb/gadget/udc/fsl_qe_udc.c
1125
ep->n_txbd = ep->txbase;
drivers/usb/gadget/udc/fsl_qe_udc.c
1127
ep->n_txbd++;
drivers/usb/gadget/udc/fsl_qe_udc.c
1139
static int txcomplete(struct qe_ep *ep, unsigned char restart)
drivers/usb/gadget/udc/fsl_qe_udc.c
1141
if (ep->tx_req != NULL) {
drivers/usb/gadget/udc/fsl_qe_udc.c
1142
struct qe_req *req = ep->tx_req;
drivers/usb/gadget/udc/fsl_qe_udc.c
1145
last_len = min_t(unsigned, req->req.length - ep->sent,
drivers/usb/gadget/udc/fsl_qe_udc.c
1146
ep->ep.maxpacket);
drivers/usb/gadget/udc/fsl_qe_udc.c
1149
int asent = ep->last;
drivers/usb/gadget/udc/fsl_qe_udc.c
115
ep->stopped = 1;
drivers/usb/gadget/udc/fsl_qe_udc.c
1150
ep->sent += asent;
drivers/usb/gadget/udc/fsl_qe_udc.c
1151
ep->last -= asent;
drivers/usb/gadget/udc/fsl_qe_udc.c
1153
ep->last = 0;
drivers/usb/gadget/udc/fsl_qe_udc.c
1159
(req->req.length % ep->ep.maxpacket) != 0)
drivers/usb/gadget/udc/fsl_qe_udc.c
1167
if (((ep->tx_req->req.length - ep->sent) <= 0) && !zlp) {
drivers/usb/gadget/udc/fsl_qe_udc.c
1168
done(ep, ep->tx_req, 0);
drivers/usb/gadget/udc/fsl_qe_udc.c
1169
ep->tx_req = NULL;
drivers/usb/gadget/udc/fsl_qe_udc.c
1170
ep->last = 0;
drivers/usb/gadget/udc/fsl_qe_udc.c
1171
ep->sent = 0;
drivers/usb/gadget/udc/fsl_qe_udc.c
1176
if (ep->tx_req == NULL) {
drivers/usb/gadget/udc/fsl_qe_udc.c
1177
if (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/fsl_qe_udc.c
1178
ep->tx_req = list_entry(ep->queue.next, struct qe_req,
drivers/usb/gadget/udc/fsl_qe_udc.c
118
usb_gadget_giveback_request(&ep->ep, &req->req);
drivers/usb/gadget/udc/fsl_qe_udc.c
1180
ep->last = 0;
drivers/usb/gadget/udc/fsl_qe_udc.c
1181
ep->sent = 0;
drivers/usb/gadget/udc/fsl_qe_udc.c
1189
static int qe_usb_senddata(struct qe_ep *ep, struct qe_frame *frame)
drivers/usb/gadget/udc/fsl_qe_udc.c
1195
size = min_t(u32, (ep->tx_req->req.length - ep->sent),
drivers/usb/gadget/udc/fsl_qe_udc.c
1196
ep->ep.maxpacket);
drivers/usb/gadget/udc/fsl_qe_udc.c
1197
buf = (u8 *)ep->tx_req->req.buf + ep->sent;
drivers/usb/gadget/udc/fsl_qe_udc.c
1199
ep->last = size;
drivers/usb/gadget/udc/fsl_qe_udc.c
1200
ep->tx_req->req.actual += size;
drivers/usb/gadget/udc/fsl_qe_udc.c
1205
return qe_ep_tx(ep, frame);
drivers/usb/gadget/udc/fsl_qe_udc.c
1211
static int sendnulldata(struct qe_ep *ep, struct qe_frame *frame, uint infor)
drivers/usb/gadget/udc/fsl_qe_udc.c
1213
struct qe_udc *udc = ep->udc;
drivers/usb/gadget/udc/fsl_qe_udc.c
122
ep->stopped = stopped;
drivers/usb/gadget/udc/fsl_qe_udc.c
1224
return qe_ep_tx(ep, frame);
drivers/usb/gadget/udc/fsl_qe_udc.c
1227
static int frame_create_tx(struct qe_ep *ep, struct qe_frame *frame)
drivers/usb/gadget/udc/fsl_qe_udc.c
1229
struct qe_req *req = ep->tx_req;
drivers/usb/gadget/udc/fsl_qe_udc.c
1235
if ((req->req.length - ep->sent) > 0)
drivers/usb/gadget/udc/fsl_qe_udc.c
1236
reval = qe_usb_senddata(ep, frame);
drivers/usb/gadget/udc/fsl_qe_udc.c
1238
reval = sendnulldata(ep, frame, 0);
drivers/usb/gadget/udc/fsl_qe_udc.c
1249
struct qe_ep *ep = &udc->eps[0];
drivers/usb/gadget/udc/fsl_qe_udc.c
1254
sendnulldata(ep, ep->txframe, SETUP_STATUS | NO_REQ);
drivers/usb/gadget/udc/fsl_qe_udc.c
1266
struct qe_ep *ep = &udc->eps[0];
drivers/usb/gadget/udc/fsl_qe_udc.c
1271
done(ep, req, 0);
drivers/usb/gadget/udc/fsl_qe_udc.c
1278
done(ep, req, 0);
drivers/usb/gadget/udc/fsl_qe_udc.c
128
static void nuke(struct qe_ep *ep, int status)
drivers/usb/gadget/udc/fsl_qe_udc.c
1283
done(ep, req, 0);
drivers/usb/gadget/udc/fsl_qe_udc.c
1290
done(ep, req, 0);
drivers/usb/gadget/udc/fsl_qe_udc.c
1304
static int ep0_txcomplete(struct qe_ep *ep, unsigned char restart)
drivers/usb/gadget/udc/fsl_qe_udc.c
1307
struct qe_frame *frame = ep->txframe;
drivers/usb/gadget/udc/fsl_qe_udc.c
131
while (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/fsl_qe_udc.c
1311
ep->udc->ep0_state = WAIT_FOR_SETUP;
drivers/usb/gadget/udc/fsl_qe_udc.c
1313
sendnulldata(ep, ep->txframe, SETUP_STATUS | NO_REQ);
drivers/usb/gadget/udc/fsl_qe_udc.c
1317
tx_req = ep->tx_req;
drivers/usb/gadget/udc/fsl_qe_udc.c
1320
int asent = ep->last;
drivers/usb/gadget/udc/fsl_qe_udc.c
1321
ep->sent += asent;
drivers/usb/gadget/udc/fsl_qe_udc.c
1322
ep->last -= asent;
drivers/usb/gadget/udc/fsl_qe_udc.c
1324
ep->last = 0;
drivers/usb/gadget/udc/fsl_qe_udc.c
1328
if ((ep->tx_req->req.length - ep->sent) <= 0) {
drivers/usb/gadget/udc/fsl_qe_udc.c
1329
ep->tx_req->req.actual = (unsigned int)ep->sent;
drivers/usb/gadget/udc/fsl_qe_udc.c
133
req = list_entry(ep->queue.next, struct qe_req, queue);
drivers/usb/gadget/udc/fsl_qe_udc.c
1330
ep0_req_complete(ep->udc, ep->tx_req);
drivers/usb/gadget/udc/fsl_qe_udc.c
1331
ep->tx_req = NULL;
drivers/usb/gadget/udc/fsl_qe_udc.c
1332
ep->last = 0;
drivers/usb/gadget/udc/fsl_qe_udc.c
1333
ep->sent = 0;
drivers/usb/gadget/udc/fsl_qe_udc.c
1336
dev_vdbg(ep->udc->dev, "the ep0_controller have no req\n");
drivers/usb/gadget/udc/fsl_qe_udc.c
1342
static int ep0_txframe_handle(struct qe_ep *ep)
drivers/usb/gadget/udc/fsl_qe_udc.c
1345
if (frame_get_status(ep->txframe) & FRAME_ERROR) {
drivers/usb/gadget/udc/fsl_qe_udc.c
1346
qe_ep_flushtxfifo(ep);
drivers/usb/gadget/udc/fsl_qe_udc.c
1347
dev_vdbg(ep->udc->dev, "The EP0 transmit data have error!\n");
drivers/usb/gadget/udc/fsl_qe_udc.c
1348
if (frame_get_info(ep->txframe) & PID_DATA0)
drivers/usb/gadget/udc/fsl_qe_udc.c
1349
ep->data01 = 0;
drivers/usb/gadget/udc/fsl_qe_udc.c
135
done(ep, req, status);
drivers/usb/gadget/udc/fsl_qe_udc.c
1351
ep->data01 = 1;
drivers/usb/gadget/udc/fsl_qe_udc.c
1353
ep0_txcomplete(ep, 1);
drivers/usb/gadget/udc/fsl_qe_udc.c
1355
ep0_txcomplete(ep, 0);
drivers/usb/gadget/udc/fsl_qe_udc.c
1357
frame_create_tx(ep, ep->txframe);
drivers/usb/gadget/udc/fsl_qe_udc.c
1361
static int qe_ep0_txconf(struct qe_ep *ep)
drivers/usb/gadget/udc/fsl_qe_udc.c
1367
bd = ep->c_txbd;
drivers/usb/gadget/udc/fsl_qe_udc.c
1370
pframe = ep->txframe;
drivers/usb/gadget/udc/fsl_qe_udc.c
1376
ep->c_txbd = ep->txbase;
drivers/usb/gadget/udc/fsl_qe_udc.c
1378
ep->c_txbd++;
drivers/usb/gadget/udc/fsl_qe_udc.c
1380
if (ep->c_txbd == ep->n_txbd) {
drivers/usb/gadget/udc/fsl_qe_udc.c
1388
ep0_txframe_handle(ep);
drivers/usb/gadget/udc/fsl_qe_udc.c
1391
bd = ep->c_txbd;
drivers/usb/gadget/udc/fsl_qe_udc.c
1398
static int ep_txframe_handle(struct qe_ep *ep)
drivers/usb/gadget/udc/fsl_qe_udc.c
1400
if (frame_get_status(ep->txframe) & FRAME_ERROR) {
drivers/usb/gadget/udc/fsl_qe_udc.c
1401
qe_ep_flushtxfifo(ep);
drivers/usb/gadget/udc/fsl_qe_udc.c
1402
dev_vdbg(ep->udc->dev, "The EP0 transmit data have error!\n");
drivers/usb/gadget/udc/fsl_qe_udc.c
1403
if (frame_get_info(ep->txframe) & PID_DATA0)
drivers/usb/gadget/udc/fsl_qe_udc.c
1404
ep->data01 = 0;
drivers/usb/gadget/udc/fsl_qe_udc.c
1406
ep->data01 = 1;
drivers/usb/gadget/udc/fsl_qe_udc.c
1408
txcomplete(ep, 1);
drivers/usb/gadget/udc/fsl_qe_udc.c
1410
txcomplete(ep, 0);
drivers/usb/gadget/udc/fsl_qe_udc.c
1412
frame_create_tx(ep, ep->txframe); /* send the data */
drivers/usb/gadget/udc/fsl_qe_udc.c
1417
static int qe_ep_txconf(struct qe_ep *ep)
drivers/usb/gadget/udc/fsl_qe_udc.c
1424
bd = ep->c_txbd;
drivers/usb/gadget/udc/fsl_qe_udc.c
1427
pframe = ep->txframe;
drivers/usb/gadget/udc/fsl_qe_udc.c
143
static int qe_eprx_stall_change(struct qe_ep *ep, int value)
drivers/usb/gadget/udc/fsl_qe_udc.c
1440
ep->c_txbd = ep->txbase;
drivers/usb/gadget/udc/fsl_qe_udc.c
1442
ep->c_txbd++;
drivers/usb/gadget/udc/fsl_qe_udc.c
1445
ep_txframe_handle(ep);
drivers/usb/gadget/udc/fsl_qe_udc.c
1446
bd = ep->c_txbd;
drivers/usb/gadget/udc/fsl_qe_udc.c
1456
static int ep_req_send(struct qe_ep *ep, struct qe_req *req)
drivers/usb/gadget/udc/fsl_qe_udc.c
146
u8 epnum = ep->epnum;
drivers/usb/gadget/udc/fsl_qe_udc.c
1460
if (ep->tx_req == NULL) {
drivers/usb/gadget/udc/fsl_qe_udc.c
1461
ep->sent = 0;
drivers/usb/gadget/udc/fsl_qe_udc.c
1462
ep->last = 0;
drivers/usb/gadget/udc/fsl_qe_udc.c
1463
txcomplete(ep, 0); /* can gain a new tx_req */
drivers/usb/gadget/udc/fsl_qe_udc.c
1464
reval = frame_create_tx(ep, ep->txframe);
drivers/usb/gadget/udc/fsl_qe_udc.c
147
struct qe_udc *udc = ep->udc;
drivers/usb/gadget/udc/fsl_qe_udc.c
1470
static int ep_req_rx(struct qe_ep *ep, struct qe_req *req)
drivers/usb/gadget/udc/fsl_qe_udc.c
1472
struct qe_udc *udc = ep->udc;
drivers/usb/gadget/udc/fsl_qe_udc.c
1481
if (list_empty(&ep->queue)) {
drivers/usb/gadget/udc/fsl_qe_udc.c
1485
pframe = ep->rxframe;
drivers/usb/gadget/udc/fsl_qe_udc.c
1487
bd = ep->n_rxbd;
drivers/usb/gadget/udc/fsl_qe_udc.c
1514
if (framepid != ep->data01) {
drivers/usb/gadget/udc/fsl_qe_udc.c
1523
if ((fsize < ep->ep.maxpacket)
drivers/usb/gadget/udc/fsl_qe_udc.c
1527
done(ep, req, 0);
drivers/usb/gadget/udc/fsl_qe_udc.c
1528
if (list_empty(&ep->queue))
drivers/usb/gadget/udc/fsl_qe_udc.c
1529
qe_eprx_nack(ep);
drivers/usb/gadget/udc/fsl_qe_udc.c
153
else if (ep->dir == USB_DIR_IN)
drivers/usb/gadget/udc/fsl_qe_udc.c
1532
qe_ep_toggledata01(ep);
drivers/usb/gadget/udc/fsl_qe_udc.c
1541
ep->has_data--;
drivers/usb/gadget/udc/fsl_qe_udc.c
1545
bd = ep->rxbase;
drivers/usb/gadget/udc/fsl_qe_udc.c
1553
ep->n_rxbd = bd;
drivers/usb/gadget/udc/fsl_qe_udc.c
1554
ep_recycle_rxbds(ep);
drivers/usb/gadget/udc/fsl_qe_udc.c
1560
static int ep_req_receive(struct qe_ep *ep, struct qe_req *req)
drivers/usb/gadget/udc/fsl_qe_udc.c
1562
if (ep->state == EP_STATE_NACK) {
drivers/usb/gadget/udc/fsl_qe_udc.c
1563
if (ep->has_data <= 0) {
drivers/usb/gadget/udc/fsl_qe_udc.c
1565
qe_eprx_normal(ep);
drivers/usb/gadget/udc/fsl_qe_udc.c
1568
ep_req_rx(ep, req);
drivers/usb/gadget/udc/fsl_qe_udc.c
1586
struct qe_ep *ep;
drivers/usb/gadget/udc/fsl_qe_udc.c
1590
ep = container_of(_ep, struct qe_ep, ep);
drivers/usb/gadget/udc/fsl_qe_udc.c
1597
udc = ep->udc;
drivers/usb/gadget/udc/fsl_qe_udc.c
160
static int qe_eptx_stall_change(struct qe_ep *ep, int value)
drivers/usb/gadget/udc/fsl_qe_udc.c
1605
cpm_muram_free(cpm_muram_offset(ep->rxbase));
drivers/usb/gadget/udc/fsl_qe_udc.c
1606
dev_dbg(udc->dev, "enable ep%d failed\n", ep->epnum);
drivers/usb/gadget/udc/fsl_qe_udc.c
1609
dev_dbg(udc->dev, "enable ep%d successful\n", ep->epnum);
drivers/usb/gadget/udc/fsl_qe_udc.c
1616
struct qe_ep *ep;
drivers/usb/gadget/udc/fsl_qe_udc.c
1620
ep = container_of(_ep, struct qe_ep, ep);
drivers/usb/gadget/udc/fsl_qe_udc.c
1621
udc = ep->udc;
drivers/usb/gadget/udc/fsl_qe_udc.c
1623
if (!_ep || !ep->ep.desc) {
drivers/usb/gadget/udc/fsl_qe_udc.c
1624
dev_dbg(udc->dev, "%s not enabled\n", _ep ? ep->ep.name : NULL);
drivers/usb/gadget/udc/fsl_qe_udc.c
163
u8 epnum = ep->epnum;
drivers/usb/gadget/udc/fsl_qe_udc.c
1630
nuke(ep, -ESHUTDOWN);
drivers/usb/gadget/udc/fsl_qe_udc.c
1631
ep->ep.desc = NULL;
drivers/usb/gadget/udc/fsl_qe_udc.c
1632
ep->stopped = 1;
drivers/usb/gadget/udc/fsl_qe_udc.c
1633
ep->tx_req = NULL;
drivers/usb/gadget/udc/fsl_qe_udc.c
1634
qe_ep_reset(udc, ep->epnum);
drivers/usb/gadget/udc/fsl_qe_udc.c
1637
cpm_muram_free(cpm_muram_offset(ep->rxbase));
drivers/usb/gadget/udc/fsl_qe_udc.c
1639
if (ep->dir == USB_DIR_OUT)
drivers/usb/gadget/udc/fsl_qe_udc.c
164
struct qe_udc *udc = ep->udc;
drivers/usb/gadget/udc/fsl_qe_udc.c
1640
size = (ep->ep.maxpacket + USB_CRC_SIZE + 2) *
drivers/usb/gadget/udc/fsl_qe_udc.c
1643
size = (ep->ep.maxpacket + USB_CRC_SIZE + 2) *
drivers/usb/gadget/udc/fsl_qe_udc.c
1646
if (ep->dir != USB_DIR_IN) {
drivers/usb/gadget/udc/fsl_qe_udc.c
1647
kfree(ep->rxframe);
drivers/usb/gadget/udc/fsl_qe_udc.c
1648
if (ep->rxbufmap) {
drivers/usb/gadget/udc/fsl_qe_udc.c
1650
ep->rxbuf_d, size,
drivers/usb/gadget/udc/fsl_qe_udc.c
1652
ep->rxbuf_d = DMA_ADDR_INVALID;
drivers/usb/gadget/udc/fsl_qe_udc.c
1656
ep->rxbuf_d, size,
drivers/usb/gadget/udc/fsl_qe_udc.c
1659
kfree(ep->rxbuffer);
drivers/usb/gadget/udc/fsl_qe_udc.c
1662
if (ep->dir != USB_DIR_OUT)
drivers/usb/gadget/udc/fsl_qe_udc.c
1663
kfree(ep->txframe);
drivers/usb/gadget/udc/fsl_qe_udc.c
1696
struct qe_ep *ep = container_of(_ep, struct qe_ep, ep);
drivers/usb/gadget/udc/fsl_qe_udc.c
170
else if (ep->dir == USB_DIR_OUT)
drivers/usb/gadget/udc/fsl_qe_udc.c
1701
udc = ep->udc;
drivers/usb/gadget/udc/fsl_qe_udc.c
1708
if (!_ep || (!ep->ep.desc && ep_index(ep))) {
drivers/usb/gadget/udc/fsl_qe_udc.c
1716
req->ep = ep;
drivers/usb/gadget/udc/fsl_qe_udc.c
1720
req->req.dma = dma_map_single(ep->udc->gadget.dev.parent,
drivers/usb/gadget/udc/fsl_qe_udc.c
1723
ep_is_in(ep)
drivers/usb/gadget/udc/fsl_qe_udc.c
1728
dma_sync_single_for_device(ep->udc->gadget.dev.parent,
drivers/usb/gadget/udc/fsl_qe_udc.c
1730
ep_is_in(ep)
drivers/usb/gadget/udc/fsl_qe_udc.c
1739
list_add_tail(&req->queue, &ep->queue);
drivers/usb/gadget/udc/fsl_qe_udc.c
1741
ep->name, req->req.length);
drivers/usb/gadget/udc/fsl_qe_udc.c
1744
if (ep_is_in(ep))
drivers/usb/gadget/udc/fsl_qe_udc.c
1745
reval = ep_req_send(ep, req);
drivers/usb/gadget/udc/fsl_qe_udc.c
1748
if (ep_index(ep) == 0 && req->req.length > 0) {
drivers/usb/gadget/udc/fsl_qe_udc.c
1749
if (ep_is_in(ep))
drivers/usb/gadget/udc/fsl_qe_udc.c
1755
if (ep->dir == USB_DIR_OUT)
drivers/usb/gadget/udc/fsl_qe_udc.c
1756
reval = ep_req_receive(ep, req);
drivers/usb/gadget/udc/fsl_qe_udc.c
1765
struct qe_ep *ep = container_of(_ep, struct qe_ep, ep);
drivers/usb/gadget/udc/fsl_qe_udc.c
1766
struct qe_udc *udc = ep->udc;
drivers/usb/gadget/udc/fsl_qe_udc.c
1779
struct qe_ep *ep = container_of(_ep, struct qe_ep, ep);
drivers/usb/gadget/udc/fsl_qe_udc.c
1787
spin_lock_irqsave(&ep->udc->lock, flags);
drivers/usb/gadget/udc/fsl_qe_udc.c
1790
list_for_each_entry(iter, &ep->queue, queue) {
drivers/usb/gadget/udc/fsl_qe_udc.c
1798
spin_unlock_irqrestore(&ep->udc->lock, flags);
drivers/usb/gadget/udc/fsl_qe_udc.c
1802
done(ep, req, -ECONNRESET);
drivers/usb/gadget/udc/fsl_qe_udc.c
1804
spin_unlock_irqrestore(&ep->udc->lock, flags);
drivers/usb/gadget/udc/fsl_qe_udc.c
1816
struct qe_ep *ep;
drivers/usb/gadget/udc/fsl_qe_udc.c
1821
ep = container_of(_ep, struct qe_ep, ep);
drivers/usb/gadget/udc/fsl_qe_udc.c
1822
if (!_ep || !ep->ep.desc) {
drivers/usb/gadget/udc/fsl_qe_udc.c
1827
udc = ep->udc;
drivers/usb/gadget/udc/fsl_qe_udc.c
1830
if (value && ep_is_in(ep) && !list_empty(&ep->queue)) {
drivers/usb/gadget/udc/fsl_qe_udc.c
1836
spin_lock_irqsave(&ep->udc->lock, flags);
drivers/usb/gadget/udc/fsl_qe_udc.c
1837
qe_eptx_stall_change(ep, value);
drivers/usb/gadget/udc/fsl_qe_udc.c
1838
qe_eprx_stall_change(ep, value);
drivers/usb/gadget/udc/fsl_qe_udc.c
1839
spin_unlock_irqrestore(&ep->udc->lock, flags);
drivers/usb/gadget/udc/fsl_qe_udc.c
1841
if (ep->epnum == 0) {
drivers/usb/gadget/udc/fsl_qe_udc.c
1848
ep->data01 = 0;
drivers/usb/gadget/udc/fsl_qe_udc.c
1850
dev_vdbg(udc->dev, "%s %s halt stat %d\n", ep->ep.name,
drivers/usb/gadget/udc/fsl_qe_udc.c
187
static int qe_eprx_nack(struct qe_ep *ep)
drivers/usb/gadget/udc/fsl_qe_udc.c
189
u8 epnum = ep->epnum;
drivers/usb/gadget/udc/fsl_qe_udc.c
190
struct qe_udc *udc = ep->udc;
drivers/usb/gadget/udc/fsl_qe_udc.c
1901
struct qe_ep *ep = &udc->eps[pipe];
drivers/usb/gadget/udc/fsl_qe_udc.c
1903
nuke(ep, -ECONNRESET);
drivers/usb/gadget/udc/fsl_qe_udc.c
1904
ep->tx_req = NULL;
drivers/usb/gadget/udc/fsl_qe_udc.c
192
if (ep->state == EP_STATE_IDLE) {
drivers/usb/gadget/udc/fsl_qe_udc.c
1949
struct qe_ep *ep;
drivers/usb/gadget/udc/fsl_qe_udc.c
1952
ep = &udc->eps[0];
drivers/usb/gadget/udc/fsl_qe_udc.c
1969
if (!target_ep->ep.desc)
drivers/usb/gadget/udc/fsl_qe_udc.c
1986
req = container_of(qe_alloc_request(&ep->ep, GFP_KERNEL),
drivers/usb/gadget/udc/fsl_qe_udc.c
1998
status = __qe_ep_queue(&ep->ep, &req->req);
drivers/usb/gadget/udc/fsl_qe_udc.c
201
ep->state = EP_STATE_NACK;
drivers/usb/gadget/udc/fsl_qe_udc.c
2052
struct qe_ep *ep;
drivers/usb/gadget/udc/fsl_qe_udc.c
2057
ep = &udc->eps[pipe];
drivers/usb/gadget/udc/fsl_qe_udc.c
206
static int qe_eprx_normal(struct qe_ep *ep)
drivers/usb/gadget/udc/fsl_qe_udc.c
2060
qe_ep_set_halt(&ep->ep,
drivers/usb/gadget/udc/fsl_qe_udc.c
208
struct qe_udc *udc = ep->udc;
drivers/usb/gadget/udc/fsl_qe_udc.c
210
if (ep->state == EP_STATE_NACK) {
drivers/usb/gadget/udc/fsl_qe_udc.c
211
clrsetbits_be16(&udc->usb_regs->usb_usep[ep->epnum],
drivers/usb/gadget/udc/fsl_qe_udc.c
2173
struct qe_ep *ep;
drivers/usb/gadget/udc/fsl_qe_udc.c
2182
ep = &udc->eps[i];
drivers/usb/gadget/udc/fsl_qe_udc.c
2183
if (ep && ep->init && (ep->dir != USB_DIR_OUT)) {
drivers/usb/gadget/udc/fsl_qe_udc.c
2184
bd = ep->c_txbd;
drivers/usb/gadget/udc/fsl_qe_udc.c
2188
if (ep->epnum == 0)
drivers/usb/gadget/udc/fsl_qe_udc.c
2189
res = qe_ep0_txconf(ep);
drivers/usb/gadget/udc/fsl_qe_udc.c
2191
res = qe_ep_txconf(ep);
drivers/usb/gadget/udc/fsl_qe_udc.c
220
ep->state = EP_STATE_IDLE;
drivers/usb/gadget/udc/fsl_qe_udc.c
2202
struct qe_ep *ep;
drivers/usb/gadget/udc/fsl_qe_udc.c
2207
ep = &udc->eps[i];
drivers/usb/gadget/udc/fsl_qe_udc.c
2208
if (ep && ep->init && (ep->dir != USB_DIR_IN)) {
drivers/usb/gadget/udc/fsl_qe_udc.c
2209
bd = ep->n_rxbd;
drivers/usb/gadget/udc/fsl_qe_udc.c
221
ep->has_data = 0;
drivers/usb/gadget/udc/fsl_qe_udc.c
2212
if (ep->epnum == 0) {
drivers/usb/gadget/udc/fsl_qe_udc.c
2216
qe_ep_rx(ep);
drivers/usb/gadget/udc/fsl_qe_udc.c
227
static int qe_ep_cmd_stoptx(struct qe_ep *ep)
drivers/usb/gadget/udc/fsl_qe_udc.c
229
if (ep->udc->soc_type == PORT_CPM)
drivers/usb/gadget/udc/fsl_qe_udc.c
230
cpm_command(CPM_USB_STOP_TX | (ep->epnum << CPM_USB_EP_SHIFT),
drivers/usb/gadget/udc/fsl_qe_udc.c
2327
list_for_each_entry(loop_ep, &udc->gadget.ep_list, ep.ep_list)
drivers/usb/gadget/udc/fsl_qe_udc.c
234
ep->epnum, 0);
drivers/usb/gadget/udc/fsl_qe_udc.c
239
static int qe_ep_cmd_restarttx(struct qe_ep *ep)
drivers/usb/gadget/udc/fsl_qe_udc.c
241
if (ep->udc->soc_type == PORT_CPM)
drivers/usb/gadget/udc/fsl_qe_udc.c
2410
struct qe_ep *ep = &udc->eps[pipe_num];
drivers/usb/gadget/udc/fsl_qe_udc.c
2412
ep->udc = udc;
drivers/usb/gadget/udc/fsl_qe_udc.c
2413
strcpy(ep->name, ep_name[pipe_num]);
drivers/usb/gadget/udc/fsl_qe_udc.c
2414
ep->ep.name = ep_name[pipe_num];
drivers/usb/gadget/udc/fsl_qe_udc.c
2417
ep->ep.caps.type_control = true;
drivers/usb/gadget/udc/fsl_qe_udc.c
2419
ep->ep.caps.type_iso = true;
drivers/usb/gadget/udc/fsl_qe_udc.c
242
cpm_command(CPM_USB_RESTART_TX | (ep->epnum <<
drivers/usb/gadget/udc/fsl_qe_udc.c
2420
ep->ep.caps.type_bulk = true;
drivers/usb/gadget/udc/fsl_qe_udc.c
2421
ep->ep.caps.type_int = true;
drivers/usb/gadget/udc/fsl_qe_udc.c
2424
ep->ep.caps.dir_in = true;
drivers/usb/gadget/udc/fsl_qe_udc.c
2425
ep->ep.caps.dir_out = true;
drivers/usb/gadget/udc/fsl_qe_udc.c
2427
ep->ep.ops = &qe_ep_ops;
drivers/usb/gadget/udc/fsl_qe_udc.c
2428
ep->stopped = 1;
drivers/usb/gadget/udc/fsl_qe_udc.c
2429
usb_ep_set_maxpacket_limit(&ep->ep, (unsigned short) ~0);
drivers/usb/gadget/udc/fsl_qe_udc.c
2430
ep->ep.desc = NULL;
drivers/usb/gadget/udc/fsl_qe_udc.c
2431
ep->dir = 0xff;
drivers/usb/gadget/udc/fsl_qe_udc.c
2432
ep->epnum = (u8)pipe_num;
drivers/usb/gadget/udc/fsl_qe_udc.c
2433
ep->sent = 0;
drivers/usb/gadget/udc/fsl_qe_udc.c
2434
ep->last = 0;
drivers/usb/gadget/udc/fsl_qe_udc.c
2435
ep->init = 0;
drivers/usb/gadget/udc/fsl_qe_udc.c
2436
ep->rxframe = NULL;
drivers/usb/gadget/udc/fsl_qe_udc.c
2437
ep->txframe = NULL;
drivers/usb/gadget/udc/fsl_qe_udc.c
2438
ep->tx_req = NULL;
drivers/usb/gadget/udc/fsl_qe_udc.c
2439
ep->state = EP_STATE_IDLE;
drivers/usb/gadget/udc/fsl_qe_udc.c
2440
ep->has_data = 0;
drivers/usb/gadget/udc/fsl_qe_udc.c
2443
INIT_LIST_HEAD(&ep->queue);
drivers/usb/gadget/udc/fsl_qe_udc.c
2447
list_add_tail(&ep->ep.ep_list, &udc->gadget.ep_list);
drivers/usb/gadget/udc/fsl_qe_udc.c
2449
ep->gadget = &udc->gadget;
drivers/usb/gadget/udc/fsl_qe_udc.c
246
ep->epnum, 0);
drivers/usb/gadget/udc/fsl_qe_udc.c
2476
struct qe_ep *ep;
drivers/usb/gadget/udc/fsl_qe_udc.c
2508
udc->gadget.ep0 = &udc->eps[0].ep;
drivers/usb/gadget/udc/fsl_qe_udc.c
251
static int qe_ep_flushtxfifo(struct qe_ep *ep)
drivers/usb/gadget/udc/fsl_qe_udc.c
253
struct qe_udc *udc = ep->udc;
drivers/usb/gadget/udc/fsl_qe_udc.c
256
i = (int)ep->epnum;
drivers/usb/gadget/udc/fsl_qe_udc.c
258
qe_ep_cmd_stoptx(ep);
drivers/usb/gadget/udc/fsl_qe_udc.c
260
USB_CMD_FLUSH_FIFO | (USB_CMD_EP_MASK & (ep->epnum)));
drivers/usb/gadget/udc/fsl_qe_udc.c
2605
ep = &udc->eps[0];
drivers/usb/gadget/udc/fsl_qe_udc.c
2606
cpm_muram_free(cpm_muram_offset(ep->rxbase));
drivers/usb/gadget/udc/fsl_qe_udc.c
2607
kfree(ep->rxframe);
drivers/usb/gadget/udc/fsl_qe_udc.c
2608
kfree(ep->rxbuffer);
drivers/usb/gadget/udc/fsl_qe_udc.c
2609
kfree(ep->txframe);
drivers/usb/gadget/udc/fsl_qe_udc.c
2632
struct qe_ep *ep;
drivers/usb/gadget/udc/fsl_qe_udc.c
265
ep->c_txbd = ep->txbase;
drivers/usb/gadget/udc/fsl_qe_udc.c
2652
ep = &udc->eps[0];
drivers/usb/gadget/udc/fsl_qe_udc.c
2653
cpm_muram_free(cpm_muram_offset(ep->rxbase));
drivers/usb/gadget/udc/fsl_qe_udc.c
2654
size = (ep->ep.maxpacket + USB_CRC_SIZE + 2) * (USB_BDRING_LEN + 1);
drivers/usb/gadget/udc/fsl_qe_udc.c
2656
kfree(ep->rxframe);
drivers/usb/gadget/udc/fsl_qe_udc.c
2657
if (ep->rxbufmap) {
drivers/usb/gadget/udc/fsl_qe_udc.c
2659
ep->rxbuf_d, size,
drivers/usb/gadget/udc/fsl_qe_udc.c
266
ep->n_txbd = ep->txbase;
drivers/usb/gadget/udc/fsl_qe_udc.c
2661
ep->rxbuf_d = DMA_ADDR_INVALID;
drivers/usb/gadget/udc/fsl_qe_udc.c
2664
ep->rxbuf_d, size,
drivers/usb/gadget/udc/fsl_qe_udc.c
2668
kfree(ep->rxbuffer);
drivers/usb/gadget/udc/fsl_qe_udc.c
2669
kfree(ep->txframe);
drivers/usb/gadget/udc/fsl_qe_udc.c
267
qe_ep_cmd_restarttx(ep);
drivers/usb/gadget/udc/fsl_qe_udc.c
271
static int qe_ep_filltxfifo(struct qe_ep *ep)
drivers/usb/gadget/udc/fsl_qe_udc.c
273
struct qe_udc *udc = ep->udc;
drivers/usb/gadget/udc/fsl_qe_udc.c
276
USB_CMD_STR_FIFO | (USB_CMD_EP_MASK & (ep->epnum)));
drivers/usb/gadget/udc/fsl_qe_udc.c
282
struct qe_ep *ep;
drivers/usb/gadget/udc/fsl_qe_udc.c
287
ep = &udc->eps[pipe_num];
drivers/usb/gadget/udc/fsl_qe_udc.c
289
if (ep->dir == USB_DIR_OUT)
drivers/usb/gadget/udc/fsl_qe_udc.c
294
bd = ep->rxbase;
drivers/usb/gadget/udc/fsl_qe_udc.c
301
bd = ep->txbase;
drivers/usb/gadget/udc/fsl_qe_udc.c
314
struct qe_ep *ep;
drivers/usb/gadget/udc/fsl_qe_udc.c
317
ep = &udc->eps[pipe_num];
drivers/usb/gadget/udc/fsl_qe_udc.c
321
switch (ep->dir) {
drivers/usb/gadget/udc/fsl_qe_udc.c
323
qe_ep_flushtxfifo(ep);
drivers/usb/gadget/udc/fsl_qe_udc.c
329
qe_ep_flushtxfifo(ep);
drivers/usb/gadget/udc/fsl_qe_udc.c
342
static int qe_ep_toggledata01(struct qe_ep *ep)
drivers/usb/gadget/udc/fsl_qe_udc.c
344
ep->data01 ^= 0x1;
drivers/usb/gadget/udc/fsl_qe_udc.c
350
struct qe_ep *ep = &udc->eps[pipe_num];
drivers/usb/gadget/udc/fsl_qe_udc.c
357
if (ep->dir == USB_DIR_OUT)
drivers/usb/gadget/udc/fsl_qe_udc.c
376
ep->rxbase = cpm_muram_addr(tmp_addr);
drivers/usb/gadget/udc/fsl_qe_udc.c
377
ep->txbase = cpm_muram_addr(tmp_addr + (sizeof(struct qe_bd)
drivers/usb/gadget/udc/fsl_qe_udc.c
379
ep->n_rxbd = ep->rxbase;
drivers/usb/gadget/udc/fsl_qe_udc.c
380
ep->e_rxbd = ep->rxbase;
drivers/usb/gadget/udc/fsl_qe_udc.c
381
ep->n_txbd = ep->txbase;
drivers/usb/gadget/udc/fsl_qe_udc.c
382
ep->c_txbd = ep->txbase;
drivers/usb/gadget/udc/fsl_qe_udc.c
383
ep->data01 = 0; /* data0 */
drivers/usb/gadget/udc/fsl_qe_udc.c
386
bd = ep->rxbase;
drivers/usb/gadget/udc/fsl_qe_udc.c
395
bd = ep->txbase;
drivers/usb/gadget/udc/fsl_qe_udc.c
407
static int qe_ep_rxbd_update(struct qe_ep *ep)
drivers/usb/gadget/udc/fsl_qe_udc.c
415
if (ep->rxbase == NULL)
drivers/usb/gadget/udc/fsl_qe_udc.c
418
bd = ep->rxbase;
drivers/usb/gadget/udc/fsl_qe_udc.c
420
ep->rxframe = kmalloc_obj(*ep->rxframe, GFP_ATOMIC);
drivers/usb/gadget/udc/fsl_qe_udc.c
421
if (!ep->rxframe)
drivers/usb/gadget/udc/fsl_qe_udc.c
424
qe_frame_init(ep->rxframe);
drivers/usb/gadget/udc/fsl_qe_udc.c
426
if (ep->dir == USB_DIR_OUT)
drivers/usb/gadget/udc/fsl_qe_udc.c
431
size = (ep->ep.maxpacket + USB_CRC_SIZE + 2) * (bdring_len + 1);
drivers/usb/gadget/udc/fsl_qe_udc.c
432
ep->rxbuffer = kzalloc(size, GFP_ATOMIC);
drivers/usb/gadget/udc/fsl_qe_udc.c
433
if (!ep->rxbuffer) {
drivers/usb/gadget/udc/fsl_qe_udc.c
434
kfree(ep->rxframe);
drivers/usb/gadget/udc/fsl_qe_udc.c
438
ep->rxbuf_d = virt_to_phys((void *)ep->rxbuffer);
drivers/usb/gadget/udc/fsl_qe_udc.c
439
if (ep->rxbuf_d == DMA_ADDR_INVALID) {
drivers/usb/gadget/udc/fsl_qe_udc.c
440
ep->rxbuf_d = dma_map_single(ep->udc->gadget.dev.parent,
drivers/usb/gadget/udc/fsl_qe_udc.c
441
ep->rxbuffer,
drivers/usb/gadget/udc/fsl_qe_udc.c
444
ep->rxbufmap = 1;
drivers/usb/gadget/udc/fsl_qe_udc.c
446
dma_sync_single_for_device(ep->udc->gadget.dev.parent,
drivers/usb/gadget/udc/fsl_qe_udc.c
447
ep->rxbuf_d, size,
drivers/usb/gadget/udc/fsl_qe_udc.c
449
ep->rxbufmap = 0;
drivers/usb/gadget/udc/fsl_qe_udc.c
452
size = ep->ep.maxpacket + USB_CRC_SIZE + 2;
drivers/usb/gadget/udc/fsl_qe_udc.c
453
tmp = ep->rxbuf_d;
drivers/usb/gadget/udc/fsl_qe_udc.c
470
struct qe_ep *ep = &udc->eps[pipe_num];
drivers/usb/gadget/udc/fsl_qe_udc.c
479
logepnum = (ep->ep.desc->bEndpointAddress & USB_ENDPOINT_NUMBER_MASK);
drivers/usb/gadget/udc/fsl_qe_udc.c
482
switch (ep->ep.desc->bmAttributes & 0x03) {
drivers/usb/gadget/udc/fsl_qe_udc.c
497
switch (ep->dir) {
drivers/usb/gadget/udc/fsl_qe_udc.c
513
tmp = (u16)(ep->ep.maxpacket + USB_CRC_SIZE);
drivers/usb/gadget/udc/fsl_qe_udc.c
525
struct qe_ep *ep = &udc->eps[pipe_num];
drivers/usb/gadget/udc/fsl_qe_udc.c
538
if (strstr(ep->ep.name, "-iso")
drivers/usb/gadget/udc/fsl_qe_udc.c
539
|| strstr(ep->ep.name, "-int"))
drivers/usb/gadget/udc/fsl_qe_udc.c
561
if (strstr(ep->ep.name, "-iso")) /* bulk is ok */
drivers/usb/gadget/udc/fsl_qe_udc.c
579
if (strstr(ep->ep.name, "-bulk")
drivers/usb/gadget/udc/fsl_qe_udc.c
580
|| strstr(ep->ep.name, "-int"))
drivers/usb/gadget/udc/fsl_qe_udc.c
596
if (strstr(ep->ep.name, "-iso")
drivers/usb/gadget/udc/fsl_qe_udc.c
597
|| strstr(ep->ep.name, "-int"))
drivers/usb/gadget/udc/fsl_qe_udc.c
638
ep->ep.maxpacket = max;
drivers/usb/gadget/udc/fsl_qe_udc.c
639
ep->tm = (u8)(desc->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK);
drivers/usb/gadget/udc/fsl_qe_udc.c
640
ep->ep.desc = desc;
drivers/usb/gadget/udc/fsl_qe_udc.c
641
ep->stopped = 0;
drivers/usb/gadget/udc/fsl_qe_udc.c
642
ep->init = 1;
drivers/usb/gadget/udc/fsl_qe_udc.c
645
ep->dir = USB_DIR_BOTH;
drivers/usb/gadget/udc/fsl_qe_udc.c
651
ep->dir = USB_DIR_OUT;
drivers/usb/gadget/udc/fsl_qe_udc.c
654
ep->dir = USB_DIR_IN;
drivers/usb/gadget/udc/fsl_qe_udc.c
662
if ((ep->tm == USBP_TM_CTL) || (ep->dir == USB_DIR_OUT)) {
drivers/usb/gadget/udc/fsl_qe_udc.c
663
reval = qe_ep_rxbd_update(ep);
drivers/usb/gadget/udc/fsl_qe_udc.c
668
if ((ep->tm == USBP_TM_CTL) || (ep->dir == USB_DIR_IN)) {
drivers/usb/gadget/udc/fsl_qe_udc.c
669
ep->txframe = kmalloc_obj(*ep->txframe, GFP_ATOMIC);
drivers/usb/gadget/udc/fsl_qe_udc.c
670
if (!ep->txframe)
drivers/usb/gadget/udc/fsl_qe_udc.c
672
qe_frame_init(ep->txframe);
drivers/usb/gadget/udc/fsl_qe_udc.c
683
kfree(ep->rxbuffer);
drivers/usb/gadget/udc/fsl_qe_udc.c
684
kfree(ep->rxframe);
drivers/usb/gadget/udc/fsl_qe_udc.c
688
dev_err(udc->dev, "failed to initialize %s\n", ep->ep.name);
drivers/usb/gadget/udc/fsl_qe_udc.c
710
static void recycle_one_rxbd(struct qe_ep *ep)
drivers/usb/gadget/udc/fsl_qe_udc.c
714
bdstatus = in_be32((u32 __iomem *)ep->e_rxbd);
drivers/usb/gadget/udc/fsl_qe_udc.c
716
out_be32((u32 __iomem *)ep->e_rxbd, bdstatus);
drivers/usb/gadget/udc/fsl_qe_udc.c
719
ep->e_rxbd = ep->rxbase;
drivers/usb/gadget/udc/fsl_qe_udc.c
721
ep->e_rxbd++;
drivers/usb/gadget/udc/fsl_qe_udc.c
724
static void recycle_rxbds(struct qe_ep *ep, unsigned char stopatnext)
drivers/usb/gadget/udc/fsl_qe_udc.c
730
nextbd = ep->n_rxbd;
drivers/usb/gadget/udc/fsl_qe_udc.c
731
bd = ep->e_rxbd;
drivers/usb/gadget/udc/fsl_qe_udc.c
739
bd = ep->rxbase;
drivers/usb/gadget/udc/fsl_qe_udc.c
748
ep->e_rxbd = bd;
drivers/usb/gadget/udc/fsl_qe_udc.c
751
static void ep_recycle_rxbds(struct qe_ep *ep)
drivers/usb/gadget/udc/fsl_qe_udc.c
753
struct qe_bd __iomem *bd = ep->n_rxbd;
drivers/usb/gadget/udc/fsl_qe_udc.c
755
u8 epnum = ep->epnum;
drivers/usb/gadget/udc/fsl_qe_udc.c
756
struct qe_udc *udc = ep->udc;
drivers/usb/gadget/udc/fsl_qe_udc.c
760
bd = ep->rxbase +
drivers/usb/gadget/udc/fsl_qe_udc.c
767
bd = ep->rxbase;
drivers/usb/gadget/udc/fsl_qe_udc.c
77
static void done(struct qe_ep *ep, struct qe_req *req, int status)
drivers/usb/gadget/udc/fsl_qe_udc.c
771
ep->e_rxbd = bd;
drivers/usb/gadget/udc/fsl_qe_udc.c
772
recycle_rxbds(ep, 0);
drivers/usb/gadget/udc/fsl_qe_udc.c
773
ep->e_rxbd = ep->n_rxbd;
drivers/usb/gadget/udc/fsl_qe_udc.c
775
recycle_rxbds(ep, 1);
drivers/usb/gadget/udc/fsl_qe_udc.c
780
if (ep->has_data <= 0 && (!list_empty(&ep->queue)))
drivers/usb/gadget/udc/fsl_qe_udc.c
781
qe_eprx_normal(ep);
drivers/usb/gadget/udc/fsl_qe_udc.c
783
ep->localnack = 0;
drivers/usb/gadget/udc/fsl_qe_udc.c
788
static int qe_ep_rxframe_handle(struct qe_ep *ep);
drivers/usb/gadget/udc/fsl_qe_udc.c
79
struct qe_udc *udc = ep->udc;
drivers/usb/gadget/udc/fsl_qe_udc.c
793
struct qe_ep *ep = &udc->eps[0];
drivers/usb/gadget/udc/fsl_qe_udc.c
798
pframe = ep->rxframe;
drivers/usb/gadget/udc/fsl_qe_udc.c
80
unsigned char stopped = ep->stopped;
drivers/usb/gadget/udc/fsl_qe_udc.c
806
ep->data01 = 1;
drivers/usb/gadget/udc/fsl_qe_udc.c
817
struct qe_ep *ep = &udc->eps[0];
drivers/usb/gadget/udc/fsl_qe_udc.c
823
pframe = ep->rxframe;
drivers/usb/gadget/udc/fsl_qe_udc.c
825
if (ep->dir == USB_DIR_IN) {
drivers/usb/gadget/udc/fsl_qe_udc.c
830
bd = ep->n_rxbd;
drivers/usb/gadget/udc/fsl_qe_udc.c
863
qe_ep_rxframe_handle(ep);
drivers/usb/gadget/udc/fsl_qe_udc.c
870
recycle_one_rxbd(ep);
drivers/usb/gadget/udc/fsl_qe_udc.c
874
bd = ep->rxbase;
drivers/usb/gadget/udc/fsl_qe_udc.c
883
ep->n_rxbd = bd;
drivers/usb/gadget/udc/fsl_qe_udc.c
888
static int qe_ep_rxframe_handle(struct qe_ep *ep)
drivers/usb/gadget/udc/fsl_qe_udc.c
896
pframe = ep->rxframe;
drivers/usb/gadget/udc/fsl_qe_udc.c
901
if (framepid != ep->data01) {
drivers/usb/gadget/udc/fsl_qe_udc.c
902
dev_err(ep->udc->dev, "the data01 error!\n");
drivers/usb/gadget/udc/fsl_qe_udc.c
907
if (list_empty(&ep->queue)) {
drivers/usb/gadget/udc/fsl_qe_udc.c
908
dev_err(ep->udc->dev, "the %s have no requeue!\n", ep->name);
drivers/usb/gadget/udc/fsl_qe_udc.c
910
req = list_entry(ep->queue.next, struct qe_req, queue);
drivers/usb/gadget/udc/fsl_qe_udc.c
916
if ((fsize < ep->ep.maxpacket) ||
drivers/usb/gadget/udc/fsl_qe_udc.c
918
if (ep->epnum == 0)
drivers/usb/gadget/udc/fsl_qe_udc.c
919
ep0_req_complete(ep->udc, req);
drivers/usb/gadget/udc/fsl_qe_udc.c
921
done(ep, req, 0);
drivers/usb/gadget/udc/fsl_qe_udc.c
922
if (list_empty(&ep->queue) && ep->epnum != 0)
drivers/usb/gadget/udc/fsl_qe_udc.c
923
qe_eprx_nack(ep);
drivers/usb/gadget/udc/fsl_qe_udc.c
928
qe_ep_toggledata01(ep);
drivers/usb/gadget/udc/fsl_qe_udc.c
936
struct qe_ep *ep;
drivers/usb/gadget/udc/fsl_qe_udc.c
946
ep = &udc->eps[i];
drivers/usb/gadget/udc/fsl_qe_udc.c
948
if (ep->dir == USB_DIR_IN || ep->enable_tasklet == 0) {
drivers/usb/gadget/udc/fsl_qe_udc.c
954
pframe = ep->rxframe;
drivers/usb/gadget/udc/fsl_qe_udc.c
955
bd = ep->n_rxbd;
drivers/usb/gadget/udc/fsl_qe_udc.c
960
if (list_empty(&ep->queue)) {
drivers/usb/gadget/udc/fsl_qe_udc.c
961
qe_eprx_nack(ep);
drivers/usb/gadget/udc/fsl_qe_udc.c
964
ep->has_data);
drivers/usb/gadget/udc/fsl_qe_udc.c
97
ep_is_in(ep)
drivers/usb/gadget/udc/fsl_qe_udc.c
988
qe_ep_rxframe_handle(ep);
drivers/usb/gadget/udc/fsl_qe_udc.c
996
ep->has_data--;
drivers/usb/gadget/udc/fsl_qe_udc.c
997
if (!(ep->localnack))
drivers/usb/gadget/udc/fsl_qe_udc.c
998
recycle_one_rxbd(ep);
drivers/usb/gadget/udc/fsl_qe_udc.h
152
#define ep_index(EP) ((EP)->ep.desc->bEndpointAddress & 0xF)
drivers/usb/gadget/udc/fsl_qe_udc.h
153
#define ep_maxpacket(EP) ((EP)->ep.maxpacket)
drivers/usb/gadget/udc/fsl_qe_udc.h
155
USB_DIR_IN) : ((EP)->ep.desc->bEndpointAddress \
drivers/usb/gadget/udc/fsl_qe_udc.h
257
struct qe_ep *ep;
drivers/usb/gadget/udc/fsl_qe_udc.h
262
struct usb_ep ep;
drivers/usb/gadget/udc/fsl_udc_core.c
1006
struct fsl_ep *ep = NULL;
drivers/usb/gadget/udc/fsl_udc_core.c
1012
ep = container_of(_ep, struct fsl_ep, ep);
drivers/usb/gadget/udc/fsl_udc_core.c
1013
udc = ep->udc;
drivers/usb/gadget/udc/fsl_udc_core.c
1014
if (!_ep || !ep->ep.desc) {
drivers/usb/gadget/udc/fsl_udc_core.c
1019
if (usb_endpoint_xfer_isoc(ep->ep.desc)) {
drivers/usb/gadget/udc/fsl_udc_core.c
1026
if (value && ep_is_in(ep) && !list_empty(&ep->queue)) {
drivers/usb/gadget/udc/fsl_udc_core.c
1032
ep_dir = ep_is_in(ep) ? USB_SEND : USB_RECV;
drivers/usb/gadget/udc/fsl_udc_core.c
1033
ep_num = (unsigned char)(ep_index(ep));
drivers/usb/gadget/udc/fsl_udc_core.c
1034
spin_lock_irqsave(&ep->udc->lock, flags);
drivers/usb/gadget/udc/fsl_udc_core.c
1036
spin_unlock_irqrestore(&ep->udc->lock, flags);
drivers/usb/gadget/udc/fsl_udc_core.c
1038
if (ep_index(ep) == 0) {
drivers/usb/gadget/udc/fsl_udc_core.c
1043
dev_vdbg(&udc->gadget.dev, "%s %s halt stat %d\n", ep->ep.name,
drivers/usb/gadget/udc/fsl_udc_core.c
1051
struct fsl_ep *ep;
drivers/usb/gadget/udc/fsl_udc_core.c
1060
ep = container_of(_ep, struct fsl_ep, ep);
drivers/usb/gadget/udc/fsl_udc_core.c
1062
udc = (struct fsl_udc *)ep->udc;
drivers/usb/gadget/udc/fsl_udc_core.c
1067
qh = get_qh_by_ep(ep);
drivers/usb/gadget/udc/fsl_udc_core.c
1069
bitmask = (ep_is_in(ep)) ? (1 << (ep_index(ep) + 16)) :
drivers/usb/gadget/udc/fsl_udc_core.c
1070
(1 << (ep_index(ep)));
drivers/usb/gadget/udc/fsl_udc_core.c
1082
struct fsl_ep *ep;
drivers/usb/gadget/udc/fsl_udc_core.c
1091
ep = container_of(_ep, struct fsl_ep, ep);
drivers/usb/gadget/udc/fsl_udc_core.c
1092
if (!ep->ep.desc)
drivers/usb/gadget/udc/fsl_udc_core.c
1095
ep_num = ep_index(ep);
drivers/usb/gadget/udc/fsl_udc_core.c
1096
ep_dir = ep_is_in(ep) ? USB_SEND : USB_RECV;
drivers/usb/gadget/udc/fsl_udc_core.c
1256
static void fsl_noop_complete(struct usb_ep *ep, struct usb_request *req) { }
drivers/usb/gadget/udc/fsl_udc_core.c
1276
struct fsl_ep *ep;
drivers/usb/gadget/udc/fsl_udc_core.c
1284
ep = &udc->eps[0];
drivers/usb/gadget/udc/fsl_udc_core.c
1288
req->ep = ep;
drivers/usb/gadget/udc/fsl_udc_core.c
1295
ret = usb_gadget_map_request(&ep->udc->gadget, &req->req, ep_is_in(ep));
drivers/usb/gadget/udc/fsl_udc_core.c
1300
fsl_queue_td(ep, req);
drivers/usb/gadget/udc/fsl_udc_core.c
1304
list_add_tail(&req->queue, &ep->queue);
drivers/usb/gadget/udc/fsl_udc_core.c
1311
struct fsl_ep *ep = get_ep_by_pipe(udc, pipe);
drivers/usb/gadget/udc/fsl_udc_core.c
1313
if (ep->ep.name)
drivers/usb/gadget/udc/fsl_udc_core.c
1314
nuke(ep, -ESHUTDOWN);
drivers/usb/gadget/udc/fsl_udc_core.c
1339
struct fsl_ep *ep;
drivers/usb/gadget/udc/fsl_udc_core.c
1342
ep = &udc->eps[0];
drivers/usb/gadget/udc/fsl_udc_core.c
1359
if (!target_ep->ep.desc)
drivers/usb/gadget/udc/fsl_udc_core.c
1371
req->ep = ep;
drivers/usb/gadget/udc/fsl_udc_core.c
1378
ret = usb_gadget_map_request(&ep->udc->gadget, &req->req, ep_is_in(ep));
drivers/usb/gadget/udc/fsl_udc_core.c
1384
fsl_queue_td(ep, req);
drivers/usb/gadget/udc/fsl_udc_core.c
1388
list_add_tail(&req->queue, &ep->queue);
drivers/usb/gadget/udc/fsl_udc_core.c
1437
struct fsl_ep *ep;
drivers/usb/gadget/udc/fsl_udc_core.c
1441
ep = get_ep_by_pipe(udc, pipe);
drivers/usb/gadget/udc/fsl_udc_core.c
1444
rc = fsl_ep_set_halt(&ep->ep,
drivers/usb/gadget/udc/fsl_udc_core.c
155
static void done(struct fsl_ep *ep, struct fsl_req *req, int status)
drivers/usb/gadget/udc/fsl_udc_core.c
156
__releases(ep->udc->lock)
drivers/usb/gadget/udc/fsl_udc_core.c
157
__acquires(ep->udc->lock)
drivers/usb/gadget/udc/fsl_udc_core.c
160
unsigned char stopped = ep->stopped;
drivers/usb/gadget/udc/fsl_udc_core.c
164
udc = (struct fsl_udc *)ep->udc;
drivers/usb/gadget/udc/fsl_udc_core.c
1701
if (!curr_ep->ep.name) {
drivers/usb/gadget/udc/fsl_udc_core.c
184
usb_gadget_unmap_request(&ep->udc->gadget, &req->req, ep_is_in(ep));
drivers/usb/gadget/udc/fsl_udc_core.c
188
ep->ep.name, &req->req, status,
drivers/usb/gadget/udc/fsl_udc_core.c
191
ep->stopped = 1;
drivers/usb/gadget/udc/fsl_udc_core.c
193
spin_unlock(&ep->udc->lock);
drivers/usb/gadget/udc/fsl_udc_core.c
195
usb_gadget_giveback_request(&ep->ep, &req->req);
drivers/usb/gadget/udc/fsl_udc_core.c
197
spin_lock(&ep->udc->lock);
drivers/usb/gadget/udc/fsl_udc_core.c
198
ep->stopped = stopped;
drivers/usb/gadget/udc/fsl_udc_core.c
2008
ep.ep_list)
drivers/usb/gadget/udc/fsl_udc_core.c
2031
struct fsl_ep *ep = NULL;
drivers/usb/gadget/udc/fsl_udc_core.c
205
static void nuke(struct fsl_ep *ep, int status)
drivers/usb/gadget/udc/fsl_udc_core.c
207
ep->stopped = 1;
drivers/usb/gadget/udc/fsl_udc_core.c
210
fsl_ep_fifo_flush(&ep->ep);
drivers/usb/gadget/udc/fsl_udc_core.c
213
while (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/fsl_udc_core.c
216
req = list_entry(ep->queue.next, struct fsl_req, queue);
drivers/usb/gadget/udc/fsl_udc_core.c
217
done(ep, req, status);
drivers/usb/gadget/udc/fsl_udc_core.c
2172
ep = &udc->eps[0];
drivers/usb/gadget/udc/fsl_udc_core.c
2174
ep->ep.name, ep_maxpacket(ep), ep_index(ep));
drivers/usb/gadget/udc/fsl_udc_core.c
2176
if (list_empty(&ep->queue)) {
drivers/usb/gadget/udc/fsl_udc_core.c
2179
list_for_each_entry(req, &ep->queue, queue) {
drivers/usb/gadget/udc/fsl_udc_core.c
2187
list_for_each_entry(ep, &udc->gadget.ep_list, ep.ep_list) {
drivers/usb/gadget/udc/fsl_udc_core.c
2188
if (ep->ep.desc) {
drivers/usb/gadget/udc/fsl_udc_core.c
2192
ep->ep.name, ep_maxpacket(ep),
drivers/usb/gadget/udc/fsl_udc_core.c
2193
ep_index(ep));
drivers/usb/gadget/udc/fsl_udc_core.c
2195
if (list_empty(&ep->queue)) {
drivers/usb/gadget/udc/fsl_udc_core.c
2198
list_for_each_entry(req, &ep->queue, queue) {
drivers/usb/gadget/udc/fsl_udc_core.c
2321
struct fsl_ep *ep = &udc->eps[index];
drivers/usb/gadget/udc/fsl_udc_core.c
2323
ep->udc = udc;
drivers/usb/gadget/udc/fsl_udc_core.c
2324
strcpy(ep->name, name);
drivers/usb/gadget/udc/fsl_udc_core.c
2325
ep->ep.name = ep->name;
drivers/usb/gadget/udc/fsl_udc_core.c
2327
ep->ep.ops = &fsl_ep_ops;
drivers/usb/gadget/udc/fsl_udc_core.c
2328
ep->stopped = 0;
drivers/usb/gadget/udc/fsl_udc_core.c
2331
ep->ep.caps.type_control = true;
drivers/usb/gadget/udc/fsl_udc_core.c
2333
ep->ep.caps.type_iso = true;
drivers/usb/gadget/udc/fsl_udc_core.c
2334
ep->ep.caps.type_bulk = true;
drivers/usb/gadget/udc/fsl_udc_core.c
2335
ep->ep.caps.type_int = true;
drivers/usb/gadget/udc/fsl_udc_core.c
2339
ep->ep.caps.dir_in = true;
drivers/usb/gadget/udc/fsl_udc_core.c
2341
ep->ep.caps.dir_out = true;
drivers/usb/gadget/udc/fsl_udc_core.c
2346
usb_ep_set_maxpacket_limit(&ep->ep, (unsigned short) ~0);
drivers/usb/gadget/udc/fsl_udc_core.c
2349
INIT_LIST_HEAD(&ep->queue);
drivers/usb/gadget/udc/fsl_udc_core.c
2353
list_add_tail(&ep->ep.ep_list, &udc->gadget.ep_list);
drivers/usb/gadget/udc/fsl_udc_core.c
2354
ep->gadget = &udc->gadget;
drivers/usb/gadget/udc/fsl_udc_core.c
2355
ep->qh = &udc->ep_qh[index];
drivers/usb/gadget/udc/fsl_udc_core.c
2471
udc_controller->gadget.ep0 = &udc_controller->eps[0].ep;
drivers/usb/gadget/udc/fsl_udc_core.c
2491
udc_controller->eps[0].ep.desc = &fsl_ep0_desc;
drivers/usb/gadget/udc/fsl_udc_core.c
2492
usb_ep_set_maxpacket_limit(&udc_controller->eps[0].ep,
drivers/usb/gadget/udc/fsl_udc_core.c
544
struct fsl_ep *ep = NULL;
drivers/usb/gadget/udc/fsl_udc_core.c
550
ep = container_of(_ep, struct fsl_ep, ep);
drivers/usb/gadget/udc/fsl_udc_core.c
557
udc = ep->udc;
drivers/usb/gadget/udc/fsl_udc_core.c
592
ep->ep.maxpacket = max;
drivers/usb/gadget/udc/fsl_udc_core.c
593
ep->ep.desc = desc;
drivers/usb/gadget/udc/fsl_udc_core.c
594
ep->stopped = 0;
drivers/usb/gadget/udc/fsl_udc_core.c
599
struct_ep_qh_setup(udc, (unsigned char) ep_index(ep),
drivers/usb/gadget/udc/fsl_udc_core.c
607
dr_ep_setup((unsigned char) ep_index(ep),
drivers/usb/gadget/udc/fsl_udc_core.c
617
ep->ep.name, ep->ep.desc->bEndpointAddress & 0x0f,
drivers/usb/gadget/udc/fsl_udc_core.c
631
struct fsl_ep *ep = NULL;
drivers/usb/gadget/udc/fsl_udc_core.c
636
ep = container_of(_ep, struct fsl_ep, ep);
drivers/usb/gadget/udc/fsl_udc_core.c
637
if (!_ep || !ep->ep.desc) {
drivers/usb/gadget/udc/fsl_udc_core.c
646
ep_num = ep_index(ep);
drivers/usb/gadget/udc/fsl_udc_core.c
648
if (ep_is_in(ep)) {
drivers/usb/gadget/udc/fsl_udc_core.c
657
udc = (struct fsl_udc *)ep->udc;
drivers/usb/gadget/udc/fsl_udc_core.c
661
nuke(ep, -ESHUTDOWN);
drivers/usb/gadget/udc/fsl_udc_core.c
663
ep->ep.desc = NULL;
drivers/usb/gadget/udc/fsl_udc_core.c
664
ep->stopped = 1;
drivers/usb/gadget/udc/fsl_udc_core.c
702
static void fsl_prime_ep(struct fsl_ep *ep, struct ep_td_struct *td)
drivers/usb/gadget/udc/fsl_udc_core.c
704
struct ep_queue_head *qh = get_qh_by_ep(ep);
drivers/usb/gadget/udc/fsl_udc_core.c
718
fsl_writel(ep_is_in(ep) ? (1 << (ep_index(ep) + 16))
drivers/usb/gadget/udc/fsl_udc_core.c
719
: (1 << (ep_index(ep))), &dr_regs->endpointprime);
drivers/usb/gadget/udc/fsl_udc_core.c
723
static void fsl_queue_td(struct fsl_ep *ep, struct fsl_req *req)
drivers/usb/gadget/udc/fsl_udc_core.c
730
bitmask = ep_is_in(ep)
drivers/usb/gadget/udc/fsl_udc_core.c
731
? (1 << (ep_index(ep) + 16))
drivers/usb/gadget/udc/fsl_udc_core.c
732
: (1 << (ep_index(ep)));
drivers/usb/gadget/udc/fsl_udc_core.c
735
if (!(list_empty(&ep->queue)) && !(ep_index(ep) == 0)) {
drivers/usb/gadget/udc/fsl_udc_core.c
738
lastreq = list_entry(ep->queue.prev, struct fsl_req, queue);
drivers/usb/gadget/udc/fsl_udc_core.c
765
fsl_prime_ep(ep, req->head);
drivers/usb/gadget/udc/fsl_udc_core.c
806
if (*length == 0 || (*length % req->ep->ep.maxpacket) != 0)
drivers/usb/gadget/udc/fsl_udc_core.c
870
struct fsl_ep *ep = container_of(_ep, struct fsl_ep, ep);
drivers/usb/gadget/udc/fsl_udc_core.c
872
struct fsl_udc *udc = ep->udc;
drivers/usb/gadget/udc/fsl_udc_core.c
882
if (unlikely(!ep->ep.desc)) {
drivers/usb/gadget/udc/fsl_udc_core.c
886
if (usb_endpoint_xfer_isoc(ep->ep.desc)) {
drivers/usb/gadget/udc/fsl_udc_core.c
887
if (req->req.length > ep->ep.maxpacket)
drivers/usb/gadget/udc/fsl_udc_core.c
894
req->ep = ep;
drivers/usb/gadget/udc/fsl_udc_core.c
896
ret = usb_gadget_map_request(&ep->udc->gadget, &req->req, ep_is_in(ep));
drivers/usb/gadget/udc/fsl_udc_core.c
907
fsl_queue_td(ep, req);
drivers/usb/gadget/udc/fsl_udc_core.c
914
list_add_tail(&req->queue, &ep->queue);
drivers/usb/gadget/udc/fsl_udc_core.c
923
struct fsl_ep *ep = container_of(_ep, struct fsl_ep, ep);
drivers/usb/gadget/udc/fsl_udc_core.c
933
spin_lock_irqsave(&ep->udc->lock, flags);
drivers/usb/gadget/udc/fsl_udc_core.c
934
stopped = ep->stopped;
drivers/usb/gadget/udc/fsl_udc_core.c
937
ep->stopped = 1;
drivers/usb/gadget/udc/fsl_udc_core.c
938
ep_num = ep_index(ep);
drivers/usb/gadget/udc/fsl_udc_core.c
940
if (ep_is_in(ep))
drivers/usb/gadget/udc/fsl_udc_core.c
947
list_for_each_entry(iter, &ep->queue, queue) {
drivers/usb/gadget/udc/fsl_udc_core.c
959
if (ep->queue.next == &req->queue) {
drivers/usb/gadget/udc/fsl_udc_core.c
964
if (req->queue.next != &ep->queue) {
drivers/usb/gadget/udc/fsl_udc_core.c
971
fsl_prime_ep(ep, next_req->head);
drivers/usb/gadget/udc/fsl_udc_core.c
981
done(ep, req, -ECONNRESET);
drivers/usb/gadget/udc/fsl_udc_core.c
985
if (ep_is_in(ep))
drivers/usb/gadget/udc/fsl_udc_core.c
990
ep->stopped = stopped;
drivers/usb/gadget/udc/fsl_udc_core.c
992
spin_unlock_irqrestore(&ep->udc->lock, flags);
drivers/usb/gadget/udc/fsl_usb2_udc.h
448
struct fsl_ep *ep;
drivers/usb/gadget/udc/fsl_usb2_udc.h
459
struct usb_ep ep;
drivers/usb/gadget/udc/fsl_usb2_udc.h
523
#define ep_index(EP) ((EP)->ep.desc->bEndpointAddress&0xF)
drivers/usb/gadget/udc/fsl_usb2_udc.h
524
#define ep_maxpacket(EP) ((EP)->ep.maxpacket)
drivers/usb/gadget/udc/fsl_usb2_udc.h
526
USB_DIR_IN) : ((EP)->ep.desc->bEndpointAddress \
drivers/usb/gadget/udc/fsl_usb2_udc.h
534
static inline struct ep_queue_head *get_qh_by_ep(struct fsl_ep *ep)
drivers/usb/gadget/udc/fsl_usb2_udc.h
537
if (ep_index(ep) != 0)
drivers/usb/gadget/udc/fsl_usb2_udc.h
538
return ep->qh;
drivers/usb/gadget/udc/fsl_usb2_udc.h
540
return &ep->udc->ep_qh[(ep->udc->ep0_dir ==
drivers/usb/gadget/udc/goku_udc.c
1004
struct usb_ep *ep;
drivers/usb/gadget/udc/goku_udc.c
1009
ep = &dev->ep[3].ep;
drivers/usb/gadget/udc/goku_udc.c
1010
if (usb_gadget_ep_match_desc(g, ep, desc, ep_comp))
drivers/usb/gadget/udc/goku_udc.c
1011
return ep;
drivers/usb/gadget/udc/goku_udc.c
1016
ep = &dev->ep[2].ep;
drivers/usb/gadget/udc/goku_udc.c
1017
if (usb_gadget_ep_match_desc(g, ep, desc, ep_comp))
drivers/usb/gadget/udc/goku_udc.c
1018
return ep;
drivers/usb/gadget/udc/goku_udc.c
103
dev = ep->dev;
drivers/usb/gadget/udc/goku_udc.c
104
if (ep == &dev->ep[0])
drivers/usb/gadget/udc/goku_udc.c
108
if (ep->num != usb_endpoint_num(desc))
drivers/usb/gadget/udc/goku_udc.c
119
if ((readl(ep->reg_status) & EPxSTATUS_EP_MASK)
drivers/usb/gadget/udc/goku_udc.c
1199
struct goku_ep *ep = &dev->ep [i];
drivers/usb/gadget/udc/goku_udc.c
1202
if (i && !ep->ep.desc)
drivers/usb/gadget/udc/goku_udc.c
1205
tmp = readl(ep->reg_status);
drivers/usb/gadget/udc/goku_udc.c
1207
ep->ep.name,
drivers/usb/gadget/udc/goku_udc.c
1208
ep->is_in ? "in" : "out",
drivers/usb/gadget/udc/goku_udc.c
1209
ep->ep.maxpacket,
drivers/usb/gadget/udc/goku_udc.c
1210
ep->dma ? "dma" : "pio",
drivers/usb/gadget/udc/goku_udc.c
1211
ep->irqs,
drivers/usb/gadget/udc/goku_udc.c
1220
if (list_empty(&ep->queue)) {
drivers/usb/gadget/udc/goku_udc.c
1226
list_for_each_entry(req, &ep->queue, queue) {
drivers/usb/gadget/udc/goku_udc.c
1227
if (ep->dma && req->queue.prev == &ep->queue) {
drivers/usb/gadget/udc/goku_udc.c
1260
dev->gadget.ep0 = &dev->ep [0].ep;
drivers/usb/gadget/udc/goku_udc.c
1266
struct goku_ep *ep = &dev->ep[i];
drivers/usb/gadget/udc/goku_udc.c
1268
ep->num = i;
drivers/usb/gadget/udc/goku_udc.c
1269
ep->ep.name = names[i];
drivers/usb/gadget/udc/goku_udc.c
1270
ep->reg_fifo = &dev->regs->ep_fifo [i];
drivers/usb/gadget/udc/goku_udc.c
1271
ep->reg_status = &dev->regs->ep_status [i];
drivers/usb/gadget/udc/goku_udc.c
1272
ep->reg_mode = &dev->regs->ep_mode[i];
drivers/usb/gadget/udc/goku_udc.c
1274
ep->ep.ops = &goku_ep_ops;
drivers/usb/gadget/udc/goku_udc.c
1275
list_add_tail (&ep->ep.ep_list, &dev->gadget.ep_list);
drivers/usb/gadget/udc/goku_udc.c
1276
ep->dev = dev;
drivers/usb/gadget/udc/goku_udc.c
1277
INIT_LIST_HEAD (&ep->queue);
drivers/usb/gadget/udc/goku_udc.c
1279
ep_reset(NULL, ep);
drivers/usb/gadget/udc/goku_udc.c
1282
ep->ep.caps.type_control = true;
drivers/usb/gadget/udc/goku_udc.c
1284
ep->ep.caps.type_bulk = true;
drivers/usb/gadget/udc/goku_udc.c
1286
ep->ep.caps.dir_in = true;
drivers/usb/gadget/udc/goku_udc.c
1287
ep->ep.caps.dir_out = true;
drivers/usb/gadget/udc/goku_udc.c
1290
dev->ep[0].reg_mode = NULL;
drivers/usb/gadget/udc/goku_udc.c
1291
usb_ep_set_maxpacket_limit(&dev->ep[0].ep, MAX_EP0_SIZE);
drivers/usb/gadget/udc/goku_udc.c
1292
list_del_init (&dev->ep[0].ep.ep_list);
drivers/usb/gadget/udc/goku_udc.c
1331
dev->ep[i].irqs = 0;
drivers/usb/gadget/udc/goku_udc.c
1398
nuke(&dev->ep [i], -ESHUTDOWN);
drivers/usb/gadget/udc/goku_udc.c
1436
nuke(&dev->ep[0], 0);
drivers/usb/gadget/udc/goku_udc.c
1437
dev->ep[0].stopped = 0;
drivers/usb/gadget/udc/goku_udc.c
1439
dev->ep[0].is_in = 1;
drivers/usb/gadget/udc/goku_udc.c
1444
dev->ep[0].is_in = 0;
drivers/usb/gadget/udc/goku_udc.c
1458
(!dev->ep[tmp].ep.desc && tmp != 0))
drivers/usb/gadget/udc/goku_udc.c
1462
if (!dev->ep[tmp].is_in)
drivers/usb/gadget/udc/goku_udc.c
1465
if (dev->ep[tmp].is_in)
drivers/usb/gadget/udc/goku_udc.c
147
ep->is_in = usb_endpoint_dir_in(desc);
drivers/usb/gadget/udc/goku_udc.c
1472
goku_clear_halt(&dev->ep[tmp]);
drivers/usb/gadget/udc/goku_udc.c
1476
dev->ep[0].stopped = 1;
drivers/usb/gadget/udc/goku_udc.c
148
if (ep->is_in) {
drivers/usb/gadget/udc/goku_udc.c
150
ep->dma = (use_dma != 0) && (ep->num == UDC_MSTRD_ENDPOINT);
drivers/usb/gadget/udc/goku_udc.c
152
ep->dma = (use_dma == 2) && (ep->num == UDC_MSTWR_ENDPOINT);
drivers/usb/gadget/udc/goku_udc.c
1522
dev->ep[0].stopped = 1;
drivers/usb/gadget/udc/goku_udc.c
153
if (ep->dma)
drivers/usb/gadget/udc/goku_udc.c
1539
struct goku_ep *ep;
drivers/usb/gadget/udc/goku_udc.c
155
ep->ep.name);
drivers/usb/gadget/udc/goku_udc.c
158
spin_lock_irqsave(&ep->dev->lock, flags);
drivers/usb/gadget/udc/goku_udc.c
161
if (ep->num < 3) {
drivers/usb/gadget/udc/goku_udc.c
162
struct goku_udc_regs __iomem *regs = ep->dev->regs;
drivers/usb/gadget/udc/goku_udc.c
1629
dev->ep[0].irqs++;
drivers/usb/gadget/udc/goku_udc.c
1635
ep = &dev->ep[0];
drivers/usb/gadget/udc/goku_udc.c
1636
ep->irqs++;
drivers/usb/gadget/udc/goku_udc.c
1637
nuke(ep, 0);
drivers/usb/gadget/udc/goku_udc.c
1644
ep = &dev->ep[0];
drivers/usb/gadget/udc/goku_udc.c
1645
ep->irqs++;
drivers/usb/gadget/udc/goku_udc.c
1646
pio_advance(ep);
drivers/usb/gadget/udc/goku_udc.c
1652
ep = &dev->ep[UDC_MSTRD_ENDPOINT];
drivers/usb/gadget/udc/goku_udc.c
1653
ep->irqs++;
drivers/usb/gadget/udc/goku_udc.c
1654
dma_advance(dev, ep);
drivers/usb/gadget/udc/goku_udc.c
1658
ep = &dev->ep[UDC_MSTWR_ENDPOINT];
drivers/usb/gadget/udc/goku_udc.c
1659
ep->irqs++;
drivers/usb/gadget/udc/goku_udc.c
166
tmp = ((ep->dma || !ep->is_in)
drivers/usb/gadget/udc/goku_udc.c
1660
dma_advance(dev, ep);
drivers/usb/gadget/udc/goku_udc.c
1664
ep = &dev->ep[UDC_MSTWR_ENDPOINT];
drivers/usb/gadget/udc/goku_udc.c
1665
ep->irqs++;
drivers/usb/gadget/udc/goku_udc.c
1666
ERROR(dev, "%s write timeout ?\n", ep->ep.name);
drivers/usb/gadget/udc/goku_udc.c
1676
ep = &dev->ep[i];
drivers/usb/gadget/udc/goku_udc.c
1677
pio_advance(ep);
drivers/usb/gadget/udc/goku_udc.c
1678
if (list_empty (&ep->queue))
drivers/usb/gadget/udc/goku_udc.c
1682
ep->irqs++;
drivers/usb/gadget/udc/goku_udc.c
169
) << ep->num;
drivers/usb/gadget/udc/goku_udc.c
173
tmp = (ep->dma ? 0x10/*dma*/ : 0x11/*pio*/) << ep->num;
drivers/usb/gadget/udc/goku_udc.c
177
writel(mode, ep->reg_mode);
drivers/usb/gadget/udc/goku_udc.c
178
command(ep->dev->regs, COMMAND_RESET, ep->num);
drivers/usb/gadget/udc/goku_udc.c
179
ep->ep.maxpacket = max;
drivers/usb/gadget/udc/goku_udc.c
180
ep->stopped = 0;
drivers/usb/gadget/udc/goku_udc.c
181
ep->ep.desc = desc;
drivers/usb/gadget/udc/goku_udc.c
182
spin_unlock_irqrestore(&ep->dev->lock, flags);
drivers/usb/gadget/udc/goku_udc.c
184
DBG(dev, "enable %s %s %s maxpacket %u\n", ep->ep.name,
drivers/usb/gadget/udc/goku_udc.c
185
ep->is_in ? "IN" : "OUT",
drivers/usb/gadget/udc/goku_udc.c
186
ep->dma ? "dma" : "pio",
drivers/usb/gadget/udc/goku_udc.c
192
static void ep_reset(struct goku_udc_regs __iomem *regs, struct goku_ep *ep)
drivers/usb/gadget/udc/goku_udc.c
194
struct goku_udc *dev = ep->dev;
drivers/usb/gadget/udc/goku_udc.c
197
command(regs, COMMAND_INVALID, ep->num);
drivers/usb/gadget/udc/goku_udc.c
198
if (ep->num) {
drivers/usb/gadget/udc/goku_udc.c
199
if (ep->num == UDC_MSTWR_ENDPOINT)
drivers/usb/gadget/udc/goku_udc.c
202
else if (ep->num == UDC_MSTRD_ENDPOINT)
drivers/usb/gadget/udc/goku_udc.c
204
dev->int_enable &= ~INT_EPxDATASET (ep->num);
drivers/usb/gadget/udc/goku_udc.c
209
if (ep->num < 3) {
drivers/usb/gadget/udc/goku_udc.c
210
struct goku_udc_regs __iomem *r = ep->dev->regs;
drivers/usb/gadget/udc/goku_udc.c
214
tmp &= ~(0x11 << ep->num);
drivers/usb/gadget/udc/goku_udc.c
218
tmp &= ~(0x11 << ep->num);
drivers/usb/gadget/udc/goku_udc.c
222
if (ep->dma) {
drivers/usb/gadget/udc/goku_udc.c
226
if (ep->num == UDC_MSTWR_ENDPOINT) {
drivers/usb/gadget/udc/goku_udc.c
237
usb_ep_set_maxpacket_limit(&ep->ep, MAX_FIFO_SIZE);
drivers/usb/gadget/udc/goku_udc.c
238
ep->ep.desc = NULL;
drivers/usb/gadget/udc/goku_udc.c
239
ep->stopped = 1;
drivers/usb/gadget/udc/goku_udc.c
240
ep->irqs = 0;
drivers/usb/gadget/udc/goku_udc.c
241
ep->dma = 0;
drivers/usb/gadget/udc/goku_udc.c
246
struct goku_ep *ep;
drivers/usb/gadget/udc/goku_udc.c
250
ep = container_of(_ep, struct goku_ep, ep);
drivers/usb/gadget/udc/goku_udc.c
251
if (!_ep || !ep->ep.desc)
drivers/usb/gadget/udc/goku_udc.c
253
dev = ep->dev;
drivers/usb/gadget/udc/goku_udc.c
260
nuke(ep, -ESHUTDOWN);
drivers/usb/gadget/udc/goku_udc.c
261
ep_reset(dev->regs, ep);
drivers/usb/gadget/udc/goku_udc.c
300
done(struct goku_ep *ep, struct goku_request *req, int status)
drivers/usb/gadget/udc/goku_udc.c
303
unsigned stopped = ep->stopped;
drivers/usb/gadget/udc/goku_udc.c
312
dev = ep->dev;
drivers/usb/gadget/udc/goku_udc.c
314
if (ep->dma)
drivers/usb/gadget/udc/goku_udc.c
315
usb_gadget_unmap_request(&dev->gadget, &req->req, ep->is_in);
drivers/usb/gadget/udc/goku_udc.c
321
ep->ep.name, &req->req, status,
drivers/usb/gadget/udc/goku_udc.c
325
ep->stopped = 1;
drivers/usb/gadget/udc/goku_udc.c
327
usb_gadget_giveback_request(&ep->ep, &req->req);
drivers/usb/gadget/udc/goku_udc.c
329
ep->stopped = stopped;
drivers/usb/gadget/udc/goku_udc.c
349
static int write_fifo(struct goku_ep *ep, struct goku_request *req)
drivers/usb/gadget/udc/goku_udc.c
351
struct goku_udc *dev = ep->dev;
drivers/usb/gadget/udc/goku_udc.c
361
dev = ep->dev;
drivers/usb/gadget/udc/goku_udc.c
362
if (unlikely(ep->num == 0 && dev->ep0state != EP0_IN))
drivers/usb/gadget/udc/goku_udc.c
366
if (unlikely((tmp & DATASET_A(ep->num)) != 0))
drivers/usb/gadget/udc/goku_udc.c
370
if (ep->num != 0)
drivers/usb/gadget/udc/goku_udc.c
371
writel(~INT_EPxDATASET(ep->num), &dev->regs->int_status);
drivers/usb/gadget/udc/goku_udc.c
373
count = write_packet(ep->reg_fifo, buf, req, ep->ep.maxpacket);
drivers/usb/gadget/udc/goku_udc.c
376
if (unlikely(count != ep->ep.maxpacket)) {
drivers/usb/gadget/udc/goku_udc.c
377
writel(~(1<<ep->num), &dev->regs->EOP);
drivers/usb/gadget/udc/goku_udc.c
378
if (ep->num == 0) {
drivers/usb/gadget/udc/goku_udc.c
379
dev->ep[0].stopped = 1;
drivers/usb/gadget/udc/goku_udc.c
393
ep->ep.name, count, is_last ? "/last" : "",
drivers/usb/gadget/udc/goku_udc.c
401
done(ep, req, 0);
drivers/usb/gadget/udc/goku_udc.c
408
static int read_fifo(struct goku_ep *ep, struct goku_request *req)
drivers/usb/gadget/udc/goku_udc.c
415
regs = ep->dev->regs;
drivers/usb/gadget/udc/goku_udc.c
420
if (unlikely(ep->num == 0 && ep->dev->ep0state != EP0_OUT))
drivers/usb/gadget/udc/goku_udc.c
423
dbuff = (ep->num == 1 || ep->num == 2);
drivers/usb/gadget/udc/goku_udc.c
426
if (ep->num != 0)
drivers/usb/gadget/udc/goku_udc.c
427
writel(~INT_EPxDATASET(ep->num), ®s->int_status);
drivers/usb/gadget/udc/goku_udc.c
429
set = readl(®s->DataSet) & DATASET_AB(ep->num);
drivers/usb/gadget/udc/goku_udc.c
430
size = readl(®s->EPxSizeLA[ep->num]);
drivers/usb/gadget/udc/goku_udc.c
434
if (likely(ep->num != 0 || bufferspace != 0)) {
drivers/usb/gadget/udc/goku_udc.c
439
size = readl(®s->EPxSizeLB[ep->num]);
drivers/usb/gadget/udc/goku_udc.c
450
is_short = (size < ep->ep.maxpacket);
drivers/usb/gadget/udc/goku_udc.c
452
VDBG(ep->dev, "read %s %u bytes%s OUT req %p %u/%u\n",
drivers/usb/gadget/udc/goku_udc.c
453
ep->ep.name, size, is_short ? "/S" : "",
drivers/usb/gadget/udc/goku_udc.c
457
u8 byte = (u8) readl(ep->reg_fifo);
drivers/usb/gadget/udc/goku_udc.c
465
DBG(ep->dev, "%s overflow %u\n",
drivers/usb/gadget/udc/goku_udc.c
466
ep->ep.name, size);
drivers/usb/gadget/udc/goku_udc.c
476
if (unlikely(ep->num == 0)) {
drivers/usb/gadget/udc/goku_udc.c
478
if (ep->dev->req_config)
drivers/usb/gadget/udc/goku_udc.c
479
writel(ep->dev->configured
drivers/usb/gadget/udc/goku_udc.c
485
ep->stopped = 1;
drivers/usb/gadget/udc/goku_udc.c
486
ep->dev->ep0state = EP0_STATUS;
drivers/usb/gadget/udc/goku_udc.c
488
done(ep, req, 0);
drivers/usb/gadget/udc/goku_udc.c
491
if (dbuff && !list_empty(&ep->queue)) {
drivers/usb/gadget/udc/goku_udc.c
492
req = list_entry(ep->queue.next,
drivers/usb/gadget/udc/goku_udc.c
521
pio_advance(struct goku_ep *ep)
drivers/usb/gadget/udc/goku_udc.c
525
if (unlikely(list_empty (&ep->queue)))
drivers/usb/gadget/udc/goku_udc.c
527
req = list_entry(ep->queue.next, struct goku_request, queue);
drivers/usb/gadget/udc/goku_udc.c
528
(ep->is_in ? write_fifo : read_fifo)(ep, req);
drivers/usb/gadget/udc/goku_udc.c
535
static int start_dma(struct goku_ep *ep, struct goku_request *req)
drivers/usb/gadget/udc/goku_udc.c
537
struct goku_udc_regs __iomem *regs = ep->dev->regs;
drivers/usb/gadget/udc/goku_udc.c
545
if (likely(ep->is_in)) {
drivers/usb/gadget/udc/goku_udc.c
547
DBG (ep->dev, "start, IN active dma %03x!!\n",
drivers/usb/gadget/udc/goku_udc.c
557
else if ((req->req.length % ep->ep.maxpacket) != 0
drivers/usb/gadget/udc/goku_udc.c
563
ep->dev->int_enable |= INT_MSTRDEND;
drivers/usb/gadget/udc/goku_udc.c
572
DBG (ep->dev, "start, OUT active dma %03x!!\n",
drivers/usb/gadget/udc/goku_udc.c
582
ep->dev->int_enable |= INT_MSTWREND|INT_MSTWRTMOUT;
drivers/usb/gadget/udc/goku_udc.c
586
writel(ep->dev->int_enable, ®s->int_enable);
drivers/usb/gadget/udc/goku_udc.c
590
static void dma_advance(struct goku_udc *dev, struct goku_ep *ep)
drivers/usb/gadget/udc/goku_udc.c
593
struct goku_udc_regs __iomem *regs = ep->dev->regs;
drivers/usb/gadget/udc/goku_udc.c
598
if (unlikely(list_empty(&ep->queue))) {
drivers/usb/gadget/udc/goku_udc.c
600
if (ep->is_in)
drivers/usb/gadget/udc/goku_udc.c
607
req = list_entry(ep->queue.next, struct goku_request, queue);
drivers/usb/gadget/udc/goku_udc.c
610
if (likely(ep->is_in)) {
drivers/usb/gadget/udc/goku_udc.c
628
ep->ep.name, ep->is_in ? "IN" : "OUT",
drivers/usb/gadget/udc/goku_udc.c
631
done(ep, req, 0);
drivers/usb/gadget/udc/goku_udc.c
632
if (list_empty(&ep->queue))
drivers/usb/gadget/udc/goku_udc.c
634
req = list_entry(ep->queue.next, struct goku_request, queue);
drivers/usb/gadget/udc/goku_udc.c
635
(void) start_dma(ep, req);
drivers/usb/gadget/udc/goku_udc.c
638
static void abort_dma(struct goku_ep *ep, int status)
drivers/usb/gadget/udc/goku_udc.c
640
struct goku_udc_regs __iomem *regs = ep->dev->regs;
drivers/usb/gadget/udc/goku_udc.c
651
command(regs, COMMAND_FIFO_DISABLE, ep->num);
drivers/usb/gadget/udc/goku_udc.c
652
req = list_entry(ep->queue.next, struct goku_request, queue);
drivers/usb/gadget/udc/goku_udc.c
660
if (ep->is_in) {
drivers/usb/gadget/udc/goku_udc.c
673
DBG(ep->dev, "IN dma active after reset!\n");
drivers/usb/gadget/udc/goku_udc.c
688
DBG(ep->dev, "OUT dma active after reset!\n");
drivers/usb/gadget/udc/goku_udc.c
693
VDBG(ep->dev, "%s %s %s %d/%d\n", __func__, ep->ep.name,
drivers/usb/gadget/udc/goku_udc.c
694
ep->is_in ? "IN" : "OUT",
drivers/usb/gadget/udc/goku_udc.c
697
command(regs, COMMAND_FIFO_ENABLE, ep->num);
drivers/usb/gadget/udc/goku_udc.c
703
command(regs, COMMAND_FIFO_ENABLE, ep->num);
drivers/usb/gadget/udc/goku_udc.c
714
struct goku_ep *ep;
drivers/usb/gadget/udc/goku_udc.c
724
ep = container_of(_ep, struct goku_ep, ep);
drivers/usb/gadget/udc/goku_udc.c
725
if (unlikely(!_ep || (!ep->ep.desc && ep->num != 0)))
drivers/usb/gadget/udc/goku_udc.c
727
dev = ep->dev;
drivers/usb/gadget/udc/goku_udc.c
736
if (ep->dma) {
drivers/usb/gadget/udc/goku_udc.c
738
ep->is_in);
drivers/usb/gadget/udc/goku_udc.c
756
if (unlikely(ep->num == 0 && ep->is_in))
drivers/usb/gadget/udc/goku_udc.c
761
if (list_empty(&ep->queue) && likely(!ep->stopped)) {
drivers/usb/gadget/udc/goku_udc.c
765
if (ep->dma)
drivers/usb/gadget/udc/goku_udc.c
766
status = start_dma(ep, req);
drivers/usb/gadget/udc/goku_udc.c
768
status = (ep->is_in ? write_fifo : read_fifo)(ep, req);
drivers/usb/gadget/udc/goku_udc.c
779
list_add_tail(&req->queue, &ep->queue);
drivers/usb/gadget/udc/goku_udc.c
781
if (likely(!list_empty(&ep->queue))
drivers/usb/gadget/udc/goku_udc.c
782
&& likely(ep->num != 0)
drivers/usb/gadget/udc/goku_udc.c
783
&& !ep->dma
drivers/usb/gadget/udc/goku_udc.c
784
&& !(dev->int_enable & INT_EPxDATASET (ep->num)))
drivers/usb/gadget/udc/goku_udc.c
785
pio_irq_enable(dev, dev->regs, ep->num);
drivers/usb/gadget/udc/goku_udc.c
794
static void nuke(struct goku_ep *ep, int status)
drivers/usb/gadget/udc/goku_udc.c
798
ep->stopped = 1;
drivers/usb/gadget/udc/goku_udc.c
799
if (list_empty(&ep->queue))
drivers/usb/gadget/udc/goku_udc.c
801
if (ep->dma)
drivers/usb/gadget/udc/goku_udc.c
802
abort_dma(ep, status);
drivers/usb/gadget/udc/goku_udc.c
803
while (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/goku_udc.c
804
req = list_entry(ep->queue.next, struct goku_request, queue);
drivers/usb/gadget/udc/goku_udc.c
805
done(ep, req, status);
drivers/usb/gadget/udc/goku_udc.c
813
struct goku_ep *ep;
drivers/usb/gadget/udc/goku_udc.c
817
ep = container_of(_ep, struct goku_ep, ep);
drivers/usb/gadget/udc/goku_udc.c
818
if (!_ep || !_req || (!ep->ep.desc && ep->num != 0))
drivers/usb/gadget/udc/goku_udc.c
820
dev = ep->dev;
drivers/usb/gadget/udc/goku_udc.c
829
ep->is_in ? "IN" : "OUT",
drivers/usb/gadget/udc/goku_udc.c
830
ep->dma ? "dma" : "pio",
drivers/usb/gadget/udc/goku_udc.c
836
list_for_each_entry(iter, &ep->queue, queue) {
drivers/usb/gadget/udc/goku_udc.c
847
if (ep->dma && ep->queue.next == &req->queue && !ep->stopped) {
drivers/usb/gadget/udc/goku_udc.c
848
abort_dma(ep, -ECONNRESET);
drivers/usb/gadget/udc/goku_udc.c
849
done(ep, req, -ECONNRESET);
drivers/usb/gadget/udc/goku_udc.c
850
dma_advance(dev, ep);
drivers/usb/gadget/udc/goku_udc.c
852
done(ep, req, -ECONNRESET);
drivers/usb/gadget/udc/goku_udc.c
862
static void goku_clear_halt(struct goku_ep *ep)
drivers/usb/gadget/udc/goku_udc.c
865
VDBG(ep->dev, "%s clear halt\n", ep->ep.name);
drivers/usb/gadget/udc/goku_udc.c
866
command(ep->dev->regs, COMMAND_SETDATA0, ep->num);
drivers/usb/gadget/udc/goku_udc.c
867
command(ep->dev->regs, COMMAND_STALL_CLEAR, ep->num);
drivers/usb/gadget/udc/goku_udc.c
868
if (ep->stopped) {
drivers/usb/gadget/udc/goku_udc.c
869
ep->stopped = 0;
drivers/usb/gadget/udc/goku_udc.c
870
if (ep->dma) {
drivers/usb/gadget/udc/goku_udc.c
873
if (list_empty(&ep->queue))
drivers/usb/gadget/udc/goku_udc.c
875
req = list_entry(ep->queue.next, struct goku_request,
drivers/usb/gadget/udc/goku_udc.c
877
(void) start_dma(ep, req);
drivers/usb/gadget/udc/goku_udc.c
879
pio_advance(ep);
drivers/usb/gadget/udc/goku_udc.c
885
struct goku_ep *ep;
drivers/usb/gadget/udc/goku_udc.c
891
ep = container_of (_ep, struct goku_ep, ep);
drivers/usb/gadget/udc/goku_udc.c
893
if (ep->num == 0) {
drivers/usb/gadget/udc/goku_udc.c
895
ep->dev->ep0state = EP0_STALL;
drivers/usb/gadget/udc/goku_udc.c
896
ep->dev->ep[0].stopped = 1;
drivers/usb/gadget/udc/goku_udc.c
901
} else if (!ep->ep.desc) {
drivers/usb/gadget/udc/goku_udc.c
902
DBG(ep->dev, "%s %s inactive?\n", __func__, ep->ep.name);
drivers/usb/gadget/udc/goku_udc.c
906
spin_lock_irqsave(&ep->dev->lock, flags);
drivers/usb/gadget/udc/goku_udc.c
907
if (!list_empty(&ep->queue))
drivers/usb/gadget/udc/goku_udc.c
909
else if (ep->is_in && value
drivers/usb/gadget/udc/goku_udc.c
911
&& (readl(&ep->dev->regs->DataSet)
drivers/usb/gadget/udc/goku_udc.c
912
& DATASET_AB(ep->num)))
drivers/usb/gadget/udc/goku_udc.c
915
goku_clear_halt(ep);
drivers/usb/gadget/udc/goku_udc.c
917
ep->stopped = 1;
drivers/usb/gadget/udc/goku_udc.c
918
VDBG(ep->dev, "%s set halt\n", ep->ep.name);
drivers/usb/gadget/udc/goku_udc.c
919
command(ep->dev->regs, COMMAND_STALL, ep->num);
drivers/usb/gadget/udc/goku_udc.c
920
readl(ep->reg_status);
drivers/usb/gadget/udc/goku_udc.c
922
spin_unlock_irqrestore(&ep->dev->lock, flags);
drivers/usb/gadget/udc/goku_udc.c
928
struct goku_ep *ep;
drivers/usb/gadget/udc/goku_udc.c
934
ep = container_of(_ep, struct goku_ep, ep);
drivers/usb/gadget/udc/goku_udc.c
937
if (ep->is_in)
drivers/usb/gadget/udc/goku_udc.c
94
struct goku_ep *ep;
drivers/usb/gadget/udc/goku_udc.c
941
regs = ep->dev->regs;
drivers/usb/gadget/udc/goku_udc.c
942
size = readl(®s->EPxSizeLA[ep->num]) & DATASIZE;
drivers/usb/gadget/udc/goku_udc.c
943
size += readl(®s->EPxSizeLB[ep->num]) & DATASIZE;
drivers/usb/gadget/udc/goku_udc.c
944
VDBG(ep->dev, "%s %s %u\n", __func__, ep->ep.name, size);
drivers/usb/gadget/udc/goku_udc.c
950
struct goku_ep *ep;
drivers/usb/gadget/udc/goku_udc.c
956
ep = container_of(_ep, struct goku_ep, ep);
drivers/usb/gadget/udc/goku_udc.c
957
VDBG(ep->dev, "%s %s\n", __func__, ep->ep.name);
drivers/usb/gadget/udc/goku_udc.c
960
if (!ep->ep.desc && ep->num != 0) {
drivers/usb/gadget/udc/goku_udc.c
961
DBG(ep->dev, "%s %s inactive?\n", __func__, ep->ep.name);
drivers/usb/gadget/udc/goku_udc.c
965
regs = ep->dev->regs;
drivers/usb/gadget/udc/goku_udc.c
966
size = readl(®s->EPxSizeLA[ep->num]);
drivers/usb/gadget/udc/goku_udc.c
974
command(regs, COMMAND_FIFO_CLEAR, ep->num);
drivers/usb/gadget/udc/goku_udc.c
99
ep = container_of(_ep, struct goku_ep, ep);
drivers/usb/gadget/udc/goku_udc.h
205
struct usb_ep ep;
drivers/usb/gadget/udc/goku_udc.h
242
struct goku_ep ep[4];
drivers/usb/gadget/udc/gr_udc.c
1003
status = gr_ep_halt_wedge(ep, 1, 0, 1);
drivers/usb/gadget/udc/gr_udc.c
1013
if (ep->wedged)
drivers/usb/gadget/udc/gr_udc.c
1015
status = gr_ep_halt_wedge(ep, 0, 0, 1);
drivers/usb/gadget/udc/gr_udc.c
111
static void gr_dbgprint_request(const char *str, struct gr_ep *ep,
drivers/usb/gadget/udc/gr_udc.c
1236
static int gr_handle_in_ep(struct gr_ep *ep)
drivers/usb/gadget/udc/gr_udc.c
124
static void gr_seq_ep_show(struct seq_file *seq, struct gr_ep *ep)
drivers/usb/gadget/udc/gr_udc.c
1240
req = list_first_entry(&ep->queue, struct gr_request, queue);
drivers/usb/gadget/udc/gr_udc.c
1247
if (gr_read32(&ep->regs->epstat) & (GR_EPSTAT_B1 | GR_EPSTAT_B0))
drivers/usb/gadget/udc/gr_udc.c
1251
gr_dma_advance(ep, 0);
drivers/usb/gadget/udc/gr_udc.c
126
u32 epctrl = gr_read32(&ep->regs->epctrl);
drivers/usb/gadget/udc/gr_udc.c
1261
static int gr_handle_out_ep(struct gr_ep *ep)
drivers/usb/gadget/udc/gr_udc.c
1267
struct gr_udc *dev = ep->dev;
drivers/usb/gadget/udc/gr_udc.c
1269
req = list_first_entry(&ep->queue, struct gr_request, queue);
drivers/usb/gadget/udc/gr_udc.c
127
u32 epstat = gr_read32(&ep->regs->epstat);
drivers/usb/gadget/udc/gr_udc.c
1283
if (len < ep->ep.maxpacket || req->req.actual >= req->req.length) {
drivers/usb/gadget/udc/gr_udc.c
1286
if ((ep == &dev->epo[0]) && (dev->ep0state == GR_EP0_OSTATUS)) {
drivers/usb/gadget/udc/gr_udc.c
1297
gr_dma_advance(ep, 0);
drivers/usb/gadget/udc/gr_udc.c
1303
ep_dmactrl = gr_read32(&ep->regs->dmactrl);
drivers/usb/gadget/udc/gr_udc.c
1304
gr_write32(&ep->regs->dmactrl, ep_dmactrl | GR_DMACTRL_DA);
drivers/usb/gadget/udc/gr_udc.c
131
seq_printf(seq, "%s:\n", ep->ep.name);
drivers/usb/gadget/udc/gr_udc.c
136
seq_printf(seq, " dma_start = %d\n", ep->dma_start);
drivers/usb/gadget/udc/gr_udc.c
137
seq_printf(seq, " stopped = %d\n", ep->stopped);
drivers/usb/gadget/udc/gr_udc.c
138
seq_printf(seq, " wedged = %d\n", ep->wedged);
drivers/usb/gadget/udc/gr_udc.c
139
seq_printf(seq, " callback = %d\n", ep->callback);
drivers/usb/gadget/udc/gr_udc.c
1398
struct gr_ep *ep;
drivers/usb/gadget/udc/gr_udc.c
140
seq_printf(seq, " maxpacket = %d\n", ep->ep.maxpacket);
drivers/usb/gadget/udc/gr_udc.c
141
seq_printf(seq, " maxpacket_limit = %d\n", ep->ep.maxpacket_limit);
drivers/usb/gadget/udc/gr_udc.c
1414
ep = &dev->epi[i];
drivers/usb/gadget/udc/gr_udc.c
1415
if (!ep->stopped && !ep->callback && !list_empty(&ep->queue))
drivers/usb/gadget/udc/gr_udc.c
1416
handled = gr_handle_in_ep(ep) || handled;
drivers/usb/gadget/udc/gr_udc.c
142
seq_printf(seq, " bytes_per_buffer = %d\n", ep->bytes_per_buffer);
drivers/usb/gadget/udc/gr_udc.c
1421
ep = &dev->epo[i];
drivers/usb/gadget/udc/gr_udc.c
1422
if (!ep->stopped && !ep->callback && !list_empty(&ep->queue))
drivers/usb/gadget/udc/gr_udc.c
1423
handled = gr_handle_out_ep(ep) || handled;
drivers/usb/gadget/udc/gr_udc.c
1434
list_for_each_entry(ep, &dev->ep_list, ep_list) {
drivers/usb/gadget/udc/gr_udc.c
1435
if (gr_read32(&ep->regs->dmactrl) & GR_DMACTRL_AE) {
drivers/usb/gadget/udc/gr_udc.c
1438
ep->ep.name);
drivers/usb/gadget/udc/gr_udc.c
1469
struct gr_ep *ep;
drivers/usb/gadget/udc/gr_udc.c
1476
ep = container_of(_ep, struct gr_ep, ep);
drivers/usb/gadget/udc/gr_udc.c
1480
dev = ep->dev;
drivers/usb/gadget/udc/gr_udc.c
1483
if (ep == &dev->epo[0] || ep == &dev->epi[0])
drivers/usb/gadget/udc/gr_udc.c
1490
epctrl = gr_read32(&ep->regs->epctrl);
drivers/usb/gadget/udc/gr_udc.c
1495
if (!ep->is_in != !usb_endpoint_dir_in(desc))
drivers/usb/gadget/udc/gr_udc.c
1499
if ((!ep->is_in && ep->num >= dev->nepo) ||
drivers/usb/gadget/udc/gr_udc.c
1500
(ep->is_in && ep->num >= dev->nepi))
drivers/usb/gadget/udc/gr_udc.c
1513
ep->ep.name);
drivers/usb/gadget/udc/gr_udc.c
1540
} else if (max > ep->ep.maxpacket_limit) {
drivers/usb/gadget/udc/gr_udc.c
1542
max, ep->ep.maxpacket_limit);
drivers/usb/gadget/udc/gr_udc.c
1546
spin_lock(&ep->dev->lock);
drivers/usb/gadget/udc/gr_udc.c
1548
if (!ep->stopped) {
drivers/usb/gadget/udc/gr_udc.c
1549
spin_unlock(&ep->dev->lock);
drivers/usb/gadget/udc/gr_udc.c
1553
ep->stopped = 0;
drivers/usb/gadget/udc/gr_udc.c
1554
ep->wedged = 0;
drivers/usb/gadget/udc/gr_udc.c
1555
ep->ep.desc = desc;
drivers/usb/gadget/udc/gr_udc.c
1556
ep->ep.maxpacket = max;
drivers/usb/gadget/udc/gr_udc.c
1557
ep->dma_start = 0;
drivers/usb/gadget/udc/gr_udc.c
156
if (list_empty(&ep->queue)) {
drivers/usb/gadget/udc/gr_udc.c
1565
ep->bytes_per_buffer = (nt + 1) * max;
drivers/usb/gadget/udc/gr_udc.c
1566
} else if (ep->is_in) {
drivers/usb/gadget/udc/gr_udc.c
1572
ep->bytes_per_buffer = (buffer_size / max) * max;
drivers/usb/gadget/udc/gr_udc.c
1578
ep->bytes_per_buffer = max;
drivers/usb/gadget/udc/gr_udc.c
1585
if (ep->is_in)
drivers/usb/gadget/udc/gr_udc.c
1587
gr_write32(&ep->regs->epctrl, epctrl);
drivers/usb/gadget/udc/gr_udc.c
1589
gr_write32(&ep->regs->dmactrl, GR_DMACTRL_IE | GR_DMACTRL_AI);
drivers/usb/gadget/udc/gr_udc.c
1591
spin_unlock(&ep->dev->lock);
drivers/usb/gadget/udc/gr_udc.c
1593
dev_dbg(ep->dev->dev, "EP: %s enabled - %s with %d bytes/buffer\n",
drivers/usb/gadget/udc/gr_udc.c
1594
ep->ep.name, gr_modestring[mode], ep->bytes_per_buffer);
drivers/usb/gadget/udc/gr_udc.c
1601
struct gr_ep *ep;
drivers/usb/gadget/udc/gr_udc.c
1605
ep = container_of(_ep, struct gr_ep, ep);
drivers/usb/gadget/udc/gr_udc.c
1606
if (!_ep || !ep->ep.desc)
drivers/usb/gadget/udc/gr_udc.c
1609
dev = ep->dev;
drivers/usb/gadget/udc/gr_udc.c
1612
if (ep == &dev->epo[0] || ep == &dev->epi[0])
drivers/usb/gadget/udc/gr_udc.c
1618
dev_dbg(ep->dev->dev, "EP: disable %s\n", ep->ep.name);
drivers/usb/gadget/udc/gr_udc.c
162
list_for_each_entry(req, &ep->queue, queue) {
drivers/usb/gadget/udc/gr_udc.c
1622
gr_ep_nuke(ep);
drivers/usb/gadget/udc/gr_udc.c
1623
gr_ep_reset(ep);
drivers/usb/gadget/udc/gr_udc.c
1624
ep->ep.desc = NULL;
drivers/usb/gadget/udc/gr_udc.c
1654
struct gr_ep *ep;
drivers/usb/gadget/udc/gr_udc.c
1662
ep = container_of(_ep, struct gr_ep, ep);
drivers/usb/gadget/udc/gr_udc.c
1664
dev = ep->dev;
drivers/usb/gadget/udc/gr_udc.c
1666
spin_lock(&ep->dev->lock);
drivers/usb/gadget/udc/gr_udc.c
1674
if ((ep == &dev->epi[0]) && (dev->ep0state == GR_EP0_ODATA)) {
drivers/usb/gadget/udc/gr_udc.c
1675
ep = &dev->epo[0];
drivers/usb/gadget/udc/gr_udc.c
1676
ep->ep.driver_data = dev->epi[0].ep.driver_data;
drivers/usb/gadget/udc/gr_udc.c
1679
if (ep->is_in)
drivers/usb/gadget/udc/gr_udc.c
1680
gr_dbgprint_request("EXTERN", ep, req);
drivers/usb/gadget/udc/gr_udc.c
1682
ret = gr_queue(ep, req, GFP_ATOMIC);
drivers/usb/gadget/udc/gr_udc.c
1684
spin_unlock(&ep->dev->lock);
drivers/usb/gadget/udc/gr_udc.c
1693
struct gr_ep *ep;
drivers/usb/gadget/udc/gr_udc.c
1698
ep = container_of(_ep, struct gr_ep, ep);
drivers/usb/gadget/udc/gr_udc.c
1699
if (!_ep || !_req || (!ep->ep.desc && ep->num != 0))
drivers/usb/gadget/udc/gr_udc.c
1701
dev = ep->dev;
drivers/usb/gadget/udc/gr_udc.c
1712
list_for_each_entry(iter, &ep->queue, queue) {
drivers/usb/gadget/udc/gr_udc.c
1723
if (list_first_entry(&ep->queue, struct gr_request, queue) == req) {
drivers/usb/gadget/udc/gr_udc.c
1725
gr_abort_dma(ep);
drivers/usb/gadget/udc/gr_udc.c
1726
if (ep->stopped)
drivers/usb/gadget/udc/gr_udc.c
1727
gr_finish_request(ep, req, -ECONNRESET);
drivers/usb/gadget/udc/gr_udc.c
1729
gr_dma_advance(ep, -ECONNRESET);
drivers/usb/gadget/udc/gr_udc.c
1732
gr_finish_request(ep, req, -ECONNRESET);
drivers/usb/gadget/udc/gr_udc.c
1747
struct gr_ep *ep;
drivers/usb/gadget/udc/gr_udc.c
1751
ep = container_of(_ep, struct gr_ep, ep);
drivers/usb/gadget/udc/gr_udc.c
1753
spin_lock(&ep->dev->lock);
drivers/usb/gadget/udc/gr_udc.c
1756
if (halt && ep->is_in && !list_empty(&ep->queue)) {
drivers/usb/gadget/udc/gr_udc.c
1761
ret = gr_ep_halt_wedge(ep, halt, wedge, 0);
drivers/usb/gadget/udc/gr_udc.c
1764
spin_unlock(&ep->dev->lock);
drivers/usb/gadget/udc/gr_udc.c
1787
struct gr_ep *ep;
drivers/usb/gadget/udc/gr_udc.c
1793
ep = container_of(_ep, struct gr_ep, ep);
drivers/usb/gadget/udc/gr_udc.c
1795
epstat = gr_read32(&ep->regs->epstat);
drivers/usb/gadget/udc/gr_udc.c
1809
struct gr_ep *ep;
drivers/usb/gadget/udc/gr_udc.c
1814
ep = container_of(_ep, struct gr_ep, ep);
drivers/usb/gadget/udc/gr_udc.c
1815
dev_vdbg(ep->dev->dev, "EP: flush fifo %s\n", ep->ep.name);
drivers/usb/gadget/udc/gr_udc.c
1817
spin_lock(&ep->dev->lock);
drivers/usb/gadget/udc/gr_udc.c
1819
epctrl = gr_read32(&ep->regs->epctrl);
drivers/usb/gadget/udc/gr_udc.c
1821
gr_write32(&ep->regs->epctrl, epctrl);
drivers/usb/gadget/udc/gr_udc.c
1823
spin_unlock(&ep->dev->lock);
drivers/usb/gadget/udc/gr_udc.c
186
struct gr_ep *ep;
drivers/usb/gadget/udc/gr_udc.c
1960
struct gr_ep *ep;
drivers/usb/gadget/udc/gr_udc.c
1966
ep = &dev->epi[num];
drivers/usb/gadget/udc/gr_udc.c
1967
ep->ep.name = inames[num];
drivers/usb/gadget/udc/gr_udc.c
1968
ep->regs = &dev->regs->epi[num];
drivers/usb/gadget/udc/gr_udc.c
1970
ep = &dev->epo[num];
drivers/usb/gadget/udc/gr_udc.c
1971
ep->ep.name = onames[num];
drivers/usb/gadget/udc/gr_udc.c
1972
ep->regs = &dev->regs->epo[num];
drivers/usb/gadget/udc/gr_udc.c
1975
gr_ep_reset(ep);
drivers/usb/gadget/udc/gr_udc.c
1976
ep->num = num;
drivers/usb/gadget/udc/gr_udc.c
1977
ep->is_in = is_in;
drivers/usb/gadget/udc/gr_udc.c
1978
ep->dev = dev;
drivers/usb/gadget/udc/gr_udc.c
1979
ep->ep.ops = &gr_ep_ops;
drivers/usb/gadget/udc/gr_udc.c
1980
INIT_LIST_HEAD(&ep->queue);
drivers/usb/gadget/udc/gr_udc.c
1983
_req = gr_alloc_request(&ep->ep, GFP_ATOMIC);
drivers/usb/gadget/udc/gr_udc.c
1989
gr_free_request(&ep->ep, _req);
drivers/usb/gadget/udc/gr_udc.c
199
list_for_each_entry(ep, &dev->ep_list, ep_list)
drivers/usb/gadget/udc/gr_udc.c
200
gr_seq_ep_show(seq, ep);
drivers/usb/gadget/udc/gr_udc.c
2002
usb_ep_set_maxpacket_limit(&ep->ep, MAX_CTRL_PL_SIZE);
drivers/usb/gadget/udc/gr_udc.c
2003
ep->bytes_per_buffer = MAX_CTRL_PL_SIZE;
drivers/usb/gadget/udc/gr_udc.c
2005
ep->ep.caps.type_control = true;
drivers/usb/gadget/udc/gr_udc.c
2007
usb_ep_set_maxpacket_limit(&ep->ep, (u16)maxplimit);
drivers/usb/gadget/udc/gr_udc.c
2008
list_add_tail(&ep->ep.ep_list, &dev->gadget.ep_list);
drivers/usb/gadget/udc/gr_udc.c
2010
ep->ep.caps.type_iso = true;
drivers/usb/gadget/udc/gr_udc.c
2011
ep->ep.caps.type_bulk = true;
drivers/usb/gadget/udc/gr_udc.c
2012
ep->ep.caps.type_int = true;
drivers/usb/gadget/udc/gr_udc.c
2014
list_add_tail(&ep->ep_list, &dev->ep_list);
drivers/usb/gadget/udc/gr_udc.c
2017
ep->ep.caps.dir_in = true;
drivers/usb/gadget/udc/gr_udc.c
2019
ep->ep.caps.dir_out = true;
drivers/usb/gadget/udc/gr_udc.c
2021
ep->tailbuf = dma_alloc_coherent(dev->dev, ep->ep.maxpacket_limit,
drivers/usb/gadget/udc/gr_udc.c
2022
&ep->tailbuf_paddr, GFP_ATOMIC);
drivers/usb/gadget/udc/gr_udc.c
2023
if (!ep->tailbuf)
drivers/usb/gadget/udc/gr_udc.c
2043
dev->gadget.ep0 = &dev->epi[0].ep;
drivers/usb/gadget/udc/gr_udc.c
2080
struct gr_ep *ep;
drivers/usb/gadget/udc/gr_udc.c
2083
ep = &dev->epi[num];
drivers/usb/gadget/udc/gr_udc.c
2085
ep = &dev->epo[num];
drivers/usb/gadget/udc/gr_udc.c
2087
if (ep->tailbuf)
drivers/usb/gadget/udc/gr_udc.c
2088
dma_free_coherent(dev->dev, ep->ep.maxpacket_limit,
drivers/usb/gadget/udc/gr_udc.c
2089
ep->tailbuf, ep->tailbuf_paddr);
drivers/usb/gadget/udc/gr_udc.c
2109
gr_free_request(&dev->epi[0].ep, &dev->ep0reqi->req);
drivers/usb/gadget/udc/gr_udc.c
2110
gr_free_request(&dev->epo[0].ep, &dev->ep0reqo->req);
drivers/usb/gadget/udc/gr_udc.c
231
static struct gr_dma_desc *gr_alloc_dma_desc(struct gr_ep *ep, gfp_t gfp_flags)
drivers/usb/gadget/udc/gr_udc.c
236
dma_desc = dma_pool_zalloc(ep->dev->desc_pool, gfp_flags, &paddr);
drivers/usb/gadget/udc/gr_udc.c
238
dev_err(ep->dev->dev, "Could not allocate from DMA pool\n");
drivers/usb/gadget/udc/gr_udc.c
282
static void gr_finish_request(struct gr_ep *ep, struct gr_request *req,
drivers/usb/gadget/udc/gr_udc.c
296
dev = ep->dev;
drivers/usb/gadget/udc/gr_udc.c
297
usb_gadget_unmap_request(&dev->gadget, &req->req, ep->is_in);
drivers/usb/gadget/udc/gr_udc.c
300
if (ep->is_in) { /* For OUT, req->req.actual gets updated bit by bit */
drivers/usb/gadget/udc/gr_udc.c
310
memcpy(buftail, ep->tailbuf, req->oddlen);
drivers/usb/gadget/udc/gr_udc.c
314
dev_dbg(ep->dev->dev, "Overflow for ep %s\n",
drivers/usb/gadget/udc/gr_udc.c
315
ep->ep.name);
drivers/usb/gadget/udc/gr_udc.c
316
gr_dbgprint_request("OVFL", ep, req);
drivers/usb/gadget/udc/gr_udc.c
322
if (ep->is_in)
drivers/usb/gadget/udc/gr_udc.c
323
gr_dbgprint_request("SENT", ep, req);
drivers/usb/gadget/udc/gr_udc.c
325
gr_dbgprint_request("RECV", ep, req);
drivers/usb/gadget/udc/gr_udc.c
329
ep->callback = 1;
drivers/usb/gadget/udc/gr_udc.c
339
usb_gadget_giveback_request(&ep->ep, &req->req);
drivers/usb/gadget/udc/gr_udc.c
343
ep->callback = 0;
drivers/usb/gadget/udc/gr_udc.c
364
static void gr_start_dma(struct gr_ep *ep)
drivers/usb/gadget/udc/gr_udc.c
369
if (list_empty(&ep->queue)) {
drivers/usb/gadget/udc/gr_udc.c
370
ep->dma_start = 0;
drivers/usb/gadget/udc/gr_udc.c
374
req = list_first_entry(&ep->queue, struct gr_request, queue);
drivers/usb/gadget/udc/gr_udc.c
385
if (!ep->is_in && req->oddlen)
drivers/usb/gadget/udc/gr_udc.c
386
req->last_desc->data = ep->tailbuf_paddr;
drivers/usb/gadget/udc/gr_udc.c
391
gr_write32(&ep->regs->dmaaddr, req->curr_desc->paddr);
drivers/usb/gadget/udc/gr_udc.c
394
dmactrl = gr_read32(&ep->regs->dmactrl);
drivers/usb/gadget/udc/gr_udc.c
395
gr_write32(&ep->regs->dmactrl, dmactrl | GR_DMACTRL_DA);
drivers/usb/gadget/udc/gr_udc.c
397
ep->dma_start = 1;
drivers/usb/gadget/udc/gr_udc.c
406
static void gr_dma_advance(struct gr_ep *ep, int status)
drivers/usb/gadget/udc/gr_udc.c
410
req = list_first_entry(&ep->queue, struct gr_request, queue);
drivers/usb/gadget/udc/gr_udc.c
411
gr_finish_request(ep, req, status);
drivers/usb/gadget/udc/gr_udc.c
412
gr_start_dma(ep); /* Regardless of ep->dma_start */
drivers/usb/gadget/udc/gr_udc.c
421
static void gr_abort_dma(struct gr_ep *ep)
drivers/usb/gadget/udc/gr_udc.c
425
dmactrl = gr_read32(&ep->regs->dmactrl);
drivers/usb/gadget/udc/gr_udc.c
426
gr_write32(&ep->regs->dmactrl, dmactrl | GR_DMACTRL_AD);
drivers/usb/gadget/udc/gr_udc.c
436
static int gr_add_dma_desc(struct gr_ep *ep, struct gr_request *req,
drivers/usb/gadget/udc/gr_udc.c
441
desc = gr_alloc_dma_desc(ep, gfp_flags);
drivers/usb/gadget/udc/gr_udc.c
446
if (ep->is_in)
drivers/usb/gadget/udc/gr_udc.c
475
static int gr_setup_out_desc_list(struct gr_ep *ep, struct gr_request *req,
drivers/usb/gadget/udc/gr_udc.c
487
u16 size = min(bytes_left, ep->bytes_per_buffer);
drivers/usb/gadget/udc/gr_udc.c
489
if (size < ep->bytes_per_buffer) {
drivers/usb/gadget/udc/gr_udc.c
495
ret = gr_add_dma_desc(ep, req, start, size, gfp_flags);
drivers/usb/gadget/udc/gr_udc.c
508
gr_free_dma_desc_chain(ep->dev, req);
drivers/usb/gadget/udc/gr_udc.c
528
static int gr_setup_in_desc_list(struct gr_ep *ep, struct gr_request *req,
drivers/usb/gadget/udc/gr_udc.c
540
u16 size = min(bytes_left, ep->bytes_per_buffer);
drivers/usb/gadget/udc/gr_udc.c
542
ret = gr_add_dma_desc(ep, req, start, size, gfp_flags);
drivers/usb/gadget/udc/gr_udc.c
555
if (req->req.zero && (req->req.length % ep->ep.maxpacket == 0)) {
drivers/usb/gadget/udc/gr_udc.c
556
ret = gr_add_dma_desc(ep, req, 0, 0, gfp_flags);
drivers/usb/gadget/udc/gr_udc.c
570
gr_free_dma_desc_chain(ep->dev, req);
drivers/usb/gadget/udc/gr_udc.c
576
static int gr_queue(struct gr_ep *ep, struct gr_request *req, gfp_t gfp_flags)
drivers/usb/gadget/udc/gr_udc.c
578
struct gr_udc *dev = ep->dev;
drivers/usb/gadget/udc/gr_udc.c
581
if (unlikely(!ep->ep.desc && ep->num != 0)) {
drivers/usb/gadget/udc/gr_udc.c
582
dev_err(dev->dev, "No ep descriptor for %s\n", ep->ep.name);
drivers/usb/gadget/udc/gr_udc.c
589
ep->ep.name, req->req.buf, list_empty(&req->queue));
drivers/usb/gadget/udc/gr_udc.c
605
ret = usb_gadget_map_request(&dev->gadget, &req->req, ep->is_in);
drivers/usb/gadget/udc/gr_udc.c
611
if (ep->is_in)
drivers/usb/gadget/udc/gr_udc.c
612
ret = gr_setup_in_desc_list(ep, req, gfp_flags);
drivers/usb/gadget/udc/gr_udc.c
614
ret = gr_setup_out_desc_list(ep, req, gfp_flags);
drivers/usb/gadget/udc/gr_udc.c
620
list_add_tail(&req->queue, &ep->queue);
drivers/usb/gadget/udc/gr_udc.c
623
if (!ep->dma_start && likely(!ep->stopped))
drivers/usb/gadget/udc/gr_udc.c
624
gr_start_dma(ep);
drivers/usb/gadget/udc/gr_udc.c
634
static inline int gr_queue_int(struct gr_ep *ep, struct gr_request *req,
drivers/usb/gadget/udc/gr_udc.c
637
if (ep->is_in)
drivers/usb/gadget/udc/gr_udc.c
638
gr_dbgprint_request("RESP", ep, req);
drivers/usb/gadget/udc/gr_udc.c
640
return gr_queue(ep, req, gfp_flags);
drivers/usb/gadget/udc/gr_udc.c
651
static void gr_ep_nuke(struct gr_ep *ep)
drivers/usb/gadget/udc/gr_udc.c
655
ep->stopped = 1;
drivers/usb/gadget/udc/gr_udc.c
656
ep->dma_start = 0;
drivers/usb/gadget/udc/gr_udc.c
657
gr_abort_dma(ep);
drivers/usb/gadget/udc/gr_udc.c
659
while (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/gr_udc.c
660
req = list_first_entry(&ep->queue, struct gr_request, queue);
drivers/usb/gadget/udc/gr_udc.c
661
gr_finish_request(ep, req, -ESHUTDOWN);
drivers/usb/gadget/udc/gr_udc.c
670
static void gr_ep_reset(struct gr_ep *ep)
drivers/usb/gadget/udc/gr_udc.c
672
gr_write32(&ep->regs->epctrl, 0);
drivers/usb/gadget/udc/gr_udc.c
673
gr_write32(&ep->regs->dmactrl, 0);
drivers/usb/gadget/udc/gr_udc.c
675
ep->ep.maxpacket = MAX_CTRL_PL_SIZE;
drivers/usb/gadget/udc/gr_udc.c
676
ep->ep.desc = NULL;
drivers/usb/gadget/udc/gr_udc.c
677
ep->stopped = 1;
drivers/usb/gadget/udc/gr_udc.c
678
ep->dma_start = 0;
drivers/usb/gadget/udc/gr_udc.c
703
static int gr_ep_halt_wedge(struct gr_ep *ep, int halt, int wedge, int fromhost)
drivers/usb/gadget/udc/gr_udc.c
708
if (ep->num && !ep->ep.desc)
drivers/usb/gadget/udc/gr_udc.c
711
if (ep->num && ep->ep.desc->bmAttributes == USB_ENDPOINT_XFER_ISOC)
drivers/usb/gadget/udc/gr_udc.c
715
if (!ep->num) {
drivers/usb/gadget/udc/gr_udc.c
718
gr_control_stall(ep->dev);
drivers/usb/gadget/udc/gr_udc.c
719
dev_dbg(ep->dev->dev, "EP: stall ep0\n");
drivers/usb/gadget/udc/gr_udc.c
725
dev_dbg(ep->dev->dev, "EP: %s halt %s\n",
drivers/usb/gadget/udc/gr_udc.c
726
(halt ? (wedge ? "wedge" : "set") : "clear"), ep->ep.name);
drivers/usb/gadget/udc/gr_udc.c
728
epctrl = gr_read32(&ep->regs->epctrl);
drivers/usb/gadget/udc/gr_udc.c
731
gr_write32(&ep->regs->epctrl, epctrl | GR_EPCTRL_EH);
drivers/usb/gadget/udc/gr_udc.c
732
ep->stopped = 1;
drivers/usb/gadget/udc/gr_udc.c
734
ep->wedged = 1;
drivers/usb/gadget/udc/gr_udc.c
736
gr_write32(&ep->regs->epctrl, epctrl & ~GR_EPCTRL_EH);
drivers/usb/gadget/udc/gr_udc.c
737
ep->stopped = 0;
drivers/usb/gadget/udc/gr_udc.c
738
ep->wedged = 0;
drivers/usb/gadget/udc/gr_udc.c
741
if (!ep->dma_start)
drivers/usb/gadget/udc/gr_udc.c
742
gr_start_dma(ep);
drivers/usb/gadget/udc/gr_udc.c
776
struct gr_ep *ep;
drivers/usb/gadget/udc/gr_udc.c
778
list_for_each_entry(ep, &dev->ep_list, ep_list)
drivers/usb/gadget/udc/gr_udc.c
779
gr_ep_nuke(ep);
drivers/usb/gadget/udc/gr_udc.c
793
struct gr_ep *ep;
drivers/usb/gadget/udc/gr_udc.c
797
ep = container_of(_ep, struct gr_ep, ep);
drivers/usb/gadget/udc/gr_udc.c
798
dev = ep->dev;
drivers/usb/gadget/udc/gr_udc.c
820
void (*complete)(struct usb_ep *ep,
drivers/usb/gadget/udc/gr_udc.c
90
static void gr_dbgprint_request(const char *str, struct gr_ep *ep,
drivers/usb/gadget/udc/gr_udc.c
93
int buflen = ep->is_in ? req->req.length : req->req.actual;
drivers/usb/gadget/udc/gr_udc.c
97
dev_dbg(ep->dev->dev, "%s: 0x%p, %d bytes data%s:\n", str, req, buflen,
drivers/usb/gadget/udc/gr_udc.c
981
struct gr_ep *ep;
drivers/usb/gadget/udc/gr_udc.c
993
ep = (is_in ? &dev->epi[epnum] : &dev->epo[epnum]);
drivers/usb/gadget/udc/gr_udc.c
997
halted = gr_read32(&ep->regs->epctrl) & GR_EPCTRL_EH;
drivers/usb/gadget/udc/gr_udc.h
139
struct usb_ep ep;
drivers/usb/gadget/udc/lpc32xx_udc.c
1001
static int udc_ep_out_req_dma(struct lpc32xx_udc *udc, struct lpc32xx_ep *ep)
drivers/usb/gadget/udc/lpc32xx_udc.c
1004
u32 hwep = ep->hwep_num;
drivers/usb/gadget/udc/lpc32xx_udc.c
1006
ep->req_pending = 1;
drivers/usb/gadget/udc/lpc32xx_udc.c
1009
req = list_entry(ep->queue.next, struct lpc32xx_request, queue);
drivers/usb/gadget/udc/lpc32xx_udc.c
1055
struct lpc32xx_ep *ep = &udc->ep[0];
drivers/usb/gadget/udc/lpc32xx_udc.c
1075
udc_realize_hwep(udc, i, ep->ep.maxpacket);
drivers/usb/gadget/udc/lpc32xx_udc.c
1340
struct lpc32xx_ep *ep = &udc->ep[i];
drivers/usb/gadget/udc/lpc32xx_udc.c
1341
ep->req_pending = 0;
drivers/usb/gadget/udc/lpc32xx_udc.c
1384
struct lpc32xx_ep *ep = &udc->ep[i];
drivers/usb/gadget/udc/lpc32xx_udc.c
1387
list_add_tail(&ep->ep.ep_list, &udc->gadget.ep_list);
drivers/usb/gadget/udc/lpc32xx_udc.c
1388
usb_ep_set_maxpacket_limit(&ep->ep, ep->maxpacket);
drivers/usb/gadget/udc/lpc32xx_udc.c
1389
INIT_LIST_HEAD(&ep->queue);
drivers/usb/gadget/udc/lpc32xx_udc.c
1390
ep->req_pending = 0;
drivers/usb/gadget/udc/lpc32xx_udc.c
1397
static void done(struct lpc32xx_ep *ep, struct lpc32xx_request *req, int status)
drivers/usb/gadget/udc/lpc32xx_udc.c
1399
struct lpc32xx_udc *udc = ep->udc;
drivers/usb/gadget/udc/lpc32xx_udc.c
1407
if (ep->lep) {
drivers/usb/gadget/udc/lpc32xx_udc.c
1408
usb_gadget_unmap_request(&udc->gadget, &req->req, ep->is_in);
drivers/usb/gadget/udc/lpc32xx_udc.c
1415
ep_dbg(ep, "%s done %p, status %d\n", ep->ep.name, req, status);
drivers/usb/gadget/udc/lpc32xx_udc.c
1417
ep->req_pending = 0;
drivers/usb/gadget/udc/lpc32xx_udc.c
1419
usb_gadget_giveback_request(&ep->ep, &req->req);
drivers/usb/gadget/udc/lpc32xx_udc.c
1424
static void nuke(struct lpc32xx_ep *ep, int status)
drivers/usb/gadget/udc/lpc32xx_udc.c
1428
while (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/lpc32xx_udc.c
1429
req = list_entry(ep->queue.next, struct lpc32xx_request, queue);
drivers/usb/gadget/udc/lpc32xx_udc.c
1430
done(ep, req, status);
drivers/usb/gadget/udc/lpc32xx_udc.c
1434
uda_disable_hwepint(ep->udc, ep->hwep_num);
drivers/usb/gadget/udc/lpc32xx_udc.c
1435
udc_disable_hwep(ep->udc, ep->hwep_num);
drivers/usb/gadget/udc/lpc32xx_udc.c
1443
struct lpc32xx_ep *ep0 = &udc->ep[0];
drivers/usb/gadget/udc/lpc32xx_udc.c
1459
} else if (ts > ep0->ep.maxpacket)
drivers/usb/gadget/udc/lpc32xx_udc.c
1460
ts = ep0->ep.maxpacket; /* Just send what we can */
drivers/usb/gadget/udc/lpc32xx_udc.c
1468
if (tsend >= ep0->ep.maxpacket)
drivers/usb/gadget/udc/lpc32xx_udc.c
1481
struct lpc32xx_ep *ep0 = &udc->ep[0];
drivers/usb/gadget/udc/lpc32xx_udc.c
1499
if (bufferspace > ep0->ep.maxpacket)
drivers/usb/gadget/udc/lpc32xx_udc.c
1500
bufferspace = ep0->ep.maxpacket;
drivers/usb/gadget/udc/lpc32xx_udc.c
1508
if (tr < ep0->ep.maxpacket) {
drivers/usb/gadget/udc/lpc32xx_udc.c
1531
struct lpc32xx_ep *ep = &udc->ep[i];
drivers/usb/gadget/udc/lpc32xx_udc.c
1532
nuke(ep, -ESHUTDOWN);
drivers/usb/gadget/udc/lpc32xx_udc.c
1564
struct lpc32xx_ep *ep = container_of(_ep, struct lpc32xx_ep, ep);
drivers/usb/gadget/udc/lpc32xx_udc.c
1565
struct lpc32xx_udc *udc = ep->udc;
drivers/usb/gadget/udc/lpc32xx_udc.c
1568
if ((ep->hwep_num_base == 0) || (ep->hwep_num == 0))
drivers/usb/gadget/udc/lpc32xx_udc.c
1572
nuke(ep, -ESHUTDOWN);
drivers/usb/gadget/udc/lpc32xx_udc.c
1575
udc_ep_dma_disable(udc, ep->hwep_num);
drivers/usb/gadget/udc/lpc32xx_udc.c
1576
writel(1 << ep->hwep_num, USBD_EOTINTCLR(udc->udp_baseaddr));
drivers/usb/gadget/udc/lpc32xx_udc.c
1577
writel(1 << ep->hwep_num, USBD_NDDRTINTCLR(udc->udp_baseaddr));
drivers/usb/gadget/udc/lpc32xx_udc.c
1578
writel(1 << ep->hwep_num, USBD_SYSERRTINTCLR(udc->udp_baseaddr));
drivers/usb/gadget/udc/lpc32xx_udc.c
1579
writel(1 << ep->hwep_num, USBD_DMARCLR(udc->udp_baseaddr));
drivers/usb/gadget/udc/lpc32xx_udc.c
1582
udc->udca_v_base[ep->hwep_num] = 0;
drivers/usb/gadget/udc/lpc32xx_udc.c
1585
uda_clear_hwepint(udc, ep->hwep_num);
drivers/usb/gadget/udc/lpc32xx_udc.c
1586
udc_unrealize_hwep(udc, ep->hwep_num);
drivers/usb/gadget/udc/lpc32xx_udc.c
1588
ep->hwep_num = 0;
drivers/usb/gadget/udc/lpc32xx_udc.c
1602
struct lpc32xx_ep *ep = container_of(_ep, struct lpc32xx_ep, ep);
drivers/usb/gadget/udc/lpc32xx_udc.c
1609
if ((!_ep) || (!ep) || (!desc) ||
drivers/usb/gadget/udc/lpc32xx_udc.c
1613
udc = ep->udc;
drivers/usb/gadget/udc/lpc32xx_udc.c
1615
if ((maxpacket == 0) || (maxpacket > ep->maxpacket)) {
drivers/usb/gadget/udc/lpc32xx_udc.c
162
struct lpc32xx_ep ep[NUM_ENDPOINTS];
drivers/usb/gadget/udc/lpc32xx_udc.c
1621
if (ep->hwep_num_base == 0) {
drivers/usb/gadget/udc/lpc32xx_udc.c
1638
if (maxpacket > ep->maxpacket) {
drivers/usb/gadget/udc/lpc32xx_udc.c
1666
ep->is_in = (desc->bEndpointAddress & USB_DIR_IN) != 0;
drivers/usb/gadget/udc/lpc32xx_udc.c
1667
ep->ep.maxpacket = maxpacket;
drivers/usb/gadget/udc/lpc32xx_udc.c
1670
if (ep->is_in)
drivers/usb/gadget/udc/lpc32xx_udc.c
1672
ep->hwep_num = ep->hwep_num_base + EP_IN;
drivers/usb/gadget/udc/lpc32xx_udc.c
1674
ep->hwep_num = ep->hwep_num_base;
drivers/usb/gadget/udc/lpc32xx_udc.c
1676
ep_dbg(ep, "EP enabled: %s, HW:%d, MP:%d IN:%d\n", ep->ep.name,
drivers/usb/gadget/udc/lpc32xx_udc.c
1677
ep->hwep_num, maxpacket, (ep->is_in == 1));
drivers/usb/gadget/udc/lpc32xx_udc.c
1681
udc_realize_hwep(udc, ep->hwep_num, ep->ep.maxpacket);
drivers/usb/gadget/udc/lpc32xx_udc.c
1682
udc_clr_buffer_hwep(udc, ep->hwep_num);
drivers/usb/gadget/udc/lpc32xx_udc.c
1683
uda_disable_hwepint(udc, ep->hwep_num);
drivers/usb/gadget/udc/lpc32xx_udc.c
1684
udc_clrstall_hwep(udc, ep->hwep_num);
drivers/usb/gadget/udc/lpc32xx_udc.c
1687
udc_ep_dma_disable(udc, ep->hwep_num);
drivers/usb/gadget/udc/lpc32xx_udc.c
1688
writel(1 << ep->hwep_num, USBD_EOTINTCLR(udc->udp_baseaddr));
drivers/usb/gadget/udc/lpc32xx_udc.c
1689
writel(1 << ep->hwep_num, USBD_NDDRTINTCLR(udc->udp_baseaddr));
drivers/usb/gadget/udc/lpc32xx_udc.c
1690
writel(1 << ep->hwep_num, USBD_SYSERRTINTCLR(udc->udp_baseaddr));
drivers/usb/gadget/udc/lpc32xx_udc.c
1691
writel(1 << ep->hwep_num, USBD_DMARCLR(udc->udp_baseaddr));
drivers/usb/gadget/udc/lpc32xx_udc.c
1735
struct lpc32xx_ep *ep;
drivers/usb/gadget/udc/lpc32xx_udc.c
1741
ep = container_of(_ep, struct lpc32xx_ep, ep);
drivers/usb/gadget/udc/lpc32xx_udc.c
1747
udc = ep->udc;
drivers/usb/gadget/udc/lpc32xx_udc.c
1752
if (ep->lep) {
drivers/usb/gadget/udc/lpc32xx_udc.c
1755
status = usb_gadget_map_request(&udc->gadget, _req, ep->is_in);
drivers/usb/gadget/udc/lpc32xx_udc.c
1773
if (ep->eptype == EP_ISO_TYPE) {
drivers/usb/gadget/udc/lpc32xx_udc.c
1778
if (ep->is_in)
drivers/usb/gadget/udc/lpc32xx_udc.c
1783
dd->dd_setup = DD_SETUP_PACKETLEN(ep->ep.maxpacket) |
drivers/usb/gadget/udc/lpc32xx_udc.c
1787
ep_dbg(ep, "%s queue req %p len %d buf %p (in=%d) z=%d\n", _ep->name,
drivers/usb/gadget/udc/lpc32xx_udc.c
1788
_req, _req->length, _req->buf, ep->is_in, _req->zero);
drivers/usb/gadget/udc/lpc32xx_udc.c
1797
if (list_empty(&ep->queue)) {
drivers/usb/gadget/udc/lpc32xx_udc.c
1798
list_add_tail(&req->queue, &ep->queue);
drivers/usb/gadget/udc/lpc32xx_udc.c
1800
if (ep->hwep_num_base == 0) {
drivers/usb/gadget/udc/lpc32xx_udc.c
1802
if (ep->is_in) {
drivers/usb/gadget/udc/lpc32xx_udc.c
1811
} else if (ep->is_in) {
drivers/usb/gadget/udc/lpc32xx_udc.c
1813
if (!ep->req_pending)
drivers/usb/gadget/udc/lpc32xx_udc.c
1814
udc_ep_in_req_dma(udc, ep);
drivers/usb/gadget/udc/lpc32xx_udc.c
1817
if (!ep->req_pending)
drivers/usb/gadget/udc/lpc32xx_udc.c
1818
udc_ep_out_req_dma(udc, ep);
drivers/usb/gadget/udc/lpc32xx_udc.c
1820
list_add_tail(&req->queue, &ep->queue);
drivers/usb/gadget/udc/lpc32xx_udc.c
1830
struct lpc32xx_ep *ep;
drivers/usb/gadget/udc/lpc32xx_udc.c
1834
ep = container_of(_ep, struct lpc32xx_ep, ep);
drivers/usb/gadget/udc/lpc32xx_udc.c
1835
if (!_ep || ep->hwep_num_base == 0)
drivers/usb/gadget/udc/lpc32xx_udc.c
1838
spin_lock_irqsave(&ep->udc->lock, flags);
drivers/usb/gadget/udc/lpc32xx_udc.c
1841
list_for_each_entry(iter, &ep->queue, queue) {
drivers/usb/gadget/udc/lpc32xx_udc.c
1848
spin_unlock_irqrestore(&ep->udc->lock, flags);
drivers/usb/gadget/udc/lpc32xx_udc.c
1852
done(ep, req, -ECONNRESET);
drivers/usb/gadget/udc/lpc32xx_udc.c
1854
spin_unlock_irqrestore(&ep->udc->lock, flags);
drivers/usb/gadget/udc/lpc32xx_udc.c
1862
struct lpc32xx_ep *ep = container_of(_ep, struct lpc32xx_ep, ep);
drivers/usb/gadget/udc/lpc32xx_udc.c
1866
if ((!ep) || (ep->hwep_num <= 1))
drivers/usb/gadget/udc/lpc32xx_udc.c
1870
if (ep->is_in)
drivers/usb/gadget/udc/lpc32xx_udc.c
1873
udc = ep->udc;
drivers/usb/gadget/udc/lpc32xx_udc.c
1878
udc_protocol_cmd_data_w(udc, CMD_SET_EP_STAT(ep->hwep_num),
drivers/usb/gadget/udc/lpc32xx_udc.c
1882
ep->wedge = 0;
drivers/usb/gadget/udc/lpc32xx_udc.c
1883
udc_protocol_cmd_data_w(udc, CMD_SET_EP_STAT(ep->hwep_num),
drivers/usb/gadget/udc/lpc32xx_udc.c
1895
struct lpc32xx_ep *ep = container_of(_ep, struct lpc32xx_ep, ep);
drivers/usb/gadget/udc/lpc32xx_udc.c
1897
if (!_ep || !ep->udc)
drivers/usb/gadget/udc/lpc32xx_udc.c
1900
ep->wedge = 1;
drivers/usb/gadget/udc/lpc32xx_udc.c
1917
static void udc_send_in_zlp(struct lpc32xx_udc *udc, struct lpc32xx_ep *ep)
drivers/usb/gadget/udc/lpc32xx_udc.c
1920
udc_clearep_getsts(udc, ep->hwep_num);
drivers/usb/gadget/udc/lpc32xx_udc.c
1923
udc_write_hwep(udc, ep->hwep_num, NULL, 0);
drivers/usb/gadget/udc/lpc32xx_udc.c
1931
static void udc_handle_eps(struct lpc32xx_udc *udc, struct lpc32xx_ep *ep)
drivers/usb/gadget/udc/lpc32xx_udc.c
1936
if (ep->hwep_num <= 0)
drivers/usb/gadget/udc/lpc32xx_udc.c
1939
uda_clear_hwepint(udc, ep->hwep_num);
drivers/usb/gadget/udc/lpc32xx_udc.c
1942
if (!(udc->enabled_hwepints & (1 << ep->hwep_num)))
drivers/usb/gadget/udc/lpc32xx_udc.c
1946
epstatus = udc_clearep_getsts(udc, ep->hwep_num);
drivers/usb/gadget/udc/lpc32xx_udc.c
1955
if (ep->is_in) {
drivers/usb/gadget/udc/lpc32xx_udc.c
1956
udc_send_in_zlp(udc, ep);
drivers/usb/gadget/udc/lpc32xx_udc.c
1957
uda_disable_hwepint(udc, ep->hwep_num);
drivers/usb/gadget/udc/lpc32xx_udc.c
1962
req = list_entry(ep->queue.next, struct lpc32xx_request, queue);
drivers/usb/gadget/udc/lpc32xx_udc.c
1964
done(ep, req, 0);
drivers/usb/gadget/udc/lpc32xx_udc.c
1967
if (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/lpc32xx_udc.c
1968
if (ep->is_in)
drivers/usb/gadget/udc/lpc32xx_udc.c
1969
udc_ep_in_req_dma(udc, ep);
drivers/usb/gadget/udc/lpc32xx_udc.c
1971
udc_ep_out_req_dma(udc, ep);
drivers/usb/gadget/udc/lpc32xx_udc.c
1973
ep->req_pending = 0;
drivers/usb/gadget/udc/lpc32xx_udc.c
1978
static void udc_handle_dma_ep(struct lpc32xx_udc *udc, struct lpc32xx_ep *ep)
drivers/usb/gadget/udc/lpc32xx_udc.c
1985
ep->totalints++;
drivers/usb/gadget/udc/lpc32xx_udc.c
1988
req = list_entry(ep->queue.next, struct lpc32xx_request, queue);
drivers/usb/gadget/udc/lpc32xx_udc.c
1993
ep_warn(ep, "DMA descriptor did not retire\n");
drivers/usb/gadget/udc/lpc32xx_udc.c
1996
udc_ep_dma_disable(udc, ep->hwep_num);
drivers/usb/gadget/udc/lpc32xx_udc.c
1997
writel((1 << ep->hwep_num), USBD_EOTINTCLR(udc->udp_baseaddr));
drivers/usb/gadget/udc/lpc32xx_udc.c
1998
writel((1 << ep->hwep_num), USBD_NDDRTINTCLR(udc->udp_baseaddr));
drivers/usb/gadget/udc/lpc32xx_udc.c
2002
(1 << ep->hwep_num)) {
drivers/usb/gadget/udc/lpc32xx_udc.c
2003
writel((1 << ep->hwep_num),
drivers/usb/gadget/udc/lpc32xx_udc.c
2005
ep_err(ep, "AHB critical error!\n");
drivers/usb/gadget/udc/lpc32xx_udc.c
2006
ep->req_pending = 0;
drivers/usb/gadget/udc/lpc32xx_udc.c
2011
done(ep, req, -ECONNABORTED);
drivers/usb/gadget/udc/lpc32xx_udc.c
2020
ep->req_pending = 0;
drivers/usb/gadget/udc/lpc32xx_udc.c
2021
ep_err(ep, "DMA critical EP error: DD not serviced (0x%x)!\n",
drivers/usb/gadget/udc/lpc32xx_udc.c
2024
done(ep, req, -ECONNABORTED);
drivers/usb/gadget/udc/lpc32xx_udc.c
2029
ep->req_pending = 0;
drivers/usb/gadget/udc/lpc32xx_udc.c
2030
ep_err(ep, "DMA critical EP error: EOT prior to service completion (0x%x)!\n",
drivers/usb/gadget/udc/lpc32xx_udc.c
2032
done(ep, req, -ECONNABORTED);
drivers/usb/gadget/udc/lpc32xx_udc.c
2043
ep->req_pending = 0;
drivers/usb/gadget/udc/lpc32xx_udc.c
2044
ep_err(ep, "DMA critical EP error: System error (0x%x)!\n",
drivers/usb/gadget/udc/lpc32xx_udc.c
2046
done(ep, req, -ECONNABORTED);
drivers/usb/gadget/udc/lpc32xx_udc.c
2051
if (ep->eptype == EP_ISO_TYPE) {
drivers/usb/gadget/udc/lpc32xx_udc.c
2052
if (ep->is_in)
drivers/usb/gadget/udc/lpc32xx_udc.c
2067
if (udc_clearep_getsts(udc, ep->hwep_num) & EP_SEL_F) {
drivers/usb/gadget/udc/lpc32xx_udc.c
2068
udc_clearep_getsts(udc, ep->hwep_num);
drivers/usb/gadget/udc/lpc32xx_udc.c
2069
uda_enable_hwepint(udc, ep->hwep_num);
drivers/usb/gadget/udc/lpc32xx_udc.c
2070
udc_clearep_getsts(udc, ep->hwep_num);
drivers/usb/gadget/udc/lpc32xx_udc.c
2075
udc_send_in_zlp(udc, ep);
drivers/usb/gadget/udc/lpc32xx_udc.c
2079
done(ep, req, 0);
drivers/usb/gadget/udc/lpc32xx_udc.c
2082
udc_clearep_getsts(udc, ep->hwep_num);
drivers/usb/gadget/udc/lpc32xx_udc.c
2083
if (!list_empty((&ep->queue))) {
drivers/usb/gadget/udc/lpc32xx_udc.c
2084
if (ep->is_in)
drivers/usb/gadget/udc/lpc32xx_udc.c
2085
udc_ep_in_req_dma(udc, ep);
drivers/usb/gadget/udc/lpc32xx_udc.c
2087
udc_ep_out_req_dma(udc, ep);
drivers/usb/gadget/udc/lpc32xx_udc.c
2089
ep->req_pending = 0;
drivers/usb/gadget/udc/lpc32xx_udc.c
2132
struct lpc32xx_ep *ep;
drivers/usb/gadget/udc/lpc32xx_udc.c
2147
ep = &udc->ep[tmp];
drivers/usb/gadget/udc/lpc32xx_udc.c
2152
if (!ep->is_in)
drivers/usb/gadget/udc/lpc32xx_udc.c
2154
} else if (ep->is_in)
drivers/usb/gadget/udc/lpc32xx_udc.c
2158
udc_protocol_cmd_w(udc, CMD_SEL_EP(ep->hwep_num));
drivers/usb/gadget/udc/lpc32xx_udc.c
2159
tmp = udc_protocol_cmd_r(udc, DAT_SEL_EP(ep->hwep_num));
drivers/usb/gadget/udc/lpc32xx_udc.c
2179
struct lpc32xx_ep *ep, *ep0 = &udc->ep[0];
drivers/usb/gadget/udc/lpc32xx_udc.c
2233
ep = &udc->ep[tmp];
drivers/usb/gadget/udc/lpc32xx_udc.c
2234
tmp = ep->hwep_num;
drivers/usb/gadget/udc/lpc32xx_udc.c
2240
else if (!ep->wedge)
drivers/usb/gadget/udc/lpc32xx_udc.c
2318
struct lpc32xx_ep *ep0 = &udc->ep[0];
drivers/usb/gadget/udc/lpc32xx_udc.c
2352
struct lpc32xx_ep *ep0 = &udc->ep[0];
drivers/usb/gadget/udc/lpc32xx_udc.c
2508
.ep[0] = {
drivers/usb/gadget/udc/lpc32xx_udc.c
2509
.ep = {
drivers/usb/gadget/udc/lpc32xx_udc.c
2521
.ep[1] = {
drivers/usb/gadget/udc/lpc32xx_udc.c
2522
.ep = {
drivers/usb/gadget/udc/lpc32xx_udc.c
2534
.ep[2] = {
drivers/usb/gadget/udc/lpc32xx_udc.c
2535
.ep = {
drivers/usb/gadget/udc/lpc32xx_udc.c
2547
.ep[3] = {
drivers/usb/gadget/udc/lpc32xx_udc.c
2548
.ep = {
drivers/usb/gadget/udc/lpc32xx_udc.c
2560
.ep[4] = {
drivers/usb/gadget/udc/lpc32xx_udc.c
2561
.ep = {
drivers/usb/gadget/udc/lpc32xx_udc.c
2573
.ep[5] = {
drivers/usb/gadget/udc/lpc32xx_udc.c
2574
.ep = {
drivers/usb/gadget/udc/lpc32xx_udc.c
2586
.ep[6] = {
drivers/usb/gadget/udc/lpc32xx_udc.c
2587
.ep = {
drivers/usb/gadget/udc/lpc32xx_udc.c
2599
.ep[7] = {
drivers/usb/gadget/udc/lpc32xx_udc.c
2600
.ep = {
drivers/usb/gadget/udc/lpc32xx_udc.c
2612
.ep[8] = {
drivers/usb/gadget/udc/lpc32xx_udc.c
2613
.ep = {
drivers/usb/gadget/udc/lpc32xx_udc.c
2625
.ep[9] = {
drivers/usb/gadget/udc/lpc32xx_udc.c
2626
.ep = {
drivers/usb/gadget/udc/lpc32xx_udc.c
2638
.ep[10] = {
drivers/usb/gadget/udc/lpc32xx_udc.c
2639
.ep = {
drivers/usb/gadget/udc/lpc32xx_udc.c
2651
.ep[11] = {
drivers/usb/gadget/udc/lpc32xx_udc.c
2652
.ep = {
drivers/usb/gadget/udc/lpc32xx_udc.c
2664
.ep[12] = {
drivers/usb/gadget/udc/lpc32xx_udc.c
2665
.ep = {
drivers/usb/gadget/udc/lpc32xx_udc.c
2677
.ep[13] = {
drivers/usb/gadget/udc/lpc32xx_udc.c
2678
.ep = {
drivers/usb/gadget/udc/lpc32xx_udc.c
2690
.ep[14] = {
drivers/usb/gadget/udc/lpc32xx_udc.c
2691
.ep = {
drivers/usb/gadget/udc/lpc32xx_udc.c
2703
.ep[15] = {
drivers/usb/gadget/udc/lpc32xx_udc.c
2704
.ep = {
drivers/usb/gadget/udc/lpc32xx_udc.c
2788
if (tmp & (1 << udc->ep[i].hwep_num))
drivers/usb/gadget/udc/lpc32xx_udc.c
2789
udc_handle_eps(udc, &udc->ep[i]);
drivers/usb/gadget/udc/lpc32xx_udc.c
2813
if (tmp & (1 << udc->ep[i].hwep_num))
drivers/usb/gadget/udc/lpc32xx_udc.c
2814
udc_handle_dma_ep(udc, &udc->ep[i]);
drivers/usb/gadget/udc/lpc32xx_udc.c
2995
udc->ep[i].udc = udc;
drivers/usb/gadget/udc/lpc32xx_udc.c
2996
udc->gadget.ep0 = &udc->ep[0].ep;
drivers/usb/gadget/udc/lpc32xx_udc.c
473
static void proc_ep_show(struct seq_file *s, struct lpc32xx_ep *ep)
drivers/usb/gadget/udc/lpc32xx_udc.c
479
ep->ep.name, ep->ep.maxpacket,
drivers/usb/gadget/udc/lpc32xx_udc.c
480
ep->is_in ? "in" : "out");
drivers/usb/gadget/udc/lpc32xx_udc.c
481
seq_printf(s, " type %4s", epnames[ep->eptype]);
drivers/usb/gadget/udc/lpc32xx_udc.c
482
seq_printf(s, " ints: %12d", ep->totalints);
drivers/usb/gadget/udc/lpc32xx_udc.c
484
if (list_empty(&ep->queue))
drivers/usb/gadget/udc/lpc32xx_udc.c
487
list_for_each_entry(req, &ep->queue, queue) {
drivers/usb/gadget/udc/lpc32xx_udc.c
500
struct lpc32xx_ep *ep;
drivers/usb/gadget/udc/lpc32xx_udc.c
516
proc_ep_show(s, &udc->ep[0]);
drivers/usb/gadget/udc/lpc32xx_udc.c
517
list_for_each_entry(ep, &udc->gadget.ep_list, ep.ep_list)
drivers/usb/gadget/udc/lpc32xx_udc.c
518
proc_ep_show(s, ep);
drivers/usb/gadget/udc/lpc32xx_udc.c
69
#define EP_MASK_SEL(ep, dir) (1 << (((ep) * 2) + dir))
drivers/usb/gadget/udc/lpc32xx_udc.c
975
static int udc_ep_in_req_dma(struct lpc32xx_udc *udc, struct lpc32xx_ep *ep)
drivers/usb/gadget/udc/lpc32xx_udc.c
978
u32 hwep = ep->hwep_num;
drivers/usb/gadget/udc/lpc32xx_udc.c
980
ep->req_pending = 1;
drivers/usb/gadget/udc/lpc32xx_udc.c
983
req = list_entry(ep->queue.next, struct lpc32xx_request, queue);
drivers/usb/gadget/udc/lpc32xx_udc.c
99
struct usb_ep ep;
drivers/usb/gadget/udc/lpc32xx_udc.c
992
if (req->req.length % ep->ep.maxpacket)
drivers/usb/gadget/udc/m66592-udc.c
1010
struct m66592_ep *ep;
drivers/usb/gadget/udc/m66592-udc.c
1014
ep = m66592->epaddr2ep[w_index & USB_ENDPOINT_NUMBER_MASK];
drivers/usb/gadget/udc/m66592-udc.c
1015
pipe_stop(m66592, ep->pipenum);
drivers/usb/gadget/udc/m66592-udc.c
1016
control_reg_sqclr(m66592, ep->pipenum);
drivers/usb/gadget/udc/m66592-udc.c
1020
req = list_entry(ep->queue.next,
drivers/usb/gadget/udc/m66592-udc.c
1022
if (ep->busy) {
drivers/usb/gadget/udc/m66592-udc.c
1023
ep->busy = 0;
drivers/usb/gadget/udc/m66592-udc.c
1024
if (list_empty(&ep->queue))
drivers/usb/gadget/udc/m66592-udc.c
1026
start_packet(ep, req);
drivers/usb/gadget/udc/m66592-udc.c
1027
} else if (!list_empty(&ep->queue))
drivers/usb/gadget/udc/m66592-udc.c
1028
pipe_start(m66592, ep->pipenum);
drivers/usb/gadget/udc/m66592-udc.c
1068
struct m66592_ep *ep;
drivers/usb/gadget/udc/m66592-udc.c
1071
ep = m66592->epaddr2ep[w_index & USB_ENDPOINT_NUMBER_MASK];
drivers/usb/gadget/udc/m66592-udc.c
1072
pipe_stall(m66592, ep->pipenum);
drivers/usb/gadget/udc/m66592-udc.c
1166
struct m66592_ep *ep;
drivers/usb/gadget/udc/m66592-udc.c
1168
ep = &m66592->ep[0];
drivers/usb/gadget/udc/m66592-udc.c
1169
req = list_entry(ep->queue.next, struct m66592_request, queue);
drivers/usb/gadget/udc/m66592-udc.c
1170
transfer_complete(ep, req, 0);
drivers/usb/gadget/udc/m66592-udc.c
1302
struct m66592_ep *ep;
drivers/usb/gadget/udc/m66592-udc.c
1304
ep = container_of(_ep, struct m66592_ep, ep);
drivers/usb/gadget/udc/m66592-udc.c
1305
return alloc_pipe_config(ep, desc);
drivers/usb/gadget/udc/m66592-udc.c
1310
struct m66592_ep *ep;
drivers/usb/gadget/udc/m66592-udc.c
1314
ep = container_of(_ep, struct m66592_ep, ep);
drivers/usb/gadget/udc/m66592-udc.c
1315
BUG_ON(!ep);
drivers/usb/gadget/udc/m66592-udc.c
1317
while (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/m66592-udc.c
1318
req = list_entry(ep->queue.next, struct m66592_request, queue);
drivers/usb/gadget/udc/m66592-udc.c
1319
spin_lock_irqsave(&ep->m66592->lock, flags);
drivers/usb/gadget/udc/m66592-udc.c
1320
transfer_complete(ep, req, -ECONNRESET);
drivers/usb/gadget/udc/m66592-udc.c
1321
spin_unlock_irqrestore(&ep->m66592->lock, flags);
drivers/usb/gadget/udc/m66592-udc.c
1324
pipe_irq_disable(ep->m66592, ep->pipenum);
drivers/usb/gadget/udc/m66592-udc.c
1325
return free_pipe_config(ep);
drivers/usb/gadget/udc/m66592-udc.c
1353
struct m66592_ep *ep;
drivers/usb/gadget/udc/m66592-udc.c
1358
ep = container_of(_ep, struct m66592_ep, ep);
drivers/usb/gadget/udc/m66592-udc.c
1361
if (ep->m66592->gadget.speed == USB_SPEED_UNKNOWN)
drivers/usb/gadget/udc/m66592-udc.c
1364
spin_lock_irqsave(&ep->m66592->lock, flags);
drivers/usb/gadget/udc/m66592-udc.c
1366
if (list_empty(&ep->queue))
drivers/usb/gadget/udc/m66592-udc.c
1369
list_add_tail(&req->queue, &ep->queue);
drivers/usb/gadget/udc/m66592-udc.c
1373
if (ep->ep.desc == NULL) /* control */
drivers/usb/gadget/udc/m66592-udc.c
1374
start_ep0(ep, req);
drivers/usb/gadget/udc/m66592-udc.c
1376
if (request && !ep->busy)
drivers/usb/gadget/udc/m66592-udc.c
1377
start_packet(ep, req);
drivers/usb/gadget/udc/m66592-udc.c
1380
spin_unlock_irqrestore(&ep->m66592->lock, flags);
drivers/usb/gadget/udc/m66592-udc.c
1387
struct m66592_ep *ep;
drivers/usb/gadget/udc/m66592-udc.c
1391
ep = container_of(_ep, struct m66592_ep, ep);
drivers/usb/gadget/udc/m66592-udc.c
1394
spin_lock_irqsave(&ep->m66592->lock, flags);
drivers/usb/gadget/udc/m66592-udc.c
1395
if (!list_empty(&ep->queue))
drivers/usb/gadget/udc/m66592-udc.c
1396
transfer_complete(ep, req, -ECONNRESET);
drivers/usb/gadget/udc/m66592-udc.c
1397
spin_unlock_irqrestore(&ep->m66592->lock, flags);
drivers/usb/gadget/udc/m66592-udc.c
1404
struct m66592_ep *ep = container_of(_ep, struct m66592_ep, ep);
drivers/usb/gadget/udc/m66592-udc.c
1408
spin_lock_irqsave(&ep->m66592->lock, flags);
drivers/usb/gadget/udc/m66592-udc.c
1409
if (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/m66592-udc.c
1412
ep->busy = 1;
drivers/usb/gadget/udc/m66592-udc.c
1413
pipe_stall(ep->m66592, ep->pipenum);
drivers/usb/gadget/udc/m66592-udc.c
1415
ep->busy = 0;
drivers/usb/gadget/udc/m66592-udc.c
1416
pipe_stop(ep->m66592, ep->pipenum);
drivers/usb/gadget/udc/m66592-udc.c
1418
spin_unlock_irqrestore(&ep->m66592->lock, flags);
drivers/usb/gadget/udc/m66592-udc.c
1424
struct m66592_ep *ep;
drivers/usb/gadget/udc/m66592-udc.c
1427
ep = container_of(_ep, struct m66592_ep, ep);
drivers/usb/gadget/udc/m66592-udc.c
1428
spin_lock_irqsave(&ep->m66592->lock, flags);
drivers/usb/gadget/udc/m66592-udc.c
1429
if (list_empty(&ep->queue) && !ep->busy) {
drivers/usb/gadget/udc/m66592-udc.c
1430
pipe_stop(ep->m66592, ep->pipenum);
drivers/usb/gadget/udc/m66592-udc.c
1431
m66592_bclr(ep->m66592, M66592_BCLR, ep->fifoctr);
drivers/usb/gadget/udc/m66592-udc.c
1433
spin_unlock_irqrestore(&ep->m66592->lock, flags);
drivers/usb/gadget/udc/m66592-udc.c
1524
m66592_free_request(&m66592->ep[0].ep, m66592->ep0_req);
drivers/usb/gadget/udc/m66592-udc.c
1532
static void nop_completion(struct usb_ep *ep, struct usb_request *r)
drivers/usb/gadget/udc/m66592-udc.c
1613
m66592->gadget.ep0 = &m66592->ep[0].ep;
drivers/usb/gadget/udc/m66592-udc.c
1616
struct m66592_ep *ep = &m66592->ep[i];
drivers/usb/gadget/udc/m66592-udc.c
1619
INIT_LIST_HEAD(&m66592->ep[i].ep.ep_list);
drivers/usb/gadget/udc/m66592-udc.c
1620
list_add_tail(&m66592->ep[i].ep.ep_list,
drivers/usb/gadget/udc/m66592-udc.c
1623
ep->m66592 = m66592;
drivers/usb/gadget/udc/m66592-udc.c
1624
INIT_LIST_HEAD(&ep->queue);
drivers/usb/gadget/udc/m66592-udc.c
1625
ep->ep.name = m66592_ep_name[i];
drivers/usb/gadget/udc/m66592-udc.c
1626
ep->ep.ops = &m66592_ep_ops;
drivers/usb/gadget/udc/m66592-udc.c
1627
usb_ep_set_maxpacket_limit(&ep->ep, 512);
drivers/usb/gadget/udc/m66592-udc.c
1630
ep->ep.caps.type_control = true;
drivers/usb/gadget/udc/m66592-udc.c
1632
ep->ep.caps.type_iso = true;
drivers/usb/gadget/udc/m66592-udc.c
1633
ep->ep.caps.type_bulk = true;
drivers/usb/gadget/udc/m66592-udc.c
1634
ep->ep.caps.type_int = true;
drivers/usb/gadget/udc/m66592-udc.c
1637
ep->ep.caps.dir_in = true;
drivers/usb/gadget/udc/m66592-udc.c
1638
ep->ep.caps.dir_out = true;
drivers/usb/gadget/udc/m66592-udc.c
1640
usb_ep_set_maxpacket_limit(&m66592->ep[0].ep, 64);
drivers/usb/gadget/udc/m66592-udc.c
1641
m66592->ep[0].pipenum = 0;
drivers/usb/gadget/udc/m66592-udc.c
1642
m66592->ep[0].fifoaddr = M66592_CFIFO;
drivers/usb/gadget/udc/m66592-udc.c
1643
m66592->ep[0].fifosel = M66592_CFIFOSEL;
drivers/usb/gadget/udc/m66592-udc.c
1644
m66592->ep[0].fifoctr = M66592_CFIFOCTR;
drivers/usb/gadget/udc/m66592-udc.c
1645
m66592->ep[0].fifotrn = 0;
drivers/usb/gadget/udc/m66592-udc.c
1646
m66592->ep[0].pipectr = get_pipectr_addr(0);
drivers/usb/gadget/udc/m66592-udc.c
1647
m66592->pipenum2ep[0] = &m66592->ep[0];
drivers/usb/gadget/udc/m66592-udc.c
1648
m66592->epaddr2ep[0] = &m66592->ep[0];
drivers/usb/gadget/udc/m66592-udc.c
1650
m66592->ep0_req = m66592_alloc_request(&m66592->ep[0].ep, GFP_KERNEL);
drivers/usb/gadget/udc/m66592-udc.c
1667
m66592_free_request(&m66592->ep[0].ep, m66592->ep0_req);
drivers/usb/gadget/udc/m66592-udc.c
1679
m66592_free_request(&m66592->ep[0].ep, m66592->ep0_req);
drivers/usb/gadget/udc/m66592-udc.c
208
struct m66592_ep *ep = m66592->pipenum2ep[pipenum];
drivers/usb/gadget/udc/m66592-udc.c
211
if (ep->use_dma)
drivers/usb/gadget/udc/m66592-udc.c
214
m66592_mdfy(m66592, pipenum, M66592_CURPIPE, ep->fifosel);
drivers/usb/gadget/udc/m66592-udc.c
223
m66592_bset(m66592, mbw, ep->fifosel);
drivers/usb/gadget/udc/m66592-udc.c
300
static void pipe_initialize(struct m66592_ep *ep)
drivers/usb/gadget/udc/m66592-udc.c
302
struct m66592 *m66592 = ep->m66592;
drivers/usb/gadget/udc/m66592-udc.c
305
m66592_mdfy(m66592, 0, M66592_CURPIPE, ep->fifosel);
drivers/usb/gadget/udc/m66592-udc.c
307
m66592_write(m66592, M66592_ACLRM, ep->pipectr);
drivers/usb/gadget/udc/m66592-udc.c
308
m66592_write(m66592, 0, ep->pipectr);
drivers/usb/gadget/udc/m66592-udc.c
309
m66592_write(m66592, M66592_SQCLR, ep->pipectr);
drivers/usb/gadget/udc/m66592-udc.c
310
if (ep->use_dma) {
drivers/usb/gadget/udc/m66592-udc.c
311
m66592_mdfy(m66592, ep->pipenum, M66592_CURPIPE, ep->fifosel);
drivers/usb/gadget/udc/m66592-udc.c
320
m66592_bset(m66592, mbw, ep->fifosel);
drivers/usb/gadget/udc/m66592-udc.c
324
static void m66592_ep_setting(struct m66592 *m66592, struct m66592_ep *ep,
drivers/usb/gadget/udc/m66592-udc.c
331
ep->use_dma = 1;
drivers/usb/gadget/udc/m66592-udc.c
332
ep->fifoaddr = M66592_D0FIFO;
drivers/usb/gadget/udc/m66592-udc.c
333
ep->fifosel = M66592_D0FIFOSEL;
drivers/usb/gadget/udc/m66592-udc.c
334
ep->fifoctr = M66592_D0FIFOCTR;
drivers/usb/gadget/udc/m66592-udc.c
335
ep->fifotrn = M66592_D0FIFOTRN;
drivers/usb/gadget/udc/m66592-udc.c
338
ep->use_dma = 1;
drivers/usb/gadget/udc/m66592-udc.c
339
ep->fifoaddr = M66592_D1FIFO;
drivers/usb/gadget/udc/m66592-udc.c
340
ep->fifosel = M66592_D1FIFOSEL;
drivers/usb/gadget/udc/m66592-udc.c
341
ep->fifoctr = M66592_D1FIFOCTR;
drivers/usb/gadget/udc/m66592-udc.c
342
ep->fifotrn = M66592_D1FIFOTRN;
drivers/usb/gadget/udc/m66592-udc.c
344
ep->use_dma = 0;
drivers/usb/gadget/udc/m66592-udc.c
345
ep->fifoaddr = M66592_CFIFO;
drivers/usb/gadget/udc/m66592-udc.c
346
ep->fifosel = M66592_CFIFOSEL;
drivers/usb/gadget/udc/m66592-udc.c
347
ep->fifoctr = M66592_CFIFOCTR;
drivers/usb/gadget/udc/m66592-udc.c
348
ep->fifotrn = 0;
drivers/usb/gadget/udc/m66592-udc.c
35
static void irq_ep0_write(struct m66592_ep *ep, struct m66592_request *req);
drivers/usb/gadget/udc/m66592-udc.c
351
ep->use_dma = 0;
drivers/usb/gadget/udc/m66592-udc.c
352
ep->fifoaddr = M66592_CFIFO;
drivers/usb/gadget/udc/m66592-udc.c
353
ep->fifosel = M66592_CFIFOSEL;
drivers/usb/gadget/udc/m66592-udc.c
354
ep->fifoctr = M66592_CFIFOCTR;
drivers/usb/gadget/udc/m66592-udc.c
355
ep->fifotrn = 0;
drivers/usb/gadget/udc/m66592-udc.c
358
ep->pipectr = get_pipectr_addr(pipenum);
drivers/usb/gadget/udc/m66592-udc.c
359
ep->pipenum = pipenum;
drivers/usb/gadget/udc/m66592-udc.c
36
static void irq_packet_write(struct m66592_ep *ep, struct m66592_request *req);
drivers/usb/gadget/udc/m66592-udc.c
360
ep->ep.maxpacket = usb_endpoint_maxp(desc);
drivers/usb/gadget/udc/m66592-udc.c
361
m66592->pipenum2ep[pipenum] = ep;
drivers/usb/gadget/udc/m66592-udc.c
362
m66592->epaddr2ep[usb_endpoint_num(desc)] = ep;
drivers/usb/gadget/udc/m66592-udc.c
363
INIT_LIST_HEAD(&ep->queue);
drivers/usb/gadget/udc/m66592-udc.c
366
static void m66592_ep_release(struct m66592_ep *ep)
drivers/usb/gadget/udc/m66592-udc.c
368
struct m66592 *m66592 = ep->m66592;
drivers/usb/gadget/udc/m66592-udc.c
369
u16 pipenum = ep->pipenum;
drivers/usb/gadget/udc/m66592-udc.c
374
if (ep->use_dma)
drivers/usb/gadget/udc/m66592-udc.c
376
ep->pipenum = 0;
drivers/usb/gadget/udc/m66592-udc.c
377
ep->busy = 0;
drivers/usb/gadget/udc/m66592-udc.c
378
ep->use_dma = 0;
drivers/usb/gadget/udc/m66592-udc.c
381
static int alloc_pipe_config(struct m66592_ep *ep,
drivers/usb/gadget/udc/m66592-udc.c
384
struct m66592 *m66592 = ep->m66592;
drivers/usb/gadget/udc/m66592-udc.c
390
ep->ep.desc = desc;
drivers/usb/gadget/udc/m66592-udc.c
392
BUG_ON(ep->pipenum);
drivers/usb/gadget/udc/m66592-udc.c
40
static void transfer_complete(struct m66592_ep *ep,
drivers/usb/gadget/udc/m66592-udc.c
434
ep->type = info.type;
drivers/usb/gadget/udc/m66592-udc.c
454
m66592_ep_setting(m66592, ep, desc, info.pipe, dma);
drivers/usb/gadget/udc/m66592-udc.c
455
pipe_initialize(ep);
drivers/usb/gadget/udc/m66592-udc.c
460
static int free_pipe_config(struct m66592_ep *ep)
drivers/usb/gadget/udc/m66592-udc.c
462
struct m66592 *m66592 = ep->m66592;
drivers/usb/gadget/udc/m66592-udc.c
465
info.pipe = ep->pipenum;
drivers/usb/gadget/udc/m66592-udc.c
466
info.type = ep->type;
drivers/usb/gadget/udc/m66592-udc.c
468
m66592_ep_release(ep);
drivers/usb/gadget/udc/m66592-udc.c
489
m66592->ep[0].internal_ccpl = ccpl;
drivers/usb/gadget/udc/m66592-udc.c
494
static void start_ep0_write(struct m66592_ep *ep, struct m66592_request *req)
drivers/usb/gadget/udc/m66592-udc.c
496
struct m66592 *m66592 = ep->m66592;
drivers/usb/gadget/udc/m66592-udc.c
498
pipe_change(m66592, ep->pipenum);
drivers/usb/gadget/udc/m66592-udc.c
502
m66592_write(m66592, M66592_BCLR, ep->fifoctr);
drivers/usb/gadget/udc/m66592-udc.c
504
m66592_bset(m66592, M66592_BVAL, ep->fifoctr);
drivers/usb/gadget/udc/m66592-udc.c
506
transfer_complete(ep, req, 0);
drivers/usb/gadget/udc/m66592-udc.c
509
irq_ep0_write(ep, req);
drivers/usb/gadget/udc/m66592-udc.c
513
static void start_packet_write(struct m66592_ep *ep, struct m66592_request *req)
drivers/usb/gadget/udc/m66592-udc.c
515
struct m66592 *m66592 = ep->m66592;
drivers/usb/gadget/udc/m66592-udc.c
518
pipe_change(m66592, ep->pipenum);
drivers/usb/gadget/udc/m66592-udc.c
519
disable_irq_empty(m66592, ep->pipenum);
drivers/usb/gadget/udc/m66592-udc.c
520
pipe_start(m66592, ep->pipenum);
drivers/usb/gadget/udc/m66592-udc.c
522
tmp = m66592_read(m66592, ep->fifoctr);
drivers/usb/gadget/udc/m66592-udc.c
524
pipe_irq_enable(m66592, ep->pipenum);
drivers/usb/gadget/udc/m66592-udc.c
526
irq_packet_write(ep, req);
drivers/usb/gadget/udc/m66592-udc.c
529
static void start_packet_read(struct m66592_ep *ep, struct m66592_request *req)
drivers/usb/gadget/udc/m66592-udc.c
531
struct m66592 *m66592 = ep->m66592;
drivers/usb/gadget/udc/m66592-udc.c
532
u16 pipenum = ep->pipenum;
drivers/usb/gadget/udc/m66592-udc.c
534
if (ep->pipenum == 0) {
drivers/usb/gadget/udc/m66592-udc.c
538
m66592_write(m66592, M66592_BCLR, ep->fifoctr);
drivers/usb/gadget/udc/m66592-udc.c
542
if (ep->use_dma) {
drivers/usb/gadget/udc/m66592-udc.c
543
m66592_bset(m66592, M66592_TRCLR, ep->fifosel);
drivers/usb/gadget/udc/m66592-udc.c
545
m66592_bset(m66592, M66592_TRENB, ep->fifosel);
drivers/usb/gadget/udc/m66592-udc.c
547
(req->req.length + ep->ep.maxpacket - 1)
drivers/usb/gadget/udc/m66592-udc.c
548
/ ep->ep.maxpacket,
drivers/usb/gadget/udc/m66592-udc.c
549
ep->fifotrn);
drivers/usb/gadget/udc/m66592-udc.c
556
static void start_packet(struct m66592_ep *ep, struct m66592_request *req)
drivers/usb/gadget/udc/m66592-udc.c
558
if (ep->ep.desc->bEndpointAddress & USB_DIR_IN)
drivers/usb/gadget/udc/m66592-udc.c
559
start_packet_write(ep, req);
drivers/usb/gadget/udc/m66592-udc.c
561
start_packet_read(ep, req);
drivers/usb/gadget/udc/m66592-udc.c
564
static void start_ep0(struct m66592_ep *ep, struct m66592_request *req)
drivers/usb/gadget/udc/m66592-udc.c
568
ctsq = m66592_read(ep->m66592, M66592_INTSTS0) & M66592_CTSQ;
drivers/usb/gadget/udc/m66592-udc.c
572
start_ep0_write(ep, req);
drivers/usb/gadget/udc/m66592-udc.c
575
start_packet_read(ep, req);
drivers/usb/gadget/udc/m66592-udc.c
579
control_end(ep->m66592, 0);
drivers/usb/gadget/udc/m66592-udc.c
705
static void transfer_complete(struct m66592_ep *ep,
drivers/usb/gadget/udc/m66592-udc.c
712
if (unlikely(ep->pipenum == 0)) {
drivers/usb/gadget/udc/m66592-udc.c
713
if (ep->internal_ccpl) {
drivers/usb/gadget/udc/m66592-udc.c
714
ep->internal_ccpl = 0;
drivers/usb/gadget/udc/m66592-udc.c
720
if (ep->m66592->gadget.speed == USB_SPEED_UNKNOWN)
drivers/usb/gadget/udc/m66592-udc.c
725
if (!list_empty(&ep->queue))
drivers/usb/gadget/udc/m66592-udc.c
728
spin_unlock(&ep->m66592->lock);
drivers/usb/gadget/udc/m66592-udc.c
729
usb_gadget_giveback_request(&ep->ep, &req->req);
drivers/usb/gadget/udc/m66592-udc.c
730
spin_lock(&ep->m66592->lock);
drivers/usb/gadget/udc/m66592-udc.c
733
req = list_entry(ep->queue.next, struct m66592_request, queue);
drivers/usb/gadget/udc/m66592-udc.c
734
if (ep->ep.desc)
drivers/usb/gadget/udc/m66592-udc.c
735
start_packet(ep, req);
drivers/usb/gadget/udc/m66592-udc.c
739
static void irq_ep0_write(struct m66592_ep *ep, struct m66592_request *req)
drivers/usb/gadget/udc/m66592-udc.c
746
u16 pipenum = ep->pipenum;
drivers/usb/gadget/udc/m66592-udc.c
747
struct m66592 *m66592 = ep->m66592;
drivers/usb/gadget/udc/m66592-udc.c
750
m66592_bset(m66592, M66592_ISEL, ep->fifosel);
drivers/usb/gadget/udc/m66592-udc.c
754
tmp = m66592_read(m66592, ep->fifoctr);
drivers/usb/gadget/udc/m66592-udc.c
771
m66592_write_fifo(m66592, ep, buf, size);
drivers/usb/gadget/udc/m66592-udc.c
772
if ((size == 0) || ((size % ep->ep.maxpacket) != 0))
drivers/usb/gadget/udc/m66592-udc.c
773
m66592_bset(m66592, M66592_BVAL, ep->fifoctr);
drivers/usb/gadget/udc/m66592-udc.c
781
|| (size % ep->ep.maxpacket)
drivers/usb/gadget/udc/m66592-udc.c
792
static void irq_packet_write(struct m66592_ep *ep, struct m66592_request *req)
drivers/usb/gadget/udc/m66592-udc.c
798
u16 pipenum = ep->pipenum;
drivers/usb/gadget/udc/m66592-udc.c
799
struct m66592 *m66592 = ep->m66592;
drivers/usb/gadget/udc/m66592-udc.c
802
tmp = m66592_read(m66592, ep->fifoctr);
drivers/usb/gadget/udc/m66592-udc.c
817
m66592_write_fifo(m66592, ep, buf, size);
drivers/usb/gadget/udc/m66592-udc.c
819
|| ((size % ep->ep.maxpacket) != 0)
drivers/usb/gadget/udc/m66592-udc.c
820
|| ((bufsize != ep->ep.maxpacket)
drivers/usb/gadget/udc/m66592-udc.c
822
m66592_bset(m66592, M66592_BVAL, ep->fifoctr);
drivers/usb/gadget/udc/m66592-udc.c
829
|| (size % ep->ep.maxpacket)
drivers/usb/gadget/udc/m66592-udc.c
839
static void irq_packet_read(struct m66592_ep *ep, struct m66592_request *req)
drivers/usb/gadget/udc/m66592-udc.c
845
u16 pipenum = ep->pipenum;
drivers/usb/gadget/udc/m66592-udc.c
846
struct m66592 *m66592 = ep->m66592;
drivers/usb/gadget/udc/m66592-udc.c
850
tmp = m66592_read(m66592, ep->fifoctr);
drivers/usb/gadget/udc/m66592-udc.c
875
|| (size % ep->ep.maxpacket)
drivers/usb/gadget/udc/m66592-udc.c
885
m66592_write(m66592, M66592_BCLR, ep->fifoctr);
drivers/usb/gadget/udc/m66592-udc.c
887
m66592_read_fifo(m66592, ep->fifoaddr, buf, size);
drivers/usb/gadget/udc/m66592-udc.c
890
if ((ep->pipenum != 0) && finish)
drivers/usb/gadget/udc/m66592-udc.c
891
transfer_complete(ep, req, 0);
drivers/usb/gadget/udc/m66592-udc.c
898
struct m66592_ep *ep;
drivers/usb/gadget/udc/m66592-udc.c
906
ep = &m66592->ep[0];
drivers/usb/gadget/udc/m66592-udc.c
907
req = list_entry(ep->queue.next, struct m66592_request, queue);
drivers/usb/gadget/udc/m66592-udc.c
908
irq_packet_read(ep, req);
drivers/usb/gadget/udc/m66592-udc.c
914
ep = m66592->pipenum2ep[pipenum];
drivers/usb/gadget/udc/m66592-udc.c
915
req = list_entry(ep->queue.next,
drivers/usb/gadget/udc/m66592-udc.c
917
if (ep->ep.desc->bEndpointAddress & USB_DIR_IN)
drivers/usb/gadget/udc/m66592-udc.c
918
irq_packet_write(ep, req);
drivers/usb/gadget/udc/m66592-udc.c
920
irq_packet_read(ep, req);
drivers/usb/gadget/udc/m66592-udc.c
931
struct m66592_ep *ep;
drivers/usb/gadget/udc/m66592-udc.c
937
ep = &m66592->ep[0];
drivers/usb/gadget/udc/m66592-udc.c
938
req = list_entry(ep->queue.next, struct m66592_request, queue);
drivers/usb/gadget/udc/m66592-udc.c
939
irq_ep0_write(ep, req);
drivers/usb/gadget/udc/m66592-udc.c
950
ep = m66592->pipenum2ep[pipenum];
drivers/usb/gadget/udc/m66592-udc.c
951
req = list_entry(ep->queue.next,
drivers/usb/gadget/udc/m66592-udc.c
954
if (!list_empty(&ep->queue))
drivers/usb/gadget/udc/m66592-udc.c
955
transfer_complete(ep, req, 0);
drivers/usb/gadget/udc/m66592-udc.c
966
struct m66592_ep *ep;
drivers/usb/gadget/udc/m66592-udc.c
979
ep = m66592->epaddr2ep[w_index & USB_ENDPOINT_NUMBER_MASK];
drivers/usb/gadget/udc/m66592-udc.c
980
pid = control_reg_get_pid(m66592, ep->pipenum);
drivers/usb/gadget/udc/m66592-udc.c
99
INIT_LIST_HEAD(&m66592->ep[0].queue);
drivers/usb/gadget/udc/m66592-udc.h
442
struct usb_ep ep;
drivers/usb/gadget/udc/m66592-udc.h
472
struct m66592_ep ep[M66592_MAX_NUM_PIPE];
drivers/usb/gadget/udc/m66592-udc.h
563
struct m66592_ep *ep,
drivers/usb/gadget/udc/m66592-udc.h
566
void __iomem *fifoaddr = m66592->reg + ep->fifoaddr;
drivers/usb/gadget/udc/m66592-udc.h
593
m66592_bclr(m66592, M66592_MBW_16, ep->fifosel);
drivers/usb/gadget/udc/m66592-udc.h
596
m66592_bset(m66592, M66592_MBW_16, ep->fifosel);
drivers/usb/gadget/udc/max3420_udc.c
1007
struct max3420_ep *ep = to_max3420_ep(_ep);
drivers/usb/gadget/udc/max3420_udc.c
1014
req->ep = ep;
drivers/usb/gadget/udc/max3420_udc.c
1028
struct max3420_ep *ep = to_max3420_ep(_ep);
drivers/usb/gadget/udc/max3420_udc.c
1029
struct max3420_udc *udc = ep->udc;
drivers/usb/gadget/udc/max3420_udc.c
1035
spin_lock_irqsave(&ep->lock, flags);
drivers/usb/gadget/udc/max3420_udc.c
1036
list_add_tail(&req->queue, &ep->queue);
drivers/usb/gadget/udc/max3420_udc.c
1037
spin_unlock_irqrestore(&ep->lock, flags);
drivers/usb/gadget/udc/max3420_udc.c
1048
struct max3420_ep *ep = to_max3420_ep(_ep);
drivers/usb/gadget/udc/max3420_udc.c
1051
spin_lock_irqsave(&ep->lock, flags);
drivers/usb/gadget/udc/max3420_udc.c
1054
list_for_each_entry(iter, &ep->queue, queue) {
drivers/usb/gadget/udc/max3420_udc.c
1062
spin_unlock_irqrestore(&ep->lock, flags);
drivers/usb/gadget/udc/max3420_udc.c
1156
struct max3420_ep *ep = &udc->ep[idx];
drivers/usb/gadget/udc/max3420_udc.c
1158
spin_lock_init(&ep->lock);
drivers/usb/gadget/udc/max3420_udc.c
1159
INIT_LIST_HEAD(&ep->queue);
drivers/usb/gadget/udc/max3420_udc.c
1161
ep->udc = udc;
drivers/usb/gadget/udc/max3420_udc.c
1162
ep->id = idx;
drivers/usb/gadget/udc/max3420_udc.c
1163
ep->halted = 0;
drivers/usb/gadget/udc/max3420_udc.c
1164
ep->maxpacket = 0;
drivers/usb/gadget/udc/max3420_udc.c
1165
ep->ep_usb.name = ep->name;
drivers/usb/gadget/udc/max3420_udc.c
1166
ep->ep_usb.ops = &max3420_ep_ops;
drivers/usb/gadget/udc/max3420_udc.c
1167
usb_ep_set_maxpacket_limit(&ep->ep_usb, MAX3420_EP_MAX_PACKET);
drivers/usb/gadget/udc/max3420_udc.c
1170
ep->ep_usb.desc = &ep0_desc;
drivers/usb/gadget/udc/max3420_udc.c
1171
ep->ep_usb.maxpacket = usb_endpoint_maxp(&ep0_desc);
drivers/usb/gadget/udc/max3420_udc.c
1172
ep->ep_usb.caps.type_control = true;
drivers/usb/gadget/udc/max3420_udc.c
1173
ep->ep_usb.caps.dir_in = true;
drivers/usb/gadget/udc/max3420_udc.c
1174
ep->ep_usb.caps.dir_out = true;
drivers/usb/gadget/udc/max3420_udc.c
1175
snprintf(ep->name, MAX3420_EPNAME_SIZE, "ep0");
drivers/usb/gadget/udc/max3420_udc.c
1180
ep->ep_usb.caps.dir_in = false;
drivers/usb/gadget/udc/max3420_udc.c
1181
ep->ep_usb.caps.dir_out = true;
drivers/usb/gadget/udc/max3420_udc.c
1182
snprintf(ep->name, MAX3420_EPNAME_SIZE, "ep1-bulk-out");
drivers/usb/gadget/udc/max3420_udc.c
1184
ep->ep_usb.caps.dir_in = true;
drivers/usb/gadget/udc/max3420_udc.c
1185
ep->ep_usb.caps.dir_out = false;
drivers/usb/gadget/udc/max3420_udc.c
1186
snprintf(ep->name, MAX3420_EPNAME_SIZE,
drivers/usb/gadget/udc/max3420_udc.c
1189
ep->ep_usb.caps.type_iso = false;
drivers/usb/gadget/udc/max3420_udc.c
1190
ep->ep_usb.caps.type_int = false;
drivers/usb/gadget/udc/max3420_udc.c
1191
ep->ep_usb.caps.type_bulk = true;
drivers/usb/gadget/udc/max3420_udc.c
1193
list_add_tail(&ep->ep_usb.ep_list,
drivers/usb/gadget/udc/max3420_udc.c
1230
udc->gadget.ep0 = &udc->ep[0].ep_usb;
drivers/usb/gadget/udc/max3420_udc.c
1236
udc->ep0req.ep = &udc->ep[0];
drivers/usb/gadget/udc/max3420_udc.c
152
struct max3420_ep *ep;
drivers/usb/gadget/udc/max3420_udc.c
169
struct max3420_ep ep[MAX3420_MAX_EPS];
drivers/usb/gadget/udc/max3420_udc.c
314
static int spi_max3420_enable(struct max3420_ep *ep)
drivers/usb/gadget/udc/max3420_udc.c
316
struct max3420_udc *udc = ep->udc;
drivers/usb/gadget/udc/max3420_udc.c
321
spin_lock_irqsave(&ep->lock, flags);
drivers/usb/gadget/udc/max3420_udc.c
322
todo = ep->todo & ENABLE_EP;
drivers/usb/gadget/udc/max3420_udc.c
323
ep->todo &= ~ENABLE_EP;
drivers/usb/gadget/udc/max3420_udc.c
324
spin_unlock_irqrestore(&ep->lock, flags);
drivers/usb/gadget/udc/max3420_udc.c
326
if (!todo || ep->id == 0)
drivers/usb/gadget/udc/max3420_udc.c
333
epdis &= ~BIT(ep->id + 4);
drivers/usb/gadget/udc/max3420_udc.c
334
epien |= BIT(ep->id + 1);
drivers/usb/gadget/udc/max3420_udc.c
336
epdis |= BIT(ep->id + 4);
drivers/usb/gadget/udc/max3420_udc.c
337
epien &= ~BIT(ep->id + 1);
drivers/usb/gadget/udc/max3420_udc.c
346
static int spi_max3420_stall(struct max3420_ep *ep)
drivers/usb/gadget/udc/max3420_udc.c
348
struct max3420_udc *udc = ep->udc;
drivers/usb/gadget/udc/max3420_udc.c
353
spin_lock_irqsave(&ep->lock, flags);
drivers/usb/gadget/udc/max3420_udc.c
354
todo = ep->todo & STALL_EP;
drivers/usb/gadget/udc/max3420_udc.c
355
ep->todo &= ~STALL_EP;
drivers/usb/gadget/udc/max3420_udc.c
356
spin_unlock_irqrestore(&ep->lock, flags);
drivers/usb/gadget/udc/max3420_udc.c
358
if (!todo || ep->id == 0)
drivers/usb/gadget/udc/max3420_udc.c
363
ep->halted = 1;
drivers/usb/gadget/udc/max3420_udc.c
364
epstalls |= BIT(ep->id + 1);
drivers/usb/gadget/udc/max3420_udc.c
368
ep->halted = 0;
drivers/usb/gadget/udc/max3420_udc.c
369
epstalls &= ~BIT(ep->id + 1);
drivers/usb/gadget/udc/max3420_udc.c
371
clrtogs |= BIT(ep->id + 1);
drivers/usb/gadget/udc/max3420_udc.c
410
static void max3420_nuke(struct max3420_ep *ep, int status);
drivers/usb/gadget/udc/max3420_udc.c
418
max3420_nuke(&udc->ep[i], -ECONNRESET);
drivers/usb/gadget/udc/max3420_udc.c
537
struct max3420_ep *ep;
drivers/usb/gadget/udc/max3420_udc.c
551
ep = &udc->ep[udc->setup.wIndex & USB_ENDPOINT_NUMBER_MASK];
drivers/usb/gadget/udc/max3420_udc.c
553
if (!ep->ep_usb.caps.dir_in)
drivers/usb/gadget/udc/max3420_udc.c
556
if (!ep->ep_usb.caps.dir_out)
drivers/usb/gadget/udc/max3420_udc.c
559
if (ep->halted)
drivers/usb/gadget/udc/max3420_udc.c
577
struct max3420_ep *ep;
drivers/usb/gadget/udc/max3420_udc.c
599
ep = &udc->ep[id];
drivers/usb/gadget/udc/max3420_udc.c
601
spin_lock_irqsave(&ep->lock, flags);
drivers/usb/gadget/udc/max3420_udc.c
602
ep->todo &= ~STALL_EP;
drivers/usb/gadget/udc/max3420_udc.c
604
ep->todo |= STALL;
drivers/usb/gadget/udc/max3420_udc.c
606
ep->todo |= UNSTALL;
drivers/usb/gadget/udc/max3420_udc.c
607
spin_unlock_irqrestore(&ep->lock, flags);
drivers/usb/gadget/udc/max3420_udc.c
609
spi_max3420_stall(ep);
drivers/usb/gadget/udc/max3420_udc.c
668
struct max3420_ep *ep = req->ep;
drivers/usb/gadget/udc/max3420_udc.c
669
struct max3420_udc *udc = ep->udc;
drivers/usb/gadget/udc/max3420_udc.c
678
ep->ep_usb.name, req, status);
drivers/usb/gadget/udc/max3420_udc.c
681
req->usb_req.complete(&ep->ep_usb, &req->usb_req);
drivers/usb/gadget/udc/max3420_udc.c
686
struct max3420_ep *ep = &udc->ep[ep_id];
drivers/usb/gadget/udc/max3420_udc.c
691
if (list_empty(&ep->queue))
drivers/usb/gadget/udc/max3420_udc.c
694
req = list_first_entry(&ep->queue, struct max3420_req, queue);
drivers/usb/gadget/udc/max3420_udc.c
697
psz = ep->ep_usb.maxpacket;
drivers/usb/gadget/udc/max3420_udc.c
718
if (length < ep->ep_usb.maxpacket)
drivers/usb/gadget/udc/max3420_udc.c
731
spin_lock_irqsave(&ep->lock, flags);
drivers/usb/gadget/udc/max3420_udc.c
733
spin_unlock_irqrestore(&ep->lock, flags);
drivers/usb/gadget/udc/max3420_udc.c
887
struct max3420_ep *ep = &udc->ep[i];
drivers/usb/gadget/udc/max3420_udc.c
889
if (spi_max3420_enable(ep))
drivers/usb/gadget/udc/max3420_udc.c
891
if (spi_max3420_stall(ep))
drivers/usb/gadget/udc/max3420_udc.c
905
struct max3420_ep *ep = to_max3420_ep(_ep);
drivers/usb/gadget/udc/max3420_udc.c
906
struct max3420_udc *udc = ep->udc;
drivers/usb/gadget/udc/max3420_udc.c
909
spin_lock_irqsave(&ep->lock, flags);
drivers/usb/gadget/udc/max3420_udc.c
911
ep->todo &= ~STALL_EP;
drivers/usb/gadget/udc/max3420_udc.c
913
ep->todo |= STALL;
drivers/usb/gadget/udc/max3420_udc.c
915
ep->todo |= UNSTALL;
drivers/usb/gadget/udc/max3420_udc.c
917
spin_unlock_irqrestore(&ep->lock, flags);
drivers/usb/gadget/udc/max3420_udc.c
921
dev_dbg(udc->dev, "%sStall %s\n", stall ? "" : "Un", ep->name);
drivers/usb/gadget/udc/max3420_udc.c
925
static int __max3420_ep_enable(struct max3420_ep *ep,
drivers/usb/gadget/udc/max3420_udc.c
931
spin_lock_irqsave(&ep->lock, flags);
drivers/usb/gadget/udc/max3420_udc.c
932
ep->ep_usb.desc = desc;
drivers/usb/gadget/udc/max3420_udc.c
933
ep->ep_usb.maxpacket = maxp;
drivers/usb/gadget/udc/max3420_udc.c
935
ep->todo &= ~ENABLE_EP;
drivers/usb/gadget/udc/max3420_udc.c
936
ep->todo |= ENABLE;
drivers/usb/gadget/udc/max3420_udc.c
937
spin_unlock_irqrestore(&ep->lock, flags);
drivers/usb/gadget/udc/max3420_udc.c
945
struct max3420_ep *ep = to_max3420_ep(_ep);
drivers/usb/gadget/udc/max3420_udc.c
946
struct max3420_udc *udc = ep->udc;
drivers/usb/gadget/udc/max3420_udc.c
948
__max3420_ep_enable(ep, desc);
drivers/usb/gadget/udc/max3420_udc.c
955
static void max3420_nuke(struct max3420_ep *ep, int status)
drivers/usb/gadget/udc/max3420_udc.c
960
spin_lock_irqsave(&ep->lock, flags);
drivers/usb/gadget/udc/max3420_udc.c
962
list_for_each_entry_safe(req, r, &ep->queue, queue) {
drivers/usb/gadget/udc/max3420_udc.c
965
spin_unlock_irqrestore(&ep->lock, flags);
drivers/usb/gadget/udc/max3420_udc.c
967
spin_lock_irqsave(&ep->lock, flags);
drivers/usb/gadget/udc/max3420_udc.c
970
spin_unlock_irqrestore(&ep->lock, flags);
drivers/usb/gadget/udc/max3420_udc.c
973
static void __max3420_ep_disable(struct max3420_ep *ep)
drivers/usb/gadget/udc/max3420_udc.c
975
struct max3420_udc *udc = ep->udc;
drivers/usb/gadget/udc/max3420_udc.c
978
spin_lock_irqsave(&ep->lock, flags);
drivers/usb/gadget/udc/max3420_udc.c
980
ep->ep_usb.desc = NULL;
drivers/usb/gadget/udc/max3420_udc.c
982
ep->todo &= ~ENABLE_EP;
drivers/usb/gadget/udc/max3420_udc.c
983
ep->todo |= DISABLE;
drivers/usb/gadget/udc/max3420_udc.c
985
spin_unlock_irqrestore(&ep->lock, flags);
drivers/usb/gadget/udc/max3420_udc.c
987
dev_dbg(udc->dev, "Disabled %s\n", ep->name);
drivers/usb/gadget/udc/max3420_udc.c
992
struct max3420_ep *ep = to_max3420_ep(_ep);
drivers/usb/gadget/udc/max3420_udc.c
993
struct max3420_udc *udc = ep->udc;
drivers/usb/gadget/udc/max3420_udc.c
995
max3420_nuke(ep, -ESHUTDOWN);
drivers/usb/gadget/udc/max3420_udc.c
997
__max3420_ep_disable(ep);
drivers/usb/gadget/udc/net2280.c
1003
dev = ep->dev;
drivers/usb/gadget/udc/net2280.c
1010
if (ep->dma && _req->length == 0) {
drivers/usb/gadget/udc/net2280.c
1016
if (ep->dma) {
drivers/usb/gadget/udc/net2280.c
1018
ep->is_in);
drivers/usb/gadget/udc/net2280.c
1032
if (list_empty(&ep->queue) && !ep->stopped &&
drivers/usb/gadget/udc/net2280.c
1033
!((dev->quirks & PLX_PCIE) && ep->dma &&
drivers/usb/gadget/udc/net2280.c
1034
(readl(&ep->regs->ep_rsp) & BIT(CLEAR_ENDPOINT_HALT)))) {
drivers/usb/gadget/udc/net2280.c
1037
if (ep->dma)
drivers/usb/gadget/udc/net2280.c
1038
start_dma(ep, req);
drivers/usb/gadget/udc/net2280.c
1041
if (ep->num == 0 && _req->length == 0) {
drivers/usb/gadget/udc/net2280.c
1042
allow_status(ep);
drivers/usb/gadget/udc/net2280.c
1043
done(ep, req, 0);
drivers/usb/gadget/udc/net2280.c
1044
ep_vdbg(dev, "%s status ack\n", ep->ep.name);
drivers/usb/gadget/udc/net2280.c
1049
if (ep->is_in)
drivers/usb/gadget/udc/net2280.c
1050
write_fifo(ep, _req);
drivers/usb/gadget/udc/net2280.c
1055
s = readl(&ep->regs->ep_stat);
drivers/usb/gadget/udc/net2280.c
1063
if (read_fifo(ep, req) &&
drivers/usb/gadget/udc/net2280.c
1064
ep->num == 0) {
drivers/usb/gadget/udc/net2280.c
1065
done(ep, req, 0);
drivers/usb/gadget/udc/net2280.c
1066
allow_status(ep);
drivers/usb/gadget/udc/net2280.c
1069
} else if (read_fifo(ep, req) &&
drivers/usb/gadget/udc/net2280.c
1070
ep->num != 0) {
drivers/usb/gadget/udc/net2280.c
1071
done(ep, req, 0);
drivers/usb/gadget/udc/net2280.c
1074
s = readl(&ep->regs->ep_stat);
drivers/usb/gadget/udc/net2280.c
1080
&ep->regs->ep_rsp);
drivers/usb/gadget/udc/net2280.c
1084
} else if (ep->dma) {
drivers/usb/gadget/udc/net2280.c
1087
if (ep->is_in) {
drivers/usb/gadget/udc/net2280.c
1094
(req->req.length % ep->ep.maxpacket));
drivers/usb/gadget/udc/net2280.c
1095
if (expect != ep->in_fifo_validate)
drivers/usb/gadget/udc/net2280.c
1098
queue_dma(ep, req, valid);
drivers/usb/gadget/udc/net2280.c
1102
ep->responded = 1;
drivers/usb/gadget/udc/net2280.c
1104
list_add_tail(&req->queue, &ep->queue);
drivers/usb/gadget/udc/net2280.c
1112
dev_err(&ep->dev->pdev->dev, "%s: error=%d\n", __func__, ret);
drivers/usb/gadget/udc/net2280.c
1117
dma_done(struct net2280_ep *ep, struct net2280_request *req, u32 dmacount,
drivers/usb/gadget/udc/net2280.c
1121
done(ep, req, status);
drivers/usb/gadget/udc/net2280.c
1124
static int scan_dma_completions(struct net2280_ep *ep)
drivers/usb/gadget/udc/net2280.c
1131
while (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/net2280.c
1135
req = list_entry(ep->queue.next,
drivers/usb/gadget/udc/net2280.c
1150
u32 const ep_dmacount = readl(&ep->dma->dmacount);
drivers/usb/gadget/udc/net2280.c
1155
dma_done(ep, req, req_dma_count, 0);
drivers/usb/gadget/udc/net2280.c
1158
} else if (!ep->is_in &&
drivers/usb/gadget/udc/net2280.c
1159
(req->req.length % ep->ep.maxpacket) &&
drivers/usb/gadget/udc/net2280.c
1160
!(ep->dev->quirks & PLX_PCIE)) {
drivers/usb/gadget/udc/net2280.c
1162
u32 const ep_stat = readl(&ep->regs->ep_stat);
drivers/usb/gadget/udc/net2280.c
1168
ep_warn(ep->dev, "%s lost packet sync!\n",
drivers/usb/gadget/udc/net2280.c
1169
ep->ep.name);
drivers/usb/gadget/udc/net2280.c
1172
u32 const ep_avail = readl(&ep->regs->ep_avail);
drivers/usb/gadget/udc/net2280.c
1175
ep->out_overflow = 1;
drivers/usb/gadget/udc/net2280.c
1176
ep_dbg(ep->dev,
drivers/usb/gadget/udc/net2280.c
1178
ep->ep.name, ep_avail,
drivers/usb/gadget/udc/net2280.c
1184
dma_done(ep, req, req_dma_count, 0);
drivers/usb/gadget/udc/net2280.c
1191
static void restart_dma(struct net2280_ep *ep)
drivers/usb/gadget/udc/net2280.c
1195
if (ep->stopped)
drivers/usb/gadget/udc/net2280.c
1197
req = list_entry(ep->queue.next, struct net2280_request, queue);
drivers/usb/gadget/udc/net2280.c
1199
start_dma(ep, req);
drivers/usb/gadget/udc/net2280.c
1202
static void abort_dma(struct net2280_ep *ep)
drivers/usb/gadget/udc/net2280.c
1205
if (likely(!list_empty(&ep->queue))) {
drivers/usb/gadget/udc/net2280.c
1207
writel(BIT(DMA_ABORT), &ep->dma->dmastat);
drivers/usb/gadget/udc/net2280.c
1208
spin_stop_dma(ep->dma);
drivers/usb/gadget/udc/net2280.c
1210
stop_dma(ep->dma);
drivers/usb/gadget/udc/net2280.c
1211
scan_dma_completions(ep);
drivers/usb/gadget/udc/net2280.c
1215
static void nuke(struct net2280_ep *ep)
drivers/usb/gadget/udc/net2280.c
1220
ep->stopped = 1;
drivers/usb/gadget/udc/net2280.c
1221
if (ep->dma)
drivers/usb/gadget/udc/net2280.c
1222
abort_dma(ep);
drivers/usb/gadget/udc/net2280.c
1223
while (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/net2280.c
1224
req = list_entry(ep->queue.next,
drivers/usb/gadget/udc/net2280.c
1227
done(ep, req, -ESHUTDOWN);
drivers/usb/gadget/udc/net2280.c
1234
struct net2280_ep *ep;
drivers/usb/gadget/udc/net2280.c
1241
ep = container_of(_ep, struct net2280_ep, ep);
drivers/usb/gadget/udc/net2280.c
1242
if (!_ep || (!ep->desc && ep->num != 0) || !_req) {
drivers/usb/gadget/udc/net2280.c
1248
spin_lock_irqsave(&ep->dev->lock, flags);
drivers/usb/gadget/udc/net2280.c
1249
stopped = ep->stopped;
drivers/usb/gadget/udc/net2280.c
1253
ep->stopped = 1;
drivers/usb/gadget/udc/net2280.c
1254
if (ep->dma) {
drivers/usb/gadget/udc/net2280.c
1255
dmactl = readl(&ep->dma->dmactl);
drivers/usb/gadget/udc/net2280.c
1257
stop_dma(ep->dma);
drivers/usb/gadget/udc/net2280.c
1258
scan_dma_completions(ep);
drivers/usb/gadget/udc/net2280.c
1262
list_for_each_entry(iter, &ep->queue, queue) {
drivers/usb/gadget/udc/net2280.c
1269
ep->stopped = stopped;
drivers/usb/gadget/udc/net2280.c
1270
spin_unlock_irqrestore(&ep->dev->lock, flags);
drivers/usb/gadget/udc/net2280.c
1271
ep_dbg(ep->dev, "%s: Request mismatch\n", __func__);
drivers/usb/gadget/udc/net2280.c
1276
if (ep->queue.next == &req->queue) {
drivers/usb/gadget/udc/net2280.c
1277
if (ep->dma) {
drivers/usb/gadget/udc/net2280.c
1278
ep_dbg(ep->dev, "unlink (%s) dma\n", _ep->name);
drivers/usb/gadget/udc/net2280.c
1280
abort_dma(ep);
drivers/usb/gadget/udc/net2280.c
1281
if (likely(ep->queue.next == &req->queue)) {
drivers/usb/gadget/udc/net2280.c
1284
dma_done(ep, req,
drivers/usb/gadget/udc/net2280.c
1285
readl(&ep->dma->dmacount),
drivers/usb/gadget/udc/net2280.c
1289
ep_dbg(ep->dev, "unlink (%s) pio\n", _ep->name);
drivers/usb/gadget/udc/net2280.c
1290
done(ep, req, -ECONNRESET);
drivers/usb/gadget/udc/net2280.c
1296
done(ep, req, -ECONNRESET);
drivers/usb/gadget/udc/net2280.c
1297
ep->stopped = stopped;
drivers/usb/gadget/udc/net2280.c
1299
if (ep->dma) {
drivers/usb/gadget/udc/net2280.c
1301
if (list_empty(&ep->queue))
drivers/usb/gadget/udc/net2280.c
1302
stop_dma(ep->dma);
drivers/usb/gadget/udc/net2280.c
1303
else if (!ep->stopped) {
drivers/usb/gadget/udc/net2280.c
1306
writel(dmactl, &ep->dma->dmactl);
drivers/usb/gadget/udc/net2280.c
1308
start_dma(ep, list_entry(ep->queue.next,
drivers/usb/gadget/udc/net2280.c
1313
spin_unlock_irqrestore(&ep->dev->lock, flags);
drivers/usb/gadget/udc/net2280.c
1324
struct net2280_ep *ep;
drivers/usb/gadget/udc/net2280.c
1328
ep = container_of(_ep, struct net2280_ep, ep);
drivers/usb/gadget/udc/net2280.c
1329
if (!_ep || (!ep->desc && ep->num != 0)) {
drivers/usb/gadget/udc/net2280.c
1333
if (!ep->dev->driver || ep->dev->gadget.speed == USB_SPEED_UNKNOWN) {
drivers/usb/gadget/udc/net2280.c
1337
if (ep->desc /* not ep0 */ && usb_endpoint_type(ep->desc)
drivers/usb/gadget/udc/net2280.c
1343
spin_lock_irqsave(&ep->dev->lock, flags);
drivers/usb/gadget/udc/net2280.c
1344
if (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/net2280.c
1347
} else if (ep->is_in && value && net2280_fifo_status(_ep) != 0) {
drivers/usb/gadget/udc/net2280.c
1351
ep_vdbg(ep->dev, "%s %s %s\n", _ep->name,
drivers/usb/gadget/udc/net2280.c
1356
if (ep->num == 0)
drivers/usb/gadget/udc/net2280.c
1357
ep->dev->protocol_stall = 1;
drivers/usb/gadget/udc/net2280.c
1359
set_halt(ep);
drivers/usb/gadget/udc/net2280.c
1361
ep->wedged = 1;
drivers/usb/gadget/udc/net2280.c
1363
clear_halt(ep);
drivers/usb/gadget/udc/net2280.c
1364
if (ep->dev->quirks & PLX_PCIE &&
drivers/usb/gadget/udc/net2280.c
1365
!list_empty(&ep->queue) && ep->td_dma)
drivers/usb/gadget/udc/net2280.c
1366
restart_dma(ep);
drivers/usb/gadget/udc/net2280.c
1367
ep->wedged = 0;
drivers/usb/gadget/udc/net2280.c
1369
(void) readl(&ep->regs->ep_rsp);
drivers/usb/gadget/udc/net2280.c
1371
spin_unlock_irqrestore(&ep->dev->lock, flags);
drivers/usb/gadget/udc/net2280.c
1376
spin_unlock_irqrestore(&ep->dev->lock, flags);
drivers/usb/gadget/udc/net2280.c
1378
dev_err(&ep->dev->pdev->dev, "%s: error=%d\n", __func__, retval);
drivers/usb/gadget/udc/net2280.c
1398
struct net2280_ep *ep;
drivers/usb/gadget/udc/net2280.c
1401
ep = container_of(_ep, struct net2280_ep, ep);
drivers/usb/gadget/udc/net2280.c
1402
if (!_ep || (!ep->desc && ep->num != 0)) {
drivers/usb/gadget/udc/net2280.c
1406
if (!ep->dev->driver || ep->dev->gadget.speed == USB_SPEED_UNKNOWN) {
drivers/usb/gadget/udc/net2280.c
1407
dev_err(&ep->dev->pdev->dev,
drivers/usb/gadget/udc/net2280.c
1409
__func__, ep->dev->driver, ep->dev->gadget.speed);
drivers/usb/gadget/udc/net2280.c
1413
avail = readl(&ep->regs->ep_avail) & (BIT(12) - 1);
drivers/usb/gadget/udc/net2280.c
1414
if (avail > ep->fifo_size) {
drivers/usb/gadget/udc/net2280.c
1415
dev_err(&ep->dev->pdev->dev, "%s: Fifo overflow\n", __func__);
drivers/usb/gadget/udc/net2280.c
1418
if (ep->is_in)
drivers/usb/gadget/udc/net2280.c
1419
avail = ep->fifo_size - avail;
drivers/usb/gadget/udc/net2280.c
1425
struct net2280_ep *ep;
drivers/usb/gadget/udc/net2280.c
1427
ep = container_of(_ep, struct net2280_ep, ep);
drivers/usb/gadget/udc/net2280.c
1428
if (!_ep || (!ep->desc && ep->num != 0)) {
drivers/usb/gadget/udc/net2280.c
1432
if (!ep->dev->driver || ep->dev->gadget.speed == USB_SPEED_UNKNOWN) {
drivers/usb/gadget/udc/net2280.c
1433
dev_err(&ep->dev->pdev->dev,
drivers/usb/gadget/udc/net2280.c
1435
__func__, ep->dev->driver, ep->dev->gadget.speed);
drivers/usb/gadget/udc/net2280.c
1439
writel(BIT(FIFO_FLUSH), &ep->regs->ep_stat);
drivers/usb/gadget/udc/net2280.c
1440
(void) readl(&ep->regs->ep_rsp);
drivers/usb/gadget/udc/net2280.c
1552
struct usb_ep *ep;
drivers/usb/gadget/udc/net2280.c
1556
ep = gadget_find_ep_by_name(_gadget, "ep-e");
drivers/usb/gadget/udc/net2280.c
1557
if (ep && usb_gadget_ep_match_desc(_gadget, ep, desc, ep_comp))
drivers/usb/gadget/udc/net2280.c
1558
return ep;
drivers/usb/gadget/udc/net2280.c
1559
ep = gadget_find_ep_by_name(_gadget, "ep-f");
drivers/usb/gadget/udc/net2280.c
1560
if (ep && usb_gadget_ep_match_desc(_gadget, ep, desc, ep_comp))
drivers/usb/gadget/udc/net2280.c
1561
return ep;
drivers/usb/gadget/udc/net2280.c
1570
ep = gadget_find_ep_by_name(_gadget, "ep2in");
drivers/usb/gadget/udc/net2280.c
1571
if (ep && usb_gadget_ep_match_desc(_gadget, ep, desc, ep_comp))
drivers/usb/gadget/udc/net2280.c
1572
return ep;
drivers/usb/gadget/udc/net2280.c
1573
ep = gadget_find_ep_by_name(_gadget, "ep4in");
drivers/usb/gadget/udc/net2280.c
1574
if (ep && usb_gadget_ep_match_desc(_gadget, ep, desc, ep_comp))
drivers/usb/gadget/udc/net2280.c
1575
return ep;
drivers/usb/gadget/udc/net2280.c
1578
ep = gadget_find_ep_by_name(_gadget, "ep1out");
drivers/usb/gadget/udc/net2280.c
1579
if (ep && usb_gadget_ep_match_desc(_gadget, ep, desc, ep_comp))
drivers/usb/gadget/udc/net2280.c
1580
return ep;
drivers/usb/gadget/udc/net2280.c
1581
ep = gadget_find_ep_by_name(_gadget, "ep3out");
drivers/usb/gadget/udc/net2280.c
1582
if (ep && usb_gadget_ep_match_desc(_gadget, ep, desc, ep_comp))
drivers/usb/gadget/udc/net2280.c
1583
return ep;
drivers/usb/gadget/udc/net2280.c
1586
ep = gadget_find_ep_by_name(_gadget, "ep1in");
drivers/usb/gadget/udc/net2280.c
1587
if (ep && usb_gadget_ep_match_desc(_gadget, ep, desc, ep_comp))
drivers/usb/gadget/udc/net2280.c
1588
return ep;
drivers/usb/gadget/udc/net2280.c
1589
ep = gadget_find_ep_by_name(_gadget, "ep3in");
drivers/usb/gadget/udc/net2280.c
1590
if (ep && usb_gadget_ep_match_desc(_gadget, ep, desc, ep_comp))
drivers/usb/gadget/udc/net2280.c
1591
return ep;
drivers/usb/gadget/udc/net2280.c
1594
ep = gadget_find_ep_by_name(_gadget, "ep2out");
drivers/usb/gadget/udc/net2280.c
1595
if (ep && usb_gadget_ep_match_desc(_gadget, ep, desc, ep_comp))
drivers/usb/gadget/udc/net2280.c
1596
return ep;
drivers/usb/gadget/udc/net2280.c
1597
ep = gadget_find_ep_by_name(_gadget, "ep4out");
drivers/usb/gadget/udc/net2280.c
1598
if (ep && usb_gadget_ep_match_desc(_gadget, ep, desc, ep_comp))
drivers/usb/gadget/udc/net2280.c
1599
return ep;
drivers/usb/gadget/udc/net2280.c
1605
ep = gadget_find_ep_by_name(_gadget, name);
drivers/usb/gadget/udc/net2280.c
1606
if (ep && usb_gadget_ep_match_desc(_gadget, ep, desc, ep_comp))
drivers/usb/gadget/udc/net2280.c
1607
return ep;
drivers/usb/gadget/udc/net2280.c
162
static void ep_clear_seqnum(struct net2280_ep *ep);
drivers/usb/gadget/udc/net2280.c
168
static inline void enable_pciirqenb(struct net2280_ep *ep)
drivers/usb/gadget/udc/net2280.c
170
u32 tmp = readl(&ep->dev->regs->pciirqenb0);
drivers/usb/gadget/udc/net2280.c
1715
struct net2280_ep *ep;
drivers/usb/gadget/udc/net2280.c
1717
ep = &dev->ep[i];
drivers/usb/gadget/udc/net2280.c
1718
if (i && !ep->desc)
drivers/usb/gadget/udc/net2280.c
172
if (ep->dev->quirks & PLX_LEGACY)
drivers/usb/gadget/udc/net2280.c
1721
t1 = readl(&ep->cfg->ep_cfg);
drivers/usb/gadget/udc/net2280.c
1722
t2 = readl(&ep->regs->ep_rsp) & 0xff;
drivers/usb/gadget/udc/net2280.c
1726
ep->ep.name, t1, t2,
drivers/usb/gadget/udc/net2280.c
173
tmp |= BIT(ep->num);
drivers/usb/gadget/udc/net2280.c
1743
readl(&ep->regs->ep_irqenb));
drivers/usb/gadget/udc/net2280.c
175
tmp |= BIT(ep_bit[ep->num]);
drivers/usb/gadget/udc/net2280.c
1750
readl(&ep->regs->ep_stat),
drivers/usb/gadget/udc/net2280.c
1751
readl(&ep->regs->ep_avail),
drivers/usb/gadget/udc/net2280.c
1754
ep->stopped ? "*" : "");
drivers/usb/gadget/udc/net2280.c
1758
if (!ep->dma)
drivers/usb/gadget/udc/net2280.c
176
writel(tmp, &ep->dev->regs->pciirqenb0);
drivers/usb/gadget/udc/net2280.c
1764
readl(&ep->dma->dmactl),
drivers/usb/gadget/udc/net2280.c
1765
readl(&ep->dma->dmastat),
drivers/usb/gadget/udc/net2280.c
1766
readl(&ep->dma->dmacount),
drivers/usb/gadget/udc/net2280.c
1767
readl(&ep->dma->dmaaddr),
drivers/usb/gadget/udc/net2280.c
1768
readl(&ep->dma->dmadesc));
drivers/usb/gadget/udc/net2280.c
1781
struct net2280_ep *ep;
drivers/usb/gadget/udc/net2280.c
1783
ep = &dev->ep[i];
drivers/usb/gadget/udc/net2280.c
1784
if (i && !ep->irqs)
drivers/usb/gadget/udc/net2280.c
1786
t = scnprintf(next, size, " %s/%lu", ep->ep.name, ep->irqs);
drivers/usb/gadget/udc/net2280.c
1816
struct net2280_ep *ep = &dev->ep[i];
drivers/usb/gadget/udc/net2280.c
1823
d = ep->desc;
drivers/usb/gadget/udc/net2280.c
1829
ep->ep.name, t & USB_ENDPOINT_NUMBER_MASK,
drivers/usb/gadget/udc/net2280.c
1833
ep->dma ? "dma" : "pio", ep->fifo_size
drivers/usb/gadget/udc/net2280.c
1837
ep->is_in ? "in" : "out");
drivers/usb/gadget/udc/net2280.c
1843
if (list_empty(&ep->queue)) {
drivers/usb/gadget/udc/net2280.c
185
struct net2280_ep *ep;
drivers/usb/gadget/udc/net2280.c
1851
list_for_each_entry(req, &ep->queue, queue) {
drivers/usb/gadget/udc/net2280.c
1852
if (ep->dma && req->td_dma == readl(&ep->dma->dmadesc))
drivers/usb/gadget/udc/net2280.c
1858
readl(&ep->dma->dmacount));
drivers/usb/gadget/udc/net2280.c
1869
if (ep->dma) {
drivers/usb/gadget/udc/net2280.c
1914
list_add_tail(&dev->ep[1].ep.ep_list, &dev->gadget.ep_list);
drivers/usb/gadget/udc/net2280.c
1915
list_add_tail(&dev->ep[2].ep.ep_list, &dev->gadget.ep_list);
drivers/usb/gadget/udc/net2280.c
1918
list_add_tail(&dev->ep[3].ep.ep_list, &dev->gadget.ep_list);
drivers/usb/gadget/udc/net2280.c
1919
list_add_tail(&dev->ep[4].ep.ep_list, &dev->gadget.ep_list);
drivers/usb/gadget/udc/net2280.c
1920
dev->ep[1].fifo_size = dev->ep[2].fifo_size = 1024;
drivers/usb/gadget/udc/net2280.c
1923
dev->ep[1].fifo_size = dev->ep[2].fifo_size = 2048;
drivers/usb/gadget/udc/net2280.c
1926
list_add_tail(&dev->ep[3].ep.ep_list, &dev->gadget.ep_list);
drivers/usb/gadget/udc/net2280.c
1927
dev->ep[1].fifo_size = 2048;
drivers/usb/gadget/udc/net2280.c
1928
dev->ep[2].fifo_size = 1024;
drivers/usb/gadget/udc/net2280.c
193
ep = container_of(_ep, struct net2280_ep, ep);
drivers/usb/gadget/udc/net2280.c
1932
list_add_tail(&dev->ep[5].ep.ep_list, &dev->gadget.ep_list);
drivers/usb/gadget/udc/net2280.c
1933
list_add_tail(&dev->ep[6].ep.ep_list, &dev->gadget.ep_list);
drivers/usb/gadget/udc/net2280.c
194
if (!_ep || !desc || ep->desc || _ep->name == ep0name ||
drivers/usb/gadget/udc/net2280.c
1943
struct net2280_ep *ep;
drivers/usb/gadget/udc/net2280.c
1949
ep = &dev->ep[i];
drivers/usb/gadget/udc/net2280.c
1950
writel(i, &ep->cfg->ep_cfg);
drivers/usb/gadget/udc/net2280.c
199
dev = ep->dev;
drivers/usb/gadget/udc/net2280.c
2001
writel(tmp, &dev->ep[i].cfg->ep_cfg);
drivers/usb/gadget/udc/net2280.c
2073
struct net2280_ep *ep = &dev->ep[tmp + 1];
drivers/usb/gadget/udc/net2280.c
2074
if (ep->dma)
drivers/usb/gadget/udc/net2280.c
2075
abort_dma(ep);
drivers/usb/gadget/udc/net2280.c
2111
struct net2280_ep *ep = &dev->ep[tmp + 1];
drivers/usb/gadget/udc/net2280.c
2114
if (ep->dma) {
drivers/usb/gadget/udc/net2280.c
2115
abort_dma(ep);
drivers/usb/gadget/udc/net2280.c
2140
list_add_tail(&dev->ep[tmp].ep.ep_list, &dev->gadget.ep_list);
drivers/usb/gadget/udc/net2280.c
2157
struct net2280_ep *ep = &dev->ep[tmp];
drivers/usb/gadget/udc/net2280.c
2159
ep->ep.name = ep_info_dft[tmp].name;
drivers/usb/gadget/udc/net2280.c
216
ep->is_in = !!usb_endpoint_dir_in(desc);
drivers/usb/gadget/udc/net2280.c
2160
ep->ep.caps = ep_info_dft[tmp].caps;
drivers/usb/gadget/udc/net2280.c
2161
ep->dev = dev;
drivers/usb/gadget/udc/net2280.c
2162
ep->num = tmp;
drivers/usb/gadget/udc/net2280.c
2165
ep->fifo_size = 1024;
drivers/usb/gadget/udc/net2280.c
2166
ep->dma = &dev->dma[tmp - 1];
drivers/usb/gadget/udc/net2280.c
2168
ep->fifo_size = 64;
drivers/usb/gadget/udc/net2280.c
2169
ep->regs = &dev->epregs[tmp];
drivers/usb/gadget/udc/net2280.c
217
if (dev->enhanced_mode && ep->is_in && ep_key[ep->num]) {
drivers/usb/gadget/udc/net2280.c
2170
ep->cfg = &dev->epregs[tmp];
drivers/usb/gadget/udc/net2280.c
2171
ep_reset_228x(dev->regs, ep);
drivers/usb/gadget/udc/net2280.c
2173
usb_ep_set_maxpacket_limit(&dev->ep[0].ep, 64);
drivers/usb/gadget/udc/net2280.c
2174
usb_ep_set_maxpacket_limit(&dev->ep[5].ep, 64);
drivers/usb/gadget/udc/net2280.c
2175
usb_ep_set_maxpacket_limit(&dev->ep[6].ep, 64);
drivers/usb/gadget/udc/net2280.c
2177
dev->gadget.ep0 = &dev->ep[0].ep;
drivers/usb/gadget/udc/net2280.c
2178
dev->ep[0].stopped = 0;
drivers/usb/gadget/udc/net2280.c
2198
struct net2280_ep *ep = &dev->ep[i];
drivers/usb/gadget/udc/net2280.c
2200
ep->ep.name = dev->enhanced_mode ? ep_info_adv[i].name :
drivers/usb/gadget/udc/net2280.c
2202
ep->ep.caps = dev->enhanced_mode ? ep_info_adv[i].caps :
drivers/usb/gadget/udc/net2280.c
2204
ep->dev = dev;
drivers/usb/gadget/udc/net2280.c
2205
ep->num = i;
drivers/usb/gadget/udc/net2280.c
2208
ep->dma = &dev->dma[i - 1];
drivers/usb/gadget/udc/net2280.c
2211
ep->cfg = &dev->epregs[ne[i]];
drivers/usb/gadget/udc/net2280.c
2217
writel(ne[i], &ep->cfg->ep_cfg);
drivers/usb/gadget/udc/net2280.c
2218
ep->regs = (struct net2280_ep_regs __iomem *)
drivers/usb/gadget/udc/net2280.c
2222
ep->cfg = &dev->epregs[i];
drivers/usb/gadget/udc/net2280.c
2223
ep->regs = &dev->epregs[i];
drivers/usb/gadget/udc/net2280.c
2226
ep->fifo_size = (i != 0) ? 2048 : 512;
drivers/usb/gadget/udc/net2280.c
2228
ep_reset_338x(dev->regs, ep);
drivers/usb/gadget/udc/net2280.c
2230
usb_ep_set_maxpacket_limit(&dev->ep[0].ep, 512);
drivers/usb/gadget/udc/net2280.c
2232
dev->gadget.ep0 = &dev->ep[0].ep;
drivers/usb/gadget/udc/net2280.c
2233
dev->ep[0].stopped = 0;
drivers/usb/gadget/udc/net2280.c
225
if (ep->num > 4 && max > 64 && (dev->quirks & PLX_LEGACY)) {
drivers/usb/gadget/udc/net2280.c
232
ep->desc = desc;
drivers/usb/gadget/udc/net2280.c
235
ep->stopped = 0;
drivers/usb/gadget/udc/net2280.c
236
ep->wedged = 0;
drivers/usb/gadget/udc/net2280.c
237
ep->out_overflow = 0;
drivers/usb/gadget/udc/net2280.c
240
set_max_speed(ep, max);
drivers/usb/gadget/udc/net2280.c
2423
dev->ep[i].irqs = 0;
drivers/usb/gadget/udc/net2280.c
243
writel(BIT(FIFO_FLUSH), &ep->regs->ep_stat);
drivers/usb/gadget/udc/net2280.c
246
tmp = readl(&ep->cfg->ep_cfg);
drivers/usb/gadget/udc/net2280.c
2468
nuke(&dev->ep[i]);
drivers/usb/gadget/udc/net2280.c
2516
static void handle_ep_small(struct net2280_ep *ep)
drivers/usb/gadget/udc/net2280.c
2523
if (!list_empty(&ep->queue))
drivers/usb/gadget/udc/net2280.c
2524
req = list_entry(ep->queue.next,
drivers/usb/gadget/udc/net2280.c
253
if (ep->is_in)
drivers/usb/gadget/udc/net2280.c
2530
t = readl(&ep->regs->ep_stat);
drivers/usb/gadget/udc/net2280.c
2531
ep->irqs++;
drivers/usb/gadget/udc/net2280.c
2533
ep_vdbg(ep->dev, "%s ack ep_stat %08x, req %p\n",
drivers/usb/gadget/udc/net2280.c
2534
ep->ep.name, t, req ? &req->req : NULL);
drivers/usb/gadget/udc/net2280.c
2536
if (!ep->is_in || (ep->dev->quirks & PLX_2280))
drivers/usb/gadget/udc/net2280.c
2537
writel(t & ~BIT(NAK_OUT_PACKETS), &ep->regs->ep_stat);
drivers/usb/gadget/udc/net2280.c
2540
writel(t, &ep->regs->ep_stat);
drivers/usb/gadget/udc/net2280.c
2552
if (unlikely(ep->num == 0)) {
drivers/usb/gadget/udc/net2280.c
2553
if (ep->is_in) {
drivers/usb/gadget/udc/net2280.c
2556
if (ep->dev->protocol_stall) {
drivers/usb/gadget/udc/net2280.c
2557
ep->stopped = 1;
drivers/usb/gadget/udc/net2280.c
2558
set_halt(ep);
drivers/usb/gadget/udc/net2280.c
2561
allow_status(ep);
drivers/usb/gadget/udc/net2280.c
2565
if (ep->dev->protocol_stall) {
drivers/usb/gadget/udc/net2280.c
2566
ep->stopped = 1;
drivers/usb/gadget/udc/net2280.c
2567
set_halt(ep);
drivers/usb/gadget/udc/net2280.c
2569
} else if (ep->responded &&
drivers/usb/gadget/udc/net2280.c
2570
!req && !ep->stopped)
drivers/usb/gadget/udc/net2280.c
2571
write_fifo(ep, NULL);
drivers/usb/gadget/udc/net2280.c
2576
if (ep->dev->protocol_stall) {
drivers/usb/gadget/udc/net2280.c
2577
ep->stopped = 1;
drivers/usb/gadget/udc/net2280.c
2578
set_halt(ep);
drivers/usb/gadget/udc/net2280.c
2585
(ep->responded && !req)) {
drivers/usb/gadget/udc/net2280.c
2586
ep->dev->protocol_stall = 1;
drivers/usb/gadget/udc/net2280.c
2587
set_halt(ep);
drivers/usb/gadget/udc/net2280.c
2588
ep->stopped = 1;
drivers/usb/gadget/udc/net2280.c
2590
done(ep, req, -EOVERFLOW);
drivers/usb/gadget/udc/net2280.c
2600
if (likely(ep->dma)) {
drivers/usb/gadget/udc/net2280.c
2603
int stopped = ep->stopped;
drivers/usb/gadget/udc/net2280.c
2612
ep->stopped = 1;
drivers/usb/gadget/udc/net2280.c
2613
for (count = 0; ; t = readl(&ep->regs->ep_stat)) {
drivers/usb/gadget/udc/net2280.c
2618
num_completed = scan_dma_completions(ep);
drivers/usb/gadget/udc/net2280.c
2619
if (unlikely(list_empty(&ep->queue) ||
drivers/usb/gadget/udc/net2280.c
2620
ep->out_overflow)) {
drivers/usb/gadget/udc/net2280.c
2624
req = list_entry(ep->queue.next,
drivers/usb/gadget/udc/net2280.c
2631
count = readl(&ep->dma->dmacount);
drivers/usb/gadget/udc/net2280.c
2633
if (readl(&ep->dma->dmadesc)
drivers/usb/gadget/udc/net2280.c
2644
readl(&ep->dma->dmadesc) !=
drivers/usb/gadget/udc/net2280.c
2647
&ep->dma->dmacount);
drivers/usb/gadget/udc/net2280.c
265
&ep->regs->ep_rsp);
drivers/usb/gadget/udc/net2280.c
2650
ep_dbg(ep->dev, "%s escape stuck %d, count %u\n",
drivers/usb/gadget/udc/net2280.c
2651
ep->ep.name, stuck,
drivers/usb/gadget/udc/net2280.c
2667
writel(BIT(DMA_ABORT), &ep->dma->dmastat);
drivers/usb/gadget/udc/net2280.c
2668
spin_stop_dma(ep->dma);
drivers/usb/gadget/udc/net2280.c
2672
t = readl(&ep->regs->ep_avail);
drivers/usb/gadget/udc/net2280.c
2673
dma_done(ep, req, count,
drivers/usb/gadget/udc/net2280.c
2674
(ep->out_overflow || t)
drivers/usb/gadget/udc/net2280.c
2679
if (unlikely(ep->out_overflow ||
drivers/usb/gadget/udc/net2280.c
2680
(ep->dev->chiprev == 0x0100 &&
drivers/usb/gadget/udc/net2280.c
2681
ep->dev->gadget.speed
drivers/usb/gadget/udc/net2280.c
2683
out_flush(ep);
drivers/usb/gadget/udc/net2280.c
2684
ep->out_overflow = 0;
drivers/usb/gadget/udc/net2280.c
2688
ep->stopped = stopped;
drivers/usb/gadget/udc/net2280.c
2689
if (!list_empty(&ep->queue))
drivers/usb/gadget/udc/net2280.c
2690
restart_dma(ep);
drivers/usb/gadget/udc/net2280.c
2692
ep_dbg(ep->dev, "%s dma ep_stat %08x ??\n",
drivers/usb/gadget/udc/net2280.c
2693
ep->ep.name, t);
drivers/usb/gadget/udc/net2280.c
2698
if (read_fifo(ep, req) && ep->num != 0)
drivers/usb/gadget/udc/net2280.c
2706
if (len > ep->ep.maxpacket)
drivers/usb/gadget/udc/net2280.c
2707
len = ep->ep.maxpacket;
drivers/usb/gadget/udc/net2280.c
2713
(!req->req.zero || len != ep->ep.maxpacket) && ep->num)
drivers/usb/gadget/udc/net2280.c
2723
done(ep, req, 0);
drivers/usb/gadget/udc/net2280.c
2726
if (ep->num == 0) {
drivers/usb/gadget/udc/net2280.c
2731
if (!ep->stopped)
drivers/usb/gadget/udc/net2280.c
2732
allow_status(ep);
drivers/usb/gadget/udc/net2280.c
2735
if (!list_empty(&ep->queue) && !ep->stopped)
drivers/usb/gadget/udc/net2280.c
2736
req = list_entry(ep->queue.next,
drivers/usb/gadget/udc/net2280.c
2740
if (req && !ep->is_in)
drivers/usb/gadget/udc/net2280.c
2741
stop_out_naking(ep);
drivers/usb/gadget/udc/net2280.c
2748
if (req && !ep->stopped) {
drivers/usb/gadget/udc/net2280.c
2752
write_fifo(ep, &req->req);
drivers/usb/gadget/udc/net2280.c
2758
struct net2280_ep *ep;
drivers/usb/gadget/udc/net2280.c
276
ep->is_iso = (type == USB_ENDPOINT_XFER_ISOC);
drivers/usb/gadget/udc/net2280.c
2761
return &dev->ep[0];
drivers/usb/gadget/udc/net2280.c
2762
list_for_each_entry(ep, &dev->gadget.ep_list, ep.ep_list) {
drivers/usb/gadget/udc/net2280.c
2765
if (!ep->desc)
drivers/usb/gadget/udc/net2280.c
2767
bEndpointAddress = ep->desc->bEndpointAddress;
drivers/usb/gadget/udc/net2280.c
2771
return ep;
drivers/usb/gadget/udc/net2280.c
284
ep->is_in = (tmp & USB_DIR_IN) != 0;
drivers/usb/gadget/udc/net2280.c
2848
static void ep_clear_seqnum(struct net2280_ep *ep)
drivers/usb/gadget/udc/net2280.c
2850
struct net2280 *dev = ep->dev;
drivers/usb/gadget/udc/net2280.c
2855
val |= ep_pl[ep->num];
drivers/usb/gadget/udc/net2280.c
2864
struct net2280_ep *ep, struct usb_ctrlrequest r)
drivers/usb/gadget/udc/net2280.c
287
if (dev->enhanced_mode && ep->is_in) {
drivers/usb/gadget/udc/net2280.c
2888
set_fifo_bytecount(ep, sizeof(status));
drivers/usb/gadget/udc/net2280.c
2890
allow_status_338x(ep);
drivers/usb/gadget/udc/net2280.c
2900
set_fifo_bytecount(ep, sizeof(status));
drivers/usb/gadget/udc/net2280.c
2902
allow_status_338x(ep);
drivers/usb/gadget/udc/net2280.c
2920
allow_status_338x(ep);
drivers/usb/gadget/udc/net2280.c
2928
allow_status_338x(ep);
drivers/usb/gadget/udc/net2280.c
293
tmp |= (ep->is_in << ENDPOINT_DIRECTION);
drivers/usb/gadget/udc/net2280.c
2936
allow_status_338x(ep);
drivers/usb/gadget/udc/net2280.c
2948
allow_status_338x(ep);
drivers/usb/gadget/udc/net2280.c
2959
ep_vdbg(dev, "%s clear halt\n", e->ep.name);
drivers/usb/gadget/udc/net2280.c
2968
allow_status(ep);
drivers/usb/gadget/udc/net2280.c
2969
ep->stopped = 1;
drivers/usb/gadget/udc/net2280.c
2986
allow_status_338x(ep);
drivers/usb/gadget/udc/net2280.c
299
tmp |= (ep->ep.maxburst << MAX_BURST_SIZE);
drivers/usb/gadget/udc/net2280.c
2994
allow_status_338x(ep);
drivers/usb/gadget/udc/net2280.c
3002
allow_status_338x(ep);
drivers/usb/gadget/udc/net2280.c
3014
allow_status_338x(ep);
drivers/usb/gadget/udc/net2280.c
3023
ep->stopped = 1;
drivers/usb/gadget/udc/net2280.c
3024
if (ep->num == 0)
drivers/usb/gadget/udc/net2280.c
3025
ep->dev->protocol_stall = 1;
drivers/usb/gadget/udc/net2280.c
3027
if (ep->dma)
drivers/usb/gadget/udc/net2280.c
3028
abort_dma(ep);
drivers/usb/gadget/udc/net2280.c
3029
set_halt(ep);
drivers/usb/gadget/udc/net2280.c
3031
allow_status_338x(ep);
drivers/usb/gadget/udc/net2280.c
3045
readl(&ep->cfg->ep_cfg));
drivers/usb/gadget/udc/net2280.c
3047
ep->responded = 0;
drivers/usb/gadget/udc/net2280.c
306
if (!ep->is_in)
drivers/usb/gadget/udc/net2280.c
3060
set_halt(ep);
drivers/usb/gadget/udc/net2280.c
307
writel(BIT(SET_NAK_OUT_PACKETS), &ep->regs->ep_rsp);
drivers/usb/gadget/udc/net2280.c
3088
handle_ep_small(&dev->ep[index]);
drivers/usb/gadget/udc/net2280.c
3094
struct net2280_ep *ep;
drivers/usb/gadget/udc/net2280.c
3116
usb_ep_set_maxpacket_limit(&dev->ep[0].ep,
drivers/usb/gadget/udc/net2280.c
3120
usb_ep_set_maxpacket_limit(&dev->ep[0].ep,
drivers/usb/gadget/udc/net2280.c
3124
usb_ep_set_maxpacket_limit(&dev->ep[0].ep,
drivers/usb/gadget/udc/net2280.c
313
BIT(CLEAR_NAK_OUT_PACKETS_MODE), &ep->regs->ep_rsp);
drivers/usb/gadget/udc/net2280.c
3132
ep = &dev->ep[0];
drivers/usb/gadget/udc/net2280.c
3133
ep->irqs++;
drivers/usb/gadget/udc/net2280.c
3137
while (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/net2280.c
3138
req = list_entry(ep->queue.next,
drivers/usb/gadget/udc/net2280.c
3140
done(ep, req, (req->req.actual == req->req.length)
drivers/usb/gadget/udc/net2280.c
3143
ep->stopped = 0;
drivers/usb/gadget/udc/net2280.c
3146
if (ep->dev->quirks & PLX_2280)
drivers/usb/gadget/udc/net2280.c
3164
&ep->regs->ep_stat);
drivers/usb/gadget/udc/net2280.c
317
ep_clear_seqnum(ep);
drivers/usb/gadget/udc/net2280.c
318
writel(tmp, &ep->cfg->ep_cfg);
drivers/usb/gadget/udc/net2280.c
3190
ep->is_in = (u.r.bRequestType & USB_DIR_IN) != 0;
drivers/usb/gadget/udc/net2280.c
3191
if (ep->is_in) {
drivers/usb/gadget/udc/net2280.c
3195
stop_out_naking(ep);
drivers/usb/gadget/udc/net2280.c
3205
ep->responded = 1;
drivers/usb/gadget/udc/net2280.c
3208
handle_stat0_irqs_superspeed(dev, ep, u.r);
drivers/usb/gadget/udc/net2280.c
321
if (!ep->dma) { /* pio, per-packet */
drivers/usb/gadget/udc/net2280.c
322
enable_pciirqenb(ep);
drivers/usb/gadget/udc/net2280.c
3231
set_fifo_bytecount(ep, w_length);
drivers/usb/gadget/udc/net2280.c
3233
allow_status(ep);
drivers/usb/gadget/udc/net2280.c
3234
ep_vdbg(dev, "%s stat %02x\n", ep->ep.name, status);
drivers/usb/gadget/udc/net2280.c
3251
ep->ep.name);
drivers/usb/gadget/udc/net2280.c
3253
ep_vdbg(dev, "%s clear halt\n", e->ep.name);
drivers/usb/gadget/udc/net2280.c
3255
if ((ep->dev->quirks & PLX_PCIE) &&
drivers/usb/gadget/udc/net2280.c
3259
allow_status(ep);
drivers/usb/gadget/udc/net2280.c
327
tmp |= readl(&ep->regs->ep_irqenb);
drivers/usb/gadget/udc/net2280.c
3274
if (e->ep.name == ep0name)
drivers/usb/gadget/udc/net2280.c
3279
allow_status(ep);
drivers/usb/gadget/udc/net2280.c
328
writel(tmp, &ep->regs->ep_irqenb);
drivers/usb/gadget/udc/net2280.c
3280
ep_vdbg(dev, "%s set halt\n", ep->ep.name);
drivers/usb/gadget/udc/net2280.c
3290
readl(&ep->cfg->ep_cfg));
drivers/usb/gadget/udc/net2280.c
3291
ep->responded = 0;
drivers/usb/gadget/udc/net2280.c
330
tmp = BIT((8 + ep->num)); /* completion */
drivers/usb/gadget/udc/net2280.c
3340
ep = &dev->ep[num];
drivers/usb/gadget/udc/net2280.c
3341
handle_ep_small(ep);
drivers/usb/gadget/udc/net2280.c
3362
struct net2280_ep *ep;
drivers/usb/gadget/udc/net2280.c
340
writel(tmp, &ep->regs->ep_irqenb);
drivers/usb/gadget/udc/net2280.c
342
enable_pciirqenb(ep);
drivers/usb/gadget/udc/net2280.c
3474
ep = &dev->ep[num + 1];
drivers/usb/gadget/udc/net2280.c
3475
dma = ep->dma;
drivers/usb/gadget/udc/net2280.c
3487
if (!ep->is_in && (r_dmacount & 0x00FFFFFF) &&
drivers/usb/gadget/udc/net2280.c
3493
ep_dbg(ep->dev, "%s no xact done? %08x\n",
drivers/usb/gadget/udc/net2280.c
3494
ep->ep.name, tmp);
drivers/usb/gadget/udc/net2280.c
3497
stop_dma(ep->dma);
drivers/usb/gadget/udc/net2280.c
350
ep->dma ? "dma" : "pio", max);
drivers/usb/gadget/udc/net2280.c
3509
scan_dma_completions(ep);
drivers/usb/gadget/udc/net2280.c
3512
if (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/net2280.c
3514
restart_dma(ep);
drivers/usb/gadget/udc/net2280.c
3516
ep->irqs++;
drivers/usb/gadget/udc/net2280.c
357
dev_err(&ep->dev->pdev->dev, "%s: error=%d\n", __func__, ret);
drivers/usb/gadget/udc/net2280.c
3590
if (!dev->ep[i].dummy)
drivers/usb/gadget/udc/net2280.c
3592
dma_pool_free(dev->requests, dev->ep[i].dummy,
drivers/usb/gadget/udc/net2280.c
3593
dev->ep[i].td_dma);
drivers/usb/gadget/udc/net2280.c
3748
&dev->ep[i].td_dma);
drivers/usb/gadget/udc/net2280.c
3756
dev->ep[i].dummy = td;
drivers/usb/gadget/udc/net2280.c
379
struct net2280_ep *ep)
drivers/usb/gadget/udc/net2280.c
383
ep->desc = NULL;
drivers/usb/gadget/udc/net2280.c
384
INIT_LIST_HEAD(&ep->queue);
drivers/usb/gadget/udc/net2280.c
386
usb_ep_set_maxpacket_limit(&ep->ep, ~0);
drivers/usb/gadget/udc/net2280.c
387
ep->ep.ops = &net2280_ep_ops;
drivers/usb/gadget/udc/net2280.c
390
if (ep->dma) {
drivers/usb/gadget/udc/net2280.c
391
writel(0, &ep->dma->dmactl);
drivers/usb/gadget/udc/net2280.c
395
&ep->dma->dmastat);
drivers/usb/gadget/udc/net2280.c
398
tmp &= ~BIT(ep->num);
drivers/usb/gadget/udc/net2280.c
402
tmp &= ~BIT((8 + ep->num)); /* completion */
drivers/usb/gadget/udc/net2280.c
405
writel(0, &ep->regs->ep_irqenb);
drivers/usb/gadget/udc/net2280.c
410
if (!ep->is_in || (ep->dev->quirks & PLX_2280)) {
drivers/usb/gadget/udc/net2280.c
423
if (ep->num != 0) {
drivers/usb/gadget/udc/net2280.c
427
writel(tmp, &ep->regs->ep_rsp);
drivers/usb/gadget/udc/net2280.c
430
if (ep->dev->quirks & PLX_2280)
drivers/usb/gadget/udc/net2280.c
449
&ep->regs->ep_stat);
drivers/usb/gadget/udc/net2280.c
455
struct net2280_ep *ep)
drivers/usb/gadget/udc/net2280.c
459
ep->desc = NULL;
drivers/usb/gadget/udc/net2280.c
460
INIT_LIST_HEAD(&ep->queue);
drivers/usb/gadget/udc/net2280.c
462
usb_ep_set_maxpacket_limit(&ep->ep, ~0);
drivers/usb/gadget/udc/net2280.c
463
ep->ep.ops = &net2280_ep_ops;
drivers/usb/gadget/udc/net2280.c
466
if (ep->dma) {
drivers/usb/gadget/udc/net2280.c
467
writel(0, &ep->dma->dmactl);
drivers/usb/gadget/udc/net2280.c
473
&ep->dma->dmastat);
drivers/usb/gadget/udc/net2280.c
475
dmastat = readl(&ep->dma->dmastat);
drivers/usb/gadget/udc/net2280.c
477
ep_warn(ep->dev, "The dmastat return = %x!!\n",
drivers/usb/gadget/udc/net2280.c
479
writel(0x5a, &ep->dma->dmastat);
drivers/usb/gadget/udc/net2280.c
483
tmp &= ~BIT(ep_bit[ep->num]);
drivers/usb/gadget/udc/net2280.c
486
if (ep->num < 5) {
drivers/usb/gadget/udc/net2280.c
488
tmp &= ~BIT((8 + ep->num)); /* completion */
drivers/usb/gadget/udc/net2280.c
492
writel(0, &ep->regs->ep_irqenb);
drivers/usb/gadget/udc/net2280.c
500
BIT(DATA_IN_TOKEN_INTERRUPT), &ep->regs->ep_stat);
drivers/usb/gadget/udc/net2280.c
502
tmp = readl(&ep->cfg->ep_cfg);
drivers/usb/gadget/udc/net2280.c
503
if (ep->is_in)
drivers/usb/gadget/udc/net2280.c
507
writel(tmp, &ep->cfg->ep_cfg);
drivers/usb/gadget/udc/net2280.c
514
struct net2280_ep *ep;
drivers/usb/gadget/udc/net2280.c
517
ep = container_of(_ep, struct net2280_ep, ep);
drivers/usb/gadget/udc/net2280.c
522
spin_lock_irqsave(&ep->dev->lock, flags);
drivers/usb/gadget/udc/net2280.c
523
nuke(ep);
drivers/usb/gadget/udc/net2280.c
525
if (ep->dev->quirks & PLX_PCIE)
drivers/usb/gadget/udc/net2280.c
526
ep_reset_338x(ep->dev->regs, ep);
drivers/usb/gadget/udc/net2280.c
528
ep_reset_228x(ep->dev->regs, ep);
drivers/usb/gadget/udc/net2280.c
530
ep_vdbg(ep->dev, "disabled %s %s\n",
drivers/usb/gadget/udc/net2280.c
531
ep->dma ? "dma" : "pio", _ep->name);
drivers/usb/gadget/udc/net2280.c
534
(void)readl(&ep->cfg->ep_cfg);
drivers/usb/gadget/udc/net2280.c
536
if (!ep->dma && ep->num >= 1 && ep->num <= 4)
drivers/usb/gadget/udc/net2280.c
537
ep->dma = &ep->dev->dma[ep->num - 1];
drivers/usb/gadget/udc/net2280.c
539
spin_unlock_irqrestore(&ep->dev->lock, flags);
drivers/usb/gadget/udc/net2280.c
548
struct net2280_ep *ep;
drivers/usb/gadget/udc/net2280.c
555
ep = container_of(_ep, struct net2280_ep, ep);
drivers/usb/gadget/udc/net2280.c
564
if (ep->dma) {
drivers/usb/gadget/udc/net2280.c
567
td = dma_pool_alloc(ep->dev->requests, gfp_flags,
drivers/usb/gadget/udc/net2280.c
582
struct net2280_ep *ep;
drivers/usb/gadget/udc/net2280.c
585
ep = container_of(_ep, struct net2280_ep, ep);
drivers/usb/gadget/udc/net2280.c
587
dev_err(&ep->dev->pdev->dev, "%s: Invalid ep=%p or req=%p\n",
drivers/usb/gadget/udc/net2280.c
595
dma_pool_free(ep->dev->requests, req->td, req->td_dma);
drivers/usb/gadget/udc/net2280.c
608
static void write_fifo(struct net2280_ep *ep, struct usb_request *req)
drivers/usb/gadget/udc/net2280.c
610
struct net2280_ep_regs __iomem *regs = ep->regs;
drivers/usb/gadget/udc/net2280.c
627
count = ep->ep.maxpacket;
drivers/usb/gadget/udc/net2280.c
631
ep_vdbg(ep->dev, "write %s fifo (IN) %d bytes%s req %p\n",
drivers/usb/gadget/udc/net2280.c
632
ep->ep.name, count,
drivers/usb/gadget/udc/net2280.c
633
(count != ep->ep.maxpacket) ? " (short)" : "",
drivers/usb/gadget/udc/net2280.c
651
if (count || total < ep->ep.maxpacket) {
drivers/usb/gadget/udc/net2280.c
654
set_fifo_bytecount(ep, count & 0x03);
drivers/usb/gadget/udc/net2280.c
668
static void out_flush(struct net2280_ep *ep)
drivers/usb/gadget/udc/net2280.c
673
statp = &ep->regs->ep_stat;
drivers/usb/gadget/udc/net2280.c
677
ep_dbg(ep->dev, "%s %s %08x !NAK\n",
drivers/usb/gadget/udc/net2280.c
678
ep->ep.name, __func__, tmp);
drivers/usb/gadget/udc/net2280.c
679
writel(BIT(SET_NAK_OUT_PACKETS), &ep->regs->ep_rsp);
drivers/usb/gadget/udc/net2280.c
691
ep->dev->gadget.speed == USB_SPEED_FULL) {
drivers/usb/gadget/udc/net2280.c
708
static int read_fifo(struct net2280_ep *ep, struct net2280_request *req)
drivers/usb/gadget/udc/net2280.c
710
struct net2280_ep_regs __iomem *regs = ep->regs;
drivers/usb/gadget/udc/net2280.c
718
if (ep->dev->chiprev == 0x0100 &&
drivers/usb/gadget/udc/net2280.c
719
ep->dev->gadget.speed == USB_SPEED_FULL) {
drivers/usb/gadget/udc/net2280.c
721
tmp = readl(&ep->regs->ep_stat);
drivers/usb/gadget/udc/net2280.c
725
start_out_naking(ep);
drivers/usb/gadget/udc/net2280.c
738
tmp = readl(&ep->regs->ep_stat);
drivers/usb/gadget/udc/net2280.c
748
if ((tmp % ep->ep.maxpacket) != 0) {
drivers/usb/gadget/udc/net2280.c
749
ep_err(ep->dev,
drivers/usb/gadget/udc/net2280.c
751
ep->ep.name, count, tmp);
drivers/usb/gadget/udc/net2280.c
762
is_short = (count == 0) || ((count % ep->ep.maxpacket) != 0);
drivers/usb/gadget/udc/net2280.c
764
ep_vdbg(ep->dev, "read %s fifo (OUT) %d bytes%s%s%s req %p %d/%d\n",
drivers/usb/gadget/udc/net2280.c
765
ep->ep.name, count, is_short ? " (short)" : "",
drivers/usb/gadget/udc/net2280.c
785
out_flush(ep);
drivers/usb/gadget/udc/net2280.c
787
writel(BIT(CLEAR_NAK_OUT_PACKETS), &ep->regs->ep_rsp);
drivers/usb/gadget/udc/net2280.c
788
(void) readl(&ep->regs->ep_rsp);
drivers/usb/gadget/udc/net2280.c
795
static void fill_dma_desc(struct net2280_ep *ep,
drivers/usb/gadget/udc/net2280.c
806
if (ep->is_in)
drivers/usb/gadget/udc/net2280.c
808
if ((!ep->is_in && (dmacount % ep->ep.maxpacket) != 0) ||
drivers/usb/gadget/udc/net2280.c
809
!(ep->dev->quirks & PLX_2280))
drivers/usb/gadget/udc/net2280.c
847
static void start_queue(struct net2280_ep *ep, u32 dmactl, u32 td_dma)
drivers/usb/gadget/udc/net2280.c
849
struct net2280_dma_regs __iomem *dma = ep->dma;
drivers/usb/gadget/udc/net2280.c
850
unsigned int tmp = BIT(VALID_BIT) | (ep->is_in << DMA_DIRECTION);
drivers/usb/gadget/udc/net2280.c
852
if (!(ep->dev->quirks & PLX_2280))
drivers/usb/gadget/udc/net2280.c
859
if (ep->dev->quirks & PLX_PCIE)
drivers/usb/gadget/udc/net2280.c
864
(void) readl(&ep->dev->pci->pcimstctl);
drivers/usb/gadget/udc/net2280.c
869
static void start_dma(struct net2280_ep *ep, struct net2280_request *req)
drivers/usb/gadget/udc/net2280.c
872
struct net2280_dma_regs __iomem *dma = ep->dma;
drivers/usb/gadget/udc/net2280.c
878
writel(0, &ep->dma->dmactl);
drivers/usb/gadget/udc/net2280.c
881
if (!ep->is_in && (readl(&ep->regs->ep_stat) &
drivers/usb/gadget/udc/net2280.c
884
&ep->regs->ep_stat);
drivers/usb/gadget/udc/net2280.c
886
tmp = readl(&ep->regs->ep_avail);
drivers/usb/gadget/udc/net2280.c
905
stop_out_naking(ep);
drivers/usb/gadget/udc/net2280.c
914
if (ep->is_in) {
drivers/usb/gadget/udc/net2280.c
915
if (likely((req->req.length % ep->ep.maxpacket) ||
drivers/usb/gadget/udc/net2280.c
918
ep->in_fifo_validate = 1;
drivers/usb/gadget/udc/net2280.c
920
ep->in_fifo_validate = 0;
drivers/usb/gadget/udc/net2280.c
924
req->td->dmadesc = cpu_to_le32 (ep->td_dma);
drivers/usb/gadget/udc/net2280.c
925
fill_dma_desc(ep, req, 1);
drivers/usb/gadget/udc/net2280.c
929
start_queue(ep, tmp, req->td_dma);
drivers/usb/gadget/udc/net2280.c
933
queue_dma(struct net2280_ep *ep, struct net2280_request *req, int valid)
drivers/usb/gadget/udc/net2280.c
936
swap(ep->dummy, req->td);
drivers/usb/gadget/udc/net2280.c
937
swap(ep->td_dma, req->td_dma);
drivers/usb/gadget/udc/net2280.c
939
req->td->dmadesc = cpu_to_le32 (ep->td_dma);
drivers/usb/gadget/udc/net2280.c
941
fill_dma_desc(ep, req, valid);
drivers/usb/gadget/udc/net2280.c
945
done(struct net2280_ep *ep, struct net2280_request *req, int status)
drivers/usb/gadget/udc/net2280.c
948
unsigned stopped = ep->stopped;
drivers/usb/gadget/udc/net2280.c
957
dev = ep->dev;
drivers/usb/gadget/udc/net2280.c
958
if (ep->dma)
drivers/usb/gadget/udc/net2280.c
959
usb_gadget_unmap_request(&dev->gadget, &req->req, ep->is_in);
drivers/usb/gadget/udc/net2280.c
963
ep->ep.name, &req->req, status,
drivers/usb/gadget/udc/net2280.c
967
ep->stopped = 1;
drivers/usb/gadget/udc/net2280.c
969
usb_gadget_giveback_request(&ep->ep, &req->req);
drivers/usb/gadget/udc/net2280.c
971
ep->stopped = stopped;
drivers/usb/gadget/udc/net2280.c
980
struct net2280_ep *ep;
drivers/usb/gadget/udc/net2280.c
988
ep = container_of(_ep, struct net2280_ep, ep);
drivers/usb/gadget/udc/net2280.c
989
if (!_ep || (!ep->desc && ep->num != 0)) {
drivers/usb/gadget/udc/net2280.h
114
static inline void allow_status(struct net2280_ep *ep)
drivers/usb/gadget/udc/net2280.h
120
&ep->regs->ep_rsp);
drivers/usb/gadget/udc/net2280.h
121
ep->stopped = 1;
drivers/usb/gadget/udc/net2280.h
124
static inline void allow_status_338x(struct net2280_ep *ep)
drivers/usb/gadget/udc/net2280.h
131
writel(BIT(CLEAR_CONTROL_STATUS_PHASE_HANDSHAKE), &ep->regs->ep_rsp);
drivers/usb/gadget/udc/net2280.h
133
ep->stopped = 1;
drivers/usb/gadget/udc/net2280.h
136
ep->responded = 0;
drivers/usb/gadget/udc/net2280.h
152
struct net2280_ep ep[9];
drivers/usb/gadget/udc/net2280.h
189
static inline void set_halt(struct net2280_ep *ep)
drivers/usb/gadget/udc/net2280.h
194
((ep->dev->chiprev == CHIPREV_1) << SET_NAK_OUT_PACKETS) |
drivers/usb/gadget/udc/net2280.h
196
&ep->regs->ep_rsp);
drivers/usb/gadget/udc/net2280.h
199
static inline void clear_halt(struct net2280_ep *ep)
drivers/usb/gadget/udc/net2280.h
208
((ep->dev->chiprev == CHIPREV_1) << CLEAR_NAK_OUT_PACKETS),
drivers/usb/gadget/udc/net2280.h
209
&ep->regs->ep_rsp);
drivers/usb/gadget/udc/net2280.h
333
static inline void set_fifo_bytecount(struct net2280_ep *ep, unsigned count)
drivers/usb/gadget/udc/net2280.h
335
if (ep->dev->pdev->vendor == 0x17cc)
drivers/usb/gadget/udc/net2280.h
336
writeb(count, 2 + (u8 __iomem *) &ep->regs->ep_cfg);
drivers/usb/gadget/udc/net2280.h
338
u32 tmp = readl(&ep->cfg->ep_cfg) &
drivers/usb/gadget/udc/net2280.h
340
writel(tmp | (count << EP_FIFO_BYTE_COUNT), &ep->cfg->ep_cfg);
drivers/usb/gadget/udc/net2280.h
344
static inline void start_out_naking(struct net2280_ep *ep)
drivers/usb/gadget/udc/net2280.h
347
writel(BIT(SET_NAK_OUT_PACKETS), &ep->regs->ep_rsp);
drivers/usb/gadget/udc/net2280.h
349
readl(&ep->regs->ep_rsp);
drivers/usb/gadget/udc/net2280.h
352
static inline void stop_out_naking(struct net2280_ep *ep)
drivers/usb/gadget/udc/net2280.h
356
tmp = readl(&ep->regs->ep_stat);
drivers/usb/gadget/udc/net2280.h
358
writel(BIT(CLEAR_NAK_OUT_PACKETS), &ep->regs->ep_rsp);
drivers/usb/gadget/udc/net2280.h
362
static inline void set_max_speed(struct net2280_ep *ep, u32 max)
drivers/usb/gadget/udc/net2280.h
368
if (ep->dev->enhanced_mode) {
drivers/usb/gadget/udc/net2280.h
369
reg = ep_enhanced[ep->num];
drivers/usb/gadget/udc/net2280.h
370
switch (ep->dev->gadget.speed) {
drivers/usb/gadget/udc/net2280.h
382
reg = (ep->num + 1) * 0x10;
drivers/usb/gadget/udc/net2280.h
383
if (ep->dev->gadget.speed != USB_SPEED_HIGH)
drivers/usb/gadget/udc/net2280.h
387
set_idx_reg(ep->dev->regs, reg, max);
drivers/usb/gadget/udc/net2280.h
91
struct usb_ep ep;
drivers/usb/gadget/udc/omap_udc.c
1007
struct omap_ep *ep = container_of(_ep, struct omap_ep, ep);
drivers/usb/gadget/udc/omap_udc.c
1014
spin_lock_irqsave(&ep->udc->lock, flags);
drivers/usb/gadget/udc/omap_udc.c
1017
list_for_each_entry(iter, &ep->queue, queue) {
drivers/usb/gadget/udc/omap_udc.c
1024
spin_unlock_irqrestore(&ep->udc->lock, flags);
drivers/usb/gadget/udc/omap_udc.c
1028
if (use_dma && ep->dma_channel && ep->queue.next == &req->queue) {
drivers/usb/gadget/udc/omap_udc.c
1029
int channel = ep->dma_channel;
drivers/usb/gadget/udc/omap_udc.c
1034
dma_channel_release(ep);
drivers/usb/gadget/udc/omap_udc.c
1035
dma_channel_claim(ep, channel);
drivers/usb/gadget/udc/omap_udc.c
1037
done(ep, req, -ECONNRESET);
drivers/usb/gadget/udc/omap_udc.c
1038
spin_unlock_irqrestore(&ep->udc->lock, flags);
drivers/usb/gadget/udc/omap_udc.c
1046
struct omap_ep *ep = container_of(_ep, struct omap_ep, ep);
drivers/usb/gadget/udc/omap_udc.c
1050
spin_lock_irqsave(&ep->udc->lock, flags);
drivers/usb/gadget/udc/omap_udc.c
1053
if (ep->bEndpointAddress == 0) {
drivers/usb/gadget/udc/omap_udc.c
1054
if (!ep->udc->ep0_pending)
drivers/usb/gadget/udc/omap_udc.c
1057
if (ep->udc->ep0_set_config) {
drivers/usb/gadget/udc/omap_udc.c
1062
ep->udc->ep0_pending = 0;
drivers/usb/gadget/udc/omap_udc.c
1068
} else if (ep->bmAttributes != USB_ENDPOINT_XFER_ISOC && ep->ep.desc) {
drivers/usb/gadget/udc/omap_udc.c
1071
if ((ep->bEndpointAddress & USB_DIR_IN)
drivers/usb/gadget/udc/omap_udc.c
1072
&& !list_empty(&ep->queue)) {
drivers/usb/gadget/udc/omap_udc.c
1080
if (use_dma && ep->dma_channel
drivers/usb/gadget/udc/omap_udc.c
1081
&& !list_empty(&ep->queue)) {
drivers/usb/gadget/udc/omap_udc.c
1082
channel = ep->dma_channel;
drivers/usb/gadget/udc/omap_udc.c
1083
dma_channel_release(ep);
drivers/usb/gadget/udc/omap_udc.c
1087
use_ep(ep, UDC_EP_SEL);
drivers/usb/gadget/udc/omap_udc.c
1096
dma_channel_claim(ep, channel);
drivers/usb/gadget/udc/omap_udc.c
1098
use_ep(ep, 0);
drivers/usb/gadget/udc/omap_udc.c
1099
omap_writew(ep->udc->clr_halt, UDC_CTRL);
drivers/usb/gadget/udc/omap_udc.c
1100
ep->ackwait = 0;
drivers/usb/gadget/udc/omap_udc.c
1101
if (!(ep->bEndpointAddress & USB_DIR_IN)) {
drivers/usb/gadget/udc/omap_udc.c
1103
ep->ackwait = 1 + ep->double_buf;
drivers/usb/gadget/udc/omap_udc.c
1108
VDBG("%s %s halt stat %d\n", ep->ep.name,
drivers/usb/gadget/udc/omap_udc.c
1111
spin_unlock_irqrestore(&ep->udc->lock, flags);
drivers/usb/gadget/udc/omap_udc.c
120
static void use_ep(struct omap_ep *ep, u16 select)
drivers/usb/gadget/udc/omap_udc.c
122
u16 num = ep->bEndpointAddress & 0x0f;
drivers/usb/gadget/udc/omap_udc.c
124
if (ep->bEndpointAddress & USB_DIR_IN)
drivers/usb/gadget/udc/omap_udc.c
1331
static void nuke(struct omap_ep *ep, int status)
drivers/usb/gadget/udc/omap_udc.c
1335
ep->stopped = 1;
drivers/usb/gadget/udc/omap_udc.c
1337
if (use_dma && ep->dma_channel)
drivers/usb/gadget/udc/omap_udc.c
1338
dma_channel_release(ep);
drivers/usb/gadget/udc/omap_udc.c
1340
use_ep(ep, 0);
drivers/usb/gadget/udc/omap_udc.c
1342
if (ep->bEndpointAddress && ep->bmAttributes != USB_ENDPOINT_XFER_ISOC)
drivers/usb/gadget/udc/omap_udc.c
1345
while (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/omap_udc.c
1346
req = list_entry(ep->queue.next, struct omap_req, queue);
drivers/usb/gadget/udc/omap_udc.c
1347
done(ep, req, status);
drivers/usb/gadget/udc/omap_udc.c
1354
struct omap_ep *ep;
drivers/usb/gadget/udc/omap_udc.c
1357
nuke(&udc->ep[0], -ESHUTDOWN);
drivers/usb/gadget/udc/omap_udc.c
1358
list_for_each_entry(ep, &udc->gadget.ep_list, ep.ep_list)
drivers/usb/gadget/udc/omap_udc.c
1359
nuke(ep, -ESHUTDOWN);
drivers/usb/gadget/udc/omap_udc.c
1395
struct omap_ep *ep0 = &udc->ep[0];
drivers/usb/gadget/udc/omap_udc.c
140
static void dma_channel_claim(struct omap_ep *ep, unsigned preferred);
drivers/usb/gadget/udc/omap_udc.c
147
struct omap_ep *ep = container_of(_ep, struct omap_ep, ep);
drivers/usb/gadget/udc/omap_udc.c
1515
struct omap_ep *ep;
drivers/usb/gadget/udc/omap_udc.c
155
|| ep->bEndpointAddress != desc->bEndpointAddress
drivers/usb/gadget/udc/omap_udc.c
156
|| ep->maxpacket < usb_endpoint_maxp(desc)) {
drivers/usb/gadget/udc/omap_udc.c
1569
ep = &udc->ep[w_index & 0xf];
drivers/usb/gadget/udc/omap_udc.c
1570
if (ep != ep0) {
drivers/usb/gadget/udc/omap_udc.c
1572
ep += 16;
drivers/usb/gadget/udc/omap_udc.c
1573
if (ep->bmAttributes == USB_ENDPOINT_XFER_ISOC
drivers/usb/gadget/udc/omap_udc.c
1574
|| !ep->ep.desc)
drivers/usb/gadget/udc/omap_udc.c
1576
use_ep(ep, 0);
drivers/usb/gadget/udc/omap_udc.c
1578
ep->ackwait = 0;
drivers/usb/gadget/udc/omap_udc.c
1579
if (!(ep->bEndpointAddress & USB_DIR_IN)) {
drivers/usb/gadget/udc/omap_udc.c
1581
ep->ackwait = 1 + ep->double_buf;
drivers/usb/gadget/udc/omap_udc.c
1589
VDBG("%s halt cleared by host\n", ep->name);
drivers/usb/gadget/udc/omap_udc.c
1598
ep = &udc->ep[w_index & 0xf];
drivers/usb/gadget/udc/omap_udc.c
1600
ep += 16;
drivers/usb/gadget/udc/omap_udc.c
1601
if (ep->bmAttributes == USB_ENDPOINT_XFER_ISOC
drivers/usb/gadget/udc/omap_udc.c
1602
|| ep == ep0 || !ep->ep.desc)
drivers/usb/gadget/udc/omap_udc.c
1604
if (use_dma && ep->has_dma) {
drivers/usb/gadget/udc/omap_udc.c
1608
DBG("%s host set_halt, NYET\n", ep->name);
drivers/usb/gadget/udc/omap_udc.c
1611
use_ep(ep, 0);
drivers/usb/gadget/udc/omap_udc.c
1615
VDBG("%s halted by host\n", ep->name);
drivers/usb/gadget/udc/omap_udc.c
162
&& maxp != ep->maxpacket)
drivers/usb/gadget/udc/omap_udc.c
163
|| usb_endpoint_maxp(desc) > ep->maxpacket
drivers/usb/gadget/udc/omap_udc.c
1634
ep = &udc->ep[w_index & 0xf];
drivers/usb/gadget/udc/omap_udc.c
1636
ep += 16;
drivers/usb/gadget/udc/omap_udc.c
1637
if (!ep->ep.desc)
drivers/usb/gadget/udc/omap_udc.c
1641
if (ep->bmAttributes == USB_ENDPOINT_XFER_ISOC)
drivers/usb/gadget/udc/omap_udc.c
1645
ERR("%s status, can't report\n", ep->ep.name);
drivers/usb/gadget/udc/omap_udc.c
185
if (ep->bmAttributes != desc->bmAttributes
drivers/usb/gadget/udc/omap_udc.c
186
&& ep->bmAttributes != USB_ENDPOINT_XFER_BULK
drivers/usb/gadget/udc/omap_udc.c
1863
struct omap_ep *ep = timer_container_of(ep, t, timer);
drivers/usb/gadget/udc/omap_udc.c
1867
spin_lock_irqsave(&ep->udc->lock, flags);
drivers/usb/gadget/udc/omap_udc.c
1868
if (!list_empty(&ep->queue) && ep->ackwait) {
drivers/usb/gadget/udc/omap_udc.c
1869
use_ep(ep, UDC_EP_SEL);
drivers/usb/gadget/udc/omap_udc.c
1873
|| (ep->double_buf && HALF_FULL(stat_flg)))) {
drivers/usb/gadget/udc/omap_udc.c
1876
VDBG("%s: lose, %04x\n", ep->ep.name, stat_flg);
drivers/usb/gadget/udc/omap_udc.c
1877
req = container_of(ep->queue.next,
drivers/usb/gadget/udc/omap_udc.c
1879
(void) read_fifo(ep, req);
drivers/usb/gadget/udc/omap_udc.c
1880
omap_writew(ep->bEndpointAddress, UDC_EP_NUM);
drivers/usb/gadget/udc/omap_udc.c
1882
ep->ackwait = 1 + ep->double_buf;
drivers/usb/gadget/udc/omap_udc.c
1886
mod_timer(&ep->timer, PIO_OUT_TIMEOUT);
drivers/usb/gadget/udc/omap_udc.c
1887
spin_unlock_irqrestore(&ep->udc->lock, flags);
drivers/usb/gadget/udc/omap_udc.c
1894
struct omap_ep *ep;
drivers/usb/gadget/udc/omap_udc.c
1909
ep = &udc->ep[epnum];
drivers/usb/gadget/udc/omap_udc.c
1910
ep->irqs++;
drivers/usb/gadget/udc/omap_udc.c
1913
ep->fnf = 0;
drivers/usb/gadget/udc/omap_udc.c
1915
ep->ackwait--;
drivers/usb/gadget/udc/omap_udc.c
1916
if (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/omap_udc.c
1918
req = container_of(ep->queue.next,
drivers/usb/gadget/udc/omap_udc.c
192
udc = ep->udc;
drivers/usb/gadget/udc/omap_udc.c
1920
stat = read_fifo(ep, req);
drivers/usb/gadget/udc/omap_udc.c
1921
if (!ep->double_buf)
drivers/usb/gadget/udc/omap_udc.c
1922
ep->fnf = 1;
drivers/usb/gadget/udc/omap_udc.c
1933
if (ep->fnf) {
drivers/usb/gadget/udc/omap_udc.c
1935
ep->ackwait = 1 + ep->double_buf;
drivers/usb/gadget/udc/omap_udc.c
1937
mod_timer(&ep->timer, PIO_OUT_TIMEOUT);
drivers/usb/gadget/udc/omap_udc.c
1945
ep = &udc->ep[16 + epnum];
drivers/usb/gadget/udc/omap_udc.c
1946
ep->irqs++;
drivers/usb/gadget/udc/omap_udc.c
1950
ep->ackwait = 0;
drivers/usb/gadget/udc/omap_udc.c
1951
if (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/omap_udc.c
1952
req = container_of(ep->queue.next,
drivers/usb/gadget/udc/omap_udc.c
1954
(void) write_fifo(ep, req);
drivers/usb/gadget/udc/omap_udc.c
1972
struct omap_ep *ep;
drivers/usb/gadget/udc/omap_udc.c
1979
list_for_each_entry(ep, &udc->iso, iso) {
drivers/usb/gadget/udc/omap_udc.c
1983
if (ep->has_dma || list_empty(&ep->queue))
drivers/usb/gadget/udc/omap_udc.c
1985
req = list_entry(ep->queue.next, struct omap_req, queue);
drivers/usb/gadget/udc/omap_udc.c
1987
use_ep(ep, UDC_EP_SEL);
drivers/usb/gadget/udc/omap_udc.c
1993
if (ep->bEndpointAddress & USB_DIR_IN) {
drivers/usb/gadget/udc/omap_udc.c
1997
write_fifo(ep, req);
drivers/usb/gadget/udc/omap_udc.c
200
ep->ep.desc = desc;
drivers/usb/gadget/udc/omap_udc.c
201
ep->irqs = 0;
drivers/usb/gadget/udc/omap_udc.c
2011
read_fifo(ep, req);
drivers/usb/gadget/udc/omap_udc.c
2016
ep->irqs++;
drivers/usb/gadget/udc/omap_udc.c
2017
if (!list_empty(&ep->queue))
drivers/usb/gadget/udc/omap_udc.c
202
ep->stopped = 0;
drivers/usb/gadget/udc/omap_udc.c
203
ep->ep.maxpacket = maxp;
drivers/usb/gadget/udc/omap_udc.c
2046
struct omap_ep *ep;
drivers/usb/gadget/udc/omap_udc.c
2052
list_for_each_entry(ep, &udc->gadget.ep_list, ep.ep_list) {
drivers/usb/gadget/udc/omap_udc.c
2053
ep->irqs = 0;
drivers/usb/gadget/udc/omap_udc.c
2054
if (ep->bmAttributes == USB_ENDPOINT_XFER_ISOC)
drivers/usb/gadget/udc/omap_udc.c
2056
use_ep(ep, 0);
drivers/usb/gadget/udc/omap_udc.c
206
ep->dma_channel = 0;
drivers/usb/gadget/udc/omap_udc.c
2060
udc->ep[0].irqs = 0;
drivers/usb/gadget/udc/omap_udc.c
207
ep->has_dma = 0;
drivers/usb/gadget/udc/omap_udc.c
208
ep->lch = -1;
drivers/usb/gadget/udc/omap_udc.c
209
use_ep(ep, UDC_EP_SEL);
drivers/usb/gadget/udc/omap_udc.c
211
ep->ackwait = 0;
drivers/usb/gadget/udc/omap_udc.c
214
if (ep->bmAttributes == USB_ENDPOINT_XFER_ISOC)
drivers/usb/gadget/udc/omap_udc.c
2140
static void proc_ep_show(struct seq_file *s, struct omap_ep *ep)
drivers/usb/gadget/udc/omap_udc.c
2146
use_ep(ep, 0);
drivers/usb/gadget/udc/omap_udc.c
2148
if (use_dma && ep->has_dma)
drivers/usb/gadget/udc/omap_udc.c
215
list_add(&ep->iso, &udc->iso);
drivers/usb/gadget/udc/omap_udc.c
2150
(ep->bEndpointAddress & USB_DIR_IN) ? 't' : 'r',
drivers/usb/gadget/udc/omap_udc.c
2151
ep->dma_channel - 1, ep->lch);
drivers/usb/gadget/udc/omap_udc.c
2158
ep->name, buf,
drivers/usb/gadget/udc/omap_udc.c
2159
ep->double_buf ? "dbuf " : "",
drivers/usb/gadget/udc/omap_udc.c
2161
switch (ep->ackwait) {
drivers/usb/gadget/udc/omap_udc.c
2175
ep->irqs, stat_flg,
drivers/usb/gadget/udc/omap_udc.c
2190
if (list_empty(&ep->queue))
drivers/usb/gadget/udc/omap_udc.c
2193
list_for_each_entry(req, &ep->queue, queue) {
drivers/usb/gadget/udc/omap_udc.c
2197
length += ((ep->bEndpointAddress & USB_DIR_IN)
drivers/usb/gadget/udc/omap_udc.c
2199
(ep, req->req.dma + length);
drivers/usb/gadget/udc/omap_udc.c
220
dma_channel_claim(ep, 0);
drivers/usb/gadget/udc/omap_udc.c
224
&& !ep->has_dma
drivers/usb/gadget/udc/omap_udc.c
225
&& !(ep->bEndpointAddress & USB_DIR_IN)) {
drivers/usb/gadget/udc/omap_udc.c
227
ep->ackwait = 1 + ep->double_buf;
drivers/usb/gadget/udc/omap_udc.c
2296
struct omap_ep *ep;
drivers/usb/gadget/udc/omap_udc.c
239
struct omap_ep *ep = container_of(_ep, struct omap_ep, ep);
drivers/usb/gadget/udc/omap_udc.c
242
if (!_ep || !ep->ep.desc) {
drivers/usb/gadget/udc/omap_udc.c
2420
proc_ep_show(s, &udc->ep[0]);
drivers/usb/gadget/udc/omap_udc.c
2422
list_for_each_entry(ep, &udc->gadget.ep_list,
drivers/usb/gadget/udc/omap_udc.c
2423
ep.ep_list) {
drivers/usb/gadget/udc/omap_udc.c
2424
if (ep->ep.desc)
drivers/usb/gadget/udc/omap_udc.c
2425
proc_ep_show(s, ep);
drivers/usb/gadget/udc/omap_udc.c
244
_ep ? ep->ep.name : NULL);
drivers/usb/gadget/udc/omap_udc.c
2464
struct omap_ep *ep;
drivers/usb/gadget/udc/omap_udc.c
2468
ep = &udc->ep[addr & 0xf];
drivers/usb/gadget/udc/omap_udc.c
2470
ep += 16;
drivers/usb/gadget/udc/omap_udc.c
2473
BUG_ON(ep->name[0]);
drivers/usb/gadget/udc/omap_udc.c
248
spin_lock_irqsave(&ep->udc->lock, flags);
drivers/usb/gadget/udc/omap_udc.c
249
ep->ep.desc = NULL;
drivers/usb/gadget/udc/omap_udc.c
250
nuke(ep, -ESHUTDOWN);
drivers/usb/gadget/udc/omap_udc.c
251
ep->ep.maxpacket = ep->maxpacket;
drivers/usb/gadget/udc/omap_udc.c
252
ep->has_dma = 0;
drivers/usb/gadget/udc/omap_udc.c
2530
timer_setup(&ep->timer, pio_out_timer, 0);
drivers/usb/gadget/udc/omap_udc.c
254
list_del_init(&ep->iso);
drivers/usb/gadget/udc/omap_udc.c
255
timer_delete(&ep->timer);
drivers/usb/gadget/udc/omap_udc.c
2552
BUG_ON(strlen(name) >= sizeof ep->name);
drivers/usb/gadget/udc/omap_udc.c
2553
strscpy(ep->name, name, sizeof(ep->name));
drivers/usb/gadget/udc/omap_udc.c
2554
INIT_LIST_HEAD(&ep->queue);
drivers/usb/gadget/udc/omap_udc.c
2555
INIT_LIST_HEAD(&ep->iso);
drivers/usb/gadget/udc/omap_udc.c
2556
ep->bEndpointAddress = addr;
drivers/usb/gadget/udc/omap_udc.c
2557
ep->bmAttributes = type;
drivers/usb/gadget/udc/omap_udc.c
2558
ep->double_buf = dbuf;
drivers/usb/gadget/udc/omap_udc.c
2559
ep->udc = udc;
drivers/usb/gadget/udc/omap_udc.c
2563
ep->ep.caps.type_control = true;
drivers/usb/gadget/udc/omap_udc.c
2564
ep->ep.caps.dir_in = true;
drivers/usb/gadget/udc/omap_udc.c
2565
ep->ep.caps.dir_out = true;
drivers/usb/gadget/udc/omap_udc.c
2568
ep->ep.caps.type_iso = true;
drivers/usb/gadget/udc/omap_udc.c
257
spin_unlock_irqrestore(&ep->udc->lock, flags);
drivers/usb/gadget/udc/omap_udc.c
2571
ep->ep.caps.type_bulk = true;
drivers/usb/gadget/udc/omap_udc.c
2574
ep->ep.caps.type_int = true;
drivers/usb/gadget/udc/omap_udc.c
2579
ep->ep.caps.dir_in = true;
drivers/usb/gadget/udc/omap_udc.c
2581
ep->ep.caps.dir_out = true;
drivers/usb/gadget/udc/omap_udc.c
2583
ep->ep.name = ep->name;
drivers/usb/gadget/udc/omap_udc.c
2584
ep->ep.ops = &omap_ep_ops;
drivers/usb/gadget/udc/omap_udc.c
2585
ep->maxpacket = maxp;
drivers/usb/gadget/udc/omap_udc.c
2586
usb_ep_set_maxpacket_limit(&ep->ep, ep->maxpacket);
drivers/usb/gadget/udc/omap_udc.c
2587
list_add_tail(&ep->ep.ep_list, &udc->gadget.ep_list);
drivers/usb/gadget/udc/omap_udc.c
2637
udc->gadget.ep0 = &udc->ep[0].ep;
drivers/usb/gadget/udc/omap_udc.c
2649
list_del_init(&udc->ep[0].ep.ep_list);
drivers/usb/gadget/udc/omap_udc.c
266
omap_alloc_request(struct usb_ep *ep, gfp_t gfp_flags)
drivers/usb/gadget/udc/omap_udc.c
280
omap_free_request(struct usb_ep *ep, struct usb_request *_req)
drivers/usb/gadget/udc/omap_udc.c
290
done(struct omap_ep *ep, struct omap_req *req, int status)
drivers/usb/gadget/udc/omap_udc.c
292
struct omap_udc *udc = ep->udc;
drivers/usb/gadget/udc/omap_udc.c
293
unsigned stopped = ep->stopped;
drivers/usb/gadget/udc/omap_udc.c
302
if (use_dma && ep->has_dma)
drivers/usb/gadget/udc/omap_udc.c
304
(ep->bEndpointAddress & USB_DIR_IN));
drivers/usb/gadget/udc/omap_udc.c
310
ep->ep.name, &req->req, status,
drivers/usb/gadget/udc/omap_udc.c
314
ep->stopped = 1;
drivers/usb/gadget/udc/omap_udc.c
315
spin_unlock(&ep->udc->lock);
drivers/usb/gadget/udc/omap_udc.c
316
usb_gadget_giveback_request(&ep->ep, &req->req);
drivers/usb/gadget/udc/omap_udc.c
317
spin_lock(&ep->udc->lock);
drivers/usb/gadget/udc/omap_udc.c
318
ep->stopped = stopped;
drivers/usb/gadget/udc/omap_udc.c
356
static int write_fifo(struct omap_ep *ep, struct omap_req *req)
drivers/usb/gadget/udc/omap_udc.c
371
count = ep->ep.maxpacket;
drivers/usb/gadget/udc/omap_udc.c
374
ep->ackwait = 1;
drivers/usb/gadget/udc/omap_udc.c
377
if (count != ep->ep.maxpacket)
drivers/usb/gadget/udc/omap_udc.c
390
done(ep, req, 0);
drivers/usb/gadget/udc/omap_udc.c
418
static int read_fifo(struct omap_ep *ep, struct omap_req *req)
drivers/usb/gadget/udc/omap_udc.c
432
if (!ep->double_buf)
drivers/usb/gadget/udc/omap_udc.c
434
ep->fnf = 1;
drivers/usb/gadget/udc/omap_udc.c
440
avail = ep->ep.maxpacket;
drivers/usb/gadget/udc/omap_udc.c
443
ep->fnf = ep->double_buf;
drivers/usb/gadget/udc/omap_udc.c
448
if (count < ep->ep.maxpacket) {
drivers/usb/gadget/udc/omap_udc.c
462
if (!ep->bEndpointAddress)
drivers/usb/gadget/udc/omap_udc.c
465
done(ep, req, 0);
drivers/usb/gadget/udc/omap_udc.c
473
static u16 dma_src_len(struct omap_ep *ep, dma_addr_t start)
drivers/usb/gadget/udc/omap_udc.c
483
end = omap_get_dma_src_pos(ep->lch);
drivers/usb/gadget/udc/omap_udc.c
484
if (end == ep->dma_counter)
drivers/usb/gadget/udc/omap_udc.c
493
static u16 dma_dest_len(struct omap_ep *ep, dma_addr_t start)
drivers/usb/gadget/udc/omap_udc.c
497
end = omap_get_dma_dst_pos(ep->lch);
drivers/usb/gadget/udc/omap_udc.c
498
if (end == ep->dma_counter)
drivers/usb/gadget/udc/omap_udc.c
515
static void next_in_dma(struct omap_ep *ep, struct omap_req *req)
drivers/usb/gadget/udc/omap_udc.c
526
|| (cpu_is_omap15xx() && length < ep->maxpacket)) {
drivers/usb/gadget/udc/omap_udc.c
528
omap_set_dma_transfer_params(ep->lch, OMAP_DMA_DATA_TYPE_S8,
drivers/usb/gadget/udc/omap_udc.c
531
length = min(length / ep->maxpacket,
drivers/usb/gadget/udc/omap_udc.c
534
omap_set_dma_transfer_params(ep->lch, OMAP_DMA_DATA_TYPE_S16,
drivers/usb/gadget/udc/omap_udc.c
535
ep->ep.maxpacket >> 1, length, sync_mode,
drivers/usb/gadget/udc/omap_udc.c
537
length *= ep->maxpacket;
drivers/usb/gadget/udc/omap_udc.c
539
omap_set_dma_src_params(ep->lch, OMAP_DMA_PORT_EMIFF,
drivers/usb/gadget/udc/omap_udc.c
543
omap_start_dma(ep->lch);
drivers/usb/gadget/udc/omap_udc.c
544
ep->dma_counter = omap_get_dma_src_pos(ep->lch);
drivers/usb/gadget/udc/omap_udc.c
546
w |= UDC_TX_DONE_IE(ep->dma_channel);
drivers/usb/gadget/udc/omap_udc.c
548
omap_writew(UDC_TXN_START | txdma_ctrl, UDC_TXDMA(ep->dma_channel));
drivers/usb/gadget/udc/omap_udc.c
552
static void finish_in_dma(struct omap_ep *ep, struct omap_req *req, int status)
drivers/usb/gadget/udc/omap_udc.c
564
&& (req->req.actual % ep->maxpacket) == 0)
drivers/usb/gadget/udc/omap_udc.c
567
req->req.actual += dma_src_len(ep, req->req.dma
drivers/usb/gadget/udc/omap_udc.c
571
omap_stop_dma(ep->lch);
drivers/usb/gadget/udc/omap_udc.c
573
w &= ~UDC_TX_DONE_IE(ep->dma_channel);
drivers/usb/gadget/udc/omap_udc.c
575
done(ep, req, status);
drivers/usb/gadget/udc/omap_udc.c
578
static void next_out_dma(struct omap_ep *ep, struct omap_req *req)
drivers/usb/gadget/udc/omap_udc.c
585
packets /= ep->ep.maxpacket;
drivers/usb/gadget/udc/omap_udc.c
587
req->dma_bytes = packets * ep->ep.maxpacket;
drivers/usb/gadget/udc/omap_udc.c
588
omap_set_dma_transfer_params(ep->lch, OMAP_DMA_DATA_TYPE_S16,
drivers/usb/gadget/udc/omap_udc.c
589
ep->ep.maxpacket >> 1, packets,
drivers/usb/gadget/udc/omap_udc.c
592
omap_set_dma_dest_params(ep->lch, OMAP_DMA_PORT_EMIFF,
drivers/usb/gadget/udc/omap_udc.c
595
ep->dma_counter = omap_get_dma_dst_pos(ep->lch);
drivers/usb/gadget/udc/omap_udc.c
597
omap_writew(UDC_RXN_STOP | (packets - 1), UDC_RXDMA(ep->dma_channel));
drivers/usb/gadget/udc/omap_udc.c
599
w |= UDC_RX_EOT_IE(ep->dma_channel);
drivers/usb/gadget/udc/omap_udc.c
601
omap_writew(ep->bEndpointAddress & 0xf, UDC_EP_NUM);
drivers/usb/gadget/udc/omap_udc.c
604
omap_start_dma(ep->lch);
drivers/usb/gadget/udc/omap_udc.c
608
finish_out_dma(struct omap_ep *ep, struct omap_req *req, int status, int one)
drivers/usb/gadget/udc/omap_udc.c
613
ep->dma_counter = (u16) (req->req.dma + req->req.actual);
drivers/usb/gadget/udc/omap_udc.c
614
count = dma_dest_len(ep, req->req.dma + req->req.actual);
drivers/usb/gadget/udc/omap_udc.c
622
omap_stop_dma(ep->lch);
drivers/usb/gadget/udc/omap_udc.c
630
w &= ~UDC_RX_EOT_IE(ep->dma_channel);
drivers/usb/gadget/udc/omap_udc.c
632
done(ep, req, status);
drivers/usb/gadget/udc/omap_udc.c
638
struct omap_ep *ep;
drivers/usb/gadget/udc/omap_udc.c
643
ep = &udc->ep[16 + UDC_DMA_TX_SRC(dman_stat)];
drivers/usb/gadget/udc/omap_udc.c
644
ep->irqs++;
drivers/usb/gadget/udc/omap_udc.c
646
if (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/omap_udc.c
647
req = container_of(ep->queue.next,
drivers/usb/gadget/udc/omap_udc.c
649
finish_in_dma(ep, req, 0);
drivers/usb/gadget/udc/omap_udc.c
653
if (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/omap_udc.c
654
req = container_of(ep->queue.next,
drivers/usb/gadget/udc/omap_udc.c
656
next_in_dma(ep, req);
drivers/usb/gadget/udc/omap_udc.c
662
ep = &udc->ep[UDC_DMA_RX_SRC(dman_stat)];
drivers/usb/gadget/udc/omap_udc.c
663
ep->irqs++;
drivers/usb/gadget/udc/omap_udc.c
665
if (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/omap_udc.c
666
req = container_of(ep->queue.next,
drivers/usb/gadget/udc/omap_udc.c
668
finish_out_dma(ep, req, 0, dman_stat & UDC_DMA_RX_SB);
drivers/usb/gadget/udc/omap_udc.c
672
if (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/omap_udc.c
673
req = container_of(ep->queue.next,
drivers/usb/gadget/udc/omap_udc.c
675
next_out_dma(ep, req);
drivers/usb/gadget/udc/omap_udc.c
680
ep = &udc->ep[UDC_DMA_RX_SRC(dman_stat)];
drivers/usb/gadget/udc/omap_udc.c
681
ep->irqs++;
drivers/usb/gadget/udc/omap_udc.c
683
VDBG("%s, RX_CNT irq?\n", ep->ep.name);
drivers/usb/gadget/udc/omap_udc.c
690
struct omap_ep *ep = data;
drivers/usb/gadget/udc/omap_udc.c
694
ERR("%s dma error, lch %d status %02x\n", ep->ep.name, lch, ch_status);
drivers/usb/gadget/udc/omap_udc.c
699
static void dma_channel_claim(struct omap_ep *ep, unsigned channel)
drivers/usb/gadget/udc/omap_udc.c
705
is_in = ep->bEndpointAddress & USB_DIR_IN;
drivers/usb/gadget/udc/omap_udc.c
712
ep->dma_channel = 0;
drivers/usb/gadget/udc/omap_udc.c
713
ep->lch = -1;
drivers/usb/gadget/udc/omap_udc.c
726
reg |= (0x0f & ep->bEndpointAddress) << (4 * (channel - 1));
drivers/usb/gadget/udc/omap_udc.c
727
ep->dma_channel = channel;
drivers/usb/gadget/udc/omap_udc.c
732
ep->ep.name, dma_error, ep, &ep->lch);
drivers/usb/gadget/udc/omap_udc.c
736
omap_set_dma_src_burst_mode(ep->lch,
drivers/usb/gadget/udc/omap_udc.c
738
omap_set_dma_src_data_pack(ep->lch, 1);
drivers/usb/gadget/udc/omap_udc.c
740
omap_set_dma_dest_params(ep->lch,
drivers/usb/gadget/udc/omap_udc.c
749
ep->ep.name, dma_error, ep, &ep->lch);
drivers/usb/gadget/udc/omap_udc.c
753
omap_set_dma_src_params(ep->lch,
drivers/usb/gadget/udc/omap_udc.c
759
omap_set_dma_dest_burst_mode(ep->lch,
drivers/usb/gadget/udc/omap_udc.c
761
omap_set_dma_dest_data_pack(ep->lch, 1);
drivers/usb/gadget/udc/omap_udc.c
765
ep->dma_channel = 0;
drivers/usb/gadget/udc/omap_udc.c
767
ep->has_dma = 1;
drivers/usb/gadget/udc/omap_udc.c
768
omap_disable_dma_irq(ep->lch, OMAP_DMA_BLOCK_IRQ);
drivers/usb/gadget/udc/omap_udc.c
772
omap_set_dma_channel_mode(ep->lch, OMAP_DMA_LCH_P);
drivers/usb/gadget/udc/omap_udc.c
777
restart = !ep->stopped && !list_empty(&ep->queue);
drivers/usb/gadget/udc/omap_udc.c
780
DBG("%s no dma channel: %d%s\n", ep->ep.name, status,
drivers/usb/gadget/udc/omap_udc.c
783
DBG("%s claimed %cxdma%d lch %d%s\n", ep->ep.name,
drivers/usb/gadget/udc/omap_udc.c
785
ep->dma_channel - 1, ep->lch,
drivers/usb/gadget/udc/omap_udc.c
790
req = container_of(ep->queue.next, struct omap_req, queue);
drivers/usb/gadget/udc/omap_udc.c
791
if (ep->has_dma)
drivers/usb/gadget/udc/omap_udc.c
792
(is_in ? next_in_dma : next_out_dma)(ep, req);
drivers/usb/gadget/udc/omap_udc.c
794
use_ep(ep, UDC_EP_SEL);
drivers/usb/gadget/udc/omap_udc.c
795
(is_in ? write_fifo : read_fifo)(ep, req);
drivers/usb/gadget/udc/omap_udc.c
799
ep->ackwait = 1 + ep->double_buf;
drivers/usb/gadget/udc/omap_udc.c
806
static void dma_channel_release(struct omap_ep *ep)
drivers/usb/gadget/udc/omap_udc.c
808
int shift = 4 * (ep->dma_channel - 1);
drivers/usb/gadget/udc/omap_udc.c
814
if (!list_empty(&ep->queue))
drivers/usb/gadget/udc/omap_udc.c
815
req = container_of(ep->queue.next, struct omap_req, queue);
drivers/usb/gadget/udc/omap_udc.c
819
active = omap_get_dma_active_status(ep->lch);
drivers/usb/gadget/udc/omap_udc.c
821
DBG("%s release %s %cxdma%d %p\n", ep->ep.name,
drivers/usb/gadget/udc/omap_udc.c
823
(ep->bEndpointAddress & USB_DIR_IN) ? 't' : 'r',
drivers/usb/gadget/udc/omap_udc.c
824
ep->dma_channel - 1, req);
drivers/usb/gadget/udc/omap_udc.c
831
if (ep->bEndpointAddress & USB_DIR_IN) {
drivers/usb/gadget/udc/omap_udc.c
836
finish_in_dma(ep, req, -ECONNRESET);
drivers/usb/gadget/udc/omap_udc.c
839
use_ep(ep, UDC_EP_SEL);
drivers/usb/gadget/udc/omap_udc.c
853
finish_out_dma(ep, req, -ECONNRESET, 0);
drivers/usb/gadget/udc/omap_udc.c
855
omap_free_dma(ep->lch);
drivers/usb/gadget/udc/omap_udc.c
856
ep->dma_channel = 0;
drivers/usb/gadget/udc/omap_udc.c
857
ep->lch = -1;
drivers/usb/gadget/udc/omap_udc.c
867
struct omap_ep *ep = container_of(_ep, struct omap_ep, ep);
drivers/usb/gadget/udc/omap_udc.c
879
if (!_ep || (!ep->ep.desc && ep->bEndpointAddress)) {
drivers/usb/gadget/udc/omap_udc.c
883
if (ep->bmAttributes == USB_ENDPOINT_XFER_ISOC) {
drivers/usb/gadget/udc/omap_udc.c
884
if (req->req.length > ep->ep.maxpacket)
drivers/usb/gadget/udc/omap_udc.c
893
&& ep->has_dma
drivers/usb/gadget/udc/omap_udc.c
894
&& ep->bEndpointAddress != 0
drivers/usb/gadget/udc/omap_udc.c
895
&& (ep->bEndpointAddress & USB_DIR_IN) == 0
drivers/usb/gadget/udc/omap_udc.c
896
&& (req->req.length % ep->ep.maxpacket) != 0) {
drivers/usb/gadget/udc/omap_udc.c
901
udc = ep->udc;
drivers/usb/gadget/udc/omap_udc.c
905
if (use_dma && ep->has_dma)
drivers/usb/gadget/udc/omap_udc.c
907
(ep->bEndpointAddress & USB_DIR_IN));
drivers/usb/gadget/udc/omap_udc.c
910
ep->ep.name, _req, _req->length, _req->buf);
drivers/usb/gadget/udc/omap_udc.c
924
} else if (list_empty(&ep->queue) && !ep->stopped && !ep->ackwait) {
drivers/usb/gadget/udc/omap_udc.c
927
if (ep->bEndpointAddress == 0) {
drivers/usb/gadget/udc/omap_udc.c
928
if (!udc->ep0_pending || !list_empty(&ep->queue)) {
drivers/usb/gadget/udc/omap_udc.c
963
done(ep, req, 0);
drivers/usb/gadget/udc/omap_udc.c
976
is_in = ep->bEndpointAddress & USB_DIR_IN;
drivers/usb/gadget/udc/omap_udc.c
977
if (!ep->has_dma)
drivers/usb/gadget/udc/omap_udc.c
978
use_ep(ep, UDC_EP_SEL);
drivers/usb/gadget/udc/omap_udc.c
982
if (ep->has_dma)
drivers/usb/gadget/udc/omap_udc.c
983
(is_in ? next_in_dma : next_out_dma)(ep, req);
drivers/usb/gadget/udc/omap_udc.c
985
if ((is_in ? write_fifo : read_fifo)(ep, req) == 1)
drivers/usb/gadget/udc/omap_udc.c
990
ep->ackwait = 1 + ep->double_buf;
drivers/usb/gadget/udc/omap_udc.c
999
list_add_tail(&req->queue, &ep->queue);
drivers/usb/gadget/udc/omap_udc.h
140
struct usb_ep ep;
drivers/usb/gadget/udc/omap_udc.h
164
struct omap_ep ep[32];
drivers/usb/gadget/udc/pch_udc.c
1001
pch_udc_write_csr(ep->dev, val, UDC_EPOUT_IDX(ep->num));
drivers/usb/gadget/udc/pch_udc.c
1008
static void pch_udc_ep_disable(struct pch_udc_ep *ep)
drivers/usb/gadget/udc/pch_udc.c
1010
if (ep->in) {
drivers/usb/gadget/udc/pch_udc.c
1012
pch_udc_ep_writel(ep, UDC_EPCTL_F, UDC_EPCTL_ADDR);
drivers/usb/gadget/udc/pch_udc.c
1014
pch_udc_ep_writel(ep, UDC_EPCTL_SNAK, UDC_EPCTL_ADDR);
drivers/usb/gadget/udc/pch_udc.c
1015
pch_udc_ep_bit_set(ep, UDC_EPSTS_ADDR, UDC_EPSTS_IN);
drivers/usb/gadget/udc/pch_udc.c
1018
pch_udc_ep_writel(ep, UDC_EPCTL_SNAK, UDC_EPCTL_ADDR);
drivers/usb/gadget/udc/pch_udc.c
1021
pch_udc_ep_writel(ep, 0, UDC_DESPTR_ADDR);
drivers/usb/gadget/udc/pch_udc.c
1028
static void pch_udc_wait_ep_stall(struct pch_udc_ep *ep)
drivers/usb/gadget/udc/pch_udc.c
1033
while ((pch_udc_read_ep_control(ep) & UDC_EPCTL_S) && --count)
drivers/usb/gadget/udc/pch_udc.c
1036
dev_err(&ep->dev->pdev->dev, "%s: wait error\n", __func__);
drivers/usb/gadget/udc/pch_udc.c
1421
static void complete_req(struct pch_udc_ep *ep, struct pch_udc_request *req,
drivers/usb/gadget/udc/pch_udc.c
1427
unsigned halted = ep->halted;
drivers/usb/gadget/udc/pch_udc.c
1437
dev = ep->dev;
drivers/usb/gadget/udc/pch_udc.c
1438
usb_gadget_unmap_request(&dev->gadget, &req->req, ep->in);
drivers/usb/gadget/udc/pch_udc.c
1439
ep->halted = 1;
drivers/usb/gadget/udc/pch_udc.c
1441
if (!ep->in)
drivers/usb/gadget/udc/pch_udc.c
1442
pch_udc_ep_clear_rrdy(ep);
drivers/usb/gadget/udc/pch_udc.c
1443
usb_gadget_giveback_request(&ep->ep, &req->req);
drivers/usb/gadget/udc/pch_udc.c
1445
ep->halted = halted;
drivers/usb/gadget/udc/pch_udc.c
1452
static void empty_req_queue(struct pch_udc_ep *ep)
drivers/usb/gadget/udc/pch_udc.c
1456
ep->halted = 1;
drivers/usb/gadget/udc/pch_udc.c
1457
while (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/pch_udc.c
1458
req = list_entry(ep->queue.next, struct pch_udc_request, queue);
drivers/usb/gadget/udc/pch_udc.c
1459
complete_req(ep, req, -ESHUTDOWN); /* Remove from list */
drivers/usb/gadget/udc/pch_udc.c
1503
static int pch_udc_create_dma_chain(struct pch_udc_ep *ep,
drivers/usb/gadget/udc/pch_udc.c
1514
pch_udc_free_dma_chain(ep->dev, req);
drivers/usb/gadget/udc/pch_udc.c
1524
td = dma_pool_alloc(ep->dev->data_requests, gfp_flags,
drivers/usb/gadget/udc/pch_udc.c
1542
pch_udc_free_dma_chain(ep->dev, req);
drivers/usb/gadget/udc/pch_udc.c
1559
static int prepare_dma(struct pch_udc_ep *ep, struct pch_udc_request *req,
drivers/usb/gadget/udc/pch_udc.c
1565
retval = pch_udc_create_dma_chain(ep, req, ep->ep.maxpacket, gfp);
drivers/usb/gadget/udc/pch_udc.c
1570
if (ep->in)
drivers/usb/gadget/udc/pch_udc.c
1582
static void process_zlp(struct pch_udc_ep *ep, struct pch_udc_request *req)
drivers/usb/gadget/udc/pch_udc.c
1584
struct pch_udc_dev *dev = ep->dev;
drivers/usb/gadget/udc/pch_udc.c
1587
complete_req(ep, req, 0);
drivers/usb/gadget/udc/pch_udc.c
1598
pch_udc_ep_clear_nak(&(dev->ep[UDC_EP0IN_IDX]));
drivers/usb/gadget/udc/pch_udc.c
1608
static void pch_udc_start_rxrequest(struct pch_udc_ep *ep,
drivers/usb/gadget/udc/pch_udc.c
1613
pch_udc_clear_dma(ep->dev, DMA_DIR_RX);
drivers/usb/gadget/udc/pch_udc.c
1624
pch_udc_ep_set_ddptr(ep, req->td_data_phys);
drivers/usb/gadget/udc/pch_udc.c
1626
pch_udc_enable_ep_interrupts(ep->dev, UDC_EPINT_OUT_EP0 << ep->num);
drivers/usb/gadget/udc/pch_udc.c
1627
pch_udc_set_dma(ep->dev, DMA_DIR_RX);
drivers/usb/gadget/udc/pch_udc.c
1628
pch_udc_ep_clear_nak(ep);
drivers/usb/gadget/udc/pch_udc.c
1629
pch_udc_ep_set_rrdy(ep);
drivers/usb/gadget/udc/pch_udc.c
1646
struct pch_udc_ep *ep;
drivers/usb/gadget/udc/pch_udc.c
1654
ep = container_of(usbep, struct pch_udc_ep, ep);
drivers/usb/gadget/udc/pch_udc.c
1655
dev = ep->dev;
drivers/usb/gadget/udc/pch_udc.c
1659
ep->ep.desc = desc;
drivers/usb/gadget/udc/pch_udc.c
1660
ep->halted = 0;
drivers/usb/gadget/udc/pch_udc.c
1661
pch_udc_ep_enable(ep, &ep->dev->cfg_data, desc);
drivers/usb/gadget/udc/pch_udc.c
1662
ep->ep.maxpacket = usb_endpoint_maxp(desc);
drivers/usb/gadget/udc/pch_udc.c
1663
pch_udc_enable_ep_interrupts(ep->dev, PCH_UDC_EPINT(ep->in, ep->num));
drivers/usb/gadget/udc/pch_udc.c
1679
struct pch_udc_ep *ep;
drivers/usb/gadget/udc/pch_udc.c
1685
ep = container_of(usbep, struct pch_udc_ep, ep);
drivers/usb/gadget/udc/pch_udc.c
1686
if ((usbep->name == ep0_string) || !ep->ep.desc)
drivers/usb/gadget/udc/pch_udc.c
1689
spin_lock_irqsave(&ep->dev->lock, iflags);
drivers/usb/gadget/udc/pch_udc.c
1690
empty_req_queue(ep);
drivers/usb/gadget/udc/pch_udc.c
1691
ep->halted = 1;
drivers/usb/gadget/udc/pch_udc.c
1692
pch_udc_ep_disable(ep);
drivers/usb/gadget/udc/pch_udc.c
1693
pch_udc_disable_ep_interrupts(ep->dev, PCH_UDC_EPINT(ep->in, ep->num));
drivers/usb/gadget/udc/pch_udc.c
1694
ep->ep.desc = NULL;
drivers/usb/gadget/udc/pch_udc.c
1695
INIT_LIST_HEAD(&ep->queue);
drivers/usb/gadget/udc/pch_udc.c
1696
spin_unlock_irqrestore(&ep->dev->lock, iflags);
drivers/usb/gadget/udc/pch_udc.c
1714
struct pch_udc_ep *ep;
drivers/usb/gadget/udc/pch_udc.c
1719
ep = container_of(usbep, struct pch_udc_ep, ep);
drivers/usb/gadget/udc/pch_udc.c
1725
if (!ep->dev->dma_addr)
drivers/usb/gadget/udc/pch_udc.c
1728
dma_desc = dma_pool_alloc(ep->dev->data_requests, gfp,
drivers/usb/gadget/udc/pch_udc.c
174
#define PCH_UDC_CSR(ep) (UDC_CSR_ADDR + ep*4)
drivers/usb/gadget/udc/pch_udc.c
1752
struct pch_udc_ep *ep;
drivers/usb/gadget/udc/pch_udc.c
1758
ep = container_of(usbep, struct pch_udc_ep, ep);
drivers/usb/gadget/udc/pch_udc.c
1760
dev = ep->dev;
drivers/usb/gadget/udc/pch_udc.c
1766
pch_udc_free_dma_chain(ep->dev, req);
drivers/usb/gadget/udc/pch_udc.c
1767
dma_pool_free(ep->dev->data_requests, req->td_data,
drivers/usb/gadget/udc/pch_udc.c
1788
struct pch_udc_ep *ep;
drivers/usb/gadget/udc/pch_udc.c
1795
ep = container_of(usbep, struct pch_udc_ep, ep);
drivers/usb/gadget/udc/pch_udc.c
1796
dev = ep->dev;
drivers/usb/gadget/udc/pch_udc.c
1797
if (!ep->ep.desc && ep->num)
drivers/usb/gadget/udc/pch_udc.c
1806
retval = usb_gadget_map_request(&dev->gadget, usbreq, ep->in);
drivers/usb/gadget/udc/pch_udc.c
181
#define UDC_EPIN_IDX(ep) (ep * 2)
drivers/usb/gadget/udc/pch_udc.c
1810
retval = prepare_dma(ep, req, GFP_ATOMIC);
drivers/usb/gadget/udc/pch_udc.c
1817
if (list_empty(&ep->queue) && !ep->halted) {
drivers/usb/gadget/udc/pch_udc.c
182
#define UDC_EPOUT_IDX(ep) (ep * 2 + 1)
drivers/usb/gadget/udc/pch_udc.c
1820
process_zlp(ep, req);
drivers/usb/gadget/udc/pch_udc.c
1824
if (!ep->in) {
drivers/usb/gadget/udc/pch_udc.c
1825
pch_udc_start_rxrequest(ep, req);
drivers/usb/gadget/udc/pch_udc.c
1832
pch_udc_wait_ep_stall(ep);
drivers/usb/gadget/udc/pch_udc.c
1833
pch_udc_ep_clear_nak(ep);
drivers/usb/gadget/udc/pch_udc.c
1834
pch_udc_enable_ep_interrupts(ep->dev, (1 << ep->num));
drivers/usb/gadget/udc/pch_udc.c
1839
list_add_tail(&req->queue, &ep->queue);
drivers/usb/gadget/udc/pch_udc.c
1859
struct pch_udc_ep *ep;
drivers/usb/gadget/udc/pch_udc.c
1864
ep = container_of(usbep, struct pch_udc_ep, ep);
drivers/usb/gadget/udc/pch_udc.c
1865
if (!usbep || !usbreq || (!ep->ep.desc && ep->num))
drivers/usb/gadget/udc/pch_udc.c
1868
spin_lock_irqsave(&ep->dev->lock, flags);
drivers/usb/gadget/udc/pch_udc.c
1870
list_for_each_entry(req, &ep->queue, queue) {
drivers/usb/gadget/udc/pch_udc.c
1872
pch_udc_ep_set_nak(ep);
drivers/usb/gadget/udc/pch_udc.c
1874
complete_req(ep, req, -ECONNRESET);
drivers/usb/gadget/udc/pch_udc.c
1879
spin_unlock_irqrestore(&ep->dev->lock, flags);
drivers/usb/gadget/udc/pch_udc.c
1895
struct pch_udc_ep *ep;
drivers/usb/gadget/udc/pch_udc.c
1901
ep = container_of(usbep, struct pch_udc_ep, ep);
drivers/usb/gadget/udc/pch_udc.c
1902
if (!ep->ep.desc && !ep->num)
drivers/usb/gadget/udc/pch_udc.c
1904
if (!ep->dev->driver || (ep->dev->gadget.speed == USB_SPEED_UNKNOWN))
drivers/usb/gadget/udc/pch_udc.c
1907
if (list_empty(&ep->queue)) {
drivers/usb/gadget/udc/pch_udc.c
1909
if (ep->num == PCH_UDC_EP0)
drivers/usb/gadget/udc/pch_udc.c
1910
ep->dev->stall = 1;
drivers/usb/gadget/udc/pch_udc.c
1911
pch_udc_ep_set_stall(ep);
drivers/usb/gadget/udc/pch_udc.c
1913
ep->dev, PCH_UDC_EPINT(ep->in, ep->num));
drivers/usb/gadget/udc/pch_udc.c
1915
pch_udc_ep_clear_stall(ep);
drivers/usb/gadget/udc/pch_udc.c
1936
struct pch_udc_ep *ep;
drivers/usb/gadget/udc/pch_udc.c
1942
ep = container_of(usbep, struct pch_udc_ep, ep);
drivers/usb/gadget/udc/pch_udc.c
1943
if (!ep->ep.desc && !ep->num)
drivers/usb/gadget/udc/pch_udc.c
1945
if (!ep->dev->driver || (ep->dev->gadget.speed == USB_SPEED_UNKNOWN))
drivers/usb/gadget/udc/pch_udc.c
1948
if (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/pch_udc.c
1951
if (ep->num == PCH_UDC_EP0)
drivers/usb/gadget/udc/pch_udc.c
1952
ep->dev->stall = 1;
drivers/usb/gadget/udc/pch_udc.c
1953
pch_udc_ep_set_stall(ep);
drivers/usb/gadget/udc/pch_udc.c
1954
pch_udc_enable_ep_interrupts(ep->dev,
drivers/usb/gadget/udc/pch_udc.c
1955
PCH_UDC_EPINT(ep->in, ep->num));
drivers/usb/gadget/udc/pch_udc.c
1956
ep->dev->prot_stall = 1;
drivers/usb/gadget/udc/pch_udc.c
1969
struct pch_udc_ep *ep;
drivers/usb/gadget/udc/pch_udc.c
1974
ep = container_of(usbep, struct pch_udc_ep, ep);
drivers/usb/gadget/udc/pch_udc.c
1975
if (ep->ep.desc || !ep->num)
drivers/usb/gadget/udc/pch_udc.c
1976
pch_udc_ep_fifo_flush(ep, ep->in);
drivers/usb/gadget/udc/pch_udc.c
2012
static void pch_udc_start_next_txrequest(struct pch_udc_ep *ep)
drivers/usb/gadget/udc/pch_udc.c
2017
if (pch_udc_read_ep_control(ep) & UDC_EPCTL_P)
drivers/usb/gadget/udc/pch_udc.c
2020
if (list_empty(&ep->queue))
drivers/usb/gadget/udc/pch_udc.c
2024
req = list_entry(ep->queue.next, struct pch_udc_request, queue);
drivers/usb/gadget/udc/pch_udc.c
2029
pch_udc_wait_ep_stall(ep);
drivers/usb/gadget/udc/pch_udc.c
2031
pch_udc_ep_set_ddptr(ep, 0);
drivers/usb/gadget/udc/pch_udc.c
2040
pch_udc_ep_set_ddptr(ep, req->td_data_phys);
drivers/usb/gadget/udc/pch_udc.c
2041
pch_udc_set_dma(ep->dev, DMA_DIR_TX);
drivers/usb/gadget/udc/pch_udc.c
2042
pch_udc_ep_set_pd(ep);
drivers/usb/gadget/udc/pch_udc.c
2043
pch_udc_enable_ep_interrupts(ep->dev, PCH_UDC_EPINT(ep->in, ep->num));
drivers/usb/gadget/udc/pch_udc.c
2044
pch_udc_ep_clear_nak(ep);
drivers/usb/gadget/udc/pch_udc.c
2051
static void pch_udc_complete_transfer(struct pch_udc_ep *ep)
drivers/usb/gadget/udc/pch_udc.c
2054
struct pch_udc_dev *dev = ep->dev;
drivers/usb/gadget/udc/pch_udc.c
2056
if (list_empty(&ep->queue))
drivers/usb/gadget/udc/pch_udc.c
2058
req = list_entry(ep->queue.next, struct pch_udc_request, queue);
drivers/usb/gadget/udc/pch_udc.c
2067
(int)(ep->epsts));
drivers/usb/gadget/udc/pch_udc.c
2074
complete_req(ep, req, 0);
drivers/usb/gadget/udc/pch_udc.c
2076
if (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/pch_udc.c
2077
pch_udc_wait_ep_stall(ep);
drivers/usb/gadget/udc/pch_udc.c
2078
pch_udc_ep_clear_nak(ep);
drivers/usb/gadget/udc/pch_udc.c
2079
pch_udc_enable_ep_interrupts(ep->dev,
drivers/usb/gadget/udc/pch_udc.c
2080
PCH_UDC_EPINT(ep->in, ep->num));
drivers/usb/gadget/udc/pch_udc.c
2082
pch_udc_disable_ep_interrupts(ep->dev,
drivers/usb/gadget/udc/pch_udc.c
2083
PCH_UDC_EPINT(ep->in, ep->num));
drivers/usb/gadget/udc/pch_udc.c
2091
static void pch_udc_complete_receiver(struct pch_udc_ep *ep)
drivers/usb/gadget/udc/pch_udc.c
2094
struct pch_udc_dev *dev = ep->dev;
drivers/usb/gadget/udc/pch_udc.c
2099
if (list_empty(&ep->queue))
drivers/usb/gadget/udc/pch_udc.c
2102
req = list_entry(ep->queue.next, struct pch_udc_request, queue);
drivers/usb/gadget/udc/pch_udc.c
2103
pch_udc_clear_dma(ep->dev, DMA_DIR_RX);
drivers/usb/gadget/udc/pch_udc.c
2104
pch_udc_ep_set_ddptr(ep, 0);
drivers/usb/gadget/udc/pch_udc.c
2116
(int)(ep->epsts));
drivers/usb/gadget/udc/pch_udc.c
2139
complete_req(ep, req, 0);
drivers/usb/gadget/udc/pch_udc.c
2141
if (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/pch_udc.c
2142
req = list_entry(ep->queue.next, struct pch_udc_request, queue);
drivers/usb/gadget/udc/pch_udc.c
2143
pch_udc_start_rxrequest(ep, req);
drivers/usb/gadget/udc/pch_udc.c
2156
struct pch_udc_ep *ep;
drivers/usb/gadget/udc/pch_udc.c
2158
ep = &dev->ep[UDC_EPIN_IDX(ep_num)];
drivers/usb/gadget/udc/pch_udc.c
2159
epsts = ep->epsts;
drivers/usb/gadget/udc/pch_udc.c
2160
ep->epsts = 0;
drivers/usb/gadget/udc/pch_udc.c
2171
pch_udc_ep_set_stall(ep);
drivers/usb/gadget/udc/pch_udc.c
2172
pch_udc_enable_ep_interrupts(ep->dev,
drivers/usb/gadget/udc/pch_udc.c
2173
PCH_UDC_EPINT(ep->in, ep->num));
drivers/usb/gadget/udc/pch_udc.c
2177
pch_udc_ep_clear_stall(ep);
drivers/usb/gadget/udc/pch_udc.c
2179
pch_udc_ep_set_stall(ep);
drivers/usb/gadget/udc/pch_udc.c
2180
pch_udc_enable_ep_interrupts(ep->dev,
drivers/usb/gadget/udc/pch_udc.c
2181
PCH_UDC_EPINT(ep->in, ep->num));
drivers/usb/gadget/udc/pch_udc.c
2185
pch_udc_complete_transfer(ep);
drivers/usb/gadget/udc/pch_udc.c
2189
pch_udc_start_next_txrequest(ep);
drivers/usb/gadget/udc/pch_udc.c
2200
struct pch_udc_ep *ep;
drivers/usb/gadget/udc/pch_udc.c
2203
ep = &dev->ep[UDC_EPOUT_IDX(ep_num)];
drivers/usb/gadget/udc/pch_udc.c
2204
epsts = ep->epsts;
drivers/usb/gadget/udc/pch_udc.c
2205
ep->epsts = 0;
drivers/usb/gadget/udc/pch_udc.c
2207
if ((epsts & UDC_EPSTS_BNA) && (!list_empty(&ep->queue))) {
drivers/usb/gadget/udc/pch_udc.c
2209
req = list_entry(ep->queue.next, struct pch_udc_request,
drivers/usb/gadget/udc/pch_udc.c
2214
pch_udc_start_rxrequest(ep, req);
drivers/usb/gadget/udc/pch_udc.c
2221
pch_udc_ep_set_stall(ep);
drivers/usb/gadget/udc/pch_udc.c
2222
pch_udc_enable_ep_interrupts(ep->dev,
drivers/usb/gadget/udc/pch_udc.c
2223
PCH_UDC_EPINT(ep->in, ep->num));
drivers/usb/gadget/udc/pch_udc.c
2227
pch_udc_ep_clear_stall(ep);
drivers/usb/gadget/udc/pch_udc.c
2229
pch_udc_ep_set_stall(ep);
drivers/usb/gadget/udc/pch_udc.c
2230
pch_udc_enable_ep_interrupts(ep->dev,
drivers/usb/gadget/udc/pch_udc.c
2231
PCH_UDC_EPINT(ep->in, ep->num));
drivers/usb/gadget/udc/pch_udc.c
2236
if (ep->dev->prot_stall == 1) {
drivers/usb/gadget/udc/pch_udc.c
2237
pch_udc_ep_set_stall(ep);
drivers/usb/gadget/udc/pch_udc.c
2238
pch_udc_enable_ep_interrupts(ep->dev,
drivers/usb/gadget/udc/pch_udc.c
2239
PCH_UDC_EPINT(ep->in, ep->num));
drivers/usb/gadget/udc/pch_udc.c
2241
pch_udc_complete_receiver(ep);
drivers/usb/gadget/udc/pch_udc.c
2244
if (list_empty(&ep->queue))
drivers/usb/gadget/udc/pch_udc.c
2270
struct pch_udc_ep *ep;
drivers/usb/gadget/udc/pch_udc.c
2273
ep = &dev->ep[UDC_EP0IN_IDX];
drivers/usb/gadget/udc/pch_udc.c
2274
ep_out = &dev->ep[UDC_EP0OUT_IDX];
drivers/usb/gadget/udc/pch_udc.c
2275
epsts = ep->epsts;
drivers/usb/gadget/udc/pch_udc.c
2276
ep->epsts = 0;
drivers/usb/gadget/udc/pch_udc.c
2287
pch_udc_complete_transfer(ep);
drivers/usb/gadget/udc/pch_udc.c
2299
pch_udc_start_next_txrequest(ep);
drivers/usb/gadget/udc/pch_udc.c
2313
struct pch_udc_ep *ep;
drivers/usb/gadget/udc/pch_udc.c
2315
ep = &dev->ep[UDC_EP0OUT_IDX];
drivers/usb/gadget/udc/pch_udc.c
2316
stat = ep->epsts;
drivers/usb/gadget/udc/pch_udc.c
2317
ep->epsts = 0;
drivers/usb/gadget/udc/pch_udc.c
2323
dev->ep[UDC_EP0IN_IDX].halted = 0;
drivers/usb/gadget/udc/pch_udc.c
2324
dev->ep[UDC_EP0OUT_IDX].halted = 0;
drivers/usb/gadget/udc/pch_udc.c
2325
dev->setup_data = ep->td_stp->request;
drivers/usb/gadget/udc/pch_udc.c
2326
pch_udc_init_setup_buff(ep->td_stp);
drivers/usb/gadget/udc/pch_udc.c
2328
pch_udc_ep_fifo_flush(&(dev->ep[UDC_EP0IN_IDX]),
drivers/usb/gadget/udc/pch_udc.c
2329
dev->ep[UDC_EP0IN_IDX].in);
drivers/usb/gadget/udc/pch_udc.c
2331
dev->gadget.ep0 = &dev->ep[UDC_EP0IN_IDX].ep;
drivers/usb/gadget/udc/pch_udc.c
2333
dev->gadget.ep0 = &ep->ep;
drivers/usb/gadget/udc/pch_udc.c
2342
ep->td_data->status = (ep->td_data->status &
drivers/usb/gadget/udc/pch_udc.c
2345
pch_udc_ep_set_ddptr(ep, ep->td_data_phys);
drivers/usb/gadget/udc/pch_udc.c
2350
pch_udc_ep_clear_nak(&(dev->ep[UDC_EP0IN_IDX]));
drivers/usb/gadget/udc/pch_udc.c
2355
pch_udc_ep_clear_nak(ep);
drivers/usb/gadget/udc/pch_udc.c
2359
pch_udc_ep_set_stall(&(dev->ep[UDC_EP0IN_IDX]));
drivers/usb/gadget/udc/pch_udc.c
2360
pch_udc_enable_ep_interrupts(ep->dev,
drivers/usb/gadget/udc/pch_udc.c
2361
PCH_UDC_EPINT(ep->in, ep->num));
drivers/usb/gadget/udc/pch_udc.c
2370
pch_udc_ep_set_ddptr(ep, 0);
drivers/usb/gadget/udc/pch_udc.c
2371
if (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/pch_udc.c
2372
ep->epsts = stat;
drivers/usb/gadget/udc/pch_udc.c
2377
pch_udc_ep_set_rrdy(ep);
drivers/usb/gadget/udc/pch_udc.c
2389
struct pch_udc_ep *ep = &dev->ep[UDC_EPIN_IDX(ep_num)];
drivers/usb/gadget/udc/pch_udc.c
2390
if (list_empty(&ep->queue))
drivers/usb/gadget/udc/pch_udc.c
2392
pch_udc_enable_ep_interrupts(ep->dev, PCH_UDC_EPINT(ep->in, ep->num));
drivers/usb/gadget/udc/pch_udc.c
2393
pch_udc_ep_clear_nak(ep);
drivers/usb/gadget/udc/pch_udc.c
2404
struct pch_udc_ep *ep;
drivers/usb/gadget/udc/pch_udc.c
2409
ep = &dev->ep[UDC_EPIN_IDX(i)];
drivers/usb/gadget/udc/pch_udc.c
2410
ep->epsts = pch_udc_read_ep_status(ep);
drivers/usb/gadget/udc/pch_udc.c
2411
pch_udc_clear_ep_status(ep, ep->epsts);
drivers/usb/gadget/udc/pch_udc.c
2415
ep = &dev->ep[UDC_EPOUT_IDX(i)];
drivers/usb/gadget/udc/pch_udc.c
2416
ep->epsts = pch_udc_read_ep_status(ep);
drivers/usb/gadget/udc/pch_udc.c
2417
pch_udc_clear_ep_status(ep, ep->epsts);
drivers/usb/gadget/udc/pch_udc.c
2429
struct pch_udc_ep *ep;
drivers/usb/gadget/udc/pch_udc.c
2433
ep = &dev->ep[UDC_EP0IN_IDX];
drivers/usb/gadget/udc/pch_udc.c
2434
pch_udc_clear_ep_control(ep);
drivers/usb/gadget/udc/pch_udc.c
2435
pch_udc_ep_fifo_flush(ep, ep->in);
drivers/usb/gadget/udc/pch_udc.c
2436
pch_udc_ep_set_bufsz(ep, UDC_EP0IN_BUFF_SIZE, ep->in);
drivers/usb/gadget/udc/pch_udc.c
2437
pch_udc_ep_set_maxpkt(ep, UDC_EP0IN_MAX_PKT_SIZE);
drivers/usb/gadget/udc/pch_udc.c
2439
ep->td_data = NULL;
drivers/usb/gadget/udc/pch_udc.c
2440
ep->td_stp = NULL;
drivers/usb/gadget/udc/pch_udc.c
2441
ep->td_data_phys = 0;
drivers/usb/gadget/udc/pch_udc.c
2442
ep->td_stp_phys = 0;
drivers/usb/gadget/udc/pch_udc.c
2445
ep = &dev->ep[UDC_EP0OUT_IDX];
drivers/usb/gadget/udc/pch_udc.c
2446
pch_udc_clear_ep_control(ep);
drivers/usb/gadget/udc/pch_udc.c
2447
pch_udc_ep_fifo_flush(ep, ep->in);
drivers/usb/gadget/udc/pch_udc.c
2448
pch_udc_ep_set_bufsz(ep, UDC_EP0OUT_BUFF_SIZE, ep->in);
drivers/usb/gadget/udc/pch_udc.c
2449
pch_udc_ep_set_maxpkt(ep, UDC_EP0OUT_MAX_PKT_SIZE);
drivers/usb/gadget/udc/pch_udc.c
2451
pch_udc_write_csr(ep->dev, val, UDC_EP0OUT_IDX);
drivers/usb/gadget/udc/pch_udc.c
2454
pch_udc_init_setup_buff(ep->td_stp);
drivers/usb/gadget/udc/pch_udc.c
2456
pch_udc_ep_set_subptr(ep, ep->td_stp_phys);
drivers/usb/gadget/udc/pch_udc.c
2458
pch_udc_ep_set_ddptr(ep, ep->td_data_phys);
drivers/usb/gadget/udc/pch_udc.c
2461
ep->td_data->status = PCH_UDC_DMA_LAST;
drivers/usb/gadget/udc/pch_udc.c
2462
ep->td_data->dataptr = dev->dma_addr;
drivers/usb/gadget/udc/pch_udc.c
2463
ep->td_data->next = ep->td_data_phys;
drivers/usb/gadget/udc/pch_udc.c
2465
pch_udc_ep_clear_nak(ep);
drivers/usb/gadget/udc/pch_udc.c
2475
struct pch_udc_ep *ep;
drivers/usb/gadget/udc/pch_udc.c
2486
ep = &dev->ep[i];
drivers/usb/gadget/udc/pch_udc.c
2487
pch_udc_clear_ep_status(ep, UDC_EPSTS_ALL_CLR_MASK);
drivers/usb/gadget/udc/pch_udc.c
2488
pch_udc_clear_ep_control(ep);
drivers/usb/gadget/udc/pch_udc.c
2489
pch_udc_ep_set_ddptr(ep, 0);
drivers/usb/gadget/udc/pch_udc.c
2490
pch_udc_write_csr(ep->dev, 0x00, i);
drivers/usb/gadget/udc/pch_udc.c
2499
ep = &dev->ep[i];
drivers/usb/gadget/udc/pch_udc.c
2500
pch_udc_ep_set_nak(ep);
drivers/usb/gadget/udc/pch_udc.c
2501
pch_udc_ep_fifo_flush(ep, ep->in);
drivers/usb/gadget/udc/pch_udc.c
2503
empty_req_queue(ep);
drivers/usb/gadget/udc/pch_udc.c
2543
pch_udc_ep_set_rrdy(&(dev->ep[UDC_EP0OUT_IDX]));
drivers/usb/gadget/udc/pch_udc.c
2583
pch_udc_ep_clear_stall(&(dev->ep[i]));
drivers/usb/gadget/udc/pch_udc.c
2584
dev->ep[i].halted = 0;
drivers/usb/gadget/udc/pch_udc.c
2616
pch_udc_ep_clear_stall(&(dev->ep[i]));
drivers/usb/gadget/udc/pch_udc.c
2617
dev->ep[i].halted = 0;
drivers/usb/gadget/udc/pch_udc.c
2783
memset(dev->ep, 0, sizeof dev->ep);
drivers/usb/gadget/udc/pch_udc.c
2785
struct pch_udc_ep *ep = &dev->ep[i];
drivers/usb/gadget/udc/pch_udc.c
2786
ep->dev = dev;
drivers/usb/gadget/udc/pch_udc.c
2787
ep->halted = 1;
drivers/usb/gadget/udc/pch_udc.c
2788
ep->num = i / 2;
drivers/usb/gadget/udc/pch_udc.c
2789
ep->in = ~i & 1;
drivers/usb/gadget/udc/pch_udc.c
2790
ep->ep.name = ep_string[i];
drivers/usb/gadget/udc/pch_udc.c
2791
ep->ep.ops = &pch_udc_ep_ops;
drivers/usb/gadget/udc/pch_udc.c
2792
if (ep->in) {
drivers/usb/gadget/udc/pch_udc.c
2793
ep->offset_addr = ep->num * UDC_EP_REG_SHIFT;
drivers/usb/gadget/udc/pch_udc.c
2794
ep->ep.caps.dir_in = true;
drivers/usb/gadget/udc/pch_udc.c
2796
ep->offset_addr = (UDC_EPINT_OUT_SHIFT + ep->num) *
drivers/usb/gadget/udc/pch_udc.c
2798
ep->ep.caps.dir_out = true;
drivers/usb/gadget/udc/pch_udc.c
2801
ep->ep.caps.type_control = true;
drivers/usb/gadget/udc/pch_udc.c
2803
ep->ep.caps.type_iso = true;
drivers/usb/gadget/udc/pch_udc.c
2804
ep->ep.caps.type_bulk = true;
drivers/usb/gadget/udc/pch_udc.c
2805
ep->ep.caps.type_int = true;
drivers/usb/gadget/udc/pch_udc.c
2808
usb_ep_set_maxpacket_limit(&ep->ep, UDC_BULK_MAX_PKT_SIZE);
drivers/usb/gadget/udc/pch_udc.c
2809
list_add_tail(&ep->ep.ep_list, &dev->gadget.ep_list);
drivers/usb/gadget/udc/pch_udc.c
2810
INIT_LIST_HEAD(&ep->queue);
drivers/usb/gadget/udc/pch_udc.c
2812
usb_ep_set_maxpacket_limit(&dev->ep[UDC_EP0IN_IDX].ep, UDC_EP0IN_MAX_PKT_SIZE);
drivers/usb/gadget/udc/pch_udc.c
2813
usb_ep_set_maxpacket_limit(&dev->ep[UDC_EP0OUT_IDX].ep, UDC_EP0OUT_MAX_PKT_SIZE);
drivers/usb/gadget/udc/pch_udc.c
2816
list_del_init(&dev->ep[UDC_EP0IN_IDX].ep.ep_list);
drivers/usb/gadget/udc/pch_udc.c
2817
list_del_init(&dev->ep[UDC_EP0OUT_IDX].ep.ep_list);
drivers/usb/gadget/udc/pch_udc.c
2819
dev->gadget.ep0 = &dev->ep[UDC_EP0IN_IDX].ep;
drivers/usb/gadget/udc/pch_udc.c
284
struct usb_ep ep;
drivers/usb/gadget/udc/pch_udc.c
2873
&dev->ep[UDC_EP0OUT_IDX].td_stp_phys);
drivers/usb/gadget/udc/pch_udc.c
2879
dev->ep[UDC_EP0OUT_IDX].td_stp = td_stp;
drivers/usb/gadget/udc/pch_udc.c
2883
&dev->ep[UDC_EP0OUT_IDX].td_data_phys);
drivers/usb/gadget/udc/pch_udc.c
2889
dev->ep[UDC_EP0OUT_IDX].td_data = td_data;
drivers/usb/gadget/udc/pch_udc.c
2890
dev->ep[UDC_EP0IN_IDX].td_stp = NULL;
drivers/usb/gadget/udc/pch_udc.c
2891
dev->ep[UDC_EP0IN_IDX].td_stp_phys = 0;
drivers/usb/gadget/udc/pch_udc.c
2892
dev->ep[UDC_EP0IN_IDX].td_data = NULL;
drivers/usb/gadget/udc/pch_udc.c
2893
dev->ep[UDC_EP0IN_IDX].td_data_phys = 0;
drivers/usb/gadget/udc/pch_udc.c
2997
if (dev->ep[UDC_EP0OUT_IDX].td_stp) {
drivers/usb/gadget/udc/pch_udc.c
2999
dev->ep[UDC_EP0OUT_IDX].td_stp,
drivers/usb/gadget/udc/pch_udc.c
3000
dev->ep[UDC_EP0OUT_IDX].td_stp_phys);
drivers/usb/gadget/udc/pch_udc.c
3002
if (dev->ep[UDC_EP0OUT_IDX].td_data) {
drivers/usb/gadget/udc/pch_udc.c
3004
dev->ep[UDC_EP0OUT_IDX].td_data,
drivers/usb/gadget/udc/pch_udc.c
3005
dev->ep[UDC_EP0OUT_IDX].td_data_phys);
drivers/usb/gadget/udc/pch_udc.c
342
struct pch_udc_ep ep[PCH_UDC_EP_NUM];
drivers/usb/gadget/udc/pch_udc.c
425
static inline u32 pch_udc_ep_readl(struct pch_udc_ep *ep, unsigned long reg)
drivers/usb/gadget/udc/pch_udc.c
427
return ioread32(ep->dev->base_addr + ep->offset_addr + reg);
drivers/usb/gadget/udc/pch_udc.c
430
static inline void pch_udc_ep_writel(struct pch_udc_ep *ep,
drivers/usb/gadget/udc/pch_udc.c
433
iowrite32(val, ep->dev->base_addr + ep->offset_addr + reg);
drivers/usb/gadget/udc/pch_udc.c
436
static inline void pch_udc_ep_bit_set(struct pch_udc_ep *ep,
drivers/usb/gadget/udc/pch_udc.c
440
pch_udc_ep_writel(ep, pch_udc_ep_readl(ep, reg) | bitmask, reg);
drivers/usb/gadget/udc/pch_udc.c
443
static inline void pch_udc_ep_bit_clr(struct pch_udc_ep *ep,
drivers/usb/gadget/udc/pch_udc.c
447
pch_udc_ep_writel(ep, pch_udc_ep_readl(ep, reg) & ~(bitmask), reg);
drivers/usb/gadget/udc/pch_udc.c
473
unsigned int ep)
drivers/usb/gadget/udc/pch_udc.c
475
unsigned long reg = PCH_UDC_CSR(ep);
drivers/usb/gadget/udc/pch_udc.c
489
static u32 pch_udc_read_csr(struct pch_udc_dev *dev, unsigned int ep)
drivers/usb/gadget/udc/pch_udc.c
491
unsigned long reg = PCH_UDC_CSR(ep);
drivers/usb/gadget/udc/pch_udc.c
618
static void pch_udc_ep_set_stall(struct pch_udc_ep *ep)
drivers/usb/gadget/udc/pch_udc.c
620
if (ep->in) {
drivers/usb/gadget/udc/pch_udc.c
621
pch_udc_ep_bit_set(ep, UDC_EPCTL_ADDR, UDC_EPCTL_F);
drivers/usb/gadget/udc/pch_udc.c
622
pch_udc_ep_bit_set(ep, UDC_EPCTL_ADDR, UDC_EPCTL_S);
drivers/usb/gadget/udc/pch_udc.c
624
pch_udc_ep_bit_set(ep, UDC_EPCTL_ADDR, UDC_EPCTL_S);
drivers/usb/gadget/udc/pch_udc.c
632
static inline void pch_udc_ep_clear_stall(struct pch_udc_ep *ep)
drivers/usb/gadget/udc/pch_udc.c
635
pch_udc_ep_bit_clr(ep, UDC_EPCTL_ADDR, UDC_EPCTL_S);
drivers/usb/gadget/udc/pch_udc.c
637
pch_udc_ep_bit_set(ep, UDC_EPCTL_ADDR, UDC_EPCTL_CNAK);
drivers/usb/gadget/udc/pch_udc.c
645
static inline void pch_udc_ep_set_trfr_type(struct pch_udc_ep *ep,
drivers/usb/gadget/udc/pch_udc.c
648
pch_udc_ep_writel(ep, ((type << UDC_EPCTL_ET_SHIFT) &
drivers/usb/gadget/udc/pch_udc.c
658
static void pch_udc_ep_set_bufsz(struct pch_udc_ep *ep,
drivers/usb/gadget/udc/pch_udc.c
663
data = pch_udc_ep_readl(ep, UDC_BUFIN_FRAMENUM_ADDR);
drivers/usb/gadget/udc/pch_udc.c
665
pch_udc_ep_writel(ep, data, UDC_BUFIN_FRAMENUM_ADDR);
drivers/usb/gadget/udc/pch_udc.c
667
data = pch_udc_ep_readl(ep, UDC_BUFOUT_MAXPKT_ADDR);
drivers/usb/gadget/udc/pch_udc.c
669
pch_udc_ep_writel(ep, data, UDC_BUFOUT_MAXPKT_ADDR);
drivers/usb/gadget/udc/pch_udc.c
678
static void pch_udc_ep_set_maxpkt(struct pch_udc_ep *ep, u32 pkt_size)
drivers/usb/gadget/udc/pch_udc.c
680
u32 data = pch_udc_ep_readl(ep, UDC_BUFOUT_MAXPKT_ADDR);
drivers/usb/gadget/udc/pch_udc.c
682
pch_udc_ep_writel(ep, data, UDC_BUFOUT_MAXPKT_ADDR);
drivers/usb/gadget/udc/pch_udc.c
690
static inline void pch_udc_ep_set_subptr(struct pch_udc_ep *ep, u32 addr)
drivers/usb/gadget/udc/pch_udc.c
692
pch_udc_ep_writel(ep, addr, UDC_SUBPTR_ADDR);
drivers/usb/gadget/udc/pch_udc.c
700
static inline void pch_udc_ep_set_ddptr(struct pch_udc_ep *ep, u32 addr)
drivers/usb/gadget/udc/pch_udc.c
702
pch_udc_ep_writel(ep, addr, UDC_DESPTR_ADDR);
drivers/usb/gadget/udc/pch_udc.c
709
static inline void pch_udc_ep_set_pd(struct pch_udc_ep *ep)
drivers/usb/gadget/udc/pch_udc.c
711
pch_udc_ep_bit_set(ep, UDC_EPCTL_ADDR, UDC_EPCTL_P);
drivers/usb/gadget/udc/pch_udc.c
718
static inline void pch_udc_ep_set_rrdy(struct pch_udc_ep *ep)
drivers/usb/gadget/udc/pch_udc.c
720
pch_udc_ep_bit_set(ep, UDC_EPCTL_ADDR, UDC_EPCTL_RRDY);
drivers/usb/gadget/udc/pch_udc.c
727
static inline void pch_udc_ep_clear_rrdy(struct pch_udc_ep *ep)
drivers/usb/gadget/udc/pch_udc.c
729
pch_udc_ep_bit_clr(ep, UDC_EPCTL_ADDR, UDC_EPCTL_RRDY);
drivers/usb/gadget/udc/pch_udc.c
875
static inline u32 pch_udc_read_ep_control(struct pch_udc_ep *ep)
drivers/usb/gadget/udc/pch_udc.c
877
return pch_udc_ep_readl(ep, UDC_EPCTL_ADDR);
drivers/usb/gadget/udc/pch_udc.c
885
static inline void pch_udc_clear_ep_control(struct pch_udc_ep *ep)
drivers/usb/gadget/udc/pch_udc.c
887
return pch_udc_ep_writel(ep, 0, UDC_EPCTL_ADDR);
drivers/usb/gadget/udc/pch_udc.c
895
static inline u32 pch_udc_read_ep_status(struct pch_udc_ep *ep)
drivers/usb/gadget/udc/pch_udc.c
897
return pch_udc_ep_readl(ep, UDC_EPSTS_ADDR);
drivers/usb/gadget/udc/pch_udc.c
905
static inline void pch_udc_clear_ep_status(struct pch_udc_ep *ep,
drivers/usb/gadget/udc/pch_udc.c
908
return pch_udc_ep_writel(ep, stat, UDC_EPSTS_ADDR);
drivers/usb/gadget/udc/pch_udc.c
916
static inline void pch_udc_ep_set_nak(struct pch_udc_ep *ep)
drivers/usb/gadget/udc/pch_udc.c
918
pch_udc_ep_bit_set(ep, UDC_EPCTL_ADDR, UDC_EPCTL_SNAK);
drivers/usb/gadget/udc/pch_udc.c
926
static void pch_udc_ep_clear_nak(struct pch_udc_ep *ep)
drivers/usb/gadget/udc/pch_udc.c
929
struct pch_udc_dev *dev = ep->dev;
drivers/usb/gadget/udc/pch_udc.c
931
if (!(pch_udc_ep_readl(ep, UDC_EPCTL_ADDR) & UDC_EPCTL_NAK))
drivers/usb/gadget/udc/pch_udc.c
933
if (!ep->in) {
drivers/usb/gadget/udc/pch_udc.c
935
while (!(pch_udc_read_ep_status(ep) & UDC_EPSTS_MRXFIFO_EMP) &&
drivers/usb/gadget/udc/pch_udc.c
943
while ((pch_udc_read_ep_control(ep) & UDC_EPCTL_NAK) && --loopcnt) {
drivers/usb/gadget/udc/pch_udc.c
944
pch_udc_ep_bit_set(ep, UDC_EPCTL_ADDR, UDC_EPCTL_CNAK);
drivers/usb/gadget/udc/pch_udc.c
949
__func__, ep->num, (ep->in ? "in" : "out"));
drivers/usb/gadget/udc/pch_udc.c
959
static void pch_udc_ep_fifo_flush(struct pch_udc_ep *ep, int dir)
drivers/usb/gadget/udc/pch_udc.c
962
pch_udc_ep_bit_set(ep, UDC_EPCTL_ADDR, UDC_EPCTL_F);
drivers/usb/gadget/udc/pch_udc.c
973
static void pch_udc_ep_enable(struct pch_udc_ep *ep,
drivers/usb/gadget/udc/pch_udc.c
980
pch_udc_ep_set_trfr_type(ep, desc->bmAttributes);
drivers/usb/gadget/udc/pch_udc.c
981
if (ep->in)
drivers/usb/gadget/udc/pch_udc.c
985
pch_udc_ep_set_bufsz(ep, buff_size, ep->in);
drivers/usb/gadget/udc/pch_udc.c
986
pch_udc_ep_set_maxpkt(ep, usb_endpoint_maxp(desc));
drivers/usb/gadget/udc/pch_udc.c
987
pch_udc_ep_set_nak(ep);
drivers/usb/gadget/udc/pch_udc.c
988
pch_udc_ep_fifo_flush(ep, ep->in);
drivers/usb/gadget/udc/pch_udc.c
990
val = ep->num << UDC_CSR_NE_NUM_SHIFT | ep->in << UDC_CSR_NE_DIR_SHIFT |
drivers/usb/gadget/udc/pch_udc.c
998
if (ep->in)
drivers/usb/gadget/udc/pch_udc.c
999
pch_udc_write_csr(ep->dev, val, UDC_EPIN_IDX(ep->num));
drivers/usb/gadget/udc/pxa25x_udc.c
1000
ep = container_of(_ep, struct pxa25x_ep, ep);
drivers/usb/gadget/udc/pxa25x_udc.c
1002
|| (!ep->ep.desc && ep->ep.name != ep0name))
drivers/usb/gadget/udc/pxa25x_udc.c
1003
|| ep->bmAttributes == USB_ENDPOINT_XFER_ISOC) {
drivers/usb/gadget/udc/pxa25x_udc.c
1019
if ((ep->bEndpointAddress & USB_DIR_IN) != 0
drivers/usb/gadget/udc/pxa25x_udc.c
1020
&& ((udc_ep_get_UDCCS(ep) & UDCCS_BI_TFS) == 0
drivers/usb/gadget/udc/pxa25x_udc.c
1021
|| !list_empty(&ep->queue))) {
drivers/usb/gadget/udc/pxa25x_udc.c
1027
udc_ep_set_UDCCS(ep, UDCCS_BI_FST|UDCCS_BI_FTF);
drivers/usb/gadget/udc/pxa25x_udc.c
1030
if (!ep->ep.desc) {
drivers/usb/gadget/udc/pxa25x_udc.c
1031
start_watchdog(ep->dev);
drivers/usb/gadget/udc/pxa25x_udc.c
1032
ep->dev->req_pending = 0;
drivers/usb/gadget/udc/pxa25x_udc.c
1033
ep->dev->ep0state = EP0_STALL;
drivers/usb/gadget/udc/pxa25x_udc.c
1039
if (udc_ep_get_UDCCS(ep) & UDCCS_BI_SST)
drivers/usb/gadget/udc/pxa25x_udc.c
1052
struct pxa25x_ep *ep;
drivers/usb/gadget/udc/pxa25x_udc.c
1054
ep = container_of(_ep, struct pxa25x_ep, ep);
drivers/usb/gadget/udc/pxa25x_udc.c
1060
if ((ep->bEndpointAddress & USB_DIR_IN) != 0)
drivers/usb/gadget/udc/pxa25x_udc.c
1062
if (ep->dev->gadget.speed == USB_SPEED_UNKNOWN
drivers/usb/gadget/udc/pxa25x_udc.c
1063
|| (udc_ep_get_UDCCS(ep) & UDCCS_BO_RFS) == 0)
drivers/usb/gadget/udc/pxa25x_udc.c
1066
return (udc_ep_get_UBCR(ep) & 0xfff) + 1;
drivers/usb/gadget/udc/pxa25x_udc.c
1071
struct pxa25x_ep *ep;
drivers/usb/gadget/udc/pxa25x_udc.c
1073
ep = container_of(_ep, struct pxa25x_ep, ep);
drivers/usb/gadget/udc/pxa25x_udc.c
1074
if (!_ep || ep->ep.name == ep0name || !list_empty(&ep->queue)) {
drivers/usb/gadget/udc/pxa25x_udc.c
1082
if ((ep->bEndpointAddress & USB_DIR_IN) == 0) {
drivers/usb/gadget/udc/pxa25x_udc.c
1083
while (((udc_ep_get_UDCCS(ep)) & UDCCS_BO_RNE) != 0)
drivers/usb/gadget/udc/pxa25x_udc.c
1084
(void)udc_ep_get_UDDR(ep);
drivers/usb/gadget/udc/pxa25x_udc.c
1089
udc_ep_set_UDCCS(ep, UDCCS_BI_TPC|UDCCS_BI_FTF|UDCCS_BI_TUR
drivers/usb/gadget/udc/pxa25x_udc.c
1090
| (ep->bmAttributes == USB_ENDPOINT_XFER_ISOC
drivers/usb/gadget/udc/pxa25x_udc.c
1300
struct pxa25x_ep *ep = &dev->ep [i];
drivers/usb/gadget/udc/pxa25x_udc.c
1306
desc = ep->ep.desc;
drivers/usb/gadget/udc/pxa25x_udc.c
1309
tmp = udc_ep_get_UDCCS(&dev->ep[i]);
drivers/usb/gadget/udc/pxa25x_udc.c
1312
ep->ep.name, usb_endpoint_maxp(desc),
drivers/usb/gadget/udc/pxa25x_udc.c
1313
"pio", tmp, ep->pio_irqs);
drivers/usb/gadget/udc/pxa25x_udc.c
1318
ep->pio_irqs);
drivers/usb/gadget/udc/pxa25x_udc.c
1320
if (list_empty(&ep->queue)) {
drivers/usb/gadget/udc/pxa25x_udc.c
1324
list_for_each_entry(req, &ep->queue, queue) {
drivers/usb/gadget/udc/pxa25x_udc.c
1390
struct pxa25x_ep *ep = &dev->ep[i];
drivers/usb/gadget/udc/pxa25x_udc.c
1393
list_add_tail (&ep->ep.ep_list, &dev->gadget.ep_list);
drivers/usb/gadget/udc/pxa25x_udc.c
1395
ep->ep.desc = NULL;
drivers/usb/gadget/udc/pxa25x_udc.c
1396
ep->stopped = 0;
drivers/usb/gadget/udc/pxa25x_udc.c
1397
INIT_LIST_HEAD (&ep->queue);
drivers/usb/gadget/udc/pxa25x_udc.c
1398
ep->pio_irqs = 0;
drivers/usb/gadget/udc/pxa25x_udc.c
1399
usb_ep_set_maxpacket_limit(&ep->ep, ep->ep.maxpacket);
drivers/usb/gadget/udc/pxa25x_udc.c
1501
struct pxa25x_ep *ep = &dev->ep[i];
drivers/usb/gadget/udc/pxa25x_udc.c
1503
ep->stopped = 1;
drivers/usb/gadget/udc/pxa25x_udc.c
1504
nuke(ep, -ESHUTDOWN);
drivers/usb/gadget/udc/pxa25x_udc.c
1528
struct pxa25x_ep *ep = &dev->ep[i];
drivers/usb/gadget/udc/pxa25x_udc.c
1530
ep->stopped = 1;
drivers/usb/gadget/udc/pxa25x_udc.c
1531
nuke(ep, -ESHUTDOWN);
drivers/usb/gadget/udc/pxa25x_udc.c
1572
nuke(&dev->ep[i], -ECONNABORTED);
drivers/usb/gadget/udc/pxa25x_udc.c
1593
struct pxa25x_ep *ep = &dev->ep [0];
drivers/usb/gadget/udc/pxa25x_udc.c
1601
if (list_empty(&ep->queue))
drivers/usb/gadget/udc/pxa25x_udc.c
1604
req = list_entry(ep->queue.next, struct pxa25x_request, queue);
drivers/usb/gadget/udc/pxa25x_udc.c
1608
nuke(ep, -EPIPE);
drivers/usb/gadget/udc/pxa25x_udc.c
1616
nuke(ep, 0);
drivers/usb/gadget/udc/pxa25x_udc.c
1631
nuke (ep, -EPROTO);
drivers/usb/gadget/udc/pxa25x_udc.c
1748
nuke(ep, -EPROTO);
drivers/usb/gadget/udc/pxa25x_udc.c
1773
done(ep, req, 0);
drivers/usb/gadget/udc/pxa25x_udc.c
1778
(void) write_ep0_fifo(ep, req);
drivers/usb/gadget/udc/pxa25x_udc.c
1786
if (read_ep0_fifo(ep, req))
drivers/usb/gadget/udc/pxa25x_udc.c
1787
done(ep, req, 0);
drivers/usb/gadget/udc/pxa25x_udc.c
1793
done(ep, req, 0);
drivers/usb/gadget/udc/pxa25x_udc.c
1799
done(ep, req, 0);
drivers/usb/gadget/udc/pxa25x_udc.c
1814
static void handle_ep(struct pxa25x_ep *ep)
drivers/usb/gadget/udc/pxa25x_udc.c
1817
int is_in = ep->bEndpointAddress & USB_DIR_IN;
drivers/usb/gadget/udc/pxa25x_udc.c
1823
if (likely (!list_empty(&ep->queue)))
drivers/usb/gadget/udc/pxa25x_udc.c
1824
req = list_entry(ep->queue.next,
drivers/usb/gadget/udc/pxa25x_udc.c
1831
udccs = udc_ep_get_UDCCS(ep);
drivers/usb/gadget/udc/pxa25x_udc.c
1834
if (likely(ep->bmAttributes == USB_ENDPOINT_XFER_BULK))
drivers/usb/gadget/udc/pxa25x_udc.c
1838
udc_ep_set_UDCCS(ep, tmp);
drivers/usb/gadget/udc/pxa25x_udc.c
1840
completed = write_fifo(ep, req);
drivers/usb/gadget/udc/pxa25x_udc.c
1843
if (likely(ep->bmAttributes == USB_ENDPOINT_XFER_BULK))
drivers/usb/gadget/udc/pxa25x_udc.c
1849
udc_ep_set_UDCCS(ep, tmp);
drivers/usb/gadget/udc/pxa25x_udc.c
1853
completed = read_fifo(ep, req);
drivers/usb/gadget/udc/pxa25x_udc.c
1855
pio_irq_disable(ep);
drivers/usb/gadget/udc/pxa25x_udc.c
1857
ep->pio_irqs++;
drivers/usb/gadget/udc/pxa25x_udc.c
1939
dev->ep[0].pio_irqs++;
drivers/usb/gadget/udc/pxa25x_udc.c
1949
handle_ep(&dev->ep[i]);
drivers/usb/gadget/udc/pxa25x_udc.c
1956
handle_ep(&dev->ep[i+8]);
drivers/usb/gadget/udc/pxa25x_udc.c
1985
.ep0 = &memory.ep[0].ep,
drivers/usb/gadget/udc/pxa25x_udc.c
1994
.ep[0] = {
drivers/usb/gadget/udc/pxa25x_udc.c
1995
.ep = {
drivers/usb/gadget/udc/pxa25x_udc.c
2008
.ep[1] = {
drivers/usb/gadget/udc/pxa25x_udc.c
2009
.ep = {
drivers/usb/gadget/udc/pxa25x_udc.c
2023
.ep[2] = {
drivers/usb/gadget/udc/pxa25x_udc.c
2024
.ep = {
drivers/usb/gadget/udc/pxa25x_udc.c
2040
.ep[3] = {
drivers/usb/gadget/udc/pxa25x_udc.c
2041
.ep = {
drivers/usb/gadget/udc/pxa25x_udc.c
2055
.ep[4] = {
drivers/usb/gadget/udc/pxa25x_udc.c
2056
.ep = {
drivers/usb/gadget/udc/pxa25x_udc.c
2071
.ep[5] = {
drivers/usb/gadget/udc/pxa25x_udc.c
2072
.ep = {
drivers/usb/gadget/udc/pxa25x_udc.c
2087
.ep[6] = {
drivers/usb/gadget/udc/pxa25x_udc.c
2088
.ep = {
drivers/usb/gadget/udc/pxa25x_udc.c
2102
.ep[7] = {
drivers/usb/gadget/udc/pxa25x_udc.c
2103
.ep = {
drivers/usb/gadget/udc/pxa25x_udc.c
2118
.ep[8] = {
drivers/usb/gadget/udc/pxa25x_udc.c
2119
.ep = {
drivers/usb/gadget/udc/pxa25x_udc.c
2133
.ep[9] = {
drivers/usb/gadget/udc/pxa25x_udc.c
2134
.ep = {
drivers/usb/gadget/udc/pxa25x_udc.c
2149
.ep[10] = {
drivers/usb/gadget/udc/pxa25x_udc.c
2150
.ep = {
drivers/usb/gadget/udc/pxa25x_udc.c
2165
.ep[11] = {
drivers/usb/gadget/udc/pxa25x_udc.c
2166
.ep = {
drivers/usb/gadget/udc/pxa25x_udc.c
2180
.ep[12] = {
drivers/usb/gadget/udc/pxa25x_udc.c
2181
.ep = {
drivers/usb/gadget/udc/pxa25x_udc.c
2196
.ep[13] = {
drivers/usb/gadget/udc/pxa25x_udc.c
2197
.ep = {
drivers/usb/gadget/udc/pxa25x_udc.c
2211
.ep[14] = {
drivers/usb/gadget/udc/pxa25x_udc.c
2212
.ep = {
drivers/usb/gadget/udc/pxa25x_udc.c
2227
.ep[15] = {
drivers/usb/gadget/udc/pxa25x_udc.c
2228
.ep = {
drivers/usb/gadget/udc/pxa25x_udc.c
258
static void pxa25x_ep_fifo_flush (struct usb_ep *ep);
drivers/usb/gadget/udc/pxa25x_udc.c
314
static void pio_irq_enable(struct pxa25x_ep *ep)
drivers/usb/gadget/udc/pxa25x_udc.c
316
u32 bEndpointAddress = ep->bEndpointAddress & 0xf;
drivers/usb/gadget/udc/pxa25x_udc.c
319
udc_set_reg(ep->dev, UICR0, udc_get_reg(ep->dev, UICR0) &
drivers/usb/gadget/udc/pxa25x_udc.c
323
udc_set_reg(ep->dev, UICR1, udc_get_reg(ep->dev, UICR1) &
drivers/usb/gadget/udc/pxa25x_udc.c
328
static void pio_irq_disable(struct pxa25x_ep *ep)
drivers/usb/gadget/udc/pxa25x_udc.c
330
u32 bEndpointAddress = ep->bEndpointAddress & 0xf;
drivers/usb/gadget/udc/pxa25x_udc.c
333
udc_set_reg(ep->dev, UICR0, udc_get_reg(ep->dev, UICR0) |
drivers/usb/gadget/udc/pxa25x_udc.c
337
udc_set_reg(ep->dev, UICR1, udc_get_reg(ep->dev, UICR1) |
drivers/usb/gadget/udc/pxa25x_udc.c
369
static inline u32 udc_ep_get_UDCCS(struct pxa25x_ep *ep)
drivers/usb/gadget/udc/pxa25x_udc.c
371
return udc_get_reg(ep->dev, ep->regoff_udccs);
drivers/usb/gadget/udc/pxa25x_udc.c
374
static inline void udc_ep_set_UDCCS(struct pxa25x_ep *ep, u32 data)
drivers/usb/gadget/udc/pxa25x_udc.c
376
udc_set_reg(ep->dev, data, ep->regoff_udccs);
drivers/usb/gadget/udc/pxa25x_udc.c
389
static inline u32 udc_ep_get_UDDR(struct pxa25x_ep *ep)
drivers/usb/gadget/udc/pxa25x_udc.c
391
return udc_get_reg(ep->dev, ep->regoff_uddr);
drivers/usb/gadget/udc/pxa25x_udc.c
394
static inline void udc_ep_set_UDDR(struct pxa25x_ep *ep, u32 data)
drivers/usb/gadget/udc/pxa25x_udc.c
396
udc_set_reg(ep->dev, data, ep->regoff_uddr);
drivers/usb/gadget/udc/pxa25x_udc.c
399
static inline u32 udc_ep_get_UBCR(struct pxa25x_ep *ep)
drivers/usb/gadget/udc/pxa25x_udc.c
401
return udc_get_reg(ep->dev, ep->regoff_ubcr);
drivers/usb/gadget/udc/pxa25x_udc.c
421
struct pxa25x_ep *ep;
drivers/usb/gadget/udc/pxa25x_udc.c
424
ep = container_of (_ep, struct pxa25x_ep, ep);
drivers/usb/gadget/udc/pxa25x_udc.c
427
|| ep->bEndpointAddress != desc->bEndpointAddress
drivers/usb/gadget/udc/pxa25x_udc.c
428
|| ep->fifo_size < usb_endpoint_maxp (desc)) {
drivers/usb/gadget/udc/pxa25x_udc.c
434
if (ep->bmAttributes != desc->bmAttributes
drivers/usb/gadget/udc/pxa25x_udc.c
435
&& ep->bmAttributes != USB_ENDPOINT_XFER_BULK
drivers/usb/gadget/udc/pxa25x_udc.c
450
dev = ep->dev;
drivers/usb/gadget/udc/pxa25x_udc.c
456
ep->ep.desc = desc;
drivers/usb/gadget/udc/pxa25x_udc.c
457
ep->stopped = 0;
drivers/usb/gadget/udc/pxa25x_udc.c
458
ep->pio_irqs = 0;
drivers/usb/gadget/udc/pxa25x_udc.c
459
ep->ep.maxpacket = usb_endpoint_maxp (desc);
drivers/usb/gadget/udc/pxa25x_udc.c
472
struct pxa25x_ep *ep;
drivers/usb/gadget/udc/pxa25x_udc.c
475
ep = container_of (_ep, struct pxa25x_ep, ep);
drivers/usb/gadget/udc/pxa25x_udc.c
476
if (!_ep || !ep->ep.desc) {
drivers/usb/gadget/udc/pxa25x_udc.c
478
_ep ? ep->ep.name : NULL);
drivers/usb/gadget/udc/pxa25x_udc.c
483
nuke (ep, -ESHUTDOWN);
drivers/usb/gadget/udc/pxa25x_udc.c
488
ep->ep.desc = NULL;
drivers/usb/gadget/udc/pxa25x_udc.c
489
ep->stopped = 1;
drivers/usb/gadget/udc/pxa25x_udc.c
538
static void done(struct pxa25x_ep *ep, struct pxa25x_request *req, int status)
drivers/usb/gadget/udc/pxa25x_udc.c
540
unsigned stopped = ep->stopped;
drivers/usb/gadget/udc/pxa25x_udc.c
551
ep->ep.name, &req->req, status,
drivers/usb/gadget/udc/pxa25x_udc.c
555
ep->stopped = 1;
drivers/usb/gadget/udc/pxa25x_udc.c
556
usb_gadget_giveback_request(&ep->ep, &req->req);
drivers/usb/gadget/udc/pxa25x_udc.c
557
ep->stopped = stopped;
drivers/usb/gadget/udc/pxa25x_udc.c
567
write_packet(struct pxa25x_ep *ep, struct pxa25x_request *req, unsigned max)
drivers/usb/gadget/udc/pxa25x_udc.c
581
udc_ep_set_UDDR(ep, *buf++);
drivers/usb/gadget/udc/pxa25x_udc.c
592
write_fifo (struct pxa25x_ep *ep, struct pxa25x_request *req)
drivers/usb/gadget/udc/pxa25x_udc.c
596
max = usb_endpoint_maxp(ep->ep.desc);
drivers/usb/gadget/udc/pxa25x_udc.c
601
count = write_packet(ep, req, max);
drivers/usb/gadget/udc/pxa25x_udc.c
613
is_short = unlikely (max < ep->fifo_size);
drivers/usb/gadget/udc/pxa25x_udc.c
617
ep->ep.name, count,
drivers/usb/gadget/udc/pxa25x_udc.c
625
udc_ep_set_UDCCS(ep, UDCCS_BI_TPC);
drivers/usb/gadget/udc/pxa25x_udc.c
627
udc_ep_set_UDCCS(ep, UDCCS_BI_TSP);
drivers/usb/gadget/udc/pxa25x_udc.c
631
done (ep, req, 0);
drivers/usb/gadget/udc/pxa25x_udc.c
632
if (list_empty(&ep->queue))
drivers/usb/gadget/udc/pxa25x_udc.c
633
pio_irq_disable(ep);
drivers/usb/gadget/udc/pxa25x_udc.c
641
} while (udc_ep_get_UDCCS(ep) & UDCCS_BI_TFS);
drivers/usb/gadget/udc/pxa25x_udc.c
659
write_ep0_fifo (struct pxa25x_ep *ep, struct pxa25x_request *req)
drivers/usb/gadget/udc/pxa25x_udc.c
661
struct pxa25x_udc *dev = ep->dev;
drivers/usb/gadget/udc/pxa25x_udc.c
665
count = write_packet(&dev->ep[0], req, EP0_FIFO_SIZE);
drivers/usb/gadget/udc/pxa25x_udc.c
666
ep->dev->stats.write.bytes += count;
drivers/usb/gadget/udc/pxa25x_udc.c
675
if (ep->dev->req_pending)
drivers/usb/gadget/udc/pxa25x_udc.c
676
ep0start(ep->dev, UDCCS0_IPR, "short IN");
drivers/usb/gadget/udc/pxa25x_udc.c
681
done (ep, req, 0);
drivers/usb/gadget/udc/pxa25x_udc.c
682
ep0_idle(ep->dev);
drivers/usb/gadget/udc/pxa25x_udc.c
705
} else if (ep->dev->req_pending)
drivers/usb/gadget/udc/pxa25x_udc.c
706
ep0start(ep->dev, 0, "IN");
drivers/usb/gadget/udc/pxa25x_udc.c
720
read_fifo (struct pxa25x_ep *ep, struct pxa25x_request *req)
drivers/usb/gadget/udc/pxa25x_udc.c
731
udccs = udc_ep_get_UDCCS(ep);
drivers/usb/gadget/udc/pxa25x_udc.c
740
count = 1 + (0x0ff & udc_ep_get_UBCR(ep));
drivers/usb/gadget/udc/pxa25x_udc.c
744
is_short = (count < ep->ep.maxpacket);
drivers/usb/gadget/udc/pxa25x_udc.c
746
ep->ep.name, udccs, count,
drivers/usb/gadget/udc/pxa25x_udc.c
750
u8 byte = (u8) udc_ep_get_UDDR(ep);
drivers/usb/gadget/udc/pxa25x_udc.c
759
ep->ep.name, count);
drivers/usb/gadget/udc/pxa25x_udc.c
766
udc_ep_set_UDCCS(ep, UDCCS_BO_RPC);
drivers/usb/gadget/udc/pxa25x_udc.c
770
if (ep->bmAttributes == USB_ENDPOINT_XFER_ISOC) {
drivers/usb/gadget/udc/pxa25x_udc.c
779
done (ep, req, 0);
drivers/usb/gadget/udc/pxa25x_udc.c
780
if (list_empty(&ep->queue))
drivers/usb/gadget/udc/pxa25x_udc.c
781
pio_irq_disable(ep);
drivers/usb/gadget/udc/pxa25x_udc.c
797
read_ep0_fifo (struct pxa25x_ep *ep, struct pxa25x_request *req)
drivers/usb/gadget/udc/pxa25x_udc.c
805
while (udc_ep_get_UDCCS(ep) & UDCCS0_RNE) {
drivers/usb/gadget/udc/pxa25x_udc.c
814
DMSG("%s overflow\n", ep->ep.name);
drivers/usb/gadget/udc/pxa25x_udc.c
823
udc_ep_set_UDCCS(ep, UDCCS0_OPR | UDCCS0_IPR);
drivers/usb/gadget/udc/pxa25x_udc.c
839
struct pxa25x_ep *ep;
drivers/usb/gadget/udc/pxa25x_udc.c
850
ep = container_of(_ep, struct pxa25x_ep, ep);
drivers/usb/gadget/udc/pxa25x_udc.c
851
if (unlikely(!_ep || (!ep->ep.desc && ep->ep.name != ep0name))) {
drivers/usb/gadget/udc/pxa25x_udc.c
856
dev = ep->dev;
drivers/usb/gadget/udc/pxa25x_udc.c
866
if (unlikely (ep->bmAttributes == USB_ENDPOINT_XFER_ISOC
drivers/usb/gadget/udc/pxa25x_udc.c
867
&& req->req.length > usb_endpoint_maxp(ep->ep.desc)))
drivers/usb/gadget/udc/pxa25x_udc.c
879
if (list_empty(&ep->queue) && !ep->stopped) {
drivers/usb/gadget/udc/pxa25x_udc.c
880
if (ep->ep.desc == NULL/* ep0 */) {
drivers/usb/gadget/udc/pxa25x_udc.c
886
if (write_ep0_fifo(ep, req))
drivers/usb/gadget/udc/pxa25x_udc.c
899
done(ep, req, 0);
drivers/usb/gadget/udc/pxa25x_udc.c
907
&& read_ep0_fifo(ep, req))) {
drivers/usb/gadget/udc/pxa25x_udc.c
909
done(ep, req, 0);
drivers/usb/gadget/udc/pxa25x_udc.c
920
} else if ((ep->bEndpointAddress & USB_DIR_IN) != 0) {
drivers/usb/gadget/udc/pxa25x_udc.c
921
if ((udc_ep_get_UDCCS(ep) & UDCCS_BI_TFS) != 0
drivers/usb/gadget/udc/pxa25x_udc.c
922
&& write_fifo(ep, req))
drivers/usb/gadget/udc/pxa25x_udc.c
924
} else if ((udc_ep_get_UDCCS(ep) & UDCCS_BO_RFS) != 0
drivers/usb/gadget/udc/pxa25x_udc.c
925
&& read_fifo(ep, req)) {
drivers/usb/gadget/udc/pxa25x_udc.c
929
if (likely(req && ep->ep.desc))
drivers/usb/gadget/udc/pxa25x_udc.c
930
pio_irq_enable(ep);
drivers/usb/gadget/udc/pxa25x_udc.c
935
list_add_tail(&req->queue, &ep->queue);
drivers/usb/gadget/udc/pxa25x_udc.c
945
static void nuke(struct pxa25x_ep *ep, int status)
drivers/usb/gadget/udc/pxa25x_udc.c
950
while (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/pxa25x_udc.c
951
req = list_entry(ep->queue.next,
drivers/usb/gadget/udc/pxa25x_udc.c
954
done(ep, req, status);
drivers/usb/gadget/udc/pxa25x_udc.c
956
if (ep->ep.desc)
drivers/usb/gadget/udc/pxa25x_udc.c
957
pio_irq_disable(ep);
drivers/usb/gadget/udc/pxa25x_udc.c
964
struct pxa25x_ep *ep;
drivers/usb/gadget/udc/pxa25x_udc.c
969
ep = container_of(_ep, struct pxa25x_ep, ep);
drivers/usb/gadget/udc/pxa25x_udc.c
970
if (!_ep || ep->ep.name == ep0name)
drivers/usb/gadget/udc/pxa25x_udc.c
976
list_for_each_entry(iter, &ep->queue, queue) {
drivers/usb/gadget/udc/pxa25x_udc.c
987
done(ep, req, -ECONNRESET);
drivers/usb/gadget/udc/pxa25x_udc.c
997
struct pxa25x_ep *ep;
drivers/usb/gadget/udc/pxa25x_udc.h
118
struct pxa25x_ep ep [PXA_UDC_NUM_ENDPOINTS];
drivers/usb/gadget/udc/pxa25x_udc.h
220
if (dev->ep[i].ep.desc == NULL)
drivers/usb/gadget/udc/pxa25x_udc.h
222
DMSG ("udccs%d = %02x\n", i, udc_ep_get_UDCCS(&dev->ep[i]));
drivers/usb/gadget/udc/pxa25x_udc.h
36
struct usb_ep ep;
drivers/usb/gadget/udc/pxa27x_udc.c
1008
static int write_ep0_fifo(struct pxa_ep *ep, struct pxa27x_request *req)
drivers/usb/gadget/udc/pxa27x_udc.c
1013
count = write_packet(ep, req, EP0_FIFO_SIZE);
drivers/usb/gadget/udc/pxa27x_udc.c
1014
inc_ep_stats_bytes(ep, count, USB_DIR_IN);
drivers/usb/gadget/udc/pxa27x_udc.c
1021
ep_write_UDCCSR(ep, UDCCSR0_IPR);
drivers/usb/gadget/udc/pxa27x_udc.c
1023
ep_dbg(ep, "in %d bytes%s%s, %d left, req=%p, udccsr0=0x%03x\n",
drivers/usb/gadget/udc/pxa27x_udc.c
1026
&req->req, udc_ep_readl(ep, UDCCSR));
drivers/usb/gadget/udc/pxa27x_udc.c
1047
struct pxa_ep *ep;
drivers/usb/gadget/udc/pxa27x_udc.c
1065
ep = udc_usb_ep->pxa_ep;
drivers/usb/gadget/udc/pxa27x_udc.c
1066
if (unlikely(!ep))
drivers/usb/gadget/udc/pxa27x_udc.c
1069
dev = ep->dev;
drivers/usb/gadget/udc/pxa27x_udc.c
1071
ep_dbg(ep, "bogus device state\n");
drivers/usb/gadget/udc/pxa27x_udc.c
1078
if (unlikely(EPXFERTYPE_is_ISO(ep)
drivers/usb/gadget/udc/pxa27x_udc.c
1079
&& req->req.length > ep->fifo_size))
drivers/usb/gadget/udc/pxa27x_udc.c
1082
spin_lock_irqsave(&ep->lock, flags);
drivers/usb/gadget/udc/pxa27x_udc.c
1083
recursion_detected = ep->in_handle_ep;
drivers/usb/gadget/udc/pxa27x_udc.c
1085
is_first_req = list_empty(&ep->queue);
drivers/usb/gadget/udc/pxa27x_udc.c
1086
ep_dbg(ep, "queue req %p(first=%s), len %d buf %p\n",
drivers/usb/gadget/udc/pxa27x_udc.c
1090
if (!ep->enabled) {
drivers/usb/gadget/udc/pxa27x_udc.c
1097
ep_err(ep, "refusing to queue req %p (already queued)\n", req);
drivers/usb/gadget/udc/pxa27x_udc.c
1105
ep_add_request(ep, req);
drivers/usb/gadget/udc/pxa27x_udc.c
1106
spin_unlock_irqrestore(&ep->lock, flags);
drivers/usb/gadget/udc/pxa27x_udc.c
1108
if (is_ep0(ep)) {
drivers/usb/gadget/udc/pxa27x_udc.c
1112
ep_end_in_req(ep, req, NULL);
drivers/usb/gadget/udc/pxa27x_udc.c
1114
ep_err(ep, "got a request of %d bytes while"
drivers/usb/gadget/udc/pxa27x_udc.c
1117
ep_del_request(ep, req);
drivers/usb/gadget/udc/pxa27x_udc.c
1120
ep0_idle(ep->dev);
drivers/usb/gadget/udc/pxa27x_udc.c
1123
if (!ep_is_full(ep))
drivers/usb/gadget/udc/pxa27x_udc.c
1124
if (write_ep0_fifo(ep, req))
drivers/usb/gadget/udc/pxa27x_udc.c
1125
ep0_end_in_req(ep, req, NULL);
drivers/usb/gadget/udc/pxa27x_udc.c
1128
if ((length == 0) || !epout_has_pkt(ep))
drivers/usb/gadget/udc/pxa27x_udc.c
1129
if (read_ep0_fifo(ep, req))
drivers/usb/gadget/udc/pxa27x_udc.c
1130
ep0_end_out_req(ep, req, NULL);
drivers/usb/gadget/udc/pxa27x_udc.c
1133
ep_err(ep, "odd state %s to send me a request\n",
drivers/usb/gadget/udc/pxa27x_udc.c
1134
EP0_STNAME(ep->dev));
drivers/usb/gadget/udc/pxa27x_udc.c
1135
ep_del_request(ep, req);
drivers/usb/gadget/udc/pxa27x_udc.c
1141
handle_ep(ep);
drivers/usb/gadget/udc/pxa27x_udc.c
1147
spin_unlock_irqrestore(&ep->lock, flags);
drivers/usb/gadget/udc/pxa27x_udc.c
1160
struct pxa_ep *ep;
drivers/usb/gadget/udc/pxa27x_udc.c
1169
ep = udc_usb_ep->pxa_ep;
drivers/usb/gadget/udc/pxa27x_udc.c
1170
if (!ep || is_ep0(ep))
drivers/usb/gadget/udc/pxa27x_udc.c
1173
spin_lock_irqsave(&ep->lock, flags);
drivers/usb/gadget/udc/pxa27x_udc.c
1176
list_for_each_entry(iter, &ep->queue, queue) {
drivers/usb/gadget/udc/pxa27x_udc.c
1184
spin_unlock_irqrestore(&ep->lock, flags);
drivers/usb/gadget/udc/pxa27x_udc.c
1186
req_done(ep, req, -ECONNRESET, NULL);
drivers/usb/gadget/udc/pxa27x_udc.c
1199
struct pxa_ep *ep;
drivers/usb/gadget/udc/pxa27x_udc.c
1208
ep = udc_usb_ep->pxa_ep;
drivers/usb/gadget/udc/pxa27x_udc.c
1209
if (!ep || is_ep0(ep))
drivers/usb/gadget/udc/pxa27x_udc.c
1219
ep_dbg(ep, "only host can clear halt\n");
drivers/usb/gadget/udc/pxa27x_udc.c
1223
spin_lock_irqsave(&ep->lock, flags);
drivers/usb/gadget/udc/pxa27x_udc.c
1226
if (ep->dir_in && (ep_is_full(ep) || !list_empty(&ep->queue)))
drivers/usb/gadget/udc/pxa27x_udc.c
1231
ep_write_UDCCSR(ep, UDCCSR_FST | UDCCSR_FEF);
drivers/usb/gadget/udc/pxa27x_udc.c
1232
if (is_ep0(ep))
drivers/usb/gadget/udc/pxa27x_udc.c
1233
set_ep0state(ep->dev, STALL);
drivers/usb/gadget/udc/pxa27x_udc.c
1236
spin_unlock_irqrestore(&ep->lock, flags);
drivers/usb/gadget/udc/pxa27x_udc.c
1248
struct pxa_ep *ep;
drivers/usb/gadget/udc/pxa27x_udc.c
1254
ep = udc_usb_ep->pxa_ep;
drivers/usb/gadget/udc/pxa27x_udc.c
1255
if (!ep || is_ep0(ep))
drivers/usb/gadget/udc/pxa27x_udc.c
1258
if (ep->dir_in)
drivers/usb/gadget/udc/pxa27x_udc.c
1260
if (ep->dev->gadget.speed == USB_SPEED_UNKNOWN || ep_is_empty(ep))
drivers/usb/gadget/udc/pxa27x_udc.c
1263
return ep_count_bytes_remain(ep) + 1;
drivers/usb/gadget/udc/pxa27x_udc.c
1274
struct pxa_ep *ep;
drivers/usb/gadget/udc/pxa27x_udc.c
1281
ep = udc_usb_ep->pxa_ep;
drivers/usb/gadget/udc/pxa27x_udc.c
1282
if (!ep || is_ep0(ep))
drivers/usb/gadget/udc/pxa27x_udc.c
1285
spin_lock_irqsave(&ep->lock, flags);
drivers/usb/gadget/udc/pxa27x_udc.c
1287
if (unlikely(!list_empty(&ep->queue)))
drivers/usb/gadget/udc/pxa27x_udc.c
1288
ep_dbg(ep, "called while queue list not empty\n");
drivers/usb/gadget/udc/pxa27x_udc.c
1289
ep_dbg(ep, "called\n");
drivers/usb/gadget/udc/pxa27x_udc.c
1292
if (!ep->dir_in) {
drivers/usb/gadget/udc/pxa27x_udc.c
1293
while (!ep_is_empty(ep))
drivers/usb/gadget/udc/pxa27x_udc.c
1294
udc_ep_readl(ep, UDCDR);
drivers/usb/gadget/udc/pxa27x_udc.c
1297
ep_write_UDCCSR(ep,
drivers/usb/gadget/udc/pxa27x_udc.c
1299
| (EPXFERTYPE_is_ISO(ep) ? 0 : UDCCSR_SST));
drivers/usb/gadget/udc/pxa27x_udc.c
1302
spin_unlock_irqrestore(&ep->lock, flags);
drivers/usb/gadget/udc/pxa27x_udc.c
1318
struct pxa_ep *ep;
drivers/usb/gadget/udc/pxa27x_udc.c
1327
ep = udc_usb_ep->pxa_ep;
drivers/usb/gadget/udc/pxa27x_udc.c
1328
ep_warn(ep, "usb_ep %s already enabled, doing nothing\n",
drivers/usb/gadget/udc/pxa27x_udc.c
1331
ep = find_pxa_ep(udc_usb_ep->dev, udc_usb_ep);
drivers/usb/gadget/udc/pxa27x_udc.c
1334
if (!ep || is_ep0(ep)) {
drivers/usb/gadget/udc/pxa27x_udc.c
1342
|| (ep->type != usb_endpoint_type(desc))) {
drivers/usb/gadget/udc/pxa27x_udc.c
1343
ep_err(ep, "type mismatch\n");
drivers/usb/gadget/udc/pxa27x_udc.c
1347
if (ep->fifo_size < usb_endpoint_maxp(desc)) {
drivers/usb/gadget/udc/pxa27x_udc.c
1348
ep_err(ep, "bad maxpacket\n");
drivers/usb/gadget/udc/pxa27x_udc.c
1352
udc_usb_ep->pxa_ep = ep;
drivers/usb/gadget/udc/pxa27x_udc.c
1353
udc = ep->dev;
drivers/usb/gadget/udc/pxa27x_udc.c
1356
ep_err(ep, "bogus device state\n");
drivers/usb/gadget/udc/pxa27x_udc.c
1360
ep->enabled = 1;
drivers/usb/gadget/udc/pxa27x_udc.c
1365
ep_dbg(ep, "enabled\n");
drivers/usb/gadget/udc/pxa27x_udc.c
1379
struct pxa_ep *ep;
drivers/usb/gadget/udc/pxa27x_udc.c
1386
ep = udc_usb_ep->pxa_ep;
drivers/usb/gadget/udc/pxa27x_udc.c
1387
if (!ep || is_ep0(ep) || !list_empty(&ep->queue))
drivers/usb/gadget/udc/pxa27x_udc.c
139
struct pxa_ep *ep;
drivers/usb/gadget/udc/pxa27x_udc.c
1390
ep->enabled = 0;
drivers/usb/gadget/udc/pxa27x_udc.c
1391
nuke(ep, -ESHUTDOWN);
drivers/usb/gadget/udc/pxa27x_udc.c
1396
ep_dbg(ep, "disabled\n");
drivers/usb/gadget/udc/pxa27x_udc.c
148
ep = &udc->pxa_ep[i];
drivers/usb/gadget/udc/pxa27x_udc.c
149
maxpkt = ep->fifo_size;
drivers/usb/gadget/udc/pxa27x_udc.c
151
EPNAME(ep), maxpkt, "pio");
drivers/usb/gadget/udc/pxa27x_udc.c
153
if (list_empty(&ep->queue)) {
drivers/usb/gadget/udc/pxa27x_udc.c
158
list_for_each_entry(req, &ep->queue, queue) {
drivers/usb/gadget/udc/pxa27x_udc.c
1660
struct pxa_ep *ep;
drivers/usb/gadget/udc/pxa27x_udc.c
1671
ep = &dev->pxa_ep[i];
drivers/usb/gadget/udc/pxa27x_udc.c
1673
ep->enabled = is_ep0(ep);
drivers/usb/gadget/udc/pxa27x_udc.c
1674
INIT_LIST_HEAD(&ep->queue);
drivers/usb/gadget/udc/pxa27x_udc.c
1675
spin_lock_init(&ep->lock);
drivers/usb/gadget/udc/pxa27x_udc.c
172
struct pxa_ep *ep;
drivers/usb/gadget/udc/pxa27x_udc.c
179
ep = &udc->pxa_ep[0];
drivers/usb/gadget/udc/pxa27x_udc.c
180
tmp = udc_ep_readl(ep, UDCCSR);
drivers/usb/gadget/udc/pxa27x_udc.c
1818
struct pxa_ep *ep = &udc->pxa_ep[0];
drivers/usb/gadget/udc/pxa27x_udc.c
1827
nuke(ep, -EPROTO);
drivers/usb/gadget/udc/pxa27x_udc.c
1828
spin_lock_irqsave(&ep->lock, flags);
drivers/usb/gadget/udc/pxa27x_udc.c
1836
if (epout_has_pkt(ep) && (ep_count_bytes_remain(ep) == 0))
drivers/usb/gadget/udc/pxa27x_udc.c
1837
ep_write_UDCCSR(ep, UDCCSR0_OPC);
drivers/usb/gadget/udc/pxa27x_udc.c
1841
if (unlikely(ep_is_empty(ep)))
drivers/usb/gadget/udc/pxa27x_udc.c
1843
u.word[i] = udc_ep_readl(ep, UDCDR);
drivers/usb/gadget/udc/pxa27x_udc.c
1846
have_extrabytes = !ep_is_empty(ep);
drivers/usb/gadget/udc/pxa27x_udc.c
1847
while (!ep_is_empty(ep)) {
drivers/usb/gadget/udc/pxa27x_udc.c
1848
i = udc_ep_readl(ep, UDCDR);
drivers/usb/gadget/udc/pxa27x_udc.c
1849
ep_err(ep, "wrong to have extra bytes for setup : 0x%08x\n", i);
drivers/usb/gadget/udc/pxa27x_udc.c
1852
ep_dbg(ep, "SETUP %02x.%02x v%04x i%04x l%04x\n",
drivers/usb/gadget/udc/pxa27x_udc.c
1865
ep_write_UDCCSR(ep, UDCCSR0_SA | UDCCSR0_OPC);
drivers/usb/gadget/udc/pxa27x_udc.c
1867
spin_unlock_irqrestore(&ep->lock, flags);
drivers/usb/gadget/udc/pxa27x_udc.c
1869
spin_lock_irqsave(&ep->lock, flags);
drivers/usb/gadget/udc/pxa27x_udc.c
1873
spin_unlock_irqrestore(&ep->lock, flags);
drivers/usb/gadget/udc/pxa27x_udc.c
1876
ep_dbg(ep, "protocol STALL, udccsr0=%03x err %d\n",
drivers/usb/gadget/udc/pxa27x_udc.c
1877
udc_ep_readl(ep, UDCCSR), i);
drivers/usb/gadget/udc/pxa27x_udc.c
1878
ep_write_UDCCSR(ep, UDCCSR0_FST | UDCCSR0_FTF);
drivers/usb/gadget/udc/pxa27x_udc.c
191
ep = &udc->pxa_ep[i];
drivers/usb/gadget/udc/pxa27x_udc.c
192
tmp = i? udc_ep_readl(ep, UDCCR) : udc_readl(udc, UDCCR);
drivers/usb/gadget/udc/pxa27x_udc.c
1934
struct pxa_ep *ep = &udc->pxa_ep[0];
drivers/usb/gadget/udc/pxa27x_udc.c
1938
if (!list_empty(&ep->queue))
drivers/usb/gadget/udc/pxa27x_udc.c
1939
req = list_entry(ep->queue.next, struct pxa27x_request, queue);
drivers/usb/gadget/udc/pxa27x_udc.c
194
EPNAME(ep),
drivers/usb/gadget/udc/pxa27x_udc.c
1941
udccsr0 = udc_ep_readl(ep, UDCCSR);
drivers/usb/gadget/udc/pxa27x_udc.c
1942
ep_dbg(ep, "state=%s, req=%p, udccsr0=0x%03x, udcbcr=%d, irq_msk=%x\n",
drivers/usb/gadget/udc/pxa27x_udc.c
1943
EP0_STNAME(udc), req, udccsr0, udc_ep_readl(ep, UDCBCR),
drivers/usb/gadget/udc/pxa27x_udc.c
1947
ep_dbg(ep, "clearing stall status\n");
drivers/usb/gadget/udc/pxa27x_udc.c
1948
nuke(ep, -EPIPE);
drivers/usb/gadget/udc/pxa27x_udc.c
1949
ep_write_UDCCSR(ep, UDCCSR0_SST);
drivers/usb/gadget/udc/pxa27x_udc.c
195
ep->stats.in_bytes, ep->stats.in_ops,
drivers/usb/gadget/udc/pxa27x_udc.c
1954
nuke(ep, 0);
drivers/usb/gadget/udc/pxa27x_udc.c
196
ep->stats.out_bytes, ep->stats.out_ops,
drivers/usb/gadget/udc/pxa27x_udc.c
197
ep->stats.irqs,
drivers/usb/gadget/udc/pxa27x_udc.c
1973
if (epout_has_pkt(ep))
drivers/usb/gadget/udc/pxa27x_udc.c
1974
ep_write_UDCCSR(ep, UDCCSR0_OPC);
drivers/usb/gadget/udc/pxa27x_udc.c
1975
if (req && !ep_is_full(ep))
drivers/usb/gadget/udc/pxa27x_udc.c
1976
completed = write_ep0_fifo(ep, req);
drivers/usb/gadget/udc/pxa27x_udc.c
1978
ep0_end_in_req(ep, req, NULL);
drivers/usb/gadget/udc/pxa27x_udc.c
198
tmp, udc_ep_readl(ep, UDCCSR),
drivers/usb/gadget/udc/pxa27x_udc.c
1981
if (epout_has_pkt(ep) && req)
drivers/usb/gadget/udc/pxa27x_udc.c
1982
completed = read_ep0_fifo(ep, req);
drivers/usb/gadget/udc/pxa27x_udc.c
1984
ep0_end_out_req(ep, req, NULL);
drivers/usb/gadget/udc/pxa27x_udc.c
1987
ep_write_UDCCSR(ep, UDCCSR0_FST);
drivers/usb/gadget/udc/pxa27x_udc.c
199
udc_ep_readl(ep, UDCBCR));
drivers/usb/gadget/udc/pxa27x_udc.c
2000
ep_warn(ep, "should never get in %s state here!!!\n",
drivers/usb/gadget/udc/pxa27x_udc.c
2001
EP0_STNAME(ep->dev));
drivers/usb/gadget/udc/pxa27x_udc.c
2016
static void handle_ep(struct pxa_ep *ep)
drivers/usb/gadget/udc/pxa27x_udc.c
2021
int is_in = ep->dir_in;
drivers/usb/gadget/udc/pxa27x_udc.c
2025
spin_lock_irqsave(&ep->lock, flags);
drivers/usb/gadget/udc/pxa27x_udc.c
2026
if (ep->in_handle_ep)
drivers/usb/gadget/udc/pxa27x_udc.c
2028
ep->in_handle_ep = 1;
drivers/usb/gadget/udc/pxa27x_udc.c
2032
udccsr = udc_ep_readl(ep, UDCCSR);
drivers/usb/gadget/udc/pxa27x_udc.c
2034
if (likely(!list_empty(&ep->queue)))
drivers/usb/gadget/udc/pxa27x_udc.c
2035
req = list_entry(ep->queue.next,
drivers/usb/gadget/udc/pxa27x_udc.c
2040
ep_dbg(ep, "req:%p, udccsr 0x%03x loop=%d\n",
drivers/usb/gadget/udc/pxa27x_udc.c
2044
udc_ep_writel(ep, UDCCSR,
drivers/usb/gadget/udc/pxa27x_udc.c
2050
if (likely(!ep_is_full(ep)))
drivers/usb/gadget/udc/pxa27x_udc.c
2051
completed = write_fifo(ep, req);
drivers/usb/gadget/udc/pxa27x_udc.c
2053
if (likely(epout_has_pkt(ep)))
drivers/usb/gadget/udc/pxa27x_udc.c
2054
completed = read_fifo(ep, req);
drivers/usb/gadget/udc/pxa27x_udc.c
2059
ep_end_in_req(ep, req, &flags);
drivers/usb/gadget/udc/pxa27x_udc.c
2061
ep_end_out_req(ep, req, &flags);
drivers/usb/gadget/udc/pxa27x_udc.c
2065
ep->in_handle_ep = 0;
drivers/usb/gadget/udc/pxa27x_udc.c
2067
spin_unlock_irqrestore(&ep->lock, flags);
drivers/usb/gadget/udc/pxa27x_udc.c
2138
struct pxa_ep *ep;
drivers/usb/gadget/udc/pxa27x_udc.c
2158
ep = &udc->pxa_ep[i];
drivers/usb/gadget/udc/pxa27x_udc.c
2159
ep->stats.irqs++;
drivers/usb/gadget/udc/pxa27x_udc.c
2160
handle_ep(ep);
drivers/usb/gadget/udc/pxa27x_udc.c
2171
ep = &udc->pxa_ep[i];
drivers/usb/gadget/udc/pxa27x_udc.c
2172
ep->stats.irqs++;
drivers/usb/gadget/udc/pxa27x_udc.c
2173
handle_ep(ep);
drivers/usb/gadget/udc/pxa27x_udc.c
2240
struct pxa_ep *ep = &udc->pxa_ep[0];
drivers/usb/gadget/udc/pxa27x_udc.c
2253
nuke(ep, -EPROTO);
drivers/usb/gadget/udc/pxa27x_udc.c
2254
ep_write_UDCCSR(ep, UDCCSR0_FTF | UDCCSR0_OPC);
drivers/usb/gadget/udc/pxa27x_udc.c
241
static int is_match_usb_pxa(struct udc_usb_ep *udc_usb_ep, struct pxa_ep *ep,
drivers/usb/gadget/udc/pxa27x_udc.c
244
if (usb_endpoint_num(&udc_usb_ep->desc) != ep->addr)
drivers/usb/gadget/udc/pxa27x_udc.c
246
if (usb_endpoint_dir_in(&udc_usb_ep->desc) != ep->dir_in)
drivers/usb/gadget/udc/pxa27x_udc.c
248
if (usb_endpoint_type(&udc_usb_ep->desc) != ep->type)
drivers/usb/gadget/udc/pxa27x_udc.c
2486
struct pxa_ep *ep;
drivers/usb/gadget/udc/pxa27x_udc.c
2488
ep = &udc->pxa_ep[0];
drivers/usb/gadget/udc/pxa27x_udc.c
2489
udc->udccsr0 = udc_ep_readl(ep, UDCCSR);
drivers/usb/gadget/udc/pxa27x_udc.c
250
if ((ep->config != config) || (ep->interface != interface)
drivers/usb/gadget/udc/pxa27x_udc.c
251
|| (ep->alternate != altsetting))
drivers/usb/gadget/udc/pxa27x_udc.c
2511
struct pxa_ep *ep;
drivers/usb/gadget/udc/pxa27x_udc.c
2513
ep = &udc->pxa_ep[0];
drivers/usb/gadget/udc/pxa27x_udc.c
2514
udc_ep_writel(ep, UDCCSR, udc->udccsr0 & (UDCCSR0_FST | UDCCSR0_DME));
drivers/usb/gadget/udc/pxa27x_udc.c
285
struct pxa_ep *ep;
drivers/usb/gadget/udc/pxa27x_udc.c
294
ep = &udc->pxa_ep[i];
drivers/usb/gadget/udc/pxa27x_udc.c
295
if (is_match_usb_pxa(udc_usb_ep, ep, cfg, iface, alt))
drivers/usb/gadget/udc/pxa27x_udc.c
296
return ep;
drivers/usb/gadget/udc/pxa27x_udc.c
327
static void pio_irq_enable(struct pxa_ep *ep)
drivers/usb/gadget/udc/pxa27x_udc.c
329
struct pxa_udc *udc = ep->dev;
drivers/usb/gadget/udc/pxa27x_udc.c
330
int index = EPIDX(ep);
drivers/usb/gadget/udc/pxa27x_udc.c
344
static void pio_irq_disable(struct pxa_ep *ep)
drivers/usb/gadget/udc/pxa27x_udc.c
346
struct pxa_udc *udc = ep->dev;
drivers/usb/gadget/udc/pxa27x_udc.c
347
int index = EPIDX(ep);
drivers/usb/gadget/udc/pxa27x_udc.c
395
static inline void ep_write_UDCCSR(struct pxa_ep *ep, int mask)
drivers/usb/gadget/udc/pxa27x_udc.c
397
if (is_ep0(ep))
drivers/usb/gadget/udc/pxa27x_udc.c
399
udc_ep_writel(ep, UDCCSR, mask);
drivers/usb/gadget/udc/pxa27x_udc.c
408
static int ep_count_bytes_remain(struct pxa_ep *ep)
drivers/usb/gadget/udc/pxa27x_udc.c
410
if (ep->dir_in)
drivers/usb/gadget/udc/pxa27x_udc.c
412
return udc_ep_readl(ep, UDCBCR) & 0x3ff;
drivers/usb/gadget/udc/pxa27x_udc.c
425
static int ep_is_empty(struct pxa_ep *ep)
drivers/usb/gadget/udc/pxa27x_udc.c
429
if (!is_ep0(ep) && ep->dir_in)
drivers/usb/gadget/udc/pxa27x_udc.c
431
if (is_ep0(ep))
drivers/usb/gadget/udc/pxa27x_udc.c
432
ret = !(udc_ep_readl(ep, UDCCSR) & UDCCSR0_RNE);
drivers/usb/gadget/udc/pxa27x_udc.c
434
ret = !(udc_ep_readl(ep, UDCCSR) & UDCCSR_BNE);
drivers/usb/gadget/udc/pxa27x_udc.c
447
static int ep_is_full(struct pxa_ep *ep)
drivers/usb/gadget/udc/pxa27x_udc.c
449
if (is_ep0(ep))
drivers/usb/gadget/udc/pxa27x_udc.c
450
return (udc_ep_readl(ep, UDCCSR) & UDCCSR0_IPR);
drivers/usb/gadget/udc/pxa27x_udc.c
451
if (!ep->dir_in)
drivers/usb/gadget/udc/pxa27x_udc.c
453
return (!(udc_ep_readl(ep, UDCCSR) & UDCCSR_BNF));
drivers/usb/gadget/udc/pxa27x_udc.c
462
static int epout_has_pkt(struct pxa_ep *ep)
drivers/usb/gadget/udc/pxa27x_udc.c
464
if (!is_ep0(ep) && ep->dir_in)
drivers/usb/gadget/udc/pxa27x_udc.c
466
if (is_ep0(ep))
drivers/usb/gadget/udc/pxa27x_udc.c
467
return (udc_ep_readl(ep, UDCCSR) & UDCCSR0_OPC);
drivers/usb/gadget/udc/pxa27x_udc.c
468
return (udc_ep_readl(ep, UDCCSR) & UDCCSR_PC);
drivers/usb/gadget/udc/pxa27x_udc.c
478
struct pxa_ep *ep = &udc->pxa_ep[0];
drivers/usb/gadget/udc/pxa27x_udc.c
482
ep_dbg(ep, "state=%s->%s, udccsr0=0x%03x, udcbcr=%d\n", old_stname,
drivers/usb/gadget/udc/pxa27x_udc.c
483
EP0_STNAME(udc), udc_ep_readl(ep, UDCCSR),
drivers/usb/gadget/udc/pxa27x_udc.c
484
udc_ep_readl(ep, UDCBCR));
drivers/usb/gadget/udc/pxa27x_udc.c
502
static void inc_ep_stats_reqs(struct pxa_ep *ep, int is_in)
drivers/usb/gadget/udc/pxa27x_udc.c
505
ep->stats.in_ops++;
drivers/usb/gadget/udc/pxa27x_udc.c
507
ep->stats.out_ops++;
drivers/usb/gadget/udc/pxa27x_udc.c
516
static void inc_ep_stats_bytes(struct pxa_ep *ep, int count, int is_in)
drivers/usb/gadget/udc/pxa27x_udc.c
519
ep->stats.in_bytes += count;
drivers/usb/gadget/udc/pxa27x_udc.c
521
ep->stats.out_bytes += count;
drivers/usb/gadget/udc/pxa27x_udc.c
530
static void pxa_ep_setup(struct pxa_ep *ep)
drivers/usb/gadget/udc/pxa27x_udc.c
534
new_udccr = ((ep->config << UDCCONR_CN_S) & UDCCONR_CN)
drivers/usb/gadget/udc/pxa27x_udc.c
535
| ((ep->interface << UDCCONR_IN_S) & UDCCONR_IN)
drivers/usb/gadget/udc/pxa27x_udc.c
536
| ((ep->alternate << UDCCONR_AISN_S) & UDCCONR_AISN)
drivers/usb/gadget/udc/pxa27x_udc.c
537
| ((EPADDR(ep) << UDCCONR_EN_S) & UDCCONR_EN)
drivers/usb/gadget/udc/pxa27x_udc.c
538
| ((EPXFERTYPE(ep) << UDCCONR_ET_S) & UDCCONR_ET)
drivers/usb/gadget/udc/pxa27x_udc.c
539
| ((ep->dir_in) ? UDCCONR_ED : 0)
drivers/usb/gadget/udc/pxa27x_udc.c
540
| ((ep->fifo_size << UDCCONR_MPS_S) & UDCCONR_MPS)
drivers/usb/gadget/udc/pxa27x_udc.c
543
udc_ep_writel(ep, UDCCR, new_udccr);
drivers/usb/gadget/udc/pxa27x_udc.c
613
static void ep_add_request(struct pxa_ep *ep, struct pxa27x_request *req)
drivers/usb/gadget/udc/pxa27x_udc.c
617
ep_vdbg(ep, "req:%p, lg=%d, udccsr=0x%03x\n", req,
drivers/usb/gadget/udc/pxa27x_udc.c
618
req->req.length, udc_ep_readl(ep, UDCCSR));
drivers/usb/gadget/udc/pxa27x_udc.c
621
list_add_tail(&req->queue, &ep->queue);
drivers/usb/gadget/udc/pxa27x_udc.c
622
pio_irq_enable(ep);
drivers/usb/gadget/udc/pxa27x_udc.c
636
static void ep_del_request(struct pxa_ep *ep, struct pxa27x_request *req)
drivers/usb/gadget/udc/pxa27x_udc.c
640
ep_vdbg(ep, "req:%p, lg=%d, udccsr=0x%03x\n", req,
drivers/usb/gadget/udc/pxa27x_udc.c
641
req->req.length, udc_ep_readl(ep, UDCCSR));
drivers/usb/gadget/udc/pxa27x_udc.c
645
if (!is_ep0(ep) && list_empty(&ep->queue))
drivers/usb/gadget/udc/pxa27x_udc.c
646
pio_irq_disable(ep);
drivers/usb/gadget/udc/pxa27x_udc.c
660
static void req_done(struct pxa_ep *ep, struct pxa27x_request *req, int status,
drivers/usb/gadget/udc/pxa27x_udc.c
665
ep_del_request(ep, req);
drivers/usb/gadget/udc/pxa27x_udc.c
672
ep_dbg(ep, "complete req %p stat %d len %u/%u\n",
drivers/usb/gadget/udc/pxa27x_udc.c
677
spin_unlock_irqrestore(&ep->lock, *pflags);
drivers/usb/gadget/udc/pxa27x_udc.c
682
spin_lock_irqsave(&ep->lock, *pflags);
drivers/usb/gadget/udc/pxa27x_udc.c
695
static void ep_end_out_req(struct pxa_ep *ep, struct pxa27x_request *req,
drivers/usb/gadget/udc/pxa27x_udc.c
698
inc_ep_stats_reqs(ep, !USB_DIR_IN);
drivers/usb/gadget/udc/pxa27x_udc.c
699
req_done(ep, req, 0, pflags);
drivers/usb/gadget/udc/pxa27x_udc.c
713
static void ep0_end_out_req(struct pxa_ep *ep, struct pxa27x_request *req,
drivers/usb/gadget/udc/pxa27x_udc.c
716
set_ep0state(ep->dev, OUT_STATUS_STAGE);
drivers/usb/gadget/udc/pxa27x_udc.c
717
ep_end_out_req(ep, req, pflags);
drivers/usb/gadget/udc/pxa27x_udc.c
718
ep0_idle(ep->dev);
drivers/usb/gadget/udc/pxa27x_udc.c
731
static void ep_end_in_req(struct pxa_ep *ep, struct pxa27x_request *req,
drivers/usb/gadget/udc/pxa27x_udc.c
734
inc_ep_stats_reqs(ep, USB_DIR_IN);
drivers/usb/gadget/udc/pxa27x_udc.c
735
req_done(ep, req, 0, pflags);
drivers/usb/gadget/udc/pxa27x_udc.c
749
static void ep0_end_in_req(struct pxa_ep *ep, struct pxa27x_request *req,
drivers/usb/gadget/udc/pxa27x_udc.c
752
set_ep0state(ep->dev, IN_STATUS_STAGE);
drivers/usb/gadget/udc/pxa27x_udc.c
753
ep_end_in_req(ep, req, pflags);
drivers/usb/gadget/udc/pxa27x_udc.c
766
static void nuke(struct pxa_ep *ep, int status)
drivers/usb/gadget/udc/pxa27x_udc.c
771
spin_lock_irqsave(&ep->lock, flags);
drivers/usb/gadget/udc/pxa27x_udc.c
772
while (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/pxa27x_udc.c
773
req = list_entry(ep->queue.next, struct pxa27x_request, queue);
drivers/usb/gadget/udc/pxa27x_udc.c
774
req_done(ep, req, status, &flags);
drivers/usb/gadget/udc/pxa27x_udc.c
776
spin_unlock_irqrestore(&ep->lock, flags);
drivers/usb/gadget/udc/pxa27x_udc.c
79
static void handle_ep(struct pxa_ep *ep);
drivers/usb/gadget/udc/pxa27x_udc.c
790
static int read_packet(struct pxa_ep *ep, struct pxa27x_request *req)
drivers/usb/gadget/udc/pxa27x_udc.c
795
bytes_ep = ep_count_bytes_remain(ep);
drivers/usb/gadget/udc/pxa27x_udc.c
801
if (likely(!ep_is_empty(ep)))
drivers/usb/gadget/udc/pxa27x_udc.c
807
*buf++ = udc_ep_readl(ep, UDCDR);
drivers/usb/gadget/udc/pxa27x_udc.c
810
ep_write_UDCCSR(ep, UDCCSR_PC);
drivers/usb/gadget/udc/pxa27x_udc.c
827
static int write_packet(struct pxa_ep *ep, struct pxa27x_request *req,
drivers/usb/gadget/udc/pxa27x_udc.c
843
udc_ep_writel(ep, UDCDR, *buf++);
drivers/usb/gadget/udc/pxa27x_udc.c
847
udc_ep_writeb(ep, UDCDR, *buf_8++);
drivers/usb/gadget/udc/pxa27x_udc.c
849
ep_vdbg(ep, "length=%d+%d, udccsr=0x%03x\n", count, remain,
drivers/usb/gadget/udc/pxa27x_udc.c
850
udc_ep_readl(ep, UDCCSR));
drivers/usb/gadget/udc/pxa27x_udc.c
869
static int read_fifo(struct pxa_ep *ep, struct pxa27x_request *req)
drivers/usb/gadget/udc/pxa27x_udc.c
873
while (epout_has_pkt(ep)) {
drivers/usb/gadget/udc/pxa27x_udc.c
874
count = read_packet(ep, req);
drivers/usb/gadget/udc/pxa27x_udc.c
875
inc_ep_stats_bytes(ep, count, !USB_DIR_IN);
drivers/usb/gadget/udc/pxa27x_udc.c
877
is_short = (count < ep->fifo_size);
drivers/usb/gadget/udc/pxa27x_udc.c
878
ep_dbg(ep, "read udccsr:%03x, count:%d bytes%s req %p %d/%d\n",
drivers/usb/gadget/udc/pxa27x_udc.c
879
udc_ep_readl(ep, UDCCSR), count, is_short ? "/S" : "",
drivers/usb/gadget/udc/pxa27x_udc.c
904
static int write_fifo(struct pxa_ep *ep, struct pxa27x_request *req)
drivers/usb/gadget/udc/pxa27x_udc.c
910
max = ep->fifo_size;
drivers/usb/gadget/udc/pxa27x_udc.c
912
udccsr = udc_ep_readl(ep, UDCCSR);
drivers/usb/gadget/udc/pxa27x_udc.c
914
ep_vdbg(ep, "Clearing Transmit Complete, udccsr=%x\n",
drivers/usb/gadget/udc/pxa27x_udc.c
916
ep_write_UDCCSR(ep, UDCCSR_PC);
drivers/usb/gadget/udc/pxa27x_udc.c
919
ep_vdbg(ep, "Clearing Underrun on, udccsr=%x\n",
drivers/usb/gadget/udc/pxa27x_udc.c
921
ep_write_UDCCSR(ep, UDCCSR_TRN);
drivers/usb/gadget/udc/pxa27x_udc.c
924
count = write_packet(ep, req, max);
drivers/usb/gadget/udc/pxa27x_udc.c
925
inc_ep_stats_bytes(ep, count, USB_DIR_IN);
drivers/usb/gadget/udc/pxa27x_udc.c
939
is_short = unlikely(max < ep->fifo_size);
drivers/usb/gadget/udc/pxa27x_udc.c
943
ep_write_UDCCSR(ep, UDCCSR_SP);
drivers/usb/gadget/udc/pxa27x_udc.c
950
} while (!ep_is_full(ep));
drivers/usb/gadget/udc/pxa27x_udc.c
952
ep_dbg(ep, "wrote count:%d bytes%s%s, left:%d req=%p\n",
drivers/usb/gadget/udc/pxa27x_udc.c
970
static int read_ep0_fifo(struct pxa_ep *ep, struct pxa27x_request *req)
drivers/usb/gadget/udc/pxa27x_udc.c
974
while (epout_has_pkt(ep)) {
drivers/usb/gadget/udc/pxa27x_udc.c
975
count = read_packet(ep, req);
drivers/usb/gadget/udc/pxa27x_udc.c
976
ep_write_UDCCSR(ep, UDCCSR0_OPC);
drivers/usb/gadget/udc/pxa27x_udc.c
977
inc_ep_stats_bytes(ep, count, !USB_DIR_IN);
drivers/usb/gadget/udc/pxa27x_udc.c
979
is_short = (count < ep->fifo_size);
drivers/usb/gadget/udc/pxa27x_udc.c
980
ep_dbg(ep, "read udccsr:%03x, count:%d bytes%s req %p %d/%d\n",
drivers/usb/gadget/udc/pxa27x_udc.c
981
udc_ep_readl(ep, UDCCSR), count, is_short ? "/S" : "",
drivers/usb/gadget/udc/pxa27x_udc.h
174
#define ofs_UDCCR(ep) (UDCCRn(ep->idx))
drivers/usb/gadget/udc/pxa27x_udc.h
175
#define ofs_UDCCSR(ep) (UDCCSRn(ep->idx))
drivers/usb/gadget/udc/pxa27x_udc.h
176
#define ofs_UDCBCR(ep) (UDCBCRn(ep->idx))
drivers/usb/gadget/udc/pxa27x_udc.h
177
#define ofs_UDCDR(ep) (UDCDRn(ep->idx))
drivers/usb/gadget/udc/pxa27x_udc.h
180
#define udc_ep_readl(ep, reg) \
drivers/usb/gadget/udc/pxa27x_udc.h
181
__raw_readl((ep)->dev->regs + ofs_##reg(ep))
drivers/usb/gadget/udc/pxa27x_udc.h
182
#define udc_ep_writel(ep, reg, value) \
drivers/usb/gadget/udc/pxa27x_udc.h
183
__raw_writel((value), ep->dev->regs + ofs_##reg(ep))
drivers/usb/gadget/udc/pxa27x_udc.h
184
#define udc_ep_readb(ep, reg) \
drivers/usb/gadget/udc/pxa27x_udc.h
185
__raw_readb((ep)->dev->regs + ofs_##reg(ep))
drivers/usb/gadget/udc/pxa27x_udc.h
186
#define udc_ep_writeb(ep, reg, value) \
drivers/usb/gadget/udc/pxa27x_udc.h
187
__raw_writeb((value), ep->dev->regs + ofs_##reg(ep))
drivers/usb/gadget/udc/pxa27x_udc.h
198
#define EPIDX(ep) (ep->idx)
drivers/usb/gadget/udc/pxa27x_udc.h
199
#define EPADDR(ep) (ep->addr)
drivers/usb/gadget/udc/pxa27x_udc.h
200
#define EPXFERTYPE(ep) (ep->type)
drivers/usb/gadget/udc/pxa27x_udc.h
201
#define EPNAME(ep) (ep->name)
drivers/usb/gadget/udc/pxa27x_udc.h
202
#define is_ep0(ep) (!ep->idx)
drivers/usb/gadget/udc/pxa27x_udc.h
203
#define EPXFERTYPE_is_ISO(ep) (EPXFERTYPE(ep) == USB_ENDPOINT_XFER_ISOC)
drivers/usb/gadget/udc/pxa27x_udc.h
487
#define ep_dbg(ep, fmt, arg...) \
drivers/usb/gadget/udc/pxa27x_udc.h
488
dev_dbg(ep->dev->dev, "%s:%s: " fmt, EPNAME(ep), __func__, ## arg)
drivers/usb/gadget/udc/pxa27x_udc.h
489
#define ep_vdbg(ep, fmt, arg...) \
drivers/usb/gadget/udc/pxa27x_udc.h
490
dev_vdbg(ep->dev->dev, "%s:%s: " fmt, EPNAME(ep), __func__, ## arg)
drivers/usb/gadget/udc/pxa27x_udc.h
491
#define ep_err(ep, fmt, arg...) \
drivers/usb/gadget/udc/pxa27x_udc.h
492
dev_err(ep->dev->dev, "%s:%s: " fmt, EPNAME(ep), __func__, ## arg)
drivers/usb/gadget/udc/pxa27x_udc.h
493
#define ep_info(ep, fmt, arg...) \
drivers/usb/gadget/udc/pxa27x_udc.h
494
dev_info(ep->dev->dev, "%s:%s: " fmt, EPNAME(ep), __func__, ## arg)
drivers/usb/gadget/udc/pxa27x_udc.h
495
#define ep_warn(ep, fmt, arg...) \
drivers/usb/gadget/udc/pxa27x_udc.h
496
dev_warn(ep->dev->dev, "%s:%s:" fmt, EPNAME(ep), __func__, ## arg)
drivers/usb/gadget/udc/r8a66597-udc.c
1000
tmp = r8a66597_read(r8a66597, ep->fifoctr);
drivers/usb/gadget/udc/r8a66597-udc.c
1016
r8a66597_write_fifo(r8a66597, ep, buf, size);
drivers/usb/gadget/udc/r8a66597-udc.c
1018
|| ((size % ep->ep.maxpacket) != 0)
drivers/usb/gadget/udc/r8a66597-udc.c
1019
|| ((bufsize != ep->ep.maxpacket)
drivers/usb/gadget/udc/r8a66597-udc.c
1021
r8a66597_bset(r8a66597, BVAL, ep->fifoctr);
drivers/usb/gadget/udc/r8a66597-udc.c
1028
|| (size % ep->ep.maxpacket)
drivers/usb/gadget/udc/r8a66597-udc.c
1038
static void irq_packet_read(struct r8a66597_ep *ep,
drivers/usb/gadget/udc/r8a66597-udc.c
1045
u16 pipenum = ep->pipenum;
drivers/usb/gadget/udc/r8a66597-udc.c
1046
struct r8a66597 *r8a66597 = ep->r8a66597;
drivers/usb/gadget/udc/r8a66597-udc.c
1050
tmp = r8a66597_read(r8a66597, ep->fifoctr);
drivers/usb/gadget/udc/r8a66597-udc.c
1075
|| (size % ep->ep.maxpacket)
drivers/usb/gadget/udc/r8a66597-udc.c
1085
r8a66597_write(r8a66597, BCLR, ep->fifoctr);
drivers/usb/gadget/udc/r8a66597-udc.c
1087
r8a66597_read_fifo(r8a66597, ep->fifoaddr, buf, size);
drivers/usb/gadget/udc/r8a66597-udc.c
1091
if ((ep->pipenum != 0) && finish)
drivers/usb/gadget/udc/r8a66597-udc.c
1092
transfer_complete(ep, req, 0);
drivers/usb/gadget/udc/r8a66597-udc.c
1099
struct r8a66597_ep *ep;
drivers/usb/gadget/udc/r8a66597-udc.c
1106
ep = &r8a66597->ep[0];
drivers/usb/gadget/udc/r8a66597-udc.c
1107
req = get_request_from_ep(ep);
drivers/usb/gadget/udc/r8a66597-udc.c
1108
irq_packet_read(ep, req);
drivers/usb/gadget/udc/r8a66597-udc.c
1114
ep = r8a66597->pipenum2ep[pipenum];
drivers/usb/gadget/udc/r8a66597-udc.c
1115
req = get_request_from_ep(ep);
drivers/usb/gadget/udc/r8a66597-udc.c
1116
if (ep->ep.desc->bEndpointAddress & USB_DIR_IN)
drivers/usb/gadget/udc/r8a66597-udc.c
1117
irq_packet_write(ep, req);
drivers/usb/gadget/udc/r8a66597-udc.c
1119
irq_packet_read(ep, req);
drivers/usb/gadget/udc/r8a66597-udc.c
1130
struct r8a66597_ep *ep;
drivers/usb/gadget/udc/r8a66597-udc.c
1136
ep = &r8a66597->ep[0];
drivers/usb/gadget/udc/r8a66597-udc.c
1137
req = get_request_from_ep(ep);
drivers/usb/gadget/udc/r8a66597-udc.c
1138
irq_ep0_write(ep, req);
drivers/usb/gadget/udc/r8a66597-udc.c
1149
ep = r8a66597->pipenum2ep[pipenum];
drivers/usb/gadget/udc/r8a66597-udc.c
1150
req = get_request_from_ep(ep);
drivers/usb/gadget/udc/r8a66597-udc.c
1151
if (!list_empty(&ep->queue))
drivers/usb/gadget/udc/r8a66597-udc.c
1152
transfer_complete(ep, req, 0);
drivers/usb/gadget/udc/r8a66597-udc.c
1163
struct r8a66597_ep *ep;
drivers/usb/gadget/udc/r8a66597-udc.c
1176
ep = r8a66597->epaddr2ep[w_index & USB_ENDPOINT_NUMBER_MASK];
drivers/usb/gadget/udc/r8a66597-udc.c
1177
pid = control_reg_get_pid(r8a66597, ep->pipenum);
drivers/usb/gadget/udc/r8a66597-udc.c
1208
struct r8a66597_ep *ep;
drivers/usb/gadget/udc/r8a66597-udc.c
1212
ep = r8a66597->epaddr2ep[w_index & USB_ENDPOINT_NUMBER_MASK];
drivers/usb/gadget/udc/r8a66597-udc.c
1213
if (!ep->wedge) {
drivers/usb/gadget/udc/r8a66597-udc.c
1214
pipe_stop(r8a66597, ep->pipenum);
drivers/usb/gadget/udc/r8a66597-udc.c
1215
control_reg_sqclr(r8a66597, ep->pipenum);
drivers/usb/gadget/udc/r8a66597-udc.c
1217
usb_ep_clear_halt(&ep->ep);
drivers/usb/gadget/udc/r8a66597-udc.c
1223
req = get_request_from_ep(ep);
drivers/usb/gadget/udc/r8a66597-udc.c
1224
if (ep->busy) {
drivers/usb/gadget/udc/r8a66597-udc.c
1225
ep->busy = 0;
drivers/usb/gadget/udc/r8a66597-udc.c
1226
if (list_empty(&ep->queue))
drivers/usb/gadget/udc/r8a66597-udc.c
1228
start_packet(ep, req);
drivers/usb/gadget/udc/r8a66597-udc.c
1229
} else if (!list_empty(&ep->queue))
drivers/usb/gadget/udc/r8a66597-udc.c
1230
pipe_start(r8a66597, ep->pipenum);
drivers/usb/gadget/udc/r8a66597-udc.c
1269
struct r8a66597_ep *ep;
drivers/usb/gadget/udc/r8a66597-udc.c
1272
ep = r8a66597->epaddr2ep[w_index & USB_ENDPOINT_NUMBER_MASK];
drivers/usb/gadget/udc/r8a66597-udc.c
1273
pipe_stall(r8a66597, ep->pipenum);
drivers/usb/gadget/udc/r8a66597-udc.c
1370
struct r8a66597_ep *ep;
drivers/usb/gadget/udc/r8a66597-udc.c
1372
ep = &r8a66597->ep[0];
drivers/usb/gadget/udc/r8a66597-udc.c
1373
req = get_request_from_ep(ep);
drivers/usb/gadget/udc/r8a66597-udc.c
1374
transfer_complete(ep, req, 0);
drivers/usb/gadget/udc/r8a66597-udc.c
1400
static void sudmac_finish(struct r8a66597 *r8a66597, struct r8a66597_ep *ep)
drivers/usb/gadget/udc/r8a66597-udc.c
1407
pipenum = ep->pipenum;
drivers/usb/gadget/udc/r8a66597-udc.c
1410
while (!(r8a66597_read(r8a66597, ep->fifoctr) & FRDY)) {
drivers/usb/gadget/udc/r8a66597-udc.c
1420
r8a66597_bset(r8a66597, BCLR, ep->fifoctr);
drivers/usb/gadget/udc/r8a66597-udc.c
1421
req = get_request_from_ep(ep);
drivers/usb/gadget/udc/r8a66597-udc.c
1432
|| (len % ep->ep.maxpacket)) {
drivers/usb/gadget/udc/r8a66597-udc.c
1433
if (ep->dma->dir) {
drivers/usb/gadget/udc/r8a66597-udc.c
1439
transfer_complete(ep, req, 0);
drivers/usb/gadget/udc/r8a66597-udc.c
1447
struct r8a66597_ep *ep;
drivers/usb/gadget/udc/r8a66597-udc.c
1454
ep = r8a66597->pipenum2ep[pipenum];
drivers/usb/gadget/udc/r8a66597-udc.c
1455
sudmac_finish(r8a66597, ep);
drivers/usb/gadget/udc/r8a66597-udc.c
1552
struct r8a66597_ep *ep;
drivers/usb/gadget/udc/r8a66597-udc.c
1554
ep = container_of(_ep, struct r8a66597_ep, ep);
drivers/usb/gadget/udc/r8a66597-udc.c
1555
return alloc_pipe_config(ep, desc);
drivers/usb/gadget/udc/r8a66597-udc.c
1560
struct r8a66597_ep *ep;
drivers/usb/gadget/udc/r8a66597-udc.c
1564
ep = container_of(_ep, struct r8a66597_ep, ep);
drivers/usb/gadget/udc/r8a66597-udc.c
1565
BUG_ON(!ep);
drivers/usb/gadget/udc/r8a66597-udc.c
1567
while (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/r8a66597-udc.c
1568
req = get_request_from_ep(ep);
drivers/usb/gadget/udc/r8a66597-udc.c
1569
spin_lock_irqsave(&ep->r8a66597->lock, flags);
drivers/usb/gadget/udc/r8a66597-udc.c
1570
transfer_complete(ep, req, -ECONNRESET);
drivers/usb/gadget/udc/r8a66597-udc.c
1571
spin_unlock_irqrestore(&ep->r8a66597->lock, flags);
drivers/usb/gadget/udc/r8a66597-udc.c
1574
pipe_irq_disable(ep->r8a66597, ep->pipenum);
drivers/usb/gadget/udc/r8a66597-udc.c
1575
return free_pipe_config(ep);
drivers/usb/gadget/udc/r8a66597-udc.c
1603
struct r8a66597_ep *ep;
drivers/usb/gadget/udc/r8a66597-udc.c
1608
ep = container_of(_ep, struct r8a66597_ep, ep);
drivers/usb/gadget/udc/r8a66597-udc.c
1611
if (ep->r8a66597->gadget.speed == USB_SPEED_UNKNOWN)
drivers/usb/gadget/udc/r8a66597-udc.c
1614
spin_lock_irqsave(&ep->r8a66597->lock, flags);
drivers/usb/gadget/udc/r8a66597-udc.c
1616
if (list_empty(&ep->queue))
drivers/usb/gadget/udc/r8a66597-udc.c
1619
list_add_tail(&req->queue, &ep->queue);
drivers/usb/gadget/udc/r8a66597-udc.c
1623
if (ep->ep.desc == NULL) /* control */
drivers/usb/gadget/udc/r8a66597-udc.c
1624
start_ep0(ep, req);
drivers/usb/gadget/udc/r8a66597-udc.c
1626
if (request && !ep->busy)
drivers/usb/gadget/udc/r8a66597-udc.c
1627
start_packet(ep, req);
drivers/usb/gadget/udc/r8a66597-udc.c
1630
spin_unlock_irqrestore(&ep->r8a66597->lock, flags);
drivers/usb/gadget/udc/r8a66597-udc.c
1637
struct r8a66597_ep *ep;
drivers/usb/gadget/udc/r8a66597-udc.c
1641
ep = container_of(_ep, struct r8a66597_ep, ep);
drivers/usb/gadget/udc/r8a66597-udc.c
1644
spin_lock_irqsave(&ep->r8a66597->lock, flags);
drivers/usb/gadget/udc/r8a66597-udc.c
1645
if (!list_empty(&ep->queue))
drivers/usb/gadget/udc/r8a66597-udc.c
1646
transfer_complete(ep, req, -ECONNRESET);
drivers/usb/gadget/udc/r8a66597-udc.c
1647
spin_unlock_irqrestore(&ep->r8a66597->lock, flags);
drivers/usb/gadget/udc/r8a66597-udc.c
1654
struct r8a66597_ep *ep = container_of(_ep, struct r8a66597_ep, ep);
drivers/usb/gadget/udc/r8a66597-udc.c
1658
spin_lock_irqsave(&ep->r8a66597->lock, flags);
drivers/usb/gadget/udc/r8a66597-udc.c
1659
if (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/r8a66597-udc.c
1662
ep->busy = 1;
drivers/usb/gadget/udc/r8a66597-udc.c
1663
pipe_stall(ep->r8a66597, ep->pipenum);
drivers/usb/gadget/udc/r8a66597-udc.c
1665
ep->busy = 0;
drivers/usb/gadget/udc/r8a66597-udc.c
1666
ep->wedge = 0;
drivers/usb/gadget/udc/r8a66597-udc.c
1667
pipe_stop(ep->r8a66597, ep->pipenum);
drivers/usb/gadget/udc/r8a66597-udc.c
1669
spin_unlock_irqrestore(&ep->r8a66597->lock, flags);
drivers/usb/gadget/udc/r8a66597-udc.c
1675
struct r8a66597_ep *ep;
drivers/usb/gadget/udc/r8a66597-udc.c
1678
ep = container_of(_ep, struct r8a66597_ep, ep);
drivers/usb/gadget/udc/r8a66597-udc.c
1680
if (!ep || !ep->ep.desc)
drivers/usb/gadget/udc/r8a66597-udc.c
1683
spin_lock_irqsave(&ep->r8a66597->lock, flags);
drivers/usb/gadget/udc/r8a66597-udc.c
1684
ep->wedge = 1;
drivers/usb/gadget/udc/r8a66597-udc.c
1685
spin_unlock_irqrestore(&ep->r8a66597->lock, flags);
drivers/usb/gadget/udc/r8a66597-udc.c
1692
struct r8a66597_ep *ep;
drivers/usb/gadget/udc/r8a66597-udc.c
1695
ep = container_of(_ep, struct r8a66597_ep, ep);
drivers/usb/gadget/udc/r8a66597-udc.c
1696
spin_lock_irqsave(&ep->r8a66597->lock, flags);
drivers/usb/gadget/udc/r8a66597-udc.c
1697
if (list_empty(&ep->queue) && !ep->busy) {
drivers/usb/gadget/udc/r8a66597-udc.c
1698
pipe_stop(ep->r8a66597, ep->pipenum);
drivers/usb/gadget/udc/r8a66597-udc.c
1699
r8a66597_bclr(ep->r8a66597, BCLR, ep->fifoctr);
drivers/usb/gadget/udc/r8a66597-udc.c
1700
r8a66597_write(ep->r8a66597, ACLRM, ep->pipectr);
drivers/usb/gadget/udc/r8a66597-udc.c
1701
r8a66597_write(ep->r8a66597, 0, ep->pipectr);
drivers/usb/gadget/udc/r8a66597-udc.c
1703
spin_unlock_irqrestore(&ep->r8a66597->lock, flags);
drivers/usb/gadget/udc/r8a66597-udc.c
1814
r8a66597_free_request(&r8a66597->ep[0].ep, r8a66597->ep0_req);
drivers/usb/gadget/udc/r8a66597-udc.c
1821
static void nop_completion(struct usb_ep *ep, struct usb_request *r)
drivers/usb/gadget/udc/r8a66597-udc.c
1903
r8a66597->gadget.ep0 = &r8a66597->ep[0].ep;
drivers/usb/gadget/udc/r8a66597-udc.c
1906
struct r8a66597_ep *ep = &r8a66597->ep[i];
drivers/usb/gadget/udc/r8a66597-udc.c
1909
INIT_LIST_HEAD(&r8a66597->ep[i].ep.ep_list);
drivers/usb/gadget/udc/r8a66597-udc.c
1910
list_add_tail(&r8a66597->ep[i].ep.ep_list,
drivers/usb/gadget/udc/r8a66597-udc.c
1913
ep->r8a66597 = r8a66597;
drivers/usb/gadget/udc/r8a66597-udc.c
1914
INIT_LIST_HEAD(&ep->queue);
drivers/usb/gadget/udc/r8a66597-udc.c
1915
ep->ep.name = r8a66597_ep_name[i];
drivers/usb/gadget/udc/r8a66597-udc.c
1916
ep->ep.ops = &r8a66597_ep_ops;
drivers/usb/gadget/udc/r8a66597-udc.c
1917
usb_ep_set_maxpacket_limit(&ep->ep, 512);
drivers/usb/gadget/udc/r8a66597-udc.c
1920
ep->ep.caps.type_control = true;
drivers/usb/gadget/udc/r8a66597-udc.c
1922
ep->ep.caps.type_iso = true;
drivers/usb/gadget/udc/r8a66597-udc.c
1923
ep->ep.caps.type_bulk = true;
drivers/usb/gadget/udc/r8a66597-udc.c
1924
ep->ep.caps.type_int = true;
drivers/usb/gadget/udc/r8a66597-udc.c
1926
ep->ep.caps.dir_in = true;
drivers/usb/gadget/udc/r8a66597-udc.c
1927
ep->ep.caps.dir_out = true;
drivers/usb/gadget/udc/r8a66597-udc.c
1929
usb_ep_set_maxpacket_limit(&r8a66597->ep[0].ep, 64);
drivers/usb/gadget/udc/r8a66597-udc.c
1930
r8a66597->ep[0].pipenum = 0;
drivers/usb/gadget/udc/r8a66597-udc.c
1931
r8a66597->ep[0].fifoaddr = CFIFO;
drivers/usb/gadget/udc/r8a66597-udc.c
1932
r8a66597->ep[0].fifosel = CFIFOSEL;
drivers/usb/gadget/udc/r8a66597-udc.c
1933
r8a66597->ep[0].fifoctr = CFIFOCTR;
drivers/usb/gadget/udc/r8a66597-udc.c
1934
r8a66597->ep[0].pipectr = get_pipectr_addr(0);
drivers/usb/gadget/udc/r8a66597-udc.c
1935
r8a66597->pipenum2ep[0] = &r8a66597->ep[0];
drivers/usb/gadget/udc/r8a66597-udc.c
1936
r8a66597->epaddr2ep[0] = &r8a66597->ep[0];
drivers/usb/gadget/udc/r8a66597-udc.c
1938
r8a66597->ep0_req = r8a66597_alloc_request(&r8a66597->ep[0].ep,
drivers/usb/gadget/udc/r8a66597-udc.c
1954
r8a66597_free_request(&r8a66597->ep[0].ep, r8a66597->ep0_req);
drivers/usb/gadget/udc/r8a66597-udc.c
1960
r8a66597_free_request(&r8a66597->ep[0].ep, r8a66597->ep0_req);
drivers/usb/gadget/udc/r8a66597-udc.c
298
struct r8a66597_ep *ep = r8a66597->pipenum2ep[pipenum];
drivers/usb/gadget/udc/r8a66597-udc.c
300
if (ep->use_dma)
drivers/usb/gadget/udc/r8a66597-udc.c
301
r8a66597_bclr(r8a66597, DREQE, ep->fifosel);
drivers/usb/gadget/udc/r8a66597-udc.c
303
r8a66597_mdfy(r8a66597, pipenum, CURPIPE, ep->fifosel);
drivers/usb/gadget/udc/r8a66597-udc.c
307
if (r8a66597_is_sudmac(r8a66597) && ep->use_dma)
drivers/usb/gadget/udc/r8a66597-udc.c
308
r8a66597_bclr(r8a66597, mbw_value(r8a66597), ep->fifosel);
drivers/usb/gadget/udc/r8a66597-udc.c
310
r8a66597_bset(r8a66597, mbw_value(r8a66597), ep->fifosel);
drivers/usb/gadget/udc/r8a66597-udc.c
312
if (ep->use_dma)
drivers/usb/gadget/udc/r8a66597-udc.c
313
r8a66597_bset(r8a66597, DREQE, ep->fifosel);
drivers/usb/gadget/udc/r8a66597-udc.c
35
static void irq_ep0_write(struct r8a66597_ep *ep, struct r8a66597_request *req);
drivers/usb/gadget/udc/r8a66597-udc.c
36
static void irq_packet_write(struct r8a66597_ep *ep,
drivers/usb/gadget/udc/r8a66597-udc.c
391
static void pipe_initialize(struct r8a66597_ep *ep)
drivers/usb/gadget/udc/r8a66597-udc.c
393
struct r8a66597 *r8a66597 = ep->r8a66597;
drivers/usb/gadget/udc/r8a66597-udc.c
395
r8a66597_mdfy(r8a66597, 0, CURPIPE, ep->fifosel);
drivers/usb/gadget/udc/r8a66597-udc.c
397
r8a66597_write(r8a66597, ACLRM, ep->pipectr);
drivers/usb/gadget/udc/r8a66597-udc.c
398
r8a66597_write(r8a66597, 0, ep->pipectr);
drivers/usb/gadget/udc/r8a66597-udc.c
399
r8a66597_write(r8a66597, SQCLR, ep->pipectr);
drivers/usb/gadget/udc/r8a66597-udc.c
400
if (ep->use_dma) {
drivers/usb/gadget/udc/r8a66597-udc.c
401
r8a66597_mdfy(r8a66597, ep->pipenum, CURPIPE, ep->fifosel);
drivers/usb/gadget/udc/r8a66597-udc.c
405
r8a66597_bset(r8a66597, mbw_value(r8a66597), ep->fifosel);
drivers/usb/gadget/udc/r8a66597-udc.c
41
static void transfer_complete(struct r8a66597_ep *ep,
drivers/usb/gadget/udc/r8a66597-udc.c
410
struct r8a66597_ep *ep,
drivers/usb/gadget/udc/r8a66597-udc.c
414
ep->use_dma = 0;
drivers/usb/gadget/udc/r8a66597-udc.c
415
ep->fifoaddr = CFIFO;
drivers/usb/gadget/udc/r8a66597-udc.c
416
ep->fifosel = CFIFOSEL;
drivers/usb/gadget/udc/r8a66597-udc.c
417
ep->fifoctr = CFIFOCTR;
drivers/usb/gadget/udc/r8a66597-udc.c
419
ep->pipectr = get_pipectr_addr(pipenum);
drivers/usb/gadget/udc/r8a66597-udc.c
421
ep->pipetre = get_pipetre_addr(pipenum);
drivers/usb/gadget/udc/r8a66597-udc.c
422
ep->pipetrn = get_pipetrn_addr(pipenum);
drivers/usb/gadget/udc/r8a66597-udc.c
424
ep->pipetre = 0;
drivers/usb/gadget/udc/r8a66597-udc.c
425
ep->pipetrn = 0;
drivers/usb/gadget/udc/r8a66597-udc.c
427
ep->pipenum = pipenum;
drivers/usb/gadget/udc/r8a66597-udc.c
428
ep->ep.maxpacket = usb_endpoint_maxp(desc);
drivers/usb/gadget/udc/r8a66597-udc.c
429
r8a66597->pipenum2ep[pipenum] = ep;
drivers/usb/gadget/udc/r8a66597-udc.c
431
= ep;
drivers/usb/gadget/udc/r8a66597-udc.c
432
INIT_LIST_HEAD(&ep->queue);
drivers/usb/gadget/udc/r8a66597-udc.c
435
static void r8a66597_ep_release(struct r8a66597_ep *ep)
drivers/usb/gadget/udc/r8a66597-udc.c
437
struct r8a66597 *r8a66597 = ep->r8a66597;
drivers/usb/gadget/udc/r8a66597-udc.c
438
u16 pipenum = ep->pipenum;
drivers/usb/gadget/udc/r8a66597-udc.c
443
if (ep->use_dma)
drivers/usb/gadget/udc/r8a66597-udc.c
445
ep->pipenum = 0;
drivers/usb/gadget/udc/r8a66597-udc.c
446
ep->busy = 0;
drivers/usb/gadget/udc/r8a66597-udc.c
447
ep->use_dma = 0;
drivers/usb/gadget/udc/r8a66597-udc.c
450
static int alloc_pipe_config(struct r8a66597_ep *ep,
drivers/usb/gadget/udc/r8a66597-udc.c
453
struct r8a66597 *r8a66597 = ep->r8a66597;
drivers/usb/gadget/udc/r8a66597-udc.c
459
ep->ep.desc = desc;
drivers/usb/gadget/udc/r8a66597-udc.c
461
if (ep->pipenum) /* already allocated pipe */
drivers/usb/gadget/udc/r8a66597-udc.c
507
ep->type = info.type;
drivers/usb/gadget/udc/r8a66597-udc.c
528
r8a66597_ep_setting(r8a66597, ep, desc, info.pipe, dma);
drivers/usb/gadget/udc/r8a66597-udc.c
529
pipe_initialize(ep);
drivers/usb/gadget/udc/r8a66597-udc.c
534
static int free_pipe_config(struct r8a66597_ep *ep)
drivers/usb/gadget/udc/r8a66597-udc.c
536
struct r8a66597 *r8a66597 = ep->r8a66597;
drivers/usb/gadget/udc/r8a66597-udc.c
539
info.pipe = ep->pipenum;
drivers/usb/gadget/udc/r8a66597-udc.c
540
info.type = ep->type;
drivers/usb/gadget/udc/r8a66597-udc.c
542
r8a66597_ep_release(ep);
drivers/usb/gadget/udc/r8a66597-udc.c
563
r8a66597->ep[0].internal_ccpl = ccpl;
drivers/usb/gadget/udc/r8a66597-udc.c
568
static void start_ep0_write(struct r8a66597_ep *ep,
drivers/usb/gadget/udc/r8a66597-udc.c
571
struct r8a66597 *r8a66597 = ep->r8a66597;
drivers/usb/gadget/udc/r8a66597-udc.c
573
pipe_change(r8a66597, ep->pipenum);
drivers/usb/gadget/udc/r8a66597-udc.c
575
r8a66597_write(r8a66597, BCLR, ep->fifoctr);
drivers/usb/gadget/udc/r8a66597-udc.c
577
r8a66597_bset(r8a66597, BVAL, ep->fifoctr);
drivers/usb/gadget/udc/r8a66597-udc.c
579
transfer_complete(ep, req, 0);
drivers/usb/gadget/udc/r8a66597-udc.c
582
irq_ep0_write(ep, req);
drivers/usb/gadget/udc/r8a66597-udc.c
599
struct r8a66597_ep *ep = r8a66597->pipenum2ep[pipenum];
drivers/usb/gadget/udc/r8a66597-udc.c
623
r8a66597_bset(r8a66597, ACLRM, ep->pipectr);
drivers/usb/gadget/udc/r8a66597-udc.c
624
r8a66597_bclr(r8a66597, ACLRM, ep->pipectr);
drivers/usb/gadget/udc/r8a66597-udc.c
630
struct r8a66597_ep *ep,
drivers/usb/gadget/udc/r8a66597-udc.c
639
if (!is_bulk_pipe(ep->pipenum))
drivers/usb/gadget/udc/r8a66597-udc.c
648
if (ep->ep.desc->bEndpointAddress & USB_DIR_IN) {
drivers/usb/gadget/udc/r8a66597-udc.c
652
change_bfre_mode(r8a66597, ep->pipenum, 1);
drivers/usb/gadget/udc/r8a66597-udc.c
656
ep->use_dma = 1;
drivers/usb/gadget/udc/r8a66597-udc.c
657
ep->dma = dma;
drivers/usb/gadget/udc/r8a66597-udc.c
658
ep->fifoaddr = D0FIFO;
drivers/usb/gadget/udc/r8a66597-udc.c
659
ep->fifosel = D0FIFOSEL;
drivers/usb/gadget/udc/r8a66597-udc.c
660
ep->fifoctr = D0FIFOCTR;
drivers/usb/gadget/udc/r8a66597-udc.c
667
struct r8a66597_ep *ep,
drivers/usb/gadget/udc/r8a66597-udc.c
673
usb_gadget_unmap_request(&r8a66597->gadget, &req->req, ep->dma->dir);
drivers/usb/gadget/udc/r8a66597-udc.c
675
r8a66597_bclr(r8a66597, DREQE, ep->fifosel);
drivers/usb/gadget/udc/r8a66597-udc.c
676
r8a66597_change_curpipe(r8a66597, 0, 0, ep->fifosel);
drivers/usb/gadget/udc/r8a66597-udc.c
678
ep->dma->used = 0;
drivers/usb/gadget/udc/r8a66597-udc.c
679
ep->use_dma = 0;
drivers/usb/gadget/udc/r8a66597-udc.c
680
ep->fifoaddr = CFIFO;
drivers/usb/gadget/udc/r8a66597-udc.c
681
ep->fifosel = CFIFOSEL;
drivers/usb/gadget/udc/r8a66597-udc.c
682
ep->fifoctr = CFIFOCTR;
drivers/usb/gadget/udc/r8a66597-udc.c
685
static void sudmac_start(struct r8a66597 *r8a66597, struct r8a66597_ep *ep,
drivers/usb/gadget/udc/r8a66597-udc.c
698
static void start_packet_write(struct r8a66597_ep *ep,
drivers/usb/gadget/udc/r8a66597-udc.c
701
struct r8a66597 *r8a66597 = ep->r8a66597;
drivers/usb/gadget/udc/r8a66597-udc.c
704
pipe_change(r8a66597, ep->pipenum);
drivers/usb/gadget/udc/r8a66597-udc.c
705
disable_irq_empty(r8a66597, ep->pipenum);
drivers/usb/gadget/udc/r8a66597-udc.c
706
pipe_start(r8a66597, ep->pipenum);
drivers/usb/gadget/udc/r8a66597-udc.c
709
transfer_complete(ep, req, 0);
drivers/usb/gadget/udc/r8a66597-udc.c
711
r8a66597_write(r8a66597, ~(1 << ep->pipenum), BRDYSTS);
drivers/usb/gadget/udc/r8a66597-udc.c
712
if (sudmac_alloc_channel(r8a66597, ep, req) < 0) {
drivers/usb/gadget/udc/r8a66597-udc.c
714
pipe_change(r8a66597, ep->pipenum);
drivers/usb/gadget/udc/r8a66597-udc.c
715
disable_irq_empty(r8a66597, ep->pipenum);
drivers/usb/gadget/udc/r8a66597-udc.c
716
pipe_start(r8a66597, ep->pipenum);
drivers/usb/gadget/udc/r8a66597-udc.c
717
tmp = r8a66597_read(r8a66597, ep->fifoctr);
drivers/usb/gadget/udc/r8a66597-udc.c
719
pipe_irq_enable(r8a66597, ep->pipenum);
drivers/usb/gadget/udc/r8a66597-udc.c
721
irq_packet_write(ep, req);
drivers/usb/gadget/udc/r8a66597-udc.c
724
pipe_change(r8a66597, ep->pipenum);
drivers/usb/gadget/udc/r8a66597-udc.c
725
disable_irq_nrdy(r8a66597, ep->pipenum);
drivers/usb/gadget/udc/r8a66597-udc.c
726
pipe_start(r8a66597, ep->pipenum);
drivers/usb/gadget/udc/r8a66597-udc.c
727
enable_irq_nrdy(r8a66597, ep->pipenum);
drivers/usb/gadget/udc/r8a66597-udc.c
728
sudmac_start(r8a66597, ep, req);
drivers/usb/gadget/udc/r8a66597-udc.c
733
static void start_packet_read(struct r8a66597_ep *ep,
drivers/usb/gadget/udc/r8a66597-udc.c
736
struct r8a66597 *r8a66597 = ep->r8a66597;
drivers/usb/gadget/udc/r8a66597-udc.c
737
u16 pipenum = ep->pipenum;
drivers/usb/gadget/udc/r8a66597-udc.c
739
if (ep->pipenum == 0) {
drivers/usb/gadget/udc/r8a66597-udc.c
741
r8a66597_write(r8a66597, BCLR, ep->fifoctr);
drivers/usb/gadget/udc/r8a66597-udc.c
746
if (ep->pipetre) {
drivers/usb/gadget/udc/r8a66597-udc.c
748
r8a66597_write(r8a66597, TRCLR, ep->pipetre);
drivers/usb/gadget/udc/r8a66597-udc.c
750
DIV_ROUND_UP(req->req.length, ep->ep.maxpacket),
drivers/usb/gadget/udc/r8a66597-udc.c
751
ep->pipetrn);
drivers/usb/gadget/udc/r8a66597-udc.c
752
r8a66597_bset(r8a66597, TRENB, ep->pipetre);
drivers/usb/gadget/udc/r8a66597-udc.c
755
if (sudmac_alloc_channel(r8a66597, ep, req) < 0) {
drivers/usb/gadget/udc/r8a66597-udc.c
757
change_bfre_mode(r8a66597, ep->pipenum, 0);
drivers/usb/gadget/udc/r8a66597-udc.c
762
sudmac_start(r8a66597, ep, req);
drivers/usb/gadget/udc/r8a66597-udc.c
768
static void start_packet(struct r8a66597_ep *ep, struct r8a66597_request *req)
drivers/usb/gadget/udc/r8a66597-udc.c
770
if (ep->ep.desc->bEndpointAddress & USB_DIR_IN)
drivers/usb/gadget/udc/r8a66597-udc.c
771
start_packet_write(ep, req);
drivers/usb/gadget/udc/r8a66597-udc.c
773
start_packet_read(ep, req);
drivers/usb/gadget/udc/r8a66597-udc.c
776
static void start_ep0(struct r8a66597_ep *ep, struct r8a66597_request *req)
drivers/usb/gadget/udc/r8a66597-udc.c
780
ctsq = r8a66597_read(ep->r8a66597, INTSTS0) & CTSQ;
drivers/usb/gadget/udc/r8a66597-udc.c
784
start_ep0_write(ep, req);
drivers/usb/gadget/udc/r8a66597-udc.c
787
start_packet_read(ep, req);
drivers/usb/gadget/udc/r8a66597-udc.c
791
control_end(ep->r8a66597, 0);
drivers/usb/gadget/udc/r8a66597-udc.c
794
dev_err(r8a66597_to_dev(ep->r8a66597),
drivers/usb/gadget/udc/r8a66597-udc.c
892
static struct r8a66597_request *get_request_from_ep(struct r8a66597_ep *ep)
drivers/usb/gadget/udc/r8a66597-udc.c
894
return list_entry(ep->queue.next, struct r8a66597_request, queue);
drivers/usb/gadget/udc/r8a66597-udc.c
898
static void transfer_complete(struct r8a66597_ep *ep,
drivers/usb/gadget/udc/r8a66597-udc.c
905
if (unlikely(ep->pipenum == 0)) {
drivers/usb/gadget/udc/r8a66597-udc.c
906
if (ep->internal_ccpl) {
drivers/usb/gadget/udc/r8a66597-udc.c
907
ep->internal_ccpl = 0;
drivers/usb/gadget/udc/r8a66597-udc.c
913
if (ep->r8a66597->gadget.speed == USB_SPEED_UNKNOWN)
drivers/usb/gadget/udc/r8a66597-udc.c
918
if (!list_empty(&ep->queue))
drivers/usb/gadget/udc/r8a66597-udc.c
921
if (ep->use_dma)
drivers/usb/gadget/udc/r8a66597-udc.c
922
sudmac_free_channel(ep->r8a66597, ep, req);
drivers/usb/gadget/udc/r8a66597-udc.c
924
spin_unlock(&ep->r8a66597->lock);
drivers/usb/gadget/udc/r8a66597-udc.c
925
usb_gadget_giveback_request(&ep->ep, &req->req);
drivers/usb/gadget/udc/r8a66597-udc.c
926
spin_lock(&ep->r8a66597->lock);
drivers/usb/gadget/udc/r8a66597-udc.c
929
req = get_request_from_ep(ep);
drivers/usb/gadget/udc/r8a66597-udc.c
930
if (ep->ep.desc)
drivers/usb/gadget/udc/r8a66597-udc.c
931
start_packet(ep, req);
drivers/usb/gadget/udc/r8a66597-udc.c
935
static void irq_ep0_write(struct r8a66597_ep *ep, struct r8a66597_request *req)
drivers/usb/gadget/udc/r8a66597-udc.c
942
u16 pipenum = ep->pipenum;
drivers/usb/gadget/udc/r8a66597-udc.c
943
struct r8a66597 *r8a66597 = ep->r8a66597;
drivers/usb/gadget/udc/r8a66597-udc.c
946
r8a66597_bset(r8a66597, ISEL, ep->fifosel);
drivers/usb/gadget/udc/r8a66597-udc.c
950
tmp = r8a66597_read(r8a66597, ep->fifoctr);
drivers/usb/gadget/udc/r8a66597-udc.c
968
r8a66597_write_fifo(r8a66597, ep, buf, size);
drivers/usb/gadget/udc/r8a66597-udc.c
969
if ((size == 0) || ((size % ep->ep.maxpacket) != 0))
drivers/usb/gadget/udc/r8a66597-udc.c
970
r8a66597_bset(r8a66597, BVAL, ep->fifoctr);
drivers/usb/gadget/udc/r8a66597-udc.c
978
|| (size % ep->ep.maxpacket)
drivers/usb/gadget/udc/r8a66597-udc.c
98
INIT_LIST_HEAD(&r8a66597->ep[0].queue);
drivers/usb/gadget/udc/r8a66597-udc.c
989
static void irq_packet_write(struct r8a66597_ep *ep,
drivers/usb/gadget/udc/r8a66597-udc.c
996
u16 pipenum = ep->pipenum;
drivers/usb/gadget/udc/r8a66597-udc.c
997
struct r8a66597 *r8a66597 = ep->r8a66597;
drivers/usb/gadget/udc/r8a66597-udc.h
195
struct r8a66597_ep *ep,
drivers/usb/gadget/udc/r8a66597-udc.h
199
void __iomem *fifoaddr = r8a66597->reg + ep->fifoaddr;
drivers/usb/gadget/udc/r8a66597-udc.h
228
r8a66597_bclr(r8a66597, MBW_16, ep->fifosel);
drivers/usb/gadget/udc/r8a66597-udc.h
232
r8a66597_bclr(r8a66597, MBW_16, ep->fifosel);
drivers/usb/gadget/udc/r8a66597-udc.h
56
struct usb_ep ep;
drivers/usb/gadget/udc/r8a66597-udc.h
95
struct r8a66597_ep ep[R8A66597_MAX_NUM_PIPE];
drivers/usb/gadget/udc/renesas_usb3.c
1122
(req->actual % usb3_ep->ep.maxpacket) || (req->length == 0))
drivers/usb/gadget/udc/renesas_usb3.c
1155
usb3_ep->ep.maxpacket);
drivers/usb/gadget/udc/renesas_usb3.c
1300
switch (usb3_ep->ep.maxpacket) {
drivers/usb/gadget/udc/renesas_usb3.c
1632
void (*complete)(struct usb_ep *ep,
drivers/usb/gadget/udc/renesas_usb3.c
1644
renesas_usb3_ep_queue(&usb3_ep->ep, usb3->ep0_req, GFP_ATOMIC);
drivers/usb/gadget/udc/renesas_usb3.c
1647
static void usb3_pipe0_get_status_completion(struct usb_ep *ep,
drivers/usb/gadget/udc/renesas_usb3.c
1826
static void usb3_pipe0_set_sel_completion(struct usb_ep *ep,
drivers/usb/gadget/udc/renesas_usb3.c
2703
usb3_ep->ep.name = usb3_ep->ep_name;
drivers/usb/gadget/udc/renesas_usb3.c
2704
usb3_ep->ep.ops = &renesas_usb3_ep_ops;
drivers/usb/gadget/udc/renesas_usb3.c
2706
INIT_LIST_HEAD(&usb3_ep->ep.ep_list);
drivers/usb/gadget/udc/renesas_usb3.c
2709
usb3->gadget.ep0 = &usb3_ep->ep;
drivers/usb/gadget/udc/renesas_usb3.c
2710
usb_ep_set_maxpacket_limit(&usb3_ep->ep,
drivers/usb/gadget/udc/renesas_usb3.c
2712
usb3_ep->ep.caps.type_control = true;
drivers/usb/gadget/udc/renesas_usb3.c
2713
usb3_ep->ep.caps.dir_in = true;
drivers/usb/gadget/udc/renesas_usb3.c
2714
usb3_ep->ep.caps.dir_out = true;
drivers/usb/gadget/udc/renesas_usb3.c
2719
usb_ep_set_maxpacket_limit(&usb3_ep->ep, ~0);
drivers/usb/gadget/udc/renesas_usb3.c
2720
list_add_tail(&usb3_ep->ep.ep_list, &usb3->gadget.ep_list);
drivers/usb/gadget/udc/renesas_usb3.c
2721
usb3_ep->ep.caps.type_bulk = true;
drivers/usb/gadget/udc/renesas_usb3.c
2722
usb3_ep->ep.caps.type_int = true;
drivers/usb/gadget/udc/renesas_usb3.c
2724
usb3_ep->ep.caps.dir_in = true;
drivers/usb/gadget/udc/renesas_usb3.c
2726
usb3_ep->ep.caps.dir_out = true;
drivers/usb/gadget/udc/renesas_usb3.c
2752
if (usb3_ep->ep.caps.dir_in) {
drivers/usb/gadget/udc/renesas_usb3.c
315
struct usb_ep ep;
drivers/usb/gadget/udc/renesas_usb3.c
381
#define usb_ep_to_usb3_ep(_ep) container_of(_ep, struct renesas_usb3_ep, ep)
drivers/usb/gadget/udc/renesas_usb3.c
977
usb_gadget_giveback_request(&usb3_ep->ep, &usb3_req->req);
drivers/usb/gadget/udc/renesas_usbf.c
1028
if (recv < epn->ep.maxpacket) {
drivers/usb/gadget/udc/renesas_usbf.c
1066
usbf_ep_dma_reg_writel(epn, USBF_REG_DMA_EPN_DCR2, USBF_SYS_EPN_MPKT(epn->ep.maxpacket));
drivers/usb/gadget/udc/renesas_usbf.c
1180
return dmacnt * epn->ep.maxpacket;
drivers/usb/gadget/udc/renesas_usbf.c
1232
recv, left, epn->ep.maxpacket);
drivers/usb/gadget/udc/renesas_usbf.c
1241
if (recv < epn->ep.maxpacket) {
drivers/usb/gadget/udc/renesas_usbf.c
1289
npkt = left / epn->ep.maxpacket;
drivers/usb/gadget/udc/renesas_usbf.c
1293
req->dma_size = npkt * epn->ep.maxpacket;
drivers/usb/gadget/udc/renesas_usbf.c
1537
static void usbf_ep_req_done(struct usbf_ep *ep, struct usbf_req *req,
drivers/usb/gadget/udc/renesas_usbf.c
1549
dev_dbg(ep->udc->dev, "ep%u %s req done length %u/%u, status=%d\n", ep->id,
drivers/usb/gadget/udc/renesas_usbf.c
1550
ep->is_in ? "in" : "out",
drivers/usb/gadget/udc/renesas_usbf.c
1554
usbf_epn_dma_abort(ep, req);
drivers/usb/gadget/udc/renesas_usbf.c
1556
spin_unlock(&ep->udc->lock);
drivers/usb/gadget/udc/renesas_usbf.c
1557
usb_gadget_giveback_request(&ep->ep, &req->req);
drivers/usb/gadget/udc/renesas_usbf.c
1558
spin_lock(&ep->udc->lock);
drivers/usb/gadget/udc/renesas_usbf.c
1561
static void usbf_ep_nuke(struct usbf_ep *ep, int status)
drivers/usb/gadget/udc/renesas_usbf.c
1565
dev_dbg(ep->udc->dev, "ep%u %s nuke status %d\n", ep->id,
drivers/usb/gadget/udc/renesas_usbf.c
1566
ep->is_in ? "in" : "out",
drivers/usb/gadget/udc/renesas_usbf.c
1569
while (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/renesas_usbf.c
1570
req = list_first_entry(&ep->queue, struct usbf_req, queue);
drivers/usb/gadget/udc/renesas_usbf.c
1571
usbf_ep_req_done(ep, req, status);
drivers/usb/gadget/udc/renesas_usbf.c
1574
if (ep->id == 0)
drivers/usb/gadget/udc/renesas_usbf.c
1575
usbf_ep0_fifo_flush(ep);
drivers/usb/gadget/udc/renesas_usbf.c
1577
usbf_epn_fifo_flush(ep);
drivers/usb/gadget/udc/renesas_usbf.c
1580
static bool usbf_ep_is_stalled(struct usbf_ep *ep)
drivers/usb/gadget/udc/renesas_usbf.c
1584
if (ep->id == 0) {
drivers/usb/gadget/udc/renesas_usbf.c
1585
ctrl = usbf_ep_reg_readl(ep, USBF_REG_EP0_CONTROL);
drivers/usb/gadget/udc/renesas_usbf.c
1589
ctrl = usbf_ep_reg_readl(ep, USBF_REG_EPN_CONTROL);
drivers/usb/gadget/udc/renesas_usbf.c
1590
if (ep->is_in)
drivers/usb/gadget/udc/renesas_usbf.c
1643
static int usbf_ep_process_queue(struct usbf_ep *ep)
drivers/usb/gadget/udc/renesas_usbf.c
1645
int (*usbf_ep_xfer)(struct usbf_ep *ep, struct usbf_req *req);
drivers/usb/gadget/udc/renesas_usbf.c
1650
if (ep->is_in) {
drivers/usb/gadget/udc/renesas_usbf.c
1652
if (ep->id) {
drivers/usb/gadget/udc/renesas_usbf.c
1653
usbf_ep_xfer = ep->dma_regs ?
drivers/usb/gadget/udc/renesas_usbf.c
1658
if (ep->id) {
drivers/usb/gadget/udc/renesas_usbf.c
1659
usbf_ep_xfer = ep->dma_regs ?
drivers/usb/gadget/udc/renesas_usbf.c
1664
req = list_first_entry_or_null(&ep->queue, struct usbf_req, queue);
drivers/usb/gadget/udc/renesas_usbf.c
1666
dev_err(ep->udc->dev,
drivers/usb/gadget/udc/renesas_usbf.c
1667
"no request available for ep%u %s process\n", ep->id,
drivers/usb/gadget/udc/renesas_usbf.c
1668
ep->is_in ? "in" : "out");
drivers/usb/gadget/udc/renesas_usbf.c
1677
if (!ep->is_in && ep->id != 0) {
drivers/usb/gadget/udc/renesas_usbf.c
1678
usbf_ep_reg_bitset(ep, USBF_REG_EPN_CONTROL,
drivers/usb/gadget/udc/renesas_usbf.c
1682
ret = usbf_ep_xfer(ep, req);
drivers/usb/gadget/udc/renesas_usbf.c
1684
if (!ep->is_in && ep->id != 0) {
drivers/usb/gadget/udc/renesas_usbf.c
1688
usbf_ep_reg_bitclr(ep, USBF_REG_EPN_CONTROL,
drivers/usb/gadget/udc/renesas_usbf.c
1694
is_processing = ep->is_processing;
drivers/usb/gadget/udc/renesas_usbf.c
1695
ep->is_processing = 1;
drivers/usb/gadget/udc/renesas_usbf.c
1696
usbf_ep_req_done(ep, req, ret);
drivers/usb/gadget/udc/renesas_usbf.c
1697
ep->is_processing = is_processing;
drivers/usb/gadget/udc/renesas_usbf.c
1705
if (ep->id == 0)
drivers/usb/gadget/udc/renesas_usbf.c
1706
usbf_ep0_fifo_flush(ep);
drivers/usb/gadget/udc/renesas_usbf.c
1708
usbf_epn_fifo_flush(ep);
drivers/usb/gadget/udc/renesas_usbf.c
1711
req = list_first_entry_or_null(&ep->queue, struct usbf_req,
drivers/usb/gadget/udc/renesas_usbf.c
1714
if (ep->is_in)
drivers/usb/gadget/udc/renesas_usbf.c
1717
if (ep->id != 0) {
drivers/usb/gadget/udc/renesas_usbf.c
1722
usbf_ep_reg_bitclr(ep, USBF_REG_EPN_CONTROL,
drivers/usb/gadget/udc/renesas_usbf.c
1728
usbf_ep_reg_bitclr(ep, USBF_REG_EPN_INT_ENA,
drivers/usb/gadget/udc/renesas_usbf.c
1740
static void usbf_ep_stall(struct usbf_ep *ep, bool stall)
drivers/usb/gadget/udc/renesas_usbf.c
1744
dev_dbg(ep->udc->dev, "ep%u %s %s\n", ep->id,
drivers/usb/gadget/udc/renesas_usbf.c
1745
ep->is_in ? "in" : "out",
drivers/usb/gadget/udc/renesas_usbf.c
1748
if (ep->id == 0) {
drivers/usb/gadget/udc/renesas_usbf.c
1750
usbf_ep_reg_bitset(ep, USBF_REG_EP0_CONTROL, USBF_EP0_STL);
drivers/usb/gadget/udc/renesas_usbf.c
1752
usbf_ep_reg_bitclr(ep, USBF_REG_EP0_CONTROL, USBF_EP0_STL);
drivers/usb/gadget/udc/renesas_usbf.c
1757
if (ep->is_in)
drivers/usb/gadget/udc/renesas_usbf.c
1758
usbf_ep_reg_bitset(ep, USBF_REG_EPN_CONTROL,
drivers/usb/gadget/udc/renesas_usbf.c
1761
usbf_ep_reg_bitset(ep, USBF_REG_EPN_CONTROL,
drivers/usb/gadget/udc/renesas_usbf.c
1764
first = list_first_entry_or_null(&ep->queue, struct usbf_req, queue);
drivers/usb/gadget/udc/renesas_usbf.c
1769
usbf_epn_dma_abort(ep, first);
drivers/usb/gadget/udc/renesas_usbf.c
1771
usbf_epn_fifo_flush(ep);
drivers/usb/gadget/udc/renesas_usbf.c
1772
if (ep->is_in) {
drivers/usb/gadget/udc/renesas_usbf.c
1773
usbf_ep_reg_clrset(ep, USBF_REG_EPN_CONTROL,
drivers/usb/gadget/udc/renesas_usbf.c
1777
usbf_ep_reg_clrset(ep, USBF_REG_EPN_CONTROL,
drivers/usb/gadget/udc/renesas_usbf.c
1781
usbf_epn_start_queue(ep);
drivers/usb/gadget/udc/renesas_usbf.c
1807
USBF_EPN_BASEAD(base_addr) | USBF_EPN_MPKT(epn->ep.maxpacket));
drivers/usb/gadget/udc/renesas_usbf.c
1831
struct usbf_ep *ep = container_of(_ep, struct usbf_ep, ep);
drivers/usb/gadget/udc/renesas_usbf.c
1832
struct usbf_udc *udc = ep->udc;
drivers/usb/gadget/udc/renesas_usbf.c
1836
if (ep->id == 0)
drivers/usb/gadget/udc/renesas_usbf.c
1842
dev_dbg(ep->udc->dev, "ep%u %s mpkts %d\n", ep->id,
drivers/usb/gadget/udc/renesas_usbf.c
1846
spin_lock_irqsave(&ep->udc->lock, flags);
drivers/usb/gadget/udc/renesas_usbf.c
1847
ep->is_in = usb_endpoint_dir_in(desc);
drivers/usb/gadget/udc/renesas_usbf.c
1848
ep->ep.maxpacket = usb_endpoint_maxp(desc);
drivers/usb/gadget/udc/renesas_usbf.c
1850
ret = usbf_epn_enable(ep);
drivers/usb/gadget/udc/renesas_usbf.c
1854
ep->disabled = 0;
drivers/usb/gadget/udc/renesas_usbf.c
1857
usbf_reg_bitset(udc, USBF_REG_USB_INT_ENA, USBF_USB_EPN_EN(ep->id));
drivers/usb/gadget/udc/renesas_usbf.c
1860
if (ep->dma_regs) {
drivers/usb/gadget/udc/renesas_usbf.c
1861
ep->bridge_on_dma_end = NULL;
drivers/usb/gadget/udc/renesas_usbf.c
1863
USBF_SYS_DMA_ENDINTEN_EPN(ep->id));
drivers/usb/gadget/udc/renesas_usbf.c
1868
spin_unlock_irqrestore(&ep->udc->lock, flags);
drivers/usb/gadget/udc/renesas_usbf.c
1888
struct usbf_ep *ep = container_of(_ep, struct usbf_ep, ep);
drivers/usb/gadget/udc/renesas_usbf.c
1889
struct usbf_udc *udc = ep->udc;
drivers/usb/gadget/udc/renesas_usbf.c
1893
if (ep->id == 0)
drivers/usb/gadget/udc/renesas_usbf.c
1896
dev_dbg(ep->udc->dev, "ep%u %s mpkts %d\n", ep->id,
drivers/usb/gadget/udc/renesas_usbf.c
1897
ep->is_in ? "in" : "out", ep->ep.maxpacket);
drivers/usb/gadget/udc/renesas_usbf.c
1899
spin_lock_irqsave(&ep->udc->lock, flags);
drivers/usb/gadget/udc/renesas_usbf.c
1900
ep->disabled = 1;
drivers/usb/gadget/udc/renesas_usbf.c
1902
if (ep->dma_regs) {
drivers/usb/gadget/udc/renesas_usbf.c
1904
USBF_SYS_DMA_ENDINTEN_EPN(ep->id));
drivers/usb/gadget/udc/renesas_usbf.c
1905
ep->bridge_on_dma_end = NULL;
drivers/usb/gadget/udc/renesas_usbf.c
1908
usbf_reg_bitclr(udc, USBF_REG_USB_INT_ENA, USBF_USB_EPN_EN(ep->id));
drivers/usb/gadget/udc/renesas_usbf.c
1910
ret = usbf_epn_disable(ep);
drivers/usb/gadget/udc/renesas_usbf.c
1911
spin_unlock_irqrestore(&ep->udc->lock, flags);
drivers/usb/gadget/udc/renesas_usbf.c
1957
static int usbf_epn_queue(struct usbf_ep *ep, struct usbf_req *req,
drivers/usb/gadget/udc/renesas_usbf.c
1963
if (ep->disabled) {
drivers/usb/gadget/udc/renesas_usbf.c
1964
dev_err(ep->udc->dev, "ep%u request queue while disable\n",
drivers/usb/gadget/udc/renesas_usbf.c
1965
ep->id);
drivers/usb/gadget/udc/renesas_usbf.c
1974
was_empty = list_empty(&ep->queue);
drivers/usb/gadget/udc/renesas_usbf.c
1975
list_add_tail(&req->queue, &ep->queue);
drivers/usb/gadget/udc/renesas_usbf.c
1977
ret = usbf_epn_start_queue(ep);
drivers/usb/gadget/udc/renesas_usbf.c
1988
struct usbf_ep *ep = container_of(_ep, struct usbf_ep, ep);
drivers/usb/gadget/udc/renesas_usbf.c
1989
struct usbf_udc *udc = ep->udc;
drivers/usb/gadget/udc/renesas_usbf.c
1999
dev_dbg(ep->udc->dev, "ep%u %s req queue length %u, zero %u, short_not_ok %u\n",
drivers/usb/gadget/udc/renesas_usbf.c
2000
ep->id, ep->is_in ? "in" : "out",
drivers/usb/gadget/udc/renesas_usbf.c
2003
spin_lock_irqsave(&ep->udc->lock, flags);
drivers/usb/gadget/udc/renesas_usbf.c
2004
if (ep->id == 0)
drivers/usb/gadget/udc/renesas_usbf.c
2005
ret = usbf_ep0_queue(ep, req, gfp_flags);
drivers/usb/gadget/udc/renesas_usbf.c
2007
ret = usbf_epn_queue(ep, req, gfp_flags);
drivers/usb/gadget/udc/renesas_usbf.c
2008
spin_unlock_irqrestore(&ep->udc->lock, flags);
drivers/usb/gadget/udc/renesas_usbf.c
2015
struct usbf_ep *ep = container_of(_ep, struct usbf_ep, ep);
drivers/usb/gadget/udc/renesas_usbf.c
2021
spin_lock_irqsave(&ep->udc->lock, flags);
drivers/usb/gadget/udc/renesas_usbf.c
2023
dev_dbg(ep->udc->dev, "ep%u %s req dequeue length %u/%u\n",
drivers/usb/gadget/udc/renesas_usbf.c
2024
ep->id, ep->is_in ? "in" : "out",
drivers/usb/gadget/udc/renesas_usbf.c
2027
first = list_is_first(&req->queue, &ep->queue);
drivers/usb/gadget/udc/renesas_usbf.c
2032
is_processing = ep->is_processing;
drivers/usb/gadget/udc/renesas_usbf.c
2033
ep->is_processing = 1;
drivers/usb/gadget/udc/renesas_usbf.c
2034
usbf_ep_req_done(ep, req, -ECONNRESET);
drivers/usb/gadget/udc/renesas_usbf.c
2035
ep->is_processing = is_processing;
drivers/usb/gadget/udc/renesas_usbf.c
2042
if (ep->id)
drivers/usb/gadget/udc/renesas_usbf.c
2043
usbf_epn_fifo_flush(ep);
drivers/usb/gadget/udc/renesas_usbf.c
2045
usbf_ep0_fifo_flush(ep);
drivers/usb/gadget/udc/renesas_usbf.c
2048
if (ep->id == 0) {
drivers/usb/gadget/udc/renesas_usbf.c
2057
usbf_ep_stall(ep, true);
drivers/usb/gadget/udc/renesas_usbf.c
2058
usbf_ep_nuke(ep, -ECONNRESET);
drivers/usb/gadget/udc/renesas_usbf.c
2059
ep->udc->ep0state = EP0_IDLE;
drivers/usb/gadget/udc/renesas_usbf.c
2066
ret = usbf_epn_start_queue(ep);
drivers/usb/gadget/udc/renesas_usbf.c
2068
usbf_ep_stall(ep, true);
drivers/usb/gadget/udc/renesas_usbf.c
2069
usbf_ep_nuke(ep, -EIO);
drivers/usb/gadget/udc/renesas_usbf.c
2072
spin_unlock_irqrestore(&ep->udc->lock, flags);
drivers/usb/gadget/udc/renesas_usbf.c
2097
struct usbf_ep *ep;
drivers/usb/gadget/udc/renesas_usbf.c
2103
ep = container_of(_ep, struct usbf_ep, ep);
drivers/usb/gadget/udc/renesas_usbf.c
2105
spin_lock_irqsave(&ep->udc->lock, flags);
drivers/usb/gadget/udc/renesas_usbf.c
2107
spin_unlock_irqrestore(&ep->udc->lock, flags);
drivers/usb/gadget/udc/renesas_usbf.c
2113
struct usbf_ep *ep = container_of(_ep, struct usbf_ep, ep);
drivers/usb/gadget/udc/renesas_usbf.c
2117
if (ep->id == 0)
drivers/usb/gadget/udc/renesas_usbf.c
2120
spin_lock_irqsave(&ep->udc->lock, flags);
drivers/usb/gadget/udc/renesas_usbf.c
2122
if (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/renesas_usbf.c
2127
usbf_ep_stall(ep, halt);
drivers/usb/gadget/udc/renesas_usbf.c
2129
ep->is_wedged = 0;
drivers/usb/gadget/udc/renesas_usbf.c
2133
spin_unlock_irqrestore(&ep->udc->lock, flags);
drivers/usb/gadget/udc/renesas_usbf.c
2140
struct usbf_ep *ep = container_of(_ep, struct usbf_ep, ep);
drivers/usb/gadget/udc/renesas_usbf.c
2144
if (ep->id == 0)
drivers/usb/gadget/udc/renesas_usbf.c
2147
spin_lock_irqsave(&ep->udc->lock, flags);
drivers/usb/gadget/udc/renesas_usbf.c
2148
if (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/renesas_usbf.c
2152
usbf_ep_stall(ep, 1);
drivers/usb/gadget/udc/renesas_usbf.c
2153
ep->is_wedged = 1;
drivers/usb/gadget/udc/renesas_usbf.c
2157
spin_unlock_irqrestore(&ep->udc->lock, flags);
drivers/usb/gadget/udc/renesas_usbf.c
2196
struct usbf_ep *ep;
drivers/usb/gadget/udc/renesas_usbf.c
2200
return &udc->ep[0];
drivers/usb/gadget/udc/renesas_usbf.c
2202
for (i = 1; i < ARRAY_SIZE(udc->ep); i++) {
drivers/usb/gadget/udc/renesas_usbf.c
2203
ep = &udc->ep[i];
drivers/usb/gadget/udc/renesas_usbf.c
2205
if (!ep->ep.desc)
drivers/usb/gadget/udc/renesas_usbf.c
2208
if (ep->ep.desc->bEndpointAddress == address)
drivers/usb/gadget/udc/renesas_usbf.c
2209
return ep;
drivers/usb/gadget/udc/renesas_usbf.c
2229
udc->ep[0].delayed_status = 1;
drivers/usb/gadget/udc/renesas_usbf.c
2238
struct usbf_ep *ep;
drivers/usb/gadget/udc/renesas_usbf.c
2266
ep = usbf_get_ep_by_addr(udc, wIndex);
drivers/usb/gadget/udc/renesas_usbf.c
2267
if (!ep)
drivers/usb/gadget/udc/renesas_usbf.c
2271
if (usbf_ep_is_stalled(ep))
drivers/usb/gadget/udc/renesas_usbf.c
2285
usbf_ep0_fill_req(&udc->ep[0], &udc->setup_reply, &status_data,
drivers/usb/gadget/udc/renesas_usbf.c
2287
usbf_ep0_queue(&udc->ep[0], &udc->setup_reply, GFP_ATOMIC);
drivers/usb/gadget/udc/renesas_usbf.c
2299
struct usbf_ep *ep;
drivers/usb/gadget/udc/renesas_usbf.c
2323
ep = usbf_get_ep_by_addr(udc, wIndex);
drivers/usb/gadget/udc/renesas_usbf.c
2324
if (!ep)
drivers/usb/gadget/udc/renesas_usbf.c
2327
if ((ep->id == 0) && is_set) {
drivers/usb/gadget/udc/renesas_usbf.c
2334
if (ep->is_wedged && !is_set) {
drivers/usb/gadget/udc/renesas_usbf.c
2340
usbf_ep_stall(ep, is_set);
drivers/usb/gadget/udc/renesas_usbf.c
2356
struct usbf_ep *ep = container_of(_ep, struct usbf_ep, ep);
drivers/usb/gadget/udc/renesas_usbf.c
2361
usb_gadget_set_state(&ep->udc->gadget, USB_STATE_ADDRESS);
drivers/usb/gadget/udc/renesas_usbf.c
2396
usbf_ep0_fill_req(&udc->ep[0], &udc->setup_reply, NULL, 0,
drivers/usb/gadget/udc/renesas_usbf.c
2398
usbf_ep0_queue(&udc->ep[0], &udc->setup_reply, GFP_ATOMIC);
drivers/usb/gadget/udc/renesas_usbf.c
276
struct usb_ep ep;
drivers/usb/gadget/udc/renesas_usbf.c
2832
static void usbf_ep_reset(struct usbf_ep *ep)
drivers/usb/gadget/udc/renesas_usbf.c
2834
ep->status = 0;
drivers/usb/gadget/udc/renesas_usbf.c
2836
usbf_ep_nuke(ep, -ESHUTDOWN);
drivers/usb/gadget/udc/renesas_usbf.c
2843
for (i = 0; i < ARRAY_SIZE(udc->ep); i++) {
drivers/usb/gadget/udc/renesas_usbf.c
2844
if (udc->ep[i].disabled)
drivers/usb/gadget/udc/renesas_usbf.c
2847
usbf_ep_reset(&udc->ep[i]);
drivers/usb/gadget/udc/renesas_usbf.c
2859
usbf_ep0_enable(&udc->ep[0]);
drivers/usb/gadget/udc/renesas_usbf.c
289
void (*bridge_on_dma_end)(struct usbf_ep *ep);
drivers/usb/gadget/udc/renesas_usbf.c
2913
struct usbf_ep *ep;
drivers/usb/gadget/udc/renesas_usbf.c
2948
usbf_ep0_interrupt(&udc->ep[0]);
drivers/usb/gadget/udc/renesas_usbf.c
2951
for (i = 1; i < ARRAY_SIZE(udc->ep); i++) {
drivers/usb/gadget/udc/renesas_usbf.c
2952
ep = &udc->ep[i];
drivers/usb/gadget/udc/renesas_usbf.c
2956
usbf_epn_interrupt(ep);
drivers/usb/gadget/udc/renesas_usbf.c
3003
for (i = 1; i < ARRAY_SIZE(udc->ep); i++) {
drivers/usb/gadget/udc/renesas_usbf.c
3005
epn = &udc->ep[i];
drivers/usb/gadget/udc/renesas_usbf.c
3093
for (i = 0; i < ARRAY_SIZE(udc->ep); i++) {
drivers/usb/gadget/udc/renesas_usbf.c
3094
if (udc->ep[i].disabled)
drivers/usb/gadget/udc/renesas_usbf.c
3097
usbf_ep_reset(&udc->ep[i]);
drivers/usb/gadget/udc/renesas_usbf.c
312
struct usbf_ep ep[USBF_NUM_ENDPOINTS];
drivers/usb/gadget/udc/renesas_usbf.c
3187
if (epn->ep.caps.type_control || epn->ep.caps.type_iso ||
drivers/usb/gadget/udc/renesas_usbf.c
3188
!epn->ep.caps.type_bulk || epn->ep.caps.type_int) {
drivers/usb/gadget/udc/renesas_usbf.c
3196
if (epn->ep.caps.type_control || epn->ep.caps.type_iso ||
drivers/usb/gadget/udc/renesas_usbf.c
3197
epn->ep.caps.type_bulk || !epn->ep.caps.type_int) {
drivers/usb/gadget/udc/renesas_usbf.c
3205
if (epn->ep.caps.type_control || !epn->ep.caps.type_iso ||
drivers/usb/gadget/udc/renesas_usbf.c
3206
epn->ep.caps.type_bulk || epn->ep.caps.type_int) {
drivers/usb/gadget/udc/renesas_usbf.c
3238
epn->id, epn->ep.name, type_txt, buf_txt,
drivers/usb/gadget/udc/renesas_usbf.c
3239
epn->ep.maxpacket_limit, ret ? "failed" : "ok");
drivers/usb/gadget/udc/renesas_usbf.c
3248
struct usbf_ep *ep;
drivers/usb/gadget/udc/renesas_usbf.c
3287
udc->gadget.ep0 = &udc->ep[0].ep;
drivers/usb/gadget/udc/renesas_usbf.c
3300
for (i = 0; i < ARRAY_SIZE(udc->ep); i++) {
drivers/usb/gadget/udc/renesas_usbf.c
3301
ep = &udc->ep[i];
drivers/usb/gadget/udc/renesas_usbf.c
3308
INIT_LIST_HEAD(&ep->queue);
drivers/usb/gadget/udc/renesas_usbf.c
3310
ep->id = i;
drivers/usb/gadget/udc/renesas_usbf.c
3311
ep->disabled = 1;
drivers/usb/gadget/udc/renesas_usbf.c
3312
ep->udc = udc;
drivers/usb/gadget/udc/renesas_usbf.c
3313
ep->ep.ops = &usbf_ep_ops;
drivers/usb/gadget/udc/renesas_usbf.c
3314
ep->ep.name = usbf_ep_info[i].name;
drivers/usb/gadget/udc/renesas_usbf.c
3315
ep->ep.caps = usbf_ep_info[i].caps;
drivers/usb/gadget/udc/renesas_usbf.c
3316
usb_ep_set_maxpacket_limit(&ep->ep,
drivers/usb/gadget/udc/renesas_usbf.c
3319
if (ep->id == 0) {
drivers/usb/gadget/udc/renesas_usbf.c
3320
ep->regs = ep->udc->regs + USBF_BASE_EP0;
drivers/usb/gadget/udc/renesas_usbf.c
3322
ep->regs = ep->udc->regs + USBF_BASE_EPN(ep->id - 1);
drivers/usb/gadget/udc/renesas_usbf.c
3323
ret = usbf_epn_check(ep);
drivers/usb/gadget/udc/renesas_usbf.c
3328
ep->dma_regs = ep->udc->regs +
drivers/usb/gadget/udc/renesas_usbf.c
3329
USBF_BASE_DMA_EPN(ep->id - 1);
drivers/usb/gadget/udc/renesas_usbf.c
3331
list_add_tail(&ep->ep.ep_list, &udc->gadget.ep_list);
drivers/usb/gadget/udc/renesas_usbf.c
465
static inline u32 usbf_ep_reg_readl(struct usbf_ep *ep, uint offset)
drivers/usb/gadget/udc/renesas_usbf.c
467
return readl(ep->regs + offset);
drivers/usb/gadget/udc/renesas_usbf.c
470
static inline void usbf_ep_reg_read_rep(struct usbf_ep *ep, uint offset,
drivers/usb/gadget/udc/renesas_usbf.c
473
readsl(ep->regs + offset, dst, count);
drivers/usb/gadget/udc/renesas_usbf.c
476
static inline void usbf_ep_reg_writel(struct usbf_ep *ep, uint offset, u32 val)
drivers/usb/gadget/udc/renesas_usbf.c
478
writel(val, ep->regs + offset);
drivers/usb/gadget/udc/renesas_usbf.c
481
static inline void usbf_ep_reg_write_rep(struct usbf_ep *ep, uint offset,
drivers/usb/gadget/udc/renesas_usbf.c
484
writesl(ep->regs + offset, src, count);
drivers/usb/gadget/udc/renesas_usbf.c
487
static inline void usbf_ep_reg_bitset(struct usbf_ep *ep, uint offset, u32 set)
drivers/usb/gadget/udc/renesas_usbf.c
491
tmp = usbf_ep_reg_readl(ep, offset);
drivers/usb/gadget/udc/renesas_usbf.c
493
usbf_ep_reg_writel(ep, offset, tmp);
drivers/usb/gadget/udc/renesas_usbf.c
496
static inline void usbf_ep_reg_bitclr(struct usbf_ep *ep, uint offset, u32 clr)
drivers/usb/gadget/udc/renesas_usbf.c
500
tmp = usbf_ep_reg_readl(ep, offset);
drivers/usb/gadget/udc/renesas_usbf.c
502
usbf_ep_reg_writel(ep, offset, tmp);
drivers/usb/gadget/udc/renesas_usbf.c
505
static inline void usbf_ep_reg_clrset(struct usbf_ep *ep, uint offset,
drivers/usb/gadget/udc/renesas_usbf.c
510
tmp = usbf_ep_reg_readl(ep, offset);
drivers/usb/gadget/udc/renesas_usbf.c
513
usbf_ep_reg_writel(ep, offset, tmp);
drivers/usb/gadget/udc/renesas_usbf.c
516
static inline u32 usbf_ep_dma_reg_readl(struct usbf_ep *ep, uint offset)
drivers/usb/gadget/udc/renesas_usbf.c
518
return readl(ep->dma_regs + offset);
drivers/usb/gadget/udc/renesas_usbf.c
521
static inline void usbf_ep_dma_reg_writel(struct usbf_ep *ep, uint offset,
drivers/usb/gadget/udc/renesas_usbf.c
524
writel(val, ep->dma_regs + offset);
drivers/usb/gadget/udc/renesas_usbf.c
527
static inline void usbf_ep_dma_reg_bitset(struct usbf_ep *ep, uint offset,
drivers/usb/gadget/udc/renesas_usbf.c
532
tmp = usbf_ep_dma_reg_readl(ep, offset);
drivers/usb/gadget/udc/renesas_usbf.c
534
usbf_ep_dma_reg_writel(ep, offset, tmp);
drivers/usb/gadget/udc/renesas_usbf.c
537
static inline void usbf_ep_dma_reg_bitclr(struct usbf_ep *ep, uint offset,
drivers/usb/gadget/udc/renesas_usbf.c
542
tmp = usbf_ep_dma_reg_readl(ep, offset);
drivers/usb/gadget/udc/renesas_usbf.c
544
usbf_ep_dma_reg_writel(ep, offset, tmp);
drivers/usb/gadget/udc/renesas_usbf.c
576
if ((req->req.actual % ep0->ep.maxpacket) == 0) {
drivers/usb/gadget/udc/renesas_usbf.c
588
if (left > ep0->ep.maxpacket)
drivers/usb/gadget/udc/renesas_usbf.c
589
left = ep0->ep.maxpacket;
drivers/usb/gadget/udc/renesas_usbf.c
638
if (left > ep0->ep.maxpacket)
drivers/usb/gadget/udc/renesas_usbf.c
639
left = ep0->ep.maxpacket;
drivers/usb/gadget/udc/renesas_usbf.c
670
if (recv < ep0->ep.maxpacket) {
drivers/usb/gadget/udc/renesas_usbf.c
753
if ((req->req.actual % epn->ep.maxpacket) == 0) {
drivers/usb/gadget/udc/renesas_usbf.c
766
if (left > epn->ep.maxpacket)
drivers/usb/gadget/udc/renesas_usbf.c
767
left = epn->ep.maxpacket;
drivers/usb/gadget/udc/renesas_usbf.c
842
npkt = DIV_ROUND_UP(left, epn->ep.maxpacket);
drivers/usb/gadget/udc/renesas_usbf.c
843
lastpkt = (left % epn->ep.maxpacket);
drivers/usb/gadget/udc/renesas_usbf.c
845
lastpkt = epn->ep.maxpacket;
drivers/usb/gadget/udc/renesas_usbf.c
849
USBF_SYS_EPN_MPKT(epn->ep.maxpacket) | USBF_SYS_EPN_LMPKT(lastpkt));
drivers/usb/gadget/udc/renesas_usbf.c
880
req->dma_size = (npkt - 1) * epn->ep.maxpacket + lastpkt;
drivers/usb/gadget/udc/renesas_usbf.c
919
if (req->req.actual % epn->ep.maxpacket) {
drivers/usb/gadget/udc/renesas_usbf.c
994
recv, left, epn->ep.maxpacket);
drivers/usb/gadget/udc/renesas_usbf.c
996
if (left > epn->ep.maxpacket)
drivers/usb/gadget/udc/renesas_usbf.c
997
left = epn->ep.maxpacket;
drivers/usb/gadget/udc/snps_udc_core.c
1053
struct udc_ep *ep;
drivers/usb/gadget/udc/snps_udc_core.c
1065
ep = container_of(usbep, struct udc_ep, ep);
drivers/usb/gadget/udc/snps_udc_core.c
1066
if (!ep->ep.desc && (ep->num != 0 && ep->num != UDC_EP0OUT_IX))
drivers/usb/gadget/udc/snps_udc_core.c
1069
VDBG(ep->dev, "udc_queue(): ep%d-in=%d\n", ep->num, ep->in);
drivers/usb/gadget/udc/snps_udc_core.c
1070
dev = ep->dev;
drivers/usb/gadget/udc/snps_udc_core.c
1076
if (ep->dma) {
drivers/usb/gadget/udc/snps_udc_core.c
1078
retval = usb_gadget_map_request(&udc->gadget, usbreq, ep->in);
drivers/usb/gadget/udc/snps_udc_core.c
1093
if (list_empty(&ep->queue)) {
drivers/usb/gadget/udc/snps_udc_core.c
1097
complete_req(ep, req, 0);
drivers/usb/gadget/udc/snps_udc_core.c
1098
VDBG(dev, "%s: zlp\n", ep->ep.name);
drivers/usb/gadget/udc/snps_udc_core.c
1112
tmp = readl(&dev->ep[UDC_EP0IN_IX].regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
1114
writel(tmp, &dev->ep[UDC_EP0IN_IX].regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
1115
dev->ep[UDC_EP0IN_IX].naking = 0;
drivers/usb/gadget/udc/snps_udc_core.c
1116
UDC_QUEUE_CNAK(&dev->ep[UDC_EP0IN_IX],
drivers/usb/gadget/udc/snps_udc_core.c
1122
if (ep->dma) {
drivers/usb/gadget/udc/snps_udc_core.c
1123
retval = prep_dma(ep, req, GFP_ATOMIC);
drivers/usb/gadget/udc/snps_udc_core.c
1127
if (ep->in) {
drivers/usb/gadget/udc/snps_udc_core.c
1136
if (!ep->in) {
drivers/usb/gadget/udc/snps_udc_core.c
1152
if (ep->bna_occurred) {
drivers/usb/gadget/udc/snps_udc_core.c
1154
memcpy(ep->bna_dummy_req->td_data,
drivers/usb/gadget/udc/snps_udc_core.c
1160
writel(req->td_phys, &ep->regs->desptr);
drivers/usb/gadget/udc/snps_udc_core.c
1163
if (ep->naking) {
drivers/usb/gadget/udc/snps_udc_core.c
1164
tmp = readl(&ep->regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
1166
writel(tmp, &ep->regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
1167
ep->naking = 0;
drivers/usb/gadget/udc/snps_udc_core.c
1168
UDC_QUEUE_CNAK(ep, ep->num);
drivers/usb/gadget/udc/snps_udc_core.c
1171
if (ep->in) {
drivers/usb/gadget/udc/snps_udc_core.c
1174
tmp &= AMD_UNMASK_BIT(ep->num);
drivers/usb/gadget/udc/snps_udc_core.c
1177
} else if (ep->in) {
drivers/usb/gadget/udc/snps_udc_core.c
1180
tmp &= AMD_UNMASK_BIT(ep->num);
drivers/usb/gadget/udc/snps_udc_core.c
1184
} else if (ep->dma) {
drivers/usb/gadget/udc/snps_udc_core.c
1190
if (ep->in) {
drivers/usb/gadget/udc/snps_udc_core.c
1191
retval = prep_dma(ep, req, GFP_ATOMIC);
drivers/usb/gadget/udc/snps_udc_core.c
1200
list_add_tail(&req->queue, &ep->queue);
drivers/usb/gadget/udc/snps_udc_core.c
1207
if (ep->num != UDC_EP0OUT_IX)
drivers/usb/gadget/udc/snps_udc_core.c
1211
if (!ep->in) {
drivers/usb/gadget/udc/snps_udc_core.c
1219
if (udc_rxfifo_read(ep, req)) {
drivers/usb/gadget/udc/snps_udc_core.c
1221
complete_req(ep, req, 0);
drivers/usb/gadget/udc/snps_udc_core.c
1235
void empty_req_queue(struct udc_ep *ep)
drivers/usb/gadget/udc/snps_udc_core.c
1239
ep->halted = 1;
drivers/usb/gadget/udc/snps_udc_core.c
1240
while (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/snps_udc_core.c
1241
req = list_entry(ep->queue.next,
drivers/usb/gadget/udc/snps_udc_core.c
1244
complete_req(ep, req, -ESHUTDOWN);
drivers/usb/gadget/udc/snps_udc_core.c
1252
struct udc_ep *ep;
drivers/usb/gadget/udc/snps_udc_core.c
1257
ep = container_of(usbep, struct udc_ep, ep);
drivers/usb/gadget/udc/snps_udc_core.c
1258
if (!usbep || !usbreq || (!ep->ep.desc && (ep->num != 0
drivers/usb/gadget/udc/snps_udc_core.c
1259
&& ep->num != UDC_EP0OUT_IX)))
drivers/usb/gadget/udc/snps_udc_core.c
1264
spin_lock_irqsave(&ep->dev->lock, iflags);
drivers/usb/gadget/udc/snps_udc_core.c
1265
halted = ep->halted;
drivers/usb/gadget/udc/snps_udc_core.c
1266
ep->halted = 1;
drivers/usb/gadget/udc/snps_udc_core.c
1268
if (ep->queue.next == &req->queue) {
drivers/usb/gadget/udc/snps_udc_core.c
1269
if (ep->dma && req->dma_going) {
drivers/usb/gadget/udc/snps_udc_core.c
1270
if (ep->in)
drivers/usb/gadget/udc/snps_udc_core.c
1271
ep->cancel_transfer = 1;
drivers/usb/gadget/udc/snps_udc_core.c
1286
ep->cancel_transfer = 1;
drivers/usb/gadget/udc/snps_udc_core.c
1288
udc_init_bna_dummy(ep->req);
drivers/usb/gadget/udc/snps_udc_core.c
1289
writel(ep->bna_dummy_req->td_phys,
drivers/usb/gadget/udc/snps_udc_core.c
1290
&ep->regs->desptr);
drivers/usb/gadget/udc/snps_udc_core.c
1296
complete_req(ep, req, -ECONNRESET);
drivers/usb/gadget/udc/snps_udc_core.c
1297
ep->halted = halted;
drivers/usb/gadget/udc/snps_udc_core.c
1299
spin_unlock_irqrestore(&ep->dev->lock, iflags);
drivers/usb/gadget/udc/snps_udc_core.c
1307
struct udc_ep *ep;
drivers/usb/gadget/udc/snps_udc_core.c
1317
ep = container_of(usbep, struct udc_ep, ep);
drivers/usb/gadget/udc/snps_udc_core.c
1318
if (!ep->ep.desc && (ep->num != 0 && ep->num != UDC_EP0OUT_IX))
drivers/usb/gadget/udc/snps_udc_core.c
1320
if (!ep->dev->driver || ep->dev->gadget.speed == USB_SPEED_UNKNOWN)
drivers/usb/gadget/udc/snps_udc_core.c
1326
if (ep->num == 0)
drivers/usb/gadget/udc/snps_udc_core.c
1327
ep->dev->stall_ep0in = 1;
drivers/usb/gadget/udc/snps_udc_core.c
1333
tmp = readl(&ep->regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
1335
writel(tmp, &ep->regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
1336
ep->halted = 1;
drivers/usb/gadget/udc/snps_udc_core.c
1344
DBG(ep->dev, "start polltimer\n");
drivers/usb/gadget/udc/snps_udc_core.c
1351
if (ep->halted) {
drivers/usb/gadget/udc/snps_udc_core.c
1352
tmp = readl(&ep->regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
1357
writel(tmp, &ep->regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
1358
ep->halted = 0;
drivers/usb/gadget/udc/snps_udc_core.c
1359
UDC_QUEUE_CNAK(ep, ep->num);
drivers/usb/gadget/udc/snps_udc_core.c
1438
list_add_tail(&dev->ep[UDC_EPIN_STATUS_IX].ep.ep_list,
drivers/usb/gadget/udc/snps_udc_core.c
1440
list_add_tail(&dev->ep[UDC_EPIN_IX].ep.ep_list,
drivers/usb/gadget/udc/snps_udc_core.c
1442
list_add_tail(&dev->ep[UDC_EPOUT_IX].ep.ep_list,
drivers/usb/gadget/udc/snps_udc_core.c
1446
dev->ep[UDC_EPIN_STATUS_IX].fifo_depth = UDC_EPIN_SMALLINT_BUFF_SIZE;
drivers/usb/gadget/udc/snps_udc_core.c
1448
dev->ep[UDC_EPIN_IX].fifo_depth = UDC_FS_EPIN_BUFF_SIZE;
drivers/usb/gadget/udc/snps_udc_core.c
1450
dev->ep[UDC_EPIN_IX].fifo_depth = hs_tx_buf;
drivers/usb/gadget/udc/snps_udc_core.c
1451
dev->ep[UDC_EPOUT_IX].fifo_depth = UDC_RXFIFO_SIZE;
drivers/usb/gadget/udc/snps_udc_core.c
1523
struct udc_ep *ep;
drivers/usb/gadget/udc/snps_udc_core.c
1539
ep = &dev->ep[tmp];
drivers/usb/gadget/udc/snps_udc_core.c
1540
ep->dev = dev;
drivers/usb/gadget/udc/snps_udc_core.c
1541
ep->ep.name = ep_info[tmp].name;
drivers/usb/gadget/udc/snps_udc_core.c
1542
ep->ep.caps = ep_info[tmp].caps;
drivers/usb/gadget/udc/snps_udc_core.c
1543
ep->num = tmp;
drivers/usb/gadget/udc/snps_udc_core.c
1545
ep->txfifo = dev->txfifo;
drivers/usb/gadget/udc/snps_udc_core.c
1549
ep->fifo_depth = UDC_TXFIFO_SIZE;
drivers/usb/gadget/udc/snps_udc_core.c
1550
ep->in = 1;
drivers/usb/gadget/udc/snps_udc_core.c
1552
ep->fifo_depth = UDC_RXFIFO_SIZE;
drivers/usb/gadget/udc/snps_udc_core.c
1553
ep->in = 0;
drivers/usb/gadget/udc/snps_udc_core.c
1556
ep->regs = &dev->ep_regs[tmp];
drivers/usb/gadget/udc/snps_udc_core.c
1562
if (!ep->ep.desc)
drivers/usb/gadget/udc/snps_udc_core.c
1563
ep_init(dev->regs, ep);
drivers/usb/gadget/udc/snps_udc_core.c
1571
ep->dma = &dev->regs->ctl;
drivers/usb/gadget/udc/snps_udc_core.c
1577
reg = readl(&dev->ep[tmp].regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
1579
writel(reg, &dev->ep[tmp].regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
1580
dev->ep[tmp].naking = 1;
drivers/usb/gadget/udc/snps_udc_core.c
1587
usb_ep_set_maxpacket_limit(&dev->ep[UDC_EP0IN_IX].ep,
drivers/usb/gadget/udc/snps_udc_core.c
1589
usb_ep_set_maxpacket_limit(&dev->ep[UDC_EP0OUT_IX].ep,
drivers/usb/gadget/udc/snps_udc_core.c
1592
usb_ep_set_maxpacket_limit(&dev->ep[UDC_EP0IN_IX].ep,
drivers/usb/gadget/udc/snps_udc_core.c
1594
usb_ep_set_maxpacket_limit(&dev->ep[UDC_EP0OUT_IX].ep,
drivers/usb/gadget/udc/snps_udc_core.c
1602
dev->gadget.ep0 = &dev->ep[UDC_EP0IN_IX].ep;
drivers/usb/gadget/udc/snps_udc_core.c
1603
dev->ep[UDC_EP0IN_IX].halted = 0;
drivers/usb/gadget/udc/snps_udc_core.c
1656
empty_req_queue(&dev->ep[tmp]);
drivers/usb/gadget/udc/snps_udc_core.c
1660
ep_init(dev->regs, &dev->ep[UDC_EP0IN_IX]);
drivers/usb/gadget/udc/snps_udc_core.c
1755
static void udc_handle_halt_state(struct udc_ep *ep)
drivers/usb/gadget/udc/snps_udc_core.c
1759
if (ep->halted == 1) {
drivers/usb/gadget/udc/snps_udc_core.c
1760
tmp = readl(&ep->regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
1777
writel(tmp, &ep->regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
1778
ep->halted = 0;
drivers/usb/gadget/udc/snps_udc_core.c
1779
UDC_QUEUE_CNAK(ep, ep->num);
drivers/usb/gadget/udc/snps_udc_core.c
1787
struct udc_ep *ep;
drivers/usb/gadget/udc/snps_udc_core.c
1795
ep = &udc->ep[UDC_EPIN_IX];
drivers/usb/gadget/udc/snps_udc_core.c
1796
udc_handle_halt_state(ep);
drivers/usb/gadget/udc/snps_udc_core.c
1797
if (ep->halted)
drivers/usb/gadget/udc/snps_udc_core.c
1800
ep = &udc->ep[UDC_EPOUT_IX];
drivers/usb/gadget/udc/snps_udc_core.c
1801
udc_handle_halt_state(ep);
drivers/usb/gadget/udc/snps_udc_core.c
1802
if (ep->halted)
drivers/usb/gadget/udc/snps_udc_core.c
1826
tmp = readl(&dev->ep[UDC_EP0IN_IX].regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
1828
writel(tmp, &dev->ep[UDC_EP0IN_IX].regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
1831
dev->ep[UDC_EP0IN_IX].in = 1;
drivers/usb/gadget/udc/snps_udc_core.c
1832
dev->ep[UDC_EP0OUT_IX].in = 0;
drivers/usb/gadget/udc/snps_udc_core.c
1835
tmp = readl(&dev->ep[UDC_EP0IN_IX].regs->bufin_framenum);
drivers/usb/gadget/udc/snps_udc_core.c
1842
writel(tmp, &dev->ep[UDC_EP0IN_IX].regs->bufin_framenum);
drivers/usb/gadget/udc/snps_udc_core.c
1845
tmp = readl(&dev->ep[UDC_EP0IN_IX].regs->bufout_maxpkt);
drivers/usb/gadget/udc/snps_udc_core.c
1852
writel(tmp, &dev->ep[UDC_EP0IN_IX].regs->bufout_maxpkt);
drivers/usb/gadget/udc/snps_udc_core.c
1855
tmp = readl(&dev->ep[UDC_EP0OUT_IX].regs->bufout_maxpkt);
drivers/usb/gadget/udc/snps_udc_core.c
1862
writel(tmp, &dev->ep[UDC_EP0OUT_IX].regs->bufout_maxpkt);
drivers/usb/gadget/udc/snps_udc_core.c
1875
dev->ep[UDC_EP0OUT_IX].td->status |=
drivers/usb/gadget/udc/snps_udc_core.c
1878
writel(dev->ep[UDC_EP0OUT_IX].td_stp_dma,
drivers/usb/gadget/udc/snps_udc_core.c
1879
&dev->ep[UDC_EP0OUT_IX].regs->subptr);
drivers/usb/gadget/udc/snps_udc_core.c
1880
writel(dev->ep[UDC_EP0OUT_IX].td_phys,
drivers/usb/gadget/udc/snps_udc_core.c
1881
&dev->ep[UDC_EP0OUT_IX].regs->desptr);
drivers/usb/gadget/udc/snps_udc_core.c
1903
tmp = readl(&dev->ep[UDC_EP0IN_IX].regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
1905
writel(tmp, &dev->ep[UDC_EP0IN_IX].regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
1906
dev->ep[UDC_EP0IN_IX].naking = 0;
drivers/usb/gadget/udc/snps_udc_core.c
1907
UDC_QUEUE_CNAK(&dev->ep[UDC_EP0IN_IX], UDC_EP0IN_IX);
drivers/usb/gadget/udc/snps_udc_core.c
1910
tmp = readl(&dev->ep[UDC_EP0OUT_IX].regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
1912
writel(tmp, &dev->ep[UDC_EP0OUT_IX].regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
1913
dev->ep[UDC_EP0OUT_IX].naking = 0;
drivers/usb/gadget/udc/snps_udc_core.c
1914
UDC_QUEUE_CNAK(&dev->ep[UDC_EP0OUT_IX], UDC_EP0OUT_IX);
drivers/usb/gadget/udc/snps_udc_core.c
1941
dev->ep[UDC_EP0OUT_IX].ep.driver_data =
drivers/usb/gadget/udc/snps_udc_core.c
1942
dev->ep[UDC_EP0IN_IX].ep.driver_data;
drivers/usb/gadget/udc/snps_udc_core.c
1969
empty_req_queue(&dev->ep[tmp]);
drivers/usb/gadget/udc/snps_udc_core.c
2008
reg = readl(&dev->ep[tmp].regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
2010
writel(reg, &dev->ep[tmp].regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
2011
dev->ep[tmp].naking = 0;
drivers/usb/gadget/udc/snps_udc_core.c
2012
UDC_QUEUE_CNAK(&dev->ep[tmp], dev->ep[tmp].num);
drivers/usb/gadget/udc/snps_udc_core.c
2019
reg = readl(&dev->ep[UDC_EP0OUT_IX].regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
2021
writel(reg, &dev->ep[UDC_EP0OUT_IX].regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
2022
dev->ep[UDC_EP0OUT_IX].naking = 0;
drivers/usb/gadget/udc/snps_udc_core.c
2023
UDC_QUEUE_CNAK(&dev->ep[UDC_EP0OUT_IX],
drivers/usb/gadget/udc/snps_udc_core.c
2024
dev->ep[UDC_EP0OUT_IX].num);
drivers/usb/gadget/udc/snps_udc_core.c
2060
struct udc_ep *ep;
drivers/usb/gadget/udc/snps_udc_core.c
2067
ep = &dev->ep[ep_ix];
drivers/usb/gadget/udc/snps_udc_core.c
2069
tmp = readl(&ep->regs->sts);
drivers/usb/gadget/udc/snps_udc_core.c
2074
ep->num, readl(&ep->regs->desptr));
drivers/usb/gadget/udc/snps_udc_core.c
2076
writel(tmp | AMD_BIT(UDC_EPSTS_BNA), &ep->regs->sts);
drivers/usb/gadget/udc/snps_udc_core.c
2077
if (!ep->cancel_transfer)
drivers/usb/gadget/udc/snps_udc_core.c
2078
ep->bna_occurred = 1;
drivers/usb/gadget/udc/snps_udc_core.c
2080
ep->cancel_transfer = 0;
drivers/usb/gadget/udc/snps_udc_core.c
2087
dev_err(dev->dev, "HE ep%dout occurred\n", ep->num);
drivers/usb/gadget/udc/snps_udc_core.c
2090
writel(tmp | AMD_BIT(UDC_EPSTS_HE), &ep->regs->sts);
drivers/usb/gadget/udc/snps_udc_core.c
2095
if (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/snps_udc_core.c
2098
req = list_entry(ep->queue.next,
drivers/usb/gadget/udc/snps_udc_core.c
2109
if (req && udc_rxfifo_read(ep, req)) {
drivers/usb/gadget/udc/snps_udc_core.c
2113
complete_req(ep, req, 0);
drivers/usb/gadget/udc/snps_udc_core.c
2115
if (!list_empty(&ep->queue) && !ep->halted) {
drivers/usb/gadget/udc/snps_udc_core.c
2116
req = list_entry(ep->queue.next,
drivers/usb/gadget/udc/snps_udc_core.c
2123
} else if (!ep->cancel_transfer && req) {
drivers/usb/gadget/udc/snps_udc_core.c
2136
if (ep->bna_occurred) {
drivers/usb/gadget/udc/snps_udc_core.c
2138
memcpy(req->td_data, ep->bna_dummy_req->td_data,
drivers/usb/gadget/udc/snps_udc_core.c
2140
ep->bna_occurred = 0;
drivers/usb/gadget/udc/snps_udc_core.c
2141
udc_init_bna_dummy(ep->req);
drivers/usb/gadget/udc/snps_udc_core.c
2179
if ((tmp % ep->ep.maxpacket) != 0) {
drivers/usb/gadget/udc/snps_udc_core.c
2181
ep->ep.name, count, tmp);
drivers/usb/gadget/udc/snps_udc_core.c
2189
complete_req(ep, req, 0);
drivers/usb/gadget/udc/snps_udc_core.c
2192
if (!list_empty(&ep->queue) && !ep->halted) {
drivers/usb/gadget/udc/snps_udc_core.c
2193
req = list_entry(ep->queue.next,
drivers/usb/gadget/udc/snps_udc_core.c
2204
if (prep_dma(ep, req, GFP_ATOMIC) != 0)
drivers/usb/gadget/udc/snps_udc_core.c
2208
&ep->regs->desptr);
drivers/usb/gadget/udc/snps_udc_core.c
2218
if (ep->bna_dummy_req) {
drivers/usb/gadget/udc/snps_udc_core.c
2220
writel(ep->bna_dummy_req->td_phys,
drivers/usb/gadget/udc/snps_udc_core.c
2221
&ep->regs->desptr);
drivers/usb/gadget/udc/snps_udc_core.c
2222
ep->bna_occurred = 0;
drivers/usb/gadget/udc/snps_udc_core.c
2239
if (ep->num != UDC_EP0OUT_IX)
drivers/usb/gadget/udc/snps_udc_core.c
2251
} else if (ep->cancel_transfer) {
drivers/usb/gadget/udc/snps_udc_core.c
2253
ep->cancel_transfer = 0;
drivers/usb/gadget/udc/snps_udc_core.c
2264
writel(UDC_EPSTS_OUT_CLEAR, &ep->regs->sts);
drivers/usb/gadget/udc/snps_udc_core.c
2275
struct udc_ep *ep;
drivers/usb/gadget/udc/snps_udc_core.c
2280
ep = &dev->ep[ep_ix];
drivers/usb/gadget/udc/snps_udc_core.c
2282
epsts = readl(&ep->regs->sts);
drivers/usb/gadget/udc/snps_udc_core.c
2288
ep->num,
drivers/usb/gadget/udc/snps_udc_core.c
2289
(unsigned long) readl(&ep->regs->desptr));
drivers/usb/gadget/udc/snps_udc_core.c
2292
writel(epsts, &ep->regs->sts);
drivers/usb/gadget/udc/snps_udc_core.c
2301
ep->num, (unsigned long) readl(&ep->regs->desptr));
drivers/usb/gadget/udc/snps_udc_core.c
2304
writel(epsts | AMD_BIT(UDC_EPSTS_HE), &ep->regs->sts);
drivers/usb/gadget/udc/snps_udc_core.c
2313
if (!ep->cancel_transfer && !list_empty(&ep->queue)) {
drivers/usb/gadget/udc/snps_udc_core.c
2314
req = list_entry(ep->queue.next,
drivers/usb/gadget/udc/snps_udc_core.c
2331
complete_req(ep, req, 0);
drivers/usb/gadget/udc/snps_udc_core.c
2334
if (list_empty(&ep->queue)) {
drivers/usb/gadget/udc/snps_udc_core.c
2337
tmp |= AMD_BIT(ep->num);
drivers/usb/gadget/udc/snps_udc_core.c
2342
ep->cancel_transfer = 0;
drivers/usb/gadget/udc/snps_udc_core.c
2352
if (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/snps_udc_core.c
2354
req = list_entry(ep->queue.next,
drivers/usb/gadget/udc/snps_udc_core.c
2359
udc_txfifo_write(ep, &req->req);
drivers/usb/gadget/udc/snps_udc_core.c
2361
if (len > ep->ep.maxpacket)
drivers/usb/gadget/udc/snps_udc_core.c
2362
len = ep->ep.maxpacket;
drivers/usb/gadget/udc/snps_udc_core.c
2365
|| (len != ep->ep.maxpacket)) {
drivers/usb/gadget/udc/snps_udc_core.c
2367
complete_req(ep, req, 0);
drivers/usb/gadget/udc/snps_udc_core.c
2382
ep->ep.maxpacket) {
drivers/usb/gadget/udc/snps_udc_core.c
2389
writel(req->td_phys, &ep->regs->desptr);
drivers/usb/gadget/udc/snps_udc_core.c
2399
tmp = readl(&ep->regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
2401
writel(tmp, &ep->regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
2405
} else if (!use_dma && ep->in) {
drivers/usb/gadget/udc/snps_udc_core.c
2409
tmp |= AMD_BIT(ep->num);
drivers/usb/gadget/udc/snps_udc_core.c
2415
writel(epsts, &ep->regs->sts);
drivers/usb/gadget/udc/snps_udc_core.c
2432
struct udc_ep *ep;
drivers/usb/gadget/udc/snps_udc_core.c
2435
ep = &dev->ep[UDC_EP0OUT_IX];
drivers/usb/gadget/udc/snps_udc_core.c
2440
tmp = readl(&dev->ep[UDC_EP0OUT_IX].regs->sts);
drivers/usb/gadget/udc/snps_udc_core.c
2445
&dev->ep[UDC_EP0OUT_IX].regs->sts);
drivers/usb/gadget/udc/snps_udc_core.c
2446
ep->bna_occurred = 1;
drivers/usb/gadget/udc/snps_udc_core.c
2459
ep->dev->stall_ep0in = 0;
drivers/usb/gadget/udc/snps_udc_core.c
2463
tmp = readl(&dev->ep[UDC_EP0IN_IX].regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
2465
writel(tmp, &dev->ep[UDC_EP0IN_IX].regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
2466
dev->ep[UDC_EP0IN_IX].naking = 1;
drivers/usb/gadget/udc/snps_udc_core.c
2472
&dev->ep[UDC_EP0OUT_IX].regs->sts);
drivers/usb/gadget/udc/snps_udc_core.c
2475
dev->ep[UDC_EP0OUT_IX].td_stp->data12;
drivers/usb/gadget/udc/snps_udc_core.c
2477
dev->ep[UDC_EP0OUT_IX].td_stp->data34;
drivers/usb/gadget/udc/snps_udc_core.c
2479
dev->ep[UDC_EP0OUT_IX].td_stp->status =
drivers/usb/gadget/udc/snps_udc_core.c
2488
dev->gadget.ep0 = &dev->ep[UDC_EP0IN_IX].ep;
drivers/usb/gadget/udc/snps_udc_core.c
2493
dev->gadget.ep0 = &dev->ep[UDC_EP0OUT_IX].ep;
drivers/usb/gadget/udc/snps_udc_core.c
2498
if (ep->bna_dummy_req) {
drivers/usb/gadget/udc/snps_udc_core.c
2500
writel(ep->bna_dummy_req->td_phys,
drivers/usb/gadget/udc/snps_udc_core.c
2501
&dev->ep[UDC_EP0OUT_IX].regs->desptr);
drivers/usb/gadget/udc/snps_udc_core.c
2502
ep->bna_occurred = 0;
drivers/usb/gadget/udc/snps_udc_core.c
2506
dev->ep[UDC_EP0OUT_IX].naking = 1;
drivers/usb/gadget/udc/snps_udc_core.c
2533
ep_tmp = &udc->ep[UDC_EPIN_IX];
drivers/usb/gadget/udc/snps_udc_core.c
2534
udc_set_halt(&ep_tmp->ep, 0);
drivers/usb/gadget/udc/snps_udc_core.c
2535
ep_tmp = &udc->ep[UDC_EPOUT_IX];
drivers/usb/gadget/udc/snps_udc_core.c
2536
udc_set_halt(&ep_tmp->ep, 0);
drivers/usb/gadget/udc/snps_udc_core.c
2545
tmp = readl(&dev->ep[UDC_EP0IN_IX].regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
2551
writel(tmp, &dev->ep[UDC_EP0IN_IX].regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
2552
dev->ep[UDC_EP0IN_IX].naking = 0;
drivers/usb/gadget/udc/snps_udc_core.c
2553
UDC_QUEUE_CNAK(&dev->ep[UDC_EP0IN_IX], UDC_EP0IN_IX);
drivers/usb/gadget/udc/snps_udc_core.c
2558
writel(tmp, &dev->ep[UDC_EP0IN_IX].regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
2565
tmp = readl(&dev->ep[UDC_EP0OUT_IX].regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
2567
writel(tmp, &dev->ep[UDC_EP0OUT_IX].regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
2568
dev->ep[UDC_EP0OUT_IX].naking = 0;
drivers/usb/gadget/udc/snps_udc_core.c
2569
UDC_QUEUE_CNAK(&dev->ep[UDC_EP0OUT_IX], UDC_EP0OUT_IX);
drivers/usb/gadget/udc/snps_udc_core.c
2575
&dev->ep[UDC_EP0OUT_IX].regs->sts);
drivers/usb/gadget/udc/snps_udc_core.c
2581
writel(UDC_EPSTS_OUT_CLEAR, &dev->ep[UDC_EP0OUT_IX].regs->sts);
drivers/usb/gadget/udc/snps_udc_core.c
2586
if (list_empty(&dev->ep[UDC_EP0OUT_IX].queue)) {
drivers/usb/gadget/udc/snps_udc_core.c
2590
dev->ep[UDC_EP0OUT_IX].td->status =
drivers/usb/gadget/udc/snps_udc_core.c
2592
dev->ep[UDC_EP0OUT_IX].td->status,
drivers/usb/gadget/udc/snps_udc_core.c
2603
writel(dev->ep[UDC_EP0OUT_IX].td_phys,
drivers/usb/gadget/udc/snps_udc_core.c
2604
&dev->ep[UDC_EP0OUT_IX].regs->desptr);
drivers/usb/gadget/udc/snps_udc_core.c
2611
count = readl(&dev->ep[UDC_EP0OUT_IX].regs->sts);
drivers/usb/gadget/udc/snps_udc_core.c
2621
readl(&dev->ep[UDC_EP0OUT_IX].regs->confirm);
drivers/usb/gadget/udc/snps_udc_core.c
2643
struct udc_ep *ep;
drivers/usb/gadget/udc/snps_udc_core.c
2647
ep = &dev->ep[UDC_EP0IN_IX];
drivers/usb/gadget/udc/snps_udc_core.c
2652
tmp = readl(&dev->ep[UDC_EP0IN_IX].regs->sts);
drivers/usb/gadget/udc/snps_udc_core.c
2660
&dev->ep[UDC_EP0IN_IX].regs->sts);
drivers/usb/gadget/udc/snps_udc_core.c
2666
if (ep->dma) {
drivers/usb/gadget/udc/snps_udc_core.c
2669
&dev->ep[UDC_EP0IN_IX].regs->sts);
drivers/usb/gadget/udc/snps_udc_core.c
2674
tmp = readl(&ep->regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
2676
writel(tmp, &ep->regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
2678
if (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/snps_udc_core.c
2680
req = list_entry(ep->queue.next,
drivers/usb/gadget/udc/snps_udc_core.c
2683
if (ep->dma) {
drivers/usb/gadget/udc/snps_udc_core.c
2685
writel(req->td_phys, &ep->regs->desptr);
drivers/usb/gadget/udc/snps_udc_core.c
2695
readl(&dev->ep[UDC_EP0IN_IX].regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
2698
&dev->ep[UDC_EP0IN_IX].regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
2704
complete_req(ep, req, 0);
drivers/usb/gadget/udc/snps_udc_core.c
2708
udc_txfifo_write(ep, &req->req);
drivers/usb/gadget/udc/snps_udc_core.c
2712
if (len > ep->ep.maxpacket)
drivers/usb/gadget/udc/snps_udc_core.c
2713
len = ep->ep.maxpacket;
drivers/usb/gadget/udc/snps_udc_core.c
2717
|| (len != ep->ep.maxpacket)) {
drivers/usb/gadget/udc/snps_udc_core.c
2719
complete_req(ep, req, 0);
drivers/usb/gadget/udc/snps_udc_core.c
2725
ep->halted = 0;
drivers/usb/gadget/udc/snps_udc_core.c
2727
if (!ep->dma) {
drivers/usb/gadget/udc/snps_udc_core.c
2730
&dev->ep[UDC_EP0IN_IX].regs->sts);
drivers/usb/gadget/udc/snps_udc_core.c
2746
struct udc_ep *ep;
drivers/usb/gadget/udc/snps_udc_core.c
2768
ep = &dev->ep[i];
drivers/usb/gadget/udc/snps_udc_core.c
2769
if (ep->in) {
drivers/usb/gadget/udc/snps_udc_core.c
2772
udc_csr_epix = ep->num;
drivers/usb/gadget/udc/snps_udc_core.c
2778
udc_csr_epix = ep->num - UDC_CSR_EP_OUT_IX_OFS;
drivers/usb/gadget/udc/snps_udc_core.c
2783
tmp = AMD_ADDBITS(tmp, ep->dev->cur_config,
drivers/usb/gadget/udc/snps_udc_core.c
2789
ep->halted = 0;
drivers/usb/gadget/udc/snps_udc_core.c
279
static int udc_set_txfifo_addr(struct udc_ep *ep)
drivers/usb/gadget/udc/snps_udc_core.c
2790
tmp = readl(&ep->regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
2792
writel(tmp, &ep->regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
2821
ep = &dev->ep[i];
drivers/usb/gadget/udc/snps_udc_core.c
2822
if (ep->in) {
drivers/usb/gadget/udc/snps_udc_core.c
2825
udc_csr_epix = ep->num;
drivers/usb/gadget/udc/snps_udc_core.c
2831
udc_csr_epix = ep->num - UDC_CSR_EP_OUT_IX_OFS;
drivers/usb/gadget/udc/snps_udc_core.c
2838
tmp = AMD_ADDBITS(tmp, ep->dev->cur_intf,
drivers/usb/gadget/udc/snps_udc_core.c
2842
tmp = AMD_ADDBITS(tmp, ep->dev->cur_alt,
drivers/usb/gadget/udc/snps_udc_core.c
2848
ep->halted = 0;
drivers/usb/gadget/udc/snps_udc_core.c
2849
tmp = readl(&ep->regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
285
if (!ep || !(ep->in))
drivers/usb/gadget/udc/snps_udc_core.c
2851
writel(tmp, &ep->regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
288
dev = ep->dev;
drivers/usb/gadget/udc/snps_udc_core.c
2883
empty_req_queue(&dev->ep[UDC_EP0IN_IX]);
drivers/usb/gadget/udc/snps_udc_core.c
2884
ep_init(dev->regs, &dev->ep[UDC_EP0IN_IX]);
drivers/usb/gadget/udc/snps_udc_core.c
289
ep->txfifo = dev->txfifo;
drivers/usb/gadget/udc/snps_udc_core.c
292
for (i = 0; i < ep->num; i++) {
drivers/usb/gadget/udc/snps_udc_core.c
293
if (dev->ep[i].regs) {
drivers/usb/gadget/udc/snps_udc_core.c
2932
empty_req_queue(&dev->ep[UDC_EP0IN_IX]);
drivers/usb/gadget/udc/snps_udc_core.c
2933
ep_init(dev->regs, &dev->ep[UDC_EP0IN_IX]);
drivers/usb/gadget/udc/snps_udc_core.c
295
tmp = readl(&dev->ep[i].regs->bufin_framenum);
drivers/usb/gadget/udc/snps_udc_core.c
297
ep->txfifo += tmp;
drivers/usb/gadget/udc/snps_udc_core.c
3051
dma_pool_free(dev->stp_requests, dev->ep[UDC_EP0OUT_IX].td,
drivers/usb/gadget/udc/snps_udc_core.c
3052
dev->ep[UDC_EP0OUT_IX].td_phys);
drivers/usb/gadget/udc/snps_udc_core.c
3053
dma_pool_free(dev->stp_requests, dev->ep[UDC_EP0OUT_IX].td_stp,
drivers/usb/gadget/udc/snps_udc_core.c
3054
dev->ep[UDC_EP0OUT_IX].td_stp_dma);
drivers/usb/gadget/udc/snps_udc_core.c
306
static void UDC_QUEUE_CNAK(struct udc_ep *ep, unsigned num)
drivers/usb/gadget/udc/snps_udc_core.c
308
if (readl(&ep->regs->ctl) & AMD_BIT(UDC_EPCTL_NAK)) {
drivers/usb/gadget/udc/snps_udc_core.c
3084
dev->ep[UDC_EP0IN_IX].dma = &dev->regs->ctl;
drivers/usb/gadget/udc/snps_udc_core.c
309
DBG(ep->dev, "NAK could not be cleared for ep%d\n", num);
drivers/usb/gadget/udc/snps_udc_core.c
3096
&dev->ep[UDC_EP0OUT_IX].td_stp_dma);
drivers/usb/gadget/udc/snps_udc_core.c
3101
dev->ep[UDC_EP0OUT_IX].td_stp = td_stp;
drivers/usb/gadget/udc/snps_udc_core.c
3105
&dev->ep[UDC_EP0OUT_IX].td_phys);
drivers/usb/gadget/udc/snps_udc_core.c
311
ep->naking = 1;
drivers/usb/gadget/udc/snps_udc_core.c
3110
dev->ep[UDC_EP0OUT_IX].td = td_data;
drivers/usb/gadget/udc/snps_udc_core.c
3114
dma_pool_free(dev->stp_requests, dev->ep[UDC_EP0OUT_IX].td_stp,
drivers/usb/gadget/udc/snps_udc_core.c
3115
dev->ep[UDC_EP0OUT_IX].td_stp_dma);
drivers/usb/gadget/udc/snps_udc_core.c
321
struct udc_ep *ep;
drivers/usb/gadget/udc/snps_udc_core.c
334
ep = container_of(usbep, struct udc_ep, ep);
drivers/usb/gadget/udc/snps_udc_core.c
335
dev = ep->dev;
drivers/usb/gadget/udc/snps_udc_core.c
337
DBG(dev, "udc_ep_enable() ep %d\n", ep->num);
drivers/usb/gadget/udc/snps_udc_core.c
343
ep->ep.desc = desc;
drivers/usb/gadget/udc/snps_udc_core.c
345
ep->halted = 0;
drivers/usb/gadget/udc/snps_udc_core.c
348
tmp = readl(&dev->ep[ep->num].regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
350
writel(tmp, &dev->ep[ep->num].regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
354
tmp = readl(&dev->ep[ep->num].regs->bufout_maxpkt);
drivers/usb/gadget/udc/snps_udc_core.c
356
ep->ep.maxpacket = maxpacket;
drivers/usb/gadget/udc/snps_udc_core.c
357
writel(tmp, &dev->ep[ep->num].regs->bufout_maxpkt);
drivers/usb/gadget/udc/snps_udc_core.c
360
if (ep->in) {
drivers/usb/gadget/udc/snps_udc_core.c
363
udc_csr_epix = ep->num;
drivers/usb/gadget/udc/snps_udc_core.c
366
tmp = readl(&dev->ep[ep->num].regs->bufin_framenum);
drivers/usb/gadget/udc/snps_udc_core.c
373
writel(tmp, &dev->ep[ep->num].regs->bufin_framenum);
drivers/usb/gadget/udc/snps_udc_core.c
376
udc_set_txfifo_addr(ep);
drivers/usb/gadget/udc/snps_udc_core.c
379
tmp = readl(&ep->regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
381
writel(tmp, &ep->regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
386
udc_csr_epix = ep->num - UDC_CSR_EP_OUT_IX_OFS;
drivers/usb/gadget/udc/snps_udc_core.c
389
tmp = readl(&dev->csr->ne[ep->num - UDC_CSR_EP_OUT_IX_OFS]);
drivers/usb/gadget/udc/snps_udc_core.c
392
writel(tmp, &dev->csr->ne[ep->num - UDC_CSR_EP_OUT_IX_OFS]);
drivers/usb/gadget/udc/snps_udc_core.c
394
if (use_dma && !ep->in) {
drivers/usb/gadget/udc/snps_udc_core.c
396
ep->bna_dummy_req = udc_alloc_bna_dummy(ep);
drivers/usb/gadget/udc/snps_udc_core.c
397
ep->bna_occurred = 0;
drivers/usb/gadget/udc/snps_udc_core.c
400
if (ep->num != UDC_EP0OUT_IX)
drivers/usb/gadget/udc/snps_udc_core.c
41
static struct udc_request *udc_alloc_bna_dummy(struct udc_ep *ep);
drivers/usb/gadget/udc/snps_udc_core.c
411
tmp = AMD_ADDBITS(tmp, ep->in, UDC_CSR_NE_DIR);
drivers/usb/gadget/udc/snps_udc_core.c
415
tmp = AMD_ADDBITS(tmp, ep->dev->cur_config, UDC_CSR_NE_CFG);
drivers/usb/gadget/udc/snps_udc_core.c
417
tmp = AMD_ADDBITS(tmp, ep->dev->cur_intf, UDC_CSR_NE_INTF);
drivers/usb/gadget/udc/snps_udc_core.c
419
tmp = AMD_ADDBITS(tmp, ep->dev->cur_alt, UDC_CSR_NE_ALT);
drivers/usb/gadget/udc/snps_udc_core.c
425
tmp &= AMD_UNMASK_BIT(ep->num);
drivers/usb/gadget/udc/snps_udc_core.c
432
if (!use_dma || ep->in) {
drivers/usb/gadget/udc/snps_udc_core.c
433
tmp = readl(&ep->regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
435
writel(tmp, &ep->regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
436
ep->naking = 0;
drivers/usb/gadget/udc/snps_udc_core.c
437
UDC_QUEUE_CNAK(ep, ep->num);
drivers/usb/gadget/udc/snps_udc_core.c
447
static void ep_init(struct udc_regs __iomem *regs, struct udc_ep *ep)
drivers/usb/gadget/udc/snps_udc_core.c
451
VDBG(ep->dev, "ep-%d reset\n", ep->num);
drivers/usb/gadget/udc/snps_udc_core.c
452
ep->ep.desc = NULL;
drivers/usb/gadget/udc/snps_udc_core.c
453
ep->ep.ops = &udc_ep_ops;
drivers/usb/gadget/udc/snps_udc_core.c
454
INIT_LIST_HEAD(&ep->queue);
drivers/usb/gadget/udc/snps_udc_core.c
456
usb_ep_set_maxpacket_limit(&ep->ep,(u16) ~0);
drivers/usb/gadget/udc/snps_udc_core.c
458
tmp = readl(&ep->regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
460
writel(tmp, &ep->regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
461
ep->naking = 1;
drivers/usb/gadget/udc/snps_udc_core.c
465
tmp |= AMD_BIT(ep->num);
drivers/usb/gadget/udc/snps_udc_core.c
468
if (ep->in) {
drivers/usb/gadget/udc/snps_udc_core.c
470
tmp = readl(&ep->regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
472
writel(tmp, &ep->regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
474
tmp = readl(&ep->regs->sts);
drivers/usb/gadget/udc/snps_udc_core.c
476
writel(tmp, &ep->regs->sts);
drivers/usb/gadget/udc/snps_udc_core.c
479
tmp = readl(&ep->regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
481
writel(tmp, &ep->regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
485
writel(0, &ep->regs->desptr);
drivers/usb/gadget/udc/snps_udc_core.c
491
struct udc_ep *ep = NULL;
drivers/usb/gadget/udc/snps_udc_core.c
497
ep = container_of(usbep, struct udc_ep, ep);
drivers/usb/gadget/udc/snps_udc_core.c
498
if (usbep->name == ep0_string || !ep->ep.desc)
drivers/usb/gadget/udc/snps_udc_core.c
501
DBG(ep->dev, "Disable ep-%d\n", ep->num);
drivers/usb/gadget/udc/snps_udc_core.c
503
spin_lock_irqsave(&ep->dev->lock, iflags);
drivers/usb/gadget/udc/snps_udc_core.c
504
udc_free_request(&ep->ep, &ep->bna_dummy_req->req);
drivers/usb/gadget/udc/snps_udc_core.c
505
empty_req_queue(ep);
drivers/usb/gadget/udc/snps_udc_core.c
506
ep_init(ep->dev->regs, ep);
drivers/usb/gadget/udc/snps_udc_core.c
507
spin_unlock_irqrestore(&ep->dev->lock, iflags);
drivers/usb/gadget/udc/snps_udc_core.c
518
struct udc_ep *ep;
drivers/usb/gadget/udc/snps_udc_core.c
523
ep = container_of(usbep, struct udc_ep, ep);
drivers/usb/gadget/udc/snps_udc_core.c
525
VDBG(ep->dev, "udc_alloc_req(): ep%d\n", ep->num);
drivers/usb/gadget/udc/snps_udc_core.c
533
if (ep->dma) {
drivers/usb/gadget/udc/snps_udc_core.c
535
dma_desc = dma_pool_alloc(ep->dev->data_requests, gfp,
drivers/usb/gadget/udc/snps_udc_core.c
542
VDBG(ep->dev, "udc_alloc_req: req = %p dma_desc = %p, "
drivers/usb/gadget/udc/snps_udc_core.c
583
struct udc_ep *ep;
drivers/usb/gadget/udc/snps_udc_core.c
589
ep = container_of(usbep, struct udc_ep, ep);
drivers/usb/gadget/udc/snps_udc_core.c
591
VDBG(ep->dev, "free_req req=%p\n", req);
drivers/usb/gadget/udc/snps_udc_core.c
594
VDBG(ep->dev, "req->td_data=%p\n", req->td_data);
drivers/usb/gadget/udc/snps_udc_core.c
598
udc_free_dma_chain(ep->dev, req);
drivers/usb/gadget/udc/snps_udc_core.c
600
dma_pool_free(ep->dev->data_requests, req->td_data,
drivers/usb/gadget/udc/snps_udc_core.c
627
static struct udc_request *udc_alloc_bna_dummy(struct udc_ep *ep)
drivers/usb/gadget/udc/snps_udc_core.c
633
_req = udc_alloc_request(&ep->ep, GFP_ATOMIC);
drivers/usb/gadget/udc/snps_udc_core.c
636
ep->bna_dummy_req = req;
drivers/usb/gadget/udc/snps_udc_core.c
644
udc_txfifo_write(struct udc_ep *ep, struct usb_request *req)
drivers/usb/gadget/udc/snps_udc_core.c
652
if (!req || !ep)
drivers/usb/gadget/udc/snps_udc_core.c
661
bytes = ep->ep.maxpacket;
drivers/usb/gadget/udc/snps_udc_core.c
667
writel(*(buf + i), ep->txfifo);
drivers/usb/gadget/udc/snps_udc_core.c
672
ep->txfifo);
drivers/usb/gadget/udc/snps_udc_core.c
676
writel(0, &ep->regs->confirm);
drivers/usb/gadget/udc/snps_udc_core.c
717
udc_rxfifo_read(struct udc_ep *ep, struct udc_request *req)
drivers/usb/gadget/udc/snps_udc_core.c
725
bytes = readl(&ep->regs->sts);
drivers/usb/gadget/udc/snps_udc_core.c
731
if ((buf_space % ep->ep.maxpacket) != 0) {
drivers/usb/gadget/udc/snps_udc_core.c
732
DBG(ep->dev,
drivers/usb/gadget/udc/snps_udc_core.c
734
ep->ep.name, bytes, buf_space);
drivers/usb/gadget/udc/snps_udc_core.c
742
if (((bytes % ep->ep.maxpacket) != 0) || (!bytes)
drivers/usb/gadget/udc/snps_udc_core.c
747
VDBG(ep->dev, "ep %s: rxfifo read %d bytes\n", ep->ep.name, bytes);
drivers/usb/gadget/udc/snps_udc_core.c
748
udc_rxfifo_read_bytes(ep->dev, buf, bytes);
drivers/usb/gadget/udc/snps_udc_core.c
755
struct udc_ep *ep,
drivers/usb/gadget/udc/snps_udc_core.c
769
VDBG(ep->dev, "udc_create_dma_chain: bytes=%ld buf_len=%ld\n",
drivers/usb/gadget/udc/snps_udc_core.c
774
if (!ep->in)
drivers/usb/gadget/udc/snps_udc_core.c
778
len = req->req.length / ep->ep.maxpacket;
drivers/usb/gadget/udc/snps_udc_core.c
779
if (req->req.length % ep->ep.maxpacket)
drivers/usb/gadget/udc/snps_udc_core.c
785
udc_free_dma_chain(ep->dev, req);
drivers/usb/gadget/udc/snps_udc_core.c
795
td = dma_pool_alloc(ep->dev->data_requests,
drivers/usb/gadget/udc/snps_udc_core.c
833
if (ep->in) {
drivers/usb/gadget/udc/snps_udc_core.c
837
ep->ep.maxpacket,
drivers/usb/gadget/udc/snps_udc_core.c
851
if (ep->in) {
drivers/usb/gadget/udc/snps_udc_core.c
871
static int prep_dma(struct udc_ep *ep, struct udc_request *req, gfp_t gfp)
drivers/usb/gadget/udc/snps_udc_core.c
876
VDBG(ep->dev, "prep_dma\n");
drivers/usb/gadget/udc/snps_udc_core.c
877
VDBG(ep->dev, "prep_dma ep%d req->td_data=%p\n",
drivers/usb/gadget/udc/snps_udc_core.c
878
ep->num, req->td_data);
drivers/usb/gadget/udc/snps_udc_core.c
889
retval = udc_create_dma_chain(ep, req, ep->ep.maxpacket, gfp);
drivers/usb/gadget/udc/snps_udc_core.c
892
DBG(ep->dev, "Out of DMA memory\n");
drivers/usb/gadget/udc/snps_udc_core.c
895
if (ep->in) {
drivers/usb/gadget/udc/snps_udc_core.c
896
if (req->req.length == ep->ep.maxpacket) {
drivers/usb/gadget/udc/snps_udc_core.c
900
ep->ep.maxpacket,
drivers/usb/gadget/udc/snps_udc_core.c
908
if (ep->in) {
drivers/usb/gadget/udc/snps_udc_core.c
909
VDBG(ep->dev, "IN: use_dma_ppb=%d req->req.len=%d "
drivers/usb/gadget/udc/snps_udc_core.c
912
ep->ep.maxpacket, ep->num);
drivers/usb/gadget/udc/snps_udc_core.c
917
if (!use_dma_ppb || req->req.length < ep->ep.maxpacket
drivers/usb/gadget/udc/snps_udc_core.c
918
|| ep->num == UDC_EP0OUT_IX
drivers/usb/gadget/udc/snps_udc_core.c
919
|| ep->num == UDC_EP0IN_IX) {
drivers/usb/gadget/udc/snps_udc_core.c
937
VDBG(ep->dev, "OUT set host ready\n");
drivers/usb/gadget/udc/snps_udc_core.c
945
if (ep->naking) {
drivers/usb/gadget/udc/snps_udc_core.c
946
tmp = readl(&ep->regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
948
writel(tmp, &ep->regs->ctl);
drivers/usb/gadget/udc/snps_udc_core.c
949
ep->naking = 0;
drivers/usb/gadget/udc/snps_udc_core.c
950
UDC_QUEUE_CNAK(ep, ep->num);
drivers/usb/gadget/udc/snps_udc_core.c
960
complete_req(struct udc_ep *ep, struct udc_request *req, int sts)
drivers/usb/gadget/udc/snps_udc_core.c
961
__releases(ep->dev->lock)
drivers/usb/gadget/udc/snps_udc_core.c
962
__acquires(ep->dev->lock)
drivers/usb/gadget/udc/snps_udc_core.c
967
VDBG(ep->dev, "complete_req(): ep%d\n", ep->num);
drivers/usb/gadget/udc/snps_udc_core.c
969
dev = ep->dev;
drivers/usb/gadget/udc/snps_udc_core.c
971
if (ep->dma)
drivers/usb/gadget/udc/snps_udc_core.c
972
usb_gadget_unmap_request(&dev->gadget, &req->req, ep->in);
drivers/usb/gadget/udc/snps_udc_core.c
974
halted = ep->halted;
drivers/usb/gadget/udc/snps_udc_core.c
975
ep->halted = 1;
drivers/usb/gadget/udc/snps_udc_core.c
984
VDBG(ep->dev, "req %p => complete %d bytes at %s with sts %d\n",
drivers/usb/gadget/udc/snps_udc_core.c
985
&req->req, req->req.length, ep->ep.name, sts);
drivers/usb/gadget/udc/snps_udc_core.c
988
usb_gadget_giveback_request(&ep->ep, &req->req);
drivers/usb/gadget/udc/snps_udc_core.c
990
ep->halted = halted;
drivers/usb/gadget/udc/snps_udc_plat.c
62
empty_req_queue(&udc->ep[tmp]);
drivers/usb/gadget/udc/tegra-xudc.c
1001
val &= ~BIT(ep);
drivers/usb/gadget/udc/tegra-xudc.c
1004
xudc_readl_poll(xudc, EP_STCHG, BIT(ep), BIT(ep));
drivers/usb/gadget/udc/tegra-xudc.c
1006
xudc_writel(xudc, BIT(ep), EP_STCHG);
drivers/usb/gadget/udc/tegra-xudc.c
1023
static void ep_wait_for_stopped(struct tegra_xudc *xudc, unsigned int ep)
drivers/usb/gadget/udc/tegra-xudc.c
1025
xudc_readl_poll(xudc, EP_STOPPED, BIT(ep), BIT(ep));
drivers/usb/gadget/udc/tegra-xudc.c
1026
xudc_writel(xudc, BIT(ep), EP_STOPPED);
drivers/usb/gadget/udc/tegra-xudc.c
1029
static void ep_wait_for_inactive(struct tegra_xudc *xudc, unsigned int ep)
drivers/usb/gadget/udc/tegra-xudc.c
1031
xudc_readl_poll(xudc, EP_THREAD_ACTIVE, BIT(ep), 0);
drivers/usb/gadget/udc/tegra-xudc.c
1034
static void tegra_xudc_req_done(struct tegra_xudc_ep *ep,
drivers/usb/gadget/udc/tegra-xudc.c
1037
struct tegra_xudc *xudc = ep->xudc;
drivers/usb/gadget/udc/tegra-xudc.c
1040
req, ep->index, status);
drivers/usb/gadget/udc/tegra-xudc.c
1047
if (usb_endpoint_xfer_control(ep->desc)) {
drivers/usb/gadget/udc/tegra-xudc.c
1053
usb_endpoint_dir_in(ep->desc));
drivers/usb/gadget/udc/tegra-xudc.c
1057
usb_gadget_giveback_request(&ep->usb_ep, &req->usb_req);
drivers/usb/gadget/udc/tegra-xudc.c
1061
static void tegra_xudc_ep_nuke(struct tegra_xudc_ep *ep, int status)
drivers/usb/gadget/udc/tegra-xudc.c
1065
while (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/tegra-xudc.c
1066
req = list_first_entry(&ep->queue, struct tegra_xudc_request,
drivers/usb/gadget/udc/tegra-xudc.c
1068
tegra_xudc_req_done(ep, req, status);
drivers/usb/gadget/udc/tegra-xudc.c
1072
static unsigned int ep_available_trbs(struct tegra_xudc_ep *ep)
drivers/usb/gadget/udc/tegra-xudc.c
1074
if (ep->ring_full)
drivers/usb/gadget/udc/tegra-xudc.c
1077
if (ep->deq_ptr > ep->enq_ptr)
drivers/usb/gadget/udc/tegra-xudc.c
1078
return ep->deq_ptr - ep->enq_ptr - 1;
drivers/usb/gadget/udc/tegra-xudc.c
1080
return XUDC_TRANSFER_RING_SIZE - (ep->enq_ptr - ep->deq_ptr) - 2;
drivers/usb/gadget/udc/tegra-xudc.c
1083
static void tegra_xudc_queue_one_trb(struct tegra_xudc_ep *ep,
drivers/usb/gadget/udc/tegra-xudc.c
1088
struct tegra_xudc *xudc = ep->xudc;
drivers/usb/gadget/udc/tegra-xudc.c
1112
if (usb_endpoint_dir_out(ep->desc) ||
drivers/usb/gadget/udc/tegra-xudc.c
1113
(usb_endpoint_xfer_control(ep->desc) &&
drivers/usb/gadget/udc/tegra-xudc.c
1119
if (usb_endpoint_xfer_control(ep->desc)) {
drivers/usb/gadget/udc/tegra-xudc.c
1131
} else if (usb_endpoint_xfer_isoc(ep->desc)) {
drivers/usb/gadget/udc/tegra-xudc.c
1136
} else if (usb_ss_max_streams(ep->comp_desc)) {
drivers/usb/gadget/udc/tegra-xudc.c
1144
trb_write_cycle(trb, ep->pcs);
drivers/usb/gadget/udc/tegra-xudc.c
1152
static unsigned int tegra_xudc_queue_trbs(struct tegra_xudc_ep *ep,
drivers/usb/gadget/udc/tegra-xudc.c
1158
available = ep_available_trbs(ep);
drivers/usb/gadget/udc/tegra-xudc.c
1162
ep->ring_full = true;
drivers/usb/gadget/udc/tegra-xudc.c
1182
if (req->need_zlp && usb_endpoint_xfer_control(ep->desc) && count > 1)
drivers/usb/gadget/udc/tegra-xudc.c
1186
req->first_trb = &ep->transfer_ring[ep->enq_ptr];
drivers/usb/gadget/udc/tegra-xudc.c
1189
struct tegra_xudc_trb *trb = &ep->transfer_ring[ep->enq_ptr];
drivers/usb/gadget/udc/tegra-xudc.c
1195
tegra_xudc_queue_one_trb(ep, req, trb, ioc);
drivers/usb/gadget/udc/tegra-xudc.c
1198
ep->enq_ptr++;
drivers/usb/gadget/udc/tegra-xudc.c
1199
if (ep->enq_ptr == XUDC_TRANSFER_RING_SIZE - 1) {
drivers/usb/gadget/udc/tegra-xudc.c
1200
trb = &ep->transfer_ring[ep->enq_ptr];
drivers/usb/gadget/udc/tegra-xudc.c
1201
trb_write_cycle(trb, ep->pcs);
drivers/usb/gadget/udc/tegra-xudc.c
1202
ep->pcs = !ep->pcs;
drivers/usb/gadget/udc/tegra-xudc.c
1203
ep->enq_ptr = 0;
drivers/usb/gadget/udc/tegra-xudc.c
1213
static void tegra_xudc_ep_ring_doorbell(struct tegra_xudc_ep *ep)
drivers/usb/gadget/udc/tegra-xudc.c
1215
struct tegra_xudc *xudc = ep->xudc;
drivers/usb/gadget/udc/tegra-xudc.c
1218
if (list_empty(&ep->queue))
drivers/usb/gadget/udc/tegra-xudc.c
1221
val = DB_TARGET(ep->index);
drivers/usb/gadget/udc/tegra-xudc.c
1222
if (usb_endpoint_xfer_control(ep->desc)) {
drivers/usb/gadget/udc/tegra-xudc.c
1224
} else if (usb_ss_max_streams(ep->comp_desc) > 0) {
drivers/usb/gadget/udc/tegra-xudc.c
1228
if (ep->stream_rejected)
drivers/usb/gadget/udc/tegra-xudc.c
1231
req = list_first_entry(&ep->queue, struct tegra_xudc_request,
drivers/usb/gadget/udc/tegra-xudc.c
1240
static void tegra_xudc_ep_kick_queue(struct tegra_xudc_ep *ep)
drivers/usb/gadget/udc/tegra-xudc.c
1245
list_for_each_entry(req, &ep->queue, list) {
drivers/usb/gadget/udc/tegra-xudc.c
1246
if (ep->ring_full)
drivers/usb/gadget/udc/tegra-xudc.c
1249
if (tegra_xudc_queue_trbs(ep, req) > 0)
drivers/usb/gadget/udc/tegra-xudc.c
1254
tegra_xudc_ep_ring_doorbell(ep);
drivers/usb/gadget/udc/tegra-xudc.c
1258
__tegra_xudc_ep_queue(struct tegra_xudc_ep *ep, struct tegra_xudc_request *req)
drivers/usb/gadget/udc/tegra-xudc.c
1260
struct tegra_xudc *xudc = ep->xudc;
drivers/usb/gadget/udc/tegra-xudc.c
1263
if (usb_endpoint_xfer_control(ep->desc) && !list_empty(&ep->queue)) {
drivers/usb/gadget/udc/tegra-xudc.c
1268
if (usb_endpoint_xfer_control(ep->desc)) {
drivers/usb/gadget/udc/tegra-xudc.c
1274
usb_endpoint_dir_in(ep->desc));
drivers/usb/gadget/udc/tegra-xudc.c
1292
if (!usb_endpoint_xfer_isoc(ep->desc) &&
drivers/usb/gadget/udc/tegra-xudc.c
1294
((req->usb_req.length % ep->usb_ep.maxpacket) == 0)) {
drivers/usb/gadget/udc/tegra-xudc.c
1302
list_add_tail(&req->list, &ep->queue);
drivers/usb/gadget/udc/tegra-xudc.c
1304
tegra_xudc_ep_kick_queue(ep);
drivers/usb/gadget/udc/tegra-xudc.c
1314
struct tegra_xudc_ep *ep;
drivers/usb/gadget/udc/tegra-xudc.c
1322
ep = to_xudc_ep(usb_ep);
drivers/usb/gadget/udc/tegra-xudc.c
1324
xudc = ep->xudc;
drivers/usb/gadget/udc/tegra-xudc.c
1327
if (xudc->powergated || !ep->desc) {
drivers/usb/gadget/udc/tegra-xudc.c
1332
ret = __tegra_xudc_ep_queue(ep, req);
drivers/usb/gadget/udc/tegra-xudc.c
1339
static void squeeze_transfer_ring(struct tegra_xudc_ep *ep,
drivers/usb/gadget/udc/tegra-xudc.c
1350
while (trb != &ep->transfer_ring[ep->enq_ptr]) {
drivers/usb/gadget/udc/tegra-xudc.c
1357
trb = ep->transfer_ring;
drivers/usb/gadget/udc/tegra-xudc.c
1361
ep->enq_ptr = req->first_trb - ep->transfer_ring;
drivers/usb/gadget/udc/tegra-xudc.c
1366
ep->pcs = pcs_enq;
drivers/usb/gadget/udc/tegra-xudc.c
1367
ep->ring_full = false;
drivers/usb/gadget/udc/tegra-xudc.c
1368
list_for_each_entry_continue(req, &ep->queue, list) {
drivers/usb/gadget/udc/tegra-xudc.c
1383
static bool trb_in_request(struct tegra_xudc_ep *ep,
drivers/usb/gadget/udc/tegra-xudc.c
1387
dev_dbg(ep->xudc->dev, "%s: request %p -> %p; trb %p\n", __func__,
drivers/usb/gadget/udc/tegra-xudc.c
1405
static bool trb_before_request(struct tegra_xudc_ep *ep,
drivers/usb/gadget/udc/tegra-xudc.c
1409
struct tegra_xudc_trb *enq_trb = &ep->transfer_ring[ep->enq_ptr];
drivers/usb/gadget/udc/tegra-xudc.c
1411
dev_dbg(ep->xudc->dev, "%s: request %p -> %p; enq ptr: %p; trb %p\n",
drivers/usb/gadget/udc/tegra-xudc.c
1425
__tegra_xudc_ep_dequeue(struct tegra_xudc_ep *ep,
drivers/usb/gadget/udc/tegra-xudc.c
1428
struct tegra_xudc *xudc = ep->xudc;
drivers/usb/gadget/udc/tegra-xudc.c
1435
list_for_each_entry(iter, &ep->queue, list) {
drivers/usb/gadget/udc/tegra-xudc.c
1447
tegra_xudc_req_done(ep, req, -ECONNRESET);
drivers/usb/gadget/udc/tegra-xudc.c
1452
if (ep_ctx_read_state(ep->context) == EP_STATE_RUNNING) {
drivers/usb/gadget/udc/tegra-xudc.c
1453
ep_pause(xudc, ep->index);
drivers/usb/gadget/udc/tegra-xudc.c
1454
ep_wait_for_inactive(xudc, ep->index);
drivers/usb/gadget/udc/tegra-xudc.c
1457
deq_trb = trb_phys_to_virt(ep, ep_ctx_read_deq_ptr(ep->context));
drivers/usb/gadget/udc/tegra-xudc.c
1459
busy = (trb_read_cycle(deq_trb) == ep_ctx_read_dcs(ep->context));
drivers/usb/gadget/udc/tegra-xudc.c
1461
if (trb_in_request(ep, req, deq_trb) && busy) {
drivers/usb/gadget/udc/tegra-xudc.c
1468
squeeze_transfer_ring(ep, req);
drivers/usb/gadget/udc/tegra-xudc.c
1470
req->usb_req.actual = ep_ctx_read_edtla(ep->context);
drivers/usb/gadget/udc/tegra-xudc.c
1471
tegra_xudc_req_done(ep, req, -ECONNRESET);
drivers/usb/gadget/udc/tegra-xudc.c
1480
ep_ctx_write_edtla(ep->context, 0);
drivers/usb/gadget/udc/tegra-xudc.c
1481
ep_ctx_write_partial_td(ep->context, 0);
drivers/usb/gadget/udc/tegra-xudc.c
1482
ep_ctx_write_data_offset(ep->context, 0);
drivers/usb/gadget/udc/tegra-xudc.c
1484
deq_ptr = trb_virt_to_phys(ep,
drivers/usb/gadget/udc/tegra-xudc.c
1485
&ep->transfer_ring[ep->enq_ptr]);
drivers/usb/gadget/udc/tegra-xudc.c
1490
ep_ctx_write_deq_ptr(ep->context, deq_ptr);
drivers/usb/gadget/udc/tegra-xudc.c
1491
ep_ctx_write_dcs(ep->context, ep->pcs);
drivers/usb/gadget/udc/tegra-xudc.c
1492
ep_reload(xudc, ep->index);
drivers/usb/gadget/udc/tegra-xudc.c
1495
} else if (trb_before_request(ep, req, deq_trb) && busy) {
drivers/usb/gadget/udc/tegra-xudc.c
1497
squeeze_transfer_ring(ep, req);
drivers/usb/gadget/udc/tegra-xudc.c
1499
tegra_xudc_req_done(ep, req, -ECONNRESET);
drivers/usb/gadget/udc/tegra-xudc.c
1506
tegra_xudc_req_done(ep, req, -ECONNRESET);
drivers/usb/gadget/udc/tegra-xudc.c
1511
ep_unpause(xudc, ep->index);
drivers/usb/gadget/udc/tegra-xudc.c
1514
tegra_xudc_ep_kick_queue(ep);
drivers/usb/gadget/udc/tegra-xudc.c
1523
struct tegra_xudc_ep *ep;
drivers/usb/gadget/udc/tegra-xudc.c
1531
ep = to_xudc_ep(usb_ep);
drivers/usb/gadget/udc/tegra-xudc.c
1533
xudc = ep->xudc;
drivers/usb/gadget/udc/tegra-xudc.c
1537
if (xudc->powergated || !ep->desc) {
drivers/usb/gadget/udc/tegra-xudc.c
1542
ret = __tegra_xudc_ep_dequeue(ep, req);
drivers/usb/gadget/udc/tegra-xudc.c
1549
static int __tegra_xudc_ep_set_halt(struct tegra_xudc_ep *ep, bool halt)
drivers/usb/gadget/udc/tegra-xudc.c
1551
struct tegra_xudc *xudc = ep->xudc;
drivers/usb/gadget/udc/tegra-xudc.c
1553
if (!ep->desc)
drivers/usb/gadget/udc/tegra-xudc.c
1556
if (usb_endpoint_xfer_isoc(ep->desc)) {
drivers/usb/gadget/udc/tegra-xudc.c
1562
ep_halt(xudc, ep->index);
drivers/usb/gadget/udc/tegra-xudc.c
1564
ep_ctx_write_state(ep->context, EP_STATE_DISABLED);
drivers/usb/gadget/udc/tegra-xudc.c
1566
ep_reload(xudc, ep->index);
drivers/usb/gadget/udc/tegra-xudc.c
1568
ep_ctx_write_state(ep->context, EP_STATE_RUNNING);
drivers/usb/gadget/udc/tegra-xudc.c
1569
ep_ctx_write_rsvd(ep->context, 0);
drivers/usb/gadget/udc/tegra-xudc.c
1570
ep_ctx_write_partial_td(ep->context, 0);
drivers/usb/gadget/udc/tegra-xudc.c
1571
ep_ctx_write_splitxstate(ep->context, 0);
drivers/usb/gadget/udc/tegra-xudc.c
1572
ep_ctx_write_seq_num(ep->context, 0);
drivers/usb/gadget/udc/tegra-xudc.c
1574
ep_reload(xudc, ep->index);
drivers/usb/gadget/udc/tegra-xudc.c
1575
ep_unpause(xudc, ep->index);
drivers/usb/gadget/udc/tegra-xudc.c
1576
ep_unhalt(xudc, ep->index);
drivers/usb/gadget/udc/tegra-xudc.c
1578
tegra_xudc_ep_ring_doorbell(ep);
drivers/usb/gadget/udc/tegra-xudc.c
1586
struct tegra_xudc_ep *ep;
drivers/usb/gadget/udc/tegra-xudc.c
1594
ep = to_xudc_ep(usb_ep);
drivers/usb/gadget/udc/tegra-xudc.c
1595
xudc = ep->xudc;
drivers/usb/gadget/udc/tegra-xudc.c
1603
if (value && usb_endpoint_dir_in(ep->desc) &&
drivers/usb/gadget/udc/tegra-xudc.c
1604
!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/tegra-xudc.c
1610
ret = __tegra_xudc_ep_set_halt(ep, value);
drivers/usb/gadget/udc/tegra-xudc.c
1617
static void tegra_xudc_ep_context_setup(struct tegra_xudc_ep *ep)
drivers/usb/gadget/udc/tegra-xudc.c
1619
const struct usb_endpoint_descriptor *desc = ep->desc;
drivers/usb/gadget/udc/tegra-xudc.c
1620
const struct usb_ss_ep_comp_descriptor *comp_desc = ep->comp_desc;
drivers/usb/gadget/udc/tegra-xudc.c
1621
struct tegra_xudc *xudc = ep->xudc;
drivers/usb/gadget/udc/tegra-xudc.c
1646
memset(ep->context, 0, sizeof(*ep->context));
drivers/usb/gadget/udc/tegra-xudc.c
1648
ep_ctx_write_state(ep->context, EP_STATE_RUNNING);
drivers/usb/gadget/udc/tegra-xudc.c
1649
ep_ctx_write_interval(ep->context, desc->bInterval);
drivers/usb/gadget/udc/tegra-xudc.c
1652
ep_ctx_write_mult(ep->context,
drivers/usb/gadget/udc/tegra-xudc.c
1657
ep_ctx_write_max_pstreams(ep->context,
drivers/usb/gadget/udc/tegra-xudc.c
1660
ep_ctx_write_lsa(ep->context, 1);
drivers/usb/gadget/udc/tegra-xudc.c
1669
ep_ctx_write_type(ep->context, val);
drivers/usb/gadget/udc/tegra-xudc.c
1670
ep_ctx_write_cerr(ep->context, 0x3);
drivers/usb/gadget/udc/tegra-xudc.c
1671
ep_ctx_write_max_packet_size(ep->context, maxpacket);
drivers/usb/gadget/udc/tegra-xudc.c
1672
ep_ctx_write_max_burst_size(ep->context, maxburst);
drivers/usb/gadget/udc/tegra-xudc.c
1674
ep_ctx_write_deq_ptr(ep->context, ep->transfer_ring_phys);
drivers/usb/gadget/udc/tegra-xudc.c
1675
ep_ctx_write_dcs(ep->context, ep->pcs);
drivers/usb/gadget/udc/tegra-xudc.c
1692
ep_ctx_write_avg_trb_len(ep->context, val);
drivers/usb/gadget/udc/tegra-xudc.c
1693
ep_ctx_write_max_esit_payload(ep->context, esit);
drivers/usb/gadget/udc/tegra-xudc.c
1695
ep_ctx_write_cerrcnt(ep->context, 0x3);
drivers/usb/gadget/udc/tegra-xudc.c
1698
static void setup_link_trb(struct tegra_xudc_ep *ep,
drivers/usb/gadget/udc/tegra-xudc.c
1701
trb_write_data_ptr(trb, ep->transfer_ring_phys);
drivers/usb/gadget/udc/tegra-xudc.c
1706
static int __tegra_xudc_ep_disable(struct tegra_xudc_ep *ep)
drivers/usb/gadget/udc/tegra-xudc.c
1708
struct tegra_xudc *xudc = ep->xudc;
drivers/usb/gadget/udc/tegra-xudc.c
1710
if (ep_ctx_read_state(ep->context) == EP_STATE_DISABLED) {
drivers/usb/gadget/udc/tegra-xudc.c
1712
ep->index);
drivers/usb/gadget/udc/tegra-xudc.c
1716
ep_ctx_write_state(ep->context, EP_STATE_DISABLED);
drivers/usb/gadget/udc/tegra-xudc.c
1718
ep_reload(xudc, ep->index);
drivers/usb/gadget/udc/tegra-xudc.c
1720
tegra_xudc_ep_nuke(ep, -ESHUTDOWN);
drivers/usb/gadget/udc/tegra-xudc.c
1723
if (usb_endpoint_xfer_isoc(ep->desc))
drivers/usb/gadget/udc/tegra-xudc.c
1726
ep->desc = NULL;
drivers/usb/gadget/udc/tegra-xudc.c
1727
ep->comp_desc = NULL;
drivers/usb/gadget/udc/tegra-xudc.c
1729
memset(ep->context, 0, sizeof(*ep->context));
drivers/usb/gadget/udc/tegra-xudc.c
1731
ep_unpause(xudc, ep->index);
drivers/usb/gadget/udc/tegra-xudc.c
1732
ep_unhalt(xudc, ep->index);
drivers/usb/gadget/udc/tegra-xudc.c
1733
if (xudc_readl(xudc, EP_STOPPED) & BIT(ep->index))
drivers/usb/gadget/udc/tegra-xudc.c
1734
xudc_writel(xudc, BIT(ep->index), EP_STOPPED);
drivers/usb/gadget/udc/tegra-xudc.c
1756
dev_info(xudc->dev, "ep %u disabled\n", ep->index);
drivers/usb/gadget/udc/tegra-xudc.c
1763
struct tegra_xudc_ep *ep;
drivers/usb/gadget/udc/tegra-xudc.c
1771
ep = to_xudc_ep(usb_ep);
drivers/usb/gadget/udc/tegra-xudc.c
1772
xudc = ep->xudc;
drivers/usb/gadget/udc/tegra-xudc.c
1780
ret = __tegra_xudc_ep_disable(ep);
drivers/usb/gadget/udc/tegra-xudc.c
1787
static int __tegra_xudc_ep_enable(struct tegra_xudc_ep *ep,
drivers/usb/gadget/udc/tegra-xudc.c
1790
struct tegra_xudc *xudc = ep->xudc;
drivers/usb/gadget/udc/tegra-xudc.c
1795
!usb_endpoint_xfer_control(desc) && !ep->usb_ep.comp_desc)
drivers/usb/gadget/udc/tegra-xudc.c
1799
if (ep_ctx_read_state(ep->context) != EP_STATE_DISABLED)
drivers/usb/gadget/udc/tegra-xudc.c
1800
__tegra_xudc_ep_disable(ep);
drivers/usb/gadget/udc/tegra-xudc.c
1802
ep->desc = desc;
drivers/usb/gadget/udc/tegra-xudc.c
1803
ep->comp_desc = ep->usb_ep.comp_desc;
drivers/usb/gadget/udc/tegra-xudc.c
1813
memset(ep->transfer_ring, 0, XUDC_TRANSFER_RING_SIZE *
drivers/usb/gadget/udc/tegra-xudc.c
1814
sizeof(*ep->transfer_ring));
drivers/usb/gadget/udc/tegra-xudc.c
1815
setup_link_trb(ep, &ep->transfer_ring[XUDC_TRANSFER_RING_SIZE - 1]);
drivers/usb/gadget/udc/tegra-xudc.c
1817
ep->enq_ptr = 0;
drivers/usb/gadget/udc/tegra-xudc.c
1818
ep->deq_ptr = 0;
drivers/usb/gadget/udc/tegra-xudc.c
1819
ep->pcs = true;
drivers/usb/gadget/udc/tegra-xudc.c
1820
ep->ring_full = false;
drivers/usb/gadget/udc/tegra-xudc.c
1823
tegra_xudc_ep_context_setup(ep);
drivers/usb/gadget/udc/tegra-xudc.c
1850
for (i = 0; i < ARRAY_SIZE(xudc->ep); i++) {
drivers/usb/gadget/udc/tegra-xudc.c
1851
if (xudc->ep[i].desc &&
drivers/usb/gadget/udc/tegra-xudc.c
1852
usb_endpoint_xfer_bulk(xudc->ep[i].desc))
drivers/usb/gadget/udc/tegra-xudc.c
1857
ep_reload(xudc, ep->index);
drivers/usb/gadget/udc/tegra-xudc.c
1858
ep_unpause(xudc, ep->index);
drivers/usb/gadget/udc/tegra-xudc.c
1859
ep_unhalt(xudc, ep->index);
drivers/usb/gadget/udc/tegra-xudc.c
1862
for (i = 0; i < ARRAY_SIZE(xudc->ep); i++) {
drivers/usb/gadget/udc/tegra-xudc.c
1863
if (xudc->ep[i].desc &&
drivers/usb/gadget/udc/tegra-xudc.c
1864
usb_endpoint_xfer_bulk(xudc->ep[i].desc))
drivers/usb/gadget/udc/tegra-xudc.c
1870
dev_info(xudc->dev, "EP %u (type: %s, dir: %s) enabled\n", ep->index,
drivers/usb/gadget/udc/tegra-xudc.c
1871
usb_ep_type_string(usb_endpoint_type(ep->desc)),
drivers/usb/gadget/udc/tegra-xudc.c
1872
usb_endpoint_dir_in(ep->desc) ? "in" : "out");
drivers/usb/gadget/udc/tegra-xudc.c
1880
struct tegra_xudc_ep *ep;
drivers/usb/gadget/udc/tegra-xudc.c
1888
ep = to_xudc_ep(usb_ep);
drivers/usb/gadget/udc/tegra-xudc.c
1889
xudc = ep->xudc;
drivers/usb/gadget/udc/tegra-xudc.c
1897
ret = __tegra_xudc_ep_enable(ep, desc);
drivers/usb/gadget/udc/tegra-xudc.c
2003
for (i = 0; i < ARRAY_SIZE(xudc->ep); i++)
drivers/usb/gadget/udc/tegra-xudc.c
2004
tegra_xudc_ep_ring_doorbell(&xudc->ep[i]);
drivers/usb/gadget/udc/tegra-xudc.c
2100
ret = __tegra_xudc_ep_enable(&xudc->ep[0], &tegra_xudc_ep0_desc);
drivers/usb/gadget/udc/tegra-xudc.c
2151
__tegra_xudc_ep_disable(&xudc->ep[0]);
drivers/usb/gadget/udc/tegra-xudc.c
2196
static void no_op_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/udc/tegra-xudc.c
2210
return __tegra_xudc_ep_queue(&xudc->ep[0], xudc->ep0_req);
drivers/usb/gadget/udc/tegra-xudc.c
2222
return __tegra_xudc_ep_queue(&xudc->ep[0], xudc->ep0_req);
drivers/usb/gadget/udc/tegra-xudc.c
2254
static void set_feature_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/udc/tegra-xudc.c
2270
u32 val, ep;
drivers/usb/gadget/udc/tegra-xudc.c
2355
ep = (index & USB_ENDPOINT_NUMBER_MASK) * 2 +
drivers/usb/gadget/udc/tegra-xudc.c
2363
ret = __tegra_xudc_ep_set_halt(&xudc->ep[ep], set);
drivers/usb/gadget/udc/tegra-xudc.c
2378
u32 val, ep, index = le16_to_cpu(ctrl->wIndex);
drivers/usb/gadget/udc/tegra-xudc.c
2415
ep = (index & USB_ENDPOINT_NUMBER_MASK) * 2 +
drivers/usb/gadget/udc/tegra-xudc.c
2417
ep_ctx = &xudc->ep_context[ep];
drivers/usb/gadget/udc/tegra-xudc.c
2420
((xudc->device_state != USB_STATE_ADDRESS) || (ep != 0)))
drivers/usb/gadget/udc/tegra-xudc.c
2426
if (xudc_readl(xudc, EP_HALT) & BIT(ep))
drivers/usb/gadget/udc/tegra-xudc.c
2439
static void set_sel_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/udc/tegra-xudc.c
2464
static void set_isoch_delay_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/udc/tegra-xudc.c
2487
static void set_address_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/gadget/udc/tegra-xudc.c
2505
struct tegra_xudc_ep *ep0 = &xudc->ep[0];
drivers/usb/gadget/udc/tegra-xudc.c
2637
trb_to_request(struct tegra_xudc_ep *ep, struct tegra_xudc_trb *trb)
drivers/usb/gadget/udc/tegra-xudc.c
2641
list_for_each_entry(req, &ep->queue, list) {
drivers/usb/gadget/udc/tegra-xudc.c
2645
if (trb_in_request(ep, req, trb))
drivers/usb/gadget/udc/tegra-xudc.c
2653
struct tegra_xudc_ep *ep,
drivers/usb/gadget/udc/tegra-xudc.c
2663
trb = trb_phys_to_virt(ep, trb_read_data_ptr(event));
drivers/usb/gadget/udc/tegra-xudc.c
2664
req = trb_to_request(ep, trb);
drivers/usb/gadget/udc/tegra-xudc.c
2681
tegra_xudc_req_done(ep, req, 0);
drivers/usb/gadget/udc/tegra-xudc.c
2683
if (ep->desc && usb_endpoint_xfer_control(ep->desc))
drivers/usb/gadget/udc/tegra-xudc.c
2691
ep->deq_ptr = (last - ep->transfer_ring) + 1;
drivers/usb/gadget/udc/tegra-xudc.c
2692
if (ep->deq_ptr == XUDC_TRANSFER_RING_SIZE - 1)
drivers/usb/gadget/udc/tegra-xudc.c
2693
ep->deq_ptr = 0;
drivers/usb/gadget/udc/tegra-xudc.c
2699
if (ep->desc)
drivers/usb/gadget/udc/tegra-xudc.c
2700
tegra_xudc_ep_kick_queue(ep);
drivers/usb/gadget/udc/tegra-xudc.c
2707
struct tegra_xudc_ep *ep = &xudc->ep[ep_index];
drivers/usb/gadget/udc/tegra-xudc.c
2711
if (ep_ctx_read_state(ep->context) == EP_STATE_DISABLED) {
drivers/usb/gadget/udc/tegra-xudc.c
2718
trb = trb_phys_to_virt(ep, trb_read_data_ptr(event));
drivers/usb/gadget/udc/tegra-xudc.c
2721
ep->deq_ptr = (trb - ep->transfer_ring) + 1;
drivers/usb/gadget/udc/tegra-xudc.c
2723
if (ep->deq_ptr == XUDC_TRANSFER_RING_SIZE - 1)
drivers/usb/gadget/udc/tegra-xudc.c
2724
ep->deq_ptr = 0;
drivers/usb/gadget/udc/tegra-xudc.c
2725
ep->ring_full = false;
drivers/usb/gadget/udc/tegra-xudc.c
2731
tegra_xudc_handle_transfer_completion(xudc, ep, event);
drivers/usb/gadget/udc/tegra-xudc.c
2736
ep->stream_rejected = true;
drivers/usb/gadget/udc/tegra-xudc.c
2741
if (ep->stream_rejected) {
drivers/usb/gadget/udc/tegra-xudc.c
2742
ep->stream_rejected = false;
drivers/usb/gadget/udc/tegra-xudc.c
2750
tegra_xudc_ep_ring_doorbell(ep);
drivers/usb/gadget/udc/tegra-xudc.c
2758
ep->enq_ptr = ep->deq_ptr;
drivers/usb/gadget/udc/tegra-xudc.c
2759
tegra_xudc_ep_nuke(ep, -EIO);
drivers/usb/gadget/udc/tegra-xudc.c
2781
tegra_xudc_ep_nuke(ep, -EINVAL);
drivers/usb/gadget/udc/tegra-xudc.c
2796
tegra_xudc_ep_nuke(ep, -ECONNREFUSED);
drivers/usb/gadget/udc/tegra-xudc.c
2807
struct tegra_xudc_ep *ep0 = &xudc->ep[0];
drivers/usb/gadget/udc/tegra-xudc.c
2817
for (i = 0; i < ARRAY_SIZE(xudc->ep); i++)
drivers/usb/gadget/udc/tegra-xudc.c
2818
tegra_xudc_ep_nuke(&xudc->ep[i], -ESHUTDOWN);
drivers/usb/gadget/udc/tegra-xudc.c
2849
struct tegra_xudc_ep *ep0 = &xudc->ep[0];
drivers/usb/gadget/udc/tegra-xudc.c
3155
struct tegra_xudc_ep *ep = &xudc->ep[index];
drivers/usb/gadget/udc/tegra-xudc.c
3157
ep->xudc = xudc;
drivers/usb/gadget/udc/tegra-xudc.c
3158
ep->index = index;
drivers/usb/gadget/udc/tegra-xudc.c
3159
ep->context = &xudc->ep_context[index];
drivers/usb/gadget/udc/tegra-xudc.c
3160
INIT_LIST_HEAD(&ep->queue);
drivers/usb/gadget/udc/tegra-xudc.c
3169
ep->transfer_ring = dma_pool_alloc(xudc->transfer_ring_pool,
drivers/usb/gadget/udc/tegra-xudc.c
3171
&ep->transfer_ring_phys);
drivers/usb/gadget/udc/tegra-xudc.c
3172
if (!ep->transfer_ring)
drivers/usb/gadget/udc/tegra-xudc.c
3176
snprintf(ep->name, sizeof(ep->name), "ep%u%s", index / 2,
drivers/usb/gadget/udc/tegra-xudc.c
3178
ep->usb_ep.name = ep->name;
drivers/usb/gadget/udc/tegra-xudc.c
3179
usb_ep_set_maxpacket_limit(&ep->usb_ep, 1024);
drivers/usb/gadget/udc/tegra-xudc.c
3180
ep->usb_ep.max_streams = 16;
drivers/usb/gadget/udc/tegra-xudc.c
3181
ep->usb_ep.ops = &tegra_xudc_ep_ops;
drivers/usb/gadget/udc/tegra-xudc.c
3182
ep->usb_ep.caps.type_bulk = true;
drivers/usb/gadget/udc/tegra-xudc.c
3183
ep->usb_ep.caps.type_int = true;
drivers/usb/gadget/udc/tegra-xudc.c
3185
ep->usb_ep.caps.dir_in = true;
drivers/usb/gadget/udc/tegra-xudc.c
3187
ep->usb_ep.caps.dir_out = true;
drivers/usb/gadget/udc/tegra-xudc.c
3188
list_add_tail(&ep->usb_ep.ep_list, &xudc->gadget.ep_list);
drivers/usb/gadget/udc/tegra-xudc.c
3190
strscpy(ep->name, "ep0", 3);
drivers/usb/gadget/udc/tegra-xudc.c
3191
ep->usb_ep.name = ep->name;
drivers/usb/gadget/udc/tegra-xudc.c
3192
usb_ep_set_maxpacket_limit(&ep->usb_ep, 512);
drivers/usb/gadget/udc/tegra-xudc.c
3193
ep->usb_ep.ops = &tegra_xudc_ep0_ops;
drivers/usb/gadget/udc/tegra-xudc.c
3194
ep->usb_ep.caps.type_control = true;
drivers/usb/gadget/udc/tegra-xudc.c
3195
ep->usb_ep.caps.dir_in = true;
drivers/usb/gadget/udc/tegra-xudc.c
3196
ep->usb_ep.caps.dir_out = true;
drivers/usb/gadget/udc/tegra-xudc.c
3204
struct tegra_xudc_ep *ep = &xudc->ep[index];
drivers/usb/gadget/udc/tegra-xudc.c
3213
dma_pool_free(xudc->transfer_ring_pool, ep->transfer_ring,
drivers/usb/gadget/udc/tegra-xudc.c
3214
ep->transfer_ring_phys);
drivers/usb/gadget/udc/tegra-xudc.c
3241
for (i = 0; i < ARRAY_SIZE(xudc->ep); i++) {
drivers/usb/gadget/udc/tegra-xudc.c
3247
req = tegra_xudc_ep_alloc_request(&xudc->ep[0].usb_ep, GFP_KERNEL);
drivers/usb/gadget/udc/tegra-xudc.c
3275
tegra_xudc_ep_free_request(&xudc->ep[0].usb_ep,
drivers/usb/gadget/udc/tegra-xudc.c
3278
for (i = 0; i < ARRAY_SIZE(xudc->ep); i++)
drivers/usb/gadget/udc/tegra-xudc.c
3885
xudc->gadget.ep0 = &xudc->ep[0].usb_ep;
drivers/usb/gadget/udc/tegra-xudc.c
462
struct tegra_xudc_ep ep[XUDC_NR_EPS];
drivers/usb/gadget/udc/tegra-xudc.c
608
static inline struct tegra_xudc_ep *to_xudc_ep(struct usb_ep *ep)
drivers/usb/gadget/udc/tegra-xudc.c
610
return container_of(ep, struct tegra_xudc_ep, usb_ep);
drivers/usb/gadget/udc/tegra-xudc.c
899
static dma_addr_t trb_virt_to_phys(struct tegra_xudc_ep *ep,
drivers/usb/gadget/udc/tegra-xudc.c
904
index = trb - ep->transfer_ring;
drivers/usb/gadget/udc/tegra-xudc.c
909
return (ep->transfer_ring_phys + index * sizeof(*trb));
drivers/usb/gadget/udc/tegra-xudc.c
912
static struct tegra_xudc_trb *trb_phys_to_virt(struct tegra_xudc_ep *ep,
drivers/usb/gadget/udc/tegra-xudc.c
918
index = (addr - ep->transfer_ring_phys) / sizeof(*trb);
drivers/usb/gadget/udc/tegra-xudc.c
923
trb = &ep->transfer_ring[index];
drivers/usb/gadget/udc/tegra-xudc.c
928
static void ep_reload(struct tegra_xudc *xudc, unsigned int ep)
drivers/usb/gadget/udc/tegra-xudc.c
930
xudc_writel(xudc, BIT(ep), EP_RELOAD);
drivers/usb/gadget/udc/tegra-xudc.c
931
xudc_readl_poll(xudc, EP_RELOAD, BIT(ep), 0);
drivers/usb/gadget/udc/tegra-xudc.c
934
static void ep_pause(struct tegra_xudc *xudc, unsigned int ep)
drivers/usb/gadget/udc/tegra-xudc.c
939
if (val & BIT(ep))
drivers/usb/gadget/udc/tegra-xudc.c
941
val |= BIT(ep);
drivers/usb/gadget/udc/tegra-xudc.c
945
xudc_readl_poll(xudc, EP_STCHG, BIT(ep), BIT(ep));
drivers/usb/gadget/udc/tegra-xudc.c
947
xudc_writel(xudc, BIT(ep), EP_STCHG);
drivers/usb/gadget/udc/tegra-xudc.c
950
static void ep_unpause(struct tegra_xudc *xudc, unsigned int ep)
drivers/usb/gadget/udc/tegra-xudc.c
955
if (!(val & BIT(ep)))
drivers/usb/gadget/udc/tegra-xudc.c
957
val &= ~BIT(ep);
drivers/usb/gadget/udc/tegra-xudc.c
961
xudc_readl_poll(xudc, EP_STCHG, BIT(ep), BIT(ep));
drivers/usb/gadget/udc/tegra-xudc.c
963
xudc_writel(xudc, BIT(ep), EP_STCHG);
drivers/usb/gadget/udc/tegra-xudc.c
979
static void ep_halt(struct tegra_xudc *xudc, unsigned int ep)
drivers/usb/gadget/udc/tegra-xudc.c
984
if (val & BIT(ep))
drivers/usb/gadget/udc/tegra-xudc.c
986
val |= BIT(ep);
drivers/usb/gadget/udc/tegra-xudc.c
989
xudc_readl_poll(xudc, EP_STCHG, BIT(ep), BIT(ep));
drivers/usb/gadget/udc/tegra-xudc.c
991
xudc_writel(xudc, BIT(ep), EP_STCHG);
drivers/usb/gadget/udc/tegra-xudc.c
994
static void ep_unhalt(struct tegra_xudc *xudc, unsigned int ep)
drivers/usb/gadget/udc/tegra-xudc.c
999
if (!(val & BIT(ep)))
drivers/usb/gadget/udc/trace.h
150
TP_PROTO(struct usb_ep *ep, int ret),
drivers/usb/gadget/udc/trace.h
151
TP_ARGS(ep, ret),
drivers/usb/gadget/udc/trace.h
153
__string(name, ep->name)
drivers/usb/gadget/udc/trace.h
166
__entry->maxpacket = ep->maxpacket;
drivers/usb/gadget/udc/trace.h
167
__entry->maxpacket_limit = ep->maxpacket_limit;
drivers/usb/gadget/udc/trace.h
168
__entry->max_streams = ep->max_streams;
drivers/usb/gadget/udc/trace.h
169
__entry->mult = ep->mult;
drivers/usb/gadget/udc/trace.h
170
__entry->maxburst = ep->maxburst;
drivers/usb/gadget/udc/trace.h
171
__entry->address = ep->address,
drivers/usb/gadget/udc/trace.h
172
__entry->claimed = ep->claimed;
drivers/usb/gadget/udc/trace.h
173
__entry->enabled = ep->enabled;
drivers/usb/gadget/udc/trace.h
184
TP_PROTO(struct usb_ep *ep, int ret),
drivers/usb/gadget/udc/trace.h
185
TP_ARGS(ep, ret)
drivers/usb/gadget/udc/trace.h
189
TP_PROTO(struct usb_ep *ep, int ret),
drivers/usb/gadget/udc/trace.h
190
TP_ARGS(ep, ret)
drivers/usb/gadget/udc/trace.h
194
TP_PROTO(struct usb_ep *ep, int ret),
drivers/usb/gadget/udc/trace.h
195
TP_ARGS(ep, ret)
drivers/usb/gadget/udc/trace.h
199
TP_PROTO(struct usb_ep *ep, int ret),
drivers/usb/gadget/udc/trace.h
200
TP_ARGS(ep, ret)
drivers/usb/gadget/udc/trace.h
204
TP_PROTO(struct usb_ep *ep, int ret),
drivers/usb/gadget/udc/trace.h
205
TP_ARGS(ep, ret)
drivers/usb/gadget/udc/trace.h
209
TP_PROTO(struct usb_ep *ep, int ret),
drivers/usb/gadget/udc/trace.h
210
TP_ARGS(ep, ret)
drivers/usb/gadget/udc/trace.h
214
TP_PROTO(struct usb_ep *ep, int ret),
drivers/usb/gadget/udc/trace.h
215
TP_ARGS(ep, ret)
drivers/usb/gadget/udc/trace.h
219
TP_PROTO(struct usb_ep *ep, int ret),
drivers/usb/gadget/udc/trace.h
220
TP_ARGS(ep, ret)
drivers/usb/gadget/udc/trace.h
224
TP_PROTO(struct usb_ep *ep, struct usb_request *req, int ret),
drivers/usb/gadget/udc/trace.h
225
TP_ARGS(ep, req, ret),
drivers/usb/gadget/udc/trace.h
227
__string(name, ep->name)
drivers/usb/gadget/udc/trace.h
265
TP_PROTO(struct usb_ep *ep, struct usb_request *req, int ret),
drivers/usb/gadget/udc/trace.h
266
TP_ARGS(ep, req, ret)
drivers/usb/gadget/udc/trace.h
270
TP_PROTO(struct usb_ep *ep, struct usb_request *req, int ret),
drivers/usb/gadget/udc/trace.h
271
TP_ARGS(ep, req, ret)
drivers/usb/gadget/udc/trace.h
275
TP_PROTO(struct usb_ep *ep, struct usb_request *req, int ret),
drivers/usb/gadget/udc/trace.h
276
TP_ARGS(ep, req, ret)
drivers/usb/gadget/udc/trace.h
280
TP_PROTO(struct usb_ep *ep, struct usb_request *req, int ret),
drivers/usb/gadget/udc/trace.h
281
TP_ARGS(ep, req, ret)
drivers/usb/gadget/udc/trace.h
285
TP_PROTO(struct usb_ep *ep, struct usb_request *req, int ret),
drivers/usb/gadget/udc/trace.h
286
TP_ARGS(ep, req, ret)
drivers/usb/gadget/udc/udc-xilinx.c
105
#define to_xusb_ep(ep) container_of((ep), struct xusb_ep, ep_usb)
drivers/usb/gadget/udc/udc-xilinx.c
1080
struct xusb_ep *ep = to_xusb_ep(_ep);
drivers/usb/gadget/udc/udc-xilinx.c
1081
struct xusb_udc *udc = ep->udc;
drivers/usb/gadget/udc/udc-xilinx.c
1085
if (!ep->desc) {
drivers/usb/gadget/udc/udc-xilinx.c
1087
__func__, ep->name);
drivers/usb/gadget/udc/udc-xilinx.c
1103
ep->is_in);
drivers/usb/gadget/udc/udc-xilinx.c
1106
ep->epnumber);
drivers/usb/gadget/udc/udc-xilinx.c
1112
if (list_empty(&ep->queue)) {
drivers/usb/gadget/udc/udc-xilinx.c
1113
if (ep->is_in) {
drivers/usb/gadget/udc/udc-xilinx.c
1115
if (!xudc_write_fifo(ep, req))
drivers/usb/gadget/udc/udc-xilinx.c
1119
if (!xudc_read_fifo(ep, req))
drivers/usb/gadget/udc/udc-xilinx.c
1125
list_add_tail(&req->queue, &ep->queue);
drivers/usb/gadget/udc/udc-xilinx.c
1140
struct xusb_ep *ep = to_xusb_ep(_ep);
drivers/usb/gadget/udc/udc-xilinx.c
1143
struct xusb_udc *udc = ep->udc;
drivers/usb/gadget/udc/udc-xilinx.c
1148
list_for_each_entry(iter, &ep->queue, queue) {
drivers/usb/gadget/udc/udc-xilinx.c
1158
xudc_done(ep, req, -ECONNRESET);
drivers/usb/gadget/udc/udc-xilinx.c
117
struct xusb_ep *ep;
drivers/usb/gadget/udc/udc-xilinx.c
1173
static int xudc_ep0_enable(struct usb_ep *ep,
drivers/usb/gadget/udc/udc-xilinx.c
1187
static int xudc_ep0_disable(struct usb_ep *ep)
drivers/usb/gadget/udc/udc-xilinx.c
1309
struct xusb_ep *ep = &udc->ep[ep_number];
drivers/usb/gadget/udc/udc-xilinx.c
1312
list_add_tail(&ep->ep_usb.ep_list,
drivers/usb/gadget/udc/udc-xilinx.c
1314
usb_ep_set_maxpacket_limit(&ep->ep_usb,
drivers/usb/gadget/udc/udc-xilinx.c
1316
snprintf(ep->name, EPNAME_SIZE, "ep%d", ep_number);
drivers/usb/gadget/udc/udc-xilinx.c
1317
ep->ep_usb.name = ep->name;
drivers/usb/gadget/udc/udc-xilinx.c
1318
ep->ep_usb.ops = &xusb_ep_ops;
drivers/usb/gadget/udc/udc-xilinx.c
1320
ep->ep_usb.caps.type_iso = true;
drivers/usb/gadget/udc/udc-xilinx.c
1321
ep->ep_usb.caps.type_bulk = true;
drivers/usb/gadget/udc/udc-xilinx.c
1322
ep->ep_usb.caps.type_int = true;
drivers/usb/gadget/udc/udc-xilinx.c
1324
ep->ep_usb.name = ep0name;
drivers/usb/gadget/udc/udc-xilinx.c
1325
usb_ep_set_maxpacket_limit(&ep->ep_usb, EP0_MAX_PACKET);
drivers/usb/gadget/udc/udc-xilinx.c
1326
ep->ep_usb.ops = &xusb_ep0_ops;
drivers/usb/gadget/udc/udc-xilinx.c
1328
ep->ep_usb.caps.type_control = true;
drivers/usb/gadget/udc/udc-xilinx.c
1331
ep->ep_usb.caps.dir_in = true;
drivers/usb/gadget/udc/udc-xilinx.c
1332
ep->ep_usb.caps.dir_out = true;
drivers/usb/gadget/udc/udc-xilinx.c
1334
ep->udc = udc;
drivers/usb/gadget/udc/udc-xilinx.c
1335
ep->epnumber = ep_number;
drivers/usb/gadget/udc/udc-xilinx.c
1336
ep->desc = NULL;
drivers/usb/gadget/udc/udc-xilinx.c
1341
ep->offset = XUSB_EP0_CONFIG_OFFSET + (ep_number * 0x10);
drivers/usb/gadget/udc/udc-xilinx.c
1342
ep->is_in = 0;
drivers/usb/gadget/udc/udc-xilinx.c
1343
ep->is_iso = 0;
drivers/usb/gadget/udc/udc-xilinx.c
1344
ep->maxpacket = 0;
drivers/usb/gadget/udc/udc-xilinx.c
1345
xudc_epconfig(ep, udc);
drivers/usb/gadget/udc/udc-xilinx.c
1348
INIT_LIST_HEAD(&ep->queue);
drivers/usb/gadget/udc/udc-xilinx.c
1359
struct xusb_ep *ep;
drivers/usb/gadget/udc/udc-xilinx.c
1362
ep = &udc->ep[i];
drivers/usb/gadget/udc/udc-xilinx.c
1363
xudc_nuke(ep, -ESHUTDOWN);
drivers/usb/gadget/udc/udc-xilinx.c
1378
struct xusb_ep *ep0 = &udc->ep[XUSB_EP_NUMBER_ZERO];
drivers/usb/gadget/udc/udc-xilinx.c
1448
struct xusb_ep *ep;
drivers/usb/gadget/udc/udc-xilinx.c
1453
ep = &udc->ep[i];
drivers/usb/gadget/udc/udc-xilinx.c
1454
epcfgreg = udc->read_fn(udc->addr + ep->offset);
drivers/usb/gadget/udc/udc-xilinx.c
1456
udc->write_fn(udc->addr, ep->offset, epcfgreg);
drivers/usb/gadget/udc/udc-xilinx.c
1457
if (ep->epnumber) {
drivers/usb/gadget/udc/udc-xilinx.c
1459
epcfgreg = udc->read_fn(udc->addr + ep->offset);
drivers/usb/gadget/udc/udc-xilinx.c
1461
udc->write_fn(udc->addr, ep->offset, epcfgreg);
drivers/usb/gadget/udc/udc-xilinx.c
1567
struct xusb_ep *ep0 = &udc->ep[XUSB_EP_NUMBER_ZERO];
drivers/usb/gadget/udc/udc-xilinx.c
1582
struct xusb_ep *ep0 = &udc->ep[0];
drivers/usb/gadget/udc/udc-xilinx.c
1603
struct xusb_ep *ep0 = &udc->ep[0];
drivers/usb/gadget/udc/udc-xilinx.c
1625
target_ep = &udc->ep[epnum];
drivers/usb/gadget/udc/udc-xilinx.c
1660
struct xusb_ep *ep0 = &udc->ep[0];
drivers/usb/gadget/udc/udc-xilinx.c
1697
target_ep = &udc->ep[endpoint];
drivers/usb/gadget/udc/udc-xilinx.c
1753
struct xusb_ep *ep0 = &udc->ep[0];
drivers/usb/gadget/udc/udc-xilinx.c
179
struct xusb_ep ep[8];
drivers/usb/gadget/udc/udc-xilinx.c
1819
struct xusb_ep *ep0 = &udc->ep[0];
drivers/usb/gadget/udc/udc-xilinx.c
1868
struct xusb_ep *ep0 = &udc->ep[0];
drivers/usb/gadget/udc/udc-xilinx.c
1966
struct xusb_ep *ep;
drivers/usb/gadget/udc/udc-xilinx.c
1968
ep = &udc->ep[epnum];
drivers/usb/gadget/udc/udc-xilinx.c
1971
ep->buffer0ready = 0;
drivers/usb/gadget/udc/udc-xilinx.c
1973
ep->buffer1ready = false;
drivers/usb/gadget/udc/udc-xilinx.c
1975
if (list_empty(&ep->queue))
drivers/usb/gadget/udc/udc-xilinx.c
1978
req = list_first_entry(&ep->queue, struct xusb_req, queue);
drivers/usb/gadget/udc/udc-xilinx.c
1980
if (ep->is_in)
drivers/usb/gadget/udc/udc-xilinx.c
1981
xudc_write_fifo(ep, req);
drivers/usb/gadget/udc/udc-xilinx.c
1983
xudc_read_fifo(ep, req);
drivers/usb/gadget/udc/udc-xilinx.c
2107
udc->gadget.ep0 = &udc->ep[XUSB_EP_NUMBER_ZERO].ep_usb;
drivers/usb/gadget/udc/udc-xilinx.c
261
struct xusb_ep *ep0 = &udc->ep[XUSB_EP_NUMBER_ZERO];
drivers/usb/gadget/udc/udc-xilinx.c
279
static void xudc_epconfig(struct xusb_ep *ep, struct xusb_udc *udc)
drivers/usb/gadget/udc/udc-xilinx.c
287
epcfgreg = ((ep->is_in << 29) | (ep->is_iso << 28) |
drivers/usb/gadget/udc/udc-xilinx.c
288
(ep->ep_usb.maxpacket << 15) | (ep->rambase));
drivers/usb/gadget/udc/udc-xilinx.c
289
udc->write_fn(udc->addr, ep->offset, epcfgreg);
drivers/usb/gadget/udc/udc-xilinx.c
292
udc->write_fn(udc->addr, ep->offset + XUSB_EP_BUF0COUNT_OFFSET,
drivers/usb/gadget/udc/udc-xilinx.c
293
ep->buffer0count);
drivers/usb/gadget/udc/udc-xilinx.c
294
udc->write_fn(udc->addr, ep->offset + XUSB_EP_BUF1COUNT_OFFSET,
drivers/usb/gadget/udc/udc-xilinx.c
295
ep->buffer1count);
drivers/usb/gadget/udc/udc-xilinx.c
296
if (ep->buffer0ready)
drivers/usb/gadget/udc/udc-xilinx.c
298
1 << ep->epnumber);
drivers/usb/gadget/udc/udc-xilinx.c
299
if (ep->buffer1ready)
drivers/usb/gadget/udc/udc-xilinx.c
301
1 << (ep->epnumber + XUSB_STATUS_EP_BUFF2_SHIFT));
drivers/usb/gadget/udc/udc-xilinx.c
316
static int xudc_start_dma(struct xusb_ep *ep, dma_addr_t src,
drivers/usb/gadget/udc/udc-xilinx.c
319
struct xusb_udc *udc = ep->udc;
drivers/usb/gadget/udc/udc-xilinx.c
376
static int xudc_dma_send(struct xusb_ep *ep, struct xusb_req *req,
drivers/usb/gadget/udc/udc-xilinx.c
382
struct xusb_udc *udc = ep->udc;
drivers/usb/gadget/udc/udc-xilinx.c
388
if (!ep->curbufnum && !ep->buffer0ready) {
drivers/usb/gadget/udc/udc-xilinx.c
390
eprambase = (u32 __force *)(udc->addr + ep->rambase);
drivers/usb/gadget/udc/udc-xilinx.c
392
udc->write_fn(udc->addr, ep->offset +
drivers/usb/gadget/udc/udc-xilinx.c
395
XUSB_DMA_BRR_CTRL | (1 << ep->epnumber));
drivers/usb/gadget/udc/udc-xilinx.c
396
ep->buffer0ready = 1;
drivers/usb/gadget/udc/udc-xilinx.c
397
ep->curbufnum = 1;
drivers/usb/gadget/udc/udc-xilinx.c
398
} else if (ep->curbufnum && !ep->buffer1ready) {
drivers/usb/gadget/udc/udc-xilinx.c
400
eprambase = (u32 __force *)(udc->addr + ep->rambase +
drivers/usb/gadget/udc/udc-xilinx.c
401
ep->ep_usb.maxpacket);
drivers/usb/gadget/udc/udc-xilinx.c
403
udc->write_fn(udc->addr, ep->offset +
drivers/usb/gadget/udc/udc-xilinx.c
406
XUSB_DMA_BRR_CTRL | (1 << (ep->epnumber +
drivers/usb/gadget/udc/udc-xilinx.c
408
ep->buffer1ready = 1;
drivers/usb/gadget/udc/udc-xilinx.c
409
ep->curbufnum = 0;
drivers/usb/gadget/udc/udc-xilinx.c
415
return xudc_start_dma(ep, src, dst, length);
drivers/usb/gadget/udc/udc-xilinx.c
430
static int xudc_dma_receive(struct xusb_ep *ep, struct xusb_req *req,
drivers/usb/gadget/udc/udc-xilinx.c
436
struct xusb_udc *udc = ep->udc;
drivers/usb/gadget/udc/udc-xilinx.c
439
if (!ep->curbufnum && !ep->buffer0ready) {
drivers/usb/gadget/udc/udc-xilinx.c
441
eprambase = (u32 __force *)(udc->addr + ep->rambase);
drivers/usb/gadget/udc/udc-xilinx.c
445
(1 << ep->epnumber));
drivers/usb/gadget/udc/udc-xilinx.c
446
ep->buffer0ready = 1;
drivers/usb/gadget/udc/udc-xilinx.c
447
ep->curbufnum = 1;
drivers/usb/gadget/udc/udc-xilinx.c
448
} else if (ep->curbufnum && !ep->buffer1ready) {
drivers/usb/gadget/udc/udc-xilinx.c
451
ep->rambase + ep->ep_usb.maxpacket);
drivers/usb/gadget/udc/udc-xilinx.c
455
(1 << (ep->epnumber +
drivers/usb/gadget/udc/udc-xilinx.c
457
ep->buffer1ready = 1;
drivers/usb/gadget/udc/udc-xilinx.c
458
ep->curbufnum = 0;
drivers/usb/gadget/udc/udc-xilinx.c
464
return xudc_start_dma(ep, src, dst, length);
drivers/usb/gadget/udc/udc-xilinx.c
479
static int xudc_eptxrx(struct xusb_ep *ep, struct xusb_req *req,
drivers/usb/gadget/udc/udc-xilinx.c
485
struct xusb_udc *udc = ep->udc;
drivers/usb/gadget/udc/udc-xilinx.c
489
if (ep->is_in)
drivers/usb/gadget/udc/udc-xilinx.c
490
rc = xudc_dma_send(ep, req, bufferptr, bufferlen);
drivers/usb/gadget/udc/udc-xilinx.c
492
rc = xudc_dma_receive(ep, req, bufferptr, bufferlen);
drivers/usb/gadget/udc/udc-xilinx.c
496
if (!ep->curbufnum && !ep->buffer0ready) {
drivers/usb/gadget/udc/udc-xilinx.c
498
eprambase = (u32 __force *)(udc->addr + ep->rambase);
drivers/usb/gadget/udc/udc-xilinx.c
499
if (ep->is_in) {
drivers/usb/gadget/udc/udc-xilinx.c
502
udc->write_fn(udc->addr, ep->offset +
drivers/usb/gadget/udc/udc-xilinx.c
512
1 << ep->epnumber);
drivers/usb/gadget/udc/udc-xilinx.c
513
ep->buffer0ready = 1;
drivers/usb/gadget/udc/udc-xilinx.c
514
ep->curbufnum = 1;
drivers/usb/gadget/udc/udc-xilinx.c
515
} else if (ep->curbufnum && !ep->buffer1ready) {
drivers/usb/gadget/udc/udc-xilinx.c
517
eprambase = (u32 __force *)(udc->addr + ep->rambase +
drivers/usb/gadget/udc/udc-xilinx.c
518
ep->ep_usb.maxpacket);
drivers/usb/gadget/udc/udc-xilinx.c
519
if (ep->is_in) {
drivers/usb/gadget/udc/udc-xilinx.c
522
udc->write_fn(udc->addr, ep->offset +
drivers/usb/gadget/udc/udc-xilinx.c
532
1 << (ep->epnumber + XUSB_STATUS_EP_BUFF2_SHIFT));
drivers/usb/gadget/udc/udc-xilinx.c
533
ep->buffer1ready = 1;
drivers/usb/gadget/udc/udc-xilinx.c
534
ep->curbufnum = 0;
drivers/usb/gadget/udc/udc-xilinx.c
551
static void xudc_done(struct xusb_ep *ep, struct xusb_req *req, int status)
drivers/usb/gadget/udc/udc-xilinx.c
553
struct xusb_udc *udc = ep->udc;
drivers/usb/gadget/udc/udc-xilinx.c
564
ep->ep_usb.name, req, status);
drivers/usb/gadget/udc/udc-xilinx.c
566
if (udc->dma_enabled && ep->epnumber && req->usb_req.length)
drivers/usb/gadget/udc/udc-xilinx.c
568
ep->is_in);
drivers/usb/gadget/udc/udc-xilinx.c
572
req->usb_req.complete(&ep->ep_usb, &req->usb_req);
drivers/usb/gadget/udc/udc-xilinx.c
586
static int xudc_read_fifo(struct xusb_ep *ep, struct xusb_req *req)
drivers/usb/gadget/udc/udc-xilinx.c
594
struct xusb_udc *udc = ep->udc;
drivers/usb/gadget/udc/udc-xilinx.c
596
if (ep->buffer0ready && ep->buffer1ready) {
drivers/usb/gadget/udc/udc-xilinx.c
601
if (ep->curbufnum)
drivers/usb/gadget/udc/udc-xilinx.c
606
count = udc->read_fn(udc->addr + ep->offset + bufoffset);
drivers/usb/gadget/udc/udc-xilinx.c
608
if (!ep->buffer0ready && !ep->buffer1ready)
drivers/usb/gadget/udc/udc-xilinx.c
614
is_short = count < ep->ep_usb.maxpacket;
drivers/usb/gadget/udc/udc-xilinx.c
624
ep->ep_usb.name, count);
drivers/usb/gadget/udc/udc-xilinx.c
626
xudc_done(ep, req, -EOVERFLOW);
drivers/usb/gadget/udc/udc-xilinx.c
630
ret = xudc_eptxrx(ep, req, buf, count);
drivers/usb/gadget/udc/udc-xilinx.c
635
ep->ep_usb.name, count, is_short ? "/S" : "", req,
drivers/usb/gadget/udc/udc-xilinx.c
645
xudc_done(ep, req, 0);
drivers/usb/gadget/udc/udc-xilinx.c
659
xudc_done(ep, req, -ECONNRESET);
drivers/usb/gadget/udc/udc-xilinx.c
676
static int xudc_write_fifo(struct xusb_ep *ep, struct xusb_req *req)
drivers/usb/gadget/udc/udc-xilinx.c
682
struct xusb_udc *udc = ep->udc;
drivers/usb/gadget/udc/udc-xilinx.c
686
max = le16_to_cpu(ep->desc->wMaxPacketSize);
drivers/usb/gadget/udc/udc-xilinx.c
692
ret = xudc_eptxrx(ep, req, buf, length);
drivers/usb/gadget/udc/udc-xilinx.c
706
__func__, ep->ep_usb.name, length, is_last ? "/L" : "",
drivers/usb/gadget/udc/udc-xilinx.c
711
xudc_done(ep, req, 0);
drivers/usb/gadget/udc/udc-xilinx.c
721
xudc_done(ep, req, -ECONNRESET);
drivers/usb/gadget/udc/udc-xilinx.c
734
static void xudc_nuke(struct xusb_ep *ep, int status)
drivers/usb/gadget/udc/udc-xilinx.c
738
while (!list_empty(&ep->queue)) {
drivers/usb/gadget/udc/udc-xilinx.c
739
req = list_first_entry(&ep->queue, struct xusb_req, queue);
drivers/usb/gadget/udc/udc-xilinx.c
740
xudc_done(ep, req, status);
drivers/usb/gadget/udc/udc-xilinx.c
753
struct xusb_ep *ep = to_xusb_ep(_ep);
drivers/usb/gadget/udc/udc-xilinx.c
758
if (!_ep || (!ep->desc && ep->epnumber)) {
drivers/usb/gadget/udc/udc-xilinx.c
762
udc = ep->udc;
drivers/usb/gadget/udc/udc-xilinx.c
764
if (ep->is_in && (!list_empty(&ep->queue)) && value) {
drivers/usb/gadget/udc/udc-xilinx.c
769
if (ep->buffer0ready || ep->buffer1ready) {
drivers/usb/gadget/udc/udc-xilinx.c
778
epcfgreg = udc->read_fn(udc->addr + ep->offset);
drivers/usb/gadget/udc/udc-xilinx.c
780
udc->write_fn(udc->addr, ep->offset, epcfgreg);
drivers/usb/gadget/udc/udc-xilinx.c
783
epcfgreg = udc->read_fn(udc->addr + ep->offset);
drivers/usb/gadget/udc/udc-xilinx.c
785
udc->write_fn(udc->addr, ep->offset, epcfgreg);
drivers/usb/gadget/udc/udc-xilinx.c
786
if (ep->epnumber) {
drivers/usb/gadget/udc/udc-xilinx.c
788
epcfgreg = udc->read_fn(ep->udc->addr + ep->offset);
drivers/usb/gadget/udc/udc-xilinx.c
790
udc->write_fn(udc->addr, ep->offset, epcfgreg);
drivers/usb/gadget/udc/udc-xilinx.c
805
static int __xudc_ep_enable(struct xusb_ep *ep,
drivers/usb/gadget/udc/udc-xilinx.c
808
struct xusb_udc *udc = ep->udc;
drivers/usb/gadget/udc/udc-xilinx.c
814
ep->is_in = ((desc->bEndpointAddress & USB_DIR_IN) != 0);
drivers/usb/gadget/udc/udc-xilinx.c
816
ep->epnumber = usb_endpoint_num(desc);
drivers/usb/gadget/udc/udc-xilinx.c
817
ep->desc = desc;
drivers/usb/gadget/udc/udc-xilinx.c
818
ep->ep_usb.desc = desc;
drivers/usb/gadget/udc/udc-xilinx.c
820
ep->ep_usb.maxpacket = maxpacket = le16_to_cpu(desc->wMaxPacketSize);
drivers/usb/gadget/udc/udc-xilinx.c
826
ep->is_iso = 0;
drivers/usb/gadget/udc/udc-xilinx.c
830
ep->is_iso = 0;
drivers/usb/gadget/udc/udc-xilinx.c
838
ep->is_iso = 0;
drivers/usb/gadget/udc/udc-xilinx.c
847
ep->is_iso = 1;
drivers/usb/gadget/udc/udc-xilinx.c
851
ep->buffer0ready = false;
drivers/usb/gadget/udc/udc-xilinx.c
852
ep->buffer1ready = false;
drivers/usb/gadget/udc/udc-xilinx.c
853
ep->curbufnum = 0;
drivers/usb/gadget/udc/udc-xilinx.c
854
ep->rambase = rambase[ep->epnumber];
drivers/usb/gadget/udc/udc-xilinx.c
855
xudc_epconfig(ep, udc);
drivers/usb/gadget/udc/udc-xilinx.c
858
ep->epnumber, maxpacket);
drivers/usb/gadget/udc/udc-xilinx.c
861
epcfg = udc->read_fn(udc->addr + ep->offset);
drivers/usb/gadget/udc/udc-xilinx.c
863
udc->write_fn(udc->addr, ep->offset, epcfg);
drivers/usb/gadget/udc/udc-xilinx.c
864
if (ep->epnumber)
drivers/usb/gadget/udc/udc-xilinx.c
865
ep->rambase <<= 2;
drivers/usb/gadget/udc/udc-xilinx.c
869
ier |= (XUSB_STATUS_INTR_BUFF_COMP_SHIFT_MASK << ep->epnumber);
drivers/usb/gadget/udc/udc-xilinx.c
873
if (ep->epnumber && !ep->is_in) {
drivers/usb/gadget/udc/udc-xilinx.c
875
1 << ep->epnumber);
drivers/usb/gadget/udc/udc-xilinx.c
876
ep->buffer0ready = true;
drivers/usb/gadget/udc/udc-xilinx.c
878
(1 << (ep->epnumber +
drivers/usb/gadget/udc/udc-xilinx.c
880
ep->buffer1ready = true;
drivers/usb/gadget/udc/udc-xilinx.c
896
struct xusb_ep *ep;
drivers/usb/gadget/udc/udc-xilinx.c
906
ep = to_xusb_ep(_ep);
drivers/usb/gadget/udc/udc-xilinx.c
907
udc = ep->udc;
drivers/usb/gadget/udc/udc-xilinx.c
915
ret = __xudc_ep_enable(ep, desc);
drivers/usb/gadget/udc/udc-xilinx.c
929
struct xusb_ep *ep;
drivers/usb/gadget/udc/udc-xilinx.c
939
ep = to_xusb_ep(_ep);
drivers/usb/gadget/udc/udc-xilinx.c
940
udc = ep->udc;
drivers/usb/gadget/udc/udc-xilinx.c
944
xudc_nuke(ep, -ESHUTDOWN);
drivers/usb/gadget/udc/udc-xilinx.c
947
ep->desc = NULL;
drivers/usb/gadget/udc/udc-xilinx.c
948
ep->ep_usb.desc = NULL;
drivers/usb/gadget/udc/udc-xilinx.c
950
dev_dbg(udc->dev, "USB Ep %d disable\n", ep->epnumber);
drivers/usb/gadget/udc/udc-xilinx.c
952
epcfg = udc->read_fn(udc->addr + ep->offset);
drivers/usb/gadget/udc/udc-xilinx.c
954
udc->write_fn(udc->addr, ep->offset, epcfg);
drivers/usb/gadget/udc/udc-xilinx.c
970
struct xusb_ep *ep = to_xusb_ep(_ep);
drivers/usb/gadget/udc/udc-xilinx.c
977
req->ep = ep;
drivers/usb/host/ehci-dbg.c
580
ps->ep->desc.bEndpointAddress,
drivers/usb/host/ehci-hcd.c
1010
if (usb_endpoint_type(&ep->desc) != USB_ENDPOINT_XFER_INT)
drivers/usb/host/ehci-hcd.c
1037
qh, ep->desc.bEndpointAddress, qh->qh_state,
drivers/usb/host/ehci-hcd.c
1042
ep->hcpriv = NULL;
drivers/usb/host/ehci-hcd.c
1047
ehci_endpoint_reset(struct usb_hcd *hcd, struct usb_host_endpoint *ep)
drivers/usb/host/ehci-hcd.c
1051
int eptype = usb_endpoint_type(&ep->desc);
drivers/usb/host/ehci-hcd.c
1052
int epnum = usb_endpoint_num(&ep->desc);
drivers/usb/host/ehci-hcd.c
1053
int is_out = usb_endpoint_dir_out(&ep->desc);
drivers/usb/host/ehci-hcd.c
1060
qh = ep->hcpriv;
drivers/usb/host/ehci-hcd.c
973
ehci_endpoint_disable (struct usb_hcd *hcd, struct usb_host_endpoint *ep)
drivers/usb/host/ehci-hcd.c
984
qh = ep->hcpriv;
drivers/usb/host/ehci-hcd.c
992
struct ehci_iso_stream *stream = ep->hcpriv;
drivers/usb/host/ehci-q.c
1110
epnum = urb->ep->desc.bEndpointAddress;
drivers/usb/host/ehci-q.c
1121
qtd, urb->ep->hcpriv);
drivers/usb/host/ehci-q.c
1134
qh = qh_append_tds(ehci, urb, qtd_list, epnum, &urb->ep->hcpriv);
drivers/usb/host/ehci-q.c
1217
maxpacket = usb_endpoint_maxp(&urb->ep->desc);
drivers/usb/host/ehci-q.c
138
struct usb_host_endpoint *ep)
drivers/usb/host/ehci-q.c
141
struct ehci_qh *qh = ep->hcpriv;
drivers/usb/host/ehci-q.c
354
usb_endpoint_num(&urb->ep->desc),
drivers/usb/host/ehci-q.c
355
usb_endpoint_dir_in(&urb->ep->desc) ? "in" : "out",
drivers/usb/host/ehci-q.c
644
maxpacket = usb_endpoint_maxp(&urb->ep->desc);
drivers/usb/host/ehci-q.c
763
struct usb_host_endpoint *ep;
drivers/usb/host/ehci-q.c
782
ep = usb_pipe_endpoint (urb->dev, urb->pipe);
drivers/usb/host/ehci-q.c
783
maxp = usb_endpoint_maxp (&ep->desc);
drivers/usb/host/ehci-q.c
784
mult = usb_endpoint_maxp_mult (&ep->desc);
drivers/usb/host/ehci-q.c
826
1 << (urb->ep->desc.bInterval - 1));
drivers/usb/host/ehci-q.c
857
urb->ep->desc.bInterval);
drivers/usb/host/ehci-q.c
868
qh->ps.ep = urb->ep;
drivers/usb/host/ehci-sched.c
1036
maxp = usb_endpoint_maxp(&urb->ep->desc);
drivers/usb/host/ehci-sched.c
1041
unsigned multi = usb_endpoint_maxp_mult(&urb->ep->desc);
drivers/usb/host/ehci-sched.c
1059
1 << (urb->ep->desc.bInterval - 1));
drivers/usb/host/ehci-sched.c
1102
1 << (urb->ep->desc.bInterval - 1));
drivers/usb/host/ehci-sched.c
1118
stream->ps.ep = urb->ep;
drivers/usb/host/ehci-sched.c
1129
struct usb_host_endpoint *ep;
drivers/usb/host/ehci-sched.c
1134
ep = urb->dev->ep_in[epnum];
drivers/usb/host/ehci-sched.c
1136
ep = urb->dev->ep_out[epnum];
drivers/usb/host/ehci-sched.c
1139
stream = ep->hcpriv;
drivers/usb/host/ehci-sched.c
1144
ep->hcpriv = stream;
drivers/usb/host/ehci-sched.c
1491
ehci_to_hcd(ehci), urb->ep))) {
drivers/usb/host/ehci-sched.c
198
ps->ep->desc.bEndpointAddress,
drivers/usb/host/ehci-sched.c
916
epnum = urb->ep->desc.bEndpointAddress;
drivers/usb/host/ehci-sched.c
930
qh = qh_append_tds(ehci, urb, &empty, epnum, &urb->ep->hcpriv);
drivers/usb/host/ehci-sched.c
942
qh = qh_append_tds(ehci, urb, qtd_list, epnum, &urb->ep->hcpriv);
drivers/usb/host/ehci.h
50
struct usb_host_endpoint *ep;
drivers/usb/host/fhci-hcd.c
508
struct usb_host_endpoint *ep)
drivers/usb/host/fhci-hcd.c
516
ed = ep->hcpriv;
drivers/usb/host/fhci-hcd.c
523
ep->hcpriv = NULL;
drivers/usb/host/fhci-sched.c
699
struct ed *ed = urb->ep->hcpriv;
drivers/usb/host/fhci-sched.c
729
ed->max_pkt_size = usb_endpoint_maxp(&urb->ep->desc);
drivers/usb/host/fhci-sched.c
730
urb->ep->hcpriv = ed;
drivers/usb/host/fhci-sched.c
769
usb_endpoint_maxp(&urb->ep->desc)) == 0))
drivers/usb/host/fhci-sched.c
807
ed->max_pkt_size = usb_endpoint_maxp(&urb->ep->desc);
drivers/usb/host/fhci-tds.c
100
ep = usb->ep0;
drivers/usb/host/fhci-tds.c
101
if (ep) {
drivers/usb/host/fhci-tds.c
102
if (ep->td_base)
drivers/usb/host/fhci-tds.c
103
cpm_muram_free(cpm_muram_offset(ep->td_base));
drivers/usb/host/fhci-tds.c
105
if (kfifo_initialized(&ep->conf_frame_Q)) {
drivers/usb/host/fhci-tds.c
106
size = cq_howmany(&ep->conf_frame_Q);
drivers/usb/host/fhci-tds.c
108
struct packet *pkt = cq_get(&ep->conf_frame_Q);
drivers/usb/host/fhci-tds.c
112
cq_delete(&ep->conf_frame_Q);
drivers/usb/host/fhci-tds.c
115
if (kfifo_initialized(&ep->empty_frame_Q)) {
drivers/usb/host/fhci-tds.c
116
size = cq_howmany(&ep->empty_frame_Q);
drivers/usb/host/fhci-tds.c
118
struct packet *pkt = cq_get(&ep->empty_frame_Q);
drivers/usb/host/fhci-tds.c
122
cq_delete(&ep->empty_frame_Q);
drivers/usb/host/fhci-tds.c
125
if (kfifo_initialized(&ep->dummy_packets_Q)) {
drivers/usb/host/fhci-tds.c
126
size = cq_howmany(&ep->dummy_packets_Q);
drivers/usb/host/fhci-tds.c
128
u8 *buff = cq_get(&ep->dummy_packets_Q);
drivers/usb/host/fhci-tds.c
132
cq_delete(&ep->dummy_packets_Q);
drivers/usb/host/fhci-tds.c
135
kfree(ep);
drivers/usb/host/fhci-tds.c
151
struct endpoint *ep;
drivers/usb/host/fhci-tds.c
164
ep = kzalloc_obj(*ep);
drivers/usb/host/fhci-tds.c
165
if (!ep)
drivers/usb/host/fhci-tds.c
172
ep->td_base = cpm_muram_addr(ep_offset);
drivers/usb/host/fhci-tds.c
175
if (cq_new(&ep->conf_frame_Q, ring_len + 2) ||
drivers/usb/host/fhci-tds.c
176
cq_new(&ep->empty_frame_Q, ring_len + 2) ||
drivers/usb/host/fhci-tds.c
177
cq_new(&ep->dummy_packets_Q, ring_len + 2)) {
drivers/usb/host/fhci-tds.c
198
cq_put(&ep->empty_frame_Q, pkt);
drivers/usb/host/fhci-tds.c
199
cq_put(&ep->dummy_packets_Q, buff);
drivers/usb/host/fhci-tds.c
203
ep->ep_pram_ptr = (void __iomem *)ep->td_base + sizeof(*td) * ring_len;
drivers/usb/host/fhci-tds.c
205
ep->conf_td = ep->td_base;
drivers/usb/host/fhci-tds.c
206
ep->empty_td = ep->td_base;
drivers/usb/host/fhci-tds.c
208
ep->already_pushed_dummy_bd = false;
drivers/usb/host/fhci-tds.c
211
td = ep->td_base;
drivers/usb/host/fhci-tds.c
224
usb->ep0 = ep;
drivers/usb/host/fhci-tds.c
229
kfree(ep);
drivers/usb/host/fhci-tds.c
242
void fhci_init_ep_registers(struct fhci_usb *usb, struct endpoint *ep,
drivers/usb/host/fhci-tds.c
251
cpm_muram_offset(ep->ep_pram_ptr));
drivers/usb/host/fhci-tds.c
258
out_8(&ep->ep_pram_ptr->rx_func_code, rt);
drivers/usb/host/fhci-tds.c
259
out_8(&ep->ep_pram_ptr->tx_func_code, rt);
drivers/usb/host/fhci-tds.c
260
out_be16(&ep->ep_pram_ptr->rx_buff_len, 1028);
drivers/usb/host/fhci-tds.c
261
out_be16(&ep->ep_pram_ptr->rx_base, 0);
drivers/usb/host/fhci-tds.c
262
out_be16(&ep->ep_pram_ptr->tx_base, cpm_muram_offset(ep->td_base));
drivers/usb/host/fhci-tds.c
263
out_be16(&ep->ep_pram_ptr->rx_bd_ptr, 0);
drivers/usb/host/fhci-tds.c
264
out_be16(&ep->ep_pram_ptr->tx_bd_ptr, cpm_muram_offset(ep->td_base));
drivers/usb/host/fhci-tds.c
265
out_be32(&ep->ep_pram_ptr->tx_state, 0);
drivers/usb/host/fhci-tds.c
279
struct endpoint *ep = usb->ep0;
drivers/usb/host/fhci-tds.c
293
td = ep->conf_td;
drivers/usb/host/fhci-tds.c
312
ep->conf_td = next_bd(ep->td_base, ep->conf_td, td_status);
drivers/usb/host/fhci-tds.c
318
pkt = cq_get(&ep->conf_frame_Q);
drivers/usb/host/fhci-tds.c
385
struct endpoint *ep = usb->ep0;
drivers/usb/host/fhci-tds.c
392
td = ep->empty_td;
drivers/usb/host/fhci-tds.c
402
ep->empty_td = next_bd(ep->td_base, ep->empty_td, td_status);
drivers/usb/host/fhci-tds.c
459
cq_put(&ep->conf_frame_Q, pkt);
drivers/usb/host/fhci-tds.c
461
if (cq_howmany(&ep->conf_frame_Q) == 1)
drivers/usb/host/fhci-tds.c
472
struct endpoint *ep = usb->ep0;
drivers/usb/host/fhci-tds.c
474
td = ep->td_base;
drivers/usb/host/fhci-tds.c
495
td = ep->td_base;
drivers/usb/host/fhci-tds.c
508
out_be16(&ep->ep_pram_ptr->tx_bd_ptr,
drivers/usb/host/fhci-tds.c
509
in_be16(&ep->ep_pram_ptr->tx_base));
drivers/usb/host/fhci-tds.c
510
out_be32(&ep->ep_pram_ptr->tx_state, 0);
drivers/usb/host/fhci-tds.c
511
out_be16(&ep->ep_pram_ptr->tx_cnt, 0);
drivers/usb/host/fhci-tds.c
512
ep->empty_td = ep->td_base;
drivers/usb/host/fhci-tds.c
513
ep->conf_td = ep->td_base;
drivers/usb/host/fhci-tds.c
528
struct endpoint *ep = usb->ep0;
drivers/usb/host/fhci-tds.c
534
tb_ptr = in_be16(&ep->ep_pram_ptr->tx_bd_ptr);
drivers/usb/host/fhci-tds.c
544
ep->already_pushed_dummy_bd = false;
drivers/usb/host/fhci-tds.c
549
td = next_bd(ep->td_base, td, td_status);
drivers/usb/host/fhci-tds.c
557
out_be16(&ep->ep_pram_ptr->tx_bd_ptr,
drivers/usb/host/fhci-tds.c
558
in_be16(&ep->ep_pram_ptr->tx_base));
drivers/usb/host/fhci-tds.c
559
out_be32(&ep->ep_pram_ptr->tx_state, 0);
drivers/usb/host/fhci-tds.c
560
out_be16(&ep->ep_pram_ptr->tx_cnt, 0);
drivers/usb/host/fhci-tds.c
561
ep->empty_td = ep->td_base;
drivers/usb/host/fhci-tds.c
562
ep->conf_td = ep->td_base;
drivers/usb/host/fhci-tds.c
592
struct endpoint *ep = usb->ep0;
drivers/usb/host/fhci-tds.c
594
tb_ptr = in_be16(&ep->ep_pram_ptr->tx_bd_ptr);
drivers/usb/host/fhci-tds.c
600
ep->already_pushed_dummy_bd = false;
drivers/usb/host/fhci-tds.c
603
td = next_bd(ep->td_base, td, td_status);
drivers/usb/host/fhci-tds.c
605
out_be16(&ep->ep_pram_ptr->tx_bd_ptr, tb_ptr);
drivers/usb/host/fhci-tds.c
611
if (in_be32(&ep->conf_td->buf_ptr) == DUMMY_BD_BUFFER) {
drivers/usb/host/fhci-tds.c
613
ep->conf_td = next_bd(ep->td_base, ep->conf_td,
drivers/usb/host/fhci-tds.c
82
void fhci_push_dummy_bd(struct endpoint *ep)
drivers/usb/host/fhci-tds.c
84
if (!ep->already_pushed_dummy_bd) {
drivers/usb/host/fhci-tds.c
85
u16 td_status = in_be16(&ep->empty_td->status);
drivers/usb/host/fhci-tds.c
87
out_be32(&ep->empty_td->buf_ptr, DUMMY_BD_BUFFER);
drivers/usb/host/fhci-tds.c
89
ep->empty_td = next_bd(ep->td_base, ep->empty_td, td_status);
drivers/usb/host/fhci-tds.c
90
ep->already_pushed_dummy_bd = true;
drivers/usb/host/fhci-tds.c
97
struct endpoint *ep;
drivers/usb/host/fhci.h
543
void fhci_push_dummy_bd(struct endpoint *ep);
drivers/usb/host/fhci.h
547
struct endpoint *ep,
drivers/usb/host/isp116x-hcd.c
168
struct isp116x_ep *ep;
drivers/usb/host/isp116x-hcd.c
176
for (ep = isp116x->atl_active; ep; ep = ep->active) {
drivers/usb/host/isp116x-hcd.c
177
ptd = &ep->ptd;
drivers/usb/host/isp116x-hcd.c
179
dump_ptd_out_data(ptd, ep->data);
drivers/usb/host/isp116x-hcd.c
186
if (ep->active || (isp116x->atl_last_dir != PTD_DIR_IN)) {
drivers/usb/host/isp116x-hcd.c
187
write_ptddata_to_fifo(isp116x, ep->data, ep->length);
drivers/usb/host/isp116x-hcd.c
188
buflen -= ALIGN(ep->length, 4);
drivers/usb/host/isp116x-hcd.c
200
struct isp116x_ep *ep;
drivers/usb/host/isp116x-hcd.c
208
for (ep = isp116x->atl_active; ep; ep = ep->active) {
drivers/usb/host/isp116x-hcd.c
209
ptd = &ep->ptd;
drivers/usb/host/isp116x-hcd.c
216
if (ep->active || (isp116x->atl_last_dir == PTD_DIR_IN)) {
drivers/usb/host/isp116x-hcd.c
217
read_ptddata_from_fifo(isp116x, ep->data, ep->length);
drivers/usb/host/isp116x-hcd.c
218
buflen -= ALIGN(ep->length, 4);
drivers/usb/host/isp116x-hcd.c
221
dump_ptd_in_data(ptd, ep->data);
drivers/usb/host/isp116x-hcd.c
233
struct isp116x_ep *ep;
drivers/usb/host/isp116x-hcd.c
238
for (ep = isp116x->atl_active; ep; ep = ep->active) {
drivers/usb/host/isp116x-hcd.c
241
BUG_ON(list_empty(&ep->hep->urb_list));
drivers/usb/host/isp116x-hcd.c
242
urb = container_of(ep->hep->urb_list.next,
drivers/usb/host/isp116x-hcd.c
244
ptd = &ep->ptd;
drivers/usb/host/isp116x-hcd.c
245
len = ep->length;
drivers/usb/host/isp116x-hcd.c
246
ep->data = (unsigned char *)urb->transfer_buffer
drivers/usb/host/isp116x-hcd.c
249
switch (ep->nextpid) {
drivers/usb/host/isp116x-hcd.c
251
toggle = usb_gettoggle(urb->dev, ep->epnum, 0);
drivers/usb/host/isp116x-hcd.c
255
toggle = usb_gettoggle(urb->dev, ep->epnum, 1);
drivers/usb/host/isp116x-hcd.c
260
ep->data = urb->setup_packet;
drivers/usb/host/isp116x-hcd.c
271
ep->nextpid);
drivers/usb/host/isp116x-hcd.c
276
ptd->mps = PTD_MPS(ep->maxpacket)
drivers/usb/host/isp116x-hcd.c
278
| PTD_EP(ep->epnum);
drivers/usb/host/isp116x-hcd.c
281
if (!ep->active) {
drivers/usb/host/isp116x-hcd.c
294
static void finish_request(struct isp116x *isp116x, struct isp116x_ep *ep,
drivers/usb/host/isp116x-hcd.c
300
ep->error_count = 0;
drivers/usb/host/isp116x-hcd.c
303
ep->nextpid = USB_PID_SETUP;
drivers/usb/host/isp116x-hcd.c
313
if (!list_empty(&ep->hep->urb_list))
drivers/usb/host/isp116x-hcd.c
317
if (!list_empty(&ep->schedule)) {
drivers/usb/host/isp116x-hcd.c
318
list_del_init(&ep->schedule);
drivers/usb/host/isp116x-hcd.c
323
DBG("deschedule qh%d/%p branch %d\n", ep->period, ep, ep->branch);
drivers/usb/host/isp116x-hcd.c
324
for (i = ep->branch; i < PERIODIC_SIZE; i += ep->period) {
drivers/usb/host/isp116x-hcd.c
328
while (*prev && ((temp = *prev) != ep))
drivers/usb/host/isp116x-hcd.c
331
*prev = ep->next;
drivers/usb/host/isp116x-hcd.c
332
isp116x->load[i] -= ep->load;
drivers/usb/host/isp116x-hcd.c
334
ep->branch = PERIODIC_SIZE;
drivers/usb/host/isp116x-hcd.c
336
ep->load / ep->period;
drivers/usb/host/isp116x-hcd.c
350
struct isp116x_ep *ep;
drivers/usb/host/isp116x-hcd.c
358
for (ep = isp116x->atl_active; ep; ep = ep->active) {
drivers/usb/host/isp116x-hcd.c
359
BUG_ON(list_empty(&ep->hep->urb_list));
drivers/usb/host/isp116x-hcd.c
361
container_of(ep->hep->urb_list.next, struct urb, urb_list);
drivers/usb/host/isp116x-hcd.c
363
ptd = &ep->ptd;
drivers/usb/host/isp116x-hcd.c
380
ep->error_count = 1;
drivers/usb/host/isp116x-hcd.c
381
usb_settoggle(udev, ep->epnum,
drivers/usb/host/isp116x-hcd.c
382
ep->nextpid == USB_PID_OUT,
drivers/usb/host/isp116x-hcd.c
391
&& (++ep->error_count >= 3 || cc == TD_CC_STALL
drivers/usb/host/isp116x-hcd.c
394
if (ep->nextpid == USB_PID_ACK)
drivers/usb/host/isp116x-hcd.c
395
ep->nextpid = 0;
drivers/usb/host/isp116x-hcd.c
408
if (ep->error_count
drivers/usb/host/isp116x-hcd.c
410
ep->error_count = 0;
drivers/usb/host/isp116x-hcd.c
414
if (ep->nextpid == USB_PID_OUT)
drivers/usb/host/isp116x-hcd.c
415
usb_settoggle(udev, ep->epnum, 1, PTD_GET_TOGGLE(ptd)
drivers/usb/host/isp116x-hcd.c
416
^ (ep->error_count > 0));
drivers/usb/host/isp116x-hcd.c
417
else if (ep->nextpid == USB_PID_IN)
drivers/usb/host/isp116x-hcd.c
418
usb_settoggle(udev, ep->epnum, 0, PTD_GET_TOGGLE(ptd)
drivers/usb/host/isp116x-hcd.c
419
^ (ep->error_count > 0));
drivers/usb/host/isp116x-hcd.c
421
switch (ep->nextpid) {
drivers/usb/host/isp116x-hcd.c
433
&& ep->nextpid == USB_PID_OUT
drivers/usb/host/isp116x-hcd.c
434
&& !(PTD_GET_COUNT(ptd) % ep->maxpacket)) {
drivers/usb/host/isp116x-hcd.c
441
ep->nextpid = USB_PID_ACK;
drivers/usb/host/isp116x-hcd.c
450
ep->nextpid = USB_PID_ACK;
drivers/usb/host/isp116x-hcd.c
453
ep->nextpid = USB_PID_OUT;
drivers/usb/host/isp116x-hcd.c
456
ep->nextpid = USB_PID_IN;
drivers/usb/host/isp116x-hcd.c
464
ep->nextpid = 0;
drivers/usb/host/isp116x-hcd.c
472
finish_request(isp116x, ep, urb, status);
drivers/usb/host/isp116x-hcd.c
482
struct isp116x_ep *last_ep = NULL, *ep;
drivers/usb/host/isp116x-hcd.c
517
list_for_each_entry(ep, &isp116x->async, schedule) {
drivers/usb/host/isp116x-hcd.c
518
urb = container_of(ep->hep->urb_list.next,
drivers/usb/host/isp116x-hcd.c
524
if (ep->nextpid == USB_PID_SETUP) {
drivers/usb/host/isp116x-hcd.c
526
} else if (ep->nextpid == USB_PID_ACK) {
drivers/usb/host/isp116x-hcd.c
542
len -= len % ep->maxpacket;
drivers/usb/host/isp116x-hcd.c
555
ep->active = NULL;
drivers/usb/host/isp116x-hcd.c
556
ep->length = len;
drivers/usb/host/isp116x-hcd.c
558
last_ep->active = ep;
drivers/usb/host/isp116x-hcd.c
560
isp116x->atl_active = ep;
drivers/usb/host/isp116x-hcd.c
561
last_ep = ep;
drivers/usb/host/isp116x-hcd.c
691
struct usb_host_endpoint *hep = urb->ep;
drivers/usb/host/isp116x-hcd.c
692
struct isp116x_ep *ep = NULL;
drivers/usb/host/isp116x-hcd.c
706
ep = kzalloc_obj(*ep, mem_flags);
drivers/usb/host/isp116x-hcd.c
707
if (!ep)
drivers/usb/host/isp116x-hcd.c
713
kfree(ep);
drivers/usb/host/isp116x-hcd.c
719
kfree(ep);
drivers/usb/host/isp116x-hcd.c
724
ep = hep->hcpriv;
drivers/usb/host/isp116x-hcd.c
726
INIT_LIST_HEAD(&ep->schedule);
drivers/usb/host/isp116x-hcd.c
727
ep->udev = udev;
drivers/usb/host/isp116x-hcd.c
728
ep->epnum = epnum;
drivers/usb/host/isp116x-hcd.c
729
ep->maxpacket = usb_maxpacket(udev, urb->pipe);
drivers/usb/host/isp116x-hcd.c
733
ep->nextpid = USB_PID_SETUP;
drivers/usb/host/isp116x-hcd.c
735
ep->nextpid = USB_PID_OUT;
drivers/usb/host/isp116x-hcd.c
737
ep->nextpid = USB_PID_IN;
drivers/usb/host/isp116x-hcd.c
755
ep->period = urb->interval >> 1;
drivers/usb/host/isp116x-hcd.c
756
ep->branch = PERIODIC_SIZE;
drivers/usb/host/isp116x-hcd.c
757
ep->load = usb_calc_bus_time(udev->speed,
drivers/usb/host/isp116x-hcd.c
763
hep->hcpriv = ep;
drivers/usb/host/isp116x-hcd.c
764
ep->hep = hep;
drivers/usb/host/isp116x-hcd.c
771
if (list_empty(&ep->schedule))
drivers/usb/host/isp116x-hcd.c
772
list_add_tail(&ep->schedule, &isp116x->async);
drivers/usb/host/isp116x-hcd.c
775
urb->interval = ep->period;
drivers/usb/host/isp116x-hcd.c
776
ep->length = min_t(u32, ep->maxpacket,
drivers/usb/host/isp116x-hcd.c
780
if (ep->branch < PERIODIC_SIZE)
drivers/usb/host/isp116x-hcd.c
783
ep->branch = ret = balance(isp116x, ep->period, ep->load);
drivers/usb/host/isp116x-hcd.c
789
+ ep->branch;
drivers/usb/host/isp116x-hcd.c
794
DBG("schedule qh%d/%p branch %d\n", ep->period, ep, ep->branch);
drivers/usb/host/isp116x-hcd.c
795
for (i = ep->branch; i < PERIODIC_SIZE; i += ep->period) {
drivers/usb/host/isp116x-hcd.c
799
while (here && ep != here) {
drivers/usb/host/isp116x-hcd.c
800
if (ep->period > here->period)
drivers/usb/host/isp116x-hcd.c
805
if (ep != here) {
drivers/usb/host/isp116x-hcd.c
806
ep->next = here;
drivers/usb/host/isp116x-hcd.c
807
*prev = ep;
drivers/usb/host/isp116x-hcd.c
809
isp116x->load[i] += ep->load;
drivers/usb/host/isp116x-hcd.c
811
hcd->self.bandwidth_allocated += ep->load / ep->period;
drivers/usb/host/isp116x-hcd.c
841
struct isp116x_ep *ep, *ep_act;
drivers/usb/host/isp116x-hcd.c
851
ep = hep->hcpriv;
drivers/usb/host/isp116x-hcd.c
852
WARN_ON(hep != ep->hep);
drivers/usb/host/isp116x-hcd.c
855
if (ep->hep->urb_list.next == &urb->urb_list)
drivers/usb/host/isp116x-hcd.c
859
if (ep_act == ep) {
drivers/usb/host/isp116x-hcd.c
867
finish_request(isp116x, ep, urb, status);
drivers/usb/host/isp116x-hcd.c
877
struct isp116x_ep *ep = hep->hcpriv;
drivers/usb/host/isp116x-hcd.c
879
if (!ep)
drivers/usb/host/isp116x-hcd.c
886
WARNING("ep %p not empty?\n", ep);
drivers/usb/host/isp116x-hcd.c
888
kfree(ep);
drivers/usb/host/max3421-hcd.c
1028
max3421_ep = urb->ep->hcpriv;
drivers/usb/host/max3421-hcd.c
1153
struct usb_host_endpoint *ep;
drivers/usb/host/max3421-hcd.c
1161
ep = max3421_ep->ep;
drivers/usb/host/max3421-hcd.c
1166
list_for_each_entry(urb, &ep->urb_list, urb_list) {
drivers/usb/host/max3421-hcd.c
1177
epnum = usb_endpoint_num(&ep->desc);
drivers/usb/host/max3421-hcd.c
1353
int epnum = usb_endpoint_num(&urb->ep->desc);
drivers/usb/host/max3421-hcd.c
1523
max3421_ep = urb->ep->hcpriv;
drivers/usb/host/max3421-hcd.c
1531
max3421_ep->ep = urb->ep;
drivers/usb/host/max3421-hcd.c
1533
urb->ep->hcpriv = max3421_ep;
drivers/usb/host/max3421-hcd.c
1573
max3421_endpoint_disable(struct usb_hcd *hcd, struct usb_host_endpoint *ep)
drivers/usb/host/max3421-hcd.c
1580
if (ep->hcpriv) {
drivers/usb/host/max3421-hcd.c
1581
struct max3421_ep *max3421_ep = ep->hcpriv;
drivers/usb/host/max3421-hcd.c
1587
ep->hcpriv = NULL;
drivers/usb/host/max3421-hcd.c
160
struct usb_host_endpoint *ep;
drivers/usb/host/max3421-hcd.c
312
#define MAX3421_HXFR_BULK_IN(ep) (0x00 | (ep)) /* bulk or interrupt */
drivers/usb/host/max3421-hcd.c
314
#define MAX3421_HXFR_BULK_OUT(ep) (0x20 | (ep)) /* bulk or interrupt */
drivers/usb/host/max3421-hcd.c
315
#define MAX3421_HXFR_ISO_IN(ep) (0x40 | (ep))
drivers/usb/host/max3421-hcd.c
316
#define MAX3421_HXFR_ISO_OUT(ep) (0x60 | (ep))
drivers/usb/host/max3421-hcd.c
579
max3421_ep = urb->ep->hcpriv;
drivers/usb/host/max3421-hcd.c
636
struct usb_host_endpoint *ep;
drivers/usb/host/max3421-hcd.c
649
ep = max3421_ep->ep;
drivers/usb/host/max3421-hcd.c
651
switch (usb_endpoint_type(&ep->desc)) {
drivers/usb/host/max3421-hcd.c
667
if (list_empty(&ep->urb_list))
drivers/usb/host/max3421-hcd.c
669
urb = list_first_entry(&ep->urb_list, struct urb,
drivers/usb/host/max3421-hcd.c
681
switch (usb_endpoint_type(&ep->desc)) {
drivers/usb/host/max3421-hcd.c
731
epnum = usb_endpoint_num(&urb->ep->desc);
drivers/usb/host/max3421-hcd.c
737
if (usb_endpoint_xfer_control(&ep->desc)) {
drivers/usb/host/max3421-hcd.c
769
struct usb_host_endpoint *ep;
drivers/usb/host/max3421-hcd.c
776
ep = max3421_ep->ep;
drivers/usb/host/max3421-hcd.c
777
list_for_each_entry_safe(urb, next, &ep->urb_list, urb_list) {
drivers/usb/host/max3421-hcd.c
810
max3421_ep = urb->ep->hcpriv;
drivers/usb/host/max3421-hcd.c
856
struct max3421_ep *max3421_ep = urb->ep->hcpriv;
drivers/usb/host/octeon-hcd.c
3077
struct usb_host_endpoint *ep = urb->ep;
drivers/usb/host/octeon-hcd.c
3089
if (!ep->hcpriv) {
drivers/usb/host/octeon-hcd.c
3153
le16_to_cpu(ep->desc.wMaxPacketSize)
drivers/usb/host/octeon-hcd.c
3160
(le16_to_cpu(ep->desc.wMaxPacketSize)
drivers/usb/host/octeon-hcd.c
3169
ep->hcpriv = pipe;
drivers/usb/host/octeon-hcd.c
3171
pipe = ep->hcpriv;
drivers/usb/host/octeon-hcd.c
3261
cvmx_usb_cancel(usb, urb->ep->hcpriv, urb->hcpriv);
drivers/usb/host/octeon-hcd.c
3270
struct usb_host_endpoint *ep)
drivers/usb/host/octeon-hcd.c
3274
if (ep->hcpriv) {
drivers/usb/host/octeon-hcd.c
3276
struct cvmx_usb_pipe *pipe = ep->hcpriv;
drivers/usb/host/octeon-hcd.c
3284
ep->hcpriv = NULL;
drivers/usb/host/ohci-hcd.c
161
ed = ed_get(ohci, urb->ep, urb->dev, pipe, urb->interval);
drivers/usb/host/ohci-hcd.c
348
ohci_endpoint_disable (struct usb_hcd *hcd, struct usb_host_endpoint *ep)
drivers/usb/host/ohci-hcd.c
352
struct ed *ed = ep->hcpriv;
drivers/usb/host/ohci-hcd.c
392
ed, ep->desc.bEndpointAddress, ed->state,
drivers/usb/host/ohci-hcd.c
397
ep->hcpriv = NULL;
drivers/usb/host/ohci-q.c
402
struct usb_host_endpoint *ep,
drivers/usb/host/ohci-q.c
412
ed = ep->hcpriv;
drivers/usb/host/ohci-q.c
437
is_out = !(ep->desc.bEndpointAddress & USB_DIR_IN);
drivers/usb/host/ohci-q.c
445
info |= (ep->desc.bEndpointAddress & ~USB_DIR_IN) << 7;
drivers/usb/host/ohci-q.c
446
info |= usb_endpoint_maxp(&ep->desc) << 16;
drivers/usb/host/ohci-q.c
46
struct usb_host_endpoint *ep = urb->ep;
drivers/usb/host/ohci-q.c
462
usb_endpoint_maxp(&ep->desc))
drivers/usb/host/ohci-q.c
468
ep->hcpriv = ed;
drivers/usb/host/ohci-q.c
91
if (!list_empty(&ep->urb_list)) {
drivers/usb/host/ohci-q.c
92
urb = list_first_entry(&ep->urb_list, struct urb, urb_list);
drivers/usb/host/oxu210hp-hcd.c
2016
int epnum = urb->ep->desc.bEndpointAddress;
drivers/usb/host/oxu210hp-hcd.c
2029
qtd, urb->ep->hcpriv);
drivers/usb/host/oxu210hp-hcd.c
2038
qh = qh_append_tds(oxu, urb, qtd_list, epnum, &urb->ep->hcpriv);
drivers/usb/host/oxu210hp-hcd.c
2597
epnum = urb->ep->desc.bEndpointAddress;
drivers/usb/host/oxu210hp-hcd.c
2608
qh = qh_append_tds(oxu, urb, &empty, epnum, &urb->ep->hcpriv);
drivers/usb/host/oxu210hp-hcd.c
2620
qh = qh_append_tds(oxu, urb, qtd_list, epnum, &urb->ep->hcpriv);
drivers/usb/host/oxu210hp-hcd.c
3393
struct usb_host_endpoint *ep)
drivers/usb/host/oxu210hp-hcd.c
3404
qh = ep->hcpriv;
drivers/usb/host/oxu210hp-hcd.c
3446
qh, ep->desc.bEndpointAddress, qh->qh_state,
drivers/usb/host/oxu210hp-hcd.c
3450
ep->hcpriv = NULL;
drivers/usb/host/r8a66597-hcd.c
1887
struct usb_host_endpoint *hep = urb->ep;
drivers/usb/host/r8a66597-hcd.c
653
struct usb_endpoint_descriptor *ep)
drivers/usb/host/r8a66597-hcd.c
658
switch (usb_endpoint_type(ep)) {
drivers/usb/host/r8a66597-hcd.c
660
if (usb_endpoint_dir_in(ep))
drivers/usb/host/r8a66597-hcd.c
668
if (usb_endpoint_dir_in(ep)) {
drivers/usb/host/r8a66597-hcd.c
676
if (usb_endpoint_dir_in(ep))
drivers/usb/host/r8a66597-hcd.c
935
struct usb_endpoint_descriptor *ep)
drivers/usb/host/r8a66597-hcd.c
939
info.pipenum = get_empty_pipenum(r8a66597, ep);
drivers/usb/host/r8a66597-hcd.c
941
info.epnum = usb_endpoint_num(ep);
drivers/usb/host/r8a66597-hcd.c
942
info.maxpacket = usb_endpoint_maxp(ep);
drivers/usb/host/r8a66597-hcd.c
943
info.type = get_r8a66597_type(usb_endpoint_type(ep));
drivers/usb/host/r8a66597-hcd.c
950
info.interval = get_interval(urb, ep->bInterval);
drivers/usb/host/r8a66597-hcd.c
951
info.timer_interval = get_timer_interval(urb, ep->bInterval);
drivers/usb/host/r8a66597-hcd.c
953
if (usb_endpoint_dir_in(ep))
drivers/usb/host/sl811-hcd.c
1019
finish_request(sl811, ep, urb, 0);
drivers/usb/host/sl811-hcd.c
1023
(sl811->active_a == ep) ? "A" : "B");
drivers/usb/host/sl811-hcd.c
1034
struct sl811h_ep *ep = hep->hcpriv;
drivers/usb/host/sl811-hcd.c
1036
if (!ep)
drivers/usb/host/sl811-hcd.c
1043
dev_warn(hcd->self.controller, "ep %p not empty?\n", ep);
drivers/usb/host/sl811-hcd.c
1045
kfree(ep);
drivers/usb/host/sl811-hcd.c
137
struct sl811h_ep *ep,
drivers/usb/host/sl811-hcd.c
1389
struct sl811h_ep *ep;
drivers/usb/host/sl811-hcd.c
1437
list_for_each_entry (ep, &sl811->async, schedule) {
drivers/usb/host/sl811-hcd.c
1442
(ep == sl811->active_a) ? "(A) " : "",
drivers/usb/host/sl811-hcd.c
1443
(ep == sl811->active_b) ? "(B) " : "",
drivers/usb/host/sl811-hcd.c
1444
ep, ep->epnum,
drivers/usb/host/sl811-hcd.c
1445
({ char *s; switch (ep->nextpid) {
drivers/usb/host/sl811-hcd.c
1452
ep->maxpacket,
drivers/usb/host/sl811-hcd.c
1453
ep->nak_count, ep->error_count);
drivers/usb/host/sl811-hcd.c
1454
list_for_each_entry (urb, &ep->hep->urb_list, urb_list) {
drivers/usb/host/sl811-hcd.c
1466
ep = sl811->periodic[i];
drivers/usb/host/sl811-hcd.c
1467
if (!ep)
drivers/usb/host/sl811-hcd.c
1476
(ep == sl811->active_a) ? "(A) " : "",
drivers/usb/host/sl811-hcd.c
1477
(ep == sl811->active_b) ? "(B) " : "",
drivers/usb/host/sl811-hcd.c
1478
ep->period, ep,
drivers/usb/host/sl811-hcd.c
1479
(ep->udev->speed == USB_SPEED_FULL)
drivers/usb/host/sl811-hcd.c
1481
ep->udev->devnum, ep->epnum,
drivers/usb/host/sl811-hcd.c
1482
(ep->epnum == 0) ? ""
drivers/usb/host/sl811-hcd.c
1483
: ((ep->nextpid == USB_PID_IN)
drivers/usb/host/sl811-hcd.c
1486
ep->maxpacket, ep->error_count);
drivers/usb/host/sl811-hcd.c
1487
ep = ep->next;
drivers/usb/host/sl811-hcd.c
1488
} while (ep);
drivers/usb/host/sl811-hcd.c
161
ep->length = 0;
drivers/usb/host/sl811-hcd.c
162
PACKET("SETUP qh%p\n", ep);
drivers/usb/host/sl811-hcd.c
168
struct sl811h_ep *ep,
drivers/usb/host/sl811-hcd.c
191
ep->length = 0;
drivers/usb/host/sl811-hcd.c
192
PACKET("STATUS%s/%s qh%p\n", ep->nak_count ? "/retry" : "",
drivers/usb/host/sl811-hcd.c
193
do_out ? "out" : "in", ep);
drivers/usb/host/sl811-hcd.c
202
struct sl811h_ep *ep,
drivers/usb/host/sl811-hcd.c
213
len = ep->maxpacket;
drivers/usb/host/sl811-hcd.c
216
&& usb_gettoggle(urb->dev, ep->epnum, 0))
drivers/usb/host/sl811-hcd.c
223
writeb(SL_IN | ep->epnum, data_reg);
drivers/usb/host/sl811-hcd.c
227
ep->length = min_t(u32, len,
drivers/usb/host/sl811-hcd.c
229
PACKET("IN%s/%d qh%p len%d\n", ep->nak_count ? "/retry" : "",
drivers/usb/host/sl811-hcd.c
230
!!usb_gettoggle(urb->dev, ep->epnum, 0), ep, len);
drivers/usb/host/sl811-hcd.c
238
struct sl811h_ep *ep,
drivers/usb/host/sl811-hcd.c
252
len = min_t(u32, ep->maxpacket,
drivers/usb/host/sl811-hcd.c
256
&& usb_gettoggle(urb->dev, ep->epnum, 1))
drivers/usb/host/sl811-hcd.c
266
writeb(SL_OUT | ep->epnum, data_reg);
drivers/usb/host/sl811-hcd.c
271
ep->length = len;
drivers/usb/host/sl811-hcd.c
272
PACKET("OUT%s/%d qh%p len%d\n", ep->nak_count ? "/retry" : "",
drivers/usb/host/sl811-hcd.c
273
!!usb_gettoggle(urb->dev, ep->epnum, 1), ep, len);
drivers/usb/host/sl811-hcd.c
305
struct sl811h_ep *ep;
drivers/usb/host/sl811-hcd.c
312
ep = sl811->next_periodic;
drivers/usb/host/sl811-hcd.c
313
sl811->next_periodic = ep->next;
drivers/usb/host/sl811-hcd.c
316
ep = sl811->next_async;
drivers/usb/host/sl811-hcd.c
318
ep = container_of(sl811->async.next,
drivers/usb/host/sl811-hcd.c
328
if ((bank && sl811->active_b == ep) || sl811->active_a == ep)
drivers/usb/host/sl811-hcd.c
332
if (ep->schedule.next == &sl811->async)
drivers/usb/host/sl811-hcd.c
335
sl811->next_async = container_of(ep->schedule.next,
drivers/usb/host/sl811-hcd.c
339
if (unlikely(list_empty(&ep->hep->urb_list))) {
drivers/usb/host/sl811-hcd.c
341
"empty %p queue?\n", ep);
drivers/usb/host/sl811-hcd.c
345
urb = container_of(ep->hep->urb_list.next, struct urb, urb_list);
drivers/usb/host/sl811-hcd.c
346
control = ep->defctrl;
drivers/usb/host/sl811-hcd.c
358
fclock -= ep->maxpacket << 8;
drivers/usb/host/sl811-hcd.c
362
if (ep->period)
drivers/usb/host/sl811-hcd.c
370
if (ep->period)
drivers/usb/host/sl811-hcd.c
375
} else if (ep->nak_count)
drivers/usb/host/sl811-hcd.c
380
switch (ep->nextpid) {
drivers/usb/host/sl811-hcd.c
382
in_packet(sl811, ep, urb, bank, control);
drivers/usb/host/sl811-hcd.c
385
out_packet(sl811, ep, urb, bank, control);
drivers/usb/host/sl811-hcd.c
388
setup_packet(sl811, ep, urb, bank, control);
drivers/usb/host/sl811-hcd.c
391
status_packet(sl811, ep, urb, bank, control);
drivers/usb/host/sl811-hcd.c
395
"bad ep%p pid %02x\n", ep, ep->nextpid);
drivers/usb/host/sl811-hcd.c
396
ep = NULL;
drivers/usb/host/sl811-hcd.c
398
return ep;
drivers/usb/host/sl811-hcd.c
423
struct sl811h_ep *ep,
drivers/usb/host/sl811-hcd.c
431
ep->nextpid = USB_PID_SETUP;
drivers/usb/host/sl811-hcd.c
439
if (!list_empty(&ep->hep->urb_list))
drivers/usb/host/sl811-hcd.c
443
if (!list_empty(&ep->schedule)) {
drivers/usb/host/sl811-hcd.c
444
list_del_init(&ep->schedule);
drivers/usb/host/sl811-hcd.c
445
if (ep == sl811->next_async)
drivers/usb/host/sl811-hcd.c
452
"deschedule qh%d/%p branch %d\n", ep->period, ep, ep->branch);
drivers/usb/host/sl811-hcd.c
453
for (i = ep->branch; i < PERIODIC_SIZE; i += ep->period) {
drivers/usb/host/sl811-hcd.c
457
while (*prev && ((temp = *prev) != ep))
drivers/usb/host/sl811-hcd.c
460
*prev = ep->next;
drivers/usb/host/sl811-hcd.c
461
sl811->load[i] -= ep->load;
drivers/usb/host/sl811-hcd.c
463
ep->branch = PERIODIC_SIZE;
drivers/usb/host/sl811-hcd.c
466
-= ep->load / ep->period;
drivers/usb/host/sl811-hcd.c
467
if (ep == sl811->next_periodic)
drivers/usb/host/sl811-hcd.c
468
sl811->next_periodic = ep->next;
drivers/usb/host/sl811-hcd.c
476
done(struct sl811 *sl811, struct sl811h_ep *ep, u8 bank)
drivers/usb/host/sl811-hcd.c
482
if (unlikely(!ep))
drivers/usb/host/sl811-hcd.c
487
urb = container_of(ep->hep->urb_list.next, struct urb, urb_list);
drivers/usb/host/sl811-hcd.c
492
if (!ep->period)
drivers/usb/host/sl811-hcd.c
493
ep->nak_count++;
drivers/usb/host/sl811-hcd.c
494
ep->error_count = 0;
drivers/usb/host/sl811-hcd.c
504
ep->nak_count = ep->error_count = 0;
drivers/usb/host/sl811-hcd.c
505
switch (ep->nextpid) {
drivers/usb/host/sl811-hcd.c
508
urb->actual_length += ep->length;
drivers/usb/host/sl811-hcd.c
509
usb_dotoggle(udev, ep->epnum, 1);
drivers/usb/host/sl811-hcd.c
513
ep->nextpid = USB_PID_ACK;
drivers/usb/host/sl811-hcd.c
518
else if (ep->length < ep->maxpacket
drivers/usb/host/sl811-hcd.c
528
len = ep->maxpacket - sl811_read(sl811,
drivers/usb/host/sl811-hcd.c
530
if (len > ep->length) {
drivers/usb/host/sl811-hcd.c
531
len = ep->length;
drivers/usb/host/sl811-hcd.c
537
usb_dotoggle(udev, ep->epnum, 0);
drivers/usb/host/sl811-hcd.c
539
(len < ep->maxpacket ||
drivers/usb/host/sl811-hcd.c
543
ep->nextpid = USB_PID_ACK;
drivers/usb/host/sl811-hcd.c
551
ep->nextpid = USB_PID_ACK;
drivers/usb/host/sl811-hcd.c
554
ep->nextpid = USB_PID_OUT;
drivers/usb/host/sl811-hcd.c
557
ep->nextpid = USB_PID_IN;
drivers/usb/host/sl811-hcd.c
568
PACKET("...STALL_%02x qh%p\n", bank, ep);
drivers/usb/host/sl811-hcd.c
569
ep->nak_count = ep->error_count = 0;
drivers/usb/host/sl811-hcd.c
573
} else if (++ep->error_count >= 3) {
drivers/usb/host/sl811-hcd.c
580
ep->error_count = 0;
drivers/usb/host/sl811-hcd.c
582
bank, status, ep, urbstat);
drivers/usb/host/sl811-hcd.c
586
finish_request(sl811, ep, urb, urbstat);
drivers/usb/host/sl811-hcd.c
804
struct sl811h_ep *ep = NULL;
drivers/usb/host/sl811-hcd.c
808
struct usb_host_endpoint *hep = urb->ep;
drivers/usb/host/sl811-hcd.c
817
ep = kzalloc_obj(*ep, mem_flags);
drivers/usb/host/sl811-hcd.c
818
if (ep == NULL)
drivers/usb/host/sl811-hcd.c
828
kfree(ep);
drivers/usb/host/sl811-hcd.c
833
kfree(ep);
drivers/usb/host/sl811-hcd.c
838
kfree(ep);
drivers/usb/host/sl811-hcd.c
839
ep = hep->hcpriv;
drivers/usb/host/sl811-hcd.c
840
} else if (!ep) {
drivers/usb/host/sl811-hcd.c
845
INIT_LIST_HEAD(&ep->schedule);
drivers/usb/host/sl811-hcd.c
846
ep->udev = udev;
drivers/usb/host/sl811-hcd.c
847
ep->epnum = epnum;
drivers/usb/host/sl811-hcd.c
848
ep->maxpacket = usb_maxpacket(udev, urb->pipe);
drivers/usb/host/sl811-hcd.c
849
ep->defctrl = SL11H_HCTLMASK_ARM | SL11H_HCTLMASK_ENABLE;
drivers/usb/host/sl811-hcd.c
853
ep->nextpid = USB_PID_SETUP;
drivers/usb/host/sl811-hcd.c
855
ep->nextpid = USB_PID_OUT;
drivers/usb/host/sl811-hcd.c
857
ep->nextpid = USB_PID_IN;
drivers/usb/host/sl811-hcd.c
859
if (ep->maxpacket > H_MAXPACKET) {
drivers/usb/host/sl811-hcd.c
863
epnum, ep->maxpacket);
drivers/usb/host/sl811-hcd.c
865
kfree(ep);
drivers/usb/host/sl811-hcd.c
872
ep->defctrl |= SL11H_HCTLMASK_PREAMBLE;
drivers/usb/host/sl811-hcd.c
879
ep->period = urb->interval;
drivers/usb/host/sl811-hcd.c
880
ep->branch = PERIODIC_SIZE;
drivers/usb/host/sl811-hcd.c
882
ep->defctrl |= SL11H_HCTLMASK_ISOCH;
drivers/usb/host/sl811-hcd.c
883
ep->load = usb_calc_bus_time(udev->speed, !is_out,
drivers/usb/host/sl811-hcd.c
890
ep->hep = hep;
drivers/usb/host/sl811-hcd.c
891
hep->hcpriv = ep;
drivers/usb/host/sl811-hcd.c
898
if (list_empty(&ep->schedule))
drivers/usb/host/sl811-hcd.c
899
list_add_tail(&ep->schedule, &sl811->async);
drivers/usb/host/sl811-hcd.c
903
urb->interval = ep->period;
drivers/usb/host/sl811-hcd.c
904
if (ep->branch < PERIODIC_SIZE) {
drivers/usb/host/sl811-hcd.c
911
+ ep->branch;
drivers/usb/host/sl811-hcd.c
915
retval = balance(sl811, ep->period, ep->load);
drivers/usb/host/sl811-hcd.c
918
ep->branch = retval;
drivers/usb/host/sl811-hcd.c
921
+ ep->branch;
drivers/usb/host/sl811-hcd.c
928
ep->period, ep, ep->branch);
drivers/usb/host/sl811-hcd.c
929
for (i = ep->branch; i < PERIODIC_SIZE; i += ep->period) {
drivers/usb/host/sl811-hcd.c
933
while (here && ep != here) {
drivers/usb/host/sl811-hcd.c
934
if (ep->period > here->period)
drivers/usb/host/sl811-hcd.c
939
if (ep != here) {
drivers/usb/host/sl811-hcd.c
940
ep->next = here;
drivers/usb/host/sl811-hcd.c
941
*prev = ep;
drivers/usb/host/sl811-hcd.c
943
sl811->load[i] += ep->load;
drivers/usb/host/sl811-hcd.c
946
hcd->self.bandwidth_allocated += ep->load / ep->period;
drivers/usb/host/sl811-hcd.c
966
struct sl811h_ep *ep;
drivers/usb/host/sl811-hcd.c
975
ep = hep->hcpriv;
drivers/usb/host/sl811-hcd.c
976
if (ep) {
drivers/usb/host/sl811-hcd.c
980
if (ep->hep->urb_list.next != &urb->urb_list) {
drivers/usb/host/sl811-hcd.c
984
} else if (sl811->active_a == ep) {
drivers/usb/host/sl811-hcd.c
999
} else if (sl811->active_b == ep) {
drivers/usb/host/uhci-q.c
1428
if (urb->ep->hcpriv)
drivers/usb/host/uhci-q.c
1429
qh = urb->ep->hcpriv;
drivers/usb/host/uhci-q.c
1431
qh = uhci_alloc_qh(uhci, urb->dev, urb->ep);
drivers/usb/host/xhci-hub.c
534
struct xhci_virt_ep *ep;
drivers/usb/host/xhci-hub.c
537
ep = &xhci->devs[slot_id]->eps[i];
drivers/usb/host/xhci-hub.c
539
if (ep->ep_state & EP_HAS_STREAMS) {
drivers/usb/host/xhci-hub.c
540
for (s = 1; s < ep->stream_info->num_streams; s++)
drivers/usb/host/xhci-hub.c
542
} else if (ep->ring && ep->ring->dequeue) {
drivers/usb/host/xhci-mem.c
1213
struct usb_host_endpoint *ep)
drivers/usb/host/xhci-mem.c
1217
interval = clamp_val(ep->desc.bInterval, 1, 16) - 1;
drivers/usb/host/xhci-mem.c
1218
if (interval != ep->desc.bInterval - 1)
drivers/usb/host/xhci-mem.c
1221
ep->desc.bEndpointAddress,
drivers/usb/host/xhci-mem.c
1242
struct usb_host_endpoint *ep, unsigned int desc_interval,
drivers/usb/host/xhci-mem.c
1252
ep->desc.bEndpointAddress,
drivers/usb/host/xhci-mem.c
1260
struct usb_host_endpoint *ep)
drivers/usb/host/xhci-mem.c
1262
if (ep->desc.bInterval == 0)
drivers/usb/host/xhci-mem.c
1264
return xhci_microframes_to_exponent(udev, ep,
drivers/usb/host/xhci-mem.c
1265
ep->desc.bInterval, 0, 15);
drivers/usb/host/xhci-mem.c
1270
struct usb_host_endpoint *ep)
drivers/usb/host/xhci-mem.c
1272
return xhci_microframes_to_exponent(udev, ep,
drivers/usb/host/xhci-mem.c
1273
ep->desc.bInterval * 8, 3, 10);
drivers/usb/host/xhci-mem.c
1285
struct usb_host_endpoint *ep)
drivers/usb/host/xhci-mem.c
1292
if (usb_endpoint_xfer_control(&ep->desc) ||
drivers/usb/host/xhci-mem.c
1293
usb_endpoint_xfer_bulk(&ep->desc)) {
drivers/usb/host/xhci-mem.c
1294
interval = xhci_parse_microframe_interval(udev, ep);
drivers/usb/host/xhci-mem.c
1301
if (usb_endpoint_xfer_int(&ep->desc) ||
drivers/usb/host/xhci-mem.c
1302
usb_endpoint_xfer_isoc(&ep->desc)) {
drivers/usb/host/xhci-mem.c
1303
interval = xhci_parse_exponent_interval(udev, ep);
drivers/usb/host/xhci-mem.c
1308
if (usb_endpoint_xfer_isoc(&ep->desc)) {
drivers/usb/host/xhci-mem.c
1309
interval = xhci_parse_exponent_interval(udev, ep);
drivers/usb/host/xhci-mem.c
1320
if (usb_endpoint_xfer_int(&ep->desc) ||
drivers/usb/host/xhci-mem.c
1321
usb_endpoint_xfer_isoc(&ep->desc)) {
drivers/usb/host/xhci-mem.c
1323
interval = xhci_parse_frame_interval(udev, ep);
drivers/usb/host/xhci-mem.c
1342
struct usb_host_endpoint *ep)
drivers/usb/host/xhci-mem.c
1350
if (usb_endpoint_is_hs_isoc_double(udev, ep) &&
drivers/usb/host/xhci-mem.c
1356
usb_endpoint_xfer_isoc(&ep->desc) && !lec)
drivers/usb/host/xhci-mem.c
1357
return ep->ss_ep_comp.bmAttributes;
drivers/usb/host/xhci-mem.c
1363
struct usb_host_endpoint *ep)
drivers/usb/host/xhci-mem.c
1367
return ep->ss_ep_comp.bMaxBurst;
drivers/usb/host/xhci-mem.c
1370
(usb_endpoint_xfer_isoc(&ep->desc) ||
drivers/usb/host/xhci-mem.c
1371
usb_endpoint_xfer_int(&ep->desc))) {
drivers/usb/host/xhci-mem.c
1376
if (usb_endpoint_is_hs_isoc_double(udev, ep))
drivers/usb/host/xhci-mem.c
1379
return usb_endpoint_maxp_mult(&ep->desc) - 1;
drivers/usb/host/xhci-mem.c
1385
static u32 xhci_get_endpoint_type(struct usb_host_endpoint *ep)
drivers/usb/host/xhci-mem.c
1389
in = usb_endpoint_dir_in(&ep->desc);
drivers/usb/host/xhci-mem.c
1391
switch (usb_endpoint_type(&ep->desc)) {
drivers/usb/host/xhci-mem.c
1410
struct usb_host_endpoint *ep,
drivers/usb/host/xhci-mem.c
1426
ep_index = xhci_get_endpoint_index(&ep->desc);
drivers/usb/host/xhci-mem.c
1429
endpoint_type = xhci_get_endpoint_type(ep);
drivers/usb/host/xhci-mem.c
1433
ring_type = usb_endpoint_type(&ep->desc);
drivers/usb/host/xhci-mem.c
1436
if (usb_endpoint_is_hs_isoc_double(udev, ep) && !(xhci->hcc_params2 & HCC2_EUSB2_DIC)) {
drivers/usb/host/xhci-mem.c
1447
max_esit_payload = usb_endpoint_max_periodic_payload(udev, ep);
drivers/usb/host/xhci-mem.c
1448
interval = xhci_get_endpoint_interval(udev, ep);
drivers/usb/host/xhci-mem.c
1451
if (usb_endpoint_xfer_int(&ep->desc) ||
drivers/usb/host/xhci-mem.c
1452
usb_endpoint_xfer_isoc(&ep->desc)) {
drivers/usb/host/xhci-mem.c
1464
mult = xhci_get_endpoint_mult(xhci, udev, ep);
drivers/usb/host/xhci-mem.c
1465
max_packet = xhci_usb_endpoint_maxp(udev, ep);
drivers/usb/host/xhci-mem.c
1466
max_burst = xhci_get_endpoint_max_burst(udev, ep);
drivers/usb/host/xhci-mem.c
1472
if (!usb_endpoint_xfer_isoc(&ep->desc))
drivers/usb/host/xhci-mem.c
1475
if (usb_endpoint_xfer_bulk(&ep->desc)) {
drivers/usb/host/xhci-mem.c
1484
if (usb_endpoint_xfer_control(&ep->desc) && xhci->hci_version >= 0x100)
drivers/usb/host/xhci-mem.c
1515
struct usb_host_endpoint *ep)
drivers/usb/host/xhci-mem.c
1520
ep_index = xhci_get_endpoint_index(&ep->desc);
drivers/usb/host/xhci-mem.c
1923
struct list_head *ep = &bwt->interval_bw[j].endpoints;
drivers/usb/host/xhci-mem.c
1924
while (!list_empty(ep))
drivers/usb/host/xhci-mem.c
1925
list_del_init(ep->next);
drivers/usb/host/xhci-mem.c
592
struct xhci_virt_ep *ep,
drivers/usb/host/xhci-mem.c
595
if (ep->ep_state & EP_HAS_STREAMS)
drivers/usb/host/xhci-mem.c
596
return radix_tree_lookup(&ep->stream_info->trb_address_map,
drivers/usb/host/xhci-mem.c
598
return ep->ring;
drivers/usb/host/xhci-mem.c
750
struct xhci_virt_ep *ep)
drivers/usb/host/xhci-mem.c
754
addr = xhci_trb_virt_to_dma(ep->ring->deq_seg, ep->ring->dequeue);
drivers/usb/host/xhci-mem.c
755
ep_ctx->deq = cpu_to_le64(addr | ep->ring->cycle_state);
drivers/usb/host/xhci-mtk-sch.c
1028
struct usb_host_endpoint *ep)
drivers/usb/host/xhci-mtk-sch.c
1032
ret = xhci_add_endpoint(hcd, udev, ep);
drivers/usb/host/xhci-mtk-sch.c
1036
if (ep->hcpriv)
drivers/usb/host/xhci-mtk-sch.c
1037
ret = add_ep_quirk(hcd, udev, ep);
drivers/usb/host/xhci-mtk-sch.c
1043
struct usb_host_endpoint *ep)
drivers/usb/host/xhci-mtk-sch.c
1047
ret = xhci_drop_endpoint(hcd, udev, ep);
drivers/usb/host/xhci-mtk-sch.c
1052
drop_ep_quirk(hcd, udev, ep);
drivers/usb/host/xhci-mtk-sch.c
128
struct usb_host_endpoint *ep)
drivers/usb/host/xhci-mtk-sch.c
141
if (usb_endpoint_dir_out(&ep->desc))
drivers/usb/host/xhci-mtk-sch.c
247
struct usb_host_endpoint *ep, struct xhci_ep_ctx *ep_ctx)
drivers/usb/host/xhci-mtk-sch.c
254
bw_info = get_bw_info(mtk, udev, ep);
drivers/usb/host/xhci-mtk-sch.c
261
usb_endpoint_xfer_isoc(&ep->desc))
drivers/usb/host/xhci-mtk-sch.c
280
sch_ep->ep = ep;
drivers/usb/host/xhci-mtk-sch.c
75
decode_ep(struct usb_host_endpoint *ep, enum usb_device_speed speed)
drivers/usb/host/xhci-mtk-sch.c
78
struct usb_endpoint_descriptor *epd = &ep->desc;
drivers/usb/host/xhci-mtk-sch.c
860
struct usb_host_endpoint *ep)
drivers/usb/host/xhci-mtk-sch.c
865
if (usb_endpoint_xfer_control(&ep->desc)
drivers/usb/host/xhci-mtk-sch.c
866
|| usb_endpoint_xfer_bulk(&ep->desc))
drivers/usb/host/xhci-mtk-sch.c
878
if (usb_endpoint_maxp(&ep->desc) == 0)
drivers/usb/host/xhci-mtk-sch.c
911
struct usb_host_endpoint *ep)
drivers/usb/host/xhci-mtk-sch.c
921
ep_index = xhci_get_endpoint_index(&ep->desc);
drivers/usb/host/xhci-mtk-sch.c
924
if (!need_bw_sch(udev, ep)) {
drivers/usb/host/xhci-mtk-sch.c
929
if (usb_endpoint_xfer_int(&ep->desc)
drivers/usb/host/xhci-mtk-sch.c
930
|| usb_endpoint_xfer_isoc(&ep->desc))
drivers/usb/host/xhci-mtk-sch.c
936
xhci_dbg(xhci, "%s %s\n", __func__, decode_ep(ep, udev->speed));
drivers/usb/host/xhci-mtk-sch.c
938
sch_ep = create_sch_ep(mtk, udev, ep, ep_ctx);
drivers/usb/host/xhci-mtk-sch.c
945
hash_add(mtk->sch_ep_hash, &sch_ep->hentry, (unsigned long)ep);
drivers/usb/host/xhci-mtk-sch.c
951
struct usb_host_endpoint *ep)
drivers/usb/host/xhci-mtk-sch.c
958
if (!need_bw_sch(udev, ep))
drivers/usb/host/xhci-mtk-sch.c
961
xhci_dbg(xhci, "%s %s\n", __func__, decode_ep(ep, udev->speed));
drivers/usb/host/xhci-mtk-sch.c
964
hn, hentry, (unsigned long)ep) {
drivers/usb/host/xhci-mtk-sch.c
965
if (sch_ep->ep == ep) {
drivers/usb/host/xhci-mtk-sch.c
984
struct usb_host_endpoint *ep = sch_ep->ep;
drivers/usb/host/xhci-mtk-sch.c
985
unsigned int ep_index = xhci_get_endpoint_index(&ep->desc);
drivers/usb/host/xhci-mtk.h
111
struct usb_host_endpoint *ep;
drivers/usb/host/xhci-mtk.h
188
struct usb_host_endpoint *ep);
drivers/usb/host/xhci-mtk.h
190
struct usb_host_endpoint *ep);
drivers/usb/host/xhci-ring.c
1001
ep->ep_state |= EP_HARD_CLEAR_TOGGLE;
drivers/usb/host/xhci-ring.c
1003
list_add_tail(&td->cancelled_td_list, &ep->cancelled_td_list);
drivers/usb/host/xhci-ring.c
1008
if (ep->ep_state & EP_HALTED) {
drivers/usb/host/xhci-ring.c
1010
ep->ep_index);
drivers/usb/host/xhci-ring.c
1014
err = xhci_reset_halted_ep(xhci, slot_id, ep->ep_index, reset_type);
drivers/usb/host/xhci-ring.c
1018
ep->ep_state |= EP_HALTED;
drivers/usb/host/xhci-ring.c
1034
static int xhci_invalidate_cancelled_tds(struct xhci_virt_ep *ep)
drivers/usb/host/xhci-ring.c
1042
unsigned int slot_id = ep->vdev->slot_id;
drivers/usb/host/xhci-ring.c
1049
if (ep->ep_state & SET_DEQ_PENDING)
drivers/usb/host/xhci-ring.c
1052
xhci = ep->xhci;
drivers/usb/host/xhci-ring.c
1054
list_for_each_entry_safe(td, tmp_td, &ep->cancelled_td_list, cancelled_td_list) {
drivers/usb/host/xhci-ring.c
1073
hw_deq = xhci_get_hw_deq(xhci, ep->vdev, ep->ep_index,
drivers/usb/host/xhci-ring.c
1100
td_to_noop(xhci, ep, cached_td, false);
drivers/usb/host/xhci-ring.c
1103
td_to_noop(xhci, ep, td, false);
drivers/usb/host/xhci-ring.c
1109
td_to_noop(xhci, ep, td, false);
drivers/usb/host/xhci-ring.c
1118
err = xhci_move_dequeue_past_td(xhci, slot_id, ep->ep_index,
drivers/usb/host/xhci-ring.c
1123
list_for_each_entry_safe(td, tmp_td, &ep->cancelled_td_list, cancelled_td_list) {
drivers/usb/host/xhci-ring.c
1134
td_to_noop(xhci, ep, td, false);
drivers/usb/host/xhci-ring.c
1148
void xhci_process_cancelled_tds(struct xhci_virt_ep *ep)
drivers/usb/host/xhci-ring.c
1150
xhci_invalidate_cancelled_tds(ep);
drivers/usb/host/xhci-ring.c
1151
xhci_giveback_invalidated_tds(ep);
drivers/usb/host/xhci-ring.c
1158
static struct xhci_td *find_halted_td(struct xhci_virt_ep *ep)
drivers/usb/host/xhci-ring.c
1163
if (!list_empty(&ep->ring->td_list)) { /* Not streams compatible */
drivers/usb/host/xhci-ring.c
1164
hw_deq = xhci_get_hw_deq(ep->xhci, ep->vdev, ep->ep_index, 0);
drivers/usb/host/xhci-ring.c
1166
td = list_first_entry(&ep->ring->td_list, struct xhci_td, td_list);
drivers/usb/host/xhci-ring.c
1187
struct xhci_virt_ep *ep;
drivers/usb/host/xhci-ring.c
1202
ep = xhci_get_virt_ep(xhci, slot_id, ep_index);
drivers/usb/host/xhci-ring.c
1203
if (!ep)
drivers/usb/host/xhci-ring.c
1206
ep_ctx = xhci_get_ep_ctx(xhci, ep->vdev->out_ctx, ep_index);
drivers/usb/host/xhci-ring.c
1232
if (ep->ep_state & EP_HALTED)
drivers/usb/host/xhci-ring.c
1235
if (ep->ep_state & EP_HAS_STREAMS) {
drivers/usb/host/xhci-ring.c
1239
td = find_halted_td(ep);
drivers/usb/host/xhci-ring.c
1244
err = xhci_handle_halted_endpoint(xhci, ep, td, reset_type);
drivers/usb/host/xhci-ring.c
1250
ep->ep_state &= ~EP_STOP_CMD_PENDING;
drivers/usb/host/xhci-ring.c
1261
if (ep->ep_state & EP_HALTED)
drivers/usb/host/xhci-ring.c
1275
if (time_is_before_jiffies(ep->stop_time + msecs_to_jiffies(100)))
drivers/usb/host/xhci-ring.c
1285
ep->ep_state &= ~EP_STOP_CMD_PENDING;
drivers/usb/host/xhci-ring.c
1298
xhci_invalidate_cancelled_tds(ep);
drivers/usb/host/xhci-ring.c
1299
ep->ep_state &= ~EP_STOP_CMD_PENDING;
drivers/usb/host/xhci-ring.c
1302
xhci_giveback_invalidated_tds(ep);
drivers/usb/host/xhci-ring.c
1330
struct xhci_virt_ep *ep;
drivers/usb/host/xhci-ring.c
1333
ep = xhci_get_virt_ep(xhci, slot_id, ep_index);
drivers/usb/host/xhci-ring.c
1334
if (!ep)
drivers/usb/host/xhci-ring.c
1337
if ((ep->ep_state & EP_HAS_STREAMS) ||
drivers/usb/host/xhci-ring.c
1338
(ep->ep_state & EP_GETTING_NO_STREAMS)) {
drivers/usb/host/xhci-ring.c
1341
for (stream_id = 1; stream_id < ep->stream_info->num_streams;
drivers/usb/host/xhci-ring.c
1343
ring = ep->stream_info->stream_rings[stream_id];
drivers/usb/host/xhci-ring.c
1353
ring = ep->ring;
drivers/usb/host/xhci-ring.c
1362
list_for_each_entry_safe(cur_td, tmp, &ep->cancelled_td_list,
drivers/usb/host/xhci-ring.c
1422
struct xhci_virt_ep *ep;
drivers/usb/host/xhci-ring.c
1430
ep = xhci_get_virt_ep(xhci, slot_id, ep_index);
drivers/usb/host/xhci-ring.c
1431
if (!ep)
drivers/usb/host/xhci-ring.c
1434
ep_ring = xhci_virt_ep_to_ring(xhci, ep, stream_id);
drivers/usb/host/xhci-ring.c
1442
ep_ctx = xhci_get_ep_ctx(xhci, ep->vdev->out_ctx, ep_index);
drivers/usb/host/xhci-ring.c
1443
slot_ctx = xhci_get_slot_ctx(xhci, ep->vdev->out_ctx);
drivers/usb/host/xhci-ring.c
1447
if (ep->ep_state & EP_HAS_STREAMS) {
drivers/usb/host/xhci-ring.c
1448
stream_ctx = &ep->stream_info->stream_ctx_array[stream_id];
drivers/usb/host/xhci-ring.c
1449
trace_xhci_handle_cmd_set_deq_stream(ep->stream_info, stream_id);
drivers/usb/host/xhci-ring.c
1487
if (ep->ep_state & EP_HAS_STREAMS) {
drivers/usb/host/xhci-ring.c
1508
if (xhci_trb_virt_to_dma(ep->queued_deq_seg,
drivers/usb/host/xhci-ring.c
1509
ep->queued_deq_ptr) == deq) {
drivers/usb/host/xhci-ring.c
1513
ep_ring->deq_seg = ep->queued_deq_seg;
drivers/usb/host/xhci-ring.c
1514
ep_ring->dequeue = ep->queued_deq_ptr;
drivers/usb/host/xhci-ring.c
1518
ep->queued_deq_seg, ep->queued_deq_ptr);
drivers/usb/host/xhci-ring.c
1522
list_for_each_entry_safe(td, tmp_td, &ep->cancelled_td_list,
drivers/usb/host/xhci-ring.c
1524
ep_ring = xhci_urb_to_transfer_ring(ep->xhci, td->urb);
drivers/usb/host/xhci-ring.c
1527
xhci_dbg(ep->xhci, "%s: Giveback cancelled URB %p TD\n",
drivers/usb/host/xhci-ring.c
1529
xhci_td_cleanup(ep->xhci, td, ep_ring, td->status);
drivers/usb/host/xhci-ring.c
1531
xhci_dbg(ep->xhci, "%s: Keep cancelled URB %p TD as cancel_status is %d\n",
drivers/usb/host/xhci-ring.c
1536
ep->ep_state &= ~SET_DEQ_PENDING;
drivers/usb/host/xhci-ring.c
1537
ep->queued_deq_seg = NULL;
drivers/usb/host/xhci-ring.c
1538
ep->queued_deq_ptr = NULL;
drivers/usb/host/xhci-ring.c
1541
if (!list_empty(&ep->cancelled_td_list)) {
drivers/usb/host/xhci-ring.c
1542
xhci_dbg(ep->xhci, "%s: Pending TDs to clear, continuing with invalidation\n",
drivers/usb/host/xhci-ring.c
1544
xhci_invalidate_cancelled_tds(ep);
drivers/usb/host/xhci-ring.c
1548
xhci_giveback_invalidated_tds(ep);
drivers/usb/host/xhci-ring.c
1551
xhci_dbg(ep->xhci, "%s: All TDs cleared, ring doorbell\n", __func__);
drivers/usb/host/xhci-ring.c
1559
struct xhci_virt_ep *ep;
drivers/usb/host/xhci-ring.c
1564
ep = xhci_get_virt_ep(xhci, slot_id, ep_index);
drivers/usb/host/xhci-ring.c
1565
if (!ep)
drivers/usb/host/xhci-ring.c
1568
ep_ctx = xhci_get_ep_ctx(xhci, ep->vdev->out_ctx, ep_index);
drivers/usb/host/xhci-ring.c
1578
xhci_invalidate_cancelled_tds(ep);
drivers/usb/host/xhci-ring.c
1581
ep->ep_state &= ~EP_HALTED;
drivers/usb/host/xhci-ring.c
1583
xhci_giveback_invalidated_tds(ep);
drivers/usb/host/xhci-ring.c
1745
struct xhci_virt_ep *ep;
drivers/usb/host/xhci-ring.c
1749
ep = xhci_get_virt_ep(xhci, TRB_TO_SLOT_ID(cmd_field3),
drivers/usb/host/xhci-ring.c
1751
if (ep)
drivers/usb/host/xhci-ring.c
1752
ep->ep_state &= ~EP_STOP_CMD_PENDING;
drivers/usb/host/xhci-ring.c
2167
struct xhci_virt_ep *ep)
drivers/usb/host/xhci-ring.c
2175
!(ep->ep_state & EP_CLEARING_TT)) {
drivers/usb/host/xhci-ring.c
2176
ep->ep_state |= EP_CLEARING_TT;
drivers/usb/host/xhci-ring.c
2177
td->urb->ep->hcpriv = td->urb->dev;
drivers/usb/host/xhci-ring.c
2179
ep->ep_state &= ~EP_CLEARING_TT;
drivers/usb/host/xhci-ring.c
2234
static void finish_td(struct xhci_hcd *xhci, struct xhci_virt_ep *ep,
drivers/usb/host/xhci-ring.c
2240
ep_ctx = xhci_get_ep_ctx(xhci, ep->vdev->out_ctx, ep->ep_index);
drivers/usb/host/xhci-ring.c
2265
if (!(ep->ep_index == 0 && trb_comp_code == COMP_STALL_ERROR))
drivers/usb/host/xhci-ring.c
2266
xhci_clear_hub_tt_buffer(xhci, td, ep);
drivers/usb/host/xhci-ring.c
2268
xhci_handle_halted_endpoint(xhci, ep, td, EP_HARD_RESET);
drivers/usb/host/xhci-ring.c
2293
static void process_ctrl_td(struct xhci_hcd *xhci, struct xhci_virt_ep *ep,
drivers/usb/host/xhci-ring.c
2303
ep_ctx = xhci_get_ep_ctx(xhci, ep->vdev->out_ctx, ep->ep_index);
drivers/usb/host/xhci-ring.c
2350
trb_comp_code, ep->ep_index);
drivers/usb/host/xhci-ring.c
2382
finish_td(xhci, ep, ep_ring, td, trb_comp_code);
drivers/usb/host/xhci-ring.c
2388
static void process_isoc_td(struct xhci_hcd *xhci, struct xhci_virt_ep *ep,
drivers/usb/host/xhci-ring.c
2492
finish_td(xhci, ep, ep_ring, td, trb_comp_code);
drivers/usb/host/xhci-ring.c
2496
struct xhci_virt_ep *ep, int status)
drivers/usb/host/xhci-ring.c
2512
xhci_dequeue_td(xhci, td, ep->ring, status);
drivers/usb/host/xhci-ring.c
2518
static void process_bulk_intr_td(struct xhci_hcd *xhci, struct xhci_virt_ep *ep,
drivers/usb/host/xhci-ring.c
2526
slot_ctx = xhci_get_slot_ctx(xhci, ep->vdev->out_ctx);
drivers/usb/host/xhci-ring.c
2534
ep->err_count = 0;
drivers/usb/host/xhci-ring.c
2539
td->urb->ep->desc.bEndpointAddress,
drivers/usb/host/xhci-ring.c
2556
(ep->err_count++ > MAX_SOFT_RETRY) ||
drivers/usb/host/xhci-ring.c
2562
xhci_handle_halted_endpoint(xhci, ep, td, EP_SOFT_RESET);
drivers/usb/host/xhci-ring.c
2582
finish_td(xhci, ep, ep_ring, td, trb_comp_code);
drivers/usb/host/xhci-ring.c
2586
static int handle_transferless_tx_event(struct xhci_hcd *xhci, struct xhci_virt_ep *ep,
drivers/usb/host/xhci-ring.c
2594
xhci_dbg(xhci, "Stream transaction error ep %u no id\n", ep->ep_index);
drivers/usb/host/xhci-ring.c
2595
if (ep->err_count++ > MAX_SOFT_RETRY)
drivers/usb/host/xhci-ring.c
2596
xhci_handle_halted_endpoint(xhci, ep, NULL, EP_HARD_RESET);
drivers/usb/host/xhci-ring.c
2598
xhci_handle_halted_endpoint(xhci, ep, NULL, EP_SOFT_RESET);
drivers/usb/host/xhci-ring.c
2606
trb_comp_code, ep->vdev->slot_id, ep->ep_index);
drivers/usb/host/xhci-ring.c
2637
struct xhci_virt_ep *ep;
drivers/usb/host/xhci-ring.c
2654
ep = xhci_get_virt_ep(xhci, slot_id, ep_index);
drivers/usb/host/xhci-ring.c
2655
if (!ep) {
drivers/usb/host/xhci-ring.c
2660
ep_ring = xhci_dma_to_transfer_ring(ep, ep_trb_dma);
drivers/usb/host/xhci-ring.c
2661
ep_ctx = xhci_get_ep_ctx(xhci, ep->vdev->out_ctx, ep_index);
drivers/usb/host/xhci-ring.c
2671
return handle_transferless_tx_event(xhci, ep, trb_comp_code);
drivers/usb/host/xhci-ring.c
2770
ep->skip = true;
drivers/usb/host/xhci-ring.c
2776
ep->skip = true;
drivers/usb/host/xhci-ring.c
2797
if (ep->skip)
drivers/usb/host/xhci-ring.c
2841
ep->skip = false;
drivers/usb/host/xhci-ring.c
2852
if (ep->skip && usb_endpoint_xfer_isoc(&td->urb->ep->desc)) {
drivers/usb/host/xhci-ring.c
2857
skip_isoc_td(xhci, td, ep, status);
drivers/usb/host/xhci-ring.c
2876
ep->skip = false;
drivers/usb/host/xhci-ring.c
2912
if (ep->skip) {
drivers/usb/host/xhci-ring.c
2916
ep->skip = false;
drivers/usb/host/xhci-ring.c
2925
} while (ep->skip);
drivers/usb/host/xhci-ring.c
2948
if (usb_endpoint_xfer_control(&td->urb->ep->desc))
drivers/usb/host/xhci-ring.c
2949
process_ctrl_td(xhci, ep, ep_ring, td, ep_trb, event);
drivers/usb/host/xhci-ring.c
2950
else if (usb_endpoint_xfer_isoc(&td->urb->ep->desc))
drivers/usb/host/xhci-ring.c
2951
process_isoc_td(xhci, ep, ep_ring, td, ep_trb, event);
drivers/usb/host/xhci-ring.c
2953
process_bulk_intr_td(xhci, ep, ep_ring, td, ep_trb, event);
drivers/usb/host/xhci-ring.c
2958
xhci_handle_halted_endpoint(xhci, ep, td, EP_HARD_RESET);
drivers/usb/host/xhci-ring.c
3426
urb->ep->desc.bEndpointAddress,
drivers/usb/host/xhci-ring.c
3533
maxp = xhci_usb_endpoint_maxp(urb->dev, urb->ep);
drivers/usb/host/xhci-ring.c
3550
max_pkt = xhci_usb_endpoint_maxp(urb->dev, urb->ep);
drivers/usb/host/xhci-ring.c
3933
max_burst = urb->ep->ss_ep_comp.bMaxBurst;
drivers/usb/host/xhci-ring.c
3956
max_burst = urb->ep->ss_ep_comp.bMaxBurst;
drivers/usb/host/xhci-ring.c
4121
max_pkt = xhci_usb_endpoint_maxp(urb->dev, urb->ep);
drivers/usb/host/xhci-ring.c
555
struct xhci_virt_ep *ep = &xhci->devs[slot_id]->eps[ep_index];
drivers/usb/host/xhci-ring.c
556
unsigned int ep_state = ep->ep_state;
drivers/usb/host/xhci-ring.c
581
struct xhci_virt_ep *ep;
drivers/usb/host/xhci-ring.c
583
ep = &xhci->devs[slot_id]->eps[ep_index];
drivers/usb/host/xhci-ring.c
586
if (!(ep->ep_state & EP_HAS_STREAMS)) {
drivers/usb/host/xhci-ring.c
587
if (ep->ring && !(list_empty(&ep->ring->td_list)))
drivers/usb/host/xhci-ring.c
592
for (stream_id = 1; stream_id < ep->stream_info->num_streams;
drivers/usb/host/xhci-ring.c
594
struct xhci_stream_info *stream_info = ep->stream_info;
drivers/usb/host/xhci-ring.c
629
struct xhci_virt_ep *ep,
drivers/usb/host/xhci-ring.c
633
if (!(ep->ep_state & EP_HAS_STREAMS))
drivers/usb/host/xhci-ring.c
634
return ep->ring;
drivers/usb/host/xhci-ring.c
636
if (!ep->stream_info)
drivers/usb/host/xhci-ring.c
639
if (stream_id == 0 || stream_id >= ep->stream_info->num_streams) {
drivers/usb/host/xhci-ring.c
641
stream_id, ep->vdev->slot_id, ep->ep_index);
drivers/usb/host/xhci-ring.c
645
return ep->stream_info->stream_rings[stream_id];
drivers/usb/host/xhci-ring.c
656
struct xhci_virt_ep *ep;
drivers/usb/host/xhci-ring.c
658
ep = xhci_get_virt_ep(xhci, slot_id, ep_index);
drivers/usb/host/xhci-ring.c
659
if (!ep)
drivers/usb/host/xhci-ring.c
662
return xhci_virt_ep_to_ring(xhci, ep, stream_id);
drivers/usb/host/xhci-ring.c
677
struct xhci_virt_ep *ep;
drivers/usb/host/xhci-ring.c
679
ep = &vdev->eps[ep_index];
drivers/usb/host/xhci-ring.c
681
if (ep->ep_state & EP_HAS_STREAMS) {
drivers/usb/host/xhci-ring.c
682
st_ctx = &ep->stream_info->stream_ctx_array[stream_id];
drivers/usb/host/xhci-ring.c
694
struct xhci_virt_ep *ep = &dev->eps[ep_index];
drivers/usb/host/xhci-ring.c
742
if (new_deq == ep->ring->dequeue) {
drivers/usb/host/xhci-ring.c
757
if ((ep->ep_state & SET_DEQ_PENDING)) {
drivers/usb/host/xhci-ring.c
781
ep->queued_deq_seg = new_seg;
drivers/usb/host/xhci-ring.c
782
ep->queued_deq_ptr = new_deq;
drivers/usb/host/xhci-ring.c
792
ep->ep_state |= SET_DEQ_PENDING;
drivers/usb/host/xhci-ring.c
801
static void td_to_noop(struct xhci_hcd *xhci, struct xhci_virt_ep *ep,
drivers/usb/host/xhci-ring.c
809
unchain_links = !xhci_link_chain_quirk(xhci, ep->ring ? ep->ring->type : TYPE_STREAM);
drivers/usb/host/xhci-ring.c
913
(status != 0 && !usb_endpoint_xfer_isoc(&urb->ep->desc)))
drivers/usb/host/xhci-ring.c
937
static void xhci_giveback_invalidated_tds(struct xhci_virt_ep *ep)
drivers/usb/host/xhci-ring.c
942
list_for_each_entry_safe(td, tmp_td, &ep->cancelled_td_list,
drivers/usb/host/xhci-ring.c
945
ring = xhci_urb_to_transfer_ring(ep->xhci, td->urb);
drivers/usb/host/xhci-ring.c
948
xhci_dbg(ep->xhci, "%s: Giveback cancelled URB %p TD\n",
drivers/usb/host/xhci-ring.c
950
xhci_td_cleanup(ep->xhci, td, ring, td->status);
drivers/usb/host/xhci-ring.c
952
xhci_dbg(ep->xhci, "%s: Keep cancelled URB %p TD as cancel_status is %d\n",
drivers/usb/host/xhci-ring.c
955
if (ep->xhci->xhc_state & XHCI_STATE_DYING)
drivers/usb/host/xhci-ring.c
985
struct xhci_virt_ep *ep,
drivers/usb/host/xhci-ring.c
989
unsigned int slot_id = ep->vdev->slot_id;
drivers/usb/host/xhci-ring.c
996
if (ep->vdev->flags & VDEV_PORT_ERROR)
drivers/usb/host/xhci-sideband.c
147
struct xhci_virt_ep *ep;
drivers/usb/host/xhci-sideband.c
156
ep = &sb->vdev->eps[ep_index];
drivers/usb/host/xhci-sideband.c
158
if (ep->ep_state & EP_HAS_STREAMS)
drivers/usb/host/xhci-sideband.c
169
if (sb->eps[ep_index] || ep->sideband)
drivers/usb/host/xhci-sideband.c
172
ep->sideband = sb;
drivers/usb/host/xhci-sideband.c
173
sb->eps[ep_index] = ep;
drivers/usb/host/xhci-sideband.c
195
struct xhci_virt_ep *ep;
drivers/usb/host/xhci-sideband.c
201
ep = sb->eps[ep_index];
drivers/usb/host/xhci-sideband.c
203
if (!ep || !ep->sideband || ep->sideband != sb)
drivers/usb/host/xhci-sideband.c
206
__xhci_sideband_remove_endpoint(sb, ep);
drivers/usb/host/xhci-sideband.c
216
struct xhci_virt_ep *ep;
drivers/usb/host/xhci-sideband.c
220
ep = sb->eps[ep_index];
drivers/usb/host/xhci-sideband.c
222
if (!ep || !ep->sideband || ep->sideband != sb)
drivers/usb/host/xhci-sideband.c
225
return xhci_stop_endpoint_sync(sb->xhci, ep, 0, GFP_KERNEL);
drivers/usb/host/xhci-sideband.c
246
struct xhci_virt_ep *ep;
drivers/usb/host/xhci-sideband.c
250
ep = sb->eps[ep_index];
drivers/usb/host/xhci-sideband.c
252
if (!ep || !ep->ring || !ep->sideband || ep->sideband != sb)
drivers/usb/host/xhci-sideband.c
255
return xhci_ring_to_sgtable(sb, ep->ring);
drivers/usb/host/xhci-sideband.c
78
__xhci_sideband_remove_endpoint(struct xhci_sideband *sb, struct xhci_virt_ep *ep)
drivers/usb/host/xhci-sideband.c
86
xhci_stop_endpoint_sync(sb->xhci, ep, 0, GFP_KERNEL);
drivers/usb/host/xhci-sideband.c
88
ep->sideband = NULL;
drivers/usb/host/xhci-sideband.c
89
sb->eps[ep->ep_index] = NULL;
drivers/usb/host/xhci-trace.h
273
__entry->epnum = usb_endpoint_num(&urb->ep->desc);
drivers/usb/host/xhci-trace.h
274
__entry->dir_in = usb_endpoint_dir_in(&urb->ep->desc);
drivers/usb/host/xhci-trace.h
275
__entry->type = usb_endpoint_type(&urb->ep->desc);
drivers/usb/host/xhci.c
1346
max_pkt = xhci_usb_endpoint_maxp(urb->dev, urb->ep);
drivers/usb/host/xhci.c
1503
struct usb_host_endpoint *ep, int check_ep, bool check_virt_dev,
drivers/usb/host/xhci.c
1508
if (!hcd || (check_ep && !ep) || !udev) {
drivers/usb/host/xhci.c
1632
ep_index = xhci_get_endpoint_index(&urb->ep->desc);
drivers/usb/host/xhci.c
1634
if (usb_endpoint_xfer_isoc(&urb->ep->desc))
drivers/usb/host/xhci.c
1636
else if (usb_endpoint_is_bulk_out(&urb->ep->desc) &&
drivers/usb/host/xhci.c
1639
!(urb->transfer_buffer_length % usb_endpoint_maxp(&urb->ep->desc)))
drivers/usb/host/xhci.c
1656
ret = xhci_check_args(hcd, urb->dev, urb->ep,
drivers/usb/host/xhci.c
1678
urb->ep->desc.bEndpointAddress, urb);
drivers/usb/host/xhci.c
1697
switch (usb_endpoint_type(&urb->ep->desc)) {
drivers/usb/host/xhci.c
1766
struct xhci_virt_ep *ep;
drivers/usb/host/xhci.c
1786
ep_index = xhci_get_endpoint_index(&urb->ep->desc);
drivers/usb/host/xhci.c
1787
ep = &vdev->eps[ep_index];
drivers/usb/host/xhci.c
1789
if (!ep || !ep_ring)
drivers/usb/host/xhci.c
1835
urb->ep->desc.bEndpointAddress,
drivers/usb/host/xhci.c
1846
&ep->cancelled_td_list);
drivers/usb/host/xhci.c
1851
if (ep->ep_state & (EP_STOP_CMD_PENDING | EP_HALTED | SET_DEQ_PENDING)) {
drivers/usb/host/xhci.c
1853
urb->dev->slot_id, ep_index, ep->ep_state);
drivers/usb/host/xhci.c
1858
if (ep->ep_state & EP_CLEARING_TT) {
drivers/usb/host/xhci.c
1861
urb->dev->slot_id, ep_index, ep->ep_state);
drivers/usb/host/xhci.c
1862
xhci_process_cancelled_tds(ep);
drivers/usb/host/xhci.c
1870
ep->stop_time = jiffies;
drivers/usb/host/xhci.c
1871
ep->ep_state |= EP_STOP_CMD_PENDING;
drivers/usb/host/xhci.c
1903
struct usb_host_endpoint *ep)
drivers/usb/host/xhci.c
1914
ret = xhci_check_args(hcd, udev, ep, 1, true, __func__);
drivers/usb/host/xhci.c
1922
drop_flag = xhci_get_endpoint_flag(&ep->desc);
drivers/usb/host/xhci.c
1938
ep_index = xhci_get_endpoint_index(&ep->desc);
drivers/usb/host/xhci.c
1945
xhci_get_endpoint_flag(&ep->desc)) {
drivers/usb/host/xhci.c
1949
__func__, ep);
drivers/usb/host/xhci.c
1961
xhci_endpoint_zero(xhci, xhci->devs[udev->slot_id], ep);
drivers/usb/host/xhci.c
1964
(unsigned int) ep->desc.bEndpointAddress,
drivers/usb/host/xhci.c
1986
struct usb_host_endpoint *ep)
drivers/usb/host/xhci.c
1998
ret = xhci_check_args(hcd, udev, ep, 1, true, __func__);
drivers/usb/host/xhci.c
2001
ep->hcpriv = NULL;
drivers/usb/host/xhci.c
2008
added_ctxs = xhci_get_endpoint_flag(&ep->desc);
drivers/usb/host/xhci.c
2028
ep_index = xhci_get_endpoint_index(&ep->desc);
drivers/usb/host/xhci.c
2036
(unsigned int) ep->desc.bEndpointAddress);
drivers/usb/host/xhci.c
2045
__func__, ep);
drivers/usb/host/xhci.c
2054
if (xhci_endpoint_init(xhci, virt_dev, udev, ep, GFP_NOIO) < 0) {
drivers/usb/host/xhci.c
2056
__func__, ep->desc.bEndpointAddress);
drivers/usb/host/xhci.c
2072
ep->hcpriv = udev;
drivers/usb/host/xhci.c
2078
(unsigned int) ep->desc.bEndpointAddress,
drivers/usb/host/xhci.c
2897
int xhci_stop_endpoint_sync(struct xhci_hcd *xhci, struct xhci_virt_ep *ep, int suspend,
drivers/usb/host/xhci.c
2912
if (ep->ring) {
drivers/usb/host/xhci.c
2913
ep_ctx = xhci_get_ep_ctx(xhci, ep->vdev->out_ctx, ep->ep_index);
drivers/usb/host/xhci.c
2916
ep->vdev->slot_id,
drivers/usb/host/xhci.c
2917
ep->ep_index, suspend);
drivers/usb/host/xhci.c
3059
struct xhci_virt_ep *ep = &vdev->eps[i];
drivers/usb/host/xhci.c
3061
if (ep->ep_state & EP_HAS_STREAMS) {
drivers/usb/host/xhci.c
3064
xhci_free_stream_info(xhci, ep->stream_info);
drivers/usb/host/xhci.c
3065
ep->stream_info = NULL;
drivers/usb/host/xhci.c
3066
ep->ep_state &= ~EP_HAS_STREAMS;
drivers/usb/host/xhci.c
3257
struct xhci_virt_ep *ep;
drivers/usb/host/xhci.c
3275
ep = &vdev->eps[ep_index];
drivers/usb/host/xhci.c
3278
if (ep->ep_state & EP_CLEARING_TT) {
drivers/usb/host/xhci.c
3284
if (ep->ep_state)
drivers/usb/host/xhci.c
3286
ep->ep_state);
drivers/usb/host/xhci.c
3313
struct xhci_virt_ep *ep;
drivers/usb/host/xhci.c
3353
ep = &vdev->eps[ep_index];
drivers/usb/host/xhci.c
3357
if (ep->ep_state & EP_HARD_CLEAR_TOGGLE) {
drivers/usb/host/xhci.c
3358
ep->ep_state &= ~EP_HARD_CLEAR_TOGGLE;
drivers/usb/host/xhci.c
3384
ep->ep_state |= EP_SOFT_CLEAR_TOGGLE;
drivers/usb/host/xhci.c
3392
if (!list_empty(&ep->ring->td_list)) {
drivers/usb/host/xhci.c
3449
if (ep->ep_state & EP_SOFT_CLEAR_TOGGLE)
drivers/usb/host/xhci.c
3450
ep->ep_state &= ~EP_SOFT_CLEAR_TOGGLE;
drivers/usb/host/xhci.c
3455
struct usb_device *udev, struct usb_host_endpoint *ep,
drivers/usb/host/xhci.c
3462
if (!ep)
drivers/usb/host/xhci.c
3464
ret = xhci_check_args(xhci_to_hcd(xhci), udev, ep, 1, true, __func__);
drivers/usb/host/xhci.c
3467
if (usb_ss_max_streams(&ep->ss_ep_comp) == 0) {
drivers/usb/host/xhci.c
3470
ep->desc.bEndpointAddress);
drivers/usb/host/xhci.c
3474
ep_index = xhci_get_endpoint_index(&ep->desc);
drivers/usb/host/xhci.c
3480
ep->desc.bEndpointAddress);
drivers/usb/host/xhci.c
3488
ep->desc.bEndpointAddress);
drivers/usb/host/xhci.c
4051
struct xhci_virt_ep *ep = &virt_dev->eps[i];
drivers/usb/host/xhci.c
4053
if (ep->ep_state & EP_HAS_STREAMS) {
drivers/usb/host/xhci.c
4056
xhci_free_stream_info(xhci, ep->stream_info);
drivers/usb/host/xhci.c
4057
ep->stream_info = NULL;
drivers/usb/host/xhci.c
4058
ep->ep_state &= ~EP_HAS_STREAMS;
drivers/usb/host/xhci.c
4061
if (ep->ring) {
drivers/usb/host/xhci.c
4062
if (ep->sideband)
drivers/usb/host/xhci.c
4063
xhci_sideband_notify_ep_ring_free(ep->sideband, i);
drivers/usb/host/xhci.c
5544
struct usb_host_endpoint *ep)
drivers/usb/host/xhci.c
5555
udev = (struct usb_device *)ep->hcpriv;
drivers/usb/host/xhci.c
5557
ep_index = xhci_get_endpoint_index(&ep->desc);
drivers/usb/host/xhci.h
1684
struct usb_host_endpoint *ep);
drivers/usb/host/xhci.h
1686
struct usb_host_endpoint *ep);
drivers/usb/host/xhci.h
1801
void xhci_endpoint_zero(struct xhci_hcd *xhci, struct xhci_virt_device *virt_dev, struct usb_host_endpoint *ep);
drivers/usb/host/xhci.h
1818
struct usb_device *udev, struct usb_host_endpoint *ep,
drivers/usb/host/xhci.h
1839
struct xhci_virt_ep *ep);
drivers/usb/host/xhci.h
1843
struct xhci_virt_ep *ep,
drivers/usb/host/xhci.h
1883
struct usb_host_endpoint *ep);
drivers/usb/host/xhci.h
1885
struct usb_host_endpoint *ep);
drivers/usb/host/xhci.h
1954
int xhci_stop_endpoint_sync(struct xhci_hcd *xhci, struct xhci_virt_ep *ep,
drivers/usb/host/xhci.h
1956
void xhci_process_cancelled_tds(struct xhci_virt_ep *ep);
drivers/usb/host/xhci.h
2006
xhci_get_endpoint_index(&urb->ep->desc),
drivers/usb/host/xhci.h
2017
if (!usb_endpoint_xfer_isoc(&urb->ep->desc) && usb_urb_dir_out(urb) &&
drivers/usb/host/xhci.h
2018
usb_endpoint_maxp(&urb->ep->desc) >= TRB_IDT_MAX_SIZE &&
drivers/usb/host/xhci.h
2490
u8 ep;
drivers/usb/host/xhci.h
2494
ep = (doorbell & 0xff);
drivers/usb/host/xhci.h
2502
if (ep > 0 && ep < 32)
drivers/usb/host/xhci.h
2504
ep / 2,
drivers/usb/host/xhci.h
2505
ep % 2 ? "in" : "out");
drivers/usb/host/xhci.h
2506
else if (ep == 0 || ep < 248)
drivers/usb/host/xhci.h
2507
ret = sprintf(str + ret, "Reserved %d", ep);
drivers/usb/host/xhci.h
2509
ret = sprintf(str + ret, "Vendor Defined %d", ep);
drivers/usb/host/xhci.h
302
#define DB_VALUE(ep, stream) ((((ep) + 1) & 0xff) | ((stream) << 16))
drivers/usb/isp1760/isp1760-hcd.c
1933
qh = urb->ep->hcpriv;
drivers/usb/isp1760/isp1760-hcd.c
1953
urb->ep->hcpriv = qh;
drivers/usb/isp1760/isp1760-hcd.c
2045
qh = urb->ep->hcpriv;
drivers/usb/isp1760/isp1760-hcd.c
2067
struct usb_host_endpoint *ep)
drivers/usb/isp1760/isp1760-hcd.c
2076
qh = ep->hcpriv;
drivers/usb/isp1760/isp1760-hcd.c
2090
ep->hcpriv = NULL;
drivers/usb/isp1760/isp1760-hcd.c
2486
struct usb_host_endpoint *ep)
drivers/usb/isp1760/isp1760-hcd.c
2489
struct isp1760_qh *qh = ep->hcpriv;
drivers/usb/isp1760/isp1760-udc.c
1058
static int isp1760_ep_set_halt(struct usb_ep *ep, int value)
drivers/usb/isp1760/isp1760-udc.c
1060
struct isp1760_ep *uep = ep_to_udc_ep(ep);
drivers/usb/isp1760/isp1760-udc.c
1074
static int isp1760_ep_set_wedge(struct usb_ep *ep)
drivers/usb/isp1760/isp1760-udc.c
1076
struct isp1760_ep *uep = ep_to_udc_ep(ep);
drivers/usb/isp1760/isp1760-udc.c
1090
static void isp1760_ep_fifo_flush(struct usb_ep *ep)
drivers/usb/isp1760/isp1760-udc.c
1092
struct isp1760_ep *uep = ep_to_udc_ep(ep);
drivers/usb/isp1760/isp1760-udc.c
116
return &udc->ep[0];
drivers/usb/isp1760/isp1760-udc.c
118
for (i = 1; i < ARRAY_SIZE(udc->ep); ++i) {
drivers/usb/isp1760/isp1760-udc.c
119
if (udc->ep[i].addr == index)
drivers/usb/isp1760/isp1760-udc.c
120
return udc->ep[i].desc ? &udc->ep[i] : NULL;
drivers/usb/isp1760/isp1760-udc.c
127
struct isp1760_ep *ep, int dir)
drivers/usb/isp1760/isp1760-udc.c
129
isp1760_udc_write(udc, DC_ENDPIDX, ep->addr & USB_ENDPOINT_NUMBER_MASK);
drivers/usb/isp1760/isp1760-udc.c
1381
struct isp1760_ep *ep = &udc->ep[i*2];
drivers/usb/isp1760/isp1760-udc.c
1385
isp1760_ep_tx_complete(ep);
drivers/usb/isp1760/isp1760-udc.c
1390
isp1760_ep_rx_ready(i ? ep - 1 : ep);
drivers/usb/isp1760/isp1760-udc.c
1450
for (i = 0; i < ARRAY_SIZE(udc->ep); ++i) {
drivers/usb/isp1760/isp1760-udc.c
1451
struct isp1760_ep *ep = &udc->ep[i];
drivers/usb/isp1760/isp1760-udc.c
1455
ep->udc = udc;
drivers/usb/isp1760/isp1760-udc.c
1457
INIT_LIST_HEAD(&ep->queue);
drivers/usb/isp1760/isp1760-udc.c
1459
ep->addr = (ep_num && is_in ? USB_DIR_IN : USB_DIR_OUT)
drivers/usb/isp1760/isp1760-udc.c
1461
ep->desc = NULL;
drivers/usb/isp1760/isp1760-udc.c
1463
sprintf(ep->name, "ep%u%s", ep_num,
drivers/usb/isp1760/isp1760-udc.c
1466
ep->ep.ops = &isp1760_ep_ops;
drivers/usb/isp1760/isp1760-udc.c
1467
ep->ep.name = ep->name;
drivers/usb/isp1760/isp1760-udc.c
1475
usb_ep_set_maxpacket_limit(&ep->ep, 64);
drivers/usb/isp1760/isp1760-udc.c
1476
ep->ep.caps.type_control = true;
drivers/usb/isp1760/isp1760-udc.c
1477
ep->ep.caps.dir_in = true;
drivers/usb/isp1760/isp1760-udc.c
1478
ep->ep.caps.dir_out = true;
drivers/usb/isp1760/isp1760-udc.c
1479
ep->maxpacket = 64;
drivers/usb/isp1760/isp1760-udc.c
1480
udc->gadget.ep0 = &ep->ep;
drivers/usb/isp1760/isp1760-udc.c
1482
usb_ep_set_maxpacket_limit(&ep->ep, 512);
drivers/usb/isp1760/isp1760-udc.c
1483
ep->ep.caps.type_iso = true;
drivers/usb/isp1760/isp1760-udc.c
1484
ep->ep.caps.type_bulk = true;
drivers/usb/isp1760/isp1760-udc.c
1485
ep->ep.caps.type_int = true;
drivers/usb/isp1760/isp1760-udc.c
1486
ep->maxpacket = 0;
drivers/usb/isp1760/isp1760-udc.c
1487
list_add_tail(&ep->ep.ep_list, &udc->gadget.ep_list);
drivers/usb/isp1760/isp1760-udc.c
1491
ep->ep.caps.dir_in = true;
drivers/usb/isp1760/isp1760-udc.c
1493
ep->ep.caps.dir_out = true;
drivers/usb/isp1760/isp1760-udc.c
150
struct isp1760_ep *ep)
drivers/usb/isp1760/isp1760-udc.c
152
__isp1760_udc_select_ep(udc, ep, ep->addr & USB_ENDPOINT_DIR_MASK);
drivers/usb/isp1760/isp1760-udc.c
156
static void isp1760_udc_ctrl_send_status(struct isp1760_ep *ep, int dir)
drivers/usb/isp1760/isp1760-udc.c
158
struct isp1760_udc *udc = ep->udc;
drivers/usb/isp1760/isp1760-udc.c
181
static void isp1760_udc_request_complete(struct isp1760_ep *ep,
drivers/usb/isp1760/isp1760-udc.c
185
struct isp1760_udc *udc = ep->udc;
drivers/usb/isp1760/isp1760-udc.c
188
dev_dbg(ep->udc->isp->dev, "completing request %p with status %d\n",
drivers/usb/isp1760/isp1760-udc.c
191
req->ep = NULL;
drivers/usb/isp1760/isp1760-udc.c
193
req->req.complete(&ep->ep, &req->req);
drivers/usb/isp1760/isp1760-udc.c
202
if (status == 0 && ep->addr == 0 && udc->ep0_dir == USB_DIR_OUT)
drivers/usb/isp1760/isp1760-udc.c
203
isp1760_udc_ctrl_send_status(ep, USB_DIR_OUT);
drivers/usb/isp1760/isp1760-udc.c
208
static void isp1760_udc_ctrl_send_stall(struct isp1760_ep *ep)
drivers/usb/isp1760/isp1760-udc.c
210
struct isp1760_udc *udc = ep->udc;
drivers/usb/isp1760/isp1760-udc.c
213
dev_dbg(ep->udc->isp->dev, "%s(ep%02x)\n", __func__, ep->addr);
drivers/usb/isp1760/isp1760-udc.c
218
__isp1760_udc_select_ep(udc, ep, USB_DIR_OUT);
drivers/usb/isp1760/isp1760-udc.c
220
__isp1760_udc_select_ep(udc, ep, USB_DIR_IN);
drivers/usb/isp1760/isp1760-udc.c
234
static bool isp1760_udc_receive(struct isp1760_ep *ep,
drivers/usb/isp1760/isp1760-udc.c
237
struct isp1760_udc *udc = ep->udc;
drivers/usb/isp1760/isp1760-udc.c
242
isp1760_udc_select_ep(udc, ep);
drivers/usb/isp1760/isp1760-udc.c
283
__func__, req, req->req.actual, req->req.length, ep->maxpacket,
drivers/usb/isp1760/isp1760-udc.c
286
ep->rx_pending = false;
drivers/usb/isp1760/isp1760-udc.c
292
if (req->req.actual == req->req.length || len < ep->maxpacket) {
drivers/usb/isp1760/isp1760-udc.c
300
static void isp1760_udc_transmit(struct isp1760_ep *ep,
drivers/usb/isp1760/isp1760-udc.c
303
struct isp1760_udc *udc = ep->udc;
drivers/usb/isp1760/isp1760-udc.c
308
ep->maxpacket);
drivers/usb/isp1760/isp1760-udc.c
31
struct isp1760_ep *ep;
drivers/usb/isp1760/isp1760-udc.c
314
__isp1760_udc_select_ep(udc, ep, USB_DIR_IN);
drivers/usb/isp1760/isp1760-udc.c
330
if (ep->addr == 0)
drivers/usb/isp1760/isp1760-udc.c
336
static void isp1760_ep_rx_ready(struct isp1760_ep *ep)
drivers/usb/isp1760/isp1760-udc.c
338
struct isp1760_udc *udc = ep->udc;
drivers/usb/isp1760/isp1760-udc.c
344
if (ep->addr == 0 && udc->ep0_state != ISP1760_CTRL_DATA_OUT) {
drivers/usb/isp1760/isp1760-udc.c
351
if (ep->addr != 0 && !ep->desc) {
drivers/usb/isp1760/isp1760-udc.c
354
ep->addr);
drivers/usb/isp1760/isp1760-udc.c
358
if (list_empty(&ep->queue)) {
drivers/usb/isp1760/isp1760-udc.c
359
ep->rx_pending = true;
drivers/usb/isp1760/isp1760-udc.c
362
__func__, ep->addr, ep);
drivers/usb/isp1760/isp1760-udc.c
366
req = list_first_entry(&ep->queue, struct isp1760_request,
drivers/usb/isp1760/isp1760-udc.c
368
complete = isp1760_udc_receive(ep, req);
drivers/usb/isp1760/isp1760-udc.c
373
isp1760_udc_request_complete(ep, req, 0);
drivers/usb/isp1760/isp1760-udc.c
376
static void isp1760_ep_tx_complete(struct isp1760_ep *ep)
drivers/usb/isp1760/isp1760-udc.c
378
struct isp1760_udc *udc = ep->udc;
drivers/usb/isp1760/isp1760-udc.c
385
if (ep->addr == 0 && udc->ep0_state != ISP1760_CTRL_DATA_IN) {
drivers/usb/isp1760/isp1760-udc.c
392
if (list_empty(&ep->queue)) {
drivers/usb/isp1760/isp1760-udc.c
398
if (ep->addr == 0) {
drivers/usb/isp1760/isp1760-udc.c
399
isp1760_udc_ctrl_send_status(ep, USB_DIR_IN);
drivers/usb/isp1760/isp1760-udc.c
40
static inline struct isp1760_ep *ep_to_udc_ep(struct usb_ep *ep)
drivers/usb/isp1760/isp1760-udc.c
406
__func__, ep->addr);
drivers/usb/isp1760/isp1760-udc.c
410
req = list_first_entry(&ep->queue, struct isp1760_request,
drivers/usb/isp1760/isp1760-udc.c
415
!(req->req.length % ep->maxpacket) &&
drivers/usb/isp1760/isp1760-udc.c
42
return container_of(ep, struct isp1760_ep, ep);
drivers/usb/isp1760/isp1760-udc.c
420
req, req->req.actual, req->req.length, ep->maxpacket,
drivers/usb/isp1760/isp1760-udc.c
431
if (ep->addr == 0)
drivers/usb/isp1760/isp1760-udc.c
432
isp1760_udc_ctrl_send_status(ep, USB_DIR_IN);
drivers/usb/isp1760/isp1760-udc.c
434
if (!list_empty(&ep->queue))
drivers/usb/isp1760/isp1760-udc.c
435
req = list_first_entry(&ep->queue,
drivers/usb/isp1760/isp1760-udc.c
448
isp1760_udc_transmit(ep, req);
drivers/usb/isp1760/isp1760-udc.c
453
isp1760_udc_request_complete(ep, complete, 0);
drivers/usb/isp1760/isp1760-udc.c
456
static int __isp1760_udc_set_halt(struct isp1760_ep *ep, bool halt)
drivers/usb/isp1760/isp1760-udc.c
458
struct isp1760_udc *udc = ep->udc;
drivers/usb/isp1760/isp1760-udc.c
461
halt ? "set" : "clear", ep->addr);
drivers/usb/isp1760/isp1760-udc.c
463
if (ep->desc && usb_endpoint_xfer_isoc(ep->desc)) {
drivers/usb/isp1760/isp1760-udc.c
465
ep->addr);
drivers/usb/isp1760/isp1760-udc.c
469
isp1760_udc_select_ep(udc, ep);
drivers/usb/isp1760/isp1760-udc.c
476
if (ep->addr == 0) {
drivers/usb/isp1760/isp1760-udc.c
478
__isp1760_udc_select_ep(udc, ep, USB_DIR_IN);
drivers/usb/isp1760/isp1760-udc.c
495
if ((ep->addr & USB_DIR_IN) && !list_empty(&ep->queue)) {
drivers/usb/isp1760/isp1760-udc.c
498
req = list_first_entry(&ep->queue,
drivers/usb/isp1760/isp1760-udc.c
500
isp1760_udc_transmit(ep, req);
drivers/usb/isp1760/isp1760-udc.c
504
ep->halted = halt;
drivers/usb/isp1760/isp1760-udc.c
516
struct isp1760_ep *ep;
drivers/usb/isp1760/isp1760-udc.c
532
ep = isp1760_udc_find_ep(udc, le16_to_cpu(req->wIndex));
drivers/usb/isp1760/isp1760-udc.c
533
if (!ep)
drivers/usb/isp1760/isp1760-udc.c
537
if (ep->halted)
drivers/usb/isp1760/isp1760-udc.c
580
isp1760_udc_ctrl_send_status(&udc->ep[0], USB_DIR_OUT);
drivers/usb/isp1760/isp1760-udc.c
604
struct isp1760_ep *ep;
drivers/usb/isp1760/isp1760-udc.c
610
ep = isp1760_udc_find_ep(udc, index);
drivers/usb/isp1760/isp1760-udc.c
611
if (!ep)
drivers/usb/isp1760/isp1760-udc.c
621
if (!ep->wedged)
drivers/usb/isp1760/isp1760-udc.c
622
stall = __isp1760_udc_set_halt(ep, false);
drivers/usb/isp1760/isp1760-udc.c
627
isp1760_udc_ctrl_send_status(&udc->ep[0],
drivers/usb/isp1760/isp1760-udc.c
648
struct isp1760_ep *ep;
drivers/usb/isp1760/isp1760-udc.c
654
ep = isp1760_udc_find_ep(udc, index);
drivers/usb/isp1760/isp1760-udc.c
655
if (!ep)
drivers/usb/isp1760/isp1760-udc.c
660
stall = __isp1760_udc_set_halt(ep, true);
drivers/usb/isp1760/isp1760-udc.c
662
isp1760_udc_ctrl_send_status(&udc->ep[0],
drivers/usb/isp1760/isp1760-udc.c
728
isp1760_udc_ctrl_send_stall(&udc->ep[0]);
drivers/usb/isp1760/isp1760-udc.c
766
isp1760_udc_ctrl_send_stall(&udc->ep[0]);
drivers/usb/isp1760/isp1760-udc.c
773
static int isp1760_ep_enable(struct usb_ep *ep,
drivers/usb/isp1760/isp1760-udc.c
776
struct isp1760_ep *uep = ep_to_udc_ep(ep);
drivers/usb/isp1760/isp1760-udc.c
790
le16_to_cpu(desc->wMaxPacketSize) > ep->maxpacket) {
drivers/usb/isp1760/isp1760-udc.c
795
le16_to_cpu(desc->wMaxPacketSize), ep->maxpacket);
drivers/usb/isp1760/isp1760-udc.c
837
static int isp1760_ep_disable(struct usb_ep *ep)
drivers/usb/isp1760/isp1760-udc.c
839
struct isp1760_ep *uep = ep_to_udc_ep(ep);
drivers/usb/isp1760/isp1760-udc.c
876
static struct usb_request *isp1760_ep_alloc_request(struct usb_ep *ep,
drivers/usb/isp1760/isp1760-udc.c
888
static void isp1760_ep_free_request(struct usb_ep *ep, struct usb_request *_req)
drivers/usb/isp1760/isp1760-udc.c
895
static int isp1760_ep_queue(struct usb_ep *ep, struct usb_request *_req,
drivers/usb/isp1760/isp1760-udc.c
899
struct isp1760_ep *uep = ep_to_udc_ep(ep);
drivers/usb/isp1760/isp1760-udc.c
914
req->ep = uep;
drivers/usb/isp1760/isp1760-udc.c
968
req->ep = NULL;
drivers/usb/isp1760/isp1760-udc.c
978
static int isp1760_ep_dequeue(struct usb_ep *ep, struct usb_request *_req)
drivers/usb/isp1760/isp1760-udc.c
981
struct isp1760_ep *uep = ep_to_udc_ep(ep);
drivers/usb/isp1760/isp1760-udc.c
989
if (req->ep != uep)
drivers/usb/isp1760/isp1760-udc.h
36
struct usb_ep ep;
drivers/usb/isp1760/isp1760-udc.h
80
struct isp1760_ep ep[15];
drivers/usb/misc/sisusbvga/sisusbvga.c
315
static int sisusb_send_bulk_msg(struct sisusb_usb_data *sisusb, int ep, int len,
drivers/usb/misc/sisusbvga/sisusbvga.c
345
pipe = usb_sndbulkpipe(sisusb->sisusb_dev, ep);
drivers/usb/misc/sisusbvga/sisusbvga.c
436
static int sisusb_recv_bulk_msg(struct sisusb_usb_data *sisusb, int ep, int len,
drivers/usb/misc/sisusbvga/sisusbvga.c
451
pipe = usb_rcvbulkpipe(sisusb->sisusb_dev, ep);
drivers/usb/misc/usbtest.c
153
unsigned ep;
drivers/usb/misc/usbtest.c
1629
static int verify_not_halted(struct usbtest_dev *tdev, int ep, struct urb *urb)
drivers/usb/misc/usbtest.c
1635
retval = usb_get_std_status(urb->dev, USB_RECIP_ENDPOINT, ep, &status);
drivers/usb/misc/usbtest.c
1638
ep, retval);
drivers/usb/misc/usbtest.c
1642
ERROR(tdev, "ep %02x bogus status: %04x != 0\n", ep, status);
drivers/usb/misc/usbtest.c
1651
static int verify_halted(struct usbtest_dev *tdev, int ep, struct urb *urb)
drivers/usb/misc/usbtest.c
1657
retval = usb_get_std_status(urb->dev, USB_RECIP_ENDPOINT, ep, &status);
drivers/usb/misc/usbtest.c
1660
ep, retval);
drivers/usb/misc/usbtest.c
1664
ERROR(tdev, "ep %02x bogus status: %04x != 1\n", ep, status);
drivers/usb/misc/usbtest.c
167
for (ep = 0; ep < alt->desc.bNumEndpoints; ep++) {
drivers/usb/misc/usbtest.c
1676
static int test_halt(struct usbtest_dev *tdev, int ep, struct urb *urb)
drivers/usb/misc/usbtest.c
1681
retval = verify_not_halted(tdev, ep, urb);
drivers/usb/misc/usbtest.c
1688
USB_ENDPOINT_HALT, ep,
drivers/usb/misc/usbtest.c
1691
ERROR(tdev, "ep %02x couldn't set halt, %d\n", ep, retval);
drivers/usb/misc/usbtest.c
1694
retval = verify_halted(tdev, ep, urb);
drivers/usb/misc/usbtest.c
1702
ep, ret);
drivers/usb/misc/usbtest.c
171
e = alt->endpoint + ep;
drivers/usb/misc/usbtest.c
1710
ERROR(tdev, "ep %02x couldn't clear halt, %d\n", ep, retval);
drivers/usb/misc/usbtest.c
1713
retval = verify_not_halted(tdev, ep, urb);
drivers/usb/misc/usbtest.c
1722
static int test_toggle_sync(struct usbtest_dev *tdev, int ep, struct urb *urb)
drivers/usb/misc/usbtest.c
1729
ERROR(tdev, "ep %02x couldn't clear halt, %d\n", ep, retval);
drivers/usb/misc/usbtest.c
1741
ERROR(tdev, "ep %02x couldn't clear halt, %d\n", ep, retval);
drivers/usb/misc/usbtest.c
1753
int ep;
drivers/usb/misc/usbtest.c
1766
ep = usb_pipeendpoint(dev->in_pipe) | USB_DIR_IN;
drivers/usb/misc/usbtest.c
1768
retval = test_halt(dev, ep, urb);
drivers/usb/misc/usbtest.c
1774
ep = usb_pipeendpoint(dev->out_pipe);
drivers/usb/misc/usbtest.c
1776
retval = test_halt(dev, ep, urb);
drivers/usb/misc/usbtest.c
1785
int ep;
drivers/usb/misc/usbtest.c
1802
ep = usb_pipeendpoint(dev->out_pipe);
drivers/usb/misc/usbtest.c
1804
retval = test_toggle_sync(dev, ep, urb);
drivers/usb/misc/usbtest.c
344
struct usb_host_endpoint *ep;
drivers/usb/misc/usbtest.c
346
ep = usb_pipe_endpoint(udev, pipe);
drivers/usb/misc/usbtest.c
347
return le16_to_cpup(&ep->desc.wMaxPacketSize);
drivers/usb/misc/usbtest.c
352
struct usb_host_endpoint *ep = usb_pipe_endpoint(udev, pipe);
drivers/usb/misc/usbtest.c
354
return USB_SS_MULT(ep->ss_ep_comp.bmAttributes)
drivers/usb/misc/usbtest.c
355
* (1 + ep->ss_ep_comp.bMaxBurst);
drivers/usb/mon/mon_bin.c
1005
ep = MON_OFF2HDR(rp, rp->b_out);
drivers/usb/mon/mon_bin.c
1006
ret = ep->len_cap;
drivers/usb/mon/mon_bin.c
390
struct mon_bin_hdr *ep;
drivers/usb/mon/mon_bin.c
392
ep = MON_OFF2HDR(rp, offset);
drivers/usb/mon/mon_bin.c
393
memset(ep, 0, PKT_SIZE);
drivers/usb/mon/mon_bin.c
394
ep->type = '@';
drivers/usb/mon/mon_bin.c
395
ep->len_cap = size - PKT_SIZE;
drivers/usb/mon/mon_bin.c
493
const struct usb_endpoint_descriptor *epd = &urb->ep->desc;
drivers/usb/mon/mon_bin.c
502
struct mon_bin_hdr *ep;
drivers/usb/mon/mon_bin.c
565
ep = MON_OFF2HDR(rp, offset);
drivers/usb/mon/mon_bin.c
571
memset(ep, 0, PKT_SIZE);
drivers/usb/mon/mon_bin.c
572
ep->type = ev_type;
drivers/usb/mon/mon_bin.c
573
ep->xfer_type = xfer_to_pipe[usb_endpoint_type(epd)];
drivers/usb/mon/mon_bin.c
574
ep->epnum = dir | usb_endpoint_num(epd);
drivers/usb/mon/mon_bin.c
575
ep->devnum = urb->dev->devnum;
drivers/usb/mon/mon_bin.c
576
ep->busnum = urb->dev->bus->busnum;
drivers/usb/mon/mon_bin.c
577
ep->id = (unsigned long) urb;
drivers/usb/mon/mon_bin.c
578
ep->ts_sec = ts.tv_sec;
drivers/usb/mon/mon_bin.c
579
ep->ts_usec = ts.tv_nsec / NSEC_PER_USEC;
drivers/usb/mon/mon_bin.c
580
ep->status = status;
drivers/usb/mon/mon_bin.c
581
ep->len_urb = urb_length;
drivers/usb/mon/mon_bin.c
582
ep->len_cap = length + lendesc;
drivers/usb/mon/mon_bin.c
583
ep->xfer_flags = urb->transfer_flags;
drivers/usb/mon/mon_bin.c
586
ep->interval = urb->interval;
drivers/usb/mon/mon_bin.c
588
ep->interval = urb->interval;
drivers/usb/mon/mon_bin.c
589
ep->start_frame = urb->start_frame;
drivers/usb/mon/mon_bin.c
590
ep->s.iso.error_count = urb->error_count;
drivers/usb/mon/mon_bin.c
591
ep->s.iso.numdesc = urb->number_of_packets;
drivers/usb/mon/mon_bin.c
595
ep->flag_setup = mon_bin_get_setup(ep->s.setup, urb, ev_type);
drivers/usb/mon/mon_bin.c
597
ep->flag_setup = '-';
drivers/usb/mon/mon_bin.c
601
ep->ndesc = ndesc;
drivers/usb/mon/mon_bin.c
609
&ep->flag_data);
drivers/usb/mon/mon_bin.c
611
delta = (ep->len_cap + PKT_ALIGN-1) & ~(PKT_ALIGN-1);
drivers/usb/mon/mon_bin.c
612
ep->len_cap -= length;
drivers/usb/mon/mon_bin.c
613
delta -= (ep->len_cap + PKT_ALIGN-1) & ~(PKT_ALIGN-1);
drivers/usb/mon/mon_bin.c
617
ep->flag_data = data_tag;
drivers/usb/mon/mon_bin.c
643
struct mon_bin_hdr *ep;
drivers/usb/mon/mon_bin.c
656
ep = MON_OFF2HDR(rp, offset);
drivers/usb/mon/mon_bin.c
658
memset(ep, 0, PKT_SIZE);
drivers/usb/mon/mon_bin.c
659
ep->type = 'E';
drivers/usb/mon/mon_bin.c
660
ep->xfer_type = xfer_to_pipe[usb_endpoint_type(&urb->ep->desc)];
drivers/usb/mon/mon_bin.c
661
ep->epnum = usb_urb_dir_in(urb) ? USB_DIR_IN : 0;
drivers/usb/mon/mon_bin.c
662
ep->epnum |= usb_endpoint_num(&urb->ep->desc);
drivers/usb/mon/mon_bin.c
663
ep->devnum = urb->dev->devnum;
drivers/usb/mon/mon_bin.c
664
ep->busnum = urb->dev->bus->busnum;
drivers/usb/mon/mon_bin.c
665
ep->id = (unsigned long) urb;
drivers/usb/mon/mon_bin.c
666
ep->ts_sec = ts.tv_sec;
drivers/usb/mon/mon_bin.c
667
ep->ts_usec = ts.tv_nsec / NSEC_PER_USEC;
drivers/usb/mon/mon_bin.c
668
ep->status = error;
drivers/usb/mon/mon_bin.c
670
ep->flag_setup = '-';
drivers/usb/mon/mon_bin.c
671
ep->flag_data = 'E';
drivers/usb/mon/mon_bin.c
747
struct mon_bin_hdr *ep;
drivers/usb/mon/mon_bin.c
759
ep = MON_OFF2HDR(rp, rp->b_out);
drivers/usb/mon/mon_bin.c
761
if (copy_to_user(hdr, ep, hdrbytes)) {
drivers/usb/mon/mon_bin.c
766
step_len = min(ep->len_cap, nbytes);
drivers/usb/mon/mon_bin.c
775
mon_buff_area_free(rp, PKT_SIZE + ep->len_cap);
drivers/usb/mon/mon_bin.c
811
struct mon_bin_hdr *ep;
drivers/usb/mon/mon_bin.c
825
ep = MON_OFF2HDR(rp, rp->b_out);
drivers/usb/mon/mon_bin.c
829
ptr = ((char *)ep) + rp->b_read;
drivers/usb/mon/mon_bin.c
841
step_len = ep->len_cap;
drivers/usb/mon/mon_bin.c
862
if (rp->b_read >= hdrbytes + ep->len_cap) {
drivers/usb/mon/mon_bin.c
864
mon_buff_area_free(rp, PKT_SIZE + ep->len_cap);
drivers/usb/mon/mon_bin.c
880
struct mon_bin_hdr *ep;
drivers/usb/mon/mon_bin.c
889
ep = MON_OFF2HDR(rp, rp->b_out);
drivers/usb/mon/mon_bin.c
890
mon_buff_area_free(rp, PKT_SIZE + ep->len_cap);
drivers/usb/mon/mon_bin.c
910
struct mon_bin_hdr *ep;
drivers/usb/mon/mon_bin.c
932
ep = MON_OFF2HDR(rp, cur_out);
drivers/usb/mon/mon_bin.c
939
size = ep->len_cap + PKT_SIZE;
drivers/usb/mon/mon_bin.c
960
struct mon_bin_hdr *ep;
drivers/usb/mon/mon_bin.c
973
ep = MON_OFF2HDR(rp, cur_out);
drivers/usb/mon/mon_bin.c
976
size = ep->len_cap + PKT_SIZE;
drivers/usb/mon/mon_bin.c
994
struct mon_bin_hdr *ep;
drivers/usb/mon/mon_text.c
108
struct mon_text_ptr *p, const struct mon_event_text *ep);
drivers/usb/mon/mon_text.c
110
struct mon_text_ptr *p, const struct mon_event_text *ep);
drivers/usb/mon/mon_text.c
112
struct mon_text_ptr *p, const struct mon_event_text *ep);
drivers/usb/mon/mon_text.c
114
struct mon_text_ptr *p, const struct mon_event_text *ep);
drivers/usb/mon/mon_text.c
116
struct mon_text_ptr *p, const struct mon_event_text *ep);
drivers/usb/mon/mon_text.c
118
struct mon_text_ptr *p, const struct mon_event_text *ep);
drivers/usb/mon/mon_text.c
120
struct mon_text_ptr *p, const struct mon_event_text *ep);
drivers/usb/mon/mon_text.c
131
static inline char mon_text_get_setup(struct mon_event_text *ep,
drivers/usb/mon/mon_text.c
135
if (ep->xfertype != USB_ENDPOINT_XFER_CONTROL || ev_type != 'S')
drivers/usb/mon/mon_text.c
141
memcpy(ep->setup, urb->setup_packet, SETUP_MAX);
drivers/usb/mon/mon_text.c
145
static inline char mon_text_get_data(struct mon_event_text *ep, struct urb *urb,
drivers/usb/mon/mon_text.c
155
if (ep->is_in) {
drivers/usb/mon/mon_text.c
178
memcpy(ep->data, src, len);
drivers/usb/mon/mon_text.c
196
struct mon_event_text *ep;
drivers/usb/mon/mon_text.c
205
(ep = kmem_cache_alloc(rp->e_slab, GFP_ATOMIC)) == NULL) {
drivers/usb/mon/mon_text.c
210
ep->type = ev_type;
drivers/usb/mon/mon_text.c
211
ep->id = (unsigned long) urb;
drivers/usb/mon/mon_text.c
212
ep->busnum = urb->dev->bus->busnum;
drivers/usb/mon/mon_text.c
213
ep->devnum = urb->dev->devnum;
drivers/usb/mon/mon_text.c
214
ep->epnum = usb_endpoint_num(&urb->ep->desc);
drivers/usb/mon/mon_text.c
215
ep->xfertype = usb_endpoint_type(&urb->ep->desc);
drivers/usb/mon/mon_text.c
216
ep->is_in = usb_urb_dir_in(urb);
drivers/usb/mon/mon_text.c
217
ep->tstamp = stamp;
drivers/usb/mon/mon_text.c
218
ep->length = (ev_type == 'S') ?
drivers/usb/mon/mon_text.c
221
ep->status = status;
drivers/usb/mon/mon_text.c
223
if (ep->xfertype == USB_ENDPOINT_XFER_INT) {
drivers/usb/mon/mon_text.c
224
ep->interval = urb->interval;
drivers/usb/mon/mon_text.c
225
} else if (ep->xfertype == USB_ENDPOINT_XFER_ISOC) {
drivers/usb/mon/mon_text.c
226
ep->interval = urb->interval;
drivers/usb/mon/mon_text.c
227
ep->start_frame = urb->start_frame;
drivers/usb/mon/mon_text.c
228
ep->error_count = urb->error_count;
drivers/usb/mon/mon_text.c
230
ep->numdesc = urb->number_of_packets;
drivers/usb/mon/mon_text.c
231
if (ep->xfertype == USB_ENDPOINT_XFER_ISOC &&
drivers/usb/mon/mon_text.c
236
dp = ep->isodesc;
drivers/usb/mon/mon_text.c
247
ep->length = urb->transfer_buffer_length;
drivers/usb/mon/mon_text.c
250
ep->setup_flag = mon_text_get_setup(ep, urb, ev_type, rp->r.m_bus);
drivers/usb/mon/mon_text.c
251
ep->data_flag = mon_text_get_data(ep, urb, ep->length, ev_type,
drivers/usb/mon/mon_text.c
255
list_add_tail(&ep->e_link, &rp->e_list);
drivers/usb/mon/mon_text.c
274
struct mon_event_text *ep;
drivers/usb/mon/mon_text.c
277
(ep = kmem_cache_alloc(rp->e_slab, GFP_ATOMIC)) == NULL) {
drivers/usb/mon/mon_text.c
282
ep->type = 'E';
drivers/usb/mon/mon_text.c
283
ep->id = (unsigned long) urb;
drivers/usb/mon/mon_text.c
284
ep->busnum = urb->dev->bus->busnum;
drivers/usb/mon/mon_text.c
285
ep->devnum = urb->dev->devnum;
drivers/usb/mon/mon_text.c
286
ep->epnum = usb_endpoint_num(&urb->ep->desc);
drivers/usb/mon/mon_text.c
287
ep->xfertype = usb_endpoint_type(&urb->ep->desc);
drivers/usb/mon/mon_text.c
288
ep->is_in = usb_urb_dir_in(urb);
drivers/usb/mon/mon_text.c
289
ep->tstamp = mon_get_timestamp();
drivers/usb/mon/mon_text.c
290
ep->length = 0;
drivers/usb/mon/mon_text.c
291
ep->status = error;
drivers/usb/mon/mon_text.c
293
ep->setup_flag = '-';
drivers/usb/mon/mon_text.c
294
ep->data_flag = 'E';
drivers/usb/mon/mon_text.c
297
list_add_tail(&ep->e_link, &rp->e_list);
drivers/usb/mon/mon_text.c
398
struct mon_event_text *ep;
drivers/usb/mon/mon_text.c
406
ep = mon_text_read_wait(rp, file);
drivers/usb/mon/mon_text.c
407
if (IS_ERR(ep)) {
drivers/usb/mon/mon_text.c
409
return PTR_ERR(ep);
drivers/usb/mon/mon_text.c
415
mon_text_read_head_t(rp, &ptr, ep);
drivers/usb/mon/mon_text.c
416
mon_text_read_statset(rp, &ptr, ep);
drivers/usb/mon/mon_text.c
418
" %d", ep->length);
drivers/usb/mon/mon_text.c
419
mon_text_read_data(rp, &ptr, ep);
drivers/usb/mon/mon_text.c
424
kmem_cache_free(rp->e_slab, ep);
drivers/usb/mon/mon_text.c
437
struct mon_event_text *ep;
drivers/usb/mon/mon_text.c
445
ep = mon_text_read_wait(rp, file);
drivers/usb/mon/mon_text.c
446
if (IS_ERR(ep)) {
drivers/usb/mon/mon_text.c
448
return PTR_ERR(ep);
drivers/usb/mon/mon_text.c
454
mon_text_read_head_u(rp, &ptr, ep);
drivers/usb/mon/mon_text.c
455
if (ep->type == 'E') {
drivers/usb/mon/mon_text.c
456
mon_text_read_statset(rp, &ptr, ep);
drivers/usb/mon/mon_text.c
457
} else if (ep->xfertype == USB_ENDPOINT_XFER_ISOC) {
drivers/usb/mon/mon_text.c
458
mon_text_read_isostat(rp, &ptr, ep);
drivers/usb/mon/mon_text.c
459
mon_text_read_isodesc(rp, &ptr, ep);
drivers/usb/mon/mon_text.c
460
} else if (ep->xfertype == USB_ENDPOINT_XFER_INT) {
drivers/usb/mon/mon_text.c
461
mon_text_read_intstat(rp, &ptr, ep);
drivers/usb/mon/mon_text.c
463
mon_text_read_statset(rp, &ptr, ep);
drivers/usb/mon/mon_text.c
466
" %d", ep->length);
drivers/usb/mon/mon_text.c
467
mon_text_read_data(rp, &ptr, ep);
drivers/usb/mon/mon_text.c
472
kmem_cache_free(rp->e_slab, ep);
drivers/usb/mon/mon_text.c
485
struct mon_event_text *ep;
drivers/usb/mon/mon_text.c
489
while ((ep = mon_text_fetch(rp, mbus)) == NULL) {
drivers/usb/mon/mon_text.c
508
return ep;
drivers/usb/mon/mon_text.c
512
struct mon_text_ptr *p, const struct mon_event_text *ep)
drivers/usb/mon/mon_text.c
516
udir = (ep->is_in ? 'i' : 'o');
drivers/usb/mon/mon_text.c
517
switch (ep->xfertype) {
drivers/usb/mon/mon_text.c
525
ep->id, ep->tstamp, ep->type,
drivers/usb/mon/mon_text.c
526
utype, udir, ep->devnum, ep->epnum);
drivers/usb/mon/mon_text.c
530
struct mon_text_ptr *p, const struct mon_event_text *ep)
drivers/usb/mon/mon_text.c
534
udir = (ep->is_in ? 'i' : 'o');
drivers/usb/mon/mon_text.c
535
switch (ep->xfertype) {
drivers/usb/mon/mon_text.c
543
ep->id, ep->tstamp, ep->type,
drivers/usb/mon/mon_text.c
544
utype, udir, ep->busnum, ep->devnum, ep->epnum);
drivers/usb/mon/mon_text.c
548
struct mon_text_ptr *p, const struct mon_event_text *ep)
drivers/usb/mon/mon_text.c
551
if (ep->setup_flag == 0) { /* Setup packet is present and captured */
drivers/usb/mon/mon_text.c
554
ep->setup[0],
drivers/usb/mon/mon_text.c
555
ep->setup[1],
drivers/usb/mon/mon_text.c
556
(ep->setup[3] << 8) | ep->setup[2],
drivers/usb/mon/mon_text.c
557
(ep->setup[5] << 8) | ep->setup[4],
drivers/usb/mon/mon_text.c
558
(ep->setup[7] << 8) | ep->setup[6]);
drivers/usb/mon/mon_text.c
559
} else if (ep->setup_flag != '-') { /* Unable to capture setup packet */
drivers/usb/mon/mon_text.c
561
" %c __ __ ____ ____ ____", ep->setup_flag);
drivers/usb/mon/mon_text.c
564
" %d", ep->status);
drivers/usb/mon/mon_text.c
569
struct mon_text_ptr *p, const struct mon_event_text *ep)
drivers/usb/mon/mon_text.c
572
" %d:%d", ep->status, ep->interval);
drivers/usb/mon/mon_text.c
576
struct mon_text_ptr *p, const struct mon_event_text *ep)
drivers/usb/mon/mon_text.c
578
if (ep->type == 'S') {
drivers/usb/mon/mon_text.c
580
" %d:%d:%d", ep->status, ep->interval, ep->start_frame);
drivers/usb/mon/mon_text.c
584
ep->status, ep->interval, ep->start_frame, ep->error_count);
drivers/usb/mon/mon_text.c
589
struct mon_text_ptr *p, const struct mon_event_text *ep)
drivers/usb/mon/mon_text.c
596
" %d", ep->numdesc);
drivers/usb/mon/mon_text.c
597
ndesc = ep->numdesc;
drivers/usb/mon/mon_text.c
602
dp = ep->isodesc;
drivers/usb/mon/mon_text.c
611
struct mon_text_ptr *p, const struct mon_event_text *ep)
drivers/usb/mon/mon_text.c
615
if ((data_len = ep->length) > 0) {
drivers/usb/mon/mon_text.c
616
if (ep->data_flag == 0) {
drivers/usb/mon/mon_text.c
629
"%02x", ep->data[i]);
drivers/usb/mon/mon_text.c
635
" %c\n", ep->data_flag);
drivers/usb/mon/mon_text.c
648
struct mon_event_text *ep;
drivers/usb/mon/mon_text.c
670
ep = list_entry(p, struct mon_event_text, e_link);
drivers/usb/mon/mon_text.c
673
kmem_cache_free(rp->e_slab, ep);
drivers/usb/mtu3/mtu3.h
283
struct usb_ep ep;
drivers/usb/mtu3/mtu3.h
388
static inline struct mtu3_ep *to_mtu3_ep(struct usb_ep *ep)
drivers/usb/mtu3/mtu3.h
390
return ep ? container_of(ep, struct mtu3_ep, ep) : NULL;
drivers/usb/mtu3/mtu3.h
426
struct usb_request *mtu3_alloc_request(struct usb_ep *ep, gfp_t gfp_flags);
drivers/usb/mtu3/mtu3.h
427
void mtu3_free_request(struct usb_ep *ep, struct usb_request *req);
drivers/usb/mtu3/mtu3_gadget.c
111
mep->ep.maxpacket = mep->maxp;
drivers/usb/mtu3/mtu3_gadget.c
112
mep->ep.desc = desc;
drivers/usb/mtu3/mtu3_gadget.c
113
mep->ep.comp_desc = comp_desc;
drivers/usb/mtu3/mtu3_gadget.c
144
mep->ep.desc = NULL;
drivers/usb/mtu3/mtu3_gadget.c
152
static int mtu3_gadget_ep_enable(struct usb_ep *ep,
drivers/usb/mtu3/mtu3_gadget.c
160
if (!ep || !desc || desc->bDescriptorType != USB_DT_ENDPOINT) {
drivers/usb/mtu3/mtu3_gadget.c
169
mep = to_mtu3_ep(ep);
drivers/usb/mtu3/mtu3_gadget.c
179
dev_dbg(mtu->dev, "%s %s\n", __func__, ep->name);
drivers/usb/mtu3/mtu3_gadget.c
189
mep->comp_desc = ep->comp_desc;
drivers/usb/mtu3/mtu3_gadget.c
207
static int mtu3_gadget_ep_disable(struct usb_ep *ep)
drivers/usb/mtu3/mtu3_gadget.c
209
struct mtu3_ep *mep = to_mtu3_ep(ep);
drivers/usb/mtu3/mtu3_gadget.c
233
struct usb_request *mtu3_alloc_request(struct usb_ep *ep, gfp_t gfp_flags)
drivers/usb/mtu3/mtu3_gadget.c
235
struct mtu3_ep *mep = to_mtu3_ep(ep);
drivers/usb/mtu3/mtu3_gadget.c
251
void mtu3_free_request(struct usb_ep *ep, struct usb_request *req)
drivers/usb/mtu3/mtu3_gadget.c
259
static int mtu3_gadget_queue(struct usb_ep *ep,
drivers/usb/mtu3/mtu3_gadget.c
262
struct mtu3_ep *mep = to_mtu3_ep(ep);
drivers/usb/mtu3/mtu3_gadget.c
275
__func__, mep->is_in ? "TX" : "RX", mreq->epnum, ep->name,
drivers/usb/mtu3/mtu3_gadget.c
276
mreq, ep->maxpacket, mreq->request.length);
drivers/usb/mtu3/mtu3_gadget.c
290
req, ep->name);
drivers/usb/mtu3/mtu3_gadget.c
322
static int mtu3_gadget_dequeue(struct usb_ep *ep, struct usb_request *req)
drivers/usb/mtu3/mtu3_gadget.c
324
struct mtu3_ep *mep = to_mtu3_ep(ep);
drivers/usb/mtu3/mtu3_gadget.c
344
dev_dbg(mtu->dev, "req=%p not queued to %s\n", req, ep->name);
drivers/usb/mtu3/mtu3_gadget.c
36
usb_gadget_giveback_request(&mep->ep, req);
drivers/usb/mtu3/mtu3_gadget.c
363
static int mtu3_gadget_ep_set_halt(struct usb_ep *ep, int value)
drivers/usb/mtu3/mtu3_gadget.c
365
struct mtu3_ep *mep = to_mtu3_ep(ep);
drivers/usb/mtu3/mtu3_gadget.c
371
dev_dbg(mtu->dev, "%s : %s...", __func__, ep->name);
drivers/usb/mtu3/mtu3_gadget.c
389
ep->name);
drivers/usb/mtu3/mtu3_gadget.c
397
dev_dbg(mtu->dev, "%s %s stall\n", ep->name, value ? "set" : "clear");
drivers/usb/mtu3/mtu3_gadget.c
409
static int mtu3_gadget_ep_set_wedge(struct usb_ep *ep)
drivers/usb/mtu3/mtu3_gadget.c
411
struct mtu3_ep *mep = to_mtu3_ep(ep);
drivers/usb/mtu3/mtu3_gadget.c
415
return usb_ep_set_halt(ep);
drivers/usb/mtu3/mtu3_gadget.c
659
mep->ep.name = mep->name;
drivers/usb/mtu3/mtu3_gadget.c
660
INIT_LIST_HEAD(&mep->ep.ep_list);
drivers/usb/mtu3/mtu3_gadget.c
664
usb_ep_set_maxpacket_limit(&mep->ep, 512);
drivers/usb/mtu3/mtu3_gadget.c
665
mep->ep.caps.type_control = true;
drivers/usb/mtu3/mtu3_gadget.c
666
mep->ep.ops = &mtu3_ep0_ops;
drivers/usb/mtu3/mtu3_gadget.c
667
mtu->g.ep0 = &mep->ep;
drivers/usb/mtu3/mtu3_gadget.c
669
usb_ep_set_maxpacket_limit(&mep->ep, 1024);
drivers/usb/mtu3/mtu3_gadget.c
670
mep->ep.caps.type_iso = true;
drivers/usb/mtu3/mtu3_gadget.c
671
mep->ep.caps.type_bulk = true;
drivers/usb/mtu3/mtu3_gadget.c
672
mep->ep.caps.type_int = true;
drivers/usb/mtu3/mtu3_gadget.c
673
mep->ep.ops = &mtu3_ep_ops;
drivers/usb/mtu3/mtu3_gadget.c
674
list_add_tail(&mep->ep.ep_list, &mtu->g.ep_list);
drivers/usb/mtu3/mtu3_gadget.c
677
dev_dbg(mtu->dev, "%s, name=%s, maxp=%d\n", __func__, mep->ep.name,
drivers/usb/mtu3/mtu3_gadget.c
678
mep->ep.maxpacket);
drivers/usb/mtu3/mtu3_gadget.c
681
mep->ep.caps.dir_in = true;
drivers/usb/mtu3/mtu3_gadget.c
682
mep->ep.caps.dir_out = true;
drivers/usb/mtu3/mtu3_gadget.c
684
mep->ep.caps.dir_in = true;
drivers/usb/mtu3/mtu3_gadget.c
686
mep->ep.caps.dir_out = true;
drivers/usb/mtu3/mtu3_gadget_ep0.c
167
static void ep0_dummy_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/mtu3/mtu3_gadget_ep0.c
170
static void ep0_set_sel_complete(struct usb_ep *ep, struct usb_request *req)
drivers/usb/mtu3/mtu3_gadget_ep0.c
781
static int mtu3_ep0_enable(struct usb_ep *ep,
drivers/usb/mtu3/mtu3_gadget_ep0.c
788
static int mtu3_ep0_disable(struct usb_ep *ep)
drivers/usb/mtu3/mtu3_gadget_ep0.c
836
static int mtu3_ep0_queue(struct usb_ep *ep,
drivers/usb/mtu3/mtu3_gadget_ep0.c
845
if (!ep || !req)
drivers/usb/mtu3/mtu3_gadget_ep0.c
848
mep = to_mtu3_ep(ep);
drivers/usb/mtu3/mtu3_gadget_ep0.c
858
static int mtu3_ep0_dequeue(struct usb_ep *ep, struct usb_request *req)
drivers/usb/mtu3/mtu3_gadget_ep0.c
864
static int mtu3_ep0_halt(struct usb_ep *ep, int value)
drivers/usb/mtu3/mtu3_gadget_ep0.c
871
if (!ep || !value)
drivers/usb/mtu3/mtu3_gadget_ep0.c
874
mep = to_mtu3_ep(ep);
drivers/usb/mtu3/mtu3_trace.h
232
__entry->maxp = mep->ep.maxpacket;
drivers/usb/mtu3/mtu3_trace.h
233
__entry->mult = mep->ep.mult;
drivers/usb/mtu3/mtu3_trace.h
234
__entry->maxburst = mep->ep.maxburst;
drivers/usb/musb/musb_core.c
1113
struct musb_hw_ep *ep;
drivers/usb/musb/musb_core.c
1122
ep = musb->endpoints;
drivers/usb/musb/musb_core.c
1125
epnum++, ep++) {
drivers/usb/musb/musb_core.c
1130
if (ep->dwWaitFrame >= frame) {
drivers/usb/musb/musb_core.c
1131
ep->dwWaitFrame = 0;
drivers/usb/musb/musb_core.c
1133
ep->tx_channel ? " DMA" : "",
drivers/usb/musb/musb_core.c
1135
if (!ep->tx_channel)
drivers/usb/musb/musb_core.c
2143
struct musb_hw_ep *ep;
drivers/usb/musb/musb_core.c
2163
for (epnum = 0, ep = musb->endpoints;
drivers/usb/musb/musb_core.c
2165
epnum++, ep++) {
drivers/usb/musb/musb_core.c
2166
ep->musb = musb;
drivers/usb/musb/musb_core.c
2167
ep->epnum = epnum;
drivers/usb/musb/musb_core.h
496
extern void musb_write_fifo(struct musb_hw_ep *ep, u16 len, const u8 *src);
drivers/usb/musb/musb_core.h
497
extern void musb_read_fifo(struct musb_hw_ep *ep, u16 len, u8 *dst);
drivers/usb/musb/musb_cppi41.c
329
static u32 update_ep_mode(unsigned ep, unsigned mode, u32 old)
drivers/usb/musb/musb_cppi41.c
333
shift = (ep - 1) * 2;
drivers/usb/musb/musb_gadget.c
1085
static int musb_gadget_disable(struct usb_ep *ep)
drivers/usb/musb/musb_gadget.c
1093
musb_ep = to_musb_ep(ep);
drivers/usb/musb/musb_gadget.c
1131
struct usb_request *musb_alloc_request(struct usb_ep *ep, gfp_t gfp_flags)
drivers/usb/musb/musb_gadget.c
1133
struct musb_ep *musb_ep = to_musb_ep(ep);
drivers/usb/musb/musb_gadget.c
1142
request->ep = musb_ep;
drivers/usb/musb/musb_gadget.c
1152
void musb_free_request(struct usb_ep *ep, struct usb_request *req)
drivers/usb/musb/musb_gadget.c
1166
void __iomem *epio = req->ep->hw_ep->regs;
drivers/usb/musb/musb_gadget.c
1189
static int musb_gadget_queue(struct usb_ep *ep, struct usb_request *req,
drivers/usb/musb/musb_gadget.c
1198
if (!ep || !req)
drivers/usb/musb/musb_gadget.c
1203
musb_ep = to_musb_ep(ep);
drivers/usb/musb/musb_gadget.c
1209
if (request->ep != musb_ep)
drivers/usb/musb/musb_gadget.c
1238
req, ep->name, "disabled");
drivers/usb/musb/musb_gadget.c
124
struct musb_ep *ep,
drivers/usb/musb/musb_gadget.c
1266
static int musb_gadget_dequeue(struct usb_ep *ep, struct usb_request *request)
drivers/usb/musb/musb_gadget.c
1268
struct musb_ep *musb_ep = to_musb_ep(ep);
drivers/usb/musb/musb_gadget.c
127
__releases(ep->musb->lock)
drivers/usb/musb/musb_gadget.c
1275
if (!ep || !request || req->ep != musb_ep)
drivers/usb/musb/musb_gadget.c
128
__acquires(ep->musb->lock)
drivers/usb/musb/musb_gadget.c
1288
request, ep->name);
drivers/usb/musb/musb_gadget.c
132
int busy = ep->busy;
drivers/usb/musb/musb_gadget.c
1326
static int musb_gadget_set_halt(struct usb_ep *ep, int value)
drivers/usb/musb/musb_gadget.c
1328
struct musb_ep *musb_ep = to_musb_ep(ep);
drivers/usb/musb/musb_gadget.c
1338
if (!ep)
drivers/usb/musb/musb_gadget.c
1355
ep->name);
drivers/usb/musb/musb_gadget.c
1364
ep->name);
drivers/usb/musb/musb_gadget.c
1373
musb_dbg(musb, "%s: %s stall", ep->name, value ? "set" : "clear");
drivers/usb/musb/musb_gadget.c
141
ep->busy = 1;
drivers/usb/musb/musb_gadget.c
1412
static int musb_gadget_set_wedge(struct usb_ep *ep)
drivers/usb/musb/musb_gadget.c
1414
struct musb_ep *musb_ep = to_musb_ep(ep);
drivers/usb/musb/musb_gadget.c
1416
if (!ep)
drivers/usb/musb/musb_gadget.c
1421
return usb_ep_set_halt(ep);
drivers/usb/musb/musb_gadget.c
1424
static int musb_gadget_fifo_status(struct usb_ep *ep)
drivers/usb/musb/musb_gadget.c
1426
struct musb_ep *musb_ep = to_musb_ep(ep);
drivers/usb/musb/musb_gadget.c
1447
static void musb_gadget_fifo_flush(struct usb_ep *ep)
drivers/usb/musb/musb_gadget.c
1449
struct musb_ep *musb_ep = to_musb_ep(ep);
drivers/usb/musb/musb_gadget.c
148
usb_gadget_giveback_request(&req->ep->end_point, &req->request);
drivers/usb/musb/musb_gadget.c
150
ep->busy = busy;
drivers/usb/musb/musb_gadget.c
159
static void nuke(struct musb_ep *ep, const int status)
drivers/usb/musb/musb_gadget.c
161
struct musb *musb = ep->musb;
drivers/usb/musb/musb_gadget.c
163
void __iomem *epio = ep->musb->endpoints[ep->current_epnum].regs;
drivers/usb/musb/musb_gadget.c
165
ep->busy = 1;
drivers/usb/musb/musb_gadget.c
167
if (is_dma_capable() && ep->dma) {
drivers/usb/musb/musb_gadget.c
168
struct dma_controller *c = ep->musb->dma_controller;
drivers/usb/musb/musb_gadget.c
1692
init_peripheral_ep(struct musb *musb, struct musb_ep *ep, u8 epnum, int is_in)
drivers/usb/musb/musb_gadget.c
1696
memset(ep, 0, sizeof *ep);
drivers/usb/musb/musb_gadget.c
1698
ep->current_epnum = epnum;
drivers/usb/musb/musb_gadget.c
1699
ep->musb = musb;
drivers/usb/musb/musb_gadget.c
1700
ep->hw_ep = hw_ep;
drivers/usb/musb/musb_gadget.c
1701
ep->is_in = is_in;
drivers/usb/musb/musb_gadget.c
1703
INIT_LIST_HEAD(&ep->req_list);
drivers/usb/musb/musb_gadget.c
1705
sprintf(ep->name, "ep%d%s", epnum,
drivers/usb/musb/musb_gadget.c
1708
ep->end_point.name = ep->name;
drivers/usb/musb/musb_gadget.c
1709
INIT_LIST_HEAD(&ep->end_point.ep_list);
drivers/usb/musb/musb_gadget.c
171
if (ep->is_in) {
drivers/usb/musb/musb_gadget.c
1711
usb_ep_set_maxpacket_limit(&ep->end_point, 64);
drivers/usb/musb/musb_gadget.c
1712
ep->end_point.caps.type_control = true;
drivers/usb/musb/musb_gadget.c
1713
ep->end_point.ops = &musb_g_ep0_ops;
drivers/usb/musb/musb_gadget.c
1714
musb->g.ep0 = &ep->end_point;
drivers/usb/musb/musb_gadget.c
1717
usb_ep_set_maxpacket_limit(&ep->end_point, hw_ep->max_packet_sz_tx);
drivers/usb/musb/musb_gadget.c
1719
usb_ep_set_maxpacket_limit(&ep->end_point, hw_ep->max_packet_sz_rx);
drivers/usb/musb/musb_gadget.c
1720
ep->end_point.caps.type_iso = true;
drivers/usb/musb/musb_gadget.c
1721
ep->end_point.caps.type_bulk = true;
drivers/usb/musb/musb_gadget.c
1722
ep->end_point.caps.type_int = true;
drivers/usb/musb/musb_gadget.c
1723
ep->end_point.ops = &musb_ep_ops;
drivers/usb/musb/musb_gadget.c
1724
list_add_tail(&ep->end_point.ep_list, &musb->g.ep_list);
drivers/usb/musb/musb_gadget.c
1728
ep->end_point.caps.dir_in = true;
drivers/usb/musb/musb_gadget.c
1729
ep->end_point.caps.dir_out = true;
drivers/usb/musb/musb_gadget.c
1731
ep->end_point.caps.dir_in = true;
drivers/usb/musb/musb_gadget.c
1733
ep->end_point.caps.dir_out = true;
drivers/usb/musb/musb_gadget.c
188
value = c->channel_abort(ep->dma);
drivers/usb/musb/musb_gadget.c
189
musb_dbg(musb, "%s: abort DMA --> %d", ep->name, value);
drivers/usb/musb/musb_gadget.c
190
c->channel_release(ep->dma);
drivers/usb/musb/musb_gadget.c
191
ep->dma = NULL;
drivers/usb/musb/musb_gadget.c
194
while (!list_empty(&ep->req_list)) {
drivers/usb/musb/musb_gadget.c
195
req = list_first_entry(&ep->req_list, struct musb_request, list);
drivers/usb/musb/musb_gadget.c
196
musb_g_giveback(ep, &req->request, status);
drivers/usb/musb/musb_gadget.c
209
static inline int max_ep_writesize(struct musb *musb, struct musb_ep *ep)
drivers/usb/musb/musb_gadget.c
211
if (can_bulk_split(musb, ep->type))
drivers/usb/musb/musb_gadget.c
212
return ep->hw_ep->max_packet_sz_tx;
drivers/usb/musb/musb_gadget.c
214
return ep->packet_sz;
drivers/usb/musb/musb_gadget.c
233
musb_ep = req->ep;
drivers/usb/musb/musb_gadget.c
87
struct musb_ep *musb_ep = request->ep;
drivers/usb/musb/musb_gadget.c
909
static int musb_gadget_enable(struct usb_ep *ep,
drivers/usb/musb/musb_gadget.c
923
if (!ep || !desc)
drivers/usb/musb/musb_gadget.c
926
musb_ep = to_musb_ep(ep);
drivers/usb/musb/musb_gadget.h
101
static inline struct musb_request *next_request(struct musb_ep *ep)
drivers/usb/musb/musb_gadget.h
103
struct list_head *queue = &ep->req_list;
drivers/usb/musb/musb_gadget.h
56
struct musb_ep *ep;
drivers/usb/musb/musb_gadget.h
66
musb_alloc_request(struct usb_ep *ep, gfp_t gfp_flags);
drivers/usb/musb/musb_gadget.h
67
extern void musb_free_request(struct usb_ep *ep, struct usb_request *req);
drivers/usb/musb/musb_gadget.h
99
#define to_musb_ep(ep) container_of((ep), struct musb_ep, end_point)
drivers/usb/musb/musb_gadget_ep0.c
1002
ep = to_musb_ep(e);
drivers/usb/musb/musb_gadget_ep0.c
1003
musb = ep->musb;
drivers/usb/musb/musb_gadget_ep0.c
101
ep = &musb->endpoints[epnum].ep_out;
drivers/usb/musb/musb_gadget_ep0.c
1010
if (!list_empty(&ep->req_list)) {
drivers/usb/musb/musb_gadget_ep0.c
104
if (!ep->desc) {
drivers/usb/musb/musb_gadget_ep0.c
239
struct musb_hw_ep *ep;
drivers/usb/musb/musb_gadget_ep0.c
249
ep = musb->endpoints + epnum;
drivers/usb/musb/musb_gadget_ep0.c
250
regs = ep->regs;
drivers/usb/musb/musb_gadget_ep0.c
253
musb_ep = &ep->ep_in;
drivers/usb/musb/musb_gadget_ep0.c
255
musb_ep = &ep->ep_out;
drivers/usb/musb/musb_gadget_ep0.c
400
struct musb_hw_ep *ep;
drivers/usb/musb/musb_gadget_ep0.c
409
ep = musb->endpoints + epnum;
drivers/usb/musb/musb_gadget_ep0.c
410
regs = ep->regs;
drivers/usb/musb/musb_gadget_ep0.c
413
musb_ep = &ep->ep_in;
drivers/usb/musb/musb_gadget_ep0.c
415
musb_ep = &ep->ep_out;
drivers/usb/musb/musb_gadget_ep0.c
81
struct musb_ep *ep;
drivers/usb/musb/musb_gadget_ep0.c
890
musb_g_ep0_enable(struct usb_ep *ep, const struct usb_endpoint_descriptor *desc)
drivers/usb/musb/musb_gadget_ep0.c
905
struct musb_ep *ep;
drivers/usb/musb/musb_gadget_ep0.c
915
ep = to_musb_ep(e);
drivers/usb/musb/musb_gadget_ep0.c
916
musb = ep->musb;
drivers/usb/musb/musb_gadget_ep0.c
923
req->tx = ep->is_in;
drivers/usb/musb/musb_gadget_ep0.c
927
if (!list_empty(&ep->req_list)) {
drivers/usb/musb/musb_gadget_ep0.c
946
list_add_tail(&req->list, &ep->req_list);
drivers/usb/musb/musb_gadget_ep0.c
949
ep->name, ep->is_in ? "IN/TX" : "OUT/RX",
drivers/usb/musb/musb_gadget_ep0.c
967
musb_g_ep0_giveback(ep->musb, r);
drivers/usb/musb/musb_gadget_ep0.c
984
static int musb_g_ep0_dequeue(struct usb_ep *ep, struct usb_request *req)
drivers/usb/musb/musb_gadget_ep0.c
99
ep = &musb->endpoints[epnum].ep_in;
drivers/usb/musb/musb_gadget_ep0.c
992
struct musb_ep *ep;
drivers/usb/musb/musb_host.c
116
ep->epnum, csr))
drivers/usb/musb/musb_host.c
122
static void musb_h_ep0_flush_fifo(struct musb_hw_ep *ep)
drivers/usb/musb/musb_host.c
124
void __iomem *epio = ep->regs;
drivers/usb/musb/musb_host.c
139
ep->epnum, csr);
drivers/usb/musb/musb_host.c
149
static inline void musb_h_tx_start(struct musb_hw_ep *ep)
drivers/usb/musb/musb_host.c
154
if (ep->epnum) {
drivers/usb/musb/musb_host.c
155
txcsr = musb_readw(ep->regs, MUSB_TXCSR);
drivers/usb/musb/musb_host.c
157
musb_writew(ep->regs, MUSB_TXCSR, txcsr);
drivers/usb/musb/musb_host.c
160
musb_writew(ep->regs, MUSB_CSR0, txcsr);
drivers/usb/musb/musb_host.c
165
static inline void musb_h_tx_dma_start(struct musb_hw_ep *ep)
drivers/usb/musb/musb_host.c
170
txcsr = musb_readw(ep->regs, MUSB_TXCSR);
drivers/usb/musb/musb_host.c
172
if (is_cppi_enabled(ep->musb))
drivers/usb/musb/musb_host.c
174
musb_writew(ep->regs, MUSB_TXCSR, txcsr);
drivers/usb/musb/musb_host.c
177
static void musb_ep_set_qh(struct musb_hw_ep *ep, int is_in, struct musb_qh *qh)
drivers/usb/musb/musb_host.c
179
if (is_in != 0 || ep->is_shared_fifo)
drivers/usb/musb/musb_host.c
180
ep->in_qh = qh;
drivers/usb/musb/musb_host.c
181
if (is_in == 0 || ep->is_shared_fifo)
drivers/usb/musb/musb_host.c
182
ep->out_qh = qh;
drivers/usb/musb/musb_host.c
185
static struct musb_qh *musb_ep_get_qh(struct musb_hw_ep *ep, int is_in)
drivers/usb/musb/musb_host.c
187
return is_in ? ep->in_qh : ep->out_qh;
drivers/usb/musb/musb_host.c
2120
struct usb_host_endpoint *hep = urb->ep;
drivers/usb/musb/musb_host.c
2310
struct musb_hw_ep *ep = qh->hw_ep;
drivers/usb/musb/musb_host.c
2311
struct musb *musb = ep->musb;
drivers/usb/musb/musb_host.c
2312
void __iomem *epio = ep->regs;
drivers/usb/musb/musb_host.c
2313
unsigned hw_end = ep->epnum;
drivers/usb/musb/musb_host.c
2314
void __iomem *regs = ep->musb->mregs;
drivers/usb/musb/musb_host.c
2323
dma = is_in ? ep->rx_channel : ep->tx_channel;
drivers/usb/musb/musb_host.c
2325
status = ep->musb->dma_controller->channel_abort(dma);
drivers/usb/musb/musb_host.c
2327
is_in ? 'R' : 'T', ep->epnum,
drivers/usb/musb/musb_host.c
2334
if (ep->epnum && is_in) {
drivers/usb/musb/musb_host.c
2336
csr = musb_h_flush_rxfifo(ep, 0);
drivers/usb/musb/musb_host.c
2340
musb_platform_clear_ep_rxintr(musb, ep->epnum);
drivers/usb/musb/musb_host.c
2341
} else if (ep->epnum) {
drivers/usb/musb/musb_host.c
2342
musb_h_tx_flush_fifo(ep);
drivers/usb/musb/musb_host.c
2356
musb_h_ep0_flush_fifo(ep);
drivers/usb/musb/musb_host.c
2359
musb_advance_schedule(ep->musb, urb, ep, is_in);
drivers/usb/musb/musb_host.c
301
struct musb_hw_ep *ep = qh->hw_ep;
drivers/usb/musb/musb_host.c
339
ep->rx_reinit = 1;
drivers/usb/musb/musb_host.c
340
if (ep->rx_channel) {
drivers/usb/musb/musb_host.c
341
dma->channel_release(ep->rx_channel);
drivers/usb/musb/musb_host.c
342
ep->rx_channel = NULL;
drivers/usb/musb/musb_host.c
345
ep->tx_reinit = 1;
drivers/usb/musb/musb_host.c
346
if (ep->tx_channel) {
drivers/usb/musb/musb_host.c
347
dma->channel_release(ep->tx_channel);
drivers/usb/musb/musb_host.c
348
ep->tx_channel = NULL;
drivers/usb/musb/musb_host.c
353
musb_ep_set_qh(ep, is_in, NULL);
drivers/usb/musb/musb_host.c
517
struct musb_hw_ep *ep = musb->endpoints + epnum;
drivers/usb/musb/musb_host.c
526
if (ep->is_shared_fifo) {
drivers/usb/musb/musb_host.c
527
csr = musb_readw(ep->regs, MUSB_TXCSR);
drivers/usb/musb/musb_host.c
529
musb_h_tx_flush_fifo(ep);
drivers/usb/musb/musb_host.c
530
csr = musb_readw(ep->regs, MUSB_TXCSR);
drivers/usb/musb/musb_host.c
531
musb_writew(ep->regs, MUSB_TXCSR,
drivers/usb/musb/musb_host.c
540
musb_writew(ep->regs, MUSB_TXCSR, MUSB_TXCSR_DMAMODE);
drivers/usb/musb/musb_host.c
541
musb_writew(ep->regs, MUSB_TXCSR, 0);
drivers/usb/musb/musb_host.c
545
csr = musb_readw(ep->regs, MUSB_RXCSR);
drivers/usb/musb/musb_host.c
547
WARNING("rx%d, packet/%d ready?\n", ep->epnum,
drivers/usb/musb/musb_host.c
548
musb_readw(ep->regs, MUSB_RXCOUNT));
drivers/usb/musb/musb_host.c
550
musb_h_flush_rxfifo(ep, MUSB_RXCSR_CLRDATATOG);
drivers/usb/musb/musb_host.c
561
musb_writeb(ep->regs, MUSB_RXTYPE, qh->type_reg);
drivers/usb/musb/musb_host.c
562
musb_writeb(ep->regs, MUSB_RXINTERVAL, qh->intv_reg);
drivers/usb/musb/musb_host.c
567
musb_writew(ep->regs, MUSB_RXMAXP,
drivers/usb/musb/musb_host.c
570
ep->rx_reinit = 0;
drivers/usb/musb/musb_host.c
87
static void musb_h_tx_flush_fifo(struct musb_hw_ep *ep)
drivers/usb/musb/musb_host.c
89
struct musb *musb = ep->musb;
drivers/usb/musb/musb_host.c
899
static void musb_bulk_nak_timeout(struct musb *musb, struct musb_hw_ep *ep,
drivers/usb/musb/musb_host.c
90
void __iomem *epio = ep->regs;
drivers/usb/musb/musb_host.c
905
void __iomem *epio = ep->regs;
drivers/usb/musb/musb_host.c
910
musb_ep_select(mbase, ep->epnum);
drivers/usb/musb/musb_host.c
912
dma = is_dma_capable() ? ep->rx_channel : NULL;
drivers/usb/musb/musb_host.c
928
dma = is_dma_capable() ? ep->tx_channel : NULL;
drivers/usb/musb/musb_host.c
957
ep->rx_reinit = 1;
drivers/usb/musb/musb_host.c
966
ep->tx_reinit = 1;
drivers/usb/musb/tusb6010.h
201
#define TUSB_EP_FIFO(ep) (TUSB_FIFO_BASE + (ep) * 0x20)
drivers/usb/renesas_usbhs/mod_gadget.c
1142
uep->ep.name = uep->ep_name;
drivers/usb/renesas_usbhs/mod_gadget.c
1143
uep->ep.ops = &usbhsg_ep_ops;
drivers/usb/renesas_usbhs/mod_gadget.c
1144
INIT_LIST_HEAD(&uep->ep.ep_list);
drivers/usb/renesas_usbhs/mod_gadget.c
1149
gpriv->gadget.ep0 = &uep->ep;
drivers/usb/renesas_usbhs/mod_gadget.c
1150
usb_ep_set_maxpacket_limit(&uep->ep, 64);
drivers/usb/renesas_usbhs/mod_gadget.c
1151
uep->ep.caps.type_control = true;
drivers/usb/renesas_usbhs/mod_gadget.c
1155
uep->ep.caps.type_iso = true;
drivers/usb/renesas_usbhs/mod_gadget.c
1157
uep->ep.caps.type_bulk = true;
drivers/usb/renesas_usbhs/mod_gadget.c
1159
uep->ep.caps.type_int = true;
drivers/usb/renesas_usbhs/mod_gadget.c
1160
usb_ep_set_maxpacket_limit(&uep->ep,
drivers/usb/renesas_usbhs/mod_gadget.c
1162
list_add_tail(&uep->ep.ep_list, &gpriv->gadget.ep_list);
drivers/usb/renesas_usbhs/mod_gadget.c
1164
uep->ep.caps.dir_in = true;
drivers/usb/renesas_usbhs/mod_gadget.c
1165
uep->ep.caps.dir_out = true;
drivers/usb/renesas_usbhs/mod_gadget.c
132
usb_gadget_giveback_request(&uep->ep, &ureq->req);
drivers/usb/renesas_usbhs/mod_gadget.c
30
struct usb_ep ep;
drivers/usb/renesas_usbhs/mod_gadget.c
301
static void __usbhsg_recip_send_complete(struct usb_ep *ep,
drivers/usb/renesas_usbhs/mod_gadget.c
308
usb_ep_free_request(ep, req);
drivers/usb/renesas_usbhs/mod_gadget.c
321
req = usb_ep_alloc_request(&dcp->ep, GFP_ATOMIC);
drivers/usb/renesas_usbhs/mod_gadget.c
330
usb_ep_free_request(&dcp->ep, req);
drivers/usb/renesas_usbhs/mod_gadget.c
579
static int usbhsg_ep_enable(struct usb_ep *ep,
drivers/usb/renesas_usbhs/mod_gadget.c
582
struct usbhsg_uep *uep = usbhsg_ep_to_uep(ep);
drivers/usb/renesas_usbhs/mod_gadget.c
636
static int usbhsg_ep_disable(struct usb_ep *ep)
drivers/usb/renesas_usbhs/mod_gadget.c
638
struct usbhsg_uep *uep = usbhsg_ep_to_uep(ep);
drivers/usb/renesas_usbhs/mod_gadget.c
659
static struct usb_request *usbhsg_ep_alloc_request(struct usb_ep *ep,
drivers/usb/renesas_usbhs/mod_gadget.c
673
static void usbhsg_ep_free_request(struct usb_ep *ep,
drivers/usb/renesas_usbhs/mod_gadget.c
682
static int usbhsg_ep_queue(struct usb_ep *ep, struct usb_request *req,
drivers/usb/renesas_usbhs/mod_gadget.c
685
struct usbhsg_uep *uep = usbhsg_ep_to_uep(ep);
drivers/usb/renesas_usbhs/mod_gadget.c
701
static int usbhsg_ep_dequeue(struct usb_ep *ep, struct usb_request *req)
drivers/usb/renesas_usbhs/mod_gadget.c
703
struct usbhsg_uep *uep = usbhsg_ep_to_uep(ep);
drivers/usb/renesas_usbhs/mod_gadget.c
723
static int __usbhsg_ep_set_halt_wedge(struct usb_ep *ep, int halt, int wedge)
drivers/usb/renesas_usbhs/mod_gadget.c
725
struct usbhsg_uep *uep = usbhsg_ep_to_uep(ep);
drivers/usb/renesas_usbhs/mod_gadget.c
768
static int usbhsg_ep_set_halt(struct usb_ep *ep, int value)
drivers/usb/renesas_usbhs/mod_gadget.c
770
return __usbhsg_ep_set_halt_wedge(ep, value, 0);
drivers/usb/renesas_usbhs/mod_gadget.c
773
static int usbhsg_ep_set_wedge(struct usb_ep *ep)
drivers/usb/renesas_usbhs/mod_gadget.c
775
return __usbhsg_ep_set_halt_wedge(ep, 1, 1);
drivers/usb/renesas_usbhs/mod_gadget.c
914
usbhsg_ep_disable(&uep->ep);
drivers/usb/renesas_usbhs/mod_gadget.c
93
#define usbhsg_ep_to_uep(e) container_of(e, struct usbhsg_uep, ep)
drivers/usb/renesas_usbhs/mod_host.c
1020
usbhsh_endpoint_detach(hpriv, ep);
drivers/usb/renesas_usbhs/mod_host.c
1048
struct usb_host_endpoint *ep)
drivers/usb/renesas_usbhs/mod_host.c
1050
struct usbhsh_ep *uep = usbhsh_ep_to_uep(ep);
drivers/usb/renesas_usbhs/mod_host.c
1064
usbhsh_endpoint_detach(hpriv, ep);
drivers/usb/renesas_usbhs/mod_host.c
126
#define usbhsh_uep_to_ep(u) ((u)->ep)
drivers/usb/renesas_usbhs/mod_host.c
204
int maxp = usb_endpoint_maxp(&urb->ep->desc);
drivers/usb/renesas_usbhs/mod_host.c
248
struct usbhsh_ep *uep = usbhsh_ep_to_uep(urb->ep);
drivers/usb/renesas_usbhs/mod_host.c
251
struct usb_endpoint_descriptor *desc = &urb->ep->desc;
drivers/usb/renesas_usbhs/mod_host.c
345
struct usb_host_endpoint *ep = usbhsh_uep_to_ep(uep);
drivers/usb/renesas_usbhs/mod_host.c
354
usb_endpoint_num(&ep->desc),
drivers/usb/renesas_usbhs/mod_host.c
371
struct usb_host_endpoint *ep = urb->ep;
drivers/usb/renesas_usbhs/mod_host.c
374
struct usb_endpoint_descriptor *desc = &ep->desc;
drivers/usb/renesas_usbhs/mod_host.c
392
usbhsh_uep_to_ep(uep) = ep;
drivers/usb/renesas_usbhs/mod_host.c
393
usbhsh_ep_to_uep(ep) = uep;
drivers/usb/renesas_usbhs/mod_host.c
406
struct usb_host_endpoint *ep)
drivers/usb/renesas_usbhs/mod_host.c
410
struct usbhsh_ep *uep = usbhsh_ep_to_uep(ep);
drivers/usb/renesas_usbhs/mod_host.c
418
usb_endpoint_num(&ep->desc));
drivers/usb/renesas_usbhs/mod_host.c
431
usbhsh_ep_to_uep(ep) = NULL;
drivers/usb/renesas_usbhs/mod_host.c
653
usbhsh_pipe_detach(hpriv, usbhsh_ep_to_uep(urb->ep));
drivers/usb/renesas_usbhs/mod_host.c
664
struct usbhsh_ep *uep = usbhsh_ep_to_uep(urb->ep);
drivers/usb/renesas_usbhs/mod_host.c
77
struct usb_host_endpoint *ep;
drivers/usb/renesas_usbhs/mod_host.c
870
struct usbhsh_ep *uep = usbhsh_ep_to_uep(urb->ep);
drivers/usb/renesas_usbhs/mod_host.c
955
struct usb_host_endpoint *ep = urb->ep;
drivers/usb/renesas_usbhs/mod_host.c
991
if (!usbhsh_ep_to_uep(ep)) {
drivers/usb/serial/io_edgeport.c
493
static int get_epic_descriptor(struct edgeport_serial *ep)
drivers/usb/serial/io_edgeport.c
496
struct usb_serial *serial = ep->serial;
drivers/usb/serial/io_edgeport.c
497
struct edgeport_product_info *product_info = &ep->product_info;
drivers/usb/serial/io_edgeport.c
502
ep->is_epic = 0;
drivers/usb/serial/io_edgeport.c
514
ep->is_epic = 1;
drivers/usb/serial/io_edgeport.c
515
memcpy(&ep->epic_descriptor, epic, sizeof(*epic));
drivers/usb/serial/io_edgeport.c
527
dump_product_info(ep, product_info);
drivers/usb/serial/io_edgeport.c
529
bits = &ep->epic_descriptor.Supports;
drivers/usb/serial/keyspan.c
1693
struct usb_endpoint_descriptor *ep;
drivers/usb/serial/keyspan.c
1698
ep = &iface_desc->endpoint[i].desc;
drivers/usb/serial/keyspan.c
1699
if (ep->bEndpointAddress == endpoint)
drivers/usb/serial/keyspan.c
1700
return ep;
drivers/usb/typec/hd3ss3220.c
364
struct fwnode_handle *connector, *ep;
drivers/usb/typec/hd3ss3220.c
387
ep = fwnode_graph_get_next_endpoint(dev_fwnode(hd3ss3220->dev), NULL);
drivers/usb/typec/hd3ss3220.c
388
if (!ep)
drivers/usb/typec/hd3ss3220.c
390
connector = fwnode_graph_get_remote_port_parent(ep);
drivers/usb/typec/hd3ss3220.c
391
fwnode_handle_put(ep);
drivers/usb/typec/mux/fsa4480.c
205
struct fwnode_handle *ep;
drivers/usb/typec/mux/fsa4480.c
209
ep = fwnode_graph_get_next_endpoint(dev_fwnode(&fsa->client->dev), NULL);
drivers/usb/typec/mux/fsa4480.c
210
if (!ep)
drivers/usb/typec/mux/fsa4480.c
213
ret = fwnode_property_read_u32_array(ep, "data-lanes", data_lanes, DATA_LANES_COUNT);
drivers/usb/typec/mux/fsa4480.c
248
fwnode_handle_put(ep);
drivers/usb/typec/mux/nb7vpq904m.c
327
struct device_node *ep;
drivers/usb/typec/mux/nb7vpq904m.c
331
ep = of_graph_get_endpoint_by_regs(nb7->client->dev.of_node, 1, 0);
drivers/usb/typec/mux/nb7vpq904m.c
333
if (!ep)
drivers/usb/typec/mux/nb7vpq904m.c
337
ret = of_property_count_u32_elems(ep, "data-lanes");
drivers/usb/typec/mux/nb7vpq904m.c
350
ret = of_property_read_u32_array(ep, "data-lanes", data_lanes, DATA_LANES_COUNT);
drivers/usb/typec/mux/nb7vpq904m.c
381
of_node_put(ep);
drivers/usb/usbip/stub_rx.c
339
struct usb_host_endpoint *ep;
drivers/usb/usbip/stub_rx.c
341
int epnum = pdu->base.ep;
drivers/usb/usbip/stub_rx.c
348
ep = udev->ep_in[epnum & 0x7f];
drivers/usb/usbip/stub_rx.c
350
ep = udev->ep_out[epnum & 0x7f];
drivers/usb/usbip/stub_rx.c
351
if (!ep)
drivers/usb/usbip/stub_rx.c
354
epd = &ep->desc;
drivers/usb/usbip/stub_rx.c
403
struct usb_host_endpoint *ep;
drivers/usb/usbip/stub_rx.c
413
ep = (usb_pipein(urb->pipe) ? dev->ep_in : dev->ep_out)
drivers/usb/usbip/stub_rx.c
415
if (!ep)
drivers/usb/usbip/stub_rx.c
418
xfertype = usb_endpoint_type(&ep->desc);
drivers/usb/usbip/stub_rx.c
428
is_out = usb_endpoint_dir_out(&ep->desc);
drivers/usb/usbip/stub_tx.c
114
base->ep = 0;
drivers/usb/usbip/usbip_common.c
266
pdu->base.ep);
drivers/usb/usbip/usbip_common.c
503
base->ep = cpu_to_be32(base->ep);
drivers/usb/usbip/usbip_common.c
509
base->ep = be32_to_cpu(base->ep);
drivers/usb/usbip/usbip_common.c
61
unsigned char ep = usb_pipeendpoint(p);
drivers/usb/usbip/usbip_common.c
65
pr_debug("dev(%d) ep(%d) [%s] ", dev, ep, dir ? "IN" : "OUT");
drivers/usb/usbip/usbip_common.h
147
__u32 ep;
drivers/usb/usbip/vhci_tx.c
107
!usb_endpoint_xfer_isoc(&urb->ep->desc)) {
drivers/usb/usbip/vhci_tx.c
210
pdu_header.base.ep = 0;
drivers/usb/usbip/vhci_tx.c
26
pdup->base.ep = usb_pipeendpoint(urb->pipe);
drivers/usb/usbip/vudc.h
104
struct vep *ep;
drivers/usb/usbip/vudc.h
124
return container_of(_ep, struct vep, ep);
drivers/usb/usbip/vudc.h
139
static inline struct vudc *ep_to_vudc(struct vep *ep)
drivers/usb/usbip/vudc.h
141
return container_of(ep->gadget, struct vudc, gadget);
drivers/usb/usbip/vudc.h
26
struct usb_ep ep;
drivers/usb/usbip/vudc.h
47
struct vep *ep;
drivers/usb/usbip/vudc_dev.c
111
return &udc->ep[0];
drivers/usb/usbip/vudc_dev.c
114
struct vep *ep = &udc->ep[i];
drivers/usb/usbip/vudc_dev.c
116
if (!ep->desc)
drivers/usb/usbip/vudc_dev.c
118
if (ep->desc->bEndpointAddress == address)
drivers/usb/usbip/vudc_dev.c
119
return ep;
drivers/usb/usbip/vudc_dev.c
164
udc->ep[0].ep.maxpacket = 64;
drivers/usb/usbip/vudc_dev.c
232
struct vep *ep;
drivers/usb/usbip/vudc_dev.c
237
ep = to_vep(_ep);
drivers/usb/usbip/vudc_dev.c
238
udc = ep_to_vudc(ep);
drivers/usb/usbip/vudc_dev.c
240
if (!_ep || !desc || ep->desc || _ep->caps.type_control
drivers/usb/usbip/vudc_dev.c
251
ep->desc = desc;
drivers/usb/usbip/vudc_dev.c
252
ep->type = usb_endpoint_type(desc);
drivers/usb/usbip/vudc_dev.c
253
ep->halted = ep->wedged = 0;
drivers/usb/usbip/vudc_dev.c
262
struct vep *ep;
drivers/usb/usbip/vudc_dev.c
266
ep = to_vep(_ep);
drivers/usb/usbip/vudc_dev.c
267
udc = ep_to_vudc(ep);
drivers/usb/usbip/vudc_dev.c
268
if (!_ep || !ep->desc || _ep->caps.type_control)
drivers/usb/usbip/vudc_dev.c
272
ep->desc = NULL;
drivers/usb/usbip/vudc_dev.c
273
nuke(udc, ep);
drivers/usb/usbip/vudc_dev.c
311
struct vep *ep;
drivers/usb/usbip/vudc_dev.c
319
ep = to_vep(_ep);
drivers/usb/usbip/vudc_dev.c
321
udc = ep_to_vudc(ep);
drivers/usb/usbip/vudc_dev.c
327
list_add_tail(&req->req_entry, &ep->req_queue);
drivers/usb/usbip/vudc_dev.c
335
struct vep *ep;
drivers/usb/usbip/vudc_dev.c
345
ep = to_vep(_ep);
drivers/usb/usbip/vudc_dev.c
353
list_for_each_entry(lst, &ep->req_queue, req_entry) {
drivers/usb/usbip/vudc_dev.c
372
struct vep *ep;
drivers/usb/usbip/vudc_dev.c
377
ep = to_vep(_ep);
drivers/usb/usbip/vudc_dev.c
381
udc = ep_to_vudc(ep);
drivers/usb/usbip/vudc_dev.c
387
ep->halted = ep->wedged = 0;
drivers/usb/usbip/vudc_dev.c
388
else if (ep->desc && (ep->desc->bEndpointAddress & USB_DIR_IN) &&
drivers/usb/usbip/vudc_dev.c
389
!list_empty(&ep->req_queue))
drivers/usb/usbip/vudc_dev.c
392
ep->halted = 1;
drivers/usb/usbip/vudc_dev.c
394
ep->wedged = 1;
drivers/usb/usbip/vudc_dev.c
51
urb_p->ep = NULL;
drivers/usb/usbip/vudc_dev.c
519
struct vep *ep;
drivers/usb/usbip/vudc_dev.c
521
udc->ep = kzalloc_objs(*udc->ep, VIRTUAL_ENDPOINTS);
drivers/usb/usbip/vudc_dev.c
522
if (!udc->ep)
drivers/usb/usbip/vudc_dev.c
532
ep = &udc->ep[i];
drivers/usb/usbip/vudc_dev.c
534
sprintf(ep->name, "ep%d%s", num,
drivers/usb/usbip/vudc_dev.c
536
ep->ep.name = ep->name;
drivers/usb/usbip/vudc_dev.c
538
ep->ep.ops = &vep_ops;
drivers/usb/usbip/vudc_dev.c
540
usb_ep_set_maxpacket_limit(&ep->ep, ~0);
drivers/usb/usbip/vudc_dev.c
541
ep->ep.max_streams = 16;
drivers/usb/usbip/vudc_dev.c
542
ep->gadget = &udc->gadget;
drivers/usb/usbip/vudc_dev.c
543
INIT_LIST_HEAD(&ep->req_queue);
drivers/usb/usbip/vudc_dev.c
547
ep->ep.caps.type_control = true;
drivers/usb/usbip/vudc_dev.c
548
ep->ep.caps.dir_out = true;
drivers/usb/usbip/vudc_dev.c
549
ep->ep.caps.dir_in = true;
drivers/usb/usbip/vudc_dev.c
551
udc->gadget.ep0 = &ep->ep;
drivers/usb/usbip/vudc_dev.c
554
ep->ep.caps.type_iso = true;
drivers/usb/usbip/vudc_dev.c
555
ep->ep.caps.type_int = true;
drivers/usb/usbip/vudc_dev.c
556
ep->ep.caps.type_bulk = true;
drivers/usb/usbip/vudc_dev.c
559
ep->ep.caps.dir_out = true;
drivers/usb/usbip/vudc_dev.c
561
ep->ep.caps.dir_in = true;
drivers/usb/usbip/vudc_dev.c
563
list_add_tail(&ep->ep.ep_list, &udc->gadget.ep_list);
drivers/usb/usbip/vudc_dev.c
591
kfree(udc->ep);
drivers/usb/usbip/vudc_dev.c
73
static void nuke(struct vudc *udc, struct vep *ep)
drivers/usb/usbip/vudc_dev.c
77
while (!list_empty(&ep->req_queue)) {
drivers/usb/usbip/vudc_dev.c
78
req = list_first_entry(&ep->req_queue, struct vrequest,
drivers/usb/usbip/vudc_dev.c
84
usb_gadget_giveback_request(&ep->ep, &req->req);
drivers/usb/usbip/vudc_dev.c
98
nuke(udc, &udc->ep[i]);
drivers/usb/usbip/vudc_rx.c
103
address = pdu->base.ep;
drivers/usb/usbip/vudc_rx.c
108
urb_p->ep = vudc_find_endpoint(udc, address);
drivers/usb/usbip/vudc_rx.c
109
if (!urb_p->ep) {
drivers/usb/usbip/vudc_rx.c
117
urb_p->type = urb_p->ep->type;
drivers/usb/usbip/vudc_rx.c
123
if (urb_p->ep->type == USB_ENDPOINT_XFER_ISOC) {
drivers/usb/usbip/vudc_rx.c
127
maxp = usb_endpoint_maxp(urb_p->ep->desc);
drivers/usb/usbip/vudc_rx.c
128
maxp *= usb_endpoint_maxp_mult(urb_p->ep->desc);
drivers/usb/usbip/vudc_rx.c
142
ret = alloc_urb_from_cmd(&urb_p->urb, pdu, urb_p->ep->type);
drivers/usb/usbip/vudc_rx.c
155
switch (urb_p->ep->type) {
drivers/usb/usbip/vudc_sysfs.c
61
usb_gadget_giveback_request(&(ep0->ep), &(usb_req->req));
drivers/usb/usbip/vudc_transfer.c
102
if (!ep2 || ep2->ep.name == udc->ep[0].ep.name) {
drivers/usb/usbip/vudc_transfer.c
184
struct urb *urb, struct vep *ep, int limit)
drivers/usb/usbip/vudc_transfer.c
190
list_for_each_entry(req, &ep->req_queue, req_entry) {
drivers/usb/usbip/vudc_transfer.c
213
if (len >= ep->ep.maxpacket) {
drivers/usb/usbip/vudc_transfer.c
215
if (len % ep->ep.maxpacket > 0)
drivers/usb/usbip/vudc_transfer.c
217
len -= len % ep->ep.maxpacket;
drivers/usb/usbip/vudc_transfer.c
284
usb_gadget_giveback_request(&ep->ep, &req->req);
drivers/usb/usbip/vudc_transfer.c
309
struct vep *ep;
drivers/usb/usbip/vudc_transfer.c
331
udc->ep[0].already_seen = 0;
drivers/usb/usbip/vudc_transfer.c
333
ep = to_vep(_ep);
drivers/usb/usbip/vudc_transfer.c
334
ep->already_seen = 0;
drivers/usb/usbip/vudc_transfer.c
341
ep = urb_p->ep;
drivers/usb/usbip/vudc_transfer.c
347
if (!ep) {
drivers/usb/usbip/vudc_transfer.c
353
if (total <= 0 && ep->type == USB_ENDPOINT_XFER_BULK)
drivers/usb/usbip/vudc_transfer.c
356
if (ep->already_seen)
drivers/usb/usbip/vudc_transfer.c
358
ep->already_seen = 1;
drivers/usb/usbip/vudc_transfer.c
359
if (ep == &udc->ep[0] && urb_p->new) {
drivers/usb/usbip/vudc_transfer.c
360
ep->setup_stage = 1;
drivers/usb/usbip/vudc_transfer.c
363
if (ep->halted && !ep->setup_stage) {
drivers/usb/usbip/vudc_transfer.c
368
if (ep == &udc->ep[0] && ep->setup_stage) {
drivers/usb/usbip/vudc_transfer.c
370
ep->setup_stage = 0;
drivers/usb/usbip/vudc_transfer.c
371
ep->halted = 0;
drivers/usb/usbip/vudc_transfer.c
395
switch (ep->type) {
drivers/usb/usbip/vudc_transfer.c
410
total -= transfer(udc, urb, ep, limit);
drivers/usb/usbip/vudc_transfer.c
416
if (ep)
drivers/usb/usbip/vudc_transfer.c
417
ep->already_seen = ep->setup_stage = 0;
drivers/usb/usbip/vudc_tx.c
21
base->ep = 0;
drivers/video/fbdev/omap2/omapfb/dss/dpi.c
840
struct device_node *ep;
drivers/video/fbdev/omap2/omapfb/dss/dpi.c
848
ep = of_graph_get_next_port_endpoint(port, NULL);
drivers/video/fbdev/omap2/omapfb/dss/dpi.c
849
if (!ep)
drivers/video/fbdev/omap2/omapfb/dss/dpi.c
852
r = of_property_read_u32(ep, "data-lines", &datalines);
drivers/video/fbdev/omap2/omapfb/dss/dpi.c
860
of_node_put(ep);
drivers/video/fbdev/omap2/omapfb/dss/dpi.c
874
of_node_put(ep);
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
5080
struct device_node *ep;
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
5083
ep = of_graph_get_endpoint_by_regs(node, 0, -1);
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
5084
if (!ep)
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
5087
prop = of_find_property(ep, "lanes", &len);
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
5103
r = of_property_read_u32_array(ep, "lanes", lane_arr, num_pins);
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
5119
of_node_put(ep);
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
5124
of_node_put(ep);
drivers/video/fbdev/omap2/omapfb/dss/dss-of.c
59
struct device_node *ep;
drivers/video/fbdev/omap2/omapfb/dss/dss-of.c
63
ep = of_graph_get_endpoint_by_regs(node, 0, -1);
drivers/video/fbdev/omap2/omapfb/dss/dss-of.c
64
if (!ep)
drivers/video/fbdev/omap2/omapfb/dss/dss-of.c
67
src_port = of_graph_get_remote_port(ep);
drivers/video/fbdev/omap2/omapfb/dss/dss-of.c
68
of_node_put(ep);
drivers/video/fbdev/omap2/omapfb/dss/hdmi.h
313
int hdmi_parse_lanes_of(struct platform_device *pdev, struct device_node *ep,
drivers/video/fbdev/omap2/omapfb/dss/hdmi4.c
530
struct device_node *ep;
drivers/video/fbdev/omap2/omapfb/dss/hdmi4.c
533
ep = of_graph_get_endpoint_by_regs(node, 0, -1);
drivers/video/fbdev/omap2/omapfb/dss/hdmi4.c
534
if (!ep)
drivers/video/fbdev/omap2/omapfb/dss/hdmi4.c
537
r = hdmi_parse_lanes_of(pdev, ep, &hdmi.phy);
drivers/video/fbdev/omap2/omapfb/dss/hdmi4.c
541
of_node_put(ep);
drivers/video/fbdev/omap2/omapfb/dss/hdmi4.c
545
of_node_put(ep);
drivers/video/fbdev/omap2/omapfb/dss/hdmi5.c
562
struct device_node *ep;
drivers/video/fbdev/omap2/omapfb/dss/hdmi5.c
565
ep = of_graph_get_endpoint_by_regs(node, 0, -1);
drivers/video/fbdev/omap2/omapfb/dss/hdmi5.c
566
if (!ep)
drivers/video/fbdev/omap2/omapfb/dss/hdmi5.c
569
r = hdmi_parse_lanes_of(pdev, ep, &hdmi.phy);
drivers/video/fbdev/omap2/omapfb/dss/hdmi5.c
573
of_node_put(ep);
drivers/video/fbdev/omap2/omapfb/dss/hdmi5.c
577
of_node_put(ep);
drivers/video/fbdev/omap2/omapfb/dss/hdmi_common.c
12
int hdmi_parse_lanes_of(struct platform_device *pdev, struct device_node *ep,
drivers/video/fbdev/omap2/omapfb/dss/hdmi_common.c
18
prop = of_find_property(ep, "lanes", &len);
drivers/video/fbdev/omap2/omapfb/dss/hdmi_common.c
27
r = of_property_read_u32_array(ep, "lanes", lanes,
drivers/video/fbdev/omap2/omapfb/dss/sdi.c
404
struct device_node *ep;
drivers/video/fbdev/omap2/omapfb/dss/sdi.c
408
ep = of_graph_get_next_port_endpoint(port, NULL);
drivers/video/fbdev/omap2/omapfb/dss/sdi.c
409
if (!ep)
drivers/video/fbdev/omap2/omapfb/dss/sdi.c
412
r = of_property_read_u32(ep, "datapairs", &datapairs);
drivers/video/fbdev/omap2/omapfb/dss/sdi.c
420
of_node_put(ep);
drivers/video/fbdev/omap2/omapfb/dss/sdi.c
431
of_node_put(ep);
drivers/video/fbdev/omap2/omapfb/dss/venc.c
765
struct device_node *ep;
drivers/video/fbdev/omap2/omapfb/dss/venc.c
769
ep = of_graph_get_endpoint_by_regs(node, 0, -1);
drivers/video/fbdev/omap2/omapfb/dss/venc.c
770
if (!ep)
drivers/video/fbdev/omap2/omapfb/dss/venc.c
773
venc.invert_polarity = of_property_read_bool(ep, "ti,invert-polarity");
drivers/video/fbdev/omap2/omapfb/dss/venc.c
775
r = of_property_read_u32(ep, "ti,channels", &channels);
drivers/video/fbdev/omap2/omapfb/dss/venc.c
795
of_node_put(ep);
drivers/video/fbdev/omap2/omapfb/dss/venc.c
799
of_node_put(ep);
drivers/video/fbdev/sunxvr500.c
101
void __iomem *ramdac = ep->ramdac;
drivers/video/fbdev/sunxvr500.c
104
spin_lock_irqsave(&ep->lock, flags);
drivers/video/fbdev/sunxvr500.c
109
spin_unlock_irqrestore(&ep->lock, flags);
drivers/video/fbdev/sunxvr500.c
116
struct e3d_info *ep = info->par;
drivers/video/fbdev/sunxvr500.c
139
e3d_clut_write(ep, regno, value);
drivers/video/fbdev/sunxvr500.c
153
struct e3d_info *ep = info->par;
drivers/video/fbdev/sunxvr500.c
156
spin_lock_irqsave(&ep->lock, flags);
drivers/video/fbdev/sunxvr500.c
158
info->screen_base += ep->fb8_buf_diff;
drivers/video/fbdev/sunxvr500.c
160
info->screen_base -= ep->fb8_buf_diff;
drivers/video/fbdev/sunxvr500.c
161
spin_unlock_irqrestore(&ep->lock, flags);
drivers/video/fbdev/sunxvr500.c
166
struct e3d_info *ep = info->par;
drivers/video/fbdev/sunxvr500.c
169
spin_lock_irqsave(&ep->lock, flags);
drivers/video/fbdev/sunxvr500.c
171
info->screen_base += ep->fb8_buf_diff;
drivers/video/fbdev/sunxvr500.c
173
info->screen_base -= ep->fb8_buf_diff;
drivers/video/fbdev/sunxvr500.c
174
spin_unlock_irqrestore(&ep->lock, flags);
drivers/video/fbdev/sunxvr500.c
179
struct e3d_info *ep = info->par;
drivers/video/fbdev/sunxvr500.c
182
spin_lock_irqsave(&ep->lock, flags);
drivers/video/fbdev/sunxvr500.c
184
info->screen_base += ep->fb8_buf_diff;
drivers/video/fbdev/sunxvr500.c
186
info->screen_base -= ep->fb8_buf_diff;
drivers/video/fbdev/sunxvr500.c
187
spin_unlock_irqrestore(&ep->lock, flags);
drivers/video/fbdev/sunxvr500.c
200
static int e3d_set_fbinfo(struct e3d_info *ep)
drivers/video/fbdev/sunxvr500.c
202
struct fb_info *info = ep->info;
drivers/video/fbdev/sunxvr500.c
206
info->screen_base = ep->fb_base;
drivers/video/fbdev/sunxvr500.c
207
info->screen_size = ep->fb_size;
drivers/video/fbdev/sunxvr500.c
209
info->pseudo_palette = ep->pseudo_palette;
drivers/video/fbdev/sunxvr500.c
213
info->fix.smem_start = ep->fb_base_phys;
drivers/video/fbdev/sunxvr500.c
214
info->fix.smem_len = ep->fb_size;
drivers/video/fbdev/sunxvr500.c
216
if (ep->depth == 32 || ep->depth == 24)
drivers/video/fbdev/sunxvr500.c
221
var->xres = ep->width;
drivers/video/fbdev/sunxvr500.c
222
var->yres = ep->height;
drivers/video/fbdev/sunxvr500.c
225
var->bits_per_pixel = ep->depth;
drivers/video/fbdev/sunxvr500.c
250
struct e3d_info *ep;
drivers/video/fbdev/sunxvr500.c
285
ep = info->par;
drivers/video/fbdev/sunxvr500.c
286
ep->info = info;
drivers/video/fbdev/sunxvr500.c
287
ep->pdev = pdev;
drivers/video/fbdev/sunxvr500.c
288
spin_lock_init(&ep->lock);
drivers/video/fbdev/sunxvr500.c
289
ep->of_node = of_node;
drivers/video/fbdev/sunxvr500.c
296
&ep->fb_base_reg);
drivers/video/fbdev/sunxvr500.c
297
ep->fb_base_reg &= PCI_BASE_ADDRESS_MEM_MASK;
drivers/video/fbdev/sunxvr500.c
299
ep->regs_base_phys = pci_resource_start (pdev, 1);
drivers/video/fbdev/sunxvr500.c
306
ep->ramdac = ioremap(ep->regs_base_phys + 0x8000, 0x1000);
drivers/video/fbdev/sunxvr500.c
307
if (!ep->ramdac) {
drivers/video/fbdev/sunxvr500.c
312
ep->fb8_0_off = readl(ep->ramdac + RAMDAC_VID_8FB_0);
drivers/video/fbdev/sunxvr500.c
313
ep->fb8_0_off -= ep->fb_base_reg;
drivers/video/fbdev/sunxvr500.c
315
ep->fb8_1_off = readl(ep->ramdac + RAMDAC_VID_8FB_1);
drivers/video/fbdev/sunxvr500.c
316
ep->fb8_1_off -= ep->fb_base_reg;
drivers/video/fbdev/sunxvr500.c
318
ep->fb8_buf_diff = ep->fb8_1_off - ep->fb8_0_off;
drivers/video/fbdev/sunxvr500.c
320
ep->fb_base_phys = pci_resource_start (pdev, 0);
drivers/video/fbdev/sunxvr500.c
321
ep->fb_base_phys += ep->fb8_0_off;
drivers/video/fbdev/sunxvr500.c
330
err = e3d_get_props(ep);
drivers/video/fbdev/sunxvr500.c
334
line_length = (readl(ep->ramdac + RAMDAC_VID_CFG) >> 16) & 0xff;
drivers/video/fbdev/sunxvr500.c
337
switch (ep->depth) {
drivers/video/fbdev/sunxvr500.c
351
ep->fb_size = info->fix.line_length * ep->height;
drivers/video/fbdev/sunxvr500.c
353
ep->fb_base = ioremap(ep->fb_base_phys, ep->fb_size);
drivers/video/fbdev/sunxvr500.c
354
if (!ep->fb_base) {
drivers/video/fbdev/sunxvr500.c
359
err = e3d_set_fbinfo(ep);
drivers/video/fbdev/sunxvr500.c
380
iounmap(ep->fb_base);
drivers/video/fbdev/sunxvr500.c
386
iounmap(ep->ramdac);
drivers/video/fbdev/sunxvr500.c
56
static int e3d_get_props(struct e3d_info *ep)
drivers/video/fbdev/sunxvr500.c
58
ep->width = of_getintprop_default(ep->of_node, "width", 0);
drivers/video/fbdev/sunxvr500.c
59
ep->height = of_getintprop_default(ep->of_node, "height", 0);
drivers/video/fbdev/sunxvr500.c
60
ep->depth = of_getintprop_default(ep->of_node, "depth", 8);
drivers/video/fbdev/sunxvr500.c
62
if (!ep->width || !ep->height) {
drivers/video/fbdev/sunxvr500.c
64
pci_name(ep->pdev));
drivers/video/fbdev/sunxvr500.c
99
static void e3d_clut_write(struct e3d_info *ep, int index, u32 val)
drivers/w1/masters/ds2490.c
1030
memset(dev->ep, 0, sizeof(dev->ep));
drivers/w1/masters/ds2490.c
1067
dev->ep[i+1] = endpoint->bEndpointAddress;
drivers/w1/masters/ds2490.c
131
int ep[NUM_EP];
drivers/w1/masters/ds2490.c
174
err = usb_control_msg(dev->udev, usb_sndctrlpipe(dev->udev, dev->ep[EP_CONTROL]),
drivers/w1/masters/ds2490.c
190
err = usb_control_msg(dev->udev, usb_sndctrlpipe(dev->udev, dev->ep[EP_CONTROL]),
drivers/w1/masters/ds2490.c
206
err = usb_control_msg(dev->udev, usb_sndctrlpipe(dev->udev, dev->ep[EP_CONTROL]),
drivers/w1/masters/ds2490.c
224
ds_dev->ep[EP_STATUS], count, count, buf);
drivers/w1/masters/ds2490.c
280
dev->ep[EP_STATUS]),
drivers/w1/masters/ds2490.c
286
dev->ep[EP_STATUS], err);
drivers/w1/masters/ds2490.c
330
err = usb_bulk_msg(dev->udev, usb_rcvbulkpipe(dev->udev, dev->ep[EP_DATA_IN]),
drivers/w1/masters/ds2490.c
335
dev_info(&dev->udev->dev, "Clearing ep0x%x.\n", dev->ep[EP_DATA_IN]);
drivers/w1/masters/ds2490.c
336
usb_clear_halt(dev->udev, usb_rcvbulkpipe(dev->udev, dev->ep[EP_DATA_IN]));
drivers/w1/masters/ds2490.c
364
err = usb_bulk_msg(dev->udev, usb_sndbulkpipe(dev->udev, dev->ep[EP_DATA_OUT]), buf, len, &count, 1000);
drivers/w1/masters/ds2490.c
367
"err=%d.\n", dev->ep[EP_DATA_OUT], err);
drivers/w1/masters/ds2490.c
439
printk("0x%x: count=%d, status: ", dev->ep[EP_STATUS], err);
fs/autofs/waitq.c
117
struct autofs_packet_expire_multi *ep =
fs/autofs/waitq.c
120
pktsz = sizeof(*ep);
fs/autofs/waitq.c
122
ep->wait_queue_token = wq->wait_queue_token;
fs/autofs/waitq.c
123
ep->len = wq->name.len;
fs/autofs/waitq.c
124
memcpy(ep->name, wq->name.name, wq->name.len);
fs/autofs/waitq.c
125
ep->name[wq->name.len] = '\0';
fs/eventpoll.c
1006
ep_done_scan(ep, &txlist);
fs/eventpoll.c
1007
mutex_unlock(&ep->mtx);
fs/eventpoll.c
1074
struct eventpoll *ep = f->private_data;
fs/eventpoll.c
1077
mutex_lock(&ep->mtx);
fs/eventpoll.c
1078
for (rbp = rb_first_cached(&ep->rbr); rbp; rbp = rb_next(rbp)) {
fs/eventpoll.c
1091
mutex_unlock(&ep->mtx);
fs/eventpoll.c
1114
struct eventpoll *ep;
fs/eventpoll.c
1134
ep = epi->ep;
fs/eventpoll.c
1135
mutex_lock(&ep->mtx);
fs/eventpoll.c
1136
dispose = __ep_remove(ep, epi, true);
fs/eventpoll.c
1137
mutex_unlock(&ep->mtx);
fs/eventpoll.c
1139
if (dispose && ep_refcount_dec_and_test(ep))
fs/eventpoll.c
1140
ep_free(ep);
fs/eventpoll.c
1148
struct eventpoll *ep;
fs/eventpoll.c
1150
ep = kzalloc_obj(*ep);
fs/eventpoll.c
1151
if (unlikely(!ep))
fs/eventpoll.c
1154
mutex_init(&ep->mtx);
fs/eventpoll.c
1155
spin_lock_init(&ep->lock);
fs/eventpoll.c
1156
init_waitqueue_head(&ep->wq);
fs/eventpoll.c
1157
init_waitqueue_head(&ep->poll_wait);
fs/eventpoll.c
1158
INIT_LIST_HEAD(&ep->rdllist);
fs/eventpoll.c
1159
ep->rbr = RB_ROOT_CACHED;
fs/eventpoll.c
1160
ep->ovflist = EP_UNACTIVE_PTR;
fs/eventpoll.c
1161
ep->user = get_current_user();
fs/eventpoll.c
1162
refcount_set(&ep->refcount, 1);
fs/eventpoll.c
1164
*pep = ep;
fs/eventpoll.c
1174
static struct epitem *ep_find(struct eventpoll *ep, struct file *file, int fd)
fs/eventpoll.c
1182
for (rbp = ep->rbr.rb_root.rb_node; rbp; ) {
fs/eventpoll.c
1199
static struct epitem *ep_find_tfd(struct eventpoll *ep, int tfd, unsigned long toff)
fs/eventpoll.c
1204
for (rbp = rb_first_cached(&ep->rbr); rbp; rbp = rb_next(rbp)) {
fs/eventpoll.c
1222
struct eventpoll *ep;
fs/eventpoll.c
1228
ep = file->private_data;
fs/eventpoll.c
1230
mutex_lock(&ep->mtx);
fs/eventpoll.c
1231
epi = ep_find_tfd(ep, tfd, toff);
fs/eventpoll.c
1236
mutex_unlock(&ep->mtx);
fs/eventpoll.c
1251
struct eventpoll *ep = epi->ep;
fs/eventpoll.c
1256
spin_lock_irqsave(&ep->lock, flags);
fs/eventpoll.c
1284
if (READ_ONCE(ep->ovflist) != EP_UNACTIVE_PTR) {
fs/eventpoll.c
1286
epi->next = READ_ONCE(ep->ovflist);
fs/eventpoll.c
1287
WRITE_ONCE(ep->ovflist, epi);
fs/eventpoll.c
1292
list_add_tail(&epi->rdllink, &ep->rdllist);
fs/eventpoll.c
1300
if (waitqueue_active(&ep->wq)) {
fs/eventpoll.c
1318
wake_up_sync(&ep->wq);
fs/eventpoll.c
1320
wake_up(&ep->wq);
fs/eventpoll.c
1322
if (waitqueue_active(&ep->poll_wait))
fs/eventpoll.c
1326
spin_unlock_irqrestore(&ep->lock, flags);
fs/eventpoll.c
1330
ep_poll_safewake(ep, epi, pollflags & EPOLL_URING_WAKE);
fs/eventpoll.c
1385
static void ep_rbtree_insert(struct eventpoll *ep, struct epitem *epi)
fs/eventpoll.c
1388
struct rb_node **p = &ep->rbr.rb_root.rb_node, *parent = NULL;
fs/eventpoll.c
1403
rb_insert_color_cached(&epi->rbn, &ep->rbr, leftmost);
fs/eventpoll.c
1452
struct hlist_head *refs = &epi->ep->refs;
fs/eventpoll.c
1494
if (!epi->ep->ws) {
fs/eventpoll.c
1495
epi->ep->ws = wakeup_source_register(NULL, "eventpoll");
fs/eventpoll.c
1496
if (!epi->ep->ws)
fs/eventpoll.c
1531
struct eventpoll *ep = NULL;
fs/eventpoll.c
1534
ep = file->private_data;
fs/eventpoll.c
1536
if (ep) {
fs/eventpoll.c
1537
head = &ep->refs;
fs/eventpoll.c
1564
static int ep_insert(struct eventpoll *ep, const struct epoll_event *event,
fs/eventpoll.c
1578
if (unlikely(percpu_counter_compare(&ep->user->epoll_watches,
fs/eventpoll.c
1581
percpu_counter_inc(&ep->user->epoll_watches);
fs/eventpoll.c
1584
percpu_counter_dec(&ep->user->epoll_watches);
fs/eventpoll.c
1590
epi->ep = ep;
fs/eventpoll.c
1602
percpu_counter_dec(&ep->user->epoll_watches);
fs/eventpoll.c
1613
ep_rbtree_insert(ep, epi);
fs/eventpoll.c
162
struct eventpoll *ep;
fs/eventpoll.c
1621
ep_get(ep);
fs/eventpoll.c
1625
ep_remove_safe(ep, epi);
fs/eventpoll.c
1632
ep_remove_safe(ep, epi);
fs/eventpoll.c
1656
ep_remove_safe(ep, epi);
fs/eventpoll.c
1661
spin_lock_irq(&ep->lock);
fs/eventpoll.c
1668
list_add_tail(&epi->rdllink, &ep->rdllist);
fs/eventpoll.c
1672
if (waitqueue_active(&ep->wq))
fs/eventpoll.c
1673
wake_up(&ep->wq);
fs/eventpoll.c
1674
if (waitqueue_active(&ep->poll_wait))
fs/eventpoll.c
1678
spin_unlock_irq(&ep->lock);
fs/eventpoll.c
1682
ep_poll_safewake(ep, NULL, 0);
fs/eventpoll.c
1691
static int ep_modify(struct eventpoll *ep, struct epitem *epi,
fs/eventpoll.c
1742
spin_lock_irq(&ep->lock);
fs/eventpoll.c
1744
list_add_tail(&epi->rdllink, &ep->rdllist);
fs/eventpoll.c
1748
if (waitqueue_active(&ep->wq))
fs/eventpoll.c
1749
wake_up(&ep->wq);
fs/eventpoll.c
1750
if (waitqueue_active(&ep->poll_wait))
fs/eventpoll.c
1753
spin_unlock_irq(&ep->lock);
fs/eventpoll.c
1758
ep_poll_safewake(ep, NULL, 0);
fs/eventpoll.c
1763
static int ep_send_events(struct eventpoll *ep,
fs/eventpoll.c
1781
mutex_lock(&ep->mtx);
fs/eventpoll.c
1782
ep_start_scan(ep, &txlist);
fs/eventpoll.c
1807
__pm_stay_awake(ep->ws);
fs/eventpoll.c
1845
list_add_tail(&epi->rdllink, &ep->rdllist);
fs/eventpoll.c
1849
ep_done_scan(ep, &txlist);
fs/eventpoll.c
1850
mutex_unlock(&ep->mtx);
fs/eventpoll.c
1895
static int ep_try_send_events(struct eventpoll *ep,
fs/eventpoll.c
1905
res = ep_send_events(ep, events, maxevents);
fs/eventpoll.c
1907
ep_suspend_napi_irqs(ep);
fs/eventpoll.c
1936
static int ep_poll(struct eventpoll *ep, struct epoll_event __user *events,
fs/eventpoll.c
1966
eavail = ep_events_available(ep);
fs/eventpoll.c
1970
res = ep_try_send_events(ep, events, maxevents);
fs/eventpoll.c
1978
eavail = ep_busy_loop(ep);
fs/eventpoll.c
2005
spin_lock_irq(&ep->lock);
fs/eventpoll.c
2020
eavail = ep_events_available(ep);
fs/eventpoll.c
2022
__add_wait_queue_exclusive(&ep->wq, &wait);
fs/eventpoll.c
2024
spin_unlock_irq(&ep->lock);
fs/eventpoll.c
2040
spin_lock_irq(&ep->lock);
fs/eventpoll.c
2050
__remove_wait_queue(&ep->wq, &wait);
fs/eventpoll.c
2051
spin_unlock_irq(&ep->lock);
fs/eventpoll.c
2067
static int ep_loop_check_proc(struct eventpoll *ep, int depth)
fs/eventpoll.c
2073
if (ep->gen == loop_check_gen)
fs/eventpoll.c
2074
return ep->loop_check_depth;
fs/eventpoll.c
2076
mutex_lock_nested(&ep->mtx, depth + 1);
fs/eventpoll.c
2077
ep->gen = loop_check_gen;
fs/eventpoll.c
2078
for (rbp = rb_first_cached(&ep->rbr); rbp; rbp = rb_next(rbp)) {
fs/eventpoll.c
2101
ep->loop_check_depth = result;
fs/eventpoll.c
2102
mutex_unlock(&ep->mtx);
fs/eventpoll.c
2108
static int ep_get_upwards_depth_proc(struct eventpoll *ep, int depth)
fs/eventpoll.c
2113
if (ep->gen == loop_check_gen)
fs/eventpoll.c
2114
return ep->loop_check_depth;
fs/eventpoll.c
2115
hlist_for_each_entry_rcu(epi, &ep->refs, fllink)
fs/eventpoll.c
2116
result = max(result, ep_get_upwards_depth_proc(epi->ep, depth + 1) + 1);
fs/eventpoll.c
2117
ep->gen = loop_check_gen;
fs/eventpoll.c
2118
ep->loop_check_depth = result;
fs/eventpoll.c
2133
static int ep_loop_check(struct eventpoll *ep, struct eventpoll *to)
fs/eventpoll.c
2137
inserting_into = ep;
fs/eventpoll.c
2147
upwards_depth = ep_get_upwards_depth_proc(ep, 0);
fs/eventpoll.c
2170
struct eventpoll *ep;
fs/eventpoll.c
2180
error = ep_alloc(&ep);
fs/eventpoll.c
2188
anon_inode_getfile("[eventpoll]", &eventpoll_fops, ep,
fs/eventpoll.c
2191
ep_clear_and_put(ep);
fs/eventpoll.c
2194
ep->file = fd_prepare_file(fdf);
fs/eventpoll.c
2241
struct eventpoll *ep;
fs/eventpoll.c
2288
ep = fd_file(f)->private_data;
fs/eventpoll.c
2305
error = epoll_mutex_lock(&ep->mtx, 0, nonblock);
fs/eventpoll.c
2309
if (READ_ONCE(fd_file(f)->f_ep) || ep->gen == loop_check_gen ||
fs/eventpoll.c
2311
mutex_unlock(&ep->mtx);
fs/eventpoll.c
2320
if (ep_loop_check(ep, tep) != 0)
fs/eventpoll.c
2323
error = epoll_mutex_lock(&ep->mtx, 0, nonblock);
fs/eventpoll.c
2334
epi = ep_find(ep, fd_file(tf), fd);
fs/eventpoll.c
2341
error = ep_insert(ep, epds, fd_file(tf), fd, full_check);
fs/eventpoll.c
2351
ep_remove_safe(ep, epi);
fs/eventpoll.c
2361
error = ep_modify(ep, epi, epds);
fs/eventpoll.c
2367
mutex_unlock(&ep->mtx);
fs/eventpoll.c
2419
struct eventpoll *ep;
fs/eventpoll.c
2426
ep = file->private_data;
fs/eventpoll.c
2431
if (ep_events_available(ep))
fs/eventpoll.c
2432
return ep_try_send_events(ep, events, maxevents);
fs/eventpoll.c
2443
struct eventpoll *ep;
fs/eventpoll.c
2459
ep = fd_file(f)->private_data;
fs/eventpoll.c
2462
return ep_poll(ep, events, maxevents, to);
fs/eventpoll.c
390
static inline int ep_events_available(struct eventpoll *ep)
fs/eventpoll.c
392
return !list_empty_careful(&ep->rdllist) ||
fs/eventpoll.c
393
READ_ONCE(ep->ovflist) != EP_UNACTIVE_PTR;
fs/eventpoll.c
408
struct eventpoll *ep)
fs/eventpoll.c
410
unsigned long bp_usec = READ_ONCE(ep->busy_poll_usecs);
fs/eventpoll.c
422
static bool ep_busy_loop_on(struct eventpoll *ep)
fs/eventpoll.c
424
return !!READ_ONCE(ep->busy_poll_usecs) ||
fs/eventpoll.c
425
READ_ONCE(ep->prefer_busy_poll) ||
fs/eventpoll.c
431
struct eventpoll *ep = p;
fs/eventpoll.c
433
return ep_events_available(ep) || busy_loop_ep_timeout(start_time, ep);
fs/eventpoll.c
442
static bool ep_busy_loop(struct eventpoll *ep)
fs/eventpoll.c
444
unsigned int napi_id = READ_ONCE(ep->napi_id);
fs/eventpoll.c
445
u16 budget = READ_ONCE(ep->busy_poll_budget);
fs/eventpoll.c
446
bool prefer_busy_poll = READ_ONCE(ep->prefer_busy_poll);
fs/eventpoll.c
451
if (napi_id_valid(napi_id) && ep_busy_loop_on(ep)) {
fs/eventpoll.c
453
ep, prefer_busy_poll, budget);
fs/eventpoll.c
454
if (ep_events_available(ep))
fs/eventpoll.c
463
ep->napi_id = 0;
fs/eventpoll.c
474
struct eventpoll *ep = epi->ep;
fs/eventpoll.c
479
if (!ep_busy_loop_on(ep))
fs/eventpoll.c
496
if (!napi_id_valid(napi_id) || napi_id == ep->napi_id)
fs/eventpoll.c
500
ep->napi_id = napi_id;
fs/eventpoll.c
506
struct eventpoll *ep = file->private_data;
fs/eventpoll.c
529
WRITE_ONCE(ep->busy_poll_usecs, epoll_params.busy_poll_usecs);
fs/eventpoll.c
530
WRITE_ONCE(ep->busy_poll_budget, epoll_params.busy_poll_budget);
fs/eventpoll.c
531
WRITE_ONCE(ep->prefer_busy_poll, epoll_params.prefer_busy_poll);
fs/eventpoll.c
535
epoll_params.busy_poll_usecs = READ_ONCE(ep->busy_poll_usecs);
fs/eventpoll.c
536
epoll_params.busy_poll_budget = READ_ONCE(ep->busy_poll_budget);
fs/eventpoll.c
537
epoll_params.prefer_busy_poll = READ_ONCE(ep->prefer_busy_poll);
fs/eventpoll.c
546
static void ep_suspend_napi_irqs(struct eventpoll *ep)
fs/eventpoll.c
548
unsigned int napi_id = READ_ONCE(ep->napi_id);
fs/eventpoll.c
550
if (napi_id_valid(napi_id) && READ_ONCE(ep->prefer_busy_poll))
fs/eventpoll.c
554
static void ep_resume_napi_irqs(struct eventpoll *ep)
fs/eventpoll.c
556
unsigned int napi_id = READ_ONCE(ep->napi_id);
fs/eventpoll.c
558
if (napi_id_valid(napi_id) && READ_ONCE(ep->prefer_busy_poll))
fs/eventpoll.c
564
static inline bool ep_busy_loop(struct eventpoll *ep)
fs/eventpoll.c
579
static void ep_suspend_napi_irqs(struct eventpoll *ep)
fs/eventpoll.c
583
static void ep_resume_napi_irqs(struct eventpoll *ep)
fs/eventpoll.c
616
static void ep_poll_safewake(struct eventpoll *ep, struct epitem *epi,
fs/eventpoll.c
646
spin_lock_irqsave_nested(&ep->poll_wait.lock, flags, nests);
fs/eventpoll.c
647
ep->nests = nests + 1;
fs/eventpoll.c
648
wake_up_locked_poll(&ep->poll_wait, EPOLLIN | pollflags);
fs/eventpoll.c
649
ep->nests = 0;
fs/eventpoll.c
650
spin_unlock_irqrestore(&ep->poll_wait.lock, flags);
fs/eventpoll.c
655
static void ep_poll_safewake(struct eventpoll *ep, struct epitem *epi,
fs/eventpoll.c
658
wake_up_poll(&ep->poll_wait, EPOLLIN | pollflags);
fs/eventpoll.c
684
static void ep_unregister_pollwait(struct eventpoll *ep, struct epitem *epi)
fs/eventpoll.c
699
return rcu_dereference_check(epi->ws, lockdep_is_held(&epi->ep->mtx));
fs/eventpoll.c
733
static void ep_start_scan(struct eventpoll *ep, struct list_head *txlist)
fs/eventpoll.c
744
spin_lock_irq(&ep->lock);
fs/eventpoll.c
745
list_splice_init(&ep->rdllist, txlist);
fs/eventpoll.c
746
WRITE_ONCE(ep->ovflist, NULL);
fs/eventpoll.c
747
spin_unlock_irq(&ep->lock);
fs/eventpoll.c
750
static void ep_done_scan(struct eventpoll *ep,
fs/eventpoll.c
755
spin_lock_irq(&ep->lock);
fs/eventpoll.c
761
for (nepi = READ_ONCE(ep->ovflist); (epi = nepi) != NULL;
fs/eventpoll.c
774
list_add(&epi->rdllink, &ep->rdllist);
fs/eventpoll.c
783
WRITE_ONCE(ep->ovflist, EP_UNACTIVE_PTR);
fs/eventpoll.c
788
list_splice(txlist, &ep->rdllist);
fs/eventpoll.c
789
__pm_relax(ep->ws);
fs/eventpoll.c
791
if (!list_empty(&ep->rdllist)) {
fs/eventpoll.c
792
if (waitqueue_active(&ep->wq))
fs/eventpoll.c
793
wake_up(&ep->wq);
fs/eventpoll.c
796
spin_unlock_irq(&ep->lock);
fs/eventpoll.c
799
static void ep_get(struct eventpoll *ep)
fs/eventpoll.c
801
refcount_inc(&ep->refcount);
fs/eventpoll.c
807
static bool ep_refcount_dec_and_test(struct eventpoll *ep)
fs/eventpoll.c
809
if (!refcount_dec_and_test(&ep->refcount))
fs/eventpoll.c
812
WARN_ON_ONCE(!RB_EMPTY_ROOT(&ep->rbr.rb_root));
fs/eventpoll.c
816
static void ep_free(struct eventpoll *ep)
fs/eventpoll.c
818
ep_resume_napi_irqs(ep);
fs/eventpoll.c
819
mutex_destroy(&ep->mtx);
fs/eventpoll.c
820
free_uid(ep->user);
fs/eventpoll.c
821
wakeup_source_unregister(ep->ws);
fs/eventpoll.c
822
kfree(ep);
fs/eventpoll.c
833
static bool __ep_remove(struct eventpoll *ep, struct epitem *epi, bool force)
fs/eventpoll.c
844
ep_unregister_pollwait(ep, epi);
fs/eventpoll.c
869
rb_erase_cached(&epi->rbn, &ep->rbr);
fs/eventpoll.c
871
spin_lock_irq(&ep->lock);
fs/eventpoll.c
874
spin_unlock_irq(&ep->lock);
fs/eventpoll.c
886
percpu_counter_dec(&ep->user->epoll_watches);
fs/eventpoll.c
893
static void ep_remove_safe(struct eventpoll *ep, struct epitem *epi)
fs/eventpoll.c
895
if (__ep_remove(ep, epi, false))
fs/eventpoll.c
896
WARN_ON_ONCE(ep_refcount_dec_and_test(ep));
fs/eventpoll.c
899
static void ep_clear_and_put(struct eventpoll *ep)
fs/eventpoll.c
905
if (waitqueue_active(&ep->poll_wait))
fs/eventpoll.c
906
ep_poll_safewake(ep, NULL, 0);
fs/eventpoll.c
908
mutex_lock(&ep->mtx);
fs/eventpoll.c
913
for (rbp = rb_first_cached(&ep->rbr); rbp; rbp = rb_next(rbp)) {
fs/eventpoll.c
916
ep_unregister_pollwait(ep, epi);
fs/eventpoll.c
928
for (rbp = rb_first_cached(&ep->rbr); rbp; rbp = next) {
fs/eventpoll.c
931
ep_remove_safe(ep, epi);
fs/eventpoll.c
935
mutex_unlock(&ep->mtx);
fs/eventpoll.c
936
if (ep_refcount_dec_and_test(ep))
fs/eventpoll.c
937
ep_free(ep);
fs/eventpoll.c
963
struct eventpoll *ep = file->private_data;
fs/eventpoll.c
965
if (ep)
fs/eventpoll.c
966
ep_clear_and_put(ep);
fs/eventpoll.c
975
struct eventpoll *ep = file->private_data;
fs/eventpoll.c
984
poll_wait(file, &ep->poll_wait, wait);
fs/eventpoll.c
990
mutex_lock_nested(&ep->mtx, depth);
fs/eventpoll.c
991
ep_start_scan(ep, &txlist);
fs/exfat/balloc.c
146
struct exfat_dentry *ep;
fs/exfat/balloc.c
149
ep = exfat_get_dentry(sb, &clu, i, &bh);
fs/exfat/balloc.c
150
if (!ep)
fs/exfat/balloc.c
153
type = exfat_get_entry_type(ep);
fs/exfat/balloc.c
155
ep->dentry.bitmap.flags == 0x0) {
fs/exfat/balloc.c
158
err = exfat_allocate_bitmap(sb, ep);
fs/exfat/balloc.c
74
struct exfat_dentry *ep)
fs/exfat/balloc.c
83
sbi->map_clu = le32_to_cpu(ep->dentry.bitmap.start_clu);
fs/exfat/balloc.c
84
map_size = le64_to_cpu(ep->dentry.bitmap.size);
fs/exfat/dir.c
1031
struct exfat_dentry *ep;
fs/exfat/dir.c
1037
ep = exfat_get_dentry(sb, &clu, i, &bh);
fs/exfat/dir.c
1038
if (!ep)
fs/exfat/dir.c
1041
entry_type = exfat_get_entry_type(ep);
fs/exfat/dir.c
1063
num_ext = ep->dentry.file.num_ext;
fs/exfat/dir.c
1079
ep->dentry.stream.name_hash);
fs/exfat/dir.c
1082
ep->dentry.stream.name_len) {
fs/exfat/dir.c
1106
len = exfat_extract_uni_name(ep, entry_uniname);
fs/exfat/dir.c
119
ep = exfat_get_dentry(sb, &clu, i, &bh);
fs/exfat/dir.c
120
if (!ep)
fs/exfat/dir.c
1212
struct exfat_dentry *ep;
fs/exfat/dir.c
1222
ep = exfat_get_dentry(sb, &clu, i, &bh);
fs/exfat/dir.c
1223
if (!ep)
fs/exfat/dir.c
1225
entry_type = exfat_get_entry_type(ep);
fs/exfat/dir.c
123
type = exfat_get_entry_type(ep);
fs/exfat/dir.c
1265
struct exfat_dentry *ep;
fs/exfat/dir.c
1273
ep = exfat_get_dentry(sb, &clu, i, &bh);
fs/exfat/dir.c
1274
if (!ep)
fs/exfat/dir.c
1277
type = exfat_get_entry_type(ep);
fs/exfat/dir.c
1327
struct exfat_dentry *ep;
fs/exfat/dir.c
134
num_ext = ep->dentry.file.num_ext;
fs/exfat/dir.c
1344
ep = exfat_get_dentry_cached(&es, 0);
fs/exfat/dir.c
1345
label_out->name_len = ep->dentry.volume_label.char_count;
fs/exfat/dir.c
135
dir_entry->attr = le16_to_cpu(ep->dentry.file.attr);
fs/exfat/dir.c
1353
label_out->name[i] = le16_to_cpu(ep->dentry.volume_label.volume_label[i]);
fs/exfat/dir.c
1369
struct exfat_dentry *ep;
fs/exfat/dir.c
1390
ep = exfat_get_dentry_cached(&es, 0);
fs/exfat/dir.c
1392
if (label->name_len == 0 && ep->dentry.volume_label.char_count == 0) {
fs/exfat/dir.c
1398
memset(ep, 0, sizeof(*ep));
fs/exfat/dir.c
1399
ep->type = EXFAT_VOLUME;
fs/exfat/dir.c
1402
ep->dentry.volume_label.volume_label[i] =
fs/exfat/dir.c
1405
ep->dentry.volume_label.char_count = label->name_len;
fs/exfat/dir.c
149
ep = exfat_get_dentry(sb, &clu, i + 1, &bh);
fs/exfat/dir.c
15
static int exfat_extract_uni_name(struct exfat_dentry *ep,
fs/exfat/dir.c
150
if (!ep)
fs/exfat/dir.c
21
*uniname = le16_to_cpu(ep->dentry.name.unicode_0_14[i]);
fs/exfat/dir.c
330
unsigned int exfat_get_entry_type(struct exfat_dentry *ep)
fs/exfat/dir.c
332
if (ep->type == EXFAT_UNUSED)
fs/exfat/dir.c
334
if (IS_EXFAT_DELETED(ep->type))
fs/exfat/dir.c
336
if (ep->type == EXFAT_INVAL)
fs/exfat/dir.c
338
if (IS_EXFAT_CRITICAL_PRI(ep->type)) {
fs/exfat/dir.c
339
if (ep->type == EXFAT_BITMAP)
fs/exfat/dir.c
341
if (ep->type == EXFAT_UPCASE)
fs/exfat/dir.c
343
if (ep->type == EXFAT_VOLUME)
fs/exfat/dir.c
345
if (ep->type == EXFAT_FILE) {
fs/exfat/dir.c
346
if (le16_to_cpu(ep->dentry.file.attr) & EXFAT_ATTR_SUBDIR)
fs/exfat/dir.c
352
if (IS_EXFAT_BENIGN_PRI(ep->type)) {
fs/exfat/dir.c
353
if (ep->type == EXFAT_GUID)
fs/exfat/dir.c
355
if (ep->type == EXFAT_PADDING)
fs/exfat/dir.c
357
if (ep->type == EXFAT_ACLTAB)
fs/exfat/dir.c
361
if (IS_EXFAT_CRITICAL_SEC(ep->type)) {
fs/exfat/dir.c
362
if (ep->type == EXFAT_STREAM)
fs/exfat/dir.c
364
if (ep->type == EXFAT_NAME)
fs/exfat/dir.c
366
if (ep->type == EXFAT_ACL)
fs/exfat/dir.c
371
if (ep->type == EXFAT_VENDOR_EXT)
fs/exfat/dir.c
373
if (ep->type == EXFAT_VENDOR_ALLOC)
fs/exfat/dir.c
379
static void exfat_set_entry_type(struct exfat_dentry *ep, unsigned int type)
fs/exfat/dir.c
382
ep->type = EXFAT_UNUSED;
fs/exfat/dir.c
384
ep->type &= EXFAT_DELETE;
fs/exfat/dir.c
386
ep->type = EXFAT_STREAM;
fs/exfat/dir.c
388
ep->type = EXFAT_NAME;
fs/exfat/dir.c
390
ep->type = EXFAT_BITMAP;
fs/exfat/dir.c
392
ep->type = EXFAT_UPCASE;
fs/exfat/dir.c
394
ep->type = EXFAT_VOLUME;
fs/exfat/dir.c
396
ep->type = EXFAT_FILE;
fs/exfat/dir.c
397
ep->dentry.file.attr = cpu_to_le16(EXFAT_ATTR_SUBDIR);
fs/exfat/dir.c
399
ep->type = EXFAT_FILE;
fs/exfat/dir.c
400
ep->dentry.file.attr = cpu_to_le16(EXFAT_ATTR_ARCHIVE);
fs/exfat/dir.c
404
static void exfat_init_stream_entry(struct exfat_dentry *ep,
fs/exfat/dir.c
407
memset(ep, 0, sizeof(*ep));
fs/exfat/dir.c
408
exfat_set_entry_type(ep, TYPE_STREAM);
fs/exfat/dir.c
410
ep->dentry.stream.flags = ALLOC_FAT_CHAIN;
fs/exfat/dir.c
412
ep->dentry.stream.flags = ALLOC_NO_FAT_CHAIN;
fs/exfat/dir.c
413
ep->dentry.stream.start_clu = cpu_to_le32(start_clu);
fs/exfat/dir.c
414
ep->dentry.stream.valid_size = cpu_to_le64(size);
fs/exfat/dir.c
415
ep->dentry.stream.size = cpu_to_le64(size);
fs/exfat/dir.c
418
static void exfat_init_name_entry(struct exfat_dentry *ep,
fs/exfat/dir.c
423
exfat_set_entry_type(ep, TYPE_EXTEND);
fs/exfat/dir.c
424
ep->dentry.name.flags = 0x0;
fs/exfat/dir.c
428
ep->dentry.name.unicode_0_14[i] = cpu_to_le16(*uniname);
fs/exfat/dir.c
431
ep->dentry.name.unicode_0_14[i] = 0x0;
fs/exfat/dir.c
442
struct exfat_dentry *ep;
fs/exfat/dir.c
444
ep = exfat_get_dentry_cached(es, ES_IDX_FILE);
fs/exfat/dir.c
445
memset(ep, 0, sizeof(*ep));
fs/exfat/dir.c
446
exfat_set_entry_type(ep, type);
fs/exfat/dir.c
448
&ep->dentry.file.create_tz,
fs/exfat/dir.c
449
&ep->dentry.file.create_time,
fs/exfat/dir.c
450
&ep->dentry.file.create_date,
fs/exfat/dir.c
451
&ep->dentry.file.create_time_cs);
fs/exfat/dir.c
453
&ep->dentry.file.modify_tz,
fs/exfat/dir.c
454
&ep->dentry.file.modify_time,
fs/exfat/dir.c
455
&ep->dentry.file.modify_date,
fs/exfat/dir.c
456
&ep->dentry.file.modify_time_cs);
fs/exfat/dir.c
458
&ep->dentry.file.access_tz,
fs/exfat/dir.c
459
&ep->dentry.file.access_time,
fs/exfat/dir.c
460
&ep->dentry.file.access_date,
fs/exfat/dir.c
463
ep = exfat_get_dentry_cached(es, ES_IDX_STREAM);
fs/exfat/dir.c
464
exfat_init_stream_entry(ep, start_clu, size);
fs/exfat/dir.c
468
struct exfat_dentry *ep)
fs/exfat/dir.c
473
le32_to_cpu(ep->dentry.generic_secondary.start_clu);
fs/exfat/dir.c
474
u64 size = le64_to_cpu(ep->dentry.generic_secondary.size);
fs/exfat/dir.c
475
unsigned char flags = ep->dentry.generic_secondary.flags;
fs/exfat/dir.c
491
struct exfat_dentry *ep;
fs/exfat/dir.c
493
ep = exfat_get_dentry_cached(es, ES_IDX_FILE);
fs/exfat/dir.c
494
ep->dentry.file.num_ext = (unsigned char)(num_entries - 1);
fs/exfat/dir.c
496
ep = exfat_get_dentry_cached(es, ES_IDX_STREAM);
fs/exfat/dir.c
497
ep->dentry.stream.name_len = p_uniname->name_len;
fs/exfat/dir.c
498
ep->dentry.stream.name_hash = cpu_to_le16(p_uniname->name_hash);
fs/exfat/dir.c
501
ep = exfat_get_dentry_cached(es, i);
fs/exfat/dir.c
502
exfat_init_name_entry(ep, uniname);
fs/exfat/dir.c
51
struct exfat_dentry *ep = exfat_get_dentry_cached(&es, i);
fs/exfat/dir.c
513
struct exfat_dentry *ep;
fs/exfat/dir.c
516
ep = exfat_get_dentry_cached(es, i);
fs/exfat/dir.c
518
if (exfat_get_entry_type(ep) & TYPE_BENIGN_SEC)
fs/exfat/dir.c
519
exfat_free_benign_secondary_clusters(inode, ep);
fs/exfat/dir.c
521
exfat_set_entry_type(ep, TYPE_DELETED);
fs/exfat/dir.c
532
struct exfat_dentry *ep;
fs/exfat/dir.c
535
ep = exfat_get_dentry_cached(es, i);
fs/exfat/dir.c
536
chksum = exfat_calc_chksum16(ep, DENTRY_SIZE, chksum,
fs/exfat/dir.c
54
if (exfat_get_entry_type(ep) != TYPE_EXTEND)
fs/exfat/dir.c
540
ep = exfat_get_dentry_cached(es, ES_IDX_FILE);
fs/exfat/dir.c
541
ep->dentry.file.checksum = cpu_to_le16(chksum);
fs/exfat/dir.c
57
len = exfat_extract_uni_name(ep, uniname);
fs/exfat/dir.c
75
struct exfat_dentry *ep;
fs/exfat/dir.c
790
struct exfat_dentry *ep;
fs/exfat/dir.c
792
ep = exfat_get_dentry_cached(es, ES_IDX_FILE);
fs/exfat/dir.c
793
if (ep->type != EXFAT_FILE) {
fs/exfat/dir.c
798
num_entries = ep->dentry.file.num_ext + 1;
fs/exfat/dir.c
845
struct exfat_dentry *ep;
fs/exfat/dir.c
854
ep = exfat_get_dentry_cached(es, i);
fs/exfat/dir.c
855
if (!exfat_validate_entry(exfat_get_entry_type(ep), &mode))
fs/exfat/dir.c
867
struct exfat_dentry *ep;
fs/exfat/dir.c
879
ep = exfat_get_dentry_cached(es, i);
fs/exfat/dir.c
880
if (ep->type == EXFAT_UNUSED) {
fs/exfat/dir.c
882
} else if (!IS_EXFAT_DELETED(ep->type)) {
fs/exfat/dir.c
898
bh->b_blocknr, off >> DENTRY_SIZE_BITS, ep->type);
fs/exfat/dir.c
905
ep = exfat_get_dentry_cached(es, i);
fs/exfat/dir.c
906
if (IS_EXFAT_DELETED(ep->type))
fs/exfat/inode.c
23
struct exfat_dentry *ep, *ep2;
fs/exfat/inode.c
48
ep = exfat_get_dentry_cached(&es, ES_IDX_FILE);
fs/exfat/inode.c
51
ep->dentry.file.attr = cpu_to_le16(exfat_make_attr(inode));
fs/exfat/inode.c
55
&ep->dentry.file.create_tz,
fs/exfat/inode.c
56
&ep->dentry.file.create_time,
fs/exfat/inode.c
57
&ep->dentry.file.create_date,
fs/exfat/inode.c
58
&ep->dentry.file.create_time_cs);
fs/exfat/inode.c
61
&ep->dentry.file.modify_tz,
fs/exfat/inode.c
62
&ep->dentry.file.modify_time,
fs/exfat/inode.c
63
&ep->dentry.file.modify_date,
fs/exfat/inode.c
64
&ep->dentry.file.modify_time_cs);
fs/exfat/inode.c
67
&ep->dentry.file.access_tz,
fs/exfat/inode.c
68
&ep->dentry.file.access_time,
fs/exfat/inode.c
69
&ep->dentry.file.access_date,
fs/exfat/namei.c
599
struct exfat_dentry *ep, *ep2;
fs/exfat/namei.c
640
ep = exfat_get_dentry_cached(&es, ES_IDX_FILE);
fs/exfat/namei.c
643
info->type = exfat_get_entry_type(ep);
fs/exfat/namei.c
644
info->attr = le16_to_cpu(ep->dentry.file.attr);
fs/exfat/namei.c
669
ep->dentry.file.create_tz,
fs/exfat/namei.c
670
ep->dentry.file.create_time,
fs/exfat/namei.c
671
ep->dentry.file.create_date,
fs/exfat/namei.c
672
ep->dentry.file.create_time_cs);
fs/exfat/namei.c
674
ep->dentry.file.modify_tz,
fs/exfat/namei.c
675
ep->dentry.file.modify_time,
fs/exfat/namei.c
676
ep->dentry.file.modify_date,
fs/exfat/namei.c
677
ep->dentry.file.modify_time_cs);
fs/exfat/namei.c
679
ep->dentry.file.access_tz,
fs/exfat/namei.c
680
ep->dentry.file.access_time,
fs/exfat/namei.c
681
ep->dentry.file.access_date,
fs/exfat/namei.c
899
struct exfat_dentry *ep;
fs/exfat/namei.c
912
ep = exfat_get_dentry(sb, &clu, i, &bh);
fs/exfat/namei.c
913
if (!ep)
fs/exfat/namei.c
915
type = exfat_get_entry_type(ep);
fs/exfat/nls.c
746
struct exfat_dentry *ep;
fs/exfat/nls.c
755
ep = exfat_get_dentry(sb, &clu, i, &bh);
fs/exfat/nls.c
756
if (!ep)
fs/exfat/nls.c
759
type = exfat_get_entry_type(ep);
fs/exfat/nls.c
770
tbl_clu = le32_to_cpu(ep->dentry.upcase.start_clu);
fs/exfat/nls.c
771
tbl_size = le64_to_cpu(ep->dentry.upcase.size);
fs/exfat/nls.c
776
le32_to_cpu(ep->dentry.upcase.checksum));
fs/f2fs/node.c
239
nid_t start, unsigned int nr, struct nat_entry **ep)
fs/f2fs/node.c
241
return radix_tree_gang_lookup(&nm_i->nat_root, (void **)ep, start, nr);
fs/f2fs/node.c
322
nid_t start, unsigned int nr, struct nat_entry_set **ep)
fs/f2fs/node.c
324
return radix_tree_gang_lookup(&nm_i->nat_set_root, (void **)ep,
fs/xfs/libxfs/xfs_bmap.c
355
xfs_bmbt_rec_t *ep; /* pointer to current extent */
fs/xfs/libxfs/xfs_bmap.c
448
ep = xfs_bmbt_rec_addr(mp, block, 1);
fs/xfs/libxfs/xfs_bmap.c
452
xfs_bmbt_disk_get_startoff(ep));
fs/xfs/libxfs/xfs_bmap.c
456
ASSERT(xfs_bmbt_disk_get_startoff(ep) +
fs/xfs/libxfs/xfs_bmap.c
457
xfs_bmbt_disk_get_blockcount(ep) <=
fs/xfs/libxfs/xfs_bmap.c
459
ep = nextp;
fs/xfs/libxfs/xfs_bmap.c
462
last = *ep;
include/acpi/nhlt.h
102
bool acpi_nhlt_endpoint_match(const struct acpi_nhlt_endpoint *ep,
include/acpi/nhlt.h
110
acpi_nhlt_endpoint_find_fmtcfg(const struct acpi_nhlt_endpoint *ep,
include/acpi/nhlt.h
119
int acpi_nhlt_endpoint_mic_count(const struct acpi_nhlt_endpoint *ep);
include/acpi/nhlt.h
133
acpi_nhlt_endpoint_match(const struct acpi_nhlt_endpoint *ep,
include/acpi/nhlt.h
147
acpi_nhlt_endpoint_find_fmtcfg(const struct acpi_nhlt_endpoint *ep,
include/acpi/nhlt.h
161
static inline int acpi_nhlt_endpoint_mic_count(const struct acpi_nhlt_endpoint *ep)
include/acpi/nhlt.h
17
#define __acpi_nhlt_endpoint_config(ep) ((void *)((ep) + 1))
include/acpi/nhlt.h
27
acpi_nhlt_endpoint_fmtscfg(const struct acpi_nhlt_endpoint *ep)
include/acpi/nhlt.h
29
struct acpi_nhlt_config *cfg = __acpi_nhlt_endpoint_config(ep);
include/acpi/nhlt.h
37
#define __acpi_nhlt_next_endpoint(ep) \
include/acpi/nhlt.h
38
((void *)((u8 *)(ep) + (ep)->length))
include/acpi/nhlt.h
40
#define __acpi_nhlt_get_endpoint(tb, ep, i) \
include/acpi/nhlt.h
41
((i) ? __acpi_nhlt_next_endpoint(ep) : __acpi_nhlt_first_endpoint(tb))
include/acpi/nhlt.h
63
#define for_each_nhlt_endpoint(tb, ep) \
include/acpi/nhlt.h
66
(ep = __acpi_nhlt_get_endpoint(tb, ep, __i)); \
include/acpi/nhlt.h
85
#define for_each_nhlt_endpoint_fmtcfg(ep, fmt) \
include/acpi/nhlt.h
86
for_each_nhlt_fmtcfg(acpi_nhlt_endpoint_fmtscfg(ep), fmt)
include/linux/pds/pds_adminq.h
1197
__le32 ep;
include/linux/pds/pds_adminq.h
1311
__le32 ep;
include/linux/pds/pds_adminq.h
1394
__le32 ep;
include/linux/soc/apple/rtkit.h
167
int apple_rtkit_send_message(struct apple_rtkit *rtk, u8 ep, u64 message,
include/linux/sunrpc/cache.h
258
char *ep;
include/linux/sunrpc/cache.h
267
rv = simple_strtol(buf, &ep, 0);
include/linux/sunrpc/cache.h
268
if (*ep)
include/linux/usb.h
1643
struct usb_host_endpoint *ep; /* (internal) pointer to endpoint */
include/linux/usb.h
2060
struct usb_host_endpoint *ep = usb_pipe_endpoint(udev, pipe);
include/linux/usb.h
2062
if (!ep)
include/linux/usb.h
2066
return usb_endpoint_maxp(&ep->desc);
include/linux/usb.h
2070
const struct usb_host_endpoint *ep);
include/linux/usb.h
2073
const struct usb_host_endpoint *ep);
include/linux/usb/cdc-wdm.h
15
struct usb_endpoint_descriptor *ep,
include/linux/usb/ehci-dbgp.h
43
#define DBGP_EPADDR(dev, ep) (((dev)<<8)|(ep))
include/linux/usb/func_utils.h
75
struct usb_request *alloc_ep_req(struct usb_ep *ep, size_t len);
include/linux/usb/func_utils.h
78
static inline void free_ep_req(struct usb_ep *ep, struct usb_request *req)
include/linux/usb/func_utils.h
83
usb_ep_free_request(ep, req);
include/linux/usb/gadget.h
103
struct usb_ep *ep;
include/linux/usb/gadget.h
120
void (*complete)(struct usb_ep *ep,
include/linux/usb/gadget.h
141
int (*enable) (struct usb_ep *ep,
include/linux/usb/gadget.h
143
int (*disable) (struct usb_ep *ep);
include/linux/usb/gadget.h
144
void (*dispose) (struct usb_ep *ep);
include/linux/usb/gadget.h
146
struct usb_request *(*alloc_request) (struct usb_ep *ep,
include/linux/usb/gadget.h
148
void (*free_request) (struct usb_ep *ep, struct usb_request *req);
include/linux/usb/gadget.h
150
int (*queue) (struct usb_ep *ep, struct usb_request *req,
include/linux/usb/gadget.h
152
int (*dequeue) (struct usb_ep *ep, struct usb_request *req);
include/linux/usb/gadget.h
154
int (*set_halt) (struct usb_ep *ep, int value);
include/linux/usb/gadget.h
155
int (*set_wedge) (struct usb_ep *ep);
include/linux/usb/gadget.h
157
int (*fifo_status) (struct usb_ep *ep);
include/linux/usb/gadget.h
158
void (*fifo_flush) (struct usb_ep *ep);
include/linux/usb/gadget.h
252
void usb_ep_set_maxpacket_limit(struct usb_ep *ep, unsigned maxpacket_limit);
include/linux/usb/gadget.h
253
int usb_ep_enable(struct usb_ep *ep);
include/linux/usb/gadget.h
254
int usb_ep_disable(struct usb_ep *ep);
include/linux/usb/gadget.h
255
struct usb_request *usb_ep_alloc_request(struct usb_ep *ep, gfp_t gfp_flags);
include/linux/usb/gadget.h
256
void usb_ep_free_request(struct usb_ep *ep, struct usb_request *req);
include/linux/usb/gadget.h
257
int usb_ep_queue(struct usb_ep *ep, struct usb_request *req, gfp_t gfp_flags);
include/linux/usb/gadget.h
258
int usb_ep_dequeue(struct usb_ep *ep, struct usb_request *req);
include/linux/usb/gadget.h
259
int usb_ep_set_halt(struct usb_ep *ep);
include/linux/usb/gadget.h
260
int usb_ep_clear_halt(struct usb_ep *ep);
include/linux/usb/gadget.h
261
int usb_ep_set_wedge(struct usb_ep *ep);
include/linux/usb/gadget.h
262
int usb_ep_fifo_status(struct usb_ep *ep);
include/linux/usb/gadget.h
263
void usb_ep_fifo_flush(struct usb_ep *ep);
include/linux/usb/gadget.h
265
static inline void usb_ep_set_maxpacket_limit(struct usb_ep *ep,
include/linux/usb/gadget.h
268
static inline int usb_ep_enable(struct usb_ep *ep)
include/linux/usb/gadget.h
270
static inline int usb_ep_disable(struct usb_ep *ep)
include/linux/usb/gadget.h
272
static inline struct usb_request *usb_ep_alloc_request(struct usb_ep *ep,
include/linux/usb/gadget.h
275
static inline void usb_ep_free_request(struct usb_ep *ep,
include/linux/usb/gadget.h
278
static inline int usb_ep_queue(struct usb_ep *ep, struct usb_request *req,
include/linux/usb/gadget.h
281
static inline int usb_ep_dequeue(struct usb_ep *ep, struct usb_request *req)
include/linux/usb/gadget.h
283
static inline int usb_ep_set_halt(struct usb_ep *ep)
include/linux/usb/gadget.h
285
static inline int usb_ep_clear_halt(struct usb_ep *ep)
include/linux/usb/gadget.h
287
static inline int usb_ep_set_wedge(struct usb_ep *ep)
include/linux/usb/gadget.h
289
static inline int usb_ep_fifo_status(struct usb_ep *ep)
include/linux/usb/gadget.h
291
static inline void usb_ep_fifo_flush(struct usb_ep *ep)
include/linux/usb/gadget.h
312
usb_ep_free_request(req->ep, req);
include/linux/usb/gadget.h
532
static inline size_t usb_ep_align(struct usb_ep *ep, size_t len)
include/linux/usb/gadget.h
534
int max_packet_size = (size_t)usb_endpoint_maxp(ep->desc);
include/linux/usb/gadget.h
550
usb_ep_align_maybe(struct usb_gadget *g, struct usb_ep *ep, size_t len)
include/linux/usb/gadget.h
552
return g->quirk_ep_out_aligned_size ? usb_ep_align(ep, len) : len;
include/linux/usb/gadget.h
961
extern void usb_gadget_giveback_request(struct usb_ep *ep,
include/linux/usb/gadget.h
976
struct usb_ep *ep, struct usb_endpoint_descriptor *desc,
include/linux/usb/hcd.h
303
struct usb_host_endpoint *ep);
include/linux/usb/hcd.h
308
struct usb_host_endpoint *ep);
include/linux/usb/hcd.h
415
struct usb_host_endpoint *ep)
include/linux/usb/hcd.h
417
return hcd->high_prio_bh.completing_ep == ep;
include/linux/usb/hcd.h
439
struct usb_host_endpoint *ep);
include/linux/usb/hcd.h
441
struct usb_host_endpoint *ep);
include/linux/usb/hcd.h
443
struct usb_host_endpoint *ep);
include/linux/usb/hcd.h
537
#define usb_gettoggle(dev, ep, out) (((dev)->toggle[out] >> (ep)) & 1)
include/linux/usb/hcd.h
538
#define usb_dotoggle(dev, ep, out) ((dev)->toggle[out] ^= (1 << (ep)))
include/linux/usb/hcd.h
539
#define usb_settoggle(dev, ep, out, bit) \
include/linux/usb/hcd.h
540
((dev)->toggle[out] = ((dev)->toggle[out] & ~(1 << (ep))) | \
include/linux/usb/hcd.h
541
((bit) << (ep)))
include/linux/usb/hcd.h
592
struct usb_host_endpoint *ep;
include/linux/usb/musb.h
44
#define MUSB_EP_FIFO(ep, st, m, pkt) \
include/linux/usb/musb.h
46
.hw_ep_num = ep, \
include/linux/usb/musb.h
52
#define MUSB_EP_FIFO_SINGLE(ep, st, pkt) \
include/linux/usb/musb.h
53
MUSB_EP_FIFO(ep, st, BUF_SINGLE, pkt)
include/linux/usb/musb.h
55
#define MUSB_EP_FIFO_DOUBLE(ep, st, pkt) \
include/linux/usb/musb.h
56
MUSB_EP_FIFO(ep, st, BUF_DOUBLE, pkt)
include/linux/usbdevice_fs.h
48
compat_uint_t ep;
include/media/v4l2-async.h
222
#define v4l2_async_nf_add_fwnode_remote(notifier, ep, type) \
include/media/v4l2-async.h
223
((type *)__v4l2_async_nf_add_fwnode_remote(notifier, ep, sizeof(type)))
include/net/sctp/auth.h
100
int sctp_auth_del_key_id(struct sctp_endpoint *ep,
include/net/sctp/auth.h
102
int sctp_auth_deact_key_id(struct sctp_endpoint *ep,
include/net/sctp/auth.h
104
int sctp_auth_init(struct sctp_endpoint *ep, gfp_t gfp);
include/net/sctp/auth.h
105
void sctp_auth_free(struct sctp_endpoint *ep);
include/net/sctp/auth.h
72
int sctp_auth_asoc_copy_shkeys(const struct sctp_endpoint *ep,
include/net/sctp/auth.h
93
int sctp_auth_ep_add_chunkid(struct sctp_endpoint *ep, __u8 chunk_id);
include/net/sctp/auth.h
94
int sctp_auth_ep_set_hmacs(struct sctp_endpoint *ep,
include/net/sctp/auth.h
96
int sctp_auth_set_key(struct sctp_endpoint *ep, struct sctp_association *asoc,
include/net/sctp/auth.h
98
int sctp_auth_set_active_key(struct sctp_endpoint *ep,
include/net/sctp/sctp.h
135
int sctp_hash_endpoint(struct sctp_endpoint *ep);
include/net/sctp/sctp.h
160
const struct sctp_endpoint *ep,
include/net/sctp/sctp.h
504
#define sctp_for_each_hentry(ep, head) \
include/net/sctp/sctp.h
505
hlist_for_each_entry(ep, head, node)
include/net/sctp/structs.h
1332
struct sctp_endpoint *ep;
include/net/sctp/structs.h
1334
ep = container_of(base, struct sctp_endpoint, base);
include/net/sctp/structs.h
1335
return ep;
include/net/sctp/structs.h
1342
int sctp_endpoint_hold(struct sctp_endpoint *ep);
include/net/sctp/structs.h
1345
const struct sctp_endpoint *ep,
include/net/sctp/structs.h
1348
bool sctp_endpoint_is_peeled_off(struct sctp_endpoint *ep,
include/net/sctp/structs.h
1350
struct sctp_endpoint *sctp_endpoint_is_match(struct sctp_endpoint *ep,
include/net/sctp/structs.h
1357
int sctp_verify_init(struct net *net, const struct sctp_endpoint *ep,
include/net/sctp/structs.h
1561
struct sctp_endpoint *ep;
include/net/sctp/structs.h
159
struct sctp_endpoint *ep;
include/net/sctp/structs.h
2110
sctp_association_new(const struct sctp_endpoint *ep, const struct sock *sk,
include/scsi/scsi_transport_iscsi.h
125
int (*ep_poll) (struct iscsi_endpoint *ep, int timeout_ms);
include/scsi/scsi_transport_iscsi.h
126
void (*ep_disconnect) (struct iscsi_endpoint *ep);
include/scsi/scsi_transport_iscsi.h
212
struct iscsi_endpoint *ep;
include/scsi/scsi_transport_iscsi.h
462
extern void iscsi_destroy_endpoint(struct iscsi_endpoint *ep);
include/scsi/scsi_transport_iscsi.h
464
extern void iscsi_put_endpoint(struct iscsi_endpoint *ep);
include/scsi/scsi_transport_iscsi.h
79
struct iscsi_cls_session *(*create_session) (struct iscsi_endpoint *ep,
include/scsi/scsi_transport_iscsi.h
94
int (*get_ep_param) (struct iscsi_endpoint *ep, enum iscsi_param param,
include/sound/simple_card_utils.h
204
int graph_util_parse_dai(struct simple_util_priv *priv, struct device_node *ep,
include/sound/soc-component.h
385
struct device_node *ep);
include/sound/soc.h
1380
int snd_soc_get_dai_id(struct device_node *ep);
include/trace/events/rpcrdma.h
1022
const struct rpcrdma_ep *ep = r_xprt->rx_ep;
include/trace/events/rpcrdma.h
1024
__entry->cq_id = ep->re_attr.recv_cq->res.id;
include/trace/events/rpcrdma.h
1026
__entry->posted = ep->re_receive_count;
include/trace/events/rpcrdma.h
1053
const struct rpcrdma_ep *ep = r_xprt->rx_ep;
include/trace/events/rpcrdma.h
1055
__entry->cq_id = ep->re_attr.recv_cq->res.id;
include/trace/events/rpcrdma.h
635
const struct rpcrdma_ep *ep
include/trace/events/rpcrdma.h
638
TP_ARGS(ep),
include/trace/events/rpcrdma.h
650
const struct rdma_cm_id *id = ep->re_id;
include/trace/events/rpcrdma.h
652
__entry->inline_send = ep->re_inline_send;
include/trace/events/rpcrdma.h
653
__entry->inline_recv = ep->re_inline_recv;
include/trace/events/rpcrdma.h
654
__entry->max_send = ep->re_max_inline_send;
include/trace/events/rpcrdma.h
655
__entry->max_recv = ep->re_max_inline_recv;
include/trace/events/rpcrdma.h
988
const struct rpcrdma_ep *ep = r_xprt->rx_ep;
include/trace/events/rpcrdma.h
990
__entry->cq_id = ep ? ep->re_attr.recv_cq->res.id : 0;
include/trace/events/sctp.h
52
TP_PROTO(const struct sctp_endpoint *ep,
include/trace/events/sctp.h
56
TP_ARGS(ep, asoc, chunk),
include/trace/events/sctp.h
73
__entry->bind_port = ep->base.bind_addr.port;
include/uapi/fwctl/pds.h
50
__u32 ep;
include/uapi/linux/ethtool.h
122
static inline void ethtool_cmd_speed_set(struct ethtool_cmd *ep,
include/uapi/linux/ethtool.h
125
ep->speed = (__u16)(speed & 0xFFFF);
include/uapi/linux/ethtool.h
126
ep->speed_hi = (__u16)(speed >> 16);
include/uapi/linux/ethtool.h
129
static inline __u32 ethtool_cmd_speed(const struct ethtool_cmd *ep)
include/uapi/linux/ethtool.h
131
return (ep->speed_hi << 16) | ep->speed;
include/uapi/linux/usb/raw_gadget.h
100
__u16 ep;
include/uapi/linux/usbdevice_fs.h
51
unsigned int ep;
kernel/debug/kdb/kdb_main.c
233
char **ep = __env;
kernel/debug/kdb/kdb_main.c
238
char *e = *ep++;
kernel/debug/kdb/kdb_main.c
265
char *ep;
kernel/debug/kdb/kdb_main.c
267
ep = kdbgetenv(match);
kernel/debug/kdb/kdb_main.c
268
if (!ep)
kernel/debug/kdb/kdb_main.c
270
if (strlen(ep) == 0)
kernel/debug/kdb/kdb_main.c
272
if (kstrtoul(ep, 0, value))
kernel/debug/kdb/kdb_main.c
309
char *ep;
kernel/debug/kdb/kdb_main.c
314
ep = kmalloc(varlen + vallen + 2, GFP_KDB);
kernel/debug/kdb/kdb_main.c
315
if (!ep)
kernel/debug/kdb/kdb_main.c
318
sprintf(ep, "%s=%s", var, val);
kernel/debug/kdb/kdb_main.c
326
__env[i] = ep;
kernel/debug/kdb/kdb_main.c
336
__env[i] = ep;
kernel/trace/trace_eprobe.c
100
if (trace_probe_is_enabled(&ep->tp))
kernel/trace/trace_eprobe.c
104
if (trace_probe_unregister_event_call(&ep->tp))
kernel/trace/trace_eprobe.c
108
dyn_event_remove(&ep->devent);
kernel/trace/trace_eprobe.c
109
trace_probe_unlink(&ep->tp);
kernel/trace/trace_eprobe.c
116
struct trace_eprobe *ep = to_trace_eprobe(ev);
kernel/trace/trace_eprobe.c
117
int ret = unregister_trace_eprobe(ep);
kernel/trace/trace_eprobe.c
120
trace_event_probe_cleanup(ep);
kernel/trace/trace_eprobe.c
126
struct trace_eprobe *ep = to_trace_eprobe(ev);
kernel/trace/trace_eprobe.c
128
return trace_probe_is_enabled(&ep->tp);
kernel/trace/trace_eprobe.c
134
struct trace_eprobe *ep = to_trace_eprobe(ev);
kernel/trace/trace_eprobe.c
156
if (system && strcmp(trace_probe_group_name(&ep->tp), system) != 0)
kernel/trace/trace_eprobe.c
160
if (event[0] != '\0' && strcmp(trace_probe_name(&ep->tp), event) != 0)
kernel/trace/trace_eprobe.c
175
if (strncmp(ep->event_system, argv[0], slash - argv[0]))
kernel/trace/trace_eprobe.c
177
if (strcmp(ep->event_name, slash + 1))
kernel/trace/trace_eprobe.c
187
return trace_probe_match_command_args(&ep->tp, argc, argv);
kernel/trace/trace_eprobe.c
203
struct trace_eprobe *ep __free(trace_event_probe_cleanup) = NULL;
kernel/trace/trace_eprobe.c
214
ep = kzalloc_flex(*ep, tp.args, nargs);
kernel/trace/trace_eprobe.c
215
if (!ep) {
kernel/trace/trace_eprobe.c
219
ep->event = event;
kernel/trace/trace_eprobe.c
220
ep->event_name = kstrdup(event_name, GFP_KERNEL);
kernel/trace/trace_eprobe.c
221
if (!ep->event_name)
kernel/trace/trace_eprobe.c
223
ep->event_system = kstrdup(sys_name, GFP_KERNEL);
kernel/trace/trace_eprobe.c
224
if (!ep->event_system)
kernel/trace/trace_eprobe.c
227
ret = trace_probe_init(&ep->tp, this_event, group, false, nargs);
kernel/trace/trace_eprobe.c
231
dyn_event_init(&ep->devent, &eprobe_dyn_event_ops);
kernel/trace/trace_eprobe.c
232
return_ptr(ep);
kernel/trace/trace_eprobe.c
262
struct trace_eprobe *ep;
kernel/trace/trace_eprobe.c
272
ep = container_of(tp, struct trace_eprobe, tp);
kernel/trace/trace_eprobe.c
273
type = ep->event->event.type;
kernel/trace/trace_eprobe.c
42
struct trace_eprobe *ep;
kernel/trace/trace_eprobe.c
428
struct trace_event_call *call = trace_probe_event_call(&edata->ep->tp);
kernel/trace/trace_eprobe.c
438
dsize = get_eprobe_size(&edata->ep->tp, rec);
kernel/trace/trace_eprobe.c
441
sizeof(*entry) + edata->ep->tp.size + dsize);
kernel/trace/trace_eprobe.c
447
store_trace_args(&entry[1], &edata->ep->tp, rec, NULL, sizeof(*entry), dsize);
kernel/trace/trace_eprobe.c
46
#define for_each_trace_eprobe_tp(ep, _tp) \
kernel/trace/trace_eprobe.c
47
list_for_each_entry(ep, trace_probe_probe_list(_tp), tp.list)
kernel/trace/trace_eprobe.c
51
static void trace_event_probe_cleanup(struct trace_eprobe *ep)
kernel/trace/trace_eprobe.c
525
new_eprobe_trigger(struct trace_eprobe *ep, struct trace_event_file *file)
kernel/trace/trace_eprobe.c
53
if (!ep)
kernel/trace/trace_eprobe.c
55
trace_probe_cleanup(&ep->tp);
kernel/trace/trace_eprobe.c
551
if (ep->filter_str) {
kernel/trace/trace_eprobe.c
552
ret = create_event_filter(file->tr, ep->event,
kernel/trace/trace_eprobe.c
553
ep->filter_str, false, &filter);
kernel/trace/trace_eprobe.c
56
kfree(ep->event_name);
kernel/trace/trace_eprobe.c
560
edata->ep = ep;
kernel/trace/trace_eprobe.c
57
kfree(ep->event_system);
kernel/trace/trace_eprobe.c
571
static int enable_eprobe(struct trace_eprobe *ep,
kernel/trace/trace_eprobe.c
578
file = find_event_file(tr, ep->event_system, ep->event_name);
kernel/trace/trace_eprobe.c
58
if (ep->event)
kernel/trace/trace_eprobe.c
581
trigger = new_eprobe_trigger(ep, eprobe_file);
kernel/trace/trace_eprobe.c
59
trace_event_put_ref(ep->event);
kernel/trace/trace_eprobe.c
597
static int disable_eprobe(struct trace_eprobe *ep,
kernel/trace/trace_eprobe.c
60
kfree(ep->filter_str);
kernel/trace/trace_eprobe.c
605
file = find_event_file(tr, ep->event_system, ep->event_name);
kernel/trace/trace_eprobe.c
61
kfree(ep);
kernel/trace/trace_eprobe.c
613
if (edata->ep == ep) {
kernel/trace/trace_eprobe.c
643
struct trace_eprobe *ep;
kernel/trace/trace_eprobe.c
664
for_each_trace_eprobe_tp(ep, tp) {
kernel/trace/trace_eprobe.c
665
ret = enable_eprobe(ep, file);
kernel/trace/trace_eprobe.c
681
for_each_trace_eprobe_tp(ep, tp) {
kernel/trace/trace_eprobe.c
682
disable_eprobe(ep, file->tr);
kernel/trace/trace_eprobe.c
700
struct trace_eprobe *ep;
kernel/trace/trace_eprobe.c
716
for_each_trace_eprobe_tp(ep, tp)
kernel/trace/trace_eprobe.c
717
disable_eprobe(ep, file->tr);
kernel/trace/trace_eprobe.c
756
static inline void init_trace_eprobe_call(struct trace_eprobe *ep)
kernel/trace/trace_eprobe.c
758
struct trace_event_call *call = trace_probe_event_call(&ep->tp);
kernel/trace/trace_eprobe.c
79
struct trace_eprobe *ep = to_trace_eprobe(ev);
kernel/trace/trace_eprobe.c
793
static int trace_eprobe_parse_filter(struct trace_eprobe *ep, int argc, const char *argv[])
kernel/trace/trace_eprobe.c
808
ep->filter_str = kzalloc(len, GFP_KERNEL);
kernel/trace/trace_eprobe.c
809
if (!ep->filter_str)
kernel/trace/trace_eprobe.c
812
p = ep->filter_str;
kernel/trace/trace_eprobe.c
82
seq_printf(m, "e:%s/%s", trace_probe_group_name(&ep->tp),
kernel/trace/trace_eprobe.c
826
ret = create_event_filter(top_trace_array(), ep->event, ep->filter_str,
kernel/trace/trace_eprobe.c
83
trace_probe_name(&ep->tp));
kernel/trace/trace_eprobe.c
830
kfree(ep->filter_str);
kernel/trace/trace_eprobe.c
831
ep->filter_str = NULL;
kernel/trace/trace_eprobe.c
84
seq_printf(m, " %s.%s", ep->event_system, ep->event_name);
kernel/trace/trace_eprobe.c
845
struct trace_eprobe *ep __free(trace_event_probe_cleanup) = NULL;
kernel/trace/trace_eprobe.c
86
for (i = 0; i < ep->tp.nr_args; i++)
kernel/trace/trace_eprobe.c
87
seq_printf(m, " %s=%s", ep->tp.args[i].name, ep->tp.args[i].comm);
kernel/trace/trace_eprobe.c
910
ep = alloc_event_probe(group, event, event_call, argc - 2);
kernel/trace/trace_eprobe.c
913
if (IS_ERR(ep)) {
kernel/trace/trace_eprobe.c
914
ret = PTR_ERR(ep);
kernel/trace/trace_eprobe.c
924
ret = trace_eprobe_parse_filter(ep, filter_cnt, argv + filter_idx);
kernel/trace/trace_eprobe.c
928
ep->filter_str = NULL;
kernel/trace/trace_eprobe.c
93
static int unregister_trace_eprobe(struct trace_eprobe *ep)
kernel/trace/trace_eprobe.c
933
ctx->event = ep->event;
kernel/trace/trace_eprobe.c
941
ret = traceprobe_parse_probe_arg(&ep->tp, i, argv[i], ctx);
kernel/trace/trace_eprobe.c
944
ret = traceprobe_update_arg(&ep->tp.args[i]);
kernel/trace/trace_eprobe.c
948
ret = traceprobe_set_print_fmt(&ep->tp, PROBE_PRINT_EVENT);
kernel/trace/trace_eprobe.c
952
init_trace_eprobe_call(ep);
kernel/trace/trace_eprobe.c
954
ret = trace_probe_register_event_call(&ep->tp);
kernel/trace/trace_eprobe.c
96
if (trace_probe_has_sibling(&ep->tp))
kernel/trace/trace_eprobe.c
962
ret = dyn_event_add(&ep->devent, &ep->tp.event->call);
kernel/trace/trace_eprobe.c
964
trace_probe_unregister_event_call(&ep->tp);
kernel/trace/trace_eprobe.c
968
ep = NULL;
lib/crypto/mpi/mpi-pow.c
110
if (rp == ep || rp == mp || rp == bp) {
lib/crypto/mpi/mpi-pow.c
129
if (rp == ep) {
lib/crypto/mpi/mpi-pow.c
131
ep = ep_marker = mpi_alloc_limb_space(esize);
lib/crypto/mpi/mpi-pow.c
132
if (!ep)
lib/crypto/mpi/mpi-pow.c
134
MPN_COPY(ep, rp, esize);
lib/crypto/mpi/mpi-pow.c
161
negative_result = (ep[0] & 1) && base->sign;
lib/crypto/mpi/mpi-pow.c
164
e = ep[i];
lib/crypto/mpi/mpi-pow.c
248
e = ep[i];
lib/crypto/mpi/mpi-pow.c
32
mpi_ptr_t rp, ep, mp, bp;
lib/crypto/mpi/mpi-pow.c
49
ep = exp->d;
lib/lwq.c
51
struct llist_node *r, *t, **ep;
lib/lwq.c
61
ep = &r;
lib/lwq.c
62
while (*ep)
lib/lwq.c
63
ep = &(*ep)->next;
lib/lwq.c
64
*ep = llist_reverse_order(t);
mm/page_counter.c
345
unsigned long ep;
mm/page_counter.c
376
ep = protected;
mm/page_counter.c
395
return ep;
mm/page_counter.c
406
ep += unclaimed;
mm/page_counter.c
409
return ep;
net/9p/trans_usbg.c
148
static void usb9pfs_tx_complete(struct usb_ep *ep, struct usb_request *req)
net/9p/trans_usbg.c
150
struct f_usb9pfs *usb9pfs = ep->driver_data;
net/9p/trans_usbg.c
160
ep->name, req->status, req->actual, req->length);
net/9p/trans_usbg.c
165
ep->name, req->status, req->actual, req->length);
net/9p/trans_usbg.c
230
static void usb9pfs_rx_complete(struct usb_ep *ep, struct usb_request *req)
net/9p/trans_usbg.c
232
struct f_usb9pfs *usb9pfs = ep->driver_data;
net/9p/trans_usbg.c
240
ep->name, req->status, req->actual, req->length);
net/9p/trans_usbg.c
251
ep->name, req_size, p9_rx_req->rc.capacity);
net/9p/trans_usbg.c
266
static void disable_ep(struct usb_composite_dev *cdev, struct usb_ep *ep)
net/9p/trans_usbg.c
270
value = usb_ep_disable(ep);
net/9p/trans_usbg.c
273
"disable %s --> %d\n", ep->name, value);
net/9p/trans_usbg.c
330
struct f_usb9pfs *usb9pfs, struct usb_ep *ep)
net/9p/trans_usbg.c
334
ret = config_ep_by_speed(cdev->gadget, &usb9pfs->function, ep);
net/9p/trans_usbg.c
338
ret = usb_ep_enable(ep);
net/9p/trans_usbg.c
342
ep->driver_data = usb9pfs;
net/netfilter/ipvs/ip_vs_ftp.c
187
const char *ep;
net/netfilter/ipvs/ip_vs_ftp.c
204
&ep) <= 0)
net/netfilter/ipvs/ip_vs_ftp.c
208
&ep) <= 0)
net/netfilter/ipvs/ip_vs_ftp.c
211
s = (char *) ep;
net/netfilter/ipvs/ip_vs_lblcr.c
151
struct ip_vs_dest_set_elem *e, *ep;
net/netfilter/ipvs/ip_vs_lblcr.c
153
list_for_each_entry_safe(e, ep, &set->list, list) {
net/qrtr/af_qrtr.c
128
struct qrtr_endpoint *ep;
net/qrtr/af_qrtr.c
291
!node->ep);
net/qrtr/af_qrtr.c
294
} else if (!node->ep) {
net/qrtr/af_qrtr.c
371
if (node->ep)
net/qrtr/af_qrtr.c
372
rc = node->ep->xmit(node->ep, skb);
net/qrtr/af_qrtr.c
431
int qrtr_endpoint_post(struct qrtr_endpoint *ep, const void *data, size_t len)
net/qrtr/af_qrtr.c
433
struct qrtr_node *node = ep->node;
net/qrtr/af_qrtr.c
581
int qrtr_endpoint_register(struct qrtr_endpoint *ep, unsigned int nid)
net/qrtr/af_qrtr.c
585
if (!ep || !ep->xmit)
net/qrtr/af_qrtr.c
596
node->ep = ep;
net/qrtr/af_qrtr.c
606
ep->node = node;
net/qrtr/af_qrtr.c
616
void qrtr_endpoint_unregister(struct qrtr_endpoint *ep)
net/qrtr/af_qrtr.c
618
struct qrtr_node *node = ep->node;
net/qrtr/af_qrtr.c
630
node->ep = NULL;
net/qrtr/af_qrtr.c
654
ep->node = NULL;
net/qrtr/mhi.c
122
qdev->ep.xmit = qcom_mhi_qrtr_send;
net/qrtr/mhi.c
131
rc = qrtr_endpoint_register(&qdev->ep, QRTR_EP_NID_AUTO);
net/qrtr/mhi.c
144
qrtr_endpoint_unregister(&qdev->ep);
net/qrtr/mhi.c
15
struct qrtr_endpoint ep;
net/qrtr/mhi.c
155
qrtr_endpoint_unregister(&qdev->ep);
net/qrtr/mhi.c
36
rc = qrtr_endpoint_post(&qdev->ep, mhi_res->buf_addr,
net/qrtr/mhi.c
60
static int qcom_mhi_qrtr_send(struct qrtr_endpoint *ep, struct sk_buff *skb)
net/qrtr/mhi.c
62
struct qrtr_mhi_dev *qdev = container_of(ep, struct qrtr_mhi_dev, ep);
net/qrtr/qrtr.h
21
int (*xmit)(struct qrtr_endpoint *ep, struct sk_buff *skb);
net/qrtr/qrtr.h
26
int qrtr_endpoint_register(struct qrtr_endpoint *ep, unsigned int nid);
net/qrtr/qrtr.h
28
void qrtr_endpoint_unregister(struct qrtr_endpoint *ep);
net/qrtr/qrtr.h
30
int qrtr_endpoint_post(struct qrtr_endpoint *ep, const void *data, size_t len);
net/qrtr/smd.c
14
struct qrtr_endpoint ep;
net/qrtr/smd.c
29
rc = qrtr_endpoint_post(&qdev->ep, data, len);
net/qrtr/smd.c
40
static int qcom_smd_qrtr_send(struct qrtr_endpoint *ep, struct sk_buff *skb)
net/qrtr/smd.c
42
struct qrtr_smd_dev *qdev = container_of(ep, struct qrtr_smd_dev, ep);
net/qrtr/smd.c
70
qdev->ep.xmit = qcom_smd_qrtr_send;
net/qrtr/smd.c
72
rc = qrtr_endpoint_register(&qdev->ep, QRTR_EP_NID_AUTO);
net/qrtr/smd.c
87
qrtr_endpoint_unregister(&qdev->ep);
net/qrtr/tun.c
108
ret = qrtr_endpoint_post(&tun->ep, kbuf, len);
net/qrtr/tun.c
13
struct qrtr_endpoint ep;
net/qrtr/tun.c
131
qrtr_endpoint_unregister(&tun->ep);
net/qrtr/tun.c
19
static int qrtr_tun_send(struct qrtr_endpoint *ep, struct sk_buff *skb)
net/qrtr/tun.c
21
struct qrtr_tun *tun = container_of(ep, struct qrtr_tun, ep);
net/qrtr/tun.c
43
tun->ep.xmit = qrtr_tun_send;
net/qrtr/tun.c
47
ret = qrtr_endpoint_register(&tun->ep, QRTR_EP_NID_AUTO);
net/sctp/associola.c
1035
state, ep, asoc, chunk, GFP_ATOMIC);
net/sctp/associola.c
1069
sctp_endpoint_put(assoc->ep);
net/sctp/associola.c
1073
assoc->ep = newsp->ep;
net/sctp/associola.c
1074
sctp_endpoint_hold(assoc->ep);
net/sctp/associola.c
1081
sctp_endpoint_add_asoc(newsp->ep, assoc);
net/sctp/associola.c
1522
if (asoc->ep->rcvbuf_policy)
net/sctp/associola.c
1573
&asoc->ep->base.bind_addr,
net/sctp/associola.c
1588
asoc->ep->base.bind_addr.port, gfp);
net/sctp/associola.c
178
asoc->c.my_vtag = sctp_generate_tag(ep);
net/sctp/associola.c
179
asoc->c.my_port = ep->base.bind_addr.port;
net/sctp/associola.c
181
asoc->c.initial_tsn = sctp_generate_tsn(ep);
net/sctp/associola.c
256
if (sctp_auth_asoc_copy_shkeys(ep, asoc, gfp))
net/sctp/associola.c
259
asoc->active_key_id = ep->active_key_id;
net/sctp/associola.c
260
asoc->strreset_enable = ep->strreset_enable;
net/sctp/associola.c
263
if (ep->auth_hmacs_list)
net/sctp/associola.c
264
memcpy(asoc->c.auth_hmacs, ep->auth_hmacs_list,
net/sctp/associola.c
265
ntohs(ep->auth_hmacs_list->param_hdr.length));
net/sctp/associola.c
266
if (ep->auth_chunk_list)
net/sctp/associola.c
267
memcpy(asoc->c.auth_chunks, ep->auth_chunk_list,
net/sctp/associola.c
268
ntohs(ep->auth_chunk_list->param_hdr.length));
net/sctp/associola.c
281
sctp_endpoint_put(asoc->ep);
net/sctp/associola.c
286
struct sctp_association *sctp_association_new(const struct sctp_endpoint *ep,
net/sctp/associola.c
296
if (!sctp_association_init(asoc, ep, sk, scope, gfp))
net/sctp/associola.c
407
sctp_endpoint_put(asoc->ep);
net/sctp/associola.c
53
const struct sctp_endpoint *ep,
net/sctp/associola.c
65
asoc->ep = (struct sctp_endpoint *)ep;
net/sctp/associola.c
69
sctp_endpoint_hold(asoc->ep);
net/sctp/associola.c
79
sctp_bind_addr_init(&asoc->base.bind_addr, ep->base.bind_addr.port);
net/sctp/associola.c
968
struct sctp_endpoint *ep;
net/sctp/associola.c
976
ep = asoc->ep;
net/sctp/auth.c
354
int sctp_auth_asoc_copy_shkeys(const struct sctp_endpoint *ep,
net/sctp/auth.c
363
key_for_each(sh_key, &ep->endpoint_shared_keys) {
net/sctp/auth.c
662
int sctp_auth_ep_add_chunkid(struct sctp_endpoint *ep, __u8 chunk_id)
net/sctp/auth.c
664
struct sctp_chunks_param *p = ep->auth_chunk_list;
net/sctp/auth.c
684
int sctp_auth_ep_set_hmacs(struct sctp_endpoint *ep,
net/sctp/auth.c
708
ep->auth_hmacs_list->hmac_ids[i] =
net/sctp/auth.c
710
ep->auth_hmacs_list->param_hdr.length =
net/sctp/auth.c
720
int sctp_auth_set_key(struct sctp_endpoint *ep,
net/sctp/auth.c
737
if (!ep->auth_enable)
net/sctp/auth.c
739
sh_keys = &ep->endpoint_shared_keys;
net/sctp/auth.c
783
int sctp_auth_set_active_key(struct sctp_endpoint *ep,
net/sctp/auth.c
797
if (!ep->auth_enable)
net/sctp/auth.c
799
sh_keys = &ep->endpoint_shared_keys;
net/sctp/auth.c
821
ep->active_key_id = key_id;
net/sctp/auth.c
826
int sctp_auth_del_key_id(struct sctp_endpoint *ep,
net/sctp/auth.c
845
if (!ep->auth_enable)
net/sctp/auth.c
847
if (ep->active_key_id == key_id)
net/sctp/auth.c
850
sh_keys = &ep->endpoint_shared_keys;
net/sctp/auth.c
870
int sctp_auth_deact_key_id(struct sctp_endpoint *ep,
net/sctp/auth.c
888
if (!ep->auth_enable)
net/sctp/auth.c
890
if (ep->active_key_id == key_id)
net/sctp/auth.c
893
sh_keys = &ep->endpoint_shared_keys;
net/sctp/auth.c
925
int sctp_auth_init(struct sctp_endpoint *ep, gfp_t gfp)
net/sctp/auth.c
931
if (!ep->auth_hmacs_list) {
net/sctp/auth.c
947
ep->auth_hmacs_list = auth_hmacs;
net/sctp/auth.c
950
if (!ep->auth_chunk_list) {
net/sctp/auth.c
961
ep->auth_chunk_list = auth_chunks;
net/sctp/auth.c
968
kfree(ep->auth_hmacs_list);
net/sctp/auth.c
969
kfree(ep->auth_chunk_list);
net/sctp/auth.c
970
ep->auth_hmacs_list = NULL;
net/sctp/auth.c
971
ep->auth_chunk_list = NULL;
net/sctp/auth.c
975
void sctp_auth_free(struct sctp_endpoint *ep)
net/sctp/auth.c
977
kfree(ep->auth_hmacs_list);
net/sctp/auth.c
978
kfree(ep->auth_chunk_list);
net/sctp/auth.c
979
ep->auth_hmacs_list = NULL;
net/sctp/auth.c
980
ep->auth_chunk_list = NULL;
net/sctp/bind_addr.c
337
struct sctp_bind_addr *bp2 = &sp2->ep->base.bind_addr;
net/sctp/bind_addr.c
338
struct sctp_bind_addr *bp = &sp->ep->base.bind_addr;
net/sctp/bind_addr.c
551
bp = &sctp_sk(sk)->ep->base.bind_addr;
net/sctp/diag.c
134
struct sctp_endpoint *ep = sctp_sk(sk)->ep;
net/sctp/diag.c
167
if (asoc && asoc->ep->sndbuf_policy)
net/sctp/diag.c
172
if (asoc && asoc->ep->rcvbuf_policy)
net/sctp/diag.c
205
: &ep->base.bind_addr.address_list;
net/sctp/diag.c
253
static int sctp_sock_dump_one(struct sctp_endpoint *ep, struct sctp_transport *tsp, void *p)
net/sctp/diag.c
257
struct sock *sk = ep->base.sk;
net/sctp/diag.c
275
if (ep != assoc->ep) {
net/sctp/diag.c
297
static int sctp_sock_dump(struct sctp_endpoint *ep, struct sctp_transport *tsp, void *p)
net/sctp/diag.c
300
struct sock *sk = ep->base.sk;
net/sctp/diag.c
308
if (ep != tsp->asoc->ep)
net/sctp/diag.c
310
list_for_each_entry(assoc, &ep->asocs, asocs) {
net/sctp/diag.c
352
static int sctp_sock_filter(struct sctp_endpoint *ep, struct sctp_transport *tsp, void *p)
net/sctp/diag.c
355
struct sock *sk = ep->base.sk;
net/sctp/diag.c
359
if (!list_is_first(&tsp->asoc->asocs, &ep->asocs))
net/sctp/diag.c
368
static int sctp_ep_dump(struct sctp_endpoint *ep, void *p)
net/sctp/diag.c
371
struct sock *sk = ep->base.sk;
net/sctp/diag.c
385
if (!(r->idiag_states & TCPF_LISTEN) && !list_empty(&ep->asocs))
net/sctp/endpointola.c
102
INIT_LIST_HEAD(&ep->endpoint_shared_keys);
net/sctp/endpointola.c
107
list_add(&null_key->key_list, &ep->endpoint_shared_keys);
net/sctp/endpointola.c
112
ep->prsctp_enable = net->sctp.prsctp_enable;
net/sctp/endpointola.c
113
ep->reconf_enable = net->sctp.reconf_enable;
net/sctp/endpointola.c
114
ep->ecn_enable = net->sctp.ecn_enable;
net/sctp/endpointola.c
117
ep->base.sk = sk;
net/sctp/endpointola.c
118
ep->base.net = sock_net(sk);
net/sctp/endpointola.c
119
sock_hold(ep->base.sk);
net/sctp/endpointola.c
121
return ep;
net/sctp/endpointola.c
124
sctp_auth_free(ep);
net/sctp/endpointola.c
135
struct sctp_endpoint *ep;
net/sctp/endpointola.c
138
ep = kzalloc_obj(*ep, gfp);
net/sctp/endpointola.c
139
if (!ep)
net/sctp/endpointola.c
142
if (!sctp_endpoint_init(ep, sk, gfp))
net/sctp/endpointola.c
145
SCTP_DBG_OBJCNT_INC(ep);
net/sctp/endpointola.c
146
return ep;
net/sctp/endpointola.c
149
kfree(ep);
net/sctp/endpointola.c
155
void sctp_endpoint_add_asoc(struct sctp_endpoint *ep,
net/sctp/endpointola.c
158
struct sock *sk = ep->base.sk;
net/sctp/endpointola.c
168
list_add_tail(&asoc->asocs, &ep->asocs);
net/sctp/endpointola.c
178
void sctp_endpoint_free(struct sctp_endpoint *ep)
net/sctp/endpointola.c
180
ep->base.dead = true;
net/sctp/endpointola.c
182
inet_sk_set_state(ep->base.sk, SCTP_SS_CLOSED);
net/sctp/endpointola.c
185
sctp_unhash_endpoint(ep);
net/sctp/endpointola.c
187
sctp_endpoint_put(ep);
net/sctp/endpointola.c
193
struct sctp_endpoint *ep = container_of(head, struct sctp_endpoint, rcu);
net/sctp/endpointola.c
194
struct sock *sk = ep->base.sk;
net/sctp/endpointola.c
196
sctp_sk(sk)->ep = NULL;
net/sctp/endpointola.c
199
kfree(ep);
net/sctp/endpointola.c
200
SCTP_DBG_OBJCNT_DEC(ep);
net/sctp/endpointola.c
203
static void sctp_endpoint_destroy(struct sctp_endpoint *ep)
net/sctp/endpointola.c
207
if (unlikely(!ep->base.dead)) {
net/sctp/endpointola.c
208
WARN(1, "Attempt to destroy undead endpoint %p!\n", ep);
net/sctp/endpointola.c
215
sctp_auth_destroy_keys(&ep->endpoint_shared_keys);
net/sctp/endpointola.c
216
sctp_auth_free(ep);
net/sctp/endpointola.c
219
sctp_inq_free(&ep->base.inqueue);
net/sctp/endpointola.c
220
sctp_bind_addr_free(&ep->base.bind_addr);
net/sctp/endpointola.c
222
memzero_explicit(&ep->cookie_auth_key, sizeof(ep->cookie_auth_key));
net/sctp/endpointola.c
224
sk = ep->base.sk;
net/sctp/endpointola.c
229
call_rcu(&ep->rcu, sctp_endpoint_destroy_rcu);
net/sctp/endpointola.c
233
int sctp_endpoint_hold(struct sctp_endpoint *ep)
net/sctp/endpointola.c
235
return refcount_inc_not_zero(&ep->base.refcnt);
net/sctp/endpointola.c
241
void sctp_endpoint_put(struct sctp_endpoint *ep)
net/sctp/endpointola.c
243
if (refcount_dec_and_test(&ep->base.refcnt))
net/sctp/endpointola.c
244
sctp_endpoint_destroy(ep);
net/sctp/endpointola.c
248
struct sctp_endpoint *sctp_endpoint_is_match(struct sctp_endpoint *ep,
net/sctp/endpointola.c
253
int bound_dev_if = READ_ONCE(ep->base.sk->sk_bound_dev_if);
net/sctp/endpointola.c
256
if (net_eq(ep->base.net, net) &&
net/sctp/endpointola.c
258
(htons(ep->base.bind_addr.port) == laddr->v4.sin_port)) {
net/sctp/endpointola.c
259
if (sctp_bind_addr_match(&ep->base.bind_addr, laddr,
net/sctp/endpointola.c
260
sctp_sk(ep->base.sk)))
net/sctp/endpointola.c
261
retval = ep;
net/sctp/endpointola.c
272
const struct sctp_endpoint *ep,
net/sctp/endpointola.c
284
if (!ep->base.bind_addr.port)
net/sctp/endpointola.c
288
t = sctp_epaddr_lookup_transport(ep, paddr);
net/sctp/endpointola.c
302
bool sctp_endpoint_is_peeled_off(struct sctp_endpoint *ep,
net/sctp/endpointola.c
305
int bound_dev_if = READ_ONCE(ep->base.sk->sk_bound_dev_if);
net/sctp/endpointola.c
307
struct net *net = ep->base.net;
net/sctp/endpointola.c
310
bp = &ep->base.bind_addr;
net/sctp/endpointola.c
328
struct sctp_endpoint *ep =
net/sctp/endpointola.c
342
if (ep->base.dead)
net/sctp/endpointola.c
346
inqueue = &ep->base.inqueue;
net/sctp/endpointola.c
347
sk = ep->base.sk;
net/sctp/endpointola.c
383
asoc = sctp_endpoint_lookup_assoc(ep,
net/sctp/endpointola.c
400
SCTP_INC_STATS(ep->base.net, SCTP_MIB_INCTRLCHUNKS);
net/sctp/endpointola.c
409
ep, asoc, chunk, GFP_ATOMIC);
net/sctp/endpointola.c
417
if (!sctp_sk(sk)->ep)
net/sctp/endpointola.c
50
static struct sctp_endpoint *sctp_endpoint_init(struct sctp_endpoint *ep,
net/sctp/endpointola.c
57
ep->asconf_enable = net->sctp.addip_enable;
net/sctp/endpointola.c
58
ep->auth_enable = net->sctp.auth_enable;
net/sctp/endpointola.c
59
if (ep->auth_enable) {
net/sctp/endpointola.c
60
if (sctp_auth_init(ep, gfp))
net/sctp/endpointola.c
62
if (ep->asconf_enable) {
net/sctp/endpointola.c
63
sctp_auth_ep_add_chunkid(ep, SCTP_CID_ASCONF);
net/sctp/endpointola.c
64
sctp_auth_ep_add_chunkid(ep, SCTP_CID_ASCONF_ACK);
net/sctp/endpointola.c
70
ep->base.type = SCTP_EP_TYPE_SOCKET;
net/sctp/endpointola.c
73
refcount_set(&ep->base.refcnt, 1);
net/sctp/endpointola.c
74
ep->base.dead = false;
net/sctp/endpointola.c
77
sctp_inq_init(&ep->base.inqueue);
net/sctp/endpointola.c
80
sctp_inq_set_th_handler(&ep->base.inqueue, sctp_endpoint_bh_rcv);
net/sctp/endpointola.c
83
sctp_bind_addr_init(&ep->base.bind_addr, 0);
net/sctp/endpointola.c
86
INIT_LIST_HEAD(&ep->asocs);
net/sctp/endpointola.c
89
ep->sndbuf_policy = net->sctp.sndbuf_policy;
net/sctp/endpointola.c
96
ep->rcvbuf_policy = net->sctp.rcvbuf_policy;
net/sctp/endpointola.c
99
gen_cookie_auth_key(&ep->cookie_auth_key);
net/sctp/input.c
1030
const struct sctp_endpoint *ep,
net/sctp/input.c
1037
.net = ep->base.net,
net/sctp/input.c
1038
.lport = htons(ep->base.bind_addr.port),
net/sctp/input.c
1045
if (ep == t->asoc->ep)
net/sctp/input.c
168
ep = __sctp_rcv_lookup_endpoint(net, skb, &dest, &src, dif, sdif);
net/sctp/input.c
171
rcvr = asoc ? &asoc->base : &ep->base;
net/sctp/input.c
252
sctp_endpoint_put(ep);
net/sctp/input.c
266
sctp_endpoint_put(ep);
net/sctp/input.c
454
asoc->state, asoc->ep, asoc, t,
net/sctp/input.c
733
static int __sctp_hash_endpoint(struct sctp_endpoint *ep)
net/sctp/input.c
735
struct sock *sk = ep->base.sk;
net/sctp/input.c
740
ep->hashent = sctp_ep_hashfn(net, ep->base.bind_addr.port);
net/sctp/input.c
741
head = &sctp_ep_hashtable[ep->hashent];
net/sctp/input.c
752
list_for_each(list, &ep->base.bind_addr.address_list)
net/sctp/input.c
782
hlist_add_head(&ep->node, &head->chain);
net/sctp/input.c
789
int sctp_hash_endpoint(struct sctp_endpoint *ep)
net/sctp/input.c
794
err = __sctp_hash_endpoint(ep);
net/sctp/input.c
801
static void __sctp_unhash_endpoint(struct sctp_endpoint *ep)
net/sctp/input.c
803
struct sock *sk = ep->base.sk;
net/sctp/input.c
806
ep->hashent = sctp_ep_hashfn(sock_net(sk), ep->base.bind_addr.port);
net/sctp/input.c
808
head = &sctp_ep_hashtable[ep->hashent];
net/sctp/input.c
813
hlist_del_init(&ep->node);
net/sctp/input.c
818
void sctp_unhash_endpoint(struct sctp_endpoint *ep)
net/sctp/input.c
821
__sctp_unhash_endpoint(ep);
net/sctp/input.c
847
struct sctp_endpoint *ep;
net/sctp/input.c
856
sctp_for_each_hentry(ep, &head->chain) {
net/sctp/input.c
857
if (sctp_endpoint_is_match(ep, net, laddr, dif, sdif))
net/sctp/input.c
861
ep = sctp_sk(net->sctp.ctl_sock)->ep;
net/sctp/input.c
864
sk = ep->base.sk;
net/sctp/input.c
871
ep = sctp_sk(sk)->ep;
net/sctp/input.c
873
sctp_endpoint_hold(ep);
net/sctp/input.c
875
return ep;
net/sctp/input.c
92
struct sctp_endpoint *ep = NULL;
net/sctp/input.c
961
if (transport->asoc->ep == t->asoc->ep) {
net/sctp/objcnt.c
32
SCTP_DBG_OBJCNT(ep);
net/sctp/objcnt.c
47
SCTP_DBG_OBJCNT_ENTRY(ep),
net/sctp/primitive.c
43
struct sctp_endpoint *ep; \
net/sctp/primitive.c
48
ep = asoc ? asoc->ep : NULL; \
net/sctp/primitive.c
50
error = sctp_do_sm(net, event_type, subtype, state, ep, asoc, \
net/sctp/proc.c
164
struct sctp_endpoint *ep;
net/sctp/proc.c
173
sctp_for_each_hentry(ep, &head->chain) {
net/sctp/proc.c
174
sk = ep->base.sk;
net/sctp/proc.c
177
seq_printf(seq, "%8pK %8pK %-3d %-3d %-4d %-5d %5u %5lu ", ep, sk,
net/sctp/proc.c
179
ep->base.bind_addr.port,
net/sctp/proc.c
183
sctp_seq_dump_local_addrs(seq, &ep->base);
net/sctp/sm_make_chunk.c
1620
struct sctp_association *sctp_make_temp_asoc(const struct sctp_endpoint *ep,
net/sctp/sm_make_chunk.c
1630
asoc = sctp_association_new(ep, ep->base.sk, scope, gfp);
net/sctp/sm_make_chunk.c
1646
const struct sctp_endpoint *ep,
net/sctp/sm_make_chunk.c
1712
if (sctp_sk(ep->base.sk)->cookie_auth_enable) {
net/sctp/sm_make_chunk.c
1714
hmac_sha256(&ep->cookie_auth_key, (const u8 *)&cookie->c,
net/sctp/sm_make_chunk.c
1723
const struct sctp_endpoint *ep,
net/sctp/sm_make_chunk.c
1763
if (sctp_sk(ep->base.sk)->cookie_auth_enable) {
net/sctp/sm_make_chunk.c
1766
hmac_sha256(&ep->cookie_auth_key, (const u8 *)bear_cookie,
net/sctp/sm_make_chunk.c
1801
if (sock_flag(ep->base.sk, SOCK_TIMESTAMP))
net/sctp/sm_make_chunk.c
1831
retval = sctp_association_new(ep, ep->base.sk, scope, gfp);
net/sctp/sm_make_chunk.c
1982
const struct sctp_endpoint *ep,
net/sctp/sm_make_chunk.c
2010
if (ep->asconf_enable && !have_auth && have_asconf)
net/sctp/sm_make_chunk.c
2025
if (asoc->ep->reconf_enable)
net/sctp/sm_make_chunk.c
2029
if (asoc->ep->prsctp_enable)
net/sctp/sm_make_chunk.c
2036
if (asoc->ep->auth_enable)
net/sctp/sm_make_chunk.c
2041
if (asoc->ep->asconf_enable)
net/sctp/sm_make_chunk.c
2045
if (asoc->ep->intl_enable)
net/sctp/sm_make_chunk.c
207
struct sctp_endpoint *ep = asoc->ep;
net/sctp/sm_make_chunk.c
2133
const struct sctp_endpoint *ep,
net/sctp/sm_make_chunk.c
2163
if (!sctp_verify_ext_param(net, ep, param))
net/sctp/sm_make_chunk.c
2168
if (!ep->asconf_enable)
net/sctp/sm_make_chunk.c
2186
if (ep->prsctp_enable)
net/sctp/sm_make_chunk.c
2191
if (!ep->auth_enable)
net/sctp/sm_make_chunk.c
2208
if (!ep->auth_enable)
net/sctp/sm_make_chunk.c
2224
if (!ep->auth_enable)
net/sctp/sm_make_chunk.c
2260
int sctp_verify_init(struct net *net, const struct sctp_endpoint *ep,
net/sctp/sm_make_chunk.c
2303
result = sctp_verify_param(net, ep, asoc, param, cid,
net/sctp/sm_make_chunk.c
240
if (asoc->ep->ecn_enable)
net/sctp/sm_make_chunk.c
243
if (asoc->ep->prsctp_enable)
net/sctp/sm_make_chunk.c
251
if (asoc->ep->asconf_enable) {
net/sctp/sm_make_chunk.c
2515
struct sctp_endpoint *ep = asoc->ep;
net/sctp/sm_make_chunk.c
257
if (asoc->ep->reconf_enable) {
net/sctp/sm_make_chunk.c
2617
if (asoc->ep->ecn_enable) {
net/sctp/sm_make_chunk.c
2630
if (!ep->asconf_enable)
net/sctp/sm_make_chunk.c
265
if (asoc->ep->intl_enable) {
net/sctp/sm_make_chunk.c
2658
if (asoc->ep->prsctp_enable) {
net/sctp/sm_make_chunk.c
2666
if (!ep->auth_enable)
net/sctp/sm_make_chunk.c
2680
if (!ep->auth_enable)
net/sctp/sm_make_chunk.c
2697
if (!ep->auth_enable)
net/sctp/sm_make_chunk.c
2722
__u32 sctp_generate_tag(const struct sctp_endpoint *ep)
net/sctp/sm_make_chunk.c
273
if (ep->auth_enable) {
net/sctp/sm_make_chunk.c
2737
__u32 sctp_generate_tsn(const struct sctp_endpoint *ep)
net/sctp/sm_make_chunk.c
3076
if (security_sctp_bind_connect(asoc->ep->base.sk,
net/sctp/sm_make_chunk.c
3148
if (security_sctp_bind_connect(asoc->ep->base.sk,
net/sctp/sm_make_chunk.c
332
if (asoc->ep->ecn_enable)
net/sctp/sm_make_chunk.c
345
if (asoc->ep->prsctp_enable)
net/sctp/sm_make_chunk.c
356
if (ep->auth_enable) {
net/sctp/sm_make_chunk.c
403
cookie = sctp_pack_cookie(asoc->ep, asoc, chunk, &cookie_len,
net/sctp/sm_make_chunk.c
58
const struct sctp_endpoint *ep,
net/sctp/sm_sideeffect.c
1131
ep, sctp_evttype_tbl[event_type], (*debug_fn)(subtype), \
net/sctp/sm_sideeffect.c
1140
asoc, sctp_state_tbl[(asoc && sctp_id2assoc(ep->base.sk, \
net/sctp/sm_sideeffect.c
1151
struct sctp_endpoint *ep, struct sctp_association *asoc,
net/sctp/sm_sideeffect.c
1172
status = state_fn->fn(net, ep, asoc, subtype, event_arg, &commands);
net/sctp/sm_sideeffect.c
1176
ep, &asoc, event_arg, status,
net/sctp/sm_sideeffect.c
1189
struct sctp_endpoint *ep,
net/sctp/sm_sideeffect.c
1205
ep, *asoc,
net/sctp/sm_sideeffect.c
1278
struct sctp_endpoint *ep,
net/sctp/sm_sideeffect.c
1285
struct sctp_sock *sp = sctp_sk(ep->base.sk);
net/sctp/sm_sideeffect.c
1323
sctp_endpoint_add_asoc(ep, asoc);
net/sctp/sm_sideeffect.c
256
asoc->ep, asoc,
net/sctp/sm_sideeffect.c
297
asoc->state, asoc->ep, asoc,
net/sctp/sm_sideeffect.c
398
asoc->state, asoc->ep, asoc,
net/sctp/sm_sideeffect.c
43
struct sctp_endpoint *ep,
net/sctp/sm_sideeffect.c
439
asoc->state, asoc->ep, asoc, transport, GFP_ATOMIC);
net/sctp/sm_sideeffect.c
472
asoc->state, asoc->ep, asoc,
net/sctp/sm_sideeffect.c
505
asoc->state, asoc->ep, asoc,
net/sctp/sm_sideeffect.c
52
struct sctp_endpoint *ep,
net/sctp/sm_sideeffect.c
844
asoc->state, asoc->ep, asoc, NULL,
net/sctp/sm_statefuns.c
1016
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
1042
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
1070
sctp_sf_heartbeat(ep, asoc, type, arg,
net/sctp/sm_statefuns.c
1090
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
110
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
1119
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
1167
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
1178
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
1183
return sctp_sf_violation_chunklen(net, ep, asoc, type, arg,
net/sctp/sm_statefuns.c
119
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
1195
return sctp_sf_violation_paramlen(net, ep, asoc, type, arg,
net/sctp/sm_statefuns.c
1241
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
1254
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
1259
return sctp_sf_violation_chunklen(net, ep, asoc, type, arg,
net/sctp/sm_statefuns.c
127
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
1298
return sctp_sf_send_probe(net, ep, asoc, type, link, commands);
net/sctp/sm_statefuns.c
1334
struct sctp_endpoint *ep;
net/sctp/sm_statefuns.c
135
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
1352
ep = sctp_sk(net->sctp.ctl_sock)->ep;
net/sctp/sm_statefuns.c
1357
pkt = sctp_abort_pkt_new(net, ep, NULL, init, errhdr, len);
net/sctp/sm_statefuns.c
143
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
1515
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
1538
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
1542
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
1548
return sctp_sf_tabort_8_4_8(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
155
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
1551
return sctp_sf_new_encap_port(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
1561
if (!sctp_verify_init(net, ep, asoc, chunk->chunk_hdr->type,
net/sctp/sm_statefuns.c
1568
packet = sctp_abort_pkt_new(net, ep, asoc, arg,
net/sctp/sm_statefuns.c
1584
return sctp_sf_tabort_8_4_8(net, ep, asoc, type, arg,
net/sctp/sm_statefuns.c
1596
new_asoc = sctp_make_temp_asoc(ep, chunk, GFP_ATOMIC);
net/sctp/sm_statefuns.c
1603
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
162
__sctp_sf_do_9_2_reshutack(struct net *net, const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
1734
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
1743
return sctp_sf_do_unexpected_init(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
1789
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
1798
return sctp_sf_do_unexpected_init(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
1813
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
1822
if (ep == sctp_sk(net->sctp.ctl_sock)->ep)
net/sctp/sm_statefuns.c
1823
return sctp_sf_ootb(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
1825
return sctp_sf_discard_chunk(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
1859
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
1899
disposition = __sctp_sf_do_9_2_reshutack(net, ep, asoc,
net/sctp/sm_statefuns.c
1956
return sctp_sf_do_9_2_start_shutdown(net, ep, asoc,
net/sctp/sm_statefuns.c
1982
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
2066
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
2089
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
2201
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
2222
return sctp_sf_violation_chunklen(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
2238
new_asoc = sctp_unpack_cookie(ep, asoc, chunk, GFP_ATOMIC, &error,
net/sctp/sm_statefuns.c
2256
sctp_send_stale_cookie_err(net, ep, asoc, chunk, commands,
net/sctp/sm_statefuns.c
2258
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
2261
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
2284
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
2291
retval = sctp_sf_do_dupcook_a(net, ep, asoc, chunk, commands,
net/sctp/sm_statefuns.c
2296
retval = sctp_sf_do_dupcook_b(net, ep, asoc, chunk, commands,
net/sctp/sm_statefuns.c
2301
retval = sctp_sf_do_dupcook_c(net, ep, asoc, chunk, commands,
net/sctp/sm_statefuns.c
2306
retval = sctp_sf_do_dupcook_d(net, ep, asoc, chunk, commands,
net/sctp/sm_statefuns.c
2311
retval = sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
2338
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
234
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
2347
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
2360
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
2369
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
2372
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
2374
return __sctp_sf_do_9_1_abort(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
2384
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
2393
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
2406
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
2415
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
2418
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
2428
return __sctp_sf_do_9_1_abort(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
243
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
2438
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
2447
return sctp_sf_shutdown_sent_abort(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
2466
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
2476
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
2482
return sctp_sf_violation_chunklen(net, ep, asoc, type, arg,
net/sctp/sm_statefuns.c
2492
return sctp_sf_do_5_2_6_stale(net, ep, asoc, type,
net/sctp/sm_statefuns.c
2501
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
251
return sctp_sf_violation_chunk(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
2531
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
255
return sctp_sf_violation_chunklen(net, ep, asoc, type, arg,
net/sctp/sm_statefuns.c
2654
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
2663
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
2676
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
2685
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
2688
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
2690
return __sctp_sf_do_9_1_abort(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
2695
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
2726
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
2737
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
2750
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
2766
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
2782
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
2791
return sctp_sf_cookie_wait_abort(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
2856
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
2869
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
2873
return sctp_sf_violation_chunklen(net, ep, asoc, type, arg,
net/sctp/sm_statefuns.c
2894
return sctp_sf_violation_ctsn(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
2918
disposition = sctp_sf_do_9_2_shutdown_ack(net, ep, asoc, type,
net/sctp/sm_statefuns.c
2946
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
2957
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
2961
return sctp_sf_violation_chunklen(net, ep, asoc, type, arg,
net/sctp/sm_statefuns.c
2979
return sctp_sf_violation_ctsn(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
2999
__sctp_sf_do_9_2_reshutack(struct net *net, const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
3009
return sctp_sf_violation_chunklen(net, ep, asoc, type, arg,
net/sctp/sm_statefuns.c
3037
sctp_sf_do_9_2_reshutack(struct net *net, const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
3045
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
3048
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
3051
return sctp_sf_tabort_8_4_8(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
3053
return __sctp_sf_do_9_2_reshutack(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
3082
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
3093
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
3096
return sctp_sf_violation_chunklen(net, ep, asoc, type, arg,
net/sctp/sm_statefuns.c
3138
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
3147
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
3150
return sctp_sf_violation_chunklen(net, ep, asoc, type, arg,
net/sctp/sm_statefuns.c
319
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
3194
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
3207
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
3211
return sctp_sf_violation_chunklen(net, ep, asoc, type, arg,
net/sctp/sm_statefuns.c
3229
return sctp_sf_abort_violation(net, ep, asoc, chunk, commands,
net/sctp/sm_statefuns.c
3315
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
3327
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
3331
return sctp_sf_violation_chunklen(net, ep, asoc, type, arg,
net/sctp/sm_statefuns.c
3345
return sctp_sf_abort_violation(net, ep, asoc, chunk, commands,
net/sctp/sm_statefuns.c
3406
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
341
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
3417
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
3421
return sctp_sf_violation_chunklen(net, ep, asoc, type, arg,
net/sctp/sm_statefuns.c
3428
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
3437
return sctp_sf_violation_ctsn(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
3439
trace_sctp_probe(ep, asoc, chunk);
net/sctp/sm_statefuns.c
3483
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
349
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
3511
abort->skb->sk = ep->base.sk;
net/sctp/sm_statefuns.c
3519
sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
3530
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
354
if (ep == sctp_sk(net->sctp.ctl_sock)->ep) {
net/sctp/sm_statefuns.c
3550
abort->skb->sk = ep->base.sk;
net/sctp/sm_statefuns.c
3559
sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
356
return sctp_sf_tabort_8_4_8(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
3572
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
3582
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
3586
return sctp_sf_violation_chunklen(net, ep, asoc, type, arg,
net/sctp/sm_statefuns.c
3590
return sctp_sf_violation_paramlen(net, ep, asoc, type, arg,
net/sctp/sm_statefuns.c
3610
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
3621
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
3625
return sctp_sf_violation_chunklen(net, ep, asoc, type, arg,
net/sctp/sm_statefuns.c
363
return sctp_sf_tabort_8_4_8(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
3693
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
371
if (sctp_sstate(ep->base.sk, CLOSING))
net/sctp/sm_statefuns.c
3715
return sctp_sf_violation_chunklen(net, ep, asoc, type, arg,
net/sctp/sm_statefuns.c
372
return sctp_sf_tabort_8_4_8(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
3721
return sctp_sf_violation_chunklen(net, ep, asoc, type, arg,
net/sctp/sm_statefuns.c
3736
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
3759
return sctp_sf_shut_8_4_5(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
376
if (!sctp_verify_init(net, ep, asoc, chunk->chunk_hdr->type,
net/sctp/sm_statefuns.c
3761
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
3763
return sctp_sf_tabort_8_4_8(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
3789
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
3817
shut->skb->sk = ep->base.sk;
net/sctp/sm_statefuns.c
383
packet = sctp_abort_pkt_new(net, ep, asoc, arg,
net/sctp/sm_statefuns.c
3830
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
3845
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
3858
return sctp_sf_violation_chunklen(net, ep, asoc, type, arg,
net/sctp/sm_statefuns.c
3868
return sctp_sf_shut_8_4_5(net, ep, NULL, type, arg, commands);
net/sctp/sm_statefuns.c
3873
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
3888
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
3893
return sctp_sf_violation_chunklen(net, ep, asoc, type, arg,
net/sctp/sm_statefuns.c
3904
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
3911
return sctp_sf_violation_paramlen(net, ep, asoc, type, arg,
net/sctp/sm_statefuns.c
3978
sctp_sf_heartbeat(ep, asoc, type, asoc->new_transport, commands);
net/sctp/sm_statefuns.c
3987
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
400
return sctp_sf_tabort_8_4_8(net, ep, asoc, type, arg,
net/sctp/sm_statefuns.c
4005
return sctp_sf_do_prm_asconf(net, ep, asoc, type, asconf, commands);
net/sctp/sm_statefuns.c
4014
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
4030
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
4036
return sctp_sf_violation_chunklen(net, ep, asoc, type, arg,
net/sctp/sm_statefuns.c
4047
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
4054
return sctp_sf_violation_paramlen(net, ep, asoc, type, arg,
net/sctp/sm_statefuns.c
4100
return sctp_send_next_asconf(net, ep,
net/sctp/sm_statefuns.c
411
new_asoc = sctp_make_temp_asoc(ep, chunk, GFP_ATOMIC);
net/sctp/sm_statefuns.c
4129
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
4143
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
4148
return sctp_sf_violation_chunklen(net, ep, asoc, type, arg,
net/sctp/sm_statefuns.c
4152
return sctp_sf_violation_paramlen(net, ep, asoc, type, arg,
net/sctp/sm_statefuns.c
418
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
4206
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
4220
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
4224
return sctp_sf_unk_chunk(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
4228
return sctp_sf_violation_chunklen(net, ep, asoc, type, arg,
net/sctp/sm_statefuns.c
4273
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
4287
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
4291
return sctp_sf_unk_chunk(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
4295
return sctp_sf_violation_chunklen(net, ep, asoc, type, arg,
net/sctp/sm_statefuns.c
4435
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
4447
return sctp_sf_unk_chunk(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
4452
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
4457
return sctp_sf_violation_chunklen(net, ep, asoc, type, arg,
net/sctp/sm_statefuns.c
4478
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
4481
return sctp_sf_violation_chunklen(net, ep, asoc, type, arg,
net/sctp/sm_statefuns.c
4531
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
4544
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
4551
return sctp_sf_violation_chunklen(net, ep, asoc, type, arg,
net/sctp/sm_statefuns.c
4557
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
4571
sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
4611
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
4620
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
4627
return sctp_sf_violation_chunklen(net, ep, asoc, type, arg,
net/sctp/sm_statefuns.c
4654
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
4681
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
4690
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
4694
return sctp_sf_violation_chunklen(net, ep, asoc, type, arg,
net/sctp/sm_statefuns.c
4705
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
4779
abort->skb->sk = ep->base.sk;
net/sctp/sm_statefuns.c
4792
sctp_sf_pdiscard(net, ep, asoc, SCTP_ST_CHUNK(0), arg, commands);
net/sctp/sm_statefuns.c
4822
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
4830
return sctp_sf_abort_violation(net, ep, asoc, arg, commands, err_str,
net/sctp/sm_statefuns.c
4842
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
4871
sctp_sf_pdiscard(net, ep, asoc, SCTP_ST_CHUNK(0), arg, commands);
net/sctp/sm_statefuns.c
4885
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
4893
return sctp_sf_abort_violation(net, ep, asoc, arg, commands, err_str,
net/sctp/sm_statefuns.c
4905
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
4913
return sctp_sf_abort_violation(net, ep, asoc, arg, commands, err_str,
net/sctp/sm_statefuns.c
4977
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
5089
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
5129
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
5150
disposition = sctp_sf_do_9_2_start_shutdown(net, ep, asoc, type,
net/sctp/sm_statefuns.c
5186
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
519
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
5223
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
5238
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
5265
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
5300
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
5309
return sctp_sf_cookie_wait_prm_shutdown(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
531
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
5328
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
5377
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
538
return sctp_sf_violation_chunk(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
5386
return sctp_sf_cookie_wait_prm_abort(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
54
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
5403
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
5413
return sctp_sf_do_9_1_prm_abort(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
542
return sctp_sf_violation_chunklen(net, ep, asoc, type, arg,
net/sctp/sm_statefuns.c
5430
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
5444
return sctp_sf_do_9_1_prm_abort(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
5461
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
5470
return sctp_sf_shutdown_sent_prm_abort(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
549
if (!sctp_verify_init(net, ep, asoc, chunk->chunk_hdr->type,
net/sctp/sm_statefuns.c
5497
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
5503
if (SCTP_DISPOSITION_NOMEM == sctp_sf_heartbeat(ep, asoc, type,
net/sctp/sm_statefuns.c
5529
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
5546
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
5565
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
5589
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
561
packet = sctp_abort_pkt_new(net, ep, asoc, arg,
net/sctp/sm_statefuns.c
5621
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
5691
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
5709
return sctp_sf_pdiscard(net, ep, asoc, type, arg,
net/sctp/sm_statefuns.c
5715
return sctp_sf_violation_chunklen(net, ep, asoc, type,
net/sctp/sm_statefuns.c
5764
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
5792
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
5880
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
589
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
5912
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
5977
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
6028
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
6099
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
6171
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
6208
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
6231
disposition = sctp_sf_do_9_2_start_shutdown(net, ep, asoc, type,
net/sctp/sm_statefuns.c
6251
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
6268
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
6288
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
6333
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
6363
abort->skb->sk = ep->base.sk;
net/sctp/sm_statefuns.c
6458
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
6476
err_chunk->skb->sk = ep->base.sk;
net/sctp/sm_statefuns.c
66
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
701
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
717
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
722
if (ep == sctp_sk(net->sctp.ctl_sock)->ep) {
net/sctp/sm_statefuns.c
724
return sctp_sf_tabort_8_4_8(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
73
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
733
return sctp_sf_violation_chunklen(net, ep, asoc, type, arg,
net/sctp/sm_statefuns.c
740
sk = ep->base.sk;
net/sctp/sm_statefuns.c
743
return sctp_sf_tabort_8_4_8(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
758
new_asoc = sctp_unpack_cookie(ep, asoc, chunk, GFP_ATOMIC, &error,
net/sctp/sm_statefuns.c
776
sctp_send_stale_cookie_err(net, ep, asoc, chunk, commands,
net/sctp/sm_statefuns.c
778
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
782
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
788
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
80
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
815
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
87
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
923
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
933
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
938
return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
net/sctp/sm_statefuns.c
94
const struct sctp_endpoint *ep,
net/sctp/sm_statefuns.c
944
return sctp_sf_violation_chunklen(net, ep, asoc, type, arg,
net/sctp/socket.c
1068
static int sctp_connect_new_asoc(struct sctp_endpoint *ep,
net/sctp/socket.c
1074
struct sock *sk = ep->base.sk;
net/sctp/socket.c
1079
if (sctp_endpoint_is_peeled_off(ep, daddr))
net/sctp/socket.c
1082
if (!ep->base.bind_addr.port) {
net/sctp/socket.c
1086
if (inet_port_requires_bind_service(net, ep->base.bind_addr.port) &&
net/sctp/socket.c
1092
asoc = sctp_association_new(ep, sk, scope, GFP_KERNEL);
net/sctp/socket.c
112
return asoc->ep->sndbuf_policy ? sk->sk_sndbuf - asoc->sndbuf_used
net/sctp/socket.c
1138
struct sctp_endpoint *ep = asoc->ep;
net/sctp/socket.c
1143
err = sctp_verify_addr(ep->base.sk, daddr, addr_len);
net/sctp/socket.c
1147
old = sctp_endpoint_lookup_assoc(ep, daddr, &t);
net/sctp/socket.c
1152
if (sctp_endpoint_is_peeled_off(ep, daddr))
net/sctp/socket.c
1171
struct sctp_endpoint *ep = sp->ep;
net/sctp/socket.c
1193
asoc = sctp_endpoint_lookup_assoc(ep, daddr, &transport);
net/sctp/socket.c
1198
err = sctp_connect_new_asoc(ep, daddr, NULL, &transport);
net/sctp/socket.c
1487
struct sctp_endpoint *ep;
net/sctp/socket.c
1498
ep = sctp_sk(sk)->ep;
net/sctp/socket.c
1505
list_for_each_safe(pos, temp, &ep->asocs) {
net/sctp/socket.c
1661
struct sctp_endpoint *ep = sctp_sk(sk)->ep;
net/sctp/socket.c
1692
err = sctp_connect_new_asoc(ep, daddr, cmsgs->init, tp);
net/sctp/socket.c
1844
if (asoc->ep->intl_enable) {
net/sctp/socket.c
1944
struct sctp_endpoint *ep = sctp_sk(sk)->ep;
net/sctp/socket.c
1973
list_for_each_entry_safe(asoc, tmp, &ep->asocs, asocs) {
net/sctp/socket.c
1996
asoc = sctp_endpoint_lookup_assoc(ep, daddr, &transport);
net/sctp/socket.c
2233
list_for_each_entry(asoc, &sp->ep->asocs, asocs)
net/sctp/socket.c
247
if (!list_empty(&sctp_sk(sk)->ep->asocs))
net/sctp/socket.c
248
asoc = list_entry(sctp_sk(sk)->ep->asocs.next,
net/sctp/socket.c
282
addr_asoc = sctp_endpoint_lookup_assoc(sctp_sk(sk)->ep,
net/sctp/socket.c
2824
list_for_each_entry(asoc, &sp->ep->asocs, asocs)
net/sctp/socket.c
2945
list_for_each_entry(asoc, &sp->ep->asocs, asocs) {
net/sctp/socket.c
3001
list_for_each_entry(asoc, &sp->ep->asocs, asocs) {
net/sctp/socket.c
320
if (!sctp_sk(sk)->ep->base.bind_addr.port)
net/sctp/socket.c
3323
if (!sp->ep->asconf_enable)
net/sctp/socket.c
3428
list_for_each_entry(asoc, &sp->ep->asocs, asocs)
net/sctp/socket.c
3467
sctp_sk(sk)->ep->intl_enable = 0;
net/sctp/socket.c
3557
list_for_each_entry(asoc, &sp->ep->asocs, asocs)
net/sctp/socket.c
3574
struct sctp_endpoint *ep = sctp_sk(sk)->ep;
net/sctp/socket.c
3576
if (!ep->auth_enable)
net/sctp/socket.c
3591
return sctp_auth_ep_add_chunkid(ep, val->sauth_chunk);
net/sctp/socket.c
3604
struct sctp_endpoint *ep = sctp_sk(sk)->ep;
net/sctp/socket.c
3607
if (!ep->auth_enable)
net/sctp/socket.c
3620
return sctp_auth_ep_set_hmacs(ep, hmacs);
net/sctp/socket.c
3633
struct sctp_endpoint *ep = sctp_sk(sk)->ep;
net/sctp/socket.c
3653
ret = sctp_auth_set_key(ep, asoc, authkey);
net/sctp/socket.c
3662
ret = sctp_auth_set_key(ep, asoc, authkey);
net/sctp/socket.c
3671
list_for_each_entry(asoc, &ep->asocs, asocs) {
net/sctp/socket.c
3672
int res = sctp_auth_set_key(ep, asoc, authkey);
net/sctp/socket.c
3694
struct sctp_endpoint *ep = sctp_sk(sk)->ep;
net/sctp/socket.c
3707
return sctp_auth_set_active_key(ep, asoc, val->scact_keynumber);
net/sctp/socket.c
3714
ret = sctp_auth_set_active_key(ep, asoc, val->scact_keynumber);
net/sctp/socket.c
3721
list_for_each_entry(asoc, &ep->asocs, asocs) {
net/sctp/socket.c
3722
int res = sctp_auth_set_active_key(ep, asoc,
net/sctp/socket.c
3742
struct sctp_endpoint *ep = sctp_sk(sk)->ep;
net/sctp/socket.c
3755
return sctp_auth_del_key_id(ep, asoc, val->scact_keynumber);
net/sctp/socket.c
3762
ret = sctp_auth_del_key_id(ep, asoc, val->scact_keynumber);
net/sctp/socket.c
3769
list_for_each_entry(asoc, &ep->asocs, asocs) {
net/sctp/socket.c
3770
int res = sctp_auth_del_key_id(ep, asoc,
net/sctp/socket.c
3790
struct sctp_endpoint *ep = sctp_sk(sk)->ep;
net/sctp/socket.c
3803
return sctp_auth_deact_key_id(ep, asoc, val->scact_keynumber);
net/sctp/socket.c
381
struct sctp_endpoint *ep = sp->ep;
net/sctp/socket.c
3810
ret = sctp_auth_deact_key_id(ep, asoc, val->scact_keynumber);
net/sctp/socket.c
3817
list_for_each_entry(asoc, &ep->asocs, asocs) {
net/sctp/socket.c
3818
int res = sctp_auth_deact_key_id(ep, asoc,
net/sctp/socket.c
382
struct sctp_bind_addr *bp = &ep->base.bind_addr;
net/sctp/socket.c
3974
sctp_sk(sk)->ep->prsctp_enable = !!params->assoc_value;
net/sctp/socket.c
4020
list_for_each_entry(asoc, &sp->ep->asocs, asocs) {
net/sctp/socket.c
4046
sctp_sk(sk)->ep->reconf_enable = !!params->assoc_value;
net/sctp/socket.c
4058
struct sctp_endpoint *ep = sctp_sk(sk)->ep;
net/sctp/socket.c
4085
ep->strreset_enable = params->assoc_value;
net/sctp/socket.c
4089
list_for_each_entry(asoc, &ep->asocs, asocs)
net/sctp/socket.c
4181
list_for_each_entry(asoc, &sp->ep->asocs, asocs) {
net/sctp/socket.c
4216
list_for_each_entry(asoc, &sctp_sk(sk)->ep->asocs, asocs) {
net/sctp/socket.c
4246
sp->ep->intl_enable = !!p->assoc_value;
net/sctp/socket.c
4256
if (sctp_sk(sk)->ep->base.bind_addr.port)
net/sctp/socket.c
4320
list_for_each_entry(asoc, &sp->ep->asocs, asocs) {
net/sctp/socket.c
4336
struct sctp_endpoint *ep;
net/sctp/socket.c
4347
ep = sctp_sk(sk)->ep;
net/sctp/socket.c
4348
ep->asconf_enable = !!params->assoc_value;
net/sctp/socket.c
4350
if (ep->asconf_enable && ep->auth_enable) {
net/sctp/socket.c
4351
sctp_auth_ep_add_chunkid(ep, SCTP_CID_ASCONF);
net/sctp/socket.c
4352
sctp_auth_ep_add_chunkid(ep, SCTP_CID_ASCONF_ACK);
net/sctp/socket.c
4366
struct sctp_endpoint *ep;
net/sctp/socket.c
4377
ep = sctp_sk(sk)->ep;
net/sctp/socket.c
4379
retval = sctp_auth_init(ep, GFP_KERNEL);
net/sctp/socket.c
4382
if (ep->asconf_enable) {
net/sctp/socket.c
4383
sctp_auth_ep_add_chunkid(ep, SCTP_CID_ASCONF);
net/sctp/socket.c
4384
sctp_auth_ep_add_chunkid(ep, SCTP_CID_ASCONF_ACK);
net/sctp/socket.c
4388
ep->auth_enable = !!params->assoc_value;
net/sctp/socket.c
4410
sctp_sk(sk)->ep->ecn_enable = !!params->assoc_value;
net/sctp/socket.c
4892
newsp->ep = sctp_endpoint_new(newsk, GFP_KERNEL);
net/sctp/socket.c
4893
if (!newsp->ep)
net/sctp/socket.c
4952
asoc = list_entry(sctp_sk(sk)->ep->asocs.next,
net/sctp/socket.c
5133
sp->ep = sctp_endpoint_new(sk, GFP_KERNEL);
net/sctp/socket.c
5134
if (!sp->ep)
net/sctp/socket.c
5161
if (sp->ep == NULL)
net/sctp/socket.c
5169
sctp_endpoint_free(sp->ep);
net/sctp/socket.c
5200
struct sctp_endpoint *ep;
net/sctp/socket.c
5205
ep = sctp_sk(sk)->ep;
net/sctp/socket.c
5206
if (how & SEND_SHUTDOWN && !list_empty(&ep->asocs)) {
net/sctp/socket.c
5210
asoc = list_entry(ep->asocs.next,
net/sctp/socket.c
5365
struct sctp_endpoint *ep;
net/sctp/socket.c
5371
sctp_for_each_hentry(ep, &head->chain) {
net/sctp/socket.c
5372
err = cb(ep, p);
net/sctp/socket.c
5388
struct sctp_endpoint *ep;
net/sctp/socket.c
5397
ep = transport->asoc->ep;
net/sctp/socket.c
5398
if (!sctp_endpoint_hold(ep)) { /* asoc can be peeled off */
net/sctp/socket.c
5405
err = cb(ep, transport, p);
net/sctp/socket.c
5406
sctp_endpoint_put(ep);
net/sctp/socket.c
5417
struct sctp_endpoint *ep;
net/sctp/socket.c
5426
ep = tsp->asoc->ep;
net/sctp/socket.c
5427
if (sctp_endpoint_hold(ep)) { /* asoc can be peeled off */
net/sctp/socket.c
5428
ret = cb(ep, tsp, p);
net/sctp/socket.c
5431
sctp_endpoint_put(ep);
net/sctp/socket.c
5439
if (cb_done && !cb_done(ep, tsp, p)) {
net/sctp/socket.c
5441
sctp_endpoint_put(ep);
net/sctp/socket.c
5445
sctp_endpoint_put(ep);
net/sctp/socket.c
561
struct sctp_endpoint *ep;
net/sctp/socket.c
575
ep = sp->ep;
net/sctp/socket.c
577
if (!ep->asconf_enable)
net/sctp/socket.c
583
list_for_each_entry(asoc, &ep->asocs, asocs) {
net/sctp/socket.c
6313
bp = &sctp_sk(sk)->ep->base.bind_addr;
net/sctp/socket.c
682
struct sctp_endpoint *ep = sp->ep;
net/sctp/socket.c
684
struct sctp_bind_addr *bp = &ep->base.bind_addr;
net/sctp/socket.c
6937
struct sctp_endpoint *ep = sctp_sk(sk)->ep;
net/sctp/socket.c
6944
if (!ep->auth_enable)
net/sctp/socket.c
6947
hmacs = ep->auth_hmacs_list;
net/sctp/socket.c
6973
struct sctp_endpoint *ep = sctp_sk(sk)->ep;
net/sctp/socket.c
6993
if (!ep->auth_enable)
net/sctp/socket.c
6995
val.scact_keynumber = ep->active_key_id;
net/sctp/socket.c
7053
struct sctp_endpoint *ep = sctp_sk(sk)->ep;
net/sctp/socket.c
7078
if (!ep->auth_enable)
net/sctp/socket.c
7080
ch = ep->auth_chunk_list;
net/sctp/socket.c
7121
list_for_each_entry(asoc, &(sp->ep->asocs), asocs) {
net/sctp/socket.c
7177
list_for_each_entry(asoc, &(sp->ep->asocs), asocs) {
net/sctp/socket.c
7192
list_for_each_entry(asoc, &(sp->ep->asocs), asocs) {
net/sctp/socket.c
7394
: sctp_sk(sk)->ep->prsctp_enable;
net/sctp/socket.c
7602
: sctp_sk(sk)->ep->reconf_enable;
net/sctp/socket.c
763
struct sctp_endpoint *ep;
net/sctp/socket.c
7641
: sctp_sk(sk)->ep->strreset_enable;
net/sctp/socket.c
7761
: sctp_sk(sk)->ep->intl_enable;
net/sctp/socket.c
778
ep = sp->ep;
net/sctp/socket.c
780
if (!ep->asconf_enable)
net/sctp/socket.c
7855
: sctp_sk(sk)->ep->asconf_enable;
net/sctp/socket.c
786
list_for_each_entry(asoc, &ep->asocs, asocs) {
net/sctp/socket.c
7894
: sctp_sk(sk)->ep->auth_enable;
net/sctp/socket.c
7933
: sctp_sk(sk)->ep->ecn_enable;
net/sctp/socket.c
8481
struct sctp_endpoint *ep2 = sp2->ep;
net/sctp/socket.c
8572
struct sctp_endpoint *ep = sp->ep;
net/sctp/socket.c
8587
if (!ep->base.bind_addr.port) {
net/sctp/socket.c
8600
err = sctp_hash_endpoint(ep);
net/sctp/socket.c
8627
struct sctp_endpoint *ep = sctp_sk(sk)->ep;
net/sctp/socket.c
8651
sctp_unhash_endpoint(ep);
net/sctp/socket.c
8700
return (!list_empty(&sp->ep->asocs)) ?
net/sctp/socket.c
9026
if (list_empty(&sctp_sk(sk)->ep->asocs) && !sctp_sstate(sk, LISTENING))
net/sctp/socket.c
9151
if (asoc->ep->sndbuf_policy)
net/sctp/socket.c
9173
if (&tmp->asocs == &((sctp_sk(sk))->ep->asocs))
net/sctp/socket.c
918
addr->v4.sin_port = htons(sp->ep->base.bind_addr.port);
net/sctp/socket.c
9338
list_for_each_entry(asoc, &((sctp_sk(sk))->ep->asocs), asocs) {
net/sctp/socket.c
9426
struct sctp_endpoint *ep;
net/sctp/socket.c
9430
ep = sctp_sk(sk)->ep;
net/sctp/socket.c
9437
if (list_empty(&ep->asocs)) {
net/sctp/socket.c
9449
if (!list_empty(&ep->asocs))
net/sctp/socket.c
9472
if (list_empty(&sctp_sk(sk)->ep->asocs))
net/sctp/socket.c
9507
struct sctp_endpoint *newep = newsp->ep;
net/sctp/socket.c
9516
newsp->ep = newep;
net/sctp/socket.c
9531
err = sctp_bind_addr_dup(&newsp->ep->base.bind_addr,
net/sctp/socket.c
9532
&oldsp->ep->base.bind_addr, GFP_KERNEL);
net/sctp/sysctl.c
510
sctp_sk(sk)->ep->auth_enable = new_value;
net/sctp/ulpevent.c
690
if (asoc->ep->rcvbuf_policy)
net/sunrpc/auth_gss/svcauth_gss.c
230
char *ep;
net/sunrpc/auth_gss/svcauth_gss.c
269
rsii.major_status = simple_strtoul(buf, &ep, 10);
net/sunrpc/auth_gss/svcauth_gss.c
270
if (*ep)
net/sunrpc/auth_gss/svcauth_gss.c
275
rsii.minor_status = simple_strtoul(buf, &ep, 10);
net/sunrpc/auth_gss/svcauth_gss.c
276
if (*ep)
net/sunrpc/cache.c
1535
char *ep;
net/sunrpc/cache.c
1543
simple_strtoul(tbuf, &ep, 0);
net/sunrpc/cache.c
1544
if (*ep && *ep != '\n')
net/sunrpc/xprtrdma/backchannel.c
44
struct rpcrdma_ep *ep = r_xprt->rx_ep;
net/sunrpc/xprtrdma/backchannel.c
47
maxmsg = min_t(unsigned int, ep->re_inline_send, ep->re_inline_recv);
net/sunrpc/xprtrdma/frwr_ops.c
124
struct rpcrdma_ep *ep = r_xprt->rx_ep;
net/sunrpc/xprtrdma/frwr_ops.c
125
unsigned int depth = ep->re_max_fr_depth;
net/sunrpc/xprtrdma/frwr_ops.c
130
ibdev_to_node(ep->re_id->device));
net/sunrpc/xprtrdma/frwr_ops.c
134
frmr = ib_alloc_mr(ep->re_pd, ep->re_mrtype, depth);
net/sunrpc/xprtrdma/frwr_ops.c
143
frwr_cid_init(ep, mr);
net/sunrpc/xprtrdma/frwr_ops.c
172
int frwr_query_device(struct rpcrdma_ep *ep, const struct ib_device *device)
net/sunrpc/xprtrdma/frwr_ops.c
191
ep->re_attr.cap.max_send_sge = max_sge;
net/sunrpc/xprtrdma/frwr_ops.c
192
ep->re_attr.cap.max_recv_sge = 1;
net/sunrpc/xprtrdma/frwr_ops.c
194
ep->re_mrtype = IB_MR_TYPE_MEM_REG;
net/sunrpc/xprtrdma/frwr_ops.c
196
ep->re_mrtype = IB_MR_TYPE_SG_GAPS;
net/sunrpc/xprtrdma/frwr_ops.c
203
ep->re_max_fr_depth = attrs->max_sge_rd;
net/sunrpc/xprtrdma/frwr_ops.c
205
ep->re_max_fr_depth = attrs->max_fast_reg_page_list_len;
net/sunrpc/xprtrdma/frwr_ops.c
206
if (ep->re_max_fr_depth > RPCRDMA_MAX_DATA_SEGS)
net/sunrpc/xprtrdma/frwr_ops.c
207
ep->re_max_fr_depth = RPCRDMA_MAX_DATA_SEGS;
net/sunrpc/xprtrdma/frwr_ops.c
223
if (ep->re_max_fr_depth < RPCRDMA_MAX_DATA_SEGS) {
net/sunrpc/xprtrdma/frwr_ops.c
224
delta = RPCRDMA_MAX_DATA_SEGS - ep->re_max_fr_depth;
net/sunrpc/xprtrdma/frwr_ops.c
227
delta -= ep->re_max_fr_depth;
net/sunrpc/xprtrdma/frwr_ops.c
236
if (ep->re_max_requests > max_qp_wr)
net/sunrpc/xprtrdma/frwr_ops.c
237
ep->re_max_requests = max_qp_wr;
net/sunrpc/xprtrdma/frwr_ops.c
238
ep->re_attr.cap.max_send_wr = ep->re_max_requests * depth;
net/sunrpc/xprtrdma/frwr_ops.c
239
if (ep->re_attr.cap.max_send_wr > max_qp_wr) {
net/sunrpc/xprtrdma/frwr_ops.c
240
ep->re_max_requests = max_qp_wr / depth;
net/sunrpc/xprtrdma/frwr_ops.c
241
if (!ep->re_max_requests)
net/sunrpc/xprtrdma/frwr_ops.c
243
ep->re_attr.cap.max_send_wr = ep->re_max_requests * depth;
net/sunrpc/xprtrdma/frwr_ops.c
245
ep->re_attr.cap.max_send_wr += RPCRDMA_BACKWARD_WRS;
net/sunrpc/xprtrdma/frwr_ops.c
246
ep->re_attr.cap.max_send_wr += 1; /* for ib_drain_sq */
net/sunrpc/xprtrdma/frwr_ops.c
247
ep->re_attr.cap.max_recv_wr = ep->re_max_requests;
net/sunrpc/xprtrdma/frwr_ops.c
248
ep->re_attr.cap.max_recv_wr += RPCRDMA_BACKWARD_WRS;
net/sunrpc/xprtrdma/frwr_ops.c
249
ep->re_attr.cap.max_recv_wr += RPCRDMA_MAX_RECV_BATCH;
net/sunrpc/xprtrdma/frwr_ops.c
250
ep->re_attr.cap.max_recv_wr += 1; /* for ib_drain_rq */
net/sunrpc/xprtrdma/frwr_ops.c
252
ep->re_max_rdma_segs =
net/sunrpc/xprtrdma/frwr_ops.c
253
DIV_ROUND_UP(RPCRDMA_MAX_DATA_SEGS, ep->re_max_fr_depth);
net/sunrpc/xprtrdma/frwr_ops.c
255
ep->re_max_rdma_segs += 2;
net/sunrpc/xprtrdma/frwr_ops.c
256
if (ep->re_max_rdma_segs > RPCRDMA_MAX_HDR_SEGS)
net/sunrpc/xprtrdma/frwr_ops.c
257
ep->re_max_rdma_segs = RPCRDMA_MAX_HDR_SEGS;
net/sunrpc/xprtrdma/frwr_ops.c
264
if ((ep->re_max_rdma_segs * ep->re_max_fr_depth) < RPCRDMA_MAX_SEGS)
net/sunrpc/xprtrdma/frwr_ops.c
290
struct rpcrdma_ep *ep = r_xprt->rx_ep;
net/sunrpc/xprtrdma/frwr_ops.c
296
if (nsegs > ep->re_max_fr_depth)
net/sunrpc/xprtrdma/frwr_ops.c
297
nsegs = ep->re_max_fr_depth;
net/sunrpc/xprtrdma/frwr_ops.c
304
if (ep->re_mrtype == IB_MR_TYPE_SG_GAPS)
net/sunrpc/xprtrdma/frwr_ops.c
313
dma_nents = ib_dma_map_sg(ep->re_id->device, mr->mr_sg, mr->mr_nents,
net/sunrpc/xprtrdma/frwr_ops.c
317
mr->mr_device = ep->re_id->device;
net/sunrpc/xprtrdma/frwr_ops.c
387
struct rpcrdma_ep *ep = r_xprt->rx_ep;
net/sunrpc/xprtrdma/frwr_ops.c
407
if ((kref_read(&req->rl_kref) > 1) || num_wrs > ep->re_send_count) {
net/sunrpc/xprtrdma/frwr_ops.c
409
ep->re_send_count = min_t(unsigned int, ep->re_send_batch,
net/sunrpc/xprtrdma/frwr_ops.c
410
num_wrs - ep->re_send_count);
net/sunrpc/xprtrdma/frwr_ops.c
413
ep->re_send_count -= num_wrs;
net/sunrpc/xprtrdma/frwr_ops.c
417
ret = ib_post_send(ep->re_id->qp, post_wr, NULL);
net/sunrpc/xprtrdma/frwr_ops.c
48
static void frwr_cid_init(struct rpcrdma_ep *ep,
net/sunrpc/xprtrdma/frwr_ops.c
500
struct rpcrdma_ep *ep = r_xprt->rx_ep;
net/sunrpc/xprtrdma/frwr_ops.c
53
cid->ci_queue_id = ep->re_attr.send_cq->res.id;
net/sunrpc/xprtrdma/frwr_ops.c
545
rc = ib_post_send(ep->re_id->qp, first, &bad_wr);
net/sunrpc/xprtrdma/frwr_ops.c
561
rpcrdma_force_disconnect(ep);
net/sunrpc/xprtrdma/frwr_ops.c
606
struct rpcrdma_ep *ep = r_xprt->rx_ep;
net/sunrpc/xprtrdma/frwr_ops.c
645
rc = ib_post_send(ep->re_id->qp, first, NULL);
net/sunrpc/xprtrdma/frwr_ops.c
661
rpcrdma_force_disconnect(ep);
net/sunrpc/xprtrdma/frwr_ops.c
672
struct rpcrdma_ep *ep = r_xprt->rx_ep;
net/sunrpc/xprtrdma/frwr_ops.c
680
ep->re_write_pad_mr = mr;
net/sunrpc/xprtrdma/frwr_ops.c
683
seg.mr_page = virt_to_page(ep->re_write_pad);
net/sunrpc/xprtrdma/frwr_ops.c
684
seg.mr_offset = offset_in_page(ep->re_write_pad);
net/sunrpc/xprtrdma/frwr_ops.c
696
return ib_post_send(ep->re_id->qp, &mr->mr_regwr.wr, NULL);
net/sunrpc/xprtrdma/rpc_rdma.c
108
void rpcrdma_set_max_header_sizes(struct rpcrdma_ep *ep)
net/sunrpc/xprtrdma/rpc_rdma.c
110
unsigned int maxsegs = ep->re_max_rdma_segs;
net/sunrpc/xprtrdma/rpc_rdma.c
112
ep->re_max_inline_send =
net/sunrpc/xprtrdma/rpc_rdma.c
113
ep->re_inline_send - rpcrdma_max_call_header_size(maxsegs);
net/sunrpc/xprtrdma/rpc_rdma.c
114
ep->re_max_inline_recv =
net/sunrpc/xprtrdma/rpc_rdma.c
115
ep->re_inline_recv - rpcrdma_max_reply_header_size(maxsegs);
net/sunrpc/xprtrdma/rpc_rdma.c
130
struct rpcrdma_ep *ep = r_xprt->rx_ep;
net/sunrpc/xprtrdma/rpc_rdma.c
133
if (xdr->len > ep->re_max_inline_send)
net/sunrpc/xprtrdma/rpc_rdma.c
144
if (++count > ep->re_attr.cap.max_send_sge)
net/sunrpc/xprtrdma/rpc_rdma.c
396
struct rpcrdma_ep *ep = r_xprt->rx_ep;
net/sunrpc/xprtrdma/rpc_rdma.c
436
if (encode_rdma_segment(xdr, ep->re_write_pad_mr) < 0)
net/sunrpc/xprtrdma/rpc_rdma.c
439
trace_xprtrdma_chunk_wp(rqst->rq_task, ep->re_write_pad_mr,
net/sunrpc/xprtrdma/transport.c
476
struct rpcrdma_ep *ep = r_xprt->rx_ep;
net/sunrpc/xprtrdma/transport.c
482
if (ep && ep->re_connect_status != 0) {
net/sunrpc/xprtrdma/verbs.c
110
rpcrdma_ep_put(ep);
net/sunrpc/xprtrdma/verbs.c
117
void rpcrdma_force_disconnect(struct rpcrdma_ep *ep)
net/sunrpc/xprtrdma/verbs.c
119
if (atomic_add_unless(&ep->re_force_disconnect, 1, 1))
net/sunrpc/xprtrdma/verbs.c
120
xprt_force_disconnect(ep->re_xprt);
net/sunrpc/xprtrdma/verbs.c
1351
struct rpcrdma_ep *ep = r_xprt->rx_ep;
net/sunrpc/xprtrdma/verbs.c
1359
if (likely(ep->re_receive_count > needed))
net/sunrpc/xprtrdma/verbs.c
1361
needed -= ep->re_receive_count;
net/sunrpc/xprtrdma/verbs.c
1364
if (atomic_inc_return(&ep->re_receiving) > 1)
net/sunrpc/xprtrdma/verbs.c
1380
rep->rr_cid.ci_queue_id = ep->re_attr.recv_cq->res.id;
net/sunrpc/xprtrdma/verbs.c
1390
rc = ib_post_recv(ep->re_id->qp, wr,
net/sunrpc/xprtrdma/verbs.c
1405
if (atomic_dec_return(&ep->re_receiving) > 0)
net/sunrpc/xprtrdma/verbs.c
1406
complete(&ep->re_done);
net/sunrpc/xprtrdma/verbs.c
1409
ep->re_receive_count += count;
net/sunrpc/xprtrdma/verbs.c
191
static void rpcrdma_update_cm_private(struct rpcrdma_ep *ep,
net/sunrpc/xprtrdma/verbs.c
208
if (rsize < ep->re_inline_recv)
net/sunrpc/xprtrdma/verbs.c
209
ep->re_inline_recv = rsize;
net/sunrpc/xprtrdma/verbs.c
210
if (wsize < ep->re_inline_send)
net/sunrpc/xprtrdma/verbs.c
211
ep->re_inline_send = wsize;
net/sunrpc/xprtrdma/verbs.c
213
rpcrdma_set_max_header_sizes(ep);
net/sunrpc/xprtrdma/verbs.c
227
struct rpcrdma_ep *ep = id->context;
net/sunrpc/xprtrdma/verbs.c
234
ep->re_async_rc = 0;
net/sunrpc/xprtrdma/verbs.c
235
complete(&ep->re_done);
net/sunrpc/xprtrdma/verbs.c
238
ep->re_async_rc = -EPROTO;
net/sunrpc/xprtrdma/verbs.c
239
complete(&ep->re_done);
net/sunrpc/xprtrdma/verbs.c
242
ep->re_async_rc = -ENETUNREACH;
net/sunrpc/xprtrdma/verbs.c
243
complete(&ep->re_done);
net/sunrpc/xprtrdma/verbs.c
246
ep->re_connect_status = -ENODEV;
net/sunrpc/xprtrdma/verbs.c
249
rpcrdma_ep_get(ep);
net/sunrpc/xprtrdma/verbs.c
250
ep->re_connect_status = 1;
net/sunrpc/xprtrdma/verbs.c
251
rpcrdma_update_cm_private(ep, &event->param.conn);
net/sunrpc/xprtrdma/verbs.c
252
trace_xprtrdma_inline_thresh(ep);
net/sunrpc/xprtrdma/verbs.c
253
wake_up_all(&ep->re_connect_wait);
net/sunrpc/xprtrdma/verbs.c
256
ep->re_connect_status = -ENOTCONN;
net/sunrpc/xprtrdma/verbs.c
259
ep->re_connect_status = -ENETUNREACH;
net/sunrpc/xprtrdma/verbs.c
262
ep->re_connect_status = -ECONNREFUSED;
net/sunrpc/xprtrdma/verbs.c
264
ep->re_connect_status = -ENOTCONN;
net/sunrpc/xprtrdma/verbs.c
266
wake_up_all(&ep->re_connect_wait);
net/sunrpc/xprtrdma/verbs.c
269
ep->re_connect_status = -ECONNABORTED;
net/sunrpc/xprtrdma/verbs.c
271
rpcrdma_force_disconnect(ep);
net/sunrpc/xprtrdma/verbs.c
272
return rpcrdma_ep_put(ep);
net/sunrpc/xprtrdma/verbs.c
282
struct rpcrdma_ep *ep = container_of(rn, struct rpcrdma_ep, re_rn);
net/sunrpc/xprtrdma/verbs.c
284
trace_xprtrdma_device_removal(ep->re_id);
net/sunrpc/xprtrdma/verbs.c
285
xprt_force_disconnect(ep->re_xprt);
net/sunrpc/xprtrdma/verbs.c
289
struct rpcrdma_ep *ep)
net/sunrpc/xprtrdma/verbs.c
296
init_completion(&ep->re_done);
net/sunrpc/xprtrdma/verbs.c
298
id = rdma_create_id(xprt->xprt_net, rpcrdma_cm_event_handler, ep,
net/sunrpc/xprtrdma/verbs.c
303
ep->re_async_rc = -ETIMEDOUT;
net/sunrpc/xprtrdma/verbs.c
308
rc = wait_for_completion_interruptible_timeout(&ep->re_done, wtimeout);
net/sunrpc/xprtrdma/verbs.c
312
rc = ep->re_async_rc;
net/sunrpc/xprtrdma/verbs.c
316
ep->re_async_rc = -ETIMEDOUT;
net/sunrpc/xprtrdma/verbs.c
320
rc = wait_for_completion_interruptible_timeout(&ep->re_done, wtimeout);
net/sunrpc/xprtrdma/verbs.c
323
rc = ep->re_async_rc;
net/sunrpc/xprtrdma/verbs.c
327
rc = rpcrdma_rn_register(id->device, &ep->re_rn, rpcrdma_ep_removal_done);
net/sunrpc/xprtrdma/verbs.c
340
struct rpcrdma_ep *ep = container_of(kref, struct rpcrdma_ep, re_kref);
net/sunrpc/xprtrdma/verbs.c
342
if (ep->re_id->qp) {
net/sunrpc/xprtrdma/verbs.c
343
rdma_destroy_qp(ep->re_id);
net/sunrpc/xprtrdma/verbs.c
344
ep->re_id->qp = NULL;
net/sunrpc/xprtrdma/verbs.c
347
if (ep->re_attr.recv_cq)
net/sunrpc/xprtrdma/verbs.c
348
ib_free_cq(ep->re_attr.recv_cq);
net/sunrpc/xprtrdma/verbs.c
349
ep->re_attr.recv_cq = NULL;
net/sunrpc/xprtrdma/verbs.c
350
if (ep->re_attr.send_cq)
net/sunrpc/xprtrdma/verbs.c
351
ib_free_cq(ep->re_attr.send_cq);
net/sunrpc/xprtrdma/verbs.c
352
ep->re_attr.send_cq = NULL;
net/sunrpc/xprtrdma/verbs.c
354
if (ep->re_pd)
net/sunrpc/xprtrdma/verbs.c
355
ib_dealloc_pd(ep->re_pd);
net/sunrpc/xprtrdma/verbs.c
356
ep->re_pd = NULL;
net/sunrpc/xprtrdma/verbs.c
358
rpcrdma_rn_unregister(ep->re_id->device, &ep->re_rn);
net/sunrpc/xprtrdma/verbs.c
360
kfree(ep);
net/sunrpc/xprtrdma/verbs.c
364
static noinline void rpcrdma_ep_get(struct rpcrdma_ep *ep)
net/sunrpc/xprtrdma/verbs.c
366
kref_get(&ep->re_kref);
net/sunrpc/xprtrdma/verbs.c
373
static noinline int rpcrdma_ep_put(struct rpcrdma_ep *ep)
net/sunrpc/xprtrdma/verbs.c
375
return kref_put(&ep->re_kref, rpcrdma_ep_destroy);
net/sunrpc/xprtrdma/verbs.c
383
struct rpcrdma_ep *ep;
net/sunrpc/xprtrdma/verbs.c
386
ep = kzalloc_obj(*ep, XPRTRDMA_GFP_FLAGS);
net/sunrpc/xprtrdma/verbs.c
387
if (!ep)
net/sunrpc/xprtrdma/verbs.c
389
ep->re_xprt = &r_xprt->rx_xprt;
net/sunrpc/xprtrdma/verbs.c
390
kref_init(&ep->re_kref);
net/sunrpc/xprtrdma/verbs.c
392
id = rpcrdma_create_id(r_xprt, ep);
net/sunrpc/xprtrdma/verbs.c
394
kfree(ep);
net/sunrpc/xprtrdma/verbs.c
399
ep->re_id = id;
net/sunrpc/xprtrdma/verbs.c
400
reinit_completion(&ep->re_done);
net/sunrpc/xprtrdma/verbs.c
402
ep->re_max_requests = r_xprt->rx_xprt.max_reqs;
net/sunrpc/xprtrdma/verbs.c
403
ep->re_inline_send = xprt_rdma_max_inline_write;
net/sunrpc/xprtrdma/verbs.c
404
ep->re_inline_recv = xprt_rdma_max_inline_read;
net/sunrpc/xprtrdma/verbs.c
405
rc = frwr_query_device(ep, device);
net/sunrpc/xprtrdma/verbs.c
409
r_xprt->rx_buf.rb_max_requests = cpu_to_be32(ep->re_max_requests);
net/sunrpc/xprtrdma/verbs.c
411
ep->re_attr.srq = NULL;
net/sunrpc/xprtrdma/verbs.c
412
ep->re_attr.cap.max_inline_data = 0;
net/sunrpc/xprtrdma/verbs.c
413
ep->re_attr.sq_sig_type = IB_SIGNAL_REQ_WR;
net/sunrpc/xprtrdma/verbs.c
414
ep->re_attr.qp_type = IB_QPT_RC;
net/sunrpc/xprtrdma/verbs.c
415
ep->re_attr.port_num = ~0;
net/sunrpc/xprtrdma/verbs.c
417
ep->re_send_batch = ep->re_max_requests >> 3;
net/sunrpc/xprtrdma/verbs.c
418
ep->re_send_count = ep->re_send_batch;
net/sunrpc/xprtrdma/verbs.c
419
init_waitqueue_head(&ep->re_connect_wait);
net/sunrpc/xprtrdma/verbs.c
421
ep->re_attr.send_cq = ib_alloc_cq_any(device, r_xprt,
net/sunrpc/xprtrdma/verbs.c
422
ep->re_attr.cap.max_send_wr,
net/sunrpc/xprtrdma/verbs.c
424
if (IS_ERR(ep->re_attr.send_cq)) {
net/sunrpc/xprtrdma/verbs.c
425
rc = PTR_ERR(ep->re_attr.send_cq);
net/sunrpc/xprtrdma/verbs.c
426
ep->re_attr.send_cq = NULL;
net/sunrpc/xprtrdma/verbs.c
430
ep->re_attr.recv_cq = ib_alloc_cq_any(device, r_xprt,
net/sunrpc/xprtrdma/verbs.c
431
ep->re_attr.cap.max_recv_wr,
net/sunrpc/xprtrdma/verbs.c
433
if (IS_ERR(ep->re_attr.recv_cq)) {
net/sunrpc/xprtrdma/verbs.c
434
rc = PTR_ERR(ep->re_attr.recv_cq);
net/sunrpc/xprtrdma/verbs.c
435
ep->re_attr.recv_cq = NULL;
net/sunrpc/xprtrdma/verbs.c
438
ep->re_receive_count = 0;
net/sunrpc/xprtrdma/verbs.c
441
memset(&ep->re_remote_cma, 0, sizeof(ep->re_remote_cma));
net/sunrpc/xprtrdma/verbs.c
444
pmsg = &ep->re_cm_private;
net/sunrpc/xprtrdma/verbs.c
448
pmsg->cp_send_size = rpcrdma_encode_buffer_size(ep->re_inline_send);
net/sunrpc/xprtrdma/verbs.c
449
pmsg->cp_recv_size = rpcrdma_encode_buffer_size(ep->re_inline_recv);
net/sunrpc/xprtrdma/verbs.c
450
ep->re_remote_cma.private_data = pmsg;
net/sunrpc/xprtrdma/verbs.c
451
ep->re_remote_cma.private_data_len = sizeof(*pmsg);
net/sunrpc/xprtrdma/verbs.c
454
ep->re_remote_cma.initiator_depth = 0;
net/sunrpc/xprtrdma/verbs.c
455
ep->re_remote_cma.responder_resources =
net/sunrpc/xprtrdma/verbs.c
462
ep->re_remote_cma.retry_count = 6;
net/sunrpc/xprtrdma/verbs.c
468
ep->re_remote_cma.flow_control = 0;
net/sunrpc/xprtrdma/verbs.c
469
ep->re_remote_cma.rnr_retry_count = 0;
net/sunrpc/xprtrdma/verbs.c
471
ep->re_pd = ib_alloc_pd(device, 0);
net/sunrpc/xprtrdma/verbs.c
472
if (IS_ERR(ep->re_pd)) {
net/sunrpc/xprtrdma/verbs.c
473
rc = PTR_ERR(ep->re_pd);
net/sunrpc/xprtrdma/verbs.c
474
ep->re_pd = NULL;
net/sunrpc/xprtrdma/verbs.c
478
rc = rdma_create_qp(id, ep->re_pd, &ep->re_attr);
net/sunrpc/xprtrdma/verbs.c
482
r_xprt->rx_ep = ep;
net/sunrpc/xprtrdma/verbs.c
486
rpcrdma_ep_put(ep);
net/sunrpc/xprtrdma/verbs.c
500
struct rpcrdma_ep *ep;
net/sunrpc/xprtrdma/verbs.c
506
ep = r_xprt->rx_ep;
net/sunrpc/xprtrdma/verbs.c
514
rpcrdma_ep_get(ep);
net/sunrpc/xprtrdma/verbs.c
517
rc = rdma_connect(ep->re_id, &ep->re_remote_cma);
net/sunrpc/xprtrdma/verbs.c
523
wait_event_interruptible(ep->re_connect_wait,
net/sunrpc/xprtrdma/verbs.c
524
ep->re_connect_status != 0);
net/sunrpc/xprtrdma/verbs.c
525
if (ep->re_connect_status <= 0) {
net/sunrpc/xprtrdma/verbs.c
526
rc = ep->re_connect_status;
net/sunrpc/xprtrdma/verbs.c
561
struct rpcrdma_ep *ep = r_xprt->rx_ep;
net/sunrpc/xprtrdma/verbs.c
565
if (!ep)
net/sunrpc/xprtrdma/verbs.c
568
id = ep->re_id;
net/sunrpc/xprtrdma/verbs.c
578
if (rpcrdma_ep_put(ep))
net/sunrpc/xprtrdma/verbs.c
614
static struct rpcrdma_sendctx *rpcrdma_sendctx_create(struct rpcrdma_ep *ep)
net/sunrpc/xprtrdma/verbs.c
618
sc = kzalloc_flex(*sc, sc_sges, ep->re_attr.cap.max_send_sge,
net/sunrpc/xprtrdma/verbs.c
624
sc->sc_cid.ci_queue_id = ep->re_attr.send_cq->res.id;
net/sunrpc/xprtrdma/verbs.c
626
atomic_inc_return(&ep->re_completion_ids);
net/sunrpc/xprtrdma/verbs.c
75
static void rpcrdma_ep_get(struct rpcrdma_ep *ep);
net/sunrpc/xprtrdma/verbs.c
752
struct rpcrdma_ep *ep = r_xprt->rx_ep;
net/sunrpc/xprtrdma/verbs.c
753
struct ib_device *device = ep->re_id->device;
net/sunrpc/xprtrdma/verbs.c
757
for (count = 0; count < ep->re_max_rdma_segs; count++) {
net/sunrpc/xprtrdma/verbs.c
76
static int rpcrdma_ep_put(struct rpcrdma_ep *ep);
net/sunrpc/xprtrdma/verbs.c
802
struct rpcrdma_ep *ep = r_xprt->rx_ep;
net/sunrpc/xprtrdma/verbs.c
807
if (ep->re_connect_status != 1)
net/sunrpc/xprtrdma/verbs.c
91
struct rpcrdma_ep *ep = r_xprt->rx_ep;
net/sunrpc/xprtrdma/verbs.c
92
struct rdma_cm_id *id = ep->re_id;
net/sunrpc/xprtrdma/verbs.c
951
struct rpcrdma_ep *ep = r_xprt->rx_ep;
net/sunrpc/xprtrdma/verbs.c
952
struct ib_device *device = ep->re_id->device;
net/sunrpc/xprtrdma/verbs.c
959
rep->rr_rdmabuf = rpcrdma_regbuf_alloc_node(ep->re_inline_recv,
net/sunrpc/xprtrdma/verbs.c
97
if (atomic_inc_return(&ep->re_receiving) > 1)
net/sunrpc/xprtrdma/verbs.c
98
wait_for_completion(&ep->re_done);
net/sunrpc/xprtrdma/xprt_rdma.h
465
void rpcrdma_force_disconnect(struct rpcrdma_ep *ep);
net/sunrpc/xprtrdma/xprt_rdma.h
535
int frwr_query_device(struct rpcrdma_ep *ep, const struct ib_device *device);
net/sunrpc/xprtrdma/xprt_rdma.h
568
void rpcrdma_set_max_header_sizes(struct rpcrdma_ep *ep);
net/xfrm/xfrm_user.c
1304
static int copy_to_user_encap(struct xfrm_encap_tmpl *ep, struct sk_buff *skb)
net/xfrm/xfrm_user.c
1306
struct nlattr *nla = nla_reserve(skb, XFRMA_ENCAP, sizeof(*ep));
net/xfrm/xfrm_user.c
1315
uep->encap_type = ep->encap_type;
net/xfrm/xfrm_user.c
1316
uep->encap_sport = ep->encap_sport;
net/xfrm/xfrm_user.c
1317
uep->encap_dport = ep->encap_dport;
net/xfrm/xfrm_user.c
1318
uep->encap_oa = ep->encap_oa;
scripts/unifdef.c
828
char *ep;
scripts/unifdef.c
855
*valp = strtol(cp, &ep, 0);
scripts/unifdef.c
856
if (ep == cp)
scripts/unifdef.c
892
*valp = strtol(value[sym], &ep, 0);
scripts/unifdef.c
893
if (*ep != '\0' || ep == value[sym])
security/tomoyo/realpath.c
163
char *ep;
security/tomoyo/realpath.c
164
const pid_t pid = (pid_t) simple_strtoul(pos + 1, &ep, 10);
security/tomoyo/realpath.c
167
if (*ep == '/' && pid && pid ==
security/tomoyo/realpath.c
169
pos = ep - 5;
security/tomoyo/util.c
188
char *ep;
security/tomoyo/util.c
202
*result = simple_strtoul(cp, &ep, base);
security/tomoyo/util.c
203
if (cp == ep)
security/tomoyo/util.c
205
*str = ep;
sound/core/seq/seq_clientmgr.c
2030
struct snd_ump_endpoint_info *ep = p;
sound/core/seq/seq_clientmgr.c
2031
ep->name[sizeof(ep->name) - 1] = 0;
sound/core/seq/seq_clientmgr.c
2042
struct snd_ump_endpoint_info *ep;
sound/core/seq/seq_clientmgr.c
2048
ep = client->ump_info[SNDRV_SEQ_CLIENT_UMP_INFO_ENDPOINT];
sound/core/seq/seq_clientmgr.c
2049
if (ep && *ep->name)
sound/core/seq/seq_clientmgr.c
2050
snd_iprintf(buffer, " UMP Endpoint: \"%s\"\n", ep->name);
sound/soc/generic/audio-graph-card.c
102
struct device_node *ep,
sound/soc/generic/audio-graph-card.c
121
ret = graph_util_parse_dai(priv, ep, dlc, cpu);
sound/soc/generic/audio-graph-card.c
125
ret = simple_util_parse_tdm(ep, dai);
sound/soc/generic/audio-graph-card.c
129
ret = simple_util_parse_clk(dev, ep, dai, dlc);
sound/soc/generic/audio-graph-card.c
205
struct device_node *ep = li->cpu ? cpu_ep : codec_ep;
sound/soc/generic/audio-graph-card.c
209
dev_dbg(dev, "link_of DPCM (%pOF)\n", ep);
sound/soc/generic/audio-graph-card.c
264
struct device_node *port __free(device_node) = ep_to_port(ep);
sound/soc/generic/audio-graph-card.c
272
graph_parse_convert(dev, ep, &dai_props->adata);
sound/soc/generic/audio-graph-card.c
30
#define ep_to_port(ep) of_get_parent(ep)
sound/soc/generic/audio-graph-card.c
87
struct device_node *ep,
sound/soc/generic/audio-graph-card.c
91
struct device_node *port __free(device_node) = ep_to_port(ep);
sound/soc/generic/audio-graph-card.c
93
struct device_node *node __free(device_node) = of_graph_get_port_parent(ep);
sound/soc/generic/audio-graph-card.c
98
simple_util_parse_convert(ep, NULL, adata);
sound/soc/generic/audio-graph-card2.c
1163
struct device_node *ep __free(device_node) = of_graph_get_next_port_endpoint(lnk, NULL);
sound/soc/generic/audio-graph-card2.c
1164
struct device_node *rport __free(device_node) = of_graph_get_remote_port(ep);
sound/soc/generic/audio-graph-card2.c
244
#define ep_to_port(ep) of_get_parent(ep)
sound/soc/generic/audio-graph-card2.c
372
struct device_node *ep __free(device_node) = of_graph_get_next_port_endpoint(*port, NULL);
sound/soc/generic/audio-graph-card2.c
374
rep = of_graph_get_remote_endpoint(ep);
sound/soc/generic/audio-graph-card2.c
386
static void graph_parse_convert(struct device_node *ep,
sound/soc/generic/audio-graph-card2.c
389
struct device_node *port __free(device_node) = ep_to_port(ep);
sound/soc/generic/audio-graph-card2.c
395
simple_util_parse_convert(ep, NULL, adata);
sound/soc/generic/audio-graph-card2.c
400
struct device_node *ep,
sound/soc/generic/audio-graph-card2.c
419
ret = graph_util_parse_dai(priv, ep, dlc, &is_single_links);
sound/soc/generic/audio-graph-card2.c
423
ret = simple_util_parse_tdm(ep, dai);
sound/soc/generic/audio-graph-card2.c
427
ret = simple_util_parse_tdm_width_map(priv, ep, dai);
sound/soc/generic/audio-graph-card2.c
431
ret = simple_util_parse_clk(dev, ep, dai, dlc);
sound/soc/generic/audio-graph-card2.c
484
struct device_node *rport __free(device_node) = ep_to_port(ep);
sound/soc/generic/audio-graph-card2.c
634
struct device_node *ep __free(device_node) = graph_get_next_multi_ep(&port, idx + 1);
sound/soc/generic/audio-graph-card2.c
635
if (!ep)
sound/soc/generic/audio-graph-card2.c
638
ret = __graph_parse_node(priv, gtype, ep, li, is_cpu, idx);
sound/soc/generic/audio-graph-card2.c
659
struct device_node *ep,
sound/soc/generic/audio-graph-card2.c
662
return graph_ret(priv, __graph_parse_node(priv, gtype, ep, li, is_cpu, 0));
sound/soc/generic/audio-graph-card2.c
667
struct device_node *ep,
sound/soc/generic/audio-graph-card2.c
670
struct device_node *port __free(device_node) = ep_to_port(ep);
sound/soc/generic/audio-graph-card2.c
676
ret = graph_parse_node_single(priv, gtype, ep, li, is_cpu);
sound/soc/generic/audio-graph-card2.c
723
static unsigned int graph_parse_bitframe(struct device_node *ep)
sound/soc/generic/audio-graph-card2.c
725
struct device_node *port __free(device_node) = ep_to_port(ep);
sound/soc/generic/audio-graph-card2.c
729
snd_soc_daifmt_parse_clock_provider_as_bitmap(ep, NULL) |
sound/soc/generic/audio-graph-card2.c
876
struct device_node *ep __free(device_node) = of_graph_get_next_port_endpoint(lnk, NULL);
sound/soc/generic/audio-graph-card2.c
877
struct device_node *rep __free(device_node) = of_graph_get_remote_endpoint(ep);
sound/soc/generic/audio-graph-card2.c
956
graph_parse_convert(ep, dai_props); /* at node of <dpcm> */
sound/soc/generic/simple-card-utils.c
1053
static int graph_get_dai_id(struct device_node *ep)
sound/soc/generic/simple-card-utils.c
1055
struct device_node *node __free(device_node) = of_graph_get_port_parent(ep);
sound/soc/generic/simple-card-utils.c
1056
struct device_node *port __free(device_node) = of_get_parent(ep);
sound/soc/generic/simple-card-utils.c
1062
ret = snd_soc_get_dai_id(ep);
sound/soc/generic/simple-card-utils.c
1067
ret = of_graph_parse_endpoint(ep, &info);
sound/soc/generic/simple-card-utils.c
1082
if (of_property_present(ep, "reg"))
sound/soc/generic/simple-card-utils.c
1106
int graph_util_parse_dai(struct simple_util_priv *priv, struct device_node *ep,
sound/soc/generic/simple-card-utils.c
1115
if (!ep)
sound/soc/generic/simple-card-utils.c
1118
node = of_graph_get_port_parent(ep);
sound/soc/generic/simple-card-utils.c
1123
args.np = ep;
sound/soc/generic/simple-card-utils.c
1142
args.args[0] = graph_get_dai_id(ep);
sound/soc/soc-component.c
320
struct device_node *ep)
sound/soc/soc-component.c
325
ret = component->driver->of_xlate_dai_id(component, ep);
sound/soc/soc-core.c
3510
int snd_soc_get_dai_id(struct device_node *ep)
sound/soc/soc-core.c
3514
.of_node = of_graph_get_port_parent(ep),
sound/soc/soc-core.c
3529
ret = snd_soc_component_of_xlate_dai_id(component, ep);
sound/soc/soc-dapm.c
4537
unsigned int ep;
sound/soc/soc-dapm.c
4542
ep = SND_SOC_DAPM_EP_SOURCE;
sound/soc/soc-dapm.c
4545
ep = SND_SOC_DAPM_EP_SINK;
sound/soc/soc-dapm.c
4552
w->is_ep = ep;
sound/soc/soc-dapm.c
511
unsigned int ep;
sound/soc/soc-dapm.c
518
ep = SND_SOC_DAPM_EP_SOURCE;
sound/soc/soc-dapm.c
524
ep = 0;
sound/soc/soc-dapm.c
533
ep = SND_SOC_DAPM_EP_SINK;
sound/soc/soc-dapm.c
539
ep = 0;
sound/soc/soc-dapm.c
545
ep = 0;
sound/soc/soc-dapm.c
548
ep |= SND_SOC_DAPM_DIR_TO_EP(dir);
sound/soc/soc-dapm.c
555
w->is_ep = ep;
sound/soc/tegra/tegra210_i2s.c
1017
struct device_node *ports, *ep;
sound/soc/tegra/tegra210_i2s.c
1023
ep = of_graph_get_endpoint_by_regs(ports, cif_port, -1);
sound/soc/tegra/tegra210_i2s.c
1024
if (ep) {
sound/soc/tegra/tegra210_i2s.c
1025
simple_util_parse_convert(ep, NULL, &data);
sound/soc/tegra/tegra210_i2s.c
1026
of_node_put(ep);
sound/usb/6fire/pcm.c
538
struct sfire_chip *chip, bool in, int ep,
sound/usb/6fire/pcm.c
547
urb->instance.pipe = in ? usb_rcvisocpipe(chip->dev, ep)
sound/usb/6fire/pcm.c
548
: usb_sndisocpipe(chip->dev, ep);
sound/usb/card.c
1102
struct snd_usb_endpoint *ep;
sound/usb/card.c
1116
list_for_each_entry(ep, &chip->ep_list, list) {
sound/usb/card.c
1117
snd_usb_endpoint_release(ep);
sound/usb/card.c
1234
struct snd_usb_endpoint *ep;
sound/usb/card.c
1244
list_for_each_entry(ep, &chip->ep_list, list)
sound/usb/card.c
1245
snd_usb_endpoint_suspend(ep);
sound/usb/card.h
56
struct snd_usb_endpoint *ep;
sound/usb/endpoint.c
100
usb_free_coherent(u->ep->chip->dev, u->buffer_size,
sound/usb/endpoint.c
1001
alive = atomic_read(&ep->submitted_urbs);
sound/usb/endpoint.c
1009
usb_audio_err(ep->chip,
sound/usb/endpoint.c
1011
alive, ep->ep_num);
sound/usb/endpoint.c
1013
if (ep_state_update(ep, EP_STATE_STOPPING, EP_STATE_STOPPED)) {
sound/usb/endpoint.c
1014
ep->sync_sink = NULL;
sound/usb/endpoint.c
1015
snd_usb_endpoint_set_callback(ep, NULL, NULL, NULL);
sound/usb/endpoint.c
1024
void snd_usb_endpoint_sync_pending_stop(struct snd_usb_endpoint *ep)
sound/usb/endpoint.c
1026
if (ep)
sound/usb/endpoint.c
1027
wait_clear_urbs(ep);
sound/usb/endpoint.c
1035
static int stop_urbs(struct snd_usb_endpoint *ep, bool force, bool keep_pending)
sound/usb/endpoint.c
1039
if (!force && atomic_read(&ep->running))
sound/usb/endpoint.c
1042
if (!ep_state_update(ep, EP_STATE_RUNNING, EP_STATE_STOPPING))
sound/usb/endpoint.c
1045
scoped_guard(spinlock_irqsave, &ep->lock) {
sound/usb/endpoint.c
1046
INIT_LIST_HEAD(&ep->ready_playback_urbs);
sound/usb/endpoint.c
1047
ep->next_packet_head = 0;
sound/usb/endpoint.c
1048
ep->next_packet_queued = 0;
sound/usb/endpoint.c
1054
for (i = 0; i < ep->nurbs; i++) {
sound/usb/endpoint.c
1055
if (test_bit(i, &ep->active_mask)) {
sound/usb/endpoint.c
1056
if (!test_and_set_bit(i, &ep->unlink_mask)) {
sound/usb/endpoint.c
1057
struct urb *u = ep->urb[i].urb;
sound/usb/endpoint.c
1069
static int release_urbs(struct snd_usb_endpoint *ep, bool force)
sound/usb/endpoint.c
1074
snd_usb_endpoint_set_callback(ep, NULL, NULL, NULL);
sound/usb/endpoint.c
1077
err = stop_urbs(ep, force, false);
sound/usb/endpoint.c
1081
wait_clear_urbs(ep);
sound/usb/endpoint.c
1083
for (i = 0; i < ep->nurbs; i++)
sound/usb/endpoint.c
1084
release_urb_ctx(&ep->urb[i]);
sound/usb/endpoint.c
1086
usb_free_coherent(ep->chip->dev, SYNC_URBS * 4,
sound/usb/endpoint.c
1087
ep->syncbuf, ep->sync_dma);
sound/usb/endpoint.c
1089
ep->syncbuf = NULL;
sound/usb/endpoint.c
1090
ep->nurbs = 0;
sound/usb/endpoint.c
1097
static int data_ep_set_params(struct snd_usb_endpoint *ep)
sound/usb/endpoint.c
1099
struct snd_usb_audio *chip = ep->chip;
sound/usb/endpoint.c
1103
const struct audioformat *fmt = ep->cur_audiofmt;
sound/usb/endpoint.c
1104
int frame_bits = ep->cur_frame_bytes * 8;
sound/usb/endpoint.c
1106
usb_pipeout(ep->pipe));
sound/usb/endpoint.c
1109
ep->ep_num, ep->pipe);
sound/usb/endpoint.c
1111
if (ep->cur_format == SNDRV_PCM_FORMAT_DSD_U16_LE && fmt->dsd_dop) {
sound/usb/endpoint.c
1117
frame_bits += ep->cur_channels << 3;
sound/usb/endpoint.c
1120
ep->datainterval = fmt->datainterval;
sound/usb/endpoint.c
1121
ep->stride = frame_bits >> 3;
sound/usb/endpoint.c
1123
switch (ep->cur_format) {
sound/usb/endpoint.c
1125
ep->silence_value = 0x80;
sound/usb/endpoint.c
1132
ep->silence_value = 0x69;
sound/usb/endpoint.c
1135
ep->silence_value = 0;
sound/usb/endpoint.c
1139
ep->freqmax = ep->freqn + (ep->freqn >> 1);
sound/usb/endpoint.c
1155
maxsize = (((ep->freqmax << ep->datainterval) + 0xffff) >> 16) *
sound/usb/endpoint.c
1160
if (ep->maxpacksize && ep->maxpacksize < maxsize) {
sound/usb/endpoint.c
1162
unsigned int data_maxsize = maxsize = ep->maxpacksize;
sound/usb/endpoint.c
1167
ep->freqmax = (data_maxsize / (frame_bits >> 3))
sound/usb/endpoint.c
1168
<< (16 - ep->datainterval);
sound/usb/endpoint.c
1171
if (ep->fill_max)
sound/usb/endpoint.c
1172
ep->curpacksize = ep->maxpacksize;
sound/usb/endpoint.c
1174
ep->curpacksize = maxsize;
sound/usb/endpoint.c
1177
packs_per_ms = 8 >> ep->datainterval;
sound/usb/endpoint.c
1183
if (ep->sync_source && !ep->implicit_fb_sync)
sound/usb/endpoint.c
1185
1U << ep->sync_source->syncinterval);
sound/usb/endpoint.c
1186
max_packs_per_urb = max(1u, max_packs_per_urb >> ep->datainterval);
sound/usb/endpoint.c
1196
if (usb_pipein(ep->pipe) || ep->implicit_fb_sync) {
sound/usb/endpoint.c
1200
while (urb_packs > 1 && urb_packs * maxsize >= ep->cur_period_bytes)
sound/usb/endpoint.c
1202
ep->nurbs = MAX_URBS;
sound/usb/endpoint.c
1212
minsize = (ep->freqn >> (16 - ep->datainterval)) *
sound/usb/endpoint.c
1215
if (ep->sync_source)
sound/usb/endpoint.c
1220
max_packs_per_period = DIV_ROUND_UP(ep->cur_period_bytes, minsize);
sound/usb/endpoint.c
1229
ep->max_urb_frames = DIV_ROUND_UP(ep->cur_period_frames,
sound/usb/endpoint.c
1235
ep->nurbs = min(max_urbs, urbs_per_period * ep->cur_buffer_periods);
sound/usb/endpoint.c
1239
for (i = 0; i < ep->nurbs; i++) {
sound/usb/endpoint.c
1240
struct snd_urb_ctx *u = &ep->urb[i];
sound/usb/endpoint.c
1242
u->ep = ep;
sound/usb/endpoint.c
1257
u->urb->pipe = ep->pipe;
sound/usb/endpoint.c
1259
u->urb->interval = 1 << ep->datainterval;
sound/usb/endpoint.c
1268
release_urbs(ep, false);
sound/usb/endpoint.c
1275
static int sync_ep_set_params(struct snd_usb_endpoint *ep)
sound/usb/endpoint.c
1277
struct snd_usb_audio *chip = ep->chip;
sound/usb/endpoint.c
1281
ep->ep_num, ep->pipe);
sound/usb/endpoint.c
1283
ep->syncbuf = usb_alloc_coherent(chip->dev, SYNC_URBS * 4,
sound/usb/endpoint.c
1284
GFP_KERNEL, &ep->sync_dma);
sound/usb/endpoint.c
1285
if (!ep->syncbuf)
sound/usb/endpoint.c
1288
ep->nurbs = SYNC_URBS;
sound/usb/endpoint.c
1290
struct snd_urb_ctx *u = &ep->urb[i];
sound/usb/endpoint.c
1292
u->ep = ep;
sound/usb/endpoint.c
1297
u->urb->transfer_buffer = ep->syncbuf + i * 4;
sound/usb/endpoint.c
1298
u->urb->transfer_dma = ep->sync_dma + i * 4;
sound/usb/endpoint.c
1300
u->urb->pipe = ep->pipe;
sound/usb/endpoint.c
1303
u->urb->interval = 1 << ep->syncinterval;
sound/usb/endpoint.c
1311
release_urbs(ep, false);
sound/usb/endpoint.c
1317
struct snd_usb_endpoint *ep)
sound/usb/endpoint.c
1319
struct snd_usb_clock_ref *clock = ep->clock_ref;
sound/usb/endpoint.c
1320
int rate = ep->cur_rate;
sound/usb/endpoint.c
1329
clock->rate, rate, ep->ep_num);
sound/usb/endpoint.c
133
static inline bool ep_state_running(struct snd_usb_endpoint *ep)
sound/usb/endpoint.c
1347
struct snd_usb_endpoint *ep)
sound/usb/endpoint.c
1349
const struct audioformat *fmt = ep->cur_audiofmt;
sound/usb/endpoint.c
135
return atomic_read(&ep->state) == EP_STATE_RUNNING;
sound/usb/endpoint.c
1353
if (!ep->need_setup)
sound/usb/endpoint.c
1357
err = release_urbs(ep, false);
sound/usb/endpoint.c
1361
ep->datainterval = fmt->datainterval;
sound/usb/endpoint.c
1362
ep->maxpacksize = fmt->maxpacksize;
sound/usb/endpoint.c
1363
ep->fill_max = !!(fmt->attributes & UAC_EP_CS_ATTR_FILL_MAX);
sound/usb/endpoint.c
1366
ep->freqn = get_usb_full_speed_rate(ep->cur_rate);
sound/usb/endpoint.c
1367
ep->pps = 1000 >> ep->datainterval;
sound/usb/endpoint.c
1369
ep->freqn = get_usb_high_speed_rate(ep->cur_rate);
sound/usb/endpoint.c
1370
ep->pps = 8000 >> ep->datainterval;
sound/usb/endpoint.c
1373
ep->sample_rem = ep->cur_rate % ep->pps;
sound/usb/endpoint.c
1374
ep->packsize[0] = ep->cur_rate / ep->pps;
sound/usb/endpoint.c
1375
ep->packsize[1] = (ep->cur_rate + (ep->pps - 1)) / ep->pps;
sound/usb/endpoint.c
1376
if (ep->packsize[1] > ep->maxpacksize) {
sound/usb/endpoint.c
1378
ep->maxpacksize, ep->cur_rate, ep->pps);
sound/usb/endpoint.c
138
static inline bool ep_state_update(struct snd_usb_endpoint *ep, int old, int new)
sound/usb/endpoint.c
1382
ep->packsize[0] = min(ep->packsize[0], ep->maxframesize);
sound/usb/endpoint.c
1383
ep->packsize[1] = min(ep->packsize[1], ep->maxframesize);
sound/usb/endpoint.c
1386
ep->freqm = ep->freqn;
sound/usb/endpoint.c
1387
ep->freqshift = INT_MIN;
sound/usb/endpoint.c
1389
ep->phase = 0;
sound/usb/endpoint.c
1391
switch (ep->type) {
sound/usb/endpoint.c
1393
err = data_ep_set_params(ep);
sound/usb/endpoint.c
1396
err = sync_ep_set_params(ep);
sound/usb/endpoint.c
140
return atomic_try_cmpxchg(&ep->state, &old, new);
sound/usb/endpoint.c
1402
usb_audio_dbg(chip, "Set up %d URBS, ret=%d\n", ep->nurbs, err);
sound/usb/endpoint.c
1408
ep->maxframesize = ep->maxpacksize / ep->cur_frame_bytes;
sound/usb/endpoint.c
1409
ep->curframesize = ep->curpacksize / ep->cur_frame_bytes;
sound/usb/endpoint.c
1411
err = update_clock_ref_rate(chip, ep);
sound/usb/endpoint.c
1413
ep->need_setup = false;
sound/usb/endpoint.c
1421
struct snd_usb_endpoint *ep)
sound/usb/endpoint.c
1423
struct snd_usb_clock_ref *clock = ep->clock_ref;
sound/usb/endpoint.c
1426
rate = update_clock_ref_rate(chip, ep);
sound/usb/endpoint.c
1432
if (!ep->fixed_rate) {
sound/usb/endpoint.c
1433
err = snd_usb_init_sample_rate(chip, ep->cur_audiofmt, rate);
sound/usb/endpoint.c
1458
struct snd_usb_endpoint *ep)
sound/usb/endpoint.c
1464
if (WARN_ON(!ep->iface_ref))
sound/usb/endpoint.c
1466
if (!ep->need_prepare)
sound/usb/endpoint.c
1470
if (!ep->iface_ref->need_setup) {
sound/usb/endpoint.c
1474
if (ep->cur_audiofmt->protocol == UAC_VERSION_1) {
sound/usb/endpoint.c
1475
err = init_sample_rate(chip, ep);
sound/usb/endpoint.c
1483
endpoint_set_interface(chip, ep, false);
sound/usb/endpoint.c
1488
iface_first = ep->cur_audiofmt->protocol == UAC_VERSION_1;
sound/usb/endpoint.c
1493
err = endpoint_set_interface(chip, ep, true);
sound/usb/endpoint.c
1498
err = snd_usb_select_mode_quirk(chip, ep->cur_audiofmt);
sound/usb/endpoint.c
1502
err = snd_usb_init_pitch(chip, ep->cur_audiofmt);
sound/usb/endpoint.c
1506
err = init_sample_rate(chip, ep);
sound/usb/endpoint.c
151
int snd_usb_endpoint_implicit_feedback_sink(struct snd_usb_endpoint *ep)
sound/usb/endpoint.c
1512
err = endpoint_set_interface(chip, ep, true);
sound/usb/endpoint.c
1517
ep->iface_ref->need_setup = false;
sound/usb/endpoint.c
1520
ep->need_prepare = false;
sound/usb/endpoint.c
153
return ep->implicit_fb_sync && usb_pipeout(ep->pipe);
sound/usb/endpoint.c
1556
int snd_usb_endpoint_start(struct snd_usb_endpoint *ep)
sound/usb/endpoint.c
1558
bool is_playback = usb_pipeout(ep->pipe);
sound/usb/endpoint.c
1562
if (atomic_read(&ep->chip->shutdown))
sound/usb/endpoint.c
1565
if (ep->sync_source)
sound/usb/endpoint.c
1566
WRITE_ONCE(ep->sync_source->sync_sink, ep);
sound/usb/endpoint.c
1568
usb_audio_dbg(ep->chip, "Starting %s EP 0x%x (running %d)\n",
sound/usb/endpoint.c
1569
ep_type_name(ep->type), ep->ep_num,
sound/usb/endpoint.c
1570
atomic_read(&ep->running));
sound/usb/endpoint.c
1573
if (atomic_inc_return(&ep->running) != 1)
sound/usb/endpoint.c
1576
if (ep->clock_ref)
sound/usb/endpoint.c
1577
atomic_inc(&ep->clock_ref->locked);
sound/usb/endpoint.c
1579
ep->active_mask = 0;
sound/usb/endpoint.c
1580
ep->unlink_mask = 0;
sound/usb/endpoint.c
1581
ep->phase = 0;
sound/usb/endpoint.c
1582
ep->sample_accum = 0;
sound/usb/endpoint.c
1584
snd_usb_endpoint_start_quirk(ep);
sound/usb/endpoint.c
1593
if (!ep_state_update(ep, EP_STATE_STOPPED, EP_STATE_RUNNING))
sound/usb/endpoint.c
1596
if (snd_usb_endpoint_implicit_feedback_sink(ep) &&
sound/usb/endpoint.c
1597
!(ep->chip->quirk_flags & QUIRK_FLAG_PLAYBACK_FIRST)) {
sound/usb/endpoint.c
1598
usb_audio_dbg(ep->chip, "No URB submission due to implicit fb sync\n");
sound/usb/endpoint.c
1603
for (i = 0; i < ep->nurbs; i++) {
sound/usb/endpoint.c
1604
struct urb *urb = ep->urb[i].urb;
sound/usb/endpoint.c
1610
err = prepare_outbound_urb(ep, urb->context, true);
sound/usb/endpoint.c
1612
err = prepare_inbound_urb(ep, urb->context);
sound/usb/endpoint.c
1617
usb_audio_dbg(ep->chip,
sound/usb/endpoint.c
1619
ep->ep_num, err);
sound/usb/endpoint.c
1623
if (!atomic_read(&ep->chip->shutdown))
sound/usb/endpoint.c
1628
if (!atomic_read(&ep->chip->shutdown))
sound/usb/endpoint.c
1629
usb_audio_err(ep->chip,
sound/usb/endpoint.c
163
static int synced_next_packet_size(struct snd_usb_endpoint *ep,
sound/usb/endpoint.c
1634
set_bit(i, &ep->active_mask);
sound/usb/endpoint.c
1635
atomic_inc(&ep->submitted_urbs);
sound/usb/endpoint.c
1639
usb_audio_dbg(ep->chip, "XRUN at starting EP 0x%x\n",
sound/usb/endpoint.c
1640
ep->ep_num);
sound/usb/endpoint.c
1644
usb_audio_dbg(ep->chip, "%d URBs submitted for EP 0x%x\n",
sound/usb/endpoint.c
1645
i, ep->ep_num);
sound/usb/endpoint.c
1650
for (; i < ep->nurbs; i++)
sound/usb/endpoint.c
1651
push_back_to_ready_list(ep, ep->urb + i);
sound/usb/endpoint.c
1657
snd_usb_endpoint_stop(ep, false);
sound/usb/endpoint.c
1676
void snd_usb_endpoint_stop(struct snd_usb_endpoint *ep, bool keep_pending)
sound/usb/endpoint.c
1678
if (!ep)
sound/usb/endpoint.c
1681
usb_audio_dbg(ep->chip, "Stopping %s EP 0x%x (running %d)\n",
sound/usb/endpoint.c
1682
ep_type_name(ep->type), ep->ep_num,
sound/usb/endpoint.c
1683
atomic_read(&ep->running));
sound/usb/endpoint.c
1685
if (snd_BUG_ON(!atomic_read(&ep->running)))
sound/usb/endpoint.c
1688
if (!atomic_dec_return(&ep->running)) {
sound/usb/endpoint.c
1689
if (ep->sync_source)
sound/usb/endpoint.c
169
if (ep->fill_max)
sound/usb/endpoint.c
1690
WRITE_ONCE(ep->sync_source->sync_sink, NULL);
sound/usb/endpoint.c
1691
stop_urbs(ep, false, keep_pending);
sound/usb/endpoint.c
1692
if (ep->clock_ref)
sound/usb/endpoint.c
1693
atomic_dec(&ep->clock_ref->locked);
sound/usb/endpoint.c
1695
if (ep->chip->quirk_flags & QUIRK_FLAG_FORCE_IFACE_RESET &&
sound/usb/endpoint.c
1696
usb_pipeout(ep->pipe)) {
sound/usb/endpoint.c
1697
ep->need_prepare = true;
sound/usb/endpoint.c
1698
if (ep->iface_ref)
sound/usb/endpoint.c
1699
ep->iface_ref->need_setup = true;
sound/usb/endpoint.c
170
return ep->maxframesize;
sound/usb/endpoint.c
1712
void snd_usb_endpoint_release(struct snd_usb_endpoint *ep)
sound/usb/endpoint.c
1714
release_urbs(ep, true);
sound/usb/endpoint.c
172
guard(spinlock_irqsave)(&ep->lock);
sound/usb/endpoint.c
1725
struct snd_usb_endpoint *ep, *en;
sound/usb/endpoint.c
1729
list_for_each_entry_safe(ep, en, &chip->ep_list, list)
sound/usb/endpoint.c
173
phase = (ep->phase & 0xffff) + (ep->freqm << ep->datainterval);
sound/usb/endpoint.c
1730
kfree(ep);
sound/usb/endpoint.c
174
ret = min(phase >> 16, ep->maxframesize);
sound/usb/endpoint.c
1749
static void snd_usb_handle_sync_urb(struct snd_usb_endpoint *ep,
sound/usb/endpoint.c
1757
snd_BUG_ON(ep == sender);
sound/usb/endpoint.c
1765
if (snd_usb_endpoint_implicit_feedback_sink(ep) &&
sound/usb/endpoint.c
1766
atomic_read(&ep->running)) {
sound/usb/endpoint.c
178
ep->phase = phase;
sound/usb/endpoint.c
1787
spin_lock_irqsave(&ep->lock, flags);
sound/usb/endpoint.c
1788
if (ep->next_packet_queued >= ARRAY_SIZE(ep->next_packet)) {
sound/usb/endpoint.c
1789
spin_unlock_irqrestore(&ep->lock, flags);
sound/usb/endpoint.c
1790
if (notify_xrun(ep)) {
sound/usb/endpoint.c
1791
usb_audio_err(ep->chip,
sound/usb/endpoint.c
1793
ep->ep_num);
sound/usb/endpoint.c
1798
out_packet = next_packet_fifo_enqueue(ep);
sound/usb/endpoint.c
1819
spin_unlock_irqrestore(&ep->lock, flags);
sound/usb/endpoint.c
1820
snd_usb_queue_pending_output_urbs(ep, false);
sound/usb/endpoint.c
1859
if (f < ep->freqn - 0x8000)
sound/usb/endpoint.c
186
static int next_packet_size(struct snd_usb_endpoint *ep, unsigned int avail)
sound/usb/endpoint.c
1861
else if (f > ep->freqn + 0x8000)
sound/usb/endpoint.c
1863
} else if (unlikely(ep->freqshift == INT_MIN)) {
sound/usb/endpoint.c
1871
while (f < ep->freqn - ep->freqn / 4) {
sound/usb/endpoint.c
1875
while (f > ep->freqn + ep->freqn / 2) {
sound/usb/endpoint.c
1879
ep->freqshift = shift;
sound/usb/endpoint.c
1880
} else if (ep->freqshift >= 0)
sound/usb/endpoint.c
1881
f <<= ep->freqshift;
sound/usb/endpoint.c
1883
f >>= -ep->freqshift;
sound/usb/endpoint.c
1885
if (likely(f >= ep->freqn - ep->freqn / 8 && f <= ep->freqmax)) {
sound/usb/endpoint.c
1890
guard(spinlock_irqsave)(&ep->lock);
sound/usb/endpoint.c
1891
ep->freqm = f;
sound/usb/endpoint.c
1897
ep->freqshift = INT_MIN;
sound/usb/endpoint.c
191
if (ep->fill_max)
sound/usb/endpoint.c
192
return ep->maxframesize;
sound/usb/endpoint.c
194
sample_accum = ep->sample_accum + ep->sample_rem;
sound/usb/endpoint.c
195
if (sample_accum >= ep->pps) {
sound/usb/endpoint.c
196
sample_accum -= ep->pps;
sound/usb/endpoint.c
197
ret = ep->packsize[1];
sound/usb/endpoint.c
199
ret = ep->packsize[0];
sound/usb/endpoint.c
204
ep->sample_accum = sample_accum;
sound/usb/endpoint.c
216
int snd_usb_endpoint_next_packet_size(struct snd_usb_endpoint *ep,
sound/usb/endpoint.c
224
packet = min(packet, ep->maxframesize);
sound/usb/endpoint.c
230
if (ep->sync_source)
sound/usb/endpoint.c
231
return synced_next_packet_size(ep, avail);
sound/usb/endpoint.c
233
return next_packet_size(ep, avail);
sound/usb/endpoint.c
236
static void call_retire_callback(struct snd_usb_endpoint *ep,
sound/usb/endpoint.c
241
data_subs = READ_ONCE(ep->data_subs);
sound/usb/endpoint.c
242
if (data_subs && ep->retire_data_urb)
sound/usb/endpoint.c
243
ep->retire_data_urb(data_subs, urb);
sound/usb/endpoint.c
246
static void retire_outbound_urb(struct snd_usb_endpoint *ep,
sound/usb/endpoint.c
249
call_retire_callback(ep, urb_ctx->urb);
sound/usb/endpoint.c
252
static void snd_usb_handle_sync_urb(struct snd_usb_endpoint *ep,
sound/usb/endpoint.c
256
static void retire_inbound_urb(struct snd_usb_endpoint *ep,
sound/usb/endpoint.c
262
if (unlikely(ep->skip_packets > 0)) {
sound/usb/endpoint.c
263
ep->skip_packets--;
sound/usb/endpoint.c
267
sync_sink = READ_ONCE(ep->sync_sink);
sound/usb/endpoint.c
269
snd_usb_handle_sync_urb(sync_sink, ep, urb);
sound/usb/endpoint.c
271
call_retire_callback(ep, urb);
sound/usb/endpoint.c
279
static int prepare_silent_urb(struct snd_usb_endpoint *ep,
sound/usb/endpoint.c
289
if (has_tx_length_quirk(ep->chip))
sound/usb/endpoint.c
295
length = snd_usb_endpoint_next_packet_size(ep, ctx, i, 0);
sound/usb/endpoint.c
298
length *= ep->stride; /* number of silent bytes */
sound/usb/endpoint.c
310
ep->silence_value, length);
sound/usb/endpoint.c
326
static int prepare_outbound_urb(struct snd_usb_endpoint *ep,
sound/usb/endpoint.c
334
urb->dev = ep->chip->dev; /* we need to set this at each time */
sound/usb/endpoint.c
336
switch (ep->type) {
sound/usb/endpoint.c
338
data_subs = READ_ONCE(ep->data_subs);
sound/usb/endpoint.c
339
if (data_subs && ep->prepare_data_urb)
sound/usb/endpoint.c
340
return ep->prepare_data_urb(data_subs, urb, in_stream_lock);
sound/usb/endpoint.c
342
return prepare_silent_urb(ep, ctx);
sound/usb/endpoint.c
345
if (snd_usb_get_speed(ep->chip->dev) >= USB_SPEED_HIGH) {
sound/usb/endpoint.c
352
cp[0] = ep->freqn;
sound/usb/endpoint.c
353
cp[1] = ep->freqn >> 8;
sound/usb/endpoint.c
354
cp[2] = ep->freqn >> 16;
sound/usb/endpoint.c
355
cp[3] = ep->freqn >> 24;
sound/usb/endpoint.c
363
cp[0] = ep->freqn >> 2;
sound/usb/endpoint.c
364
cp[1] = ep->freqn >> 10;
sound/usb/endpoint.c
365
cp[2] = ep->freqn >> 18;
sound/usb/endpoint.c
376
static int prepare_inbound_urb(struct snd_usb_endpoint *ep,
sound/usb/endpoint.c
382
urb->dev = ep->chip->dev; /* we need to set this at each time */
sound/usb/endpoint.c
384
switch (ep->type) {
sound/usb/endpoint.c
389
urb->iso_frame_desc[i].length = ep->curpacksize;
sound/usb/endpoint.c
390
offs += ep->curpacksize;
sound/usb/endpoint.c
398
urb->iso_frame_desc[0].length = min(4u, ep->syncmaxsize);
sound/usb/endpoint.c
406
static bool notify_xrun(struct snd_usb_endpoint *ep)
sound/usb/endpoint.c
411
data_subs = READ_ONCE(ep->data_subs);
sound/usb/endpoint.c
424
next_packet_fifo_enqueue(struct snd_usb_endpoint *ep)
sound/usb/endpoint.c
428
p = ep->next_packet + (ep->next_packet_head + ep->next_packet_queued) %
sound/usb/endpoint.c
429
ARRAY_SIZE(ep->next_packet);
sound/usb/endpoint.c
430
ep->next_packet_queued++;
sound/usb/endpoint.c
435
next_packet_fifo_dequeue(struct snd_usb_endpoint *ep)
sound/usb/endpoint.c
439
p = ep->next_packet + ep->next_packet_head;
sound/usb/endpoint.c
440
ep->next_packet_head++;
sound/usb/endpoint.c
441
ep->next_packet_head %= ARRAY_SIZE(ep->next_packet);
sound/usb/endpoint.c
442
ep->next_packet_queued--;
sound/usb/endpoint.c
446
static void push_back_to_ready_list(struct snd_usb_endpoint *ep,
sound/usb/endpoint.c
449
guard(spinlock_irqsave)(&ep->lock);
sound/usb/endpoint.c
450
list_add_tail(&ctx->ready_list, &ep->ready_playback_urbs);
sound/usb/endpoint.c
466
int snd_usb_queue_pending_output_urbs(struct snd_usb_endpoint *ep,
sound/usb/endpoint.c
469
bool implicit_fb = snd_usb_endpoint_implicit_feedback_sink(ep);
sound/usb/endpoint.c
471
while (ep_state_running(ep)) {
sound/usb/endpoint.c
476
scoped_guard(spinlock_irqsave, &ep->lock) {
sound/usb/endpoint.c
477
if ((!implicit_fb || ep->next_packet_queued > 0) &&
sound/usb/endpoint.c
478
!list_empty(&ep->ready_playback_urbs)) {
sound/usb/endpoint.c
480
ctx = list_first_entry(&ep->ready_playback_urbs,
sound/usb/endpoint.c
484
packet = next_packet_fifo_dequeue(ep);
sound/usb/endpoint.c
499
err = prepare_outbound_urb(ep, ctx, in_stream_lock);
sound/usb/endpoint.c
501
if (unlikely(!ep_state_running(ep)))
sound/usb/endpoint.c
506
push_back_to_ready_list(ep, ctx);
sound/usb/endpoint.c
511
notify_xrun(ep);
sound/usb/endpoint.c
515
if (!atomic_read(&ep->chip->shutdown))
sound/usb/endpoint.c
520
if (!atomic_read(&ep->chip->shutdown)) {
sound/usb/endpoint.c
521
usb_audio_err(ep->chip,
sound/usb/endpoint.c
525
notify_xrun(ep);
sound/usb/endpoint.c
530
set_bit(ctx->index, &ep->active_mask);
sound/usb/endpoint.c
531
atomic_inc(&ep->submitted_urbs);
sound/usb/endpoint.c
543
struct snd_usb_endpoint *ep = ctx->ep;
sound/usb/endpoint.c
552
if (unlikely(atomic_read(&ep->chip->shutdown)))
sound/usb/endpoint.c
555
if (unlikely(!ep_state_running(ep)))
sound/usb/endpoint.c
558
if (usb_pipeout(ep->pipe)) {
sound/usb/endpoint.c
559
retire_outbound_urb(ep, ctx);
sound/usb/endpoint.c
561
if (unlikely(!ep_state_running(ep)))
sound/usb/endpoint.c
567
if (ep->lowlatency_playback ||
sound/usb/endpoint.c
568
snd_usb_endpoint_implicit_feedback_sink(ep)) {
sound/usb/endpoint.c
569
push_back_to_ready_list(ep, ctx);
sound/usb/endpoint.c
570
clear_bit(ctx->index, &ep->active_mask);
sound/usb/endpoint.c
571
snd_usb_queue_pending_output_urbs(ep, false);
sound/usb/endpoint.c
573
if (atomic_dec_and_test(&ep->submitted_urbs) &&
sound/usb/endpoint.c
574
!snd_usb_endpoint_implicit_feedback_sink(ep))
sound/usb/endpoint.c
575
notify_xrun(ep);
sound/usb/endpoint.c
580
prepare_outbound_urb(ep, ctx, false);
sound/usb/endpoint.c
582
if (unlikely(!ep_state_running(ep)))
sound/usb/endpoint.c
585
retire_inbound_urb(ep, ctx);
sound/usb/endpoint.c
587
if (unlikely(!ep_state_running(ep)))
sound/usb/endpoint.c
590
prepare_inbound_urb(ep, ctx);
sound/usb/endpoint.c
593
if (!atomic_read(&ep->chip->shutdown))
sound/usb/endpoint.c
600
if (!atomic_read(&ep->chip->shutdown)) {
sound/usb/endpoint.c
601
if (notify_xrun(ep))
sound/usb/endpoint.c
602
usb_audio_err(ep->chip,
sound/usb/endpoint.c
607
clear_bit(ctx->index, &ep->active_mask);
sound/usb/endpoint.c
608
atomic_dec(&ep->submitted_urbs);
sound/usb/endpoint.c
659
struct snd_usb_endpoint *ep;
sound/usb/endpoint.c
661
list_for_each_entry(ep, &chip->ep_list, list) {
sound/usb/endpoint.c
662
if (ep->ep_num == ep_num)
sound/usb/endpoint.c
663
return ep;
sound/usb/endpoint.c
692
struct snd_usb_endpoint *ep;
sound/usb/endpoint.c
695
ep = snd_usb_get_endpoint(chip, ep_num);
sound/usb/endpoint.c
696
if (ep)
sound/usb/endpoint.c
702
ep = kzalloc_obj(*ep);
sound/usb/endpoint.c
703
if (!ep)
sound/usb/endpoint.c
706
ep->chip = chip;
sound/usb/endpoint.c
707
spin_lock_init(&ep->lock);
sound/usb/endpoint.c
708
ep->type = type;
sound/usb/endpoint.c
709
ep->ep_num = ep_num;
sound/usb/endpoint.c
710
INIT_LIST_HEAD(&ep->ready_playback_urbs);
sound/usb/endpoint.c
711
atomic_set(&ep->submitted_urbs, 0);
sound/usb/endpoint.c
716
ep->pipe = usb_sndisocpipe(chip->dev, ep_num);
sound/usb/endpoint.c
718
ep->pipe = usb_rcvisocpipe(chip->dev, ep_num);
sound/usb/endpoint.c
720
list_add_tail(&ep->list, &chip->ep_list);
sound/usb/endpoint.c
726
struct snd_usb_endpoint *ep)
sound/usb/endpoint.c
731
alts = snd_usb_get_host_interface(chip, ep->iface, ep->altsetting);
sound/usb/endpoint.c
735
desc = get_endpoint(alts, ep->ep_idx);
sound/usb/endpoint.c
738
ep->syncinterval = desc->bRefresh;
sound/usb/endpoint.c
740
ep->syncinterval = 1;
sound/usb/endpoint.c
742
ep->syncinterval = desc->bInterval - 1;
sound/usb/endpoint.c
744
ep->syncinterval = 3;
sound/usb/endpoint.c
746
ep->syncmaxsize = le16_to_cpu(desc->wMaxPacketSize);
sound/usb/endpoint.c
749
static bool endpoint_compatible(struct snd_usb_endpoint *ep,
sound/usb/endpoint.c
753
if (!ep->opened)
sound/usb/endpoint.c
755
if (ep->cur_audiofmt != fp)
sound/usb/endpoint.c
757
if (ep->cur_rate != params_rate(params) ||
sound/usb/endpoint.c
758
ep->cur_format != params_format(params) ||
sound/usb/endpoint.c
759
ep->cur_period_frames != params_period_size(params) ||
sound/usb/endpoint.c
760
ep->cur_buffer_periods != params_periods(params))
sound/usb/endpoint.c
770
struct snd_usb_endpoint *ep,
sound/usb/endpoint.c
775
return endpoint_compatible(ep, fp, params);
sound/usb/endpoint.c
798
struct snd_usb_endpoint *ep;
sound/usb/endpoint.c
802
ep = snd_usb_get_endpoint(chip, ep_num);
sound/usb/endpoint.c
803
if (!ep) {
sound/usb/endpoint.c
808
if (!ep->opened) {
sound/usb/endpoint.c
810
ep->iface = fp->sync_iface;
sound/usb/endpoint.c
811
ep->altsetting = fp->sync_altsetting;
sound/usb/endpoint.c
812
ep->ep_idx = fp->sync_ep_idx;
sound/usb/endpoint.c
814
ep->iface = fp->iface;
sound/usb/endpoint.c
815
ep->altsetting = fp->altsetting;
sound/usb/endpoint.c
816
ep->ep_idx = fp->ep_idx;
sound/usb/endpoint.c
819
ep_num, ep->iface, ep->altsetting, ep->ep_idx);
sound/usb/endpoint.c
821
ep->iface_ref = iface_ref_find(chip, ep->iface);
sound/usb/endpoint.c
822
if (!ep->iface_ref)
sound/usb/endpoint.c
826
ep->clock_ref = clock_ref_find(chip, fp->clock);
sound/usb/endpoint.c
827
if (!ep->clock_ref)
sound/usb/endpoint.c
829
ep->clock_ref->opened++;
sound/usb/endpoint.c
832
ep->cur_audiofmt = fp;
sound/usb/endpoint.c
833
ep->cur_channels = fp->channels;
sound/usb/endpoint.c
834
ep->cur_rate = params_rate(params);
sound/usb/endpoint.c
835
ep->cur_format = params_format(params);
sound/usb/endpoint.c
836
ep->cur_frame_bytes = snd_pcm_format_physical_width(ep->cur_format) *
sound/usb/endpoint.c
837
ep->cur_channels / 8;
sound/usb/endpoint.c
838
ep->cur_period_frames = params_period_size(params);
sound/usb/endpoint.c
839
ep->cur_period_bytes = ep->cur_period_frames * ep->cur_frame_bytes;
sound/usb/endpoint.c
840
ep->cur_buffer_periods = params_periods(params);
sound/usb/endpoint.c
842
if (ep->type == SND_USB_ENDPOINT_TYPE_SYNC)
sound/usb/endpoint.c
843
endpoint_set_syncinterval(chip, ep);
sound/usb/endpoint.c
845
ep->implicit_fb_sync = fp->implicit_fb;
sound/usb/endpoint.c
846
ep->need_setup = true;
sound/usb/endpoint.c
847
ep->need_prepare = true;
sound/usb/endpoint.c
848
ep->fixed_rate = fixed_rate;
sound/usb/endpoint.c
851
ep->cur_channels, ep->cur_rate,
sound/usb/endpoint.c
852
snd_pcm_format_name(ep->cur_format),
sound/usb/endpoint.c
853
ep->cur_period_bytes, ep->cur_buffer_periods,
sound/usb/endpoint.c
854
ep->implicit_fb_sync);
sound/usb/endpoint.c
857
if (WARN_ON(!ep->iface_ref))
sound/usb/endpoint.c
860
if (!endpoint_compatible(ep, fp, params)) {
sound/usb/endpoint.c
867
ep_num, ep->opened);
sound/usb/endpoint.c
870
if (!ep->iface_ref->opened++)
sound/usb/endpoint.c
871
ep->iface_ref->need_setup = true;
sound/usb/endpoint.c
873
ep->opened++;
sound/usb/endpoint.c
874
return ep;
sound/usb/endpoint.c
895
void snd_usb_endpoint_set_callback(struct snd_usb_endpoint *ep,
sound/usb/endpoint.c
903
ep->prepare_data_urb = prepare;
sound/usb/endpoint.c
904
ep->retire_data_urb = retire;
sound/usb/endpoint.c
906
ep->lowlatency_playback = data_subs->lowlatency_playback;
sound/usb/endpoint.c
908
ep->lowlatency_playback = false;
sound/usb/endpoint.c
909
WRITE_ONCE(ep->data_subs, data_subs);
sound/usb/endpoint.c
913
struct snd_usb_endpoint *ep,
sound/usb/endpoint.c
916
int altset = set ? ep->altsetting : 0;
sound/usb/endpoint.c
921
if (ep->iface_ref->altset == altset)
sound/usb/endpoint.c
928
ep->iface, altset, ep->ep_num);
sound/usb/endpoint.c
930
err = usb_set_interface(chip->dev, ep->iface, altset);
sound/usb/endpoint.c
938
ep->iface, altset, err);
sound/usb/endpoint.c
944
ep->iface_ref->altset = altset;
sound/usb/endpoint.c
954
struct snd_usb_endpoint *ep)
sound/usb/endpoint.c
958
ep->ep_num, ep->opened);
sound/usb/endpoint.c
960
if (!--ep->iface_ref->opened &&
sound/usb/endpoint.c
962
endpoint_set_interface(chip, ep, false);
sound/usb/endpoint.c
964
if (!--ep->opened) {
sound/usb/endpoint.c
965
if (ep->clock_ref) {
sound/usb/endpoint.c
966
if (!--ep->clock_ref->opened)
sound/usb/endpoint.c
967
ep->clock_ref->rate = 0;
sound/usb/endpoint.c
969
ep->iface = 0;
sound/usb/endpoint.c
970
ep->altsetting = 0;
sound/usb/endpoint.c
971
ep->cur_audiofmt = NULL;
sound/usb/endpoint.c
972
ep->cur_rate = 0;
sound/usb/endpoint.c
973
ep->iface_ref = NULL;
sound/usb/endpoint.c
974
ep->clock_ref = NULL;
sound/usb/endpoint.c
975
usb_audio_dbg(chip, "EP 0x%x closed\n", ep->ep_num);
sound/usb/endpoint.c
980
void snd_usb_endpoint_suspend(struct snd_usb_endpoint *ep)
sound/usb/endpoint.c
982
ep->need_prepare = true;
sound/usb/endpoint.c
983
if (ep->iface_ref)
sound/usb/endpoint.c
984
ep->iface_ref->need_setup = true;
sound/usb/endpoint.c
985
if (ep->clock_ref)
sound/usb/endpoint.c
986
ep->clock_ref->rate = 0;
sound/usb/endpoint.c
992
static int wait_clear_urbs(struct snd_usb_endpoint *ep)
sound/usb/endpoint.c
997
if (atomic_read(&ep->state) != EP_STATE_STOPPING)
sound/usb/endpoint.h
20
struct snd_usb_endpoint *ep);
sound/usb/endpoint.h
22
struct snd_usb_endpoint *ep);
sound/usb/endpoint.h
24
struct snd_usb_endpoint *ep);
sound/usb/endpoint.h
28
struct snd_usb_endpoint *ep,
sound/usb/endpoint.h
35
void snd_usb_endpoint_set_callback(struct snd_usb_endpoint *ep,
sound/usb/endpoint.h
43
int snd_usb_endpoint_start(struct snd_usb_endpoint *ep);
sound/usb/endpoint.h
44
void snd_usb_endpoint_stop(struct snd_usb_endpoint *ep, bool keep_pending);
sound/usb/endpoint.h
45
void snd_usb_endpoint_sync_pending_stop(struct snd_usb_endpoint *ep);
sound/usb/endpoint.h
46
void snd_usb_endpoint_suspend(struct snd_usb_endpoint *ep);
sound/usb/endpoint.h
47
void snd_usb_endpoint_release(struct snd_usb_endpoint *ep);
sound/usb/endpoint.h
50
int snd_usb_endpoint_implicit_feedback_sink(struct snd_usb_endpoint *ep);
sound/usb/endpoint.h
51
int snd_usb_endpoint_next_packet_size(struct snd_usb_endpoint *ep,
sound/usb/endpoint.h
54
int snd_usb_queue_pending_output_urbs(struct snd_usb_endpoint *ep,
sound/usb/helper.h
31
#define get_endpoint(alt,ep) (&(alt)->endpoint[ep].desc)
sound/usb/helper.h
32
#define get_ep_desc(ep) (&(ep)->desc)
sound/usb/hiface/pcm.c
491
unsigned int ep,
sound/usb/hiface/pcm.c
502
usb_sndbulkpipe(chip->dev, ep), (void *)urb->buffer,
sound/usb/implicit.c
105
(ep & USB_DIR_IN) ? "playback" : "capture",
sound/usb/implicit.c
38
#define IMPLICIT_FB_FIXED_DEV(vend, prod, ep, ifnum) \
sound/usb/implicit.c
39
{ .id = USB_ID(vend, prod), .type = IMPLICIT_FB_FIXED, .ep_num = (ep),\
sound/usb/implicit.c
41
#define IMPLICIT_FB_BOTH_DEV(vend, prod, ep, ifnum) \
sound/usb/implicit.c
42
{ .id = USB_ID(vend, prod), .type = IMPLICIT_FB_BOTH, .ep_num = (ep),\
sound/usb/implicit.c
85
int ep, int ep_idx, int ifnum,
sound/usb/implicit.c
97
fmt->sync_ep = ep;
sound/usb/line6/driver.c
503
struct usb_host_endpoint *ep = NULL;
sound/usb/line6/driver.c
513
ep = usbdev->ep_in[usb_pipeendpoint(pipe)];
sound/usb/line6/driver.c
517
if (ep) {
sound/usb/line6/driver.c
518
line6->interval = ep->desc.bInterval;
sound/usb/line6/driver.c
519
line6->max_packet_size = le16_to_cpu(ep->desc.wMaxPacketSize);
sound/usb/midi.c
1001
send_bulk_static_data(ep, init_data, sizeof(init_data));
sound/usb/midi.c
1004
static void snd_usbmidi_emagic_finish_out(struct snd_usb_midi_out_endpoint *ep)
sound/usb/midi.c
1017
send_bulk_static_data(ep, finish_data, sizeof(finish_data));
sound/usb/midi.c
1020
static void snd_usbmidi_emagic_input(struct snd_usb_midi_in_endpoint *ep,
sound/usb/midi.c
1033
if (ep->seen_f5)
sound/usb/midi.c
1041
snd_usbmidi_input_data(ep, ep->current_port, buffer, i);
sound/usb/midi.c
1048
ep->seen_f5 = 1;
sound/usb/midi.c
1056
ep->current_port = (buffer[0] - 1) & 15;
sound/usb/midi.c
1060
ep->seen_f5 = 0;
sound/usb/midi.c
1064
static void snd_usbmidi_emagic_output(struct snd_usb_midi_out_endpoint *ep,
sound/usb/midi.c
1067
int port0 = ep->current_port;
sound/usb/midi.c
1069
int buf_free = ep->max_transfer;
sound/usb/midi.c
1075
struct usbmidi_out_port *port = &ep->ports[portnum];
sound/usb/midi.c
1084
if (portnum != ep->current_port) {
sound/usb/midi.c
1087
ep->current_port = portnum;
sound/usb/midi.c
1104
if (buf_free < ep->max_transfer && buf_free > 0) {
sound/usb/midi.c
1108
urb->transfer_buffer_length = ep->max_transfer - buf_free;
sound/usb/midi.c
1205
flush_work(&port->ep->work);
sound/usb/midi.c
1217
if (port->ep->umidi->disconnected) {
sound/usb/midi.c
1223
queue_work(system_highpri_wq, &port->ep->work);
sound/usb/midi.c
1230
struct snd_usb_midi_out_endpoint *ep = port->ep;
sound/usb/midi.c
1235
if (ep->umidi->disconnected)
sound/usb/midi.c
124
struct snd_usb_midi_out_endpoint *ep;
sound/usb/midi.c
1241
spin_lock_irq(&ep->buffer_lock);
sound/usb/midi.c
1242
drain_urbs = ep->active_urbs;
sound/usb/midi.c
1244
ep->drain_urbs |= drain_urbs;
sound/usb/midi.c
1246
prepare_to_wait(&ep->drain_wait, &wait,
sound/usb/midi.c
1248
spin_unlock_irq(&ep->buffer_lock);
sound/usb/midi.c
1250
spin_lock_irq(&ep->buffer_lock);
sound/usb/midi.c
1251
drain_urbs &= ep->drain_urbs;
sound/usb/midi.c
1253
finish_wait(&ep->drain_wait, &wait);
sound/usb/midi.c
1256
spin_unlock_irq(&ep->buffer_lock);
sound/usb/midi.c
1305
static void snd_usbmidi_in_endpoint_delete(struct snd_usb_midi_in_endpoint *ep)
sound/usb/midi.c
1310
if (ep->urbs[i])
sound/usb/midi.c
1311
free_urb_and_buffer(ep->umidi, ep->urbs[i],
sound/usb/midi.c
1312
ep->urbs[i]->transfer_buffer_length);
sound/usb/midi.c
1313
kfree(ep);
sound/usb/midi.c
1323
struct snd_usb_midi_in_endpoint *ep;
sound/usb/midi.c
1331
ep = kzalloc_obj(*ep);
sound/usb/midi.c
1332
if (!ep)
sound/usb/midi.c
1334
ep->umidi = umidi;
sound/usb/midi.c
1337
ep->urbs[i] = usb_alloc_urb(0, GFP_KERNEL);
sound/usb/midi.c
1338
if (!ep->urbs[i]) {
sound/usb/midi.c
134
struct snd_usb_midi_out_endpoint *ep;
sound/usb/midi.c
1350
&ep->urbs[i]->transfer_dma);
sound/usb/midi.c
1356
usb_fill_int_urb(ep->urbs[i], umidi->dev,
sound/usb/midi.c
1359
ep, ep_info->in_interval);
sound/usb/midi.c
1361
usb_fill_bulk_urb(ep->urbs[i], umidi->dev,
sound/usb/midi.c
1363
snd_usbmidi_in_urb_complete, ep);
sound/usb/midi.c
1364
ep->urbs[i]->transfer_flags = URB_NO_TRANSFER_DMA_MAP;
sound/usb/midi.c
1365
err = usb_urb_ep_type_check(ep->urbs[i]);
sound/usb/midi.c
1373
rep->in = ep;
sound/usb/midi.c
1377
snd_usbmidi_in_endpoint_delete(ep);
sound/usb/midi.c
1385
static void snd_usbmidi_out_endpoint_clear(struct snd_usb_midi_out_endpoint *ep)
sound/usb/midi.c
1390
if (ep->urbs[i].urb) {
sound/usb/midi.c
1391
free_urb_and_buffer(ep->umidi, ep->urbs[i].urb,
sound/usb/midi.c
1392
ep->max_transfer);
sound/usb/midi.c
1393
ep->urbs[i].urb = NULL;
sound/usb/midi.c
1397
static void snd_usbmidi_out_endpoint_delete(struct snd_usb_midi_out_endpoint *ep)
sound/usb/midi.c
1399
snd_usbmidi_out_endpoint_clear(ep);
sound/usb/midi.c
1400
kfree(ep);
sound/usb/midi.c
1410
struct snd_usb_midi_out_endpoint *ep;
sound/usb/midi.c
1417
ep = kzalloc_obj(*ep);
sound/usb/midi.c
1418
if (!ep)
sound/usb/midi.c
1420
ep->umidi = umidi;
sound/usb/midi.c
1423
ep->urbs[i].urb = usb_alloc_urb(0, GFP_KERNEL);
sound/usb/midi.c
1424
if (!ep->urbs[i].urb) {
sound/usb/midi.c
1428
ep->urbs[i].ep = ep;
sound/usb/midi.c
1436
ep->max_transfer = usb_maxpacket(umidi->dev, pipe);
sound/usb/midi.c
1449
ep->max_transfer = 4;
sound/usb/midi.c
1456
ep->max_transfer = 9;
sound/usb/midi.c
1461
ep->max_transfer, GFP_KERNEL,
sound/usb/midi.c
1462
&ep->urbs[i].urb->transfer_dma);
sound/usb/midi.c
1468
usb_fill_int_urb(ep->urbs[i].urb, umidi->dev,
sound/usb/midi.c
1469
pipe, buffer, ep->max_transfer,
sound/usb/midi.c
1471
&ep->urbs[i], ep_info->out_interval);
sound/usb/midi.c
1473
usb_fill_bulk_urb(ep->urbs[i].urb, umidi->dev,
sound/usb/midi.c
1474
pipe, buffer, ep->max_transfer,
sound/usb/midi.c
1476
&ep->urbs[i]);
sound/usb/midi.c
1477
err = usb_urb_ep_type_check(ep->urbs[i].urb);
sound/usb/midi.c
1483
ep->urbs[i].urb->transfer_flags = URB_NO_TRANSFER_DMA_MAP;
sound/usb/midi.c
1486
spin_lock_init(&ep->buffer_lock);
sound/usb/midi.c
1487
INIT_WORK(&ep->work, snd_usbmidi_out_work);
sound/usb/midi.c
1488
init_waitqueue_head(&ep->drain_wait);
sound/usb/midi.c
1492
ep->ports[i].ep = ep;
sound/usb/midi.c
1493
ep->ports[i].cable = i << 4;
sound/usb/midi.c
1497
umidi->usb_protocol_ops->init_out_endpoint(ep);
sound/usb/midi.c
1499
rep->out = ep;
sound/usb/midi.c
1503
snd_usbmidi_out_endpoint_delete(ep);
sound/usb/midi.c
1518
struct snd_usb_midi_endpoint *ep = &umidi->endpoints[i];
sound/usb/midi.c
1519
kfree(ep->out);
sound/usb/midi.c
1547
struct snd_usb_midi_endpoint *ep = &umidi->endpoints[i];
sound/usb/midi.c
1548
if (ep->out)
sound/usb/midi.c
1549
cancel_work_sync(&ep->out->work);
sound/usb/midi.c
1550
if (ep->out) {
sound/usb/midi.c
1552
usb_kill_urb(ep->out->urbs[j].urb);
sound/usb/midi.c
1554
umidi->usb_protocol_ops->finish_out_endpoint(ep->out);
sound/usb/midi.c
1555
ep->out->active_urbs = 0;
sound/usb/midi.c
1556
if (ep->out->drain_urbs) {
sound/usb/midi.c
1557
ep->out->drain_urbs = 0;
sound/usb/midi.c
1558
wake_up(&ep->out->drain_wait);
sound/usb/midi.c
1561
if (ep->in)
sound/usb/midi.c
1563
usb_kill_urb(ep->in->urbs[j]);
sound/usb/midi.c
1565
if (ep->out)
sound/usb/midi.c
1566
snd_usbmidi_out_endpoint_clear(ep->out);
sound/usb/midi.c
1567
if (ep->in) {
sound/usb/midi.c
1568
snd_usbmidi_in_endpoint_delete(ep->in);
sound/usb/midi.c
1569
ep->in = NULL;
sound/usb/midi.c
167
static void snd_usbmidi_do_output(struct snd_usb_midi_out_endpoint *ep);
sound/usb/midi.c
1974
struct usb_endpoint_descriptor *ep;
sound/usb/midi.c
1997
ep = get_ep_desc(hostep);
sound/usb/midi.c
1998
if (!usb_endpoint_xfer_bulk(ep) && !usb_endpoint_xfer_int(ep))
sound/usb/midi.c
2009
if (usb_endpoint_dir_out(ep)) {
sound/usb/midi.c
2017
endpoints[epidx].out_ep = usb_endpoint_num(ep);
sound/usb/midi.c
2018
if (usb_endpoint_xfer_int(ep))
sound/usb/midi.c
2019
endpoints[epidx].out_interval = ep->bInterval;
sound/usb/midi.c
2034
ep->bEndpointAddress, ms_ep->bNumEmbMIDIJack);
sound/usb/midi.c
2043
endpoints[epidx].in_ep = usb_endpoint_num(ep);
sound/usb/midi.c
2044
if (usb_endpoint_xfer_int(ep))
sound/usb/midi.c
2045
endpoints[epidx].in_interval = ep->bInterval;
sound/usb/midi.c
2055
ep->bEndpointAddress, ms_ep->bNumEmbMIDIJack);
sound/usb/midi.c
210
static void snd_usbmidi_input_data(struct snd_usb_midi_in_endpoint *ep,
sound/usb/midi.c
213
struct usbmidi_in_port *port = &ep->ports[portidx];
sound/usb/midi.c
216
dev_dbg(&ep->umidi->dev->dev, "unexpected port %d!\n", portidx);
sound/usb/midi.c
219
if (!test_bit(port->substream->number, &ep->umidi->input_triggered))
sound/usb/midi.c
241
struct snd_usb_midi_in_endpoint *ep = urb->context;
sound/usb/midi.c
2424
struct snd_usb_midi_endpoint *ep = &umidi->endpoints[i];
sound/usb/midi.c
2425
if (ep->in)
sound/usb/midi.c
2427
usb_kill_urb(ep->in->urbs[j]);
sound/usb/midi.c
2434
struct snd_usb_midi_in_endpoint *ep)
sound/usb/midi.c
2438
if (!ep)
sound/usb/midi.c
2441
struct urb *urb = ep->urbs[i];
sound/usb/midi.c
2444
urb->dev = ep->umidi->dev;
sound/usb/midi.c
245
ep->umidi->usb_protocol_ops->input(ep, urb->transfer_buffer,
sound/usb/midi.c
251
ep->error_resubmit = 1;
sound/usb/midi.c
252
mod_timer(&ep->umidi->error_timer,
sound/usb/midi.c
259
urb->dev = ep->umidi->dev;
sound/usb/midi.c
266
struct snd_usb_midi_out_endpoint *ep = context->ep;
sound/usb/midi.c
269
scoped_guard(spinlock_irqsave, &ep->buffer_lock) {
sound/usb/midi.c
270
urb_index = context - ep->urbs;
sound/usb/midi.c
271
ep->active_urbs &= ~(1 << urb_index);
sound/usb/midi.c
272
if (unlikely(ep->drain_urbs)) {
sound/usb/midi.c
273
ep->drain_urbs &= ~(1 << urb_index);
sound/usb/midi.c
274
wake_up(&ep->drain_wait);
sound/usb/midi.c
281
mod_timer(&ep->umidi->error_timer,
sound/usb/midi.c
286
snd_usbmidi_do_output(ep);
sound/usb/midi.c
293
static void snd_usbmidi_do_output(struct snd_usb_midi_out_endpoint *ep)
sound/usb/midi.c
298
guard(spinlock_irqsave)(&ep->buffer_lock);
sound/usb/midi.c
299
if (ep->umidi->disconnected)
sound/usb/midi.c
302
urb_index = ep->next_urb;
sound/usb/midi.c
304
if (!(ep->active_urbs & (1 << urb_index))) {
sound/usb/midi.c
305
urb = ep->urbs[urb_index].urb;
sound/usb/midi.c
307
ep->umidi->usb_protocol_ops->output(ep, urb);
sound/usb/midi.c
313
urb->dev = ep->umidi->dev;
sound/usb/midi.c
316
ep->active_urbs |= 1 << urb_index;
sound/usb/midi.c
320
if (urb_index == ep->next_urb)
sound/usb/midi.c
323
ep->next_urb = urb_index;
sound/usb/midi.c
328
struct snd_usb_midi_out_endpoint *ep =
sound/usb/midi.c
331
snd_usbmidi_do_output(ep);
sound/usb/midi.c
361
static int send_bulk_static_data(struct snd_usb_midi_out_endpoint *ep,
sound/usb/midi.c
369
if (ep->urbs[0].urb)
sound/usb/midi.c
370
err = usb_bulk_msg(ep->umidi->dev, ep->urbs[0].urb->pipe,
sound/usb/midi.c
382
static void snd_usbmidi_standard_input(struct snd_usb_midi_in_endpoint *ep,
sound/usb/midi.c
391
snd_usbmidi_input_data(ep, cable, &buffer[i + 1],
sound/usb/midi.c
396
static void snd_usbmidi_midiman_input(struct snd_usb_midi_in_endpoint *ep,
sound/usb/midi.c
405
snd_usbmidi_input_data(ep, port, &buffer[i], length);
sound/usb/midi.c
414
struct snd_usb_midi_in_endpoint *ep,
sound/usb/midi.c
423
struct usbmidi_in_port *port = &ep->ports[cable];
sound/usb/midi.c
445
snd_usbmidi_input_data(ep, cable, &buffer[i + 1],
sound/usb/midi.c
454
static void ch345_broken_sysex_input(struct snd_usb_midi_in_endpoint *ep,
sound/usb/midi.c
463
if (ep->in_sysex &&
sound/usb/midi.c
464
cin == ep->last_cin &&
sound/usb/midi.c
476
snd_usbmidi_input_data(ep, 0, &buffer[i + 1], length);
sound/usb/midi.c
477
ep->in_sysex = cin == 0x4;
sound/usb/midi.c
478
if (!ep->in_sysex)
sound/usb/midi.c
479
ep->last_cin = cin;
sound/usb/midi.c
489
static void snd_usbmidi_cme_input(struct snd_usb_midi_in_endpoint *ep,
sound/usb/midi.c
554
snd_usbmidi_input_data(ep, buffer[0] >> 4,
sound/usb/midi.c
558
snd_usbmidi_standard_input(ep, buffer, source_length);
sound/usb/midi.c
607
port->ep->umidi->usb_protocol_ops->output_packet;
sound/usb/midi.c
699
static void snd_usbmidi_standard_output(struct snd_usb_midi_out_endpoint *ep,
sound/usb/midi.c
706
struct usbmidi_out_port *port = &ep->ports[p];
sound/usb/midi.c
709
while (urb->transfer_buffer_length + 3 < ep->max_transfer) {
sound/usb/midi.c
766
static void snd_usbmidi_akai_input(struct snd_usb_midi_in_endpoint *ep,
sound/usb/midi.c
776
snd_usbmidi_input_data(ep, 0, &buffer[pos], msg_len);
sound/usb/midi.c
783
static void snd_usbmidi_akai_output(struct snd_usb_midi_out_endpoint *ep,
sound/usb/midi.c
789
struct snd_rawmidi_substream *substream = ep->ports[0].substream;
sound/usb/midi.c
791
if (!ep->ports[0].active)
sound/usb/midi.c
795
buf_end = ep->max_transfer - MAX_AKAI_SYSEX_LEN - 1;
sound/usb/midi.c
802
ep->ports[0].active = 0;
sound/usb/midi.c
837
ep->ports[0].active = 0;
sound/usb/midi.c
856
static void snd_usbmidi_novation_input(struct snd_usb_midi_in_endpoint *ep,
sound/usb/midi.c
861
snd_usbmidi_input_data(ep, 0, &buffer[2], buffer[0] - 1);
sound/usb/midi.c
864
static void snd_usbmidi_novation_output(struct snd_usb_midi_out_endpoint *ep,
sound/usb/midi.c
87
void (*output)(struct snd_usb_midi_out_endpoint *ep, struct urb *urb);
sound/usb/midi.c
870
if (!ep->ports[0].active)
sound/usb/midi.c
873
count = snd_rawmidi_transmit(ep->ports[0].substream,
sound/usb/midi.c
875
ep->max_transfer - 2);
sound/usb/midi.c
877
ep->ports[0].active = 0;
sound/usb/midi.c
894
static void snd_usbmidi_raw_input(struct snd_usb_midi_in_endpoint *ep,
sound/usb/midi.c
897
snd_usbmidi_input_data(ep, 0, buffer, buffer_length);
sound/usb/midi.c
900
static void snd_usbmidi_raw_output(struct snd_usb_midi_out_endpoint *ep,
sound/usb/midi.c
905
if (!ep->ports[0].active)
sound/usb/midi.c
907
count = snd_rawmidi_transmit(ep->ports[0].substream,
sound/usb/midi.c
909
ep->max_transfer);
sound/usb/midi.c
911
ep->ports[0].active = 0;
sound/usb/midi.c
926
static void snd_usbmidi_ftdi_input(struct snd_usb_midi_in_endpoint *ep,
sound/usb/midi.c
930
snd_usbmidi_input_data(ep, 0, buffer + 2, buffer_length - 2);
sound/usb/midi.c
938
static void snd_usbmidi_us122l_input(struct snd_usb_midi_in_endpoint *ep,
sound/usb/midi.c
947
snd_usbmidi_input_data(ep, 0, buffer, buffer_length);
sound/usb/midi.c
950
static void snd_usbmidi_us122l_output(struct snd_usb_midi_out_endpoint *ep,
sound/usb/midi.c
955
if (!ep->ports[0].active)
sound/usb/midi.c
957
switch (snd_usb_get_speed(ep->umidi->dev)) {
sound/usb/midi.c
966
count = snd_rawmidi_transmit(ep->ports[0].substream,
sound/usb/midi.c
970
ep->ports[0].active = 0;
sound/usb/midi.c
974
memset(urb->transfer_buffer + count, 0xFD, ep->max_transfer - count);
sound/usb/midi.c
975
urb->transfer_buffer_length = ep->max_transfer;
sound/usb/midi.c
987
static void snd_usbmidi_emagic_init_out(struct snd_usb_midi_out_endpoint *ep)
sound/usb/midi.c
999
send_bulk_static_data(ep, init_data, sizeof(init_data));
sound/usb/midi2.c
105
static void do_submit_urbs_locked(struct snd_usb_midi2_endpoint *ep,
sound/usb/midi2.c
112
if (ep->disconnected)
sound/usb/midi2.c
115
while (ep->urb_free) {
sound/usb/midi2.c
116
index = find_first_bit(&ep->urb_free, ep->num_urbs);
sound/usb/midi2.c
117
if (index >= ep->num_urbs)
sound/usb/midi2.c
1174
static void suspend_midi2_endpoint(struct snd_usb_midi2_endpoint *ep)
sound/usb/midi2.c
1176
kill_midi_urbs(ep, true);
sound/usb/midi2.c
1177
drain_urb_queue(ep);
sound/usb/midi2.c
1183
struct snd_usb_midi2_endpoint *ep;
sound/usb/midi2.c
1186
list_for_each_entry(ep, &umidi->ep_list, list)
sound/usb/midi2.c
1187
suspend_midi2_endpoint(ep);
sound/usb/midi2.c
119
ctx = &ep->urbs[index];
sound/usb/midi2.c
1191
static void resume_midi2_endpoint(struct snd_usb_midi2_endpoint *ep)
sound/usb/midi2.c
1193
ep->running = ep->suspended;
sound/usb/midi2.c
1194
if (ep->direction == STR_IN)
sound/usb/midi2.c
1195
submit_io_urbs(ep);
sound/usb/midi2.c
120
err = prepare(ep, ctx->urb);
sound/usb/midi2.c
1202
struct snd_usb_midi2_endpoint *ep;
sound/usb/midi2.c
1206
list_for_each_entry(ep, &umidi->ep_list, list)
sound/usb/midi2.c
1207
resume_midi2_endpoint(ep);
sound/usb/midi2.c
1214
struct snd_usb_midi2_endpoint *ep;
sound/usb/midi2.c
1218
list_for_each_entry(ep, &umidi->ep_list, list) {
sound/usb/midi2.c
1219
ep->disconnected = 1;
sound/usb/midi2.c
1220
kill_midi_urbs(ep, false);
sound/usb/midi2.c
1221
drain_urb_queue(ep);
sound/usb/midi2.c
125
ctx->urb->dev = ep->dev;
sound/usb/midi2.c
128
dev_dbg(&ep->dev->dev,
sound/usb/midi2.c
132
clear_bit(index, &ep->urb_free);
sound/usb/midi2.c
137
static int prepare_output_urb(struct snd_usb_midi2_endpoint *ep,
sound/usb/midi2.c
142
count = snd_ump_transmit(ep->ump, urb->transfer_buffer,
sound/usb/midi2.c
143
ep->packets);
sound/usb/midi2.c
145
dev_dbg(&ep->dev->dev, "rawmidi transmit error %d\n", count);
sound/usb/midi2.c
153
static void submit_output_urbs_locked(struct snd_usb_midi2_endpoint *ep)
sound/usb/midi2.c
155
do_submit_urbs_locked(ep, prepare_output_urb);
sound/usb/midi2.c
162
struct snd_usb_midi2_endpoint *ep = ctx->ep;
sound/usb/midi2.c
164
guard(spinlock_irqsave)(&ep->lock);
sound/usb/midi2.c
165
set_bit(ctx->index, &ep->urb_free);
sound/usb/midi2.c
166
if (urb->status >= 0 && atomic_read(&ep->running))
sound/usb/midi2.c
167
submit_output_urbs_locked(ep);
sound/usb/midi2.c
168
if (ep->urb_free == ep->urb_free_mask)
sound/usb/midi2.c
169
wake_up(&ep->wait);
sound/usb/midi2.c
173
static int prepare_input_urb(struct snd_usb_midi2_endpoint *ep,
sound/usb/midi2.c
176
urb->transfer_buffer_length = ep->packets;
sound/usb/midi2.c
180
static void submit_input_urbs_locked(struct snd_usb_midi2_endpoint *ep)
sound/usb/midi2.c
182
do_submit_urbs_locked(ep, prepare_input_urb);
sound/usb/midi2.c
189
struct snd_usb_midi2_endpoint *ep = ctx->ep;
sound/usb/midi2.c
192
guard(spinlock_irqsave)(&ep->lock);
sound/usb/midi2.c
193
if (ep->disconnected || urb->status < 0)
sound/usb/midi2.c
197
if (len > ep->packets)
sound/usb/midi2.c
198
len = ep->packets;
sound/usb/midi2.c
201
snd_ump_receive(ep->ump, (u32 *)urb->transfer_buffer, len);
sound/usb/midi2.c
204
set_bit(ctx->index, &ep->urb_free);
sound/usb/midi2.c
205
submit_input_urbs_locked(ep);
sound/usb/midi2.c
206
if (ep->urb_free == ep->urb_free_mask)
sound/usb/midi2.c
207
wake_up(&ep->wait);
sound/usb/midi2.c
211
static void submit_io_urbs(struct snd_usb_midi2_endpoint *ep)
sound/usb/midi2.c
213
if (!ep)
sound/usb/midi2.c
215
guard(spinlock_irqsave)(&ep->lock);
sound/usb/midi2.c
216
if (ep->direction == STR_IN)
sound/usb/midi2.c
217
submit_input_urbs_locked(ep);
sound/usb/midi2.c
219
submit_output_urbs_locked(ep);
sound/usb/midi2.c
223
static void kill_midi_urbs(struct snd_usb_midi2_endpoint *ep, bool suspending)
sound/usb/midi2.c
227
if (!ep)
sound/usb/midi2.c
230
ep->suspended = ep->running;
sound/usb/midi2.c
231
atomic_set(&ep->running, 0);
sound/usb/midi2.c
232
for (i = 0; i < ep->num_urbs; i++) {
sound/usb/midi2.c
233
if (!ep->urbs[i].urb)
sound/usb/midi2.c
235
usb_kill_urb(ep->urbs[i].urb);
sound/usb/midi2.c
240
static void drain_urb_queue(struct snd_usb_midi2_endpoint *ep)
sound/usb/midi2.c
242
if (!ep)
sound/usb/midi2.c
244
guard(spinlock_irq)(&ep->lock);
sound/usb/midi2.c
245
atomic_set(&ep->running, 0);
sound/usb/midi2.c
246
wait_event_lock_irq_timeout(ep->wait,
sound/usb/midi2.c
247
ep->disconnected ||
sound/usb/midi2.c
248
ep->urb_free == ep->urb_free_mask,
sound/usb/midi2.c
249
ep->lock, msecs_to_jiffies(500));
sound/usb/midi2.c
253
static void free_midi_urbs(struct snd_usb_midi2_endpoint *ep)
sound/usb/midi2.c
258
if (!ep)
sound/usb/midi2.c
261
ctx = &ep->urbs[i];
sound/usb/midi2.c
264
usb_free_coherent(ep->dev, ep->packets,
sound/usb/midi2.c
270
ep->num_urbs = 0;
sound/usb/midi2.c
275
static int alloc_midi_urbs(struct snd_usb_midi2_endpoint *ep)
sound/usb/midi2.c
283
endpoint = ep->endpoint;
sound/usb/midi2.c
284
len = ep->packets;
sound/usb/midi2.c
285
if (ep->direction == STR_IN)
sound/usb/midi2.c
290
ep->num_urbs = 0;
sound/usb/midi2.c
291
ep->urb_free = ep->urb_free_mask = 0;
sound/usb/midi2.c
293
ctx = &ep->urbs[i];
sound/usb/midi2.c
297
dev_err(&ep->dev->dev, "URB alloc failed\n");
sound/usb/midi2.c
300
ctx->ep = ep;
sound/usb/midi2.c
301
buffer = usb_alloc_coherent(ep->dev, len, GFP_KERNEL,
sound/usb/midi2.c
304
dev_err(&ep->dev->dev,
sound/usb/midi2.c
308
if (ep->interval)
sound/usb/midi2.c
309
usb_fill_int_urb(ctx->urb, ep->dev, ep->pipe,
sound/usb/midi2.c
310
buffer, len, comp, ctx, ep->interval);
sound/usb/midi2.c
312
usb_fill_bulk_urb(ctx->urb, ep->dev, ep->pipe,
sound/usb/midi2.c
316
dev_err(&ep->dev->dev, "invalid MIDI EP %x\n",
sound/usb/midi2.c
321
ep->num_urbs++;
sound/usb/midi2.c
323
ep->urb_free = ep->urb_free_mask = GENMASK(ep->num_urbs - 1, 0);
sound/usb/midi2.c
338
struct snd_usb_midi2_endpoint *ep = ump_to_endpoint(ump, dir);
sound/usb/midi2.c
341
if (!ep || !ep->endpoint)
sound/usb/midi2.c
343
if (ep->disconnected)
sound/usb/midi2.c
345
if (ep->direction == STR_OUT) {
sound/usb/midi2.c
346
err = alloc_midi_urbs(ep);
sound/usb/midi2.c
348
free_midi_urbs(ep);
sound/usb/midi2.c
358
struct snd_usb_midi2_endpoint *ep = ump_to_endpoint(ump, dir);
sound/usb/midi2.c
360
if (ep->direction == STR_OUT) {
sound/usb/midi2.c
361
kill_midi_urbs(ep, false);
sound/usb/midi2.c
362
drain_urb_queue(ep);
sound/usb/midi2.c
363
free_midi_urbs(ep);
sound/usb/midi2.c
371
struct snd_usb_midi2_endpoint *ep = ump_to_endpoint(ump, dir);
sound/usb/midi2.c
373
atomic_set(&ep->running, up);
sound/usb/midi2.c
374
if (up && ep->direction == STR_OUT && !ep->disconnected)
sound/usb/midi2.c
375
submit_io_urbs(ep);
sound/usb/midi2.c
381
struct snd_usb_midi2_endpoint *ep = ump_to_endpoint(ump, dir);
sound/usb/midi2.c
383
drain_urb_queue(ep);
sound/usb/midi2.c
389
struct snd_usb_midi2_endpoint *ep;
sound/usb/midi2.c
392
list_for_each_entry(ep, &umidi->ep_list, list) {
sound/usb/midi2.c
393
if (ep->direction == STR_IN) {
sound/usb/midi2.c
394
err = alloc_midi_urbs(ep);
sound/usb/midi2.c
400
list_for_each_entry(ep, &umidi->ep_list, list) {
sound/usb/midi2.c
401
if (ep->direction == STR_IN)
sound/usb/midi2.c
402
submit_io_urbs(ep);
sound/usb/midi2.c
408
list_for_each_entry(ep, &umidi->ep_list, list) {
sound/usb/midi2.c
409
if (ep->direction == STR_IN)
sound/usb/midi2.c
410
free_midi_urbs(ep);
sound/usb/midi2.c
428
struct snd_usb_midi2_endpoint *ep;
sound/usb/midi2.c
435
ep = kzalloc_obj(*ep);
sound/usb/midi2.c
436
if (!ep)
sound/usb/midi2.c
439
spin_lock_init(&ep->lock);
sound/usb/midi2.c
440
init_waitqueue_head(&ep->wait);
sound/usb/midi2.c
441
ep->dev = umidi->chip->dev;
sound/usb/midi2.c
445
ep->endpoint = endpoint;
sound/usb/midi2.c
446
ep->direction = dir;
sound/usb/midi2.c
447
ep->ms_ep = ms_ep;
sound/usb/midi2.c
449
ep->interval = hostep->desc.bInterval;
sound/usb/midi2.c
451
ep->interval = 0;
sound/usb/midi2.c
453
if (ep->interval)
sound/usb/midi2.c
454
ep->pipe = usb_rcvintpipe(ep->dev, endpoint);
sound/usb/midi2.c
456
ep->pipe = usb_rcvbulkpipe(ep->dev, endpoint);
sound/usb/midi2.c
458
if (ep->interval)
sound/usb/midi2.c
459
ep->pipe = usb_sndintpipe(ep->dev, endpoint);
sound/usb/midi2.c
461
ep->pipe = usb_sndbulkpipe(ep->dev, endpoint);
sound/usb/midi2.c
463
ep->packets = usb_maxpacket(ep->dev, ep->pipe);
sound/usb/midi2.c
464
list_add_tail(&ep->list, &umidi->ep_list);
sound/usb/midi2.c
470
static void free_midi2_endpoint(struct snd_usb_midi2_endpoint *ep)
sound/usb/midi2.c
472
list_del(&ep->list);
sound/usb/midi2.c
473
free_midi_urbs(ep);
sound/usb/midi2.c
474
kfree(ep);
sound/usb/midi2.c
480
struct snd_usb_midi2_endpoint *ep;
sound/usb/midi2.c
483
ep = list_first_entry(&umidi->ep_list,
sound/usb/midi2.c
485
free_midi2_endpoint(ep);
sound/usb/midi2.c
50
struct snd_usb_midi2_endpoint *ep;
sound/usb/midi2.c
754
struct snd_usb_midi2_endpoint *ep,
sound/usb/midi2.c
761
ep->endpoint);
sound/usb/midi2.c
772
return create_midi2_ump(umidi, ep, pair_ep, blk_id);
sound/usb/midi2.c
941
struct snd_usb_midi2_endpoint *ep;
sound/usb/midi2.c
958
list_for_each_entry(ep, &umidi->ep_list, list) {
sound/usb/midi2.c
960
if (ep->direction != STR_IN)
sound/usb/midi2.c
962
for (blk = 0; blk < ep->ms_ep->bNumGrpTrmBlock; blk++) {
sound/usb/midi2.c
963
id = ep->ms_ep->baAssoGrpTrmBlkID[blk];
sound/usb/midi2.c
964
err = find_matching_ep_partner(umidi, ep, id);
sound/usb/midi2.c
974
list_for_each_entry(ep, &umidi->ep_list, list) {
sound/usb/midi2.c
975
if (ep->rmidi)
sound/usb/midi2.c
977
for (blk = 0; blk < ep->ms_ep->bNumGrpTrmBlock; blk++) {
sound/usb/midi2.c
978
id = ep->ms_ep->baAssoGrpTrmBlkID[blk];
sound/usb/midi2.c
983
ep->endpoint, id);
sound/usb/midi2.c
984
if (ep->direction == STR_IN)
sound/usb/midi2.c
985
err = create_midi2_ump(umidi, ep, NULL, id);
sound/usb/midi2.c
987
err = create_midi2_ump(umidi, NULL, ep, id);
sound/usb/mixer.c
3561
struct usb_endpoint_descriptor *ep;
sound/usb/mixer.c
3569
ep = get_endpoint(mixer->hostif, 0);
sound/usb/mixer.c
3570
if (!usb_endpoint_dir_in(ep) || !usb_endpoint_xfer_int(ep))
sound/usb/mixer.c
3573
epnum = usb_endpoint_num(ep);
sound/usb/mixer.c
3574
buffer_length = le16_to_cpu(ep->wMaxPacketSize);
sound/usb/mixer.c
3586
snd_usb_mixer_interrupt, mixer, ep->bInterval);
sound/usb/mixer_quirks.c
1879
unsigned int ep;
sound/usb/mixer_quirks.c
1898
ep = get_endpoint(alts, 0)->bEndpointAddress;
sound/usb/mixer_quirks.c
1905
ep,
sound/usb/pcm.c
1024
const struct snd_usb_endpoint *ep;
sound/usb/pcm.c
1035
ep = get_endpoint_in_use(chip, fp->endpoint,
sound/usb/pcm.c
1037
if (ep) {
sound/usb/pcm.c
1039
ep->cur_period_frames, fp->endpoint);
sound/usb/pcm.c
1040
rmin = min(rmin, ep->cur_period_frames);
sound/usb/pcm.c
1041
rmax = max(rmax, ep->cur_period_frames);
sound/usb/pcm.c
1046
ep = get_endpoint_in_use(chip, fp->sync_ep,
sound/usb/pcm.c
1048
if (ep) {
sound/usb/pcm.c
1050
ep->cur_period_frames, fp->sync_ep);
sound/usb/pcm.c
1051
rmin = min(rmin, ep->cur_period_frames);
sound/usb/pcm.c
1052
rmax = max(rmax, ep->cur_period_frames);
sound/usb/pcm.c
1069
const struct snd_usb_endpoint *ep;
sound/usb/pcm.c
1080
ep = get_endpoint_in_use(chip, fp->endpoint,
sound/usb/pcm.c
1082
if (ep) {
sound/usb/pcm.c
1084
ep->cur_buffer_periods, fp->endpoint);
sound/usb/pcm.c
1085
rmin = min(rmin, ep->cur_buffer_periods);
sound/usb/pcm.c
1086
rmax = max(rmax, ep->cur_buffer_periods);
sound/usb/pcm.c
1091
ep = get_endpoint_in_use(chip, fp->sync_ep,
sound/usb/pcm.c
1093
if (ep) {
sound/usb/pcm.c
1095
ep->cur_buffer_periods, fp->sync_ep);
sound/usb/pcm.c
1096
rmin = min(rmin, ep->cur_buffer_periods);
sound/usb/pcm.c
1097
rmax = max(rmax, ep->cur_buffer_periods);
sound/usb/pcm.c
1525
struct snd_usb_endpoint *ep = subs->data_endpoint;
sound/usb/pcm.c
1532
stride = ep->stride;
sound/usb/pcm.c
1539
frame_limit = subs->frame_limit + ep->max_urb_frames;
sound/usb/pcm.c
1555
counts = snd_usb_endpoint_next_packet_size(ep, ctx, i, avail);
sound/usb/pcm.c
1593
!snd_usb_endpoint_implicit_feedback_sink(ep))
sound/usb/pcm.c
1603
if (unlikely(ep->cur_format == SNDRV_PCM_FORMAT_DSD_U16_LE &&
sound/usb/pcm.c
1606
} else if (unlikely(ep->cur_format == SNDRV_PCM_FORMAT_DSD_U8 &&
sound/usb/pcm.c
1678
struct snd_usb_endpoint *ep;
sound/usb/pcm.c
1682
ep = subs->data_endpoint;
sound/usb/pcm.c
1683
if (!ep)
sound/usb/pcm.c
1688
if (!ep->active_mask)
sound/usb/pcm.c
1689
return snd_usb_queue_pending_output_urbs(ep, true);
sound/usb/pcm.c
206
static int init_pitch_v1(struct snd_usb_audio *chip, int ep)
sound/usb/pcm.c
215
UAC_EP_CS_ATTR_PITCH_CONTROL << 8, ep,
sound/usb/pcm.c
220
static int init_pitch_v2(struct snd_usb_audio *chip, int ep)
sound/usb/pcm.c
336
unsigned int ep, attr, sync_attr;
sound/usb/pcm.c
391
ep = get_endpoint(alts, 1)->bEndpointAddress;
sound/usb/pcm.c
394
((is_playback && ep != (unsigned int)(get_endpoint(alts, 0)->bSynchAddress | USB_DIR_IN)) ||
sound/usb/pcm.c
395
(!is_playback && ep != (unsigned int)(get_endpoint(alts, 0)->bSynchAddress & ~USB_DIR_IN)))) {
sound/usb/pcm.c
399
is_playback, ep, get_endpoint(alts, 0)->bSynchAddress);
sound/usb/pcm.c
405
fmt->sync_ep = ep;
sound/usb/pcm.c
836
const struct snd_usb_endpoint *ep;
sound/usb/pcm.c
838
ep = snd_usb_get_endpoint(chip, endpoint);
sound/usb/pcm.c
839
if (ep && ep->cur_audiofmt && (ep != ref_ep || ep->opened > 1))
sound/usb/pcm.c
840
return ep;
sound/usb/pcm.c
849
const struct snd_usb_endpoint *ep;
sound/usb/pcm.c
862
ep = get_endpoint_in_use(chip, fp->endpoint,
sound/usb/pcm.c
864
if (ep) {
sound/usb/pcm.c
866
ep->cur_rate, fp->endpoint);
sound/usb/pcm.c
867
rmin = min(rmin, ep->cur_rate);
sound/usb/pcm.c
868
rmax = max(rmax, ep->cur_rate);
sound/usb/pcm.c
873
ep = get_endpoint_in_use(chip, fp->sync_ep,
sound/usb/pcm.c
875
if (ep) {
sound/usb/pcm.c
877
ep->cur_rate, fp->sync_ep);
sound/usb/pcm.c
878
rmin = min(rmin, ep->cur_rate);
sound/usb/pcm.c
879
rmax = max(rmax, ep->cur_rate);
sound/usb/pcm.c
954
const struct snd_usb_endpoint *ep;
sound/usb/pcm.c
965
ep = get_endpoint_in_use(chip, fp->endpoint,
sound/usb/pcm.c
967
if (ep) {
sound/usb/pcm.c
969
ep->cur_format, fp->endpoint);
sound/usb/pcm.c
970
fbits |= pcm_format_to_bits(ep->cur_format);
sound/usb/pcm.c
975
ep = get_endpoint_in_use(chip, fp->sync_ep,
sound/usb/pcm.c
977
if (ep) {
sound/usb/pcm.c
979
ep->cur_format, fp->sync_ep);
sound/usb/pcm.c
980
fbits |= pcm_format_to_bits(ep->cur_format);
sound/usb/qcom/qc_audio_offload.c
1102
struct usb_host_endpoint *ep;
sound/usb/qcom/qc_audio_offload.c
1112
ep = usb_pipe_endpoint(subs->dev, endpoint->pipe);
sound/usb/qcom/qc_audio_offload.c
1113
if (!ep) {
sound/usb/qcom/qc_audio_offload.c
1119
memcpy(ep_desc, &ep->desc, sizeof(ep->desc));
sound/usb/qcom/qc_audio_offload.c
1121
ret = xhci_sideband_add_endpoint(uadev[card_num].sb, ep);
sound/usb/qcom/qc_audio_offload.c
1129
sgt = xhci_sideband_get_endpoint_buffer(uadev[card_num].sb, ep);
sound/usb/qcom/qc_audio_offload.c
1158
xhci_sideband_remove_endpoint(uadev[card_num].sb, ep);
sound/usb/qcom/qc_audio_offload.c
1531
struct usb_host_endpoint *ep;
sound/usb/qcom/qc_audio_offload.c
1623
ep = usb_pipe_endpoint(uadev[pcm_card_num].udev,
sound/usb/qcom/qc_audio_offload.c
1625
if (ep) {
sound/usb/qcom/qc_audio_offload.c
1627
ep);
sound/usb/qcom/qc_audio_offload.c
1629
ep);
sound/usb/qcom/qc_audio_offload.c
1636
ep = usb_pipe_endpoint(uadev[pcm_card_num].udev,
sound/usb/qcom/qc_audio_offload.c
1638
if (ep) {
sound/usb/qcom/qc_audio_offload.c
1640
ep);
sound/usb/qcom/qc_audio_offload.c
1642
ep);
sound/usb/qcom/qc_audio_offload.c
752
struct usb_host_endpoint *ep;
sound/usb/qcom/qc_audio_offload.c
783
ep = usb_pipe_endpoint(uadev[pcm_card_num].udev,
sound/usb/qcom/qc_audio_offload.c
785
xhci_sideband_remove_endpoint(uadev[pcm_card_num].sb, ep);
sound/usb/qcom/qc_audio_offload.c
788
ep = usb_pipe_endpoint(uadev[pcm_card_num].udev,
sound/usb/qcom/qc_audio_offload.c
790
xhci_sideband_remove_endpoint(uadev[pcm_card_num].sb, ep);
sound/usb/qcom/qc_audio_offload.c
829
unsigned int *ep = (unsigned int *) evt->evt_data;
sound/usb/qcom/qc_audio_offload.c
832
if (dev->info[if_idx].data_ep_idx == *ep ||
sound/usb/qcom/qc_audio_offload.c
833
dev->info[if_idx].sync_ep_idx == *ep)
sound/usb/quirks.c
1928
void snd_usb_endpoint_start_quirk(struct snd_usb_endpoint *ep)
sound/usb/quirks.c
1934
if (USB_ID_VENDOR(ep->chip->usb_id) == 0x23ba &&
sound/usb/quirks.c
1935
ep->type == SND_USB_ENDPOINT_TYPE_SYNC)
sound/usb/quirks.c
1936
ep->skip_packets = 4;
sound/usb/quirks.c
1945
if ((ep->chip->usb_id == USB_ID(0x0763, 0x2030) ||
sound/usb/quirks.c
1946
ep->chip->usb_id == USB_ID(0x0763, 0x2031)) &&
sound/usb/quirks.c
1947
ep->type == SND_USB_ENDPOINT_TYPE_DATA)
sound/usb/quirks.c
1948
ep->skip_packets = 16;
sound/usb/quirks.c
1951
if ((ep->chip->usb_id == USB_ID(0x0644, 0x8038) || /* TEAC UD-H01 */
sound/usb/quirks.c
1952
ep->chip->usb_id == USB_ID(0x1852, 0x5034)) && /* T+A Dac8 */
sound/usb/quirks.c
1953
ep->syncmaxsize == 4)
sound/usb/quirks.c
1954
ep->tenor_fb_quirk = 1;
sound/usb/quirks.h
34
void snd_usb_endpoint_start_quirk(struct snd_usb_endpoint *ep);
sound/usb/stream.c
693
struct usb_host_endpoint *ep = &alts->endpoint[0];
sound/usb/stream.c
707
fp->maxpacksize = usb_endpoint_max_periodic_payload(chip->dev, ep);
sound/usb/usx2y/us122l.c
243
unsigned int ep = 0x81;
sound/usb/usx2y/us122l.c
252
UAC_EP_CS_ATTR_SAMPLE_RATE << 8, ep, data, 3,
sound/usb/usx2y/us122l.c
256
dev->devnum, rate, ep);
tools/perf/trace/beauty/include/uapi/linux/usbdevice_fs.h
51
unsigned int ep;
tools/perf/util/evlist.c
2503
void event_enable_timer__exit(struct event_enable_timer **ep)
tools/perf/util/evlist.c
2505
if (!ep || !*ep)
tools/perf/util/evlist.c
2507
zfree(&(*ep)->times);
tools/perf/util/evlist.c
2508
zfree(ep);
tools/perf/util/evlist.h
452
void event_enable_timer__exit(struct event_enable_timer **ep);
tools/perf/util/strfilter.c
146
*ep = s;
tools/perf/util/strfilter.c
151
*ep = s;
tools/perf/util/strfilter.c
163
const char *ep = NULL;
tools/perf/util/strfilter.c
166
filter->root = strfilter_node__new(rules, &ep);
tools/perf/util/strfilter.c
168
if (!filter || !filter->root || *ep != '\0') {
tools/perf/util/strfilter.c
170
*err = ep;
tools/perf/util/strfilter.c
182
const char *ep = NULL;
tools/perf/util/strfilter.c
187
right = strfilter_node__new(rules, &ep);
tools/perf/util/strfilter.c
188
if (!right || *ep != '\0') {
tools/perf/util/strfilter.c
190
*err = ep;
tools/perf/util/strfilter.c
195
ep = NULL;
tools/perf/util/strfilter.c
204
return ep ? -EINVAL : -ENOMEM;
tools/perf/util/strfilter.c
82
const char **ep)
tools/perf/util/symbol-elf.c
186
Elf_Scn *elf_section_by_name(Elf *elf, GElf_Ehdr *ep,
tools/perf/util/symbol-elf.c
193
if (!elf_rawdata(elf_getscn(elf, ep->e_shstrndx), NULL))
tools/perf/util/symbol-elf.c
200
str = elf_strptr(elf, ep->e_shstrndx, shp->sh_name);
tools/perf/util/symbol.h
40
Elf_Scn *elf_section_by_name(Elf *elf, GElf_Ehdr *ep,
tools/testing/selftests/resctrl/resctrl_val.c
172
struct dirent *ep;
tools/testing/selftests/resctrl/resctrl_val.c
178
while ((ep = readdir(dp))) {
tools/testing/selftests/resctrl/resctrl_val.c
179
temp = strstr(ep->d_name, UNCORE_IMC);
tools/testing/selftests/resctrl/resctrl_val.c
199
ep->d_name);
tools/testing/selftests/resctrl/resctrlfs.c
582
struct dirent *ep;
tools/testing/selftests/resctrl/resctrlfs.c
591
while ((ep = readdir(dp)) != NULL) {
tools/testing/selftests/resctrl/resctrlfs.c
592
if (strcmp(ep->d_name, grp_name) == 0)
tools/usb/ffs-aio-example/simple/device_app/aio_simple.c
228
int ep[2];
tools/usb/ffs-aio-example/simple/device_app/aio_simple.c
268
ep[i] = open(ep_path, O_RDWR);
tools/usb/ffs-aio-example/simple/device_app/aio_simple.c
269
if (ep[i] < 0) {
tools/usb/ffs-aio-example/simple/device_app/aio_simple.c
332
if (e[i].obj->aio_fildes == ep[0]) {
tools/usb/ffs-aio-example/simple/device_app/aio_simple.c
335
} else if (e[i].obj->aio_fildes == ep[1]) {
tools/usb/ffs-aio-example/simple/device_app/aio_simple.c
344
io_prep_pwrite(iocb_in, ep[0], buf_in, BUF_LEN, 0);
tools/usb/ffs-aio-example/simple/device_app/aio_simple.c
358
io_prep_pread(iocb_out, ep[1], buf_out, BUF_LEN, 0);
tools/usb/ffs-aio-example/simple/device_app/aio_simple.c
382
close(ep[i]);
tools/verification/rv/src/in_kernel.c
557
struct dirent *ep;
tools/verification/rv/src/in_kernel.c
568
while (!retval && (ep = readdir(dp))) {
tools/verification/rv/src/in_kernel.c
569
if (ep->d_type != DT_DIR || ep->d_name[0] == '.')
tools/verification/rv/src/in_kernel.c
571
retval = ikm_enable_trace_events(ep->d_name, inst);