};
#define BLEND(key, control, weight0, weight1) \
- CKEY_ ## key | BLEND_CONTROL_ ## control | \
- BLEND_WEIGHT0(weight0) | BLEND_WEIGHT0(weight1)
+ (CKEY_ ## key | BLEND_CONTROL_ ## control | \
+ BLEND_WEIGHT0(weight0) | BLEND_WEIGHT0(weight1))
struct tegra_dc_mode {
int pclk;
#define __MACH_TEGRA_FB_H
#ifdef CONFIG_FB_TEGRA
-struct tegra_fb_info *tegra_fb_register(struct platform_device *pdev, struct tegra_dc *dc,
- struct tegra_fb_data *fb_data, struct resource *fb_mem);
+struct tegra_fb_info *tegra_fb_register(struct platform_device *pdev,
+ struct tegra_dc *dc,
+ struct tegra_fb_data *fb_data,
+ struct resource *fb_mem);
void tegra_fb_unregister(struct tegra_fb_info *fb_info);
#else
-static inline struct tegra_fb_info *tegra_fb_register(struct platform_device *pdev, struct tegra_dc *dc,
- struct tegra_fb_data *fb_data, struct resource *fb_mem)
+static inline
+struct tegra_fb_info *tegra_fb_register(struct platform_device *pdev,
+ struct tegra_dc *dc,
+ struct tegra_fb_data *fb_data,
+ struct resource *fb_mem)
{
return NULL;
}
static inline int tegra_dc_fmt_bpp(int fmt)
{
- switch(fmt) {
+ switch (fmt) {
case TEGRA_WIN_FMT_P1:
return 1;
snprintf(buff, sizeof(buff), "WINDOW %c:\n", 'A' + i);
print(data, buff);
- tegra_dc_writel(dc, WINDOW_A_SELECT << i, DC_CMD_DISPLAY_WINDOW_HEADER);
+ tegra_dc_writel(dc, WINDOW_A_SELECT << i,
+ DC_CMD_DISPLAY_WINDOW_HEADER);
DUMP_REG(DC_CMD_DISPLAY_WINDOW_HEADER);
DUMP_REG(DC_WIN_WIN_OPTIONS);
DUMP_REG(DC_WIN_BYTE_SWAP);
char name[32];
snprintf(name, sizeof(name), "tegra_dc%d_regs", dc->pdev->id);
- (void) debugfs_create_file(name, S_IRUGO,NULL, dc, &dbg_fops);
+ (void) debugfs_create_file(name, S_IRUGO, NULL, dc, &dbg_fops);
}
#else
static void tegra_dc_dbg_add(struct tegra_dc *dc) {}
val |= COLOR_EXPAND;
tegra_dc_writel(dc, val, DC_WIN_WIN_OPTIONS);
- tegra_dc_writel(dc, (unsigned long)win->phys_addr, DC_WINBUF_START_ADDR);
+ tegra_dc_writel(dc, (unsigned long)win->phys_addr,
+ DC_WINBUF_START_ADDR);
tegra_dc_writel(dc, 0, DC_WINBUF_ADDR_H_OFFSET);
tegra_dc_writel(dc, 0, DC_WINBUF_ADDR_V_OFFSET);
int i;
for (i = 0; i < DC_N_WINDOWS; i++) {
- tegra_dc_writel(dc, WINDOW_A_SELECT << i, DC_CMD_DISPLAY_WINDOW_HEADER);
+ tegra_dc_writel(dc, WINDOW_A_SELECT << i,
+ DC_CMD_DISPLAY_WINDOW_HEADER);
tegra_dc_writel(dc, blend[i].nokey, DC_WIN_BLEND_NOKEY);
tegra_dc_writel(dc, blend[i].one_win, DC_WIN_BLEND_1WIN);
tegra_dc_writel(dc, blend[i].two_win_x, DC_WIN_BLEND_2WIN_X);
tegra_dc_writel(dc, blend[i].two_win_y, DC_WIN_BLEND_2WIN_Y);
- tegra_dc_writel(dc, blend[i].three_win_xy, DC_WIN_BLEND_3WIN_XY);
+ tegra_dc_writel(dc, blend[i].three_win_xy,
+ DC_WIN_BLEND_3WIN_XY);
}
}
EXPORT_SYMBOL(tegra_dc_set_blending);
if (out->n_modes > 0)
dc->mode = &dc->out->modes[0];
else
- dev_err(&dc->pdev->dev, "No default modes specified. Leaving output disabled.\n");
+ dev_err(&dc->pdev->dev,
+ "No default modes specified. Leaving output disabled.\n");
switch (out->type) {
case TEGRA_DC_OUT_RGB:
if (fb_mem && dc->pdata->fb) {
dc->fb = tegra_fb_register(pdev, dc, dc->pdata->fb, fb_mem);
if (IS_ERR_OR_NULL(dc->fb))
- dc->fb = NULL;
+ dc->fb = NULL;
}
return 0;
struct tegra_dc;
struct tegra_dc_out_ops {
- void (* init)(struct tegra_dc *dc);
+ void (*init)(struct tegra_dc *dc);
};
struct tegra_dc {
}
static inline void tegra_dc_writel(struct tegra_dc *dc, unsigned long val,
- unsigned long reg)
+ unsigned long reg)
{
writel(val, dc->base + reg * 4);
}
return 0;
}
-static int tegra_fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
+static int tegra_fb_check_var(struct fb_var_screeninfo *var,
+ struct fb_info *info)
{
if ((var->xres != info->var.xres) ||
(var->yres != info->var.yres) ||
return 0;
}
-static int tegra_fb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info)
+static int tegra_fb_pan_display(struct fb_var_screeninfo *var,
+ struct fb_info *info)
{
struct tegra_fb_info *tegra_fb = info->par;
char __iomem *flush_start;
flush_start = info->screen_base + (var->yoffset * info->fix.line_length);
flush_end = flush_start + (var->yres * info->fix.line_length);
- /* do we need to dma flush here? */
info->var.xoffset = var->xoffset;
info->var.yoffset = var->yoffset;
return 0;
}
-static void tegra_fb_fillrect(struct fb_info *info, const struct fb_fillrect *rect)
+static void tegra_fb_fillrect(struct fb_info *info,
+ const struct fb_fillrect *rect)
{
cfb_fillrect(info, rect);
}
-static void tegra_fb_copyarea(struct fb_info *info, const struct fb_copyarea *region)
+static void tegra_fb_copyarea(struct fb_info *info,
+ const struct fb_copyarea *region)
{
cfb_copyarea(info, region);
}
-static void tegra_fb_imageblit(struct fb_info *info, const struct fb_image *image)
+static void tegra_fb_imageblit(struct fb_info *info,
+ const struct fb_image *image)
{
cfb_imageblit(info, image);
}
-/* TODO: implement ALLOC, FREE, BLANK ioctls */
-/* TODO: implement private window ioctls to set overlay x,y */
-
static struct fb_ops tegra_fb_ops = {
.owner = THIS_MODULE,
.fb_open = tegra_fb_open,
.fb_imageblit = tegra_fb_imageblit,
};
-struct tegra_fb_info *tegra_fb_register(struct platform_device *pdev, struct tegra_dc *dc,
- struct tegra_fb_data *fb_data, struct resource *fb_mem)
+struct tegra_fb_info *tegra_fb_register(struct platform_device *pdev,
+ struct tegra_dc *dc,
+ struct tegra_fb_data *fb_data,
+ struct resource *fb_mem)
{
struct tegra_dc_win *win;
struct fb_info *info;
win = tegra_dc_get_window(dc, fb_data->win);
if (!win) {
- dev_err(&pdev->dev, "dc does not have a window at index %d\n", fb_data->win);
+ dev_err(&pdev->dev, "dc does not have a window at index %d\n",
+ fb_data->win);
return ERR_PTR(-ENOENT);
}