summaryrefslogtreecommitdiff
path: root/drivers/video/fbdev (follow)
Commit message (Collapse)AuthorAge
...
* | msm: mdss: add color format for venus coreAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Venus output format expects luma and chroma components to be aligned to 32 bytes, add new color format to support this type of input. kernel 3.14 upgrade conflicts: include/uapi/linux/msm_mdp.h Change-Id: I1fc9a61a0c8cfa8244460105fdab02d019d31556 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: implement vsync ctrl and eventsAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | Allow users to enable vsync events to be sent as uevents to userspace applications. This allows applications to listen for and align composition to hardware vsync. Change-Id: Ice480659f8c2adda3b5fe3f2d5bcfb9bf779933c Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: request bus bandwidth before panel onAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | Panel on sequence requires access to bus, make sure bus clock is enabled before panel on by requesting bandwidth for panel commands. Change-Id: I2f92e81b20dba7875a8b1160d14e8fa1895c8f15 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: fix hang when down scaling video to more than half its sizeAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | When down scaling video more than twice, PCMN filter scaling should be enabled for all components to avoid MDP errors which lead to hang or underrun on screen. Change-Id: I237bc3a16e4916c9270382f55ecae21b46743a5b Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: refactor overlay parameters validationAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | Some checks done on parameters don't apply for rotation only mode where rotation is not limited by the bounds of panel resolution. Update overlay checks to perform correct validation depending on request type. Change-Id: Ic0cf9863231300f7190dd118b78fa753f77f217f Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm_fb: mdss: Add DSI physical layer settingsChandan Uddaraju2016-03-23
| | | | | | | | | | | | | | | | | | | | Add support for dsi clocks. Add support for DSI PLL configurations. Add strength, regulator and control settings for the DSI physical layer. Change-Id: I04a0eec869e40b4813cf5187e8eeef63ae2f5a1f Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
* | msm_fb: mdss: Add support for Backlight control and panel gpiosChandan Uddaraju2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | Add code to support the WLED client interface to control backlight levels using led_trigger mechanism. Add support for msm gpio that maps to the lcd_enable line for the panel. Add support for pmic gpio that is mapped to the display reset line. Change-Id: Ie89692f1c0a38d7878271d4a91122d61fbba8c1b Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
* | msm: mdss: fix null dereference when using hardware cursorAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | | | Null dereference kernel panic is seen when using hardware cursor because buffer for cursor is not allocated before using hardware cursor API. Allocate buffer once when API is first called to ensure buffer is available to hold cursor image. Change-Id: I2250c4dd93e54fa4e7122c2465fbaf1deef0fa1e Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm_fb: mdss: Add support for DSI specific regulatorsChandan Uddaraju2016-03-23
| | | | | | | | | | | | | | Add ldo2, ldo12 and ldo22 regulator support in dsi driver. Change-Id: Ia8e9907e87a293588688e7a47c74fecf155382af Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
* | msm: mdss: fix MDP hang when using 2 or more layersAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | Hang is seen when 2 or more overlapping layers are used in MDP, this is caused by problem with VBIF dynamic clock gating. Bypass VBIF dynamic clock gating and force clocks on to avoid MDP hang. Change-Id: I369d036aa059f79c48f3b2feec8ca2b0f49dd301 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: add perf settings during hardware initializationAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | Add MDSS initialization sequence, tuning for optimal performance. Change-Id: Icd44abf2707d74bbf29a8d095184067ae3a420d1 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: refactor mdp driver probeAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | Remove references to global variables, remove untested support for board file in favor of device tree. Change-Id: If97536116f5b4ea64ade5938d713572c10415bfe Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: refactor mdss color formatsAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Add missing color formats and reorganize color formats to have better code reuse and make it easy to add new formats if required. kernel 3.14 upgrade conflicts: include/uapi/linux/msm_mdp.h Change-Id: Ic7c6bb6f35a9c282d9ef99bd5e1d18b0b8033971 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: fix irq getting disabled when running concurrent displaysAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | Add check to make sure there are no other active interrupts before disabling MDP IRQ to avoid disable of interrupts. Change-Id: Ic2bb9398dfa67d2b210f988de6648d49fd8336ac Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: use framebuffer line length as base layer strideAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | | | Adreno graphics core expects framebuffer to be aligned to 32 bytes, this alignment is observed in framebuffer and needs to be used for base layer. If not followed stride corruption can be seen for frames rendered by Adreno GPU. Change-Id: Iea5e729dc4e4613bd7270d7bcf616cff6377109a Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: fix suspend coming to MDP before panel driversAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | | | If suspend event is received by MDP before panels, MDP needs to ensure other panels are off before turning MDP clocks off. Remove handlers from framebuffer driver and handle all suspend logic within MDP driver to handle this scenario. Change-Id: Idcda2dd29b28a9993edca78b7e0778985e44b664 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: improve clock and bus scaling logicAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Current clock logic only considers panel pixel clock to calculate mdp clock speed, MDP clock speed should also consider other factors such as surface scaling. Bus scaling should also consider surface scaling factor. Update logic to consider these new factors and perform these performance updates together. Change-Id: If274a7f40f496e1a730e1d0e8d7c35fa4384a832 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: allocate framebuffer memory from ion poolAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | | | When panel size is increased dma_alloc_coherent is not able to find a chunk of contiguous memory big enough to hold framebuffer, this causes framebuffer initialization to fail. Allocate buffer from ion pool which has reserved contiguous memory at earlier stage. Change-Id: Ibf7e3f7fc2c7ad991d69c106bbb6a9dd4c7f0e79 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: fix incorrect programming of timing generator settingAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | Fix typo in code which is causing incorrect setting of vertical front porch on timing generator settings and incorrect output to panel. Change-Id: I4de61209443fcb284b7d4064a2039b5f546935d1 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm_fb: MDSS: Add DSI driver support for MDSSChandan Uddaraju2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the dsi driver implementation for DSI version 3.0. Use the panel information retrieved from the 'dts' to configure the interface parameters. Add the device tree binding file to specify the basic configuration and panel features. Change-Id: I6a3677401454ad1d2bc29b0b845b0366eb7842b7 Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org> [cip@codeaurora.org: Moved new file locations] Signed-off-by: Clarence Ip <cip@codeaurora.org>
* | msm: mdss: Use YCrCb 420 as the output format for writebackDeva Ramasubramanian2016-03-23
| | | | | | | | | | | | | | | | | | Use YCrCb 420 (NV12) as the output format for writeback. For Wifi Display use case, NV12 is required as the encoder requires this as the output format. Change-Id: Ica8851073476b9c05f3b5b41232803c2d71f7a3e Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
* | msm: mdss: Return proper msmfb_data back to clientDeva Ramasubramanian2016-03-23
| | | | | | | | | | | | | | | | For local clients, return the relevant msmfb_data which contains a cookie relevant to the client. Change-Id: I9b845c0cd7fde1bc8c53a5063ba331460d67427d Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
* | mdss: display: expose panel parameters through framebuffer APIAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | Panel porch values and pixel clock can be used to calculate the refresh rate from user space. Assign these values with information from panel driver. Change-Id: I29995d27904e50892d72de5e8c7dd39285f9d421 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | mdss: display: allocate buffer from ion when debug writeback enabledAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | | | Debug writeback is used to output MDSS framebuffer contents to memory to for debugging of MDSS core. Use ion buffer allocation for debug writeback buffer instead of using memory from framebuffer base layer to allow entire framebuffer area to be used for composition. Change-Id: Ia1a91f5f14bed1d29691092142fc94f7a8b6f4d2 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | mdss: display: fix incorrect rotator programmingAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | | | Source format should indicate that source is to be rotated 90 degrees instead of indicating source has been rotated 90 degrees. This is needed for hardware to fetch source in correct order and generate correct 90 degree output image. Change-Id: If8d1e12ef3e7a291e67ec9763f5ca92ec6fa983c Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | mdss: display: remove check for odd dst offsetsAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | | | MDSS does not support odd width, height or src offsets for YUV formats, however odd coordinates are acceptable for dst offsets. Remove odd check done for dst offsets CRs-Fixed: 372900 Change-Id: I69230640f94bf080a8be4ea6d79f0901a7fa72cd Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | gpu: ion: Pull in patches for 3.4Laura Abbott2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pull in Ion patches for 3.4 upgrade. Inclues the following patches from google: commit 7191e9ba2508ca6f1eaab251cf3f0a2318eebe26 Author: Rebecca Schultz Zavin <rebecca@android.com> Date: Mon Jan 30 14:18:08 2012 -0800 ion: Switch map/unmap dma api to sg_tables Switch these api's from scatterlists to sg_tables Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com> commit 6f9e56945d4ee3a2621968caa72b135cb07e49c4 Author: Rebecca Schultz Zavin <rebecca@android.com> Date: Tue Jan 31 09:40:30 2012 -0800 ion: Add reserve function to ion Rather than requiring each platform call memblock_remove or reserve from the board file, add this to ion Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com> commit 9ae7e01de1cf03c77054da44d135a7e85863fcb0 Author: KyongHo Cho <pullip.cho@samsung.com> Date: Wed Sep 7 11:27:07 2011 +0900 gpu: ion: several bugfixes and enhancements of ION 1. Verifying if the size of memory allocation in ion_alloc() is aligned by PAGE_SIZE at least. If it is not, this change makes the size to be aligned by PAGE_SIZE. 2. Unmaps all mappings to the kernel and DMA address spaces when destroying ion_buffer in ion_buffer_destroy(). This prevents leaks in those virtual address spaces. 3. Makes the return value of ion_alloc() to be explicit Linux error code when it fails to allocate a buffer. 4. Makes ion_alloc() implementation simpler. Removes 'goto' statement and relavant call to ion_buffer_put(). 5. Checks if the task is valid before calling put_task_struct() due to failure on creating a ion client in ion_client_create(). 6. Returns error when buffer allocation requested by userspace is failed. Signed-off-by: KyongHo Cho <pullip.cho@samsung.com> commit 043a61468f395dd6d4fc518299726955e9999c59 Author: Rebecca Schultz Zavin <rebecca@android.com> Date: Wed Feb 1 11:09:46 2012 -0800 ion: Switch ion to use dma-buf Ion now uses dma-buf file descriptors to share buffers with userspace. Ion becomes a dma-buf exporter and any driver that can import dma-bufs can now import ion file descriptors. Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com> commit 0d1259b5f84969bd00811ff9faa1c44cdb9fdbb5 Author: Rebecca Schultz Zavin <rebecca@android.com> Date: Mon Apr 30 16:45:38 2012 -0700 gpu: ion: Use alloc_pages instead of vmalloc from the system heap With this change the ion_system_heap will only use kernel address space when the memory is mapped into the kernel (rare case). Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com> commit be4a1ee79a89da3ca705aecc2ac92cbeedd032bd Author: Rebecca Schultz Zavin <rebecca@android.com> Date: Thu Apr 26 20:44:10 2012 -0700 gpu: ion: support begin/end and kmap/kunmap dma_buf ops These ops were added in the 3.4 kernel. This patch adds support for them to ion. Previous ion_map/unmap_kernel api is also retained in addition to this new api. Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com> commit 46d71337f9aa84694e4e6cca7f3beb6b033bbf76 Author: Rebecca Schultz Zavin <rebecca@android.com> Date: Mon May 7 16:06:32 2012 -0700 gpu: ion: Allocate the sg_table at creation time rather than dynamically Rather than calling map_dma on the allocations dynamically, this patch switches to creating the sg_table at the time the buffer is created. This is necessary because in future updates the sg_table will be used for cache maintenance. Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com> commit 903f6c716db3d4e26952aae9717f81dd5bc9e4ba Author: Rebecca Schultz Zavin <rebecca@android.com> Date: Wed May 23 12:55:55 2012 -0700 gpu: ion: Get an sg_table from an ion handle This patch adds an interface to return and sg_table given a valid ion handle. Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com> The commit also includes fixups needed for MSM specific code. Change-Id: Idbcfa9d6af0febf06f56daaa6beaa59cc08e4351 Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
* | mdss: display: Correct regulator API usageMatt Wagantall2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | A device pointer should be passed to regulator_get() as the first argument, and the regulator mapped to the MDSS device in the device tree. Do this. This also resolves the following message seen in debugfs, which is present when regulator_get() is called with a NULL device: <4>[ 1.145507] gdsc_mdss: Failed to create debugfs directory Change-Id: I70a5137a31dbf82ae1e6634249f274cb16fe7a71 Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
* | mdss: display: Add writeback support for WFDAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | - Implement APIs used to support wifi display (WFD) based on ioctls and functions declared in linux/msm_mdp.h. - Restructure writeback interface file to support custom output formats and take buffers from WFD APIs. Change-Id: I3e6b75bd8b7d73eb20c97899de1891bbd85e9fa4 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org> [cip@codeaurora.org: Moved mdss_mdp_wb.c file location] Signed-off-by: Clarence Ip <cip@codeaurora.org>
* | mdss: display: implement common irq handler for different mdss blocksAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | | | All of MDSS blocks (mdp, dsi, edp, hdmi) share same irq line. Implement function to manage MDSS irq line with common API with support for irq callback handler for each of block. Also fix incorrect calculation of MDP interface interrupts. Change-Id: I1271f7e1065aac95175b6e92504917264f4043a5 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | mdss: display: add video display interface supportAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | | | Video mode display interface is used by DSI, HDMI and EDP controllers. Implement MDP support in order to setup data path to these controllers. Change-Id: Ibc766a1d10a55bcf64a3ab693db034a378afe4ee Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org> [cip@codeaurora.org: Moved mdss_mdp_intf_video.c file location] Signed-off-by: Clarence Ip <cip@codeaurora.org>
* | mdss: display: implement csc matrix programmingAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | | | Implement color conversion matrix programming to support YUV surfaces. Also add dspp initialization stub function. Change-Id: I7ba57eca24e15acffbddf7b81fac6b8a6ce3bba5 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org> [cip@codeaurora.org: Moved mdss_mdp_pp.c file location] Signed-off-by: Clarence Ip <cip@codeaurora.org>
* | mdss: display: add rotator interface to mdss driverAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add rotator session management support with overlay interface using MDP flag MDSS_MDP_ROT_ONLY. Overlay interface can only support overlay surface or rotator (written back to memory) but not both. kernel 3.14 upgrade conflicts: include/uapi/linux/msm_mdp.h Change-Id: Ib2f494683b2e6c2fd8c67818df2b57afb82a3df3 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org> [cip@codeaurora.org: Moved mdss_mdp_rotator file location] Signed-off-by: Clarence Ip <cip@codeaurora.org>
* | mdss: display: add clock and bus scaling logicAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | | | MDSS hardware supports different bus bandwidth and clock frequencies depending on the load on the hardware. Add support to driver to calculate the bus bandwidth and clock frequency requirements and activate changes before the load on hardware changes. Change-Id: I9bb5bbc7b3e18fb1a738f527b875506dfa0c5c81 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: copper: add device nodes and clock information for mdssAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Copper uses Mobile Display SubSystem, add device tree and clock information to be used in mdss driver. Removed Files: arch/arm/boot/dts/msmcopper.dtsi arch/arm/mach-msm/board-copper.c arch/arm/mach-msm/clock-copper.c Change-Id: I67397a28168407b3268f4f026f35d69a04062995 Signed-off-by: Nagamalleswararao Ganji <nganji@codeaurora.org> Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | mdss: display: add overlay ioctl apis to mdss driverAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | - Add support for overlay IOCTL APIs defined in linux/msm_mdp.h - Support for ion client buffers and framebuffer memory Change-Id: I0418ecab9aacf826d900f82f179fa20688fc763e Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | mdss: display: implement writeback interface for mdssAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Add writeback interface support, using one page of framebuffer memory for writeback output. Change-Id: I0a44c6907cbc10d97c78642f45dc018dfb2d1750 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org> [cip@codeaurora.org: Moved writeback file locations, added linux/module.h include] Signed-off-by: Clarence Ip <cip@codeaurora.org>
* | mdss: display: Add Mobile Display SubSystem driverAdrian Salido-Moreno2016-03-23
|/ | | | | | | | | | | | | - Implements Linux frame buffer interface to interact with userspace libraries and applications, based on msm_fb frame buffer. - Implement MDP driver which handles MDP core data path setup and hardware blocks programming. - Support for UI through Linux frame buffer FBIOPAN_DISPLAY ioctl. Change-Id: Ib98677b8d81d74283b27dea08a9f1a705c101bce Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org> [cip@codeaurora.org: Moved mdss to drivers/video/fbdev/msm] Signed-off-by: Clarence Ip <cip@codeaurora.org>
* OMAPDSS: fix timings for VENC to match what omapdrm expectsH. Nikolaus Schaller2015-12-09
| | | | | | | | | | | | | | Otherwise check_timings fails and we get a "has no modes" message from xrandr. This fix makes the venc assume PAL and NTSC timings that match the timings synthetized by copy_timings_drm_to_omap() from omapdrm mode settings so that check_timings() succeeds. Tested on: BeagleBoard XM, GTA04 and OpenPandora Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* video: fbdev: fsl: Fix kernel crash when diu_ops is not implementedWang Dongsheng2015-12-09
| | | | | | | | | | If diu_ops is not implemented on platform, kernel will access a NULL pointer. We need to check this pointer in DIU initialization. Signed-off-by: Wang Dongsheng <dongsheng.wang@freescale.com> Acked-by: Timur Tabi <timur@tabi.org> Cc: stable@vger.kernel.org Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* Merge tag 'fbdev-4.4' of ↵Linus Torvalds2015-11-10
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux Pull fbdev updates from Tomi Valkeinen: - omap: fix hdmi audio configuration issue - ssd1307fb: add ssd1309 support - tridentfb: support DDC - gxt4500: enable support for non-PPC platforms * tag 'fbdev-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: radeonfb: Deinline large functions gxt4500: enable panning gxt4500: Use arch_phys_wc_* for framebuffer gxt4500: fix color order gxt4500: fix 16bpp 565 mode gxt4500: enable on non-PPC architectures tridentfb: Add DDC support fb_ddc: Allow I2C adapters without SCL read capability fbdev: ssd1307fb: add ssd1309 support fbdev: ssd1307fb: alphabetize headers video/omap: remove invalid check OMAPDSS: hdmi: Reconfigure and restart audio when display is enabled
| * radeonfb: Deinline large functionsDenys Vlasenko2015-10-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With this .config: http://busybox.net/~vda/kernel_config, after uninlining these functions have sizes and callsite counts as follows: __OUTPLLP: 61 bytes, 12 callsites __INPLL: 79 bytes, 150 callsites __OUTPLL: 82 bytes, 138 callsites _OUTREGP: 101 bytes, 8 callsites _radeon_msleep: 66 bytes, 18 callsites _radeon_fifo_wait: 83 bytes, 24 callsites _radeon_engine_idle: 92 bytes, 10 callsites radeon_engine_flush: 105 bytes, 2 callsites radeon_pll_errata_after_index_slow: 31 bytes, 11 callsites radeon_pll_errata_after_data_slow: 91 bytes, 9 callsites radeon_pll_errata_after_FOO functions are split into two parts: the inlined part which checks corresponding rinfo->errata bit, and out-of-line part which performs workaround magic per se. Reduction in code size is about 49,500 bytes: text data bss dec hex filename 85789648 22294616 20627456 128711720 7abfc28 vmlinux.before 85740176 22294680 20627456 128662312 7ab3b28 vmlinux Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> Cc: Richard Purdie <rpurdie@rpsys.net> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: David Airlie <airlied@linux.ie> Cc: Alex Deucher <alexdeucher@gmail.com> Cc: Ben Skeggs <bskeggs@redhat.com> Cc: Zhang Rui <rui.zhang@intel.com> Cc: Len Brown <lenb@kernel.org> Cc: Jesse Barnes <jbarnes@virtuousgeek.org> Cc: Dave Airlie <airlied@redhat.com> Cc: linux-kernel@vger.kernel.org Cc: linux-fbdev@vger.kernel.org Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * gxt4500: enable panningOndrej Zary2015-10-08
| | | | | | | | | | | | | | | | | | | | The driver implements pan_display but the corresponding flags are not set. Add FBINFO_HWACCEL_XPAN and FBINFO_HWACCEL_YPAN to flags to allow HW accelerated panning (for fast scrolling). Signed-off-by: Ondrej Zary <linux@rainbow-software.org> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * gxt4500: Use arch_phys_wc_* for framebufferOndrej Zary2015-10-08
| | | | | | | | | | | | | | Add arch_phys_wc_* calls to allow write-combining using MTRR. Signed-off-by: Ondrej Zary <linux@rainbow-software.org> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * gxt4500: fix color orderOndrej Zary2015-10-08
| | | | | | | | | | | | | | | | | | | | | | The color order in truecolor modes is wrong. This does not affect console but is visible e.g. in X11 which has wrong colors. Swap blue and red colors to fix the problem. Fixes https://forums.gentoo.org/viewtopic-t-692740-start-0.html Signed-off-by: Ondrej Zary <linux@rainbow-software.org> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * gxt4500: fix 16bpp 565 modeOndrej Zary2015-10-08
| | | | | | | | | | | | | | Fix wrong colors in 16bpp 565 mode. Signed-off-by: Ondrej Zary <linux@rainbow-software.org> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * gxt4500: enable on non-PPC architecturesOndrej Zary2015-10-08
| | | | | | | | | | | | | | | | | | | | | | These chips can be present at least on x86 too - Fire GL2 AGP has GXT6000P but this driver is currently limited to PPC. Enable it for all architectures and add chip configuration for little-endian. Tested on x86 with Fire GL2 AGP. Signed-off-by: Ondrej Zary <linux@rainbow-software.org> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * tridentfb: Add DDC supportOndrej Zary2015-09-30
| | | | | | | | | | | | | | | | | | Add DDC support for Trident cards. Tested on TGUI9440, TGUI9680, 3DImage 9750, Blade3D 9880 and Blade XP. Signed-off-by: Ondrej Zary <linux@rainbow-software.org> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * fb_ddc: Allow I2C adapters without SCL read capabilityOndrej Zary2015-09-30
| | | | | | | | | | | | | | | | | | | | i2c-algo-bit allows I2C adapters without SCL read capability to work but fb_ddc_read fails to work on them. Fix fb_ddc_read to work with I2C adapters not capable of reading SCL. Signed-off-by: Ondrej Zary <linux@rainbow-software.org> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * fbdev: ssd1307fb: add ssd1309 supportOlliver Schinagl2015-09-24
| | | | | | | | | | | | | | | | | | | | | | | | The ssd1307fb driver supports a lot of chips from the ssd130xfb series. This patch adds the ssd1309 chip, a 128x64 OLED driver chip. It is very similar to the other chips and only has some definitions added to support it. Signed-off-by: Olliver Schinagl <o.schinagl@ultimaker.com> Acked-by: Rob Herring <robh@kernel.org> Acked-by: Prabhakar Lad <prabhakar.csengg@gmail.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>