Port-sparc archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

SBus driver & burst (>32 bits) accesses



Hello,

Writing a basic driver in NetBSD 9 for a SBus/FPGA board I've designed
[1], I realized that all accesses to read or write my HW registers in
the FPGA are done using 32 bits bus transactions, not burst mode
(multiple 32 bits words in a single transaction). I've only
implemented SBus 'slave' mode yet in the FPGA, and I'm using
'bus_space_write_8' in my driver - but the trace of my SBus Finite
State Machine indicates transactions are still 32 bits (though maybe a
bit faster than with 'bus_space_write_4', less overhead ?).

For some reason, the onboard PROM is read with 8 bits accesses, but
it's not a performance issue since it doesn't do anything beyond
supplying the device name and register space.

Is there any way to speed up the access to write 128 bits at once with
a 16-byte burst, or is there a hardware/software limitation? Do I need
to implement 'master' mode and a DMA in the FPGA to get faster
transfers?

Thanks in advance & cordially,

Romain

[1] <https://github.com/rdolbeau/SBusFPGA>

-- 
Romain Dolbeau


Home | Main Index | Thread Index | Old Index