drm/sun4i: Add scaler configuration to DE2 mixers

No all SoCs support scaling on all channels. For example, V3s support
scaling only on VI channels. Because of that, add additional
configuration bitmask which tells which channel support scaler.

Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171201060550.10392-21-jernej.skrabec@siol.net
This commit is contained in:
Jernej Skrabec 2017-12-01 07:05:43 +01:00 committed by Maxime Ripard
parent 7480ba4d75
commit 5b1f8367f3
2 changed files with 11 additions and 0 deletions

View file

@ -336,6 +336,7 @@ static int sun8i_mixer_remove(struct platform_device *pdev)
static const struct sun8i_mixer_cfg sun8i_v3s_mixer_cfg = {
.vi_num = 2,
.ui_num = 1,
.scaler_mask = 0x3,
};
static const struct of_device_id sun8i_mixer_of_table[] = {

View file

@ -94,9 +94,19 @@ struct de2_fmt_info {
u32 de2_fmt;
};
/**
* struct sun8i_mixer_cfg - mixer HW configuration
* @vi_num: number of VI channels
* @ui_num: number of UI channels
* @scaler_mask: bitmask which tells which channel supports scaling
* First, scaler supports for VI channels is defined and after that, scaler
* support for UI channels. For example, if mixer has 2 VI channels without
* scaler and 2 UI channels with scaler, bitmask would be 0xC.
*/
struct sun8i_mixer_cfg {
int vi_num;
int ui_num;
int scaler_mask;
};
struct sun8i_mixer {