Page MenuHomeFreeBSD

bhnd(4): Implement missing support for specifying I/O control flags during core reset.
ClosedPublic

Authored by landonf on Nov 10 2017, 8:43 PM.

Details

Summary

These changes are required to support attaching bwn(4) via bhnd(4).

Depends on D13021

Test Plan

Tested against bcma(4) and siba(4) MIPS and PCI(e) targets.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

  • Implement missing support for specifying I/O control flags during core reset.
  • Add missing check for siba(4) target reject flags in bhnd_is_hw_suspended()
  • Fix siba(4) core suspend/reset behavior:
    • We don't need to wait on SIBA_TMH_BUSY when modifying any target state register; only when waiting for initiated transactions to clear.
    • We do need to wait on SIBA_IM_BY when asserting SIBA_IM_RJ.
    • We need to 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).
This revision was automatically updated to reflect the committed changes.