Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 251090
b: refs/heads/master
c: ab5ca07
h: refs/heads/master
v: v3
  • Loading branch information
Amber Jain authored and Tomi Valkeinen committed May 23, 2011
1 parent 5362210 commit 5f40af3
Show file tree
Hide file tree
Showing 5 changed files with 350 additions and 3 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 5719d35cce5b8f7c09cbf6860a37e9762b3bda72
refs/heads/master: ab5ca071e231e6d6da5f6aa9484a2cd233f7c746
197 changes: 197 additions & 0 deletions trunk/drivers/video/omap2/dss/dispc.c
Original file line number Diff line number Diff line change
Expand Up @@ -217,6 +217,25 @@ void dispc_save_context(void)
for (i = 0; i < 8; i++)
SR(OVL_FIR_COEF_V(OMAP_DSS_VIDEO1, i));

if (dss_has_feature(FEAT_HANDLE_UV_SEPARATE)) {
SR(OVL_BA0_UV(OMAP_DSS_VIDEO1));
SR(OVL_BA1_UV(OMAP_DSS_VIDEO1));
SR(OVL_FIR2(OMAP_DSS_VIDEO1));
SR(OVL_ACCU2_0(OMAP_DSS_VIDEO1));
SR(OVL_ACCU2_1(OMAP_DSS_VIDEO1));

for (i = 0; i < 8; i++)
SR(OVL_FIR_COEF_H2(OMAP_DSS_VIDEO1, i));

for (i = 0; i < 8; i++)
SR(OVL_FIR_COEF_HV2(OMAP_DSS_VIDEO1, i));

for (i = 0; i < 8; i++)
SR(OVL_FIR_COEF_V2(OMAP_DSS_VIDEO1, i));
}
if (dss_has_feature(FEAT_ATTR2))
SR(OVL_ATTRIBUTES2(OMAP_DSS_VIDEO1));

SR(OVL_PRELOAD(OMAP_DSS_VIDEO1));

/* VID2 */
Expand Down Expand Up @@ -245,6 +264,25 @@ void dispc_save_context(void)
for (i = 0; i < 8; i++)
SR(OVL_FIR_COEF_V(OMAP_DSS_VIDEO2, i));

if (dss_has_feature(FEAT_HANDLE_UV_SEPARATE)) {
SR(OVL_BA0_UV(OMAP_DSS_VIDEO2));
SR(OVL_BA1_UV(OMAP_DSS_VIDEO2));
SR(OVL_FIR2(OMAP_DSS_VIDEO2));
SR(OVL_ACCU2_0(OMAP_DSS_VIDEO2));
SR(OVL_ACCU2_1(OMAP_DSS_VIDEO2));

for (i = 0; i < 8; i++)
SR(OVL_FIR_COEF_H2(OMAP_DSS_VIDEO2, i));

for (i = 0; i < 8; i++)
SR(OVL_FIR_COEF_HV2(OMAP_DSS_VIDEO2, i));

for (i = 0; i < 8; i++)
SR(OVL_FIR_COEF_V2(OMAP_DSS_VIDEO2, i));
}
if (dss_has_feature(FEAT_ATTR2))
SR(OVL_ATTRIBUTES2(OMAP_DSS_VIDEO2));

SR(OVL_PRELOAD(OMAP_DSS_VIDEO2));

if (dss_has_feature(FEAT_CORE_CLK_DIV))
Expand Down Expand Up @@ -338,6 +376,25 @@ void dispc_restore_context(void)
for (i = 0; i < 8; i++)
RR(OVL_FIR_COEF_V(OMAP_DSS_VIDEO1, i));

if (dss_has_feature(FEAT_HANDLE_UV_SEPARATE)) {
RR(OVL_BA0_UV(OMAP_DSS_VIDEO1));
RR(OVL_BA1_UV(OMAP_DSS_VIDEO1));
RR(OVL_FIR2(OMAP_DSS_VIDEO1));
RR(OVL_ACCU2_0(OMAP_DSS_VIDEO1));
RR(OVL_ACCU2_1(OMAP_DSS_VIDEO1));

for (i = 0; i < 8; i++)
RR(OVL_FIR_COEF_H2(OMAP_DSS_VIDEO1, i));

for (i = 0; i < 8; i++)
RR(OVL_FIR_COEF_HV2(OMAP_DSS_VIDEO1, i));

for (i = 0; i < 8; i++)
RR(OVL_FIR_COEF_V2(OMAP_DSS_VIDEO1, i));
}
if (dss_has_feature(FEAT_ATTR2))
RR(OVL_ATTRIBUTES2(OMAP_DSS_VIDEO1));

