10 Aug, 2010

3 commits

  • (For some reason I thought that went in ages ago ...)

    This fixes support for PCI domains in what should hopefully be a backward
    compatible way along with a change to libdrm.

    When the interface version is set to 1.4, we assume userspace understands
    domains and the world is at peace. We thus pass proper domain numbers
    instead of 0 to userspace.

    The newer libdrm will then try 1.4 first, and fallback to 1.1, along with
    ignoring domains in the later case (well, except on alpha of course)

    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Dave Airlie

    Benjamin Herrenschmidt
     
  • * 'nouveau/for-airlied' of /ssd/git/drm-nouveau-next: (27 commits)
    drm/nvc0: fix typo in PRAMIN flush
    drm/nouveau: Fix DCB TMDS config parsing.
    drm/nv30: Fix PFB init for nv31.
    drm/nv04: Fix up SGRAM density detection.
    drm/i2c/ch7006: Don't use POWER_LEVEL_FULL_POWER_OFF on early chip versions.
    drm/nouveau: Init dcb->or on cards that have no usable DCB table.
    drm/nouveau: reduce severity of some "error" messages
    drm/nvc0: backup bar3 channel on suspend
    drm/nouveau: implement init table opcodex 0x5e and 0x9a
    drm/nouveau: implement init table op 0x57, INIT_LTIME
    drm/nvc0: implement crtc pll setting
    drm/nvc0: fix evo dma object so we display something
    drm/nvc0: rudimentary instmem support
    drm/nvc0: implement memory detection
    drm/nvc0: allow INIT_GPIO
    drm/nvc0: starting point for GF100 support, everything stubbed
    drm/nv30: Workaround dual TMDS brain damage.
    drm/nouveau: No need to set slave TV encoder configs explicitly.
    drm/nv17-nv4x: Attempt to init some external TMDS transmitters.
    drm/nv10: Fix up switching of NV10TCL_DMA_VTXBUF.
    ...

    Dave Airlie
     
  • This hasn't mattered up until the ioctl started using the value, and it fell
    apart.

    fixes fd.o 29340, Ubuntu LP 606081

    [airlied: cleaned up whitespace and don't need an error before pushing]

    Signed-off-by: Dr. David Alan Gilbert
    Cc: stable@kernel.org
    Signed-off-by: Dave Airlie

    Dr. David Alan Gilbert
     

09 Aug, 2010

6 commits


06 Aug, 2010

21 commits


05 Aug, 2010

7 commits

  • IRQ and resource[] may not have correct values until
    after PCI hotplug setup occurs at pci_enable_device() time.

    The semantic match that finds this problem is as follows:

    //
    @@
    identifier x;
    identifier request ~= "pci_request.*|pci_resource.*";
    @@

    (
    * x->irq
    |
    * x->resource
    |
    * request(x, ...)
    )
    ...
    *pci_enable_device(x)
    //

    Signed-off-by: Kulikov Vasiliy
    Signed-off-by: Dave Airlie

    Kulikov Vasiliy
     
  • IRQ and resource[] may not have correct values until
    after PCI hotplug setup occurs at pci_enable_device() time.

    The semantic match that finds this problem is as follows:

    //
    @@
    identifier x;
    identifier request ~= "pci_request.*|pci_resource.*";
    @@

    (
    * x->irq
    |
    * x->resource
    |
    * request(x, ...)
    )
    ...
    *pci_enable_device(x)
    //

    Signed-off-by: Kulikov Vasiliy
    Signed-off-by: Dave Airlie

    Kulikov Vasiliy
     
  • This restricts the use of the big kernel lock to the i830 and i810
    device drivers. The three remaining users in common code (open, ioctl
    and release) get converted to a new mutex, the drm_global_mutex,
    making the locking stricter than the big kernel lock.

    This may have a performance impact, but only in those cases that
    currently don't use DRM_UNLOCKED flag in the ioctl list and would
    benefit from that anyway.

    The reason why i810 and i830 cannot use drm_global_mutex in their
    mmap functions is a lock-order inversion problem between the current
    use of the BKL and mmap_sem in these drivers. Since the BKL has
    release-on-sleep semantics, it's harmless but it would cause trouble
    if we replace the BKL with a mutex.

    Instead, these drivers get their own ioctl wrappers that take the
    BKL around every ioctl call and then set their own handlers as
    DRM_UNLOCKED.

    Signed-off-by: Arnd Bergmann
    Cc: David Airlie
    Cc: dri-devel@lists.freedesktop.org
    Signed-off-by: Dave Airlie

    Arnd Bergmann
     
  • In most use cases the driver will be using the same static config all
    the time: interpreting i2c_board_info::platform_data as the default
    config we can can save the GPU driver a redundant set_config() call.

    Signed-off-by: Francisco Jerez
    Signed-off-by: Dave Airlie

    Francisco Jerez
     
  • This is required should we ever attempt to use an io-mapping where
    KM_USER0 is verboten, such as inside an IRQ context.

    Signed-off-by: Chris Wilson
    Cc: Eric Anholt
    Signed-off-by: Dave Airlie

    Chris Wilson
     
  • R4xx also uses the atom add connector function, but underscan is only
    supported on avivo chips.

    Signed-off-by: Alex Deucher
    Signed-off-by: Dave Airlie

    Alex Deucher
     
  • v2: Userspace (notably xf86-video-{intel,ati}) became confused when
    drmSetInterfaceVersion() started returning -EBUSY as they used a second
    call (the first done in drmOpen()) to check their master credentials.
    Since userspace wants to be able to repeatedly call
    drmSetInterfaceVersion() allow them to do so.

    v3: Rebase to drm-core-next.

    Signed-off-by: Chris Wilson
    Signed-off-by: Dave Airlie

    Chris Wilson
     

04 Aug, 2010

3 commits