67e26e41ff8aa514826dae79f0b10169b5ba93b4 |
|
20-Oct-2014 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau: fix regression on agp boards Extends the fix in f2f9a2cbaf019481feefe231f996d3602612fa99 to also workaround permission issues noticed by people using AGP systems. Cc: stable@vger.kernel.org # 3.16: f2f9a2c: drm/nouveau: fix regression Cc: stable@vger.kernel.org # 3.16+ Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
f2f9a2cbaf019481feefe231f996d3602612fa99 |
|
30-Sep-2014 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau: fix regression on original nv50 board Xorg (and any non-DRM client really) doesn't have permission to directly touch VRAM on nv50 and up, which the fence code prior to g84 depends on. It's less invasive to temporarily grant it premission to do so, as it previously did, than it is to rework fencenv50 to use the VM. That will come later on. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
bb6178b04f5ef6f62990306713fb6afdf5d8bc56 |
|
09-Jan-2014 |
Maarten Lankhorst <maarten.lankhorst@canonical.com> |
drm/nouveau: export reservation_object from dmabuf to ttm Adds an extra argument to nouveau_bo_new, which is only used in nouveau_prime.c. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
|
703fa264b1c09ff9d0526553f5448fef77fda898 |
|
18-Aug-2014 |
Pierre Moreau <pierre.morrow@free.fr> |
drm/nouveau: Display Nouveau boot options at launch It can help to remove any ambiguity about which options were passed to Nouveau, especially in case the user had some options set in /etc/modprobe.d/*.conf that he forgot about, as they won't appear in a dmesg. Signed-off-by: Pierre Moreau <pierre.morrow@free.fr> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
f392ec4b1d92004949e5a4f4418b1fbb2582ef0d |
|
09-Aug-2014 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau: use ram info from nvif_device Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
6c6ae061b61c1fd0d1823765299bcc009ddc21c8 |
|
09-Aug-2014 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/fifo: allow direct access to channel control registers where possible The indirect method has been left in-place here as a fallback path, as it may not be possible to map the non-PAGE_SIZE aligned control areas across some chipset+interface combinations. This isn't a problem for the primary use-case where the core and drm are linked together in kernel-land, but across a VM or (in the case where it applies now) between the core in the kernel and a userspace test tool. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
bbf8906b2cad17cf9530b06db7509d0e39b02d16 |
|
09-Aug-2014 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/fifo: audit and version fifo channel classes The full object interfaces are about to be exposed to userspace, so we need to check for any security-related issues and version the structs to make it easier to handle any changes we may need in the future. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
4acfd707e28c820ba8ed8c12b497413a133d8c8f |
|
09-Aug-2014 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/dma: audit and version NV_DMA classes The full object interfaces are about to be exposed to userspace, so we need to check for any security-related issues and version the structs to make it easier to handle any changes we may need in the future. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
fdb751ef2bbc78314d1e01d3425cfacfb19b9f86 |
|
09-Aug-2014 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau: remove as much direct use of core headers as possible Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
f45f55c4bbf8a9f9c607e5f6013abac60427e3f7 |
|
09-Aug-2014 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau: remove (most) hardcoded object handle usage The PFIFO<->EVO sync buffers will be fixed up later when inter-channel sync in general is improved. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
0ad72863ea426d46b2786cba9430e122a40aad0b |
|
09-Aug-2014 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau: port to nvif client/device/objects Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
967e7bde8739fe3b215f7537e8f1f39c044902af |
|
09-Aug-2014 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau: initial pass at moving to struct nvif_device This is an attempt at isolating some of the changes necessary to port to NVIF in a separate commit. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
fa2bade99a6fb24c3847d48ba3cad9a70dbb5364 |
|
09-Aug-2014 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau: fix some usages of the wrong print function Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
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>
|
69a6146d1e06b50d070ea40064fccd910371b3b0 |
|
13-Nov-2013 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nv10-: we no longer need to create nvsw object on user channels Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
dceef5d87cc01358cc1434416f3272e2ddc3d97a |
|
04-Mar-2013 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/fb: initialise vram controller as pfb sub-object Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
264ce192b3e7f45d0adb37bfbab2b01a3fbe6c30 |
|
14-Feb-2013 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nv84-/fence: prepare for emit/sync support of sysram sequences Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
93260d3c026b539931d909a4d68490c32b6d73ce |
|
09-Dec-2012 |
Marcin Slusarz <marcin.slusarz@gmail.com> |
drm/nouveau: report channel owner in error messages Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
124ea297c8f0e0a3a567af0894fdbe05caaf80ec |
|
25-Nov-2012 |
Marcin Slusarz <marcin.slusarz@gmail.com> |
drm/nouveau: unpin pushbuffer bo before destroying it Fixes GART leak (as accounted by nouveau_drm.gem.gart_available). Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
4946980099c617ba7612f97f77cba7ece5b7f820 |
|
22-Nov-2012 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nve0: allow specification of channel engine type in abi16 call Previously, if either vram/gart handles were specified as ~0, the ioctl call would fail. In order to hack engine selection into the ioctl for kepler, we now define (fb_ctxdma_handle == ~0) to mean "engine mask is in tt_ctxdma_handle". This approach also allows new userspace to detect lack of support for non-PGRAPH channels on older kernels. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
f756944a219cb2d38b0859e8af680f9b216de1e3 |
|
08-Oct-2012 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nv50/dmaobj: extend class to allow gpu-specific attributes to be defined disp is going to need to be able to create more specific dma objects than was previously possible. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
da07e52cf10c9584c7e197ac3d49455e1a4d4756 |
|
12-Sep-2012 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau: log channel debug/error messages from client object rather than drm client This will make it more obvious which application caused particular messages. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
5b8a43aeb9cbf6b965f67f6c850382788076325a |
|
19-Aug-2012 |
Marcin Slusarz <marcin.slusarz@gmail.com> |
drm/nouveau: quiet some static-related sparse noise Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
c97f8c922ea78195aa7d833d639d2963cc11af8e |
|
19-Aug-2012 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/fifo: use defines instead of hardcoded class ids Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
a7c6e75eb28d18ed8d53182891330f5c1fa4477c |
|
14-Aug-2012 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/fifo: version the dma channel class struct Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
503b0f1cd66c54dd88e644fa1a521ebd764bf54e |
|
14-Aug-2012 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nouveau/fifo: separate object classes for dma channels Future code will use the object class rather than chipset checks in order to identify available channel features. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
49981046e3dc2f934663548a270d4bf1a4534bb9 |
|
06-Aug-2012 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nve0: use async copy engine for ttm buffer moves if available Kepler PFIFO lost the ability to address multiple engines from a single channel, so we need a separate one for the copy engine. v2: Marcin Slusarz <marcin.slusarz@gmail.com> - regression fix: restore hw accelerated buffer copies Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
dbff2dee9f8561710fcfe7f6623dd272ddca5a27 |
|
06-Aug-2012 |
Ben Skeggs <bskeggs@redhat.com> |
drm/nve0/fifo: support engine selection when creating fifo channels 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>
|