Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b4820416 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull MIPS fixes from Ralf Baechle:

 - Fix a comment

 - A small cleanup the main purpose of which is to work around an
   internal compiler error bug in certain Codesource toolchains.

* git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
  MIPS: mm: Move some checks out of 'for' loop in DMA operations
  MIPS: cpu-features.h: s/MIPS53/MIPS64/
parents 06367d58 55c25c2f
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -187,7 +187,7 @@


/*
/*
 * MIPS32, MIPS64, VR5500, IDT32332, IDT32334 and maybe a few other
 * MIPS32, MIPS64, VR5500, IDT32332, IDT32334 and maybe a few other
 * pre-MIPS32/MIPS53 processors have CLO, CLZ.	The IDT RC64574 is 64-bit and
 * pre-MIPS32/MIPS64 processors have CLO, CLZ.	The IDT RC64574 is 64-bit and
 * has CLO and CLZ but not DCLO nor DCLZ.  For 64-bit kernels
 * has CLO and CLZ but not DCLO nor DCLZ.  For 64-bit kernels
 * cpu_has_clo_clz also indicates the availability of DCLO and DCLZ.
 * cpu_has_clo_clz also indicates the availability of DCLO and DCLZ.
 */
 */
+4 −8
Original line number Original line Diff line number Diff line
@@ -308,26 +308,22 @@ static void mips_dma_sync_sg_for_cpu(struct device *dev,
{
{
	int i;
	int i;


	/* Make sure that gcc doesn't leave the empty loop body.  */
	for (i = 0; i < nelems; i++, sg++) {
	if (cpu_needs_post_dma_flush(dev))
	if (cpu_needs_post_dma_flush(dev))
		for (i = 0; i < nelems; i++, sg++)
			__dma_sync(sg_page(sg), sg->offset, sg->length,
			__dma_sync(sg_page(sg), sg->offset, sg->length,
				   direction);
				   direction);
}
}
}


static void mips_dma_sync_sg_for_device(struct device *dev,
static void mips_dma_sync_sg_for_device(struct device *dev,
	struct scatterlist *sg, int nelems, enum dma_data_direction direction)
	struct scatterlist *sg, int nelems, enum dma_data_direction direction)
{
{
	int i;
	int i;


	/* Make sure that gcc doesn't leave the empty loop body.  */
	for (i = 0; i < nelems; i++, sg++) {
	if (!plat_device_is_coherent(dev))
	if (!plat_device_is_coherent(dev))
		for (i = 0; i < nelems; i++, sg++)
			__dma_sync(sg_page(sg), sg->offset, sg->length,
			__dma_sync(sg_page(sg), sg->offset, sg->length,
				   direction);
				   direction);
}
}
}


int mips_dma_mapping_error(struct device *dev, dma_addr_t dma_addr)
int mips_dma_mapping_error(struct device *dev, dma_addr_t dma_addr)
{
{