[][kernel][mt7987][eth][Add validation for SRAM allocation and move FQ_DMA's DMAD to SRAM]

[Description]
Add validation for SRAM allocation and move FQ_DMA's DMAD to SRAM.

Because mt7987 has only 128KB of SRAM, the ETH driver cannot
allocate all the TX, RX, and FQ DMA's DMAD to the SRAM. Hence, we
have implemented a validation for the SRAM allocation to verify if
the SRAM address is valid or not. If it is not valid, the driver
will fall back to DRAM allocation.

Without this patch, the ETH driver cannot enable the has_sram feature
on the mt7987.

[Release-log]
N/A


Change-Id: I52923b15b7a446547db70881eea79b5d3741437d
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/9778157
3 files changed
tree: c4266d7c537b75c3e98ef5c33bc24af80646745b
  1. 21.02/
  2. autobuild/
  3. feed/
  4. master/
  5. scripts/
  6. tools/
  7. .checkpatch.conf
  8. .clang-format
  9. .gitignore
  10. prepare_sdk.sh
  11. Readme.md
Readme.md

Brief introduction for using MediaTek released OpenWrt SDK

1. Build system setup

2. Clone vanilla OpenWrt

Currently two release branches are supported:

  1. 21.02 This is the current in-use branch

    git clone -b openwrt-21.02 https://git.openwrt.org/openwrt/openwrt.git
    
  2. master (will be 24.0x branch later) The next version in development

    git clone https://git.openwrt.org/openwrt/openwrt.git
    

3. Add MediaTek OpenWrt feed

cd openwrt
echo "src-git mtk_openwrt_feed https://git01.mediatek.com/openwrt/feeds/mtk-openwrt-feeds" >> feeds.conf.default
./scripts/feeds update -a
./scripts/feeds install -a

4. Apply MediaTek OpenWrt files and patches

  1. 21.02 branch

    cp -af ./feeds/mtk_openwrt_feed/21.02/files/* .
    cp -af ./feeds/mtk_openwrt_feed/tools .
    for file in $(find ./feeds/mtk_openwrt_feed/21.02/patches-base -name "*.patch" | sort); do patch -f -p1 -i ${file}; done
    for file in $(find ./feeds/mtk_openwrt_feed/21.02/patches-feeds -name "*.patch" | sort); do patch -f -p1 -i ${file}; done
    
  2. master branch

    cp -af ./feeds/mtk_openwrt_feed/master/files/* .
    for file in $(find ./feeds/mtk_openwrt_feed/master/patches-base -name "*.patch" | sort); do patch -f -p1 -i ${file}; done
    

5. Configuration

make menuconfig
  1. 21.02 branch

    Target System -> MediaTek Ralink ARM
    Subtarget -> MT7981 / MT7986 / MT7988
    Target Profile -> select as needed
    
  2. master branch

    Target System -> MediaTek Ralink ARM
    Subtarget -> Filogic 8x0 (MT798x)
    Target Profile -> select as needed
    

6. Build

make V=s -j$(nproc)