summaryrefslogtreecommitdiff
path: root/drivers/media/platform/blackfin
diff options
context:
space:
mode:
authorScott Jiang <scott.jiang.linux@gmail.com>2013-04-12 19:52:57 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2013-05-21 08:07:18 -0300
commit968bd2e7ca25d630edc0d8e145ab8225af6d585b (patch)
tree1c6b748148a39374d332e1e3db4b9ccfca10800e /drivers/media/platform/blackfin
parent835ab0121adb24ff27729bd3743f1477af00c435 (diff)
[media] blackfin: add display support in ppi driver
Signed-off-by: Scott Jiang <scott.jiang.linux@gmail.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/platform/blackfin')
-rw-r--r--drivers/media/platform/blackfin/ppi.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/media/platform/blackfin/ppi.c b/drivers/media/platform/blackfin/ppi.c
index 01b5b501347e..15e9c2bac2b1 100644
--- a/drivers/media/platform/blackfin/ppi.c
+++ b/drivers/media/platform/blackfin/ppi.c
@@ -266,6 +266,18 @@ static int ppi_set_params(struct ppi_if *ppi, struct ppi_params *params)
bfin_write32(&reg->vcnt, params->height);
if (params->int_mask)
bfin_write32(&reg->imsk, params->int_mask & 0xFF);
+ if (ppi->ppi_control & PORT_DIR) {
+ u32 hsync_width, vsync_width, vsync_period;
+
+ hsync_width = params->hsync
+ * params->bpp / params->dlen;
+ vsync_width = params->vsync * samples_per_line;
+ vsync_period = samples_per_line * params->frame;
+ bfin_write32(&reg->fs1_wlhb, hsync_width);
+ bfin_write32(&reg->fs1_paspl, samples_per_line);
+ bfin_write32(&reg->fs2_wlvb, vsync_width);
+ bfin_write32(&reg->fs2_palpf, vsync_period);
+ }
break;
}
default: