Lines Matching refs:cmap
583 ret = fb_alloc_cmap(&info->cmap, 256, 0); in drm_fb_helper_alloc_fbi()
607 fb_dealloc_cmap(&info->cmap); in drm_fb_helper_alloc_fbi()
652 if (info->cmap.len) in drm_fb_helper_fini()
653 fb_dealloc_cmap(&info->cmap); in drm_fb_helper_fini()
968 static int setcmap_pseudo_palette(struct fb_cmap *cmap, struct fb_info *info) in setcmap_pseudo_palette() argument
973 if (cmap->start + cmap->len > 16) in setcmap_pseudo_palette()
976 for (i = 0; i < cmap->len; ++i) { in setcmap_pseudo_palette()
977 u16 red = cmap->red[i]; in setcmap_pseudo_palette()
978 u16 green = cmap->green[i]; in setcmap_pseudo_palette()
979 u16 blue = cmap->blue[i]; in setcmap_pseudo_palette()
994 palette[cmap->start + i] = value; in setcmap_pseudo_palette()
1000 static int setcmap_legacy(struct fb_cmap *cmap, struct fb_info *info) in setcmap_legacy() argument
1016 if (cmap->start + cmap->len > crtc->gamma_size) { in setcmap_legacy()
1025 memcpy(r + cmap->start, cmap->red, cmap->len * sizeof(*r)); in setcmap_legacy()
1026 memcpy(g + cmap->start, cmap->green, cmap->len * sizeof(*g)); in setcmap_legacy()
1027 memcpy(b + cmap->start, cmap->blue, cmap->len * sizeof(*b)); in setcmap_legacy()
1041 struct fb_cmap *cmap) in setcmap_new_gamma_lut() argument
1049 if (!size || cmap->start + cmap->len > size) in setcmap_new_gamma_lut()
1057 if (cmap->start || cmap->len != size) { in setcmap_new_gamma_lut()
1062 for (i = 0; i < cmap->start; i++) { in setcmap_new_gamma_lut()
1067 for (i = cmap->start + cmap->len; i < size; i++) { in setcmap_new_gamma_lut()
1074 for (i = 0; i < cmap->len; i++) { in setcmap_new_gamma_lut()
1075 lut[cmap->start + i].red = cmap->red[i]; in setcmap_new_gamma_lut()
1076 lut[cmap->start + i].green = cmap->green[i]; in setcmap_new_gamma_lut()
1077 lut[cmap->start + i].blue = cmap->blue[i]; in setcmap_new_gamma_lut()
1083 static int setcmap_atomic(struct fb_cmap *cmap, struct fb_info *info) in setcmap_atomic() argument
1111 gamma_lut = setcmap_new_gamma_lut(crtc, cmap); in setcmap_atomic()
1148 memcpy(r + cmap->start, cmap->red, cmap->len * sizeof(*r)); in setcmap_atomic()
1149 memcpy(g + cmap->start, cmap->green, cmap->len * sizeof(*g)); in setcmap_atomic()
1150 memcpy(b + cmap->start, cmap->blue, cmap->len * sizeof(*b)); in setcmap_atomic()
1176 int drm_fb_helper_setcmap(struct fb_cmap *cmap, struct fb_info *info) in drm_fb_helper_setcmap() argument
1194 ret = setcmap_pseudo_palette(cmap, info); in drm_fb_helper_setcmap()
1196 ret = setcmap_atomic(cmap, info); in drm_fb_helper_setcmap()
1198 ret = setcmap_legacy(cmap, info); in drm_fb_helper_setcmap()