| /linux/drivers/gpu/drm/ |
| H A D | drm_plane.c | 42 * A plane represents an image source that can be blended with or overlaid on 44 * &drm_framebuffer object. The plane itself specifies the cropping and scaling 46 * pipeline, represented by &drm_crtc. A plane can also have additional 52 * which are not covered by a plane will be black, and alpha blending of any 55 * To create a plane, a KMS drivers allocates and zeroes an instances of 59 * Each plane has a type, see enum drm_plane_type. A plane can be compatible 62 * Each CRTC must have a unique primary plane userspace can attach to enable 64 * primary plane to each CRTC at the same time. Primary planes can still be 69 * relies on the driver to set the primary and optionally the cursor plane used 71 * drivers must provide one primary plane per CRTC to avoid surprising legacy [all …]
|
| H A D | drm_plane_helper.c | 4 * DRM universal plane helper functions 44 * This helper library contains helpers to implement primary plane support on 47 * plane together with the CRTC state this does not allow userspace to disable 48 * the primary plane itself. The default primary plane only expose XRBG8888 and 55 * The plane helpers share the function table structures with other helpers, 75 * Note: Once we change the plane hooks to more fine-grained locking we in get_connectors_for_crtc() 95 static int drm_plane_helper_check_update(struct drm_plane *plane, in drm_plane_helper_check_update() argument 108 .plane = plane, in drm_plane_helper_check_update() 144 * @plane: plane to update 145 * @crtc: the plane's new CRTC [all …]
|
| H A D | drm_atomic_state_helper.c | 220 * __drm_atomic_helper_plane_state_init - Initialize the plane state in __drm_atomic_helper_crtc_destroy_state() 221 * @plane_state: atomic plane state, must not be NULL in __drm_atomic_helper_crtc_destroy_state() 222 * @plane: plane object, must not be NULL in __drm_atomic_helper_crtc_destroy_state() 225 * values. This is useful for drivers that subclass the plane state. in __drm_atomic_helper_crtc_destroy_state() 228 struct drm_plane *plane) in __drm_atomic_helper_crtc_destroy_state() 232 plane_state->plane = plane; in __drm_atomic_helper_crtc_destroy_state() 238 if (plane->blend_mode_property) { in __drm_atomic_helper_crtc_destroy_state() 239 if (!drm_object_property_get_default_value(&plane in __drm_atomic_helper_crtc_destroy_state() 273 __drm_atomic_helper_plane_state_init(struct drm_plane_state * plane_state,struct drm_plane * plane) __drm_atomic_helper_plane_state_init() argument 346 __drm_atomic_helper_plane_reset(struct drm_plane * plane,struct drm_plane_state * plane_state) __drm_atomic_helper_plane_reset() argument 363 drm_atomic_helper_plane_reset(struct drm_plane * plane) drm_atomic_helper_plane_reset() argument 386 drm_atomic_helper_plane_create_state(struct drm_plane * plane) drm_atomic_helper_plane_create_state() argument 408 __drm_atomic_helper_plane_duplicate_state(struct drm_plane * plane,struct drm_plane_state * state) __drm_atomic_helper_plane_duplicate_state() argument 431 drm_atomic_helper_plane_duplicate_state(struct drm_plane * plane) drm_atomic_helper_plane_duplicate_state() argument 477 drm_atomic_helper_plane_destroy_state(struct drm_plane * plane,struct drm_plane_state * state) drm_atomic_helper_plane_destroy_state() argument [all...] |
| H A D | drm_atomic_uapi.c | 176 * drm_atomic_set_crtc_for_plane - set CRTC for plane 177 * @plane_state: the plane whose incoming state to update 178 * @crtc: CRTC to use for the plane 180 * Changing the assigned CRTC for a plane requires us to grab the lock and state 193 struct drm_plane *plane = plane_state->plane; in drm_atomic_set_crtc_for_plane() local 204 crtc_state->plane_mask &= ~drm_plane_mask(plane); in drm_atomic_set_crtc_for_plane() 214 crtc_state->plane_mask |= drm_plane_mask(plane); in drm_atomic_set_crtc_for_plane() 218 drm_dbg_atomic(plane->dev, in drm_atomic_set_crtc_for_plane() 219 "Link [PLANE in drm_atomic_set_crtc_for_plane() 245 struct drm_plane *plane = plane_state->plane; drm_atomic_set_fb_for_plane() local 275 struct drm_plane *plane = plane_state->plane; drm_atomic_set_colorop_for_plane() local 535 drm_atomic_plane_set_property(struct drm_plane * plane,struct drm_plane_state * state,struct drm_file * file_priv,struct drm_property * property,uint64_t val) drm_atomic_plane_set_property() argument 656 drm_atomic_plane_get_property(struct drm_plane * plane,const struct drm_plane_state * state,struct drm_property * property,uint64_t * val) drm_atomic_plane_get_property() argument 1090 struct drm_plane *plane = obj_to_plane(obj); drm_atomic_get_property() local 1262 struct drm_plane *plane = obj_to_plane(obj); drm_atomic_set_property() local [all...] |
| /linux/drivers/gpu/drm/virtio/ |
| H A D | virtgpu_plane.c | 78 drm_plane_state *virtio_gpu_plane_duplicate_state(struct drm_plane *plane) in virtio_gpu_plane_duplicate_state() 82 if (WARN_ON(!plane->state)) in virtio_gpu_plane_duplicate_state() 89 __drm_atomic_helper_plane_duplicate_state(plane, &new->base); in virtio_gpu_plane_duplicate_state() 103 static int virtio_gpu_plane_atomic_check(struct drm_plane *plane, in virtio_gpu_plane_atomic_check() 107 plane); in virtio_gpu_plane_atomic_check() 109 plane); in virtio_gpu_plane_atomic_check() 111 bool is_cursor = plane->type == DRM_PLANE_TYPE_CURSOR; in virtio_gpu_plane_atomic_check() 119 * Ignore damage clips if the framebuffer attached to the plane's state in virtio_gpu_plane_atomic_check() 120 * has changed since the last plane update (page-flip). In this case, a in virtio_gpu_plane_atomic_check() 121 * full plane updat in virtio_gpu_plane_atomic_check() 76 virtio_gpu_plane_duplicate_state(struct drm_plane * plane) virtio_gpu_plane_duplicate_state() argument 100 virtio_gpu_plane_atomic_check(struct drm_plane * plane,struct drm_atomic_commit * state) virtio_gpu_plane_atomic_check() argument 182 virtio_gpu_panic_resource_flush(struct drm_plane * plane,uint32_t x,uint32_t y,uint32_t width,uint32_t height) virtio_gpu_panic_resource_flush() argument 199 virtio_gpu_resource_flush(struct drm_plane * plane,uint32_t x,uint32_t y,uint32_t width,uint32_t height) virtio_gpu_resource_flush() argument 236 virtio_gpu_primary_plane_update(struct drm_plane * plane,struct drm_atomic_commit * state) virtio_gpu_primary_plane_update() argument 312 virtio_gpu_prepare_imported_obj(struct drm_plane * plane,struct drm_plane_state * new_state,struct drm_gem_object * obj) virtio_gpu_prepare_imported_obj() argument 350 virtio_gpu_plane_prepare_fb(struct drm_plane * plane,struct drm_plane_state * new_state) virtio_gpu_plane_prepare_fb() argument 409 virtio_gpu_plane_cleanup_fb(struct drm_plane * plane,struct drm_plane_state * state) virtio_gpu_plane_cleanup_fb() argument 429 virtio_gpu_cursor_plane_update(struct drm_plane * plane,struct drm_atomic_commit * state) virtio_gpu_cursor_plane_update() argument 509 virtio_drm_get_scanout_buffer(struct drm_plane * plane,struct drm_scanout_buffer * sb) virtio_drm_get_scanout_buffer() argument 540 virtio_panic_flush(struct drm_plane * plane) virtio_panic_flush() argument 589 struct drm_plane *plane; virtio_gpu_plane_init() local [all...] |
| /linux/drivers/gpu/drm/nouveau/dispnv04/ |
| H A D | overlay.c | 113 nv10_update_plane(struct drm_plane *plane, struct drm_crtc *crtc, in nv10_update_plane() argument 120 struct nouveau_drm *drm = nouveau_drm(plane->dev); in nv10_update_plane() 123 container_of(plane, struct nouveau_plane, base); in nv10_update_plane() 192 nv10_disable_plane(struct drm_plane *plane, in nv10_disable_plane() argument 195 struct nvif_object *dev = &nouveau_drm(plane->dev)->client.device.object; in nv10_disable_plane() 197 container_of(plane, struct nouveau_plane, base); in nv10_disable_plane() 209 nv_destroy_plane(struct drm_plane *plane) in nv_destroy_plane() argument 211 drm_plane_force_disable(plane); in nv_destroy_plane() 212 drm_plane_cleanup(plane); in nv_destroy_plane() 213 kfree(plane); in nv_destroy_plane() [all …]
|
| /linux/drivers/gpu/drm/i915/display/ |
| H A D | skl_universal_plane_regs.h | 11 #define _SKL_PLANE(pipe, plane, reg_1_a, reg_1_b, reg_2_a, reg_2_b) \ argument 12 _PLANE((plane), _PIPE((pipe), (reg_1_a), (reg_1_b)), _PIPE((pipe), (reg_2_a), (reg_2_b))) 13 #define _SKL_PLANE_DW(pipe, plane, dw, reg_1_a, reg_1_b, reg_2_a, reg_2_b) \ argument 14 (_SKL_PLANE((pipe), (plane), (reg_1_a), (reg_1_b), (reg_2_a), (reg_2_b)) + (dw) * 4) 15 #define _MMIO_SKL_PLANE(pipe, plane, reg_1_a, reg_1_b, reg_2_a, reg_2_b) \ argument 16 _MMIO(_SKL_PLANE((pipe), (plane), (reg_1_a), (reg_1_b), (reg_2_a), (reg_2_b))) 17 #define _MMIO_SKL_PLANE_DW(pipe, plane, dw, reg_1_a, reg_1_b, reg_2_a, reg_2_b) \ argument 18 _MMIO(_SKL_PLANE_DW((pipe), (plane), (dw), (reg_1_a), (reg_1_b), (reg_2_a), (reg_2_b))) 20 #define _SEL_FETCH(pipe, plane, reg_1_a, reg_1_b, reg_2_a, reg_2_b, reg_5_a, reg_5_b, reg_6_a, reg_… argument 21 _PICK_EVEN_2RANGES((plane), PLANE_5, \ [all …]
|
| H A D | skl_universal_plane.c | 346 * - pipe and plane scaling (TODO verify this) in skl_plane_max_width() 354 /* FIXME AUX plane? */ in skl_plane_max_width() 382 /* FIXME AUX plane? */ in glk_plane_max_width() 469 plane_max_stride(struct intel_plane *plane, in plane_max_stride() 484 adl_plane_max_stride(struct intel_plane *plane, in adl_plane_max_stride() 491 return plane_max_stride(plane, info, in adl_plane_max_stride() 497 skl_plane_max_stride(struct intel_plane *plane, in skl_plane_max_stride() 504 return plane_max_stride(plane, info, in skl_plane_max_stride() 582 static u32 tgl_plane_min_alignment(struct intel_plane *plane, in tgl_plane_min_alignment() 586 struct intel_display *display = to_intel_display(plane); in tgl_plane_min_alignment() 468 plane_max_stride(struct intel_plane * plane,const struct drm_format_info * info,u64 modifier,unsigned int rotation,unsigned int max_pixels,unsigned int max_bytes) plane_max_stride() argument 483 adl_plane_max_stride(struct intel_plane * plane,const struct drm_format_info * info,u64 modifier,unsigned int rotation) adl_plane_max_stride() argument 496 skl_plane_max_stride(struct intel_plane * plane,const struct drm_format_info * info,u64 modifier,unsigned int rotation) skl_plane_max_stride() argument 581 tgl_plane_min_alignment(struct intel_plane * plane,const struct drm_framebuffer * fb,int color_plane) tgl_plane_min_alignment() argument 630 skl_plane_min_alignment(struct intel_plane * plane,const struct drm_framebuffer * fb,int color_plane) skl_plane_min_alignment() argument 677 icl_program_input_csc(struct intel_dsb * dsb,struct intel_plane * plane,const struct intel_plane_state * plane_state) icl_program_input_csc() argument 822 skl_write_plane_wm(struct intel_dsb * dsb,struct intel_plane * plane,const struct intel_crtc_state * crtc_state) skl_write_plane_wm() argument 868 skl_plane_disable_arm(struct intel_dsb * dsb,struct intel_plane * plane,const struct intel_crtc_state * crtc_state) skl_plane_disable_arm() argument 882 icl_plane_disable_sel_fetch_arm(struct intel_dsb * dsb,struct intel_plane * plane,const struct intel_crtc_state * crtc_state) icl_plane_disable_sel_fetch_arm() argument 895 plane_has_normalizer(struct intel_plane * plane) plane_has_normalizer() argument 913 icl_plane_disable_arm(struct intel_dsb * dsb,struct intel_plane * plane,const struct intel_crtc_state * crtc_state) icl_plane_disable_arm() argument 936 skl_plane_get_hw_state(struct intel_plane * plane,enum pipe * pipe) skl_plane_get_hw_state() argument 1248 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane); glk_plane_color_ctl() local 1379 icl_plane_csc_load_black(struct intel_dsb * dsb,struct intel_plane * plane,const struct intel_crtc_state * crtc_state) icl_plane_csc_load_black() argument 1406 skl_plane_update_noarm(struct intel_dsb * dsb,struct intel_plane * plane,const struct intel_crtc_state * crtc_state,const struct intel_plane_state * plane_state) skl_plane_update_noarm() argument 1437 skl_plane_update_arm(struct intel_dsb * dsb,struct intel_plane * plane,const struct intel_crtc_state * crtc_state,const struct intel_plane_state * plane_state) skl_plane_update_arm() argument 1503 icl_plane_update_sel_fetch_noarm(struct intel_dsb * dsb,struct intel_plane * plane,const struct intel_crtc_state * crtc_state,const struct intel_plane_state * plane_state,int color_plane) icl_plane_update_sel_fetch_noarm() argument 1550 icl_plane_update_noarm(struct intel_dsb * dsb,struct intel_plane * plane,const struct intel_crtc_state * crtc_state,const struct intel_plane_state * plane_state) icl_plane_update_noarm() argument 1631 icl_plane_update_sel_fetch_arm(struct intel_dsb * dsb,struct intel_plane * plane,const struct intel_crtc_state * crtc_state,const struct intel_plane_state * plane_state) icl_plane_update_sel_fetch_arm() argument 1648 icl_plane_update_arm(struct intel_dsb * dsb,struct intel_plane * plane,const struct intel_crtc_state * crtc_state,const struct intel_plane_state * plane_state) icl_plane_update_arm() argument 1696 skl_plane_capture_error(struct intel_crtc * crtc,struct intel_plane * plane,struct intel_plane_error * error) skl_plane_capture_error() argument 1708 skl_plane_async_flip(struct intel_dsb * dsb,struct intel_plane * plane,const struct intel_crtc_state * crtc_state,const struct intel_plane_state * plane_state,bool async_flip) skl_plane_async_flip() argument 1750 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane); skl_plane_check_fb() local 1849 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane); skl_plane_check_dst_coordinates() local 1880 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane); skl_plane_check_nv12_rotation() local 1915 intel_plane_min_width(struct intel_plane * plane,const struct drm_framebuffer * fb,int color_plane,unsigned int rotation) intel_plane_min_width() argument 1926 intel_plane_min_height(struct intel_plane * plane,const struct drm_framebuffer * fb,int color_plane,unsigned int rotation) intel_plane_min_height() argument 1934 intel_plane_max_width(struct intel_plane * plane,const struct drm_framebuffer * fb,int color_plane,unsigned int rotation) intel_plane_max_width() argument 1945 intel_plane_max_height(struct intel_plane * plane,const struct drm_framebuffer * fb,int color_plane,unsigned int rotation) intel_plane_max_height() argument 1961 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane); skl_check_main_ccs_coordinates() local 2006 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane); skl_calc_main_surface_offset() local 2057 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane); skl_check_main_surface() local 2131 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane); skl_check_nv12_aux_surface() local 2368 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane); skl_plane_check() local 2544 struct intel_plane *plane = to_intel_plane(_plane); skl_plane_format_mod_supported() local 2598 struct intel_plane *plane = to_intel_plane(_plane); icl_plane_format_mod_supported() local 2652 struct intel_plane *plane = to_intel_plane(_plane); tgl_plane_format_mod_supported() local 2732 skl_plane_enable_flip_done(struct intel_plane * plane) skl_plane_enable_flip_done() argument 2743 skl_plane_disable_flip_done(struct intel_plane * plane) skl_plane_disable_flip_done() argument 2834 skl_disable_tiling(struct intel_plane * plane) skl_disable_tiling() argument 2865 struct intel_plane *plane; skl_universal_plane_create() local 3060 struct intel_plane *plane = to_intel_plane(crtc->base.primary); skl_get_initial_plane_config() local 3225 struct intel_plane *plane = to_intel_plane(crtc->base.primary); skl_fixup_initial_plane_config() local [all...] |
| H A D | i9xx_plane_regs.h | 12 #define DSPADDR_VLV(dev_priv, plane) _MMIO_PIPE2(dev_priv, plane, _DSPAADDR_VLV) argument 15 #define DSPCNTR(dev_priv, plane) _MMIO_PIPE2(dev_priv, plane, _DSPACNTR) argument 41 #define DISP_ALPHA_TRANS_ENABLE REG_BIT(15) /* pre-g4x plane B */ 46 #define DISP_SPRITE_ABOVE_OVERLAY REG_BIT(0) /* pre-g4x plane B/C */ 49 #define DSPADDR(dev_priv, plane) _MMIO_PIPE2(dev_priv, plane, _DSPAADDR) argument 52 #define DSPLINOFF(dev_priv, plane) _MMIO_PIPE2(dev_priv, plane, _DSPALINOFF) argument 55 #define DSPSTRIDE(dev_priv, plane) _MMIO_PIPE2(dev_priv, plane, _DSPASTRIDE) argument 58 #define DSPPOS(dev_priv, plane) _MMIO_PIPE2(dev_priv, plane, _DSPAPOS) argument 65 #define DSPSIZE(dev_priv, plane) _MMIO_PIPE2(dev_priv, plane, _DSPASIZE) argument 72 #define DSPSURF(dev_priv, plane) _MMIO_PIPE2(dev_priv, plane, _DSPASURF) argument [all …]
|
| H A D | intel_cursor.c | 77 &plane_state->uapi.plane->dev->mode_config; in intel_cursor_size_ok() 88 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane); in intel_cursor_check_surface() 110 "[PLANE:%d:%s] arbitrary cursor panning not supported\n", in intel_cursor_check_surface() 111 plane->base.base.id, plane->base.name); in intel_cursor_check_surface() 142 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane); in intel_check_cursor() 149 drm_dbg_kms(display->drm, "[PLANE:%d:%s] cursor cannot be tiled\n", in intel_check_cursor() 150 plane in intel_check_cursor() 87 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane); intel_cursor_check_surface() local 141 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane); intel_check_cursor() local 184 i845_cursor_max_stride(struct intel_plane * plane,const struct drm_format_info * info,u64 modifier,unsigned int rotation) i845_cursor_max_stride() argument 191 i845_cursor_min_alignment(struct intel_plane * plane,const struct drm_framebuffer * fb,int color_plane) i845_cursor_min_alignment() argument 230 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane); i845_check_cursor() local 275 i845_cursor_update_arm(struct intel_dsb * dsb,struct intel_plane * plane,const struct intel_crtc_state * crtc_state,const struct intel_plane_state * plane_state) i845_cursor_update_arm() argument 316 i845_cursor_disable_arm(struct intel_dsb * dsb,struct intel_plane * plane,const struct intel_crtc_state * crtc_state) i845_cursor_disable_arm() argument 322 i845_cursor_get_hw_state(struct intel_plane * plane,enum pipe * pipe) i845_cursor_get_hw_state() argument 345 i9xx_cursor_max_stride(struct intel_plane * plane,const struct drm_format_info * info,u64 modifier,unsigned int rotation) i9xx_cursor_max_stride() argument 352 i830_cursor_min_alignment(struct intel_plane * plane,const struct drm_framebuffer * fb,int color_plane) i830_cursor_min_alignment() argument 360 i85x_cursor_min_alignment(struct intel_plane * plane,const struct drm_framebuffer * fb,int color_plane) i85x_cursor_min_alignment() argument 367 i9xx_cursor_min_alignment(struct intel_plane * plane,const struct drm_framebuffer * fb,int color_plane) i9xx_cursor_min_alignment() argument 474 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane); i9xx_check_cursor() local 533 i9xx_cursor_disable_sel_fetch_arm(struct intel_dsb * dsb,struct intel_plane * plane,const struct intel_crtc_state * crtc_state) i9xx_cursor_disable_sel_fetch_arm() argument 547 wa_16021440873(struct intel_dsb * dsb,struct intel_plane * plane,const struct intel_crtc_state * crtc_state,const struct intel_plane_state * plane_state) wa_16021440873() argument 566 i9xx_cursor_update_sel_fetch_arm(struct intel_dsb * dsb,struct intel_plane * plane,const struct intel_crtc_state * crtc_state,const struct intel_plane_state * plane_state) i9xx_cursor_update_sel_fetch_arm() argument 620 skl_write_cursor_wm(struct intel_dsb * dsb,struct intel_plane * plane,const struct intel_crtc_state * crtc_state) skl_write_cursor_wm() argument 653 i9xx_cursor_update_arm(struct intel_dsb * dsb,struct intel_plane * plane,const struct intel_crtc_state * crtc_state,const struct intel_plane_state * plane_state) i9xx_cursor_update_arm() argument 722 i9xx_cursor_disable_arm(struct intel_dsb * dsb,struct intel_plane * plane,const struct intel_crtc_state * crtc_state) i9xx_cursor_disable_arm() argument 728 i9xx_cursor_get_hw_state(struct intel_plane * plane,enum pipe * pipe) i9xx_cursor_get_hw_state() argument 762 g4x_cursor_capture_error(struct intel_crtc * crtc,struct intel_plane * plane,struct intel_plane_error * error) g4x_cursor_capture_error() argument 773 i9xx_cursor_capture_error(struct intel_crtc * crtc,struct intel_plane * plane,struct intel_plane_error * error) i9xx_cursor_capture_error() argument 796 struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane); intel_cursor_unpin_work() local 812 struct intel_plane *plane = to_intel_plane(_plane); intel_legacy_cursor_update() local 983 intel_cursor_add_size_hints_property(struct intel_plane * plane) intel_cursor_add_size_hints_property() argument [all...] |
| /linux/drivers/gpu/drm/loongson/ |
| H A D | lsdc_plane.c | 51 static int lsdc_primary_atomic_check(struct drm_plane *plane, in lsdc_primary_atomic_check() argument 54 struct drm_plane_state *new_plane_state = drm_atomic_get_new_plane_state(state, plane); in lsdc_primary_atomic_check() 70 static void lsdc_primary_atomic_update(struct drm_plane *plane, in lsdc_primary_atomic_update() argument 73 struct lsdc_primary *primary = to_lsdc_primary(plane); in lsdc_primary_atomic_update() 75 struct drm_plane_state *old_plane_state = drm_atomic_get_old_plane_state(state, plane); in lsdc_primary_atomic_update() 76 struct drm_plane_state *new_plane_state = drm_atomic_get_new_plane_state(state, plane); in lsdc_primary_atomic_update() 90 static void lsdc_primary_atomic_disable(struct drm_plane *plane, in lsdc_primary_atomic_disable() argument 98 drm_dbg(plane->dev, "%s disabled\n", plane->name); in lsdc_primary_atomic_disable() 101 static int lsdc_plane_prepare_fb(struct drm_plane *plane, in lsdc_plane_prepare_fb() argument 139 lsdc_plane_cleanup_fb(struct drm_plane * plane,struct drm_plane_state * old_state) lsdc_plane_cleanup_fb() argument 175 lsdc_cursor_plane_atomic_async_check(struct drm_plane * plane,struct drm_atomic_commit * state,bool flip) lsdc_cursor_plane_atomic_async_check() argument 222 lsdc_cursor_plane_atomic_async_update(struct drm_plane * plane,struct drm_atomic_commit * state) lsdc_cursor_plane_atomic_async_update() argument 271 ls7a1000_cursor_plane_atomic_check(struct drm_plane * plane,struct drm_atomic_commit * state) ls7a1000_cursor_plane_atomic_check() argument 301 ls7a1000_cursor_plane_atomic_update(struct drm_plane * plane,struct drm_atomic_commit * state) ls7a1000_cursor_plane_atomic_update() argument 323 ls7a1000_cursor_plane_atomic_disable(struct drm_plane * plane,struct drm_atomic_commit * state) ls7a1000_cursor_plane_atomic_disable() argument 344 ls7a2000_cursor_plane_atomic_check(struct drm_plane * plane,struct drm_atomic_commit * state) ls7a2000_cursor_plane_atomic_check() argument 382 ls7a2000_cursor_plane_atomic_update(struct drm_plane * plane,struct drm_atomic_commit * state) ls7a2000_cursor_plane_atomic_update() argument 419 ls7a2000_cursor_plane_atomic_disable(struct drm_plane * plane,struct drm_atomic_commit * state) ls7a2000_cursor_plane_atomic_disable() argument 723 lsdc_primary_plane_init(struct drm_device * ddev,struct drm_plane * plane,unsigned int index) lsdc_primary_plane_init() argument 748 ls7a1000_cursor_plane_init(struct drm_device * ddev,struct drm_plane * plane,unsigned int index) ls7a1000_cursor_plane_init() argument 773 ls7a2000_cursor_plane_init(struct drm_device * ddev,struct drm_plane * plane,unsigned int index) ls7a2000_cursor_plane_init() argument [all...] |
| /linux/drivers/gpu/drm/omapdrm/dss/ |
| H A D | dispc.h | 342 static inline u16 DISPC_OVL_BASE(enum omap_plane_id plane) in DISPC_OVL_BASE() argument 344 switch (plane) { in DISPC_OVL_BASE() 362 static inline u16 DISPC_BA0_OFFSET(enum omap_plane_id plane) in DISPC_BA0_OFFSET() argument 364 switch (plane) { in DISPC_BA0_OFFSET() 378 static inline u16 DISPC_BA1_OFFSET(enum omap_plane_id plane) in DISPC_BA1_OFFSET() argument 380 switch (plane) { in DISPC_BA1_OFFSET() 394 static inline u16 DISPC_BA0_UV_OFFSET(enum omap_plane_id plane) in DISPC_BA0_UV_OFFSET() argument 396 switch (plane) { in DISPC_BA0_UV_OFFSET() 414 static inline u16 DISPC_BA1_UV_OFFSET(enum omap_plane_id plane) in DISPC_BA1_UV_OFFSET() argument 416 switch (plane) { in DISPC_BA1_UV_OFFSET() [all …]
|
| /linux/drivers/video/fbdev/omap2/omapfb/dss/ |
| H A D | dispc.h | 339 static inline u16 DISPC_OVL_BASE(enum omap_plane plane) in DISPC_OVL_BASE() argument 341 switch (plane) { in DISPC_OVL_BASE() 359 static inline u16 DISPC_BA0_OFFSET(enum omap_plane plane) in DISPC_BA0_OFFSET() argument 361 switch (plane) { in DISPC_BA0_OFFSET() 375 static inline u16 DISPC_BA1_OFFSET(enum omap_plane plane) in DISPC_BA1_OFFSET() argument 377 switch (plane) { in DISPC_BA1_OFFSET() 391 static inline u16 DISPC_BA0_UV_OFFSET(enum omap_plane plane) in DISPC_BA0_UV_OFFSET() argument 393 switch (plane) { in DISPC_BA0_UV_OFFSET() 411 static inline u16 DISPC_BA1_UV_OFFSET(enum omap_plane plane) in DISPC_BA1_UV_OFFSET() argument 413 switch (plane) { in DISPC_BA1_UV_OFFSET() [all …]
|
| /linux/drivers/gpu/drm/tegra/ |
| H A D | plane.c | 17 #include "plane.h" 19 static void tegra_plane_destroy(struct drm_plane *plane) in tegra_plane_destroy() argument 21 struct tegra_plane *p = to_tegra_plane(plane); in tegra_plane_destroy() 23 drm_plane_cleanup(plane); in tegra_plane_destroy() 27 static struct drm_plane_state *tegra_plane_atomic_create_state(struct drm_plane *plane) in tegra_plane_reset() argument 29 struct tegra_plane *p = to_tegra_plane(plane); in tegra_plane_reset() 37 state->base.plane = plane; in tegra_plane_reset() 48 tegra_plane_atomic_duplicate_state(struct drm_plane *plane) in tegra_plane_reset() 50 struct tegra_plane_state *state = to_tegra_plane_state(plane in tegra_plane_reset() 52 tegra_plane_atomic_duplicate_state(struct drm_plane * plane) tegra_plane_atomic_duplicate_state() argument 84 tegra_plane_atomic_destroy_state(struct drm_plane * plane,struct drm_plane_state * state) tegra_plane_atomic_destroy_state() argument 91 tegra_plane_supports_sector_layout(struct drm_plane * plane) tegra_plane_supports_sector_layout() argument 107 tegra_plane_format_mod_supported(struct drm_plane * plane,uint32_t format,uint64_t modifier) tegra_plane_format_mod_supported() argument 200 tegra_plane_prepare_fb(struct drm_plane * plane,struct drm_plane_state * state) tegra_plane_prepare_fb() argument 216 tegra_plane_cleanup_fb(struct drm_plane * plane,struct drm_plane_state * state) tegra_plane_cleanup_fb() argument 297 tegra_plane_state_add(struct tegra_plane * plane,struct drm_plane_state * state) tegra_plane_state_add() argument 621 struct drm_plane *plane; tegra_plane_check_transparency() local 647 tegra_plane_get_overlap_index(struct tegra_plane * plane,struct tegra_plane * other) tegra_plane_get_overlap_index() argument 671 struct drm_plane *plane; tegra_plane_update_transparency() local 710 struct drm_plane *plane; tegra_plane_setup_transparency() local 767 tegra_plane_interconnect_init(struct tegra_plane * plane) tegra_plane_interconnect_init() argument [all...] |
| H A D | dc.c | 37 #include "plane.h" 159 static inline unsigned int tegra_plane_offset(struct tegra_plane *plane, in tegra_plane_offset() argument 164 return plane->offset + offset; in tegra_plane_offset() 169 return plane->offset + offset; in tegra_plane_offset() 174 return plane->offset + offset; in tegra_plane_offset() 177 dev_WARN(plane->dc->dev, "invalid offset: %x\n", offset); in tegra_plane_offset() 179 return plane->offset + offset; in tegra_plane_offset() 182 static inline u32 tegra_plane_readl(struct tegra_plane *plane, in tegra_plane_readl() argument 185 return tegra_dc_readl(plane->dc, tegra_plane_offset(plane, offse in tegra_plane_readl() 188 tegra_plane_writel(struct tegra_plane * plane,u32 value,unsigned int offset) tegra_plane_writel() argument 267 tegra_plane_setup_blending_legacy(struct tegra_plane * plane) tegra_plane_setup_blending_legacy() argument 394 tegra_plane_setup_blending(struct tegra_plane * plane,const struct tegra_dc_window * window) tegra_plane_setup_blending() argument 414 tegra_plane_use_horizontal_filtering(struct tegra_plane * plane,const struct tegra_dc_window * window) tegra_plane_use_horizontal_filtering() argument 429 tegra_plane_use_vertical_filtering(struct tegra_plane * plane,const struct tegra_dc_window * window) tegra_plane_use_vertical_filtering() argument 446 tegra_dc_setup_window(struct tegra_plane * plane,const struct tegra_dc_window * window) tegra_dc_setup_window() argument 717 tegra_plane_atomic_check(struct drm_plane * plane,struct drm_atomic_commit * state) tegra_plane_atomic_check() argument 809 tegra_plane_atomic_disable(struct drm_plane * plane,struct drm_atomic_commit * state) tegra_plane_atomic_disable() argument 826 tegra_plane_atomic_update(struct drm_plane * plane,struct drm_atomic_commit * state) tegra_plane_atomic_update() argument 909 struct tegra_plane *plane; tegra_primary_plane_create() local 967 tegra_cursor_atomic_check(struct drm_plane * plane,struct drm_atomic_commit * state) tegra_cursor_atomic_check() argument 1005 __tegra_cursor_atomic_update(struct drm_plane * plane,struct drm_plane_state * new_state) __tegra_cursor_atomic_update() argument 1103 tegra_cursor_atomic_update(struct drm_plane * plane,struct drm_atomic_commit * state) tegra_cursor_atomic_update() argument 1111 tegra_cursor_atomic_disable(struct drm_plane * plane,struct drm_atomic_commit * state) tegra_cursor_atomic_disable() argument 1130 tegra_cursor_atomic_async_check(struct drm_plane * plane,struct drm_atomic_commit * state,bool flip) tegra_cursor_atomic_async_check() argument 1168 tegra_cursor_atomic_async_update(struct drm_plane * plane,struct drm_atomic_commit * state) tegra_cursor_atomic_async_update() argument 1215 struct tegra_plane *plane; tegra_dc_cursor_plane_create() local 1364 struct tegra_plane *plane; tegra_dc_overlay_plane_create() local 1421 struct drm_plane *plane, *primary = NULL; tegra_dc_add_shared_planes() local 2116 struct drm_plane *plane; tegra_crtc_update_memory_bandwidth() local 2461 struct drm_plane *plane; tegra_plane_overlap_mask() local 2508 struct drm_plane *plane; tegra_crtc_calculate_memory_bandwidth() local [all...] |
| H A D | hub.c | 28 #include "plane.h" 79 static inline unsigned int tegra_plane_offset(struct tegra_plane *plane, in tegra_plane_offset() argument 84 return plane->offset + offset; in tegra_plane_offset() 89 return plane->offset + offset; in tegra_plane_offset() 94 return plane->offset + offset; in tegra_plane_offset() 97 dev_WARN(plane->dc->dev, "invalid offset: %x\n", offset); in tegra_plane_offset() 99 return plane->offset + offset; in tegra_plane_offset() 102 static inline u32 tegra_plane_readl(struct tegra_plane *plane, in tegra_plane_readl() argument 105 return tegra_dc_readl(plane->dc, tegra_plane_offset(plane, offset)); in tegra_plane_readl() 108 static inline void tegra_plane_writel(struct tegra_plane *plane, u32 value, in tegra_plane_writel() argument [all …]
|
| /linux/Documentation/gpu/ |
| H A D | afbc.rst | 87 Within each plane, the component ordering also follows the fourcc 94 * Plane 0: 102 * Plane 0: 106 * Plane 1: 127 - Plane 0: 4 components 135 - Plane 0: 4 components 143 - Plane 0: 3 components 150 - Plane 0: 3 components 157 - Plane 0: 4 components 164 - 8-bit per component YCbCr 444, single plane [all …]
|
| /linux/Documentation/gpu/amdgpu/display/ |
| H A D | mpo-overview.rst | 17 * Plane independent page flips - No need to be tied to global compositor 31 * ``DRM_PLANE_TYPE_PRIMARY``: Primary planes represent a "main" plane for a 34 * ``DRM_PLANE_TYPE_CURSOR``: Cursor planes represent a "cursor" plane for a 45 * 1 Overlay plane (shared among CRTCs). 53 configuration for optimal single display output (e.g., 2 pipes per plane). 56 display - will see 4 pipes in use, 2 per plane. 58 At least 1 pipe must be used per plane (primary and overlay), so for this 65 Plane Restrictions 78 Not every property is available on every plane: 94 plane as it is being treated as part of the plane. Another consequence of that [all …]
|
| /linux/drivers/gpu/drm/amd/display/amdgpu_dm/ |
| H A D | amdgpu_dm_plane.c | 50 * plane capabilities, or initialize this array to all formats, so internal drm 124 struct amdgpu_device *adev = drm_to_adev(plane_state->plane->dev); in amdgpu_dm_plane_fill_blending_from_plane_state() 128 * other ASICs use an 8-bit field. The DRM plane alpha is in amdgpu_dm_plane_fill_blending_from_plane_state() 420 /* TODO: This seems wrong because there is no DCC plane on GFX12. */ in amdgpu_dm_plane_fill_gfx12_attrs_from_modifiers() 1061 STATIC_IFN_KUNIT int amdgpu_dm_plane_get_plane_formats(const struct drm_plane *plane, in amdgpu_dm_plane_get_plane_formats() 1069 * DC plane caps. This will require adding more formats to the in amdgpu_dm_plane_get_plane_formats() 1073 if (plane->type == DRM_PLANE_TYPE_PRIMARY || in amdgpu_dm_plane_get_plane_formats() 1074 (plane_cap && plane_cap->type == DC_PLANE_TYPE_DCN_UNIVERSAL && plane->type != DRM_PLANE_TYPE_CURSOR)) { in amdgpu_dm_plane_get_plane_formats() 1093 switch (plane->type) { in amdgpu_dm_plane_get_plane_formats() 1211 STATIC_IFN_KUNIT int amdgpu_dm_plane_helper_prepare_fb(struct drm_plane *plane, in amdgpu_dm_plane_helper_prepare_fb() 1052 amdgpu_dm_plane_get_plane_formats(const struct drm_plane * plane,const struct dc_plane_cap * plane_cap,uint32_t * formats,int max_formats) amdgpu_dm_plane_get_plane_formats() argument 1202 amdgpu_dm_plane_helper_prepare_fb(struct drm_plane * plane,struct drm_plane_state * new_state) amdgpu_dm_plane_helper_prepare_fb() argument 1301 amdgpu_dm_plane_helper_cleanup_fb(struct drm_plane * plane,struct drm_plane_state * old_state) amdgpu_dm_plane_helper_cleanup_fb() argument 1509 amdgpu_dm_plane_atomic_check(struct drm_plane * plane,struct drm_atomic_commit * state) amdgpu_dm_plane_atomic_check() argument 1557 amdgpu_dm_plane_atomic_async_check(struct drm_plane * plane,struct drm_atomic_commit * state,bool flip) amdgpu_dm_plane_atomic_async_check() argument 1582 amdgpu_dm_plane_get_cursor_position(struct drm_plane * plane,struct drm_crtc * crtc,struct dc_cursor_position * position) amdgpu_dm_plane_get_cursor_position() argument 1630 amdgpu_dm_plane_handle_cursor_update(struct drm_plane * plane,struct drm_plane_state * old_plane_state) amdgpu_dm_plane_handle_cursor_update() argument 1716 amdgpu_dm_plane_atomic_async_update(struct drm_plane * plane,struct drm_atomic_commit * state) amdgpu_dm_plane_atomic_async_update() argument 1740 amdgpu_dm_plane_panic_flush(struct drm_plane * plane) amdgpu_dm_plane_panic_flush() argument 1773 amdgpu_dm_plane_drm_plane_reset(struct drm_plane * plane) amdgpu_dm_plane_drm_plane_reset() argument 1793 amdgpu_dm_plane_drm_plane_duplicate_state(struct drm_plane * plane) amdgpu_dm_plane_drm_plane_duplicate_state() argument 1834 amdgpu_dm_plane_format_mod_supported(struct drm_plane * plane,uint32_t format,uint64_t modifier) amdgpu_dm_plane_format_mod_supported() argument 1905 amdgpu_dm_plane_drm_plane_destroy_state(struct drm_plane * plane,struct drm_plane_state * state) amdgpu_dm_plane_drm_plane_destroy_state() argument 1931 dm_atomic_plane_attach_color_mgmt_properties(struct amdgpu_display_manager * dm,struct drm_plane * plane) dm_atomic_plane_attach_color_mgmt_properties() argument 1989 dm_atomic_plane_set_property(struct drm_plane * plane,struct drm_plane_state * state,struct drm_property * property,uint64_t val) dm_atomic_plane_set_property() argument 2071 dm_atomic_plane_get_property(struct drm_plane * plane,const struct drm_plane_state * state,struct drm_property * property,uint64_t * val) dm_atomic_plane_get_property() argument 2114 dm_plane_init_colorops(struct drm_plane * plane) dm_plane_init_colorops() argument 2165 amdgpu_dm_plane_init(struct amdgpu_display_manager * dm,struct drm_plane * plane,unsigned long possible_crtcs,const struct dc_plane_cap * plane_cap) amdgpu_dm_plane_init() argument [all...] |
| /linux/include/drm/ |
| H A D | drm_gem_atomic_helper.h | 15 * Plane Helpers 18 int drm_gem_plane_helper_prepare_fb(struct drm_plane *plane, struct drm_plane_state *state); 25 * DRM_SHADOW_PLANE_MAX_WIDTH - Maximum width of a plane's shadow buffer in pixels 34 * DRM_SHADOW_PLANE_MAX_HEIGHT - Maximum height of a plane's shadow buffer in scanlines 43 * struct drm_shadow_plane_state - plane state for planes with shadow buffers 46 * provides the regular plane state plus mappings of the shadow buffer 50 /** @base: plane state */ 56 * Per-plane state for format conversion. 65 * @map: Mappings of the plane's framebuffer BOs in to kernel address space 67 * The memory mappings stored in map should be established in the plane' [all...] |
| H A D | drm_fourcc.h | 81 * Number of bytes per pixel (per plane), this is aliased with 91 * Number of bytes per block (per plane), where blocks are 148 * format with data laid in a single plane 264 * drm_format_info_plane_width - width of the plane given the first plane 266 * @width: width of the first plane 267 * @plane: plane index 270 * The width of @plane, given that the width of the first plane is @width. 274 int plane) in drm_format_info_plane_width() argument 276 if (!info || plane >= info->num_planes) in drm_format_info_plane_width() 279 if (plane == 0) in drm_format_info_plane_width() [all …]
|
| /linux/drivers/gpu/drm/amd/display/amdgpu_dm/tests/ |
| H A D | amdgpu_dm_plane_test.c | 193 struct drm_plane *plane; in dm_test_fill_blending_coverage_alpha_format() 201 plane = kunit_kzalloc(test, sizeof(*plane), GFP_KERNEL); in dm_test_fill_blending_coverage_alpha_format() 204 KUNIT_ASSERT_NOT_NULL(test, plane); in dm_test_fill_blending_coverage_alpha_format() 208 plane->dev = &adev->ddev; in dm_test_fill_blending_coverage_alpha_format() 209 state->plane = plane; in dm_test_fill_blending_coverage_alpha_format() 258 * dm_test_get_plane_formats() - Verify plane format counts for key plane types. 262 * and if an overlay with a DCN universal plane ca in dm_test_modifier_has_dcc() 224 struct drm_plane *plane; dm_test_fill_blending_global_alpha() local 293 struct drm_plane *plane; dm_test_get_plane_formats() local 419 struct drm_plane *plane; dm_test_get_cursor_position() local 475 struct drm_plane *plane; dm_test_format_mod_supported() local 617 struct drm_plane *plane; dm_test_helper_check_state_viewport_reject() local 1161 struct drm_plane *plane; dm_test_fill_blending_global_alpha_dcn42() local 1371 struct drm_plane *plane; dm_test_get_plane_formats_overlay_universal_cap() local 2251 struct drm_plane *plane; dm_test_helper_check_state_small_viewport_width() local 2292 struct drm_plane *plane; dm_test_helper_check_state_small_viewport_height() local 2334 struct drm_plane *plane; dm_test_helper_check_state_bottom_clipped_height() local 2378 struct drm_plane *plane; dm_test_helper_check_state_scaling_caps() local 2480 struct drm_plane *plane; dm_test_fill_dc_scaling_info_plane_caps() local 2526 struct drm_plane *plane; dm_test_get_cursor_position_bad_size() local 2565 struct drm_plane *plane; dm_test_format_mod_supported_d_swizzle_reject() local 2596 struct drm_plane *plane; dm_test_atomic_async_check_rejects() local 2622 struct drm_plane *plane; dm_test_atomic_async_check_overlay_cursor() local 2664 dm_test_init_atomic_check_state(struct kunit * test,struct drm_atomic_commit ** state,struct drm_plane ** plane,struct dm_plane_state ** dm_plane_state,struct drm_crtc_state ** new_crtc_state,struct drm_framebuffer ** fb) dm_test_init_atomic_check_state() argument 2751 struct drm_plane *plane; dm_test_atomic_check_no_dc_state() local 2787 struct drm_plane *plane; dm_test_atomic_check_missing_crtc_state() local 2832 struct drm_plane *plane; dm_test_atomic_check_helper_failure() local 2854 struct drm_plane *plane; dm_test_atomic_check_color_pipeline_conflict() local 2884 struct drm_plane *plane; dm_test_atomic_check_scaling_failure() local 2909 struct drm_plane *plane; dm_test_panic_flush_no_dc_state() local 2938 struct drm_plane *plane; dm_test_plane_reset_initializes_state() local 2978 struct drm_plane *plane; dm_test_plane_duplicate_state_copies_fields() local 3015 struct drm_plane *plane; dm_test_plane_destroy_state_minimal() local [all...] |
| /linux/drivers/video/fbdev/omap/ |
| H A D | omapfb_main.c | 53 { OMAPFB_CAPS_PLANE_RELOCATE_MEM, "relocate plane memory" }, 54 { OMAPFB_CAPS_PLANE_SCALE, "scale plane" }, 181 struct omapfb_plane_struct *plane = fbi->par; in ctrl_change_mode() local 182 struct omapfb_device *fbdev = plane->fbdev; in ctrl_change_mode() 190 r = fbdev->ctrl->setup_plane(plane->idx, plane->info.channel_out, in ctrl_change_mode() 192 plane->info.pos_x, plane->info.pos_y, in ctrl_change_mode() 193 var->xres, var->yres, plane->color_mode); in ctrl_change_mode() 204 r = fbdev->ctrl->set_scale(plane->idx, in ctrl_change_mode() 206 plane->info.out_width, in ctrl_change_mode() 207 plane->info.out_height); in ctrl_change_mode() [all …]
|
| /linux/drivers/gpu/drm/vkms/ |
| H A D | vkms_configfs.c | 42 * struct vkms_configfs_plane - Configfs representation of a plane 44 * @group: Top level configuration group that represents a plane. 46 * @possible_crtcs_group: Default subgroup of @group at "plane/possible_crtcs" 47 * @dev: The vkms_configfs_device this plane belongs to 48 * @config: Configuration of the VKMS plane 246 struct vkms_configfs_plane *plane; in plane_possible_crtcs_allow_link() local 253 plane = plane_possible_crtcs_item_to_vkms_configfs_plane(src); in plane_possible_crtcs_allow_link() 256 scoped_guard(mutex, &plane->dev->lock) { in plane_possible_crtcs_allow_link() 257 if (plane->dev->enabled) in plane_possible_crtcs_allow_link() 260 ret = vkms_config_plane_attach_crtc(plane->config, crtc->config); in plane_possible_crtcs_allow_link() [all …]
|
| H A D | vkms_config.h | 37 * @config: The vkms_config this plane belongs to 38 * @type: Type of the plane. The creator of configuration needs to ensures that 39 * at least one primary plane is present. 40 * @possible_crtcs: Array of CRTCs that can be used with this plane 41 * @plane: Internal usage. This pointer should never be considered as valid. 42 * It can be used to store a temporary reference to a VKMS plane during 55 struct vkms_plane *plane; member 197 * @enable_cursor: Create or not a cursor plane 256 * vkms_config_create_plane() - Add a new plane configuration 257 * @config: Configuration to add the plane to [all …]
|