Commit Graph

53 Commits

Author SHA1 Message Date
Qing Huang
afeb7da4d7 disp: msm: sde: Add roi region for spr
Provide spr_roi region for spr over fetch in partial update.
Support different the roi size of connector and crtc.

Change-Id: Ic78a20badcafefd353a97532281dae26e5a772de
Signed-off-by: Qing Huang <quic_huangq@quicinc.com>
2023-08-09 01:28:39 +08:00
Yahui Wang
e280657f7f disp: msm: support 8bit and 10bit bpp switch
Support 8bit and 10bit bpp switch for display.

Change-Id: Ia5fcb330df95618596377773d0598be2b5609de1
Signed-off-by: Yahui Wang <quic_yahuiw@quicinc.com>
2023-05-25 10:15:23 +08:00
Gopikrishnaiah Anand
e556c1083f disp: msm: sde: Split demura config into two blobs
Some of the demura config parameters are single buffered. When demura
config is reprogrammed by user-space clients, single buffered updates
can cause artifacts on screen. Change splits the double buffered and
single buffered configs into different payloads to allow user-space
to update double buffered config.

Change-Id: I493b86944f7c2d630dcc1b863174e816cf8c82ed
Signed-off-by: Gopikrishnaiah Anand <quic_agopik@quicinc.com>
2023-03-05 02:31:33 -08:00
Mitika Dodiya
c9298e3712 disp: msm: sde: add demura v2 support
Add support for demura v2 by adding demura blocks
2 and 3 for pineapple target.

Change-Id: I9e6107480ab44853ca49e6396787378c5c70557a
Signed-off-by: Mitika Dodiya <quic_mdodiya@quicinc.com>
2022-11-14 22:18:38 -08:00
qctecmdr
58285a9dd0 Merge "drm: msm: sde: Add support for SPR V2" 2022-11-09 07:29:49 -08:00
Christopher Braga
d617e25729 drm: msm: sde: Add support for SPR V2
Introduce support for SPR V2 features. Full validation
has been performed.

Change-Id: Ia83c06b30729fef12cae014ee5ce4792236a0a8a
Signed-off-by: Christopher Braga <quic_cbraga@quicinc.com>
2022-11-07 15:54:04 -05:00
qctecmdr
086d6e622a Merge "msm: drm: sde: Add support for UCSC via AHB programming" 2022-10-28 08:05:48 -07:00
Shamika Joshi
33dcc003f6 disp: msm: sde: add support for 45deg dir & corner detection
Pineapple target adds support for 45deg Directional & Corner
Detection features for Qseed6. This change adds support for
enabling these features through ahb & lutdma programming,
and updates the UAPI as well.

Change-Id: I7910d840cc4e5d1a7ce9444a41e189171487dbca
Signed-off-by: Shamika Joshi <quic_shamjosh@quicinc.com>
2022-10-26 14:44:05 -07:00
Alisha Thapaliya
c2364bdd17 msm: drm: sde: Add support for UCSC via AHB programming
Add support for UCSC block parameters that includes unmult,
IGC/GC modes, CSC coefficients, and clamps.

Change-Id: I3ef4b729e9c973a98d53dc583233bf5e004035fa
Signed-off-by: Alisha Thapaliya <quic_athapali@quicinc.com>
2022-10-24 10:53:36 -07:00
Veera Sundaram Sankaran
51775dd093 disp: msm: uapi: increase SDE_FRAME_DATA_MAX_PLANES size
MDSS 9.0.0 supports 10 pipes, so modify the max_planes
accordingly. This is used for the frame_data transfer
between user/kernel and since its a new feature added
there is no backward compatibility that needs to be handled
for this uapi change. Add corresponding bound check during
the usage.

Change-Id: I0853fcc55395855d798f2c1b03cf9bf7b4bd3c96
Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
2022-08-19 13:10:39 -07:00
Akshay Ashtunkar
9423445a34 disp: msm: sde: add custom event to notify OPR, MISR value change
This change collects the OPR, MISR values. If the values are
different than the previous then notify to client with custom event.

