Lines Matching full:timings

224 		printk("fbmon: trying to fix monitor timings\n");  in fix_edid()
639 DPRINTK(" Detailed Timings\n"); in fb_create_modedb()
656 DPRINTK(" Standard Timings\n"); in fb_create_modedb()
1148 static void fb_timings_vfreq(struct __fb_timings *timings) in fb_timings_vfreq() argument
1150 timings->hfreq = fb_get_hfreq(timings->vfreq, timings->vactive); in fb_timings_vfreq()
1151 timings->vblank = fb_get_vblank(timings->hfreq); in fb_timings_vfreq()
1152 timings->vtotal = timings->vactive + timings->vblank; in fb_timings_vfreq()
1153 timings->hblank = fb_get_hblank_by_hfreq(timings->hfreq, in fb_timings_vfreq()
1154 timings->hactive); in fb_timings_vfreq()
1155 timings->htotal = timings->hactive + timings->hblank; in fb_timings_vfreq()
1156 timings->dclk = timings->htotal * timings->hfreq; in fb_timings_vfreq()
1159 static void fb_timings_hfreq(struct __fb_timings *timings) in fb_timings_hfreq() argument
1161 timings->vblank = fb_get_vblank(timings->hfreq); in fb_timings_hfreq()
1162 timings->vtotal = timings->vactive + timings->vblank; in fb_timings_hfreq()
1163 timings->vfreq = timings->hfreq/timings->vtotal; in fb_timings_hfreq()
1164 timings->hblank = fb_get_hblank_by_hfreq(timings->hfreq, in fb_timings_hfreq()
1165 timings->hactive); in fb_timings_hfreq()
1166 timings->htotal = timings->hactive + timings->hblank; in fb_timings_hfreq()
1167 timings->dclk = timings->htotal * timings->hfreq; in fb_timings_hfreq()
1170 static void fb_timings_dclk(struct __fb_timings *timings) in fb_timings_dclk() argument
1172 timings->hblank = fb_get_hblank_by_dclk(timings->dclk, in fb_timings_dclk()
1173 timings->hactive); in fb_timings_dclk()
1174 timings->htotal = timings->hactive + timings->hblank; in fb_timings_dclk()
1175 timings->hfreq = timings->dclk/timings->htotal; in fb_timings_dclk()
1176 timings->vblank = fb_get_vblank(timings->hfreq); in fb_timings_dclk()
1177 timings->vtotal = timings->vactive + timings->vblank; in fb_timings_dclk()
1178 timings->vfreq = timings->hfreq/timings->vtotal; in fb_timings_dclk()
1197 * refresh rate. Otherwise, it will calculate timings based on
1201 * ignored and @var will be filled with the calculated timings.
1207 * The timings generated by the GTF will be different from VESA
1217 struct __fb_timings *timings; in fb_get_mode() local
1222 timings = kzalloc(sizeof(struct __fb_timings), GFP_KERNEL); in fb_get_mode()
1224 if (!timings) in fb_get_mode()
1248 timings->hactive = var->xres; in fb_get_mode()
1249 timings->vactive = var->yres; in fb_get_mode()
1251 timings->vactive /= 2; in fb_get_mode()
1255 timings->vactive *= 2; in fb_get_mode()
1261 timings->hfreq = hfmax; in fb_get_mode()
1262 fb_timings_hfreq(timings); in fb_get_mode()
1263 if (timings->vfreq > vfmax) { in fb_get_mode()
1264 timings->vfreq = vfmax; in fb_get_mode()
1265 fb_timings_vfreq(timings); in fb_get_mode()
1267 if (timings->dclk > dclkmax) { in fb_get_mode()
1268 timings->dclk = dclkmax; in fb_get_mode()
1269 fb_timings_dclk(timings); in fb_get_mode()
1273 timings->vfreq = val; in fb_get_mode()
1274 fb_timings_vfreq(timings); in fb_get_mode()
1277 timings->hfreq = val; in fb_get_mode()
1278 fb_timings_hfreq(timings); in fb_get_mode()
1281 timings->dclk = PICOS2KHZ(val) * 1000; in fb_get_mode()
1282 fb_timings_dclk(timings); in fb_get_mode()
1290 (timings->vfreq < vfmin || timings->vfreq > vfmax || in fb_get_mode()
1291 timings->hfreq < hfmin || timings->hfreq > hfmax || in fb_get_mode()
1292 timings->dclk < dclkmin || timings->dclk > dclkmax))) { in fb_get_mode()
1295 var->pixclock = KHZ2PICOS(timings->dclk/1000); in fb_get_mode()
1296 var->hsync_len = (timings->htotal * 8)/100; in fb_get_mode()
1297 var->right_margin = (timings->hblank/2) - var->hsync_len; in fb_get_mode()
1298 var->left_margin = timings->hblank - var->right_margin - in fb_get_mode()
1302 var->upper_margin = (timings->vblank * interlace)/dscan - in fb_get_mode()
1306 kfree(timings); in fb_get_mode()
1372 * @index: index into the list of display timings in devicetree