summaryrefslogtreecommitdiff
path: root/drivers/video/fbdev (follow)
Commit message (Collapse)AuthorAge
...
* | msm: mdss: Fix dither matrix configurationDhaval Patel2016-03-23
| | | | | | | | | | | | | | Configure entry 0 to entry 15 in dither matrix. Change-Id: I1259c121e84078325e54d952cbd2671031df2978 Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
* | msm: mdss: Check DSI controller status periodicallyDhaval Patel2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Send Bus-Turn-Around (BTA) command to check DSI controller status periodically and check the response from controller. Update appropriate response in frame buffer status node if controller is not responding. Sending BTA command is useful for the video/command mode panels when it stops responding during ESD stability tests. Change-Id: Ic8710943c0d56ea013af9ee6d378dabdda75d8f0 Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org> [cip@codeaurora.org: Moved mdss_dsi_status.c file location] Signed-off-by: Clarence Ip <cip@codeaurora.org>
* | msm: mdss: Add BTA status check API in DSI controllerDhaval Patel2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Add Bus-Turn-Around (BTA) status check API in DSI controller to check if it is alive or not. Subscriber of this API should send relevant notification to user space for correct action. Update fb driver and cmd interface to support the BTA failure scenario. Change-Id: Ic78379b31a48278282182fdba6ba7b2e6f9c26d5 Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
* | msm: mdss: Program phase factors for QSEED in Dual display modeSree Sesha Aravind Vadrevu2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | When scaling is involved during video playback for dual display high resolution panels, the scaling factors such as phase step and initial phase need to be programmed to avoid mismatched textures and hardware hangs. Also, software pixel extension needs to be enabled. The data is received from user module through OVERLAY_SET. This feature is only enabled for YUV formats in VIG pipes. Change-Id: Id6ed3fd3ee6af7383ef152400789decef7302db2 Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
* | mdp: mdss: Honor ROI only for interface mixersJeykumar Sankaran2016-03-23
| | | | | | | | | | | | | | | | | | When partial update is enabled and we have a valid ROI, crop source and destination rectangles against ROI only those pipes configured for interface mixers. Change-Id: I75111998a43f796f9315b25709e78a568fb1ec0c Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
* | msm: mdss: update for error loggingXiaoming Zhou2016-03-23
| | | | | | | | | | | | | | Use pr_err instead of pr_debug for DSI error status logging. Change-Id: I9f2a21ada466681844f3c7d3e5a6545126ecba2b Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
* | msm: mdss: Fix CSC programming for VIG3 pipeUjwal Patel2016-03-23
| | | | | | | | | | | | | | | | | | | | | | CSC programming assumes that pipe numbers are symmetric for same type. This assumption is not valid with APQ8084 and leads to skipping of CSC programming for VIG3 pipe. Fix this by using helper APIs to find out if pipe is VIG or not rather than directly manipulating data structures. Change-Id: I130ee3994d1f5c5a96e644f8095c75d2189fbdda Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
* | msm: mdss: hdmi: Proper DDC power off sequenceAjay Singh Parmar2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | Shutdown the power for DDC (Display Data Channel) module only after HDCP (High-bandwidth Digital content Protection) module has been turned off as HDCP continue to use DDC line until it is turned off. Also, no need to check for DDC hardware status on HDCP off as once the cable is disconnected it will not be updated. Change-Id: Ic5b8c2d6c4a43bf7d0ed0d420690b7e84bbe3b6c Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
* | msm: mdss: Call wait4comp after commit for wb intfDhaval Patel2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Writeback path uses the comp event allocated on stack to wait for ISR done. It crashes if ISR tries to set the comp event after kickoff thread timeout. This change removes the comp event usage for writeback interface and starts to use the wait4comp API like video/command mode interfaces. CRs-fixed: 555036 Change-Id: I74994a0cbe4039c6d3d4a51d573d343751182bff Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
* | msm: mdss: Enable dynamic clock gating for MDSS AHB clockShalabh Jain2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | On APQ8084, currently AHB clock is always on from device tree settings. With this change, it will be enabled if BWC decode is enabled and source dimensions are changed. Since the source dimensions are double buffered, the MDP AHB clock will have to be forced on before writing to the source dimension registers and then the force on turned off after the changes have been applied (i.e. next vsync). Change-Id: Ie3e73217bf184a128a4cf677688fdc4019ae44d5 Signed-off-by: Shalabh Jain <shalabhj@codeaurora.org>
* | msm: mdss: Fix race condition during device shutdownUjwal Patel2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | During device shutdown or restart, two separate contexts can call mdss_fb_release. One system shutdown/restart thread which calls shutdown routine registered through device driver. Other closing of frame buffer devices from user processes. Fix race condition between these two contexts by using proper locking mechanism and releasing all the resources. Change-Id: I583b0f1273d984215e276daf3b6307f3b6e9e8c6 Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
* | msm: mdss: allow meta data to be retrieved in display off stateXiaoming Zhou2016-03-23
| | | | | | | | | | | | | | | | This is to allow client to retrieve display meta data information even while the display is turned off. Change-Id: Id5c3a3ebac9039a8ff045eb662683962e16e46bd Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
* | msm: mdss: restructure rotator code and add mutex for rotator apiHuaibin Yang2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | The rotator data structure should be maintained in the rotator file and rotator api calls should be following current ioctls, namely, rotator_setup follows overlay_set, rotator_play follows overlay_play, and rotator_unset follows overlay_unset. In this way, rotator code is modulized and data is isolated easily by adding proper locking. CRs-fixed: 563019 Change-Id: I3aa0db57d65cf9ae88c7e7cbccb3fa73a25e5902 Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
* | msm: mdss: fb: null check mfd dataManoj Rao2016-03-23
| | | | | | | | | | | | | | | | | | | | Add appropriate null check for mfd data structure before accessing it's members. This prevents null pointer accesses in the driver. Change-Id: Id301d4a90c9a52049944c7e3b31aa1a34ad292d7 CRs-Fixed: 526286 Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
* | msm: mdss: fb: Copy & send unsigned value for notify updateKrishna Chaitanya Parimi2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | Copy unsigned long from userspace and modify the data fields before copying back unsigned long data to userspace. This keeps the datatypes of all operands homogeneous without data leaks from kernel to user land. CRs-Fixed: 526286 Change-Id: Ie4673563170c3459019dd6a5f1f55376f6e560c7 Signed-off-by: Krishna Chaitanya Parimi <cparimi@codeaurora.org> Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
* | mdss: Fix null point dereference in mdss_mdp_pp_initKrishna Chaitanya Parimi2016-03-23
| | | | | | | | | | | | | | | | Fixed null point dereference in case of memory allocation failure in mdss_mdp_pp_init. Change-Id: I3593a583da355915b731ac30b1f38aaa010eba85 Signed-off-by: Krishna Chaitanya Parimi <cparimi@codeaurora.org>
* | msm: mdss: expose MDP capabilities through sysfs on 8x10Xiaoming Zhou2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Currently, MDP capabilities are exposed to the client via a dedicated ioctl. As more capabilities are added, it becomes difficult to have to extend and maintain header file compatibility. This change is to add a sysfs node which can be used to get the MDP capabilities. Change-Id: I9eb2e5546f708eb3f46c61f9abe4f25f23cd64aa Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
* | msm: mdss: hdmi: HDMI cable connection status and voteAjay Singh Parmar2016-03-23
| | | | | | | | | | | | | | | | | | | | Add HDMI cable connection status functionality to be used by audio driver before starting the audio session and vote for hdmi tx core to remain power on until the audio has completed its processing. Change-Id: I35d1bafff472da19e04aa44f4ac91b1c3c0349e1 Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
* | msm: mdss: Balance clock requests in histogram enableCarl Vanderlip2016-03-23
| | | | | | | | | | | | | | | | Balance the clock requests in histogram enable to prevent clocks from being left on. Change-Id: I45fc029049b68cceb56d0dc40f7819aca0625a58 Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
* | msm: mdss: Fix under run on HDMI on adb shell stopPawan Kumar2016-03-23
| | | | | | | | | | | | | | | | | | Wait for at least one vsync on HDMI interface for proper TG OFF. Calculate wait time based on hdmi refresh rate. Change-Id: Ia935886ba4cce9cf8d6ce994143b07060f648620 Signed-off-by: Pawan Kumar <pavaku@codeaurora.org>
* | msm: mdss: hdmi: Add MHL handshakeAjay Singh Parmar2016-03-23
| | | | | | | | | | | | | | | | | | | | Add HPD (Hot Plug Detect) on/off and HPD line high or low pull handshake between MHL (Mobile High-Definition Link) and HDMI so that both the drivers are in sync on cable connect and disconnect. Change-Id: Ia3264983ba3b81c499e287fa6922e1511bdf65a7 Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
* | mdss: dsi_v2: remove second call to msm_dsi_cmd_dma_txTerence Hampson2016-03-23
| | | | | | | | | | | | | | There should only be one call to msm_dsi_cmd_dma_tx. Change-Id: I5af937d029c6eabdda406f69d12f06f68354078c Signed-off-by: Terence Hampson <thampson@codeaurora.org>
* | msm: mdss: Add support for backlight gpioMohan Pallaka2016-03-23
| | | | | | | | | | | | | | | | Backlight gpio is used to support display backlight. Parse the gpio from dts and request. Change-Id: I776373029e96526710406f6820472ad9319952c7 Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
* | msm: mdss: Fix rgb_565 format for 90 degree rotationPawan Kumar2016-03-23
| | | | | | | | | | | | | | | | | | Make rotator output format for rgb_565 and bgr_565 as rgb_888 for 90 degree rotation as expected by MDSS. Change-Id: I0865b5688fa662d1e88d1efebef26a38d4abfd61 Signed-off-by: Pawan Kumar <pavaku@codeaurora.org>
* | msm: mdss: increase display commit thread priorityAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | In order to provide faster updates to panel, increase the priority of display thread to reduce latency of display updates. Change-Id: Iaf0824fdd44c0177c30f14fae0dc8dd96abc4a11 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: keep mdp clk on during overlay kick offAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | This will reduce the delay caused by turning on/off mdp clk multiple times during kickoff. Currently during kickoff, mdp pipe registers and flush registers are programmed each with mdp clk on/off. We only need turn mdp clk on/off once to program those registers. Increase scope of mdp clock vote to keep them on during the entire programming sequence. Change-Id: I5270c5e7aeef2f16c6a64d56827a73a8cb380fc5 Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org> Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: push wait for fences and ping pong done as late as possibleAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | | | | | All the configuration up until MDP flush is double buffered. This means we are able to do all hardware programming without settings taking effect until flush happens. Perform all programming, wait for fences and wait for previous frame is done just before the flush in order to reduce the time between last frame done and kickoff of next one. Change-Id: I1fd0c7a65309a3b148c8efef61819bfe9a248f29 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: allow asynchronous acquire fence waitsAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Add optional flag to allow MDP driver to asynchronously wait for fences instead of doing it at beginning of every commit. This allows the wait to happen much later in the programming sequence so that, we can use that time to do everything that is needed and have a smaller window between the wait for fences and the next frame update. Change-Id: Ib4f7601ed22670ba235ba86fe3389a5d54d685a9 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: remove pan_idle from vsync controlNaseer Ahmed2016-03-23
| | | | | | | | | | | | | | | | | | Do not wait for previous commit to complete when enabling/disabling vsync. Change-Id: I61bca8a1447964a746d9efced1e3e3b8dc3969ac Signed-off-by: Naseer Ahmed <naseer@codeaurora.org> Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: unregister command mode vsync handlers on stopAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | | | When command mode panel is being stopped, any vsync handlers that are still pending should be removed before shutdown sequence. If this is done afterwards VSYNC_TICKS update may cause the clock to continue running after clocks have been shutdown and may lead to MDP hang. Change-Id: I149390413326b21ddf608e7fe5a31b3a57abe50b Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: implement asynchronous frame eventsAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | Asynchronous frame events from MDP allows commit thread to be unblocked once the frame contents have been flushed to MDP HW and new frame can be programmed while waiting for DMA transfer to complete. Change-Id: Ica878f9d06ab0cc5260ad412815dcbd8ae391767 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: implement frame events notificationAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Allow for async frame events notifications to be done when frames are flushed (new frame can be programmed) and frame is done (new frame can be displayed). This allows the sync fences to be signaled in a separate context from the display thread so that more commits can be queued. This leads to better performance. Change-Id: I0952f3f0ea9273a92c74fa42cd3ca9c6f9d042f3 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: implement display thread to handle commitsAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Refactor sync point implementation by using a commit thread to handle all commits for better performance. Make use of commit count to synchronize the release fences with the right point in the timeline. Keep a separate commits pending variable to be able to queue multiple commits as well. Change-Id: I1303c49f2c56eb5b9a34c162a1896670d307a674 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: Implement overlay handoff for continuous splash screenAravind Venkateswaran2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to support a smooth and seemless transition from the splash screen to the boot animation, MDP needs to handoff all the hardware ctl, mixers and pipes that were staged by the bootloader. Implement this functionality by populating the MDP software structure to reflect the state of the hardware at probe time. This removes the the need to turn off the MDP timing generator when transitioning to the boot animation and reduces this delay to just one frame. Change-Id: I607e7b8af3e477ad960497548e8617ceb9cfbdfd CRs-Fixed: 546447 Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
* | msm: mdss: Add NULL pointer checks in mdss_mdp_wb_set_secureJayant Shekhar2016-03-23
| | | | | | | | | | | | | | | | | | Null pointer dereference can cause kernel panic, hence add checks to avoid them. CRs-Fixed: 553552 Change-Id: Ia854d7b65a5cf6a0fa214c34e658ea0f1380ac2c Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
* | Revert "msm: mdss: Implement overlay handoff for continuous splash screen"Aravind Venkateswaran2016-03-23
| | | | | | | | | | | | | | | | This reverts commit f0d44a2e2f084613eb533d1846da582459950a82 as this results in device not resuming after going to suspend state. Change-Id: If9c83747a04579a7d8f40f194bb81af5e62f18e0 Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
* | msm: mdss: remove obsolete method of mixer register read/writesUjwal Patel2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Starting apq8084, mixer offsets have changed compared to previous chip-sets. Some of the code is still using old method of reading and writing to mixer registers which leads to incorrect hw programming. Replace these mixer register read/writes with working method. CRs-Fixed: 564273 Change-Id: I2aa1c5d24c6a1c5b89f77bd8d450c0831dd720b7 Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
* | msm: mdss: reset ctl interface during video stopSree Sesha Aravind Vadrevu2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Interface ctl needs to be reset by software during video stop to prevent hardware's state machine from going into bad state. One usecase that causes this to happen is when HDMI interface is disconnected during video playback and reconnected with left and right mixers swapped for the 3D muxing. Change-Id: Ib62e39a8399a4e43c3e44f3ab5e0ad0acd5d77a0 Signed-off-by: Sree Sesha Aravind Vadrevu <svadrevu@codeaurora.org>
* | msm: mdss: move mdss fudge factors to device-treeUjwal Patel2016-03-23
| | | | | | | | | | | | | | | | | | | | MDSS has a common driver for multiple chip-sets. Each of these chip-sets can have their own fudge factors for calculations of resource demand. Move these pre-defined fudge factors to device-tree since they are platform dependent. Change-Id: Ia558a2ad0a096b49cdabf41dd25cf30c843149c4 Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
* | mdss: mdp3: request and release clocks for every mdp operationXiaoming Zhou2016-03-23
| | | | | | | | | | | | | | | | | | | | In the command mode panel, all the clocks can be voted off if there is no display update. To support this feature, every operation which requires h/w access will be guarded with clock vote on and off. Change-Id: If56a656b9965a6044c38de5aa85969256d581121 Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
* | msm: mdss: fix MDP color format offsetsEugene Yasman2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Color offsets are used by some X11 environments to properly set/get the color format. This change fixes the offsets to represent the color formats correctly. Change-Id: I5068897f18e1d119a9bb7f1fe59f9b662153e1b0 Signed-off-by: Eugene Yasman <eyasman@codeaurora.org>
* | msm: mdss: Set rotator output format as pseudo planar 420Pawan Kumar2016-03-23
| | | | | | | | | | | | | | | | | | | | Set rotator output format for planar 420 as pseudo planar 420. Configure BWC output format as MDP_Y_CRCB_H2V2 when input color format is MDP_Y_CBCR_H2V2. CRs-Fixed: 549326 Change-Id: I9c39ab3d8a867909853ffd6ecc2120ab160914d1 Signed-off-by: Pawan Kumar <pavaku@codeaurora.org>
* | msm: mdss: fix the dma-s register offset on 8x10Xiaoming Zhou2016-03-23
| | | | | | | | | | | | | | The register offset for DMA-S pipe was incorrect. Change-Id: I2ab3ad83371b399cd7c625948198b3f397866750 Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
* | msm: mdss: Implement overlay handoff for continuous splash screenAravind Venkateswaran2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | In order to support a smooth and seemless transition from the splash screen to the boot animation, MDP needs to handoff all the hardware ctl, mixers and pipes that were staged by the bootloader. Implement this functionality by populating the MDP software structure to reflect the state of the hardware at probe time. This removes the the need to turn off the MDP timing generator when transitioning to the boot animation and reduces this delay to just one frame. Change-Id: I48f733cfaa3112eb6995e2fc70577f9defaf4600 Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
* | msm: mdss: Do not program DSI PLL registers from DSI controllerAravind Venkateswaran2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | MDSS DSI driver currently programs certain DSI PLL registers as part of the DSI PHY off sequence. This is incorrect and could lead to some unexpected errors such as DSI PLL getting turned off while the branch clocks are still on. Fix this by removing all such register programming. Change-Id: Ie1e88cd18de6b8ef8804f7a2b34b8b8282166c96 CRs-Fixed: 509801 Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
* | msm: mdss: For video mode enable cmd mode while dsi read commandsShivaraj Shetty2016-03-23
| | | | | | | | | | | | | | | | Before reading any data from the panel we need to enable command mode for dsi controller to avoid timeouts. Change-Id: I9c9c03662bf7f19c6a4567be353d158cead03599 Signed-off-by: Shivaraj Shetty <shivaraj@codeaurora.org>
* | msm: mdss: Fix DSI event handler for dynamic FPS configurationAravind Venkateswaran2016-03-23
| | | | | | | | | | | | | | | | | | | | Commit 1c3fce18 introduced a bug which resulted in the dynamic fps configuration function being called in response to the command list kickoff event. This results in incorrect failure logs getting printed whenever DSI operates in command mode. Change-Id: I57359f624c2d6ddaa1a4c2fd7a5946ce9112ca16 Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
* | mdss: display: support dcs read with length more than 8 bytesKuogee Hsieh2016-03-23
| | | | | | | | | | | | | | | | | | Add multiple reads per transaction to support dcs read with length more than 8 bytes. CRs-Fixed: 525839 Change-Id: I06afa826f941f88c3fe6e2f799c10d12e01708fb Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
* | Revert "msm: mdss:set brightness to min_bl if brightness is less than min_bl."Carl Vanderlip2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Backlight should not be limited to be above a minimum level in the backlight scale function. Nor should it be limited for all backlight drivers (should be implemented in the culprit panel's set_backlight func). This reverts commit 2e5776fdb8acd50ad84752df0c6e0debf42cdf5d Change-Id: Idcbf26eb3babb2a29964b9c7fb8e95aa31a8c5b8 Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
* | mdss: ppp: Fix arithmetic errorTerence Hampson2016-03-23
| | | | | | | | | | | | | | | | Width was not calculated properly. This would cause ppp to go into bad state and hang. Change-Id: Ie70db84802d668ea169cbb42025cb3e5aab230da Signed-off-by: Terence Hampson <thampson@codeaurora.org>