Commit f6eb7d7f authored by Jeremy Kerr's avatar Jeremy Kerr Committed by Arnd Bergmann

[POWERPC] cell: add spu_64k_pages_available() check

Add a function spu_64k_pages_available(), so that we can abstract the
explicity use of mmu_psize_defs() in lssca_alloc.c
Signed-off-by: default avatarJeremy Kerr <jk@ozlabs.org>
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parent 4d43466d
...@@ -126,6 +126,12 @@ void spu_associate_mm(struct spu *spu, struct mm_struct *mm) ...@@ -126,6 +126,12 @@ void spu_associate_mm(struct spu *spu, struct mm_struct *mm)
} }
EXPORT_SYMBOL_GPL(spu_associate_mm); EXPORT_SYMBOL_GPL(spu_associate_mm);
int spu_64k_pages_available(void)
{
return mmu_psize_defs[MMU_PAGE_64K].shift != 0;
}
EXPORT_SYMBOL_GPL(spu_64k_pages_available);
static int __spu_trap_invalid_dma(struct spu *spu) static int __spu_trap_invalid_dma(struct spu *spu)
{ {
pr_debug("%s\n", __FUNCTION__); pr_debug("%s\n", __FUNCTION__);
......
...@@ -73,7 +73,7 @@ int spu_alloc_lscsa(struct spu_state *csa) ...@@ -73,7 +73,7 @@ int spu_alloc_lscsa(struct spu_state *csa)
int i, j, n_4k; int i, j, n_4k;
/* Check availability of 64K pages */ /* Check availability of 64K pages */
if (mmu_psize_defs[MMU_PAGE_64K].shift == 0) if (!spu_64k_pages_available())
goto fail; goto fail;
csa->use_big_pages = 1; csa->use_big_pages = 1;
......
...@@ -214,6 +214,7 @@ static inline void crash_register_spus(struct list_head *list) ...@@ -214,6 +214,7 @@ static inline void crash_register_spus(struct list_head *list)
extern void spu_invalidate_slbs(struct spu *spu); extern void spu_invalidate_slbs(struct spu *spu);
extern void spu_associate_mm(struct spu *spu, struct mm_struct *mm); extern void spu_associate_mm(struct spu *spu, struct mm_struct *mm);
int spu_64k_pages_available(void);
/* Calls from the memory management to the SPU */ /* Calls from the memory management to the SPU */
struct mm_struct; struct mm_struct;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment