DPU hardware is being updated to add per ctl offsets for lut dma.
Change adds support for per ctl offsets.
Change-Id: I2ee1d6ba1a53dea20a3f422ccecb33910fbaf361
Signed-off-by: Gopikrishnaiah Anandan <quic_agopik@quicinc.com>
Add support display emulation targets on RUMI
This change does the following:
-parse dt node to enable display emulation mode.
-use sde_reg_read for pool timeout ops and debug fs dump.
-increases the kickoff timeout when emulation is enabled.
-bypass AXI halt operation when emulation is enabled.
Change-Id: Idc493964c0b8fc89f5d85fcc5755e0874a12d211
Signed-off-by: Amine Najahi <quic_anajahi@quicinc.com>
Add support for localized CLK_CTRL access through LUTDMA
hardware block.
This change aggregates RD/WR LUTDMA CLK_CTRL in a single
ops.
Change-Id: Id5c24bebf7dfcd9f768b2a6f6fa03f8b01747354
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
Add a new function in Kalama to support implementation of sixzone
using single buffer LUTDMA. Since there is a hw delta from previous
target, we are updating the major version.
Change-Id: I1078e4e6f351c6894367c5457f3415a7432f55b5
Signed-off-by: Alisha Thapaliya <quic_athapali@quicinc.com>
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>
Expand reg dma data structures to support DMA 4,5.
Change-Id: I3aa7e879eb5ab7f89a7152e202759e885b05c75a
Signed-off-by: Renchao Liu <quic_rencliu@quicinc.com>
Align the HW catalog to use common naming amongst the "revision"
and "version" structure members.
Change-Id: Ib6c81aee6cb49208b0699db4a75b4eb9dc79e800
Signed-off-by: Steve Cohen <quic_cohens@quicinc.com>
Existing LUTDMA hardware runs into issues when an odd number of
LUTDMA absolute address writes are executed before a GDSC power
collapse. Update LUTDMA logic to force absolute write payloads to
always contain an even number of writes.
Change-Id: I476feeab550f4b176d0adccaa5f2d38041e87657
Signed-off-by: Christopher Braga <cbraga@codeaurora.org>
LUTDMA addressing was previously restricted to 20 bits. Update
the LUTDMA validation logic to allow the full 21 bit addressing.
Change-Id: If0bce4f490eb871101f2b3227883aba5149ad27a
Signed-off-by: Christopher Braga <cbraga@codeaurora.org>
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>
Fix dlkm compilation errors that are due to the use of -Werror
flags used by the build system.
Change-Id: I5e1e9bc63c1361d73e4930aab123212717872ecb
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
Debugging of LUTDMA has proven to be difficult due to lacking
information. Add logging for payload sizing, feature on / off,
and dumping of 64-bit buffer addresses.
Change-Id: I6d421f65172a782b79e915501ec9ea00d05dbcdd
Signed-off-by: Christopher Braga <cbraga@codeaurora.org>
Introduce event logs for lutdma kickoff operations to make
LUTDMA usage more apparent in crash dumps. This will aid in
debugging and triaging LUTDMA issues.
Change-Id: I81b570dfc21b03627cdaf5d9693b786839716571
Signed-off-by: Christopher Braga <cbraga@codeaurora.org>
Allocate DSI/LUTDMA buffers from VRAM when IOMMU is not
available. Add checks in msm_gem to avoid few operations
when aspace is not available due to no IOMMU. Parse the
VRAM size from device tree, when available.
Change-Id: Iedf5749b71c2e772ac5434048520a34705c54b45
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
This change adds support for regdma accelerated programming of
partial update offsets for SPR hw block and validation of ROI
during atomic check based on SPR hw block limitations.
Change-Id: I9e20af4ba7752e8a4af5e9738612c57603163744
Signed-off-by: Prabhanjan Kandula <pkandula@codeaurora.org>
Demura block of dpu will use the register dma path for programming.
Change updates the register dma frame-work to allow programming of the
demura block.
Change-Id: Ie5a64df1b2fffcb84d9554e5211249892ed2d96d
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
LUTDMA HW has a limitation on REG_BLK_LUT_WRITE opcode that requires
the residual REG_BLK_LUT_WRITE data plus the following opcode to exceed
the 4 DWORDs boundary.
This change provides a software workaround for this HW limitation
by inserting 3 NOP commands beofre any other opcode opertation after
REG_BLK_LUT_WRITE opcode.
Change-Id: I72f83cd761eabdfbc290d35da1f1e7a7a54da3e2
Signed-off-by: Ping Li <pingli@codeaurora.org>
This change adds support for programming SPR hw block as per the
client configuration from the respective color property blob.
Currently only reg dma accelerated path is provided.
Change-Id: Ib8559ec2c392be7b69ca43c6364e701fab877a28
Signed-off-by: Prabhanjan Kandula <pkandula@codeaurora.org>
Add support for hardware based rounded corner part of
color processing framework.
Change-Id: I3e5f4dac6ffc759bb940215b7621ac716f255169
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
Signed-off-by: Steve Cohen <cohens@codeaurora.org>
The current implementation of DSPP GAMUT + IGC programming rely on
SBDMA for programming. This will cause GAMUT + IGC to be
unprogrammable on derivative Lahaina chipsets that do not have SBDMA
support.
Update the SBDMA handling to more intelligently check if SBDMA is
present, and fallback to DBDMA module where possible.
Change-Id: I89d07e38459ab59b96c69558178b8e97062ed93d
Signed-off-by: Christopher Braga <cbraga@codeaurora.org>
A new LUTDMA HW instance has been added to support programming of
SB features via LUTDMA. This change adds corresponding support for
the new SB LUTDMA, including catalog parsing, reg_dma init/deinit/ops
updates and new opcode support.
Change-Id: I0fed7a6e93cd96fe9fe562d2470a8789b161d1bc
Signed-off-by: Ping Li <pingli@codeaurora.org>
Signed-off-by: Christopher Braga <cbraga@codeaurora.org>
Add support for absolute mdss addressing lutdma payload. This will
allow any mdss register to be programmed using lutdma.
Change-Id: I3af3a85182a75a0583c49c797d6adf99b6ba2ee7
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
This change brings msm display driver including sde,
dp, dsi, rotator, dsi pll and dp pll from base 4.19 kernel
project. It is first source code snapshot from base kernel project.
Change-Id: Iec864c064ce5ea04e170f24414c728684002f284
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>