From: Jyri Sarha Date: Sat, 19 Nov 2016 16:00:32 +0000 (+0200) Subject: drm/tilcdc: Fix load mode bit-field setting in tilcdc_crtc_enable() X-Git-Tag: v4.10-rc1~154^2~18^2~6 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=f13e088ca8ba28091ff030e89cdd8e25a3a7834d;p=karo-tx-linux.git drm/tilcdc: Fix load mode bit-field setting in tilcdc_crtc_enable() Set LCDC_PALETTE_LOAD_MODE bit-field with new tilcdc_write_mask() instead of tilcdc_set(). Setting a bit-fields with tilcdc_set() is fundamentally broken. Signed-off-by: Jyri Sarha Tested-by: Bartosz Golaszewski --- diff --git a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c index 4605942b0ab9..1ed65dd5befe 100644 --- a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c +++ b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c @@ -237,7 +237,9 @@ static void tilcdc_crtc_enable(struct drm_crtc *crtc) tilcdc_crtc_enable_irqs(dev); tilcdc_clear(dev, LCDC_DMA_CTRL_REG, LCDC_DUAL_FRAME_BUFFER_ENABLE); - tilcdc_set(dev, LCDC_RASTER_CTRL_REG, LCDC_PALETTE_LOAD_MODE(DATA_ONLY)); + tilcdc_write_mask(dev, LCDC_RASTER_CTRL_REG, + LCDC_PALETTE_LOAD_MODE(DATA_ONLY), + LCDC_PALETTE_LOAD_MODE_MASK); tilcdc_set(dev, LCDC_RASTER_CTRL_REG, LCDC_RASTER_ENABLE); drm_crtc_vblank_on(crtc);