Lines Matching full:layout

636 		struct dpu_hw_fmt_layout *layout)  in _dpu_format_get_plane_sizes_ubwc()  argument
642 memset(layout, 0, sizeof(struct dpu_hw_fmt_layout)); in _dpu_format_get_plane_sizes_ubwc()
643 layout->format = fmt; in _dpu_format_get_plane_sizes_ubwc()
644 layout->width = width; in _dpu_format_get_plane_sizes_ubwc()
645 layout->height = height; in _dpu_format_get_plane_sizes_ubwc()
646 layout->num_planes = fmt->num_planes; in _dpu_format_get_plane_sizes_ubwc()
655 if (DPU_FORMAT_IS_YUV(layout->format)) { in _dpu_format_get_plane_sizes_ubwc()
660 layout->num_planes = 2; in _dpu_format_get_plane_sizes_ubwc()
661 layout->plane_pitch[0] = VENUS_Y_STRIDE(color, width); in _dpu_format_get_plane_sizes_ubwc()
663 layout->plane_size[0] = MSM_MEDIA_ALIGN(layout->plane_pitch[0] * in _dpu_format_get_plane_sizes_ubwc()
666 layout->plane_pitch[1] = VENUS_UV_STRIDE(color, width); in _dpu_format_get_plane_sizes_ubwc()
668 layout->plane_size[1] = MSM_MEDIA_ALIGN(layout->plane_pitch[1] * in _dpu_format_get_plane_sizes_ubwc()
674 layout->num_planes += 2; in _dpu_format_get_plane_sizes_ubwc()
675 layout->plane_pitch[2] = VENUS_Y_META_STRIDE(color, width); in _dpu_format_get_plane_sizes_ubwc()
677 layout->plane_size[2] = MSM_MEDIA_ALIGN(layout->plane_pitch[2] * in _dpu_format_get_plane_sizes_ubwc()
680 layout->plane_pitch[3] = VENUS_UV_META_STRIDE(color, width); in _dpu_format_get_plane_sizes_ubwc()
682 layout->plane_size[3] = MSM_MEDIA_ALIGN(layout->plane_pitch[3] * in _dpu_format_get_plane_sizes_ubwc()
688 layout->num_planes = 1; in _dpu_format_get_plane_sizes_ubwc()
690 layout->plane_pitch[0] = VENUS_RGB_STRIDE(color, width); in _dpu_format_get_plane_sizes_ubwc()
692 layout->plane_size[0] = MSM_MEDIA_ALIGN(layout->plane_pitch[0] * in _dpu_format_get_plane_sizes_ubwc()
697 layout->num_planes += 2; in _dpu_format_get_plane_sizes_ubwc()
698 layout->plane_pitch[2] = VENUS_RGB_META_STRIDE(color, width); in _dpu_format_get_plane_sizes_ubwc()
700 layout->plane_size[2] = MSM_MEDIA_ALIGN(layout->plane_pitch[2] * in _dpu_format_get_plane_sizes_ubwc()
706 layout->total_size += layout->plane_size[i]; in _dpu_format_get_plane_sizes_ubwc()
715 struct dpu_hw_fmt_layout *layout, in _dpu_format_get_plane_sizes_linear() argument
720 memset(layout, 0, sizeof(struct dpu_hw_fmt_layout)); in _dpu_format_get_plane_sizes_linear()
721 layout->format = fmt; in _dpu_format_get_plane_sizes_linear()
722 layout->width = width; in _dpu_format_get_plane_sizes_linear()
723 layout->height = height; in _dpu_format_get_plane_sizes_linear()
724 layout->num_planes = fmt->num_planes; in _dpu_format_get_plane_sizes_linear()
728 layout->num_planes = 1; in _dpu_format_get_plane_sizes_linear()
729 layout->plane_size[0] = width * height * layout->format->bpp; in _dpu_format_get_plane_sizes_linear()
730 layout->plane_pitch[0] = width * layout->format->bpp; in _dpu_format_get_plane_sizes_linear()
748 layout->plane_pitch[0] = width * bpp; in _dpu_format_get_plane_sizes_linear()
749 layout->plane_pitch[1] = layout->plane_pitch[0] / h_subsample; in _dpu_format_get_plane_sizes_linear()
750 layout->plane_size[0] = layout->plane_pitch[0] * height; in _dpu_format_get_plane_sizes_linear()
751 layout->plane_size[1] = layout->plane_pitch[1] * in _dpu_format_get_plane_sizes_linear()
755 layout->num_planes = 2; in _dpu_format_get_plane_sizes_linear()
756 layout->plane_size[1] *= 2; in _dpu_format_get_plane_sizes_linear()
757 layout->plane_pitch[1] *= 2; in _dpu_format_get_plane_sizes_linear()
760 layout->num_planes = 3; in _dpu_format_get_plane_sizes_linear()
761 layout->plane_size[2] = layout->plane_size[1]; in _dpu_format_get_plane_sizes_linear()
762 layout->plane_pitch[2] = layout->plane_pitch[1]; in _dpu_format_get_plane_sizes_linear()
772 for (i = 0; i < layout->num_planes && i < DPU_MAX_PLANES; ++i) { in _dpu_format_get_plane_sizes_linear()
773 if (pitches && layout->plane_pitch[i] < pitches[i]) in _dpu_format_get_plane_sizes_linear()
774 layout->plane_pitch[i] = pitches[i]; in _dpu_format_get_plane_sizes_linear()
778 layout->total_size += layout->plane_size[i]; in _dpu_format_get_plane_sizes_linear()
787 struct dpu_hw_fmt_layout *layout, in dpu_format_get_plane_sizes() argument
790 if (!layout || !fmt) { in dpu_format_get_plane_sizes()
801 return _dpu_format_get_plane_sizes_ubwc(fmt, w, h, layout); in dpu_format_get_plane_sizes()
803 return _dpu_format_get_plane_sizes_linear(fmt, w, h, layout, pitches); in dpu_format_get_plane_sizes()
809 struct dpu_hw_fmt_layout *layout) in _dpu_format_populate_addrs_ubwc() argument
814 if (!fb || !layout) { in _dpu_format_populate_addrs_ubwc()
826 meta = DPU_FORMAT_IS_UBWC(layout->format); in _dpu_format_populate_addrs_ubwc()
829 if (DPU_FORMAT_IS_YUV(layout->format)) { in _dpu_format_populate_addrs_ubwc()
851 layout->plane_addr[0] = base_addr + layout->plane_size[2]; in _dpu_format_populate_addrs_ubwc()
854 layout->plane_addr[1] = base_addr + layout->plane_size[0] in _dpu_format_populate_addrs_ubwc()
855 + layout->plane_size[2] + layout->plane_size[3]; in _dpu_format_populate_addrs_ubwc()
861 layout->plane_addr[2] = base_addr; in _dpu_format_populate_addrs_ubwc()
864 layout->plane_addr[3] = base_addr + layout->plane_size[0] in _dpu_format_populate_addrs_ubwc()
865 + layout->plane_size[2]; in _dpu_format_populate_addrs_ubwc()
885 layout->plane_addr[0] = base_addr + layout->plane_size[2]; in _dpu_format_populate_addrs_ubwc()
886 layout->plane_addr[1] = 0; in _dpu_format_populate_addrs_ubwc()
891 layout->plane_addr[2] = base_addr; in _dpu_format_populate_addrs_ubwc()
892 layout->plane_addr[3] = 0; in _dpu_format_populate_addrs_ubwc()
900 struct dpu_hw_fmt_layout *layout) in _dpu_format_populate_addrs_linear() argument
905 for (i = 0; i < layout->num_planes; ++i) { in _dpu_format_populate_addrs_linear()
906 if (layout->plane_pitch[i] > fb->pitches[i]) { in _dpu_format_populate_addrs_linear()
908 i, layout->plane_pitch[i], fb->pitches[i]); in _dpu_format_populate_addrs_linear()
914 for (i = 0; i < layout->num_planes; ++i) { in _dpu_format_populate_addrs_linear()
916 layout->plane_addr[i] = in _dpu_format_populate_addrs_linear()
918 if (!layout->plane_addr[i]) { in _dpu_format_populate_addrs_linear()
930 struct dpu_hw_fmt_layout *layout) in dpu_format_populate_layout() argument
934 if (!fb || !layout) { in dpu_format_populate_layout()
945 layout->format = to_dpu_format(msm_framebuffer_format(fb)); in dpu_format_populate_layout()
948 ret = dpu_format_get_plane_sizes(layout->format, fb->width, fb->height, in dpu_format_populate_layout()
949 layout, fb->pitches); in dpu_format_populate_layout()
954 if (DPU_FORMAT_IS_UBWC(layout->format) || in dpu_format_populate_layout()
955 DPU_FORMAT_IS_TILE(layout->format)) in dpu_format_populate_layout()
956 ret = _dpu_format_populate_addrs_ubwc(aspace, fb, layout); in dpu_format_populate_layout()
958 ret = _dpu_format_populate_addrs_linear(aspace, fb, layout); in dpu_format_populate_layout()
971 struct dpu_hw_fmt_layout layout; in dpu_format_check_modified_format() local
986 &layout, cmd->pitches); in dpu_format_check_modified_format()
999 if (bos_total_size < layout.total_size) { in dpu_format_check_modified_format()
1001 bos_total_size, layout.total_size); in dpu_format_check_modified_format()