[PATCH] fix SAA7146_CLIPPING_MEM size

Olaf Hering
2007-02-16T23:14:13Z

Limit the pci_alloc_consistent size to 128K
PAGE_SIZE can be 64K, which leads to a 896K allocation.

calculate_clipping_registers_rect() uses not more than 257 bytes
because saa7146_video.c:s_fmt limits ov.nclips to 16

But bttv-driver.c does not allow up to 2048 clips in win->clipcount
btcx_screen_clips() may add 4 more clips.

So a max array size of 131329 is enough.
Right now only 56K get allocated.

Signed-off-by: Olaf Hering <olaf@aepfle.de>

---
include/media/saa7146_vv.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

Index: linux-2.6/include/media/saa7146_vv.h
===================================================================
--- linux-2.6.orig/include/media/saa7146_vv.h
+++ linux-2.6/include/media/saa7146_vv.h
@@ -239,7 +239,8 @@ void saa7146_res_free(struct saa7146_fh
#define SAA7146_HPS_SYNC_PORT_B 0x01

/* some memory sizes */
-#define SAA7146_CLIPPING_MEM (14*PAGE_SIZE)
+/* see saa7146_hlp.c:calculate_clipping_registers_rect and bttv-driver.c:setup_window */
+#define SAA7146_CLIPPING_MEM ( ( ( 2048 + 4 ) * ( 2 * (2 * 16) ) ) + 1 )

/* some defines for the various clipping-modes */
#define SAA7146_CLIPPING_RECT 0x4