Hi,

On 08/12/13 03:19, aseem.jolly wrote:
         if (EHCI_HCC_64BIT(cparams)) {
                 DPRINTF("HCC uses 64-bit structures\n");

                 /* MUST clear segment register if 64 bit capable */
                 EWRITE4(sc, EHCI_CTRLDSSEGMENT, 0);
         }
         sc->sc_bus.usbrev = USB_REV_2_0;

         /* Reset the controller */
         DPRINTF("%s: resetting\n", device_get_nameunit(sc->sc_bus.bdev));

         err = ehci_hcreset(sc);

Doubt 1) Whats the need to clear 'CTRLDSSEGMENT' register when host
controller reset is going to set it to
default value(0x00000000) anyways. I think we should move this code to after
reset or before we turn on the controller.

You cannot assume this, unless it is written somewhere.


Doubt 2) We should be using EOWRITE4(sc, EHCI_CTRLDSSEGMENT, 0); instead of
EWRITE4(sc, EHCI_CTRLDSSEGMENT, 0);

You are right!

http://svnweb.freebsd.org/changeset/base/254238



#define EOWRITE4(sc, a, x)                                              \
             bus_space_write_4((sc)->sc_io_tag, (sc)->sc_io_hdl,
(sc)->sc_offs+(a), (x))
#define EWRITE4(sc, a, x)                                               \
             bus_space_write_4((sc)->sc_io_tag, (sc)->sc_io_hdl, (a), (x))


--HPS

_______________________________________________
freebsd-usb@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"

Reply via email to