SystemACE but not V2PRO

Andrei Konovalov akonovalov at ru.mvista.com
Sat Apr 3 05:10:33 EST 2004


I've looked at this patch.
At first glance it looks OK, but I'd like to think a little bit more about
it.
I'll come back on Monday, or Tuesday (in worst case).

Thanks,
Andrei

> -----Original Message-----
> From: Scott Anderson [mailto:scott_anderson at mvista.com]
> Sent: Friday, April 02, 2004 8:36 PM
> To: Stephen Williams
> Cc: linuxppc-embedded at lists.linuxppc.org; Andrei Konovalov
> Subject: Re: SystemACE but not V2PRO
>
>
> Hi there,
> The current ML300 maintainer is Andrei Konovalov
> <akonovalov at ru.mvista.com>
> (cc'ed on this message).  I'm guessing he didn't reply to your message
> last week because he's swamped, but hopefully having this directly
> addressed to him will prompt a response.
>
>    Scott
>
> On Apr 1, 2004, at 6:38 PM, Stephen Williams wrote:
>
> >
> > The attached patch is my spin at getting the existing xsysace
> > block driver working on systems that have SystemACE chips, but
> > do not use Virtex-II-Pro chips. The adapter.c file assumes that
> > the system ace halt will halt the processor. This is not the
> > case in general, so this patch ifdefs that part of the code out
> > using CONFIG_VIRTEX_II_PRO.
> >
> > This is only part of the story for getting the systemace
> > working in general, but the remaining bits are configuration
> > issues, not code/driver support.
> >
> > Question: Who is the maintainer for this section of code? It
> > is maybe MonteVista?
> > --
> > Steve Williams                "The woods are lovely, dark and deep.
> > steve at XXXXXXXXXX           But I have promises to keep,
> > http://www.XXXXXXXXXX         and lines to code before I sleep,
> > http://www.picturel.com       And lines to code before I sleep."
> > Index: drivers/block/xilinx_sysace/adapter.c
> > ===================================================================
> > RCS file:
> > /cvsroot/linuxppc_2_4_devel/drivers/block/xilinx_sysace/adapter.c,v
> > retrieving revision 1.3
> > diff -p -u -r1.3 adapter.c
> > --- drivers/block/xilinx_sysace/adapter.c	30 Oct 2003 00:32:49
> > -0000	1.3
> > +++ drivers/block/xilinx_sysace/adapter.c	2 Apr 2004 02:27:37 -0000
> > @@ -74,7 +74,9 @@ MODULE_LICENSE("GPL");
> >  static const int dont_spin = 0;
> >
> >  static u32 save_BaseAddress;	/* Saved physical base address */
> > +#ifdef CONFIG_VIRTEX_II_PRO
> >  static void (*old_restart) (char *cmd) = NULL;	/* old
> ppc_md.restart
> > */
> > +#endif
> >
> >  static unsigned char heads;
> >  static unsigned char sectors;
> > @@ -277,6 +279,13 @@ proc_cleanup(void)
> >  }
> >  #endif
> >
> > +#ifdef CONFIG_VIRTEX_II_PRO
> > +/*
> > + * The XSysAce_ResetCfg function causes the SystemACE to reset the
> > + * Xilinx chain that is attached to it. If I am a Virtex II Pro, then
> > + * presumably that includes me. Thus, The ResetCfg will ultimately
> > + * reset me, the processor, end of story.
> > + */
> >  static void
> >  xsysace_restart(char *cmd)
> >  {
> > @@ -285,6 +294,7 @@ xsysace_restart(char *cmd)
> >  	/* Wait for reset. */
> >  	for (;;) ;
> >  }
> > +#endif
> >
> >  /*
> >   * The code to handle the block device starts here.
> > @@ -725,8 +735,10 @@ cleanup(void)
> >  	iounmap((void *) cfg->BaseAddress);
> >  	cfg->BaseAddress = save_BaseAddress;
> >
> > +#ifdef CONFIG_VIRTEX_II_PRO
> >  	if (old_restart)
> >  		ppc_md.restart = old_restart;
> > +#endif
> >  }
> >
> >  static int __init
> > @@ -837,9 +849,11 @@ xsysace_init(void)
> >  	       DEVICE_NAME, save_BaseAddress, cfg->BaseAddress, XSA_IRQ,
> >  	       size / 2);
> >
> > +#ifdef CONFIG_VIRTEX_II_PRO
> >  	/* Hook our reset function into system's restart code. */
> >  	old_restart = ppc_md.restart;
> >  	ppc_md.restart = xsysace_restart;
> > +#endif
> >
> >  	if (proc_init())
> >  		printk(KERN_WARNING "%s: could not register /proc
> interface.\n",
>
>
>


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/





More information about the Linuxppc-embedded mailing list