1. 20 7月, 2012 1 次提交
    • D
      drm/fb-helper: delay hotplug handling when partially bound · 343065a6
      Daniel Vetter 提交于
      Ok, this requires quite a dance to actually hit:
      1) We plug in a 2nd screen, enable it in both X and (by vt-switching)
      in the fbcon.
      2) We disable that screen again in with xrandr.
      3) We vt-switch again, so that fbcon displays on the 2nd screen, but X
      on the first screen. This obviously needs a driver that doesn't switch
      off unused functions when regaining the VT.
      3) When X controls the vt, we unplug that screen.
      
      Now drm_fb_helper_hotplug_event we noticed that that some crtcs are
      bound, but because we still have the fbcon on the 2nd screeen we also
      have bound set. Which means the fbcon wrongly assumes it's in control
      of everything an happily disables the output on the 2nd screen, but
      enables its fb on the first screen.
      
      Work around this issue by counting how many crtcs are bound and how
      many are bound to fbcon and assuming that when fbcon isn't bound to
      all of them, it better not touch the output configuration.
      
      Conceptually this is the same as only restoring the fbcon output
      configuration on the driver's ->lastclose, when we're sure that no one
      else is using kms. So this should be consistent with existing kms
      drivers.
      
      Chris has created a separate patch for the intel ddx, but I think we
      should fix this issue here regardless - the fbcon messing with the
      output config while it's not fully in control simply isn't a too
      polite behaviour.
      
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50772Tested-by: NMaxim A. Nikulin <M.A.Nikulin@gmail.com>
      Signed-Off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      343065a6
  2. 22 5月, 2012 2 次提交
  3. 20 4月, 2012 1 次提交
  4. 03 4月, 2012 1 次提交
  5. 03 2月, 2012 4 次提交
  6. 11 11月, 2011 1 次提交
  7. 01 11月, 2011 1 次提交
  8. 09 9月, 2011 1 次提交
  9. 16 5月, 2011 1 次提交
    • C
      drm: Take lock around probes for drm_fb_helper_hotplug_event · 752d2635
      Chris Wilson 提交于
      We need to hold the dev->mode_config.mutex whilst detecting the output
      status. But we also need to drop it for the call into
      drm_fb_helper_single_fb_probe(), which indirectly acquires the lock when
      attaching the fbcon.
      
      Failure to do so exposes a race with normal output probing. Detected by
      adding some warnings that the mutex is held to the backend detect routines:
      
      [   17.772456] WARNING: at drivers/gpu/drm/i915/intel_crt.c:471 intel_crt_detect+0x3e/0x373 [i915]()
      [   17.772458] Hardware name: Latitude E6400
      [   17.772460] Modules linked in: ....
      [   17.772582] Pid: 11, comm: kworker/0:1 Tainted: G        W 2.6.38.4-custom.2 #8
      [   17.772584] Call Trace:
      [   17.772591]  [<ffffffff81046af5>] ? warn_slowpath_common+0x78/0x8c
      [   17.772603]  [<ffffffffa03f3e5c>] ? intel_crt_detect+0x3e/0x373 [i915]
      [   17.772612]  [<ffffffffa0355d49>] ?  drm_helper_probe_single_connector_modes+0xbf/0x2af [drm_kms_helper]
      [   17.772619]  [<ffffffffa03534d5>] ?  drm_fb_helper_probe_connector_modes+0x39/0x4d [drm_kms_helper]
      [   17.772625]  [<ffffffffa0354760>] ?  drm_fb_helper_hotplug_event+0xa5/0xc3 [drm_kms_helper]
      [   17.772633]  [<ffffffffa035577f>] ? output_poll_execute+0x146/0x17c [drm_kms_helper]
      [   17.772638]  [<ffffffff81193c01>] ? cfq_init_queue+0x247/0x345
      [   17.772644]  [<ffffffffa0355639>] ? output_poll_execute+0x0/0x17c [drm_kms_helper]
      [   17.772648]  [<ffffffff8105b540>] ? process_one_work+0x193/0x28e
      [   17.772652]  [<ffffffff8105c6bc>] ? worker_thread+0xef/0x172
      [   17.772655]  [<ffffffff8105c5cd>] ? worker_thread+0x0/0x172
      [   17.772658]  [<ffffffff8105c5cd>] ? worker_thread+0x0/0x172
      [   17.772663]  [<ffffffff8105f767>] ? kthread+0x7a/0x82
      [   17.772668]  [<ffffffff8100a724>] ? kernel_thread_helper+0x4/0x10
      [   17.772671]  [<ffffffff8105f6ed>] ? kthread+0x0/0x82
      [   17.772674]  [<ffffffff8100a720>] ? kernel_thread_helper+0x0/0x10
      Reported-by: NFrederik Himpe <fhimpe@telenet.be>
      References: https://bugs.freedesktop.org/show_bug.cgi?id=36394Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      752d2635
  10. 28 4月, 2011 2 次提交
    • C
      drm: Export the command-line mode parser · 1794d257
      Chris Wilson 提交于
      In the absence of configuration data for providing the fixed mode for
      a panel, I would like to be able to pass such modes along a separate
      module paramenter. To do so, I then need to parse a modeline from a
      string, which drm is already capable of. Export that capability to the
      drivers.
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      1794d257
    • C
      drm: Take lock around probes for drm_fb_helper_hotplug_event · 7394371d
      Chris Wilson 提交于
      We need to hold the dev->mode_config.mutex whilst detecting the output
      status. But we also need to drop it for the call into
      drm_fb_helper_single_fb_probe(), which indirectly acquires the lock when
      attaching the fbcon.
      
      Failure to do so exposes a race with normal output probing. Detected by
      adding some warnings that the mutex is held to the backend detect routines:
      
      [   17.772456] WARNING: at drivers/gpu/drm/i915/intel_crt.c:471 intel_crt_detect+0x3e/0x373 [i915]()
      [   17.772458] Hardware name: Latitude E6400
      [   17.772460] Modules linked in: ....
      [   17.772582] Pid: 11, comm: kworker/0:1 Tainted: G        W 2.6.38.4-custom.2 #8
      [   17.772584] Call Trace:
      [   17.772591]  [<ffffffff81046af5>] ? warn_slowpath_common+0x78/0x8c
      [   17.772603]  [<ffffffffa03f3e5c>] ? intel_crt_detect+0x3e/0x373 [i915]
      [   17.772612]  [<ffffffffa0355d49>] ?  drm_helper_probe_single_connector_modes+0xbf/0x2af [drm_kms_helper]
      [   17.772619]  [<ffffffffa03534d5>] ?  drm_fb_helper_probe_connector_modes+0x39/0x4d [drm_kms_helper]
      [   17.772625]  [<ffffffffa0354760>] ?  drm_fb_helper_hotplug_event+0xa5/0xc3 [drm_kms_helper]
      [   17.772633]  [<ffffffffa035577f>] ? output_poll_execute+0x146/0x17c [drm_kms_helper]
      [   17.772638]  [<ffffffff81193c01>] ? cfq_init_queue+0x247/0x345
      [   17.772644]  [<ffffffffa0355639>] ? output_poll_execute+0x0/0x17c [drm_kms_helper]
      [   17.772648]  [<ffffffff8105b540>] ? process_one_work+0x193/0x28e
      [   17.772652]  [<ffffffff8105c6bc>] ? worker_thread+0xef/0x172
      [   17.772655]  [<ffffffff8105c5cd>] ? worker_thread+0x0/0x172
      [   17.772658]  [<ffffffff8105c5cd>] ? worker_thread+0x0/0x172
      [   17.772663]  [<ffffffff8105f767>] ? kthread+0x7a/0x82
      [   17.772668]  [<ffffffff8100a724>] ? kernel_thread_helper+0x4/0x10
      [   17.772671]  [<ffffffff8105f6ed>] ? kthread+0x0/0x82
      [   17.772674]  [<ffffffff8100a720>] ? kernel_thread_helper+0x0/0x10
      Reported-by: NFrederik Himpe <fhimpe@telenet.be>
      References: https://bugs.freedesktop.org/show_bug.cgi?id=36394Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      7394371d
  11. 27 4月, 2011 1 次提交
  12. 08 3月, 2011 1 次提交
  13. 23 2月, 2011 1 次提交
  14. 21 1月, 2011 1 次提交
    • D
      kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT · 6a108a14
      David Rientjes 提交于
      The meaning of CONFIG_EMBEDDED has long since been obsoleted; the option
      is used to configure any non-standard kernel with a much larger scope than
      only small devices.
      
      This patch renames the option to CONFIG_EXPERT in init/Kconfig and fixes
      references to the option throughout the kernel.  A new CONFIG_EMBEDDED
      option is added that automatically selects CONFIG_EXPERT when enabled and
      can be used in the future to isolate options that should only be
      considered for embedded systems (RISC architectures, SLOB, etc).
      
      Calling the option "EXPERT" more accurately represents its intention: only
      expert users who understand the impact of the configuration changes they
      are making should enable it.
      Reviewed-by: NIngo Molnar <mingo@elte.hu>
      Acked-by: NDavid Woodhouse <david.woodhouse@intel.com>
      Signed-off-by: NDavid Rientjes <rientjes@google.com>
      Cc: Greg KH <gregkh@suse.de>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Jens Axboe <axboe@kernel.dk>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Robin Holt <holt@sgi.com>
      Cc: <linux-arch@vger.kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      6a108a14
  15. 15 1月, 2011 1 次提交
  16. 07 1月, 2011 1 次提交
  17. 21 12月, 2010 2 次提交
  18. 19 10月, 2010 2 次提交
  19. 06 10月, 2010 1 次提交
    • J
      drm, kdb, kms: Add an enter argument to mode_set_base_atomic() API · 413d45d3
      Jason Wessel 提交于
      Some devices such as the radeon chips receive information from user
      space which needs to be saved when executing an atomic mode set
      operation, else the user space would have to be queried again for the
      information.
      
      This patch extends the mode_set_base_atomic() call to pass an argument
      to indicate if this is an entry or an exit from an atomic kernel mode
      set change.  Individual drm drivers can properly save and restore
      state accordingly.
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      CC: Jesse Barnes <jbarnes@virtuousgeek.org>
      CC: David Airlie <airlied@linux.ie>
      CC: dri-devel@lists.freedesktop.org
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      413d45d3
  20. 20 8月, 2010 2 次提交
  21. 05 8月, 2010 2 次提交
  22. 07 7月, 2010 1 次提交
  23. 01 7月, 2010 1 次提交
  24. 08 6月, 2010 1 次提交
  25. 18 5月, 2010 3 次提交
    • D
      drm/fbdev: fix cloning on fbcon · 1d42bbc8
      Dave Airlie 提交于
      Simple cloning rules compared to server:
      (a) single crtc
      (b) > 1 connector active
      (c) check command line mode
      (d) try and find 1024x768 DMT mode if no command line.
      (e) fail to clone
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      1d42bbc8
    • D
      drm/fbdev: rework output polling to be back in the core. (v4) · eb1f8e4f
      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>
      eb1f8e4f
    • K
      drm: Prefix info printk about registering panic notifier with 'drm' · 3da1f33e
      Kirill Smelkov 提交于
      Recently I've studied my system dmesg and seen this:
      
        <lots of stuff before>
      1 [    0.478416] ACPI: Battery Slot [C1B4] (battery present)
      2 [    0.478648] ACPI: Battery Slot [C1B3] (battery absent)
      3 [    0.906678] [drm] initialized overlay support
      4 [    1.762304] Console: switching to colour frame buffer device 128x48
      5 [    1.765211] fb0: inteldrmfb frame buffer device
      6 [    1.765242] registered panic notifier
      7 [    1.765272] [drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 on minor 0
      8 [    1.765372] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
        <lots of stuff after>
      
      and it was not evident who registered that panic notifier on line 6.
      
      I'd bought it as some low-level stuff needed by kernel itself, but the
      time was inappropriate -- too late for such things.
      
      So I had to study sources to see it was drm who was registering
      switch-to-fb on panic.
      
      Let's avoid possible confusion and mark this message as going from drm
      subsystem.
      
      (I'm a bit unsure whether to use '[drm]:' or 'drm:' -- the rest of the
       kernel just uses 'topic:', and even in drm_fb_helper.c we use 'fb%d:'
       without [] brackets. Either way is ok with me.)
      Signed-off-by: NKirill Smelkov <kirr@landau.phys.spbu.ru>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      3da1f33e
  26. 08 4月, 2010 1 次提交
  27. 07 4月, 2010 3 次提交