17 Aug, 2016

1 commit

  • Move the documentation into Documentation/gpu, link it up and pull in
    the kernel doc.

    No actual text changes except that I did polish the kerneldoc a bit,
    especially for vga_client_register().

    v2: Remove some rst from vga-switcheroo.rst that I don't understand,
    but which seems to be the reason why the new vgaarbiter.rst sometimes
    drops out of the sidebar index.

    v3: Drop one level of headings and clarify the vgaarb one a bit.

    v4: Fix some typos (Sean).

    Cc: Jonathan Corbet
    Cc: linux-doc@vger.kernel.org
    Cc: Sean Paul
    Reviewed-by: Sean Paul
    Signed-off-by: Daniel Vetter
    Link: http://patchwork.freedesktop.org/patch/msgid/1471034937-651-20-git-send-email-daniel.vetter@ffwll.ch

    Daniel Vetter
     

08 Apr, 2015

1 commit


17 Sep, 2014

1 commit

  • Commit 20cde694027e ("x86, ia64: Move EFI_FB vga_default_device()
    initialization to pci_vga_fixup()") moved boot video device detection from
    efifb to x86 and ia64 pci/fixup.c.

    Remove the left-over #ifndef check that will always match since the
    corresponding arch-specific define is gone with above patch.

    Signed-off-by: Bruno Prémont
    Signed-off-by: Bjorn Helgaas
    CC: Matthew Garrett

    Bruno Prémont
     

11 Oct, 2013

1 commit

  • This reverts commit 81b5c7bc8de3e6f63419139c2fc91bf81dea8a7d.

    Adding drm/i915 into the vga arbiter chain means that X (in a piece of
    well-meant paranoia) will do a get/put on the vga decoding around
    _every_ accel call down into the ddx. Which results in some nice
    performance disasters [1]. This really breaks userspace, by disabling
    DRI for everyone, and stops OpenGL from working, this isn't limited
    to just the i915 but both the integrated and discrete GPUs on
    multi-gpu systems, in other words this causes untold worlds of pain,

    Ville tried to come up with a Great Hack to fiddle the required VGA
    I/O ops behind everyone's back using stop_machine, but that didn't
    really work out [2]. Given that we're fairly late in the -rc stage for
    such games let's just revert this all.

    One thing we might want to keep is to delay the disabling of the vga
    decoding until the fbdev emulation and the fbcon screen is set up. If
    we kill vga mem decoding beforehand fbcon can end up with a white
    square in the top-left corner it tried to save from the vga memory for
    a seamless transition. And we have bug reports on older platforms
    which seem to match these symptoms.

    But again that's something to play around with in -next.

    References: [1] http://lists.x.org/archives/xorg-devel/2013-September/037763.html
    References: [2] http://www.spinics.net/lists/intel-gfx/msg34062.html
    Cc: Alex Williamson
    Cc: Ville Syrjälä
    Cc: Chris Wilson
    Signed-off-by: Daniel Vetter
    Signed-off-by: Dave Airlie

    Dave Airlie
     

04 Sep, 2013

1 commit

  • This is intended to add VGA arbiter support for Intel HD graphics on
    Core processors. The old GMCH registers no longer exist, so even
    though it appears that i915 participates in VGA arbitration, it doesn't
    work. On Intel HD graphics we already attempt to disable VGA regions
    of the device. This makes registering as a VGA client unnecessary since
    we don't intend to operate differently depending on how many VGA devices
    are present. We can disable VGA memory regions by clearing the memory
    enable bit in the VGA MSR. That only leaves VGA IO, which we update
    the VGA arbiter to know that we don't participate in VGA memory
    arbitration. We also add a hook on unload to re-enable memory and
    reinstate VGA memory arbitration.

    v3: Use explicit LEGACY_IO | LEGACY_MEM when restoring rather than
    LEGACY_MASK, per Ville's comments.

    v2: I915_READ/WRITE accessors don't work in i915_disable_vga, use inb/outb
    directly. Also, on the driver unbind VGA enable path, acquire legacy
    IO to re-enable VGA memory. Correct comment.

    Signed-off-by: Alex Williamson
    Reviewed-by: Ville Syrjälä
    [danvet: Add patch changelog. Also squash in a fixup to have a dummy
    static inline for vga_set_legacy_decoding for CONFIG_VGA_ARB=n as
    reported by the 0-day kernel build bot.]
    Signed-off-by: Daniel Vetter

    fixup 2

    Alex Williamson
     

19 Nov, 2012

1 commit


03 May, 2012

1 commit


02 May, 2012

1 commit

  • …m-intel into drm-core-next

    Daniel Vetter writes:

    A new drm-intel-next pull. Highlights:
    - More gmbus patches from Daniel Kurtz, I think gmbus is now ready, all
    known issues fixed.
    - Fencing cleanup and pipelined fencing removal from Chris.
    - rc6 residency interface from Ben, useful for powertop.
    - Cleanups and code reorg around the ringbuffer code (Ben&me).
    - Use hw semaphores in the pageflip code from Ben.
    - More vlv stuff from Jesse, unfortunately his vlv cpu is doa, so less
    merged than I've hoped for - we still have the unused function warning :(
    - More hsw patches from Eugeni, again, not yet enabled fully.
    - intel_pm.c refactoring from Eugeni.
    - Ironlake sprite support from Chris.
    - And various smaller improvements/fixes all over the place.

    Note that this pull request also contains a backmerge of -rc3 to sort out
    a few things in -next. I've also had to frob the shortlog a bit to exclude
    anything that -rc3 brings in with this pull.

    Regression wise we have a few strange bugs going on, but for all of them
    closer inspection revealed that they've been pre-existing, just now
    slightly more likely to be hit. And for most of them we have a patch
    already. Otherwise QA has not reported any regressions, and I'm also not
    aware of anything bad happening in 3.4.

    * tag 'drm-intel-next-2012-04-23' of git://people.freedesktop.org/~danvet/drm-intel: (420 commits)
    drm/i915: rc6 residency (fix the fix)
    drm/i915/tv: fix open-coded ARRAY_SIZE.
    drm/i915: invalidate render cache on gen2
    drm/i915: Silence the change of LVDS sync polarity
    drm/i915: add generic power management initialization
    drm/i915: move clock gating functionality into intel_pm module
    drm/i915: move emon functionality into intel_pm module
    drm/i915: move drps, rps and rc6-related functions to intel_pm
    drm/i915: fix line breaks in intel_pm
    drm/i915: move watermarks settings into intel_pm module
    drm/i915: move fbc-related functionality into intel_pm module
    drm/i915: Refactor get_fence() to use the common fence writing routine
    drm/i915: Refactor fence clearing to use the common fence writing routine
    drm/i915: Refactor put_fence() to use the common fence writing routine
    drm/i915: Prepare to consolidate fence writing
    drm/i915: Remove the unsightly "optimisation" from flush_fence()
    drm/i915: Simplify fence finding
    drm/i915: Discard the unused obj->last_fenced_ring
    drm/i915: Remove unused ring->setup_seqno
    drm/i915: Remove fence pipelining
    ...

    Dave Airlie
     

24 Apr, 2012

1 commit

  • The default VGA device is a somewhat fluid concept on platforms with
    multiple GPUs. Add support for setting it so switching code can update
    things appropriately, and make sure that the sysfs code returns the right
    device if it's changed.

    v2: Updated to fix builds when __ARCH_HAS_VGA_DEFAULT_DEVICE is false.

    Signed-off-by: Matthew Garrett
    Acked-by: H. Peter Anvin
    Acked-by: benh@kernel.crashing.org
    Cc: airlied@redhat.com
    Signed-off-by: Dave Airlie

    Matthew Garrett
     

11 Apr, 2012

1 commit

  • Fix build warnings by providing a struct stub since no fields of
    the struct are used:

    include/linux/vgaarb.h:66:9: warning: 'struct pci_dev' declared inside parameter list
    include/linux/vgaarb.h:66:9: warning: its scope is only this definition or declaration, which is probably not what you want
    include/linux/vgaarb.h:99:34: warning: 'struct pci_dev' declared inside parameter list
    include/linux/vgaarb.h:109:6: warning: 'struct pci_dev' declared inside parameter list
    include/linux/vgaarb.h:121:8: warning: 'struct pci_dev' declared inside parameter list
    include/linux/vgaarb.h:140:37: warning: 'struct pci_dev' declared inside parameter list

    Signed-off-by: Randy Dunlap
    Signed-off-by: Dave Airlie

    Randy Dunlap
     

31 Mar, 2011

1 commit


27 Aug, 2010

1 commit


12 Aug, 2010

1 commit


21 Jul, 2010

1 commit


03 Jun, 2010

1 commit


25 Sep, 2009

1 commit

  • * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (21 commits)
    x86/PCI: make 32 bit NUMA node array int, not unsigned char
    x86/PCI: default pcibus cpumask to all cpus if it lacks affinity
    MAINTAINTERS: remove hotplug driver entries
    PCI: pciehp: remove slot capabilities definitions
    PCI: pciehp: remove error message definitions
    PCI: pciehp: remove number field
    PCI: pciehp: remove hpc_ops
    PCI: pciehp: remove pci_dev field
    PCI: pciehp: remove crit_sect mutex
    PCI: pciehp: remove slot_bus field
    PCI: pciehp: remove first_slot field
    PCI: pciehp: remove slot_device_offset field
    PCI: pciehp: remove hp_slot field
    PCI: pciehp: remove device field
    PCI: pciehp: remove bus field
    PCI: pciehp: remove slot_num_inc field
    PCI: pciehp: remove num_slots field
    PCI: pciehp: remove slot_list field
    PCI: fix VGA arbiter header file
    PCI: Disable AER with pci=nomsi
    ...

    Fixed up trivial conflicts in MAINTAINERS

    Linus Torvalds
     

23 Sep, 2009

1 commit


18 Sep, 2009

1 commit


10 Sep, 2009

2 commits

  • Fix some warnings reported in linux-next + also cleanup some
    comment errors noticed by Pekka Paalanen.

    Signed-off-by: Dave Airlie
    Signed-off-by: Jesse Barnes

    Dave Airlie
     
  • Background:
    Graphic devices are accessed through ranges in I/O or memory space. While most
    modern devices allow relocation of such ranges, some "Legacy" VGA devices
    implemented on PCI will typically have the same "hard-decoded" addresses as
    they did on ISA. For more details see "PCI Bus Binding to IEEE Std 1275-1994
    Standard for Boot (Initialization Configuration) Firmware Revision 2.1"
    Section 7, Legacy Devices.

    The Resource Access Control (RAC) module inside the X server currently does
    the task of arbitration when more than one legacy device co-exists on the same
    machine. But the problem happens when these devices are trying to be accessed
    by different userspace clients (e.g. two server in parallel). Their address
    assignments conflict. Therefore an arbitration scheme _outside_ of the X
    server is needed to control the sharing of these resources. This document
    introduces the operation of the VGA arbiter implemented for Linux kernel.

    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Tiago Vignatti
    Signed-off-by: Dave Airlie
    Signed-off-by: Jesse Barnes

    Benjamin Herrenschmidt