| 32aca3fc | 24-Jan-2009 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
sk(4): Adjust RX path a little bit
- Utilize bus_dmamap_load_mbuf_segment() - Don't try m_devget(); it does not help much, if the NIC is quenched by the peer, e.g. by line rate fragmented UDP data
sk(4): Adjust RX path a little bit
- Utilize bus_dmamap_load_mbuf_segment() - Don't try m_devget(); it does not help much, if the NIC is quenched by the peer, e.g. by line rate fragmented UDP datagrams - Move bus_dmamap_sync() from sk_rxeof() into sk_newbuf_std()
show more ...
|
| 105b9b5d | 24-Jan-2009 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
sk(4): Rework busdma(9) related bits
- According to data sheet, sk(4) does support 64bits address space. However, the RX/TX descriptors' high 32bits must be same, i.e. descriptors' can't spread
sk(4): Rework busdma(9) related bits
- According to data sheet, sk(4) does support 64bits address space. However, the RX/TX descriptors' high 32bits must be same, i.e. descriptors' can't spread above and below 4Gbytes boundary. Since sk(4)'s RX/TX descriptors are in contiguous memory, this means we only need to make sure that the contiguous memory does not cross 4Gbytes boundary. - RX/TX descriptors' is 8bytes aligned not 64bytes aligned. - Split RX/TX descriptor rings. - Use bus_dmamem_coherent() to allocate RX/TX descriptor rings. - Don't sync coherent memory.
show more ...
|