Displaying 20 results from an estimated 6000 matches similar to: "[PATCH 0/6] nouveau/gk20a: RAM device removal & IOMMU support"
2015 Feb 11
9
[PATCH v2 0/6] nouveau/gk20a: RAM device removal & IOMMU support
Changes since v1:
- Add missing else condition in ltc
- Remove extra flags that slipped into nouveau_display.c and nv84_fence.c.
Original cover letter:
Patches 1-3 make the presence of a RAM device optional, and remove GK20A's dummy
RAM driver we were using so far. On chips using shared memory, such a device
can confuse the driver into moving objects where there is no need to, and can
trick
2015 Feb 20
6
[PATCH v4 0/6] nouveau/gk20a: RAM device removal & IOMMU support
Changes since v3:
- Use a single dma_attr for all DMA-API allocations in instmem instead of one
per allocation
- Use device.info.ram_size instead of pfb->ram to check whether VRAM is present
outside of nvkm
Changes since v2:
- Cleaner changes for ltc
- Fixed typos in gk20a instmem IOMMU comments
Changes since v1:
- Add missing else condition in ltc
- Remove extra flags that slipped into
2015 Feb 17
8
[PATCH v3 0/6] nouveau/gk20a: RAM device removal & IOMMU support
Thanks Ilia for the v2 review! Here is the v3 of this IOMMU support for GK20A
series.
Changes since v2:
- Cleaner changes for ltc
- Fixed typos in gk20a instmem IOMMU comments
Changes since v1:
- Add missing else condition in ltc
- Remove extra flags that slipped into nouveau_display.c and nv84_fence.c.
Original cover letter:
Patches 1-3 make the presence of a RAM device optional, and remove
2015 Feb 17
1
[PATCH v3 4/6] instmem/gk20a: use DMA attributes
On Tue, Feb 17, 2015 at 5:48 PM, Alexandre Courbot <acourbot at nvidia.com> wrote:
> instmem for GK20A is allocated using dma_alloc_coherent(), which
> provides us with a coherent CPU mapping that we never use because
> instmem objects are accessed through PRAMIN. Switch to
> dma_alloc_attrs() which gives us the option to dismiss that CPU mapping
> and free up some CPU virtual
2015 Apr 17
4
[PATCH 2/6] instmem/gk20a: refer to IOMMU physical translation bit
On Thu, Apr 16, 2015 at 8:06 PM, Vince Hsu <vinceh at nvidia.com> wrote:
> Instead of hard-coding the translation bit in subdev driver, we refer to
> the platform data.
>
> Signed-off-by: Vince Hsu <vinceh at nvidia.com>
> ---
> drm/nouveau/nvkm/subdev/instmem/gk20a.c | 13 +++++++++----
> 1 file changed, 9 insertions(+), 4 deletions(-)
>
> diff --git
2015 Apr 16
15
[PATCH 0/6] map big page by platform IOMMU
Hi,
Generally the the imported buffers which has memory type TTM_PL_TT are
mapped as small pages probably due to lack of big page allocation. But the
platform device which also use memory type TTM_PL_TT, like GK20A, can
*allocate* big page though the IOMMU hardware inside the SoC. This is a try
to map the imported buffers as big pages in GMMU by the platform IOMMU. With
some preparation work to
2015 Feb 11
0
[PATCH v2 2/6] instmem/gk20a: move memory allocation to instmem
GK20A does not have dedicated RAM, thus having a RAM device for it does
not make sense. Move the contiguous physical memory allocation to
instmem.
Signed-off-by: Alexandre Courbot <acourbot at nvidia.com>
---
drm/nouveau/include/nvkm/subdev/instmem.h | 1 +
drm/nouveau/nvkm/engine/device/gk104.c | 2 +-
drm/nouveau/nvkm/subdev/fb/ramgk20a.c | 86 +-----------
2015 Feb 11
0
[PATCH v2 6/6] instmem/gk20a: add IOMMU support
Let GK20A's instmem take advantage of the IOMMU if it is present. Having
an IOMMU means that instmem is no longer allocated using the DMA API,
but instead obtained through page_alloc and made contiguous to the GPU
by IOMMU mappings.
Signed-off-by: Alexandre Courbot <acourbot at nvidia.com>
---
drm/nouveau/nvkm/subdev/instmem/gk20a.c | 272 ++++++++++++++++++++++++++++----
1 file
2015 Nov 11
2
[PATCH] instmem/gk20a: use DMA API CPU mapping
Commit 69c4938249fb ("drm/nouveau/instmem/gk20a: use direct CPU access")
tried to be smart while using the DMA-API by managing the CPU mappings of
buffers allocated with the DMA-API by itself. In doing so, it relied
on dma_to_phys() which is an architecture-private function not
available everywhere. This broke the build on several architectures.
Since there is no reliable and portable
2015 Jun 23
8
[PATCH v2 0/6] Improve GK20A support, introduce GM20B, firmware paths
Second version of this patchset. Not many changes since first version - I hope
this means the changes are not too controversial.
Changes since v1:
- Removed lookup for previous FW files in "nouveau/"
- Went back to using request_firmware() since we only try to load one file
Original cover letter follows:
GM20B is the GPU of the upcoming Tegra X1 SoC. This series adds initial support
2015 Jun 18
8
[PATCH 0/6] Improve GK20A and introduce GM20B support
Hello everyone,
GM20B is the GPU of the upcoming Tegra X1 SoC. This series adds initial support
for it, based on a rework of the already-supported GK20A. It also introduces
support for NVIDIA-provided firmware files, which is why I have added a few
NVIDIA people who are relevant to this discussion.
The first patch adds support for loading the FECS and GPCCS firmwares from
firmware files
2015 Mar 10
1
[PATCH] instmem/gk20a: fix crash during error path
If a memory allocation fails when using the DMA allocator,
gk20a_instobj_dtor_dma() will be called on the failed instmem object.
At this time, node->handle might not be NULL despite the call to
dma_alloc_attrs() having failed. node->cpuaddr is the right member to
check for such a failure, so use it instead.
Reported-by: Vince Hsu <vinceh at nvidia.com>
Signed-off-by: Alexandre Courbot
2014 Dec 23
1
[PATCH nouveau 08/11] instmem: add dummy support for GK20A
On Tue, Dec 23, 2014 at 5:40 AM, Vince Hsu <vinceh at nvidia.com> wrote:
> This is a workaround to avoid the instmem backup/restore during the suspend
> and resume process in nv50 instemem driver.
>
> Signed-off-by: Vince Hsu <vinceh at nvidia.com>
> ---
> drm/Kbuild | 1 +
> nvkm/engine/device/nve0.c | 2 +-
>
2019 Sep 23
8
[PATCH 0/8] Add workaround for fixing runpm
Changes since last sent:
* add a patch to set the device into DRM_SWITCH_POWER_CHANGING state
(can be dropped actually, I thought I was needing it, came up with a
different approach and forgot to delete it, doesn't hurt though)
* expose information about runtime suspending to nvkm so that we can run
the pcie workaround only on runtime suspend
Karol Herbst (8):
pci: disable ASPM
2023 Dec 08
1
[PATCH] drm/nouveau: Fixup gk20a instobj hierarchy
From: Thierry Reding <treding at nvidia.com>
Commit 12c9b05da918 ("drm/nouveau/imem: support allocations not
preserved across suspend") uses container_of() to cast from struct
nvkm_memory to struct nvkm_instobj, assuming that all instance objects
are derived from struct nvkm_instobj. For the gk20a family that's not
the case and they are derived from struct nvkm_memory instead.
2015 Feb 26
2
[PATCH] gem: allow user-space to specify an object should be coherent
User-space use mappable BOs notably for fences, and expects that a
value update by the GPU will be immediatly visible through the
user-space mapping.
ARM has a property that may prevent this from happening though: memory
can be mapped multiple times only if the different mappings share the
same caching properties. However all the lowmem memory is already
identity-mapped into the kernel with cache
2019 Nov 08
1
[PATCH] RFC: drm/nouveau: Make BAR1 support optional
From: Thierry Reding <treding at nvidia.com>
The purpose of BAR1 is primarily to make memory accesses coherent.
However, some GPUs do not have BAR1 functionality. For example, the
GV11B found on the Xavier SoC is DMA coherent and therefore doesn't
need BAR1.
Implement a variant of FIFO channels that work without a mapping of
instance memory through BAR1.
XXX ensure memory barriers are
2017 Jan 30
2
[PATCH] drm/nouveau: gk20a: Turn instmem lock into mutex
From: Thierry Reding <treding at nvidia.com>
The gk20a implementation of instance memory uses vmap()/vunmap() to map
memory regions into the kernel's virtual address space. These functions
may sleep, so protecting them by a spin lock is not safe. This triggers
a warning if the DEBUG_ATOMIC_SLEEP Kconfig option is enabled. Fix this
by using a mutex instead.
Signed-off-by: Thierry Reding
2015 Jan 23
1
[PATCH 1/6] make RAM device optional
On Fri, Jan 23, 2015 at 12:53 AM, Alexandre Courbot <acourbot at nvidia.com> wrote:
> Having a RAM device does not make sense for chips like GK20A which have
> no dedicated video memory. The dummy RAM device that we used so far
> works as a temporary band-aid, but in the long-term it is desirable for
> the driver to be able to work without any kind of VRAM.
>
> This patch
2015 May 20
3
[PATCH] ram/gf100-: error out if a ridiculous amount of vram is detected
Some newer chips have trouble coming up, and we get bad MMIO reads from
them, like 0xbadf100. This ends up translating into crazy amounts of
VRAM, which destroys all sorts of other logic down the line. Instead,
fail device init.
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Cc: stable at kernel.org
---
drm/nouveau/nvkm/subdev/fb/ramgf100.c | 6 ++++++
1 file changed, 6 insertions(+)