Black screen after resuming from suspend (AMD Ryzen 4500U laptop from MSI)

I have a new MSI Modern 14 B4MW laptop with an AMD Ryzen 4500U APU.

When it boots, the touchpad doesn’t work (but a USB mouse can move the cursor if plugged in).
If I suspend the laptop and wake it up again, the touchpad works perfectly.
If I suspend it again, it freezes on resume and the screen is completely black; nothing works; it’s impossible to reach a TTY, and the only way to get out of the situation is a hard reboot.

While it’s booting it flashes an “error: invalid environment block” which I assume is from GRUB, and then another message saying amdgpu has failed to load something (can’t get a photo of it, it disappears too quickly).

To start with, is there something wrong with my /etc/default/grub file?

GRUB_DEFAULT=saved
GRUB_TIMEOUT=10
GRUB_TIMEOUT_STYLE=hidden
GRUB_DISTRIBUTOR="Manjaro"
GRUB_CMDLINE_LINUX_DEFAULT="quiet apparmor=1 security=apparmor amd_iommu=off
udev.log_priority=3"
GRUB_CMDLINE_LINUX=""

# If you want to enable the save default function, uncomment the following
# line, and set GRUB_DEFAULT to saved.
GRUB_SAVEDEFAULT=true

# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"

# Uncomment to enable booting from LUKS encrypted devices
#GRUB_ENABLE_CRYPTODISK=y

# Uncomment to use basic console
GRUB_TERMINAL_INPUT=console

# Uncomment to disable graphical terminal
#GRUB_TERMINAL_OUTPUT=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command 'videoinfo'
GRUB_GFXMODE=auto

# Uncomment to allow the kernel use the same resolution used by grub
GRUB_GFXPAYLOAD_LINUX=keep

# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
GRUB_DISABLE_RECOVERY=true

# Uncomment and set to the desired menu colors.  Used by normal and wallpaper
# modes only.  Entries specified as foreground/background.
GRUB_COLOR_NORMAL="light-gray/black"
GRUB_COLOR_HIGHLIGHT="green/black"

# Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/usr/share/grub/background.png"
GRUB_THEME="/usr/share/grub/themes/manjaro/theme.txt"

# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"

Is this a fresh installation or have you been running Manjaro for a while? If it’s a fresh install, it may be an acpi error. For some reason a lot of newer AMD laptops have that. I would make sure the bios is up to date and try booting with either pci=noacpi or acpi=off. If the touch pad works then you will probably have to wait for a newer kernel update or a bios update. Also, is this a dual GPU laptop? If so, you could try booting with pcie_port_pm=force.