Wykres commitów

21 Commity

Autor SHA1 Wiadomość Data
Srihitha Tangudu
9857e36ddb disp: msm: dsi: Avoid re-initializing PLL registers during dyn clk switch
Currently we are always initializing PLL registers whenever PLL is
configured. Re-initializing PLL registers during dynamic clock switch in
case of cphy video mode is moving the PLL to some bad state resulting in
display freeze. Avoid this by restricting initialization of PLL registers
to only while turning on the PLL.

Change-Id: I09eacbb37fff4e0e91d226ac08e7d5a2bfbbfe26
Signed-off-by: Srihitha Tangudu <quic_tangudu@quicinc.com>
2022-08-03 00:46:15 -07:00
Srihitha Tangudu
b53b12b1ad disp: msm: dsi: add support for non 1/1 MND dividers
Adjust pll pclk rate to support non 1/1 dispcc MND
divider values by updating pclk div calculation.

Change-Id: I1972b536a109b97978e843f046b1db4ad6813a51
Signed-off-by: Srihitha Tangudu <tangudu@codeaurora.org>
2021-10-07 00:49:17 +05:30
Nilaan Gunabalachandran
f3c66e9c1b disp: msm: dsi: create generic interface for read poll timeout
Creating a generic api that can be used with the driver
for read poll timeouts. This allows for easy overriding
of the function, if necessary.

Change-Id: I7bc5176ebabe782089b1a4d6e94c17ad3eb9ada4
Signed-off-by: Nilaan Gunabalachandran <ngunabal@codeaurora.org>
Signed-off-by: Michael Ru <mru@codeaurora.org>
2021-06-22 11:43:56 -04:00
Santosh Kumar Aenugu
6add9d0fc0 disp: msm: dsi: fix dsi pll dividers
Updating DSI PLL byte clock dividers as per HW recommendation.

Change-Id: I9dbe7a04f813676a7690d0cadc52d7ed19ca4871
Signed-off-by: Santosh Kumar Aenugu <santoshkumar@codeaurora.org>
2021-05-25 08:13:55 -07:00
qctecmdr
bf67f9d761 Merge "disp: msm: typecast variables as long long for 64 bit operations" 2021-05-02 18:40:35 -07:00
Satya Rama Aditya Pinapala
ef4dd310a4 disp: msm: dsi: update DSI PHY post divider for slave PLL
The change ensures that for the slave PLL the PHY post divider
always needs to be configured to 0x1.

Change-Id: I481b4fd206d9f8e05af724687beb2e89fd6c2ea6
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2021-04-29 13:45:04 -07:00
Venkata Prahlad Valluru
2ec9452162 disp: msm: typecast variables as long long for 64 bit operations
Define 64 bit variables as unsigned long long to ensure
8 bytes in 32 bit builds.

Change-Id: I723ae0c4ba6a0de07c92d14eeef95bde095c8e3d
Signed-off-by: Venkata Prahlad Valluru <vvalluru@codeaurora.org>
2021-04-27 13:32:53 -07:00
Amine Najahi
820849aeff disp: msm: dsi: fix rate debug log
Add missing argument to debug log.

Change-Id: Ie2529c915531726179fba42b971555cbabce38cf
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
2021-04-14 15:13:29 -04:00
Shashank Babu Chinta Venkata
4ee86a4a81 disp: msm: dsi: configure pll slave appropriately
Configure slave pll before setting dividers.

Change-Id: Ib359187b2739d12ee0fa5ce5f3ed6bc042d5aed8
Signed-off-by: Shashank Babu Chinta Venkata <sbchin@codeaurora.org>
2021-04-02 18:14:00 -07:00
Satya Rama Aditya Pinapala
7471069739 disp: msm: dsi: fix DSI PLL configuring sequence
Change fixes issues with the recalculation and DSI PHY PLL
toggle sequences while using continuous splash.

Change-Id: I6e63dd176e3ad5160b4df9f2da6d981951b696ab
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2021-03-31 15:20:15 -07:00
qctecmdr
125cc02596 Merge "disp: msm: dsi: fix mutiplier frac_bits assignment" 2021-03-10 15:55:31 -08:00
Satya Rama Aditya Pinapala
7eef141621 disp: msms: dsi: avoid hardcoding pll_lockdet_rate
This change avoids hardcoding the PLL_LOCKDET_RATE_1 register
value, rather using the variable with the same name that has
been initialized in dsi_pll_regs.

