Lines Matching +full:sense +full:- +full:bitfield +full:- +full:width
1 // SPDX-License-Identifier: GPL-2.0-only
11 #include <linux/bitfield.h>
119 * same actual count. This makes sense once you read above a couple of
126 while (actual_count--) { in udl_lfsr16()
150 u16 reg01 = mode->crtc_htotal - mode->crtc_hsync_start; in udl_set_display_mode()
151 u16 reg03 = reg01 + mode->crtc_hdisplay; in udl_set_display_mode()
152 u16 reg05 = mode->crtc_vtotal - mode->crtc_vsync_start; in udl_set_display_mode()
153 u16 reg07 = reg05 + mode->crtc_vdisplay; in udl_set_display_mode()
154 u16 reg09 = mode->crtc_htotal - 1; in udl_set_display_mode()
156 u16 reg0d = mode->crtc_hsync_end - mode->crtc_hsync_start + 1; in udl_set_display_mode()
157 u16 reg0f = mode->hdisplay; in udl_set_display_mode()
158 u16 reg11 = mode->crtc_vtotal; in udl_set_display_mode()
160 u16 reg15 = mode->crtc_vsync_end - mode->crtc_vsync_start; in udl_set_display_mode()
161 u16 reg17 = mode->crtc_vdisplay; in udl_set_display_mode()
162 u16 reg1b = mode->clock / 5; in udl_set_display_mode()
198 return -EINVAL; in udl_log_cpp()
206 struct drm_device *dev = fb->dev; in udl_handle_damage()
207 void *vaddr = map->vaddr; /* TODO: Use mapping abstraction properly */ in udl_handle_damage()
213 ret = udl_log_cpp(fb->format->cpp[0]); in udl_handle_damage()
220 return -ENOMEM; in udl_handle_damage()
221 cmd = urb->transfer_buffer; in udl_handle_damage()
223 for (i = clip->y1; i < clip->y2; i++) { in udl_handle_damage()
224 const int line_offset = fb->pitches[0] * i; in udl_handle_damage()
225 const int byte_offset = line_offset + (clip->x1 << log_bpp); in udl_handle_damage()
226 const int dev_byte_offset = (fb->width * i + clip->x1) << log_bpp; in udl_handle_damage()
235 if (cmd > (char *)urb->transfer_buffer) { in udl_handle_damage()
238 if (cmd < (char *)urb->transfer_buffer + urb->transfer_buffer_length) in udl_handle_damage()
240 len = cmd - (char *)urb->transfer_buffer; in udl_handle_damage()
267 struct drm_crtc *new_crtc = new_plane_state->crtc; in udl_primary_plane_helper_atomic_check()
282 struct drm_device *dev = plane->dev; in udl_primary_plane_helper_atomic_update()
285 struct drm_framebuffer *fb = plane_state->fb; in udl_primary_plane_helper_atomic_update()
303 udl_handle_damage(fb, &shadow_plane_state->data[0], &damage); in udl_primary_plane_helper_atomic_update()
331 struct drm_device *dev = crtc->dev; in udl_crtc_helper_atomic_enable()
333 struct drm_display_mode *mode = &crtc_state->mode; in udl_crtc_helper_atomic_enable()
345 buf = (char *)urb->transfer_buffer; in udl_crtc_helper_atomic_enable()
351 buf = udl_set_base8bpp(buf, 2 * mode->vdisplay * mode->hdisplay); in udl_crtc_helper_atomic_enable()
357 udl_submit_urb(dev, urb, buf - (char *)urb->transfer_buffer); in udl_crtc_helper_atomic_enable()
365 struct drm_device *dev = crtc->dev; in udl_crtc_helper_atomic_disable()
377 buf = (char *)urb->transfer_buffer; in udl_crtc_helper_atomic_disable()
383 udl_submit_urb(dev, urb, buf - (char *)urb->transfer_buffer); in udl_crtc_helper_atomic_disable()
420 drm_connector_update_edid_property(connector, udl_connector->edid); in udl_connector_helper_get_modes()
421 if (udl_connector->edid) in udl_connector_helper_get_modes()
422 return drm_add_edid_modes(connector, udl_connector->edid); in udl_connector_helper_get_modes()
434 struct drm_device *dev = &udl->drm; in udl_get_edid_block()
442 return -ENOMEM; in udl_get_edid_block()
454 ret = -EIO; in udl_get_edid_block()
473 struct drm_device *dev = connector->dev; in udl_connector_detect()
480 kfree(udl_connector->edid); in udl_connector_detect()
481 udl_connector->edid = NULL; in udl_connector_detect()
486 udl_connector->edid = drm_do_get_edid(connector, udl_get_edid_block, udl); in udl_connector_detect()
487 if (udl_connector->edid) in udl_connector_detect()
500 kfree(udl_connector->edid); in udl_connector_destroy()
521 return ERR_PTR(-ENOMEM); in udl_connector_init()
523 connector = &udl_connector->connector; in udl_connector_init()
530 connector->polled = DRM_CONNECTOR_POLL_HPD | in udl_connector_init()
550 if (udl->sku_pixel_limit) { in udl_mode_config_mode_valid()
551 if (mode->vdisplay * mode->hdisplay > udl->sku_pixel_limit) in udl_mode_config_mode_valid()
578 dev->mode_config.min_width = 640; in udl_modeset_init()
579 dev->mode_config.min_height = 480; in udl_modeset_init()
580 dev->mode_config.max_width = 2048; in udl_modeset_init()
581 dev->mode_config.max_height = 2048; in udl_modeset_init()
582 dev->mode_config.preferred_depth = 16; in udl_modeset_init()
583 dev->mode_config.funcs = &udl_mode_config_funcs; in udl_modeset_init()
585 primary_plane = &udl->primary_plane; in udl_modeset_init()
597 crtc = &udl->crtc; in udl_modeset_init()
604 encoder = &udl->encoder; in udl_modeset_init()
608 encoder->possible_crtcs = drm_crtc_mask(crtc); in udl_modeset_init()