Workarounds in generic EHCI code

M. Warner Losh imp at bsdimp.com
Fri Mar 7 15:16:29 UTC 2008


In message: <47D15050.3010809 at semihalf.com>
            Rafal Jaworowski <raj at semihalf.com> writes:
: Greetings,
: 
: I'd like to hear comments on the proper way of handling non-standard behaviour
: of a host controller when a workaround needs to be aplied at the shared code
: level. In the following I followed an example of existing VIA/ATI chip workaround:
: 
: http://people.freebsd.org/~raj/patches/misc/usb-workarounds.diff
: 
: The respective flags are potentially set in platform-specific attachment
: driver code, which knows if they apply etc.
: 
: Does anybody see a better way to handle such cases?

This seems fine, but...

+#define EHCI_SCFLG_USBMODEBUG	0x0003	/* workaround for Marvell 88F5281 chipsets */
+#define EHCI_SCFLG_FORCESPEED	0x0004	/* workaround for Marvell chipsets */
+#define EHCI_SCFLG_NORESTERM	0x0005	/* don't terminate reset sequence on Marvell chipsets */

Two comments.  '3' isn't a bit, so those values need to change.
Second, I'd make the descriptions a little better.  The first two
aren't very helpful...

Warner


More information about the freebsd-usb mailing list