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); | ||||
| } | ||||
| 
 | ||||
| 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, | ||||
|  * and a page entry and page directory to the page they refer to. | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user