25 Feb, 2011

1 commit


03 Dec, 2010

3 commits


18 Nov, 2010

1 commit


17 Aug, 2010

1 commit

  • With the current screwed but its ABI, ioctls for the drm, Linus pointed out that we could allow userspace to specify the allocation size, but we pass it to the driver which then uses it blindly to store a struct. Now if userspace specifies the allocation size as smaller than the driver needs, the driver can possibly overwrite memory.

    This patch restructures the driver ioctls so we store the structure size we are expecting, and make sure we allocate at least that size. The copy from/to userspace are still restricted to the size the user specifies, this allows ioctl structs to grow on both sides of the equation.

    Up until now we didn't really use the DRM_IOCTL defines in the kernel, so this cleans them up and adds them for nouveau.

    v2:
    fix nouveau pushbuf arg (thanks to Ben for pointing it out)

    Reported-by: Linus Torvalds
    Signed-off-by: Dave Airlie

    Dave Airlie
     

28 May, 2010

1 commit


25 Feb, 2010

1 commit

  • This commit breaks the userspace interface, and requires a new libdrm for
    nouveau to operate again.

    The multiple GEM_PUSHBUF ioctls that were present in 0.0.15 for
    compatibility purposes are now gone, and replaced with the new ioctl which
    allows for multiple push buffers to be submitted (necessary for hw index
    buffers in the nv50 3d driver) and relocations to be applied on any buffer.

    A number of other ioctls (CARD_INIT, GEM_PIN, GEM_UNPIN) that were needed
    for userspace modesetting have also been removed.

    Signed-off-by: Ben Skeggs
    Signed-off-by: Francisco Jerez

    Ben Skeggs
     

09 Feb, 2010

1 commit


11 Dec, 2009

1 commit

  • This adds a drm/kms staging non-API stable driver for GPUs from NVIDIA.

    This driver is a KMS-based driver and requires a compatible nouveau
    userspace libdrm and nouveau X.org driver.

    This driver requires firmware files not available in this kernel tree,
    interested parties can find them via the nouveau project git archive.

    This driver is reverse engineered, and is in no way supported by nVidia.

    Support for nearly the complete range of nvidia hw from nv04->g80 (nv50)
    is available, and the kms driver should support driving nearly all
    output types (displayport is under development still) along with supporting
    suspend/resume.

    This work is all from the upstream nouveau project found at
    nouveau.freedesktop.org.

    The original authors list from nouveau git tree is:
    Anssi Hannula
    Ben Skeggs
    Francisco Jerez
    Maarten Maathuis
    Marcin Kościelnicki
    Matthew Garrett
    Matt Parnell
    Patrice Mandin
    Pekka Paalanen
    Xavier Chantry
    along with project founder Stephane Marchesin

    Signed-off-by: Ben Skeggs
    Signed-off-by: Dave Airlie

    Ben Skeggs