https://bugs.freedesktop.org/show_bug.cgi?id=38022
Summary: ATI Radeon 6950 (Cayman): r600g texture / pixmap
corruption
Product: DRI
Version: XOrg CVS
Platform: x86-64 (AMD64)
OS/Version: Linux (All)
Status: NEW
Severity: major
Priority: medium
Component: DRM/Radeon
AssignedTo: dri-devel(a)lists.freedesktop.org
ReportedBy: h.judt(a)gmx.at
Created an attachment (id=…
[View More]47642)
--> (https://bugs.freedesktop.org/attachment.cgi?id=47642)
Xorg.0.log
I don't know where this should go (drm, mesa?), but after a while, I notice
corruption of textures / pixmaps. It can be reproduced quite easily by opening
a few applications, or starting another X session. In particular, I could
determine the following:
- Corrupted areas resemble parts of the previous visible login screen
- Icons, fonts and widgets like vertical gtk progressbars get corrupted, but
only their lower half
- Window (emerald) decoration seem to get corrupted completely.
- It's not related to color tiling.
- Pageflipping is enabled.
- Restarting a corrupted application fixes it temporarily, while minimizing
etc. doesn't. Restarting compiz doesn't fix it either.
I believe this is specific to cayman, as the issue does not occur on a thinkpad
t400 with ATI Mobility Radeon HD 3400 and similar configuration.
Software configuration:
- linux-3.0.0-rc1 with latest fixes from drm-2.6 git applied, up to
2a9e5862a38f7195931bd51788dc9ce68b28120c.
- r600g from git mesa compiled on 12:44:56 03.06.2011
- xorg-server 1.10.2
- libdrm git 21:06:43 02.06.2011
- xf86-video-ati git 21:56:58 02.06.2011
lspci:
01:00.0 VGA compatible controller: ATI Technologies Inc Device 6719 (prog-if 00
[VGA controller])
Subsystem: ATI Technologies Inc Device 0b00
Flags: bus master, fast devsel, latency 0, IRQ 54
Memory at c0000000 (64-bit, prefetchable) [size=256M]
Memory at fe620000 (64-bit, non-prefetchable) [size=128K]
I/O ports at e000 [size=256]
Expansion ROM at fe600000 [disabled] [size=128K]
Capabilities: [50] Power Management version 3
Capabilities: [58] Express Legacy Endpoint, MSI 00
Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010
<?>
Capabilities: [150] Advanced Error Reporting
Kernel driver in use: radeon
--
Apart from this, it works great, no crashes so far!
--
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
[View Less]
Looks like a CC to dri-devel got forgotten originally, so forwarding it
properly.
---------- Forwarded message ----------
From: Eugeni Dodonov <eugeni.dodonov(a)intel.com>
Date: Thu, Jan 5, 2012 at 09:34
Subject: [Intel-gfx] [PATCH 1/2] drm: give up on edid retries when i2c bus
is not responding
To: intel-gfx(a)lists.freedesktop.org
Cc: Eugeni Dodonov <eugeni.dodonov(a)intel.com>
This allows to avoid talking to a non-responding bus repeatedly until we
finally timeout after 15 …
[View More]attempts. We can do this by catching the -ENXIO
error, provided by i2c_algo_bit:bit_doAddress call.
Within the bit_doAddress we already try 3 times to get the edid data, so
if the routine tells us that bus is not responding, it is mostly pointless
to keep re-trying those attempts over and over again until we reach final
number of retries.
This change should fix https://bugs.freedesktop.org/show_bug.cgi?id=41059
and improve overall edid detection timing by 10-30% in most cases, and by
a much larger margin in case of phantom outputs (up to 30x in one worst
case).
Timing results for i915-powered machines for 'time xrandr' command:
Machine 1: from 0.840s to 0.290s
Machine 2: from 0.315s to 0.280s
Machine 3: from +/- 4s to 0.184s
Timing results for HD5770 with 'time xrandr' command:
Machine 4: from 3.210s to 1.060s
Reviewed-by: Chris Wilson <chris(a)hchris-wilson.co.uk>
Reviewed-by: Keith Packard <keithp(a)keithp.com>
Tested-by: Sean Finney <seanius(a)seanius.net>
Tested-by: Soren Hansen <soren(a)linux2go.dk>
Tested-by: Hernando Torque <sirius(a)sonnenkinder.org>
Tested-by: Mike Lothian <mike(a)fireburn.co.uk>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=41059
Signed-off-by: Eugeni Dodonov <eugeni.dodonov(a)intel.com>
---
drivers/gpu/drm/drm_edid.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index 3e927ce..fb6c26c 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -266,6 +266,11 @@ drm_do_probe_ddc_edid(struct i2c_adapter *adapter,
unsigned char *buf,
}
};
ret = i2c_transfer(adapter, msgs, 2);
+ if (ret == -ENXIO) {
+ DRM_DEBUG_KMS("drm: skipping non-existent adapter
%s\n",
+ adapter->name);
+ break;
+ }
} while (ret != 2 && --retries);
return ret == 2 ? 0 : -1;
--
1.7.8
_______________________________________________
Intel-gfx mailing list
Intel-gfx(a)lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Eugeni Dodonov
<http://eugeni.dodonov.net/>
[View Less]
Hi Linus,
Post the merge of dma-buf tree that was (very kindly) sent by Dave
Airlie, various people involved in this project feel it is natural and
practical for me to be the maintainer of this code.
This is my first pull request to you, which only changes the
MAINTAINERS file - could you please pull from it? [If you'd just
prefer the patch, I could post that out as well.]
Thanks and best regards,
~Sumit.
The following changes since commit dcd6c92267155e70a94b3927bce681ce74b80d1f:
Linux …
[View More]3.3-rc1 (2012-01-19 15:04:48 -0800)
are available in the git repository at:
git://git.linaro.org/people/sumitsemwal/linux-dma-buf.git for-linus-3.3
Sumit Semwal (1):
MAINTAINERS: Add dma-buf sharing framework maintainer
MAINTAINERS | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
[View Less]