David Brownell wrote:
>       /* NOTE:  we never transfer more than rw_threshold bytes
> -      * to/from the fifo here; there's no I/O overlap.
> +      * to/from the fifo here; there's no I/O overlap.  We don't
> +      * try to speed up PIO by using 32 bit FIFO writes.
>        */
> -     if (host->data_dir == DAVINCI_MMC_DATADIR_WRITE) {
> -             DAVINCI_MMCSD_WRITE_FIFO(p, host->base, n);
> -     } else {
> -             DAVINCI_MMCSD_READ_FIFO(p, host->base, n);
> -     }
> +     if (host->data_dir == DAVINCI_MMC_DATADIR_WRITE)
> +             iowrite8_rep(host->base + DAVINCI_MMCDXR, p, n);
> +     else
> +             ioread8_rep(host->base + DAVINCI_MMCDXR, p, n);
>       host->buffer = p;
>  }
>  
Are you sure this works? MMCFIFOCTL has a field "ACCWD" which
determines the CPU/EDMA fifo access width. I would call the 32 bit rep
routine followed by 1 more 32 bit write if a non-multiple of 4 was
given.


Troy


_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to