커밋 그래프

64 커밋

작성자 SHA1 메시지 날짜
Abhijit Kulkarni
970ea08286 disp: msm: sde: fix issues with dsc config
This change fixes issues which causes corruption for dual dsi
dsc panel. It fixes the number of slices configured on
dsc hw block and handles deriving correct picture width from
mode timings. Additionally it fixes the core max buffer sizes
used by the hw block.

Change-Id: Iec0ef80528425ffcb5f29d469bd181eb7040de16
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
2020-02-12 22:19:15 -08:00
qctecmdr
c89633ed36 Merge "disp: msm: add support for variable compression ratios" 2020-02-03 00:11:10 -08:00
qctecmdr
da7839e18e Merge "disp: msm: use iterator APIs to walk the connector list" 2020-01-30 17:35:51 -08:00
Abhinav Kumar
64ee2c4d72 disp: msm: dsi: add generic API for calculating horizontal timings
Add a generic API which calculates the horizontal timings based
on the compression type in case compression is enabled and even
for non-compression cases.

Replace the usage of the DSC macros with this generic API.

Change-Id: Ie9174c20adc51a0be7c9127529d41faa4b473b55
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2020-01-29 13:46:33 -08:00
Abhinav Kumar
85a5faaa74 disp: msm: add support for PPS command for VDC-m
Add support for PPS command for VDC-m. This shall be sent from the
encoder to the decoder such that both can produce the same model
state.

Change-Id: Iae48615eab7c91ef7ecc68b84334057de5090364
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2020-01-29 13:41:09 -08:00
Abhijit Kulkarni
acb8d98e66 disp: msm: use upstream dsc config data
This change enforces dp, dsi and the sde drivers to use the
drm framework defined dsc_config data structure. As a part of this,
it introduces the sde_dsc_helper API to configure the dsc params
and creating a PPS command. Earlier each driver implemented it's
private versions leading to duplication of code. Additionaly the
helper api supports DSC spec 1.2 422 and 420 mode.

Change-Id: I25933fab08cdabbc6787079926885d1a78945e97
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
2020-01-22 12:33:24 -08:00
Steve Cohen
8469b7be9e disp: msm: use iterator APIs to walk the connector list
Use the DRM APIs for walking the list of connectors. This ensures
the proper locks are taken to prevent possible corruption by other
threads.

Change-Id: Iacdd1c6ad8eab224ceac550e0229489851a09706
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
2020-01-17 18:21:38 -05:00
Linux Build Service Account
8e2dde8420 Merge changes If37ec780,Ia691c95d into display-kernel.lnx.1.0
* changes:
  disp: msm: sde: remove sde wrapper for clock set flags
  Disp: Snapshot change for lahaina display driver
2019-12-04 17:27:51 -08:00
Yuan Zhao
cc564849ae disp: msm: dsi: remove dsi bus scaling setting
DSI driver did not use msm bus scaling setting,
remove the code.

Change-Id: I71675c8f4e3e97f1ded72ecac3fa87bdc7fb3774
Signed-off-by: Yuan Zhao <yzhao@codeaurora.org>
2019-12-03 18:46:45 -08:00
Narendra Muppalla
d1d9ae8b19 Disp: Snapshot change for lahaina display driver
This snapshot change adds downstream support
for drm 5.x+(msm_lahaina branch) linux kernel.

Change-Id: Ia691c95da155a00e449c91a2f1a5b20a8e71aed4
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
2019-11-24 12:30:51 -08:00
Satya Rama Aditya Pinapala
c404a2f158 disp: msm: dsi: check bit clock before bypassing clock set during DMS
This change ensures that if the dsi clock rate is not specified
in the timing modes, setting clkrate_change_pending is not bypassed.

Change-Id: I2475da1e548f29c68a6a4466c5ef540f7f11d553
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2019-10-30 11:01:23 -07:00
Satya Rama Aditya Pinapala
8bc240b71d disp: msm: dsi: handle wait for dma cmd completion
The current solution triggers the DMA command and waits till
the command dma done and ISR signals completion. This change
introduces asynchronous wait after a DCS command has been
triggered. Enable this mode only during pre kickoff, so as to not
block commit thread.

