From: Archit Taneja <a0393947@ti.com>
To: "Hiremath, Vaibhav" <hvaibhav@ti.com>
Cc: "Taneja, Archit" <archit@ti.com>,
"Valkeinen, Tomi" <tomi.valkeinen@ti.com>,
"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
"linux-media@vger.kernel.org" <linux-media@vger.kernel.org>
Subject: Re: [PATCH] omap_vout: Set DSS overlay_info only if paddr is non zero
Date: Fri, 16 Mar 2012 15:46:04 +0530 [thread overview]
Message-ID: <4F6312E4.5000404@ti.com> (raw)
In-Reply-To: <79CD15C6BA57404B839C016229A409A831810EAA@DBDE01.ent.ti.com>
On Monday 12 March 2012 03:34 PM, Hiremath, Vaibhav wrote:
> On Wed, Mar 07, 2012 at 14:31:16, Taneja, Archit wrote:
>> The omap_vout driver tries to set the DSS overlay_info using set_overlay_info()
>> when the physical address for the overlay is still not configured. This happens
>> in omap_vout_probe() and vidioc_s_fmt_vid_out().
>>
>> The calls to omapvid_init(which internally calls set_overlay_info()) are removed
>> from these functions. They don't need to be called as the omap_vout_device
>> struct anyway maintains the overlay related changes made. Also, remove the
>> explicit call to set_overlay_info() in vidioc_streamon(), this was used to set
>> the paddr, this isn't needed as omapvid_init() does the same thing later.
>>
>> These changes are required as the DSS2 driver since 3.3 kernel doesn't let you
>> set the overlay info with paddr as 0.
>>
>> Signed-off-by: Archit Taneja<archit@ti.com>
>> ---
>> drivers/media/video/omap/omap_vout.c | 36 ++++-----------------------------
>> 1 files changed, 5 insertions(+), 31 deletions(-)
>>
>> diff --git a/drivers/media/video/omap/omap_vout.c b/drivers/media/video/omap/omap_vout.c
>> index 1fb7d5b..dffcf66 100644
>> --- a/drivers/media/video/omap/omap_vout.c
>> +++ b/drivers/media/video/omap/omap_vout.c
>> @@ -1157,13 +1157,6 @@ static int vidioc_s_fmt_vid_out(struct file *file, void *fh,
>> /* set default crop and win */
>> omap_vout_new_format(&vout->pix,&vout->fbuf,&vout->crop,&vout->win);
>>
>> - /* Save the changes in the overlay strcuture */
>> - ret = omapvid_init(vout, 0);
>> - if (ret) {
>> - v4l2_err(&vout->vid_dev->v4l2_dev, "failed to change mode\n");
>> - goto s_fmt_vid_out_exit;
>> - }
>> -
>> ret = 0;
>>
>> s_fmt_vid_out_exit:
>> @@ -1664,20 +1657,6 @@ static int vidioc_streamon(struct file *file, void *fh, enum v4l2_buf_type i)
>>
>> omap_dispc_register_isr(omap_vout_isr, vout, mask);
>>
>> - for (j = 0; j< ovid->num_overlays; j++) {
>> - struct omap_overlay *ovl = ovid->overlays[j];
>> -
>> - if (ovl->manager&& ovl->manager->device) {
>> - struct omap_overlay_info info;
>> - ovl->get_overlay_info(ovl,&info);
>> - info.paddr = addr;
>> - if (ovl->set_overlay_info(ovl,&info)) {
>> - ret = -EINVAL;
>> - goto streamon_err1;
>> - }
>> - }
>> - }
>> -
>
> Have you checked for build warnings? I am getting build warnings
>
> CC drivers/media/video/omap/omap_vout.o
> CC drivers/media/video/omap/omap_voutlib.o
> CC drivers/media/video/omap/omap_vout_vrfb.o
> drivers/media/video/omap/omap_vout.c: In function 'vidioc_streamon':
> drivers/media/video/omap/omap_vout.c:1619:25: warning: unused variable 'ovid'
> drivers/media/video/omap/omap_vout.c:1615:15: warning: unused variable 'j'
> LD drivers/media/video/omap/omap-vout.o
> LD drivers/media/video/omap/built-in.o
>
> Can you fix this and submit the next version?
Will fix this and submit.
Archit
>
> Thanks,
> Vaibhav
>
>> /* First save the configuration in ovelray structure */
>> ret = omapvid_init(vout, addr);
>> if (ret)
>> @@ -2071,11 +2050,12 @@ static int __init omap_vout_create_video_devices(struct platform_device *pdev)
>> }
>> video_set_drvdata(vfd, vout);
>>
>> - /* Configure the overlay structure */
>> - ret = omapvid_init(vid_dev->vouts[k], 0);
>> - if (!ret)
>> - goto success;
>> + dev_info(&pdev->dev, ": registered and initialized"
>> + " video device %d\n", vfd->minor);
>> + if (k == (pdev->num_resources - 1))
>> + return 0;
>>
>> + continue;
>> error2:
>> if (vout->vid_info.rotation_type == VOUT_ROT_VRFB)
>> omap_vout_release_vrfb(vout);
>> @@ -2085,12 +2065,6 @@ error1:
>> error:
>> kfree(vout);
>> return ret;
>> -
>> -success:
>> - dev_info(&pdev->dev, ": registered and initialized"
>> - " video device %d\n", vfd->minor);
>> - if (k == (pdev->num_resources - 1))
>> - return 0;
>> }
>>
>> return -ENODEV;
>> --
>> 1.7.5.4
>>
>>
>
>
next prev parent reply other threads:[~2012-03-16 10:16 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-07 9:01 [PATCH] omap_vout: Set DSS overlay_info only if paddr is non zero Archit Taneja
2012-03-08 23:47 ` Laurent Pinchart
2012-03-09 8:03 ` Hiremath, Vaibhav
2012-10-25 14:00 ` Tomi Valkeinen
2012-10-26 9:13 ` Hiremath, Vaibhav
2012-10-27 11:31 ` Laurent Pinchart
2012-03-12 10:04 ` Hiremath, Vaibhav
2012-03-16 10:16 ` Archit Taneja [this message]
2012-03-16 11:11 ` Archit Taneja
2012-03-19 8:45 ` Hiremath, Vaibhav
2012-03-19 11:46 ` Archit Taneja
2012-06-28 6:06 ` Semwal, Sumit
2012-08-07 11:04 ` Laurent Pinchart
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4F6312E4.5000404@ti.com \
--to=a0393947@ti.com \
--cc=archit@ti.com \
--cc=hvaibhav@ti.com \
--cc=linux-media@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=tomi.valkeinen@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).