Change-Id: I2546439be1f665d90e6505d65283d28096bf7cdd
Signed-off-by: Akshay Ashtunkar <quic_akshayaa@quicinc.com>
2022-05-10 09:51:16 +05:30
Rahul Sharma
d28f68dede disp: msm: add augen3 configuration
Add augen3 configuration for SA8155/SA8195/SA6155 family.

Change-Id: I206f0a636ef9f33b4c46cb0159ae2659a3dced59
Signed-off-by: Rahul Sharma <quic_rahsha@quicinc.com>
2022-04-28 07:42:28 -07:00
Gopikrishnaiah Anand
486bd6b7a1 drm: msm: add spr by pass support
SPR hardware can be configured by user-space clients in bypass or
normal mode. Change adds support to allow clients to enable spr
in bypass or normal mode.

Change-Id: I04641774de91ec2b40af00c665ceffd72a255eea
Signed-off-by: Gopikrishnaiah Anand <quic_agopik@quicinc.com>
2022-03-04 12:13:40 -08:00
Lei Chen
ec9231090c disp: msm: sde: add support for DS2 and DS3
Expand the DS enum and increase the DS max number
to support DS2 and DS3.

Change-Id: Iff8d591fece20528e30449c228db5cb2047cdded
Signed-off-by: Lei Chen <quic_chenlei@quicinc.com>
2022-01-28 12:58:06 +08:00
qctecmdr
1d2901d59f Merge "msm: drm: uapi: Add uapi support for sixzone saturation adjustment" 2022-01-21 11:18:14 -08:00
Narendra Muppalla
43d8d04e73 disp: msm: sde: add DE LPF blend support
This change adds Detail Enhancer LPF blend support from MDSS 9.0.
Support is added for qseed block in both SSPP and Destination Scaler.

Change-Id: Ic8e3732059498a156f51fb93c5fd6638bd731c57
Signed-off-by: Narendra Muppalla <quic_nmuppall@quicinc.com>
2022-01-19 17:25:58 -08:00
Alisha Thapaliya
c108771c7f msm: drm: uapi: Add uapi support for sixzone saturation adjustment
In Kalama for sixzone there are 2 new lut entries for saturation
high and saturation medium. There is also a new saturation
adjustment curve, and a SV enable feature.

Add entries in uapi to accomodate the corresponding programming
for these 4 new registers.

Change-Id: Ib9a8a4e233da25de90480c09c40536546f614a01
Signed-off-by: Alisha Thapaliya <quic_athapali@quicinc.com>
2022-01-19 16:05:32 -08:00
Alisha Thapaliya
13865bc425 disp: msm: sde: Add support for LTM2/3 for kailua
Some of the DPU hardware can have LTM2/LTM3 blocks.
Change adds register DMA to support LTM2/3 blocks.

Change-Id: I5703872994156b42decaaf6d383f8aded218c117
Signed-off by: Alisha Thapaliya <quic_athapali@quicinc.com>
Signed-off-by: Renchao Liu <quic_rencliu@quicinc.com>
2022-01-19 11:48:40 +08:00
Jeykumar Sankaran
cf39b00660 Merge branch 'display-kernel.lnx.5.10' into display-kernel.lnx.1.0
Change-Id: I5d2b08380b6b0eb09492b950fb38cd9a0b3196c1
2021-12-08 12:37:35 -08:00
Veera Sundaram Sankaran
5929098cfa uapi/drm: add data structure for dnsc_blur HW block programming
Define the data structure and relevant flags for user mode program
to configure the downscale blur block.

Change-Id: Ic2916f5ac8626b93ab8b7adc7270f1e4bf1ec23a
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2021-12-01 15:11:15 -08:00
qctecmdr
195baab07b Merge "disp: msm: sde: add check for sunlight visibility scale" 2021-11-14 06:03:48 -08:00
Ping Li
dd2e1fd03f disp: msm: sde: add check for sunlight visibility scale
Add check to clip the sunlight visibility scale to an upper limit of
MAX_SV_BL_SCALE_LEVEL * 4.

