From: Marek Vasut <marex@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v3 1/8] ehci: cosmetic: Define used constants
Date: Fri, 10 Aug 2012 00:25:46 +0200 [thread overview]
Message-ID: <201208100025.46390.marex@denx.de> (raw)
In-Reply-To: <262613802.2236747.1344549018378.JavaMail.root@advansee.com>
Dear Beno?t Th?baudeau,
> Signed-off-by: Beno?t Th?baudeau <benoit.thebaudeau@advansee.com>
> Cc: Marek Vasut <marex@denx.de>
> Cc: Ilya Yanok <ilya.yanok@cogentembedded.com>
> Cc: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
> ---
> Changes for v2: N/A.
> Changes for v3:
> - New patch.
>
> .../drivers/usb/host/ehci-hcd.c | 135
> +++++++++++--------- .../drivers/usb/host/ehci.h |
> 75 ++++++++++- 2 files changed, 150 insertions(+), 60 deletions(-)
>
> diff --git u-boot-usb-8d5fb14.orig/drivers/usb/host/ehci-hcd.c
> u-boot-usb-8d5fb14/drivers/usb/host/ehci-hcd.c index 5b3b906..1977c28
> 100644
> --- u-boot-usb-8d5fb14.orig/drivers/usb/host/ehci-hcd.c
> +++ u-boot-usb-8d5fb14/drivers/usb/host/ehci-hcd.c
> @@ -163,7 +163,7 @@ static int ehci_reset(void)
>
> #ifdef CONFIG_USB_EHCI_TXFIFO_THRESH
> cmd = ehci_readl(&hcor->or_txfilltuning);
> - cmd &= ~TXFIFO_THRESH(0x3f);
> + cmd &= ~TXFIFO_THRESH_MASK;
> cmd |= TXFIFO_THRESH(CONFIG_USB_EHCI_TXFIFO_THRESH);
> ehci_writel(&hcor->or_txfilltuning, cmd);
> #endif
> @@ -186,7 +186,7 @@ static int ehci_td_buffer(struct qTD *td, void *buf,
> size_t sz) while (idx < QT_BUFFER_CNT) {
> td->qt_buffer[idx] = cpu_to_hc32(addr);
> td->qt_buffer_hi[idx] = 0;
> - next = (addr + 4096) & ~4095;
> + next = (addr + EHCI_PAGE_SIZE) & ~(EHCI_PAGE_SIZE - 1);
> delta = next - addr;
> if (delta >= sz)
> break;
> @@ -208,7 +208,8 @@ ehci_submit_async(struct usb_device *dev, unsigned long
> pipe, void *buffer, int length, struct devrequest *req)
> {
> ALLOC_ALIGN_BUFFER(struct QH, qh, 1, USB_DMA_MINALIGN);
> - ALLOC_ALIGN_BUFFER(struct qTD, qtd, 3, USB_DMA_MINALIGN);
> +#define QTD_COUNT 3
> + ALLOC_ALIGN_BUFFER(struct qTD, qtd, QTD_COUNT, USB_DMA_MINALIGN);
> int qtd_counter = 0;
>
> volatile struct qTD *vtd;
> @@ -230,7 +231,7 @@ ehci_submit_async(struct usb_device *dev, unsigned long
> pipe, void *buffer, le16_to_cpu(req->index));
>
> memset(qh, 0, sizeof(struct QH));
> - memset(qtd, 0, 3 * sizeof(*qtd));
> + memset(qtd, 0, QTD_COUNT * sizeof(*qtd));
>
> toggle = usb_gettoggle(dev, usb_pipeendpoint(pipe), usb_pipeout(pipe));
>
> @@ -246,19 +247,20 @@ ehci_submit_async(struct usb_device *dev, unsigned
> long pipe, void *buffer, */
> qh->qh_link = cpu_to_hc32((uint32_t)qh_list | QH_LINK_TYPE_QH);
> c = (usb_pipespeed(pipe) != USB_SPEED_HIGH &&
> - usb_pipeendpoint(pipe) == 0) ? 1 : 0;
> - endpt = (8 << 28) |
> - (c << 27) |
> - (usb_maxpacket(dev, pipe) << 16) |
> - (0 << 15) |
> - (1 << 14) |
> - (usb_pipespeed(pipe) << 12) |
> - (usb_pipeendpoint(pipe) << 8) |
> - (0 << 7) | (usb_pipedevice(pipe) << 0);
> + usb_pipeendpoint(pipe) == 0);
> + endpt = (8 << QH_ENDPT1_RL) |
> + (c << QH_ENDPT1_C) |
Maybe define it as #deifne QH_ENDPT1(x) ((x) << SEOMTHING) ?
[...]
> @@ -398,50 +408,53 @@ ehci_submit_async(struct usb_device *dev, unsigned
> long pipe, void *buffer, ALIGN((uint32_t)buffer + length,
> ARCH_DMA_MINALIGN));
>
> /* Check that the TD processing happened */
> - if (token & 0x80) {
> + if (token & (QT_TOKEN_STATUS_ACTIVE << QT_TOKEN_STATUS))
> printf("EHCI timed out on TD - token=%#x\n", token);
> - }
>
> /* Disable async schedule. */
> cmd = ehci_readl(&hcor->or_usbcmd);
> cmd &= ~CMD_ASE;
> ehci_writel(&hcor->or_usbcmd, cmd);
>
> - ret = handshake((uint32_t *)&hcor->or_usbsts, STD_ASS, 0,
> + ret = handshake((uint32_t *)&hcor->or_usbsts, STS_ASS, 0,
Ooooh, nice catch :)
[...]
The rest is cool.
btw when (I hope you will) resubmitting next time, just submit the whole series
under 0/8 patch (or 1/8) of the old one to make it a nice thread.
next prev parent reply other threads:[~2012-08-09 22:25 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-09 21:50 [U-Boot] [PATCH v3 1/8] ehci: cosmetic: Define used constants Benoît Thébaudeau
2012-08-09 22:25 ` Marek Vasut [this message]
2012-08-09 23:13 ` Benoît Thébaudeau
2012-08-09 23:14 ` Marek Vasut
2012-08-09 23:28 ` Benoît Thébaudeau
2012-08-09 23:28 ` Marek Vasut
2012-08-10 0:53 ` Benoît Thébaudeau
2012-08-10 1:12 ` Marek Vasut
2012-08-10 16:21 ` [U-Boot] [PATCH v4 0/7] ehci: Improve performance Benoît Thébaudeau
2012-08-10 16:22 ` [U-Boot] [PATCH v4 1/7] ehci: cosmetic: Define used constants Benoît Thébaudeau
2012-08-10 16:22 ` [U-Boot] [PATCH v4 2/7] ehci-hcd: Boost transfer speed Benoît Thébaudeau
2012-08-10 16:22 ` [U-Boot] [PATCH v4 0/7] ehci: Improve performance Benoît Thébaudeau
2012-08-10 16:23 ` [U-Boot] [PATCH v4 4/7] usb_storage: Remove EHCI constraints Benoît Thébaudeau
2012-08-10 18:34 ` Ilya Yanok
2012-08-10 18:43 ` Benoît Thébaudeau
2012-08-10 19:34 ` Marek Vasut
2012-08-10 16:23 ` [U-Boot] [PATCH v4 5/7] usb_storage: Adjust time-outs Benoît Thébaudeau
2012-08-10 18:03 ` Ilya Yanok
2012-08-10 18:39 ` Benoît Thébaudeau
2012-08-10 16:26 ` [U-Boot] [PATCH v4 3/7] usb_storage: Restore non-EHCI support Benoît Thébaudeau
2012-08-10 16:27 ` [U-Boot] [PATCH v4 6/7] usb_stor_BBB_transport: Do not delay when not required Benoît Thébaudeau
2012-08-10 16:27 ` [U-Boot] [PATCH v4 7/7] ehci: Optimize qTD allocations Benoît Thébaudeau
2012-08-10 20:07 ` [U-Boot] [PATCH v4 0/7] ehci: Improve performance Marek Vasut
2012-08-11 20:42 ` Benoît Thébaudeau
2012-08-11 22:10 ` Marek Vasut
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201208100025.46390.marex@denx.de \
--to=marex@denx.de \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox