drm: mali-dp: fix stride setting for multi-plane formats
Hardware has multiple (2 or 3, depending on model) stride registers per layer; add a function that correctly takes that into account. On hardware that only has 2 stride registers, ensure that 3-plane (YUV) content has identical strides for both chroma planes. Signed-off-by: Mihail Atanassov <mihail.atanassov@arm.com> [Removed smart layer stride setup, comment and commit message clarifications] Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
This commit is contained in:

committed by
Liviu Dudau

parent
b70b332f14
commit
83d642ee6d
@@ -58,6 +58,7 @@ struct malidp_layer {
|
||||
u16 id; /* layer ID */
|
||||
u16 base; /* address offset for the register bank */
|
||||
u16 ptr; /* address offset for the pointer register */
|
||||
u16 stride_offset; /* Offset to the first stride register. */
|
||||
};
|
||||
|
||||
/* regmap features */
|
||||
@@ -93,6 +94,10 @@ struct malidp_hw_regmap {
|
||||
const u8 bus_align_bytes;
|
||||
};
|
||||
|
||||
/* device features */
|
||||
/* Unlike DP550/650, DP500 has 3 stride registers in its video layer. */
|
||||
#define MALIDP_DEVICE_LV_HAS_3_STRIDES BIT(0)
|
||||
|
||||
struct malidp_hw_device {
|
||||
const struct malidp_hw_regmap map;
|
||||
void __iomem *regs;
|
||||
|
Reference in New Issue
Block a user