Page MenuHomeFreeBSD

Use pmap_quick* in pre-v6 arm busdma implementation
ClosedPublic

Authored by jah on Aug 28 2015, 4:56 PM.
Tags
None
Referenced Files
F153016515: D3522.id9530.diff
Sat, Apr 18, 3:46 PM
F153016510: D3522.id9344.diff
Sat, Apr 18, 3:46 PM
F153016506: D3522.id9564.diff
Sat, Apr 18, 3:46 PM
F153016492: D3522.id9031.diff
Sat, Apr 18, 3:46 PM
F153016487: D3522.id9317.diff
Sat, Apr 18, 3:46 PM
F153016483: D3522.id8379.diff
Sat, Apr 18, 3:46 PM
F153016480: D3522.id8798.diff
Sat, Apr 18, 3:46 PM
F153002615: D3522.id9030.diff
Sat, Apr 18, 2:01 PM
Subscribers

Details

Summary

Update arm/busdma_machdep.c to use pmap_quick* for bounce buffering and cache maintenance

Test Plan

tested on Sheeva plug by Mattia Rossi <mattia.rossi.mailinglists@gmail.com>

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 832
Build 832: arc lint + arc unit

Event Timeline

jah retitled this revision from to Use pmap_quick* in pre-v6 arm busdma implementation.
jah updated this object.
jah edited the test plan for this revision. (Show Details)

Making sl coalescing logic a little clearer, preventing coalescing in the case where the sl has a non-contiguous KVA but the physical pages happen to be adjacent.

Style fixes. Initialize sl outside the mapping loop, since it is incremented inside the loop.

  • Fix logic errors around call to sync_buf and bounce buffer cache maintenance
  • Remove sync_buf call for unmapped case: cache operations in pmap_quick_enter_page()->pmap_kenter()->pmap_fix_cache() make sync_buf irrelevant
  • Simplify loop in sync_sl

Adding assert on non-contiguous pages

Port unmapped bounce buffer alignment fix from x86

Narrow the scope of the temporary bounce buffer mappings

This revision was automatically updated to reflect the committed changes.