This change checks the capabilities of pingpong block to
check if it needs to call the pingpong api to enable or
disable the dsc. Certain hw versions do not have support
in pingpong block to enable/disable the dsc instead the
dsc block itself have the hooks to control the DSC.
Change-Id: I17dd45479cc33ff2e81f6a6e5a5a8704562dfd24
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
This change adds implementation to configure DSC 1.2 block
registers to enable both dsc1.1 and dsc1.2 specifications.
Change-Id: I2307d7dace05bf20384d3221e9aca65e296b12bd
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
This change adds additional dsc hw sub-blks and their
advertized capabilities. These are required for supporting dsi 1.2 hw
and making the code backward compatible with older hw version.
Change-Id: I84d86ad4f6ac2dd76324bbfd5600b010738b3310
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
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>
This change updates the initial lines calculation implementation
to support dsc 1.2.
Change-Id: I322057efc5a4be94d42c29680437d1923ee3547e
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
This change adds a single setup function for different dsc topologies.
This simplifies the dsc code and allows for additional topologies
support.
Change-Id: Iaaddd6e51a2fa53d113d618328dee2bf63e30cab
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
This change adds new resource manager api to get number of
ctl paths, interfaces and compression encoders used in the
current topology. This API is required to support both dsc
and vdc encoders and make implementation more generic.
Change-Id: I6cc25e51574cf71cd39f479049572ee7b7e0ead0
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
This change introduces dce api to the encoder component to
configure supported compression hw. This allows encoder to
remain independent of the compression type and specification
supported by the hw.
Change-Id: I6bc35289495b05f57a83323cbab1ea14e9e15db0
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
This change moves the DSC implementation into a separate file.
This is required to add support for new compression algorithms.
This cleanup change also, moves struct sde_encoder_virt
declaration to the encoder header file.
Change-Id: Idc3b96e65fcce2a7ee6e17af604cec0cb574f6f7
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
This change enables the display compilation only for qgki
variant until all the dependencies are resolved.
Change-Id: I55577367921df7c7f10e68ef4dad28feea826748
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
This change enables display drivers code compilation
for lahaina target and current location of header files
is replacing the header files in usr/include/drm directory
before installing display specific header files. This change
ensures both the drm and msm_drv header files are exported
to user mode clients.
Change-Id: If6fc347598b902e670b7206dbcb82fe0740b3984
Signed-off-by: Shashank Babu Chinta Venkata <sbchin@codeaurora.org>
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
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>
As scm_call2 is deprecated, update the secure world
communication.
Change-Id: Id971b2b71af9203340eab892d6a3398dbb943370
Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org>
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
Determine inline rotation capabilities and parameter values
from the inline rotator revision. This reduces the number of
capabilities required to be added for each new target.
Change-Id: I3ae02938d51be5a5419b50303c1f244be12b8c47
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
Don't expose the prefill requirements for inline rotation.
These values are not used within the driver, so move these
settings to user-space.
Change-Id: Ie1038c5804047fafe0ee3129b993d83d4d31b386
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
Add support for enabling pre-downscale block to increase the
maximum downscale capability for true inline rotation use cases.
Change-Id: Ifa544bb0ae69439abef4bd427134290090fe7230
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
Advertise the new formats supported with true inline rotation v2 HW
(ABGR8888 compressed and P010).
Change-Id: I0a1b6dfd6bcfd82d9bc61e87680d2c584615e113
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
Add fields required by kernel for setting up the pre-downscale
HW block during an inline rotation session. This increases
the inline rotation maximum downscale ratio for targets which
have the pre-downscale hardware.
Change-Id: I7aa43af2ede740fb0fe3ab6c9a715d1aebad6417
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
* quic/display-kernel.lnx.1.0:
disp: msm: sde: update shmbridge header file path
disp: msm: sde: remove all preclose logic
disp: msm: make kms a DRM client for lastclose logic
disp: msm: delay msm_drv probe
disp: msm: sde: use dma_map_single to flush the buffer
disp: msm: remove support for Cx iPeak mitigation
disp: msm: rotator: migrated the new BUS driver for rotator on lahaina
disp: msm: dsi: remove dsi bus scaling setting
disp: msm: sde: migrated new sde icb bus scaling driver for lahaina
display: add uapi and shared headers to techpack folder
disp: msm: sde: remove sde wrapper for clock set flags
disp: msm: sde: use device tree node to enable INTF TE capability
drm/msm/sde: add FETCH_ACTIVE logic and set default group ID
disp: msm: attach address space to msm_gem_object
disp: msm: sde: refactor sde_hw_interrupts to use offsets from catalog
disp: msm: sde: get INTF TEAR IRQ offsets from device tree
disp: msm: sde: rename MDSS_INTR_* enums to SDE_INTR_*
disp: msm: sde: add Lahaina version checks
disp: msm: sde: move all hw version checks in to the catalog
Disp: Snapshot change for lahaina display driver
disp: add rev checks for bengal target
Change-Id: I0e09d1bcfca50e86deaf4b00ba8c228c003495bd
Update the header file path in the code as it has moved to a
new location.
Change-Id: I36a55b91a121b9bb3d89641da1e4e22407f55b68
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
The DRM framework only calls the driver's preclose callback
function if the LEGACY driver feature is enabled. Therefore
strip out this logic as it never gets executed since LEGACY
is not supported for msm_drm driver.
Change-Id: I95474cd5424423ef194faae12f1241698f3e467e
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
Since some APIs previously used during lastclose are no longer
exposed to drivers (__drm_atomic_helper_disable_plane, and
__drm_atomic_helper_set_config), make kms a DRM client and use
the drm_client_modeset_commit_force API to do lastclose cleanup.
Change-Id: I543392fe79558a3996e326a0f222793c56d71e4f
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
This change delays the probe of msm_drv by changing the init call
order to ensure that all the dependent resource drivers are
probed and all resources are available for use by the msm_drv.
Change-Id: Icc225bd14052a8d83e9976fbaa9c83c17f5319aa
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
* changes:
disp: msm: sde: use device tree node to enable INTF TE capability
disp: msm: sde: refactor sde_hw_interrupts to use offsets from catalog
disp: msm: sde: get INTF TEAR IRQ offsets from device tree
disp: msm: sde: rename MDSS_INTR_* enums to SDE_INTR_*
disp: msm: sde: add Lahaina version checks
disp: msm: sde: move all hw version checks in to the catalog
* changes:
disp: msm: rotator: migrated the new BUS driver for rotator on lahaina
disp: msm: dsi: remove dsi bus scaling setting
disp: msm: sde: migrated new sde icb bus scaling driver for lahaina
display: add uapi and shared headers to techpack folder
dmac_flush_range api is no longer avaialable on latest kernel.
Use dma_map_single to flush the scm buffer before switching to
higher execution previlege.
Change-Id: Ia1c18a6ab9a9c80f5f9ce79816d9dbd3777474b0
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
This change is removing cx ipeak mitigation logic
in sde driver till support is available through GKI.
Change-Id: I24f895001569d5fbb5dd0002c649f4f02a6650e8
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
Migrate to icb framework API in drm and rotator driver. The change also
removes msm_bus custom API usage from both drivers.
Change-Id: I15de82986204a12e4cc124f51793328c3d403256
Signed-off-by: Yuan Zhao <yzhao@codeaurora.org>
DSI driver did not use msm bus scaling setting,
remove the code.
Change-Id: I71675c8f4e3e97f1ded72ecac3fa87bdc7fb3774
Signed-off-by: Yuan Zhao <yzhao@codeaurora.org>
Migrate to icb framework API in drm and sde driver. And
also removes old msm_bus custom APIs from the driver.
Change-Id: Ifcf6d6f157594638075742fe328b29a9be065bca
Signed-off-by: Yuan Zhao <yzhao@codeaurora.org>
Move vendor specific display headers from include/uapi and
include/linux path to techpack/display.
Change-Id: I766f15694020eff9e2f1a20504f828be78d4175f
Signed-off-by: Shashank Babu Chinta Venkata <sbchin@codeaurora.org>
Since clock set flags api is deprecated for new target, this
change removes sde wrapper and removes LUT memeory retention logic
from crtc module.
Change-Id: If37ec780913668c1a43f8a71e79249679526bd34
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
Set the INTF TE capability bit only on interfaces which have a non-zero
value in the device tree node qcom,sde-intf-tear-irq-off instead of
enabling it for all interfaces based only on the HW version. The HW
doesn't support TE programming for non-TE enabled interfaces, so this
patch only populates the TE ops for those which support it.
Change-Id: I00518e846dc44e1e0808a049625dc14099656e11
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
New required programming in CTL. Fetch active informs the HW
of the active fetch pipes. Group ID informs HW of which VM owns
that CTL. Force this group ID to default/disabled until
virtualization support is enabled in SW.
Change-Id: Id9d68ae725a640893a4e347b69ad2b506a998f25
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
Ensure the msm_gem_object gets a reference to valid address space
so that sg sync can be properly performed.
Change-Id: Iee7cf49689861b863b3b3bfb3b4b9919ad17caa9
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
Refactor the SDE interrupts module to use the offsets in the catalog.
This avoids hard-coding offsets for interrupts within a block's
address space so when that block's base address is relocated the
interrupts for that block are shifted as well.
Change-Id: I08f66c0e93bbe102dfe67350c97c5c7a4fb5039a
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
The INTF TEAR IRQ block offsets can shift between targets. Therefore,
to allow dynamically setting these offsets they should be specified
in the sde device tree node qcom,sde-intf-tear-irq-off.
Change-Id: I2948bc6eaa31fe5e180379770d88e7be72b6d345
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
Rename sde_intr_enum members to prefix with SDE instead of
the old MDSS naming used in legacy display driver.
Change-Id: I21bc67b4a79b7e53af0ac1beaebb6e9482015b0f
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
Add version checks for Lahaina (MDSS v7.0.0) and enable
all kona features.
Change-Id: I79acaf8310a437fff3d203656b856b44cdfdfb48
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
Remove the version checks used to populate some mixer and VBIF
ops, and check when constant color should be disabled in SSPP.
These are replaced with feature bits set by the catalog.
Change-Id: I2f8ffe6ebfe3e61c44588589f55ede7cba74e841
Signed-off-by: Steve Cohen <cohens@codeaurora.org>