1. 17 Mar, 2017 1 commit
    • Adam Jackson's avatar
      xfree86: Remove 24bpp pixmap format support (v2) · e33be78e
      Adam Jackson authored
      There's really no reason to pretend to support this, apps hate it, all
      we're doing is giving people a way to injure themselves. It doesn't work
      anyway with any Radeon, any NVIDIA chip, or any Intel chip since i810.
      Rip out all the logic for handling 24bpp pixmaps and framebuffers, and
      silently ignore the old options that would ask for it.
      
      The cirrus alpine driver has been updated to default to 16bpp, and both
      it and the i810 driver can now use the 32->24 conversion code in shadow
      if they want. All other drivers support 32bpp. Configurations that
      explicitly request 24bpp in order to fit in VRAM will be broken now
      though.
      
      v2: Fix command line options to silently ignore 24bpp rather than fail
      Reviewed-by: Eric Anholt's avatarEric Anholt <eric@anholt.net>
      Signed-off-by: Adam Jackson's avatarAdam Jackson <ajax@redhat.com>
      e33be78e
  2. 16 Feb, 2017 7 commits
  3. 25 Jan, 2017 1 commit
  4. 08 Jun, 2016 1 commit
  5. 29 Feb, 2016 1 commit
  6. 27 Apr, 2015 2 commits
    • Adam Jackson's avatar
      xf86Crtc: right-of placement by default. · e472dd89
      Adam Jackson authored
      Change the X server default to do right-of placement
      at startup. This gives an option to allow drivers to
      override this placement, which has been used for server
      drivers where both heads are not in the same physical
      place.
      
      Been in Fedora for a few years, but for tiled monitors
      we really want something along these lines.
      
      This is an ABI break.
      Reviewed-by: Keith Packard's avatarKeith Packard <keithp@keithp.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      e472dd89
    • Dave Airlie's avatar
      xserver: add xorg.conf support for gpu devices. (v2.1) · 3b6930c5
      Dave Airlie authored
      This allows gpu devices to be specified in xorg.conf Screen sections.
      
      Section "Device"
              Driver "intel"
              Identifier "intel0"
              Option "AccelMethod" "uxa"
      EndSection
      
      Section "Device"
              Driver "modesetting"
              Identifier "usb0"
      EndSection
      
      Section "Screen"
              Identifier "screen"
              Device "intel0"
              GPUDevice "usb0"
      EndSection
      
      This should allow for easier tweaking of driver options which
      currently mess up the GPU device discovery process.
      
      v2: add error handling for more than 4 devices, (Emil)
      fixup CONF_ defines to consistency
      add MAX_GPUDEVICES define
      (yes there is two defines, this is consistent
      with everywhere else).
      remove braces around slp (Mark Kettenis)
      man page fixups (Aaron)
      v2.1: fixup whitespace (Aaron)
      Reviewed-by: Keith Packard's avatarKeith Packard <keithp@keithp.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      3b6930c5
  7. 12 Nov, 2014 1 commit
  8. 26 Sep, 2014 1 commit
  9. 10 Mar, 2014 1 commit
  10. 12 Jan, 2014 4 commits
  11. 19 Oct, 2012 1 commit
  12. 06 Jul, 2012 3 commits
    • Dave Airlie's avatar
      xfree86: add framework for provider support in ddx. (v4) · 9b5cf2ed
      Dave Airlie authored
      This adds the framework for DDX provider support.
      
      v2: as per keithp's suggestion remove the xf86 provider object
      and just store it in the toplevel object.
      
      v3: update for new protocol
      
      v4: drop devPrivate, free name
      Reviewed-by: Keith Packard's avatarKeith Packard <keithp@keithp.com>
      Reviewed-by: Adam Jackson's avatarAdam Jackson <ajax@redhat.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      9b5cf2ed
    • Dave Airlie's avatar
      xfree86: add DDX gpu screen support. (v3) · 53b66c08
      Dave Airlie authored
      This just adds the structures and interfaces required for adding/deleteing
      gpu screens at the DDX level. The platform probe can pass a new flag
      to the driver, so they can call xf86AllocateScreen and pass back the new
      gpu screen flag.
      
      It also calls the gpu screens preinit and screeninit routines at
      startup.
      
      v2: fix delete screen use after free.
      
      v3: split out pScrn into separate patch
      Reviewed-by: Keith Packard's avatarKeith Packard <keithp@keithp.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      53b66c08
    • Dave Airlie's avatar
      xfree86: use udev to provide device enumeration for kms devices (v10) · cf664713
      Dave Airlie authored
      On Linux in order for future hotplug work, we are required to interface
      to udev to detect device creation/removal. In order to try and get
      some earlier testing on this, this patch adds the ability to use
      udev for device enumeration on Linux.
      
      At startup the list of drm/kms devices is probed and this info is
      used to load drivers.
      
      A new driver probing method is introduced that passes the udev
      device info to the driver for probing.
      
      The probing integrates with the pci probing code and will fallback
      to the pci probe and old school probe functions in turn.
      
      The flags parameter to the probe function will be used later
      to provide hotplug and gpu screen flags for the driver to behave
      in a different way.
      
      This patch changes the driver ABI, all drivers should at least
      be set with a NULL udev probe function after this commit.
      
      v2: rename to platform bus, now with 100% less udev specific,
      
      this version passes config_odev_attribs around which are an array
      of id/string pairs, then the udev code can attach the set of attribs
      it understands, the OS specific code can attach its attrib, and then
      the core/drivers can lookup the required attribs.
      
      also add MATCH_PCI_DEVICES macro.
      
      This version is mainly to address concerns raised by ajax.
      
      v3: Address comments from Peter.
      fix whitespace that snuck in.
      rework to use a linked list with some core functions that
      xf86 wraps.
      
      v4: add free list, fix struct whitespace.
      ajax this address most of your issues?
      
      v5: drop probe ifdef, fix logic issue
      
      v6: some overhaul after more testing.
      
      Implement primaryBus for platform devices.
      document hotplug.h dev attribs - drop sysname attrib
      fix build with udev kms disabled
      make probing work like the PCI probe code,
         match against bus id if one exists, or primary device.
      
      RFC: add new bus id support "PLAT:syspath". we probably
      want to match on this a bit different, or use a different
      property maybe. I was mainly wanting this for use with
      specifying usb devices in xorg.conf directly, but PLAT:path
      could also work I suppose.
      
      v6.1: add missing noop platform function
      
      v7: fix two interactions with pci probing and slot claiming, prevents
      pci and platform trying to load two drivers for same slot.
      
      v8: test with zaphod mode on -ati driver, fixup resulting issue
      clean up common probe code into another function, change busid
      matching to allow dropping end of strings.
      
      v9: fix platform probing logic so it actually works.
      v9.1: fix pdev init to NULL properly.
      
      v10: address most of Keith's concerns.
      
      v4 was thanks to Reviewed-by: Adam Jackson <ajax@redhat.com>
      v5 was Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
      Reviewed-by: Keith Packard's avatarKeith Packard <keithp@keithp.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      cf664713
  13. 05 Jun, 2012 1 commit
  14. 21 Mar, 2012 1 commit
    • Keith Packard's avatar
      Introduce a consistent coding style · 9838b703
      Keith Packard authored
      This is strictly the application of the script 'x-indent-all.sh'
      from util/modular. Compared to the patch that Daniel posted in
      January, I've added a few indent flags:
      
      	-bap
      	-psl
      	-T PrivatePtr
      	-T pmWait
      	-T _XFUNCPROTOBEGIN
      	-T _XFUNCPROTOEND
      	-T _X_EXPORT
      
      The typedefs were needed to make the output of sdksyms.sh match the
      previous output, otherwise, the code is formatted badly enough that
      sdksyms.sh generates incorrect output.
      
      The generated code was compared with the previous version and found to
      be essentially identical -- "assert" line numbers and BUILD_TIME were
      the only differences found.
      
      The comparison was done with this script:
      
      dir1=$1
      dir2=$2
      
      for dir in $dir1 $dir2; do
      	(cd $dir && find . -name '*.o' | while read file; do
      		dir=`dirname $file`
      		base=`basename $file .o`
      		dump=$dir/$base.dump
      		objdump -d $file > $dump
      	done)
      done
      
      find $dir1 -name '*.dump' | while read dump; do
      	otherdump=`echo $dump | sed "s;$dir1;$dir2;"`
      	diff -u $dump $otherdump
      done
      Signed-off-by: Keith Packard's avatarKeith Packard <keithp@keithp.com>
      Acked-by: Daniel Stone's avatarDaniel Stone <daniel@fooishbar.org>
      Acked-by: Alan Coopersmith's avatarAlan Coopersmith <alan.coopersmith@oracle.com>
      9838b703
  15. 16 Oct, 2011 2 commits
  16. 20 Dec, 2010 1 commit
    • Adam Jackson's avatar
      xfree86: Remove xf86EnterServerState · ce13a1db
      Adam Jackson authored
      Back when we had RAC this was a vaguely meaningful thing.  Since then
      it's been a glorified (and confusing) wrapper around xf86BlockSIGIO.
      
      Note that the APM and VT switch code are unusual relative to other code
      that cares about SIGIO state.  Most callers push a SIGIO disable to
      create a critical section for the duration of the caller's stack frame,
      but those two effectively disable SIGIO after their return and re-enable
      on their next entry.
      Reviewed-by: default avatarTiago Vignatti <tigo.vignatti@nokia.com>
      Signed-off-by: Adam Jackson's avatarAdam Jackson <ajax@redhat.com>
      ce13a1db
  17. 26 Nov, 2010 1 commit
  18. 28 Sep, 2010 1 commit
  19. 09 Sep, 2010 2 commits
  20. 25 May, 2010 1 commit
    • Peter Hutterer's avatar
      xfree86: store the InputAttributes in the input device. · c2d0b3b4
      Peter Hutterer authored
      InputAttributes largely decide which configuration values get merged from
      the xorg.conf.d snippets. While they are available in the config backend,
      they are not available for any other callers of NewInputDeviceRequest().
      
      Drivers implementing driver-side hotplugging do not have access to these
      attributes and cannot have xorg.conf.d snippets specific to dependent
      devices. For example, the following case cannot work right now:
      
      Section "InputClass"
              MatchProduct "Wacom"
              Option "PressCurve" "0 0 100 100"
              ...
      EndSection
      
      Section "InputClass"
              MatchProduct "Wacom"
              MatchProduct "eraser"
              Option "PressCurve" "10 10 50 50"
              ...
      EndSection
      
      The second section is not triggered, as the wacom driver cannot supply the
      InputAttributes to NewInputDeviceRequest().
      
      Add the attributes to the IDevRec and merge them into the InputInfoRec to
      make them accessible in the driver. This changes the ABI for input drivers.
      Signed-off-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>
      Reviewed-by: Dan Nicholson's avatarDan Nicholson <dbn.lists@gmail.com>
      Signed-off-by: Keith Packard's avatarKeith Packard <keithp@keithp.com>
      c2d0b3b4
  21. 24 May, 2010 1 commit
  22. 05 Jan, 2010 1 commit
    • Adam Jackson's avatar
      modes: Remove the ClockRanges type · 326429ba
      Adam Jackson authored
      ba2d39dd introduced warnings:
      
      xf86Mode.c: In function ‘xf86CheckModeForDriver’:
      xf86Mode.c:986: warning: passing argument 1 of ‘modeInClockRange’ from incompatible pointer type
      xf86Mode.c:253: note: expected ‘ClockRangePtr’ but argument is of type ‘ClockRangesPtr’
      xf86Mode.c:1002: warning: passing argument 1 of ‘modeInClockRange’ from incompatible pointer type
      xf86Mode.c:253: note: expected ‘ClockRangePtr’ but argument is of type ‘ClockRangesPtr’
      
      Because I foolishly didn't notice that we had types with nearly
      identical members named ClockRange and ClockRanges.  The latter
      contained an extra 'strategy' member at the end, which claimed to be
      needed by the vidmode extension.  Of course, this was a lie: the only time
      we'd use it was in mode validation, for drivers using LOOKUP_CLKDIV2 with
      non-programmable clocks.  The only driver using LOOKUP_CLKDIV2 is
      rendition, which has a programmable clock.  The only driver using the
      ClockRanges type was smi, which did not use it for its 'strategy' member,
      so has been fixed to use ClockRange instead.
      Signed-off-by: Adam Jackson's avatarAdam Jackson <ajax@redhat.com>
      Reviewed-by: Keith Packard's avatarKeith Packard <keithp@keithp.com>
      Signed-off-by: Keith Packard's avatarKeith Packard <keithp@keithp.com>
      326429ba
  23. 29 Oct, 2009 1 commit
  24. 28 Aug, 2009 1 commit
    • Dave Airlie's avatar
      xf86 ddx: add vga arbiter support. · e454f106
      Dave Airlie authored
      This adds support for using the libpciaccess interface for
      vga arbitration support on top of a kernel which supports it.
      
      Currently patches are queued for kernel 2.6.32 in jbarnes
      pci tree, and shipping in Fedora kernel.
      
      Co-authors:
      Tiago Vignatti <tiago.vignatti@nokia.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      e454f106
  25. 20 Aug, 2009 1 commit
  26. 28 Jul, 2009 1 commit