All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Javier Martinez Canillas <javierm@redhat.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Andy Shevchenko <andy@kernel.org>,
	linux-fbdev@vger.kernel.org,
	Michael Hennerich <michael.hennerich@analog.com>,
	Helge Deller <deller@gmx.de>,
	linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	Phillip Potter <phil@philpotter.co.uk>,
	Carlis <zhangxuezhi1@yulong.com>,
	Lee Jones <lee.jones@linaro.org>,
	Heiner Kallweit <hkallweit1@gmail.com>
Subject: Re: [PATCH v1 1/4] fbtft: Unorphan the driver
Date: Mon, 31 Jan 2022 13:36:26 +0200	[thread overview]
Message-ID: <YffJujbpUGUqpIk/@smile.fi.intel.com> (raw)
In-Reply-To: <c423a2f0-e7be-3884-3568-7629c7e9104e@redhat.com>

On Mon, Jan 31, 2022 at 09:29:33AM +0100, Javier Martinez Canillas wrote:
> On 1/26/22 15:15, Javier Martinez Canillas wrote:
> > On 1/26/22 15:10, Andy Shevchenko wrote:
> >> On Wed, Jan 26, 2022 at 04:08:32PM +0200, Andy Shevchenko wrote:
> >>> On Wed, Jan 26, 2022 at 02:46:08PM +0100, Javier Martinez Canillas wrote:
> >>>> On 1/26/22 14:12, Andy Shevchenko wrote:
> >>
> >> ...
> >>
> >>>> I've just bought a SSD1306 (I2C) based one and will attempt to write a DRM
> >>>> driver using drivers/staging/fbtft/fb_ssd1306.c as a reference.
> >>>
> >>> You should take ssd1307fb.c instead. And basically create a MIPI based driver
> >>> for I2C. Then we won't go same road again for other similar devices.
> >>
> >> For the record it supports your device:
> >>
> >> static const struct i2c_device_id ssd1307fb_i2c_id[] = {
> >> { "ssd1305fb", 0 },
> >> { "ssd1306fb", 0 },
> >> { "ssd1307fb", 0 },
> >> { "ssd1309fb", 0 },
> >>
> >>
> > 
> > Thanks a lot for the pointer. I was only looking at drivers/staging
> > and didn't check drivers/video. I'll try to convert that one then
> > once I get the display.
> > 
> 
> I got some time this weekend and was able to port the ssd1306 fbdev driver
> to DRM [0]. I'm not that familiar with the simple display pipe helpers, so
> there may be some wrong things there. But it does work and all the fbtests
> from https://git.kernel.org/pub/scm/linux/kernel/git/geert/fbtest.git pass.

Thanks! Good news, everybody!

> There are some hacks in the driver though. For example it exposes an XRGB8888
> format even thought the OLED display is monochromatic and has 1 bit per pixel.
> 
> The driver then goes and converts the XRGB8888 pixels first to grayscale and
> then to reverse mono. I took that idea from the repaper driver but that gives
> us the multiple copies that Geert was complaining about.
> 
> Another hack is that I am just hardcoding the {width, height}_mm, but I don't
> know what DPI could be used for these panels nor how I could calculate the mm.

I think the hacks is the first what should be eliminated, also see below.

...

> +config TINYDRM_SSD130X
> +	tristate "DRM support for Solomon SSD130X OLED displays"
> +	depends on DRM && OF && I2C

Please, make sure that it does NOT dependent on OF.

...

> +obj-$(CONFIG_TINYDRM_SSD130X)		+= ssd130x.o

I would keep the original name since we have I2C (fbdev) implementation, SPI
and platform (fbtft), and now i2c (drm). I would like to avoid more confusion
that we already have.

-- 
With Best Regards,
Andy Shevchenko



WARNING: multiple messages have this Message-ID (diff)
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Javier Martinez Canillas <javierm@redhat.com>
Cc: Andy Shevchenko <andy@kernel.org>,
	linux-fbdev@vger.kernel.org,
	Michael Hennerich <michael.hennerich@analog.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Helge Deller <deller@gmx.de>,
	linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	Phillip Potter <phil@philpotter.co.uk>,
	Carlis <zhangxuezhi1@yulong.com>,
	Lee Jones <lee.jones@linaro.org>,
	Heiner Kallweit <hkallweit1@gmail.com>
Subject: Re: [PATCH v1 1/4] fbtft: Unorphan the driver
Date: Mon, 31 Jan 2022 13:36:26 +0200	[thread overview]
Message-ID: <YffJujbpUGUqpIk/@smile.fi.intel.com> (raw)
In-Reply-To: <c423a2f0-e7be-3884-3568-7629c7e9104e@redhat.com>

On Mon, Jan 31, 2022 at 09:29:33AM +0100, Javier Martinez Canillas wrote:
> On 1/26/22 15:15, Javier Martinez Canillas wrote:
> > On 1/26/22 15:10, Andy Shevchenko wrote:
> >> On Wed, Jan 26, 2022 at 04:08:32PM +0200, Andy Shevchenko wrote:
> >>> On Wed, Jan 26, 2022 at 02:46:08PM +0100, Javier Martinez Canillas wrote:
> >>>> On 1/26/22 14:12, Andy Shevchenko wrote:
> >>
> >> ...
> >>
> >>>> I've just bought a SSD1306 (I2C) based one and will attempt to write a DRM
> >>>> driver using drivers/staging/fbtft/fb_ssd1306.c as a reference.
> >>>
> >>> You should take ssd1307fb.c instead. And basically create a MIPI based driver
> >>> for I2C. Then we won't go same road again for other similar devices.
> >>
> >> For the record it supports your device:
> >>
> >> static const struct i2c_device_id ssd1307fb_i2c_id[] = {
> >> { "ssd1305fb", 0 },
> >> { "ssd1306fb", 0 },
> >> { "ssd1307fb", 0 },
> >> { "ssd1309fb", 0 },
> >>
> >>
> > 
> > Thanks a lot for the pointer. I was only looking at drivers/staging
> > and didn't check drivers/video. I'll try to convert that one then
> > once I get the display.
> > 
> 
> I got some time this weekend and was able to port the ssd1306 fbdev driver
> to DRM [0]. I'm not that familiar with the simple display pipe helpers, so
> there may be some wrong things there. But it does work and all the fbtests
> from https://git.kernel.org/pub/scm/linux/kernel/git/geert/fbtest.git pass.

Thanks! Good news, everybody!

> There are some hacks in the driver though. For example it exposes an XRGB8888
> format even thought the OLED display is monochromatic and has 1 bit per pixel.
> 
> The driver then goes and converts the XRGB8888 pixels first to grayscale and
> then to reverse mono. I took that idea from the repaper driver but that gives
> us the multiple copies that Geert was complaining about.
> 
> Another hack is that I am just hardcoding the {width, height}_mm, but I don't
> know what DPI could be used for these panels nor how I could calculate the mm.

I think the hacks is the first what should be eliminated, also see below.

...

> +config TINYDRM_SSD130X
> +	tristate "DRM support for Solomon SSD130X OLED displays"
> +	depends on DRM && OF && I2C

Please, make sure that it does NOT dependent on OF.

...

> +obj-$(CONFIG_TINYDRM_SSD130X)		+= ssd130x.o

I would keep the original name since we have I2C (fbdev) implementation, SPI
and platform (fbtft), and now i2c (drm). I would like to avoid more confusion
that we already have.

-- 
With Best Regards,
Andy Shevchenko



  parent reply	other threads:[~2022-01-31 11:41 UTC|newest]

Thread overview: 156+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-25 20:21 [PATCH v1 0/4] fbtft: Unorphan the driver for maintenance Andy Shevchenko
2022-01-25 20:21 ` Andy Shevchenko
2022-01-25 20:21 ` [PATCH v1 1/4] fbtft: Unorphan the driver Andy Shevchenko
2022-01-25 20:21   ` Andy Shevchenko
2022-01-26  8:31   ` Greg Kroah-Hartman
2022-01-26  8:31     ` Greg Kroah-Hartman
2022-01-26 10:31     ` Daniel Vetter
2022-01-26 10:31       ` Daniel Vetter
2022-01-26 11:17       ` Helge Deller
2022-01-26 11:17         ` Helge Deller
2022-01-26 11:26         ` Greg Kroah-Hartman
2022-01-26 11:26           ` Greg Kroah-Hartman
2022-01-26 13:12           ` Andy Shevchenko
2022-01-26 13:12             ` Andy Shevchenko
2022-01-26 13:46             ` Javier Martinez Canillas
2022-01-26 14:08               ` Andy Shevchenko
2022-01-26 14:08                 ` Andy Shevchenko
2022-01-26 14:10                 ` Andy Shevchenko
2022-01-26 14:10                   ` Andy Shevchenko
2022-01-26 14:15                   ` Javier Martinez Canillas
2022-01-26 14:15                     ` Javier Martinez Canillas
2022-01-31  8:29                     ` Javier Martinez Canillas
2022-01-31  8:29                       ` Javier Martinez Canillas
2022-01-31  9:18                       ` Thomas Zimmermann
2022-01-31 10:18                         ` Javier Martinez Canillas
2022-01-31 10:28                           ` Thomas Zimmermann
2022-02-01 17:00                             ` Geert Uytterhoeven
2022-02-01 17:00                               ` Geert Uytterhoeven
2022-02-01 17:06                               ` Daniel Vetter
2022-02-01 17:06                                 ` Daniel Vetter
2022-02-01 20:54                                 ` Sam Ravnborg
2022-02-01 20:54                                   ` Sam Ravnborg
2022-02-01 19:00                               ` Thomas Zimmermann
2022-02-01 19:00                                 ` Thomas Zimmermann
2022-01-31 11:36                       ` Andy Shevchenko [this message]
2022-01-31 11:36                         ` Andy Shevchenko
2022-01-31 12:08                         ` Javier Martinez Canillas
2022-01-31 13:23                           ` Andy Shevchenko
2022-01-31 13:24                             ` Andy Shevchenko
2022-01-31 13:55                             ` Javier Martinez Canillas
2022-01-31 14:06                               ` Andy Shevchenko
2022-01-26 17:34                 ` Jani Nikula
2022-01-26 11:27         ` Daniel Vetter
2022-01-26 11:27           ` Daniel Vetter
2022-01-26 13:14           ` Andy Shevchenko
2022-01-26 13:14             ` Andy Shevchenko
2022-01-26 11:31         ` Thomas Zimmermann
2022-01-26 13:13           ` Andy Shevchenko
2022-01-26 13:13             ` Andy Shevchenko
2022-01-26 13:07         ` Andy Shevchenko
2022-01-26 13:07           ` Andy Shevchenko
2022-01-26 13:06       ` Andy Shevchenko
2022-01-26 13:06         ` Andy Shevchenko
2022-01-26 13:22         ` Daniel Stone
2022-01-26 13:22           ` Daniel Stone
2022-01-25 20:21 ` [PATCH v1 2/4] fbtft: Move driver out from staging Andy Shevchenko
2022-01-25 20:21   ` Andy Shevchenko
2022-01-25 20:21 ` [PATCH v1 3/4] fbtft: Kill outdated documentation Andy Shevchenko
2022-01-25 20:21   ` Andy Shevchenko
2022-01-25 20:21 ` [PATCH v1 4/4] fbtft: Replace 'depends on FB_TFT' by 'if FB_TFT ... endif' Andy Shevchenko
2022-01-25 20:21   ` Andy Shevchenko
2022-01-25 20:40   ` Randy Dunlap
2022-01-25 20:40     ` Randy Dunlap
2022-01-26  8:54   ` Joe Perches
2022-01-26  8:54     ` Joe Perches
2022-01-26 13:02     ` Andy Shevchenko
2022-01-26 13:02       ` Andy Shevchenko
2022-01-26  8:52 ` [PATCH v1 0/4] fbtft: Unorphan the driver for maintenance Thomas Zimmermann
2022-01-26  8:52   ` Thomas Zimmermann
2022-01-26 10:02   ` Andy Shevchenko
2022-01-26 10:02     ` Andy Shevchenko
2022-01-26 10:04     ` Andy Shevchenko
2022-01-26 10:04       ` Andy Shevchenko
2022-01-26 10:28       ` Dan Carpenter
2022-01-26 10:28         ` Dan Carpenter
2022-01-26 12:37         ` Javier Martinez Canillas
2022-01-26 12:56           ` Greg Kroah-Hartman
2022-01-26 12:56             ` Greg Kroah-Hartman
2022-01-26 13:18             ` Andy Shevchenko
2022-01-26 13:18               ` Andy Shevchenko
2022-01-26 13:44               ` Javier Martinez Canillas
2022-01-26 13:44                 ` Javier Martinez Canillas
2022-01-26 13:19             ` Javier Martinez Canillas
2022-01-26 13:19               ` Javier Martinez Canillas
2022-01-26 13:36               ` Andy Shevchenko
2022-01-26 13:36                 ` Andy Shevchenko
2022-01-26 13:17           ` Andy Shevchenko
2022-01-26 13:17             ` Andy Shevchenko
2022-01-26 10:43     ` Daniel Vetter
2022-01-26 10:43       ` Daniel Vetter
2022-01-26 10:47     ` Greg Kroah-Hartman
2022-01-26 10:47       ` Greg Kroah-Hartman
2022-01-26 10:52       ` Daniel Vetter
2022-01-26 10:52         ` Daniel Vetter
2022-01-26 11:15         ` Greg Kroah-Hartman
2022-01-26 11:15           ` Greg Kroah-Hartman
2022-01-26 13:26           ` Andy Shevchenko
2022-01-26 13:26             ` Andy Shevchenko
2022-01-26 13:24         ` Andy Shevchenko
2022-01-26 13:24           ` Andy Shevchenko
2022-01-26 10:59     ` Helge Deller
2022-01-26 10:59       ` Helge Deller
2022-01-26 11:18       ` Javier Martinez Canillas
2022-01-26 11:24         ` Daniel Vetter
2022-01-26 11:24           ` Daniel Vetter
2022-01-26 11:38           ` Helge Deller
2022-01-26 11:38             ` Helge Deller
2022-01-26 11:45             ` Sven Schnelle
2022-01-26 11:45               ` Sven Schnelle
2022-01-26 13:30             ` Andy Shevchenko
2022-01-26 13:30               ` Andy Shevchenko
2022-01-27  9:18               ` Maxime Ripard
2022-01-27  9:18                 ` Maxime Ripard
2022-01-26 11:31         ` Helge Deller
2022-01-26 11:38           ` Greg Kroah-Hartman
2022-01-26 11:38             ` Greg Kroah-Hartman
2022-01-26 11:51             ` Helge Deller
2022-01-26 11:51               ` Helge Deller
2022-01-26 12:15               ` Greg Kroah-Hartman
2022-01-26 12:15                 ` Greg Kroah-Hartman
2022-01-26 11:51           ` Thomas Zimmermann
2022-01-26 13:27         ` Andy Shevchenko
2022-01-26 13:27           ` Andy Shevchenko
2022-01-26 13:47           ` Javier Martinez Canillas
2022-01-26 13:47             ` Javier Martinez Canillas
2022-01-26 14:11             ` Andy Shevchenko
2022-01-26 14:11               ` Andy Shevchenko
2022-01-26 14:18               ` Javier Martinez Canillas
2022-01-26 14:18                 ` Javier Martinez Canillas
2022-01-26 14:24                 ` Greg Kroah-Hartman
2022-01-26 14:24                   ` Greg Kroah-Hartman
2022-01-26 14:45                   ` Dan Carpenter
2022-01-26 14:45                     ` Dan Carpenter
2022-01-26 22:31                     ` Daniel Vetter
2022-01-26 22:31                       ` Daniel Vetter
2022-01-27  6:29                       ` Dan Carpenter
2022-01-27  6:29                         ` Dan Carpenter
2022-01-27 10:32                         ` Dmitry Vyukov
2022-01-27 10:32                           ` Dmitry Vyukov
2022-01-27 11:11                           ` Daniel Vetter
2022-01-27 11:11                             ` Daniel Vetter
2022-01-27 16:34                             ` Dmitry Vyukov
2022-01-27 16:34                               ` Dmitry Vyukov
2022-01-26 22:37                   ` Daniel Vetter
2022-01-26 22:37                     ` Daniel Vetter
2022-01-26 11:41       ` Thomas Zimmermann
2022-01-26 11:41         ` Thomas Zimmermann
2022-01-26 13:32         ` Andy Shevchenko
2022-01-26 13:32           ` Andy Shevchenko
2022-01-26 15:02           ` Thomas Zimmermann
2022-01-26 15:33             ` Andy Shevchenko
2022-01-26 15:54             ` Helge Deller
2022-01-26 13:15 ` Noralf Trønnes
2022-01-26 13:15   ` Noralf Trønnes
2022-01-26 13:21   ` Andy Shevchenko
2022-01-26 13:21     ` Andy Shevchenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YffJujbpUGUqpIk/@smile.fi.intel.com \
    --to=andriy.shevchenko@linux.intel.com \
    --cc=andy@kernel.org \
    --cc=deller@gmx.de \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=hkallweit1@gmail.com \
    --cc=javierm@redhat.com \
    --cc=lee.jones@linaro.org \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-staging@lists.linux.dev \
    --cc=michael.hennerich@analog.com \
    --cc=phil@philpotter.co.uk \
    --cc=zhangxuezhi1@yulong.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.