In-Reply-To: <[email protected]>
On Tue, 19 Dec 2006 01:12:07 +0100, Markus Rechberger wrote:
> I went on with investigating that problem and found the problem,
> though I'm not sure if that solution is acceptable..
>
> seems like the memory range gets preallocated in setup-bus.c, and
> CARDBUS_MEM_SIZE defines that size.
>
> I changed
> #define CARDBUS_MEM_SIZE (32*1024*1024)
> to
> #define CARDBUS_MEM_SIZE (48*1024*1024)
>
> and now the system is able to allocate the resources for the 3rd
> pci/pcmcia function.
>
> Can anyone please have a closer look at it too? I think the whole
> implementation isn't really good there..
>
> so this is the new output of iomem:
> $ cat /proc/iomem
> ...
> 30000000-35ffffff : PCI Bus #02
> 30000000-32ffffff : PCI CardBus #03
> 36000000-360003ff : 0000:00:1f.1
> 39000000-3bffffff : PCI CardBus #03
> 39000000-39ffffff : 0000:03:00.0
> 3a000000-3affffff : 0000:03:00.1
> 3b000000-3bffffff : 0000:03:00.2 <- this one failed to allocate previously
Wow, 3 regions of 16MB each! Your change fixes this problem for you, but
what if someone needs four such regions?
--
MBTI: IXTP
On 12/19/06, Chuck Ebbert <[email protected]> wrote:
> In-Reply-To: <[email protected]>
>
> On Tue, 19 Dec 2006 01:12:07 +0100, Markus Rechberger wrote:
>
> > I went on with investigating that problem and found the problem,
> > though I'm not sure if that solution is acceptable..
> >
> > seems like the memory range gets preallocated in setup-bus.c, and
> > CARDBUS_MEM_SIZE defines that size.
> >
> > I changed
> > #define CARDBUS_MEM_SIZE (32*1024*1024)
> > to
> > #define CARDBUS_MEM_SIZE (48*1024*1024)
> >
> > and now the system is able to allocate the resources for the 3rd
> > pci/pcmcia function.
> >
> > Can anyone please have a closer look at it too? I think the whole
> > implementation isn't really good there..
> >
> > so this is the new output of iomem:
> > $ cat /proc/iomem
> > ...
> > 30000000-35ffffff : PCI Bus #02
> > 30000000-32ffffff : PCI CardBus #03
> > 36000000-360003ff : 0000:00:1f.1
> > 39000000-3bffffff : PCI CardBus #03
> > 39000000-39ffffff : 0000:03:00.0
> > 3a000000-3affffff : 0000:03:00.1
> > 3b000000-3bffffff : 0000:03:00.2 <- this one failed to allocate
> previously
>
> Wow, 3 regions of 16MB each! Your change fixes this problem for you, but
> what if someone needs four such regions?
>
I documented everything I found about that issue (even the allocated
resources in window$)
http://linuxtv.org/v4lwiki/index.php/Talk:Pinnacle/310c#PCI_allocation_failed
that's why I wrote that the current implementation isn't nice..
I'm currently on the cx88 driver (which needs that memory region) to
get my Pinnacle Cardbus device work..
I won't get back to the PCI subsystem before I'm done with it.
Markus