Skip to content

Commit fb46bf8

Browse files
wildea01samitolvanen
authored andcommitted
UPSTREAM: arm64: tlbflush: remove redundant ASID casts to (unsigned long)
The ASID macro returns a 64-bit (long long) value, so there is no need to cast to (unsigned long) before shifting prior to a TLBI operation. Reviewed-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Bug: 31432001 Change-Id: I8baba83d1f3d3c68ac8e92bbe63fa67ff41a9b20 (cherry picked from commit f3e002c24e1f3b66f6e392ecd6928b5d04672c54) Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
1 parent 99e7b09 commit fb46bf8

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

arch/arm64/include/asm/tlbflush.h

+4-5
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ static inline void flush_tlb_all(void)
8181

8282
static inline void flush_tlb_mm(struct mm_struct *mm)
8383
{
84-
unsigned long asid = (unsigned long)ASID(mm) << 48;
84+
unsigned long asid = ASID(mm) << 48;
8585

8686
dsb(ishst);
8787
asm("tlbi aside1is, %0" : : "r" (asid));
@@ -91,8 +91,7 @@ static inline void flush_tlb_mm(struct mm_struct *mm)
9191
static inline void flush_tlb_page(struct vm_area_struct *vma,
9292
unsigned long uaddr)
9393
{
94-
unsigned long addr = uaddr >> 12 |
95-
((unsigned long)ASID(vma->vm_mm) << 48);
94+
unsigned long addr = uaddr >> 12 | (ASID(vma->vm_mm) << 48);
9695

9796
dsb(ishst);
9897
asm("tlbi vale1is, %0" : : "r" (addr));
@@ -109,7 +108,7 @@ static inline void __flush_tlb_range(struct vm_area_struct *vma,
109108
unsigned long start, unsigned long end,
110109
bool last_level)
111110
{
112-
unsigned long asid = (unsigned long)ASID(vma->vm_mm) << 48;
111+
unsigned long asid = ASID(vma->vm_mm) << 48;
113112
unsigned long addr;
114113

115114
if ((end - start) > MAX_TLB_RANGE) {
@@ -162,7 +161,7 @@ static inline void flush_tlb_kernel_range(unsigned long start, unsigned long end
162161
static inline void __flush_tlb_pgtable(struct mm_struct *mm,
163162
unsigned long uaddr)
164163
{
165-
unsigned long addr = uaddr >> 12 | ((unsigned long)ASID(mm) << 48);
164+
unsigned long addr = uaddr >> 12 | (ASID(mm) << 48);
166165

167166
dsb(ishst);
168167
asm("tlbi vae1is, %0" : : "r" (addr));

0 commit comments

Comments
 (0)