diff options
author | Mauro Carvalho Chehab <mchehab@osg.samsung.com> | 2015-06-22 15:40:39 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@osg.samsung.com> | 2015-06-24 07:38:28 -0400 |
commit | 816de50d35743088f18e0da9e03e3347c768b7a2 (patch) | |
tree | db6380eb1f835941382174287b03468b50e246c9 | |
parent | 846793b3f926da8224f15c438043f08dd5f11882 (diff) |
[media] saa7134: fix page size on some archs
On some archs, like tile, the PAGE_SIZE is not 4K. In the case
of tile arch, it can be either 16KB or 64KB.
Due to that, a warning is produced:
drivers/media/pci/saa7134/saa7134.h:678:43: warning: large integer implicitly truncated to unsigned type [-Woverflow]
This is actually an error, as it will write trach to the DMA size
registers. The logic at saa7134-ts already does the right thing:
saa_writeb(SAA7134_TS_DMA0, ((dev->ts.nr_packets-1)&0xff));
saa_writeb(SAA7134_TS_DMA1, (((dev->ts.nr_packets-1)>>8)&0xff));
/* TSNOPIT=0, TSCOLAP=0 */
saa_writeb(SAA7134_TS_DMA2,
((((dev->ts.nr_packets-1)>>16)&0x3f) | 0x00));
So, fix the driver to take larger page sizes into account.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-rw-r--r-- | drivers/media/pci/saa7134/saa7134-go7007.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/media/pci/saa7134/saa7134-go7007.c b/drivers/media/pci/saa7134/saa7134-go7007.c index da7c4be4bed2..8a2abb34186b 100644 --- a/drivers/media/pci/saa7134/saa7134-go7007.c +++ b/drivers/media/pci/saa7134/saa7134-go7007.c | |||
@@ -289,9 +289,9 @@ static int saa7134_go7007_stream_start(struct go7007 *go) | |||
289 | 289 | ||
290 | /* Set up transfer block size */ | 290 | /* Set up transfer block size */ |
291 | saa_writeb(SAA7134_TS_PARALLEL_SERIAL, 128 - 1); | 291 | saa_writeb(SAA7134_TS_PARALLEL_SERIAL, 128 - 1); |
292 | saa_writeb(SAA7134_TS_DMA0, (PAGE_SIZE >> 7) - 1); | 292 | saa_writeb(SAA7134_TS_DMA0, ((PAGE_SIZE >> 7) - 1) & 0xff); |
293 | saa_writeb(SAA7134_TS_DMA1, 0); | 293 | saa_writeb(SAA7134_TS_DMA1, (PAGE_SIZE >> 15) & 0xff); |
294 | saa_writeb(SAA7134_TS_DMA2, 0); | 294 | saa_writeb(SAA7134_TS_DMA2, (PAGE_SIZE >> 31) & 0x3f); |
295 | 295 | ||
296 | /* Enable video streaming mode */ | 296 | /* Enable video streaming mode */ |
297 | saa_writeb(SAA7134_GPIO_GPSTATUS2, GPIO_COMMAND_VIDEO); | 297 | saa_writeb(SAA7134_GPIO_GPSTATUS2, GPIO_COMMAND_VIDEO); |