RR(OVL_PRELOAD(OMAP_DSS_VIDEO1));

/* VID2 */
Expand Down Expand Up @@ -366,6 +423,25 @@ void dispc_restore_context(void)
for (i = 0; i < 8; i++)
RR(OVL_FIR_COEF_V(OMAP_DSS_VIDEO2, i));

if (dss_has_feature(FEAT_HANDLE_UV_SEPARATE)) {
RR(OVL_BA0_UV(OMAP_DSS_VIDEO2));
RR(OVL_BA1_UV(OMAP_DSS_VIDEO2));
RR(OVL_FIR2(OMAP_DSS_VIDEO2));
RR(OVL_ACCU2_0(OMAP_DSS_VIDEO2));
RR(OVL_ACCU2_1(OMAP_DSS_VIDEO2));

for (i = 0; i < 8; i++)
RR(OVL_FIR_COEF_H2(OMAP_DSS_VIDEO2, i));

for (i = 0; i < 8; i++)
RR(OVL_FIR_COEF_HV2(OMAP_DSS_VIDEO2, i));

for (i = 0; i < 8; i++)
RR(OVL_FIR_COEF_V2(OMAP_DSS_VIDEO2, i));
}
if (dss_has_feature(FEAT_ATTR2))
RR(OVL_ATTRIBUTES2(OMAP_DSS_VIDEO2));

RR(OVL_PRELOAD(OMAP_DSS_VIDEO2));

if (dss_has_feature(FEAT_CORE_CLK_DIV))
Expand Down Expand Up @@ -476,6 +552,27 @@ static void _dispc_write_firv_reg(enum omap_plane plane, int reg, u32 value)
dispc_write_reg(DISPC_OVL_FIR_COEF_V(plane, reg), value);
}

static void _dispc_write_firh2_reg(enum omap_plane plane, int reg, u32 value)
{
BUG_ON(plane == OMAP_DSS_GFX);

dispc_write_reg(DISPC_OVL_FIR_COEF_H2(plane, reg), value);
}

static void _dispc_write_firhv2_reg(enum omap_plane plane, int reg, u32 value)
{
BUG_ON(plane == OMAP_DSS_GFX);

dispc_write_reg(DISPC_OVL_FIR_COEF_HV2(plane, reg), value);
}

static void _dispc_write_firv2_reg(enum omap_plane plane, int reg, u32 value)
{
BUG_ON(plane == OMAP_DSS_GFX);

dispc_write_reg(DISPC_OVL_FIR_COEF_V2(plane, reg), value);
}

static void _dispc_set_scale_coef(enum omap_plane plane, int hscaleup,
int vscaleup, int five_taps)
{
Expand Down Expand Up @@ -645,6 +742,16 @@ static void _dispc_set_plane_ba1(enum omap_plane plane, u32 paddr)
dispc_write_reg(DISPC_OVL_BA1(plane), paddr);
}

static void _dispc_set_plane_ba0_uv(enum omap_plane plane, u32 paddr)
{
dispc_write_reg(DISPC_OVL_BA0_UV(plane), paddr);
}

static void _dispc_set_plane_ba1_uv(enum omap_plane plane, u32 paddr)
{
dispc_write_reg(DISPC_OVL_BA1_UV(plane), paddr);
}

static void _dispc_set_plane_pos(enum omap_plane plane, int x, int y)
{
u32 val = FLD_VAL(y, 26, 16) | FLD_VAL(x, 10, 0);
Expand Down Expand Up @@ -1025,6 +1132,21 @@ static void _dispc_set_vid_accu1(enum omap_plane plane, int haccu, int vaccu)
dispc_write_reg(DISPC_OVL_ACCU1(plane), val);
}

static void _dispc_set_vid_accu2_0(enum omap_plane plane, int haccu, int vaccu)
{
u32 val;

val = FLD_VAL(vaccu, 26, 16) | FLD_VAL(haccu, 10, 0);
dispc_write_reg(DISPC_OVL_ACCU2_0(plane), val);
}

static void _dispc_set_vid_accu2_1(enum omap_plane plane, int haccu, int vaccu)
{
u32 val;

val = FLD_VAL(vaccu, 26, 16) | FLD_VAL(haccu, 10, 0);
dispc_write_reg(DISPC_OVL_ACCU2_1(plane), val);
}

