MLK-21698: tee:optee: fix shared memory page attribute checks
When allocating pages for share memory with OP-TEE, the driver checks the page attribute (pte). The current checks only allow writealloc pages. i.MX 6SLL sets the page attribute to writeback. Relax this check to allow writealloc, writeback and writethrough. Signed-off-by: Silvano di Ninno <silvano.dininno@nxp.com> Reviewed-by: Franck Lenormand <franck.lenormand@nxp.com> Reviewed-by: Horia Geanta <horia.geanta@nxp.com> Acked-by: Leonard Crestez <leonard.crestez@nxp.com> (cherry picked from commit a4c5efa2df07a54ce112206c3ffc8fccf3369c52) (cherry picked from commit 51f031613d55e864f22cb244059e70432d7acd81)5.4-rM2-2.2.x-imx-squashed
parent
a9e9801d61
commit
e0238fcd9f
|
@ -530,7 +530,10 @@ void optee_free_pages_list(void *list, size_t num_entries)
|
|||
static bool is_normal_memory(pgprot_t p)
|
||||
{
|
||||
#if defined(CONFIG_ARM)
|
||||
return (pgprot_val(p) & L_PTE_MT_MASK) == L_PTE_MT_WRITEALLOC;
|
||||
u32 attr = pgprot_val(p) & L_PTE_MT_MASK;
|
||||
|
||||
return (attr == L_PTE_MT_WRITEALLOC) || (attr == L_PTE_MT_WRITEBACK) ||
|
||||
(attr == L_PTE_MT_WRITETHROUGH);
|
||||
#elif defined(CONFIG_ARM64)
|
||||
return (pgprot_val(p) & PTE_ATTRINDX_MASK) == PTE_ATTRINDX(MT_NORMAL);
|
||||
#else
|
||||
|
|
Loading…
Reference in New Issue