[PATCH v10 10/11] drm: sun4i: de33: mixer: add Display Engine 3.3 (DE33) support

Ryan Walklin ryan at testtoast.com
Fri May 16 09:49:54 UTC 2025


On Thu, 15 May 2025, at 3:07 AM, Maxime Ripard wrote:
> On Sun, May 11, 2025 at 10:31:19PM +1200, Ryan Walklin wrote:

>> +enum sun8i_mixer_type {
>> +	sun8i_mixer_de2,
>> +	sun8i_mixer_de3,
>> +	sun8i_mixer_de33,
>> +};
>
> enum variants typically have their name in upper-case.

Ah of course, will correct, thanks.

> With that fixed,
> Acked-by: Maxime Ripard <mripard at kernel.org>
>
> Maxime

Thanks for the review! Will submit a v11 with the enum fixed and without the clock bits Chen-Yu has already picked up.

Regards,

Ryan

>
>>  /**
>>   * struct sun8i_mixer_cfg - mixer HW configuration
>>   * @vi_num: number of VI channels
>> @@ -171,8 +180,9 @@ struct sun8i_mixer_cfg {
>>  	int		scaler_mask;
>>  	int		ccsc;
>>  	unsigned long	mod_rate;
>> -	unsigned int	is_de3 : 1;
>> +	unsigned int	de_type;
>>  	unsigned int	scanline_yuv;
>> +	unsigned int	map[6];
>>  };
>>  
>>  struct sun8i_mixer {
>> @@ -184,6 +194,9 @@ struct sun8i_mixer {
>>  
>>  	struct clk			*bus_clk;
>>  	struct clk			*mod_clk;
>> +
>> +	struct regmap			*top_regs;
>> +	struct regmap			*disp_regs;
>>  };
>>  
>>  enum {
>> @@ -220,13 +233,16 @@ sun8i_blender_base(struct sun8i_mixer *mixer)
>>  static inline struct regmap *
>>  sun8i_blender_regmap(struct sun8i_mixer *mixer)
>>  {
>> -	return mixer->engine.regs;
>> +	return mixer->cfg->de_type == sun8i_mixer_de33 ?
>> +		mixer->disp_regs : mixer->engine.regs;
>>  }
>>  
>>  static inline u32
>>  sun8i_channel_base(struct sun8i_mixer *mixer, int channel)
>>  {
>> -	if (mixer->cfg->is_de3)
>> +	if (mixer->cfg->de_type == sun8i_mixer_de33)
>> +		return mixer->cfg->map[channel] * 0x20000 + DE2_CH_SIZE;
>> +	else if (mixer->cfg->de_type == sun8i_mixer_de3)
>>  		return DE3_CH_BASE + channel * DE3_CH_SIZE;
>>  	else
>>  		return DE2_CH_BASE + channel * DE2_CH_SIZE;
>> -- 
>> 2.49.0
>> 
>
> Attachments:
> * signature.asc


More information about the dri-devel mailing list