mirror of
https://github.com/torvalds/linux.git
synced 2024-11-02 10:11:36 +00:00
[PATCH] powerpc: Enable coherency for all pages on 83xx to fix PCI data corruption
On the 83xx platform to ensure the PCI inbound memory is handled properly we have to turn on coherency for all pages in the MMU. Otherwise we see corruption if inbound "prefetching/streaming" is enabled on the PCI controller. Signed-off-by: Randy Vinson <rvinson@mvista.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
parent
f1434a4854
commit
1775dbbcd0
@ -159,9 +159,11 @@ extern void do_cpu_ftr_fixups(unsigned long offset);
|
||||
#endif
|
||||
|
||||
/* We need to mark all pages as being coherent if we're SMP or we
|
||||
* have a 74[45]x and an MPC107 host bridge.
|
||||
* have a 74[45]x and an MPC107 host bridge. Also 83xx requires
|
||||
* it for PCI "streaming/prefetch" to work properly.
|
||||
*/
|
||||
#if defined(CONFIG_SMP) || defined(CONFIG_MPC10X_BRIDGE)
|
||||
#if defined(CONFIG_SMP) || defined(CONFIG_MPC10X_BRIDGE) \
|
||||
|| defined(CONFIG_PPC_83xx)
|
||||
#define CPU_FTR_COMMON CPU_FTR_NEED_COHERENT
|
||||
#else
|
||||
#define CPU_FTR_COMMON 0
|
||||
@ -277,7 +279,8 @@ enum {
|
||||
CPU_FTRS_G2_LE = CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_MAYBE_CAN_DOZE |
|
||||
CPU_FTR_USE_TB | CPU_FTR_MAYBE_CAN_NAP | CPU_FTR_HAS_HIGH_BATS,
|
||||
CPU_FTRS_E300 = CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_MAYBE_CAN_DOZE |
|
||||
CPU_FTR_USE_TB | CPU_FTR_MAYBE_CAN_NAP | CPU_FTR_HAS_HIGH_BATS,
|
||||
CPU_FTR_USE_TB | CPU_FTR_MAYBE_CAN_NAP | CPU_FTR_HAS_HIGH_BATS |
|
||||
CPU_FTR_COMMON,
|
||||
CPU_FTRS_CLASSIC32 = CPU_FTR_COMMON | CPU_FTR_SPLIT_ID_CACHE |
|
||||
CPU_FTR_USE_TB | CPU_FTR_HPTE_TABLE,
|
||||
CPU_FTRS_POWER3_32 = CPU_FTR_COMMON | CPU_FTR_SPLIT_ID_CACHE |
|
||||
|
Loading…
Reference in New Issue
Block a user