[Public]
With the scripts/package/builddeb changes dropped, the patch is:
Acked-by: Alex Deucher <alexander.deucher@xxxxxxx>
From: amd-gfx <amd-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx> on behalf of Victor Lu <victorchengchi.lu@xxxxxxx>
Sent: Wednesday, July 19, 2023 10:52 AM To: amd-gfx@xxxxxxxxxxxxxxxxxxxxx <amd-gfx@xxxxxxxxxxxxxxxxxxxxx> Cc: Skvortsov, Victor <Victor.Skvortsov@xxxxxxx>; Zhou, Bob <Bob.Zhou@xxxxxxx>; Lazar, Lijo <Lijo.Lazar@xxxxxxx>; Lu, Victor Cheng Chi (Victor) <VictorChengChi.Lu@xxxxxxx> Subject: [PATCH v2] drm/amdgpu: Fix infinite loop in gfxhub_v1_2_xcc_gart_enable (v2) An instance of for_each_inst() was not changed to match its new
behaviour and is causing a loop. v2: remove tmp_mask variable Fixes: 50c1d81d6365 ("drm/amdgpu: Modify for_each_inst macro") Signed-off-by: Victor Lu <victorchengchi.lu@xxxxxxx> --- drivers/gpu/drm/amd/amdgpu/gfxhub_v1_2.c | 5 +- scripts/package/builddeb | 60 ++++++++++++------------ 2 files changed, 31 insertions(+), 34 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/gfxhub_v1_2.c b/drivers/gpu/drm/amd/amdgpu/gfxhub_v1_2.c index 47f95ec218a3..dbdee1a0aefe 100644 --- a/drivers/gpu/drm/amd/amdgpu/gfxhub_v1_2.c +++ b/drivers/gpu/drm/amd/amdgpu/gfxhub_v1_2.c @@ -402,18 +402,15 @@ static void gfxhub_v1_2_xcc_program_invalidation(struct amdgpu_device *adev, static int gfxhub_v1_2_xcc_gart_enable(struct amdgpu_device *adev, uint32_t xcc_mask) { - uint32_t tmp_mask; int i; - tmp_mask = xcc_mask; /* * MC_VM_FB_LOCATION_BASE/TOP is NULL for VF, because they are * VF copy registers so vbios post doesn't program them, for * SRIOV driver need to program them */ if (amdgpu_sriov_vf(adev)) { - for_each_inst(i, tmp_mask) { - i = ffs(tmp_mask) - 1; + for_each_inst(i, xcc_mask) { WREG32_SOC15_RLC(GC, GET_INST(GC, i), regMC_VM_FB_LOCATION_BASE, adev->gmc.vram_start >> 24); WREG32_SOC15_RLC(GC, GET_INST(GC, i), regMC_VM_FB_LOCATION_TOP, diff --git a/scripts/package/builddeb b/scripts/package/builddeb index 67cd420dcf89..c5508054bfc8 100755 --- a/scripts/package/builddeb +++ b/scripts/package/builddeb @@ -164,23 +164,23 @@ if is_enabled CONFIG_MODULES; then mv "$tmpdir/lib/modules/$version"/* "$tmpdir/usr/lib/uml/modules/$version/" rmdir "$tmpdir/lib/modules/$version" fi - if [ -n "$BUILD_DEBUG" ] ; then - for module in $(find $tmpdir/lib/modules/ -name *.ko -printf '%P\n'); do - module=lib/modules/$module - mkdir -p $(dirname $dbg_dir/usr/lib/debug/$module) - # only keep debug symbols in the debug file - $OBJCOPY --only-keep-debug $tmpdir/$module $dbg_dir/usr/lib/debug/$module - # strip original module from debug symbols - $OBJCOPY --strip-debug $tmpdir/$module - # then add a link to those - $OBJCOPY --add-gnu-debuglink=$dbg_dir/usr/lib/debug/$module $tmpdir/$module - done - - # resign stripped modules - if is_enabled CONFIG_MODULE_SIG_ALL; then - INSTALL_MOD_PATH="$tmpdir" $MAKE -f $srctree/Makefile modules_sign - fi - fi + #if [ -n "$BUILD_DEBUG" ] ; then + # for module in $(find $tmpdir/lib/modules/ -name *.ko -printf '%P\n'); do + # module=lib/modules/$module + # mkdir -p $(dirname $dbg_dir/usr/lib/debug/$module) + # # only keep debug symbols in the debug file + # $OBJCOPY --only-keep-debug $tmpdir/$module $dbg_dir/usr/lib/debug/$module + # # strip original module from debug symbols + # $OBJCOPY --strip-debug $tmpdir/$module + # # then add a link to those + # $OBJCOPY --add-gnu-debuglink=$dbg_dir/usr/lib/debug/$module $tmpdir/$module + # done + + # # resign stripped modules + # if is_enabled CONFIG_MODULE_SIG_ALL; then + # INSTALL_MOD_PATH="$tmpdir" $MAKE -f $srctree/Makefile modules_sign + # fi + #fi fi # Install the maintainer scripts @@ -220,18 +220,18 @@ fi create_package "$packagename" "$tmpdir" -if [ -n "$BUILD_DEBUG" ] ; then - # Build debug package - # Different tools want the image in different locations - # perf - mkdir -p $dbg_dir/usr/lib/debug/lib/modules/$version/ - cp vmlinux $dbg_dir/usr/lib/debug/lib/modules/$version/ - # systemtap - mkdir -p $dbg_dir/usr/lib/debug/boot/ - ln -s ../lib/modules/$version/vmlinux $dbg_dir/usr/lib/debug/boot/vmlinux-$version - # kdump-tools - ln -s lib/modules/$version/vmlinux $dbg_dir/usr/lib/debug/vmlinux-$version - create_package "$dbg_packagename" "$dbg_dir" -fi +#if [ -n "$BUILD_DEBUG" ] ; then +# # Build debug package +# # Different tools want the image in different locations +# # perf +# mkdir -p $dbg_dir/usr/lib/debug/lib/modules/$version/ +# cp vmlinux $dbg_dir/usr/lib/debug/lib/modules/$version/ +# # systemtap +# mkdir -p $dbg_dir/usr/lib/debug/boot/ +# ln -s ../lib/modules/$version/vmlinux $dbg_dir/usr/lib/debug/boot/vmlinux-$version +# # kdump-tools +# ln -s lib/modules/$version/vmlinux $dbg_dir/usr/lib/debug/vmlinux-$version +# create_package "$dbg_packagename" "$dbg_dir" +#fi exit 0 -- 2.34.1 |