Lines Matching defs:par
139 static void c_set_disp_reg(const struct carmine_fb *par,
142 writel(val, par->display_reg + offset);
145 static u32 c_get_disp_reg(const struct carmine_fb *par,
148 return readl(par->display_reg + offset);
220 static void carmine_init_display_param(struct carmine_fb *par)
226 u32 soffset = par->smem_offset;
228 c_set_disp_reg(par, CARMINE_DISP_REG_C_TRANS, 0);
229 c_set_disp_reg(par, CARMINE_DISP_REG_MLMR_TRANS, 0);
230 c_set_disp_reg(par, CARMINE_DISP_REG_CURSOR_MODE,
236 c_set_disp_reg(par, CARMINE_DISP_REG_CUR1_POS, 0 << 16 | 0);
237 c_set_disp_reg(par, CARMINE_DISP_REG_CUR2_POS, 0 << 16 | 0);
240 c_set_disp_reg(par, CARMINE_DISP_REG_L0_EXT_MODE, CARMINE_WINDOW_MODE |
242 c_set_disp_reg(par, CARMINE_DISP_REG_L1_EXT_MODE,
244 c_set_disp_reg(par, CARMINE_DISP_REG_L2_EXT_MODE, CARMINE_EXTEND_MODE |
246 c_set_disp_reg(par, CARMINE_DISP_REG_L3_EXT_MODE, CARMINE_EXTEND_MODE |
248 c_set_disp_reg(par, CARMINE_DISP_REG_L4_EXT_MODE, CARMINE_EXTEND_MODE |
250 c_set_disp_reg(par, CARMINE_DISP_REG_L5_EXT_MODE, CARMINE_EXTEND_MODE |
252 c_set_disp_reg(par, CARMINE_DISP_REG_L6_EXT_MODE, CARMINE_EXTEND_MODE |
254 c_set_disp_reg(par, CARMINE_DISP_REG_L7_EXT_MODE, CARMINE_EXTEND_MODE |
258 width = par->res->hdp * 4 / CARMINE_DISP_WIDTH_UNIT;
261 height = par->res->vdp - 1;
264 c_set_disp_reg(par, CARMINE_DISP_REG_L0_MODE_W_H, param);
265 c_set_disp_reg(par, CARMINE_DISP_REG_L1_WIDTH, width);
266 c_set_disp_reg(par, CARMINE_DISP_REG_L2_MODE_W_H, param);
267 c_set_disp_reg(par, CARMINE_DISP_REG_L3_MODE_W_H, param);
268 c_set_disp_reg(par, CARMINE_DISP_REG_L4_MODE_W_H, param);
269 c_set_disp_reg(par, CARMINE_DISP_REG_L5_MODE_W_H, param);
270 c_set_disp_reg(par, CARMINE_DISP_REG_L6_MODE_W_H, param);
271 c_set_disp_reg(par, CARMINE_DISP_REG_L7_MODE_W_H, param);
274 window_size = (par->res->vdp - 1) << CARMINE_DISP_WIN_H_SHIFT;
275 window_size |= par->res->hdp;
277 c_set_disp_reg(par, CARMINE_DISP_REG_L0_WIN_POS, 0);
278 c_set_disp_reg(par, CARMINE_DISP_REG_L0_WIN_SIZE, window_size);
279 c_set_disp_reg(par, CARMINE_DISP_REG_L1_WIN_POS, 0);
280 c_set_disp_reg(par, CARMINE_DISP_REG_L1_WIN_SIZE, window_size);
281 c_set_disp_reg(par, CARMINE_DISP_REG_L2_WIN_POS, 0);
282 c_set_disp_reg(par, CARMINE_DISP_REG_L2_WIN_SIZE, window_size);
283 c_set_disp_reg(par, CARMINE_DISP_REG_L3_WIN_POS, 0);
284 c_set_disp_reg(par, CARMINE_DISP_REG_L3_WIN_SIZE, window_size);
285 c_set_disp_reg(par, CARMINE_DISP_REG_L4_WIN_POS, 0);
286 c_set_disp_reg(par, CARMINE_DISP_REG_L4_WIN_SIZE, window_size);
287 c_set_disp_reg(par, CARMINE_DISP_REG_L5_WIN_POS, 0);
288 c_set_disp_reg(par, CARMINE_DISP_REG_L5_WIN_SIZE, window_size);
289 c_set_disp_reg(par, CARMINE_DISP_REG_L6_WIN_POS, 0);
290 c_set_disp_reg(par, CARMINE_DISP_REG_L6_WIN_SIZE, window_size);
291 c_set_disp_reg(par, CARMINE_DISP_REG_L7_WIN_POS, 0);
292 c_set_disp_reg(par, CARMINE_DISP_REG_L7_WIN_SIZE, window_size);
295 c_set_disp_reg(par, CARMINE_DISP_REG_L0_ORG_ADR, soffset);
296 c_set_disp_reg(par, CARMINE_DISP_REG_L1_ORG_ADR, soffset);
297 c_set_disp_reg(par, CARMINE_DISP_REG_L2_ORG_ADR1, soffset);
298 c_set_disp_reg(par, CARMINE_DISP_REG_L3_ORG_ADR1, soffset);
299 c_set_disp_reg(par, CARMINE_DISP_REG_L4_ORG_ADR1, soffset);
300 c_set_disp_reg(par, CARMINE_DISP_REG_L5_ORG_ADR1, soffset);
301 c_set_disp_reg(par, CARMINE_DISP_REG_L6_ORG_ADR1, soffset);
302 c_set_disp_reg(par, CARMINE_DISP_REG_L7_ORG_ADR1, soffset);
305 c_set_disp_reg(par, CARMINE_DISP_REG_L0_DISP_ADR, soffset);
306 c_set_disp_reg(par, CARMINE_DISP_REG_L2_DISP_ADR1, soffset);
307 c_set_disp_reg(par, CARMINE_DISP_REG_L3_DISP_ADR1, soffset);
308 c_set_disp_reg(par, CARMINE_DISP_REG_L4_DISP_ADR1, soffset);
309 c_set_disp_reg(par, CARMINE_DISP_REG_L5_DISP_ADR1, soffset);
310 c_set_disp_reg(par, CARMINE_DISP_REG_L6_DISP_ADR0, soffset);
311 c_set_disp_reg(par, CARMINE_DISP_REG_L7_DISP_ADR0, soffset);
314 c_set_disp_reg(par, CARMINE_DISP_REG_L0_DISP_POS, 0);
315 c_set_disp_reg(par, CARMINE_DISP_REG_L2_DISP_POS, 0);
316 c_set_disp_reg(par, CARMINE_DISP_REG_L3_DISP_POS, 0);
317 c_set_disp_reg(par, CARMINE_DISP_REG_L4_DISP_POS, 0);
318 c_set_disp_reg(par, CARMINE_DISP_REG_L5_DISP_POS, 0);
319 c_set_disp_reg(par, CARMINE_DISP_REG_L6_DISP_POS, 0);
320 c_set_disp_reg(par, CARMINE_DISP_REG_L7_DISP_POS, 0);
323 c_set_disp_reg(par, CARMINE_DISP_REG_BLEND_MODE_L0, 0);
324 c_set_disp_reg(par, CARMINE_DISP_REG_BLEND_MODE_L1, 0);
325 c_set_disp_reg(par, CARMINE_DISP_REG_BLEND_MODE_L2, 0);
326 c_set_disp_reg(par, CARMINE_DISP_REG_BLEND_MODE_L3, 0);
327 c_set_disp_reg(par, CARMINE_DISP_REG_BLEND_MODE_L4, 0);
328 c_set_disp_reg(par, CARMINE_DISP_REG_BLEND_MODE_L5, 0);
329 c_set_disp_reg(par, CARMINE_DISP_REG_BLEND_MODE_L6, 0);
330 c_set_disp_reg(par, CARMINE_DISP_REG_BLEND_MODE_L7, 0);
333 c_set_disp_reg(par, CARMINE_DISP_REG_L0_TRANS, 0);
334 c_set_disp_reg(par, CARMINE_DISP_REG_L1_TRANS, 0);
335 c_set_disp_reg(par, CARMINE_DISP_REG_L2_TRANS, 0);
336 c_set_disp_reg(par, CARMINE_DISP_REG_L3_TRANS, 0);
337 c_set_disp_reg(par, CARMINE_DISP_REG_L4_TRANS, 0);
338 c_set_disp_reg(par, CARMINE_DISP_REG_L5_TRANS, 0);
339 c_set_disp_reg(par, CARMINE_DISP_REG_L6_TRANS, 0);
340 c_set_disp_reg(par, CARMINE_DISP_REG_L7_TRANS, 0);
343 c_set_disp_reg(par, CARMINE_DISP_REG_L0RM, 0);
344 c_set_disp_reg(par, CARMINE_DISP_REG_L2RM, 0);
345 c_set_disp_reg(par, CARMINE_DISP_REG_L3RM, 0);
346 c_set_disp_reg(par, CARMINE_DISP_REG_L4RM, 0);
347 c_set_disp_reg(par, CARMINE_DISP_REG_L5RM, 0);
348 c_set_disp_reg(par, CARMINE_DISP_REG_L6RM, 0);
349 c_set_disp_reg(par, CARMINE_DISP_REG_L7RM, 0);
351 c_set_disp_reg(par, CARMINE_DISP_REG_L0PX, 0);
352 c_set_disp_reg(par, CARMINE_DISP_REG_L2PX, 0);
353 c_set_disp_reg(par, CARMINE_DISP_REG_L3PX, 0);
354 c_set_disp_reg(par, CARMINE_DISP_REG_L4PX, 0);
355 c_set_disp_reg(par, CARMINE_DISP_REG_L5PX, 0);
356 c_set_disp_reg(par, CARMINE_DISP_REG_L6PX, 0);
357 c_set_disp_reg(par, CARMINE_DISP_REG_L7PX, 0);
359 c_set_disp_reg(par, CARMINE_DISP_REG_L0PY, 0);
360 c_set_disp_reg(par, CARMINE_DISP_REG_L2PY, 0);
361 c_set_disp_reg(par, CARMINE_DISP_REG_L3PY, 0);
362 c_set_disp_reg(par, CARMINE_DISP_REG_L4PY, 0);
363 c_set_disp_reg(par, CARMINE_DISP_REG_L5PY, 0);
364 c_set_disp_reg(par, CARMINE_DISP_REG_L6PY, 0);
365 c_set_disp_reg(par, CARMINE_DISP_REG_L7PY, 0);
368 static void set_display_parameters(struct carmine_fb *par)
377 hdp = par->res->hdp - 1;
378 vdp = par->res->vdp - 1;
379 htp = par->res->htp - 1;
380 hsp = par->res->hsp - 1;
381 hsw = par->res->hsw - 1;
382 vtr = par->res->vtr - 1;
383 vsp = par->res->vsp - 1;
384 vsw = par->res->vsw - 1;
386 c_set_disp_reg(par, CARMINE_DISP_REG_H_TOTAL,
388 c_set_disp_reg(par, CARMINE_DISP_REG_H_PERIOD,
390 c_set_disp_reg(par, CARMINE_DISP_REG_V_H_W_H_POS,
394 c_set_disp_reg(par, CARMINE_DISP_REG_V_TOTAL,
396 c_set_disp_reg(par, CARMINE_DISP_REG_V_PERIOD_POS,
400 mode = c_get_disp_reg(par, CARMINE_DISP_REG_DCM1);
402 (par->res->disp_mode & CARMINE_DISP_DCM_MASK);
405 c_set_disp_reg(par, CARMINE_DISP_REG_DCM1, mode);
410 struct carmine_fb *par = info->par;
417 par->new_mode = ret;
418 if (par->cur_mode != par->new_mode) {
420 par->cur_mode = par->new_mode;
421 par->res = &car_modes[par->new_mode];
423 carmine_init_display_param(par);
424 set_display_parameters(par);
547 struct carmine_fb *par;
549 info = framebuffer_alloc(sizeof *par, device);
553 par = info->par;
554 par->display_reg = regs;
555 par->smem_offset = smem_offset;
562 info->pseudo_palette = par->pseudo_palette;
572 par->cur_mode = par->new_mode = ~0;