[RFC] [intel-gfx] :The backlight issue when KMS is used
Hi, All When the kernel is booted with KMS enabled, the backlight brightness can't be changed by xrandr tool. This issue is caused by that the native kernel backlight I/F is not exposed to userland. In such case there is no backlight property in xrandr tool. Of course the brightness can't be controlled by xrandr tool. If the native kernel backlight I/F is exposed to userland(ie. the backlight property is hooked up by xrandr tool), the brightness will be controlled by xrandr tool. But the inconsistency between ACPI backlight I/F and xrandr tool appears. >When it is changed by ACPI I/F, the xrandr can report the correct brightness. >But if the brightness is changed by native kernel I/F, the ACPI I/F will report the incorrect brightness. It is inconsistent and not what we expected. Even when the ACPI opregion is used, the inconsistency still exists. In fact this inconsistency also exists in UMS mode if the backlight control mode is legacy/native/combo. The issue is that the ACPI I/F can't reflect the true brightness if the brightness is changed by xrandr tool. In UMS mode the ACPI I/F (kernel) mode will be preferred if there exists the ACPI backlight I/F. Only when there is no ACPI I/F, it will fall back to the other three modes. How about following what we have done in UMS mode ? a. When there exists the ACPI backlight I/F, the ACPI I/F will be hook up in drmmode_display.c and exposed to xrandr tool. Then the backlight can be changed by xrandr tool(the ACPI I/F is called). Of course the backlight can also be changed by ACPI I/F. It is similar with what we have done in UMS mode. Of course to eliminate the potential inconsistency, the other three backlight control modes won't be exposed again. b. If there is no ACPI backlight I/F, the native kernel backlight property will be exposed. And then the backlight can be changed by xrandr. (No ACPI I/F can control the brightness). Welcome the comments. Best regards. Yakui -- -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
[git] drm fixes
Hi Linus, Please pull the 'drm-linus' branch from ssh://master.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git drm-linus This contains a merge from Eric hopefully done right, along with misc small fixes since the main merge. Dave. drivers/gpu/drm/drm_crtc_helper.c | 31 +- drivers/gpu/drm/drm_edid.c |8 +- drivers/gpu/drm/drm_gem.c |7 +- drivers/gpu/drm/drm_sysfs.c |1 + drivers/gpu/drm/i915/i915_dma.c | 11 +-- drivers/gpu/drm/i915/i915_drv.h |5 + drivers/gpu/drm/i915/i915_gem.c | 38 +-- drivers/gpu/drm/i915/i915_gem_debug.c |2 + drivers/gpu/drm/i915/i915_gem_debugfs.c |6 + drivers/gpu/drm/i915/i915_gem_tiling.c | 16 +++ drivers/gpu/drm/i915/i915_irq.c | 67 ++- drivers/gpu/drm/i915/i915_reg.h | 11 ++ drivers/gpu/drm/i915/intel_crt.c|4 +- drivers/gpu/drm/i915/intel_display.c| 22 - drivers/gpu/drm/i915/intel_modes.c |1 + drivers/gpu/drm/i915/intel_sdvo.c | 193 +-- drivers/gpu/drm/i915/intel_sdvo_regs.h |3 + drivers/gpu/drm/i915/intel_tv.c | 30 - drivers/gpu/drm/radeon/r600_cp.c|8 +- include/drm/drm_crtc_helper.h |3 +- include/drm/drm_os_linux.h |4 +- 21 files changed, 332 insertions(+), 139 deletions(-) commit 029a2edbd36f5e34ff1aebfba1bca31b5ac9899e Author: Alex Deucher Date: Sun Mar 29 20:44:26 2009 -0400 drm/radeon: load the right microcode on rs780 Copy/paste error. The RV670 microcode should work ok, so it's not a show stopper. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 5f3dbedf2770cf6aeb5547b3c56734dee4e5186b Merge: 7a1fb5d... 1055f9d... Author: Dave Airlie Date: Fri Apr 3 10:27:21 2009 +1000 Merge branch 'drm-intel-next' of ../anholt-2.6 into drm-linus commit 7a1fb5d06d3936c0982e2cf8b53b046244a9aad6 Author: Jesse Barnes Date: Fri Mar 27 13:05:19 2009 -0700 drm: remove unused "can_grow" parameter from drm_crtc_helper_initial_config Cleanup some leftovers from the X port. Signed-off-by: Jesse Barnes Signed-off-by: Dave Airlie commit b94ee6528954b6838e88aa8cf74ed75acf8dfcff Author: Jesse Barnes Date: Thu Apr 2 14:56:24 2009 -0700 drm: fix EDID backward compat check EDIDs should be backward compatible, so don't bail if we see a version of 3 (which is out there now) and print a message if we see something newer, but allow it to be parsed. Signed-off-by: Jesse Barnes Signed-off-by: Dave Airlie commit 6714977b45279c3a0b0ec2bc937284d9f116752f Author: yakui_zhao Date: Thu Apr 2 11:52:12 2009 +0800 drm: sync the mode validation for INTERLACE/DBLSCAN Check whether the INTERLACE/DBLSCAN is supported by output device. If not, the mode containing the flag of INTERLACE/DBLSCAN will be marked as unsupported. Signed-off-by: Zhao Yakui Signed-off-by: Dave Airlie commit 16456c872e4e3d674dde73f9bdf3f69c0d95e070 Author: Dave Airlie Date: Fri Apr 3 09:10:33 2009 +1000 drm: fix typo in edid vendor parsing. Should be, edid_vendor[2] = (edid->mfg_id[1] & 0x1f) + '@'; Since vendor ID has only two bytes only, I am somewhat surprised why gcc doesn't complain this. Reported-by: Guo, Chaohong Signed-off-by: Dave Airlie commit 3c6fc3521acbee33637e7db803ac3cf3b0e2ff04 Author: Jean Delvare Date: Thu Apr 2 11:52:24 2009 +0200 DRM: drm_crtc_helper.h doesn't actually need i2c.h Remove an include that isn't actually needed to prevent needless rebuilds. Signed-off-by: Jean Delvare Signed-off-by: Dave Airlie commit 522b5cc7cec124e06629c0702ffab1307416aec7 Author: Dave Airlie Date: Tue Mar 31 15:14:39 2009 +1100 drm: fix missing inline function on 32-bit powerpc. The readq/writeq really need to be static inline on the arches which don't provide them. Reported-by: Benjamin Herrenschmidt Signed-off-by: Dave Airlie commit 1055f9ddad093f54dfd708a0f976582034d4ce1a Author: Jesse Barnes Date: Tue Mar 31 18:22:31 2009 -0700 drm: Use pgprot_writecombine in GEM GTT mapping to get the right bits for !PAT. Otherwise, the PAGE_CACHE_WC would end up getting us a UC-only mapping, and the write performance of GTT maps dropped 10x. Signed-off-by: Jesse Barnes [anholt: cleaned up unused var] Signed-off-by: Eric Anholt commit 5e118f4139feafe97e913df67b1f7c1e5083e535 Author: Carl Worth Date: Fri Mar 20 11:54:25 2009 -0700 drm/i915: Add a spinlock to protect the active_list This is a baby-step in the direction of having finer-grained locking than the struct_mutex. Specifically, this will enable new debugging code to read the active list for printing out GPU state when the GPU is wedged,
Re: [PATCH] DRM: drm_crtc_helper.h doesn't actually need i2c.h
On Thu, Apr 2, 2009 at 7:52 PM, Jean Delvare wrote: > Remove an include that isn't actually needed to prevent needless > rebuilds. > > Signed-off-by: Jean Delvare > --- > Patch already sent on: > * 2009-01-13 > * 2009-02-25 > David, are you going to apply this patch or should I push it upstream > myself? Sorry kept missing it, Applied now. Dave. > > include/drm/drm_crtc_helper.h | 1 - > 1 file changed, 1 deletion(-) > > --- linux-2.6.29-rc1.orig/include/drm/drm_crtc_helper.h 2009-01-11 > 10:57:58.0 +0100 > +++ linux-2.6.29-rc1/include/drm/drm_crtc_helper.h 2009-01-13 > 16:50:20.0 +0100 > @@ -33,7 +33,6 @@ > #ifndef __DRM_CRTC_HELPER_H__ > #define __DRM_CRTC_HELPER_H__ > > -#include > #include > #include > #include > > > -- > Jean Delvare > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > -- -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [PATCH] drm: remove unused "can_grow" parameter from drm_crtc_helper_initial_config
On Fri, 3 Apr 2009 00:16:11 +0100 (IST) Dave Airlie wrote: > > > Cleanup some leftovers from the X port. Dave you may want to just > > let Eric take this since the next patch depends on this one. > > Please don't send patches that will break the build, if this needs a > change in the i915 driver include it in this patch and I'll take care > of it. if I apply this now i915 won't build unless I fix it up. Here's a fixed version. >From 886474be2ef11a5b522df4c0bbb06551a04ee8c4 Mon Sep 17 00:00:00 2001 From: Jesse Barnes Date: Fri, 27 Mar 2009 13:05:19 -0700 Subject: [PATCH] drm: remove unused "can_grow" parameter from drm_crtc_helper_initial_config Cleanup some leftovers from the X port. Signed-off-by: Jesse Barnes --- drivers/gpu/drm/drm_crtc_helper.c |3 +-- drivers/gpu/drm/i915/i915_dma.c |2 +- include/drm/drm_crtc_helper.h |2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/drm_crtc_helper.c b/drivers/gpu/drm/drm_crtc_helper.c index 1c3a8c5..e59746a 100644 --- a/drivers/gpu/drm/drm_crtc_helper.c +++ b/drivers/gpu/drm/drm_crtc_helper.c @@ -885,7 +885,6 @@ bool drm_helper_plugged_event(struct drm_device *dev) /** * drm_initial_config - setup a sane initial connector configuration * @dev: DRM device - * @can_grow: this configuration is growable * * LOCKING: * Called at init time, must take mode config lock. @@ -897,7 +896,7 @@ bool drm_helper_plugged_event(struct drm_device *dev) * RETURNS: * Zero if everything went ok, nonzero otherwise. */ -bool drm_helper_initial_config(struct drm_device *dev, bool can_grow) +bool drm_helper_initial_config(struct drm_device *dev) { struct drm_connector *connector; int count = 0; diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c index 0b9984f..c23b3a9 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c @@ -1042,7 +1042,7 @@ static int i915_load_modeset_init(struct drm_device *dev) intel_modeset_init(dev); - drm_helper_initial_config(dev, false); + drm_helper_initial_config(dev); return 0; diff --git a/include/drm/drm_crtc_helper.h b/include/drm/drm_crtc_helper.h index c7d4b2e..b672184 100644 --- a/include/drm/drm_crtc_helper.h +++ b/include/drm/drm_crtc_helper.h @@ -92,7 +92,7 @@ struct drm_connector_helper_funcs { extern int drm_helper_probe_single_connector_modes(struct drm_connector *connector, uint32_t maxX, uint32_t maxY); extern void drm_helper_disable_unused_functions(struct drm_device *dev); extern int drm_helper_hotplug_stage_two(struct drm_device *dev); -extern bool drm_helper_initial_config(struct drm_device *dev, bool can_grow); +extern bool drm_helper_initial_config(struct drm_device *dev); extern int drm_crtc_helper_set_config(struct drm_mode_set *set); extern bool drm_crtc_helper_set_mode(struct drm_crtc *crtc, struct drm_display_mode *mode, -- 1.6.0.6 -- Jesse Barnes, Intel Open Source Technology Center -- -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [PATCH] drm: remove unused "can_grow" parameter from drm_crtc_helper_initial_config
On Fri, 3 Apr 2009 00:16:11 +0100 (IST) Dave Airlie wrote: > > > Cleanup some leftovers from the X port. Dave you may want to just > > let Eric take this since the next patch depends on this one. > > Please don't send patches that will break the build, if this needs a > change in the i915 driver include it in this patch and I'll take care > of it. if I apply this now i915 won't build unless I fix it up. Oh duh I didn't mean to break bisect... This one could be rolled into the i915 patch or I could respin both. Any preference? -- Jesse Barnes, Intel Open Source Technology Center -- -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [PATCH] drm: remove unused "can_grow" parameter from drm_crtc_helper_initial_config
> Cleanup some leftovers from the X port. Dave you may want to just let > Eric take this since the next patch depends on this one. Please don't send patches that will break the build, if this needs a change in the i915 driver include it in this patch and I'll take care of it. if I apply this now i915 won't build unless I fix it up. Dave. > > Signed-off-by: Jesse Barnes > --- > drivers/gpu/drm/drm_crtc_helper.c |3 +-- > include/drm/drm_crtc_helper.h |2 +- > 2 files changed, 2 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/drm_crtc_helper.c > b/drivers/gpu/drm/drm_crtc_helper.c > index 1c3a8c5..e59746a 100644 > --- a/drivers/gpu/drm/drm_crtc_helper.c > +++ b/drivers/gpu/drm/drm_crtc_helper.c > @@ -885,7 +885,6 @@ bool drm_helper_plugged_event(struct drm_device *dev) > /** > * drm_initial_config - setup a sane initial connector configuration > * @dev: DRM device > - * @can_grow: this configuration is growable > * > * LOCKING: > * Called at init time, must take mode config lock. > @@ -897,7 +896,7 @@ bool drm_helper_plugged_event(struct drm_device *dev) > * RETURNS: > * Zero if everything went ok, nonzero otherwise. > */ > -bool drm_helper_initial_config(struct drm_device *dev, bool can_grow) > +bool drm_helper_initial_config(struct drm_device *dev) > { > struct drm_connector *connector; > int count = 0; > diff --git a/include/drm/drm_crtc_helper.h b/include/drm/drm_crtc_helper.h > index c7d4b2e..b672184 100644 > --- a/include/drm/drm_crtc_helper.h > +++ b/include/drm/drm_crtc_helper.h > @@ -92,7 +92,7 @@ struct drm_connector_helper_funcs { > extern int drm_helper_probe_single_connector_modes(struct drm_connector > *connector, uint32_t maxX, uint32_t maxY); > extern void drm_helper_disable_unused_functions(struct drm_device *dev); > extern int drm_helper_hotplug_stage_two(struct drm_device *dev); > -extern bool drm_helper_initial_config(struct drm_device *dev, bool can_grow); > +extern bool drm_helper_initial_config(struct drm_device *dev); > extern int drm_crtc_helper_set_config(struct drm_mode_set *set); > extern bool drm_crtc_helper_set_mode(struct drm_crtc *crtc, >struct drm_display_mode *mode, > -- -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [PATCH] Remove code for tracking per-drawable cliprects.
On Thu, 2009-04-02 at 14:41 -0400, Kristian Høgsberg wrote: > This was only used by the i915 driver for the swapbuffer vsync tasklet. > That functionality is now gone and nothing uses the kernel side > cliprects anymore. Just stub out the ioctls, but make sure we return > a non-zero handle in the DRM_IOCTL_ADD_DRAW case. Have you tested old userland to make sure it doesn't freak out? Other than that, I love the idea. -- Eric Anholt e...@anholt.net eric.anh...@intel.com signature.asc Description: This is a digitally signed message part -- -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
[PATCH] drm: remove unused "can_grow" parameter from drm_crtc_helper_initial_config
Cleanup some leftovers from the X port. Dave you may want to just let Eric take this since the next patch depends on this one. Signed-off-by: Jesse Barnes --- drivers/gpu/drm/drm_crtc_helper.c |3 +-- include/drm/drm_crtc_helper.h |2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/drm_crtc_helper.c b/drivers/gpu/drm/drm_crtc_helper.c index 1c3a8c5..e59746a 100644 --- a/drivers/gpu/drm/drm_crtc_helper.c +++ b/drivers/gpu/drm/drm_crtc_helper.c @@ -885,7 +885,6 @@ bool drm_helper_plugged_event(struct drm_device *dev) /** * drm_initial_config - setup a sane initial connector configuration * @dev: DRM device - * @can_grow: this configuration is growable * * LOCKING: * Called at init time, must take mode config lock. @@ -897,7 +896,7 @@ bool drm_helper_plugged_event(struct drm_device *dev) * RETURNS: * Zero if everything went ok, nonzero otherwise. */ -bool drm_helper_initial_config(struct drm_device *dev, bool can_grow) +bool drm_helper_initial_config(struct drm_device *dev) { struct drm_connector *connector; int count = 0; diff --git a/include/drm/drm_crtc_helper.h b/include/drm/drm_crtc_helper.h index c7d4b2e..b672184 100644 --- a/include/drm/drm_crtc_helper.h +++ b/include/drm/drm_crtc_helper.h @@ -92,7 +92,7 @@ struct drm_connector_helper_funcs { extern int drm_helper_probe_single_connector_modes(struct drm_connector *connector, uint32_t maxX, uint32_t maxY); extern void drm_helper_disable_unused_functions(struct drm_device *dev); extern int drm_helper_hotplug_stage_two(struct drm_device *dev); -extern bool drm_helper_initial_config(struct drm_device *dev, bool can_grow); +extern bool drm_helper_initial_config(struct drm_device *dev); extern int drm_crtc_helper_set_config(struct drm_mode_set *set); extern bool drm_crtc_helper_set_mode(struct drm_crtc *crtc, struct drm_display_mode *mode, -- 1.6.0.6 -- Jesse Barnes, Intel Open Source Technology Center -- -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
[PATCH] drm: fix EDID compatibility check
>From 3e4b036692ea35cef3356db4ee6b7349a92abf28 Mon Sep 17 00:00:00 2001 From: Jesse Barnes Date: Thu, 2 Apr 2009 14:56:24 -0700 Subject: [PATCH] drm: fix EDID backward compat check EDIDs should be backward compatible, so don't bail if we see a version of 3 (which is out there now) and print a message if we see something newer, but allow it to be parsed. Signed-off-by: Jesse Barnes --- drivers/gpu/drm/drm_edid.c |6 ++ 1 files changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c index c674000..50570ee 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c @@ -125,10 +125,8 @@ static bool edid_is_valid(struct edid *edid) DRM_ERROR("EDID has major version %d, instead of 1\n", edid->version); goto bad; } - if (edid->revision > 3) { - DRM_ERROR("EDID has minor version %d, which is not between 0-3\n", edid->revision); - goto bad; - } + if (edid->revision > 4) + DRM_DEBUG("EDID minor > 4, assuming backward compatibility\n"); for (i = 0; i < EDID_LENGTH; i++) csum += raw_edid[i]; -- 1.6.0.6 -- -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
[Bug 20966] Weird fonts with mesa-7.4 on low resolutions
http://bugs.freedesktop.org/show_bug.cgi?id=20966 Roland Scheidegger changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Comment #4 from Roland Scheidegger 2009-04-02 15:03:36 PST --- Fixed in master (ebc1478e501d43e0de54e7b6c3edfbc81d7d20c6) and mesa_7_4_branch (7be149cfd131c0b3f7d4337bb83e6fba5f563bf9). -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. -- -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
[git pull] drm-intel fixes for 2.6.30
OK, here's another set for within the merge window. One commit outside of the driver, which is to fix GTT mapping non-PAT thanks to pgprot_writecombine. Probably the most important thing here, though, is the TV modesetting in property change, which fixes an oops with the new 2D driver now that it's actually poking these properties. The following changes since commit c09bca786ff941ed17c5f381c4eca5b106808c51: Linus Torvalds (1): Merge git://git.kernel.org/.../bart/ide-2.6 are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel drm-intel-next Arjan van de Ven (1): drm/i915: clean up udelay usage Carl Worth (1): drm/i915: Add a spinlock to protect the active_list Daniel Vetter (1): drm/i915: fix up tiling/fence reg setup on i8xx class hw Jesse Barnes (3): drm/i915: check for -EINVAL from vm_insert_pfn drm/i915: add VGA hotplug support for 945+ drm: Use pgprot_writecombine in GEM GTT mapping to get the right bits for !PAT. Ma Ling (1): drm/i915: avoid hanging on to a stale pointer to raw_edid. Shaohua Li (1): drm/i915: correctly set IGD device's gtt size for KMS. Zhenyu Wang (6): drm/i915: only set TV mode when any property changed drm/i915: fix TV mode setting in property change drm/i915: Fix SDVO command debug function drm/i915: Fix error in SDVO DTD and modeline convert drm/i915: Fix SDVO CREATE_PREFERRED_INPUT_TIMING command drm/i915: Fix SDVO TV support drivers/gpu/drm/drm_gem.c |7 +- drivers/gpu/drm/drm_sysfs.c |1 + drivers/gpu/drm/i915/i915_dma.c |9 +-- drivers/gpu/drm/i915/i915_drv.h |5 + drivers/gpu/drm/i915/i915_gem.c | 38 +-- drivers/gpu/drm/i915/i915_gem_debug.c |2 + drivers/gpu/drm/i915/i915_gem_debugfs.c |6 + drivers/gpu/drm/i915/i915_gem_tiling.c | 16 +++ drivers/gpu/drm/i915/i915_irq.c | 67 ++- drivers/gpu/drm/i915/i915_reg.h | 11 ++ drivers/gpu/drm/i915/intel_crt.c|4 +- drivers/gpu/drm/i915/intel_display.c| 22 - drivers/gpu/drm/i915/intel_modes.c |1 + drivers/gpu/drm/i915/intel_sdvo.c | 193 +-- drivers/gpu/drm/i915/intel_sdvo_regs.h |3 + drivers/gpu/drm/i915/intel_tv.c | 30 - 16 files changed, 292 insertions(+), 123 deletions(-) -- Eric Anholt e...@anholt.net eric.anh...@intel.com signature.asc Description: This is a digitally signed message part -- -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
[Bug 21019] Performance regression on r200 started with one older mesa core commit. It is in Mesa-7.4 also.
http://bugs.freedesktop.org/show_bug.cgi?id=21019 smoki changed: What|Removed |Added Severity|normal |minor Priority|medium |low -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. -- -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
[Bug 21019] Performance regression on r200 started with one older mesa core commit. It is in Mesa-7.4 also.
http://bugs.freedesktop.org/show_bug.cgi?id=21019 --- Comment #2 from smoki 2009-04-02 14:50:35 PST --- Created an attachment (id=24479) --> (http://bugs.freedesktop.org/attachment.cgi?id=24479) Mesa-7.4_EXA -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. -- -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
[Bug 21019] Performance regression on r200 started with one older mesa core commit. It is in Mesa-7.4 also.
http://bugs.freedesktop.org/show_bug.cgi?id=21019 --- Comment #1 from smoki 2009-04-02 14:48:45 PST --- Created an attachment (id=24478) --> (http://bugs.freedesktop.org/attachment.cgi?id=24478) Mesa-7.4_XAA -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. -- -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
[Bug 21019] New: Performance regression on r200 started with one older mesa core commit. It is in Mesa-7.4 also.
http://bugs.freedesktop.org/show_bug.cgi?id=21019 Summary: Performance regression on r200 started with one older mesa core commit. It is in Mesa-7.4 also. Product: Mesa Version: unspecified Platform: x86 (IA32) OS/Version: Linux (All) Status: NEW Severity: normal Priority: medium Component: Drivers/DRI/r200 AssignedTo: dri-devel@lists.sourceforge.net ReportedBy: smoki00...@gmail.com Created an attachment (id=24477) --> (http://bugs.freedesktop.org/attachment.cgi?id=24477) Mesa-7.0.1 Implement mutex/locking around texture object reference counting. http://cgit.freedesktop.org/mesa/mesa/commit/?id=e279a0a076b7a3c8d60138c19870784c260c9d67 It can be noticed here and there, but especially in planetpenguin-racer (ppracer). First turn on fps counter from the game menu. Good example is straight on first level you will notice lower performance and when you go faster downhill and/or quickly change direction, you'll se many hickups and also very few fps. Before this commit game was smooth, without hickups and with stable fps. Also note that if someone want to isolate just this bug on r200, please use XAA instead of EXA, because EXA has one another bug which slowing down something in this game on contrast from using XAA. That is just when statistics at finish of each levels/races appear. Yes i know this is separate bug, but i don't know is this dri, drm or just only ddx related, but here it is... noticed on the same game. -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. -- -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
[PATCH] Remove code for tracking per-drawable cliprects.
This was only used by the i915 driver for the swapbuffer vsync tasklet. That functionality is now gone and nothing uses the kernel side cliprects anymore. Just stub out the ioctls, but make sure we return a non-zero handle in the DRM_IOCTL_ADD_DRAW case. Signed-off-by: Kristian Høgsberg --- drivers/gpu/drm/Makefile |2 +- drivers/gpu/drm/drm_drawable.c | 201 drivers/gpu/drm/drm_drv.c |5 +- drivers/gpu/drm/drm_ioctl.c| 13 +++ include/drm/drmP.h |8 -- 5 files changed, 16 insertions(+), 213 deletions(-) delete mode 100644 drivers/gpu/drm/drm_drawable.c diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile index 4ec5061..094ca09 100644 --- a/drivers/gpu/drm/Makefile +++ b/drivers/gpu/drm/Makefile @@ -5,7 +5,7 @@ ccflags-y := -Iinclude/drm drm-y := drm_auth.o drm_bufs.o drm_cache.o \ - drm_context.o drm_dma.o drm_drawable.o \ + drm_context.o drm_dma.o \ drm_drv.o drm_fops.o drm_gem.o drm_ioctl.o drm_irq.o \ drm_lock.o drm_memory.o drm_proc.o drm_stub.o drm_vm.o \ drm_agpsupport.o drm_scatter.o ati_pcigart.o drm_pci.o \ diff --git a/drivers/gpu/drm/drm_drawable.c b/drivers/gpu/drm/drm_drawable.c deleted file mode 100644 index 80be1ca..000 --- a/drivers/gpu/drm/drm_drawable.c +++ /dev/null @@ -1,201 +0,0 @@ -/** - * \file drm_drawable.c - * IOCTLs for drawables - * - * \author Rickard E. (Rik) Faith - * \author Gareth Hughes - * \author Michel Dänzer - */ - -/* - * Created: Tue Feb 2 08:37:54 1999 by fa...@valinux.com - * - * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas. - * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. - * Copyright 2006 Tungsten Graphics, Inc., Bismarck, North Dakota. - * All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * VA LINUX SYSTEMS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - */ - -#include "drmP.h" - -/** - * Allocate drawable ID and memory to store information about it. - */ -int drm_adddraw(struct drm_device *dev, void *data, struct drm_file *file_priv) -{ - unsigned long irqflags; - struct drm_draw *draw = data; - int new_id = 0; - int ret; - -again: - if (idr_pre_get(&dev->drw_idr, GFP_KERNEL) == 0) { - DRM_ERROR("Out of memory expanding drawable idr\n"); - return -ENOMEM; - } - - spin_lock_irqsave(&dev->drw_lock, irqflags); - ret = idr_get_new_above(&dev->drw_idr, NULL, 1, &new_id); - if (ret == -EAGAIN) { - spin_unlock_irqrestore(&dev->drw_lock, irqflags); - goto again; - } - - spin_unlock_irqrestore(&dev->drw_lock, irqflags); - - draw->handle = new_id; - - DRM_DEBUG("%d\n", draw->handle); - - return 0; -} - -/** - * Free drawable ID and memory to store information about it. - */ -int drm_rmdraw(struct drm_device *dev, void *data, struct drm_file *file_priv) -{ - struct drm_draw *draw = data; - unsigned long irqflags; - struct drm_drawable_info *info; - - spin_lock_irqsave(&dev->drw_lock, irqflags); - - info = drm_get_drawable_info(dev, draw->handle); - if (info == NULL) { - spin_unlock_irqrestore(&dev->drw_lock, irqflags); - return -EINVAL; - } - drm_free(info->rects, info->num_rects * sizeof(struct drm_clip_rect), - DRM_MEM_BUFS); - drm_free(info, sizeof(struct drm_drawable_info), DRM_MEM_BUFS); - - idr_remove(&dev->drw_idr, draw->handle); - - spin_unlock_irqrestore(&dev->drw_lock, irqflags); - DRM_DEBUG("%d\n", draw->handle); - return 0; -} - -int drm_update_drawable_info(struct drm_device *dev, void *data, struct drm_file *file_priv) -{ - struct drm_update_draw *update = data; - unsigned long irqflags; - struct drm_clip_rect *rects; - struct d
[Bug 12634] video distortion and lockup with i830 video chip and 2.6.28.3
http://bugzilla.kernel.org/show_bug.cgi?id=12634 --- Comment #22 from Bob Raitz 2009-04-02 18:53:39 --- The machine that was having this issue has died. Therefore, unless someone else wishes to champion this cause, I say let the bug die with the machine. -- Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are watching the assignee of the bug. -- -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
[Bug 12955] X will not finish starting with kernel version 2.6.29 and intel i830 video
http://bugzilla.kernel.org/show_bug.cgi?id=12955 --- Comment #6 from Bob Raitz 2009-04-02 18:51:37 --- Unless there is someone who wishes to take on this bug as their own, I request that it be closed. The machine in question has died, and I am not going to attempt to fix it again. Therefore, this bug dies with the machine...unless anyone else would like to take over. -- Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are watching the assignee of the bug. -- -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
[Bug 20966] Weird fonts with mesa-7.4 on low resolutions
http://bugs.freedesktop.org/show_bug.cgi?id=20966 --- Comment #3 from Roland Scheidegger 2009-04-02 11:02:20 PST --- Confirmed. Looks like nearest filtering gets used instead of bilinear (with high enough resolution it just doesn't matter much there). git-bisect tells me it's 42ce7900865f857ff6fa07a3e0d1d910426e3633 ("mesa: refactor glTexParameter code"). I'll look into it. -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. -- -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
[Bug 9252] complete lockups with radeon 9600 XT
http://bugs.freedesktop.org/show_bug.cgi?id=9252 --- Comment #36 from Xavier Bestel 2009-04-02 08:45:08 PST --- I'd very much like to do that (and more), but I really don't have time for this right now. Sorry for this. -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. -- -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
[Bug 9252] complete lockups with radeon 9600 XT
http://bugs.freedesktop.org/show_bug.cgi?id=9252 --- Comment #35 from Alex Deucher 2009-04-02 08:41:34 PST --- (In reply to comment #34) > > Ah, and FWIW, the deadlocks disappeared with 6.10.0 and reappeared around > 6.10.99 IIRC. > Any chance you could bisect between those releases and find the bad commit? -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. -- -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
[Bug 9252] complete lockups with radeon 9600 XT
http://bugs.freedesktop.org/show_bug.cgi?id=9252 Xavier Bestel changed: What|Removed |Added Status|RESOLVED|REOPENED Resolution|INVALID | --- Comment #34 from Xavier Bestel 2009-04-02 08:33:07 PST --- Sorry, I continued discussion on debian #515326, at http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=515326 ... In a nutshell: - "BusType" "PCI" gives me a "white screen of death" and that log: (**) RADEON(0): Forced into PCI mode (EE) RADEON(0): [pci] Out of memory (-12) (EE) RADEON(0): [pci] PCI failed to initialize. Disabling the DRI. (II) RADEON(0): [drm] removed 1 reserved context for kernel (II) RADEON(0): [drm] unmapping 8192 bytes of SAREA 0xf82c6000 at 0xb79fc000 (II) RADEON(0): [drm] Closed DRM master. (WW) RADEON(0): Direct rendering disabled - I can ssh my machine sometimes (with 6.6 I couldn't), and an attach+backtrace on Xorg gives that: (gdb) bt #0 0xb7f22424 in __kernel_vsyscall () #1 0xb7bb0b29 in ioctl () from /lib/i686/cmov/libc.so.6 #2 0xb79c0bed in drmDMA (fd=10, request=0xbff3dcfc) at ../../libdrm/xf86drm.c:1266 #3 0xb79474c7 in RADEONCPGetBuffer (pScrn=0x9a83f88) at ../../src/radeon_accel.c:594 #4 0xb7999823 in RADEONPrepareSolidCP (pPix=0x9db03d0, alu=3, pm=4294967295, fg=0) at ../../src/radeon_exa_funcs.c:92 #5 0xb777d44a in exaFillRegionSolid (pDrawable=0x9db03d0, pRegion=0x9db2448, pixel=0, planemask=4294967295, alu=) at ../../exa/exa_accel.c:1072 #6 0xb777edf2 in exaPolyFillRect (pDrawable=0x9db03d0, pGC=0x9d377d0, nrect=1, prect=0x9d4b51c) at ../../exa/exa_accel.c:751 #7 0x0817aad4 in damagePolyFillRect (pDrawable=0x9db03d0, pGC=0x9d377d0, nRects=1, pRects=0x9d4b51c) at ../../../miext/damage/damage.c:1404 #8 0x08089490 in ProcPolyFillRectangle (client=0x9d4b328) at ../../dix/dispatch.c:1769 #9 0x0808c51f in Dispatch () at ../../dix/dispatch.c:437 #10 0x080716f5 in main (argc=9, argv=0xbff3e064, envp=Cannot access memory at address 0xc0286431) at ../../dix/main.c:397 Ah, and FWIW, the deadlocks disappeared with 6.10.0 and reappeared around 6.10.99 IIRC. -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. -- -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
[Bug 9252] complete lockups with radeon 9600 XT
http://bugs.freedesktop.org/show_bug.cgi?id=9252 Alex Deucher changed: What|Removed |Added Status|NEW |RESOLVED Resolution||INVALID --- Comment #33 from Alex Deucher 2009-04-02 06:52:36 PST --- closing due to lack of feedback -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. -- -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
[Bug 10968] r300 driver causes system freeze when switching in and out of fullscreen opengl widows .
http://bugs.freedesktop.org/show_bug.cgi?id=10968 Alex Deucher changed: What|Removed |Added Status|NEW |RESOLVED Resolution||INVALID --- Comment #2 from Alex Deucher 2009-04-02 06:51:33 PST --- closing to due to lack of feedback -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. -- -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
Re: [RFC] x86: gup_fast() batch limit (was: DRM lock ordering fix series)
On Saturday 28 March 2009 23:46:14 Peter Zijlstra wrote: > On Sat, 2009-03-28 at 13:22 +0100, Peter Zijlstra wrote: > > I'm not really trusting my brain today, but something like the below > > should work I think. > > > > Nick, any thoughts? > > > > Not-Signed-off-by: Peter Zijlstra > > --- > > arch/x86/mm/gup.c | 24 +--- > > 1 files changed, 21 insertions(+), 3 deletions(-) > > > > diff --git a/arch/x86/mm/gup.c b/arch/x86/mm/gup.c > > index be54176..4ded5c3 100644 > > --- a/arch/x86/mm/gup.c > > +++ b/arch/x86/mm/gup.c > > @@ -11,6 +11,8 @@ > > > > #include > > > > +#define GUP_BATCH 32 > > + > > static inline pte_t gup_get_pte(pte_t *ptep) > > { > > #ifndef CONFIG_X86_PAE > > @@ -91,7 +93,8 @@ static noinline int gup_pte_range(pmd_t pmd, unsigned > > long addr, get_page(page); > > pages[*nr] = page; > > (*nr)++; > > - > > + if (*nr > GUP_BATCH) > > + break; > > } while (ptep++, addr += PAGE_SIZE, addr != end); > > pte_unmap(ptep - 1); > > > > @@ -157,6 +160,8 @@ static int gup_pmd_range(pud_t pud, unsigned long > > addr, unsigned long end, if (!gup_pte_range(pmd, addr, next, write, > > pages, nr)) > > return 0; > > } > > + if (*nr > GUP_BATCH) > > + break; > > } while (pmdp++, addr = next, addr != end); > > > > return 1; > > @@ -214,6 +219,8 @@ static int gup_pud_range(pgd_t pgd, unsigned long > > addr, unsigned long end, if (!gup_pmd_range(pud, addr, next, write, > > pages, nr)) > > return 0; > > } > > + if (*nr > GUP_BATCH) > > + break; > > } while (pudp++, addr = next, addr != end); > > > > return 1; > > @@ -226,7 +233,7 @@ int get_user_pages_fast(unsigned long start, int > > nr_pages, int write, unsigned long addr, len, end; > > unsigned long next; > > pgd_t *pgdp; > > - int nr = 0; > > + int batch = 0, nr = 0; > > > > start &= PAGE_MASK; > > addr = start; > > @@ -254,6 +261,7 @@ int get_user_pages_fast(unsigned long start, int > > nr_pages, int write, * (which we do on x86, with the above PAE > > exception), we can follow the * address down to the the page and take a > > ref on it. > > */ > > +again: > > local_irq_disable(); > > pgdp = pgd_offset(mm, addr); > > do { > > @@ -262,11 +270,21 @@ int get_user_pages_fast(unsigned long start, int > > nr_pages, int write, next = pgd_addr_end(addr, end); > > if (pgd_none(pgd)) > > goto slow; > > - if (!gup_pud_range(pgd, addr, next, write, pages, &nr)) > > + if (!gup_pud_range(pgd, addr, next, write, pages, &batch)) > > goto slow; > > + if (batch > GUP_BATCH) { > > + local_irq_enable(); > > + addr += batch << PAGE_SHIFT; > > + nr += batch; > > + batch = 0; > > + if (addr != end) > > + goto again; > > + } > > } while (pgdp++, addr = next, addr != end); > > local_irq_enable(); > > > > + nr += batch; > > + > > VM_BUG_ON(nr != (end - start) >> PAGE_SHIFT); > > return nr; > > Would also need the following bit: > > @@ -274,6 +292,7 @@ int get_user_pages_fast(unsigned long start, int > nr_pages, int write, int ret; > > slow: > + nr += batch; > local_irq_enable(); > slow_irqon: > /* Try to get the remaining pages with get_user_pages */ Yeah something like this would be fine (and welcome). And we can remove the XXX comment in there too. I would suggest 64 being a reasonable value simply because that's what direct IO does. Implementation-wise, why not just break "len" into chunks in the top level function rather than add branches all down the call chain? -- -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
kernel drm module has a little error in drm_edid.c
Hi, The edid_vendor() routine in drm_edid.c, edid_vendor[2] = (edid->mfg_id[2] & 0x1f) + '@'; Should be, edid_vendor[2] = (edid->mfg_id[1] & 0x1f) + '@'; Since vendor ID has only two bytes only, I am somewhat surprised why gcc doesn't complain this ? thanks, -minskey -- -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
[PATCH] DRM: drm_crtc_helper.h doesn't actually need i2c.h
Remove an include that isn't actually needed to prevent needless rebuilds. Signed-off-by: Jean Delvare --- Patch already sent on: * 2009-01-13 * 2009-02-25 David, are you going to apply this patch or should I push it upstream myself? include/drm/drm_crtc_helper.h |1 - 1 file changed, 1 deletion(-) --- linux-2.6.29-rc1.orig/include/drm/drm_crtc_helper.h 2009-01-11 10:57:58.0 +0100 +++ linux-2.6.29-rc1/include/drm/drm_crtc_helper.h 2009-01-13 16:50:20.0 +0100 @@ -33,7 +33,6 @@ #ifndef __DRM_CRTC_HELPER_H__ #define __DRM_CRTC_HELPER_H__ -#include #include #include #include -- Jean Delvare -- -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel
[Bug 20856] X hangs after idle time on GM45
http://bugs.freedesktop.org/show_bug.cgi?id=20856 --- Comment #3 from David John 2009-04-02 00:47:47 PST --- > Bugs like this have been fixed recently in libdrm, Mesa and the kernel. But > you can also work around the problem by creating a driconf file and setting > the > vblank_mode (googling around should show you how). > Nope doesn't work. The bug is still there. (I set vblank_mode to 0 and 3). Can someone at least tell me which library this occurs in? Is the bug in Mesa or libdrm? -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. -- -- ___ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel