Commit c90876a6 authored by AngeloGioacchino Del Regno's avatar AngeloGioacchino Del Regno Committed by Chun-Kuang Hu
Browse files

drm/mediatek: mtk_dpi: Move the input_2p_en bit to platform data



In preparation for adding support for MT8195's HDMI reserved DPI
instance, move the input_2p_en bit for DP_INTF to platform data.

While at it, remove the input_2pixel member from platform data as
having this bit implies that the 2pixel feature must be enabled.

Reviewed-by: default avatarCK Hu <ck.hu@mediatek.com>
Signed-off-by: default avatarAngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://patchwork.kernel.org/project/dri-devel/patch/20250217154836.108895-7-angelogioacchino.delregno@collabora.com/


Signed-off-by: default avatarChun-Kuang Hu <chunkuang.hu@kernel.org>
parent 8c9da7cd
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -135,14 +135,14 @@ struct mtk_dpi_factor {
 * @is_ck_de_pol: Support CK/DE polarity.
 * @swap_input_support: Support input swap function.
 * @support_direct_pin: IP supports direct connection to dpi panels.
 * @input_2pixel: Input pixel of dp_intf is 2 pixel per round, so enable this
 *		  config to enable this feature.
 * @dimension_mask: Mask used for HWIDTH, HPORCH, VSYNC_WIDTH and VSYNC_PORCH
 *		    (no shift).
 * @hvsize_mask: Mask of HSIZE and VSIZE mask (no shift).
 * @channel_swap_shift: Shift value of channel swap.
 * @yuv422_en_bit: Enable bit of yuv422.
 * @csc_enable_bit: Enable bit of CSC.
 * @input_2p_en_bit: Enable bit for input two pixel per round feature.
 *		     If present, implies that the feature must be enabled.
 * @pixels_per_iter: Quantity of transferred pixels per iteration.
 * @edge_cfg_in_mmsys: If the edge configuration for DPI's output needs to be set in MMSYS.
 */
@@ -157,12 +157,12 @@ struct mtk_dpi_conf {
	bool is_ck_de_pol;
	bool swap_input_support;
	bool support_direct_pin;
	bool input_2pixel;
	u32 dimension_mask;
	u32 hvsize_mask;
	u32 channel_swap_shift;
	u32 yuv422_en_bit;
	u32 csc_enable_bit;
	u32 input_2p_en_bit;
	u32 pixels_per_iter;
	bool edge_cfg_in_mmsys;
};
@@ -651,9 +651,9 @@ static int mtk_dpi_set_display_mode(struct mtk_dpi *dpi,
		mtk_dpi_dual_edge(dpi);
		mtk_dpi_config_disable_edge(dpi);
	}
	if (dpi->conf->input_2pixel) {
		mtk_dpi_mask(dpi, DPI_CON, DPINTF_INPUT_2P_EN,
			     DPINTF_INPUT_2P_EN);
	if (dpi->conf->input_2p_en_bit) {
		mtk_dpi_mask(dpi, DPI_CON, dpi->conf->input_2p_en_bit,
			     dpi->conf->input_2p_en_bit);
	}
	mtk_dpi_sw_reset(dpi, false);

@@ -1121,12 +1121,12 @@ static const struct mtk_dpi_conf mt8195_dpintf_conf = {
	.output_fmts = mt8195_output_fmts,
	.num_output_fmts = ARRAY_SIZE(mt8195_output_fmts),
	.pixels_per_iter = 4,
	.input_2pixel = true,
	.dimension_mask = DPINTF_HPW_MASK,
	.hvsize_mask = DPINTF_HSIZE_MASK,
	.channel_swap_shift = DPINTF_CH_SWAP,
	.yuv422_en_bit = DPINTF_YUV422_EN,
	.csc_enable_bit = DPINTF_CSC_ENABLE,
	.input_2p_en_bit = DPINTF_INPUT_2P_EN,
};

static int mtk_dpi_probe(struct platform_device *pdev)