lkml.org 
[lkml]   [2003]   [May]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [linux-usb-devel] Re: [Bluetooth] HCI USB driver update. Support for SCO over HCI USB.
    From
    Date
    On Fri, 2003-05-09 at 12:06, David Brownell wrote:
    > Hi Max,
    >
    > > Do you think we can add this
    > > struct urb {
    > > ...
    > > struct list_head drv_list;
    > > char drv_cb[X];
    > > char hcd_cb[X];
    > > ...
    > > };
    >
    > Only with kerneldoc ... :)
    >
    :)

    > I'd certainly like the list_head. Patch attached,
    > in case Greg agrees enough. On x86, this makes
    > sizeof(struct urb) == 120, so it's using space
    > that was previously wasted.
    >
    >
    > As for the skb->cb analogue(s), details need working.
    >
    > - What should "X" be? skb->cb is 48 bytes.
    I'd say 16 will be enough for drivers.

    > - Should the cb[] arrays be "long"? They tend to
    > be used for pointers...
    Probably doesn't matter as long as ->cb is aligned.

    > - The HCDs want different amounts of per-urb data.
    > Sizes on x86:
    > * UHCI wants a lot -- 60 bytes!
    > * OHCI typically uses 16 bytes, but more for
    > multi-TD urbs (control 24 bytes, ISO often 36).
    > * EHCI doesn't allocate such extra data.
    >
    > - The HCDs would need conversion to use hcd_cb[].
    > I once had a patch that did that, but it's not
    > current. It made urb->cb replace urb->hcpriv.
    >
    > I suppose X=60 for hcd_cb[] will be enough, at least
    > on 32 bit CPUs. But you start to see why in the
    > new "USB Gadget" API, the analogue of "urb" gets
    > allocated by the USB (device) controller rather
    > than by generic code: so that in typical cases,
    > no additional per-request allocations are needed.

    Ok. Sounds like it should be
    uint32_t hcd_cb[16]; // 64 bytes for internal use by HCD
    uint32_t drv_cb[2]; // 8 bytes for internal use by USB driver

    ?

    Max



    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 13:35    [W:0.022 / U:31.160 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site