static void _dispc_set_scaling(enum omap_plane plane,
u16 orig_width, u16 orig_height,
Expand Down Expand Up @@ -2496,6 +2618,44 @@ void dispc_dump_regs(struct seq_file *s)
DUMPREG(DISPC_OVL_FIR_COEF_V(OMAP_DSS_VIDEO1, 6));
DUMPREG(DISPC_OVL_FIR_COEF_V(OMAP_DSS_VIDEO1, 7));

if (dss_has_feature(FEAT_HANDLE_UV_SEPARATE)) {
DUMPREG(DISPC_OVL_BA0_UV(OMAP_DSS_VIDEO1));
DUMPREG(DISPC_OVL_BA1_UV(OMAP_DSS_VIDEO1));
DUMPREG(DISPC_OVL_FIR2(OMAP_DSS_VIDEO1));
DUMPREG(DISPC_OVL_ACCU2_0(OMAP_DSS_VIDEO1));
DUMPREG(DISPC_OVL_ACCU2_1(OMAP_DSS_VIDEO1));

DUMPREG(DISPC_OVL_FIR_COEF_H2(OMAP_DSS_VIDEO1, 0));
DUMPREG(DISPC_OVL_FIR_COEF_H2(OMAP_DSS_VIDEO1, 1));
DUMPREG(DISPC_OVL_FIR_COEF_H2(OMAP_DSS_VIDEO1, 2));
DUMPREG(DISPC_OVL_FIR_COEF_H2(OMAP_DSS_VIDEO1, 3));
DUMPREG(DISPC_OVL_FIR_COEF_H2(OMAP_DSS_VIDEO1, 4));
DUMPREG(DISPC_OVL_FIR_COEF_H2(OMAP_DSS_VIDEO1, 5));
DUMPREG(DISPC_OVL_FIR_COEF_H2(OMAP_DSS_VIDEO1, 6));
DUMPREG(DISPC_OVL_FIR_COEF_H2(OMAP_DSS_VIDEO1, 7));

DUMPREG(DISPC_OVL_FIR_COEF_HV2(OMAP_DSS_VIDEO1, 0));
DUMPREG(DISPC_OVL_FIR_COEF_HV2(OMAP_DSS_VIDEO1, 1));
DUMPREG(DISPC_OVL_FIR_COEF_HV2(OMAP_DSS_VIDEO1, 2));
DUMPREG(DISPC_OVL_FIR_COEF_HV2(OMAP_DSS_VIDEO1, 3));
DUMPREG(DISPC_OVL_FIR_COEF_HV2(OMAP_DSS_VIDEO1, 4));
DUMPREG(DISPC_OVL_FIR_COEF_HV2(OMAP_DSS_VIDEO1, 5));
DUMPREG(DISPC_OVL_FIR_COEF_HV2(OMAP_DSS_VIDEO1, 6));
DUMPREG(DISPC_OVL_FIR_COEF_HV2(OMAP_DSS_VIDEO1, 7));

DUMPREG(DISPC_OVL_FIR_COEF_V2(OMAP_DSS_VIDEO1, 0));
DUMPREG(DISPC_OVL_FIR_COEF_V2(OMAP_DSS_VIDEO1, 1));
DUMPREG(DISPC_OVL_FIR_COEF_V2(OMAP_DSS_VIDEO1, 2));
DUMPREG(DISPC_OVL_FIR_COEF_V2(OMAP_DSS_VIDEO1, 3));
DUMPREG(DISPC_OVL_FIR_COEF_V2(OMAP_DSS_VIDEO1, 4));
DUMPREG(DISPC_OVL_FIR_COEF_V2(OMAP_DSS_VIDEO1, 5));
DUMPREG(DISPC_OVL_FIR_COEF_V2(OMAP_DSS_VIDEO1, 6));
DUMPREG(DISPC_OVL_FIR_COEF_V2(OMAP_DSS_VIDEO1, 7));
}
if (dss_has_feature(FEAT_ATTR2))
DUMPREG(DISPC_OVL_ATTRIBUTES2(OMAP_DSS_VIDEO1));


DUMPREG(DISPC_OVL_FIR_COEF_H(OMAP_DSS_VIDEO2, 0));
DUMPREG(DISPC_OVL_FIR_COEF_H(OMAP_DSS_VIDEO2, 1));
DUMPREG(DISPC_OVL_FIR_COEF_H(OMAP_DSS_VIDEO2, 2));
Expand Down Expand Up @@ -2526,6 +2686,43 @@ void dispc_dump_regs(struct seq_file *s)
DUMPREG(DISPC_OVL_FIR_COEF_V(OMAP_DSS_VIDEO2, 6));
DUMPREG(DISPC_OVL_FIR_COEF_V(OMAP_DSS_VIDEO2, 7));

if (dss_has_feature(FEAT_HANDLE_UV_SEPARATE)) {
DUMPREG(DISPC_OVL_BA0_UV(OMAP_DSS_VIDEO2));
DUMPREG(DISPC_OVL_BA1_UV(OMAP_DSS_VIDEO2));
DUMPREG(DISPC_OVL_FIR2(OMAP_DSS_VIDEO2));
DUMPREG(DISPC_OVL_ACCU2_0(OMAP_DSS_VIDEO2));
DUMPREG(DISPC_OVL_ACCU2_1(OMAP_DSS_VIDEO2));

DUMPREG(DISPC_OVL_FIR_COEF_H2(OMAP_DSS_VIDEO2, 0));
DUMPREG(DISPC_OVL_FIR_COEF_H2(OMAP_DSS_VIDEO2, 1));
DUMPREG(DISPC_OVL_FIR_COEF_H2(OMAP_DSS_VIDEO2, 2));
DUMPREG(DISPC_OVL_FIR_COEF_H2(OMAP_DSS_VIDEO2, 3));
DUMPREG(DISPC_OVL_FIR_COEF_H2(OMAP_DSS_VIDEO2, 4));
DUMPREG(DISPC_OVL_FIR_COEF_H2(OMAP_DSS_VIDEO2, 5));
DUMPREG(DISPC_OVL_FIR_COEF_H2(OMAP_DSS_VIDEO2, 6));
DUMPREG(DISPC_OVL_FIR_COEF_H2(OMAP_DSS_VIDEO2, 7));

DUMPREG(DISPC_OVL_FIR_COEF_HV2(OMAP_DSS_VIDEO2, 0));
DUMPREG(DISPC_OVL_FIR_COEF_HV2(OMAP_DSS_VIDEO2, 1));
DUMPREG(DISPC_OVL_FIR_COEF_HV2(OMAP_DSS_VIDEO2, 2));
DUMPREG(DISPC_OVL_FIR_COEF_HV2(OMAP_DSS_VIDEO2, 3));
DUMPREG(DISPC_OVL_FIR_COEF_HV2(OMAP_DSS_VIDEO2, 4));
DUMPREG(DISPC_OVL_FIR_COEF_HV2(OMAP_DSS_VIDEO2, 5));
DUMPREG(DISPC_OVL_FIR_COEF_HV2(OMAP_DSS_VIDEO2, 6));
DUMPREG(DISPC_OVL_FIR_COEF_HV2(OMAP_DSS_VIDEO2, 7));

DUMPREG(DISPC_OVL_FIR_COEF_V2(OMAP_DSS_VIDEO2, 0));
DUMPREG(DISPC_OVL_FIR_COEF_V2(OMAP_DSS_VIDEO2, 1));
DUMPREG(DISPC_OVL_FIR_COEF_V2(OMAP_DSS_VIDEO2, 2));
DUMPREG(DISPC_OVL_FIR_COEF_V2(OMAP_DSS_VIDEO2, 3));
DUMPREG(DISPC_OVL_FIR_COEF_V2(OMAP_DSS_VIDEO2, 4));
DUMPREG(DISPC_OVL_FIR_COEF_V2(OMAP_DSS_VIDEO2, 5));
DUMPREG(DISPC_OVL_FIR_COEF_V2(OMAP_DSS_VIDEO2, 6));
DUMPREG(DISPC_OVL_FIR_COEF_V2(OMAP_DSS_VIDEO2, 7));
}
if (dss_has_feature(FEAT_ATTR2))
DUMPREG(DISPC_OVL_ATTRIBUTES2(OMAP_DSS_VIDEO2));

DUMPREG(DISPC_OVL_PRELOAD(OMAP_DSS_VIDEO1));
DUMPREG(DISPC_OVL_PRELOAD(OMAP_DSS_VIDEO2));

Expand Down
Loading

0 comments on commit 5f40af3

Please sign in to comment.