Reverting a change introduced in 6de7e7f8b3698 "[drm] upstream sync to v4.10" (upstream c470abd4fde40ea). Index: src/drivers/gpu/drm/mgag200/mgag200_mode.c =================================================================== --- src.orig/drivers/gpu/drm/mgag200/mgag200_mode.c 2017-06-20 20:40:11.261262778 +0200 +++ src/drivers/gpu/drm/mgag200/mgag200_mode.c 2017-06-20 20:40:39.610842564 +0200 @@ -1394,20 +1394,19 @@ * use this for 8-bit mode so can't perform smooth fades on deeper modes, * but it's a requirement that we provide the function */ -static int mga_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green, - u16 *blue, uint32_t size) +static void mga_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green, + u16 *blue, uint32_t start, uint32_t size) { struct mga_crtc *mga_crtc = to_mga_crtc(crtc); + int end = (start + size > MGAG200_LUT_SIZE) ? MGAG200_LUT_SIZE : start + size; int i; - for (i = 0; i < size; i++) { + for (i = start; i < end; i++) { mga_crtc->lut_r[i] = red[i] >> 8; mga_crtc->lut_g[i] = green[i] >> 8; mga_crtc->lut_b[i] = blue[i] >> 8; } mga_crtc_load_lut(crtc); - - return 0; } /* Simple cleanup function */