From: Archit Taneja <a0393947@ti.com>
Cc: "Hiremath, Vaibhav" <hvaibhav@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 16:41:27 +0530 [thread overview]
Message-ID: <4F631FDF.8070308@ti.com> (raw)
In-Reply-To: <4F6312E4.5000404@ti.com>
Hi,
On Friday 16 March 2012 03:46 PM, Archit Taneja wrote:
> 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?
I applied the patch on the current mainline kernel, it doesn't give any
build warnings. Even after applying the patch, 'j and ovid' are still
used in vidioc_streamon().
Can you check if it was applied correctly?
Regards,
Archit
>
> 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
>>>
>>>
>>
>>
>
>
WARNING: multiple messages have this Message-ID (diff)
From: Archit Taneja <a0393947@ti.com>
To: unlisted-recipients:; (no To-header on input)@canuck.infradead.org
Cc: "Hiremath, Vaibhav" <hvaibhav@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 16:41:27 +0530 [thread overview]
Message-ID: <4F631FDF.8070308@ti.com> (raw)
In-Reply-To: <4F6312E4.5000404@ti.com>
Hi,
On Friday 16 March 2012 03:46 PM, Archit Taneja wrote:
> 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?
I applied the patch on the current mainline kernel, it doesn't give any
build warnings. Even after applying the patch, 'j and ovid' are still
used in vidioc_streamon().
Can you check if it was applied correctly?
Regards,
Archit
>
> 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 11:11 UTC|newest]
Thread overview: 16+ 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-07 9:01 ` 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-10-29 4:53 ` Hiremath, Vaibhav
2012-03-12 10:04 ` Hiremath, Vaibhav
2012-03-16 10:16 ` Archit Taneja
2012-03-16 11:11 ` 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=4F631FDF.8070308@ti.com \
--to=a0393947@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.