diff options
| -rw-r--r-- | arch/powerpc/cpu/mpc8260/commproc.c | 19 | ||||
| -rw-r--r-- | arch/powerpc/cpu/mpc85xx/commproc.c | 19 | ||||
| -rw-r--r-- | arch/powerpc/cpu/mpc8xx/commproc.c | 20 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/global_data.h | 8 | ||||
| -rw-r--r-- | examples/standalone/mem_to_mem_idma2intr.c | 4 | 
5 files changed, 36 insertions, 34 deletions
| diff --git a/arch/powerpc/cpu/mpc8260/commproc.c b/arch/powerpc/cpu/mpc8260/commproc.c index e5bfed132..22cef3e98 100644 --- a/arch/powerpc/cpu/mpc8260/commproc.c +++ b/arch/powerpc/cpu/mpc8260/commproc.c @@ -30,8 +30,8 @@ m8260_cpm_reset(void)  	/* Reclaim the DP memory for our use.  	*/ -	gd->dp_alloc_base = CPM_DATAONLY_BASE; -	gd->dp_alloc_top = gd->dp_alloc_base + CPM_DATAONLY_SIZE; +	gd->arch.dp_alloc_base = CPM_DATAONLY_BASE; +	gd->arch.dp_alloc_top = gd->arch.dp_alloc_base + CPM_DATAONLY_SIZE;  	/*  	 * Reset CPM @@ -60,21 +60,22 @@ m8260_cpm_dpalloc(uint size, uint align)  	uint	savebase;  	align_mask = align - 1; -	savebase = gd->dp_alloc_base; +	savebase = gd->arch.dp_alloc_base; -	if ((off = (gd->dp_alloc_base & align_mask)) != 0) -		gd->dp_alloc_base += (align - off); +	off = gd->arch.dp_alloc_base & align_mask; +	if (off != 0) +		gd->arch.dp_alloc_base += (align - off);  	if ((off = size & align_mask) != 0)  		size += align - off; -	if ((gd->dp_alloc_base + size) >= gd->dp_alloc_top) { -		gd->dp_alloc_base = savebase; +	if ((gd->arch.dp_alloc_base + size) >= gd->arch.dp_alloc_top) { +		gd->arch.dp_alloc_base = savebase;  		panic("m8260_cpm_dpalloc: ran out of dual port ram!");  	} -	retloc = gd->dp_alloc_base; -	gd->dp_alloc_base += size; +	retloc = gd->arch.dp_alloc_base; +	gd->arch.dp_alloc_base += size;  	memset((void *)&immr->im_dprambase[retloc], 0, size); diff --git a/arch/powerpc/cpu/mpc85xx/commproc.c b/arch/powerpc/cpu/mpc85xx/commproc.c index 7f10476a3..37e706238 100644 --- a/arch/powerpc/cpu/mpc85xx/commproc.c +++ b/arch/powerpc/cpu/mpc85xx/commproc.c @@ -43,8 +43,8 @@ m8560_cpm_reset(void)  	/* Reclaim the DP memory for our use.  	*/ -	gd->dp_alloc_base = CPM_DATAONLY_BASE; -	gd->dp_alloc_top = gd->dp_alloc_base + CPM_DATAONLY_SIZE; +	gd->arch.dp_alloc_base = CPM_DATAONLY_BASE; +	gd->arch.dp_alloc_top = gd->arch.dp_alloc_base + CPM_DATAONLY_SIZE;  	/*  	 * Reset CPM @@ -69,21 +69,22 @@ m8560_cpm_dpalloc(uint size, uint align)  	uint	savebase;  	align_mask = align - 1; -	savebase = gd->dp_alloc_base; +	savebase = gd->arch.dp_alloc_base; -	if ((off = (gd->dp_alloc_base & align_mask)) != 0) -		gd->dp_alloc_base += (align - off); +	off = gd->arch.dp_alloc_base & align_mask; +	if (off != 0) +		gd->arch.dp_alloc_base += (align - off);  	if ((off = size & align_mask) != 0)  		size += align - off; -	if ((gd->dp_alloc_base + size) >= gd->dp_alloc_top) { -		gd->dp_alloc_base = savebase; +	if ((gd->arch.dp_alloc_base + size) >= gd->arch.dp_alloc_top) { +		gd->arch.dp_alloc_base = savebase;  		panic("m8560_cpm_dpalloc: ran out of dual port ram!");  	} -	retloc = gd->dp_alloc_base; -	gd->dp_alloc_base += size; +	retloc = gd->arch.dp_alloc_base; +	gd->arch.dp_alloc_base += size;  	memset((void *)&(cpm->im_dprambase[retloc]), 0, size); diff --git a/arch/powerpc/cpu/mpc8xx/commproc.c b/arch/powerpc/cpu/mpc8xx/commproc.c index 5fe01fffa..a36478209 100644 --- a/arch/powerpc/cpu/mpc8xx/commproc.c +++ b/arch/powerpc/cpu/mpc8xx/commproc.c @@ -31,8 +31,8 @@ DECLARE_GLOBAL_DATA_PTR;  int dpram_init (void)  {  	/* Reclaim the DP memory for our use. */ -	gd->dp_alloc_base = CPM_DATAONLY_BASE; -	gd->dp_alloc_top  = CPM_DATAONLY_BASE + CPM_DATAONLY_SIZE; +	gd->arch.dp_alloc_base = CPM_DATAONLY_BASE; +	gd->arch.dp_alloc_top  = CPM_DATAONLY_BASE + CPM_DATAONLY_SIZE;  	return (0);  } @@ -43,19 +43,19 @@ int dpram_init (void)   */  uint dpram_alloc (uint size)  { -	uint addr = gd->dp_alloc_base; +	uint addr = gd->arch.dp_alloc_base; -	if ((gd->dp_alloc_base + size) >= gd->dp_alloc_top) +	if ((gd->arch.dp_alloc_base + size) >= gd->arch.dp_alloc_top)  		return (CPM_DP_NOSPACE); -	gd->dp_alloc_base += size; +	gd->arch.dp_alloc_base += size;  	return addr;  }  uint dpram_base (void)  { -	return gd->dp_alloc_base; +	return gd->arch.dp_alloc_base;  }  /* Allocate some memory from the dual ported ram.  We may want to @@ -66,12 +66,12 @@ uint dpram_alloc_align (uint size, uint align)  {  	uint addr, mask = align - 1; -	addr = (gd->dp_alloc_base + mask) & ~mask; +	addr = (gd->arch.dp_alloc_base + mask) & ~mask; -	if ((addr + size) >= gd->dp_alloc_top) +	if ((addr + size) >= gd->arch.dp_alloc_top)  		return (CPM_DP_NOSPACE); -	gd->dp_alloc_base = addr + size; +	gd->arch.dp_alloc_base = addr + size;  	return addr;  } @@ -80,6 +80,6 @@ uint dpram_base_align (uint align)  {  	uint mask = align - 1; -	return (gd->dp_alloc_base + mask) & ~mask; +	return (gd->arch.dp_alloc_base + mask) & ~mask;  }  #endif	/* CONFIG_SYS_ALLOC_DPRAM */ diff --git a/arch/powerpc/include/asm/global_data.h b/arch/powerpc/include/asm/global_data.h index b7534cd5a..87f9268f3 100644 --- a/arch/powerpc/include/asm/global_data.h +++ b/arch/powerpc/include/asm/global_data.h @@ -112,6 +112,10 @@ struct arch_global_data {  	unsigned long arbiter_event_attributes;  	unsigned long arbiter_event_address;  #endif +#if defined(CONFIG_SYS_ALLOC_DPRAM) || defined(CONFIG_CPM2) +	unsigned int dp_alloc_base; +	unsigned int dp_alloc_top; +#endif  };  /* @@ -141,10 +145,6 @@ typedef	struct	global_data {  #ifdef CONFIG_PRE_CONSOLE_BUFFER  	unsigned long	precon_buf_idx;	/* Pre-Console buffer index */  #endif -#if defined(CONFIG_SYS_ALLOC_DPRAM) || defined(CONFIG_CPM2) -	unsigned int	dp_alloc_base; -	unsigned int	dp_alloc_top; -#endif  #if defined(CONFIG_4xx)  	u32  uart_clk;  #endif /* CONFIG_4xx */ diff --git a/examples/standalone/mem_to_mem_idma2intr.c b/examples/standalone/mem_to_mem_idma2intr.c index d0a75eadf..e466c904a 100644 --- a/examples/standalone/mem_to_mem_idma2intr.c +++ b/examples/standalone/mem_to_mem_idma2intr.c @@ -356,7 +356,7 @@ uint dpalloc (uint size, uint align)  	/* Pointer to initial global data area */  	if (dpinit_done == 0) { -		dpbase = gd->dp_alloc_base; +		dpbase = gd->arch.dp_alloc_base;  		dpinit_done = 1;  	} @@ -369,7 +369,7 @@ uint dpalloc (uint size, uint align)  	if ((off = size & align_mask) != 0)  		size += align - off; -	if ((dpbase + size) >= gd->dp_alloc_top) { +	if ((dpbase + size) >= gd->arch.dp_alloc_top) {  		dpbase = savebase;  		printf ("dpalloc: ran out of dual port ram!");  		return 0; |