Change-Id: I8cc7bf8fba90e115d046ec030983801ce6d93c1d
Signed-off-by: Ping Li <pingli@codeaurora.org>
Signed-off-by: Yuchao Ma <yuchaom@codeaurora.org>
2021-11-10 09:43:35 -08:00
Abhijit Kulkarni
683f6bc6af disp: msm: sde: send event on trusted vm transition
This change sends a notification to user mode after msm_drm
driver releases the mmio and irq resources on trusted vm transition
request. This is required as user mode has no other way to know
when the resources where actually released. User mode driver earlier
relied on retire fence signaling but retire fences are send before
releasing the hw.

Change-Id: Ia218cfcbf398b2de1ad9578fb9baedf348b067df
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
2021-11-04 11:45:25 -07:00
qctecmdr
195bb007d8 Merge "disp: msm: sde: update rc checks for mask configuration" 2021-10-25 22:07:45 -07:00
Ping Li
629228c353 disp: msm: sde: add new support for digital dimming
Add new properties to support dynamically turning on and off digital
dimming and setting new minimum backlight.

Change-Id: I3b94190877d556768ba2c92ec59432dec44de0de
Signed-off-by: Ping Li <pingli@codeaurora.org>
2021-10-05 21:15:09 -07:00
Gopikrishnaiah Anandan
51de59d06b disp: msm: sde: update rc checks for mask configuration
Rounded corner mask layer height/width should match the panel height
and width. Change updates rounded corner mask configuration check
to ensure that dimensons match.

Change-Id: I97f544b0a7df1ebea6d8aa3321813649ebc69d82
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
2021-08-26 20:25:45 -07:00
Ravi Ranjan
eacfafbaed mmm_color_format: update alignment for linear RGBA8888 format
Video requires width of linear RGBA8888 format byte-aligned to 256.

Change-Id: I7fa3822abb2912ef78e192756d19a5f8468bd493
Signed-off-by: Ravi Ranjan <rravi@codeaurora.org>
2021-06-13 19:13:15 -07:00
Ping Li
9a17c5783b disp: msm: sde: add support for digital dimming
Add a new connector property to allow DC dimming feature to set
dimming backlight LUT. This change also adds a connector event
for client to register for backlight info needed for digital dimming
feature, including OS brightness, OS brightness_max, panel_backlight,
panel_backlight_max, and scale factors from ABA and LTM features.

Change-Id: I78f713fb2b965ca24effd973b4dfa9ff07a852f8
Signed-off-by: Ping Li <pingli@codeaurora.org>
2021-05-25 16:16:18 -07:00
Raviteja Tamatam
3789258773 disp: msm: sde: add allowed_dsc_reservation_switch capability
This change adds allowed_dsc_reservation_switch to determine if
dsc seamless switch is supported for DP. Also, based on the
flag, it determines and populates the required number of
available resources for DP.

Change-Id: I9cd7219a50d352369c5bc8386ce7dc25c30b80b6
Signed-off-by: Raviteja Tamatam <travitej@codeaurora.org>
2021-05-20 21:36:05 -07:00
Gurkaran Singh
d750ee5742 mmm_color_fmt: Added P010 512-bit alignment format
Change-Id: I5ae93dff7d04e5ca2915061751f85691c53abe67
Signed-off-by: Gurkaran Singh <gurksing@codeaurora.org>
2021-05-12 11:03:22 -07:00
Naseer Ahmed
c98a0bf251 display-drivers: Fix for hermetic builds
* Remove shell usage.
* Remove legacy makefile for UAPI headers.

Change-Id: Ia037e19899d6f1c2a6107e174148ce15c8d4a7e1
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
2021-05-07 12:49:37 -07:00
Nilaan Gunabalachandran
c5835a215e disp: msm: sde: frame data feature
Add support to send a data packet of info, written to
predefined buffers, providing information about each submitted frame.
Add required UAPI definitions for frame data buffers and event
notification.
Add support to read ubwc statistics from hw, based on defined rois.

