summaryrefslogtreecommitdiff
path: root/include/uapi/drm (unfollow)
Commit message (Collapse)Author
2020-06-01Kbuild : Use no-export-headers to avoid exporting headersNaitik Bharadiya
Add header files under no-export-headers in Kbuild to avoid exporting specific headers files. Scan no-export-headers files in Kbuild and add it to exclude list in kernel_headers.py to avoid exporting header files. Change-Id: Ice052b5428ef1f7445c5ad2e68c7da8fa7e249ae Signed-off-by: Naitik Bharadiya <bharad@codeaurora.org> [schikk@codeaurora.org: resolve trivial merge conflicts] Signed-off-by: Swetha Chikkaboraiah <schikk@codeaurora.org>
2020-06-01uapi: export all headers under uapi directoriesNicolas Dichtel
Regularly, when a new header is created in include/uapi/, the developer forgets to add it in the corresponding Kbuild file. This error is usually detected after the release is out. In fact, all headers under uapi directories should be exported, thus it's useless to have an exhaustive list. After this patch, the following files, which were not exported, are now exported (with make headers_install_all): asm-arc/kvm_para.h asm-arc/ucontext.h asm-blackfin/shmparam.h asm-blackfin/ucontext.h asm-c6x/shmparam.h asm-c6x/ucontext.h asm-cris/kvm_para.h asm-h8300/shmparam.h asm-h8300/ucontext.h asm-hexagon/shmparam.h asm-m32r/kvm_para.h asm-m68k/kvm_para.h asm-m68k/shmparam.h asm-metag/kvm_para.h asm-metag/shmparam.h asm-metag/ucontext.h asm-mips/hwcap.h asm-mips/reg.h asm-mips/ucontext.h asm-nios2/kvm_para.h asm-nios2/ucontext.h asm-openrisc/shmparam.h asm-parisc/kvm_para.h asm-powerpc/perf_regs.h asm-sh/kvm_para.h asm-sh/ucontext.h asm-tile/shmparam.h asm-unicore32/shmparam.h asm-unicore32/ucontext.h asm-x86/hwcap2.h asm-xtensa/kvm_para.h drm/armada_drm.h drm/etnaviv_drm.h drm/vgem_drm.h linux/aspeed-lpc-ctrl.h linux/auto_dev-ioctl.h linux/bcache.h linux/btrfs_tree.h linux/can/vxcan.h linux/cifs/cifs_mount.h linux/coresight-stm.h linux/cryptouser.h linux/fsmap.h linux/genwqe/genwqe_card.h linux/hash_info.h linux/kcm.h linux/kcov.h linux/kfd_ioctl.h linux/lightnvm.h linux/module.h linux/nbd-netlink.h linux/nilfs2_api.h linux/nilfs2_ondisk.h linux/nsfs.h linux/pr.h linux/qrtr.h linux/rpmsg.h linux/sched/types.h linux/sed-opal.h linux/smc.h linux/smc_diag.h linux/stm.h linux/switchtec_ioctl.h linux/vfio_ccw.h linux/wil6210_uapi.h rdma/bnxt_re-abi.h Note that I have removed from this list the files which are generated in every exported directories (like .install or .install.cmd). Thanks to Julien Floret <julien.floret@6wind.com> for the tip to get all subdirs with a pure makefile command. For the record, note that exported files for asm directories are a mix of files listed by: - include/uapi/asm-generic/Kbuild.asm; - arch/<arch>/include/uapi/asm/Kbuild; - arch/<arch>/include/asm/Kbuild. Change-Id: I132df74f736b8f35f77390eaa12804e74ef536ee Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> Acked-by: Russell King <rmk+kernel@armlinux.org.uk> Acked-by: Mark Salter <msalter@redhat.com> Acked-by: Michael Ellerman <mpe@ellerman.id.au> (powerpc) Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Git-Commit: fcc8487d477a3452a1d0ccbdd4c5e0e1e3cb8bed Git-Repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git [bharad@codeaurora.org: resolve trivial merge conflicts] Signed-off-by: Naitik Bharadiya <bharad@codeaurora.org> [schikk@codeaurora.org: resolve trivial merge conflicts] Signed-off-by: Swetha Chikkaboraiah <schikk@codeaurora.org>
2019-01-10drm/msm/sde: add panel stacking supportXiaowen Wu
To support transparent panel stacking, application will pass non-panel- stacking buffer roi to kernel and let kernel to extend to panel-stacking size. A special flag is defined on source config for this purpose. Change-Id: I59eb290f0f7b92744972391d7db743e2da12300b Signed-off-by: Xiaowen Wu <wxiaowen@codeaurora.org> Signed-off-by: Rahul Sharma <rahsha@codeaurora.org>
2018-10-02drm/msm: add additional HDR state transitionAbhinav Kumar
Add an additional HDR state transition to cover the HDR teardown sequence case. This will avoid the HDR infoframe to be programmed repeatedly if there is no change in its contents. Change-Id: Ic2f077f0c2ff01e19db5a59b218c4d824e039773 Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org> Signed-off-by: Navid Bahrani <nbahrani@codeaurora.org>
2018-08-21drm: Pass CRTC ID in userspace vblank eventsAnder Conselvan de Oliveira
With the atomic API, it is possible that a single commit affects multiple crtcs. If the user requests an event with that commit, one event will be sent for each CRTC, but it is not possible to distinguish which crtc an event is for in user space. To solve this, the reserved field in struct drm_vblank_event is repurposed to include the crtc_id which the event is for. The DRM_CAP_CRTC_IN_VBLANK_EVENT is added to allow userspace to query if the crtc field will be set properly. [daniels: Rebased, using Maarten's forward-port.] Change-Id: I48b6b3ab4c97b20b79ebff0cb367acb1f53e95cc Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com> Signed-off-by: Daniel Stone <daniels@collabora.com> Cc: Maarten Lankhorst <maarten.lankhorst@intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/20170404165221.28240-2-daniels@collabora.com [abhinavk@codeaurora.org: resolved trivial merge conflicts] Git-commit: 5db06a8a98f515f67446a69c57577c4c363ec65d Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2018-08-13drm/msm: add DRM_IOCTL_MSM_RMFB2Lloyd Atkinson
Add new remove framebuffer ioctl that simply unreferences the given framebuffer instead of triggering a shutdown of the CRTC if the buffer is in active use. This allows the user space to proactively unref the buffer without triggering an unwanted shutdown. Change-Id: Iac06985d069989b28affcf620d4e3feba6d07644 Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org> Signed-off-by: Yunyun Cao <yunyunc@codeaurora.org>
2018-06-18DRM: SDE: Independent control of left/right global PACamus Wong
In the split display use case that has two DSPPs, we enabled the caller to have different global PA value for each DSPP. Change-Id: Ie19a48229a07e39fe20a5626aa18c065ad9946d6 Signed-off-by: Camus Wong <camusw@codeaurora.org>
2018-06-13DRM: SDE: Update Color API implementationCamus Wong
Update global PA implementation base on newer kernel revision. Hue, Saturation, Black/White, Contrast is now go through one internal API call instead of separate calls. Change-Id: I9e056f4d68b29bf246c8414e6dff8032f6f9b6c9 Signed-off-by: Camus Wong <camusw@codeaurora.org>
2018-05-30virtio-gpu: fix ioctl and expose the fixed status to userspace.Dave Airlie
[ Upstream commit 9a191b114906457c4b2494c474f58ae4142d4e67 ] This exposes to mesa that it can use the fixed ioctl for querying later cap sets, cap set 1 is forever frozen in time. Signed-off-by: Dave Airlie <airlied@redhat.com> Link: http://patchwork.freedesktop.org/patch/msgid/20180221015003.22884-1-airlied@gmail.com Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-02-20drm: Add and handle new aspect ratios in DRM layerShashank Sharma
HDMI 2.0/CEA-861-F introduces two new aspect ratios: - 64:27 - 256:135 This patch: - Adds new DRM flags for to represent these new aspect ratios. - Adds new cases to handle these aspect ratios while converting from user->kernel mode or vise versa. V2: Rebase V3: Align macro for DRM_MODE_PICTURE_ASPECT_256_135 (Jim Bride) V4: Added r-b from Jose. Change-Id: Iab14d11e2a69d1ecb016edd2ad6ee8edb228f095 Signed-off-by: Shashank Sharma <shashank.sharma@intel.com> Reviewed-by: Sean Paul <seanpaul@chromium.org> Reviewed-by: Jose Abreu <Jose.Abreu@synopsys.com> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: Emil Velikov <emil.l.velikov@gmail.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: http://patchwork.freedesktop.org/patch/msgid/1476705880-15600-5-git-send-email-shashank.sharma@intel.com Git-commit: a68362fe3e84fcbedd49939aa200519aa5410135 Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git [nbahrani@codeaurora.org: resolved msm specific merge conflicts] Signed-off-by: Navid Bahrani <nbahrani@codeaurora.org>
2018-01-08drm: add picture aspect ratio flagsShashank Sharma
This patch adds drm flag bits for aspect ratio information Currently drm flag bits don't have field for mode's picture aspect ratio. This field will help the driver to pick mode with right aspect ratio, and help in setting right VIC field in avi infoframes. V2: Addressed review comments from Sean - Changed PAR-> PIC_AR V3: Rebase V3: Added r-b by Jose Change-Id: I40cd7fc8393166b710a5f1faaea6e7dac59af65b Signed-off-by: Shashank Sharma <shashank.sharma@intel.com> Reviewed-by: Jim Bride <jim.bride@linux.intel.com> Reviewed-by: Jose Abreu <Jose.Abreu@synopsys.com> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: Emil Velikov <emil.l.velikov@gmail.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: http://patchwork.freedesktop.org/patch/msgid/1476705880-15600-2-git-send-email-shashank.sharma@intel.com Git-commit: 876f43c073d79ad3f14a4cebd1aea1f39fc4daf5 Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git [nbahrani@codeaurora.org: resolve merge conflicts by changing the mask bits to 27:24 instead of 22:19] Signed-off-by: Navid Bahrani <nbahrani@codeaurora.org>
2017-11-28drm/msm: Add API support for getting GPU hang timeoutSharat Masetty
Userspace needs to know the GPU timeout value to support Khronos robust GPU timeout extension. The timeout value is returned to the user in millisecond resolution. Change-Id: Iba2ff43fce6d21da240356b392afa7a6e7a618ad Signed-off-by: Sharat Masetty <smasetty@codeaurora.org>
2017-10-08drm_fourcc: Fix DRM_FORMAT_MOD_LINEAR #defineKristian H. Kristensen
[ Upstream commit af913418261d6d3e7a29f06cf35f04610ead667c ] We need to define DRM_FORMAT_MOD_VENDOR_NONE for the fourcc_mod_code() macro to work correctly. Signed-off-by: Kristian H. Kristensen <hoegsberg@google.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: http://patchwork.freedesktop.org/patch/msgid/1481657272-25975-1-git-send-email-hoegsberg@google.com Signed-off-by: Sasha Levin <alexander.levin@verizon.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-08-28drm/msm/sde: add connector support for power modesRay Zhang
This change enables a new LP property to specify panel specific low power modes. This is needed to differentiate between normal panel "on" and "on but low power" scenarios, something that is not available through the standard DRM DPMS property. The sde connector calculates a consolidated "power mode" setting between the DPMS and LP properties and provides a callback to the underlying display driver(s) whenever one of them is updated. CRs-Fixed: 2071893 Change-Id: If5c80ac9eefbf1f119bcae5513ae18c7be6f618d Signed-off-by: Clarence Ip <cip@codeaurora.org> Signed-off-by: Ray Zhang <rayz@codeaurora.org>
2017-08-20drm/msm: Remove __user from __u64 data typesJordan Crouse
__user should be used to identify user pointers and not __u64 variables containing pointers. Change-Id: Ic0dedbad30b0244e7fa3b34858d5020001b87330 Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-07-19drm/msm: add support for HDR playback control sequenceAbhinav Kumar
HDR playback needs metadata to be sent to the sink while the playback is ongoing and needs a proper teardown sequence when the playback has ended with respect to the infoframe being sent to the sink. This needs a state machine to synchronize start/stop of the playback with sending the right metadata along with resetting the infoframe HDMI registers. Add support for this HDR playback control state machine. Change-Id: I229183531f7ccb48579e74d02e0a1dea1cb945ff Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2017-07-03drm/msm: Add a parameter query for the number of ringbuffersJordan Crouse
In order to manage ringbuffer priority to its fullest userspace should know how many ringbuffers it has to work with. Add a parameter to return the number of active rings. Change-Id: Ic0dedbada6010dd5122e8409141fd23b414d73e4 Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-07-03drm/msm: Change the profiling structureJordan Crouse
Remove the queued time from the profile struct and turn the submit time into a proper timespec (tv_sec + tv_nsec). This should sync up better with what userspace is used to seeing. Change-Id: Ic0dedbad0621fa248e6cffde2d1ee3f9b609e19d Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-06-27drm/msm: pass the HDR metadata sent from userspace to sinkAbhinav Kumar
Use metadata information sent from userspace to configure sink. This info shall be used later on to program the HDMI specific infoframe registers. Change-Id: I26634452d8c3ab7ab49a65e89ad52a3961c64855 Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2017-06-27drm/msm/sde: add support for a5x tile pixel formatsAlan Kwong
Add new modifier for a5x tile and support for a5x tile pixel format layout calculation. CRs-Fixed: 2009714 Change-Id: If0d1d6ba8d8d3e36dd5d5aef4a9b217d8e5779ba Signed-off-by: Alan Kwong <akwong@codeaurora.org>
2017-06-26drm/msm/sde: add tp10 compressed format supportabeykun
Add MOD_QCOM_TIGHT modifier on top of DRM_FORMAT_NV12 base pixel format and update plane size calculation to support compressed tp10 buffers. Change-Id: I12eb9fecfd34d488eda92f6217b6ca51e466c6f6 Signed-off-by: Alexander Beykun <abeykun@codeaurora.org>
2017-06-26drm/msm/sde: add p010 format support in sdeabeykun
Add MOD_QCOM_DX modifier on top of DRM_FORMAT_NV12 base format and update plane size calculation to support linear and compressed p010 buffers. Change-Id: I93bd9557e5c4a4a038891f24730edbbec1dba262 Signed-off-by: Alexander Beykun <abeykun@codeaurora.org>
2017-06-26drm/msm: add sink capabilities for HDR supportSrikanth Rajagopalan
Populate HDR sink capabilities to a DRM blob. These capabilities shall be used by the userspace to calculate the sink HDR properties and setting them. Change-Id: I7c2dbca375c456052ad73889b011553090bcf8f1 Signed-off-by: Srikanth Rajagopalan <rasrik@codeaurora.org>
2017-06-19drm/msm: Add a submit queue flag to disable the QoS timerJordan Crouse
Allow priviliged (CAP_SYS_ADMIN) processes to disable the hangcheck / quality of service timer to allow individual submits to run for as long as they need. Change-Id: Ic0dedbad1399ebe7c6db74ba374bfa3a6f72917a Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-06-19drm/msm: Add submit queue queriesJordan Crouse
Add the capability to query information from a submit queue. The first available parameter is to query the number of GPU faults that have been caused by the queue. The driver can periodically query this value to see if it has caused a fault and take action accordingly. Change-Id: Ic0dedbadc68d5782c0b8b71d89722742aa6aaf1a Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-06-12drm/msm: Add per-instance submit queuesJordan Crouse
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>
2017-06-06drm/msm/sde: add secure use case propertiesAbhijit Kulkarni
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>
2017-06-02drm/msm: Implement shared virtual memory ioctlSushmita Susheelendra
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>
2017-05-15drm/msm: profile submit_time in nanosecond resolutionSharat Masetty
The initial version of the patch save the command submit_time and queue_time in seconds, but its desired by the users of this profiling API to return the time in nanoseconds resolution. Change-Id: I3a56e3ffd3ebe86f51a00a12b7c3e7c4b4c9a956 Signed-off-by: Sharat Masetty <smasetty@codeaurora.org>
2017-05-10drm/msm: make msm_drm.h uapi header safe for C++Manoj Kumar AVM
fixes the C++ related compilation issues. CRs-Fixed: 2038080 Change-Id: If6b4f379eb27f3de6153b8666f733c0b8245851f Signed-off-by: Manoj Kumar AVM <manojavm@codeaurora.org>
2017-05-10drm/msm: add extern C guard for the UAPI headerEmil Velikov
CRs-Fixed: 2038080 Change-Id: Idf66084b7d07c828d96538dfb7430da2fed796f2 Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Acked-by: Rob Clark <robdclark@gmail.com> (over irc) Git-commit: a62424e29dc33fdf1cf9efadfbf54deefbcfe7bf Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a62424e Signed-off-by: Manoj Kumar AVM <manojavm@codeaurora.org>
2017-05-10drm: add extern C guard for the UAPI headersEmil Velikov
CRs-Fixed: 2038080 Change-Id: Id6f4ac3d41fec4804b1449f303d4872bf7a1fd51 Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Git-commit: ebbb0e5cfd2ceb1150b1af7f9fcf7aeebfb1b69f Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ebbb0e5cf Signed-off-by: Manoj Kumar AVM <manojavm@codeaurora.org>
2017-05-10drm: Make drm.h uapi header safe for C++Daniel Vetter
virtual is a protected keyword in C++ and can't be used at all. Ugh. This aligns the kernel versions of the drm headers with the ones in libdrm. v2: Also annote with __user, as request by Emil&Ilia. CRs-Fixed: 2038080 Change-Id: I184b99e51fc5c6efd4eb6f5ed9da2858b7972a6e Cc: Ilia Mirkin <imirkin@alum.mit.edu> Cc: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/1459350753-18320-1-git-send-email-daniel.vetter@ffwll.ch Git-commit: 4c4925fa0c2b5943655ef28b2d6a379961db551f Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4c4925f Signed-off-by: Manoj Kumar AVM <manojavm@codeaurora.org>
2017-05-04drm/msm: Support secure rendering for A5XX targetsJordan Crouse
A5XX targets support GPU rendering on secured surfaces by going into a special secure mode to execute the commands. In secure mode GPU rendering can only write to secure buffers that have been mapped in an appropriately secured pagetable. In secure mode the GPU can read both secure and unsecure buffers and the CP engine can only access unsecured buffers (so commands do not need to be secure). Secure buffers virtual addresses must fall into a specific range; this is the clue to the GPU that it should use the secure pagetable instead of the regular one. For A5XX targets that range will start at 0xC0000000 and be 256MB in size. All secure buffers in all processes share the same pagetable. Add a secure address space for A5XX targets and automatically trigger into secure mode if any buffer in the submission is marked as secure. Change-Id: Ic0dedbad8f7168711d10928cd1894b98f908425f Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-05-03drm: Make drm.h uapi header safe for C++Daniel Vetter
virtual is a protected keyword in C++ and can't be used at all. Ugh. This aligns the kernel versions of the drm headers with the ones in libdrm. v2: Also annote with __user, as request by Emil&Ilia. Change-Id: I7e03ac0b39d6266ff865c00feb97bec6bc5d753b Cc: Ilia Mirkin <imirkin@alum.mit.edu> Cc: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Patch-mainline: dri-devel @ 30 Mar 2016 15:12 Signed-off-by: Yajun Li <yajunl@codeaurora.org> Signed-off-by: Jin Li <jinl@codeaurora.org>
2017-04-26drm/msm: Add explicit sync operationsJordan Crouse
Add sync operations to give the user more control over the behavior of cached buffers. Change-Id: Ic0dedbad67e19a6b30b2cc5f6b2c7bbe52c2b708 Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-04-24drm/msm: Enable per cmdstream profiling for the userSharat Masetty
If the user provides a profile buffer identified with a buffer type MSM_SUBMIT_CMD_PROFILE_BUF, then the driver records the kernel clock time and gpu ticks at the time of cmdstream submission, and the GPU records the ticks just before the start of the cmdstream execution and right after the end of the cmdstream execution. Change-Id: Ic6298ec5919b18e976ae089ffb0860b8165ce4f3 Signed-off-by: Sharat Masetty <smasetty@codeaurora.org>
2017-04-10drm: edid: add support for parsing additional EDID blocksAbhinav Kumar
Currently the DRM upstream EDID parser doesn't have support to parse all EDID blocks such as extension tag blocks. Add support for parsing these blocks and extract necessary info. Change-Id: Iae92de79960f6f0e73a8e2ff7944c1bf101d90a6 Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2017-03-29drm/msm: Add performance counter trackingJordan Crouse
Adreno GPUs have a certain number of fixed performance counters most of which can be programmed to a large number of different items (countables). A centralized database in the kernel is needed to make the most efficient use of counters across processes. Add performance counter tracking and APIs to allow applications to reserve performance counters by requesting a group ID and a countable (countables differ from block to block). The kernel will check to see if an active counter is already selected for that countable or if a new one should be assigned. Different processes can share the same counter if they both need the same countable. Counters are reserved with DRM_IOCTL_MSM_COUNTER_GET which returns a counter ID for the reserved counter and the hi/lo offset of the counter register. The reserving application can either read the counter from within a PM4 stream or it can use the group ID and counter ID and read the value of the counter with DRM_MSM_COUNTER_READ. After the counter is no longer needed DRM_IOCTL_MSM_COUNTER_PUT returns it and it can be released for other countables if no other processes are sharing it. Reservations are tracked for each process and cleaned up if the process dies without putting back the counters. Change-Id: Ic0dedbadc45e85ab0063331b39ca6f3289523038 Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-03-07drm/msm: Remove DRM_MSM_NUM_IOCTLSJordan Crouse
The ioctl array is sparsely populated but the compiler will make sure that it is sufficiently sized for all the values that we have so we can safely use ARRAY_SIZE() instead of having a constantly changing #define in the uapi header. Change-Id: Ic0dedbad39f30abb8ce340289089d2f3a5f6fe36 Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-03-07drm/msm: Move QTI specific ioctls to avoid conflictJordan Crouse
To avoid conflicting with upstream changes when upgrading the kernel version, move QTI specific ioctls to start at command number 0x40. This provides plenty of space for the upstream ioctl list to grown before there are conflicts. Change-Id: Ic0dedbadad9d3a24467f3d5992104754e31cd769 Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-02-22drm/msm: Set IOMMU map attributesJordan Crouse
Remove the IOMMU_WRITE bit from buffer objects that are marked MSM_BO_GPU_READONLY. Add a new flag (MSM_BO_PRIVILEGED) to pass through IOMMU_PRIV for those IOMMU targets that support it. Change-Id: Ic0dedbad8d9d3f461a47ea093fad3fdd90f46535 Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-02-22drm/msm: Add support for multiple ringbuffersJordan Crouse
Add the infrastructure for supporting multiple ringbuffers. Change-Id: Ic0dedbada90ec5c4c8074ffce33c3fe275b0cda1 Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-02-22drm/msm: Add a property for the GMEM baseJordan Crouse
Return the base address of GMEM in virtual address space as a parameter. Change-Id: Ic0dedbad3b849052313e4673efcf6c22bc81f21f Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-02-22drm/msm: Add hint to DRM_IOCTL_MSM_GEM_INFO to return an object IOVAJordan Crouse
Modify the 'pad' member of struct drm_msm_gem_info to 'hint'. If the user sets 'hint' to non-zero it means that they want a IOVA for the GEM object instead of a mmap() offset. Return the iova in the 'offset' member. Change-Id: Ic0dedbad543df80fdc4b74cd1cd924e9b8534b44 Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-02-13drm/msm: add timestamp paramRob Clark
We need this for GL_TIMESTAMP queries. Note: currently only supported on a4xx.. a3xx doesn't have this always-on counter. I think we could emulate it with the one CP counter that is available, but for now it is of limited usefulness on a3xx (since we can't seem to do time-elapsed queries in any sane way with the existing firmware on a3xx, and if you are trying to do profiling on a tiler you want time-elapsed). We can add that later if it becomes useful. Change-Id: Ic0dedbad46a7cb22391de89ed2341a5a378e1bb0 Signed-off-by: Rob Clark <robdclark@gmail.com> Git-commit: 6c77d1abe61797239533918d7a0336fc84f4aef1 Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-02-13drm/msm: add max-freq gpu param to uapiRob Clark
We need this in userspace for interpreting some of the perf ctrs. Note possibly not quite sufficient if we had some frequency mgmt approach other than race-to-idle. Not really sure what the best thing to do if we did. Although displaying results as a percentage of max frequence seems sensible(ish) if we did. Change-Id: Ic0dedbad1d8481cd2609ae0d86d4de6045f0d22e Signed-off-by: Rob Clark <robdclark@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com> Git-commit: 4102a9e5325941223fbfa0a56175e9efb3d4385a Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2016-12-01drm/msm/sde: update pixel extension uapiabeykun
Patch changes pixel extension uapi to match FB driver and exposes QSEED3 filter configuration defines. Change-Id: Id5dba041df77d1c663742fcda74f420ca3d228f9 Signed-off-by: abeykun <abeykun@codeaurora.org>
2016-11-30drm/msm/sde: Add support for Memory Color in planeBenet Clark
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>
2016-11-11drm/msm/sde: add qseedv3.x support for sdeabeykun
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>