All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Cousson, Benoit" <b-cousson@ti.com>
To: "Guruswamy, Senthilvadivu" <svadivu@ti.com>
Cc: "linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
	"tomi.valkeinen@nokia.com" <tomi.valkeinen@nokia.com>,
	"paul@pwsan.com" <paul@pwsan.com>,
	"Hilman, Kevin" <khilman@ti.com>
Subject: Re: [RFC PATCH 00/20] HWMOD Adaptation for DSS
Date: Mon, 23 Aug 2010 23:40:23 +0200	[thread overview]
Message-ID: <4C72EAC7.500@ti.com> (raw)
In-Reply-To: <1282579089-10487-1-git-send-email-svadivu@ti.com>

On 8/23/2010 5:57 PM, Guruswamy, Senthilvadivu wrote:
> From: Senthilvadivu Guruswamy<svadivu@ti.com>
>
> Patch Base:
> ===========
> url = git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm.git
> branch "pm-wip/hwmods-omap4"
> Commit id: f6f7f1103b80b4dc0ace8a0314d95d1b1ebca726
> Description:  Merge branch 'pm-wip/hwmods' into pm-wip/hwmods-omap4-base
> ----------------------------------------------------------------------------
>
> RFC focus on the proposed design of the HWMOD adaptation to the current DSS
> driver.  DSS, DISPC, DSI, RFBI, VENC are made as platform drivers each
> corresponding to the HWMOD class in the HWMOD database.
>
> No Hardcoding of silicon data:
> HWMOD database abstracts the SOC data like base addr, irq numbers and are
> implemented in this patch series.
>
> Continue to have custom bus for display panels:
> "omapdss" driver continues to be a platform driver that registers the custom
> bus.  It also continues to register the display panels(omap_dss_device) on the
> board to the panel drivers (omap_dss_driver)
> For Eg:  primary lcd device would be registered with lcd panel driver.
> lcd panel driver if it is on a parallel interface would use library functions
> exported from dpi.o.  if it is on a dsi interface would use library functions
> exported from dsi platform driver(dsi.o).
>
> Clocks:
> Handling of clocks in DSS only is one of the design approach, that does not
> change the existing implementation.  If each of the DSS HW IPs had to handle
> their own clocks, then corresponding clock changes are requested in the HWMOD
> database as well which is not the present scenario.
> For Eg: VENC would need 54MCLK which is termed as dss_opt clocks as of now apart
> for the dss main clocks.  Currently VENC driver needs to be aware of this and has to
> use clk_get/put, clk_enable/disable, since VENC HWMOD is not aware of 54MCLK.
>
>
> Current dss driver:
> -------------------
> 1.  Omapdss platform driver
>          - initialises necessary Ips dss, dispc.
>          - also initialises Ips like sdi, dsi, venc, rfbi
>          - creates a custom bus and registers the display devices/drivers
>          connected on the board to the custom bus.
>
> 2.  Suspend/resume of omapdss
>          - in turn sends suspend/resume calls for each of the display devices
>          registered to it.
>
> Proposed change:
> ----------------
> Platform driver for each DSS HW IP in addition to the software "omapdss"
> driver.
>
> Omapdss platform driver
>          - initialises necessary software libraries like dpi, sdi.
>          - continues to have a custom bus and registers the display devices
>          and drivers connected on the board to the custom bus.
>          - continues to handle suspend/resume of the display devices registered
>          to the custom bus.
>
> DSS platform driver
>          - initialises DSS IP alone
> 	- Handles the clocks related to the DSS and other DSSHW IPs like RFBI,
> 	DSI, VENC, DISPC.  Previously this was a part of "omapdss" driver in core.c
> 	- Continues to handle the DSS IRQs.
> 	- No suspend/resume hooks.
>
> DISPC platform driver
>          - initialises DSS IP alone
> 	- Gets the required clock from DSS platform driver.
> 	- No suspend/resume hooks.
> 	- Continues to provide DISPC library functions.
>
> DSI platform driver
>          - initialises DSI IP alone
> 	- Gets the required clock from DSS platform driver.
> 	- No suspend/resume hooks.
> 	- Continues to provide DISPC library functions.
>
> RFBI, VENC platform drivers
>          - initialises DSI,VENC IPs
> 	- Gets the required clock from DSS platform driver.
> 	- No suspend/resume hooks.
> 	- Continues to provide DISPC library functions.
>
> The patches are tested on OMAP3430 and 3630.
>
> The below points are yet to be done, still the RFC is put out to start the
> discussion on the design approach taken.
>
> Yet to be implemented:
> 1) All the platform driver registration except DSS, are within the file core.c.
> Registeration of these driver would go out of order when seperated to its own file.
> Will test the implementation and send in the next version for review.
> 2) Usage of regulators by different drivers needs to implemented.
> For Eg: Regulator used by VENC is moved to venc driver.  But vdda_dac would be
> needed by DPI and DSI as well.  Need to verify if a patch like this would work.
> /* VPLL2 for digital video outputs */
> static struct regulator_consumer_supply sdp3430_vpll2_supplies[] = {
> 	REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
> +	REGULATOR_SUPPLY("vdds_dsi", "dss_dsi1"),

You can add any consumer you want for a given regulator supply as soon 
as you have a valid dev or dev_name.

> };
> 3) SYSCONFIG of each of the dss HW IP has to be removed from the driver.
> HWMOD framework is supposed to take care of it.  This change would be done in
> the next version of the patch series.
> 4) OMAP2 HWMOD database is yet to be generated.
> 5) Number of DSS HW IPs in a silicon are hardcoded in devices.c.
> It is not evident from HWMOD database.  Need to find a cleaner way to register for OMAP2,3,4.