Change-Id: I51f279de98ae4e2a02b0df6943d334764011d5db
Signed-off-by: Nilaan Gunabalachandran <ngunabal@codeaurora.org>
2021-04-06 08:49:49 -04:00
Gopikrishnaiah Anandan
e7c7283510 disp: msm: sde: add support for noise layer
DPU has added support for noise injection into the layer stack. Change
adds support for noise layer programming and exposes the hardware block
to the user space modules.

Change-Id: Id176eea54fcdcd5d399457b14133a1ccde07299f
2021-02-23 15:56:36 -08:00
Christopher Braga
9a5a42c453 msm: drm: sde: Add support for FP16 via AHB programming
Introduce support for the FP16 format and FP16 color processing
blocks. This includes support for FP16, FP16 UBWC, and inline
rotation on tiled FP16 pixel data.

Change-Id: I06a70cab5447140598682f687129d4f8662524b2
Signed-off-by: Christopher Braga <cbraga@codeaurora.org>
2021-02-11 12:31:22 -08:00
Ravi Ranjan
53bcfe5906 mmm_color_format: Align NV12/NV21 formats to 128x32
NV12 and NV21 formats need to be aligned to 128x32 as per the
requirement.

Change-Id: Ic03ac5786703d8d46a2f2a57559ac334d4e66971
Signed-off-by: Ravi Ranjan <rravi@codeaurora.org>
2021-01-27 22:35:04 -08:00
Samantha Tran
13bb35435c disp: add changes to generate display dlkm in android
Add Android make files and Kbuild files to support dlkm
for display driver. Also resolve header and config issues
to allow successful compilation of display driver.

Change-Id: I04d6233864ea54c0a808b295fbdccb83058f1fd2
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
Signed-off-by: Prabhanjan Kandula <pkandula@codeaurora.org>
2021-01-15 00:32:42 -08:00
Linux Build Service Account
bcce6e27b2 Merge "disp: msm: use connector properties to expose and set panel mode" into display-kernel.lnx.5.10 2021-01-13 14:23:32 -08:00
Lei Chen
ab3f86f918 disp: msm: use connector properties to expose and set panel mode
Expose panel mode from kernel to SDM with SDE connector property
CONNECTOR_PROP_MODE_INFO and set panel mode from SDM to kernel
with SDE connector property CONNECTOR_PROP_SET_PANEL_MODE for
avoiding private change in upstream code in QGKI kernel.

Change-Id: I0629dad9399967cc1118ac02ce30597076ca367d
Signed-off-by: Lei Chen <chenlei@codeaurora.org>
2021-01-13 23:40:22 +08:00
Ingrid Gallardo
a005a785fe disp: msm: add support to request mdp core clk through mmrm
For Waipio onwards, mdp core clock rate needs to be requested
through the mmrm driver, which will make sure the requested
rate can be sustained by the its power rail, which is shared
by multiple clients.
Current change adds the support to request the mdp core clk rate
through mmrm driver as well as returns the corresponding failures
to user space during when a rate cannot be supported by the
system.

Change-Id: Icc0e8ab5b71e8c99baf7913bdbd96d9504cc11ae
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2021-01-12 14:07:00 -08:00
Orion Brody
4403e4d819 disp: include: uapi: add QCOM fourcc modifiers
Adds QCOM fourcc modifiers to support frame buffer size
calculations for linear and compressed tp10 format and
a5x tile formats.

Change-Id: I26df3b1680b2ad5bd548f90eaaba011b4d9f5bd8
Signed-off-by: Orion Brody <obrody@codeaurora.org>
2020-12-17 12:11:05 -08:00
Raviteja Tamatam
4e007479a6 disp: msm: update uapi and device_caps change in rotator
Added uapi and device_caps changes to enable rotator
compilation and address video device registration failure.
Device_caps field is must for video device registration
unless it is sub device.

