Lines Matching +full:layer +full:- +full:base +full:- +full:offset
1 /* SPDX-License-Identifier: GPL-2.0-only */
7 * Author: Jean-Jacques Hiblot <jjhiblot@traphandler.com>
8 * Author: Boris BREZILLON <boris.brezillon@free-electrons.com>
95 #define ATMEL_HLCDC_LAYER_SIZE(w, h) (((w) - 1) | (((h) - 1) << 16))
116 #define ATMEL_HLCDC_LAYER_DISC_SIZE(w, h) (((w) - 1) | (((h) - 1) << 16))
174 * Atmel HLCDC Layer registers layout structure
176 * Each HLCDC layer has its own register organization and a given register
179 * This structure stores common registers layout for a given layer and is
180 * used by HLCDC layer code to choose the appropriate register to write to
195 * @general_config: general layer config register
248 * Atmel HLCDC layer types
261 * This structure list all the formats supported by a given layer.
272 * Atmel HLCDC Layer description structure
274 * This structure describes the capabilities provided by a given layer.
276 * @name: layer name
277 * @type: layer type
278 * @id: layer id
279 * @regs_offset: offset of the layer registers from the HLCDC registers base
280 * @cfgs_offset: CFGX registers offset from the layer registers base
283 * @max_width: maximum width supported by this layer (0 means unlimited)
284 * @max_height: maximum height supported by this layer (0 means unlimited)
300 * Atmel HLCDC Layer.
302 * A layer can be a DRM plane of a post processing layer used to render
305 * @desc: layer description
316 * @base: base DRM plane structure
317 * @layer: HLCDC layer structure
321 struct drm_plane base; member
322 struct atmel_hlcdc_layer layer; member
328 return container_of(p, struct atmel_hlcdc_plane, base); in drm_plane_to_atmel_hlcdc_plane()
332 atmel_hlcdc_layer_to_plane(struct atmel_hlcdc_layer *layer) in atmel_hlcdc_layer_to_plane() argument
334 return container_of(layer, struct atmel_hlcdc_plane, layer); in atmel_hlcdc_layer_to_plane()
338 * struct atmel_hlcdc_dc - Atmel HLCDC Display Controller.
363 * struct atmel_lcdc_dc_ops - describes atmel_lcdc ops group
371 * @lcdc_csc_init: update the color space conversion co-efficient of
372 * High-end overlay register
373 * @lcdc_irq_dbg: to raise alert incase of interrupt overrun in any LCDC layer
412 * @layers: a layer description table describing available layers
413 * @nlayers: layer description table size
435 static inline void atmel_hlcdc_layer_write_reg(struct atmel_hlcdc_layer *layer, in atmel_hlcdc_layer_write_reg() argument
438 regmap_write(layer->regmap, layer->desc->regs_offset + reg, val); in atmel_hlcdc_layer_write_reg()
441 static inline u32 atmel_hlcdc_layer_read_reg(struct atmel_hlcdc_layer *layer, in atmel_hlcdc_layer_read_reg() argument
446 regmap_read(layer->regmap, layer->desc->regs_offset + reg, &val); in atmel_hlcdc_layer_read_reg()
451 static inline void atmel_hlcdc_layer_write_cfg(struct atmel_hlcdc_layer *layer, in atmel_hlcdc_layer_write_cfg() argument
454 atmel_hlcdc_layer_write_reg(layer, in atmel_hlcdc_layer_write_cfg()
455 layer->desc->cfgs_offset + in atmel_hlcdc_layer_write_cfg()
459 static inline u32 atmel_hlcdc_layer_read_cfg(struct atmel_hlcdc_layer *layer, in atmel_hlcdc_layer_read_cfg() argument
462 return atmel_hlcdc_layer_read_reg(layer, in atmel_hlcdc_layer_read_cfg()
463 layer->desc->cfgs_offset + in atmel_hlcdc_layer_read_cfg()
467 static inline void atmel_hlcdc_layer_write_clut(struct atmel_hlcdc_layer *layer, in atmel_hlcdc_layer_write_clut() argument
470 regmap_write(layer->regmap, in atmel_hlcdc_layer_write_clut()
471 layer->desc->clut_offset + c * sizeof(u32), in atmel_hlcdc_layer_write_clut()
475 static inline void atmel_hlcdc_layer_init(struct atmel_hlcdc_layer *layer, in atmel_hlcdc_layer_init() argument
479 layer->desc = desc; in atmel_hlcdc_layer_init()
480 layer->regmap = regmap; in atmel_hlcdc_layer_init()