summaryrefslogtreecommitdiff
path: root/drivers/video/fbdev (follow)
Commit message (Collapse)AuthorAge
...
* | mdss: Display related changes commit belowIan Maund2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While merging to 3.14 kernel this is only display related changes for commit below Change ID: Ia44a224d3cea7bc78dd45e8a8279860d35d4b008 msm: reap unused kernel files This change removes source files from the kernel tree that were not being used during make. The list of used files was generated using an annotated make log and was then compared with new files added since the public release of kernel version 3.10.00. New files which were added but not used have been removed from the tree. A diff was also run to determine the list of files that had been modified since the release of kernel version 3.10.00. These files were then scrubbed based on the current kernel configuration, removing invalid and unused conditionals. Some files which support planned functionality or are useful in debugging have been excluded from this reap. Change-Id: Ib2af17d073ea4b9e4a1b7572875dbb6801e78a63 Signed-off-by: Ian Maund <imaund@codeaurora.org> [cip@codeaurora.org: Resolved removed file locations] Signed-off-by: Clarence Ip <cip@codeaurora.org>
* | msm: mdss: Sanitize post processing inputsCarl Vanderlip2016-03-23
| | | | | | | | | | | | | | | | | | Sanitize the inputs to histogram, assertive display, and calibration buffer so that invalid values cannot be used as feature configuration. CRs-Fixed: 516710 Change-Id: Ifb585174b1baadbac628f53fe67f3c3b3ae61a54 Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
* | mdss: Correct the solid fill color swap for mdp3Shivaraj Shetty2016-03-23
| | | | | | | | | | | | | | | | There was a color swap happening on solidfill by a color. This patch makes sure right color is filled. Change-Id: I7f0a76d2b345414c51e332ad6dee7ed24486c725 Signed-off-by: Shivaraj Shetty <shivaraj@codeaurora.org>
* | msm: mdss: release all overlay resources on last fb releaseUjwal Patel2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | There are cases where the last frame buffer reference is released from a different pid than the one who originally allocated the resource. In these cases we can still deallocate all resources currently allocated as we know that all references on fb dev have been released. This issue was previously fixed by a42150bd. But later it again resurfaced with 831a828. Change-Id: Ie35194b1e11ae90ff886b1be22cf02c842a76d1a Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
* | msm: mdss: Prevent AD on out of range displaysCarl Vanderlip2016-03-23
| | | | | | | | | | | | | | | | Prevent array out of bounds error when displays fall out of range for AD support. Change-Id: Iffebee5ed78bf256c8dd7c6f62587ac27cb2241e Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
* | msm: mdss: Add six zone LUT size as PAv2 parameterBenet Clark2016-03-23
| | | | | | | | | | | | | | | | | | Added six zone LUT size as a parameter to PAv2 in order for the size to be specified by the user. This size is sanitized based on the required LUT size. Change-Id: Iaf1b418ce1a3ec4b5013b1192c7f3b7de5827e3d Signed-off-by: Benet Clark <benetc@codeaurora.org>
* | msm: mdss: Fix error in BL linearity inverse LUT checkBenet Clark2016-03-23
| | | | | | | | | | | | | | | | Associate the maximum index for the BL linearity inverse LUT with the table size and not the maximum backlight value Change-Id: I35fb276f8f1cc6be3be158fa25e6442be438cbf0 Signed-off-by: Benet Clark <benetc@codeaurora.org>
* | msm: mdss: Only use DSPP0 and DSPP1 for cmd mode split displaySree Sesha Aravind Vadrevu2016-03-23
| | | | | | | | | | | | | | | | | | For command mode split display, due to hardware restrictions, only the combination of DSPP0 and DSPP1 can be used. Change-Id: I12feeb0807dd9a217a3f5540478c6d71fb4b8b80 CRs-fixed: 565993 Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
* | msm: mdss: Swap RGBA format to BGRA with bwc rotationSree Sesha Aravind Vadrevu2016-03-23
| | | | | | | | | | | | | | | | | | When BWC is enabled, rotator format needs to be swapped from RGBA to BGRA to avoid color mismatch on the ouput image. This is specially needed with a GPU composed FB. Change-Id: I956a354f3fe605e2c7bda4c4331cfe5bcd6417c7 Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
* | msm: mdss: Modify SMP requirement for BWC decompressionSree Sesha Aravind Vadrevu2016-03-23
| | | | | | | | | | | | | | | | | | | | BWC SMP buffer allocations are different from BWC fetch strides. The Detile write of BWC is segmented into 16 algined segments for every line buffer. This has to be taken into account and based on the format the buffers need to be channeled. Change-Id: I168014709bd81bfb189ce8cb3d1224f911838ba7 Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
* | msm: mdss: turn off the DSI clocks on command mode panelTerence Hampson2016-03-23
| | | | | | | | | | | | | | | | | | | | On command mode panel, panel is refreshing itself using its own internal memory. Shutting down the dsi clocks when there is no display update will save power. Change-Id: Ibce33bed8c5ed65581557089b6537b1a8d9428b4 Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org> Signed-off-by: Terence Hampson <thampson@codeaurora.org>
* | msm: mdss: Call blank and panel OFF events only oncePadmanabhan Komanduru2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | For command mode dual DSI panels, currently the interface blank and panel OFF events are called twice, once for each interface control off function. The panel and both the DSI controllers get turned off during the first interface BLANK and PANEL_OFF events itself since each interface handler internally gets called for both the DSI controllers. Hence, call the interface events only once for the left mixer controller off function. Change-Id: Ia30dd4b728345e478e1ba6999fbbb49716e77abe Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
* | msm: mdss: MISR changes for mdp3Shivaraj Shetty2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Modify Command Mode Sequence for CRC and add MISR changes on mdp3 for CRC validation. Fb test automation can be done by checking the CRC data generated here against the reference CRC table. Change-Id: I41f7a0a356e6182be2e79526a257d41a8ff248a9 Acked-by: Sachin Bhayare <sbhayare@qti.qualcomm.com> Signed-off-by: Shivaraj Shetty <shivaraj@codeaurora.org>
* | msm: mdss: Enable hardware reset line based on panel settingDhaval Patel2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | DSI clock and data lanes should be in LP11 state before enabling the hardware reset line for some panels. These panels might need initialization delay after DSI host and slave in LP11 state to reach functional. No data traffic is allowed for such panels during this master delay. CRs-fixed: 572179 Change-Id: I6a004f55a117f1adfbfbfce85231ef45997e4e6f Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
* | msm: mdss: hdmi: Clear and disable interrupts when HDCP is inactiveAravind Venkateswaran2016-03-23
| | | | | | | | | | | | | | | | | | When an HDCP interrupt is received while the HDCP session is inactive, ensure that the interrupt it acknowledged and cleared to avoid any potential interrupt storms. Change-Id: Id297cb9a7d08a094727c966cf48966a6a37bb1f0 Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
* | msm: mdss: Support post processing blocks address accessDhaval Patel2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Support MDP address read/write for post processing blocks like PA, ARGC, PCC, IGC, dither, etc on all dspps, layer mixers and source pipes for display calibration tool. It checks the post processing blocks address ranges against the base address provided in mdss dtsi. Change-Id: Ief0ae097c542e4372d5690b5b8ca94530da54cba Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
* | msm: mdss: Support Assertive Display merged modeCarl Vanderlip2016-03-23
| | | | | | | | | | | | | | | | Add support for merged mode in Assertive Display to be used when MDSS is configured in dual pipe mode. Add specification of slave hw for clarity. Change-Id: Ia3f15c36ab79120867f9cf186414783e15e53191 Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
* | msm: mdss: Define number of concurrent Assertive Display HWCarl Vanderlip2016-03-23
| | | | | | | | | | | | | | | | Define the maximum number of Assertive Display (AD) hardware blocks per display. Change-Id: I458400d361be7c58491d9bc44c30580e5405fb96 Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
* | msm: mdss: Define master Assertive Display hardwareCarl Vanderlip2016-03-23
| | | | | | | | | | | | | | | | Store and use the index of "master" hardware block for Assertive Display calculations. Useful in implementation of dual pipe AD. Change-Id: I748e88da3b4c5b05d418d152510b066a99137479 Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
* | msm: mdss: Move evaluation of Assertive Display state machineCarl Vanderlip2016-03-23
| | | | | | | | | | | | | | | | | | | | Move the Assertive Display (AD) state machine to a location where it is evaluated once per frame instead of current location where it is evaluated once per frame per DSPP. This change is beneficial in the support of dual pipe cases of AD. Change-Id: I2c6e17b92505c4cce13caeca0568f85d3c3337fa Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
* | msm: mdss: Relocate Assertive Display register accessCarl Vanderlip2016-03-23
| | | | | | | | | | | | | | | | | | Move the register writes for Assertive Display (AD) into the dspp_setup function. This separates the state of AD from the configuration of the hardware and adds to the implementation of dual pipe AD feature. Change-Id: I9f21f9461b3d4ae3c29ad52e17ad33d8e6e4b904 Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
* | msm: mdss: Correction in cyclical reading of histogram binsKrishna Chaitanya Parimi2016-03-23
| | | | | | | | | | | | | | | | The iteration condition in loop for reading histogram bin has an error. We are essentially missing out on the value of one bin. Change-Id: I713ad6c580374173b38cd1a1f4f8120f55cf1452 Signed-off-by: Krishna Chaitanya Parimi <cparimi@codeaurora.org>
* | msm: mdss: Change wait_for_completion to timeout in MDSS DSI driverPadmanabhan Komanduru2016-03-23
| | | | | | | | | | | | | | | | | | In mdss_dsi_cmd_mdp_busy function in MDSS DSI driver, change the wait_for_completion to timeout variant. This avoids watchdog resets during stability tests. Change-Id: Ia85a5f61300e59382ae8dcf2ca67b5d7285a98e7 Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
* | msm: mdss: Turn off backlight while power offShuo Yan2016-03-23
| | | | | | | | | | | | | | | | Turn off the backlight while system power off as it could show white flicker depending on the panel. Change-Id: I282b7f7e716e09ed7700bcfe3941ca4c880c604f Signed-off-by: Shuo Yan <shuoy@codeaurora.org>
* | msm: mdss: Fix MDP hang issue for H2V1 interleaved formatsUjwal Patel2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | MDSS HW with decimation block present, uses two SMP clients, Y and UV, regardless of YUV surface is interleaved or planar. Current code takes care of planar format but not interleave YUV. Fix this by temporarily converting those formats to pseudo-planar while calculating SMP requirements. CRs-Fixed: 568011 Change-Id: I917f7dfd848144bcc4a6c463cd20fb302c432cc5 Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
* | msm: mdss: Separate AD info from AD hardware base addressCarl Vanderlip2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Splitting the AD info struct, which is used primarily to store state, from the hardware blocks. Functionality is preserved by passing the structures containing hardware information to the functions that execute the register writes. This change is necessary for dual pipe operation where one AD state machine controls more than one AD hardware block. Change-Id: Ia0d8be6b70d121095df2bbaa102b7dedd26f2302 Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
* | mdss: dsi: Resolving memory leak in parse dsi commandsKrishna Chaitanya Parimi2016-03-23
| | | | | | | | | | | | | | | | Free buf variable before exiting function in error cases in order to avoid possible memory leaks. Change-Id: I8ebc3f0f3f40be85e312f9646374a074f1414bdb Signed-off-by: Krishna Chaitanya Parimi <cparimi@codeaurora.org>
* | msm: mdss: Control histogram intr and clk in suspend casesCarl Vanderlip2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | Histogram interrupts, and clocks used to handle interrupts, need to be enabled in sync with histogram requests. To ensure that these interrupts and clocks are disabled when screen is suspended or not updating, a control structure is introduced that allows for these resources to be gated by specifying transitions from when they should and should not be active. CRs-Fixed: 568049 Change-Id: I77a50085ee38de597092c273c7ce9974c7bb29c3 Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
* | mdss: support for solid fill with color specified by HALShivaraj Shetty2016-03-23
| | | | | | | | | | | | | | | | This patch provides the support for filling the frame buffer with any color specified by the HAL. Change-Id: I9414764f858e309d35967430ef4e6f83d5e42e3e Signed-off-by: Shivaraj Shetty <shivaraj@codeaurora.org>
* | mdss: mdp3 driver support for solid fillShivaraj Shetty2016-03-23
| | | | | | | | | | | | | | | | This patch adds the support for solid fill from the driver side. With this support mdp hw can be used for clearing the buffer. Change-Id: I55da06a8343cd11eeeee361a738c4d72c944fc73 Signed-off-by: Shivaraj Shetty <shivaraj@codeaurora.org>
* | msm: mdss: Fix NULL pointer deference in mdss_mdp_overlay_handle_vsyncJayant Shekhar2016-03-23
| | | | | | | | | | | | | | | | | | Add NULL pointer checks to avoid NULL pointer dereference resulting in kernel panic. CRs-Fixed: 573022 Change-Id: Ib7fd1bb75553441c1100a1c2d0cf1ae56108c125 Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
* | mdp: mdss: Tune bandwidth and clock based on ROIJeykumar Sankaran2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | Calculate bandwidth and MDP clock requirement considering the ROI submitted for a frame. When doing partial frame update for smart panels, the data actually fetched for a pipe is not always the full resolution of the buffer programmed. Use the ROI passed to find out the region of fetching and calculate the bandwidth and clock values accordingly. Change-Id: I01f24f8fd9a42a2c4d705b8eb0a7658e79884175 Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
* | msm: mdss: Sanitize input to writeback kickoffSree Sesha Aravind Vadrevu2016-03-23
| | | | | | | | | | | | | | | | | | | | The input frame buffer structure needs to be sanity checked for the presence of ctl. It avoids initiating kickoff sequence with an unattached ctl which can lead to a kernel panic. CRs-fixed: 566720 Change-Id: I4b5cb7983092853aa2286bddee051a5e250e3744 Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
* | msm: mdss: fix the wrong register for the dma pipe on 8x10Xiaoming Zhou2016-03-23
| | | | | | | | | | | | | | | | | | | | During the LK to kernel transition, the driver checks the frame buffer address configured to make sure it matches with the kernel reserved address. The frame buffer address should be read from the dma-p pipe, instead of dma-s pipe. Change-Id: Ic7c31d3166718ced2d2fb0c0591b2a2797e4e8d4 Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
* | msm: mdss: set brightness to min_bl if brightness is less than min_bl.Shuo Yan2016-03-23
| | | | | | | | | | | | | | | | | | Some backlight controllers specify a minimum duty cycle for the backlight brightness. If the brightness is less than it, the controller can malfunction. Change-Id: Ib0aadb207e224684d7bcbb9c346a909f10e0d6ae Signed-off-by: Shuo Yan <shuoy@codeaurora.org>
* | msm: mdp3: move mdp_overlay variable from stack to heapTerence Hampson2016-03-23
| | | | | | | | | | | | | | | | | | | | | | We are moving struct mdp_overlay variable from stack to heap since mdp_overlay size increase significantly recently. There was a warning from compiler saying that frame size is larger than 1024 bytes, which is resolved with this patch. Similar change is present in mdss code. Change-Id: Ib19fb63596f095a5a6b2be9b10b5eeb04542449f Signed-off-by: Terence Hampson <thampson@codeaurora.org>
* | msm: mdss: Replace enums with strings in panel dtsiCasey Piper2016-03-23
| | | | | | | | | | | | | | | | | | | | To make dtsi files more readable, enums or u32 values that referred to strings in the panel dtsi files are replaced by strings. Change-Id: I516358c7027fe9ed05541b56c2de47280a23baab CRs-Fixed: 511801 Signed-off-by: Casey Piper <cpiper@codeaurora.org>
* | msm: mdss: do not shut down edp link during link trainingKuogee Hsieh2016-03-23
| | | | | | | | | | | | | | | | | | Use locks to prevent shutting down edp link at panel off if link training is ongoing, since EDP Link training requires that link is in running state. Change-Id: I79715675f0a919815dfc60689215f4771400b28a Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
* | msm: mdss: Avoid variable overloadingShalabh Jain2016-03-23
| | | | | | | | | | | | | | | | | | | | A particular variable is overloaded and used in 2 different contexts. This causes overwriting of original value and leads to incorrect error handling. This code adds a new variable to avoid such condition. Change-Id: Ibd040e6b4ce95759cc0011304940365c70e6c12a Signed-off-by: Shalabh Jain <shalabhj@codeaurora.org>
* | msm: mdss: hdmi: Proper length check for EDID data blockAjay Singh Parmar2016-03-23
| | | | | | | | | | | | | | | | | | Check for the invalid length of EDID (Extended Display Identification Data) data blocks while parsing the blocks. For a valid data block, length should not be zero or should not exceed max size. Change-Id: I4e83b07689d2c3161048efabbad35a0ad00e371a Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
* | msm: mdss: Fix debugfs string overwriteUjwal Patel2016-03-23
| | | | | | | | | | | | | | | | | | If more than one display paths are active, like split display or external mirroring, and stat debugfs node is read then debug data for only one display is shown. Fix this by using correct offsets. Change-Id: Ia8b36eb3105f6df8f096ff544b82cc49c9b31a48 Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
* | msm: mdss: send frame events on polling modeAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Due to potential heavy load in the system, in some cases the system may fall into polling mode for vsyncs if interrupts are not happening fast enough. In such cases frame events should still be sent so that sync fences are properly released. Change-Id: I41903540921e9b4e9c79de3ad0b6c11c20b30520 CRs-Fixed: 569334 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: Prevent NULL pointer accessShalabh Jain2016-03-23
| | | | | | | | | | | | | | | | | | Current code has scope of dereferencing an already NULL variable. Implementing proper error handling for NULL variable. Change-Id: Iba46e676ce42adc286f907e72300786d3391a9a9 Signed-off-by: Shalabh Jain <shalabhj@codeaurora.org>
* | msm: mdss: error handling in the dsi driver on 8x10Xiaoming Zhou2016-03-23
| | | | | | | | | | | | | | | | This adds the error handling in the dsi command send and receive functions. Change-Id: I69d77a6f1981a286864e7076aee079776ed53a85 Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
* | msm: mdss: Check ctl in mdss_mdp_mixer_get before usingPawan Kumar2016-03-23
| | | | | | | | | | | | | | Put NULL check for ctl before using in mdss_mdp_mixer_get. Change-Id: Ia1bc035df46c9e237c244623e61a6802cf0d9110 Signed-off-by: Pawan Kumar <pavaku@codeaurora.org>
* | msm: mdss: Add error handling in mdss_fb_no_update_notify_timer_cbJayant Shekhar2016-03-23
| | | | | | | | | | | | | | | | Return in case mfd is NULL to avoid NULL pointer dereference. CRs-Fixed: 563125 Change-Id: I82415ed5f1f7b3d27796e9e3a0c96178aa54bdc5 Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
* | msm: mdss: Add support to get/set secure flag via an ioctlTatenda Chipeperekwa2016-03-23
| | | | | | | | | | | | | | | | | | | | Add support to get/set secure flag for WB session through an ioctl. This is required for WB clients such as AD/WFD, enabling them to modify or query the secure flag depending on requirements e.g. secure video playback when using AD. Change-Id: I852b6f79b31b5ba027d9a5c11561c562023cb99f Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
* | mdss: fb: Unblock blit ioctl calls when commit is occuringTerence Hampson2016-03-23
| | | | | | | | | | | | | | | | Since BLIT calls have no effect on the frame being commited it does not need to block in pan_idle. Change-Id: Ic0cfa7c0c275ddc051b60ff8823fcd7299cb8b57 Signed-off-by: Terence Hampson <thampson@codeaurora.org>
* | mdss: Display related changes commit belowKumar Gala2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While merging to 3.14 kernel this is only display related changes for commit below Change ID:I8e53b1fd96ad26711fae59f081a8892f8bb184b7 msm: remove include of <asm/mach-types.h> and <asm/system.h> Upstream has removed <asm/system.h> so remove it from legacy uses. As all the platforms we support utilize device tree we no longer need to include <asm/mach-types.h>. Change-Id: I8e3838337957535661db8f3e5fb7aca2bdd8546b Signed-off-by: Kumar Gala <galak@codeaurora.org>
* | msm: mdss: hdmi: Avoid unnecessary BCAPS readAjay Singh Parmar2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | Don't read BCAPS (downstream device's capability register) in second part of authentication to check if the attached downstream device is a repeater or not. BCAPS register is already read in first part of authentication. Reuse it's value for this purpose. This avoids any unnecessary delays and possible arbitration for DDC line between hardware (for third part of authentication) and software which sometimes results in HDCP compliance 1A-07 failure or not judged. Change-Id: I19a95e029aa31168382926f7d43920e6e24a917b Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>