Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3b6fcfd0664aeac6ae2fd1231f04b3ed24723c1e
Commit:     3b6fcfd0664aeac6ae2fd1231f04b3ed24723c1e
Parent:     91bc4d31e81b15aa6e2d075307b8727041f2e2d1
Author:     Karsten Wiese <[EMAIL PROTECTED]>
AuthorDate: Sun Dec 30 21:55:05 2007 -0800
Committer:  Greg Kroah-Hartman <[EMAIL PROTECTED]>
CommitDate: Fri Feb 1 14:35:02 2008 -0800

    USB: ehci saves some memory in ISO transfer descriptors
    
    In the EHCI driver, itd->usecs[8] is used in periodic_usecs(), indexed by
    uframe.  For an ITD's unused uframes it is 0, else it contains the same
    value as itd->stream->usecs.  To check if an ITD's uframe is used, we can
    instead test itd->hw_transaction[uframe]:  if used, it will be nonzero no
    matter what endianess is used.
    
    This patch replaces those two uses, eliminates itd->usecs[], and saves
    eight bytes from each ITD.
    
    Signed-off-by: Karsten Wiese <[EMAIL PROTECTED]>
    Signed-off-by: David Brownell <[EMAIL PROTECTED]>
    Signed-off-by: Greg Kroah-Hartman <[EMAIL PROTECTED]>
---
 drivers/usb/host/ehci-sched.c |    4 ++--
 drivers/usb/host/ehci.h       |    1 -
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/usb/host/ehci-sched.c b/drivers/usb/host/ehci-sched.c
index 1c77104..1a94e6c 100644
--- a/drivers/usb/host/ehci-sched.c
+++ b/drivers/usb/host/ehci-sched.c
@@ -119,7 +119,8 @@ periodic_usecs (struct ehci_hcd *ehci, unsigned frame, 
unsigned uframe)
                        q = &q->fstn->fstn_next;
                        break;
                case Q_TYPE_ITD:
-                       usecs += q->itd->usecs [uframe];
+                       if (q->itd->hw_transaction[uframe])
+                               usecs += q->itd->stream->usecs;
                        hw_p = &q->itd->hw_next;
                        q = &q->itd->itd_next;
                        break;
@@ -1536,7 +1537,6 @@ itd_link_urb (
                uframe = next_uframe & 0x07;
                frame = next_uframe >> 3;
 
-               itd->usecs [uframe] = stream->usecs;
                itd_patch(ehci, itd, iso_sched, packet, uframe);
 
                next_uframe += stream->interval;
diff --git a/drivers/usb/host/ehci.h b/drivers/usb/host/ehci.h
index f834728..42969e9 100644
--- a/drivers/usb/host/ehci.h
+++ b/drivers/usb/host/ehci.h
@@ -602,7 +602,6 @@ struct ehci_itd {
        unsigned                frame;          /* where scheduled */
        unsigned                pg;
        unsigned                index[8];       /* in urb->iso_frame_desc */
-       u8                      usecs[8];
 } __attribute__ ((aligned (32)));
 
 /*-------------------------------------------------------------------------*/
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to