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

Commit a628df1e authored by Geoff Levand's avatar Geoff Levand Committed by Paul Mackerras
Browse files

[POWERPC] PS3: Remove lpar address workaround



Remove the PS3 workaround needed to support sparsemem SPU mappings.
The SPU mappings no longer use sparsemem, so this workaround is no
longer needed.

Signed-off-by: default avatarGeoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent c4e6752d
Loading
Loading
Loading
Loading
+0 −11
Original line number Original line Diff line number Diff line
@@ -61,17 +61,6 @@ config PS3_DYNAMIC_DMA
	  This support is mainly for Linux kernel development.  If unsure,
	  This support is mainly for Linux kernel development.  If unsure,
	  say N.
	  say N.


config PS3_USE_LPAR_ADDR
	depends on PPC_PS3 && EXPERIMENTAL
	bool "PS3 use lpar address space"
	default y
	help
	  This option is solely for experimentation by experts.  Disables
	  translation of lpar addresses.  SPE support currently won't work
	  without this set to y.

	  If you have any doubt, choose the default y.

config PS3_VUART
config PS3_VUART
	depends on PPC_PS3
	depends on PPC_PS3
	tristate
	tristate
+4 −12
Original line number Original line Diff line number Diff line
@@ -36,11 +36,6 @@
#endif
#endif


enum {
enum {
#if defined(CONFIG_PS3_USE_LPAR_ADDR)
	USE_LPAR_ADDR = 1,
#else
	USE_LPAR_ADDR = 0,
#endif
#if defined(CONFIG_PS3_DYNAMIC_DMA)
#if defined(CONFIG_PS3_DYNAMIC_DMA)
	USE_DYNAMIC_DMA = 1,
	USE_DYNAMIC_DMA = 1,
#else
#else
@@ -137,9 +132,6 @@ static struct map map;
unsigned long ps3_mm_phys_to_lpar(unsigned long phys_addr)
unsigned long ps3_mm_phys_to_lpar(unsigned long phys_addr)
{
{
	BUG_ON(is_kernel_addr(phys_addr));
	BUG_ON(is_kernel_addr(phys_addr));
	if (USE_LPAR_ADDR)
		return phys_addr;
	else
	return (phys_addr < map.rm.size || phys_addr >= map.total)
	return (phys_addr < map.rm.size || phys_addr >= map.total)
		? phys_addr : phys_addr + map.r1.offset;
		? phys_addr : phys_addr + map.r1.offset;
}
}
@@ -309,7 +301,7 @@ static int __init ps3_mm_add_memory(void)


	BUG_ON(!mem_init_done);
	BUG_ON(!mem_init_done);


	start_addr = USE_LPAR_ADDR ? map.r1.base : map.rm.size;
	start_addr = map.rm.size;
	start_pfn = start_addr >> PAGE_SHIFT;
	start_pfn = start_addr >> PAGE_SHIFT;
	nr_pages = (map.r1.size + PAGE_SIZE - 1) >> PAGE_SHIFT;
	nr_pages = (map.r1.size + PAGE_SIZE - 1) >> PAGE_SHIFT;


@@ -1007,7 +999,7 @@ static int dma_sb_region_create_linear(struct ps3_dma_region *r)


	if (r->offset + r->len > map.rm.size) {
	if (r->offset + r->len > map.rm.size) {
		/* Map (part of) 2nd RAM chunk */
		/* Map (part of) 2nd RAM chunk */
		virt_addr = USE_LPAR_ADDR ? map.r1.base : map.rm.size;
		virt_addr = map.rm.size;
		len = r->len;
		len = r->len;
		if (r->offset >= map.rm.size)
		if (r->offset >= map.rm.size)
			virt_addr += r->offset - map.rm.size;
			virt_addr += r->offset - map.rm.size;
+0 −5
Original line number Original line Diff line number Diff line
@@ -10,13 +10,8 @@
 */
 */
#define SECTION_SIZE_BITS       24
#define SECTION_SIZE_BITS       24


#if defined(CONFIG_PS3_USE_LPAR_ADDR)
#define MAX_PHYSADDR_BITS       47
#define MAX_PHYSMEM_BITS        47
#else
#define MAX_PHYSADDR_BITS       44
#define MAX_PHYSADDR_BITS       44
#define MAX_PHYSMEM_BITS        44
#define MAX_PHYSMEM_BITS        44
#endif


#ifdef CONFIG_MEMORY_HOTPLUG
#ifdef CONFIG_MEMORY_HOTPLUG
extern void create_section_mapping(unsigned long start, unsigned long end);
extern void create_section_mapping(unsigned long start, unsigned long end);