Lines Matching refs:fb
49 struct drm_gem_dma_object *drm_fb_dma_get_gem_obj(struct drm_framebuffer *fb, in drm_fb_dma_get_gem_obj() argument
54 gem = drm_gem_fb_get_obj(fb, plane); in drm_fb_dma_get_gem_obj()
73 dma_addr_t drm_fb_dma_get_gem_addr(struct drm_framebuffer *fb, in drm_fb_dma_get_gem_addr() argument
80 u32 block_w = drm_format_info_block_width(fb->format, plane); in drm_fb_dma_get_gem_addr()
81 u32 block_h = drm_format_info_block_height(fb->format, plane); in drm_fb_dma_get_gem_addr()
82 u32 block_size = fb->format->char_per_block[plane]; in drm_fb_dma_get_gem_addr()
88 obj = drm_fb_dma_get_gem_obj(fb, plane); in drm_fb_dma_get_gem_addr()
92 dma_addr = obj->dma_addr + fb->offsets[plane]; in drm_fb_dma_get_gem_addr()
95 h_div = fb->format->hsub; in drm_fb_dma_get_gem_addr()
96 v_div = fb->format->vsub; in drm_fb_dma_get_gem_addr()
104 dma_addr += fb->pitches[plane] * block_start_y; in drm_fb_dma_get_gem_addr()
127 const struct drm_format_info *finfo = state->fb->format; in drm_fb_dma_sync_non_coherent()
136 dma_obj = drm_fb_dma_get_gem_obj(state->fb, i); in drm_fb_dma_sync_non_coherent()
140 daddr = drm_fb_dma_get_gem_addr(state->fb, state, i); in drm_fb_dma_sync_non_coherent()
145 offset = clip.y1 * state->fb->pitches[i]; in drm_fb_dma_sync_non_coherent()
147 nb_bytes = (clip.y2 - clip.y1) * state->fb->pitches[i]; in drm_fb_dma_sync_non_coherent()
170 struct drm_framebuffer *fb; in drm_fb_dma_get_scanout_buffer() local
172 if (!plane->state || !plane->state->fb) in drm_fb_dma_get_scanout_buffer()
175 fb = plane->state->fb; in drm_fb_dma_get_scanout_buffer()
177 if (fb->modifier != DRM_FORMAT_MOD_LINEAR) in drm_fb_dma_get_scanout_buffer()
180 dma_obj = drm_fb_dma_get_gem_obj(fb, 0); in drm_fb_dma_get_scanout_buffer()
191 sb->format = fb->format; in drm_fb_dma_get_scanout_buffer()
192 sb->height = fb->height; in drm_fb_dma_get_scanout_buffer()
193 sb->width = fb->width; in drm_fb_dma_get_scanout_buffer()
194 sb->pitch[0] = fb->pitches[0]; in drm_fb_dma_get_scanout_buffer()