• Stefan Richter's avatar
    firewire: optimize config ROM creation · 8e85973e
    Stefan Richter authored
    The config ROM image of the local node was created in CPU byte order,
    then a temporary big endian copy was created to compute the CRC, and
    finally the card driver created its own big endian copy.
    
    We now generate it in big endian byte order in the first place to avoid
    one byte order conversion and the temporary on-stack copy of the ROM
    image (1000 bytes stack usage in process context).  Furthermore, two
    1000 bytes memset()s are replaced by one 1000 bytes - ROM length sized
    memset.
    
    The trivial fw_memcpy_{from,to}_be32() helpers are now superfluous and
    removed.  The newly added __compute_block_crc() function will be folded
    into fw_compute_block_crc() in a subsequent change.
    Signed-off-by: default avatarStefan Richter <stefanr@s5r6.in-berlin.de>
    8e85973e
core.h 6.08 KB