Page MenuHomeFreeBSD

bhnd(4): Add support for querying DMA address translation parameters
ClosedPublic

Authored by landonf on Oct 3 2017, 10:20 PM.

Details

Summary

BHND Wi-Fi chipsets and SoCs share a common DMA engine, operating within
backplane address space. To support host DMA on Wi-Fi chipsets, the bridge core
maps host address space onto the backplane; any host addresses must be
translated to their corresponding backplane address.

This diff:

  • Defines a new bhnd_get_dma_translation(9) API to support querying DMA address translation parameters from the bhnd(4) bus.
  • Extends bhndb(4) to provide DMA translation descriptors from a DMA address translation table defined in the host bridge-specific bhndb_hwcfg.
  • Defines bhndb(4) DMA address translation tables for all supported host bridge cores.
  • Extends MIPS/Broadcom to provide a no-op DMA translation; no translation of backplane address space is required.

Depends on D12518

Diff Detail

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

Event Timeline

landonf created this revision.Oct 3 2017, 10:20 PM
adrian accepted this revision.Oct 3 2017, 10:56 PM

lgtm; you don't have to ask for my permission to commit to bhnd stuff btw :)

This revision is now accepted and ready to land.Oct 3 2017, 10:56 PM

lgtm; you don't have to ask for my permission to commit to bhnd stuff btw :)

Thanks! In general I'm just trying to keep the foundation-related work tracked through Phabricator reviews (and a second set of code review eyes is never a bad thing). If you prefer, I can just include you as a 'subscriber' on bhnd-only diffs, and treat your approval as implicit.

This revision was automatically updated to reflect the committed changes.