- 07 9月, 2010 1 次提交
-
-
由 Chris Wilson 提交于
Polling for a VGA device on an old system can be quite expensive, causing latencies on the order of 600ms. As we hold the mode mutex for this time and also need the same mutex to move the cursor, we trigger a user-visible stall. The real solution would involve improving the granulatity of the locking and so perhaps performing some of the probing not under the lock or some other updates can be done under different locks. Also reducing the cost of probing for a non-existent monitor would be worthwhile. However, exposing a parameter to disable polling is a simple workaround in the meantime. In order to accommodate users turning polling on and off at runtime, the polling is potentially re-enabled on every probe. This is coupled to the user calling xrandr, which seems to be a vaild time to reset the polling timeout since the information on the connection has just been updated. (The presumption being that all connections are probed in a single xrandr pass, which is currently valid.) References: Bug 29536 - 2.6.35 causes ~600ms latency every 10s https://bugs.freedesktop.org/show_bug.cgi?id=29536 Bug 16265 - Why is kslowd accumulating so much CPU time? https://bugzilla.kernel.org/show_bug.cgi?id=16265Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk> Reported-and-tested-by: NBruno Prémont <bonbons@linux-vserver.org> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 10 8月, 2010 1 次提交
-
-
由 Chris Wilson 提交于
Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 09 8月, 2010 1 次提交
-
-
由 Tejun Heo 提交于
Commit 991ea75c (drm: use workqueue instead of slow-work), which made drm to use wq instead of slow-work, didn't account for the return value difference between delayed_slow_work_enqueue() and queue_delayed_work(). The former returns 0 on success and -errno on failures while the latter never fails and only uses the return value to indicate whether the work was already pending or not. This misconversion triggered spurious error messages. Remove the now unnecessary return value check and error message. Markus: caught another incorrect conversion in drm_kms_helper_poll_enable() Signed-off-by: NTejun Heo <tj@kernel.org> Reported-by: NMarkus Trippelsdorf <markus@trippelsdorf.de> Tested-by: NMarkus Trippelsdorf <markus@trippelsdorf.de> Cc: David Airlie <airlied@linux.ie> Cc: dri-devel@lists.freedesktop.org
-
- 23 7月, 2010 1 次提交
-
-
由 Tejun Heo 提交于
Workqueue can now handle high concurrency. Convert drm_crtc_helper to use system_nrt_wq instead of slow-work. The conversion is mostly straight forward. One difference is that drm_helper_hpd_irq_event() no longer blocks and can be called from any context. Signed-off-by: NTejun Heo <tj@kernel.org> Acked-by: NDavid Airlie <airlied@linux.ie> Cc: dri-devel@lists.freedesktop.org
-
- 16 7月, 2010 1 次提交
-
-
由 Jerome Glisse 提交于
Unify debug printing so it easier to track what's happening while debugging. Signed-off-by: NJerome Glisse <jglisse@redhat.com> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 13 7月, 2010 1 次提交
-
-
由 Ben Skeggs 提交于
Original behaviour will be preserved for drivers that don't implement disable() hooks for an encoder. Signed-off-by: NBen Skeggs <bskeggs@redhat.com> Reviewed-by: NAlex Deucher <alexdeucher@gmail.com> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 07 7月, 2010 1 次提交
-
-
由 Alex Deucher 提交于
More explicit than dpms. Same as the encoder disable function. Need this to explicity disconnect plls from crtcs for reuse when you plls:crtcs ratio isn't 1:1. Signed-off-by: NAlex Deucher <alexdeucher@gmail.com> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 01 6月, 2010 1 次提交
-
-
由 Dave Airlie 提交于
Because we aren't in a suspend state the poll will still run when we have switcherooed a card off. Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 18 5月, 2010 1 次提交
-
-
由 Dave Airlie 提交于
After thinking it over a lot it made more sense for the core to deal with the output polling especially so it can notify X. v2: drop plans for fake connector - per Michel's comments - fix X patch sent to xorg-devel, add intel polled/hpd setting, add initial nouveau polled/hpd settings. v3: add config lock take inside polling, add intel/nouveau poll init/fini calls v4: config lock was a bit agressive, only needed around connector list reading. otherwise it could re-enter. glisse: discard drm_helper_hpd_irq_event v3: Reviewed-by: Michel Dänzer <michel@daenzer.net> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 07 4月, 2010 2 次提交
-
-
由 Dave Airlie 提交于
This move to using the list of crtcs in the fb helper and cleans up the whole picking code, now we store the crtc/connectors we want directly into the modeset and we use the modeset directly to set the mode. Fixes from James Simmons and Ben Skeggs. Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 Dave Airlie 提交于
The fbdev layer in the kms code should act like a consumer of the kms services and avoid having relying on information being store in the kms core structures in order for it to work. This patch a) removes the info pointer/psuedo palette from the core drm_framebuffer structure and moves it to the fbdev helper layer, it also removes the core drm keeping a list of kernel kms fbdevs. b) migrated all the fb helper functions out of the crtc helper file into the fb helper file. c) pushed the fb probing/hotplug control into the driver d) makes the surface sizes into a structure for ease of passing This changes the intel/radeon/nouveau drivers to use the new helper. Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 15 3月, 2010 1 次提交
-
-
由 Zhao Yakui 提交于
Now the EDID property will be updated when the corresponding EDID can be obtained from the external display device. But after the external device is plugged-out, the EDID property is not updated. In such case we still get the corresponding EDID property although it is already detected as disconnected. https://bugs.freedesktop.org/show_bug.cgi?id=26743Signed-off-by: NZhao Yakui <yakui.zhao@intel.com> Signed-off-by: NZhenyu Wang <zhenyuw@linux.intel.com> Cc: stable@kernel.org Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 11 2月, 2010 1 次提交
-
-
由 Dave Airlie 提交于
a patch from Roel was wrong, fix this properly, really if the fb ptrs are different fb changed shuold be true. Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 13 1月, 2010 2 次提交
-
-
由 Dave Young 提交于
Following drm info repeat 207 times during one hour, it's quite annoying [ 1266.286747] [drm] TV-19: set mode NTSC 480i 0 Change from DRM_INFO to DRM_DEBUG Signed-off-by: NDave Young <hidave.darkstar@gmail.com> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 Dave Airlie 提交于
Toralf Förster pointed out the typo, the fact I forget the if statement is purely personal fail. Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 11 1月, 2010 2 次提交
-
-
由 Dave Airlie 提交于
Lots of ppl keep thinking this is an oops, it was just a warning for me to see, just make it a printk now. Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 David John 提交于
With the current DRM code, an output that has been powered off from userspace will automatically power back on when resuming from suspend. This patch fixes this behaviour. Tested only with the Intel i915 driver on an Intel GM45 Express chipset. Signed-off-by: NDavid John <davidjon@xenontk.org> Reviewed-by: NJesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 08 1月, 2010 1 次提交
-
-
由 David John 提交于
With the current DRM code, an output that has been powered off from userspace will automatically power back on when resuming from suspend. This patch fixes this behaviour. Tested only with the Intel i915 driver on an Intel GM45 Express chipset. Signed-off-by: NDavid John <davidjon@xenontk.org> Reviewed-by: NJesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 09 12月, 2009 1 次提交
-
-
由 Zhao Yakui 提交于
Sometimes we will use a crtc for integerated LVDS, which is different with that assigned by BIOS. If we want to get flicker-free transitions, then we could read out the current state for it and set our current state accordingly. But it is true that if we aren't reading current state out, we do need to turn everything off before modesetting. Otherwise the clocks can get very angry and we get things worse than a flicker at boot. In fact we also do the similar thing in UMS mode. We will disable all the possible outputs/crtcs for the first modesetting. So we disable all the possible outputs/crtcs before entering the KMS mode. Before we configure connector/encoder/crtc, the function of drm_helper_disable_unused_function can disable all the possible outputs/crtcs. Signed-off-by: NZhao Yakui <yakui.zhao@intel.com> Reviewed-by: NEric Anholt <eric@anholt.net> Reviewed-by: NRafal Milecki <zajec5@gmail.com> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 24 11月, 2009 1 次提交
-
-
由 Adam Jackson 提交于
This matches the X server's fallback modes when using RANDR 1.2. See also: http://bugzilla.redhat.com/538761Signed-off-by: NAdam Jackson <ajax@redhat.com> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 10 11月, 2009 1 次提交
-
-
由 Francisco Jerez 提交于
Fixes fdo bug 24710. Signed-off-by: NFrancisco Jerez <currojerez@riseup.net> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 26 9月, 2009 1 次提交
-
-
由 Dave Airlie 提交于
If drivers don't init the fb helper on the connector, the cmdline code won't work, but it shouldn't crash either. Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 25 9月, 2009 1 次提交
-
-
由 Dave Airlie 提交于
[note this requires an fb patch posted to linux-fbdev-devel already] This uses the normal video= command line option to control the kms output setup at boot time. It is used to override the autodetection done by kms. video= normally takes a framebuffer as the first parameter, in kms it will take a connector name, DVI-I-1, or LVDS-1 etc. If no output connector is specified the mode string will apply to all connectors. The mode specification used will match down the probed modes, and if no mode is found it will add a CVT mode that matches. video=1024x768 - all connectors match a 1024x768 mode or add a CVT on video=VGA-1:1024x768, VGA-1 connector gets mode only. The same strings as used in current fb modedb.c are used, except I've added three more letters, e, D, d, e = enable, D = enable Digital, d = disable, which allow a connector to be forced into a certain state. Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 18 9月, 2009 1 次提交
-
-
由 Ben Skeggs 提交于
Signed-off-by: NBen Skeggs <bskeggs@redhat.com> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 08 9月, 2009 1 次提交
-
-
由 Adam Jackson 提交于
When an output was disconnected, its mode list would remain. If you later plugged into a sink with no EDID (projector, etc), you'd inherit the mode list from the old sink, which is not what you want. taken from Fedora kernel Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 07 9月, 2009 2 次提交
-
-
由 Dave Airlie 提交于
The new code adds modes in the helper, which makes more sense I disliked the non-driver code adding modes. Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 ykzhao 提交于
Add the default mode for every output device when there is no mode for it. Signed-off-by: NZhao Yakui <yakui.zhao@intel.com> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 02 9月, 2009 3 次提交
-
-
由 Maarten Maathuis 提交于
Signed-off-by: NMaarten Maathuis <madman2003@gmail.com> Signed-off-by: NDave Airlie <airlied@linux.ie>
-
由 Dave Airlie 提交于
We only want to NULL encoder->crtc when it is off. Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 Dave Airlie 提交于
For shared tv-out and VGA encoders, we really need to know if the encoder is just being switched off temporarily in blanking or if we are really disabling it hard. Also we need to try harder to disconnect encoders from unused connectors so we can share more efficently. (shared encoders stuff is coming in radeon tv-out support) Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 31 8月, 2009 2 次提交
-
-
由 Maarten Maathuis 提交于
- Previously the old encoder would be called during modeset and without a connector bad things happened. Signed-off-by: NMaarten Maathuis <madman2003@gmail.com> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 Maarten Maathuis 提交于
- The previous system was not very transparent, nor flexible. - This is needed to be able to fix a few bugs in the mechanism. Signed-off-by: NMaarten Maathuis <madman2003@gmail.com> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 04 8月, 2009 2 次提交
-
-
由 Zhao Yakui 提交于
Add the debug info in generic drm mode by using DRM_DEBUG_KMS Signed-off-by: NZhao Yakui <yakui.zhao@intel.com> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 Jakob Bornecrantz 提交于
This was caught by Weiss. Also added some comments to the fb_changed and mode_changed variables to explain what they do. Signed-off-by: NJakob Bornecrantz <jakob@vmware.com> Tested-by: NThomas White <taw@bitwiz.org.uk> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 11 7月, 2009 1 次提交
-
-
由 Zhao Yakui 提交于
Signed-off-by: NZhao Yakui <yakui.zhao@intel.com> Acked-by: NJesse Barnes <jbarnes@virtuousgeek.org> Acked-by: NDave Airlie <airlied@redhat.com> Signed-off-by: NEric Anholt <eric@anholt.net>
-
- 04 6月, 2009 1 次提交
-
-
由 Keith Packard 提交于
Making the drm_crtc.c code recognize the DPMS property and invoke the connector->dpms function doesn't remove any capability from the driver while reducing code duplication. That just highlighted the problem with the existing DPMS functions which could turn off the connector, but failed to turn off any relevant crtcs. The new drm_helper_connector_dpms function manages all of that, using the drm_helper-specific crtc and encoder dpms functions, automatically computing the appropriate DPMS level for each object in the system. This fixes the current troubles in the i915 driver which left PLLs, pipes and planes running while in DPMS_OFF mode or even while they were unused. Signed-off-by: NKeith Packard <keithp@keithp.com> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 24 4月, 2009 1 次提交
-
-
由 Dave Airlie 提交于
We have a drm_set_config which takes a crtc/encoder/mode setup, and checks it to see if it can shortcut and just do a base setup, or whether a complete mode setting is required. Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 03 4月, 2009 2 次提交
-
-
由 Jesse Barnes 提交于
Cleanup some leftovers from the X port. Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
由 yakui_zhao 提交于
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: NZhao Yakui <yakui.zhao@intel.com> Signed-off-by: NDave Airlie <airlied@redhat.com>
-
- 25 2月, 2009 1 次提交
-
-
由 Jesse Barnes 提交于
In some cases we may receive a mode config that has a different CRTC<->encoder map that the current configuration. In that case, we need to disable any re-routed encoders before setting the mode, otherwise they may not pick up the new CRTC (if the output types are incompatible for example). Tested-by: NKristian Høgsberg <krh@bitplanet.net> Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: NDave Airlie <airlied@linux.ie>
-