commit: http://blackfin.uclinux.org/git/?p=linux-kernel;a=commitdiff;h=78a905cf18fad648c02b01c888d0caf913fab200 branch: http://blackfin.uclinux.org/git/?p=linux-kernel;a=shortlog;h=refs/heads/trunk
Signed-off-by: Scott Jiang <[email protected]> --- drivers/media/video/blackfin/ppi.c | 16 ++++++++++++---- 1 files changed, 12 insertions(+), 4 deletions(-) diff --git a/drivers/media/video/blackfin/ppi.c b/drivers/media/video/blackfin/ppi.c index 3274ce7..0dc3e02 100644 --- a/drivers/media/video/blackfin/ppi.c +++ b/drivers/media/video/blackfin/ppi.c @@ -139,11 +139,19 @@ static int ppi_set_params(struct ppi_if *intf, struct ppi_params *params) intf->lines_per_frame = params->height; /* config DMA */ - intf->dma_config = (DMA_FLOW_STOP | WNR | RESTART | WDSIZE_16 | DMA2D | DI_EN); - set_dma_x_count(intf->dma_ch, intf->bytes_per_line >> 1); - set_dma_x_modify(intf->dma_ch, 2); + intf->dma_config = (DMA_FLOW_STOP | WNR | RESTART | DMA2D | DI_EN); + if (params->ppi_control & DMA32) { + intf->dma_config |= WDSIZE_32; + set_dma_x_count(intf->dma_ch, intf->bytes_per_line >> 2); + set_dma_x_modify(intf->dma_ch, 4); + set_dma_y_modify(intf->dma_ch, 4); + } else { + intf->dma_config |= WDSIZE_16; + set_dma_x_count(intf->dma_ch, intf->bytes_per_line >> 1); + set_dma_x_modify(intf->dma_ch, 2); + set_dma_y_modify(intf->dma_ch, 2); + } set_dma_y_count(intf->dma_ch, intf->lines_per_frame); - set_dma_y_modify(intf->dma_ch, 2); set_dma_config(intf->dma_ch, intf->dma_config); /* config PPI */
_______________________________________________ Linux-kernel-commits mailing list [email protected] https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits
