Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Dec 2012 09:22:22 +0100
From:      Hans Petter Selasky <hselasky@c2i.net>
To:        Andrew Turner <andrew@fubar.geek.nz>
Cc:        Oleksandr Tymoshenko <gonzo@freebsd.org>, freebsd-usb@freebsd.org
Subject:   Re: EHCI on armv6 with Write-Back caches
Message-ID:  <201212180922.22217.hselasky@c2i.net>
In-Reply-To: <20121218204931.5322922d@fubar.geek.nz>
References:  <20121218204931.5322922d@fubar.geek.nz>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday 18 December 2012 08:49:31 Andrew Turner wrote:
> Hello,
> 
> Oleksandr and myself have been looking into why when we enable the
> write-back cache on the PandaBoard there are kernel panics with USB. We
> have tracked it down to an issue appending the ehci_qh_t to the list at
> the end of ehci_setup_standard_chain().
> 
> I have a patch at [1] that allows me to run sha256 on a 40MB file over
> NSF using the built in smsc USB ethernet chip. The problem is I have
> had to place a call to DELAY before EHCI_APPEND_QH. This is obviously
> not the correct solution.
> 
> Is anyone able to help me narrow down what is missing? It appears to be
> a missing cache invalidate or flush somewhere but I haven't been able
> to track down what cache function the DELAY is working around.
> 
> Andrew
> 
> [1] http://fubar.geek.nz/files/freebsd/ehci_4.diff

Hi,

Can you dump the DMA tag belonging to the QH via and check wether it is mapped 
coherent or not. Thes QH- and TD- structures should not be cache mapped. Else 
cache has not been disabled on those pages.

qh->page_cache->tag

--HPS



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201212180922.22217.hselasky>