From: Archit Taneja <archit@ti.com>
To: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: linux-omap@vger.kernel.org, linux-fbdev@vger.kernel.org
Subject: Re: [PATCH 05/20] OMAPDSS: remove initial display code from omapdss
Date: Mon, 29 Oct 2012 10:48:55 +0000 [thread overview]
Message-ID: <508E5C47.6000809@ti.com> (raw)
In-Reply-To: <508E597F.60406@ti.com>
On Monday 29 October 2012 03:55 PM, Tomi Valkeinen wrote:
> On 2012-10-29 12:04, Archit Taneja wrote:
>> On Wednesday 24 October 2012 02:58 PM, Tomi Valkeinen wrote:
>>> Currently omapdss driver sets up the initial connections between
>>> overlays, overlay manager and a panel, based on default display
>>> parameter coming from the board file or via module parameters.
>>>
>>> This is unnecessary, as it's the higher level component that should
>>> decide what display to use and how. This patch removes the code from
>>> omapdss, and implements similar code to omapfb.
>>>
>>> The def_disp module parameter and the default display platform_data
>>> parameter are kept in omapdss, but omapdss doesn't do anything with
>>> them. It will just return the default display name with
>>> dss_get_default_display_name() call, which omapfb uses. This is done to
>>> keep the backward compatibility.
>>
>> We might need to do something similar for omap_vout and omapdrm also to
>> set the initial connections.
>
> I believe omapdrm already does this.
>
> For omap_vout... I'm not sure if we can do that. Both omapfb and
> omap_vout work at the same time, so they could be setting up the
> settings at the same time, perhaps with conflicting values. The reason I
> left omap_vout out is that I think omapfb is always used with omap_vout,
> thus the config can be left for omapfb. I didn't test this, though.
I thought we could have omap_vout without omapfb, at least we can build
it separately. Anyway, setting initial connections in omap_vout doesn't
seem very important as we generally have both of them together.
>
>>> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
>>> ---
>>> drivers/video/omap2/dss/core.c | 1 +
>>> drivers/video/omap2/dss/display.c | 78
>>> +++---------------------------
>>> drivers/video/omap2/omapfb/omapfb-main.c | 77
>>> ++++++++++++++++++++++++-----
>>> include/video/omapdss.h | 1 +
>>> 4 files changed, 75 insertions(+), 82 deletions(-)
>>>
>>> diff --git a/drivers/video/omap2/dss/core.c
>>> b/drivers/video/omap2/dss/core.c
>>> index 685d9a9..4cb669e 100644
>>> --- a/drivers/video/omap2/dss/core.c
>>> +++ b/drivers/video/omap2/dss/core.c
>>> @@ -57,6 +57,7 @@ const char *dss_get_default_display_name(void)
>>> {
>>> return core.default_display_name;
>>> }
>>> +EXPORT_SYMBOL(dss_get_default_display_name);
>>
>> Since we are exporting this, it might be better to name it
>> omapdss_get_default_display_name
>
> True.
>
>>> enum omapdss_version omapdss_get_version(void)
>>> {
>>> diff --git a/drivers/video/omap2/dss/display.c
>>> b/drivers/video/omap2/dss/display.c
>>> index 1e58730..6d33112 100644
>>> --- a/drivers/video/omap2/dss/display.c
>>> +++ b/drivers/video/omap2/dss/display.c
>>> @@ -320,86 +320,21 @@ void omapdss_default_get_timings(struct
>>> omap_dss_device *dssdev,
>>> }
>>> EXPORT_SYMBOL(omapdss_default_get_timings);
>>>
>>> -/*
>>> - * Connect dssdev to a manager if the manager is free or if force is
>>> specified.
>>> - * Connect all overlays to that manager if they are free or if force is
>>> - * specified.
>>> - */
>>> -static int dss_init_connections(struct omap_dss_device *dssdev, bool
>>> force)
>>> +int dss_init_device(struct platform_device *pdev,
>>> + struct omap_dss_device *dssdev)
>>> {
>>> + struct device_attribute *attr;
>>> struct omap_dss_output *out;
>>> - struct omap_overlay_manager *mgr;
>>> int i, r;
>>>
>>> out = omapdss_get_output_from_dssdev(dssdev);
>>>
>>> - WARN_ON(dssdev->output);
>>> - WARN_ON(out->device);
>>> -
>>> r = omapdss_output_set_device(out, dssdev);
>>> if (r) {
>>> DSSERR("failed to connect output to new device\n");
>>> return r;
>>> }
>>
>> So, we still manage the output-device links in the omapdss driver, but
>> move the manager-output and overlay-manager links to omapfb. I guess
>> this is fine. But maybe this split might change based on how generic
>> panel framework looks like, and how much we want to expose outputs to
>> fb/drm.
>
> We can set the output-device link in omapdss because it's a hardware
> configuration. A panel is connected to an output, so there's nothing to
> configure there. ovls and ovl-mgrs, on the other hand, may be configured
> depending on the use cases.
Yes, that makes sense.
Archit
next prev parent reply other threads:[~2012-10-29 10:48 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-24 9:28 [PATCH 00/20] OMAPDSS: Misc cleanups/fixes Tomi Valkeinen
2012-10-24 9:28 ` [PATCH 01/20] OMAPDSS: remove omap_dss_device's suspend/resume Tomi Valkeinen
2012-10-24 9:28 ` [PATCH 02/20] OMAPDSS: get the dss version from core pdev Tomi Valkeinen
2012-10-24 9:28 ` [PATCH 03/20] OMAPDSS: remove dispc_irq_handler declaration Tomi Valkeinen
2012-10-24 9:28 ` [PATCH 04/20] OMAPDSS: DISPC: fix dispc_mgr_lclk_rate for DIGIT output Tomi Valkeinen
2012-10-29 9:50 ` Archit Taneja
2012-10-29 9:56 ` Tomi Valkeinen
2012-10-24 9:28 ` [PATCH 05/20] OMAPDSS: remove initial display code from omapdss Tomi Valkeinen
2012-10-29 10:16 ` Archit Taneja
2012-10-29 10:25 ` Tomi Valkeinen
2012-10-29 10:48 ` Archit Taneja [this message]
2012-10-24 9:28 ` [PATCH 06/20] OMAPDSS: DISPC: use dss_feat_get_num_ovls() Tomi Valkeinen
2012-10-24 9:28 ` [PATCH 07/20] OMAPDSS: DISPC: rename dispc_mgr_enable/disable to _sync Tomi Valkeinen
2012-10-24 9:28 ` [PATCH 08/20] OMAPDSS: DISPC: make _enable_mgr_out public as "dispc_mgr_enable" Tomi Valkeinen
2012-10-24 9:29 ` [PATCH 09/20] OMAPDSS: add dispc_ovl_enabled() Tomi Valkeinen
2012-10-29 10:21 ` Archit Taneja
2012-10-29 10:28 ` Tomi Valkeinen
2012-10-24 9:29 ` [PATCH 10/20] OMAPDSS: DISPC: Add IRQ enable/status helpers Tomi Valkeinen
2012-10-24 9:29 ` [PATCH 11/20] OMAPDSS: HDMI: split power_on/off to two parts Tomi Valkeinen
2012-10-29 10:26 ` Archit Taneja
2012-10-29 10:30 ` Tomi Valkeinen
2012-10-24 9:29 ` [PATCH 12/20] OMAPDSS: HDMI: use core power on/off with edid & detect Tomi Valkeinen
2012-10-24 9:29 ` [PATCH 13/20] OMAPDSS: HDMI: add 1920x1200 video mode Tomi Valkeinen
2012-10-24 9:29 ` [PATCH 14/20] OMAPDSS: HDMI: make hdmi pclk check more permissive Tomi Valkeinen
2012-10-24 9:29 ` [PATCH 15/20] OMAPFB: remove use of extended edid block Tomi Valkeinen
2012-10-24 9:29 ` [PATCH 16/20] OMAPFB: improve mode selection from EDID Tomi Valkeinen
2012-10-24 9:29 ` [PATCH 17/20] OMAPDSS: fix DSI2 PLL clk names Tomi Valkeinen
2012-10-24 9:29 ` [PATCH 18/20] OMAPDSS: DISPC: fix loop in error handler Tomi Valkeinen
2012-10-24 9:29 ` [PATCH 19/20] OMAPDSS: DISPC: remove dssdev depependency from " Tomi Valkeinen
2012-10-29 7:24 ` Archit Taneja
2012-10-29 8:04 ` Tomi Valkeinen
2012-10-29 10:30 ` Archit Taneja
2012-10-24 9:29 ` [PATCH 20/20] OMAPDSS: split hdmi muxing function Tomi Valkeinen
2012-10-24 16:23 ` Tony Lindgren
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=508E5C47.6000809@ti.com \
--to=archit@ti.com \
--cc=linux-fbdev@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).