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

Commit 1e24aaab authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'for-linus' of git://github.com/openrisc/linux

Pull OpenRISC updates from Stafford Horne:
 "Few small things for 5.4:

   - Fixup ethoc ethernet device tree descriptors which were previously
     broken, now ethernet works on FPGAs running OpenRISC!

   - Switch ioremap to use uncached semantics - from Christoph Hellwig"

* tag 'for-linus' of git://github.com/openrisc/linux:
  openrisc: map as uncached in ioremap
  or1k: dts: Add ethoc device to SMP devicetree
  or1k: dts: Fix ethoc network configuration in or1ksim devicetree
parents 16da0961 f3b17320
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -49,8 +49,9 @@
	};

	enet0: ethoc@92000000 {
		compatible = "opencores,ethmac-rtlsvn338";
		reg = <0x92000000 0x100>;
		compatible = "opencores,ethoc";
		reg = <0x92000000 0x800>;
		interrupts = <4>;
		big-endian;
	};
};
+6 −0
Original line number Diff line number Diff line
@@ -60,4 +60,10 @@
		clock-frequency = <20000000>;
	};

	enet0: ethoc@92000000 {
		compatible = "opencores,ethoc";
		reg = <0x92000000 0x800>;
		interrupts = <4>;
		big-endian;
	};
};
+3 −17
Original line number Diff line number Diff line
@@ -25,25 +25,11 @@
#define PIO_OFFSET		0
#define PIO_MASK		0

#define ioremap_nocache ioremap_nocache
#define ioremap_nocache ioremap
#include <asm-generic/io.h>
#include <asm/pgtable.h>

extern void __iomem *__ioremap(phys_addr_t offset, unsigned long size,
				pgprot_t prot);

static inline void __iomem *ioremap(phys_addr_t offset, size_t size)
{
	return __ioremap(offset, size, PAGE_KERNEL);
}

/* #define _PAGE_CI       0x002 */
static inline void __iomem *ioremap_nocache(phys_addr_t offset,
					     unsigned long size)
{
	return __ioremap(offset, size,
			 __pgprot(pgprot_val(PAGE_KERNEL) | _PAGE_CI));
}

void __iomem *ioremap(phys_addr_t offset, unsigned long size);
extern void iounmap(void *addr);

#endif
+1 −1
Original line number Diff line number Diff line
@@ -97,7 +97,7 @@ extern void paging_init(void);
/* Define some higher level generic page attributes.
 *
 * If you change _PAGE_CI definition be sure to change it in
 * io.h for ioremap_nocache() too.
 * io.h for ioremap() too.
 */

/*
+4 −4
Original line number Diff line number Diff line
@@ -34,8 +34,7 @@ static unsigned int fixmaps_used __initdata;
 * have to convert them into an offset in a page-aligned mapping, but the
 * caller shouldn't need to know that small detail.
 */
void __iomem *__ref
__ioremap(phys_addr_t addr, unsigned long size, pgprot_t prot)
void __iomem *__ref ioremap(phys_addr_t addr, unsigned long size)
{
	phys_addr_t p;
	unsigned long v;
@@ -66,7 +65,8 @@ __ioremap(phys_addr_t addr, unsigned long size, pgprot_t prot)
		fixmaps_used += (size >> PAGE_SHIFT);
	}

	if (ioremap_page_range(v, v + size, p, prot)) {
	if (ioremap_page_range(v, v + size, p,
			__pgprot(pgprot_val(PAGE_KERNEL) | _PAGE_CI))) {
		if (likely(mem_init_done))
			vfree(area->addr);
		else
@@ -76,7 +76,7 @@ __ioremap(phys_addr_t addr, unsigned long size, pgprot_t prot)

	return (void __iomem *)(offset + (char *)v);
}
EXPORT_SYMBOL(__ioremap);
EXPORT_SYMBOL(ioremap);

void iounmap(void *addr)
{