Home
last modified time | relevance | path

Searched full:logicvc (Results 1 – 20 of 20) sorted by relevance

/linux-6.12.1/drivers/gpu/drm/logicvc/
Dlogicvc_drm.c38 struct logicvc_drm *logicvc = logicvc_drm(drm_dev); in logicvc_drm_gem_dma_dumb_create() local
41 args->pitch = logicvc->config.row_stride * DIV_ROUND_UP(args->bpp, 8); in logicvc_drm_gem_dma_dumb_create()
51 .name = "logicvc-drm",
52 .desc = "Xylon LogiCVC DRM driver",
64 .name = "logicvc-drm",
69 struct logicvc_drm *logicvc = data; in logicvc_drm_irq_handler() local
74 regmap_read(logicvc->regmap, LOGICVC_INT_STAT_REG, &stat); in logicvc_drm_irq_handler()
77 regmap_write(logicvc->regmap, LOGICVC_INT_STAT_REG, stat); in logicvc_drm_irq_handler()
80 logicvc_crtc_vblank_handler(logicvc); in logicvc_drm_irq_handler()
87 static int logicvc_drm_config_parse(struct logicvc_drm *logicvc) in logicvc_drm_config_parse() argument
[all …]
Dlogicvc_layer.c42 * This allows us to stay compatible with the LogiCVC bistream definitions.
88 struct logicvc_drm *logicvc = logicvc_drm(drm_dev); in logicvc_plane_atomic_check() local
110 if (!logicvc->caps->layer_address) { in logicvc_plane_atomic_check()
111 ret = logicvc_layer_buffer_find_setup(logicvc, layer, new_state, in logicvc_plane_atomic_check()
123 layer->index != (logicvc->config.layers_count - 1) && in logicvc_plane_atomic_check()
124 logicvc->config.layers_configurable); in logicvc_plane_atomic_check()
141 struct logicvc_drm *logicvc = logicvc_drm(drm_plane->dev); in logicvc_plane_atomic_update() local
142 struct drm_device *drm_dev = &logicvc->drm_dev; in logicvc_plane_atomic_update()
145 struct drm_crtc *drm_crtc = &logicvc->crtc->drm_crtc; in logicvc_plane_atomic_update()
154 regmap_write(logicvc->regmap, LOGICVC_LAYER_WIDTH_REG(index), in logicvc_plane_atomic_update()
[all …]
Dlogicvc_crtc.c66 struct logicvc_drm *logicvc = logicvc_drm(drm_crtc->dev); in logicvc_crtc_atomic_enable() local
91 regmap_write(logicvc->regmap, LOGICVC_HSYNC_FRONT_PORCH_REG, hfp - 1); in logicvc_crtc_atomic_enable()
92 regmap_write(logicvc->regmap, LOGICVC_HSYNC_REG, hsl - 1); in logicvc_crtc_atomic_enable()
93 regmap_write(logicvc->regmap, LOGICVC_HSYNC_BACK_PORCH_REG, hbp - 1); in logicvc_crtc_atomic_enable()
94 regmap_write(logicvc->regmap, LOGICVC_HRES_REG, hact - 1); in logicvc_crtc_atomic_enable()
96 regmap_write(logicvc->regmap, LOGICVC_VSYNC_FRONT_PORCH_REG, vfp - 1); in logicvc_crtc_atomic_enable()
97 regmap_write(logicvc->regmap, LOGICVC_VSYNC_REG, vsl - 1); in logicvc_crtc_atomic_enable()
98 regmap_write(logicvc->regmap, LOGICVC_VSYNC_BACK_PORCH_REG, vbp - 1); in logicvc_crtc_atomic_enable()
99 regmap_write(logicvc->regmap, LOGICVC_VRES_REG, vact - 1); in logicvc_crtc_atomic_enable()
112 if (logicvc->interface) { in logicvc_crtc_atomic_enable()
[all …]
Dlogicvc_interface.c33 struct logicvc_drm *logicvc = logicvc_drm(drm_encoder->dev); in logicvc_encoder_enable() local
37 regmap_update_bits(logicvc->regmap, LOGICVC_POWER_CTRL_REG, in logicvc_encoder_enable()
92 static int logicvc_interface_encoder_type(struct logicvc_drm *logicvc) in logicvc_interface_encoder_type() argument
94 switch (logicvc->config.display_interface) { in logicvc_interface_encoder_type()
108 static int logicvc_interface_connector_type(struct logicvc_drm *logicvc) in logicvc_interface_connector_type() argument
110 switch (logicvc->config.display_interface) { in logicvc_interface_connector_type()
124 static bool logicvc_interface_native_connector(struct logicvc_drm *logicvc) in logicvc_interface_native_connector() argument
126 switch (logicvc->config.display_interface) { in logicvc_interface_native_connector()
134 void logicvc_interface_attach_crtc(struct logicvc_drm *logicvc) in logicvc_interface_attach_crtc() argument
136 uint32_t possible_crtcs = drm_crtc_mask(&logicvc->crtc->drm_crtc); in logicvc_interface_attach_crtc()
[all …]
Dlogicvc_layer.h52 int logicvc_layer_buffer_find_setup(struct logicvc_drm *logicvc,
56 struct logicvc_layer *logicvc_layer_get_from_index(struct logicvc_drm *logicvc,
58 struct logicvc_layer *logicvc_layer_get_from_type(struct logicvc_drm *logicvc,
60 struct logicvc_layer *logicvc_layer_get_primary(struct logicvc_drm *logicvc);
61 void logicvc_layers_attach_crtc(struct logicvc_drm *logicvc);
62 int logicvc_layers_init(struct logicvc_drm *logicvc);
Dlogicvc_mode.c31 int logicvc_mode_init(struct logicvc_drm *logicvc) in logicvc_mode_init() argument
33 struct drm_device *drm_dev = &logicvc->drm_dev; in logicvc_mode_init()
45 layer_primary = logicvc_layer_get_primary(logicvc); in logicvc_mode_init()
71 void logicvc_mode_fini(struct logicvc_drm *logicvc) in logicvc_mode_fini() argument
73 struct drm_device *drm_dev = &logicvc->drm_dev; in logicvc_mode_fini()
DKconfig2 tristate "LogiCVC DRM"
11 DRM display driver for the logiCVC programmable logic block from Xylon
DMakefile1 logicvc-drm-y += \
9 obj-$(CONFIG_DRM_LOGICVC) += logicvc-drm.o
Dlogicvc_mode.h12 int logicvc_mode_init(struct logicvc_drm *logicvc);
13 void logicvc_mode_fini(struct logicvc_drm *logicvc);
Dlogicvc_crtc.h18 void logicvc_crtc_vblank_handler(struct logicvc_drm *logicvc);
19 int logicvc_crtc_init(struct logicvc_drm *logicvc);
Dlogicvc_interface.h25 void logicvc_interface_attach_crtc(struct logicvc_drm *logicvc);
26 int logicvc_interface_init(struct logicvc_drm *logicvc);
/linux-6.12.1/drivers/gpio/
Dgpio-logicvc.c29 static void logicvc_gpio_offset(struct logicvc_gpio *logicvc, unsigned offset, in logicvc_gpio_offset() argument
51 struct logicvc_gpio *logicvc = gpiochip_get_data(chip); in logicvc_gpio_get() local
55 logicvc_gpio_offset(logicvc, offset, &reg, &bit); in logicvc_gpio_get()
57 ret = regmap_read(logicvc->regmap, reg, &value); in logicvc_gpio_get()
66 struct logicvc_gpio *logicvc = gpiochip_get_data(chip); in logicvc_gpio_set() local
69 logicvc_gpio_offset(logicvc, offset, &reg, &bit); in logicvc_gpio_set()
71 regmap_update_bits(logicvc->regmap, reg, bit, value ? bit : 0); in logicvc_gpio_set()
87 .name = "logicvc-gpio",
94 struct logicvc_gpio *logicvc; in logicvc_gpio_probe() local
97 logicvc = devm_kzalloc(dev, sizeof(*logicvc), GFP_KERNEL); in logicvc_gpio_probe()
[all …]
DMakefile87 obj-$(CONFIG_GPIO_LOGICVC) += gpio-logicvc.o
DKconfig402 tristate "Xylon LogiCVC GPIO support"
405 Say yes here to support GPIO functionality of the Xylon LogiCVC
/linux-6.12.1/Documentation/devicetree/bindings/mfd/
Dxylon,logicvc.yaml5 $id: http://devicetree.org/schemas/mfd/xylon,logicvc.yaml#
8 title: Xylon LogiCVC multi-function device
14 The LogiCVC is a display controller that also contains a GPIO controller.
22 - xylon,logicvc-3.02.a
40 - xylon,logicvc-3.02.a
47 $ref: /schemas/gpio/xylon,logicvc-gpio.yaml#
50 $ref: /schemas/display/xylon,logicvc-display.yaml#
60 logicvc: logicvc@43c00000 {
61 compatible = "xylon,logicvc-3.02.a", "syscon", "simple-mfd";
/linux-6.12.1/Documentation/devicetree/bindings/gpio/
Dxylon,logicvc-gpio.yaml5 $id: http://devicetree.org/schemas/gpio/xylon,logicvc-gpio.yaml#
8 title: Xylon LogiCVC GPIO controller
14 The LogiCVC GPIO describes the GPIO block included in the LogiCVC display
32 - xylon,logicvc-3.02.a-gpio
56 logicvc: logicvc@43c00000 {
57 compatible = "xylon,logicvc-3.02.a", "syscon", "simple-mfd";
64 compatible = "xylon,logicvc-3.02.a-gpio";
/linux-6.12.1/Documentation/devicetree/bindings/display/
Dxylon,logicvc-display.yaml5 $id: http://devicetree.org/schemas/display/xylon,logicvc-display.yaml#
8 title: Xylon LogiCVC display controller
14 The Xylon LogiCVC is a display controller that supports multiple layers.
32 - xylon,logicvc-3.02.a-display
33 - xylon,logicvc-4.01.a-display
214 logicvc: logicvc@43c00000 {
215 compatible = "xylon,logicvc-3.02.a", "syscon", "simple-mfd";
222 compatible = "xylon,logicvc-3.02.a-display";
/linux-6.12.1/drivers/gpu/drm/
DMakefile194 obj-$(CONFIG_DRM_LOGICVC) += logicvc/
DKconfig432 source "drivers/gpu/drm/logicvc/Kconfig"
/linux-6.12.1/
DMAINTAINERS7169 DRM DRIVER FOR LOGICVC DISPLAY CONTROLLER
7173 F: drivers/gpu/drm/logicvc/