kernel_samsung_a53x/drivers/gpu/drm/etnaviv
Lucas Stach b3ae03d7b2 drm/etnaviv: rework linear window offset calculation
[ Upstream commit 4bfdd2aa67fbfba09d7c32a4c7fd4c5eb1052bce ]

The current calculation based on the required_dma mask can be significantly
off, so that the linear window only overlaps a small part of the DRAM
address space. This can lead to the command buffer being unmappable, which
is obviously bad.

Rework the linear window offset calculation to be based on the command buffer
physical address, making sure that the command buffer is always mappable.

Tested-by: Primoz Fiser <primoz.fiser@norik.com>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Stable-dep-of: 13c96ac9a3f0 ("drm/etnaviv: Request pages from DMA32 zone on addressing_limited")
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-12-17 13:24:05 +01:00
..
cmdstream.xml.h
common.xml.h
etnaviv_buffer.c
etnaviv_cmd_parser.c
etnaviv_cmdbuf.c
etnaviv_cmdbuf.h
etnaviv_drv.c
etnaviv_drv.h
etnaviv_dump.c
etnaviv_dump.h
etnaviv_gem.c
etnaviv_gem.h
etnaviv_gem_prime.c
etnaviv_gem_submit.c
etnaviv_gpu.c drm/etnaviv: rework linear window offset calculation 2024-12-17 13:24:05 +01:00
etnaviv_gpu.h
etnaviv_hwdb.c
etnaviv_iommu.c
etnaviv_iommu_v2.c
etnaviv_mmu.c
etnaviv_mmu.h
etnaviv_perfmon.c
etnaviv_perfmon.h
etnaviv_sched.c
etnaviv_sched.h
Kconfig
Makefile
state.xml.h
state_3d.xml.h
state_blt.xml.h
state_hi.xml.h