Patch "powerpc/cell: Fix cell iommu after it_page_shift changes" has been added to the 3.14-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
powerpc/cell: Fix cell iommu after it_page_shift changes
to the 3.14-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
powerpc-cell-fix-cell-iommu-after-it_page_shift-changes.patch
and it can be found in the queue-3.14 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
7261b956b276aa97fbf60d00f1d7717d2ea6ee78Mon Sep 17 00:00:00 2001
From: Michael Ellerman <[email protected]>
Date: Fri, 3 Apr 2015 14:11:54 +1100
Subject: powerpc/cell: Fix cell iommu after it_page_shift changes
From: Michael Ellerman <[email protected]>
commit 7261b956b276aa97fbf60d00f1d7717d2ea6ee78 upstream.
The patch to add it_page_shift incorrectly changed the increment of uaddr to use it_page_shift, rather then (1 << it_page_shift).
This broke booting on at least some Cell blades, as the iommu was basically non-functional.
--- arch/powerpc/platforms/cell/iommu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/powerpc/platforms/cell/iommu.c +1 -1
@@ -197,7 +197,7 @@ static int tce_build_cell(struct iommu_t io_pte = (unsigned long *)tbl->it_base + (index - tbl->it_offset); -for (i =0 ; i < npages; i++, uaddr += tbl->it_page_shift) +for (i =0 ; i < npages; i++, uaddr += (1 << tbl->it_page_shift)) io_pte[i] = base_pte | (__pa (uaddr) & CBE_IOPTE_RPN_Mask);mb ();
Patches currently in stable-queue which might be from [email protected] are
queue-3.14/powerpc-perf-cap-64bit-userspace-backtraces-to-perf_max_stack_depth.patch queue-3.14/powerpc-fix-missing-l2-cache-size-in-sys-devices-system-cpu.patch queue-3.14/powerpc-cell-fix-cell-iommu-after-it_page_shift-changes.patch