Date: Sat, 2 Oct 2010 00:57:41 +0000 (UTC) From: Weongyo Jeong <weongyo@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r213339 - in user/weongyo/usb/sys/dev/usb: . controller input misc net quirk serial storage template wlan Message-ID: <201010020057.o920vfwt022231@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: weongyo Date: Sat Oct 2 00:57:41 2010 New Revision: 213339 URL: http://svn.freebsd.org/changeset/base/213339 Log: Removes unnecessary spaces and style(9). Modified: user/weongyo/usb/sys/dev/usb/controller/at91dci.c user/weongyo/usb/sys/dev/usb/controller/at91dci_atmelarm.c user/weongyo/usb/sys/dev/usb/controller/atmegadci.c user/weongyo/usb/sys/dev/usb/controller/atmegadci_atmelarm.c user/weongyo/usb/sys/dev/usb/controller/avr32dci.c user/weongyo/usb/sys/dev/usb/controller/ehci.c user/weongyo/usb/sys/dev/usb/controller/ehci_ixp4xx.c user/weongyo/usb/sys/dev/usb/controller/ehci_pci.c user/weongyo/usb/sys/dev/usb/controller/musb_otg.c user/weongyo/usb/sys/dev/usb/controller/musb_otg_atmelarm.c user/weongyo/usb/sys/dev/usb/controller/ohci.c user/weongyo/usb/sys/dev/usb/controller/ohci_atmelarm.c user/weongyo/usb/sys/dev/usb/controller/ohci_pci.c user/weongyo/usb/sys/dev/usb/controller/ohci_s3c24x0.c user/weongyo/usb/sys/dev/usb/controller/uhci.c user/weongyo/usb/sys/dev/usb/controller/usb_controller.c user/weongyo/usb/sys/dev/usb/controller/uss820dci.c user/weongyo/usb/sys/dev/usb/controller/uss820dci_atmelarm.c user/weongyo/usb/sys/dev/usb/input/atp.c user/weongyo/usb/sys/dev/usb/input/uhid.c user/weongyo/usb/sys/dev/usb/input/ukbd.c user/weongyo/usb/sys/dev/usb/input/ums.c user/weongyo/usb/sys/dev/usb/misc/udbp.c user/weongyo/usb/sys/dev/usb/net/if_aue.c user/weongyo/usb/sys/dev/usb/net/if_axe.c user/weongyo/usb/sys/dev/usb/net/if_cdce.c user/weongyo/usb/sys/dev/usb/net/if_cue.c user/weongyo/usb/sys/dev/usb/net/if_kue.c user/weongyo/usb/sys/dev/usb/net/if_rue.c user/weongyo/usb/sys/dev/usb/net/if_udav.c user/weongyo/usb/sys/dev/usb/net/uhso.c user/weongyo/usb/sys/dev/usb/quirk/usb_quirk.c user/weongyo/usb/sys/dev/usb/serial/u3g.c user/weongyo/usb/sys/dev/usb/serial/uark.c user/weongyo/usb/sys/dev/usb/serial/ubsa.c user/weongyo/usb/sys/dev/usb/serial/ubser.c user/weongyo/usb/sys/dev/usb/serial/uchcom.c user/weongyo/usb/sys/dev/usb/serial/ucycom.c user/weongyo/usb/sys/dev/usb/serial/ufoma.c user/weongyo/usb/sys/dev/usb/serial/uftdi.c user/weongyo/usb/sys/dev/usb/serial/ugensa.c user/weongyo/usb/sys/dev/usb/serial/uipaq.c user/weongyo/usb/sys/dev/usb/serial/ulpt.c user/weongyo/usb/sys/dev/usb/serial/umct.c user/weongyo/usb/sys/dev/usb/serial/umodem.c user/weongyo/usb/sys/dev/usb/serial/umoscom.c user/weongyo/usb/sys/dev/usb/serial/uplcom.c user/weongyo/usb/sys/dev/usb/serial/usb_serial.c user/weongyo/usb/sys/dev/usb/serial/uslcom.c user/weongyo/usb/sys/dev/usb/serial/uvisor.c user/weongyo/usb/sys/dev/usb/serial/uvscom.c user/weongyo/usb/sys/dev/usb/storage/umass.c user/weongyo/usb/sys/dev/usb/storage/urio.c user/weongyo/usb/sys/dev/usb/storage/ustorage_fs.c user/weongyo/usb/sys/dev/usb/template/usb_template.c user/weongyo/usb/sys/dev/usb/usb_busdma.c user/weongyo/usb/sys/dev/usb/usb_compat_linux.c user/weongyo/usb/sys/dev/usb/usb_debug.c user/weongyo/usb/sys/dev/usb/usb_dev.c user/weongyo/usb/sys/dev/usb/usb_device.c user/weongyo/usb/sys/dev/usb/usb_dynamic.c user/weongyo/usb/sys/dev/usb/usb_error.c user/weongyo/usb/sys/dev/usb/usb_generic.c user/weongyo/usb/sys/dev/usb/usb_handle_request.c user/weongyo/usb/sys/dev/usb/usb_hid.c user/weongyo/usb/sys/dev/usb/usb_hub.c user/weongyo/usb/sys/dev/usb/usb_lookup.c user/weongyo/usb/sys/dev/usb/usb_mbuf.c user/weongyo/usb/sys/dev/usb/usb_msctest.c user/weongyo/usb/sys/dev/usb/usb_parse.c user/weongyo/usb/sys/dev/usb/usb_request.c user/weongyo/usb/sys/dev/usb/usb_transfer.c user/weongyo/usb/sys/dev/usb/usb_util.c user/weongyo/usb/sys/dev/usb/wlan/if_rum.c user/weongyo/usb/sys/dev/usb/wlan/if_run.c user/weongyo/usb/sys/dev/usb/wlan/if_uath.c user/weongyo/usb/sys/dev/usb/wlan/if_upgt.c user/weongyo/usb/sys/dev/usb/wlan/if_ural.c user/weongyo/usb/sys/dev/usb/wlan/if_zyd.c Modified: user/weongyo/usb/sys/dev/usb/controller/at91dci.c ============================================================================== --- user/weongyo/usb/sys/dev/usb/controller/at91dci.c Fri Oct 1 23:13:56 2010 (r213338) +++ user/weongyo/usb/sys/dev/usb/controller/at91dci.c Sat Oct 2 00:57:41 2010 (r213339) @@ -136,7 +136,6 @@ static void at91dci_root_intr(struct at9 */ static const struct usb_hw_ep_profile at91dci_ep_profile[AT91_UDP_EP_MAX] = { - [0] = { .max_in_frame_size = 8, .max_out_frame_size = 8, @@ -202,6 +201,7 @@ static void at91dci_get_hw_ep_profile(struct usb_device *udev, const struct usb_hw_ep_profile **ppf, uint8_t ep_addr) { + if (ep_addr < AT91_UDP_EP_MAX) { *ppf = (at91dci_ep_profile + ep_addr); } else { @@ -212,11 +212,10 @@ at91dci_get_hw_ep_profile(struct usb_dev static void at91dci_clocks_on(struct at91dci_softc *sc) { + if (sc->sc_flags.clocks_off && sc->sc_flags.port_powered) { - DPRINTFN(5, "\n"); - if (sc->sc_clocks_on) { (sc->sc_clocks_on) (sc->sc_clocks_arg); } @@ -230,8 +229,8 @@ at91dci_clocks_on(struct at91dci_softc * static void at91dci_clocks_off(struct at91dci_softc *sc) { - if (!sc->sc_flags.clocks_off) { + if (!sc->sc_flags.clocks_off) { DPRINTFN(5, "\n"); /* disable Transceiver */ @@ -247,8 +246,8 @@ at91dci_clocks_off(struct at91dci_softc static void at91dci_pull_up(struct at91dci_softc *sc) { - /* pullup D+, if possible */ + /* pullup D+, if possible */ if (!sc->sc_flags.d_pulled_up && sc->sc_flags.port_powered) { sc->sc_flags.d_pulled_up = 1; @@ -259,8 +258,8 @@ at91dci_pull_up(struct at91dci_softc *sc static void at91dci_pull_down(struct at91dci_softc *sc) { - /* pulldown D+, if possible */ + /* pulldown D+, if possible */ if (sc->sc_flags.d_pulled_up) { sc->sc_flags.d_pulled_up = 0; (sc->sc_pull_down) (sc->sc_pull_arg); @@ -270,6 +269,7 @@ at91dci_pull_down(struct at91dci_softc * static void at91dci_wakeup_peer(struct at91dci_softc *sc) { + if (!(sc->sc_flags.status_suspend)) { return; } @@ -286,6 +286,7 @@ at91dci_wakeup_peer(struct at91dci_softc static void at91dci_set_address(struct at91dci_softc *sc, uint8_t addr) { + DPRINTFN(5, "addr=%d\n", addr); AT91_UDP_WRITE_4(sc, AT91_UDP_FADDR, addr | @@ -367,7 +368,6 @@ at91dci_setup_rx(struct at91dci_td *td) bus_space_write_4(td->io_tag, td->io_hdl, td->status_reg, csr); return (0); /* complete */ - not_complete: /* abort any ongoing transfer */ if (!td->did_stall) { @@ -384,7 +384,6 @@ not_complete: td->status_reg, csr); } return (1); /* not complete */ - } static uint8_t @@ -524,7 +523,6 @@ at91dci_data_tx(struct at91dci_td *td) uint8_t to; to = 2; /* don't loop forever! */ - repeat: /* read out FIFO status */ @@ -566,7 +564,6 @@ repeat: count = td->remainder; } while (count > 0) { - usbd_get_page(td->pc, td->offset, &buf_res); /* get correct length */ @@ -649,7 +646,6 @@ repeat: td->status_reg, csr); return (0); /* complete */ - not_complete: if (temp) { /* write command */ @@ -702,7 +698,6 @@ at91dci_xfer_do_fifo(struct usb_xfer *xf td->fifo_bank = 1; } return (1); /* not complete */ - done: sc = AT9100_DCI_BUS2SC(xfer->xroot->bus); temp = (xfer->endpointno & UE_ADDR); @@ -715,7 +710,6 @@ done: } /* compute all actual lengths */ - at91dci_standard_done(xfer); return (0); /* complete */ @@ -738,6 +732,7 @@ repeat: void at91dci_vbus_interrupt(struct at91dci_softc *sc, uint8_t is_on) { + DPRINTFN(5, "vbus = %u\n", is_on); USB_BUS_LOCK(&sc->sc_bus); @@ -778,17 +773,13 @@ at91dci_interrupt(struct at91dci_softc * return; } /* acknowledge interrupts */ - AT91_UDP_WRITE_4(sc, AT91_UDP_ICR, status); /* check for any bus state change interrupts */ - if (status & AT91_UDP_INT_BUS) { - DPRINTFN(5, "real bus interrupt 0x%08x\n", status); if (status & AT91_UDP_INT_END_BR) { - /* set correct state */ sc->sc_flags.status_bus_reset = 1; sc->sc_flags.status_suspend = 0; @@ -837,9 +828,7 @@ at91dci_interrupt(struct at91dci_softc * at91dci_root_intr(sc); } /* check for any endpoint interrupts */ - if (status & AT91_UDP_INT_EPS) { - DPRINTFN(5, "real endpoint interrupt 0x%08x\n", status); at91dci_interrupt_poll(sc); @@ -892,7 +881,6 @@ at91dci_setup_standard_chain(struct usb_ xfer->td_transfer_cache = td; /* setup temp */ - temp.pc = NULL; temp.td = NULL; temp.td_next = xfer->td_start[0]; @@ -905,10 +893,8 @@ at91dci_setup_standard_chain(struct usb_ ep_no = (xfer->endpointno & UE_ADDR); /* check if we should prepend a setup message */ - if ((xfer->status & XFER_STATUS_CTRLXFER) != 0) { if ((xfer->status & XFER_STATUS_CTRLHDR) != 0) { - temp.func = &at91dci_setup_rx; temp.len = xfer->frlengths[0]; temp.pc = xfer->frbuffers + 0; @@ -943,9 +929,7 @@ at91dci_setup_standard_chain(struct usb_ need_sync = 0; } while (x != xfer->nframes) { - /* DATA0 / DATA1 message */ - temp.len = xfer->frlengths[x]; x++; @@ -961,15 +945,11 @@ at91dci_setup_standard_chain(struct usb_ } } if (temp.len == 0) { - /* make sure that we send an USB packet */ - temp.short_pkt = 0; } else { - /* regular data transfer */ - temp.short_pkt = (xfer->flags.force_short_xfer) ? 0 : 1; } @@ -985,7 +965,6 @@ at91dci_setup_standard_chain(struct usb_ /* check for control transfer */ if ((xfer->status & XFER_STATUS_CTRLXFER) != 0) { - /* always setup a valid "pc" pointer for status and sync */ temp.pc = xfer->frbuffers + 0; temp.len = 0; @@ -1001,7 +980,6 @@ at91dci_setup_standard_chain(struct usb_ /* check if we should append a status stage */ if ((xfer->status & XFER_STATUS_CTRLACTIVE) == 0) { - /* * Send a DATA1 message and invert the current * endpoint direction. @@ -1050,11 +1028,11 @@ at91dci_timeout(void *arg) static void at91dci_start_standard_chain(struct usb_xfer *xfer) { + DPRINTFN(9, "\n"); /* poll one time */ if (at91dci_xfer_do_fifo(xfer)) { - struct at91dci_softc *sc = AT9100_DCI_BUS2SC(xfer->xroot->bus); uint8_t ep_no = xfer->endpointno & UE_ADDR; @@ -1081,6 +1059,7 @@ at91dci_start_standard_chain(struct usb_ static void at91dci_root_intr(struct at91dci_softc *sc) { + DPRINTFN(9, "\n"); USB_BUS_LOCK_ASSERT(&sc->sc_bus, MA_OWNED); @@ -1149,7 +1128,6 @@ at91dci_standard_done_sub(struct usb_xfe } while (0); /* update transfer cache */ - xfer->td_transfer_cache = td; return (error ? @@ -1165,13 +1143,10 @@ at91dci_standard_done(struct usb_xfer *x xfer, xfer->endpoint); /* reset scanner */ - xfer->td_transfer_cache = xfer->td_transfer_first; if ((xfer->status & XFER_STATUS_CTRLXFER) != 0) { - if ((xfer->status & XFER_STATUS_CTRLHDR) != 0) { - err = at91dci_standard_done_sub(xfer); } xfer->aframes = 1; @@ -1181,7 +1156,6 @@ at91dci_standard_done(struct usb_xfer *x } } while (xfer->aframes != xfer->nframes) { - err = at91dci_standard_done_sub(xfer); xfer->aframes++; @@ -1192,7 +1166,6 @@ at91dci_standard_done(struct usb_xfer *x if ((xfer->status & XFER_STATUS_CTRLXFER) != 0 && (xfer->status & XFER_STATUS_CTRLACTIVE) == 0) { - err = at91dci_standard_done_sub(xfer); } done: @@ -1292,7 +1265,6 @@ at91dci_clear_stall_sub(struct at91dci_s /* release FIFO banks, if any */ for (to = 0; to != 2; to++) { - /* get csr value */ csr_val = AT91_UDP_READ_4(sc, csr_reg); @@ -1392,7 +1364,6 @@ at91dci_init(struct at91dci_softc *sc) USB_BUS_LOCK(&sc->sc_bus); /* turn on clocks */ - if (sc->sc_clocks_on) { (sc->sc_clocks_on) (sc->sc_clocks_arg); } @@ -1400,44 +1371,35 @@ at91dci_init(struct at91dci_softc *sc) usb_pause_mtx(&sc->sc_bus.bus_mtx, hz / 1000); /* disable and clear all interrupts */ - AT91_UDP_WRITE_4(sc, AT91_UDP_IDR, 0xFFFFFFFF); AT91_UDP_WRITE_4(sc, AT91_UDP_ICR, 0xFFFFFFFF); /* compute default CSR value */ - csr_val = 0; AT91_CSR_ACK(csr_val, 0); /* disable all endpoints */ - for (n = 0; n != AT91_UDP_EP_MAX; n++) { - /* disable endpoint */ AT91_UDP_WRITE_4(sc, AT91_UDP_CSR(n), csr_val); } /* enable the control endpoint */ - AT91_CSR_ACK(csr_val, AT91_UDP_CSR_ET_CTRL | AT91_UDP_CSR_EPEDS); /* write to FIFO control register */ - AT91_UDP_WRITE_4(sc, AT91_UDP_CSR(0), csr_val); /* enable the interrupts we want */ - AT91_UDP_WRITE_4(sc, AT91_UDP_IER, AT91_UDP_INT_BUS); /* turn off clocks */ - at91dci_clocks_off(sc); USB_BUS_UNLOCK(&sc->sc_bus); /* catch any lost interrupts */ - at91dci_do_poll(&sc->sc_bus); return (0); /* success */ @@ -1446,6 +1408,7 @@ at91dci_init(struct at91dci_softc *sc) void at91dci_uninit(struct at91dci_softc *sc) { + USB_BUS_LOCK(&sc->sc_bus); /* disable and clear all interrupts */ @@ -1467,12 +1430,14 @@ at91dci_uninit(struct at91dci_softc *sc) void at91dci_suspend(struct at91dci_softc *sc) { + return; } void at91dci_resume(struct at91dci_softc *sc) { + return; } @@ -1623,7 +1588,6 @@ at91dci_device_isoc_fs_enter(struct usb_ xfer, xfer->endpoint->isoc_next, xfer->nframes); /* get the current frame index */ - nframes = AT91_UDP_READ_4(sc, AT91_UDP_FRM); /* @@ -1789,7 +1753,6 @@ at91dci_roothub_exec(struct usb_device * index = UGETW(req->wIndex); /* demultiplex the control request */ - switch (req->bmRequestType) { case UT_READ_DEVICE: switch (req->bRequest) { @@ -2111,7 +2074,6 @@ tr_handle_get_port_status: } /* Select FULL-speed and Device Side Mode */ - value = UPS_PORT_MODE_DEVICE; if (sc->sc_flags.port_powered) { @@ -2193,24 +2155,19 @@ at91dci_xfer_setup(struct usb_setup_para * compute maximum number of TDs */ if (parm->methods == &at91dci_device_ctrl_methods) { - ntd = xfer->nframes + 1 /* STATUS */ + 1 /* SYNC 1 */ + 1 /* SYNC 2 */ ; } else if (parm->methods == &at91dci_device_bulk_methods) { - ntd = xfer->nframes + 1 /* SYNC */ ; } else if (parm->methods == &at91dci_device_intr_methods) { - ntd = xfer->nframes + 1 /* SYNC */ ; } else if (parm->methods == &at91dci_device_isoc_fs_methods) { - ntd = xfer->nframes + 1 /* SYNC */ ; } else { - ntd = 0; } @@ -2229,7 +2186,6 @@ at91dci_xfer_setup(struct usb_setup_para * get profile stuff */ if (ntd) { - ep_no = xfer->endpointno & UE_ADDR; at91dci_get_hw_ep_profile(parm->udev, &pf, ep_no); @@ -2247,11 +2203,9 @@ at91dci_xfer_setup(struct usb_setup_para parm->size[0] += ((-parm->size[0]) & (USB_HOST_ALIGN - 1)); for (n = 0; n != ntd; n++) { - struct at91dci_td *td; if (parm->buf) { - td = USB_ADD_BYTES(parm->buf, parm->size[0]); /* init TD */ @@ -2291,7 +2245,6 @@ at91dci_ep_init(struct usb_device *udev, sc->sc_rt_addr); if (udev->device_index != sc->sc_rt_addr) { - if (udev->flags.usb_mode != USB_MODE_DEVICE) { /* not supported */ return; Modified: user/weongyo/usb/sys/dev/usb/controller/at91dci_atmelarm.c ============================================================================== --- user/weongyo/usb/sys/dev/usb/controller/at91dci_atmelarm.c Fri Oct 1 23:13:56 2010 (r213338) +++ user/weongyo/usb/sys/dev/usb/controller/at91dci_atmelarm.c Sat Oct 2 00:57:41 2010 (r213339) @@ -94,11 +94,9 @@ at91_vbus_poll(struct at91_udp_softc *sc uint8_t vbus_val; /* XXX temporary clear interrupts here */ - temp = at91_pio_gpio_clear_interrupt(VBUS_BASE); /* just forward it */ - vbus_val = at91_pio_gpio_get(VBUS_BASE, VBUS_MASK); at91dci_vbus_interrupt(&sc->sc_dci, vbus_val); } @@ -124,18 +122,21 @@ at91_udp_clocks_off(void *arg) static void at91_udp_pull_up(void *arg) { + at91_pio_gpio_set(PULLUP_BASE, PULLUP_MASK); } static void at91_udp_pull_down(void *arg) { + at91_pio_gpio_clear(PULLUP_BASE, PULLUP_MASK); } static int at91_udp_probe(device_t dev) { + device_set_desc(dev, "AT91 integrated AT91_UDP controller"); return (0); } @@ -148,7 +149,6 @@ at91_udp_attach(device_t dev) int rid; /* setup AT9100 USB device controller interface softc */ - sc->sc_dci.sc_clocks_on = &at91_udp_clocks_on; sc->sc_dci.sc_clocks_off = &at91_udp_clocks_off; sc->sc_dci.sc_clocks_arg = sc; Modified: user/weongyo/usb/sys/dev/usb/controller/atmegadci.c ============================================================================== --- user/weongyo/usb/sys/dev/usb/controller/atmegadci.c Fri Oct 1 23:13:56 2010 (r213338) +++ user/weongyo/usb/sys/dev/usb/controller/atmegadci.c Sat Oct 2 00:57:41 2010 (r213339) @@ -110,7 +110,6 @@ static void atmegadci_root_intr(struct a */ static const struct usb_hw_ep_profile atmegadci_ep_profile[2] = { - [0] = { .max_in_frame_size = 64, .max_out_frame_size = 64, @@ -133,6 +132,7 @@ static void atmegadci_get_hw_ep_profile(struct usb_device *udev, const struct usb_hw_ep_profile **ppf, uint8_t ep_addr) { + if (ep_addr == 0) *ppf = atmegadci_ep_profile; else if (ep_addr < ATMEGA_EP_MAX) @@ -144,9 +144,9 @@ atmegadci_get_hw_ep_profile(struct usb_d static void atmegadci_clocks_on(struct atmegadci_softc *sc) { + if (sc->sc_flags.clocks_off && sc->sc_flags.port_powered) { - DPRINTFN(5, "\n"); /* turn on clocks */ @@ -166,12 +166,11 @@ atmegadci_clocks_on(struct atmegadci_sof static void atmegadci_clocks_off(struct atmegadci_softc *sc) { - if (!sc->sc_flags.clocks_off) { + if (!sc->sc_flags.clocks_off) { DPRINTFN(5, "\n"); /* disable Transceiver ? */ - ATMEGA_WRITE_1(sc, ATMEGA_USBCON, ATMEGA_USBCON_USBE | ATMEGA_USBCON_OTGPADE | @@ -188,8 +187,8 @@ atmegadci_clocks_off(struct atmegadci_so static void atmegadci_pull_up(struct atmegadci_softc *sc) { - /* pullup D+, if possible */ + /* pullup D+, if possible */ if (!sc->sc_flags.d_pulled_up && sc->sc_flags.port_powered) { sc->sc_flags.d_pulled_up = 1; @@ -200,8 +199,8 @@ atmegadci_pull_up(struct atmegadci_softc static void atmegadci_pull_down(struct atmegadci_softc *sc) { - /* pulldown D+, if possible */ + /* pulldown D+, if possible */ if (sc->sc_flags.d_pulled_up) { sc->sc_flags.d_pulled_up = 0; ATMEGA_WRITE_1(sc, ATMEGA_UDCON, ATMEGA_UDCON_DETACH); @@ -230,6 +229,7 @@ atmegadci_wakeup_peer(struct atmegadci_s static void atmegadci_set_address(struct atmegadci_softc *sc, uint8_t addr) { + DPRINTFN(5, "addr=%d\n", addr); addr |= ATMEGA_UDADDR_ADDEN; @@ -446,7 +446,6 @@ atmegadci_data_tx(struct atmegadci_td *t uint8_t temp; to = 3; /* don't loop forever! */ - /* get pointer to softc */ sc = ATMEGA_PC2SC(td->pc); @@ -482,7 +481,6 @@ repeat: count = td->remainder; } while (count > 0) { - usbd_get_page(td->pc, td->offset, &buf_res); /* get correct length */ @@ -604,7 +602,6 @@ atmegadci_xfer_do_fifo(struct usb_xfer * done: /* compute all actual lengths */ - atmegadci_standard_done(xfer); return (0); /* complete */ } @@ -626,6 +623,7 @@ repeat: static void atmegadci_vbus_interrupt(struct atmegadci_softc *sc, uint8_t is_on) { + DPRINTFN(5, "vbus = %u\n", is_on); if (is_on) { @@ -633,7 +631,6 @@ atmegadci_vbus_interrupt(struct atmegadc sc->sc_flags.status_vbus = 1; /* complete root HUB interrupt endpoint */ - atmegadci_root_intr(sc); } } else { @@ -645,7 +642,6 @@ atmegadci_vbus_interrupt(struct atmegadc sc->sc_flags.change_connect = 1; /* complete root HUB interrupt endpoint */ - atmegadci_root_intr(sc); } } @@ -668,7 +664,6 @@ atmegadci_interrupt(struct atmegadci_sof /* check for any bus state change interrupts */ if (status & ATMEGA_UDINT_EORSTI) { - DPRINTFN(5, "end of reset\n"); /* set correct state */ @@ -691,7 +686,6 @@ atmegadci_interrupt(struct atmegadci_sof * milliseconds of inactivity on the USB BUS. */ if (status & ATMEGA_UDINT_WAKEUPI) { - DPRINTFN(5, "resume interrupt\n"); if (sc->sc_flags.status_suspend) { @@ -708,7 +702,6 @@ atmegadci_interrupt(struct atmegadci_sof atmegadci_root_intr(sc); } } else if (status & ATMEGA_UDINT_SUSPI) { - DPRINTFN(5, "suspend interrupt\n"); if (!sc->sc_flags.status_suspend) { @@ -743,7 +736,6 @@ atmegadci_interrupt(struct atmegadci_sof status = ATMEGA_READ_1(sc, ATMEGA_UEINT); /* the hardware will clear the UEINT bits automatically */ if (status) { - DPRINTFN(5, "real endpoint interrupt UEINT=0x%02x\n", status); atmegadci_interrupt_poll(sc); @@ -795,7 +787,6 @@ atmegadci_setup_standard_chain(struct us xfer->td_transfer_cache = td; /* setup temp */ - temp.pc = NULL; temp.td = NULL; temp.td_next = xfer->td_start[0]; @@ -808,10 +799,8 @@ atmegadci_setup_standard_chain(struct us ep_no = (xfer->endpointno & UE_ADDR); /* check if we should prepend a setup message */ - if ((xfer->status & XFER_STATUS_CTRLXFER) != 0) { if ((xfer->status & XFER_STATUS_CTRLHDR) != 0) { - temp.func = &atmegadci_setup_rx; temp.len = xfer->frlengths[0]; temp.pc = xfer->frbuffers + 0; @@ -846,9 +835,7 @@ atmegadci_setup_standard_chain(struct us need_sync = 0; } while (x != xfer->nframes) { - /* DATA0 / DATA1 message */ - temp.len = xfer->frlengths[x]; x++; @@ -864,15 +851,11 @@ atmegadci_setup_standard_chain(struct us } } if (temp.len == 0) { - /* make sure that we send an USB packet */ - temp.short_pkt = 0; } else { - /* regular data transfer */ - temp.short_pkt = (xfer->flags.force_short_xfer) ? 0 : 1; } @@ -887,7 +870,6 @@ atmegadci_setup_standard_chain(struct us } if ((xfer->status & XFER_STATUS_CTRLXFER) != 0) { - /* always setup a valid "pc" pointer for status and sync */ temp.pc = xfer->frbuffers + 0; temp.len = 0; @@ -903,7 +885,6 @@ atmegadci_setup_standard_chain(struct us /* check if we should append a status stage */ if ((xfer->status & XFER_STATUS_CTRLACTIVE) == 0) { - /* * Send a DATA1 message and invert the current * endpoint direction. @@ -945,11 +926,11 @@ atmegadci_timeout(void *arg) static void atmegadci_start_standard_chain(struct usb_xfer *xfer) { + DPRINTFN(9, "\n"); /* poll one time - will turn on interrupts */ if (atmegadci_xfer_do_fifo(xfer)) { - /* put transfer on interrupt queue */ usbd_transfer_enqueue(&xfer->xroot->bus->intr_q, xfer); @@ -964,6 +945,7 @@ atmegadci_start_standard_chain(struct us static void atmegadci_root_intr(struct atmegadci_softc *sc) { + DPRINTFN(9, "\n"); USB_BUS_LOCK_ASSERT(&sc->sc_bus, MA_OWNED); @@ -1032,7 +1014,6 @@ atmegadci_standard_done_sub(struct usb_x } while (0); /* update transfer cache */ - xfer->td_transfer_cache = td; return (error ? @@ -1048,13 +1029,10 @@ atmegadci_standard_done(struct usb_xfer xfer, xfer->endpoint); /* reset scanner */ - xfer->td_transfer_cache = xfer->td_transfer_first; if ((xfer->status & XFER_STATUS_CTRLXFER) != 0) { - if ((xfer->status & XFER_STATUS_CTRLHDR) != 0) { - err = atmegadci_standard_done_sub(xfer); } xfer->aframes = 1; @@ -1064,7 +1042,6 @@ atmegadci_standard_done(struct usb_xfer } } while (xfer->aframes != xfer->nframes) { - err = atmegadci_standard_done_sub(xfer); xfer->aframes++; @@ -1075,7 +1052,6 @@ atmegadci_standard_done(struct usb_xfer if ((xfer->status & XFER_STATUS_CTRLXFER) != 0 && (xfer->status & XFER_STATUS_CTRLACTIVE) == 0) { - err = atmegadci_standard_done_sub(xfer); } done: @@ -1291,7 +1267,6 @@ atmegadci_init(struct atmegadci_softc *s /* disable all endpoints */ for (n = 0; n != ATMEGA_EP_MAX; n++) { - /* select endpoint */ ATMEGA_WRITE_1(sc, ATMEGA_UENUM, n); @@ -1303,18 +1278,15 @@ atmegadci_init(struct atmegadci_softc *s } /* turn off clocks */ - atmegadci_clocks_off(sc); /* read initial VBUS state */ - n = ATMEGA_READ_1(sc, ATMEGA_USBSTA); atmegadci_vbus_interrupt(sc, n & ATMEGA_USBSTA_VBUS); USB_BUS_UNLOCK(&sc->sc_bus); /* catch any lost interrupts */ - atmegadci_do_poll(&sc->sc_bus); return (0); /* success */ @@ -1323,6 +1295,7 @@ atmegadci_init(struct atmegadci_softc *s void atmegadci_uninit(struct atmegadci_softc *sc) { + USB_BUS_LOCK(&sc->sc_bus); /* turn on clocks */ @@ -1357,12 +1330,14 @@ atmegadci_uninit(struct atmegadci_softc void atmegadci_suspend(struct atmegadci_softc *sc) { + return; } void atmegadci_resume(struct atmegadci_softc *sc) { + return; } @@ -1384,24 +1359,28 @@ atmegadci_do_poll(struct usb_bus *bus) static void atmegadci_device_non_isoc_open(struct usb_xfer *xfer) { + return; } static void atmegadci_device_non_isoc_close(struct usb_xfer *xfer) { + atmegadci_device_done(xfer, USB_ERR_CANCELLED); } static void atmegadci_device_non_isoc_enter(struct usb_xfer *xfer) { + return; } static void atmegadci_device_non_isoc_start(struct usb_xfer *xfer) { + /* setup TDs */ atmegadci_setup_standard_chain(xfer); atmegadci_start_standard_chain(xfer); @@ -1421,12 +1400,14 @@ struct usb_pipe_methods atmegadci_device static void atmegadci_device_isoc_fs_open(struct usb_xfer *xfer) { + return; } static void atmegadci_device_isoc_fs_close(struct usb_xfer *xfer) { + atmegadci_device_done(xfer, USB_ERR_CANCELLED); } @@ -1441,7 +1422,6 @@ atmegadci_device_isoc_fs_enter(struct us xfer, xfer->endpoint->isoc_next, xfer->nframes); /* get the current frame index */ - nframes = (ATMEGA_READ_1(sc, ATMEGA_UDFNUMH) << 8) | (ATMEGA_READ_1(sc, ATMEGA_UDFNUML)); @@ -1489,6 +1469,7 @@ atmegadci_device_isoc_fs_enter(struct us static void atmegadci_device_isoc_fs_start(struct usb_xfer *xfer) { + /* start TD chain */ atmegadci_start_standard_chain(xfer); } @@ -1612,7 +1593,6 @@ atmegadci_roothub_exec(struct usb_device index = UGETW(req->wIndex); /* demultiplex the control request */ - switch (req->bmRequestType) { case UT_READ_DEVICE: switch (req->bRequest) { @@ -1971,7 +1951,6 @@ tr_handle_get_port_status: } /* Select FULL-speed and Device Side Mode */ - value = UPS_PORT_MODE_DEVICE; if (sc->sc_flags.port_powered) { @@ -2047,11 +2026,9 @@ atmegadci_xfer_setup(struct usb_setup_pa * compute maximum number of TDs */ if ((xfer->endpoint->edesc->bmAttributes & UE_XFERTYPE) == UE_CONTROL) { - ntd = xfer->nframes + 1 /* STATUS */ + 1 /* SYNC 1 */ + 1 /* SYNC 2 */ ; } else { - ntd = xfer->nframes + 1 /* SYNC */ ; } @@ -2082,11 +2059,9 @@ atmegadci_xfer_setup(struct usb_setup_pa parm->size[0] += ((-parm->size[0]) & (USB_HOST_ALIGN - 1)); for (n = 0; n != ntd; n++) { - struct atmegadci_td *td; if (parm->buf) { - td = USB_ADD_BYTES(parm->buf, parm->size[0]); /* init TD */ @@ -2123,7 +2098,6 @@ atmegadci_ep_init(struct usb_device *ude sc->sc_rt_addr, udev->device_index); if (udev->device_index != sc->sc_rt_addr) { - if (udev->flags.usb_mode != USB_MODE_DEVICE) { /* not supported */ return; Modified: user/weongyo/usb/sys/dev/usb/controller/atmegadci_atmelarm.c ============================================================================== --- user/weongyo/usb/sys/dev/usb/controller/atmegadci_atmelarm.c Fri Oct 1 23:13:56 2010 (r213338) +++ user/weongyo/usb/sys/dev/usb/controller/atmegadci_atmelarm.c Sat Oct 2 00:57:41 2010 (r213339) @@ -71,18 +71,21 @@ struct atmegadci_super_softc { static void atmegadci_clocks_on(struct usb_bus *bus) { + /* TODO */ } static void atmegadci_clocks_off(struct usb_bus *bus) { + /* TODO */ } static int atmegadci_probe(device_t dev) { + device_set_desc(dev, "ATMEL OTG integrated USB controller"); return (0); } Modified: user/weongyo/usb/sys/dev/usb/controller/avr32dci.c ============================================================================== --- user/weongyo/usb/sys/dev/usb/controller/avr32dci.c Fri Oct 1 23:13:56 2010 (r213338) +++ user/weongyo/usb/sys/dev/usb/controller/avr32dci.c Sat Oct 2 00:57:41 2010 (r213339) @@ -110,7 +110,6 @@ static void avr32dci_root_intr(struct av */ static const struct usb_hw_ep_profile avr32dci_ep_profile[4] = { - [0] = { .max_in_frame_size = 64, .max_out_frame_size = 64, @@ -155,6 +154,7 @@ static void avr32dci_get_hw_ep_profile(struct usb_device *udev, const struct usb_hw_ep_profile **ppf, uint8_t ep_addr) { + if (ep_addr == 0) *ppf = avr32dci_ep_profile; else if (ep_addr < 3) @@ -192,9 +192,9 @@ avr32dci_mod_ien(struct avr32dci_softc * static void avr32dci_clocks_on(struct avr32dci_softc *sc) { + if (sc->sc_flags.clocks_off && sc->sc_flags.port_powered) { - DPRINTFN(5, "\n"); /* turn on clocks */ @@ -209,8 +209,8 @@ avr32dci_clocks_on(struct avr32dci_softc static void avr32dci_clocks_off(struct avr32dci_softc *sc) { - if (!sc->sc_flags.clocks_off) { + if (!sc->sc_flags.clocks_off) { DPRINTFN(5, "\n"); avr32dci_mod_ctrl(sc, 0, AVR32_CTRL_DEV_EN_USBA); @@ -225,8 +225,8 @@ avr32dci_clocks_off(struct avr32dci_soft static void avr32dci_pull_up(struct avr32dci_softc *sc) { - /* pullup D+, if possible */ + /* pullup D+, if possible */ if (!sc->sc_flags.d_pulled_up && sc->sc_flags.port_powered) { sc->sc_flags.d_pulled_up = 1; @@ -237,8 +237,8 @@ avr32dci_pull_up(struct avr32dci_softc * static void avr32dci_pull_down(struct avr32dci_softc *sc) { *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201010020057.o920vfwt022231>