gpu: ion: Don't require buffers to be 1M aligned
When generating the scatter gather table, older secure
clients cannot support 1MB aligned allocations. Change
the code flow to only generate the sg_table with 1MB
chunks if the buffer is 1MB aligned. Checks are present
elsewhere which will prevent the buffer from being
secured if the allocation is not 1MB aligned.
Change-Id: Id2d1610ccbc90ca1c8427eeadbf1f702b808cd38
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
diff --git a/drivers/gpu/ion/ion_cp_heap.c b/drivers/gpu/ion/ion_cp_heap.c
index 2d8f102..aa3469c 100644
--- a/drivers/gpu/ion/ion_cp_heap.c
+++ b/drivers/gpu/ion/ion_cp_heap.c
@@ -571,18 +571,11 @@
if (!table)
return ERR_PTR(-ENOMEM);
- if (buf->is_secure) {
+ if (buf->is_secure && IS_ALIGNED(buffer->size, SZ_1M)) {
int n_chunks;
int i;
struct scatterlist *sg;
- if (!IS_ALIGNED(buffer->size, SZ_1M)) {
- pr_err("%s: buffer is marked as secure but buffer size %x is not aligned to 1MB\n",
- __func__, buffer->size);
-
- return ERR_PTR(-EINVAL);
- }
-
/* Count number of 1MB chunks. Alignment is already checked. */
n_chunks = buffer->size >> 20;