mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-12 00:38:55 +00:00
[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: Jeremy Kerr <jk@ozlabs.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
parent
4d43466d56
commit
f6eb7d7ffe
@ -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)
|
|||||||
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)
|
|||||||
|
|
||||||
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;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user