Hi Kevin, On Fri, Jan 21, 2011 at 10:05 PM, Kevin Hilman <khilman@xxxxxx> wrote: > Sumit Semwal <sumit.semwal@xxxxxx> writes: > >> v8 of the DSS hwmod patch series fixes some issues based on findings of >> Kevin Hilman on beagle. > > Thanks. I re-tested on beagle and it looks good. > > I also briefly tested on beagle with PM. I tested suspend/resume to > verify we could still hit full-chip retention. I also verified idle > with and without screen blanked. As expected, with the screen (external > DVI monitor) active, the DSS power domain did not hit retentiond during > idle, but allowing the screen to blank, DSS powerdomain then hits idle. > > Feel free to add: > > Reviewed-by: Kevin Hilman <khilman@xxxxxx> > Tested-by: Kevin Hilman <khilman@xxxxxx> > > Also, can you repost one more time with the > linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc'd? Thanks. Thanks very much for helping out with the testing! I will post an updated one w/ your reviewed-by and tested-by in a bit. Best regards, ~Sumit. > > Kevin > >> The VENC platform driver was not getting registered due to missed device >> name update for vdda_dac regulator in some board files. This was moved from >> 'omap_display' device to 'omap_venc' device in patch 14/18. >> >> Also, similarly for DSI platform driver, the regulator name 'vdds_dsi' needs two >> instances - one for dpi, and one for dsi. >> >> This version corrects the above two for all board files where 'vdda_dac' and >> 'vdds_dsi' regulators are defined. [patches 14/18 and 15/18] >> >> Post this change, boot w/ visible framebuffer and tux was successfully validated >> on beagle, 3430SDP and zoom3. >> >> A patch mentioned in >> http://www.mail-archive.com/linux-omap@xxxxxxxxxxxxxxx/msg42384.html >> was needed to get OMAP3 to boot up on top of linux-next of 20110115. >> >> OMAP4 hwmod support will be posted after the acceptance of this basic change in >> the dss2 design. >> >> ------------------------------------------------- >> [original patch introduction] >> >> 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: >> "omap_display" 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 "omap_display" >> 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 v6: >> ----------------- >> * board-zoom-peripherals.c: Added missing change of device name from omapdss to omap_display. >> Found during testing on OMAP3630 on top of >> Changes since v5: >> ---------------- >> 1) Following review comments incorporated: >> * http://www.mail-archive.com/linux-omap@xxxxxxxxxxxxxxx/msg42031.html >> Make sure display.c is built when DSS is enabled built-in or as a module. >> * http://www.mail-archive.com/linux-omap@xxxxxxxxxxxxxxx/msg42083.html >> hwmod and omap_device headers moved to patch 8 when they're >> needed the first time. >> * http://www.mail-archive.com/linux-omap@xxxxxxxxxxxxxxx/msg42094.html >> - latency set to AUTO_ADJUST >> - extra whitespaces removed. >> - pdata memset to 0 before use. >> - if omap_device_build fails, return error. >> * http://www.mail-archive.com/linux-omap@xxxxxxxxxxxxxxx/msg42095.html >> renamed *_deinit_* to *_uninit_* >> >> * http://www.mail-archive.com/linux-omap@xxxxxxxxxxxxxxx/msg42171.html >> http://www.mail-archive.com/linux-omap@xxxxxxxxxxxxxxx/msg42172.html >> http://www.mail-archive.com/linux-omap@xxxxxxxxxxxxxxx/msg42173.html >> - added L3 and L4 firewall related data, >> - corrected handling of .idlest_idle_bit v/w .idlest_stdby_bit >> - no .idlest_*_bit setting for dependent hwmods >> - corrected .user to add SDMA >> - renamed dss_dss to dss_core >> - hwmod for 3430es1 and later 3xxx are separated out, with some >> reuse of data. >> * Removed forced-disable of dss clocks from omap_dss_remove. >> >> 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: >> =========== >> Patch-set rebased and tested w/ Zoom3 (OMAP3630) on top of: >> url = git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git >> branch "master" >> commit e8883f8057c0f7c9950fa9f20568f37bfa62f34a >> Description: Add linux-next specific files for 20110115 >> + >> Patch mentioned in http://www.mail-archive.com/linux-omap@xxxxxxxxxxxxxxx/msg42384.html >> [PATCH] OMAP: counter_32k: init clocksource as part of machine timer init >> >> (This patch is required for OMAP bootup w/ 20110115 linux-next) >> >> ---------------------------------------------------------------------------- >> 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 (3): >> OMAP2,3: DSS2: remove forced clk-disable from omap_dss_remove >> 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 | 3 + >> 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 | 22 +- >> arch/arm/mach-omap2/board-igep0020.c | 20 +- >> arch/arm/mach-omap2/board-omap3beagle.c | 22 +- >> arch/arm/mach-omap2/board-omap3evm.c | 30 +-- >> arch/arm/mach-omap2/board-omap3pandora.c | 17 +- >> arch/arm/mach-omap2/board-omap3stalker.c | 26 +- >> arch/arm/mach-omap2/board-rx51-peripherals.c | 4 +- >> arch/arm/mach-omap2/board-rx51-video.c | 15 +- >> arch/arm/mach-omap2/board-zoom-display.c | 15 +- >> arch/arm/mach-omap2/board-zoom-peripherals.c | 12 +- >> 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 | 96 ++++++ >> arch/arm/mach-omap2/omap_hwmod_2420_data.c | 311 ++++++++++++++++++- >> arch/arm/mach-omap2/omap_hwmod_2430_data.c | 284 ++++++++++++++++ >> arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 433 +++++++++++++++++++++++++ >> arch/arm/plat-omap/include/plat/display.h | 16 + >> arch/arm/plat-omap/include/plat/l3_2xxx.h | 20 ++ >> arch/arm/plat-omap/include/plat/l3_3xxx.h | 20 ++ >> arch/arm/plat-omap/include/plat/l4_2xxx.h | 24 ++ >> arch/arm/plat-omap/include/plat/l4_3xxx.h | 10 + >> drivers/video/omap2/dss/core.c | 448 ++------------------------ >> drivers/video/omap2/dss/dispc.c | 114 ++++--- >> drivers/video/omap2/dss/dsi.c | 78 ++++- >> drivers/video/omap2/dss/dss.c | 411 +++++++++++++++++++++++- >> drivers/video/omap2/dss/dss.h | 46 ++-- >> drivers/video/omap2/dss/rfbi.c | 118 ++++--- >> drivers/video/omap2/dss/venc.c | 125 +++++--- >> 33 files changed, 2049 insertions(+), 785 deletions(-) >> create mode 100644 arch/arm/mach-omap2/display.c >> create mode 100644 arch/arm/plat-omap/include/plat/l3_2xxx.h >> create mode 100644 arch/arm/plat-omap/include/plat/l3_3xxx.h >> create mode 100644 arch/arm/plat-omap/include/plat/l4_2xxx.h > -- 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