Revert "venus: firmware: Correct non-pix start and end addresses"
authorJavier Martinez Canillas <javierm@redhat.com>
Tue, 7 Feb 2023 10:22:54 +0000 (11:22 +0100)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sun, 2 Apr 2023 17:47:03 +0000 (10:47 -0700)
This reverts commit a837e5161cff, which broke probing of the venus
driver, at least on the SC7180 SoC HP X2 Chromebook:

  qcom-venus aa00000.video-codec: Adding to iommu group 11
  qcom-venus aa00000.video-codec: non legacy binding
  qcom-venus aa00000.video-codec: failed to reset venus core
  qcom-venus: probe of aa00000.video-codec failed with error -110

Matthias Kaehlcke also reported that the same change caused a regression
in SC7180 and sc7280, that prevents AOSS from entering sleep mode during
system suspend.  So let's revert this commit for now to fix both issues.

Fixes: a837e5161cff ("venus: firmware: Correct non-pix start and end addresses")
Reported-by: Matthias Kaehlcke <mka@chromium.org>
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/media/platform/qcom/venus/firmware.c

index 61ff20a..cfb11c5 100644 (file)
@@ -38,8 +38,8 @@ static void venus_reset_cpu(struct venus_core *core)
        writel(fw_size, wrapper_base + WRAPPER_FW_END_ADDR);
        writel(0, wrapper_base + WRAPPER_CPA_START_ADDR);
        writel(fw_size, wrapper_base + WRAPPER_CPA_END_ADDR);
-       writel(0, wrapper_base + WRAPPER_NONPIX_START_ADDR);
-       writel(0, wrapper_base + WRAPPER_NONPIX_END_ADDR);
+       writel(fw_size, wrapper_base + WRAPPER_NONPIX_START_ADDR);
+       writel(fw_size, wrapper_base + WRAPPER_NONPIX_END_ADDR);
 
        if (IS_V6(core)) {
                /* Bring XTSS out of reset */