[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20241104200354.656525-2-sui.jingfeng@linux.dev>
Date: Tue, 5 Nov 2024 04:03:52 +0800
From: Sui Jingfeng <sui.jingfeng@...ux.dev>
To: Lucas Stach <l.stach@...gutronix.de>,
Russell King <linux+etnaviv@...linux.org.uk>,
Christian Gmeiner <christian.gmeiner@...il.com>
Cc: David Airlie <airlied@...il.com>,
Simona Vetter <simona@...ll.ch>,
etnaviv@...ts.freedesktop.org,
dri-devel@...ts.freedesktop.org,
linux-kernel@...r.kernel.org,
Sui Jingfeng <sui.jingfeng@...ux.dev>
Subject: [etnaviv-next v2 1/3] drm/etnaviv: Drop offset in page manipulation
The 'offset' data member of the 'struct scatterlist' denotes the offset
into a SG entry in bytes. But under drm subsystem, there has nearly NO
drivers that actually tough the 'offset' data member of SG anymore.
Especially for drivers that could contact with drm/etnaviv. This means
that all DMA addresses that sg_dma_address() gives us will be PAGE_SIZE
aligned, in other words, sg->offset will always equal to 0.
Drop those compulations about the offset of SG entries can save some
extra overhead.
Signed-off-by: Sui Jingfeng <sui.jingfeng@...ux.dev>
---
drivers/gpu/drm/etnaviv/etnaviv_mmu.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/etnaviv/etnaviv_mmu.c b/drivers/gpu/drm/etnaviv/etnaviv_mmu.c
index 8f33f111f9e8..ddb536d84c58 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_mmu.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_mmu.c
@@ -82,8 +82,8 @@ static int etnaviv_iommu_map(struct etnaviv_iommu_context *context,
return -EINVAL;
for_each_sgtable_dma_sg(sgt, sg, i) {
- phys_addr_t pa = sg_dma_address(sg) - sg->offset;
- unsigned int da_len = sg_dma_len(sg) + sg->offset;
+ phys_addr_t pa = sg_dma_address(sg);
+ unsigned int da_len = sg_dma_len(sg);
unsigned int bytes = min_t(unsigned int, da_len, va_len);
VERB("map[%d]: %08x %pap(%x)", i, iova, &pa, bytes);
--
2.34.1
Powered by blists - more mailing lists