Home | History | Annotate | Download | only in drm

Lines Matching refs:cmap

528  * A helper to alloc fb_info and the members cmap and apertures. Called
548 ret = fb_alloc_cmap(&info->cmap, 256, 0);
564 fb_dealloc_cmap(&info->cmap);
620 if (info->cmap.len)
621 fb_dealloc_cmap(&info->cmap);
920 static int setcmap_pseudo_palette(struct fb_cmap *cmap, struct fb_info *info)
925 if (cmap->start + cmap->len > 16)
928 for (i = 0; i < cmap->len; ++i) {
929 u16 red = cmap->red[i];
930 u16 green = cmap->green[i];
931 u16 blue = cmap->blue[i];
946 palette[cmap->start + i] = value;
952 static int setcmap_legacy(struct fb_cmap *cmap, struct fb_info *info)
966 if (cmap->start + cmap->len > crtc->gamma_size)
973 memcpy(r + cmap->start, cmap->red, cmap->len * sizeof(*r));
974 memcpy(g + cmap->start, cmap->green, cmap->len * sizeof(*g));
975 memcpy(b + cmap->start, cmap->blue, cmap->len * sizeof(*b));
988 struct fb_cmap *cmap)
996 if (!size || cmap->start + cmap->len > size)
1004 if (cmap->start || cmap->len != size) {
1009 for (i = 0; i < cmap->start; i++) {
1014 for (i = cmap->start + cmap->len; i < size; i++) {
1021 for (i = 0; i < cmap->len; i++) {
1022 lut[cmap->start + i].red = cmap->red[i];
1023 lut[cmap->start + i].green = cmap->green[i];
1024 lut[cmap->start + i].blue = cmap->blue[i];
1030 static int setcmap_atomic(struct fb_cmap *cmap, struct fb_info *info)
1058 gamma_lut = setcmap_new_gamma_lut(crtc, cmap);
1090 memcpy(r + cmap->start, cmap->red, cmap->len * sizeof(*r));
1091 memcpy(g + cmap->start, cmap->green, cmap->len * sizeof(*g));
1092 memcpy(b + cmap->start, cmap->blue, cmap->len * sizeof(*b));
1115 * @cmap: cmap to set
1118 int drm_fb_helper_setcmap(struct fb_cmap *cmap, struct fb_info *info)
1136 ret = setcmap_pseudo_palette(cmap, info);
1138 ret = setcmap_atomic(cmap, info);
1140 ret = setcmap_legacy(cmap, info);