summaryrefslogtreecommitdiff
path: root/drivers/gpu (follow)
Commit message (Collapse)AuthorAge
...
| | | * | | | drm/msm: fix power handle APIs when clk are not presentDhaval Patel2016-10-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Power handle API stores the clocks dt parsing return code in to an "unsigned integer" while of_node API may return an error code if clocks are not present in dtsi. That may lead to invalid memory allocation also. This patch fixes the clock parsing and avoids free if clocks are not allocated. Change-Id: I3199c86cfee9a3e0a97b902651841a9d2772359a Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
| | * | | | | drm/msm/sde: don't convert ktime to ns when waiting for fencesClarence Ip2016-10-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The driver should utilize the ktime_ series of functions to directly manipulate the time structures rather than converting everything to nanoseconds. This avoids possible trunction/rounding errors that may be introduced by the conversion process. Change-Id: Iac3dd40c679ffc9517881f41650aa5848dab884b Signed-off-by: Clarence Ip <cip@codeaurora.org>
| | * | | | | drm/msm: rename kernel module to msm_drmClarence Ip2016-10-12
| | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change modifies the module name to something that's more specific to DRM support for msm to minimize the possibility of name clashes with other msm drivers. Change-Id: Ie1a933bc994657c868c50e3e00b7a954190e7c41 Signed-off-by: Clarence Ip <cip@codeaurora.org>
| | * | | | DOWNSTREAM: drm/msm/sde: enable sde client customizationsClarence Ip2016-10-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enable driver customizations for non-standard DRM clients. Change-Id: Icfc0fc4d67be3e59a5f266a5b83f98f65a2f42d2 Signed-off-by: Clarence Ip <cip@codeaurora.org>
| | * | | | drm/msm/sde: allow primary planes to be used with all crtcsClarence Ip2016-10-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CRTC's are created for each display and require a dedicated primary plane for non-atomic operation. Atomic callflows don't have this requirement and allow for any plane to be used with any CRTC, as long as the driver can support it. This change optionally resets each plane's possible_crtcs bitmask to allow it to be used by other CRTCs as well. This allows the driver to work with both atomic and non-atomic callflows as long as non-atomic clients respect each plane's advertised primary/overlay type. Change-Id: Ic613791322c2d9cd578c64db3d6e299451c385f3 Signed-off-by: Clarence Ip <cip@codeaurora.org>
| | * | | | drm/msm/sde: limit primary plane count to number of crtcsClarence Ip2016-10-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DRM primary planes are meant for dedicated use by a single CRTC, so limit the number of planes flagged as 'primary' to the max number of CRTC's that will be created. Change-Id: Ia0626a81d033d2c554408cda29a2e6fbe32a6667 Signed-off-by: Clarence Ip <cip@codeaurora.org>
| | * | | | Merge "drm/msm/sde: update proper error message for rm failure" into ↵Dhaval Patel2016-10-11
| | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | dev/msm-4.4-drm_kms
| | | * | | | drm/msm/sde: update proper error message for rm failureDhaval Patel2016-10-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Resource manager failure just prints the error message but it does not indicate cause for it. This patch prints error message for each cause to help debugging. Change-Id: I1f5ab716d09b5f29913e2679b1c8d800bc76b8a8 Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
| | * | | | | drm/msm: teardown all modes in lastclose handlerLloyd Atkinson2016-10-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Need to teardown all active crtcs during lastclose to avoid causing faults by turning off clocks on running hardware. To do this, implement the lastclose handler, and have it send in a disabling commit for all planes and crtcs. To support this, need to move the clock enable / disable out of the device open and close handlers, and into the use case enable / disable in the encoder, and into the vblank enable / disable handlers. As well, needed to remove fence refcounting logic from duplicate state function since the fd at that time is not valid, and the ref counting itself is unnecessary. Change-Id: I841bbbdec0e64bb76470007e09066663c13134e3 Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
| | * | | | | Merge "drm/msm/sde: enable proper support for split flush" into ↵Dhaval Patel2016-10-11
| | |\ \ \ \ \ | | | |/ / / / | | |/| | | | | | | | | | | dev/msm-4.4-drm_kms
| | | * | | | drm/msm/sde: enable proper support for split flushClarence Ip2016-10-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enable atomic hardware flushing of two data paths via a single flush register. Previously, different data paths were flushed separately from software, which could potentially result in the flushes happening on different frames. Change-Id: I858a0f737743d48404f47af85b407e1cddf0a0a7 Signed-off-by: Clarence Ip <cip@codeaurora.org>
| | * | | | | drm/sde: move hardware catalog to dtsi parserDhaval Patel2016-10-11
| | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current SDE DRM driver uses hardcoded structures for target catalog information. This patch removes the hardcoding from software and moves it to dtsi parsing. It helps to remove the target specific code drm directory and keep it in dtsi. Change-Id: I2effaf65d7af5e22714c6e61e7f76a7e24ff86d9 Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
| | * | | | drm/msm/sde: add mode config mutex lock for connector searchAlan Kwong2016-10-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Connection enumeration is used by writeback device to find the writeback connector. Using connector for_each macros requires lock of mode config mutex. Add mutex protection for writeback connector enumeration. Change-Id: Ib299f1576cb17d30543daa00df95924b51bc862f Signed-off-by: Alan Kwong <akwong@codeaurora.org>
| | * | | | drm/msm/sde: bypass wait for commit done if crtc is not enabledAlan Kwong2016-10-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bypass wait for commit done if crtc is not enabled and not active. This avoids invalid atomic commit if crtc/encoder is not enabled. Change-Id: I54301123025e0115835ea1ce1c7944aa6b0e9d51 Signed-off-by: Alan Kwong <akwong@codeaurora.org>
| | * | | | drm/msm/sde: add proper mode config lock to plane QoS checkAlan Kwong2016-10-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Realtime QoS status is determined in plane atomic check using mode config for_each macro. This macro requires locking of mode config lock. Add lock to connector enumeration to avoid any race conditions. Change-Id: I6142536268c9261a7af12a8615fa0a2de17ba8e8 Signed-off-by: Alan Kwong <akwong@codeaurora.org>
| | * | | | drm/msm/sde: correct crtc to use new plane state for updateAlan Kwong2016-10-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Crtc atomic check is updating zpos of current plane state. This would corrupt current plane state if the atomic check is initiated by test only atomic commit. In that case, the test only update would propgate to current state incorrectly. Modify atomic check to get new plane state and use this for zpos update. Change-Id: Ia7d8653e443c8ad3e3c684959083aeea25f1ff57 Signed-off-by: Alan Kwong <akwong@codeaurora.org>
| | * | | | Merge "drm/msm/sde: avoid programming same plane source address" into ↵Dhaval Patel2016-10-10
| | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | dev/msm-4.4-drm_kms
| | | * | | | drm/msm/sde: avoid programming same plane source addressClarence Ip2016-10-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change adds a check to the plane's pipe programming to avoid writing the source address registers if the new values are the same as what was written before. This avoids clutter on the register logs and reduces the register programming traffic slightly for those situations. Change-Id: If9c17f14d68e3e82ea37edaf4bb5d7c8cf4eb46e Signed-off-by: Clarence Ip <cip@codeaurora.org>
| | * | | | | Merge "drm/msm/sde: update plane dmesg logging to use sde macros" into ↵Dhaval Patel2016-10-10
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | dev/msm-4.4-drm_kms
| | | * | | | drm/msm/sde: update plane dmesg logging to use sde macrosClarence Ip2016-10-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change modifies the sde plane driver to use local sde defined macros for debug and error logging rather than standard drm ones. The local sde macros allow the logs to be enabled both from the normal drm_debug and Linux dynamic debug interfaces. Change-Id: I745d12fb60b70ea5a41ed789c67496e78d4a301d Signed-off-by: Clarence Ip <cip@codeaurora.org>
| | * | | | | Merge "drm/msm/sde: update scaler property definition and type" into ↵Dhaval Patel2016-10-10
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | dev/msm-4.4-drm_kms
| | | * | | | drm/msm/sde: update scaler property definition and typeClarence Ip2016-10-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Blob properties under DRM require a new blob to be created for each unique set of incoming data. By changing the scaler property to accept an incoming user space pointer and using copy_from_user to explicitly copy out the structure data each time the property is set, the user space client avoids the need to create new DRM blob objects when the scaler config needs to be updated. Change-Id: I07d4d095b69ddd38e2bf03de61ad51714df84adb Signed-off-by: Clarence Ip <cip@codeaurora.org>
| | * | | | | Merge "drm/msm/sde: break out plane decimation to separate properties" into ↵Dhaval Patel2016-10-10
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | dev/msm-4.4-drm_kms
| | | * | | | drm/msm/sde: break out plane decimation to separate propertiesClarence Ip2016-10-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Separate the horizontal and vertical decimation configuration to separate properties instead of bundling them with the scaler property. This allows for some planes to support decimation even if the customized scaler configuration is not available. Change-Id: Icdb16d41139f2a90ffb4dc8a6fa73de5336f892a Signed-off-by: Clarence Ip <cip@codeaurora.org>
| | * | | | | Merge "drm/msm/sde: update register writes to use SDE logging macros" into ↵Dhaval Patel2016-10-10
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | dev/msm-4.4-drm_kms
| | | * | | | drm/msm/sde: update register writes to use SDE logging macrosClarence Ip2016-10-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update low level register write function to use common SDE debug macros to allow the logs to be enabled both from the drm_debug and dynamic debug interfaces. Change-Id: I232fcd205c52ce91f215fa0b4f2c363103c3864d Signed-off-by: Clarence Ip <cip@codeaurora.org>
| | * | | | | Merge "drm/msm/sde: update csc property definition and type" into ↵Dhaval Patel2016-10-10
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | dev/msm-4.4-drm_kms
| | | * | | | drm/msm/sde: update csc property definition and typeClarence Ip2016-10-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Blob properties under DRM require a new blob to be created for each unique set of incoming data. By changing the csc property to accept an incoming user space pointer and using copy_from_user to explicitly copy out the structure data each time the property is set, the user space client avoids the need to create new DRM blob objects when the csc configuration needs to be updated. Change-Id: I7586d407ef9d65a927c93b59cdd0128cef498378 Signed-off-by: Clarence Ip <cip@codeaurora.org>
| | * | | | | Merge "drm/msm/sde: remove unused traffic shaper from hw drivers" into ↵Dhaval Patel2016-10-10
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | dev/msm-4.4-drm_kms
| | | * | | | | drm/msm/sde: remove unused traffic shaper from hw driversAlan Kwong2016-10-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Traffic shaper is not used by writeback; hence remove traffic shaper from writeback and top hardware drivers. Change-Id: I006f72877a5a546fb67e80d1344da95d82711fa8 Signed-off-by: Alan Kwong <akwong@codeaurora.org>
| | * | | | | | Merge "drm/msm/sde: remove error message from optional settings" into ↵Dhaval Patel2016-10-07
| | |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | dev/msm-4.4-drm_kms
| | | * | | | | | drm/msm/sde: remove error message from optional settingsDhaval Patel2016-10-06
| | | | |/ / / / | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | vbif ot limit setting is optional. Convert error message to debug message because target does not specify the ot limit during bring up time. Change-Id: I0f096a3345c18598576ad55601d53027ce2a6f4f Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
| | * / | | | | drm/msm: property read should return success for virtual crtcGopikrishnaiah Anandan2016-10-05
| | |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Crtc's are virtualized in msm platforms. Properties that are attached to crtc might not be backed by hardware. If clients call set/get property on virtual crtc, set/get shouldn't fail if hardware is not attached to the crtc. Change will return success for crtc property set/get in all cases to ensure that display will continue to work. Change-Id: I917176d14983d1c5712352df47ec4fc2f214659b Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
| | * | | | | Merge "drm/msm: Modularize property install function of color processing" ↵Dhaval Patel2016-10-04
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | into dev/msm-4.4-drm_kms
| | | * | | | | drm/msm: Modularize property install function of color processingGopikrishnaiah Anandan2016-10-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Color processing features over period of time will have multiple versions of the feature which will make property install function big. Break down the functions into multiple features and call function pointers from install function for better readability. Change-Id: I40c4f5341a98ba11fac9804691e0c11a98b77914 Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
| | * | | | | | Merge "drm/msm: Add support for PA vLut feature" into dev/msm-4.4-drm_kmsDhaval Patel2016-10-04
| | |\| | | | |
| | | * | | | | drm/msm: Add support for PA vLut featureGopikrishnaiah Anandan2016-10-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Picture adjustment block supports vLut block which can enhance the contrast of the pixels. Change adds support to expose the feature to user-space and program the vLut registers for the display. Change-Id: I9822f9711b9048c5db8c313204a6ba64e013f8a9 Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
| | * | | | | | Merge "drm/msm: Expose Assertive display capability" into dev/msm-4.4-drm_kmsDhaval Patel2016-10-04
| | |\| | | | |
| | | * | | | | drm/msm: Expose Assertive display capabilityGopikrishnaiah Anandan2016-10-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During probe the assertive display capability is read by the post processing module from device tree/catalog. If chipset supports the feature, an immutable property is created and exposed to user. Change-Id: I7b39537b49a6efe346bdf5a0d0697c5875c8d2f7 Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
| | * | | | | | Merge "drm/msm: Suspend/Resume support for color processing features" into ↵Dhaval Patel2016-10-04
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | dev/msm-4.4-drm_kms
| | | * | | | | drm/msm: Suspend/Resume support for color processing featuresGopikrishnaiah Anandan2016-10-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Color processing features that are enabled by user-space clients need to be saved when crtc goes to suspend. Once crtc resumes, the following commit cycle will restore the features. Change-Id: I2f169a744a5a19fe6456ff4832208a0cbe78be95 Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
| | * | | | | | Merge "drm/msm: Add support for PCC in Crtc" into dev/msm-4.4-drm_kmsDhaval Patel2016-10-04
| | |\| | | | |
| | | * | | | | drm/msm: Add support for PCC in CrtcGopikrishnaiah Anandan2016-10-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CRTC contains the dspp block which contains color processing modules. Change adds the pcc support to the CRTC. Change-Id: Ib4091d43d819ab4f20f16892277ccd1d21285c61 Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
| | * | | | | | Merge "drm/msm/sde: update catalog for post processing" into dev/msm-4.4-drm_kmsDhaval Patel2016-10-04
| | |\| | | | |
| | | * | | | | drm/msm/sde: update catalog for post processingGopikrishnaiah Anandan2016-10-04
| | | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update catalog for post processing features. Change-Id: I6b43ee213e504780f8e6bacee0ca7e370a381772 Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
| | * / / / / drm/msm/sde: don't duplicate input fence pointer with stateClarence Ip2016-10-03
| | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid duplicating the input fence structure within the plane driver's duplicate state callback. The user context is not always available at this point and the pointer can't be safely copied without taking an extra reference to it. Change-Id: I0aeb4f83b871e4c9add95113ffc80f10b56f51a6 Signed-off-by: Clarence Ip <cip@codeaurora.org>
| | * | | | Merge "drm/msm: add support for custom event notification" into ↵Dhaval Patel2016-10-03
| | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | dev/msm-4.4-drm_kms
| | | * | | | drm/msm: add support for custom event notificationGopikrishnaiah Anandan2016-09-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MDP hardware supports custom events which needs to be reported by driver to user-space clients who request for notification. DRM framework provides poll/read based interface to report the events to the user-space clients. Change adds support to report msm driver events to user-space clients. Change-Id: I4ce75488ad1d1436cafb3451ebc7808961c6cab5 Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
| | * | | | | drm/msm/sde: fix color component order for compressed formatsabeykun2016-09-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qcom compressed formats are defining reverse color component order compared to base drm formats. Patch applies correct color component order for compressed formats. Change-Id: I5faa6ac2745100d019f1d3105481f3c908ce8aae Signed-off-by: abeykun <abeykun@codeaurora.org>
| | * | | | | drm/msm/sde: add writeback ROI support for msmskunkabeykun2016-09-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For HW directly supporting writeback ROI x,y offsets bypass writeback planes offset recalculation. Change-Id: I8b38b6026482a4f72607ad74bbec2d3f741b94f8 Signed-off-by: abeykun <abeykun@codeaurora.org>