- 05 10月, 2011 9 次提交
-
-
由 Timur Tabi 提交于
The diu_pool structure contains diu_addr objects for various objects allocated in DMA space that are used by the DIU, but the only instance of this structure is a global variable, 'pool'. Eliminate 'pool' by merging its fields into the fsl_diu_data structure, which is instantiated on the heap for each DIU controller found. Signed-off-by: NTimur Tabi <timur@freescale.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
由 Timur Tabi 提交于
The diu_hw structure contains two fields used to access the DIU registers, but the only instance of this structure is a global variable, 'dr'. Eliminate 'dr' by merging its fields into the fsl_diu_data structure, which is instantiated on the heap for each DIU controller found. Signed-off-by: NTimur Tabi <timur@freescale.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
由 Timur Tabi 提交于
The Freescale DIU video controller supports five video "modes", but only the first two are used by the driver. The other three are special modes that don't make sense for a framebuffer driver. Therefore, there's no point in keeping a global variable that indicates which mode we're supposed to use. Signed-off-by: NTimur Tabi <timur@freescale.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
由 Timur Tabi 提交于
The MFB_TYPE_xxx macros indicate different "operating modes" of each AOI, but this feature is not actually used in the driver. The mfb_index.type field is always set to MFB_TYPE_OUTPUT, so just delete it and any code that references it. Signed-off-by: NTimur Tabi <timur@freescale.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
由 Timur Tabi 提交于
Each of the five AOIs created by the DIU driver has a special purpose, and they're not treated equally. It makes sense to identify them with an enum instead of a hard-coded number. Since the 'index' is now an enum, it can only contain allowed values, so there's no need to check for an invalid value. This simplifies some other code, such as fsl_diu_disable_panel(), which no longer needs to return an error code. Signed-off-by: NTimur Tabi <timur@freescale.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
由 Timur Tabi 提交于
Add the following new video modes to the Freescale DIU framebuffer driver: 640x480x60 640x480x72 640x480x75 640x480x90 640x480x100 800x480x60 800x600x60 854x480x60 1280x480x60 1280x720x60 1920x1080x60 Also add margin data to the 320x240 video mode. This mode was originally intended only for the AOIs (overlays) used on planes two and three, but with real margin data, it can now be used as an actual video mode. Video mode data is from earlier work done by Jerry Huang <Chang-Ming.Huang@freescale.com>. Signed-off-by: NTimur Tabi <timur@freescale.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
由 Timur Tabi 提交于
The function which is supposed to provide screen blanking support doesn't actually do anything, so the framebuffer layer thinks the screen has been blanked when it really isn't. Remove the code completely for now. A side-effect of this change is that the framebuffer console blanking now works correctly. Presumably this is because the console now receives -EINVAL instead of '0' when it asks the driver to blank the screen, so the console does it manually now. A signficant refactoring of the driver is planned, and proper hardware blanking support will added afterwards. Signed-off-by: NTimur Tabi <timur@freescale.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
由 Timur Tabi 提交于
Move several macros and structures from the Freescale DIU driver's header file into the source file, because they're only used by that file. Also delete a few unused macros. The diu and diu_ad structures cannot be moved because they're being used by the MPC5121 platform file. A future patch eliminate the need for the platform file to access these structs, so they'll be moved also. Signed-off-by: NTimur Tabi <timur@freescale.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
由 Timur Tabi 提交于
Use the _IOx macros to define the ioctl commands, instead of hard-coded numbers. Unfortunately, the original definitions of MFB_SET_PIXFMT and MFB_GET_PIXFMT used the wrong value for the size, so these macros have new values now. To avoid breaking binary compatibility with older applications, we retain support for the original values, but the driver displays a warning message if they're used. Also remove the FBIOGET_GWINFO and FBIOPUT_GWINFO ioctls. FBIOPUT_GWINFO was never implemented, and FBIOGET_GWINFO was never used by any application. Signed-off-by: NTimur Tabi <timur@freescale.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
- 04 10月, 2011 2 次提交
-
-
由 Manjunathappa, Prakash 提交于
Revised LCD controller in upcoming TI SoC which is an updated version of LCDC IP that was found on TI's DA850 SoC supports 2048*2048 resolution. Below are the encoding details: Width: Pixels Per Line = {pplmsb, ppllsb, 4'b1111} + 1 Where pplmsb:1bit==>Raster Timing0[3], ppllsb:6bits==>Raster Timing0[9:4]. And encoded value can range from 16 to 2048 in multiples of 16. Height: Lines Per Panel = {lpp_b10, lpp} Where lpp:10bits==>Raster Timing1[9:0], lpp_b10:1bit==>Raster Timing2[26]. And encoded value can range from 1 to 2048, programmable range is 0 to 2047. Patch is verified on emulation platform of upcoming SoC for updated feature and on DA850 platform to make sure nothing existing breaks. Signed-off-by: NManjunathappa, Prakash <prakash.pm@ti.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
由 Tomi Valkeinen 提交于
Compiling panel-picodlp.c failed with: drivers/video/omap2/displays/panel-picodlp.c:560:12: error: 'THIS_MODULE' undeclared here (not in a function) Add #include <linux/module.h> to get THIS_MODULE definition. Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
- 03 10月, 2011 8 次提交
-
-
由 Manuel Lauss 提交于
Removes some bitrot from the au1100fb driver and fix it up so it works again. Signed-off-by: NManuel Lauss <manuel.lauss@googlemail.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
由 Wolfram Stering 提交于
When blanking an already blanked framebuffer, a kernel NULL pointer dereference occurred, because mx3fb driver handles all kinds of screen blanking (normal, vsync suspend, powerdown) in the same way. Certain programs (Xorg X11 server) first do a normal blank, followed by a powerdown blank, which triggered the bug. Add an additional safeguard and make sdc_disable_channel() safe against multiple calls independent of other logic. Signed-off-by: NMichael Thalmeier <michael.thalmeier@hale.at> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
由 Yong Zhang 提交于
Since commit [e58aa3d2: genirq: Run irq handlers with interrupts disabled], We run all interrupt handlers with interrupts disabled and we even check and yell when an interrupt handler returns with interrupts enabled (see commit [b738a50a: genirq: Warn when handler enables interrupts]). So now this flag is a NOOP and can be removed. Signed-off-by: NYong Zhang <yong.zhang0@gmail.com> Acked-by: NDavid Brown <davidb@codeaurora.org> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
由 Dan Carpenter 提交于
Having "edid" as char caused a problem in ufx_read_edid() where we compared "edid[i] != 0xFF". Because of the type difference, the condition was never true and the error checking failed. Also I added a __user notation to silence a sparse complaint. Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com> Signed-off-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
-
由 Archit Taneja 提交于
Add zorder support on OMAP4, this feature allows deciding the visibility order of the overlays based on the zorder value provided as an overlay info parameter or a sysfs attribute of the overlay object. Use the overlay cap OMAP_DSS_OVL_CAP_ZORDER to determine whether zorder is supported for the overlay or not. Use dss feature FEAT_ALPHA_FREE_ZORDER if the caps are not available. Ensure that all overlays that are enabled and connected to the same manager have different zorders. Swapping zorders of 2 enabled overlays currently requires disabling one of the overlays. Signed-off-by: NArchit Taneja <archit@ti.com> Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
由 Archit Taneja 提交于
Add support for VIDEO3 pipeline on OMAP4: - Add VIDEO3 pipeline information in dss_features and omapdss.h - Add VIDEO3 pipeline register coefficients in dispc.h - Create a new overlay structure corresponding to VIDEO3. - Make changes in dispc.c for VIDEO3 Signed-off-by: NArchit Taneja <archit@ti.com> Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
由 Archit Taneja 提交于
On OMAP3, in order to enable alpha blending for LCD and TV managers, we needed to set LCDALPHABLENDERENABLE/TVALPHABLENDERENABLE bits in DISPC_CONFIG. On OMAP4, alpha blending is always enabled by default, if the above bits are set, we switch to an OMAP3 compatibility mode where the zorder values in the pipeline attribute registers are ignored and a fixed priority is configured. Rename the manager_info member "alpha_enabled" to "partial_alpha_enabled" for more clarity. Introduce two dss_features FEAT_ALPHA_FIXED_ZORDER and FEAT_ALPHA_FREE_ZORDER which represent OMAP3-alpha compatibility mode and OMAP4 alpha mode respectively. Introduce an overlay cap for ZORDER. The DSS2 user is expected to check for the ZORDER cap, if an overlay doesn't have this cap, the user is expected to set the parameter partial_alpha_enabled. If the overlay has ZORDER cap, the DSS2 user can assume that alpha blending is already enabled. Don't support OMAP3 compatibility mode for now. Trying to read/write to alpha_blending_enabled sysfs attribute issues a warning for OMAP4 and does not set the LCDALPHABLENDERENABLE/TVALPHABLENDERENABLE bits. Change alpha_enabled to partial_alpha_enabled in the omap_vout driver. Use overlay cap "OMAP_DSS_OVL_CAP_GLOBAL_ALPHA" to check if overlay supports alpha blending or not. Replace this with checks for VIDEO1 pipeline. Cc: linux-media@vger.kernel.org Cc: Lajos Molnar <molnar@ti.com> Signed-off-by: NArchit Taneja <archit@ti.com> Acked-by: NVaibhav Hiremath <hvaibhav@ti.com> Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
由 Arnd Bergmann 提交于
Four of the LCD panel drivers depend on the backlight class, so add the dependency in Kconfig. Selecting the BACKLIGHT_CLASS_DEVICE symbol does not generally work since it has other dependencies. Signed-off-by: NArnd Bergmann <arnd@arndb.de> [tomi.valkeinen@ti.com: changed also N8x0 panel] Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
- 30 9月, 2011 21 次提交
-
-
由 Tomi Valkeinen 提交于
overlay_info struct, used to configure overlays, currently includes both physical and virtual addresses for the pixels. The vaddr was added to support more exotic configurations where CPU would be used to update a display, but it is not currently used and there has been no interest in the feature. Using CPU to update a screen is also less interesting now that OMAP4 has two LCD outputs. This patch removes the vaddr field, and modifies the users of omapdss accordingly. This makes the use of omapdss a bit simpler, as the user doesn't need to think if it needs to give the vaddr. Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
由 Mythri P K 提交于
Add support to dump the HDMI wrapper, core, PLL and PHY registers through debugfs. Signed-off-by: NMythri P K <mythripk@ti.com> [tomi.valkeinen@ti.com: updated the description] Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
由 Mythri P K 提交于
Add some of the missing register definitions, which are h/w indexable. Signed-off-by: NMythri P K <mythripk@ti.com> Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
由 Mythri P K 提交于
Remove usage of hdmi_reg struct to use u16 instead in the HDMI IP header file. hdmi_reg struct is not really needed, and the same change was also made for dispc earlier. Signed-off-by: NMythri P K <mythripk@ti.com> [tomi.valkeinen@ti.com: updated the description] Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
由 Mythri P K 提交于
Move the comments in AVI infoframe structure above each parameter to align with other comments in the header file. Signed-off-by: NMythri P K <mythripk@ti.com> Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
由 Tomi Valkeinen 提交于
This is a driver for N800's display, ported from the old omapfb. This is a slightly lighter version of the driver as not all features of the old driver can be ported without big changes to DSS2, and also because some of the HW features used in the old driver are unclear (e.g. the power management part). That said, the new driver works fine for basic use. Architecturally the driver is not as neat as it could be. N800's display HW consists of a display buffer chip and a panel, and ideally they would be represented by separate, independent drivers. This is not currently possible, and this driver contains both buffer chip and panel driver. Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
由 Tomi Valkeinen 提交于
Port the old omapfb panel driver for Apollon to DSS2. Cc: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
由 Tomi Valkeinen 提交于
Port the old omapfb panel driver for H4 to DSS2. Cc: Imre Deak <imre.deak@nokia.com> Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
由 Tomi Valkeinen 提交于
Port the old omapfb panel driver for 2430SDP to DSS2. Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
由 Tomi Valkeinen 提交于
drivers/video/omap/ contains some lcd drivers which are not used by any board. They can be removed. Cc: Arun C <arunedarath@mistralsolutions.com> Acked-by: NKoen Kooi <koen@openembedded.org> Acked-by: NSteve Sakoman <steve@sakoman.com> Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
由 Tomi Valkeinen 提交于
Taal panel driver supports two kinds of backlight control: 1) using DSI commands sent to the panel to control the backlight, 2) calling function pointers going to the board file to control the backlight. The second option is a bit hacky, and will no longer be needed when the PWM driver supports the backlight features. After that we can use the standard PWM backlight driver. This patch removes the second backlight control mechanism, and adds a boolean field, use_dsi_backlight, to nokia_dsi_panel_data which the board file can use to inform whether the panel driver should use DSI commands to control the backlight. Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
由 Archit Taneja 提交于
Create a dss_range_param member called FEAT_PARAM_DOWNSCALE to get the maximum downscaling possible on the current platform. Use this in dispc_ovl_calc_scaling(). Signed-off-by: NArchit Taneja <archit@ti.com> Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
由 Archit Taneja 提交于
Move DISPC scaling related code from dispc_ovl_setup() to a new function dispc_ovl_calc_scaling(). Use overlay caps to check if the overlay can scale or not. No functional changes are made. Signed-off-by: NArchit Taneja <archit@ti.com> Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
由 Archit Taneja 提交于
The function calc_fclk_five_taps() uses a fixed value of pixels per line which is used in calculations to get the minimum fclk needed for scaling with five taps to work. Remove this by providing the width of the panel connected to the manager. Signed-off-by: NArchit Taneja <archit@ti.com> Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
由 Archit Taneja 提交于
dispc_mgr_pclk_rate() is used to calculate minimum required functional clock for scaling in calc_fclk() and calc_fclk_five_taps(). This function returns the correct pixel clock for LCD and LCD2 managers, but not for TV manager. Extend this function so that it gets the correct pixel clock for TV manager. This also prevents the crash we get when we try to scale overlays connected to TV manager. The current code leads to a BUG() being executed if we call dispc_mgr_pclk_rate() for the TV manager. Signed-off-by: NArchit Taneja <archit@ti.com> Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
由 Archit Taneja 提交于
Create a helper function called dispc_mgr_is_lcd() which returns true if the manager is LCD or LCD2. Signed-off-by: NArchit Taneja <archit@ti.com> Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
由 Archit Taneja 提交于
dispc_ovl_enable_replication() and dispc_ovl_set_fifo_threshold() are currently called in configure_overlay(). These are the only functions which cause DISPC register writes of overlay parameters outside of dispc_ovl_setup(). Move these to dispc_ovl_setup() and pass replication, fifo_low and fifo_high thresholds as arguments to dispc_ovl_setup() in order to be aligned with other overlay parameters. No functional changes are made. Signed-off-by: NArchit Taneja <archit@ti.com> Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
由 Archit Taneja 提交于
dispc_ovl_setup() currently takes a large number of overlay arguments, most of these are members of the overlay_info struct. Replace these arguments by passing a overlay_info pointer instead. In configure_overlay(), we create an overlay_info struct called new_oi, this is a copy of the overlay cache's overlay_info member. Update the new_oi parameters which could have been possibly changed in configure_overlay(). Pass its pointer pointer to dispc_ovl_setup(). Signed-off-by: NArchit Taneja <archit@ti.com> Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
由 Tomi Valkeinen 提交于
Use the new read_edid() function to get EDID information from the display (when available), and use the information to use a suitable mode at initialization time. Hot-plug is not yet supported, so the timings selected at init time will stay even if the monitor would be changed. Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
由 Tomi Valkeinen 提交于
Remove the "generic" panel config entry, which is not used. Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-
由 Tomi Valkeinen 提交于
We have currently panel-generic-dpi driver, which is a combined driver for dummy panels and also for DVI output. The aim is to split the panel-generic-dpi into two, one for fixed size dummy panels connected via DPI, and the other (this) for variable resolution output which supports DDC channel (in practice a DVI framer chip connected to DPI output). Original i2c code by: Ricardo Salveti de Araujo <ricardo.salveti@canonical.com> Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
-