From 0cf2b1be89642568cea128d1f7cb79f9cd1500a5 Mon Sep 17 00:00:00 2001 From: Johannes Schlatow Date: Tue, 3 Oct 2023 15:52:46 +0200 Subject: [PATCH] gpu/intel: use CACHED dma buffers On x86, DMA buffers are actually always mapped as cached. We should therefore actually ask for a cached buffer in order to avoid confusion. genodelabs/genode#5000 --- repos/os/src/drivers/gpu/intel/ggtt.h | 2 +- repos/os/src/drivers/gpu/intel/main.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/repos/os/src/drivers/gpu/intel/ggtt.h b/repos/os/src/drivers/gpu/intel/ggtt.h index b17a034a31..0d62bfebae 100644 --- a/repos/os/src/drivers/gpu/intel/ggtt.h +++ b/repos/os/src/drivers/gpu/intel/ggtt.h @@ -154,7 +154,7 @@ class Igd::Ggtt /* make the last entry/page unavailable */ _num_entries((_size / 8) - 1), _entries((uint64_t*)_base), - _scratch_page(platform, PAGE_SIZE, Genode::UNCACHED), + _scratch_page(platform, PAGE_SIZE, Genode::CACHED), _aperture_size(aperture_size), _aperture_entries(_aperture_size / PAGE_SIZE) { diff --git a/repos/os/src/drivers/gpu/intel/main.cc b/repos/os/src/drivers/gpu/intel/main.cc index e9ebceb5fb..9161f3c104 100644 --- a/repos/os/src/drivers/gpu/intel/main.cc +++ b/repos/os/src/drivers/gpu/intel/main.cc @@ -111,7 +111,7 @@ struct Igd::Device return retry( [&] () { return retry( - [&] () { return _pci.Client::alloc_dma_buffer(size, UNCACHED); }, + [&] () { return _pci.Client::alloc_dma_buffer(size, CACHED); }, [&] () { if (_env.pd().avail_caps().value < UPGRADE_CAPS) {