summaryrefslogtreecommitdiffstats
path: root/drivers/video (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'for-next' of git://linuxtv.org/pinchartl/fbdev into fbdev-nextFlorian Tobias Schandinat2012-03-146-1152/+1297
|\
| * fbdev: sh_mobile_meram: Implement system suspend/resumeLaurent Pinchart2012-03-121-6/+5
| | | | | | | | | | | | | | | | Supporting runtime PM is very nice, but that's not a reason not to implement system suspend/resume properly. Reported-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * fbdev: sh_mobile_meram: Remove unneeded sanity checksLaurent Pinchart2012-03-122-30/+7
| | | | | | | | | | | | | | | | | | | | | | | | The meram_register(), meram_unregister() and meram_update() operations check that the pointers they get from the caller are not NULL. Those checks can be remove, as the caller already ensures that the pointers are valid. The platform sanity checks can also be removed, as the operations can't be accessed without valid platform data anyway. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * fbdev: sh_mobile_meram: Don't perform update in register operationLaurent Pinchart2012-03-122-16/+7
| | | | | | | | | | | | | | Remove the RGB or Y/C base address update from the meram_register() operation, as this belongs to the meram_update() operation. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * fbdev: sh_mobile_lcdc: Don't store copy of platform dataLaurent Pinchart2012-03-122-37/+37
| | | | | | | | | | | | | | | | | | | | Instead of copying the whole platform data structure to struct sh_mobile_lcdc_chan, store a const pointer to the channel platform data. MERAM configuration information needs to be changed at runtime, so copy it to struct sh_mobile_lcdc_chan. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * fbdev: sh_mobile_meram: Allocate ICBs automaticallyLaurent Pinchart2012-03-123-175/+199
| | | | | | | | | | | | | | | | | | | | | | | | Instead of manually specifying the ICBs to use in platform data, allocate them automatically at runtime. The range of reserved ICBs (for instance to be used through UIO), if any, is passed in the platform data reserved_icbs field as a bitmask. The MERAM registration function now returns a pointer to an opaque MERAM object, which is passed to the update and unregistration functions. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * fbdev: sh_mobile_meram: Use genalloc to manage MERAM allocationLaurent Pinchart2012-03-122-42/+71
| | | | | | | | | | | | | | Instead of requiring the users to hardcode MERAM allocation in platform data, allocate blocks at runtime using genalloc. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * fbdev: sh_mobile_meram: Divide the code into sectionsLaurent Pinchart2012-03-121-54/+44
| | | | | | | | | | | | And rename a couple of constants to make prefixes more uniform. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * fbdev: sh_mobile_meram: Don't inline everythingLaurent Pinchart2012-03-121-15/+15
| | | | | | | | | | | | | | Let the compiler decide which complex functions to inline, and constify constant static arrays. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * fbdev: sh_mobile_meram: Add struct sh_mobile_meram_icbLaurent Pinchart2012-03-121-88/+90
| | | | | | | | | | | | | | | | | | | | The new structure stores ICB parameters for ICBs. Instead of modifying the struct sh_mobile_meram_cfg instances passed by callers, store the ICB parameters internally and make the public API take const pointers to sh_mobile_meram_cfg. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * fbdev: sh_mobile_meram: Make current_reg field store the current reg setLaurent Pinchart2012-03-121-1/+1
| | | | | | | | | | | | | | Make sure current_reg == 0/1 always mean register set A/B through all the code. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * fbdev: sh_mobile_meram: Make variables unsigned where applicableLaurent Pinchart2012-03-121-37/+43
| | | | | | | | | | | | | | Many variables, such as loop counters, sizes and offsets, should be unsigned integers. Make them so. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * fbdev: sh_mobile_meram: Add _cfg suffix to struct sh_mobile_meram_icbLaurent Pinchart2012-03-121-5/+5
| | | | | | | | | | | | | | | | | | | | The structure describe ICB configuration, no ICB objects themselves. Rename it to sh_mobile_meram_icb_cfg in preparation for the addition of an ICB structure. All the structure fields are unsigned integers, make them so. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * fbdev: sh_mobile_meram: Request memory regions for memory resourcesLaurent Pinchart2012-03-121-16/+37
| | | | | | | | | | | | Make sure the registers and MERAM spaces are reserved before using them. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * fbdev: sh_mobile_lcdc: Pass channel pointer to sh_mobile_wait_for_vsyncLaurent Pinchart2012-03-121-24/+23
| | | | | | | | | | | | | | | | The sh_mobile_wait_for_vsync() function isn't related to the fbdev API, make it generic by passing a channel pointer instead of an fb_info pointer. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * fbdev: sh_mobile_lcdc: Store configuration in channel structureLaurent Pinchart2012-03-122-56/+61
| | | | | | | | | | | | | | | | Store the frame buffer configuration (colorspace, visible/virtual horizontal and vertical resolutions and line pitch) in the sh_mobile_lcdc_chan structure, and use it instead of accessing fb_info. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * fbdev: sh_mobile_lcdc: Pass physical device pointer to DMA functionsLaurent Pinchart2012-03-121-2/+3
| | | | | | | | | | | | | | The dma_map_sg() and dma_unmap_sg() functions need a pointer to the physical device. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * fbdev: sh_mobile_lcdc: Split fb init/cleanup from channel init/cleanupLaurent Pinchart2012-03-122-128/+159
| | | | | | | | Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * fbdev: sh_mobile_lcdc: Store the format in struct sh_mobile_lcdc_chanLaurent Pinchart2012-03-122-12/+13
| | | | | | | | | | | | | | Store the active format in the channel structure, and use it instead of parsing info->var all over the place when the format is needed. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * fbdev: sh_mobile_lcdc: Add sh_mobile_format_info() functionLaurent Pinchart2012-03-121-72/+102
| | | | | | | | | | | | | | | | The function returns a pointer to a structure describing a format based on its fourcc. Use the function where applicable instead of hardcoded switch-case statements. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * fbdev: sh_mobile_lcdc: Reorganize the sh_mobile_lcdc_chan structureLaurent Pinchart2012-03-121-16/+23
| | | | | | | | | | | | | | Group fields by purpose, and make the separation between core fields and FB-related fields clear. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * fbdev: sh_mobile_lcdc: Rename (lcd|num)_cfg (lcd|num)_modesLaurent Pinchart2012-03-122-29/+29
| | | | | | | | | | | | | | | | The struct sh_mobile_lcdc_chan_cfg platform data contains a list of video modes. Name the lcd_cfg and num_cfg fields to reflect that they describe video modes. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * fbdev: sh_mobile_lcdc: Store display mode in a struct fb_videomodeLaurent Pinchart2012-03-122-36/+44
| | | | | | | | | | | | | | Embed struct fb_videomode instead of struct fb_var_screeninfo in struct sh_mobile_lcdc_chan to store the display mode. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * fbdev: sh_mobile_hdmi: Don't access LCDC fb_infoLaurent Pinchart2012-03-123-31/+28
| | | | | | | | | | | | | | | | | | The LCDC fb_info structure is only used to retrieve the default video mode in case none of the modes advertised by EDID information is acceptable. Pass a pointer to the default mode through the sh_mobile_lcdc_entity structure instead. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * fbdev: sh_mobile_hdmi: Don't set sh_hdmi::mode in the display on handlerLaurent Pinchart2012-03-121-7/+1
| | | | | | | | | | | | | | | | The struct sh_hdmi mode field is only used after being assigned by the EDID read code. There is thus no need to initialize it from the LCDC display var in the display on handler. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * fbdev: sh_mobile_lcdc: Pass a video mode to the notify callbackLaurent Pinchart2012-03-123-50/+48
| | | | | | | | | | | | | | Pass pointers to struct fb_videomode and struct fb_monspecs instead of struct fb_var_screeninfo to the notify callback. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * sh_mobile_hdmi: Use LCDC notification callbackLaurent Pinchart2012-03-121-77/+14
| | | | | | | | | | | | | | | | Instead of accessing the LCDC channel and fb_info structures directly, use the LCDC notification callback to inform the LCDC driver about display-related events. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * sh_mobile_lcdc: Add display notify callback to sh_mobile_lcdc_chanLaurent Pinchart2012-03-122-0/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | The callback implements 3 notification events: - SH_MOBILE_LCDC_EVENT_DISPLAY_CONNECT notifies the LCDC that the display has been connected - SH_MOBILE_LCDC_EVENT_DISPLAY_DISCONNECT notifies the LCDC that the display has been disconnected - SH_MOBILE_LCDC_EVENT_DISPLAY_MODE notifies that LCDC that a display mode has been detected Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * fbdev: sh_mobile_lcdc: Return display connection state in display_onLaurent Pinchart2012-03-124-6/+16
| | | | | | | | | | | | | | | | Return true if the display is connected and false otherwise. Set the fb info state to FBINFO_STATE_SUSPENDED in the sh_mobile_lcdc driver when the display is not connected. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * fbdev: sh_mobile_lcdc: Remove fb_info parameter to display_on operationLaurent Pinchart2012-03-124-13/+6
| | | | | | | | | | | | The parameter is unused, remove it. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * sh_mobile_hdmi: Use sh_mobile_lcdc_entity::channel to access fb_infoLaurent Pinchart2012-03-121-68/+12
| | | | | | | | | | | | | | The fb_info parameter passed to the display_on operation will be removed, don't use it. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * sh_mobile_lcdc: Add an lcdc channel pointer to sh_mobile_lcdc_entityLaurent Pinchart2012-03-122-1/+6
| | | | | | | | | | | | | | The field will be used by the transmitter drivers to access sh_mobile_lcdc_chan fields such as fb_info. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * fbdev: sh_mobile_lcdc: Merge board_cfg and lcd_size_cfg into panel_cfgLaurent Pinchart2012-03-121-18/+17
| | | | | | | | | | | | Update board code accordingly. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * fbdev: sh_mobile_lcdc: Move brightness ops to sh_mobile_lcdc_bl_infoLaurent Pinchart2012-03-121-4/+2
| | | | | | | | | | | | Update board code accordingly. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * fbdev: sh_mobile_lcdc: Remove board configuration board_data fieldLaurent Pinchart2012-03-121-9/+7
| | | | | | | | | | | | The field is unused, remove it. Update board code accordingly. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * fbdev: sh_mobile_lcdc: Remove board configuration owner fieldLaurent Pinchart2012-03-121-6/+2
| | | | | | | | | | | | The field is unused, remove it. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * fbdev: sh_mobile_hdmi: Don't hook up into board_cfg display operationsLaurent Pinchart2012-03-121-31/+6
| | | | | | | | | | | | | | The display_on/off operations are now accessed through the sh_mobile_lcdc_entity operations. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * fbdev: sh_mipi_dsi: Don't hook up into board_cfg display operationsLaurent Pinchart2012-03-121-51/+5
| | | | | | | | | | | | | | The display_on/off operations are now accessed through the sh_mobile_lcdc_entity operations. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * fbdev: sh_mobile_lcdc: Handle HDMI/MIPI transmitter device directlyLaurent Pinchart2012-03-122-5/+28
| | | | | | | | | | | | | | | | Pass a pointer to the transmitter device through platform data, retrieve the corresponding sh_mobile_lcdc_entity structure in the probe method and call the transmitter display_on/off methods directly. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * fbdev: sh_mipi_dsi: Implement sh_mobile_lcdc_entity interfaceLaurent Pinchart2012-03-121-15/+51
| | | | | | | | Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * fbdev: sh_mobile_hdmi: Implement sh_mobile_lcdc_entity interfaceLaurent Pinchart2012-03-121-8/+31
| | | | | | | | Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * fbdev: sh_mobile_lcdc: Add sh_mobile_lcdc_entity definitionLaurent Pinchart2012-03-121-2/+16
| | | | | | | | | | | | | | The sh_mobile_lcdc_entity structure will be used to abstract operations performed by transceivers (such as MIPI/DSI and HDMI). Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * sh_mobile_hdmi: Remove platform data lcd_dev fieldLaurent Pinchart2012-03-121-12/+5
| | | | | | | | | | | | The field is used to print debug messages only. Remove it. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * fbdev: sh_mobile_hdmi: Don't access LCDC channel in notifier callbackLaurent Pinchart2012-03-121-4/+4
| | | | | | | | | | | | | | Instead of relying on info->par being a pointer to an LCDC channel, cast the notifier block pointer to an sh_hdmi pointer. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * fbdev: sh_mobile_lcdc: Create functions to turn the display on/offLaurent Pinchart2012-03-121-25/+28
| | | | | | | | Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * fbdev: sh_mobile_lcdc: Don't pass struct device aroundLaurent Pinchart2012-03-121-20/+21
| | | | | | | | | | | | | | Pass a pointer to a struct sh_mobile_lcdc_priv instead, which stores a pointer to the device. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * fbdev: sh_mobile_lcdc: Move pm runtime enable to probe()Laurent Pinchart2012-03-121-18/+16
| | | | | | | | | | | | | | | | The pm_runtime_enable() and pm_runtime_resume() calls don't belong to sh_mobile_lcdc_setup_clocks(). Move them to the probe function. Remove the unneeded pm_runtime_resume() call. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * fbdev: sh_mobile_lcdc: Mark init-only symbols with __devinit(const)Laurent Pinchart2012-03-121-2/+2
| | | | | | | | | | | | | | | | default_720p and sh_mobile_lcdc_check_interface are used at device initialization time only. Mark them as __devinitconst and __devinit respectively. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
| * fbdev: sh_mobile_lcdc: Reorder code into sectionsLaurent Pinchart2012-03-121-190/+231
| | | | | | | | | | | | | | | | | | Make the driver more readable by reordering code and splitting it into logical sections. Reorder the headers alphabetically. No modification to the code have been performed. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
* | drivers/video/pvr2fb.c: ensure arguments to request_irq and free_irq are ↵Julia Lawall2012-03-141-2/+2
|/ | | | | | | | | | | compatible Convert calls to free_irq so that the second argument is the same as the last argument of the corresponding call to request_irq. Without this property, free_irq does nothing. Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>