MIPS: pgtable.h: Implement the pgprot_writecombine function for MIPS
Previously, the pgprot_writecombine function was simply defined as pgprot_uncached in include/asm-generic/pgtable.h. This is not optimal for cores that can actually do write-combine memory writes so define this function to take into account the core's cache coherency attribute to achieve such behavior. Signed-off-by: Markos Chandras <markos.chandras@imgtec.com> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/7403/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
parent
4f12b91d2d
commit
4b050ba7a6
@ -366,6 +366,16 @@ static inline pgprot_t pgprot_noncached(pgprot_t _prot)
|
|||||||
return __pgprot(prot);
|
return __pgprot(prot);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline pgprot_t pgprot_writecombine(pgprot_t _prot)
|
||||||
|
{
|
||||||
|
unsigned long prot = pgprot_val(_prot);
|
||||||
|
|
||||||
|
/* cpu_data[0].writecombine is already shifted by _CACHE_SHIFT */
|
||||||
|
prot = (prot & ~_CACHE_MASK) | cpu_data[0].writecombine;
|
||||||
|
|
||||||
|
return __pgprot(prot);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Conversion functions: convert a page and protection to a page entry,
|
* Conversion functions: convert a page and protection to a page entry,
|
||||||
* and a page entry and page directory to the page they refer to.
|
* and a page entry and page directory to the page they refer to.
|
||||||
|
Loading…
Reference in New Issue
Block a user