Message ID | 20220308160758.26060-1-wens@kernel.org (mailing list archive) |
---|---|
State | Mainlined, archived |
Headers | show |
Series | [1/2] drm: ssd130x: Fix COM scan direction register mask | expand |
Hello Chen-Yu, Thanks a lot for your patch. On 3/8/22 17:07, Chen-Yu Tsai wrote: > From: Chen-Yu Tsai <wens@csie.org> > > The SSD130x's command to toggle COM scan direction uses bit 3 and only > bit 3 to set the direction of the scanout. The driver has an incorrect > GENMASK(3, 2), causing the setting to be set on bit 2, rendering it > ineffective. > > Fix the mask to only bit 3, so that the requested setting is applied > correctly. > Sigh, you are correct. I thought that triple checked the datasheet when writing this but I got it wrong anyways... > Fixes: a61732e80867 ("drm: Add driver for Solomon SSD130x OLED displays") > Signed-off-by: Chen-Yu Tsai <wens@csie.org> > --- Acked-by: Javier Martinez Canillas <javierm@redhat.com>
On Wed, Mar 9, 2022 at 2:57 AM Chen-Yu Tsai <wens@kernel.org> wrote: > From: Chen-Yu Tsai <wens@csie.org> > > The SSD130x's command to toggle COM scan direction uses bit 3 and only > bit 3 to set the direction of the scanout. The driver has an incorrect > GENMASK(3, 2), causing the setting to be set on bit 2, rendering it > ineffective. > > Fix the mask to only bit 3, so that the requested setting is applied > correctly. > > Fixes: a61732e80867 ("drm: Add driver for Solomon SSD130x OLED displays") > Signed-off-by: Chen-Yu Tsai <wens@csie.org> Thanks, this fixes the vertically-mirrored display on my Adafruit FeatherWing 128x32 OLED. Tested-by: Geert Uytterhoeven <geert@linux-m68k.org> Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org> Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
On 3/9/22 13:56, Geert Uytterhoeven wrote: > On Wed, Mar 9, 2022 at 2:57 AM Chen-Yu Tsai <wens@kernel.org> wrote: >> From: Chen-Yu Tsai <wens@csie.org> >> >> The SSD130x's command to toggle COM scan direction uses bit 3 and only >> bit 3 to set the direction of the scanout. The driver has an incorrect >> GENMASK(3, 2), causing the setting to be set on bit 2, rendering it >> ineffective. >> >> Fix the mask to only bit 3, so that the requested setting is applied >> correctly. >> >> Fixes: a61732e80867 ("drm: Add driver for Solomon SSD130x OLED displays") >> Signed-off-by: Chen-Yu Tsai <wens@csie.org> > > Thanks, this fixes the vertically-mirrored display on my Adafruit > FeatherWing 128x32 OLED. > Tested-by: Geert Uytterhoeven <geert@linux-m68k.org> > Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org> > Thanks for the testing and review. I've pushed both patches to drm-misc-next.
diff --git a/drivers/gpu/drm/solomon/ssd130x.c b/drivers/gpu/drm/solomon/ssd130x.c index ce4dc20412e0..ccd378135589 100644 --- a/drivers/gpu/drm/solomon/ssd130x.c +++ b/drivers/gpu/drm/solomon/ssd130x.c @@ -61,7 +61,7 @@ #define SSD130X_SET_COM_PINS_CONFIG 0xda #define SSD130X_SET_VCOMH 0xdb -#define SSD130X_SET_COM_SCAN_DIR_MASK GENMASK(3, 2) +#define SSD130X_SET_COM_SCAN_DIR_MASK GENMASK(3, 3) #define SSD130X_SET_COM_SCAN_DIR_SET(val) FIELD_PREP(SSD130X_SET_COM_SCAN_DIR_MASK, (val)) #define SSD130X_SET_CLOCK_DIV_MASK GENMASK(3, 0) #define SSD130X_SET_CLOCK_DIV_SET(val) FIELD_PREP(SSD130X_SET_CLOCK_DIV_MASK, (val))