[parisc-linux] Mux Updates.
Ryan Bradetich
rbradetich at gmail.com
Sun Oct 22 11:20:57 MDT 2006
Willy,
On 10/19/06, Matthew Wilcox <matthew at wil.cx> wrote:
>
> This one actually worries me.
>
> However, we're saved by the HVERSION_REV. I think this will work:
>
> static struct parisc_device_id hppb_tbl[] > { HPHW_BCPORT, HVERSION_REV_ANY_ID, 0x500, 0xc }, /* E25 and K */
> + { HPHW_BCPORT, 0x0, 0x501, 0xc }, /* E35 */
> + { HPHW_BCPORT, 0x0, 0x502, 0xc }, /* E45 */
> + { HPHW_BCPORT, 0x0, 0x503, 0xc }, /* E55 */
> { 0, }
> };
I updated my patch to use this mapping instead. Thanks!.
> + mmio_region.name > > + mmio_region.flags > > + mmio_region.start > > + mmio_region.end > MUX_LINE_OFFSET) - 1;
> > + insert_resource(&iomem_resource, &mmio_region);
>
> If you want to go this way, you want IORESOURCE_BUSY on the flags, but
> you don't need to do that. Just:
>
> request_mem_region(dev->hpa.start + MUX_OFFSET,
> ports * MUX_LINE_OFFSET, "Mux");
I changed the Mux to use this, but it did not work as expected:
Here are the relevant lines from the boot messages:
Enabling regular chassis codes support v0.05
CPU(s): 1 x PA7100LC (PCX-L) at 64.000000MHz
Setting cache flush threshold to 9e0 (1 CPUs
online)
Lasi version 0 at 0xf0100000
found.
LED display at f010c000
registered
Found GeckoBoa at
0xfffb8000
drivers/parisc/hppb.c: failed to claim HP-PB bus space (fff00000,
fff7ffff)
Here are the relevant lines from /proc/iomem:
f0100000-f0100fff :
60
f0107000-f0107fff :
60:6
f010c000-f010c000 :
led_data
fff74000-fff74fff :
56:52
fff75000-fff75fff :
56:53
fff78000-fff78fff :
56:56
fff78800-fff78fff :
Mux
fff7c000-fff7cfff : 56:60
My understanding of the error message indicates that since Lasi and the LEDS
already reserved portions of the space
HP-PB wants, it caused the resource failure. This has me a bit confused on
how the bus walk code works ... I thought the probe function on the parent
device should have been called before the probe function on any of the
children ... so it seem the Gecko Boa should probe function should have been
called before the LASI and LED probe functions.
Still looking into why this happens, but hints are welcome :)
You also need to unregister your region here:
>
> release_mem_region(dev->hpa.start + MUX_OFFSET,
> ports * MUX_LINE_OFFSET);
Thanks for the reminder. I had to re-work this a bit since we didn't have
the dev and ports variable in this function. I am
working on expanding this to handle multiple Mux cards as well.
Thanks for your feedback,
- Ryan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.parisc-linux.org/pipermail/parisc-linux/attachments/20061022/edf9f71b/attachment.htm
More information about the parisc-linux
mailing list