Change-Id: Iead7b6328883e844147d47ff68dc878943879553
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2019-10-29 18:40:25 -07:00
qctecmdr
ee16fbb03f Merge "disp: msm: sde: update avr mode config during commit prepare" 2019-10-24 21:31:57 -07:00
Vara Reddy
03af5b7083 drm/msm/dsi: bypass dsi clock set during changing mode
Bypass setting clkrate_change_pending flag if the current mode
and the mode to be set has the same preferred clock rate.

Change-Id: Id1f6c45e822492427cf3555beeaa5f0e7ea3243c
Signed-off-by: Vara Reddy <varar@codeaurora.org>
2019-10-21 11:07:17 -07:00
qctecmdr
ca2fbfd531 Merge "disp: msm: dsi: commit DSI PHY timings after update" 2019-10-20 01:37:41 -07:00
Satya Rama Aditya Pinapala
f372981434 disp: msm: dsi: commit DSI PHY timings after update
DSI PHY timings must be committed every time the values
are updated after a dynamic mode switch.

Change-Id: Id605c76dfe75ec41ceb89000f24baccda189e82f
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2019-10-18 14:00:05 -07:00
Vara Reddy
7e86c13d25 drm/msm/dsi: allocate current mode memory early for DMS
There can be a scenario where dynamic mode set can come
for first commit also, allocate memory for current mode
before checking for DMS.

Change-Id: Ief856a372629112380f199bc336160b3fa278eef
Signed-off-by: Vara Reddy <varar@codeaurora.org>
2019-10-18 13:49:45 -07:00
Jayaprakash
aad3dd4525 disp: msm: sde: update avr mode config during commit prepare
Add changes to support avr mode config update during
prepare commit which happens before gpu fence wait
for the input buffers.

Change-Id: Ib2cb5b7e1f10501914c003f6cf066b85048f79d4
Signed-off-by: Kalyan Thota <kalyant@codeaurora.org>
Signed-off-by: Jayaprakash <jmadiset@codeaurora.org>
2019-10-18 12:53:56 +05:30
qctecmdr
4fbdc64598 Merge "drm/msm/dsi: add flag for mode switch with fps" 2019-10-16 07:19:40 -07:00
Vara Reddy
6a574a6e3c drm/msm/dsi: add flag for mode switch with fps
Change adds flag to identify dynamic mode switch with same
resolution and different fps. Block sending PPS command
if we hit this scenario, this optimizes mode switch time.

Change-Id: If5c86084cde641952fe294b512e937cfd1bb5479
Signed-off-by: Vara Reddy <varar@codeaurora.org>
2019-10-14 11:13:41 -07:00
Vara Reddy
b712eb76c9 drm/msm/dsi-staging: update mdp transfer time preference
With this change, mdp transfer time updated to userspace
will be the preferred dtsi entry, when both dsi clock
and mdp transfer time nodes are set.

Change-Id: I37cd55e3d6f3f0f78f4ca4bddf921f6cf743c1b9
Signed-off-by: Vara Reddy <varar@codeaurora.org>
2019-10-01 11:31:30 -07:00
qctecmdr
19e23cd72e Merge "disp: msm: only set nolp command when panel in LP1/LP2 mode" 2019-09-26 00:23:18 -07:00
Samantha Tran
70a1445d18 disp: msm: dsi: add null check for panel and proper ctrl iteration
This change moves the panel null check to the beginning of the function
so panel can be used throughout the function. This change also replaces
looping through display ctrls with proper display_for_each_ctrl.

Change-Id: I0014ee7ad6d8514734f9233a1abb314e60d29b5f
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
2019-09-24 12:56:50 -07:00
Yuan Zhao
f2873cd69f disp: msm: only set nolp command when panel in LP1/LP2 mode
DSI driver sends nolp commands when DSI connector power
modes is set SDE_MODE_DPMS_ON or SDE_MODE_DPMS_OFF. This
is invalid panel configuration. It should only send nolp
commmand to panel when it is in LP1/LP2 mode.

Change-Id: Ie94eaef6899d292fd20f42c1b7ef2c7a99178d13
Signed-off-by: Wenjun Zhang <wjzhan@codeaurora.org>
Signed-off-by: Yuan Zhao <yzhao@codeaurora.org>
2019-09-24 01:23:41 -07:00
qctecmdr
690701d8c0 Merge "disp: msm: dsi: refine the logic for mode filling and calculation" 2019-09-18 19:21:04 -07:00
Lei Chen
e4fc324197 disp: msm: dsi: refine the logic for mode filling and calculation
Video and command mode will be included in same timing node
when POMS is enabled, but DFPS is only applicable for video
mode, so add this change to differentiate panel mode, and fill
display mode according to panel mode.

