summaryrefslogtreecommitdiff
path: root/drivers/video/fbdev (follow)
Commit message (Collapse)AuthorAge
...
* | msm: mdss: fix rotator session not being closed correctlyAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | User space expects non-negative number as session id, update rotator mask to avoid making rotator session as negative. When rotator is closed, need to recalculate bus/mdp clock numbers. Change-Id: I6c0e3bfa5394fb64b78fb47be1f24462e320916d Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: update performance calculations to include border colorAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Current clock and bus scaling calculations consider only source surface pipes to set clock rate and bus scaling factor, however since MDP also generates pixels for border color this area also needs to be considered for final clock and bus scaling factors for data paths that use layer mixer. Change-Id: I9463c01dfd0b7a301797bd036f563e15d5195dbd Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: move unstaging of overlay surfaces to display commitAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Perform cleanup of surfaces destroyed with overlay unset until next display update. This enables a smooth transition in case multiple surfaces are unset before next frame update. CRs-Fixed: 406645 CRs-Fixed: 406553 Change-Id: I843c7f11fc943d8351b7408116101ba20f25d116 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: remove display commit during overlay playAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | All display commits happen with pan display in order to have a single sync point when using multiple pipes, and avoid blinks that can happen when updating surfaces out of sync. Exception for this case is writeback where commit is still needed, keep this implementation until this exception is corrected from user space applications. CRs-Fixed: 408105 Change-Id: Ib40c4872f43e6a939c45624677b2ab1f64a3b31e Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: implement commit ioctl for display commitAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | Commit ioctl is used to update contents on display while avoiding console_lock done through framebuffer pan_display path, which causes additional delay on display pipeline leading to flickers on HDMI. Change-Id: Id3522d322ba08b110d540e10214cadfbbb0bcc25 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: carve out memory for framebufferAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | Use carved out memory allocated exclusively for framebuffer instead of using up memory from ion pool. Change-Id: I4b248a21380a3ef737fe2fd8eed6de9747fe47c7 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: remove pan display no memory warningAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | There are some framebuffer devices that don't allocate any memory such as HDMI or WFD, warning for no memory is not necessary and it just floods kernel log hence removing it. Change-Id: I8f9ba1cda1f55c741b99d462adf74531d73aaeee Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: allow dynamic resolution changeAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | Modify initialization function to take changes in input paramaters including resolution and format instead of doing a one time initialization. Change-Id: I01c575fd1d957218296e658b3b4b8d72cd138614 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: remove play_cnt reset in overlay setAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | | | play_cnt is used to manage currently displayed buffer, this value is incremental and should be initialized only once for new pipe creation, but overlay set can be called after pipe creation to change params. Remove reset of play_cnt to avoid reset on subsequent overlay set calls. Change-Id: Idef90a6123c4e1a9e8b1ab963bf78330cdd912bf Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: use half of panel width when using dual pipeAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | | | MDP layer mixer only supports up to 2048 width, if the panel resolution is greater than this dual mixer needs to be used. Setup each mixer width as half the panel width instead of allocating max width on left mixer and use left over for right mixer to have better load balancing. Change-Id: Ibc01591e2e6d5e5f98e81dfba766493abd9895a5 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: disable framebuffer memory check when not allocatedAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | HDMI and WFD don't allocate any memory for framebuffer, in this case there is no need to check for available framebuffer memory. Change-Id: Id3fc6279e1b2a5d4b96d3b85e29ba6865a4dd38f Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: fix height align for venus formatAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | Venus format expects luma height to be aligned to 32. Change-Id: I1ccd5ddb91d1067a68b576891ddf4d73360108ba Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm_fb: mdss: Fix dsi controller reset sequence during dsi initializationChandan Uddaraju2016-03-23
| | | | | | | | | | | | | | | | | | Move the dsi_sw_reset from panel ON sequence to controller initialization function. Enable clock lanes and disable controller before doing reset. Change-Id: I570615a931214021360070cd1cfea4ed3b6812d5 Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
* | msm: mdss: Enable hpd for HDMI Tx controllerUjwal Patel2016-03-23
| | | | | | | | | | | | | | | | Enable hot-plug detect circuit of HDMI Tx controller to sense connect and disconnect events of HDMI cable. Change-Id: I4e5614d32f5c9885f23060d68ad5b6a72a045177 Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
* | msm: mdss: Fix EDID read failures in HDMI Tx controllerUjwal Patel2016-03-23
| | | | | | | | | | | | | | | | | | DDC data channel is used to read HDMI sink's EDID information. Fix the request length for this read transactions to prevent EDID read failures. Change-Id: I74b2ce344cdd08721a78641a7553c85927a96831 Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
* | msm: mdss: HDMI Tx clock clean-up.Ujwal Patel2016-03-23
| | | | | | | | | | | | | | | | | | Generalize and move HDMI Tx controller's clock access mechanism to mdss_io_util so that other mdss modules can reuse it. Also correct the name of iface clocks. Change-Id: If0ed2c4244a9a0fcdb819f63010555d968a0b036 Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
* | msm: mdss: Debug enhancement for mdss modulesUjwal Patel2016-03-23
| | | | | | | | | | | | | | | | Move debug log macros to mdss_io_util so that all mdss modules can use the same mechanism. Change-Id: I960fc394c60b74d694a81ad636b7055a224a2c6f Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
* | msm: mdss: Provide generic io access mechanism to all mdss modulesUjwal Patel2016-03-23
| | | | | | | | | | | | | | | | Generalize and move HDMI Tx controller's io access mechanism to mdss_io_util so that other mdss modules can reuse it. Change-Id: I097af956706dcbf2e9fa1f6b5983a550a462fed1 Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
* | msm_fb: mdss: Remove spinlocks for set_rate and clk_enable APIsChandan Uddaraju2016-03-23
| | | | | | | | | | | | | | | | | | The clk_set_rate APIs should not be called in atomic context. clk_enable APIs doesn't need to be in atomic context. Add code to remove spinlocks for these clock APIs. Change-Id: If5e543135bda681ee8ddae35ab91288f535a9e9a Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
* | msm: display: pp: histogram collection for mdssKen Zhang2016-03-23
| | | | | | | | | | | | | | | | | | | | MSMFB_HISTOGRAM_START, MSMFB_HISTOGRAM_STOP and MSMFB_HISTOGRAM support Only read the histogram data when there is a new display commit Only generate the next histogram collection when there is a display commit Cache the histogram data in order to respond quickly Change-Id: I4532eca3bb8daa9e03ef78770c9e47d968c7c140 Signed-off-by: Ken Zhang <kenz@codeaurora.org>
* | msm: display: pp: gamut mapping supportKen Zhang2016-03-23
| | | | | | | | | | | | | | | | Support gamut mapping via pp ioctl with logical display id. Allow changing processing order with pcc. Change-Id: Ia37afbe40b73c08fd8760bae84307889280368ce Signed-off-by: Ken Zhang <kenz@codeaurora.org>
* | msm: display: pp: backend dithering supportKen Zhang2016-03-23
| | | | | | | | | | | | | | | | Dithering configuration from PP ioctl with logical display id for mdss. Change-Id: I4c8409b253dc1ab5625f342f45f61246d538691b Signed-off-by: Ken Zhang <kenz@codeaurora.org>
* | msm: display: pp: enhance hist lut supportKen Zhang2016-03-23
| | | | | | | | | | | | | | | | Support histogram enhancement lut control for logical display for mdss. Change-Id: I915e1f1ca0ba1c53b8ce5b627a8d10cc15ebbf76 Signed-off-by: Ken Zhang <kenz@codeaurora.org>
* | msm: display: postprocessing: argc lut supportKen Zhang2016-03-23
| | | | | | | | | | | | | | | | Area reduction gamma correction support for mdss. Support logical display id via PP ioctl for argc setting Change-Id: I8d1dedc016809f73de0605ea68e6a1bfda580648 Signed-off-by: Ken Zhang <kenz@codeaurora.org>
* | msm: display postprocessing:igc lut supportKen Zhang2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Inverse gammam correction display support for 8974 Use logical display id via PP ioctl kernel 3.14 upgrade conflicts: include/uapi/linux/msm_mdp.h Change-Id: I9f1bec84a401f079690ecfd622a2e5f0f8307ff6 Signed-off-by: Ken Zhang <kenz@codeaurora.org>
* | msm: display: pcc configurationKen Zhang2016-03-23
| | | | | | | | | | | | | | | | | | Enable 8974 polynomial color correction support Cache the setting via logical display id, config hardware in the next display commit Change-Id: I11e3d2036c2ab8de881d394d53c6098932f810b5 Signed-off-by: Zhang Chang Ken <kenz@codeaurora.org>
* | msm: display: csc configuration support via overlayKen Zhang2016-03-23
| | | | | | | | | | | | | | | | Implement overlay pp csc configuration for mdss Reset the play cnt when MSMFB_OVERLAY_SET is called Change-Id: Ice2e3700a275c5375ee4939bd3484b7ee5def898 Signed-off-by: Ken Zhang <kenz@codeaurora.org>
* | ion: change ion kernel map function to not take flags argumentMitchel Humpherys2016-03-23
| | | | | | | | | | | | | | | | | | Buffer flags are going to be specified at allocation time rather than map time. This removes the flags argument from the ion kernel map function. Change-Id: I91589ca7b1ab142bb5ac8e6b0f4c06fa1305f23a Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
* | ion: Port heap mask change to ionHanumant Singh2016-03-23
| | | | | | | | | | | | | | | | | | Heap mask field passes as argument at allocation time to specify ion heap. Change-Id: I8881dfc491dc0f8f70581ad97b35756a6a33dd6d Signed-off-by: Hanumant Singh <hanumant@codeaurora.org> Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
* | msm: mdss: implement early suspend apiAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | Use early suspend API for suspend/resume to allow display more room to turn panel off/on before system goes to suspend mode. Change-Id: I70b8b1055c30b940eda49ebad0db341259e903b4 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: cleanup suspend/resume logicAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | Remove references to global variable by using driver data to access mdss global data. Change-Id: Icaedf0fffe22b6d375df8f87f555b415101c6628 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: fix vsync ctrl logic during suspend/resumeAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | Sometimes vsync ctrl ioctl can happen before panel is on after resume, in this case driver needs to remember state of vsync ctrl and apply after resume. Change-Id: Ia583bd9e3a858c5972623eae0512fa27da8452e1 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: fix mdp suspend/resume sequenceAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | Free overlays used before panel off sequence to ensure source surface pipes are properly detached from layer mixer. Change-Id: I712bfc1961607e09dcb976e4888db1885de09871 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm_fb: mdss: Fix suspend/resume for panel driverChandan Uddaraju2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | Avoid disabling video mode while sending OFF commands. Add delay between the display reset line toggle mechanism and GPIO display enable API for proper reset of the panel. Modify the PHY regulator control configuration sequence for proper reset of the physical layer. Change-Id: I2c890d52d773faab6020267121ea4557a59bd108 Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
* | msm: mdss: Return correct error valueDeva Ramasubramanian2016-03-23
| | | | | | | | | | | | | | Return a proper value rather than 0 everytime. Change-Id: I0065a420c65e4800d114be4698618d66de89d105 Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
* | mdss: display: postprocessing: picture adjustmentKen Zhang2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | Support picture adjustment(hue, sat) for 8974 Use logical block id as input. Apply configuration at next display commit. kernel 3.14 upgrade conflicts: include/uapi/linux/msm_mdp.h Change-Id: I0e35e50aecdd346ec91373d0c304e21185f28502 Signed-off-by: Ken Zhang <kenz@codeaurora.org>
* | msm: mdss: increase bus scaling factor to improve performanceAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | Fix performance issues seen with different use cases such as HDMI and MDP composition by increasing bus scaling factor used. CRs-Fixed: 398503 Change-Id: I2391f81c0cba1fa7f5849ce55ec89762765d7575 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: display: include msm-specific ion headerMitchel Humpherys2016-03-23
| | | | | | | | | | | | | | | | All msm_ion clients need to use <linux/msm_ion.h> instead of <linux/ion.h> Change-Id: Id079277f1f5688f08c8dec7f20308315ab46a081 Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
* | msm: mdss: Move HDMI Tx controller's regulator get to probeUjwal Patel2016-03-23
| | | | | | | | | | | | | | | | | | Move HDMI Tx controller's regulator get to probe function in order to support deferred probe in case regulator in interest is not available or not successfully probed before HDMI Tx driver. Change-Id: If0a5cf97a86c39fcdf649997c18121cc500f08a8 Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
* | msm_fb: mdss: DSI driver code clean-upChandan Uddaraju2016-03-23
| | | | | | | | | | | | | | | | | | Remove mmss_cc base variable. This is no more needed. Create new controller platform data. Move the needed variables as part of the controller pdata structure. Change-Id: Ic5c72911dbfe889e1f8ff6992d438b6631796507 Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
* | msm: mdss: display: Enable IOMMU for MDSS driverAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | | | | | Implement all calls to iommu driver from MDSS driver to map all buffers to virtual address space instead of using physical addresses. kernel 3.14 upgrade conflicts: include/linux/msm_mdp.h Change-Id: Ia194bf53dd881e36c702bbe4c024b652ed34df13 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: expose panel frame rate to user spaceAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | Some framebuffer clients expect panel frame rate within reserved[4] member of framebuffer info. Change-Id: Ie74950366372af7211ef1c743f26657e89cb7283 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: Add EDID support for HDMI Tx driverUjwal Patel2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | Extended Display Identification Data, EDID, provides support to read HDMI sink's various capabilities like resolutions supported, HDCP compliance status, Audio format supported etc. Add support for this in HDMI Tx driver. Change-Id: Id9367a2f64557c385082bbd528afc24b54b98514 Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org> [cip@codeaurora.org: Moved new file locations] Signed-off-by: Clarence Ip <cip@codeaurora.org>
* | msm: mdss: Add DDC support for HDMI Tx driverUjwal Patel2016-03-23
| | | | | | | | | | | | | | | | | | Display Data Channel, DDC, is responsible for transmitting EDID and HDCP information between HDMI sink and HDMI Tx controller. Add support for this in HDMI Tx driver. Change-Id: I58d10c61277d36425d89a2270f0ad0495ffd3a1f Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
* | msm: mdss: Add power on/off support for HDMI TX driverUjwal Patel2016-03-23
| | | | | | | | | | | | | | | | | | Add support for HDMI panel power on and power off. Open and close of fb device associated with HDMI panel results in HDMI Tx's power on and power off respectively. Change-Id: I9becdffefe681ce104d631e798d196e23dae4995 Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
* | msm: mdss: Add Hot Plug Detect support in HDMI TX driverUjwal Patel2016-03-23
| | | | | | | | | | | | | | | | | | Hot-plug-detect (HPD) circuitry is responsible for notifying HDMI sink's connect and disconnect events. Add support for this in HDMI Tx driver. Change-Id: I40fdc64007bffe063ce125ce2e819b06a49d0eb5 Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
* | msm: mdss: improve mdp buffers managementAdrian Salido-Moreno2016-03-23
| | | | | | | | | | | | | | | | | | | | Currently buffers are unmapped as soon as it's queued to MDP, however the buffer still belongs to MDP until a new buffer is pushed. Change current buffer managment to track of buffers currently being displayed and properly unmap buffers after a new buffer is received. Change-Id: I6932191fc787f6f5b673edfb690ce1317e283587 Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | msm: mdss: Correct HDMI interface polarity for different resolutions.Ujwal Patel2016-03-23
| | | | | | | | | | | | | | | | | | | | For HDMI, hsync and vsync polarity for resolution height greater than or equal to 720 lines is active high. And for resolution height less than 720 lines is active low. Program the these settings correctly for mdp's hdmi interface. Change-Id: I1a8889662f55676c13dfa8b7172bf7bcf7351cf5 Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
* | msm: mdss: Add support for HDMI Tx driverUjwal Patel2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds the HDMI Tx driver in mdss domain. It uses device tree framework to get the platform data and then registers this device as dtv panel to mdss frame buffer domain. Change-Id: I55534919bacea5b044c1da5d44dda8db496e1528 Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org> [cip@codeaurora.org: Moved new file locations, replace regulator_set_optimum_mode with regulator_set_load, add linux/regulator/consumer.h include] Signed-off-by: Clarence Ip <cip@codeaurora.org>
* | msm: mdss: Add support to make use of interrupt data pointer in an isrUjwal Patel2016-03-23
| | | | | | | | | | | | | | | | | | Add support to make use of interrupt data pointer during an isr such that mdss panel devices retrieve and use their private data to service an interrupt rather than using global variables. Change-Id: I51a6b1c2814a23b3297556e914ce9601ef266533 Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>