Change-Id: Ideb2c2b593156a4361feeb071df41f65e52c3beb
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2021-03-08 19:23:45 -08:00
Satya Rama Aditya Pinapala
ddbd9adaaf disp: msm: dsi: fix mutiplier frac_bits assignment
While recalculating VCO rate, currently the frac_bits value
is being hardcoded. The change instead uses the initialized
value from the 5nm PLL configuration.

Change-Id: I245574f4810a7b036d512ff1a347aa7e296702d1
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2021-03-08 19:23:35 -08:00
Satya Rama Aditya Pinapala
b54e355c84 disp: msm: dsi: fix pclk divider calculation
Change updates the pclk divider calculation to ensure
more accurate pclk rate for DSI.

Change-Id: Iaf3a5b6e4b10ac751b3a80e2c3041ab8260b21e5
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2021-02-23 13:05:27 -08:00
Satya Rama Aditya Pinapala
0a93edbae6 disp: msm: dsi: rework DSI PLL to be configured within PHY
Change avoids clock framework APIs to configure the DSI PHY
PLL. It follows HW recommendation to set the byte and pclk
dividers.

Change-Id: I8c110f3997e4ec4c2eaa28778b70091855725ab8
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2021-01-12 23:49:11 -08:00
Satya Rama Aditya Pinapala
fcb453c0b8 disp: msm: dsi: Add support for 5nm C-PHY shadow clock
Add support for 5nm DSI PLL C-PHY shadow clocks, which
will be used during dynamic dsi clock switch.

Change-Id: I55b11f2d0cffd8494d4641e9b2de0b88e7229978
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2020-12-05 08:33:29 -08:00
Ritesh Kumar
ba3d7304f5 disp: pll: Fix cfg1 value when pclk_src_mux parent is updated
Currently, PLL_CFG1(1:0) register is updated with cached values
in dsi_pll_enable. This can create issue when UEFI and kernel
cfg1 programming is not same. To fix it, return cached value
of cfg1 when its read in pclk_mux_read, so that pclk_mux_write
is called and cached value is updated.

Change-Id: I1e45ff0685797bf4dd2e3a52af4753425f31edfc
Signed-off-by: Ritesh Kumar <riteshk@codeaurora.org>
2020-10-20 23:17:23 -07:00
Yuan Zhao
00fd38bec4 disp: msm: pll: add additional dividers for CPHY support
Panels supporting Cphy use a specific divider
blocks. Add additional divider blocks for byte
and pixel clock output to support DSI CPHY.

Change-Id: I74b3ee2bdd22ae8fa20567fe837e03915537c4fb
Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
Signed-off-by: Yuan Zhao <yzhao@codeaurora.org>
2020-05-15 00:26:35 -07:00
Satya Rama Aditya Pinapala
e0a892dcd5 disp: msm: dsi: fix dsi pll debugfs errors
Remove duplicate calls to devm_regmap_init and change configuration
names for regmap creation to prevent attempts to create duplicate
debugfs entries.

Change-Id: Id108c97fa2583460e0a585e2c852205680029e2c
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2020-04-16 22:04:21 -07:00
Satya Rama Aditya Pinapala
64ee7e84b3 disp: msm: dsi: call pll set rate directly instead of a function pointer cb
The clock framework nulls the clock hardware init data, after a variant
of clk_register is called on the clk_hw pointer.  This results in a null
pointer dereference when we try to call set rate in the PLL prepare
function. The call can be a direct call to the function rather than
trying to access through the init_data pointer of the clk_hw.

Change-Id: I3613eea915d4f5620d7f0258ae391ad2ac624148
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2020-02-02 14:35:06 -08:00
Satya Rama Aditya Pinapala
5694bc2eee disp: msm: dsi: move dsi pll as subnode to dsi PHY
DSI PLL is tightly coupled with DSI PHY. This change removes
separate DSI pll driver and makes DSI pll as a subnode to DSI
PHY which is an accurate way of representation. In addition, this
change adds support for 5nm DSI ctrl and PHY revisions and adds
DSI pll support for 5nm. Remove support for older DSI pll revisions
such as 7nm, 10nm, 14nm, 20nm, 28nm.

Change-Id: Ic8b886a9fe24b906e4ec5130720600efa1e59b68
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
2020-01-10 17:06:58 -08:00