From ce343653c2618e1d335662b924c382c0192b7b46 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sat, 5 Nov 2022 14:38:35 +0100 Subject: [PATCH 1/8] CI: Simplify if conditions There is no need to put a ${{ }} around the if conditions. Signed-off-by: Hauke Mehrtens --- .github/workflows/kernel.yml | 2 +- .github/workflows/packages.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/kernel.yml b/.github/workflows/kernel.yml index 773e843bfda..a204be33958 100644 --- a/.github/workflows/kernel.yml +++ b/.github/workflows/kernel.yml @@ -156,7 +156,7 @@ jobs: ccache-kernel-${{ env.TARGET }}/${{ env.SUBTARGET }}- - name: Download external toolchain - if: ${{ steps.cache-external-toolchain.outputs.cache-hit != 'true' }} + if: steps.cache-external-toolchain.outputs.cache-hit != 'true' shell: su buildbot -c "sh -e {0}" working-directory: openwrt run: | diff --git a/.github/workflows/packages.yml b/.github/workflows/packages.yml index 49d795c122a..05f089e66ec 100644 --- a/.github/workflows/packages.yml +++ b/.github/workflows/packages.yml @@ -93,7 +93,7 @@ jobs: key: ${{ env.TOOLCHAIN_FILE }}-${{ env.TOOLCHAIN_SHA256 }} - name: Download external toolchain - if: ${{ steps.cache-external-toolchain.outputs.cache-hit != 'true' }} + if: steps.cache-external-toolchain.outputs.cache-hit != 'true' shell: su buildbot -c "sh -e {0}" working-directory: openwrt run: | From 7c406a5f0837b0bfc293b723932695176a8ef6fe Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Tue, 1 Nov 2022 19:10:01 +0100 Subject: [PATCH 2/8] CI: Extract the OpenWrt building to own sub workflow Extract the building of OpenWrt into an own workflow which is then triggered by the kernel.yml and packages.yml workflow with different inputs. This allows us to share much of the code of the workflow. Signed-off-by: Hauke Mehrtens --- .github/workflows/build.yml | 213 +++++++++++++++++++ .github/workflows/check-kernel-patches.yml | 93 ++++++++ .github/workflows/kernel.yml | 234 ++------------------- .github/workflows/packages.yml | 134 +----------- 4 files changed, 332 insertions(+), 342 deletions(-) create mode 100644 .github/workflows/build.yml create mode 100644 .github/workflows/check-kernel-patches.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000000..4cc1116d580 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,213 @@ +name: Build sub target + +on: + workflow_call: + inputs: + target: + required: true + type: string + include_feeds: + type: boolean + build_full: + type: boolean + build_all_modules: + type: boolean + build_all_kmods: + type: boolean + +permissions: + contents: read + +jobs: + setup_build: + name: Setup build + runs-on: ubuntu-latest + outputs: + owner_lc: ${{ steps.lower_owner.outputs.owner_lc }} + ccache_hash: ${{ steps.ccache_hash.outputs.ccache_hash }} + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Set lower case owner name + id: lower_owner + run: | + OWNER_LC=$(echo "${{ github.repository_owner }}" \ + | tr '[:upper:]' '[:lower:]') + echo "owner_lc=$OWNER_LC" >> $GITHUB_OUTPUT + + - name: Generate ccache hash + id: ccache_hash + run: | + CCACHE_HASH=$(md5sum include/kernel-* | awk '{ print $1 }' \ + | md5sum | awk '{ print $1 }') + echo "ccache_hash=$CCACHE_HASH" >> $GITHUB_OUTPUT + + build: + name: Build with external toolchain + needs: setup_build + runs-on: ubuntu-latest + + container: ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:latest + + permissions: + contents: read + packages: read + + steps: + - name: Checkout master directory + uses: actions/checkout@v3 + with: + path: openwrt + + - name: Checkout packages feed + if: inputs.include_feeds == true + uses: actions/checkout@v3 + with: + repository: openwrt/packages + path: openwrt/feeds/packages + + - name: Checkout luci feed + if: inputs.include_feeds == true + uses: actions/checkout@v3 + with: + repository: openwrt/luci + path: openwrt/feeds/luci + + - name: Checkout routing feed + if: inputs.include_feeds == true + uses: actions/checkout@v3 + with: + repository: openwrt/routing + path: openwrt/feeds/routing + + - name: Checkout telephony feed + if: inputs.include_feeds == true + uses: actions/checkout@v3 + with: + repository: openwrt/telephony + path: openwrt/feeds/telephony + + - name: Fix permission + run: | + chown -R buildbot:buildbot openwrt + + - name: Initialization environment + run: | + TARGET=$(echo ${{ inputs.target }} | cut -d "/" -f 1) + SUBTARGET=$(echo ${{ inputs.target }} | cut -d "/" -f 2) + echo "TARGET=$TARGET" >> "$GITHUB_ENV" + echo "SUBTARGET=$SUBTARGET" >> "$GITHUB_ENV" + + - name: Update & Install feeds + if: inputs.include_feeds == true + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: | + ./scripts/feeds update -a + ./scripts/feeds install -a + + - name: Parse toolchain file + working-directory: openwrt + run: | + TOOLCHAIN_STRING="$(curl "https://downloads.cdn.openwrt.org/snapshots/targets/${{ env.TARGET }}/${{ env.SUBTARGET }}/sha256sums" \ + | grep ".*openwrt-toolchain.*tar.xz")" + TOOLCHAIN_FILE=$(echo "$TOOLCHAIN_STRING" | sed -n -e 's/.*\(openwrt-toolchain.*\).tar.xz/\1/p') + TOOLCHAIN_SHA256=$(echo "$TOOLCHAIN_STRING" | cut -d ' ' -f 1) + + echo "TOOLCHAIN_FILE=$TOOLCHAIN_FILE" >> "$GITHUB_ENV" + echo "TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256" >> "$GITHUB_ENV" + + - name: Cache external toolchain + id: cache-external-toolchain + uses: actions/cache@v3 + with: + path: openwrt/${{ env.TOOLCHAIN_FILE }} + key: ${{ env.TOOLCHAIN_FILE }}-${{ env.TOOLCHAIN_SHA256 }} + + - name: Cache ccache + uses: actions/cache@v3 + with: + path: openwrt/.ccache + key: ccache-kernel-${{ env.TARGET }}/${{ env.SUBTARGET }}-${{ needs.setup_build.outputs.ccache_hash }} + restore-keys: | + ccache-kernel-${{ env.TARGET }}/${{ env.SUBTARGET }}- + + - name: Download external toolchain + if: steps.cache-external-toolchain.outputs.cache-hit != 'true' + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: | + wget -O - https://downloads.cdn.openwrt.org/snapshots/targets/${{ env.TARGET }}/${{ env.SUBTARGET }}/${TOOLCHAIN_FILE}.tar.xz \ + | tar --xz -xf - + + - name: Extract prebuilt tools + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: ./scripts/ext-tools.sh --tools /tools.tar + + - name: Configure all kernel modules + if: inputs.build_all_kmods == true + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: | + echo CONFIG_ALL_KMODS=y >> .config + + - name: Configure all modules + if: inputs.build_all_modules == true + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: | + echo CONFIG_ALL=y >> .config + + - name: Configure external toolchain + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: | + echo CONFIG_DEVEL=y >> .config + echo CONFIG_AUTOREMOVE=y >> .config + echo CONFIG_CCACHE=y >> .config + + ./scripts/ext-toolchain.sh \ + --toolchain ${{ env.TOOLCHAIN_FILE }}/toolchain-* \ + --overwrite-config \ + --config ${{ env.TARGET }}/${{ env.SUBTARGET }} + + - name: Show configuration + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: ./scripts/diffconfig.sh + + - name: Build tools + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: make tools/install -j$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh + + - name: Build toolchain + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: make toolchain/install -j$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh + + - name: Build Kernel + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: make target/compile -j$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh + + - name: Build Kernel Kmods + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: make package/linux/compile -j$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh + + - name: Build everything + if: inputs.build_full == true + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: make -j$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh + + - name: Upload logs + if: failure() + uses: actions/upload-artifact@v3 + with: + name: ${{ env.TARGET }}-${{ env.SUBTARGET }}-logs + path: "openwrt/logs" diff --git a/.github/workflows/check-kernel-patches.yml b/.github/workflows/check-kernel-patches.yml new file mode 100644 index 00000000000..3608b5a3ccc --- /dev/null +++ b/.github/workflows/check-kernel-patches.yml @@ -0,0 +1,93 @@ +name: Refresh kernel for target + +on: + workflow_call: + inputs: + target: + required: true + type: string + +permissions: + contents: read + +jobs: + setup_build: + name: Setup build + runs-on: ubuntu-latest + outputs: + owner_lc: ${{ steps.lower_owner.outputs.owner_lc }} + + steps: + - name: Set lower case owner name + id: lower_owner + run: | + OWNER_LC=$(echo "${{ github.repository_owner }}" \ + | tr '[:upper:]' '[:lower:]') + echo "owner_lc=$OWNER_LC" >> $GITHUB_OUTPUT + + check-patch: + name: Check Kernel patches + needs: setup_build + runs-on: ubuntu-latest + + container: ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:latest + + permissions: + contents: read + packages: read + + steps: + - name: Checkout master directory + uses: actions/checkout@v3 + with: + path: openwrt + + - name: Fix permission + run: | + chown -R buildbot:buildbot openwrt + + - name: Initialization environment + run: | + TARGET=$(echo ${{ inputs.target }} | cut -d "/" -f 1) + SUBTARGET=$(echo ${{ inputs.target }} | cut -d "/" -f 2) + echo "TARGET=$TARGET" >> "$GITHUB_ENV" + echo "SUBTARGET=$SUBTARGET" >> "$GITHUB_ENV" + + - name: Extract prebuilt tools + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: ./scripts/ext-tools.sh --tools /tools.tar + + - name: Configure system + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: | + echo CONFIG_ALL_KMODS=y >> .config + echo CONFIG_DEVEL=y >> .config + echo CONFIG_AUTOREMOVE=y >> .config + echo CONFIG_CCACHE=y >> .config + + echo "CONFIG_TARGET_${{ env.TARGET }}=y" >> .config + echo "CONFIG_TARGET_${{ env.TARGET }}_${{ env.SUBTARGET }}=y" >> .config + + make defconfig + + - name: Build tools + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: make tools/quilt/compile -j$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh + + - name: Refresh Kernel patches + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: | + make target/linux/refresh V=s + + . .github/workflows/scripts/ci_helpers.sh + + if git diff --name-only --exit-code; then + success "Kernel patches for ${{ env.TARGET }}/${{ env.SUBTARGET }} seems ok" + else + err "Kernel patches for ${{ env.TARGET }}/${{ env.SUBTARGET }} require refresh. (run 'make target/linux/refresh' and force push this pr)" + exit 1 + fi diff --git a/.github/workflows/kernel.yml b/.github/workflows/kernel.yml index a204be33958..06efe14d5c5 100644 --- a/.github/workflows/kernel.yml +++ b/.github/workflows/kernel.yml @@ -23,27 +23,11 @@ jobs: runs-on: ubuntu-latest outputs: target: ${{ steps.find_targets.outputs.target }} - owner_lc: ${{ steps.lower_owner.outputs.owner_lc }} - ccache_hash: ${{ steps.ccache_hash.outputs.ccache_hash }} steps: - name: Checkout uses: actions/checkout@v3 - - name: Set lower case owner name - id: lower_owner - run: | - OWNER_LC=$(echo "${{ github.repository_owner }}" \ - | tr '[:upper:]' '[:lower:]') - echo "owner_lc=$OWNER_LC" >> $GITHUB_OUTPUT - - - name: Generate ccache hash - id: ccache_hash - run: | - CCACHE_HASH=$(md5sum include/kernel-* | awk '{ print $1 }' \ - | md5sum | awk '{ print $1 }') - echo "ccache_hash=$CCACHE_HASH" >> $GITHUB_OUTPUT - - name: Set targets id: find_targets run: | @@ -69,218 +53,30 @@ jobs: build: name: Build Kernel with external toolchain needs: determine_targets - runs-on: ubuntu-latest + permissions: + contents: read + packages: read strategy: fail-fast: False matrix: target: ${{fromJson(needs.determine_targets.outputs.target)}} + uses: ./.github/workflows/build.yml + with: + target: ${{ matrix.target }} + build_all_kmods: true + include_feeds: true - container: ghcr.io/${{ needs.determine_targets.outputs.owner_lc }}/tools:latest - - permissions: - contents: read - packages: read - - steps: - - name: Checkout master directory - uses: actions/checkout@v3 - with: - path: openwrt - - - name: Checkout packages feed - uses: actions/checkout@v3 - with: - repository: openwrt/packages - path: openwrt/feeds/packages - - - name: Checkout luci feed - uses: actions/checkout@v3 - with: - repository: openwrt/luci - path: openwrt/feeds/luci - - - name: Checkout routing feed - uses: actions/checkout@v3 - with: - repository: openwrt/routing - path: openwrt/feeds/routing - - - name: Checkout telephony feed - uses: actions/checkout@v3 - with: - repository: openwrt/telephony - path: openwrt/feeds/telephony - - - name: Fix permission - run: | - chown -R buildbot:buildbot openwrt - - - name: Initialization environment - run: | - TARGET=$(echo ${{ matrix.target }} | cut -d "/" -f 1) - SUBTARGET=$(echo ${{ matrix.target }} | cut -d "/" -f 2) - echo "TARGET=$TARGET" >> "$GITHUB_ENV" - echo "SUBTARGET=$SUBTARGET" >> "$GITHUB_ENV" - - - name: Update & Install feeds - shell: su buildbot -c "sh -e {0}" - working-directory: openwrt - run: | - ./scripts/feeds update -a - ./scripts/feeds install -a - - - name: Parse toolchain file - working-directory: openwrt - run: | - TOOLCHAIN_STRING="$(curl "https://downloads.cdn.openwrt.org/snapshots/targets/${{ env.TARGET }}/${{ env.SUBTARGET }}/sha256sums" \ - | grep ".*openwrt-toolchain.*tar.xz")" - TOOLCHAIN_FILE=$(echo "$TOOLCHAIN_STRING" | sed -n -e 's/.*\(openwrt-toolchain.*\).tar.xz/\1/p') - TOOLCHAIN_SHA256=$(echo "$TOOLCHAIN_STRING" | cut -d ' ' -f 1) - - echo "TOOLCHAIN_FILE=$TOOLCHAIN_FILE" >> "$GITHUB_ENV" - echo "TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256" >> "$GITHUB_ENV" - - - name: Cache external toolchain - id: cache-external-toolchain - uses: actions/cache@v3 - with: - path: openwrt/${{ env.TOOLCHAIN_FILE }} - key: ${{ env.TOOLCHAIN_FILE }}-${{ env.TOOLCHAIN_SHA256 }} - - - name: Cache ccache - uses: actions/cache@v3 - with: - path: openwrt/.ccache - key: ccache-kernel-${{ env.TARGET }}/${{ env.SUBTARGET }}-${{ needs.determine_targets.outputs.ccache_hash }} - restore-keys: | - ccache-kernel-${{ env.TARGET }}/${{ env.SUBTARGET }}- - - - name: Download external toolchain - if: steps.cache-external-toolchain.outputs.cache-hit != 'true' - shell: su buildbot -c "sh -e {0}" - working-directory: openwrt - run: | - wget -O - https://downloads.cdn.openwrt.org/snapshots/targets/${{ env.TARGET }}/${{ env.SUBTARGET }}/${TOOLCHAIN_FILE}.tar.xz \ - | tar --xz -xf - - - - name: Extract prebuilt tools - shell: su buildbot -c "sh -e {0}" - working-directory: openwrt - run: ./scripts/ext-tools.sh --tools /tools.tar - - - name: Configure external toolchain - shell: su buildbot -c "sh -e {0}" - working-directory: openwrt - run: | - echo CONFIG_ALL_KMODS=y >> .config - echo CONFIG_DEVEL=y >> .config - echo CONFIG_AUTOREMOVE=y >> .config - echo CONFIG_CCACHE=y >> .config - - ./scripts/ext-toolchain.sh \ - --toolchain ${{ env.TOOLCHAIN_FILE }}/toolchain-* \ - --overwrite-config \ - --config ${{ env.TARGET }}/${{ env.SUBTARGET }} - - - name: Show configuration - shell: su buildbot -c "sh -e {0}" - working-directory: openwrt - run: ./scripts/diffconfig.sh - - - name: Build tools - shell: su buildbot -c "sh -e {0}" - working-directory: openwrt - run: make tools/install -j$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh - - - name: Build toolchain - shell: su buildbot -c "sh -e {0}" - working-directory: openwrt - run: make toolchain/install -j$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh - - - name: Build Kernel - shell: su buildbot -c "sh -e {0}" - working-directory: openwrt - run: make target/compile -j$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh - - - name: Build Kernel Kmods - shell: su buildbot -c "sh -e {0}" - working-directory: openwrt - run: make package/linux/compile -j$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh - - - name: Upload logs - if: failure() - uses: actions/upload-artifact@v3 - with: - name: ${{ env.TARGET }}-${{ env.SUBTARGET }}-logs - path: "openwrt/logs" - - check-patch: + check-kernel-patches: name: Check Kernel patches needs: determine_targets - runs-on: ubuntu-latest + permissions: + contents: read + packages: read strategy: fail-fast: False matrix: target: ${{fromJson(needs.determine_targets.outputs.target)}} + uses: ./.github/workflows/check-kernel-patches.yml + with: + target: ${{ matrix.target }} - container: ghcr.io/${{ needs.determine_targets.outputs.owner_lc }}/tools:latest - - permissions: - contents: read - packages: read - - steps: - - name: Checkout master directory - uses: actions/checkout@v3 - with: - path: openwrt - - - name: Fix permission - run: | - chown -R buildbot:buildbot openwrt - - - name: Initialization environment - run: | - TARGET=$(echo ${{ matrix.target }} | cut -d "/" -f 1) - SUBTARGET=$(echo ${{ matrix.target }} | cut -d "/" -f 2) - echo "TARGET=$TARGET" >> "$GITHUB_ENV" - echo "SUBTARGET=$SUBTARGET" >> "$GITHUB_ENV" - - - name: Extract prebuilt tools - shell: su buildbot -c "sh -e {0}" - working-directory: openwrt - run: ./scripts/ext-tools.sh --tools /tools.tar - - - name: Setup Config - shell: su buildbot -c "sh -e {0}" - working-directory: openwrt - run: | - echo CONFIG_ALL_KMODS=y >> .config - echo CONFIG_DEVEL=y >> .config - echo CONFIG_AUTOREMOVE=y >> .config - echo CONFIG_CCACHE=y >> .config - - echo "CONFIG_TARGET_${{ env.TARGET }}=y" >> .config - echo "CONFIG_TARGET_${{ env.TARGET }}_${{ env.SUBTARGET }}=y" >> .config - - make defconfig - - - name: Build tools - shell: su buildbot -c "sh -e {0}" - working-directory: openwrt - run: make tools/quilt/compile -j$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh - - - name: Refresh Kernel patches - shell: su buildbot -c "sh -e {0}" - working-directory: openwrt - run: | - make target/linux/refresh V=s - - . .github/workflows/scripts/ci_helpers.sh - - if git diff --name-only --exit-code; then - success "Kernel patches for ${{ env.TARGET }}/${{ env.SUBTARGET }} seems ok" - else - err "Kernel patches for ${{ env.TARGET }}/${{ env.SUBTARGET }} require refresh. (run 'make target/linux/refresh' and force push this pr)" - exit 1 - fi diff --git a/.github/workflows/packages.yml b/.github/workflows/packages.yml index 05f089e66ec..a374b370231 100644 --- a/.github/workflows/packages.yml +++ b/.github/workflows/packages.yml @@ -22,132 +22,20 @@ permissions: contents: read jobs: - setup_build: - name: Setup build - runs-on: ubuntu-latest - outputs: - owner_lc: ${{ steps.lower_owner.outputs.owner_lc }} - - steps: - - name: Set lower case owner name - id: lower_owner - run: | - OWNER_LC=$(echo "${{ github.repository_owner }}" \ - | tr '[:upper:]' '[:lower:]') - echo "owner_lc=$OWNER_LC" >> $GITHUB_OUTPUT - build: - name: Build all core packages - needs: setup_build - runs-on: ubuntu-latest + permissions: + contents: read + packages: read strategy: fail-fast: False matrix: include: - - name: malta-be - target: malta - subtarget: be - - name: x86-64 - target: x86 - subtarget: 64 + - target: malta/be + - target: x86/64 + uses: ./.github/workflows/build.yml + with: + target: ${{ matrix.target }} + build_all_kmods: true + build_all_modules: true + build_full: true - container: ghcr.io/${{ needs.setup_build.outputs.owner_lc }}/tools:latest - - permissions: - contents: read - packages: read - - steps: - - name: Checkout master directory - uses: actions/checkout@v3 - with: - path: openwrt - - - name: Fix permission - run: | - chown -R buildbot:buildbot openwrt - - - name: Initialization environment - run: | - TARGET=$(echo ${{ matrix.target }}) - SUBTARGET=$(echo ${{ matrix.subtarget }}) - echo "TARGET=$TARGET" >> "$GITHUB_ENV" - echo "SUBTARGET=$SUBTARGET" >> "$GITHUB_ENV" - - - name: Parse toolchain file - working-directory: openwrt - run: | - TOOLCHAIN_STRING="$(curl "https://downloads.cdn.openwrt.org/snapshots/targets/${{ env.TARGET }}/${{ env.SUBTARGET }}/sha256sums" \ - | grep ".*openwrt-toolchain.*tar.xz")" - TOOLCHAIN_FILE=$(echo "$TOOLCHAIN_STRING" | sed -n -e 's/.*\(openwrt-toolchain.*\).tar.xz/\1/p') - TOOLCHAIN_SHA256=$(echo "$TOOLCHAIN_STRING" | cut -d ' ' -f 1) - - echo "TOOLCHAIN_FILE=$TOOLCHAIN_FILE" >> "$GITHUB_ENV" - echo "TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256" >> "$GITHUB_ENV" - - - name: Cache external toolchain - id: cache-external-toolchain - uses: actions/cache@v3 - with: - path: openwrt/${{ env.TOOLCHAIN_FILE }} - key: ${{ env.TOOLCHAIN_FILE }}-${{ env.TOOLCHAIN_SHA256 }} - - - name: Download external toolchain - if: steps.cache-external-toolchain.outputs.cache-hit != 'true' - shell: su buildbot -c "sh -e {0}" - working-directory: openwrt - run: | - wget -O - https://downloads.cdn.openwrt.org/snapshots/targets/${{ env.TARGET }}/${{ env.SUBTARGET }}/${TOOLCHAIN_FILE}.tar.xz \ - | tar --xz -xf - - - - name: Extract prebuilt tools - shell: su buildbot -c "sh -e {0}" - working-directory: openwrt - run: ./scripts/ext-tools.sh --tools /tools.tar - - - name: Create configuration - shell: su buildbot -c "sh -e {0}" - working-directory: openwrt - run: | - echo CONFIG_ALL=y >> .config - echo CONFIG_ALL_KMODS=y >> .config - echo CONFIG_ALL_NONSHARED=y >> .config - echo CONFIG_DEVEL=y >> .config - echo CONFIG_AUTOREMOVE=y >> .config - - ./scripts/ext-toolchain.sh \ - --toolchain ${{ env.TOOLCHAIN_FILE }}/toolchain-* \ - --overwrite-config \ - --config ${{ env.TARGET }}/${{ env.SUBTARGET }} - - - name: Show configuration - shell: su buildbot -c "sh -e {0}" - working-directory: openwrt - run: ./scripts/diffconfig.sh - - - name: Build tools - shell: su buildbot -c "sh -e {0}" - working-directory: openwrt - run: make tools/install -j$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh - - - name: Build toolchain - shell: su buildbot -c "sh -e {0}" - working-directory: openwrt - run: make toolchain/install -j$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh - - - name: Build Kernel - shell: su buildbot -c "sh -e {0}" - working-directory: openwrt - run: make target/compile -j$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh - - - name: Build everything - shell: su buildbot -c "sh -e {0}" - working-directory: openwrt - run: make -j$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh - - - name: Upload logs - if: failure() - uses: actions/upload-artifact@v3 - with: - name: ${{ env.TARGET }}-${{ env.SUBTARGET }}-logs - path: "openwrt/logs" From 08f5283392674fe874c7f441128319263ce0d171 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sat, 5 Nov 2022 14:27:11 +0100 Subject: [PATCH 3/8] CI: Allow building with internal toolchain This adds an option to build with internal toolchain. This can be used to build targets which are currently not build by the OpenWrt build bots and which needs their own toolchain build for every build. Building the toolchain takes about 30 minutes compared to using the external toolchain which takes some seconds. Signed-off-by: Hauke Mehrtens --- .github/workflows/build.yml | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4cc1116d580..b29698a7747 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -6,6 +6,8 @@ on: target: required: true type: string + build_toolchain: + type: boolean include_feeds: type: boolean build_full: @@ -109,6 +111,7 @@ jobs: ./scripts/feeds install -a - name: Parse toolchain file + if: inputs.build_toolchain == false working-directory: openwrt run: | TOOLCHAIN_STRING="$(curl "https://downloads.cdn.openwrt.org/snapshots/targets/${{ env.TARGET }}/${{ env.SUBTARGET }}/sha256sums" \ @@ -120,6 +123,7 @@ jobs: echo "TOOLCHAIN_SHA256=$TOOLCHAIN_SHA256" >> "$GITHUB_ENV" - name: Cache external toolchain + if: inputs.build_toolchain == false id: cache-external-toolchain uses: actions/cache@v3 with: @@ -135,7 +139,7 @@ jobs: ccache-kernel-${{ env.TARGET }}/${{ env.SUBTARGET }}- - name: Download external toolchain - if: steps.cache-external-toolchain.outputs.cache-hit != 'true' + if: inputs.build_toolchain == false && steps.cache-external-toolchain.outputs.cache-hit != 'true' shell: su buildbot -c "sh -e {0}" working-directory: openwrt run: | @@ -162,6 +166,7 @@ jobs: echo CONFIG_ALL=y >> .config - name: Configure external toolchain + if: inputs.build_toolchain == false shell: su buildbot -c "sh -e {0}" working-directory: openwrt run: | @@ -174,6 +179,20 @@ jobs: --overwrite-config \ --config ${{ env.TARGET }}/${{ env.SUBTARGET }} + - name: Configure internal toolchain + if: inputs.build_toolchain == true + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: | + echo CONFIG_DEVEL=y >> .config + echo CONFIG_AUTOREMOVE=y >> .config + echo CONFIG_CCACHE=y >> .config + + echo "CONFIG_TARGET_${{ env.TARGET }}=y" >> .config + echo "CONFIG_TARGET_${{ env.TARGET }}_${{ env.SUBTARGET }}=y" >> .config + + make defconfig + - name: Show configuration shell: su buildbot -c "sh -e {0}" working-directory: openwrt From cf361b85097216538dfac5ad7b22050390b0bc67 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sat, 3 Dec 2022 03:04:40 +0100 Subject: [PATCH 4/8] CI: Build all boards and testing kernel This adds options to build all boards of a selected target and an additional option to build the testing kernel instead of the normal kernel. This can be used by other trigger work flows. Signed-off-by: Hauke Mehrtens --- .github/workflows/build.yml | 20 ++++++++++++++++++++ .github/workflows/check-kernel-patches.yml | 9 +++++++++ 2 files changed, 29 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b29698a7747..347eb5a90cd 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -6,6 +6,8 @@ on: target: required: true type: string + testing: + type: boolean build_toolchain: type: boolean include_feeds: @@ -16,6 +18,8 @@ on: type: boolean build_all_kmods: type: boolean + build_all_boards: + type: boolean permissions: contents: read @@ -151,6 +155,13 @@ jobs: working-directory: openwrt run: ./scripts/ext-tools.sh --tools /tools.tar + - name: Configure testing kernel + if: inputs.testing == true + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: | + echo CONFIG_TESTING_KERNEL=y >> .config + - name: Configure all kernel modules if: inputs.build_all_kmods == true shell: su buildbot -c "sh -e {0}" @@ -165,6 +176,15 @@ jobs: run: | echo CONFIG_ALL=y >> .config + - name: Configure all boards + if: inputs.build_all_boards == true + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: | + echo CONFIG_TARGET_MULTI_PROFILE=y >> .config + echo CONFIG_TARGET_PER_DEVICE_ROOTFS=y >> .config + echo CONFIG_TARGET_ALL_PROFILES=y >> .config + - name: Configure external toolchain if: inputs.build_toolchain == false shell: su buildbot -c "sh -e {0}" diff --git a/.github/workflows/check-kernel-patches.yml b/.github/workflows/check-kernel-patches.yml index 3608b5a3ccc..c04cb27b370 100644 --- a/.github/workflows/check-kernel-patches.yml +++ b/.github/workflows/check-kernel-patches.yml @@ -6,6 +6,8 @@ on: target: required: true type: string + testing: + type: boolean permissions: contents: read @@ -58,6 +60,13 @@ jobs: working-directory: openwrt run: ./scripts/ext-tools.sh --tools /tools.tar + - name: Configure testing kernel + if: inputs.testing == true + shell: su buildbot -c "sh -e {0}" + working-directory: openwrt + run: | + echo CONFIG_TESTING_KERNEL=y >> .config + - name: Configure system shell: su buildbot -c "sh -e {0}" working-directory: openwrt From 077622a198039f9f3d907b5cf4d77a52d7592c49 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 27 Nov 2022 19:51:44 +0100 Subject: [PATCH 5/8] mac80211: Update to version 5.15.81 The removed patches were applied upstream. Signed-off-by: Hauke Mehrtens --- package/kernel/mac80211/Makefile | 6 +- .../patches/ath/404-regd_no_assoc_hints.patch | 4 +- ...add-encapsulation-offloading-support.patch | 20 ++--- .../930-ath10k_add_tpt_led_trigger.patch | 4 +- ...75-ath10k-use-tpt-trigger-by-default.patch | 2 +- ...-power-reduction-for-US-regulatory-d.patch | 8 +- ...etting-wlan-MAC-address-using-device.patch | 2 +- .../mac80211/patches/brcm/998-survey.patch | 4 +- ...define-RF5592-in-init_eeprom-routine.patch | 2 +- ...dd-support-for-external-PA-on-MT7620.patch | 8 +- ...ove-up-and-reuse-busy-wait-functions.patch | 4 +- ...-RF-self-TXDC-calibration-for-MT7620.patch | 4 +- ...-rt2x00-add-r-calibration-for-MT7620.patch | 4 +- ...00-add-RXDCOC-calibration-for-MT7620.patch | 4 +- ...2x00-add-RXIQ-calibration-for-MT7620.patch | 4 +- ...-run-Rt5592-IQ-calibration-on-MT7620.patch | 52 ------------ ...0-add-TX-LOFT-calibration-for-MT7620.patch | 4 +- ...x00-move-helper-functions-up-in-file.patch | 2 +- ...t-TX_SW_CFG1-MAC-register-for-MT7620.patch | 52 ------------ ...t-VGC-gain-for-both-chains-of-MT7620.patch | 50 ------------ ...1-rt2x00-set-SoC-wmac-clock-register.patch | 70 ---------------- ...ectly-set-BBP-register-86-for-MT7620.patch | 79 ------------------- .../subsys/150-disable_addr_notifier.patch | 2 +- ...211_hwsim-make-6-GHz-channels-usable.patch | 8 +- ...introduce-set_radar_offchan-callback.patch | 4 +- ...offchannel_chain-structs-to-backgrou.patch | 4 +- ...11-MBSSID-beacon-handling-in-AP-mode.patch | 6 +- .../500-mac80211_configure_antenna_gain.patch | 2 +- 28 files changed, 56 insertions(+), 359 deletions(-) delete mode 100644 package/kernel/mac80211/patches/rt2x00/009-v6.1-rt2x00-don-t-run-Rt5592-IQ-calibration-on-MT7620.patch delete mode 100644 package/kernel/mac80211/patches/rt2x00/013-v6.1-rt2x00-set-correct-TX_SW_CFG1-MAC-register-for-MT7620.patch delete mode 100644 package/kernel/mac80211/patches/rt2x00/014-v6.1-rt2x00-set-VGC-gain-for-both-chains-of-MT7620.patch delete mode 100644 package/kernel/mac80211/patches/rt2x00/015-v6.1-rt2x00-set-SoC-wmac-clock-register.patch delete mode 100644 package/kernel/mac80211/patches/rt2x00/016-v6.1-rt2x00-correctly-set-BBP-register-86-for-MT7620.patch diff --git a/package/kernel/mac80211/Makefile b/package/kernel/mac80211/Makefile index ec35bf67ec3..8ecbe304189 100644 --- a/package/kernel/mac80211/Makefile +++ b/package/kernel/mac80211/Makefile @@ -10,10 +10,10 @@ include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=mac80211 -PKG_VERSION:=5.15.74-1 +PKG_VERSION:=5.15.81-1 PKG_RELEASE:=1 -PKG_SOURCE_URL:=@KERNEL/linux/kernel/projects/backports/stable/v5.15.74/ -PKG_HASH:=98098d0cab24cc76a04db738dc746a0c8d38d180398805481224f141cca06423 +PKG_SOURCE_URL:=@KERNEL/linux/kernel/projects/backports/stable/v5.15.81/ +PKG_HASH:=5227d3c35ccebacfaee6b8180b3a87b9910f3c94ee768ebc5c0fef3c86b6146d PKG_SOURCE:=backports-$(PKG_VERSION).tar.xz PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/backports-$(PKG_VERSION) diff --git a/package/kernel/mac80211/patches/ath/404-regd_no_assoc_hints.patch b/package/kernel/mac80211/patches/ath/404-regd_no_assoc_hints.patch index 02281adf4a2..c66301efa73 100644 --- a/package/kernel/mac80211/patches/ath/404-regd_no_assoc_hints.patch +++ b/package/kernel/mac80211/patches/ath/404-regd_no_assoc_hints.patch @@ -1,6 +1,6 @@ --- a/net/wireless/reg.c +++ b/net/wireless/reg.c -@@ -3309,6 +3309,8 @@ void regulatory_hint_country_ie(struct w +@@ -3315,6 +3315,8 @@ void regulatory_hint_country_ie(struct w enum environment_cap env = ENVIRON_ANY; struct regulatory_request *request = NULL, *lr; @@ -9,7 +9,7 @@ /* IE len must be evenly divisible by 2 */ if (country_ie_len & 0x01) return; -@@ -3560,6 +3562,7 @@ static bool is_wiphy_all_set_reg_flag(en +@@ -3566,6 +3568,7 @@ static bool is_wiphy_all_set_reg_flag(en void regulatory_hint_disconnect(void) { diff --git a/package/kernel/mac80211/patches/ath10k/081-04-v6.0-ath10k-add-encapsulation-offloading-support.patch b/package/kernel/mac80211/patches/ath10k/081-04-v6.0-ath10k-add-encapsulation-offloading-support.patch index abca7aac9e9..e45a3ba860b 100644 --- a/package/kernel/mac80211/patches/ath10k/081-04-v6.0-ath10k-add-encapsulation-offloading-support.patch +++ b/package/kernel/mac80211/patches/ath10k/081-04-v6.0-ath10k-add-encapsulation-offloading-support.patch @@ -50,7 +50,7 @@ Link: https://lore.kernel.org/r/20220516032519.29831-5-ryazanov.s.a@gmail.com --- a/drivers/net/wireless/ath/ath10k/mac.c +++ b/drivers/net/wireless/ath/ath10k/mac.c -@@ -3710,6 +3710,9 @@ ath10k_mac_tx_h_get_txmode(struct ath10k +@@ -3717,6 +3717,9 @@ ath10k_mac_tx_h_get_txmode(struct ath10k const struct ath10k_skb_cb *skb_cb = ATH10K_SKB_CB(skb); __le16 fc = hdr->frame_control; @@ -60,7 +60,7 @@ Link: https://lore.kernel.org/r/20220516032519.29831-5-ryazanov.s.a@gmail.com if (!vif || vif->type == NL80211_IFTYPE_MONITOR) return ATH10K_HW_TXRX_RAW; -@@ -3870,6 +3873,12 @@ static void ath10k_mac_tx_h_fill_cb(stru +@@ -3877,6 +3880,12 @@ static void ath10k_mac_tx_h_fill_cb(stru bool noack = false; cb->flags = 0; @@ -73,7 +73,7 @@ Link: https://lore.kernel.org/r/20220516032519.29831-5-ryazanov.s.a@gmail.com if (!ath10k_tx_h_use_hwcrypto(vif, skb)) cb->flags |= ATH10K_SKB_F_NO_HWCRYPT; -@@ -3908,6 +3917,7 @@ static void ath10k_mac_tx_h_fill_cb(stru +@@ -3915,6 +3924,7 @@ static void ath10k_mac_tx_h_fill_cb(stru cb->flags |= ATH10K_SKB_F_RAW_TX; } @@ -81,7 +81,7 @@ Link: https://lore.kernel.org/r/20220516032519.29831-5-ryazanov.s.a@gmail.com cb->vif = vif; cb->txq = txq; cb->airtime_est = airtime; -@@ -4031,7 +4041,11 @@ static int ath10k_mac_tx(struct ath10k * +@@ -4038,7 +4048,11 @@ static int ath10k_mac_tx(struct ath10k * ath10k_tx_h_seq_no(vif, skb); break; case ATH10K_HW_TXRX_ETHERNET: @@ -94,7 +94,7 @@ Link: https://lore.kernel.org/r/20220516032519.29831-5-ryazanov.s.a@gmail.com break; case ATH10K_HW_TXRX_RAW: if (!test_bit(ATH10K_FLAG_RAW_MODE, &ar->dev_flags) && -@@ -4643,12 +4657,10 @@ static void ath10k_mac_op_tx(struct ieee +@@ -4650,12 +4664,10 @@ static void ath10k_mac_op_tx(struct ieee struct ieee80211_vif *vif = info->control.vif; struct ieee80211_sta *sta = control->sta; struct ieee80211_txq *txq = NULL; @@ -107,7 +107,7 @@ Link: https://lore.kernel.org/r/20220516032519.29831-5-ryazanov.s.a@gmail.com int ret; u16 airtime; -@@ -4662,8 +4674,14 @@ static void ath10k_mac_op_tx(struct ieee +@@ -4669,8 +4681,14 @@ static void ath10k_mac_op_tx(struct ieee is_mgmt = (txpath == ATH10K_MAC_TX_HTT_MGMT); if (is_htt) { @@ -123,7 +123,7 @@ Link: https://lore.kernel.org/r/20220516032519.29831-5-ryazanov.s.a@gmail.com ret = ath10k_htt_tx_inc_pending(htt); if (ret) { -@@ -5463,6 +5481,30 @@ static int ath10k_mac_set_txbf_conf(stru +@@ -5470,6 +5488,30 @@ static int ath10k_mac_set_txbf_conf(stru ar->wmi.vdev_param->txbf, value); } @@ -154,7 +154,7 @@ Link: https://lore.kernel.org/r/20220516032519.29831-5-ryazanov.s.a@gmail.com /* * TODO: * Figure out how to handle WMI_VDEV_SUBTYPE_P2P_DEVICE, -@@ -5672,15 +5714,7 @@ static int ath10k_add_interface(struct i +@@ -5679,15 +5721,7 @@ static int ath10k_add_interface(struct i arvif->def_wep_key_idx = -1; @@ -171,7 +171,7 @@ Link: https://lore.kernel.org/r/20220516032519.29831-5-ryazanov.s.a@gmail.com /* Configuring number of spatial stream for monitor interface is causing * target assert in qca9888 and qca6174. -@@ -9368,6 +9402,7 @@ static const struct ieee80211_ops ath10k +@@ -9372,6 +9406,7 @@ static const struct ieee80211_ops ath10k .stop = ath10k_stop, .config = ath10k_config, .add_interface = ath10k_add_interface, @@ -179,7 +179,7 @@ Link: https://lore.kernel.org/r/20220516032519.29831-5-ryazanov.s.a@gmail.com .remove_interface = ath10k_remove_interface, .configure_filter = ath10k_configure_filter, .bss_info_changed = ath10k_bss_info_changed, -@@ -10037,6 +10072,12 @@ int ath10k_mac_register(struct ath10k *a +@@ -10041,6 +10076,12 @@ int ath10k_mac_register(struct ath10k *a if (test_bit(WMI_SERVICE_TDLS_UAPSD_BUFFER_STA, ar->wmi.svc_map)) ieee80211_hw_set(ar->hw, SUPPORTS_TDLS_BUFFER_STA); diff --git a/package/kernel/mac80211/patches/ath10k/930-ath10k_add_tpt_led_trigger.patch b/package/kernel/mac80211/patches/ath10k/930-ath10k_add_tpt_led_trigger.patch index 9dfde4385eb..bc6f5dbc5c1 100644 --- a/package/kernel/mac80211/patches/ath10k/930-ath10k_add_tpt_led_trigger.patch +++ b/package/kernel/mac80211/patches/ath10k/930-ath10k_add_tpt_led_trigger.patch @@ -1,6 +1,6 @@ --- a/drivers/net/wireless/ath/ath10k/mac.c +++ b/drivers/net/wireless/ath/ath10k/mac.c -@@ -9894,6 +9894,21 @@ static int ath10k_mac_init_rd(struct ath +@@ -9898,6 +9898,21 @@ static int ath10k_mac_init_rd(struct ath return 0; } @@ -22,7 +22,7 @@ int ath10k_mac_register(struct ath10k *ar) { static const u32 cipher_suites[] = { -@@ -10252,6 +10267,12 @@ int ath10k_mac_register(struct ath10k *a +@@ -10256,6 +10271,12 @@ int ath10k_mac_register(struct ath10k *a ar->hw->weight_multiplier = ATH10K_AIRTIME_WEIGHT_MULTIPLIER; diff --git a/package/kernel/mac80211/patches/ath10k/975-ath10k-use-tpt-trigger-by-default.patch b/package/kernel/mac80211/patches/ath10k/975-ath10k-use-tpt-trigger-by-default.patch index 842853ddf41..253fe96ddf8 100644 --- a/package/kernel/mac80211/patches/ath10k/975-ath10k-use-tpt-trigger-by-default.patch +++ b/package/kernel/mac80211/patches/ath10k/975-ath10k-use-tpt-trigger-by-default.patch @@ -42,7 +42,7 @@ Signed-off-by: Mathias Kresin if (ret) --- a/drivers/net/wireless/ath/ath10k/mac.c +++ b/drivers/net/wireless/ath/ath10k/mac.c -@@ -10269,7 +10269,7 @@ int ath10k_mac_register(struct ath10k *a +@@ -10273,7 +10273,7 @@ int ath10k_mac_register(struct ath10k *a ar->hw->weight_multiplier = ATH10K_AIRTIME_WEIGHT_MULTIPLIER; #ifdef CPTCFG_MAC80211_LEDS diff --git a/package/kernel/mac80211/patches/ath10k/981-ath10k-adjust-tx-power-reduction-for-US-regulatory-d.patch b/package/kernel/mac80211/patches/ath10k/981-ath10k-adjust-tx-power-reduction-for-US-regulatory-d.patch index a45addf1196..424985f1149 100644 --- a/package/kernel/mac80211/patches/ath10k/981-ath10k-adjust-tx-power-reduction-for-US-regulatory-d.patch +++ b/package/kernel/mac80211/patches/ath10k/981-ath10k-adjust-tx-power-reduction-for-US-regulatory-d.patch @@ -28,7 +28,7 @@ Forwarded: no --- a/drivers/net/wireless/ath/ath10k/mac.c +++ b/drivers/net/wireless/ath/ath10k/mac.c -@@ -1021,6 +1021,40 @@ static inline int ath10k_vdev_setup_sync +@@ -1028,6 +1028,40 @@ static inline int ath10k_vdev_setup_sync return ar->last_wmi_vdev_start_status; } @@ -69,7 +69,7 @@ Forwarded: no static int ath10k_monitor_vdev_start(struct ath10k *ar, int vdev_id) { struct cfg80211_chan_def *chandef = NULL; -@@ -1053,7 +1087,8 @@ static int ath10k_monitor_vdev_start(str +@@ -1060,7 +1094,8 @@ static int ath10k_monitor_vdev_start(str arg.channel.min_power = 0; arg.channel.max_power = channel->max_power * 2; arg.channel.max_reg_power = channel->max_reg_power * 2; @@ -79,7 +79,7 @@ Forwarded: no reinit_completion(&ar->vdev_setup_done); reinit_completion(&ar->vdev_delete_done); -@@ -1499,7 +1534,8 @@ static int ath10k_vdev_start_restart(str +@@ -1506,7 +1541,8 @@ static int ath10k_vdev_start_restart(str arg.channel.min_power = 0; arg.channel.max_power = chandef->chan->max_power * 2; arg.channel.max_reg_power = chandef->chan->max_reg_power * 2; @@ -89,7 +89,7 @@ Forwarded: no if (arvif->vdev_type == WMI_VDEV_TYPE_AP) { arg.ssid = arvif->u.ap.ssid; -@@ -3427,7 +3463,8 @@ static int ath10k_update_channel_list(st +@@ -3434,7 +3470,8 @@ static int ath10k_update_channel_list(st ch->min_power = 0; ch->max_power = channel->max_power * 2; ch->max_reg_power = channel->max_reg_power * 2; diff --git a/package/kernel/mac80211/patches/brcm/001-v5.19-brcmfmac-allow-setting-wlan-MAC-address-using-device.patch b/package/kernel/mac80211/patches/brcm/001-v5.19-brcmfmac-allow-setting-wlan-MAC-address-using-device.patch index 03d9f8ecd8c..e06e350b62d 100644 --- a/package/kernel/mac80211/patches/brcm/001-v5.19-brcmfmac-allow-setting-wlan-MAC-address-using-device.patch +++ b/package/kernel/mac80211/patches/brcm/001-v5.19-brcmfmac-allow-setting-wlan-MAC-address-using-device.patch @@ -72,7 +72,7 @@ Link: https://lore.kernel.org/r/20220506044246.67146-1-pavel@loebl.cz #include #include #include -@@ -1226,7 +1227,8 @@ static int brcmf_bus_started(struct brcm +@@ -1227,7 +1228,8 @@ static int brcmf_bus_started(struct brcm brcmf_dbg(TRACE, "\n"); /* add primary networking interface */ diff --git a/package/kernel/mac80211/patches/brcm/998-survey.patch b/package/kernel/mac80211/patches/brcm/998-survey.patch index d194e25177e..234a97b7bfc 100644 --- a/package/kernel/mac80211/patches/brcm/998-survey.patch +++ b/package/kernel/mac80211/patches/brcm/998-survey.patch @@ -100,7 +100,7 @@ .add_key = brcmf_cfg80211_add_key, --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c -@@ -1363,6 +1363,8 @@ int brcmf_attach(struct device *dev) +@@ -1364,6 +1364,8 @@ int brcmf_attach(struct device *dev) /* Link to bus module */ drvr->hdrlen = 0; @@ -109,7 +109,7 @@ /* Attach and link in the protocol */ ret = brcmf_proto_attach(drvr); -@@ -1445,6 +1447,12 @@ void brcmf_detach(struct device *dev) +@@ -1446,6 +1448,12 @@ void brcmf_detach(struct device *dev) if (drvr == NULL) return; diff --git a/package/kernel/mac80211/patches/rt2x00/001-v6.1-rt2x00-define-RF5592-in-init_eeprom-routine.patch b/package/kernel/mac80211/patches/rt2x00/001-v6.1-rt2x00-define-RF5592-in-init_eeprom-routine.patch index 351e24a4d52..4d5b6702790 100644 --- a/package/kernel/mac80211/patches/rt2x00/001-v6.1-rt2x00-define-RF5592-in-init_eeprom-routine.patch +++ b/package/kernel/mac80211/patches/rt2x00/001-v6.1-rt2x00-define-RF5592-in-init_eeprom-routine.patch @@ -41,7 +41,7 @@ Acked-by: Stanislaw Gruszka --- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c +++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -9435,6 +9435,8 @@ static int rt2800_init_eeprom(struct rt2 +@@ -9461,6 +9461,8 @@ static int rt2800_init_eeprom(struct rt2 rf = RF3853; else if (rt2x00_rt(rt2x00dev, RT5350)) rf = RF5350; diff --git a/package/kernel/mac80211/patches/rt2x00/003-v6.1-rt2x00-add-support-for-external-PA-on-MT7620.patch b/package/kernel/mac80211/patches/rt2x00/003-v6.1-rt2x00-add-support-for-external-PA-on-MT7620.patch index 216f5830631..26c2020918f 100644 --- a/package/kernel/mac80211/patches/rt2x00/003-v6.1-rt2x00-add-support-for-external-PA-on-MT7620.patch +++ b/package/kernel/mac80211/patches/rt2x00/003-v6.1-rt2x00-add-support-for-external-PA-on-MT7620.patch @@ -50,8 +50,8 @@ Acked-by: Stanislaw Gruszka * EEPROM LNA --- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c +++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -4368,6 +4368,43 @@ static void rt2800_config_channel(struct - rt2800_iq_calibrate(rt2x00dev, rf->channel); +@@ -4372,6 +4372,43 @@ static void rt2800_config_channel(struct + rt2800_iq_calibrate(rt2x00dev, rf->channel); } + if (rt2x00_rt(rt2x00dev, RT6352)) { @@ -94,7 +94,7 @@ Acked-by: Stanislaw Gruszka bbp = rt2800_bbp_read(rt2x00dev, 4); rt2x00_set_field8(&bbp, BBP4_BANDWIDTH, 2 * conf_is_ht40(conf)); rt2800_bbp_write(rt2x00dev, 4, bbp); -@@ -9566,7 +9603,8 @@ static int rt2800_init_eeprom(struct rt2 +@@ -9592,7 +9629,8 @@ static int rt2800_init_eeprom(struct rt2 */ eeprom = rt2800_eeprom_read(rt2x00dev, EEPROM_NIC_CONF1); @@ -104,7 +104,7 @@ Acked-by: Stanislaw Gruszka if (rt2x00_get_field16(eeprom, EEPROM_NIC_CONF1_EXTERNAL_TX0_PA_3352)) __set_bit(CAPABILITY_EXTERNAL_PA_TX0, -@@ -9577,6 +9615,18 @@ static int rt2800_init_eeprom(struct rt2 +@@ -9603,6 +9641,18 @@ static int rt2800_init_eeprom(struct rt2 &rt2x00dev->cap_flags); } diff --git a/package/kernel/mac80211/patches/rt2x00/004-v6.1-rt2x00-move-up-and-reuse-busy-wait-functions.patch b/package/kernel/mac80211/patches/rt2x00/004-v6.1-rt2x00-move-up-and-reuse-busy-wait-functions.patch index da453074a1f..c9b0d82b649 100644 --- a/package/kernel/mac80211/patches/rt2x00/004-v6.1-rt2x00-move-up-and-reuse-busy-wait-functions.patch +++ b/package/kernel/mac80211/patches/rt2x00/004-v6.1-rt2x00-move-up-and-reuse-busy-wait-functions.patch @@ -120,7 +120,7 @@ Acked-by: Stanislaw Gruszka if (chan->center_freq > 2457) { bbp = rt2800_bbp_read(rt2x00dev, 30); -@@ -6249,46 +6282,6 @@ static int rt2800_init_registers(struct +@@ -6275,46 +6308,6 @@ static int rt2800_init_registers(struct return 0; } @@ -167,7 +167,7 @@ Acked-by: Stanislaw Gruszka static void rt2800_bbp4_mac_if_ctrl(struct rt2x00_dev *rt2x00dev) { -@@ -9110,7 +9103,7 @@ int rt2800_enable_radio(struct rt2x00_de +@@ -9136,7 +9129,7 @@ int rt2800_enable_radio(struct rt2x00_de /* * Wait BBP/RF to wake up. */ diff --git a/package/kernel/mac80211/patches/rt2x00/005-v6.1-rt2x00-add-RF-self-TXDC-calibration-for-MT7620.patch b/package/kernel/mac80211/patches/rt2x00/005-v6.1-rt2x00-add-RF-self-TXDC-calibration-for-MT7620.patch index 4e98d6a3750..9ba16bee121 100644 --- a/package/kernel/mac80211/patches/rt2x00/005-v6.1-rt2x00-add-RF-self-TXDC-calibration-for-MT7620.patch +++ b/package/kernel/mac80211/patches/rt2x00/005-v6.1-rt2x00-add-RF-self-TXDC-calibration-for-MT7620.patch @@ -42,7 +42,7 @@ v2: use ++i instead of i = i + 1 in loops --- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c +++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -8428,6 +8428,53 @@ static void rt2800_init_rfcsr_5592(struc +@@ -8454,6 +8454,53 @@ static void rt2800_init_rfcsr_5592(struc rt2800_led_open_drain_enable(rt2x00dev); } @@ -96,7 +96,7 @@ v2: use ++i instead of i = i + 1 in loops static void rt2800_bbp_core_soft_reset(struct rt2x00_dev *rt2x00dev, bool set_bw, bool is_ht40) { -@@ -9035,6 +9082,7 @@ static void rt2800_init_rfcsr_6352(struc +@@ -9061,6 +9108,7 @@ static void rt2800_init_rfcsr_6352(struc rt2800_rfcsr_write_dccal(rt2x00dev, 5, 0x00); rt2800_rfcsr_write_dccal(rt2x00dev, 17, 0x7C); diff --git a/package/kernel/mac80211/patches/rt2x00/006-v6.1-rt2x00-add-r-calibration-for-MT7620.patch b/package/kernel/mac80211/patches/rt2x00/006-v6.1-rt2x00-add-r-calibration-for-MT7620.patch index 7c69970166b..e15de28ea09 100644 --- a/package/kernel/mac80211/patches/rt2x00/006-v6.1-rt2x00-add-r-calibration-for-MT7620.patch +++ b/package/kernel/mac80211/patches/rt2x00/006-v6.1-rt2x00-add-r-calibration-for-MT7620.patch @@ -54,7 +54,7 @@ v2: use rt2800_wait_bbp_rf_ready() * PWR_PIN_CFG: --- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c +++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -8475,6 +8475,138 @@ static void rt2800_rf_self_txdc_cal(stru +@@ -8501,6 +8501,138 @@ static void rt2800_rf_self_txdc_cal(stru rt2800_register_write(rt2x00dev, RF_BYPASS2, mac052c); } @@ -193,7 +193,7 @@ v2: use rt2800_wait_bbp_rf_ready() static void rt2800_bbp_core_soft_reset(struct rt2x00_dev *rt2x00dev, bool set_bw, bool is_ht40) { -@@ -9082,6 +9214,7 @@ static void rt2800_init_rfcsr_6352(struc +@@ -9108,6 +9240,7 @@ static void rt2800_init_rfcsr_6352(struc rt2800_rfcsr_write_dccal(rt2x00dev, 5, 0x00); rt2800_rfcsr_write_dccal(rt2x00dev, 17, 0x7C); diff --git a/package/kernel/mac80211/patches/rt2x00/007-v6.1-rt2x00-add-RXDCOC-calibration-for-MT7620.patch b/package/kernel/mac80211/patches/rt2x00/007-v6.1-rt2x00-add-RXDCOC-calibration-for-MT7620.patch index 8da41e875ab..a09d0abed01 100644 --- a/package/kernel/mac80211/patches/rt2x00/007-v6.1-rt2x00-add-RXDCOC-calibration-for-MT7620.patch +++ b/package/kernel/mac80211/patches/rt2x00/007-v6.1-rt2x00-add-RXDCOC-calibration-for-MT7620.patch @@ -41,7 +41,7 @@ Acked-by: Stanislaw Gruszka --- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c +++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -8607,6 +8607,65 @@ static void rt2800_r_calibration(struct +@@ -8633,6 +8633,65 @@ static void rt2800_r_calibration(struct rt2800_register_write(rt2x00dev, PWR_PIN_CFG, MAC_PWR_PIN_CFG); } @@ -107,7 +107,7 @@ Acked-by: Stanislaw Gruszka static void rt2800_bbp_core_soft_reset(struct rt2x00_dev *rt2x00dev, bool set_bw, bool is_ht40) { -@@ -9216,6 +9275,7 @@ static void rt2800_init_rfcsr_6352(struc +@@ -9242,6 +9301,7 @@ static void rt2800_init_rfcsr_6352(struc rt2800_r_calibration(rt2x00dev); rt2800_rf_self_txdc_cal(rt2x00dev); diff --git a/package/kernel/mac80211/patches/rt2x00/008-v6.1-rt2x00-add-RXIQ-calibration-for-MT7620.patch b/package/kernel/mac80211/patches/rt2x00/008-v6.1-rt2x00-add-RXIQ-calibration-for-MT7620.patch index dc516da43ad..c532ba512bb 100644 --- a/package/kernel/mac80211/patches/rt2x00/008-v6.1-rt2x00-add-RXIQ-calibration-for-MT7620.patch +++ b/package/kernel/mac80211/patches/rt2x00/008-v6.1-rt2x00-add-RXIQ-calibration-for-MT7620.patch @@ -43,7 +43,7 @@ v2: use rt2800_wait_bbp_rf_ready(), fix indentation --- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c +++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -8666,6 +8666,380 @@ static void rt2800_rxdcoc_calibration(st +@@ -8692,6 +8692,380 @@ static void rt2800_rxdcoc_calibration(st rt2800_rfcsr_write_bank(rt2x00dev, 0, 2, saverfb0r2); } @@ -424,7 +424,7 @@ v2: use rt2800_wait_bbp_rf_ready(), fix indentation static void rt2800_bbp_core_soft_reset(struct rt2x00_dev *rt2x00dev, bool set_bw, bool is_ht40) { -@@ -9278,6 +9652,7 @@ static void rt2800_init_rfcsr_6352(struc +@@ -9304,6 +9678,7 @@ static void rt2800_init_rfcsr_6352(struc rt2800_rxdcoc_calibration(rt2x00dev); rt2800_bw_filter_calibration(rt2x00dev, true); rt2800_bw_filter_calibration(rt2x00dev, false); diff --git a/package/kernel/mac80211/patches/rt2x00/009-v6.1-rt2x00-don-t-run-Rt5592-IQ-calibration-on-MT7620.patch b/package/kernel/mac80211/patches/rt2x00/009-v6.1-rt2x00-don-t-run-Rt5592-IQ-calibration-on-MT7620.patch deleted file mode 100644 index 6b27f6a7055..00000000000 --- a/package/kernel/mac80211/patches/rt2x00/009-v6.1-rt2x00-don-t-run-Rt5592-IQ-calibration-on-MT7620.patch +++ /dev/null @@ -1,52 +0,0 @@ -From patchwork Sat Sep 17 20:28:29 2022 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -X-Patchwork-Submitter: Daniel Golle -X-Patchwork-Id: 12979250 -X-Patchwork-Delegate: kvalo@adurom.com -Return-Path: -Date: Sat, 17 Sep 2022 21:28:29 +0100 -From: Daniel Golle -To: linux-wireless@vger.kernel.org, Stanislaw Gruszka , - Helmut Schaa -Cc: Kalle Valo , - "David S. Miller" , - Eric Dumazet , - Jakub Kicinski , - Paolo Abeni , - Johannes Berg -Subject: [PATCH v3 09/16] rt2x00: don't run Rt5592 IQ calibration on MT7620 -Message-ID: - <31a1c34ddbd296b82f38c18c9ae7339059215fdc.1663445157.git.daniel@makrotopia.org> -References: -MIME-Version: 1.0 -Content-Disposition: inline -In-Reply-To: -Precedence: bulk -List-ID: -X-Mailing-List: linux-wireless@vger.kernel.org - -The function rt2800_iq_calibrate is intended for Rt5592 only. -Don't call it for MT7620 which has it's own calibration functions. - -Reported-by: Serge Vasilugin -Signed-off-by: Daniel Golle ---- -v2: test for RT5592 instead of !RT6352 - - drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -4398,7 +4398,8 @@ static void rt2800_config_channel(struct - reg = (rf->channel <= 14 ? 0x1c : 0x24) + 2*rt2x00dev->lna_gain; - rt2800_bbp_write_with_rx_chain(rt2x00dev, 66, reg); - -- rt2800_iq_calibrate(rt2x00dev, rf->channel); -+ if (rt2x00_rt(rt2x00dev, RT5592)) -+ rt2800_iq_calibrate(rt2x00dev, rf->channel); - } - - if (rt2x00_rt(rt2x00dev, RT6352)) { diff --git a/package/kernel/mac80211/patches/rt2x00/010-v6.1-rt2x00-add-TX-LOFT-calibration-for-MT7620.patch b/package/kernel/mac80211/patches/rt2x00/010-v6.1-rt2x00-add-TX-LOFT-calibration-for-MT7620.patch index bb01ff1dcac..092d91afb62 100644 --- a/package/kernel/mac80211/patches/rt2x00/010-v6.1-rt2x00-add-TX-LOFT-calibration-for-MT7620.patch +++ b/package/kernel/mac80211/patches/rt2x00/010-v6.1-rt2x00-add-TX-LOFT-calibration-for-MT7620.patch @@ -45,7 +45,7 @@ Reported-by: kernel test robot --- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c +++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -9041,6 +9041,907 @@ restore_value: +@@ -9066,6 +9066,907 @@ restore_value: rt2800_register_write(rt2x00dev, MAC_SYS_CTRL, savemacsysctrl); } @@ -953,7 +953,7 @@ Reported-by: kernel test robot static void rt2800_bbp_core_soft_reset(struct rt2x00_dev *rt2x00dev, bool set_bw, bool is_ht40) { -@@ -9653,6 +10554,7 @@ static void rt2800_init_rfcsr_6352(struc +@@ -9678,6 +10579,7 @@ static void rt2800_init_rfcsr_6352(struc rt2800_rxdcoc_calibration(rt2x00dev); rt2800_bw_filter_calibration(rt2x00dev, true); rt2800_bw_filter_calibration(rt2x00dev, false); diff --git a/package/kernel/mac80211/patches/rt2x00/011-v6.1-rt2x00-move-helper-functions-up-in-file.patch b/package/kernel/mac80211/patches/rt2x00/011-v6.1-rt2x00-move-helper-functions-up-in-file.patch index 07a32b17be9..b07d449d6d9 100644 --- a/package/kernel/mac80211/patches/rt2x00/011-v6.1-rt2x00-move-helper-functions-up-in-file.patch +++ b/package/kernel/mac80211/patches/rt2x00/011-v6.1-rt2x00-move-helper-functions-up-in-file.patch @@ -65,7 +65,7 @@ Acked-by: Stanislaw Gruszka static u8 rt2800_rfcsr_read(struct rt2x00_dev *rt2x00dev, const unsigned int word) { -@@ -6947,26 +6967,6 @@ static void rt2800_init_bbp_5592(struct +@@ -6972,26 +6992,6 @@ static void rt2800_init_bbp_5592(struct rt2800_bbp_write(rt2x00dev, 103, 0xc0); } diff --git a/package/kernel/mac80211/patches/rt2x00/013-v6.1-rt2x00-set-correct-TX_SW_CFG1-MAC-register-for-MT7620.patch b/package/kernel/mac80211/patches/rt2x00/013-v6.1-rt2x00-set-correct-TX_SW_CFG1-MAC-register-for-MT7620.patch deleted file mode 100644 index 3d7af17b16a..00000000000 --- a/package/kernel/mac80211/patches/rt2x00/013-v6.1-rt2x00-set-correct-TX_SW_CFG1-MAC-register-for-MT7620.patch +++ /dev/null @@ -1,52 +0,0 @@ -From patchwork Sat Sep 17 20:29:26 2022 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -X-Patchwork-Submitter: Daniel Golle -X-Patchwork-Id: 12979254 -X-Patchwork-Delegate: kvalo@adurom.com -Return-Path: -Date: Sat, 17 Sep 2022 21:29:26 +0100 -From: Daniel Golle -To: linux-wireless@vger.kernel.org, Stanislaw Gruszka , - Helmut Schaa -Cc: Kalle Valo , - "David S. Miller" , - Eric Dumazet , - Jakub Kicinski , - Paolo Abeni , - Johannes Berg -Subject: [PATCH v3 13/16] rt2x00: set correct TX_SW_CFG1 MAC register for - MT7620 -Message-ID: - <4be38975ce600a34249e12d09a3cb758c6e71071.1663445157.git.daniel@makrotopia.org> -References: -MIME-Version: 1.0 -Content-Disposition: inline -In-Reply-To: -Precedence: bulk -List-ID: -X-Mailing-List: linux-wireless@vger.kernel.org - -Set correct TX_SW_CFG1 MAC register as it is done also in v3 of the -vendor driver[1]. - -[1]: https://gitlab.com/dm38/padavan-ng/-/blob/master/trunk/proprietary/rt_wifi/rtpci/3.0.X.X/mt76x2/chips/rt6352.c#L531 -Reported-by: Serge Vasilugin -Signed-off-by: Daniel Golle -Acked-by: Stanislaw Gruszka ---- - drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -5966,7 +5966,7 @@ static int rt2800_init_registers(struct - rt2800_register_write(rt2x00dev, TX_SW_CFG0, 0x00000404); - } else if (rt2x00_rt(rt2x00dev, RT6352)) { - rt2800_register_write(rt2x00dev, TX_SW_CFG0, 0x00000401); -- rt2800_register_write(rt2x00dev, TX_SW_CFG1, 0x000C0000); -+ rt2800_register_write(rt2x00dev, TX_SW_CFG1, 0x000C0001); - rt2800_register_write(rt2x00dev, TX_SW_CFG2, 0x00000000); - rt2800_register_write(rt2x00dev, TX_ALC_VGA3, 0x00000000); - rt2800_register_write(rt2x00dev, TX0_BB_GAIN_ATTEN, 0x0); diff --git a/package/kernel/mac80211/patches/rt2x00/014-v6.1-rt2x00-set-VGC-gain-for-both-chains-of-MT7620.patch b/package/kernel/mac80211/patches/rt2x00/014-v6.1-rt2x00-set-VGC-gain-for-both-chains-of-MT7620.patch deleted file mode 100644 index 27b8d92cd28..00000000000 --- a/package/kernel/mac80211/patches/rt2x00/014-v6.1-rt2x00-set-VGC-gain-for-both-chains-of-MT7620.patch +++ /dev/null @@ -1,50 +0,0 @@ -From patchwork Sat Sep 17 20:29:40 2022 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -X-Patchwork-Submitter: Daniel Golle -X-Patchwork-Id: 12979255 -X-Patchwork-Delegate: kvalo@adurom.com -Return-Path: -Date: Sat, 17 Sep 2022 21:29:40 +0100 -From: Daniel Golle -To: linux-wireless@vger.kernel.org, Stanislaw Gruszka , - Helmut Schaa -Cc: Kalle Valo , - "David S. Miller" , - Eric Dumazet , - Jakub Kicinski , - Paolo Abeni , - Johannes Berg -Subject: [PATCH v3 14/16] rt2x00: set VGC gain for both chains of MT7620 -Message-ID: - <29e161397e5c9d9399da0fe87d44458aa2b90a78.1663445157.git.daniel@makrotopia.org> -References: -MIME-Version: 1.0 -Content-Disposition: inline -In-Reply-To: -Precedence: bulk -List-ID: -X-Mailing-List: linux-wireless@vger.kernel.org - -Set bbp66 for all chains of the MT7620. - -Reported-by: Serge Vasilugin -Signed-off-by: Daniel Golle -Acked-by: Stanislaw Gruszka ---- - drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -5743,7 +5743,8 @@ static inline void rt2800_set_vgc(struct - if (qual->vgc_level != vgc_level) { - if (rt2x00_rt(rt2x00dev, RT3572) || - rt2x00_rt(rt2x00dev, RT3593) || -- rt2x00_rt(rt2x00dev, RT3883)) { -+ rt2x00_rt(rt2x00dev, RT3883) || -+ rt2x00_rt(rt2x00dev, RT6352)) { - rt2800_bbp_write_with_rx_chain(rt2x00dev, 66, - vgc_level); - } else if (rt2x00_rt(rt2x00dev, RT5592)) { diff --git a/package/kernel/mac80211/patches/rt2x00/015-v6.1-rt2x00-set-SoC-wmac-clock-register.patch b/package/kernel/mac80211/patches/rt2x00/015-v6.1-rt2x00-set-SoC-wmac-clock-register.patch deleted file mode 100644 index 3cadc91da62..00000000000 --- a/package/kernel/mac80211/patches/rt2x00/015-v6.1-rt2x00-set-SoC-wmac-clock-register.patch +++ /dev/null @@ -1,70 +0,0 @@ -From patchwork Sat Sep 17 20:29:55 2022 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -X-Patchwork-Submitter: Daniel Golle -X-Patchwork-Id: 12979256 -X-Patchwork-Delegate: kvalo@adurom.com -Return-Path: -Date: Sat, 17 Sep 2022 21:29:55 +0100 -From: Daniel Golle -To: linux-wireless@vger.kernel.org, Stanislaw Gruszka , - Helmut Schaa -Cc: Kalle Valo , - "David S. Miller" , - Eric Dumazet , - Jakub Kicinski , - Paolo Abeni , - Johannes Berg -Subject: [PATCH v3 15/16] rt2x00: set SoC wmac clock register -Message-ID: - <3e275d259f476f597dab91a9c395015ef3fe3284.1663445157.git.daniel@makrotopia.org> -References: -MIME-Version: 1.0 -Content-Disposition: inline -In-Reply-To: -Precedence: bulk -List-ID: -X-Mailing-List: linux-wireless@vger.kernel.org - -Instead of using the default value 33 (pci), set US_CYC_CNT init based -on Programming guide: -If available, set chipset bus clock with fallback to cpu clock/3. - -Reported-by: Serge Vasilugin -Signed-off-by: Daniel Golle -Acked-by: Stanislaw Gruszka ---- - .../net/wireless/ralink/rt2x00/rt2800lib.c | 21 +++++++++++++++++++ - 1 file changed, 21 insertions(+) - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -6229,6 +6229,27 @@ static int rt2800_init_registers(struct - reg = rt2800_register_read(rt2x00dev, US_CYC_CNT); - rt2x00_set_field32(®, US_CYC_CNT_CLOCK_CYCLE, 125); - rt2800_register_write(rt2x00dev, US_CYC_CNT, reg); -+ } else if (rt2x00_is_soc(rt2x00dev)) { -+ struct clk *clk = clk_get_sys("bus", NULL); -+ int rate; -+ -+ if (IS_ERR(clk)) { -+ clk = clk_get_sys("cpu", NULL); -+ -+ if (IS_ERR(clk)) { -+ rate = 125; -+ } else { -+ rate = clk_get_rate(clk) / 3000000; -+ clk_put(clk); -+ } -+ } else { -+ rate = clk_get_rate(clk) / 1000000; -+ clk_put(clk); -+ } -+ -+ reg = rt2800_register_read(rt2x00dev, US_CYC_CNT); -+ rt2x00_set_field32(®, US_CYC_CNT_CLOCK_CYCLE, rate); -+ rt2800_register_write(rt2x00dev, US_CYC_CNT, reg); - } - - reg = rt2800_register_read(rt2x00dev, HT_FBK_CFG0); diff --git a/package/kernel/mac80211/patches/rt2x00/016-v6.1-rt2x00-correctly-set-BBP-register-86-for-MT7620.patch b/package/kernel/mac80211/patches/rt2x00/016-v6.1-rt2x00-correctly-set-BBP-register-86-for-MT7620.patch deleted file mode 100644 index 5ddbbf1dd65..00000000000 --- a/package/kernel/mac80211/patches/rt2x00/016-v6.1-rt2x00-correctly-set-BBP-register-86-for-MT7620.patch +++ /dev/null @@ -1,79 +0,0 @@ -From patchwork Sat Sep 17 20:30:09 2022 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -X-Patchwork-Submitter: Daniel Golle -X-Patchwork-Id: 12979257 -X-Patchwork-Delegate: kvalo@adurom.com -Return-Path: -X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on - aws-us-west-2-korg-lkml-1.web.codeaurora.org -Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) - by smtp.lore.kernel.org (Postfix) with ESMTP id E9118ECAAA1 - for ; - Sat, 17 Sep 2022 20:30:22 +0000 (UTC) -Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand - id S229639AbiIQUaV (ORCPT - ); - Sat, 17 Sep 2022 16:30:21 -0400 -Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53912 "EHLO - lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org - with ESMTP id S229628AbiIQUaT (ORCPT - ); - Sat, 17 Sep 2022 16:30:19 -0400 -Received: from fudo.makrotopia.org (fudo.makrotopia.org - [IPv6:2a07:2ec0:3002::71]) - by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1AEA822B27 - for ; - Sat, 17 Sep 2022 13:30:16 -0700 (PDT) -Received: from local - by fudo.makrotopia.org with esmtpsa - (TLS1.3:TLS_AES_256_GCM_SHA384:256) - (Exim 4.96) - (envelope-from ) - id 1oZeS7-0003ra-0k; - Sat, 17 Sep 2022 22:30:15 +0200 -Date: Sat, 17 Sep 2022 21:30:09 +0100 -From: Daniel Golle -To: linux-wireless@vger.kernel.org, Stanislaw Gruszka , - Helmut Schaa -Cc: Kalle Valo , - "David S. Miller" , - Eric Dumazet , - Jakub Kicinski , - Paolo Abeni , - Johannes Berg -Subject: [PATCH v3 16/16] rt2x00: correctly set BBP register 86 for MT7620 -Message-ID: - <257267247ee4fa7ebc6a5d0c4948b3f8119c0d77.1663445157.git.daniel@makrotopia.org> -References: -MIME-Version: 1.0 -Content-Disposition: inline -In-Reply-To: -Precedence: bulk -List-ID: -X-Mailing-List: linux-wireless@vger.kernel.org - -Instead of 0 set the correct value for BBP register 86 for MT7620. - -Reported-by: Serge Vasilugin -Signed-off-by: Daniel Golle -Acked-by: Stanislaw Gruszka ---- - drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - ---- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c -@@ -4225,7 +4225,10 @@ static void rt2800_config_channel(struct - rt2800_bbp_write(rt2x00dev, 62, 0x37 - rt2x00dev->lna_gain); - rt2800_bbp_write(rt2x00dev, 63, 0x37 - rt2x00dev->lna_gain); - rt2800_bbp_write(rt2x00dev, 64, 0x37 - rt2x00dev->lna_gain); -- rt2800_bbp_write(rt2x00dev, 86, 0); -+ if (rt2x00_rt(rt2x00dev, RT6352)) -+ rt2800_bbp_write(rt2x00dev, 86, 0x38); -+ else -+ rt2800_bbp_write(rt2x00dev, 86, 0); - } - - if (rf->channel <= 14) { diff --git a/package/kernel/mac80211/patches/subsys/150-disable_addr_notifier.patch b/package/kernel/mac80211/patches/subsys/150-disable_addr_notifier.patch index 7631282a0b1..7ad5427ceb6 100644 --- a/package/kernel/mac80211/patches/subsys/150-disable_addr_notifier.patch +++ b/package/kernel/mac80211/patches/subsys/150-disable_addr_notifier.patch @@ -60,7 +60,7 @@ Subject: [PATCH] mac80211: disable ipv4/ipv6 address notifiers fail_ifa: #endif wiphy_unregister(local->hw.wiphy); -@@ -1371,10 +1371,10 @@ void ieee80211_unregister_hw(struct ieee +@@ -1373,10 +1373,10 @@ void ieee80211_unregister_hw(struct ieee tasklet_kill(&local->tx_pending_tasklet); tasklet_kill(&local->tasklet); diff --git a/package/kernel/mac80211/patches/subsys/307-mac80211_hwsim-make-6-GHz-channels-usable.patch b/package/kernel/mac80211/patches/subsys/307-mac80211_hwsim-make-6-GHz-channels-usable.patch index 80c86e3d92e..9c3b38adbfa 100644 --- a/package/kernel/mac80211/patches/subsys/307-mac80211_hwsim-make-6-GHz-channels-usable.patch +++ b/package/kernel/mac80211/patches/subsys/307-mac80211_hwsim-make-6-GHz-channels-usable.patch @@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau --- a/drivers/net/wireless/mac80211_hwsim.c +++ b/drivers/net/wireless/mac80211_hwsim.c -@@ -3003,15 +3003,19 @@ static void mac80211_hwsim_he_capab(stru +@@ -3008,15 +3008,19 @@ static void mac80211_hwsim_he_capab(stru { u16 n_iftype_data; @@ -34,7 +34,7 @@ Signed-off-by: Felix Fietkau return; } -@@ -3301,6 +3305,12 @@ static int mac80211_hwsim_new_radio(stru +@@ -3306,6 +3310,12 @@ static int mac80211_hwsim_new_radio(stru sband->vht_cap.vht_mcs.tx_mcs_map = sband->vht_cap.vht_mcs.rx_mcs_map; break; @@ -47,7 +47,7 @@ Signed-off-by: Felix Fietkau case NL80211_BAND_S1GHZ: memcpy(&sband->s1g_cap, &hwsim_s1g_cap, sizeof(sband->s1g_cap)); -@@ -3311,6 +3321,13 @@ static int mac80211_hwsim_new_radio(stru +@@ -3316,6 +3326,13 @@ static int mac80211_hwsim_new_radio(stru continue; } @@ -61,7 +61,7 @@ Signed-off-by: Felix Fietkau sband->ht_cap.ht_supported = true; sband->ht_cap.cap = IEEE80211_HT_CAP_SUP_WIDTH_20_40 | IEEE80211_HT_CAP_GRN_FLD | -@@ -3324,10 +3341,6 @@ static int mac80211_hwsim_new_radio(stru +@@ -3329,10 +3346,6 @@ static int mac80211_hwsim_new_radio(stru sband->ht_cap.mcs.rx_mask[0] = 0xff; sband->ht_cap.mcs.rx_mask[1] = 0xff; sband->ht_cap.mcs.tx_params = IEEE80211_HT_MCS_TX_DEFINED; diff --git a/package/kernel/mac80211/patches/subsys/319-v5.17-mac80211-introduce-set_radar_offchan-callback.patch b/package/kernel/mac80211/patches/subsys/319-v5.17-mac80211-introduce-set_radar_offchan-callback.patch index eb80afbccbc..6197abda56a 100644 --- a/package/kernel/mac80211/patches/subsys/319-v5.17-mac80211-introduce-set_radar_offchan-callback.patch +++ b/package/kernel/mac80211/patches/subsys/319-v5.17-mac80211-introduce-set_radar_offchan-callback.patch @@ -40,7 +40,7 @@ Signed-off-by: Johannes Berg struct ieee80211_vif *vif, --- a/net/mac80211/cfg.c +++ b/net/mac80211/cfg.c -@@ -4344,6 +4344,18 @@ out: +@@ -4341,6 +4341,18 @@ out: return err; } @@ -59,7 +59,7 @@ Signed-off-by: Johannes Berg const struct cfg80211_ops mac80211_config_ops = { .add_virtual_intf = ieee80211_add_iface, .del_virtual_intf = ieee80211_del_iface, -@@ -4448,4 +4460,5 @@ const struct cfg80211_ops mac80211_confi +@@ -4445,4 +4457,5 @@ const struct cfg80211_ops mac80211_confi .reset_tid_config = ieee80211_reset_tid_config, .set_sar_specs = ieee80211_set_sar_specs, .color_change = ieee80211_color_change, diff --git a/package/kernel/mac80211/patches/subsys/320-v5.17-cfg80211-rename-offchannel_chain-structs-to-backgrou.patch b/package/kernel/mac80211/patches/subsys/320-v5.17-cfg80211-rename-offchannel_chain-structs-to-backgrou.patch index 483b87cd88c..608e72468d3 100644 --- a/package/kernel/mac80211/patches/subsys/320-v5.17-cfg80211-rename-offchannel_chain-structs-to-backgrou.patch +++ b/package/kernel/mac80211/patches/subsys/320-v5.17-cfg80211-rename-offchannel_chain-structs-to-backgrou.patch @@ -156,7 +156,7 @@ Signed-off-by: Johannes Berg NUM_NL80211_EXT_FEATURES, --- a/net/mac80211/cfg.c +++ b/net/mac80211/cfg.c -@@ -4345,15 +4345,15 @@ out: +@@ -4342,15 +4342,15 @@ out: } static int @@ -176,7 +176,7 @@ Signed-off-by: Johannes Berg } const struct cfg80211_ops mac80211_config_ops = { -@@ -4460,5 +4460,5 @@ const struct cfg80211_ops mac80211_confi +@@ -4457,5 +4457,5 @@ const struct cfg80211_ops mac80211_confi .reset_tid_config = ieee80211_reset_tid_config, .set_sar_specs = ieee80211_set_sar_specs, .color_change = ieee80211_color_change, diff --git a/package/kernel/mac80211/patches/subsys/324-v5.18-mac80211-MBSSID-beacon-handling-in-AP-mode.patch b/package/kernel/mac80211/patches/subsys/324-v5.18-mac80211-MBSSID-beacon-handling-in-AP-mode.patch index e2b05719db6..a8fc02f92d8 100644 --- a/package/kernel/mac80211/patches/subsys/324-v5.18-mac80211-MBSSID-beacon-handling-in-AP-mode.patch +++ b/package/kernel/mac80211/patches/subsys/324-v5.18-mac80211-MBSSID-beacon-handling-in-AP-mode.patch @@ -195,7 +195,7 @@ Signed-off-by: Johannes Berg return err; } *changed |= err; -@@ -3463,8 +3528,11 @@ static int ieee80211_set_csa_beacon(stru +@@ -3460,8 +3525,11 @@ static int ieee80211_set_csa_beacon(stru static void ieee80211_color_change_abort(struct ieee80211_sub_if_data *sdata) { sdata->vif.color_change_active = false; @@ -209,7 +209,7 @@ Signed-off-by: Johannes Berg cfg80211_color_change_aborted_notify(sdata->dev); } -@@ -4202,8 +4270,11 @@ ieee80211_set_after_color_change_beacon( +@@ -4199,8 +4267,11 @@ ieee80211_set_after_color_change_beacon( ret = ieee80211_assign_beacon(sdata, sdata->u.ap.next_beacon, NULL, NULL); @@ -223,7 +223,7 @@ Signed-off-by: Johannes Berg if (ret < 0) return ret; -@@ -4246,7 +4317,11 @@ ieee80211_set_color_change_beacon(struct +@@ -4243,7 +4314,11 @@ ieee80211_set_color_change_beacon(struct err = ieee80211_assign_beacon(sdata, ¶ms->beacon_color_change, NULL, &color_change); if (err < 0) { diff --git a/package/kernel/mac80211/patches/subsys/500-mac80211_configure_antenna_gain.patch b/package/kernel/mac80211/patches/subsys/500-mac80211_configure_antenna_gain.patch index 0e83e9bd8e6..962ae93cc79 100644 --- a/package/kernel/mac80211/patches/subsys/500-mac80211_configure_antenna_gain.patch +++ b/package/kernel/mac80211/patches/subsys/500-mac80211_configure_antenna_gain.patch @@ -77,7 +77,7 @@ static void ieee80211_rfkill_poll(struct wiphy *wiphy) { struct ieee80211_local *local = wiphy_priv(wiphy); -@@ -4516,6 +4529,7 @@ const struct cfg80211_ops mac80211_confi +@@ -4513,6 +4526,7 @@ const struct cfg80211_ops mac80211_confi .set_wiphy_params = ieee80211_set_wiphy_params, .set_tx_power = ieee80211_set_tx_power, .get_tx_power = ieee80211_get_tx_power, From d010e36a0dfc94e044b7f3b6b21a845067aaf020 Mon Sep 17 00:00:00 2001 From: Nick Hainke Date: Fri, 2 Dec 2022 22:20:07 +0100 Subject: [PATCH 6/8] tools/xz: update to 5.2.9 Update to latest release. Signed-off-by: Nick Hainke --- tools/xz/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/xz/Makefile b/tools/xz/Makefile index 37a9d79efcb..7d3392fefe5 100644 --- a/tools/xz/Makefile +++ b/tools/xz/Makefile @@ -7,12 +7,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=xz -PKG_VERSION:=5.2.8 +PKG_VERSION:=5.2.9 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=@SF/lzmautils \ http://tukaani.org/xz -PKG_HASH:=1f8a43d9fcf325d049a31fe4514dc8c44a6d00ce8860d48c4212d1e349d2a3ed +PKG_HASH:=b194507fba3a462a753c553149ccdaa168337bcb7deefddd067ba987c83dfce6 PKG_CPE_ID:=cpe:/a:tukaani:xz HOST_BUILD_PARALLEL:=1 From 7e83cdf3f7024e563088d69c6e95f772634fb098 Mon Sep 17 00:00:00 2001 From: Tony Butler Date: Mon, 28 Nov 2022 04:05:30 -0800 Subject: [PATCH 7/8] build: config: cleanup impossible dependency logic some config `depends on` lines contained outdated kernel version checks that can no longer happen and had become non-operational; clean them up cosmetic change with no functional effect Signed-off-by: Tony Butler --- config/Config-images.in | 1 - config/Config-kernel.in | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/config/Config-images.in b/config/Config-images.in index dcd7575c3e4..aa238762590 100644 --- a/config/Config-images.in +++ b/config/Config-images.in @@ -47,7 +47,6 @@ menu "Target Images" bool "xz" config TARGET_INITRAMFS_COMPRESSION_ZSTD - depends on !LINUX_5_4 && !LINUX_4_19 bool "zstd" endchoice diff --git a/config/Config-kernel.in b/config/Config-kernel.in index 34c606a8483..eed3fba1aa0 100644 --- a/config/Config-kernel.in +++ b/config/Config-kernel.in @@ -779,7 +779,7 @@ if KERNEL_CGROUPS bool "Memory Resource Controller for Control Groups" default y select KERNEL_FREEZER - depends on KERNEL_RESOURCE_COUNTERS || !LINUX_3_18 + depends on KERNEL_RESOURCE_COUNTERS help Provides a memory resource controller that manages both anonymous memory and page cache. (See Documentation/cgroups/memory.txt) From 8719f73fa2beddb259013801ca912b96fbc83543 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Mork?= Date: Mon, 28 Nov 2022 15:45:12 +0100 Subject: [PATCH 8/8] ramips: mt7621: enable lzma-loader for ZyXEL WAP6805 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixing "Uncompressing Kernel Image ... LZMA ERROR 1 - must RESET board to recover". Signed-off-by: Bjørn Mork --- target/linux/ramips/image/mt7621.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index 943fc62ecd6..82b4731bb50 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -2575,6 +2575,7 @@ TARGET_DEVICES += zyxel_nwa55axe define Device/zyxel_wap6805 $(Device/dsa-migration) + $(Device/uimage-lzma-loader) BLOCKSIZE := 128k PAGESIZE := 2048 KERNEL_SIZE := 4096k @@ -2583,7 +2584,7 @@ define Device/zyxel_wap6805 DEVICE_VENDOR := ZyXEL DEVICE_MODEL := WAP6805 DEVICE_PACKAGES := kmod-mt7603 kmod-mt7621-qtn-rgmii - KERNEL := $(KERNEL_DTB) | uImage lzma | uimage-padhdr 160 + KERNEL := $$(KERNEL/lzma-loader) | uImage none | uimage-padhdr 160 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata endef TARGET_DEVICES += zyxel_wap6805