summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/msm (follow)
Commit message (Collapse)AuthorAge
...
| * | | | | drm/msm: add HDCP 1x module for MSM DRM driverAbhinav Kumar2017-06-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change adds the HDCP 1x module for MSM DRM driver and also hooks it up with SDE HDMI driver. Change-Id: Iaf53c398254f6838a1d3cae610e069c5dbe18138 Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
| * | | | | drm/msm: add HDCP helper functions to DRM HDMI driverAbhinav Kumar2017-06-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add useful helper functions to the DRM HDMI driver to be used later when HDCP functionality gets added. Also add and initialize necessary members to the SDE HDMI controller to facilitate easier integration of DRM HDCP module. Change-Id: I699f6685327e674a871a404fe5cf3adebe823d46 Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
| * | | | | drm/msm: clean up DDC handling for SDE HDMI driverAbhinav Kumar2017-06-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Separate out the DRM HDMI utility functions into a separate module. Make the DRM HDMI utility functions support self retry where they shall try for an arbitrary number of times on failure otherwise let the client call the API to retry the number of times as warranted. Add a SDE HDMI utility file which shall invoke the upstream functions in a manner as required to maintain the functionality of legacy drivers. Change-Id: I64af3f997a16b2d9358ea867585aa12772d22599 Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
* | | | | | Merge "drm/msm: add support for parsing hdmi/hdcp capabilities"Linux Build Service Account2017-06-15
|\| | | | |
| * | | | | drm/msm: add support for parsing hdmi/hdcp capabilitiesAbhinav Kumar2017-06-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support to parse the HDMI TX version and HDCP support from the HDMI and QFPROM registers. This information is used to decide which HDCP driver module is to be initialized at boot time. Change-Id: Ib598f3867f1cd2ef9adb7503c5907cbb1e4ba758 Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
| * | | | | drm/msm: align HDMI register address space mapping with SDEAbhinav Kumar2017-06-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | HDMI driver currently maps register addresses using ioremap() but doesn't use the SDE driver utilities for register read/write. Copy the mapped register spaces to SDE utility headers so that other SDE APIs can be used seamlessly for HDMI. Change-Id: I3cbe57778ff3a63ffd9176f1a2c60778238e3fe2 Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
* | | | | | Merge "drm/msm: Add per-instance submit queues"Linux Build Service Account2017-06-15
|\ \ \ \ \ \
| * | | | | | drm/msm: Add per-instance submit queuesJordan Crouse2017-06-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the priority and other behavior of a command stream is provided by the user application during submission and the application is expected to internally maintain the settings for each 'context' or 'rendering queue' and specify the correct ones. This works okay for simple cases but as applications become more complex we will want to set context specific flags and do various permisson checks to allow certain contexts to enable additional privileges. Add kernel-side submit queues to be analogous to 'contexts' or 'rendering queues' on the application side. Each file descriptor instance will maintain its own list of queues. Queues cannot be shared between file descriptors. For backwards compatibility context id '0' is defined as a default context specifying middle priority and no special flags. This is intended to be the usual configuration for 99% of applications so that a garden variety application can function correctly without creating a queue. Only those applications requiring the specific benefit of different queues need create one. In addition to the basic infrastructure, allow the user to specify the queue priority - this will be used in lieu of the legacy flags to set priority during the submission. Only the master DRM instance can set the highest priority, but all the others are open to all processes. Change-Id: Ic0dedbad02fa27c0ba20c1157a05ddb143e46357 Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
* | | | | | | Merge "msm: smmu: add re-route calling for specified iova when mapping"Linux Build Service Account2017-06-14
|\ \ \ \ \ \ \
| * | | | | | | msm: smmu: add re-route calling for specified iova when mappingGuchun Chen2017-06-14
| | |_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When calling smmu mapping, if iova is specified directly by user, not allocated dynamically in dma-mapping.c, smmu driver needs to provide support for this. This is needed in early display case. In this scenario, LK has set physical memory to display hardware for fetching, so if iova is not explicitly specified in kernel, but instead dynamically produced by "alloc_iova" in dma-mapping.c, display hardware has no chance to know this new iova, then smmu fault will happen if enabling the iommu stage-1 translation. To fix this smmu fault problem, add re-routing to the right path when iova specified by user is not 0 in smmu map function. Change-Id: I555fe7ae44464f25245d2d0a6740a2411a8624ba Signed-off-by: Guchun Chen <guchunc@codeaurora.org>
* | | | | | | Merge "drm/msm/sde: add support to select secure context bank"Linux Build Service Account2017-06-14
|\ \ \ \ \ \ \
| * | | | | | | drm/msm/sde: add support to select secure context bankAbhijit Kulkarni2017-06-13
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support in the sde plane component to select the secure context bank based on the fb_mode plane property. This changes also sets the correct hw settings for the secure plane src address. CRs-Fixed: 2053654 Change-Id: Iacdfbb366b3ff56fcd5036fb9157547542095cde Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
* | | | | | | Merge "drm/msm: Use per-ring submit lists"Linux Build Service Account2017-06-13
|\ \ \ \ \ \ \ | | |/ / / / / | |/| | | | |
| * | | | | | drm/msm: Use per-ring submit listsJordan Crouse2017-06-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To make it easier to determine what submit(s) are currently active on any given ring, store the active submits in per-ring lists instead of a master list. Change-Id: Ic0dedbadb331cd8e4e85dfcfa51cb1ceabe6efa9 Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
* | | | | | | Merge "drm/msm: fix leak in failed submit path"Linux Build Service Account2017-06-13
|\| | | | | |
| * | | | | | drm/msm: fix leak in failed submit pathRob Clark2017-06-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ic0dedbadf485dd63ef727402b653a9d996a13632 Signed-off-by: Rob Clark <robdclark@gmail.com> Git-commit: 40e6815bba6e34e5560e8855b43cd3eb17b24b09 Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git [jcrouse@codeaurora.org: fix merge conflicts and initialize node at create] Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
| * | | | | | drm/msm: Improved rd_full buffer dumpingJordan Crouse2017-06-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Always print the iova and size for every buffer in a commit when rd_full is enabled but only dump the contents for input buffers. Also make imported buffers work with vmap so that they can be safely dumped. Change-Id: Ic0dedbad6ed5c426dc85a9c089b6c86c95c727cc Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
| * | | | | | drm/msm/rd: add module param to dump all bo'sRob Clark2017-06-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By default, if using $debugfs/.../rd to log cmdstream, only the cmdstream buffers themselves are logged. But in some cases we want to capture other buffers in the submit (to see VBO's or shaders). So add a mod-param knob to control this. Change-Id: Ic0dedbadf993d9ab2c7a44f14e7720e7567a6da1 Signed-off-by: Rob Clark <robdclark@gmail.com> Git-commit: 79c21187ca370f37302f0d5c16c387985d7b8ba1 Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git [jcrouse@codeaurora.org: fix minor merge conflicts] Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
| * | | | | | drm/msm/rd: split out snapshot_buf helperRob Clark2017-06-12
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (reduce the noise in next patch) Change-Id: Ic0dedbadd4b1100ff7b203f120f4acd0c4bf8d09 Signed-off-by: Rob Clark <robdclark@gmail.com> Git-commit: 6507e799f432d9fa86ba398b095ef1139a70deac Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git [jcrouse@codeaurora.org: fixed minor merge conflicts] Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
* | | | | | Merge "drm/msm: Fix possible overflow issue in submit_cmd"Linux Build Service Account2017-06-13
|\ \ \ \ \ \
| * | | | | | drm/msm: Fix possible overflow issue in submit_cmdJordan Crouse2017-06-12
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When verifying that the submit_cmd offset and size do not exceed the bounds of the GEM object make sure to cast the math operation into a suitably large buffer to account for overflow. Change-Id: Ic0dedbad97513ee538d539e771038b3cf0405e91 Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
* | | | | | Merge "drm/msm: Fix kernel address issue of profile buffer"Linux Build Service Account2017-06-12
|\ \ \ \ \ \ | |/ / / / / |/| | | | |
| * | | | | drm/msm: Fix kernel address issue of profile bufferKasin Li2017-06-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current DRM adds offset when making IOVA but failed to add it when making kernel address. This makes DRM write queue_s and submit_s to wrong place if the profile buffer is not at the head of a chunk of buffer. Change-Id: I5af9c3050f4c6c5e0a54ed495bf79053f08f0bab Signed-off-by: Kasin Li <donglil@codeaurora.org>
* | | | | | Merge "ARM: dts: msm: add secure smmu cb node for msm8998"Linux Build Service Account2017-06-09
|\ \ \ \ \ \ | |/ / / / / |/| | | | |
| * | | | | ARM: dts: msm: add secure smmu cb node for msm8998Abhijit Kulkarni2017-06-09
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change adds the secure context bank child node in mdss driver, this is required for having both the secure and non-secure smmu context bank support in the driver. This change also renames the child nodes to avoid compilation issues on the builds where fb driver mdss device file is also present. As a part of this change the smmu driver registration is called as a part of msm driver probe. CRs-Fixed: 2053654 Change-Id: I90cd31fd792b0fd9772689dc6561bb0b429e1e3a Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
* | | | | Merge "drm/sde: add 4k hdmi support"Linux Build Service Account2017-06-09
|\ \ \ \ \ | |/ / / / |/| | | |
| * | | | drm/sde: add 4k hdmi supportwyun2017-06-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When HDMI resolution is bigger than 2560 pixel of width, driver needs to use two hardware pipes. Use virtual plane to support this feature. Change-Id: I19e3bb32aa2a16c83393b0e3c6bec3db03827eca Signed-off-by: wyun <wyun@codeaurora.org>
* | | | | Merge "drm/msm/sde: add secure use case properties"Linux Build Service Account2017-06-08
|\ \ \ \ \
| * | | | | drm/msm/sde: add secure use case propertiesAbhijit Kulkarni2017-06-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change adds custom PLANE(fb_translation_mode) and CRTC(security_level) properties for supporting secure use case. Plane property identifies the translation requirement for the planes. CRTC property speicifies what planes could be attached to this CRTC. CRs-Fixed: 2053654 Change-Id: Iea59027d4bee536c8554e3955723982a6fc361dd Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
* | | | | | Merge "Revert "msm: smmu: add re-route calling for specified iova.""Linux Build Service Account2017-06-08
|\ \ \ \ \ \
| * | | | | | Revert "msm: smmu: add re-route calling for specified iova."Guchun Chen2017-06-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit ae94b477afd5d71221964250395d8f109ddb5b06. This change brings side effect of smmu fault in apq8098 project. It blocks their regression test. Change-Id: Ia479188eca74ec988026f7d42207435da2f79bfc Signed-off-by: Guchun Chen <guchunc@codeaurora.org>
* | | | | | | Merge "drm/msm: Fix drm_mm bottom_up search"Linux Build Service Account2017-06-08
|\ \ \ \ \ \ \
| * | | | | | | drm/msm: Fix drm_mm bottom_up searchSushmita Susheelendra2017-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The bottom up search of drm_mm hole nodes is currently broken. It does not correctly look for the first hole (smallest address) that fits the allocation from the bottom up. Use an RB tree to record hole nodes with their address as key, so that the hole with the smallest address that satisfies the request can be looked up. Change-Id: Ie3020cb4e8b6db13a35d0fe5caaa8781cb6ced9f Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
* | | | | | | | Merge "drm/msm: Use mmu notifiers to track SVM range invalidations"Linux Build Service Account2017-06-08
|\| | | | | | | | |_|_|_|/ / / |/| | | | | |
| * | | | | | drm/msm: Use mmu notifiers to track SVM range invalidationsSushmita Susheelendra2017-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SVM buffer objects share the same virtual address on both the CPU and GPU. Register for notifications when SVM address ranges are unmapped on the CPU. When such a notification is received, unmap the corresponding SVM objects from the SMMU, after waiting on the most recent fence that uses them. The notifier struct is reference counted starting with the creation of the first SVM bo in the process and is released when the last SVM bo is freed. Change-Id: I01f590d21fd1d146f5324539e5041f03653f858a Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
| * | | | | | drm/msm: Fix error path clean-up for buffer object creationSushmita Susheelendra2017-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The reference count on a buffer object was being decremented before it was initialized. Fix the error path clean-up to put the reference only after the kref has been initialized. Also, avoid passing the object by reference when possible. Change-Id: Ifbb1874deb5db9ae3fb2fbd40a58162998284e96 Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
| * | | | | | drm/msm: Implement shared virtual memory ioctlSushmita Susheelendra2017-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Shared virtual memory allows the CPU and GPU to use the same virtual address for a buffer. This change implements an ioctl to allow creation of SVM buffer objects. Change-Id: I0d929a2e37a9eeef948dc2a37250c1eb9adf6fc7 Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
* | | | | | | Merge "drm/msm : fix hdmi controller register programming"Linux Build Service Account2017-06-07
|\ \ \ \ \ \ \
| * | | | | | | drm/msm : fix hdmi controller register programmingAbhinav Kumar2017-06-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, there is an incorrect programming of the hdmi controller register where default value of the datapath mode bit is being toggled along with the scrambler enable/disable. This bit should be untouched as per the hardware programming sequence and kept at the default state. Fix the register programming to avoid toggling this bit. Change-Id: I2e8f74c0abaddd27b5d8a2136afc4e1b82f96e7d Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
* | | | | | | | Merge "msm: cec: Use CEC notifier framework in adapter driver"Linux Build Service Account2017-06-06
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | |
| * | | | | | | drm/msm: add CEC notifier support for HDMI driverRay Zhang2017-06-05
| | |_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add CEC notifier support which allows HDMI driver to inform CEC driver with the new physical address. With this information the CEC adapter driver does not need to manually set the physical address from userspace. CRs-Fixed: 2041335 Change-Id: I5b5707ad40ee381b5cd67f1e89f0d2397a9a7bb2 Signed-off-by: Ray Zhang <rayz@codeaurora.org>
* | | | | | | Merge "drm/msm: Separate locking of buffer resources from struct_mutex"Linux Build Service Account2017-06-06
|\ \ \ \ \ \ \ | | |/ / / / / | |/| | | | |
| * | | | | | drm/msm: Separate locking of buffer resources from struct_mutexSushmita Susheelendra2017-05-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Buffer object specific resources like pages, domains, sg list need not be protected with struct_mutex. They can be protected with a buffer object level lock. This simplifies locking and makes it easier to avoid potential recursive locking scenarios for SVM involving mmap_sem and struct_mutex. This also removes unnecessary serialization when creating buffer objects, and also between buffer object creation and GPU command submission. Change-Id: I40cb437d0186c3d9aac365c9baba0aa4792f0aa1 Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
| * | | | | | drm/msm: Set the TTBR1 range for a 36-bit address spaceSushmita Susheelendra2017-05-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Define a 36-bit address space for TTBR1 which is used for kernel side GPU buffer objects. Change-Id: I1c4eaee0fd92236793621c7d3dba1700e56fefd2 Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
* | | | | | | Merge "drm/msm: fix leak in failed get_pages"Linux Build Service Account2017-06-03
|\ \ \ \ \ \ \ | |_|/ / / / / |/| | | | | |
| * | | | | | drm/msm: fix leak in failed get_pagesPrakash Kamliya2017-05-31
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | get_pages doesn't keep a reference of the pages allocated when it fails later in the code path. This can lead to a memory leak. Keep reference of the allocated pages so that it can be freed when msm_gem_free_object gets called later during cleanup. Change-Id: I44dea20e10c056c1c5e80d01bab0a274ff768b1c Signed-off-by: Prakash Kamliya <pkamliya@codeaurora.org>
* | | | | | Merge "msm: smmu: add re-route calling for specified iova."Linux Build Service Account2017-06-01
|\ \ \ \ \ \ | | |/ / / / | |/| | | |
| * | | | | msm: smmu: add re-route calling for specified iova.Guchun Chen2017-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When calling smmu mapping, if iova is specified directly by user, not allocated dynamically in dma-mapping.c, smmu driver needs to provide support for this. This is needed in early display case. In this scenario, LK has set physical memory to display hardware for fetching, so if iova is not explicitly specified in kernel, but instead dynamically produced by "alloc_iova" in dma-mapping.c, display hardware has no chance to know this new iova, then smmu fault will happen if enabling the iommu stage-1 translation. To fix this smmu fault problem, add re-routing to the right path when iova specified by user is not 0 in smmu map/unmap function. Change-Id: I062b04d7eec65af1c106a5caa09ec787b5d26d0d Signed-off-by: Guchun Chen <guchunc@codeaurora.org>
* | | | | | drm/msm: Fix potential buffer overflow issueKasin Li2017-05-31
| |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In function submit_create, if nr_cmds or nr_bos is assigned with negative value, the allocated buffer may be small than intended. Using this buffer will lead to buffer overflow issue. Change-Id: I0b61cccffd836e2dd3c859446470af4b6451b9ed Signed-off-by: Kasin Li <donglil@codeaurora.org>
* | | | | Merge "drm/msm: profile submit_time in nanosecond resolution"Linux Build Service Account2017-05-26
|\ \ \ \ \