commit: http://blackfin.uclinux.org/git/?p=linux-kernel;a=commitdiff;h=f281a9b018ab3d5d075206fccb76b8e6a5a0a877
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/bfin_display.c |    4 ++--
 drivers/media/video/blackfin/ppi.c          |    9 ++++++---
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/drivers/media/video/blackfin/bfin_display.c b/drivers/media/video/blackfin/bfin_display.c
index d35f112..7fdd44c 100644
--- a/drivers/media/video/blackfin/bfin_display.c
+++ b/drivers/media/video/blackfin/bfin_display.c
@@ -376,8 +376,8 @@ static int disp_start_streaming(struct vb2_queue *vq, unsigned int count)
 			& V4L2_IN_CAP_CUSTOM_TIMINGS) {
 		struct v4l2_bt_timings *bt = &disp->dv_timings.bt;
 
-		params.hdelay = bt->hbackporch;
-		params.vdelay = bt->vbackporch;
+		params.hdelay = bt->hsync + bt->hbackporch;
+		params.vdelay = bt->vsync + bt->vbackporch;
 		params.line = bt->hfrontporch + bt->hsync
 				+ bt->hbackporch + bt->width;
 		params.frame = bt->vfrontporch + bt->vsync
diff --git a/drivers/media/video/blackfin/ppi.c b/drivers/media/video/blackfin/ppi.c
index 22f109b..f31256e 100644
--- a/drivers/media/video/blackfin/ppi.c
+++ b/drivers/media/video/blackfin/ppi.c
@@ -191,10 +191,13 @@ static int ppi_set_params(struct ppi_if *ppi, struct ppi_params *params)
 {
 	const struct ppi_info *info = ppi->info;
 	int dma32 = 0;
-	int dma_config, hcount, bytes_per_line, samples_per_line;
+	int dma_config, bytes_per_line;
+	int hcount, hdelay, samples_per_line;
 
 	bytes_per_line = params->width * params->bpp / 8;
+	/* convert parameters unit from pixels to samples */
 	hcount = params->width * params->bpp / params->dlen;
+	hdelay = params->hdelay * params->bpp / params->dlen;
 	samples_per_line = params->line * params->bpp / params->dlen;
 	if (params->int_mask == 0xFFFFFFFF)
 		ppi->err_int = false;
@@ -229,7 +232,7 @@ static int ppi_set_params(struct ppi_if *ppi, struct ppi_params *params)
 		bfin_write32(&reg->control, ppi->ppi_control);
 		bfin_write16(&reg->line, samples_per_line);
 		bfin_write16(&reg->frame, params->frame);
-		bfin_write16(&reg->hdelay, params->hdelay);
+		bfin_write16(&reg->hdelay, hdelay);
 		bfin_write16(&reg->vdelay, params->vdelay);
 		bfin_write16(&reg->hcount, hcount);
 		bfin_write16(&reg->vcount, params->height);
@@ -246,7 +249,7 @@ static int ppi_set_params(struct ppi_if *ppi, struct ppi_params *params)
 		bfin_write32(&reg->ctl, ppi->ppi_control);
 		bfin_write32(&reg->line, samples_per_line);
 		bfin_write32(&reg->frame, params->frame);
-		bfin_write32(&reg->hdly, params->hdelay);
+		bfin_write32(&reg->hdly, hdelay);
 		bfin_write32(&reg->vdly, params->vdelay);
 		bfin_write32(&reg->hcnt, hcount);
 		bfin_write32(&reg->vcnt, params->height);
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits

Reply via email to