Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
  • early-display
  • variant-emmc-nvme-boot
  • 2023-01-25
  • v3
  • variant-emmc-nvme-boot
  • 2020-06-01
7 results

designware.h

Forked from Reform / reform-boundary-uboot
Source project has a limited visibility.
  • Alexey Brodkin's avatar
    ed102be7
    net: designware: Fix alignment of buffer descriptors · ed102be7
    Alexey Brodkin authored
    
    It's important that buffer descriptors are aligned in accordance to GMAC
    data bus width (32/64/128-bit). It's safe to align to 128-bit (16-bytes)
    for every bus width type.
    
    If buffer descriptor is improperly aligned GMAC discards lower bits of
    provided address and as a result reads from improper location that
    doesn't match expected fields.
    
    Commit ef76025a "net: Multiple
    updates/enhancements to designware.c" introduced another structure
    member "link_printed" right before buffer descriptors while "padding"
    member was left untouched. This together with alignment of structure
    itself to 16-byte boundary forces buffer descriptoprs always to be
    4-byte aligned that causes driver complete disfunction if GMAC bus width
    is 64 or 128-bit.
    
    Proposed change makes sure all buffer descriptors are 16-byte (128-bit)
    aligned.
    
    Signed-off-by: default avatarAlexey Brodkin <abrodkin@synopsys.com>
    Patch: 277902
    ed102be7
    History
    net: designware: Fix alignment of buffer descriptors
    Alexey Brodkin authored
    
    It's important that buffer descriptors are aligned in accordance to GMAC
    data bus width (32/64/128-bit). It's safe to align to 128-bit (16-bytes)
    for every bus width type.
    
    If buffer descriptor is improperly aligned GMAC discards lower bits of
    provided address and as a result reads from improper location that
    doesn't match expected fields.
    
    Commit ef76025a "net: Multiple
    updates/enhancements to designware.c" introduced another structure
    member "link_printed" right before buffer descriptors while "padding"
    member was left untouched. This together with alignment of structure
    itself to 16-byte boundary forces buffer descriptoprs always to be
    4-byte aligned that causes driver complete disfunction if GMAC bus width
    is 64 or 128-bit.
    
    Proposed change makes sure all buffer descriptors are 16-byte (128-bit)
    aligned.
    
    Signed-off-by: default avatarAlexey Brodkin <abrodkin@synopsys.com>
    Patch: 277902