replace common qcom sources with samsung ones

This commit is contained in:
SaschaNes
2025-08-12 22:13:00 +02:00
parent ba24dcded9
commit 6f7753de11
5682 changed files with 2450203 additions and 103634 deletions

View File

@@ -1,7 +1,7 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2002,2007-2021, The Linux Foundation. All rights reserved.
* Copyright (c) 2022-2025 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
*/
#include <asm/cacheflush.h>
@@ -256,19 +256,19 @@ imported_mem_show(struct kgsl_process_private *priv,
m = &entry->memdesc;
if (kgsl_memdesc_usermem_type(m) == KGSL_MEM_ENTRY_ION) {
u64 size = m->size;
int total_egl_count;
kgsl_get_egl_counts(entry, &egl_surface_count,
&egl_image_count);
total_egl_count = egl_surface_count + egl_image_count;
/*
* Divide the total buffer size uniformly across all the
* processes that imported the buffer.
*/
do_div(size, (total_egl_count ? total_egl_count : 1));
imported_mem += size;
if ((kgsl_memdesc_get_memtype(m) == KGSL_MEMTYPE_EGL_SURFACE) ||
(kgsl_memdesc_get_memtype(m) == KGSL_MEMTYPE_SURFACE))
imported_mem += m->size;
else if (egl_surface_count == 0) {
uint64_t size = m->size;
do_div(size, (egl_image_count ?
egl_image_count : 1));
imported_mem += size;
}
}
kgsl_mem_entry_put(entry);
@@ -823,13 +823,14 @@ void kgsl_memdesc_init(struct kgsl_device *device,
memdesc->priv |= KGSL_MEMDESC_SECURE;
memdesc->flags = flags;
memdesc->kgsl_dev = device->dev;
/*
* For io-coherent buffers don't set memdesc->dev, so that we skip DMA
* cache operations at allocation time
*/
if (!(flags & KGSL_MEMFLAGS_IOCOHERENT))
memdesc->dev = &kgsl_driver.virtdev;
memdesc->dev = &device->pdev->dev;
align = max_t(unsigned int,
kgsl_memdesc_get_align(memdesc), ilog2(PAGE_SIZE));
@@ -1137,7 +1138,7 @@ static int kgsl_alloc_page(struct kgsl_memdesc *memdesc, int *page_size,
(list_empty(&memdesc->shmem_page_list) && (pcount > 1)))
clear_highpage(page);
kgsl_page_sync(memdesc->dev, page, PAGE_SIZE, DMA_TO_DEVICE);
kgsl_page_sync(memdesc->kgsl_dev, page, PAGE_SIZE, DMA_TO_DEVICE);
*page_size = PAGE_SIZE;
*pages = page;
@@ -1160,6 +1161,7 @@ static int kgsl_memdesc_file_setup(struct kgsl_memdesc *memdesc)
INIT_LIST_HEAD(&memdesc->shmem_page_list);
SHMEM_I(memdesc->shmem_filp->f_mapping->host)->android_vendor_data1 = (u64)memdesc;
mapping_set_unevictable(memdesc->shmem_filp->f_mapping);
memdesc->shmem_filp->f_mapping->private_data = (void *)GPU_PAGE_MAGIC;
return 0;
}
@@ -1210,7 +1212,7 @@ static int kgsl_alloc_page(struct kgsl_memdesc *memdesc, int *page_size,
return -EINTR;
return kgsl_pool_alloc_page(page_size, pages,
pages_len, align, memdesc->dev);
pages_len, align, memdesc->kgsl_dev);
}
static int kgsl_memdesc_file_setup(struct kgsl_memdesc *memdesc)
@@ -1652,7 +1654,7 @@ static int kgsl_system_alloc_pages(struct kgsl_memdesc *memdesc, struct page ***
}
/* Make sure the cache is clean */
kgsl_page_sync(memdesc->dev, local[i], PAGE_SIZE, DMA_TO_DEVICE);
kgsl_page_sync(memdesc->kgsl_dev, local[i], PAGE_SIZE, DMA_TO_DEVICE);
}
*pages = local;