Change-Id: I6aa0f8572f23f0612684ed7cdf406b20ab3df822
Signed-off-by: Lei Chen <chenlei@codeaurora.org>
2019-09-12 11:30:36 +08:00
Vishnuvardhan Prodduturi
ea1176e4f8 drm:msm:dsi: Add check for max controller count
Add check for max controller count while iterating through
display ctrl structure to avoid out of bounds access.

Change-Id: If4d32c648e7d34591726286226600a92a357479a
Signed-off-by: Vishnuvardhan Prodduturi <vproddut@codeaurora.org>
2019-08-16 18:35:07 +05:30
Prashant Singh
dc6f198f99 disp: msm: add null pointer sanity checks
Add missing null pointer checks for variables
before referencing them.

Change-Id: I5592ea136d2759e0a4adb288492c6ef00ae79c4d
Signed-off-by: Prashant Singh <prasin@codeaurora.org>
2019-08-14 18:04:45 +05:30
qctecmdr
5baf44d58d Merge "disp: msm: dsi: deny an ESD trigger when not enabled" 2019-07-28 02:01:24 -07:00
qctecmdr
6ad46f19c3 Merge "disp: msm: Use the new notifier function instead of msm_drm_notifier" 2019-07-26 17:45:17 -07:00
Satya Rama Aditya Pinapala
7b76eb582d disp: msm: dsi: deny an ESD trigger when not enabled
During an ESD trigger, a check must be done to ensure
that ESD is enabled on the particular panel. If not the
panel might end up in a bad state, if the trigger is
propagated successfully instead of reporting a failure.

Change-Id: I310578e7136301ab75ba7f44f14d36ed7e6a519c
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2019-07-23 09:21:40 -07:00
Satya Rama Aditya Pinapala
6c483e3b23 disp: msm: dsi: adding prefix for logs
Adding debug, info and error prefix for log messages
in dsi files. To enable debug logs
run "echo 0x1 > /sys/module/drm/parameters/debug"

Change-Id: I438ac16954bd1d39450f8adeb7fb17f9ea6f8140
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2019-07-22 17:43:35 -07:00
Yuan Zhao
df6d76968e disp: msm: dsi: Add a new function to get drm_panel
A new API to get drm_panel from dsi_display.
The drm_panel was defined as a member of drm_connector.
When doing connector initialize, can set drm_panel to
drm_connector. So this API is needed to get drm_panel
from dsi_dsiplay.

Change-Id: I0ec9de5a9407085048a8fef421b7b28d466085ed
Signed-off-by: Yuan Zhao <yzhao@codeaurora.org>
2019-07-16 19:32:37 -07:00
Satya Rama Aditya Pinapala
094f183278 disp: msm: dsi: signal pending clock change in case of DMS
When there is a change in resolution or FPS, a new clock rate is
calculated. During such a Dynamic Mode Switch, the clock rate
change pending flag needs to be set after it has been calculated.
This flag is later checked before kickoff and the clocks are updated
accordingly.

Change-Id: Iec102796d5c61d01c567f0b6676e9a6d4ed94268
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2019-07-16 10:48:39 -07:00
qctecmdr
b6913a5af2 Merge "disp: msm: dsi: snapshot of dsi from 4.14 to 4.19" 2019-07-12 12:29:14 -07:00
qctecmdr
3ab9638e45 Merge "disp: msm: add resource caps structure and api changes" 2019-07-12 02:20:32 -07:00
Satya Rama Aditya Pinapala
edef6ae040 disp: msm: dsi: snapshot of dsi from 4.14 to 4.19
This change is a snapshot of dsi files taken of 4.14
as of commit 764f7c2 (Merge remote-tracking branch
'quic/dev/msm-4.14-display' into msm-4.14)

Change-Id: I8361a844c35a4450f7800964a8da2741676fd6c7
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2019-07-11 12:29:10 -07:00
qctecmdr
e5aaaf8785 Merge "disp: msm: dsi: fix the DMS mode flag setting" 2019-07-06 14:05:03 -07:00
qctecmdr
21af73b82c Merge "drm/msm/dsi-staging: update frame transfer time calculations" 2019-07-06 04:53:51 -07:00
Ray Zhang
dc36ec057b disp: msm: dsi: fix the DMS mode flag setting
DFPS validation doesn't update DSI_MODE_FLAG_DMS when there is
only refresh rate change but not resolution change. This is not
expected. DMS should be able to support this use case if DFPS
is not enabled.

