Some structure names and their fields are inappropriate
in comments of uapi header file. Fix the same as well.
Change-Id: If87f7befc8d25638eed82dc9a5200943aec27dcb
Signed-off-by: Sanjay Yadav <quic_sanjyada@quicinc.com>
Not all VBOs require the zero page mapped. These VBOs can use the
KGSL_MEMFLAGS_VBO_NO_MAP_ZERO flag to reduce time spent on allocate and
bind operations. VBOs that use this flag are mapped only to the ranges
bound to it. So, when binding and cleaning up those VBOs make sure we only
unmap the ranges that were already mapped.
Change-Id: I995db2d94f5e2c58ebdea3c6de1e4bc3df841093
Signed-off-by: Lynus Vaz <quic_lvaz@quicinc.com>
Add properties KGSL_PROP_GPU_SECURE_VA_SIZE and
KGSL_PROP_GPU_SECURE_VA_INUSE for secure VA size
and usage query. This is needed by userspace to
allocate and manage secure heap.
Change-Id: I423857ec7165bcbb5f896b15c0b1a787791d6e64
Signed-off-by: Deepak Kumar <quic_dkumar@quicinc.com>
AQE is Application QRISC Engine which runs application code
for Mesh shading and Ray pipeline. The application code is
essentially a scheduler. It looks at SP output and schedules
draws and kernels to run via regular SQE.
Change-Id: I4e5924f4a72655c807fa9b8356d15fee880800dd
Signed-off-by: Hareesh Gundu <quic_hareeshg@quicinc.com>
Add a new KGSL_PROP_UCHE_TRAP_BASE adreno property so that userspace can
query UCHE_TRAP_BASE.
Change-Id: Ib80332f2500d37c07f92eb647f5d35a14f09daa7
Signed-off-by: Lynus Vaz <quic_lvaz@quicinc.com>
For Gen7 hardware feature support information is available
in a register. Read HW feature support information and update
software feature configuration accordingly. Also add two new
kgsl properties for userspace to query HW feature info
1) KGSL_PROP_IS_RAYTRACING_ENABLED
2) KGSL_PROP_IS_FASTBLEND_ENABLED
Change-Id: I7ac395e91f7f8f173717a30c7750064c1f10d13f
Signed-off-by: Hareesh Gundu <quic_hareeshg@quicinc.com>
Add support for querying GPU VA size through IOCTL_KGSL_DEVICE_GETPROPERTY
from userspace. This info can be used by the userspace to allocate buffer
of appropriate size.
Change-Id: Ibbcac033d964a1cb171bc18f8f8df3dff49247c9
Signed-off-by: Kaushal Sanadhya <quic_ksanadhy@quicinc.com>
Add an Adreno property for LPAC so that userspace can
check if KGSL has LPAC enabled before sending an LPAC
context.
Change-Id: I7a83d2510c2f4e65250bd1bafebce6ff2c97f9a7
Signed-off-by: Urvashi Agrawal <quic_urvaagra@quicinc.com>
Make LPAC related changes to support LPAC on
hwsched.
Change-Id: I4316e2e4e36fc79d05d738669d75a67cd6e6a934
Signed-off-by: Urvashi Agrawal <quic_urvaagra@quicinc.com>
Signed-off-by: Kamal Agrawal <quic_kamaagra@quicinc.com>
IOCTL_KGSL_RECURRING_COMMAND number is conflict with
the IOCTL_KGSL_GET_FAULT_REPORT number. Hence update
recurring command ioctl number to have unique one.
Change-Id: I1fdf18cd6a53d12eb47b468920f1592b06a989ea
Signed-off-by: Hareesh Gundu <quic_hareeshg@quicinc.com>
EVA kernel driver need to handle gpu fault and
GMU readiness notification. Hence add support
for SRCU notifier to deal with these events.
Change-Id: I5426d64ae0e6bc64e56aabbf6fb4aa00cd8cb898
Signed-off-by: Hareesh Gundu <quic_hareeshg@quicinc.com>
IOCTL_KGSL_RECURRING_COMMAND will be used in Late Stage
Reprojection (LSR) to submit recurring workload. KMD will
send the recurring command object information to GMU through
HFI message, when KMD receives recurring ioctl with the
KGSL_DRAWOBJ_START_RECURRING flag. Recurring command will be
untracked from GMU when application invokes recurring ioctl
with the KGSL_DRAWOBJ_STOP_RECURRING flag. Overall only one
recurring command will be active and it will be
submitted to GPU upon receiving IPC interrupt from EVA.
Change-Id: If9e81c0ff845bf84ec60b21c40da46c68289280b
Signed-off-by: Hareesh Gundu <quic_hareeshg@quicinc.com>
The select register for TSE, LRZ, RAZ and HLSQ counters are virtualized.
Hence we need to program CP aperture control to route the register write
to correct pipe.
Also, since these registers do not have retention, update the power up
list to include the pipe id so that CP can program its aperture correct.
Change-Id: I7d553b19e81f3ea58bd870efd7fcc1a6bd45a875
Signed-off-by: Mohammed Mirza Mandayappurath Manzoor <quic_mmandaya@quicinc.com>
To aid developers in tracking down errors in the application, expose a new
IOCTL to provide GPU fault report.
This will help to retrieve diagnostic information about faults that might
have caused GPU hang. Application developers can use this information to
debug issues.
Faults tracking for a context can be enabled by specifying a flag
(KGSL_CONTEXT_FAULT_INFO) during context creation. Fault report can be
queried with new IOCTL_KGSL_GET_FAULT_REPORT ioctl once the context is
invalidated.
Change-Id: I7372b18f3b235183bc5dd070a7bdf92a0484bacb
Signed-off-by: Kamal Agrawal <quic_kamaagra@quicinc.com>
Snapshot of the Adreno GPU (KGSL) driver from msm-5.10 commit
b809380cd817 (Merge "defconfig: enable new touch NT36XXX_SPI").
Add in the Makefile and other changes required to compile kgsl code
outside the kernel tree.
Change-Id: I63801a9c9ebcd6e2dbd20f023b664caf7255818c
Signed-off-by: Lynus Vaz <lvaz@codeaurora.org>