]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
bhnd(4): Fix bcma/siba core reset behavior
authorLandon J. Fuller <landonf@FreeBSD.org>
Mon, 27 Nov 2017 22:13:30 +0000 (22:13 +0000)
committerLandon J. Fuller <landonf@FreeBSD.org>
Mon, 27 Nov 2017 22:13:30 +0000 (22:13 +0000)
commitac59515b9800732037d8147e96afd9927d3a7ae7
tree062e2712c6fdbf77b132a4e70b85a34c3be3d597
parent05ed3f9063415c85e3d15f11904bac28e285e9f9
bhnd(4): Fix bcma/siba core reset behavior

Add missing support for specifying I/O control flags during core reset,
and resolve a number of siba(4)-specific reset issues:

- Add missing check for target reject flags in siba_is_hw_suspended().
- Remove incorrect wait on SIBA_TMH_BUSY when modifying any target state
  register; this should only be done when waiting for initiated
  transactions to clear.
- Add missing wait on SIBA_IM_BY when asserting SIBA_IM_RJ.
- Overwrite any previously set SIBA_TML_REJ flag when bringing the core
  out of reset. This fixes a lockup that occured when we brought up a core
  (after reboot) that had previously been placed into RESET by siba_bwn(4).

Approved by: adrian (mentor, implicit)
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D13039
share/man/man9/bhnd.9
sys/dev/bhnd/bcma/bcma.c
sys/dev/bhnd/bcma/bcma_subr.c
sys/dev/bhnd/bhnd.h
sys/dev/bhnd/bhnd_bus_if.m
sys/dev/bhnd/cores/usb/bhnd_usb.c
sys/dev/bhnd/siba/siba.c
sys/dev/bhnd/siba/siba_subr.c
sys/dev/bhnd/siba/sibavar.h