Re: [PATCH v5 00/17] OMAP2,3: hwmod DSS Adaptation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Ah, I just noticed (thanks Nishanth) that you've sent a pull request,
and these patches apply fine on top of the omap-for-linus branch. I'll
use that as a base.

 Tomi

On Fri, 2011-01-07 at 14:56 +0200, Tomi Valkeinen wrote:
> Hi Tony,
> 
> The patch set below is based on l-o tree, as it touches OMAP
> hwmod/clock/board stuff. It doesn't even apply to my mainline based
> tree.
> 
> I'm still in the process of reviewing the latest changes, but is it ok
> for you to apply these to your tree after I've acked the DSS parts? Or
> do you have a stable branch (going to Linus soon) that I can use as a
> base?
> 
>  Tomi
> 
> On Fri, 2011-01-07 at 16:55 +0530, ext Sumit Semwal wrote:
> > v4 of the DSS hwmod patch series focusses on fixing the review comments. OMAP4 
> > hwmod support will be posted after the acceptance of this basic change in
> > the dss2 design.
> > 
> > This patch series decouples the "Clocks for DSS in hwmod adaptation" changes
> > from this series.  Another series would be posted which could be discussed
> > w.r.t clocks in DSS across omap2,3.
> > 
> > Removing the SYSCONFIG settings from DSS driver would also be part of these
> > clock changes series and not covered in this series as it depends on some of
> > the omap_hwmod framework changes w.r.t opt clocks handling.
> > 
> > Summary of the hwmod DSS design:
> > ================================
> > DSS, DISPC, DSI, RFBI, VENC are made as platform drivers each 
> > corresponding to the hwmod class in the hwmod database. 
> > 
> > Each of these platform drivers' init / deinit are handled from core.c's
> > omap_dss_probe() in the exact sequence as required.
> > 
> > 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 approaches, that does not
> > change the existing implementation.  If each of the DSS HW IPs had to handle
> > their own clocks, then corresponding clock changes can be requested in the hwmod
> > database as well which is not the current design/implementation.  As stated, 
> > this would be handled in another series seperately.
> > 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.
> > 
> > Modified change:
> > ---------------
> > Platform driver for each DSS HW IP in addition to the software "omapdss"
> > driver.
> > 
> > Omapdss platform driver
> >         - initialises necessary h/w IPs' platform drivers [dss, dispc, dsi, venc, rfbi]
> > 	  and 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 DISPC 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 DSI 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 RFBI and VENC library functions.
> > 
> > Testing:
> > ---------
> > The patches are tested on 2420-n800, 2430sdp, 3630zoom, 3430sdp.
> > Complete bootup with penguins on panel is done on 3430sdp.
> > For the rest of the mentioned platforms, kernel is built with "OMAP2_DSS"
> > and bootup is tested so that base address and clk_get calls are successful.
> > 
> > DSS was built successfully as module, though not tested yet.
> > 
> > Changes since v4:
> > ----------------
> > 1) Following review comments incorporated:
> >  *	http://www.mail-archive.com/linux-omap@xxxxxxxxxxxxxxx/msg41970.html
> > 		Corrected the clocks to be enabled in omap_dss_probe.
> > Changes since v3:
> > ----------------
> > 1.) Following review comments incorporated:
> >  *	http://www.mail-archive.com/linux-omap@xxxxxxxxxxxxxxx/msg41705.html
> > 	http://www.mail-archive.com/linux-omap@xxxxxxxxxxxxxxx/msg41683.html
> > 		Created a new display.c file for dss driver registration 
> > 		related code.	
> > 
> >  *	http://www.mail-archive.com/linux-omap@xxxxxxxxxxxxxxx/msg41573.html
> > 		Changed the oh_name/dev_name handling in hwmod usage.
> > 
> >  *	http://www.mail-archive.com/linux-omap@xxxxxxxxxxxxxxx/msg41753.html
> > 	http://www.mail-archive.com/linux-omap@xxxxxxxxxxxxxxx/msg41718.html
> > 		removed device_initcall_sync(); init / deinit of each DSS h/w IP
> > 		platform drivers are done from omap_dss_probe() in sequence.
> > 
> >  *	http://www.mail-archive.com/linux-omap@xxxxxxxxxxxxxxx/msg41754.html
> > 		clock patches were cleaned up as per review comments.
> > 
> >  *	http://www.mail-archive.com/linux-omap@xxxxxxxxxxxxxxx/msg41756.html
> > 		printk() => dev_dbg change was separated out.
> > 
> > 
> > Changes since v2:
> > -------------------
> > 1.) Following review comments incorporated:
> > 	Split the device/driver name change and registration patches logically.
> > 	http://www.mail-archive.com/linux-omap@xxxxxxxxxxxxxxx/msg41205.html
> > 	http://www.mail-archive.com/linux-omap@xxxxxxxxxxxxxxx/msg41204.html
> > 	http://www.mail-archive.com/linux-omap@xxxxxxxxxxxxxxx/msg41203.html
> > 
> > Changes since v1:
> > ------------------
> > 1.) Dynamically register for OMAP2,3 specific DSS HW IPs in devices.c
> > 2.) Following review comments incorporated:
> > 	Updation of all the board files on l-o dss2 branch as per
> > 	http://www.mail-archive.com/linux-omap@xxxxxxxxxxxxxxx/msg36915.html
> > 	Comments incorporated in devices.c and display.h as per
> > 	http://www.mail-archive.com/linux-omap@xxxxxxxxxxxxxxx/msg36919.html
> > 	Comments incorporated in dispc.c, dss.c, dsi.c, venc.c, rfbi.c 
> > 	so that platform_device is just above platform_driver registrations as per
> > 	http://www.mail-archive.com/linux-omap@xxxxxxxxxxxxxxx/msg36963.html
> > 3.) Squashed some of the patches to one patch.
> > 
> > Changes since RFC:
> > -------------------
> > 1) All the platform driver registration except DSS, were within the file core.c.
> > Registeration of these driver got seperated to its own file.
> > 2) Usage of regulators by different drivers are implemented.
> > For Eg: Regulator used by VENC is moved to venc driver.  But vdda_dac would be 
> > needed by DPI and DSI as well.
> > 4) OMAP2420 and OMAP2430 hwmod database are generated in this v1.
> > 5) Module support for omapdss driver can continue as the DSS HW IP specific platform
> > drivers are decoupled from omapdss driver.
> > 6) Following review comments incorporated:
> > 	Changed the hwmod device name from "dss" to "dss_dss"
> > 	Changed name of core driver from "omapdss" to "omap_display" as it deals with panels.
> > 	Fixed comments on return values from platform_get_resource/irq functions.
> > 
> > Patch Base:
> > ===========
> > url = git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git
> > branch "master"
> > Commit id: fa3b4e23ec20cfc944db7cc2b30b0d82c20e4472
> > Description:  cbus: Fix retu_rtc_do_reset
> > ----------------------------------------------------------------------------
> > 
> > Senthilvadivu Guruswamy (15):
> >   OMAP2420: hwmod data: add DSS DISPC RFBI VENC
> >   OMAP2430: hwmod data: add DSS DISPC RFBI VENC
> >   OMAP3: hwmod data: add DSS DISPC RFBI DSI VENC
> >   OMAP2,3 DSS2 Change driver name to omap_display
> >   OMAP2,3 DSS2 Use Regulator init with driver name
> >   OMAP2,3: DSS2: board files: replace platform_device_register with
> >     omap_display_init()
> >   OMAP2,3: DSS2: Build omap_device for each DSS HWIP
> >   OMAP2,3: DSS2: DSS: create platform_driver, move init,exit to driver
> >   OMAP2,3: DSS2: Move clocks from core driver to dss driver
> >   OMAP2,3: DSS2: RFBI: create platform_driver, move init,exit to driver
> >   OMAP2,3: DSS2: DISPC: create platform_driver, move init,exit to
> >     driver
> >   OMAP2,3: DSS2: VENC: create platform_driver, move init,exit to driver
> >   OMAP2,3: DSS2: DSI: create platform_driver, move init,exit to driver
> >   OMAP2,3: DSS2: Use platform device to get baseaddr
> >   OMAP2,3: DSS2: Get DSS IRQ from platform device
> > 
> > Sumit Semwal (2):
> >   OMAP2,3: DSS2: Create new file display.c for central dss driver
> >     registration.
> >   OMAP2,3: DSS2: replace printk with dev_dbg in init
> > 
> >  arch/arm/mach-omap2/Makefile                 |    2 +
> >  arch/arm/mach-omap2/board-3430sdp.c          |   26 +--
> >  arch/arm/mach-omap2/board-am3517evm.c        |   16 +-
> >  arch/arm/mach-omap2/board-cm-t35.c           |   22 +-
> >  arch/arm/mach-omap2/board-devkit8000.c       |   14 +-
> >  arch/arm/mach-omap2/board-igep0020.c         |   16 +-
> >  arch/arm/mach-omap2/board-omap3beagle.c      |   14 +-
> >  arch/arm/mach-omap2/board-omap3evm.c         |   22 +-
> >  arch/arm/mach-omap2/board-omap3pandora.c     |   16 +-
> >  arch/arm/mach-omap2/board-omap3stalker.c     |   16 +-
> >  arch/arm/mach-omap2/board-rx51-peripherals.c |    4 +-
> >  arch/arm/mach-omap2/board-rx51-video.c       |   15 +-
> >  arch/arm/mach-omap2/clock2420_data.c         |    8 +-
> >  arch/arm/mach-omap2/clock2430_data.c         |    8 +-
> >  arch/arm/mach-omap2/clock3xxx_data.c         |   14 +-
> >  arch/arm/mach-omap2/display.c                |  101 ++++++
> >  arch/arm/mach-omap2/omap_hwmod_2420_data.c   |  283 ++++++++++++++++
> >  arch/arm/mach-omap2/omap_hwmod_2430_data.c   |  282 ++++++++++++++++
> >  arch/arm/mach-omap2/omap_hwmod_3xxx_data.c   |  339 +++++++++++++++++++
> >  arch/arm/plat-omap/include/plat/display.h    |   10 +
> >  drivers/video/omap2/dss/core.c               |  450 ++------------------------
> >  drivers/video/omap2/dss/dispc.c              |  114 ++++---
> >  drivers/video/omap2/dss/dsi.c                |   78 ++++-
> >  drivers/video/omap2/dss/dss.c                |  443 +++++++++++++++++++++++++-
> >  drivers/video/omap2/dss/dss.h                |   46 ++--
> >  drivers/video/omap2/dss/rfbi.c               |  118 ++++---
> >  drivers/video/omap2/dss/venc.c               |  125 +++++---
> >  27 files changed, 1851 insertions(+), 751 deletions(-)
> >  create mode 100644 arch/arm/mach-omap2/display.c
> > 
> 


--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux