Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 232161
b: refs/heads/master
c: aa44440
h: refs/heads/master
i:
  232159: 102b97c
v: v3
  • Loading branch information
Mats Randgaard authored and Mauro Carvalho Chehab committed Jan 19, 2011
1 parent d78ede1 commit 3bc3bc1
Show file tree
Hide file tree
Showing 5 changed files with 59 additions and 32 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: 7036d6a73c88428764e4a12f30846279346f4382
refs/heads/master: aa4444063505983c5971bc8fb832385dfba16b41
50 changes: 50 additions & 0 deletions trunk/drivers/media/video/davinci/vpif.c
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,56 @@ spinlock_t vpif_lock;

void __iomem *vpif_base;

/**
* ch_params: video standard configuration parameters for vpif
* The table must include all presets from supported subdevices.
*/
const struct vpif_channel_config_params ch_params[] = {
/* SDTV formats */
{
.name = "NTSC_M",
.width = 720,
.height = 480,
.frm_fmt = 0,
.ycmux_mode = 1,
.eav2sav = 268,
.sav2eav = 1440,
.l1 = 1,
.l3 = 23,
.l5 = 263,
.l7 = 266,
.l9 = 286,
.l11 = 525,
.vsize = 525,
.capture_format = 0,
.vbi_supported = 1,
.hd_sd = 0,
.stdid = V4L2_STD_525_60,
},
{
.name = "PAL_BDGHIK",
.width = 720,
.height = 576,
.frm_fmt = 0,
.ycmux_mode = 1,
.eav2sav = 280,
.sav2eav = 1440,
.l1 = 1,
.l3 = 23,
.l5 = 311,
.l7 = 313,
.l9 = 336,
.l11 = 624,
.vsize = 625,
.capture_format = 0,
.vbi_supported = 1,
.hd_sd = 0,
.stdid = V4L2_STD_625_50,
},
};

const unsigned int vpif_ch_params_count = ARRAY_SIZE(ch_params);

static inline void vpif_wr_bit(u32 reg, u32 bit, u32 val)
{
if (val)
Expand Down
4 changes: 3 additions & 1 deletion trunk/drivers/media/video/davinci/vpif.h
Original file line number Diff line number Diff line change
Expand Up @@ -577,7 +577,6 @@ struct vpif_channel_config_params {
char name[VPIF_MAX_NAME]; /* Name of the mode */
u16 width; /* Indicates width of the image */
u16 height; /* Indicates height of the image */
u8 fps;
u8 frm_fmt; /* Indicates whether this is interlaced
* or progressive format */
u8 ycmux_mode; /* Indicates whether this mode requires
Expand All @@ -594,6 +593,9 @@ struct vpif_channel_config_params {
v4l2_std_id stdid;
};

extern const unsigned int vpif_ch_params_count;
extern const struct vpif_channel_config_params ch_params[];

struct vpif_video_params;
struct vpif_params;
struct vpif_vbi_params;
Expand Down
18 changes: 2 additions & 16 deletions trunk/drivers/media/video/davinci/vpif_capture.c
Original file line number Diff line number Diff line change
Expand Up @@ -81,20 +81,6 @@ static struct vpif_config_params config_params = {
static struct vpif_device vpif_obj = { {NULL} };
static struct device *vpif_dev;

/**
* ch_params: video standard configuration parameters for vpif
*/
static const struct vpif_channel_config_params ch_params[] = {
{
"NTSC_M", 720, 480, 30, 0, 1, 268, 1440, 1, 23, 263, 266,
286, 525, 525, 0, 1, 0, V4L2_STD_525_60,
},
{
"PAL_BDGHIK", 720, 576, 25, 0, 1, 280, 1440, 1, 23, 311, 313,
336, 624, 625, 0, 1, 0, V4L2_STD_625_50,
},
};

/**
* vpif_uservirt_to_phys : translate user/virtual address to phy address
* @virtp: user/virtual address
Expand Down Expand Up @@ -444,7 +430,7 @@ static int vpif_update_std_info(struct channel_obj *ch)

std_info = &vpifparams->std_info;

for (index = 0; index < ARRAY_SIZE(ch_params); index++) {
for (index = 0; index < vpif_ch_params_count; index++) {
config = &ch_params[index];
if (config->stdid & vid_ch->stdid) {
memcpy(std_info, config, sizeof(*config));
Expand All @@ -453,7 +439,7 @@ static int vpif_update_std_info(struct channel_obj *ch)
}

/* standard not found */
if (index == ARRAY_SIZE(ch_params))
if (index == vpif_ch_params_count)
return -EINVAL;

common->fmt.fmt.pix.width = std_info->width;
Expand Down
17 changes: 3 additions & 14 deletions trunk/drivers/media/video/davinci/vpif_display.c
Original file line number Diff line number Diff line change
Expand Up @@ -85,17 +85,6 @@ static struct vpif_config_params config_params = {
static struct vpif_device vpif_obj = { {NULL} };
static struct device *vpif_dev;

static const struct vpif_channel_config_params ch_params[] = {
{
"NTSC", 720, 480, 30, 0, 1, 268, 1440, 1, 23, 263, 266,
286, 525, 525, 0, 1, 0, V4L2_STD_525_60,
},
{
"PAL", 720, 576, 25, 0, 1, 280, 1440, 1, 23, 311, 313,
336, 624, 625, 0, 1, 0, V4L2_STD_625_50,
},
};

/*
* vpif_uservirt_to_phys: This function is used to convert user
* space virtual address to physical address.
Expand Down Expand Up @@ -388,16 +377,16 @@ static int vpif_get_std_info(struct channel_obj *ch)
if (!std_info->stdid)
return -1;

for (index = 0; index < ARRAY_SIZE(ch_params); index++) {
for (index = 0; index < vpif_ch_params_count; index++) {
config = &ch_params[index];
if (config->stdid & std_info->stdid) {
memcpy(std_info, config, sizeof(*config));
break;
}
}

if (index == ARRAY_SIZE(ch_params))
return -1;
if (index == vpif_ch_params_count)
return -EINVAL;

common->fmt.fmt.pix.width = std_info->width;
common->fmt.fmt.pix.height = std_info->height;
Expand Down

0 comments on commit 3bc3bc1

Please sign in to comment.