Just tested the thing again.

It is not fully fixed, and by that I mean, I still see an occastional
corruption here or there, but it is much better than it was. 95% of the
time I can't see a single corrupted pixel. I guess given that and the
fact that the patch was not accepted (the code was rewritten a lot
instead), it is reasonable to keep this bug closed.

On Sun, Aug 25, 2024 at 01:00:08PM +0000, Debian Bug Tracking System wrote:
> This is an automatic notification regarding your Bug report
> which was filed against the src:linux package:
> 
> #993670: linux-image-5.10.0-8-686: Screen corruption using radeon kernel 
> driver
> 
> It has been closed by car...@debian.org.
> 
> Their explanation is attached below along with your original report.
> If this explanation is unsatisfactory and you have not received a
> better one in a separate message then please contact car...@debian.org by
> replying to this email.
> 
> 
> -- 
> 993670: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=993670
> Debian Bug Tracking System
> Contact ow...@bugs.debian.org with problems

> Date: Sun, 25 Aug 2024 14:58:35 +0200 (CEST)
> From: car...@debian.org
> To: 993670-d...@bugs.debian.org
> Cc: 993670-submit...@bugs.debian.org
> Subject: Closing this bug (BTS maintenance for src:linux bugs)
> 
> Hi
> 
> This bug was filed for a very old kernel or the bug is old itself
> without resolution.
> 
> If you can reproduce it with
> 
> - the current version in unstable/testing
> - the latest kernel from backports
> 
> please reopen the bug, see https://www.debian.org/Bugs/server-control
> for details.
> 
> Regards,
> Salvatore

> Date: Sat, 04 Sep 2021 18:30:34 +0300
> From: Krylov Michael <sqar...@gmail.com>
> To: Debian Bug Tracking System <sub...@bugs.debian.org>
> Subject: linux-image-5.10.0-8-686: Screen corruption using radeon kernel
>  driver
> X-Mailer: reportbug 7.10.3
> 
> Package: linux-image-5.10.0-8-686
> Version: 5.10.46-4
> Severity: important
> Tags: patch
> 
> Dear maintainer,
> 
> After updating from buster to bullseye I've noticed that the image
> displayed on my older computer, 32-bit Pentium 4 using ATI Radeon X1950
> AGP video card is severely corrupted in the graphical (Xorg and Wayland)
> mode: all kinds of black and white stripes across the screen, some
> letters missing, etc.
> 
> I've checked several options (Xorg drivers, Wayland instead of Xorg and
> so on), but the problem persisted. I've managed to find that the problem
> was in the kernel, as everything worked well with buster's kernel with
> everything else being from bullseye.
> 
> I have managed to find the culprit of that corruption, that is the
> commit 33b3ad3788aba846fc8b9a065fe2685a0b64f713 on the linux kernel.
> Reverting this commit and building the kernel with that commit reverted
> fixes the problem, and I'm writing this bug report with the kernel I've
> built with that commit reverted.
> 
> Apparently this problem is somewhat known, as I can tell after googling
> for the commit id, see https://lkml.org/lkml/2020/1/9/518 this link for
> example.
> 
> Mageia distro, for example, reverted this commit in the kernel they are
> building: 
> http://sophie.zarb.org/distrib/Mageia/7/aarch64/by-pkgid/b9193a4f85192bc57f4d770fb9bb399c/files/32
> and I would like to suggest adding the reverting patch (attached) to the
> debian kernel as well (at least for 32-bit x86 architecture as 64-bit is
> unaffected).
> 
> This took me several days to debug, so I hope it will be included in one
> of the point releases :)
> 
> Thanks in advance!
> 
> 
> -- System Information:
> Debian Release: 11.0
>   APT prefers stable
>   APT policy: (500, 'stable')
> Architecture: i386 (i686)
> 
> Kernel: Linux 5.10.0-8-686 (SMP w/1 CPU thread)
> Kernel taint flags: TAINT_UNSIGNED_MODULE
> Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE not 
> set
> Shell: /bin/sh linked to /bin/dash
> Init: sysvinit (via /sbin/init)
> 
> Versions of packages linux-image-5.10.0-8-686 depends on:
> ii  initramfs-tools [linux-initramfs-tool]  0.140
> ii  kmod                                    28-1
> ii  linux-base                              4.6
> 
> Versions of packages linux-image-5.10.0-8-686 recommends:
> pn  apparmor             <none>
> pn  firmware-linux-free  <none>
> 
> Versions of packages linux-image-5.10.0-8-686 suggests:
> pn  debian-kernel-handbook  <none>
> ii  extlinux                3:6.04~git20190206.bf6db5b4+dfsg1-3+b1
> pn  linux-doc-5.10          <none>

