Re: [PATCH 06/27] score: create head files delay.h device.h div64.h dma-mapping.h dma.h

Arnd Bergmann
2009-06-09T17:18:46Z

On Tuesday 09 June 2009, liqin.chen@sunplusct.com wrote:

> diff --git a/arch/score/include/asm/delay.h
> b/arch/score/include/asm/delay.h
> new file mode 100644
> index 0000000..ea4d532
> --- /dev/null
> +++ b/arch/score/include/asm/delay.h
> @@ -0,0 +1,14 @@
> +#ifndef _ASM_SCORE_DELAY_H
> +#define _ASM_SCORE_DELAY_H
> +
> +static inline void __delay(unsigned long loops)
> +{}
> +
> +static inline void __udelay(unsigned long usecs)
> +{
> + __delay(usecs);
> +}
> +
> +#define udelay(usecs) __udelay(usecs)
> +
> +#endif /* _ASM_SCORE_DELAY_H */

Having a working udelay() function is required for many
drivers that are sensitive to timing, you should probably
implement that at some point in the future.

> new file mode 100644
> index 0000000..f9c0193
> --- /dev/null
> +++ b/arch/score/include/asm/dma-mapping.h
> @@ -0,0 +1,6 @@
> +#ifndef _ASM_SCORE_DMA_MAPPING_H
> +#define _ASM_SCORE_DMA_MAPPING_H
> +
> +#include <asm-generic/dma-mapping-broken.h>
> +
> +#endif /* _ASM_SCORE_DMA_MAPPING_H */

This is what I did in the asm-generic#microblaze tree, but I noticed later
that you can simply leave out that file entirely when you set
CONFIG_NO_DMA.

> --- /dev/null
> +++ b/arch/score/include/asm/dma.h
> @@ -0,0 +1,8 @@
> +#ifndef _ASM_SCORE_DMA_H
> +#define _ASM_SCORE_DMA_H
> +
> +#include <asm/io.h>
> +
> +#define MAX_DMA_ADDRESS (PAGE_OFFSET + 0x01000000)
> +
> +#endif /* _ASM_SCORE_DMA_H */

This indicates that you allow DMA to certain devices only in the first
16MB of memory, like an ISA floppy or parallel port. Do you actually have
any devices with this behaviour?