[Cbe-oss-dev] [PATCH] cell: abstract spu management routines
Michael Ellerman
michael at ellerman.id.au
Wed Nov 8 16:01:14 EST 2006
On Tue, 2006-11-07 at 20:49 -0800, Geoff Levand wrote:
> This adds a platform specific spu management abstraction and the corresponding
> routines to support the IBM Cell Blade. It also removes the hypervisor only
> resources that were included in struct spu.
>
> Three new platform specific routines are introduced, spu_enumerate_spus(),
> spu_create_spu() and spu_destroy_spu(). The underlining design uses a new
> type, struct spu_management_ops, to hold function pointers that the platform
> setup code is expected to initialize to instances appropriate to that platform.
>
> For the IBM Cell Blade support, I put the hypervisor only resources that were
> in struct spu into a platform specific data structure struct platform_data.
>
>
> Signed-off-by: Geoff Levand <geoffrey.levand at am.sony.com>
>
> ---
..
> Index: cell--common--6/arch/powerpc/platforms/cell/spu_priv1_mmio.c
> ===================================================================
> --- cell--common--6.orig/arch/powerpc/platforms/cell/spu_priv1_mmio.c
> +++ cell--common--6/arch/powerpc/platforms/cell/spu_priv1_mmio.c
> @@ -18,120 +18,467 @@
> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
> */
>
> +#undef DEBUG
> +
> +#include <linux/interrupt.h>
> +#include <linux/list.h>
> #include <linux/module.h>
> +#include <linux/ptrace.h>
> +#include <linux/slab.h>
> +#include <linux/wait.h>
> +#include <linux/mm.h>
> +#include <linux/io.h>
> +#include <linux/mutex.h>
> +#include <linux/device.h>
>
> -#include <asm/io.h>
> #include <asm/spu.h>
> #include <asm/spu_priv1.h>
> +#include <asm/firmware.h>
> +#include <asm/prom.h>
>
> #include "interrupt.h"
>
> +struct platform_data {
> + int nid;
> + struct device_node *devnode;
> + struct spu_priv1 __iomem *priv1;
> +};
> +
> +static struct platform_data *platform_data(struct spu *spu)
> +{
> + BUG_ON(!spu->platform_data);
> + return (struct platform_data*)spu->platform_data;
> +}
I don't see the point of this, why not just grab platform data directly?
cheers
--
Michael Ellerman
OzLabs, IBM Australia Development Lab
wwweb: http://michael.ellerman.id.au
phone: +61 2 6212 1183 (tie line 70 21183)
We do not inherit the earth from our ancestors,
we borrow it from our children. - S.M.A.R.T Person
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://lists.ozlabs.org/pipermail/cbe-oss-dev/attachments/20061108/1d6dad4a/attachment.pgp>
More information about the cbe-oss-dev
mailing list