mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-04 20:19:47 +08:00
drm/msm: update the high bitfield of certain DSI registers
Currently, the high bitfield of certain DSI registers
do not align with the configuration of the SWI registers
description. This can lead to wrong programming these DSI
registers, for example for 4k resloution where H_TOTAL is
taking 13 bits but software is programming only 12 bits
because of the incorrect bitmask for H_TOTAL bitfeild,
this is causing DSI FIFO errors. To resolve this issue,
increase the high bitfield of the DSI registers from 12 bits
to 16 bits in dsi.xml to match the SWI register configuration.
Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com>
Fixes: 4f52f5e63b
("drm/msm: import XML display registers database")
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Patchwork: https://patchwork.freedesktop.org/patch/666229/
Link: https://lore.kernel.org/r/20250730123938.1038640-1-quic_amakhija@quicinc.com
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
This commit is contained in:
parent
1a76b255ec
commit
494045c561
@ -159,28 +159,28 @@ xsi:schemaLocation="https://gitlab.freedesktop.org/freedreno/ rules-fd.xsd">
|
|||||||
<bitfield name="RGB_SWAP" low="12" high="14" type="dsi_rgb_swap"/>
|
<bitfield name="RGB_SWAP" low="12" high="14" type="dsi_rgb_swap"/>
|
||||||
</reg32>
|
</reg32>
|
||||||
<reg32 offset="0x00020" name="ACTIVE_H">
|
<reg32 offset="0x00020" name="ACTIVE_H">
|
||||||
<bitfield name="START" low="0" high="11" type="uint"/>
|
<bitfield name="START" low="0" high="15" type="uint"/>
|
||||||
<bitfield name="END" low="16" high="27" type="uint"/>
|
<bitfield name="END" low="16" high="31" type="uint"/>
|
||||||
</reg32>
|
</reg32>
|
||||||
<reg32 offset="0x00024" name="ACTIVE_V">
|
<reg32 offset="0x00024" name="ACTIVE_V">
|
||||||
<bitfield name="START" low="0" high="11" type="uint"/>
|
<bitfield name="START" low="0" high="15" type="uint"/>
|
||||||
<bitfield name="END" low="16" high="27" type="uint"/>
|
<bitfield name="END" low="16" high="31" type="uint"/>
|
||||||
</reg32>
|
</reg32>
|
||||||
<reg32 offset="0x00028" name="TOTAL">
|
<reg32 offset="0x00028" name="TOTAL">
|
||||||
<bitfield name="H_TOTAL" low="0" high="11" type="uint"/>
|
<bitfield name="H_TOTAL" low="0" high="15" type="uint"/>
|
||||||
<bitfield name="V_TOTAL" low="16" high="27" type="uint"/>
|
<bitfield name="V_TOTAL" low="16" high="31" type="uint"/>
|
||||||
</reg32>
|
</reg32>
|
||||||
<reg32 offset="0x0002c" name="ACTIVE_HSYNC">
|
<reg32 offset="0x0002c" name="ACTIVE_HSYNC">
|
||||||
<bitfield name="START" low="0" high="11" type="uint"/>
|
<bitfield name="START" low="0" high="15" type="uint"/>
|
||||||
<bitfield name="END" low="16" high="27" type="uint"/>
|
<bitfield name="END" low="16" high="31" type="uint"/>
|
||||||
</reg32>
|
</reg32>
|
||||||
<reg32 offset="0x00030" name="ACTIVE_VSYNC_HPOS">
|
<reg32 offset="0x00030" name="ACTIVE_VSYNC_HPOS">
|
||||||
<bitfield name="START" low="0" high="11" type="uint"/>
|
<bitfield name="START" low="0" high="15" type="uint"/>
|
||||||
<bitfield name="END" low="16" high="27" type="uint"/>
|
<bitfield name="END" low="16" high="31" type="uint"/>
|
||||||
</reg32>
|
</reg32>
|
||||||
<reg32 offset="0x00034" name="ACTIVE_VSYNC_VPOS">
|
<reg32 offset="0x00034" name="ACTIVE_VSYNC_VPOS">
|
||||||
<bitfield name="START" low="0" high="11" type="uint"/>
|
<bitfield name="START" low="0" high="15" type="uint"/>
|
||||||
<bitfield name="END" low="16" high="27" type="uint"/>
|
<bitfield name="END" low="16" high="31" type="uint"/>
|
||||||
</reg32>
|
</reg32>
|
||||||
|
|
||||||
<reg32 offset="0x00038" name="CMD_DMA_CTRL">
|
<reg32 offset="0x00038" name="CMD_DMA_CTRL">
|
||||||
@ -209,8 +209,8 @@ xsi:schemaLocation="https://gitlab.freedesktop.org/freedreno/ rules-fd.xsd">
|
|||||||
<bitfield name="WORD_COUNT" low="16" high="31" type="uint"/>
|
<bitfield name="WORD_COUNT" low="16" high="31" type="uint"/>
|
||||||
</reg32>
|
</reg32>
|
||||||
<reg32 offset="0x00058" name="CMD_MDP_STREAM0_TOTAL">
|
<reg32 offset="0x00058" name="CMD_MDP_STREAM0_TOTAL">
|
||||||
<bitfield name="H_TOTAL" low="0" high="11" type="uint"/>
|
<bitfield name="H_TOTAL" low="0" high="15" type="uint"/>
|
||||||
<bitfield name="V_TOTAL" low="16" high="27" type="uint"/>
|
<bitfield name="V_TOTAL" low="16" high="31" type="uint"/>
|
||||||
</reg32>
|
</reg32>
|
||||||
<reg32 offset="0x0005c" name="CMD_MDP_STREAM1_CTRL">
|
<reg32 offset="0x0005c" name="CMD_MDP_STREAM1_CTRL">
|
||||||
<bitfield name="DATA_TYPE" low="0" high="5" type="uint"/>
|
<bitfield name="DATA_TYPE" low="0" high="5" type="uint"/>
|
||||||
|
Loading…
Reference in New Issue
Block a user