mirror of
https://github.com/torvalds/linux.git
synced 2025-11-12 06:29:40 +02:00
The bpg_offset array contains negative BPG offsets which fill the full 8
bits of a char thanks to two's complement: this however results in those
bits bleeding into the next field when the value is packed into DSC PPS
by the drm_dsc_helper function, which only expects range_bpg_offset to
contain 6-bit wide values. As a consequence random slices appear
corrupted on-screen (tested on a Sony Tama Akatsuki device with sdm845).
Use AND operators to limit these two's complement values to 6 bits,
similar to the AMD and i915 drivers.
Fixes:
|
||
|---|---|---|
| .. | ||
| phy | ||
| dsi.c | ||
| dsi.h | ||
| dsi.xml.h | ||
| dsi_cfg.c | ||
| dsi_cfg.h | ||
| dsi_host.c | ||
| dsi_manager.c | ||
| dsi_phy_7nm.xml.h | ||
| dsi_phy_10nm.xml.h | ||
| dsi_phy_14nm.xml.h | ||
| dsi_phy_20nm.xml.h | ||
| dsi_phy_28nm.xml.h | ||
| dsi_phy_28nm_8960.xml.h | ||
| mmss_cc.xml.h | ||
| sfpb.xml.h | ||