NetBSD Problem Report #55059

From o.vd.linden@quicknet.nl  Sun Mar  8 18:10:36 2020
Return-Path: <o.vd.linden@quicknet.nl>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
	by mollari.NetBSD.org (Postfix) with ESMTPS id 00EA91A9213
	for <gnats-bugs@gnats.NetBSD.org>; Sun,  8 Mar 2020 18:10:35 +0000 (UTC)
Message-Id: <20200308165942.GA1825@sheep>
Date: Sun, 8 Mar 2020 17:59:42 +0100
From: Onno van der Linden <o.vd.linden@quicknet.nl>
To: gnats-bugs@netbsd.org
Subject: xsrc 19.1.0 radeon driver needs 2 additional fixes

>Number:         55059
>Category:       xsrc
>Synopsis:       xsrc 19.1.0 radeon driver needs 2 additional fixes
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    xsrc-manager
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Mar 08 18:15:00 +0000 2020
>Closed-Date:    Sun Mar 08 18:31:56 +0000 2020
>Last-Modified:  Sun Mar 08 18:31:56 +0000 2020
>Originator:     Onno van der Linden
>Release:        NetBSD 9.99.48
>Organization:

>Environment:
System: NetBSD sheep 9.99.48 NetBSD 9.99.48 (SHEEPKMS) #25: Fri Mar 6 18:37:35 CET 2020 onno@sheep:/usr/src/sys/arch/i386/compile/SHEEPKMS i386
Architecture: i386
Machine: i386
>Description:
With the 19.1.0 radeon driver in xsrc X fails to start on my radeon HD 3450
that has option NoAccell in xorg.conf
>How-To-Repeat:
On my computer run startx after which everything hangs
and a hard reset is needed.
>Fix:
From https://cgit.freedesktop.org/xorg/driver/xf86-video-ati/

I applied the following two fixes and X is starting and running fine again.

https://cgit.freedesktop.org/xorg/driver/xf86-video-ati/commit/?id=4d84cf438e7f1bebf0053035ef0292e9fed257d1
https://cgit.freedesktop.org/xorg/driver/xf86-video-ati/commit/?id=c0eb5dbd9c1db6b6d5b1574bcd8c584170d7ab54

which results in


--- /usr/xsrc/external/mit/xf86-video-ati-kms/dist/src/radeon.h.orig	2020-02-23 08:17:06.926102120 +0100
+++ /usr/xsrc/external/mit/xf86-video-ati-kms/dist/src/radeon.h	2020-03-08 17:43:00.083609713 +0100
@@ -790,8 +790,8 @@

 static inline struct radeon_buffer *radeon_get_pixmap_bo(PixmapPtr pPix)
 {
-#ifdef USE_GLAMOR
     RADEONInfoPtr info = RADEONPTR(xf86ScreenToScrn(pPix->drawable.pScreen));
+#ifdef USE_GLAMOR

     if (info->use_glamor) {
 	struct radeon_pixmap *priv;
@@ -799,7 +799,7 @@
 	return priv ? priv->bo : NULL;
     } else
 #endif
-    {
+    if (info->accelOn) {
 	struct radeon_exa_pixmap_priv *driver_priv;
 	driver_priv = exaGetPixmapDriverPrivate(pPix);
 	return driver_priv ? driver_priv->bo : NULL;
@@ -896,7 +896,7 @@
 				   handle);
     }

-    return *fb_ptr;
+    return fb_ptr ? *fb_ptr : NULL;
 }



>Release-Note:

>Audit-Trail:

State-Changed-From-To: open->closed
State-Changed-By: maya@NetBSD.org
State-Changed-When: Sun, 08 Mar 2020 18:31:56 +0000
State-Changed-Why:
Committed, thanks!


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.46 2020/01/03 16:35:01 leot Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2020 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.