History log of /drivers/gpu/drm/nouveau/core/subdev/instmem/nv40.c
Revision Date Author Comments
420b94697722512a2c0732970dc1530197a49adb 17-Feb-2014 Alexandre Courbot <acourbot@nvidia.com> support for platform devices

Upcoming mobile Kepler GPUs (such as GK20A) use the platform bus instead
of PCI to which Nouveau is tightly dependent. This patch allows Nouveau
to handle platform devices by:

- abstracting PCI-dependent functions that were typically used for
resource querying and page mapping,
- introducing a nv_device_is_pci() function that allows to make
PCI-dependent code conditional,
- providing a nouveau_drm_platform_probe() function that takes a GPU
platform device to be probed.

Core code as well as engine/subdev drivers are updated wherever possible
to make use of these functions. Some older drivers are too dependent on
PCI to be properly updated, but all newer code on which future chips may
depend should at least be runnable with platform devices.

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
ab606194d1f5821b0052823fc6b6330a029b3d95 22-Dec-2013 Ben Skeggs <bskeggs@redhat.com> drm/nouveau/instmem: tidy up the object class definition

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
24a4ae86de89b5cbbf8530c371007383de9f2d58 22-Dec-2013 Ben Skeggs <bskeggs@redhat.com> drm/nouveau/instmem: tidy up the subdev class definition

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
c98b81946827fe04c36bfa6bb376ffa739b0c2d0 30-Jul-2013 Ilia Mirkin <imirkin@alum.mit.edu> drm/nouveau: remove duplicate copy of nv44_graph_class

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
1409d90f24573c938231ec277a5b847eb8226ea7 24-Apr-2013 Ben Skeggs <bskeggs@redhat.com> drm/nv04-nv40/instmem: use self as parent for subobjects

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
b5795c77e51adef3d5986a23cd23e0e30df9a1f3 24-Apr-2013 Ben Skeggs <bskeggs@redhat.com> drm/nv04-nv40/instmem: remove parent deref hack

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
0a32241d8b58ab11d629b78adf81803bca918b69 17-Nov-2012 Ben Skeggs <bskeggs@redhat.com> drm/nouveau: pass address to object accessor functions as u64

Will be required by future work. Make the API change now to catch any
(but hopefully none) unexpected fallout.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
ebb945a94bba2ce8dff7b0942ff2b3f2a52a0a69 20-Jul-2012 Ben Skeggs <bskeggs@redhat.com> drm/nouveau: port all engines to new engine module format

This is a HUGE commit, but it's not nearly as bad as it looks - any problems
can be isolated to a particular chipset and engine combination. It was
simply too difficult to port each one at a time, the compat layers are
*already* ridiculous.

Most of the changes here are simply to the glue, the process for each of the
engine modules was to start with a standard skeleton and copy+paste the old
code into the appropriate places, fixing up variable names etc as needed.

v2: Marcin Slusarz <marcin.slusarz@gmail.com>
- fix find/replace bug in license header

v3: Ben Skeggs <bskeggs@redhat.com>
- bump indirect pushbuf size to 8KiB, 4KiB barely enough for userspace and
left no space for kernel's requirements during GEM pushbuf submission.
- fix duplicate assignments noticed by clang

v4: Marcin Slusarz <marcin.slusarz@gmail.com>
- add sparse annotations to nv04_fifo_pause/nv04_fifo_start
- use ioread32_native/iowrite32_native for fifo control registers

v5: Ben Skeggs <bskeggs@redhat.com>
- rebase on v3.6-rc4, modified to keep copy engine fix intact
- nv10/fence: unmap fence bo before destroying
- fixed fermi regression when using nvidia gr fuc
- fixed typo in supported dma_mask checking

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
3863c9bc887e9638a9d905d55f6038641ece78d6 14-Jul-2012 Ben Skeggs <bskeggs@redhat.com> drm/nouveau/instmem: completely new implementation, as a subdev module

v2 (Ben Skeggs):
- some fixes for 64KiB PAGE_SIZE
- fix porting issues in (currently unused) nv41/nv44 pciegart code

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
5787640db6ae722aeadb394d480c7ca21b603e34 13-Jul-2012 Ben Skeggs <bskeggs@redhat.com> drm/nv04-nv40/instmem: remove use of nouveau_gpuobj_new_fake()

These type of fake objects will not be supported for much longer.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
af7afbd2e1409168698bde2f2846848b07d05d12 13-Jul-2012 Ben Skeggs <bskeggs@redhat.com> drm/nv04-nv40/instmem: duplicate nv04 code as nv40, remove alternate paths

A ton of duplication for the moment, will go away when they become subdevs.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>