Change-Id: I738bce68b1dc098338281ac95156a483769608c4
Signed-off-by: Ray Zhang <rayz@codeaurora.org>
2019-07-05 11:02:02 +08:00
Nilaan Gunabalachandran
d92000cdd4 disp: msm: add resource caps structure and api changes
Create a data structure to maintain available hardware resources
and track capabilities. This data structure is used to send
the current available resources and caps information to
connector ops get_mode_info, get_modes and validate_mode to
process the display mode.

Change-Id: If38fc628ee5ab4729821f88c0050ab45375187b8
Signed-off-by: Nilaan Gunabalachandran <ngunabal@codeaurora.org>
2019-07-02 17:34:49 -04:00
Vara Reddy
98ac941a1b drm/msm/dsi-staging: update frame transfer time calculations
Change updates frame transfer time calculations. Frame threshold
is provided as input to decide on the final transfer time.
Panel dsi clock node followed by mdp transfer time node
will take priority in selecting final transfer time than frame
threshold time.

Change-Id: I40c3abfc635cd9b338b705535612ac32e047ce6e
Signed-off-by: Vara Reddy <varar@codeaurora.org>
2019-07-02 12:48:34 -07:00
qctecmdr
acf755573d Merge "disp: msm: dsi: DSI PHY V4 support of dynamic clock switch" 2019-06-27 03:34:31 -07:00
qctecmdr
5411cf5dee Merge "disp: msm: dsi: add check for buffer length before copy" 2019-06-19 10:26:17 -07:00
qctecmdr
7082075b68 Merge "disp: msm: dsi: remove scratch register logic for cont-splash" 2019-06-19 00:50:11 -07:00
Satya Rama Aditya Pinapala
aed315f32b disp: msm: dsi: add check for buffer length before copy
The change adds a check to make sure the length of bytes being
copied don't exceed the size of the destination buffer
causing an overflow.

Change-Id: Ib3ca3705e4179ccda1af11279e96e167baee6a3b
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2019-06-13 14:18:20 -07:00
qctecmdr
48b38ad05d Merge "disp: msm: allow DMS before cont-splash handoff" 2019-06-08 17:49:59 -07:00
Veera Sundaram Sankaran
2e3e990101 disp: msm: dsi: remove scratch register logic for cont-splash
Continuous splash enabled displays are identified by reading
the MDP ctl registers. DSI cont-splash init settings are
called based on this. Additionally, DSI reads the DSI-CTL
scratch register set by bootloader  to detect cont-splash.
This change removes the redundant mechanism in DSI to
detect cont-splash.

Change-Id: Ic58be1e62eda239fcea5e82d9d356905dc552a73
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
2019-06-06 17:32:08 -07:00
Yujun Zhang
39bc44163c disp: msm: dsi: unify dynamic clk support for command mode
Currently the dynamic bit clock switch trigger for command mode
is supported via sysfs node. This might lead to unnecessary
race conditions, when dsi driver is enabling the dsi bit clock
as part of commit and at the same time if bit rate change via
sysfs happens. So make the trigger happens via kernel mode set
call as done for video mode.

Change-Id: I17acb408d2b6dbd6fa41994e56262e31e43d088b
Signed-off-by: Ritesh Kumar <riteshk@codeaurora.org>
Signed-off-by: Yujun Zhang <yujunzhang@codeaurora.org>
2019-06-05 16:06:36 +08:00
Yujun Zhang
b0f2e2222e disp: msm: dsi: add support for dsi dynamic clock switch
This change adds support for dynamic switching of dsi clocks
to avoid RF interference issues. Also with dynamic dsi clock
switch feature coming into picture, now populate the supported
refresh rate as list instead of providing a range. Modify the
logic to enumerate all the modes in dsi driver, taking dynamic
bit clocks, resolutions and refresh rates into account.

Change-Id: I5b6e62bc935cf2234bdd96fcb3c7537b4e735fff
Signed-off-by: Sandeep Panda <spanda@codeaurora.org>
Signed-off-by: Ritesh Kumar <riteshk@codeaurora.org>
Signed-off-by: Yujun Zhang <yujunzhang@codeaurora.org>
2019-06-05 16:06:27 +08:00