What does that mean exactly? Could you elaborate?

> 6) Module support for omapdss driver as per current DSS2 design.

What about the usage of clock framework, or the management of DSS 
features, we already discussed?
What about OMAP4?

Benoit

>
>
> Senthilvadivu Guruswamy (20):
>    DSS HWMOD database generation for OMAP3
>    Move DSS driver register from board to mach_omap2
>    Build omap_device for each DSS HW IP
>    Create platform_driver for each DSS HW IP
>    Move dss platform driver to dss.c
>    DSS driver name change in clock database
>    Move clock functions from core driver to dss driver
>    Replace clk_enable/disable APIs with HWMOD APIs
>    Move dss_init to dsshw_probe
>    Move rfbi init to rfbi probe
>    Move dispc init to dispc probe
>    Move venc init to venc probe
>    Move dsi init to dsi probe
>    Pass platform_device argument to rfbi,dispc
>    Use platform device to get DSS base addr
>    Get DISPC base addr with platform device
>    Get VENC base addr from platform device
>    Get DSI base addr with platform device
>    Get RFBI baseaddr with platform device
>    Get DSS IRQ with platform device
>
>   arch/arm/mach-omap2/board-3430sdp.c        |   25 +-
>   arch/arm/mach-omap2/clock3xxx_data.c       |   14 +-
>   arch/arm/mach-omap2/devices.c              |   78 ++++
>   arch/arm/mach-omap2/omap_hwmod_3xxx_data.c |  346 ++++++++++++++++
>   arch/arm/plat-omap/include/plat/display.h  |   14 +
>   drivers/video/omap2/dss/core.c             |  585 +++++++---------------------
>   drivers/video/omap2/dss/dispc.c            |    7 +-
>   drivers/video/omap2/dss/dsi.c              |    5 +-
>   drivers/video/omap2/dss/dss.c              |  450 +++++++++++++++++++++-
>   drivers/video/omap2/dss/dss.h              |   20 +-
>   drivers/video/omap2/dss/rfbi.c             |    7 +-
>   drivers/video/omap2/dss/venc.c             |   24 +-
>   12 files changed, 1085 insertions(+), 490 deletions(-)
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


  parent reply	other threads:[~2010-08-23 21:40 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-23 15:57 [RFC PATCH 00/20] HWMOD Adaptation for DSS Guruswamy Senthilvadivu
2010-08-23 15:57 ` [PATCH 01/20] DSS HWMOD database generation for OMAP3 Guruswamy Senthilvadivu
2010-08-23 15:57   ` [PATCH 02/20] Move DSS driver register from board to mach_omap2 Guruswamy Senthilvadivu
2010-08-23 15:57     ` [PATCH 03/20] Build omap_device for each DSS HW IP Guruswamy Senthilvadivu
2010-08-23 15:57       ` [PATCH 04/20] Create platform_driver " Guruswamy Senthilvadivu
2010-08-23 15:57         ` [PATCH 05/20] Move dss platform driver to dss.c Guruswamy Senthilvadivu
2010-08-23 15:57           ` [PATCH 06/20] DSS driver name change in clock database Guruswamy Senthilvadivu
2010-08-23 15:57             ` [PATCH 07/20] Move clock functions from core driver to dss driver Guruswamy Senthilvadivu
2010-08-23 15:57               ` [PATCH 08/20] Replace clk_enable/disable APIs with HWMOD APIs Guruswamy Senthilvadivu
2010-08-23 15:57                 ` [PATCH 09/20] Move dss_init to dsshw_probe Guruswamy Senthilvadivu
2010-08-23 15:57                   ` [PATCH 10/20] Move rfbi init to rfbi probe Guruswamy Senthilvadivu
2010-08-23 15:58                     ` [PATCH 11/20] Move dispc init to dispc probe Guruswamy Senthilvadivu
2010-08-23 15:58                       ` [PATCH 12/20] Move venc init to venc probe Guruswamy Senthilvadivu
2010-08-23 15:58                         ` [PATCH 13/20] Move dsi init to dsi probe Guruswamy Senthilvadivu
2010-08-23 15:58                           ` [PATCH 14/20] Pass platform_device argument to rfbi,dispc Guruswamy Senthilvadivu
2010-08-23 15:58                             ` [PATCH 15/20] Use platform device to get DSS base addr Guruswamy Senthilvadivu
2010-08-23 15:58                               ` [PATCH 16/20] Get DISPC base addr with platform device Guruswamy Senthilvadivu
2010-08-23 15:58                                 ` [PATCH 17/20] Get VENC base addr from " Guruswamy Senthilvadivu
2010-08-23 15:58                                   ` [PATCH 18/20] Get DSI base addr with " Guruswamy Senthilvadivu
2010-08-23 15:58                                     ` [PATCH 19/20] Get RFBI baseaddr " Guruswamy Senthilvadivu
2010-08-23 15:58                                       ` [PATCH 20/20] Get DSS IRQ " Guruswamy Senthilvadivu
2010-08-25 13:13                                 ` [PATCH 16/20] Get DISPC base addr " Tomi Valkeinen
2010-08-31  9:14                                   ` Guruswamy, Senthilvadivu
2010-08-23 21:43                               ` [PATCH 15/20] Use platform device to get DSS base addr Cousson, Benoit
2010-08-31 12:55                                 ` Guruswamy, Senthilvadivu
2010-08-26 23:54                     ` [PATCH 10/20] Move rfbi init to rfbi probe Kevin Hilman
2010-08-27 13:54                     ` Cousson, Benoit
2010-08-31 12:57                       ` Guruswamy, Senthilvadivu
2010-08-31 16:38                         ` Cousson, Benoit
2010-08-26 23:37                 ` [PATCH 08/20] Replace clk_enable/disable APIs with HWMOD APIs Kevin Hilman
2010-08-25  8:49           ` [PATCH 05/20] Move dss platform driver to dss.c Tomi Valkeinen
2010-08-31  9:13             ` Guruswamy, Senthilvadivu
2010-08-26 23:52         ` [PATCH 04/20] Create platform_driver for each DSS HW IP Kevin Hilman
2010-08-31 13:03           ` Guruswamy, Senthilvadivu
2010-08-31 15:27             ` Kevin Hilman
2010-08-26 23:33       ` [PATCH 03/20] Build omap_device " Kevin Hilman
2010-08-31 13:01         ` Guruswamy, Senthilvadivu
2010-08-31 15:29           ` Kevin Hilman
2010-08-25  8:31     ` [PATCH 02/20] Move DSS driver register from board to mach_omap2 Tomi Valkeinen
2010-08-31  9:14       ` Guruswamy, Senthilvadivu
2010-08-26 23:30   ` [PATCH 01/20] DSS HWMOD database generation for OMAP3 Kevin Hilman
2010-08-31 12:59     ` Guruswamy, Senthilvadivu
2010-08-23 21:40 ` Cousson, Benoit [this message]
2010-08-31 12:54   ` [RFC PATCH 00/20] HWMOD Adaptation for DSS Guruswamy, Senthilvadivu
2010-08-26 23:57 ` Kevin Hilman
2010-08-31 13:03   ` Guruswamy, Senthilvadivu

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=4C72EAC7.500@ti.com \
    --to=b-cousson@ti.com \
    --cc=khilman@ti.com \
    --cc=linux-omap@vger.kernel.org \
    --cc=paul@pwsan.com \
    --cc=svadivu@ti.com \
    --cc=tomi.valkeinen@nokia.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.