Change-Id: I7e2f517e5eb3fc5ec6306bd7cee5972dbbaff3d1
Signed-off-by: Raviteja Tamatam <travitej@codeaurora.org>
2020-07-29 19:59:55 +05:30
Lei Chen
2bcfcab1cb drm: define a new SDE custom IOCTL for early wakeup display feature
Add this new IOCTL for user-space to wake up kernel display as soon
as it gets a new frame update.

Change-Id: Icd45b47e99ca0ea996e46ae8335a29f6636bf406
Signed-off-by: Lei Chen <chenlei@codeaurora.org>
2020-07-13 10:08:00 +08:00
Lakshmi Narayana Kalavala
a27534e143 disp: msm: sde: Add checksum support for LTM for lahaina target
This change adds the support for checksum collection and notifies
to user space as part of drm event.

Change-Id: Ib2a6c38c74d1fb60d274cdb685b74979202604eb
Signed-off-by: Lakshmi Narayana Kalavala <lkalaval@codeaurora.org>
2020-06-15 20:13:14 -07:00
Steve Cohen
ee91905928 disp: inc: uapi: fix UAPI headers to compile with UAPI_HEADER_TEST
Fix headers so that they compile with UAPI_HEADER_TEST.

Change-Id: I2585a18b02abcc3a52ec0079aa4cc1ce55ee1b56
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
2020-05-04 19:48:37 -07:00
Christopher Braga
44b0851e91 msm: drm: uapi: Add PCC flag to specify PCC evaluation position
A new position control register has been added to the DSPP PCC
on Lahaina. This register controls whether PCC is invoked
before or after GAMUT mapping.

Introduce a PCC UAPI flag to indicate if PCC should be placed
before the GAMUT block. By default PCC will be placed after
GAMUT.

Change-Id: I0bcc35e0ce7f87c7fa29922a6a485abe479d893a
Signed-off-by: Christopher Braga <cbraga@codeaurora.org>
2020-04-27 10:58:06 -07:00
Gopikrishnaiah Anandan
df7e6040f8 drm: add uapi support for demura feature
DPU hardware supports demura feature, which needs to be controlled by
the user-space client.Change adds demura uapi structure for driver clients.

Change-Id: Ifa8c68b7f6a123af6451c110d53b3bc15240d45a
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
2020-03-30 17:42:45 -07:00
qctecmdr
56d95ba3e2 Merge "disp: msm: sde: add support for spr hw block configuration" 2020-03-20 15:31:25 -07:00
Tatenda Chipeperekwa
9c262723f4 include: uapi: add Kbuild entries for msm_hdmi_hdcp_mgr.h
Add Kbuild entries for msm_hdmi_hdcp_mgr.h to ensure that this
uapi header is copied out from display techpack path for
userspace clients to use after kernel compilation.

Change-Id: I0780a1eb9e85badabc58b172d46c73822c2210e3
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-03-17 13:00:55 -07:00
Prabhanjan Kandula
b3a61a8922 uapi/drm: add data structure for spr block programming
This change defines data structure for user mode program
to configure SPR block of MDSS hw.

Change-Id: Ia4edb5af757541309c50047f4b7476cac8ddd39f
Signed-off-by: Prabhanjan Kandula <pkandula@codeaurora.org>
2020-03-16 22:05:51 -07:00
Tatenda Chipeperekwa
9b75dd6713 disp: hdcp: add driver to handle userspace interactions
Create a new driver to handle sysfs and topology events that are
related to application/userspace layer interactions for HDCP
functionality. In turn, this will create a clear separation from
the HDCP QSEECOM layer that defines the communication mechanism
between the kernel and the TrustZone layers.

This implementation is based on a snapshot of the msm_hdcp
driver as of this commit 10ffbfa2c7e03c09 ("drm/msm/dp: Snapshot
of DP and supporting files") on kernel 4.19 project.

Change-Id: I834620420b8d6a580f1905a2b3250cf4e5b8f293
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-03-13 12:21:34 -07:00