[PATCH] s5pv210: Change the base ram address to 0x3000'0000

Ben Dooks ben-linux at fluff.org
Fri May 28 02:02:23 EDT 2010


On Fri, May 28, 2010 at 02:25:41PM +0900, Kyungmin Park wrote:
> On Fri, May 28, 2010 at 1:20 PM, Ben Dooks <ben-linux at fluff.org> wrote:
> > On Fri, May 28, 2010 at 01:02:24PM +0900, Kyungmin Park wrote:
> >> On Fri, May 28, 2010 at 12:53 PM, Ben Dooks <ben-linux at fluff.org> wrote:
> >> > On Fri, May 28, 2010 at 11:35:59AM +0900, Kyungmin Park wrote:
> >> >> s5pc110 (aka s5pv210) has 2 DRAM port and used it both usually.
> >> >> Assume DMC0 starts with 0x2000'0000 with 128MiB.
> >> >> DMC1 starts with 0x4000'0000 with 128MiB.
> >> >> Note that DMC1 has to start address 0x4000'0000 at least.
> >> >>
> >> >> Then there's too much memory hole 0x1800'0000 (128MiB + 256MiB)
> >> >>
> >> >> To reduce memory waste, the DMC0 start with 0x3000'0000.
> >
> > but you just said DMC0 starts at 0x2... ? Is this reconfigurable via
> > software, if so can it be moved once initialisation si done? how fixed
> > is this?
> 
> DMC0 can set the its start address at bootloader, it can range from
> 0x2000'0000 to 0x3fff'ffff.
> 
> My goal is that reduce the 256MiB memory area and can use the full
> memory without HIGHMEM and 2G/2G split configuration.

If I remember correctly, te device has 4x256MiB banks, of which the
population is external on S5PV210 or packaging with the S5PC1xx series.

On the split situation, is it really that bad to have a 2G/2G split,
are you currently running into a situation where a single process
really needs that much address space (especially given the fact that
there can only ever be 1GiB of real memory in the system)?

On the higmem issue, I don't think we've ever had to bother with HIGMEM
even on a SMDKV210 with 1GiB of memory fitted when we first did the support.

> >
> >> Hi,
> >>
> >> >
> >> > We should be using SPARSEMEM now, is it not reducing any wastage
> >> > in virtual memory space?
> >>
> >> Please consider the older kernel also. and most systems are designed
> >> for 0x3000'0000.
> >
> > Ok, will a kernel with the base-address set to 0x3... work when loaded
> > on a system with RAM starting at 0x2... ? I'm not sure the answer to this
> > question.
> 
> Then can't detect last 2Gib memory, only detect first 2Gib memory at
> kernel 2.6.29.

Not sure how to deal with this one.
 
> >
> > I'd rather try and get one kernel working on all systems with the S5PV210
> > if possible instead of havign to pick which ones have certain base addresses
> >
> >
> >> >
> >> > How will the user change their board to deal with this change to hte
> >> > kernel?
> >>
> >> Now we got the these memory
> >> DMC0 has 128MiB and DMC1 has 512MiB.
> >> Then it uses the memory from 0x2000'0000 to 0x5fff'ffff. it used 1GiB
> >> memory address space.
> >> Of course we can enable thie HIGHMEM but older kernel doesn't support it fully.
> >> Also I hope to use the 3G/1G memory scheme.
> >
> > Given you can only get 1G of real memory into a S5PV210, is it really
> > necessary to go to 3G/1G? What problems are there with 2/2 split?
> 
> Right it's best but can't. It's hardware problem. DMC0 has different
> memory with 166MHz and DMC1 has 200MHz
> It can't change it.

Yes, but that's an allocation issue not a layout issue. Whatever is
allocating pages needs to know to prefer the DMC1 memory.
 
> >
> >> How to you think?
> >
> > I thought that when the s5pv210 was submitted we enabled the SPARSMEM
> > support so that whatever DRAM configuration we could handle it within
> > a single kernel.
> 
> I also hope to use single kernel for s5p series. and that's reason I
> hope to change it.
> With some reason. mobile division has different memory types and DMC0
> should be used fixed memory.
> and only DMC1 can modify form 2Gib to 4Gib.
> 
> Thank you,
> Kyungmin Park

-- 
-- 
Ben

Q:      What's a light-year?
A:      One-third less calories than a regular year.




More information about the linux-arm-kernel mailing list