> From bff1b53f4ff2afcaeaadacc6e693e3939e025dd4 Mon Sep 17 00:00:00 2001
> From: Mikhail Krylov <sqar...@gmail.com>
> Date: Sat, 4 Sep 2021 15:34:02 +0300
> Subject: [PATCH] Revert "drm/radeon: handle PCIe root ports with addressing
>  limitations"
> 
> This reverts commit 33b3ad3788aba846fc8b9a065fe2685a0b64f713.
> ---
>  drivers/gpu/drm/radeon/radeon.h        |  1 +
>  drivers/gpu/drm/radeon/radeon_device.c | 13 ++++++++-----
>  drivers/gpu/drm/radeon/radeon_ttm.c    |  2 +-
>  3 files changed, 10 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h
> index a6d8de01194..15d6de5dfbd 100644
> --- a/drivers/gpu/drm/radeon/radeon.h
> +++ b/drivers/gpu/drm/radeon/radeon.h
> @@ -2391,6 +2391,7 @@ struct radeon_device {
>       struct radeon_wb                wb;
>       struct radeon_dummy_page        dummy_page;
>       bool                            shutdown;
> +     bool                            need_dma32;
>       bool                            need_swiotlb;
>       bool                            accel_working;
>       bool                            fastfb_working; /* IGP feature*/
> diff --git a/drivers/gpu/drm/radeon/radeon_device.c 
> b/drivers/gpu/drm/radeon/radeon_device.c
> index 266e3cbbd09..f74c74ad8b5 100644
> --- a/drivers/gpu/drm/radeon/radeon_device.c
> +++ b/drivers/gpu/drm/radeon/radeon_device.c
> @@ -1363,25 +1363,28 @@ int radeon_device_init(struct radeon_device *rdev,
>       else
>               rdev->mc.mc_mask = 0xffffffffULL; /* 32 bit MC */
>  
> -     /* set DMA mask.
> +     /* set DMA mask + need_dma32 flags.
>        * PCIE - can handle 40-bits.
>        * IGP - can handle 40-bits
>        * AGP - generally dma32 is safest
>        * PCI - dma32 for legacy pci gart, 40 bits on newer asics
>        */
> -     dma_bits = 40;
> +     rdev->need_dma32 = false;
>       if (rdev->flags & RADEON_IS_AGP)
> -             dma_bits = 32;
> +             rdev->need_dma32 = true;
>       if ((rdev->flags & RADEON_IS_PCI) &&
>           (rdev->family <= CHIP_RS740))
> -             dma_bits = 32;
> +             rdev->need_dma32 = true;
>  #ifdef CONFIG_PPC64
>       if (rdev->family == CHIP_CEDAR)
> -             dma_bits = 32;
> +             rdev->need_dma32 = true;
>  #endif
>  
> +     dma_bits = rdev->need_dma32 ? 32 : 40;
>       r = dma_set_mask_and_coherent(&rdev->pdev->dev, DMA_BIT_MASK(dma_bits));
>       if (r) {
> +             rdev->need_dma32 = true;
> +             dma_bits = 32;
>               pr_warn("radeon: No suitable DMA available\n");
>               return r;
>       }
> diff --git a/drivers/gpu/drm/radeon/radeon_ttm.c 
> b/drivers/gpu/drm/radeon/radeon_ttm.c
> index 36150b7f31a..7fd117cf138 100644
> --- a/drivers/gpu/drm/radeon/radeon_ttm.c
> +++ b/drivers/gpu/drm/radeon/radeon_ttm.c
> @@ -818,7 +818,7 @@ int radeon_ttm_init(struct radeon_device *rdev)
>                              &radeon_bo_driver,
>                              rdev->ddev->anon_inode->i_mapping,
>                              rdev->ddev->vma_offset_manager,
> -                            dma_addressing_limited(&rdev->pdev->dev));
> +                            rdev->need_dma32);
>       if (r) {
>               DRM_ERROR("failed initializing buffer object driver(%d).\n", r);
>               return r;
> -- 
> 2.30.2
> 


Attachment: signature.asc
Description: PGP signature

Reply via email to