Commit 212b0d50 authored by Tomi Valkeinen's avatar Tomi Valkeinen

OMAPDSS: remove vaddr from overlay info

overlay_info struct, used to configure overlays, currently includes both
physical and virtual addresses for the pixels. The vaddr was added to
support more exotic configurations where CPU would be used to update a
display, but it is not currently used and there has been no interest in
the feature. Using CPU to update a screen is also less interesting now
that OMAP4 has two LCD outputs.

This patch removes the vaddr field, and modifies the users of omapdss
accordingly. This makes the use of omapdss a bit simpler, as the user
doesn't need to think if it needs to give the vaddr.
Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
parent 162874d5
...@@ -400,7 +400,6 @@ static int omapvid_setup_overlay(struct omap_vout_device *vout, ...@@ -400,7 +400,6 @@ static int omapvid_setup_overlay(struct omap_vout_device *vout,
ovl->get_overlay_info(ovl, &info); ovl->get_overlay_info(ovl, &info);
info.paddr = addr; info.paddr = addr;
info.vaddr = NULL;
info.width = cropwidth; info.width = cropwidth;
info.height = cropheight; info.height = cropheight;
info.color_mode = vout->dss_mode; info.color_mode = vout->dss_mode;
......
...@@ -808,19 +808,15 @@ static unsigned calc_rotation_offset_vrfb(const struct fb_var_screeninfo *var, ...@@ -808,19 +808,15 @@ static unsigned calc_rotation_offset_vrfb(const struct fb_var_screeninfo *var,
static void omapfb_calc_addr(const struct omapfb_info *ofbi, static void omapfb_calc_addr(const struct omapfb_info *ofbi,
const struct fb_var_screeninfo *var, const struct fb_var_screeninfo *var,
const struct fb_fix_screeninfo *fix, const struct fb_fix_screeninfo *fix,
int rotation, u32 *paddr, void __iomem **vaddr) int rotation, u32 *paddr)
{ {
u32 data_start_p; u32 data_start_p;
void __iomem *data_start_v;
int offset; int offset;
if (ofbi->rotation_type == OMAP_DSS_ROT_VRFB) { if (ofbi->rotation_type == OMAP_DSS_ROT_VRFB)
data_start_p = omapfb_get_region_rot_paddr(ofbi, rotation); data_start_p = omapfb_get_region_rot_paddr(ofbi, rotation);
data_start_v = NULL; else
} else {
data_start_p = omapfb_get_region_paddr(ofbi); data_start_p = omapfb_get_region_paddr(ofbi);
data_start_v = omapfb_get_region_vaddr(ofbi);
}
if (ofbi->rotation_type == OMAP_DSS_ROT_VRFB) if (ofbi->rotation_type == OMAP_DSS_ROT_VRFB)
offset = calc_rotation_offset_vrfb(var, fix, rotation); offset = calc_rotation_offset_vrfb(var, fix, rotation);
...@@ -828,16 +824,14 @@ static void omapfb_calc_addr(const struct omapfb_info *ofbi, ...@@ -828,16 +824,14 @@ static void omapfb_calc_addr(const struct omapfb_info *ofbi,
offset = calc_rotation_offset_dma(var, fix, rotation); offset = calc_rotation_offset_dma(var, fix, rotation);
data_start_p += offset; data_start_p += offset;
data_start_v += offset;
if (offset) if (offset)
DBG("offset %d, %d = %d\n", DBG("offset %d, %d = %d\n",
var->xoffset, var->yoffset, offset); var->xoffset, var->yoffset, offset);
DBG("paddr %x, vaddr %p\n", data_start_p, data_start_v); DBG("paddr %x\n", data_start_p);
*paddr = data_start_p; *paddr = data_start_p;
*vaddr = data_start_v;
} }
/* setup overlay according to the fb */ /* setup overlay according to the fb */
...@@ -850,7 +844,6 @@ int omapfb_setup_overlay(struct fb_info *fbi, struct omap_overlay *ovl, ...@@ -850,7 +844,6 @@ int omapfb_setup_overlay(struct fb_info *fbi, struct omap_overlay *ovl,
struct fb_fix_screeninfo *fix = &fbi->fix; struct fb_fix_screeninfo *fix = &fbi->fix;
enum omap_color_mode mode = 0; enum omap_color_mode mode = 0;
u32 data_start_p = 0; u32 data_start_p = 0;
void __iomem *data_start_v = NULL;
struct omap_overlay_info info; struct omap_overlay_info info;
int xres, yres; int xres, yres;
int screen_width; int screen_width;
...@@ -880,8 +873,7 @@ int omapfb_setup_overlay(struct fb_info *fbi, struct omap_overlay *ovl, ...@@ -880,8 +873,7 @@ int omapfb_setup_overlay(struct fb_info *fbi, struct omap_overlay *ovl,
} }
if (ofbi->region->size) if (ofbi->region->size)
omapfb_calc_addr(ofbi, var, fix, rotation, omapfb_calc_addr(ofbi, var, fix, rotation, &data_start_p);
&data_start_p, &data_start_v);
r = fb_mode_to_dss_mode(var, &mode); r = fb_mode_to_dss_mode(var, &mode);
if (r) { if (r) {
...@@ -910,7 +902,6 @@ int omapfb_setup_overlay(struct fb_info *fbi, struct omap_overlay *ovl, ...@@ -910,7 +902,6 @@ int omapfb_setup_overlay(struct fb_info *fbi, struct omap_overlay *ovl,
mirror = ofbi->mirror; mirror = ofbi->mirror;
info.paddr = data_start_p; info.paddr = data_start_p;
info.vaddr = data_start_v;
info.screen_width = screen_width; info.screen_width = screen_width;
info.width = xres; info.width = xres;
info.height = yres; info.height = yres;
......
...@@ -358,7 +358,6 @@ struct omap_overlay_info { ...@@ -358,7 +358,6 @@ struct omap_overlay_info {
bool enabled; bool enabled;
u32 paddr; u32 paddr;
void __iomem *vaddr;
u32 p_uv_addr; /* for NV12 format */ u32 p_uv_addr; /* for NV12 format */
u16 screen_width; u16 screen_width;
u16 width; u16 width;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment