Skip to content

Commit

Permalink
[POWERPC] PS3: Remove lpar address workaround
Browse files Browse the repository at this point in the history
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: Geoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
  • Loading branch information
Geoff Levand authored and Paul Mackerras committed Jan 25, 2008
1 parent c4e6752 commit a628df1
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 28 deletions.
11 changes: 0 additions & 11 deletions arch/powerpc/platforms/ps3/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -61,17 +61,6 @@ config PS3_DYNAMIC_DMA
This support is mainly for Linux kernel development. If unsure,
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
depends on PPC_PS3
tristate
Expand Down
16 changes: 4 additions & 12 deletions arch/powerpc/platforms/ps3/mm.c
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,6 @@
#endif

enum {
#if defined(CONFIG_PS3_USE_LPAR_ADDR)
USE_LPAR_ADDR = 1,
#else
USE_LPAR_ADDR = 0,
#endif
#if defined(CONFIG_PS3_DYNAMIC_DMA)
USE_DYNAMIC_DMA = 1,
#else
Expand Down Expand Up @@ -137,11 +132,8 @@ static struct map map;
unsigned long ps3_mm_phys_to_lpar(unsigned long 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)
? phys_addr : phys_addr + map.r1.offset;
return (phys_addr < map.rm.size || phys_addr >= map.total)
? phys_addr : phys_addr + map.r1.offset;
}

EXPORT_SYMBOL(ps3_mm_phys_to_lpar);
Expand Down Expand Up @@ -309,7 +301,7 @@ static int __init ps3_mm_add_memory(void)

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;
nr_pages = (map.r1.size + PAGE_SIZE - 1) >> PAGE_SHIFT;

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

if (r->offset + r->len > map.rm.size) {
/* 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;
if (r->offset >= map.rm.size)
virt_addr += r->offset - map.rm.size;
Expand Down
5 changes: 0 additions & 5 deletions include/asm-powerpc/sparsemem.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,8 @@
*/
#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_PHYSMEM_BITS 44
#endif

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

0 comments on commit a628df1

Please sign in to comment.