summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/msm (follow)
Commit message (Collapse)AuthorAge
...
| * | | | drm/msm/sde: remove catalog parsing limitsClarence Ip2016-12-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch removes the previous limit of MAX_BLOCKS from the number of recognized key entries, and cleans up the catalog parsing logic to remove a number of arrays from the call stack. Change-Id: I926367296960daaf82978b0c4ce53f67dcb36ed2 Signed-off-by: Clarence Ip <cip@codeaurora.org>
| * | | | drm/msm/sde: enable master physical encoder lastClarence Ip2016-12-01
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the way in which the virtual encoder requests the physical encoder enables so that the master physical encoder is always enabled last. This is done so that all of the slaves are fully prepared when the master is enabled, and also allows the master to update any necessary configuration during its enable callback. Change-Id: Iff0d9cd08f8589889b50974fbc9819d96a15ab63 Signed-off-by: Clarence Ip <cip@codeaurora.org>
| * | | drm/msm/sde: reset ctl mixer config at end of use caseLloyd Atkinson2016-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Need to take the control path out of any source split or other configuration at the end of a use case to prepare for the next client. Change-Id: I9a2fb57dcafc576a23a13da1906a44e9992aeb74 Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
| * | | drm/msm: Support virtualization of color processing propertiesGopikrishnaiah Anandan2016-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During device probe virtual crtcs are created with no hardware attached. Color processing(cp) properties can be attached to the virtual crtc by looking at the hardware catalog. If user-space client sets property cp driver will check if hardware has been allocated for crtc. If there is no hardware allocated it will return error for set property Change-Id: I9662ebb51a4a9f79b6a1e8769f01391eaf06e313 Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
| * | | Merge "drm/msm/sde: reset kickoff count atomically before irq enable" into ↵Dhaval Patel2016-11-30
| |\ \ \ | | | | | | | | | | | | | | | dev/msm-4.4-drm_kms
| | * | | drm/msm/sde: reset kickoff count atomically before irq enableLloyd Atkinson2016-11-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rework physical encoder kickoff counting logic to address issues where an interrupt could be missed, or completion could get out of sync due to a race condition between kickoff count and irq enable. It also generalizes the kickoff count across the video and command interfaces. Change-Id: Id88f5b2859f74ee1aced8fbd7552e9023155d01c Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
| * | | | drm/msm/sde: Move DSPP/SSPP color process hw programming to common locationBenet Clark2016-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The color processing blocks for SSPP and DSPP share the same register programming sequences. This change moves the current DSPP and SSPP functionality to a common location and uses the helper function for common code. Change-Id: I0f41453a977ba2d3b4ce12cc622706619c48280c Signed-off-by: Benet Clark <benetc@codeaurora.org>
| * | | | drm/msm/sde: Add support for Memory Color in planeBenet Clark2016-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for skin, sky, and foliage memory color hardware in planes which have color processing hardwares. Change-Id: I9ec72f44f36939cae90215bc668f3186d140e8b8 Signed-off-by: Benet Clark <benetc@codeaurora.org>
| * | | | drm/msm/sde: Add PA global adjustment properties to planeBenet Clark2016-11-30
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | Add support for hue, saturation, intensity, and contrast adjustment in planes that have color processing support. Change-Id: I4c794deb7a5a1c0cc30cc0d64fbffd967eb1d399 Signed-off-by: Benet Clark <benetc@codeaurora.org>
| * | | drm/msm/sde: base scaler phase on decimated dimensionsLloyd Atkinson2016-11-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the pipe scaler phase calculations to use the width and height after decimation is taken into account. This fixes issues where decimation is required to scale past what is possible with scaler alone. Change-Id: I813fae32625ae3e85489ad96540599efcf5a1a29 Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
| * | | Merge "drm/msm/sde: check for missed irqs in command encoder" into ↵Dhaval Patel2016-11-29
| |\| | | | | | | | | | | | | | dev/msm-4.4-drm_kms
| | * | drm/msm/sde: check for missed irqs in command encoderLloyd Atkinson2016-11-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Modify the way that the waiting for previous kickoffs is handled for the command encoder case. Instead of doing waiting in the virtual encoder, do the waiting in the command encoder directly. That way we can check whether we have missed the IRQ. Also allows waiting for idle before disabling the encoder. Change-Id: I6cdb9c961a0ffd8e9ea2aaf1ad9686757edd7142 Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
| * | | Merge "drm/msm/sde: move sde hw init to hw_init callback" into ↵Dhaval Patel2016-11-29
| |\ \ \ | | | | | | | | | | | | | | | dev/msm-4.4-drm_kms
| | * | | drm/msm/sde: move sde hw init to hw_init callbackClarence Ip2016-11-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Callbacks from the upper layer expect hardware initialization logic to reside within the hw_init callback. Consolidate all hw initialization to the hw_init callback and update the deinit and destroy callbacks to match it. Change-Id: I2ab32edae0e8586ddb4701b3d8c5cfde9e611cad Signed-off-by: Clarence Ip <cip@codeaurora.org>
| * | | | Merge "drm/msm: support probe deferral in msm_drv" into dev/msm-4.4-drm_kmsDhaval Patel2016-11-29
| |\| | |
| | * | | drm/msm: support probe deferral in msm_drvLloyd Atkinson2016-11-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make fixes to support probe deferral in msm_drv, display manager, and sde_kms. Move initialization logic out of msm_drv probe and into load call so it is paired with unload. Change-Id: I9330d61de8f6188cb0e9769d569d5cff841cb159 Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
| * | | | Merge "drm/msm/sde: fix iounmap usage and init callflow" into ↵Dhaval Patel2016-11-29
| |\| | | | | | | | | | | | | | | | | | dev/msm-4.4-drm_kms
| | * | | drm/msm/sde: fix iounmap usage and init callflowLloyd Atkinson2016-11-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix iounmap usage to properly use devm_iounmap. Fix clearing of pointers in failure callflows of sde_kms init. Change-Id: Ib42134ee972c578070ac513c3e4da37faec7d0cd Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
| * | | | Merge "drm/msm/sde: fixup sde_kms shutdown sequence and naming" into ↵Dhaval Patel2016-11-29
| |\| | | | | | | | | | | | | | | | | | dev/msm-4.4-drm_kms
| | * | | drm/msm/sde: fixup sde_kms shutdown sequence and namingLloyd Atkinson2016-11-24
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Improve sde kms error detection and handling during initialization. Make naming of functions consistent within sde_kms file. Change-Id: Ia8946752e7d89d811a46cd4725b2e43e02b9fd39 Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
| * | | Merge "drm/msm/sde: fix cmd mode vblank irq control" into dev/msm-4.4-drm_kmsDhaval Patel2016-11-27
| |\| |
| | * | drm/msm/sde: fix cmd mode vblank irq controlLloyd Atkinson2016-11-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix previous merge conflict that disabled the pingpong done irq on vblank off instead of the pingpong read pointer as intended. Change-Id: I707437b54f2878d0da7b0d3b5618fdafa0ff38d5 Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
| * | | drm/msm/sde: apply correct zpos range for sde clientsClarence Ip2016-11-23
| |/ / | | | | | | | | | | | | | | | | | | | | | Maximum value of zpos should be maxblendstages-1 and not max blend stages. Change-Id: I0d991dea29c77cff672f5fd5564e750cafd18e60 Signed-off-by: Clarence Ip <cip@codeaurora.org>
| * | drm/msm/sde: add debug dump and panic facilityLloyd Atkinson2016-11-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add facility to trigger a dump of logs, and optionally trigger a panic. To be used on detection of unrecoverable error detected from within the SDE driver. Change-Id: If1b48b1dcba21d9747cf85a5de027d694ae4a645 Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
| * | drm/msm/sde: match xlog features in evtlogLloyd Atkinson2016-11-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Upgrade event log facility with xlog feature set which supports variable arguments and other features required. evtlog now registers debugfs at /sys/kernel/debug/dri/0/evtlog. It can be enabled by echo 1 into the enable node, and dumped using the dump node. Move evtlog support into sde layer since only sde uses it. Change-Id: I51f8577a0e626ab53601e07a16cefe8da90125e1 Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
| * | Merge "drm/msm/sde: Add device tree subnode parsing capability" into ↵Dhaval Patel2016-11-15
| |\ \ | | | | | | | | | | | | dev/msm-4.4-drm_kms
| | * | drm/msm/sde: Add device tree subnode parsing capabilityBenet Clark2016-11-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change adds the capability for parsing a device tree subnode of the SDE. For example, the DSPP's will be enumerated in the SDE top-level DTSI node. The hardware blocks inside the DSPP will be enumerated in a subnode in the DTSI. Change-Id: If0cf37fac2388ab385b0bf416f40436e12d9395b Signed-off-by: Benet Clark <benetc@codeaurora.org>
| * | | drm/msm/sde: add debugfs support for misr dataJayant Shekhar2016-11-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change adds a debugfs node to enable the misr crc generation in batch mode. Once this is enabled, driver will collect the crc numbers during each of the interfaces interrupt. To enable/disable the crc generation, respectively: echo 1 16 > /d/dri0/encoder18/misr_data echo 0 16 > /d/dri0/encoder18/misr_data Inputs here represents enable and number of frame in batch. Maximum batch size supported is 16. To collect the crc data generated: cat /d/dri0/encoder18/misr_data Change-Id: I0a431b1ceff0425bec10d8739ad07a7b706b5f57 Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
| * | | Merge "drm/msm/sde: Add backlight class support for sde drm driver" into ↵Dhaval Patel2016-11-14
| |\ \ \ | | |/ / | |/| | | | | | dev/msm-4.4-drm_kms
| | * | drm/msm/sde: Add backlight class support for sde drm driverVishnuvardhan Prodduturi2016-11-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add backlight class support for sde drm driver which provides sysfs interface to userspace to control display brightness. Change-Id: I4f777618e8f2ff61e72beddb7a5bd1fa6e9dd5df Signed-off-by: Vishnuvardhan Prodduturi <vproddut@codeaurora.org>
| * | | drm/msm: create separate commit thread for each displaySandeep Panda2016-11-14
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | This change creates separate threads for commit on each display, so that one display commit is not blocked on other display's commit. Hence improving performance in multi display use cases. Change-Id: Ibd0dae1da53ec3a72de8b96c3c03ce51830cb4f9 Signed-off-by: Sandeep Panda <spanda@codeaurora.org>
| * | drm/msm/sde: add common sde debug folderAlan Kwong2016-11-11
| | | | | | | | | | | | | | | | | | | | | Create common debug folder to collect sde debug information. Change-Id: I899ee56a0e97c33c622c46977232ddf70938fba8 Signed-off-by: Alan Kwong <akwong@codeaurora.org>
| * | drm/msm/sde: route evtlog to sde trace logAlan Kwong2016-11-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | DRM and other components are using trace log for event capture. In order to correlate events between DRM and SDE, route evtlog capture to trace log for combined tracing. Change-Id: I910111c4b79953edb2dbc4548bceff8d4d56728a Signed-off-by: Alan Kwong <akwong@codeaurora.org>
| * | drm/msm/sde: add systrace compatible trace macroAlan Kwong2016-11-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add systrace compatible trace macro to log begin/end and counter events. This is useful for correlating user mode and kernel events. Change-Id: I6c5108fb8ddacc36b51ba2541d32541dd28856e2 Signed-off-by: Alan Kwong <akwong@codeaurora.org>
| * | drm/msm/sde: separate plane/encoder/crtc functions into headersAlan Kwong2016-11-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, plane/encoder/crtc function prototypes reside in the kms header. To improve code separation and reduce overlap changes, separate plane/encoder/crtc functions from kms header into their corresponding headers. Change-Id: Id3a7098ada887538ac0635f381c553a516237e7a Signed-off-by: Alan Kwong <akwong@codeaurora.org>
| * | Merge "drm/msm/sde: print error only if catalog property is mandatory" into ↵Dhaval Patel2016-11-11
| |\ \ | | | | | | | | | | | | dev/msm-4.4-drm_kms
| | * | drm/msm/sde: print error only if catalog property is mandatoryAlan Kwong2016-11-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current validation function outputs error if non-mandatory property does not exist in device tree. Change validation function to print error only if property is mandatory. Change-Id: I5b93c3896e2831e6037378e8f090202ed923796a Signed-off-by: Alan Kwong <akwong@codeaurora.org>
| * | | Merge "drm/msm/sde: remove redundant vblank request in crtc" into ↵Dhaval Patel2016-11-11
| |\| | | | | | | | | | | | | | dev/msm-4.4-drm_kms
| | * | drm/msm/sde: remove redundant vblank request in crtcAlan Kwong2016-11-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CRTC is currently requesting vblank during commit request. This is not necessary because encoder will request vblank internally. If external clients need vblank notification, they will place explicit requests. Hence, remove redundant vblank request around commit request. Change-Id: I3edbd91e75d8e5f3bea6a8de6092bbb416e17928 Signed-off-by: Alan Kwong <akwong@codeaurora.org>
| * | | Merge "drm/msm/sde: add vblank reference counting to crtc" into ↵Dhaval Patel2016-11-11
| |\| | | | | | | | | | | | | | dev/msm-4.4-drm_kms
| | * | drm/msm/sde: add vblank reference counting to crtcAlan Kwong2016-11-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CRTC services vblank requests from both internal sde logics and external drm framework callback. To handle multi-client support, add reference counting to vblank handling to avoid premature vblank disable by crtc. Change-Id: Idbf488cb67bbdd7beacf3dff0e613d8c09b708a7 Signed-off-by: Alan Kwong <akwong@codeaurora.org>
| * | | drm/msm/sde: add default 10 bit csc matrix to source pipeabeykun2016-11-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Source pipe color space conversion block is used to convert YUV to RGB. Patch adds logic to apply default 10-bit or 8-bit limited Rec601 matrix when user space doesn`t specify csc matrix. 10 or 8 bit matrix is applied based on hw capabilities. Change-Id: Iac805e1474223cd2840d2d928b5c71f5d47ce014 Signed-off-by: abeykun <abeykun@codeaurora.org>
| * | | drm/msm/sde: add 10 bit csc for sdeabeykun2016-11-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for 10 bit YUV to RGB color space conversion for source pipe. Change-Id: I4d3045891e2624a5b378c82f89eb8d98d31e28a7 Signed-off-by: abeykun <abeykun@codeaurora.org>
| * | | drm/msm/sde: add qseedv3.x support for sdeabeykun2016-11-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qseedv3.x block supports filtering, scaling and sharpening. Change adds support to program scaler, detail enhancer and LUT coefficients. Change-Id: Idfec866dd9f7acb73c79780e2c3b6b6ce73d42c8 Signed-off-by: abeykun <abeykun@codeaurora.org>
| * | | drm/msm/sde: add 10-bit formats supportabeykun2016-11-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add 10 bit dx format support for MDSS hardware. Change-Id: I15c6ca1539e8dbbb57ad9dccfefb49efcc8567d0 Signed-off-by: abeykun <abeykun@codeaurora.org>
| * | | Merge "drm/msm/sde: handle pingpong blocks from virtual encoder" into ↵Dhaval Patel2016-11-10
| |\ \ \ | | | | | | | | | | | | | | | dev/msm-4.4-drm_kms
| | * | | drm/msm/sde: handle pingpong blocks from virtual encoderJeykumar Sankaran2016-11-10
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pingpong blocks are needed for both video and command mode panels for supporting DSC compression. DSC programming requires modifying registers in pingpong block. Pingpong blocks need not necessarily be mapped 1-to-1 with interfaces for DSC merge and 3D Mux topologies. This change stores and maintains the HW pingpong blocks from virtual encoder. Change-Id: I2e31c6a9d31e0142eb83df956aa70b425a1e6d7e Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
| * / / drm/msm/sde: add support for BGRX and XBGR formats in planeNarendra Muppalla2016-11-09
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | Add support for BGRX and XBGR formats in sde_format_extended planes. This patch will also address atomic commit failures seen on primary testing. Change-Id: I9134a89c0d47817a219d2f2f18f95b9c16d2c58c Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
| * | drm/msm/sde: add multi-client and ref counting for core irqAlan Kwong2016-11-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add multiple client support for core irq interface. Multiple clients can register/unregister callbacks for each core interrupt. Callbacks for each interrupt will be invoked one by one in interrupt handler. Core irq will maintain how many times each interrupt has enabled, and keep it enabled until last disable call is invoked. Change-Id: I8fe45305fd1bcc8bbdebf3e9ca931842f2c62daf Signed-off-by: Alan Kwong <akwong@codeaurora.org>
| * | drm/msm/sde: cache connector list in sde crtcClarence Ip2016-11-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Determine which connectors are associated with the crtc during the beginning of the commit request and reuse the list for the rest of the commit. This is needed because the drm atomic states only record connectors/objects that have been updated in the current commit, rather than all associated plane/connector/etc. objects. Change-Id: I51f2379fc574033b4f87e01eccbb3ee8aef31bb3 Signed-off-by: Clarence Ip <cip@codeaurora.org>