*           SiS 315/330: 32k below max 
*           SiS 315/330/340/XGI: 32k below max 
sisfb_getheapstart(struct sis_video_info *ivideo){	u32 ret = ivideo->sisfb_parm_mem * 1024;	u32 max = ivideo->video_size - ivideo->hwcursor_size;	u32 def;	/* Calculate heap start = end of memory for console	 *	 * CCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDHHHHQQQQQQQQQQ	 * C = console, D = heap, H = HWCursor, Q = cmd-queue	 *	 * Basically given by "mem" parameter	 *	 * maximum = videosize - cmd_queue - hwcursor	 *           (results in a heap of size 0)	 * default = SiS 300: depends on videosize	 *           SiS 315/330: 32k below max	 */	if(ivideo->sisvga_engine == SIS_300_VGA) {	   max -= TURBO_QUEUE_AREA_SIZE;	   if(ivideo->video_size > 0x1000000) {	      def = 0xc00000;	   } else if(ivideo->video_size > 0x800000) {	      def = 0x800000;	   } else {	      def = 0x400000;	   }	} else {	   max -= COMMAND_QUEUE_AREA_SIZE;	   def = max - 0x8000;	}        if((!ret) || (ret > max) || (ivideo->cardnumber != 0)) {	   ret = def;        }	return ret;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/544393fe584d333480659a4bed30f5295355df11/sis_main.c/clean/drivers/video/sis/sis_main.c