Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 6 Feb 2015 23:03:58 +1030
From:      "O'Connor, Daniel" <darius@dons.net.au>
To:        Hans Petter Selasky <hps@selasky.org>
Cc:        FreeBSD Hackers <freebsd-hackers@freebsd.org>
Subject:   Re: Two drivers sharing a single PCI device
Message-ID:  <F6DF0E64-EFFC-4CC9-8375-85F88AE0941F@dons.net.au>
In-Reply-To: <54D4ABA6.805@selasky.org>
References:  <643918BB-810C-4FB2-AE1A-C4CDA6C8A661@dons.net.au> <54D4ABA6.805@selasky.org>

next in thread | previous in thread | raw e-mail | index | archive | help

> On 6 Feb 2015, at 22:25, Hans Petter Selasky <hps@selasky.org> wrote:
> On 02/06/15 04:50, O'Connor, Daniel wrote:
>> Hi,
>> I am working on an EHCI debug driver and I have the basics working =
(attach, probe for a debug dongle and send data back and forth) - =
https://bitbucket.org/DJOConnor/dbgp
>>=20
>> However one problem remaining is that for it to work you have to =
detach the EHCI driver (obviously rather suboptimal :) so I am wondering =
what the best way would be to allow both ehci and dbgp to attach to the =
same PCI device.
>>=20
>> The dbgp driver doesn't touch the EHCI registers once it's running =
but it does have some code to start the EHCI controller and reset the =
port during attach.
>>=20
>> I can modify echi so it uses RF_SHAREABLE which should allow them to =
get newbus handles to the same area but the problem is that only one =
probe routine gets called.
>=20
> You possibly want "D_TRACKCLOSE" in d_flags in your cdevsw.

> What's the advantage of using the debug port over the regular EHCI USB =
interface?

I don't think that would help. It is supposed to be (largely) separate =
from the regular EHCI controller - it has it's own register set and it =
can steal the debug port from the regular controller so it doesn't =
appear occupied (although there is a bit of messing around on port =
reset).

The advantage is that it runs separately to the EHCI interface and it is =
quite simple to talk to, there is more information in appendix C of the =
USB 2 spec (usb_20.pdf).

--
Daniel O'Connor
"The nice thing about standards is that there
are so many of them to choose from."
 -- Andrew Tanenbaum
GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?F6DF0E64-EFFC-4CC9-8375-85F88AE0941F>